Prev: 29373 Up: Map Next: 29454
29409: Handler: Room 5
Handles room 5 logic. The current level in B controls which objects are initialised or updated on each pass.
Levels Baddies
1 Helicopter
2 Helicopter, Cat
3 Helicopter, Cat, Plane
4 Helicopter, Cat, Plane, Walking Paratrooper
5+ Helicopter, Cat, Plane, Walking Paratrooper
Input
B Current level
Handler_Room05 29409 LD A,B Copy the current level into A.
Add the helicopter.
29410 LD IX,56008 IX=Sprite02_3Wide_X_Position.
29414 PUSH AF Stash the current level on the stack.
29415 CALL Handler_Helicopter Call Handler_Helicopter.
29418 POP AF Restore the current level from the stack.
29419 CP 1 Return if this is level 1.
29421 RET Z
29422 PUSH AF Stash the current level on the stack.
Add the cat.
29423 LD IX,56012 IX=Sprite03_3Wide_X_Position.
29427 CALL Handler_Cat Call Handler_Cat.
29430 POP AF Restore the current level from the stack.
29431 CP 2 Return if this is level 2.
29433 RET Z
Add the plane.
29434 LD IX,56016 IX=Sprite04_3Wide_X_Position.
29438 PUSH AF Stash the current level on the stack.
29439 CALL Handler_Plane Call Handler_Plane.
29442 POP AF Restore the current level from the stack.
29443 CP 3 Return if this is level 3.
29445 RET Z
Add the walking paratrooper.
29446 LD IX,56020 IX=Sprite05_3Wide_X_Position.
29450 CALL Handler_Walking_Paratrooper Call Handler_Walking_Paratrooper.
29453 RET Return.
Prev: 29373 Up: Map Next: 29454