Scale volume cvars by half, 200% max and 50% default

This commit is contained in:
James R 2020-09-25 02:23:44 -07:00
parent c9e3281b99
commit 922f6aa9f8
2 changed files with 6 additions and 5 deletions

View file

@ -648,7 +648,8 @@ extern const char *compdate, *comptime, *comprevision, *compbranch;
/// Divide volume of music and sounds by this much (loudest sounds on earth)
#define VOLUME_DIVIDER 4
#define MAX_VOLUME ( 100 * VOLUME_DIVIDER )
#define USER_VOLUME_SCALE 2
#define MAX_VOLUME ( 100 * VOLUME_DIVIDER / USER_VOLUME_SCALE )
#if defined (HAVE_CURL) && ! defined (NONET)
#define MASTERSERVER

View file

@ -92,8 +92,8 @@ consvar_t stereoreverse = {"stereoreverse", "Off", CV_SAVE, CV_OnOff, NULL, 0, N
static consvar_t precachesound = {"precachesound", "Off", CV_SAVE, CV_OnOff, NULL, 0, NULL, NULL, 0, 0, NULL};
// actual general (maximum) sound & music volume, saved into the config
consvar_t cv_soundvolume = {"soundvolume", "100", CV_SAVE, soundvolume_cons_t, NULL, 0, NULL, NULL, 0, 0, NULL};
consvar_t cv_digmusicvolume = {"musicvolume", "100", CV_SAVE, soundvolume_cons_t, NULL, 0, NULL, NULL, 0, 0, NULL};
consvar_t cv_soundvolume = {"soundvolume", "50", CV_SAVE, soundvolume_cons_t, NULL, 0, NULL, NULL, 0, 0, NULL};
consvar_t cv_digmusicvolume = {"musicvolume", "50", CV_SAVE, soundvolume_cons_t, NULL, 0, NULL, NULL, 0, 0, NULL};
// number of channels available
#if defined (_WIN32_WCE) || defined (DC) || defined (PSP) || defined(GP2X)
consvar_t cv_numChannels = {"snd_channels", "8", CV_SAVE|CV_CALL, CV_Unsigned, SetChannelsNum, 0, NULL, NULL, 0, 0, NULL};
@ -1154,7 +1154,7 @@ void S_UpdateSounds(void)
void S_SetSfxVolume(INT32 volume)
{
CV_SetValue(&cv_soundvolume, volume);
actualsfxvolume = cv_soundvolume.value; // check for change of var
actualsfxvolume = cv_soundvolume.value * USER_VOLUME_SCALE;
#ifdef HW3SOUND
hws_mode == HWS_DEFAULT_MODE ? I_SetSfxVolume(volume&0x1F) : HW3S_SetSfxVolume(volume&0x1F);
@ -2123,7 +2123,7 @@ void S_SetMusicVolume(INT32 digvolume)
digvolume = cv_digmusicvolume.value;
CV_SetValue(&cv_digmusicvolume, digvolume);
actualdigmusicvolume = cv_digmusicvolume.value; //check for change of var
actualdigmusicvolume = cv_digmusicvolume.value * USER_VOLUME_SCALE;
#ifdef DJGPPDOS
digvolume = 31;