[Scummvm-cvs-logs] CVS: scummvm/scumm sound.cpp,1.247,1.248
Max Horn
fingolfin at users.sourceforge.net
Wed Sep 10 16:36:40 CEST 2003
Update of /cvsroot/scummvm/scummvm/scumm
In directory sc8-pr-cvs1:/tmp/cvs-serv21697
Modified Files:
sound.cpp
Log Message:
experimental fix for bug #802396 (LOOMCD: Sound lock up); it turns out this is a very long standing bug (pre-0.4.1 at the least). This fix may cause regressions in games using CD tracks, beware
Index: sound.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/sound.cpp,v
retrieving revision 1.247
retrieving revision 1.248
diff -u -d -r1.247 -r1.248
--- sound.cpp 10 Sep 2003 12:43:53 -0000 1.247
+++ sound.cpp 10 Sep 2003 22:36:46 -0000 1.248
@@ -742,6 +742,7 @@
if (a != 0 && a == _currentCDSound) {
_currentCDSound = 0;
stopCD();
+ stopCDTimer();
}
if (_scumm->_features & GF_FMTOWNS) {
@@ -759,6 +760,7 @@
if (_currentCDSound != 0) {
_currentCDSound = 0;
stopCD();
+ stopCDTimer();
}
// Clear the (secondary) sound queue
@@ -1491,7 +1493,7 @@
_dig_cd.numLoops = numLoops;
_dig_cd.start = startFrame;
_dig_cd.duration = duration;
- _track_info[index]->play(_scumm->_mixer, &_dig_cd.handle, startFrame, duration);
+ _track_info[index]->play(_scumm->_mixer, &_dig_cd.handle, _dig_cd.start, _dig_cd.duration);
} else {
_scumm->_system->play_cdrom(track, numLoops, startFrame, duration);
}
@@ -1504,7 +1506,6 @@
}
void Sound::stopCD() {
- stopCDTimer();
if (_dig_cd.playing) {
_scumm->_mixer->stopHandle(_dig_cd.handle);
More information about the Scummvm-git-logs
mailing list