![]() |
Routines |
| Prev: B67A | Up: Map | Next: B69F |
|
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 |