aboutsummaryrefslogtreecommitdiff
path: root/engines/agos/res_ami.cpp
diff options
context:
space:
mode:
authorTravis Howell2007-02-12 01:07:27 +0000
committerTravis Howell2007-02-12 01:07:27 +0000
commit8ba35537223eecc128c3ec0fca725680674aa510 (patch)
tree69f13df36122e6b9a4452673f3581eb01116a3cc /engines/agos/res_ami.cpp
parentf2dff4dec6bffe7e6e7abe280a54ddfdc3a4fc05 (diff)
downloadscummvm-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/agos/res_ami.cpp')
-rw-r--r--engines/agos/res_ami.cpp14
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);
}
}