AMS (File Format)

From Wexos's Wiki
Revision as of 00:49, 3 June 2025 by Atlas (talk | contribs)
Jump to navigationJump to search
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)