417
edits
(Added info about different fonts used by the Cinematique engine (Pictures too).) |
(Added more detail to chapter title "Compression format" with "Compression format (Bytekiller 1.3)".) |
||
(4 intermediate revisions by 2 users not shown) | |||
Line 10: | Line 10: | ||
===.ADL files=== | ===.ADL files=== | ||
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 | 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. | ||
Line 408: | Line 414: | ||
===Fonts=== | ===Fonts=== | ||
Fonts are loaded from file " | Fonts are loaded from file "TEXTE.DAT". | ||
====TEXTE.DAT file's format==== | |||
<pre> | |||
Byte Meaning | |||
------ ------------------------------------------------------------ | |||
0-1 Entry size (16-bit big endian integer) | |||
2-3 Entry count (16-bit big endian integer) | |||
4-end Font data (4-bit bitplaned data in 16-bit big endian chunks) | |||
------ ------------------------------------------------------------ | |||
</pre> | |||
====78 characters version==== | * Characters are 16x8 in size | ||
* Entry size has been 8 in all observed data | |||
* Entry count divided by entry size gives the number of characters in the font | |||
* Take a look at [http://scummvm.svn.sourceforge.net/viewvc/scummvm/scummvm/trunk/engines/cine/gfx.cpp?revision=33976&view=markup#l_1669 gfxConvertSpriteToRaw] to see how the font data can be unpacked | |||
====Known different font versions==== | |||
There are 4 known different font versions: | |||
=====78 characters version===== | |||
* Used by most PC, Amiga and Atari ST versions of Future Wars, but also by Operation Stealth's Amiga demo | * Used by most PC, Amiga and Atari ST versions of Future Wars, but also by Operation Stealth's Amiga demo | ||
* [[Image:Cinematique-78_characters_font.png]] | * [[Image:Cinematique-78_characters_font.png]] | ||
====85 characters version==== | =====85 characters version===== | ||
* Used by all observed versions of German Future Wars (Amiga and PC), possibly by Spanish Future Wars too | * Used by all observed versions of German Future Wars (Amiga and PC), possibly by Spanish Future Wars too | ||
* [[Image:Cinematique-85_characters_font.png]] | * [[Image:Cinematique-85_characters_font.png]] | ||
====90 characters version==== | =====90 characters version===== | ||
* Used by most PC, Amiga and Atari ST versions of Operation Stealth | * Used by most PC, Amiga and Atari ST versions of Operation Stealth | ||
* [[Image:Cinematique-90_characters_font.png]] | * [[Image:Cinematique-90_characters_font.png]] | ||
====93 characters version==== | =====93 characters version===== | ||
* Used by all observed versions of German Operation Stealth (Amiga and PC) | * Used by all observed versions of German Operation Stealth (Amiga and PC) | ||
* [[Image:Cinematique-93_characters_font.png]] | * [[Image:Cinematique-93_characters_font.png]] |
edits