summaryrefslogtreecommitdiff
path: root/src/setup/sound.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/setup/sound.c')
-rw-r--r--src/setup/sound.c31
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,