[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