[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