AMS (File Format): Difference between revisions
From Wexos's Wiki
Jump to navigationJump to search
No edit summary |
No edit summary |
||
| Line 47: | Line 47: | ||
== Section 2 == | == Section 2 == | ||
This section defines the material's texture reference. | This section defines the material's texture reference. | ||
=== Texture Reference === | |||
{| class="wikitable" | |||
! Offset !! Type !! Description | |||
|- | |||
| 0x00 || Byte || '''Padding'''. | |||
|- | |||
| 0x01 || UInt24 || '''Asset link identifier''' of the texture. | |||
|} | |||
== Section 3 == | == Section 3 == | ||
| Line 57: | Line 66: | ||
| 0x00 || float[3] || '''XYZ position'''. | | 0x00 || float[3] || '''XYZ position'''. | ||
|- | |- | ||
| 0x0C || Char[4]|| '''Bone name'''. Hardcoded to be 4 characters long. | | 0x0C || Char[4] || '''Bone name'''. Hardcoded to be 4 characters long. | ||
|- | |- | ||
| 0x10 || float[4] || '''Rotation''', using quaternions. | | 0x10 || float[4] || '''Rotation''', using quaternions. | ||
Revision as of 00:49, 3 June 2025
Under Construction
This article is not finished. Help improve it by adding accurate information or correcting grammar and spelling.
AMS (Aqualead MeSh) 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.
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 ALMS in ASCII. |
| 0x04 | Byte | Unknown. Format type? Values seen are 2 and 8. |
| 0x05 | Byte | Unknown. Posibly bit flags, but files either use 0x80 or 0x81. |
| 0x06 | Byte | Unknown. |
| 0x07 | Byte | Unknown. |
| 0x08 | Byte | Unknown. |
| 0x09 | Byte | Number of bones (B). |
| 0x0A | Byte | Unknown. |
| 0x0B | Byte | Unknown. |
| 0x0C | Float[2] | Unknown. Seems to be some kind of minimum values, perhaps for a 2D bounding box? |
| 0x14 | Float[2] | Unknown. Seems to be some kind of maximum values, perhaps for a 2D bounding box? |
| 0x1C | UInt16 | Section 1 offset. |
| 0x1E | UInt16 | Section 2 offset. |
| 0x20 | UInt16 | Section 3 offset. |
| 0x22 | UInt16 | Section 4 offset. |
Section 1
This section defines material/shading data.
Section 2
This section defines the material's texture reference.
Texture Reference
| Offset | Type | Description |
|---|---|---|
| 0x00 | Byte | Padding. |
| 0x01 | UInt24 | Asset link identifier of the texture. |
Section 3
This section defines B 0x30 bone entries.
Bone
| Offset | Type | Description |
|---|---|---|
| 0x00 | float[3] | XYZ position. |
| 0x0C | Char[4] | Bone name. Hardcoded to be 4 characters long. |
| 0x10 | float[4] | Rotation, using quaternions. |
| 0x20 | float[4] | Unknown. |
Section 4
This section defines model data.
Tools
The following tools can handle AMS files:
- (none)