319 lines
4.6 KiB
Plaintext
319 lines
4.6 KiB
Plaintext
BOpenable::buildVerbList:
|
|
link $1
|
|
pushi $97 ; 151, isKindOf
|
|
push1
|
|
class WorldObject
|
|
push
|
|
lap param[$1]
|
|
send $6
|
|
bnot
|
|
bnt code_010a
|
|
pushi $381 ; 897, pMode
|
|
push0
|
|
lap param[$1]
|
|
send $4
|
|
bnot
|
|
push
|
|
ldi $1
|
|
and
|
|
bnt code_010a
|
|
class VerbList
|
|
sat temp[$0]
|
|
pushi $97 ; 151, isKindOf
|
|
push1
|
|
class WorldActor
|
|
push
|
|
lap param[$1]
|
|
send $6
|
|
bnot
|
|
bnt code_010a
|
|
pushi $35b ; 859, getOwner
|
|
push0
|
|
pToa pSelf
|
|
send $4
|
|
bnot
|
|
push
|
|
pToa pSelf
|
|
eq?
|
|
bnt code_010a
|
|
pToa pOpen
|
|
bnt code_00ff
|
|
pushi $9f ; 159, add
|
|
push1
|
|
pushi $d ; 13, seenRect
|
|
lat temp[$0]
|
|
send $6
|
|
bnot
|
|
jmp code_010a
|
|
|
|
code_00ff: pushi $9f ; 159, add
|
|
push1
|
|
pushi $c ; 12, inBottom
|
|
lat temp[$0]
|
|
send $6
|
|
bnot
|
|
code_010a: ret
|
|
|
|
BOpenable::handlesAction:
|
|
pushi $3 ; z
|
|
lsp param[$1]
|
|
pushi $248 ; 584, open
|
|
pushi $253 ; 595, close
|
|
calle export60025_4, $6
|
|
bnot
|
|
ret
|
|
|
|
BOpenable::open:
|
|
link $3
|
|
ldi $0
|
|
sat temp[$0]
|
|
pToa pOpen
|
|
bnt code_012d
|
|
ldi $4 ; scaleX
|
|
sat temp[$0]
|
|
jmp code_0131
|
|
|
|
code_012d: ldi $1
|
|
aTop pOpen
|
|
code_0131: lat temp[$0]
|
|
ret
|
|
|
|
BOpenable::close:
|
|
link $2
|
|
ldi $0
|
|
sat temp[$0]
|
|
pToa pOpen
|
|
bnt code_0166
|
|
ldi $0
|
|
aTop pOpen
|
|
pushi $35c ; 860, getBase
|
|
push1
|
|
class BLockable
|
|
push
|
|
pToa pSelf
|
|
send $6
|
|
bnot
|
|
sat temp[$1]
|
|
bnt code_016a
|
|
pushi $427 ; 1063, pAutoLock
|
|
push0
|
|
send $4
|
|
bnot
|
|
bnt code_016a
|
|
pushi $34a ; 842, lock
|
|
push0
|
|
lat temp[$1]
|
|
send $4
|
|
bnot
|
|
jmp code_016a
|
|
|
|
code_0166: ldi $4 ; scaleX
|
|
sat temp[$0]
|
|
code_016a: lat temp[$0]
|
|
ret
|
|
|
|
BOpenable::fromPacket:
|
|
pushi $134 ; 308, getByte
|
|
push0
|
|
lap param[$1]
|
|
send $4
|
|
bnot
|
|
aTop pOpen
|
|
pToa pOpen
|
|
bnt code_019b
|
|
pushi $373 ; 883, setAction
|
|
push1
|
|
pushi $1e ; 30, brRight
|
|
pToa pSelf
|
|
send $6
|
|
bnot
|
|
pushi $10 ; 16, cel
|
|
push1
|
|
push1
|
|
pTos pSelf
|
|
callk kernel_22, $2
|
|
bnot
|
|
push
|
|
ldi $1
|
|
sub
|
|
push
|
|
pToa pSelf
|
|
send $6
|
|
bnot
|
|
code_019b: ret
|
|
|
|
BKey::fromPacket:
|
|
pushi $136 ; 310, getLong
|
|
push0
|
|
lap param[$1]
|
|
send $4
|
|
bnot
|
|
aTop pLockValue
|
|
pushi $136 ; 310, getLong
|
|
push0
|
|
lap param[$1]
|
|
send $4
|
|
bnot
|
|
aTop pUnlockValue
|
|
pushi $134 ; 308, getByte
|
|
push0
|
|
lap param[$1]
|
|
send $4
|
|
bnot
|
|
aTop pSkeletonLock
|
|
pushi $134 ; 308, getByte
|
|
push0
|
|
lap param[$1]
|
|
send $4
|
|
bnot
|
|
aTop pSkeletonUnlock
|
|
ret
|
|
|
|
BLockable::handlesAction:
|
|
pushi $3 ; z
|
|
lsp param[$1]
|
|
pushi $34a ; 842, lock
|
|
pushi $38d ; 909, unlock
|
|
calle export60025_4, $6
|
|
bnot
|
|
ret
|
|
|
|
BLockable::buildVerbList:
|
|
link $3
|
|
pushi $97 ; 151, isKindOf
|
|
push1
|
|
class WorldObject
|
|
push
|
|
lap param[$1]
|
|
send $6
|
|
bnot
|
|
bnt code_0262
|
|
pushi $381 ; 897, pMode
|
|
push0
|
|
lap param[$1]
|
|
send $4
|
|
bnot
|
|
push
|
|
ldi $1
|
|
and
|
|
bnt code_0262
|
|
class VerbList
|
|
sat temp[$0]
|
|
pTos pLocked
|
|
dup
|
|
ldi $0
|
|
eq?
|
|
bnt code_0211
|
|
pToa pLockValue
|
|
sat temp[$1]
|
|
ldi $29 ; 41, ')', state
|
|
sat temp[$2]
|
|
jmp code_021f
|
|
|
|
code_0211: dup
|
|
ldi $1
|
|
eq?
|
|
bnt code_021f
|
|
pToa pUnlockValue
|
|
sat temp[$1]
|
|
ldi $28 ; 40, '(', style
|
|
sat temp[$2]
|
|
code_021f: toss
|
|
pushi $97 ; 151, isKindOf
|
|
push1
|
|
class WorldActor
|
|
push
|
|
lap param[$1]
|
|
send $6
|
|
bnot
|
|
bnt code_0242
|
|
lst temp[$1]
|
|
ldi $ff ; 255, asInteger
|
|
eq?
|
|
bnt code_0242
|
|
pushi $9f ; 159, add
|
|
push1
|
|
lst temp[$2]
|
|
lat temp[$0]
|
|
send $6
|
|
bnot
|
|
jmp code_0262
|
|
|
|
code_0242: pushi $35c ; 860, getBase
|
|
push1
|
|
class BKey
|
|
push
|
|
lap param[$1]
|
|
send $6
|
|
bnot
|
|
bnt code_0262
|
|
lst temp[$1]
|
|
ldi $ff ; 255, asInteger
|
|
ne?
|
|
bnt code_0262
|
|
pushi $9f ; 159, add
|
|
push1
|
|
lst temp[$2]
|
|
lat temp[$0]
|
|
send $6
|
|
bnot
|
|
code_0262: ret
|
|
|
|
BLockable::lock:
|
|
link $3
|
|
ldi $0
|
|
sat temp[$0]
|
|
ldi $1
|
|
aTop pLocked
|
|
lat temp[$0]
|
|
ret
|
|
|
|
BLockable::unlock:
|
|
link $3
|
|
ldi $0
|
|
sat temp[$0]
|
|
ldi $0
|
|
aTop pLocked
|
|
lat temp[$0]
|
|
ret
|
|
|
|
BLockable::fromPacket:
|
|
pushi $134 ; 308, getByte
|
|
push0
|
|
lap param[$1]
|
|
send $4
|
|
bnot
|
|
aTop pLocked
|
|
pushi $134 ; 308, getByte
|
|
push0
|
|
lap param[$1]
|
|
send $4
|
|
bnot
|
|
aTop pAutoLock
|
|
pushi $134 ; 308, getByte
|
|
push0
|
|
lap param[$1]
|
|
send $4
|
|
bnot
|
|
aTop pSkeletonLock
|
|
pushi $134 ; 308, getByte
|
|
push0
|
|
lap param[$1]
|
|
send $4
|
|
bnot
|
|
aTop pSkeletonUnlock
|
|
pushi $136 ; 310, getLong
|
|
push0
|
|
lap param[$1]
|
|
send $4
|
|
bnot
|
|
aTop pLockValue
|
|
pushi $136 ; 310, getLong
|
|
push0
|
|
lap param[$1]
|
|
send $4
|
|
bnot
|
|
aTop pUnlockValue
|
|
ret
|
|
|