Prev: C887 Up: Map Next: C8AD
C89A: Test Passage Along Minus Y
Finds out if the player is far enough through the wall on the side of low y, in the same way as TestPassageAlongMinusX.
Input
IX Door record
IY Record of the legs of the player
Return unless the player is through the wall.
TestPassageAlongMinusY C89A POP HL Restore the limits of the room from the stack.
C89B LD A,$80 Set A to 80, the middle of the room.
C89D SUB H Take the limit along y away from it, to get the position of the wall.
C89E LD H,A Keep the position of the wall.
C89F LD A,(IY+$02) Fetch the y position of the player.
C8A2 ADD A,(IY+$05) Add the half size along y.
C8A5 CP H Return if the player is not through the wall.
C8A6 RET NC
C8A7 LD (IY+$02),$00 Put the player at the lowest y position, ready for the next room.
C8AB JR TestPassageAlongMinusX_Done Jump to TestPassageAlongMinusX_Done.
Prev: C887 Up: Map Next: C8AD