ILLUSIONS: Refactor savegame thumbnail logic to be inline with rest of tree
This commit is contained in:
parent
8e43261d13
commit
02eaa4c83d
3 changed files with 7 additions and 9 deletions
|
@ -147,7 +147,7 @@ SaveStateList IllusionsMetaEngine::listSaves(const char *target) const {
|
||||||
if (slotNum >= 0 && slotNum <= 999) {
|
if (slotNum >= 0 && slotNum <= 999) {
|
||||||
Common::InSaveFile *in = saveFileMan->openForLoading(file->c_str());
|
Common::InSaveFile *in = saveFileMan->openForLoading(file->c_str());
|
||||||
if (in) {
|
if (in) {
|
||||||
if (Illusions::IllusionsEngine::readSaveHeader(in, false, header) == Illusions::IllusionsEngine::kRSHENoError) {
|
if (Illusions::IllusionsEngine::readSaveHeader(in, header) == Illusions::IllusionsEngine::kRSHENoError) {
|
||||||
saveList.push_back(SaveStateDescriptor(slotNum, header.description));
|
saveList.push_back(SaveStateDescriptor(slotNum, header.description));
|
||||||
}
|
}
|
||||||
delete in;
|
delete in;
|
||||||
|
@ -164,7 +164,7 @@ SaveStateDescriptor IllusionsMetaEngine::querySaveMetaInfos(const char *target,
|
||||||
if (in) {
|
if (in) {
|
||||||
Illusions::IllusionsEngine::SaveHeader header;
|
Illusions::IllusionsEngine::SaveHeader header;
|
||||||
Illusions::IllusionsEngine::kReadSaveHeaderError error;
|
Illusions::IllusionsEngine::kReadSaveHeaderError error;
|
||||||
error = Illusions::IllusionsEngine::readSaveHeader(in, true, header);
|
error = Illusions::IllusionsEngine::readSaveHeader(in, header, false);
|
||||||
delete in;
|
delete in;
|
||||||
if (error == Illusions::IllusionsEngine::kRSHENoError) {
|
if (error == Illusions::IllusionsEngine::kRSHENoError) {
|
||||||
SaveStateDescriptor desc(slot, header.description);
|
SaveStateDescriptor desc(slot, header.description);
|
||||||
|
|
|
@ -244,7 +244,7 @@ public:
|
||||||
const char *getSavegameFilename(int num);
|
const char *getSavegameFilename(int num);
|
||||||
bool existsSavegame(int num);
|
bool existsSavegame(int num);
|
||||||
static Common::String getSavegameFilename(const Common::String &target, int num);
|
static Common::String getSavegameFilename(const Common::String &target, int num);
|
||||||
static kReadSaveHeaderError readSaveHeader(Common::SeekableReadStream *in, bool loadThumbnail, SaveHeader &header);
|
static kReadSaveHeaderError readSaveHeader(Common::SeekableReadStream *in, SaveHeader &header, bool skipThumbnail = true);
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -31,7 +31,7 @@ namespace Illusions {
|
||||||
|
|
||||||
#define ILLUSIONS_SAVEGAME_VERSION 0
|
#define ILLUSIONS_SAVEGAME_VERSION 0
|
||||||
|
|
||||||
IllusionsEngine::kReadSaveHeaderError IllusionsEngine::readSaveHeader(Common::SeekableReadStream *in, bool loadThumbnail, SaveHeader &header) {
|
IllusionsEngine::kReadSaveHeaderError IllusionsEngine::readSaveHeader(Common::SeekableReadStream *in, SaveHeader &header, bool skipThumbnail) {
|
||||||
|
|
||||||
header.version = in->readUint32LE();
|
header.version = in->readUint32LE();
|
||||||
if (header.version > ILLUSIONS_SAVEGAME_VERSION)
|
if (header.version > ILLUSIONS_SAVEGAME_VERSION)
|
||||||
|
@ -43,10 +43,8 @@ IllusionsEngine::kReadSaveHeaderError IllusionsEngine::readSaveHeader(Common::Se
|
||||||
header.description += (char)in->readByte();
|
header.description += (char)in->readByte();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (loadThumbnail) {
|
if (!Graphics::loadThumbnail(*in, header.thumbnail, skipThumbnail)) {
|
||||||
Graphics::loadThumbnail(*in, header.thumbnail);
|
return kRSHEIoError;
|
||||||
} else {
|
|
||||||
Graphics::skipThumbnail(*in);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Not used yet, reserved for future usage
|
// Not used yet, reserved for future usage
|
||||||
|
@ -110,7 +108,7 @@ bool IllusionsEngine::loadgame(const char *filename) {
|
||||||
|
|
||||||
SaveHeader header;
|
SaveHeader header;
|
||||||
|
|
||||||
kReadSaveHeaderError errorCode = readSaveHeader(in, false, header);
|
kReadSaveHeaderError errorCode = readSaveHeader(in, header);
|
||||||
|
|
||||||
if (errorCode != kRSHENoError) {
|
if (errorCode != kRSHENoError) {
|
||||||
warning("Error loading savegame '%s'", filename);
|
warning("Error loading savegame '%s'", filename);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue