PAS Database

From Retro Modding Wiki
Revision as of 21:51, 3 March 2017 by imported>Antidote
Jump to navigation Jump to search

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
u32 1 Unknown
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

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 Min Value Minimum value this parameter can represent, the exact meaning depends on the context within the class implementation that uses it.
Parm Type 1 Max Value Maximum value this parameter can represent, the exact meaning depends on the context within the class implementation that uses it.

Anim Info

Type Count Name Notes
u32 1 Anim ID This is a character-relative anim index. 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.

Parm Type

ID Type
0 Int32
1 Uint32
2 Real
3 Bool
4 Enum

Weight Function

ID Type
0 ExactMatch
1 PercentError
2 AngularPercent
3 NoWeight