Opened 10 years ago

Closed 10 years ago

#4409 closed defect (fixed)

DIG: Skipping planetarium animation disables F5 menu

Reported by: SF/kurufinwe Owned by: Kirben
Priority: high Component: Engine: SCUMM
Keywords: script Cc:
Game: The Dig

Description

This is a problem I've encountered with The Dig. If you start using the planetarium, you get a video of the moons moving. If you skip it with ESC, then you're unable to use the F5 menu afterwards (using the F5 key just doesn't do anything). The CTRL-F5 menu still works, but the Load and Save menus are greyed out. This means that you can't save your game anymore.

Exiting the planetarium, re-entering, and using it again this time without skipping the video restores everything to normal.

I'm attaching a savegame inside the planetarium. Just click the gold sceptre on the ceiling and then somewhere around the planet, and skip the video to reproduce the bug.

I'm playing the English Windows CD version of the Dig, using ScummVM v. 1.0.0svn42433 under MacOSX 10.5.

Ticket imported from: #2821215. Ticket imported from: bugs/4409.

Attachments (1)

dig.s06 (29.9 KB) - added by SF/kurufinwe 10 years ago.
Savegame inside the planetarium

Download all attachments as: .zip

Change History (7)

Changed 10 years ago by SF/kurufinwe

Attachment: dig.s06 added

Savegame inside the planetarium

comment:1 Changed 10 years ago by sev-

This bug is nice to get fixed before the release. Raising priority for keeping the track.

comment:2 Changed 10 years ago by sev-

Priority: normalhigh

comment:3 Changed 10 years ago by sev-

Perhaps it is related to #2721332: DIG: Cursor delays to appear after scene skip?

comment:4 Changed 10 years ago by eriktorbjorn

I think the problem is that the room-67-2000 script does something like this:

[0040] (68) beginCutscene([2])

...

[04D3] (43) VAR_MAINMENU_KEY = 0
[04D9] (A4) VAR_VIDEONAME[0] = "m2.san"
[04E7] (C9) kernelSetFunctions.startVideo([0])
[04F1] (43) VAR_MAINMENU_KEY = 319

...

[05BE] (67) endCutscene()

If I'm not completely mistaken, hitting Escape causes the script to skip to endCutscene(), so it skips past restoring the VAR_MAINMENU_KEY variable to its proper value. There is a note about possible problems in ScummEngine::abortCutscene(). In this case, I think it's called from ScummEngine_v7::processKeyboard().

comment:5 Changed 10 years ago by Kirben

Keywords: script added
Owner: set to Kirben
Resolution: fixed
Status: newclosed

comment:6 Changed 10 years ago by Kirben

The problem was due to a difference in the code use to skip videos, compared to the original versions. The video was stopped, and the cutscene aborted later in the original versions of The Dig and FT.

It looks like the original version of COMI doesn't use abortCutscene at all, when skipping videos.

I changed the code in ScummVM SVN to closer match the original versions, use the next daily snapshot of ScummVM SVN.

Note: See TracTickets for help on using tickets.