aboutsummaryrefslogtreecommitdiff
path: root/engines
diff options
context:
space:
mode:
authorBastien Bouclet2016-12-11 09:50:48 +0100
committerBastien Bouclet2016-12-11 09:52:09 +0100
commitf56f91af16640b80fb7416fe2f1f0eadd921f351 (patch)
treead7a68791f027e0bea1a9f5e558c55b2de8cf2fb /engines
parent081abdd86c32767ae8bd1846f5357095bb2bc4e1 (diff)
downloadscummvm-rg350-f56f91af16640b80fb7416fe2f1f0eadd921f351.tar.gz
scummvm-rg350-f56f91af16640b80fb7416fe2f1f0eadd921f351.tar.bz2
scummvm-rg350-f56f91af16640b80fb7416fe2f1f0eadd921f351.zip
MOHAWK: Fix transparency for the rotation cursors in Myst
Diffstat (limited to 'engines')
-rw-r--r--engines/mohawk/cursors.cpp9
1 files changed, 7 insertions, 2 deletions
diff --git a/engines/mohawk/cursors.cpp b/engines/mohawk/cursors.cpp
index abc1322340..b78f71a71d 100644
--- a/engines/mohawk/cursors.cpp
+++ b/engines/mohawk/cursors.cpp
@@ -122,8 +122,13 @@ void MystCursorManager::setCursor(uint16 id) {
if (surface->format.bytesPerPixel == 1) {
// The transparent color is almost always 255, except for the main cursor (100)
// in the D'ni archive, where it is 0.
- // Using the color of the first pixel as the transparent color seems to always work.
- byte transparentColor = ((byte *)surface->getPixels())[0];
+ // Using the color of the first pixel as the transparent color for the main cursor always works.
+ byte transparentColor;
+ if (id == kDefaultMystCursor) {
+ transparentColor = ((byte *)surface->getPixels())[0];
+ } else {
+ transparentColor = 255;
+ }
CursorMan.replaceCursor(surface->getPixels(), surface->w, surface->h, hotspotX, hotspotY, transparentColor);
// We're using the screen palette for the original game, but we need