#ifndef TILE_H #define TILE_H #include "main_em.h" #ifdef EM_ENGINE_BAD_ROLL #define BAD_ROLL #endif #ifdef EM_ENGINE_BAD_SPRING #define BAD_SPRING #endif #if 0 /* 2000-07-30T11:06:03Z */ /* define these for backwards compatibility */ #define BAD_ROLL #define BAD_SPRING enum { Xblank = 0, /* still */ Yacid_splash_eB, /* hmm */ Yacid_splash_wB, /* hmm */ #ifdef BAD_ROLL Xstone_force_e, /* only use these in eater */ Xstone_force_w, Xnut_force_e, Xnut_force_w, Xspring_force_e, Xspring_force_w, Xemerald_force_e, Xemerald_force_w, Xdiamond_force_e, Xdiamond_force_w, Xbomb_force_e, Xbomb_force_w, #endif Xstone, Xstone_pause, Xstone_fall, Ystone_s, Ystone_sB, Ystone_e, Ystone_eB, Ystone_w, Ystone_wB, Xnut, Xnut_pause, Xnut_fall, Ynut_s, Ynut_sB, Ynut_e, Ynut_eB, Ynut_w, Ynut_wB, Xbug_n, Xbug_e, Xbug_s, Xbug_w, Xbug_gon, Xbug_goe, Xbug_gos, Xbug_gow, Ybug_n, Ybug_nB, Ybug_e, Ybug_eB, Ybug_s, Ybug_sB, Ybug_w, Ybug_wB, Ybug_w_n, Ybug_n_e, Ybug_e_s, Ybug_s_w, Ybug_e_n, Ybug_s_e, Ybug_w_s, Ybug_n_w, Ybug_stone, Ybug_spring, Xtank_n, Xtank_e, Xtank_s, Xtank_w, Xtank_gon, Xtank_goe, Xtank_gos, Xtank_gow, Ytank_n, Ytank_nB, Ytank_e, Ytank_eB, Ytank_s, Ytank_sB, Ytank_w, Ytank_wB, Ytank_w_n, Ytank_n_e, Ytank_e_s, Ytank_s_w, Ytank_e_n, Ytank_s_e, Ytank_w_s, Ytank_n_w, Ytank_stone, Ytank_spring, Xandroid, Xandroid_1_n, Xandroid_2_n, Xandroid_1_e, Xandroid_2_e, Xandroid_1_w, Xandroid_2_w, Xandroid_1_s, Xandroid_2_s, Yandroid_n, Yandroid_nB, Yandroid_ne, Yandroid_neB, Yandroid_e, Yandroid_eB, Yandroid_se, Yandroid_seB, Yandroid_s, Yandroid_sB, Yandroid_sw, Yandroid_swB, Yandroid_w, Yandroid_wB, Yandroid_nw, Yandroid_nwB, Xspring, Xspring_pause, Xspring_e, Xspring_w, Xspring_fall, Yspring_s, Yspring_sB, Yspring_e, Yspring_eB, Yspring_w, Yspring_wB, Yspring_kill_e, Yspring_kill_eB, Yspring_kill_w, Yspring_kill_wB, Xeater_n, Xeater_e, Xeater_w, Xeater_s, Yeater_n, Yeater_nB, Yeater_e, Yeater_eB, Yeater_s, Yeater_sB, Yeater_w, Yeater_wB, Yeater_stone, Yeater_spring, Xalien, Xalien_pause, Yalien_n, Yalien_nB, Yalien_e, Yalien_eB, Yalien_s, Yalien_sB, Yalien_w, Yalien_wB, Yalien_stone, Yalien_spring, Xemerald, Xemerald_pause, Xemerald_fall, Xemerald_shine, Yemerald_s, Yemerald_sB, Yemerald_e, Yemerald_eB, Yemerald_w, Yemerald_wB, Yemerald_eat, Yemerald_stone, Xdiamond, Xdiamond_pause, Xdiamond_fall, Xdiamond_shine, Ydiamond_s, Ydiamond_sB, Ydiamond_e, Ydiamond_eB, Ydiamond_w, Ydiamond_wB, Ydiamond_eat, Ydiamond_stone, Xdrip_fall, Xdrip_stretch, Xdrip_stretchB, Xdrip_eat, Ydrip_s1, Ydrip_s1B, Ydrip_s2, Ydrip_s2B, Xbomb, Xbomb_pause, Xbomb_fall, Ybomb_s, Ybomb_sB, Ybomb_e, Ybomb_eB, Ybomb_w, Ybomb_wB, Ybomb_eat, Xballoon, Yballoon_n, Yballoon_nB, Yballoon_e, Yballoon_eB, Yballoon_s, Yballoon_sB, Yballoon_w, Yballoon_wB, Xgrass, Ygrass_nB, Ygrass_eB, Ygrass_sB, Ygrass_wB, Xdirt, Ydirt_nB, Ydirt_eB, Ydirt_sB, Ydirt_wB, Xacid_ne, Xacid_se, Xacid_s, Xacid_sw, Xacid_nw, Xacid_1, Xacid_2, Xacid_3, Xacid_4, Xacid_5, Xacid_6, Xacid_7, Xacid_8, Xball_1, Xball_1B, Xball_2, Xball_2B, Yball_eat, 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, /* no picture */ /* this tile is passed from synchro to explode, only in next[] */ Zdynamite, /* no picture */ /* this tile is passed from synchro to explode, only in next[] */ Zplayer, /* no picture */ /* special code to indicate player */ ZBORDER, /* no picture */ /* special code to indicate border */ TILE_MAX }; enum { SPR_still = 0, SPR_walk = 1, SPR_push = 5, SPR_spray = 9, SPR_MAX = 13 }; #endif extern unsigned char tab_blank[TILE_MAX]; extern unsigned char tab_acid[TILE_MAX]; extern unsigned char tab_amoeba[TILE_MAX]; extern unsigned char tab_android_move[TILE_MAX]; extern unsigned short tab_explode_normal[TILE_MAX]; extern unsigned short tab_explode_dynamite[TILE_MAX]; extern unsigned short map_obj[8][TILE_MAX]; extern unsigned short map_spr[2][8][SPR_MAX]; extern unsigned short map_ttl[128]; #endif