removed pre-processor directive for newly added EM engine elements
[rocksndiamonds.git] / src / game_em / logic.c
index 5b39eab03dbe8189ea3aa54d6e20df8b75ecdb75..5c9a6cb9aa9f36039283d2aa016b1c4314c288e4 100644 (file)
@@ -174,12 +174,6 @@ static boolean player_killed(struct PLAYER *ply)
     case Xblank:
     case Xacid_splash_e:
     case Xacid_splash_w:
-    case Zplayer:
-    case Xdynamite_1:
-    case Xdynamite_2:
-    case Xdynamite_3:
-    case Xdynamite_4:
-#ifdef EM_ENGINE_USE_ADDITIONAL_ELEMENTS
     case Xfake_acid_1:
     case Xfake_acid_2:
     case Xfake_acid_3:
@@ -188,7 +182,11 @@ static boolean player_killed(struct PLAYER *ply)
     case Xfake_acid_6:
     case Xfake_acid_7:
     case Xfake_acid_8:
-#endif
+    case Zplayer:
+    case Xdynamite_1:
+    case Xdynamite_2:
+    case Xdynamite_3:
+    case Xdynamite_4:
       return FALSE;
   }
 
@@ -365,7 +363,6 @@ static boolean player_digfield(struct PLAYER *ply, int dx, int dy)
       case Xacid_splash_w:
        cave[x][y] = Zplayer;
        next[x][y] = Zplayer;
-#ifdef EM_ENGINE_USE_ADDITIONAL_ELEMENTS
       case Xfake_acid_1:
       case Xfake_acid_2:
       case Xfake_acid_3:
@@ -374,7 +371,6 @@ static boolean player_digfield(struct PLAYER *ply, int dx, int dy)
       case Xfake_acid_6:
       case Xfake_acid_7:
       case Xfake_acid_8:
-#endif
        play_element_sound(x, y, SOUND_blank, Xblank);
        ply->anim = PLY_walk_n + anim;
        ply->x = x;
@@ -569,6 +565,14 @@ static boolean player_digfield(struct PLAYER *ply, int dx, int dy)
           case Xblank:
           case Xacid_splash_e:
           case Xacid_splash_w:
+         case Xfake_acid_1:
+         case Xfake_acid_2:
+         case Xfake_acid_3:
+         case Xfake_acid_4:
+         case Xfake_acid_5:
+         case Xfake_acid_6:
+         case Xfake_acid_7:
+         case Xfake_acid_8:
            cave[x+dx][y] = dx > 0 ? Ystone_e : Ystone_w;
            next[x+dx][y] = Xstone_pause;
            goto stone_walk;
@@ -608,6 +612,14 @@ static boolean player_digfield(struct PLAYER *ply, int dx, int dy)
          case Xblank:
           case Xacid_splash_e:
           case Xacid_splash_w:
+         case Xfake_acid_1:
+         case Xfake_acid_2:
+         case Xfake_acid_3:
+         case Xfake_acid_4:
+         case Xfake_acid_5:
+         case Xfake_acid_6:
+         case Xfake_acid_7:
+         case Xfake_acid_8:
            cave[x+dx][y] = dx > 0 ? Ybomb_e : Ybomb_w;
            next[x+dx][y] = Xbomb_pause;
            goto bomb_walk;
@@ -647,6 +659,14 @@ static boolean player_digfield(struct PLAYER *ply, int dx, int dy)
           case Xblank:
           case Xacid_splash_e:
           case Xacid_splash_w:
+         case Xfake_acid_1:
+         case Xfake_acid_2:
+         case Xfake_acid_3:
+         case Xfake_acid_4:
+         case Xfake_acid_5:
+         case Xfake_acid_6:
+         case Xfake_acid_7:
+         case Xfake_acid_8:
            cave[x+dx][y] = dx > 0 ? Ynut_e : Ynut_w;
            next[x+dx][y] = Xnut_pause;
            goto nut_walk;
@@ -686,6 +706,14 @@ static boolean player_digfield(struct PLAYER *ply, int dx, int dy)
           case Xblank:
           case Xacid_splash_e:
           case Xacid_splash_w:
+         case Xfake_acid_1:
+         case Xfake_acid_2:
+         case Xfake_acid_3:
+         case Xfake_acid_4:
+         case Xfake_acid_5:
+         case Xfake_acid_6:
+         case Xfake_acid_7:
+         case Xfake_acid_8:
            cave[x+dx][y] = dx > 0 ? Yspring_e : Yspring_w;
            next[x+dx][y] = dx > 0 ? Xspring_e : Xspring_w;
            goto spring_walk;
@@ -747,6 +775,14 @@ static boolean player_digfield(struct PLAYER *ply, int dx, int dy)
           case Xblank:
           case Xacid_splash_e:
           case Xacid_splash_w:
+         case Xfake_acid_1:
+         case Xfake_acid_2:
+         case Xfake_acid_3:
+         case Xfake_acid_4:
+         case Xfake_acid_5:
+         case Xfake_acid_6:
+         case Xfake_acid_7:
+         case Xfake_acid_8:
            cave[x+dx][y+dy] = (dy ? (dy < 0 ? Yballoon_n : Yballoon_s) :
                                (dx > 0 ? Yballoon_e : Yballoon_w));
            next[x+dx][y+dy] = Xballoon;
@@ -794,6 +830,14 @@ static boolean player_digfield(struct PLAYER *ply, int dx, int dy)
           case Xblank:
           case Xacid_splash_e:
           case Xacid_splash_w:
