diff options
Diffstat (limited to 'engines/toltecs')
-rw-r--r-- | engines/toltecs/detection.cpp | 4 | ||||
-rw-r--r-- | engines/toltecs/menu.cpp | 2 | ||||
-rw-r--r-- | engines/toltecs/saveload.cpp | 10 | ||||
-rw-r--r-- | engines/toltecs/toltecs.h | 2 |
4 files changed, 8 insertions, 10 deletions
diff --git a/engines/toltecs/detection.cpp b/engines/toltecs/detection.cpp index 9303760057..0cd9596c8c 100644 --- a/engines/toltecs/detection.cpp +++ b/engines/toltecs/detection.cpp @@ -276,7 +276,7 @@ SaveStateList ToltecsMetaEngine::listSaves(const char *target) const { if (slotNum >= 0 && slotNum <= 999) { Common::InSaveFile *in = saveFileMan->openForLoading(file->c_str()); if (in) { - if (Toltecs::ToltecsEngine::readSaveHeader(in, false, header) == Toltecs::ToltecsEngine::kRSHENoError) { + if (Toltecs::ToltecsEngine::readSaveHeader(in, header) == Toltecs::ToltecsEngine::kRSHENoError) { saveList.push_back(SaveStateDescriptor(slotNum, header.description)); } delete in; @@ -325,7 +325,7 @@ SaveStateDescriptor ToltecsMetaEngine::querySaveMetaInfos(const char *target, in Toltecs::ToltecsEngine::SaveHeader header; Toltecs::ToltecsEngine::kReadSaveHeaderError error; - error = Toltecs::ToltecsEngine::readSaveHeader(in, true, header); + error = Toltecs::ToltecsEngine::readSaveHeader(in, header, false); delete in; if (error == Toltecs::ToltecsEngine::kRSHENoError) { diff --git a/engines/toltecs/menu.cpp b/engines/toltecs/menu.cpp index 5fc0599c2a..c4373265e6 100644 --- a/engines/toltecs/menu.cpp +++ b/engines/toltecs/menu.cpp @@ -525,7 +525,7 @@ int MenuSystem::loadSavegamesList() { if (slotNum >= 0 && slotNum <= 999) { Common::InSaveFile *in = saveFileMan->openForLoading(file->c_str()); if (in) { - if (Toltecs::ToltecsEngine::readSaveHeader(in, false, header) == Toltecs::ToltecsEngine::kRSHENoError) { + if (Toltecs::ToltecsEngine::readSaveHeader(in, header) == Toltecs::ToltecsEngine::kRSHENoError) { _savegames.push_back(SavegameItem(slotNum, header.description)); //debug("%s -> %s", file->c_str(), header.description.c_str()); } diff --git a/engines/toltecs/saveload.cpp b/engines/toltecs/saveload.cpp index 409fc97076..1f2198fc35 100644 --- a/engines/toltecs/saveload.cpp +++ b/engines/toltecs/saveload.cpp @@ -41,7 +41,7 @@ namespace Toltecs { #define TOLTECS_SAVEGAME_VERSION 4 -ToltecsEngine::kReadSaveHeaderError ToltecsEngine::readSaveHeader(Common::SeekableReadStream *in, bool loadThumbnail, SaveHeader &header) { +WARN_UNUSED_RESULT ToltecsEngine::kReadSaveHeaderError ToltecsEngine::readSaveHeader(Common::SeekableReadStream *in, SaveHeader &header, bool skipThumbnail) { header.version = in->readUint32LE(); if (header.version > TOLTECS_SAVEGAME_VERSION) @@ -52,10 +52,8 @@ ToltecsEngine::kReadSaveHeaderError ToltecsEngine::readSaveHeader(Common::Seekab while (descriptionLen--) header.description += (char)in->readByte(); - if (loadThumbnail) { - header.thumbnail = Graphics::loadThumbnail(*in); - } else { - Graphics::skipThumbnail(*in); + if (!Graphics::loadThumbnail(*in, header.thumbnail, skipThumbnail)) { + return kRSHEIoError; } // Not used yet, reserved for future usage @@ -147,7 +145,7 @@ void ToltecsEngine::loadgame(const char *filename) { SaveHeader header; - kReadSaveHeaderError errorCode = readSaveHeader(in, false, header); + kReadSaveHeaderError errorCode = readSaveHeader(in, header); if (errorCode != kRSHENoError) { warning("Error loading savegame '%s'", filename); diff --git a/engines/toltecs/toltecs.h b/engines/toltecs/toltecs.h index ece82f4a1a..1c9e9366c7 100644 --- a/engines/toltecs/toltecs.h +++ b/engines/toltecs/toltecs.h @@ -225,7 +225,7 @@ public: const char *getSavegameFilename(int num); static Common::String getSavegameFilename(const Common::String &target, int num); - static kReadSaveHeaderError readSaveHeader(Common::SeekableReadStream *in, bool loadThumbnail, SaveHeader &header); + WARN_UNUSED_RESULT static kReadSaveHeaderError readSaveHeader(Common::SeekableReadStream *in, SaveHeader &header, bool skipThumbnail = true); }; |