(script 998)

(string
    string_0d1e "Act"
    string_0d22 "Blk"
    string_0d26 "Cage"
    string_0d2b "Feature"
    string_0d33 "PV"
    string_0d36 "Prop"
    string_0d3b "View"
)

(said
)

(local
)

// 09bc
(class Feature of Obj
    (properties
        y $0
        x $0
        z $0
        heading $0
    )
    (method (handleEvent) // method_0004
  0004:39 4c            pushi 4c // $4c claimed
  0006:76               push0 
  0007:87 01              lap param1 
  0009:4a 04             send 4 

  000b:48                 ret 
    )

)

// 09f0
(class PV of Feature
    (properties
        y $0
        x $0
        z $0
        heading $0
        view $0
        loop $0
        cel $0
        priority $ffff
        signal $0
    )
    (method (showSelf) // method_000c
  000c:39 05            pushi 5 // $5 view
  000e:67 06             pTos name 
  0010:39 52            pushi 52 // $52 icon
  0012:67 10             pTos view 
  0014:67 12             pTos loop 
  0016:67 14             pTos cel 
  0018:46 00ff 0000 0a  calle ff procedure_0000 a // Print 

  001e:48                 ret 
    )

    (method (init) // method_001f
  001f:39 61            pushi 61 // $61 add
  0021:78               push1 
  0022:7c            pushSelf 
  0023:81 0a              lag gAddToPics 
  0025:4a 06             send 6 

  0027:48                 ret 
    )

)

