AGL > PMAA > V2

This page describes the second version of the PMAA file format.

The file is organized out as follows:

In little endian mode, the whole header is swapped, including the magic number.

OffsetSizeDescription
0x04Magic number (PMAA)
0x44Version number (2)
0x84Flags: 1 = little endian, 2 = shift-jis
0xC4Filesize
0x104Effect type version
0x144Length of effect type name, including null terminator and padding
0x184Total number of parameter lists
0x1C4Total number of parameter objects
0x204Total number of parameter values
0x244Size of parameter data
0x284Size of string table
0x2C4Unknown
0x30Effect type name

The effect type name is always padded so that its length is a multiple of 4.

Parameter List

The parameter lists are stored behind the header.

OffsetSizeDescription
0x04Name hash
0x440xAAAABBBB: A = number of child lists, B = offset to first child list
0x840xAAAABBBB: A = number of child objects, B = offset to first child object

Offsets are measured in 32-bit words, relative to the name hash.

Parameter Object

OffsetSizeDescription
0x04Name hash
0x440xAAAABBBB: A = number of parameters, B = offset to first parameter

Offsets are measured in 32-bit words, relative to the name hash.

Parameter Value

OffsetSizeDescription
0x04Name hash
0x440xAABBBBBB: A = type id, B = offset to data

Offsets are measured in 32-bit words, relative to the name hash.

Parameter Data

The parameter data section contains raw parameter values. It is referenced by the parameter value headers.

String Table

The string table contains null terminated strings, each of which is aligned to a multiple of 4 bytes.