Prev: 31964 Up: Map Next: 32967
32719: RedrawRoomScene
Rebuilds the whole room scene: resets the action-menu strip and the room item state (ResetActionMenu), redraws the corridor strip, rebuilds the exit and item menus, the info panel (room name, damage, items present, grille state, crew condition) and the special actors, then updates the status panel. Called by everything that changes what the room shows (item transfers, deaths, grille removal, ...).
Input
Used by the routines at 35163, 35578, 35973, 38379 and
#R44815.
32719 CALL 32684 ResetActionMenu
32722 LD HL,32896
32725 LD (31263),HL
32728 LD A,128
32730 LD (39753),A
32733 LD (39741),A
32736 CALL 31721
32739 LD A,(31242)
32742 LD HL,29567
32745 CP (HL)
32746 JR NZ,32753
32748 LD HL,31243
32751 LD (HL),4
32753 BIT 6,A
32755 JR NZ,32765
32757 CALL 31267
32760 CALL 31759
32763 JR 32768
32765 CALL 32967
32768 CALL 33500
32771 CALL 31796
32774 CALL 31820
32777 CALL 31915
32780 CALL 33479
32783 CALL 32143
32786 CALL 32280
32789 CALL 32385
32792 CALL 32536
32795 CALL 31964
32798 CALL 32816
32801 LD A,(31243)
32804 CP 4
32806 RET Z
32807 LD A,(31242)
32810 BIT 6,A
32812 CALL Z,35101
32815 RET
This entry point is used by the routine at 44880.
32816 LD HL,16406
32819 LD (31257),HL
32822 PUSH HL
32823 LD A,255
32825 CALL 31634
32828 POP HL
32829 INC HL
32830 LD (31257),HL
32833 LD A,(31241)
32836 CALL 31690
32839 LD HL,22550
32842 LD A,7
32844 LD C,1
32846 CALL 31612
32849 LD A,15
32851 LD C,7
32853 CALL 31612
32856 LD A,32
32858 LD C,3
32860 CALL 31612
32863 LD A,23
32865 LD C,1
32867 CALL 31612
32870 LD A,48
32872 LD C,1
32874 CALL 31612
32877 LD A,31
32879 LD C,5
32881 CALL 31612
32884 LD A,56
32886 LD C,2
32888 CALL 31612
32891 LD A,61
32893 LD (33685),A
32896 LD A,17
32898 LD (33683),A
32901 LD A,1
32903 LD (31252),A
32906 LD HL,29630
32909 LD (31261),HL
32912 LD HL,16438
32915 LD (31257),HL
32918 LD B,18
32920 PUSH BC
32921 CALL 31626
32924 POP BC
32925 DJNZ 32920
32927 CALL 34882
32930 CALL 39572
32933 RET
Cell-glyph walk-handler table (was mis-disassembled as code): 3-byte records (glyph, handler word) looked up by DrawDoorArm (33223), which patches the handler into its CALL as it walks an exit path over the room-map grid. Glyphs 126/127/132/133 are straight wall segments -> ArmStraight (33275, a no-op: keep heading); 128-131 are the four corner pieces -> steer handlers that bend the walk by approach direction; 125 '}' (duct grille) and 142/143 (junction nodes) -> ArmEndNode (33388): paint and end the walk.
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: 31964 Up: Map Next: 32967