projects
/
rocksndiamonds.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
rnd-20050122-1-src
[rocksndiamonds.git]
/
src
/
screens.c
diff --git
a/src/screens.c
b/src/screens.c
index 212a75caac20e87836812bfa27d45410d58d0b2c..d6c84d81a4495eb03e19eedd99ae849bfc2c4cf2 100644
(file)
--- a/
src/screens.c
+++ b/
src/screens.c
@@
-2964,13
+2964,33
@@
void HandleGameActions()
return;
}
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)
/* --- 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;
return;
+ }
recorded_player_action = (tape.playing ? TapePlayAction() : NULL);
recorded_player_action = (tape.playing ? TapePlayAction() : NULL);
+#if 1
+ /* !!! CHECK THIS (tape.pausing is always FALSE here!) !!! */
+ if (recorded_player_action == NULL && tape.pausing)
+ return;
+#endif
+
for (i = 0; i < MAX_PLAYERS; i++)
{
summarized_player_action |= stored_player[i].action;
for (i = 0; i < MAX_PLAYERS; i++)
{
summarized_player_action |= stored_player[i].action;
@@
-3010,6
+3030,7
@@
void HandleGameActions()
DrawVideoDisplay(VIDEO_STATE_TIME_ON, TapeTime);
}
DrawVideoDisplay(VIDEO_STATE_TIME_ON, TapeTime);
}
+ FrameCounter++;
TimeFrames++;
BackToFront();
TimeFrames++;
BackToFront();