model_animations

This page is incomplete! You can contribute information using GitHub issues or pull requests.

...

Structure and fields

Field Type Comments
objects Block
  • HEK max count: 4
Field Type Comments
animation uint16
function enum
Option Value Comments
a out 0x0
b out 0x1
c out 0x2
d out 0x3
function controls enum
Option Value Comments
frame 0x0
scale 0x1
units Block
  • HEK max count: 33
Field Type Comments
label TagString
Field Type Comments
buffer char[32]

Null-terminated string in 32-char buffer.

right yaw per frame float
left yaw per frame float
right frame count uint16
left frame count uint16
down pitch per frame float
up pitch per frame float
down pitch frame count uint16
up pitch frame count uint16
animations Block
  • HEK max count: 33
Field Type Comments
animation uint16
ik points Block
  • HEK max count: 4
Field Type Comments
marker TagString?
attach to marker TagString?
weapons Block
  • HEK max count: 16
Field Type Comments
name TagString?
grip marker TagString?
hand marker TagString?
right yaw per frame float
left yaw per frame float
right frame count uint16
left frame count uint16
down pitch per frame float
up pitch per frame float
down pitch frame count uint16
up pitch frame count uint16
animations Block?
  • HEK max count: 55
ik point Block?
  • HEK max count: 4
weapon types Block
  • HEK max count: 10
Field Type Comments
label TagString?
animations Block
  • HEK max count: 16
Field Type Comments
animation uint16
weapons Block
  • HEK max count: 16
Field Type Comments
animations Block
  • HEK max count: 11
Field Type Comments
animation uint16
vehicles Block
  • HEK max count: 1
Field Type Comments
right yaw per frame float
left yaw per frame float
right frame count uint16
left frame count uint16
down pitch per frame float
up pitch per frame float
down pitch frame count uint16
up pitch frame count uint16
animations Block
  • HEK max count: 8
Field Type Comments
animation uint16
suspension animations Block
  • HEK max count: 8
Field Type Comments
mass point index uint16
animation uint16
full extension ground depth float
full compression ground depth float
devices Block
  • HEK max count: 2
Field Type Comments
animations Block
  • HEK max count: 2
Field Type Comments
animation uint16
unit damage Block
  • HEK max count: 176
Field Type Comments
animation uint16
first person weapons Block
  • HEK max count: 28
Field Type Comments
animations Block
  • HEK max count: 28
Field Type Comments
animation uint16
  • HEK max count: 176
sound references Block
  • HEK max count: 514
Field Type Comments
sound TagDependency: sound
limp body node radius float
flags bitfield
Flag Mask Comments
compress all animations 0x1
force idle compression 0x2
nodes Block
  • HEK max count: 64
Field Type Comments
name TagString?
next sibling node index uint16
  • Read-only
first child node index uint16
  • Read-only
parent node index uint16
  • Read-only
node joint flags bitfield
Flag Mask Comments
ball socket 0x1
hinge 0x2
no movement 0x4
base vector Vector3D
  • Read-only
Field Type Comments
i float
j float
k float
vector range float
  • Read-only
animations Block
  • HEK max count: 2048
  • Processed during compile
Field Type Comments
name TagString?
  • Read-only
type enum
  • Read-only
Option Value Comments
base 0x0
overlay 0x1
replacement 0x2
frame count uint16
  • Read-only
frame size uint16
  • Read-only
frame info type enum
  • Read-only
Option Value Comments
none 0x0
dx dy 0x1
dx dy dyaw 0x2
dx dy dz dyaw 0x3
node list checksum uint32
  • Read-only
node count uint16
  • Read-only
loop frame index uint16
weight float
key frame index uint16
second key frame index uint16
next animation uint16
  • Read-only
flags bitfield
Flag Mask Comments
compressed data 0x1
world relative 0x2
25hz pal 0x4
sound uint16
sound frame index uint16
left foot frame index int8
right foot frame index int8
main animation index uint16
  • Cache only
relative weight float
  • Cache only
frame info TagDataOffset
Field Type Comments
size uint32
external uint32
file offset uint32
pointer ptr64
node transform flag data uint32[2]
  • Hidden

These are two bitfields. Each bits refer to a node to which the transformation applies. The first field refers to the first 32 nodes and the second field is the second 32 nodes.

node rotation flag data uint32[2]
  • Hidden

These are two bitfields. Each bits refer to a node to which the transformation applies. The first field refers to the first 32 nodes and the second field is the second 32 nodes.

node scale flag data uint32[2]
  • Hidden

These are two bitfields. Each bits refer to a node to which the transformation applies. The first field refers to the first 32 nodes and the second field is the second 32 nodes.

offset to compressed data uint32
  • Read-only
default data TagDataOffset?
frame data TagDataOffset?

Acknowledgements

Thanks to the following individuals for their research or contributions to this topic:

  • Kavawuvi (Invader tag definitions)
  • MosesOfEgypt (Tag structure research)