[Scummvm-cvs-logs] CVS: scummvm/scumm/imuse_digi dimuse_bndmgr.cpp,1.14,1.15 dimuse_bndmgr.h,1.5,1.6
Pawel Kolodziejski
aquadran at users.sourceforge.net
Sat Mar 13 09:51:02 CET 2004
- Previous message: [Scummvm-cvs-logs] CVS: scummvm/backends/dc dc.h,1.23,1.24 dcmain.cpp,1.24,1.25 display.cpp,1.19,1.20 input.cpp,1.16,1.17
- Next message: [Scummvm-cvs-logs] CVS: scummvm/dists/msvc7 scummvm.vcproj,1.21,1.22
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
Update of /cvsroot/scummvm/scummvm/scumm/imuse_digi
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv30927
Modified Files:
dimuse_bndmgr.cpp dimuse_bndmgr.h
Log Message:
fix for voice bundle bug in german version comi
Index: dimuse_bndmgr.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/imuse_digi/dimuse_bndmgr.cpp,v
retrieving revision 1.14
retrieving revision 1.15
diff -u -d -r1.14 -r1.15
--- dimuse_bndmgr.cpp 14 Jan 2004 21:46:58 -0000 1.14
+++ dimuse_bndmgr.cpp 13 Mar 2004 17:41:36 -0000 1.15
@@ -117,6 +117,7 @@
_bundleTable = NULL;
_compTable = NULL;
_numFiles = 0;
+ _numCompItems = 0;
_curSample = -1;
_fileBundleId = -1;
}
@@ -150,6 +151,7 @@
_file.close();
_bundleTable = NULL;
_numFiles = 0;
+ _numCompItems = 0;
_compTableLoaded = false;
_lastBlock = -1;
_lastCacheOutputSize = 0;
@@ -179,7 +181,7 @@
if (!_compTableLoaded) {
_file.seek(_bundleTable[index].offset, SEEK_SET);
tag = _file.readUint32BE();
- num = _file.readUint32BE();
+ _numCompItems = num = _file.readUint32BE();
_file.readUint32BE();
_file.readUint32BE();
@@ -201,6 +203,10 @@
first_block = (offset + header_size) / 0x2000;
last_block = (offset + size + header_size - 1) / 0x2000;
+ // workaround for bug when (offset + size + header_size - 1) is more one byte after sound resource
+ if ((last_block >= _numCompItems) && (_numCompItems > 0))
+ last_block = _numCompItems - 1;
+
comp_output = (byte *)malloc(0x2000);
int32 blocks_final_size = 0x2000 * (1 + last_block - first_block);
*comp_final = (byte *)malloc(blocks_final_size);
Index: dimuse_bndmgr.h
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/imuse_digi/dimuse_bndmgr.h,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -d -r1.5 -r1.6
--- dimuse_bndmgr.h 9 Jan 2004 13:16:06 -0000 1.5
+++ dimuse_bndmgr.h 13 Mar 2004 17:41:36 -0000 1.6
@@ -64,6 +64,7 @@
BundleDirCache::AudioTable *_bundleTable;
CompTable *_compTable;
int32 _numFiles;
+ int32 _numCompItems;
int32 _curSample;
File _file;
bool _compTableLoaded;
- Previous message: [Scummvm-cvs-logs] CVS: scummvm/backends/dc dc.h,1.23,1.24 dcmain.cpp,1.24,1.25 display.cpp,1.19,1.20 input.cpp,1.16,1.17
- Next message: [Scummvm-cvs-logs] CVS: scummvm/dists/msvc7 scummvm.vcproj,1.21,1.22
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
More information about the Scummvm-git-logs
mailing list