updated contact info in source file headers
[rocksndiamonds.git] / src / game.h
index 18cac2edb6500aa34f4f05de5cbff92c581ba429..49c866a57672d483343d9de876038c6609aca4dd 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
@@ -92,9 +90,13 @@ struct GameButtonInfo
   struct Rect stop;
   struct Rect pause;
   struct Rect play;
+
   struct Rect sound_music;
   struct Rect sound_loops;
   struct Rect sound_simple;
+
+  struct Rect save;
+  struct Rect load;
 };
 
 #else
@@ -135,6 +137,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 +162,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;
@@ -178,7 +185,7 @@ struct GameInfo
   boolean set_centered_player;
 
   /* values for random number generator initialization after snapshot */
-  unsigned long num_random_calls;
+  unsigned int num_random_calls;
 };
 
 struct PlayerInfo
@@ -278,7 +285,7 @@ struct PlayerInfo
   int push_delay;
   int push_delay_value;
 
-  unsigned long actual_frame_counter;
+  unsigned int actual_frame_counter;
 
   int drop_delay;
   int drop_pressed_delay;
@@ -331,7 +338,7 @@ void Moving2Blocked(int, int, int *, int *);
 void Blocked2Moving(int, int, int *, int *);
 void DrawDynamite(int, int);
 
-void StartGameActions(boolean, boolean, long);
+void StartGameActions(boolean, boolean, int);
 
 void GameActions(void);
 void GameActions_EM_Main();
@@ -350,7 +357,7 @@ void RaiseScoreElement(int);
 void RequestQuitGameExt(boolean, boolean, char *);
 void RequestQuitGame(boolean);
 
-unsigned int InitEngineRandom_RND(long);
+unsigned int InitEngineRandom_RND(int);
 unsigned int RND(int);
 
 void FreeEngineSnapshot();
@@ -360,6 +367,7 @@ boolean CheckEngineSnapshot();
 
 void CreateGameButtons();
 void FreeGameButtons();
+void MapGameButtons();
 void UnmapGameButtons();
 void RedrawGameButtons();