[Scummvm-cvs-logs] CVS: scummvm/scumm/imuse_digi dimuse.cpp,1.29,1.30 dimuse.h,1.18,1.19 dimuse_sndmgr.cpp,1.21,1.22 dimuse_sndmgr.h,1.15,1.16

Pawel Kolodziejski aquadran at users.sourceforge.net
Wed Jan 14 22:38:01 CET 2004


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

Modified Files:
	dimuse.cpp dimuse.h dimuse_sndmgr.cpp dimuse_sndmgr.h 
Log Message:
position should be based on data offset

Index: dimuse.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/imuse_digi/dimuse.cpp,v
retrieving revision 1.29
retrieving revision 1.30
diff -u -d -r1.29 -r1.30
--- dimuse.cpp	14 Jan 2004 22:07:24 -0000	1.29
+++ dimuse.cpp	15 Jan 2004 06:36:59 -0000	1.30
@@ -230,6 +230,7 @@
 	}
 
 	debug(5, "switchToNextRegion-sound(%d) select %d region, curHookId: %d", _track[track].soundId, _track[track].curRegion, _track[track].curHookId);
+	_track[track].dataOffset += _track[track].regionOffset;
 	_track[track].regionOffset = 0;
 }
 
@@ -250,6 +251,7 @@
 			_track[l].soundGroup = soundGroup;
 			_track[l].curHookId = hookId;
 			_track[l].curRegion = -1;
+			_track[l].dataOffset = 0;
 			_track[l].regionOffset = 0;
 			_track[l].trackOffset = 0;
 			_track[l].mod = 0;
@@ -622,7 +624,7 @@
 	for (int l = 0; l < MAX_DIGITAL_TRACKS; l++) {
 		_track[l].locked = true;
 		if ((_track[l].soundId == soundId) && _track[l].used) {
-			int32 pos = 1000 * _track[l].trackOffset / _track[l].iteration;
+			int32 pos = 1000 * (_track[l].dataOffset + _track[l].regionOffset) / _track[l].iteration;
 			_track[l].locked = false;
 			return pos;
 		}

Index: dimuse.h
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/imuse_digi/dimuse.h,v
retrieving revision 1.18
retrieving revision 1.19
diff -u -d -r1.18 -r1.19
--- dimuse.h	14 Jan 2004 22:07:24 -0000	1.18
+++ dimuse.h	15 Jan 2004 06:37:00 -0000	1.19
@@ -54,6 +54,7 @@
 		bool started;
 		int32 regionOffset;
 		int32 trackOffset;
+		int32 dataOffset;
 		bool sequence;
 		int curRegion;
 		int curHookId;

Index: dimuse_sndmgr.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/imuse_digi/dimuse_sndmgr.cpp,v
retrieving revision 1.21
retrieving revision 1.22
diff -u -d -r1.21 -r1.22
--- dimuse_sndmgr.cpp	14 Jan 2004 22:07:24 -0000	1.21
+++ dimuse_sndmgr.cpp	15 Jan 2004 06:37:00 -0000	1.22
@@ -331,6 +331,12 @@
 	return soundHandle->numMarkers;
 }
 
+int ImuseDigiSndMgr::getRegionOffset(soundStruct *soundHandle, int region) {
+	assert(soundHandle && checkForProperHandle(soundHandle));
+	assert(region >= 0 && region < soundHandle->numRegions);
+	return soundHandle->region[region].offset;
+}
+
 int ImuseDigiSndMgr::getJumpIdByRegionAndHookId(soundStruct *soundHandle, int region, int hookId) {
 	assert(soundHandle && checkForProperHandle(soundHandle));
 	assert(region >= 0 && region < soundHandle->numRegions);

Index: dimuse_sndmgr.h
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/imuse_digi/dimuse_sndmgr.h,v
retrieving revision 1.15
retrieving revision 1.16
diff -u -d -r1.15 -r1.16
--- dimuse_sndmgr.h	14 Jan 2004 22:07:24 -0000	1.15
+++ dimuse_sndmgr.h	15 Jan 2004 06:37:00 -0000	1.16
@@ -124,6 +124,7 @@
 	int getNumRegions(soundStruct *soundHandle);
 	int getNumJumps(soundStruct *soundHandle);
 	int getNumMarkers(soundStruct *soundHandle);
+	int getRegionOffset(soundStruct *soundHandle, int region);
 	int getJumpIdByRegionAndHookId(soundStruct *soundHandle, int region, int hookId);
 	int getRegionIdByJumpId(soundStruct *soundHandle, int jumpId);
 	int getJumpHookId(soundStruct *soundHandle, int number);





More information about the Scummvm-git-logs mailing list