diff options
author | Travis Howell | 2007-02-12 01:07:27 +0000 |
---|---|---|
committer | Travis Howell | 2007-02-12 01:07:27 +0000 |
commit | 8ba35537223eecc128c3ec0fca725680674aa510 (patch) | |
tree | 69f13df36122e6b9a4452673f3581eb01116a3cc /engines | |
parent | f2dff4dec6bffe7e6e7abe280a54ddfdc3a4fc05 (diff) | |
download | scummvm-rg350-8ba35537223eecc128c3ec0fca725680674aa510.tar.gz scummvm-rg350-8ba35537223eecc128c3ec0fca725680674aa510.tar.bz2 scummvm-rg350-8ba35537223eecc128c3ec0fca725680674aa510.zip |
Add Quietust's changes to fix image glitches in Amiga AGA/CD32 versions of Simon the Sorcerer 1.
svn-id: r25504
Diffstat (limited to 'engines')
-rw-r--r-- | engines/agos/res_ami.cpp | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/engines/agos/res_ami.cpp b/engines/agos/res_ami.cpp index 08a5db5726..7024726e2b 100644 --- a/engines/agos/res_ami.cpp +++ b/engines/agos/res_ami.cpp @@ -129,10 +129,18 @@ byte *AGOSEngine::convertclip(const byte *src, bool is32Colors, uint height, uin length = (width + 15) / 16 * height; for (i = 0; i < length; i++) { uint16 w[kMaxColorDepth]; - for (j = 0; j < colorDepth; ++j) { - w[j] = READ_BE_UINT16(src); src += 2; + if (getGameType() == GType_SIMON1 && !is32Colors) { + for (j = 0; j < colorDepth; ++j) { + w[j] = READ_BE_UINT16(src + j * length * 2); + } + bitplanetochunky(w, colorDepth, dst); + src += 2; + } else { + for (j = 0; j < colorDepth; ++j) { + w[j] = READ_BE_UINT16(src); src += 2; + } + bitplanetochunky(w, colorDepth, dst); } - bitplanetochunky(w, colorDepth, dst); } } |