AAMP: Difference between revisions

1,121 bytes added ,  6 years ago
no edit summary
imported>Leoetlino
No edit summary
imported>Leoetlino
No edit summary
Line 10: Line 10:
* Parameter Objects are dicts that contain Parameters.
* Parameter Objects are dicts that contain Parameters.
* Parameter Lists are structures that contain Parameters, Parameter Objects, and other Parameter Lists.
* Parameter Lists are structures that contain Parameters, Parameter Objects, and other Parameter Lists.
* The root parameter list is called the Parameter IO. It is associated with a version and type string in the header which is checked by the AAMP library.
=== Section order ===
* Header
* Parameter lists, objects, parameters (the official ordering algorithm is unknown)
* Data section (to store parameter data)
* String section (to store strings)
* Unknown uint32 section (unused?)


=== Header ===
=== Header ===
Line 23: Line 31:
| 0xc || u32 || File size
| 0xc || u32 || File size
|-
|-
| 0x10 || u32 || Padding
| 0x10 || u32 || Parameter IO version
|-
|-
| 0x14 || u32 || Offset to root parameter IO (multiple of 4)
| 0x14 || u32 || Offset to parameter IO (multiple of 4)
|-
|-
| 0x18 || u32 || Number of lists (including root parameter IO)
| 0x18 || u32 || Number of lists (including parameter IO)
|-
|-
| 0x1c || u32 || Number of objects
| 0x1c || u32 || Number of objects
Line 43: Line 51:


=== Parameter list ===
=== Parameter list ===
{{empty section}}
{| class="wikitable"
! Offset !! Type !! Description
|-
| 0x0 || u32 || Name CRC32
|-
| 0x4 || u16 || Offset to child lists, divided by 4 and relative to parameter list start
|-
| 0x6 || u16 || Number of child lists
|-
| 0x8 || u16 || Offset to child objects, divided by 4 and relative to parameter list start
|-
| 0xa || u16 || Number of child objects
|}


=== Parameter object ===
=== Parameter object ===
{{empty section}}
{| class="wikitable"
! Offset !! Type !! Description
|-
| 0x0 || u32 || Name CRC32
|-
| 0x4 || u16 || Offset to child parameters, divided by 4 and relative to parameter object start
|-
| 0x6 || u16 || Number of child parameters
|}


=== Parameter ===
=== Parameter ===
{{empty section}}
{| class="wikitable"
! Offset !! Type !! Description
|-
| 0x0 || u32 || Name CRC32
|-
| 0x4 || u24 || Offset to data, divided by 4 and relative to parameter start
|-
| 0x7 || ParameterType (u8) || Type
|}


=== Parameter types ===
=== ParameterType ===
The following parameter type and class names are ''official'' and come from Nintendo's AAMP library.
The following parameter type and class names are ''official'' and come from Nintendo's AAMP library.


Anonymous user