Prev: 35973 Up: Map Next: 36034
36014: DispatchCrewAction
Dispatches one crew/alien actor through CrewActionDispatch based on (IX+3). Action 0 returns early. Otherwise jumps to the per-action handler via JP (HL). Called on an actor's action-countdown 1->0 transition: the crew-timer walk (ResetCrewTimers) goes through the CALL Z trampoline at the tail of the 44880 block.
36014 CALL 36579 preliminary actor update
36017 AND A A = current action state from caller
36018 RET Z action 0: nothing more to do
36019 LD E,(IX+3) E = action state (1..7)
36022 LD D,0
36024 LD HL,33876 HL = CrewActionDispatch base
36027 ADD HL,DE HL += action*2 (16-bit-pointer stride)
36028 ADD HL,DE
36029 LD A,(HL) HL = *(table + action*2)
36030 INC HL
36031 LD H,(HL)
36032 LD L,A
36033 JP (HL) tail-call into action handler
Prev: 35973 Up: Map Next: 36034