X-Git-Url: https://git.artsoft.org/?p=rocksndiamonds.git;a=blobdiff_plain;f=src%2Fgame.c;h=48482c90e6f63224a69ad8c888811f974a00aa82;hp=1fbb21a5cef1115e2672f62d0f3dd47f907f9da4;hb=0c27626bae90cb1eeea4939de0130a49b9aac507;hpb=776100a335243955272732ccba109d366e0ba3fd diff --git a/src/game.c b/src/game.c index 1fbb21a5..48482c90 100644 --- a/src/game.c +++ b/src/game.c @@ -1313,6 +1313,11 @@ void DynaExplode(int ex, int ey) break; element = Feld[x][y]; + + /* do not restart explosions of fields with active bombs */ + if (element == EL_EXPLODING && IS_ACTIVE_BOMB(Store2[x][y])) + continue; + Explode(x, y, EX_PHASE_START, EX_BORDER); if (element != EL_LEERRAUM && @@ -4579,6 +4584,8 @@ int DigField(struct PlayerInfo *player, player->programmed_action = move_direction; DOUBLE_PLAYER_SPEED(player); + PlaySoundLevel(x, y, SND_GATE); + break; case EL_EM_GATE_1X: @@ -4594,6 +4601,8 @@ int DigField(struct PlayerInfo *player, player->programmed_action = move_direction; DOUBLE_PLAYER_SPEED(player); + PlaySoundLevel(x, y, SND_GATE); + break; case EL_SP_PORT1_LEFT: @@ -4635,6 +4644,8 @@ int DigField(struct PlayerInfo *player, player->programmed_action = move_direction; DOUBLE_PLAYER_SPEED(player); + PlaySoundLevel(x, y, SND_GATE); + break; case EL_AUSGANG_ZU: