Pmd2 AT4PX

From ProjectPokemon Wiki
Revision as of 04:38, 12 December 2014 by Psy commando (talk | contribs) (Created the AT4PX container page.)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

The AT4PX container is a format used to contain compressed image data exclusively, as opposed to PKDPX which is more of a generic compressed container. The contained image's format vary, depending on the context, or file extension in which the AT4PX container was found in. 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 18 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 "AT4PX" {0x41, 0x54, 0x34, 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 2 little uint16 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 PKDPX format's own Decompressed Data Length !
0x12 ..The compressed data begins immediately here!..

Credits

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