![]() |
Routines |
| Prev: 7367 | Up: Map | Next: 73E1 |
Handles room 08 logic. The current level in B controls which objects are initialised or updated on each pass.
|
||||||||||||||||||||||
| Handler_Room08 | 73A4 | LD A,B | Copy the current level into A. | |||||||||||||||||||
| 73A5 | LD IX,$DAC8 | IX=Sprite02_3Wide_X_Position. | ||||||||||||||||||||
| 73A9 | PUSH AF | Stash the current level on the stack. | ||||||||||||||||||||
|
Add the helicopter.
|
||||||||||||||||||||||
| 73AA | CALL Handler_Helicopter | Call Handler_Helicopter. | ||||||||||||||||||||
| 73AD | POP AF | Restore the current level from the stack. | ||||||||||||||||||||
|
Add a cat for any level other than level 03.
|
||||||||||||||||||||||
| 73AE | LD IX,$DACC | IX=Sprite03_3Wide_X_Position. | ||||||||||||||||||||
| 73B2 | CP $01 | Return if this is level 01. | ||||||||||||||||||||
| 73B4 | RET Z | |||||||||||||||||||||
| 73B5 | PUSH AF | Stash the current level on the stack. | ||||||||||||||||||||
| 73B6 | CP $03 | Call Handler_Cat if this is not level 03. | ||||||||||||||||||||
| 73B8 | CALL NZ,Handler_Cat | |||||||||||||||||||||
| 73BB | POP AF | Restore the current level from the stack. | ||||||||||||||||||||
| 73BC | CP $02 | Return if this is level 02 or 03. | ||||||||||||||||||||
| 73BE | RET Z | |||||||||||||||||||||
| 73BF | CP $03 | |||||||||||||||||||||
| 73C1 | RET Z | |||||||||||||||||||||
|
Add the balloon for level 04 and above.
|
||||||||||||||||||||||
| 73C2 | PUSH AF | Stash the current level on the stack. | ||||||||||||||||||||
| 73C3 | LD IX,$DAD0 | IX=Sprite04_3Wide_X_Position. | ||||||||||||||||||||
| 73C7 | CALL Handler_Balloon | Call Handler_Balloon. | ||||||||||||||||||||
| 73CA | POP AF | Restore the current level from the stack. | ||||||||||||||||||||
| 73CB | PUSH AF | Stash the current level on the stack. | ||||||||||||||||||||
|
Add the parachute if this is level 04 or higher.
|
||||||||||||||||||||||
| 73CC | LD IX,$DAD8 | IX=Sprite06_3Wide_X_Position. | ||||||||||||||||||||
| 73D0 | CP $03 | Call Handler_Parachute_Descent (parachute); only reached on level 04 or higher, as earlier levels have already returned. | ||||||||||||||||||||
| 73D2 | CALL NC,Handler_Parachute_Descent | |||||||||||||||||||||
| 73D5 | POP AF | Restore the current level from the stack. | ||||||||||||||||||||
| 73D6 | CP $04 | Return if this is level 04. | ||||||||||||||||||||
| 73D8 | RET Z | |||||||||||||||||||||
|
Add the walking paratrooper if this is level 05.
|
||||||||||||||||||||||
| 73D9 | LD IX,$DAD4 | IX=Sprite05_3Wide_X_Position. | ||||||||||||||||||||
| 73DD | CALL Handler_Walking_Paratrooper | Call Handler_Walking_Paratrooper. | ||||||||||||||||||||
| 73E0 | RET | Return. | ||||||||||||||||||||
| Prev: 7367 | Up: Map | Next: 73E1 |