Open main menu

Difference between revisions of "Cine/Specifications"

1,067 bytes added ,  13:52, 13 June 2008
Added beginnings of Delphine's compression format documentation.
(Added info on the part file format and also revised 'vol.cnf' documentation a tiny bit.)
(Added beginnings of Delphine's compression format documentation.)
Line 108: Line 108:
     "BOND10    " -> "BOND10"
     "BOND10    " -> "BOND10"
     "GIRL    SET" -> "GIRL.SET"
     "GIRL    SET" -> "GIRL.SET"
</pre>
===Compression format===
The compression algorithm used by all Delphine's adventure games uses
sliding window compression (See [http://en.wikipedia.org/wiki/LZ77 LZ77] for
information about sliding window compression).
The compressed data is in big endian 32-bit chunks, working backwards from the buffer's end.
So we start from the data's end and work backwards.
<pre>
Compression format:
NOTE: As the whole data consists of unsigned big endian 32-bit integers, I use indexing
      in 32-bit addresses here. By -1 I mean the last 32-bits of the data
      (i.e. bytes src[srcLen-4], src[srcLen-3], src[srcLen-2] and src[srcLen-1]),
      by -2 the second to last 32-bits etc.
    Dword    Meaning
    --------- ------------------------------------------------------------------------
    -1        Unpacked length (Uint32BE).
    -2        Error code (Uint32BE). Xor of the whole packed data in Uint32BE chunks.
    0 - (-3)  The packed data (In Uint32BE chunks).
    --------  ------------------------------------------------------------------------
</pre>
</pre>
417

edits