~rabbits/markl

26514f199e1ec2b5b50e404986bed1c31bae7b81 — Devine Lu Linvega 2 months ago a1ccca8
Housekeeping
1 files changed, 27 insertions(+), 24 deletions(-)

M src/markl.tal
M src/markl.tal => src/markl.tal +27 -24
@@ 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 ?&gth
	OVR2 OVR2 lts2 ?&lth
	POP2r POP2 JMP2r
	&gth POP2 STH2r SUB2 JMP2r
	&lth 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 ?&gth
	OVR2 OVR2 lts2 ?&lth
	POP2r POP2 JMP2r
	&gth POP2 STH2r SUB2 JMP2r
	&lth POP2 STH2r ADD2 JMP2r

@lts2 ( a* b* -- f )
	SUB2 POP #07 SFT JMP2r