// ----------------------------------------------------------------------------
// game.h
// ============================================================================
// ----------------------------------------------------------------------------
// game.h
// ============================================================================
#define STR_SNAPSHOT_MODE_EVERY_COLLECT "every_collect"
#define STR_SNAPSHOT_MODE_DEFAULT STR_SNAPSHOT_MODE_OFF
#define STR_SNAPSHOT_MODE_EVERY_COLLECT "every_collect"
#define STR_SNAPSHOT_MODE_DEFAULT STR_SNAPSHOT_MODE_OFF
+#define STR_SCORES_TYPE_LOCAL_ONLY "local_scores_only"
+#define STR_SCORES_TYPE_SERVER_ONLY "server_scores_only"
+#define STR_SCORES_TYPE_LOCAL_AND_SERVER "local_and_server_scores"
+#define STR_SCORES_TYPE_DEFAULT STR_SCORES_TYPE_LOCAL_AND_SERVER
+
#define SNAPSHOT_MODE_OFF 0
#define SNAPSHOT_MODE_EVERY_STEP 1
#define SNAPSHOT_MODE_EVERY_MOVE 2
#define SNAPSHOT_MODE_OFF 0
#define SNAPSHOT_MODE_EVERY_STEP 1
#define SNAPSHOT_MODE_EVERY_MOVE 2
struct XY panel_sound_music;
struct XY panel_sound_loops;
struct XY panel_sound_simple;
struct XY panel_sound_music;
struct XY panel_sound_loops;
struct XY panel_sound_simple;
boolean use_native_emc_graphics_engine;
boolean use_native_sp_graphics_engine;
boolean use_masked_pushing;
boolean use_native_emc_graphics_engine;
boolean use_native_sp_graphics_engine;
boolean use_masked_pushing;
- boolean no_time_limit; // (variable only in very special case)
+ boolean no_level_time_limit; // (variable only in very special case)
+ boolean time_limit; // forced by levelset config or setup option
+
+ int time_final; // time (in seconds) or steps left or played
+ int score_time_final; // time (in frames) or steps played
int LevelSolved_CountingTime;
int LevelSolved_CountingScore;
int LevelSolved_CountingHealth;
int LevelSolved_CountingTime;
int LevelSolved_CountingScore;
int LevelSolved_CountingHealth;
byte effective_action; /* action acknowledged from network server
or summarized over all configured input
devices when in single player mode */
byte programmed_action; /* action forced by game itself (like moving
through doors); overrides other actions */
byte effective_action; /* action acknowledged from network server
or summarized over all configured input
devices when in single player mode */
byte programmed_action; /* action forced by game itself (like moving
through doors); overrides other actions */
struct MouseActionInfo mouse_action; // (used by MM engine only)
struct MouseActionInfo effective_mouse_action; // (used by MM engine only)
struct MouseActionInfo mouse_action; // (used by MM engine only)
struct MouseActionInfo effective_mouse_action; // (used by MM engine only)
void Moving2Blocked(int, int, int *, int *);
void Blocked2Moving(int, int, int *, int *);
void Moving2Blocked(int, int, int *, int *);
void Blocked2Moving(int, int, int *, int *);
void DrawDynamite(int, int);
void StartGameActions(boolean, boolean, int);
void DrawDynamite(int, int);
void StartGameActions(boolean, boolean, int);
void RequestQuitGameExt(boolean, boolean, char *);
void RequestQuitGame(boolean);
void RequestQuitGameExt(boolean, boolean, char *);
void RequestQuitGame(boolean);
boolean checkGameSolved(void);
boolean checkGameFailed(void);
boolean checkGameEnded(void);
boolean checkGameSolved(void);
boolean checkGameFailed(void);
boolean checkGameEnded(void);
void MapGameButtons(void);
void UnmapGameButtons(void);
void RedrawGameButtons(void);
void MapGameButtons(void);
void UnmapGameButtons(void);
void RedrawGameButtons(void);