![]() |
Routines |
Prev: 43764 | Up: Map | Next: 43970 |
Used by the routine at Controller_DrawRoom.
|
||||
PopulateCurrentRoomBuffersAndReferences | 43844 | LD A,(23507) | A=*CurrentRoom. | |
43847 | LD (23508),A | Write A to *TempCurrentRoomID. | ||
Fetch the room data pointer from the room reference table.
|
||||
43850 | LD E,A | HL=TableRoomData+((22-A)*2). | ||
43851 | LD A,22 | |||
43853 | SUB E | |||
43854 | LD E,A | |||
43855 | SLA E | |||
43857 | LD D,0 | |||
43859 | LD HL,47785 | |||
43862 | ADD HL,DE | |||
43863 | LD E,(HL) | Store the room data address for the requested room in HL. | ||
43864 | INC HL | |||
43865 | LD D,(HL) | |||
43866 | EX DE,HL | |||
Set the colour scheme for the active room.
|
||||
43867 | LD DE,23500 | Copy 0007 bytes of room data from the buffer to *ActiveRoom_KeyColour. | ||
43870 | LD BC,7 | |||
43873 | LDIR | |||
43875 | INC HL | Skip the terminator character in the room data. | ||
Handle populating the scaffolding data.
|
||||
43876 | LD DE,47831 | Write BufferCurrentRoomData to *PointerCurrentRoomBuffer. | ||
43879 | LD (23528),DE | |||
43883 | LD B,3 | B=3 (length counter). | ||
43885 | CALL CopyRoomData | Call CopyRoomData. | ||
Handle populating the doors data.
|
||||
43888 | LD B,4 | B=4 (length counter). | ||
43890 | LD (23510),DE | Write DE to *ReferenceDoors. | ||
43894 | CALL CopyRoomData | Call CopyRoomData. | ||
Handle populating the ladders data.
|
||||
43897 | LD B,2 | B=2 (length counter). | ||
43899 | LD (23512),DE | Write DE to *ReferenceLadders. | ||
43903 | CALL CopyRoomData | Call CopyRoomData. | ||
Handle populating the keys and locked doors data.
|
||||
43906 | LD B,6 | B=6 (length counter). | ||
43908 | LD (23514),DE | Write DE to *ReferenceKeysAndLockedDoors. | ||
43912 | CALL CopyRoomData | Call CopyRoomData. | ||
Handle populating the porthole data.
|
||||
43915 | LD B,3 | B=3 (length counter). | ||
43917 | LD (23516),DE | Write DE to *ReferencePortHole. | ||
43921 | CALL CopyRoomData | Call CopyRoomData. | ||
Handle populating the pirate data.
|
||||
43924 | LD B,16 | B=16 (length counter). | ||
43926 | LD (23518),DE | Write DE to *ReferencePirate. | ||
43930 | CALL CopyRoomData | Call CopyRoomData. | ||
Handle populating the items data.
|
||||
43933 | LD B,7 | B=7 (length counter). | ||
43935 | LD (23520),DE | Write DE to *ReferenceItems. | ||
43939 | CALL CopyRoomData | Call CopyRoomData. | ||
Handle populating the furniture data.
|
||||
43942 | LD B,4 | B=4 (length counter). | ||
43944 | LD (23522),DE | Write DE to *ReferenceFurniture. | ||
43948 | CALL CopyRoomData | Call CopyRoomData. | ||
Handle populating the lifts data.
|
||||
43951 | LD B,16 | B=16 (length counter). | ||
43953 | LD (23524),DE | Write DE to *ReferenceLifts. | ||
43957 | CALL CopyRoomData | Call CopyRoomData. | ||
Handle populating the disappearing floors data.
|
||||
43960 | LD B,6 | B=6 (length counter). | ||
43962 | LD (23526),DE | Write DE to *ReferenceDisappearingFloors. | ||
43966 | CALL CopyRoomData | Call CopyRoomData. | ||
43969 | RET | Return. |
Prev: 43764 | Up: Map | Next: 43970 |