diff options
author | Eugene Sandulenko | 2005-02-17 23:01:00 +0000 |
---|---|---|
committer | Eugene Sandulenko | 2005-02-17 23:01:00 +0000 |
commit | 78ee0bfdaf00a6d03717bc06112034bcc663c1f0 (patch) | |
tree | e571fbfd25de3e162ed5a717c2d748caf91ab179 /scumm | |
parent | e1323556c3ebda975e304597b1e5fcb2ca7f9d65 (diff) | |
download | scummvm-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.cpp | 3 | ||||
-rw-r--r-- | scumm/resource_v7he.cpp | 14 |
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]) * |