1. Architectural Role & Engine Purpose
The IFF (Covert Strike Skeletal Animation Container) format drives high-fidelity motion-captured locomotion, multi-layered combat animations, prone crawling, ladder climbing, and death reactions in I.G.I. 2: Covert Strike.
In IGI 2, animations upgraded from Euler angle curves to unit quaternions with spherical linear
interpolation (slerp). This eliminated gimbal lock and allowed dynamic runtime blending between upper-body
weapon aiming and lower-body running animation tracks.
2. Binary File Layout & Memory Map Diagram
An IGI 2 IFF file organizes bone hierarchies, quaternion curves, and root motion vectors:
3. Multi-Track Animation Blending Pipeline Diagram
The skeletal engine blends separate animations for upper and lower body joints simultaneously:
4. C++ Struct Definitions
#pragma pack(push, 1)
struct IffAnimHeaderIgi2 {
char form[4]; // "FORM"
uint32_t file_size; // Big-Endian size
char anim_type[4]; // "ANM2"
char head[4]; // "HEAD"
uint32_t head_size; // Header chunk size
float duration; // Duration in seconds
uint32_t frame_count; // Keyframe count
uint16_t sample_rate; // 30 Hz
uint16_t bone_count; // Total bones in skeleton
};
struct IffQuatKeyframe {
float qx, qy, qz, qw; // Unit rotation quaternion
};
#pragma pack(pop)