Prev: 35210 Up: Map Next: 35290
35222: IndicateLocation — orders-screen row 8 (" Indicate "/" Location ")
Opens the room-location list: replaces the menu strip with a pageable list of room names. Page 1 (room mode 2, entered here) lists rooms 0-16; page 2 (room mode 3, entered at 35228) lists rooms 17-33 — the Narcissus (34) is never listed. The 19 CorridorPosTable cells become: cell 0 = 62 "Other List" (switches to the other page), cells 1-17 = the seventeen room ids, cell 18 = 61 " QUIT " (returns to the orders screen). The cursor starts on QUIT. While the list is up, the action key dispatches straight to LocationListAction (35338) via RoomDispatchTable entries 2/3: picking a room draws its deck map in the map pane with the room's indicator box blinking on it (marker channel B).
Input
Used by the routine at 35338.
35222 LD A,2 room mode 2: page 1,
35224 LD E,0 first room id 0
35226 JR 35232
This entry point is used by the routine at 35338.
35228 LD A,3 room mode 3: page 2,
35230 LD E,17 first room id 17
35232 LD (31252),A set the room mode (2 or 3)
35235 LD A,18
35237 LD (33683),A cursor to row 18 (the QUIT cell)
35240 LD A,61
35242 LD (33685),A mirrored cell value = 61 " QUIT "
35245 LD HL,29630 fill CorridorPosTable:
35248 LD (HL),62 cell 0 = 62 "Other List" (page toggle)
35250 INC HL
35251 LD B,17
35253 LD (HL),E cells 1-17 = room ids E..E+16
35254 INC HL
35255 INC E
35256 DJNZ 35253
35258 LD (HL),61 cell 18 = 61 " QUIT "
35260 LD HL,22582 colour the strip (attr rows 1-19, cols 22-31):
35263 LD A,56
35265 LD C,1 "Other List" row: black ink on white
35267 CALL 31612
35270 LD A,15
35272 LD C,17 the 17 room rows: white ink on blue
35274 CALL 31612
35277 LD A,56
35279 LD C,1 QUIT row: black ink on white
35281 CALL 31612
35284 LD HL,16406 draw pointer to row 0, column 22
35287 LD (31257),HL (fall through to draw the list)
Prev: 35210 Up: Map Next: 35290