Animation Events (File Format)

From Retro Modding Wiki
Revision as of 23:41, 24 February 2015 by imported>Jackoalan
Jump to navigation Jump to search
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