| Alien (BUGFIX 1.7) | Routines |
| Prev: 38674 | Up: Map | Next: 38903 |
|
Dispatched via CrewActionDispatch entry 6: the 255-frame countdown queued by HypersleepStart has expired. The sleeper leaves play (+7 = 255, room = 255 — the same removed pattern as the chestburster host) and whatever he carried is stacked in the Cryo Vault (room 15).
|
||||
| 38784 | LD HL,(33700) | L = the sleeper | ||
| 38787 | LD A,12 | msg #12 "{actor} enters hypersleep" | ||
| 38789 | CALL 37176 | |||
| 38792 | LD (IX+7),255 | status = removed from play, | ||
| 38796 | LD (IX+1),255 | room = none | ||
| 38800 | LD HL,29940 | |||
| 38803 | LD A,(33700) | |||
| 38806 | ADD A,128 | E = his back-hand marker | ||
| 38808 | LD E,A | |||
| 38809 | ADD A,32 | D = his front-hand marker | ||
| 38811 | LD D,A | |||
| 38812 | LD C,(IX+1) | (C = 255 now, unused) | ||
| 38815 | LD B,22 | anything he carried | ||
| 38817 | LD A,(HL) | is left in the | ||
| 38818 | CP E | Cryo Vault (room 15): | ||
| 38819 | JR Z,38824 | |||
| 38821 | CP D | |||
| 38822 | JR NZ,38826 | |||
| 38824 | LD (HL),15 | |||
| 38826 | INC HL | |||
| 38827 | DJNZ 38817 | |||
| 38829 | LD A,(31252) | room view on screen (mode 1)? | ||
| 38832 | CP 1 | |||
| 38834 | RET NZ | no: done | ||
| 38835 | LD A,(31241) | sleeper viewed -> rebuild the view, | ||
| 38838 | LD HL,33700 | else redraw the room-mate lists | ||
| 38841 | JP 45676 | (KillActor_Bounce) | ||
| 38844 | NOP | |||
| 38845 | NOP | |||
| 38846 | LD HL,31253 | DestructTicker (per frame) | ||
| 38849 | BIT 0,(HL) | destruct armed? | ||
| 38851 | RET Z | no: done | ||
| 38852 | LD A,(38367) | flash the border from the seconds digit | ||
| 38855 | AND 3 | |||
| 38857 | OUT (254),A | |||
| 38859 | LD HL,38355 | |||
| 38862 | DEC (HL) | |||
| 38863 | RET NZ | |||
| 38864 | LD (HL),20 | every 20 frames = one game second | ||
| 38866 | LD A,47 | '/' = '0'-1: ASCII underflow sentinel | ||
| 38868 | LD HL,(38366) | L = seconds tens, H = seconds units | ||
| 38871 | DEC H | |||
| 38872 | CP H | |||
| 38873 | JR NZ,38897 | |||
| 38875 | LD H,57 | units wrapped: back to '9' | ||
| 38877 | DEC L | |||
| 38878 | CP L | |||
| 38879 | JR NZ,38897 | |||
| 38881 | LD L,53 | tens wrapped: back to '5' (fresh :59..:50) | ||
| 38883 | LD (38366),HL | |||
| 38886 | LD HL,38364 | |||
| 38889 | DEC (HL) | borrow into the minutes digit | ||
| 38890 | CP (HL) | |||
| 38891 | JP Z,38317 | minutes below '0': BOOM - flash + game over | ||
| 38894 | JP 39572 | redraw countdown / oxygen status | ||
| 38897 | LD (38366),HL | |||
| 38900 | JP 39572 | |||
| Prev: 38674 | Up: Map | Next: 38903 |