// 0a3c
(class View of Feature
    (properties
        y $0
        x $0
        z $0
        heading $0
        yStep $2
        view $0
        loop $0
        cel $0
        priority $0
        underBits $0
        signal $101
        nsTop $0
        nsLeft $0
        nsBottom $0
        nsRight $0
        lsTop $0
        lsLeft $0
        lsBottom $0
        lsRight $0
        brTop $0
        brLeft $0
        brBottom $0
        brRight $0
    )
    (method (init) // method_0028
  0028:67 1c             pTos signal 
  002a:34 7fff            ldi 7fff 
  002d:12                 and 
  002e:65 1c             aTop signal 
  0030:39 65            pushi 65 // $65 contains
  0032:78               push1 
  0033:7c            pushSelf 
  0034:81 05              lag gCast 
  0036:4a 06             send 6 

  0038:18                 not 
  0039:31 12              bnt code_004d 
  003b:35 00              ldi 0 
  003d:65 26             aTop lsTop 
  003f:65 28             aTop lsLeft 
  0041:65 2a             aTop lsBottom 
  0043:65 2c             aTop lsRight 
  0045:67 1c             pTos signal 
  0047:34 ff77            ldi ff77 
  004a:12                 and 
  004b:65 1c             aTop signal 

        code_004d
  004d:78               push1 
  004e:7c            pushSelf 
  004f:43 4f 02         callk BaseSetter 2 

  0052:39 61            pushi 61 // $61 add
  0054:78               push1 
  0055:7c            pushSelf 
  0056:81 05              lag gCast 
  0058:4a 06             send 6 

  005a:48                 ret 
    )

    (method (posn) // method_005b
  005b:8f 00              lsp paramTotal 
  005d:35 01              ldi 1 
  005f:20                 ge? 
  0060:31 1a              bnt code_007c 
  0062:87 01              lap param1 
  0064:65 0a             aTop x 
  0066:8f 00              lsp paramTotal 
  0068:35 02              ldi 2 
  006a:20                 ge? 
  006b:31 0f              bnt code_007c 
  006d:87 02              lap param2 
  006f:65 08             aTop y 
  0071:8f 00              lsp paramTotal 
  0073:35 03              ldi 3 
  0075:20                 ge? 
  0076:31 04              bnt code_007c 
  0078:87 03              lap param3 
  007a:65 0c             aTop z 

        code_007c
  007c:78               push1 
  007d:7c            pushSelf 
  007e:43 4f 02         callk BaseSetter 2 

  0081:38 00c7          pushi c7 // $c7 forceUpd
  0084:76               push0 
  0085:54 04             self 4 

  0087:48                 ret 
    )

    (method (dispose) // method_0088
  0088:38 00a3          pushi a3 // $a3 startUpd
  008b:76               push0 
  008c:38 0089          pushi 89 // $89 hide
  008f:76               push0 
  0090:54 08             self 8 

  0092:67 1c             pTos signal 
  0094:34 8000            ldi 8000 
  0097:14                  or 
  0098:65 1c             aTop signal 
  009a:48                 ret 
    )

    (method (hide) // method_009b
  009b:67 1c             pTos signal 
  009d:35 08              ldi 8 
  009f:14                  or 
  00a0:65 1c             aTop signal 
  00a2:48                 ret 
    )

    (method (show) // method_00a3
  00a3:67 1c             pTos signal 
  00a5:35 f7              ldi f7 
  00a7:12                 and 
  00a8:65 1c             aTop signal 
  00aa:48                 ret 
    )

    (method (delete) // method_00ab
  00ab:67 1c             pTos signal 
  00ad:34 8000            ldi 8000 
  00b0:12                 and 
  00b1:31 6a              bnt code_011d 
  00b3:67 1c             pTos signal 
  00b5:35 20              ldi 20 
  00b7:12                 and 
  00b8:31 3c              bnt code_00f6 
  00ba:39 61            pushi 61 // $61 add
  00bc:78               push1 
  00bd:39 05            pushi 5 // $5 view
  00bf:78               push1 
  00c0:67 12             pTos view 
  00c2:39 06            pushi 6 // $6 loop
  00c4:78               push1 
  00c5:67 14             pTos loop 
  00c7:39 07            pushi 7 // $7 cel
  00c9:78               push1 
  00ca:67 16             pTos cel 
  00cc:39 04            pushi 4 // $4 x
  00ce:78               push1 
  00cf:67 0a             pTos x 
  00d1:39 03            pushi 3 // $3 y
  00d3:78               push1 
  00d4:67 08             pTos y 
  00d6:39 55            pushi 55 // $55 z
  00d8:78               push1 
  00d9:67 0c             pTos z 
  00db:39 3f            pushi 3f // $3f priority
  00dd:78               push1 
  00de:67 18             pTos priority 
  00e0:39 11            pushi 11 // $11 signal
  00e2:78               push1 
  00e3:67 1c             pTos signal 
  00e5:39 5f            pushi 5f // $5f yourself
  00e7:76               push0 
  00e8:39 56            pushi 56 // $56 new
  00ea:76               push0 
  00eb:51 25            class PV 
  00ed:4a 04             send 4 

  00ef:4a 34             send 34 

  00f1:36                push 
  00f2:81 0a              lag gAddToPics 
  00f4:4a 06             send 6 


        code_00f6
  00f6:67 1c             pTos signal 
  00f8:34 7fff            ldi 7fff 
  00fb:12                 and 
  00fc:65 1c             aTop signal 
  00fe:39 54            pushi 54 // $54 delete
  0100:78               push1 
  0101:7c            pushSelf 
  0102:81 05              lag gCast 
  0104:4a 06             send 6 

  0106:63 1a             pToa underBits 
  0108:31 0d              bnt code_0117 
  010a:7a               push2 
  010b:38 0085          pushi 85 // $85 check
  010e:67 1a             pTos underBits 
  0110:43 01 04         callk UnLoad 4 

  0113:35 00              ldi 0 
  0115:65 1a             aTop underBits 

        code_0117
  0117:39 58            pushi 58 // $58 dispose
  0119:76               push0 
  011a:57 24 04         super Feature 4 


        code_011d
  011d:48                 ret 
    )

    (method (stopUpd) // method_011e
  011e:67 1c             pTos signal 
  0120:35 01              ldi 1 
  0122:14                  or 
  0123:65 1c             aTop signal 
  0125:67 1c             pTos signal 
  0127:35 fd              ldi fd 
  0129:12                 and 
  012a:65 1c             aTop signal 
  012c:48                 ret 
    )

    (method (forceUpd) // method_012d
  012d:67 1c             pTos signal 
  012f:35 40              ldi 40 
  0131:14                  or 
  0132:65 1c             aTop signal 
  0134:48                 ret 
    )

    (method (startUpd) // method_0135
  0135:67 1c             pTos signal 
  0137:35 02              ldi 2 
  0139:14                  or 
  013a:65 1c             aTop signal 
  013c:67 1c             pTos signal 
  013e:35 fe              ldi fe 
  0140:12                 and 
  0141:65 1c             aTop signal 
  0143:48                 ret 
    )

    (method (setPri) // method_0144
  0144:8f 00              lsp paramTotal 
  0146:35 00              ldi 0 
  0148:1a                 eq? 
  0149:31 09              bnt code_0154 
  014b:67 1c             pTos signal 
  014d:35 10              ldi 10 
  014f:14                  or 
  0150:65 1c             aTop signal 
  0152:33 1b              jmp code_016f 

        code_0154
  0154:8f 01              lsp param1 
  0156:35 ff              ldi ff 
  0158:1a                 eq? 
  0159:31 09              bnt code_0164 
  015b:67 1c             pTos signal 
  015d:35 ef              ldi ef 
  015f:12                 and 
  0160:65 1c             aTop signal 
  0162:33 0b              jmp code_016f 

        code_0164
  0164:87 01              lap param1 
  0166:65 18             aTop priority 
  0168:67 1c             pTos signal 
  016a:35 10              ldi 10 
  016c:14                  or 
  016d:65 1c             aTop signal 

        code_016f
  016f:38 00c7          pushi c7 // $c7 forceUpd
  0172:76               push0 
  0173:54 04             self 4 

  0175:48                 ret 
    )

    (method (setLoop) // method_0176
  0176:8f 00              lsp paramTotal 
  0178:35 00              ldi 0 
  017a:1a                 eq? 
  017b:31 0a              bnt code_0187 
  017d:67 1c             pTos signal 
  017f:34 0800            ldi 800 
  0182:14                  or 
  0183:65 1c             aTop signal 
  0185:33 1d              jmp code_01a4 

        code_0187
  0187:8f 01              lsp param1 
  0189:35 ff              ldi ff 
  018b:1a                 eq? 
  018c:31 0a              bnt code_0198 
  018e:67 1c             pTos signal 
  0190:34 f7ff            ldi f7ff 
  0193:12                 and 
  0194:65 1c             aTop signal 
  0196:33 0c              jmp code_01a4 

        code_0198
  0198:87 01              lap param1 
  019a:65 14             aTop loop 
  019c:67 1c             pTos signal 
  019e:34 0800            ldi 800 
  01a1:14                  or 
  01a2:65 1c             aTop signal 

        code_01a4
  01a4:38 00c7          pushi c7 // $c7 forceUpd
  01a7:76               push0 
  01a8:54 04             self 4 

  01aa:48                 ret 
    )

    (method (setCel) // method_01ab
  01ab:8f 00              lsp paramTotal 
  01ad:35 00              ldi 0 
  01af:1a                 eq? 
  01b0:31 0a              bnt code_01bc 
  01b2:67 1c             pTos signal 
  01b4:34 1000            ldi 1000 
  01b7:14                  or 
  01b8:65 1c             aTop signal 
  01ba:33 30              jmp code_01ec 

        code_01bc
  01bc:8f 01              lsp param1 
  01be:35 ff              ldi ff 
  01c0:1a                 eq? 
  01c1:31 0a              bnt code_01cd 
  01c3:67 1c             pTos signal 
  01c5:34 efff            ldi efff 
  01c8:12                 and 
  01c9:65 1c             aTop signal 
  01cb:33 1f              jmp code_01ec 

        code_01cd
  01cd:67 1c             pTos signal 
  01cf:34 1000            ldi 1000 
  01d2:14                  or 
  01d3:65 1c             aTop signal 
  01d5:8f 01              lsp param1 
  01d7:38 00a6          pushi a6 // $a6 lastCel
  01da:76               push0 
  01db:54 04             self 4 

  01dd:20                 ge? 
  01de:31 08              bnt code_01e8 
  01e0:38 00a6          pushi a6 // $a6 lastCel
  01e3:76               push0 
  01e4:54 04             self 4 

  01e6:33 02              jmp code_01ea 

        code_01e8
  01e8:87 01              lap param1 

        code_01ea
  01ea:65 16             aTop cel 

        code_01ec
  01ec:38 00c7          pushi c7 // $c7 forceUpd
  01ef:76               push0 
  01f0:54 04             self 4 

  01f2:48                 ret 
    )

    (method (ignoreActors) // method_01f3
  01f3:76               push0 
  01f4:87 00              lap paramTotal 
  01f6:1a                 eq? 
  01f7:2f 04               bt code_01fd 
  01f9:87 01              lap param1 
  01fb:31 0a              bnt code_0207 

        code_01fd
  01fd:67 1c             pTos signal 
  01ff:34 4000            ldi 4000 
  0202:14                  or 
  0203:65 1c             aTop signal 
  0205:33 08              jmp code_020f 

        code_0207
  0207:67 1c             pTos signal 
  0209:34 bfff            ldi bfff 
  020c:12                 and 
  020d:65 1c             aTop signal 

        code_020f
  020f:48                 ret 
    )

    (method (addToPic) // method_0210
  0210:39 65            pushi 65 // $65 contains
  0212:78               push1 
  0213:7c            pushSelf 
  0214:81 05              lag gCast 
  0216:4a 06             send 6 

  0218:18                 not 
  0219:31 05              bnt code_0220 
  021b:39 57            pushi 57 // $57 init
  021d:76               push0 
  021e:54 04             self 4 


        code_0220
  0220:39 11            pushi 11 // $11 signal
  0222:78               push1 
  0223:67 1c             pTos signal 
  0225:34 8021            ldi 8021 
  0228:14                  or 
  0229:36                push 
  022a:54 06             self 6 

  022c:48                 ret 
    )

    (method (lastCel) // method_022d
  022d:78               push1 
  022e:7c            pushSelf 
  022f:43 0e 02         callk NumCels 2 

  0232:36                push 
  0233:35 01              ldi 1 
  0235:04                 sub 
  0236:48                 ret 
    )

    (method (showSelf) // method_0237
  0237:39 05            pushi 5 // $5 view
  0239:67 06             pTos name 
  023b:39 52            pushi 52 // $52 icon
  023d:67 12             pTos view 
  023f:67 14             pTos loop 
  0241:67 16             pTos cel 
  0243:46 00ff 0000 0a  calle ff procedure_0000 a // Print 

  0249:48                 ret 
    )

    (method (isExtra) // method_024a
  024a:3f 01             link 1 // (var $1)
  024c:67 1c             pTos signal 
  024e:34 0200            ldi 200 
  0251:12                 and 
  0252:a5 00              sat temp0 
  0254:87 00              lap paramTotal 
  0256:31 16              bnt code_026e 
  0258:87 01              lap param1 
  025a:31 0a              bnt code_0266 
  025c:67 1c             pTos signal 
  025e:34 0200            ldi 200 
  0261:14                  or 
  0262:65 1c             aTop signal 
  0264:33 08              jmp code_026e 

        code_0266
  0266:67 1c             pTos signal 
  0268:34 fdff            ldi fdff 
  026b:12                 and 
  026c:65 1c             aTop signal 

        code_026e
  026e:85 00              lat temp0 
  0270:48                 ret 
    )

    (method (motionCue) // method_0271
  0271:48                 ret 
    )

)

