X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Fgame.h;h=224df856e525130d8e12106c3e7d3b5282933a2d;hb=a0f56f02e122388db4b71520f522ee4e4f002c4a;hp=5b3c02d6c7174b82b79cdf877ec62fcff614cfe9;hpb=10a305960c9cc79afceb6c15c410796776bfe58b;p=rocksndiamonds.git diff --git a/src/game.h b/src/game.h index 5b3c02d6..224df856 100644 --- a/src/game.h +++ b/src/game.h @@ -129,6 +129,9 @@ struct GameButtonInfo struct XY panel_sound_music; struct XY panel_sound_loops; struct XY panel_sound_simple; + + struct XY touch_stop; + struct XY touch_pause; }; struct GameSnapshotInfo @@ -186,10 +189,29 @@ struct GameInfo int belt_dir_nr[4]; int switchgate_pos; int wind_direction; + boolean explosions_delayed; boolean envelope_active; boolean no_time_limit; // (variable only in very special case) + int score; + int score_final; + + int health; + int health_final; + + int gems_still_needed; + int sokoban_fields_still_needed; + int sokoban_objects_still_needed; + int lights_still_needed; + int players_still_needed; + int friends_still_needed; + + int robot_wheel_x, robot_wheel_y; + int exit_x, exit_y; + + boolean all_players_gone; + // values for the new EMC elements int lenses_time_left; int magnify_time_left; @@ -222,8 +244,10 @@ struct GameInfo // values for game engine snapshot control struct GameSnapshotInfo snapshot; - // values for handling states for solved level + // values for handling states for solved level and game over boolean LevelSolved; + boolean GamePlayed; + boolean GameOver; boolean LevelSolved_GameWon; boolean LevelSolved_GameEnd; @@ -246,6 +270,7 @@ struct PlayerInfo boolean killed; // player maybe present/active, but killed boolean reanimated; // player maybe killed, but reanimated + boolean buried; // player finally killed and removed int index_nr; // player number (0 to 3) int index_bit; // player number bit (1 << 0 to 1 << 3) @@ -253,12 +278,12 @@ struct PlayerInfo int client_nr; // network client identifier byte action; // action from local input device - byte mapped_action; // action mapped from device to player 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 snap_action; // action from TAS snap keys struct MouseActionInfo mouse_action; // (used by MM engine only) struct MouseActionInfo effective_mouse_action; // (used by MM engine only) @@ -280,8 +305,6 @@ struct PlayerInfo boolean gravity; - boolean GameOver; - int last_move_dir; boolean is_active; @@ -343,18 +366,6 @@ struct PlayerInfo int step_counter; - int score; - int score_final; - - int health; - int health_final; - - int gems_still_needed; - int sokoban_fields_still_needed; - int sokoban_objects_still_needed; - int lights_still_needed; - int players_still_needed; - int friends_still_needed; int key[MAX_NUM_KEYS]; int num_white_keys; int dynabomb_count, dynabomb_size, dynabombs_left, dynabomb_xl; @@ -444,6 +455,7 @@ void CreateGameButtons(void); void FreeGameButtons(void); void MapUndoRedoButtons(void); void UnmapUndoRedoButtons(void); +void ModifyPauseButtons(void); void MapGameButtons(void); void UnmapGameButtons(void); void RedrawGameButtons(void);