Opened 6 years ago
Closed 6 years ago
#9675 closed defect (fixed)
SCI: GK2: Crash in Chapter 6 Grotto
|Reported by:||IntEmu||Owned by:||csnover|
|Cc:||jerichobarronsdublin@…||Game:||Gabriel Knight 2|
Hi, GK2 crashes on point 550 (have all 545 points that come before) following this walkthrough.
I'm using the original DOS/Windows CD release, version 1.0 with no patches, ScummVM/Windows x64/master d356d8, and installed it following the Datafiles wiki.
Also, I originally posted information about this crash in this bug because I also was experiencing this bug.
Change History (15)
comment:1 by , 6 years ago
|Keywords:||sci32 gk2 gabriel knight grotto added|
comment:2 by , 6 years ago
|Keywords:||gk2 gabriel knight grotto removed|
|Summary:||Crash: SCI: GK2: Chapter 6: Grotto → SCI: GK2: Crash in Chapter 6 Grotto|
comment:3 by , 6 years ago
comment:4 by , 6 years ago
Hi, this bug is more of a (hourglass) freeze than a crash. To reproduce, with the right number of points/at the right spot in the game, wait at the Grotto for the person to go away and the game will freeze.
I created this bug for others to know and to gather info. Wondering if I have this issue because I had the large savegame bug. Also wondering if this affects only version 1.0 and if others have completed this game. Thank you.
comment:5 by , 6 years ago
|Status:||new → closed|
I ran through the entire game and was not able to reproduce any crash or hang, so it appears this issue is either not a problem with the latest available ScummVM code, or insufficient detail has been provided to reproduce the bug.
If you can provide a save game and reproduction instructions for this problem, this ticket can be reopened. Thanks!
comment:6 by , 6 years ago
Did you playthrough with version 1.0?
comment:7 by , 6 years ago
1) I upgraded to v1.1 and no longer receive this freeze/crash.
2) I thought I provided reproduction information and it would have been nice for you to indicate if you used v1.1 or v1.0.
4) I think the issue is with v1.0 and with v1.1 I've been able to progress to the last scene in the game.
by , 6 years ago
by , 6 years ago
comment:8 by , 6 years ago
|Status:||closed → new|
Unfortunately I've got this bug too. When I walk in to grotto in chapter 6 and wait for the guard to walk away the cursor turns into a hourglass and the game freezes. I can move the cursor but that's all. The guard never leaves his place. I've tried to go further to get next part of the opera and go back but game always freezes there.
I've attached screenshot and savegame. I'm using Windows 7 sp1 64bit. Scummvm version: git3316-g9c28bcf. Game version DOS/English 1.12 DVD by enrico rolfi (DVD made from original CDs with unofficial patch that can be found here: http://gkpatches.vogons.org/download.php?file=setupgk2.exe)
comment:9 by , 6 years ago
This happens when guard is supposed to enter or leave.
To reproduce one can simply wait in that room for a guard to enter.
guardControl::changeState(1) is taking control away from the player, and then waits for kkDoAudio(DoAudioWaitForPlay) to return 0.
Right now ScummVM is returning the currently active channels, which is 1 (because digital background music is playing), so it loops and waits endlessly.
Issue does not happen with original interpreter, even though digital background music is playing in that one as well.
comment:10 by , 6 years ago
Can confirm that this bug occurs in v1.1 (Dos/English) on Windows 10 x64, and as far as I can tell makes completing the game impossible.
comment:11 by , 6 years ago
|Priority:||normal → high|
Thanks. This is my top priority, so will be addressed as soon as possible.
The interpreter for GK2 was changed to return a different value for kDoAudioPlay/WaitForPlay functions (and possibly other kDoAudio/kDoSound calls, I am still researching what else changed); where other versions of SCI2.1 return the number of active audio samples, GK2’s interpreter returns only the number of active samples loaded into memory (vs being streamed from disc).
comment:12 by , 6 years ago
Sorry, I misspoke earlier (actually, read the disassembly wrong the first time).
kDoAudio(WaitForPlay) was changed in GK2 to return the number of samples that have not been loaded into memory, but the background music is supposed to be loaded into memory by an earlier call to
kLock. Most of this code is new to SSCI in GK2. (It looks like Torin may have introduced some non-audio-related lock serialization code; I am still working on figuring out precisely where it was introduced and what it is doing.)
As a side-note, this seems to explain the “weird” audio-lock-related behaviour I encountered in Lighthouse from time to time.
comment:13 by , 6 years ago
|Status:||new → closed|
Thanks for your report! A fix for this issue has been committed in 85e35943fe27b99a91d97eace3072117c2073f69 and will be available in daily builds 1.10.0git-3419 and higher.
If you have an existing save game where you are already inside of Neuschwanstein in chapter 6, upon loading the game, you will need to exit to the exterior of Neuschwanstein and then re-enter the building for the grotto area to work correctly.
Could you please provide a save game & reproduction instructions? That will make isolating and fixing the bug much quicker. Thanks!