mirror of
https://github.com/InfinityLoader/IL-GSC.git
synced 2025-06-10 02:17:56 -05:00
985 lines
22 KiB
Plaintext
985 lines
22 KiB
Plaintext
/*******************************************************************
|
|
* Decompiled By: Bog
|
|
* Decompiled File: soundscripts/_audio_zone_manager.gsc
|
|
* Game: Call of Duty: Advanced Warfare
|
|
* Platform: PC
|
|
* Function Count: 50
|
|
* Decompile Time: 595 ms
|
|
* Timestamp: 10/27/2023 2:05:52 AM
|
|
*******************************************************************/
|
|
|
|
//Function Number: 1
|
|
azm_init()
|
|
{
|
|
if(!isdefined(level._audio.zone_mgr))
|
|
{
|
|
level._audio.zone_mgr = spawnstruct();
|
|
level._audio.zone_mgr.current_zone = "";
|
|
level._audio.zone_mgr.zones = [];
|
|
level._audio.zone_mgr.overrides = spawnstruct();
|
|
level._audio.zone_mgr.overrides.samb = [];
|
|
level._audio.zone_mgr.overrides.damb = [];
|
|
level._audio.zone_mgr.overrides.mix = [];
|
|
level._audio.zone_mgr.overrides.rev = [];
|
|
level._audio.zone_mgr.overrides.occ = [];
|
|
azm_set_quad_enable(1);
|
|
azm_set_damb_enable(1);
|
|
azm_set_mix_enable(1);
|
|
azm_set_reverb_enable(1);
|
|
azm_set_filter_enable(1);
|
|
azm_set_occlusion_enable(1);
|
|
azm_set_mix_bypass(0);
|
|
azm_set_reverb_bypass(0);
|
|
azm_set_filter_bypass(0);
|
|
azm_set_occlusion_bypass(0);
|
|
level._audio.zone_mgr.use_string_table_presets = 0;
|
|
}
|
|
|
|
if(!isdefined(level._audio.use_level_audio_zones))
|
|
{
|
|
level._audio.level_audio_zones_function = undefined;
|
|
}
|
|
}
|
|
|
|
//Function Number: 2
|
|
azm_use_string_table()
|
|
{
|
|
level._audio.zone_mgr.use_string_table_presets = 1;
|
|
}
|
|
|
|
//Function Number: 3
|
|
azm_start_zone(param_00,param_01,param_02)
|
|
{
|
|
if(level._audio.zone_mgr.current_zone == param_00)
|
|
{
|
|
return;
|
|
}
|
|
else if(level._audio.zone_mgr.current_zone != "")
|
|
{
|
|
azm_stop_zone(level._audio.zone_mgr.current_zone,param_01);
|
|
}
|
|
|
|
level._audio.zone_mgr.current_zone = param_00;
|
|
if(isdefined(level._audio.zone_mgr.zones[param_00]) && isdefined(level._audio.zone_mgr.zones[param_00]["state"]) && level._audio.zone_mgr.zones[param_00]["state"] != "stopping")
|
|
{
|
|
soundscripts\_audio::aud_print_warning("ZONEM_start_zone(\" + param_00 + "\") being called even though audio zone, \" + param_00 + "\", is already started.");
|
|
return;
|
|
}
|
|
|
|
var_03 = 2;
|
|
if(isdefined(param_01))
|
|
{
|
|
var_03 = param_01;
|
|
}
|
|
|
|
if(!isdefined(level._audio.zone_mgr.zones[param_00]))
|
|
{
|
|
var_04 = azmx_load_zone(param_00);
|
|
if(!isdefined(var_04))
|
|
{
|
|
return;
|
|
}
|
|
|
|
level._audio.zone_mgr.zones[param_00] = var_04;
|
|
}
|
|
|
|
var_04 = level._audio.zone_mgr.zones[param_00];
|
|
soundscripts\_audio::aud_print_zone("ZONE START: " + param_00);
|
|
level._audio.zone_mgr.zones[param_00]["state"] = "playing";
|
|
var_05 = var_04["priority"];
|
|
var_06 = var_04["interrupt_fade"];
|
|
if(isdefined(var_04["streamed_ambience"]))
|
|
{
|
|
if(var_04["streamed_ambience"] != "none")
|
|
{
|
|
soundscripts\_audio_stream_manager::sm_start_preset(var_04["streamed_ambience"],var_03,var_05,var_06);
|
|
}
|
|
else
|
|
{
|
|
soundscripts\_audio_stream_manager::sm_stop_ambience(var_03);
|
|
}
|
|
}
|
|
|
|
if(isdefined(var_04["dynamic_ambience"]))
|
|
{
|
|
if(var_04["dynamic_ambience"] != "none")
|
|
{
|
|
soundscripts\_audio_dynamic_ambi::damb_zone_start_preset(var_04["dynamic_ambience"],1);
|
|
}
|
|
else
|
|
{
|
|
soundscripts\_audio_dynamic_ambi::damb_stop_zone(1);
|
|
}
|
|
}
|
|
|
|
if(isdefined(var_04["occlusion"]) && !azm_get_occlusion_bypass())
|
|
{
|
|
if(var_04["occlusion"] != "none")
|
|
{
|
|
soundscripts\_snd_filters::snd_set_occlusion(var_04["occlusion"]);
|
|
}
|
|
else
|
|
{
|
|
soundscripts\_snd_filters::snd_set_occlusion(undefined);
|
|
}
|
|
}
|
|
|
|
if(isdefined(var_04["filter"]) && !azm_get_filter_bypass())
|
|
{
|
|
if(var_04["filter"] != "none")
|
|
{
|
|
soundscripts\_snd_filters::snd_set_filter(var_04["filter"],0);
|
|
soundscripts\_snd_filters::snd_set_filter_lerp(1);
|
|
}
|
|
}
|
|
|
|
if(isdefined(var_04["reverb"]) && !azm_get_reverb_bypass())
|
|
{
|
|
if(var_04["reverb"] != "none")
|
|
{
|
|
soundscripts\_audio_reverb::rvb_start_preset(var_04["reverb"]);
|
|
}
|
|
else
|
|
{
|
|
soundscripts\_audio_reverb::rvb_deactive_reverb();
|
|
}
|
|
}
|
|
|
|
if(isdefined(var_04["mix"]) && !azm_get_mix_bypass())
|
|
{
|
|
if(var_04["mix"] != "none")
|
|
{
|
|
soundscripts\_audio_mix_manager::mm_start_zone_preset(var_04["mix"]);
|
|
return;
|
|
}
|
|
|
|
soundscripts\_audio_mix_manager::mm_clear_zone_mix(undefined,1);
|
|
}
|
|
}
|
|
|
|
//Function Number: 4
|
|
azm_set_zone_streamed_ambience(param_00,param_01,param_02)
|
|
{
|
|
var_03 = azmx_set_param_internal(param_00,"streamed_ambience",param_01,::azmx_restart_stream,param_02);
|
|
if(!var_03)
|
|
{
|
|
if(!isdefined(param_01))
|
|
{
|
|
param_01 = "none";
|
|
}
|
|
|
|
level._audio.zone_mgr.overrides.samb[param_00] = param_01;
|
|
}
|
|
}
|
|
|
|
//Function Number: 5
|
|
azm_set_zone_dynamic_ambience(param_00,param_01,param_02)
|
|
{
|
|
if(!isdefined(param_01))
|
|
{
|
|
param_01 = "none";
|
|
}
|
|
|
|
azmx_set_param_internal(param_00,"dynamic_ambience",param_01,::azmx_restart_damb,param_02);
|
|
level._audio.zone_mgr.overrides.damb[param_00] = param_01;
|
|
}
|
|
|
|
//Function Number: 6
|
|
azm_set_zone_reverb(param_00,param_01,param_02)
|
|
{
|
|
if(!isdefined(param_01))
|
|
{
|
|
param_01 = "none";
|
|
}
|
|
|
|
azmx_set_param_internal(param_00,"reverb",param_01,::azmx_restart_reverb,param_02);
|
|
level._audio.zone_mgr.overrides.rev[param_00] = param_01;
|
|
}
|
|
|
|
//Function Number: 7
|
|
azm_set_zone_occlusion(param_00,param_01,param_02)
|
|
{
|
|
if(!isdefined(param_01))
|
|
{
|
|
param_01 = "none";
|
|
}
|
|
|
|
azmx_set_param_internal(param_00,"occlusion",param_01,::azmx_restart_occlusion,param_02);
|
|
level._audio.zone_mgr.overrides.mix[param_01] = param_01;
|
|
}
|
|
|
|
//Function Number: 8
|
|
azm_set_zone_mix(param_00,param_01,param_02)
|
|
{
|
|
if(!isdefined(param_01))
|
|
{
|
|
param_01 = "none";
|
|
}
|
|
|
|
azmx_set_param_internal(param_00,"mix",param_01,::azmx_restart_mix,param_02);
|
|
level._audio.zone_mgr.overrides.mix[param_01] = param_01;
|
|
}
|
|
|
|
//Function Number: 9
|
|
azm_stop_zones(param_00)
|
|
{
|
|
var_01 = 1;
|
|
if(isdefined(param_00))
|
|
{
|
|
var_01 = param_00;
|
|
}
|
|
|
|
soundscripts\_audio::aud_print_zone("ZONE STOP ALL");
|
|
foreach(var_03 in level._audio.zone_mgr.zones)
|
|
{
|
|
azm_stop_zone(var_03["name"],var_01,0);
|
|
}
|
|
}
|
|
|
|
//Function Number: 10
|
|
azm_stop_zone(param_00,param_01,param_02)
|
|
{
|
|
if(isdefined(level._audio.zone_mgr.zones[param_00]) && isdefined(level._audio.zone_mgr.zones[param_00]["state"]) && level._audio.zone_mgr.zones[param_00]["state"] != "stopping")
|
|
{
|
|
var_03 = 1;
|
|
if(isdefined(param_01))
|
|
{
|
|
var_03 = param_01;
|
|
}
|
|
|
|
var_04 = level._audio.zone_mgr.zones[param_00];
|
|
var_05 = 0;
|
|
if(isdefined(param_02))
|
|
{
|
|
var_05 = param_02;
|
|
}
|
|
|
|
if(var_05)
|
|
{
|
|
soundscripts\_audio::aud_print_zone("ZONE STOP ZONE: " + param_00);
|
|
}
|
|
|
|
if(isdefined(var_04["streamed_ambience"]))
|
|
{
|
|
soundscripts\_audio_stream_manager::sm_stop_ambient_alias(var_04["streamed_ambience"],var_03);
|
|
}
|
|
|
|
if(isdefined(var_04["dynamic_ambience"]))
|
|
{
|
|
soundscripts\_audio_dynamic_ambi::damb_zone_stop_preset(var_04["dynamic_ambience"],var_03);
|
|
}
|
|
|
|
if(isdefined(var_04["mix"]) && !azm_get_mix_bypass())
|
|
{
|
|
soundscripts\_audio_mix_manager::mm_clear_zone_mix(var_04["mix"],var_03);
|
|
}
|
|
|
|
level._audio.zone_mgr.zones[param_00]["state"] = "stopping";
|
|
thread azmx_wait_till_fade_done_and_remove_zone(param_00,var_03);
|
|
}
|
|
}
|
|
|
|
//Function Number: 11
|
|
azm_get_current_zone()
|
|
{
|
|
return level._audio.zone_mgr.current_zone;
|
|
}
|
|
|
|
//Function Number: 12
|
|
azm_set_current_zone(param_00)
|
|
{
|
|
level._audio.zone_mgr.current_zone = param_00;
|
|
}
|
|
|
|
//Function Number: 13
|
|
azm_print_enter_blend(param_00,param_01,param_02)
|
|
{
|
|
}
|
|
|
|
//Function Number: 14
|
|
azm_print_exit_blend(param_00)
|
|
{
|
|
}
|
|
|
|
//Function Number: 15
|
|
azm_print_progress(param_00)
|
|
{
|
|
}
|
|
|
|
//Function Number: 16
|
|
azm_set_quad_enable(param_00)
|
|
{
|
|
level._audio.zone_mgr.overrides.quad_enable = param_00;
|
|
}
|
|
|
|
//Function Number: 17
|
|
azm_get_quad_enable()
|
|
{
|
|
return level._audio.zone_mgr.overrides.quad_enable;
|
|
}
|
|
|
|
//Function Number: 18
|
|
azm_set_damb_enable(param_00)
|
|
{
|
|
level._audio.zone_mgr.overrides.damb_enable = param_00;
|
|
}
|
|
|
|
//Function Number: 19
|
|
azm_get_damb_enable()
|
|
{
|
|
return level._audio.zone_mgr.overrides.damb_enable;
|
|
}
|
|
|
|
//Function Number: 20
|
|
azm_set_mix_enable(param_00)
|
|
{
|
|
level._audio.zone_mgr.overrides.mix_enable = param_00;
|
|
}
|
|
|
|
//Function Number: 21
|
|
azm_get_mix_enable()
|
|
{
|
|
return level._audio.zone_mgr.overrides.mix_enable;
|
|
}
|
|
|
|
//Function Number: 22
|
|
azm_set_reverb_enable(param_00)
|
|
{
|
|
level._audio.zone_mgr.overrides.reverb_enable = param_00;
|
|
}
|
|
|
|
//Function Number: 23
|
|
azm_get_reverb_enable()
|
|
{
|
|
return level._audio.zone_mgr.overrides.reverb_enable;
|
|
}
|
|
|
|
//Function Number: 24
|
|
azm_set_filter_enable(param_00)
|
|
{
|
|
level._audio.zone_mgr.overrides.filter_enable = param_00;
|
|
}
|
|
|
|
//Function Number: 25
|
|
azm_get_filter_enable()
|
|
{
|
|
return level._audio.zone_mgr.overrides.filter_enable;
|
|
}
|
|
|
|
//Function Number: 26
|
|
azm_set_occlusion_enable(param_00)
|
|
{
|
|
level._audio.zone_mgr.overrides.occlusion_enable = param_00;
|
|
}
|
|
|
|
//Function Number: 27
|
|
azm_get_occlusion_enable()
|
|
{
|
|
return level._audio.zone_mgr.overrides.occlusion_enable;
|
|
}
|
|
|
|
//Function Number: 28
|
|
azm_set_mix_bypass(param_00)
|
|
{
|
|
level._audio.zone_mgr.overrides.mix_bypass = param_00;
|
|
}
|
|
|
|
//Function Number: 29
|
|
azm_get_mix_bypass()
|
|
{
|
|
return level._audio.zone_mgr.overrides.mix_bypass;
|
|
}
|
|
|
|
//Function Number: 30
|
|
azm_set_reverb_bypass(param_00)
|
|
{
|
|
level._audio.zone_mgr.overrides.reverb_bypass = param_00;
|
|
}
|
|
|
|
//Function Number: 31
|
|
azm_get_reverb_bypass()
|
|
{
|
|
return level._audio.zone_mgr.overrides.reverb_bypass;
|
|
}
|
|
|
|
//Function Number: 32
|
|
azm_set_filter_bypass(param_00)
|
|
{
|
|
level._audio.zone_mgr.overrides.filter_bypass = param_00;
|
|
}
|
|
|
|
//Function Number: 33
|
|
azm_get_filter_bypass()
|
|
{
|
|
return (isdefined(level.mute_device_active) && level.mute_device_active) || level._audio.zone_mgr.overrides.filter_bypass;
|
|
}
|
|
|
|
//Function Number: 34
|
|
azm_set_occlusion_bypass(param_00)
|
|
{
|
|
level._audio.zone_mgr.overrides.occlusion_bypass = param_00;
|
|
}
|
|
|
|
//Function Number: 35
|
|
azm_get_occlusion_bypass()
|
|
{
|
|
return level._audio.zone_mgr.overrides.occlusion_bypass;
|
|
}
|
|
|
|
//Function Number: 36
|
|
azmx_load_zone(param_00)
|
|
{
|
|
if(isdefined(level._audio.zone_mgr.zones[param_00]))
|
|
{
|
|
return;
|
|
}
|
|
|
|
if(!isdefined(level._audio.zone_mgr.preset_cache))
|
|
{
|
|
level._audio.zone_mgr.preset_cache = [];
|
|
}
|
|
|
|
var_01 = [];
|
|
if(isdefined(level._audio.zone_mgr.preset_cache[param_00]))
|
|
{
|
|
var_01 = level._audio.zone_mgr.preset_cache[param_00];
|
|
}
|
|
else
|
|
{
|
|
var_01 = azmx_get_preset_from_string_table(param_00,1);
|
|
}
|
|
|
|
if(!isdefined(var_01) || var_01.size == 0)
|
|
{
|
|
return;
|
|
}
|
|
|
|
level._audio.zone_mgr.preset_cache[param_00] = var_01;
|
|
var_02 = 0;
|
|
if(azm_get_quad_enable() && isdefined(level._audio.zone_mgr.overrides.samb[param_00]))
|
|
{
|
|
if(level._audio.zone_mgr.overrides.samb[param_00] == "none")
|
|
{
|
|
var_01["streamed_ambience"] = undefined;
|
|
}
|
|
else
|
|
{
|
|
var_01["streamed_ambience"] = level._audio.zone_mgr.overrides.samb[param_00];
|
|
}
|
|
|
|
var_02 = 1;
|
|
level._audio.zone_mgr.overrides.samb[param_00] = undefined;
|
|
}
|
|
|
|
if(azm_get_damb_enable() && isdefined(level._audio.zone_mgr.overrides.damb[param_00]))
|
|
{
|
|
if(level._audio.zone_mgr.overrides.damb[param_00] == "none")
|
|
{
|
|
var_01["dynamic_ambience"] = undefined;
|
|
}
|
|
else
|
|
{
|
|
var_01["dynamic_ambience"] = level._audio.zone_mgr.overrides.damb[param_00];
|
|
}
|
|
|
|
var_02 = 1;
|
|
level._audio.zone_mgr.overrides.damb[param_00] = undefined;
|
|
}
|
|
|
|
if(azm_get_reverb_enable() && isdefined(level._audio.zone_mgr.overrides.rev[param_00]))
|
|
{
|
|
if(level._audio.zone_mgr.overrides.rev[param_00] == "none")
|
|
{
|
|
var_01["reverb"] = undefined;
|
|
}
|
|
else
|
|
{
|
|
var_01["reverb"] = level._audio.zone_mgr.overrides.rev[param_00];
|
|
}
|
|
|
|
var_02 = 1;
|
|
level._audio.zone_mgr.overrides.rev[param_00] = undefined;
|
|
}
|
|
|
|
if(azm_get_occlusion_enable() && isdefined(level._audio.zone_mgr.overrides.occ[param_00]))
|
|
{
|
|
if(level._audio.zone_mgr.overrides.occ[param_00] == "none")
|
|
{
|
|
var_01["occlusion"] = undefined;
|
|
}
|
|
else
|
|
{
|
|
var_01["occlusion"] = level._audio.zone_mgr.overrides.occ[param_00];
|
|
}
|
|
|
|
var_02 = 1;
|
|
level._audio.zone_mgr.overrides.occ[param_00] = undefined;
|
|
}
|
|
|
|
if(azm_get_filter_enable() && isdefined(level._audio.zone_mgr.overrides.mix[param_00]))
|
|
{
|
|
if(level._audio.zone_mgr.overrides.mix[param_00] == "none")
|
|
{
|
|
var_01["mix"] = undefined;
|
|
}
|
|
else
|
|
{
|
|
var_01["mix"] = level._audio.zone_mgr.overrides.mix[param_00];
|
|
}
|
|
|
|
var_02 = 1;
|
|
level._audio.zone_mgr.overrides.mix[param_00] = undefined;
|
|
}
|
|
|
|
if(var_02)
|
|
{
|
|
level._audio.zone_mgr.preset_cache[param_00] = var_01;
|
|
}
|
|
|
|
var_01["name"] = param_00;
|
|
if(!isdefined(var_01["priority"]))
|
|
{
|
|
var_01["priority"] = 1;
|
|
}
|
|
|
|
if(!isdefined(var_01["interrupt_fade"]))
|
|
{
|
|
var_01["interrupt_fade"] = 0.1;
|
|
}
|
|
|
|
return var_01;
|
|
}
|
|
|
|
//Function Number: 37
|
|
azmx_get_preset_from_string_table(param_00,param_01)
|
|
{
|
|
var_02 = "soundtables/sp_defaults.csv";
|
|
var_03 = soundscripts\_audio::get_zone_stringtable();
|
|
var_04 = [];
|
|
if(param_01)
|
|
{
|
|
var_04 = azmx_get_zone_preset_from_stringtable_internal(var_03,param_00);
|
|
}
|
|
|
|
if(!isdefined(var_04) || var_04.size == 0)
|
|
{
|
|
var_04 = azmx_get_zone_preset_from_stringtable_internal(var_02,param_00);
|
|
}
|
|
|
|
if(!isdefined(var_04) || var_04.size == 0)
|
|
{
|
|
return;
|
|
}
|
|
|
|
return var_04;
|
|
}
|
|
|
|
//Function Number: 38
|
|
azmx_get_zone_preset_from_stringtable_internal(param_00,param_01)
|
|
{
|
|
var_02 = [];
|
|
var_03 = "";
|
|
var_04 = "";
|
|
var_05 = packedtablesectionlookup(param_00,"zone_names","zone_names;reverb_names;filter_names;occlusion_names;timescale_names;dynamic_ambience_names;components;loop_defs;whizby_preset_names;mix_names;healthfx_params");
|
|
if(isdefined(var_05))
|
|
{
|
|
var_06 = 8;
|
|
var_07 = 1;
|
|
if(var_07 < var_06)
|
|
{
|
|
if(var_03 != "comments" && var_04 != "")
|
|
{
|
|
var_02[var_03] = var_04;
|
|
}
|
|
|
|
var_03 = packedtablelookupwithrange(param_00,0,"zone_names",var_07,var_05[0],var_05[1]);
|
|
var_04 = packedtablelookupwithrange(param_00,0,param_01,var_07,var_05[0],var_05[1]);
|
|
if(var_03 != "comment" && var_03 != "comments" && var_04 != "")
|
|
{
|
|
switch(var_03)
|
|
{
|
|
case "streamed_ambience":
|
|
break;
|
|
|
|
case "dynamic_ambience":
|
|
break;
|
|
|
|
case "mix":
|
|
break;
|
|
|
|
case "reverb":
|
|
break;
|
|
|
|
case "filter":
|
|
break;
|
|
|
|
case "occlusion":
|
|
break;
|
|
|
|
default:
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
//Function Number: 39
|
|
azmx_restart_stream(param_00,param_01)
|
|
{
|
|
var_02 = level._audio.zone_mgr.zones[param_00]["streamed_ambience"];
|
|
if(isdefined(var_02))
|
|
{
|
|
soundscripts\_audio_stream_manager::sm_start_preset(var_02,param_01);
|
|
return;
|
|
}
|
|
|
|
soundscripts\_audio_stream_manager::sm_stop_ambience(param_01);
|
|
}
|
|
|
|
//Function Number: 40
|
|
azmx_restart_damb(param_00,param_01)
|
|
{
|
|
var_02 = 1;
|
|
if(isdefined(param_01))
|
|
{
|
|
var_02 = param_01;
|
|
}
|
|
|
|
var_03 = level._audio.zone_mgr.zones[param_00]["dynamic_ambience"];
|
|
if(isdefined(var_03))
|
|
{
|
|
soundscripts\_audio_dynamic_ambi::damb_zone_start_preset(var_03,var_02);
|
|
return;
|
|
}
|
|
|
|
soundscripts\_audio_dynamic_ambi::damb_zone_stop_preset(undefined,var_02);
|
|
}
|
|
|
|
//Function Number: 41
|
|
azmx_restart_reverb(param_00,param_01)
|
|
{
|
|
var_02 = level._audio.zone_mgr.zones[param_00]["reverb"];
|
|
if(isdefined(var_02) && !azm_get_reverb_bypass())
|
|
{
|
|
soundscripts\_audio_reverb::rvb_start_preset(var_02);
|
|
}
|
|
}
|
|
|
|
//Function Number: 42
|
|
azmx_restart_occlusion(param_00,param_01)
|
|
{
|
|
var_02 = level._audio.zone_mgr.zones[param_00]["occlusion"];
|
|
if(isdefined(var_02) && !azm_get_occlusion_bypass())
|
|
{
|
|
soundscripts\_snd_filters::snd_set_occlusion(var_02);
|
|
}
|
|
}
|
|
|
|
//Function Number: 43
|
|
azmx_restart_mix(param_00,param_01)
|
|
{
|
|
var_02 = level._audio.zone_mgr.zones[param_00]["mix"];
|
|
if(!azm_get_mix_bypass())
|
|
{
|
|
if(isdefined(var_02))
|
|
{
|
|
soundscripts\_audio_mix_manager::mm_start_zone_preset(var_02);
|
|
return;
|
|
}
|
|
|
|
soundscripts\_audio_mix_manager::mm_clear_zone_mix(undefined,param_01);
|
|
}
|
|
}
|
|
|
|
//Function Number: 44
|
|
azmx_set_param_internal(param_00,param_01,param_02,param_03,param_04)
|
|
{
|
|
if(isdefined(level._audio.zone_mgr.zones[param_00]))
|
|
{
|
|
if((isdefined(level._audio.zone_mgr.zones[param_00][param_01]) && level._audio.zone_mgr.zones[param_00][param_01] != param_02) || !isdefined(level._audio.zone_mgr.zones[param_00][param_01]) && param_02 != "none")
|
|
{
|
|
if(param_02 == "none")
|
|
{
|
|
level._audio.zone_mgr.zones[param_00][param_01] = undefined;
|
|
}
|
|
else
|
|
{
|
|
level._audio.zone_mgr.zones[param_00][param_01] = param_02;
|
|
}
|
|
|
|
if(param_00 == azm_get_current_zone())
|
|
{
|
|
[[ param_03 ]](param_00,param_04);
|
|
}
|
|
}
|
|
|
|
return 1;
|
|
}
|
|
|
|
return 0;
|
|
}
|
|
|
|
//Function Number: 45
|
|
azmx_wait_till_fade_done_and_remove_zone(param_00,param_01)
|
|
{
|
|
wait(param_01);
|
|
wait(0.05);
|
|
if(level._audio.zone_mgr.zones[param_00]["state"] == "stopping")
|
|
{
|
|
}
|
|
}
|
|
|
|
//Function Number: 46
|
|
azmx_get_blend_args(param_00,param_01)
|
|
{
|
|
var_02 = spawnstruct();
|
|
var_02.zone_from_name = param_00;
|
|
var_02.zone_to_name = param_01;
|
|
var_02.samb1_name = undefined;
|
|
var_02.samb2_name = undefined;
|
|
var_02.damb1_name = undefined;
|
|
var_02.damb2_name = undefined;
|
|
var_02.occlusion1 = undefined;
|
|
var_02.occlusion2 = undefined;
|
|
var_02.filter1 = undefined;
|
|
var_02.filter2 = undefined;
|
|
var_02.reverb1 = undefined;
|
|
var_02.reverb2 = undefined;
|
|
var_02.mix1_name = undefined;
|
|
var_02.mix2_name = undefined;
|
|
if(!isdefined(level._audio.zone_mgr.zones[param_00]))
|
|
{
|
|
var_03 = azmx_load_zone(param_00);
|
|
if(!isdefined(var_03))
|
|
{
|
|
soundscripts\_audio::aud_print_warning("Couldn\'t find zone: " + param_00);
|
|
return;
|
|
}
|
|
|
|
level._audio.zone_mgr.zones[param_00] = var_03;
|
|
}
|
|
|
|
var_04 = level._audio.zone_mgr.zones[param_00];
|
|
if(!isdefined(level._audio.zone_mgr.zones[param_01]))
|
|
{
|
|
var_03 = azmx_load_zone(param_01);
|
|
if(!isdefined(var_03))
|
|
{
|
|
soundscripts\_audio::aud_print_warning("Couldn\'t find zone: " + param_01);
|
|
return;
|
|
}
|
|
|
|
level._audio.zone_mgr.zones[param_01] = var_03;
|
|
}
|
|
|
|
var_05 = level._audio.zone_mgr.zones[param_01];
|
|
var_02.occlusion1 = var_04["occlusion"];
|
|
var_02.occlusion2 = var_05["occlusion"];
|
|
var_02.filter1 = var_04["filter"];
|
|
var_02.filter2 = var_05["filter"];
|
|
var_02.reverb1 = var_04["reverb"];
|
|
var_02.reverb2 = var_05["reverb"];
|
|
var_02.mix1 = var_04["mix"];
|
|
var_02.mix2 = var_05["mix"];
|
|
var_02.samb1_name = var_04["streamed_ambience"];
|
|
var_02.samb2_name = var_05["streamed_ambience"];
|
|
var_06 = level._audio.damb.playing["zone"].size;
|
|
if(var_06 > 1)
|
|
{
|
|
soundscripts\_audio_dynamic_ambi::damb_stop(1,"zone");
|
|
}
|
|
|
|
var_02.damb1_name = var_04["dynamic_ambience"];
|
|
var_02.damb2_name = var_05["dynamic_ambience"];
|
|
return var_02;
|
|
}
|
|
|
|
//Function Number: 47
|
|
azmx_is_valid_mix_blend_request(param_00,param_01)
|
|
{
|
|
var_02 = 0;
|
|
if(isdefined(param_00) && isdefined(param_01) && param_00 != param_01)
|
|
{
|
|
var_02 = 1;
|
|
}
|
|
else if(isdefined(param_01) && !isdefined(param_00))
|
|
{
|
|
var_02 = 1;
|
|
}
|
|
else if(isdefined(param_00) && !isdefined(param_01))
|
|
{
|
|
var_02 = 1;
|
|
}
|
|
|
|
return var_02;
|
|
}
|
|
|
|
//Function Number: 48
|
|
azmx_is_valid_damb_blend_request(param_00,param_01)
|
|
{
|
|
var_02 = 0;
|
|
if(isdefined(param_00) && isdefined(param_01) && param_00 != param_01)
|
|
{
|
|
var_02 = 1;
|
|
}
|
|
else if(isdefined(param_01) && !isdefined(param_00))
|
|
{
|
|
var_02 = 1;
|
|
}
|
|
else if(isdefined(param_00) && !isdefined(param_01))
|
|
{
|
|
var_02 = 1;
|
|
}
|
|
|
|
return var_02;
|
|
}
|
|
|
|
//Function Number: 49
|
|
azmx_is_valid_samb_blend_request(param_00,param_01)
|
|
{
|
|
var_02 = 0;
|
|
if(isdefined(param_00) && isdefined(param_01) && param_00 != param_01)
|
|
{
|
|
var_02 = 1;
|
|
}
|
|
else if(isdefined(param_01) && !isdefined(param_00))
|
|
{
|
|
var_02 = 1;
|
|
}
|
|
|
|
return var_02;
|
|
}
|
|
|
|
//Function Number: 50
|
|
azmx_blend_zones(param_00,param_01,param_02)
|
|
{
|
|
if(azmx_is_valid_samb_blend_request(param_02.samb1_name,param_02.samb2_name))
|
|
{
|
|
var_03 = [];
|
|
var_04 = 0;
|
|
if(isdefined(param_02.samb1_name) && param_02.samb1_name != "")
|
|
{
|
|
var_05 = level._audio.zone_mgr.zones[param_02.zone_from_name];
|
|
var_03[var_04] = spawnstruct();
|
|
var_03[var_04].alias = param_02.samb1_name;
|
|
var_03[var_04].vol = param_00;
|
|
var_03[var_04].fade = var_05["interrupt_fade"];
|
|
var_03[var_04].priority = var_05["priority"];
|
|
var_04++;
|
|
}
|
|
|
|
if(isdefined(param_02.samb2_name) && param_02.samb2_name != "")
|
|
{
|
|
var_06 = level._audio.zone_mgr.zones[param_02.zone_to_name];
|
|
var_03[var_04] = spawnstruct();
|
|
var_03[var_04].alias = param_02.samb2_name;
|
|
var_03[var_04].vol = param_01;
|
|
var_03[var_04].fade = var_06["interrupt_fade"];
|
|
var_03[var_04].priority = var_06["priority"];
|
|
}
|
|
|
|
if(var_03.size > 0)
|
|
{
|
|
soundscripts\_audio_stream_manager::sm_mix_ambience(var_03);
|
|
}
|
|
}
|
|
|
|
if(azmx_is_valid_damb_blend_request(param_02.damb1_name,param_02.damb2_name))
|
|
{
|
|
soundscripts\_audio_dynamic_ambi::damb_prob_mix_damb_presets(param_02.damb1_name,param_00,param_02.damb2_name,param_01);
|
|
}
|
|
|
|
if(azmx_is_valid_mix_blend_request(param_02.mix1,param_02.mix2) && !azm_get_mix_bypass())
|
|
{
|
|
soundscripts\_audio_mix_manager::mm_blend_zone_mix(param_02.mix1,param_00,param_02.mix2,param_01);
|
|
}
|
|
|
|
if(isdefined(param_02.filter1))
|
|
{
|
|
if(!azm_get_filter_bypass())
|
|
{
|
|
soundscripts\_snd_filters::snd_set_filter(param_02.filter1,0,0);
|
|
}
|
|
}
|
|
else if(!azm_get_filter_bypass())
|
|
{
|
|
soundscripts\_snd_filters::snd_set_filter(undefined,0,0);
|
|
}
|
|
|
|
if(isdefined(param_02.filter2))
|
|
{
|
|
if(!azm_get_filter_bypass())
|
|
{
|
|
soundscripts\_snd_filters::snd_set_filter(param_02.filter2,1,0);
|
|
}
|
|
}
|
|
else if(!azm_get_filter_bypass())
|
|
{
|
|
soundscripts\_snd_filters::snd_set_filter(undefined,1,0);
|
|
}
|
|
|
|
if(isdefined(param_02.filter1) || isdefined(param_02.filter2))
|
|
{
|
|
if(!azm_get_filter_bypass())
|
|
{
|
|
soundscripts\_snd_filters::snd_set_filter_lerp(param_00);
|
|
}
|
|
}
|
|
|
|
if(param_00 >= 0.75)
|
|
{
|
|
if(isdefined(param_02.reverb1) && !azm_get_reverb_bypass())
|
|
{
|
|
if(param_02.reverb1 == "none")
|
|
{
|
|
soundscripts\_audio_reverb::rvb_start_preset(undefined);
|
|
}
|
|
else
|
|
{
|
|
soundscripts\_audio_reverb::rvb_start_preset(param_02.reverb1);
|
|
}
|
|
}
|
|
|
|
if(isdefined(param_02.occlusion1) && azm_get_occlusion_bypass())
|
|
{
|
|
if(param_02.occlusion1 == "none")
|
|
{
|
|
soundscripts\_snd_filters::snd_set_occlusion(undefined);
|
|
return;
|
|
}
|
|
|
|
soundscripts\_snd_filters::snd_set_occlusion(param_02.occlusion1);
|
|
return;
|
|
}
|
|
|
|
return;
|
|
}
|
|
|
|
if(param_01 >= 0.75)
|
|
{
|
|
if(isdefined(param_02.reverb2) && !azm_get_reverb_bypass())
|
|
{
|
|
if(param_02.reverb2 == "none")
|
|
{
|
|
soundscripts\_audio_reverb::rvb_start_preset(undefined);
|
|
}
|
|
else
|
|
{
|
|
soundscripts\_audio_reverb::rvb_start_preset(param_02.reverb2);
|
|
}
|
|
}
|
|
|
|
if(isdefined(param_02.occlusion2) && !azm_get_occlusion_bypass())
|
|
{
|
|
if(param_02.occlusion2 == "none")
|
|
{
|
|
soundscripts\_snd_filters::snd_set_occlusion(undefined);
|
|
return;
|
|
}
|
|
|
|
soundscripts\_snd_filters::snd_set_occlusion(param_02.occlusion2);
|
|
return;
|
|
}
|
|
}
|
|
} |