SetGameStatus(GAME_MODE_SCORES);
- DrawHallOfFame(-1);
+ DrawHallOfFame(level_nr, -1);
}
else if (pos == MAIN_CONTROL_EDITOR)
{
HandleChooseTree(mx, my, dx, dy, button, &level_number_current);
}
-void DrawHallOfFame(int highlight_position)
+void DrawHallOfFame(int level_nr, int highlight_position)
{
int fade_mask = REDRAW_FIELD;
drawHallOfFameList(first_entry, highlight_position);
}
}
- else if (button == MB_MENU_LEAVE)
- {
- PlaySound(SND_MENU_ITEM_SELECTING);
-
- FadeSound(SND_BACKGROUND_SCORES);
-
- SetGameStatus(GAME_MODE_MAIN);
-
- DrawMainMenu();
- }
- else if (button == MB_MENU_CHOICE)
+ else if (button == MB_MENU_LEAVE || button == MB_MENU_CHOICE)
{
PlaySound(SND_MENU_ITEM_SELECTING);
FadeSound(SND_BACKGROUND_SCORES);
- SetGameStatus(GAME_MODE_MAIN);
+ if (game_status_last_screen != GAME_MODE_PLAYING ||
+ !setup.auto_play_next_level || !setup.increment_levels)
+ {
+ SetGameStatus(GAME_MODE_MAIN);
- DrawMainMenu();
+ DrawMainMenu();
+ }
+ else
+ {
+ StartGameActions(network.enabled, setup.autorecord, level.random_seed);
+ }
}
if (game_status == GAME_MODE_SCORES)
{ TYPE_SWITCH, &setup.handicap, "Handicap:" },
{ TYPE_SWITCH, &setup.skip_levels, "Skip Unsolved Levels:" },
{ TYPE_SWITCH, &setup.increment_levels,"Increment Solved Levels:" },
+ { TYPE_SWITCH, &setup.auto_play_next_level,"Auto-play Next Level:" },
+ { TYPE_SWITCH, &setup.skip_scores_after_game,"Skip Scores After Game:" },
{ TYPE_SWITCH, &setup.autorecord, "Auto-Record Tapes:" },
{ TYPE_ENTER_LIST, execSetupChooseGameSpeed, "Game Speed:" },
{ TYPE_STRING, &game_speed_text, "" },