// 0b00
(class Prop of View
    (properties
        y $0
        x $0
        z $0
        heading $0
        yStep $2
        view $0
        loop $0
        cel $0
        priority $0
        underBits $0
        signal $0
        nsTop $0
        nsLeft $0
        nsBottom $0
        nsRight $0
        lsTop $0
        lsLeft $0
        lsBottom $0
        lsRight $0
        brTop $0
        brLeft $0
        brBottom $0
        brRight $0
        cycleSpeed $0
        script $0
        cycler $0
        timer $0
    )
    (method (doit) // method_0272
  0272:3f 01             link 1 // (var $1)
  0274:67 1c             pTos signal 
  0276:34 8000            ldi 8000 
  0279:12                 and 
  027a:31 01              bnt code_027d 
  027c:48                 ret 

        code_027d
  027d:63 38             pToa script 
  027f:31 07              bnt code_0288 
  0281:39 3c            pushi 3c // $3c doit
  0283:76               push0 
  0284:63 38             pToa script 
  0286:4a 04             send 4 


        code_0288
  0288:67 1c             pTos signal 
  028a:35 04              ldi 4 
  028c:12                 and 
  028d:31 09              bnt code_0298 
  028f:67 1c             pTos signal 
  0291:35 02              ldi 2 
  0293:12                 and 
  0294:18                 not 
  0295:31 01              bnt code_0298 
  0297:48                 ret 

        code_0298
  0298:63 3a             pToa cycler 
  029a:31 07              bnt code_02a3 
  029c:39 3c            pushi 3c // $3c doit
  029e:76               push0 
  029f:63 3a             pToa cycler 
  02a1:4a 04             send 4 


        code_02a3
  02a3:48                 ret 
    )

    (method (handleEvent) // method_02a4
  02a4:63 38             pToa script 
  02a6:31 09              bnt code_02b1 
  02a8:39 6f            pushi 6f // $6f handleEvent
  02aa:78               push1 
  02ab:8f 01              lsp param1 
  02ad:63 38             pToa script 
  02af:4a 06             send 6 


        code_02b1
  02b1:39 4c            pushi 4c // $4c claimed
  02b3:76               push0 
  02b4:87 01              lap param1 
  02b6:4a 04             send 4 

  02b8:48                 ret 
    )

    (method (setCycle) // method_02b9
  02b9:63 3a             pToa cycler 
  02bb:31 07              bnt code_02c4 
  02bd:39 58            pushi 58 // $58 dispose
  02bf:76               push0 
  02c0:63 3a             pToa cycler 
  02c2:4a 04             send 4 


        code_02c4
  02c4:87 01              lap param1 
  02c6:31 23              bnt code_02eb 
  02c8:38 00a2          pushi a2 // $a2 setCel
  02cb:78               push1 
  02cc:39 ff            pushi ff // $ff checkAni
  02ce:54 06             self 6 

  02d0:38 00a3          pushi a3 // $a3 startUpd
  02d3:76               push0 
  02d4:54 04             self 4 

  02d6:39 56            pushi 56 // $56 new
  02d8:76               push0 
  02d9:87 01              lap param1 
  02db:4a 04             send 4 

  02dd:65 3a             aTop cycler 
  02df:39 57            pushi 57 // $57 init
  02e1:78               push1 
  02e2:7c            pushSelf 
  02e3:59 02            &rest 2 
  02e5:63 3a             pToa cycler 
  02e7:4a 06             send 6 

  02e9:33 04              jmp code_02ef 

        code_02eb
  02eb:35 00              ldi 0 
  02ed:65 3a             aTop cycler 

        code_02ef
  02ef:48                 ret 
    )

    (method (delete) // method_02f0
  02f0:67 1c             pTos signal 
  02f2:34 8000            ldi 8000 
  02f5:12                 and 
  02f6:31 1b              bnt code_0313 
  02f8:39 7a            pushi 7a // $7a setScript
  02fa:78               push1 
  02fb:76               push0 
  02fc:39 7e            pushi 7e // $7e setCycle
  02fe:78               push1 
  02ff:76               push0 
  0300:54 0c             self c 

  0302:63 3c             pToa timer 
  0304:31 07              bnt code_030d 
  0306:39 58            pushi 58 // $58 dispose
  0308:76               push0 
  0309:63 3c             pToa timer 
  030b:4a 04             send 4 


        code_030d
  030d:39 54            pushi 54 // $54 delete
  030f:76               push0 
  0310:57 26 04         super View 4 


        code_0313
  0313:48                 ret 
    )

    (method (cue) // method_0314
  0314:63 38             pToa script 
  0316:31 07              bnt code_031f 
  0318:39 79            pushi 79 // $79 cue
  031a:76               push0 
  031b:63 38             pToa script 
  031d:4a 04             send 4 


        code_031f
  031f:48                 ret 
    )

    (method (setScript) // method_0320
  0320:78               push1 
  0321:67 38             pTos script 
  0323:43 06 02         callk IsObject 2 

  0326:31 07              bnt code_032f 
  0328:39 58            pushi 58 // $58 dispose
  032a:76               push0 
  032b:63 38             pToa script 
  032d:4a 04             send 4 


        code_032f
  032f:87 01              lap param1 
  0331:65 38             aTop script 
  0333:31 0a              bnt code_033f 
  0335:39 57            pushi 57 // $57 init
  0337:78               push1 
  0338:7c            pushSelf 
  0339:59 02            &rest 2 
  033b:63 38             pToa script 
  033d:4a 06             send 6 


        code_033f
  033f:48                 ret 
    )

    (method (motionCue) // method_0340
  0340:63 3a             pToa cycler 
  0342:31 12              bnt code_0356 
  0344:38 009e          pushi 9e // $9e completed
  0347:76               push0 
  0348:63 3a             pToa cycler 
  034a:4a 04             send 4 

  034c:31 08              bnt code_0356 
  034e:38 00a1          pushi a1 // $a1 motionCue
  0351:76               push0 
  0352:63 3a             pToa cycler 
  0354:4a 04             send 4 


        code_0356
  0356:48                 ret 
    )

)

