[Scummvm-tracker] [ScummVM] #7060: DIG: Crash with 'Unable to find Steam executable from detection pattern'
Willem Jan Palenstijn
trac at scummvm.org
Sat Oct 1 00:06:21 CEST 2016
#7060: DIG: Crash with 'Unable to find Steam executable from detection pattern'
-------------------------------+---------------------------
Reporter: SF/jamiemarchant | Owner:
Type: defect | Status: new
Priority: normal | Component: Engine: SCUMM
Resolution: | Keywords:
Game: The Dig |
-------------------------------+---------------------------
Comment (by wjp):
Aha, that's very interesting. The `SteamIndexFile` is making the detector
jump between different filename patterns, which the variant order doesn't
keep into account.
These are the entries for The Dig:
{{{
{ "dig", "dig.la%d", kGenDiskNum, UNK_LANG, UNK, 0 },
{ "dig", "dig.la%d", kGenDiskNumSteam, UNK_LANG,
Common::kPlatformWindows, "Steam" },
{ "dig", "dig.la%d", kGenDiskNumSteam, UNK_LANG,
Common::kPlatformMacintosh, "Steam" },
{ "dig", "thedig.la%d", kGenDiskNum, UNK_LANG, UNK, "Demo" }, //
Used by an alternate version of the demo
{ "dig", "The Dig Data", kGenUnchanged, UNK_LANG,
Common::kPlatformMacintosh, 0 },
{ "dig", "The Dig Demo Data", kGenUnchanged, UNK_LANG,
Common::kPlatformMacintosh, "Demo" },
}}}
I expected the first variant (`dig.la%d` with unknown platform and without
Steam) would always be found *too* if one of the Steam variants was found
(and so the first variant would get picked if there were multiple
options.)
However, in this case the Steam variant changes the file used for
detection from the `dig.la%d` pattern to a file called `The Dig`, which
makes this Steam variant show up _before_ the real variant with the `The
Dig Data`, _without_ the non-Steam `dig.la%d` also being found.
So maybe the fix is to reorder the variants into the following?
{{{
{ "dig", "dig.la%d", kGenDiskNum, UNK_LANG, UNK, 0 },
{ "dig", "thedig.la%d", kGenDiskNum, UNK_LANG, UNK, "Demo" }, //
Used by an alternate version of the demo
{ "dig", "The Dig Data", kGenUnchanged, UNK_LANG,
Common::kPlatformMacintosh, 0 },
{ "dig", "The Dig Demo Data", kGenUnchanged, UNK_LANG,
Common::kPlatformMacintosh, "Demo" },
{ "dig", "dig.la%d", kGenDiskNumSteam, UNK_LANG,
Common::kPlatformWindows, "Steam" },
{ "dig", "dig.la%d", kGenDiskNumSteam, UNK_LANG,
Common::kPlatformMacintosh, "Steam" },
}}}
I can't quite judge if that also has negative consequences, though.
--
Ticket URL: <https://bugs.scummvm.org/ticket/7060#comment:11>
ScummVM <https://bugs.scummvm.org>
ScummVM
More information about the Scummvm-tracker
mailing list