diff options
-rw-r--r-- | engines/scumm/saveload.cpp | 10 | ||||
-rw-r--r-- | engines/scumm/thumbnail.cpp | 10 |
2 files changed, 9 insertions, 11 deletions
diff --git a/engines/scumm/saveload.cpp b/engines/scumm/saveload.cpp index 9f0a65edda..7b5cb2c145 100644 --- a/engines/scumm/saveload.cpp +++ b/engines/scumm/saveload.cpp @@ -69,6 +69,8 @@ struct SaveInfoSection { uint16 time; }; +#define SaveInfoSectionSize (4+4+4 + 4+4 + 4+2) + #if defined(END_PACK_STRUCTS) #pragma END_PACK_STRUCTS #endif @@ -519,7 +521,7 @@ bool ScummEngine::loadInfos(Common::InSaveFile *file, InfoStuff *stuff) { section.size = file->readUint32BE(); // if we extend this we should add a table for the special sizes at the versions to check it - if (section.version == INFOSECTION_VERSION && section.size != sizeof(SaveInfoSection)) { + if (section.version == INFOSECTION_VERSION && section.size != SaveInfoSectionSize) { warning("Info section is corrupt"); file->skip(section.size); return false; @@ -549,8 +551,8 @@ bool ScummEngine::loadInfos(Common::InSaveFile *file, InfoStuff *stuff) { // skip all newer features, this could make problems if some older version uses more space for // saving informations, but this should NOT happen - if (section.size > sizeof(SaveInfoSection)) { - file->skip(section.size - sizeof(SaveInfoSection)); + if (section.size > SaveInfoSectionSize) { + file->skip(section.size - SaveInfoSectionSize); } return true; @@ -560,7 +562,7 @@ void ScummEngine::saveInfos(Common::OutSaveFile* file) { SaveInfoSection section; section.type = MKID_BE('INFO'); section.version = INFOSECTION_VERSION; - section.size = sizeof(SaveInfoSection); + section.size = SaveInfoSectionSize; // still save old format for older versions section.timeTValue = time(0); diff --git a/engines/scumm/thumbnail.cpp b/engines/scumm/thumbnail.cpp index 155637bb54..1458cec359 100644 --- a/engines/scumm/thumbnail.cpp +++ b/engines/scumm/thumbnail.cpp @@ -43,6 +43,8 @@ struct ThumbnailHeader { byte bpp; }; +#define ThumbnailHeaderSize (4+4+1+2+2+1) + #if defined(END_PACK_STRUCTS) #pragma END_PACK_STRUCTS #endif @@ -111,13 +113,7 @@ void ScummEngine::saveThumbnail(Common::OutSaveFile *file) { ThumbnailHeader header; header.type = MKID_BE('THMB'); -#if defined(PALMOS_ARM) || defined(__GP32__) - // sizeof(header) is hardcoded here, because the compiler add padding to - // have a 4byte aligned struct and there is no easy way to pack it. - header.size = 14 + thumb.w*thumb.h*thumb.bytesPerPixel; -#else - header.size = sizeof(header) + thumb.w*thumb.h*thumb.bytesPerPixel; -#endif + header.size = ThumbnailHeaderSize + thumb.w*thumb.h*thumb.bytesPerPixel; header.version = THMB_VERSION; header.width = thumb.w; header.height = thumb.h; |