// 0ba8
(class Act of Prop
    (properties
        y $0
        x $0
        z $0
        heading $0
        yStep $2
        view $0
        loop $0
        cel $0
        priority $0
        underBits $0
        signal $0
        nsTop $0
        nsLeft $0
        nsBottom $0
        nsRight $0
        lsTop $0
        lsLeft $0
        lsBottom $0
        lsRight $0
        brTop $0
        brLeft $0
        brBottom $0
        brRight $0
        cycleSpeed $0
        script $0
        cycler $0
        timer $0
        illegalBits $8000
        xLast $0
        yLast $0
        xStep $3
        moveSpeed $0
        blocks $0
        baseSetter $0
        mover $0
        looper $0
        viewer $0
        avoider $0
    )
    (method (init) // method_0357
  0357:39 57            pushi 57 // $57 init
  0359:76               push0 
  035a:57 27 04         super Prop 4 

  035d:63 0a             pToa x 
  035f:65 40             aTop xLast 
  0361:63 08             pToa y 
  0363:65 42             aTop yLast 
  0365:48                 ret 
    )

    (method (doit) // method_0366
  0366:3f 03             link 3 // (var $3)
  0368:67 1c             pTos signal 
  036a:34 8000            ldi 8000 
  036d:12                 and 
  036e:31 01              bnt code_0371 
  0370:48                 ret 

        code_0371
  0371:63 38             pToa script 
  0373:31 07              bnt code_037c 
  0375:39 3c            pushi 3c // $3c doit
  0377:76               push0 
  0378:63 38             pToa script 
  037a:4a 04             send 4 


        code_037c
  037c:67 1c             pTos signal 
  037e:35 04              ldi 4 
  0380:12                 and 
  0381:31 09              bnt code_038c 
  0383:67 1c             pTos signal 
  0385:35 02              ldi 2 
  0387:12                 and 
  0388:18                 not 
  0389:31 01              bnt code_038c 
  038b:48                 ret 

        code_038c
  038c:63 50             pToa viewer 
  038e:31 08              bnt code_0398 
  0390:39 3c            pushi 3c // $3c doit
  0392:78               push1 
  0393:7c            pushSelf 
  0394:63 50             pToa viewer 
  0396:4a 06             send 6 


        code_0398
  0398:67 1c             pTos signal 
  039a:34 fbff            ldi fbff 
  039d:12                 and 
  039e:65 1c             aTop signal 
  03a0:63 52             pToa avoider 
  03a2:31 09              bnt code_03ad 
  03a4:39 3c            pushi 3c // $3c doit
  03a6:76               push0 
  03a7:63 52             pToa avoider 
  03a9:4a 04             send 4 

  03ab:33 0b              jmp code_03b8 

        code_03ad
  03ad:63 4c             pToa mover 
  03af:31 07              bnt code_03b8 
  03b1:39 3c            pushi 3c // $3c doit
  03b3:76               push0 
  03b4:63 4c             pToa mover 
  03b6:4a 04             send 4 


        code_03b8
  03b8:63 3a             pToa cycler 
  03ba:31 3e              bnt code_03fa 
  03bc:63 30             pToa brLeft 
  03be:a5 01              sat temp1 
  03c0:63 34             pToa brRight 
  03c2:a5 02              sat temp2 
  03c4:39 3c            pushi 3c // $3c doit
  03c6:76               push0 
  03c7:63 3a             pToa cycler 
  03c9:4a 04             send 4 

  03cb:63 4a             pToa baseSetter 
  03cd:31 0a              bnt code_03d9 
  03cf:39 3c            pushi 3c // $3c doit
  03d1:78               push1 
  03d2:7c            pushSelf 
  03d3:63 4a             pToa baseSetter 
  03d5:4a 06             send 6 

  03d7:33 05              jmp code_03de 

        code_03d9
  03d9:78               push1 
  03da:7c            pushSelf 
  03db:43 4f 02         callk BaseSetter 2 


        code_03de
  03de:8d 01              lst temp1 
  03e0:63 30             pToa brLeft 
  03e2:1c                 ne? 
  03e3:2f 07               bt code_03ec 
  03e5:8d 02              lst temp2 
  03e7:63 34             pToa brRight 
  03e9:1c                 ne? 
  03ea:31 0e              bnt code_03fa 

        code_03ec
  03ec:39 39            pushi 39 // $39 canBeHere
  03ee:76               push0 
  03ef:54 04             self 4 

  03f1:18                 not 
  03f2:31 06              bnt code_03fa 
  03f4:38 00bf          pushi bf // $bf findPosn
  03f7:76               push0 
  03f8:54 04             self 4 


        code_03fa
  03fa:63 0a             pToa x 
  03fc:65 40             aTop xLast 
  03fe:63 08             pToa y 
  0400:65 42             aTop yLast 
  0402:48                 ret 
    )

    (method (posn) // method_0403
  0403:38 00c5          pushi c5 // $c5 posn
  0406:7a               push2 
  0407:8f 01              lsp param1 
  0409:8f 02              lsp param2 
  040b:59 03            &rest 3 
  040d:57 27 08         super Prop 8 

  0410:87 01              lap param1 
  0412:65 40             aTop xLast 
  0414:87 02              lap param2 
  0416:65 42             aTop yLast 
  0418:39 39            pushi 39 // $39 canBeHere
  041a:76               push0 
  041b:54 04             self 4 

  041d:18                 not 
  041e:31 06              bnt code_0426 
  0420:38 00bf          pushi bf // $bf findPosn
  0423:76               push0 
  0424:54 04             self 4 


        code_0426
  0426:48                 ret 
    )

    (method (setMotion) // method_0427
  0427:3f 28             link 28 // (var $28)
  0429:63 4c             pToa mover 
  042b:31 0e              bnt code_043b 
  042d:67 4c             pTos mover 
  042f:35 ff              ldi ff 
  0431:1c                 ne? 
  0432:31 07              bnt code_043b 
  0434:39 58            pushi 58 // $58 dispose
  0436:76               push0 
  0437:63 4c             pToa mover 
  0439:4a 04             send 4 


        code_043b
  043b:87 01              lap param1 
  043d:31 2c              bnt code_046b 
  043f:38 00a3          pushi a3 // $a3 startUpd
  0442:76               push0 
  0443:54 04             self 4 

  0445:7a               push2 
  0446:76               push0 
  0447:87 01              lap param1 
  0449:4a 04             send 4 

  044b:36                push 
  044c:34 8000            ldi 8000 
  044f:12                 and 
  0450:31 09              bnt code_045b 
  0452:39 56            pushi 56 // $56 new
  0454:76               push0 
  0455:87 01              lap param1 
  0457:4a 04             send 4 

  0459:33 02              jmp code_045d 

        code_045b
  045b:87 01              lap param1 

        code_045d
  045d:65 4c             aTop mover 
  045f:39 57            pushi 57 // $57 init
  0461:78               push1 
  0462:7c            pushSelf 
  0463:59 02            &rest 2 
  0465:63 4c             pToa mover 
  0467:4a 06             send 6 

  0469:33 04              jmp code_046f 

        code_046b
  046b:35 00              ldi 0 
  046d:65 4c             aTop mover 

        code_046f
  046f:48                 ret 
    )

    (method (setAvoider) // method_0470
  0470:63 52             pToa avoider 
  0472:31 07              bnt code_047b 
  0474:39 58            pushi 58 // $58 dispose
  0476:76               push0 
  0477:63 52             pToa avoider 
  0479:4a 04             send 4 


        code_047b
  047b:78               push1 
  047c:8f 01              lsp param1 
  047e:43 06 02         callk IsObject 2 

  0481:31 16              bnt code_0499 
  0483:7a               push2 
  0484:76               push0 
  0485:87 01              lap param1 
  0487:4a 04             send 4 

  0489:36                push 
  048a:34 8000            ldi 8000 
  048d:12                 and 
  048e:31 09              bnt code_0499 
  0490:39 56            pushi 56 // $56 new
  0492:76               push0 
  0493:87 01              lap param1 
  0495:4a 04             send 4 

  0497:33 02              jmp code_049b 

        code_0499
  0499:87 01              lap param1 

        code_049b
  049b:65 52             aTop avoider 
  049d:63 52             pToa avoider 
  049f:31 0a              bnt code_04ab 
  04a1:39 57            pushi 57 // $57 init
  04a3:78               push1 
  04a4:7c            pushSelf 
  04a5:59 02            &rest 2 
  04a7:63 52             pToa avoider 
  04a9:4a 06             send 6 


        code_04ab
  04ab:48                 ret 
    )

    (method (isStopped) // method_04ac
  04ac:78               push1 
  04ad:67 4c             pTos mover 
  04af:43 06 02         callk IsObject 2 

  04b2:18                 not 
  04b3:2f 18               bt code_04cd 
  04b5:67 0a             pTos x 
  04b7:63 40             pToa xLast 
  04b9:1a                 eq? 
  04ba:31 13              bnt code_04cf 
  04bc:67 08             pTos y 
  04be:63 42             pToa yLast 
  04c0:1a                 eq? 
  04c1:31 0c              bnt code_04cf 
  04c3:38 00aa          pushi aa // $aa triedToMove
  04c6:76               push0 
  04c7:63 4c             pToa mover 
  04c9:4a 04             send 4 

  04cb:31 02              bnt code_04cf 

        code_04cd
  04cd:35 01              ldi 1 

        code_04cf
  04cf:48                 ret 
    )

    (method (isBlocked) // method_04d0
  04d0:67 1c             pTos signal 
  04d2:34 0400            ldi 400 
  04d5:12                 and 
  04d6:48                 ret 
    )

    (method (delete) // method_04d7
  04d7:67 1c             pTos signal 
  04d9:34 8000            ldi 8000 
  04dc:12                 and 
  04dd:31 57              bnt code_0536 
  04df:67 4c             pTos mover 
  04e1:35 ff              ldi ff 
  04e3:1c                 ne? 
  04e4:31 07              bnt code_04ed 
  04e6:38 00d3          pushi d3 // $d3 setMotion
  04e9:78               push1 
  04ea:76               push0 
  04eb:54 06             self 6 


        code_04ed
  04ed:38 00d4          pushi d4 // $d4 setAvoider
  04f0:78               push1 
  04f1:76               push0 
  04f2:54 06             self 6 

  04f4:63 4a             pToa baseSetter 
  04f6:31 0b              bnt code_0503 
  04f8:39 58            pushi 58 // $58 dispose
  04fa:76               push0 
  04fb:63 4a             pToa baseSetter 
  04fd:4a 04             send 4 

  04ff:35 00              ldi 0 
  0501:65 4a             aTop baseSetter 

        code_0503
  0503:63 4e             pToa looper 
  0505:31 0b              bnt code_0512 
  0507:39 58            pushi 58 // $58 dispose
  0509:76               push0 
  050a:63 4e             pToa looper 
  050c:4a 04             send 4 

  050e:35 00              ldi 0 
  0510:65 4e             aTop looper 

        code_0512
  0512:63 50             pToa viewer 
  0514:31 0b              bnt code_0521 
  0516:39 58            pushi 58 // $58 dispose
  0518:76               push0 
  0519:63 50             pToa viewer 
  051b:4a 04             send 4 

  051d:35 00              ldi 0 
  051f:65 50             aTop viewer 

        code_0521
  0521:63 48             pToa blocks 
  0523:31 0b              bnt code_0530 
  0525:39 58            pushi 58 // $58 dispose
  0527:76               push0 
  0528:63 48             pToa blocks 
  052a:4a 04             send 4 

  052c:35 00              ldi 0 
  052e:65 48             aTop blocks 

        code_0530
  0530:39 54            pushi 54 // $54 delete
  0532:76               push0 
  0533:57 27 04         super Prop 4 


        code_0536
  0536:48                 ret 
    )

    (method (ignoreHorizon) // method_0537
  0537:87 00              lap paramTotal 
  0539:18                 not 
  053a:2f 04               bt code_0540 
  053c:87 01              lap param1 
  053e:31 0a              bnt code_054a 

        code_0540
  0540:67 1c             pTos signal 
  0542:34 2000            ldi 2000 
  0545:14                  or 
  0546:65 1c             aTop signal 
  0548:33 08              jmp code_0552 

        code_054a
  054a:67 1c             pTos signal 
  054c:34 dfff            ldi dfff 
  054f:12                 and 
  0550:65 1c             aTop signal 

        code_0552
  0552:48                 ret 
    )

    (method (observeControl) // method_0553
  0553:3f 01             link 1 // (var $1)
  0555:35 00              ldi 0 
  0557:a5 00              sat temp0 

        code_0559
  0559:8d 00              lst temp0 
  055b:87 00              lap paramTotal 
  055d:22                 lt? 
  055e:31 0d              bnt code_056d 
  0560:67 3e             pTos illegalBits 
  0562:85 00              lat temp0 
  0564:97 01             lapi param1 
  0566:14                  or 
  0567:65 3e             aTop illegalBits 
  0569:c5 00              +at temp0 
  056b:33 ec              jmp code_0559 

        code_056d
  056d:48                 ret 
    )

    (method (ignoreControl) // method_056e
  056e:3f 01             link 1 // (var $1)
  0570:35 00              ldi 0 
  0572:a5 00              sat temp0 

        code_0574
  0574:8d 00              lst temp0 
  0576:87 00              lap paramTotal 
  0578:22                 lt? 
  0579:31 0e              bnt code_0589 
  057b:67 3e             pTos illegalBits 
  057d:85 00              lat temp0 
  057f:97 01             lapi param1 
  0581:00                bnot 
  0582:12                 and 
  0583:65 3e             aTop illegalBits 
  0585:c5 00              +at temp0 
  0587:33 eb              jmp code_0574 

        code_0589
  0589:48                 ret 
    )

    (method (observeBlocks) // method_058a
  058a:63 48             pToa blocks 
  058c:18                 not 
  058d:31 09              bnt code_0598 
  058f:39 56            pushi 56 // $56 new
  0591:76               push0 
  0592:51 03            class Set 
  0594:4a 04             send 4 

  0596:65 48             aTop blocks 

        code_0598
  0598:39 61            pushi 61 // $61 add
  059a:76               push0 
  059b:59 01            &rest 1 
  059d:63 48             pToa blocks 
  059f:4a 04             send 4 

  05a1:48                 ret 
    )

    (method (ignoreBlocks) // method_05a2
  05a2:39 54            pushi 54 // $54 delete
  05a4:76               push0 
  05a5:59 01            &rest 1 
  05a7:63 48             pToa blocks 
  05a9:4a 04             send 4 

  05ab:39 66            pushi 66 // $66 isEmpty
  05ad:76               push0 
  05ae:63 48             pToa blocks 
  05b0:4a 04             send 4 

  05b2:31 0b              bnt code_05bf 
  05b4:39 58            pushi 58 // $58 dispose
  05b6:76               push0 
  05b7:63 48             pToa blocks 
  05b9:4a 04             send 4 

  05bb:35 00              ldi 0 
  05bd:65 48             aTop blocks 

        code_05bf
  05bf:48                 ret 
    )

    (method (distanceTo) // method_05c0
  05c0:39 05            pushi 5 // $5 view
  05c2:67 0a             pTos x 
  05c4:67 08             pTos y 
  05c6:39 04            pushi 4 // $4 x
  05c8:76               push0 
  05c9:87 01              lap param1 
  05cb:4a 04             send 4 

  05cd:36                push 
  05ce:39 03            pushi 3 // $3 y
  05d0:76               push0 
  05d1:87 01              lap param1 
  05d3:4a 04             send 4 

  05d5:36                push 
  05d6:89 33              lsg gPerspective 
  05d8:43 44 0a         callk GetDistance a 

  05db:48                 ret 
    )

    (method (canBeHere) // method_05dc
  05dc:63 4a             pToa baseSetter 
  05de:31 0a              bnt code_05ea 
  05e0:39 3c            pushi 3c // $3c doit
  05e2:78               push1 
  05e3:7c            pushSelf 
  05e4:63 4a             pToa baseSetter 
  05e6:4a 06             send 6 

  05e8:33 05              jmp code_05ef 

        code_05ea
  05ea:78               push1 
  05eb:7c            pushSelf 
  05ec:43 4f 02         callk BaseSetter 2 


        code_05ef
  05ef:7a               push2 
  05f0:7c            pushSelf 
  05f1:39 1b            pushi 1b // $1b elements
  05f3:76               push0 
  05f4:81 05              lag gCast 
  05f6:4a 04             send 4 

  05f8:36                push 
  05f9:43 51 04         callk CanBeHere 4 

  05fc:31 33              bnt code_0631 
  05fe:67 1c             pTos signal 
  0600:34 2000            ldi 2000 
  0603:12                 and 
  0604:2f 16               bt code_061c 
  0606:78               push1 
  0607:89 02              lsg gCurRoom 
  0609:43 06 02         callk IsObject 2 

  060c:18                 not 
  060d:2f 0d               bt code_061c 
  060f:67 08             pTos y 
  0611:38 00de          pushi de // $de horizon
  0614:76               push0 
  0615:81 02              lag gCurRoom 
  0617:4a 04             send 4 

  0619:20                 ge? 
  061a:31 15              bnt code_0631 

        code_061c
  061c:67 48             pTos blocks 
  061e:35 00              ldi 0 
  0620:1a                 eq? 
  0621:2f 0c               bt code_062f 
  0623:39 64            pushi 64 // $64 allTrue
  0625:7a               push2 
  0626:39 3c            pushi 3c // $3c doit
  0628:7c            pushSelf 
  0629:63 48             pToa blocks 
  062b:4a 08             send 8 

  062d:31 02              bnt code_0631 

        code_062f
  062f:35 01              ldi 1 

        code_0631
  0631:48                 ret 
    )

    (method (findPosn) // method_0632
  0632:3f 05             link 5 // (var $5)
  0634:63 0a             pToa x 
  0636:a5 02              sat temp2 
  0638:63 08             pToa y 
  063a:a5 03              sat temp3 
  063c:35 00              ldi 0 
  063e:a5 04              sat temp4 
  0640:35 01              ldi 1 
  0642:a5 01              sat temp1 

        code_0644
  0644:85 04              lat temp4 
  0646:18                 not 
  0647:31 5f              bnt code_06a8 
  0649:35 00              ldi 0 
  064b:a5 00              sat temp0 

        code_064d
  064d:85 04              lat temp4 
  064f:18                 not 
  0650:31 52              bnt code_06a4 
  0652:8d 00              lst temp0 
  0654:35 08              ldi 8 
  0656:22                 lt? 
  0657:31 4b              bnt code_06a4 
  0659:8d 02              lst temp2 
  065b:8d 01              lst temp1 
  065d:78               push1 
  065e:7a               push2 
  065f:8d 00              lst temp0 
  0661:35 2d              ldi 2d 
  0663:06                 mul 
  0664:36                push 
  0665:39 64            pushi 64 // $64 allTrue
  0667:43 6d 04         callk TimesCos 4 

  066a:36                push 
  066b:46 03e7 0000 02  calle 3e7 procedure_0000 2 // sign 

  0671:06                 mul 
  0672:02                 add 
  0673:65 0a             aTop x 
  0675:8d 03              lst temp3 
  0677:8d 01              lst temp1 
  0679:78               push1 
  067a:7a               push2 
  067b:8d 00              lst temp0 
  067d:35 2d              ldi 2d 
  067f:06                 mul 
  0680:36                push 
  0681:39 64            pushi 64 // $64 allTrue
  0683:43 6c 04         callk TimesSin 4 

  0686:36                push 
  0687:46 03e7 0000 02  calle 3e7 procedure_0000 2 // sign 

  068d:06                 mul 
  068e:04                 sub 
  068f:65 08             aTop y 
  0691:39 39            pushi 39 // $39 canBeHere
  0693:76               push0 
  0694:54 04             self 4 

  0696:31 06              bnt code_069e 
  0698:38 00db          pushi db // $db onControl
  069b:76               push0 
  069c:54 04             self 4 


        code_069e
  069e:a5 04              sat temp4 
  06a0:c5 00              +at temp0 
  06a2:33 a9              jmp code_064d 

        code_06a4
  06a4:c5 01              +at temp1 
  06a6:33 9c              jmp code_0644 

        code_06a8
  06a8:38 00c5          pushi c5 // $c5 posn
  06ab:7a               push2 
  06ac:67 0a             pTos x 
  06ae:67 08             pTos y 
  06b0:54 08             self 8 

  06b2:48                 ret 
    )

    (method (inRect) // method_06b3
  06b3:8f 01              lsp param1 
  06b5:63 0a             pToa x 
  06b7:24                 le? 
  06b8:31 17              bnt code_06d1 
  06ba:67 0a             pTos x 
  06bc:87 03              lap param3 
  06be:22                 lt? 
  06bf:31 10              bnt code_06d1 
  06c1:8f 02              lsp param2 
  06c3:63 08             pToa y 
  06c5:24                 le? 
  06c6:31 09              bnt code_06d1 
  06c8:67 08             pTos y 
  06ca:87 04              lap param4 
  06cc:22                 lt? 
  06cd:31 02              bnt code_06d1 
  06cf:35 01              ldi 1 

        code_06d1
  06d1:48                 ret 
    )

    (method (onControl) // method_06d2
  06d2:87 00              lap paramTotal 
  06d4:31 11              bnt code_06e7 
  06d6:87 01              lap param1 
  06d8:31 0d              bnt code_06e7 
  06da:39 03            pushi 3 // $3 y
  06dc:39 04            pushi 4 // $4 x
  06de:67 0a             pTos x 
  06e0:67 08             pTos y 
  06e2:43 52 06         callk OnControl 6 

  06e5:33 0f              jmp code_06f6 

        code_06e7
  06e7:39 05            pushi 5 // $5 view
  06e9:39 04            pushi 4 // $4 x
  06eb:67 30             pTos brLeft 
  06ed:67 2e             pTos brTop 
  06ef:67 34             pTos brRight 
  06f1:67 32             pTos brBottom 
  06f3:43 52 0a         callk OnControl a 


        code_06f6
  06f6:48                 ret 
    )

    (method (setStep) // method_06f7
  06f7:8f 00              lsp paramTotal 
  06f9:35 01              ldi 1 
  06fb:20                 ge? 
  06fc:31 0b              bnt code_0709 
  06fe:8f 01              lsp param1 
  0700:35 ff              ldi ff 
  0702:1c                 ne? 
  0703:31 04              bnt code_0709 
  0705:87 01              lap param1 
  0707:65 44             aTop xStep 

        code_0709
  0709:8f 00              lsp paramTotal 
  070b:35 02              ldi 2 
  070d:20                 ge? 
  070e:31 0b              bnt code_071b 
  0710:8f 02              lsp param2 
  0712:35 ff              ldi ff 
  0714:1c                 ne? 
  0715:31 04              bnt code_071b 
  0717:87 02              lap param2 
  0719:65 10             aTop yStep 

        code_071b
  071b:63 4c             pToa mover 
  071d:31 1d              bnt code_073c 
  071f:39 ff            pushi ff // $ff checkAni
  0721:63 4c             pToa mover 
  0723:1c                 ne? 
  0724:31 16              bnt code_073c 
  0726:39 5d            pushi 5d // $5d isMemberOf
  0728:78               push1 
  0729:51 1d            class MoveTo 
  072b:36                push 
  072c:63 4c             pToa mover 
  072e:4a 06             send 6 

  0730:31 0a              bnt code_073c 
  0732:39 57            pushi 57 // $57 init
  0734:76               push0 
  0735:39 3b            pushi 3b // $3b mover
  0737:76               push0 
  0738:54 04             self 4 

  073a:4a 04             send 4 


        code_073c
  073c:48                 ret 
    )

    (method (setDirection) // method_073d
  073d:3f 06             link 6 // (var $6)
  073f:38 00df          pushi df // $df vanishingX
  0742:76               push0 
  0743:81 02              lag gCurRoom 
  0745:4a 04             send 4 

  0747:a5 01              sat temp1 
  0749:38 00e0          pushi e0 // $e0 vanishingY
  074c:76               push0 
  074d:81 02              lag gCurRoom 
  074f:4a 04             send 4 

  0751:a5 02              sat temp2 
  0753:38 0133          pushi 133 // $133 vertAngle
  0756:76               push0 
  0757:81 02              lag gCurRoom 
  0759:4a 04             send 4 

  075b:a5 00              sat temp0 
  075d:8f 01              lsp param1 
  075f:3c                 dup 
  0760:35 00              ldi 0 
  0762:1a                 eq? 
  0763:31 0b              bnt code_0770 
  0765:38 00d3          pushi d3 // $d3 setMotion
  0768:78               push1 
  0769:76               push0 
  076a:54 06             self 6 

  076c:48                 ret 
  076d:32 0117            jmp code_0887 

        code_0770
  0770:3c                 dup 
  0771:35 01              ldi 1 
  0773:1a                 eq? 
  0774:31 51              bnt code_07c7 
  0776:85 00              lat temp0 
  0778:31 3c              bnt code_07b6 
  077a:7a               push2 
  077b:8d 00              lst temp0 
  077d:38 00ad          pushi ad // $ad distance
  0780:43 6c 04         callk TimesSin 4 

  0783:a5 03              sat temp3 
  0785:36                push 
  0786:39 03            pushi 3 // $3 y
  0788:76               push0 
  0789:81 00              lag gEgo 
  078b:4a 04             send 4 

  078d:36                push 
  078e:35 01              ldi 1 
  0790:02                 add 
  0791:06                 mul 
  0792:a5 03              sat temp3 
  0794:36                push 
  0795:7a               push2 
  0796:8d 00              lst temp0 
  0798:38 00ad          pushi ad // $ad distance
  079b:43 6d 04         callk TimesCos 4 

  079e:08                 div 
  079f:a5 03              sat temp3 
  07a1:38 00d3          pushi d3 // $d3 setMotion
  07a4:39 03            pushi 3 // $3 y
  07a6:51 1d            class MoveTo 
  07a8:36                push 
  07a9:67 0a             pTos x 
  07ab:85 03              lat temp3 
  07ad:02                 add 
  07ae:36                push 
  07af:39 ff            pushi ff // $ff checkAni
  07b1:54 0a             self a 

  07b3:48                 ret 
  07b4:33 0e              jmp code_07c4 

        code_07b6
  07b6:8d 01              lst temp1 
  07b8:63 0a             pToa x 
  07ba:04                 sub 
  07bb:a5 03              sat temp3 
  07bd:8d 02              lst temp2 
  07bf:63 08             pToa y 
  07c1:04                 sub 
  07c2:a5 04              sat temp4 

        code_07c4
  07c4:32 00c0            jmp code_0887 

        code_07c7
  07c7:3c                 dup 
  07c8:35 05              ldi 5 
  07ca:1a                 eq? 
  07cb:31 51              bnt code_081e 
  07cd:85 00              lat temp0 
  07cf:31 3d              bnt code_080e 
  07d1:7a               push2 
  07d2:8d 00              lst temp0 
  07d4:38 00ad          pushi ad // $ad distance
  07d7:43 6c 04         callk TimesSin 4 

  07da:a5 03              sat temp3 
  07dc:36                push 
  07dd:38 00be          pushi be // $be offScreenOK
  07e0:39 03            pushi 3 // $3 y
  07e2:76               push0 
  07e3:81 00              lag gEgo 
  07e5:4a 04             send 4 

  07e7:04                 sub 
  07e8:06                 mul 
  07e9:a5 03              sat temp3 
  07eb:36                push 
  07ec:7a               push2 
  07ed:8d 00              lst temp0 
  07ef:38 00ad          pushi ad // $ad distance
  07f2:43 6d 04         callk TimesCos 4 

  07f5:08                 div 
  07f6:a5 03              sat temp3 
  07f8:38 00d3          pushi d3 // $d3 setMotion
  07fb:39 03            pushi 3 // $3 y
  07fd:51 1d            class MoveTo 
  07ff:36                push 
  0800:67 0a             pTos x 
  0802:85 03              lat temp3 
  0804:04                 sub 
  0805:36                push 
  0806:38 00be          pushi be // $be offScreenOK
  0809:54 0a             self a 

  080b:48                 ret 
  080c:33 0e              jmp code_081c 

        code_080e
  080e:67 0a             pTos x 
  0810:85 01              lat temp1 
  0812:04                 sub 
  0813:a5 03              sat temp3 
  0815:67 08             pTos y 
  0817:85 02              lat temp2 
  0819:04                 sub 
  081a:a5 04              sat temp4 

        code_081c
  081c:33 69              jmp code_0887 

        code_081e
  081e:3c                 dup 
  081f:35 03              ldi 3 
  0821:1a                 eq? 
  0822:31 0b              bnt code_082f 
  0824:34 2710            ldi 2710 
  0827:a5 03              sat temp3 
  0829:35 00              ldi 0 
  082b:a5 04              sat temp4 
  082d:33 58              jmp code_0887 

        code_082f
  082f:3c                 dup 
  0830:35 07              ldi 7 
  0832:1a                 eq? 
  0833:31 0b              bnt code_0840 
  0835:34 d8f0            ldi d8f0 
  0838:a5 03              sat temp3 
  083a:35 00              ldi 0 
  083c:a5 04              sat temp4 
  083e:33 47              jmp code_0887 

        code_0840
  0840:38 00b4          pushi b4 // $b4 escaping
  0843:39 04            pushi 4 // $4 x
  0845:67 0a             pTos x 
  0847:67 08             pTos y 
  0849:8d 01              lst temp1 
  084b:8d 02              lst temp2 
  084d:43 43 08         callk GetAngle 8 

  0850:a5 05              sat temp5 
  0852:22                 lt? 
  0853:31 08              bnt code_085d 
  0855:8d 05              lst temp5 
  0857:34 0168            ldi 168 
  085a:04                 sub 
  085b:a5 05              sat temp5 

        code_085d
  085d:8d 05              lst temp5 
  085f:35 5a              ldi 5a 
  0861:02                 add 
  0862:36                push 
  0863:35 02              ldi 2 
  0865:08                 div 
  0866:36                push 
  0867:39 2d            pushi 2d // $2d client
  0869:8f 01              lsp param1 
  086b:35 02              ldi 2 
  086d:04                 sub 
  086e:06                 mul 
  086f:02                 add 
  0870:a5 05              sat temp5 
  0872:7a               push2 
  0873:8d 05              lst temp5 
  0875:39 64            pushi 64 // $64 allTrue
  0877:43 6c 04         callk TimesSin 4 

  087a:a5 03              sat temp3 
  087c:7a               push2 
  087d:8d 05              lst temp5 
  087f:39 64            pushi 64 // $64 allTrue
  0881:43 6d 04         callk TimesCos 4 

  0884:16                 neg 
  0885:a5 04              sat temp4 

        code_0887
  0887:3a                toss 

        code_0888
  0888:78               push1 
  0889:8d 04              lst temp4 
  088b:43 41 02         callk Abs 2 

  088e:36                push 
  088f:34 03e8            ldi 3e8 
  0892:22                 lt? 
  0893:31 1d              bnt code_08b2 
  0895:78               push1 
  0896:8d 03              lst temp3 
  0898:43 41 02         callk Abs 2 

  089b:36                push 
  089c:34 03e8            ldi 3e8 
  089f:22                 lt? 
  08a0:31 10              bnt code_08b2 
  08a2:8d 03              lst temp3 
  08a4:35 0a              ldi a 
  08a6:06                 mul 
  08a7:a5 03              sat temp3 
  08a9:8d 04              lst temp4 
  08ab:35 0a              ldi a 
  08ad:06                 mul 
  08ae:a5 04              sat temp4 
  08b0:33 d6              jmp code_0888 

        code_08b2
  08b2:38 00d3          pushi d3 // $d3 setMotion
  08b5:39 03            pushi 3 // $3 y
  08b7:51 1d            class MoveTo 
  08b9:36                push 
  08ba:67 0a             pTos x 
  08bc:85 03              lat temp3 
  08be:02                 add 
  08bf:36                push 
  08c0:67 08             pTos y 
  08c2:85 04              lat temp4 
  08c4:02                 add 
  08c5:36                push 
  08c6:54 0a             self a 

  08c8:48                 ret 
    )

    (method (motionCue) // method_08c9
  08c9:63 4c             pToa mover 
  08cb:31 12              bnt code_08df 
  08cd:38 009e          pushi 9e // $9e completed
  08d0:76               push0 
  08d1:63 4c             pToa mover 
  08d3:4a 04             send 4 

  08d5:31 08              bnt code_08df 
  08d7:38 00a1          pushi a1 // $a1 motionCue
  08da:76               push0 
  08db:63 4c             pToa mover 
  08dd:4a 04             send 4 


        code_08df
  08df:38 00a1          pushi a1 // $a1 motionCue
  08e2:76               push0 
  08e3:57 27 04         super Prop 4 

  08e6:48                 ret 
    )

    (method (setLoop) // method_08e7
  08e7:3f 01             link 1 // (var $1)
  08e9:8f 00              lsp paramTotal 
  08eb:35 00              ldi 0 
  08ed:1a                 eq? 
  08ee:31 0b              bnt code_08fb 
  08f0:38 00c8          pushi c8 // $c8 setLoop
  08f3:76               push0 
  08f4:57 27 04         super Prop 4 

  08f7:35 00              ldi 0 
  08f9:33 30              jmp code_092b 

        code_08fb
  08fb:78               push1 
  08fc:8f 01              lsp param1 
  08fe:43 06 02         callk IsObject 2 

  0901:18                 not 
  0902:31 0f              bnt code_0913 
  0904:38 00c8          pushi c8 // $c8 setLoop
  0907:78               push1 
  0908:8f 01              lsp param1 
  090a:59 02            &rest 2 
  090c:57 27 06         super Prop 6 

  090f:35 00              ldi 0 
  0911:33 18              jmp code_092b 

        code_0913
  0913:7a               push2 
  0914:76               push0 
  0915:87 01              lap param1 
  0917:4a 04             send 4 

  0919:36                push 
  091a:34 8000            ldi 8000 
  091d:12                 and 
  091e:31 09              bnt code_0929 
  0920:39 56            pushi 56 // $56 new
  0922:76               push0 
  0923:87 01              lap param1 
  0925:4a 04             send 4 

  0927:33 02              jmp code_092b 

        code_0929
  0929:87 01              lap param1 

        code_092b
  092b:a5 00              sat temp0 
  092d:31 17              bnt code_0946 
  092f:63 4e             pToa looper 
  0931:31 07              bnt code_093a 
  0933:39 58            pushi 58 // $58 dispose
  0935:76               push0 
  0936:63 4e             pToa looper 
  0938:4a 04             send 4 


        code_093a
  093a:39 57            pushi 57 // $57 init
  093c:78               push1 
  093d:7c            pushSelf 
  093e:59 02            &rest 2 
  0940:85 00              lat temp0 
  0942:65 4e             aTop looper 
  0944:4a 06             send 6 


        code_0946
  0946:48                 ret 
    )

)

