diff options
Diffstat (limited to 'scumm/resource.cpp')
-rw-r--r-- | scumm/resource.cpp | 33 |
1 files changed, 10 insertions, 23 deletions
diff --git a/scumm/resource.cpp b/scumm/resource.cpp index e9defc82d2..9dc32fb6fe 100644 --- a/scumm/resource.cpp +++ b/scumm/resource.cpp @@ -2294,8 +2294,8 @@ void ScummEngine::readMAXS(int blockSize) { _shadowPaletteSize = NUM_SHADOW_PALETTE * 256; } else if (_heversion >= 70 && (blockSize == 44 + 8)) { // C++ based engine _numVariables = _fileHandle.readUint16LE(); - _fileHandle.readUint16LE(); // not used in spydemo - _fileHandle.readUint16LE(); // _numLocalVariables ? + _fileHandle.readUint16LE(); + _fileHandle.readUint16LE(); _numLocalObjects = _fileHandle.readUint16LE(); _numArray = _fileHandle.readUint16LE(); _fileHandle.readUint16LE(); // unknown @@ -2315,23 +2315,18 @@ void ScummEngine::readMAXS(int blockSize) { _fileHandle.readUint16LE(); // _numPalettes? _fileHandle.readUint16LE(); // _numSmacker? _numTalkies = _fileHandle.readUint16LE(); - - /* TODO check these values */ + _numNewNames = 10; _objectRoomTable = (byte *)calloc(_numGlobalObjects, 1); - - _numNewNames = 10; _numRoomVariables = 64; - - _objectRoomTable = (byte *)calloc(_numGlobalObjects * 4, 1); - _numGlobalScripts = 200; + _shadowPaletteSize = 256; } else if (_heversion >= 70 && (blockSize == 38 + 8)) { // Scummsys.9x _numVariables = _fileHandle.readUint16LE(); - _fileHandle.readUint16LE(); // not used in spydemo - _fileHandle.readUint16LE(); // _numLocalVariables ? + _fileHandle.readUint16LE(); + _fileHandle.readUint16LE(); _numLocalObjects = _fileHandle.readUint16LE(); _numArray = _fileHandle.readUint16LE(); _fileHandle.readUint16LE(); // unknown @@ -2348,17 +2343,12 @@ void ScummEngine::readMAXS(int blockSize) { _numSprites = _fileHandle.readUint16LE(); _numLocalScriptOffsets = _fileHandle.readUint16LE(); _fileHandle.readUint16LE(); // heap releated - - /* TODO check these values */ + _numNewNames = 10; _objectRoomTable = (byte *)calloc(_numGlobalObjects, 1); - - _numNewNames = 10; _numRoomVariables = 64; - - _objectRoomTable = (byte *)calloc(_numGlobalObjects * 4, 1); - _numGlobalScripts = 200; + _shadowPaletteSize = 256; } else if (_heversion >= 70 && blockSize > 38) { // sputm7.2 if (blockSize != 32 + 8) @@ -2379,14 +2369,11 @@ void ScummEngine::readMAXS(int blockSize) { _numCostumes = _fileHandle.readUint16LE(); _numGlobalObjects = _fileHandle.readUint16LE(); _numImages = _fileHandle.readUint16LE(); - - _objectRoomTable = (byte *)calloc(_numGlobalObjects, 1); - _numNewNames = 10; - _objectRoomTable = (byte *)calloc(_numGlobalObjects * 4, 1); - + _objectRoomTable = (byte *)calloc(_numGlobalObjects, 1); _numGlobalScripts = 200; + _shadowPaletteSize = 256; } else if (_version == 6) { if (blockSize != 30 + 8) |