X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Fgame_em%2Femerald.h;h=05f42035e5b9c9e8761ffaf68e49f793bb9ec47c;hb=bb5351e2289159babb15e8506736de061bf424e2;hp=509f2f6939b4705f46b4cefc5760a264383095c0;hpb=ccae7930955b9fdb46e1d2da1373cc00ff76cff1;p=rocksndiamonds.git diff --git a/src/game_em/emerald.h b/src/game_em/emerald.h index 509f2f69..05f42035 100644 --- a/src/game_em/emerald.h +++ b/src/game_em/emerald.h @@ -536,7 +536,11 @@ enum transition to boom_2 */ Xboom_2, /* transition to boom[] */ - Znormal, /* passed from synchro to explode, only in next[]; + Zbug, /* passed from synchro to explode, only in next[]; + no picture */ + Ztank, /* passed from synchro to explode, only in next[]; + no picture */ + Zeater, /* passed from synchro to explode, only in next[]; no picture */ Zdynamite, /* passed from synchro to explode, only in next[]; no picture */ @@ -618,103 +622,75 @@ enum // data structure definitions // ---------------------------------------------------------------------------- -struct LEVEL +struct LOGIC { - int home_initial; /* number of players (initial) */ - int home; /* number of players not yet at home */ - /* 0 == all players at home */ - - int width; /* playfield width */ - int height; /* playfield height */ - - int left; /* playfield left edge */ - int top; /* playfield top edge */ - int right; /* playfield right edge */ - int bottom; /* playfield bottom edge */ - - int time_seconds; /* available time (seconds) */ - int time_initial; /* available time (initial) */ - int time; /* time remaining (runtime) */ - - boolean killed_out_of_time; /* kill player due to time out */ + int width; /* cave width */ + int height; /* cave height */ - int required_initial; /* emeralds needed (initial) */ - int required; /* emeralds needed (runtime) */ + int left; /* cave left edge */ + int top; /* cave top edge */ + int right; /* cave right edge */ + int bottom; /* cave bottom edge */ + int time; /* time remaining */ + int gems_needed; /* emeralds needed */ int score; /* score */ - /* all below entries must be filled every time a level is read */ - + int eater_score; /* score for killing eater */ int alien_score; /* score for killing alien */ - int amoeba_time; /* amoeba speed */ - int android_move_cnt_initial; /* android move counter (initial) */ - int android_move_cnt; /* android move counter */ - int android_move_time; /* android move reset time */ - int android_clone_cnt_initial;/* android clone counter (initial) */ - int android_clone_cnt; /* android clone counter */ - int android_clone_time; /* android clone reset time */ - int ball_cnt; /* ball counter */ - int ball_pos; /* ball array pos counter */ - int ball_random; /* ball is random flag */ - int ball_state_initial; /* ball active flag (initial) */ - int ball_state; /* ball active flag */ - int ball_time; /* ball reset time */ int bug_score; /* score for killing bug */ + int tank_score; /* score for killing tank */ + int slurp_score; /* score for slurping alien with spring */ + int nut_score; /* score for cracking nut to emerald */ + int emerald_score; /* score for collecting emerald */ int diamond_score; /* score for collecting diamond */ int dynamite_score; /* score for collecting dynamite */ - int eater_pos; /* eater array pos */ - int eater_score; /* score for killing eater */ - int emerald_score; /* score for collecting emerald */ - int exit_score; /* score for entering exit */ int key_score; /* score for colleting key */ - int lenses_cnt_initial; /* lenses counter (initial) */ - int lenses_cnt; /* lenses counter */ int lenses_score; /* score for collecting lenses */ - int lenses_time; /* lenses reset time */ - int magnify_cnt_initial; /* magnify counter (initial) */ - int magnify_cnt; /* magnify counter */ int magnify_score; /* score for collecting magnifier */ - int magnify_time; /* magnify reset time */ - int nut_score; /* score for cracking nut */ - int shine_cnt; /* shine counter for emerald/diamond */ - int slurp_score; /* score for slurping alien */ - int tank_score; /* score for killing tank */ - int wheel_cnt_initial; /* wheel counter (initial) */ - int wheel_cnt; /* wheel counter */ - int wheel_x_initial; /* wheel x pos (initial) */ + int exit_score; /* score for entering exit */ + + int android_move_time; /* android move reset time */ + int android_clone_time; /* android clone reset time */ + int ball_time; /* ball reset time */ + int amoeba_time; /* amoeba speed */ + int wonderwall_time; /* wonderwall time */ + int wheel_time; /* wheel reset time */ int wheel_x; /* wheel x pos */ - int wheel_y_initial; /* wheel y pos (initial) */ int wheel_y; /* wheel y pos */ - int wheel_time; /* wheel reset time */ - int wind_cnt_initial; /* wind counter (initial) */ - int wind_cnt; /* wind time counter */ - int wind_direction_initial; /* wind direction (initial) */ - int wind_direction; /* wind direction */ + int lenses_time; /* lenses reset time */ + int magnify_time; /* magnify reset time */ int wind_time; /* wind reset time */ - int wonderwall_state_initial; /* wonderwall active flag (initial) */ + int wind_direction; /* wind direction */ + + int ball_random; /* ball is random flag */ + int ball_state; /* ball active flag */ int wonderwall_state; /* wonderwall active flag */ - int wonderwall_time_initial; /* wonderwall time (initial) */ - int wonderwall_time; /* wonderwall time */ - short eater_array[8][9]; /* eater data */ - short ball_array[8][8]; /* ball data */ - short android_array[TILE_MAX];/* android clone table */ + int wheel_cnt; /* wheel counter */ + int lenses_cnt; /* lenses counter */ + int magnify_cnt; /* magnify counter */ + int wind_cnt; /* wind time counter */ + + int android_move_cnt; /* android move counter */ + int android_clone_cnt; /* android clone counter */ + int ball_cnt; /* ball counter */ + int ball_pos; /* ball array pos counter */ + int eater_pos; /* eater array pos */ + int shine_cnt; /* shine counter for emerald/diamond */ + int num_ball_arrays; /* number of ball data arrays used */ + int home_initial; /* number of players (initial) */ + int home; /* number of players not yet at home */ + /* 0 == all players at home */ + + boolean killed_out_of_time; /* kill player due to time out */ + int exit_x, exit_y; /* kludge for playing player exit sound */ - boolean android_eater; /* android clone data */ - boolean android_alien; - boolean android_bug; - boolean android_tank; - boolean android_emerald; - boolean android_diamond; - boolean android_stone; - boolean android_bomb; - boolean android_nut; - boolean android_spring; - boolean android_dynamite; - boolean android_balloon; - boolean android_amoeba; + short eater_array[8][9]; /* eater data */ + short ball_array[8][8]; /* ball data */ + short android_array[TILE_MAX]; /* android clone data */ short cavebuf[CAVE_BUFFER_WIDTH][CAVE_BUFFER_HEIGHT]; short nextbuf[CAVE_BUFFER_WIDTH][CAVE_BUFFER_HEIGHT]; @@ -744,8 +720,6 @@ struct PLAYER int keys; int anim; - int x_initial; - int y_initial; int x; int y; int oldx;