rnd-20100220-1-src
[rocksndiamonds.git] / src / game_sp / MainGameLoop.c
index 42bafa50fe9e253fbf04201159caa617171c7a12..028c861e03a5741f44a9eccff4d84465340cfed1 100644 (file)
@@ -293,8 +293,8 @@ locExitMainGameLoop:
 
 #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;
+  if (!game_sp.LevelSolved)
+    game_sp.GameOver = TRUE;
 #endif
 
 #if 1
@@ -581,9 +581,26 @@ int subCalculateScreenScrollPos()
 
   int ax, Ay;
 
+#if 1
+  int jump_pos = TILEX / 2;
+
+  if (MurphyScreenXPos < -jump_pos)
+  {
+    MurphyScreenXPos = FieldWidth * TILEX + MurphyScreenXPos;
+    MurphyScreenYPos -= TILEY;
+  }
+  else if (MurphyScreenXPos >= FieldWidth * TILEX - jump_pos)
+  {
+    MurphyScreenXPos = MurphyScreenXPos - FieldWidth * TILEX;
+    MurphyScreenYPos += TILEY;
+  }
+#endif
+
   if (ExplosionShake != 0)
   {
     subGetRandomNumber();
+
+    // printf("::: ExplosionShake [%d]\n", FrameCounter);
   }
 
   {