diff options
author | Max Horn | 2005-04-09 20:22:31 +0000 |
---|---|---|
committer | Max Horn | 2005-04-09 20:22:31 +0000 |
commit | 81e34e9110f88cd92227d451d153bd336a3902c1 (patch) | |
tree | c4e95bef98dc7ede51e466c7f87f35b9e0342fdf /scumm/resource_v4.cpp | |
parent | d271b58aa78875983143c07facac596cd393f9f0 (diff) | |
download | scummvm-rg350-81e34e9110f88cd92227d451d153bd336a3902c1.tar.gz scummvm-rg350-81e34e9110f88cd92227d451d153bd336a3902c1.tar.bz2 scummvm-rg350-81e34e9110f88cd92227d451d153bd336a3902c1.zip |
Overload getStringAddress in subclasses; moved V6-V8 specific res stuff to resource.cpp
svn-id: r17489
Diffstat (limited to 'scumm/resource_v4.cpp')
-rw-r--r-- | scumm/resource_v4.cpp | 137 |
1 files changed, 0 insertions, 137 deletions
diff --git a/scumm/resource_v4.cpp b/scumm/resource_v4.cpp index 579820e467..f7cc007d2a 100644 --- a/scumm/resource_v4.cpp +++ b/scumm/resource_v4.cpp @@ -184,141 +184,4 @@ void ScummEngine_v4::readGlobalObjects() { } -void ScummEngine_v8::readGlobalObjects() { - int i; - int num = _fileHandle->readUint32LE(); - assert(num == _numGlobalObjects); - - char buffer[40]; - for (i = 0; i < num; i++) { - _fileHandle->read(buffer, 40); - if (buffer[0]) { - // Add to object name-to-id map - _objectIDMap[buffer] = i; - } - _objectStateTable[i] = _fileHandle->readByte(); - _objectRoomTable[i] = _fileHandle->readByte(); - _classData[i] = _fileHandle->readUint32LE(); - } - memset(_objectOwnerTable, 0xFF, num); -} - -void ScummEngine_v7::readGlobalObjects() { - int num = _fileHandle->readUint16LE(); - assert(num == _numGlobalObjects); - - _fileHandle->read(_objectStateTable, num); - _fileHandle->read(_objectRoomTable, num); - memset(_objectOwnerTable, 0xFF, num); - - _fileHandle->read(_classData, num * sizeof(uint32)); - -#if defined(SCUMM_BIG_ENDIAN) - // Correct the endianess if necessary - for (int i = 0; i != num; i++) - _classData[i] = FROM_LE_32(_classData[i]); -#endif -} - -void ScummEngine_v8::readMAXS(int blockSize) { - debug(9, "readMAXS: MAXS has blocksize %d", blockSize); - - _fileHandle->seek(50 + 50, SEEK_CUR); // 176 - 8 - _numVariables = _fileHandle->readUint32LE(); // 1500 - _numBitVariables = _fileHandle->readUint32LE(); // 2048 - _fileHandle->readUint32LE(); // 40 - _numScripts = _fileHandle->readUint32LE(); // 458 - _numSounds = _fileHandle->readUint32LE(); // 789 - _numCharsets = _fileHandle->readUint32LE(); // 1 - _numCostumes = _fileHandle->readUint32LE(); // 446 - _numRooms = _fileHandle->readUint32LE(); // 95 - _fileHandle->readUint32LE(); // 80 - _numGlobalObjects = _fileHandle->readUint32LE(); // 1401 - _fileHandle->readUint32LE(); // 60 - _numLocalObjects = _fileHandle->readUint32LE(); // 200 - _numNewNames = _fileHandle->readUint32LE(); // 100 - _numFlObject = _fileHandle->readUint32LE(); // 128 - _numInventory = _fileHandle->readUint32LE(); // 80 - _numArray = _fileHandle->readUint32LE(); // 200 - _numVerbs = _fileHandle->readUint32LE(); // 50 - - _objectRoomTable = (byte *)calloc(_numGlobalObjects, 1); - _numGlobalScripts = 2000; - - _shadowPaletteSize = NUM_SHADOW_PALETTE * 256; - _shadowPalette = (byte *)calloc(_shadowPaletteSize, 1); - - allocateArrays(); - _dynamicRoomOffsets = true; -} - -void ScummEngine_v7::readMAXS(int blockSize) { - debug(9, "readMAXS: MAXS has blocksize %d", blockSize); - - _fileHandle->seek(50 + 50, SEEK_CUR); - _numVariables = _fileHandle->readUint16LE(); - _numBitVariables = _fileHandle->readUint16LE(); - _fileHandle->readUint16LE(); - _numGlobalObjects = _fileHandle->readUint16LE(); - _numLocalObjects = _fileHandle->readUint16LE(); - _numNewNames = _fileHandle->readUint16LE(); - _numVerbs = _fileHandle->readUint16LE(); - _numFlObject = _fileHandle->readUint16LE(); - _numInventory = _fileHandle->readUint16LE(); - _numArray = _fileHandle->readUint16LE(); - _numRooms = _fileHandle->readUint16LE(); - _numScripts = _fileHandle->readUint16LE(); - _numSounds = _fileHandle->readUint16LE(); - _numCharsets = _fileHandle->readUint16LE(); - _numCostumes = _fileHandle->readUint16LE(); - - _objectRoomTable = (byte *)calloc(_numGlobalObjects, 1); - - if ((_gameId == GID_FT) && (_features & GF_DEMO) && - (_features & GF_PC)) - _numGlobalScripts = 300; - else - _numGlobalScripts = 2000; - - _shadowPaletteSize = NUM_SHADOW_PALETTE * 256; - _shadowPalette = (byte *)calloc(_shadowPaletteSize, 1); - - allocateArrays(); - _dynamicRoomOffsets = true; -} - -void ScummEngine_v6::readMAXS(int blockSize) { - debug(9, "readMAXS: MAXS has blocksize %d", blockSize); - - _numVariables = _fileHandle->readUint16LE(); - _fileHandle->readUint16LE(); - _numBitVariables = _fileHandle->readUint16LE(); - _numLocalObjects = _fileHandle->readUint16LE(); - _numArray = _fileHandle->readUint16LE(); - _fileHandle->readUint16LE(); - _numVerbs = _fileHandle->readUint16LE(); - _numFlObject = _fileHandle->readUint16LE(); - _numInventory = _fileHandle->readUint16LE(); - _numRooms = _fileHandle->readUint16LE(); - _numScripts = _fileHandle->readUint16LE(); - _numSounds = _fileHandle->readUint16LE(); - _numCharsets = _fileHandle->readUint16LE(); - _numCostumes = _fileHandle->readUint16LE(); - _numGlobalObjects = _fileHandle->readUint16LE(); - _numNewNames = 50; - - _objectRoomTable = NULL; - _numGlobalScripts = 200; - - if (_heversion >= 70) { - _objectRoomTable = (byte *)calloc(_numGlobalObjects, 1); - } - - _shadowPaletteSize = 256; - _shadowPalette = (byte *)calloc(_shadowPaletteSize, 1); - - allocateArrays(); - _dynamicRoomOffsets = true; -} - } // End of namespace Scumm |