[Scummvm-cvs-logs] scummvm master -> c48ad37244e3706972b538616d0c0ce6653b4c68

bluegr md5 at scummvm.org
Fri Feb 17 09:56:14 CET 2012


This automated email contains information about 1 new commit which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .

Summary:
c48ad37244 SCI: Fix bug #3487088 - "SCI: LB1: Missing Wait cursor"


Commit: c48ad37244e3706972b538616d0c0ce6653b4c68
    https://github.com/scummvm/scummvm/commit/c48ad37244e3706972b538616d0c0ce6653b4c68
Author: Filippos Karapetis (md5 at scummvm.org)
Date: 2012-02-17T00:53:42-08:00

Commit Message:
SCI: Fix bug #3487088 - "SCI: LB1: Missing Wait cursor"

Changed paths:
    engines/sci/graphics/cursor.cpp



diff --git a/engines/sci/graphics/cursor.cpp b/engines/sci/graphics/cursor.cpp
index a939b04..1f7a2cf 100644
--- a/engines/sci/graphics/cursor.cpp
+++ b/engines/sci/graphics/cursor.cpp
@@ -131,6 +131,15 @@ void GfxCursor::kernelSetShape(GuiResourceId resourceId) {
 	// bit 0 of resourceData[3] is set on <SCI1 games, which means center hotspot
 	if ((hotspot.x == 0) && (hotspot.y == 256))
 		hotspot.x = hotspot.y = SCI_CURSOR_SCI0_HEIGHTWIDTH / 2;
+	// LB1 defines bogus hotspot data for the busy cursor, which is fairly easy
+	// to detect, as the hotspot is defined outside the visible screen (!).
+	// Presumably, this was done to prevent the cursor from being usable, however
+	// the only thing that can be done when the wait cursor is shown is to skip
+	// scenes by left clicking. This bogus hotspot causes the cursor to not be
+	// drawn at all, thus we detect it and set the hotspot to (0, 0) instead.
+	// Fixes bug #3487088.
+	if (hotspot.x > _screen->getDisplayWidth())
+		hotspot.x = hotspot.y = 0;
 
 	// Now find out what colors we are supposed to use
 	colorMapping[0] = 0; // Black is hardcoded






More information about the Scummvm-git-logs mailing list