[Scummvm-tracker] [ScummVM :: Bugs] #15086: GROOVIE: Clandestiny final cutscene crashes
ScummVM :: Bugs
trac at scummvm.org
Mon Jan 13 16:43:05 UTC 2025
#15086: GROOVIE: Clandestiny final cutscene crashes
-----------------------+------------------------------
Reporter: antoniou79 | Owner: (none)
Type: defect | Status: new
Priority: high | Component: Engine: Groovie
Version: | Resolution:
Keywords: | Game: Clandestiny
-----------------------+------------------------------
Comment (by denizoezmen):
I stumbled upon the same problem while writing a format converter, and I
suspect that the cutscene file is damaged: Since this is a video without
alpha channel, given the values in the chunk header, the codebook in
question should have a data size of num2blocks*(4+2) + num4blocks*4, i.e.
16*(4+2) + 4*4 = 112 bytes. It has a size of 176 bytes, however, which is
why the decoder gets out of the sync with the file.
Upon closer inspection, the codebook has the format you would expect in a
video with alpha channel (with the alpha values all set to 0xff), which
also fits the size: 16*(4+4+2) + 4*4 = 176.
This codebook doesn't seem to make much sense in the context of this
video. Additionally, the next 37 frames (i.e. until the scene cuts away)
have no codebooks at all, which is unusual for the format.
I found an almost 15 year old walkthrough video on YouTube where it is
apparent that (what I assume to be) the original interpreter decodes the
frame in question incorrectly:
[[Image(screenshot_walkthrough_video.png)]]
I assume that this specific result occurs when treating the codebook chunk
like a non-alpha codebook and just ignoring the rest of the chunk, thus
filling the codebook with incorrect values. It matches the output of my
converter when using this approach:
[[Image(act_26.rnr#03013_codebook_incorrect_read.png)]]
For comparison, here's what happens when the codebook is read "correctly"
(i.e. with alpha) ...
[[Image(act_26.rnr#03013_codebook_corrected_read_(with_alpha).png)]]
... and when the codebook chunk is completely skipped:
[[Image(act_26.rnr#03013_codebook_skipped.png)]]
So I guess the crash could be solved by doing any of the above, but the
video would still look a bit garbled for about 1.5 seconds.
--
Ticket URL: <https://bugs.scummvm.org/ticket/15086#comment:11>
ScummVM :: Bugs <https://bugs.scummvm.org>
ScummVM
More information about the Scummvm-tracker
mailing list