91 lines
1.1 KiB
Plaintext
91 lines
1.1 KiB
Plaintext
Wander::init:
|
|
lsp param[$0]
|
|
ldi $1
|
|
ge?
|
|
bnt code_006e
|
|
lap param[$1]
|
|
aTop client
|
|
lsp param[$0]
|
|
ldi $2
|
|
ge?
|
|
bnt code_006e
|
|
lap param[$2]
|
|
aTop distance
|
|
code_006e: pushi $157 ; 343, setTarget
|
|
push0
|
|
self $4
|
|
bnot
|
|
pushi $94 ; 148, init
|
|
push1
|
|
pTos client
|
|
super Motion, $6
|
|
bnot
|
|
ret
|
|
|
|
Wander::setTarget:
|
|
link $1
|
|
push1
|
|
push0
|
|
pToa client
|
|
send $4
|
|
bnot
|
|
push
|
|
pTos distance
|
|
push2
|
|
push0
|
|
pTos distance
|
|
ldi $2
|
|
mul
|
|
sat temp[$0]
|
|
push
|
|
callk kernel_60, $4
|
|
bnot
|
|
sub
|
|
add
|
|
aTop x
|
|
push2
|
|
push0
|
|
pToa client
|
|
send $4
|
|
bnot
|
|
push
|
|
pTos distance
|
|
push2
|
|
push0
|
|
lst temp[$0]
|
|
callk kernel_60, $4
|
|
bnot
|
|
sub
|
|
add
|
|
aTop y
|
|
ret
|
|
|
|
Wander::onTarget:
|
|
ldi $0
|
|
ret
|
|
|
|
Wander::doit:
|
|
pushi $45 ; 69, 'E', doit
|
|
push0
|
|
super Motion, $4
|
|
bnot
|
|
pushi $162 ; 354, isStopped
|
|
push0
|
|
pToa client
|
|
send $4
|
|
bnot
|
|
bnt code_00d0
|
|
pushi $64 ; 100, 'd', moveDone
|
|
push0
|
|
self $4
|
|
bnot
|
|
code_00d0: ret
|
|
|
|
Wander::moveDone:
|
|
pushi $94 ; 148, init
|
|
push0
|
|
self $4
|
|
bnot
|
|
ret
|
|
|