rnd-20061125-1-src
[rocksndiamonds.git] / src / game.h
index 4190c9ec25654399b8e877d73b2999ec6c9ceef2..c7e70c315d2cd08b697e85dd52b9e0870befafe2 100644 (file)
@@ -86,6 +86,9 @@ struct GameInfo
   int centered_player_nr;
   int centered_player_nr_next;
   boolean set_centered_player;
+
+  /* values for random number generator initialization after snapshot */
+  unsigned long num_random_calls;
 };
 
 struct PlayerInfo
@@ -93,6 +96,7 @@ struct PlayerInfo
   boolean present;             /* player present in level playfield */
   boolean connected;           /* player connected (locally or via network) */
   boolean active;              /* player present and connected */
+  boolean killed;              /* player maybe present/active, but killed */
 
   int index_nr;                        /* player number (0 to 3) */
   int index_bit;               /* player number bit (1 << 0 to 1 << 3) */
@@ -183,6 +187,8 @@ struct PlayerInfo
   int step_counter;
 
   int score;
+  int score_final;
+
   int gems_still_needed;
   int sokobanfields_still_needed;
   int lights_still_needed;
@@ -197,9 +203,8 @@ struct PlayerInfo
   int inventory_size;
 };
 
-
 extern struct GameInfo         game;
-extern struct PlayerInfo       stored_player[], *local_player;
+extern struct PlayerInfo       stored_player[MAX_PLAYERS], *local_player;
 
 
 #ifdef DEBUG
@@ -238,6 +243,14 @@ void RaiseScore(int);
 void RaiseScoreElement(int);
 void RequestQuitGame(boolean);
 
+unsigned int InitEngineRandom_RND(long);
+unsigned int RND(int);
+
+void FreeEngineSnapshot();
+void LoadEngineSnapshot();
+void SaveEngineSnapshot();
+boolean CheckEngineSnapshot();
+
 void CreateGameButtons();
 void FreeGameButtons();
 void UnmapGameButtons();