ANCS (File Format): Difference between revisions

Jump to navigation Jump to search
→‎AnimationSet: wooooOOOOOOAH LIVIN ON A PRAYER
>Aruki
(woooooooah we're halfway theeeere)
>Aruki
(→‎AnimationSet: wooooOOOOOOAH LIVIN ON A PRAYER)
Line 507: Line 507:
|}
|}


==AnimationSet==
=== Animation Set ===
 
{| class="wikitable"
{| class="wikitable"
! Data Type
! Type
! Element Count
! Count
! Description
! Name
! Notes
! Notes
! MP1
! MP2
|-
|-
| u16
| u16
| 1
| 1
| Info Count
| '''Version'''
| Enumeration of the presence of certain sections
| Always 4. Note there are format differences between MP1 and MP2 despite them both being version 4.
| {{check}}
| {{check}}
|-
|-
| u32
| u32
| 1
| 1
| Animation Count
| '''Animation Count'''
| How many animations there are in the set
| Count of animations contained by the set.
| {{check}}
| {{check}}
|-
|-
| [[#Animation|Animation]]
| [[#Animation|Animation]]
| animation_count
| ''Animation Count''
| Animations that can be referenced by characters
| '''Animation Array'''
|
| Array of animations.
| {{check}}
| {{check}}
|-
|-
| u32
| u32
| 1
| 1
| Transition Count
| '''Transition Count'''
| How many transitions there are in the set
| Count of transitions contained by the set.
| {{check}}
| {{check}}
|-
|-
| [[#Transition|Transition]]
| [[#Transition|Transition]]
| transition_count
| ''Transition Count''
| Transitions that can be referenced by characters
| '''Transition Array'''
|
| Array of transitions.
| {{check}}
| {{check}}
|-
|-
| [[#MetaTransition|MetaTransition]]
| [[Meta-Transition]]
| 1
| 1
| Default Transition
| '''Default Transition'''
|
|  
| {{check}}
| {{check}}
|-
|-
| u32
| u32
| 1
| 1
| Additive Animation Count
| '''Additive Animation Count'''
| How many additive animations there are
| Count of additive animations contained by the set.
| {{check}}
| {{check}}
|-
|-
| [[#AdditiveAnimationPair|AdditiveAnimationPair]]
| [[#Additive Animation|Additive Animation]]
| additive_animation_count
| ''Additive Animation Count''
| Additive animations that can be referenced in some fashion
| '''Additive Animation Array'''
| Reference method is currently unknown, presumably PASDatabase.
| Array of additive animations. Although any animation can be used as additive, this array allows for customizing the fade in/out time for each animation.
| {{check}}
| {{check}}
|-
|-
| [[#AdditiveAnimation|AdditiveAnimation]]
| float
| 1
| '''Default Additive Fade-In Time'''
| Fade-in time used for additive animations not listed in the above array.
| {{check}}
| {{check}}
|-
| float
| 1
| 1
| Default additive
| '''Default Additive Fade-Out Time'''
|  
| Fade-out time used for additive animations not listed in the above array.
| {{check}}
| {{check}}
|-
|-
| u32
| u32
| 1
| 1
| Half Transition Count
| '''Half Transition Count'''
| How many half transitions there in the set, Only present if info_count > 2
| Count of half transitions contained by the set.
| {{check}}
| {{check}}
|-
|-
| [[#HalfTransition|HalfTransition]]
| [[#Half Transition|Half Transition]]
| half_transition_Count
| ''Half Transition Count''
| Half Transitions
| '''Half Transition Array'''
| Only present if info_count > 2
| Array of half transitions.
| {{check}}
| {{check}}
|-
|-
| u32
| u32
| 1
| 1
| Animation Resource Count
| '''Animation Resource Count'''
| Only present if info_count > 3, and not present at all in MP2
| Count of animation assets used by this set.
| {{check}}
| {{nocheck}}
|-
|-
| [[#AnimationResource|AnimationResource]]
| [[#Animation Resource Pair|Animation Resource Pair]]
| animation_resource_count
| ''Animation Resource Count''
| Animation Resources
| '''Animation Resource List'''
| Only present if info_count > 3, and not present at all in MP2
| List of animation assets used by this set.
| {{check}}
| {{nocheck}}
|-
|-
| u32
| u32
| 1
| 1
| Event Count
| '''Event Set Count'''
| Only present in MP2
| Count of event sets. Matches the animation count.
| {{nocheck}}
| {{check}}
|-
|-
| [[EVNT_(File_Format)|EVNT]]
| [[EVNT_(File_Format)|Event Set]]
| event_count
| ''Event Set Count''
| Animation Events
| '''Event Set Array'''
| Only present in MP2
| Array of animation events. Each event set maps to the animation at the same index. Note this is basically MP1's [[EVNT (File Format)|EVNT]] file format, but embedded in ANCS.
| {{nocheck}}
| {{check}}
|}
|}


===Animation===
==== Animation ====
{| class="wikitable"
! Data Type
! Description
|-
| string
| Name
|-
| [[#MetaAnimation|MetaAnimation]]
| Animation configuration
|}


===MetaAnimation===
MetaAnimations can be one of five types, and may contain children.
{| class="wikitable"
! Data Type
! Description
|-
| [[#EMetaAnimationType|EMetaAnimationType]]
| The Animation type
|-
| [[#Play|Play]], [[#Blend|Blend]], [[#Blend|PhaseBlend]], [[#Random|Random]] or [[#Sequence|Sequence]]
| The animation description, including name, animation ID, and index used to connect character animations references to actual animations.
|}
====EMetaAnimationType====
{| class="wikitable"
{| class="wikitable"
! Type
! Name
! Name
! Value
|-
| Play
| 0
|-
| Blend
| 1
|-
| PhaseBlend
| 2
|-
| Random
| 3
|-
| Sequence
| 4
|}
====Play====
{| class="wikitable"
! Data Type
! Description
! Notes
! Notes
|-
| [[ANIM_(File_Format)|ANIM]]
| Animation ID
| The asset ID for this particular animation
|-
| u32
| Index
| The ID used by characters to reference this animation
|-
|-
| string
| string
| Name
| '''Name'''
| The animations name
| Animation name.
|-
|-
| float
| [[Meta-Animation]]
| colspan=2 {{unknown|'''Unknown'''}}
| '''Animation'''
|-
| Meta-animation data.
| u32
| colspan=2 {{unknown|'''Unknown'''}}
|}
|}


====Blend====
==== Transition ====
Blend's structure is shared between Blend and PhaseBlend, with the only currently known difference being the animation type value.
{| class="wikitable"
! Data Type
! Description
! Notes
|-
| [[#MetaAnimation|MetaAnimation]]
| Animation A
| The animation to, presumably, blend from
|-
| [[#MetaAnimation|MetaAnimation]]
| Animation B
| The animation to, presumably, blend to
|-
| float
| colspan=2 {{unknown|'''Unknown'''}}
|-
| bool
| colspan=2 {{unknown|'''Unknown'''}}
|}


====Random====
Random may contain one or more children in an Animation -> Probability pair following this structure:
{| class="wikitable"
{| class="wikitable"
! Data Type
! Type
! Element Count
! Name
! Description
! Notes
! Notes
|-
|-
| u32
| u32
| 1
| {{unknown}}
| Animation Count
|  
| The number of child animations
|-
| [[#AnimProbabilityPair|AnimProbabilityPair]]
| animation_count
| The animations to select from
| The exact manner these are used is currently unknown
|}
 
=====AnimProbabilityPair=====
{| class="wikitable"
! Data Type
! Description
! Notes
|-
| [[#MetaAnimation|MetaAnimation]]
| The animation use if the probability factor is met
|
|-
|-
| u32
| u32
| Probability
| '''Animation ID A'''
| How probability is used is not currently known
| The animation being transitioned from.
|}
 
====Sequence====
Sequence is a fairly easy to understand type, it simply plays a list of animations in succession as each animation finishes
{| class="wikitable"
! Data Type
! Element Count
! Description
|-
|-
| u32
| u32
| 1
| '''Animation ID B'''
| Animation Count
| The animation being transitioned to.
|-
|-
| [[#MetaAnimation|MetaAnimation]]
| [[Meta-Transition]]
| animation_count
| '''Transition'''
| The animations to play in a sequence
| Meta-transition data.
|}
|}


===Transition===
==== Additive Animation ====
{| class="wikitable"
! Data Type
! Description
! Notes
|-
| u32
| colspan=2 {{unknown|'''Unknown'''}}
|-
| u32
| Animation Index A
| The animation to transition from
|-
| u32
| Animation Index B
| The animation to transition to
|-
| [[#MetaTransition|MetaTransition]]
| Transition configuration
| Describes how the transition is performed
|}


===MetaTransition===
Meta Transitions can be one of four types, and may contain animations.
{| class="wikitable"
! Data Type
! Description
|-
| [[#ETransitionType|EMetaTransitionType]]
| The type of transition
|-
| [[#TransAnimation|TransAnimation]], [[#TransTransition|TransTransition]], [[#TransTransition|TransPhaseTransition]], TransNoTransition
| The transition configuration
|}
====EMetaTransitionType====
{| class="wikitable"
{| class="wikitable"
! Type
! Name
! Name
! Value
! Notes
|-
| TransAnimation
| 0
|-
| TransTransition
| 1
|-
| TransPhaseTransition
| 2
|-
| TransNoTransition
| 3
|}
 
====TransAnimation====
{| class="wikitable"
! Data Type
! Description
|-
| [[#MetaAnimation|MetaAnimation]]
| The animation to use while transitioning
|}
 
====TransTransition====
{| class="wikitable"
! Data Type
! Description
|-
| float
| Time
|-
|-
| u32
| u32
| {{unknown|'''Unknown'''}}
| '''Animation ID'''
|-
|  
| bool
| {{unknown|'''Unknown'''}}
|-
| bool
| {{unknown|'''Unknown'''}}
|-
| u32
| {{unknown|'''Unknown'''}}
|}
 
===AdditiveAnimationPair===
{| class="wikitable"
! Data Type
! Description
|-
| u32
| Animation Index
|-
| [[#AdditiveAnimaton|AdditiveAnimation]]
| Additive Animation fade-in, fade-out values
|}
 
===AdditiveAnimation===
Describes how animations are additively blended together.
 
{| class="wikitable"
! Data Type
! Description
|-
|-
| float
| float
| Fade In Duration
| '''Fade-In Time'''
| Fade-in duration.
|-
|-
| float
| float
| Fade Out Duration
| '''Fade-Out Time'''
| Fade-out duration.
|}
|}


===Half Transition===
==== Animation Resource Pair ====
A half transition is very similar to a regular transition, but has less configuration information, any other differences are currently unknown
{| class="wikitable"
! Data Type
! Description
|-
| u32
| Animation Index
|-
| [[#MetaTransition|MetaTransition]]
| Transition configuration.
|}


===AnimationResource===
{| class="wikitable"
{| class="wikitable"
! Data Type
! Type
! Description
! Name
|-
|-
| [[ANIM_(File_Format)|ANIM]]
| Asset ID ([[ANIM_(File_Format)|ANIM]])
| Animation Asset ID
| '''ANIM ID'''
|-
|-
| [[EVNT_(File_Format)|EVNT]]
| Asset ID ([[EVNT_(File_Format)|EVNT]])
| Event Asset ID
| '''EVNT ID'''
|}
|}


[[Category:File Formats]]
[[Category:File Formats]]
[[Category:Metroid Prime]]
[[Category:Metroid Prime]]
[[Category:Metroid Prime 2: Echoes]]
[[Category:Metroid Prime 2: Echoes]]
Anonymous user

Navigation menu