Prev: B67A Up: Map Next: B69F
B683: Dropping block (type 91)
The dropping_block (dropping_block). It sinks while something stands on it, one unit a frame, and stops when it lands on what is underneath. Bit 3 of +13 is set by the collision code (adj_for_out_of_bounds) on whatever an object lands on, so it is the "someone is standing on me" flag; this handler clears it every frame, so the block stops sinking the moment the weight steps off.
upd_91 B683 CALL upd_6_7 pixel offsets
B686 BIT 3,(IX+$0D) nothing on it: nothing to do, not even a redraw
B68A RET Z
B68B RES 3,(IX+$0D) clear the flag; a rider will set it again next frame
B68F LD (IX+$0B),$00 dZ = 0, which the DEC in the move makes -1
B693 CALL dec_dZ_and_update_XYZ
B696 BIT 2,(IX+$0C) grinding sound while it is still moving down
B69A JR NZ,drop_block_draw
B69C CALL sound_pitch_from_z
Prev: B67A Up: Map Next: B69F