;;;;;;;';';';';';';':':':':':':':':': 3DR :: 3D Rendering Designer -- By Foshizzle ;;;;2;3;2;34;2;4;;234;523;46;466;735;752;467;2;456245;6;... ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; menu * { 3DR .Run:3DR .About:3DRCredits } ;;run alias 3dr window -pkodCfB +bn @3DR 1 1 400 450 | window -kodfe +nb @3DRI $window(@3dr).dx $calc($window(@3dr).y + $window(@3dr).h) 381 100 verdana 12 | $iif($hget(3DR), , hmake 3DR 100) | %angg = 35 | %3DRl = 1 | drwbck ;;shortcodes alias -l drwl { drawline -n $1 $2 1 $3 $4 $5 $6 } alias -l drwr { drawrect -n $1 $2 1 $3 $4 $5 $6 } alias -l drwt { drawtext -np $1 $2 $3 $4 $5 $6 $7- } alias -l drwd { drawdot -n $1 $2 $3 $4 $5 } alias -l drwc { drawline $1 $2 $3- } alias -l update { drawdot $1 } alias -l drwbck { if ($window(@3DR)) { clear -n @3dr drawfill -rn @3dr $rgb(245,245,245) $rgb(245,245,245) 0 0 var %a1 %angg,%x1 $calc(200 + 300 * $cos(%a1).deg),%y1 $calc(200 - 300 * $sin(%a1).deg) var %a2 $calc(%angg + 135),%x2 $calc(200 + 300 * $cos(%a2).deg),%y2 $calc(200 - 300 * $sin(%a2).deg) var %a3 $calc(%angg + 55),%x3 $calc(200 + 300 * $cos(%a3).deg),%y3 $calc(200 - 300 * $sin(%a3).deg) var %a4 $calc(%angg + 180),%x4 $calc(200 + 300 * $cos(%a4).deg),%y4 $calc(200 - 300 * $sin(%a4).deg) var %a5 $calc(%angg + 315),%x5 $calc(200 + 300 * $cos(%a5).deg),%y5 $calc(200 - 300 * $sin(%a5).deg) var %a6 $calc(%angg + 235),%x6 $calc(200 + 300 * $cos(%a6).deg),%y6 $calc(200 - 300 * $sin(%a6).deg) drwl @3dr 5 200 200 %x1 %y1 drwl @3dr 3 200 200 %x2 %y2 drwl @3dr 2 200 200 %x6 %y6 drwl @3dr 12 200 200 %x3 %y3 drwl @3dr 9 200 200 %x5 %y5 drwl @3dr 4 200 200 %x4 %y4 drawrect -n @3dr 1 1 0 0 400 400 ;drwt @3dr 1 tahoma 8 203 2 Y ;drwt @3dr 1 tahoma 8 391 240 X ;drwt @3dr 1 tahoma 8 3 325 Z drawfill -n @3dr 1 1 0 401 drwr @3dr 14 327 402 70 20 drwt @3dr 14 tahoma 18 338 401 About drawrect -nf @3dr 15 1 0 430 400 20 drawline -n @3dr 0 3 0 430 400 430 drwl @3dr 14 0 432 400 432 drwl @3dr 14 0 427 400 427 drwt @3dr 5 verdana 10 388 435 X drawrect -d @3dr 1 1 387 436 10 11 3 3 drwt @3dr 2 verrdana 10 372 435 � drawrect -d @3dr 1 1 370 436 14 11 3 3 update @3dr var %n 1 while ($hget(@3DR.seltext,%n).item) { tokenize 44 $v1 var %ad $iif($6 == angg, %angg, $calc(%angg + $6)),%xd $calc($3 + $5 * $cos(%ad).deg),%yd $calc($4 - $5 * $sin(%ad).deg) drawline @3DR 1 1 $3 $4 %xd %yd inc %n } clear @3dri aline 7 @3dri 3DR 3D Graphics By Foshizzle aline 7 @3dri ------------------------------------- aline 1 @3dri <3DR> Type /3DRHelp for help on using 3DR aline 3 @3dri } } on *:KEYDOWn:@3dr:48,49,50,51,52,53,54,55,56,57,8,88,89,90,188,32: { if ($keyval != 8) { $iif($len(%currtex) <= 15, set %currtex %currtex $+ $keychar, ) } elseif ($keyval == 8) { set %currtex $left(%currtex,-1) } drawrect -f @3dr 1 1 12 412 317 17 $iif($len(%currtex) >= 1, drwt @3dr 0 tahoma 16 18 410 %currtex, ) } ;;Commands;; on *:INPUT:@3dri: { if ($left($1,1) != `) { aline 1 @3dri < $+ $me $+ > $1- } else { if ($$1 == `close) { aline 1 @3dri <3DR> Closing 3DR... window -c @3dr .timer -m 1 120 window -c @3dri hfree 3DR } elseif ($$1 == `about ) { 3drcredits } elseif ($$1 == `draw) { if ($$2 == line) { var %ad $iif($6, $calc(%angg + $6), %angg),%xd $calc($3 + $5 * $cos(%ad).deg),%yd $calc($4 - $5 * $sin(%ad).deg) hadd -m 3DR line [ $+ [ %3drl ] ] $3 $+ , $+ $4 $+ , $+ $5 $+ , $+ $iif($6, %ad, angg) inc %3drl drwl @3dr 1 $3 $4 %xd %yd update @3dr } elseif ($$2 = dot) { drwd @3dr 1 2 $3 $4 update @3dr } else { aline 2 @3dri <3DR> " $+ $2 $+ " Invalid Property } } elseif ($$1 == `clear) { hfree 3DR drwbck } elseif ($$1 == `hi) { aline 1 @3dri <3DR> Hello $me $+ } . elseif ($$1 == `minimize) { window -n @3dr window -n @3dri } elseif ($$1 == `foshizzle) { aline 1 @3dri <3DR> Foshizzle is the creator of 3DR! } elseif ($$1 == `3dr) { if (!$window(@3dr)) { window -pkodCfB +bn @3DR 1 1 400 450 | drwbck } aline 7 @3dri 3DR 3D Graphics By Foshizzle } elseif ($$1 == `angle) { %angg = $$2 drwbck } elseif ($$1 == `3drhelp) { 3DRHelp } else { aline 2 @3dri <3DR> " $+ $iif($remove($1,`) == $null, $chr(32), $v1) $+ " Invalid Parameter } } } on *:CLOSE:@3DR: { hfree 3DR } on *:CLOSE:@3DRI: { $iif($hget(3DR), hfree 3Dr, ) unset %angg unset %3drl } menu @3dr { uclick: { if ($inroundrect($mouse.x,$mouse.y,387,436,10,11,3,3)) { unset %currtex $iif($window(@3dri), aline 1 @3dri <3DR> Closing 3DR..., ) window -c @3dr } elseif ($inroundrect($mouse.x,$mouse.y,370,436,14,11,3,3)) { window -n @3dr window -n @3dri } elseif ($inrect($mouse.x,$mouse.y,327,402,70,20)) { 3DRcredits } } } alias 3DRCredits { window -pkodCfBa +tL @About.3DR 1 1 200 250 var %g 250,%hi 25 while (%g >= 0) { drawline -r @About.3DR $rgb(%hi,%hi,%hi) 1 0 %g 200 %g inc %hi 0.5 dec %g } drawtext -rp @About.3DR $rgb(255,205,0) Georgia 20 20 10 3DR - 3D Graphics var %c 0,%c2 201,%w 201 while (%w > 0) { drawdot -r @About.3DR $rgb(%c2,0,0) 1 %w 42 dec %w inc %c dec %c2 } drawtext -por @About.3DR $rgb(255,205,0) arial 10 40 60 Lead Design: Foshizzle drawtext -por @About.3DR $rgb(255,205,0) arial 10 30 80 Lead Programming: Foshizzle drawtext -por @about.3dr $rgb(255,205,0) arial 10 40 100 Assistant Programming drawtext -por @About.3DR $rgb(255,205,0) arial 10 70 115 - Couch drawtext -por @About.3DR $rgb(255,205,0) arial 10 75 130 Testers drawtext -por @About.3DR $rgb(255,205,0) arial 10 70 145 - Foshizzle drawtext -por @About.3DR $rgb(255,205,0) arial 10 70 155 - Couch drawtext -por @About.3DR $rgb(255,205,0) arial 10 70 165 - iTempa drawtext -por @About.3DR $rgb(255,205,0) arial 10 70 175 - Bigandy877 drawtext -por @About.3DR $rgb(255,205,0) arial 10 70 185 - Drachen drawtext -por @About.3DR $rgb(255,205,0) arial 10 25 195 And everyone else who helped! renwin @about.3dr @About 3DR } alias 3drhelp { window -kodC +l @3DR.Help 1 1 600 250 tahoma 14 aline 7 @3DR.Help 3DR 3D Graphics By Foshizzle aline 7 @3DR.Help ------------------------------------- aline 5 @3DR.Help Note:: All Commands start with a ` and are typed into the "3DRI" Window aline 1 @3DR.Help aline 2 @3DR.Help `Draw [angle :: default is 35�] aline 1 @3DR.Help aline 2 @3DR.Help `About opens the Credits aline 1 @3DR.Help aline 2 @3DR.Help `Close closes 3DR aline 1 @3DR.Help aline 2 @3DR.Help `Clear clears the message window and the 3DR main window renwin @3DR.Help @3DR's Help Manual }