aboutsummaryrefslogtreecommitdiff
path: root/scumm/resource.cpp
diff options
context:
space:
mode:
authorTravis Howell2004-09-08 06:35:38 +0000
committerTravis Howell2004-09-08 06:35:38 +0000
commit8d6e15b34af3b1ba960cdff580482bb962d59baf (patch)
treeb7e09a5a51845371e21c8922891cafe711712076 /scumm/resource.cpp
parent6b0b39c7d6775720ec7fef286644de4da1013f58 (diff)
downloadscummvm-rg350-8d6e15b34af3b1ba960cdff580482bb962d59baf.tar.gz
scummvm-rg350-8d6e15b34af3b1ba960cdff580482bb962d59baf.tar.bz2
scummvm-rg350-8d6e15b34af3b1ba960cdff580482bb962d59baf.zip
Verified values.
No extra object data in later HE games. svn-id: r14954
Diffstat (limited to 'scumm/resource.cpp')
-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)