fixed bug with using wrong values for 'level solved' and 'game over'
[rocksndiamonds.git] / src / game.c
index b5eea7d8b71b25c8604b425c0d3bb5be95881b3c..5391ce9197c8728f4f831641fb88e930f44e12ba 100644 (file)
@@ -3966,6 +3966,9 @@ void InitGame()
 
   FadeIn(fade_mask);
 
+  if (level.game_engine_type == GAME_ENGINE_TYPE_MM)
+    InitGameEngine_MM_AfterFadingIn();
+
 #if 1
   // full screen redraw is required at this point in the following cases:
   // - special editor door undrawn when game was started from level editor
@@ -10852,17 +10855,17 @@ static void CheckLevelTime()
   }
   else if (level.game_engine_type == GAME_ENGINE_TYPE_MM)
   {
-    if (game_mm.LevelSolved &&
-       !game_mm.GameOver)                              /* game won */
+    if (game_mm.level_solved &&
+       !game_mm.game_over)                             /* game won */
     {
       PlayerWins(local_player);
 
-      game_mm.GameOver = TRUE;
+      game_mm.game_over = TRUE;
 
       AllPlayersGone = TRUE;
     }
 
-    if (game_mm.GameOver)                              /* game lost */
+    if (game_mm.game_over)                             /* game lost */
       AllPlayersGone = TRUE;
   }
 
@@ -11065,17 +11068,17 @@ void GameActionsExt()
   }
   else if (level.game_engine_type == GAME_ENGINE_TYPE_MM)
   {
-    if (game_mm.LevelSolved &&
-       !game_mm.GameOver)                              /* game won */
+    if (game_mm.level_solved &&
+       !game_mm.game_over)                             /* game won */
     {
       PlayerWins(local_player);
 
-      game_mm.GameOver = TRUE;
+      game_mm.game_over = TRUE;
 
       AllPlayersGone = TRUE;
     }
 
-    if (game_mm.GameOver)                              /* game lost */
+    if (game_mm.game_over)                             /* game lost */
       AllPlayersGone = TRUE;
   }