![]() |
Routines |
| Prev: 29199 | Up: Map | Next: 29285 |
|
Handles room 1 logic. The current level in B controls which objects are initialised or updated on each pass.
|
||||||||||||||||||||
| Handler_Room01 | 29247 | LD A,B | Copy the current level into A. | |||||||||||||||||
| 29248 | CP 1 | Return if this is level 1. | ||||||||||||||||||
| 29250 | RET Z | |||||||||||||||||||
|
Add the helicopter.
|
||||||||||||||||||||
| 29251 | LD IX,56024 | IX=Sprite06_3Wide_X_Position. | ||||||||||||||||||
| 29255 | LD IY,29960 | IY=Helicopter_State_Data_1. | ||||||||||||||||||
| 29259 | PUSH AF | Stash the current level on the stack. | ||||||||||||||||||
| 29260 | CALL Handler_Helicopter | Call Handler_Helicopter. | ||||||||||||||||||
| 29263 | POP AF | Restore the current level from the stack. | ||||||||||||||||||
|
Add the second object (level 3 only).
|
||||||||||||||||||||
| 29264 | LD IX,56028 | IX=Sprite07_3Wide_X_Position. | ||||||||||||||||||
| 29268 | LD IY,29965 | IY=Helicopter_State_Data_2. | ||||||||||||||||||
| 29272 | CP 3 | Is this level 3? | ||||||||||||||||||
| 29274 | PUSH AF | Stash the current level on the stack. | ||||||||||||||||||
| 29275 | CALL Z,Handler_Helicopter_Entry | Call Handler_Helicopter_Entry if this is level 3. | ||||||||||||||||||
| 29278 | POP AF | Restore the current level from the stack. | ||||||||||||||||||
|
Add the balloon if this is level 4 or higher.
|
||||||||||||||||||||
| 29279 | CP 4 | Call Handler_Balloon if this is level 4 or higher. | ||||||||||||||||||
| 29281 | CALL NC,Handler_Balloon | |||||||||||||||||||
| 29284 | RET | Return. | ||||||||||||||||||
| Prev: 29199 | Up: Map | Next: 29285 |