aboutsummaryrefslogtreecommitdiff
path: root/scumm
diff options
context:
space:
mode:
authorEugene Sandulenko2005-02-17 23:01:00 +0000
committerEugene Sandulenko2005-02-17 23:01:00 +0000
commit78ee0bfdaf00a6d03717bc06112034bcc663c1f0 (patch)
treee571fbfd25de3e162ed5a717c2d748caf91ab179 /scumm
parente1323556c3ebda975e304597b1e5fcb2ca7f9d65 (diff)
downloadscummvm-rg350-78ee0bfdaf00a6d03717bc06112034bcc663c1f0.tar.gz
scummvm-rg350-78ee0bfdaf00a6d03717bc06112034bcc663c1f0.tar.bz2
scummvm-rg350-78ee0bfdaf00a6d03717bc06112034bcc663c1f0.zip
Mouse part of big patch #1013937 (OSystem layer with bigger resolution)
svn-id: r16800
Diffstat (limited to 'scumm')
-rw-r--r--scumm/cursor.cpp3
-rw-r--r--scumm/resource_v7he.cpp14
2 files changed, 6 insertions, 11 deletions
diff --git a/scumm/cursor.cpp b/scumm/cursor.cpp
index bfb5ddc6c2..3d032098ef 100644
--- a/scumm/cursor.cpp
+++ b/scumm/cursor.cpp
@@ -107,7 +107,8 @@ void ScummEngine_v6::setCursorTransparency(int a) {
void ScummEngine::updateCursor() {
_system->setMouseCursor(_grabbedCursor, _cursor.width, _cursor.height,
- _cursor.hotspotX, _cursor.hotspotY);
+ _cursor.hotspotX, _cursor.hotspotY, 255,
+ (_heversion == 70 ? 2 : 1));
}
void ScummEngine_v6::grabCursor(int x, int y, int w, int h) {
diff --git a/scumm/resource_v7he.cpp b/scumm/resource_v7he.cpp
index ab2b2c078c..29f7770529 100644
--- a/scumm/resource_v7he.cpp
+++ b/scumm/resource_v7he.cpp
@@ -1532,10 +1532,9 @@ void MacResExtractor::convertIcons(byte *data, int datasize, byte **cursor, int
*hotspot_x = dis.readUint16BE();
*w = *h = 16;
- // FIXME
- // Color cursors use their own palette.
- // So we can't use it for now and use B/W version
- return;
+ // Use b/w cursor on backends which don't support cursor palettes
+ if (!_vm->_system->hasFeature(OSystem::kFeatureCursorHasPalette))
+ return;
dis.readUint32BE(); // reserved
dis.readUint32BE(); // cursorID
@@ -1600,12 +1599,7 @@ void MacResExtractor::convertIcons(byte *data, int datasize, byte **cursor, int
palette[c * 4 + 3] = 0;
}
- // TODO: Here we should set separate cursor palette.
- // It requires cursor to be rendered on a different surface at
- // least in SDL backend.
- // HACK: now set global palett just to see if colors are correct.
- // this affects subtitles colors
- _vm->_system->setPalette(palette, 0, ctSize);
+ _vm->_system->setCursorPalette(palette, 0, ctSize);
numBytes =
(iconBounds[2] - iconBounds[0]) *