| Alien (BUGFIX 1.7) | Routines |
| Prev: 32719 | Up: Map | Next: 32967 |
|
Rebuild the right-hand menu column's fixed dressing: the selected crew member's name on screen row 0, the coloured attribute bands behind the 19 menu rows, then (falling into DrawMenuStrip) the mode-1 strip itself from CorridorPosTable, the cursor highlight on the QUIT row and the status line.
|
||||
| 32816 | LD HL,16406 | blank the name row | ||
| 32819 | LD (31257),HL | (screen row 0, col 22) | ||
| 32822 | PUSH HL | |||
| 32823 | LD A,255 | |||
| 32825 | CALL 31634 | |||
| 32828 | POP HL | |||
| 32829 | INC HL | and print the selected crew | ||
| 32830 | LD (31257),HL | member's name at col 23 | ||
| 32833 | LD A,(31241) | |||
| 32836 | CALL 31690 | |||
| 32839 | LD HL,22550 | paint the colour bands (attr | ||
| 32842 | LD A,7 | col 22): the name row white, | ||
| 32844 | LD C,1 | |||
| 32846 | CALL 31612 | |||
| 32849 | LD A,15 | cells 0-6 white-on-blue | ||
| 32851 | LD C,7 | (the "move to:" block), | ||
| 32853 | CALL 31612 | |||
| 32856 | LD A,32 | cells 7-9 green paper | ||
| 32858 | LD C,3 | (" use:" + the two hands), | ||
| 32860 | CALL 31612 | |||
| 32863 | LD A,23 | cell 10 white-on-red (Get Item), | ||
| 32865 | LD C,1 | |||
| 32867 | CALL 31612 | |||
| 32870 | LD A,48 | cell 11 yellow paper (Leave Item), | ||
| 32872 | LD C,1 | |||
| 32874 | CALL 31612 | |||
| 32877 | LD A,31 | cells 12-16 white-on-magenta | ||
| 32879 | LD C,5 | (the Special block), | ||
| 32881 | CALL 31612 | |||
| 32884 | LD A,56 | cells 17-18 white paper (QUIT) | ||
| 32886 | LD C,2 | |||
| 32888 | CALL 31612 | |||
| 32891 | LD A,61 | mirror = 61 " QUIT " | ||
| 32893 | LD (33685),A | |||
| 32896 | LD A,17 | park the cursor on the QUIT row | ||
| 32898 | LD (33683),A | |||
| 32901 | LD A,1 | room mode 1 (the room view) | ||
| 32903 | LD (31252),A | |||
| 32906 | LD HL,29630 | tile source = CorridorPosTable | ||
| 32909 | LD (31261),HL | |||
| 32912 | LD HL,16438 | draw the 18 strip rows from | ||
| 32915 | LD (31257),HL | screen row 1, col 22 | ||
| 32918 | LD B,18 | |||
| 32920 | PUSH BC | |||
| 32921 | CALL 31626 | |||
| 32924 | POP BC | |||
| 32925 | DJNZ 32920 | |||
| 32927 | CALL 34882 | highlight the cursor row | ||
| 32930 | CALL 39572 | and redraw the status line | ||
| 32933 | RET | |||
|
Cell-glyph walk-handler table (was mis-disassembled as code): 3-byte records (glyph, handler word) looked up by DrawDoorArm, which patches the handler into its CALL as it walks an exit path over the room-map grid.
|
||||
| 32934 | DEFB 125,108,130 | '}' duct grille -> ArmEndNode | ||
| 32937 | DEFB 126,251,129 | horizontal wall -> ArmStraight | ||
| 32940 | DEFB 127,251,129 | vertical wall -> ArmStraight | ||
| 32943 | DEFB 128,252,129 | top-left corner -> ArmCornerTopLeft | ||
| 32946 | DEFB 129,24,130 | bottom-left corner -> ArmCornerBottomLeft | ||
| 32949 | DEFB 130,52,130 | bottom-right corner -> ArmCornerBottomRight | ||
| 32952 | DEFB 131,80,130 | top-right corner -> ArmCornerTopRight | ||
| 32955 | DEFB 132,251,129 | horizontal wall -> ArmStraight | ||
| 32958 | DEFB 133,251,129 | vertical wall -> ArmStraight | ||
| 32961 | DEFB 142,108,130 | junction node -> ArmEndNode | ||
| 32964 | DEFB 143,108,130 | junction node -> ArmEndNode | ||
| Prev: 32719 | Up: Map | Next: 32967 |