| Alien (BUGFIX 1.7) | Routines |
| Prev: 35973 | Up: Map | Next: 36034 |
|
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 |