Prev: C27D Up: Map Next: C2A5
C28B: Handle Special Object
Handles the graphic numbers 60 to 66, 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 C28B CALL SetPixelAdjustments_Sparkle Set the pixel adjustments of a sparkle.
C28E CALL ApplyGravityAndMove Apply gravity to the object and move it.
C291 BIT 0,(IX+$0D) Jump to HandleSpecialObject_Fall if the object has just been dropped.
C295 JR NZ,HandleSpecialObject_Fall
C297 CALL TestObjectMoving Test whether the object is moving.
C29A RET Z Return if it is not.
HandleSpecialObject_Fall C29B RES 0,(IX+$0D) Clear the flag that says the object has just been dropped.
C29F CALL MovePlayer_Stop Clear the speeds in X and Y.
C2A2 JP DrawMovingObject Play the sound of a moving object and flag the object to be drawn again.
Prev: C27D Up: Map Next: C2A5