major cleanup of preprocessor hell
[rocksndiamonds.git] / src / game.h
index 96af46d0f38c0de5e6e1c4612c03e4a4bb6f621b..22ea2e7ee74e1aa2ae49a9b2d38555d46eec6f25 100644 (file)
@@ -1,15 +1,13 @@
-/***********************************************************
-* Rocks'n'Diamonds -- McDuffin Strikes Back!               *
-*----------------------------------------------------------*
-* (c) 1995-2006 Artsoft Entertainment                      *
-*               Holger Schemel                             *
-*               Detmolder Strasse 189                      *
-*               33604 Bielefeld                            *
-*               Germany                                    *
-*               e-mail: info@artsoft.org                   *
-*----------------------------------------------------------*
-* game.h                                                   *
-***********************************************************/
+// ============================================================================
+// Rocks'n'Diamonds - McDuffin Strikes Back!
+// ----------------------------------------------------------------------------
+// (c) 1995-2014 by Artsoft Entertainment
+//                         Holger Schemel
+//                 info@artsoft.org
+//                 http://www.artsoft.org/
+// ----------------------------------------------------------------------------
+// game.h
+// ============================================================================
 
 #ifndef GAME_H
 #define GAME_H
@@ -30,7 +28,6 @@
 #define NUM_PANEL_ELEMENTS     8
 #define NUM_PANEL_CE_SCORE     8
 
-#if 1
 struct GamePanelInfo
 {
   struct TextPosInfo level_number;
@@ -92,23 +89,14 @@ struct GameButtonInfo
   struct Rect stop;
   struct Rect pause;
   struct Rect play;
+
   struct Rect sound_music;
   struct Rect sound_loops;
   struct Rect sound_simple;
-};
 
-#else
-
-struct GamePanelInfo
-{
-  struct XY level;
-  struct XY gems;
-  struct XY inventory;
-  struct XY keys;
-  struct XY score;
-  struct XY time;
+  struct Rect save;
+  struct Rect load;
 };
-#endif
 
 struct GameInfo
 {
@@ -135,6 +123,10 @@ struct GameInfo
   int initial_move_delay_value[MAX_PLAYERS];
   int initial_push_delay_value;
 
+  /* flag for single or multi-player mode (needed for playing tapes) */
+  /* (when playing/recording games, this is identical to "setup.team_mode" */
+  boolean team_mode;
+
   /* flags to handle bugs in and changes between different engine versions */
   /* (for the latest engine version, these flags should always be "FALSE") */
   boolean use_change_when_pushing_bug;
@@ -156,6 +148,7 @@ struct GameInfo
   boolean gravity;
   boolean explosions_delayed;
   boolean envelope_active;
+  boolean no_time_limit;       /* (variable only in very special case) */
 
   /* values for the new EMC elements */
   int lenses_time_left;
@@ -360,6 +353,7 @@ boolean CheckEngineSnapshot();
 
 void CreateGameButtons();
 void FreeGameButtons();
+void MapGameButtons();
 void UnmapGameButtons();
 void RedrawGameButtons();