type sunflare [display="Sun Flare"] { u8 has_valid_data [ui, readonly, display="Has Valid Data"]; skip(3); // padding i32 sprite_material_ptr [ui, readonly, display="Sprite Material Ptr"]; i32 flare_material_ptr [ui, readonly, display="Flare Material Ptr"]; // Sprite/flare params (floats) sprite_size = read(4) [ui, readonly, display="Sprite Size"]; flare_min_size = read(4) [ui, readonly, display="Flare Min Size"]; flare_min_dot = read(4) [ui, readonly, display="Flare Min Dot"]; flare_max_size = read(4) [ui, readonly, display="Flare Max Size"]; flare_max_dot = read(4) [ui, readonly, display="Flare Max Dot"]; flare_max_alpha = read(4) [ui, readonly, display="Flare Max Alpha"]; i32 flare_fade_in_time [ui, readonly, display="Flare Fade In Time"]; i32 flare_fade_out_time [ui, readonly, display="Flare Fade Out Time"]; // Blind params blind_min_dot = read(4) [ui, readonly, display="Blind Min Dot"]; blind_max_dot = read(4) [ui, readonly, display="Blind Max Dot"]; blind_max_darken = read(4) [ui, readonly, display="Blind Max Darken"]; i32 blind_fade_in_time [ui, readonly, display="Blind Fade In Time"]; i32 blind_fade_out_time [ui, readonly, display="Blind Fade Out Time"]; // Glare params glare_min_dot = read(4) [ui, readonly, display="Glare Min Dot"]; glare_max_dot = read(4) [ui, readonly, display="Glare Max Dot"]; glare_max_lighten = read(4) [ui, readonly, display="Glare Max Lighten"]; i32 glare_fade_in_time [ui, readonly, display="Glare Fade In Time"]; i32 glare_fade_out_time [ui, readonly, display="Glare Fade Out Time"]; // Sun FX position (3 floats) sun_fx_position = read(12) [ui, readonly, display="Sun FX Position"]; // Parse materials if inline if (sprite_material_ptr == -1) { sprite_material = parse_here("material"); } if (flare_material_ptr == -1) { flare_material = parse_here("material"); } }