Opened 8 years ago

Closed 8 years ago

#5969 closed defect (fixed)

SCI: LB1: Missing Wait cursor

Reported by: SF/kurufinwe Owned by: bluegr
Priority: normal Component: Engine: SCI
Keywords: Cc:
Game: Laura Bow 1: The Colonel's Bequest

Description

Using ScummVM 1.5.0git2329 on Windows 7 64-bit.

In LB1 (DOS, English, v. 1.000.046), when the game tells the player to wait (cutscene, room change, etc.), the cursor changes to a dagger (see attached screenshot from DOSBox). However, in ScummVM, the cursor just disappears in those cases.

The problem seems to be specific to LB1; at least, it doesn't happen in Camelot or QfG2

Ticket imported from: #3487088. Ticket imported from: bugs/5969.

Attachments (2)

sciv_000.png (4.4 KB ) - added by SF/kurufinwe 8 years ago.
Dagger cursor seen in DOSBox
laurabow-dagger-debug-1.patch (2.5 KB ) - added by digitall 8 years ago.
Debugging Patch #1 - Dagger is loaded correctly…

Download all attachments as: .zip

Change History (9)

by SF/kurufinwe, 8 years ago

Attachment: sciv_000.png added

Dagger cursor seen in DOSBox

comment:1 by digitall, 8 years ago

kurufinwe: Thank you for the bug report, but can you please attach a savegame to aid replication and describe how to steps to replicate this bug i.e. a savegame just before a reasonable length of cutscene would be optimal.

comment:2 by SF/kurufinwe, 8 years ago

It's easy to see the problem without a savegame, since it occurs during the entire intro (the dagger cursor is shown in DOSBox, but not ScummVM), as well as during the 7 PM clock chime at the beginning of the game (which is where the game sends you if you select Restart from the in-game menu).

comment:3 by digitall, 8 years ago

kurufinwe: Thank you... Will attempt to investigate. Please standby.

comment:4 by digitall, 8 years ago

Well, that cursor is being loaded correctly... and should be shown. This may be an issue with CursorMan's palette.
Attaching a debugging patch to aid investigation for any other developers who want to look at this.

by digitall, 8 years ago

Debugging Patch #1 - Dagger is loaded correctly...

comment:5 by wjp, 8 years ago

This is caused by bogus hotspot data, but I haven't investigated much further.The hotspot-setting code in GfxCursor::kernelSetShape() does seem a bit confused about SCI versions, though.

comment:6 by bluegr, 8 years ago

Owner: set to bluegr
Resolution: fixed
Status: newclosed

comment:7 by bluegr, 8 years ago

Fixed in c48ad37

As mentioned, bogus hotspot data is set for that cursor, which set the hotspot outside the visible screen (presumably to disable the cursor's hotspot altogether). However, the only thing that can be done when the wait cursor is disabled is to skip scenes with left clicking, thus this seems to be a hack or just junk data for this cursor. In any case, our cursor manager code doesn't show the cursor with the wrong hotspot coordinates, thus we fixup the hotspot data in that case instead and set the hotspot to (0, 0).

Note: See TracTickets for help on using tickets.