diff options
Diffstat (limited to 'engines/pink/file.cpp')
-rw-r--r-- | engines/pink/file.cpp | 136 |
1 files changed, 68 insertions, 68 deletions
diff --git a/engines/pink/file.cpp b/engines/pink/file.cpp index a62a9d83e2..68fc53c618 100644 --- a/engines/pink/file.cpp +++ b/engines/pink/file.cpp @@ -28,75 +28,75 @@ namespace Pink { OrbFile::OrbFile() - : File(), _timestamp(0), - _tableOffset(0), - _tableSize(0), - _table(nullptr) {} + : File(), _timestamp(0), + _tableOffset(0), + _tableSize(0), + _table(nullptr) {} OrbFile::~OrbFile() { - delete[] _table; + delete[] _table; } bool OrbFile::open(const Common::String &name) { - if (!File::open(name)) - return false; + if (!File::open(name)) + return false; - if (readUint32BE() != 'ORB\0'){ - return false; - } + if (readUint32BE() != 'ORB\0'){ + return false; + } - uint16 minor = readUint16LE(); - uint16 major = readUint16LE(); + uint16 minor = readUint16LE(); + uint16 major = readUint16LE(); - debug("Orb v%hu.%hu loaded", major, minor); + debug("Orb v%hu.%hu loaded", major, minor); - if (major != kOrbMajorVersion || minor != kOrbMinorVersion){ - return false; - } + if (major != kOrbMajorVersion || minor != kOrbMinorVersion){ + return false; + } - if (!(_timestamp = readUint32LE())){ - return false; - } + if (!(_timestamp = readUint32LE())){ + return false; + } - _tableOffset = readUint32LE(); - _tableSize = readUint32LE(); - _table = new ObjectDescription[_tableSize]; + _tableOffset = readUint32LE(); + _tableSize = readUint32LE(); + _table = new ObjectDescription[_tableSize]; - seek(_tableOffset); + seek(_tableOffset); - for (uint i = 0; i < _tableSize; ++i) { - _table[i].load(*this); - } + for (uint i = 0; i < _tableSize; ++i) { + _table[i].load(*this); + } - return true; + return true; } void OrbFile::loadGame(PinkEngine *game) { - seekToObject(kPinkGame); - Archive archive(this); - archive.mapObject(reinterpret_cast<Object*>(game)); // hack - game->load(archive); + seekToObject(kPinkGame); + Archive archive(this); + archive.mapObject(reinterpret_cast<Object*>(game)); // hack + game->load(archive); } void OrbFile::loadObject(Object *obj, const Common::String &name) { - seekToObject(name.c_str()); - Archive archive(this); - obj->load(archive); + seekToObject(name.c_str()); + Archive archive(this); + obj->load(archive); } void OrbFile::loadObject(Object *obj, ObjectDescription *objDesc) { - seek(objDesc->objectsOffset); - Archive archive(this); - obj->load(archive); + seek(objDesc->objectsOffset); + Archive archive(this); + obj->load(archive); } uint32 OrbFile::getTimestamp() { - return _timestamp; + return _timestamp; } void OrbFile::seekToObject(const char *name) { - ObjectDescription *desc = getObjDesc(name); - seek(desc->objectsOffset); + ObjectDescription *desc = getObjDesc(name); + seek(desc->objectsOffset); } static int objDescComp(const void *a, const void *b) { @@ -104,56 +104,56 @@ static int objDescComp(const void *a, const void *b) { } ObjectDescription *OrbFile::getObjDesc(const char *name){ - ObjectDescription *desc = (ObjectDescription*) bsearch(name, _table, _tableSize, sizeof(ObjectDescription), objDescComp); - assert(desc != nullptr); - return desc; + ObjectDescription *desc = (ObjectDescription*) bsearch(name, _table, _tableSize, sizeof(ObjectDescription), objDescComp); + assert(desc != nullptr); + return desc; } ResourceDescription *OrbFile::getResDescTable(ObjectDescription *objDesc){ - ResourceDescription *table = new ResourceDescription[objDesc->resourcesCount]; - seek(objDesc->resourcesOffset); + ResourceDescription *table = new ResourceDescription[objDesc->resourcesCount]; + seek(objDesc->resourcesOffset); - for (uint i = 0; i < objDesc->resourcesCount; ++i) { - table[i].load(*this); - } + for (uint i = 0; i < objDesc->resourcesCount; ++i) { + table[i].load(*this); + } - return table; + return table; } bool BroFile::open(const Common::String &name, uint32 orbTimestamp) { - if (!File::open(name) || readUint32BE() != 'BRO\0') - return false; + if (!File::open(name) || readUint32BE() != 'BRO\0') + return false; - uint16 minor = readUint16LE(); - uint16 major = readUint16LE(); + uint16 minor = readUint16LE(); + uint16 major = readUint16LE(); - debug("Bro v%hu.%hu loaded", major, minor); + debug("Bro v%hu.%hu loaded", major, minor); - if (major != kBroMajorVersion || minor != kBroMinorVersion){ - return false; - } + if (major != kBroMajorVersion || minor != kBroMinorVersion){ + return false; + } - uint32 timestamp = readUint32LE(); + uint32 timestamp = readUint32LE(); - return timestamp == orbTimestamp; + return timestamp == orbTimestamp; } void ObjectDescription::load(Common::File &file) { - file.read(name, sizeof(name)); + file.read(name, sizeof(name)); - objectsOffset = file.readUint32LE(); - objectsCount = file.readUint32LE(); - resourcesOffset = file.readUint32LE(); - resourcesCount = file.readUint32LE(); + objectsOffset = file.readUint32LE(); + objectsCount = file.readUint32LE(); + resourcesOffset = file.readUint32LE(); + resourcesCount = file.readUint32LE(); } void ResourceDescription::load(Common::File &file) { - file.read(name, sizeof(name)); + file.read(name, sizeof(name)); - offset = file.readUint32LE(); - size = file.readUint32LE(); - inBro = (bool) file.readUint16LE(); + offset = file.readUint32LE(); + size = file.readUint32LE(); + inBro = (bool) file.readUint16LE(); } } // End of namespace Pink |