[Scummvm-cvs-logs] SF.net SVN: scummvm:[46896] scummvm/trunk/engines/sci/sfx

thebluegr at users.sourceforge.net thebluegr at users.sourceforge.net
Sat Jan 2 20:24:52 CET 2010


Revision: 46896
          http://scummvm.svn.sourceforge.net/scummvm/?rev=46896&view=rev
Author:   thebluegr
Date:     2010-01-02 19:24:52 +0000 (Sat, 02 Jan 2010)

Log Message:
-----------
SCI/new music code: Fixed sound patch loading when restoring a saved game

Modified Paths:
--------------
    scummvm/trunk/engines/sci/sfx/music.cpp
    scummvm/trunk/engines/sci/sfx/soundcmd.cpp

Modified: scummvm/trunk/engines/sci/sfx/music.cpp
===================================================================
--- scummvm/trunk/engines/sci/sfx/music.cpp	2010-01-02 19:01:34 UTC (rev 46895)
+++ scummvm/trunk/engines/sci/sfx/music.cpp	2010-01-02 19:24:52 UTC (rev 46896)
@@ -355,7 +355,8 @@
 			channelFilterMask = pSnd->soundRes->getChannelFilterMask(_pMidiDrv->getPlayMask(_soundVersion));
 			pSnd->pMidiParser->loadMusic(track, pSnd, channelFilterMask, _soundVersion);
 
-			pSnd->pMidiParser->jumpToTick(pSnd->ticker);	// for resuming when loading
+			// Fast forward to the last position and perform associated events when loading
+			pSnd->pMidiParser->jumpToTick(pSnd->ticker, true);
 			_mutex.unlock();
 		}
 	}

Modified: scummvm/trunk/engines/sci/sfx/soundcmd.cpp
===================================================================
--- scummvm/trunk/engines/sci/sfx/soundcmd.cpp	2010-01-02 19:01:34 UTC (rev 46895)
+++ scummvm/trunk/engines/sci/sfx/soundcmd.cpp	2010-01-02 19:24:52 UTC (rev 46896)
@@ -1007,6 +1007,8 @@
 #ifndef USE_OLD_MUSIC_FUNCTIONS
 	Common::StackLock lock(_music->_mutex);
 
+	_music->resetDriver();
+
 	const MusicList::iterator end = _music->getPlayListEnd();
 	for (MusicList::iterator i = _music->getPlayListStart(); i != end; ++i) {
 		if (savegame_version < 14) {
@@ -1023,7 +1025,6 @@
 			cmdPlaySound((*i)->soundObj, 0);
 	}
 
-	_music->resetDriver();
 #endif
 }
 


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