![]() |
Routines |
| Prev: DE70 | Up: Map | Next: DEDA |
|
Used by the routine at Move_Thrown_Weapon.
Makes a puff of dust at the position of an object, by copying the object to the record at Dust_Record and changing the type of the copy to 4A. Nothing happens if that record is already in use. The puff lasts for four frames (see Handle_Dust). The routine finishes by playing a deep tone.
|
||||||||
| Make_Dust_Puff | DEB8 | LD A,($8F4A) | Fetch the type of the dust record. | |||||
| DEBB | AND A | Return if the record is already in use. | ||||||
| DEBC | RET NZ | |||||||
| DEBD | PUSH IX | Copy the address of the object record to HL. | ||||||
| DEBF | POP HL | |||||||
| DEC0 | LD DE,$8F4A | Point DE at Dust_Record. | ||||||
| DEC3 | LD BC,$000F | Set a counter of 0F bytes. | ||||||
| DEC6 | LDIR | Copy the object to the dust record, except for its redraw flags. | ||||||
| DEC8 | LD A,$4A | Set the type of the new object to 4A which is a puff of dust. | ||||||
| DECA | LD ($8F4A),A | |||||||
| DECD | LD A,$04 | Set the counter in byte 08 to 04. | ||||||
| DECF | LD ($8F52),A | |||||||
| DED2 | LD A,$01 | Set the redraw flags to 01 so that the puff is drawn without being erased first. | ||||||
| DED4 | LD ($8F59),A | |||||||
| DED7 | JP SoundsBounce | Jump to SoundsBounce. | ||||||
| Prev: DE70 | Up: Map | Next: DEDA |