Difference between revisions of "Cine/Specifications"

Jump to navigation Jump to search
Added more detail to chapter title "Compression format" with "Compression format (Bytekiller 1.3)".
(Added info about the font file format used by Cinematique and revised the fonts-section a bit.)
(Added more detail to chapter title "Compression format" with "Compression format (Bytekiller 1.3)".)
 
(3 intermediate revisions by 2 users not shown)
Line 10: Line 10:
===.ADL files===
===.ADL files===


Adlib music.
AdLib music.


===.AMI files===
===.AMI files===
Line 305: Line 305:
</pre>
</pre>


===Compression format===
===Compression format (Bytekiller 1.3) ===


The compression algorithm used by all Delphine's adventure games uses
The compression algorithm used by all Delphine's adventure games uses
sliding window compression (Quite like [http://en.wikipedia.org/wiki/LZ77 LZ77])
sliding window compression (Quite like [http://en.wikipedia.org/wiki/LZ77 LZ77])
combined with a fixed non-adaptive [http://en.wikipedia.org/wiki/Entropy_coding entropy coding] scheme (Not of any type I could recognize).
combined with a fixed non-adaptive [http://en.wikipedia.org/wiki/Entropy_coding entropy coding]
scheme. It seems that the algorithm is [http://www.pouet.net/prod.php?which=47994 Bytekiller 1.3].
This is based on comparing the reverse engineered
[https://github.com/scummvm/scummvm/blob/branch-2-0-0/engines/cine/unpack.cpp#L92 decompression routine]
in ScummVM with the
[https://github.com/aperture-software/colditz-escape/blob/v1.2/low-level.c#L150 uncompress]-function
from [https://github.com/aperture-software/colditz-escape Colditz Escape]'s source code.


The compressed data is in big endian 32-bit chunks, working backwards from the buffer's end.
The compressed data is in big endian 32-bit chunks, working backwards from the buffer's end.
417

edits

Navigation menu