Animation Events (File Format): Difference between revisions

From Retro Modding Wiki
Jump to navigation Jump to search
imported>Jackoalan
No edit summary
imported>Jackoalan
No edit summary
Line 70: Line 70:
|
|
|-
|-
|<start> + 0x2
|&#43;0x2
|<null-term>
|<null-term>
|string
|string
Line 76: Line 76:
|
|
|-
|-
|0x0
|&#43;&#43;0x0
|2
|2
|short
|short
Line 82: Line 82:
|Enumerated event type (unknown values)
|Enumerated event type (unknown values)
|-
|-
|0x2
|&#43;&#43;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
|&#43;&#43;0x6
|4
|4
|long
|long
Line 94: Line 94:
|
|
|-
|-
|0xA
|&#43;&#43;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
|&#43;&#43;0xE
|1
|1
|bool
|bool
Line 106: Line 106:
|Unknown Flag
|Unknown Flag
|-
|-
|0xF
|&#43;&#43;0xF
|4
|4
|float
|float
Line 112: Line 112:
|
|
|-
|-
|0x13
|&#43;&#43;0x13
|4
|4
|float
|float
Line 118: Line 118:
|
|
|-
|-
|0x17
|&#43;&#43;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
|
|-
|&#43;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
|
|-
|&#43;0x0
|4
|long
|uevt_type
|Enumerated UEVT type (unknown values)
|-
|&#43;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
|
|-
|&#43;0x0
|4
|long
|frame_count
|Number of frames to run effect for
|-
|&#43;0x4
|4
|long
|effect_type
|FourCC of effect's type ([[PART (File Format)|PART]], [[SWHC (File Format)|SWHC]], [[ELSC (File Format)|ELSC]])
|-
|&#43;0x8
|4
|long
|effect_ref
|ID of [[Effect Script|effect]] resource
|-
|&#43;0xC
|<null-term>
|string
|bone_name
|[[CINF (File Format)|CINF]] Bone Name (for transforming effects)
|-
|&#43;&#43;0x0
|4
|float
|effect_scale
|Proportional-scale to applied to effect in scene
|-
|&#43;&#43;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
|
|-
|&#43;0x0
|4
|long
|sound_id
|16-bit [[AGSC (File Format)|AGSC]] ''sound-id'' indirected via [[ATBL (File Format)|ATBL]]
|-
|&#43;0x4
|4
|float
|ref_amplitude
|Reference amplitude for audio attenuation
|-
|&#43;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:
  1. Effect-emitter transformed to bone for initial frame, then retained
  2. Effect-emitter continuously transformed to bone
  3. Entire effect (particle instances and all) continuously transformed to 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