M etc/char10x10.chr => etc/char10x10.chr +0 -0
M src/assets.tal => src/assets.tal +34 -0
@@ 481,6 481,40 @@
0000 0000 0000 0000 0000 0000 0000 0000
0000 0000 0000 0000 0000 0000 0000 0000 ]
+@player-fall-chr [
+ 0000 0000 0000 0000 0f18 081f 0909 0b1a
+ 0000 0000 0000 0000 4242 c2e2 42f2 f322
+ 0000 0000 0000 0000 1010 1010 1010 d11f
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 0000 0000 0000 1200 0000 0000 0000
+ 0000 0000 001f 3f7f 0000 0000 1f20 4080
+ 0000 0000 feff ffff 0000 00fe 0100 0000
+ 0000 0000 0000 8080 0000 0000 0080 4048
+ 0018 1c1d 1d03 0307 3925 2322 2214 0c08
+ ffff ffff ffff dfff 0000 0000 0000 2000
+ ffff fffe fe7f ffff 0000 0001 0180 0000
+ c0b0 70e0 e0c0 80a0 3848 8818 1030 7050
+ 0707 0707 0707 0203 0808 0808 0808 0504
+ fcf3 efef ffff ffff 030c 1010 0000 0000
+ ff7f ffff ffff ffdf 0080 0000 0000 0020
+ e0f0 f0f0 f0e0 e0e0 1008 0808 0810 1010
+ 0303 0101 0000 0000 0404 0202 0100 0000
+ 8e8e 9c9e 0e0e 0e0e 7151 6361 9111 1111
+ 3a38 3831 3030 1030 c547 454a 4948 2848
+ c0c0 8080 0000 0000 2020 4040 8000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0e0c 0e0e 0200 0e06 1113 1101 1000 0109
+ 1010 1010 0010 1000 2820 2828 2828 2028
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 0000 0000 0000 0801 0000 0000 0000
+ 0010 0000 0000 0000 0800 0000 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 0000 0000 0000 0000 0000 4000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000 ]
+
(
@|spells )
M src/markl.tal => src/markl.tal +10 -9
@@ 8,9 8,7 @@
|a0 @File &vector $2 &success $1 &success-lb $1 &stat $2 &delete $1 &append $1 &name $2 &length $2 &read $2 &write $2
|c0 @DateTime &year $2 &month $1 &day $1 &hour $1 &minute $1 &second $1 &dotw $1 &doty $2 &isdst $1
( TODOs:
- | catch out-of-level
| skip out-of-screen drawing
- | fall state
| warp state
| doorway exit
| auto move program position after input
@@ 308,14 306,12 @@
!<animate-fall>
@<animate-fall> ( -- )
- ;&anim .Screen/vector DEO2
- { "fall! 0a $1 }
- <plam>
+ ;player-fall-chr <set-state>
+ .player/posy LDZ2 #0020 ADD2 #0001 ;&callback <animate-player-posy>
JMP2r
- &anim ( -> )
- BRK
- ( callback: <recover-safety> !<release-turn> )
+ &callback ( -> )
+ <recover-safety> !<release-turn>
@<set-safety> ( -- )
#00 .modify/x STZ
@@ 654,6 650,7 @@
@<draw-stage> ( -- )
[ LIT2 36 -Screen/auto ] DEO
+ ( | TODO: draw player off-stage, background )
;room #0004 ADD2 LDA2 STH2
[ LIT2 &h $1 00 ]
&>lh ( -- )
@@ 678,7 675,11 @@
DUP .player/y LDZ NEQ ?{ .player/tile LDZ2 <pin-floor>
<draw-player> }
INC GTHk ?&>lh
- POP2 POP2r JMP2r
+ POP2 POP2r
+ ( | draw player, foreground )
+ .player/y LDZ ;room/h LDA LTH ?{ .player/tile LDZ2 <pin-floor>
+ <draw-player> }
+ JMP2r
@<draw-floor> ( id -- )
DUP ?{ POP JMP2r }