+         case Xfake_acid_1:
+         case Xfake_acid_2:
+         case Xfake_acid_3:
+         case Xfake_acid_4:
+         case Xfake_acid_5:
+         case Xfake_acid_6:
+         case Xfake_acid_7:
+         case Xfake_acid_8:
            cave[x+dx][y+dy] = (dy ? (dy < 0 ? Yandroid_n : Yandroid_s) :
                                (dx > 0 ? Yandroid_e : Yandroid_w));
            next[x+dx][y+dy] = (dy ? (dy < 0 ? Xandroid_2_n : Xandroid_2_s) :
@@ -889,8 +933,12 @@ static boolean player_digfield(struct PLAYER *ply, int dx, int dy)
        if (!tab_blank[cave[x+dx][y+dy]])
          break;
 
-       cave[x+dx][y+dy] = Zplayer;
-       next[x+dx][y+dy] = Zplayer;
+       if (!tab_fake_acid[cave[x+dx][y+dy]])
+       {
+         cave[x+dx][y+dy] = Zplayer;
+         next[x+dx][y+dy] = Zplayer;
+       }
+
        play_element_sound(x, y, SOUND_door, element);
        ply->anim = PLY_walk_n + anim;
        ply->x = x + dx;
@@ -1292,7 +1340,6 @@ static void Lacid_8(int x, int y)
   next[x][y] = Xacid_1;
 }
 
