diff options
Diffstat (limited to 'engines/pink/file.cpp')
-rw-r--r-- | engines/pink/file.cpp | 24 |
1 files changed, 6 insertions, 18 deletions
diff --git a/engines/pink/file.cpp b/engines/pink/file.cpp index 861ffc4948..f14d459049 100644 --- a/engines/pink/file.cpp +++ b/engines/pink/file.cpp @@ -20,10 +20,7 @@ * */ -#include "common/str.h" - #include "pink/pink.h" -#include "pink/objects/pages/game_page.h" namespace Pink { @@ -31,7 +28,7 @@ void ObjectDescription::load(Common::File &file) { file.read(name, sizeof(name)); objectsOffset = file.readUint32LE(); - objectsCount = file.readUint32LE(); + /*objectsCount*/ file.readUint32LE(); resourcesOffset = file.readUint32LE(); resourcesCount = file.readUint32LE(); } @@ -44,10 +41,8 @@ void ResourceDescription::load(Common::File &file) { inBro = (bool) file.readUint16LE(); } - OrbFile::OrbFile() : File(), _timestamp(0), - _tableOffset(0), _tableSize(0), _table(nullptr) {} @@ -56,28 +51,24 @@ OrbFile::~OrbFile() { } bool OrbFile::open(const Common::String &name) { - if (!File::open(name)) - return false; - - if (readUint32BE() != 'ORB\0') + if (!File::open(name) || readUint32BE() != 'ORB\0') return false; uint16 minor = readUint16LE(); uint16 major = readUint16LE(); - debug("Orb v%hu.%hu loaded", major, minor); - if (major != kOrbMajorVersion || minor != kOrbMinorVersion) return false; if (!(_timestamp = readUint32LE())) return false; - _tableOffset = readUint32LE(); + uint32 tableOffset = readUint32LE(); + _tableSize = readUint32LE(); _table = new ObjectDescription[_tableSize]; - seek(_tableOffset); + seek(tableOffset); for (uint i = 0; i < _tableSize; ++i) { _table[i].load(*this); @@ -115,7 +106,7 @@ ObjectDescription *OrbFile::getObjDesc(const char *name){ return desc; } -ResourceDescription *OrbFile::getResDescTable(ObjectDescription *objDesc){ +ResourceDescription *OrbFile::createResDescTable(ObjectDescription *objDesc){ ResourceDescription *table = new ResourceDescription[objDesc->resourcesCount]; seek(objDesc->resourcesOffset); @@ -131,7 +122,6 @@ void OrbFile::seekToObject(const char *name) { seek(desc->objectsOffset); } - bool BroFile::open(const Common::String &name, uint32 orbTimestamp) { if (!File::open(name) || readUint32BE() != 'BRO\0') return false; @@ -139,8 +129,6 @@ bool BroFile::open(const Common::String &name, uint32 orbTimestamp) { uint16 minor = readUint16LE(); uint16 major = readUint16LE(); - debug("Bro v%hu.%hu loaded", major, minor); - if (major != kBroMajorVersion || minor != kBroMinorVersion) return false; |