aboutsummaryrefslogtreecommitdiff
path: root/gui/launcher.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'gui/launcher.cpp')
-rw-r--r--gui/launcher.cpp31
1 files changed, 26 insertions, 5 deletions
diff --git a/gui/launcher.cpp b/gui/launcher.cpp
index e9b784ef45..67b562dfd8 100644
--- a/gui/launcher.cpp
+++ b/gui/launcher.cpp
@@ -61,6 +61,7 @@ enum {
kCmdGlobalGraphicsOverride = 'OGFX',
kCmdGlobalAudioOverride = 'OSFX',
+ kCmdGlobalMIDIOverride = 'OMID',
kCmdGlobalVolumeOverride = 'OVOL',
kCmdExtraBrowser = 'PEXT',
@@ -128,6 +129,7 @@ protected:
CheckboxWidget *_globalGraphicsOverride;
CheckboxWidget *_globalAudioOverride;
+ CheckboxWidget *_globalMIDIOverride;
CheckboxWidget *_globalVolumeOverride;
};
@@ -215,7 +217,7 @@ EditGameDialog::EditGameDialog(const String &domain, GameSettings target)
yoffset += 18;
//
- // 2) The graphics tab
+ // 3) The graphics tab
//
tab->addTab("Gfx");
yoffset = vBorder;
@@ -226,7 +228,7 @@ EditGameDialog::EditGameDialog(const String &domain, GameSettings target)
yoffset = addGraphicControls(tab, yoffset);
//
- // 3) The audio tab
+ // 4) The audio tab
//
tab->addTab("Audio");
yoffset = vBorder;
@@ -234,10 +236,21 @@ EditGameDialog::EditGameDialog(const String &domain, GameSettings target)
_globalAudioOverride = new CheckboxWidget(tab, x, yoffset, w, 16, "Override global audio settings", kCmdGlobalAudioOverride);
yoffset += 16;
+ yoffset = addAudioControls(tab, yoffset);
+
+ //
+ // 5) The MIDI tab
+ //
+ tab->addTab("MIDI");
+ yoffset = vBorder;
+
+ _globalMIDIOverride = new CheckboxWidget(tab, x, yoffset, w, 16, "Override global MIDI settings", kCmdGlobalMIDIOverride);
+ yoffset += 16;
+
yoffset = addMIDIControls(tab, yoffset);
//
- // 3) The volume tab
+ // 6) The volume tab
//
tab->addTab("Volume");
yoffset = vBorder;
@@ -269,10 +282,14 @@ void EditGameDialog::open() {
_globalGraphicsOverride->setState(e);
e = ConfMan.hasKey("music_driver", _domain) ||
- ConfMan.hasKey("multi_midi", _domain) ||
- ConfMan.hasKey("native_mt32", _domain);
+ ConfMan.hasKey("subtitles", _domain);
_globalAudioOverride->setState(e);
+ e = ConfMan.hasKey("multi_midi", _domain) ||
+ ConfMan.hasKey("native_mt32", _domain)||
+ ConfMan.hasKey("enable_gs", _domain);
+ _globalMIDIOverride->setState(e);
+
e = ConfMan.hasKey("music_volume", _domain) ||
ConfMan.hasKey("sfx_volume", _domain) ||
ConfMan.hasKey("speech_volume", _domain);
@@ -342,6 +359,10 @@ void EditGameDialog::handleCommand(CommandSender *sender, uint32 cmd, uint32 dat
setAudioSettingsState(data != 0);
draw();
break;
+ case kCmdGlobalMIDIOverride:
+ setMIDISettingsState(data != 0);
+ draw();
+ break;
case kCmdGlobalVolumeOverride:
setVolumeSettingsState(data != 0);
draw();