-#ifdef EM_ENGINE_USE_ADDITIONAL_ELEMENTS
 static void Lfake_acid_1(int x, int y)
 {
   next[x][y] = Xfake_acid_2;
@@ -1332,7 +1379,6 @@ static void Lfake_acid_8(int x, int y)
 {
   next[x][y] = Xfake_acid_1;
 }
-#endif
 
 static void Landroid(int x, int y)
 {
@@ -1744,6 +1790,14 @@ static void Landroid_1_n(int x, int y)
     case Xblank:
     case Xacid_splash_e:
     case Xacid_splash_w:
+    case Xfake_acid_1:
+    case Xfake_acid_2:
+    case Xfake_acid_3:
+    case Xfake_acid_4:
+    case Xfake_acid_5:
+    case Xfake_acid_6:
+    case Xfake_acid_7:
+    case Xfake_acid_8:
       cave[x][y] = Yandroid_nB;
       next[x][y] = Xblank;
       cave[x][y-1] = Yandroid_n;
@@ -1781,6 +1835,14 @@ static void Landroid_2_n(int x, int y)
     case Xblank:
     case Xacid_splash_e:
     case Xacid_splash_w:
+    case Xfake_acid_1:
+    case Xfake_acid_2:
+    case Xfake_acid_3:
+    case Xfake_acid_4:
+    case Xfake_acid_5:
+    case Xfake_acid_6:
+    case Xfake_acid_7:
+    case Xfake_acid_8:
       cave[x][y] = Yandroid_nB;
       next[x][y] = Xblank;
       cave[x][y-1] = Yandroid_n;
@@ -1818,6 +1880,14 @@ static void Landroid_1_e(int x, int y)
     case Xblank:
     case Xacid_splash_e:
     case Xacid_splash_w:
+    case Xfake_acid_1:
+    case Xfake_acid_2:
+    case Xfake_acid_3:
+    case Xfake_acid_4:
+    case Xfake_acid_5:
+    case Xfake_acid_6:
+    case Xfake_acid_7:
+    case Xfake_acid_8:
       cave[x][y] = Yandroid_eB;
       next[x][y] = Xblank;
       cave[x+1][y] = Yandroid_e;
@@ -1855,6 +1925,14 @@ static void Landroid_2_e(int x, int y)
     case Xblank:
     case Xacid_splash_e:
     case Xacid_splash_w:
+    case Xfake_acid_1:
+    case Xfake_acid_2:
+    case Xfake_acid_3:
+    case Xfake_acid_4:
+    case Xfake_acid_5:
+    case Xfake_acid_6:
+    case Xfake_acid_7:
+    case Xfake_acid_8:
       cave[x][y] = Yandroid_eB;
       next[x][y] = Xblank;
       cave[x+1][y] = Yandroid_e;
@@ -1892,6 +1970,14 @@ static void Landroid_1_s(int x, int y)
     case Xblank:
     case Xacid_splash_e:
     case Xacid_splash_w:
+    case Xfake_acid_1:
+    case Xfake_acid_2:
+    case Xfake_acid_3:
+    case Xfake_acid_4:
+    case Xfake_acid_5:
+    case Xfake_acid_6:
+    case Xfake_acid_7:
+    case Xfake_acid_8:
       cave[x][y] = Yandroid_sB;
       next[x][y] = Xblank;
       cave[x][y+1] = Yandroid_s;
@@ -1929,6 +2015,14 @@ static void Landroid_2_s(int x, int y)
     case Xblank:
     case Xacid_splash_e:
     case Xacid_splash_w:
+    case Xfake_acid_1:
+    case Xfake_acid_2:
+    case Xfake_acid_3:
+    case Xfake_acid_4:
+    case Xfake_acid_5:
+    case Xfake_acid_6:
+    case Xfake_acid_7:
+    case Xfake_acid_8:
       cave[x][y] = Yandroid_sB;
       next[x][y] = Xblank;
       cave[x][y+1] = Yandroid_s;
@@ -1966,6 +2060,14 @@ static void Landroid_1_w(int x, int y)
     case Xblank:
     case Xacid_splash_e:
     case Xacid_splash_w:
+    case Xfake_acid_1:
+    case Xfake_acid_2:
+    case Xfake_acid_3:
+    case Xfake_acid_4:
+    case Xfake_acid_5:
+    case Xfake_acid_6:
+    case Xfake_acid_7:
+    case Xfake_acid_8:
       cave[x][y] = Yandroid_wB;
       next[x][y] = Xblank;
       cave[x-1][y] = Yandroid_w;
@@ -2003,6 +2105,14 @@ static void Landroid_2_w(int x, int y)
     case Xblank:
     case Xacid_splash_e:
     case Xacid_splash_w:
+    case Xfake_acid_1:
+    case Xfake_acid_2:
+    case Xfake_acid_3:
+    case Xfake_acid_4:
+    case Xfake_acid_5:
+    case Xfake_acid_6:
+    case Xfake_acid_7:
+    case Xfake_acid_8:
       cave[x][y] = Yandroid_wB;
       next[x][y] = Xblank;
       cave[x-1][y] = Yandroid_w;
@@ -2072,6 +2182,14 @@ static void Leater_n(int x, int y)
     case Xblank:
     case Xacid_splash_e:
     case Xacid_splash_w:
+    case Xfake_acid_1:
+    case Xfake_acid_2:
+    case Xfake_acid_3:
+    case Xfake_acid_4:
+    case Xfake_acid_5:
+    case Xfake_acid_6:
+    case Xfake_acid_7:
+    case Xfake_acid_8:
     case Xplant:
     case Yplant:
     case Zplayer:
@@ -2144,6 +2262,14 @@ static void Leater_e(int x, int y)
     case Xblank:
     case Xacid_splash_e:
     case Xacid_splash_w:
+    case Xfake_acid_1:
+    case Xfake_acid_2:
+    case Xfake_acid_3:
+    case Xfake_acid_4:
+    case Xfake_acid_5:
+    case Xfake_acid_6:
+    case Xfake_acid_7:
+    case Xfake_acid_8:
     case Xplant:
     case Yplant:
     case Zplayer:
@@ -2216,6 +2342,14 @@ static void Leater_s(int x, int y)
     case Xblank:
     case Xacid_splash_e:
     case Xacid_splash_w:
+    case Xfake_acid_1:
+    case Xfake_acid_2:
+    case Xfake_acid_3:
+    case Xfake_acid_4:
+    case Xfake_acid_5:
+    case Xfake_acid_6:
+    case Xfake_acid_7:
+    case Xfake_acid_8:
     case Xplant:
     case Yplant:
     case Zplayer:
@@ -2288,6 +2422,14 @@ static void Leater_w(int x, int y)
     case Xblank:
     case Xacid_splash_e:
     case Xacid_splash_w:
+    case Xfake_acid_1:
+    case Xfake_acid_2:
+    case Xfake_acid_3:
+    case Xfake_acid_4:
+    case Xfake_acid_5:
+    case Xfake_acid_6:
+    case Xfake_acid_7:
+    case Xfake_acid_8:
     case Xplant:
     case Yplant:
     case Zplayer:
@@ -2344,6 +2486,14 @@ static void Lalien(int x, int y)
        case Xblank:
        case Xacid_splash_e:
        case Xacid_splash_w:
+       case Xfake_acid_1:
+       case Xfake_acid_2:
+       case Xfake_acid_3:
+       case Xfake_acid_4:
+       case Xfake_acid_5:
+       case Xfake_acid_6:
+       case Xfake_acid_7:
+       case Xfake_acid_8:
        case Xplant:
        case Yplant:
        case Zplayer:
@@ -2379,6 +2529,14 @@ static void Lalien(int x, int y)
        case Xblank:
        case Xacid_splash_e:
        case Xacid_splash_w:
+       case Xfake_acid_1:
+       case Xfake_acid_2:
+       case Xfake_acid_3:
+       case Xfake_acid_4:
+       case Xfake_acid_5:
+       case Xfake_acid_6:
+       case Xfake_acid_7:
+       case Xfake_acid_8:
        case Xplant:
        case Yplant:
        case Zplayer:
@@ -2417,6 +2575,14 @@ static void Lalien(int x, int y)
        case Xblank:
        case Xacid_splash_e:
        case Xacid_splash_w:
+       case Xfake_acid_1:
+       case Xfake_acid_2:
+       case Xfake_acid_3:
+       case Xfake_acid_4:
+       case Xfake_acid_5:
+       case Xfake_acid_6:
+       case Xfake_acid_7:
+       case Xfake_acid_8:
        case Xplant:
        case Yplant:
        case Zplayer:
@@ -2452,6 +2618,14 @@ static void Lalien(int x, int y)
        case Xblank:
        case Xacid_splash_e:
        case Xacid_splash_w:
+       case Xfake_acid_1:
+       case Xfake_acid_2:
+       case Xfake_acid_3:
+       case Xfake_acid_4:
+       case Xfake_acid_5:
+       case Xfake_acid_6:
+       case Xfake_acid_7:
+       case Xfake_acid_8:
        case Xplant:
        case Yplant:
        case Zplayer:
@@ -2495,6 +2669,14 @@ static void Lbug_n(int x, int y)
     case Xblank:
     case Xacid_splash_e:
     case Xacid_splash_w:
+    case Xfake_acid_1:
+    case Xfake_acid_2:
+    case Xfake_acid_3:
+    case Xfake_acid_4:
+    case Xfake_acid_5:
+    case Xfake_acid_6:
+    case Xfake_acid_7:
+    case Xfake_acid_8:
     case Xplant:
     case Yplant:
     case Zplayer:
@@ -2547,6 +2729,14 @@ static void Lbug_1_n(int x, int y)
     case Xblank:
     case Xacid_splash_e:
     case Xacid_splash_w:
+    case Xfake_acid_1:
+    case Xfake_acid_2:
+    case Xfake_acid_3:
+    case Xfake_acid_4:
+    case Xfake_acid_5:
+    case Xfake_acid_6:
+    case Xfake_acid_7:
+    case Xfake_acid_8:
     case Xplant:
     case Yplant:
     case Xacid_1:
@@ -2591,6 +2781,14 @@ static void Lbug_e(int x, int y)
     case Xblank:
     case Xacid_splash_e:
     case Xacid_splash_w:
+    case Xfake_acid_1:
+    case Xfake_acid_2:
+    case Xfake_acid_3:
+    case Xfake_acid_4:
+    case Xfake_acid_5:
+    case Xfake_acid_6:
+    case Xfake_acid_7:
+    case Xfake_acid_8:
     case Xplant:
     case Yplant:
     case Zplayer:
@@ -2643,6 +2841,14 @@ static void Lbug_1_e(int x, int y)
     case Xblank:
     case Xacid_splash_e:
     case Xacid_splash_w:
+    case Xfake_acid_1:
+    case Xfake_acid_2:
+    case Xfake_acid_3:
+    case Xfake_acid_4:
+    case Xfake_acid_5:
+    case Xfake_acid_6:
+    case Xfake_acid_7:
+    case Xfake_acid_8:
     case Xplant:
     case Yplant:
     case Xacid_1:
@@ -2687,6 +2893,14 @@ static void Lbug_s(int x, int y)
     case Xblank:
     case Xacid_splash_e:
     case Xacid_splash_w:
+    case Xfake_acid_1:
+    case Xfake_acid_2:
+    case Xfake_acid_3:
+    case Xfake_acid_4:
+    case Xfake_acid_5:
+    case Xfake_acid_6:
+    case Xfake_acid_7:
+    case Xfake_acid_8:
     case Xplant:
     case Yplant:
     case Zplayer:
@@ -2739,6 +2953,14 @@ static void Lbug_1_s(int x, int y)
     case Xblank:
     case Xacid_splash_e:
     case Xacid_splash_w:
+    case Xfake_acid_1:
+    case Xfake_acid_2:
+    case Xfake_acid_3:
+    case Xfake_acid_4:
+    case Xfake_acid_5:
+    case Xfake_acid_6:
+    case Xfake_acid_7:
+    case Xfake_acid_8:
     case Xplant:
     case Yplant:
     case Xacid_1:
@@ -2783,6 +3005,14 @@ static void Lbug_w(int x, int y)
     case Xblank:
     case Xacid_splash_e:
     case Xacid_splash_w:
+    case Xfake_acid_1:
+    case Xfake_acid_2:
+    case Xfake_acid_3:
+    case Xfake_acid_4:
+    case Xfake_acid_5:
+    case Xfake_acid_6:
+    case Xfake_acid_7:
+    case Xfake_acid_8:
     case Xplant:
     case Yplant:
     case Zplayer:
@@ -2835,6 +3065,14 @@ static void Lbug_1_w(int x, int y)
     case Xblank:
     case Xacid_splash_e:
     case Xacid_splash_w:
+    case Xfake_acid_1:
+    case Xfake_acid_2:
+    case Xfake_acid_3:
+    case Xfake_acid_4:
+    case Xfake_acid_5:
+    case Xfake_acid_6:
+    case Xfake_acid_7:
+    case Xfake_acid_8:
     case Xplant:
     case Yplant:
     case Xacid_1:
@@ -2879,6 +3117,14 @@ static void Ltank_n(int x, int y)
     case Xblank:
     case Xacid_splash_e:
     case Xacid_splash_w:
+    case Xfake_acid_1:
+    case Xfake_acid_2:
+    case Xfake_acid_3:
+    case Xfake_acid_4:
+    case Xfake_acid_5:
+    case Xfake_acid_6:
+    case Xfake_acid_7:
+    case Xfake_acid_8:
     case Xplant:
     case Yplant:
     case Zplayer:
@@ -2931,6 +3177,14 @@ static void Ltank_1_n(int x, int y)
     case Xblank:
     case Xacid_splash_e:
     case Xacid_splash_w:
+    case Xfake_acid_1:
+    case Xfake_acid_2:
+    case Xfake_acid_3:
+    case Xfake_acid_4:
+    case Xfake_acid_5:
+    case Xfake_acid_6:
+    case Xfake_acid_7:
+    case Xfake_acid_8:
     case Xplant:
     case Yplant:
     case Xacid_1:
@@ -2975,6 +3229,14 @@ static void Ltank_e(int x, int y)
     case Xblank:
     case Xacid_splash_e:
     case Xacid_splash_w:
+    case Xfake_acid_1:
+    case Xfake_acid_2:
+    case Xfake_acid_3:
+    case Xfake_acid_4:
+    case Xfake_acid_5:
+    case Xfake_acid_6:
+    case Xfake_acid_7:
+    case Xfake_acid_8:
     case Xplant:
     case Yplant:
     case Zplayer:
@@ -3027,6 +3289,14 @@ static void Ltank_1_e(int x, int y)
     case Xblank:
     case Xacid_splash_e:
     case Xacid_splash_w:
+    case Xfake_acid_1:
+    case Xfake_acid_2:
+    case Xfake_acid_3:
+    case Xfake_acid_4:
+    case Xfake_acid_5:
+    case Xfake_acid_6:
+    case Xfake_acid_7:
+    case Xfake_acid_8:
     case Xplant:
     case Yplant:
     case Xacid_1:
@@ -3071,6 +3341,14 @@ static void Ltank_s(int x, int y)
     case Xblank:
     case Xacid_splash_e:
     case Xacid_splash_w:
+    case Xfake_acid_1:
+    case Xfake_acid_2:
+    case Xfake_acid_3:
+    case Xfake_acid_4:
+    case Xfake_acid_5:
+    case Xfake_acid_6:
+    case Xfake_acid_7:
+    case Xfake_acid_8:
     case Xplant:
     case Yplant:
     case Zplayer:
@@ -3123,6 +3401,14 @@ static void Ltank_1_s(int x, int y)
     case Xblank:
     case Xacid_splash_e:
     case Xacid_splash_w:
+    case Xfake_acid_1:
+    case Xfake_acid_2:
+    case Xfake_acid_3:
+    case Xfake_acid_4:
+    case Xfake_acid_5:
+    case Xfake_acid_6:
+    case Xfake_acid_7:
+    case Xfake_acid_8:
     case Xplant:
     case Yplant:
     case Xacid_1:
@@ -3167,6 +3453,14 @@ static void Ltank_w(int x, int y)
     case Xblank:
     case Xacid_splash_e:
     case Xacid_splash_w:
+    case Xfake_acid_1:
+    case Xfake_acid_2:
+    case Xfake_acid_3:
+    case Xfake_acid_4:
+    case Xfake_acid_5:
+    case Xfake_acid_6:
+    case Xfake_acid_7:
+    case Xfake_acid_8:
     case Xplant:
     case Yplant:
     case Zplayer:
@@ -3219,6 +3513,14 @@ static void Ltank_1_w(int x, int y)
     case Xblank:
     case Xacid_splash_e:
     case Xacid_splash_w:
+    case Xfake_acid_1:
+    case Xfake_acid_2:
+    case Xfake_acid_3:
+    case Xfake_acid_4:
+    case Xfake_acid_5:
+    case Xfake_acid_6:
+    case Xfake_acid_7:
+    case Xfake_acid_8:
     case Xplant:
     case Yplant:
     case Xacid_1:
@@ -3263,6 +3565,14 @@ static void Lemerald(int x, int y)
     case Xblank:
     case Xacid_splash_e:
     case Xacid_splash_w:
+    case Xfake_acid_1:
+    case Xfake_acid_2:
+    case Xfake_acid_3:
+    case Xfake_acid_4:
+    case Xfake_acid_5:
+    case Xfake_acid_6:
+    case Xfake_acid_7:
+    case Xfake_acid_8:
       cave[x][y] = Yemerald_sB;
       next[x][y] = Xblank;
       cave[x][y+1] = Yemerald_s;
@@ -3398,6 +3708,14 @@ static void Lemerald_pause(int x, int y)
     case Xblank:
     case Xacid_splash_e:
     case Xacid_splash_w:
+    case Xfake_acid_1:
+    case Xfake_acid_2:
+    case Xfake_acid_3:
+    case Xfake_acid_4:
+    case Xfake_acid_5:
+    case Xfake_acid_6:
+    case Xfake_acid_7:
+    case Xfake_acid_8:
       cave[x][y] = Yemerald_sB;
       next[x][y] = Xblank;
       cave[x][y+1] = Yemerald_s;
@@ -3435,6 +3753,14 @@ static void Lemerald_fall(int x, int y)
     case Xblank:
     case Xacid_splash_e:
     case Xacid_splash_w:
+    case Xfake_acid_1:
+    case Xfake_acid_2:
+    case Xfake_acid_3:
+    case Xfake_acid_4:
+    case Xfake_acid_5:
+    case Xfake_acid_6:
+    case Xfake_acid_7:
+    case Xfake_acid_8:
     case Zplayer:
       cave[x][y] = Yemerald_sB;
       next[x][y] = Xblank;
@@ -3490,6 +3816,14 @@ static void Ldiamond(int x, int y)
     case Xblank:
     case Xacid_splash_e:
     case Xacid_splash_w:
+    case Xfake_acid_1:
+    case Xfake_acid_2:
+    case Xfake_acid_3:
+    case Xfake_acid_4:
+    case Xfake_acid_5:
+    case Xfake_acid_6:
+    case Xfake_acid_7:
+    case Xfake_acid_8:
       cave[x][y] = Ydiamond_sB;
       next[x][y] = Xblank;
       cave[x][y+1] = Ydiamond_s;
@@ -3625,6 +3959,14 @@ static void Ldiamond_pause(int x, int y)
     case Xblank:
     case Xacid_splash_e:
     case Xacid_splash_w:
+    case Xfake_acid_1:
+    case Xfake_acid_2:
+    case Xfake_acid_3:
+    case Xfake_acid_4:
+    case Xfake_acid_5:
+    case Xfake_acid_6:
+    case Xfake_acid_7:
+    case Xfake_acid_8:
       cave[x][y] = Ydiamond_sB;
       next[x][y] = Xblank;
       cave[x][y+1] = Ydiamond_s;
@@ -3662,6 +4004,14 @@ static void Ldiamond_fall(int x, int y)
     case Xblank:
     case Xacid_splash_e:
     case Xacid_splash_w:
+    case Xfake_acid_1:
+    case Xfake_acid_2:
+    case Xfake_acid_3:
+    case Xfake_acid_4:
+    case Xfake_acid_5:
+    case Xfake_acid_6:
+    case Xfake_acid_7:
+    case Xfake_acid_8:
     case Zplayer:
       cave[x][y] = Ydiamond_sB;
       next[x][y] = Xblank;
@@ -3717,9 +4067,6 @@ static void Lstone(int x, int y)
     case Xblank:
     case Xacid_splash_e:
     case Xacid_splash_w:
-    case Xplant:
-    case Yplant:
-#ifdef EM_ENGINE_USE_ADDITIONAL_ELEMENTS
     case Xfake_acid_1:
     case Xfake_acid_2:
     case Xfake_acid_3:
@@ -3728,7 +4075,8 @@ static void Lstone(int x, int y)
     case Xfake_acid_6:
     case Xfake_acid_7:
     case Xfake_acid_8:
-#endif
+    case Xplant:
+    case Yplant:
       cave[x][y] = Ystone_sB;
       next[x][y] = Xblank;
       cave[x][y+1] = Ystone_s;
@@ -3855,7 +4203,6 @@ static void Lstone_pause(int x, int y)
     case Xblank:
     case Xacid_splash_e:
     case Xacid_splash_w:
-#ifdef EM_ENGINE_USE_ADDITIONAL_ELEMENTS
     case Xfake_acid_1:
     case Xfake_acid_2:
     case Xfake_acid_3:
@@ -3864,7 +4211,6 @@ static void Lstone_pause(int x, int y)
     case Xfake_acid_6:
     case Xfake_acid_7:
     case Xfake_acid_8:
-#endif
       cave[x][y] = Ystone_sB;
       next[x][y] = Xblank;
       cave[x][y+1] = Ystone_s;
@@ -3902,8 +4248,6 @@ static void Lstone_fall(int x, int y)
     case Xblank:
     case Xacid_splash_e:
     case Xacid_splash_w:
-    case Zplayer:
-#ifdef EM_ENGINE_USE_ADDITIONAL_ELEMENTS
     case Xfake_acid_1:
     case Xfake_acid_2:
     case Xfake_acid_3:
@@ -3912,7 +4256,7 @@ static void Lstone_fall(int x, int y)
     case Xfake_acid_6:
     case Xfake_acid_7:
     case Xfake_acid_8:
-#endif
+    case Zplayer:
       cave[x][y] = Ystone_sB;
       next[x][y] = Xblank;
       cave[x][y+1] = Ystone_s;
@@ -3981,6 +4325,14 @@ static void Lstone_fall(int x, int y)
          case Xblank:
          case Xacid_splash_e:
          case Xacid_splash_w:
+         case Xfake_acid_1:
+         case Xfake_acid_2:
+         case Xfake_acid_3:
+         case Xfake_acid_4:
+         case Xfake_acid_5:
+         case Xfake_acid_6:
+         case Xfake_acid_7:
+         case Xfake_acid_8:
          case Xalien:
          case Xalien_pause:
            cave[x][y+1] = Xspring_e;
@@ -3998,6 +4350,14 @@ static void Lstone_fall(int x, int y)
          case Xblank:
          case Xacid_splash_e:
          case Xacid_splash_w:
+         case Xfake_acid_1:
+         case Xfake_acid_2:
+         case Xfake_acid_3:
+         case Xfake_acid_4:
+         case Xfake_acid_5:
+         case Xfake_acid_6:
+         case Xfake_acid_7:
+         case Xfake_acid_8:
          case Xalien:
          case Xalien_pause:
            cave[x][y+1] = Xspring_w;
@@ -4036,6 +4396,14 @@ static void Lstone_fall(int x, int y)
        case Xblank:
        case Xacid_splash_e:
        case Xacid_splash_w:
+       case Xfake_acid_1:
+       case Xfake_acid_2:
+       case Xfake_acid_3:
+       case Xfake_acid_4:
+       case Xfake_acid_5:
+       case Xfake_acid_6:
+       case Xfake_acid_7:
+       case Xfake_acid_8:
        case Zplayer:
        case Xbug_1_n:
        case Xbug_1_e:
@@ -4129,6 +4497,14 @@ static void Lbomb(int x, int y)
     case Xblank:
     case Xacid_splash_e:
     case Xacid_splash_w:
+    case Xfake_acid_1:
+    case Xfake_acid_2:
+    case Xfake_acid_3:
+    case Xfake_acid_4:
+    case Xfake_acid_5:
+    case Xfake_acid_6:
+    case Xfake_acid_7:
+    case Xfake_acid_8:
       cave[x][y] = Ybomb_sB;
       next[x][y] = Xblank;
       cave[x][y+1] = Ybomb_s;
@@ -4246,6 +4622,14 @@ static void Lbomb_pause(int x, int y)
     case Xblank:
     case Xacid_splash_e:
     case Xacid_splash_w:
+    case Xfake_acid_1:
+    case Xfake_acid_2:
+    case Xfake_acid_3:
+    case Xfake_acid_4:
+    case Xfake_acid_5:
+    case Xfake_acid_6:
+    case Xfake_acid_7:
+    case Xfake_acid_8:
       cave[x][y] = Ybomb_sB;
       next[x][y] = Xblank;
       cave[x][y+1] = Ybomb_s;
@@ -4283,6 +4667,14 @@ static void Lbomb_fall(int x, int y)
     case Xblank:
     case Xacid_splash_e:
     case Xacid_splash_w:
+    case Xfake_acid_1:
+    case Xfake_acid_2:
+    case Xfake_acid_3:
+    case Xfake_acid_4:
+    case Xfake_acid_5:
+    case Xfake_acid_6:
+    case Xfake_acid_7:
+    case Xfake_acid_8:
       cave[x][y] = Ybomb_sB;
       next[x][y] = Xblank;
       cave[x][y+1] = Ybomb_s;
@@ -4320,6 +4712,14 @@ static void Lnut(int x, int y)
     case Xblank:
     case Xacid_splash_e:
     case Xacid_splash_w:
+    case Xfake_acid_1:
+    case Xfake_acid_2:
+    case Xfake_acid_3:
+    case Xfake_acid_4:
+    case Xfake_acid_5:
+    case Xfake_acid_6:
+    case Xfake_acid_7:
+    case Xfake_acid_8:
       cave[x][y] = Ynut_sB;
       next[x][y] = Xblank;
       cave[x][y+1] = Ynut_s;
@@ -4437,6 +4837,14 @@ static void Lnut_pause(int x, int y)
     case Xblank:
     case Xacid_splash_e:
     case Xacid_splash_w:
+    case Xfake_acid_1:
+    case Xfake_acid_2:
+    case Xfake_acid_3:
+    case Xfake_acid_4:
+    case Xfake_acid_5:
+    case Xfake_acid_6:
+    case Xfake_acid_7:
+    case Xfake_acid_8:
       cave[x][y] = Ynut_sB;
       next[x][y] = Xblank;
       cave[x][y+1] = Ynut_s;
@@ -4474,6 +4882,14 @@ static void Lnut_fall(int x, int y)
     case Xblank:
     case Xacid_splash_e:
     case Xacid_splash_w:
+    case Xfake_acid_1:
+    case Xfake_acid_2:
+    case Xfake_acid_3:
+    case Xfake_acid_4:
+    case Xfake_acid_5:
+    case Xfake_acid_6:
+    case Xfake_acid_7:
+    case Xfake_acid_8:
     case Zplayer:
       cave[x][y] = Ynut_sB;
       next[x][y] = Xblank;
@@ -4513,6 +4929,14 @@ static void Lspring(int x, int y)
     case Xblank:
     case Xacid_splash_e:
     case Xacid_splash_w:
+    case Xfake_acid_1:
+    case Xfake_acid_2:
+    case Xfake_acid_3:
+    case Xfake_acid_4:
+    case Xfake_acid_5:
+    case Xfake_acid_6:
+    case Xfake_acid_7:
+    case Xfake_acid_8:
     case Xplant:
     case Yplant:
       cave[x][y] = Yspring_sB;
@@ -4660,6 +5084,14 @@ static void Lspring_pause(int x, int y)
     case Xblank:
     case Xacid_splash_e:
     case Xacid_splash_w:
+    case Xfake_acid_1:
+    case Xfake_acid_2:
+    case Xfake_acid_3:
+    case Xfake_acid_4:
+    case Xfake_acid_5:
+    case Xfake_acid_6:
+    case Xfake_acid_7:
+    case Xfake_acid_8:
       cave[x][y] = Yspring_sB;
       next[x][y] = Xblank;
       cave[x][y+1] = Yspring_s;
@@ -4697,6 +5129,14 @@ static void Lspring_e(int x, int y)
     case Xblank:
     case Xacid_splash_e:
     case Xacid_splash_w:
+    case Xfake_acid_1:
+    case Xfake_acid_2:
+    case Xfake_acid_3:
+    case Xfake_acid_4:
+    case Xfake_acid_5:
+    case Xfake_acid_6:
+    case Xfake_acid_7:
+    case Xfake_acid_8:
       cave[x][y] = Yspring_sB;
       next[x][y] = Xblank;
       cave[x][y+1] = Yspring_s;
@@ -4729,6 +5169,14 @@ static void Lspring_e(int x, int y)
     case Xblank:
     case Xacid_splash_e:
     case Xacid_splash_w:
+    case Xfake_acid_1:
+    case Xfake_acid_2:
+    case Xfake_acid_3:
+    case Xfake_acid_4:
+    case Xfake_acid_5:
+    case Xfake_acid_6:
+    case Xfake_acid_7:
+    case Xfake_acid_8:
     case Yalien_nB:
     case Yalien_eB:
     case Yalien_sB:
@@ -4792,6 +5240,14 @@ static void Lspring_w(int x, int y)
     case Xblank:
     case Xacid_splash_e:
     case Xacid_splash_w:
+    case Xfake_acid_1:
+    case Xfake_acid_2:
+    case Xfake_acid_3:
+    case Xfake_acid_4:
+    case Xfake_acid_5:
+    case Xfake_acid_6:
+    case Xfake_acid_7:
+    case Xfake_acid_8:
       cave[x][y] = Yspring_sB;
       next[x][y] = Xblank;
       cave[x][y+1] = Yspring_s;
@@ -4824,6 +5280,14 @@ static void Lspring_w(int x, int y)
     case Xblank:
     case Xacid_splash_e:
     case Xacid_splash_w:
+    case Xfake_acid_1:
+    case Xfake_acid_2:
+    case Xfake_acid_3:
+    case Xfake_acid_4:
+    case Xfake_acid_5:
+    case Xfake_acid_6:
+    case Xfake_acid_7:
+    case Xfake_acid_8:
     case Yalien_nB:
     case Yalien_eB:
     case Yalien_sB:
@@ -4887,6 +5351,14 @@ static void Lspring_fall(int x, int y)
     case Xblank:
     case Xacid_splash_e:
     case Xacid_splash_w:
+    case Xfake_acid_1:
+    case Xfake_acid_2:
+    case Xfake_acid_3:
+    case Xfake_acid_4:
+    case Xfake_acid_5:
+    case Xfake_acid_6:
+    case Xfake_acid_7:
+    case Xfake_acid_8:
     case Zplayer:
       cave[x][y] = Yspring_sB;
       next[x][y] = Xblank;
@@ -5358,6 +5830,14 @@ static void Lballoon(int x, int y)
        case Xblank:
        case Xacid_splash_e:
        case Xacid_splash_w:
+       case Xfake_acid_1:
+       case Xfake_acid_2:
+       case Xfake_acid_3:
+       case Xfake_acid_4:
+       case Xfake_acid_5:
+       case Xfake_acid_6:
+       case Xfake_acid_7:
+       case Xfake_acid_8:
          cave[x][y] = Yballoon_nB;
          next[x][y] = Xblank;
          cave[x][y-1] = Yballoon_n;
@@ -5389,6 +5869,14 @@ static void Lballoon(int x, int y)
        case Xblank:
        case Xacid_splash_e:
        case Xacid_splash_w:
+       case Xfake_acid_1:
+       case Xfake_acid_2:
+       case Xfake_acid_3:
+       case Xfake_acid_4:
+       case Xfake_acid_5:
+       case Xfake_acid_6:
+       case Xfake_acid_7:
+       case Xfake_acid_8:
          cave[x][y] = Yballoon_eB;
          next[x][y] = Xblank;
          cave[x+1][y] = Yballoon_e;
@@ -5420,6 +5908,14 @@ static void Lballoon(int x, int y)
        case Xblank:
        case Xacid_splash_e:
        case Xacid_splash_w:
+       case Xfake_acid_1:
+       case Xfake_acid_2:
+       case Xfake_acid_3:
+       case Xfake_acid_4:
+       case Xfake_acid_5:
+       case Xfake_acid_6:
+       case Xfake_acid_7:
+       case Xfake_acid_8:
          cave[x][y] = Yballoon_sB;
          next[x][y] = Xblank;
          cave[x][y+1] = Yballoon_s;
@@ -5451,6 +5947,14 @@ static void Lballoon(int x, int y)
        case Xblank:
        case Xacid_splash_e:
        case Xacid_splash_w:
+       case Xfake_acid_1:
+       case Xfake_acid_2:
+       case Xfake_acid_3:
+       case Xfake_acid_4:
+       case Xfake_acid_5:
+       case Xfake_acid_6:
+       case Xfake_acid_7:
+       case Xfake_acid_8:
          cave[x][y] = Yballoon_wB;
          next[x][y] = Xblank;
          cave[x-1][y] = Yballoon_w;
@@ -5661,6 +6165,14 @@ static void Ldrip_fall(int x, int y)
     case Xblank:
     case Xacid_splash_e:
     case Xacid_splash_w:
+    case Xfake_acid_1:
+    case Xfake_acid_2:
+    case Xfake_acid_3:
+    case Xfake_acid_4:
+    case Xfake_acid_5:
+    case Xfake_acid_6:
+    case Xfake_acid_7:
+    case Xfake_acid_8:
     case Xplant:
     case Yplant:
     case Zplayer:
@@ -5765,6 +6277,14 @@ static void Lsand_stone(int x, int y)
     case Xblank:
     case Xacid_splash_e:
     case Xacid_splash_w:
+    case Xfake_acid_1:
+    case Xfake_acid_2:
+    case Xfake_acid_3:
+    case Xfake_acid_4:
+    case Xfake_acid_5:
+    case Xfake_acid_6:
+    case Xfake_acid_7:
+    case Xfake_acid_8:
       cave[x][y] = Xsand_stonesand_quickout_1;
       next[x][y] = Xsand_stonesand_quickout_2;
       cave[x][y+1] = Xsand_stoneout_1;
@@ -5867,7 +6387,6 @@ static void Lsand_stoneout_2(int x, int y)
   next[x][y] = Xstone_fall;
 }
 
-#ifdef EM_ENGINE_USE_ADDITIONAL_ELEMENTS
 static void Lsand_stonesand_quickout_1(int x, int y)
 {
   next[x][y] = Xsand_stonesand_quickout_2;
@@ -5877,7 +6396,6 @@ static void Lsand_stonesand_quickout_2(int x, int y)
 {
   next[x][y] = Xsand;
 }
-#endif
 
 static void Lslidewall_ns(int x, int y)
 {
@@ -5966,6 +6484,14 @@ static void Lamoeba(int x, int y)
     case Xblank:
     case Xacid_splash_e:
     case Xacid_splash_w:
+    case Xfake_acid_1:
+    case Xfake_acid_2:
+    case Xfake_acid_3:
+    case Xfake_acid_4:
+    case Xfake_acid_5:
+    case Xfake_acid_6:
+    case Xfake_acid_7:
+    case Xfake_acid_8:
     case Xgrass:
     case Xdirt:
     case Xsand:
@@ -6047,7 +6573,6 @@ static void handle_tile(int x, int y)
     case Xacid_7:              Lacid_7(x, y);                  break;
     case Xacid_8:              Lacid_8(x, y);                  break;
 
-#ifdef EM_ENGINE_USE_ADDITIONAL_ELEMENTS
     case Xfake_acid_1:         Lfake_acid_1(x, y);             break;
     case Xfake_acid_2:         Lfake_acid_2(x, y);             break;
     case Xfake_acid_3:         Lfake_acid_3(x, y);             break;
@@ -6056,7 +6581,6 @@ static void handle_tile(int x, int y)
     case Xfake_acid_6:         Lfake_acid_6(x, y);             break;
     case Xfake_acid_7:         Lfake_acid_7(x, y);             break;
     case Xfake_acid_8:         Lfake_acid_8(x, y);             break;
-#endif
 
     case Xandroid:             Landroid(x, y);                 break;
     case Xandroid_1_n:         Landroid_1_n(x, y);             break;
@@ -6182,10 +6706,8 @@ static void handle_tile(int x, int y)
     case Xsand_stonesand_4:    Lsand_stonesand_4(x, y);        break;
     case Xsand_stoneout_1:     Lsand_stoneout_1(x, y);         break;
     case Xsand_stoneout_2:     Lsand_stoneout_2(x, y);         break;
-#ifdef EM_ENGINE_USE_ADDITIONAL_ELEMENTS
     case Xsand_stonesand_quickout_1: Lsand_stonesand_quickout_1(x, y); break;
     case Xsand_stonesand_quickout_2: Lsand_stonesand_quickout_2(x, y); break;
-#endif
 
     case Xslidewall_ns:                Lslidewall_ns(x, y);            break;
     case Xslidewall_ew:                Lslidewall_ew(x, y);            break;