[Scummvm-cvs-logs] CVS: scummvm/scumm intern.h,2.46,2.47 resource_v3.cpp,1.14,1.15

Max Horn fingolfin at users.sourceforge.net
Fri Apr 11 13:06:05 CEST 2003


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

Modified Files:
	intern.h resource_v3.cpp 
Log Message:
factored out some common code

Index: intern.h
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/intern.h,v
retrieving revision 2.46
retrieving revision 2.47
diff -u -d -r2.46 -r2.47
--- intern.h	18 Mar 2003 20:32:00 -0000	2.46
+++ intern.h	11 Apr 2003 20:05:37 -0000	2.47
@@ -178,6 +178,8 @@
 	void readIndexFile();
 	void loadCharset(int no);
 	void readMAXS();
+	
+	void readGlobalObjects();
 };
 
 class Scumm_v4 : public Scumm_v3 {

Index: resource_v3.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/resource_v3.cpp,v
retrieving revision 1.14
retrieving revision 1.15
diff -u -d -r1.14 -r1.15
--- resource_v3.cpp	11 Apr 2003 16:25:09 -0000	1.14
+++ resource_v3.cpp	11 Apr 2003 20:05:37 -0000	1.15
@@ -59,18 +59,7 @@
 		_palManipIntermediatePal = 0; // Will allocate when needed
 
 		_fileHandle.readUint16LE(); /* version magic number */
-		int num = _fileHandle.readUint16LE();
-		assert(num == _numGlobalObjects);
-		for (int i = 0; i != num; i++) {
-			uint32 bits = _fileHandle.readByte();
-			byte tmp;
-			bits |= _fileHandle.readByte() << 8;
-			bits |= _fileHandle.readByte() << 16;
-			_classData[i] = bits;
-			tmp = _fileHandle.readByte();
-			_objectOwnerTable[i] = tmp & OF_OWNER_MASK;
-			_objectStateTable[i] = tmp >> OF_STATE_SHL;
-		}
+		readGlobalObjects();
 		readResTypeList(rtRoom, MKID('ROOM'), "room");
 		readResTypeList(rtCostume, MKID('COST'), "costume");
 		readResTypeList(rtScript, MKID('SCRP'), "script");
@@ -81,7 +70,6 @@
 		uint16 blocktype;
 		uint32 itemsize;
 		int numblock = 0;
-		int num, i;
 
 		debug(9, "readIndexFile()");
 
@@ -160,19 +148,7 @@
 				break;
 
 			case 0x4F30:	// 'O0'
-				num = _fileHandle.readUint16LE();
-				assert(num == _numGlobalObjects);
-				for (i = 0; i != num; i++) {
-					uint32 bits = _fileHandle.readByte();
-					byte tmp;
-					bits |= _fileHandle.readByte() << 8;
-					bits |= _fileHandle.readByte() << 16;
-					_classData[i] = bits;
-					tmp = _fileHandle.readByte();
-					_objectOwnerTable[i] = tmp & OF_OWNER_MASK;
-					_objectStateTable[i] = tmp >> OF_STATE_SHL;
-				}
-
+				readGlobalObjects();
 				break;
 
 			default:
@@ -230,4 +206,19 @@
 
 	_shadowPalette = (byte *) calloc(_shadowPaletteSize, 1);	// FIXME - needs to be removed later
 	allocateArrays();
+}
+
+void Scumm_v3::readGlobalObjects() {
+	int num = _fileHandle.readUint16LE();
+	assert(num == _numGlobalObjects);
+	for (int i = 0; i != num; i++) {
+		uint32 bits = _fileHandle.readByte();
+		byte tmp;
+		bits |= _fileHandle.readByte() << 8;
+		bits |= _fileHandle.readByte() << 16;
+		_classData[i] = bits;
+		tmp = _fileHandle.readByte();
+		_objectOwnerTable[i] = tmp & OF_OWNER_MASK;
+		_objectStateTable[i] = tmp >> OF_STATE_SHL;
+	}
 }





More information about the Scummvm-git-logs mailing list