Opened 6 months ago

Closed 6 months ago

#10780 closed defect (fixed)

SCI: GK1: Ego speed bugs in police station & drug store

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

Description

Gabriel's speed gets out of sync with the game speed when entering the police station and exiting the drug store. These are script bugs in the original game that affect all versions.

The scripts for entering the police station and exiting the drug store both temporarily change ego's speed to fixed values for their door sequences but fail to call GKEgo:normalize to restore the original speed. This leaves ego's speed at 75% in the police station and the slowest speed when leaving the drugstore. Ego's speed stays at these values until doing something that does call normalize such as opening a door or entering certain rooms.

I'm submitting script patches that fix this by calling normalize.

Attached are saves of english pc floppy and cd versions at the map with the game speed set to high.

To reproduce:

  1. Enter drug store
  2. Leave drug store
  3. Enter museum (this is one of the rooms that doesn't call normalize when entering)
  4. Ego now moves at slowest speed

Or:

  1. Enter police station
  2. Ego now moves at 75% speed


You can manually correct ego's speed by going to control panel, which will say the correct game speed, and moving the slider.

Attachments (2)

gk1-cd.021 (43.0 KB) - added by sluicebox 6 months ago.
gk1.019 (51.9 KB) - added by sluicebox 6 months ago.

Download all attachments as: .zip

Change History (5)

Changed 6 months ago by sluicebox

Attachment: gk1-cd.021 added

Changed 6 months ago by sluicebox

Attachment: gk1.019 added

comment:2 Changed 6 months ago by m-kiewitz

Great work as always.

I added a few comments on the patch.
Please use SIG_SELECTOR16 for selector values and do not hardcode them.
There is also SIG_SELECTOR8 for 8 bit IDs. Using that one will create an error in case the value does not fit inside a uint8.

If any of your previous patches also did it like this, please change it accordingly.

comment:3 Changed 6 months ago by bluegr

Owner: set to bluegr
Resolution: fixed
Status: newclosed

Nice catch! Quite an obscure bug. Thanks for making the changes requested by m-kiewitz. The patch has been merged now, so this can be closed.

Note: See TracTickets for help on using tickets.