Prev: C40B Up: Map Next: C442
C426: Leave Room To The South
Sends the player to the room to the south if it has gone past the south edge of the room. The y position is set to 00, which PlacePlayerAtDoor takes as the sign that the player has come out of the south and puts it at the north side of the new room.
Input
HL Distances to the walls along x and y
IX The address of the object
Leave if past the south edge.
LeaveRoomToSouth C426 POP HL Restore HL from the stack.
C427 LD A,$80 Set A to 80.
C429 SUB H Subtract H.
C42A LD H,A Copy it to H.
C42B LD A,(IX+$02) Fetch the y position of the player.
C42E ADD A,(IX+$0A) Add the speed along the y axis.
C431 ADD A,(IX+$05) Add the depth of the player.
C434 CP H Return if the player is still in the room.
C435 RET NC
C436 LD (IX+$02),$00 Write 00 to the y position.
C43A LD A,(IX+$08) Fetch the room number.
C43D SUB $10 Subtract 10.
C43F JP ChangeRoom Jump to ChangeRoom.
View the equivalent code in;
Prev: C40B Up: Map Next: C442