Prev: 28481 Up: Map Next: 28586
28535: Move Robbie Left
Used by the routine at Robbie_CarryingCan.
Left is being pressed while Robbie is carrying a can. If he is facing right then he turns round, otherwise he moves two pixels to the left. The can moves with him.
Input
IX Robbie object
Robbie_CarryingCan_Left 28535 BIT 0,(IX+4) Jump to Robbie_CarryingCan_MoveLeft if Robbie is facing left.
28539 JR NZ,Robbie_CarryingCan_MoveLeft
28541 LD A,(IX+1) A=the X position of Robbie.
28544 ADD A,12 Add 12.
28546 LD (IX+1),A Write the new X position.
28549 LD A,(IX+9) A=the X position of the spray can.
28552 SUB 16 Subtract 16.
28554 LD (IX+13),A Write it to the new X position of the spray can.
28557 SET 0,(IX+4) Set bit 0 of IX+4 (Robbie faces left).
28561 RES 2,(IX+4) Reset bit 2 of IX+4.
28565 JR Robbie_CarryingCan_StoreCanX Jump to Robbie_CarryingCan_StoreCanX.
Robbie_CarryingCan_MoveLeft 28567 LD A,(IX+1) A=the X position of Robbie.
28570 SUB 2 Subtract 2.
28572 CP 36 Jump to Robbie_CarryingCan_CubbyColumn if Robbie has reached the cubby hole column.
28574 JR C,Robbie_CarryingCan_CubbyColumn
28576 LD (IX+1),A Write the new X position.
28579 LD A,(IX+9) A=the X position of the spray can.
28582 SUB 2 Subtract 2.
28584 JR Robbie_CarryingCan_StoreCanX Jump to Robbie_CarryingCan_StoreCanX.
Prev: 28481 Up: Map Next: 28586