Prev: 29318 Up: Map Next: 29409
29373: Handler: Room 4
Handles room 4 logic. The current level in B controls which objects are initialised or updated on each pass.
Levels Baddies
1 None
2 Helicopter
3 Helicopter
4 Helicopter, Plane, Balloon
5+ Plane
Input
B Current level
Handler_Room04 29373 LD A,B Copy the current level into A.
29374 CP 1 Return if A is equal to 1.
29376 RET Z
29377 PUSH AF Stash the current level on the stack.
Add the helicopter for levels 2 to 4.
29378 LD IX,56016 IX=Sprite04_3Wide_X_Position.
29382 CP 5 Call Handler_Helicopter if this is not level 5.
29384 CALL NZ,Handler_Helicopter
29387 POP AF Restore the current level from the stack.
Add the plane if this is level 4 or higher.
29388 LD IX,56020 IX=Sprite05_3Wide_X_Position.
29392 PUSH AF Stash the current level on the stack.
29393 CP 3 Call Handler_Plane if this is level 4 or higher.
29395 CALL NC,Handler_Plane
29398 POP AF Restore the current level from the stack.
Add the balloon if this is level 4.
29399 LD IX,56024 IX=Sprite06_3Wide_X_Position.
29403 CP 4 Call Handler_Balloon if this is level 4.
29405 CALL Z,Handler_Balloon
29408 RET Return.
Prev: 29318 Up: Map Next: 29409