void Bang(int, int);
void InitMovDir(int, int);
void InitAmoebaNr(int, int);
-int NewHiScore(int);
+int NewHighScore(int);
void TestIfGoodThingHitsBadThing(int, int, int);
void TestIfBadThingHitsGoodThing(int, int, int);
{
// used instead of "level_nr" (needed for network games)
int last_level_nr = levelset.level_nr;
- int hi_pos;
+ int highlight_position;
game.LevelSolved_GameEnd = TRUE;
}
}
- hi_pos = NewHiScore(last_level_nr);
+ highlight_position = NewHighScore(last_level_nr);
- if (hi_pos >= 0 && setup.show_scores_after_game)
+ if (highlight_position >= 0 && setup.show_scores_after_game)
{
SetGameStatus(GAME_MODE_SCORES);
- DrawHallOfFame(last_level_nr, hi_pos);
+ DrawHallOfFame(last_level_nr, highlight_position);
}
else if (setup.auto_play_next_level && setup.increment_levels &&
last_level_nr < leveldir_current->last_level &&
}
}
-int NewHiScore(int level_nr)
+static int addScoreEntry(void)
{
int i, l;
int position = -1;
boolean one_score_entry_per_name = !program.many_scores_per_name;
- LoadScore(level_nr);
-
if (strEqual(setup.player_name, EMPTY_PLAYER_NAME) ||
game.score_final < scores.entry[MAX_SCORE_ENTRIES - 1].score)
return -1;
break; // player already there with a higher score
}
+ return position;
+}
+
+int NewHighScore(int level_nr)
+{
+ LoadScore(level_nr);
+
+ int position = addScoreEntry();
+
if (position >= 0)
{
SaveScoreTape(level_nr);