projects
/
rocksndiamonds.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
added setup option to skip displaying the high scores after solving a level
[rocksndiamonds.git]
/
src
/
game.c
diff --git
a/src/game.c
b/src/game.c
index ca13127d2e7a5866aef72e02591ed0b87daa459a..2cf0e9aa46a468e4eacf98bf528d34964359d322 100644
(file)
--- a/
src/game.c
+++ b/
src/game.c
@@
-4650,7
+4650,7
@@
void GameWon()
void GameEnd()
{
int hi_pos;
void GameEnd()
{
int hi_pos;
-
boolean raise_level = FALSE
;
+
int last_level_nr = level_nr
;
local_player->LevelSolved_GameEnd = TRUE;
local_player->LevelSolved_GameEnd = TRUE;
@@
-4693,32
+4693,36
@@
void GameEnd()
if (setup.increment_levels &&
level_nr < leveldir_current->last_level)
if (setup.increment_levels &&
level_nr < leveldir_current->last_level)
- raise_level = TRUE; /* advance to next level */
-
- if ((hi_pos = NewHiScore(level_nr)) >= 0)
{
{
- SetGameStatus(GAME_MODE_SCORES);
-
- DrawHallOfFame(level_nr, hi_pos);
+ level_nr++; /* advance to next level */
+ TapeErase(); /* start with empty tape */
- if (
raise
_level)
+ if (
setup.auto_play_next
_level)
{
{
- level_nr++;
- TapeErase();
+ LoadLevel(level_nr);
+
+ SaveLevelSetup_SeriesInfo();
}
}
}
}
- else
+
+ hi_pos = NewHiScore(last_level_nr);
+
+ if (hi_pos >= 0 && !setup.skip_scores_after_game)
{
{
- SetGameStatus(GAME_MODE_
MAIN
);
+ SetGameStatus(GAME_MODE_
SCORES
);
- if (raise_level)
- {
- level_nr++;
- TapeErase();
- }
+ DrawHallOfFame(last_level_nr, hi_pos);
+ }
+ else if (!setup.auto_play_next_level || !setup.increment_levels)
+ {
+ SetGameStatus(GAME_MODE_MAIN);
DrawMainMenu();
}
DrawMainMenu();
}
+ else
+ {
+ StartGameActions(network.enabled, setup.autorecord, level.random_seed);
+ }
}
int NewHiScore(int level_nr)
}
int NewHiScore(int level_nr)