[Scummvm-tracker] [ScummVM :: Bugs] #13933: Use “Enable game-specific enhancements” for Sierra bug fixes

ScummVM :: Bugs trac at scummvm.org
Wed Nov 16 22:12:16 UTC 2022


#13933: Use “Enable game-specific enhancements” for Sierra bug fixes
-------------------+--------------------------
Reporter:  obskyr  |       Owner:  (none)
    Type:  defect  |      Status:  new
Priority:  normal  |   Component:  Engine: SCI
 Version:          |  Resolution:
Keywords:          |        Game:
-------------------+--------------------------
Comment (by m-kiewitz):

 We normally really only fix bugs, that are obviously bugs, not change game
 behavior.
 Changing games in that aspect is not the intention of ScummVM, and should
 be done using script patches, which we support and everyone can use. If we
 would include such a game changing patch, it should be optional of course
 and use such a game option.

 "perhaps this whole file can be disabled, rather than having to do it per
 enhancement."

 This wouldn't really make sense, almost all of them if not all of them are
 actual bug fixes.
 Even as a non-developer you can easily read the comments about every
 single script patch and it's detailed. Please do that.

 For example the French version of King's Quest 5 crashes (hangs) almost at
 the end. Without the script patch, you would get the "true experience" of
 the game basically freezing, with no way to recover. Maybe you want that,
 I don't know, but most players do not want that, because it's simply
 broken. I think when I fixed that one, a speed runner was even happy that
 it was fixed, because he was finally able to use that version to speedrun
 the game, which was impossible to use before.

 Or take Gabriel Knight 1, which has a few game speed bugs, that happen
 when the computer running the game is too fast. It causes certain
 sequences to become unbeatable/unplayable. Disabling that once again
 wouldn't even give you the "true experience", unless you played the game
 late and it was unplayable and you want to re-experience that.

 There is also a major script bug in Quest for Glory 1 VGA at the end, in
 the crazy room with Yorick. When you walk to certain spots, the game will
 go haywire, the graphics will fully glitch and the game will basically
 freeze. Granted, the graphic glitch has to be seen and it looks funky, but
 for a player the game is simply broken.

 Please also understand that SCI within ScummVM can not even really give
 you the "true" SCI experience, because SCI - the original interpreter -
 written by Sierra, did almost no error checking. Scripts were also not
 checked for certain errors. So when something went wrong, or when
 something was programmed wrong or badly, the interpreter just went on and
 on and then maybe fully crashed 1 hour later. Or broke memory that ruined
 another part of the game. Or it simply worked by accident. The SCI code
 within ScummVM does not do this, but instead checks for all sorts of error
 conditions. It also does proper memory handling. We see that as a feature,
 as something good, because no one probably wants their game to crash on
 them, to hard lock or to break or have memory corruption. Quest for Glory
 3 for example will crash after a while simply because it runs out of
 memory, when using the original interpreter (depends on how much you do in
 the game).

 IF we disabled all these error checks and verifications, you would in fact
 even get more game bugs, because some bugs simply did not trigger any
 problems in the original interpreter by pure chance, while in our
 interpreter it does because we don't re-use memory and clear it before
 using.

 And we also patch in optional features, like audio + subtitles at the same
 time. This is optional, you don't need to use it. Maybe you don't even
 want a new selection for that (King's Quest 6 didn't even have a selection
 for that variant, because it was not supported, and I personally created a
 graphic and inserted it into the game for its options menu. Originally you
 could only select audio or text, now you can also select "both". You have
 to click on that option to even see that new graphic.

 AGI engine btw. does not have such a patch engine (yet).
 AGI engine offers a few features that the original interpreter did not
 offer, like for example Hercules-style pausing when you enter a command
 outside of Hercules graphics mode. These are optional and you have to
 enable them yourself.

 There are also workarounds, see the file workarounds.cpp.
 Same deal there, if you disabled these, you would have all sorts of game
 breaking glitches.
 Maybe you want these, I don't know. But players typically don't want their
 games to have game breaking glitches/crashes, which is why we try our best
 to fix these issues.
-- 
Ticket URL: <https://bugs.scummvm.org/ticket/13933#comment:2>
ScummVM :: Bugs <https://bugs.scummvm.org>
ScummVM


More information about the Scummvm-tracker mailing list