![]() |
Routines |
| Prev: 47085 | Up: Map | Next: 47167 |
|
Handles a fire that moves to and fro along the Y axis at a speed of 2, turning round when it hits something.
|
||||||||
| HandleFireMovingNorthSouth | 47119 | CALL SetPixelAdjustments_Ball | Set the pixel adjustments of a ball. | |||||
| 47122 | LD (IX+11),1 | Set the speed in Z to 1, so that the fire does not fall. | ||||||
| 47126 | BIT 1,(IX+13) | Test whether the fire is heading north. | ||||||
| 47130 | LD A,2 | Set the speed to 2. | ||||||
| 47132 | JR NZ,HandleFireMovingNorthSouth_Speed | Jump to HandleFireMovingNorthSouth_Speed if it is. | ||||||
| 47134 | NEG | Make the speed negative. | ||||||
| HandleFireMovingNorthSouth_Speed | 47136 | LD (IX+10),A | Set the speed in Y of the fire. | |||||
| 47139 | CALL PlaySoundFromYPosition | Play the sound of a block moving along the Y axis. | ||||||
| 47142 | CALL ApplyGravityAndMove | Apply gravity to the fire and move it. | ||||||
| 47145 | BIT 1,(IX+12) | Test whether the fire has hit something along the Y axis. | ||||||
| 47149 | LD A,2 | Set the direction bit to flip to bit 1. | ||||||
|
This entry point is used by the routine at HandleFireMovingEastWest.
Turn the fire round if it hit something.
|
||||||||
| HandleFire_Turn | 47151 | JR Z,HandleFire_Draw | Jump to HandleFire_Draw if the fire did not hit anything. | |||||
| 47153 | XOR (IX+13) | Flip the direction of the fire. | ||||||
| 47156 | LD (IX+13),A | Store the direction. | ||||||
| 47159 | CALL PlayBumpSound | Play the sound of a bounce. | ||||||
| HandleFire_Draw | 47162 | CALL ToggleGraphic | Toggle the graphic of the fire between its two frames. | |||||
| 47165 | JR SetDeadlyFlagsAndDraw | Jump to SetDeadlyFlagsAndDraw. | ||||||
| Prev: 47085 | Up: Map | Next: 47167 |