- Xgrow_ns,
- Ygrow_ns_eat,
- Xgrow_ew,
- Ygrow_ew_eat,
- Xwonderwall,
- XwonderwallB,
- Xamoeba_1,
- Xamoeba_2,
- Xamoeba_3,
- Xamoeba_4,
- Xamoeba_5,
- Xamoeba_6,
- Xamoeba_7,
- Xamoeba_8,
- Xdoor_1,
- Xdoor_2,
- Xdoor_3,
- Xdoor_4,
- Xdoor_5,
- Xdoor_6,
- Xdoor_7,
- Xdoor_8,
- Xkey_1,
- Xkey_2,
- Xkey_3,
- Xkey_4,
- Xkey_5,
- Xkey_6,
- Xkey_7,
- Xkey_8,
- Xwind_n,
- Xwind_e,
- Xwind_s,
- Xwind_w,
- Xwind_nesw,
- Xwind_stop,
- Xexit,
- Xexit_1,
- Xexit_2,
- Xexit_3,
- Xdynamite,
- Ydynamite_eat,
- Xdynamite_1,
- Xdynamite_2,
- Xdynamite_3,
- Xdynamite_4,
- Xbumper,
- XbumperB,
- Xwheel,
- XwheelB,
- Xswitch,
- XswitchB,
- Xsand,
- Xsand_stone,
- Xsand_stonein_1,
- Xsand_stonein_2,
- Xsand_stonein_3,
- Xsand_stonein_4,
- Xsand_stonesand_1,
- Xsand_stonesand_2,
- Xsand_stonesand_3,
- Xsand_stonesand_4,
- Xsand_stoneout_1,
- Xsand_stoneout_2,
- Xsand_sandstone_1,
- Xsand_sandstone_2,
- Xsand_sandstone_3,
- Xsand_sandstone_4,
- Xplant,
- Yplant,
- Xlenses,
- Xmagnify,
- Xdripper,
- XdripperB,
- Xfake_blank,
- Xfake_blankB,
- Xfake_grass,
- Xfake_grassB,
- Xfake_door_1,
- Xfake_door_2,
- Xfake_door_3,
- Xfake_door_4,
- Xfake_door_5,
- Xfake_door_6,
- Xfake_door_7,
- Xfake_door_8,
- Xsteel_1,
- Xsteel_2,
- Xsteel_3,
- Xsteel_4,
- Xwall_1,
- Xwall_2,
- Xwall_3,
- Xwall_4,
- Xround_wall_1,
- Xround_wall_2,
- Xround_wall_3,
- Xround_wall_4,
- Xdecor_1,
- Xdecor_2,
- Xdecor_3,
- Xdecor_4,
- Xdecor_5,
- Xdecor_6,
- Xdecor_7,
- Xdecor_8,
- Xdecor_9,
- Xdecor_10,
- Xdecor_11,
- Xdecor_12,
- Xalpha_0,
- Xalpha_1,
- Xalpha_2,
- Xalpha_3,
- Xalpha_4,
- Xalpha_5,
- Xalpha_6,
- Xalpha_7,
- Xalpha_8,
- Xalpha_9,
- Xalpha_excla,
- Xalpha_quote,
- Xalpha_comma,
- Xalpha_minus,
- Xalpha_perio,
- Xalpha_colon,
- Xalpha_quest,
- Xalpha_a,
- Xalpha_b,
- Xalpha_c,
- Xalpha_d,
- Xalpha_e,
- Xalpha_f,
- Xalpha_g,
- Xalpha_h,
- Xalpha_i,
- Xalpha_j,
- Xalpha_k,
- Xalpha_l,
- Xalpha_m,
- Xalpha_n,
- Xalpha_o,
- Xalpha_p,
- Xalpha_q,
- Xalpha_r,
- Xalpha_s,
- Xalpha_t,
- Xalpha_u,
- Xalpha_v,
- Xalpha_w,
- Xalpha_x,
- Xalpha_y,
- Xalpha_z,
- Xalpha_arrow_e,
- Xalpha_arrow_w,
- Xalpha_copyr,
-
- Xboom_bug, /* passed from explode to synchro (linked explosion);
- transition to explode_normal */
- Xboom_bomb, /* passed from explode to synchro (linked explosion);
- transition to explode_normal */
- Xboom_android, /* passed from explode to synchro;
- transition to boom_2 */
- Xboom_1, /* passed from explode to synchro;
- transition to boom_2 */
- Xboom_2, /* transition to boom[] */
-
- Znormal, /* passed from synchro to explode, only in next[];
- no picture */
- Zdynamite, /* passed from synchro to explode, only in next[];
- no picture */
- Zplayer, /* special code to indicate player;
- no picture */
- ZBORDER, /* special code to indicate border;
- no picture */
-
- TILE_MAX
-};
-
-enum
-{
- SPR_still = 0,
- SPR_walk = 1,
- SPR_push = 5,
- SPR_spray = 9,
-
- SPR_MAX = 13
-};
-
-enum
-{
- SAMPLE_blank = 0, /* player walks on blank */
- SAMPLE_roll, /* player pushes stone/bomb/nut/spring */
- SAMPLE_stone, /* stone hits ground */
- SAMPLE_nut, /* nut hits ground */
- SAMPLE_crack, /* stone hits nut */
- SAMPLE_bug, /* bug moves */
- SAMPLE_tank, /* tank moves */
- SAMPLE_android, /* android places something */
- SAMPLE_spring, /* spring hits ground/wall/bumper, stone hits spring */
- SAMPLE_slurp, /* spring kills alien */
- SAMPLE_eater, /* eater sits/eats diamond */
- SAMPLE_alien, /* alien moves */
- SAMPLE_collect, /* player collects object */
- SAMPLE_diamond, /* diamond/emerald hits ground */
- SAMPLE_squash, /* stone squashes diamond */
- SAMPLE_wonderfall, /* object falls thru wonderwall */
- SAMPLE_drip, /* drip hits ground */
- SAMPLE_push, /* player pushes balloon/android */
- SAMPLE_dirt, /* player walks on dirt */
- SAMPLE_acid, /* acid splashes */
- SAMPLE_ball, /* ball places something */
- SAMPLE_grow, /* growing wall grows */
- SAMPLE_wonder, /* wonderwall is active */
- SAMPLE_door, /* player goes thru door (gate) */
- SAMPLE_exit, /* player goes into exit */
- SAMPLE_dynamite, /* player places dynamite */
- SAMPLE_tick, /* dynamite ticks */
- SAMPLE_press, /* player presses wheel/wind/switch */
- SAMPLE_wheel, /* wheel moves */
- SAMPLE_boom, /* explosion */
- SAMPLE_time, /* time runs out */
- SAMPLE_die, /* player dies */
-
- SAMPLE_MAX
-};
-
-struct LEVEL
-{
- unsigned int home_initial; /* number of players (initial) */
- unsigned int home; /* number of players not yet at home */
- /* 0 == all players at home */
-
- unsigned int width; /* playfield width */
- unsigned int height; /* playfield height */
-
- unsigned int time_seconds; /* available time (seconds) */
- unsigned int time_initial; /* available time (initial) */
- unsigned int time; /* time remaining (runtime) */
-
- unsigned int required_initial; /* emeralds needed (initial) */
- unsigned int required; /* emeralds needed (runtime) */
-
- unsigned int score; /* score */
-
- /* fill in all below /every/ time you read a level */
- unsigned int alien_score; /* alien popped by stone/spring score */
- unsigned int amoeba_time; /* amoeba speed */
- unsigned int android_move_cnt_initial; /* android move time counter (initial) */
- unsigned int android_move_cnt; /* android move time counter */
- unsigned int android_move_time; /* android move reset time */
- unsigned int android_clone_cnt_initial; /* android clone time counter (initial) */
- unsigned int android_clone_cnt; /* android clone time counter */
- unsigned int android_clone_time; /* android clone reset time */
- unsigned int ball_cnt; /* ball time counter */
- unsigned int ball_pos; /* ball array pos counter */
- unsigned int ball_random; /* ball is random flag */
- unsigned int ball_state_initial; /* ball currently on flag (initial) */
- unsigned int ball_state; /* ball currently on flag */
- unsigned int ball_time; /* ball reset time */
- unsigned int bug_score; /* bug popped by stone/spring score */
- unsigned int diamond_score; /* diamond collect score */
- unsigned int dynamite_score; /* dynamite collect scoer*/
- unsigned int eater_pos; /* eater array pos */
- unsigned int eater_score; /* eater popped by stone/spring score */
- unsigned int emerald_score; /* emerald collect score */
- unsigned int exit_score; /* exit score */
- unsigned int key_score; /* key collect score */
- unsigned int lenses_cnt_initial; /* lenses time counter (initial) */
- unsigned int lenses_cnt; /* lenses time counter */
- unsigned int lenses_score; /* lenses collect score */
- unsigned int lenses_time; /* lenses reset time */
- unsigned int magnify_cnt_initial; /* magnify time counter (initial) */
- unsigned int magnify_cnt; /* magnify time counter */
- unsigned int magnify_score; /* magnify collect score */
- unsigned int magnify_time; /* magnify reset time */
- unsigned int nut_score; /* nut crack score */
- unsigned int shine_cnt; /* shine counter for emerald/diamond */
- unsigned int slurp_score; /* slurp alien score */
- unsigned int tank_score; /* tank popped by stone/spring */
- unsigned int wheel_cnt_initial; /* wheel time counter (initial) */
- unsigned int wheel_cnt; /* wheel time counter */
- unsigned int wheel_x_initial; /* wheel x pos (initial) */
- unsigned int wheel_x; /* wheel x pos */
- unsigned int wheel_y_initial; /* wheel y pos (initial) */
- unsigned int wheel_y; /* wheel y pos */
- unsigned int wheel_time; /* wheel reset time */
- unsigned int wind_cnt_initial; /* wind time counter (initial) */
- unsigned int wind_cnt; /* wind time counter */
- unsigned int wind_direction_initial;/* wind direction (initial) */
- unsigned int wind_direction; /* wind direction */
- unsigned int wind_time; /* wind reset time */
- unsigned int wonderwall_state_initial; /* wonderwall currently on flag (initial) */
- unsigned int wonderwall_state; /* wonderwall currently on flag */
- unsigned int wonderwall_time_initial;/* wonderwall time (initial) */
- unsigned int wonderwall_time; /* wonderwall time */
- unsigned short eater_array[8][9]; /* eater data */
- unsigned short ball_array[8][8]; /* ball data */
- unsigned short android_array[TILE_MAX]; /* android clone table */
-};
-
-struct PLAYER
-{
- unsigned int num;
- unsigned int alive_initial;
- unsigned int alive;
-
- unsigned int dynamite;
- unsigned int dynamite_cnt;
- unsigned int keys;
- unsigned int anim;
-
- unsigned int x_initial;
- unsigned int y_initial;
- unsigned int x;
- unsigned int y;
- unsigned int oldx;
- unsigned int oldy;
-
- unsigned joy_n:1;
- unsigned joy_e:1;
- unsigned joy_s:1;
- unsigned joy_w:1;
- unsigned joy_fire:1;
- unsigned joy_stick:1;
- unsigned joy_spin:1;
-};