Prev: C397 Up: Map Next: C40B
C3F0: Out through the wall at high U?
As EXIT_LOW_U the other way: out if the near edge after the move -- U plus the step less the half-size -- is at or past the wall at 128 plus the room's U half-size. U becomes the marker $FF, to arrive at the wall at low U, and the room is the next in the row.
Input
IX the legs' record
HL the room's half-sizes (pushed by HANDLE_EXIT_SCREEN)
EXIT_HIGH_U C3F0 POP HL L = the wall
C3F1 LD A,L
C3F2 ADD A,$80
C3F4 LD L,A
C3F5 LD A,(IX+$01) U + dU - half-size short of it: stay
C3F8 ADD A,(IX+$09)
C3FB SUB (IX+$04)
C3FE CP L
C3FF RET C
C400 LD (IX+$01),$FF Arrive at the wall at low U
C404 LD A,(IX+$08) Room + 1, within the row
C407 LD L,A
C408 INC A
C409 JR EXIT_WITHIN_ROW
Prev: C397 Up: Map Next: C40B