changed order of game elements in EM engine (no functional change)
authorHolger Schemel <info@artsoft.org>
Sun, 19 Jan 2020 15:30:12 +0000 (16:30 +0100)
committerHolger Schemel <info@artsoft.org>
Tue, 19 May 2020 16:12:55 +0000 (18:12 +0200)
src/game_em/emerald.h
src/tools.c

index 6faa9e61f0d2507137650ab5fcdcca64d866beed..e07ff1d1feeeb0a8dda0759326b8f71e004fe6ef 100644 (file)
@@ -72,92 +72,40 @@ enum
   Xacid_splash_e,
   Xacid_splash_w,
 
   Xacid_splash_e,
   Xacid_splash_w,
 
-  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,
+  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,
 
   Xandroid,
   Xandroid_1_n,
@@ -185,22 +133,6 @@ enum
   Yandroid_nw,
   Yandroid_nwB,
 
   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,
   Xeater_n,
   Xeater_e,
   Xeater_w,
@@ -229,6 +161,60 @@ enum
   Yalien_stone,
   Yalien_spring,
 
   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,
   Xemerald,
   Xemerald_pause,
   Xemerald_fall,
@@ -240,7 +226,6 @@ enum
   Yemerald_w,
   Yemerald_wB,
   Yemerald_blank,
   Yemerald_w,
   Yemerald_wB,
   Yemerald_blank,
-  Ynut_stone,
 
   Xdiamond,
   Xdiamond_pause,
 
   Xdiamond,
   Xdiamond_pause,
@@ -255,14 +240,15 @@ enum
   Ydiamond_blank,
   Ydiamond_stone,
 
   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,
 
   Xbomb,
   Xbomb_pause,
@@ -275,6 +261,80 @@ enum
   Ybomb_wB,
   Ybomb_blank,
 
   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,
   Xballoon,
   Yballoon_n,
   Yballoon_nB,
@@ -285,61 +345,12 @@ enum
   Yballoon_w,
   Yballoon_wB,
 
   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,
 
   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_1,
   Xamoeba_2,
   Xamoeba_3,
@@ -349,51 +360,45 @@ enum
   Xamoeba_7,
   Xamoeba_8,
 
   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,
 
 
   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,
   Xsand_stone,
@@ -401,63 +406,37 @@ enum
   Xsand_stonein_2,
   Xsand_stonein_3,
   Xsand_stonein_4,
   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_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
 
 #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,
-
-  Xfake_door_1,
-  Xfake_door_2,
-  Xfake_door_3,
-  Xfake_door_4,
-  Xfake_door_5,
-  Xfake_door_6,
-  Xfake_door_7,
-  Xfake_door_8,
+  Xslidewall_ns,       /* growing wall */
+  Yslidewall_ns_blank,
+  Xslidewall_ew,
+  Yslidewall_ew_blank,
 
 
-#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
+  Xwind_n,
+  Xwind_e,
+  Xwind_s,
+  Xwind_w,
+  Xwind_any,
+  Xwind_stop,
 
 
-  Xsteel_1,
-  Xsteel_2,
-  Xsteel_3,
-  Xsteel_4,
+  Xexit,
+  Xexit_1,
+  Xexit_2,
+  Xexit_3,
 
   Xwall_1,
   Xwall_2,
 
   Xwall_1,
   Xwall_2,
@@ -469,6 +448,11 @@ enum
   Xroundwall_3,
   Xroundwall_4,
 
   Xroundwall_3,
   Xroundwall_4,
 
+  Xsteel_1,
+  Xsteel_2,
+  Xsteel_3,
+  Xsteel_4,
+
   Xdecor_1,
   Xdecor_2,
   Xdecor_3,
   Xdecor_1,
   Xdecor_2,
   Xdecor_3,
