diff options
Diffstat (limited to 'engines/bbvs')
-rw-r--r-- | engines/bbvs/bbvs.h | 2 | ||||
-rw-r--r-- | engines/bbvs/detection.cpp | 4 | ||||
-rw-r--r-- | engines/bbvs/saveload.cpp | 10 |
3 files changed, 7 insertions, 9 deletions
diff --git a/engines/bbvs/bbvs.h b/engines/bbvs/bbvs.h index 9fb6b9cac3..a9d37c2551 100644 --- a/engines/bbvs/bbvs.h +++ b/engines/bbvs/bbvs.h @@ -417,7 +417,7 @@ public: const char *getSavegameFilename(int num); bool existsSavegame(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); void allocSnapshot(); void freeSnapshot(); diff --git a/engines/bbvs/detection.cpp b/engines/bbvs/detection.cpp index 1b2c644dda..b30c6d3f2d 100644 --- a/engines/bbvs/detection.cpp +++ b/engines/bbvs/detection.cpp @@ -124,7 +124,7 @@ SaveStateList BbvsMetaEngine::listSaves(const char *target) const { if (slotNum >= 0 && slotNum <= 999) { Common::InSaveFile *in = saveFileMan->openForLoading(file->c_str()); if (in) { - if (Bbvs::BbvsEngine::readSaveHeader(in, false, header) == Bbvs::BbvsEngine::kRSHENoError) { + if (Bbvs::BbvsEngine::readSaveHeader(in, header) == Bbvs::BbvsEngine::kRSHENoError) { saveList.push_back(SaveStateDescriptor(slotNum, header.description)); } delete in; @@ -142,7 +142,7 @@ SaveStateDescriptor BbvsMetaEngine::querySaveMetaInfos(const char *target, int s if (in) { Bbvs::BbvsEngine::SaveHeader header; Bbvs::BbvsEngine::kReadSaveHeaderError error; - error = Bbvs::BbvsEngine::readSaveHeader(in, true, header); + error = Bbvs::BbvsEngine::readSaveHeader(in, header, false); delete in; if (error == Bbvs::BbvsEngine::kRSHENoError) { SaveStateDescriptor desc(slot, header.description); diff --git a/engines/bbvs/saveload.cpp b/engines/bbvs/saveload.cpp index 74c255c860..d4782aad39 100644 --- a/engines/bbvs/saveload.cpp +++ b/engines/bbvs/saveload.cpp @@ -27,7 +27,7 @@ namespace Bbvs { -BbvsEngine::kReadSaveHeaderError BbvsEngine::readSaveHeader(Common::SeekableReadStream *in, bool loadThumbnail, SaveHeader &header) { +WARN_UNUSED_RESULT BbvsEngine::kReadSaveHeaderError BbvsEngine::readSaveHeader(Common::SeekableReadStream *in, SaveHeader &header, bool skipThumbnail) { header.version = in->readUint32LE(); if (header.version > BBVS_SAVEGAME_VERSION) @@ -38,10 +38,8 @@ BbvsEngine::kReadSaveHeaderError BbvsEngine::readSaveHeader(Common::SeekableRead 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 @@ -101,7 +99,7 @@ void BbvsEngine::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); |