aboutsummaryrefslogtreecommitdiff
path: root/engines/draci/saveload.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'engines/draci/saveload.cpp')
-rw-r--r--engines/draci/saveload.cpp11
1 files changed, 3 insertions, 8 deletions
diff --git a/engines/draci/saveload.cpp b/engines/draci/saveload.cpp
index 3e7f8651c1..e30af5375e 100644
--- a/engines/draci/saveload.cpp
+++ b/engines/draci/saveload.cpp
@@ -35,9 +35,8 @@ namespace Draci {
static const char *const draciIdentString = "DRACI";
-bool readSavegameHeader(Common::InSaveFile *in, DraciSavegameHeader &header) {
+WARN_UNUSED_RESULT bool readSavegameHeader(Common::InSaveFile *in, DraciSavegameHeader &header, bool skipThumbnail) {
char saveIdentBuffer[6];
- header.thumbnail = NULL;
// Validate the header Id
in->read(saveIdentBuffer, 6);
@@ -59,9 +58,9 @@ bool readSavegameHeader(Common::InSaveFile *in, DraciSavegameHeader &header) {
header.playtime = in->readUint32LE();
// Get the thumbnail
- header.thumbnail = Graphics::loadThumbnail(*in);
- if (!header.thumbnail)
+ if (!Graphics::loadThumbnail(*in, header.thumbnail, skipThumbnail)) {
return false;
+ }
return true;
}
@@ -130,10 +129,6 @@ Common::Error loadSavegameData(int saveGameIdx, DraciEngine *vm) {
if (!readSavegameHeader(f, header)) {
return Common::kNoGameDataFoundError;
}
- if (header.thumbnail) {
- header.thumbnail->free();
- delete header.thumbnail;
- }
// Pre-processing
vm->_game->rememberRoomNumAsPrevious();