| alien | Routines |
| Prev: 35314 | Up: Map | Next: 35382 |
|
Dispatched directly from RoomDispatchTable entries 2 and 3, on the cell value under the cursor: 61 " QUIT " leaves the list and rebuilds the orders screen (InitGameView 31417); 62 "Other List" switches to the other page (mode 2 -> page 2, mode 3 -> page 1); any other value is a room id — show where that room is: look up its deck in RoomTypeTable (29905), make it the displayed deck (RoomTypeByte), redraw the map pane and set the room's indicator box blinking on it (marker channel B via PlaceRoomMarkerB 35128). The list stays up, so several rooms can be looked up in a row; note the displayed deck keeps its last value after QUIT.
|
||||
| 35338 | LD A,(33685) | A = cell value under the cursor | ||
| 35341 | CP 61 | " QUIT "? | ||
| 35343 | JP Z,31417 | yes: back to the orders screen | ||
| 35346 | CP 62 | "Other List"? | ||
| 35348 | JR NZ,35361 | |||
| 35350 | LD A,(31252) | yes: toggle page — | ||
| 35353 | CP 2 | on page 1 (mode 2)? | ||
| 35355 | JP Z,35228 | build page 2 | ||
| 35358 | JP 35222 | else build page 1 | ||
| 35361 | LD E,A | a room id was picked: | ||
| 35362 | LD D,0 | |||
| 35364 | LD HL,29905 | RoomTypeTable[room] | ||
| 35367 | ADD HL,DE | |||
| 35368 | LD A,(HL) | |||
| 35369 | LD (31243),A | = the deck to display | ||
| 35372 | CALL 31267 | redraw the map pane for that deck | ||
| 35375 | LD A,(33685) | and blink the room's indicator box | ||
| 35378 | CALL 35128 | on it (marker channel B) | ||
| 35381 | RET | |||
| Prev: 35314 | Up: Map | Next: 35382 |