projects
/
rocksndiamonds.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
moved functions (no functional change)
[rocksndiamonds.git]
/
src
/
tape.c
diff --git
a/src/tape.c
b/src/tape.c
index f9c56d1ad12c2d4168522ee4b66c37abfc83a4cf..a07ebbded9d568cbd028329c4fb6fd247787984c 100644
(file)
--- a/
src/tape.c
+++ b/
src/tape.c
@@
-1008,7
+1008,7
@@
void TapeStopPlaying(void)
MapTapeEjectButton();
}
MapTapeEjectButton();
}
-byte *TapePlayAction
(void
)
+byte *TapePlayAction
Ext(boolean bd_replay
)
{
int update_delay = FRAMES_PER_SECOND / 2;
boolean update_video_display = (FrameCounter % update_delay == 0);
{
int update_delay = FRAMES_PER_SECOND / 2;
boolean update_video_display = (FrameCounter % update_delay == 0);
@@
-1019,6
+1019,12
@@
byte *TapePlayAction(void)
if (!tape.playing || tape.pausing)
return NULL;
if (!tape.playing || tape.pausing)
return NULL;
+ if (!checkGameRunning())
+ return NULL;
+
+ if (tape.bd_replay && !bd_replay)
+ return NULL;
+
if (tape.pause_before_end) // stop some seconds before end of tape
{
if (TapeTime > (int)tape.length_seconds - TAPE_PAUSE_SECONDS_BEFORE_DEATH)
if (tape.pause_before_end) // stop some seconds before end of tape
{
if (TapeTime > (int)tape.length_seconds - TAPE_PAUSE_SECONDS_BEFORE_DEATH)
@@
-1097,7
+1103,7
@@
byte *TapePlayAction(void)
}
tape.delay_played++;
}
tape.delay_played++;
- if (tape.delay_played >= tape.pos[tape.counter].delay)
+ if (tape.delay_played >= tape.pos[tape.counter].delay
|| tape.bd_replay
)
{
tape.counter++;
tape.delay_played = 0;
{
tape.counter++;
tape.delay_played = 0;
@@
-1112,6
+1118,16
@@
byte *TapePlayAction(void)
return action;
}
return action;
}
+byte *TapePlayAction_BD(void)
+{
+ return TapePlayActionExt(TRUE);
+}
+
+byte *TapePlayAction(void)
+{
+ return TapePlayActionExt(FALSE);
+}
+
void TapeStop(void)
{
if (tape.pausing)
void TapeStop(void)
{
if (tape.pausing)
@@
-1373,6
+1389,11
@@
void TapeReplayAndPauseBeforeEnd(void)
tape.quick_resume = TRUE;
}
tape.quick_resume = TRUE;
}
+boolean TapeIsPlaying_ReplayBD(void)
+{
+ return (tape.playing && tape.bd_replay);
+}
+
boolean hasSolutionTape(void)
{
boolean tape_file_exists = fileExists(getSolutionTapeFilename(level_nr));
boolean hasSolutionTape(void)
{
boolean tape_file_exists = fileExists(getSolutionTapeFilename(level_nr));