[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