(script 304)

(string
    string_055a "Clarence"
    string_0563 "ClarsEyes"
    string_056d "Eyes"
    string_0572 "Hand"
    string_0577 "Mouth"
    string_057d "Torso"
    string_0583 "myMusic"
    string_058b "scene38e"
    string_0594 "twice"
)

(said
)

(local
    local0 = $0000
)

// 02e4
(instance Clarence 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
    )
)

// 0332
(instance Torso 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
    )
)

// 0380
(instance Eyes 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
    )
)

// 03ce
(instance Mouth 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
    )
)

// 041c
(instance Hand of Act
    (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
    )
)

// 0480
(instance myMusic of Sound
    (properties
        state $0
        number $0
        priority $0
        loop $1
        handle $0
        signal $0
        prevSignal $0
        client $0
        owner $0
    )
)

// 04aa
(instance public scene38e of Rm
    (properties
        script $0
        number $0
        timer $0
        keep $0
        initialized $0
        picture $3e
        style $7
        horizon $0
        controls $0
        north $0
        east $0
        south $0
        west $0
        curPic $0
        picAngle $0
        vanishingX $a0
        vanishingY $8ad0
        vertAngle $0
    )
    (method (init) // method_000c
  000c:39 57            pushi 57 // $57 init
  000e:76               push0 
  000f:57 37 04         super Rm 4 

  0012:7a               push2 
  0013:38 0087          pushi 87 // $87 clean
  0016:39 29            pushi 29 // $29 edit
  0018:43 00 04         callk Load 4 

  001b:7a               push2 
  001c:38 008f          pushi 8f // $8f moveTo
  001f:38 0196          pushi 196 // $196 sel_406
  0022:45 15 04         callb procedure_0015 4 // LoadMany 

  0025:7a               push2 
  0026:38 0080          pushi 80 // $80 timeLeft
  0029:38 0282          pushi 282 // $282 sel_642
  002c:43 00 04         callk Load 4 

  002f:39 05            pushi 5 // $5 view
  0031:38 0084          pushi 84 // $84 stop
  0034:39 1d            pushi 1d // $1d back
  0036:39 5e            pushi 5e // $5e respondsTo
  0038:39 5f            pushi 5f // $5f yourself
  003a:39 60            pushi 60 // $60 size
  003c:45 15 0a         callb procedure_0015 a // LoadMany 

  003f:76               push0 
  0040:45 03 00         callb procedure_0003 0 // HandsOff 

  0043:39 2b            pushi 2b // $2b number
  0045:78               push1 
  0046:39 1b            pushi 1b // $1b elements
  0048:39 06            pushi 6 // $6 loop
  004a:78               push1 
  004b:39 ff            pushi ff // $ff checkAni
  004d:39 2a            pushi 2a // $2a play
  004f:76               push0 
  0050:72 0433          lofsa $0486 // myMusic
  0053:4a 10             send 10 

  0055:39 05            pushi 5 // $5 view
  0057:78               push1 
  0058:38 019f          pushi 19f // $19f sel_415
  005b:39 06            pushi 6 // $6 loop
  005d:78               push1 
  005e:76               push0 
  005f:39 07            pushi 7 // $7 cel
  0061:78               push1 
  0062:76               push0 
  0063:38 00c5          pushi c5 // $c5 posn
  0066:7a               push2 
  0067:39 67            pushi 67 // $67 first
  0069:39 56            pushi 56 // $56 new
  006b:39 42            pushi 42 // $42 setPri
  006d:78               push1 
  006e:78               push1 
  006f:39 57            pushi 57 // $57 init
  0071:76               push0 
  0072:72 0275          lofsa $02ea // Clarence
  0075:4a 24             send 24 

  0077:39 05            pushi 5 // $5 view
  0079:78               push1 
  007a:38 019f          pushi 19f // $19f sel_415
  007d:39 06            pushi 6 // $6 loop
  007f:78               push1 
  0080:78               push1 
  0081:39 07            pushi 7 // $7 cel
  0083:78               push1 
  0084:76               push0 
  0085:38 00c5          pushi c5 // $c5 posn
  0088:7a               push2 
  0089:39 67            pushi 67 // $67 first
  008b:39 6b            pushi 6b // $6b addToFront
  008d:39 42            pushi 42 // $42 setPri
  008f:78               push1 
  0090:78               push1 
  0091:38 00c9          pushi c9 // $c9 ignoreActors
  0094:78               push1 
  0095:78               push1 
  0096:39 57            pushi 57 // $57 init
  0098:76               push0 
  0099:72 029c          lofsa $0338 // Torso
  009c:4a 2a             send 2a 

  009e:39 05            pushi 5 // $5 view
  00a0:78               push1 
  00a1:38 019f          pushi 19f // $19f sel_415
  00a4:39 06            pushi 6 // $6 loop
  00a6:78               push1 
  00a7:7a               push2 
  00a8:39 07            pushi 7 // $7 cel
  00aa:78               push1 
  00ab:76               push0 
  00ac:38 00c5          pushi c5 // $c5 posn
  00af:7a               push2 
  00b0:39 63            pushi 63 // $63 firstTrue
  00b2:39 43            pushi 43 // $43 at
  00b4:39 42            pushi 42 // $42 setPri
  00b6:78               push1 
  00b7:7a               push2 
  00b8:39 7a            pushi 7a // $7a setScript
  00ba:78               push1 
  00bb:74 046e          lofss $052c // ClarsEyes
  00be:39 57            pushi 57 // $57 init
  00c0:76               push0 
  00c1:72 02c2          lofsa $0386 // Eyes
  00c4:4a 2a             send 2a 

  00c6:39 05            pushi 5 // $5 view
  00c8:78               push1 
  00c9:38 019f          pushi 19f // $19f sel_415
  00cc:39 06            pushi 6 // $6 loop
  00ce:78               push1 
  00cf:39 06            pushi 6 // $6 loop
  00d1:39 07            pushi 7 // $7 cel
  00d3:78               push1 
  00d4:76               push0 
  00d5:38 00c5          pushi c5 // $c5 posn
  00d8:7a               push2 
  00d9:39 63            pushi 63 // $63 firstTrue
  00db:39 55            pushi 55 // $55 z
  00dd:39 42            pushi 42 // $42 setPri
  00df:78               push1 
  00e0:7a               push2 
  00e1:39 57            pushi 57 // $57 init
  00e3:76               push0 
  00e4:38 0089          pushi 89 // $89 hide
  00e7:76               push0 
  00e8:72 02e9          lofsa $03d4 // Mouth
  00eb:4a 28             send 28 

  00ed:39 05            pushi 5 // $5 view
  00ef:78               push1 
  00f0:38 019f          pushi 19f // $19f sel_415
  00f3:38 00c8          pushi c8 // $c8 setLoop
  00f6:78               push1 
  00f7:39 07            pushi 7 // $7 cel
  00f9:38 00a2          pushi a2 // $a2 setCel
  00fc:78               push1 
  00fd:76               push0 
  00fe:39 42            pushi 42 // $42 setPri
  0100:78               push1 
  0101:39 03            pushi 3 // $3 y
  0103:39 37            pushi 37 // $37 yStep
  0105:78               push1 
  0106:39 05            pushi 5 // $5 view
  0108:38 00c5          pushi c5 // $c5 posn
  010b:7a               push2 
  010c:39 47            pushi 47 // $47 wordFail
  010e:38 008e          pushi 8e // $8e move
  0111:39 57            pushi 57 // $57 init
  0113:76               push0 
  0114:38 0089          pushi 89 // $89 hide
  0117:76               push0 
  0118:72 0307          lofsa $0422 // Hand
  011b:4a 2e             send 2e 

  011d:39 7a            pushi 7a // $7a setScript
  011f:78               push1 
  0120:74 03d9          lofss $04fc // twice
  0123:54 06             self 6 

  0125:48                 ret 
    )

    (method (doit) // method_0126
  0126:39 3c            pushi 3c // $3c doit
  0128:76               push0 
  0129:57 37 04         super Rm 4 

  012c:48                 ret 
    )

    (method (dispose) // method_012d
  012d:39 58            pushi 58 // $58 dispose
  012f:76               push0 
  0130:57 37 04         super Rm 4 

  0133:48                 ret 
    )

    (method (handleEvent) // method_0134
  0134:39 6f            pushi 6f // $6f handleEvent
  0136:78               push1 
  0137:8f 01              lsp param1 
  0139:57 37 06         super Rm 6 

  013c:48                 ret 
    )

)

