Prev: 28471 Up: Map Next: 28535
28481: Move Robbie Right
Used by the routine at Robbie_CarryingCan.
Right is being pressed while Robbie is carrying a can. If he is facing left then he turns round, otherwise he moves two pixels to the right. The can moves with him.
Input
IX Robbie object
Robbie_CarryingCan_Right 28481 BIT 0,(IX+4) Jump to Robbie_CarryingCan_MoveRight if Robbie is facing right.
28485 JR Z,Robbie_CarryingCan_MoveRight
28487 LD A,(IX+1) A=the X position of Robbie.
28490 SUB 12 Subtract 12.
28492 LD (IX+1),A Write the new X position.
28495 LD A,(IX+9) A=the X position of the spray can.
28498 ADD A,16 Add 16.
28500 LD (IX+13),A Write it to the new X position of the spray can.
28503 RES 0,(IX+4) Reset bit 0 of IX+4 (Robbie faces right).
28507 RES 2,(IX+4) Reset bit 2 of IX+4.
28511 JR Robbie_CarryingCan_StoreCanX Jump to Robbie_CarryingCan_StoreCanX.
Robbie_CarryingCan_MoveRight 28513 LD A,(IX+1) A=the X position of Robbie.
28516 ADD A,2 Add 2.
28518 CP 204 Jump to Robbie_CarryingCan_CubbyColumn if Robbie has reached the cubby hole column.
28520 JR NC,Robbie_CarryingCan_CubbyColumn
28522 LD (IX+1),A Write the new X position.
28525 LD A,(IX+9) A=the X position of the spray can.
28528 ADD A,2 Add 2.
This entry point is used by the routine at Robbie_CarryingCan_Left.
Robbie_CarryingCan_StoreCanX 28530 LD (IX+13),A Write it to the new X position of the spray can.
28533 JR Robbie_CarryingCan_Vertical Jump to Robbie_CarryingCan_Vertical.
Prev: 28471 Up: Map Next: 28535