![]() |
Routines |
| Prev: 8F96 | Up: Map | Next: 8FE9 |
|
Used by the routine at MOVE_PLAYER.
Called once a frame from MOVE_PLAYER. For the proposed x with the old y, then the old x with the proposed y, ALLOW_IF_IN_ROOM clears bit 4 or bit 5 of +$02 (the "do not move this way" bits MOVE_PLAYER has just set) if the point is inside the walk rectangle. B holds the bit, not a count.
|
||||
| TEST_STEP_IN_ROOM | 8FCA | PUSH DE | ||
| 8FCB | LD A,E | |||
| 8FCC | ADD A,(IX+$03) | |||
| 8FCF | LD E,A | |||
| 8FD0 | LD D,(IX+$04) | |||
| 8FD3 | LD B,$10 | |||
| 8FD5 | CALL ALLOW_IF_IN_ROOM | |||
| 8FD8 | POP DE | |||
| 8FD9 | PUSH DE | |||
| 8FDA | LD E,(IX+$03) | |||
| 8FDD | LD A,D | |||
| 8FDE | ADD A,(IX+$04) | |||
| 8FE1 | LD D,A | |||
| 8FE2 | LD B,$20 | |||
| 8FE4 | CALL ALLOW_IF_IN_ROOM | |||
| 8FE7 | POP DE | |||
| 8FE8 | RET | |||
| Prev: 8F96 | Up: Map | Next: 8FE9 |