![]() |
Routines |
| Prev: 62930 | Up: Map | Next: 62982 |
|
Used by the routine at CheckScoreAwardLife.
Creates the extra life award flash effect. Sets the attribute fill colour to 18 and runs 12 screen-flash frames, each calling Draw_Colour_Flash_Rectangle to repaint the attribute area and Advance_Flash_Colour_Cycle to advance the colour cycling animation. The screen is then wiped by ClearScreenBuffer and a second pass of 12 frames plays with the colour cleared.
|
||||
| Extra_Life_Flash | 62938 | LD A,18 | Set the screen flash colour. | |
| 62940 | LD (50439),A | Write the flash colour to the attribute fill register. | ||
| 62943 | LD A,11 | Set the flash loop counter. | ||
| Extra_Life_Flash_Loop1 | 62945 | PUSH AF | Stash the loop counter on the stack. | |
| 62946 | CALL Draw_Colour_Flash_Rectangle | Repaint the display with the flash colour. | ||
| 62949 | CALL Advance_Flash_Colour_Cycle | Advance the colour cycling animation. | ||
| 62952 | POP AF | Restore the loop counter from the stack. | ||
| 62953 | DEC A | Decrease the loop counter and loop back for the next frame. | ||
| 62954 | CP 255 | |||
| 62956 | JR NZ,Extra_Life_Flash_Loop1 | |||
|
Wipe the screen, clear the flash colour and run a second pass.
|
||||
| 62958 | CALL ClearScreenBuffer | Wipe the screen. | ||
| 62961 | LD A,0 | Clear the attribute fill register. | ||
| 62963 | LD (50439),A | |||
| 62966 | LD A,11 | Set the second loop counter. | ||
| Extra_Life_Flash_Loop2 | 62968 | PUSH AF | Stash the loop counter on the stack. | |
| 62969 | CALL Draw_Colour_Flash_Rectangle | Repaint the display with the cleared colour. | ||
| 62972 | CALL Advance_Flash_Colour_Cycle | Advance the colour cycling animation. | ||
| 62975 | POP AF | Restore the loop counter from the stack. | ||
| 62976 | DEC A | Decrease the loop counter and loop back for the next frame. | ||
| 62977 | CP 255 | |||
| 62979 | JR NZ,Extra_Life_Flash_Loop2 | |||
| 62981 | RET | Return. | ||
| Prev: 62930 | Up: Map | Next: 62982 |