[Scummvm-tracker] [ScummVM :: Bugs] #13367: SCUMM: Loom (EGA) - Bobbin as Rusty can exit the cell when the door is locked

ScummVM :: Bugs trac at scummvm.org
Tue Mar 22 11:56:25 UTC 2022


#13367: SCUMM: Loom (EGA) - Bobbin as Rusty can exit the cell when the door is
locked
--------------------------------+----------------------------
Reporter:  antoniou79           |       Owner:  (none)
    Type:  defect               |      Status:  new
Priority:  normal               |   Component:  Engine: SCUMM
 Version:                       |  Resolution:
Keywords:  glitch, blacksmiths  |        Game:  Loom
--------------------------------+----------------------------
Comment (by eriktorbjorn):

 Alternative version of workaround 1 that doesn't depend on knowing which
 variable holds the door state. On the other hand, you have to know two
 object numbers instead of one. But I think it's kind of elegant anyway:

 {{{
 diff --git a/engines/scumm/script_v5.cpp b/engines/scumm/script_v5.cpp
 index ba5545ccd01..aaa6a68a491 100644
 --- a/engines/scumm/script_v5.cpp
 +++ b/engines/scumm/script_v5.cpp
 @@ -1056,7 +1056,34 @@ void ScummEngine_v5::o5_findObject() {
         getResultPos();
         int x = getVarOrDirectByte(PARAM_1);
         int y = getVarOrDirectByte(PARAM_2);
 -       setResult(findObject(x, y));
 +       int obj = findObject(x, y);
 +
 +       // WORKAROUND: In some versions of Loom, it's possible to walk
 right
 +       // through the closed cell door if you allowed Stoke to lead you
 into
 +       // the cell rather than skipping the cutscene. This is because the
 open
 +       // door (object 623) is made touchable or untouchable by the entry
 +       // script, and this flag is not updated when the cutscene latest
 closes
 +       // the door.
 +       //
 +       // The FM Towns and TurboGrafx-16 versions fix this by making sure
 the
 +       // object is untouchable at the end of the cutscene. The Macintosh
 and
 +       // VGA talkie versions make sure the object script checks if the
 door
 +       // is open. This makes the script identical to the script for the
 wall
 +       // to the left of the door (object 609).
 +       //
 +       // The difference between these fixes is what happens if you click
 on
 +       // the ground just below the closed door. Of course, once you've
 been
 +       // through the sleep cutscene the entry script will make that
 object
 +       // untouchable so you only have a small window in which to see the
 bug.
 +       //
 +       // Since the VGA talkie version (sadly) is the most common these
 days,
 +       // let's go with that fix. But we do it by redirecting the click
 to the
 +       // wall object instead.
 +
 +       if (_game.id == GID_LOOM && _game.version == 3 && _game.platform
 == Common::kPlatformDOS && _currentRoom == 38 && obj == 623)
 +               obj = 609;
 +
 +       setResult(obj);
 }}}
-- 
Ticket URL: <https://bugs.scummvm.org/ticket/13367#comment:19>
ScummVM :: Bugs <https://bugs.scummvm.org>
ScummVM


More information about the Scummvm-tracker mailing list