![]() |
Routines |
| Prev: 43136 | Up: Map | Next: 43235 |
|
Spend a life for the active player. In a 2UP game, swap to the other player when they still have lives left.
|
||||
|
1UP path.
|
||||
| LoseLife | 43189 | LD A,(24064) | A=*GameOptions. | |
| 43192 | AND %00000001 | Keep only bit 0. | ||
| 43194 | JR NZ,LoseLife_2UP | Jump to LoseLife_2UP if this is a 2UP game. | ||
| LoseLife_Loop | 43196 | LD A,(24225) | Jump to GameOver_Check_Player_2UP if ActivePlayer_Lives is zero. | |
| 43199 | AND A | |||
| 43200 | JR Z,GameOver_Check_Player_2UP | |||
| 43202 | JP LevelInitialisation | Jump to LevelInitialisation. | ||
|
2UP path.
|
||||
| LoseLife_2UP | 43205 | LD A,(24229) | Jump to LoseLife_Loop if InactivePlayer_Lives is zero. | |
| 43208 | AND A | |||
| 43209 | JR Z,LoseLife_Loop | |||
| 43211 | LD A,(24225) | Call GameOver_Check_Player_1UP if ActivePlayer_Lives is zero. | ||
| 43214 | AND A | |||
| 43215 | CALL Z,GameOver_Check_Player_1UP | |||
| 43218 | CALL ChangePlayer | Call ChangePlayer. | ||
| 43221 | XOR A | Write 0 to PlayerInactive. | ||
| 43222 | LD (24172),A | |||
| 43225 | LD A,(24165) | Flip Flag_ActivePlayer to the other player. | ||
| 43228 | CPL | |||
| 43229 | LD (24165),A | |||
| 43232 | JP LevelInitialisation | Jump to LevelInitialisation. | ||
| Prev: 43136 | Up: Map | Next: 43235 |