[Scummvm-cvs-logs] CVS: scummvm/scumm imuse_digi.h,1.22,1.23 imuse_digi.cpp,1.82,1.83

Max Horn fingolfin at users.sourceforge.net
Thu Dec 25 08:53:02 CET 2003


Update of /cvsroot/scummvm/scummvm/scumm
In directory sc8-pr-cvs1:/tmp/cvs-serv31542

Modified Files:
	imuse_digi.h imuse_digi.cpp 
Log Message:
fix some buglets

Index: imuse_digi.h
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/imuse_digi.h,v
retrieving revision 1.22
retrieving revision 1.23
diff -u -d -r1.22 -r1.23
--- imuse_digi.h	25 Dec 2003 13:56:22 -0000	1.22
+++ imuse_digi.h	25 Dec 2003 16:52:31 -0000	1.23
@@ -87,6 +87,8 @@
 		PlayingSoundHandle handle;
 		bool used;
 		bool toBeRemoved;
+		
+		Channel() : idSound(-1), used(false) {}
 	};
 
 	Channel _channel[MAX_DIGITAL_CHANNELS];

Index: imuse_digi.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/imuse_digi.cpp,v
retrieving revision 1.82
retrieving revision 1.83
diff -u -d -r1.82 -r1.83
--- imuse_digi.cpp	25 Dec 2003 16:13:51 -0000	1.82
+++ imuse_digi.cpp	25 Dec 2003 16:52:31 -0000	1.83
@@ -720,8 +720,6 @@
 
 IMuseDigital::IMuseDigital(ScummEngine *scumm)
 	: _scumm(scumm) {
-	memset(_channel, 0, sizeof(Channel) * MAX_DIGITAL_CHANNELS);
-	_scumm->_timer->installTimerProc(timer_handler, 40000, this);
 	_pause = false;
 	
 	_nameBundleMusic = "";
@@ -730,6 +728,8 @@
 	_musicDisk = 0;
 
 	_bundle = new Bundle();
+
+	_scumm->_timer->installTimerProc(timer_handler, 40000, this);
 }
 
 IMuseDigital::~IMuseDigital() {
@@ -814,14 +814,19 @@
 				warning("IMuseDigital::startSound(%d) NULL resource pointer", sound);
 				return;
 			}
-			_channel[l].idSound = sound;
-			_channel[l].offset = 0;
 			_channel[l].pan = 0;
 			_channel[l].vol = 127 * 1000;
-			_channel[l].volFadeUsed = false;
 			_channel[l].volFadeDest = 0;
 			_channel[l].volFadeStep = 0;
 			_channel[l].volFadeDelay = 0;
+			_channel[l].volFadeUsed = false;
+
+			_channel[l].numJumps = 0;
+			_channel[l].numRegions = 0;
+			_channel[l].numMarkers = 0;
+
+			_channel[l].offset = 0;
+			_channel[l].idSound = sound;
 
 			uint32 tag;
 			int32 size = 0;
@@ -855,7 +860,7 @@
 					break;
 					case MKID_BE('TEXT'):
 						size = READ_BE_UINT32(ptr); ptr += 4;
-						if (_channel[l].numRegions >= MAX_IMUSE_MARKERS) {
+						if (_channel[l].numMarkers >= MAX_IMUSE_MARKERS) {
 							warning("IMuseDigital::startSound() Not enough space for Marker");
 							ptr += size;
 							break;





More information about the Scummvm-git-logs mailing list