rnd-20100220-1-src
[rocksndiamonds.git] / src / game_sp / DoGameStuff.c
index d41da8c37157b22de6391797f33366ae4b652282..81f4a9546becbef16c27058cd7d70e6998385250 100644 (file)
@@ -76,7 +76,9 @@ int subDoGameStuff()
   if (KillMurphyFlag == 1 || MurphyMoveCounter == 0)
   {
 #if 1
-    if (LeadOutCounter == 0 && !game_sp_info.LevelSolved)
+    if (LeadOutCounter == 0 &&
+       !game_sp.LevelSolved &&
+       !game_sp.GameOver)
 #else
     if (LeadOutCounter == 0)
 #endif
@@ -88,21 +90,42 @@ int subDoGameStuff()
       KillMurphyFlag = 0;             // no more "kill Murphy"
       ExplodeFieldSP(MurphyExplodePos);                 // Explode
       LeadOutCounter = 0x40;           // quit: start lead-out
+
+#if 1
+
+#if 1
+      printf("::: DoGameStuff.c: !!!!!!!!!! GAME OVER !!!!!!!!!!\n");
+      printf("::: [KillMurphyFlag == %d]\n", KillMurphyFlag);
+#endif
+
+#if 1
+      /* give Murphy some more time (LeadOutCounter) to reach the exit */
+#else
+      game_sp.GameOver = TRUE;
+#endif
+
+#endif
     }
 
 #if 1
+#if 0
+    printf("::: *** %d, %d, %d\n", KillMurphyFlag,
+          game_sp.LevelSolved, game_sp.GameOver);
+#endif
+
+#if 0
     if (KillMurphyFlag == 1 &&
-       !game_sp_info.LevelSolved &&
-       !game_sp_info.GameOver)
+       !game_sp.LevelSolved &&
+       !game_sp.GameOver)
     {
 #if 1
       printf("::: DoGameStuff.c: !!!!!!!!!! GAME OVER !!!!!!!!!!\n");
 #endif
 
-      game_sp_info.GameOver = TRUE;
+      game_sp.GameOver = TRUE;
     }
 #endif
-
+#endif
 
   } //  loc_g_22FB: