BCA (File Format)

This page describes the .bca format. .bca is primarily used for driver animations, but some objects and items use them as well. This format is similar to .bck, but .bca animations all frames instead of just keyframes.

File Format

J3D Header
Offset Format Description
0x00 4-byte String File type magic (always ANF1)
0x04 UInt32 Section size
0x08 UInt8 Loop mode
0x09 UInt8 Angle scale
0x0a UInt16 Duration
0x0c UInt16 Joint / Bone count
0x0e UInt16 Scale count
0x10 UInt16 Rotation count
0x12 UInt16 Translation count
0x14 UInt32 Joint / Bone offset
0x18 UInt32 Scale offset
0x1c UInt32 Rotation offset
0x20 UInt32 Translation offset

Counts and offsets refer to the Scale, Offset, and Translation tables.

Joint / Bone Entry Table
Offset Format Description
0x00 UInt16 x scale count
0x02 UInt16 x scale offset
0x04 UInt16 x rotation count
0x06 UInt16 x rotation offset
0x08 UInt16 x translation count
0x0a UInt16 x translation offset
0x0c UInt16 y scale count
0x0e UInt16 y scale offset
0x10 UInt16 y rotation count
0x12 UInt16 y rotation offset
0x14 UInt16 y translation count
0x16 UInt16 y translation offset
0x18 UInt16 z scale count
0x1a UInt16 z scale offset
0x1c UInt16 z rotation count
0x1e UInt16 z rotation offset
0x20 UInt16 z translation count
0x22 UInt16 z translation offset

The scale, rotation, and translation tables are the same in structure: they are basically a list all of the values that are needed for each bone.

Scale, Rotation, Translation tables
SRT Format
Scale Float
Rotation SInt16
Translate Float

Tools

References