Animation Events (File Format): Difference between revisions

Jump to navigation Jump to search
imported>Antidote
imported>Darkszero
 
(18 intermediate revisions by 3 users not shown)
Line 1: Line 1:
{{research|1|Some event parameters need research}}
{{research|1|Some event parameters need research}}
The '''EVNT format''' is a companion to [[ANIM (File Format)|ANIM]] resources. It controls functional events synchronized to rigged animations for things like sound effects, visual effects, character messages, and playback control. In Echoes, this format was merged in to the end of the [[ANCS (File Format)|ANCS]] format, but the structure of the file is mostly the same (with a couple changes).
'''Animation events''' control functional events synchronized to rigged animations for things like sound effects, visual effects, character messages, and playback control. The events can be found in different places in each game; in Prime 1, they are stored in their own file format, the '''EVNT format'''. In Echoes, the format is the same as Prime 1, but was merged in to the [[ANCS (File Format)|ANCS format]] instead of getting its own file. In Prime 3 and the Donkey Kong Country series, events can be found in the [[CHAR (File Format)|CHAR format]], as well as Prime 3's [[SAND (File Format)|SAND format]].


== Format ==
== Format ==
=== File Structure (Metroid Prime 1/2) ===


{| class="wikitable"
{| class="wikitable"
Line 17: Line 19:
| u32
| u32
| 1
| 1
| '''Loop Event Count'''
| '''Bool Event Count'''
|  
|  
|-
|-
| [[#Loop Event|Loop Event]]
| [[#Bool Event|Bool Event]]
| ''Loop Event Count''
| ''Bool Event Count''
| '''Loop Events'''
| '''Bool Events'''
|  
|  
|-
|-
| u32
| u32
| 1
| 1
| '''User Event Count'''
| '''Int32 Event Count'''
|  
|  
|-
|-
| [[#User Event|User Event]]
| [[#Int32 Event|Int32 Event]]
| ''User Event Count''
| ''Int32 Event Count''
| '''User Events'''
| '''Int32 Events'''
|  
|  
|-
|-
| u32
| u32
| 1
| 1
| '''Effect Event Count'''
| '''Particle Event Count'''
|  
|  
|-
|-
| [[#Effect Event|Effect Event]]
| [[#Particle Event|Particle Event]]
| ''Effect Event Count''
| ''Particle Event Count''
| '''Effect Events'''
| '''Particle Events'''
|  
|  
|-
|-
Line 55: Line 57:
| Not present in version 1
| Not present in version 1
|}
|}
=== Event Type ===
Table is accurate to Prime 1, unknown for other games.
{| class="wikitable"
! ID
! Type
|-
| 0
| Loop
|-
| 1
| EmptyBool
|-
| 2
| EmptyInt32
|-
| 4
| SoundInt32
|-
| 5
| Particle
|-
| 6
| UserEvent
|-
| 7
| RandRate
|-
| 8
| Sound
|}


=== Event Base ===
=== Event Base ===
Line 65: Line 101:
! Name
! Name
! Notes
! Notes
! MP1/2
! MP3
|-
|-
| u16
| u16
Line 70: Line 108:
| {{unknown|Unknown}}
| {{unknown|Unknown}}
|  
|  
| {{check}}
| {{check}}
|-
|-
| string
| string
Line 75: Line 115:
| '''Event Name'''
| '''Event Name'''
|  
|  
| {{check}}
| {{check}}
|-
|-
| u16
| u16
Line 80: Line 122:
| '''Event Type'''
| '''Event Type'''
| Enumerated event type (unknown values)
| Enumerated event type (unknown values)
| {{check}}
| {{check}}
|-
|-
| [[#CCharAnimTime|CCharAnimTime]]
| [[Char Anim Time]]
| 1
| 1
| '''Event Timestamp'''
| '''Event Timestamp'''
| Time (in seconds) from start of [[ANIM (File Format)|ANIM]] to trigger event
| Time (in seconds) from start of [[ANIM (File Format)|ANIM]] to trigger event
| {{check}}
| {{check}}
|-
|-
| u32
| u32
Line 90: Line 136:
| '''Event Index'''
| '''Event Index'''
| Index of event unique from other events (perhaps used to maintain a ''triggered'' bitmap)
| Index of event unique from other events (perhaps used to maintain a ''triggered'' bitmap)
| {{check}}
| {{check}}
|-
| u32
| 1
| {{unknown}}
|
| {{nocheck}}
| {{check}}
|-
|-
| bool
| bool
| 1
| 1
| {{unknown|Unknown}}
| '''Unique'''
|  
|  
| {{check}}
| {{check}}
|-
|-
| float
| float
Line 100: Line 157:
| '''Weight'''
| '''Weight'''
| The likelihood of this event being selected
| The likelihood of this event being selected
| {{check}}
| {{check}}
|-
|-
| s32
| s32
Line 105: Line 164:
| '''Character Index'''
| '''Character Index'''
| Character index that this event should trigger for. If -1, this event triggers for all characters.
| Character index that this event should trigger for. If -1, this event triggers for all characters.
| {{check}}
| {{check}}
|-
| u32
| 1
| '''Flags'''
|
| {{check}}
| {{check}}
|-
| u32
| 1
| {{unknown}}
|
| {{nocheck}}
| {{check}}
|-
|-
| u32
| u32
| 1
| 1
| {{unknown|Unknown}}
| {{unknown}}
|  
| {{nocheck}}
| {{check}}
|-
| u32
| 1
| {{unknown}}
|
| {{nocheck}}
| {{check}}
|-
| float
| 1
| {{unknown}}
|
| {{nocheck}}
| {{check}}
|-
| float
| 1
| {{unknown}}
|  
|  
| {{nocheck}}
| {{check}}
|}
|}


=== Bool Event ===


====CCharAnimTime====
{| class="wikitable"
{| class="wikitable"
! Type
! Type
Line 120: Line 218:
! Notes
! Notes
|-
|-
| float
| [[#Event Base|Event Base]]
| 1
| 1
| '''Event Timestamp'''
| '''Event Base'''
| Time (in seconds) from start of [[ANIM (File Format)|ANIM]] to trigger event
|  
|-
|-
| [[#TimeType|TimeType]]
| bool
| 1
| 1
| Value Type
| '''Value'''
| Describes the current status of the time value
|  
|}
|}


=====TimeType=====
=== Int32 Event ===
TimeType describes the current status of the animation time, e.g: Non-zero, Increasing from zero, Staying at zero, Decreasing to zero, or Infinity,
 
{| class="wikitable"
! Name
! Value
|-
| NonZero
| 0
|-
| ZeroIncreasing
| 1
|-
| ZeroSteady
| 2
|-
| ZeroDecreasing
| 3
|-
| Infinity
| 4
|}


=== Loop Event ===
==== Metroid Prime 1/2 ====


{| class="wikitable"
{| class="wikitable"
Line 167: Line 244:
|  
|  
|-
|-
| bool
| s32
| 1
| '''Value'''
| Numeric value for the event
|-
| string
| 1
| 1
| {{unknown|Unknown}}
| '''Bone Name'''
|  
| Name of the [[CINF (File Format)|CINF]] bone to attach this event to (for applicable events)
|}
|}


=== User Event ===
==== Metroid Prime 3 ====


{| class="wikitable"
{| class="wikitable"
Line 186: Line 268:
|  
|  
|-
|-
| u32
| u8
| 1
| {{unknown}}
|
|-
| u16
| 1
| 1
| '''User Event Type'''
| {{unknown}}
| Enumerated user event type (unknown values)
|  
|-
|-
| string
| u16
| 1
| 1
| '''Bone Name'''
| {{unknown}}
| Name of the [[CINF (File Format)|CINF]] bone to attach this event to (for applicable events)
|  
|}
|}


=== Effect Event ===
=== Particle Event ===


{| class="wikitable"
{| class="wikitable"
Line 206: Line 293:
! MP1
! MP1
! MP2
! MP2
! MP3
|-
|-
| [[#Event Base|Event Base]]
| [[#Event Base|Event Base]]
Line 211: Line 299:
| '''Event Base'''
| '''Event Base'''
|  
|  
| {{check}}
| {{check}}
| {{check}}
| {{check}}
| {{check}}
Line 220: Line 309:
| {{check}}
| {{check}}
| {{check}}
| {{check}}
| {{nocheck}}
|-
|-
| char
| {{FourCC}}
| 4
| 1
| '''Effect Type'''
| '''Effect Type'''
| FourCC of effect's type; either [[PART (File Format)|PART]], [[SWHC (File Format)|SWHC]], or [[ELSC (File Format)|ELSC]]
| FourCC of effect's type; either [[PART (File Format)|PART]], [[SWHC (File Format)|SWHC]], or [[ELSC (File Format)|ELSC]]
| {{check}}
| {{check}}
| {{check}}
| {{check}}
| {{check}}
Line 232: Line 323:
| '''Effect ID'''
| '''Effect ID'''
| Asset ID of the effect resource
| Asset ID of the effect resource
| {{check}}
| {{check}}
| {{check}}
| {{check}}
| {{check}}
Line 240: Line 332:
| Name of the [[CINF (File Format)|CINF]] bone to attach this effect to
| Name of the [[CINF (File Format)|CINF]] bone to attach this effect to
| {{check}}
| {{check}}
| {{nocheck}}
| {{nocheck}}
| {{nocheck}}
|-
|-
Line 248: Line 341:
| {{nocheck}}
| {{nocheck}}
| {{check}}
| {{check}}
| {{nocheck}}
|-
|-
| float
| float
Line 255: Line 349:
| {{check}}
| {{check}}
| {{check}}
| {{check}}
| {{nocheck}}
|-
|-
| u32
| u32
Line 266: Line 361:
</ol>
</ol>
| {{check}}
| {{check}}
| {{check}}
| {{nocheck}}
|-
| float
| 1
| {{unknown}}
| Probably effect scale?
| {{nocheck}}
| {{nocheck}}
| {{check}}
|-
| u32
| 1
| {{unknown}}
| Probably bone ID?
| {{nocheck}}
| {{nocheck}}
| {{check}}
| {{check}}
|}
|}


=== Sound Event ===
=== Sound Event ===
==== Metroid Prime 1/2 ====


{| class="wikitable"
{| class="wikitable"
Line 335: Line 449:
| {{check}}
| {{check}}
|}
|}
==== Metroid Prime 3 ====
{| class="wikitable"
! Type
! Count
! Name
! Notes
|-
| [[#Event Base|Event Base]]
| 1
| '''Event Base'''
|
|-
| Asset ID ([[CAUD (File Format)|CAUD]])
| 1
| '''Sound Effect'''
| Sound to be played.
|-
| u32
| 1
| {{unknown}}
|
|-
| u32
| 1
| {{unknown}}
|
|-
| [[#Unknown Typed Structure|Unknown Typed Structure]]
| 1
| {{unknown}}
|
|-
| [[#Unknown Typed Structure|Unknown Typed Structure]]
| 1
| {{unknown}}
|
|}
===== Unknown Typed Structure =====
Contains a 32-bit type value, followed by either:
* Type 0: Nothing
* Type 1: A float
* Type 2: A [[Maya Spline]]


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