Opened 15 years ago
Closed 15 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 |
Version: | 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)
Change History (7)
by , 15 years ago
comment:1 by , 15 years ago
This bug is nice to get fixed before the release. Raising priority for keeping the track.
comment:2 by , 15 years ago
Priority: | normal → high |
---|
comment:3 by , 15 years ago
Perhaps it is related to #2721332: DIG: Cursor delays to appear after scene skip?
comment:4 by , 15 years ago
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 by , 15 years ago
Keywords: | script added |
---|---|
Owner: | set to |
Resolution: | → fixed |
Status: | new → closed |
comment:6 by , 15 years ago
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.
Savegame inside the planetarium