X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Fgame.c;h=506def33ce0682ae91f3903b2802715300dcba56;hb=8e65ad775c169be345f846f9a3cb1be4bddbd4ce;hp=5c3cc9d3d36ec3072332dbea5ec6cd6e2ee2fe7d;hpb=00e52ef0b245eadf05f9dd416b29ebec5a47c767;p=rocksndiamonds.git diff --git a/src/game.c b/src/game.c index 5c3cc9d3..506def33 100644 --- a/src/game.c +++ b/src/game.c @@ -5161,10 +5161,19 @@ void GameEnd(void) // used instead of "level_nr" (needed for network games) int last_level_nr = levelset.level_nr; boolean tape_saved = FALSE; + boolean game_over = checkGameFailed(); // Important note: This function is not only called after "GameWon()", but also after // "game over" (if automatically asking for restarting the game is disabled in setup) + // do not handle game end if game over and automatically asking for game restart + if (game_over && setup.ask_on_game_over) + return; + + // do not handle game end if request dialog is already active + if (checkRequestActive()) + return; + if (game.LevelSolved) game.LevelSolved_GameEnd = TRUE;