aboutsummaryrefslogtreecommitdiff
path: root/engines/lure/game.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'engines/lure/game.cpp')
-rw-r--r--engines/lure/game.cpp8
1 files changed, 7 insertions, 1 deletions
diff --git a/engines/lure/game.cpp b/engines/lure/game.cpp
index 2f95bcb01c..b4b983bf8f 100644
--- a/engines/lure/game.cpp
+++ b/engines/lure/game.cpp
@@ -877,7 +877,9 @@ void Game::doSound() {
_soundFlag = !_soundFlag;
menu.getMenu(2).entries()[2] = sl.getString(_soundFlag ? S_SOUND_ON : S_SOUND_OFF);
- Sound.setVolume(_soundFlag ? DEFAULT_VOLUME : 0);
+
+ // Stop all currently playing sounds
+ Sound.killSounds();
}
void Game::handleBootParam(int value) {
@@ -980,6 +982,7 @@ bool Game::getYN() {
void Game::saveToStream(WriteStream *stream) {
stream->writeByte(_fastTextFlag);
+ stream->writeByte(_soundFlag);
}
void Game::loadFromStream(ReadStream *stream) {
@@ -988,6 +991,9 @@ void Game::loadFromStream(ReadStream *stream) {
_fastTextFlag = stream->readByte() != 0;
menu.getMenu(2).entries()[1] = sl.getString(_fastTextFlag ? S_FAST_TEXT : S_SLOW_TEXT);
+
+ _soundFlag = stream->readByte() != 0;
+ menu.getMenu(2).entries()[2] = sl.getString(_soundFlag ? S_SOUND_ON : S_SOUND_OFF);
}