XPlor/definitions/cod/sunflare.xscript
njohnson 7b1f5d34a1 Consolidate XScript definitions with byte order inheritance
- Volition VPP: Unified BE/LE types using inheritance pattern
- THQA PAK: Child types now inherit byte order from parent
- Various XScript definition updates and fixes

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-11 16:08:46 -05:00

49 lines
1.5 KiB
Plaintext

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