Prev: 38537 Up: Map Next: 38647
38603: Update Object Sprite
Redraws the sprite of the object that IX points at and sets its attributes.
If bit 0 of byte 15 of the object is clear, the sprite is moved with DisplayEntity. If the bit is set, the sprite has no old image on the screen to erase (for example because the room has just been drawn), so the bit is cleared and the sprite is just drawn.
The entry at Update_Object_Sprite_Using_Flags does the same using bit 0 of byte 7 of the object.
Input
IX Object record
Update_Object_Sprite 38603 BIT 0,(IX+15) Jump to Update_Object_Sprite_Reset_Redraw_Flag if the flag is set.
38607 JR NZ,Update_Object_Sprite_Reset_Redraw_Flag
38609 CALL DisplayEntity Erase the sprite at its old position and draw it at the new one.
38612 JP ColourEntity Jump to ColourEntity.
Update_Object_Sprite_Reset_Redraw_Flag 38615 RES 0,(IX+15) Reset bit 0 of the redraw flags of the object.
This entry point is used by the routine at Show_Ending_Screen.
Update_Object_Sprite_Draw 38619 CALL DrawEntity Draw the sprite.
38622 JP ColourEntity Jump to ColourEntity.
This entry point is used by the routine at Handle_Weapon_Pickup.
Update_Object_Sprite_Using_Flags 38625 BIT 0,(IX+7) Jump to Update_Object_Sprite_Reset_Flag if the flag is set.
38629 JR NZ,Update_Object_Sprite_Reset_Flag
38631 CALL DisplayEntity Erase the sprite at its old position and draw it at the new one.
38634 JP ColourEntity Jump to ColourEntity.
Update_Object_Sprite_Reset_Flag 38637 RES 0,(IX+7) Reset bit 0 of the flags of the object.
38641 CALL DrawEntity Draw the sprite.
38644 JP ColourEntity Jump to ColourEntity.
Prev: 38537 Up: Map Next: 38647