X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Fgame_bd%2Fbd_caveengine.c;h=2793d26f2f93c968e7b4d4d83ff2df997abac611;hb=add3f75baa4b9a072bccd72537f0f5ccb5f225a5;hp=e174f916bfc7329a1f83c9d295dc2723b9672a1f;hpb=70d64256513a57f375431931c606ae85ed5b9d3f;p=rocksndiamonds.git diff --git a/src/game_bd/bd_caveengine.c b/src/game_bd/bd_caveengine.c index e174f916..2793d26f 100644 --- a/src/game_bd/bd_caveengine.c +++ b/src/game_bd/bd_caveengine.c @@ -126,9 +126,19 @@ void gd_cave_set_seconds_sound(GdCave *cave) } } +// returns true if the element can fall +static inline boolean el_can_fall(const int element) +{ + return (gd_elements[element & O_MASK].properties & P_CAN_FALL) != 0; +} + // play diamond or stone sound of given element. static void play_sound_of_element(GdCave *cave, GdElement element, int x, int y) { + // check if sound should be skipped for falling elements (and only be played on impact) + if (el_can_fall(element) && skip_bd_falling_sounds()) + return; + // stone and diamond fall sounds. switch (element) {