XPlor/definitions/cod/soundalias.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

48 lines
1.6 KiB
Plaintext

type soundalias ui("Sound Alias")
{
const PTR_INLINE = -1;
i32 alias_name_ptr ui("Alias Name Ptr");
i32 subtitle_ptr ui("Subtitle Ptr");
i32 secondary_alias_name_ptr ui("Secondary Alias Name Ptr");
i32 chain_alias_name_ptr ui("Chain Alias Name Ptr");
i32 sound_file_ptr ui("Sound File Ptr");
i32 sequence ui("Sequence");
vol_min_max = read(8) ui("Vol Min/Max");
pitch_min_max = read(8) ui("Pitch Min/Max");
dist_min_max = read(8) ui("Dist Min/Max");
velocity_min = read(4) ui("Velocity Min");
i32 flags ui("Flags");
master_values = read(12) ui("Master Priority/Percentage");
probability = read(4) ui("Probability");
lfe_center = read(8) ui("LFE/Center Percentage");
i32 start_delay ui("Start Delay");
i32 volume_falloff_curve_ptr ui("Volume Falloff Curve Ptr");
envelope_values = read(12) ui("Envelope Min/Max/Percentage");
i32 speaker_map_ptr ui("Speaker Map Ptr");
// Inline data
if (alias_name_ptr == PTR_INLINE) {
alias_name = cstring() ui("Alias Name");
set_name(alias_name);
}
if (subtitle_ptr == PTR_INLINE) {
subtitle = cstring() ui("Subtitle");
}
if (secondary_alias_name_ptr == PTR_INLINE) {
secondary_alias_name = cstring() ui("Secondary Alias Name");
}
if (chain_alias_name_ptr == PTR_INLINE) {
chain_alias_name = cstring() ui("Chain Alias Name");
}
if (sound_file_ptr == PTR_INLINE) {
sound_file = parse_here("soundfile");
}
if (volume_falloff_curve_ptr == PTR_INLINE) {
volume_falloff_curve = parse_here("sndcurve");
}
if (speaker_map_ptr == PTR_INLINE) {
speaker_map = parse_here("speakermap");
}
}