rendered paste body;;;;;;;';';';';';';':':':':':':':':':
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 <line> <x position> <y position> <distance> [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
}