rnd-20091101-2-src
[rocksndiamonds.git] / src / game_sp / MainGameLoop.c
index 2baa7435cc542dd2f258e55ad3a15b99b8971fe0..bae1d6d95d4aa886acbca1a8586bacae1bd36874 100644 (file)
@@ -35,7 +35,7 @@ int subMainGameLoop_Init()
 
   if (DemoFlag != 0)
   {
-#if 1
+#if 0
     printf("::: playing demo ...\n");
 #endif
 
@@ -45,7 +45,7 @@ int subMainGameLoop_Init()
   }
   else // loc_g_1836:
   {
-#if 1
+#if 0
     printf("::: playing game ...\n");
 #endif
 
@@ -82,7 +82,7 @@ int subMainGameLoop_Init()
   return subMainGameLoop;
 }
 
-int subMainGameLoop_Main()
+int subMainGameLoop_Main(byte action, boolean warp_mode)
 {
   int subMainGameLoop;
   int bx;
@@ -155,7 +155,7 @@ locRepeatMainGameLoop:                           // start repeating game loop
 
   // loc_g_186F:
 
-  subProcessKeyboardInput();                 // Check keyboard, act on keys
+  subProcessKeyboardInput(action);             // Check keyboard, act on keys
 
   // 'HACK:
   //  TimerVar = TimerVar + 1
@@ -281,9 +281,14 @@ locExitMainGameLoop:
 
 #if 1
   printf("::: locExitMainGameLoop reached [%d]\n", LeadOutCounter);
+  printf("::: [KillMurphyFlag == %d]\n", KillMurphyFlag);
 #endif
 
-
+#if 1
+  /* if the game is not won when reaching this point, then it is lost */
+  if (!game_sp_info.LevelSolved)
+    game_sp_info.GameOver = TRUE;
+#endif
 
 #if 1
   return subMainGameLoop;
@@ -326,6 +331,8 @@ locExitMainGameLoop:
   return subMainGameLoop;
 } // subMainGameLoop
 
+#if 0
+
 int subMainGameLoop()
 {
   int subMainGameLoop;
@@ -555,6 +562,8 @@ locExitMainGameLoop:
   return subMainGameLoop;
 } // subMainGameLoop
 
+#endif
+
 void subUpdatePlayingTime()
 {
 }