diff options
author | Paweł Kołodziejski | 2003-04-11 16:25:09 +0000 |
---|---|---|
committer | Paweł Kołodziejski | 2003-04-11 16:25:09 +0000 |
commit | fd28237eb8ed92b08369db1f2d73f2216f01b029 (patch) | |
tree | 37051160517416a7928806891847892fc5c85853 /scumm/resource_v3.cpp | |
parent | 91c6f38ed45fa16572a80d84d8458f8573769ffd (diff) | |
download | scummvm-rg350-fd28237eb8ed92b08369db1f2d73f2216f01b029.tar.gz scummvm-rg350-fd28237eb8ed92b08369db1f2d73f2216f01b029.tar.bz2 scummvm-rg350-fd28237eb8ed92b08369db1f2d73f2216f01b029.zip |
added loading object flags for loom ega
svn-id: r6973
Diffstat (limited to 'scumm/resource_v3.cpp')
-rw-r--r-- | scumm/resource_v3.cpp | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/scumm/resource_v3.cpp b/scumm/resource_v3.cpp index 76de393c3f..5ab645c503 100644 --- a/scumm/resource_v3.cpp +++ b/scumm/resource_v3.cpp @@ -59,8 +59,18 @@ void Scumm_v3::readIndexFile() { _palManipIntermediatePal = 0; // Will allocate when needed _fileHandle.readUint16LE(); /* version magic number */ - _fileHandle.readUint16LE(); /* nb global objects */ - _fileHandle.seek(_numGlobalObjects * 4, SEEK_CUR); // Skip object flags + 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; + } readResTypeList(rtRoom, MKID('ROOM'), "room"); readResTypeList(rtCostume, MKID('COST'), "costume"); readResTypeList(rtScript, MKID('SCRP'), "script"); |