![]() |
Routines |
| Prev: C887 | Up: Map | Next: C8AD |
|
Finds out if the player is far enough through the wall on the side of low y, in the same way as TestPassageAlongMinusX.
|
||||||||||
|
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 |