![]() |
Routines |
| Prev: C6BD | Up: Map | Next: C722 |
|
Used by the routines at SetSparkleSpeed, HandleBouncingBall, HandleDroppingBlock, HandleGuardMovingEastWest, HandleSpikedBall, HandleFireMovingEastWest, HandleFireMovingNorthSouth, HandleBallUpDown, HandleCauldronBubbles, HandleRepelSpell, HandleGuardOrWizard, HandleObjectDroppedInCauldron, HandleSpecialObject, HandleChest, HandleTable, HandleGhost and HandleMovingPortcullis.
Makes an object fall faster, then moves it. MoveObject only moves 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. | ||||||
| Prev: C6BD | Up: Map | Next: C722 |