rnd-20050116-1-src
[rocksndiamonds.git] / src / screens.c
index 212a75caac20e87836812bfa27d45410d58d0b2c..268cd9c83a1897fd45cd96c1272b3303c30965f3 100644 (file)
@@ -2964,10 +2964,24 @@ void HandleGameActions()
        return;
     }
 
+    if (level.native_em_level->ply1->alive == 0 &&
+       level.native_em_level->ply2->alive == 0)        /* all dead */
+      AllPlayersGone = TRUE;
+
+    if (AllPlayersGone && !TAPE_IS_STOPPED(tape))
+      TapeStop();
+
     /* --- game actions --- */
 
     if (tape.pausing)
+    {
+      /* don't use 100% CPU while in pause mode -- this should better be solved
+        like in the R'n'D game engine! */
+
+      Delay(10);
+
       return;
+    }
 
     recorded_player_action = (tape.playing ? TapePlayAction() : NULL);
 
@@ -3010,6 +3024,7 @@ void HandleGameActions()
        DrawVideoDisplay(VIDEO_STATE_TIME_ON, TapeTime);
     }
 
+    FrameCounter++;
     TimeFrames++;
 
     BackToFront();