Prev: 41555 Up: Map Next: 41625
41586: Animate Pickup Debris
Step the 16 debris particles at Debris_Particles, repeating until none of them is still moving (DebrisCount is zero).
AnimatePickupDebris 41586 XOR A Write 0 to DebrisCount.
41587 LD (24169),A
41590 LD A,(24187) Fetch Debris_Pitch.
41593 DEC A Decrease it by one.
41594 LD (24187),A Write it back.
41597 CALL SoundsDebris Call SoundsDebris.
Step each of the 16 debris particles in turn.
41600 LD IX,43595 IX=Debris_Particles.
41604 LD B,16 Set a particle counter in B for 16 loops.
AnimatePickupDebris_CallParticle 41606 PUSH BC Stash the particle counter on the stack.
41607 CALL MoveDebrisParticle Call MoveDebrisParticle.
41610 LD BC,5 Set the step to the next particle in BC to 0005.
41613 ADD IX,BC Move onto the next particle.
41615 POP BC Restore the particle counter from the stack.
41616 DJNZ AnimatePickupDebris_CallParticle Decrease the particle counter by one and loop back to AnimatePickupDebris_CallParticle until all 16 have moved.
Go round again while particles are still moving, else return.
41618 LD A,(24169) Fetch DebrisCount.
41621 AND A Jump back to AnimatePickupDebris if any particles remain.
41622 JR NZ,AnimatePickupDebris
41624 RET Return.
Prev: 41555 Up: Map Next: 41625