[Scummvm-cvs-logs] CVS: scummvm/sword2/driver d_sound.cpp,1.91,1.92 d_sound.h,1.37,1.38
Torbj?rn Andersson
eriktorbjorn at users.sourceforge.net
Wed Dec 31 06:06:02 CET 2003
Update of /cvsroot/scummvm/scummvm/sword2/driver
In directory sc8-pr-cvs1:/tmp/cvs-serv24644/driver
Modified Files:
d_sound.cpp d_sound.h
Log Message:
When saving the music state, remember the name of the music file that was
open so that it can be re-opened afterwards. It's not so much that it may
have changed, but it may have been closed.
This should fix a crash when escaping the credits.
Index: d_sound.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/sword2/driver/d_sound.cpp,v
retrieving revision 1.91
retrieving revision 1.92
diff -u -d -r1.91 -r1.92
--- d_sound.cpp 28 Dec 2003 15:08:11 -0000 1.91
+++ d_sound.cpp 31 Dec 2003 14:05:53 -0000 1.92
@@ -196,6 +196,11 @@
_music[2]._filePos = _music[saveStream]._filePos;
_music[2]._fileEnd = _music[saveStream]._fileEnd;
_music[2]._lastSample = _music[saveStream]._lastSample;
+
+ if (fpMus.isOpen())
+ savedMusicFilename = strdup(fpMus.name());
+ else
+ savedMusicFilename = NULL;
}
void Sound::restoreMusicState() {
@@ -226,6 +231,15 @@
_music[restoreStream]._filePos = _music[2]._filePos;
_music[restoreStream]._fileEnd = _music[2]._fileEnd;
_music[restoreStream]._lastSample = _music[2]._lastSample;
+
+ if (savedMusicFilename) {
+ if (fpMus.isOpen())
+ fpMus.close();
+
+ fpMus.open(savedMusicFilename);
+ free(savedMusicFilename);
+ savedMusicFilename = NULL;
+ }
}
void Sound::playLeadOut(uint8 *leadOut) {
Index: d_sound.h
===================================================================
RCS file: /cvsroot/scummvm/scummvm/sword2/driver/d_sound.h,v
retrieving revision 1.37
retrieving revision 1.38
diff -u -d -r1.37 -r1.38
--- d_sound.h 28 Dec 2003 15:08:11 -0000 1.37
+++ d_sound.h 31 Dec 2003 14:05:53 -0000 1.38
@@ -109,6 +109,8 @@
void updateCompSampleStreaming(int16 *data, uint len);
+ char *savedMusicFilename;
+
public:
Sound(Sword2Engine *vm);
~Sound();
More information about the Scummvm-git-logs
mailing list