if (faketrack != -1)
S_SetChannelVolume (faketrack, newvol);
else
- CDAudio_SysSetVolume (newvol);
+ CDAudio_SysSetVolume (newvol * mastervolume.value);
}
cdvolume = newvol;
#include "snd_3dras.h"
cvar_t bgmvolume = {CVAR_SAVE, "bgmvolume", "1", "volume of background music (such as CD music or replacement files such as sound/cdtracks/track002.ogg)"};
+cvar_t mastervolume = {CVAR_SAVE, "mastervolume", "1", "master volume"};
cvar_t volume = {CVAR_SAVE, "volume", "0.7", "volume of sound effects"};
cvar_t snd_staticvolume = {CVAR_SAVE, "snd_staticvolume", "1", "volume of ambient sound effects (such as swampy sounds at the start of e1m2)"};
cvar_t snd_initialized = { CVAR_READONLY, "snd_initialized", "0", "indicates the sound subsystem is active"};
Con_Printf ("Version %i found\n",ras_version);
Cvar_RegisterVariable(&volume);
Cvar_RegisterVariable(&bgmvolume);
+ Cvar_RegisterVariable(&mastervolume);
Cvar_RegisterVariable(&snd_staticvolume);
Cvar_RegisterVariable(&snd_precache);
// Cvars declared in sound.h (part of the sound API)
cvar_t bgmvolume = {CVAR_SAVE, "bgmvolume", "1", "volume of background music (such as CD music or replacement files such as sound/cdtracks/track002.ogg)"};
+cvar_t mastervolume = {CVAR_SAVE, "mastervolume", "0.7", "master volume"};
cvar_t volume = {CVAR_SAVE, "volume", "0.7", "volume of sound effects"};
cvar_t snd_initialized = { CVAR_READONLY, "snd_initialized", "0", "indicates the sound subsystem is active"};
cvar_t snd_staticvolume = {CVAR_SAVE, "snd_staticvolume", "1", "volume of ambient sound effects (such as swampy sounds at the start of e1m2)"};
{
Cvar_RegisterVariable(&volume);
Cvar_RegisterVariable(&bgmvolume);
+ Cvar_RegisterVariable(&mastervolume);
Cvar_RegisterVariable(&snd_staticvolume);
Cvar_RegisterVariable(&snd_entchannel0volume);
Cvar_RegisterVariable(&snd_entchannel1volume);
// If this channel manages its own volume
if (ch->flags & CHANNELFLAG_FULLVOLUME)
- snd_vol = 256;
+ snd_vol = (int)(mastervolume.value * 256);
else
- snd_vol = (int)(volume.value * 256);
+ snd_vol = (int)(mastervolume.value * volume.value * 256);
// calculate mixing volumes based on channel volumes and volume cvar
// also limit the volumes to values that won't clip
#include "quakedef.h"
cvar_t bgmvolume = {CVAR_SAVE, "bgmvolume", "1", "volume of background music (such as CD music or replacement files such as sound/cdtracks/track002.ogg)"};
+cvar_t mastervolume = {CVAR_SAVE, "mastervolume", "1", "master volume"};
cvar_t volume = {CVAR_SAVE, "volume", "0.7", "volume of sound effects"};
cvar_t snd_staticvolume = {CVAR_SAVE, "snd_staticvolume", "1", "volume of ambient sound effects (such as swampy sounds at the start of e1m2)"};
cvar_t snd_initialized = { CVAR_READONLY, "snd_initialized", "0", "indicates the sound subsystem is active"};
void S_Init (void)
{
Cvar_RegisterVariable(&bgmvolume);
+ Cvar_RegisterVariable(&mastervolume);
Cvar_RegisterVariable(&volume);
Cvar_RegisterVariable(&snd_staticvolume);
Cvar_RegisterVariable(&snd_initialized);
typedef struct sfx_s sfx_t;
+extern cvar_t mastervolume;
extern cvar_t bgmvolume;
extern cvar_t volume;
extern cvar_t snd_initialized;