[Scummvm-tracker] [ScummVM :: Bugs] #16452: GOB: WEEN - Long delay at the end of the intro

ScummVM :: Bugs trac at scummvm.org
Wed Jan 14 18:29:57 UTC 2026


#16452: GOB: WEEN - Long delay at the end of the intro
-------------------+-------------------------
Reporter:  joshas  |      Owner:  (none)
    Type:  defect  |     Status:  new
Priority:  low     |  Component:  Engine: Gob
 Version:          |   Keywords:  interpreter
    Game:  Ween    |
-------------------+-------------------------
 Bug details:
 The last scene of the intro (looking into interior of Ohkram's house
 through the window), is shown for too long, compared to same version of
 the game running in DOSBox.
 DOSBox: 5 seconds
 ScummVM: about 1 minute 6 seconds

 While it was already reported and patched in #3205, looks like that
 different versions of the game have slightly different scripts, thus some
 code ends up on different lines and even variable names differ.
 Tested on two versions from abandonware sources:
 1. DOS/English (US), de92e5c6a8c163007ffceebef6e67f7d has `o1_keyFunc(1);`
 on line 775
 2. DOS/German, 63170e71f04faba88673b3f510f9c4c8 has same function on line
 727.
 Both versions refer to variable that stores counter value as `var32_236`.
 Variable names taken form scripts decompiled with degob tool from scummvm-
 tools.

 ScummVM workaround expects script code to be on line "729" and variable
 name "59".
 https://github.com/scummvm/scummvm/blob/51e495b79915e0a3611d6f20dc9e3bf3d27d253f/engines/gob/inter_v1.cpp#L1357

 Very likely, that this workaround works correctly only on few versions of
 the game, but not all of them. Not sure why this discrepancy in game
 scripts happen, maybe due to patched out copy protection?

 Would it be possible to figure out better solution for timing issue, that
 would not be linked to specific line of code and variable, and very likely
 it might benefit to increasing accuracy of this game engine (gob) for
 other games too?

 I understand, that there might be no single correct timing for "busywait"
 repeat function, as total time differs depending on CPU speed. But maybe
 we could take a recommended, era appropriate CPU as reference, and use it
 to calculate optimal timeout?


 ScummVM version: 2.9.1 (stable), also tested in latest master build from
 git.
 Game language: English/German
 Game version: Floppy
 Platform and Compiler: Linux
-- 
Ticket URL: <https://bugs.scummvm.org/ticket/16452>
ScummVM :: Bugs <https://bugs.scummvm.org>
ScummVM


More information about the Scummvm-tracker mailing list