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