Prev: 48059 Up: Map Next: 48119
48093: Draw Current Room
Used by the routines at HandlerPoems, EnterRoomBelow and InitialiseGame.
Looks up the room data for the room the actor is in, using the layout table at Layout to find the room in the room table at RoomTable, draws the room with DrawRoom and then carries on to DrawRoomContents to draw its contents.
Input
IX Actor Entity
DrawCurrentRoom 48093 LD L,(IX+1) Fetch the room of the actor.
48096 LD H,0 Clear H.
48098 LD BC,24678 Point BC at the table of room layouts at Layout.
48101 ADD HL,BC Add the table to the room to find the layout number of the room.
48102 LD L,(HL) Fetch the layout number of the room.
48103 LD H,0 Clear H.
48105 ADD HL,HL Double the layout number (each pointer to room data is a word).
48106 LD BC,24934 Point BC at the table of pointers to room data at RoomTable.
48109 ADD HL,BC Add the table to find the pointer to the room data.
48110 LD A,(HL) Fetch the low byte of the address of the room data.
48111 INC HL Move onto the high byte.
48112 LD H,(HL) Fetch the high byte of the address of the room data.
48113 LD L,A Combine the low byte with the high byte.
48114 CALL DrawRoom Draw the room.
48117 JR DrawRoomContents Jump to DrawRoomContents to set up the contents of the room.
Prev: 48059 Up: Map Next: 48119