rnd-19981123-2
[rocksndiamonds.git] / src / tape.c
index 9e8e39bc891acd6df9d205afa9844ca8251cabd6..2c600226716fcdb2988c5f7381b5dcbeb0116078 100644 (file)
@@ -113,7 +113,7 @@ void TapeTogglePause()
   tape.pause_before_death = FALSE;
   DrawVideoDisplay((tape.pausing ?
                    VIDEO_STATE_PAUSE_ON :
-                   VIDEO_STATE_PAUSE_OFF),
+                   VIDEO_STATE_PAUSE_OFF) | VIDEO_STATE_PBEND_OFF,
                   0);
 }
 
@@ -170,11 +170,14 @@ byte *TapePlayAction()
 
     for(i=0; i<MAX_PLAYERS; i++)
       joy[i] = tape.pos[tape.counter-1].action[i];
-
-    return(joy);
+  }
+  else
+  {
+    for(i=0; i<MAX_PLAYERS; i++)
+      joy[i] = 0;
   }
 
-  return(NULL);
+  return(joy);
 }
 
 boolean TapePlayDelay()
@@ -184,12 +187,12 @@ boolean TapePlayDelay()
 
   if (tape.pause_before_death) /* STOP 10s BEFORE PLAYER GETS KILLED... */
   {
-    if (!(FrameCounter % 5))
+    if (!(FrameCounter % 20))
     {
-      if (2*(FrameCounter/10) == FrameCounter/5)
-       DrawVideoDisplay(VIDEO_STATE_PAUSE_ON, VIDEO_DISPLAY_LABEL_ONLY);
+      if ((FrameCounter / 20) % 2)
+       DrawVideoDisplay(VIDEO_STATE_PBEND_ON, VIDEO_DISPLAY_LABEL_ONLY);
       else
-       DrawVideoDisplay(VIDEO_STATE_PAUSE_OFF, VIDEO_DISPLAY_LABEL_ONLY);
+       DrawVideoDisplay(VIDEO_STATE_PBEND_OFF, VIDEO_DISPLAY_LABEL_ONLY);
     }
 
     if (level.time-TimeLeft > tape.length_seconds - PAUSE_SECONDS_BEFORE_DEATH)