All pastes #834296 Raw Edit

Someone

public text v1 · immutable
#834296 ·published 2007-12-28 02:18 UTC
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
}