X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Fgame_em%2Flogic.c;h=68a977aad53bb02c072445e020b63ac5264a35f7;hb=a8c9aaa1bffd5378dbadd747866a10bd7e2faa4d;hp=7840734eaa75235a2d3a6b977be4b3f39c0ddf1e;hpb=63539da7f2d5e1ca071f0e4a9d897df0595d6ae5;p=rocksndiamonds.git diff --git a/src/game_em/logic.c b/src/game_em/logic.c index 7840734e..68a977aa 100644 --- a/src/game_em/logic.c +++ b/src/game_em/logic.c @@ -165,7 +165,7 @@ static void Lboom_eater(int x, int y) boom[x][y+1] = lev.eater_array[lev.eater_pos][7]; boom[x+1][y+1] = lev.eater_array[lev.eater_pos][8]; - lev.eater_pos = (lev.eater_pos + 1) % 8; + lev.eater_pos = (lev.eater_pos + 1) % lev.num_eater_arrays; #if PLAY_ELEMENT_SOUND play_element_sound(x, y, SOUND_boom, Xeater_n); @@ -5744,6 +5744,8 @@ static void Lpush_emerald_e(int x, int y) case Xacid_6: case Xacid_7: case Xacid_8: + if (game_em.use_old_push_into_acid) + break; if (cave[x+2][y-1] == Xblank) cave[x+2][y-1] = Xsplash_e; if (cave[x][y-1] == Xblank) @@ -5790,6 +5792,8 @@ static void Lpush_emerald_w(int x, int y) case Xacid_6: case Xacid_7: case Xacid_8: + if (game_em.use_old_push_into_acid) + break; if (cave[x][y-1] == Xblank) cave[x][y-1] = Xsplash_e; if (cave[x-2][y-1] == Xblank) @@ -5836,6 +5840,8 @@ static void Lpush_diamond_e(int x, int y) case Xacid_6: case Xacid_7: case Xacid_8: + if (game_em.use_old_push_into_acid) + break; if (cave[x+2][y-1] == Xblank) cave[x+2][y-1] = Xsplash_e; if (cave[x][y-1] == Xblank) @@ -5882,6 +5888,8 @@ static void Lpush_diamond_w(int x, int y) case Xacid_6: case Xacid_7: case Xacid_8: + if (game_em.use_old_push_into_acid) + break; if (cave[x][y-1] == Xblank) cave[x][y-1] = Xsplash_e; if (cave[x-2][y-1] == Xblank) @@ -5928,6 +5936,8 @@ static void Lpush_stone_e(int x, int y) case Xacid_6: case Xacid_7: case Xacid_8: + if (game_em.use_old_push_into_acid) + break; if (cave[x+2][y-1] == Xblank) cave[x+2][y-1] = Xsplash_e; if (cave[x][y-1] == Xblank) @@ -5974,6 +5984,8 @@ static void Lpush_stone_w(int x, int y) case Xacid_6: case Xacid_7: case Xacid_8: + if (game_em.use_old_push_into_acid) + break; if (cave[x][y-1] == Xblank) cave[x][y-1] = Xsplash_e; if (cave[x-2][y-1] == Xblank) @@ -6020,6 +6032,8 @@ static void Lpush_bomb_e(int x, int y) case Xacid_6: case Xacid_7: case Xacid_8: + if (game_em.use_old_push_into_acid) + break; if (cave[x+2][y-1] == Xblank) cave[x+2][y-1] = Xsplash_e; if (cave[x][y-1] == Xblank) @@ -6066,6 +6080,8 @@ static void Lpush_bomb_w(int x, int y) case Xacid_6: case Xacid_7: case Xacid_8: + if (game_em.use_old_push_into_acid) + break; if (cave[x][y-1] == Xblank) cave[x][y-1] = Xsplash_e; if (cave[x-2][y-1] == Xblank) @@ -6112,6 +6128,8 @@ static void Lpush_nut_e(int x, int y) case Xacid_6: case Xacid_7: case Xacid_8: + if (game_em.use_old_push_into_acid) + break; if (cave[x+2][y-1] == Xblank) cave[x+2][y-1] = Xsplash_e; if (cave[x][y-1] == Xblank) @@ -6158,6 +6176,8 @@ static void Lpush_nut_w(int x, int y) case Xacid_6: case Xacid_7: case Xacid_8: + if (game_em.use_old_push_into_acid) + break; if (cave[x][y-1] == Xblank) cave[x][y-1] = Xsplash_e; if (cave[x-2][y-1] == Xblank) @@ -6204,6 +6224,8 @@ static void Lpush_spring_e(int x, int y) case Xacid_6: case Xacid_7: case Xacid_8: + if (game_em.use_old_push_into_acid) + break; if (cave[x+2][y-1] == Xblank) cave[x+2][y-1] = Xsplash_e; if (cave[x][y-1] == Xblank) @@ -6250,6 +6272,8 @@ static void Lpush_spring_w(int x, int y) case Xacid_6: case Xacid_7: case Xacid_8: + if (game_em.use_old_push_into_acid) + break; if (cave[x][y-1] == Xblank) cave[x][y-1] = Xsplash_e; if (cave[x-2][y-1] == Xblank)