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.
|