added marking nodes in "last played level sets" sub-tree as copy
[rocksndiamonds.git] / src / screens.c
index 0ce46341598a59e72cd1e3ee354286111bc9836d..c82f2a962d6d5463c2d85565ac4d90dddf276286 100644 (file)
@@ -2223,7 +2223,8 @@ void HandleMainMenu(int mx, int my, int dx, int dy, int button)
        SaveLevelSetup_LastSeries();
        SaveLevelSetup_SeriesInfo();
 
-        if (Request("Do you really want to quit?", REQ_ASK | REQ_STAY_CLOSED))
+       if (!setup.ask_on_quit_program ||
+           Request("Do you really want to quit?", REQ_ASK | REQ_STAY_CLOSED))
          SetGameStatus(GAME_MODE_QUIT);
       }
     }
@@ -4879,6 +4880,9 @@ static void HandleChooseTree(int mx, int my, int dx, int dy, int button,
            LoadLevelSetup_LastSeries();
            LoadLevelSetup_SeriesInfo();
 
+           // update list of last played level sets
+           UpdateLastPlayedLevels_TreeInfo();
+
            TapeErase();
 
            ToggleFullscreenIfNeeded();
@@ -6729,6 +6733,8 @@ static struct TokenInfo setup_info_game[] =
   { TYPE_SWITCH,       &setup.count_score_after_game,"Count Score After Game:" },
   { TYPE_SWITCH,       &setup.show_scores_after_game,"Show Scores After Game:" },
   { TYPE_YES_NO,       &setup.ask_on_game_over, "Ask on Game Over:"    },
+  { TYPE_YES_NO,       &setup.ask_on_quit_game, "Ask on Quit Game:"    },
+  { TYPE_YES_NO,       &setup.ask_on_quit_program, "Ask on Quit Program:" },
   { TYPE_SWITCH,       &setup.autorecord,      "Auto-Record Tapes:"    },
   { TYPE_ENTER_LIST,   execSetupChooseGameSpeed, "Game Speed:"         },
   { TYPE_STRING,       &game_speed_text,       ""                      },