Prev: A253 Up: Map Next: A299
A272: Animate Pickup Debris
Step the 10 debris particles at Debris_Particles, repeating until none of them is still moving (DebrisCount is zero).
AnimatePickupDebris A272 XOR A Write 00 to DebrisCount.
A273 LD ($5E69),A
A276 LD A,($5E7B) Fetch Debris_Pitch.
A279 DEC A Decrease it by one.
A27A LD ($5E7B),A Write it back.
A27D CALL SoundsDebris Call SoundsDebris.
Step each of the 10 debris particles in turn.
A280 LD IX,$AA4B IX=Debris_Particles.
A284 LD B,$10 Set a particle counter in B for 10 loops.
AnimatePickupDebris_CallParticle A286 PUSH BC Stash the particle counter on the stack.
A287 CALL MoveDebrisParticle Call MoveDebrisParticle.
A28A LD BC,$0005 Set the step to the next particle in BC to 0005.
A28D ADD IX,BC Move onto the next particle.
A28F POP BC Restore the particle counter from the stack.
A290 DJNZ AnimatePickupDebris_CallParticle Decrease the particle counter by one and loop back to AnimatePickupDebris_CallParticle until all 10 have moved.
Go round again while particles are still moving, else return.
A292 LD A,($5E69) Fetch DebrisCount.
A295 AND A Jump back to AnimatePickupDebris if any particles remain.
A296 JR NZ,AnimatePickupDebris
A298 RET Return.
Prev: A253 Up: Map Next: A299