X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Fgame.h;h=224df856e525130d8e12106c3e7d3b5282933a2d;hb=368d771258ee3aed9c0713a0998094651eca2504;hp=a0ffe85a31b15e7dff94dee66e4c7ef24844c3b9;hpb=823ae65fd14a8ab5e88adc0c711acecb2fb36955;p=rocksndiamonds.git diff --git a/src/game.h b/src/game.h index a0ffe85a..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,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 +207,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 +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; @@ -253,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) @@ -260,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) @@ -287,8 +305,6 @@ struct PlayerInfo boolean gravity; - boolean GameOver; - int last_move_dir; boolean is_active; @@ -350,12 +366,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 +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);