tape.game_version = GAME_VERSION_ACTUAL;
tape.engine_version = level.game_version;
+ tape.property_bits = TAPE_PROPERTY_NONE;
+
TapeSetDateFromNow();
for (i = 0; i < MAX_PLAYERS; i++)
// set current delay (for last played move)
tape.pos[tape.counter].delay = tape.delay_played;
+ tape.property_bits |= TAPE_PROPERTY_REPLAYED;
+
// set current date
TapeSetDateFromNow();
tape.set_centered_player = FALSE;
}
+ if (GameFrameDelay != GAME_FRAME_DELAY)
+ tape.property_bits |= TAPE_PROPERTY_GAME_SPEED;
+
+ if (setup.small_game_graphics || SCR_FIELDX >= 2 * SCR_FIELDX_DEFAULT)
+ tape.property_bits |= TAPE_PROPERTY_SMALL_GRAPHICS;
+
if (!TapeAddAction(action))
TapeStopRecording();
}
if (tape.single_step && (toggle_mode & TAPE_TOGGLE_MANUAL))
tape.single_step = FALSE;
+ if (tape.single_step)
+ tape.property_bits |= TAPE_PROPERTY_SINGLE_STEP;
+
+ if (tape.pausing)
+ tape.property_bits |= TAPE_PROPERTY_PAUSE_MODE;
+
DrawVideoDisplayCurrentState();
if (tape.deactivate_display)
if (game_status == GAME_MODE_PLAYING)
{
- if (setup.show_snapshot_buttons && CheckEngineSnapshotList())
+ if (setup.show_load_save_buttons &&
+ setup.show_undo_redo_buttons &&
+ CheckEngineSnapshotList())
{
if (tape.pausing)
MapUndoRedoButtons();
else if (!tape.single_step)
- UnmapUndoRedoButtons();
+ MapLoadSaveButtons();
}
ModifyPauseButtons();
return;
}
+ tape.property_bits |= TAPE_PROPERTY_SNAPSHOT;
+
if (SaveTapeChecked(tape.level_nr))
SaveEngineSnapshotSingle();
}
TapeStartWarpForward(AUTOPLAY_MODE_WARP_NO_DISPLAY);
tape.quick_resume = TRUE;
+ tape.property_bits |= TAPE_PROPERTY_SNAPSHOT;
}
else // this should not happen (basically checked above)
{