Prev: 44125 Up: Map Next: 44339
44313: CheckCrewAlive — the per-frame crew-extinction gate
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