aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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