Opened 8 years ago
Closed 8 years ago
#9731 closed defect (fixed)
SCI: KQ4: Crash when reading the message in a bottle
Reported by: | Kurufinwe21 | Owned by: | csnover |
---|---|---|---|
Priority: | normal | Component: | Engine: SCI |
Version: | Keywords: | ||
Cc: | Game: | King's Quest 4 |
Description
When inside the whale, get the bottle, open it, and try to read the note inside: the game crashes with the following error message:
validateExportFunc(): pubfunct is invalid!
I'm attaching a save from inside the whale.
ScummVM 1.10.0git3056-g571f608192 (win32 daily build from the ScummVM website) running on Windows 10 (64 bit).
Game version: KQ4 SCI DOS English (from the RW Anthology).
Attachments (1)
Change History (4)
by , 8 years ago
Attachment: | kq4sci.007 added |
---|
comment:1 by , 8 years ago
The affected script is script 306. This script seems a bit odd: it has an exports block at the start with one entry (0x4bc), then immediately after that another exports block with two entries (0x4bc, 0x5c6). The game is trying to load export 1, which only exists in the second export block, but we currently only find and use the first export block.
comment:2 by , 8 years ago
This looks to be a regression: there is a heuristic which handles duplicate export tables in script.cpp, inside Script::validateExportFunc().
There is a comment that specifically mentions this script in KQ4. Perhaps this heuristic is now broken with the latest changes to the VM, and should be reviewed.
comment:3 by , 8 years ago
Owner: | set to |
---|---|
Resolution: | → fixed |
Status: | new → closed |
Fixed in a620b6c354a7eee9e521d7e94adc133b4d58b0a1. Thanks for the report!
(For future reference, the previous ticket for this problem is #5079.)
Save file (inside the whale)