[Scummvm-cvs-logs] CVS: scummvm/scumm resource.cpp,1.142,1.143

Jonathan Gray khalek at users.sourceforge.net
Thu Aug 28 07:26:10 CEST 2003


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

Modified Files:
	resource.cpp 
Log Message:
clean up humongous v7 index file block handling

Index: resource.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/resource.cpp,v
retrieving revision 1.142
retrieving revision 1.143
diff -u -d -r1.142 -r1.143
--- resource.cpp	28 Aug 2003 01:10:36 -0000	1.142
+++ resource.cpp	28 Aug 2003 14:25:29 -0000	1.143
@@ -315,7 +315,6 @@
 			else
 				num = _fileHandle.readUint16LE();
 			assert(num == _numGlobalObjects);
-			
 
 			if (_version == 8) {	/* FIXME: Not sure.. */
 				char buffer[40];
@@ -341,8 +340,8 @@
 					_objectOwnerTable[i] &= OF_OWNER_MASK;
 				}
 				if (_features & GF_AFTER_HEV7) {
-					// FIXME nasty nasty hack handle properly...
-					_fileHandle.seek(num * 6000, SEEK_CUR);
+					// _objectRoomTable
+					_fileHandle.seek(num * 4, SEEK_CUR);
 				}
 			}
 			
@@ -362,8 +361,10 @@
 			break;
 		
 		case MKID('DLFL'):
-			_HEV7RoomOffsets = (byte *)calloc(itemsize - 8, 1);
-			_fileHandle.read(_HEV7RoomOffsets, itemsize - 8);
+			i = _fileHandle.readUint16LE();
+			_fileHandle.seek(-2, SEEK_CUR);
+			_HEV7RoomOffsets = (byte *)calloc(2 + (i * 4), 1);
+			_fileHandle.read(_HEV7RoomOffsets, (2 + (i * 4)) );
 			break;
 
 		case MKID('DIRI'):





More information about the Scummvm-git-logs mailing list