| alien | Routines |
| Prev: 43610 | Up: Map | Next: 44561 |
|
Refreshes the crew-status display at the right side of the game window. Scans all 7 crew records starting at the alive-flag byte (29581 = $7386+7). For each crew member: if its crew-ID matches the alien's current target (33703) it is highlighted; if its alive flag is 0 (dead) the scan stops early (crew records are kept in alive-descending order). Live crew members get their portrait sprite drawn at the status panel position ($40A4 column).
|
||||||||
| 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 = alien's target crew ID (33703) | ||||||
| 44326 | CP C | is this crew member the alien's current target? | ||||||
| 44327 | JR Z,44332 | yes: always include (even if at door) | ||||||
| 44329 | XOR A | A = 0 | ||||||
| 44330 | CP (HL) | alive flag = 0? | ||||||
| 44331 | RET Z | dead crew member: stop scan here | ||||||
| 44332 | INC C | advance crew index | ||||||
| 44333 | ADD HL,DE | HL → alive-flag of next crew record | ||||||
| 44334 | DJNZ 44323 | repeat for all 7 crew | ||||||
| 44336 | JP 44242 | draw live-crew portraits in status column | ||||||
|
This entry point is used by the routine at 43610.
|
||||||||
| 44339 | LD HL,16452 | |||||||
| 44342 | LD (31257),HL | |||||||
| 44345 | LD B,25 | |||||||
| 44347 | LD DE,41997 | |||||||
| 44350 | CALL 44509 | |||||||
| 44353 | RET | |||||||
|
This entry point is used by the routine at 43610.
|
||||||||
| 44354 | LD HL,16548 | |||||||
| 44357 | LD (31257),HL | |||||||
| 44360 | LD BC,1793 | |||||||
| 44363 | LD IX,29574 | |||||||
| 44367 | LD DE,8 | |||||||
| 44370 | PUSH BC | |||||||
| 44371 | PUSH DE | |||||||
| 44372 | LD A,(33703) | |||||||
| 44375 | CP C | |||||||
| 44376 | JR Z,44420 | |||||||
| 44378 | LD A,(IX+7) | |||||||
| 44381 | AND A | |||||||
| 44382 | JR Z,44420 | |||||||
| 44384 | CP 255 | |||||||
| 44386 | JR Z,44420 | |||||||
| 44388 | LD HL,(31257) | |||||||
| 44391 | PUSH HL | |||||||
| 44392 | LD A,C | |||||||
| 44393 | CALL 31690 | |||||||
| 44396 | LD DE,42022 | |||||||
| 44399 | LD B,8 | |||||||
| 44401 | CALL 44509 | |||||||
| 44404 | POP HL | |||||||
| 44405 | LD DE,64 | |||||||
| 44408 | LD A,L | |||||||
| 44409 | CP 224 | |||||||
| 44411 | JR C,44416 | |||||||
| 44413 | LD DE,1856 | |||||||
| 44416 | ADD HL,DE | |||||||
| 44417 | LD (31257),HL | |||||||
| 44420 | POP DE | |||||||
| 44421 | ADD IX,DE | |||||||
| 44423 | POP BC | |||||||
| 44424 | INC C | |||||||
| 44425 | DJNZ 44370 | |||||||
| 44427 | RET | |||||||
|
This entry point is used by the routine at 43610.
|
||||||||
| 44428 | LD HL,20516 | |||||||
| 44431 | LD (31257),HL | |||||||
| 44434 | LD A,(33703) | |||||||
| 44437 | CP 8 | |||||||
| 44439 | RET NC | |||||||
| 44440 | CALL 31690 | |||||||
| 44443 | LD DE,42030 | |||||||
| 44446 | LD B,16 | |||||||
| 44448 | CALL 44509 | |||||||
| 44451 | RET | |||||||
|
This entry point is used by the routine at 43610.
|
||||||||
| 44452 | LD A,(40503) | |||||||
| 44455 | CP 100 | |||||||
| 44457 | JR C,44461 | |||||||
| 44459 | LD A,100 | |||||||
| 44461 | CALL 45207 | |||||||
| 44464 | LD (42065),HL | |||||||
| 44467 | AND A | |||||||
| 44468 | JR Z,44494 | |||||||
| 44470 | LD B,A | |||||||
| 44471 | LD HL,42066 | |||||||
| 44474 | LD A,58 | |||||||
| 44476 | INC (HL) | |||||||
| 44477 | CP (HL) | |||||||
| 44478 | JR NZ,44492 | |||||||
| 44480 | LD (HL),48 | |||||||
| 44482 | DEC HL | |||||||
| 44483 | INC (HL) | |||||||
| 44484 | CP (HL) | |||||||
| 44485 | JR NZ,44491 | |||||||
| 44487 | CALL 45216 | |||||||
| 44490 | INC HL | |||||||
| 44491 | INC HL | |||||||
| 44492 | DJNZ 44476 | |||||||
| 44494 | LD HL,20612 | |||||||
| 44497 | LD (31257),HL | |||||||
| 44500 | LD DE,42046 | |||||||
| 44503 | LD B,22 | |||||||
| 44505 | CALL 44509 | |||||||
| 44508 | RET | |||||||
| 44509 | PUSH BC | |||||||
| 44510 | PUSH DE | |||||||
| 44511 | CALL 31369 | |||||||
| 44514 | POP DE | |||||||
| 44515 | INC DE | |||||||
| 44516 | LD HL,31257 | |||||||
| 44519 | INC (HL) | |||||||
| 44520 | POP BC | |||||||
| 44521 | DJNZ 44509 | |||||||
| 44523 | RET | |||||||
|
This entry point is used by the routine at 37490.
|
||||||||
| 44524 | CALL 44561 | |||||||
| 44527 | LD HL,29581 | |||||||
| 44530 | LD B,7 | |||||||
| 44532 | LD DE,8 | |||||||
| 44535 | LD (HL),2 | |||||||
| 44537 | ADD HL,DE | |||||||
| 44538 | DJNZ 44535 | |||||||
| 44540 | LD HL,16389 | |||||||
| 44543 | LD (31257),HL | |||||||
| 44546 | LD DE,42183 | |||||||
| 44549 | LD B,21 | |||||||
| 44551 | CALL 44509 | |||||||
| 44554 | XOR A | |||||||
| 44555 | LD (40503),A | |||||||
| 44558 | JP 44138 | |||||||
| Prev: 43610 | Up: Map | Next: 44561 |