[Scummvm-tracker] [ScummVM] #10568: SCI: PHANT1: Crash on startup
Daniel Wolf
trac at scummvm.org
Thu Jun 14 23:06:03 CEST 2018
#10568: SCI: PHANT1: Crash on startup
-------------------------------+-------------------------
Reporter: dafioram | Owner: (none)
Type: defect | Status: new
Priority: blocker | Component: Engine: SCI
Resolution: | Keywords: sci32
Game: Phantasmagoria 1 |
-------------------------------+-------------------------
Comment (by DanielSWolf):
My bad. I removed and re-added LSL7, but apparently this didn't clear the
configuration entirely. It's a good thing you have both games!
I assumed that `hasKey` indicates whether a given option exists for the
current game, but after what you wrote, this doesn't seem to be the case.
It's certainly possible that `checkGameGUIOption` does exactly this. At
least it seems to do the right thing both on your machine and mine.
I'm still a bit skeptical because I just don't fully understand ScummVM's
code for handling options. What's more, there are some usages of
`checkGameGUIOption` that mirror your code. But there are also multiple
places in code where this function seems to be used to determine not
whether the option exists, but whether the flag is set. Take this excerpt
from `engines/sci/engine/guest_additions.cpp`:
{{{
if (Common::checkGameGUIOption(GUIO_LINKMUSICTOSFX,
ConfMan.get("guioptions"))) {
ConfMan.setInt("music_volume", volume);
}
}}}
This looks as if `checkGameGUIOption` returned the actual option value.
Then again, maybe we're not the only ones who don't grok the options
system. Maybe this usage and others are actually bugs?
--
Ticket URL: <https://bugs.scummvm.org/ticket/10568#comment:10>
ScummVM <https://bugs.scummvm.org>
ScummVM
More information about the Scummvm-tracker
mailing list