X-Git-Url: https://git.artsoft.org/?p=rocksndiamonds.git;a=blobdiff_plain;f=src%2Fgame.c;fp=src%2Fgame.c;h=07df1fe52a4f6676eb3713d170144b032a45a448;hp=476b67b049b34db5f50c3f57a4ece155f0b99a72;hb=94a1798d87daf68e97fa0968f7b08109868020ab;hpb=ab8e032c1d2c7ec3df6b8491bdbd8f8e57c7dc70 diff --git a/src/game.c b/src/game.c index 476b67b0..07df1fe5 100644 --- a/src/game.c +++ b/src/game.c @@ -15373,12 +15373,12 @@ void RequestQuitGameExt(boolean skip_request, boolean quick_quit, char *message) { if (skip_request || Request(message, REQ_ASK | REQ_STAY_CLOSED)) { - // closing door required in case of envelope style request dialogs - if (!skip_request) + if (!quick_quit) { // prevent short reactivation of overlay buttons while closing door SetOverlayActive(FALSE); + // door may still be open due to skipped or envelope style request CloseDoor(DOOR_CLOSE_1); } @@ -15408,9 +15408,11 @@ void RequestQuitGameExt(boolean skip_request, boolean quick_quit, char *message) void RequestQuitGame(boolean escape_key_pressed) { - boolean quick_quit = ((escape_key_pressed && !setup.ask_on_escape) || + boolean ask_on_escape = (setup.ask_on_escape && setup.ask_on_quit_game); + boolean quick_quit = ((escape_key_pressed && !ask_on_escape) || level_editor_test_game); - boolean skip_request = game.all_players_gone || quick_quit; + boolean skip_request = (game.all_players_gone || !setup.ask_on_quit_game || + quick_quit); RequestQuitGameExt(skip_request, quick_quit, "Do you really want to quit the game?");