diff options
Diffstat (limited to 'scumm/resource_v2.cpp')
| -rw-r--r-- | scumm/resource_v2.cpp | 30 |
1 files changed, 14 insertions, 16 deletions
diff --git a/scumm/resource_v2.cpp b/scumm/resource_v2.cpp index b2c512224d..38eb622a6e 100644 --- a/scumm/resource_v2.cpp +++ b/scumm/resource_v2.cpp @@ -65,11 +65,7 @@ void ScummEngine_v2::readClassicIndexFile() { _fileHandle->seek(0, SEEK_SET); readMAXS(0); - - // Jamieson630: palManipulate variable initialization - _palManipCounter = 0; - _palManipPalette = 0; // Will allocate when needed - _palManipIntermediatePal = 0; // Will allocate when needed + allocateArrays(); _fileHandle->readUint16LE(); /* version magic number */ for (i = 0; i != _numGlobalObjects; i++) { @@ -122,7 +118,7 @@ void ScummEngine_v2::readEnhancedIndexFile() { _musicEngine = new Player_V2(this, _midiDriver != MD_PCSPK); _numGlobalObjects = _fileHandle->readUint16LE(); - _fileHandle->seek(_numGlobalObjects, SEEK_CUR); // Skip object flags + _fileHandle->seek(_numGlobalObjects, SEEK_CUR); _numRooms = _fileHandle->readByte(); _fileHandle->seek(_numRooms * 3, SEEK_CUR); _numCostumes = _fileHandle->readByte(); @@ -135,24 +131,26 @@ void ScummEngine_v2::readEnhancedIndexFile() { _fileHandle->seek(0, SEEK_SET); readMAXS(0); - - // Jamieson630: palManipulate variable initialization - _palManipCounter = 0; - _palManipPalette = 0; // Will allocate when needed - _palManipIntermediatePal = 0; // Will allocate when needed + allocateArrays(); _fileHandle->readUint16LE(); /* version magic number */ + readGlobalObjects(); + readResTypeList(rtRoom, MKID('ROOM'), "room"); + readResTypeList(rtCostume, MKID('COST'), "costume"); + readResTypeList(rtScript, MKID('SCRP'), "script"); + readResTypeList(rtSound, MKID('SOUN'), "sound"); +} + +void ScummEngine_v2::readGlobalObjects() { + int i; int num = _fileHandle->readUint16LE(); assert(num == _numGlobalObjects); - for (int i = 0; i != num; i++) { + + for (i = 0; i != num; i++) { byte 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"); - readResTypeList(rtSound, MKID('SOUN'), "sound"); } void ScummEngine_v2::readIndexFile() { |
