diff options
-rw-r--r-- | engines/agos/res.cpp | 4 | ||||
-rw-r--r-- | engines/agos/res_ami.cpp | 8 |
2 files changed, 10 insertions, 2 deletions
diff --git a/engines/agos/res.cpp b/engines/agos/res.cpp index 7900d7823a..da1ab97810 100644 --- a/engines/agos/res.cpp +++ b/engines/agos/res.cpp @@ -731,10 +731,10 @@ bool AGOSEngine::loadVGAFile(uint id, uint type) { (getFeatures() & GF_CRUNCHED && type != 3)) { byte *srcBuffer = (byte *)malloc(srcSize); if (in.read(srcBuffer, srcSize) != srcSize) - error("loadVGAFile: Read failed"); + error("loadVGAFile: Read failed"); dstSize = READ_BE_UINT32(srcBuffer + srcSize - 4); - if (type == 2 && dstSize != 64800) { + if (type == 2) { dst = (byte *)malloc(dstSize); decrunchFile(srcBuffer, dst, srcSize); convertAmiga(dst, dstSize); diff --git a/engines/agos/res_ami.cpp b/engines/agos/res_ami.cpp index fc6e5cf350..5dd5b5064b 100644 --- a/engines/agos/res_ami.cpp +++ b/engines/agos/res_ami.cpp @@ -260,6 +260,14 @@ static void convertclip(uint32 offset, uint16 height, uint16 width) { } void AGOSEngine::convertAmiga(byte *srcBuf, int32 fileSize) { + // TODO Better detection of full screen images + if ((getGameType() == GType_WW && fileSize == 178624) || + fileSize == 64800) { + byte *dstBuf = allocBlock (fileSize); + memcpy(dstBuf, srcBuf, fileSize); + return; + } + uint32 clipoffset, outlength; uint16 clipwidth, clipheight; byte *clipsend; |