aboutsummaryrefslogtreecommitdiff
path: root/Src/resources/data/avs/Community Picks/UnConeD - Goldie.avs
blob: 86ff1e6d440026edf70e482c5c0823aba9880c67 (plain) (blame)
ofshex dumpascii
0000 4e 75 6c 6c 73 6f 66 74 20 41 56 53 20 50 72 65 73 65 74 20 30 2e 32 1a 00 15 00 00 00 82 0a 00 Nullsoft.AVS.Preset.0.2.........
0020 00 7e 0a 00 00 20 20 5f 5f 5f 5f 5f 5f 5f 5f 5f 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .~....._________................
0040 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0d 0a 20 28 20 ..............................(.
0060 20 20 20 20 20 20 20 5f 5f 5f 5f 5f 29 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ......._____)...................
0080 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0d 0a ................................
00a0 20 20 5c 20 20 20 20 20 28 20 69 6e 61 6c 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..\.....(.inal..................
00c0 5f 5f 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 __..............................
00e0 20 20 20 20 47 6f 6c 64 69 65 0d 0a 20 20 20 20 5c 20 20 20 20 af af af af 5c 20 20 20 20 20 5f ....Goldie......\........\....._
0100 20 20 20 20 20 20 2f 20 20 20 20 29 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ....../....)....................
0120 20 20 20 20 20 0d 0a 20 20 20 20 20 20 5c 20 20 20 7c af 5c 20 20 20 20 5c 5f 2f 20 20 5c 5f 2f .............\...|.\....\_/..\_/
0140 20 20 20 20 2f 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..../...........................
0160 0d 0a 20 20 20 20 20 20 20 20 5c 2f 20 20 20 20 5c 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..........\/....\...............
0180 20 20 2f 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 ../............................b
01a0 79 20 53 74 65 76 65 6e 20 57 69 74 74 65 6e 73 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 y.Steven.Wittens................
01c0 20 20 20 5c 5f 5f 2f 5e 5c 5f 5f 2f 20 68 61 63 6b 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ...\__/^\__/.hack...............
01e0 20 20 20 20 20 20 20 20 20 61 6b 61 20 55 6e 43 6f 6e 65 44 0d 0a 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f .........aka.UnConeD..__________
0200 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f ________________________________
0220 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 0d 0a 20 20 af af af af af af af af af af af af af af af af ____________....................
0240 af af af af af af af af af af af af af af af af af af af af af af af af af af af af af af af af ................................
0260 af af af af 0d 0a 49 27 6d 20 72 65 61 6c 6c 79 20 73 61 74 69 73 66 69 65 64 20 77 69 74 68 20 ......I'm.really.satisfied.with.
0280 74 68 65 20 77 61 79 20 74 68 69 73 20 74 75 72 6e 65 64 20 6f 75 74 2e 20 49 20 68 61 64 20 74 the.way.this.turned.out..I.had.t
02a0 68 65 20 69 64 65 61 20 66 6f 72 20 61 20 73 6f 6c 69 64 20 73 70 65 63 74 72 75 6d 20 6c 69 6b he.idea.for.a.solid.spectrum.lik
02c0 65 20 74 68 69 73 2c 20 77 69 74 68 20 63 6f 72 72 65 63 74 20 76 69 73 69 62 69 6c 69 74 79 2e e.this,.with.correct.visibility.
02e0 20 4e 6f 20 6d 61 78 2d 62 6c 65 6e 64 69 6e 67 20 68 65 72 65 20 3b 29 2e 0d 0a 42 61 73 69 63 .No.max-blending.here.;)...Basic
0300 61 6c 6c 79 20 65 76 65 72 79 20 73 75 70 65 72 73 63 6f 70 65 20 72 65 70 72 65 73 65 6e 74 73 ally.every.superscope.represents
0320 20 6f 6e 65 20 70 6f 73 69 74 69 6f 6e 20 69 6e 20 74 68 65 20 72 6f 74 61 74 65 64 20 67 72 69 .one.position.in.the.rotated.gri
0340 64 2e 20 53 6f 20 61 73 20 74 68 65 20 62 61 72 73 20 6d 6f 76 65 20 61 72 6f 75 6e 64 2c 20 74 d..So.as.the.bars.move.around,.t
0360 68 65 79 20 6a 75 6d 70 20 66 72 6f 6d 20 73 63 6f 70 65 20 74 6f 20 73 63 6f 70 65 20 73 6f 20 hey.jump.from.scope.to.scope.so.
0380 74 68 65 20 64 72 61 77 69 6e 67 20 6f 72 64 65 72 20 69 73 20 61 6c 77 61 79 73 20 63 6f 72 72 the.drawing.order.is.always.corr
03a0 65 63 74 2e 20 59 6f 75 20 63 61 6e 20 73 65 65 20 74 68 69 73 20 69 6e 20 61 63 74 69 6f 6e 20 ect..You.can.see.this.in.action.
03c0 62 79 20 61 64 64 69 6e 67 20 61 20 27 62 6c 75 65 3d 31 27 20 6f 72 20 73 69 6d 69 6c 61 72 20 by.adding.a.'blue=1'.or.similar.
03e0 74 6f 20 6f 6e 65 20 6f 66 20 74 68 65 20 6c 61 73 74 20 73 63 6f 70 65 73 2e 0d 0a 54 68 69 73 to.one.of.the.last.scopes...This
0400 20 74 72 69 63 6b 20 77 6f 72 6b 73 20 72 65 61 6c 6c 79 20 77 65 6c 6c 20 6f 6e 20 61 20 68 65 .trick.works.really.well.on.a.he
0420 78 61 67 6f 6e 61 6c 20 67 72 69 64 2e 0d 0a 0d 0a 54 68 65 20 6e 65 78 74 20 73 70 65 63 69 61 xagonal.grid.....The.next.specia
0440 6c 20 74 72 69 63 6b 20 69 73 20 74 68 65 20 73 68 69 6e 79 20 67 6f 6c 64 20 6d 61 74 65 72 69 l.trick.is.the.shiny.gold.materi
0460 61 6c 2e 20 49 74 27 73 20 64 6f 6e 65 20 62 79 20 63 61 6c 63 75 6c 61 74 69 6e 67 20 74 68 65 al..It's.done.by.calculating.the
0480 20 63 6f 6c 6f 72 20 62 61 73 65 64 20 6f 6e 20 74 68 65 20 70 6f 73 69 74 69 6f 6e 20 28 72 6f .color.based.on.the.position.(ro
04a0 74 61 74 65 64 20 61 6e 64 20 74 72 61 6e 73 6c 61 74 65 64 29 20 6f 6e 20 74 68 65 20 73 63 72 tated.and.translated).on.the.scr
04c0 65 65 6e 2e 20 53 6f 20 61 20 70 6f 69 6e 74 20 74 68 61 74 20 6d 6f 76 65 73 20 61 72 6f 75 6e een..So.a.point.that.moves.aroun
04e0 64 20 73 74 61 72 74 73 20 74 6f 20 73 68 69 6d 6d 65 72 20 61 6e 64 20 63 68 61 6e 67 65 2e 20 d.starts.to.shimmer.and.change..
0500 42 79 20 73 6c 69 67 68 74 6c 79 20 6f 66 66 73 65 74 74 69 6e 67 20 74 68 65 20 63 6f 64 65 20 By.slightly.offsetting.the.code.
0520 66 6f 72 20 72 65 64 2c 20 67 72 65 65 6e 20 61 6e 64 20 62 6c 75 65 2c 20 74 68 65 72 65 20 61 for.red,.green.and.blue,.there.a
0540 72 65 20 73 75 62 74 6c 65 20 63 6f 6c 6f 72 20 76 61 72 69 61 74 69 6f 6e 73 20 66 72 6f 6d 20 re.subtle.color.variations.from.
0560 6f 72 61 6e 67 65 20 74 6f 20 79 65 6c 6c 6f 77 20 77 68 69 63 68 20 6d 61 6b 65 20 69 74 20 6c orange.to.yellow.which.make.it.l
0580 6f 6f 6b 20 61 20 6c 6f 74 20 6d 6f 72 65 20 63 6f 6e 76 69 6e 63 69 6e 67 2e 20 53 6f 6d 65 20 ook.a.lot.more.convincing..Some.
05a0 63 6f 6c 6f 72 6d 61 70 20 61 6e 64 20 63 6f 6e 76 6f 6c 75 74 69 6f 6e 20 74 72 69 63 6b 65 72 colormap.and.convolution.tricker
05c0 79 20 61 64 64 73 20 74 68 65 20 63 6f 6f 6c 20 67 6c 61 72 65 20 65 66 66 65 63 74 2e 0d 0a 0d y.adds.the.cool.glare.effect....
05e0 0a 47 65 74 74 69 6e 67 20 74 68 65 20 73 68 61 64 69 6e 67 20 74 6f 20 70 6c 61 79 20 6e 69 63 .Getting.the.shading.to.play.nic
0600 65 20 77 61 73 20 61 6e 6f 74 68 65 72 20 70 72 6f 62 6c 65 6d 20 74 68 6f 75 67 68 3a 20 6f 6e e.was.another.problem.though:.on
0620 6c 79 20 74 68 65 20 76 69 73 69 62 6c 65 20 73 69 64 65 73 20 6f 66 20 74 68 65 20 62 61 72 73 ly.the.visible.sides.of.the.bars
0640 20 61 72 65 20 64 72 61 77 6e 20 28 72 65 6d 6f 76 65 20 6f 6e 65 20 6f 66 20 74 68 65 20 43 6f .are.drawn.(remove.one.of.the.Co
0660 6c 75 6d 6e 20 54 6f 70 20 73 63 6f 70 65 73 20 74 6f 20 73 65 65 29 2c 20 61 6e 64 20 74 68 65 lumn.Top.scopes.to.see),.and.the
0680 20 6c 69 6e 65 73 20 61 72 65 20 64 72 61 77 6e 20 75 70 77 61 72 64 73 20 69 6e 20 61 20 73 6e .lines.are.drawn.upwards.in.a.sn
06a0 61 6b 65 2d 6c 69 6b 65 20 7a 69 67 7a 61 67 20 70 61 74 74 65 72 6e 2e 20 52 65 6d 65 6d 62 65 ake-like.zigzag.pattern..Remembe
06c0 72 20 69 6e 20 74 68 65 20 65 6e 64 2c 20 74 68 65 79 27 72 65 20 73 74 69 6c 6c 20 61 6c 6c 20 r.in.the.end,.they're.still.all.
06e0 6c 69 6e 65 73 2c 20 61 6e 64 20 61 6c 6c 20 74 68 69 73 20 69 73 20 6a 75 73 74 20 73 6f 6d 65 lines,.and.all.this.is.just.some
0700 20 74 72 69 63 6b 65 72 79 2e 20 41 56 53 20 64 72 61 77 73 20 61 20 6c 69 6e 65 20 69 6e 20 74 .trickery..AVS.draws.a.line.in.t
0720 68 65 20 63 6f 6c 6f 72 20 6f 66 20 69 74 73 20 74 61 72 67 65 74 20 70 6f 69 6e 74 2c 20 73 6f he.color.of.its.target.point,.so
0740 20 49 20 68 61 64 20 74 6f 20 74 77 65 61 6b 20 69 74 20 61 6e 64 20 70 6c 61 79 20 61 72 6f 75 .I.had.to.tweak.it.and.play.arou
0760 6e 64 20 75 6e 74 69 6c 20 61 6c 6c 20 74 68 65 20 73 69 64 65 73 20 61 6e 64 20 62 61 72 73 20 nd.until.all.the.sides.and.bars.
0780 77 65 72 65 20 73 79 6e 63 68 65 64 20 77 69 74 68 20 65 61 63 68 6f 74 68 65 72 2e 0d 0a 0d 0a were.synched.with.eachother.....
07a0 46 69 6e 61 6c 6c 79 20 74 68 61 6e 6b 73 20 74 6f 20 73 6f 6d 65 20 62 75 66 66 65 72 20 74 72 Finally.thanks.to.some.buffer.tr
07c0 69 63 6b 73 2c 20 74 68 65 20 62 61 63 6b 67 72 6f 75 6e 64 20 69 73 20 61 20 63 6f 6f 6c 20 70 icks,.the.background.is.a.cool.p
07e0 75 72 70 6c 65 2f 62 6c 75 65 69 73 68 20 63 6f 6d 70 6f 73 69 74 65 20 6f 66 20 65 76 65 72 79 urple/blueish.composite.of.every
0800 20 62 65 61 74 20 66 72 61 6d 65 20 28 77 69 74 68 6f 75 74 20 63 6f 6c 6f 72 6d 61 70 70 69 6e .beat.frame.(without.colormappin
0820 67 20 6f 72 20 75 6e 69 71 75 65 20 74 6f 6e 69 6e 67 2e 2e 2e 29 2e 0d 0a 0d 0a 41 20 6e 69 63 g.or.unique.toning...).....A.nic
0840 65 20 27 6f 6c 64 20 73 63 68 6f 6f 6c 27 20 73 70 65 63 74 72 75 6d 20 70 72 65 73 65 74 2c 20 e.'old.school'.spectrum.preset,.
0860 69 6e 20 61 20 6e 65 77 20 6a 61 63 6b 65 74 2e 2e 2e 0d 0a 20 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f in.a.new.jacket......___________
0880 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f ________________________________
08a0 5f 5f 5f 5f 5f 5f 5f 5f 5f 0d 0a af af af af af af af af af af af af af af af af af af af af af _________.......................
08c0 af af af af af af af af af af af af af af af af af af af af af af af af af af af af af af af af ................................
08e0 af 0d 0a 28 63 29 20 53 74 65 76 65 6e 20 57 69 74 74 65 6e 73 20 2f 20 55 6e 43 6f 6e 65 44 0d ...(c).Steven.Wittens./.UnConeD.
0900 0a 73 74 65 76 65 6e 20 40 20 61 63 6b 6f 20 64 6f 74 20 6e 65 74 20 2d 20 77 77 77 2e 61 63 6b .steven.@.acko.dot.net.-.www.ack
0920 6f 2e 6e 65 74 0d 0a 0d 0a 49 66 20 79 6f 75 20 77 69 73 68 20 74 6f 20 75 73 65 20 61 6e 79 20 o.net....If.you.wish.to.use.any.
0940 70 61 72 74 20 28 6f 72 20 74 68 65 20 77 68 6f 6c 65 29 20 6f 66 20 74 68 69 73 20 70 72 65 73 part.(or.the.whole).of.this.pres
0960 65 74 20 69 6e 20 79 6f 75 72 20 6f 77 6e 20 70 72 65 73 65 74 73 2c 20 70 61 63 6b 73 20 6f 72 et.in.your.own.presets,.packs.or
0980 20 69 6e 20 61 6e 6f 74 68 65 72 20 6d 65 64 69 75 6d 2c 20 79 6f 75 20 6d 75 73 74 20 69 6e 63 .in.another.medium,.you.must.inc
09a0 6c 75 64 65 20 6d 79 20 6e 61 6d 65 20 61 73 20 61 20 63 6c 65 61 72 20 63 72 65 64 69 74 20 72 lude.my.name.as.a.clear.credit.r
09c0 65 66 65 72 65 6e 63 65 2e 20 49 6e 63 6c 75 64 69 6e 67 20 6d 79 20 63 6f 6e 74 61 63 74 20 69 eference..Including.my.contact.i
09e0 6e 66 6f 72 6d 61 74 69 6f 6e 2f 77 65 62 73 69 74 65 20 61 64 64 72 65 73 73 20 69 73 20 6e 6f nformation/website.address.is.no
0a00 74 20 72 65 71 75 69 72 65 64 2c 20 62 75 74 20 61 70 70 72 65 63 69 61 74 65 64 2e 0d 0a 45 78 t.required,.but.appreciated...Ex
0a20 63 65 70 74 69 6f 6e 20 74 6f 20 74 68 65 20 61 62 6f 76 65 3a 20 79 6f 75 20 6d 61 79 20 64 69 ception.to.the.above:.you.may.di
0a40 73 70 6c 61 79 20 74 68 65 73 65 20 70 72 65 73 65 74 73 20 61 73 20 61 20 70 72 6f 6a 65 63 74 splay.these.presets.as.a.project
0a60 69 6f 6e 20 61 74 20 70 61 72 74 69 65 73 2c 20 72 61 76 65 73 20 6f 72 20 63 6c 75 62 73 20 77 ion.at.parties,.raves.or.clubs.w
0a80 69 74 68 6f 75 74 20 63 72 65 64 69 74 20 72 65 66 65 72 65 6e 63 65 20 6f 6e 2d 73 63 72 65 65 ithout.credit.reference.on-scree
0aa0 6e 2e 00 19 00 00 00 14 00 00 00 01 00 00 00 02 59 14 00 00 00 00 00 00 00 00 00 00 00 00 00 fe n...............Y...............
0ac0 ff ff ff 89 00 00 00 82 02 01 01 24 80 00 00 00 80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ...........$....................
0ae0 00 00 00 00 00 00 00 00 01 00 00 00 00 40 00 00 41 56 53 20 32 2e 38 2b 20 45 66 66 65 63 74 20 .............@..AVS.2.8+.Effect.
0b00 4c 69 73 74 20 43 6f 6e 66 69 67 00 00 00 00 00 24 00 00 00 01 00 00 00 05 00 00 00 74 3d 30 3b List.Config.....$...........t=0;
0b20 00 13 00 00 00 65 6e 61 62 6c 65 64 3d 31 2d 74 3b 0d 0a 74 3d 31 3b 00 12 00 00 00 10 00 00 00 .....enabled=1-t;..t=1;.........
0b40 00 00 00 00 07 00 00 00 00 00 00 00 80 00 00 00 12 00 00 00 10 00 00 00 01 00 00 00 07 00 00 00 ................................
0b60 09 00 00 00 80 00 00 00 24 00 00 00 5e 05 00 00 01 00 00 00 00 fc 03 00 00 72 79 3d 72 79 2b 73 ........$...^............ry=ry+s
0b80 69 6e 28 72 74 2d 72 79 29 2a 2e 31 3b 72 74 3d 72 74 2b 64 72 2a 2e 30 31 3b 0d 0a 7a 64 69 73 in(rt-ry)*.1;rt=rt+dr*.01;..zdis
0ba0 74 3d 7a 64 69 73 74 2a 2e 39 2b 7a 74 2a 2e 31 3b 6f 79 3d 6f 79 2b 79 6f 66 66 3b 6f 79 3d 6f t=zdist*.9+zt*.1;oy=oy+yoff;oy=o
0bc0 79 2a 2e 39 2b 79 74 2a 2e 31 3b 0d 0a 72 78 3d 61 74 61 6e 32 28 6f 79 2c 7a 64 69 73 74 29 3b y*.9+yt*.1;..rx=atan2(oy,zdist);
0be0 6f 79 3d 6f 79 2d 79 6f 66 66 3b 0d 0a 0d 0a 72 65 73 70 6f 6e 73 65 3d 2e 30 33 37 3b 73 74 65 oy=oy-yoff;....response=.037;ste
0c00 70 73 3d 34 35 3b 0d 0a 66 61 63 74 3d 32 2e 35 2f 7a 64 69 73 74 3b 72 65 67 39 30 3d 66 61 63 ps=45;..fact=2.5/zdist;reg90=fac
0c20 74 3b 0d 0a 72 65 73 70 6f 6e 73 65 3d 72 65 73 70 6f 6e 73 65 2f 66 61 63 74 3b 73 74 65 70 73 t;..response=response/fact;steps
0c40 3d 73 74 65 70 73 2a 66 61 63 74 3b 0d 0a 72 65 67 30 30 3d 7a 64 69 73 74 3b 72 65 67 30 31 3d =steps*fact;..reg00=zdist;reg01=
0c60 72 79 3b 72 65 67 30 32 3d 6f 79 3b 72 65 67 30 33 3d 72 78 3b 72 65 67 30 39 3d 73 74 65 70 73 ry;reg02=oy;reg03=rx;reg09=steps
0c80 3b 0d 0a 72 65 67 30 37 3d 63 6f 73 28 72 79 29 3b 72 65 67 30 38 3d 73 69 6e 28 72 79 29 3b 0d ;..reg07=cos(ry);reg08=sin(ry);.
0ca0 0a 0d 0a 72 65 67 31 30 3d 6d 61 78 28 6d 61 78 28 30 2c 72 65 67 31 30 2d 64 65 63 61 79 29 2c ...reg10=max(max(0,reg10-decay),
0cc0 67 65 74 73 70 65 63 28 2e 30 31 2c 30 2e 30 31 2c 30 29 2a 31 2e 35 29 3b 0d 0a 72 65 67 31 31 getspec(.01,0.01,0)*1.5);..reg11
0ce0 3d 6d 61 78 28 6d 61 78 28 30 2c 72 65 67 31 31 2d 64 65 63 61 79 29 2c 67 65 74 73 70 65 63 28 =max(max(0,reg11-decay),getspec(
0d00 2e 30 32 2c 30 2e 30 32 2c 30 29 2a 31 2e 32 29 3b 0d 0a 72 65 67 31 32 3d 6d 61 78 28 6d 61 78 .02,0.02,0)*1.2);..reg12=max(max
0d20 28 30 2c 72 65 67 31 32 2d 64 65 63 61 79 29 2c 67 65 74 73 70 65 63 28 2e 30 33 2c 30 2e 30 32 (0,reg12-decay),getspec(.03,0.02
0d40 2c 30 29 2a 31 2e 32 29 3b 0d 0a 72 65 67 31 33 3d 6d 61 78 28 6d 61 78 28 30 2c 72 65 67 31 33 ,0)*1.2);..reg13=max(max(0,reg13
0d60 2d 64 65 63 61 79 29 2c 67 65 74 73 70 65 63 28 2e 30 34 2c 30 2e 30 32 2c 30 29 2a 31 2e 32 29 -decay),getspec(.04,0.02,0)*1.2)
0d80 3b 0d 0a 72 65 67 31 34 3d 6d 61 78 28 6d 61 78 28 30 2c 72 65 67 31 34 2d 64 65 63 61 79 29 2c ;..reg14=max(max(0,reg14-decay),
0da0 67 65 74 73 70 65 63 28 2e 30 35 2c 30 2e 30 32 2c 30 29 2a 31 2e 32 29 3b 0d 0a 72 65 67 31 35 getspec(.05,0.02,0)*1.2);..reg15
0dc0 3d 6d 61 78 28 6d 61 78 28 30 2c 72 65 67 31 35 2d 64 65 63 61 79 29 2c 67 65 74 73 70 65 63 28 =max(max(0,reg15-decay),getspec(
0de0 2e 30 36 2c 30 2e 30 32 2c 30 29 2a 31 2e 32 29 3b 0d 0a 72 65 67 31 36 3d 6d 61 78 28 6d 61 78 .06,0.02,0)*1.2);..reg16=max(max
0e00 28 30 2c 72 65 67 31 36 2d 64 65 63 61 79 29 2c 67 65 74 73 70 65 63 28 2e 30 37 2c 30 2e 30 32 (0,reg16-decay),getspec(.07,0.02
0e20 2c 30 29 2a 31 2e 32 29 3b 0d 0a 72 65 67 31 37 3d 6d 61 78 28 6d 61 78 28 30 2c 72 65 67 31 37 ,0)*1.2);..reg17=max(max(0,reg17
0e40 2d 64 65 63 61 79 29 2c 67 65 74 73 70 65 63 28 2e 31 30 2c 30 2e 30 33 2c 30 29 29 3b 0d 0a 72 -decay),getspec(.10,0.03,0));..r
0e60 65 67 31 39 3d 6d 61 78 28 6d 61 78 28 30 2c 72 65 67 31 39 2d 64 65 63 61 79 29 2c 67 65 74 73 eg19=max(max(0,reg19-decay),gets
0e80 70 65 63 28 2e 31 32 2c 30 2e 30 33 2c 30 29 29 3b 0d 0a 72 65 67 32 31 3d 6d 61 78 28 6d 61 78 pec(.12,0.03,0));..reg21=max(max
0ea0 28 30 2c 72 65 67 32 31 2d 64 65 63 61 79 29 2c 67 65 74 73 70 65 63 28 2e 31 34 2c 30 2e 30 33 (0,reg21-decay),getspec(.14,0.03
0ec0 2c 30 29 29 3b 0d 0a 72 65 67 32 33 3d 6d 61 78 28 6d 61 78 28 30 2c 72 65 67 32 33 2d 64 65 63 ,0));..reg23=max(max(0,reg23-dec
0ee0 61 79 29 2c 67 65 74 73 70 65 63 28 2e 31 36 2c 30 2e 30 33 2c 30 29 29 3b 0d 0a 72 65 67 32 35 ay),getspec(.16,0.03,0));..reg25
0f00 3d 6d 61 78 28 6d 61 78 28 30 2c 72 65 67 32 35 2d 64 65 63 61 79 29 2c 67 65 74 73 70 65 63 28 =max(max(0,reg25-decay),getspec(
0f20 2e 31 38 2c 30 2e 30 33 2c 30 29 29 3b 0d 0a 72 65 67 32 37 3d 6d 61 78 28 6d 61 78 28 30 2c 72 .18,0.03,0));..reg27=max(max(0,r
0f40 65 67 32 37 2d 64 65 63 61 79 29 2c 67 65 74 73 70 65 63 28 2e 32 30 2c 30 2e 30 33 2c 30 29 29 eg27-decay),getspec(.20,0.03,0))
0f60 3b 0d 0a 72 65 67 33 30 3d 72 65 73 70 6f 6e 73 65 3b 0d 0a 00 59 00 00 00 72 74 3d 72 74 2b 72 ;..reg30=response;...Y...rt=rt+r
0f80 61 6e 64 28 36 32 38 29 2a 2e 30 31 2d 33 2e 31 34 3b 0d 0a 7a 74 3d 33 2b 72 61 6e 64 28 31 30 and(628)*.01-3.14;..zt=3+rand(10
0fa0 30 29 2a 2e 30 32 3b 79 74 3d 31 2e 38 2b 72 61 6e 64 28 31 30 30 29 2a 2e 30 31 3b 0d 0a 64 72 0)*.02;yt=1.8+rand(100)*.01;..dr
0fc0 3d 72 61 6e 64 28 32 30 30 29 2a 2e 30 31 2d 31 3b 00 e8 00 00 00 6e 3d 30 3b 64 65 63 61 79 3d =rand(200)*.01-1;.....n=0;decay=
0fe0 2e 30 34 3b 0d 0a 78 3d 28 77 2f 33 32 30 29 3b 72 65 73 70 6f 6e 73 65 3d 72 65 73 70 6f 6e 73 .04;..x=(w/320);response=respons
1000 65 2f 78 3b 73 74 65 70 73 3d 73 74 65 70 73 2a 78 3b 0d 0a 7a 64 69 73 74 3d 34 3b 7a 74 3d 34 e/x;steps=steps*x;..zdist=4;zt=4
1020 3b 79 74 3d 32 2e 33 3b 72 74 3d 31 3b 79 6f 66 66 3d 31 2e 33 3b 20 0d 0a 20 20 0d 0a 72 65 67 ;yt=2.3;rt=1;yoff=1.3;.......reg
1040 31 30 3d 30 3b 0d 0a 72 65 67 31 31 3d 30 3b 0d 0a 72 65 67 31 32 3d 30 3b 0d 0a 72 65 67 31 33 10=0;..reg11=0;..reg12=0;..reg13
1060 3d 30 3b 0d 0a 72 65 67 31 34 3d 30 3b 0d 0a 72 65 67 31 35 3d 30 3b 0d 0a 72 65 67 31 36 3d 30 =0;..reg14=0;..reg15=0;..reg16=0
1080 3b 0d 0a 72 65 67 31 37 3d 30 3b 0d 0a 72 65 67 31 39 3d 30 3b 0d 0a 72 65 67 32 31 3d 30 3b 0d ;..reg17=0;..reg19=0;..reg21=0;.
10a0 0a 72 65 67 32 33 3d 30 3b 0d 0a 72 65 67 32 35 3d 30 3b 0d 0a 72 65 67 32 37 3d 30 3b 00 02 00 .reg23=0;..reg25=0;..reg27=0;...
10c0 00 00 01 00 00 00 ff ff ff 00 00 00 00 00 19 00 00 00 14 00 00 00 01 00 00 00 00 00 00 00 00 00 ................................
10e0 00 00 00 00 00 00 01 00 00 00 28 00 00 00 04 00 00 00 01 00 07 80 24 00 00 00 bc 01 00 00 01 e3 ..........(...........$.........
1100 00 00 00 61 3d 70 2a 63 73 3b 0d 0a 70 78 3d 63 6f 73 28 61 29 2a 72 64 64 3b 70 7a 3d 73 69 6e ...a=p*cs;..px=cos(a)*rdd;pz=sin
1120 28 61 29 2a 72 64 64 3b 0d 0a 0d 0a 2f 2f 20 54 72 61 6e 73 66 6f 72 6d 20 61 6e 64 20 70 72 6f (a)*rdd;....//.Transform.and.pro
1140 6a 65 63 74 0d 0a 78 31 3d 70 78 2a 63 79 2d 70 7a 2a 73 79 3b 7a 31 3d 70 78 2a 73 79 2b 70 7a ject..x1=px*cy-pz*sy;z1=px*sy+pz
1160 2a 63 79 3b 0d 0a 79 32 3d 70 79 2a 63 78 2d 7a 31 2a 73 78 3b 7a 32 3d 70 79 2a 73 78 2b 7a 31 *cy;..y2=py*cx-z1*sx;z2=py*sx+z1
1180 2a 63 78 2b 7a 64 69 73 74 3b 0d 0a 7a 32 3d 7a 32 2a 2e 37 35 3b 0d 0a 7a 32 3d 69 66 28 62 65 *cx+zdist;..z2=z2*.75;..z2=if(be
11a0 6c 6f 77 28 7a 32 2c 2e 30 32 29 2c 30 2c 31 2f 7a 32 29 3b 0d 0a 78 3d 78 31 2a 7a 32 3b 79 3d low(z2,.02),0,1/z2);..x=x1*z2;y=
11c0 79 32 2a 7a 32 2a 61 66 2d 2e 31 3b 0d 0a 0d 0a 2f 2f 20 53 74 61 74 65 20 76 61 72 73 0d 0a 70 y2*z2*af-.1;....//.State.vars..p
11e0 3d 70 2b 31 3b 00 a0 00 00 00 2f 2f 20 43 61 6d 65 72 61 0d 0a 7a 64 69 73 74 3d 72 65 67 30 30 =p+1;.....//.Camera..zdist=reg00
1200 3b 72 79 3d 72 65 67 30 31 3b 6f 79 3d 72 65 67 30 32 3b 72 78 3d 72 65 67 30 33 3b 73 74 65 70 ;ry=reg01;oy=reg02;rx=reg03;step
1220 73 3d 72 65 67 30 39 3b 0d 0a 63 78 3d 63 6f 73 28 72 78 29 3b 73 78 3d 73 69 6e 28 72 78 29 3b s=reg09;..cx=cos(rx);sx=sin(rx);
1240 0d 0a 63 79 3d 63 6f 73 28 72 79 29 3b 73 79 3d 73 69 6e 28 72 79 29 3b 0d 0a 0d 0a 2f 2f 20 53 ..cy=cos(ry);sy=sin(ry);....//.S
1260 74 61 74 65 20 76 61 72 73 0d 0a 63 73 3d 24 70 69 2a 2e 33 33 33 33 3b 61 66 3d 77 2f 68 3b 70 tate.vars..cs=$pi*.3333;af=w/h;p
1280 3d 30 3b 70 79 3d 6f 79 3b 00 00 00 00 00 18 00 00 00 2f 2f 20 46 6c 6f 6f 72 0d 0a 6e 3d 37 3b =0;py=oy;.........//.Floor..n=7;
12a0 72 64 64 3d 31 2e 37 35 3b 00 02 00 00 00 01 00 00 00 32 2d ff 00 01 00 00 00 24 00 00 00 bc 01 rdd=1.75;.........2-......$.....
12c0 00 00 01 e3 00 00 00 61 3d 70 2a 63 73 3b 0d 0a 70 78 3d 63 6f 73 28 61 29 2a 72 64 64 3b 70 7a .......a=p*cs;..px=cos(a)*rdd;pz
12e0 3d 73 69 6e 28 61 29 2a 72 64 64 3b 0d 0a 0d 0a 2f 2f 20 54 72 61 6e 73 66 6f 72 6d 20 61 6e 64 =sin(a)*rdd;....//.Transform.and
1300 20 70 72 6f 6a 65 63 74 0d 0a 78 31 3d 70 78 2a 63 79 2d 70 7a 2a 73 79 3b 7a 31 3d 70 78 2a 73 .project..x1=px*cy-pz*sy;z1=px*s
1320 79 2b 70 7a 2a 63 79 3b 0d 0a 79 32 3d 70 79 2a 63 78 2d 7a 31 2a 73 78 3b 7a 32 3d 70 79 2a 73 y+pz*cy;..y2=py*cx-z1*sx;z2=py*s
1340 78 2b 7a 31 2a 63 78 2b 7a 64 69 73 74 3b 0d 0a 7a 32 3d 7a 32 2a 2e 37 35 3b 0d 0a 7a 32 3d 69 x+z1*cx+zdist;..z2=z2*.75;..z2=i
1360 66 28 62 65 6c 6f 77 28 7a 32 2c 2e 30 32 29 2c 30 2c 31 2f 7a 32 29 3b 0d 0a 78 3d 78 31 2a 7a f(below(z2,.02),0,1/z2);..x=x1*z
1380 32 3b 79 3d 79 32 2a 7a 32 2a 61 66 2d 2e 31 3b 0d 0a 0d 0a 2f 2f 20 53 74 61 74 65 20 76 61 72 2;y=y2*z2*af-.1;....//.State.var
13a0 73 0d 0a 70 3d 70 2b 31 3b 00 a0 00 00 00 2f 2f 20 43 61 6d 65 72 61 0d 0a 7a 64 69 73 74 3d 72 s..p=p+1;.....//.Camera..zdist=r
13c0 65 67 30 30 3b 72 79 3d 72 65 67 30 31 3b 6f 79 3d 72 65 67 30 32 3b 72 78 3d 72 65 67 30 33 3b eg00;ry=reg01;oy=reg02;rx=reg03;
13e0 73 74 65 70 73 3d 72 65 67 30 39 3b 0d 0a 63 78 3d 63 6f 73 28 72 78 29 3b 73 78 3d 73 69 6e 28 steps=reg09;..cx=cos(rx);sx=sin(
1400 72 78 29 3b 0d 0a 63 79 3d 63 6f 73 28 72 79 29 3b 73 79 3d 73 69 6e 28 72 79 29 3b 0d 0a 0d 0a rx);..cy=cos(ry);sy=sin(ry);....
1420 2f 2f 20 53 74 61 74 65 20 76 61 72 73 0d 0a 63 73 3d 24 70 69 2a 2e 33 33 33 33 3b 61 66 3d 77 //.State.vars..cs=$pi*.3333;af=w
1440 2f 68 3b 70 3d 30 3b 70 79 3d 6f 79 3b 00 00 00 00 00 18 00 00 00 2f 2f 20 46 6c 6f 6f 72 0d 0a /h;p=0;py=oy;.........//.Floor..
1460 6e 3d 37 3b 72 64 64 3d 32 2e 31 39 3b 00 02 00 00 00 01 00 00 00 4f 4a ff 00 01 00 00 00 28 00 n=7;rdd=2.19;.........OJ......(.
1480 00 00 04 00 00 00 00 00 06 80 24 00 00 00 63 05 00 00 01 e3 02 00 00 2f 2f 20 53 65 74 20 75 70 ..........$...c........//.Set.up
14a0 20 63 6f 6c 75 6d 6e 0d 0a 71 3d 69 66 28 6f 64 64 2c 33 2d 70 2c 70 29 3b 0d 0a 61 3d 63 73 2a .column..q=if(odd,3-p,p);..a=cs*
14c0 28 71 2b 2e 35 2b 70 6f 66 66 29 3b 0d 0a 70 78 3d 63 6f 73 28 61 29 2a 2e 35 2b 63 70 78 3b 70 (q+.5+poff);..px=cos(a)*.5+cpx;p
14e0 7a 3d 73 69 6e 28 61 29 2a 2e 35 2b 63 70 7a 3b 0d 0a 0d 0a 2f 2f 20 54 72 61 6e 73 66 6f 72 6d z=sin(a)*.5+cpz;....//.Transform
1500 20 61 6e 64 20 70 72 6f 6a 65 63 74 0d 0a 78 31 3d 70 78 2a 63 79 2d 70 7a 2a 73 79 3b 7a 31 3d .and.project..x1=px*cy-pz*sy;z1=
1520 70 78 2a 73 79 2b 70 7a 2a 63 79 3b 0d 0a 79 32 3d 70 79 2a 63 78 2d 7a 31 2a 73 78 3b 7a 32 3d px*sy+pz*cy;..y2=py*cx-z1*sx;z2=
1540 70 79 2a 73 78 2b 7a 31 2a 63 78 2b 7a 64 69 73 74 3b 0d 0a 7a 32 3d 7a 32 2a 2e 37 35 3b 0d 0a py*sx+z1*cx+zdist;..z2=z2*.75;..
1560 7a 32 3d 69 66 28 62 65 6c 6f 77 28 7a 32 2c 2e 30 32 29 2c 30 2c 31 2f 7a 32 29 3b 0d 0a 78 3d z2=if(below(z2,.02),0,1/z2);..x=
1580 78 31 2a 7a 32 3b 79 3d 79 32 2a 7a 32 2a 61 66 2d 2e 31 3b 0d 0a 0d 0a 2f 2f 20 52 65 63 61 6c x1*z2;y=y2*z2*af-.1;....//.Recal
15a0 63 75 6c 61 74 65 20 66 6f 72 20 6c 69 6e 65 61 72 20 74 65 78 74 75 72 65 20 63 6f 6f 72 64 69 culate.for.linear.texture.coordi
15c0 6e 61 74 65 73 0d 0a 71 3d 69 66 28 6f 64 64 2c 32 2e 35 2d 65 71 75 61 6c 28 70 2c 32 29 2c 6d nates..q=if(odd,2.5-equal(p,2),m
15e0 61 78 28 2e 35 2c 70 2d 2e 35 29 29 2d 33 3b 0d 0a 61 3d 63 73 2a 28 71 2b 2e 35 2b 70 6f 66 66 ax(.5,p-.5))-3;..a=cs*(q+.5+poff
1600 29 3b 0d 0a 70 78 3d 63 6f 73 28 61 29 2a 2e 35 3b 70 7a 3d 73 69 6e 28 61 29 2a 2e 35 3b 0d 0a );..px=cos(a)*.5;pz=sin(a)*.5;..
1620 78 31 3d 70 78 2a 63 79 74 2d 70 7a 2a 73 79 74 2d 72 64 64 2a 33 2e 3b 7a 31 3d 70 78 2a 73 79 x1=px*cyt-pz*syt-rdd*3.;z1=px*sy
1640 74 2b 70 7a 2a 63 79 74 3b 0d 0a 79 32 3d 70 79 2a 63 78 2d 7a 31 2a 73 78 3b 7a 32 3d 70 79 2a t+pz*cyt;..y2=py*cx-z1*sx;z2=py*
1660 73 78 2b 7a 31 2a 63 78 2b 7a 64 69 73 74 3b 0d 0a 2f 2f 20 46 61 6b 65 20 65 6e 76 69 72 6f 6e sx+z1*cx+zdist;..//.Fake.environ
1680 6d 65 6e 74 20 6d 61 70 70 69 6e 67 0d 0a 61 3d 78 31 2a 32 37 2b 73 69 6e 28 79 32 2d 78 31 2a ment.mapping..a=x1*27+sin(y2-x1*
16a0 33 29 2a 32 2b 35 3b 62 3d 79 32 2a 2e 38 2d 78 31 2a 32 2e 31 2b 2e 35 3b 63 3d 63 6f 73 28 61 3)*2+5;b=y2*.8-x1*2.1+.5;c=cos(a
16c0 29 3b 0d 0a 72 65 64 3d 28 63 2b 73 69 6e 28 62 29 29 2a 2e 33 30 2b 2e 37 3b 0d 0a 67 72 65 65 );..red=(c+sin(b))*.30+.7;..gree
16e0 6e 3d 28 63 6f 73 28 61 2b 2e 32 29 2b 73 69 6e 28 62 2d 2e 31 29 2a 31 2e 32 29 2a 2e 33 30 2b n=(cos(a+.2)+sin(b-.1)*1.2)*.30+
1700 2e 35 3b 0d 0a 62 6c 75 65 3d 28 63 2b 73 69 6e 28 62 2b 2e 32 29 2a 31 2e 35 29 2a 2e 33 30 2b .5;..blue=(c+sin(b+.2)*1.5)*.30+
1720 2e 30 3b 0d 0a 0d 0a 2f 2f 20 53 74 61 74 65 20 76 61 72 73 0d 0a 70 3d 28 70 2b 31 29 25 33 3b .0;....//.State.vars..p=(p+1)%3;
1740 70 79 3d 70 79 2d 65 71 75 61 6c 28 70 2c 30 29 2a 72 65 73 70 3b 0d 0a 6f 64 64 3d 69 66 28 65 py=py-equal(p,0)*resp;..odd=if(e
1760 71 75 61 6c 28 70 2c 30 29 2c 62 6e 6f 74 28 6f 64 64 29 2c 6f 64 64 29 3b 00 3d 02 00 00 2f 2f qual(p,0),bnot(odd),odd);.=...//
1780 20 53 65 74 75 70 20 63 6f 6c 75 6d 6e 0d 0a 78 3d 70 6f 73 2a 24 70 69 2a 2e 33 33 33 3b 63 70 .Setup.column..x=pos*$pi*.333;cp
17a0 78 3d 72 64 64 2a 63 6f 73 28 78 29 3b 63 70 7a 3d 72 64 64 2a 73 69 6e 28 78 29 3b 0d 0a 0d 0a x=rdd*cos(x);cpz=rdd*sin(x);....
17c0 2f 2f 20 43 61 6d 65 72 61 0d 0a 7a 64 69 73 74 3d 72 65 67 30 30 3b 72 79 3d 72 65 67 30 31 3b //.Camera..zdist=reg00;ry=reg01;
17e0 6f 79 3d 72 65 67 30 32 3b 72 78 3d 72 65 67 30 33 3b 73 74 65 70 73 3d 72 65 67 30 39 3b 0d 0a oy=reg02;rx=reg03;steps=reg09;..
1800 63 79 74 3d 72 65 67 30 37 3b 73 79 74 3d 72 65 67 30 38 3b 0d 0a 72 6f 66 66 3d 28 28 28 28 61 cyt=reg07;syt=reg08;..roff=((((a
1820 62 73 28 33 2a 72 79 2f 24 70 69 2b 2e 35 29 7c 30 29 25 36 29 2a 73 69 67 6e 28 72 79 29 2b 31 bs(3*ry/$pi+.5)|0)%6)*sign(ry)+1
1840 32 29 25 36 29 3b 0d 0a 72 79 3d 72 79 2d 28 72 6f 66 66 2b 31 29 2a 24 70 69 2f 33 3b 0d 0a 63 2)%6);..ry=ry-(roff+1)*$pi/3;..c
1860 78 3d 63 6f 73 28 72 78 29 3b 73 78 3d 73 69 6e 28 72 78 29 3b 0d 0a 63 79 3d 63 6f 73 28 72 79 x=cos(rx);sx=sin(rx);..cy=cos(ry
1880 29 3b 73 79 3d 73 69 6e 28 72 79 29 3b 0d 0a 0d 0a 2f 2f 20 53 6f 75 6e 64 20 72 65 73 70 6f 6e );sy=sin(ry);....//.Sound.respon
18a0 73 65 0d 0a 6e 3d 69 66 28 65 71 75 61 6c 28 72 6f 66 66 2c 30 29 2c 72 65 67 32 31 2c 69 66 28 se..n=if(equal(roff,0),reg21,if(
18c0 65 71 75 61 6c 28 72 6f 66 66 2c 31 29 2c 72 65 67 32 33 2c 69 66 28 65 71 75 61 6c 28 72 6f 66 equal(roff,1),reg23,if(equal(rof
18e0 66 2c 32 29 2c 72 65 67 32 35 2c 69 66 28 65 71 75 61 6c 28 72 6f 66 66 2c 33 29 2c 72 65 67 32 f,2),reg25,if(equal(roff,3),reg2
1900 37 2c 69 66 28 65 71 75 61 6c 28 72 6f 66 66 2c 34 29 2c 72 65 67 31 37 2c 72 65 67 31 39 29 29 7,if(equal(roff,4),reg17,reg19))
1920 29 29 29 3b 0d 0a 6e 3d 28 28 6e 2a 73 74 65 70 73 29 7c 30 29 2a 33 2b 33 3b 72 65 73 70 3d 72 )));..n=((n*steps)|0)*3+3;resp=r
1940 65 67 33 30 3b 0d 0a 70 79 3d 6f 79 3b 0d 0a 0d 0a 2f 2f 20 53 74 61 74 65 20 76 61 72 73 0d 0a eg30;..py=oy;....//.State.vars..
1960 63 73 3d 24 70 69 2a 2e 33 33 33 33 3b 61 66 3d 77 2f 68 3b 70 3d 30 3b 0d 0a 70 6f 66 66 3d 28 cs=$pi*.3333;af=w/h;p=0;..poff=(
1980 2d 33 2a 72 79 2f 24 70 69 2b 2e 35 29 3b 0d 0a 70 6f 66 66 3d 28 61 62 73 28 70 6f 66 66 29 25 -3*ry/$pi+.5);..poff=(abs(poff)%
19a0 36 29 2a 73 69 67 6e 28 70 6f 66 66 29 2b 32 2e 35 3b 0d 0a 6f 64 64 3d 30 3b 00 00 00 00 00 22 6)*sign(poff)+2.5;..odd=0;....."
19c0 00 00 00 2f 2f 20 43 6f 6c 75 6d 6e 20 31 35 0d 0a 6e 3d 30 3b 72 64 64 3d 31 2e 37 33 3b 70 6f ...//.Column.15..n=0;rdd=1.73;po
19e0 73 3d 34 3b 00 02 00 00 00 01 00 00 00 ff ff ff 00 01 00 00 00 24 00 00 00 9f 04 00 00 01 4b 02 s=4;.................$........K.
1a00 00 00 2f 2f 20 53 65 74 20 75 70 20 63 6f 6c 75 6d 6e 0d 0a 70 7a 3d 28 69 2d 2e 35 29 2a 2e 38 ..//.Set.up.column..pz=(i-.5)*.8
1a20 36 36 3b 70 78 3d 28 70 2d 2e 35 29 2a 28 31 2d 61 62 73 28 69 2d 2e 35 29 29 3b 0d 0a 70 78 3d 66;px=(p-.5)*(1-abs(i-.5));..px=
1a40 70 78 2b 63 70 78 3b 70 7a 3d 70 7a 2b 63 70 7a 3b 0d 0a 0d 0a 2f 2f 20 54 72 61 6e 73 66 6f 72 px+cpx;pz=pz+cpz;....//.Transfor
1a60 6d 20 61 6e 64 20 70 72 6f 6a 65 63 74 0d 0a 78 31 3d 70 78 2a 63 79 2d 70 7a 2a 73 79 3b 7a 31 m.and.project..x1=px*cy-pz*sy;z1
1a80 3d 70 78 2a 73 79 2b 70 7a 2a 63 79 3b 0d 0a 79 32 3d 70 79 2a 63 78 2d 7a 31 2a 73 78 3b 7a 32 =px*sy+pz*cy;..y2=py*cx-z1*sx;z2
1aa0 3d 70 79 2a 73 78 2b 7a 31 2a 63 78 2b 7a 64 69 73 74 3b 0d 0a 7a 32 3d 7a 32 2a 2e 37 35 3b 20 =py*sx+z1*cx+zdist;..z2=z2*.75;.
1ac0 20 20 0d 0a 7a 32 3d 69 66 28 62 65 6c 6f 77 28 7a 32 2c 2e 30 32 29 2c 30 2c 31 2f 7a 32 29 3b ....z2=if(below(z2,.02),0,1/z2);
1ae0 0d 0a 78 3d 78 31 2a 7a 32 3b 79 3d 79 32 2a 7a 32 2a 61 66 2d 2e 31 3b 0d 0a 0d 0a 2f 2f 20 52 ..x=x1*z2;y=y2*z2*af-.1;....//.R
1b00 65 63 61 6c 63 75 6c 61 74 65 20 66 6f 72 20 6c 69 6e 65 61 72 20 74 65 78 74 75 72 65 20 63 6f ecalculate.for.linear.texture.co
1b20 6f 72 64 69 6e 61 74 65 73 0d 0a 70 78 3d 63 70 78 3b 0d 0a 78 31 3d 70 78 2a 63 79 2d 70 7a 2a ordinates..px=cpx;..x1=px*cy-pz*
1b40 73 79 3b 7a 31 3d 70 78 2a 73 79 2b 70 7a 2a 63 79 3b 0d 0a 79 32 3d 70 79 2a 63 78 2d 7a 31 2a sy;z1=px*sy+pz*cy;..y2=py*cx-z1*
1b60 73 78 3b 7a 32 3d 70 79 2a 73 78 2b 7a 31 2a 63 78 2b 7a 64 69 73 74 3b 0d 0a 2f 2f 20 46 61 6b sx;z2=py*sx+z1*cx+zdist;..//.Fak
1b80 65 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 20 6d 61 70 70 69 6e 67 0d 0a 61 3d 78 31 2b 73 69 6e 28 e.environment.mapping..a=x1+sin(
1ba0 79 32 2a 2e 37 2d 78 31 2a 2e 36 29 2a 32 2b 35 3b 62 3d 79 32 2a 2e 35 2d 78 31 2a 31 2e 31 2b y2*.7-x1*.6)*2+5;b=y2*.5-x1*1.1+
1bc0 2e 35 3b 63 3d 63 6f 73 28 61 29 3b 0d 0a 72 65 64 3d 28 63 2b 73 69 6e 28 62 29 29 2a 2e 33 30 .5;c=cos(a);..red=(c+sin(b))*.30
1be0 2b 2e 37 3b 0d 0a 67 72 65 65 6e 3d 28 63 6f 73 28 61 2b 2e 32 29 2b 73 69 6e 28 62 2d 2e 31 29 +.7;..green=(cos(a+.2)+sin(b-.1)
1c00 2a 31 2e 32 29 2a 2e 33 30 2b 2e 35 3b 0d 0a 62 6c 75 65 3d 28 63 2b 73 69 6e 28 62 2b 2e 32 29 *1.2)*.30+.5;..blue=(c+sin(b+.2)
1c20 2a 31 2e 35 29 2a 2e 33 30 2b 2e 30 3b 0d 0a 0d 0a 2f 2f 20 53 74 61 74 65 20 76 61 72 73 0d 0a *1.5)*.30+.0;....//.State.vars..
1c40 70 3d 62 6e 6f 74 28 70 29 3b 0d 0a 00 0d 02 00 00 2f 2f 20 53 65 74 75 70 20 63 6f 6c 75 6d 6e p=bnot(p);.......//.Setup.column
1c60 0d 0a 78 3d 70 6f 73 2a 24 70 69 2a 2e 33 33 33 3b 63 70 78 3d 72 64 64 2a 63 6f 73 28 78 29 3b ..x=pos*$pi*.333;cpx=rdd*cos(x);
1c80 63 70 7a 3d 72 64 64 2a 73 69 6e 28 78 29 3b 0d 0a 0d 0a 2f 2f 20 43 61 6d 65 72 61 0d 0a 7a 64 cpz=rdd*sin(x);....//.Camera..zd
1ca0 69 73 74 3d 72 65 67 30 30 3b 72 79 3d 72 65 67 30 31 3b 6f 79 3d 72 65 67 30 32 3b 72 78 3d 72 ist=reg00;ry=reg01;oy=reg02;rx=r
1cc0 65 67 30 33 3b 73 74 65 70 73 3d 72 65 67 30 39 3b 0d 0a 63 79 74 3d 72 65 67 30 37 3b 73 79 74 eg03;steps=reg09;..cyt=reg07;syt
1ce0 3d 72 65 67 30 38 3b 0d 0a 72 6f 66 66 3d 28 28 28 28 61 62 73 28 33 2a 72 79 2f 24 70 69 2b 2e =reg08;..roff=((((abs(3*ry/$pi+.
1d00 35 29 7c 30 29 25 36 29 2a 73 69 67 6e 28 72 79 29 2b 31 32 29 25 36 29 3b 0d 0a 72 79 3d 72 79 5)|0)%6)*sign(ry)+12)%6);..ry=ry
1d20 2d 28 72 6f 66 66 2b 31 29 2a 24 70 69 2f 33 3b 0d 0a 63 78 3d 63 6f 73 28 72 78 29 3b 73 78 3d -(roff+1)*$pi/3;..cx=cos(rx);sx=
1d40 73 69 6e 28 72 78 29 3b 0d 0a 63 79 3d 63 6f 73 28 72 79 29 3b 73 79 3d 73 69 6e 28 72 79 29 3b sin(rx);..cy=cos(ry);sy=sin(ry);
1d60 0d 0a 0d 0a 2f 2f 20 53 6f 75 6e 64 20 72 65 73 70 6f 6e 73 65 0d 0a 6e 3d 69 66 28 65 71 75 61 ....//.Sound.response..n=if(equa
1d80 6c 28 72 6f 66 66 2c 30 29 2c 72 65 67 32 31 2c 69 66 28 65 71 75 61 6c 28 72 6f 66 66 2c 31 29 l(roff,0),reg21,if(equal(roff,1)
1da0 2c 72 65 67 32 33 2c 69 66 28 65 71 75 61 6c 28 72 6f 66 66 2c 32 29 2c 72 65 67 32 35 2c 69 66 ,reg23,if(equal(roff,2),reg25,if
1dc0 28 65 71 75 61 6c 28 72 6f 66 66 2c 33 29 2c 72 65 67 32 37 2c 69 66 28 65 71 75 61 6c 28 72 6f (equal(roff,3),reg27,if(equal(ro
1de0 66 66 2c 34 29 2c 72 65 67 31 37 2c 72 65 67 31 39 29 29 29 29 29 3b 0d 0a 6e 3d 28 28 6e 2a 73 ff,4),reg17,reg19)))));..n=((n*s
1e00 74 65 70 73 29 7c 30 29 3b 72 65 73 70 3d 72 65 67 33 30 3b 0d 0a 70 79 3d 6f 79 2d 6e 2a 72 65 teps)|0);resp=reg30;..py=oy-n*re
1e20 73 70 3b 0d 0a 6e 3d 32 35 2a 77 2f 33 32 30 3b 0d 0a 0d 0a 0d 0a 2f 2f 20 53 74 61 74 65 20 76 sp;..n=25*w/320;......//.State.v
1e40 61 72 73 0d 0a 63 73 3d 24 70 69 2a 2e 33 33 33 33 3b 61 66 3d 77 2f 68 3b 70 3d 30 3b 00 00 00 ars..cs=$pi*.3333;af=w/h;p=0;...
1e60 00 00 26 00 00 00 2f 2f 20 43 6f 6c 75 6d 6e 20 31 35 20 54 6f 70 0d 0a 6e 3d 30 3b 72 64 64 3d ..&...//.Column.15.Top..n=0;rdd=
1e80 31 2e 37 33 3b 70 6f 73 3d 34 3b 00 02 00 00 00 01 00 00 00 ff ff ff 00 01 00 00 00 24 00 00 00 1.73;pos=4;.................$...
1ea0 63 05 00 00 01 e3 02 00 00 2f 2f 20 53 65 74 20 75 70 20 63 6f 6c 75 6d 6e 0d 0a 71 3d 69 66 28 c........//.Set.up.column..q=if(
1ec0 6f 64 64 2c 33 2d 70 2c 70 29 3b 0d 0a 61 3d 63 73 2a 28 71 2b 2e 35 2b 70 6f 66 66 29 3b 0d 0a odd,3-p,p);..a=cs*(q+.5+poff);..
1ee0 70 78 3d 63 6f 73 28 61 29 2a 2e 35 2b 63 70 78 3b 70 7a 3d 73 69 6e 28 61 29 2a 2e 35 2b 63 70 px=cos(a)*.5+cpx;pz=sin(a)*.5+cp
1f00 7a 3b 0d 0a 0d 0a 2f 2f 20 54 72 61 6e 73 66 6f 72 6d 20 61 6e 64 20 70 72 6f 6a 65 63 74 0d 0a z;....//.Transform.and.project..
1f20 78 31 3d 70 78 2a 63 79 2d 70 7a 2a 73 79 3b 7a 31 3d 70 78 2a 73 79 2b 70 7a 2a 63 79 3b 0d 0a x1=px*cy-pz*sy;z1=px*sy+pz*cy;..
1f40 79 32 3d 70 79 2a 63 78 2d 7a 31 2a 73 78 3b 7a 32 3d 70 79 2a 73 78 2b 7a 31 2a 63 78 2b 7a 64 y2=py*cx-z1*sx;z2=py*sx+z1*cx+zd
1f60 69 73 74 3b 0d 0a 7a 32 3d 7a 32 2a 2e 37 35 3b 0d 0a 7a 32 3d 69 66 28 62 65 6c 6f 77 28 7a 32 ist;..z2=z2*.75;..z2=if(below(z2
1f80 2c 2e 30 32 29 2c 30 2c 31 2f 7a 32 29 3b 0d 0a 78 3d 78 31 2a 7a 32 3b 79 3d 79 32 2a 7a 32 2a ,.02),0,1/z2);..x=x1*z2;y=y2*z2*
1fa0 61 66 2d 2e 31 3b 0d 0a 0d 0a 2f 2f 20 52 65 63 61 6c 63 75 6c 61 74 65 20 66 6f 72 20 6c 69 6e af-.1;....//.Recalculate.for.lin
1fc0 65 61 72 20 74 65 78 74 75 72 65 20 63 6f 6f 72 64 69 6e 61 74 65 73 0d 0a 71 3d 69 66 28 6f 64 ear.texture.coordinates..q=if(od
1fe0 64 2c 32 2e 35 2d 65 71 75 61 6c 28 70 2c 32 29 2c 6d 61 78 28 2e 35 2c 70 2d 2e 35 29 29 2d 33 d,2.5-equal(p,2),max(.5,p-.5))-3
2000 3b 0d 0a 61 3d 63 73 2a 28 71 2b 2e 35 2b 70 6f 66 66 29 3b 0d 0a 70 78 3d 63 6f 73 28 61 29 2a ;..a=cs*(q+.5+poff);..px=cos(a)*
2020 2e 35 3b 70 7a 3d 73 69 6e 28 61 29 2a 2e 35 3b 0d 0a 78 31 3d 70 78 2a 63 79 74 2d 70 7a 2a 73 .5;pz=sin(a)*.5;..x1=px*cyt-pz*s
2040 79 74 2d 72 64 64 2a 33 2e 3b 7a 31 3d 70 78 2a 73 79 74 2b 70 7a 2a 63 79 74 3b 0d 0a 79 32 3d yt-rdd*3.;z1=px*syt+pz*cyt;..y2=
2060 70 79 2a 63 78 2d 7a 31 2a 73 78 3b 7a 32 3d 70 79 2a 73 78 2b 7a 31 2a 63 78 2b 7a 64 69 73 74 py*cx-z1*sx;z2=py*sx+z1*cx+zdist
2080 3b 0d 0a 2f 2f 20 46 61 6b 65 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 20 6d 61 70 70 69 6e 67 0d 0a ;..//.Fake.environment.mapping..
20a0 61 3d 78 31 2a 32 37 2b 73 69 6e 28 79 32 2d 78 31 2a 33 29 2a 32 2b 35 3b 62 3d 79 32 2a 2e 38 a=x1*27+sin(y2-x1*3)*2+5;b=y2*.8
20c0 2d 78 31 2a 32 2e 31 2b 2e 35 3b 63 3d 63 6f 73 28 61 29 3b 0d 0a 72 65 64 3d 28 63 2b 73 69 6e -x1*2.1+.5;c=cos(a);..red=(c+sin
20e0 28 62 29 29 2a 2e 33 30 2b 2e 37 3b 0d 0a 67 72 65 65 6e 3d 28 63 6f 73 28 61 2b 2e 32 29 2b 73 (b))*.30+.7;..green=(cos(a+.2)+s
2100 69 6e 28 62 2d 2e 31 29 2a 31 2e 32 29 2a 2e 33 30 2b 2e 35 3b 0d 0a 62 6c 75 65 3d 28 63 2b 73 in(b-.1)*1.2)*.30+.5;..blue=(c+s
2120 69 6e 28 62 2b 2e 32 29 2a 31 2e 35 29 2a 2e 33 30 2b 2e 30 3b 0d 0a 0d 0a 2f 2f 20 53 74 61 74 in(b+.2)*1.5)*.30+.0;....//.Stat
2140 65 20 76 61 72 73 0d 0a 70 3d 28 70 2b 31 29 25 33 3b 70 79 3d 70 79 2d 65 71 75 61 6c 28 70 2c e.vars..p=(p+1)%3;py=py-equal(p,
2160 30 29 2a 72 65 73 70 3b 0d 0a 6f 64 64 3d 69 66 28 65 71 75 61 6c 28 70 2c 30 29 2c 62 6e 6f 74 0)*resp;..odd=if(equal(p,0),bnot
2180 28 6f 64 64 29 2c 6f 64 64 29 3b 00 3d 02 00 00 2f 2f 20 53 65 74 75 70 20 63 6f 6c 75 6d 6e 0d (odd),odd);.=...//.Setup.column.
21a0 0a 78 3d 70 6f 73 2a 24 70 69 2a 2e 33 33 33 3b 63 70 78 3d 72 64 64 2a 63 6f 73 28 78 29 3b 63 .x=pos*$pi*.333;cpx=rdd*cos(x);c
21c0 70 7a 3d 72 64 64 2a 73 69 6e 28 78 29 3b 0d 0a 0d 0a 2f 2f 20 43 61 6d 65 72 61 0d 0a 7a 64 69 pz=rdd*sin(x);....//.Camera..zdi
21e0 73 74 3d 72 65 67 30 30 3b 72 79 3d 72 65 67 30 31 3b 6f 79 3d 72 65 67 30 32 3b 72 78 3d 72 65 st=reg00;ry=reg01;oy=reg02;rx=re
2200 67 30 33 3b 73 74 65 70 73 3d 72 65 67 30 39 3b 0d 0a 63 79 74 3d 72 65 67 30 37 3b 73 79 74 3d g03;steps=reg09;..cyt=reg07;syt=
2220 72 65 67 30 38 3b 0d 0a 72 6f 66 66 3d 28 28 28 28 61 62 73 28 33 2a 72 79 2f 24 70 69 2b 2e 35 reg08;..roff=((((abs(3*ry/$pi+.5
2240 29 7c 30 29 25 36 29 2a 73 69 67 6e 28 72 79 29 2b 31 32 29 25 36 29 3b 0d 0a 72 79 3d 72 79 2d )|0)%6)*sign(ry)+12)%6);..ry=ry-
2260 28 72 6f 66 66 2b 31 29 2a 24 70 69 2f 33 3b 0d 0a 63 78 3d 63 6f 73 28 72 78 29 3b 73 78 3d 73 (roff+1)*$pi/3;..cx=cos(rx);sx=s
2280 69 6e 28 72 78 29 3b 0d 0a 63 79 3d 63 6f 73 28 72 79 29 3b 73 79 3d 73 69 6e 28 72 79 29 3b 0d in(rx);..cy=cos(ry);sy=sin(ry);.
22a0 0a 0d 0a 2f 2f 20 53 6f 75 6e 64 20 72 65 73 70 6f 6e 73 65 0d 0a 6e 3d 69 66 28 65 71 75 61 6c ...//.Sound.response..n=if(equal
22c0 28 72 6f 66 66 2c 30 29 2c 72 65 67 32 33 2c 69 66 28 65 71 75 61 6c 28 72 6f 66 66 2c 31 29 2c (roff,0),reg23,if(equal(roff,1),
22e0 72 65 67 32 35 2c 69 66 28 65 71 75 61 6c 28 72 6f 66 66 2c 32 29 2c 72 65 67 32 37 2c 69 66 28 reg25,if(equal(roff,2),reg27,if(
2300 65 71 75 61 6c 28 72 6f 66 66 2c 33 29 2c 72 65 67 31 37 2c 69 66 28 65 71 75 61 6c 28 72 6f 66 equal(roff,3),reg17,if(equal(rof
2320 66 2c 34 29 2c 72 65 67 31 39 2c 72 65 67 32 31 29 29 29 29 29 3b 0d 0a 6e 3d 28 28 6e 2a 73 74 f,4),reg19,reg21)))));..n=((n*st
2340 65 70 73 29 7c 30 29 2a 33 2b 33 3b 72 65 73 70 3d 72 65 67 33 30 3b 0d 0a 70 79 3d 6f 79 3b 0d eps)|0)*3+3;resp=reg30;..py=oy;.
2360 0a 0d 0a 2f 2f 20 53 74 61 74 65 20 76 61 72 73 0d 0a 63 73 3d 24 70 69 2a 2e 33 33 33 33 3b 61 ...//.State.vars..cs=$pi*.3333;a
2380 66 3d 77 2f 68 3b 70 3d 30 3b 0d 0a 70 6f 66 66 3d 28 2d 33 2a 72 79 2f 24 70 69 2b 2e 35 29 3b f=w/h;p=0;..poff=(-3*ry/$pi+.5);
23a0 0d 0a 70 6f 66 66 3d 28 61 62 73 28 70 6f 66 66 29 25 36 29 2a 73 69 67 6e 28 70 6f 66 66 29 2b ..poff=(abs(poff)%6)*sign(poff)+
23c0 32 2e 35 3b 0d 0a 6f 64 64 3d 30 3b 00 00 00 00 00 22 00 00 00 2f 2f 20 43 6f 6c 75 6d 6e 20 31 2.5;..odd=0;....."...//.Column.1
23e0 33 0d 0a 6e 3d 30 3b 72 64 64 3d 31 2e 37 33 3b 70 6f 73 3d 33 3b 00 02 00 00 00 01 00 00 00 ff 3..n=0;rdd=1.73;pos=3;..........
2400 ff ff 00 01 00 00 00 24 00 00 00 9f 04 00 00 01 4b 02 00 00 2f 2f 20 53 65 74 20 75 70 20 63 6f .......$........K...//.Set.up.co
2420 6c 75 6d 6e 0d 0a 70 7a 3d 28 69 2d 2e 35 29 2a 2e 38 36 36 3b 70 78 3d 28 70 2d 2e 35 29 2a 28 lumn..pz=(i-.5)*.866;px=(p-.5)*(
2440 31 2d 61 62 73 28 69 2d 2e 35 29 29 3b 0d 0a 70 78 3d 70 78 2b 63 70 78 3b 70 7a 3d 70 7a 2b 63 1-abs(i-.5));..px=px+cpx;pz=pz+c
2460 70 7a 3b 0d 0a 0d 0a 2f 2f 20 54 72 61 6e 73 66 6f 72 6d 20 61 6e 64 20 70 72 6f 6a 65 63 74 0d pz;....//.Transform.and.project.
2480 0a 78 31 3d 70 78 2a 63 79 2d 70 7a 2a 73 79 3b 7a 31 3d 70 78 2a 73 79 2b 70 7a 2a 63 79 3b 0d .x1=px*cy-pz*sy;z1=px*sy+pz*cy;.
24a0 0a 79 32 3d 70 79 2a 63 78 2d 7a 31 2a 73 78 3b 7a 32 3d 70 79 2a 73 78 2b 7a 31 2a 63 78 2b 7a .y2=py*cx-z1*sx;z2=py*sx+z1*cx+z
24c0 64 69 73 74 3b 0d 0a 7a 32 3d 7a 32 2a 2e 37 35 3b 20 20 20 0d 0a 7a 32 3d 69 66 28 62 65 6c 6f dist;..z2=z2*.75;.....z2=if(belo
24e0 77 28 7a 32 2c 2e 30 32 29 2c 30 2c 31 2f 7a 32 29 3b 0d 0a 78 3d 78 31 2a 7a 32 3b 79 3d 79 32 w(z2,.02),0,1/z2);..x=x1*z2;y=y2
2500 2a 7a 32 2a 61 66 2d 2e 31 3b 0d 0a 0d 0a 2f 2f 20 52 65 63 61 6c 63 75 6c 61 74 65 20 66 6f 72 *z2*af-.1;....//.Recalculate.for
2520 20 6c 69 6e 65 61 72 20 74 65 78 74 75 72 65 20 63 6f 6f 72 64 69 6e 61 74 65 73 0d 0a 70 78 3d .linear.texture.coordinates..px=
2540 63 70 78 3b 0d 0a 78 31 3d 70 78 2a 63 79 2d 70 7a 2a 73 79 3b 7a 31 3d 70 78 2a 73 79 2b 70 7a cpx;..x1=px*cy-pz*sy;z1=px*sy+pz
2560 2a 63 79 3b 0d 0a 79 32 3d 70 79 2a 63 78 2d 7a 31 2a 73 78 3b 7a 32 3d 70 79 2a 73 78 2b 7a 31 *cy;..y2=py*cx-z1*sx;z2=py*sx+z1
2580 2a 63 78 2b 7a 64 69 73 74 3b 0d 0a 2f 2f 20 46 61 6b 65 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 20 *cx+zdist;..//.Fake.environment.
25a0 6d 61 70 70 69 6e 67 0d 0a 61 3d 78 31 2b 73 69 6e 28 79 32 2a 2e 37 2d 78 31 2a 2e 36 29 2a 32 mapping..a=x1+sin(y2*.7-x1*.6)*2
25c0 2b 35 3b 62 3d 79 32 2a 2e 35 2d 78 31 2a 31 2e 31 2b 2e 35 3b 63 3d 63 6f 73 28 61 29 3b 0d 0a +5;b=y2*.5-x1*1.1+.5;c=cos(a);..
25e0 72 65 64 3d 28 63 2b 73 69 6e 28 62 29 29 2a 2e 33 30 2b 2e 37 3b 0d 0a 67 72 65 65 6e 3d 28 63 red=(c+sin(b))*.30+.7;..green=(c
2600 6f 73 28 61 2b 2e 32 29 2b 73 69 6e 28 62 2d 2e 31 29 2a 31 2e 32 29 2a 2e 33 30 2b 2e 35 3b 0d os(a+.2)+sin(b-.1)*1.2)*.30+.5;.
2620 0a 62 6c 75 65 3d 28 63 2b 73 69 6e 28 62 2b 2e 32 29 2a 31 2e 35 29 2a 2e 33 30 2b 2e 30 3b 0d .blue=(c+sin(b+.2)*1.5)*.30+.0;.
2640 0a 0d 0a 2f 2f 20 53 74 61 74 65 20 76 61 72 73 0d 0a 70 3d 62 6e 6f 74 28 70 29 3b 0d 0a 00 0d ...//.State.vars..p=bnot(p);....
2660 02 00 00 2f 2f 20 53 65 74 75 70 20 63 6f 6c 75 6d 6e 0d 0a 78 3d 70 6f 73 2a 24 70 69 2a 2e 33 ...//.Setup.column..x=pos*$pi*.3
2680 33 33 3b 63 70 78 3d 72 64 64 2a 63 6f 73 28 78 29 3b 63 70 7a 3d 72 64 64 2a 73 69 6e 28 78 29 33;cpx=rdd*cos(x);cpz=rdd*sin(x)
26a0 3b 0d 0a 0d 0a 2f 2f 20 43 61 6d 65 72 61 0d 0a 7a 64 69 73 74 3d 72 65 67 30 30 3b 72 79 3d 72 ;....//.Camera..zdist=reg00;ry=r
26c0 65 67 30 31 3b 6f 79 3d 72 65 67 30 32 3b 72 78 3d 72 65 67 30 33 3b 73 74 65 70 73 3d 72 65 67 eg01;oy=reg02;rx=reg03;steps=reg
26e0 30 39 3b 0d 0a 63 79 74 3d 72 65 67 30 37 3b 73 79 74 3d 72 65 67 30 38 3b 0d 0a 72 6f 66 66 3d 09;..cyt=reg07;syt=reg08;..roff=
2700 28 28 28 28 61 62 73 28 33 2a 72 79 2f 24 70 69 2b 2e 35 29 7c 30 29 25 36 29 2a 73 69 67 6e 28 ((((abs(3*ry/$pi+.5)|0)%6)*sign(
2720 72 79 29 2b 31 32 29 25 36 29 3b 0d 0a 72 79 3d 72 79 2d 28 72 6f 66 66 2b 31 29 2a 24 70 69 2f ry)+12)%6);..ry=ry-(roff+1)*$pi/
2740 33 3b 0d 0a 63 78 3d 63 6f 73 28 72 78 29 3b 73 78 3d 73 69 6e 28 72 78 29 3b 0d 0a 63 79 3d 63 3;..cx=cos(rx);sx=sin(rx);..cy=c
2760 6f 73 28 72 79 29 3b 73 79 3d 73 69 6e 28 72 79 29 3b 0d 0a 0d 0a 2f 2f 20 53 6f 75 6e 64 20 72 os(ry);sy=sin(ry);....//.Sound.r
2780 65 73 70 6f 6e 73 65 0d 0a 6e 3d 69 66 28 65 71 75 61 6c 28 72 6f 66 66 2c 30 29 2c 72 65 67 32 esponse..n=if(equal(roff,0),reg2
27a0 33 2c 69 66 28 65 71 75 61 6c 28 72 6f 66 66 2c 31 29 2c 72 65 67 32 35 2c 69 66 28 65 71 75 61 3,if(equal(roff,1),reg25,if(equa
27c0 6c 28 72 6f 66 66 2c 32 29 2c 72 65 67 32 37 2c 69 66 28 65 71 75 61 6c 28 72 6f 66 66 2c 33 29 l(roff,2),reg27,if(equal(roff,3)
27e0 2c 72 65 67 31 37 2c 69 66 28 65 71 75 61 6c 28 72 6f 66 66 2c 34 29 2c 72 65 67 31 39 2c 72 65 ,reg17,if(equal(roff,4),reg19,re
2800 67 32 31 29 29 29 29 29 3b 0d 0a 6e 3d 28 28 6e 2a 73 74 65 70 73 29 7c 30 29 3b 72 65 73 70 3d g21)))));..n=((n*steps)|0);resp=
2820 72 65 67 33 30 3b 0d 0a 70 79 3d 6f 79 2d 6e 2a 72 65 73 70 3b 0d 0a 6e 3d 32 35 2a 77 2f 33 32 reg30;..py=oy-n*resp;..n=25*w/32
2840 30 3b 0d 0a 0d 0a 0d 0a 2f 2f 20 53 74 61 74 65 20 76 61 72 73 0d 0a 63 73 3d 24 70 69 2a 2e 33 0;......//.State.vars..cs=$pi*.3
2860 33 33 33 3b 61 66 3d 77 2f 68 3b 70 3d 30 3b 00 00 00 00 00 26 00 00 00 2f 2f 20 43 6f 6c 75 6d 333;af=w/h;p=0;.....&...//.Colum
2880 6e 20 31 33 20 54 6f 70 0d 0a 6e 3d 30 3b 72 64 64 3d 31 2e 37 33 3b 70 6f 73 3d 33 3b 00 02 00 n.13.Top..n=0;rdd=1.73;pos=3;...
28a0 00 00 01 00 00 00 ff ff ff 00 01 00 00 00 24 00 00 00 63 05 00 00 01 e3 02 00 00 2f 2f 20 53 65 ..............$...c........//.Se
28c0 74 20 75 70 20 63 6f 6c 75 6d 6e 0d 0a 71 3d 69 66 28 6f 64 64 2c 33 2d 70 2c 70 29 3b 0d 0a 61 t.up.column..q=if(odd,3-p,p);..a
28e0 3d 63 73 2a 28 71 2b 2e 35 2b 70 6f 66 66 29 3b 0d 0a 70 78 3d 63 6f 73 28 61 29 2a 2e 35 2b 63 =cs*(q+.5+poff);..px=cos(a)*.5+c
2900 70 78 3b 70 7a 3d 73 69 6e 28 61 29 2a 2e 35 2b 63 70 7a 3b 0d 0a 0d 0a 2f 2f 20 54 72 61 6e 73 px;pz=sin(a)*.5+cpz;....//.Trans
2920 66 6f 72 6d 20 61 6e 64 20 70 72 6f 6a 65 63 74 0d 0a 78 31 3d 70 78 2a 63 79 2d 70 7a 2a 73 79 form.and.project..x1=px*cy-pz*sy
2940 3b 7a 31 3d 70 78 2a 73 79 2b 70 7a 2a 63 79 3b 0d 0a 79 32 3d 70 79 2a 63 78 2d 7a 31 2a 73 78 ;z1=px*sy+pz*cy;..y2=py*cx-z1*sx
2960 3b 7a 32 3d 70 79 2a 73 78 2b 7a 31 2a 63 78 2b 7a 64 69 73 74 3b 0d 0a 7a 32 3d 7a 32 2a 2e 37 ;z2=py*sx+z1*cx+zdist;..z2=z2*.7
2980 35 3b 0d 0a 7a 32 3d 69 66 28 62 65 6c 6f 77 28 7a 32 2c 2e 30 32 29 2c 30 2c 31 2f 7a 32 29 3b 5;..z2=if(below(z2,.02),0,1/z2);
29a0 0d 0a 78 3d 78 31 2a 7a 32 3b 79 3d 79 32 2a 7a 32 2a 61 66 2d 2e 31 3b 0d 0a 0d 0a 2f 2f 20 52 ..x=x1*z2;y=y2*z2*af-.1;....//.R
29c0 65 63 61 6c 63 75 6c 61 74 65 20 66 6f 72 20 6c 69 6e 65 61 72 20 74 65 78 74 75 72 65 20 63 6f ecalculate.for.linear.texture.co
29e0 6f 72 64 69 6e 61 74 65 73 0d 0a 71 3d 69 66 28 6f 64 64 2c 32 2e 35 2d 65 71 75 61 6c 28 70 2c ordinates..q=if(odd,2.5-equal(p,
2a00 32 29 2c 6d 61 78 28 2e 35 2c 70 2d 2e 35 29 29 2d 32 3b 0d 0a 61 3d 63 73 2a 28 71 2b 2e 35 2b 2),max(.5,p-.5))-2;..a=cs*(q+.5+
2a20 70 6f 66 66 29 3b 0d 0a 70 78 3d 63 6f 73 28 61 29 2a 2e 35 3b 70 7a 3d 73 69 6e 28 61 29 2a 2e poff);..px=cos(a)*.5;pz=sin(a)*.
2a40 35 3b 0d 0a 78 31 3d 70 78 2a 63 79 74 2d 70 7a 2a 73 79 74 2d 72 64 64 2a 33 2e 3b 7a 31 3d 70 5;..x1=px*cyt-pz*syt-rdd*3.;z1=p
2a60 78 2a 73 79 74 2b 70 7a 2a 63 79 74 3b 0d 0a 79 32 3d 70 79 2a 63 78 2d 7a 31 2a 73 78 3b 7a 32 x*syt+pz*cyt;..y2=py*cx-z1*sx;z2
2a80 3d 70 79 2a 73 78 2b 7a 31 2a 63 78 2b 7a 64 69 73 74 3b 0d 0a 2f 2f 20 46 61 6b 65 20 65 6e 76 =py*sx+z1*cx+zdist;..//.Fake.env
2aa0 69 72 6f 6e 6d 65 6e 74 20 6d 61 70 70 69 6e 67 0d 0a 61 3d 78 31 2a 32 37 2b 73 69 6e 28 79 32 ironment.mapping..a=x1*27+sin(y2
2ac0 2d 78 31 2a 33 29 2a 32 2b 35 3b 62 3d 79 32 2a 2e 38 2d 78 31 2a 32 2e 31 2b 2e 35 3b 63 3d 63 -x1*3)*2+5;b=y2*.8-x1*2.1+.5;c=c
2ae0 6f 73 28 61 29 3b 0d 0a 72 65 64 3d 28 63 2b 73 69 6e 28 62 29 29 2a 2e 33 30 2b 2e 37 3b 0d 0a os(a);..red=(c+sin(b))*.30+.7;..
2b00 67 72 65 65 6e 3d 28 63 6f 73 28 61 2b 2e 32 29 2b 73 69 6e 28 62 2d 2e 31 29 2a 31 2e 32 29 2a green=(cos(a+.2)+sin(b-.1)*1.2)*
2b20 2e 33 30 2b 2e 35 3b 0d 0a 62 6c 75 65 3d 28 63 2b 73 69 6e 28 62 2b 2e 32 29 2a 31 2e 35 29 2a .30+.5;..blue=(c+sin(b+.2)*1.5)*
2b40 2e 33 30 2b 2e 30 3b 0d 0a 0d 0a 2f 2f 20 53 74 61 74 65 20 76 61 72 73 0d 0a 70 3d 28 70 2b 31 .30+.0;....//.State.vars..p=(p+1
2b60 29 25 33 3b 70 79 3d 70 79 2d 65 71 75 61 6c 28 70 2c 30 29 2a 72 65 73 70 3b 0d 0a 6f 64 64 3d )%3;py=py-equal(p,0)*resp;..odd=
2b80 69 66 28 65 71 75 61 6c 28 70 2c 30 29 2c 62 6e 6f 74 28 6f 64 64 29 2c 6f 64 64 29 3b 00 3d 02 if(equal(p,0),bnot(odd),odd);.=.
2ba0 00 00 2f 2f 20 53 65 74 75 70 20 63 6f 6c 75 6d 6e 0d 0a 78 3d 70 6f 73 2a 24 70 69 2a 2e 33 33 ..//.Setup.column..x=pos*$pi*.33
2bc0 33 3b 63 70 78 3d 72 64 64 2a 63 6f 73 28 78 29 3b 63 70 7a 3d 72 64 64 2a 73 69 6e 28 78 29 3b 3;cpx=rdd*cos(x);cpz=rdd*sin(x);
2be0 0d 0a 0d 0a 2f 2f 20 43 61 6d 65 72 61 0d 0a 7a 64 69 73 74 3d 72 65 67 30 30 3b 72 79 3d 72 65 ....//.Camera..zdist=reg00;ry=re
2c00 67 30 31 3b 6f 79 3d 72 65 67 30 32 3b 72 78 3d 72 65 67 30 33 3b 73 74 65 70 73 3d 72 65 67 30 g01;oy=reg02;rx=reg03;steps=reg0
2c20 39 3b 0d 0a 63 79 74 3d 72 65 67 30 37 3b 73 79 74 3d 72 65 67 30 38 3b 0d 0a 72 6f 66 66 3d 28 9;..cyt=reg07;syt=reg08;..roff=(
2c40 28 28 28 61 62 73 28 33 2a 72 79 2f 24 70 69 2b 2e 35 29 7c 30 29 25 36 29 2a 73 69 67 6e 28 72 (((abs(3*ry/$pi+.5)|0)%6)*sign(r
2c60 79 29 2b 31 32 29 25 36 29 3b 0d 0a 72 79 3d 72 79 2d 28 72 6f 66 66 2b 31 29 2a 24 70 69 2f 33 y)+12)%6);..ry=ry-(roff+1)*$pi/3
2c80 3b 0d 0a 63 78 3d 63 6f 73 28 72 78 29 3b 73 78 3d 73 69 6e 28 72 78 29 3b 0d 0a 63 79 3d 63 6f ;..cx=cos(rx);sx=sin(rx);..cy=co
2ca0 73 28 72 79 29 3b 73 79 3d 73 69 6e 28 72 79 29 3b 0d 0a 0d 0a 2f 2f 20 53 6f 75 6e 64 20 72 65 s(ry);sy=sin(ry);....//.Sound.re
2cc0 73 70 6f 6e 73 65 0d 0a 6e 3d 69 66 28 65 71 75 61 6c 28 72 6f 66 66 2c 30 29 2c 72 65 67 32 35 sponse..n=if(equal(roff,0),reg25
2ce0 2c 69 66 28 65 71 75 61 6c 28 72 6f 66 66 2c 31 29 2c 72 65 67 32 37 2c 69 66 28 65 71 75 61 6c ,if(equal(roff,1),reg27,if(equal
2d00 28 72 6f 66 66 2c 32 29 2c 72 65 67 31 37 2c 69 66 28 65 71 75 61 6c 28 72 6f 66 66 2c 33 29 2c (roff,2),reg17,if(equal(roff,3),
2d20 72 65 67 31 39 2c 69 66 28 65 71 75 61 6c 28 72 6f 66 66 2c 34 29 2c 72 65 67 32 31 2c 72 65 67 reg19,if(equal(roff,4),reg21,reg
2d40 32 33 29 29 29 29 29 3b 0d 0a 6e 3d 28 28 6e 2a 73 74 65 70 73 29 7c 30 29 2a 33 2b 33 3b 72 65 23)))));..n=((n*steps)|0)*3+3;re
2d60 73 70 3d 72 65 67 33 30 3b 0d 0a 70 79 3d 6f 79 3b 0d 0a 0d 0a 2f 2f 20 53 74 61 74 65 20 76 61 sp=reg30;..py=oy;....//.State.va
2d80 72 73 0d 0a 63 73 3d 24 70 69 2a 2e 33 33 33 33 3b 61 66 3d 77 2f 68 3b 70 3d 30 3b 0d 0a 70 6f rs..cs=$pi*.3333;af=w/h;p=0;..po
2da0 66 66 3d 28 2d 33 2a 72 79 2f 24 70 69 2d 2e 35 29 3b 0d 0a 70 6f 66 66 3d 28 61 62 73 28 70 6f ff=(-3*ry/$pi-.5);..poff=(abs(po
2dc0 66 66 29 25 36 29 2a 73 69 67 6e 28 70 6f 66 66 29 2b 32 2e 35 3b 0d 0a 6f 64 64 3d 30 3b 00 00 ff)%6)*sign(poff)+2.5;..odd=0;..
2de0 00 00 00 22 00 00 00 2f 2f 20 43 6f 6c 75 6d 6e 20 31 31 0d 0a 6e 3d 30 3b 72 64 64 3d 31 2e 37 ..."...//.Column.11..n=0;rdd=1.7
2e00 33 3b 70 6f 73 3d 32 3b 00 02 00 00 00 01 00 00 00 ff ff ff 00 01 00 00 00 24 00 00 00 9f 04 00 3;pos=2;.................$......
2e20 00 01 4b 02 00 00 2f 2f 20 53 65 74 20 75 70 20 63 6f 6c 75 6d 6e 0d 0a 70 7a 3d 28 69 2d 2e 35 ..K...//.Set.up.column..pz=(i-.5
2e40 29 2a 2e 38 36 36 3b 70 78 3d 28 70 2d 2e 35 29 2a 28 31 2d 61 62 73 28 69 2d 2e 35 29 29 3b 0d )*.866;px=(p-.5)*(1-abs(i-.5));.
2e60 0a 70 78 3d 70 78 2b 63 70 78 3b 70 7a 3d 70 7a 2b 63 70 7a 3b 0d 0a 0d 0a 2f 2f 20 54 72 61 6e .px=px+cpx;pz=pz+cpz;....//.Tran
2e80 73 66 6f 72 6d 20 61 6e 64 20 70 72 6f 6a 65 63 74 0d 0a 78 31 3d 70 78 2a 63 79 2d 70 7a 2a 73 sform.and.project..x1=px*cy-pz*s
2ea0 79 3b 7a 31 3d 70 78 2a 73 79 2b 70 7a 2a 63 79 3b 0d 0a 79 32 3d 70 79 2a 63 78 2d 7a 31 2a 73 y;z1=px*sy+pz*cy;..y2=py*cx-z1*s
2ec0 78 3b 7a 32 3d 70 79 2a 73 78 2b 7a 31 2a 63 78 2b 7a 64 69 73 74 3b 0d 0a 7a 32 3d 7a 32 2a 2e x;z2=py*sx+z1*cx+zdist;..z2=z2*.
2ee0 37 35 3b 20 20 20 0d 0a 7a 32 3d 69 66 28 62 65 6c 6f 77 28 7a 32 2c 2e 30 32 29 2c 30 2c 31 2f 75;.....z2=if(below(z2,.02),0,1/
2f00 7a 32 29 3b 0d 0a 78 3d 78 31 2a 7a 32 3b 79 3d 79 32 2a 7a 32 2a 61 66 2d 2e 31 3b 0d 0a 0d 0a z2);..x=x1*z2;y=y2*z2*af-.1;....
2f20 2f 2f 20 52 65 63 61 6c 63 75 6c 61 74 65 20 66 6f 72 20 6c 69 6e 65 61 72 20 74 65 78 74 75 72 //.Recalculate.for.linear.textur
2f40 65 20 63 6f 6f 72 64 69 6e 61 74 65 73 0d 0a 70 78 3d 63 70 78 3b 0d 0a 78 31 3d 70 78 2a 63 79 e.coordinates..px=cpx;..x1=px*cy
2f60 2d 70 7a 2a 73 79 3b 7a 31 3d 70 78 2a 73 79 2b 70 7a 2a 63 79 3b 0d 0a 79 32 3d 70 79 2a 63 78 -pz*sy;z1=px*sy+pz*cy;..y2=py*cx
2f80 2d 7a 31 2a 73 78 3b 7a 32 3d 70 79 2a 73 78 2b 7a 31 2a 63 78 2b 7a 64 69 73 74 3b 0d 0a 2f 2f -z1*sx;z2=py*sx+z1*cx+zdist;..//
2fa0 20 46 61 6b 65 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 20 6d 61 70 70 69 6e 67 0d 0a 61 3d 78 31 2b .Fake.environment.mapping..a=x1+
2fc0 73 69 6e 28 79 32 2a 2e 37 2d 78 31 2a 2e 36 29 2a 32 2b 35 3b 62 3d 79 32 2a 2e 35 2d 78 31 2a sin(y2*.7-x1*.6)*2+5;b=y2*.5-x1*
2fe0 31 2e 31 2b 2e 35 3b 63 3d 63 6f 73 28 61 29 3b 0d 0a 72 65 64 3d 28 63 2b 73 69 6e 28 62 29 29 1.1+.5;c=cos(a);..red=(c+sin(b))
3000 2a 2e 33 30 2b 2e 37 3b 0d 0a 67 72 65 65 6e 3d 28 63 6f 73 28 61 2b 2e 32 29 2b 73 69 6e 28 62 *.30+.7;..green=(cos(a+.2)+sin(b
3020 2d 2e 31 29 2a 31 2e 32 29 2a 2e 33 30 2b 2e 35 3b 0d 0a 62 6c 75 65 3d 28 63 2b 73 69 6e 28 62 -.1)*1.2)*.30+.5;..blue=(c+sin(b
3040 2b 2e 32 29 2a 31 2e 35 29 2a 2e 33 30 2b 2e 30 3b 0d 0a 0d 0a 2f 2f 20 53 74 61 74 65 20 76 61 +.2)*1.5)*.30+.0;....//.State.va
3060 72 73 0d 0a 70 3d 62 6e 6f 74 28 70 29 3b 0d 0a 00 0d 02 00 00 2f 2f 20 53 65 74 75 70 20 63 6f rs..p=bnot(p);.......//.Setup.co
3080 6c 75 6d 6e 0d 0a 78 3d 70 6f 73 2a 24 70 69 2a 2e 33 33 33 3b 63 70 78 3d 72 64 64 2a 63 6f 73 lumn..x=pos*$pi*.333;cpx=rdd*cos
30a0 28 78 29 3b 63 70 7a 3d 72 64 64 2a 73 69 6e 28 78 29 3b 0d 0a 0d 0a 2f 2f 20 43 61 6d 65 72 61 (x);cpz=rdd*sin(x);....//.Camera
30c0 0d 0a 7a 64 69 73 74 3d 72 65 67 30 30 3b 72 79 3d 72 65 67 30 31 3b 6f 79 3d 72 65 67 30 32 3b ..zdist=reg00;ry=reg01;oy=reg02;
30e0 72 78 3d 72 65 67 30 33 3b 73 74 65 70 73 3d 72 65 67 30 39 3b 0d 0a 63 79 74 3d 72 65 67 30 37 rx=reg03;steps=reg09;..cyt=reg07
3100 3b 73 79 74 3d 72 65 67 30 38 3b 0d 0a 72 6f 66 66 3d 28 28 28 28 61 62 73 28 33 2a 72 79 2f 24 ;syt=reg08;..roff=((((abs(3*ry/$
3120 70 69 2b 2e 35 29 7c 30 29 25 36 29 2a 73 69 67 6e 28 72 79 29 2b 31 32 29 25 36 29 3b 0d 0a 72 pi+.5)|0)%6)*sign(ry)+12)%6);..r
3140 79 3d 72 79 2d 28 72 6f 66 66 2b 31 29 2a 24 70 69 2f 33 3b 0d 0a 63 78 3d 63 6f 73 28 72 78 29 y=ry-(roff+1)*$pi/3;..cx=cos(rx)
3160 3b 73 78 3d 73 69 6e 28 72 78 29 3b 0d 0a 63 79 3d 63 6f 73 28 72 79 29 3b 73 79 3d 73 69 6e 28 ;sx=sin(rx);..cy=cos(ry);sy=sin(
3180 72 79 29 3b 0d 0a 0d 0a 2f 2f 20 53 6f 75 6e 64 20 72 65 73 70 6f 6e 73 65 0d 0a 6e 3d 69 66 28 ry);....//.Sound.response..n=if(
31a0 65 71 75 61 6c 28 72 6f 66 66 2c 30 29 2c 72 65 67 32 35 2c 69 66 28 65 71 75 61 6c 28 72 6f 66 equal(roff,0),reg25,if(equal(rof
31c0 66 2c 31 29 2c 72 65 67 32 37 2c 69 66 28 65 71 75 61 6c 28 72 6f 66 66 2c 32 29 2c 72 65 67 31 f,1),reg27,if(equal(roff,2),reg1
31e0 37 2c 69 66 28 65 71 75 61 6c 28 72 6f 66 66 2c 33 29 2c 72 65 67 31 39 2c 69 66 28 65 71 75 61 7,if(equal(roff,3),reg19,if(equa
3200 6c 28 72 6f 66 66 2c 34 29 2c 72 65 67 32 31 2c 72 65 67 32 33 29 29 29 29 29 3b 0d 0a 6e 3d 28 l(roff,4),reg21,reg23)))));..n=(
3220 28 6e 2a 73 74 65 70 73 29 7c 30 29 3b 72 65 73 70 3d 72 65 67 33 30 3b 0d 0a 70 79 3d 6f 79 2d (n*steps)|0);resp=reg30;..py=oy-
3240 6e 2a 72 65 73 70 3b 0d 0a 6e 3d 32 35 2a 77 2f 33 32 30 3b 0d 0a 0d 0a 0d 0a 2f 2f 20 53 74 61 n*resp;..n=25*w/320;......//.Sta
3260 74 65 20 76 61 72 73 0d 0a 63 73 3d 24 70 69 2a 2e 33 33 33 33 3b 61 66 3d 77 2f 68 3b 70 3d 30 te.vars..cs=$pi*.3333;af=w/h;p=0
3280 3b 00 00 00 00 00 26 00 00 00 2f 2f 20 43 6f 6c 75 6d 6e 20 31 31 20 54 6f 70 0d 0a 6e 3d 30 3b ;.....&...//.Column.11.Top..n=0;
32a0 72 64 64 3d 31 2e 37 33 3b 70 6f 73 3d 32 3b 00 02 00 00 00 01 00 00 00 ff ff ff 00 01 00 00 00 rdd=1.73;pos=2;.................
32c0 28 00 00 00 04 00 00 00 00 00 07 80 24 00 00 00 5f 05 00 00 01 e6 02 00 00 2f 2f 20 53 65 74 20 (...........$..._........//.Set.
32e0 75 70 20 63 6f 6c 75 6d 6e 0d 0a 71 3d 69 66 28 6f 64 64 2c 33 2d 70 2c 70 29 3b 0d 0a 61 3d 63 up.column..q=if(odd,3-p,p);..a=c
3300 73 2a 28 71 2b 2e 35 2b 70 6f 66 66 29 3b 0d 0a 70 78 3d 63 6f 73 28 61 29 2a 2e 35 2b 63 70 78 s*(q+.5+poff);..px=cos(a)*.5+cpx
3320 3b 70 7a 3d 73 69 6e 28 61 29 2a 2e 35 2b 63 70 7a 3b 0d 0a 0d 0a 2f 2f 20 54 72 61 6e 73 66 6f ;pz=sin(a)*.5+cpz;....//.Transfo
3340 72 6d 20 61 6e 64 20 70 72 6f 6a 65 63 74 0d 0a 78 31 3d 70 78 2a 63 79 2d 70 7a 2a 73 79 3b 7a rm.and.project..x1=px*cy-pz*sy;z
3360 31 3d 70 78 2a 73 79 2b 70 7a 2a 63 79 3b 0d 0a 79 32 3d 70 79 2a 63 78 2d 7a 31 2a 73 78 3b 7a 1=px*sy+pz*cy;..y2=py*cx-z1*sx;z
3380 32 3d 70 79 2a 73 78 2b 7a 31 2a 63 78 2b 7a 64 69 73 74 3b 0d 0a 7a 32 3d 7a 32 2a 2e 37 35 3b 2=py*sx+z1*cx+zdist;..z2=z2*.75;
33a0 20 20 20 0d 0a 7a 32 3d 69 66 28 62 65 6c 6f 77 28 7a 32 2c 2e 30 32 29 2c 30 2c 31 2f 7a 32 29 .....z2=if(below(z2,.02),0,1/z2)
33c0 3b 0d 0a 78 3d 78 31 2a 7a 32 3b 79 3d 79 32 2a 7a 32 2a 61 66 2d 2e 31 3b 0d 0a 0d 0a 2f 2f 20 ;..x=x1*z2;y=y2*z2*af-.1;....//.
33e0 52 65 63 61 6c 63 75 6c 61 74 65 20 66 6f 72 20 6c 69 6e 65 61 72 20 74 65 78 74 75 72 65 20 63 Recalculate.for.linear.texture.c
3400 6f 6f 72 64 69 6e 61 74 65 73 0d 0a 71 3d 69 66 28 6f 64 64 2c 32 2e 35 2d 65 71 75 61 6c 28 70 oordinates..q=if(odd,2.5-equal(p
3420 2c 32 29 2c 6d 61 78 28 2e 35 2c 70 2d 2e 35 29 29 2b 33 3b 0d 0a 61 3d 63 73 2a 28 71 2b 2e 35 ,2),max(.5,p-.5))+3;..a=cs*(q+.5
3440 2b 70 6f 66 66 29 3b 0d 0a 70 78 3d 63 6f 73 28 61 29 2a 2e 35 3b 70 7a 3d 73 69 6e 28 61 29 2a +poff);..px=cos(a)*.5;pz=sin(a)*
3460 2e 35 3b 0d 0a 78 31 3d 70 78 2a 63 79 74 2d 70 7a 2a 73 79 74 2d 72 64 64 2a 33 2e 3b 7a 31 3d .5;..x1=px*cyt-pz*syt-rdd*3.;z1=
3480 70 78 2a 73 79 74 2b 70 7a 2a 63 79 74 3b 0d 0a 79 32 3d 70 79 2a 63 78 2d 7a 31 2a 73 78 3b 7a px*syt+pz*cyt;..y2=py*cx-z1*sx;z
34a0 32 3d 70 79 2a 73 78 2b 7a 31 2a 63 78 2b 7a 64 69 73 74 3b 0d 0a 2f 2f 20 46 61 6b 65 20 65 6e 2=py*sx+z1*cx+zdist;..//.Fake.en
34c0 76 69 72 6f 6e 6d 65 6e 74 20 6d 61 70 70 69 6e 67 0d 0a 61 3d 78 31 2a 32 37 2b 73 69 6e 28 79 vironment.mapping..a=x1*27+sin(y
34e0 32 2d 78 31 2a 33 29 2a 32 2b 35 3b 62 3d 79 32 2a 2e 38 2d 78 31 2a 32 2e 31 2b 2e 35 3b 63 3d 2-x1*3)*2+5;b=y2*.8-x1*2.1+.5;c=
3500 63 6f 73 28 61 29 3b 0d 0a 72 65 64 3d 28 63 2b 73 69 6e 28 62 29 29 2a 2e 33 30 2b 2e 37 3b 0d cos(a);..red=(c+sin(b))*.30+.7;.
3520 0a 67 72 65 65 6e 3d 28 63 6f 73 28 61 2b 2e 32 29 2b 73 69 6e 28 62 2d 2e 31 29 2a 31 2e 32 29 .green=(cos(a+.2)+sin(b-.1)*1.2)
3540 2a 2e 33 30 2b 2e 35 3b 0d 0a 62 6c 75 65 3d 28 63 2b 73 69 6e 28 62 2b 2e 32 29 2a 31 2e 35 29 *.30+.5;..blue=(c+sin(b+.2)*1.5)
3560 2a 2e 33 30 2b 2e 30 3b 0d 0a 0d 0a 2f 2f 20 53 74 61 74 65 20 76 61 72 73 0d 0a 70 3d 28 70 2b *.30+.0;....//.State.vars..p=(p+
3580 31 29 25 33 3b 70 79 3d 70 79 2d 65 71 75 61 6c 28 70 2c 30 29 2a 72 65 73 70 3b 0d 0a 6f 64 64 1)%3;py=py-equal(p,0)*resp;..odd
35a0 3d 69 66 28 65 71 75 61 6c 28 70 2c 30 29 2c 62 6e 6f 74 28 6f 64 64 29 2c 6f 64 64 29 3b 00 37 =if(equal(p,0),bnot(odd),odd);.7
35c0 02 00 00 2f 2f 20 53 65 74 75 70 20 63 6f 6c 75 6d 6e 0d 0a 78 3d 70 6f 73 2a 24 70 69 2a 2e 33 ...//.Setup.column..x=pos*$pi*.3
35e0 33 33 3b 63 70 78 3d 72 64 64 2a 63 6f 73 28 78 29 3b 63 70 7a 3d 72 64 64 2a 73 69 6e 28 78 29 33;cpx=rdd*cos(x);cpz=rdd*sin(x)
3600 3b 0d 0a 0d 0a 2f 2f 20 43 61 6d 65 72 61 0d 0a 7a 64 69 73 74 3d 72 65 67 30 30 3b 72 79 3d 72 ;....//.Camera..zdist=reg00;ry=r
3620 65 67 30 31 3b 6f 79 3d 72 65 67 30 32 3b 72 78 3d 72 65 67 30 33 3b 73 74 65 70 73 3d 72 65 67 eg01;oy=reg02;rx=reg03;steps=reg
3640 30 39 3b 0d 0a 63 79 74 3d 72 65 67 30 37 3b 73 79 74 3d 72 65 67 30 38 3b 0d 0a 72 6f 66 66 3d 09;..cyt=reg07;syt=reg08;..roff=
3660 28 28 28 28 61 62 73 28 33 2a 72 79 2f 24 70 69 29 7c 30 29 25 36 29 2a 73 69 67 6e 28 72 79 29 ((((abs(3*ry/$pi)|0)%6)*sign(ry)
3680 2b 31 32 29 25 36 29 3b 0d 0a 72 79 3d 72 79 2d 28 72 6f 66 66 2b 32 29 2a 24 70 69 2f 33 3b 0d +12)%6);..ry=ry-(roff+2)*$pi/3;.
36a0 0a 63 78 3d 63 6f 73 28 72 78 29 3b 73 78 3d 73 69 6e 28 72 78 29 3b 0d 0a 63 79 3d 63 6f 73 28 .cx=cos(rx);sx=sin(rx);..cy=cos(
36c0 72 79 29 3b 73 79 3d 73 69 6e 28 72 79 29 3b 0d 0a 0d 0a 2f 2f 20 53 6f 75 6e 64 20 72 65 73 70 ry);sy=sin(ry);....//.Sound.resp
36e0 6f 6e 73 65 0d 0a 6e 3d 69 66 28 65 71 75 61 6c 28 72 6f 66 66 2c 30 29 2c 72 65 67 31 34 2c 69 onse..n=if(equal(roff,0),reg14,i
3700 66 28 65 71 75 61 6c 28 72 6f 66 66 2c 31 29 2c 72 65 67 31 35 2c 69 66 28 65 71 75 61 6c 28 72 f(equal(roff,1),reg15,if(equal(r
3720 6f 66 66 2c 32 29 2c 72 65 67 31 36 2c 69 66 28 65 71 75 61 6c 28 72 6f 66 66 2c 33 29 2c 72 65 off,2),reg16,if(equal(roff,3),re
3740 67 31 31 2c 69 66 28 65 71 75 61 6c 28 72 6f 66 66 2c 34 29 2c 72 65 67 31 32 2c 72 65 67 31 33 g11,if(equal(roff,4),reg12,reg13
3760 29 29 29 29 29 3b 0d 0a 6e 3d 28 28 6e 2a 73 74 65 70 73 29 7c 30 29 2a 33 2b 33 3b 72 65 73 70 )))));..n=((n*steps)|0)*3+3;resp
3780 3d 72 65 67 33 30 3b 0d 0a 70 79 3d 6f 79 3b 0d 0a 0d 0a 2f 2f 20 53 74 61 74 65 20 76 61 72 73 =reg30;..py=oy;....//.State.vars
37a0 0d 0a 63 73 3d 24 70 69 2a 2e 33 33 33 33 3b 61 66 3d 77 2f 68 3b 70 3d 30 3b 0d 0a 70 6f 66 66 ..cs=$pi*.3333;af=w/h;p=0;..poff
37c0 3d 28 2d 33 2a 72 79 2f 24 70 69 29 3b 0d 0a 70 6f 66 66 3d 28 61 62 73 28 70 6f 66 66 29 25 36 =(-3*ry/$pi);..poff=(abs(poff)%6
37e0 29 2a 73 69 67 6e 28 70 6f 66 66 29 2b 32 2e 35 3b 0d 0a 6f 64 64 3d 30 3b 00 00 00 00 00 21 00 )*sign(poff)+2.5;..odd=0;.....!.
3800 00 00 2f 2f 20 43 6f 6c 75 6d 6e 20 34 0d 0a 6e 3d 30 3b 72 64 64 3d 31 3b 70 6f 73 3d 2d 32 2e ..//.Column.4..n=0;rdd=1;pos=-2.
3820 35 3b 00 02 00 00 00 01 00 00 00 ff ff ff 00 01 00 00 00 24 00 00 00 99 04 00 00 01 4b 02 00 00 5;.................$........K...
3840 2f 2f 20 53 65 74 20 75 70 20 63 6f 6c 75 6d 6e 0d 0a 70 7a 3d 28 69 2d 2e 35 29 2a 2e 38 36 36 //.Set.up.column..pz=(i-.5)*.866
3860 3b 70 78 3d 28 70 2d 2e 35 29 2a 28 31 2d 61 62 73 28 69 2d 2e 35 29 29 3b 0d 0a 70 78 3d 70 78 ;px=(p-.5)*(1-abs(i-.5));..px=px
3880 2b 63 70 78 3b 70 7a 3d 70 7a 2b 63 70 7a 3b 0d 0a 0d 0a 2f 2f 20 54 72 61 6e 73 66 6f 72 6d 20 +cpx;pz=pz+cpz;....//.Transform.
38a0 61 6e 64 20 70 72 6f 6a 65 63 74 0d 0a 78 31 3d 70 78 2a 63 79 2d 70 7a 2a 73 79 3b 7a 31 3d 70 and.project..x1=px*cy-pz*sy;z1=p
38c0 78 2a 73 79 2b 70 7a 2a 63 79 3b 0d 0a 79 32 3d 70 79 2a 63 78 2d 7a 31 2a 73 78 3b 7a 32 3d 70 x*sy+pz*cy;..y2=py*cx-z1*sx;z2=p
38e0 79 2a 73 78 2b 7a 31 2a 63 78 2b 7a 64 69 73 74 3b 0d 0a 7a 32 3d 7a 32 2a 2e 37 35 3b 20 20 20 y*sx+z1*cx+zdist;..z2=z2*.75;...
3900 0d 0a 7a 32 3d 69 66 28 62 65 6c 6f 77 28 7a 32 2c 2e 30 32 29 2c 30 2c 31 2f 7a 32 29 3b 0d 0a ..z2=if(below(z2,.02),0,1/z2);..
3920 78 3d 78 31 2a 7a 32 3b 79 3d 79 32 2a 7a 32 2a 61 66 2d 2e 31 3b 0d 0a 0d 0a 2f 2f 20 52 65 63 x=x1*z2;y=y2*z2*af-.1;....//.Rec
3940 61 6c 63 75 6c 61 74 65 20 66 6f 72 20 6c 69 6e 65 61 72 20 74 65 78 74 75 72 65 20 63 6f 6f 72 alculate.for.linear.texture.coor
3960 64 69 6e 61 74 65 73 0d 0a 70 78 3d 63 70 78 3b 0d 0a 78 31 3d 70 78 2a 63 79 2d 70 7a 2a 73 79 dinates..px=cpx;..x1=px*cy-pz*sy
3980 3b 7a 31 3d 70 78 2a 73 79 2b 70 7a 2a 63 79 3b 0d 0a 79 32 3d 70 79 2a 63 78 2d 7a 31 2a 73 78 ;z1=px*sy+pz*cy;..y2=py*cx-z1*sx
39a0 3b 7a 32 3d 70 79 2a 73 78 2b 7a 31 2a 63 78 2b 7a 64 69 73 74 3b 0d 0a 2f 2f 20 46 61 6b 65 20 ;z2=py*sx+z1*cx+zdist;..//.Fake.
39c0 65 6e 76 69 72 6f 6e 6d 65 6e 74 20 6d 61 70 70 69 6e 67 0d 0a 61 3d 78 31 2b 73 69 6e 28 79 32 environment.mapping..a=x1+sin(y2
39e0 2a 2e 37 2d 78 31 2a 2e 36 29 2a 32 2b 35 3b 62 3d 79 32 2a 2e 35 2d 78 31 2a 31 2e 31 2b 2e 35 *.7-x1*.6)*2+5;b=y2*.5-x1*1.1+.5
3a00 3b 63 3d 63 6f 73 28 61 29 3b 0d 0a 72 65 64 3d 28 63 2b 73 69 6e 28 62 29 29 2a 2e 33 30 2b 2e ;c=cos(a);..red=(c+sin(b))*.30+.
3a20 37 3b 0d 0a 67 72 65 65 6e 3d 28 63 6f 73 28 61 2b 2e 32 29 2b 73 69 6e 28 62 2d 2e 31 29 2a 31 7;..green=(cos(a+.2)+sin(b-.1)*1
3a40 2e 32 29 2a 2e 33 30 2b 2e 35 3b 0d 0a 62 6c 75 65 3d 28 63 2b 73 69 6e 28 62 2b 2e 32 29 2a 31 .2)*.30+.5;..blue=(c+sin(b+.2)*1
3a60 2e 35 29 2a 2e 33 30 2b 2e 30 3b 0d 0a 0d 0a 2f 2f 20 53 74 61 74 65 20 76 61 72 73 0d 0a 70 3d .5)*.30+.0;....//.State.vars..p=
3a80 62 6e 6f 74 28 70 29 3b 0d 0a 00 08 02 00 00 2f 2f 20 53 65 74 75 70 20 63 6f 6c 75 6d 6e 0d 0a bnot(p);.......//.Setup.column..
3aa0 78 3d 70 6f 73 2a 24 70 69 2a 2e 33 33 33 3b 63 70 78 3d 72 64 64 2a 63 6f 73 28 78 29 3b 63 70 x=pos*$pi*.333;cpx=rdd*cos(x);cp
3ac0 7a 3d 72 64 64 2a 73 69 6e 28 78 29 3b 0d 0a 0d 0a 2f 2f 20 43 61 6d 65 72 61 0d 0a 7a 64 69 73 z=rdd*sin(x);....//.Camera..zdis
3ae0 74 3d 72 65 67 30 30 3b 72 79 3d 72 65 67 30 31 3b 6f 79 3d 72 65 67 30 32 3b 72 78 3d 72 65 67 t=reg00;ry=reg01;oy=reg02;rx=reg
3b00 30 33 3b 73 74 65 70 73 3d 72 65 67 30 39 3b 0d 0a 63 79 74 3d 72 65 67 30 37 3b 73 79 74 3d 72 03;steps=reg09;..cyt=reg07;syt=r
3b20 65 67 30 38 3b 0d 0a 72 6f 66 66 3d 28 28 28 28 61 62 73 28 33 2a 72 79 2f 24 70 69 29 7c 30 29 eg08;..roff=((((abs(3*ry/$pi)|0)
3b40 25 36 29 2a 73 69 67 6e 28 72 79 29 2b 31 32 29 25 36 29 3b 0d 0a 72 79 3d 72 79 2d 28 72 6f 66 %6)*sign(ry)+12)%6);..ry=ry-(rof
3b60 66 2b 32 29 2a 24 70 69 2f 33 3b 0d 0a 63 78 3d 63 6f 73 28 72 78 29 3b 73 78 3d 73 69 6e 28 72 f+2)*$pi/3;..cx=cos(rx);sx=sin(r
3b80 78 29 3b 0d 0a 63 79 3d 63 6f 73 28 72 79 29 3b 73 79 3d 73 69 6e 28 72 79 29 3b 0d 0a 0d 0a 2f x);..cy=cos(ry);sy=sin(ry);..../
3ba0 2f 20 53 6f 75 6e 64 20 72 65 73 70 6f 6e 73 65 0d 0a 6e 3d 69 66 28 65 71 75 61 6c 28 72 6f 66 /.Sound.response..n=if(equal(rof
3bc0 66 2c 30 29 2c 72 65 67 31 34 2c 69 66 28 65 71 75 61 6c 28 72 6f 66 66 2c 31 29 2c 72 65 67 31 f,0),reg14,if(equal(roff,1),reg1
3be0 35 2c 69 66 28 65 71 75 61 6c 28 72 6f 66 66 2c 32 29 2c 72 65 67 31 36 2c 69 66 28 65 71 75 61 5,if(equal(roff,2),reg16,if(equa
3c00 6c 28 72 6f 66 66 2c 33 29 2c 72 65 67 31 31 2c 69 66 28 65 71 75 61 6c 28 72 6f 66 66 2c 34 29 l(roff,3),reg11,if(equal(roff,4)
3c20 2c 72 65 67 31 32 2c 72 65 67 31 33 29 29 29 29 29 3b 0d 0a 6e 3d 28 28 6e 2a 73 74 65 70 73 29 ,reg12,reg13)))));..n=((n*steps)
3c40 7c 30 29 3b 72 65 73 70 3d 72 65 67 33 30 3b 0d 0a 70 79 3d 6f 79 2d 6e 2a 72 65 73 70 3b 0d 0a |0);resp=reg30;..py=oy-n*resp;..
3c60 6e 3d 33 35 2a 77 2f 33 32 30 3b 0d 0a 0d 0a 2f 2f 20 53 74 61 74 65 20 76 61 72 73 0d 0a 63 73 n=35*w/320;....//.State.vars..cs
3c80 3d 24 70 69 2a 2e 33 33 33 33 3b 61 66 3d 77 2f 68 3b 70 3d 30 3b 00 00 00 00 00 25 00 00 00 2f =$pi*.3333;af=w/h;p=0;.....%.../
3ca0 2f 20 43 6f 6c 75 6d 6e 20 34 20 54 6f 70 0d 0a 6e 3d 30 3b 72 64 64 3d 31 3b 70 6f 73 3d 2d 32 /.Column.4.Top..n=0;rdd=1;pos=-2
3cc0 2e 35 3b 00 02 00 00 00 01 00 00 00 ff ff ff 00 01 00 00 00 24 00 00 00 5f 05 00 00 01 e6 02 00 .5;.................$..._.......
3ce0 00 2f 2f 20 53 65 74 20 75 70 20 63 6f 6c 75 6d 6e 0d 0a 71 3d 69 66 28 6f 64 64 2c 33 2d 70 2c .//.Set.up.column..q=if(odd,3-p,
3d00 70 29 3b 0d 0a 61 3d 63 73 2a 28 71 2b 2e 35 2b 70 6f 66 66 29 3b 0d 0a 70 78 3d 63 6f 73 28 61 p);..a=cs*(q+.5+poff);..px=cos(a
3d20 29 2a 2e 35 2b 63 70 78 3b 70 7a 3d 73 69 6e 28 61 29 2a 2e 35 2b 63 70 7a 3b 0d 0a 0d 0a 2f 2f )*.5+cpx;pz=sin(a)*.5+cpz;....//
3d40 20 54 72 61 6e 73 66 6f 72 6d 20 61 6e 64 20 70 72 6f 6a 65 63 74 0d 0a 78 31 3d 70 78 2a 63 79 .Transform.and.project..x1=px*cy
3d60 2d 70 7a 2a 73 79 3b 7a 31 3d 70 78 2a 73 79 2b 70 7a 2a 63 79 3b 0d 0a 79 32 3d 70 79 2a 63 78 -pz*sy;z1=px*sy+pz*cy;..y2=py*cx
3d80 2d 7a 31 2a 73 78 3b 7a 32 3d 70 79 2a 73 78 2b 7a 31 2a 63 78 2b 7a 64 69 73 74 3b 0d 0a 7a 32 -z1*sx;z2=py*sx+z1*cx+zdist;..z2
3da0 3d 7a 32 2a 2e 37 35 3b 20 20 20 0d 0a 7a 32 3d 69 66 28 62 65 6c 6f 77 28 7a 32 2c 2e 30 32 29 =z2*.75;.....z2=if(below(z2,.02)
3dc0 2c 30 2c 31 2f 7a 32 29 3b 0d 0a 78 3d 78 31 2a 7a 32 3b 79 3d 79 32 2a 7a 32 2a 61 66 2d 2e 31 ,0,1/z2);..x=x1*z2;y=y2*z2*af-.1
3de0 3b 0d 0a 0d 0a 2f 2f 20 52 65 63 61 6c 63 75 6c 61 74 65 20 66 6f 72 20 6c 69 6e 65 61 72 20 74 ;....//.Recalculate.for.linear.t
3e00 65 78 74 75 72 65 20 63 6f 6f 72 64 69 6e 61 74 65 73 0d 0a 71 3d 69 66 28 6f 64 64 2c 32 2e 35 exture.coordinates..q=if(odd,2.5
3e20 2d 65 71 75 61 6c 28 70 2c 32 29 2c 6d 61 78 28 2e 35 2c 70 2d 2e 35 29 29 2d 32 3b 0d 0a 61 3d -equal(p,2),max(.5,p-.5))-2;..a=
3e40 63 73 2a 28 71 2b 2e 35 2b 70 6f 66 66 29 3b 0d 0a 70 78 3d 63 6f 73 28 61 29 2a 2e 35 3b 70 7a cs*(q+.5+poff);..px=cos(a)*.5;pz
3e60 3d 73 69 6e 28 61 29 2a 2e 35 3b 0d 0a 78 31 3d 70 78 2a 63 79 74 2d 70 7a 2a 73 79 74 2d 72 64 =sin(a)*.5;..x1=px*cyt-pz*syt-rd
3e80 64 2a 33 2e 3b 7a 31 3d 70 78 2a 73 79 74 2b 70 7a 2a 63 79 74 3b 0d 0a 79 32 3d 70 79 2a 63 78 d*3.;z1=px*syt+pz*cyt;..y2=py*cx
3ea0 2d 7a 31 2a 73 78 3b 7a 32 3d 70 79 2a 73 78 2b 7a 31 2a 63 78 2b 7a 64 69 73 74 3b 0d 0a 2f 2f -z1*sx;z2=py*sx+z1*cx+zdist;..//
3ec0 20 46 61 6b 65 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 20 6d 61 70 70 69 6e 67 0d 0a 61 3d 78 31 2a .Fake.environment.mapping..a=x1*
3ee0 32 37 2b 73 69 6e 28 79 32 2d 78 31 2a 33 29 2a 32 2b 35 3b 62 3d 79 32 2a 2e 38 2d 78 31 2a 32 27+sin(y2-x1*3)*2+5;b=y2*.8-x1*2
3f00 2e 31 2b 2e 35 3b 63 3d 63 6f 73 28 61 29 3b 0d 0a 72 65 64 3d 28 63 2b 73 69 6e 28 62 29 29 2a .1+.5;c=cos(a);..red=(c+sin(b))*
3f20 2e 33 30 2b 2e 37 3b 0d 0a 67 72 65 65 6e 3d 28 63 6f 73 28 61 2b 2e 32 29 2b 73 69 6e 28 62 2d .30+.7;..green=(cos(a+.2)+sin(b-
3f40 2e 31 29 2a 31 2e 32 29 2a 2e 33 30 2b 2e 35 3b 0d 0a 62 6c 75 65 3d 28 63 2b 73 69 6e 28 62 2b .1)*1.2)*.30+.5;..blue=(c+sin(b+
3f60 2e 32 29 2a 31 2e 35 29 2a 2e 33 30 2b 2e 30 3b 0d 0a 0d 0a 2f 2f 20 53 74 61 74 65 20 76 61 72 .2)*1.5)*.30+.0;....//.State.var
3f80 73 0d 0a 70 3d 28 70 2b 31 29 25 33 3b 70 79 3d 70 79 2d 65 71 75 61 6c 28 70 2c 30 29 2a 72 65 s..p=(p+1)%3;py=py-equal(p,0)*re
3fa0 73 70 3b 0d 0a 6f 64 64 3d 69 66 28 65 71 75 61 6c 28 70 2c 30 29 2c 62 6e 6f 74 28 6f 64 64 29 sp;..odd=if(equal(p,0),bnot(odd)
3fc0 2c 6f 64 64 29 3b 00 37 02 00 00 2f 2f 20 53 65 74 75 70 20 63 6f 6c 75 6d 6e 0d 0a 78 3d 70 6f ,odd);.7...//.Setup.column..x=po
3fe0 73 2a 24 70 69 2a 2e 33 33 33 3b 63 70 78 3d 72 64 64 2a 63 6f 73 28 78 29 3b 63 70 7a 3d 72 64 s*$pi*.333;cpx=rdd*cos(x);cpz=rd
4000 64 2a 73 69 6e 28 78 29 3b 0d 0a 0d 0a 2f 2f 20 43 61 6d 65 72 61 0d 0a 7a 64 69 73 74 3d 72 65 d*sin(x);....//.Camera..zdist=re
4020 67 30 30 3b 72 79 3d 72 65 67 30 31 3b 6f 79 3d 72 65 67 30 32 3b 72 78 3d 72 65 67 30 33 3b 73 g00;ry=reg01;oy=reg02;rx=reg03;s
4040 74 65 70 73 3d 72 65 67 30 39 3b 0d 0a 63 79 74 3d 72 65 67 30 37 3b 73 79 74 3d 72 65 67 30 38 teps=reg09;..cyt=reg07;syt=reg08
4060 3b 0d 0a 72 6f 66 66 3d 28 28 28 28 61 62 73 28 33 2a 72 79 2f 24 70 69 29 7c 30 29 25 36 29 2a ;..roff=((((abs(3*ry/$pi)|0)%6)*
4080 73 69 67 6e 28 72 79 29 2b 31 32 29 25 36 29 3b 0d 0a 72 79 3d 72 79 2d 28 72 6f 66 66 2b 32 29 sign(ry)+12)%6);..ry=ry-(roff+2)
40a0 2a 24 70 69 2f 33 3b 0d 0a 63 78 3d 63 6f 73 28 72 78 29 3b 73 78 3d 73 69 6e 28 72 78 29 3b 0d *$pi/3;..cx=cos(rx);sx=sin(rx);.
40c0 0a 63 79 3d 63 6f 73 28 72 79 29 3b 73 79 3d 73 69 6e 28 72 79 29 3b 0d 0a 0d 0a 2f 2f 20 53 6f .cy=cos(ry);sy=sin(ry);....//.So
40e0 75 6e 64 20 72 65 73 70 6f 6e 73 65 0d 0a 6e 3d 69 66 28 65 71 75 61 6c 28 72 6f 66 66 2c 30 29 und.response..n=if(equal(roff,0)
4100 2c 72 65 67 31 35 2c 69 66 28 65 71 75 61 6c 28 72 6f 66 66 2c 31 29 2c 72 65 67 31 36 2c 69 66 ,reg15,if(equal(roff,1),reg16,if
4120 28 65 71 75 61 6c 28 72 6f 66 66 2c 32 29 2c 72 65 67 31 31 2c 69 66 28 65 71 75 61 6c 28 72 6f (equal(roff,2),reg11,if(equal(ro
4140 66 66 2c 33 29 2c 72 65 67 31 32 2c 69 66 28 65 71 75 61 6c 28 72 6f 66 66 2c 34 29 2c 72 65 67 ff,3),reg12,if(equal(roff,4),reg
4160 31 33 2c 72 65 67 31 34 29 29 29 29 29 3b 0d 0a 6e 3d 28 28 6e 2a 73 74 65 70 73 29 7c 30 29 2a 13,reg14)))));..n=((n*steps)|0)*
4180 33 2b 33 3b 72 65 73 70 3d 72 65 67 33 30 3b 0d 0a 70 79 3d 6f 79 3b 0d 0a 0d 0a 2f 2f 20 53 74 3+3;resp=reg30;..py=oy;....//.St
41a0 61 74 65 20 76 61 72 73 0d 0a 63 73 3d 24 70 69 2a 2e 33 33 33 33 3b 61 66 3d 77 2f 68 3b 70 3d ate.vars..cs=$pi*.3333;af=w/h;p=
41c0 30 3b 0d 0a 70 6f 66 66 3d 28 2d 33 2a 72 79 2f 24 70 69 29 3b 0d 0a 70 6f 66 66 3d 28 61 62 73 0;..poff=(-3*ry/$pi);..poff=(abs
41e0 28 70 6f 66 66 29 25 36 29 2a 73 69 67 6e 28 70 6f 66 66 29 2b 32 2e 35 3b 0d 0a 6f 64 64 3d 30 (poff)%6)*sign(poff)+2.5;..odd=0
4200 3b 00 00 00 00 00 21 00 00 00 2f 2f 20 43 6f 6c 75 6d 6e 20 35 0d 0a 6e 3d 30 3b 72 64 64 3d 31 ;.....!...//.Column.5..n=0;rdd=1
4220 3b 70 6f 73 3d 2d 33 2e 35 3b 00 02 00 00 00 01 00 00 00 ff ff ff 00 01 00 00 00 24 00 00 00 99 ;pos=-3.5;.................$....
4240 04 00 00 01 4b 02 00 00 2f 2f 20 53 65 74 20 75 70 20 63 6f 6c 75 6d 6e 0d 0a 70 7a 3d 28 69 2d ....K...//.Set.up.column..pz=(i-
4260 2e 35 29 2a 2e 38 36 36 3b 70 78 3d 28 70 2d 2e 35 29 2a 28 31 2d 61 62 73 28 69 2d 2e 35 29 29 .5)*.866;px=(p-.5)*(1-abs(i-.5))
4280 3b 0d 0a 70 78 3d 70 78 2b 63 70 78 3b 70 7a 3d 70 7a 2b 63 70 7a 3b 0d 0a 0d 0a 2f 2f 20 54 72 ;..px=px+cpx;pz=pz+cpz;....//.Tr
42a0 61 6e 73 66 6f 72 6d 20 61 6e 64 20 70 72 6f 6a 65 63 74 0d 0a 78 31 3d 70 78 2a 63 79 2d 70 7a ansform.and.project..x1=px*cy-pz
42c0 2a 73 79 3b 7a 31 3d 70 78 2a 73 79 2b 70 7a 2a 63 79 3b 0d 0a 79 32 3d 70 79 2a 63 78 2d 7a 31 *sy;z1=px*sy+pz*cy;..y2=py*cx-z1
42e0 2a 73 78 3b 7a 32 3d 70 79 2a 73 78 2b 7a 31 2a 63 78 2b 7a 64 69 73 74 3b 0d 0a 7a 32 3d 7a 32 *sx;z2=py*sx+z1*cx+zdist;..z2=z2
4300 2a 2e 37 35 3b 20 20 20 0d 0a 7a 32 3d 69 66 28 62 65 6c 6f 77 28 7a 32 2c 2e 30 32 29 2c 30 2c *.75;.....z2=if(below(z2,.02),0,
4320 31 2f 7a 32 29 3b 0d 0a 78 3d 78 31 2a 7a 32 3b 79 3d 79 32 2a 7a 32 2a 61 66 2d 2e 31 3b 0d 0a 1/z2);..x=x1*z2;y=y2*z2*af-.1;..
4340 0d 0a 2f 2f 20 52 65 63 61 6c 63 75 6c 61 74 65 20 66 6f 72 20 6c 69 6e 65 61 72 20 74 65 78 74 ..//.Recalculate.for.linear.text
4360 75 72 65 20 63 6f 6f 72 64 69 6e 61 74 65 73 0d 0a 70 78 3d 63 70 78 3b 0d 0a 78 31 3d 70 78 2a ure.coordinates..px=cpx;..x1=px*
4380 63 79 2d 70 7a 2a 73 79 3b 7a 31 3d 70 78 2a 73 79 2b 70 7a 2a 63 79 3b 0d 0a 79 32 3d 70 79 2a cy-pz*sy;z1=px*sy+pz*cy;..y2=py*
43a0 63 78 2d 7a 31 2a 73 78 3b 7a 32 3d 70 79 2a 73 78 2b 7a 31 2a 63 78 2b 7a 64 69 73 74 3b 0d 0a cx-z1*sx;z2=py*sx+z1*cx+zdist;..
43c0 2f 2f 20 46 61 6b 65 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 20 6d 61 70 70 69 6e 67 0d 0a 61 3d 78 //.Fake.environment.mapping..a=x
43e0 31 2b 73 69 6e 28 79 32 2a 2e 37 2d 78 31 2a 2e 36 29 2a 32 2b 35 3b 62 3d 79 32 2a 2e 35 2d 78 1+sin(y2*.7-x1*.6)*2+5;b=y2*.5-x
4400 31 2a 31 2e 31 2b 2e 35 3b 63 3d 63 6f 73 28 61 29 3b 0d 0a 72 65 64 3d 28 63 2b 73 69 6e 28 62 1*1.1+.5;c=cos(a);..red=(c+sin(b
4420 29 29 2a 2e 33 30 2b 2e 37 3b 0d 0a 67 72 65 65 6e 3d 28 63 6f 73 28 61 2b 2e 32 29 2b 73 69 6e ))*.30+.7;..green=(cos(a+.2)+sin
4440 28 62 2d 2e 31 29 2a 31 2e 32 29 2a 2e 33 30 2b 2e 35 3b 0d 0a 62 6c 75 65 3d 28 63 2b 73 69 6e (b-.1)*1.2)*.30+.5;..blue=(c+sin
4460 28 62 2b 2e 32 29 2a 31 2e 35 29 2a 2e 33 30 2b 2e 30 3b 0d 0a 0d 0a 2f 2f 20 53 74 61 74 65 20 (b+.2)*1.5)*.30+.0;....//.State.
4480 76 61 72 73 0d 0a 70 3d 62 6e 6f 74 28 70 29 3b 0d 0a 00 08 02 00 00 2f 2f 20 53 65 74 75 70 20 vars..p=bnot(p);.......//.Setup.
44a0 63 6f 6c 75 6d 6e 0d 0a 78 3d 70 6f 73 2a 24 70 69 2a 2e 33 33 33 3b 63 70 78 3d 72 64 64 2a 63 column..x=pos*$pi*.333;cpx=rdd*c
44c0 6f 73 28 78 29 3b 63 70 7a 3d 72 64 64 2a 73 69 6e 28 78 29 3b 0d 0a 0d 0a 2f 2f 20 43 61 6d 65 os(x);cpz=rdd*sin(x);....//.Came
44e0 72 61 0d 0a 7a 64 69 73 74 3d 72 65 67 30 30 3b 72 79 3d 72 65 67 30 31 3b 6f 79 3d 72 65 67 30 ra..zdist=reg00;ry=reg01;oy=reg0
4500 32 3b 72 78 3d 72 65 67 30 33 3b 73 74 65 70 73 3d 72 65 67 30 39 3b 0d 0a 63 79 74 3d 72 65 67 2;rx=reg03;steps=reg09;..cyt=reg
4520 30 37 3b 73 79 74 3d 72 65 67 30 38 3b 0d 0a 72 6f 66 66 3d 28 28 28 28 61 62 73 28 33 2a 72 79 07;syt=reg08;..roff=((((abs(3*ry
4540 2f 24 70 69 29 7c 30 29 25 36 29 2a 73 69 67 6e 28 72 79 29 2b 31 32 29 25 36 29 3b 0d 0a 72 79 /$pi)|0)%6)*sign(ry)+12)%6);..ry
4560 3d 72 79 2d 28 72 6f 66 66 2b 32 29 2a 24 70 69 2f 33 3b 0d 0a 63 78 3d 63 6f 73 28 72 78 29 3b =ry-(roff+2)*$pi/3;..cx=cos(rx);
4580 73 78 3d 73 69 6e 28 72 78 29 3b 0d 0a 63 79 3d 63 6f 73 28 72 79 29 3b 73 79 3d 73 69 6e 28 72 sx=sin(rx);..cy=cos(ry);sy=sin(r
45a0 79 29 3b 0d 0a 0d 0a 2f 2f 20 53 6f 75 6e 64 20 72 65 73 70 6f 6e 73 65 0d 0a 6e 3d 69 66 28 65 y);....//.Sound.response..n=if(e
45c0 71 75 61 6c 28 72 6f 66 66 2c 30 29 2c 72 65 67 31 35 2c 69 66 28 65 71 75 61 6c 28 72 6f 66 66 qual(roff,0),reg15,if(equal(roff
45e0 2c 31 29 2c 72 65 67 31 36 2c 69 66 28 65 71 75 61 6c 28 72 6f 66 66 2c 32 29 2c 72 65 67 31 31 ,1),reg16,if(equal(roff,2),reg11
4600 2c 69 66 28 65 71 75 61 6c 28 72 6f 66 66 2c 33 29 2c 72 65 67 31 32 2c 69 66 28 65 71 75 61 6c ,if(equal(roff,3),reg12,if(equal
4620 28 72 6f 66 66 2c 34 29 2c 72 65 67 31 33 2c 72 65 67 31 34 29 29 29 29 29 3b 0d 0a 6e 3d 28 28 (roff,4),reg13,reg14)))));..n=((
4640 6e 2a 73 74 65 70 73 29 7c 30 29 3b 72 65 73 70 3d 72 65 67 33 30 3b 0d 0a 70 79 3d 6f 79 2d 6e n*steps)|0);resp=reg30;..py=oy-n
4660 2a 72 65 73 70 3b 0d 0a 6e 3d 33 35 2a 77 2f 33 32 30 3b 0d 0a 0d 0a 2f 2f 20 53 74 61 74 65 20 *resp;..n=35*w/320;....//.State.
4680 76 61 72 73 0d 0a 63 73 3d 24 70 69 2a 2e 33 33 33 33 3b 61 66 3d 77 2f 68 3b 70 3d 30 3b 00 00 vars..cs=$pi*.3333;af=w/h;p=0;..
46a0 00 00 00 25 00 00 00 2f 2f 20 43 6f 6c 75 6d 6e 20 35 20 54 6f 70 0d 0a 6e 3d 30 3b 72 64 64 3d ...%...//.Column.5.Top..n=0;rdd=
46c0 31 3b 70 6f 73 3d 2d 33 2e 35 3b 00 02 00 00 00 01 00 00 00 ff ff ff 00 01 00 00 00 24 00 00 00 1;pos=-3.5;.................$...
46e0 5f 05 00 00 01 e6 02 00 00 2f 2f 20 53 65 74 20 75 70 20 63 6f 6c 75 6d 6e 0d 0a 71 3d 69 66 28 _........//.Set.up.column..q=if(
4700 6f 64 64 2c 33 2d 70 2c 70 29 3b 0d 0a 61 3d 63 73 2a 28 71 2b 2e 35 2b 70 6f 66 66 29 3b 0d 0a odd,3-p,p);..a=cs*(q+.5+poff);..
4720 70 78 3d 63 6f 73 28 61 29 2a 2e 35 2b 63 70 78 3b 70 7a 3d 73 69 6e 28 61 29 2a 2e 35 2b 63 70 px=cos(a)*.5+cpx;pz=sin(a)*.5+cp
4740 7a 3b 0d 0a 0d 0a 2f 2f 20 54 72 61 6e 73 66 6f 72 6d 20 61 6e 64 20 70 72 6f 6a 65 63 74 0d 0a z;....//.Transform.and.project..
4760 78 31 3d 70 78 2a 63 79 2d 70 7a 2a 73 79 3b 7a 31 3d 70 78 2a 73 79 2b 70 7a 2a 63 79 3b 0d 0a x1=px*cy-pz*sy;z1=px*sy+pz*cy;..
4780 79 32 3d 70 79 2a 63 78 2d 7a 31 2a 73 78 3b 7a 32 3d 70 79 2a 73 78 2b 7a 31 2a 63 78 2b 7a 64 y2=py*cx-z1*sx;z2=py*sx+z1*cx+zd
47a0 69 73 74 3b 0d 0a 7a 32 3d 7a 32 2a 2e 37 35 3b 20 20 20 0d 0a 7a 32 3d 69 66 28 62 65 6c 6f 77 ist;..z2=z2*.75;.....z2=if(below
47c0 28 7a 32 2c 2e 30 32 29 2c 30 2c 31 2f 7a 32 29 3b 0d 0a 78 3d 78 31 2a 7a 32 3b 79 3d 79 32 2a (z2,.02),0,1/z2);..x=x1*z2;y=y2*
47e0 7a 32 2a 61 66 2d 2e 31 3b 0d 0a 0d 0a 2f 2f 20 52 65 63 61 6c 63 75 6c 61 74 65 20 66 6f 72 20 z2*af-.1;....//.Recalculate.for.
4800 6c 69 6e 65 61 72 20 74 65 78 74 75 72 65 20 63 6f 6f 72 64 69 6e 61 74 65 73 0d 0a 71 3d 69 66 linear.texture.coordinates..q=if
4820 28 6f 64 64 2c 32 2e 35 2d 65 71 75 61 6c 28 70 2c 32 29 2c 6d 61 78 28 2e 35 2c 70 2d 2e 35 29 (odd,2.5-equal(p,2),max(.5,p-.5)
4840 29 2b 32 3b 0d 0a 61 3d 63 73 2a 28 71 2b 2e 35 2b 70 6f 66 66 29 3b 0d 0a 70 78 3d 63 6f 73 28 )+2;..a=cs*(q+.5+poff);..px=cos(
4860 61 29 2a 2e 35 3b 70 7a 3d 73 69 6e 28 61 29 2a 2e 35 3b 0d 0a 78 31 3d 70 78 2a 63 79 74 2d 70 a)*.5;pz=sin(a)*.5;..x1=px*cyt-p
4880 7a 2a 73 79 74 2d 72 64 64 2a 33 2e 3b 7a 31 3d 70 78 2a 73 79 74 2b 70 7a 2a 63 79 74 3b 0d 0a z*syt-rdd*3.;z1=px*syt+pz*cyt;..
48a0 79 32 3d 70 79 2a 63 78 2d 7a 31 2a 73 78 3b 7a 32 3d 70 79 2a 73 78 2b 7a 31 2a 63 78 2b 7a 64 y2=py*cx-z1*sx;z2=py*sx+z1*cx+zd
48c0 69 73 74 3b 0d 0a 2f 2f 20 46 61 6b 65 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 20 6d 61 70 70 69 6e ist;..//.Fake.environment.mappin
48e0 67 0d 0a 61 3d 78 31 2a 32 37 2b 73 69 6e 28 79 32 2d 78 31 2a 33 29 2a 32 2b 35 3b 62 3d 79 32 g..a=x1*27+sin(y2-x1*3)*2+5;b=y2
4900 2a 2e 38 2d 78 31 2a 32 2e 31 2b 2e 35 3b 63 3d 63 6f 73 28 61 29 3b 0d 0a 72 65 64 3d 28 63 2b *.8-x1*2.1+.5;c=cos(a);..red=(c+
4920 73 69 6e 28 62 29 29 2a 2e 33 30 2b 2e 37 3b 0d 0a 67 72 65 65 6e 3d 28 63 6f 73 28 61 2b 2e 32 sin(b))*.30+.7;..green=(cos(a+.2
4940 29 2b 73 69 6e 28 62 2d 2e 31 29 2a 31 2e 32 29 2a 2e 33 30 2b 2e 35 3b 0d 0a 62 6c 75 65 3d 28 )+sin(b-.1)*1.2)*.30+.5;..blue=(
4960 63 2b 73 69 6e 28 62 2b 2e 32 29 2a 31 2e 35 29 2a 2e 33 30 2b 2e 30 3b 0d 0a 0d 0a 2f 2f 20 53 c+sin(b+.2)*1.5)*.30+.0;....//.S
4980 74 61 74 65 20 76 61 72 73 0d 0a 70 3d 28 70 2b 31 29 25 33 3b 70 79 3d 70 79 2d 65 71 75 61 6c tate.vars..p=(p+1)%3;py=py-equal
49a0 28 70 2c 30 29 2a 72 65 73 70 3b 0d 0a 6f 64 64 3d 69 66 28 65 71 75 61 6c 28 70 2c 30 29 2c 62 (p,0)*resp;..odd=if(equal(p,0),b
49c0 6e 6f 74 28 6f 64 64 29 2c 6f 64 64 29 3b 00 37 02 00 00 2f 2f 20 53 65 74 75 70 20 63 6f 6c 75 not(odd),odd);.7...//.Setup.colu
49e0 6d 6e 0d 0a 78 3d 70 6f 73 2a 24 70 69 2a 2e 33 33 33 3b 63 70 78 3d 72 64 64 2a 63 6f 73 28 78 mn..x=pos*$pi*.333;cpx=rdd*cos(x
4a00 29 3b 63 70 7a 3d 72 64 64 2a 73 69 6e 28 78 29 3b 0d 0a 0d 0a 2f 2f 20 43 61 6d 65 72 61 0d 0a );cpz=rdd*sin(x);....//.Camera..
4a20 7a 64 69 73 74 3d 72 65 67 30 30 3b 72 79 3d 72 65 67 30 31 3b 6f 79 3d 72 65 67 30 32 3b 72 78 zdist=reg00;ry=reg01;oy=reg02;rx
4a40 3d 72 65 67 30 33 3b 73 74 65 70 73 3d 72 65 67 30 39 3b 0d 0a 63 79 74 3d 72 65 67 30 37 3b 73 =reg03;steps=reg09;..cyt=reg07;s
4a60 79 74 3d 72 65 67 30 38 3b 0d 0a 72 6f 66 66 3d 28 28 28 28 61 62 73 28 33 2a 72 79 2f 24 70 69 yt=reg08;..roff=((((abs(3*ry/$pi
4a80 29 7c 30 29 25 36 29 2a 73 69 67 6e 28 72 79 29 2b 31 32 29 25 36 29 3b 0d 0a 72 79 3d 72 79 2d )|0)%6)*sign(ry)+12)%6);..ry=ry-
4aa0 28 72 6f 66 66 2b 32 29 2a 24 70 69 2f 33 3b 0d 0a 63 78 3d 63 6f 73 28 72 78 29 3b 73 78 3d 73 (roff+2)*$pi/3;..cx=cos(rx);sx=s
4ac0 69 6e 28 72 78 29 3b 0d 0a 63 79 3d 63 6f 73 28 72 79 29 3b 73 79 3d 73 69 6e 28 72 79 29 3b 0d in(rx);..cy=cos(ry);sy=sin(ry);.
4ae0 0a 0d 0a 2f 2f 20 53 6f 75 6e 64 20 72 65 73 70 6f 6e 73 65 0d 0a 6e 3d 69 66 28 65 71 75 61 6c ...//.Sound.response..n=if(equal
4b00 28 72 6f 66 66 2c 30 29 2c 72 65 67 31 33 2c 69 66 28 65 71 75 61 6c 28 72 6f 66 66 2c 31 29 2c (roff,0),reg13,if(equal(roff,1),
4b20 72 65 67 31 34 2c 69 66 28 65 71 75 61 6c 28 72 6f 66 66 2c 32 29 2c 72 65 67 31 35 2c 69 66 28 reg14,if(equal(roff,2),reg15,if(
4b40 65 71 75 61 6c 28 72 6f 66 66 2c 33 29 2c 72 65 67 31 36 2c 69 66 28 65 71 75 61 6c 28 72 6f 66 equal(roff,3),reg16,if(equal(rof
4b60 66 2c 34 29 2c 72 65 67 31 31 2c 72 65 67 31 32 29 29 29 29 29 3b 0d 0a 6e 3d 28 28 6e 2a 73 74 f,4),reg11,reg12)))));..n=((n*st
4b80 65 70 73 29 7c 30 29 2a 33 2b 33 3b 72 65 73 70 3d 72 65 67 33 30 3b 0d 0a 70 79 3d 6f 79 3b 0d eps)|0)*3+3;resp=reg30;..py=oy;.
4ba0 0a 0d 0a 2f 2f 20 53 74 61 74 65 20 76 61 72 73 0d 0a 63 73 3d 24 70 69 2a 2e 33 33 33 33 3b 61 ...//.State.vars..cs=$pi*.3333;a
4bc0 66 3d 77 2f 68 3b 70 3d 30 3b 0d 0a 70 6f 66 66 3d 28 2d 33 2a 72 79 2f 24 70 69 29 3b 0d 0a 70 f=w/h;p=0;..poff=(-3*ry/$pi);..p
4be0 6f 66 66 3d 28 61 62 73 28 70 6f 66 66 29 25 36 29 2a 73 69 67 6e 28 70 6f 66 66 29 2b 32 2e 35 off=(abs(poff)%6)*sign(poff)+2.5
4c00 3b 0d 0a 6f 64 64 3d 30 3b 00 00 00 00 00 21 00 00 00 2f 2f 20 43 6f 6c 75 6d 6e 20 33 0d 0a 6e ;..odd=0;.....!...//.Column.3..n
4c20 3d 30 3b 72 64 64 3d 31 3b 70 6f 73 3d 2d 31 2e 35 3b 00 02 00 00 00 01 00 00 00 ff ff ff 00 01 =0;rdd=1;pos=-1.5;..............
4c40 00 00 00 24 00 00 00 99 04 00 00 01 4b 02 00 00 2f 2f 20 53 65 74 20 75 70 20 63 6f 6c 75 6d 6e ...$........K...//.Set.up.column
4c60 0d 0a 70 7a 3d 28 69 2d 2e 35 29 2a 2e 38 36 36 3b 70 78 3d 28 70 2d 2e 35 29 2a 28 31 2d 61 62 ..pz=(i-.5)*.866;px=(p-.5)*(1-ab
4c80 73 28 69 2d 2e 35 29 29 3b 0d 0a 70 78 3d 70 78 2b 63 70 78 3b 70 7a 3d 70 7a 2b 63 70 7a 3b 0d s(i-.5));..px=px+cpx;pz=pz+cpz;.
4ca0 0a 0d 0a 2f 2f 20 54 72 61 6e 73 66 6f 72 6d 20 61 6e 64 20 70 72 6f 6a 65 63 74 0d 0a 78 31 3d ...//.Transform.and.project..x1=
4cc0 70 78 2a 63 79 2d 70 7a 2a 73 79 3b 7a 31 3d 70 78 2a 73 79 2b 70 7a 2a 63 79 3b 0d 0a 79 32 3d px*cy-pz*sy;z1=px*sy+pz*cy;..y2=
4ce0 70 79 2a 63 78 2d 7a 31 2a 73 78 3b 7a 32 3d 70 79 2a 73 78 2b 7a 31 2a 63 78 2b 7a 64 69 73 74 py*cx-z1*sx;z2=py*sx+z1*cx+zdist
4d00 3b 0d 0a 7a 32 3d 7a 32 2a 2e 37 35 3b 20 20 20 0d 0a 7a 32 3d 69 66 28 62 65 6c 6f 77 28 7a 32 ;..z2=z2*.75;.....z2=if(below(z2
4d20 2c 2e 30 32 29 2c 30 2c 31 2f 7a 32 29 3b 0d 0a 78 3d 78 31 2a 7a 32 3b 79 3d 79 32 2a 7a 32 2a ,.02),0,1/z2);..x=x1*z2;y=y2*z2*
4d40 61 66 2d 2e 31 3b 0d 0a 0d 0a 2f 2f 20 52 65 63 61 6c 63 75 6c 61 74 65 20 66 6f 72 20 6c 69 6e af-.1;....//.Recalculate.for.lin
4d60 65 61 72 20 74 65 78 74 75 72 65 20 63 6f 6f 72 64 69 6e 61 74 65 73 0d 0a 70 78 3d 63 70 78 3b ear.texture.coordinates..px=cpx;
4d80 0d 0a 78 31 3d 70 78 2a 63 79 2d 70 7a 2a 73 79 3b 7a 31 3d 70 78 2a 73 79 2b 70 7a 2a 63 79 3b ..x1=px*cy-pz*sy;z1=px*sy+pz*cy;
4da0 0d 0a 79 32 3d 70 79 2a 63 78 2d 7a 31 2a 73 78 3b 7a 32 3d 70 79 2a 73 78 2b 7a 31 2a 63 78 2b ..y2=py*cx-z1*sx;z2=py*sx+z1*cx+
4dc0 7a 64 69 73 74 3b 0d 0a 2f 2f 20 46 61 6b 65 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 20 6d 61 70 70 zdist;..//.Fake.environment.mapp
4de0 69 6e 67 0d 0a 61 3d 78 31 2b 73 69 6e 28 79 32 2a 2e 37 2d 78 31 2a 2e 36 29 2a 32 2b 35 3b 62 ing..a=x1+sin(y2*.7-x1*.6)*2+5;b
4e00 3d 79 32 2a 2e 35 2d 78 31 2a 31 2e 31 2b 2e 35 3b 63 3d 63 6f 73 28 61 29 3b 0d 0a 72 65 64 3d =y2*.5-x1*1.1+.5;c=cos(a);..red=
4e20 28 63 2b 73 69 6e 28 62 29 29 2a 2e 33 30 2b 2e 37 3b 0d 0a 67 72 65 65 6e 3d 28 63 6f 73 28 61 (c+sin(b))*.30+.7;..green=(cos(a
4e40 2b 2e 32 29 2b 73 69 6e 28 62 2d 2e 31 29 2a 31 2e 32 29 2a 2e 33 30 2b 2e 35 3b 0d 0a 62 6c 75 +.2)+sin(b-.1)*1.2)*.30+.5;..blu
4e60 65 3d 28 63 2b 73 69 6e 28 62 2b 2e 32 29 2a 31 2e 35 29 2a 2e 33 30 2b 2e 30 3b 0d 0a 0d 0a 2f e=(c+sin(b+.2)*1.5)*.30+.0;..../
4e80 2f 20 53 74 61 74 65 20 76 61 72 73 0d 0a 70 3d 62 6e 6f 74 28 70 29 3b 0d 0a 00 08 02 00 00 2f /.State.vars..p=bnot(p);......./
4ea0 2f 20 53 65 74 75 70 20 63 6f 6c 75 6d 6e 0d 0a 78 3d 70 6f 73 2a 24 70 69 2a 2e 33 33 33 3b 63 /.Setup.column..x=pos*$pi*.333;c
4ec0 70 78 3d 72 64 64 2a 63 6f 73 28 78 29 3b 63 70 7a 3d 72 64 64 2a 73 69 6e 28 78 29 3b 0d 0a 0d px=rdd*cos(x);cpz=rdd*sin(x);...
4ee0 0a 2f 2f 20 43 61 6d 65 72 61 0d 0a 7a 64 69 73 74 3d 72 65 67 30 30 3b 72 79 3d 72 65 67 30 31 .//.Camera..zdist=reg00;ry=reg01
4f00 3b 6f 79 3d 72 65 67 30 32 3b 72 78 3d 72 65 67 30 33 3b 73 74 65 70 73 3d 72 65 67 30 39 3b 0d ;oy=reg02;rx=reg03;steps=reg09;.
4f20 0a 63 79 74 3d 72 65 67 30 37 3b 73 79 74 3d 72 65 67 30 38 3b 0d 0a 72 6f 66 66 3d 28 28 28 28 .cyt=reg07;syt=reg08;..roff=((((
4f40 61 62 73 28 33 2a 72 79 2f 24 70 69 29 7c 30 29 25 36 29 2a 73 69 67 6e 28 72 79 29 2b 31 32 29 abs(3*ry/$pi)|0)%6)*sign(ry)+12)
4f60 25 36 29 3b 0d 0a 72 79 3d 72 79 2d 28 72 6f 66 66 2b 32 29 2a 24 70 69 2f 33 3b 0d 0a 63 78 3d %6);..ry=ry-(roff+2)*$pi/3;..cx=
4f80 63 6f 73 28 72 78 29 3b 73 78 3d 73 69 6e 28 72 78 29 3b 0d 0a 63 79 3d 63 6f 73 28 72 79 29 3b cos(rx);sx=sin(rx);..cy=cos(ry);
4fa0 73 79 3d 73 69 6e 28 72 79 29 3b 0d 0a 0d 0a 2f 2f 20 53 6f 75 6e 64 20 72 65 73 70 6f 6e 73 65 sy=sin(ry);....//.Sound.response
4fc0 0d 0a 6e 3d 69 66 28 65 71 75 61 6c 28 72 6f 66 66 2c 30 29 2c 72 65 67 31 33 2c 69 66 28 65 71 ..n=if(equal(roff,0),reg13,if(eq
4fe0 75 61 6c 28 72 6f 66 66 2c 31 29 2c 72 65 67 31 34 2c 69 66 28 65 71 75 61 6c 28 72 6f 66 66 2c ual(roff,1),reg14,if(equal(roff,
5000 32 29 2c 72 65 67 31 35 2c 69 66 28 65 71 75 61 6c 28 72 6f 66 66 2c 33 29 2c 72 65 67 31 36 2c 2),reg15,if(equal(roff,3),reg16,
5020 69 66 28 65 71 75 61 6c 28 72 6f 66 66 2c 34 29 2c 72 65 67 31 31 2c 72 65 67 31 32 29 29 29 29 if(equal(roff,4),reg11,reg12))))
5040 29 3b 0d 0a 6e 3d 28 28 6e 2a 73 74 65 70 73 29 7c 30 29 3b 72 65 73 70 3d 72 65 67 33 30 3b 0d );..n=((n*steps)|0);resp=reg30;.
5060 0a 70 79 3d 6f 79 2d 6e 2a 72 65 73 70 3b 0d 0a 6e 3d 33 35 2a 77 2f 33 32 30 3b 0d 0a 0d 0a 2f .py=oy-n*resp;..n=35*w/320;..../
5080 2f 20 53 74 61 74 65 20 76 61 72 73 0d 0a 63 73 3d 24 70 69 2a 2e 33 33 33 33 3b 61 66 3d 77 2f /.State.vars..cs=$pi*.3333;af=w/
50a0 68 3b 70 3d 30 3b 00 00 00 00 00 25 00 00 00 2f 2f 20 43 6f 6c 75 6d 6e 20 33 20 54 6f 70 0d 0a h;p=0;.....%...//.Column.3.Top..
50c0 6e 3d 30 3b 72 64 64 3d 31 3b 70 6f 73 3d 2d 31 2e 35 3b 00 02 00 00 00 01 00 00 00 ff ff ff 00 n=0;rdd=1;pos=-1.5;.............
50e0 01 00 00 00 24 00 00 00 a5 04 00 00 01 e4 02 00 00 2f 2f 20 53 65 74 20 75 70 20 63 6f 6c 75 6d ....$............//.Set.up.colum
5100 6e 0d 0a 71 3d 69 66 28 6f 64 64 2c 33 2d 70 2c 70 29 3b 0d 0a 61 3d 63 73 2a 28 71 2b 2e 35 2b n..q=if(odd,3-p,p);..a=cs*(q+.5+
5120 70 6f 66 66 29 3b 0d 0a 70 78 3d 63 6f 73 28 61 29 2a 2e 35 2b 63 70 78 3b 70 7a 3d 73 69 6e 28 poff);..px=cos(a)*.5+cpx;pz=sin(
5140 61 29 2a 2e 35 2b 63 70 7a 3b 0d 0a 0d 0a 2f 2f 20 54 72 61 6e 73 66 6f 72 6d 20 61 6e 64 20 70 a)*.5+cpz;....//.Transform.and.p
5160 72 6f 6a 65 63 74 0d 0a 78 31 3d 70 78 2a 63 79 2d 70 7a 2a 73 79 3b 7a 31 3d 70 78 2a 73 79 2b roject..x1=px*cy-pz*sy;z1=px*sy+
5180 70 7a 2a 63 79 3b 0d 0a 79 32 3d 70 79 2a 63 78 2d 7a 31 2a 73 78 3b 7a 32 3d 70 79 2a 73 78 2b pz*cy;..y2=py*cx-z1*sx;z2=py*sx+
51a0 7a 31 2a 63 78 2b 7a 64 69 73 74 3b 0d 0a 7a 32 3d 7a 32 2a 2e 37 35 3b 20 20 20 0d 0a 7a 32 3d z1*cx+zdist;..z2=z2*.75;.....z2=
51c0 69 66 28 62 65 6c 6f 77 28 7a 32 2c 2e 30 32 29 2c 30 2c 31 2f 7a 32 29 3b 0d 0a 78 3d 78 31 2a if(below(z2,.02),0,1/z2);..x=x1*
51e0 7a 32 3b 79 3d 79 32 2a 7a 32 2a 61 66 2d 2e 31 3b 0d 0a 0d 0a 2f 2f 20 52 65 63 61 6c 63 75 6c z2;y=y2*z2*af-.1;....//.Recalcul
5200 61 74 65 20 66 6f 72 20 6c 69 6e 65 61 72 20 74 65 78 74 75 72 65 20 63 6f 6f 72 64 69 6e 61 74 ate.for.linear.texture.coordinat
5220 65 73 0d 0a 71 3d 69 66 28 6f 64 64 2c 32 2e 35 2d 65 71 75 61 6c 28 70 2c 32 29 2c 6d 61 78 28 es..q=if(odd,2.5-equal(p,2),max(
5240 2e 35 2c 70 2d 2e 35 29 29 3b 0d 0a 61 3d 63 73 2a 28 71 2b 2e 35 2b 70 6f 66 66 29 3b 0d 0a 70 .5,p-.5));..a=cs*(q+.5+poff);..p
5260 78 3d 63 6f 73 28 61 29 2a 2e 35 3b 70 7a 3d 73 69 6e 28 61 29 2a 2e 35 3b 0d 0a 78 31 3d 70 78 x=cos(a)*.5;pz=sin(a)*.5;..x1=px
5280 2a 63 79 74 2d 70 7a 2a 73 79 74 2d 72 64 64 2a 33 2e 3b 7a 31 3d 70 78 2a 73 79 74 2b 70 7a 2a *cyt-pz*syt-rdd*3.;z1=px*syt+pz*
52a0 63 79 74 3b 0d 0a 79 32 3d 70 79 2a 63 78 2d 7a 31 2a 73 78 3b 7a 32 3d 70 79 2a 73 78 2b 7a 31 cyt;..y2=py*cx-z1*sx;z2=py*sx+z1
52c0 2a 63 78 2b 7a 64 69 73 74 3b 0d 0a 2f 2f 20 46 61 6b 65 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 20 *cx+zdist;..//.Fake.environment.
52e0 6d 61 70 70 69 6e 67 0d 0a 61 3d 78 31 2a 32 37 2b 73 69 6e 28 79 32 2d 78 31 2a 33 29 2a 32 2b mapping..a=x1*27+sin(y2-x1*3)*2+
5300 35 3b 62 3d 79 32 2a 2e 38 2d 78 31 2a 32 2e 31 2b 2e 35 3b 63 3d 63 6f 73 28 61 29 3b 0d 0a 72 5;b=y2*.8-x1*2.1+.5;c=cos(a);..r
5320 65 64 3d 28 63 2b 73 69 6e 28 62 29 29 2a 2e 33 30 2b 2e 37 3b 0d 0a 67 72 65 65 6e 3d 28 63 6f ed=(c+sin(b))*.30+.7;..green=(co
5340 73 28 61 2b 2e 32 29 2b 73 69 6e 28 62 2d 2e 31 29 2a 31 2e 32 29 2a 2e 33 30 2b 2e 35 3b 0d 0a s(a+.2)+sin(b-.1)*1.2)*.30+.5;..
5360 62 6c 75 65 3d 28 63 2b 73 69 6e 28 62 2b 2e 32 29 2a 31 2e 35 29 2a 2e 33 30 2b 2e 30 3b 0d 0a blue=(c+sin(b+.2)*1.5)*.30+.0;..
5380 0d 0a 2f 2f 20 53 74 61 74 65 20 76 61 72 73 0d 0a 70 3d 28 70 2b 31 29 25 33 3b 70 79 3d 70 79 ..//.State.vars..p=(p+1)%3;py=py
53a0 2d 65 71 75 61 6c 28 70 2c 30 29 2a 72 65 73 70 3b 0d 0a 6f 64 64 3d 69 66 28 65 71 75 61 6c 28 -equal(p,0)*resp;..odd=if(equal(
53c0 70 2c 30 29 2c 62 6e 6f 74 28 6f 64 64 29 2c 6f 64 64 29 3b 00 82 01 00 00 2f 2f 20 53 65 74 75 p,0),bnot(odd),odd);.....//.Setu
53e0 70 20 63 6f 6c 75 6d 6e 0d 0a 78 3d 70 6f 73 2a 24 70 69 2a 2e 33 33 33 3b 63 70 78 3d 72 64 64 p.column..x=pos*$pi*.333;cpx=rdd
5400 2a 63 6f 73 28 78 29 3b 63 70 7a 3d 72 64 64 2a 73 69 6e 28 78 29 3b 0d 0a 0d 0a 2f 2f 20 43 61 *cos(x);cpz=rdd*sin(x);....//.Ca
5420 6d 65 72 61 0d 0a 7a 64 69 73 74 3d 72 65 67 30 30 3b 72 79 3d 72 65 67 30 31 3b 6f 79 3d 72 65 mera..zdist=reg00;ry=reg01;oy=re
5440 67 30 32 3b 72 78 3d 72 65 67 30 33 3b 73 74 65 70 73 3d 72 65 67 30 39 3b 0d 0a 63 79 74 3d 72 g02;rx=reg03;steps=reg09;..cyt=r
5460 65 67 30 37 3b 73 79 74 3d 72 65 67 30 38 3b 0d 0a 63 78 3d 63 6f 73 28 72 78 29 3b 73 78 3d 73 eg07;syt=reg08;..cx=cos(rx);sx=s
5480 69 6e 28 72 78 29 3b 0d 0a 63 79 3d 63 6f 73 28 72 79 29 3b 73 79 3d 73 69 6e 28 72 79 29 3b 0d in(rx);..cy=cos(ry);sy=sin(ry);.
54a0 0a 0d 0a 2f 2f 20 53 6f 75 6e 64 20 72 65 73 70 6f 6e 73 65 0d 0a 6e 3d 72 65 67 31 30 2a 31 2e ...//.Sound.response..n=reg10*1.
54c0 34 3b 0d 0a 6e 3d 28 28 6e 2a 73 74 65 70 73 29 7c 30 29 2a 33 2b 33 3b 72 65 73 70 3d 72 65 67 4;..n=((n*steps)|0)*3+3;resp=reg
54e0 33 30 2a 2e 37 31 34 3b 0d 0a 70 79 3d 6f 79 3b 0d 0a 0d 0a 2f 2f 20 53 74 61 74 65 20 76 61 72 30*.714;..py=oy;....//.State.var
5500 73 0d 0a 63 73 3d 24 70 69 2a 2e 33 33 33 33 3b 61 66 3d 77 2f 68 3b 70 3d 30 3b 0d 0a 70 6f 66 s..cs=$pi*.3333;af=w/h;p=0;..pof
5520 66 3d 28 2d 33 2a 72 79 2f 24 70 69 29 3b 0d 0a 70 6f 66 66 3d 28 61 62 73 28 70 6f 66 66 29 25 f=(-3*ry/$pi);..poff=(abs(poff)%
5540 36 29 2a 73 69 67 6e 28 70 6f 66 66 29 2b 32 2e 35 3b 0d 0a 6f 64 64 3d 30 3b 00 00 00 00 00 1e 6)*sign(poff)+2.5;..odd=0;......
5560 00 00 00 2f 2f 20 43 6f 6c 75 6d 6e 20 30 0d 0a 6e 3d 30 3b 72 64 64 3d 30 3b 70 6f 73 3d 30 3b ...//.Column.0..n=0;rdd=0;pos=0;
5580 00 02 00 00 00 01 00 00 00 ff ff ff 00 01 00 00 00 24 00 00 00 ce 03 00 00 01 4b 02 00 00 2f 2f .................$........K...//
55a0 20 53 65 74 20 75 70 20 63 6f 6c 75 6d 6e 0d 0a 70 7a 3d 28 69 2d 2e 35 29 2a 2e 38 36 36 3b 70 .Set.up.column..pz=(i-.5)*.866;p
55c0 78 3d 28 70 2d 2e 35 29 2a 28 31 2d 61 62 73 28 69 2d 2e 35 29 29 3b 0d 0a 70 78 3d 70 78 2b 63 x=(p-.5)*(1-abs(i-.5));..px=px+c
55e0 70 78 3b 70 7a 3d 70 7a 2b 63 70 7a 3b 0d 0a 0d 0a 2f 2f 20 54 72 61 6e 73 66 6f 72 6d 20 61 6e px;pz=pz+cpz;....//.Transform.an
5600 64 20 70 72 6f 6a 65 63 74 0d 0a 78 31 3d 70 78 2a 63 79 2d 70 7a 2a 73 79 3b 7a 31 3d 70 78 2a d.project..x1=px*cy-pz*sy;z1=px*
5620 73 79 2b 70 7a 2a 63 79 3b 0d 0a 79 32 3d 70 79 2a 63 78 2d 7a 31 2a 73 78 3b 7a 32 3d 70 79 2a sy+pz*cy;..y2=py*cx-z1*sx;z2=py*
5640 73 78 2b 7a 31 2a 63 78 2b 7a 64 69 73 74 3b 0d 0a 7a 32 3d 7a 32 2a 2e 37 35 3b 20 20 20 0d 0a sx+z1*cx+zdist;..z2=z2*.75;.....
5660 7a 32 3d 69 66 28 62 65 6c 6f 77 28 7a 32 2c 2e 30 32 29 2c 30 2c 31 2f 7a 32 29 3b 0d 0a 78 3d z2=if(below(z2,.02),0,1/z2);..x=
5680 78 31 2a 7a 32 3b 79 3d 79 32 2a 7a 32 2a 61 66 2d 2e 31 3b 0d 0a 0d 0a 2f 2f 20 52 65 63 61 6c x1*z2;y=y2*z2*af-.1;....//.Recal
56a0 63 75 6c 61 74 65 20 66 6f 72 20 6c 69 6e 65 61 72 20 74 65 78 74 75 72 65 20 63 6f 6f 72 64 69 culate.for.linear.texture.coordi
56c0 6e 61 74 65 73 0d 0a 70 78 3d 63 70 78 3b 0d 0a 78 31 3d 70 78 2a 63 79 2d 70 7a 2a 73 79 3b 7a nates..px=cpx;..x1=px*cy-pz*sy;z
56e0 31 3d 70 78 2a 73 79 2b 70 7a 2a 63 79 3b 0d 0a 79 32 3d 70 79 2a 63 78 2d 7a 31 2a 73 78 3b 7a 1=px*sy+pz*cy;..y2=py*cx-z1*sx;z
5700 32 3d 70 79 2a 73 78 2b 7a 31 2a 63 78 2b 7a 64 69 73 74 3b 0d 0a 2f 2f 20 46 61 6b 65 20 65 6e 2=py*sx+z1*cx+zdist;..//.Fake.en
5720 76 69 72 6f 6e 6d 65 6e 74 20 6d 61 70 70 69 6e 67 0d 0a 61 3d 78 31 2b 73 69 6e 28 79 32 2a 2e vironment.mapping..a=x1+sin(y2*.
5740 37 2d 78 31 2a 2e 36 29 2a 32 2b 35 3b 62 3d 79 32 2a 2e 35 2d 78 31 2a 31 2e 31 2b 2e 35 3b 63 7-x1*.6)*2+5;b=y2*.5-x1*1.1+.5;c
5760 3d 63 6f 73 28 61 29 3b 0d 0a 72 65 64 3d 28 63 2b 73 69 6e 28 62 29 29 2a 2e 33 30 2b 2e 37 3b =cos(a);..red=(c+sin(b))*.30+.7;
5780 0d 0a 67 72 65 65 6e 3d 28 63 6f 73 28 61 2b 2e 32 29 2b 73 69 6e 28 62 2d 2e 31 29 2a 31 2e 32 ..green=(cos(a+.2)+sin(b-.1)*1.2
57a0 29 2a 2e 33 30 2b 2e 35 3b 0d 0a 62 6c 75 65 3d 28 63 2b 73 69 6e 28 62 2b 2e 32 29 2a 31 2e 35 )*.30+.5;..blue=(c+sin(b+.2)*1.5
57c0 29 2a 2e 33 30 2b 2e 30 3b 0d 0a 0d 0a 2f 2f 20 53 74 61 74 65 20 76 61 72 73 0d 0a 70 3d 62 6e )*.30+.0;....//.State.vars..p=bn
57e0 6f 74 28 70 29 3b 0d 0a 00 40 01 00 00 2f 2f 20 53 65 74 75 70 20 63 6f 6c 75 6d 6e 0d 0a 78 3d ot(p);...@...//.Setup.column..x=
5800 70 6f 73 2a 24 70 69 2a 2e 33 33 33 3b 63 70 78 3d 72 64 64 2a 63 6f 73 28 78 29 3b 63 70 7a 3d pos*$pi*.333;cpx=rdd*cos(x);cpz=
5820 72 64 64 2a 73 69 6e 28 78 29 3b 0d 0a 0d 0a 2f 2f 20 43 61 6d 65 72 61 0d 0a 7a 64 69 73 74 3d rdd*sin(x);....//.Camera..zdist=
5840 72 65 67 30 30 3b 72 79 3d 72 65 67 30 31 3b 6f 79 3d 72 65 67 30 32 3b 72 78 3d 72 65 67 30 33 reg00;ry=reg01;oy=reg02;rx=reg03
5860 3b 73 74 65 70 73 3d 72 65 67 30 39 3b 0d 0a 63 79 74 3d 72 65 67 30 37 3b 73 79 74 3d 72 65 67 ;steps=reg09;..cyt=reg07;syt=reg
5880 30 38 3b 0d 0a 63 78 3d 63 6f 73 28 72 78 29 3b 73 78 3d 73 69 6e 28 72 78 29 3b 0d 0a 63 79 3d 08;..cx=cos(rx);sx=sin(rx);..cy=
58a0 63 6f 73 28 72 79 29 3b 73 79 3d 73 69 6e 28 72 79 29 3b 0d 0a 0d 0a 2f 2f 20 53 6f 75 6e 64 20 cos(ry);sy=sin(ry);....//.Sound.
58c0 72 65 73 70 6f 6e 73 65 0d 0a 72 65 73 70 3d 72 65 67 33 30 3b 6e 3d 28 72 65 67 31 30 2a 73 74 response..resp=reg30;n=(reg10*st
58e0 65 70 73 29 7c 30 3b 70 79 3d 6f 79 2d 6e 2a 72 65 73 70 3b 0d 0a 6e 3d 35 35 2a 77 2f 33 32 30 eps)|0;py=oy-n*resp;..n=55*w/320
5900 3b 0d 0a 0d 0a 2f 2f 20 53 74 61 74 65 20 76 61 72 73 0d 0a 63 73 3d 24 70 69 2a 2e 33 33 33 33 ;....//.State.vars..cs=$pi*.3333
5920 3b 61 66 3d 77 2f 68 3b 70 3d 30 3b 00 00 00 00 00 22 00 00 00 2f 2f 20 43 6f 6c 75 6d 6e 20 30 ;af=w/h;p=0;....."...//.Column.0
5940 20 54 6f 70 0d 0a 6e 3d 30 3b 72 64 64 3d 30 3b 70 6f 73 3d 30 3b 00 02 00 00 00 01 00 00 00 ff .Top..n=0;rdd=0;pos=0;..........
5960 ff ff 00 01 00 00 00 24 00 00 00 81 05 00 00 01 e3 02 00 00 2f 2f 20 53 65 74 20 75 70 20 63 6f .......$............//.Set.up.co
5980 6c 75 6d 6e 0d 0a 71 3d 69 66 28 6f 64 64 2c 33 2d 70 2c 70 29 3b 0d 0a 61 3d 63 73 2a 28 71 2b lumn..q=if(odd,3-p,p);..a=cs*(q+
59a0 2e 35 2b 70 6f 66 66 29 3b 0d 0a 70 78 3d 63 6f 73 28 61 29 2a 2e 35 2b 63 70 78 3b 70 7a 3d 73 .5+poff);..px=cos(a)*.5+cpx;pz=s
59c0 69 6e 28 61 29 2a 2e 35 2b 63 70 7a 3b 0d 0a 0d 0a 2f 2f 20 54 72 61 6e 73 66 6f 72 6d 20 61 6e in(a)*.5+cpz;....//.Transform.an
59e0 64 20 70 72 6f 6a 65 63 74 0d 0a 78 31 3d 70 78 2a 63 79 2d 70 7a 2a 73 79 3b 7a 31 3d 70 78 2a d.project..x1=px*cy-pz*sy;z1=px*
5a00 73 79 2b 70 7a 2a 63 79 3b 0d 0a 79 32 3d 70 79 2a 63 78 2d 7a 31 2a 73 78 3b 7a 32 3d 70 79 2a sy+pz*cy;..y2=py*cx-z1*sx;z2=py*
5a20 73 78 2b 7a 31 2a 63 78 2b 7a 64 69 73 74 3b 0d 0a 7a 32 3d 7a 32 2a 2e 37 35 3b 0d 0a 7a 32 3d sx+z1*cx+zdist;..z2=z2*.75;..z2=
5a40 69 66 28 62 65 6c 6f 77 28 7a 32 2c 2e 30 32 29 2c 30 2c 31 2f 7a 32 29 3b 0d 0a 78 3d 78 31 2a if(below(z2,.02),0,1/z2);..x=x1*
5a60 7a 32 3b 79 3d 79 32 2a 7a 32 2a 61 66 2d 2e 31 3b 0d 0a 0d 0a 2f 2f 20 52 65 63 61 6c 63 75 6c z2;y=y2*z2*af-.1;....//.Recalcul
5a80 61 74 65 20 66 6f 72 20 6c 69 6e 65 61 72 20 74 65 78 74 75 72 65 20 63 6f 6f 72 64 69 6e 61 74 ate.for.linear.texture.coordinat
5aa0 65 73 0d 0a 71 3d 69 66 28 6f 64 64 2c 32 2e 35 2d 65 71 75 61 6c 28 70 2c 32 29 2c 6d 61 78 28 es..q=if(odd,2.5-equal(p,2),max(
5ac0 2e 35 2c 70 2d 2e 35 29 29 2b 31 3b 0d 0a 61 3d 63 73 2a 28 71 2b 2e 35 2b 70 6f 66 66 29 3b 0d .5,p-.5))+1;..a=cs*(q+.5+poff);.
5ae0 0a 70 78 3d 63 6f 73 28 61 29 2a 2e 35 3b 70 7a 3d 73 69 6e 28 61 29 2a 2e 35 3b 0d 0a 78 31 3d .px=cos(a)*.5;pz=sin(a)*.5;..x1=
5b00 70 78 2a 63 79 74 2d 70 7a 2a 73 79 74 2d 72 64 64 2a 33 2e 3b 7a 31 3d 70 78 2a 73 79 74 2b 70 px*cyt-pz*syt-rdd*3.;z1=px*syt+p
5b20 7a 2a 63 79 74 3b 0d 0a 79 32 3d 70 79 2a 63 78 2d 7a 31 2a 73 78 3b 7a 32 3d 70 79 2a 73 78 2b z*cyt;..y2=py*cx-z1*sx;z2=py*sx+
5b40 7a 31 2a 63 78 2b 7a 64 69 73 74 3b 0d 0a 2f 2f 20 46 61 6b 65 20 65 6e 76 69 72 6f 6e 6d 65 6e z1*cx+zdist;..//.Fake.environmen
5b60 74 20 6d 61 70 70 69 6e 67 0d 0a 61 3d 78 31 2a 32 37 2b 73 69 6e 28 79 32 2d 78 31 2a 33 29 2a t.mapping..a=x1*27+sin(y2-x1*3)*
5b80 32 2b 35 3b 62 3d 79 32 2a 2e 38 2d 78 31 2a 32 2e 31 2b 2e 35 3b 63 3d 63 6f 73 28 61 29 3b 0d 2+5;b=y2*.8-x1*2.1+.5;c=cos(a);.
5ba0 0a 72 65 64 3d 28 63 2b 73 69 6e 28 62 29 29 2a 2e 33 30 2b 2e 37 3b 0d 0a 67 72 65 65 6e 3d 28 .red=(c+sin(b))*.30+.7;..green=(
5bc0 63 6f 73 28 61 2b 2e 32 29 2b 73 69 6e 28 62 2d 2e 31 29 2a 31 2e 32 29 2a 2e 33 30 2b 2e 35 3b cos(a+.2)+sin(b-.1)*1.2)*.30+.5;
5be0 0d 0a 62 6c 75 65 3d 28 63 2b 73 69 6e 28 62 2b 2e 32 29 2a 31 2e 35 29 2a 2e 33 30 2b 2e 30 3b ..blue=(c+sin(b+.2)*1.5)*.30+.0;
5c00 0d 0a 0d 0a 2f 2f 20 53 74 61 74 65 20 76 61 72 73 0d 0a 70 3d 28 70 2b 31 29 25 33 3b 70 79 3d ....//.State.vars..p=(p+1)%3;py=
5c20 70 79 2d 65 71 75 61 6c 28 70 2c 30 29 2a 72 65 73 70 3b 0d 0a 6f 64 64 3d 69 66 28 65 71 75 61 py-equal(p,0)*resp;..odd=if(equa
5c40 6c 28 70 2c 30 29 2c 62 6e 6f 74 28 6f 64 64 29 2c 6f 64 64 29 3b 00 5a 02 00 00 2f 2f 20 53 65 l(p,0),bnot(odd),odd);.Z...//.Se
5c60 74 75 70 20 63 6f 6c 75 6d 6e 0d 0a 78 3d 70 6f 73 2a 24 70 69 2a 2e 33 33 33 3b 63 70 78 3d 72 tup.column..x=pos*$pi*.333;cpx=r
5c80 64 64 2a 63 6f 73 28 78 29 3b 63 70 7a 3d 72 64 64 2a 73 69 6e 28 78 29 3b 0d 0a 0d 0a 2f 2f 20 dd*cos(x);cpz=rdd*sin(x);....//.
5ca0 43 61 6d 65 72 61 0d 0a 7a 64 69 73 74 3d 72 65 67 30 30 3b 72 79 3d 72 65 67 30 31 3b 6f 79 3d Camera..zdist=reg00;ry=reg01;oy=
5cc0 72 65 67 30 32 3b 72 78 3d 72 65 67 30 33 3b 73 74 65 70 73 3d 72 65 67 30 39 3b 0d 0a 63 79 74 reg02;rx=reg03;steps=reg09;..cyt
5ce0 3d 72 65 67 30 37 3b 73 79 74 3d 72 65 67 30 38 3b 0d 0a 72 6f 66 66 3d 28 28 28 28 61 62 73 28 =reg07;syt=reg08;..roff=((((abs(
5d00 33 2a 72 79 2f 24 70 69 2b 2e 35 29 7c 30 29 25 36 29 2a 73 69 67 6e 28 72 79 29 2b 31 32 29 25 3*ry/$pi+.5)|0)%6)*sign(ry)+12)%
5d20 36 29 3b 0d 0a 72 79 3d 72 79 2d 28 72 6f 66 66 2b 31 29 2a 24 70 69 2f 33 3b 0d 0a 63 78 3d 63 6);..ry=ry-(roff+1)*$pi/3;..cx=c
5d40 6f 73 28 72 78 29 3b 73 78 3d 73 69 6e 28 72 78 29 3b 0d 0a 63 79 3d 63 6f 73 28 72 79 29 3b 73 os(rx);sx=sin(rx);..cy=cos(ry);s
5d60 79 3d 73 69 6e 28 72 79 29 3b 0d 0a 0d 0a 2f 2f 20 53 6f 75 6e 64 20 72 65 73 70 6f 6e 73 65 0d y=sin(ry);....//.Sound.response.
5d80 0a 6e 3d 69 66 28 65 71 75 61 6c 28 72 6f 66 66 2c 30 29 2c 72 65 67 31 39 2c 69 66 28 65 71 75 .n=if(equal(roff,0),reg19,if(equ
5da0 61 6c 28 72 6f 66 66 2c 31 29 2c 72 65 67 32 31 2c 69 66 28 65 71 75 61 6c 28 72 6f 66 66 2c 32 al(roff,1),reg21,if(equal(roff,2
5dc0 29 2c 72 65 67 32 33 2c 69 66 28 65 71 75 61 6c 28 72 6f 66 66 2c 33 29 2c 72 65 67 32 35 2c 69 ),reg23,if(equal(roff,3),reg25,i
5de0 66 28 65 71 75 61 6c 28 72 6f 66 66 2c 34 29 2c 72 65 67 32 37 2c 72 65 67 31 37 29 29 29 29 29 f(equal(roff,4),reg27,reg17)))))
5e00 3b 0d 0a 6e 3d 28 28 6e 2a 73 74 65 70 73 29 7c 30 29 2a 33 2b 33 3b 72 65 73 70 3d 72 65 67 33 ;..n=((n*steps)|0)*3+3;resp=reg3
5e20 30 3b 0d 0a 6e 3d 6e 2a 28 28 61 62 6f 76 65 28 73 69 6e 28 72 79 2a 36 29 2c 30 29 29 29 3b 0d 0;..n=n*((above(sin(ry*6),0)));.
5e40 0a 70 79 3d 6f 79 3b 0d 0a 0d 0a 2f 2f 20 53 74 61 74 65 20 76 61 72 73 0d 0a 63 73 3d 24 70 69 .py=oy;....//.State.vars..cs=$pi
5e60 2a 2e 33 33 33 33 3b 61 66 3d 77 2f 68 3b 70 3d 30 3b 0d 0a 70 6f 66 66 3d 28 2d 33 2a 72 79 2f *.3333;af=w/h;p=0;..poff=(-3*ry/
5e80 24 70 69 2d 2e 35 29 3b 0d 0a 70 6f 66 66 3d 28 61 62 73 28 70 6f 66 66 29 25 36 29 2a 73 69 67 $pi-.5);..poff=(abs(poff)%6)*sig
5ea0 6e 28 70 6f 66 66 29 2b 33 2e 35 3b 0d 0a 6f 64 64 3d 30 3b 00 00 00 00 00 23 00 00 00 2f 2f 20 n(poff)+3.5;..odd=0;.....#...//.
5ec0 43 6f 6c 75 6d 6e 20 37 62 0d 0a 6e 3d 30 3b 72 64 64 3d 31 2e 37 33 3b 70 6f 73 3d 2d 31 3b 00 Column.7b..n=0;rdd=1.73;pos=-1;.
5ee0 02 00 00 00 01 00 00 00 ff ff ff 00 01 00 00 00 24 00 00 00 b9 04 00 00 01 4b 02 00 00 2f 2f 20 ................$........K...//.
5f00 53 65 74 20 75 70 20 63 6f 6c 75 6d 6e 0d 0a 70 7a 3d 28 69 2d 2e 35 29 2a 2e 38 36 36 3b 70 78 Set.up.column..pz=(i-.5)*.866;px
5f20 3d 28 70 2d 2e 35 29 2a 28 31 2d 61 62 73 28 69 2d 2e 35 29 29 3b 0d 0a 70 78 3d 70 78 2b 63 70 =(p-.5)*(1-abs(i-.5));..px=px+cp
5f40 78 3b 70 7a 3d 70 7a 2b 63 70 7a 3b 0d 0a 0d 0a 2f 2f 20 54 72 61 6e 73 66 6f 72 6d 20 61 6e 64 x;pz=pz+cpz;....//.Transform.and
5f60 20 70 72 6f 6a 65 63 74 0d 0a 78 31 3d 70 78 2a 63 79 2d 70 7a 2a 73 79 3b 7a 31 3d 70 78 2a 73 .project..x1=px*cy-pz*sy;z1=px*s
5f80 79 2b 70 7a 2a 63 79 3b 0d 0a 79 32 3d 70 79 2a 63 78 2d 7a 31 2a 73 78 3b 7a 32 3d 70 79 2a 73 y+pz*cy;..y2=py*cx-z1*sx;z2=py*s
5fa0 78 2b 7a 31 2a 63 78 2b 7a 64 69 73 74 3b 0d 0a 7a 32 3d 7a 32 2a 2e 37 35 3b 20 20 20 0d 0a 7a x+z1*cx+zdist;..z2=z2*.75;.....z
5fc0 32 3d 69 66 28 62 65 6c 6f 77 28 7a 32 2c 2e 30 32 29 2c 30 2c 31 2f 7a 32 29 3b 0d 0a 78 3d 78 2=if(below(z2,.02),0,1/z2);..x=x
5fe0 31 2a 7a 32 3b 79 3d 79 32 2a 7a 32 2a 61 66 2d 2e 31 3b 0d 0a 0d 0a 2f 2f 20 52 65 63 61 6c 63 1*z2;y=y2*z2*af-.1;....//.Recalc
6000 75 6c 61 74 65 20 66 6f 72 20 6c 69 6e 65 61 72 20 74 65 78 74 75 72 65 20 63 6f 6f 72 64 69 6e ulate.for.linear.texture.coordin
6020 61 74 65 73 0d 0a 70 78 3d 63 70 78 3b 0d 0a 78 31 3d 70 78 2a 63 79 2d 70 7a 2a 73 79 3b 7a 31 ates..px=cpx;..x1=px*cy-pz*sy;z1
6040 3d 70 78 2a 73 79 2b 70 7a 2a 63 79 3b 0d 0a 79 32 3d 70 79 2a 63 78 2d 7a 31 2a 73 78 3b 7a 32 =px*sy+pz*cy;..y2=py*cx-z1*sx;z2
6060 3d 70 79 2a 73 78 2b 7a 31 2a 63 78 2b 7a 64 69 73 74 3b 0d 0a 2f 2f 20 46 61 6b 65 20 65 6e 76 =py*sx+z1*cx+zdist;..//.Fake.env
6080 69 72 6f 6e 6d 65 6e 74 20 6d 61 70 70 69 6e 67 0d 0a 61 3d 78 31 2b 73 69 6e 28 79 32 2a 2e 37 ironment.mapping..a=x1+sin(y2*.7
60a0 2d 78 31 2a 2e 36 29 2a 32 2b 35 3b 62 3d 79 32 2a 2e 35 2d 78 31 2a 31 2e 31 2b 2e 35 3b 63 3d -x1*.6)*2+5;b=y2*.5-x1*1.1+.5;c=
60c0 63 6f 73 28 61 29 3b 0d 0a 72 65 64 3d 28 63 2b 73 69 6e 28 62 29 29 2a 2e 33 30 2b 2e 37 3b 0d cos(a);..red=(c+sin(b))*.30+.7;.
60e0 0a 67 72 65 65 6e 3d 28 63 6f 73 28 61 2b 2e 32 29 2b 73 69 6e 28 62 2d 2e 31 29 2a 31 2e 32 29 .green=(cos(a+.2)+sin(b-.1)*1.2)
6100 2a 2e 33 30 2b 2e 35 3b 0d 0a 62 6c 75 65 3d 28 63 2b 73 69 6e 28 62 2b 2e 32 29 2a 31 2e 35 29 *.30+.5;..blue=(c+sin(b+.2)*1.5)
6120 2a 2e 33 30 2b 2e 30 3b 0d 0a 0d 0a 2f 2f 20 53 74 61 74 65 20 76 61 72 73 0d 0a 70 3d 62 6e 6f *.30+.0;....//.State.vars..p=bno
6140 74 28 70 29 3b 0d 0a 00 26 02 00 00 2f 2f 20 53 65 74 75 70 20 63 6f 6c 75 6d 6e 0d 0a 78 3d 70 t(p);...&...//.Setup.column..x=p
6160 6f 73 2a 24 70 69 2a 2e 33 33 33 3b 63 70 78 3d 72 64 64 2a 63 6f 73 28 78 29 3b 63 70 7a 3d 72 os*$pi*.333;cpx=rdd*cos(x);cpz=r
6180 64 64 2a 73 69 6e 28 78 29 3b 0d 0a 0d 0a 2f 2f 20 43 61 6d 65 72 61 0d 0a 7a 64 69 73 74 3d 72 dd*sin(x);....//.Camera..zdist=r
61a0 65 67 30 30 3b 72 79 3d 72 65 67 30 31 3b 6f 79 3d 72 65 67 30 32 3b 72 78 3d 72 65 67 30 33 3b eg00;ry=reg01;oy=reg02;rx=reg03;
61c0 73 74 65 70 73 3d 72 65 67 30 39 3b 0d 0a 63 79 74 3d 72 65 67 30 37 3b 73 79 74 3d 72 65 67 30 steps=reg09;..cyt=reg07;syt=reg0
61e0 38 3b 0d 0a 72 6f 66 66 3d 28 28 28 28 61 62 73 28 33 2a 72 79 2f 24 70 69 2b 2e 35 29 7c 30 29 8;..roff=((((abs(3*ry/$pi+.5)|0)
6200 25 36 29 2a 73 69 67 6e 28 72 79 29 2b 31 32 29 25 36 29 3b 0d 0a 72 79 3d 72 79 2d 28 72 6f 66 %6)*sign(ry)+12)%6);..ry=ry-(rof
6220 66 2b 31 29 2a 24 70 69 2f 33 3b 0d 0a 63 78 3d 63 6f 73 28 72 78 29 3b 73 78 3d 73 69 6e 28 72 f+1)*$pi/3;..cx=cos(rx);sx=sin(r
6240 78 29 3b 0d 0a 63 79 3d 63 6f 73 28 72 79 29 3b 73 79 3d 73 69 6e 28 72 79 29 3b 0d 0a 0d 0a 2f x);..cy=cos(ry);sy=sin(ry);..../
6260 2f 20 53 6f 75 6e 64 20 72 65 73 70 6f 6e 73 65 0d 0a 6e 3d 69 66 28 65 71 75 61 6c 28 72 6f 66 /.Sound.response..n=if(equal(rof
6280 66 2c 30 29 2c 72 65 67 31 39 2c 69 66 28 65 71 75 61 6c 28 72 6f 66 66 2c 31 29 2c 72 65 67 32 f,0),reg19,if(equal(roff,1),reg2
62a0 31 2c 69 66 28 65 71 75 61 6c 28 72 6f 66 66 2c 32 29 2c 72 65 67 32 33 2c 69 66 28 65 71 75 61 1,if(equal(roff,2),reg23,if(equa
62c0 6c 28 72 6f 66 66 2c 33 29 2c 72 65 67 32 35 2c 69 66 28 65 71 75 61 6c 28 72 6f 66 66 2c 34 29 l(roff,3),reg25,if(equal(roff,4)
62e0 2c 72 65 67 32 37 2c 72 65 67 31 37 29 29 29 29 29 3b 0d 0a 6e 3d 28 28 6e 2a 73 74 65 70 73 29 ,reg27,reg17)))));..n=((n*steps)
6300 7c 30 29 3b 72 65 73 70 3d 72 65 67 33 30 3b 0d 0a 70 79 3d 6f 79 2d 6e 2a 72 65 73 70 3b 0d 0a |0);resp=reg30;..py=oy-n*resp;..
6320 6e 3d 35 35 2a 77 2f 33 32 30 3b 6e 3d 6e 2a 28 61 62 6f 76 65 28 73 69 6e 28 72 79 2a 36 29 2c n=55*w/320;n=n*(above(sin(ry*6),
6340 30 29 29 3b 0d 0a 0d 0a 0d 0a 2f 2f 20 53 74 61 74 65 20 76 61 72 73 0d 0a 63 73 3d 24 70 69 2a 0));......//.State.vars..cs=$pi*
6360 2e 33 33 33 33 3b 61 66 3d 77 2f 68 3b 70 3d 30 3b 00 00 00 00 00 27 00 00 00 2f 2f 20 43 6f 6c .3333;af=w/h;p=0;.....'...//.Col
6380 75 6d 6e 20 37 62 20 54 6f 70 0d 0a 6e 3d 30 3b 72 64 64 3d 31 2e 37 33 3b 70 6f 73 3d 2d 31 3b umn.7b.Top..n=0;rdd=1.73;pos=-1;
63a0 00 02 00 00 00 01 00 00 00 ff ff ff 00 01 00 00 00 24 00 00 00 6a 05 00 00 01 e6 02 00 00 2f 2f .................$...j........//
63c0 20 53 65 74 20 75 70 20 63 6f 6c 75 6d 6e 0d 0a 71 3d 69 66 28 6f 64 64 2c 33 2d 70 2c 70 29 3b .Set.up.column..q=if(odd,3-p,p);
63e0 0d 0a 61 3d 63 73 2a 28 71 2b 2e 35 2b 70 6f 66 66 29 3b 0d 0a 70 78 3d 63 6f 73 28 61 29 2a 2e ..a=cs*(q+.5+poff);..px=cos(a)*.
6400 35 2b 63 70 78 3b 70 7a 3d 73 69 6e 28 61 29 2a 2e 35 2b 63 70 7a 3b 0d 0a 0d 0a 2f 2f 20 54 72 5+cpx;pz=sin(a)*.5+cpz;....//.Tr
6420 61 6e 73 66 6f 72 6d 20 61 6e 64 20 70 72 6f 6a 65 63 74 0d 0a 78 31 3d 70 78 2a 63 79 2d 70 7a ansform.and.project..x1=px*cy-pz
6440 2a 73 79 3b 7a 31 3d 70 78 2a 73 79 2b 70 7a 2a 63 79 3b 0d 0a 79 32 3d 70 79 2a 63 78 2d 7a 31 *sy;z1=px*sy+pz*cy;..y2=py*cx-z1
6460 2a 73 78 3b 7a 32 3d 70 79 2a 73 78 2b 7a 31 2a 63 78 2b 7a 64 69 73 74 3b 0d 0a 7a 32 3d 7a 32 *sx;z2=py*sx+z1*cx+zdist;..z2=z2
6480 2a 2e 37 35 3b 20 20 20 0d 0a 7a 32 3d 69 66 28 62 65 6c 6f 77 28 7a 32 2c 2e 30 32 29 2c 30 2c *.75;.....z2=if(below(z2,.02),0,
64a0 31 2f 7a 32 29 3b 0d 0a 78 3d 78 31 2a 7a 32 3b 79 3d 79 32 2a 7a 32 2a 61 66 2d 2e 31 3b 0d 0a 1/z2);..x=x1*z2;y=y2*z2*af-.1;..
64c0 0d 0a 2f 2f 20 52 65 63 61 6c 63 75 6c 61 74 65 20 66 6f 72 20 6c 69 6e 65 61 72 20 74 65 78 74 ..//.Recalculate.for.linear.text
64e0 75 72 65 20 63 6f 6f 72 64 69 6e 61 74 65 73 0d 0a 71 3d 69 66 28 6f 64 64 2c 32 2e 35 2d 65 71 ure.coordinates..q=if(odd,2.5-eq
6500 75 61 6c 28 70 2c 32 29 2c 6d 61 78 28 2e 35 2c 70 2d 2e 35 29 29 2b 31 3b 0d 0a 61 3d 63 73 2a ual(p,2),max(.5,p-.5))+1;..a=cs*
6520 28 71 2b 2e 35 2b 70 6f 66 66 29 3b 0d 0a 70 78 3d 63 6f 73 28 61 29 2a 2e 35 3b 70 7a 3d 73 69 (q+.5+poff);..px=cos(a)*.5;pz=si
6540 6e 28 61 29 2a 2e 35 3b 0d 0a 78 31 3d 70 78 2a 63 79 74 2d 70 7a 2a 73 79 74 2d 72 64 64 2a 33 n(a)*.5;..x1=px*cyt-pz*syt-rdd*3
6560 2e 3b 7a 31 3d 70 78 2a 73 79 74 2b 70 7a 2a 63 79 74 3b 0d 0a 79 32 3d 70 79 2a 63 78 2d 7a 31 .;z1=px*syt+pz*cyt;..y2=py*cx-z1
6580 2a 73 78 3b 7a 32 3d 70 79 2a 73 78 2b 7a 31 2a 63 78 2b 7a 64 69 73 74 3b 0d 0a 2f 2f 20 46 61 *sx;z2=py*sx+z1*cx+zdist;..//.Fa
65a0 6b 65 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 20 6d 61 70 70 69 6e 67 0d 0a 61 3d 78 31 2a 32 37 2b ke.environment.mapping..a=x1*27+
65c0 73 69 6e 28 79 32 2d 78 31 2a 33 29 2a 32 2b 35 3b 62 3d 79 32 2a 2e 38 2d 78 31 2a 32 2e 31 2b sin(y2-x1*3)*2+5;b=y2*.8-x1*2.1+
65e0 2e 35 3b 63 3d 63 6f 73 28 61 29 3b 0d 0a 72 65 64 3d 28 63 2b 73 69 6e 28 62 29 29 2a 2e 33 30 .5;c=cos(a);..red=(c+sin(b))*.30
6600 2b 2e 37 3b 0d 0a 67 72 65 65 6e 3d 28 63 6f 73 28 61 2b 2e 32 29 2b 73 69 6e 28 62 2d 2e 31 29 +.7;..green=(cos(a+.2)+sin(b-.1)
6620 2a 31 2e 32 29 2a 2e 33 30 2b 2e 35 3b 0d 0a 62 6c 75 65 3d 28 63 2b 73 69 6e 28 62 2b 2e 32 29 *1.2)*.30+.5;..blue=(c+sin(b+.2)
6640 2a 31 2e 35 29 2a 2e 33 30 2b 2e 30 3b 0d 0a 0d 0a 2f 2f 20 53 74 61 74 65 20 76 61 72 73 0d 0a *1.5)*.30+.0;....//.State.vars..
6660 70 3d 28 70 2b 31 29 25 33 3b 70 79 3d 70 79 2d 65 71 75 61 6c 28 70 2c 30 29 2a 72 65 73 70 3b p=(p+1)%3;py=py-equal(p,0)*resp;
6680 0d 0a 6f 64 64 3d 69 66 28 65 71 75 61 6c 28 70 2c 30 29 2c 62 6e 6f 74 28 6f 64 64 29 2c 6f 64 ..odd=if(equal(p,0),bnot(odd),od
66a0 64 29 3b 00 43 02 00 00 2f 2f 20 53 65 74 75 70 20 63 6f 6c 75 6d 6e 0d 0a 78 3d 70 6f 73 2a 24 d);.C...//.Setup.column..x=pos*$
66c0 70 69 2a 2e 33 33 33 3b 63 70 78 3d 72 64 64 2a 63 6f 73 28 78 29 3b 63 70 7a 3d 72 64 64 2a 73 pi*.333;cpx=rdd*cos(x);cpz=rdd*s
66e0 69 6e 28 78 29 3b 0d 0a 0d 0a 2f 2f 20 43 61 6d 65 72 61 0d 0a 7a 64 69 73 74 3d 72 65 67 30 30 in(x);....//.Camera..zdist=reg00
6700 3b 72 79 3d 72 65 67 30 31 3b 6f 79 3d 72 65 67 30 32 3b 72 78 3d 72 65 67 30 33 3b 73 74 65 70 ;ry=reg01;oy=reg02;rx=reg03;step
6720 73 3d 72 65 67 30 39 3b 0d 0a 63 79 74 3d 72 65 67 30 37 3b 73 79 74 3d 72 65 67 30 38 3b 0d 0a s=reg09;..cyt=reg07;syt=reg08;..
6740 72 6f 66 66 3d 28 28 28 28 61 62 73 28 33 2a 72 79 2f 24 70 69 29 7c 30 29 25 36 29 2a 73 69 67 roff=((((abs(3*ry/$pi)|0)%6)*sig
6760 6e 28 72 79 29 2b 31 32 29 25 36 29 3b 0d 0a 72 79 3d 72 79 2d 28 72 6f 66 66 2b 32 29 2a 24 70 n(ry)+12)%6);..ry=ry-(roff+2)*$p
6780 69 2f 33 3b 0d 0a 63 78 3d 63 6f 73 28 72 78 29 3b 73 78 3d 73 69 6e 28 72 78 29 3b 0d 0a 63 79 i/3;..cx=cos(rx);sx=sin(rx);..cy
67a0 3d 63 6f 73 28 72 79 29 3b 73 79 3d 73 69 6e 28 72 79 29 3b 0d 0a 0d 0a 2f 2f 20 53 6f 75 6e 64 =cos(ry);sy=sin(ry);....//.Sound
67c0 20 72 65 73 70 6f 6e 73 65 0d 0a 6e 3d 69 66 28 65 71 75 61 6c 28 72 6f 66 66 2c 30 29 2c 72 65 .response..n=if(equal(roff,0),re
67e0 67 31 32 2c 69 66 28 65 71 75 61 6c 28 72 6f 66 66 2c 31 29 2c 72 65 67 31 33 2c 69 66 28 65 71 g12,if(equal(roff,1),reg13,if(eq
6800 75 61 6c 28 72 6f 66 66 2c 32 29 2c 72 65 67 31 34 2c 69 66 28 65 71 75 61 6c 28 72 6f 66 66 2c ual(roff,2),reg14,if(equal(roff,
6820 33 29 2c 72 65 67 31 35 2c 69 66 28 65 71 75 61 6c 28 72 6f 66 66 2c 34 29 2c 72 65 67 31 36 2c 3),reg15,if(equal(roff,4),reg16,
6840 72 65 67 31 31 29 29 29 29 29 3b 0d 0a 6e 3d 6e 2a 31 2e 32 35 3b 6e 3d 28 28 6e 2a 73 74 65 70 reg11)))));..n=n*1.25;n=((n*step
6860 73 29 7c 30 29 2a 33 2b 33 3b 72 65 73 70 3d 72 65 67 33 30 2a 2e 38 3b 0d 0a 70 79 3d 6f 79 3b s)|0)*3+3;resp=reg30*.8;..py=oy;
6880 0d 0a 0d 0a 2f 2f 20 53 74 61 74 65 20 76 61 72 73 0d 0a 63 73 3d 24 70 69 2a 2e 33 33 33 33 3b ....//.State.vars..cs=$pi*.3333;
68a0 61 66 3d 77 2f 68 3b 70 3d 30 3b 0d 0a 70 6f 66 66 3d 28 2d 33 2a 72 79 2f 24 70 69 29 3b 0d 0a af=w/h;p=0;..poff=(-3*ry/$pi);..
68c0 70 6f 66 66 3d 28 61 62 73 28 70 6f 66 66 29 25 36 29 2a 73 69 67 6e 28 70 6f 66 66 29 2b 32 2e poff=(abs(poff)%6)*sign(poff)+2.
68e0 35 3b 0d 0a 6f 64 64 3d 30 3b 00 00 00 00 00 20 00 00 00 2f 2f 20 43 6f 6c 75 6d 6e 20 32 0d 0a 5;..odd=0;.........//.Column.2..
6900 6e 3d 30 3b 72 64 64 3d 31 3b 70 6f 73 3d 2d 2e 35 3b 00 02 00 00 00 01 00 00 00 ff ff ff 00 01 n=0;rdd=1;pos=-.5;..............
6920 00 00 00 24 00 00 00 98 04 00 00 01 4b 02 00 00 2f 2f 20 53 65 74 20 75 70 20 63 6f 6c 75 6d 6e ...$........K...//.Set.up.column
6940 0d 0a 70 7a 3d 28 69 2d 2e 35 29 2a 2e 38 36 36 3b 70 78 3d 28 70 2d 2e 35 29 2a 28 31 2d 61 62 ..pz=(i-.5)*.866;px=(p-.5)*(1-ab
6960 73 28 69 2d 2e 35 29 29 3b 0d 0a 70 78 3d 70 78 2b 63 70 78 3b 70 7a 3d 70 7a 2b 63 70 7a 3b 0d s(i-.5));..px=px+cpx;pz=pz+cpz;.
6980 0a 0d 0a 2f 2f 20 54 72 61 6e 73 66 6f 72 6d 20 61 6e 64 20 70 72 6f 6a 65 63 74 0d 0a 78 31 3d ...//.Transform.and.project..x1=
69a0 70 78 2a 63 79 2d 70 7a 2a 73 79 3b 7a 31 3d 70 78 2a 73 79 2b 70 7a 2a 63 79 3b 0d 0a 79 32 3d px*cy-pz*sy;z1=px*sy+pz*cy;..y2=
69c0 70 79 2a 63 78 2d 7a 31 2a 73 78 3b 7a 32 3d 70 79 2a 73 78 2b 7a 31 2a 63 78 2b 7a 64 69 73 74 py*cx-z1*sx;z2=py*sx+z1*cx+zdist
69e0 3b 0d 0a 7a 32 3d 7a 32 2a 2e 37 35 3b 20 20 20 0d 0a 7a 32 3d 69 66 28 62 65 6c 6f 77 28 7a 32 ;..z2=z2*.75;.....z2=if(below(z2
6a00 2c 2e 30 32 29 2c 30 2c 31 2f 7a 32 29 3b 0d 0a 78 3d 78 31 2a 7a 32 3b 79 3d 79 32 2a 7a 32 2a ,.02),0,1/z2);..x=x1*z2;y=y2*z2*
6a20 61 66 2d 2e 31 3b 0d 0a 0d 0a 2f 2f 20 52 65 63 61 6c 63 75 6c 61 74 65 20 66 6f 72 20 6c 69 6e af-.1;....//.Recalculate.for.lin
6a40 65 61 72 20 74 65 78 74 75 72 65 20 63 6f 6f 72 64 69 6e 61 74 65 73 0d 0a 70 78 3d 63 70 78 3b ear.texture.coordinates..px=cpx;
6a60 0d 0a 78 31 3d 70 78 2a 63 79 2d 70 7a 2a 73 79 3b 7a 31 3d 70 78 2a 73 79 2b 70 7a 2a 63 79 3b ..x1=px*cy-pz*sy;z1=px*sy+pz*cy;
6a80 0d 0a 79 32 3d 70 79 2a 63 78 2d 7a 31 2a 73 78 3b 7a 32 3d 70 79 2a 73 78 2b 7a 31 2a 63 78 2b ..y2=py*cx-z1*sx;z2=py*sx+z1*cx+
6aa0 7a 64 69 73 74 3b 0d 0a 2f 2f 20 46 61 6b 65 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 20 6d 61 70 70 zdist;..//.Fake.environment.mapp
6ac0 69 6e 67 0d 0a 61 3d 78 31 2b 73 69 6e 28 79 32 2a 2e 37 2d 78 31 2a 2e 36 29 2a 32 2b 35 3b 62 ing..a=x1+sin(y2*.7-x1*.6)*2+5;b
6ae0 3d 79 32 2a 2e 35 2d 78 31 2a 31 2e 31 2b 2e 35 3b 63 3d 63 6f 73 28 61 29 3b 0d 0a 72 65 64 3d =y2*.5-x1*1.1+.5;c=cos(a);..red=
6b00 28 63 2b 73 69 6e 28 62 29 29 2a 2e 33 30 2b 2e 37 3b 0d 0a 67 72 65 65 6e 3d 28 63 6f 73 28 61 (c+sin(b))*.30+.7;..green=(cos(a
6b20 2b 2e 32 29 2b 73 69 6e 28 62 2d 2e 31 29 2a 31 2e 32 29 2a 2e 33 30 2b 2e 35 3b 0d 0a 62 6c 75 +.2)+sin(b-.1)*1.2)*.30+.5;..blu
6b40 65 3d 28 63 2b 73 69 6e 28 62 2b 2e 32 29 2a 31 2e 35 29 2a 2e 33 30 2b 2e 30 3b 0d 0a 0d 0a 2f e=(c+sin(b+.2)*1.5)*.30+.0;..../
6b60 2f 20 53 74 61 74 65 20 76 61 72 73 0d 0a 70 3d 62 6e 6f 74 28 70 29 3b 0d 0a 00 08 02 00 00 2f /.State.vars..p=bnot(p);......./
6b80 2f 20 53 65 74 75 70 20 63 6f 6c 75 6d 6e 0d 0a 78 3d 70 6f 73 2a 24 70 69 2a 2e 33 33 33 3b 63 /.Setup.column..x=pos*$pi*.333;c
6ba0 70 78 3d 72 64 64 2a 63 6f 73 28 78 29 3b 63 70 7a 3d 72 64 64 2a 73 69 6e 28 78 29 3b 0d 0a 0d px=rdd*cos(x);cpz=rdd*sin(x);...
6bc0 0a 2f 2f 20 43 61 6d 65 72 61 0d 0a 7a 64 69 73 74 3d 72 65 67 30 30 3b 72 79 3d 72 65 67 30 31 .//.Camera..zdist=reg00;ry=reg01
6be0 3b 6f 79 3d 72 65 67 30 32 3b 72 78 3d 72 65 67 30 33 3b 73 74 65 70 73 3d 72 65 67 30 39 3b 0d ;oy=reg02;rx=reg03;steps=reg09;.
6c00 0a 63 79 74 3d 72 65 67 30 37 3b 73 79 74 3d 72 65 67 30 38 3b 0d 0a 72 6f 66 66 3d 28 28 28 28 .cyt=reg07;syt=reg08;..roff=((((
6c20 61 62 73 28 33 2a 72 79 2f 24 70 69 29 7c 30 29 25 36 29 2a 73 69 67 6e 28 72 79 29 2b 31 32 29 abs(3*ry/$pi)|0)%6)*sign(ry)+12)
6c40 25 36 29 3b 0d 0a 72 79 3d 72 79 2d 28 72 6f 66 66 2b 32 29 2a 24 70 69 2f 33 3b 0d 0a 63 78 3d %6);..ry=ry-(roff+2)*$pi/3;..cx=
6c60 63 6f 73 28 72 78 29 3b 73 78 3d 73 69 6e 28 72 78 29 3b 0d 0a 63 79 3d 63 6f 73 28 72 79 29 3b cos(rx);sx=sin(rx);..cy=cos(ry);
6c80 73 79 3d 73 69 6e 28 72 79 29 3b 0d 0a 0d 0a 2f 2f 20 53 6f 75 6e 64 20 72 65 73 70 6f 6e 73 65 sy=sin(ry);....//.Sound.response
6ca0 0d 0a 6e 3d 69 66 28 65 71 75 61 6c 28 72 6f 66 66 2c 30 29 2c 72 65 67 31 32 2c 69 66 28 65 71 ..n=if(equal(roff,0),reg12,if(eq
6cc0 75 61 6c 28 72 6f 66 66 2c 31 29 2c 72 65 67 31 33 2c 69 66 28 65 71 75 61 6c 28 72 6f 66 66 2c ual(roff,1),reg13,if(equal(roff,
6ce0 32 29 2c 72 65 67 31 34 2c 69 66 28 65 71 75 61 6c 28 72 6f 66 66 2c 33 29 2c 72 65 67 31 35 2c 2),reg14,if(equal(roff,3),reg15,
6d00 69 66 28 65 71 75 61 6c 28 72 6f 66 66 2c 34 29 2c 72 65 67 31 36 2c 72 65 67 31 31 29 29 29 29 if(equal(roff,4),reg16,reg11))))
6d20 29 3b 0d 0a 6e 3d 28 28 6e 2a 73 74 65 70 73 29 7c 30 29 3b 72 65 73 70 3d 72 65 67 33 30 3b 0d );..n=((n*steps)|0);resp=reg30;.
6d40 0a 70 79 3d 6f 79 2d 6e 2a 72 65 73 70 3b 0d 0a 6e 3d 35 30 2a 77 2f 33 32 30 3b 0d 0a 0d 0a 2f .py=oy-n*resp;..n=50*w/320;..../
6d60 2f 20 53 74 61 74 65 20 76 61 72 73 0d 0a 63 73 3d 24 70 69 2a 2e 33 33 33 33 3b 61 66 3d 77 2f /.State.vars..cs=$pi*.3333;af=w/
6d80 68 3b 70 3d 30 3b 00 00 00 00 00 24 00 00 00 2f 2f 20 43 6f 6c 75 6d 6e 20 32 20 54 6f 70 0d 0a h;p=0;.....$...//.Column.2.Top..
6da0 6e 3d 30 3b 72 64 64 3d 31 3b 70 6f 73 3d 2d 2e 35 3b 00 02 00 00 00 01 00 00 00 ff ff ff 00 01 n=0;rdd=1;pos=-.5;..............
6dc0 00 00 00 24 00 00 00 7f 05 00 00 01 e3 02 00 00 2f 2f 20 53 65 74 20 75 70 20 63 6f 6c 75 6d 6e ...$............//.Set.up.column
6de0 0d 0a 71 3d 69 66 28 6f 64 64 2c 33 2d 70 2c 70 29 3b 0d 0a 61 3d 63 73 2a 28 71 2b 2e 35 2b 70 ..q=if(odd,3-p,p);..a=cs*(q+.5+p
6e00 6f 66 66 29 3b 0d 0a 70 78 3d 63 6f 73 28 61 29 2a 2e 35 2b 63 70 78 3b 70 7a 3d 73 69 6e 28 61 off);..px=cos(a)*.5+cpx;pz=sin(a
6e20 29 2a 2e 35 2b 63 70 7a 3b 0d 0a 0d 0a 2f 2f 20 54 72 61 6e 73 66 6f 72 6d 20 61 6e 64 20 70 72 )*.5+cpz;....//.Transform.and.pr
6e40 6f 6a 65 63 74 0d 0a 78 31 3d 70 78 2a 63 79 2d 70 7a 2a 73 79 3b 7a 31 3d 70 78 2a 73 79 2b 70 oject..x1=px*cy-pz*sy;z1=px*sy+p
6e60 7a 2a 63 79 3b 0d 0a 79 32 3d 70 79 2a 63 78 2d 7a 31 2a 73 78 3b 7a 32 3d 70 79 2a 73 78 2b 7a z*cy;..y2=py*cx-z1*sx;z2=py*sx+z
6e80 31 2a 63 78 2b 7a 64 69 73 74 3b 0d 0a 7a 32 3d 7a 32 2a 2e 37 35 3b 0d 0a 7a 32 3d 69 66 28 62 1*cx+zdist;..z2=z2*.75;..z2=if(b
6ea0 65 6c 6f 77 28 7a 32 2c 2e 30 32 29 2c 30 2c 31 2f 7a 32 29 3b 0d 0a 78 3d 78 31 2a 7a 32 3b 79 elow(z2,.02),0,1/z2);..x=x1*z2;y
6ec0 3d 79 32 2a 7a 32 2a 61 66 2d 2e 31 3b 0d 0a 0d 0a 2f 2f 20 52 65 63 61 6c 63 75 6c 61 74 65 20 =y2*z2*af-.1;....//.Recalculate.
6ee0 66 6f 72 20 6c 69 6e 65 61 72 20 74 65 78 74 75 72 65 20 63 6f 6f 72 64 69 6e 61 74 65 73 0d 0a for.linear.texture.coordinates..
6f00 71 3d 69 66 28 6f 64 64 2c 32 2e 35 2d 65 71 75 61 6c 28 70 2c 32 29 2c 6d 61 78 28 2e 35 2c 70 q=if(odd,2.5-equal(p,2),max(.5,p
6f20 2d 2e 35 29 29 2d 31 3b 0d 0a 61 3d 63 73 2a 28 71 2b 2e 35 2b 70 6f 66 66 29 3b 0d 0a 70 78 3d -.5))-1;..a=cs*(q+.5+poff);..px=
6f40 63 6f 73 28 61 29 2a 2e 35 3b 70 7a 3d 73 69 6e 28 61 29 2a 2e 35 3b 0d 0a 78 31 3d 70 78 2a 63 cos(a)*.5;pz=sin(a)*.5;..x1=px*c
6f60 79 74 2d 70 7a 2a 73 79 74 2d 72 64 64 2a 33 2e 3b 7a 31 3d 70 78 2a 73 79 74 2b 70 7a 2a 63 79 yt-pz*syt-rdd*3.;z1=px*syt+pz*cy
6f80 74 3b 0d 0a 79 32 3d 70 79 2a 63 78 2d 7a 31 2a 73 78 3b 7a 32 3d 70 79 2a 73 78 2b 7a 31 2a 63 t;..y2=py*cx-z1*sx;z2=py*sx+z1*c
6fa0 78 2b 7a 64 69 73 74 3b 0d 0a 2f 2f 20 46 61 6b 65 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 20 6d 61 x+zdist;..//.Fake.environment.ma
6fc0 70 70 69 6e 67 0d 0a 61 3d 78 31 2a 32 37 2b 73 69 6e 28 79 32 2d 78 31 2a 33 29 2a 32 2b 35 3b pping..a=x1*27+sin(y2-x1*3)*2+5;
6fe0 62 3d 79 32 2a 2e 38 2d 78 31 2a 32 2e 31 2b 2e 35 3b 63 3d 63 6f 73 28 61 29 3b 0d 0a 72 65 64 b=y2*.8-x1*2.1+.5;c=cos(a);..red
7000 3d 28 63 2b 73 69 6e 28 62 29 29 2a 2e 33 30 2b 2e 37 3b 0d 0a 67 72 65 65 6e 3d 28 63 6f 73 28 =(c+sin(b))*.30+.7;..green=(cos(
7020 61 2b 2e 32 29 2b 73 69 6e 28 62 2d 2e 31 29 2a 31 2e 32 29 2a 2e 33 30 2b 2e 35 3b 0d 0a 62 6c a+.2)+sin(b-.1)*1.2)*.30+.5;..bl
7040 75 65 3d 28 63 2b 73 69 6e 28 62 2b 2e 32 29 2a 31 2e 35 29 2a 2e 33 30 2b 2e 30 3b 0d 0a 0d 0a ue=(c+sin(b+.2)*1.5)*.30+.0;....
7060 2f 2f 20 53 74 61 74 65 20 76 61 72 73 0d 0a 70 3d 28 70 2b 31 29 25 33 3b 70 79 3d 70 79 2d 65 //.State.vars..p=(p+1)%3;py=py-e
7080 71 75 61 6c 28 70 2c 30 29 2a 72 65 73 70 3b 0d 0a 6f 64 64 3d 69 66 28 65 71 75 61 6c 28 70 2c qual(p,0)*resp;..odd=if(equal(p,
70a0 30 29 2c 62 6e 6f 74 28 6f 64 64 29 2c 6f 64 64 29 3b 00 59 02 00 00 2f 2f 20 53 65 74 75 70 20 0),bnot(odd),odd);.Y...//.Setup.
70c0 63 6f 6c 75 6d 6e 0d 0a 78 3d 70 6f 73 2a 24 70 69 2a 2e 33 33 33 3b 63 70 78 3d 72 64 64 2a 63 column..x=pos*$pi*.333;cpx=rdd*c
70e0 6f 73 28 78 29 3b 63 70 7a 3d 72 64 64 2a 73 69 6e 28 78 29 3b 0d 0a 0d 0a 2f 2f 20 43 61 6d 65 os(x);cpz=rdd*sin(x);....//.Came
7100 72 61 0d 0a 7a 64 69 73 74 3d 72 65 67 30 30 3b 72 79 3d 72 65 67 30 31 3b 6f 79 3d 72 65 67 30 ra..zdist=reg00;ry=reg01;oy=reg0
7120 32 3b 72 78 3d 72 65 67 30 33 3b 73 74 65 70 73 3d 72 65 67 30 39 3b 0d 0a 63 79 74 3d 72 65 67 2;rx=reg03;steps=reg09;..cyt=reg
7140 30 37 3b 73 79 74 3d 72 65 67 30 38 3b 0d 0a 72 6f 66 66 3d 28 28 28 28 61 62 73 28 33 2a 72 79 07;syt=reg08;..roff=((((abs(3*ry
7160 2f 24 70 69 2b 2e 35 29 7c 30 29 25 36 29 2a 73 69 67 6e 28 72 79 29 2b 31 32 29 25 36 29 3b 0d /$pi+.5)|0)%6)*sign(ry)+12)%6);.
7180 0a 72 79 3d 72 79 2d 28 72 6f 66 66 2b 31 29 2a 24 70 69 2f 33 3b 0d 0a 63 78 3d 63 6f 73 28 72 .ry=ry-(roff+1)*$pi/3;..cx=cos(r
71a0 78 29 3b 73 78 3d 73 69 6e 28 72 78 29 3b 0d 0a 63 79 3d 63 6f 73 28 72 79 29 3b 73 79 3d 73 69 x);sx=sin(rx);..cy=cos(ry);sy=si
71c0 6e 28 72 79 29 3b 0d 0a 0d 0a 2f 2f 20 53 6f 75 6e 64 20 72 65 73 70 6f 6e 73 65 0d 0a 6e 3d 69 n(ry);....//.Sound.response..n=i
71e0 66 28 65 71 75 61 6c 28 72 6f 66 66 2c 30 29 2c 72 65 67 32 37 2c 69 66 28 65 71 75 61 6c 28 72 f(equal(roff,0),reg27,if(equal(r
7200 6f 66 66 2c 31 29 2c 72 65 67 31 37 2c 69 66 28 65 71 75 61 6c 28 72 6f 66 66 2c 32 29 2c 72 65 off,1),reg17,if(equal(roff,2),re
7220 67 31 39 2c 69 66 28 65 71 75 61 6c 28 72 6f 66 66 2c 33 29 2c 72 65 67 32 31 2c 69 66 28 65 71 g19,if(equal(roff,3),reg21,if(eq
7240 75 61 6c 28 72 6f 66 66 2c 34 29 2c 72 65 67 32 33 2c 72 65 67 32 35 29 29 29 29 29 3b 0d 0a 6e ual(roff,4),reg23,reg25)))));..n
7260 3d 28 28 6e 2a 73 74 65 70 73 29 7c 30 29 2a 33 2b 33 3b 72 65 73 70 3d 72 65 67 33 30 3b 0d 0a =((n*steps)|0)*3+3;resp=reg30;..
7280 6e 3d 6e 2a 62 6e 6f 74 28 61 62 6f 76 65 28 73 69 6e 28 72 79 2a 36 29 2c 30 29 29 3b 0d 0a 70 n=n*bnot(above(sin(ry*6),0));..p
72a0 79 3d 6f 79 3b 0d 0a 0d 0a 2f 2f 20 53 74 61 74 65 20 76 61 72 73 0d 0a 63 73 3d 24 70 69 2a 2e y=oy;....//.State.vars..cs=$pi*.
72c0 33 33 33 33 3b 61 66 3d 77 2f 68 3b 70 3d 30 3b 0d 0a 70 6f 66 66 3d 28 2d 33 2a 72 79 2f 24 70 3333;af=w/h;p=0;..poff=(-3*ry/$p
72e0 69 29 3b 0d 0a 70 6f 66 66 3d 28 61 62 73 28 70 6f 66 66 29 25 36 29 2a 73 69 67 6e 28 70 6f 66 i);..poff=(abs(poff)%6)*sign(pof
7300 66 29 2b 32 2e 35 3b 0d 0a 6f 64 64 3d 30 3b 00 00 00 00 00 22 00 00 00 2f 2f 20 43 6f 6c 75 6d f)+2.5;..odd=0;....."...//.Colum
7320 6e 20 39 62 0d 0a 6e 3d 30 3b 72 64 64 3d 31 2e 37 33 3b 70 6f 73 3d 31 3b 00 02 00 00 00 01 00 n.9b..n=0;rdd=1.73;pos=1;.......
7340 00 00 ff ff ff 00 01 00 00 00 24 00 00 00 bc 04 00 00 01 4b 02 00 00 2f 2f 20 53 65 74 20 75 70 ..........$........K...//.Set.up
7360 20 63 6f 6c 75 6d 6e 0d 0a 70 7a 3d 28 69 2d 2e 35 29 2a 2e 38 36 36 3b 70 78 3d 28 70 2d 2e 35 .column..pz=(i-.5)*.866;px=(p-.5
7380 29 2a 28 31 2d 61 62 73 28 69 2d 2e 35 29 29 3b 0d 0a 70 78 3d 70 78 2b 63 70 78 3b 70 7a 3d 70 )*(1-abs(i-.5));..px=px+cpx;pz=p
73a0 7a 2b 63 70 7a 3b 0d 0a 0d 0a 2f 2f 20 54 72 61 6e 73 66 6f 72 6d 20 61 6e 64 20 70 72 6f 6a 65 z+cpz;....//.Transform.and.proje
73c0 63 74 0d 0a 78 31 3d 70 78 2a 63 79 2d 70 7a 2a 73 79 3b 7a 31 3d 70 78 2a 73 79 2b 70 7a 2a 63 ct..x1=px*cy-pz*sy;z1=px*sy+pz*c
73e0 79 3b 0d 0a 79 32 3d 70 79 2a 63 78 2d 7a 31 2a 73 78 3b 7a 32 3d 70 79 2a 73 78 2b 7a 31 2a 63 y;..y2=py*cx-z1*sx;z2=py*sx+z1*c
7400 78 2b 7a 64 69 73 74 3b 0d 0a 7a 32 3d 7a 32 2a 2e 37 35 3b 20 20 20 0d 0a 7a 32 3d 69 66 28 62 x+zdist;..z2=z2*.75;.....z2=if(b
7420 65 6c 6f 77 28 7a 32 2c 2e 30 32 29 2c 30 2c 31 2f 7a 32 29 3b 0d 0a 78 3d 78 31 2a 7a 32 3b 79 elow(z2,.02),0,1/z2);..x=x1*z2;y
7440 3d 79 32 2a 7a 32 2a 61 66 2d 2e 31 3b 0d 0a 0d 0a 2f 2f 20 52 65 63 61 6c 63 75 6c 61 74 65 20 =y2*z2*af-.1;....//.Recalculate.
7460 66 6f 72 20 6c 69 6e 65 61 72 20 74 65 78 74 75 72 65 20 63 6f 6f 72 64 69 6e 61 74 65 73 0d 0a for.linear.texture.coordinates..
7480 70 78 3d 63 70 78 3b 0d 0a 78 31 3d 70 78 2a 63 79 2d 70 7a 2a 73 79 3b 7a 31 3d 70 78 2a 73 79 px=cpx;..x1=px*cy-pz*sy;z1=px*sy
74a0 2b 70 7a 2a 63 79 3b 0d 0a 79 32 3d 70 79 2a 63 78 2d 7a 31 2a 73 78 3b 7a 32 3d 70 79 2a 73 78 +pz*cy;..y2=py*cx-z1*sx;z2=py*sx
74c0 2b 7a 31 2a 63 78 2b 7a 64 69 73 74 3b 0d 0a 2f 2f 20 46 61 6b 65 20 65 6e 76 69 72 6f 6e 6d 65 +z1*cx+zdist;..//.Fake.environme
74e0 6e 74 20 6d 61 70 70 69 6e 67 0d 0a 61 3d 78 31 2b 73 69 6e 28 79 32 2a 2e 37 2d 78 31 2a 2e 36 nt.mapping..a=x1+sin(y2*.7-x1*.6
7500 29 2a 32 2b 35 3b 62 3d 79 32 2a 2e 35 2d 78 31 2a 31 2e 31 2b 2e 35 3b 63 3d 63 6f 73 28 61 29 )*2+5;b=y2*.5-x1*1.1+.5;c=cos(a)
7520 3b 0d 0a 72 65 64 3d 28 63 2b 73 69 6e 28 62 29 29 2a 2e 33 30 2b 2e 37 3b 0d 0a 67 72 65 65 6e ;..red=(c+sin(b))*.30+.7;..green
7540 3d 28 63 6f 73 28 61 2b 2e 32 29 2b 73 69 6e 28 62 2d 2e 31 29 2a 31 2e 32 29 2a 2e 33 30 2b 2e =(cos(a+.2)+sin(b-.1)*1.2)*.30+.
7560 35 3b 0d 0a 62 6c 75 65 3d 28 63 2b 73 69 6e 28 62 2b 2e 32 29 2a 31 2e 35 29 2a 2e 33 30 2b 2e 5;..blue=(c+sin(b+.2)*1.5)*.30+.
7580 30 3b 0d 0a 0d 0a 2f 2f 20 53 74 61 74 65 20 76 61 72 73 0d 0a 70 3d 62 6e 6f 74 28 70 29 3b 0d 0;....//.State.vars..p=bnot(p);.
75a0 0a 00 2a 02 00 00 2f 2f 20 53 65 74 75 70 20 63 6f 6c 75 6d 6e 0d 0a 78 3d 70 6f 73 2a 24 70 69 ..*...//.Setup.column..x=pos*$pi
75c0 2a 2e 33 33 33 3b 63 70 78 3d 72 64 64 2a 63 6f 73 28 78 29 3b 63 70 7a 3d 72 64 64 2a 73 69 6e *.333;cpx=rdd*cos(x);cpz=rdd*sin
75e0 28 78 29 3b 0d 0a 0d 0a 2f 2f 20 43 61 6d 65 72 61 0d 0a 7a 64 69 73 74 3d 72 65 67 30 30 3b 72 (x);....//.Camera..zdist=reg00;r
7600 79 3d 72 65 67 30 31 3b 6f 79 3d 72 65 67 30 32 3b 72 78 3d 72 65 67 30 33 3b 73 74 65 70 73 3d y=reg01;oy=reg02;rx=reg03;steps=
7620 72 65 67 30 39 3b 0d 0a 63 79 74 3d 72 65 67 30 37 3b 73 79 74 3d 72 65 67 30 38 3b 0d 0a 72 6f reg09;..cyt=reg07;syt=reg08;..ro
7640 66 66 3d 28 28 28 28 61 62 73 28 33 2a 72 79 2f 24 70 69 2b 2e 35 29 7c 30 29 25 36 29 2a 73 69 ff=((((abs(3*ry/$pi+.5)|0)%6)*si
7660 67 6e 28 72 79 29 2b 31 32 29 25 36 29 3b 0d 0a 72 79 3d 72 79 2d 28 72 6f 66 66 2b 31 29 2a 24 gn(ry)+12)%6);..ry=ry-(roff+1)*$
7680 70 69 2f 33 3b 0d 0a 63 78 3d 63 6f 73 28 72 78 29 3b 73 78 3d 73 69 6e 28 72 78 29 3b 0d 0a 63 pi/3;..cx=cos(rx);sx=sin(rx);..c
76a0 79 3d 63 6f 73 28 72 79 29 3b 73 79 3d 73 69 6e 28 72 79 29 3b 0d 0a 0d 0a 2f 2f 20 53 6f 75 6e y=cos(ry);sy=sin(ry);....//.Soun
76c0 64 20 72 65 73 70 6f 6e 73 65 0d 0a 6e 3d 69 66 28 65 71 75 61 6c 28 72 6f 66 66 2c 30 29 2c 72 d.response..n=if(equal(roff,0),r
76e0 65 67 32 37 2c 69 66 28 65 71 75 61 6c 28 72 6f 66 66 2c 31 29 2c 72 65 67 31 37 2c 69 66 28 65 eg27,if(equal(roff,1),reg17,if(e
7700 71 75 61 6c 28 72 6f 66 66 2c 32 29 2c 72 65 67 31 39 2c 69 66 28 65 71 75 61 6c 28 72 6f 66 66 qual(roff,2),reg19,if(equal(roff
7720 2c 33 29 2c 72 65 67 32 31 2c 69 66 28 65 71 75 61 6c 28 72 6f 66 66 2c 34 29 2c 72 65 67 32 33 ,3),reg21,if(equal(roff,4),reg23
7740 2c 72 65 67 32 35 29 29 29 29 29 3b 0d 0a 6e 3d 28 28 6e 2a 73 74 65 70 73 29 7c 30 29 3b 72 65 ,reg25)))));..n=((n*steps)|0);re
7760 73 70 3d 72 65 67 33 30 3b 0d 0a 70 79 3d 6f 79 2d 6e 2a 72 65 73 70 3b 0d 0a 6e 3d 35 30 2a 77 sp=reg30;..py=oy-n*resp;..n=50*w
7780 2f 33 32 30 3b 6e 3d 6e 2a 62 6e 6f 74 28 61 62 6f 76 65 28 73 69 6e 28 72 79 2a 36 29 2c 30 29 /320;n=n*bnot(above(sin(ry*6),0)
77a0 29 3b 0d 0a 0d 0a 0d 0a 2f 2f 20 53 74 61 74 65 20 76 61 72 73 0d 0a 63 73 3d 24 70 69 2a 2e 33 );......//.State.vars..cs=$pi*.3
77c0 33 33 33 3b 61 66 3d 77 2f 68 3b 70 3d 30 3b 00 00 00 00 00 26 00 00 00 2f 2f 20 43 6f 6c 75 6d 333;af=w/h;p=0;.....&...//.Colum
77e0 6e 20 39 62 20 54 6f 70 0d 0a 6e 3d 30 3b 72 64 64 3d 31 2e 37 33 3b 70 6f 73 3d 31 3b 00 02 00 n.9b.Top..n=0;rdd=1.73;pos=1;...
7800 00 00 01 00 00 00 ff ff ff 00 01 00 00 00 24 00 00 00 6a 05 00 00 01 e6 02 00 00 2f 2f 20 53 65 ..............$...j........//.Se
7820 74 20 75 70 20 63 6f 6c 75 6d 6e 0d 0a 71 3d 69 66 28 6f 64 64 2c 33 2d 70 2c 70 29 3b 0d 0a 61 t.up.column..q=if(odd,3-p,p);..a
7840 3d 63 73 2a 28 71 2b 2e 35 2b 70 6f 66 66 29 3b 0d 0a 70 78 3d 63 6f 73 28 61 29 2a 2e 35 2b 63 =cs*(q+.5+poff);..px=cos(a)*.5+c
7860 70 78 3b 70 7a 3d 73 69 6e 28 61 29 2a 2e 35 2b 63 70 7a 3b 0d 0a 0d 0a 2f 2f 20 54 72 61 6e 73 px;pz=sin(a)*.5+cpz;....//.Trans
7880 66 6f 72 6d 20 61 6e 64 20 70 72 6f 6a 65 63 74 0d 0a 78 31 3d 70 78 2a 63 79 2d 70 7a 2a 73 79 form.and.project..x1=px*cy-pz*sy
78a0 3b 7a 31 3d 70 78 2a 73 79 2b 70 7a 2a 63 79 3b 0d 0a 79 32 3d 70 79 2a 63 78 2d 7a 31 2a 73 78 ;z1=px*sy+pz*cy;..y2=py*cx-z1*sx
78c0 3b 7a 32 3d 70 79 2a 73 78 2b 7a 31 2a 63 78 2b 7a 64 69 73 74 3b 0d 0a 7a 32 3d 7a 32 2a 2e 37 ;z2=py*sx+z1*cx+zdist;..z2=z2*.7
78e0 35 3b 20 20 20 0d 0a 7a 32 3d 69 66 28 62 65 6c 6f 77 28 7a 32 2c 2e 30 32 29 2c 30 2c 31 2f 7a 5;.....z2=if(below(z2,.02),0,1/z
7900 32 29 3b 0d 0a 78 3d 78 31 2a 7a 32 3b 79 3d 79 32 2a 7a 32 2a 61 66 2d 2e 31 3b 0d 0a 0d 0a 2f 2);..x=x1*z2;y=y2*z2*af-.1;..../
7920 2f 20 52 65 63 61 6c 63 75 6c 61 74 65 20 66 6f 72 20 6c 69 6e 65 61 72 20 74 65 78 74 75 72 65 /.Recalculate.for.linear.texture
7940 20 63 6f 6f 72 64 69 6e 61 74 65 73 0d 0a 71 3d 69 66 28 6f 64 64 2c 32 2e 35 2d 65 71 75 61 6c .coordinates..q=if(odd,2.5-equal
7960 28 70 2c 32 29 2c 6d 61 78 28 2e 35 2c 70 2d 2e 35 29 29 2d 31 3b 0d 0a 61 3d 63 73 2a 28 71 2b (p,2),max(.5,p-.5))-1;..a=cs*(q+
7980 2e 35 2b 70 6f 66 66 29 3b 0d 0a 70 78 3d 63 6f 73 28 61 29 2a 2e 35 3b 70 7a 3d 73 69 6e 28 61 .5+poff);..px=cos(a)*.5;pz=sin(a
79a0 29 2a 2e 35 3b 0d 0a 78 31 3d 70 78 2a 63 79 74 2d 70 7a 2a 73 79 74 2d 72 64 64 2a 33 2e 3b 7a )*.5;..x1=px*cyt-pz*syt-rdd*3.;z
79c0 31 3d 70 78 2a 73 79 74 2b 70 7a 2a 63 79 74 3b 0d 0a 79 32 3d 70 79 2a 63 78 2d 7a 31 2a 73 78 1=px*syt+pz*cyt;..y2=py*cx-z1*sx
79e0 3b 7a 32 3d 70 79 2a 73 78 2b 7a 31 2a 63 78 2b 7a 64 69 73 74 3b 0d 0a 2f 2f 20 46 61 6b 65 20 ;z2=py*sx+z1*cx+zdist;..//.Fake.
7a00 65 6e 76 69 72 6f 6e 6d 65 6e 74 20 6d 61 70 70 69 6e 67 0d 0a 61 3d 78 31 2a 32 37 2b 73 69 6e environment.mapping..a=x1*27+sin
7a20 28 79 32 2d 78 31 2a 33 29 2a 32 2b 35 3b 62 3d 79 32 2a 2e 38 2d 78 31 2a 32 2e 31 2b 2e 35 3b (y2-x1*3)*2+5;b=y2*.8-x1*2.1+.5;
7a40 63 3d 63 6f 73 28 61 29 3b 0d 0a 72 65 64 3d 28 63 2b 73 69 6e 28 62 29 29 2a 2e 33 30 2b 2e 37 c=cos(a);..red=(c+sin(b))*.30+.7
7a60 3b 0d 0a 67 72 65 65 6e 3d 28 63 6f 73 28 61 2b 2e 32 29 2b 73 69 6e 28 62 2d 2e 31 29 2a 31 2e ;..green=(cos(a+.2)+sin(b-.1)*1.
7a80 32 29 2a 2e 33 30 2b 2e 35 3b 0d 0a 62 6c 75 65 3d 28 63 2b 73 69 6e 28 62 2b 2e 32 29 2a 31 2e 2)*.30+.5;..blue=(c+sin(b+.2)*1.
7aa0 35 29 2a 2e 33 30 2b 2e 30 3b 0d 0a 0d 0a 2f 2f 20 53 74 61 74 65 20 76 61 72 73 0d 0a 70 3d 28 5)*.30+.0;....//.State.vars..p=(
7ac0 70 2b 31 29 25 33 3b 70 79 3d 70 79 2d 65 71 75 61 6c 28 70 2c 30 29 2a 72 65 73 70 3b 0d 0a 6f p+1)%3;py=py-equal(p,0)*resp;..o
7ae0 64 64 3d 69 66 28 65 71 75 61 6c 28 70 2c 30 29 2c 62 6e 6f 74 28 6f 64 64 29 2c 6f 64 64 29 3b dd=if(equal(p,0),bnot(odd),odd);
7b00 00 43 02 00 00 2f 2f 20 53 65 74 75 70 20 63 6f 6c 75 6d 6e 0d 0a 78 3d 70 6f 73 2a 24 70 69 2a .C...//.Setup.column..x=pos*$pi*
7b20 2e 33 33 33 3b 63 70 78 3d 72 64 64 2a 63 6f 73 28 78 29 3b 63 70 7a 3d 72 64 64 2a 73 69 6e 28 .333;cpx=rdd*cos(x);cpz=rdd*sin(
7b40 78 29 3b 0d 0a 0d 0a 2f 2f 20 43 61 6d 65 72 61 0d 0a 7a 64 69 73 74 3d 72 65 67 30 30 3b 72 79 x);....//.Camera..zdist=reg00;ry
7b60 3d 72 65 67 30 31 3b 6f 79 3d 72 65 67 30 32 3b 72 78 3d 72 65 67 30 33 3b 73 74 65 70 73 3d 72 =reg01;oy=reg02;rx=reg03;steps=r
7b80 65 67 30 39 3b 0d 0a 63 79 74 3d 72 65 67 30 37 3b 73 79 74 3d 72 65 67 30 38 3b 0d 0a 72 6f 66 eg09;..cyt=reg07;syt=reg08;..rof
7ba0 66 3d 28 28 28 28 61 62 73 28 33 2a 72 79 2f 24 70 69 29 7c 30 29 25 36 29 2a 73 69 67 6e 28 72 f=((((abs(3*ry/$pi)|0)%6)*sign(r
7bc0 79 29 2b 31 32 29 25 36 29 3b 0d 0a 72 79 3d 72 79 2d 28 72 6f 66 66 2b 32 29 2a 24 70 69 2f 33 y)+12)%6);..ry=ry-(roff+2)*$pi/3
7be0 3b 0d 0a 63 78 3d 63 6f 73 28 72 78 29 3b 73 78 3d 73 69 6e 28 72 78 29 3b 0d 0a 63 79 3d 63 6f ;..cx=cos(rx);sx=sin(rx);..cy=co
7c00 73 28 72 79 29 3b 73 79 3d 73 69 6e 28 72 79 29 3b 0d 0a 0d 0a 2f 2f 20 53 6f 75 6e 64 20 72 65 s(ry);sy=sin(ry);....//.Sound.re
7c20 73 70 6f 6e 73 65 0d 0a 6e 3d 69 66 28 65 71 75 61 6c 28 72 6f 66 66 2c 30 29 2c 72 65 67 31 36 sponse..n=if(equal(roff,0),reg16
7c40 2c 69 66 28 65 71 75 61 6c 28 72 6f 66 66 2c 31 29 2c 72 65 67 31 31 2c 69 66 28 65 71 75 61 6c ,if(equal(roff,1),reg11,if(equal
7c60 28 72 6f 66 66 2c 32 29 2c 72 65 67 31 32 2c 69 66 28 65 71 75 61 6c 28 72 6f 66 66 2c 33 29 2c (roff,2),reg12,if(equal(roff,3),
7c80 72 65 67 31 33 2c 69 66 28 65 71 75 61 6c 28 72 6f 66 66 2c 34 29 2c 72 65 67 31 34 2c 72 65 67 reg13,if(equal(roff,4),reg14,reg
7ca0 31 35 29 29 29 29 29 3b 0d 0a 6e 3d 6e 2a 31 2e 32 35 3b 6e 3d 28 28 6e 2a 73 74 65 70 73 29 7c 15)))));..n=n*1.25;n=((n*steps)|
7cc0 30 29 2a 33 2b 33 3b 72 65 73 70 3d 72 65 67 33 30 2a 2e 38 3b 0d 0a 70 79 3d 6f 79 3b 0d 0a 0d 0)*3+3;resp=reg30*.8;..py=oy;...
7ce0 0a 2f 2f 20 53 74 61 74 65 20 76 61 72 73 0d 0a 63 73 3d 24 70 69 2a 2e 33 33 33 33 3b 61 66 3d .//.State.vars..cs=$pi*.3333;af=
7d00 77 2f 68 3b 70 3d 30 3b 0d 0a 70 6f 66 66 3d 28 2d 33 2a 72 79 2f 24 70 69 29 3b 0d 0a 70 6f 66 w/h;p=0;..poff=(-3*ry/$pi);..pof
7d20 66 3d 28 61 62 73 28 70 6f 66 66 29 25 36 29 2a 73 69 67 6e 28 70 6f 66 66 29 2b 32 2e 35 3b 0d f=(abs(poff)%6)*sign(poff)+2.5;.
7d40 0a 6f 64 64 3d 30 3b 00 00 00 00 00 20 00 00 00 2f 2f 20 43 6f 6c 75 6d 6e 20 36 0d 0a 6e 3d 30 .odd=0;.........//.Column.6..n=0
7d60 3b 72 64 64 3d 31 3b 70 6f 73 3d 31 2e 35 3b 00 02 00 00 00 01 00 00 00 ff ff ff 00 01 00 00 00 ;rdd=1;pos=1.5;.................
7d80 24 00 00 00 98 04 00 00 01 4b 02 00 00 2f 2f 20 53 65 74 20 75 70 20 63 6f 6c 75 6d 6e 0d 0a 70 $........K...//.Set.up.column..p
7da0 7a 3d 28 69 2d 2e 35 29 2a 2e 38 36 36 3b 70 78 3d 28 70 2d 2e 35 29 2a 28 31 2d 61 62 73 28 69 z=(i-.5)*.866;px=(p-.5)*(1-abs(i
7dc0 2d 2e 35 29 29 3b 0d 0a 70 78 3d 70 78 2b 63 70 78 3b 70 7a 3d 70 7a 2b 63 70 7a 3b 0d 0a 0d 0a -.5));..px=px+cpx;pz=pz+cpz;....
7de0 2f 2f 20 54 72 61 6e 73 66 6f 72 6d 20 61 6e 64 20 70 72 6f 6a 65 63 74 0d 0a 78 31 3d 70 78 2a //.Transform.and.project..x1=px*
7e00 63 79 2d 70 7a 2a 73 79 3b 7a 31 3d 70 78 2a 73 79 2b 70 7a 2a 63 79 3b 0d 0a 79 32 3d 70 79 2a cy-pz*sy;z1=px*sy+pz*cy;..y2=py*
7e20 63 78 2d 7a 31 2a 73 78 3b 7a 32 3d 70 79 2a 73 78 2b 7a 31 2a 63 78 2b 7a 64 69 73 74 3b 0d 0a cx-z1*sx;z2=py*sx+z1*cx+zdist;..
7e40 7a 32 3d 7a 32 2a 2e 37 35 3b 20 20 20 0d 0a 7a 32 3d 69 66 28 62 65 6c 6f 77 28 7a 32 2c 2e 30 z2=z2*.75;.....z2=if(below(z2,.0
7e60 32 29 2c 30 2c 31 2f 7a 32 29 3b 0d 0a 78 3d 78 31 2a 7a 32 3b 79 3d 79 32 2a 7a 32 2a 61 66 2d 2),0,1/z2);..x=x1*z2;y=y2*z2*af-
7e80 2e 31 3b 0d 0a 0d 0a 2f 2f 20 52 65 63 61 6c 63 75 6c 61 74 65 20 66 6f 72 20 6c 69 6e 65 61 72 .1;....//.Recalculate.for.linear
7ea0 20 74 65 78 74 75 72 65 20 63 6f 6f 72 64 69 6e 61 74 65 73 0d 0a 70 78 3d 63 70 78 3b 0d 0a 78 .texture.coordinates..px=cpx;..x
7ec0 31 3d 70 78 2a 63 79 2d 70 7a 2a 73 79 3b 7a 31 3d 70 78 2a 73 79 2b 70 7a 2a 63 79 3b 0d 0a 79 1=px*cy-pz*sy;z1=px*sy+pz*cy;..y
7ee0 32 3d 70 79 2a 63 78 2d 7a 31 2a 73 78 3b 7a 32 3d 70 79 2a 73 78 2b 7a 31 2a 63 78 2b 7a 64 69 2=py*cx-z1*sx;z2=py*sx+z1*cx+zdi
7f00 73 74 3b 0d 0a 2f 2f 20 46 61 6b 65 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 20 6d 61 70 70 69 6e 67 st;..//.Fake.environment.mapping
7f20 0d 0a 61 3d 78 31 2b 73 69 6e 28 79 32 2a 2e 37 2d 78 31 2a 2e 36 29 2a 32 2b 35 3b 62 3d 79 32 ..a=x1+sin(y2*.7-x1*.6)*2+5;b=y2
7f40 2a 2e 35 2d 78 31 2a 31 2e 31 2b 2e 35 3b 63 3d 63 6f 73 28 61 29 3b 0d 0a 72 65 64 3d 28 63 2b *.5-x1*1.1+.5;c=cos(a);..red=(c+
7f60 73 69 6e 28 62 29 29 2a 2e 33 30 2b 2e 37 3b 0d 0a 67 72 65 65 6e 3d 28 63 6f 73 28 61 2b 2e 32 sin(b))*.30+.7;..green=(cos(a+.2
7f80 29 2b 73 69 6e 28 62 2d 2e 31 29 2a 31 2e 32 29 2a 2e 33 30 2b 2e 35 3b 0d 0a 62 6c 75 65 3d 28 )+sin(b-.1)*1.2)*.30+.5;..blue=(
7fa0 63 2b 73 69 6e 28 62 2b 2e 32 29 2a 31 2e 35 29 2a 2e 33 30 2b 2e 30 3b 0d 0a 0d 0a 2f 2f 20 53 c+sin(b+.2)*1.5)*.30+.0;....//.S
7fc0 74 61 74 65 20 76 61 72 73 0d 0a 70 3d 62 6e 6f 74 28 70 29 3b 0d 0a 00 08 02 00 00 2f 2f 20 53 tate.vars..p=bnot(p);.......//.S
7fe0 65 74 75 70 20 63 6f 6c 75 6d 6e 0d 0a 78 3d 70 6f 73 2a 24 70 69 2a 2e 33 33 33 3b 63 70 78 3d etup.column..x=pos*$pi*.333;cpx=
8000 72 64 64 2a 63 6f 73 28 78 29 3b 63 70 7a 3d 72 64 64 2a 73 69 6e 28 78 29 3b 0d 0a 0d 0a 2f 2f rdd*cos(x);cpz=rdd*sin(x);....//
8020 20 43 61 6d 65 72 61 0d 0a 7a 64 69 73 74 3d 72 65 67 30 30 3b 72 79 3d 72 65 67 30 31 3b 6f 79 .Camera..zdist=reg00;ry=reg01;oy
8040 3d 72 65 67 30 32 3b 72 78 3d 72 65 67 30 33 3b 73 74 65 70 73 3d 72 65 67 30 39 3b 0d 0a 63 79 =reg02;rx=reg03;steps=reg09;..cy
8060 74 3d 72 65 67 30 37 3b 73 79 74 3d 72 65 67 30 38 3b 0d 0a 72 6f 66 66 3d 28 28 28 28 61 62 73 t=reg07;syt=reg08;..roff=((((abs
8080 28 33 2a 72 79 2f 24 70 69 29 7c 30 29 25 36 29 2a 73 69 67 6e 28 72 79 29 2b 31 32 29 25 36 29 (3*ry/$pi)|0)%6)*sign(ry)+12)%6)
80a0 3b 0d 0a 72 79 3d 72 79 2d 28 72 6f 66 66 2b 32 29 2a 24 70 69 2f 33 3b 0d 0a 63 78 3d 63 6f 73 ;..ry=ry-(roff+2)*$pi/3;..cx=cos
80c0 28 72 78 29 3b 73 78 3d 73 69 6e 28 72 78 29 3b 0d 0a 63 79 3d 63 6f 73 28 72 79 29 3b 73 79 3d (rx);sx=sin(rx);..cy=cos(ry);sy=
80e0 73 69 6e 28 72 79 29 3b 0d 0a 0d 0a 2f 2f 20 53 6f 75 6e 64 20 72 65 73 70 6f 6e 73 65 0d 0a 6e sin(ry);....//.Sound.response..n
8100 3d 69 66 28 65 71 75 61 6c 28 72 6f 66 66 2c 30 29 2c 72 65 67 31 36 2c 69 66 28 65 71 75 61 6c =if(equal(roff,0),reg16,if(equal
8120 28 72 6f 66 66 2c 31 29 2c 72 65 67 31 31 2c 69 66 28 65 71 75 61 6c 28 72 6f 66 66 2c 32 29 2c (roff,1),reg11,if(equal(roff,2),
8140 72 65 67 31 32 2c 69 66 28 65 71 75 61 6c 28 72 6f 66 66 2c 33 29 2c 72 65 67 31 33 2c 69 66 28 reg12,if(equal(roff,3),reg13,if(
8160 65 71 75 61 6c 28 72 6f 66 66 2c 34 29 2c 72 65 67 31 34 2c 72 65 67 31 35 29 29 29 29 29 3b 0d equal(roff,4),reg14,reg15)))));.
8180 0a 6e 3d 28 28 6e 2a 73 74 65 70 73 29 7c 30 29 3b 72 65 73 70 3d 72 65 67 33 30 3b 0d 0a 70 79 .n=((n*steps)|0);resp=reg30;..py
81a0 3d 6f 79 2d 6e 2a 72 65 73 70 3b 0d 0a 6e 3d 35 30 2a 77 2f 33 32 30 3b 0d 0a 0d 0a 2f 2f 20 53 =oy-n*resp;..n=50*w/320;....//.S
81c0 74 61 74 65 20 76 61 72 73 0d 0a 63 73 3d 24 70 69 2a 2e 33 33 33 33 3b 61 66 3d 77 2f 68 3b 70 tate.vars..cs=$pi*.3333;af=w/h;p
81e0 3d 30 3b 00 00 00 00 00 24 00 00 00 2f 2f 20 43 6f 6c 75 6d 6e 20 36 20 54 6f 70 0d 0a 6e 3d 30 =0;.....$...//.Column.6.Top..n=0
8200 3b 72 64 64 3d 31 3b 70 6f 73 3d 31 2e 35 3b 00 02 00 00 00 01 00 00 00 ff ff ff 00 01 00 00 00 ;rdd=1;pos=1.5;.................
8220 24 00 00 00 8e 05 00 00 01 e3 02 00 00 2f 2f 20 53 65 74 20 75 70 20 63 6f 6c 75 6d 6e 0d 0a 71 $............//.Set.up.column..q
8240 3d 69 66 28 6f 64 64 2c 33 2d 70 2c 70 29 3b 0d 0a 61 3d 63 73 2a 28 71 2b 2e 35 2b 70 6f 66 66 =if(odd,3-p,p);..a=cs*(q+.5+poff
8260 29 3b 0d 0a 70 78 3d 63 6f 73 28 61 29 2a 2e 35 2b 63 70 78 3b 70 7a 3d 73 69 6e 28 61 29 2a 2e );..px=cos(a)*.5+cpx;pz=sin(a)*.
8280 35 2b 63 70 7a 3b 0d 0a 0d 0a 2f 2f 20 54 72 61 6e 73 66 6f 72 6d 20 61 6e 64 20 70 72 6f 6a 65 5+cpz;....//.Transform.and.proje
82a0 63 74 0d 0a 78 31 3d 70 78 2a 63 79 2d 70 7a 2a 73 79 3b 7a 31 3d 70 78 2a 73 79 2b 70 7a 2a 63 ct..x1=px*cy-pz*sy;z1=px*sy+pz*c
82c0 79 3b 0d 0a 79 32 3d 70 79 2a 63 78 2d 7a 31 2a 73 78 3b 7a 32 3d 70 79 2a 73 78 2b 7a 31 2a 63 y;..y2=py*cx-z1*sx;z2=py*sx+z1*c
82e0 78 2b 7a 64 69 73 74 3b 0d 0a 7a 32 3d 7a 32 2a 2e 37 35 3b 0d 0a 7a 32 3d 69 66 28 62 65 6c 6f x+zdist;..z2=z2*.75;..z2=if(belo
8300 77 28 7a 32 2c 2e 30 32 29 2c 30 2c 31 2f 7a 32 29 3b 0d 0a 78 3d 78 31 2a 7a 32 3b 79 3d 79 32 w(z2,.02),0,1/z2);..x=x1*z2;y=y2
8320 2a 7a 32 2a 61 66 2d 2e 31 3b 0d 0a 0d 0a 2f 2f 20 52 65 63 61 6c 63 75 6c 61 74 65 20 66 6f 72 *z2*af-.1;....//.Recalculate.for
8340 20 6c 69 6e 65 61 72 20 74 65 78 74 75 72 65 20 63 6f 6f 72 64 69 6e 61 74 65 73 0d 0a 71 3d 69 .linear.texture.coordinates..q=i
8360 66 28 6f 64 64 2c 32 2e 35 2d 65 71 75 61 6c 28 70 2c 32 29 2c 6d 61 78 28 2e 35 2c 70 2d 2e 35 f(odd,2.5-equal(p,2),max(.5,p-.5
8380 29 29 2b 31 3b 0d 0a 61 3d 63 73 2a 28 71 2b 2e 35 2b 70 6f 66 66 29 3b 0d 0a 70 78 3d 63 6f 73 ))+1;..a=cs*(q+.5+poff);..px=cos
83a0 28 61 29 2a 2e 35 3b 70 7a 3d 73 69 6e 28 61 29 2a 2e 35 3b 0d 0a 78 31 3d 70 78 2a 63 79 74 2d (a)*.5;pz=sin(a)*.5;..x1=px*cyt-
83c0 70 7a 2a 73 79 74 2d 72 64 64 2a 33 2e 3b 7a 31 3d 70 78 2a 73 79 74 2b 70 7a 2a 63 79 74 3b 0d pz*syt-rdd*3.;z1=px*syt+pz*cyt;.
83e0 0a 79 32 3d 70 79 2a 63 78 2d 7a 31 2a 73 78 3b 7a 32 3d 70 79 2a 73 78 2b 7a 31 2a 63 78 2b 7a .y2=py*cx-z1*sx;z2=py*sx+z1*cx+z
8400 64 69 73 74 3b 0d 0a 2f 2f 20 46 61 6b 65 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 20 6d 61 70 70 69 dist;..//.Fake.environment.mappi
8420 6e 67 0d 0a 61 3d 78 31 2a 32 37 2b 73 69 6e 28 79 32 2d 78 31 2a 33 29 2a 32 2b 35 3b 62 3d 79 ng..a=x1*27+sin(y2-x1*3)*2+5;b=y
8440 32 2a 2e 38 2d 78 31 2a 32 2e 31 2b 2e 35 3b 63 3d 63 6f 73 28 61 29 3b 0d 0a 72 65 64 3d 28 63 2*.8-x1*2.1+.5;c=cos(a);..red=(c
8460 2b 73 69 6e 28 62 29 29 2a 2e 33 30 2b 2e 37 3b 0d 0a 67 72 65 65 6e 3d 28 63 6f 73 28 61 2b 2e +sin(b))*.30+.7;..green=(cos(a+.
8480 32 29 2b 73 69 6e 28 62 2d 2e 31 29 2a 31 2e 32 29 2a 2e 33 30 2b 2e 35 3b 0d 0a 62 6c 75 65 3d 2)+sin(b-.1)*1.2)*.30+.5;..blue=
84a0 28 63 2b 73 69 6e 28 62 2b 2e 32 29 2a 31 2e 35 29 2a 2e 33 30 2b 2e 30 3b 0d 0a 0d 0a 2f 2f 20 (c+sin(b+.2)*1.5)*.30+.0;....//.
84c0 53 74 61 74 65 20 76 61 72 73 0d 0a 70 3d 28 70 2b 31 29 25 33 3b 70 79 3d 70 79 2d 65 71 75 61 State.vars..p=(p+1)%3;py=py-equa
84e0 6c 28 70 2c 30 29 2a 72 65 73 70 3b 0d 0a 6f 64 64 3d 69 66 28 65 71 75 61 6c 28 70 2c 30 29 2c l(p,0)*resp;..odd=if(equal(p,0),
8500 62 6e 6f 74 28 6f 64 64 29 2c 6f 64 64 29 3b 00 67 02 00 00 2f 2f 20 53 65 74 75 70 20 63 6f 6c bnot(odd),odd);.g...//.Setup.col
8520 75 6d 6e 0d 0a 78 3d 70 6f 73 2a 24 70 69 2a 2e 33 33 33 3b 63 70 78 3d 72 64 64 2a 63 6f 73 28 umn..x=pos*$pi*.333;cpx=rdd*cos(
8540 78 29 3b 63 70 7a 3d 72 64 64 2a 73 69 6e 28 78 29 3b 0d 0a 0d 0a 2f 2f 20 43 61 6d 65 72 61 0d x);cpz=rdd*sin(x);....//.Camera.
8560 0a 7a 64 69 73 74 3d 72 65 67 30 30 3b 72 79 3d 72 65 67 30 31 3b 6f 79 3d 72 65 67 30 32 3b 72 .zdist=reg00;ry=reg01;oy=reg02;r
8580 78 3d 72 65 67 30 33 3b 73 74 65 70 73 3d 72 65 67 30 39 3b 0d 0a 63 79 74 3d 72 65 67 30 37 3b x=reg03;steps=reg09;..cyt=reg07;
85a0 73 79 74 3d 72 65 67 30 38 3b 0d 0a 72 6f 66 66 3d 28 28 28 28 61 62 73 28 33 2a 72 79 2f 24 70 syt=reg08;..roff=((((abs(3*ry/$p
85c0 69 2b 2e 35 29 7c 30 29 25 36 29 2a 73 69 67 6e 28 72 79 29 2b 31 32 29 25 36 29 3b 0d 0a 72 79 i+.5)|0)%6)*sign(ry)+12)%6);..ry
85e0 3d 72 79 2d 28 72 6f 66 66 2b 31 29 2a 24 70 69 2f 33 3b 0d 0a 63 78 3d 63 6f 73 28 72 78 29 3b =ry-(roff+1)*$pi/3;..cx=cos(rx);
8600 73 78 3d 73 69 6e 28 72 78 29 3b 0d 0a 63 79 3d 63 6f 73 28 72 79 29 3b 73 79 3d 73 69 6e 28 72 sx=sin(rx);..cy=cos(ry);sy=sin(r
8620 79 29 3b 0d 0a 0d 0a 2f 2f 20 53 6f 75 6e 64 20 72 65 73 70 6f 6e 73 65 0d 0a 6e 3d 69 66 28 65 y);....//.Sound.response..n=if(e
8640 71 75 61 6c 28 72 6f 66 66 2c 30 29 2c 72 65 67 31 39 2c 69 66 28 65 71 75 61 6c 28 72 6f 66 66 qual(roff,0),reg19,if(equal(roff
8660 2c 31 29 2c 72 65 67 32 31 2c 69 66 28 65 71 75 61 6c 28 72 6f 66 66 2c 32 29 2c 72 65 67 32 33 ,1),reg21,if(equal(roff,2),reg23
8680 2c 69 66 28 65 71 75 61 6c 28 72 6f 66 66 2c 33 29 2c 72 65 67 32 35 2c 69 66 28 65 71 75 61 6c ,if(equal(roff,3),reg25,if(equal
86a0 28 72 6f 66 66 2c 34 29 2c 72 65 67 32 37 2c 72 65 67 31 37 29 29 29 29 29 3b 0d 0a 6e 3d 6e 2a (roff,4),reg27,reg17)))));..n=n*
86c0 31 2e 32 35 3b 6e 3d 28 28 6e 2a 73 74 65 70 73 29 7c 30 29 2a 33 2b 33 3b 72 65 73 70 3d 72 65 1.25;n=((n*steps)|0)*3+3;resp=re
86e0 67 33 30 2a 2e 38 3b 0d 0a 6e 3d 6e 2a 28 62 6e 6f 74 28 61 62 6f 76 65 28 73 69 6e 28 72 79 2a g30*.8;..n=n*(bnot(above(sin(ry*
8700 36 29 2c 30 29 29 29 3b 0d 0a 70 79 3d 6f 79 3b 0d 0a 0d 0a 2f 2f 20 53 74 61 74 65 20 76 61 72 6),0)));..py=oy;....//.State.var
8720 73 0d 0a 63 73 3d 24 70 69 2a 2e 33 33 33 33 3b 61 66 3d 77 2f 68 3b 70 3d 30 3b 0d 0a 70 6f 66 s..cs=$pi*.3333;af=w/h;p=0;..pof
8740 66 3d 28 2d 33 2a 72 79 2f 24 70 69 29 3b 0d 0a 70 6f 66 66 3d 28 61 62 73 28 70 6f 66 66 29 25 f=(-3*ry/$pi);..poff=(abs(poff)%
8760 36 29 2a 73 69 67 6e 28 70 6f 66 66 29 2b 33 2e 35 3b 0d 0a 6f 64 64 3d 30 3b 00 00 00 00 00 23 6)*sign(poff)+3.5;..odd=0;.....#
8780 00 00 00 2f 2f 20 43 6f 6c 75 6d 6e 20 37 61 0d 0a 6e 3d 30 3b 72 64 64 3d 31 2e 37 33 3b 70 6f ...//.Column.7a..n=0;rdd=1.73;po
87a0 73 3d 2d 31 3b 00 02 00 00 00 01 00 00 00 ff ff ff 00 01 00 00 00 24 00 00 00 bd 04 00 00 01 4b s=-1;.................$........K
87c0 02 00 00 2f 2f 20 53 65 74 20 75 70 20 63 6f 6c 75 6d 6e 0d 0a 70 7a 3d 28 69 2d 2e 35 29 2a 2e ...//.Set.up.column..pz=(i-.5)*.
87e0 38 36 36 3b 70 78 3d 28 70 2d 2e 35 29 2a 28 31 2d 61 62 73 28 69 2d 2e 35 29 29 3b 0d 0a 70 78 866;px=(p-.5)*(1-abs(i-.5));..px
8800 3d 70 78 2b 63 70 78 3b 70 7a 3d 70 7a 2b 63 70 7a 3b 0d 0a 0d 0a 2f 2f 20 54 72 61 6e 73 66 6f =px+cpx;pz=pz+cpz;....//.Transfo
8820 72 6d 20 61 6e 64 20 70 72 6f 6a 65 63 74 0d 0a 78 31 3d 70 78 2a 63 79 2d 70 7a 2a 73 79 3b 7a rm.and.project..x1=px*cy-pz*sy;z
8840 31 3d 70 78 2a 73 79 2b 70 7a 2a 63 79 3b 0d 0a 79 32 3d 70 79 2a 63 78 2d 7a 31 2a 73 78 3b 7a 1=px*sy+pz*cy;..y2=py*cx-z1*sx;z
8860 32 3d 70 79 2a 73 78 2b 7a 31 2a 63 78 2b 7a 64 69 73 74 3b 0d 0a 7a 32 3d 7a 32 2a 2e 37 35 3b 2=py*sx+z1*cx+zdist;..z2=z2*.75;
8880 20 20 20 0d 0a 7a 32 3d 69 66 28 62 65 6c 6f 77 28 7a 32 2c 2e 30 32 29 2c 30 2c 31 2f 7a 32 29 .....z2=if(below(z2,.02),0,1/z2)
88a0 3b 0d 0a 78 3d 78 31 2a 7a 32 3b 79 3d 79 32 2a 7a 32 2a 61 66 2d 2e 31 3b 0d 0a 0d 0a 2f 2f 20 ;..x=x1*z2;y=y2*z2*af-.1;....//.
88c0 52 65 63 61 6c 63 75 6c 61 74 65 20 66 6f 72 20 6c 69 6e 65 61 72 20 74 65 78 74 75 72 65 20 63 Recalculate.for.linear.texture.c
88e0 6f 6f 72 64 69 6e 61 74 65 73 0d 0a 70 78 3d 63 70 78 3b 0d 0a 78 31 3d 70 78 2a 63 79 2d 70 7a oordinates..px=cpx;..x1=px*cy-pz
8900 2a 73 79 3b 7a 31 3d 70 78 2a 73 79 2b 70 7a 2a 63 79 3b 0d 0a 79 32 3d 70 79 2a 63 78 2d 7a 31 *sy;z1=px*sy+pz*cy;..y2=py*cx-z1
8920 2a 73 78 3b 7a 32 3d 70 79 2a 73 78 2b 7a 31 2a 63 78 2b 7a 64 69 73 74 3b 0d 0a 2f 2f 20 46 61 *sx;z2=py*sx+z1*cx+zdist;..//.Fa
8940 6b 65 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 20 6d 61 70 70 69 6e 67 0d 0a 61 3d 78 31 2b 73 69 6e ke.environment.mapping..a=x1+sin
8960 28 79 32 2a 2e 37 2d 78 31 2a 2e 36 29 2a 32 2b 35 3b 62 3d 79 32 2a 2e 35 2d 78 31 2a 31 2e 31 (y2*.7-x1*.6)*2+5;b=y2*.5-x1*1.1
8980 2b 2e 35 3b 63 3d 63 6f 73 28 61 29 3b 0d 0a 72 65 64 3d 28 63 2b 73 69 6e 28 62 29 29 2a 2e 33 +.5;c=cos(a);..red=(c+sin(b))*.3
89a0 30 2b 2e 37 3b 0d 0a 67 72 65 65 6e 3d 28 63 6f 73 28 61 2b 2e 32 29 2b 73 69 6e 28 62 2d 2e 31 0+.7;..green=(cos(a+.2)+sin(b-.1
89c0 29 2a 31 2e 32 29 2a 2e 33 30 2b 2e 35 3b 0d 0a 62 6c 75 65 3d 28 63 2b 73 69 6e 28 62 2b 2e 32 )*1.2)*.30+.5;..blue=(c+sin(b+.2
89e0 29 2a 31 2e 35 29 2a 2e 33 30 2b 2e 30 3b 0d 0a 0d 0a 2f 2f 20 53 74 61 74 65 20 76 61 72 73 0d )*1.5)*.30+.0;....//.State.vars.
8a00 0a 70 3d 62 6e 6f 74 28 70 29 3b 0d 0a 00 2a 02 00 00 2f 2f 20 53 65 74 75 70 20 63 6f 6c 75 6d .p=bnot(p);...*...//.Setup.colum
8a20 6e 0d 0a 78 3d 70 6f 73 2a 24 70 69 2a 2e 33 33 33 3b 63 70 78 3d 72 64 64 2a 63 6f 73 28 78 29 n..x=pos*$pi*.333;cpx=rdd*cos(x)
8a40 3b 63 70 7a 3d 72 64 64 2a 73 69 6e 28 78 29 3b 0d 0a 0d 0a 2f 2f 20 43 61 6d 65 72 61 0d 0a 7a ;cpz=rdd*sin(x);....//.Camera..z
8a60 64 69 73 74 3d 72 65 67 30 30 3b 72 79 3d 72 65 67 30 31 3b 6f 79 3d 72 65 67 30 32 3b 72 78 3d dist=reg00;ry=reg01;oy=reg02;rx=
8a80 72 65 67 30 33 3b 73 74 65 70 73 3d 72 65 67 30 39 3b 0d 0a 63 79 74 3d 72 65 67 30 37 3b 73 79 reg03;steps=reg09;..cyt=reg07;sy
8aa0 74 3d 72 65 67 30 38 3b 0d 0a 72 6f 66 66 3d 28 28 28 28 61 62 73 28 33 2a 72 79 2f 24 70 69 2b t=reg08;..roff=((((abs(3*ry/$pi+
8ac0 2e 35 29 7c 30 29 25 36 29 2a 73 69 67 6e 28 72 79 29 2b 31 32 29 25 36 29 3b 0d 0a 72 79 3d 72 .5)|0)%6)*sign(ry)+12)%6);..ry=r
8ae0 79 2d 28 72 6f 66 66 2b 31 29 2a 24 70 69 2f 33 3b 0d 0a 63 78 3d 63 6f 73 28 72 78 29 3b 73 78 y-(roff+1)*$pi/3;..cx=cos(rx);sx
8b00 3d 73 69 6e 28 72 78 29 3b 0d 0a 63 79 3d 63 6f 73 28 72 79 29 3b 73 79 3d 73 69 6e 28 72 79 29 =sin(rx);..cy=cos(ry);sy=sin(ry)
8b20 3b 0d 0a 0d 0a 2f 2f 20 53 6f 75 6e 64 20 72 65 73 70 6f 6e 73 65 0d 0a 6e 3d 69 66 28 65 71 75 ;....//.Sound.response..n=if(equ
8b40 61 6c 28 72 6f 66 66 2c 30 29 2c 72 65 67 31 39 2c 69 66 28 65 71 75 61 6c 28 72 6f 66 66 2c 31 al(roff,0),reg19,if(equal(roff,1
8b60 29 2c 72 65 67 32 31 2c 69 66 28 65 71 75 61 6c 28 72 6f 66 66 2c 32 29 2c 72 65 67 32 33 2c 69 ),reg21,if(equal(roff,2),reg23,i
8b80 66 28 65 71 75 61 6c 28 72 6f 66 66 2c 33 29 2c 72 65 67 32 35 2c 69 66 28 65 71 75 61 6c 28 72 f(equal(roff,3),reg25,if(equal(r
8ba0 6f 66 66 2c 34 29 2c 72 65 67 32 37 2c 72 65 67 31 37 29 29 29 29 29 3b 0d 0a 6e 3d 28 28 6e 2a off,4),reg27,reg17)))));..n=((n*
8bc0 73 74 65 70 73 29 7c 30 29 3b 72 65 73 70 3d 72 65 67 33 30 3b 0d 0a 70 79 3d 6f 79 2d 6e 2a 72 steps)|0);resp=reg30;..py=oy-n*r
8be0 65 73 70 3b 0d 0a 6e 3d 35 30 2a 77 2f 33 32 30 3b 6e 3d 6e 2a 62 6e 6f 74 28 61 62 6f 76 65 28 esp;..n=50*w/320;n=n*bnot(above(
8c00 73 69 6e 28 72 79 2a 36 29 2c 30 29 29 3b 0d 0a 0d 0a 0d 0a 2f 2f 20 53 74 61 74 65 20 76 61 72 sin(ry*6),0));......//.State.var
8c20 73 0d 0a 63 73 3d 24 70 69 2a 2e 33 33 33 33 3b 61 66 3d 77 2f 68 3b 70 3d 30 3b 00 00 00 00 00 s..cs=$pi*.3333;af=w/h;p=0;.....
8c40 27 00 00 00 2f 2f 20 43 6f 6c 75 6d 6e 20 37 61 20 54 6f 70 0d 0a 6e 3d 30 3b 72 64 64 3d 31 2e '...//.Column.7a.Top..n=0;rdd=1.
8c60 37 33 3b 70 6f 73 3d 2d 31 3b 00 02 00 00 00 01 00 00 00 ff ff ff 00 01 00 00 00 24 00 00 00 87 73;pos=-1;.................$....
8c80 05 00 00 01 e3 02 00 00 2f 2f 20 53 65 74 20 75 70 20 63 6f 6c 75 6d 6e 0d 0a 71 3d 69 66 28 6f ........//.Set.up.column..q=if(o
8ca0 64 64 2c 33 2d 70 2c 70 29 3b 0d 0a 61 3d 63 73 2a 28 71 2b 2e 35 2b 70 6f 66 66 29 3b 0d 0a 70 dd,3-p,p);..a=cs*(q+.5+poff);..p
8cc0 78 3d 63 6f 73 28 61 29 2a 2e 35 2b 63 70 78 3b 70 7a 3d 73 69 6e 28 61 29 2a 2e 35 2b 63 70 7a x=cos(a)*.5+cpx;pz=sin(a)*.5+cpz
8ce0 3b 0d 0a 0d 0a 2f 2f 20 54 72 61 6e 73 66 6f 72 6d 20 61 6e 64 20 70 72 6f 6a 65 63 74 0d 0a 78 ;....//.Transform.and.project..x
8d00 31 3d 70 78 2a 63 79 2d 70 7a 2a 73 79 3b 7a 31 3d 70 78 2a 73 79 2b 70 7a 2a 63 79 3b 0d 0a 79 1=px*cy-pz*sy;z1=px*sy+pz*cy;..y
8d20 32 3d 70 79 2a 63 78 2d 7a 31 2a 73 78 3b 7a 32 3d 70 79 2a 73 78 2b 7a 31 2a 63 78 2b 7a 64 69 2=py*cx-z1*sx;z2=py*sx+z1*cx+zdi
8d40 73 74 3b 0d 0a 7a 32 3d 7a 32 2a 2e 37 35 3b 0d 0a 7a 32 3d 69 66 28 62 65 6c 6f 77 28 7a 32 2c st;..z2=z2*.75;..z2=if(below(z2,
8d60 2e 30 32 29 2c 30 2c 31 2f 7a 32 29 3b 0d 0a 78 3d 78 31 2a 7a 32 3b 79 3d 79 32 2a 7a 32 2a 61 .02),0,1/z2);..x=x1*z2;y=y2*z2*a
8d80 66 2d 2e 31 3b 0d 0a 0d 0a 2f 2f 20 52 65 63 61 6c 63 75 6c 61 74 65 20 66 6f 72 20 6c 69 6e 65 f-.1;....//.Recalculate.for.line
8da0 61 72 20 74 65 78 74 75 72 65 20 63 6f 6f 72 64 69 6e 61 74 65 73 0d 0a 71 3d 69 66 28 6f 64 64 ar.texture.coordinates..q=if(odd
8dc0 2c 32 2e 35 2d 65 71 75 61 6c 28 70 2c 32 29 2c 6d 61 78 28 2e 35 2c 70 2d 2e 35 29 29 2d 31 3b ,2.5-equal(p,2),max(.5,p-.5))-1;
8de0 0d 0a 61 3d 63 73 2a 28 71 2b 2e 35 2b 70 6f 66 66 29 3b 0d 0a 70 78 3d 63 6f 73 28 61 29 2a 2e ..a=cs*(q+.5+poff);..px=cos(a)*.
8e00 35 3b 70 7a 3d 73 69 6e 28 61 29 2a 2e 35 3b 0d 0a 78 31 3d 70 78 2a 63 79 74 2d 70 7a 2a 73 79 5;pz=sin(a)*.5;..x1=px*cyt-pz*sy
8e20 74 2d 72 64 64 2a 33 2e 3b 7a 31 3d 70 78 2a 73 79 74 2b 70 7a 2a 63 79 74 3b 0d 0a 79 32 3d 70 t-rdd*3.;z1=px*syt+pz*cyt;..y2=p
8e40 79 2a 63 78 2d 7a 31 2a 73 78 3b 7a 32 3d 70 79 2a 73 78 2b 7a 31 2a 63 78 2b 7a 64 69 73 74 3b y*cx-z1*sx;z2=py*sx+z1*cx+zdist;
8e60 0d 0a 2f 2f 20 46 61 6b 65 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 20 6d 61 70 70 69 6e 67 0d 0a 61 ..//.Fake.environment.mapping..a
8e80 3d 78 31 2a 32 37 2b 73 69 6e 28 79 32 2d 78 31 2a 33 29 2a 32 2b 35 3b 62 3d 79 32 2a 2e 38 2d =x1*27+sin(y2-x1*3)*2+5;b=y2*.8-
8ea0 78 31 2a 32 2e 31 2b 2e 35 3b 63 3d 63 6f 73 28 61 29 3b 0d 0a 72 65 64 3d 28 63 2b 73 69 6e 28 x1*2.1+.5;c=cos(a);..red=(c+sin(
8ec0 62 29 29 2a 2e 33 30 2b 2e 37 3b 0d 0a 67 72 65 65 6e 3d 28 63 6f 73 28 61 2b 2e 32 29 2b 73 69 b))*.30+.7;..green=(cos(a+.2)+si
8ee0 6e 28 62 2d 2e 31 29 2a 31 2e 32 29 2a 2e 33 30 2b 2e 35 3b 0d 0a 62 6c 75 65 3d 28 63 2b 73 69 n(b-.1)*1.2)*.30+.5;..blue=(c+si
8f00 6e 28 62 2b 2e 32 29 2a 31 2e 35 29 2a 2e 33 30 2b 2e 30 3b 0d 0a 0d 0a 2f 2f 20 53 74 61 74 65 n(b+.2)*1.5)*.30+.0;....//.State
8f20 20 76 61 72 73 0d 0a 70 3d 28 70 2b 31 29 25 33 3b 70 79 3d 70 79 2d 65 71 75 61 6c 28 70 2c 30 .vars..p=(p+1)%3;py=py-equal(p,0
8f40 29 2a 72 65 73 70 3b 0d 0a 6f 64 64 3d 69 66 28 65 71 75 61 6c 28 70 2c 30 29 2c 62 6e 6f 74 28 )*resp;..odd=if(equal(p,0),bnot(
8f60 6f 64 64 29 2c 6f 64 64 29 3b 00 61 02 00 00 2f 2f 20 53 65 74 75 70 20 63 6f 6c 75 6d 6e 0d 0a odd),odd);.a...//.Setup.column..
8f80 78 3d 70 6f 73 2a 24 70 69 2a 2e 33 33 33 3b 63 70 78 3d 72 64 64 2a 63 6f 73 28 78 29 3b 63 70 x=pos*$pi*.333;cpx=rdd*cos(x);cp
8fa0 7a 3d 72 64 64 2a 73 69 6e 28 78 29 3b 0d 0a 0d 0a 2f 2f 20 43 61 6d 65 72 61 0d 0a 7a 64 69 73 z=rdd*sin(x);....//.Camera..zdis
8fc0 74 3d 72 65 67 30 30 3b 72 79 3d 72 65 67 30 31 3b 6f 79 3d 72 65 67 30 32 3b 72 78 3d 72 65 67 t=reg00;ry=reg01;oy=reg02;rx=reg
8fe0 30 33 3b 73 74 65 70 73 3d 72 65 67 30 39 3b 0d 0a 63 79 74 3d 72 65 67 30 37 3b 73 79 74 3d 72 03;steps=reg09;..cyt=reg07;syt=r
9000 65 67 30 38 3b 0d 0a 72 6f 66 66 3d 28 28 28 28 61 62 73 28 33 2a 72 79 2f 24 70 69 2b 2e 35 29 eg08;..roff=((((abs(3*ry/$pi+.5)
9020 7c 30 29 25 36 29 2a 73 69 67 6e 28 72 79 29 2b 31 32 29 25 36 29 3b 0d 0a 72 79 3d 72 79 2d 28 |0)%6)*sign(ry)+12)%6);..ry=ry-(
9040 72 6f 66 66 2b 31 29 2a 24 70 69 2f 33 3b 0d 0a 63 78 3d 63 6f 73 28 72 78 29 3b 73 78 3d 73 69 roff+1)*$pi/3;..cx=cos(rx);sx=si
9060 6e 28 72 78 29 3b 0d 0a 63 79 3d 63 6f 73 28 72 79 29 3b 73 79 3d 73 69 6e 28 72 79 29 3b 0d 0a n(rx);..cy=cos(ry);sy=sin(ry);..
9080 0d 0a 2f 2f 20 53 6f 75 6e 64 20 72 65 73 70 6f 6e 73 65 0d 0a 6e 3d 69 66 28 65 71 75 61 6c 28 ..//.Sound.response..n=if(equal(
90a0 72 6f 66 66 2c 30 29 2c 72 65 67 32 37 2c 69 66 28 65 71 75 61 6c 28 72 6f 66 66 2c 31 29 2c 72 roff,0),reg27,if(equal(roff,1),r
90c0 65 67 31 37 2c 69 66 28 65 71 75 61 6c 28 72 6f 66 66 2c 32 29 2c 72 65 67 31 39 2c 69 66 28 65 eg17,if(equal(roff,2),reg19,if(e
90e0 71 75 61 6c 28 72 6f 66 66 2c 33 29 2c 72 65 67 32 31 2c 69 66 28 65 71 75 61 6c 28 72 6f 66 66 qual(roff,3),reg21,if(equal(roff
9100 2c 34 29 2c 72 65 67 32 33 2c 72 65 67 32 35 29 29 29 29 29 3b 0d 0a 6e 3d 6e 2a 31 2e 32 35 3b ,4),reg23,reg25)))));..n=n*1.25;
9120 6e 3d 28 28 6e 2a 73 74 65 70 73 29 7c 30 29 2a 33 2b 33 3b 72 65 73 70 3d 72 65 67 33 30 2a 2e n=((n*steps)|0)*3+3;resp=reg30*.
9140 38 3b 0d 0a 6e 3d 6e 2a 28 61 62 6f 76 65 28 73 69 6e 28 72 79 2a 36 29 2c 30 29 29 3b 0d 0a 70 8;..n=n*(above(sin(ry*6),0));..p
9160 79 3d 6f 79 3b 0d 0a 0d 0a 2f 2f 20 53 74 61 74 65 20 76 61 72 73 0d 0a 63 73 3d 24 70 69 2a 2e y=oy;....//.State.vars..cs=$pi*.
9180 33 33 33 33 3b 61 66 3d 77 2f 68 3b 70 3d 30 3b 0d 0a 70 6f 66 66 3d 28 2d 33 2a 72 79 2f 24 70 3333;af=w/h;p=0;..poff=(-3*ry/$p
91a0 69 29 3b 0d 0a 70 6f 66 66 3d 28 61 62 73 28 70 6f 66 66 29 25 36 29 2a 73 69 67 6e 28 70 6f 66 i);..poff=(abs(poff)%6)*sign(pof
91c0 66 29 2b 31 2e 35 3b 0d 0a 6f 64 64 3d 30 3b 00 00 00 00 00 22 00 00 00 2f 2f 20 43 6f 6c 75 6d f)+1.5;..odd=0;....."...//.Colum
91e0 6e 20 39 61 0d 0a 6e 3d 30 3b 72 64 64 3d 31 2e 37 33 3b 70 6f 73 3d 31 3b 00 02 00 00 00 01 00 n.9a..n=0;rdd=1.73;pos=1;.......
9200 00 00 ff ff ff 00 01 00 00 00 24 00 00 00 b8 04 00 00 01 4b 02 00 00 2f 2f 20 53 65 74 20 75 70 ..........$........K...//.Set.up
9220 20 63 6f 6c 75 6d 6e 0d 0a 70 7a 3d 28 69 2d 2e 35 29 2a 2e 38 36 36 3b 70 78 3d 28 70 2d 2e 35 .column..pz=(i-.5)*.866;px=(p-.5
9240 29 2a 28 31 2d 61 62 73 28 69 2d 2e 35 29 29 3b 0d 0a 70 78 3d 70 78 2b 63 70 78 3b 70 7a 3d 70 )*(1-abs(i-.5));..px=px+cpx;pz=p
9260 7a 2b 63 70 7a 3b 0d 0a 0d 0a 2f 2f 20 54 72 61 6e 73 66 6f 72 6d 20 61 6e 64 20 70 72 6f 6a 65 z+cpz;....//.Transform.and.proje
9280 63 74 0d 0a 78 31 3d 70 78 2a 63 79 2d 70 7a 2a 73 79 3b 7a 31 3d 70 78 2a 73 79 2b 70 7a 2a 63 ct..x1=px*cy-pz*sy;z1=px*sy+pz*c
92a0 79 3b 0d 0a 79 32 3d 70 79 2a 63 78 2d 7a 31 2a 73 78 3b 7a 32 3d 70 79 2a 73 78 2b 7a 31 2a 63 y;..y2=py*cx-z1*sx;z2=py*sx+z1*c
92c0 78 2b 7a 64 69 73 74 3b 0d 0a 7a 32 3d 7a 32 2a 2e 37 35 3b 20 20 20 0d 0a 7a 32 3d 69 66 28 62 x+zdist;..z2=z2*.75;.....z2=if(b
92e0 65 6c 6f 77 28 7a 32 2c 2e 30 32 29 2c 30 2c 31 2f 7a 32 29 3b 0d 0a 78 3d 78 31 2a 7a 32 3b 79 elow(z2,.02),0,1/z2);..x=x1*z2;y
9300 3d 79 32 2a 7a 32 2a 61 66 2d 2e 31 3b 0d 0a 0d 0a 2f 2f 20 52 65 63 61 6c 63 75 6c 61 74 65 20 =y2*z2*af-.1;....//.Recalculate.
9320 66 6f 72 20 6c 69 6e 65 61 72 20 74 65 78 74 75 72 65 20 63 6f 6f 72 64 69 6e 61 74 65 73 0d 0a for.linear.texture.coordinates..
9340 70 78 3d 63 70 78 3b 0d 0a 78 31 3d 70 78 2a 63 79 2d 70 7a 2a 73 79 3b 7a 31 3d 70 78 2a 73 79 px=cpx;..x1=px*cy-pz*sy;z1=px*sy
9360 2b 70 7a 2a 63 79 3b 0d 0a 79 32 3d 70 79 2a 63 78 2d 7a 31 2a 73 78 3b 7a 32 3d 70 79 2a 73 78 +pz*cy;..y2=py*cx-z1*sx;z2=py*sx
9380 2b 7a 31 2a 63 78 2b 7a 64 69 73 74 3b 0d 0a 2f 2f 20 46 61 6b 65 20 65 6e 76 69 72 6f 6e 6d 65 +z1*cx+zdist;..//.Fake.environme
93a0 6e 74 20 6d 61 70 70 69 6e 67 0d 0a 61 3d 78 31 2b 73 69 6e 28 79 32 2a 2e 37 2d 78 31 2a 2e 36 nt.mapping..a=x1+sin(y2*.7-x1*.6
93c0 29 2a 32 2b 35 3b 62 3d 79 32 2a 2e 35 2d 78 31 2a 31 2e 31 2b 2e 35 3b 63 3d 63 6f 73 28 61 29 )*2+5;b=y2*.5-x1*1.1+.5;c=cos(a)
93e0 3b 0d 0a 72 65 64 3d 28 63 2b 73 69 6e 28 62 29 29 2a 2e 33 30 2b 2e 37 3b 0d 0a 67 72 65 65 6e ;..red=(c+sin(b))*.30+.7;..green
9400 3d 28 63 6f 73 28 61 2b 2e 32 29 2b 73 69 6e 28 62 2d 2e 31 29 2a 31 2e 32 29 2a 2e 33 30 2b 2e =(cos(a+.2)+sin(b-.1)*1.2)*.30+.
9420 35 3b 0d 0a 62 6c 75 65 3d 28 63 2b 73 69 6e 28 62 2b 2e 32 29 2a 31 2e 35 29 2a 2e 33 30 2b 2e 5;..blue=(c+sin(b+.2)*1.5)*.30+.
9440 30 3b 0d 0a 0d 0a 2f 2f 20 53 74 61 74 65 20 76 61 72 73 0d 0a 70 3d 62 6e 6f 74 28 70 29 3b 0d 0;....//.State.vars..p=bnot(p);.
9460 0a 00 26 02 00 00 2f 2f 20 53 65 74 75 70 20 63 6f 6c 75 6d 6e 0d 0a 78 3d 70 6f 73 2a 24 70 69 ..&...//.Setup.column..x=pos*$pi
9480 2a 2e 33 33 33 3b 63 70 78 3d 72 64 64 2a 63 6f 73 28 78 29 3b 63 70 7a 3d 72 64 64 2a 73 69 6e *.333;cpx=rdd*cos(x);cpz=rdd*sin
94a0 28 78 29 3b 0d 0a 0d 0a 2f 2f 20 43 61 6d 65 72 61 0d 0a 7a 64 69 73 74 3d 72 65 67 30 30 3b 72 (x);....//.Camera..zdist=reg00;r
94c0 79 3d 72 65 67 30 31 3b 6f 79 3d 72 65 67 30 32 3b 72 78 3d 72 65 67 30 33 3b 73 74 65 70 73 3d y=reg01;oy=reg02;rx=reg03;steps=
94e0 72 65 67 30 39 3b 0d 0a 63 79 74 3d 72 65 67 30 37 3b 73 79 74 3d 72 65 67 30 38 3b 0d 0a 72 6f reg09;..cyt=reg07;syt=reg08;..ro
9500 66 66 3d 28 28 28 28 61 62 73 28 33 2a 72 79 2f 24 70 69 2b 2e 35 29 7c 30 29 25 36 29 2a 73 69 ff=((((abs(3*ry/$pi+.5)|0)%6)*si
9520 67 6e 28 72 79 29 2b 31 32 29 25 36 29 3b 0d 0a 72 79 3d 72 79 2d 28 72 6f 66 66 2b 31 29 2a 24 gn(ry)+12)%6);..ry=ry-(roff+1)*$
9540 70 69 2f 33 3b 0d 0a 63 78 3d 63 6f 73 28 72 78 29 3b 73 78 3d 73 69 6e 28 72 78 29 3b 0d 0a 63 pi/3;..cx=cos(rx);sx=sin(rx);..c
9560 79 3d 63 6f 73 28 72 79 29 3b 73 79 3d 73 69 6e 28 72 79 29 3b 0d 0a 0d 0a 2f 2f 20 53 6f 75 6e y=cos(ry);sy=sin(ry);....//.Soun
9580 64 20 72 65 73 70 6f 6e 73 65 0d 0a 6e 3d 69 66 28 65 71 75 61 6c 28 72 6f 66 66 2c 30 29 2c 72 d.response..n=if(equal(roff,0),r
95a0 65 67 32 37 2c 69 66 28 65 71 75 61 6c 28 72 6f 66 66 2c 31 29 2c 72 65 67 31 37 2c 69 66 28 65 eg27,if(equal(roff,1),reg17,if(e
95c0 71 75 61 6c 28 72 6f 66 66 2c 32 29 2c 72 65 67 31 39 2c 69 66 28 65 71 75 61 6c 28 72 6f 66 66 qual(roff,2),reg19,if(equal(roff
95e0 2c 33 29 2c 72 65 67 32 31 2c 69 66 28 65 71 75 61 6c 28 72 6f 66 66 2c 34 29 2c 72 65 67 32 33 ,3),reg21,if(equal(roff,4),reg23
9600 2c 72 65 67 32 35 29 29 29 29 29 3b 0d 0a 6e 3d 28 28 6e 2a 73 74 65 70 73 29 7c 30 29 3b 72 65 ,reg25)))));..n=((n*steps)|0);re
9620 73 70 3d 72 65 67 33 30 3b 0d 0a 70 79 3d 6f 79 2d 6e 2a 72 65 73 70 3b 0d 0a 6e 3d 35 30 2a 77 sp=reg30;..py=oy-n*resp;..n=50*w
9640 2f 33 32 30 3b 6e 3d 6e 2a 28 61 62 6f 76 65 28 73 69 6e 28 72 79 2a 36 29 2c 30 29 29 3b 0d 0a /320;n=n*(above(sin(ry*6),0));..
9660 0d 0a 0d 0a 2f 2f 20 53 74 61 74 65 20 76 61 72 73 0d 0a 63 73 3d 24 70 69 2a 2e 33 33 33 33 3b ....//.State.vars..cs=$pi*.3333;
9680 61 66 3d 77 2f 68 3b 70 3d 30 3b 00 00 00 00 00 26 00 00 00 2f 2f 20 43 6f 6c 75 6d 6e 20 39 61 af=w/h;p=0;.....&...//.Column.9a
96a0 20 54 6f 70 0d 0a 6e 3d 30 3b 72 64 64 3d 31 2e 37 33 3b 70 6f 73 3d 31 3b 00 02 00 00 00 01 00 .Top..n=0;rdd=1.73;pos=1;.......
96c0 00 00 ff ff ff 00 01 00 00 00 24 00 00 00 64 05 00 00 01 e1 02 00 00 2f 2f 20 53 65 74 20 75 70 ..........$...d........//.Set.up
96e0 20 63 6f 6c 75 6d 6e 0d 0a 71 3d 69 66 28 6f 64 64 2c 33 2d 70 2c 70 29 3b 0d 0a 61 3d 63 73 2a .column..q=if(odd,3-p,p);..a=cs*
9700 28 71 2b 2e 35 2b 70 6f 66 66 29 3b 0d 0a 70 78 3d 63 6f 73 28 61 29 2a 2e 35 2b 63 70 78 3b 70 (q+.5+poff);..px=cos(a)*.5+cpx;p
9720 7a 3d 73 69 6e 28 61 29 2a 2e 35 2b 63 70 7a 3b 0d 0a 0d 0a 2f 2f 20 54 72 61 6e 73 66 6f 72 6d z=sin(a)*.5+cpz;....//.Transform
9740 20 61 6e 64 20 70 72 6f 6a 65 63 74 0d 0a 78 31 3d 70 78 2a 63 79 2d 70 7a 2a 73 79 3b 7a 31 3d .and.project..x1=px*cy-pz*sy;z1=
9760 70 78 2a 73 79 2b 70 7a 2a 63 79 3b 0d 0a 79 32 3d 70 79 2a 63 78 2d 7a 31 2a 73 78 3b 7a 32 3d px*sy+pz*cy;..y2=py*cx-z1*sx;z2=
9780 70 79 2a 73 78 2b 7a 31 2a 63 78 2b 7a 64 69 73 74 3b 0d 0a 7a 32 3d 7a 32 2a 2e 37 35 3b 0d 0a py*sx+z1*cx+zdist;..z2=z2*.75;..
97a0 7a 32 3d 69 66 28 62 65 6c 6f 77 28 7a 32 2c 2e 30 32 29 2c 30 2c 31 2f 7a 32 29 3b 0d 0a 78 3d z2=if(below(z2,.02),0,1/z2);..x=
97c0 78 31 2a 7a 32 3b 79 3d 79 32 2a 7a 32 2a 61 66 2d 2e 31 3b 0d 0a 0d 0a 2f 2f 20 52 65 63 61 6c x1*z2;y=y2*z2*af-.1;....//.Recal
97e0 63 75 6c 61 74 65 20 66 6f 72 20 6c 69 6e 65 61 72 20 74 65 78 74 75 72 65 20 63 6f 6f 72 64 69 culate.for.linear.texture.coordi
9800 6e 61 74 65 73 0d 0a 71 3d 69 66 28 6f 64 64 2c 32 2e 35 2d 65 71 75 61 6c 28 70 2c 32 29 2c 6d nates..q=if(odd,2.5-equal(p,2),m
9820 61 78 28 2e 35 2c 70 2d 2e 35 29 29 3b 0d 0a 61 3d 63 73 2a 28 71 2b 2e 35 2b 70 6f 66 66 29 3b ax(.5,p-.5));..a=cs*(q+.5+poff);
9840 0d 0a 70 78 3d 63 6f 73 28 61 29 2a 2e 35 3b 70 7a 3d 73 69 6e 28 61 29 2a 2e 35 3b 0d 0a 78 31 ..px=cos(a)*.5;pz=sin(a)*.5;..x1
9860 3d 70 78 2a 63 79 74 2d 70 7a 2a 73 79 74 2d 72 64 64 2a 33 2e 3b 7a 31 3d 70 78 2a 73 79 74 2b =px*cyt-pz*syt-rdd*3.;z1=px*syt+
9880 70 7a 2a 63 79 74 3b 0d 0a 79 32 3d 70 79 2a 63 78 2d 7a 31 2a 73 78 3b 7a 32 3d 70 79 2a 73 78 pz*cyt;..y2=py*cx-z1*sx;z2=py*sx
98a0 2b 7a 31 2a 63 78 2b 7a 64 69 73 74 3b 0d 0a 2f 2f 20 46 61 6b 65 20 65 6e 76 69 72 6f 6e 6d 65 +z1*cx+zdist;..//.Fake.environme
98c0 6e 74 20 6d 61 70 70 69 6e 67 0d 0a 61 3d 78 31 2a 32 37 2b 73 69 6e 28 79 32 2d 78 31 2a 33 29 nt.mapping..a=x1*27+sin(y2-x1*3)
98e0 2a 32 2b 35 3b 62 3d 79 32 2a 2e 38 2d 78 31 2a 32 2e 31 2b 2e 35 3b 63 3d 63 6f 73 28 61 29 3b *2+5;b=y2*.8-x1*2.1+.5;c=cos(a);
9900 0d 0a 72 65 64 3d 28 63 2b 73 69 6e 28 62 29 29 2a 2e 33 30 2b 2e 37 3b 0d 0a 67 72 65 65 6e 3d ..red=(c+sin(b))*.30+.7;..green=
9920 28 63 6f 73 28 61 2b 2e 32 29 2b 73 69 6e 28 62 2d 2e 31 29 2a 31 2e 32 29 2a 2e 33 30 2b 2e 35 (cos(a+.2)+sin(b-.1)*1.2)*.30+.5
9940 3b 0d 0a 62 6c 75 65 3d 28 63 2b 73 69 6e 28 62 2b 2e 32 29 2a 31 2e 35 29 2a 2e 33 30 2b 2e 30 ;..blue=(c+sin(b+.2)*1.5)*.30+.0
9960 3b 0d 0a 0d 0a 2f 2f 20 53 74 61 74 65 20 76 61 72 73 0d 0a 70 3d 28 70 2b 31 29 25 33 3b 70 79 ;....//.State.vars..p=(p+1)%3;py
9980 3d 70 79 2d 65 71 75 61 6c 28 70 2c 30 29 2a 72 65 73 70 3b 0d 0a 6f 64 64 3d 69 66 28 65 71 75 =py-equal(p,0)*resp;..odd=if(equ
99a0 61 6c 28 70 2c 30 29 2c 62 6e 6f 74 28 6f 64 64 29 2c 6f 64 64 29 3b 00 43 02 00 00 2f 2f 20 53 al(p,0),bnot(odd),odd);.C...//.S
99c0 65 74 75 70 20 63 6f 6c 75 6d 6e 0d 0a 78 3d 70 6f 73 2a 24 70 69 2a 2e 33 33 33 3b 63 70 78 3d etup.column..x=pos*$pi*.333;cpx=
99e0 72 64 64 2a 63 6f 73 28 78 29 3b 63 70 7a 3d 72 64 64 2a 73 69 6e 28 78 29 3b 0d 0a 0d 0a 2f 2f rdd*cos(x);cpz=rdd*sin(x);....//
9a00 20 43 61 6d 65 72 61 0d 0a 7a 64 69 73 74 3d 72 65 67 30 30 3b 72 79 3d 72 65 67 30 31 3b 6f 79 .Camera..zdist=reg00;ry=reg01;oy
9a20 3d 72 65 67 30 32 3b 72 78 3d 72 65 67 30 33 3b 73 74 65 70 73 3d 72 65 67 30 39 3b 0d 0a 63 79 =reg02;rx=reg03;steps=reg09;..cy
9a40 74 3d 72 65 67 30 37 3b 73 79 74 3d 72 65 67 30 38 3b 0d 0a 72 6f 66 66 3d 28 28 28 28 61 62 73 t=reg07;syt=reg08;..roff=((((abs
9a60 28 33 2a 72 79 2f 24 70 69 29 7c 30 29 25 36 29 2a 73 69 67 6e 28 72 79 29 2b 31 32 29 25 36 29 (3*ry/$pi)|0)%6)*sign(ry)+12)%6)
9a80 3b 0d 0a 72 79 3d 72 79 2d 28 72 6f 66 66 2b 32 29 2a 24 70 69 2f 33 3b 0d 0a 63 78 3d 63 6f 73 ;..ry=ry-(roff+2)*$pi/3;..cx=cos
9aa0 28 72 78 29 3b 73 78 3d 73 69 6e 28 72 78 29 3b 0d 0a 63 79 3d 63 6f 73 28 72 79 29 3b 73 79 3d (rx);sx=sin(rx);..cy=cos(ry);sy=
9ac0 73 69 6e 28 72 79 29 3b 0d 0a 0d 0a 2f 2f 20 53 6f 75 6e 64 20 72 65 73 70 6f 6e 73 65 0d 0a 6e sin(ry);....//.Sound.response..n
9ae0 3d 69 66 28 65 71 75 61 6c 28 72 6f 66 66 2c 30 29 2c 72 65 67 31 31 2c 69 66 28 65 71 75 61 6c =if(equal(roff,0),reg11,if(equal
9b00 28 72 6f 66 66 2c 31 29 2c 72 65 67 31 32 2c 69 66 28 65 71 75 61 6c 28 72 6f 66 66 2c 32 29 2c (roff,1),reg12,if(equal(roff,2),
9b20 72 65 67 31 33 2c 69 66 28 65 71 75 61 6c 28 72 6f 66 66 2c 33 29 2c 72 65 67 31 34 2c 69 66 28 reg13,if(equal(roff,3),reg14,if(
9b40 65 71 75 61 6c 28 72 6f 66 66 2c 34 29 2c 72 65 67 31 35 2c 72 65 67 31 36 29 29 29 29 29 3b 0d equal(roff,4),reg15,reg16)))));.
9b60 0a 6e 3d 6e 2a 31 2e 32 35 3b 6e 3d 28 28 6e 2a 73 74 65 70 73 29 7c 30 29 2a 33 2b 33 3b 72 65 .n=n*1.25;n=((n*steps)|0)*3+3;re
9b80 73 70 3d 72 65 67 33 30 2a 2e 38 3b 0d 0a 70 79 3d 6f 79 3b 0d 0a 0d 0a 2f 2f 20 53 74 61 74 65 sp=reg30*.8;..py=oy;....//.State
9ba0 20 76 61 72 73 0d 0a 63 73 3d 24 70 69 2a 2e 33 33 33 33 3b 61 66 3d 77 2f 68 3b 70 3d 30 3b 0d .vars..cs=$pi*.3333;af=w/h;p=0;.
9bc0 0a 70 6f 66 66 3d 28 2d 33 2a 72 79 2f 24 70 69 29 3b 0d 0a 70 6f 66 66 3d 28 61 62 73 28 70 6f .poff=(-3*ry/$pi);..poff=(abs(po
9be0 66 66 29 25 36 29 2a 73 69 67 6e 28 70 6f 66 66 29 2b 32 2e 35 3b 0d 0a 6f 64 64 3d 30 3b 00 00 ff)%6)*sign(poff)+2.5;..odd=0;..
9c00 00 00 00 1f 00 00 00 2f 2f 20 43 6f 6c 75 6d 6e 20 31 0d 0a 6e 3d 30 3b 72 64 64 3d 31 3b 70 6f .......//.Column.1..n=0;rdd=1;po
9c20 73 3d 2e 35 3b 00 02 00 00 00 01 00 00 00 ff ff ff 00 01 00 00 00 24 00 00 00 97 04 00 00 01 4b s=.5;.................$........K
9c40 02 00 00 2f 2f 20 53 65 74 20 75 70 20 63 6f 6c 75 6d 6e 0d 0a 70 7a 3d 28 69 2d 2e 35 29 2a 2e ...//.Set.up.column..pz=(i-.5)*.
9c60 38 36 36 3b 70 78 3d 28 70 2d 2e 35 29 2a 28 31 2d 61 62 73 28 69 2d 2e 35 29 29 3b 0d 0a 70 78 866;px=(p-.5)*(1-abs(i-.5));..px
9c80 3d 70 78 2b 63 70 78 3b 70 7a 3d 70 7a 2b 63 70 7a 3b 0d 0a 0d 0a 2f 2f 20 54 72 61 6e 73 66 6f =px+cpx;pz=pz+cpz;....//.Transfo
9ca0 72 6d 20 61 6e 64 20 70 72 6f 6a 65 63 74 0d 0a 78 31 3d 70 78 2a 63 79 2d 70 7a 2a 73 79 3b 7a rm.and.project..x1=px*cy-pz*sy;z
9cc0 31 3d 70 78 2a 73 79 2b 70 7a 2a 63 79 3b 0d 0a 79 32 3d 70 79 2a 63 78 2d 7a 31 2a 73 78 3b 7a 1=px*sy+pz*cy;..y2=py*cx-z1*sx;z
9ce0 32 3d 70 79 2a 73 78 2b 7a 31 2a 63 78 2b 7a 64 69 73 74 3b 0d 0a 7a 32 3d 7a 32 2a 2e 37 35 3b 2=py*sx+z1*cx+zdist;..z2=z2*.75;
9d00 20 20 20 0d 0a 7a 32 3d 69 66 28 62 65 6c 6f 77 28 7a 32 2c 2e 30 32 29 2c 30 2c 31 2f 7a 32 29 .....z2=if(below(z2,.02),0,1/z2)
9d20 3b 0d 0a 78 3d 78 31 2a 7a 32 3b 79 3d 79 32 2a 7a 32 2a 61 66 2d 2e 31 3b 0d 0a 0d 0a 2f 2f 20 ;..x=x1*z2;y=y2*z2*af-.1;....//.
9d40 52 65 63 61 6c 63 75 6c 61 74 65 20 66 6f 72 20 6c 69 6e 65 61 72 20 74 65 78 74 75 72 65 20 63 Recalculate.for.linear.texture.c
9d60 6f 6f 72 64 69 6e 61 74 65 73 0d 0a 70 78 3d 63 70 78 3b 0d 0a 78 31 3d 70 78 2a 63 79 2d 70 7a oordinates..px=cpx;..x1=px*cy-pz
9d80 2a 73 79 3b 7a 31 3d 70 78 2a 73 79 2b 70 7a 2a 63 79 3b 0d 0a 79 32 3d 70 79 2a 63 78 2d 7a 31 *sy;z1=px*sy+pz*cy;..y2=py*cx-z1
9da0 2a 73 78 3b 7a 32 3d 70 79 2a 73 78 2b 7a 31 2a 63 78 2b 7a 64 69 73 74 3b 0d 0a 2f 2f 20 46 61 *sx;z2=py*sx+z1*cx+zdist;..//.Fa
9dc0 6b 65 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 20 6d 61 70 70 69 6e 67 0d 0a 61 3d 78 31 2b 73 69 6e ke.environment.mapping..a=x1+sin
9de0 28 79 32 2a 2e 37 2d 78 31 2a 2e 36 29 2a 32 2b 35 3b 62 3d 79 32 2a 2e 35 2d 78 31 2a 31 2e 31 (y2*.7-x1*.6)*2+5;b=y2*.5-x1*1.1
9e00 2b 2e 35 3b 63 3d 63 6f 73 28 61 29 3b 0d 0a 72 65 64 3d 28 63 2b 73 69 6e 28 62 29 29 2a 2e 33 +.5;c=cos(a);..red=(c+sin(b))*.3
9e20 30 2b 2e 37 3b 0d 0a 67 72 65 65 6e 3d 28 63 6f 73 28 61 2b 2e 32 29 2b 73 69 6e 28 62 2d 2e 31 0+.7;..green=(cos(a+.2)+sin(b-.1
9e40 29 2a 31 2e 32 29 2a 2e 33 30 2b 2e 35 3b 0d 0a 62 6c 75 65 3d 28 63 2b 73 69 6e 28 62 2b 2e 32 )*1.2)*.30+.5;..blue=(c+sin(b+.2
9e60 29 2a 31 2e 35 29 2a 2e 33 30 2b 2e 30 3b 0d 0a 0d 0a 2f 2f 20 53 74 61 74 65 20 76 61 72 73 0d )*1.5)*.30+.0;....//.State.vars.
9e80 0a 70 3d 62 6e 6f 74 28 70 29 3b 0d 0a 00 08 02 00 00 2f 2f 20 53 65 74 75 70 20 63 6f 6c 75 6d .p=bnot(p);.......//.Setup.colum
9ea0 6e 0d 0a 78 3d 70 6f 73 2a 24 70 69 2a 2e 33 33 33 3b 63 70 78 3d 72 64 64 2a 63 6f 73 28 78 29 n..x=pos*$pi*.333;cpx=rdd*cos(x)
9ec0 3b 63 70 7a 3d 72 64 64 2a 73 69 6e 28 78 29 3b 0d 0a 0d 0a 2f 2f 20 43 61 6d 65 72 61 0d 0a 7a ;cpz=rdd*sin(x);....//.Camera..z
9ee0 64 69 73 74 3d 72 65 67 30 30 3b 72 79 3d 72 65 67 30 31 3b 6f 79 3d 72 65 67 30 32 3b 72 78 3d dist=reg00;ry=reg01;oy=reg02;rx=
9f00 72 65 67 30 33 3b 73 74 65 70 73 3d 72 65 67 30 39 3b 0d 0a 63 79 74 3d 72 65 67 30 37 3b 73 79 reg03;steps=reg09;..cyt=reg07;sy
9f20 74 3d 72 65 67 30 38 3b 0d 0a 72 6f 66 66 3d 28 28 28 28 61 62 73 28 33 2a 72 79 2f 24 70 69 29 t=reg08;..roff=((((abs(3*ry/$pi)
9f40 7c 30 29 25 36 29 2a 73 69 67 6e 28 72 79 29 2b 31 32 29 25 36 29 3b 0d 0a 72 79 3d 72 79 2d 28 |0)%6)*sign(ry)+12)%6);..ry=ry-(
9f60 72 6f 66 66 2b 32 29 2a 24 70 69 2f 33 3b 0d 0a 63 78 3d 63 6f 73 28 72 78 29 3b 73 78 3d 73 69 roff+2)*$pi/3;..cx=cos(rx);sx=si
9f80 6e 28 72 78 29 3b 0d 0a 63 79 3d 63 6f 73 28 72 79 29 3b 73 79 3d 73 69 6e 28 72 79 29 3b 0d 0a n(rx);..cy=cos(ry);sy=sin(ry);..
9fa0 0d 0a 2f 2f 20 53 6f 75 6e 64 20 72 65 73 70 6f 6e 73 65 0d 0a 6e 3d 69 66 28 65 71 75 61 6c 28 ..//.Sound.response..n=if(equal(
9fc0 72 6f 66 66 2c 30 29 2c 72 65 67 31 31 2c 69 66 28 65 71 75 61 6c 28 72 6f 66 66 2c 31 29 2c 72 roff,0),reg11,if(equal(roff,1),r
9fe0 65 67 31 32 2c 69 66 28 65 71 75 61 6c 28 72 6f 66 66 2c 32 29 2c 72 65 67 31 33 2c 69 66 28 65 eg12,if(equal(roff,2),reg13,if(e
a000 71 75 61 6c 28 72 6f 66 66 2c 33 29 2c 72 65 67 31 34 2c 69 66 28 65 71 75 61 6c 28 72 6f 66 66 qual(roff,3),reg14,if(equal(roff
a020 2c 34 29 2c 72 65 67 31 35 2c 72 65 67 31 36 29 29 29 29 29 3b 0d 0a 6e 3d 28 28 6e 2a 73 74 65 ,4),reg15,reg16)))));..n=((n*ste
a040 70 73 29 7c 30 29 3b 72 65 73 70 3d 72 65 67 33 30 3b 0d 0a 70 79 3d 6f 79 2d 6e 2a 72 65 73 70 ps)|0);resp=reg30;..py=oy-n*resp
a060 3b 0d 0a 6e 3d 35 30 2a 77 2f 33 32 30 3b 0d 0a 0d 0a 2f 2f 20 53 74 61 74 65 20 76 61 72 73 0d ;..n=50*w/320;....//.State.vars.
a080 0a 63 73 3d 24 70 69 2a 2e 33 33 33 33 3b 61 66 3d 77 2f 68 3b 70 3d 30 3b 00 00 00 00 00 23 00 .cs=$pi*.3333;af=w/h;p=0;.....#.
a0a0 00 00 2f 2f 20 43 6f 6c 75 6d 6e 20 31 20 54 6f 70 0d 0a 6e 3d 30 3b 72 64 64 3d 31 3b 70 6f 73 ..//.Column.1.Top..n=0;rdd=1;pos
a0c0 3d 2e 35 3b 00 02 00 00 00 01 00 00 00 ff ff ff 00 01 00 00 00 24 00 00 00 80 05 00 00 01 e1 02 =.5;.................$..........
a0e0 00 00 2f 2f 20 53 65 74 20 75 70 20 63 6f 6c 75 6d 6e 0d 0a 71 3d 69 66 28 6f 64 64 2c 33 2d 70 ..//.Set.up.column..q=if(odd,3-p
a100 2c 70 29 3b 0d 0a 61 3d 63 73 2a 28 71 2b 2e 35 2b 70 6f 66 66 29 3b 0d 0a 70 78 3d 63 6f 73 28 ,p);..a=cs*(q+.5+poff);..px=cos(
a120 61 29 2a 2e 35 2b 63 70 78 3b 70 7a 3d 73 69 6e 28 61 29 2a 2e 35 2b 63 70 7a 3b 0d 0a 0d 0a 2f a)*.5+cpx;pz=sin(a)*.5+cpz;..../
a140 2f 20 54 72 61 6e 73 66 6f 72 6d 20 61 6e 64 20 70 72 6f 6a 65 63 74 0d 0a 78 31 3d 70 78 2a 63 /.Transform.and.project..x1=px*c
a160 79 2d 70 7a 2a 73 79 3b 7a 31 3d 70 78 2a 73 79 2b 70 7a 2a 63 79 3b 0d 0a 79 32 3d 70 79 2a 63 y-pz*sy;z1=px*sy+pz*cy;..y2=py*c
a180 78 2d 7a 31 2a 73 78 3b 7a 32 3d 70 79 2a 73 78 2b 7a 31 2a 63 78 2b 7a 64 69 73 74 3b 0d 0a 7a x-z1*sx;z2=py*sx+z1*cx+zdist;..z
a1a0 32 3d 7a 32 2a 2e 37 35 3b 0d 0a 7a 32 3d 69 66 28 62 65 6c 6f 77 28 7a 32 2c 2e 30 32 29 2c 30 2=z2*.75;..z2=if(below(z2,.02),0
a1c0 2c 31 2f 7a 32 29 3b 0d 0a 78 3d 78 31 2a 7a 32 3b 79 3d 79 32 2a 7a 32 2a 61 66 2d 2e 31 3b 0d ,1/z2);..x=x1*z2;y=y2*z2*af-.1;.
a1e0 0a 0d 0a 2f 2f 20 52 65 63 61 6c 63 75 6c 61 74 65 20 66 6f 72 20 6c 69 6e 65 61 72 20 74 65 78 ...//.Recalculate.for.linear.tex
a200 74 75 72 65 20 63 6f 6f 72 64 69 6e 61 74 65 73 0d 0a 71 3d 69 66 28 6f 64 64 2c 32 2e 35 2d 65 ture.coordinates..q=if(odd,2.5-e
a220 71 75 61 6c 28 70 2c 32 29 2c 6d 61 78 28 2e 35 2c 70 2d 2e 35 29 29 3b 0d 0a 61 3d 63 73 2a 28 qual(p,2),max(.5,p-.5));..a=cs*(
a240 71 2b 2e 35 2b 70 6f 66 66 29 3b 0d 0a 70 78 3d 63 6f 73 28 61 29 2a 2e 35 3b 70 7a 3d 73 69 6e q+.5+poff);..px=cos(a)*.5;pz=sin
a260 28 61 29 2a 2e 35 3b 0d 0a 78 31 3d 70 78 2a 63 79 74 2d 70 7a 2a 73 79 74 2d 72 64 64 2a 33 2e (a)*.5;..x1=px*cyt-pz*syt-rdd*3.
a280 3b 7a 31 3d 70 78 2a 73 79 74 2b 70 7a 2a 63 79 74 3b 0d 0a 79 32 3d 70 79 2a 63 78 2d 7a 31 2a ;z1=px*syt+pz*cyt;..y2=py*cx-z1*
a2a0 73 78 3b 7a 32 3d 70 79 2a 73 78 2b 7a 31 2a 63 78 2b 7a 64 69 73 74 3b 0d 0a 2f 2f 20 46 61 6b sx;z2=py*sx+z1*cx+zdist;..//.Fak
a2c0 65 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 20 6d 61 70 70 69 6e 67 0d 0a 61 3d 78 31 2a 32 37 2b 73 e.environment.mapping..a=x1*27+s
a2e0 69 6e 28 79 32 2d 78 31 2a 33 29 2a 32 2b 35 3b 62 3d 79 32 2a 2e 38 2d 78 31 2a 32 2e 31 2b 2e in(y2-x1*3)*2+5;b=y2*.8-x1*2.1+.
a300 35 3b 63 3d 63 6f 73 28 61 29 3b 0d 0a 72 65 64 3d 28 63 2b 73 69 6e 28 62 29 29 2a 2e 33 30 2b 5;c=cos(a);..red=(c+sin(b))*.30+
a320 2e 37 3b 0d 0a 67 72 65 65 6e 3d 28 63 6f 73 28 61 2b 2e 32 29 2b 73 69 6e 28 62 2d 2e 31 29 2a .7;..green=(cos(a+.2)+sin(b-.1)*
a340 31 2e 32 29 2a 2e 33 30 2b 2e 35 3b 0d 0a 62 6c 75 65 3d 28 63 2b 73 69 6e 28 62 2b 2e 32 29 2a 1.2)*.30+.5;..blue=(c+sin(b+.2)*
a360 31 2e 35 29 2a 2e 33 30 2b 2e 30 3b 0d 0a 0d 0a 2f 2f 20 53 74 61 74 65 20 76 61 72 73 0d 0a 70 1.5)*.30+.0;....//.State.vars..p
a380 3d 28 70 2b 31 29 25 33 3b 70 79 3d 70 79 2d 65 71 75 61 6c 28 70 2c 30 29 2a 72 65 73 70 3b 0d =(p+1)%3;py=py-equal(p,0)*resp;.
a3a0 0a 6f 64 64 3d 69 66 28 65 71 75 61 6c 28 70 2c 30 29 2c 62 6e 6f 74 28 6f 64 64 29 2c 6f 64 64 .odd=if(equal(p,0),bnot(odd),odd
a3c0 29 3b 00 5d 02 00 00 2f 2f 20 53 65 74 75 70 20 63 6f 6c 75 6d 6e 0d 0a 78 3d 70 6f 73 2a 24 70 );.]...//.Setup.column..x=pos*$p
a3e0 69 2a 2e 33 33 33 3b 63 70 78 3d 72 64 64 2a 63 6f 73 28 78 29 3b 63 70 7a 3d 72 64 64 2a 73 69 i*.333;cpx=rdd*cos(x);cpz=rdd*si
a400 6e 28 78 29 3b 0d 0a 0d 0a 2f 2f 20 43 61 6d 65 72 61 0d 0a 7a 64 69 73 74 3d 72 65 67 30 30 3b n(x);....//.Camera..zdist=reg00;
a420 72 79 3d 72 65 67 30 31 3b 6f 79 3d 72 65 67 30 32 3b 72 78 3d 72 65 67 30 33 3b 73 74 65 70 73 ry=reg01;oy=reg02;rx=reg03;steps
a440 3d 72 65 67 30 39 3b 0d 0a 63 79 74 3d 72 65 67 30 37 3b 73 79 74 3d 72 65 67 30 38 3b 0d 0a 72 =reg09;..cyt=reg07;syt=reg08;..r
a460 6f 66 66 3d 28 28 28 28 61 62 73 28 33 2a 72 79 2f 24 70 69 2b 2e 35 29 7c 30 29 25 36 29 2a 73 off=((((abs(3*ry/$pi+.5)|0)%6)*s
a480 69 67 6e 28 72 79 29 2b 31 32 29 25 36 29 3b 0d 0a 72 79 3d 72 79 2d 28 72 6f 66 66 2b 31 29 2a ign(ry)+12)%6);..ry=ry-(roff+1)*
a4a0 24 70 69 2f 33 3b 0d 0a 63 78 3d 63 6f 73 28 72 78 29 3b 73 78 3d 73 69 6e 28 72 78 29 3b 0d 0a $pi/3;..cx=cos(rx);sx=sin(rx);..
a4c0 63 79 3d 63 6f 73 28 72 79 29 3b 73 79 3d 73 69 6e 28 72 79 29 3b 0d 0a 0d 0a 2f 2f 20 53 6f 75 cy=cos(ry);sy=sin(ry);....//.Sou
a4e0 6e 64 20 72 65 73 70 6f 6e 73 65 0d 0a 73 74 65 70 73 3d 73 74 65 70 73 2a 31 2e 33 33 3b 0d 0a nd.response..steps=steps*1.33;..
a500 6e 3d 69 66 28 65 71 75 61 6c 28 72 6f 66 66 2c 30 29 2c 72 65 67 31 37 2c 69 66 28 65 71 75 61 n=if(equal(roff,0),reg17,if(equa
a520 6c 28 72 6f 66 66 2c 31 29 2c 72 65 67 31 39 2c 69 66 28 65 71 75 61 6c 28 72 6f 66 66 2c 32 29 l(roff,1),reg19,if(equal(roff,2)
a540 2c 72 65 67 32 31 2c 69 66 28 65 71 75 61 6c 28 72 6f 66 66 2c 33 29 2c 72 65 67 32 33 2c 69 66 ,reg21,if(equal(roff,3),reg23,if
a560 28 65 71 75 61 6c 28 72 6f 66 66 2c 34 29 2c 72 65 67 32 35 2c 72 65 67 32 37 29 29 29 29 29 3b (equal(roff,4),reg25,reg27)))));
a580 0d 0a 6e 3d 28 28 6e 2a 73 74 65 70 73 29 7c 30 29 2a 33 2b 33 3b 72 65 73 70 3d 72 65 67 33 30 ..n=((n*steps)|0)*3+3;resp=reg30
a5a0 3b 0d 0a 72 65 73 70 3d 72 65 73 70 2a 2e 37 35 3b 0d 0a 70 79 3d 6f 79 3b 0d 0a 0d 0a 2f 2f 20 ;..resp=resp*.75;..py=oy;....//.
a5c0 53 74 61 74 65 20 76 61 72 73 0d 0a 63 73 3d 24 70 69 2a 2e 33 33 33 33 3b 61 66 3d 77 2f 68 3b State.vars..cs=$pi*.3333;af=w/h;
a5e0 70 3d 30 3b 0d 0a 70 6f 66 66 3d 28 2d 33 2a 72 79 2f 24 70 69 29 3b 0d 0a 70 6f 66 66 3d 28 61 p=0;..poff=(-3*ry/$pi);..poff=(a
a600 62 73 28 70 6f 66 66 29 25 36 29 2a 73 69 67 6e 28 70 6f 66 66 29 2b 32 2e 35 3b 0d 0a 6f 64 64 bs(poff)%6)*sign(poff)+2.5;..odd
a620 3d 30 3b 00 00 00 00 00 21 00 00 00 2f 2f 20 43 6f 6c 75 6d 6e 20 38 0d 0a 6e 3d 30 3b 72 64 64 =0;.....!...//.Column.8..n=0;rdd
a640 3d 31 2e 37 33 3b 70 6f 73 3d 30 3b 00 02 00 00 00 01 00 00 00 ff ff ff 00 01 00 00 00 24 00 00 =1.73;pos=0;.................$..
a660 00 9c 04 00 00 01 4b 02 00 00 2f 2f 20 53 65 74 20 75 70 20 63 6f 6c 75 6d 6e 0d 0a 70 7a 3d 28 ......K...//.Set.up.column..pz=(
a680 69 2d 2e 35 29 2a 2e 38 36 36 3b 70 78 3d 28 70 2d 2e 35 29 2a 28 31 2d 61 62 73 28 69 2d 2e 35 i-.5)*.866;px=(p-.5)*(1-abs(i-.5
a6a0 29 29 3b 0d 0a 70 78 3d 70 78 2b 63 70 78 3b 70 7a 3d 70 7a 2b 63 70 7a 3b 0d 0a 0d 0a 2f 2f 20 ));..px=px+cpx;pz=pz+cpz;....//.
a6c0 54 72 61 6e 73 66 6f 72 6d 20 61 6e 64 20 70 72 6f 6a 65 63 74 0d 0a 78 31 3d 70 78 2a 63 79 2d Transform.and.project..x1=px*cy-
a6e0 70 7a 2a 73 79 3b 7a 31 3d 70 78 2a 73 79 2b 70 7a 2a 63 79 3b 0d 0a 79 32 3d 70 79 2a 63 78 2d pz*sy;z1=px*sy+pz*cy;..y2=py*cx-
a700 7a 31 2a 73 78 3b 7a 32 3d 70 79 2a 73 78 2b 7a 31 2a 63 78 2b 7a 64 69 73 74 3b 0d 0a 7a 32 3d z1*sx;z2=py*sx+z1*cx+zdist;..z2=
a720 7a 32 2a 2e 37 35 3b 20 20 20 0d 0a 7a 32 3d 69 66 28 62 65 6c 6f 77 28 7a 32 2c 2e 30 32 29 2c z2*.75;.....z2=if(below(z2,.02),
a740 30 2c 31 2f 7a 32 29 3b 0d 0a 78 3d 78 31 2a 7a 32 3b 79 3d 79 32 2a 7a 32 2a 61 66 2d 2e 31 3b 0,1/z2);..x=x1*z2;y=y2*z2*af-.1;
a760 0d 0a 0d 0a 2f 2f 20 52 65 63 61 6c 63 75 6c 61 74 65 20 66 6f 72 20 6c 69 6e 65 61 72 20 74 65 ....//.Recalculate.for.linear.te
a780 78 74 75 72 65 20 63 6f 6f 72 64 69 6e 61 74 65 73 0d 0a 70 78 3d 63 70 78 3b 0d 0a 78 31 3d 70 xture.coordinates..px=cpx;..x1=p
a7a0 78 2a 63 79 2d 70 7a 2a 73 79 3b 7a 31 3d 70 78 2a 73 79 2b 70 7a 2a 63 79 3b 0d 0a 79 32 3d 70 x*cy-pz*sy;z1=px*sy+pz*cy;..y2=p
a7c0 79 2a 63 78 2d 7a 31 2a 73 78 3b 7a 32 3d 70 79 2a 73 78 2b 7a 31 2a 63 78 2b 7a 64 69 73 74 3b y*cx-z1*sx;z2=py*sx+z1*cx+zdist;
a7e0 0d 0a 2f 2f 20 46 61 6b 65 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 20 6d 61 70 70 69 6e 67 0d 0a 61 ..//.Fake.environment.mapping..a
a800 3d 78 31 2b 73 69 6e 28 79 32 2a 2e 37 2d 78 31 2a 2e 36 29 2a 32 2b 35 3b 62 3d 79 32 2a 2e 35 =x1+sin(y2*.7-x1*.6)*2+5;b=y2*.5
a820 2d 78 31 2a 31 2e 31 2b 2e 35 3b 63 3d 63 6f 73 28 61 29 3b 0d 0a 72 65 64 3d 28 63 2b 73 69 6e -x1*1.1+.5;c=cos(a);..red=(c+sin
a840 28 62 29 29 2a 2e 33 30 2b 2e 37 3b 0d 0a 67 72 65 65 6e 3d 28 63 6f 73 28 61 2b 2e 32 29 2b 73 (b))*.30+.7;..green=(cos(a+.2)+s
a860 69 6e 28 62 2d 2e 31 29 2a 31 2e 32 29 2a 2e 33 30 2b 2e 35 3b 0d 0a 62 6c 75 65 3d 28 63 2b 73 in(b-.1)*1.2)*.30+.5;..blue=(c+s
a880 69 6e 28 62 2b 2e 32 29 2a 31 2e 35 29 2a 2e 33 30 2b 2e 30 3b 0d 0a 0d 0a 2f 2f 20 53 74 61 74 in(b+.2)*1.5)*.30+.0;....//.Stat
a8a0 65 20 76 61 72 73 0d 0a 70 3d 62 6e 6f 74 28 70 29 3b 0d 0a 00 0b 02 00 00 2f 2f 20 53 65 74 75 e.vars..p=bnot(p);.......//.Setu
a8c0 70 20 63 6f 6c 75 6d 6e 0d 0a 78 3d 70 6f 73 2a 24 70 69 2a 2e 33 33 33 3b 63 70 78 3d 72 64 64 p.column..x=pos*$pi*.333;cpx=rdd
a8e0 2a 63 6f 73 28 78 29 3b 63 70 7a 3d 72 64 64 2a 73 69 6e 28 78 29 3b 0d 0a 0d 0a 2f 2f 20 43 61 *cos(x);cpz=rdd*sin(x);....//.Ca
a900 6d 65 72 61 0d 0a 7a 64 69 73 74 3d 72 65 67 30 30 3b 72 79 3d 72 65 67 30 31 3b 6f 79 3d 72 65 mera..zdist=reg00;ry=reg01;oy=re
a920 67 30 32 3b 72 78 3d 72 65 67 30 33 3b 73 74 65 70 73 3d 72 65 67 30 39 3b 0d 0a 63 79 74 3d 72 g02;rx=reg03;steps=reg09;..cyt=r
a940 65 67 30 37 3b 73 79 74 3d 72 65 67 30 38 3b 0d 0a 72 6f 66 66 3d 28 28 28 28 61 62 73 28 33 2a eg07;syt=reg08;..roff=((((abs(3*
a960 72 79 2f 24 70 69 2b 2e 35 29 7c 30 29 25 36 29 2a 73 69 67 6e 28 72 79 29 2b 31 32 29 25 36 29 ry/$pi+.5)|0)%6)*sign(ry)+12)%6)
a980 3b 0d 0a 72 79 3d 72 79 2d 28 72 6f 66 66 2b 31 29 2a 24 70 69 2f 33 3b 0d 0a 63 78 3d 63 6f 73 ;..ry=ry-(roff+1)*$pi/3;..cx=cos
a9a0 28 72 78 29 3b 73 78 3d 73 69 6e 28 72 78 29 3b 0d 0a 63 79 3d 63 6f 73 28 72 79 29 3b 73 79 3d (rx);sx=sin(rx);..cy=cos(ry);sy=
a9c0 73 69 6e 28 72 79 29 3b 0d 0a 0d 0a 2f 2f 20 53 6f 75 6e 64 20 72 65 73 70 6f 6e 73 65 0d 0a 6e sin(ry);....//.Sound.response..n
a9e0 3d 69 66 28 65 71 75 61 6c 28 72 6f 66 66 2c 30 29 2c 72 65 67 31 37 2c 69 66 28 65 71 75 61 6c =if(equal(roff,0),reg17,if(equal
aa00 28 72 6f 66 66 2c 31 29 2c 72 65 67 31 39 2c 69 66 28 65 71 75 61 6c 28 72 6f 66 66 2c 32 29 2c (roff,1),reg19,if(equal(roff,2),
aa20 72 65 67 32 31 2c 69 66 28 65 71 75 61 6c 28 72 6f 66 66 2c 33 29 2c 72 65 67 32 33 2c 69 66 28 reg21,if(equal(roff,3),reg23,if(
aa40 65 71 75 61 6c 28 72 6f 66 66 2c 34 29 2c 72 65 67 32 35 2c 72 65 67 32 37 29 29 29 29 29 3b 0d equal(roff,4),reg25,reg27)))));.
aa60 0a 6e 3d 28 28 6e 2a 73 74 65 70 73 29 7c 30 29 3b 72 65 73 70 3d 72 65 67 33 30 3b 0d 0a 70 79 .n=((n*steps)|0);resp=reg30;..py
aa80 3d 6f 79 2d 6e 2a 72 65 73 70 3b 0d 0a 6e 3d 35 30 2a 77 2f 33 32 30 3b 0d 0a 0d 0a 2f 2f 20 53 =oy-n*resp;..n=50*w/320;....//.S
aaa0 74 61 74 65 20 76 61 72 73 0d 0a 63 73 3d 24 70 69 2a 2e 33 33 33 33 3b 61 66 3d 77 2f 68 3b 70 tate.vars..cs=$pi*.3333;af=w/h;p
aac0 3d 30 3b 00 00 00 00 00 25 00 00 00 2f 2f 20 43 6f 6c 75 6d 6e 20 38 20 54 6f 70 0d 0a 6e 3d 30 =0;.....%...//.Column.8.Top..n=0
aae0 3b 72 64 64 3d 31 2e 37 33 3b 70 6f 73 3d 30 3b 00 02 00 00 00 01 00 00 00 ff ff ff 00 01 00 00 ;rdd=1.73;pos=0;................
ab00 00 fe ff ff ff c0 00 00 00 82 02 01 01 24 80 00 00 00 80 00 00 00 00 00 00 00 00 00 00 00 00 00 .............$..................
ab20 00 00 00 00 00 00 01 00 00 00 01 00 00 00 00 40 00 00 41 56 53 20 32 2e 38 2b 20 45 66 66 65 63 ...............@..AVS.2.8+.Effec
ab40 74 20 4c 69 73 74 20 43 6f 6e 66 69 67 00 00 00 00 00 3f 00 00 00 01 00 00 00 05 00 00 00 74 3d t.List.Config.....?...........t=
ab60 30 3b 00 2e 00 00 00 74 3d 69 66 28 62 2c 30 2c 28 74 2b 31 29 25 32 30 29 3b 0d 0a 65 6e 61 62 0;.....t=if(b,0,(t+1)%20);..enab
ab80 6c 65 64 3d 62 2b 65 71 75 61 6c 28 74 2c 31 39 29 3b 0d 0a 00 19 00 00 00 14 00 00 00 01 00 00 led=b+equal(t,19);..............
aba0 00 02 59 14 00 00 00 00 00 00 00 00 00 01 00 00 00 12 00 00 00 10 00 00 00 00 00 00 00 07 00 00 ..Y.............................
abc0 00 01 00 00 00 80 00 00 00 fe ff ff ff 3d 06 00 00 80 00 01 05 24 80 00 00 00 80 00 00 00 00 00 .............=.......$..........
abe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 40 00 00 41 56 53 20 32 2e .......................@..AVS.2.
ac00 38 2b 20 45 66 66 65 63 74 20 4c 69 73 74 20 43 6f 6e 66 69 67 00 00 00 00 00 0c 00 00 00 00 00 8+.Effect.List.Config...........
ac20 00 00 00 00 00 00 00 00 00 00 88 71 15 08 43 6f 6c 6f 72 20 4d 61 70 00 00 00 00 00 00 00 00 00 ...........q..Color.Map.........
ac40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 b0 02 00 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ac60 00 08 01 00 00 00 02 00 00 00 a0 5f 07 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ..........._....................
ac80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
aca0 00 00 02 00 00 00 78 5f 07 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ......x_........................
acc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 00 ................................
ace0 00 00 50 5f 07 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ..P_............................
ad00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 00 00 00 40 ea ..............................@.
ad20 04 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ad40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 00 00 00 18 ea 04 01 00 00 ................................
ad60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ad80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 00 00 00 90 fc 03 01 00 00 00 00 00 00 ................................
ada0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
adc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 00 00 00 30 38 07 01 00 00 00 00 00 00 00 00 00 00 ..................08............
ade0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ae00 00 00 00 00 00 00 00 00 00 00 02 00 00 00 b8 ea 04 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ae20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ae40 00 00 4f 00 00 00 00 00 00 00 00 00 00 00 f4 00 00 00 ff ff ff 00 01 00 00 00 00 00 00 00 00 00 ..O.............................
ae60 00 00 00 00 00 00 ff 00 00 00 ff ff ff 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ff 00 ................................
ae80 00 00 ff ff ff 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ff 00 00 00 ff ff ff 00 01 00 ................................
aea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ff 00 00 00 ff ff ff 00 01 00 00 00 00 00 00 00 00 00 ................................
aec0 00 00 00 00 00 00 ff 00 00 00 ff ff ff 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ff 00 ................................
aee0 00 00 ff ff ff 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ff 00 00 00 ff ff ff 00 01 00 ................................
af00 00 00 6c bb bd 07 48 6f 6c 64 65 6e 30 33 3a 20 43 6f 6e 76 6f 6c 75 74 69 6f 6e 20 46 69 6c 74 ..l...Holden03:.Convolution.Filt
af20 65 72 00 00 00 00 dc 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 er..............................
af40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
af60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
af80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
afa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
afc0 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
afe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 ................................
b000 00 00 04 00 00 00 6c bb bd 07 48 6f 6c 64 65 6e 30 33 3a 20 43 6f 6e 76 6f 6c 75 74 69 6f 6e 20 ......l...Holden03:.Convolution.
b020 46 69 6c 74 65 72 00 00 00 00 dc 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 Filter..........................
b040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 ................................
b060 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b080 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b0a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b0c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b0e0 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 ................................
b100 00 00 00 00 00 00 04 00 00 00 6c bb bd 07 48 6f 6c 64 65 6e 30 33 3a 20 43 6f 6e 76 6f 6c 75 74 ..........l...Holden03:.Convolut
b120 69 6f 6e 20 46 69 6c 74 65 72 00 00 00 00 dc 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 ion.Filter......................
b140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b160 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 ................................
b1a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b1c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b1e0 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 ................................
b200 00 00 00 00 00 00 00 00 00 00 10 00 00 00 ..............