aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--scumm/resource.cpp33
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)