Difference between revisions of "Animation Events (File Format)"
From Retro Modding Wiki
Line 70: | Line 70: | ||
| | | | ||
|- | |- | ||
− | | | + | |+0x2 |
|<null-term> | |<null-term> | ||
|string | |string | ||
Line 76: | Line 76: | ||
| | | | ||
|- | |- | ||
− | |0x0 | + | |++0x0 |
|2 | |2 | ||
|short | |short | ||
Line 82: | Line 82: | ||
|Enumerated event type (unknown values) | |Enumerated event type (unknown values) | ||
|- | |- | ||
− | |0x2 | + | |++0x2 |
|4 | |4 | ||
|float | |float | ||
Line 88: | Line 88: | ||
|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 | ||
|- | |- | ||
− | |0x6 | + | |++0x6 |
|4 | |4 | ||
|long | |long | ||
Line 94: | Line 94: | ||
| | | | ||
|- | |- | ||
− | |0xA | + | |++0xA |
|4 | |4 | ||
|long | |long | ||
Line 100: | Line 100: | ||
|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) | ||
|- | |- | ||
− | |0xE | + | |++0xE |
|1 | |1 | ||
|bool | |bool | ||
Line 106: | Line 106: | ||
|Unknown Flag | |Unknown Flag | ||
|- | |- | ||
− | |0xF | + | |++0xF |
|4 | |4 | ||
|float | |float | ||
Line 112: | Line 112: | ||
| | | | ||
|- | |- | ||
− | |0x13 | + | |++0x13 |
|4 | |4 | ||
|float | |float | ||
Line 118: | Line 118: | ||
| | | | ||
|- | |- | ||
− | |0x17 | + | |++0x17 |
|4 | |4 | ||
|long | |long | ||
Line 132: | Line 132: | ||
=== Loop Event === | === Loop Event === | ||
+ | |||
+ | {| class="wikitable" | ||
+ | !Offset | ||
+ | !Length | ||
+ | !Data Type | ||
+ | !Identifier | ||
+ | !Notes | ||
+ | |- | ||
+ | |<start> | ||
+ | |<varies> | ||
+ | |[[#Event Base|Event Base]] | ||
+ | |event_base | ||
+ | | | ||
+ | |- | ||
+ | |+0x0 | ||
+ | |1 | ||
+ | |bool | ||
+ | |unknown_flag | ||
+ | | | ||
+ | |} | ||
=== UEVT Event === | === UEVT Event === | ||
+ | |||
+ | {| class="wikitable" | ||
+ | !Offset | ||
+ | !Length | ||
+ | !Data Type | ||
+ | !Identifier | ||
+ | !Notes | ||
+ | |- | ||
+ | |<start> | ||
+ | |<varies> | ||
+ | |[[#Event Base|Event Base]] | ||
+ | |event_base | ||
+ | | | ||
+ | |- | ||
+ | |+0x0 | ||
+ | |4 | ||
+ | |long | ||
+ | |uevt_type | ||
+ | |Enumerated UEVT type (unknown values) | ||
+ | |- | ||
+ | |+0x4 | ||
+ | |<null-term> | ||
+ | |string | ||
+ | |bone_name | ||
+ | |[[CINF (File Format)|CINF]] Bone Name (for applicable events) | ||
+ | |} | ||
=== Effect Event === | === Effect Event === | ||
+ | |||
+ | {| class="wikitable" | ||
+ | !Offset | ||
+ | !Length | ||
+ | !Data Type | ||
+ | !Identifier | ||
+ | !Notes | ||
+ | |- | ||
+ | |<start> | ||
+ | |<varies> | ||
+ | |[[#Event Base|Event Base]] | ||
+ | |event_base | ||
+ | | | ||
+ | |- | ||
+ | |+0x0 | ||
+ | |4 | ||
+ | |long | ||
+ | |frame_count | ||
+ | |Number of frames to run effect for | ||
+ | |- | ||
+ | |+0x4 | ||
+ | |4 | ||
+ | |long | ||
+ | |effect_type | ||
+ | |FourCC of effect's type ([[PART (File Format)|PART]], [[SWHC (File Format)|SWHC]], [[ELSC (File Format)|ELSC]]) | ||
+ | |- | ||
+ | |+0x8 | ||
+ | |4 | ||
+ | |long | ||
+ | |effect_ref | ||
+ | |ID of [[Effect Script|effect]] resource | ||
+ | |- | ||
+ | |+0xC | ||
+ | |<null-term> | ||
+ | |string | ||
+ | |bone_name | ||
+ | |[[CINF (File Format)|CINF]] Bone Name (for transforming effects) | ||
+ | |- | ||
+ | |++0x0 | ||
+ | |4 | ||
+ | |float | ||
+ | |effect_scale | ||
+ | |Proportional-scale to applied to effect in scene | ||
+ | |- | ||
+ | |++0x4 | ||
+ | |4 | ||
+ | |long | ||
+ | |transform_type | ||
+ | |Enumerated transform-mode relating effect to actor's bone: | ||
+ | <ol start="0"> | ||
+ | <li>Effect-emitter transformed to bone for initial frame, then retained</li> | ||
+ | <li>Effect-emitter continuously transformed to bone</li> | ||
+ | <li>Entire effect (particle instances and all) continuously transformed to bone</li> | ||
+ | </ol> | ||
+ | |} | ||
=== Sound Event === | === Sound Event === | ||
+ | |||
+ | {| class="wikitable" | ||
+ | !Offset | ||
+ | !Length | ||
+ | !Data Type | ||
+ | !Identifier | ||
+ | !Notes | ||
+ | |- | ||
+ | |<start> | ||
+ | |<varies> | ||
+ | |[[#Event Base|Event Base]] | ||
+ | |event_base | ||
+ | | | ||
+ | |- | ||
+ | |+0x0 | ||
+ | |4 | ||
+ | |long | ||
+ | |sound_id | ||
+ | |16-bit [[AGSC (File Format)|AGSC]] ''sound-id'' indirected via [[ATBL (File Format)|ATBL]] | ||
+ | |- | ||
+ | |+0x4 | ||
+ | |4 | ||
+ | |float | ||
+ | |ref_amplitude | ||
+ | |Reference amplitude for audio attenuation | ||
+ | |- | ||
+ | |+0x8 | ||
+ | |4 | ||
+ | |float | ||
+ | |ref_distance | ||
+ | |Reference distance for audio attenuation | ||
+ | |} | ||
[[Category:File Formats]] | [[Category:File Formats]] |
Revision as of 17:41, 24 February 2015
This file format is almost completely documented Some event parameters need research |
The EVNT format is a companion to ANIM resources. Animators are able to synchronize functional events to rigged animations for things like sound effects, visual effects, character messages, and playback control.
Data Type | Element Count | Identifier | Notes |
---|---|---|---|
long | 1 | version | 0x1 or 0x2 |
long | 1 | loop_event_count | |
Loop Event | loop_event_count | loop_events | |
long | 1 | uevt_event_count | Version 0x2 only |
UEVT Event | uevt_event_count | uevt_events | Version 0x2 only |
long | 1 | effect_event_count | |
Effect Event | effect_event_count | effect_events | |
long | 1 | sound_event_count | |
Sound Event | sound_event_count | sound_events |
Event Base
Offset | Length | Data Type | Identifier | Notes |
---|---|---|---|---|
<start> | 2 | short | unknown0 | |
+0x2 | <null-term> | string | event_name | |
++0x0 | 2 | short | event_type | Enumerated event type (unknown values) |
++0x2 | 4 | float | event_timestamp | Time (in seconds) from start of ANIM to trigger event |
++0x6 | 4 | long | unknown1 | |
++0xA | 4 | long | event_index | Index of event unique from other events (perhaps used to maintain a triggered bitmap) |
++0xE | 1 | bool | unknown2 | Unknown Flag |
++0xF | 4 | float | unknown3 | |
++0x13 | 4 | float | unknown4 | |
++0x17 | 4 | long | unknown5 |
RWK Note: The props string is formatted as:
Type:<event_type> <unknown1> <unknown2> <unknown3> <unknown4> <unknown5>
Loop Event
Offset | Length | Data Type | Identifier | Notes |
---|---|---|---|---|
<start> | <varies> | Event Base | event_base | |
+0x0 | 1 | bool | unknown_flag |
UEVT Event
Offset | Length | Data Type | Identifier | Notes |
---|---|---|---|---|
<start> | <varies> | Event Base | event_base | |
+0x0 | 4 | long | uevt_type | Enumerated UEVT type (unknown values) |
+0x4 | <null-term> | string | bone_name | CINF Bone Name (for applicable events) |
Effect Event
Offset | Length | Data Type | Identifier | Notes |
---|---|---|---|---|
<start> | <varies> | Event Base | event_base | |
+0x0 | 4 | long | frame_count | Number of frames to run effect for |
+0x4 | 4 | long | effect_type | FourCC of effect's type (PART, SWHC, ELSC) |
+0x8 | 4 | long | effect_ref | ID of effect resource |
+0xC | <null-term> | string | bone_name | CINF Bone Name (for transforming effects) |
++0x0 | 4 | float | effect_scale | Proportional-scale to applied to effect in scene |
++0x4 | 4 | long | transform_type | Enumerated transform-mode relating effect to actor's bone:
|
Sound Event
Offset | Length | Data Type | Identifier | Notes |
---|---|---|---|---|
<start> | <varies> | Event Base | event_base | |
+0x0 | 4 | long | sound_id | 16-bit AGSC sound-id indirected via ATBL |
+0x4 | 4 | float | ref_amplitude | Reference amplitude for audio attenuation |
+0x8 | 4 | float | ref_distance | Reference distance for audio attenuation |