projects
/
rocksndiamonds.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
fixed triggering CE actions by digging or collecting
[rocksndiamonds.git]
/
src
/
tape.c
diff --git
a/src/tape.c
b/src/tape.c
index 1df0fceea739e8fe517105b67d1b2772c6426199..daa90c8def387190e32605581b1e07f2fcd562f4 100644
(file)
--- a/
src/tape.c
+++ b/
src/tape.c
@@
-581,6
+581,8
@@
void TapeErase(void)
tape.game_version = GAME_VERSION_ACTUAL;
tape.engine_version = level.game_version;
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++)
TapeSetDateFromNow();
for (i = 0; i < MAX_PLAYERS; i++)
@@
-672,6
+674,8
@@
static void TapeAppendRecording(void)
// set current delay (for last played move)
tape.pos[tape.counter].delay = tape.delay_played;
// 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();
// set current date
TapeSetDateFromNow();
@@
-762,6
+766,12
@@
void TapeRecordAction(byte action_raw[MAX_TAPE_ACTIONS])
tape.set_centered_player = FALSE;
}
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 (!TapeAddAction(action))
TapeStopRecording();
}
@@
-783,6
+793,12
@@
void TapeTogglePause(boolean toggle_mode)
if (tape.single_step && (toggle_mode & TAPE_TOGGLE_MANUAL))
tape.single_step = FALSE;
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)
DrawVideoDisplayCurrentState();
if (tape.deactivate_display)
@@
-812,12
+828,14
@@
void TapeTogglePause(boolean toggle_mode)
if (game_status == GAME_MODE_PLAYING)
{
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)
{
if (tape.pausing)
MapUndoRedoButtons();
else if (!tape.single_step)
-
UnmapUndoRedo
Buttons();
+
MapLoadSave
Buttons();
}
ModifyPauseButtons();
}
ModifyPauseButtons();
@@
-1068,6
+1086,8
@@
void TapeQuickSave(void)
return;
}
return;
}
+ tape.property_bits |= TAPE_PROPERTY_SNAPSHOT;
+
if (SaveTapeChecked(tape.level_nr))
SaveEngineSnapshotSingle();
}
if (SaveTapeChecked(tape.level_nr))
SaveEngineSnapshotSingle();
}
@@
-1126,6
+1146,7
@@
void TapeQuickLoad(void)
TapeStartWarpForward(AUTOPLAY_MODE_WARP_NO_DISPLAY);
tape.quick_resume = TRUE;
TapeStartWarpForward(AUTOPLAY_MODE_WARP_NO_DISPLAY);
tape.quick_resume = TRUE;
+ tape.property_bits |= TAPE_PROPERTY_SNAPSHOT;
}
else // this should not happen (basically checked above)
{
}
else // this should not happen (basically checked above)
{