// 04f6
(instance twice of Script
    (properties
        client $0
        state $ffff
        start $0
        timer $0
        cycles $0
        seconds $0
        lastSeconds $0
        register $0
        script $0
        caller $0
    )
    (method (changeState) // method_013d
  013d:87 01              lap param1 
  013f:65 0a             aTop state 
  0141:36                push 
  0142:3c                 dup 
  0143:35 00              ldi 0 
  0145:1a                 eq? 
  0146:31 41              bnt code_0189 
  0148:80 00d8            lag global216 
  014b:18                 not 
  014c:31 06              bnt code_0154 
  014e:35 ff              ldi ff 
  0150:65 0a             aTop state 
  0152:33 2e              jmp code_0182 

        code_0154
  0154:89 76              lsg gMustDos 
  0156:35 08              ldi 8 
  0158:12                 and 
  0159:18                 not 
  015a:31 1b              bnt code_0177 
  015c:89 76              lsg gMustDos 
  015e:35 08              ldi 8 
  0160:14                  or 
  0161:a1 76              sag gMustDos 
  0163:39 7a            pushi 7a // $7a setScript
  0165:78               push1 
  0166:7a               push2 
  0167:38 0196          pushi 196 // $196 sel_406
  016a:76               push0 
  016b:43 02 04         callk ScriptID 4 

  016e:36                push 
  016f:54 06             self 6 

  0171:35 ff              ldi ff 
  0173:65 0a             aTop state 
  0175:33 0b              jmp code_0182 

        code_0177
  0177:39 76            pushi 76 // $76 script
  0179:76               push0 
  017a:54 04             self 4 

  017c:31 04              bnt code_0182 
  017e:35 ff              ldi ff 
  0180:65 0a             aTop state 

        code_0182
  0182:35 01              ldi 1 
  0184:65 10             aTop cycles 
  0186:32 0100            jmp code_0289 

        code_0189
  0189:3c                 dup 
  018a:35 01              ldi 1 
  018c:1a                 eq? 
  018d:31 2c              bnt code_01bb 
  018f:39 05            pushi 5 // $5 view
  0191:38 0130          pushi 130 // $130 loopIndex
  0194:76               push0 
  0195:39 46            pushi 46 // $46 width
  0197:38 00e6          pushi e6 // $e6 prompt
  019a:39 58            pushi 58 // $58 dispose
  019c:46 00ff 0000 0a  calle ff procedure_0000 a // Print 

  01a2:38 00ca          pushi ca // $ca show
  01a5:76               push0 
  01a6:38 00d3          pushi d3 // $d3 setMotion
  01a9:39 04            pushi 4 // $4 x
  01ab:51 1d            class MoveTo 
  01ad:36                push 
  01ae:39 5d            pushi 5d // $5d isMemberOf
  01b0:39 78            pushi 78 // $78 changeState
  01b2:7c            pushSelf 
  01b3:72 026c          lofsa $0422 // Hand
  01b6:4a 10             send 10 

  01b8:32 00ce            jmp code_0289 

        code_01bb
  01bb:3c                 dup 
  01bc:35 02              ldi 2 
  01be:1a                 eq? 
  01bf:31 33              bnt code_01f4 
  01c1:38 0089          pushi 89 // $89 hide
  01c4:76               push0 
  01c5:72 01be          lofsa $0386 // Eyes
  01c8:4a 04             send 4 

  01ca:38 00a3          pushi a3 // $a3 startUpd
  01cd:76               push0 
  01ce:39 7e            pushi 7e // $7e setCycle
  01d0:78               push1 
  01d1:51 1a            class End 
  01d3:36                push 
  01d4:72 0113          lofsa $02ea // Clarence
  01d7:4a 0a             send a 

  01d9:39 7e            pushi 7e // $7e setCycle
  01db:78               push1 
  01dc:51 1a            class End 
  01de:36                push 
  01df:38 00d3          pushi d3 // $d3 setMotion
  01e2:39 04            pushi 4 // $4 x
  01e4:51 1d            class MoveTo 
  01e6:36                push 
  01e7:39 5f            pushi 5f // $5f yourself
  01e9:39 6c            pushi 6c // $6c addToEnd
  01eb:7c            pushSelf 
  01ec:72 0233          lofsa $0422 // Hand
  01ef:4a 12             send 12 

  01f1:32 0095            jmp code_0289 

        code_01f4
  01f4:3c                 dup 
  01f5:35 03              ldi 3 
  01f7:1a                 eq? 
  01f8:31 1e              bnt code_0218 
  01fa:38 00c6          pushi c6 // $c6 stopUpd
  01fd:76               push0 
  01fe:72 0221          lofsa $0422 // Hand
  0201:4a 04             send 4 

  0203:38 00ca          pushi ca // $ca show
  0206:76               push0 
  0207:39 7e            pushi 7e // $7e setCycle
  0209:78               push1 
  020a:51 16            class Fwd 
  020c:36                push 
  020d:72 01c4          lofsa $03d4 // Mouth
  0210:4a 0a             send a 

  0212:35 04              ldi 4 
  0214:65 10             aTop cycles 
  0216:33 71              jmp code_0289 

        code_0218
  0218:3c                 dup 
  0219:35 04              ldi 4 
  021b:1a                 eq? 
  021c:31 2e              bnt code_024c 
  021e:38 0089          pushi 89 // $89 hide
  0221:76               push0 
  0222:72 01af          lofsa $03d4 // Mouth
  0225:4a 04             send 4 

  0227:39 7e            pushi 7e // $7e setCycle
  0229:78               push1 
  022a:51 1b            class Beg 
  022c:36                push 
  022d:72 00ba          lofsa $02ea // Clarence
  0230:4a 06             send 6 

  0232:39 7e            pushi 7e // $7e setCycle
  0234:78               push1 
  0235:51 1b            class Beg 
  0237:36                push 
  0238:38 00d3          pushi d3 // $d3 setMotion
  023b:39 04            pushi 4 // $4 x
  023d:51 1d            class MoveTo 
  023f:36                push 
  0240:39 5d            pushi 5d // $5d isMemberOf
  0242:39 78            pushi 78 // $78 changeState
  0244:7c            pushSelf 
  0245:72 01da          lofsa $0422 // Hand
  0248:4a 12             send 12 

  024a:33 3d              jmp code_0289 

        code_024c
  024c:3c                 dup 
  024d:35 05              ldi 5 
  024f:1a                 eq? 
  0250:31 27              bnt code_0279 
  0252:38 00ca          pushi ca // $ca show
  0255:76               push0 
  0256:72 012d          lofsa $0386 // Eyes
  0259:4a 04             send 4 

  025b:38 00c6          pushi c6 // $c6 stopUpd
  025e:76               push0 
  025f:72 0088          lofsa $02ea // Clarence
  0262:4a 04             send 4 

  0264:38 00d3          pushi d3 // $d3 setMotion
  0267:39 04            pushi 4 // $4 x
  0269:51 1d            class MoveTo 
  026b:36                push 
  026c:39 47            pushi 47 // $47 wordFail
  026e:38 008e          pushi 8e // $8e move
  0271:7c            pushSelf 
  0272:72 01ad          lofsa $0422 // Hand
  0275:4a 0c             send c 

  0277:33 10              jmp code_0289 

        code_0279
  0279:3c                 dup 
  027a:35 06              ldi 6 
  027c:1a                 eq? 
  027d:31 0a              bnt code_0289 
  027f:38 00f8          pushi f8 // $f8 newRoom
  0282:78               push1 
  0283:89 0c              lsg gPrevRoomNum 
  0285:81 02              lag gCurRoom 
  0287:4a 06             send 6 


        code_0289
  0289:3a                toss 
  028a:48                 ret 
    )

)

