File Format:ANM
From LMHack
More actions
Original Author
Original Source
Breakdown
Header
| Offset | Size | Type | Description |
|---|---|---|---|
| -0x00 | 1 | Byte | Version? 1 or 2. |
| -0x01 | 1 | Byte | Loop. |
| -0x02 | 2 | UInt16 | Padding. |
| -0x04 | 4 | UInt32 | Frame Count. |
| -0x08 | 4 | UInt32 | Scale Key Data Offset. |
| -0x0A | 4 | UInt32 | Rotation Key Data Offset. |
| -0x0E | 4 | UInt32 | Translation Key Data Offset. |
| -0x14 | 4 | UInt32 | Node Groups Offset |
To read the keys, get the key information from the node groups first.
Node Group
To get the amount of these, you must get the count from the .bin file. These are the total used in the scene graph.
| Offset | Size | Type | Description |
|---|---|---|---|
| -0x00 | 6 | Track | Scale X. |
| -0x06 | 6 | Track | Scale Y. |
| -0x0C | 6 | Track | Scale Z. |
| -0x12 | 6 | Track | Rotate X. |
| -0x18 | 6 | Track | Rotate Y. |
| -0x24 | 6 | Track | Rotate Z. |
| -0x2A | 6 | Track | Position X. |
| -0x30 | 6 | Track | Position Y. |
| -0x36 | 6 | Track | Position Z. |
Track
| Offset | Size | Type | Description |
|---|---|---|---|
| -0x00 | 2 | UInt16 | Count. |
| -0x02 | 2 | UInt16 | Index. |
| -0x04 | 2 | UInt16 | Flag. |
Key Data
if frame amount is 1
| Offset | Size | Type | Description |
|---|---|---|---|
| -0x00 | 4 | Float | Value. |
else
| Offset | Size | Type | Description |
|---|---|---|---|
| -0x00 | 4 | Float | Frame. |
| -0x04 | 4 | Float | Value. |
| -0x08 | 4 | Float | Slope. |
if track flags = 0x80
| Offset | Size | Type | Description |
|---|---|---|---|
| -0x0A | 4 | Float | Out Slope. |