417
edits
(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> |
edits