summaryrefslogtreecommitdiff
path: root/src/gui/setup_audio.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/gui/setup_audio.cpp')
-rw-r--r--src/gui/setup_audio.cpp19
1 files changed, 10 insertions, 9 deletions
diff --git a/src/gui/setup_audio.cpp b/src/gui/setup_audio.cpp
index 5e13574e..3f98c44f 100644
--- a/src/gui/setup_audio.cpp
+++ b/src/gui/setup_audio.cpp
@@ -79,9 +79,14 @@ Setup_Audio::Setup_Audio():
void Setup_Audio::apply()
{
- if (mSoundCheckBox->isSelected())
+ mSoundEnabled = mSoundCheckBox->isSelected();
+ mSfxVolume = (int) config.getValue("sfxVolume", 100);
+ mMusicVolume = (int) config.getValue("musicVolume", 60);
+
+ config.setValue("sound", mSoundEnabled);
+
+ if (mSoundEnabled)
{
- config.setValue("sound", 1);
try
{
sound.init();
@@ -92,20 +97,16 @@ void Setup_Audio::apply()
logger->log("Warning: %s", err);
}
- if (engine) {
+ if (engine)
+ {
Map *currentMap = engine->getCurrentMap();
sound.playMusic(currentMap->getProperty("music"), -1);
}
}
else
{
- config.setValue("sound", 0);
sound.close();
}
-
- mSoundEnabled = config.getValue("sound", 0);
- mSfxVolume = (int) config.getValue("sfxVolume", 100);
- mMusicVolume = (int) config.getValue("musicVolume", 60);
}
void Setup_Audio::cancel()
@@ -118,7 +119,7 @@ void Setup_Audio::cancel()
sound.setMusicVolume(mMusicVolume);
mMusicSlider->setValue(mMusicVolume);
- config.setValue("sound", mSoundEnabled ? 1 : 0);
+ config.setValue("sound", mSoundEnabled);
config.setValue("sfxVolume", mSfxVolume);
config.setValue("musicVolume", mMusicVolume);
}