@@ -529,6 +513,21 @@ enum
   Xalpha_arrow_w,
   Xalpha_copyr,
 
   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);
   Xboom_bug,           /* passed from explode to synchro (linked explosion);
                           transition to explode_normal */
   Xboom_bomb,          /* passed from explode to synchro (linked explosion);
index ffcc1f661e1b73678225f5b5b26f69a2bc1e8a61..0d4f45d868086ccbcfc26e8c2ba7a15d5695960c 100644 (file)
@@ -5744,6 +5744,7 @@ em_object_mapping_list[] =
     Xblank,                            TRUE,   FALSE,
     EL_EMPTY,                          -1, -1
   },
     Xblank,                            TRUE,   FALSE,
     EL_EMPTY,                          -1, -1
   },
+
   {
     Xacid_splash_e,                    FALSE,  FALSE,
     EL_ACID_SPLASH_RIGHT,              -1, -1
   {
     Xacid_splash_e,                    FALSE,  FALSE,
     EL_ACID_SPLASH_RIGHT,              -1, -1
@@ -5752,598 +5753,541 @@ em_object_mapping_list[] =
     Xacid_splash_w,                    FALSE,  FALSE,
     EL_ACID_SPLASH_LEFT,               -1, -1
   },
     Xacid_splash_w,                    FALSE,  FALSE,
     EL_ACID_SPLASH_LEFT,               -1, -1
   },
+
   {
   {
-    Xpush_stone_e,                     FALSE,  FALSE,
-    EL_ROCK,                           -1, MV_BIT_RIGHT
+    Xplant,                            TRUE,   FALSE,
+    EL_EMC_PLANT,                      -1, -1
   },
   {
   },
   {
-    Xpush_stone_w,                     FALSE,  FALSE,
-    EL_ROCK,                           -1, MV_BIT_LEFT
+    Yplant,                            FALSE,  FALSE,
+    EL_EMC_PLANT,                      -1, -1
   },
   },
+
   {
   {
-    Xpush_nut_e,                       FALSE,  FALSE,
-    EL_NUT,                            -1, MV_BIT_RIGHT
+    Xacid_1,                           TRUE,   FALSE,
+    EL_ACID,                           -1, -1
   },
   {
   },
   {
-    Xpush_nut_w,                       FALSE,  FALSE,
-    EL_NUT,                            -1, MV_BIT_LEFT
+    Xacid_2,                           FALSE,  FALSE,
+    EL_ACID,                           -1, -1
   },
   {
   },
   {
-    Xpush_spring_e,                    FALSE,  FALSE,
-    EL_SPRING,                         -1, MV_BIT_RIGHT
+    Xacid_3,                           FALSE,  FALSE,
+    EL_ACID,                           -1, -1
   },
   {
   },
   {
-    Xpush_spring_w,                    FALSE,  FALSE,
-    EL_SPRING,                         -1, MV_BIT_LEFT
+    Xacid_4,                           FALSE,  FALSE,
+    EL_ACID,                           -1, -1
   },
   {
   },
   {
-    Xpush_emerald_e,                   FALSE,  FALSE,
-    EL_EMERALD,                                -1, MV_BIT_RIGHT
+    Xacid_5,                           FALSE,  FALSE,
+    EL_ACID,                           -1, -1
   },
   {
   },
   {
-    Xpush_emerald_w,                   FALSE,  FALSE,
-    EL_EMERALD,                                -1, MV_BIT_LEFT
+    Xacid_6,                           FALSE,  FALSE,
+    EL_ACID,                           -1, -1
   },
   {
   },
   {
-    Xpush_diamond_e,                   FALSE,  FALSE,
-    EL_DIAMOND,                                -1, MV_BIT_RIGHT
+    Xacid_7,                           FALSE,  FALSE,
+    EL_ACID,                           -1, -1
   },
   {
   },
   {
-    Xpush_diamond_w,                   FALSE,  FALSE,
-    EL_DIAMOND,                                -1, MV_BIT_LEFT
+    Xacid_8,                           FALSE,  FALSE,
+    EL_ACID,                           -1, -1
   },
   },
+
   {
   {
-    Xpush_bomb_e,                      FALSE,  FALSE,
-    EL_BOMB,                           -1, MV_BIT_RIGHT
+    Xfake_acid_1,                      TRUE,   FALSE,
+    EL_EMC_FAKE_ACID,                  -1, -1
   },
   {
   },
   {
-    Xpush_bomb_w,                      FALSE,  FALSE,
-    EL_BOMB,                           -1, MV_BIT_LEFT
+    Xfake_acid_2,                      FALSE,  FALSE,
+    EL_EMC_FAKE_ACID,                  -1, -1
   },
   {
   },
   {
-    Xstone,                            TRUE,   FALSE,
-    EL_ROCK,                           -1, -1
+    Xfake_acid_3,                      FALSE,  FALSE,
+    EL_EMC_FAKE_ACID,                  -1, -1
   },
   {
   },
   {
-    Xstone_pause,                      FALSE,  FALSE,
-    EL_ROCK,                           -1, -1
+    Xfake_acid_4,                      FALSE,  FALSE,
+    EL_EMC_FAKE_ACID,                  -1, -1
   },
   {
   },
   {
-    Xstone_fall,                       FALSE,  FALSE,
-    EL_ROCK,                           -1, -1
+    Xfake_acid_5,                      FALSE,  FALSE,
+    EL_EMC_FAKE_ACID,                  -1, -1
   },
   {
   },
   {
-    Ystone_s,                          FALSE,  FALSE,
-    EL_ROCK,                           ACTION_FALLING, -1
+    Xfake_acid_6,                      FALSE,  FALSE,
+    EL_EMC_FAKE_ACID,                  -1, -1
   },
   {
   },
   {
-    Ystone_sB,                         FALSE,  TRUE,
-    EL_ROCK,                           ACTION_FALLING, -1
+    Xfake_acid_7,                      FALSE,  FALSE,
+    EL_EMC_FAKE_ACID,                  -1, -1
   },
   {
   },
   {
-    Ystone_e,                          FALSE,  FALSE,
-    EL_ROCK,                           ACTION_MOVING, MV_BIT_RIGHT
+    Xfake_acid_8,                      FALSE,  FALSE,
+    EL_EMC_FAKE_ACID,                  -1, -1
   },
   },
+
   {
   {
-    Ystone_eB,                         FALSE,  TRUE,
-    EL_ROCK,                           ACTION_MOVING, MV_BIT_RIGHT
+    Xgrass,                            TRUE,   FALSE,
+    EL_EMC_GRASS,                      -1, -1
   },
   {
   },
   {
-    Ystone_w,                          FALSE,  FALSE,
-    EL_ROCK,                           ACTION_MOVING, MV_BIT_LEFT
+    Ygrass_nB,                         FALSE,  FALSE,
+    EL_EMC_GRASS,                      ACTION_DIGGING, MV_BIT_UP
   },
   {
   },
   {
-    Ystone_wB,                         FALSE,  TRUE,
-    EL_ROCK,                           ACTION_MOVING, MV_BIT_LEFT
+    Ygrass_eB,                         FALSE,  FALSE,
+    EL_EMC_GRASS,                      ACTION_DIGGING, MV_BIT_RIGHT
   },
   {
   },
   {
-    Xnut,                              TRUE,   FALSE,
-    EL_NUT,                            -1, -1
+    Ygrass_sB,                         FALSE,  FALSE,
+    EL_EMC_GRASS,                      ACTION_DIGGING, MV_BIT_DOWN
   },
   {
   },
   {
-    Xnut_pause,                                FALSE,  FALSE,
-    EL_NUT,                            -1, -1
+    Ygrass_wB,                         FALSE,  FALSE,
+    EL_EMC_GRASS,                      ACTION_DIGGING, MV_BIT_LEFT
   },
   },
+
   {
   {
-    Xnut_fall,                         FALSE,  FALSE,
-    EL_NUT,                            -1, -1
+    Xdirt,                             TRUE,   FALSE,
+    EL_SAND,                           -1, -1
   },
   {
   },
   {
-    Ynut_s,                            FALSE,  FALSE,
-    EL_NUT,                            ACTION_FALLING, -1
+    Ydirt_nB,                          FALSE,  FALSE,
+    EL_SAND,                           ACTION_DIGGING, MV_BIT_UP
   },
   {
   },
   {
-    Ynut_sB,                           FALSE,  TRUE,
-    EL_NUT,                            ACTION_FALLING, -1
+    Ydirt_eB,                          FALSE,  FALSE,
+    EL_SAND,                           ACTION_DIGGING, MV_BIT_RIGHT
   },
   {
   },
   {
-    Ynut_e,                            FALSE,  FALSE,
-    EL_NUT,                            ACTION_MOVING, MV_BIT_RIGHT
+    Ydirt_sB,                          FALSE,  FALSE,
+    EL_SAND,                           ACTION_DIGGING, MV_BIT_DOWN
   },
   {
   },
   {
-    Ynut_eB,                           FALSE,  TRUE,
-    EL_NUT,                            ACTION_MOVING, MV_BIT_RIGHT
+    Ydirt_wB,                          FALSE,  FALSE,
+    EL_SAND,                           ACTION_DIGGING, MV_BIT_LEFT
   },
   },
+
   {
   {
-    Ynut_w,                            FALSE,  FALSE,
-    EL_NUT,                            ACTION_MOVING, MV_BIT_LEFT
+    Xandroid,                          TRUE,   FALSE,
+    EL_EMC_ANDROID,                    ACTION_ACTIVE, -1
   },
   {
   },
   {
-    Ynut_wB,                           FALSE,  TRUE,
-    EL_NUT,                            ACTION_MOVING, MV_BIT_LEFT
+    Xandroid_1_n,                      FALSE,  FALSE,
+    EL_EMC_ANDROID,                    ACTION_ACTIVE, MV_BIT_UP
   },
   {
   },
   {
-    Xbug_1_n,                          TRUE,   FALSE,
-    EL_BUG_UP,                         -1, -1
+    Xandroid_2_n,                      FALSE,  FALSE,
+    EL_EMC_ANDROID,                    ACTION_ACTIVE, MV_BIT_UP
   },
   {
   },
   {
-    Xbug_1_e,                          TRUE,   FALSE,
-    EL_BUG_RIGHT,                      -1, -1
+    Xandroid_1_e,                      FALSE,  FALSE,
+    EL_EMC_ANDROID,                    ACTION_ACTIVE, MV_BIT_RIGHT
   },
   {
   },
   {
-    Xbug_1_s,                          TRUE,   FALSE,
-    EL_BUG_DOWN,                       -1, -1
+    Xandroid_2_e,                      FALSE,  FALSE,
+    EL_EMC_ANDROID,                    ACTION_ACTIVE, MV_BIT_RIGHT
   },
   {
   },
   {
-    Xbug_1_w,                          TRUE,   FALSE,
-    EL_BUG_LEFT,                       -1, -1
+    Xandroid_1_w,                      FALSE,  FALSE,
+    EL_EMC_ANDROID,                    ACTION_ACTIVE, MV_BIT_LEFT
   },
   {
   },
   {
-    Xbug_2_n,                          FALSE,  FALSE,
-    EL_BUG_UP,                         -1, -1
+    Xandroid_2_w,                      FALSE,  FALSE,
+    EL_EMC_ANDROID,                    ACTION_ACTIVE, MV_BIT_LEFT
   },
   {
   },
   {
-    Xbug_2_e,                          FALSE,  FALSE,
-    EL_BUG_RIGHT,                      -1, -1
+    Xandroid_1_s,                      FALSE,  FALSE,
+    EL_EMC_ANDROID,                    ACTION_ACTIVE, MV_BIT_DOWN
   },
   {
   },
   {
-    Xbug_2_s,                          FALSE,  FALSE,
-    EL_BUG_DOWN,                       -1, -1
+    Xandroid_2_s,                      FALSE,  FALSE,
+    EL_EMC_ANDROID,                    ACTION_ACTIVE, MV_BIT_DOWN
   },
   {
   },
   {
-    Xbug_2_w,                          FALSE,  FALSE,
-    EL_BUG_LEFT,                       -1, -1
+    Yandroid_n,                                FALSE,  FALSE,
+    EL_EMC_ANDROID,                    ACTION_MOVING, MV_BIT_UP
   },
   {
   },
   {
-    Ybug_n,                            FALSE,  FALSE,
-    EL_BUG,                            ACTION_MOVING, MV_BIT_UP
+    Yandroid_nB,                       FALSE,  TRUE,
+    EL_EMC_ANDROID,                    ACTION_MOVING, MV_BIT_UP
   },
   {
   },
   {
-    Ybug_nB,                           FALSE,  TRUE,
-    EL_BUG,                            ACTION_MOVING, MV_BIT_UP
+    Yandroid_ne,                       FALSE,  FALSE,
+    EL_EMC_ANDROID,                    ACTION_GROWING, MV_BIT_UPRIGHT
   },
   {
   },
   {
-    Ybug_e,                            FALSE,  FALSE,
-    EL_BUG,                            ACTION_MOVING, MV_BIT_RIGHT
+    Yandroid_neB,                      FALSE,  TRUE,
+    EL_EMC_ANDROID,                    ACTION_SHRINKING, MV_BIT_UPRIGHT
   },
   {
   },
   {
-    Ybug_eB,                           FALSE,  TRUE,
-    EL_BUG,                            ACTION_MOVING, MV_BIT_RIGHT
+    Yandroid_e,                                FALSE,  FALSE,
+    EL_EMC_ANDROID,                    ACTION_MOVING, MV_BIT_RIGHT
   },
   {
   },
   {
-    Ybug_s,                            FALSE,  FALSE,
-    EL_BUG,                            ACTION_MOVING, MV_BIT_DOWN
+    Yandroid_eB,                       FALSE,  TRUE,
+    EL_EMC_ANDROID,                    ACTION_MOVING, MV_BIT_RIGHT
   },
   {
   },
   {
-    Ybug_sB,                           FALSE,  TRUE,
-    EL_BUG,                            ACTION_MOVING, MV_BIT_DOWN
+    Yandroid_se,                       FALSE,  FALSE,
+    EL_EMC_ANDROID,                    ACTION_GROWING, MV_BIT_DOWNRIGHT
   },
   {
   },
   {
-    Ybug_w,                            FALSE,  FALSE,
-    EL_BUG,                            ACTION_MOVING, MV_BIT_LEFT
+    Yandroid_seB,                      FALSE,  TRUE,
+    EL_EMC_ANDROID,                    ACTION_SHRINKING, MV_BIT_DOWNRIGHT
   },
   {
   },
   {
-    Ybug_wB,                           FALSE,  TRUE,
-    EL_BUG,                            ACTION_MOVING, MV_BIT_LEFT
+    Yandroid_s,                                FALSE,  FALSE,
+    EL_EMC_ANDROID,                    ACTION_MOVING, MV_BIT_DOWN
   },
   {
   },
   {
-    Ybug_w_n,                          FALSE,  FALSE,
-    EL_BUG,                            ACTION_TURNING_FROM_LEFT, MV_BIT_UP
+    Yandroid_sB,                       FALSE,  TRUE,
+    EL_EMC_ANDROID,                    ACTION_MOVING, MV_BIT_DOWN
   },
   {
   },
   {
-    Ybug_n_e,                          FALSE,  FALSE,
-    EL_BUG,                            ACTION_TURNING_FROM_UP, MV_BIT_RIGHT
+    Yandroid_sw,                       FALSE,  FALSE,
+    EL_EMC_ANDROID,                    ACTION_GROWING, MV_BIT_DOWNLEFT
   },
   {
   },
   {
-    Ybug_e_s,                          FALSE,  FALSE,
-    EL_BUG,                            ACTION_TURNING_FROM_RIGHT, MV_BIT_DOWN
+    Yandroid_swB,                      FALSE,  TRUE,
+    EL_EMC_ANDROID,                    ACTION_SHRINKING, MV_BIT_DOWNLEFT
   },
   {
   },
   {
-    Ybug_s_w,                          FALSE,  FALSE,
-    EL_BUG,                            ACTION_TURNING_FROM_DOWN, MV_BIT_LEFT
+    Yandroid_w,                                FALSE,  FALSE,
+    EL_EMC_ANDROID,                    ACTION_MOVING, MV_BIT_LEFT
   },
   {
   },
   {
-    Ybug_e_n,                          FALSE,  FALSE,
-    EL_BUG,                            ACTION_TURNING_FROM_RIGHT, MV_BIT_UP
+    Yandroid_wB,                       FALSE,  TRUE,
+    EL_EMC_ANDROID,                    ACTION_MOVING, MV_BIT_LEFT
   },
   {
   },
   {
-    Ybug_s_e,                          FALSE,  FALSE,
-    EL_BUG,                            ACTION_TURNING_FROM_DOWN, MV_BIT_RIGHT
+    Yandroid_nw,                       FALSE,  FALSE,
+    EL_EMC_ANDROID,                    ACTION_GROWING, MV_BIT_UPLEFT
   },
   {
   },
   {
-    Ybug_w_s,                          FALSE,  FALSE,
-    EL_BUG,                            ACTION_TURNING_FROM_LEFT, MV_BIT_DOWN
+    Yandroid_nwB,                      FALSE,  TRUE,
+    EL_EMC_ANDROID,                    ACTION_SHRINKING, MV_BIT_UPLEFT
   },
   },
+
   {
   {
-    Ybug_n_w,                          FALSE,  FALSE,
-    EL_BUG,                            ACTION_TURNING_FROM_UP, MV_BIT_LEFT
+    Xeater_n,                          TRUE,   FALSE,
+    EL_YAMYAM_UP,                      -1, -1
   },
   {
   },
   {
-    Ybug_stone,                                FALSE,  FALSE,
-    EL_BUG,                            ACTION_SMASHED_BY_ROCK, -1
+    Xeater_e,                          TRUE,   FALSE,
+    EL_YAMYAM_RIGHT,                   -1, -1
   },
   {
   },
   {
-    Ybug_spring,                       FALSE,  FALSE,
-    EL_BUG,                            ACTION_SMASHED_BY_SPRING, -1
+    Xeater_w,                          TRUE,   FALSE,
+    EL_YAMYAM_LEFT,                    -1, -1
   },
   {
   },
   {
-    Xtank_1_n,                         TRUE,   FALSE,
-    EL_SPACESHIP_UP,                   -1, -1
+    Xeater_s,                          TRUE,   FALSE,
+    EL_YAMYAM_DOWN,                    -1, -1
   },
   {
   },
   {
-    Xtank_1_e,                         TRUE,   FALSE,
-    EL_SPACESHIP_RIGHT,                        -1, -1
+    Yeater_n,                          FALSE,  FALSE,
+    EL_YAMYAM,                         ACTION_MOVING, MV_BIT_UP
   },
   {
   },
   {
-    Xtank_1_s,                         TRUE,   FALSE,
-    EL_SPACESHIP_DOWN,                 -1, -1
+    Yeater_nB,                         FALSE,  TRUE,
+    EL_YAMYAM,                         ACTION_MOVING, MV_BIT_UP
   },
   {
   },
   {
-    Xtank_1_w,                         TRUE,   FALSE,
-    EL_SPACESHIP_LEFT,                 -1, -1
+    Yeater_e,                          FALSE,  FALSE,
+    EL_YAMYAM,                         ACTION_MOVING, MV_BIT_RIGHT
   },
   {
   },
   {
-    Xtank_2_n,                         FALSE,  FALSE,
-    EL_SPACESHIP_UP,                   -1, -1
+    Yeater_eB,                         FALSE,  TRUE,
+    EL_YAMYAM,                         ACTION_MOVING, MV_BIT_RIGHT
   },
   {
   },
   {
-    Xtank_2_e,                         FALSE,  FALSE,
-    EL_SPACESHIP_RIGHT,                        -1, -1
+    Yeater_s,                          FALSE,  FALSE,
+    EL_YAMYAM,                         ACTION_MOVING, MV_BIT_DOWN
   },
   {
   },
   {
-    Xtank_2_s,                         FALSE,  FALSE,
-    EL_SPACESHIP_DOWN,                 -1, -1
-  },
-  {
-    Xtank_2_w,                         FALSE,  FALSE,
-    EL_SPACESHIP_LEFT,                 -1, -1
-  },
-  {
-    Ytank_n,                           FALSE,  FALSE,
-    EL_SPACESHIP,                      ACTION_MOVING, MV_BIT_UP
-  },
-  {
-    Ytank_nB,                          FALSE,  TRUE,
-    EL_SPACESHIP,                      ACTION_MOVING, MV_BIT_UP
-  },
-  {
-    Ytank_e,                           FALSE,  FALSE,
-    EL_SPACESHIP,                      ACTION_MOVING, MV_BIT_RIGHT
-  },
-  {
-    Ytank_eB,                          FALSE,  TRUE,
-    EL_SPACESHIP,                      ACTION_MOVING, MV_BIT_RIGHT
-  },
-  {
-    Ytank_s,                           FALSE,  FALSE,
-    EL_SPACESHIP,                      ACTION_MOVING, MV_BIT_DOWN
-  },
-  {
-    Ytank_sB,                          FALSE,  TRUE,
-    EL_SPACESHIP,                      ACTION_MOVING, MV_BIT_DOWN
-  },
-  {
-    Ytank_w,                           FALSE,  FALSE,
-    EL_SPACESHIP,                      ACTION_MOVING, MV_BIT_LEFT
-  },
-  {
-    Ytank_wB,                          FALSE,  TRUE,
-    EL_SPACESHIP,                      ACTION_MOVING, MV_BIT_LEFT
-  },
-  {
-    Ytank_w_n,                         FALSE,  FALSE,
-    EL_SPACESHIP,                      ACTION_TURNING_FROM_LEFT, MV_BIT_UP
-  },
-  {
-    Ytank_n_e,                         FALSE,  FALSE,
-    EL_SPACESHIP,                      ACTION_TURNING_FROM_UP, MV_BIT_RIGHT
-  },
-  {
-    Ytank_e_s,                         FALSE,  FALSE,
-    EL_SPACESHIP,                      ACTION_TURNING_FROM_RIGHT, MV_BIT_DOWN
-  },
-  {
-    Ytank_s_w,                         FALSE,  FALSE,
-    EL_SPACESHIP,                      ACTION_TURNING_FROM_DOWN, MV_BIT_LEFT
-  },
-  {
-    Ytank_e_n,                         FALSE,  FALSE,
-    EL_SPACESHIP,                      ACTION_TURNING_FROM_RIGHT, MV_BIT_UP
-  },
-  {
-    Ytank_s_e,                         FALSE,  FALSE,
-    EL_SPACESHIP,                      ACTION_TURNING_FROM_DOWN, MV_BIT_RIGHT
-  },
-  {
-    Ytank_w_s,                         FALSE,  FALSE,
-    EL_SPACESHIP,                      ACTION_TURNING_FROM_LEFT, MV_BIT_DOWN
-  },
-  {
-    Ytank_n_w,                         FALSE,  FALSE,
-    EL_SPACESHIP,                      ACTION_TURNING_FROM_UP, MV_BIT_LEFT
+    Yeater_sB,                         FALSE,  TRUE,
+    EL_YAMYAM,                         ACTION_MOVING, MV_BIT_DOWN
   },
   {
   },
   {
-    Ytank_stone,                       FALSE,  FALSE,
-    EL_SPACESHIP,                      ACTION_SMASHED_BY_ROCK, -1
+    Yeater_w,                          FALSE,  FALSE,
+    EL_YAMYAM,                         ACTION_MOVING, MV_BIT_LEFT
   },
   {
   },
   {
-    Ytank_spring,                      FALSE,  FALSE,
-    EL_SPACESHIP,                      ACTION_SMASHED_BY_SPRING, -1
+    Yeater_wB,                         FALSE,  TRUE,
+    EL_YAMYAM,                         ACTION_MOVING, MV_BIT_LEFT
   },
   {
   },
   {
-    Xandroid,                          TRUE,   FALSE,
-    EL_EMC_ANDROID,                    ACTION_ACTIVE, -1
+    Yeater_stone,                      FALSE,  FALSE,
+    EL_YAMYAM,                         ACTION_SMASHED_BY_ROCK, -1
   },
   {
   },
   {
-    Xandroid_1_n,                      FALSE,  FALSE,
-    EL_EMC_ANDROID,                    ACTION_ACTIVE, MV_BIT_UP
+    Yeater_spring,                     FALSE,  FALSE,
+    EL_YAMYAM,                         ACTION_SMASHED_BY_SPRING, -1
   },
   },
+
   {
   {
-    Xandroid_2_n,                      FALSE,  FALSE,
-    EL_EMC_ANDROID,                    ACTION_ACTIVE, MV_BIT_UP
+    Xalien,                            TRUE,   FALSE,
+    EL_ROBOT,                          -1, -1
   },
   {
   },
   {
-    Xandroid_1_e,                      FALSE,  FALSE,
-    EL_EMC_ANDROID,                    ACTION_ACTIVE, MV_BIT_RIGHT
+    Xalien_pause,                      FALSE,  FALSE,
+    EL_ROBOT,                          -1, -1
   },
   {
   },
   {
-    Xandroid_2_e,                      FALSE,  FALSE,
-    EL_EMC_ANDROID,                    ACTION_ACTIVE, MV_BIT_RIGHT
+    Yalien_n,                          FALSE,  FALSE,
+    EL_ROBOT,                          ACTION_MOVING, MV_BIT_UP
   },
   {
   },
   {
-    Xandroid_1_w,                      FALSE,  FALSE,
-    EL_EMC_ANDROID,                    ACTION_ACTIVE, MV_BIT_LEFT
+    Yalien_nB,                         FALSE,  TRUE,
+    EL_ROBOT,                          ACTION_MOVING, MV_BIT_UP
   },
   {
   },
   {
-    Xandroid_2_w,                      FALSE,  FALSE,
-    EL_EMC_ANDROID,                    ACTION_ACTIVE, MV_BIT_LEFT
+    Yalien_e,                          FALSE,  FALSE,
+    EL_ROBOT,                          ACTION_MOVING, MV_BIT_RIGHT
   },
   {
   },
   {
-    Xandroid_1_s,                      FALSE,  FALSE,
-    EL_EMC_ANDROID,                    ACTION_ACTIVE, MV_BIT_DOWN
+    Yalien_eB,                         FALSE,  TRUE,
+    EL_ROBOT,                          ACTION_MOVING, MV_BIT_RIGHT
   },
   {
   },
   {
-    Xandroid_2_s,                      FALSE,  FALSE,
-    EL_EMC_ANDROID,                    ACTION_ACTIVE, MV_BIT_DOWN
+    Yalien_s,                          FALSE,  FALSE,
+    EL_ROBOT,                          ACTION_MOVING, MV_BIT_DOWN
   },
   {
   },
   {
-    Yandroid_n,                                FALSE,  FALSE,
-    EL_EMC_ANDROID,                    ACTION_MOVING, MV_BIT_UP
+    Yalien_sB,                         FALSE,  TRUE,
+    EL_ROBOT,                          ACTION_MOVING, MV_BIT_DOWN
   },
   {
   },
   {
-    Yandroid_nB,                       FALSE,  TRUE,
-    EL_EMC_ANDROID,                    ACTION_MOVING, MV_BIT_UP
+    Yalien_w,                          FALSE,  FALSE,
+    EL_ROBOT,                          ACTION_MOVING, MV_BIT_LEFT
   },
   {
   },
   {
-    Yandroid_ne,                       FALSE,  FALSE,
-    EL_EMC_ANDROID,                    ACTION_GROWING, MV_BIT_UPRIGHT
+    Yalien_wB,                         FALSE,  TRUE,
+    EL_ROBOT,                          ACTION_MOVING, MV_BIT_LEFT
   },
   {
   },
   {
-    Yandroid_neB,                      FALSE,  TRUE,
-    EL_EMC_ANDROID,                    ACTION_SHRINKING, MV_BIT_UPRIGHT
+    Yalien_stone,                      FALSE,  FALSE,
+    EL_ROBOT,                          ACTION_SMASHED_BY_ROCK, -1
   },
   {
   },
   {
-    Yandroid_e,                                FALSE,  FALSE,
-    EL_EMC_ANDROID,                    ACTION_MOVING, MV_BIT_RIGHT
+    Yalien_spring,                     FALSE,  FALSE,
+    EL_ROBOT,                          ACTION_SMASHED_BY_SPRING, -1
   },
   },
+
   {
   {
-    Yandroid_eB,                       FALSE,  TRUE,
-    EL_EMC_ANDROID,                    ACTION_MOVING, MV_BIT_RIGHT
+    Xbug_1_n,                          TRUE,   FALSE,
+    EL_BUG_UP,                         -1, -1
   },
   {
   },
   {
-    Yandroid_se,                       FALSE,  FALSE,
-    EL_EMC_ANDROID,                    ACTION_GROWING, MV_BIT_DOWNRIGHT
+    Xbug_1_e,                          TRUE,   FALSE,
+    EL_BUG_RIGHT,                      -1, -1
   },
   {
   },
   {
-    Yandroid_seB,                      FALSE,  TRUE,
-    EL_EMC_ANDROID,                    ACTION_SHRINKING, MV_BIT_DOWNRIGHT
+    Xbug_1_s,                          TRUE,   FALSE,
+    EL_BUG_DOWN,                       -1, -1
   },
   {
   },
   {
-    Yandroid_s,                                FALSE,  FALSE,
-    EL_EMC_ANDROID,                    ACTION_MOVING, MV_BIT_DOWN
+    Xbug_1_w,                          TRUE,   FALSE,
+    EL_BUG_LEFT,                       -1, -1
   },
   {
   },
   {
-    Yandroid_sB,                       FALSE,  TRUE,
-    EL_EMC_ANDROID,                    ACTION_MOVING, MV_BIT_DOWN
+    Xbug_2_n,                          FALSE,  FALSE,
+    EL_BUG_UP,                         -1, -1
   },
   {
   },
   {
-    Yandroid_sw,                       FALSE,  FALSE,
-    EL_EMC_ANDROID,                    ACTION_GROWING, MV_BIT_DOWNLEFT
+    Xbug_2_e,                          FALSE,  FALSE,
+    EL_BUG_RIGHT,                      -1, -1
   },
   {
   },
   {
-    Yandroid_swB,                      FALSE,  TRUE,
-    EL_EMC_ANDROID,                    ACTION_SHRINKING, MV_BIT_DOWNLEFT
+    Xbug_2_s,                          FALSE,  FALSE,
+    EL_BUG_DOWN,                       -1, -1
   },
   {
   },
   {
-    Yandroid_w,                                FALSE,  FALSE,
-    EL_EMC_ANDROID,                    ACTION_MOVING, MV_BIT_LEFT
+    Xbug_2_w,                          FALSE,  FALSE,
+    EL_BUG_LEFT,                       -1, -1
   },
   {
   },
   {
-    Yandroid_wB,                       FALSE,  TRUE,
-    EL_EMC_ANDROID,                    ACTION_MOVING, MV_BIT_LEFT
+    Ybug_n,                            FALSE,  FALSE,
+    EL_BUG,                            ACTION_MOVING, MV_BIT_UP
   },
   {
   },
   {
-    Yandroid_nw,                       FALSE,  FALSE,
-    EL_EMC_ANDROID,                    ACTION_GROWING, MV_BIT_UPLEFT
+    Ybug_nB,                           FALSE,  TRUE,
+    EL_BUG,                            ACTION_MOVING, MV_BIT_UP
   },
   {
   },
   {
-    Yandroid_nwB,                      FALSE,  TRUE,
-    EL_EMC_ANDROID,                    ACTION_SHRINKING, MV_BIT_UPLEFT
+    Ybug_e,                            FALSE,  FALSE,
+    EL_BUG,                            ACTION_MOVING, MV_BIT_RIGHT
   },
   {
   },
   {
-    Xspring,                           TRUE,   FALSE,
-    EL_SPRING,                         -1, -1
+    Ybug_eB,                           FALSE,  TRUE,
+    EL_BUG,                            ACTION_MOVING, MV_BIT_RIGHT
   },
   {
   },
   {
-    Xspring_pause,                     FALSE,  FALSE,
-    EL_SPRING,                         -1, -1
+    Ybug_s,                            FALSE,  FALSE,
+    EL_BUG,                            ACTION_MOVING, MV_BIT_DOWN
   },
   {
   },
   {
-    Xspring_e,                         FALSE,  FALSE,
-    EL_SPRING,                         -1, -1
+    Ybug_sB,                           FALSE,  TRUE,
+    EL_BUG,                            ACTION_MOVING, MV_BIT_DOWN
   },
   {
   },
   {
-    Xspring_w,                         FALSE,  FALSE,
-    EL_SPRING,                         -1, -1
+    Ybug_w,                            FALSE,  FALSE,
+    EL_BUG,                            ACTION_MOVING, MV_BIT_LEFT
   },
   {
   },
   {
-    Xspring_fall,                      FALSE,  FALSE,
-    EL_SPRING,                         -1, -1
+    Ybug_wB,                           FALSE,  TRUE,
+    EL_BUG,                            ACTION_MOVING, MV_BIT_LEFT
   },
   {
   },
   {
-    Yspring_s,                         FALSE,  FALSE,
-    EL_SPRING,                         ACTION_FALLING, -1
+    Ybug_w_n,                          FALSE,  FALSE,
+    EL_BUG,                            ACTION_TURNING_FROM_LEFT, MV_BIT_UP
   },
   {
   },
   {
-    Yspring_sB,                                FALSE,  TRUE,
-    EL_SPRING,                         ACTION_FALLING, -1
+    Ybug_n_e,                          FALSE,  FALSE,
+    EL_BUG,                            ACTION_TURNING_FROM_UP, MV_BIT_RIGHT
   },
   {
   },
   {
-    Yspring_e,                         FALSE,  FALSE,
-    EL_SPRING,                         ACTION_MOVING, MV_BIT_RIGHT
+    Ybug_e_s,                          FALSE,  FALSE,
+    EL_BUG,                            ACTION_TURNING_FROM_RIGHT, MV_BIT_DOWN
   },
   {
   },
   {
-    Yspring_eB,                                FALSE,  TRUE,
-    EL_SPRING,                         ACTION_MOVING, MV_BIT_RIGHT
+    Ybug_s_w,                          FALSE,  FALSE,
+    EL_BUG,                            ACTION_TURNING_FROM_DOWN, MV_BIT_LEFT
   },
   {
   },
   {
-    Yspring_w,                         FALSE,  FALSE,
-    EL_SPRING,                         ACTION_MOVING, MV_BIT_LEFT
+    Ybug_e_n,                          FALSE,  FALSE,
+    EL_BUG,                            ACTION_TURNING_FROM_RIGHT, MV_BIT_UP
   },
   {
   },
   {
-    Yspring_wB,                                FALSE,  TRUE,
-    EL_SPRING,                         ACTION_MOVING, MV_BIT_LEFT
+    Ybug_s_e,                          FALSE,  FALSE,
+    EL_BUG,                            ACTION_TURNING_FROM_DOWN, MV_BIT_RIGHT
   },
   {
   },
   {
-    Yspring_alien_e,                   FALSE,  FALSE,
-    EL_SPRING,                         ACTION_EATING, MV_BIT_RIGHT
+    Ybug_w_s,                          FALSE,  FALSE,
+    EL_BUG,                            ACTION_TURNING_FROM_LEFT, MV_BIT_DOWN
   },
   {
   },
   {
-    Yspring_alien_eB,                  FALSE,  TRUE,
-    EL_SPRING,                         ACTION_EATING, MV_BIT_RIGHT
+    Ybug_n_w,                          FALSE,  FALSE,
+    EL_BUG,                            ACTION_TURNING_FROM_UP, MV_BIT_LEFT
   },
   {
   },
   {
-    Yspring_alien_w,                   FALSE,  FALSE,
-    EL_SPRING,                         ACTION_EATING, MV_BIT_LEFT
+    Ybug_stone,                                FALSE,  FALSE,
+    EL_BUG,                            ACTION_SMASHED_BY_ROCK, -1
   },
   {
   },
   {
-    Yspring_alien_wB,                  FALSE,  TRUE,
-    EL_SPRING,                         ACTION_EATING, MV_BIT_LEFT
+    Ybug_spring,                       FALSE,  FALSE,
+    EL_BUG,                            ACTION_SMASHED_BY_SPRING, -1
   },
   },
+
   {
   {
-    Xeater_n,                          TRUE,   FALSE,
-    EL_YAMYAM_UP,                      -1, -1
+    Xtank_1_n,                         TRUE,   FALSE,
+    EL_SPACESHIP_UP,                   -1, -1
   },
   {
   },
   {
-    Xeater_e,                          TRUE,   FALSE,
-    EL_YAMYAM_RIGHT,                   -1, -1
+    Xtank_1_e,                         TRUE,   FALSE,
+    EL_SPACESHIP_RIGHT,                        -1, -1
   },
   {
   },
   {
-    Xeater_w,                          TRUE,   FALSE,
-    EL_YAMYAM_LEFT,                    -1, -1
+    Xtank_1_s,                         TRUE,   FALSE,
+    EL_SPACESHIP_DOWN,                 -1, -1
   },
   {
   },
   {
-    Xeater_s,                          TRUE,   FALSE,
-    EL_YAMYAM_DOWN,                    -1, -1
+    Xtank_1_w,                         TRUE,   FALSE,
+    EL_SPACESHIP_LEFT,                 -1, -1
   },
   {
   },
   {
-    Yeater_n,                          FALSE,  FALSE,
-    EL_YAMYAM,                         ACTION_MOVING, MV_BIT_UP
+    Xtank_2_n,                         FALSE,  FALSE,
+    EL_SPACESHIP_UP,                   -1, -1
   },
   {
   },
   {
-    Yeater_nB,                         FALSE,  TRUE,
-    EL_YAMYAM,                         ACTION_MOVING, MV_BIT_UP
+    Xtank_2_e,                         FALSE,  FALSE,
+    EL_SPACESHIP_RIGHT,                        -1, -1
   },
   {
   },
   {
-    Yeater_e,                          FALSE,  FALSE,
-    EL_YAMYAM,                         ACTION_MOVING, MV_BIT_RIGHT
+    Xtank_2_s,                         FALSE,  FALSE,
+    EL_SPACESHIP_DOWN,                 -1, -1
   },
   {
   },
   {
-    Yeater_eB,                         FALSE,  TRUE,
-    EL_YAMYAM,                         ACTION_MOVING, MV_BIT_RIGHT
+    Xtank_2_w,                         FALSE,  FALSE,
+    EL_SPACESHIP_LEFT,                 -1, -1
   },
   {
   },
   {
-    Yeater_s,                          FALSE,  FALSE,
-    EL_YAMYAM,                         ACTION_MOVING, MV_BIT_DOWN
+    Ytank_n,                           FALSE,  FALSE,
+    EL_SPACESHIP,                      ACTION_MOVING, MV_BIT_UP
   },
   {
   },
   {
-    Yeater_sB,                         FALSE,  TRUE,
-    EL_YAMYAM,                         ACTION_MOVING, MV_BIT_DOWN
+    Ytank_nB,                          FALSE,  TRUE,
+    EL_SPACESHIP,                      ACTION_MOVING, MV_BIT_UP
   },
   {
   },
   {
-    Yeater_w,                          FALSE,  FALSE,
-    EL_YAMYAM,                         ACTION_MOVING, MV_BIT_LEFT
+    Ytank_e,                           FALSE,  FALSE,
+    EL_SPACESHIP,                      ACTION_MOVING, MV_BIT_RIGHT
   },
   {
   },
   {
-    Yeater_wB,                         FALSE,  TRUE,
-    EL_YAMYAM,                         ACTION_MOVING, MV_BIT_LEFT
+    Ytank_eB,                          FALSE,  TRUE,
+    EL_SPACESHIP,                      ACTION_MOVING, MV_BIT_RIGHT
   },
   {
   },
   {
-    Yeater_stone,                      FALSE,  FALSE,
-    EL_YAMYAM,                         ACTION_SMASHED_BY_ROCK, -1
+    Ytank_s,                           FALSE,  FALSE,
+    EL_SPACESHIP,                      ACTION_MOVING, MV_BIT_DOWN
   },
   {
   },
   {
-    Yeater_spring,                     FALSE,  FALSE,
-    EL_YAMYAM,                         ACTION_SMASHED_BY_SPRING, -1
+    Ytank_sB,                          FALSE,  TRUE,
+    EL_SPACESHIP,                      ACTION_MOVING, MV_BIT_DOWN
   },
   {
   },
   {
-    Xalien,                            TRUE,   FALSE,
-    EL_ROBOT,                          -1, -1
+    Ytank_w,                           FALSE,  FALSE,
+    EL_SPACESHIP,                      ACTION_MOVING, MV_BIT_LEFT
   },
   {
   },
   {
-    Xalien_pause,                      FALSE,  FALSE,
-    EL_ROBOT,                          -1, -1
+    Ytank_wB,                          FALSE,  TRUE,
+    EL_SPACESHIP,                      ACTION_MOVING, MV_BIT_LEFT
   },
   {
   },
   {
-    Yalien_n,                          FALSE,  FALSE,
-    EL_ROBOT,                          ACTION_MOVING, MV_BIT_UP
+    Ytank_w_n,                         FALSE,  FALSE,
+    EL_SPACESHIP,                      ACTION_TURNING_FROM_LEFT, MV_BIT_UP
   },
   {
   },
   {
-    Yalien_nB,                         FALSE,  TRUE,
-    EL_ROBOT,                          ACTION_MOVING, MV_BIT_UP
+    Ytank_n_e,                         FALSE,  FALSE,
+    EL_SPACESHIP,                      ACTION_TURNING_FROM_UP, MV_BIT_RIGHT
   },
   {
   },
   {
-    Yalien_e,                          FALSE,  FALSE,
-    EL_ROBOT,                          ACTION_MOVING, MV_BIT_RIGHT
+    Ytank_e_s,                         FALSE,  FALSE,
+    EL_SPACESHIP,                      ACTION_TURNING_FROM_RIGHT, MV_BIT_DOWN
   },
   {
   },
   {
-    Yalien_eB,                         FALSE,  TRUE,
-    EL_ROBOT,                          ACTION_MOVING, MV_BIT_RIGHT
+    Ytank_s_w,                         FALSE,  FALSE,
+    EL_SPACESHIP,                      ACTION_TURNING_FROM_DOWN, MV_BIT_LEFT
   },
   {
   },
   {
-    Yalien_s,                          FALSE,  FALSE,
-    EL_ROBOT,                          ACTION_MOVING, MV_BIT_DOWN
+    Ytank_e_n,                         FALSE,  FALSE,
+    EL_SPACESHIP,                      ACTION_TURNING_FROM_RIGHT, MV_BIT_UP
   },
   {
   },
   {
-    Yalien_sB,                         FALSE,  TRUE,
-    EL_ROBOT,                          ACTION_MOVING, MV_BIT_DOWN
+    Ytank_s_e,                         FALSE,  FALSE,
+    EL_SPACESHIP,                      ACTION_TURNING_FROM_DOWN, MV_BIT_RIGHT
   },
   {
   },
   {
-    Yalien_w,                          FALSE,  FALSE,
-    EL_ROBOT,                          ACTION_MOVING, MV_BIT_LEFT
+    Ytank_w_s,                         FALSE,  FALSE,
+    EL_SPACESHIP,                      ACTION_TURNING_FROM_LEFT, MV_BIT_DOWN
   },
   {
   },
   {
-    Yalien_wB,                         FALSE,  TRUE,
-    EL_ROBOT,                          ACTION_MOVING, MV_BIT_LEFT
+    Ytank_n_w,                         FALSE,  FALSE,
+    EL_SPACESHIP,                      ACTION_TURNING_FROM_UP, MV_BIT_LEFT
   },
   {
   },
   {
-    Yalien_stone,                      FALSE,  FALSE,
-    EL_ROBOT,                          ACTION_SMASHED_BY_ROCK, -1
+    Ytank_stone,                       FALSE,  FALSE,
+    EL_SPACESHIP,                      ACTION_SMASHED_BY_ROCK, -1
   },
   {
   },
   {
-    Yalien_spring,                     FALSE,  FALSE,
-    EL_ROBOT,                          ACTION_SMASHED_BY_SPRING, -1
+    Ytank_spring,                      FALSE,  FALSE,
+    EL_SPACESHIP,                      ACTION_SMASHED_BY_SPRING, -1
   },
   },
+
   {
     Xemerald,                          TRUE,   FALSE,
     EL_EMERALD,                                -1, -1
   {
     Xemerald,                          TRUE,   FALSE,
     EL_EMERALD,                                -1, -1
@@ -6388,10 +6332,7 @@ em_object_mapping_list[] =
     Yemerald_blank,                    FALSE,  FALSE,
     EL_EMERALD,                                ACTION_COLLECTING, -1
   },
     Yemerald_blank,                    FALSE,  FALSE,
     EL_EMERALD,                                ACTION_COLLECTING, -1
   },
-  {
-    Ynut_stone,                                FALSE,  FALSE,
-    EL_NUT,                            ACTION_BREAKING, -1
-  },
+
   {
     Xdiamond,                          TRUE,   FALSE,
     EL_DIAMOND,                                -1, -1
   {
     Xdiamond,                          TRUE,   FALSE,
     EL_DIAMOND,                                -1, -1
@@ -6440,38 +6381,44 @@ em_object_mapping_list[] =
     Ydiamond_stone,                    FALSE,  FALSE,
     EL_DIAMOND,                                ACTION_SMASHED_BY_ROCK, -1
   },
     Ydiamond_stone,                    FALSE,  FALSE,
     EL_DIAMOND,                                ACTION_SMASHED_BY_ROCK, -1
   },
+
   {
   {
-    Xdrip_fall,                                TRUE,   FALSE,
-    EL_AMOEBA_DROP,                    -1, -1
+    Xstone,                            TRUE,   FALSE,
+    EL_ROCK,                           -1, -1
   },
   {
   },
   {
-    Xdrip_stretch,                     FALSE,  FALSE,
-    EL_AMOEBA_DROP,                    ACTION_FALLING, -1
+    Xstone_pause,                      FALSE,  FALSE,
+    EL_ROCK,                           -1, -1
   },
   {
   },
   {
-    Xdrip_stretchB,                    FALSE,  TRUE,
-    EL_AMOEBA_DROP,                    ACTION_FALLING, -1
+    Xstone_fall,                       FALSE,  FALSE,
+    EL_ROCK,                           -1, -1
   },
   {
   },
   {
-    Xdrip,                             FALSE,  FALSE,
-    EL_AMOEBA_DROP,                    ACTION_GROWING, -1
+    Ystone_s,                          FALSE,  FALSE,
+    EL_ROCK,                           ACTION_FALLING, -1
   },
   {
   },
   {
-    Ydrip_1_s,                         FALSE,  FALSE,
-    EL_AMOEBA_DROP,                    ACTION_FALLING, -1
+    Ystone_sB,                         FALSE,  TRUE,
+    EL_ROCK,                           ACTION_FALLING, -1
   },
   {
   },
   {
-    Ydrip_1_sB,                                FALSE,  TRUE,
-    EL_AMOEBA_DROP,                    ACTION_FALLING, -1
+    Ystone_e,                          FALSE,  FALSE,
+    EL_ROCK,                           ACTION_MOVING, MV_BIT_RIGHT
   },
   {
   },
   {
-    Ydrip_2_s,                         FALSE,  FALSE,
-    EL_AMOEBA_DROP,                    ACTION_FALLING, -1
+    Ystone_eB,                         FALSE,  TRUE,
+    EL_ROCK,                           ACTION_MOVING, MV_BIT_RIGHT
   },
   {
   },
   {
-    Ydrip_2_sB,                                FALSE,  TRUE,
-    EL_AMOEBA_DROP,                    ACTION_FALLING, -1
+    Ystone_w,                          FALSE,  FALSE,
+    EL_ROCK,                           ACTION_MOVING, MV_BIT_LEFT
   },
   },
+  {
+    Ystone_wB,                         FALSE,  TRUE,
+    EL_ROCK,                           ACTION_MOVING, MV_BIT_LEFT
+  },
+
   {
     Xbomb,                             TRUE,   FALSE,
     EL_BOMB,                           -1, -1
   {
     Xbomb,                             TRUE,   FALSE,
     EL_BOMB,                           -1, -1
@@ -6512,226 +6459,340 @@ em_object_mapping_list[] =
     Ybomb_blank,                       FALSE,  FALSE,
     EL_BOMB,                           ACTION_ACTIVATING, -1
   },
     Ybomb_blank,                       FALSE,  FALSE,
     EL_BOMB,                           ACTION_ACTIVATING, -1
   },
+
   {
   {
-    Xballoon,                          TRUE,   FALSE,
-    EL_BALLOON,                                -1, -1
+    Xnut,                              TRUE,   FALSE,
+    EL_NUT,                            -1, -1
   },
   {
   },
   {
-    Yballoon_n,                                FALSE,  FALSE,
-    EL_BALLOON,                                ACTION_MOVING, MV_BIT_UP
+    Xnut_pause,                                FALSE,  FALSE,
+    EL_NUT,                            -1, -1
   },
   {
   },
   {
-    Yballoon_nB,                       FALSE,  TRUE,
-    EL_BALLOON,                                ACTION_MOVING, MV_BIT_UP
+    Xnut_fall,                         FALSE,  FALSE,
+    EL_NUT,                            -1, -1
   },
   {
   },
   {
-    Yballoon_e,                                FALSE,  FALSE,
-    EL_BALLOON,                                ACTION_MOVING, MV_BIT_RIGHT
+    Ynut_s,                            FALSE,  FALSE,
+    EL_NUT,                            ACTION_FALLING, -1
   },
   {
   },
   {
-    Yballoon_eB,                       FALSE,  TRUE,
-    EL_BALLOON,                                ACTION_MOVING, MV_BIT_RIGHT
+    Ynut_sB,                           FALSE,  TRUE,
+    EL_NUT,                            ACTION_FALLING, -1
   },
   {
   },
   {
-    Yballoon_s,                                FALSE,  FALSE,
-    EL_BALLOON,                                ACTION_MOVING, MV_BIT_DOWN
+    Ynut_e,                            FALSE,  FALSE,
+    EL_NUT,                            ACTION_MOVING, MV_BIT_RIGHT
   },
   {
   },
   {
-    Yballoon_sB,                       FALSE,  TRUE,
-    EL_BALLOON,                                ACTION_MOVING, MV_BIT_DOWN
+    Ynut_eB,                           FALSE,  TRUE,
+    EL_NUT,                            ACTION_MOVING, MV_BIT_RIGHT
   },
   {
   },
   {
-    Yballoon_w,                                FALSE,  FALSE,
-    EL_BALLOON,                                ACTION_MOVING, MV_BIT_LEFT
+    Ynut_w,                            FALSE,  FALSE,
+    EL_NUT,                            ACTION_MOVING, MV_BIT_LEFT
   },
   {
   },
   {
-    Yballoon_wB,                       FALSE,  TRUE,
-    EL_BALLOON,                                ACTION_MOVING, MV_BIT_LEFT
+    Ynut_wB,                           FALSE,  TRUE,
+    EL_NUT,                            ACTION_MOVING, MV_BIT_LEFT
   },
   {
   },
   {
-    Xgrass,                            TRUE,   FALSE,
-    EL_EMC_GRASS,                      -1, -1
+    Ynut_stone,                                FALSE,  FALSE,
+    EL_NUT,                            ACTION_BREAKING, -1
   },
   },
+
   {
   {
-    Ygrass_nB,                         FALSE,  FALSE,
-    EL_EMC_GRASS,                      ACTION_DIGGING, MV_BIT_UP
+    Xspring,                           TRUE,   FALSE,
+    EL_SPRING,                         -1, -1
   },
   {
   },
   {
-    Ygrass_eB,                         FALSE,  FALSE,
-    EL_EMC_GRASS,                      ACTION_DIGGING, MV_BIT_RIGHT
+    Xspring_pause,                     FALSE,  FALSE,
+    EL_SPRING,                         -1, -1
   },
   {
   },
   {
-    Ygrass_sB,                         FALSE,  FALSE,
-    EL_EMC_GRASS,                      ACTION_DIGGING, MV_BIT_DOWN
+    Xspring_e,                         FALSE,  FALSE,
+    EL_SPRING,                         -1, -1
   },
   {
   },
   {
-    Ygrass_wB,                         FALSE,  FALSE,
-    EL_EMC_GRASS,                      ACTION_DIGGING, MV_BIT_LEFT
+    Xspring_w,                         FALSE,  FALSE,
+    EL_SPRING,                         -1, -1
   },
   {
   },
   {
-    Xdirt,                             TRUE,   FALSE,
-    EL_SAND,                           -1, -1
+    Xspring_fall,                      FALSE,  FALSE,
+    EL_SPRING,                         -1, -1
   },
   {
   },
   {
-    Ydirt_nB,                          FALSE,  FALSE,
-    EL_SAND,                           ACTION_DIGGING, MV_BIT_UP
+    Yspring_s,                         FALSE,  FALSE,
+    EL_SPRING,                         ACTION_FALLING, -1
   },
   {
   },
   {
-    Ydirt_eB,                          FALSE,  FALSE,
-    EL_SAND,                           ACTION_DIGGING, MV_BIT_RIGHT
+    Yspring_sB,                                FALSE,  TRUE,
+    EL_SPRING,                         ACTION_FALLING, -1
   },
   {
   },
   {
-    Ydirt_sB,                          FALSE,  FALSE,
-    EL_SAND,                           ACTION_DIGGING, MV_BIT_DOWN
+    Yspring_e,                         FALSE,  FALSE,
+    EL_SPRING,                         ACTION_MOVING, MV_BIT_RIGHT
   },
   {
   },
   {
-    Ydirt_wB,                          FALSE,  FALSE,
-    EL_SAND,                           ACTION_DIGGING, MV_BIT_LEFT
+    Yspring_eB,                                FALSE,  TRUE,
+    EL_SPRING,                         ACTION_MOVING, MV_BIT_RIGHT
   },
   {
   },
   {
-    Xacid_ne,                          TRUE,   FALSE,
-    EL_ACID_POOL_TOPRIGHT,             -1, -1
+    Yspring_w,                         FALSE,  FALSE,
+    EL_SPRING,                         ACTION_MOVING, MV_BIT_LEFT
   },
   {
   },
   {
-    Xacid_se,                          TRUE,   FALSE,
-    EL_ACID_POOL_BOTTOMRIGHT,          -1, -1
+    Yspring_wB,                                FALSE,  TRUE,
+    EL_SPRING,                         ACTION_MOVING, MV_BIT_LEFT
   },
   {
   },
   {
-    Xacid_s,                           TRUE,   FALSE,
-    EL_ACID_POOL_BOTTOM,               -1, -1
+    Yspring_alien_e,                   FALSE,  FALSE,
+    EL_SPRING,                         ACTION_EATING, MV_BIT_RIGHT
   },
   {
   },
   {
-    Xacid_sw,                          TRUE,   FALSE,
-    EL_ACID_POOL_BOTTOMLEFT,           -1, -1
+    Yspring_alien_eB,                  FALSE,  TRUE,
+    EL_SPRING,                         ACTION_EATING, MV_BIT_RIGHT
   },
   {
   },
   {
-    Xacid_nw,                          TRUE,   FALSE,
-    EL_ACID_POOL_TOPLEFT,              -1, -1
+    Yspring_alien_w,                   FALSE,  FALSE,
+    EL_SPRING,                         ACTION_EATING, MV_BIT_LEFT
   },
   {
   },
   {
-    Xacid_1,                           TRUE,   FALSE,
-    EL_ACID,                           -1, -1
+    Yspring_alien_wB,                  FALSE,  TRUE,
+    EL_SPRING,                         ACTION_EATING, MV_BIT_LEFT
   },
   },
+
   {
   {
-    Xacid_2,                           FALSE,  FALSE,
-    EL_ACID,                           -1, -1
+    Xpush_emerald_e,                   FALSE,  FALSE,
+    EL_EMERALD,                                -1, MV_BIT_RIGHT
+  },
+  {
+    Xpush_emerald_w,                   FALSE,  FALSE,
+    EL_EMERALD,                                -1, MV_BIT_LEFT
+  },
+  {
+    Xpush_diamond_e,                   FALSE,  FALSE,
+    EL_DIAMOND,                                -1, MV_BIT_RIGHT
+  },
+  {
+    Xpush_diamond_w,                   FALSE,  FALSE,
+    EL_DIAMOND,                                -1, MV_BIT_LEFT
+  },
+  {
+    Xpush_stone_e,                     FALSE,  FALSE,
+    EL_ROCK,                           -1, MV_BIT_RIGHT
+  },
+  {
+    Xpush_stone_w,                     FALSE,  FALSE,
+    EL_ROCK,                           -1, MV_BIT_LEFT
+  },
+  {
+    Xpush_bomb_e,                      FALSE,  FALSE,
+    EL_BOMB,                           -1, MV_BIT_RIGHT
+  },
+  {
+    Xpush_bomb_w,                      FALSE,  FALSE,
+    EL_BOMB,                           -1, MV_BIT_LEFT
+  },
+  {
+    Xpush_nut_e,                       FALSE,  FALSE,
+    EL_NUT,                            -1, MV_BIT_RIGHT
+  },
+  {
+    Xpush_nut_w,                       FALSE,  FALSE,
+    EL_NUT,                            -1, MV_BIT_LEFT
+  },
+  {
+    Xpush_spring_e,                    FALSE,  FALSE,
+    EL_SPRING,                         -1, MV_BIT_RIGHT
+  },
+  {
+    Xpush_spring_w,                    FALSE,  FALSE,
+    EL_SPRING,                         -1, MV_BIT_LEFT
+  },
+
+  {
+    Xdynamite,                         TRUE,   FALSE,
+    EL_EM_DYNAMITE,                    -1, -1
+  },
+  {
+    Ydynamite_blank,                   FALSE,  FALSE,
+    EL_EM_DYNAMITE,                    ACTION_COLLECTING, -1
+  },
+  {
+    Xdynamite_1,                       TRUE,   FALSE,
+    EL_EM_DYNAMITE_ACTIVE,             -1, -1
+  },
+  {
+    Xdynamite_2,                       FALSE,  FALSE,
+    EL_EM_DYNAMITE_ACTIVE,             -1, -1
+  },
+  {
+    Xdynamite_3,                       FALSE,  FALSE,
+    EL_EM_DYNAMITE_ACTIVE,             -1, -1
+  },
+  {
+    Xdynamite_4,                       FALSE,  FALSE,
+    EL_EM_DYNAMITE_ACTIVE,             -1, -1
+  },
+
+  {
+    Xkey_1,                            TRUE,   FALSE,
+    EL_EM_KEY_1,                       -1, -1
+  },
+  {
+    Xkey_2,                            TRUE,   FALSE,
+    EL_EM_KEY_2,                       -1, -1
+  },
+  {
+    Xkey_3,                            TRUE,   FALSE,
+    EL_EM_KEY_3,                       -1, -1
+  },
+  {
+    Xkey_4,                            TRUE,   FALSE,
+    EL_EM_KEY_4,                       -1, -1
+  },
+  {
+    Xkey_5,                            TRUE,   FALSE,
+    EL_EMC_KEY_5,                      -1, -1
+  },
+  {
+    Xkey_6,                            TRUE,   FALSE,
+    EL_EMC_KEY_6,                      -1, -1
+  },
+  {
+    Xkey_7,                            TRUE,   FALSE,
+    EL_EMC_KEY_7,                      -1, -1
+  },
+  {
+    Xkey_8,                            TRUE,   FALSE,
+    EL_EMC_KEY_8,                      -1, -1
+  },
+
+  {
+    Xdoor_1,                           TRUE,   FALSE,
+    EL_EM_GATE_1,                      -1, -1
   },
   {
   },
   {
-    Xacid_3,                           FALSE,  FALSE,
-    EL_ACID,                           -1, -1
+    Xdoor_2,                           TRUE,   FALSE,
+    EL_EM_GATE_2,                      -1, -1
   },
   {
   },
   {
-    Xacid_4,                           FALSE,  FALSE,
-    EL_ACID,                           -1, -1
+    Xdoor_3,                           TRUE,   FALSE,
+    EL_EM_GATE_3,                      -1, -1
   },
   {
   },
   {
-    Xacid_5,                           FALSE,  FALSE,
-    EL_ACID,                           -1, -1
+    Xdoor_4,                           TRUE,   FALSE,
+    EL_EM_GATE_4,                      -1, -1
   },
   {
   },
   {
-    Xacid_6,                           FALSE,  FALSE,
-    EL_ACID,                           -1, -1
+    Xdoor_5,                           TRUE,   FALSE,
+    EL_EMC_GATE_5,                     -1, -1
   },
   {
   },
   {
-    Xacid_7,                           FALSE,  FALSE,
-    EL_ACID,                           -1, -1
+    Xdoor_6,                           TRUE,   FALSE,
+    EL_EMC_GATE_6,                     -1, -1
   },
   {
   },
   {
-    Xacid_8,                           FALSE,  FALSE,
-    EL_ACID,                           -1, -1
+    Xdoor_7,                           TRUE,   FALSE,
+    EL_EMC_GATE_7,                     -1, -1
   },
   {
   },
   {
-    Xball_1,                           TRUE,   FALSE,
-    EL_EMC_MAGIC_BALL,                 -1, -1
+    Xdoor_8,                           TRUE,   FALSE,
+    EL_EMC_GATE_8,                     -1, -1
   },
   },
+
   {
   {
-    Yball_1,                           FALSE,  FALSE,
-    EL_EMC_MAGIC_BALL,                 ACTION_ACTIVE, -1
+    Xfake_door_1,                      TRUE,   FALSE,
+    EL_EM_GATE_1_GRAY,                 -1, -1
   },
   {
   },
   {
-    Xball_2,                           FALSE,  FALSE,
-    EL_EMC_MAGIC_BALL,                 ACTION_ACTIVE, -1
+    Xfake_door_2,                      TRUE,   FALSE,
+    EL_EM_GATE_2_GRAY,                 -1, -1
   },
   {
   },
   {
-    Yball_2,                           FALSE,  FALSE,
-    EL_EMC_MAGIC_BALL,                 ACTION_ACTIVE, -1
+    Xfake_door_3,                      TRUE,   FALSE,
+    EL_EM_GATE_3_GRAY,                 -1, -1
   },
   {
   },
   {
-    Yball_blank,                       FALSE,  FALSE,
-    EL_EMC_MAGIC_BALL,                 ACTION_DROPPING, -1
+    Xfake_door_4,                      TRUE,   FALSE,
+    EL_EM_GATE_4_GRAY,                 -1, -1
   },
   {
   },
   {
-    Ykey_1_blank,                      FALSE,  FALSE,
-    EL_EM_KEY_1,                       ACTION_COLLECTING, -1
+    Xfake_door_5,                      TRUE,   FALSE,
+    EL_EMC_GATE_5_GRAY,                        -1, -1
   },
   {
   },
   {
-    Ykey_2_blank,                      FALSE,  FALSE,
-    EL_EM_KEY_2,                       ACTION_COLLECTING, -1
+    Xfake_door_6,                      TRUE,   FALSE,
+    EL_EMC_GATE_6_GRAY,                        -1, -1
   },
   {
   },
   {
-    Ykey_3_blank,                      FALSE,  FALSE,
-    EL_EM_KEY_3,                       ACTION_COLLECTING, -1
+    Xfake_door_7,                      TRUE,   FALSE,
+    EL_EMC_GATE_7_GRAY,                        -1, -1
   },
   {
   },
   {
-    Ykey_4_blank,                      FALSE,  FALSE,
-    EL_EM_KEY_4,                       ACTION_COLLECTING, -1
+    Xfake_door_8,                      TRUE,   FALSE,
+    EL_EMC_GATE_8_GRAY,                        -1, -1
   },
   },
+
   {
   {
-    Ykey_5_blank,                      FALSE,  FALSE,
-    EL_EMC_KEY_5,                      ACTION_COLLECTING, -1
+    Xballoon,                          TRUE,   FALSE,
+    EL_BALLOON,                                -1, -1
   },
   {
   },
   {
-    Ykey_6_blank,                      FALSE,  FALSE,
-    EL_EMC_KEY_6,                      ACTION_COLLECTING, -1
+    Yballoon_n,                                FALSE,  FALSE,
+    EL_BALLOON,                                ACTION_MOVING, MV_BIT_UP
   },
   {
   },
   {
-    Ykey_7_blank,                      FALSE,  FALSE,
-    EL_EMC_KEY_7,                      ACTION_COLLECTING, -1
+    Yballoon_nB,                       FALSE,  TRUE,
+    EL_BALLOON,                                ACTION_MOVING, MV_BIT_UP
   },
   {
   },
   {
-    Ykey_8_blank,                      FALSE,  FALSE,
-    EL_EMC_KEY_8,                      ACTION_COLLECTING, -1
+    Yballoon_e,                                FALSE,  FALSE,
+    EL_BALLOON,                                ACTION_MOVING, MV_BIT_RIGHT
   },
   {
   },
   {
-    Ylenses_blank,                     FALSE,  FALSE,
-    EL_EMC_LENSES,                     ACTION_COLLECTING, -1
+    Yballoon_eB,                       FALSE,  TRUE,
+    EL_BALLOON,                                ACTION_MOVING, MV_BIT_RIGHT
   },
   {
   },
   {
-    Ymagnify_blank,                    FALSE,  FALSE,
-    EL_EMC_MAGNIFIER,                  ACTION_COLLECTING, -1
+    Yballoon_s,                                FALSE,  FALSE,
+    EL_BALLOON,                                ACTION_MOVING, MV_BIT_DOWN
   },
   {
   },
   {
-    Ygrass_blank,                      FALSE,  FALSE,
-    EL_EMC_GRASS,                      ACTION_SNAPPING, -1
+    Yballoon_sB,                       FALSE,  TRUE,
+    EL_BALLOON,                                ACTION_MOVING, MV_BIT_DOWN
   },
   {
   },
   {
-    Ydirt_blank,                       FALSE,  FALSE,
-    EL_SAND,                           ACTION_SNAPPING, -1
+    Yballoon_w,                                FALSE,  FALSE,
+    EL_BALLOON,                                ACTION_MOVING, MV_BIT_LEFT
   },
   {
   },
   {
-    Xslidewall_ns,                     TRUE,   FALSE,
-    EL_EXPANDABLE_WALL_VERTICAL,       -1, -1
+    Yballoon_wB,                       FALSE,  TRUE,
+    EL_BALLOON,                                ACTION_MOVING, MV_BIT_LEFT
   },
   },
+
   {
   {
-    Yslidewall_ns_blank,               FALSE,  FALSE,
-    EL_EXPANDABLE_WALL_VERTICAL,       ACTION_GROWING, -1
+    Xball_1,                           TRUE,   FALSE,
+    EL_EMC_MAGIC_BALL,                 -1, -1
   },
   {
   },
   {
-    Xslidewall_ew,                     TRUE,   FALSE,
-    EL_EXPANDABLE_WALL_HORIZONTAL,     -1, -1
+    Yball_1,                           FALSE,  FALSE,
+    EL_EMC_MAGIC_BALL,                 ACTION_ACTIVE, -1
   },
   {
   },
   {
-    Yslidewall_ew_blank,               FALSE,  FALSE,
-    EL_EXPANDABLE_WALL_HORIZONTAL,     ACTION_GROWING, -1
+    Xball_2,                           FALSE,  FALSE,
+    EL_EMC_MAGIC_BALL,                 ACTION_ACTIVE, -1
   },
   {
   },
   {
-    Xwonderwall,                       TRUE,   FALSE,
-    EL_MAGIC_WALL,                     -1, -1
+    Yball_2,                           FALSE,  FALSE,
+    EL_EMC_MAGIC_BALL,                 ACTION_ACTIVE, -1
   },
   {
   },
   {
-    XwonderwallB,                      FALSE,  FALSE,
-    EL_MAGIC_WALL,                     ACTION_ACTIVE, -1
+    Yball_blank,                       FALSE,  FALSE,
+    EL_EMC_MAGIC_BALL,                 ACTION_DROPPING, -1
   },
   },
+
   {
     Xamoeba_1,                         TRUE,   FALSE,
     EL_AMOEBA_DRY,                     ACTION_OTHER, -1
   {
     Xamoeba_1,                         TRUE,   FALSE,
     EL_AMOEBA_DRY,                     ACTION_OTHER, -1
@@ -6764,158 +6825,134 @@ em_object_mapping_list[] =
     Xamoeba_8,                         FALSE,  FALSE,
     EL_AMOEBA_WET,                     ACTION_OTHER, -1
   },
     Xamoeba_8,                         FALSE,  FALSE,
     EL_AMOEBA_WET,                     ACTION_OTHER, -1
   },
+
   {
   {
-    Xdoor_1,                           TRUE,   FALSE,
-    EL_EM_GATE_1,                      -1, -1
-  },
-  {
-    Xdoor_2,                           TRUE,   FALSE,
-    EL_EM_GATE_2,                      -1, -1
-  },
-  {
-    Xdoor_3,                           TRUE,   FALSE,
-    EL_EM_GATE_3,                      -1, -1
-  },
-  {
-    Xdoor_4,                           TRUE,   FALSE,
-    EL_EM_GATE_4,                      -1, -1
-  },
-  {
-    Xdoor_5,                           TRUE,   FALSE,
-    EL_EMC_GATE_5,                     -1, -1
-  },
-  {
-    Xdoor_6,                           TRUE,   FALSE,
-    EL_EMC_GATE_6,                     -1, -1
-  },
-  {
-    Xdoor_7,                           TRUE,   FALSE,
-    EL_EMC_GATE_7,                     -1, -1
-  },
-  {
-    Xdoor_8,                           TRUE,   FALSE,
-    EL_EMC_GATE_8,                     -1, -1
-  },
-  {
-    Xkey_1,                            TRUE,   FALSE,
-    EL_EM_KEY_1,                       -1, -1
-  },
-  {
-    Xkey_2,                            TRUE,   FALSE,
-    EL_EM_KEY_2,                       -1, -1
+    Xdrip,                             FALSE,  FALSE,
+    EL_AMOEBA_DROP,                    ACTION_GROWING, -1
   },
   {
   },
   {
-    Xkey_3,                            TRUE,   FALSE,
-    EL_EM_KEY_3,                       -1, -1
+    Xdrip_fall,                                TRUE,   FALSE,
+    EL_AMOEBA_DROP,                    -1, -1
   },
   {
   },
   {
-    Xkey_4,                            TRUE,   FALSE,
-    EL_EM_KEY_4,                       -1, -1
+    Xdrip_stretch,                     FALSE,  FALSE,
+    EL_AMOEBA_DROP,                    ACTION_FALLING, -1
   },
   {
   },
   {
-    Xkey_5,                            TRUE,   FALSE,
-    EL_EMC_KEY_5,                      -1, -1
+    Xdrip_stretchB,                    FALSE,  TRUE,
+    EL_AMOEBA_DROP,                    ACTION_FALLING, -1
   },
   {
   },
   {
-    Xkey_6,                            TRUE,   FALSE,
-    EL_EMC_KEY_6,                      -1, -1
+    Ydrip_1_s,                         FALSE,  FALSE,
+    EL_AMOEBA_DROP,                    ACTION_FALLING, -1
   },
   {
   },
   {
-    Xkey_7,                            TRUE,   FALSE,
-    EL_EMC_KEY_7,                      -1, -1
+    Ydrip_1_sB,                                FALSE,  TRUE,
+    EL_AMOEBA_DROP,                    ACTION_FALLING, -1
   },
   {
   },
   {
-    Xkey_8,                            TRUE,   FALSE,
-    EL_EMC_KEY_8,                      -1, -1
+    Ydrip_2_s,                         FALSE,  FALSE,
+    EL_AMOEBA_DROP,                    ACTION_FALLING, -1
   },
   {
   },
   {
-    Xwind_n,                           TRUE,   FALSE,
-    EL_BALLOON_SWITCH_UP,              -1, -1
+    Ydrip_2_sB,                                FALSE,  TRUE,
+    EL_AMOEBA_DROP,                    ACTION_FALLING, -1
   },
   },
+
   {
   {
-    Xwind_e,                           TRUE,   FALSE,
-    EL_BALLOON_SWITCH_RIGHT,           -1, -1
+    Xwonderwall,                       TRUE,   FALSE,
+    EL_MAGIC_WALL,                     -1, -1
   },
   {
   },
   {
-    Xwind_s,                           TRUE,   FALSE,
-    EL_BALLOON_SWITCH_DOWN,            -1, -1
+    XwonderwallB,                      FALSE,  FALSE,
+    EL_MAGIC_WALL,                     ACTION_ACTIVE, -1
   },
   },
+
   {
   {
-    Xwind_w,                           TRUE,   FALSE,
-    EL_BALLOON_SWITCH_LEFT,            -1, -1
+    Xwheel,                            TRUE,   FALSE,
+    EL_ROBOT_WHEEL,                    -1, -1
   },
   {
   },
   {
-    Xwind_any,                         TRUE,   FALSE,
-    EL_BALLOON_SWITCH_ANY,             -1, -1
+    XwheelB,                           FALSE,  FALSE,
+    EL_ROBOT_WHEEL,                    ACTION_ACTIVE, -1
   },
   },
+
   {
   {
-    Xwind_stop,                                TRUE,   FALSE,
-    EL_BALLOON_SWITCH_NONE,            -1, -1
+    Xswitch,                           TRUE,   FALSE,
+    EL_EMC_MAGIC_BALL_SWITCH,          -1, -1
   },
   {
   },
   {
-    Xexit,                             TRUE,   FALSE,
-    EL_EM_EXIT_CLOSED,                 -1, -1
+    XswitchB,                          FALSE,  FALSE,
+    EL_EMC_MAGIC_BALL_SWITCH,          ACTION_ACTIVE, -1
   },
   },
+
   {
   {
-    Xexit_1,                           TRUE,   FALSE,
-    EL_EM_EXIT_OPEN,                   -1, -1
+    Xbumper,                           TRUE,   FALSE,
+    EL_EMC_SPRING_BUMPER,              -1, -1
   },
   {
   },
   {
-    Xexit_2,                           FALSE,  FALSE,
-    EL_EM_EXIT_OPEN,                   -1, -1
+    XbumperB,                          FALSE,  FALSE,
+    EL_EMC_SPRING_BUMPER,              ACTION_ACTIVE, -1
   },
   },
+
   {
   {
-    Xexit_3,                           FALSE,  FALSE,
-    EL_EM_EXIT_OPEN,                   -1, -1
+    Xacid_nw,                          TRUE,   FALSE,
+    EL_ACID_POOL_TOPLEFT,              -1, -1
   },
   {
   },
   {
-    Xdynamite,                         TRUE,   FALSE,
-    EL_EM_DYNAMITE,                    -1, -1
+    Xacid_ne,                          TRUE,   FALSE,
+    EL_ACID_POOL_TOPRIGHT,             -1, -1
   },
   {
   },
   {
-    Ydynamite_blank,                   FALSE,  FALSE,
-    EL_EM_DYNAMITE,                    ACTION_COLLECTING, -1
+    Xacid_sw,                          TRUE,   FALSE,
+    EL_ACID_POOL_BOTTOMLEFT,           -1, -1
   },
   {
   },
   {
-    Xdynamite_1,                       TRUE,   FALSE,
-    EL_EM_DYNAMITE_ACTIVE,             -1, -1
+    Xacid_s,                           TRUE,   FALSE,
+    EL_ACID_POOL_BOTTOM,               -1, -1
   },
   {
   },
   {
-    Xdynamite_2,                       FALSE,  FALSE,
-    EL_EM_DYNAMITE_ACTIVE,             -1, -1
+    Xacid_se,                          TRUE,   FALSE,
+    EL_ACID_POOL_BOTTOMRIGHT,          -1, -1
   },
   },
+
   {
   {
-    Xdynamite_3,                       FALSE,  FALSE,
-    EL_EM_DYNAMITE_ACTIVE,             -1, -1
+    Xfake_blank,                       TRUE,   FALSE,
+    EL_INVISIBLE_WALL,                 -1, -1
   },
   {
   },
   {
-    Xdynamite_4,                       FALSE,  FALSE,
-    EL_EM_DYNAMITE_ACTIVE,             -1, -1
+    Xfake_blankB,                      FALSE,  FALSE,
+    EL_INVISIBLE_WALL,                 ACTION_ACTIVE, -1
   },
   },
+
   {
   {
-    Xbumper,                           TRUE,   FALSE,
-    EL_EMC_SPRING_BUMPER,              -1, -1
+    Xfake_grass,                       TRUE,   FALSE,
+    EL_EMC_FAKE_GRASS,                 -1, -1
   },
   {
   },
   {
-    XbumperB,                          FALSE,  FALSE,
-    EL_EMC_SPRING_BUMPER,              ACTION_ACTIVE, -1
+    Xfake_grassB,                      FALSE,  FALSE,
+    EL_EMC_FAKE_GRASS,                 ACTION_ACTIVE, -1
   },
   },
+
   {
   {
-    Xwheel,                            TRUE,   FALSE,
-    EL_ROBOT_WHEEL,                    -1, -1
+    Xfake_amoeba,                      TRUE,   FALSE,
+    EL_EMC_DRIPPER,                    -1, -1
   },
   {
   },
   {
-    XwheelB,                           FALSE,  FALSE,
-    EL_ROBOT_WHEEL,                    ACTION_ACTIVE, -1
+    Xfake_amoebaB,                     FALSE,  FALSE,
+    EL_EMC_DRIPPER,                    ACTION_ACTIVE, -1
   },
   },
+
   {
   {
-    Xswitch,                           TRUE,   FALSE,
-    EL_EMC_MAGIC_BALL_SWITCH,          -1, -1
+    Xlenses,                           TRUE,   FALSE,
+    EL_EMC_LENSES,                     -1, -1
   },
   },
+
   {
   {
-    XswitchB,                          FALSE,  FALSE,
-    EL_EMC_MAGIC_BALL_SWITCH,          ACTION_ACTIVE, -1
+    Xmagnify,                          TRUE,   FALSE,
+    EL_EMC_MAGNIFIER,                  -1, -1
   },
   },
+
   {
     Xsand,                             TRUE,   FALSE,
     EL_QUICKSAND_EMPTY,                        -1, -1
   {
     Xsand,                             TRUE,   FALSE,
     EL_QUICKSAND_EMPTY,                        -1, -1
@@ -6940,38 +6977,6 @@ em_object_mapping_list[] =
     Xsand_stonein_4,                   FALSE,  TRUE,
     EL_ROCK,                           ACTION_FILLING, -1
   },
     Xsand_stonein_4,                   FALSE,  TRUE,
     EL_ROCK,                           ACTION_FILLING, -1
   },
-  {
-    Xsand_stonesand_1,                 FALSE,  FALSE,
-    EL_QUICKSAND_EMPTYING,             -1, -1
-  },
-  {
-    Xsand_stonesand_2,                 FALSE,  FALSE,
-    EL_QUICKSAND_EMPTYING,             -1, -1
-  },
-  {
-    Xsand_stonesand_3,                 FALSE,  FALSE,
-    EL_QUICKSAND_EMPTYING,             -1, -1
-  },
-  {
-    Xsand_stonesand_4,                 FALSE,  FALSE,
-    EL_QUICKSAND_EMPTYING,             -1, -1
-  },
-  {
-    Xsand_stonesand_quickout_1,                FALSE,  FALSE,
-    EL_QUICKSAND_EMPTYING,             -1, -1
-  },
-  {
-    Xsand_stonesand_quickout_2,                FALSE,  FALSE,
-    EL_QUICKSAND_EMPTYING,             -1, -1
-  },
-  {
-    Xsand_stoneout_1,                  FALSE,  FALSE,
-    EL_ROCK,                           ACTION_EMPTYING, -1
-  },
-  {
-    Xsand_stoneout_2,                  FALSE,  FALSE,
-    EL_ROCK,                           ACTION_EMPTYING, -1
-  },
   {
     Xsand_sandstone_1,                 FALSE,  FALSE,
     EL_QUICKSAND_FILLING,              -1, -1
   {
     Xsand_sandstone_1,                 FALSE,  FALSE,
     EL_QUICKSAND_FILLING,              -1, -1
@@ -6989,125 +6994,97 @@ em_object_mapping_list[] =
     EL_QUICKSAND_FILLING,              -1, -1
   },
   {
     EL_QUICKSAND_FILLING,              -1, -1
   },
   {
-    Xplant,                            TRUE,   FALSE,
-    EL_EMC_PLANT,                      -1, -1
-  },
-  {
-    Yplant,                            FALSE,  FALSE,
-    EL_EMC_PLANT,                      -1, -1
-  },
-  {
-    Xlenses,                           TRUE,   FALSE,
-    EL_EMC_LENSES,                     -1, -1
-  },
-  {
-    Xmagnify,                          TRUE,   FALSE,
-    EL_EMC_MAGNIFIER,                  -1, -1
-  },
-  {
-    Xfake_amoeba,                      TRUE,   FALSE,
-    EL_EMC_DRIPPER,                    -1, -1
-  },
-  {
-    Xfake_amoebaB,                     FALSE,  FALSE,
-    EL_EMC_DRIPPER,                    ACTION_ACTIVE, -1
-  },
-  {
-    Xfake_blank,                       TRUE,   FALSE,
-    EL_INVISIBLE_WALL,                 -1, -1
-  },
-  {
-    Xfake_blankB,                      FALSE,  FALSE,
-    EL_INVISIBLE_WALL,                 ACTION_ACTIVE, -1
-  },
-  {
-    Xfake_grass,                       TRUE,   FALSE,
-    EL_EMC_FAKE_GRASS,                 -1, -1
+    Xsand_stonesand_1,                 FALSE,  FALSE,
+    EL_QUICKSAND_EMPTYING,             -1, -1
   },
   {
   },
   {
-    Xfake_grassB,                      FALSE,  FALSE,
-    EL_EMC_FAKE_GRASS,                 ACTION_ACTIVE, -1
+    Xsand_stonesand_2,                 FALSE,  FALSE,
+    EL_QUICKSAND_EMPTYING,             -1, -1
   },
   {
   },
   {
-    Xfake_door_1,                      TRUE,   FALSE,
-    EL_EM_GATE_1_GRAY,                 -1, -1
+    Xsand_stonesand_3,                 FALSE,  FALSE,
+    EL_QUICKSAND_EMPTYING,             -1, -1
   },
   {
   },
   {
-    Xfake_door_2,                      TRUE,   FALSE,
-    EL_EM_GATE_2_GRAY,                 -1, -1
+    Xsand_stonesand_4,                 FALSE,  FALSE,
+    EL_QUICKSAND_EMPTYING,             -1, -1
   },
   {
   },
   {
-    Xfake_door_3,                      TRUE,   FALSE,
-    EL_EM_GATE_3_GRAY,                 -1, -1
+    Xsand_stoneout_1,                  FALSE,  FALSE,
+    EL_ROCK,                           ACTION_EMPTYING, -1
   },
   {
   },
   {
-    Xfake_door_4,                      TRUE,   FALSE,
-    EL_EM_GATE_4_GRAY,                 -1, -1
+    Xsand_stoneout_2,                  FALSE,  FALSE,
+    EL_ROCK,                           ACTION_EMPTYING, -1
   },
   {
   },
   {
-    Xfake_door_5,                      TRUE,   FALSE,
-    EL_EMC_GATE_5_GRAY,                        -1, -1
+    Xsand_stonesand_quickout_1,                FALSE,  FALSE,
+    EL_QUICKSAND_EMPTYING,             -1, -1
   },
   {
   },
   {
-    Xfake_door_6,                      TRUE,   FALSE,
-    EL_EMC_GATE_6_GRAY,                        -1, -1
+    Xsand_stonesand_quickout_2,                FALSE,  FALSE,
+    EL_QUICKSAND_EMPTYING,             -1, -1
   },
   },
+
   {
   {
-    Xfake_door_7,                      TRUE,   FALSE,
-    EL_EMC_GATE_7_GRAY,                        -1, -1
+    Xslidewall_ns,                     TRUE,   FALSE,
+    EL_EXPANDABLE_WALL_VERTICAL,       -1, -1
   },
   {
   },
   {
-    Xfake_door_8,                      TRUE,   FALSE,
-    EL_EMC_GATE_8_GRAY,                        -1, -1
+    Yslidewall_ns_blank,               FALSE,  FALSE,
+    EL_EXPANDABLE_WALL_VERTICAL,       ACTION_GROWING, -1
   },
   {
   },
   {
-    Xfake_acid_1,                      TRUE,   FALSE,
-    EL_EMC_FAKE_ACID,                  -1, -1
+    Xslidewall_ew,                     TRUE,   FALSE,
+    EL_EXPANDABLE_WALL_HORIZONTAL,     -1, -1
   },
   {
   },
   {
-    Xfake_acid_2,                      FALSE,  FALSE,
-    EL_EMC_FAKE_ACID,                  -1, -1
+    Yslidewall_ew_blank,               FALSE,  FALSE,
+    EL_EXPANDABLE_WALL_HORIZONTAL,     ACTION_GROWING, -1
   },
   },
+
   {
   {
-    Xfake_acid_3,                      FALSE,  FALSE,
-    EL_EMC_FAKE_ACID,                  -1, -1
+    Xwind_n,                           TRUE,   FALSE,
+    EL_BALLOON_SWITCH_UP,              -1, -1
   },
   {
   },
   {
-    Xfake_acid_4,                      FALSE,  FALSE,
-    EL_EMC_FAKE_ACID,                  -1, -1
+    Xwind_e,                           TRUE,   FALSE,
+    EL_BALLOON_SWITCH_RIGHT,           -1, -1
   },
   {
   },
   {
-    Xfake_acid_5,                      FALSE,  FALSE,
-    EL_EMC_FAKE_ACID,                  -1, -1
+    Xwind_s,                           TRUE,   FALSE,
+    EL_BALLOON_SWITCH_DOWN,            -1, -1
   },
   {
   },
   {
-    Xfake_acid_6,                      FALSE,  FALSE,
-    EL_EMC_FAKE_ACID,                  -1, -1
+    Xwind_w,                           TRUE,   FALSE,
+    EL_BALLOON_SWITCH_LEFT,            -1, -1
   },
   {
   },
   {
-    Xfake_acid_7,                      FALSE,  FALSE,
-    EL_EMC_FAKE_ACID,                  -1, -1
+    Xwind_any,                         TRUE,   FALSE,
+    EL_BALLOON_SWITCH_ANY,             -1, -1
   },
   {
   },
   {
-    Xfake_acid_8,                      FALSE,  FALSE,
-    EL_EMC_FAKE_ACID,                  -1, -1
+    Xwind_stop,                                TRUE,   FALSE,
+    EL_BALLOON_SWITCH_NONE,            -1, -1
   },
   },
+
   {
   {
-    Xsteel_1,                          TRUE,   FALSE,
-    EL_STEELWALL,                      -1, -1
+    Xexit,                             TRUE,   FALSE,
+    EL_EM_EXIT_CLOSED,                 -1, -1
   },
   {
   },
   {
-    Xsteel_2,                          TRUE,   FALSE,
-    EL_EMC_STEELWALL_2,                        -1, -1
+    Xexit_1,                           TRUE,   FALSE,
+    EL_EM_EXIT_OPEN,                   -1, -1
   },
   {
   },
   {
-    Xsteel_3,                          TRUE,   FALSE,
-    EL_EMC_STEELWALL_3,                        -1, -1
+    Xexit_2,                           FALSE,  FALSE,
+    EL_EM_EXIT_OPEN,                   -1, -1
   },
   {
   },
   {
-    Xsteel_4,                          TRUE,   FALSE,
-    EL_EMC_STEELWALL_4,                        -1, -1
+    Xexit_3,                           FALSE,  FALSE,
+    EL_EM_EXIT_OPEN,                   -1, -1
   },
   },
+
   {
     Xwall_1,                           TRUE,   FALSE,
     EL_WALL,                           -1, -1
   {
     Xwall_1,                           TRUE,   FALSE,
     EL_WALL,                           -1, -1
@@ -7124,6 +7101,7 @@ em_object_mapping_list[] =
     Xwall_4,                           TRUE,   FALSE,
     EL_EMC_WALL_16,                    -1, -1
   },
     Xwall_4,                           TRUE,   FALSE,
     EL_EMC_WALL_16,                    -1, -1
   },
+
   {
     Xroundwall_1,                      TRUE,   FALSE,
     EL_WALL_SLIPPERY,                  -1, -1
   {
     Xroundwall_1,                      TRUE,   FALSE,
     EL_WALL_SLIPPERY,                  -1, -1
@@ -7140,6 +7118,24 @@ em_object_mapping_list[] =
     Xroundwall_4,                      TRUE,   FALSE,
     EL_EMC_WALL_SLIPPERY_4,            -1, -1
   },
     Xroundwall_4,                      TRUE,   FALSE,
     EL_EMC_WALL_SLIPPERY_4,            -1, -1
   },
+
+  {
+    Xsteel_1,                          TRUE,   FALSE,
+    EL_STEELWALL,                      -1, -1
+  },
+  {
+    Xsteel_2,                          TRUE,   FALSE,
+    EL_EMC_STEELWALL_2,                        -1, -1
+  },
+  {
+    Xsteel_3,                          TRUE,   FALSE,
+    EL_EMC_STEELWALL_3,                        -1, -1
+  },
+  {
+    Xsteel_4,                          TRUE,   FALSE,
+    EL_EMC_STEELWALL_4,                        -1, -1
+  },
+
   {
     Xdecor_1,                          TRUE,   FALSE,
     EL_EMC_WALL_8,                     -1, -1
   {
     Xdecor_1,                          TRUE,   FALSE,
     EL_EMC_WALL_8,                     -1, -1
@@ -7188,6 +7184,7 @@ em_object_mapping_list[] =
     Xdecor_12,                         TRUE,   FALSE,
     EL_EMC_WALL_12,                    -1, -1
   },
     Xdecor_12,                         TRUE,   FALSE,
     EL_EMC_WALL_12,                    -1, -1
   },
+
   {
     Xalpha_0,                          TRUE,   FALSE,
     EL_CHAR('0'),                      -1, -1
   {
     Xalpha_0,                          TRUE,   FALSE,
     EL_CHAR('0'),                      -1, -1
@@ -7373,6 +7370,55 @@ em_object_mapping_list[] =
     EL_CHAR(CHAR_BYTE_COPYRIGHT),      -1, -1
   },
 
     EL_CHAR(CHAR_BYTE_COPYRIGHT),      -1, -1
   },
 
+  {
+    Ykey_1_blank,                      FALSE,  FALSE,
+    EL_EM_KEY_1,                       ACTION_COLLECTING, -1
+  },
+  {
+    Ykey_2_blank,                      FALSE,  FALSE,
+    EL_EM_KEY_2,                       ACTION_COLLECTING, -1
+  },
+  {
+    Ykey_3_blank,                      FALSE,  FALSE,
+    EL_EM_KEY_3,                       ACTION_COLLECTING, -1
+  },
+  {
+    Ykey_4_blank,                      FALSE,  FALSE,
+    EL_EM_KEY_4,                       ACTION_COLLECTING, -1
+  },
+  {
+    Ykey_5_blank,                      FALSE,  FALSE,
+    EL_EMC_KEY_5,                      ACTION_COLLECTING, -1
+  },
+  {
+    Ykey_6_blank,                      FALSE,  FALSE,
+    EL_EMC_KEY_6,                      ACTION_COLLECTING, -1
+  },
+  {
+    Ykey_7_blank,                      FALSE,  FALSE,
+    EL_EMC_KEY_7,                      ACTION_COLLECTING, -1
+  },
+  {
+    Ykey_8_blank,                      FALSE,  FALSE,
+    EL_EMC_KEY_8,                      ACTION_COLLECTING, -1
+  },
+  {
+    Ylenses_blank,                     FALSE,  FALSE,
+    EL_EMC_LENSES,                     ACTION_COLLECTING, -1
+  },
+  {
+    Ymagnify_blank,                    FALSE,  FALSE,
+    EL_EMC_MAGNIFIER,                  ACTION_COLLECTING, -1
+  },
+  {
+    Ygrass_blank,                      FALSE,  FALSE,
+    EL_EMC_GRASS,                      ACTION_SNAPPING, -1
+  },
+  {
+    Ydirt_blank,                       FALSE,  FALSE,
+    EL_SAND,                           ACTION_SNAPPING, -1
+  },
+
   {
     Xboom_bug,                         FALSE,  FALSE,
     EL_BUG,                            ACTION_EXPLODING, -1
   {
     Xboom_bug,                         FALSE,  FALSE,
     EL_BUG,                            ACTION_EXPLODING, -1