Prev: 53064 Up: Map Next: 53087
53072: Check Wall Horizontal
Used by the routine at TestMoveRight.
Checks whether an object that is moving in the direction of heading one touches a wall in the cell containing a point. If it does, HorizontalSpeed is reduced by twice the depth and the object is marked as having hit a wall.
Input
DE The horizontal position of the point
HL The vertical position of the point
IX The address of the object
Output
F The carry flag is set if the object hit a wall
Check the walls, then push the object back if it is touching one.
CheckWallHorizontal 53072 CALL CheckWallsVerticalFirst Call CheckWallsVerticalFirst.
53075 RET NC Return if the object is not touching a wall.
This entry point is used by the routine at CheckWallHorizontalReverse.
Reduce HorizontalSpeed by twice the depth.
CheckWallHorizontal_PushBack 53076 ADD A,A Double the depth and keep it in C.
53077 LD C,A
53078 LD A,(41492) Fetch HorizontalSpeed.
53081 ADD A,C Add the depth and set HorizontalSpeed.
53082 LD (41492),A
53085 JR CheckWall_Hit Jump to CheckWall_Hit.
View the equivalent code in;
Prev: 53064 Up: Map Next: 53087