X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Fgame_em%2Flogic.c;h=53a9f23bf19992a7759ab92ad6339e2e6454609a;hb=54fc619a9b7dcd29bc8f65fff83e6995378f8ed9;hp=6183555a4f7d1a19648817a1b4e37166aba96470;hpb=00c609128587f2224bf5d00272806c5f25a864a5;p=rocksndiamonds.git diff --git a/src/game_em/logic.c b/src/game_em/logic.c index 6183555a..53a9f23b 100644 --- a/src/game_em/logic.c +++ b/src/game_em/logic.c @@ -85,7 +85,7 @@ static boolean player_killed(struct PLAYER *ply) if (lev.killed_out_of_time && setup.time_limit) return TRUE; - switch(cave[x][y-1]) + switch (cave[x][y-1]) { case Xbug_1_n: case Xbug_1_e: @@ -106,7 +106,7 @@ static boolean player_killed(struct PLAYER *ply) return TRUE; } - switch(cave[x+1][y]) + switch (cave[x+1][y]) { case Xbug_1_n: case Xbug_1_e: @@ -127,7 +127,7 @@ static boolean player_killed(struct PLAYER *ply) return TRUE; } - switch(cave[x][y+1]) + switch (cave[x][y+1]) { case Xbug_1_n: case Xbug_1_e: @@ -148,7 +148,7 @@ static boolean player_killed(struct PLAYER *ply) return TRUE; } - switch(cave[x-1][y]) + switch (cave[x-1][y]) { case Xbug_1_n: case Xbug_1_e: @@ -169,17 +169,11 @@ static boolean player_killed(struct PLAYER *ply) return TRUE; } - switch(cave[x][y]) + switch (cave[x][y]) { 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 Xsplash_e: + case Xsplash_w: 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; } @@ -202,7 +200,7 @@ static void kill_player(struct PLAYER *ply) ply->alive = 0; - switch(cave[x][y-1]) + switch (cave[x][y-1]) { case Xbug_1_n: case Xbug_1_e: @@ -227,7 +225,7 @@ static void kill_player(struct PLAYER *ply) break; } - switch(cave[x+1][y]) + switch (cave[x+1][y]) { case Xbug_1_n: case Xbug_1_e: @@ -252,7 +250,7 @@ static void kill_player(struct PLAYER *ply) break; } - switch(cave[x][y+1]) + switch (cave[x][y+1]) { case Xbug_1_n: case Xbug_1_e: @@ -277,7 +275,7 @@ static void kill_player(struct PLAYER *ply) break; } - switch(cave[x-1][y]) + switch (cave[x-1][y]) { case Xbug_1_n: case Xbug_1_e: @@ -302,7 +300,7 @@ static void kill_player(struct PLAYER *ply) break; } - switch(cave[x][y]) + switch (cave[x][y]) { case Xexit_1: case Xexit_2: @@ -317,7 +315,7 @@ static void kill_player(struct PLAYER *ply) break; } - switch(cave[x][y]) + switch (cave[x][y]) { #ifdef USE_CHANGED_ACID_STUFF case Xacid_1: @@ -357,15 +355,14 @@ static boolean player_digfield(struct PLAYER *ply, int dx, int dy) { int element = cave[x][y]; - switch(cave[x][y]) + switch (cave[x][y]) { /* fire is released */ case Xblank: - case Xacid_splash_e: - case Xacid_splash_w: + case Xsplash_e: + case Xsplash_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; @@ -391,9 +387,9 @@ static boolean player_digfield(struct PLAYER *ply, int dx, int dy) case Xacid_7: case Xacid_8: if (cave[x+1][y-1] == Xblank) - cave[x+1][y-1] = Xacid_splash_e; + cave[x+1][y-1] = Xsplash_e; if (cave[x-1][y-1] == Xblank) - cave[x-1][y-1] = Xacid_splash_w; + cave[x-1][y-1] = Xsplash_w; play_element_sound(x, y, SOUND_acid, Xacid_1); #endif @@ -564,11 +560,19 @@ static boolean player_digfield(struct PLAYER *ply, int dx, int dy) if (dy) break; - switch(cave[x+dx][y]) + switch (cave[x+dx][y]) { case Xblank: - case Xacid_splash_e: - case Xacid_splash_w: + case Xsplash_e: + case Xsplash_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; @@ -582,9 +586,9 @@ static boolean player_digfield(struct PLAYER *ply, int dx, int dy) case Xacid_7: case Xacid_8: if (cave[x+dx+1][y-1] == Xblank) - cave[x+dx+1][y-1] = Xacid_splash_e; + cave[x+dx+1][y-1] = Xsplash_e; if (cave[x+dx-1][y-1] == Xblank) - cave[x+dx-1][y-1] = Xacid_splash_w; + cave[x+dx-1][y-1] = Xsplash_w; play_element_sound(x, y, SOUND_acid, Xacid_1); stone_walk: @@ -603,11 +607,19 @@ static boolean player_digfield(struct PLAYER *ply, int dx, int dy) if (dy) break; - switch(cave[x+dx][y]) + switch (cave[x+dx][y]) { case Xblank: - case Xacid_splash_e: - case Xacid_splash_w: + case Xsplash_e: + case Xsplash_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; @@ -621,9 +633,9 @@ static boolean player_digfield(struct PLAYER *ply, int dx, int dy) case Xacid_7: case Xacid_8: if (cave[x+dx+1][y-1] == Xblank) - cave[x+dx+1][y-1] = Xacid_splash_e; + cave[x+dx+1][y-1] = Xsplash_e; if (cave[x+dx-1][y-1] == Xblank) - cave[x+dx-1][y-1] = Xacid_splash_w; + cave[x+dx-1][y-1] = Xsplash_w; play_element_sound(x, y, SOUND_acid, Xacid_1); bomb_walk: @@ -642,11 +654,19 @@ static boolean player_digfield(struct PLAYER *ply, int dx, int dy) if (dy) break; - switch(cave[x+dx][y]) + switch (cave[x+dx][y]) { case Xblank: - case Xacid_splash_e: - case Xacid_splash_w: + case Xsplash_e: + case Xsplash_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; @@ -660,9 +680,9 @@ static boolean player_digfield(struct PLAYER *ply, int dx, int dy) case Xacid_7: case Xacid_8: if (cave[x+dx+1][y-1] == Xblank) - cave[x+dx+1][y-1] = Xacid_splash_e; + cave[x+dx+1][y-1] = Xsplash_e; if (cave[x+dx-1][y-1] == Xblank) - cave[x+dx-1][y-1] = Xacid_splash_w; + cave[x+dx-1][y-1] = Xsplash_w; play_element_sound(x, y, SOUND_acid, Xacid_1); nut_walk: @@ -681,11 +701,19 @@ static boolean player_digfield(struct PLAYER *ply, int dx, int dy) if (dy) break; - switch(cave[x+dx][y]) + switch (cave[x+dx][y]) { case Xblank: - case Xacid_splash_e: - case Xacid_splash_w: + case Xsplash_e: + case Xsplash_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; @@ -699,9 +727,9 @@ static boolean player_digfield(struct PLAYER *ply, int dx, int dy) case Xacid_7: case Xacid_8: if (cave[x+dx+1][y-1] == Xblank) - cave[x+dx+1][y-1] = Xacid_splash_e; + cave[x+dx+1][y-1] = Xsplash_e; if (cave[x+dx-1][y-1] == Xblank) - cave[x+dx-1][y-1] = Xacid_splash_w; + cave[x+dx-1][y-1] = Xsplash_w; play_element_sound(x, y, SOUND_acid, Xacid_1); spring_walk: @@ -742,11 +770,19 @@ static boolean player_digfield(struct PLAYER *ply, int dx, int dy) break; case Xballoon: - switch(cave[x+dx][y+dy]) + switch (cave[x+dx][y+dy]) { case Xblank: - case Xacid_splash_e: - case Xacid_splash_w: + case Xsplash_e: + case Xsplash_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; @@ -761,9 +797,9 @@ static boolean player_digfield(struct PLAYER *ply, int dx, int dy) case Xacid_7: case Xacid_8: if (cave[x+dx+1][y+dy-1] == Xblank) - cave[x+dx+1][y+dy-1] = Xacid_splash_e; + cave[x+dx+1][y+dy-1] = Xsplash_e; if (cave[x+dx-1][y+dy-1] == Xblank) - cave[x+dx-1][y+dy-1] = Xacid_splash_w; + cave[x+dx-1][y+dy-1] = Xsplash_w; play_element_sound(x, y, SOUND_acid, Xacid_1); balloon_walk: @@ -789,11 +825,19 @@ static boolean player_digfield(struct PLAYER *ply, int dx, int dy) case Xandroid_2_s: case Xandroid_1_w: case Xandroid_2_w: - switch(cave[x+dx][y+dy]) + switch (cave[x+dx][y+dy]) { case Xblank: - case Xacid_splash_e: - case Xacid_splash_w: + case Xsplash_e: + case Xsplash_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) : @@ -809,9 +853,9 @@ static boolean player_digfield(struct PLAYER *ply, int dx, int dy) case Xacid_7: case Xacid_8: if (cave[x+dx+1][y+dy-1] == Xblank) - cave[x+dx+1][y+dy-1] = Xacid_splash_e; + cave[x+dx+1][y+dy-1] = Xsplash_e; if (cave[x+dx-1][y+dy-1] == Xblank) - cave[x+dx-1][y+dy-1] = Xacid_splash_w; + cave[x+dx-1][y+dy-1] = Xsplash_w; play_element_sound(x, y, SOUND_acid, Xacid_1); android_walk: @@ -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; @@ -972,7 +1020,7 @@ static boolean player_digfield(struct PLAYER *ply, int dx, int dy) { int element = cave[x][y]; - switch(cave[x][y]) + switch (cave[x][y]) { /* fire is pressed */ @@ -1228,7 +1276,7 @@ static void check_player(struct PLAYER *ply) static void set_nearest_player_xy(int x, int y, int *dx, int *dy) { - int distance, distance_shortest = EM_MAX_CAVE_WIDTH + EM_MAX_CAVE_HEIGHT; + int distance, distance_shortest = CAVE_WIDTH + CAVE_HEIGHT; int i; /* default values if no players are alive anymore */ @@ -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) { @@ -1742,8 +1788,16 @@ static void Landroid_1_n(int x, int y) switch (cave[x][y-1]) { case Xblank: - case Xacid_splash_e: - case Xacid_splash_w: + case Xsplash_e: + case Xsplash_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; @@ -1762,9 +1816,9 @@ static void Landroid_1_n(int x, int y) cave[x][y] = Yandroid_nB; next[x][y] = Xblank; if (cave[x+1][y-2] == Xblank) - cave[x+1][y-2] = Xacid_splash_e; + cave[x+1][y-2] = Xsplash_e; if (cave[x-1][y-2] == Xblank) - cave[x-1][y-2] = Xacid_splash_w; + cave[x-1][y-2] = Xsplash_w; play_element_sound(x, y, SOUND_acid, Xacid_1); return; @@ -1779,8 +1833,16 @@ static void Landroid_2_n(int x, int y) switch (cave[x][y-1]) { case Xblank: - case Xacid_splash_e: - case Xacid_splash_w: + case Xsplash_e: + case Xsplash_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; @@ -1799,9 +1861,9 @@ static void Landroid_2_n(int x, int y) cave[x][y] = Yandroid_nB; next[x][y] = Xblank; if (cave[x+1][y-2] == Xblank) - cave[x+1][y-2] = Xacid_splash_e; + cave[x+1][y-2] = Xsplash_e; if (cave[x-1][y-2] == Xblank) - cave[x-1][y-2] = Xacid_splash_w; + cave[x-1][y-2] = Xsplash_w; play_element_sound(x, y, SOUND_acid, Xacid_1); return; @@ -1816,8 +1878,16 @@ static void Landroid_1_e(int x, int y) switch (cave[x+1][y]) { case Xblank: - case Xacid_splash_e: - case Xacid_splash_w: + case Xsplash_e: + case Xsplash_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; @@ -1836,9 +1906,9 @@ static void Landroid_1_e(int x, int y) cave[x][y] = Yandroid_eB; next[x][y] = Xblank; if (cave[x+2][y-1] == Xblank) - cave[x+2][y-1] = Xacid_splash_e; + cave[x+2][y-1] = Xsplash_e; if (cave[x][y-1] == Xblank) - cave[x][y-1] = Xacid_splash_w; + cave[x][y-1] = Xsplash_w; play_element_sound(x, y, SOUND_acid, Xacid_1); return; @@ -1853,8 +1923,16 @@ static void Landroid_2_e(int x, int y) switch (cave[x+1][y]) { case Xblank: - case Xacid_splash_e: - case Xacid_splash_w: + case Xsplash_e: + case Xsplash_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; @@ -1873,9 +1951,9 @@ static void Landroid_2_e(int x, int y) cave[x][y] = Yandroid_eB; next[x][y] = Xblank; if (cave[x+2][y-1] == Xblank) - cave[x+2][y-1] = Xacid_splash_e; + cave[x+2][y-1] = Xsplash_e; if (cave[x][y-1] == Xblank) - cave[x][y-1] = Xacid_splash_w; + cave[x][y-1] = Xsplash_w; play_element_sound(x, y, SOUND_acid, Xacid_1); return; @@ -1890,8 +1968,16 @@ static void Landroid_1_s(int x, int y) switch (cave[x][y+1]) { case Xblank: - case Xacid_splash_e: - case Xacid_splash_w: + case Xsplash_e: + case Xsplash_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; @@ -1910,9 +1996,9 @@ static void Landroid_1_s(int x, int y) cave[x][y] = Yandroid_sB; next[x][y] = Xblank; if (cave[x+1][y] == Xblank) - cave[x+1][y] = Xacid_splash_e; + cave[x+1][y] = Xsplash_e; if (cave[x-1][y] == Xblank) - cave[x-1][y] = Xacid_splash_w; + cave[x-1][y] = Xsplash_w; play_element_sound(x, y, SOUND_acid, Xacid_1); return; @@ -1927,8 +2013,16 @@ static void Landroid_2_s(int x, int y) switch (cave[x][y+1]) { case Xblank: - case Xacid_splash_e: - case Xacid_splash_w: + case Xsplash_e: + case Xsplash_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; @@ -1947,9 +2041,9 @@ static void Landroid_2_s(int x, int y) cave[x][y] = Yandroid_sB; next[x][y] = Xblank; if (cave[x+1][y] == Xblank) - cave[x+1][y] = Xacid_splash_e; + cave[x+1][y] = Xsplash_e; if (cave[x-1][y] == Xblank) - cave[x-1][y] = Xacid_splash_w; + cave[x-1][y] = Xsplash_w; play_element_sound(x, y, SOUND_acid, Xacid_1); return; @@ -1964,8 +2058,16 @@ static void Landroid_1_w(int x, int y) switch (cave[x-1][y]) { case Xblank: - case Xacid_splash_e: - case Xacid_splash_w: + case Xsplash_e: + case Xsplash_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; @@ -1984,9 +2086,9 @@ static void Landroid_1_w(int x, int y) cave[x][y] = Yandroid_wB; next[x][y] = Xblank; if (cave[x][y-1] == Xblank) - cave[x][y-1] = Xacid_splash_e; + cave[x][y-1] = Xsplash_e; if (cave[x-2][y-1] == Xblank) - cave[x-2][y-1] = Xacid_splash_w; + cave[x-2][y-1] = Xsplash_w; play_element_sound(x, y, SOUND_acid, Xacid_1); return; @@ -2001,8 +2103,16 @@ static void Landroid_2_w(int x, int y) switch (cave[x-1][y]) { case Xblank: - case Xacid_splash_e: - case Xacid_splash_w: + case Xsplash_e: + case Xsplash_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; @@ -2021,9 +2131,9 @@ static void Landroid_2_w(int x, int y) cave[x][y] = Yandroid_wB; next[x][y] = Xblank; if (cave[x][y-1] == Xblank) - cave[x][y-1] = Xacid_splash_e; + cave[x][y-1] = Xsplash_e; if (cave[x-2][y-1] == Xblank) - cave[x-2][y-1] = Xacid_splash_w; + cave[x-2][y-1] = Xsplash_w; play_element_sound(x, y, SOUND_acid, Xacid_1); return; @@ -2070,8 +2180,16 @@ static void Leater_n(int x, int y) switch (cave[x][y-1]) { case Xblank: - case Xacid_splash_e: - case Xacid_splash_w: + case Xsplash_e: + case Xsplash_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: @@ -2092,9 +2210,9 @@ static void Leater_n(int x, int y) cave[x][y] = Yeater_nB; next[x][y] = Xblank; if (cave[x+1][y-2] == Xblank) - cave[x+1][y-2] = Xacid_splash_e; + cave[x+1][y-2] = Xsplash_e; if (cave[x-1][y-2] == Xblank) - cave[x-1][y-2] = Xacid_splash_w; + cave[x-1][y-2] = Xsplash_w; play_element_sound(x, y, SOUND_acid, Xacid_1); return; @@ -2142,8 +2260,16 @@ static void Leater_e(int x, int y) switch (cave[x+1][y]) { case Xblank: - case Xacid_splash_e: - case Xacid_splash_w: + case Xsplash_e: + case Xsplash_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: @@ -2164,9 +2290,9 @@ static void Leater_e(int x, int y) cave[x][y] = Yeater_eB; next[x][y] = Xblank; if (cave[x+2][y-1] == Xblank) - cave[x+2][y-1] = Xacid_splash_e; + cave[x+2][y-1] = Xsplash_e; if (cave[x][y-1] == Xblank) - cave[x][y-1] = Xacid_splash_w; + cave[x][y-1] = Xsplash_w; play_element_sound(x, y, SOUND_acid, Xacid_1); return; @@ -2214,8 +2340,16 @@ static void Leater_s(int x, int y) switch (cave[x][y+1]) { case Xblank: - case Xacid_splash_e: - case Xacid_splash_w: + case Xsplash_e: + case Xsplash_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: @@ -2236,9 +2370,9 @@ static void Leater_s(int x, int y) cave[x][y] = Yeater_sB; next[x][y] = Xblank; if (cave[x+1][y] == Xblank) - cave[x+1][y] = Xacid_splash_e; + cave[x+1][y] = Xsplash_e; if (cave[x-1][y] == Xblank) - cave[x-1][y] = Xacid_splash_w; + cave[x-1][y] = Xsplash_w; play_element_sound(x, y, SOUND_acid, Xacid_1); return; @@ -2286,8 +2420,16 @@ static void Leater_w(int x, int y) switch (cave[x-1][y]) { case Xblank: - case Xacid_splash_e: - case Xacid_splash_w: + case Xsplash_e: + case Xsplash_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: @@ -2308,9 +2450,9 @@ static void Leater_w(int x, int y) cave[x][y] = Yeater_wB; next[x][y] = Xblank; if (cave[x][y-1] == Xblank) - cave[x][y-1] = Xacid_splash_e; + cave[x][y-1] = Xsplash_e; if (cave[x-2][y-1] == Xblank) - cave[x-2][y-1] = Xacid_splash_w; + cave[x-2][y-1] = Xsplash_w; play_element_sound(x, y, SOUND_acid, Xacid_1); return; @@ -2342,8 +2484,16 @@ static void Lalien(int x, int y) switch (cave[x][y-1]) { case Xblank: - case Xacid_splash_e: - case Xacid_splash_w: + case Xsplash_e: + case Xsplash_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: @@ -2365,9 +2515,9 @@ static void Lalien(int x, int y) cave[x][y] = Yalien_nB; next[x][y] = Xblank; if (cave[x+1][y-2] == Xblank) - cave[x+1][y-2] = Xacid_splash_e; + cave[x+1][y-2] = Xsplash_e; if (cave[x-1][y-2] == Xblank) - cave[x-1][y-2] = Xacid_splash_w; + cave[x-1][y-2] = Xsplash_w; play_element_sound(x, y, SOUND_acid, Xacid_1); return; } @@ -2377,8 +2527,16 @@ static void Lalien(int x, int y) switch (cave[x][y+1]) { case Xblank: - case Xacid_splash_e: - case Xacid_splash_w: + case Xsplash_e: + case Xsplash_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: @@ -2400,9 +2558,9 @@ static void Lalien(int x, int y) cave[x][y] = Yalien_sB; next[x][y] = Xblank; if (cave[x+1][y] == Xblank) - cave[x+1][y] = Xacid_splash_e; + cave[x+1][y] = Xsplash_e; if (cave[x-1][y] == Xblank) - cave[x-1][y] = Xacid_splash_w; + cave[x-1][y] = Xsplash_w; play_element_sound(x, y, SOUND_acid, Xacid_1); return; } @@ -2415,8 +2573,16 @@ static void Lalien(int x, int y) switch (cave[x+1][y]) { case Xblank: - case Xacid_splash_e: - case Xacid_splash_w: + case Xsplash_e: + case Xsplash_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: @@ -2438,9 +2604,9 @@ static void Lalien(int x, int y) cave[x][y] = Yalien_eB; next[x][y] = Xblank; if (cave[x+2][y-1] == Xblank) - cave[x+2][y-1] = Xacid_splash_e; + cave[x+2][y-1] = Xsplash_e; if (cave[x][y-1] == Xblank) - cave[x][y-1] = Xacid_splash_w; + cave[x][y-1] = Xsplash_w; play_element_sound(x, y, SOUND_acid, Xacid_1); return; } @@ -2450,8 +2616,16 @@ static void Lalien(int x, int y) switch (cave[x-1][y]) { case Xblank: - case Xacid_splash_e: - case Xacid_splash_w: + case Xsplash_e: + case Xsplash_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: @@ -2473,9 +2647,9 @@ static void Lalien(int x, int y) cave[x][y] = Yalien_wB; next[x][y] = Xblank; if (cave[x][y-1] == Xblank) - cave[x][y-1] = Xacid_splash_e; + cave[x][y-1] = Xsplash_e; if (cave[x-2][y-1] == Xblank) - cave[x-2][y-1] = Xacid_splash_w; + cave[x-2][y-1] = Xsplash_w; play_element_sound(x, y, SOUND_acid, Xacid_1); return; } @@ -2493,8 +2667,16 @@ static void Lbug_n(int x, int y) switch (cave[x][y-1]) { case Xblank: - case Xacid_splash_e: - case Xacid_splash_w: + case Xsplash_e: + case Xsplash_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: @@ -2516,9 +2698,9 @@ static void Lbug_n(int x, int y) cave[x][y] = Ybug_nB; next[x][y] = Xblank; if (cave[x+1][y-2] == Xblank) - cave[x+1][y-2] = Xacid_splash_e; + cave[x+1][y-2] = Xsplash_e; if (cave[x-1][y-2] == Xblank) - cave[x-1][y-2] = Xacid_splash_w; + cave[x-1][y-2] = Xsplash_w; play_element_sound(x, y, SOUND_acid, Xacid_1); return; @@ -2545,8 +2727,16 @@ static void Lbug_1_n(int x, int y) switch (cave[x+1][y]) { case Xblank: - case Xacid_splash_e: - case Xacid_splash_w: + case Xsplash_e: + case Xsplash_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: @@ -2589,8 +2779,16 @@ static void Lbug_e(int x, int y) switch (cave[x+1][y]) { case Xblank: - case Xacid_splash_e: - case Xacid_splash_w: + case Xsplash_e: + case Xsplash_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: @@ -2612,9 +2810,9 @@ static void Lbug_e(int x, int y) cave[x][y] = Ybug_eB; next[x][y] = Xblank; if (cave[x+2][y-1] == Xblank) - cave[x+2][y-1] = Xacid_splash_e; + cave[x+2][y-1] = Xsplash_e; if (cave[x][y-1] == Xblank) - cave[x][y-1] = Xacid_splash_w; + cave[x][y-1] = Xsplash_w; play_element_sound(x, y, SOUND_acid, Xacid_1); return; @@ -2641,8 +2839,16 @@ static void Lbug_1_e(int x, int y) switch (cave[x][y+1]) { case Xblank: - case Xacid_splash_e: - case Xacid_splash_w: + case Xsplash_e: + case Xsplash_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: @@ -2685,8 +2891,16 @@ static void Lbug_s(int x, int y) switch (cave[x][y+1]) { case Xblank: - case Xacid_splash_e: - case Xacid_splash_w: + case Xsplash_e: + case Xsplash_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: @@ -2708,9 +2922,9 @@ static void Lbug_s(int x, int y) cave[x][y] = Ybug_sB; next[x][y] = Xblank; if (cave[x+1][y] == Xblank) - cave[x+1][y] = Xacid_splash_e; + cave[x+1][y] = Xsplash_e; if (cave[x-1][y] == Xblank) - cave[x-1][y] = Xacid_splash_w; + cave[x-1][y] = Xsplash_w; play_element_sound(x, y, SOUND_acid, Xacid_1); return; @@ -2737,8 +2951,16 @@ static void Lbug_1_s(int x, int y) switch (cave[x-1][y]) { case Xblank: - case Xacid_splash_e: - case Xacid_splash_w: + case Xsplash_e: + case Xsplash_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: @@ -2781,8 +3003,16 @@ static void Lbug_w(int x, int y) switch (cave[x-1][y]) { case Xblank: - case Xacid_splash_e: - case Xacid_splash_w: + case Xsplash_e: + case Xsplash_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: @@ -2804,9 +3034,9 @@ static void Lbug_w(int x, int y) cave[x][y] = Ybug_wB; next[x][y] = Xblank; if (cave[x][y-1] == Xblank) - cave[x][y-1] = Xacid_splash_e; + cave[x][y-1] = Xsplash_e; if (cave[x-2][y-1] == Xblank) - cave[x-2][y-1] = Xacid_splash_w; + cave[x-2][y-1] = Xsplash_w; play_element_sound(x, y, SOUND_acid, Xacid_1); return; @@ -2833,8 +3063,16 @@ static void Lbug_1_w(int x, int y) switch (cave[x][y-1]) { case Xblank: - case Xacid_splash_e: - case Xacid_splash_w: + case Xsplash_e: + case Xsplash_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: @@ -2877,8 +3115,16 @@ static void Ltank_n(int x, int y) switch (cave[x][y-1]) { case Xblank: - case Xacid_splash_e: - case Xacid_splash_w: + case Xsplash_e: + case Xsplash_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: @@ -2900,9 +3146,9 @@ static void Ltank_n(int x, int y) cave[x][y] = Ytank_nB; next[x][y] = Xblank; if (cave[x+1][y-2] == Xblank) - cave[x+1][y-2] = Xacid_splash_e; + cave[x+1][y-2] = Xsplash_e; if (cave[x-1][y-2] == Xblank) - cave[x-1][y-2] = Xacid_splash_w; + cave[x-1][y-2] = Xsplash_w; play_element_sound(x, y, SOUND_acid, Xacid_1); return; @@ -2929,8 +3175,16 @@ static void Ltank_1_n(int x, int y) switch (cave[x-1][y]) { case Xblank: - case Xacid_splash_e: - case Xacid_splash_w: + case Xsplash_e: + case Xsplash_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: @@ -2973,8 +3227,16 @@ static void Ltank_e(int x, int y) switch (cave[x+1][y]) { case Xblank: - case Xacid_splash_e: - case Xacid_splash_w: + case Xsplash_e: + case Xsplash_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: @@ -2996,9 +3258,9 @@ static void Ltank_e(int x, int y) cave[x][y] = Ytank_eB; next[x][y] = Xblank; if (cave[x+2][y-1] == Xblank) - cave[x+2][y-1] = Xacid_splash_e; + cave[x+2][y-1] = Xsplash_e; if (cave[x][y-1] == Xblank) - cave[x][y-1] = Xacid_splash_w; + cave[x][y-1] = Xsplash_w; play_element_sound(x, y, SOUND_acid, Xacid_1); return; @@ -3025,8 +3287,16 @@ static void Ltank_1_e(int x, int y) switch (cave[x][y-1]) { case Xblank: - case Xacid_splash_e: - case Xacid_splash_w: + case Xsplash_e: + case Xsplash_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: @@ -3069,8 +3339,16 @@ static void Ltank_s(int x, int y) switch (cave[x][y+1]) { case Xblank: - case Xacid_splash_e: - case Xacid_splash_w: + case Xsplash_e: + case Xsplash_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: @@ -3092,9 +3370,9 @@ static void Ltank_s(int x, int y) cave[x][y] = Ytank_sB; next[x][y] = Xblank; if (cave[x+1][y] == Xblank) - cave[x+1][y] = Xacid_splash_e; + cave[x+1][y] = Xsplash_e; if (cave[x-1][y] == Xblank) - cave[x-1][y] = Xacid_splash_w; + cave[x-1][y] = Xsplash_w; play_element_sound(x, y, SOUND_acid, Xacid_1); return; @@ -3121,8 +3399,16 @@ static void Ltank_1_s(int x, int y) switch (cave[x+1][y]) { case Xblank: - case Xacid_splash_e: - case Xacid_splash_w: + case Xsplash_e: + case Xsplash_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: @@ -3165,8 +3451,16 @@ static void Ltank_w(int x, int y) switch (cave[x-1][y]) { case Xblank: - case Xacid_splash_e: - case Xacid_splash_w: + case Xsplash_e: + case Xsplash_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: @@ -3188,9 +3482,9 @@ static void Ltank_w(int x, int y) cave[x][y] = Ytank_wB; next[x][y] = Xblank; if (cave[x][y-1] == Xblank) - cave[x][y-1] = Xacid_splash_e; + cave[x][y-1] = Xsplash_e; if (cave[x-2][y-1] == Xblank) - cave[x-2][y-1] = Xacid_splash_w; + cave[x-2][y-1] = Xsplash_w; play_element_sound(x, y, SOUND_acid, Xacid_1); return; @@ -3217,8 +3511,16 @@ static void Ltank_1_w(int x, int y) switch (cave[x][y+1]) { case Xblank: - case Xacid_splash_e: - case Xacid_splash_w: + case Xsplash_e: + case Xsplash_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: @@ -3261,8 +3563,16 @@ static void Lemerald(int x, int y) switch (cave[x][y+1]) { case Xblank: - case Xacid_splash_e: - case Xacid_splash_w: + case Xsplash_e: + case Xsplash_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; @@ -3280,9 +3590,9 @@ static void Lemerald(int x, int y) cave[x][y] = Yemerald_sB; next[x][y] = Xblank; if (cave[x+1][y] == Xblank) - cave[x+1][y] = Xacid_splash_e; + cave[x+1][y] = Xsplash_e; if (cave[x-1][y] == Xblank) - cave[x-1][y] = Xacid_splash_w; + cave[x-1][y] = Xsplash_w; play_element_sound(x, y, SOUND_acid, Xacid_1); return; @@ -3314,8 +3624,8 @@ static void Lemerald(int x, int y) case Xball_2: case Xnut: case Xnut_pause: - case Xslidewall_ns: - case Xslidewall_ew: + case Xslide_ns: + case Xslide_ew: case Xwonderwall: case Xkey_1: case Xkey_2: @@ -3396,8 +3706,16 @@ static void Lemerald_pause(int x, int y) switch (cave[x][y+1]) { case Xblank: - case Xacid_splash_e: - case Xacid_splash_w: + case Xsplash_e: + case Xsplash_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; @@ -3415,9 +3733,9 @@ static void Lemerald_pause(int x, int y) cave[x][y] = Yemerald_sB; next[x][y] = Xblank; if (cave[x+1][y] == Xblank) - cave[x+1][y] = Xacid_splash_e; + cave[x+1][y] = Xsplash_e; if (cave[x-1][y] == Xblank) - cave[x-1][y] = Xacid_splash_w; + cave[x-1][y] = Xsplash_w; play_element_sound(x, y, SOUND_acid, Xacid_1); return; @@ -3433,8 +3751,16 @@ static void Lemerald_fall(int x, int y) switch (cave[x][y+1]) { case Xblank: - case Xacid_splash_e: - case Xacid_splash_w: + case Xsplash_e: + case Xsplash_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; @@ -3453,9 +3779,9 @@ static void Lemerald_fall(int x, int y) cave[x][y] = Yemerald_sB; next[x][y] = Xblank; if (cave[x+1][y] == Xblank) - cave[x+1][y] = Xacid_splash_e; + cave[x+1][y] = Xsplash_e; if (cave[x-1][y] == Xblank) - cave[x-1][y] = Xacid_splash_w; + cave[x-1][y] = Xsplash_w; play_element_sound(x, y, SOUND_acid, Xacid_1); return; @@ -3488,8 +3814,16 @@ static void Ldiamond(int x, int y) switch (cave[x][y+1]) { case Xblank: - case Xacid_splash_e: - case Xacid_splash_w: + case Xsplash_e: + case Xsplash_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; @@ -3507,9 +3841,9 @@ static void Ldiamond(int x, int y) cave[x][y] = Ydiamond_sB; next[x][y] = Xblank; if (cave[x+1][y] == Xblank) - cave[x+1][y] = Xacid_splash_e; + cave[x+1][y] = Xsplash_e; if (cave[x-1][y] == Xblank) - cave[x-1][y] = Xacid_splash_w; + cave[x-1][y] = Xsplash_w; play_element_sound(x, y, SOUND_acid, Xacid_1); return; @@ -3541,8 +3875,8 @@ static void Ldiamond(int x, int y) case Xball_2: case Xnut: case Xnut_pause: - case Xslidewall_ns: - case Xslidewall_ew: + case Xslide_ns: + case Xslide_ew: case Xwonderwall: case Xkey_1: case Xkey_2: @@ -3623,8 +3957,16 @@ static void Ldiamond_pause(int x, int y) switch (cave[x][y+1]) { case Xblank: - case Xacid_splash_e: - case Xacid_splash_w: + case Xsplash_e: + case Xsplash_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; @@ -3642,9 +3984,9 @@ static void Ldiamond_pause(int x, int y) cave[x][y] = Ydiamond_sB; next[x][y] = Xblank; if (cave[x+1][y] == Xblank) - cave[x+1][y] = Xacid_splash_e; + cave[x+1][y] = Xsplash_e; if (cave[x-1][y] == Xblank) - cave[x-1][y] = Xacid_splash_w; + cave[x-1][y] = Xsplash_w; play_element_sound(x, y, SOUND_acid, Xacid_1); return; @@ -3660,8 +4002,16 @@ static void Ldiamond_fall(int x, int y) switch (cave[x][y+1]) { case Xblank: - case Xacid_splash_e: - case Xacid_splash_w: + case Xsplash_e: + case Xsplash_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; @@ -3680,9 +4030,9 @@ static void Ldiamond_fall(int x, int y) cave[x][y] = Ydiamond_sB; next[x][y] = Xblank; if (cave[x+1][y] == Xblank) - cave[x+1][y] = Xacid_splash_e; + cave[x+1][y] = Xsplash_e; if (cave[x-1][y] == Xblank) - cave[x-1][y] = Xacid_splash_w; + cave[x-1][y] = Xsplash_w; play_element_sound(x, y, SOUND_acid, Xacid_1); return; @@ -3715,11 +4065,8 @@ static void Lstone(int x, int y) switch (cave[x][y+1]) { case Xblank: - case Xacid_splash_e: - case Xacid_splash_w: - case Xplant: - case Yplant: -#ifdef EM_ENGINE_USE_ADDITIONAL_ELEMENTS + case Xsplash_e: + case Xsplash_w: 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; @@ -3746,9 +4094,9 @@ static void Lstone(int x, int y) cave[x][y] = Ystone_sB; next[x][y] = Xblank; if (cave[x+1][y] == Xblank) - cave[x+1][y] = Xacid_splash_e; + cave[x+1][y] = Xsplash_e; if (cave[x-1][y] == Xblank) - cave[x-1][y] = Xacid_splash_w; + cave[x-1][y] = Xsplash_w; play_element_sound(x, y, SOUND_acid, Xacid_1); return; @@ -3787,8 +4135,8 @@ static void Lstone(int x, int y) case Xball_2: case Xnut: case Xnut_pause: - case Xslidewall_ns: - case Xslidewall_ew: + case Xslide_ns: + case Xslide_ew: case Xkey_1: case Xkey_2: case Xkey_3: @@ -3853,9 +4201,8 @@ static void Lstone_pause(int x, int y) switch (cave[x][y+1]) { case Xblank: - case Xacid_splash_e: - case Xacid_splash_w: -#ifdef EM_ENGINE_USE_ADDITIONAL_ELEMENTS + case Xsplash_e: + case Xsplash_w: 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; @@ -3882,9 +4228,9 @@ static void Lstone_pause(int x, int y) cave[x][y] = Ystone_sB; next[x][y] = Xblank; if (cave[x+1][y] == Xblank) - cave[x+1][y] = Xacid_splash_e; + cave[x+1][y] = Xsplash_e; if (cave[x-1][y] == Xblank) - cave[x-1][y] = Xacid_splash_w; + cave[x-1][y] = Xsplash_w; play_element_sound(x, y, SOUND_acid, Xacid_1); return; @@ -3900,10 +4246,8 @@ static void Lstone_fall(int x, int y) switch (cave[x][y+1]) { case Xblank: - case Xacid_splash_e: - case Xacid_splash_w: - case Zplayer: -#ifdef EM_ENGINE_USE_ADDITIONAL_ELEMENTS + case Xsplash_e: + case Xsplash_w: 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; @@ -3930,9 +4274,9 @@ static void Lstone_fall(int x, int y) cave[x][y] = Ystone_sB; next[x][y] = Xblank; if (cave[x+1][y] == Xblank) - cave[x+1][y] = Xacid_splash_e; + cave[x+1][y] = Xsplash_e; if (cave[x-1][y] == Xblank) - cave[x-1][y] = Xacid_splash_w; + cave[x-1][y] = Xsplash_w; play_element_sound(x, y, SOUND_acid, Xacid_1); return; @@ -3979,8 +4323,16 @@ static void Lstone_fall(int x, int y) switch (cave[x+1][y+1]) { case Xblank: - case Xacid_splash_e: - case Xacid_splash_w: + case Xsplash_e: + case Xsplash_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; @@ -3996,8 +4348,16 @@ static void Lstone_fall(int x, int y) switch (cave[x-1][y+1]) { case Xblank: - case Xacid_splash_e: - case Xacid_splash_w: + case Xsplash_e: + case Xsplash_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; @@ -4034,8 +4394,16 @@ static void Lstone_fall(int x, int y) switch (cave[x][y+2]) { case Xblank: - case Xacid_splash_e: - case Xacid_splash_w: + case Xsplash_e: + case Xsplash_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: @@ -4127,8 +4495,16 @@ static void Lbomb(int x, int y) switch (cave[x][y+1]) { case Xblank: - case Xacid_splash_e: - case Xacid_splash_w: + case Xsplash_e: + case Xsplash_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; @@ -4146,9 +4522,9 @@ static void Lbomb(int x, int y) cave[x][y] = Ybomb_sB; next[x][y] = Xblank; if (cave[x+1][y] == Xblank) - cave[x+1][y] = Xacid_splash_e; + cave[x+1][y] = Xsplash_e; if (cave[x-1][y] == Xblank) - cave[x-1][y] = Xacid_splash_w; + cave[x-1][y] = Xsplash_w; play_element_sound(x, y, SOUND_acid, Xacid_1); return; @@ -4180,8 +4556,8 @@ static void Lbomb(int x, int y) case Xball_2: case Xnut: case Xnut_pause: - case Xslidewall_ns: - case Xslidewall_ew: + case Xslide_ns: + case Xslide_ew: case Xkey_1: case Xkey_2: case Xkey_3: @@ -4244,8 +4620,16 @@ static void Lbomb_pause(int x, int y) switch (cave[x][y+1]) { case Xblank: - case Xacid_splash_e: - case Xacid_splash_w: + case Xsplash_e: + case Xsplash_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; @@ -4263,9 +4647,9 @@ static void Lbomb_pause(int x, int y) cave[x][y] = Ybomb_sB; next[x][y] = Xblank; if (cave[x+1][y] == Xblank) - cave[x+1][y] = Xacid_splash_e; + cave[x+1][y] = Xsplash_e; if (cave[x-1][y] == Xblank) - cave[x-1][y] = Xacid_splash_w; + cave[x-1][y] = Xsplash_w; play_element_sound(x, y, SOUND_acid, Xacid_1); return; @@ -4281,8 +4665,16 @@ static void Lbomb_fall(int x, int y) switch (cave[x][y+1]) { case Xblank: - case Xacid_splash_e: - case Xacid_splash_w: + case Xsplash_e: + case Xsplash_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; @@ -4300,9 +4692,9 @@ static void Lbomb_fall(int x, int y) cave[x][y] = Ybomb_sB; next[x][y] = Xblank; if (cave[x+1][y] == Xblank) - cave[x+1][y] = Xacid_splash_e; + cave[x+1][y] = Xsplash_e; if (cave[x-1][y] == Xblank) - cave[x-1][y] = Xacid_splash_w; + cave[x-1][y] = Xsplash_w; play_element_sound(x, y, SOUND_acid, Xacid_1); return; @@ -4318,8 +4710,16 @@ static void Lnut(int x, int y) switch (cave[x][y+1]) { case Xblank: - case Xacid_splash_e: - case Xacid_splash_w: + case Xsplash_e: + case Xsplash_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; @@ -4337,9 +4737,9 @@ static void Lnut(int x, int y) cave[x][y] = Ynut_sB; next[x][y] = Xblank; if (cave[x+1][y] == Xblank) - cave[x+1][y] = Xacid_splash_e; + cave[x+1][y] = Xsplash_e; if (cave[x-1][y] == Xblank) - cave[x-1][y] = Xacid_splash_w; + cave[x-1][y] = Xsplash_w; play_element_sound(x, y, SOUND_acid, Xacid_1); return; @@ -4371,8 +4771,8 @@ static void Lnut(int x, int y) case Xball_2: case Xnut: case Xnut_pause: - case Xslidewall_ns: - case Xslidewall_ew: + case Xslide_ns: + case Xslide_ew: case Xkey_1: case Xkey_2: case Xkey_3: @@ -4435,8 +4835,16 @@ static void Lnut_pause(int x, int y) switch (cave[x][y+1]) { case Xblank: - case Xacid_splash_e: - case Xacid_splash_w: + case Xsplash_e: + case Xsplash_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; @@ -4454,9 +4862,9 @@ static void Lnut_pause(int x, int y) cave[x][y] = Ynut_sB; next[x][y] = Xblank; if (cave[x+1][y] == Xblank) - cave[x+1][y] = Xacid_splash_e; + cave[x+1][y] = Xsplash_e; if (cave[x-1][y] == Xblank) - cave[x-1][y] = Xacid_splash_w; + cave[x-1][y] = Xsplash_w; play_element_sound(x, y, SOUND_acid, Xacid_1); return; @@ -4472,8 +4880,16 @@ static void Lnut_fall(int x, int y) switch (cave[x][y+1]) { case Xblank: - case Xacid_splash_e: - case Xacid_splash_w: + case Xsplash_e: + case Xsplash_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; @@ -4492,9 +4908,9 @@ static void Lnut_fall(int x, int y) cave[x][y] = Ynut_sB; next[x][y] = Xblank; if (cave[x+1][y] == Xblank) - cave[x+1][y] = Xacid_splash_e; + cave[x+1][y] = Xsplash_e; if (cave[x-1][y] == Xblank) - cave[x-1][y] = Xacid_splash_w; + cave[x-1][y] = Xsplash_w; play_element_sound(x, y, SOUND_acid, Xacid_1); return; @@ -4511,8 +4927,16 @@ static void Lspring(int x, int y) switch (cave[x][y+1]) { case Xblank: - case Xacid_splash_e: - case Xacid_splash_w: + case Xsplash_e: + case Xsplash_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; @@ -4532,9 +4956,9 @@ static void Lspring(int x, int y) cave[x][y] = Yspring_sB; next[x][y] = Xblank; if (cave[x+1][y] == Xblank) - cave[x+1][y] = Xacid_splash_e; + cave[x+1][y] = Xsplash_e; if (cave[x-1][y] == Xblank) - cave[x-1][y] = Xacid_splash_w; + cave[x-1][y] = Xsplash_w; play_element_sound(x, y, SOUND_acid, Xacid_1); return; @@ -4566,8 +4990,8 @@ static void Lspring(int x, int y) case Xball_2: case Xnut: case Xnut_pause: - case Xslidewall_ns: - case Xslidewall_ew: + case Xslide_ns: + case Xslide_ew: case Xkey_1: case Xkey_2: case Xkey_3: @@ -4658,8 +5082,16 @@ static void Lspring_pause(int x, int y) switch (cave[x][y+1]) { case Xblank: - case Xacid_splash_e: - case Xacid_splash_w: + case Xsplash_e: + case Xsplash_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; @@ -4677,9 +5109,9 @@ static void Lspring_pause(int x, int y) cave[x][y] = Yspring_sB; next[x][y] = Xblank; if (cave[x+1][y] == Xblank) - cave[x+1][y] = Xacid_splash_e; + cave[x+1][y] = Xsplash_e; if (cave[x-1][y] == Xblank) - cave[x-1][y] = Xacid_splash_w; + cave[x-1][y] = Xsplash_w; play_element_sound(x, y, SOUND_acid, Xacid_1); return; @@ -4695,8 +5127,16 @@ static void Lspring_e(int x, int y) switch (cave[x][y+1]) { case Xblank: - case Xacid_splash_e: - case Xacid_splash_w: + case Xsplash_e: + case Xsplash_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; @@ -4714,9 +5154,9 @@ static void Lspring_e(int x, int y) cave[x][y] = Yspring_sB; next[x][y] = Xblank; if (cave[x+1][y] == Xblank) - cave[x+1][y] = Xacid_splash_e; + cave[x+1][y] = Xsplash_e; if (cave[x-1][y] == Xblank) - cave[x-1][y] = Xacid_splash_w; + cave[x-1][y] = Xsplash_w; play_element_sound(x, y, SOUND_acid, Xacid_1); return; @@ -4727,8 +5167,16 @@ static void Lspring_e(int x, int y) switch (cave[x+1][y]) { case Xblank: - case Xacid_splash_e: - case Xacid_splash_w: + case Xsplash_e: + case Xsplash_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: @@ -4750,9 +5198,9 @@ static void Lspring_e(int x, int y) cave[x][y] = Yspring_eB; next[x][y] = Xblank; if (cave[x+2][y-1] == Xblank) - cave[x+2][y-1] = Xacid_splash_e; + cave[x+2][y-1] = Xsplash_e; if (cave[x][y-1] == Xblank) - cave[x][y-1] = Xacid_splash_w; + cave[x][y-1] = Xsplash_w; play_element_sound(x, y, SOUND_acid, Xacid_1); return; @@ -4790,8 +5238,16 @@ static void Lspring_w(int x, int y) switch (cave[x][y+1]) { case Xblank: - case Xacid_splash_e: - case Xacid_splash_w: + case Xsplash_e: + case Xsplash_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; @@ -4809,9 +5265,9 @@ static void Lspring_w(int x, int y) cave[x][y] = Yspring_sB; next[x][y] = Xblank; if (cave[x+1][y] == Xblank) - cave[x+1][y] = Xacid_splash_e; + cave[x+1][y] = Xsplash_e; if (cave[x-1][y] == Xblank) - cave[x-1][y] = Xacid_splash_w; + cave[x-1][y] = Xsplash_w; play_element_sound(x, y, SOUND_acid, Xacid_1); return; @@ -4822,8 +5278,16 @@ static void Lspring_w(int x, int y) switch (cave[x-1][y]) { case Xblank: - case Xacid_splash_e: - case Xacid_splash_w: + case Xsplash_e: + case Xsplash_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: @@ -4845,9 +5309,9 @@ static void Lspring_w(int x, int y) cave[x][y] = Yspring_wB; next[x][y] = Xblank; if (cave[x][y-1] == Xblank) - cave[x][y-1] = Xacid_splash_e; + cave[x][y-1] = Xsplash_e; if (cave[x-2][y-1] == Xblank) - cave[x-2][y-1] = Xacid_splash_w; + cave[x-2][y-1] = Xsplash_w; play_element_sound(x, y, SOUND_acid, Xacid_1); return; @@ -4885,8 +5349,16 @@ static void Lspring_fall(int x, int y) switch (cave[x][y+1]) { case Xblank: - case Xacid_splash_e: - case Xacid_splash_w: + case Xsplash_e: + case Xsplash_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; @@ -4905,9 +5377,9 @@ static void Lspring_fall(int x, int y) cave[x][y] = Yspring_sB; next[x][y] = Xblank; if (cave[x+1][y] == Xblank) - cave[x+1][y] = Xacid_splash_e; + cave[x+1][y] = Xsplash_e; if (cave[x-1][y] == Xblank) - cave[x-1][y] = Xacid_splash_w; + cave[x-1][y] = Xsplash_w; play_element_sound(x, y, SOUND_acid, Xacid_1); return; @@ -5356,8 +5828,16 @@ static void Lballoon(int x, int y) switch (cave[x][y-1]) { case Xblank: - case Xacid_splash_e: - case Xacid_splash_w: + case Xsplash_e: + case Xsplash_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; @@ -5375,9 +5855,9 @@ static void Lballoon(int x, int y) cave[x][y] = Yballoon_nB; next[x][y] = Xblank; if (cave[x+1][y-2] == Xblank) - cave[x+1][y-2] = Xacid_splash_e; + cave[x+1][y-2] = Xsplash_e; if (cave[x-1][y-2] == Xblank) - cave[x-1][y-2] = Xacid_splash_w; + cave[x-1][y-2] = Xsplash_w; play_element_sound(x, y, SOUND_acid, Xacid_1); return; } @@ -5387,8 +5867,16 @@ static void Lballoon(int x, int y) switch (cave[x+1][y]) { case Xblank: - case Xacid_splash_e: - case Xacid_splash_w: + case Xsplash_e: + case Xsplash_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; @@ -5406,9 +5894,9 @@ static void Lballoon(int x, int y) cave[x][y] = Yballoon_eB; next[x][y] = Xblank; if (cave[x+2][y-1] == Xblank) - cave[x+2][y-1] = Xacid_splash_e; + cave[x+2][y-1] = Xsplash_e; if (cave[x][y-1] == Xblank) - cave[x][y-1] = Xacid_splash_w; + cave[x][y-1] = Xsplash_w; play_element_sound(x, y, SOUND_acid, Xacid_1); return; } @@ -5418,8 +5906,16 @@ static void Lballoon(int x, int y) switch (cave[x][y+1]) { case Xblank: - case Xacid_splash_e: - case Xacid_splash_w: + case Xsplash_e: + case Xsplash_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; @@ -5437,9 +5933,9 @@ static void Lballoon(int x, int y) cave[x][y] = Yballoon_sB; next[x][y] = Xblank; if (cave[x+1][y] == Xblank) - cave[x+1][y] = Xacid_splash_e; + cave[x+1][y] = Xsplash_e; if (cave[x-1][y] == Xblank) - cave[x-1][y] = Xacid_splash_w; + cave[x-1][y] = Xsplash_w; play_element_sound(x, y, SOUND_acid, Xacid_1); return; } @@ -5449,8 +5945,16 @@ static void Lballoon(int x, int y) switch (cave[x-1][y]) { case Xblank: - case Xacid_splash_e: - case Xacid_splash_w: + case Xsplash_e: + case Xsplash_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; @@ -5468,9 +5972,9 @@ static void Lballoon(int x, int y) cave[x][y] = Yballoon_wB; next[x][y] = Xblank; if (cave[x][y-1] == Xblank) - cave[x][y-1] = Xacid_splash_e; + cave[x][y-1] = Xsplash_e; if (cave[x-2][y-1] == Xblank) - cave[x-2][y-1] = Xacid_splash_w; + cave[x-2][y-1] = Xsplash_w; play_element_sound(x, y, SOUND_acid, Xacid_1); return; } @@ -5659,8 +6163,16 @@ static void Ldrip_fall(int x, int y) switch (cave[x][y+1]) { case Xblank: - case Xacid_splash_e: - case Xacid_splash_w: + case Xsplash_e: + case Xsplash_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: @@ -5681,9 +6193,9 @@ static void Ldrip_fall(int x, int y) cave[x][y] = Ydrip_1_sB; next[x][y] = Xdrip_stretchB; if (cave[x+1][y] == Xblank) - cave[x+1][y] = Xacid_splash_e; + cave[x+1][y] = Xsplash_e; if (cave[x-1][y] == Xblank) - cave[x-1][y] = Xacid_splash_w; + cave[x-1][y] = Xsplash_w; play_element_sound(x, y, SOUND_acid, Xacid_1); return; @@ -5763,8 +6275,16 @@ static void Lsand_stone(int x, int y) switch (cave[x][y+1]) { case Xblank: - case Xacid_splash_e: - case Xacid_splash_w: + case Xsplash_e: + case Xsplash_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; @@ -5782,9 +6302,9 @@ static void Lsand_stone(int x, int y) cave[x][y] = Xsand_stonesand_quickout_1; next[x][y] = Xsand_stonesand_quickout_2; if (cave[x+1][y] == Xblank) - cave[x+1][y] = Xacid_splash_e; + cave[x+1][y] = Xsplash_e; if (cave[x-1][y] == Xblank) - cave[x-1][y] = Xacid_splash_w; + cave[x-1][y] = Xsplash_w; play_element_sound(x, y, SOUND_acid, Xacid_1); return; @@ -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,39 +6396,38 @@ static void Lsand_stonesand_quickout_2(int x, int y) { next[x][y] = Xsand; } -#endif -static void Lslidewall_ns(int x, int y) +static void Lslide_ns(int x, int y) { if (tab_blank[cave[x][y-1]]) { - cave[x][y-1] = Yslidewall_ns_blank; - next[x][y-1] = Xslidewall_ns; - play_element_sound(x, y, SOUND_slidewall, Xslidewall_ns); + cave[x][y-1] = Yslide_ns_blank; + next[x][y-1] = Xslide_ns; + play_element_sound(x, y, SOUND_slide, Xslide_ns); } if (tab_blank[cave[x][y+1]]) { - cave[x][y+1] = Yslidewall_ns_blank; - next[x][y+1] = Xslidewall_ns; - play_element_sound(x, y, SOUND_slidewall, Xslidewall_ns); + cave[x][y+1] = Yslide_ns_blank; + next[x][y+1] = Xslide_ns; + play_element_sound(x, y, SOUND_slide, Xslide_ns); } } -static void Lslidewall_ew(int x, int y) +static void Lslide_ew(int x, int y) { if (tab_blank[cave[x+1][y]]) { - cave[x+1][y] = Yslidewall_ew_blank; - next[x+1][y] = Xslidewall_ew; - play_element_sound(x, y, SOUND_slidewall, Xslidewall_ew); + cave[x+1][y] = Yslide_ew_blank; + next[x+1][y] = Xslide_ew; + play_element_sound(x, y, SOUND_slide, Xslide_ew); } if (tab_blank[cave[x-1][y]]) { - cave[x-1][y] = Yslidewall_ew_blank; - next[x-1][y] = Xslidewall_ew; - play_element_sound(x, y, SOUND_slidewall, Xslidewall_ew); + cave[x-1][y] = Yslide_ew_blank; + next[x-1][y] = Xslide_ew; + play_element_sound(x, y, SOUND_slide, Xslide_ew); } } @@ -5964,8 +6482,16 @@ static void Lamoeba(int x, int y) switch (cave[x][y]) { case Xblank: - case Xacid_splash_e: - case Xacid_splash_w: + case Xsplash_e: + case Xsplash_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,13 +6706,11 @@ 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; + case Xslide_ns: Lslide_ns(x, y); break; + case Xslide_ew: Lslide_ew(x, y); break; case Xexit: Lexit(x, y); break; case Xexit_1: Lexit_1(x, y); break; @@ -6210,9 +6732,9 @@ void logic_1(void) int start_check_nr; int i; - cave = Cave; - next = Next; - boom = Boom; + cave = lev.cave; + next = lev.next; + boom = lev.boom; game_em.any_player_moving = FALSE; game_em.any_player_snapping = FALSE; @@ -6228,6 +6750,17 @@ void logic_1(void) for (i = 0; i < MAX_PLAYERS; i++) { + /* check for wrap-around movement */ + if (ply[i].x < lev.left || + ply[i].x > lev.right - 1) + { + ply[i].x = (ply[i].x < lev.left ? lev.right - 1 : lev.left); + + game.centered_player_nr_next = i; + game.set_centered_player = TRUE; + game.set_centered_player_fast = TRUE; + } + ply[i].oldx = ply[i].x; ply[i].oldy = ply[i].y; ply[i].anim = PLY_still; @@ -6266,15 +6799,15 @@ void logic_2(void) { int x, y; - cave = Cave; - next = Next; - boom = Boom; + cave = lev.cave; + next = lev.next; + boom = lev.boom; seed = RandomEM; score = 0; - for (y = 1; y < HEIGHT - 1; y++) - for (x = 0; x < WIDTH; x++) + for (y = lev.top; y < lev.bottom; y++) + for (x = lev.left; x < lev.right; x++) handle_tile(x, y); if (ply[0].alive || ply[1].alive || ply[2].alive || ply[3].alive) @@ -6285,10 +6818,10 @@ void logic_2(void) RandomEM = seed; /* triple buffering */ - void *temp = Cave; - Cave = Next; - Next = Draw; - Draw = temp; + void *temp = lev.cave; + lev.cave = lev.next; + lev.next = lev.draw; + lev.draw = temp; } void logic_3(void) @@ -6298,9 +6831,9 @@ void logic_3(void) int count; unsigned int random; - cave = Cave; - next = Next; - boom = Boom; + cave = lev.cave; + next = lev.next; + boom = lev.boom; /* update variables */ @@ -6334,10 +6867,12 @@ void logic_3(void) for (count = lev.amoeba_time; count--;) { - x = (random >> 10) % (WIDTH - 2); - y = (random >> 20) % (HEIGHT - 2); + x = lev.left - 1 + (random >> 10) % (CAVE_WIDTH + 2); + y = lev.top - 1 + (random >> 20) % (CAVE_HEIGHT + 2); - Lamoeba(x, y); + if (x >= lev.left && x < lev.right && + y >= lev.top && y < lev.bottom) + Lamoeba(x, y); random = random * 129 + 1; } @@ -6346,13 +6881,13 @@ void logic_3(void) /* handle explosions */ - for (y = 1; y < HEIGHT - 1; y++) - for (x = 1; x < WIDTH - 1; x++) + for (y = lev.top; y < lev.bottom; y++) + for (x = lev.left; x < lev.right; x++) Lexplode(x, y); /* triple buffering */ - for (y = 0; y < HEIGHT; y++) - for (x = 0; x < WIDTH; x++) - Next[x][y] = Cave[x][y]; + for (y = lev.top; y < lev.bottom; y++) + for (x = lev.left; x < lev.right; x++) + next[x][y] = cave[x][y]; }