added movement-based engine snapshot mode to step-based mode
[rocksndiamonds.git] / src / game.h
index 3f04c02edfe87c8dba67f54c7b5f173101814469..ae0a1cc19ec93bfe4da257cec54d1ce30af1be61 100644 (file)
 #define NUM_PANEL_ELEMENTS     8
 #define NUM_PANEL_CE_SCORE     8
 
+#define SNAPSHOT_MODE_STEP     0
+#define SNAPSHOT_MODE_MOVE     1
+
+
 struct GamePanelInfo
 {
   struct TextPosInfo level_number;
@@ -101,6 +105,14 @@ struct GameButtonInfo
   struct XY sound_simple;
 };
 
+struct GameSnapshotInfo
+{
+  int mode;
+
+  byte last_action[MAX_PLAYERS];
+  boolean changed_action;
+};
+
 struct GameInfo
 {
   /* values for control panel */
@@ -175,6 +187,9 @@ struct GameInfo
 
   /* values for random number generator initialization after snapshot */
   unsigned int num_random_calls;
+
+  /* values for game engine snapshot control */
+  struct GameSnapshotInfo snapshot;
 };
 
 struct PlayerInfo
@@ -353,7 +368,7 @@ void FreeEngineSnapshotSingle();
 void FreeEngineSnapshotList();
 void LoadEngineSnapshotSingle();
 void SaveEngineSnapshotSingle();
-void SaveEngineSnapshotToList();
+boolean SaveEngineSnapshotToList();
 boolean CheckEngineSnapshot();
 
 void CreateGameButtons();