/******************************************************************* * Decompiled By: Bog * Decompiled File: maps\_audio.gsc * Game: Call of Duty: Modern Warfare 3 * Platform: PC * Function Count: 175 * Decompile Time: 3030 ms * Timestamp: 10/27/2023 2:19:39 AM *******************************************************************/ //Function Number: 1 aud_init() { if(!isdefined(level.aud)) { if(!isdefined(level.script)) { level.script = tolower(getdvar("mapname")); } level.aud = spawnstruct(); if(!isdefined(level._audio)) { level._audio = spawnstruct(); } level._audio.var_16F6 = 0; level._audio.message_handlers = []; var_00 = spawnstruct(); level._audio.index = spawnstruct(); level._audio.index.common = get_index_struct(); level._audio.index.var_16F9 = get_index_struct(); index_common_presets(); level._audio.var_16FA = []; level._audio.progress_trigger_callbacks = []; level._audio.var_16FC = []; level._audio.filter_disabled = 0; level._audio.var_16FE = ""; level._audio.var_16FF = ["",""]; level._audio.var_159D = 0; level._audio.vo_duck_active = 0; level._audio.sticky_threat = undefined; level._audio.player_state = spawnstruct(); level._audio.player_state.locamote = "idle"; level._audio.player_state.locamote_prev = "idle"; level.ambient_reverb = []; level.ambient_track = []; level.fxfireloopmod = 1; level.reverb_track = ""; level.eq_main_track = 0; level.eq_mix_track = 1; level.eq_track[level.eq_main_track] = ""; level.eq_track[level.eq_mix_track] = ""; lib_0068::func_1477(); maps\_audio_dynamic_ambi::damb_init(); maps\_audio_zone_manager::azm_init(); thread lib_0087::func_14FC(); lib_0086::func_1455(); maps\_audio_music::mus_init(); maps\_audio_whizby::whiz_init(); maps\_audio_vehicles::vm_init(); thread aud_level_fadein(); thread aud_wait_for_mission_fail_music(); aud_register_msg_handler(::_audio_msg_handler); } } //Function Number: 2 audio_presets_dynamic_ambience(param_00,param_01) { aud_print_error("CALLING DYNAMIC_AMBIENCE PRESET USING OLD METHOD!"); } //Function Number: 3 audio_presets_dynamic_ambience_components(param_00,param_01) { aud_print_error("CALLING DYNAMIC_AMBIENCE_COMPONENTS PRESET USING OLD METHOD!"); } //Function Number: 4 audio_presets_dynamic_ambience_loop_definitions(param_00,param_01) { aud_print_error("CALLING DYNAMIC_AMBIENCE_LOOP_DEFINITIONS PRESET USING OLD METHOD!"); } //Function Number: 5 audio_presets_mix(param_00,param_01) { aud_print_error("CALLING MIX PRESET USING OLD METHOD!"); } //Function Number: 6 audio_presets_occlusion(param_00,param_01) { aud_print_error("CALLING OCCLUSION PRESET USING OLD METHOD!"); } //Function Number: 7 audio_presets_reverb(param_00,param_01) { aud_print_error("CALLING REVERB PRESET USING OLD METHOD!"); } //Function Number: 8 audio_presets_whizby(param_00,param_01) { aud_print_error("CALLING WHIZBY PRESET USING OLD METHOD!"); } //Function Number: 9 audio_presets_zones(param_00,param_01) { aud_print_error("CALLING ZONE PRESET USING OLD METHOD!"); } //Function Number: 10 aud_prime_stream(param_00,param_01,param_02) { var_03 = 0; if(isdefined(param_01)) { var_03 = param_01; } self endon("release" + param_00); for(;;) { self prefetchsound(param_00,"primed" + param_00); self waittill("primed" + param_00); if(!isdefined(self.primed_streams)) { self.primed_streams = []; } self.primed_streams[param_00] = 1; if(!var_03) { return; } else if(isdefined(param_02)) { wait param_02; } } } //Function Number: 11 aud_is_stream_primed(param_00) { if(isdefined(self.primed_streams) && isdefined(self.primed_streams[param_00]) && self.primed_streams[param_00]) { return 1; } return 0; } //Function Number: 12 aud_error_if_not_primed(param_00) { } //Function Number: 13 aud_release_stream(param_00,param_01) { var_02 = 0; if(isdefined(param_01)) { var_02 = param_01; } self notify("release" + param_00); if(var_02 && isdefined(self)) { self stopsounds(); } } //Function Number: 14 aud_wait_till_primed(param_00) { if(isdefined(self.primed_streams) && isdefined(self.primed_streams[param_00]) && self.primed_streams[param_00]) { return; } self waittill("primed" + param_00); self notify("release" + param_00); } //Function Number: 15 aud_prime_and_play_internal(param_00,param_01,param_02) { aud_prime_stream(param_00); if(isdefined(param_02) && param_02) { aud_slomo_wait(param_01); } else { wait param_01; } self playsound(param_00,"sounddone"); self waittill("sounddone"); wait 0.05; self delete(); } //Function Number: 16 aud_prime_and_play(param_00,param_01,param_02,param_03) { var_04 = level.player.origin; if(isdefined(param_02)) { var_04 = param_02; } var_05 = spawn("script_origin",var_04); var_05 thread aud_prime_and_play_internal(param_00,param_01,param_03); return var_05; } //Function Number: 17 aud_add_progress_map(param_00,param_01) { level._audio.var_16FC[param_00] = param_01; } //Function Number: 18 aud_get_progress_map(param_00) { if(isdefined(level._audio.var_16FC[param_00])) { return level._audio.var_16FC[param_00]; } } //Function Number: 19 is_deathsdoor_audio_enabled() { if(!isdefined(level._audio.deathsdoor_enabled)) { return 1; } return level._audio.deathsdoor_enabled; } //Function Number: 20 aud_enable_deathsdoor_audio() { level.player.disable_breathing_sound = 0; level._audio.deathsdoor_enabled = 1; } //Function Number: 21 aud_disable_deathsdoor_audio() { level.player.disable_breathing_sound = 1; level._audio.deathsdoor_enabled = 0; } //Function Number: 22 restore_after_deathsdoor() { if(is_deathsdoor_audio_enabled() || isdefined(level._audio.var_171B)) { level._audio.var_171B = undefined; thread aud_set_occlusion(level._audio.var_1467.var_171C); thread aud_set_filter(level._audio.var_1467.var_171D); thread lib_0086::func_1465(level._audio.var_1467.var_1457); } } //Function Number: 23 set_deathsdoor() { level._audio.var_171B = 1; if(!isdefined(level._audio.var_1467)) { level._audio.var_1467 = spawnstruct(); } level._audio.var_1467.var_171D = undefined; level._audio.var_1467.var_171C = undefined; level._audio.var_1467.var_1457 = undefined; level._audio.var_1467.var_171D = level._audio.var_16FE; level._audio.var_1467.var_171C = level._audio.var_171F; level._audio.var_1467.var_1457 = level._audio.var_145A; if(is_deathsdoor_audio_enabled()) { thread aud_set_filter("deathsdoor"); thread lib_0086::func_1465("deathsdoor"); } } //Function Number: 24 aud_set_mission_failed_music(param_00) { level._audio.var_1721 = param_00; } //Function Number: 25 aud_wait_for_mission_fail_music() { wait 0.05; while(!common_scripts\utility::flag_exist("missionfailed")) { wait 0.05; } var_00 = "shg_mission_failed_stinger"; common_scripts\utility::flag_wait("missionfailed"); if(isdefined(level._audio.var_1721)) { var_00 = level._audio.var_1721; } if(soundexists(var_00)) { maps\_audio_music::mus_play(var_00,2,4); } } //Function Number: 26 func_1723(param_00,param_01,param_02,param_03) { var_04 = 7; var_05 = ""; var_06 = 0; var_07 = []; var_08 = []; var_09 = 0; var_0A = 0; param_02 = get_indexed_preset("filter",param_00,param_03); if(param_02 != -1) { var_06 = param_02; } else if((param_03 && aud_is_common_indexed()) || !param_03 && aud_is_local_indexed()) { return 0; } while(var_05 != "EOF" && var_0A < 10) { var_05 = tablelookupbyrow(param_01,var_06,0); if(var_05 != "") { var_0A = 0; } while(var_05 == param_00) { var_09 = 1; var_07 = undefined; for(var_0B = 1;var_0B < var_04;var_0B++) { if(!isdefined(var_08[var_0B])) { var_08[var_0B] = tablelookupbyrow(param_01,0,var_0B); } var_0C = var_08[var_0B]; var_0D = tablelookupbyrow(param_01,var_06,var_0B); if(var_0D != "") { switch(var_0C) { case "channel_name": var_07 = spawnstruct(); var_07.var_1724 = var_0D; break; case "band": var_07.var_1725 = int(var_0D); break; case "type": var_07.type = var_0D; break; case "freq": var_07.var_1726 = float(var_0D); break; case "gain": var_07.current_occlusion = float(var_0D); break; case "q": var_07.zone_occlusion_and_filtering_disabled = float(var_0D); break; default: break; } } } if(!isdefined(level._audio.var_1729[param_00])) { level._audio.var_1729[param_00] = []; } level._audio.var_1729[param_00][level._audio.var_1729[param_00].size] = var_07; var_06++; var_05 = tablelookupbyrow(param_01,var_06,0); } var_0A++; if(var_09) { return 1; } var_06++; } return 0; } //Function Number: 27 func_172A(param_00,param_01,param_02) { if(!isdefined(level._audio.var_1729)) { level._audio.var_1729 = []; } var_03 = 0; if(isdefined(param_01)) { var_03 = param_01; } if(!isdefined(level._audio.var_1729[param_00])) { level._audio.var_1729[param_00] = []; var_04 = "soundtables/common_filter.csv"; var_05 = get_filter_stringtable(); var_06 = 1; var_06 = func_1723(param_00,var_05,var_03,0); if(!var_06) { var_06 = func_1723(param_00,var_04,var_03,1); } if(!var_06) { return; } } level._audio.var_16FE = param_00; if(level._audio.var_16FF[var_03] != param_00) { level._audio.var_16FF[var_03] = param_00; var_07 = 10; if(isdefined(param_02)) { var_07 = param_02; } var_08 = 0; foreach(var_0A in level._audio.var_1729[param_00]) { level.player seteq(var_0A.var_1724,var_03,var_0A.var_1725,var_0A.type,var_0A.current_occlusion,var_0A.var_1726,var_0A.zone_occlusion_and_filtering_disabled); if(var_08 < var_07) { var_08++; continue; } var_08 = 0; wait 0.05; } } } //Function Number: 28 aud_clear_filter(param_00) { var_01 = 0; if(isdefined(param_00)) { var_01 = param_00; } level._audio.var_16FF[var_01] = ""; aud_set_filter(undefined,var_01); } //Function Number: 29 aud_disable_zone_filter() { level._audio.filter_zone_disabled = 1; } //Function Number: 30 aud_enable_zone_filter() { level._audio.filter_zone_disabled = undefined; } //Function Number: 31 aud_is_zone_filter_enabled() { return !isdefined(level._audio.filter_zone_disabled); } //Function Number: 32 aud_set_filter(param_00,param_01,param_02,param_03) { if(level._audio.filter_disabled) { return; } if(isdefined(level.player.ent_flag) && isdefined(level.player.ent_flag["player_has_red_flashing_overlay"]) && level.player maps\_utility::ent_flag("player_has_red_flashing_overlay")) { return; } var_04 = 0; if(isdefined(param_01)) { var_04 = param_01; } if(!isdefined(param_00) || isdefined(param_00) && param_00 == "") { level._audio.var_16FE = undefined; level.player deactivateeq(var_04); return; } thread func_172A(param_00,param_01,param_02); } //Function Number: 33 aud_disable_filter_setting(param_00) { level._audio.filter_disabled = 1; } //Function Number: 34 aud_enable_filter_setting(param_00) { level._audio.filter_disabled = 0; } //Function Number: 35 aud_set_timescale_internal(param_00) { var_01 = "soundtables/common_timescale.csv"; var_02 = 2; var_03 = ""; var_04 = 0; var_05 = []; var_06 = []; var_07 = 0; var_08 = 0; var_09 = get_indexed_preset("timescale",param_00,1); if(var_09 != -1) { var_04 = var_09; } else if(aud_is_common_indexed()) { return 0; } while(var_03 != "EOF" && var_08 < 10) { var_03 = tablelookupbyrow(var_01,var_04,0); if(var_03 != "") { var_08 = 0; } while(var_03 == param_00) { var_07 = 1; var_05 = undefined; for(var_0A = 1;var_0A < var_02 + 1;var_0A++) { if(!isdefined(var_06[var_0A])) { var_06[var_0A] = tablelookupbyrow(var_01,0,var_0A); } var_0B = var_06[var_0A]; var_0C = tablelookupbyrow(var_01,var_04,var_0A); if(var_0C != "") { switch(var_0B) { case "channel_name": var_05 = spawnstruct(); var_05.var_1724 = var_0C; break; case "scalefactor": var_05.var_1732 = float(var_0C); break; default: aud_print_error("In timescale preset table, common_timescale.csv, there is an improperly labeled parameter column, \" + var_0B + "\"."); break; } } } if(isdefined(var_05)) { level._audio.timescale_presets[param_00][level._audio.timescale_presets[param_00].size] = var_05; } var_04++; var_03 = tablelookupbyrow(var_01,var_04,0); } var_08++; if(var_07) { return 1; } var_04++; } return 0; } //Function Number: 36 aud_set_timescale_threaded(param_00,param_01) { var_02 = "default"; if(isdefined(param_00)) { var_02 = param_00; } if(!isdefined(level._audio.timescale_presets)) { level._audio.timescale_presets = []; } var_03 = 1; if(!isdefined(level._audio.timescale_presets[var_02])) { level._audio.timescale_presets[var_02] = []; var_03 = aud_set_timescale_internal(var_02); } if(!var_03) { return; } var_04 = 10; if(isdefined(param_01)) { var_04 = param_01; } var_05 = 0; foreach(var_07 in level._audio.timescale_presets[var_02]) { soundsettimescalefactor(var_07.var_1724,var_07.var_1732); if(var_05 < var_04) { var_05++; continue; } var_05 = 0; wait 0.05; } } //Function Number: 37 aud_set_timescale(param_00,param_01) { thread aud_set_timescale_threaded(param_00,param_01); } //Function Number: 38 aud_set_occlusion_internal(param_00) { if(!isdefined(param_00)) { return; } var_01 = "soundtables/common_occlusion.csv"; var_02 = 5; var_03 = ""; var_04 = 0; var_05 = []; var_06 = []; var_07 = 0; var_08 = 0; var_09 = get_indexed_preset("occlusion",param_00,1); if(var_09 != -1) { var_04 = var_09; } else if(aud_is_common_indexed()) { return 0; } while(var_03 != "EOF" && var_08 < 10) { var_03 = tablelookupbyrow(var_01,var_04,0); if(var_03 != "") { var_08 = 0; } while(var_03 == param_00) { var_07 = 1; var_05 = undefined; for(var_0A = 1;var_0A < var_02 + 1;var_0A++) { if(!isdefined(var_06[var_0A])) { var_06[var_0A] = tablelookupbyrow(var_01,0,var_0A); } var_0B = var_06[var_0A]; var_0C = tablelookupbyrow(var_01,var_04,var_0A); if(var_0C != "") { switch(var_0B) { case "channel_name": var_05 = spawnstruct(); var_05.var_1724 = var_0C; break; case "frequency": var_05.var_1726 = float(var_0C); break; case "type": var_05.type = var_0C; break; case "gain": var_05.current_occlusion = float(var_0C); break; case "q": var_05.zone_occlusion_and_filtering_disabled = float(var_0C); break; default: aud_print_error("In occlusion preset table, common_occlusion.csv, there is an improperly labeled parameter column, \" + var_0B + "\"."); break; } } } if(!isdefined(var_05.var_1726)) { var_05.var_1726 = 600; } if(!isdefined(var_05.type)) { var_05.type = "highshelf"; } if(!isdefined(var_05.current_occlusion)) { var_05.current_occlusion = -12; } if(!isdefined(var_05.zone_occlusion_and_filtering_disabled)) { var_05.zone_occlusion_and_filtering_disabled = 1; } level._audio.q[param_00][level._audio.q[param_00].size] = var_05; var_04++; var_03 = tablelookupbyrow(var_01,var_04,0); } var_08++; if(var_07) { return 1; } var_04++; } return 0; } //Function Number: 39 aud_set_occlusion_threaded(param_00,param_01) { var_02 = "default"; if(isdefined(param_00)) { var_02 = param_00; } if(!isdefined(level._audio.q)) { level._audio.q = []; } var_03 = 1; if(!isdefined(level._audio.q[var_02])) { level._audio.q[var_02] = []; var_03 = aud_set_occlusion_internal(var_02); } if(!var_03) { return; } level._audio.var_171F = var_02; if(!isdefined(level._audio.var_159D) && level._audio.var_159D) { var_04 = 10; if(isdefined(param_01)) { var_04 = var_04; } var_05 = 0; foreach(var_07 in level._audio.q[var_02]) { level.player setocclusion(var_07.var_1724,var_07.var_1726,var_07.type,var_07.current_occlusion,var_07.zone_occlusion_and_filtering_disabled); if(var_05 < var_04) { var_05++; continue; } var_05 = 0; wait 0.05; } } } //Function Number: 40 aud_set_occlusion(param_00,param_01) { if(isdefined(level.player.ent_flag) && isdefined(level.player.ent_flag["player_has_red_flashing_overlay"]) && level.player maps\_utility::ent_flag("player_has_red_flashing_overlay")) { return; } if(!isdefined(param_00)) { level._audio.var_16FE = undefined; return; } thread aud_set_occlusion_threaded(param_00,param_01); } //Function Number: 41 aud_deactivate_occlusion(param_00) { var_01 = 10; if(isdefined(param_00)) { var_01 = var_01; } var_02 = 0; foreach(var_05, var_04 in level._audio.indexed.var_152C) { level.player deactivateocclusion(var_05); if(var_02 < var_01) { var_02++; continue; } var_02 = 0; wait 0.05; } } //Function Number: 42 aud_disable_zone_occlusion_and_filtering(param_00) { var_01 = 10; if(isdefined(param_00)) { var_01 = var_01; } aud_set_filter(undefined,0,var_01); aud_set_filter(undefined,1,var_01); aud_deactivate_occlusion(var_01); level._audio.var_159D = 1; } //Function Number: 43 aud_enable_zone_occlusion_and_filtering(param_00) { var_01 = undefined; var_02 = "default"; var_03 = 10; if(isdefined(param_00)) { var_03 = var_03; } if(isdefined(level._audio.zone_mgr.current_zone) && isdefined(level._audio.zone_mgr.zones[level._audio.zone_mgr.current_zone])) { var_04 = maps\_audio_zone_manager::azm_get_current_zone(); var_05 = level._audio.zone_mgr.zones[var_04]; if(isdefined(var_05["occlusion"]) && var_05["occlusion"] != "none") { var_02 = var_05["occlusion"]; } if(isdefined(var_05["filter"]) && var_05["filter"] != "none") { var_01 = var_05["filter"]; } } if(level._audio.var_171F != var_02) { var_02 = level._audio.var_171F; } level._audio.var_159D = 0; aud_set_filter(var_01,0,var_03); aud_set_filter(undefined,1,var_03); aud_set_occlusion(var_02,var_03); } //Function Number: 44 aud_use_level_zones(param_00) { level._audio.level_audio_reverb_function = param_00; } //Function Number: 45 aud_use_level_reverb(param_00) { level._audio.level_audio_filter_function = param_00; } //Function Number: 46 aud_use_level_filters(param_00) { level._audio.var_173E = param_00; } //Function Number: 47 aud_use_string_tables(param_00) { var_01 = 1; if(isdefined(param_00)) { var_01 = param_00; } level._audio.var_16F6 = 1; maps\_audio_zone_manager::azm_use_string_table(); lib_0086::func_145B(); maps\_audio_dynamic_ambi::damb_use_string_table(); lib_0087::func_150E(); maps\_audio_whizby::whiz_use_string_table(); if(var_01) { aud_index_presets(); } maps\_audio_whizby::whiz_set_preset("default"); } //Function Number: 48 set_stringtable_mapname(param_00) { aud_use_string_tables(0); level._audio.message_handlers["map"] = param_00; aud_index_presets(); } //Function Number: 49 get_stringtable_mapname() { if(isdefined(level._audio.message_handlers["map"])) { return level._audio.message_handlers["map"]; } return common_scripts\utility::get_template_level(); } //Function Number: 50 set_mix_stringtable(param_00) { level._audio.message_handlers["mix"] = param_00; } //Function Number: 51 get_mix_stringtable() { if(!isdefined(level._audio.message_handlers["mix"])) { return "soundtables/" + get_stringtable_mapname() + "_mix.csv"; } return "soundtables/" + level._audio.message_handlers["mix"]; } //Function Number: 52 set_damb_stringtable(param_00) { level._audio.message_handlers["damb"] = param_00; } //Function Number: 53 get_damb_stringtable() { if(!isdefined(level._audio.message_handlers["damb"])) { return "soundtables/" + get_stringtable_mapname() + "_damb.csv"; } return "soundtables/" + level._audio.message_handlers["damb"]; } //Function Number: 54 set_damb_component_stringtable(param_00) { level._audio.message_handlers["damb_comp"] = param_00; } //Function Number: 55 get_damb_component_stringtable(param_00) { if(!isdefined(level._audio.message_handlers["damb_comp"])) { return "soundtables/" + get_stringtable_mapname() + "_damb_components.csv"; } return "soundtables/" + level._audio.message_handlers["damb_comp"]; } //Function Number: 56 set_damb_loops_stringtable(param_00) { level._audio.message_handlers["damb_loops"] = param_00; } //Function Number: 57 get_damb_loops_stringtable(param_00) { if(!isdefined(level._audio.message_handlers["damb_loops"])) { return "soundtables/" + get_stringtable_mapname() + "_damb_loops.csv"; } return "soundtables/" + level._audio.message_handlers["damb_loops"]; } //Function Number: 58 set_reverb_stringtable(param_00) { level._audio.message_handlers["reverb"] = param_00; } //Function Number: 59 get_reverb_stringtable() { if(!isdefined(level._audio.message_handlers["reverb"])) { return "soundtables/" + get_stringtable_mapname() + "_reverb.csv"; } return "soundtables/" + level._audio.message_handlers["reverb"]; } //Function Number: 60 set_filter_stringtable(param_00) { level._audio.message_handlers["filter"] = param_00; } //Function Number: 61 get_filter_stringtable() { if(!isdefined(level._audio.message_handlers["filter"])) { return "soundtables/" + get_stringtable_mapname() + "_filter.csv"; } return "soundtables/" + level._audio.message_handlers["filter"]; } //Function Number: 62 set_zone_stringtable(param_00) { level._audio.message_handlers["zone"] = param_00; } //Function Number: 63 get_zone_stringtable() { if(!isdefined(level._audio.message_handlers["zone"])) { return "soundtables/" + get_stringtable_mapname() + "_zone.csv"; } return "soundtables/" + level._audio.message_handlers["zone"]; } //Function Number: 64 set_occlusion_stringtable(param_00) { level._audio.message_handlers["occlusion"] = param_00; } //Function Number: 65 get_occlusion_stringtable() { if(!isdefined(level._audio.message_handlers["occlusion"])) { return "soundtables/" + get_stringtable_mapname() + "_occlusion.csv"; } return "soundtables/" + level._audio.message_handlers["occlusion"]; } //Function Number: 66 aud_register_msg_handler(param_00) { level._audio.var_16FA[level._audio.var_16FA.size] = param_00; } //Function Number: 67 aud_send_msg(param_00,param_01,param_02) { thread aud_dispatch_msg(param_00,param_01,param_02); } //Function Number: 68 aud_dispatch_msg(param_00,param_01,param_02) { var_03 = 0; var_04 = 0; foreach(var_06 in level._audio.var_16FA) { var_04 = self [[ var_06 ]](param_00,param_01); if(!var_03 && isdefined(var_04) && var_04 == 1) { var_03 = var_04; continue; } if(!var_03 && !isdefined(var_04)) { var_03 = 1; } } if(isdefined(param_02)) { self notify(param_02); } if(!var_03) { aud_print_warning("\tAUDIO MESSAGE NOT HANDLED: " + param_00); } } //Function Number: 69 aud_get_player_locamote_state() { return level._audio.player_state.locamote; } //Function Number: 70 aud_get_threat_level(param_00,param_01,param_02) { var_03 = 0; var_04 = aud_get_sticky_threat(); if(isdefined(var_04)) { var_03 = var_04; } else { var_05 = 3; var_06 = 10; var_07 = 100; if(isdefined(param_00)) { var_05 = param_00; } if(isdefined(param_02)) { var_07 = param_02; } if(isdefined(param_02)) { var_06 = param_01; } var_08 = 36 * var_07; var_09 = 36 * var_06; var_0A = getaiarray("bad_guys"); var_0B = 0; var_0C = 0; foreach(var_0E in var_0A) { if(isdefined(var_0E.var_74B) && var_0E.var_74B >= var_05) { var_0F = distance(level.player.origin,var_0E.origin); if(var_0F < var_08) { var_0B++; if(var_0F < var_09) { var_10 = 1; } else { var_10 = 1 - var_10 - var_0A / var_09 - var_0A; } var_0C = var_0C + var_10; } } } if(var_0B > 0) { var_03 = var_0C / var_0B; } else { var_03 = 0; } } return var_03; } //Function Number: 71 aud_get_sticky_threat() { return level._audio.sticky_threat; } //Function Number: 72 aud_set_sticky_threat(param_00) { level._audio.sticky_threat = param_00; } //Function Number: 73 aud_clear_sticky_threat() { level._audio.sticky_threat = undefined; } //Function Number: 74 aud_num_alive_enemies(param_00) { var_01 = 0; var_02 = 3600; if(isdefined(param_00)) { var_02 = 36 * param_00; } var_03 = getaiarray("bad_guys"); foreach(var_05 in var_03) { if(isalive(var_05)) { var_06 = distance(level.player.origin,var_05.origin); if(var_06 < var_02) { var_01++; } } } return var_01; } //Function Number: 75 _audio_msg_handler(param_00,param_01) { var_02 = 1; switch(param_00) { case "level_fade_to_black": var_03 = param_01[0]; var_04 = param_01[1]; wait var_03; lib_0087::func_150F("mute_all",var_04); break; case "generic_building_bomb_shake": level.player playsound("sewer_bombs"); break; case "start_player_slide_trigger": break; case "end_player_slide_trigger": break; case "missile_fired": break; case "msg_audio_fx_ambientExp": break; case "aud_play_sound_at": aud_play_sound_at(param_01.alias,param_01.pos); break; case "aud_play_dynamic_explosion": if(isdefined(param_01.var_1755)) { var_05 = param_01.var_1755; } else { var_05 = undefined; } if(isdefined(param_01.var_1756)) { var_06 = param_01.var_1756; } else { var_06 = undefined; } if(isdefined(param_01.velocity)) { var_07 = param_01.velocity; } else { var_07 = undefined; } aud_play_dynamic_explosion(param_01.var_1759,param_01.var_1758,param_01.var_1757,var_05,var_06,var_07); break; case "aud_play_conversation": aud_play_conversation(param_00,param_01); break; case "xm25_contact_explode": if(soundexists("xm25_proj_explo")) { var_08 = param_01; thread common_scripts\utility::play_sound_in_space("xm25_proj_explo",var_08); } break; case "light_flicker_on": var_09 = param_01; aud_handle_flickering_light(var_09); break; default: var_02 = 0; break; } return var_02; } //Function Number: 76 aud_handle_flickering_light(param_00) { var_01 = 0; switch(param_00.model) { case "furniture_lamp_table1": case "com_cafe_light_part1_off": case "furniture_lamp_floor1_off": var_01 = 1; if(soundexists("paris_lamplight_flicker")) { thread common_scripts\utility::play_sound_in_space("paris_lamplight_flicker",param_00.origin); } break; default: var_01 = 0; break; } return var_01; } //Function Number: 77 aud_play_conversation(param_00,param_01) { var_02 = param_01; var_03 = []; for(var_04 = 0;var_04 < var_02.size;var_04++) { var_03[var_04] = var_02[var_04].ent.battlechatter; var_02[var_04].ent.battlechatter = 0; } foreach(var_06 in var_02) { if(isdefined(var_06.delay)) { wait var_06.delay; } var_07 = spawn("script_origin",(0,0,0)); var_07 linkto(var_06.ent,"",(0,0,0),(0,0,0)); var_07 playsound(var_06.sound,"sounddone"); var_07 waittill("sounddone"); wait 0.05; var_07 delete(); } for(var_04 = 0;var_04 < var_02.size;var_04++) { var_02[var_04].ent.battlechatter = var_03[var_04]; } } //Function Number: 78 trigger_multiple_audio_register_callback(param_00) { if(!isdefined(level._audio.trigger_functions)) { level._audio.trigger_functions = []; } for(var_01 = 0;var_01 < param_00.size;var_01++) { var_02 = param_00[var_01]; var_03 = var_02[0]; var_04 = var_02[1]; level._audio.trigger_functions[var_03] = var_04; } if(isdefined(level._audio.var_175E)) { foreach(var_03 in level._audio.var_175E) { } level._audio.var_175E = undefined; } } //Function Number: 79 get_target_ent_target() { var_00 = common_scripts\utility::get_target_ent(); return var_00.target; } //Function Number: 80 get_target_ent_origin() { var_00 = common_scripts\utility::get_target_ent(); return var_00.origin; } //Function Number: 81 get_target_ent_target_ent() { var_00 = common_scripts\utility::get_target_ent(); return var_00 common_scripts\utility::get_target_ent(); } //Function Number: 82 get_target_ent_target_ent_origin() { var_00 = get_target_ent_target_ent(); return var_00.origin; } //Function Number: 83 get_zone_from(param_00,param_01) { if(!isdefined(param_00) || !isdefined(param_01)) { return undefined; } if(param_01) { return param_00[1]; } return param_00[0]; } //Function Number: 84 get_zone_to(param_00,param_01) { if(!isdefined(param_00) || !isdefined(param_01)) { return undefined; } if(param_01) { return param_00[0]; } return param_00[1]; } //Function Number: 85 trigger_multiple_audio_trigger(param_00) { if(!isdefined(level._audio)) { level._audio = spawnstruct(); } if(!isdefined(level._audio.trigger_functions)) { level._audio.trigger_functions = []; } var_01 = undefined; if(isdefined(param_00) && param_00) { if(isdefined(self.ambient)) { var_01 = strtok(self.ambient," "); } } else if(isdefined(self.script_audio_zones)) { var_01 = strtok(self.script_audio_zones," "); } else if(isdefined(self.var_1767)) { var_01 = strtok(self.var_1767," "); } if(isdefined(var_01) && var_01.size == 2) { } else if(isdefined(var_01) && var_01.size == 1) { for(;;) { self waittill("trigger",var_02); maps\_audio_zone_manager::azm_start_zone(var_01[0],self.script_duration); } } if(isdefined(self.var_1768)) { if(!isdefined(level._audio.var_16FC[self.var_1768])) { aud_print_error("Trying to set a progress_map_function without defining the envelope in the level.aud.envs array."); self.var_1768 = undefined; } } if(!isdefined(level._audio.var_175E)) { level._audio.var_175E = []; } if(isdefined(self.script_audio_enter_func)) { level._audio.var_175E[level._audio.var_175E.size] = self.script_audio_enter_func; } if(isdefined(self.script_audio_exit_func)) { level._audio.var_175E[level._audio.var_175E.size] = self.script_audio_exit_func; } if(isdefined(self.script_audio_progress_func)) { level._audio.var_175E[level._audio.var_175E.size] = self.script_audio_progress_func; } if(isdefined(self.script_audio_point_func)) { level._audio.var_175E[level._audio.var_175E.size] = self.script_audio_point_func; } if(!isdefined(self.var_176D)) { self.var_176D = "blend"; } var_03 = undefined; var_04 = undefined; var_05 = undefined; if(isdefined(self.target)) { if(!isdefined(common_scripts\utility::get_target_ent())) { aud_print_error("Audo Zone Trigger at " + self.origin + " has defined a target, " + self.target + ", but that target doesn\'t exist."); return; } if(isdefined(get_target_ent_target())) { var_03 = get_target_ent_origin(); if(!isdefined(get_target_ent_target_ent())) { aud_print_error("Audo Zone Trigger at " + self.origin + " has defined a target, " + get_target_ent_target() + ", but that target doesn\'t exist."); return; } var_04 = get_target_ent_target_ent_origin(); } else { var_06 = common_scripts\utility::get_target_ent(); var_07 = 2 * self.origin - var_06.origin; var_08 = vectortoangles(var_07); var_03 = get_target_ent_origin(); var_04 = var_03 + var_07; if(angleclamp180(var_08[0]) < 45) { var_03 = (var_03[0],var_03[1],0); var_04 = (var_04[0],var_04[1],0); } } var_05 = distance(var_03,var_04); } var_09 = 0; for(;;) { self waittill("trigger",var_02); if(aud_is_specops() && var_02 != level.player) { continue; } if(isdefined(var_03) && isdefined(var_04)) { var_0A = trigger_multiple_audio_progress(var_03,var_04,var_05,var_02.origin); if(var_0A < 0.5) { var_09 = 0; if(isdefined(self.script_audio_enter_msg)) { if(isdefined(var_01) && isdefined(var_01[0])) { aud_send_msg(self.script_audio_enter_msg,var_01[0]); } else { aud_send_msg(self.script_audio_enter_msg,"front"); } } if(isdefined(self.script_audio_enter_func)) { if(isdefined(var_01) && isdefined(var_01[0])) { if(isdefined(level._audio.trigger_functions[self.script_audio_enter_func])) { [[ level._audio.trigger_functions[self.script_audio_enter_func] ]](var_01[0]); } } else if(isdefined(level._audio.trigger_functions[self.script_audio_enter_func])) { [[ level._audio.trigger_functions[self.script_audio_enter_func] ]]("front"); } } } else { var_09 = 1; if(isdefined(self.script_audio_enter_msg)) { if(isdefined(var_01) && isdefined(var_01[1])) { aud_send_msg(self.script_audio_enter_msg,var_01[1]); } else { aud_send_msg(self.script_audio_enter_msg,"back"); } } if(isdefined(self.script_audio_enter_func)) { if(isdefined(var_01) && isdefined(var_01[1])) { if(isdefined(level._audio.trigger_functions[self.script_audio_enter_func])) { [[ level._audio.trigger_functions[self.script_audio_enter_func] ]](var_01[1]); } } else if(isdefined(level._audio.trigger_functions[self.script_audio_enter_func])) { [[ level._audio.trigger_functions[self.script_audio_enter_func] ]]("back"); } } } } else { if(isdefined(self.script_audio_enter_msg)) { aud_send_msg(self.script_audio_enter_msg); } if(isdefined(self.script_audio_enter_func)) { if(isdefined(level._audio.trigger_functions[self.script_audio_enter_func])) { [[ level._audio.trigger_functions[self.script_audio_enter_func] ]](); } } } var_0B = undefined; if(isdefined(get_zone_from(var_01,var_09)) && isdefined(get_zone_to(var_01,var_09))) { var_0B = maps\_audio_zone_manager::azmx_get_blend_args(get_zone_from(var_01,var_09),get_zone_to(var_01,var_09)); if(!isdefined(var_0B)) { return; } var_0B.mode = self.var_176D; } if(isdefined(var_0B) && aud_is_zone_filter_enabled()) { if(isdefined(var_0B.filter1) || isdefined(var_0B.filter2)) { level.player deactivateeq(1); } } var_0C = -1; var_0A = -1; while(var_02 istouching(self)) { if(isdefined(self.script_audio_point_func)) { var_0D = trigger_multiple_audio_progress_point(var_03,var_04,var_02.origin); if(isdefined(level._audio.trigger_functions[self.script_audio_point_func])) { [[ level._audio.trigger_functions[self.script_audio_point_func] ]](var_0D); } } if(isdefined(var_03) && isdefined(var_04)) { var_0A = trigger_multiple_audio_progress(var_03,var_04,var_05,var_02.origin); if(isdefined(self.var_1768)) { var_0A = aud_map(var_0A,level._audio.var_16FC[self.var_1768]); } if(var_0A != var_0C) { if(isdefined(get_zone_from(var_01,var_09)) && isdefined(get_zone_to(var_01,var_09))) { maps\_audio_zone_manager::azm_print_enter_blend(get_zone_from(var_01,var_09),get_zone_to(var_01,var_09),var_0A); } if(isdefined(self.script_audio_progress_msg)) { aud_send_msg(self.script_audio_progress_msg,var_0A); } if(isdefined(self.script_audio_progress_func)) { if(isdefined(level._audio.trigger_functions[self.script_audio_progress_func])) { [[ level._audio.trigger_functions[self.script_audio_progress_func] ]](var_0A); } } if(isdefined(var_0B)) { trigger_multiple_audio_blend(var_0A,var_0B,var_09); } var_0C = var_0A; maps\_audio_zone_manager::azm_print_progress(var_0A); } } if(isdefined(self.var_1770)) { wait self.var_1770; continue; } wait 0.1; } if(isdefined(var_03) && isdefined(var_04)) { if(var_0A > 0.5) { if(isdefined(var_01) && isdefined(var_01[1])) { maps\_audio_zone_manager::azm_set_current_zone(var_01[1]); } if(isdefined(self.script_audio_exit_msg)) { if(isdefined(var_01) && isdefined(var_01[1])) { aud_send_msg(self.script_audio_exit_msg,var_01[1]); } else { aud_send_msg(self.script_audio_exit_msg,"back"); } } if(isdefined(self.script_audio_exit_func)) { if(isdefined(var_01) && isdefined(var_01[1])) { if(isdefined(level._audio.trigger_functions[self.script_audio_exit_func])) { [[ level._audio.trigger_functions[self.script_audio_exit_func] ]](var_01[1]); } } else if(isdefined(level._audio.trigger_functions[self.script_audio_exit_func])) { [[ level._audio.trigger_functions[self.script_audio_exit_func] ]]("back"); } } var_0A = 1; } else { if(isdefined(var_01) && isdefined(var_01[0])) { maps\_audio_zone_manager::azm_set_current_zone(var_01[0]); } if(isdefined(self.script_audio_exit_msg)) { if(isdefined(var_01) && isdefined(var_01[0])) { aud_send_msg(self.script_audio_exit_msg,var_01[0]); } else { aud_send_msg(self.script_audio_exit_msg,"front"); } } if(isdefined(self.script_audio_exit_func)) { if(isdefined(var_01) && isdefined(var_01[0])) { if(isdefined(level._audio.trigger_functions[self.script_audio_exit_func])) { [[ level._audio.trigger_functions[self.script_audio_exit_func] ]](var_01[0]); } } else if(isdefined(level._audio.trigger_functions[self.script_audio_exit_func])) { [[ level._audio.trigger_functions[self.script_audio_exit_func] ]]("front"); } } var_0A = 0; } if(isdefined(var_0B)) { trigger_multiple_audio_blend(var_0A,var_0B,var_09); } continue; } if(isdefined(self.script_audio_exit_msg)) { aud_send_msg(self.script_audio_exit_msg); } if(isdefined(self.script_audio_exit_func)) { if(isdefined(level._audio.trigger_functions[self.script_audio_exit_func])) { [[ level._audio.trigger_functions[self.script_audio_exit_func] ]](); } } } } //Function Number: 86 trigger_multiple_audio_progress(param_00,param_01,param_02,param_03) { var_04 = vectornormalize(param_01 - param_00); var_05 = param_03 - param_00; var_06 = vectordot(var_05,var_04); var_06 = var_06 / param_02; return clamp(var_06,0,1); } //Function Number: 87 trigger_multiple_audio_progress_point(param_00,param_01,param_02) { var_03 = vectornormalize(param_01 - param_00); var_04 = param_02 - param_00; var_05 = vectordot(var_04,var_03); return var_03 * var_05 + param_00; } //Function Number: 88 trigger_multiple_audio_blend(param_00,param_01,param_02) { param_00 = clamp(param_00,0,1); if(param_02) { param_00 = 1 - param_00; } var_03 = param_01.mode; if(var_03 == "blend") { var_04 = 1 - param_00; var_05 = param_00; maps\_audio_zone_manager::azmx_blend_zones(var_04,var_05,param_01); return; } if(param_00 < 0.33) { maps\_audio_zone_manager::azm_start_zone(param_01.zone_from_name); return; } if(param_00 > 0.66) { maps\_audio_zone_manager::azm_start_zone(param_01.zone_to_name); return; } } //Function Number: 89 aud_play_dynamic_explosion(param_00,param_01,param_02,param_03,param_04,param_05) { var_06 = spawn("script_origin",level.player.origin); var_07 = spawn("script_origin",param_00); if(!isdefined(param_03)) { param_03 = distance(var_07.origin,var_06.origin); } if(!isdefined(param_04)) { var_08 = 30; param_04 = 36 * var_08; } var_09 = aud_do_dynamic_explosion_math(var_07.origin,var_06.origin,param_03,param_04); var_0A = distance(var_09.origin,var_7B[0]); if(!isdefined(var_06)) { var_06 = 1800; } var_0B = var_0A / var_06; if(isdefined(var_7B) && var_7B.size == 2) { var_0C = spawn("script_origin",var_09.origin); var_0D = spawn("script_origin",var_09.origin); var_0C playsound(param_02); var_0D playsound(param_03); var_0C moveto(var_7B[0],var_0B,0,0); var_0D moveto(var_7B[1],var_0B,0,0); } } //Function Number: 90 aud_do_dynamic_explosion_math(param_00,param_01,param_02,param_03) { var_04 = param_01 - param_00; var_05 = aud_copy_vector(var_04); var_06 = aud_copy_vector(var_04); var_07 = aud_vector_magnitude_2d(var_05); var_08 = 0.5 * param_02 / var_07; var_05 = aud_scale_vector_2d(var_05,var_08); var_06 = aud_scale_vector_2d(var_06,var_08); var_05 = aud_rotate_vector_yaw(var_05,90); var_06 = aud_rotate_vector_yaw(var_06,-90); var_09 = aud_vector_magnitude_2d(var_04); var_0A = param_03 / var_09; var_0B = aud_scale_vector_2d(var_04,var_0A); var_0B = var_0B + var_04; var_0B = var_0B + var_04; var_05 = var_05 + var_0B; var_06 = var_06 + var_0B; var_0C = []; return var_7B; } //Function Number: 91 aud_get_optional_param(param_00,param_01) { var_02 = param_01; if(isdefined(param_00)) { var_02 = param_00; } return var_02; } //Function Number: 92 aud_scale_vector_2d(param_00,param_01) { return (param_00[0] * param_01,param_00[1] * param_01,param_00[2]); } //Function Number: 93 aud_scale_vector(param_00,param_01) { return (param_00[0] * param_01,param_00[1] * param_01,param_00[2] * param_01); } //Function Number: 94 aud_rotate_vector_yaw(param_00,param_01) { var_02 = param_00[0] * cos(param_01) - param_00[1] * sin(param_01); var_03 = param_00[0] * sin(param_01) + param_00[1] * cos(param_01); return (var_02,var_03,param_00[2]); } //Function Number: 95 aud_copy_vector(param_00) { var_01 = (0,0,0); var_01 = var_01 + param_00; return var_01; } //Function Number: 96 aud_vector_magnitude_2d(param_00) { return sqrt(param_00[0] * param_00[0] + param_00[1] * param_00[1]); } //Function Number: 97 aud_print_synch(param_00) { aud_print(param_00,"synch_frame"); } //Function Number: 98 aud_print(param_00,param_01) { } //Function Number: 99 aud_print_warning(param_00) { aud_print(param_00,"warning"); } //Function Number: 100 aud_print_error(param_00) { aud_print(param_00,"error"); } //Function Number: 101 aud_print_debug(param_00) { aud_print(param_00); } //Function Number: 102 aud_print_zone(param_00) { aud_print(param_00,"zone"); } //Function Number: 103 aud_print_zone_small(param_00) { aud_print(param_00,"zone_small"); } //Function Number: 104 equal_strings(param_00,param_01) { if(isdefined(param_00) && isdefined(param_01)) { return param_00 == param_01; } return !isdefined(param_00) && !isdefined(param_01); } //Function Number: 105 isundefined(param_00) { return !isdefined(param_00); } //Function Number: 106 delete_on_sounddone(param_00) { param_00 waittill("sounddone"); param_00 delete_sound_entity(); } //Function Number: 107 delete_sound_entity() { common_scripts\utility::delaycall(0.05,::delete); } //Function Number: 108 aud_fade_out_and_delete(param_00,param_01) { param_00 scalevolume(0,param_01); param_00 common_scripts\utility::delaycall(param_01 + 0.05,::stopsounds); param_00 common_scripts\utility::delaycall(param_01 + 0.1,::delete); } //Function Number: 109 aud_fade_loop_out_and_delete(param_00,param_01) { param_00 scalevolume(0,param_01); wait param_01 + 0.05; param_00 stoploopsound(); wait 0.05; param_00 delete(); } //Function Number: 110 aud_min(param_00,param_01) { if(param_00 <= param_01) { return param_00; } return param_01; } //Function Number: 111 aud_max(param_00,param_01) { if(param_00 >= param_01) { return param_00; } return param_01; } //Function Number: 112 aud_clamp(param_00,param_01,param_02) { if(param_00 < param_01) { param_00 = param_01; } else if(param_00 > param_02) { param_00 = param_02; } return param_00; } //Function Number: 113 aud_fade_sound_in(param_00,param_01,param_02,param_03,param_04) { param_02 = aud_clamp(param_02,0,1); param_03 = aud_max(0.05,param_03); var_05 = 0; if(isdefined(param_04)) { var_05 = param_04; } if(var_05) { param_00 playloopsound(param_01); } else { param_00 playsound(param_01); } param_00 scalevolume(0); param_00 common_scripts\utility::delaycall(0.05,::scalevolume,param_02,param_03); } //Function Number: 114 aud_map2(param_00,param_01) { var_04 = param_01[0][0]; var_05 = param_01[param_01.size - 1][0]; var_06 = param_01[0][1]; var_07 = param_01[param_01.size - 1][1]; var_08 = undefined; if(param_00 <= var_04) { var_08 = var_06; } else if(param_00 >= var_05) { var_08 = var_07; } else { var_09 = undefined; var_02 = var_04; var_0A = var_06; for(var_03 = 0;var_03 < param_01.size;var_03++) { var_09 = param_01[var_03][0]; var_0B = param_01[var_03][1]; if(param_00 >= var_02 && param_00 < var_09) { var_0C = param_00 - var_02 / var_09 - var_02; var_08 = var_0A + var_0C * var_0B - var_0A; break; } var_02 = var_09; var_0A = var_0B; } } return var_08; } //Function Number: 115 aud_map(param_00,param_01) { var_02 = 0; var_03 = param_01.size; var_04 = param_01[0]; for(var_05 = 1;var_05 < param_01.size;var_05++) { var_06 = param_01[var_05]; if(param_00 >= var_04[0] && param_00 <= var_06[0]) { var_07 = var_04[0]; var_08 = var_06[0]; var_09 = var_04[1]; var_0A = var_06[1]; var_0B = param_00 - var_07 / var_08 - var_07; var_02 = var_09 + var_0B * var_0A - var_09; break; } else { var_04 = var_06; } } return var_02; } //Function Number: 116 aud_map_range(param_00,param_01,param_02,param_03) { var_04 = param_00 - param_01 / param_02 - param_01; var_04 = clamp(var_04,0,1); return aud_map(var_04,param_03); } //Function Number: 117 aud_smooth(param_00,param_01,param_02) { return param_00 + param_02 * param_01 - param_00; } //Function Number: 118 aud_is_even(param_00) { return param_00 == int(param_00 / 2) * 2; } //Function Number: 119 all_mix_channels_except(param_00) { var_01 = lib_0087::func_152B(); var_02 = []; foreach(var_04 in param_00) { var_01[var_04] = undefined; } foreach(var_04, var_07 in var_01) { var_02[var_02.size] = var_04; } return var_02; } //Function Number: 120 all_mix_channels() { var_00 = lib_0087::func_152B(); var_01 = []; foreach(var_04, var_03 in var_00) { var_01[var_01.size] = var_04; } return var_01; } //Function Number: 121 aud_setalltimescalefactors(param_00) { param_00 = clamp(param_00,0,1); var_01 = all_mix_channels(); aud_settimescalefactors(var_01,param_00); } //Function Number: 122 aud_settimescalefactors(param_00,param_01) { thread audx_settimescalefactors(param_00,param_01); } //Function Number: 123 audx_settimescalefactors(param_00,param_01) { var_02 = 8; var_03 = 0; var_04 = 0; var_05 = 0; while(var_04 < param_00.size) { var_05 = var_04; for(var_03 = 0;var_03 < var_02 && var_05 < param_00.size;var_03++) { soundsettimescalefactor(param_00[var_05],param_01); var_05++; } wait 0.05; var_04 = var_04 + var_02; } } //Function Number: 124 aud_set_breach_time_scale_factors() { var_00 = all_mix_channels(); aud_settimescalefactors(var_00,1); wait 0.5; soundsettimescalefactor("Music",0); soundsettimescalefactor("Menu",0); soundsettimescalefactor("local3",0); soundsettimescalefactor("Mission",0); soundsettimescalefactor("Announcer",0); soundsettimescalefactor("Bulletimpact",0.6); soundsettimescalefactor("Voice",0.4); soundsettimescalefactor("effects1",0.2); soundsettimescalefactor("effects2",0.2); soundsettimescalefactor("local",0.2); soundsettimescalefactor("local2",0.2); soundsettimescalefactor("physics",0.2); soundsettimescalefactor("ambient",0.5); soundsettimescalefactor("auto",0.5); } //Function Number: 125 play_2d_sound_internal(param_00) { self playsound(param_00,"sounddone"); self waittill("sounddone"); wait 0.05; self delete(); } //Function Number: 126 aud_delay_play_2d_sound_internal(param_00,param_01,param_02) { if(isdefined(param_02) && param_02) { aud_slomo_wait(param_01); } else { wait param_01; } var_03 = spawn("script_origin",level.player.origin); var_03 thread play_2d_sound_internal(param_00); return var_03; } //Function Number: 127 aud_play_2d_sound(param_00) { var_01 = spawn("script_origin",level.player.origin); var_01 thread play_2d_sound_internal(param_00); return var_01; } //Function Number: 128 aud_delay_play_2d_sound(param_00,param_01,param_02) { var_03 = thread aud_delay_play_2d_sound_internal(param_00,param_01,param_02); return var_03; } //Function Number: 129 audx_play_linked_sound_internal(param_00,param_01,param_02) { if(param_00 == "loop") { level endon(param_02 + "internal"); self playloopsound(param_01); level waittill(param_02); if(isdefined(self)) { self stoploopsound(param_01); wait 0.05; self delete(); return; } return; } if(param_00 == "oneshot") { self playsound(param_01,"sounddone"); self waittill("sounddone"); if(isdefined(self)) { self delete(); return; } } } //Function Number: 130 audx_monitor_linked_entity_health(param_00,param_01) { level endon(param_01); while(isdefined(self)) { wait 0.1; } level notify(param_01 + "internal"); if(isdefined(param_00)) { param_00 stoploopsound(); wait 0.05; param_00 delete(); } } //Function Number: 131 aud_play_linked_sound(param_00,param_01,param_02,param_03,param_04) { var_05 = "oneshot"; if(isdefined(param_02)) { var_05 = param_02; } var_06 = spawn("script_origin",param_01.origin); if(isdefined(param_04)) { var_06 linkto(param_01,"tag_origin",param_04,(0,0,0)); } else { var_06 linkto(param_01); } if(var_05 == "loop") { param_01 thread audx_monitor_linked_entity_health(var_06,param_03); } var_06 thread audx_play_linked_sound_internal(var_05,param_00,param_03); return var_06; } //Function Number: 132 aud_playsound_attach(param_00,param_01,param_02) { var_03 = spawn("script_origin",param_01.origin); var_03 linkto(param_01); var_04 = "oneshot"; if(isdefined(param_02)) { var_04 = param_02; } if(var_04 == "loop") { var_03 playloopsound(param_00); } else { var_03 playsound(param_00); } return var_03; } //Function Number: 133 aud_play_sound_at_internal(param_00,param_01,param_02) { self playsound(param_00,"sounddone"); if(isdefined(param_02)) { wait param_02; self stopsounds(); } else { self waittill("sounddone"); } wait 0.05; self delete(); } //Function Number: 134 aud_play_sound_at(param_00,param_01,param_02) { var_03 = spawn("script_origin",param_01); var_03 thread aud_play_sound_at_internal(param_00,param_01,param_02); return var_03; } //Function Number: 135 aud_prime_point_source_loop(param_00,param_01) { var_02 = spawn("script_origin",param_01); var_02 thread aud_prime_stream(param_00,1,0.1); return var_02; } //Function Number: 136 aud_play_primed_point_source_loop(param_00,param_01,param_02) { var_03 = aud_get_optional_param(param_01,1); var_04 = aud_get_optional_param(param_02,1); aud_fade_sound_in(self,param_00,var_03,var_04,1); aud_release_stream(param_00); } //Function Number: 137 aud_play_point_source_loop(param_00,param_01,param_02,param_03) { var_04 = aud_get_optional_param(param_02,1); var_05 = aud_get_optional_param(param_03,1); var_06 = spawn("script_origin",param_01); aud_fade_sound_in(var_06,param_00,var_04,var_05,1); return var_06; } //Function Number: 138 aud_stop_point_source_loop(param_00,param_01) { var_02 = aud_get_optional_param(param_01,1); aud_fade_out_and_delete(param_00,var_02); } //Function Number: 139 aud_set_point_source_loop_volume(param_00,param_01,param_02) { param_01 = clamp(param_01,0,1); var_03 = aud_get_optional_param(param_02,1); param_00 scalevolume(param_01,var_03); } //Function Number: 140 aud_play_loops_on_destructables_array(param_00,param_01,param_02,param_03) { var_04 = 0.1; if(isdefined(param_03)) { var_04 = param_03; } var_05 = getentarray(param_00,"script_noteworthy"); var_06 = var_05.size; foreach(var_08 in var_05) { var_08 playloopsound(param_01); var_08.var_17A1 = 0; } while(var_06 > 0) { wait var_04; foreach(var_08 in var_05) { if(var_08.health < 0 && !var_08.var_17A1) { var_06--; var_08 stoploopsound(); var_08.var_17A1 = 1; if(isdefined(param_02)) { common_scripts\utility::play_sound_in_space(param_02,var_08.origin); } } } } } //Function Number: 141 aud_set_music_submix(param_00,param_01) { var_02 = "music_submix"; if(!lib_0087::func_1525(var_02)) { lib_0087::func_1522(var_02,["music",1],param_01); lib_0087::func_1515(var_02); } lib_0087::func_151E(var_02,param_00,param_01); } //Function Number: 142 aud_set_ambi_submix(param_00,param_01) { var_02 = "ambi_submix"; if(!lib_0087::func_1525(var_02)) { lib_0087::func_1522(var_02,["ambience",1],param_01); lib_0087::func_1515(var_02); } lib_0087::func_151E(var_02,param_00,param_01); } //Function Number: 143 aud_fade_in_music(param_00) { var_01 = 10; if(isdefined(param_00)) { var_01 = param_00; } lib_0087::func_1517("mute_music",0.1); wait 0.05; lib_0087::func_1520("mute_music",var_01); } //Function Number: 144 aud_check_sound_done() { self endon("cleanup"); if(!isdefined(self.sounddone)) { self.sounddone = 0; } self waittill("sounddone"); if(isdefined(self)) { self.sounddone = 1; self notify("cleanup"); } } //Function Number: 145 aud_in_zone(param_00) { return equal_strings(maps\_audio_zone_manager::azm_get_current_zone(),param_00); } //Function Number: 146 aud_find_exploder(param_00) { if(isdefined(level.createfxexploders)) { var_01 = level.createfxexploders["" + param_00]; if(isdefined(var_01)) { return var_01[0]; } } else { for(var_02 = 0;var_02 < level.createfxent.size;var_02++) { var_03 = level.createfxent[var_02]; if(!isdefined(var_03)) { continue; } if(var_03.v["type"] != "exploder") { continue; } if(!isdefined(var_03.v["exploder"])) { continue; } if(int(var_03.v["exploder"]) != param_00) { continue; } return var_03; } } return undefined; } //Function Number: 147 aud_duck(param_00,param_01,param_02,param_03) { thread audx_duck(param_00,param_01,param_02,param_03); } //Function Number: 148 audx_duck(param_00,param_01,param_02,param_03) { param_01 = clamp(param_01,0,10); var_04 = 1; if(isdefined(param_02)) { var_04 = param_02; } var_05 = var_04; if(isdefined(param_03)) { var_05 = param_03; } lib_0087::func_1517(param_00,var_04); wait param_01; lib_0087::func_1520(param_00,var_05); } //Function Number: 149 get_index_struct() { var_00 = spawnstruct(); var_00.var_171D = []; var_00.indexed = []; var_00.var_171C = []; var_00.var_17AA = []; var_00.var_17AB = 0; return var_00; } //Function Number: 150 aud_index_presets() { level._audio.index.common.indexed = index_stringtable_internal(get_mix_stringtable()); level._audio.index.common.var_171D = index_stringtable_internal(get_filter_stringtable()); level._audio.index.common.var_17AB = 1; } //Function Number: 151 aud_is_local_indexed() { return level._audio.index.common.var_17AB; } //Function Number: 152 index_common_presets() { level._audio.index.var_16F9.indexed = index_stringtable_internal("soundtables/common_mix.csv"); level._audio.index.var_16F9.var_171C = index_stringtable_internal("soundtables/common_occlusion.csv"); level._audio.index.var_16F9.var_17AA = index_stringtable_internal("soundtables/common_timescale.csv"); level._audio.index.var_16F9.var_171D = index_stringtable_internal("soundtables/common_filter.csv"); level._audio.index.var_16F9.var_17AB = 1; } //Function Number: 153 aud_is_common_indexed() { return level._audio.index.var_16F9.var_17AB; } //Function Number: 154 get_indexed_preset(param_00,param_01,param_02) { var_03 = 1; if(isdefined(param_02)) { var_03 = param_02; } var_04 = undefined; if(var_03) { var_04 = level._audio.index.var_16F9; } else { var_04 = level._audio.index.common; } var_05 = undefined; switch(param_00) { case "mix": var_05 = var_04.indexed[param_01]; break; case "filter": var_05 = var_04.var_171D[param_01]; break; case "occlusion": var_05 = level._audio.index.var_16F9.var_171C[param_01]; break; case "timescale": var_05 = level._audio.index.var_16F9.var_17AA[param_01]; break; default: break; } if(!isdefined(var_05)) { var_05 = -1; } return var_05; } //Function Number: 155 get_mix_index(param_00,param_01) { if(param_01) { return level._audio.index.var_16F9.indexed[param_00]; } return level._audio.index.common.indexed[param_00]; } //Function Number: 156 index_stringtable_internal(param_00) { var_01 = ""; var_02 = 0; var_03 = 1; var_04 = []; var_05 = ""; while(var_02 < 10 && var_05 != "EOF") { var_05 = tablelookupbyrow(param_00,var_03,0); if(isdefined(var_05) && var_05 != var_01 && var_05 != "" && var_05 != "EOF") { var_02 = 0; var_01 = var_05; var_04[var_01] = var_03; continue; } if(var_05 == "") { var_02++; } var_03++; } return var_04; } //Function Number: 157 aud_percent_chance(param_00) { return randomintrange(1,100) <= param_00; } //Function Number: 158 aud_start_slow_mo_gunshot_callback(param_00,param_01) { level endon("aud_stop_slow_mo_gunshot"); var_02 = getaiarray("axis"); foreach(var_04 in var_02) { var_04 thread aud_impact_monitor(param_01); } var_06 = 0; var_07 = level.player getcurrentweapon(); for(;;) { if(level.player attackbuttonpressed()) { if(!var_06) { var_06 = 1; [[ param_00 ]](var_07); } } else { var_06 = 0; } wait 0.05; } } //Function Number: 159 aud_impact_monitor(param_00) { level endon("aud_stop_slow_mo_gunshot"); var_01 = level.player getcurrentweapon(); for(;;) { self waittill("damage",var_02,var_03,var_04,var_05,var_06); if(isdefined(var_05)) { [[ param_00 ]](var_01,var_02,var_03,var_05,var_06); } } } //Function Number: 160 aud_stop_slow_mo_gunshot_callback() { level notify("aud_stop_slow_mo_gunshot"); } //Function Number: 161 aud_play_distributed_sound(param_00,param_01,param_02,param_03,param_04,param_05,param_06) { self.var_17B5 = 1; self.alias = param_00; self.points = param_01; self.var_17B7 = param_02; self.var_17B8 = param_05; self.var_17B9 = param_03; self.var_17BA = param_04; self.var_17BB = param_06; self playloopsound(param_00); wait 0.1; thread audx_distributed_sound_update_loop(param_01,param_02,param_05,param_03,param_04,param_06); } //Function Number: 162 aud_stop_distributed_sound() { self notify("stop"); } //Function Number: 163 aud_start_distributed_sound() { if(isdefined(self.var_17B5)) { self playloopsound(self.alias); wait 0.1; thread audx_distributed_sound_update_loop(self.points,self.var_17B7,self.var_17B8,self.var_17B9,self.var_17BA,self.var_17BB); } } //Function Number: 164 audx_distributed_sound_update_loop(param_00,param_01,param_02,param_03,param_04,param_05) { self endon("stop"); var_06 = 0.1; if(isdefined(param_02)) { var_06 = param_02; } var_07 = 1; if(isdefined(param_05)) { var_07 = param_05; } if(isdefined(param_03)) { if(!isdefined(param_04)) { return; } while(isdefined(self)) { self setdistributed2dsound(param_00,param_01,var_06,var_07,param_03,param_04); wait var_06; } return; } while(isdefined(self)) { self setdistributed2dsound(param_00,param_01,var_06,var_07); wait var_06; } } //Function Number: 165 aud_slomo_wait(param_00) { var_01 = spawn("script_origin",(0,0,0)); var_01 thread aud_slomo_wait_internal(param_00); var_01 waittill("slo_mo_wait_done"); var_01 delete(); } //Function Number: 166 aud_slomo_wait_internal(param_00) { var_01 = 0; while(var_01 < param_00) { var_02 = getdvarfloat("com_timescale"); var_01 = var_01 + 0.05 / var_02; wait 0.05; } self notify("slo_mo_wait_done"); } //Function Number: 167 aud_set_level_fade_time(param_00) { if(!isdefined(level._audio)) { level._audio = spawnstruct(); } level._audio.specops = param_00; } //Function Number: 168 aud_level_fadein() { if(!isdefined(level._audio.specops)) { level._audio.specops = 1; } wait 0.05; levelsoundfade(1,level._audio.specops); } //Function Number: 169 aud_is_specops() { return isdefined(level._audio.var_17C5); } //Function Number: 170 audx_set_spec_ops_internal() { if(!isdefined(level._audio)) { level._audio = spawnstruct(); } level._audio.var_17C5 = 1; } //Function Number: 171 aud_set_spec_ops() { thread audx_set_spec_ops_internal(); } //Function Number: 172 audx_play_line_emitter_internal() { level endon(self.label + "_line_emitter_stop"); var_00 = self.var_17C9 - self.var_17CA; var_01 = vectornormalize(var_00); var_02 = distance(self.var_17CA,self.var_17C9); var_03 = 0.1; for(;;) { var_04 = level.player.origin - self.var_17CA; var_05 = vectordot(var_04,var_01); var_05 = clamp(var_05,0,var_02); var_06 = self.var_17CA + var_01 * var_05; if(!self.var_17CB) { self.origin = var_06; self playloopsound(self.alias); self scalevolume(0); wait 0.05; self scalevolume(1,self.var_17CC); self.var_17CB = 1; } else { self moveto(var_06,var_03); } wait var_03; } } //Function Number: 173 aud_stop_line_emitter(param_00) { level notify(param_00 + "_line_emitter_stop"); } //Function Number: 174 aud_play_line_emitter(param_00,param_01,param_02,param_03,param_04,param_05) { var_06 = 0.1; var_07 = 0.1; if(isdefined(param_04)) { var_06 = max(param_04,0); var_07 = max(param_04,0); } if(isdefined(param_05)) { var_07 = max(param_05,0); } var_08 = spawn("script_origin",(0,0,0)); var_08.alias = param_01; var_08.var_17CB = 0; var_08.var_17CA = param_02; var_08.var_17C9 = param_03; var_08.var_17CC = var_06; var_08.label = param_00; var_08 thread audx_play_line_emitter_internal(); level waittill(param_00 + "_line_emitter_stop"); var_08 scalevolume(0,var_07); wait var_07; var_08 stoploopsound(); wait 0.05; var_08 delete(); } //Function Number: 175 aud_print_3d_on_ent(param_00,param_01,param_02) { if(isdefined(self)) { var_03 = (1,1,1); var_04 = (1,0,0); var_05 = (0,1,0); var_06 = (0,1,1); var_07 = 5; var_08 = var_03; if(isdefined(param_01)) { var_07 = param_01; } if(isdefined(param_02)) { var_08 = param_02; switch(var_08) { case "red": var_08 = var_04; break; case "white": var_08 = var_03; break; case "blue": var_08 = var_06; break; case "green": var_08 = var_05; break; default: var_08 = var_03; break; } } self endon("death"); while(isdefined(self)) { wait 0.05; } } }