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