summaryrefslogtreecommitdiff
path: root/src/industry_cmd.cpp
diff options
context:
space:
mode:
authorfrosch <frosch@openttd.org>2012-12-23 21:09:09 +0000
committerfrosch <frosch@openttd.org>2012-12-23 21:09:09 +0000
commit3ce8d2ce706fc14084a7d33a000d0b7a39fb19db (patch)
tree6dde407ee402de6f5a5b75059a076222e80c7c0c /src/industry_cmd.cpp
parent345c3203d74b485f5f6569b87c06ad9af79422a2 (diff)
downloadopenttd-3ce8d2ce706fc14084a7d33a000d0b7a39fb19db.tar.xz
(svn r24846) -Add: Advanced settings to disable certain sound effects.
Diffstat (limited to 'src/industry_cmd.cpp')
-rw-r--r--src/industry_cmd.cpp30
1 files changed, 16 insertions, 14 deletions
diff --git a/src/industry_cmd.cpp b/src/industry_cmd.cpp
index ab10c7de8..1ca511f01 100644
--- a/src/industry_cmd.cpp
+++ b/src/industry_cmd.cpp
@@ -540,9 +540,11 @@ static void AnimateTile_Industry(TileIndex tile)
if ((_tick_counter & 1) == 0) {
byte m = GetAnimationFrame(tile) + 1;
- switch (m & 7) {
- case 2: SndPlayTileFx(SND_2D_RIP_2, tile); break;
- case 6: SndPlayTileFx(SND_29_RIP, tile); break;
+ if (_settings_client.sound.ambient) {
+ switch (m & 7) {
+ case 2: SndPlayTileFx(SND_2D_RIP_2, tile); break;
+ case 6: SndPlayTileFx(SND_29_RIP, tile); break;
+ }
}
if (m >= 96) {
@@ -559,7 +561,7 @@ static void AnimateTile_Industry(TileIndex tile)
if ((_tick_counter & 3) == 0) {
byte m = GetAnimationFrame(tile);
- if (_industry_anim_offs_toffee[m] == 0xFF) {
+ if (_industry_anim_offs_toffee[m] == 0xFF && _settings_client.sound.ambient) {
SndPlayTileFx(SND_30_CARTOON_SOUND, tile);
}
@@ -606,9 +608,9 @@ static void AnimateTile_Industry(TileIndex tile)
byte m = GetAnimationFrame(tile) + 1;
switch (m) {
- case 1: SndPlayTileFx(SND_2C_MACHINERY, tile); break;
- case 23: SndPlayTileFx(SND_2B_COMEDY_HIT, tile); break;
- case 28: SndPlayTileFx(SND_2A_EXTRACT_AND_POP, tile); break;
+ case 1: if (_settings_client.sound.ambient) SndPlayTileFx(SND_2C_MACHINERY, tile); break;
+ case 23: if (_settings_client.sound.ambient) SndPlayTileFx(SND_2B_COMEDY_HIT, tile); break;
+ case 28: if (_settings_client.sound.ambient) SndPlayTileFx(SND_2A_EXTRACT_AND_POP, tile); break;
default:
if (m >= 50) {
int n = GetIndustryAnimationLoop(tile) + 1;
@@ -671,7 +673,7 @@ static void AnimateTile_Industry(TileIndex tile)
byte m = GetAnimationFrame(tile);
if (!(m & 0x40)) {
SetAnimationFrame(tile, m | 0x40);
- SndPlayTileFx(SND_0B_MINING_MACHINERY, tile);
+ if (_settings_client.sound.ambient) SndPlayTileFx(SND_0B_MINING_MACHINERY, tile);
}
if (state & 7) return;
} else {
@@ -772,7 +774,7 @@ static void TileLoopIndustry_BubbleGenerator(TileIndex tile)
{ 49, 59, 60, 65 },
};
- SndPlayTileFx(SND_2E_EXTRACT_AND_POP, tile);
+ if (_settings_client.sound.ambient) SndPlayTileFx(SND_2E_EXTRACT_AND_POP, tile);
int dir = Random() & 3;
@@ -860,7 +862,7 @@ static void TileLoop_Industry(TileIndex tile)
case GFX_POWERPLANT_SPARKS:
if (Chance16(1, 3)) {
- SndPlayTileFx(SND_0C_ELECTRIC_SPARK, tile);
+ if (_settings_client.sound.ambient) SndPlayTileFx(SND_0C_ELECTRIC_SPARK, tile);
AddAnimatedTile(tile);
}
break;
@@ -1061,7 +1063,7 @@ static bool SearchLumberMillTrees(TileIndex tile, void *user_data)
_industry_sound_ctr = 1;
_industry_sound_tile = tile;
- SndPlayTileFx(SND_38_CHAINSAW, tile);
+ if (_settings_client.sound.ambient) SndPlayTileFx(SND_38_CHAINSAW, tile);
DoCommand(tile, 0, 0, DC_EXEC, CMD_LANDSCAPE_CLEAR);
@@ -1098,7 +1100,7 @@ static void ProduceIndustryGoods(Industry *i)
if ((i->counter & 0x3F) == 0) {
uint32 r;
uint num;
- if (Chance16R(1, 14, r) && (num = indsp->number_of_sounds) != 0) {
+ if (Chance16R(1, 14, r) && (num = indsp->number_of_sounds) != 0 && _settings_client.sound.ambient) {
SndPlayTileFx(
(SoundFx)(indsp->random_sounds[((r >> 16) * num) >> 16]),
i->location.tile);
@@ -1157,10 +1159,10 @@ void OnTick_Industry()
_industry_sound_ctr++;
if (_industry_sound_ctr == 75) {
- SndPlayTileFx(SND_37_BALLOON_SQUEAK, _industry_sound_tile);
+ if (_settings_client.sound.ambient) SndPlayTileFx(SND_37_BALLOON_SQUEAK, _industry_sound_tile);
} else if (_industry_sound_ctr == 160) {
_industry_sound_ctr = 0;
- SndPlayTileFx(SND_36_CARTOON_CRASH, _industry_sound_tile);
+ if (_settings_client.sound.ambient) SndPlayTileFx(SND_36_CARTOON_CRASH, _industry_sound_tile);
}
}