aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEugene Sandulenko2008-01-02 17:33:57 +0000
committerEugene Sandulenko2008-01-02 17:33:57 +0000
commita4cbfa354b8892064cae5febcca60cd71266a3cc (patch)
tree6b0f9aa6898569dea948c3e2aee7f8f92cd6e4fe
parent6dfaaf3018cd44e8c2eb9356c3d6e2d5f0d89ad7 (diff)
downloadscummvm-rg350-a4cbfa354b8892064cae5febcca60cd71266a3cc.tar.gz
scummvm-rg350-a4cbfa354b8892064cae5febcca60cd71266a3cc.tar.bz2
scummvm-rg350-a4cbfa354b8892064cae5febcca60cd71266a3cc.zip
Fix bug #1846886: "PUTTZOO: Windows version cursor/pointer drawn wrong"
svn-id: r30154
-rw-r--r--engines/scumm/he/resource_he.cpp10
1 files changed, 7 insertions, 3 deletions
diff --git a/engines/scumm/he/resource_he.cpp b/engines/scumm/he/resource_he.cpp
index 9bec74c62a..72db0a8d9e 100644
--- a/engines/scumm/he/resource_he.cpp
+++ b/engines/scumm/he/resource_he.cpp
@@ -943,15 +943,19 @@ int Win32ResExtractor::convertIcons(byte *data, int datasize, byte **cursor, int
uint32 x;
uint32 y = (bitmap.height < 0 ? d : height - d - 1);
uint32 imod = y * (image_size / height) * 8 / bitmap.bit_count;
- //uint32 mmod = y * (mask_size / height) * 8;
+ uint32 mmod = y * (mask_size / height) * 8;
for (x = 0; x < width; x++) {
uint32 color = simple_vec(image_data, x + imod, bitmap.bit_count);
// We set up cursor palette for default cursor, so use it
- if (color) {
- cursor[0][width * d + x] = 254; // white
+ if (!simple_vec(mask_data, x + mmod, 1)) {
+ if (color) {
+ cursor[0][width * d + x] = 254; // white
+ } else {
+ cursor[0][width * d + x] = 0; // black
+ }
} else {
cursor[0][width * d + x] = 255; // transparent
}