Prev: C874 Up: Map Next: C89A
C887: Test Passage Along Plus Y
Finds out if the player is far enough through the wall on the side of high 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.
TestPassageAlongPlusY C887 POP HL Restore the limits of the room from the stack.
C888 LD A,H Fetch the limit along y.
C889 ADD A,$80 Add 80 to it, to get the position of the wall.
C88B LD H,A Keep the position of the wall.
C88C LD A,(IY+$02) Fetch the y position of the player.
C88F SUB (IY+$05) Take away the half size along y.
C892 CP H Return if the player is not through the wall.
C893 RET C
C894 LD (IY+$02),$FF Put the player at the highest y position, ready for the next room.
C898 JR TestPassageAlongMinusX_Done Jump to TestPassageAlongMinusX_Done.
Prev: C874 Up: Map Next: C89A