723 lines
10 KiB
Plaintext
723 lines
10 KiB
Plaintext
PAvoider::init:
|
|
lsp param[$0]
|
|
ldi $1
|
|
ge?
|
|
bnt code_0043
|
|
lap param[$1]
|
|
aTop client
|
|
code_0043: ret
|
|
|
|
PAvoider::dispose:
|
|
pToa oldBlockerMover
|
|
bnt code_004f
|
|
pushi $95 ; 149, dispose
|
|
push0
|
|
send $4
|
|
bnot
|
|
code_004f: pushi $95 ; 149, dispose
|
|
push0
|
|
super Code, $4
|
|
bnot
|
|
ret
|
|
|
|
PAvoider::doit:
|
|
link $18
|
|
pushi $44 ; 68, 'D', mover
|
|
push0
|
|
pToa client
|
|
send $4
|
|
bnot
|
|
sat temp[$9]
|
|
pToa oldBlocker
|
|
bnt code_00d4
|
|
pushi $165 ; 357, distanceTo
|
|
push1
|
|
push
|
|
pToa client
|
|
send $6
|
|
bnot
|
|
push
|
|
ldi $14 ; 20, nsRight
|
|
ge?
|
|
bnt code_00d4
|
|
pushi $197 ; 407, ignoreActors
|
|
push1
|
|
push0
|
|
pToa oldBlocker
|
|
send $6
|
|
bnot
|
|
pToa oldBlockerMover
|
|
bnt code_008f
|
|
pushi $44 ; 68, 'D', mover
|
|
push1
|
|
push
|
|
pToa oldBlocker
|
|
send $6
|
|
bnot
|
|
code_008f: ldi $9d ; 157, eachElementDo
|
|
aTop oldMoverX
|
|
aTop oldMoverY
|
|
ldi $0
|
|
aTop oldBlockerMover
|
|
aTop oldBlocker
|
|
lat temp[$9]
|
|
bnt code_00d4
|
|
pushi $16d ; 365, obstacles
|
|
push0
|
|
send $4
|
|
bnot
|
|
bnt code_00d4
|
|
pushi $a4 ; 164, isEmpty
|
|
push0
|
|
pushi $16d ; 365, obstacles
|
|
push0
|
|
lat temp[$9]
|
|
send $4
|
|
bnot
|
|
send $4
|
|
bnot
|
|
bnt code_00d4
|
|
pushi $95 ; 149, dispose
|
|
push0
|
|
pushi $16d ; 365, obstacles
|
|
push0
|
|
lat temp[$9]
|
|
send $4
|
|
bnot
|
|
send $4
|
|
bnot
|
|
pushi $16d ; 365, obstacles
|
|
push1
|
|
push0
|
|
lat temp[$9]
|
|
send $6
|
|
bnot
|
|
code_00d4: pushi $44 ; 68, 'D', mover
|
|
push0
|
|
pToa client
|
|
send $4
|
|
bnot
|
|
sat temp[$9]
|
|
bnt code_0476
|
|
pushi $45 ; 69, 'E', doit
|
|
push0
|
|
send $4
|
|
bnot
|
|
sat temp[$4]
|
|
bnt code_0476
|
|
pushi $154 ; 340, completed
|
|
push0
|
|
lat temp[$9]
|
|
send $4
|
|
bnot
|
|
not
|
|
bnt code_0476
|
|
pushi $97 ; 151, isKindOf
|
|
push1
|
|
class PolyPath
|
|
push
|
|
lat temp[$9]
|
|
send $6
|
|
bnot
|
|
bnt code_0476
|
|
pushi $99 ; 153, respondsTo
|
|
push1
|
|
pushi $44 ; 68, 'D', mover
|
|
lat temp[$4]
|
|
send $6
|
|
bnot
|
|
bnt code_012e
|
|
pushi $44 ; 68, 'D', mover
|
|
push0
|
|
lat temp[$4]
|
|
send $4
|
|
bnot
|
|
aTop oldBlockerMover
|
|
pToa oldBlockerMover
|
|
bnt code_0132
|
|
pushi $44 ; 68, 'D', mover
|
|
push1
|
|
push0
|
|
lat temp[$4]
|
|
send $6
|
|
bnot
|
|
jmp code_0132
|
|
|
|
code_012e: ldi $0
|
|
aTop oldBlockerMover
|
|
code_0132: pushi $173 ; 371, finalX
|
|
push0
|
|
lat temp[$9]
|
|
send $4
|
|
bnot
|
|
aTop oldMoverX
|
|
pushi $174 ; 372, finalY
|
|
push0
|
|
lat temp[$9]
|
|
send $4
|
|
bnot
|
|
aTop oldMoverY
|
|
lat temp[$4]
|
|
aTop oldBlocker
|
|
pushi $197 ; 407, ignoreActors
|
|
push1
|
|
push1
|
|
send $6
|
|
bnot
|
|
pushi $1c ; 28, brLeft
|
|
push0
|
|
lat temp[$4]
|
|
send $4
|
|
bnot
|
|
push
|
|
push2
|
|
pushi $3f ; 63, '?', xStep
|
|
push0
|
|
pToa client
|
|
send $4
|
|
bnot
|
|
mul
|
|
push
|
|
push2
|
|
pushi $3 ; z
|
|
pushi $e ; 14, view
|
|
push0
|
|
pToa client
|
|
send $4
|
|
bnot
|
|
push
|
|
push2
|
|
push0
|
|
callk kernel_28, $6
|
|
bnot
|
|
push
|
|
pushi $3 ; z
|
|
pushi $e ; 14, view
|
|
push0
|
|
pToa client
|
|
send $4
|
|
bnot
|
|
push
|
|
push0
|
|
push0
|
|
callk kernel_28, $6
|
|
bnot
|
|
push
|
|
calle export60025_3, $4
|
|
bnot
|
|
push
|
|
ldi $2
|
|
div
|
|
add
|
|
sat temp[$2]
|
|
sub
|
|
sat temp[$5]
|
|
push2
|
|
pushi $40 ; 64, '@', yStep
|
|
push0
|
|
lat temp[$4]
|
|
send $4
|
|
bnot
|
|
mul
|
|
sat temp[$3]
|
|
pushi $1e ; 30, brRight
|
|
push0
|
|
lat temp[$4]
|
|
send $4
|
|
bnot
|
|
push
|
|
lat temp[$2]
|
|
add
|
|
sat temp[$7]
|
|
push2
|
|
push0
|
|
lat temp[$4]
|
|
send $4
|
|
bnot
|
|
push
|
|
lat temp[$3]
|
|
add
|
|
push
|
|
ldi $2
|
|
add
|
|
sat temp[$8]
|
|
push
|
|
lat temp[$6]
|
|
sub
|
|
push
|
|
ldi $3 ; z
|
|
le?
|
|
bnt code_01e1
|
|
lst temp[$6]
|
|
ldi $2
|
|
sub
|
|
sat temp[$6]
|
|
lst temp[$8]
|
|
ldi $2
|
|
add
|
|
sat temp[$8]
|
|
code_01e1: pushi $173 ; 371, finalX
|
|
push0
|
|
lat temp[$9]
|
|
send $4
|
|
bnot
|
|
push
|
|
push1
|
|
push0
|
|
pToa client
|
|
send $4
|
|
bnot
|
|
sub
|
|
sat temp[$0]
|
|
pushi $174 ; 372, finalY
|
|
push0
|
|
lat temp[$9]
|
|
send $4
|
|
bnot
|
|
push
|
|
push2
|
|
push0
|
|
pToa client
|
|
send $4
|
|
bnot
|
|
sub
|
|
sat temp[$1]
|
|
pushi $43 ; 67, 'C', heading
|
|
push0
|
|
pToa client
|
|
send $4
|
|
bnot
|
|
sat temp[$17]
|
|
pushi $55 ; 85, 'U', button
|
|
le?
|
|
bnt code_0224
|
|
pprev
|
|
ldi $5f ; 95, '_', min
|
|
le?
|
|
bnt code_0224
|
|
ldi $0
|
|
sat temp[$e]
|
|
jmp code_024a
|
|
|
|
code_0224: pushi $109 ; 265, timeLeft
|
|
lat temp[$17]
|
|
le?
|
|
bnt code_0239
|
|
pprev
|
|
ldi $113 ; 275, mul
|
|
le?
|
|
bnt code_0239
|
|
ldi $1
|
|
sat temp[$e]
|
|
jmp code_024a
|
|
|
|
code_0239: lst temp[$1]
|
|
ldi $0
|
|
ge?
|
|
bnt code_0246
|
|
ldi $2
|
|
sat temp[$e]
|
|
jmp code_024a
|
|
|
|
code_0246: ldi $3 ; z
|
|
sat temp[$e]
|
|
code_024a: lst temp[$e]
|
|
dup
|
|
ldi $3 ; z
|
|
eq?
|
|
bnt code_0298
|
|
pushi $94 ; 148, init
|
|
pushi $a ; 10, inTop
|
|
lst temp[$5]
|
|
push2
|
|
push0
|
|
pToa client
|
|
send $4
|
|
bnot
|
|
push
|
|
lst temp[$5]
|
|
lst temp[$6]
|
|
lst temp[$7]
|
|
lst temp[$6]
|
|
lst temp[$7]
|
|
push2
|
|
push0
|
|
pToa client
|
|
send $4
|
|
bnot
|
|
push
|
|
pushi $7777 ; 30583
|
|
push0
|
|
pushi $2b ; 43, '+', type
|
|
push1
|
|
push2
|
|
pushi $20 ; 32, ' ', name
|
|
push1
|
|
lofsa string_0028 ; "isBlockedPoly"
|
|
push
|
|
pushi $9a ; 154, yourself
|
|
push0
|
|
pushi $8d ; 141, new
|
|
push0
|
|
class Polygon
|
|
send $4
|
|
bnot
|
|
send $28
|
|
bnot
|
|
sat temp[$11]
|
|
jmp code_0378
|
|
|
|
code_0298: dup
|
|
ldi $2
|
|
eq?
|
|
bnt code_02e4
|
|
pushi $94 ; 148, init
|
|
pushi $a ; 10, inTop
|
|
lst temp[$7]
|
|
push2
|
|
push0
|
|
pToa client
|
|
send $4
|
|
bnot
|
|
push
|
|
lst temp[$7]
|
|
lst temp[$8]
|
|
lst temp[$5]
|
|
lst temp[$8]
|
|
lst temp[$5]
|
|
push2
|
|
push0
|
|
pToa client
|
|
send $4
|
|
bnot
|
|
push
|
|
pushi $7777 ; 30583
|
|
push0
|
|
pushi $2b ; 43, '+', type
|
|
push1
|
|
push2
|
|
pushi $20 ; 32, ' ', name
|
|
push1
|
|
lofsa string_0028 ; "isBlockedPoly"
|
|
push
|
|
pushi $9a ; 154, yourself
|
|
push0
|
|
pushi $8d ; 141, new
|
|
push0
|
|
class Polygon
|
|
send $4
|
|
bnot
|
|
send $28
|
|
bnot
|
|
sat temp[$11]
|
|
jmp code_0378
|
|
|
|
code_02e4: dup
|
|
ldi $0
|
|
eq?
|
|
bnt code_032f
|
|
pushi $94 ; 148, init
|
|
pushi $a ; 10, inTop
|
|
push1
|
|
push0
|
|
pToa client
|
|
send $4
|
|
bnot
|
|
push
|
|
lst temp[$6]
|
|
lst temp[$7]
|
|
lst temp[$6]
|
|
lst temp[$7]
|
|
lst temp[$8]
|
|
push1
|
|
push0
|
|
pToa client
|
|
send $4
|
|
bnot
|
|
push
|
|
lst temp[$8]
|
|
pushi $7777 ; 30583
|
|
push0
|
|
pushi $2b ; 43, '+', type
|
|
push1
|
|
push2
|
|
pushi $20 ; 32, ' ', name
|
|
push1
|
|
lofsa string_0028 ; "isBlockedPoly"
|
|
push
|
|
pushi $9a ; 154, yourself
|
|
push0
|
|
pushi $8d ; 141, new
|
|
push0
|
|
class Polygon
|
|
send $4
|
|
bnot
|
|
send $28
|
|
bnot
|
|
sat temp[$11]
|
|
jmp code_0378
|
|
|
|
code_032f: dup
|
|
ldi $1
|
|
eq?
|
|
bnt code_0378
|
|
pushi $94 ; 148, init
|
|
pushi $a ; 10, inTop
|
|
push1
|
|
push0
|
|
pToa client
|
|
send $4
|
|
bnot
|
|
push
|
|
lst temp[$8]
|
|
lst temp[$5]
|
|
lst temp[$8]
|
|
lst temp[$5]
|
|
lst temp[$6]
|
|
push1
|
|
push0
|
|
pToa client
|
|
send $4
|
|
bnot
|
|
push
|
|
lst temp[$6]
|
|
pushi $7777 ; 30583
|
|
push0
|
|
pushi $2b ; 43, '+', type
|
|
push1
|
|
push2
|
|
pushi $20 ; 32, ' ', name
|
|
push1
|
|
lofsa string_0028 ; "isBlockedPoly"
|
|
push
|
|
pushi $9a ; 154, yourself
|
|
push0
|
|
pushi $8d ; 141, new
|
|
push0
|
|
class Polygon
|
|
send $4
|
|
bnot
|
|
send $28
|
|
bnot
|
|
sat temp[$11]
|
|
code_0378: toss
|
|
pushi $16d ; 365, obstacles
|
|
push0
|
|
lat temp[$9]
|
|
send $4
|
|
bnot
|
|
not
|
|
bnt code_0398
|
|
pushi $16d ; 365, obstacles
|
|
push1
|
|
pushi $8d ; 141, new
|
|
push0
|
|
class List
|
|
send $4
|
|
bnot
|
|
push
|
|
lat temp[$9]
|
|
send $6
|
|
bnot
|
|
code_0398: pushi $3 ; z
|
|
pushi $5b ; 91, '[', points
|
|
push0
|
|
lat temp[$11]
|
|
send $4
|
|
bnot
|
|
push
|
|
pushi $24 ; 36, '$', elements
|
|
push0
|
|
pushi $16d ; 365, obstacles
|
|
push0
|
|
lat temp[$9]
|
|
send $4
|
|
bnot
|
|
send $4
|
|
bnot
|
|
push
|
|
pushi $5a ; 90, 'Z', size
|
|
push0
|
|
pushi $16d ; 365, obstacles
|
|
push0
|
|
lat temp[$9]
|
|
send $4
|
|
bnot
|
|
send $4
|
|
bnot
|
|
push
|
|
callk kernel_102, $6
|
|
bnot
|
|
sat temp[$10]
|
|
bnt code_03f1
|
|
pushi $5b ; 91, '[', points
|
|
push1
|
|
push
|
|
pushi $5a ; 90, 'Z', size
|
|
push1
|
|
push1
|
|
push
|
|
call code_0476, $2
|
|
bnot
|
|
push
|
|
pushi $2b ; 43, '+', type
|
|
push1
|
|
push2
|
|
pushi $16e ; 366, dynamic
|
|
push1
|
|
push1
|
|
pushi $8d ; 141, new
|
|
push0
|
|
class Polygon
|
|
send $4
|
|
bnot
|
|
sat temp[$f]
|
|
send $18
|
|
bnot
|
|
code_03f1: pushi $9f ; 159, add
|
|
push1
|
|
lst temp[$f]
|
|
pushi $16d ; 365, obstacles
|
|
push0
|
|
lat temp[$9]
|
|
send $4
|
|
bnot
|
|
send $6
|
|
bnot
|
|
pushi $51 ; 81, 'Q', value
|
|
push1
|
|
push2
|
|
pushi $94 ; 148, init
|
|
pushi $3 ; z
|
|
pTos client
|
|
pushi $173 ; 371, finalX
|
|
push0
|
|
lat temp[$9]
|
|
send $4
|
|
bnot
|
|
push
|
|
pushi $174 ; 372, finalY
|
|
push0
|
|
lat temp[$9]
|
|
send $4
|
|
bnot
|
|
push
|
|
lat temp[$9]
|
|
send $10
|
|
bnot
|
|
pushi $58 ; 88, 'X', delete
|
|
push1
|
|
lst temp[$f]
|
|
pushi $16d ; 365, obstacles
|
|
push0
|
|
lat temp[$9]
|
|
send $4
|
|
bnot
|
|
send $6
|
|
bnot
|
|
pushi $58 ; 88, 'X', delete
|
|
push1
|
|
lst temp[$11]
|
|
pushi $16d ; 365, obstacles
|
|
push0
|
|
lat temp[$9]
|
|
send $4
|
|
bnot
|
|
send $6
|
|
bnot
|
|
pushi $16d ; 365, obstacles
|
|
push0
|
|
lat temp[$9]
|
|
send $4
|
|
bnot
|
|
bnt code_0464
|
|
push1
|
|
pushi $16d ; 365, obstacles
|
|
push0
|
|
lat temp[$9]
|
|
send $4
|
|
bnot
|
|
push
|
|
call code_049e, $2
|
|
bnot
|
|
code_0464: pushi $95 ; 149, dispose
|
|
push0
|
|
lat temp[$11]
|
|
send $4
|
|
bnot
|
|
pushi $95 ; 149, dispose
|
|
push0
|
|
lat temp[$f]
|
|
send $4
|
|
bnot
|
|
code_0476: ret
|
|
|
|
link $5
|
|
ldi $9c ; 156, handleError
|
|
sat temp[$3]
|
|
ldi $0
|
|
sat temp[$0]
|
|
code_0481: lst temp[$3]
|
|
ldi $7777 ; 30583
|
|
ne?
|
|
bnt code_049c
|
|
pushi $4b ; 75, 'K', at
|
|
push1
|
|
push2
|
|
lat temp[$0]
|
|
mul
|
|
push
|
|
lap param[$1]
|
|
send $6
|
|
bnot
|
|
sat temp[$3]
|
|
+at temp[$0]
|
|
jmp code_0481
|
|
|
|
code_049c: -at temp[$0]
|
|
code_049e: ret
|
|
|
|
link $4
|
|
pushi $5a ; 90, 'Z', size
|
|
push0
|
|
lap param[$1]
|
|
send $4
|
|
bnot
|
|
sat temp[$3]
|
|
ldi $0
|
|
sat temp[$0]
|
|
code_04af: lst temp[$0]
|
|
lat temp[$3]
|
|
lt?
|
|
bnt code_04e2
|
|
pushi $4b ; 75, 'K', at
|
|
push1
|
|
lst temp[$0]
|
|
lap param[$1]
|
|
send $6
|
|
bnot
|
|
sat temp[$1]
|
|
pushi $2b ; 43, '+', type
|
|
push0
|
|
send $4
|
|
bnot
|
|
sat temp[$2]
|
|
push
|
|
ldi $10 ; 16, cel
|
|
ge?
|
|
bnt code_04de
|
|
pushi $2b ; 43, '+', type
|
|
push1
|
|
lst temp[$2]
|
|
ldi $10 ; 16, cel
|
|
sub
|
|
push
|
|
lat temp[$1]
|
|
send $6
|
|
bnot
|
|
code_04de: +at temp[$0]
|
|
jmp code_04af
|
|
|
|
code_04e2: ret
|
|
|