[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