PAS Database: Difference between revisions

From Retro Modding Wiki
Jump to navigation Jump to search
>Aruki
>Aruki
 
(4 intermediate revisions by 2 users not shown)
Line 40: Line 40:
! Notes
! Notes
|-
|-
| u32
| enum
| 1
| 1
| {{unknown|Unknown}}
| [[#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
| {{unknown}}
| [[#Weight Function|'''Weight Function''']]
|  
| Specifies the weighting algorithm used for this parameter during selection.
|-
|-
| float
| float
| 1
| 1
| {{unknown}}
| '''Weight'''
|  
| Specifies how much influence this parameter has during selection.
|-
|-
| ''Parm Type''
| ''Parm Type''
| 1
| 1
| {{unknown}}
| '''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
| {{unknown}}
| '''Maximum Value'''
|  
| Maximum value this parameter can represent. The exact meaning depends on the context within the class implementation that uses it.
|}
|}


=== Anim Info ===
==== Parm Type ====


{| class="wikitable"
{| class="wikitable"
! ID
! Type
! Type
! Count
! Name
! Notes
|-
|-
| u32
| 0
| Int32
|-
| 1
| 1
| '''Anim ID'''
| Uint32
| This is a character-relative anim index. This should be indexed into the character's anim list to get the animset-relative index.
|-
| 2
| Real
|-
| 3
| Bool
|-
|-
| ''Parm Type''
| 4
| ''Parm Info Count''
| Enum
| '''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 ===
==== Weight Function ====


{| class="wikitable"
{| class="wikitable"
Line 126: Line 199:
|-
|-
| 0
| 0
| Int32
| Exact Match
|-
|-
| 1
| 1
| Uint32
| Percent Error
|-
|-
| 2
| 2
| Real
| Angular Percent
|-
|-
| 3
| 3
| Bool
| 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.
|-
|-
| 4
| ''Parm Type''
| Enum
| ''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 06: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.

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.