Prev: F5BE Up: Map Next: F607
F5D1: Draw and update explosions in the Arcade Room.
Used by the routines at Update_Room00 and Invaders_Loop.
Input
Output
Arcade_UpdateExplosions F5D1 LD IX,Arcade_ExplosionSlots
Arcade_UpdateExplosions_0 F5D5 LD A,(IX+$00)
F5D8 CP $FE End of slots.
F5DA RET Z Check for empty slot.
F5DB CP $FF
F5DD JR NZ,Arcade_UpdateExplosions_2
Arcade_UpdateExplosions_1 F5DF INC IX Move onto next.
F5E1 INC IX
F5E3 INC IX
F5E5 JR Arcade_UpdateExplosions_0
Arcade_UpdateExplosions_2 F5E7 LD L,A Get (Y, X) position.
F5E8 LD H,(IX+$01)
F5EB LD A,(IX+$02) Get bitmap index.
F5EE LD (BitmapX),HL Erase explosion.
F5F1 CALL Bitmap16Draw
F5F4 INC A Next frame in animation.
F5F5 CP $A5 Check for end of animation.
F5F7 JR NZ,Arcade_UpdateExplosions_3
F5F9 LD (IX+$00),$FF Make slot empty.
F5FD JR Arcade_UpdateExplosions_1
Arcade_UpdateExplosions_3 F5FF LD (IX+$02),A Store animation and draw.
F602 CALL Bitmap16Draw
F605 JR Arcade_UpdateExplosions_1
Prev: F5BE Up: Map Next: F607