![]() |
Routines |
| Prev: 62E7 | Up: Map | Next: 631E |
|
Used by the routine at Message_SprayBugs.
|
||||
| ResetPlayerData | 62F7 | LD B,$02 | B=02 (loop counter, max. 2 players). | |
| ResetPlayerData_Loop | 62F9 | PUSH BC | Stash BC on the stack. | |
| 62FA | XOR A | Reset ActivePlayer_Level to 00 (level 1). | ||
| 62FB | LD ($5E37),A | |||
| 62FE | LD A,$04 | Set CurrentPlayer_Lives to 04. | ||
| 6300 | LD ($5E38),A | |||
| 6303 | CALL LevelNew_0 | Call LevelNew_0. | ||
| 6306 | CALL ResetFlowerLeaf | Call ResetFlowerLeaf. | ||
| 6309 | CALL ChangePlayer | Call ChangePlayer. | ||
| 630C | POP BC | Restore BC from the stack. | ||
| 630D | DJNZ ResetPlayerData_Loop | Decrease player counter by one and loop back to ResetPlayerData_Loop until counter is zero. | ||
|
2UP has one "extra" life, due to the way the game "spends" a life when your turn starts.
|
||||
| 630F | LD A,$05 | Write 05 to InactivePlayer_Lives. | ||
| 6311 | LD ($5E3A),A | |||
| 6314 | LD A,($5E03) | A=GameOptions. | ||
| 6317 | AND %00000001 | Keep only bit 0 (1 or 2 players). | ||
| 6319 | RET NZ | Return if this is a two player game. | ||
| 631A | LD ($5E3A),A | Else, write 00 to InactivePlayer_Lives (2UP has no lives). | ||
| 631D | RET | Return. | ||
| Prev: 62E7 | Up: Map | Next: 631E |