projects
/
rocksndiamonds.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
rnd-20020803-1-src
[rocksndiamonds.git]
/
src
/
tape.c
diff --git
a/src/tape.c
b/src/tape.c
index 73e73a7de5616c496ac0bebfd75d35325adaf3c7..b219109fb3528b85246a1059312da05891ea742f 100644
(file)
--- a/
src/tape.c
+++ b/
src/tape.c
@@
-1,7
+1,7
@@
/***********************************************************
* Rocks'n'Diamonds -- McDuffin Strikes Back! *
*----------------------------------------------------------*
/***********************************************************
* Rocks'n'Diamonds -- McDuffin Strikes Back! *
*----------------------------------------------------------*
-* (c) 1995-200
1
Artsoft Entertainment *
+* (c) 1995-200
2
Artsoft Entertainment *
* Holger Schemel *
* Detmolder Strasse 189 *
* 33604 Bielefeld *
* Holger Schemel *
* Detmolder Strasse 189 *
* 33604 Bielefeld *
@@
-35,6
+35,7
@@
/* forward declaration for internal use */
static void HandleTapeButtons(struct GadgetInfo *);
/* forward declaration for internal use */
static void HandleTapeButtons(struct GadgetInfo *);
+static void TapeStopIndexSearch();
static struct GadgetInfo *tape_gadget[NUM_TAPE_BUTTONS];
static struct GadgetInfo *tape_gadget[NUM_TAPE_BUTTONS];
@@
-302,10
+303,14
@@
void TapeErase()
tape.level_nr = level_nr;
tape.pos[tape.counter].delay = 0;
tape.changed = TRUE;
tape.level_nr = level_nr;
tape.pos[tape.counter].delay = 0;
tape.changed = TRUE;
+
tape.date = 10000*(time->tm_year % 100) + 100*time->tm_mon + time->tm_mday;
tape.date = 10000*(time->tm_year % 100) + 100*time->tm_mon + time->tm_mday;
- tape.game_version = GAME_VERSION_ACTUAL;
tape.random_seed = InitRND(NEW_RANDOMIZE);
tape.random_seed = InitRND(NEW_RANDOMIZE);
+ tape.file_version = FILE_VERSION_ACTUAL;
+ tape.game_version = GAME_VERSION_ACTUAL;
+ tape.engine_version = level.game_version;
+
for(i=0; i<MAX_PLAYERS; i++)
tape.player_participates[i] = FALSE;
}
for(i=0; i<MAX_PLAYERS; i++)
tape.player_participates[i] = FALSE;
}
@@
-365,16
+370,10
@@
static void TapeAppendRecording()
if (!tape.playing || !tape.pausing)
return;
if (!tape.playing || !tape.pausing)
return;
- if (tape.game_version != GAME_VERSION_ACTUAL &&
- !Request("This may break old version tape ! Append anyway ?",
- REQ_ASK))
- return;
-
tape.pos[tape.counter].delay = tape.delay_played;
tape.playing = FALSE;
tape.recording = TRUE;
tape.changed = TRUE;
tape.pos[tape.counter].delay = tape.delay_played;
tape.playing = FALSE;
tape.recording = TRUE;
tape.changed = TRUE;
- tape.game_version = GAME_VERSION_ACTUAL;
DrawVideoDisplay(VIDEO_STATE_PLAY_OFF | VIDEO_STATE_REC_ON,0);
}
DrawVideoDisplay(VIDEO_STATE_PLAY_OFF | VIDEO_STATE_REC_ON,0);
}
@@
-468,13
+467,7
@@
void TapeTogglePause(boolean toggle_manual)
if (tape.index_search)
{
if (tape.index_search)
{
- tape.index_search = FALSE;
-
- SetDrawDeactivationMask(REDRAW_NONE);
- audio.sound_deactivated = FALSE;
-
- RedrawPlayfield(TRUE, 0,0,0,0);
- DrawGameDoorValues();
+ TapeStopIndexSearch();
if (tape.quick_resume)
{
if (tape.quick_resume)
{
@@
-524,6
+517,9
@@
void TapeStopPlaying()
tape.playing = FALSE;
tape.pausing = FALSE;
tape.playing = FALSE;
tape.pausing = FALSE;
+ if (tape.index_search)
+ TapeStopIndexSearch();
+
DrawVideoDisplay(VIDEO_STATE_PLAY_OFF, 0);
MapTapeEjectButton();
}
DrawVideoDisplay(VIDEO_STATE_PLAY_OFF, 0);
MapTapeEjectButton();
}
@@
-603,7
+599,7
@@
unsigned int GetTapeLength()
return(tape_length * GAME_FRAME_DELAY / 1000);
}
return(tape_length * GAME_FRAME_DELAY / 1000);
}
-
void Tape
IndexSearch()
+
static void TapeStart
IndexSearch()
{
tape.index_search = TRUE;
{
tape.index_search = TRUE;
@@
-616,7
+612,18
@@
void TapeIndexSearch()
}
}
}
}
-void TapeSingleStep()
+static void TapeStopIndexSearch()
+{
+ tape.index_search = FALSE;
+
+ SetDrawDeactivationMask(REDRAW_NONE);
+ audio.sound_deactivated = FALSE;
+
+ RedrawPlayfield(TRUE, 0,0,0,0);
+ DrawGameDoorValues();
+}
+
+static void TapeSingleStep()
{
if (options.network)
return;
{
if (options.network)
return;
@@
-654,7
+661,7
@@
void TapeQuickLoad()
if (!TAPE_IS_EMPTY(tape))
{
TapeStartGamePlaying();
if (!TAPE_IS_EMPTY(tape))
{
TapeStartGamePlaying();
- TapeIndexSearch();
+ Tape
Start
IndexSearch();
tape.quick_resume = TRUE;
}
tape.quick_resume = TRUE;
}
@@
-823,7
+830,7
@@
static void HandleTapeButtons(struct GadgetInfo *gi)
case TAPE_CTRL_ID_INDEX:
if (tape.playing)
case TAPE_CTRL_ID_INDEX:
if (tape.playing)
- TapeIndexSearch();
+ Tape
Start
IndexSearch();
else if (tape.recording)
TapeSingleStep();
break;
else if (tape.recording)
TapeSingleStep();
break;