Opened 7 months ago

Closed 5 months ago

#10792 closed defect (fixed)

SCI: Mac KQ6, QFG1VGA, FPFP, GK1 broken, possibly others

Reported by: sluicebox Owned by: bluegr
Priority: normal Component: Engine: SCI
Keywords: Cc:
Game:

Description

ScummVM 2.0 broke mac versions of all SCI games whose data files are in the "Data#" format instead of "RESOURCE.###" which is at least KQ6, QFG1VGA, FPFP, and GK1. They can't be started due to a breaking change in the mac resource loader.

There's already bug #10440 for FPFP but I don't know if it's known that this affected multiple games in the 2.0 release and that a fix is available.

csnover described the problem in the comments for #10440 and there's a commit in his working branch that fixes it by disabling mac resource fork validation: https://github.com/csnover/scummvm/commit/ca420e44167e5ee488b4ad547104fa6b976e6f1c

I don't know if disabling validation is the right ultimate fix but I can confirm that applying this change allows these games to load again. (Except for GK1 which crashes for other reasons but at least it gets farther)

Just wanted to get the state of things written down and on the radar.

Change History (2)

comment:1 Changed 5 months ago by sluicebox

This bug was introduced on May 7, 2017: https://github.com/scummvm/scummvm/commit/554a73e01209643161f8adecba825a5bc39f87f8

Validation was verify up front that resource maps didn't contain resource offsets and sizes that would go beyond the volume file size.

This validation wasn't meant to apply to games that don't have external resource map files, such as the Mac SCI 1.1 games, and so disabling it for them is appropriate to restore the original behavior and fix loading the games.

Can we just pull in that commit and close this out?

Version 0, edited 5 months ago by sluicebox (next)

comment:2 Changed 5 months ago by bluegr

Owner: set to bluegr
Resolution: fixed
Status: newclosed

There are other changes before this commit. I've adapted it for the current codebase, and pushed it in commit 57f114cbc3f8ecea0668c732550afc638e3ee302.

Closing this, as well as the other linked bug.

Note: See TracTickets for help on using tickets.