344 lines
4.7 KiB
Plaintext
344 lines
4.7 KiB
Plaintext
PolyPath::init:
|
|
link $22
|
|
lap param[$0]
|
|
bnt code_0138
|
|
lap param[$1]
|
|
aTop client
|
|
lsp param[$0]
|
|
ldi $1
|
|
gt?
|
|
bnt code_0131
|
|
lsp param[$0]
|
|
ldi $6 ; maxScale
|
|
ge?
|
|
bnt code_007c
|
|
lap param[$6]
|
|
aTop obstacles
|
|
jmp code_008c
|
|
|
|
code_007c: pToa obstacles
|
|
not
|
|
bnt code_008c
|
|
pushi $16d ; 365, obstacles
|
|
push0
|
|
lag global[$3]
|
|
send $4
|
|
bnot
|
|
aTop obstacles
|
|
code_008c: pToa points
|
|
bnt code_0097
|
|
pushi $95 ; 149, dispose
|
|
push0
|
|
send $4
|
|
bnot
|
|
code_0097: push0
|
|
push0
|
|
pToa client
|
|
send $4
|
|
bnot
|
|
sat temp[$20]
|
|
pushi $88 ; 136, right
|
|
push0
|
|
send $4
|
|
bnot
|
|
push
|
|
pushi $87 ; 135, left
|
|
push0
|
|
lat temp[$20]
|
|
send $4
|
|
bnot
|
|
sub
|
|
push
|
|
ldi $1
|
|
add
|
|
sat temp[$1e]
|
|
pushi $8a ; 138, bottom
|
|
push0
|
|
lat temp[$20]
|
|
send $4
|
|
bnot
|
|
push
|
|
pushi $89 ; 137, top
|
|
push0
|
|
lat temp[$20]
|
|
send $4
|
|
bnot
|
|
sub
|
|
push
|
|
ldi $1
|
|
add
|
|
sat temp[$1f]
|
|
pushi $9 ; inLeft
|
|
push1
|
|
push0
|
|
lap param[$1]
|
|
send $4
|
|
bnot
|
|
push
|
|
push2
|
|
push0
|
|
lap param[$1]
|
|
send $4
|
|
bnot
|
|
push
|
|
lap param[$2]
|
|
aTop finalX
|
|
push
|
|
lap param[$3]
|
|
aTop finalY
|
|
push
|
|
pTos obstacles
|
|
lst temp[$1e]
|
|
lst temp[$1f]
|
|
lsp param[$0]
|
|
ldi $5 ; scaleY
|
|
ge?
|
|
bnt code_00ff
|
|
lap param[$5]
|
|
jmp code_0101
|
|
|
|
code_00ff: ldi $2
|
|
code_0101: push
|
|
lsg global[$24]
|
|
callk kernel_100, $12
|
|
bnot
|
|
sat temp[$21]
|
|
pushi $d3 ; 211, copy
|
|
push1
|
|
push
|
|
pushi $8d ; 141, new
|
|
push0
|
|
class IntArray
|
|
send $4
|
|
bnot
|
|
aTop points
|
|
send $6
|
|
bnot
|
|
push2
|
|
pushi $4 ; scaleX
|
|
lst temp[$21]
|
|
callk kernel_91, $4
|
|
bnot
|
|
lsp param[$0]
|
|
ldi $3 ; z
|
|
gt?
|
|
bnt code_0131
|
|
lap param[$4]
|
|
aTop caller
|
|
code_0131: pushi $157 ; 343, setTarget
|
|
push0
|
|
self $4
|
|
bnot
|
|
code_0138: pushi $94 ; 148, init
|
|
push0
|
|
super Motion, $4
|
|
bnot
|
|
ret
|
|
|
|
PolyPath::dispose:
|
|
pToa points
|
|
bnt code_014c
|
|
pushi $95 ; 149, dispose
|
|
push0
|
|
send $4
|
|
bnot
|
|
code_014c: ldi $0
|
|
aTop points
|
|
pushi $95 ; 149, dispose
|
|
push0
|
|
super Motion, $4
|
|
bnot
|
|
ret
|
|
|
|
PolyPath::setTarget:
|
|
link $7
|
|
pushi $4b ; 75, 'K', at
|
|
push1
|
|
pTos value
|
|
pToa points
|
|
send $6
|
|
bnot
|
|
push
|
|
ldi $7777 ; 30583
|
|
ne?
|
|
bnt code_0250
|
|
pushi $4b ; 75, 'K', at
|
|
push1
|
|
pTos value
|
|
pToa points
|
|
send $6
|
|
bnot
|
|
aTop x
|
|
pushi $4b ; 75, 'K', at
|
|
push1
|
|
ipToa value
|
|
push
|
|
pToa points
|
|
send $6
|
|
bnot
|
|
aTop y
|
|
ipToa value
|
|
push0
|
|
push0
|
|
pToa client
|
|
send $4
|
|
bnot
|
|
sat temp[$6]
|
|
pushi $88 ; 136, right
|
|
push0
|
|
send $4
|
|
bnot
|
|
push
|
|
pushi $87 ; 135, left
|
|
push0
|
|
lat temp[$6]
|
|
send $4
|
|
bnot
|
|
sub
|
|
push
|
|
ldi $1
|
|
add
|
|
sat temp[$4]
|
|
pushi $8a ; 138, bottom
|
|
push0
|
|
lat temp[$6]
|
|
send $4
|
|
bnot
|
|
push
|
|
pushi $89 ; 137, top
|
|
push0
|
|
lat temp[$6]
|
|
send $4
|
|
bnot
|
|
sub
|
|
push
|
|
ldi $1
|
|
add
|
|
sat temp[$5]
|
|
lag global[$2e]
|
|
bnt code_0250
|
|
pushi $5a ; 90, 'Z', size
|
|
push0
|
|
send $4
|
|
bnot
|
|
bnt code_0250
|
|
pushi $8d ; 141, new
|
|
push0
|
|
class IntArray
|
|
send $4
|
|
bnot
|
|
sat temp[$0]
|
|
pushi $d3 ; 211, copy
|
|
push1
|
|
pushi $9 ; inLeft
|
|
push1
|
|
push0
|
|
pToa client
|
|
send $4
|
|
bnot
|
|
push
|
|
push2
|
|
push0
|
|
pToa client
|
|
send $4
|
|
bnot
|
|
push
|
|
pTos x
|
|
pTos y
|
|
lsg global[$2e]
|
|
lst temp[$4]
|
|
lst temp[$5]
|
|
push0
|
|
lsg global[$24]
|
|
callk kernel_100, $12
|
|
bnot
|
|
push
|
|
lat temp[$0]
|
|
send $6
|
|
bnot
|
|
pushi $4b ; 75, 'K', at
|
|
push1
|
|
push2
|
|
lat temp[$0]
|
|
send $6
|
|
bnot
|
|
sat temp[$1]
|
|
pushi $4b ; 75, 'K', at
|
|
push1
|
|
pushi $3 ; z
|
|
lat temp[$0]
|
|
send $6
|
|
bnot
|
|
sat temp[$2]
|
|
pTos x
|
|
lat temp[$1]
|
|
ne?
|
|
bt code_022c
|
|
pTos y
|
|
lat temp[$2]
|
|
ne?
|
|
code_022c: bnt code_0247
|
|
lat temp[$1]
|
|
aTop x
|
|
lat temp[$2]
|
|
aTop y
|
|
pushi $4b ; 75, 'K', at
|
|
push2
|
|
pTos value
|
|
ldi $2
|
|
add
|
|
push
|
|
pushi $7777 ; 30583
|
|
pToa points
|
|
send $8
|
|
bnot
|
|
code_0247: pushi $95 ; 149, dispose
|
|
push0
|
|
lat temp[$0]
|
|
send $4
|
|
bnot
|
|
code_0250: ret
|
|
|
|
PolyPath::moveDone:
|
|
pushi $4b ; 75, 'K', at
|
|
push1
|
|
pTos value
|
|
pToa points
|
|
send $6
|
|
bnot
|
|
push
|
|
ldi $7777 ; 30583
|
|
eq?
|
|
bnt code_026b
|
|
pushi $64 ; 100, 'd', moveDone
|
|
push0
|
|
super Motion, $4
|
|
bnot
|
|
jmp code_0297
|
|
|
|
code_026b: push1
|
|
pTos client
|
|
calle export60000_0, $2
|
|
bnot
|
|
bnt code_028c
|
|
pushi $99 ; 153, respondsTo
|
|
push1
|
|
pushi $64 ; 100, 'd', moveDone
|
|
pToa client
|
|
send $6
|
|
bnot
|
|
bnt code_028c
|
|
pushi $64 ; 100, 'd', moveDone
|
|
push0
|
|
pToa client
|
|
send $4
|
|
bnot
|
|
code_028c: pushi $157 ; 343, setTarget
|
|
push0
|
|
pushi $94 ; 148, init
|
|
push0
|
|
self $8
|
|
bnot
|
|
code_0297: ret
|
|
|