[Scummvm-tracker] [ScummVM :: Bugs] #16531: DIRECTOR: The Dark Eye - Character freezes/interaction fails in chapter Berenice

ScummVM :: Bugs trac at scummvm.org
Fri Feb 13 22:19:37 UTC 2026


#16531: DIRECTOR: The Dark Eye - Character freezes/interaction fails in chapter
Berenice
-------------------+-------------------------------
Reporter:  gcp828  |       Owner:  (none)
    Type:  defect  |      Status:  new
Priority:  normal  |   Component:  Engine: Director
 Version:          |  Resolution:
Keywords:          |        Game:
-------------------+-------------------------------
Comment (by antoniou79):

 The relevant mov files "BNBCSELF.MOV" and "BNBCYES.MOV" have a somewhat
 different format than what the code our Director engine's
 DigitalVideoCastMember::loadVideo() expects.

 In these files, the first four bytes (read as BE) **seem to be an
 "offset"** from the start of the file to the segment where the existing
 code of reading three 4-byte (uint32) values (as BE) would work --
 actually I can only tell that the second uint32 value of them is the
 important one, because it matches the tag "moov").

 With a quick and dirty hack, the code can be modified to also check there
 (in addition to checking the three 4-bytes at the start of the file), and
 that fixes the issue. But the fix is based on intuition, not proper specs.

 For example, I don't know if all files with the "moov" tag should treat
 the first 4 bytes as an offset or we are indeed supposed to check both
 cases. Do we a) we read the three 4-byte values for tag matches at the
 start of the file, or b) we treat the first 4-byte value as an offset,
 seek to it, and then check the three 4-byte values for tag matches or c)
 we do both? I also don't know if there's any point reading past the second
 4-byte value in the (b) case.
-- 
Ticket URL: <https://bugs.scummvm.org/ticket/16531#comment:2>
ScummVM :: Bugs <https://bugs.scummvm.org>
ScummVM


More information about the Scummvm-tracker mailing list