![]() |
Routines |
| Prev: 57623 | Up: Map | Next: 57780 |
|
Handler for the object types 114 and 115 the sparkle that shows where a bubble has burst (see Handle_Bubble). The counter in byte 8 goes down on each call and the sprite id alternates between 114 and 115 with it. The sparkle is removed (and erased) when the counter reaches zero, and at once if Sabreman is not in the room.
|
||||||||
| Handle_Sparkle | 57740 | CALL StoreEntity | Save the state of the sparkle. | |||||
| 57743 | LD A,(36636) | Fetch the room x of Sabreman. | ||||||
| 57746 | CP (IX+2) | Jump to Remove_Unseen_Weapon to remove the sparkle if it is in a different room x. | ||||||
| 57749 | JP NZ,Remove_Unseen_Weapon | |||||||
| 57752 | LD A,(36638) | Fetch the room y of Sabreman. | ||||||
| 57755 | CP (IX+4) | Jump to Remove_Unseen_Weapon to remove the sparkle if it is in a different room y. | ||||||
| 57758 | JP NZ,Remove_Unseen_Weapon | |||||||
| 57761 | DEC (IX+8) | Decrease the counter and jump to Remove_Thrown_Weapon to remove and erase the sparkle when it reaches zero. | ||||||
| 57764 | JP Z,Remove_Thrown_Weapon | |||||||
| 57767 | LD A,(IX+8) | Fetch the counter. | ||||||
| 57770 | AND %00000001 | Keep only bit 0. | ||||||
| 57772 | ADD A,114 | Add 114 to make the sprite id. | ||||||
| 57774 | LD (IX+0),A | Store the sprite id. | ||||||
| 57777 | JP Update_Object_Sprite | Jump to Update_Object_Sprite. | ||||||
| Prev: 57623 | Up: Map | Next: 57780 |