#10244 closed defect (fixed)
SQ4 PC98 : Orange ship not taking off again when leaving super computer
Reported by: | darksoul42 | Owned by: | sluicebox |
---|---|---|---|
Priority: | normal | Component: | Engine: SCI |
Version: | Keywords: | has-pull-request | |
Cc: | Game: | Space Quest 4 |
Description
Everything is in the title. The engines wind up, the gears get tucked away, the music stops, but then the scene never changes.
I didn't try this yet in an emulator to get an actual SCI save file to reproduce this, but I have a ScummVM save right now.
It is not a game stopper since you can complete the game with max points if you do everything you need, at the very first time you can do it.
Attachments (1)
Change History (15)
by , 7 years ago
Attachment: | sq4-pc98-jp.000 added |
---|
comment:1 by , 7 years ago
comment:2 by , 7 years ago
Priority: | low → normal |
---|
comment:3 by , 7 years ago
Owner: | set to |
---|
comment:4 by , 7 years ago
Keywords: | japanese pc98 removed |
---|
comment:5 by , 7 years ago
I got around to retrying and confirm a few things.
To clarify : the problem is the ship actually never works properly when trying to leave the Super computer, no matter when you try to use it.
I found out at the end of my game play when I attempted to go back to the surface for kicks, but it turns out it does this even when getting at the Super Computer for the first time.
comment:6 by , 6 years ago
This bug occurs in every localized floppy version. I don't have the Japanese version but all the other localized versions have the same script change that causes the game to lock up in ScummVM when entering the ship in room 535. This is a ScummVM bug as it works in DOS.
In English versions the script toXenon:doit waits for the music to finish before taking off by testing longSong2:prevSignal for -1. In localized floppies this was changed to testing longSong2:vol for zero. Presumably Sierra's interpreter sets the volume to zero when finished playing and ScummVM doesn't.
I tested a simple workaround script patch to restore the DOS behavior and that worked. Given how long this has been open I'm tempted to submit this workaround so that the lockup is fixed in the immediate until the audio engine is updated with the necessary behavior. This bug is a game breaker if you leave the streets before getting all of the items.
To reproduce in any localized version just warp to room 535 with the debugger and get in the ship.
comment:7 by , 6 years ago
Forget the workaround, I found the interpreter change that this script relies on. Just need to find which versions have it and which don't.
comment:8 by , 6 years ago
I'm wondering what happened in those localized versions, when you used no music card in the audio setup then.
But please no workarounds, we need to fix issues like this in the interpreter.
If you can tell me what change got made, I can check my PC98 copy too.
I also own SQ4 localized to Spanish.
comment:9 by , 6 years ago
It may even be a change that got made for all versions from some specific point on.
I hope there was no interpreter change hacking going on just for localized versions.
comment:10 by , 6 years ago
Good news, it's not a one-off for localized versions, it's an interpreter change that started in SCI_VERSION_1_MIDDLE and seems to be in all versions afterwards.
https://github.com/scummvm/scummvm/pull/1536/
Using the debugger to simply warp to room 535 is *not* enough to test this. Since the script relies on the music fading out, you need to go there normally so that the room music is initialized correctly. Otherwise it could be the wrong room music and so the fading won't do anything and the script will still hang.
comment:11 by , 6 years ago
Keywords: | has-pull-request added |
---|
comment:13 by , 5 years ago
Resolution: | → fixed |
---|---|
Status: | new → closed |
comment:14 by , 2 years ago
Owner: | changed from | to
---|
I don't fully understand.
So the ship doesn't work properly when you didn't do everything that you could and had to backtrack at the very start of the game?
What exactly did you miss on that playthrough? Maybe it's even a game bug and maybe even happens for the DOS version. I would like to check.