[Scummvm-git-logs] scummvm master -> 97c44f64d077cf1acb7c45b6766587749cf8a2f7
bluegr
noreply at scummvm.org
Sun May 3 09:02:14 UTC 2026
This automated email contains information about 1 new commit which have been
pushed to the 'scummvm' repo located at https://api.github.com/repos/scummvm/scummvm .
Summary:
97c44f64d0 ENGINES: Ensure that in-game cursors are scaled on high DPI displays
Commit: 97c44f64d077cf1acb7c45b6766587749cf8a2f7
https://github.com/scummvm/scummvm/commit/97c44f64d077cf1acb7c45b6766587749cf8a2f7
Author: Cameron Cawley (ccawley2011 at gmail.com)
Date: 2026-05-03T12:02:10+03:00
Commit Message:
ENGINES: Ensure that in-game cursors are scaled on high DPI displays
Changed paths:
engines/bagel/spacebar/baglib/cursor.cpp
engines/glk/events.cpp
engines/made/screen.cpp
engines/scumm/cursor.cpp
engines/tony/game.cpp
graphics/cursorman.cpp
graphics/mfc/gfx/cursor.cpp
diff --git a/engines/bagel/spacebar/baglib/cursor.cpp b/engines/bagel/spacebar/baglib/cursor.cpp
index a285848e175..bda37e92265 100644
--- a/engines/bagel/spacebar/baglib/cursor.cpp
+++ b/engines/bagel/spacebar/baglib/cursor.cpp
@@ -133,7 +133,7 @@ void CSystemCursor::setCurrent() {
Graphics::PixelFormat format = Graphics::PixelFormat::createFormatCLUT8();
CursorMan.replaceCursorPalette(CURSOR_PALETTE, 0, ARRAYSIZE(CURSOR_PALETTE) / 3);
- CursorMan.replaceCursor(ARROW_CURSOR, CURSOR_W, CURSOR_H, 0, 0, 0, true, &format);
+ CursorMan.replaceCursor(ARROW_CURSOR, CURSOR_W, CURSOR_H, 0, 0, 0, false, &format);
}
} // namespace SpaceBar
diff --git a/engines/glk/events.cpp b/engines/glk/events.cpp
index 5d6c6aa9c22..6bf0f48675c 100644
--- a/engines/glk/events.cpp
+++ b/engines/glk/events.cpp
@@ -410,7 +410,7 @@ void Events::setCursor(CursorId cursorId) {
const Surface &s = _cursors[cursorId];
const int TRANSPARENT = s.format.RGBToColor(TRANSPARENT_RGB, TRANSPARENT_RGB, TRANSPARENT_RGB);
- CursorMan.replaceCursor(s, s._hotspot.x, s._hotspot.y, TRANSPARENT, true);
+ CursorMan.replaceCursor(s, s._hotspot.x, s._hotspot.y, TRANSPARENT);
}
_cursorId = cursorId;
diff --git a/engines/made/screen.cpp b/engines/made/screen.cpp
index ab2ff5d42d0..8b20d95df16 100644
--- a/engines/made/screen.cpp
+++ b/engines/made/screen.cpp
@@ -980,6 +980,9 @@ void Screen::clearSpriteList() {
}
void Screen::setMouseCursor(const Graphics::Cursor *cursor) {
+ // The original Windows version of Rodney's Funscreen upscales the
+ // main screen, but displays the cursor at native resolution.
+ // FIXME: This is likely too small on high DPI displays.
CursorMan.replaceCursor(cursor, true);
}
diff --git a/engines/scumm/cursor.cpp b/engines/scumm/cursor.cpp
index 5ddbb08c7f0..fa07a2a429b 100644
--- a/engines/scumm/cursor.cpp
+++ b/engines/scumm/cursor.cpp
@@ -428,6 +428,7 @@ void ScummEngine::updateCursor() {
if (_macScreen && _game.version == 6 && _game.heversion == 0)
mac_scaleCursor(cursor, hotspotX, hotspotY, width, height);
+ // FIXME: This is likely too small on high DPI displays with HE 70 games.
#ifdef USE_RGB_COLOR
Graphics::PixelFormat format = _system->getScreenFormat();
CursorMan.replaceCursor(cursor, width, height,
diff --git a/engines/tony/game.cpp b/engines/tony/game.cpp
index 0f06578ef83..6466e086099 100644
--- a/engines/tony/game.cpp
+++ b/engines/tony/game.cpp
@@ -1572,7 +1572,7 @@ void RMPointer::updateCursor() {
// Get the raw pixel data and set the cursor to it
Graphics::PixelFormat pixelFormat(2, 5, 6, 5, 0, 11, 5, 0, 0);
- CursorMan.replaceCursor(cursorData, 64, 64, _cursorHotspot._x, _cursorHotspot._y, 0, 1, &pixelFormat);
+ CursorMan.replaceCursor(cursorData, 64, 64, _cursorHotspot._x, _cursorHotspot._y, 0, false, &pixelFormat);
}
/**
diff --git a/graphics/cursorman.cpp b/graphics/cursorman.cpp
index 689af0f6e6f..e7d572a24b6 100644
--- a/graphics/cursorman.cpp
+++ b/graphics/cursorman.cpp
@@ -338,10 +338,10 @@ void CursorManager::setDefaultArrowCursor(bool push) {
if (push) {
pushCursorPalette(CURSOR_PALETTE, 0, ARRAYSIZE(CURSOR_PALETTE) / 3);
- pushCursor(ARROW_CURSOR, CURSOR_W, CURSOR_H, 0, 0, 0, true, &format);
+ pushCursor(ARROW_CURSOR, CURSOR_W, CURSOR_H, 0, 0, 0, false, &format);
} else {
replaceCursorPalette(CURSOR_PALETTE, 0, ARRAYSIZE(CURSOR_PALETTE) / 3);
- replaceCursor(ARROW_CURSOR, CURSOR_W, CURSOR_H, 0, 0, 0, true, &format);
+ replaceCursor(ARROW_CURSOR, CURSOR_W, CURSOR_H, 0, 0, 0, false, &format);
}
}
diff --git a/graphics/mfc/gfx/cursor.cpp b/graphics/mfc/gfx/cursor.cpp
index 0414ca02983..67275e66ced 100644
--- a/graphics/mfc/gfx/cursor.cpp
+++ b/graphics/mfc/gfx/cursor.cpp
@@ -171,7 +171,7 @@ void Cursor::showCursor() {
CursorMan.replaceCursor(cursor);
} else {
CursorMan.replaceCursor(_surface.getPixels(),
- _surface.w, _surface.h, 0, 0, 0, true, &format);
+ _surface.w, _surface.h, 0, 0, 0, false, &format);
}
CursorMan.showMouse(true);
More information about the Scummvm-git-logs
mailing list