X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Fgame.h;h=83c7f00cfd5ab151e93649aa8ae9f56579e26431;hb=c3f4524693a17a8d75c7d25da24d4003b234d114;hp=e96f7f9386c8acd2158fc35206b34ba3ba38179a;hpb=48d02823f8ca69be773caa16820adcd6ff9aa675;p=rocksndiamonds.git diff --git a/src/game.h b/src/game.h index e96f7f93..83c7f00c 100644 --- a/src/game.h +++ b/src/game.h @@ -52,6 +52,9 @@ struct GamePanelInfo { struct TextPosInfo level_number; struct TextPosInfo gems; + struct TextPosInfo gems_total; + 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]; @@ -123,6 +126,8 @@ struct GameButtonInfo struct XY pause2; struct XY load; + struct XY restart; + struct XY sound_music; struct XY sound_loops; struct XY sound_simple; @@ -131,12 +136,15 @@ struct GameButtonInfo 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 @@ -158,15 +166,21 @@ struct GameInfo // 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; @@ -204,7 +218,7 @@ struct GameInfo boolean explosions_delayed; boolean envelope_active; boolean no_level_time_limit; // (variable only in very special case) - boolean time_limit; // forced by setup option + 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 @@ -242,12 +256,8 @@ struct GameInfo // 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; - boolean request_active_or_moving; // values for special game control int centered_player_nr; @@ -277,6 +287,8 @@ struct GameInfo int LevelSolved_CountingTime; int LevelSolved_CountingScore; int LevelSolved_CountingHealth; + + boolean RestartGameRequested; }; struct PlayerInfo @@ -379,7 +391,7 @@ struct PlayerInfo int push_delay; int push_delay_value; - unsigned int actual_frame_counter; + DelayCounter actual_frame_counter; int drop_delay; int drop_pressed_delay; @@ -427,13 +439,16 @@ void GameEnd(void); 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); @@ -455,9 +470,10 @@ void RaiseScoreElement(int); 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);