Prev: A272 Up: Map Next: A2CF
A299: Start Teleport
Play the briefing tune and burst debris around Jetman, then rebuild the play area at the new position and rejoin the actor loop at StartGame_DispatchActor. This sets TeleportRestore, so that FinishTeleport finishes the teleport.
StartTeleport A299 DI Disable interrupts.
A29A LD DE,$BA2A DE=Tune_Briefing.
A29D CALL QueueTune Call QueueTune.
A2A0 RST $38 Call the ROM interrupt routine at MASK-INT.
Run the first debris burst.
A2A1 XOR A Write 00 to Debris_Pitch.
A2A2 LD ($5E7B),A
A2A5 CALL FillPickupDebris Call FillPickupDebris.
A2A8 CALL AnimatePickupDebris Call AnimatePickupDebris.
Redraw Jetman's sprite, then run another debris burst.
A2AB LD IX,$6078 IX=Jetman_Slot.
A2AF CALL DrawCachedSprite Call DrawCachedSprite.
A2B2 CALL FillPickupDebris Call FillPickupDebris.
A2B5 CALL AnimatePickupDebris Call AnimatePickupDebris.
Reset the laser beam slots and sprite caches, redraw the play area and rejoin the actor loop.
A2B8 CALL Handler_ResetLaserBeamSlots Call Handler_ResetLaserBeamSlots.
A2BB LD A,$01 Write 01 to TeleportRestore.
A2BD LD ($5E68),A
A2C0 CALL ClearSpriteCaches Call ClearSpriteCaches.
A2C3 CALL MessageTeleporting Call MessageTeleporting.
A2C6 CALL BlankPlayArea Call BlankPlayArea.
A2C9 CALL DrawTerrain Call DrawTerrain.
A2CC JP StartGame_DispatchActor Jump to StartGame_DispatchActor.
Prev: A272 Up: Map Next: A2CF