Opened 15 months ago

Last modified 8 months ago

#11038 new defect

SCI: SQ4: Entering skate-o-rama incompletable at slower speeds (CD only)

Reported by: TheQL Owned by: sluicebox
Priority: normal Component: Engine: SCI
Keywords: original Cc:
Game: Space Quest 4


Though apparently ScummVM fixes timing problems I got blasted immediately when trying to reach the skate arena in SQ4 galleria. Every time. No chance to move away.
Then tried same savegame on Mac, timings ok, could escape. Is it possible that the timing fixes don't (all) work on iOS?

Can provide save.

iOS ScummVM build is recent git clone.

Attachments (1)

sq4-cd-win.001 (35.6 KB ) - added by TheQL 15 months ago.

Download all attachments as: .zip

Change History (11)

comment:1 by criezy, 15 months ago

Yes please, attach the save to this ticket.

by TheQL, 15 months ago

Attachment: sq4-cd-win.001 added

comment:2 by TheQL, 15 months ago

I have added the savegame. Just walk to the left and get blasted. I know it happens on Mac as well, but not each and every time and not that early.

comment:3 by criezy, 15 months ago

Component: Port: iOSEngine: SCI

With your save game I seem to be blasted immediately every time on Mac as well (I have tried about 10 times). Which is the same behaviour I have on iOS. So that one may not be specific to iOS.

I am using the English Windows CD version from GoG.

I am changing the component to see if somebody familiar with the SCI engine can have a look.

comment:4 by sluicebox, 15 months ago

There's definitely something wrong there. I got the same result on Windows and would be very surprised if the platform is relevant to this.

I'm an impatient Sierra player and always set the game speed to high. I must be in the minority because that seems to flush out a lot of bugs. I did that here before entering skateorama and I got the timinig I'm familiar with.

I will take a closer look at this, but it looks like the bug is that this scene's timing is unacceptable when speed slider is set to middle or less. I turned it down all the way and got killed before I even gained control.

Thanks for catching this! FOr now, turn up the speed for this part and you can get through it.

comment:5 by sluicebox, 15 months ago

Owner: set to sluicebox

comment:6 by TheQL, 15 months ago

I did manage to survive on Mac though without changing speed, but ironically I had tried to lower speed to survive this scene, it didn't occur to me that increasing speed could help.

comment:7 by sluicebox, 15 months ago

Keywords: original added
Summary: iOS timing issue in SQ4SCI: SQ4: Entering skate-o-rama incompletable at slower speeds (CD only)

This is a bug in the original which our timing fixes and workaround don't yet address. The same thing happens in DOS. It's a regression in the CD version. The root cause is that SCI games changed how the Speed setting worked in between SQ4 floppy and CD, but the Skate-o-rama scripts weren't updated for the change in the underlying components. (A common theme in CD regressions!) The scripts specify delays in game cycles, which in floppy was relative to game speed, but that's no longer true in CD. Game speed now only affects how fast you and other actors move, so you now have a fixed amount of wall-time to get away from the police, and it's not long enough to do so if ego is moving at medium to slow speeds.

The good news is that this is fixable, the bad news (for me) is that this is a can of worms that isn't particularly fun, as I keep finding more little problems with this scene, and am revisiting the need for our existing workaround, but we'll get there eventually. Other good news, I just saw that New Rising Sun patched this (of course!) in a way that jives with my understanding of the problem, so that's encouraging. I love prior art!

Renaming this issue to reflect this.

comment:8 by TheQL, 15 months ago

Sounds promising! Anyway, I am way past this, so take your time. I just suppose a fix is in order nevertheless ;)

comment:9 by ZvikaZ, 8 months ago

@sluicebox, maybe it's better to fix our VM to support "hybrid" timing mode, that will allow SQ4CD to use old timing scheme (or, more complicated, but I think feasible, use sometimes the old timing scheme, and sometimes the new timing scheme)?
I haven't looked in code yet, just guessing according to your description...

comment:10 by ZvikaZ, 8 months ago

BTW, could this timing scheme change be the cause of

Note: See TracTickets for help on using tickets.