PAS Database
The Parameterized Animation State Database is an animation-related thing that appears in every Retro game. It can be found in the ANCS format in Metroid Prime 1 and 2, and the CHAR format in Metroid Prime 3, Donkey Kong Country Returns, and Donkey Kong Country: Tropical Freeze.
Format
Type | Count | Name | Notes |
---|---|---|---|
FourCC | 1 | Magic | Always PAS4
|
u32 | 1 | Anim State Count | Number of anim states |
u32 | 1 | Default Anim State | Anim state used by the character by default. If there are no anim states, this will be set to -1. |
Anim State | Anim State Count | Anim State Array | Array of anim states. |
Anim State
Type | Count | Name | Notes |
---|---|---|---|
enum | 1 | Anim State Type | |
u32 | 1 | Parm Info Count | Number of parameters |
u32 | 1 | Anim Info Count | Number of animations |
Parm Info | Parm Info Count | Parm Info Array | Describes parameters in this anim state |
Anim Info | Anim Info Count | Anim Info Array | Describes animations in this anim state |
Anim State Type
ID | State |
---|---|
0 | Fall |
1 | Get Up |
2 | Lie On Ground |
3 | Step |
4 | Death |
5 | Locomotion |
6 | Knock Back |
7 | Melee Attack |
8 | Turn |
9 | Loop Attack |
10 | Loop Reaction |
11 | Ground Hit |
12 | Generate |
13 | Jump |
14 | Hurled |
15 | Slide |
16 | Taunt |
17 | Scripted |
18 | Projectile Attack |
19 | Cover |
20 | Wall Hang |
Parm Info
Type | Count | Name | Notes |
---|---|---|---|
u32 | 1 | Parm Type | Parameter type. This value controls the type of other values in the Parm Info and Anim Info structures. |
u32 | 1 | Weight Function | Specifies the weighting algorithm used for this parameter during selection. |
float | 1 | Weight | Specifies how much influence this parameter has during selection. |
Parm Type | 1 | Minimum Value | Minimum value this parameter can represent. The exact meaning depends on the context within the class implementation that uses it. |
Parm Type | 1 | Maximum Value | Maximum value this parameter can represent. The exact meaning depends on the context within the class implementation that uses it. |
Parm Type
ID | Type |
---|---|
0 | Int32 |
1 | Uint32 |
2 | Real |
3 | Bool |
4 | Enum |
Weight Function
ID | Type |
---|---|
0 | Exact Match |
1 | Percent Error |
2 | Angular Percent |
3 | No Weight |
Anim Info
Type | Count | Name | Notes |
---|---|---|---|
u32 | 1 | Anim ID | This is a character-relative anim index. In Prime 1/2, this should be indexed into the character's anim list to get the animset-relative index. |
Parm Type | Parm Info Count | Parm Values Array | This array contains one value per Parm Info. The type of each value is determined by the corresponding Parm Info's Parm Type value. |