// 0cb8
(class Blk of Obj
    (properties
        top $0
        left $0
        bottom $0
        right $0
    )
    (method (doit) // method_0947
  0947:39 15            pushi 15 // $15 brBottom
  0949:76               push0 
  094a:87 01              lap param1 
  094c:4a 04             send 4 

  094e:36                push 
  094f:63 08             pToa top 
  0951:24                 le? 
  0952:2f 27               bt code_097b 
  0954:39 13            pushi 13 // $13 brTop
  0956:76               push0 
  0957:87 01              lap param1 
  0959:4a 04             send 4 

  095b:36                push 
  095c:63 0c             pToa bottom 
  095e:1e                 gt? 
  095f:2f 1a               bt code_097b 
  0961:39 16            pushi 16 // $16 brRight
  0963:76               push0 
  0964:87 01              lap param1 
  0966:4a 04             send 4 

  0968:36                push 
  0969:63 0a             pToa left 
  096b:22                 lt? 
  096c:2f 0d               bt code_097b 
  096e:39 14            pushi 14 // $14 brLeft
  0970:76               push0 
  0971:87 01              lap param1 
  0973:4a 04             send 4 

  0975:36                push 
  0976:63 0e             pToa right 
  0978:20                 ge? 
  0979:31 02              bnt code_097d 

        code_097b
  097b:35 01              ldi 1 

        code_097d
  097d:48                 ret 
    )

)

