[Scummvm-tracker] [ScummVM :: Bugs] #5294: MOTHERGOOSE SCI1.1: Crash at the very end
ScummVM :: Bugs
trac at scummvm.org
Wed Sep 8 07:53:18 UTC 2021
#5294: MOTHERGOOSE SCI1.1: Crash at the very end
-------------------------+------------------------------------
Reporter: SF/kuroshiro | Owner: m-kiewitz
Type: defect | Status: new
Priority: normal | Component: Engine: SCI
Version: | Resolution:
Keywords: | Game: Mixed-Up Mother Goose
-------------------------+------------------------------------
Changes (by sluicebox):
* status: closed => new
* resolution: fixed =>
Comment:
*CREEEEEAAAAAK* Arise, 11 year old unfixed bug! Arise!!
We have a workaround for this uninitialized read, but it doesn't do
anything. The uninit read occurs in a local procedure, but there is no
local procedure signature attached to the workaround entry. But that
doesn't matter because...
The uninitialized read isn't the bug here, it's just a symptom. This game
does a lot of save-slot calculations in its scripts that are incompatible
with our virtual-save-slot scheme. We have several script patches and
workarounds to deal with this, but they are incomplete. There are other
scripts that do this which we don't do anything about. The game can still
end up in a state where the global that contains the current save slot
number (global 179) receives a SCI save slot, such as 1, instead of our
virtual slot 101. That's what causes the uninit read. And even if the
uninit read workaround entry were to have an effect, ScummVM would just
have crashed a few instructions later when
kDeviceInfo(K_DEVICE_INFO_GET_SAVEFILE_NAME) got passed an invalid virtual
id.
I'll be auditing the scripts to figure out what to do about the remaining
ones that are incompatible with ScummVM virtual save slot numbers.
--
Ticket URL: <https://bugs.scummvm.org/ticket/5294#comment:11>
ScummVM :: Bugs <https://bugs.scummvm.org>
ScummVM
More information about the Scummvm-tracker
mailing list