Prev: C6BD Up: Map Next: C722
C700: Apply Gravity And Move
Input
IX The address of the object
Speed the fall, then stay clear of walls and other objects.
ApplyGravityAndMove C700 DEC (IX+$0B) Take one off the z speed of the object.
C703 CALL BlockMovement Stop the object moving through other objects and the walls of the room.
This entry point is used by the routine at MovePlayer.
Add the speeds to the position.
MoveObject C706 LD A,(IX+$01) Fetch the x position of the object.
C709 ADD A,(IX+$09) Add the speed along the x axis.
C70C LD (IX+$01),A Set the new x position.
C70F LD A,(IX+$02) Fetch the y position of the object.
C712 ADD A,(IX+$0A) Add the speed along the y axis.
C715 LD (IX+$02),A Set the new y position.
C718 LD A,(IX+$03) Fetch the z position of the object.
C71B ADD A,(IX+$0B) Add the speed along the z axis.
C71E LD (IX+$03),A Set the new z position.
C721 RET Return.
View the equivalent code in;
Prev: C6BD Up: Map Next: C722