@@ 278,7 278,7 @@
<move-pc>
<debug>
.player/tile LDZ2 get-tile #07 AND
- ( ) DUP #00 NEQ ?{ POP !<tile-fall> }
+ ( ) DUP #00 NEQ ?{ POP !<animate-fall> }
DUP #02 NEQ ?{ POP !<set-safety> }
DUP #06 NEQ ?{
[ LIT2 00 -modify/x ] LDZ EQU .modify/x STZ }
@@ 302,17 302,6 @@
JMP2r }
POP JMP2r
-@<tile-fall> ( -- )
- !<animate-fall>
-
-@<animate-fall> ( -- )
- ;player-fall-chr <set-state>
- .player/posy LDZ2 #0020 ADD2 #0001 ;&callback <animate-player-posy>
- JMP2r
-
- &callback ( -> )
- <recover-safety> !<release-turn>
-
@<set-safety> ( -- )
#00 .modify/x STZ
#00 .modify/y STZ
@@ 385,6 374,17 @@
( y ) #03 AND #50 SFT2 #0060 ADD2 .Screen/y DEO2
JMP2r
+(
+@|animation )
+
+@<animate-fall> ( -- )
+ ;player-fall-chr <set-state>
+ .player/posy LDZ2 #0020 ADD2 #0001 ;&callback <animate-player-posy>
+ JMP2r
+
+ &callback ( -> )
+ <recover-safety> !<release-turn>
+
@<animate-player-posx> ( posx* rate* callback* -- )
,&callback STR2
,&rate STR2
@@ 409,18 409,6 @@
<reqdraw> !on-frame }
POP2 POP2 [ LIT2 &callback $2 ] JSR2 <reqdraw> !on-frame
-@abs2 ( a* -- f )
- DUP2 #0f SFT2 EQU ?{ #0000 SWP2 SUB2 }
- JMP2r
-
-@lerp ( a* b* speed* -- res* )
- STH2
- OVR2 OVR2 gts2 ?>h
- OVR2 OVR2 lts2 ?<h
- POP2r POP2 JMP2r
- >h POP2 STH2r SUB2 JMP2r
- <h POP2 STH2r ADD2 JMP2r
-
@<animate-warp> ( warp* -- )
#0004 ADD2 LDA2k ,&room STR2
INC2 INC2 LDA2 ,&pos STR2
@@ 450,6 438,9 @@
[ LIT2 &size $2 ] .program/size STZ2
#0c !<change-spell>
+(
+@|misc )
+
@<highlight-spell> ( addr* -- )
#0004 ADD2 #02 ROT ROT STA
JMP2r
@@ 787,6 778,18 @@
INC2 LDAk ?<pstr>
POP2 JMP2r
+@abs2 ( a* -- f )
+ DUP2 #0f SFT2 EQU ?{ #0000 SWP2 SUB2 }
+ JMP2r
+
+@lerp ( a* b* speed* -- res* )
+ STH2
+ OVR2 OVR2 gts2 ?>h
+ OVR2 OVR2 lts2 ?<h
+ POP2r POP2 JMP2r
+ >h POP2 STH2r SUB2 JMP2r
+ <h POP2 STH2r ADD2 JMP2r
+
@lts2 ( a* b* -- f )
SUB2 POP #07 SFT JMP2r