X-Git-Url: https://git.artsoft.org/?p=rocksndiamonds.git;a=blobdiff_plain;f=src%2Fgame.h;h=9bfa0cd52d078c5d6ad6c67b02b2cd724b60fa45;hp=a0ffe85a31b15e7dff94dee66e4c7ef24844c3b9;hb=a48a472e7e5b2e30f48a4cf29c2bf98c7de1b5af;hpb=823ae65fd14a8ab5e88adc0c711acecb2fb36955 diff --git a/src/game.h b/src/game.h index a0ffe85a..9bfa0cd5 100644 --- a/src/game.h +++ b/src/game.h @@ -186,10 +186,17 @@ 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; @@ -197,6 +204,11 @@ struct GameInfo 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; @@ -229,8 +241,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; @@ -253,6 +267,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) @@ -260,12 +275,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) @@ -287,8 +302,6 @@ struct PlayerInfo boolean gravity; - boolean GameOver; - int last_move_dir; boolean is_active; @@ -350,12 +363,6 @@ struct PlayerInfo int step_counter; - int score; - int score_final; - - int health; - int health_final; - int key[MAX_NUM_KEYS]; int num_white_keys; int dynabomb_count, dynabomb_size, dynabombs_left, dynabomb_xl; @@ -445,6 +452,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);