Prev: 6F37 Up: Map Next: 6F77
6F41: 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 6F41 BIT 0,(IX+$04) Jump to Robbie_CarryingCan_MoveRight if Robbie is facing right.
6F45 JR Z,Robbie_CarryingCan_MoveRight
6F47 LD A,(IX+$01) A=the X position of Robbie.
6F4A SUB $0C Subtract 0C.
6F4C LD (IX+$01),A Write the new X position.
6F4F LD A,(IX+$09) A=the X position of the spray can.
6F52 ADD A,$10 Add 10.
6F54 LD (IX+$0D),A Write it to the new X position of the spray can.
6F57 RES 0,(IX+$04) Reset bit 0 of IX+04 (Robbie faces right).
6F5B RES 2,(IX+$04) Reset bit 2 of IX+04.
6F5F JR Robbie_CarryingCan_StoreCanX Jump to Robbie_CarryingCan_StoreCanX.
Robbie_CarryingCan_MoveRight 6F61 LD A,(IX+$01) A=the X position of Robbie.
6F64 ADD A,$02 Add 02.
6F66 CP $CC Jump to Robbie_CarryingCan_CubbyColumn if Robbie has reached the cubby hole column.
6F68 JR NC,Robbie_CarryingCan_CubbyColumn
6F6A LD (IX+$01),A Write the new X position.
6F6D LD A,(IX+$09) A=the X position of the spray can.
6F70 ADD A,$02 Add 02.
This entry point is used by the routine at Robbie_CarryingCan_Left.
Robbie_CarryingCan_StoreCanX 6F72 LD (IX+$0D),A Write it to the new X position of the spray can.
6F75 JR Robbie_CarryingCan_Vertical Jump to Robbie_CarryingCan_Vertical.
Prev: 6F37 Up: Map Next: 6F77