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
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) */
int step_counter;
int score;
+ int score_final;
+
int gems_still_needed;
int sokobanfields_still_needed;
int lights_still_needed;
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
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();