Animation Events (File Format): Difference between revisions
Jump to navigation
Jump to search
>Aruki |
imported>Darkszero |
||
(13 intermediate revisions by 3 users not shown) | |||
Line 19: | Line 19: | ||
| u32 | | u32 | ||
| 1 | | 1 | ||
| ''' | | '''Bool Event Count''' | ||
| | | | ||
|- | |- | ||
| [[# | | [[#Bool Event|Bool Event]] | ||
| '' | | ''Bool Event Count'' | ||
| ''' | | '''Bool Events''' | ||
| | | | ||
|- | |- | ||
| u32 | | u32 | ||
| 1 | | 1 | ||
| ''' | | '''Int32 Event Count''' | ||
| | | | ||
|- | |- | ||
| [[# | | [[#Int32 Event|Int32 Event]] | ||
| '' | | ''Int32 Event Count'' | ||
| ''' | | '''Int32 Events''' | ||
| | | | ||
|- | |- | ||
| u32 | | u32 | ||
| 1 | | 1 | ||
| ''' | | '''Particle Event Count''' | ||
| | | | ||
|- | |- | ||
| [[# | | [[#Particle Event|Particle Event]] | ||
| '' | | ''Particle Event Count'' | ||
| ''' | | '''Particle Events''' | ||
| | | | ||
|- | |- | ||
Line 57: | 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 114: | Line 148: | ||
| bool | | bool | ||
| 1 | | 1 | ||
| | | '''Unique''' | ||
| | | | ||
| {{check}} | | {{check}} | ||
Line 135: | Line 169: | ||
| u32 | | u32 | ||
| 1 | | 1 | ||
| | | '''Flags''' | ||
| | | | ||
| {{check}} | | {{check}} | ||
Line 142: | Line 176: | ||
| u32 | | u32 | ||
| 1 | | 1 | ||
| {{unknown} | | {{unknown}} | ||
| | | | ||
| {{nocheck}} | | {{nocheck}} | ||
Line 149: | Line 183: | ||
| u32 | | u32 | ||
| 1 | | 1 | ||
| {{unknown} | | {{unknown}} | ||
| | | | ||
| {{nocheck}} | | {{nocheck}} | ||
Line 156: | Line 190: | ||
| u32 | | u32 | ||
| 1 | | 1 | ||
| {{unknown} | | {{unknown}} | ||
| | | | ||
| {{nocheck}} | | {{nocheck}} | ||
Line 163: | Line 197: | ||
| float | | float | ||
| 1 | | 1 | ||
| {{unknown} | | {{unknown}} | ||
| | | | ||
| {{nocheck}} | | {{nocheck}} | ||
Line 170: | Line 204: | ||
| float | | float | ||
| 1 | | 1 | ||
| {{unknown} | | {{unknown}} | ||
| | | | ||
| {{nocheck}} | | {{nocheck}} | ||
Line 176: | Line 210: | ||
|} | |} | ||
=== | === Bool Event === | ||
{| class="wikitable" | {| class="wikitable" | ||
Line 191: | Line 225: | ||
| bool | | bool | ||
| 1 | | 1 | ||
| | | '''Value''' | ||
| | | | ||
|} | |} | ||
=== | === Int32 Event === | ||
==== Metroid Prime 1/2 ==== | |||
{| class="wikitable" | {| class="wikitable" | ||
Line 208: | Line 244: | ||
| | | | ||
|- | |- | ||
| | | s32 | ||
| 1 | | 1 | ||
| ''' | | '''Value''' | ||
| | | Numeric value for the event | ||
|- | |- | ||
| string | | string | ||
Line 219: | Line 255: | ||
|} | |} | ||
=== | ==== Metroid Prime 3 ==== | ||
{| class="wikitable" | |||
! Type | |||
! Count | |||
! Name | |||
! Notes | |||
|- | |||
| [[#Event Base|Event Base]] | |||
| 1 | |||
| '''Event Base''' | |||
| | |||
|- | |||
| u8 | |||
| 1 | |||
| {{unknown}} | |||
| | |||
|- | |||
| u16 | |||
| 1 | |||
| {{unknown}} | |||
| | |||
|- | |||
| u16 | |||
| 1 | |||
| {{unknown}} | |||
| | |||
|} | |||
=== Particle Event === | |||
{| class="wikitable" | {| class="wikitable" | ||
Line 228: | Line 293: | ||
! MP1 | ! MP1 | ||
! MP2 | ! MP2 | ||
! MP3 | |||
|- | |- | ||
| [[#Event Base|Event Base]] | | [[#Event Base|Event Base]] | ||
Line 233: | Line 299: | ||
| '''Event Base''' | | '''Event Base''' | ||
| | | | ||
| {{check}} | |||
| {{check}} | | {{check}} | ||
| {{check}} | | {{check}} | ||
Line 242: | Line 309: | ||
| {{check}} | | {{check}} | ||
| {{check}} | | {{check}} | ||
| {{nocheck}} | |||
|- | |- | ||
| {{FourCC}} | | {{FourCC}} | ||
Line 247: | Line 315: | ||
| '''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 254: | Line 323: | ||
| '''Effect ID''' | | '''Effect ID''' | ||
| Asset ID of the effect resource | | Asset ID of the effect resource | ||
| {{check}} | |||
| {{check}} | | {{check}} | ||
| {{check}} | | {{check}} | ||
Line 262: | 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 270: | Line 341: | ||
| {{nocheck}} | | {{nocheck}} | ||
| {{check}} | | {{check}} | ||
| {{nocheck}} | |||
|- | |- | ||
| float | | float | ||
Line 277: | Line 349: | ||
| {{check}} | | {{check}} | ||
| {{check}} | | {{check}} | ||
| {{nocheck}} | |||
|- | |- | ||
| u32 | | u32 | ||
Line 288: | 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 357: | 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]] |
Latest revision as of 20:17, 9 June 2021
This file format is almost completely documented Some event parameters need research |
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 format instead of getting its own file. In Prime 3 and the Donkey Kong Country series, events can be found in the CHAR format, as well as Prime 3's SAND format.
Format
File Structure (Metroid Prime 1/2)
Type | Count | Name | Notes |
---|---|---|---|
u32 | 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 | Bool Event Count | |
Bool Event | Bool Event Count | Bool Events | |
u32 | 1 | Int32 Event Count | |
Int32 Event | Int32 Event Count | Int32 Events | |
u32 | 1 | Particle Event Count | |
Particle Event | Particle Event Count | Particle Events | |
u32 | 1 | Sound Event Count | Not present in version 1 |
Sound Event | Sound Event Count | Sound Events | Not present in version 1 |
Event Type
Table is accurate to Prime 1, unknown for other games.
ID | Type |
---|---|
0 | Loop |
1 | EmptyBool |
2 | EmptyInt32 |
4 | SoundInt32 |
5 | Particle |
6 | UserEvent |
7 | RandRate |
8 | Sound |
Event Base
These parameters are common to every event type.
Type | Count | Name | Notes | MP1/2 | MP3 |
---|---|---|---|---|---|
u16 | 1 | Unknown | ✔ | ✔ | |
string | 1 | Event Name | ✔ | ✔ | |
u16 | 1 | Event Type | Enumerated event type (unknown values) | ✔ | ✔ |
Char Anim Time | 1 | Event Timestamp | Time (in seconds) from start of ANIM to trigger event | ✔ | ✔ |
u32 | 1 | Event Index | Index of event unique from other events (perhaps used to maintain a triggered bitmap) | ✔ | ✔ |
u32 | 1 | Unknown | ✖ | ✔ | |
bool | 1 | Unique | ✔ | ✔ | |
float | 1 | Weight | The likelihood of this event being selected | ✔ | ✔ |
s32 | 1 | Character Index | Character index that this event should trigger for. If -1, this event triggers for all characters. | ✔ | ✔ |
u32 | 1 | Flags | ✔ | ✔ | |
u32 | 1 | Unknown | ✖ | ✔ | |
u32 | 1 | Unknown | ✖ | ✔ | |
u32 | 1 | Unknown | ✖ | ✔ | |
float | 1 | Unknown | ✖ | ✔ | |
float | 1 | Unknown | ✖ | ✔ |
Bool Event
Type | Count | Name | Notes |
---|---|---|---|
Event Base | 1 | Event Base | |
bool | 1 | Value |
Int32 Event
Metroid Prime 1/2
Type | Count | Name | Notes |
---|---|---|---|
Event Base | 1 | Event Base | |
s32 | 1 | Value | Numeric value for the event |
string | 1 | Bone Name | Name of the CINF bone to attach this event to (for applicable events) |
Metroid Prime 3
Type | Count | Name | Notes |
---|---|---|---|
Event Base | 1 | Event Base | |
u8 | 1 | Unknown | |
u16 | 1 | Unknown | |
u16 | 1 | Unknown |
Particle Event
Type | Count | Name | Notes | MP1 | MP2 | MP3 |
---|---|---|---|---|---|---|
Event Base | 1 | Event Base | ✔ | ✔ | ✔ | |
u32 | 1 | Frame Count | Number of frames to run the effect emitter for | ✔ | ✔ | ✖ |
FourCC | 1 | Effect Type | FourCC of effect's type; either PART, SWHC, or ELSC | ✔ | ✔ | ✔ |
Asset ID | 1 | Effect ID | Asset ID of the effect resource | ✔ | ✔ | ✔ |
string | 1 | Bone Name | Name of the CINF bone to attach this effect to | ✔ | ✖ | ✖ |
u32 | 1 | Bone ID | ID of the CINF bone to attach this effect to | ✖ | ✔ | ✖ |
float | 1 | Effect Scale | Uniform scale of the particle effect | ✔ | ✔ | ✖ |
u32 | 1 | Transform Type | Enumerated transform-mode relating effect to actor's bone:
|
✔ | ✔ | ✖ |
float | 1 | Unknown | Probably effect scale? | ✖ | ✖ | ✔ |
u32 | 1 | Unknown | Probably bone ID? | ✖ | ✖ | ✔ |
Sound Event
Metroid Prime 1/2
Type | Count | Name | Notes | MP1 | MP2 |
---|---|---|---|---|---|
Event Base | 1 | Event Base | ✔ | ✔ | |
u32 | 1 | Sound ID | Lower 16 bits are an AGSC sound ID indirected via the ATBL; most significant bit is a looped flag | ✔ | ✔ |
float | 1 | Reference Amplitude | Reference amplitude for audio attenuation | ✔ | ✔ |
float | 1 | Reference Distance | Reference distance for audio attenuation | ✔ | ✔ |
u32 | 1 | Unknown | ✖ | ✔ | |
u16 | 1 | Unknown | ✖ | ✔ | |
u16 | 1 | Unknown | ✖ | ✔ | |
float | 1 | Unknown | ✖ | ✔ |
Metroid Prime 3
Type | Count | Name | Notes |
---|---|---|---|
Event Base | 1 | Event Base | |
Asset ID (CAUD) | 1 | Sound Effect | Sound to be played. |
u32 | 1 | Unknown | |
u32 | 1 | Unknown | |
Unknown Typed Structure | 1 | Unknown | |
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