Opened 7 weeks ago
Last modified 7 weeks ago
#15768 new defect
PS3: SCI: SQ1-VGA hard freeze during intro on PS3
Reported by: | dwatteau | Owned by: | |
---|---|---|---|
Priority: | normal | Component: | Port: PS3 |
Version: | Keywords: | ||
Cc: | Game: | Space Quest 1 |
Description
Original report by @Cognoscenti1973:
"Space Quest 1 VGA freezes in the introduction scene when the green ship abord the yellow one.
HARD freeze i have no option to return to ScummVM launcher and need to force shutdown the console by holding power button.
The game works flawlessly on PS3 v1.8.0 & 2.0.0, but hard freezes on all later PS3 versions."
(originally from Trac ticket #15756; but I had to split it, since the issues looked very different)
Change History (6)
follow-up: 3 comment:1 by , 7 weeks ago
follow-up: 4 comment:2 by , 7 weeks ago
I think it's likely that the problem is in screen shaking:
- Shaking is implemented in the backends
- This is a horizontal + vertical shake, and we didn't support horizontal shake until 2019, after version 2.0.0: https://github.com/scummvm/scummvm/pull/1943
You can test all three shake directions in TESTBED.
A quick way to test horizontal shaking in SCI is with Freddy Pharkas Frontier Pharmacist; just start the game and keep walking left until you reach the desert. Save your game, then walk off the cliff to the south. It shakes in several directions as you fall.
comment:3 by , 7 weeks ago
Replying to dwatteau:
Personal test: I don't have access to my PS3 today, but I had a look at this on my Quad G5 (kinda similar big-endian CPU, although it's just a 32-bit build, there). I can't reproduce any problem on that platform, FWIW (using SDL 1.2).
@Cognoscenti1973: I was using the regular English VGA release, as sold by Steam. Is that what you were using?
Also: you said the hard freeze happened "when the green ship abord the yellow one". Can you confirm whether this happens just when the screen is about to do that "shake effect" below?
<https://youtu.be/ynvUtEw0sjM?feature=shared&t=141>
i.e. if it freezes at this exact moment, it could help identify the cause of this issue.
Thanks.
YES !
comment:4 by , 7 weeks ago
Replying to sluicebox:
I think it's likely that the problem is in screen shaking:
- Shaking is implemented in the backends
- This is a horizontal + vertical shake, and we didn't support horizontal shake until 2019, after version 2.0.0: https://github.com/scummvm/scummvm/pull/1943
You can test all three shake directions in TESTBED.
A quick way to test horizontal shaking in SCI is with Freddy Pharkas Frontier Pharmacist; just start the game and keep walking left until you reach the desert. Save your game, then walk off the cliff to the south. It shakes in several directions as you fall.
Ok I will try it and get back to you with the result ! :)
EDIT : I passed the 'shaking' camera section after falling off the cliff with "success" as the game didnt freeze on the 1st try BUT when i loaded the game and fall of the cliff a 2th time = PS3 console hard freeze. its weird i suceeded the 1st time and it freeze on reload ?
follow-up: 6 comment:5 by , 7 weeks ago
Thanks for testing! Although your results were inconsistent, to me they suggest that screen shaking is indeed the likely suspect. Now we have two independent scenes that can trigger it. My hope is that this narrows things down enough so that a developer with a PS3 can easily reproduce this; I feel like that's often a hard part with the console platforms.
I confirmed that all the FPFP shakes when falling down the cliff are horizonal+vertical, like the end of the SQ1 intro.
For testers: The SQ1 intro can be skipped to the end by clicking and selecting Skip Intro. This will take you straight to the shake scene.
I'm hoping that TESTBED freezes too. The SCI shake code doesn't do much; all the work happens in the backends. The SCI shake code is in GfxScreen::setShakePos
and GfxScreen::kernelShakeScreen
in https://github.com/scummvm/scummvm/blob/master/engines/sci/graphics/screen.cpp
comment:6 by , 7 weeks ago
Replying to sluicebox:
Thanks for testing! Although your results were inconsistent, to me they suggest that screen shaking is indeed the likely suspect. Now we have two independent scenes that can trigger it. My hope is that this narrows things down enough so that a developer with a PS3 can easily reproduce this; I feel like that's often a hard part with the console platforms.
I confirmed that all the FPFP shakes when falling down the cliff are horizonal+vertical, like the end of the SQ1 intro.
For testers: The SQ1 intro can be skipped to the end by clicking and selecting Skip Intro. This will take you straight to the shake scene.
I'm hoping that TESTBED freezes too. The SCI shake code doesn't do much; all the work happens in the backends. The SCI shake code is in
GfxScreen::setShakePos
andGfxScreen::kernelShakeScreen
in https://github.com/scummvm/scummvm/blob/master/engines/sci/graphics/screen.cpp
My is a french floppy VGA version
I will do a lots of testing this weekend or monday and will get back to you with the full results.
As for now i just tested it again (freddy) and off the cliff the console freeze BEFORE JUST AT THE START of the Shaking camera event , just just before it.
I am actually making a last test for tonight , since the game didnt crashed when i had ZERO savefile in Scummvm i just erased my savefile of freddy and Space Quest 1 , rebooted the console and will repeat the testing at the cliff...
Ok = NO CRASH !
I do not turn off the console yet , i restart the game directly without returning to scummvm...
Console FREEZE!
it look like Freddy work perfectly once FRESHLY installed on scummVM but as soon you die and need to continue/restart the games = Console Freeze on shaking events (weird..)
I will make deeper testing with english version of both game this weekend and get back to you soon.
Thanks for your help , its really appreciated :)
Personal test: I don't have access to my PS3 today, but I had a look at this on my Quad G5 (kinda similar big-endian CPU, although it's just a 32-bit build, there). I can't reproduce any problem on that platform, FWIW (using SDL 1.2).
@Cognoscenti1973: I was using the regular English VGA release, as sold by Steam. Is that what you were using?
Also: you said the hard freeze happened "when the green ship abord the yellow one". Can you confirm whether this happens just when the screen is about to do that "shake effect" below?
<https://youtu.be/ynvUtEw0sjM?feature=shared&t=141>
i.e. if it freezes at this exact moment, it could help identify the cause of this issue.
Thanks.