[Scummvm-tracker] [ScummVM :: Bugs] #15681: Neverhood: TV guy subtitle jitter in module 2400

ScummVM :: Bugs trac at scummvm.org
Mon Jan 13 20:00:17 UTC 2025


#15681: Neverhood: TV guy subtitle jitter in module 2400
--------------------------+-------------------------------
Reporter:  Player701      |      Owner:  (none)
    Type:  defect         |     Status:  new
Priority:  normal         |  Component:  Engine: Neverhood
 Version:                 |   Keywords:  subtitles
    Game:  The Neverhood  |
--------------------------+-------------------------------
 **Synopsis:** When using the [[https://ctpax-
 cheater.losthost.org/htmldocs/nvh/nhcaddon.zip|fan-made Russian
 translation patch]], the subtitles for the TV guy in module 2400 (aka
 "Aqua House") constantly jitter left and right while he is speaking. This
 is even mentioned in the official readme for the patch (ENG-READ.txt in
 the archive).

 I've done an investigation, and it seems that the problem originates in
 the
 [[https://github.com/scummvm/scummvm/blob/750e2060bf35b44b344d9cabc20d5f23cfa8b87e/engines/neverhood/sprite.cpp#L376|AnimatedSprite::updatePosition()]]
 method. Since the sprite offsets keep changing with each frame, the
 position of the subtitle surface changes as well, which produces the
 jitter.

 An easy workaround would be to wrap the call to
 {{{_subtitleSurface->updatePosition}}} in {{{if(_currFrameIndex == 1)}}},
 but this is technically not a proper fix because it does not account for
 sprites that are actually moving. The latter, however, is purely a
 theoretical scenario, seeing as there are no more dialogue lines in the
 interactive part of the game (except for the disk player videos, but those
 are handled by a different piece of code and are therefore irrelevant
 anyway). So unless someone wants to add stuff like closed captioning in
 the future, the proposed solution ''should'' suffice for now.

 I'm also attaching a save file for easier testing (the musical puzzle has
 been solved, just press the button to enter the building and wait for the
 subtitles to appear).
-- 
Ticket URL: <https://bugs.scummvm.org/ticket/15681>
ScummVM :: Bugs <https://bugs.scummvm.org>
ScummVM


More information about the Scummvm-tracker mailing list