// 0526
(instance ClarsEyes of Script
    (properties
        client $0
        state $ffff
        start $0
        timer $0
        cycles $0
        seconds $0
        lastSeconds $0
        register $0
        script $0
        caller $0
    )
    (method (changeState) // method_028b
  028b:87 01              lap param1 
  028d:65 0a             aTop state 
  028f:36                push 
  0290:3c                 dup 
  0291:35 00              ldi 0 
  0293:1a                 eq? 
  0294:31 46              bnt code_02dc 
  0296:39 07            pushi 7 // $7 cel
  0298:78               push1 
  0299:39 07            pushi 7 // $7 cel
  029b:76               push0 
  029c:72 00e7          lofsa $0386 // Eyes
  029f:4a 04             send 4 

  02a1:36                push 
  02a2:35 01              ldi 1 
  02a4:10                 xor 
  02a5:36                push 
  02a6:38 00c7          pushi c7 // $c7 forceUpd
  02a9:76               push0 
  02aa:72 00d9          lofsa $0386 // Eyes
  02ad:4a 0a             send a 

  02af:35 ff              ldi ff 
  02b1:65 0a             aTop state 
  02b3:39 07            pushi 7 // $7 cel
  02b5:76               push0 
  02b6:72 00cd          lofsa $0386 // Eyes
  02b9:4a 04             send 4 

  02bb:31 16              bnt code_02d3 
  02bd:39 06            pushi 6 // $6 loop
  02bf:78               push1 
  02c0:7a               push2 
  02c1:7a               push2 
  02c2:39 05            pushi 5 // $5 view
  02c4:43 40 04         callk Random 4 

  02c7:36                push 
  02c8:72 00bb          lofsa $0386 // Eyes
  02cb:4a 06             send 6 

  02cd:35 02              ldi 2 
  02cf:65 10             aTop cycles 
  02d1:33 09              jmp code_02dc 

        code_02d3
  02d3:7a               push2 
  02d4:78               push1 
  02d5:39 03            pushi 3 // $3 y
  02d7:43 40 04         callk Random 4 

  02da:65 12             aTop seconds 

        code_02dc
  02dc:3a                toss 
  02dd:48                 ret 
    )

)



