projects
/
rocksndiamonds.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
added fast uncovering of native BD games when started from editor
[rocksndiamonds.git]
/
src
/
game.h
diff --git
a/src/game.h
b/src/game.h
index 74625440cae7d8ac3b7ca2a8b1b0415f279b81ef..c5eba4f155939e7296315d0bee1acc780b9b6287 100644
(file)
--- a/
src/game.h
+++ b/
src/game.h
@@
-4,7
+4,7
@@
// (c) 1995-2014 by Artsoft Entertainment
// Holger Schemel
// info@artsoft.org
// (c) 1995-2014 by Artsoft Entertainment
// Holger Schemel
// info@artsoft.org
-// http://www.artsoft.org/
+// http
s
://www.artsoft.org/
// ----------------------------------------------------------------------------
// game.h
// ============================================================================
// ----------------------------------------------------------------------------
// game.h
// ============================================================================
@@
-36,6
+36,11
@@
#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
@@
-47,6
+52,9
@@
struct GamePanelInfo
{
struct TextPosInfo level_number;
struct TextPosInfo gems;
{
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 TextPosInfo inventory_count;
struct TextPosInfo inventory_first[NUM_PANEL_INVENTORY];
struct TextPosInfo inventory_last[NUM_PANEL_INVENTORY];
@@
-118,6
+126,8
@@
struct GameButtonInfo
struct XY pause2;
struct XY load;
struct XY pause2;
struct XY load;
+ struct XY restart;
+
struct XY sound_music;
struct XY sound_loops;
struct XY sound_simple;
struct XY sound_music;
struct XY sound_loops;
struct XY sound_simple;
@@
-126,12
+136,15
@@
struct GameButtonInfo
struct XY panel_pause;
struct XY panel_play;
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 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
};
struct GameSnapshotInfo
@@
-153,13
+166,21
@@
struct GameInfo
// values for graphics engine customization
int graphics_engine_version;
// 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_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;
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;
// constant within running game
int engine_version;
int emulation;
@@
-178,8
+199,9
@@
struct GameInfo
boolean max_num_changes_per_frame;
boolean use_reverse_scan_direction;
boolean max_num_changes_per_frame;
boolean use_reverse_scan_direction;
- // flag to indicate if mouse events are processed by game engine
- boolean use_mouse_events;
+ // flags to indicate which game actions are used in this game
+ boolean use_key_actions;
+ boolean use_mouse_actions;
// variable within running game
int yamyam_content_nr;
// variable within running game
int yamyam_content_nr;
@@
-194,8
+216,11
@@
struct GameInfo
int wind_direction;
boolean explosions_delayed;
int wind_direction;
boolean explosions_delayed;
- boolean envelope_active;
- 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 score;
int score_final;
int score;
int score_final;
@@
-230,11
+255,10
@@
struct GameInfo
// values for special game initialization control
boolean restart_level;
// values for special game initialization control
boolean restart_level;
- // trigger message to ask for restarting the game
- char *restart_game_message;
-
// values for special request dialog control
boolean request_active;
// values for special request dialog control
boolean request_active;
+ boolean envelope_active;
+ boolean any_door_active;
// values for special game control
int centered_player_nr;
// values for special game control
int centered_player_nr;
@@
-242,6
+266,9
@@
struct GameInfo
boolean set_centered_player;
boolean set_centered_player_wrap;
boolean set_centered_player;
boolean set_centered_player_wrap;
+ // values for single step mode control
+ boolean enter_single_step_mode;
+
// values for random number generator initialization after snapshot
unsigned int num_random_calls;
// values for random number generator initialization after snapshot
unsigned int num_random_calls;
@@
-261,6
+288,8
@@
struct GameInfo
int LevelSolved_CountingTime;
int LevelSolved_CountingScore;
int LevelSolved_CountingHealth;
int LevelSolved_CountingTime;
int LevelSolved_CountingScore;
int LevelSolved_CountingHealth;
+
+ boolean RestartGameRequested;
};
struct PlayerInfo
};
struct PlayerInfo
@@
-363,7
+392,7
@@
struct PlayerInfo
int push_delay;
int push_delay_value;
int push_delay;
int push_delay_value;
-
unsigned int
actual_frame_counter;
+
DelayCounter
actual_frame_counter;
int drop_delay;
int drop_pressed_delay;
int drop_delay;
int drop_pressed_delay;
@@
-376,6
+405,8
@@
struct PlayerInfo
int shield_normal_time_left;
int shield_deadly_time_left;
int shield_normal_time_left;
int shield_deadly_time_left;
+ int last_removed_element;
+
int inventory_element[MAX_INVENTORY_SIZE];
int inventory_infinite_element;
int inventory_size;
int inventory_element[MAX_INVENTORY_SIZE];
int inventory_infinite_element;
int inventory_size;
@@
-394,7
+425,7
@@
int GetElementFromGroupElement(int);
int getPlayerInventorySize(int);
int getPlayerInventorySize(int);
-void
DrawGameValue_Time(int
);
+void
UpdateGameDoorValues(void
);
void DrawGameDoorValues(void);
void UpdateAndDisplayGameControlValues(void);
void DrawGameDoorValues(void);
void UpdateAndDisplayGameControlValues(void);
@@
-406,14
+437,19
@@
void UpdateEngineValues(int, int, int, int);
void GameWon(void);
void GameEnd(void);
void GameWon(void);
void GameEnd(void);
+void MergeServerScore(void);
+
void InitPlayerGfxAnimation(struct PlayerInfo *, int, int);
void InitPlayerGfxAnimation(struct PlayerInfo *, int, int);
+
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 GameActions(void);
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 GameActions_EM_Main(void);
void GameActions_SP_Main(void);
void GameActions_MM_Main(void);
@@
-435,12
+471,14
@@
void RaiseScoreElement(int);
void RequestQuitGameExt(boolean, boolean, char *);
void RequestQuitGame(boolean);
void RequestQuitGameExt(boolean, boolean, char *);
void RequestQuitGame(boolean);
-void RequestRestartGame(char *);
-void CheckGameOver(void);
+boolean CheckRestartGame(void);
+boolean checkGameRunning(void);
+boolean checkGamePlaying(void);
boolean checkGameSolved(void);
boolean checkGameFailed(void);
boolean checkGameEnded(void);
boolean checkGameSolved(void);
boolean checkGameFailed(void);
boolean checkGameEnded(void);
+boolean checkRequestActive(void);
unsigned int InitEngineRandom_RND(int);
unsigned int RND(int);
unsigned int InitEngineRandom_RND(int);
unsigned int RND(int);
@@
-457,8
+495,8
@@
boolean CheckEngineSnapshotList(void);
void CreateGameButtons(void);
void FreeGameButtons(void);
void CreateGameButtons(void);
void FreeGameButtons(void);
+void MapLoadSaveButtons(void);
void MapUndoRedoButtons(void);
void MapUndoRedoButtons(void);
-void UnmapUndoRedoButtons(void);
void ModifyPauseButtons(void);
void MapGameButtons(void);
void UnmapGameButtons(void);
void ModifyPauseButtons(void);
void MapGameButtons(void);
void UnmapGameButtons(void);