added single step support for BD engine
[rocksndiamonds.git] / src / game_bd / export_bd.h
index 23809345a82ead5a8e7b7f17ef2120e9bdcf9ad3..883d4ace79be743d1cfa4613bbc64a30fe0b199c 100644 (file)
@@ -43,6 +43,9 @@ struct GameInfo_BD
   boolean game_over;
   boolean cover_screen;
 
+  boolean player_moving;
+  boolean player_snapping;
+
   // needed for updating panel
   int time_left;
   int gems_still_needed;
@@ -75,6 +78,19 @@ struct GraphicInfo_BD
 
 struct EngineSnapshotInfo_BD
 {
+  GdGame game;
+
+  // data from pointers in game structure
+  int element_buffer[MAX_PLAYFIELD_WIDTH][MAX_PLAYFIELD_HEIGHT];
+  int last_element_buffer[MAX_PLAYFIELD_WIDTH][MAX_PLAYFIELD_HEIGHT];
+  int dir_buffer[MAX_PLAYFIELD_WIDTH][MAX_PLAYFIELD_HEIGHT];
+  int gfx_buffer[MAX_PLAYFIELD_WIDTH][MAX_PLAYFIELD_HEIGHT];
+
+  GdCave cave;
+
+  // data from pointers in cave structure
+  short map[MAX_PLAYFIELD_WIDTH][MAX_PLAYFIELD_HEIGHT];
+  short hammered_reappear[MAX_PLAYFIELD_WIDTH][MAX_PLAYFIELD_HEIGHT];
 };
 
 
@@ -131,4 +147,7 @@ void CoverScreen_BD(void);
 void BlitScreenToBitmap_BD(Bitmap *);
 void RedrawPlayfield_BD(boolean);
 
+void SaveEngineSnapshotValues_BD(void);
+void LoadEngineSnapshotValues_BD(void);
+
 #endif // EXPORT_BD_H