minor code change (no functional change)
authorHolger Schemel <holger.schemel@virtion.de>
Fri, 3 Jan 2025 23:16:06 +0000 (00:16 +0100)
committerHolger Schemel <holger.schemel@virtion.de>
Fri, 3 Jan 2025 23:16:06 +0000 (00:16 +0100)
src/game.c

index d0ba94923350d0c627fe77a7ce9f77f75c152a98..af5b0e2cdb620caf0ca053620d090e71274d39f1 100644 (file)
@@ -5224,17 +5224,27 @@ void GameEnd(void)
   // 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.GamePlayed && game_over && setup.ask_on_game_over)
+  if (game.GamePlayed && game_over)
   {
-    // (this is a special case: player pressed "return" key or fire button shortly before
-    // automatically asking to restart the game, so skip asking and restart right away)
+    boolean restart_game = FALSE;
 
-    CloseDoor(DOOR_CLOSE_1);
+    if (setup.ask_on_game_over)
+    {
+      // do not handle game end if game over and automatically asking for game restart
+      // (this is a special case: player pressed "return" key or fire button shortly before
+      // automatically asking to restart the game, so skip asking and restart right away)
 
-    StartGameActions(network.enabled, setup.autorecord, level.random_seed);
+      restart_game = TRUE;
+    }
 
-    return;
+    if (restart_game)
+    {
+      CloseDoor(DOOR_CLOSE_1);
+
+      StartGameActions(network.enabled, setup.autorecord, level.random_seed);
+
+      return;
+    }
   }
 
   // do not handle game end if request dialog is already active