Opened 3 years ago

Closed 3 years ago

#11892 closed defect (fixed)

SCI: GK1 - Way too fast beignet vendor

Reported by: GermanTribun Owned by: sluicebox
Priority: normal Component: Engine: SCI
Version: Keywords:
Cc: Game: Gabriel Knight 1

Description

ScummVM: 2.2.0
System: Windows
Version: German CD-Version

When being in the police station and the beignet vendor comes by (all instances of it in the game), he arrives at the speed of sound, zipping into position in split-seconds. This obviously is a speed bug, not influenced by the speed toggle, and thus should be fixed.

Best guess is, that this particular function adjusts its speed according to processor power, but had no defined upper limit.

Change History (2)

comment:1 by sluicebox, 3 years ago

I always thought the vendor's speed was intentionally way too fast as a joke to explain how he got to the police station so quickly from the park, but now I see that's not the case. =)

Here's how it looked at slower 1993-era cycles: https://youtu.be/JcL6U_NVQaA?t=4396

The vendor's movement is indeed cpu-bound, and so his movement in ScummVM is much faster than the original experience. If it weren't for our speed throttling he would arrive instantly. It's cosmetic but I think it's worth fixing since it's distracting, we know it's not what was intended, and it's easy to fix. It's consistent with similar cpu-dependent speeds in this game that we've normalized.

Sierra set the vendor's moveSpeed to 0 (fastest) causing the vendor to advance on every single game cycle. The default speed is 6. This is the only actor in this game with moveSpeed 0. In 1993 advancing on every game cycled looked acceptably normal. There's a lot of actors walking around this room at the same time and that slowed down Sierra's interpreter even further. Setting the moveSpeed to max may have been to compensate for the slowdown caused by the busy scene. I've seen other scripts do that, such as bug #9825.

I'll do some tests to find the right speed.

Last edited 3 years ago by sluicebox (previous) (diff)

comment:2 by sluicebox, 3 years ago

Owner: set to sluicebox
Resolution: fixed
Status: newclosed

Fixed in: bda199eac4add95e22a7c24ee074633486a47538

Thanks for reporting this, this change will appear in the next nightly development build.

Note: See TracTickets for help on using tickets.