Prev: 49789 Up: Map Next: 49829
49803: Handle Special Object
Handles the graphic numbers 96 to 102, which are the special objects that the player has to carry to the cauldron. An object that has just been dropped, or is moving, has its speed in X and Y cleared so that it falls straight down.
Input
IX Address of the object
Fall straight down if the object was dropped or is moving.
HandleSpecialObject 49803 CALL SetPixelAdjustments_Sparkle Set the pixel adjustments of a sparkle.
49806 CALL ApplyGravityAndMove Apply gravity to the object and move it.
49809 BIT 0,(IX+13) Jump to HandleSpecialObject_Fall if the object has just been dropped.
49813 JR NZ,HandleSpecialObject_Fall
49815 CALL TestObjectMoving Test whether the object is moving.
49818 RET Z Return if it is not.
HandleSpecialObject_Fall 49819 RES 0,(IX+13) Clear the flag that says the object has just been dropped.
49823 CALL MovePlayer_Stop Clear the speeds in X and Y.
49826 JP DrawMovingObject Play the sound of a moving object and flag the object to be drawn again.
Prev: 49789 Up: Map Next: 49829