diff options
Diffstat (limited to 'src/setup/sound.c')
-rw-r--r-- | src/setup/sound.c | 31 |
1 files changed, 26 insertions, 5 deletions
diff --git a/src/setup/sound.c b/src/setup/sound.c index 9e13edd9..522c4f9f 100644 --- a/src/setup/sound.c +++ b/src/setup/sound.c @@ -74,6 +74,8 @@ int opl_io_port = 0x388; static int numChannels = 8; static int sfxVolume = 15; static int musicVolume = 15; +static int voiceVolume = 15; +static int show_talk = 0; static int use_libsamplerate = 0; // DOS specific variables: these are unused but should be maintained @@ -195,8 +197,6 @@ void ConfigSound(void) TXT_AddWidgets(window, TXT_NewSeparator("Sound effects"), sfx_table = TXT_NewTable(2), - TXT_NewSeparator("Music"), - music_table = TXT_NewTable(2), NULL); TXT_SetColumnWidths(sfx_table, 20, 14); @@ -212,6 +212,21 @@ void ConfigSound(void) TXT_NewSpinControl(&sfxVolume, 0, 15), NULL); + if (gamemission == strife) + { + TXT_AddWidgets(sfx_table, + TXT_NewLabel("Voice volume"), + TXT_NewSpinControl(&voiceVolume, 0, 15), + NULL); + TXT_AddWidget(window, + TXT_NewCheckBox("Show text with voices", &show_talk)); + } + + TXT_AddWidgets(window, + TXT_NewSeparator("Music"), + music_table = TXT_NewTable(2), + NULL); + TXT_SetColumnWidths(music_table, 20, 14); TXT_AddWidgets(music_table, @@ -238,9 +253,15 @@ void BindSoundVariables(void) M_BindVariable("use_libsamplerate", &use_libsamplerate); M_BindVariable("snd_sbport", &snd_sbport); - M_BindVariable("snd_sbirq", &snd_sbirq); - M_BindVariable("snd_sbdma", &snd_sbdma); - M_BindVariable("snd_mport", &snd_mport); + M_BindVariable("snd_sbirq", &snd_sbirq); + M_BindVariable("snd_sbdma", &snd_sbdma); + M_BindVariable("snd_mport", &snd_mport); + + if (gamemission == strife) + { + M_BindVariable("voice_volume", &voiceVolume); + M_BindVariable("show_talk", &show_talk); + } // Before SDL_mixer version 1.2.11, MIDI music caused the game // to crash when it looped. If this is an old SDL_mixer version, |