XPlor/definitions/cod/sunflare.xscript
njohnson f3bca6871e Update COD XScript definitions with new syntax
- Migrate from set_global/get_global to ctx_set/ctx_get
- Replace if-else chains with match() expressions
- Update inline pointer handling patterns
- Improve GfxWorld and asset parsing structures
- Clean up redundant code across 60+ definition files

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-11 12:09:57 -05:00

81 lines
1.9 KiB
Plaintext

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;
}