[Scummvm-cvs-logs] SF.net SVN: scummvm: [29257] scummvm/trunk/engines/lure

dreammaster at users.sourceforge.net dreammaster at users.sourceforge.net
Thu Oct 25 12:39:20 CEST 2007


Revision: 29257
          http://scummvm.svn.sourceforge.net/scummvm/?rev=29257&view=rev
Author:   dreammaster
Date:     2007-10-25 03:39:19 -0700 (Thu, 25 Oct 2007)

Log Message:
-----------
Bugfix to make sound toggle work correctly, and added flag state to savegames

Modified Paths:
--------------
    scummvm/trunk/engines/lure/game.cpp
    scummvm/trunk/engines/lure/game.h
    scummvm/trunk/engines/lure/sound.cpp

Modified: scummvm/trunk/engines/lure/game.cpp
===================================================================
--- scummvm/trunk/engines/lure/game.cpp	2007-10-25 10:37:23 UTC (rev 29256)
+++ scummvm/trunk/engines/lure/game.cpp	2007-10-25 10:39:19 UTC (rev 29257)
@@ -877,7 +877,9 @@
 
 	_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 @@
 
 void Game::saveToStream(WriteStream *stream) {
 	stream->writeByte(_fastTextFlag);
+	stream->writeByte(_soundFlag);
 }
 
 void Game::loadFromStream(ReadStream *stream) {
@@ -988,6 +991,9 @@
 
 	_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);
 }
 
 

Modified: scummvm/trunk/engines/lure/game.h
===================================================================
--- scummvm/trunk/engines/lure/game.h	2007-10-25 10:37:23 UTC (rev 29256)
+++ scummvm/trunk/engines/lure/game.h	2007-10-25 10:39:19 UTC (rev 29257)
@@ -79,6 +79,7 @@
 	void setState(uint8 flags) { _state = flags; }
 	bool &preloadFlag() { return _preloadFlag; }
 	bool fastTextFlag() { return _fastTextFlag; }
+	bool soundFlag() { return _soundFlag; }
 
 	// Menu item support methods
 	void doDebugMenu();

Modified: scummvm/trunk/engines/lure/sound.cpp
===================================================================
--- scummvm/trunk/engines/lure/sound.cpp	2007-10-25 10:37:23 UTC (rev 29256)
+++ scummvm/trunk/engines/lure/sound.cpp	2007-10-25 10:39:19 UTC (rev 29257)
@@ -365,6 +365,10 @@
 		// Only play sounds if a sound driver is active
 		return;
 
+	if (!Game::getReference().soundFlag())
+		// Don't play sounds if sound is turned off
+		return;
+
 	uint32 dataOfs = READ_LE_UINT32(_soundData->data() + soundNum * 4 + 2);
 	uint8 *soundStart = _soundData->data() + dataOfs;
 	uint32 dataSize;


This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.




More information about the Scummvm-git-logs mailing list