Difference between revisions of "PAS Database"
From Retro Modding Wiki
(Created page with "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 M...") |
(→Anim State) |
||
(5 intermediate revisions by 2 users not shown) | |||
Line 26: | Line 26: | ||
| Anim state used by the character by default. If there are no anim states, this will be set to -1. | | Anim state used by the character by default. If there are no anim states, this will be set to -1. | ||
|- | |- | ||
− | | [[#Anim State| | + | | [[#Anim State|Anim State]] |
| ''Anim State Count'' | | ''Anim State Count'' | ||
| '''Anim State Array''' | | '''Anim State Array''' | ||
Line 40: | Line 40: | ||
! Notes | ! Notes | ||
|- | |- | ||
− | | | + | | enum |
| 1 | | 1 | ||
− | | | + | | [[#Anim State Type|Anim State Type]] |
| | | | ||
|- | |- | ||
Line 64: | Line 64: | ||
| '''Anim Info Array''' | | '''Anim Info Array''' | ||
| Describes animations in this anim state | | Describes animations in this anim state | ||
+ | |} | ||
+ | |||
+ | ==== Anim State Type ==== | ||
+ | |||
+ | {| class="wikitable" | ||
+ | ! 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 | ||
|} | |} | ||
Line 81: | Line 151: | ||
| u32 | | u32 | ||
| 1 | | 1 | ||
− | | | + | | [[#Weight Function|'''Weight Function''']] |
− | | | + | | Specifies the weighting algorithm used for this parameter during selection. |
|- | |- | ||
| float | | float | ||
| 1 | | 1 | ||
− | | | + | | '''Weight''' |
− | | | + | | Specifies how much influence this parameter has during selection. |
|- | |- | ||
| ''Parm Type'' | | ''Parm Type'' | ||
| 1 | | 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'' | | ''Parm Type'' | ||
| 1 | | 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 ==== |
{| class="wikitable" | {| class="wikitable" | ||
+ | ! ID | ||
! Type | ! Type | ||
− | |||
− | |||
− | |||
|- | |- | ||
− | | | + | | 0 |
+ | | Int32 | ||
+ | |- | ||
| 1 | | 1 | ||
− | | | + | | Uint32 |
− | + | ||
|- | |- | ||
− | | | + | | 2 |
− | | | + | | Real |
− | | | + | |- |
− | | | + | | 3 |
+ | | Bool | ||
+ | |- | ||
+ | | 4 | ||
+ | | Enum | ||
|} | |} | ||
− | === | + | ==== Weight Function ==== |
{| class="wikitable" | {| class="wikitable" | ||
Line 126: | Line 199: | ||
|- | |- | ||
| 0 | | 0 | ||
− | | | + | | Exact Match |
|- | |- | ||
| 1 | | 1 | ||
− | | | + | | Percent Error |
|- | |- | ||
| 2 | | 2 | ||
− | | | + | | Angular Percent |
|- | |- | ||
| 3 | | 3 | ||
− | | | + | | No Weight |
+ | |} | ||
+ | |||
+ | === Anim Info === | ||
+ | |||
+ | {| class="wikitable" | ||
+ | ! 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. | ||
|} | |} | ||
Latest revision as of 00:45, 8 July 2017
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.
Contents
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. |