[Scummvm-tracker] [ScummVM] #9806: SCI: SQ4 Windows: Stuck when picking up matches
ScummVM
trac at scummvm.org
Sun Mar 24 05:05:33 CET 2019
#9806: SCI: SQ4 Windows: Stuck when picking up matches
----------------------------+---------------------------------------
Reporter: dafioram | Owner: sluicebox
Type: defect | Status: new
Priority: normal | Component: Engine: SCI
Resolution: | Keywords: original has-pull-request
Game: Space Quest 4 |
----------------------------+---------------------------------------
Changes (by sluicebox):
* keywords: => original has-pull-request
* owner: (none) => sluicebox
Comment:
Script patches for CD version:
https://github.com/scummvm/scummvm/pull/1553/
Great sleuthing everybody! I count three bugs, and in the process found
two unrelated ones.
All three let you to break out of the dodge sequence and leave the room
before it's complete, resulting in a broken state. The matches are one
symptom, you'll also die if you leave the bar and go north. The fix is to
prevent breaking out of the dodge sequence before it completes with "Boy
was that close!" or death.
BUGS:
1. Clicking Do on the bar door doesn't check to see if you're in the dodge
sequence. It should be testing ulence:egoBusy before running enterBar, so
I added that. That's what happens when you click Do on the timepod.
2. Dodging quickly before the biker reaches his first checkpoint causes
the player to prematurely regain control, allowing walking off to another
screen or in to the bar. Each biker script in each room has an unnecessary
handsOn call that causes this. Removing these fixes that. Fortunately it's
always the same byte sequence so one patch can be applied to them all.
Affects all rooms.
3. Clicking a verb (Do, Look, etc) on something that ego wasn't facing
prior to crouching will change ego's heading and view, breaking ego out of
crouch mode and allowing walking away without dodging. The first verb
event doesn't even reach its target. For example, with the submitted save
game, clicking Smell on the force field generator makes ego stand up with
no message. Setting ego:looper to 0 when crouching prevents this, and
looper is automatically restored after dodging. Affects all rooms.
These script bugs exist in the floppy versions but in those the bikers
move so fast that there's no time to exploit them, which explains how they
went unnoticed during the game's initial round of QA. They later slowed
down the bikers in the CD version and that exposed these bugs.
It should now be impossible to walk away from the dodge sequence in any
room.
Regarding the attached save game: the first two bugs will be fixed
immediately, but the third won't until ego crouches a second time since
ego is already crouched with a looper set. Clicking Hand on the door will
still make ego stand up. Next crouch will be escape-proof.
--
Ticket URL: <https://bugs.scummvm.org/ticket/9806#comment:7>
ScummVM <https://bugs.scummvm.org>
ScummVM
More information about the Scummvm-tracker
mailing list