X-Git-Url: https://git.artsoft.org/?p=rocksndiamonds.git;a=blobdiff_plain;f=src%2Fgame.h;h=5a96d4fc630cb23fc67d253984b1ec7b8afdfe8b;hp=5b3c02d6c7174b82b79cdf877ec62fcff614cfe9;hb=1be3e5c990b84f8548a80ccd6b7b209a88312141;hpb=10a305960c9cc79afceb6c15c410796776bfe58b diff --git a/src/game.h b/src/game.h index 5b3c02d6..5a96d4fc 100644 --- a/src/game.h +++ b/src/game.h @@ -186,10 +186,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 +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; @@ -246,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) @@ -253,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) @@ -280,8 +302,6 @@ struct PlayerInfo boolean gravity; - boolean GameOver; - int last_move_dir; boolean is_active; @@ -343,18 +363,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;