![]() |
Routines |
| Prev: B7ED | Up: Map | Next: B83F |
|
Handles a fire that moves to and fro along the Y axis at a speed of 02, turning round when it hits something.
|
||||||||
| HandleFireMovingNorthSouth | B80F | CALL SetPixelAdjustments_Ball | Set the pixel adjustments of a ball. | |||||
| B812 | LD (IX+$0B),$01 | Set the speed in Z to 01, so that the fire does not fall. | ||||||
| B816 | BIT 1,(IX+$0D) | Test whether the fire is heading north. | ||||||
| B81A | LD A,$02 | Set the speed to 02. | ||||||
| B81C | JR NZ,HandleFireMovingNorthSouth_Speed | Jump to HandleFireMovingNorthSouth_Speed if it is. | ||||||
| B81E | NEG | Make the speed negative. | ||||||
| HandleFireMovingNorthSouth_Speed | B820 | LD (IX+$0A),A | Set the speed in Y of the fire. | |||||
| B823 | CALL PlaySoundFromYPosition | Play the sound of a block moving along the Y axis. | ||||||
| B826 | CALL ApplyGravityAndMove | Apply gravity to the fire and move it. | ||||||
| B829 | BIT 1,(IX+$0C) | Test whether the fire has hit something along the Y axis. | ||||||
| B82D | LD A,$02 | 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 | B82F | JR Z,HandleFire_Draw | Jump to HandleFire_Draw if the fire did not hit anything. | |||||
| B831 | XOR (IX+$0D) | Flip the direction of the fire. | ||||||
| B834 | LD (IX+$0D),A | Store the direction. | ||||||
| B837 | CALL PlayBumpSound | Play the sound of a bounce. | ||||||
| HandleFire_Draw | B83A | CALL ToggleGraphic | Toggle the graphic of the fire between its two frames. | |||||
| B83D | JR SetDeadlyFlagsAndDraw | Jump to SetDeadlyFlagsAndDraw. | ||||||
| Prev: B7ED | Up: Map | Next: B83F |