// 0cec
(class Cage of Blk
    (properties
        top $0
        left $0
        bottom $0
        right $0
    )
    (method (doit) // method_097e
  097e:39 13            pushi 13 // $13 brTop
  0980:76               push0 
  0981:87 01              lap param1 
  0983:4a 04             send 4 

  0985:36                push 
  0986:63 08             pToa top 
  0988:20                 ge? 
  0989:31 29              bnt code_09b4 
  098b:39 14            pushi 14 // $14 brLeft
  098d:76               push0 
  098e:87 01              lap param1 
  0990:4a 04             send 4 

  0992:36                push 
  0993:63 0a             pToa left 
  0995:20                 ge? 
  0996:31 1c              bnt code_09b4 
  0998:39 15            pushi 15 // $15 brBottom
  099a:76               push0 
  099b:87 01              lap param1 
  099d:4a 04             send 4 

  099f:36                push 
  09a0:63 0c             pToa bottom 
  09a2:24                 le? 
  09a3:31 0f              bnt code_09b4 
  09a5:39 16            pushi 16 // $16 brRight
  09a7:76               push0 
  09a8:87 01              lap param1 
  09aa:4a 04             send 4 

  09ac:36                push 
  09ad:63 0e             pToa right 
  09af:24                 le? 
  09b0:31 02              bnt code_09b4 
  09b2:35 01              ldi 1 

        code_09b4
  09b4:48                 ret 
  09b5:00                bnot 
    )

)



