AOD (File Format): Difference between revisions
(Created page with "{{under-construction}} '''AOD''' ('''A'''qualead '''O'''bject '''D'''efinition) is a file format developed by Aqualead and found in some Wii and 3DS games (and suspected to be used in GameCube titles as well), such as ''One Piece: Unlimited Adventure'', ''One Piece: Unlimited Cruise Episode 1 - The Treasure Beneath The Waves'', ''One Piece: Unlimited Cruise Episode 2: Awakening of a Hero'', ''One Piece: Unlimited Cruise SP'' and ''One Pi...") |
|||
| (3 intermediate revisions by the same user not shown) | |||
| Line 21: | Line 21: | ||
| 0x07 || Byte || '''Number of [[#Resource String|resource strings]]''' ('''S'''). | | 0x07 || Byte || '''Number of [[#Resource String|resource strings]]''' ('''S'''). | ||
|- | |- | ||
| 0x08 || Byte[8] | | 0x08 || Byte[8] || {{Unknown-left|'''Unknown'''. Padding?}} | ||
|} | |} | ||
| Line 38: | Line 36: | ||
== Resource Definition == | == Resource Definition == | ||
''TBD'' | ''TBD'' | ||
== Resource String == | == Resource String == | ||
Resource strings are defined in the game's code and can vary between games. The following table shows strings seen in different games. | |||
{| class="wikitable" | {| class="wikitable" | ||
! Type !! | ! Type !! Found in | ||
|- | |- | ||
| | | Assemble | ||
| | |||
* [[One Piece: Unlimited Adventure]] | |||
* [[One Piece: Unlimited Cruise Episode 2: Awakening of a Hero]] | |||
|- | |- | ||
| | | BlendMode | ||
| | |||
* [[One Piece: Unlimited Adventure]] | |||
* [[One Piece: Unlimited Cruise Episode 2: Awakening of a Hero]] | |||
|- | |- | ||
| | | CullMode | ||
| | |||
* [[One Piece: Unlimited Adventure]] | |||
* [[One Piece: Unlimited Cruise Episode 2: Awakening of a Hero]] | |||
|- | |- | ||
| | | DrawPrio | ||
| | |||
* [[One Piece: Unlimited Adventure]] | |||
* [[One Piece: Unlimited Cruise Episode 2: Awakening of a Hero]] | |||
|- | |- | ||
| | | LifeType | ||
| | |||
* [[One Piece: Unlimited Adventure]] | |||
* [[One Piece: Unlimited Cruise Episode 2: Awakening of a Hero]] | |||
|- | |- | ||
| | | MeshID | ||
| | |||
* [[One Piece: Unlimited Adventure]] | |||
* [[One Piece: Unlimited Cruise Episode 2: Awakening of a Hero]] | |||
|- | |- | ||
| | | ParentCalcType | ||
| | |||
* [[One Piece: Unlimited Adventure]] | |||
* [[One Piece: Unlimited Cruise Episode 2: Awakening of a Hero]] | |||
|- | |- | ||
| | | ParentColorLink | ||
| | |||
* [[One Piece: Unlimited Cruise Episode 2: Awakening of a Hero]] | |||
|- | |- | ||
| | | ParentNodeID | ||
| | |||
* [[One Piece: Unlimited Adventure]] | |||
* [[One Piece: Unlimited Cruise Episode 2: Awakening of a Hero]] | |||
|- | |- | ||
| | | ParticleAge | ||
| | |||
* [[One Piece: Unlimited Adventure]] | |||
* [[One Piece: Unlimited Cruise Episode 2: Awakening of a Hero]] | |||
|- | |- | ||
| | | ParticleAgeVariation | ||
| | |||
* [[One Piece: Unlimited Adventure]] | |||
* [[One Piece: Unlimited Cruise Episode 2: Awakening of a Hero]] | |||
|- | |- | ||
| | | ParticleAutoDestory | ||
| | |||
* [[One Piece: Unlimited Cruise Episode 2: Awakening of a Hero]] | |||
|- | |- | ||
| | | ParticleBirth | ||
| | |||
* [[One Piece: Unlimited Adventure]] | |||
* [[One Piece: Unlimited Cruise Episode 2: Awakening of a Hero]] | |||
|- | |- | ||
| | | ParticleColorChangeTiming | ||
| | |||
* [[One Piece: Unlimited Adventure]] | |||
* [[One Piece: Unlimited Cruise Episode 2: Awakening of a Hero]] | |||
|- | |- | ||
| | | ParticleEmissionLink | ||
| | |||
* [[One Piece: Unlimited Adventure]] | |||
* [[One Piece: Unlimited Cruise Episode 2: Awakening of a Hero]] | |||
|- | |- | ||
| | | ParticleEmitter.Direction | ||
| | |||
* [[One Piece: Unlimited Adventure]] | |||
* [[One Piece: Unlimited Cruise Episode 2: Awakening of a Hero]] | |||
|- | |- | ||
| | | ParticleEmitter.Offset | ||
| | |||
* [[One Piece: Unlimited Adventure]] | |||
* [[One Piece: Unlimited Cruise Episode 2: Awakening of a Hero]] | |||
|- | |||
| ParticleEmitter.Radius | |||
| | |||
* [[One Piece: Unlimited Adventure]] | |||
* [[One Piece: Unlimited Cruise Episode 2: Awakening of a Hero]] | |||
|- | |- | ||
| | | ParticleEmitter.Range1 | ||
| | |||
* [[One Piece: Unlimited Adventure]] | |||
* [[One Piece: Unlimited Cruise Episode 2: Awakening of a Hero]] | |||
|- | |- | ||
| | | ParticleEmitter.Range2 | ||
| | |||
* [[One Piece: Unlimited Adventure]] | |||
* [[One Piece: Unlimited Cruise Episode 2: Awakening of a Hero]] | |||
|- | |- | ||
| | | ParticleEmitterID | ||
| | |||
* [[One Piece: Unlimited Adventure]] | |||
* [[One Piece: Unlimited Cruise Episode 2: Awakening of a Hero]] | |||
|- | |- | ||
| Position || | | ParticleEndColor | ||
| | |||
* [[One Piece: Unlimited Adventure]] | |||
* [[One Piece: Unlimited Cruise Episode 2: Awakening of a Hero]] | |||
|- | |||
| ParticleEndSize | |||
| | |||
* [[One Piece: Unlimited Adventure]] | |||
* [[One Piece: Unlimited Cruise Episode 2: Awakening of a Hero]] | |||
|- | |||
| ParticleGravity | |||
| | |||
* [[One Piece: Unlimited Adventure]] | |||
* [[One Piece: Unlimited Cruise Episode 2: Awakening of a Hero]] | |||
|- | |||
| ParticleLength | |||
| | |||
* [[One Piece: Unlimited Adventure]] | |||
* [[One Piece: Unlimited Cruise Episode 2: Awakening of a Hero]] | |||
|- | |||
| ParticleRandomRot | |||
| | |||
* [[One Piece: Unlimited Adventure]] | |||
* [[One Piece: Unlimited Cruise Episode 2: Awakening of a Hero]] | |||
|- | |||
| ParticleResist | |||
| | |||
* [[One Piece: Unlimited Adventure]] | |||
* [[One Piece: Unlimited Cruise Episode 2: Awakening of a Hero]] | |||
|- | |||
| ParticleResistGB | |||
| | |||
* [[One Piece: Unlimited Cruise Episode 2: Awakening of a Hero]] | |||
|- | |||
| ParticleRotSpeed | |||
| | |||
* [[One Piece: Unlimited Adventure]] | |||
* [[One Piece: Unlimited Cruise Episode 2: Awakening of a Hero]] | |||
|- | |||
| ParticleSize | |||
| | |||
* [[One Piece: Unlimited Adventure]] | |||
* [[One Piece: Unlimited Cruise Episode 2: Awakening of a Hero]] | |||
|- | |||
| ParticleSizeVariation | |||
| | |||
* [[One Piece: Unlimited Adventure]] | |||
* [[One Piece: Unlimited Cruise Episode 2: Awakening of a Hero]] | |||
|- | |||
| ParticleSpeed | |||
| | |||
* [[One Piece: Unlimited Adventure]] | |||
* [[One Piece: Unlimited Cruise Episode 2: Awakening of a Hero]] | |||
|- | |||
| ParticleSpeedVariation | |||
| | |||
* [[One Piece: Unlimited Adventure]] | |||
* [[One Piece: Unlimited Cruise Episode 2: Awakening of a Hero]] | |||
|- | |||
| ParticleStartColor | |||
| | |||
* [[One Piece: Unlimited Adventure]] | |||
* [[One Piece: Unlimited Cruise Episode 2: Awakening of a Hero]] | |||
|- | |||
| ParticleStartTextureOrder | |||
| | |||
* [[One Piece: Unlimited Cruise Episode 2: Awakening of a Hero]] | |||
|- | |||
| ParticleStartTextureRandom | |||
| | |||
* [[One Piece: Unlimited Cruise Episode 2: Awakening of a Hero]] | |||
|- | |||
| ParticleStartWait | |||
| | |||
* [[One Piece: Unlimited Adventure]] | |||
* [[One Piece: Unlimited Cruise Episode 2: Awakening of a Hero]] | |||
|- | |||
| ParticleTextureSpeed | |||
| | |||
* [[One Piece: Unlimited Cruise Episode 2: Awakening of a Hero]] | |||
|- | |||
| ParticleTrail | |||
| | |||
* [[One Piece: Unlimited Adventure]] | |||
* [[One Piece: Unlimited Cruise Episode 2: Awakening of a Hero]] | |||
|- | |||
| Position | |||
| | |||
* [[One Piece: Unlimited Adventure]] | |||
* [[One Piece: Unlimited Cruise Episode 2: Awakening of a Hero]] | |||
|- | |||
| PostureType | |||
| | |||
* [[One Piece: Unlimited Cruise Episode 2: Awakening of a Hero]] | |||
|- | |||
| Rotation | |||
| | |||
* [[One Piece: Unlimited Cruise Episode 2: Awakening of a Hero]] | |||
|- | |||
| ShaderID | |||
| | |||
* [[One Piece: Unlimited Cruise Episode 2: Awakening of a Hero]] | |||
|- | |||
| Texture0ID | |||
| | |||
* [[One Piece: Unlimited Cruise Episode 2: Awakening of a Hero]] | |||
|- | |||
| Texture1ID | |||
| | |||
* [[One Piece: Unlimited Cruise Episode 2: Awakening of a Hero]] | |||
|- | |||
| Texture2ID | |||
| | |||
* [[One Piece: Unlimited Cruise Episode 2: Awakening of a Hero]] | |||
|- | |||
| Texture3ID | |||
| | |||
* [[One Piece: Unlimited Cruise Episode 2: Awakening of a Hero]] | |||
|- | |||
| TextureID | |||
| | |||
* [[One Piece: Unlimited Adventure]] | |||
* [[One Piece: Unlimited Cruise Episode 2: Awakening of a Hero]] | |||
|- | |||
| TextureName | |||
| | |||
* [[One Piece: Unlimited Adventure]] | |||
* [[One Piece: Unlimited Cruise Episode 2: Awakening of a Hero]] | |||
|- | |||
| ZTestEnable | |||
| | |||
* [[One Piece: Unlimited Adventure]] | |||
* [[One Piece: Unlimited Cruise Episode 2: Awakening of a Hero]] | |||
|- | |||
| ZWriteEnable | |||
| | |||
* [[One Piece: Unlimited Adventure]] | |||
* [[One Piece: Unlimited Cruise Episode 2: Awakening of a Hero]] | |||
|} | |} | ||
| Line 100: | Line 298: | ||
* [[One Piece: Unlimited Cruise SP]] | * [[One Piece: Unlimited Cruise SP]] | ||
* [[One Piece: Unlimited Cruise SP 2]] | * [[One Piece: Unlimited Cruise SP 2]] | ||
* [[Pandora's Tower]] | |||
|} | |} | ||
Latest revision as of 12:40, 21 June 2025
AOD (Aqualead Object Definition) is a file format developed by Aqualead and found in some Wii and 3DS games (and suspected to be used in GameCube titles as well), such as One Piece: Unlimited Adventure, One Piece: Unlimited Cruise Episode 1 - The Treasure Beneath The Waves, One Piece: Unlimited Cruise Episode 2: Awakening of a Hero, One Piece: Unlimited Cruise SP and One Piece: Unlimited Cruise SP 2. It contains resource information for 3D objects.
File Format
The file byte order can be either big endian (Wii) or little endian (3DS).
Header
The file starts with the following header:
| Offset | Type | Description |
|---|---|---|
| 0x00 | Char[4] | File magic. Always ALOD in ASCII. |
| 0x04 | Byte | Version number. |
| 0x05 | Byte | Unknown. |
| 0x06 | Byte | Number of resource definitions (D). |
| 0x07 | Byte | Number of resource strings (S). |
| 0x08 | Byte[8] | Unknown. Padding? |
Resource Offset Table
After the header comes a table with offsets to all resource definitions and resource strings. All offsets are absolute.
| Offset | Type | Description |
|---|---|---|
| 0x00 | UInt16[D] | Resource definition offsets. |
| 0x02 * D | UInt16[S] | Resource string offsets. |
Resource Definition
TBD
Resource String
Resource strings are defined in the game's code and can vary between games. The following table shows strings seen in different games.
| Type | Found in |
|---|---|
| Assemble | |
| BlendMode | |
| CullMode | |
| DrawPrio | |
| LifeType | |
| MeshID | |
| ParentCalcType | |
| ParentColorLink | |
| ParentNodeID | |
| ParticleAge | |
| ParticleAgeVariation | |
| ParticleAutoDestory | |
| ParticleBirth | |
| ParticleColorChangeTiming | |
| ParticleEmissionLink | |
| ParticleEmitter.Direction | |
| ParticleEmitter.Offset | |
| ParticleEmitter.Radius | |
| ParticleEmitter.Range1 | |
| ParticleEmitter.Range2 | |
| ParticleEmitterID | |
| ParticleEndColor | |
| ParticleEndSize | |
| ParticleGravity | |
| ParticleLength | |
| ParticleRandomRot | |
| ParticleResist | |
| ParticleResistGB | |
| ParticleRotSpeed | |
| ParticleSize | |
| ParticleSizeVariation | |
| ParticleSpeed | |
| ParticleSpeedVariation | |
| ParticleStartColor | |
| ParticleStartTextureOrder | |
| ParticleStartTextureRandom | |
| ParticleStartWait | |
| ParticleTextureSpeed | |
| ParticleTrail | |
| Position | |
| PostureType | |
| Rotation | |
| ShaderID | |
| Texture0ID | |
| Texture1ID | |
| Texture2ID | |
| Texture3ID | |
| TextureID | |
| TextureName | |
| ZTestEnable | |
| ZWriteEnable |
Version List
| Version | Found in |
|---|---|
| 2.0 |
Tools
The following tools can handle AOD files:
- (none)