| Alien (BUGFIX 1.7) | Routines |
| Prev: 44125 | Up: Map | Next: 44339 |
|
Formerly mislabelled "DrawStatusPanel" — it draws nothing. Called once per frame from the main loop: walk the +7 status column of crew slots 1-7 and return as soon as any HUMAN crew member is still alive (status 0). The Android slot (33703) is skipped — an Android alone does not keep the mission going. If no live human is found, fall through to Endgame_CrewLost: "Humanoid life levels minimal". (Short Game: AlienTargetID is 9, so no slot is skipped; the four absent crew have non-zero status from ShortGameCrewInit.)
Used by the routine at 36457.
|
||||
| 44313 | LD HL,29581 | HL = slot 1's +7 status byte (29581) | ||
| 44316 | XOR A | A = 0 | ||
| 44317 | LD BC,1793 | B=7 (7 crew members), C=1 (crew index, 1-based) | ||
| 44320 | LD DE,8 | DE = 8 (crew record stride) | ||
| 44323 | LD A,(33703) | A = the Android's slot index (33703) | ||
| 44326 | CP C | is this slot the Android? | ||
| 44327 | JR Z,44332 | yes: an Android doesn't count as a survivor | ||
| 44329 | XOR A | A = 0 | ||
| 44330 | CP (HL) | status 0 = alive? | ||
| 44331 | RET Z | a human lives: the game goes on | ||
| 44332 | INC C | advance crew index | ||
| 44333 | ADD HL,DE | HL -> next record's status byte | ||
| 44334 | DJNZ 44323 | repeat for all 7 crew | ||
| 44336 | JP 44242 | nobody left: Endgame_CrewLost | ||
| Prev: 44125 | Up: Map | Next: 44339 |