Prev: 8F96 Up: Map Next: 8FE9
8FCA: Test the player's step against the room's walk rectangle, axis by axis
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