Prev: 94B0 Up: Map Next: 94F9
94D2: Move Willy into the room below
Used by the routine at 8DD3.
94D2 LD A,($80EC) Pick up the number of the room below from 80EC
94D5 LD ($8420),A Make it the current room number by copying it to 8420
94D8 XOR A Set Willy's y-coordinate (at 85CF) to 0
94D9 LD ($85CF),A
94DC LD A,($85D1) Pick up the airborne status indicator from 85D1
94DF CP $0B Is it 0x0B or greater (meaning Willy has already been falling for a while)?
94E1 JR NC,$94E8 Jump if so
94E3 LD A,$02 Otherwise set the airborne status indicator to 2 (Willy will start falling here if there's no floor beneath him)
94E5 LD ($85D1),A
94E8 LD A,($85D3) Willy should now appear at the top of the room, so adjust his attribute buffer coordinates (at 85D3) accordingly
94EB AND $1F
94ED LD ($85D3),A
94F0 LD A,$5C
94F2 LD ($85D4),A
94F5 POP HL Drop the return address (89D1, in the main loop) from the stack
94F6 JP $8912 Draw the room and re-enter the main loop
Prev: 94B0 Up: Map Next: 94F9