Prev: A444 Up: Map Next: A479
A462: Character sit/sleep (common)
This makes characters disappear, repainting the screen if required.
Used by the routines at character_sits and character_sleeps.
Input
C Room.
DE Pointer to route.
character_sit_sleep_common A462 EX DE,HL Move the route pointer back into HL
A463 LD (HL),$00 Stand still - set the character's route to route_HALT ($00) (Note: This receives a pointer to a route structure which is within either a characterstruct or a vischar).
A465 EX AF,AF' (unknown)
A466 LD A,($68A0) If the global current room index matches C ... Jump to refresh code
A469 CP C
A46A JR Z,character_sit_sleep_refresh
Character is sitting or sleeping in a room presently not visible.
A46C DEC HL Point HL at characterstruct's room member
A46D DEC HL
A46E DEC HL
A46F DEC HL
A470 LD (HL),$FF Set room to room_NONE ($FF)
A472 RET Return
Character is visible - force a repaint.
character_sit_sleep_refresh A473 LD A,L Pointer HL at vischar's room member
A474 ADD A,$1A
A476 LD L,A
A477 LD (HL),$FF Set room to room_NONE ($FF)
FALL THROUGH into select_room_and_plot.
Prev: A444 Up: Map Next: A479