![]() |
Routines |
| Prev: 69D4 | Up: Map | Next: 6A46 |
|
Used by the routines at HandleTackWasherBolt and HandleChocolate.
Changes the speeds of the actor by one towards the direction in byte 06 of the actor (bit 0 is set for down, and bit 1 is set for right), but only every other frame. The speeds are limited to 02 in either direction. The actor is then moved by MoveBouncingActor.
|
||||||||
| ChangeActorSpeeds | 6A05 | BIT 0,(IX+$07) | Jump to ChangeActorSpeeds_Move if bit 0 of the frame counter is set. | |||||
| 6A09 | JR NZ,ChangeActorSpeeds_Move | |||||||
| 6A0B | BIT 0,(IX+$06) | Jump to ChangeActorSpeeds_Up if the actor is not moving down. | ||||||
| 6A0F | JR Z,ChangeActorSpeeds_Up | |||||||
| 6A11 | LD A,(IX+$05) | Fetch the vertical speed. | ||||||
| 6A14 | CP $02 | Jump to ChangeActorSpeeds_Horizontal if it is already at the limit. | ||||||
| 6A16 | JR Z,ChangeActorSpeeds_Horizontal | |||||||
| 6A18 | INC (IX+$05) | Increase the vertical speed by one. | ||||||
| ChangeActorSpeeds_Horizontal | 6A1B | BIT 1,(IX+$06) | Jump to ChangeActorSpeeds_Left if the actor is not moving right. | |||||
| 6A1F | JR Z,ChangeActorSpeeds_Left | |||||||
| 6A21 | LD A,(IX+$04) | Fetch the horizontal speed. | ||||||
| 6A24 | CP $02 | Jump to ChangeActorSpeeds_Move if it is already at the limit. | ||||||
| 6A26 | JR Z,ChangeActorSpeeds_Move | |||||||
| 6A28 | INC (IX+$04) | Increase the horizontal speed by one. | ||||||
|
This entry point is used by the routine at HandleChocolate.
|
||||||||
| ChangeActorSpeeds_Move | 6A2B | JP MoveBouncingActor | Move the actor using MoveBouncingActor. | |||||
| ChangeActorSpeeds_Up | 6A2E | LD A,(IX+$05) | Fetch the vertical speed. | |||||
| 6A31 | CP $FE | Jump to ChangeActorSpeeds_Horizontal if it is already at the limit. | ||||||
| 6A33 | JR Z,ChangeActorSpeeds_Horizontal | |||||||
| 6A35 | DEC (IX+$05) | Decrease the vertical speed by one. | ||||||
| 6A38 | JR ChangeActorSpeeds_Horizontal | Jump to ChangeActorSpeeds_Horizontal. | ||||||
| ChangeActorSpeeds_Left | 6A3A | LD A,(IX+$04) | Fetch the horizontal speed. | |||||
| 6A3D | CP $FE | Jump to ChangeActorSpeeds_Move if it is already at the limit. | ||||||
| 6A3F | JR Z,ChangeActorSpeeds_Move | |||||||
| 6A41 | DEC (IX+$04) | Decrease the horizontal speed by one. | ||||||
| 6A44 | JR ChangeActorSpeeds_Move | Jump to ChangeActorSpeeds_Move. | ||||||
| Prev: 69D4 | Up: Map | Next: 6A46 |