| Alien (BUGFIX 1.7) | Routines |
| Prev: 33600 | Up: Map | Next: 33644 |
|
Called by DrawRoomMates with A = actor slot before each mate's name is printed. If the actor's status byte (ActorRecords +7) is non-zero (dead/removed), draw strip 94 ("Body of ") at the current draw position and advance DrawScreenPtr 8 cells so the name lands right after the prefix. A is preserved.
|
||||
| 33610 | PUSH AF | save the actor slot | ||
| 33611 | LD HL,29573 | HL = ActorRecords slot 0 byte +7 (status) | ||
| 33614 | LD DE,8 | |||
| 33617 | LD B,A | step to slot A's status byte (slot >= 1 here) | ||
| 33618 | ADD HL,DE | |||
| 33619 | DJNZ 33618 | |||
| 33621 | LD A,(HL) | status: 0 = alive | ||
| 33622 | AND A | |||
| 33623 | JR Z,33642 | alive: no prefix | ||
| 33625 | LD HL,(31257) | |||
| 33628 | PUSH HL | |||
| 33629 | LD A,94 | strip 94 = "Body of " | ||
| 33631 | CALL 31634 | DrawSprite prints it at DrawScreenPtr | ||
| 33634 | POP HL | |||
| 33635 | LD DE,8 | advance the draw pointer 8 cells: the name | ||
| 33638 | ADD HL,DE | overprints the strip's trailing spaces | ||
| 33639 | LD (31257),HL | |||
| 33642 | POP AF | restore the actor slot | ||
| 33643 | RET | |||
| Prev: 33600 | Up: Map | Next: 33644 |