Pmd2 PKDPX: Difference between revisions

From ProjectPokemon Wiki
Jump to navigation Jump to search
m (typo fix)
m (added a more visible link to the PX compression page)
Line 46: Line 46:
|-
|-
| 0x14
| 0x14
| colspan=5 | ..The compressed data begins immediately here!..
| colspan=5 | ..The [[pmd2_PX_Compression|PX compressed]] data begins immediately here!..
|}
|}


== Credits ==
== Credits ==
A big thanks to [https://github.com/Zhorken Zhorken]who figured out most of the header and the compression format!
A big thanks to [https://github.com/Zhorken Zhorken]who figured out most of the header and the compression format!

Revision as of 22:34, 21 March 2015

The PKDPX format is used as a compressed container for generic data. Unlike its specialized equivalent the AT4PX format, the PKDPX format can contain any kind of data. The format of whatever is contained will vary depending on context, and what file extension the file that contained the PKDPX container had. Its content is compressed using a custom compression format dubbed PX Compression for the lack of a better name.

File Structure

The structure is very simple. A 20 bytes long header followed with the compressed data.

Overview
Offset Length Endianness Type Name Description
0x00 5 big Magic Number The magic number, made of the ASCII characters "PKDPX" {0x50, 0x4B, 0x44, 0x50, 0x58}
0x05 2 little uint16 Container Length The length from the beginning of the header to the end of the compressed data.
0x07 9 byte array Ctrl Flags Array A list of flags to be used in decompressing the container's content. More detail about their purpose on the PX Compression page. They're really nybbles stored in the lower half of a single byte each.
0x10 4 little uint32 Decompressed Data Length This is the length of the raw input data before it was compressed. Note how the length of this field differ from the AT4PX format's own Decompressed Data Length !
0x14 ..The PX compressed data begins immediately here!..

Credits

A big thanks to Zhorkenwho figured out most of the header and the compression format!