rnd-20100609-1-src
[rocksndiamonds.git] / src / tools.c
index c26996b6720fef0ee85581256e04de8eb3322ad7..a5a3850e592e4df0b0f626fe87be9d8dff0a37c1 100644 (file)
@@ -8333,7 +8333,8 @@ void InitGraphicInfo_EM(void)
 }
 
 void CheckSingleStepMode_EM(byte action[MAX_PLAYERS], int frame,
-                           boolean any_player_moving)
+                           boolean any_player_moving,
+                           boolean player_is_dropping)
 {
   int i;
 
@@ -8345,17 +8346,31 @@ void CheckSingleStepMode_EM(byte action[MAX_PLAYERS], int frame,
       if (action[i] != JOY_NO_ACTION)
        active_players = TRUE;
 
-    if (frame == 0)
+    // if (frame == 0)
+    if (frame == 0 && !player_is_dropping)
       TapeTogglePause(TAPE_TOGGLE_AUTOMATIC);
   }
 }
 
-void CheckSingleStepMode_SP(boolean murphy_is_moving)
+void CheckSingleStepMode_SP(boolean murphy_is_waiting,
+                           boolean murphy_is_dropping)
 {
+#if 0
+  printf("::: waiting: %d, dropping: %d\n",
+        murphy_is_waiting, murphy_is_dropping);
+#endif
+
   if (tape.single_step && tape.recording && !tape.pausing)
   {
-    if (!murphy_is_moving)
+    // if (murphy_is_waiting || murphy_is_dropping)
+    if (murphy_is_waiting)
+    {
+#if 0
+      printf("::: murphy is waiting -> pause mode\n");
+#endif
+
       TapeTogglePause(TAPE_TOGGLE_AUTOMATIC);
+    }
   }
 }