projects
/
rocksndiamonds.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
added setting engine snapshot mode to setup screen and file
[rocksndiamonds.git]
/
src
/
game.c
diff --git
a/src/game.c
b/src/game.c
index eeb12767d1a042edb8c334c194e205ea7302501a..82931d3f3bc55fb9888fbc314604685c6ae700f9 100644
(file)
--- a/
src/game.c
+++ b/
src/game.c
@@
-3039,7
+3039,11
@@
static void InitGameEngine()
for (i = 0; i < MAX_PLAYERS; i++)
game.snapshot.last_action[i] = 0;
game.snapshot.changed_action = FALSE;
for (i = 0; i < MAX_PLAYERS; i++)
game.snapshot.last_action[i] = 0;
game.snapshot.changed_action = FALSE;
- game.snapshot.mode = SNAPSHOT_MODE_MOVE;
+ game.snapshot.mode =
+ (strEqual(setup.engine_snapshot_mode, STR_SNAPSHOT_MODE_EVERY_STEP) ?
+ SNAPSHOT_MODE_EVERY_STEP :
+ strEqual(setup.engine_snapshot_mode, STR_SNAPSHOT_MODE_EVERY_MOVE) ?
+ SNAPSHOT_MODE_EVERY_MOVE : SNAPSHOT_MODE_OFF);
FreeEngineSnapshotList();
}
FreeEngineSnapshotList();
}
@@
-14752,13
+14756,13
@@
boolean SaveEngineSnapshotToList()
{
boolean save_snapshot =
(FrameCounter == 0 ||
{
boolean save_snapshot =
(FrameCounter == 0 ||
- (game.snapshot.mode == SNAPSHOT_MODE_STEP) ||
- (game.snapshot.mode == SNAPSHOT_MODE_MOVE &&
+ (game.snapshot.mode == SNAPSHOT_MODE_
EVERY_
STEP) ||
+ (game.snapshot.mode == SNAPSHOT_MODE_
EVERY_
MOVE &&
game.snapshot.changed_action));
game.snapshot.changed_action = FALSE;
game.snapshot.changed_action));
game.snapshot.changed_action = FALSE;
- if (!save_snapshot)
+ if (
game.snapshot.mode == SNAPSHOT_MODE_OFF ||
!save_snapshot)
return FALSE;
ListNode *buffers = SaveEngineSnapshotBuffers();
return FALSE;
ListNode *buffers = SaveEngineSnapshotBuffers();
@@
-14802,12
+14806,17
@@
void LoadEngineSnapshot_Redo(int steps)
LoadEngineSnapshotValues();
}
LoadEngineSnapshotValues();
}
-boolean CheckEngineSnapshot()
+boolean CheckEngineSnapshot
Single
()
{
return (strEqual(snapshot_level_identifier, leveldir_current->identifier) &&
snapshot_level_nr == level_nr);
}
{
return (strEqual(snapshot_level_identifier, leveldir_current->identifier) &&
snapshot_level_nr == level_nr);
}
+boolean CheckEngineSnapshotList()
+{
+ return CheckSnapshotList();
+}
+
/* ---------- new game button stuff ---------------------------------------- */
/* ---------- new game button stuff ---------------------------------------- */
@@
-15019,7
+15028,7
@@
void GameUndoRedoExt()
void GameUndo(int steps)
{
void GameUndo(int steps)
{
- if (!CheckEngineSnapshot())
+ if (!CheckEngineSnapshot
List
())
return;
LoadEngineSnapshot_Undo(steps);
return;
LoadEngineSnapshot_Undo(steps);
@@
-15029,7
+15038,7
@@
void GameUndo(int steps)
void GameRedo(int steps)
{
void GameRedo(int steps)
{
- if (!CheckEngineSnapshot())
+ if (!CheckEngineSnapshot
List
())
return;
LoadEngineSnapshot_Redo(steps);
return;
LoadEngineSnapshot_Redo(steps);