![]() |
Routines |
| Prev: C4C8 | Up: Map | Next: C58D |
|
Used by the routine at PLAYER_LEGS.
A jump needs the jump control held, the walk into a room over, no jump already under way, and the player standing on something: bit 2 of +$0C, which the collision code (ADJ_FOR_OUT_OF_BOUNDS) sets when it stops a move down. Knight Lore tests the Z step here instead. The jump starts at 8 units up a turn; MOVE_PLAYER's gravity takes it away again.
|
||||||||||
| HANDLE_JUMP | C56C | BIT 3,C | Jump not held | |||||||
| C56E | RET Z | |||||||||
| C56F | LD A,(IX+$0C) | Not during the walk into a room | ||||||||
| C572 | AND $F0 | |||||||||
| C574 | RET NZ | |||||||||
| C575 | BIT 3,(IX+$0C) | Already jumping | ||||||||
| C579 | RET NZ | |||||||||
| C57A | BIT 2,(IX+$0C) | Not standing on anything | ||||||||
| C57E | RET Z | |||||||||
| C57F | SET 3,(IX+$0C) | Jumping, 8 up | ||||||||
| C583 | LD (IX+$0B),$08 | |||||||||
| C587 | PUSH BC | The jump's sound (JUMP_SOUND), the controls kept | ||||||||
| C588 | CALL JUMP_SOUND | |||||||||
| C58B | POP BC | |||||||||
| C58C | RET | |||||||||
| Prev: C4C8 | Up: Map | Next: C58D |