aboutsummaryrefslogtreecommitdiff
path: root/engines/scumm/he
diff options
context:
space:
mode:
authorTravis Howell2010-10-17 12:44:56 +0000
committerTravis Howell2010-10-17 12:44:56 +0000
commit728a231d7b8b392b933e507f17f20afe91fd0eed (patch)
treef4d021c4d8e06f1699f9ac7479d6e18262f2aa60 /engines/scumm/he
parent4d28de5623480788afbd4b21668db08556f1e3aa (diff)
downloadscummvm-rg350-728a231d7b8b392b933e507f17f20afe91fd0eed.tar.gz
scummvm-rg350-728a231d7b8b392b933e507f17f20afe91fd0eed.tar.bz2
scummvm-rg350-728a231d7b8b392b933e507f17f20afe91fd0eed.zip
SCUMM: Fix bug #2952298 - HE (16Bit): Inventory items (Cursors) have wrong color.
svn-id: r53552
Diffstat (limited to 'engines/scumm/he')
-rw-r--r--engines/scumm/he/wiz_he.cpp3
-rw-r--r--engines/scumm/he/wiz_he.h3
2 files changed, 4 insertions, 2 deletions
diff --git a/engines/scumm/he/wiz_he.cpp b/engines/scumm/he/wiz_he.cpp
index 361a3bc165..ddbbb2101f 100644
--- a/engines/scumm/he/wiz_he.cpp
+++ b/engines/scumm/he/wiz_he.cpp
@@ -358,6 +358,7 @@ static bool calcClipRects(int dst_w, int dst_h, int src_x, int src_y, int src_w,
void Wiz::writeColor(uint8 *dstPtr, int dstType, uint16 color) {
switch (dstType) {
+ case kDstCursor:
case kDstScreen:
WRITE_UINT16(dstPtr, color);
break;
@@ -1519,7 +1520,7 @@ uint8 *Wiz::drawWizImage(int resNum, int state, int maskNum, int maskState, int
cw = width;
ch = height;
dstPitch = cw * _vm->_bytesPerPixel;
- dstType = kDstMemory;
+ dstType = (_cursorImage) ? kDstCursor : kDstMemory;
} else {
if (dstResNum) {
uint8 *dstPtr = _vm->getResourceAddress(rtImage, dstResNum);
diff --git a/engines/scumm/he/wiz_he.h b/engines/scumm/he/wiz_he.h
index 1fa9564486..c255e27d14 100644
--- a/engines/scumm/he/wiz_he.h
+++ b/engines/scumm/he/wiz_he.h
@@ -145,7 +145,8 @@ enum {
enum DstSurface {
kDstScreen = 0,
kDstMemory = 1,
- kDstResource = 2
+ kDstResource = 2,
+ kDstCursor = 3
};
class ScummEngine_v71he;