// constant definitions
// ----------------------------------------------------------------------------
-/* define these for backwards compatibility */
-#define EM_ENGINE_BAD_ROLL
-#define EM_ENGINE_BAD_SPRING
-
/* define these to use additional elements */
#define EM_ENGINE_USE_ADDITIONAL_ELEMENTS
-/* internal definitions for EM engine */
-#ifdef EM_ENGINE_BAD_ROLL
-#define BAD_ROLL
-#endif
-
-#ifdef EM_ENGINE_BAD_SPRING
-#define BAD_SPRING
-#endif
-
/* one border for Zborder elements, one border for steelwall, if needed */
#define EM_MAX_CAVE_WIDTH (MAX_PLAYFIELD_WIDTH + 2 + 2)
#define EM_MAX_CAVE_HEIGHT (MAX_PLAYFIELD_HEIGHT + 2 + 2)
Xacid_splash_e,
Xacid_splash_w,
-#ifdef EM_ENGINE_BAD_ROLL
- Xpush_stone_e,
- Xpush_stone_w,
- Xpush_nut_e,
- Xpush_nut_w,
- Xpush_spring_e,
- Xpush_spring_w,
- Xpush_emerald_e,
- Xpush_emerald_w,
- Xpush_diamond_e,
- Xpush_diamond_w,
- Xpush_bomb_e,
- Xpush_bomb_w,
-#endif
+ Xplant,
+ Yplant,
- Xstone,
- Xstone_pause,
- Xstone_fall,
- Ystone_s,
- Ystone_sB,
- Ystone_e,
- Ystone_eB,
- Ystone_w,
- Ystone_wB,
+ Xacid_1,
+ Xacid_2,
+ Xacid_3,
+ Xacid_4,
+ Xacid_5,
+ Xacid_6,
+ Xacid_7,
+ Xacid_8,
- Xnut,
- Xnut_pause,
- Xnut_fall,
- Ynut_s,
- Ynut_sB,
- Ynut_e,
- Ynut_eB,
- Ynut_w,
- Ynut_wB,
+#ifdef EM_ENGINE_USE_ADDITIONAL_ELEMENTS
+ Xfake_acid_1,
+ Xfake_acid_2,
+ Xfake_acid_3,
+ Xfake_acid_4,
+ Xfake_acid_5,
+ Xfake_acid_6,
+ Xfake_acid_7,
+ Xfake_acid_8,
+#endif
- Xbug_1_n,
- Xbug_1_e,
- Xbug_1_s,
- Xbug_1_w,
- Xbug_2_n,
- Xbug_2_e,
- Xbug_2_s,
- Xbug_2_w,
- 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,
+ Xgrass,
+ Ygrass_nB,
+ Ygrass_eB,
+ Ygrass_sB,
+ Ygrass_wB,
- Xtank_1_n,
- Xtank_1_e,
- Xtank_1_s,
- Xtank_1_w,
- Xtank_2_n,
- Xtank_2_e,
- Xtank_2_s,
- Xtank_2_w,
- 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,
+ Xdirt,
+ Ydirt_nB,
+ Ydirt_eB,
+ Ydirt_sB,
+ Ydirt_wB,
Xandroid,
Xandroid_1_n,
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_alien_e,
- Yspring_alien_eB,
- Yspring_alien_w,
- Yspring_alien_wB,
-
Xeater_n,
Xeater_e,
Xeater_w,
Yalien_stone,
Yalien_spring,
+ Xbug_1_n,
+ Xbug_1_e,
+ Xbug_1_s,
+ Xbug_1_w,
+ Xbug_2_n,
+ Xbug_2_e,
+ Xbug_2_s,
+ Xbug_2_w,
+ 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_1_n,
+ Xtank_1_e,
+ Xtank_1_s,
+ Xtank_1_w,
+ Xtank_2_n,
+ Xtank_2_e,
+ Xtank_2_s,
+ Xtank_2_w,
+ 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,
+
Xemerald,
Xemerald_pause,
Xemerald_fall,
Yemerald_w,
Yemerald_wB,
Yemerald_blank,
- Ynut_stone,
Xdiamond,
Xdiamond_pause,
Ydiamond_blank,
Ydiamond_stone,
- Xdrip_fall,
- Xdrip_stretch,
- Xdrip_stretchB,
- Xdrip,
- Ydrip_1_s,
- Ydrip_1_sB,
- Ydrip_2_s,
- Ydrip_2_sB,
+ Xstone,
+ Xstone_pause,
+ Xstone_fall,
+ Ystone_s,
+ Ystone_sB,
+ Ystone_e,
+ Ystone_eB,
+ Ystone_w,
+ Ystone_wB,
Xbomb,
Xbomb_pause,
Ybomb_wB,
Ybomb_blank,
+ Xnut,
+ Xnut_pause,
+ Xnut_fall,
+ Ynut_s,
+ Ynut_sB,
+ Ynut_e,
+ Ynut_eB,
+ Ynut_w,
+ Ynut_wB,
+ Ynut_stone,
+
+ Xspring,
+ Xspring_pause,
+ Xspring_e,
+ Xspring_w,
+ Xspring_fall,
+ Yspring_s,
+ Yspring_sB,
+ Yspring_e,
+ Yspring_eB,
+ Yspring_w,
+ Yspring_wB,
+ Yspring_alien_e,
+ Yspring_alien_eB,
+ Yspring_alien_w,
+ Yspring_alien_wB,
+
+ Xpush_emerald_e,
+ Xpush_emerald_w,
+ Xpush_diamond_e,
+ Xpush_diamond_w,
+ Xpush_stone_e,
+ Xpush_stone_w,
+ Xpush_bomb_e,
+ Xpush_bomb_w,
+ Xpush_nut_e,
+ Xpush_nut_w,
+ Xpush_spring_e,
+ Xpush_spring_w,
+
+ Xdynamite,
+ Ydynamite_blank,
+ Xdynamite_1,
+ Xdynamite_2,
+ Xdynamite_3,
+ Xdynamite_4,
+
+ Xkey_1,
+ Xkey_2,
+ Xkey_3,
+ Xkey_4,
+ Xkey_5,
+ Xkey_6,
+ Xkey_7,
+ Xkey_8,
+
+ Xdoor_1,
+ Xdoor_2,
+ Xdoor_3,
+ Xdoor_4,
+ Xdoor_5,
+ Xdoor_6,
+ Xdoor_7,
+ Xdoor_8,
+
+ Xfake_door_1,
+ Xfake_door_2,
+ Xfake_door_3,
+ Xfake_door_4,
+ Xfake_door_5,
+ Xfake_door_6,
+ Xfake_door_7,
+ Xfake_door_8,
+
Xballoon,
Yballoon_n,
Yballoon_nB,
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,
Yball_1,
Xball_2,
Yball_2,
Yball_blank,
-#ifdef EM_ENGINE_USE_ADDITIONAL_ELEMENTS
- Ykey_1_blank,
- Ykey_2_blank,
- Ykey_3_blank,
- Ykey_4_blank,
- Ykey_5_blank,
- Ykey_6_blank,
- Ykey_7_blank,
- Ykey_8_blank,
- Ylenses_blank,
- Ymagnify_blank,
- Ygrass_blank,
- Ydirt_blank,
-#endif
-
- Xslidewall_ns, /* growing wall */
- Yslidewall_ns_blank,
- Xslidewall_ew,
- Yslidewall_ew_blank,
-
- Xwonderwall,
- XwonderwallB,
-
Xamoeba_1,
Xamoeba_2,
Xamoeba_3,
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,
+ Xdrip,
+ Xdrip_fall,
+ Xdrip_stretch,
+ Xdrip_stretchB,
+ Ydrip_1_s,
+ Ydrip_1_sB,
+ Ydrip_2_s,
+ Ydrip_2_sB,
- Xwind_n,
- Xwind_e,
- Xwind_s,
- Xwind_w,
- Xwind_any,
- Xwind_stop,
+ Xwonderwall,
+ XwonderwallB,
- Xexit,
- Xexit_1,
- Xexit_2,
- Xexit_3,
+ Xwheel,
+ XwheelB,
- Xdynamite,
- Ydynamite_blank,
- Xdynamite_1,
- Xdynamite_2,
- Xdynamite_3,
- Xdynamite_4,
+ Xswitch,
+ XswitchB,
Xbumper,
XbumperB,
- Xwheel,
- XwheelB,
+ Xacid_nw,
+ Xacid_ne,
+ Xacid_sw,
+ Xacid_s,
+ Xacid_se,
- Xswitch,
- XswitchB,
+ Xfake_blank,
+ Xfake_blankB,
+
+ Xfake_grass,
+ Xfake_grassB,
+
+ Xfake_amoeba, /* dripper */
+ Xfake_amoebaB,
+
+ Xlenses,
+
+ Xmagnify,
Xsand,
Xsand_stone,
Xsand_stonein_2,
Xsand_stonein_3,
Xsand_stonein_4,
+ Xsand_sandstone_1,
+ Xsand_sandstone_2,
+ Xsand_sandstone_3,
+ Xsand_sandstone_4,
Xsand_stonesand_1,
Xsand_stonesand_2,
Xsand_stonesand_3,
Xsand_stonesand_4,
-
+ Xsand_stoneout_1,
+ Xsand_stoneout_2,
#ifdef EM_ENGINE_USE_ADDITIONAL_ELEMENTS
Xsand_stonesand_quickout_1,
Xsand_stonesand_quickout_2,
#endif
- Xsand_stoneout_1,
- Xsand_stoneout_2,
- Xsand_sandstone_1,
- Xsand_sandstone_2,
- Xsand_sandstone_3,
- Xsand_sandstone_4,
-
- Xplant,
- Yplant,
-
- Xlenses,
-
- Xmagnify,
-
- Xfake_amoeba, /* dripper */
- Xfake_amoebaB,
-
- Xfake_blank,
- Xfake_blankB,
-
- Xfake_grass,
- Xfake_grassB,
+ Xslidewall_ns, /* growing wall */
+ Yslidewall_ns_blank,
+ Xslidewall_ew,
+ Yslidewall_ew_blank,
- Xfake_door_1,
- Xfake_door_2,
- Xfake_door_3,
- Xfake_door_4,
- Xfake_door_5,
- Xfake_door_6,
- Xfake_door_7,
- Xfake_door_8,
+ Xwind_n,
+ Xwind_e,
+ Xwind_s,
+ Xwind_w,
+ Xwind_any,
+ Xwind_stop,
-#ifdef EM_ENGINE_USE_ADDITIONAL_ELEMENTS
- Xfake_acid_1,
- Xfake_acid_2,
- Xfake_acid_3,
- Xfake_acid_4,
- Xfake_acid_5,
- Xfake_acid_6,
- Xfake_acid_7,
- Xfake_acid_8,
-#endif
+ Xexit,
+ Xexit_1,
+ Xexit_2,
+ Xexit_3,
- Xsteel_1,
- Xsteel_2,
- Xsteel_3,
- Xsteel_4,
+ Xpause,
Xwall_1,
Xwall_2,
Xroundwall_3,
Xroundwall_4,
+ Xsteel_1,
+ Xsteel_2,
+ Xsteel_3,
+ Xsteel_4,
+
Xdecor_1,
Xdecor_2,
Xdecor_3,
Xalpha_arrow_w,
Xalpha_copyr,
+#ifdef EM_ENGINE_USE_ADDITIONAL_ELEMENTS
+ Ykey_1_blank,
+ Ykey_2_blank,
+ Ykey_3_blank,
+ Ykey_4_blank,
+ Ykey_5_blank,
+ Ykey_6_blank,
+ Ykey_7_blank,
+ Ykey_8_blank,
+ Ylenses_blank,
+ Ymagnify_blank,
+ Ygrass_blank,
+ Ydirt_blank,
+#endif
+
Xboom_bug, /* passed from explode to synchro (linked explosion);
transition to explode_normal */
Xboom_bomb, /* passed from explode to synchro (linked explosion);