Prev: 29199 Up: Map Next: 29285
29247: Handler: Room 1
Handles room 1 logic. The current level in B controls which objects are initialised or updated on each pass.
Levels Baddies
1 None
2 Helicopter
3 Helicopter, Helicopter (2nd)
4 Helicopter, Balloon
5+ Helicopter, Balloon
Input
B Current level
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