removed unused image file for native Boulder Dash graphics
[rocksndiamonds.git] / src / game.h
index 7eb19cdedbb1e7d60b241dabdc915803dd587975..c5eba4f155939e7296315d0bee1acc780b9b6287 100644 (file)
@@ -52,6 +52,9 @@ struct GamePanelInfo
 {
   struct TextPosInfo level_number;
   struct TextPosInfo gems;
+  struct TextPosInfo gems_needed;
+  struct TextPosInfo gems_collected;
+  struct TextPosInfo gems_score;
   struct TextPosInfo inventory_count;
   struct TextPosInfo inventory_first[NUM_PANEL_INVENTORY];
   struct TextPosInfo inventory_last[NUM_PANEL_INVENTORY];
@@ -123,6 +126,8 @@ struct GameButtonInfo
   struct XY pause2;
   struct XY load;
 
+  struct XY restart;
+
   struct XY sound_music;
   struct XY sound_loops;
   struct XY sound_simple;
@@ -131,12 +136,15 @@ struct GameButtonInfo
   struct XY panel_pause;
   struct XY panel_play;
 
+  struct XY panel_restart;
+
   struct XY panel_sound_music;
   struct XY panel_sound_loops;
   struct XY panel_sound_simple;
 
   struct XY touch_stop;
   struct XY touch_pause;
+  struct XY touch_restart;
 };
 
 struct GameSnapshotInfo
@@ -158,15 +166,21 @@ struct GameInfo
 
   // values for graphics engine customization
   int graphics_engine_version;
+  boolean use_native_bd_graphics_engine;
   boolean use_native_emc_graphics_engine;
   boolean use_native_sp_graphics_engine;
   boolean use_masked_pushing;
   boolean use_masked_elements;
   boolean use_masked_elements_initial;
+  int forced_scroll_x;
+  int forced_scroll_y;
   int forced_scroll_delay_value;
   int scroll_delay_value;
   int tile_size;
 
+  // values for sound engine customization
+  boolean use_native_bd_sound_engine;
+
   // constant within running game
   int engine_version;
   int emulation;
@@ -202,7 +216,6 @@ struct GameInfo
   int wind_direction;
 
   boolean explosions_delayed;
-  boolean envelope_active;
   boolean no_level_time_limit; // (variable only in very special case)
   boolean time_limit;          // forced by levelset config or setup option
 
@@ -244,7 +257,8 @@ struct GameInfo
 
   // values for special request dialog control
   boolean request_active;
-  boolean request_active_or_moving;
+  boolean envelope_active;
+  boolean any_door_active;
 
   // values for special game control
   int centered_player_nr;
@@ -274,6 +288,8 @@ struct GameInfo
   int LevelSolved_CountingTime;
   int LevelSolved_CountingScore;
   int LevelSolved_CountingHealth;
+
+  boolean RestartGameRequested;
 };
 
 struct PlayerInfo
@@ -433,6 +449,7 @@ void DrawDynamite(int, int);
 void StartGameActions(boolean, boolean, int);
 
 void GameActions(void);
+void GameActions_BD_Main(void);
 void GameActions_EM_Main(void);
 void GameActions_SP_Main(void);
 void GameActions_MM_Main(void);
@@ -456,9 +473,12 @@ void RequestQuitGameExt(boolean, boolean, char *);
 void RequestQuitGame(boolean);
 
 boolean CheckRestartGame(void);
+boolean checkGameRunning(void);
+boolean checkGamePlaying(void);
 boolean checkGameSolved(void);
 boolean checkGameFailed(void);
 boolean checkGameEnded(void);
+boolean checkRequestActive(void);
 
 unsigned int InitEngineRandom_RND(int);
 unsigned int RND(int);