Prev: C76C Up: Map Next: C7AB
C795: Handle Smoke
Type 07: a puff of smoke. It counts down byte 0C then calls GetTableEntry to fetch a sprite list from SmokeSpriteLists. It jumps to HandleBody_Remove when the counter goes below zero.
Input
IX The address of the object
Count down the frames.
HandleSmoke C795 DEC (IX+$0C) Count down byte 0C.
C798 JP M,HandleBody_Remove Jump to HandleBody_Remove if it is negative.
Point at SmokeSpriteLists.
C79B LD BC,$C7AB Point BC at SmokeSpriteLists.
This entry point is used by the routine at HandleBystander.
Choose the sprite list. BC holds the table.
ChooseSpriteList C79E LD A,(IX+$0C) Fetch byte 0C.
C7A1 CALL GetTableEntry Call GetTableEntry.
C7A4 LD (IX+$0E),L Set the sprite list and return.
C7A7 LD (IX+$0F),H
C7AA RET
Prev: C76C Up: Map Next: C7AB