AAMP: Difference between revisions

→‎Structure: fix struct definitions (offsets and counts are packed as a single u32; they are not separate fields)
imported>Leoetlino
No edit summary
(→‎Structure: fix struct definitions (offsets and counts are packed as a single u32; they are not separate fields))
 
(One intermediate revision by one other user not shown)
Line 63: Line 63:
| 0x0 || u32 || Name CRC32
| 0x0 || u32 || Name CRC32
|-
|-
| 0x4 || u16 || Offset to child lists, divided by 4 and relative to parameter list start
| 0x4 || u32 ||
* Bits 0-15: Offset to child lists, divided by 4 and relative to parameter list start
* Bits 16-31: Number of child lists
|-
|-
| 0x6 || u16 || Number of child lists
| 0x8 || u32 ||
|-
* Bits 0-15: Offset to child objects, divided by 4 and relative to parameter list start
| 0x8 || u16 || Offset to child objects, divided by 4 and relative to parameter list start
* Bits 16-31: Number of child objects
|-
| 0xa || u16 || Number of child objects
|}
|}


Line 78: Line 78:
| 0x0 || u32 || Name CRC32
| 0x0 || u32 || Name CRC32
|-
|-
| 0x4 || u16 || Offset to child parameters, divided by 4 and relative to parameter object start
| 0x4 || u32 ||
|-
* Bits 0-15: Offset to child parameters, divided by 4 and relative to parameter object start
| 0x6 || u16 || Number of child parameters
* Bits 16-31: Number of child parameters
|}
|}


Line 89: Line 89:
| 0x0 || u32 || Name CRC32
| 0x0 || u32 || Name CRC32
|-
|-
| 0x4 || u24 || Offset to data, divided by 4 and relative to parameter start.<br>For strings, this points to a string in the string section. For other parameter types, this points to the data section.
| 0x4 || u32 ||
|-
* Bits 0-23: Offset to data, divided by 4 and relative to parameter start.<br>For strings, this points to a string in the string section. For other parameter types, this points to the data section.
| 0x7 || ParameterType (u8) || Type
* Bits 24-31: Parameter type
|}
|}


Line 192: Line 192:


== Usage in ''Breath of the Wild'' ==
== Usage in ''Breath of the Wild'' ==
AAMP files are used in ''Breath of the Wild'' to store parameters that define the game's behaviour. They are very frequently used inside [[bactorpack]] archives, where they define most of an Actor's characteristics.
AAMP files are used in ''Breath of the Wild'' to store parameters that define the game's behaviour. They are very frequently used inside [[actor pack]] archives, where they define most of an Actor's characteristics.


=== Naming conventions for arrays ===
=== Naming conventions for arrays ===