AAMP: Difference between revisions
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 || | | 0x10 || u32 || Parameter IO version | ||
|- | |- | ||
| 0x14 || u32 || Offset to | | 0x14 || u32 || Offset to parameter IO (multiple of 4) | ||
|- | |- | ||
| 0x18 || u32 || Number of lists (including | | 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 === | ||
{ | {| 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 === | ||
{ | {| 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 === | ||
{ | {| 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 | |||
|} | |||
=== | === 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. | ||