Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- alias cube {
- if (!$window(@Cube)) {
- window -dfp @Cube -1 -1 640 480
- cube.init
- }
- drawrect -rnf @Cube 2105376 0 0 0 $window(@Cube).dw $window(@Cube).dh
- drawtext -n @Cube 15 0 0 Hold R to rotate
- drawtext -n @Cube 15 0 15 Click and drag to a faces side to turn side
- drawtext -n @Cube 15 0 30 Right Click for scramble menu
- drawtext -n @Cube 15 520 0 $+([,$iif($hget(Cube,xrot),X,$chr(32)),]) X Rotation
- drawtext -n @Cube 15 520 15 $+([,$iif($hget(Cube,yrot),X,$chr(32)),]) Y Rotation
- drawtext -n @Cube 15 520 30 $+([,$iif($hget(Cube,zrot),X,$chr(32)),]) Z Rotation
- var %cx = $window(@Cube).dw / 2 , %cy = $window(@Cube).dh / 2 , %Ticks = $ticks
- var %3D.1 = -90 -90 -90 , %3D.2 = 90 -90 -90 , %3D.3 = 90 90 -90 , %3D.4 = -90 90 -90
- var %3D.5 = -90 -90 90 , %3D.6 = 90 -90 90 , %3D.7 = 90 90 90 , %3D.8 = -90 90 90
- var %Tables = 1 2 3 4 1;2 6 7 3 2;6 5 8 7 6;5 1 4 8 5;5 6 2 1 5;4 3 7 8 4
- var %xr = $iif($1,$1,0) , %yr = $iif($2,$2,0) , %zr = $iif($3,$3,0)
- var %x = 8
- while (%x) {
- tokenize 32 %xr %yr %zr $var($+(%,3D.,%x),1).value
- tokenize 32 $1-3 $4 $calc(($5 * $cos($1).deg) + ($6 * (0 - $sin($1).deg))) $calc(($5 * $sin($1).deg) + ($6 * $cos($1).deg))
- tokenize 32 $1-3 $calc(($4 * $cos($2).deg) + ($6 * $sin($2).deg)) $5 $calc(($4 * (0 - $sin($2).deg)) + ($6 * $cos($2).deg))
- tokenize 32 $calc(($4 * $cos($3).deg) + ($5 * (0 - $sin($3).deg))) $calc(($4 * $sin($3).deg) + ($5 * $cos($3).deg)) $6
- var %C3D. $+ %x $1-
- hadd -m Cube C3D. $+ %x $convert2d(%cx,%cy,$1-)
- dec %x
- }
- var %asdx = 6 , %show = ""
- while (%asdx) {
- var %table = $gettok(%Tables,%asdx,59) , %y = $numtok(%table,32) , %x = %y - 1
- tokenize 32 $convert2d(%cx,%cy,$var($+(%,C3D.,$gettok(%table,1,32)),1).value) $convert2d(%cx,%cy,$var($+(%,C3D.,$gettok(%table,2,32)),1).value) $convert2d(%cx,%cy,$var($+(%,C3D.,$gettok(%table,3,32)),1).value) $convert2d(%cx,%cy,$var($+(%,C3D.,$gettok(%table,4,32)),1).value)
- var %cull = $calc(($1 - $3) * ($6 - $4) - ($2 - $4) * ($5 - $3)) , %avgx = $calc(($1 + $3 + $5 + $7) / 4) , %avgy = $calc(($2 + $4 + $6 + $8) / 4)
- if (%cull < 0) {
- %show = $addtok(%show,%asdx,32)
- drawline -n @Cube 1 2 $1-4
- drawline -n @Cube 1 2 $3-6
- drawline -n @Cube 1 2 $5-8
- drawline -n @Cube 1 2 $5-8 $1-2
- hadd -m Cube $+(Face.,%asdx,.1) $var($+(%,C3D.,$gettok(%table,1,32)),1).value
- hadd -m Cube $+(Face.,%asdx,.4) $var($+(%,C3D.,$gettok(%table,2,32)),1).value
- hadd -m Cube $+(Face.,%asdx,.16) $var($+(%,C3D.,$gettok(%table,3,32)),1).value
- hadd -m Cube $+(Face.,%asdx,.13) $var($+(%,C3D.,$gettok(%table,4,32)),1).value
- hadd -m Cube $+(Face.,%asdx,.2) $get3dpoint($hget(Cube,$+(Face.,%asdx,.1)),$hget(Cube,$+(Face.,%asdx,.4)),0.333333)
- hadd -m Cube $+(Face.,%asdx,.3) $get3dpoint($hget(Cube,$+(Face.,%asdx,.1)),$hget(Cube,$+(Face.,%asdx,.4)),0.666666)
- hadd -m Cube $+(Face.,%asdx,.5) $get3dpoint($hget(Cube,$+(Face.,%asdx,.1)),$hget(Cube,$+(Face.,%asdx,.13)),0.333333)
- hadd -m Cube $+(Face.,%asdx,.8) $get3dpoint($hget(Cube,$+(Face.,%asdx,.4)),$hget(Cube,$+(Face.,%asdx,.16)),0.333333)
- hadd -m Cube $+(Face.,%asdx,.9) $get3dpoint($hget(Cube,$+(Face.,%asdx,.1)),$hget(Cube,$+(Face.,%asdx,.13)),0.666666)
- hadd -m Cube $+(Face.,%asdx,.12) $get3dpoint($hget(Cube,$+(Face.,%asdx,.4)),$hget(Cube,$+(Face.,%asdx,.16)),0.666666)
- hadd -m Cube $+(Face.,%asdx,.14) $get3dpoint($hget(Cube,$+(Face.,%asdx,.13)),$hget(Cube,$+(Face.,%asdx,.16)),0.333333)
- hadd -m Cube $+(Face.,%asdx,.15) $get3dpoint($hget(Cube,$+(Face.,%asdx,.13)),$hget(Cube,$+(Face.,%asdx,.16)),0.666666)
- hadd -m Cube $+(Face.,%asdx,.6) $get3dpoint($hget(Cube,$+(Face.,%asdx,.5)),$hget(Cube,$+(Face.,%asdx,.8)),0.333333)
- hadd -m Cube $+(Face.,%asdx,.7) $get3dpoint($hget(Cube,$+(Face.,%asdx,.5)),$hget(Cube,$+(Face.,%asdx,.8)),0.666666)
- hadd -m Cube $+(Face.,%asdx,.10) $get3dpoint($hget(Cube,$+(Face.,%asdx,.9)),$hget(Cube,$+(Face.,%asdx,.12)),0.333333)
- hadd -m Cube $+(Face.,%asdx,.11) $get3dpoint($hget(Cube,$+(Face.,%asdx,.9)),$hget(Cube,$+(Face.,%asdx,.12)),0.666666)
- hadd -m Cube $+(2DFace.,%asdx,.1) $convert2d(%cx,%cy,$hget(Cube,$+(Face.,%asdx,.1)))
- hadd -m Cube $+(2DFace.,%asdx,.2) $convert2d(%cx,%cy,$hget(Cube,$+(Face.,%asdx,.2)))
- hadd -m Cube $+(2DFace.,%asdx,.3) $convert2d(%cx,%cy,$hget(Cube,$+(Face.,%asdx,.3)))
- hadd -m Cube $+(2DFace.,%asdx,.4) $convert2d(%cx,%cy,$hget(Cube,$+(Face.,%asdx,.4)))
- hadd -m Cube $+(2DFace.,%asdx,.5) $convert2d(%cx,%cy,$hget(Cube,$+(Face.,%asdx,.5)))
- hadd -m Cube $+(2DFace.,%asdx,.6) $convert2d(%cx,%cy,$hget(Cube,$+(Face.,%asdx,.6)))
- hadd -m Cube $+(2DFace.,%asdx,.7) $convert2d(%cx,%cy,$hget(Cube,$+(Face.,%asdx,.7)))
- hadd -m Cube $+(2DFace.,%asdx,.8) $convert2d(%cx,%cy,$hget(Cube,$+(Face.,%asdx,.8)))
- hadd -m Cube $+(2DFace.,%asdx,.9) $convert2d(%cx,%cy,$hget(Cube,$+(Face.,%asdx,.9)))
- hadd -m Cube $+(2DFace.,%asdx,.10) $convert2d(%cx,%cy,$hget(Cube,$+(Face.,%asdx,.10)))
- hadd -m Cube $+(2DFace.,%asdx,.11) $convert2d(%cx,%cy,$hget(Cube,$+(Face.,%asdx,.11)))
- hadd -m Cube $+(2DFace.,%asdx,.12) $convert2d(%cx,%cy,$hget(Cube,$+(Face.,%asdx,.12)))
- hadd -m Cube $+(2DFace.,%asdx,.13) $convert2d(%cx,%cy,$hget(Cube,$+(Face.,%asdx,.13)))
- hadd -m Cube $+(2DFace.,%asdx,.14) $convert2d(%cx,%cy,$hget(Cube,$+(Face.,%asdx,.14)))
- hadd -m Cube $+(2DFace.,%asdx,.15) $convert2d(%cx,%cy,$hget(Cube,$+(Face.,%asdx,.15)))
- hadd -m Cube $+(2DFace.,%asdx,.16) $convert2d(%cx,%cy,$hget(Cube,$+(Face.,%asdx,.16)))
- drawline -n @Cube 1 2 $hget(Cube,$+(2DFace.,%asdx,.2)) $hget(Cube,$+(2DFace.,%asdx,.14))
- drawline -n @Cube 1 2 $hget(Cube,$+(2DFace.,%asdx,.3)) $hget(Cube,$+(2DFace.,%asdx,.15))
- drawline -n @Cube 1 2 $hget(Cube,$+(2DFace.,%asdx,.5)) $hget(Cube,$+(2DFace.,%asdx,.8))
- drawline -n @Cube 1 2 $hget(Cube,$+(2DFace.,%asdx,.9)) $hget(Cube,$+(2DFace.,%asdx,.12))
- fillface %asdx
- }
- dec %asdx
- }
- hadd -m Cube Show %show
- drawdot @Cube
- var %ms = $ticks - %ticks
- titlebar @Cube Rendered in: %ms ms $round($calc(1000 / %ms),2) FPS
- }
- on *:close:@Cube:hfree -w Cube
- on *:KEYDOWN:@Cube:*: {
- if ($keyval = 114 || $keyval = 82) { hadd -m Cube Keyval $keyval }
- }
- on *:KEYUP:@Cube:*: { hdel -w Cube Keyval }
- menu @Cube {
- sclick {
- if ($inrect($mouse.x,$mouse.y,520,0,120,14)) {
- hadd -m Cube xrot $iif($hget(Cube,xrot),$null,X)
- cube $hget(cube,anglex) $hget(cube,angley) $hget(cube,anglez)
- }
- if ($inrect($mouse.x,$mouse.y,520,15,120,14)) {
- hadd -m Cube yrot $iif($hget(Cube,yrot),$null,X)
- cube $hget(cube,anglex) $hget(cube,angley) $hget(cube,anglez)
- }
- if ($inrect($mouse.x,$mouse.y,520,30,120,14)) {
- hadd -m Cube zrot $iif($hget(Cube,zrot),$null,X)
- cube $hget(cube,anglex) $hget(cube,angley) $hget(cube,anglez)
- }
- var %Tables = 1 2 3 4 1;2 6 7 3 2;6 5 8 7 6;5 1 4 8 5;5 6 2 1 5;4 3 7 8 4 , %x = $numtok($hget(Cube,Show),32)
- while (%x) {
- if ($inpoly($mouse.x,$mouse.y, [ $replace($regsubex($gettok(%tables,$gettok($hget(Cube,Show),%x,32),59),/(\d+)/g,$hget(Cube,$+(C3D.,\t))),$chr(32),$chr(44)) ] )) { hadd -m Cube ClickFace $gettok($hget(Cube,Show),%x,32) }
- dec %x
- }
- hadd -m Cube LastX $mouse.x
- hadd -m Cube LastY $mouse.y
- }
- uclick {
- hdel -w Cube MovedSide
- hdel -w Cube ClickFace
- }
- mouse {
- if ($mouse.key & 1) && ($hget(Cube,keyval) = 82) {
- var %cx = $window(@Cube).dw / 2 , %cy = $window(@Cube).dh / 2
- var %c.x = $calc(360 * ($mouse.y - %cy) / %cy))
- var %c.y = $calc(-360 * (($mouse.x - %cx) / %cx))
- var %c.z = $calc(360 * ($mouse.y - %cy) / %cy))
- if ($hget(cube,xrot)) { hadd -m Cube AngleX %c.x }
- if ($hget(cube,yrot)) { hadd -m Cube AngleY %c.y }
- if ($hget(cube,zrot)) { hadd -m Cube AngleZ %c.z }
- cube $hget(cube,anglex) $hget(cube,angley) $hget(cube,anglez)
- }
- elseif ($mouse.key & 1) {
- if ($hget(Cube,Keyval) != 82) && ($hget(Cube,ClickFace)) {
- var %x = 8
- while (%x) {
- var %sides = $hget(Cube,$+(Line.,%x)) , %y = $numtok(%sides,59)
- while (%y) {
- var %side = $gettok(%sides,%y,59) , %poly = $replace($regsubex(%side,/(\d+)/g,$hget(Cube,$+(2DFace.,$hget(Cube,ClickFace),.,\t))),$chr(32),$chr(44))
- if ($lineintersect( [ %poly ] , $hget(Cube,LastX), $hget(Cube,LastY), $mouse.x, $mouse.y)) && (!$hget(Cube,Movedside)) {
- tokenize 59 $gettok($hget(Cube,$+(Moves.,$hget(Cube,ClickFace),.,$iif(%x >= 5,$calc(%x + 1),%x))),%y,59)
- hadd -m Cube MovedSide True
- cube.rotate $1-
- cube $hget(cube,anglex) $hget(cube,angley) $hget(cube,anglez)
- }
- dec %y
- }
- dec %x
- }
- }
- }
- }
- Load Game {
- var %file = $sfile($scriptdirsaves\,Select a Saved Game,Open)
- if ($exists(%file)) {
- hload Cube $qt(%file)
- cube
- }
- halt
- }
- Save Game {
- var %file = $sfile($scriptdirsaves\,Save As,Save) , %cont = 1
- if ($exists(%file)) { var %cont = $?!="File Exists! overwrite?" }
- if (%cont) { hsave Cube $qt(%file) }
- halt
- }
- -
- scramble: { Cube.scramble | cube $hget(cube,anglex) $hget(cube,angley) $hget(cube,anglez) }
- }
- alias cube.init {
- hadd -m Cube xrot X
- hadd -m Cube yrot X
- hadd -m Cube Color.1.1 4
- hadd -m Cube Color.1.2 4
- hadd -m Cube Color.1.3 4
- hadd -m Cube Color.1.4 4
- hadd -m Cube Color.1.5 4
- hadd -m Cube Color.1.6 4
- hadd -m Cube Color.1.7 4
- hadd -m Cube Color.1.8 4
- hadd -m Cube Color.1.9 4
- hadd -m Cube Color.2.1 12
- hadd -m Cube Color.2.2 12
- hadd -m Cube Color.2.3 12
- hadd -m Cube Color.2.4 12
- hadd -m Cube Color.2.5 12
- hadd -m Cube Color.2.6 12
- hadd -m Cube Color.2.7 12
- hadd -m Cube Color.2.8 12
- hadd -m Cube Color.2.9 12
- hadd -m Cube Color.3.1 7
- hadd -m Cube Color.3.2 7
- hadd -m Cube Color.3.3 7
- hadd -m Cube Color.3.4 7
- hadd -m Cube Color.3.5 7
- hadd -m Cube Color.3.6 7
- hadd -m Cube Color.3.7 7
- hadd -m Cube Color.3.8 7
- hadd -m Cube Color.3.9 7
- hadd -m Cube Color.4.1 3
- hadd -m Cube Color.4.2 3
- hadd -m Cube Color.4.3 3
- hadd -m Cube Color.4.4 3
- hadd -m Cube Color.4.5 3
- hadd -m Cube Color.4.6 3
- hadd -m Cube Color.4.7 3
- hadd -m Cube Color.4.8 3
- hadd -m Cube Color.4.9 3
- hadd -m Cube Color.5.1 0
- hadd -m Cube Color.5.2 0
- hadd -m Cube Color.5.3 0
- hadd -m Cube Color.5.4 0
- hadd -m Cube Color.5.5 0
- hadd -m Cube Color.5.6 0
- hadd -m Cube Color.5.7 0
- hadd -m Cube Color.5.8 0
- hadd -m Cube Color.5.9 0
- hadd -m Cube Color.6.1 8
- hadd -m Cube Color.6.2 8
- hadd -m Cube Color.6.3 8
- hadd -m Cube Color.6.4 8
- hadd -m Cube Color.6.5 8
- hadd -m Cube Color.6.6 8
- hadd -m Cube Color.6.7 8
- hadd -m Cube Color.6.8 8
- hadd -m Cube Color.6.9 8
- hadd -m Cube Line.1 1 5;1 2
- hadd -m Cube Line.2 2 3
- hadd -m Cube Line.3 4 8;3 4
- hadd -m Cube Line.4 5 9
- hadd -m Cube Line.5 8 12
- hadd -m Cube Line.6 9 13;13 14
- hadd -m Cube Line.7 14 15
- hadd -m Cube Line.8 12 16;15 16
- hadd -m Cube Moves.1.1 y 3 1;x 1 1
- hadd -m Cube Moves.1.2 x 2 1
- hadd -m Cube Moves.1.3 y 3;x 3 1
- hadd -m Cube Moves.1.4 y 2 1
- hadd -m Cube Moves.1.5 z 3 1
- hadd -m Cube Moves.1.6 y 2
- hadd -m Cube Moves.1.7 y 1 1;x 1
- hadd -m Cube Moves.1.8 x 2
- hadd -m Cube Moves.1.9 y 1;x 3
- hadd -m Cube Moves.2.1 y 3 1;z 3 1
- hadd -m Cube Moves.2.2 z 2 1
- hadd -m Cube Moves.2.3 y 3;z 1 1
- hadd -m Cube Moves.2.4 y 2 1
- hadd -m Cube Moves.2.5 x 1
- hadd -m Cube Moves.2.6 y 2
- hadd -m Cube Moves.2.7 y 1 1;z 3
- hadd -m Cube Moves.2.8 z 2
- hadd -m Cube Moves.2.9 y 1;z 1
- hadd -m Cube Moves.3.1 y 3 1;x 3
- hadd -m Cube Moves.3.2 x 2
- hadd -m Cube Moves.3.3 y 3;x 1
- hadd -m Cube Moves.3.4 y 2 1
- hadd -m Cube Moves.3.5 z 1
- hadd -m Cube Moves.3.6 y 2
- hadd -m Cube Moves.3.7 y 1 1;x 3 1
- hadd -m Cube Moves.3.8 x 2 1
- hadd -m Cube Moves.3.9 y 1; x 1 1
- hadd -m Cube Moves.4.1 y 3 1;z 1
- hadd -m Cube Moves.4.2 z 2
- hadd -m Cube Moves.4.3 y 3;z 3
- hadd -m Cube Moves.4.4 y 2 1
- hadd -m Cube Moves.4.5 x 3 1
- hadd -m Cube Moves.4.6 y 2
- hadd -m Cube Moves.4.7 y 1 1;z 1 1
- hadd -m Cube Moves.4.8 z 2 1
- hadd -m Cube Moves.4.9 y 1;z 3 1
- hadd -m Cube Moves.5.1 z 1 1;x 1 1
- hadd -m Cube Moves.5.2 x 2 1
- hadd -m Cube Moves.5.3 z 1; x 3 1
- hadd -m Cube Moves.5.4 z 2 1
- hadd -m Cube Moves.5.5 y 3 1
- hadd -m Cube Moves.5.6 z 2
- hadd -m Cube Moves.5.7 z 3 1;x 1
- hadd -m Cube Moves.5.8 x 2
- hadd -m Cube Moves.5.9 z 3; x 3
- hadd -m Cube Moves.6.1 z 3;x 1 1
- hadd -m Cube Moves.6.2 x 2 1
- hadd -m Cube Moves.6.3 z 3 1;x 3 1
- hadd -m Cube Moves.6.4 z 2
- hadd -m Cube Moves.6.5 y 1
- hadd -m Cube Moves.6.6 z 2 1
- hadd -m Cube Moves.6.7 z 1;x 1
- hadd -m Cube Moves.6.8 x 2
- hadd -m Cube Moves.6.9 z 1 1;x 3
- }
- alias Get3DPoint {
- tokenize 32 $1-
- var %1t = 1 - $7
- return $calc((%1t * $1) + ($7 * $4)) $calc((%1t * $2) + ($7 * $5)) $calc((%1t * $3) + ($7 * $6))
- }
- alias convert2d {
- var %cx = $1 , %cy = $2
- tokenize 32 $3-
- return $round($calc(%cx + ($1 * 500) / ($3 + 500)),0) $round($calc(%cy + ($2 * 500) / ($3 + 500)),0)
- }
- alias FillFace {
- var %face = $1 , %y = 0 , %z = 1
- while (%y < 3) {
- var %x = 0
- while (%x < 3) {
- tokenize 32 $hget(Cube,$+(2DFace.,%face,.,$calc(1 + %x + (%y * 4)))) $hget(Cube,$+(2DFace.,%face,.,$calc(2 + %x + (%y * 4)))) $hget(Cube,$+(2DFace.,%face,.,$calc(6 + %x + (%y * 4)))) $hget(Cube,$+(2DFace.,%face,.,$calc(5 + %x + (%y * 4)))))
- var %avgx = $calc(($1 + $3 + $5 + $7) / 4) , %avgy = $calc(($2 + $4 + $6 + $8) / 4)
- if ($inpoly(%avgx,%avgy, [ $replace($1-,$chr(32),$chr(44)) ] )) {
- drawfill -n @Cube $hget(Cube,$+(Color.,%face,.,%z)) 1 %avgx %avgy
- }
- inc %x
- inc %z
- }
- inc %y
- }
- }
- alias -l checkline {
- var %slope = $calc(($4 - $2) / ($3 - $1))
- var %y1 = $calc($2 - ($1 * %slope)) , %x1 = $calc($1 - ($2 / %slope))
- var %y2 = $calc($6 - ($5 * %slope)) , %x2 = $calc($5 - ($6 / %slope))
- var %y0 = %y2 - %y1 , %x0 = %x2 - %x1
- if ((!$round(%x0,0)) || (!$round(%y0,0))) && ($5 isnum $+($iif($1 > $3,$3,$1),-,$iif($1 > $3,$1,$3))) && ($6 isnum $+($iif($2 > $4,$4,$2),-,$iif($2 > $4,$2,$4))) { return $true }
- }
- alias lineintersect {
- var %dy = $4 - $2 , %dx = $3 - $1 , %db = $8 - $6 , %da = $7 - $5
- var %c1 = $calc((%da * %dy) - (%db * %dx)) , %c2 = $calc((%db * %dx) - (%da * %dy))
- if (%c1 = 0) || (%c2 = 0) { return }
- var %s = $calc(((%dx * ($6 - $2)) + (%dy * ($1 - $5))) / %c1)
- var %t = $calc(((%da * ($2 - $6)) + (%db * ($5 - $1))) / %c2)
- if (%s isnum 0-1) && (%t isnum 0-1) { return $true }
- }
- alias -l Cube.Scramble {
- var %x = 26
- while (%x) {
- var %y = $r(0,1)
- cube.rotate $r(x,z) $r(1,3) $iif(%y,1)
- dec %x
- }
- }
- alias Face.Spin {
- var %y = 9
- while (%y) {
- var %Color. $+ %y $hget(Cube,$+(Color.,$1,.,%y))
- dec %y
- }
- hadd -m Cube $+(Color.,$1,.1) $iif(!$2,%Color.7,%Color.3)
- hadd -m Cube $+(Color.,$1,.2) $iif(!$2,%Color.4,%Color.6)
- hadd -m Cube $+(Color.,$1,.3) $iif(!$2,%Color.1,%Color.9)
- hadd -m Cube $+(Color.,$1,.4) $iif(!$2,%Color.8,%Color.2)
- hadd -m Cube $+(Color.,$1,.6) $iif(!$2,%Color.2,%Color.8)
- hadd -m Cube $+(Color.,$1,.7) $iif(!$2,%Color.9,%Color.1)
- hadd -m Cube $+(Color.,$1,.8) $iif(!$2,%Color.6,%Color.4)
- hadd -m Cube $+(Color.,$1,.9) $iif(!$2,%Color.3,%Color.7)
- }
- alias Cube.Rotate {
- var %x = 6
- while (%x) {
- var %y = 9
- while (%y) {
- var %Color. $+ $+(%x,.,%y) $hget(Cube,$+(Color.,%x,.,%y))
- dec %y
- }
- dec %x
- }
- if ($1 = x) {
- if ($2 = 1) {
- ;Faces Effected: 1 3 4 5 6
- face.spin 4 $3
- hadd -m Cube Color.1.1 $iif($3,%Color.6.1,%Color.5.1)
- hadd -m Cube Color.1.4 $iif($3,%Color.6.4,%Color.5.4)
- hadd -m Cube Color.1.7 $iif($3,%Color.6.7,%Color.5.7)
- hadd -m Cube Color.3.3 $iif($3,%Color.5.7,%Color.6.7)
- hadd -m Cube Color.3.6 $iif($3,%Color.5.4,%Color.6.4)
- hadd -m Cube Color.3.9 $iif($3,%Color.5.1,%Color.6.1)
- hadd -m Cube Color.5.1 $iif($3,%Color.1.1,%Color.3.9)
- hadd -m Cube Color.5.4 $iif($3,%Color.1.4,%Color.3.6)
- hadd -m Cube Color.5.7 $iif($3,%Color.1.7,%Color.3.3)
- hadd -m Cube Color.6.1 $iif($3,%Color.3.9,%Color.1.1)
- hadd -m Cube Color.6.4 $iif($3,%Color.3.6,%Color.1.4)
- hadd -m Cube Color.6.7 $iif($3,%Color.3.3,%Color.1.7)
- }
- if ($2 = 2) {
- ;Faces Effected: 1 3 5 6
- hadd -m Cube Color.1.2 $iif($3,%Color.6.2,%Color.5.2)
- hadd -m Cube Color.1.5 $iif($3,%Color.6.5,%Color.5.5)
- hadd -m Cube Color.1.8 $iif($3,%Color.6.8,%Color.5.8)
- hadd -m Cube Color.3.2 $iif($3,%Color.5.8,%Color.6.8)
- hadd -m Cube Color.3.5 $iif($3,%Color.5.5,%Color.6.5)
- hadd -m Cube Color.3.8 $iif($3,%Color.5.2,%Color.6.2)
- hadd -m Cube Color.5.2 $iif($3,%Color.1.2,%Color.3.8)
- hadd -m Cube Color.5.5 $iif($3,%Color.1.5,%Color.3.5)
- hadd -m Cube Color.5.8 $iif($3,%Color.1.8,%Color.3.2)
- hadd -m Cube Color.6.2 $iif($3,%Color.3.8,%Color.1.2)
- hadd -m Cube Color.6.5 $iif($3,%Color.3.5,%Color.1.5)
- hadd -m Cube Color.6.8 $iif($3,%Color.3.2,%Color.1.8)
- }
- if ($2 = 3) {
- ;Faces Effected: 1 2 3 5 6
- face.spin 2 $iif(!$3,1)
- hadd -m Cube Color.1.3 $iif($3,%Color.6.3,%Color.5.3)
- hadd -m Cube Color.1.6 $iif($3,%Color.6.6,%Color.5.6)
- hadd -m Cube Color.1.9 $iif($3,%Color.6.9,%Color.5.9)
- hadd -m Cube Color.3.1 $iif($3,%Color.5.9,%Color.6.9)
- hadd -m Cube Color.3.4 $iif($3,%Color.5.6,%Color.6.6)
- hadd -m Cube Color.3.7 $iif($3,%Color.5.3,%Color.6.3)
- hadd -m Cube Color.5.3 $iif($3,%Color.1.3,%Color.3.7)
- hadd -m Cube Color.5.6 $iif($3,%Color.1.6,%Color.3.4)
- hadd -m Cube Color.5.9 $iif($3,%Color.1.9,%Color.3.1)
- hadd -m Cube Color.6.3 $iif($3,%Color.3.7,%Color.1.3)
- hadd -m Cube Color.6.6 $iif($3,%Color.3.4,%Color.1.6)
- hadd -m Cube Color.6.9 $iif($3,%Color.3.1,%Color.1.9)
- }
- }
- if ($1 = y) {
- if ($2 = 1) {
- ;Faces Effected: 1 2 3 4 6
- hadd -m Cube Color.1.7 $iif($3,%Color.2.7,%Color.4.7)
- hadd -m Cube Color.1.8 $iif($3,%Color.2.8,%Color.4.8)
- hadd -m Cube Color.1.9 $iif($3,%Color.2.9,%Color.4.9)
- hadd -m Cube Color.2.7 $iif($3,%Color.3.7,%Color.1.7)
- hadd -m Cube Color.2.8 $iif($3,%Color.3.8,%Color.1.8)
- hadd -m Cube Color.2.9 $iif($3,%Color.3.9,%Color.1.9)
- hadd -m Cube Color.3.7 $iif($3,%Color.4.7,%Color.2.7)
- hadd -m Cube Color.3.8 $iif($3,%Color.4.8,%Color.2.8)
- hadd -m Cube Color.3.9 $iif($3,%Color.4.9,%Color.2.9)
- hadd -m Cube Color.4.7 $iif($3,%Color.1.7,%Color.3.7)
- hadd -m Cube Color.4.8 $iif($3,%Color.1.8,%Color.3.8)
- hadd -m Cube Color.4.9 $iif($3,%Color.1.9,%Color.3.9)
- face.spin 6 $3
- }
- if ($2 = 2) {
- ;Faces Effected: 1 2 3 4
- hadd -m Cube Color.1.4 $iif($3,%Color.2.4,%Color.4.4)
- hadd -m Cube Color.1.5 $iif($3,%Color.2.5,%Color.4.5)
- hadd -m Cube Color.1.6 $iif($3,%Color.2.6,%Color.4.6)
- hadd -m Cube Color.2.4 $iif($3,%Color.3.4,%Color.1.4)
- hadd -m Cube Color.2.5 $iif($3,%Color.3.5,%Color.1.5)
- hadd -m Cube Color.2.6 $iif($3,%Color.3.6,%Color.1.6)
- hadd -m Cube Color.3.4 $iif($3,%Color.4.4,%Color.2.4)
- hadd -m Cube Color.3.5 $iif($3,%Color.4.5,%Color.2.5)
- hadd -m Cube Color.3.6 $iif($3,%Color.4.6,%Color.2.6)
- hadd -m Cube Color.4.4 $iif($3,%Color.1.4,%Color.3.4)
- hadd -m Cube Color.4.5 $iif($3,%Color.1.5,%Color.3.5)
- hadd -m Cube Color.4.6 $iif($3,%Color.1.6,%Color.3.6)
- }
- if ($2 = 3) {
- ;Faces Effected: 1 2 3 4 5
- hadd -m Cube Color.1.1 $iif($3,%Color.2.1,%Color.4.1)
- hadd -m Cube Color.1.2 $iif($3,%Color.2.2,%Color.4.2)
- hadd -m Cube Color.1.3 $iif($3,%Color.2.3,%Color.4.3)
- hadd -m Cube Color.2.1 $iif($3,%Color.3.1,%Color.1.1)
- hadd -m Cube Color.2.2 $iif($3,%Color.3.2,%Color.1.2)
- hadd -m Cube Color.2.3 $iif($3,%Color.3.3,%Color.1.3)
- hadd -m Cube Color.3.1 $iif($3,%Color.4.1,%Color.2.1)
- hadd -m Cube Color.3.2 $iif($3,%Color.4.2,%Color.2.2)
- hadd -m Cube Color.3.3 $iif($3,%Color.4.3,%Color.2.3)
- hadd -m Cube Color.4.1 $iif($3,%Color.1.1,%Color.3.1)
- hadd -m Cube Color.4.2 $iif($3,%Color.1.2,%Color.3.2)
- hadd -m Cube Color.4.3 $iif($3,%Color.1.3,%Color.3.3)
- face.spin 5 $iif(!$3,1)
- }
- }
- if ($1 = z) {
- if ($2 = 1) {
- ;Faces Effected: 2 3 4 5 6
- hadd -m Cube Color.2.3 $iif($3,%Color.6.9,%Color.5.1)
- hadd -m Cube Color.2.6 $iif($3,%Color.6.8,%Color.5.2)
- hadd -m Cube Color.2.9 $iif($3,%Color.6.7,%Color.5.3)
- face.spin 3 $iif(!$3,1)
- hadd -m Cube Color.4.1 $iif($3,%Color.5.3,%Color.6.7)
- hadd -m Cube Color.4.4 $iif($3,%Color.5.2,%Color.6.8)
- hadd -m Cube Color.4.7 $iif($3,%Color.5.1,%Color.6.9)
- hadd -m Cube Color.5.1 $iif($3,%Color.2.3,%Color.4.7)
- hadd -m Cube Color.5.2 $iif($3,%Color.2.6,%Color.4.4)
- hadd -m Cube Color.5.3 $iif($3,%Color.2.9,%Color.4.1)
- hadd -m Cube Color.6.7 $iif($3,%Color.4.1,%Color.2.9)
- hadd -m Cube Color.6.8 $iif($3,%Color.4.4,%Color.2.6)
- hadd -m Cube Color.6.9 $iif($3,%Color.4.7,%Color.2.3)
- }
- if ($2 = 2) {
- ;Faces Effected: 2 4 5 6
- hadd -m Cube Color.2.2 $iif($3,%Color.6.6,%Color.5.4)
- hadd -m Cube Color.2.5 $iif($3,%Color.6.5,%Color.5.5)
- hadd -m Cube Color.2.8 $iif($3,%Color.6.4,%Color.5.6)
- hadd -m Cube Color.4.2 $iif($3,%Color.5.6,%Color.6.4)
- hadd -m Cube Color.4.5 $iif($3,%Color.5.5,%Color.6.5)
- hadd -m Cube Color.4.8 $iif($3,%Color.5.4,%Color.6.6)
- hadd -m Cube Color.5.4 $iif($3,%Color.2.2,%Color.4.8)
- hadd -m Cube Color.5.5 $iif($3,%Color.2.5,%Color.4.5)
- hadd -m Cube Color.5.6 $iif($3,%Color.2.8,%Color.4.2)
- hadd -m Cube Color.6.4 $iif($3,%Color.4.2,%Color.2.8)
- hadd -m Cube Color.6.5 $iif($3,%Color.4.5,%Color.2.5)
- hadd -m Cube Color.6.6 $iif($3,%Color.4.8,%Color.2.2)
- }
- if ($2 = 3) {
- ;Faces Effected: 1 2 4 5 6
- face.spin 1 $3
- hadd -m Cube Color.2.1 $iif($3,%Color.6.3,%Color.5.7)
- hadd -m Cube Color.2.4 $iif($3,%Color.6.2,%Color.5.8)
- hadd -m Cube Color.2.7 $iif($3,%Color.6.1,%Color.5.9)
- hadd -m Cube Color.4.3 $iif($3,%Color.5.9,%Color.6.1)
- hadd -m Cube Color.4.6 $iif($3,%Color.5.8,%Color.6.2)
- hadd -m Cube Color.4.9 $iif($3,%Color.5.7,%Color.6.3)
- hadd -m Cube Color.5.7 $iif($3,%Color.2.1,%Color.4.9)
- hadd -m Cube Color.5.8 $iif($3,%Color.2.4,%Color.4.6)
- hadd -m Cube Color.5.9 $iif($3,%Color.2.7,%Color.4.3)
- hadd -m Cube Color.6.1 $iif($3,%Color.4.3,%Color.2.7)
- hadd -m Cube Color.6.2 $iif($3,%Color.4.6,%Color.2.4)
- hadd -m Cube Color.6.3 $iif($3,%Color.4.9,%Color.2.1)
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement