pub struct LayerAnimData {
pub self_key: Option<Uoid>,
pub underlay_key: Option<Uoid>,
pub opacity_keys: Vec<(f32, f32)>,
pub has_opacity: bool,
pub preshade_color_keys: Vec<(f32, [f32; 3])>,
pub runtime_color_keys: Vec<(f32, [f32; 3])>,
pub ambient_color_keys: Vec<(f32, [f32; 3])>,
pub specular_color_keys: Vec<(f32, [f32; 3])>,
pub length: f32,
pub sdl_var_name: Option<String>,
}Expand description
Parse a plLayerAnimation to extract the UV scroll rate from its transform controller (the 6th controller in the read order).
C++ ref: plLayerAnimation.cpp:79-88 — reads 6 controllers: fPreshadeColorCtl, fRuntimeColorCtl, fAmbientColorCtl, fSpecularColorCtl, fOpacityCtl, fTransformCtl Parsed plLayerAnimation runtime data. Contains animated property controllers for opacity, color, transform.
Fields§
§self_key: Option<Uoid>§underlay_key: Option<Uoid>§opacity_keys: Vec<(f32, f32)>Opacity keyframes: (time_secs, value_0_to_100) pairs.
has_opacity: boolWhether this has an opacity controller at all.
preshade_color_keys: Vec<(f32, [f32; 3])>Preshade color keyframes: (time_secs, [r, g, b]). C++ ref: plController.cpp:221-228 — color uses Point3 keys, maps r=X g=Y b=Z.
runtime_color_keys: Vec<(f32, [f32; 3])>Runtime color keyframes: (time_secs, [r, g, b]).
ambient_color_keys: Vec<(f32, [f32; 3])>Ambient color keyframes: (time_secs, [r, g, b]).
specular_color_keys: Vec<(f32, [f32; 3])>Specular color keyframes: (time_secs, [r, g, b]).
length: f32Total animation length in seconds (max of all controller lengths). C++ ref: plLayerAnimationBase::IMakeUniformLength (plLayerAnimation.cpp:276-293)
sdl_var_name: Option<String>SDL variable name (only for plLayerSDLAnimation, 0x00F0). When set, animation time = sdl_value * length.
Trait Implementations§
Source§impl Clone for LayerAnimData
impl Clone for LayerAnimData
Source§fn clone(&self) -> LayerAnimData
fn clone(&self) -> LayerAnimData
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more