{
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];
struct XY pause2;
struct XY load;
+ struct XY restart;
+
struct XY sound_music;
struct XY sound_loops;
struct XY sound_simple;
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
// 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;
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
// 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;
int LevelSolved_CountingTime;
int LevelSolved_CountingScore;
int LevelSolved_CountingHealth;
+
+ boolean RestartGameRequested;
};
struct PlayerInfo
void MergeServerScore(void);
void InitPlayerGfxAnimation(struct PlayerInfo *, int, int);
+
void Moving2Blocked(int, int, int *, int *);
void Blocked2Moving(int, int, int *, int *);
+
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);
void RequestQuitGameExt(boolean, boolean, char *);
void RequestQuitGame(boolean);
-void RequestRestartGame(char *);
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);