aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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);
}
}