Prev: 55256 Up: Map Next: 55308
55277: Update Shot
The routine for objects of type 80 to 95, the shots that the player fires. A shot moves in a straight line, and turns into a burst when it hits something.
Move the shot along both axes.
UpdateShot 55277 LD A,(IX+5) Set the velocity of the shot from its speed and direction.
55280 CALL SetVelocityFromSpeed
55283 CALL NextSpriteNumber Change the sprite of the shot.
55286 CALL TestMove Check whether the scenery blocks the move along one axis.
55289 CALL MoveObject Move the shot.
55292 CALL TestMove_Keep Check whether the scenery blocks the move along the other axis.
55295 CALL MoveObject Move the shot.
Burst if the shot has hit something.
55298 BIT 0,(IX+7) Return if the shot has not hit anything.
55302 RET Z
55303 LD (IX+0),12 Turn the shot into a burst and return.
55307 RET
Prev: 55256 Up: Map Next: 55308