194 lines
2.5 KiB
Plaintext
194 lines
2.5 KiB
Plaintext
PFollow::init:
|
|
link $1
|
|
lap param[$0]
|
|
bnt code_00c4
|
|
push
|
|
ldi $4 ; scaleX
|
|
ge?
|
|
bnt code_0070
|
|
lap param[$4]
|
|
jmp code_0079
|
|
|
|
code_0070: pushi $16d ; 365, obstacles
|
|
push0
|
|
lag global[$3]
|
|
send $4
|
|
bnot
|
|
code_0079: sat temp[$0]
|
|
lsp param[$0]
|
|
ldi $1
|
|
ge?
|
|
bnt code_00ae
|
|
lap param[$1]
|
|
aTop client
|
|
lsp param[$0]
|
|
ldi $2
|
|
ge?
|
|
bnt code_00ae
|
|
lap param[$2]
|
|
aTop who
|
|
push1
|
|
push0
|
|
pToa who
|
|
send $4
|
|
bnot
|
|
aTop targetX
|
|
push2
|
|
push0
|
|
pToa who
|
|
send $4
|
|
bnot
|
|
aTop targetY
|
|
lsp param[$0]
|
|
ldi $3 ; z
|
|
ge?
|
|
bnt code_00ae
|
|
lap param[$3]
|
|
aTop distance
|
|
code_00ae: pushi $94 ; 148, init
|
|
pushi $6 ; maxScale
|
|
pTos client
|
|
pTos targetX
|
|
pTos targetY
|
|
push0
|
|
push1
|
|
lst temp[$0]
|
|
super PolyPath, $10
|
|
bnot
|
|
jmp code_00cc
|
|
|
|
code_00c4: pushi $94 ; 148, init
|
|
push0
|
|
super PolyPath, $4
|
|
bnot
|
|
code_00cc: ret
|
|
|
|
PFollow::doit:
|
|
link $2
|
|
pushi $4 ; scaleX
|
|
pTos targetX
|
|
pTos targetY
|
|
push1
|
|
push0
|
|
pToa who
|
|
send $4
|
|
bnot
|
|
push
|
|
push2
|
|
push0
|
|
pToa who
|
|
send $4
|
|
bnot
|
|
push
|
|
callk kernel_64, $8
|
|
bnot
|
|
push
|
|
pToa distance
|
|
gt?
|
|
bnt code_0112
|
|
pToa points
|
|
bnt code_00fa
|
|
pushi $95 ; 149, dispose
|
|
push0
|
|
send $4
|
|
bnot
|
|
code_00fa: ldi $0
|
|
aTop points
|
|
ldi $2
|
|
aTop value
|
|
pushi $94 ; 148, init
|
|
push2
|
|
pTos client
|
|
pTos who
|
|
self $8
|
|
bnot
|
|
ldi $0
|
|
jmp code_0187
|
|
|
|
code_0112: pushi $165 ; 357, distanceTo
|
|
push1
|
|
pTos who
|
|
pToa client
|
|
send $6
|
|
bnot
|
|
sat temp[$0]
|
|
push
|
|
pToa distance
|
|
le?
|
|
bnt code_0180
|
|
pushi $4 ; scaleX
|
|
push1
|
|
push0
|
|
pToa client
|
|
send $4
|
|
bnot
|
|
push
|
|
push2
|
|
push0
|
|
pToa client
|
|
send $4
|
|
bnot
|
|
push
|
|
push1
|
|
push0
|
|
pToa who
|
|
send $4
|
|
bnot
|
|
push
|
|
push2
|
|
push0
|
|
pToa who
|
|
send $4
|
|
bnot
|
|
push
|
|
callk kernel_63, $8
|
|
bnot
|
|
sat temp[$1]
|
|
pushi $43 ; 67, 'C', heading
|
|
push0
|
|
pToa client
|
|
send $4
|
|
bnot
|
|
push
|
|
lat temp[$1]
|
|
ne?
|
|
bnt code_0166
|
|
pushi $15a ; 346, setHeading
|
|
push1
|
|
lst temp[$1]
|
|
pToa client
|
|
send $6
|
|
bnot
|
|
code_0166: push1
|
|
push0
|
|
pToa client
|
|
send $4
|
|
bnot
|
|
aTop xLast
|
|
push2
|
|
push0
|
|
pToa client
|
|
send $4
|
|
bnot
|
|
aTop yLast
|
|
lag global[$40]
|
|
aTop b_moveCnt
|
|
ldi $0
|
|
jmp code_0187
|
|
|
|
code_0180: pushi $45 ; 69, 'E', doit
|
|
push0
|
|
super PolyPath, $4
|
|
bnot
|
|
code_0187: ret
|
|
|
|
PFollow::moveDone:
|
|
pushi $157 ; 343, setTarget
|
|
push0
|
|
pushi $94 ; 148, init
|
|
push0
|
|
self $8
|
|
bnot
|
|
ret
|
|
|