[Scummvm-tracker] [ScummVM] #10733: SCI: LB1: Commands lockup game when colliding with obstacles
sluicebox
trac at scummvm.org
Wed Oct 10 03:15:52 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
Resolution: | Keywords: has-pull-
Game: Laura Bow 1: The Colonel's Bequest | request
-------------------------------------------------+-------------------------
Comment (by sluicebox):
I agree and I'm not wild about patching setMotion, it's risky, but yeah
there are just too many. I've played through once but this one needs a lot
of testing.
DOS, Amiga, and Atari ST's setMotion have the same byte code and from my
tests with those versions all of this behavior, before and after the
patch, is consistent.
Since this patch clears a signal flag the question is who depends on that
flag's value and when. As far as I can tell from ScummVM source the
interpreter only writes the flag in kDoBresen and never depends on its
value. The scripts should be testing the flag through isBlocked but could
be testing signal directly. The only other scripts that call isBlocked are
245 and 269. They test to see if Clarence or Gloria are blocked when
playing billiards and if Jeeves is blocked when sweeping so that they can
tell you to get out of the way. From my tests that behaves the same. It's
trickier to search for any instances of directly testing signal for the
flag but I've tried and haven't found any. So it seems to me that if this
is going to have any side effects it would be with ego's movement.
From what I've seen this is a separate bug from the movement lockups that
have already been fixed. I tried disabling the armor script patches and
that lockup still occurred. The armor scripts get stuck in an infinite
movement loop whereas this bug is CB1:doit terminating a script's
movement.
--
Ticket URL: <https://bugs.scummvm.org/ticket/10733#comment:4>
ScummVM <https://bugs.scummvm.org>
ScummVM
More information about the Scummvm-tracker
mailing list