diff --git a/engines/cge2/cge2.h b/engines/cge2/cge2.h index 05afd2640df..38b48aaa235 100644 --- a/engines/cge2/cge2.h +++ b/engines/cge2/cge2.h @@ -218,6 +218,7 @@ public: void switchSay(); void checkSaySwitch(); void initToolbar(); + void initVolumeSwitch(Sprite *volSwitch); void checkSounds(); diff --git a/engines/cge2/toolbar.cpp b/engines/cge2/toolbar.cpp index 2604a2fee71..51614af8eda 100644 --- a/engines/cge2/toolbar.cpp +++ b/engines/cge2/toolbar.cpp @@ -281,9 +281,16 @@ void CGE2Engine::initToolbar() { _vol[1] = _vga->_showQ->locate(kMvolRef); if (_vol[0]) - _vol[0]->step(ConfMan.getInt("sfx_volume") / kSoundNumtoStateRate); + initVolumeSwitch(_vol[0]); if (_vol[1]) - _vol[1]->step(ConfMan.getInt("music_volume") / kSoundNumtoStateRate); + initVolumeSwitch(_vol[1]); +} + +void CGE2Engine::initVolumeSwitch(Sprite *volSwitch) { + int state = 0; + if (!ConfMan.getBool("mute")) + state = ConfMan.getInt("sfx_volume") / kSoundNumtoStateRate; + volSwitch->step(state); } } // End of namespace CGE2