pub struct MdlController {
pub controller_type: MdlControllerType,
pub keys: Vec<MdlKey>,
pub raw_column_count: u8,
pub key_unknown_04: [u8; 2],
pub key_unknown_0d: [u8; 3],
}Expand description
A controller definition for a node.
Defines a set of animation keys that drive one property over time.
The binary NewController header is 16 bytes. Bytes +0x04..+0x05 and
+0x0D..+0x0F are preserved verbatim for roundtrip fidelity.
Fields§
§controller_type: MdlControllerTypeThe type of property being controlled (Position, Orientation, etc.).
keys: Vec<MdlKey>The animation keys (time + values).
raw_column_count: u8Raw column_count byte from controller key header +0x0C.
The lower 4 bits encode the base column count. Bit 4 (0x10) is the Bezier flag – when set, each row has 3x the base columns (control point triplets). Special case: ORIENTATION with raw value 2 means integral compressed quaternion (1 u32 per row, stored as f32 bits).
Preserved for roundtrip fidelity; the reader decodes this to determine the actual value count per keyframe row.
key_unknown_04: [u8; 2]Unknown bytes from controller key header +0x04..+0x05.
Preserved verbatim for roundtrip fidelity per the reserved field rule. Zero for newly constructed controllers.
key_unknown_0d: [u8; 3]Unknown bytes from controller key header +0x0D..+0x0F.
Preserved verbatim for roundtrip fidelity per the reserved field rule. Zero for newly constructed controllers.
Trait Implementations§
Source§impl Clone for MdlController
impl Clone for MdlController
Source§fn clone(&self) -> MdlController
fn clone(&self) -> MdlController
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more