Prev: 28090 Up: Map Next: 28401
28370: Update Spray Can
Moves the spray can which Robbie is carrying to its new position, which Robbie works out in IX+5 and IX+6. When Robbie puts the can in a cubby hole, IX+4 is set to 1 and the can is made inactive after it has been drawn for the last time.
Input
IX Spray can object
UpdateSprayCan 28370 CALL StoreEntity Remember the position and state using StoreEntity.
28373 LD A,(IX+5) A=the new X position from IX+5.
28376 LD (IX+1),A Write it to the X position.
28379 LD A,(IX+6) A=the new Y position from IX+6.
28382 LD (IX+2),A Write it to the Y position.
28385 CALL DisplayEntity Erase the sprite at the previous position and draw it at the new position using DisplayEntity.
28388 CALL ColouriseSprite Colour the sprite using ColouriseSprite.
28391 BIT 0,(IX+4) Test bit 0 of IX+4 (the can is being put away).
28395 RET Z Return if it is not.
28396 LD (IX+0),0 Write 0 to IX+0 (the can is inactive).
28400 RET Return.
Prev: 28090 Up: Map Next: 28401