![]() |
Routines |
| Prev: B7E7 | Up: Map | Next: B80F |
|
Handles a fire that moves to and fro along the X axis at a speed of 02, turning round when it hits something.
|
||||||||
|
Move along X and turn if the fire hits something.
|
||||||||
| HandleFireMovingEastWest | B7ED | CALL SetPixelAdjustments_Ball | Set the pixel adjustments of a ball. | |||||
| B7F0 | LD (IX+$0B),$01 | Set the speed in Z to 01, so that the fire does not fall. | ||||||
| B7F4 | BIT 0,(IX+$0D) | Test whether the fire is heading east. | ||||||
| B7F8 | LD A,$02 | Set the speed to 02. | ||||||
| B7FA | JR NZ,HandleFireMovingEastWest_Speed | Jump to HandleFireMovingEastWest_Speed if it is. | ||||||
| B7FC | NEG | Make the speed negative. | ||||||
| HandleFireMovingEastWest_Speed | B7FE | LD (IX+$09),A | Set the speed in X of the fire. | |||||
| B801 | CALL PlaySoundFromXPosition | Play the sound of a block moving along the X axis. | ||||||
| B804 | CALL ApplyGravityAndMove | Apply gravity to the fire and move it. | ||||||
| B807 | BIT 0,(IX+$0C) | Test whether the fire has hit something along the X axis. | ||||||
| B80B | LD A,$01 | Set the direction bit to flip to bit 0. | ||||||
| B80D | JR HandleFire_Turn | Jump to HandleFire_Turn. | ||||||
| Prev: B7E7 | Up: Map | Next: B80F |