X-Git-Url: http://de.git.xonotic.org/?a=blobdiff_plain;f=snd_dma.c;h=a3edbbfb8f2ed8098952e1e67559620d0d3f078c;hb=f1ad1e170799ce0b162b1738628006516a36d902;hp=6587918d63916921cb5350d61106f65d5c7e6d8c;hpb=6fb3daf04a26ac42b15c02c2276f6820ffe795a8;p=xonotic%2Fdarkplaces.git diff --git a/snd_dma.c b/snd_dma.c index 6587918d..a3edbbfb 100644 --- a/snd_dma.c +++ b/snd_dma.c @@ -73,7 +73,7 @@ cvar_t bgmvolume = {CVAR_SAVE, "bgmvolume", "1"}; cvar_t volume = {CVAR_SAVE, "volume", "0.7"}; cvar_t nosound = {0, "nosound", "0"}; -cvar_t precache = {0, "precache", "1"}; +cvar_t snd_precache = {0, "snd_precache", "1"}; cvar_t bgmbuffer = {0, "bgmbuffer", "4096"}; cvar_t ambient_level = {0, "ambient_level", "0.3"}; cvar_t ambient_fade = {0, "ambient_fade", "100"}; @@ -186,7 +186,7 @@ void S_Init (void) Cmd_AddCommand("soundinfo", S_SoundInfo_f); Cvar_RegisterVariable(&nosound); - Cvar_RegisterVariable(&precache); + Cvar_RegisterVariable(&snd_precache); Cvar_RegisterVariable(&bgmbuffer); Cvar_RegisterVariable(&ambient_level); Cvar_RegisterVariable(&ambient_fade); @@ -285,6 +285,7 @@ sfx_t *S_FindName (char *name) Sys_Error ("S_FindName: out of sfx_t"); sfx = &known_sfx[i]; + memset(sfx, 0, sizeof(*sfx)); strcpy (sfx->name, name); num_sfx++; @@ -325,7 +326,7 @@ sfx_t *S_PrecacheSound (char *name, int complain) sfx = S_FindName (name); // cache it in - if (precache.integer) + if (snd_precache.integer) S_LoadSound (sfx, complain); return sfx; @@ -683,6 +684,8 @@ void S_UpdateAmbientSounds (void) // calc ambient sound levels for (ambient_channel = 0 ; ambient_channel< NUM_AMBIENTS ; ambient_channel++) { + if (ambient_sfx[ambient_channel] && ambient_sfx[ambient_channel]->silentlymissing) + continue; chan = &channels[ambient_channel]; chan->sfx = ambient_sfx[ambient_channel];