Routines |
Prev: D05B | Up: Map | Next: D0AC |
Used by the routines at TitleScreen and GoldfishGame.
|
||||
When a new game starts, the player lives have already been set to 04 in DisplayIntroductionScreen.
*GameState will be set to 02 after the player has collected the golden key and the game restarts. This is how the game ensures that the lives and booty count are not reset.
Game modes 01 and 02 appear to be mostly identical, however as the booty count is retained in the new game - this means the animals will continue to appear more frequently as the count checks if the number of items of booty is higher than 100. See the check at AnimalsEventTiming.
|
||||
StartGame | D08A | LD A,($5BF1) | Jump to SetNormalGame if *PlayerLives is equal to 04. | |
D08D | CP $04 | |||
D08F | JR Z,SetNormalGame | |||
Else the game has been looped already so set *GameState accordingly.
|
||||
D091 | LD A,$02 | Write "Game Looped Mode" (02) to *GameState. | ||
D093 | LD ($5BF0),A | |||
D096 | JP NewGame | Jump to NewGame. | ||
This is a normal "new" game.
|
||||
SetNormalGame | D099 | LD A,$01 | Write "Normal Game" (01) to *GameState. | |
D09B | LD ($5BF0),A | |||
Initialise...
|
||||
NewGame | D09E | CALL InitialiseGame | Call InitialiseGame. | |
This looks as though the game might start the Goldfish Game if you reach here without losing all your lives?
|
||||
D0A1 | LD A,($5BF1) | Jump to DisplayIntroductionScreen if *PlayerLives is equal to FF. | ||
D0A4 | CP $FF | |||
D0A6 | JP Z,DisplayIntroductionScreen | |||
D0A9 | JP GoldfishGame_InitialiseGame | Jump to GoldfishGame_InitialiseGame. |
Prev: D05B | Up: Map | Next: D0AC |