Prev: BFAB Up: Map Next: BFD8
BFB6: Fall, and move
Takes one off the step in Z -- the pull of gravity -- then lets ADJ_FOR_OUT_OF_BOUNDS cut the steps down to what fits, and adds what is left to the position. The player's move (MOVE_PLAYER) comes in at ADD_DUVZ, having cut the move itself. As Pentagram's DEC_DZ_AND_UPDATE_UVZ; Knight Lore's add_dXYZ.
Input
IX the object
DEC_DZ_AND_UPDATE_UVZ BFB6 DEC (IX+$0B) gravity
BFB9 CALL ADJ_FOR_OUT_OF_BOUNDS cut the move short where it has to be
This entry point is used by the routine at MOVE_PLAYER.
ADD_DUVZ BFBC LD A,(IX+$01) U, V and Z (+$01 to +$03) plus the step in each (+$09 to +$0B)
BFBF ADD A,(IX+$09)
BFC2 LD (IX+$01),A
BFC5 LD A,(IX+$02)
BFC8 ADD A,(IX+$0A)
BFCB LD (IX+$02),A
BFCE LD A,(IX+$03)
BFD1 ADD A,(IX+$0B)
BFD4 LD (IX+$03),A
BFD7 RET
Prev: BFAB Up: Map Next: BFD8