[Scummvm-tracker] [ScummVM] #10733: SCI: LB1: Commands lockup game when colliding with obstacles

sluicebox trac at scummvm.org
Tue Oct 9 06:53:45 CEST 2018


#10733: SCI: LB1: Commands lockup game when colliding with obstacles
----------------------+------------------------------------------------
Reporter:  sluicebox  |      Owner:  (none)
    Type:  defect     |     Status:  new
Priority:  normal     |  Component:  Engine: SCI
Keywords:             |       Game:  Laura Bow 1: The Colonel's Bequest
----------------------+------------------------------------------------
 The Colonel's Bequest contains over 20 commands which lockup the game if
 entered while you're colliding with an obstacle. The prime example is
 opening the upstairs secret passages with "move closet". I've seen old
 walkthroughs recommend saving before every attempt just in case. This bug
 affects all versions (DOS/Amiga/Atari ST) and also occurs with Sierra's
 interpreter.

 I've written a script patch that fixes all instances of this.

 Attached are saves for all versions in front of a closet. The speed is
 turned down which makes this easy to reproduce:

 1. Walk towards the closet, which since you're already up against it will
 briefly switch Laura's view from standing to walking.
 2. Quickly press a letter key to bring up the input window while the
 walking view is displayed. (before she goes back to standing)
 3. Enter "move closet" or "open closet". Laura will turn around and the
 game will lockup.

 These commands also lockup when entered while colliding:

 "open door" at top-of-stairs closet
 "look in doghouse"
 "knock door" at cellar door
 "give necklace" when Celie is in rocking chair
 "open door" at dollhouse
 "sit" at swing
 "pull ring" / "ring bell with cane" at bell tower
 "look holes" in secret passages
 "open vault with crowbar" / "close  vault"
 "get crowbar"
 "put valve in shaft"
 "turn valve"
 "flush toilet"
 "look bottle with monocle"
 "read newspaper" in attic
 "tell lillian about gertie" in kitchen or study

 Those are the ones I'm certain of and there might be more but the script
 patch fixes the root problem.

 The root cause is code in CB1:doit that performs an elaborate check every
 cycle to see if Laura appears blocked and stops her motion if so. I don't
 know why this game needs this code to manage basic motion that the core
 classes should have covered but that's what introduces this edge case.
 This code doesn't appear in other SCI games I've looked at so only this
 game has this bug.

--
Ticket URL: <https://bugs.scummvm.org/ticket/10733>
ScummVM <https://bugs.scummvm.org>
ScummVM


More information about the Scummvm-tracker mailing list