moved requesting game restart to function that checks for game over
[rocksndiamonds.git] / src / screens.c
index 3e0dd34395e10bed20fe43594895ee2a65dead76..c4955e8c7bdcac56ddaad9ceaed82a8e6e96a246 100644 (file)
@@ -3268,6 +3268,8 @@ static void DrawInfoScreen_TitleScreen(void)
 {
   SetGameStatus(GAME_MODE_TITLE);
 
+  UnmapAllGadgets();
+
   DrawTitleScreen();
 }
 
@@ -3280,6 +3282,7 @@ static void DrawInfoScreen_Elements(void)
 {
   SetMainBackgroundImageIfDefined(IMG_BACKGROUND_INFO_ELEMENTS);
 
+  UnmapAllGadgets();
   FadeInfoSoundsAndMusic();
 
   FadeOut(REDRAW_FIELD);
@@ -3382,6 +3385,8 @@ static void DrawInfoScreen_Music(void)
 {
   SetMainBackgroundImageIfDefined(IMG_BACKGROUND_INFO_MUSIC);
 
+  UnmapAllGadgets();
+
   FadeOut(REDRAW_FIELD);
 
   ClearField();
@@ -3591,6 +3596,7 @@ static void DrawInfoScreen_Version(void)
 
   SetMainBackgroundImageIfDefined(IMG_BACKGROUND_INFO_VERSION);
 
+  UnmapAllGadgets();
   FadeInfoSoundsAndMusic();
 
   FadeOut(REDRAW_FIELD);
@@ -3892,6 +3898,7 @@ static void DrawInfoScreen_Generic(void)
 {
   SetMainBackgroundImageIfDefined(getInfoScreenBackgroundImage_Generic());
 
+  UnmapAllGadgets();
   FadeInfoSoundsAndMusic();
 
   FadeOut(REDRAW_FIELD);
@@ -5111,6 +5118,9 @@ static void HandleChooseTree(int mx, int my, int dx, int dy, int button,
          {
            // store level set if chosen from "last played level set" menu
            StoreLastPlayedLevels(leveldir_current);
+
+           // store if level set chosen from "last played level set" menu
+           SaveLevelSetup_LastSeries();
          }
          else if (game_status == GAME_MODE_NAMES)
          {
@@ -9517,15 +9527,8 @@ void HandleSetupScreen(int mx, int my, int dx, int dy, int button)
 
 void HandleGameActions(void)
 {
-  if (setup.ask_on_game_over)
-    CheckGameOver();
-
-  if (game.restart_game_message != NULL)
-  {
-    RequestRestartGame(game.restart_game_message);
-
+  if (CheckRestartGame())
     return;
-  }
 
   if (game_status != GAME_MODE_PLAYING)
     return;
@@ -9664,8 +9667,8 @@ static struct
     FALSE, "play solution tape"
   },
   {
-    IMG_MENU_BUTTON_LEVELSET_INFO, IMG_MENU_BUTTON_LEVELSET_INFO_ACTIVE,
-    IMG_MENU_BUTTON_LEVELSET_INFO_PRESSED,
+    IMG_MENU_BUTTON_LEVELSET_INFO, IMG_MENU_BUTTON_LEVELSET_INFO_PRESSED,
+    IMG_MENU_BUTTON_LEVELSET_INFO_ACTIVE,
     &menu.main.button.levelset_info, NULL,
     SCREEN_CTRL_ID_LEVELSET_INFO,
     SCREEN_MASK_MAIN_HAS_SET_INFO,