SCI: Fix bug #3487088 - "SCI: LB1: Missing Wait cursor"
This commit is contained in:
parent
8c5f988a00
commit
c48ad37244
1 changed files with 9 additions and 0 deletions
|
@ -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
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue