X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Ftape.c;h=88f0f5a0300e4e0799ff9abf40cda0e138d3fd51;hb=4a8368abd71c718621838773eed914b5bbd4e1d8;hp=fc90ad51461d9beccc831c1cb5c712268ae48074;hpb=5ae3fc5d27076677a95153162abcf527c6dc8e63;p=rocksndiamonds.git diff --git a/src/tape.c b/src/tape.c index fc90ad51..88f0f5a0 100644 --- a/src/tape.c +++ b/src/tape.c @@ -453,12 +453,16 @@ void TapeDeactivateDisplayOff(boolean redraw_display) /* tape control functions */ /* ========================================================================= */ -static void TapeSetDate() +void TapeSetDateFromEpochSeconds(time_t epoch_seconds) { - time_t epoch_seconds = time(NULL); - struct tm *now = localtime(&epoch_seconds); + struct tm *lt = localtime(&epoch_seconds); - tape.date = 10000 * (now->tm_year % 100) + 100 * now->tm_mon + now->tm_mday; + tape.date = 10000 * (lt->tm_year % 100) + 100 * lt->tm_mon + lt->tm_mday; +} + +void TapeSetDateFromNow() +{ + TapeSetDateFromEpochSeconds(time(NULL)); } void TapeErase() @@ -475,13 +479,13 @@ void TapeErase() tape.pos[tape.counter].delay = 0; tape.changed = TRUE; - tape.random_seed = InitRND(NEW_RANDOMIZE); + tape.random_seed = InitRND(level.random_seed); tape.file_version = FILE_VERSION_ACTUAL; tape.game_version = GAME_VERSION_ACTUAL; tape.engine_version = level.game_version; - TapeSetDate(); + TapeSetDateFromNow(); for (i = 0; i < MAX_PLAYERS; i++) tape.player_participates[i] = FALSE; @@ -538,7 +542,7 @@ void TapeStartRecording(long random_seed) static void TapeStartGameRecording() { - TapeStartRecording(NEW_RANDOMIZE); + TapeStartRecording(level.random_seed); #if defined(NETWORK_AVALIABLE) if (options.network) @@ -562,7 +566,7 @@ static void TapeAppendRecording() tape.recording = TRUE; tape.changed = TRUE; - TapeSetDate(); + TapeSetDateFromNow(); DrawVideoDisplay(VIDEO_STATE_DATE_ON, tape.date); DrawVideoDisplay(VIDEO_STATE_PLAY_OFF | VIDEO_STATE_REC_ON, 0);