Animation Events (File Format): Difference between revisions
Jump to navigation
Jump to search
no edit summary
imported>Antidote No edit summary |
>Aruki No edit summary |
||
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. | 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). | ||
== Format == | |||
{| class="wikitable" | {| class="wikitable" | ||
! | ! Type | ||
! | ! Count | ||
! | ! Name | ||
!Notes | ! Notes | ||
|- | |- | ||
| | | u32 | ||
|1 | | 1 | ||
| | | '''Version''' | ||
| | | Either 1 or 2. Both can appear in Prime 1, while Echoes uses version 2 (the version number wasn't updated in Echoes despite format changes). | ||
|- | |- | ||
| | | u32 | ||
|1 | | 1 | ||
| | | '''Loop Event Count''' | ||
| | | | ||
|- | |- | ||
|[[#Loop Event|Loop Event]] | | [[#Loop Event|Loop Event]] | ||
| | | ''Loop Event Count'' | ||
| | | '''Loop Events''' | ||
| | | | ||
|- | |- | ||
| | | u32 | ||
|1 | | 1 | ||
| | | '''UEVT Event Count''' | ||
| | | | ||
|- | |- | ||
|[[#UEVT Event|UEVT Event]] | | [[#UEVT Event|UEVT Event]] | ||
| | | ''UEVT Event Count'' | ||
| | | '''UEVT Events''' | ||
| | | | ||
|- | |- | ||
| | | u32 | ||
|1 | | 1 | ||
| | | '''Effect Event Count''' | ||
| | | | ||
|- | |- | ||
|[[#Effect Event|Effect Event]] | | [[#Effect Event|Effect Event]] | ||
| | | ''Effect Event Count'' | ||
| | | '''Effect Events''' | ||
| | | | ||
|- | |- | ||
| | | u32 | ||
|1 | | 1 | ||
| | | '''Sound Event Count''' | ||
| | | Not present in version 1 | ||
|- | |- | ||
|[[#Sound Event|Sound Event]] | | [[#Sound Event|Sound Event]] | ||
| | | ''Sound Event Count'' | ||
| | | '''Sound Events''' | ||
| | | Not present in version 1 | ||
|} | |} | ||
=== Event Base === | === Event Base === | ||
These parameters are common to every event type. | |||
{| class="wikitable" | {| class="wikitable" | ||
! | ! Type | ||
! Count | |||
! | ! Name | ||
! | ! Notes | ||
!Notes | |||
|- | |- | ||
| | | u16 | ||
| | | 1 | ||
| | | {{unknown|Unknown}} | ||
| | | | ||
| | |||
|- | |- | ||
| | | string | ||
| 1 | |||
| | | '''Event Name''' | ||
| | | | ||
| | |||
|- | |- | ||
| | | u16 | ||
| | | 1 | ||
| | | '''Event Type''' | ||
| Enumerated event type (unknown values) | |||
|Enumerated event type (unknown values) | |||
|- | |- | ||
| | | float | ||
| 1 | |||
| | | '''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 | |||
|- | |- | ||
| | | u32 | ||
| | | 1 | ||
| | | {{unknown|Unknown}} | ||
| | | | ||
| | |||
|- | |- | ||
| | | u32 | ||
| | | 1 | ||
| | | '''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) | |||
|- | |- | ||
| | | bool | ||
|1 | | 1 | ||
| | | {{unknown|Unknown}} | ||
| | | | ||
| | |||
|- | |- | ||
| | | float | ||
| | | 1 | ||
| | | {{unknown|Unknown}} | ||
| | | | ||
| | |||
|- | |- | ||
| float | |||
| 1 | |||
|float | | {{unknown|Unknown}} | ||
| | | | ||
| | |||
| | |||
| | |||
|- | |- | ||
| u32 | |||
| 1 | |||
| {{unknown|Unknown}} | |||
| | |||
|} | |} | ||
=== Loop Event === | === Loop Event === | ||
{| class="wikitable" | {| class="wikitable" | ||
! | ! Type | ||
! Count | |||
! | ! Name | ||
! | ! Notes | ||
!Notes | |||
|- | |- | ||
| [[#Event Base|Event Base]] | |||
| 1 | |||
|[[#Event Base|Event Base]] | | '''Event Base''' | ||
| | | | ||
| | |||
|- | |- | ||
| | | bool | ||
|1 | | 1 | ||
| | | {{unknown|Unknown}} | ||
| | | | ||
| | |||
|} | |} | ||
Line 156: | Line 139: | ||
{| class="wikitable" | {| class="wikitable" | ||
! | ! Type | ||
! Count | |||
! | ! Name | ||
! | ! Notes | ||
!Notes | |||
|- | |- | ||
| [[#Event Base|Event Base]] | |||
| 1 | |||
|[[#Event Base|Event Base]] | | '''Event Base''' | ||
| | | | ||
| | |||
|- | |- | ||
| | | u32 | ||
| | | 1 | ||
| | | '''UEVT Type''' | ||
| Enumerated UEVT type (unknown values) | |||
|Enumerated UEVT type (unknown values) | |||
|- | |- | ||
| | | string | ||
| | | 1 | ||
| | | '''Bone Name''' | ||
| Name of the [[CINF (File Format)|CINF]] bone to attach this event to (for applicable events) | |||
|[[CINF (File Format)|CINF]] | |||
|} | |} | ||
Line 184: | Line 163: | ||
{| class="wikitable" | {| class="wikitable" | ||
! | ! Type | ||
! | ! Count | ||
! | ! Name | ||
! | ! Notes | ||
! | ! MP1 | ||
! MP2 | |||
|- | |- | ||
| [[#Event Base|Event Base]] | |||
| 1 | |||
|[[#Event Base|Event Base]] | | '''Event Base''' | ||
| | | | ||
| | | {{check}} | ||
| {{check}} | |||
|- | |- | ||
| | | u32 | ||
| | | 1 | ||
| | | '''Frame Count''' | ||
| Number of frames to run the effect emitter for | |||
|Number of frames to run effect | | {{check}} | ||
| {{check}} | |||
|- | |- | ||
| | | char | ||
|4 | | 4 | ||
| | | '''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 | | {{check}} | ||
| {{check}} | |||
|- | |- | ||
| | | Asset ID | ||
| | | 1 | ||
| | | '''Effect ID''' | ||
| Asset ID of the effect resource | |||
|ID of | | {{check}} | ||
| {{check}} | |||
|- | |- | ||
| | | string | ||
| | | 1 | ||
| | | '''Bone Name''' | ||
| Name of the [[CINF (File Format)|CINF]] bone to attach this effect to | |||
|[[CINF (File Format)|CINF]] | | {{check}} | ||
| {{nocheck}} | |||
|- | |- | ||
| | | u32 | ||
| | | 1 | ||
| | | '''Bone ID''' | ||
| | | ID of the [[CINF (File Format)|CINF]] bone to attach this effect to | ||
| | | {{nocheck}} | ||
| {{check}} | |||
|- | |- | ||
| | | float | ||
| | | 1 | ||
| | | '''Effect Scale''' | ||
| | | Uniform scale of the particle effect | ||
|Enumerated transform-mode relating effect to actor's bone: | | {{check}} | ||
| {{check}} | |||
|- | |||
| u32 | |||
| 1 | |||
| '''Transform Type''' | |||
| Enumerated transform-mode relating effect to actor's bone: | |||
<ol start="0"> | <ol start="0"> | ||
<li> | <li>Emitter transformed to bone for initial frame, then retained</li> | ||
<li> | <li>Emitter continuously transformed to bone</li> | ||
<li>Entire effect (particle instances | <li>Entire effect (including particle instances) continuously transformed to bone</li> | ||
</ol> | </ol> | ||
| {{check}} | |||
| {{check}} | |||
|} | |} | ||
Line 241: | Line 235: | ||
{| class="wikitable" | {| class="wikitable" | ||
! | ! Type | ||
! | ! Count | ||
! | ! Name | ||
! | ! Notes | ||
! | ! MP1 | ||
! MP2 | |||
|- | |||
| [[#Event Base|Event Base]] | |||
| 1 | |||
| '''Event Base''' | |||
| | |||
| {{check}} | |||
| {{check}} | |||
|- | |||
| u32 | |||
| 1 | |||
| '''Sound ID''' | |||
| Lower 16 bits are an [[AGSC (File Format)|AGSC]] sound ID indirected via the [[ATBL (File Format)|ATBL]]; most significant bit is a ''looped'' flag | |||
| {{check}} | |||
| {{check}} | |||
|- | |||
| float | |||
| 1 | |||
| '''Reference Amplitude''' | |||
| Reference amplitude for audio attenuation | |||
| {{check}} | |||
| {{check}} | |||
|- | |||
| float | |||
| 1 | |||
| '''Reference Distance''' | |||
| Reference distance for audio attenuation | |||
| {{check}} | |||
| {{check}} | |||
|- | |- | ||
| | | u32 | ||
| | | 1 | ||
| | | {{unknown|Unknown}} | ||
| | | | ||
| | | {{nocheck}} | ||
| {{check}} | |||
|- | |- | ||
| | | u16 | ||
| | | 1 | ||
| | | {{unknown|Unknown}} | ||
| | | | ||
| | | {{nocheck}} | ||
| {{check}} | |||
|- | |- | ||
| | | u16 | ||
| | | 1 | ||
| | | {{unknown|Unknown}} | ||
| | | | ||
| | | {{nocheck}} | ||
| {{check}} | |||
|- | |- | ||
| | | float | ||
| | | 1 | ||
| | | {{unknown|Unknown}} | ||
| | | | ||
| | | {{nocheck}} | ||
| {{check}} | |||
|} | |} | ||
Line 275: | Line 302: | ||
[[Category:Metroid Prime]] | [[Category:Metroid Prime]] | ||
[[Category:Metroid Prime 2: Echoes]] | [[Category:Metroid Prime 2: Echoes]] | ||