Fixed bug #2424530 - "IHNM: SFX are no longer played", by assigning correct default values for missing config manager settings

svn-id: r35436
This commit is contained in:
Filippos Karapetis 2008-12-19 10:54:05 +00:00
parent b7dbd3ec06
commit 2911aa04c1
2 changed files with 9 additions and 9 deletions

View file

@ -141,10 +141,10 @@ SagaEngine::~SagaEngine() {
} }
Common::Error SagaEngine::init() { Common::Error SagaEngine::init() {
_musicVolume = ConfMan.getInt("music_volume"); _musicVolume = ConfMan.hasKey("music_volume") ? ConfMan.getInt("music_volume") : 255;
_subtitlesEnabled = ConfMan.getBool("subtitles"); _subtitlesEnabled = ConfMan.hasKey("subtitles") ? ConfMan.getBool("subtitles") : true;
_readingSpeed = getTalkspeed(); _readingSpeed = getTalkspeed();
_copyProtection = ConfMan.getBool("copy_protection"); _copyProtection = ConfMan.hasKey("copy_protection") ? ConfMan.getBool("copy_protection") : false;
_gf_wyrmkeep = false; _gf_wyrmkeep = false;
_gf_compressed_sounds = false; _gf_compressed_sounds = false;
_musicWasPlaying = false; _musicWasPlaying = false;
@ -217,7 +217,7 @@ Common::Error SagaEngine::init() {
_voicesEnabled = true; _voicesEnabled = true;
ConfMan.setBool("voices", true); ConfMan.setBool("voices", true);
} else { } else {
_voicesEnabled = ConfMan.getBool("voices"); _voicesEnabled = ConfMan.hasKey("voices") ? ConfMan.getBool("voices") : true;
} }
} else { } else {
_voicesEnabled = true; _voicesEnabled = true;
@ -518,17 +518,17 @@ void SagaEngine::setTalkspeed(int talkspeed) {
} }
int SagaEngine::getTalkspeed() { int SagaEngine::getTalkspeed() {
return (ConfMan.getInt("talkspeed") * 3 + 255 / 2) / 255; return ((ConfMan.hasKey("talkspeed") ? ConfMan.getInt("talkspeed") : 255) * 3 + 255 / 2) / 255;
} }
void SagaEngine::syncSoundSettings() { void SagaEngine::syncSoundSettings() {
_subtitlesEnabled = ConfMan.getBool("subtitles"); _subtitlesEnabled = ConfMan.hasKey("subtitles") ? ConfMan.getBool("subtitles") : true;
_readingSpeed = getTalkspeed(); _readingSpeed = getTalkspeed();
if (_readingSpeed > 3) if (_readingSpeed > 3)
_readingSpeed = 0; _readingSpeed = 0;
_musicVolume = ConfMan.getInt("music_volume"); _musicVolume = ConfMan.hasKey("music_volume") ? ConfMan.getInt("music_volume") : 255;
_music->setVolume(_musicVolume, 1); _music->setVolume(_musicVolume, 1);
_sound->setVolume(); _sound->setVolume();
} }

View file

@ -206,8 +206,8 @@ void Sound::stopAll() {
} }
void Sound::setVolume() { void Sound::setVolume() {
_vm->_soundVolume = ConfMan.getInt("sound_volume"); _vm->_soundVolume = ConfMan.hasKey("sound_volume") ? ConfMan.getInt("sound_volume") : 255;
_vm->_speechVolume = ConfMan.getInt("speech_volume"); _vm->_speechVolume = ConfMan.hasKey("speech_volume") ? ConfMan.getInt("speech_volume") : 255;
_mixer->setVolumeForSoundType(Audio::Mixer::kSFXSoundType, _vm->_soundVolume); _mixer->setVolumeForSoundType(Audio::Mixer::kSFXSoundType, _vm->_soundVolume);
_mixer->setVolumeForSoundType(Audio::Mixer::kSpeechSoundType, _vm->_speechVolume); _mixer->setVolumeForSoundType(Audio::Mixer::kSpeechSoundType, _vm->_speechVolume);
} }