Opened 8 years ago
Closed 8 years ago
#9758 closed defect (fixed)
SCI: KQ7: Death screen infinite loop
Reported by: | bgK | Owned by: | bgK |
---|---|---|---|
Priority: | normal | Component: | Engine: SCI |
Version: | Keywords: | sci32 | |
Cc: | Game: | King's Quest 7 |
Description (last modified by )
Game: KQ7 Dos English 2.00b from GOG.com
ScummVM: Current git master
In chapter 2, when trying to cross the lava chasm, Rosella dies. The death screen enters in an infinite loop after Rosella finishes speaking.
To reproduce, load the attached save, click across the chasm. Wait for the death screen to lock up.
Backtrace while in the infinite loop:
#0 0x000000000049791c in Sci::reg32_t::getOffset (this=0x3292038) at ../engines/sci/engine/vm_types.h:199 #1 0x000000000049793d in Sci::reg32_t::incOffset (this=0x3292038, offset=1) at ../engines/sci/engine/vm_types.h:207 #2 0x0000000000494d2b in Sci::run_vm (s=0x2e9d590) at ../engines/sci/engine/vm.cpp:679 #3 0x000000000048682c in Sci::invokeSelector (s=0x2e9d590, object=..., selectorId=250, k_argc=2, k_argp=0x2eb45d8, argc=0, argv=0x2eb45e0) at ../engines/sci/engine/selector.cpp:291 #4 0x00000000004568b8 in Sci::kListEachElementDo (s=0x2e9d590, argc=2, argv=0x2eb45d8) at ../engines/sci/engine/klists.cpp:620 #5 0x00000000004941cc in Sci::callKernelFunc (s=0x2e9d590, kernelCallNr=90, argc=2) at ../engines/sci/engine/vm.cpp:462 #6 0x0000000000495e40 in Sci::run_vm (s=0x2e9d590) at ../engines/sci/engine/vm.cpp:920 #7 0x000000000043a3a7 in Sci::SciEngine::runGame (this=0x2d1f730) at ../engines/sci/sci.cpp:654 #8 0x00000000004392dc in Sci::SciEngine::run (this=0x2d1f730) at ../engines/sci/sci.cpp:425 #9 0x000000000040df56 in runGame (plugin=0x110a870, system=..., edebuglevels=...) at ../base/main.cpp:263 #10 0x000000000040f147 in scummvm_main (argc=1, argv=0x7fffffffe868) at ../base/main.cpp:529 #11 0x000000000040c283 in main (argc=1, argv=0x7fffffffe868) at ../backends/platform/sdl/posix/posix-main.cpp:45}}}
Attachments (2)
Change History (8)
by , 8 years ago
Attachment: | kq7-cd.001 added |
---|
comment:1 by , 8 years ago
Description: | modified (diff) |
---|
comment:2 by , 8 years ago
I attached a SCI backtrace as requested by m_kiewitz. It's not from the same death, but all deaths appear to get stuck in the same way.
comment:3 by , 8 years ago
That SCI backtrace comes from the death in room 2550 when trying to ride the cart without a "fourth wheel".
comment:4 by , 8 years ago
This seems to be a case of the screen not updating correctly rather than an infinite loop. The death screen buttons can still be clicked despite the mouse cursor not changing position.
comment:5 by , 8 years ago
I’m not able to reproduce this bug with KQ7 2.00b from the KQ Collection (1997), so I strongly suspect that there are fan patches in the GOG release (especially knowing that they would have had to patch the firecracker puzzle) that are breaking the game. Please get in touch with me on IRC so we can compare files.
comment:6 by , 8 years ago
Owner: | set to |
---|---|
Resolution: | → fixed |
Status: | new → closed |
This was fixed by snover in 57dd79d4dcb977f9803c8c4d8fe6c19eaac35d90 (updating the screen in tight loops around kGetEvent)
Chapter 2 Chasm