50 lines
1.5 KiB
Plaintext
50 lines
1.5 KiB
Plaintext
|
|
// RTTC - Rotation/Transform Track Chunk
|
||
|
|
// Contains rotation and transformation animation data
|
||
|
|
// Found in .cut files
|
||
|
|
|
||
|
|
type rttc_chunk [display="RTTC Rotation Track"] byteorder BE
|
||
|
|
{
|
||
|
|
// Standard 16-byte Asura chunk header
|
||
|
|
chunk_id = ascii(read(4));
|
||
|
|
u32 chunk_size;
|
||
|
|
u32 version;
|
||
|
|
u32 flags;
|
||
|
|
|
||
|
|
chunk_id = chunk_id [ui, readonly, display="Chunk ID"];
|
||
|
|
chunk_size = chunk_size [ui, readonly, display="Chunk Size"];
|
||
|
|
version = version [ui, readonly, display="Version"];
|
||
|
|
flags = flags [ui, readonly, display="Flags"];
|
||
|
|
|
||
|
|
// Track entry count
|
||
|
|
u32 entry_count;
|
||
|
|
entry_count = entry_count [ui, readonly, display="Entry Count"];
|
||
|
|
|
||
|
|
// Keyframe count
|
||
|
|
u32 keyframe_count;
|
||
|
|
keyframe_count = keyframe_count [ui, readonly, display="Keyframe Count"];
|
||
|
|
|
||
|
|
// Target name (null-terminated)
|
||
|
|
target_name = cstring();
|
||
|
|
target_name = target_name [ui, readonly, display="Target Name"];
|
||
|
|
|
||
|
|
// Position (3 floats)
|
||
|
|
f32 pos_x;
|
||
|
|
f32 pos_y;
|
||
|
|
f32 pos_z;
|
||
|
|
|
||
|
|
pos_x = pos_x [ui, readonly, display="Position X"];
|
||
|
|
pos_y = pos_y [ui, readonly, display="Position Y"];
|
||
|
|
pos_z = pos_z [ui, readonly, display="Position Z"];
|
||
|
|
|
||
|
|
// Rotation quaternion (4 floats)
|
||
|
|
f32 rot_x;
|
||
|
|
f32 rot_y;
|
||
|
|
f32 rot_z;
|
||
|
|
f32 rot_w;
|
||
|
|
|
||
|
|
rot_x = rot_x [ui, readonly, display="Rotation X"];
|
||
|
|
rot_y = rot_y [ui, readonly, display="Rotation Y"];
|
||
|
|
rot_z = rot_z [ui, readonly, display="Rotation Z"];
|
||
|
|
rot_w = rot_w [ui, readonly, display="Rotation W"];
|
||
|
|
}
|