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;
// values for game engine snapshot control
struct GameSnapshotInfo snapshot;
+
+ // values for handling states for solved level and game over
+ boolean LevelSolved;
+ boolean GamePlayed;
+ boolean GameOver;
+
+ boolean LevelSolved_GameWon;
+ boolean LevelSolved_GameEnd;
+ boolean LevelSolved_SaveTape;
+ boolean LevelSolved_SaveScore;
+
+ int LevelSolved_CountingTime;
+ int LevelSolved_CountingScore;
+ int LevelSolved_CountingHealth;
};
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)
boolean gravity;
- boolean LevelSolved, GameOver;
-
- boolean LevelSolved_GameWon;
- boolean LevelSolved_GameEnd;
- boolean LevelSolved_SaveTape;
- boolean LevelSolved_SaveScore;
-
- int LevelSolved_CountingTime;
- int LevelSolved_CountingScore;
- int LevelSolved_CountingHealth;
-
int last_move_dir;
boolean is_active;
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;