pub struct MdlLight {Show 13 fields
pub flare_radius: f32,
pub texture_safe_ptrs: [u32; 3],
pub flare_sizes: Vec<f32>,
pub flare_positions: Vec<f32>,
pub flare_color_shifts: Vec<[f32; 3]>,
pub flare_texture_names: Vec<String>,
pub priority: i32,
pub num_dynamic_types: i32,
pub affectdynamic: i32,
pub shadow: i32,
pub ambientonly: i32,
pub generateflare: i32,
pub fading_light: i32,
}Expand description
Light node data.
Binary layout: 92 extra bytes after the base node header. Contains scalar properties and flare data arrays.
Verified via MdlNodeLight::MdlNodeLight constructor (0x0044a3f0),
InputBinary::ResetLight (0x004a05e0), and Ghidra struct
MdlNodeLight (172 bytes total = 80 base + 92 extra).
See docs/notes/mdl_mdx.md §Non-Mesh Node Type Structs.
Fields§
§flare_radius: f32Flare radius (f32, default 0.0). Extra offset +0x00.
texture_safe_ptrs: [u32; 3]Texture SafePointers (runtime-only). Extra +0x04.
Three u32 values populated at runtime by AurTextureGetReference
after resolving texture names. In vanilla binaries these contain
stale addresses from the build toolset. Preserved for lossless
roundtrip and toolset fingerprinting (same rationale as the
mesh function pointer stubs).
flare_sizes: Vec<f32>Flare sizes (one f32 per flare). Extra +0x10 CExoArrayList pointer.
flare_positions: Vec<f32>Flare positions (one f32 per flare). Extra +0x1C CExoArrayList pointer.
flare_color_shifts: Vec<[f32; 3]>Flare color shifts (one vec3 per flare). Extra +0x28 CExoArrayList pointer.
flare_texture_names: Vec<String>Flare texture names. Extra +0x34 CExoArrayList pointer.
Stored as a CExoArrayList of char* pointers, where each pointer is
also relocated and points to a null-terminated string. Flattened to
a Vec<String> for ergonomic access.
priority: i32Light priority (default 5). Extra offset +0x40.
num_dynamic_types: i32Dynamic type count (default 1). Extra offset +0x44.
affectdynamic: i32Affects dynamic objects (default 1). Extra offset +0x48.
shadow: i32Casts shadow (default 1). Extra offset +0x4C.
ambientonly: i32Ambient-only light (default 0). Extra offset +0x50.
generateflare: i32Generate flare effect (default 0). Extra offset +0x54.
fading_light: i32Fading light (default 1). Extra offset +0x58.