Animation Events (File Format): Difference between revisions
Jump to navigation
Jump to search
imported>Jackoalan No edit summary |
imported>Jackoalan No edit summary |
||
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 23: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 |