// SRC2 NOTES: // math operation "equals" is now "equal" // op_dashboard now = global vars / operator DELETED // op_map_name now = string compare to global var / operator DELETED? // bring all "math" operations up to snuff... maybe add "logic" operator // op_platform = string compare to global var // op_source_info = enum + what to do? added input_listener_position to replace BlendedOrigin // NOTE: LOTS OF STACKS USE source_info, they must be attended to // op_start_entry = script handle as param? // op_stop_entry = test // calc_distant_dsp = needs upgrading! // done: // op_convar // op_block_entries // op_delta // op_distant_dsp // op_entity_info // op_etnry_time // must search exec list and add a "this" token // op_filters // op_iterate_merge_speakers // op_math = test // calc_spatialize_speakers = added listener position input to eliminate scratchpad // calc_source_distance -- deleted and replaced with calc_distance with explicit inputs // op_mixer // op_mixlayer // op_occlusion = NEEDS internal result filtering, added listener positiion, // input_position = input_source_position // op_opvar // op_output = kept for feature complete... then DELETE // op_player_info = removed game_view_info and replaced with opvar and math_velocity // op_pos_vec8 // op_sys_time // op_tracks = punt for now // op_util // TO TEST // sos_op_iterate_merge_speakers ///////////////////////////////////// clearing scratchpad ///////////////// ////// pScratchPad->m_vPlayerOrigin // game_entity_info // calc_source_distance -- DONE deleted and replaced with calc_distance with explicit inputs from public and get_opvar // calc_occlusion -- replaced with inputs for positions and get_opvar // game_view_info -- DONE deleted and replaced wih get_opvar .> system_globals.listener_xxx and math_velocity // calc_spatialize_speakers -- DONE, clean c++ ////// pScratchPad->m_vBlendedListenerOrigin // calc_angles_facing -- DONE, added + changed name "listenerPosition", "sourcePosition" input replacing BlendedListener // op_source_info -- added input field for listener_position... how needed is this? "start_stacks" { // "start_default" // { // "stop_entries" // { // "operator" "sys_stop_entries" // } // } // "start_test_random" // { // "random_float" // { // "operator" "math_random_float" // "input_min" "0.0" // "input_max" "1.0" // } // } // "start_test" // { // // "get_elapsed" // // { // // "operator" "sys_get_entry_time" // // } // // "play_entry" // // { // // "operator" "sys_start_entry" // // "input_start" "1" // // "entry_name" "xray.beep" // // } // "stop_entries" // { // "operator" "sys_stop_entries" // } // "block_entries" // { // "operator" "sys_block_entries" // "input_active" "1.0" // "input_duration" "2.0" // "match_substring" "false" // "match_entry" "xray.beep" // // "match_sound" "npc\dog\dog_idlemode_loop1.wav" // "match_channel" "false" // "match_entity" "false" // } // "delay_output" // { // "operator" "sys_output" // "input_float" "0.0" // "output" "delay" // } // } // "start_global_bpm_quantize" // { // "sys_time" // { // "operator" "sys_get_time" // } // "bpm" // { // "operator" "math_float" // "apply" "div" // "input1" "60" // "input2" "120" // } // "beats" // { // "operator" "math_float" // "apply" "mult" // "input1" "@bpm.output" // "input2" "1" // } // "time_mod" // { // "operator" "math_float" // "apply" "mod" // "input1" "@sys_time.output_client_time" // "input2" "@beats.output" // } // "negative_delay" // { // "operator" "math_float" // "apply" "mult" // "input1" "@time_mod.output" // "input2" "-1.0" // } // "delay_output" // { // "operator" "sys_output" // "input_float" "@negative_delay.output" // "output" "delay" // } // } // "start_sync_to_entry" // { // "elapsed_time" // { // "operator" "sys_get_entry_time" // } // "duration_div" // { // "operator" "math_float" // "apply" "div" // "input1" "@elapsed_time.output_sound_duration" // "input2" "1" // } // "time_mod" // { // "operator" "math_float" // "apply" "mod" // "input1" "@elapsed_time.output_sound_elapsed" // "input2" "@duration_div.output" // } // "div_mult" // { // "operator" "math_float" // "apply" "mult" // "input1" "0.0" // "input2" "@duration_div.output" // } // "add_offset" // { // "operator" "math_float" // "apply" "add" // "input1" "@time_mod.output" // "input2" "@div_mult.output" // } // "negative_delay" // { // "operator" "math_float" // "apply" "mult" // "input1" "@add_offset.output" // "input2" "-1.0" // } // "delay_output" // { // "operator" "sys_output" // "input_float" "@negative_delay.output" // "output" "delay" // } // } // "start_delay_sync_to_entry" // { // "import_stack" "start_sync_to_entry" // "negative_delay" // { // "apply" "sub" // "input1" "@duration_div.output" // "input2" "@time_mod.output" // } // } // "P2_coop_robot_start" // { // "stop_footsteps" // { // "operator" "sys_stop_entries" // "input_max_entries" "0.000000" //A sound will not stop itself from playing. // "match_entity" "false" // "match_substring" "true" // } // } // "P2_portalgun_start" // { // "stop_gun" // { // "operator" "sys_stop_entries" // "input_max_entries" "0.000000" //A sound will not stop itself from playing. // "match_entity" "false" // "match_substring" "true" // } // } // "P2_poly_limiting_start" //Generic poly limiter. Override values to make usable. // { // "limit_sound" // { // "operator" "sys_stop_entries" // "input_max_entries" "0.000000" //A sound will not stop itself from playing. // "match_entity" "false" // "match_substring" "true" // "match_entry" "NONE" // } // "limit_robot_sounds" // { // "operator" "sys_stop_entries" // "input_max_entries" "23.000000" //A sound will not stop itself from playing. // "match_entity" "false" // "match_substring" "true" // "match_entry" "Robot" // } // //Console hacks begin here. // "sys_get_platform" //should be for X360/PS3, only use PC for testing. // { // "operator" "sys_platform" // //"pc" "true" //IF THIS IS UNCOMMENTED CHANGE IT!!! SERIOUSLY!!! // "x360" "true" // "ps3" "true" // } // "limit_robot_sounds_ps3" // { // "operator" "sys_stop_entries" // "input_execute" "@sys_get_platform.output" // "input_max_entries" "9.000000" //I hate myself. // "match_entity" "false" // "match_substring" "true" // "match_entry" "Robot" // } // "ps3_num_voices_compare" // { // "operator" "math_float" // "apply" "greater_than_or_equal" // "input1" "@limit_robot_sounds_ps3.output_entries_matching" // This is the percentage chance to play a null // "input2" "10.0" //match the max number of played sounds ( = input_max_entries + 1 ) // } // "block_robot_entries_ps3" //helps with disc I/O: Blocks sound requests of robots once a max number of robots exist // { // "operator" "sys_block_entries" // //"input_execute" "0.0" // "input_execute" "@ps3_num_voices_compare.output" // "input_active" "1.0" // "input_duration" "0.25" //in seconds, you can use "@get_random.output" for a random blocking period // "match_substring" "true" // "match_entry" "Robot" //The sound entry to use // "match_channel" "false" // "match_entity" "false" // } // "limit_sound_ps3" // { // "operator" "sys_stop_entries" // "input_execute" "0.0" // //"input_execute" "@sys_get_platform.output" // "input_max_entries" "0.000000" //A sound will not stop itself from playing. // "match_entity" "false" // "match_substring" "true" // "match_entry" "NONE" // } // "block_entries_ps3" // { // "operator" "sys_block_entries" // "input_execute" "0.0" // //"input_execute" "@sys_get_platform.output" // "input_active" "1.0" // "input_duration" "5.0" //in seconds, you can use "@get_random.output" for a random blocking period // "match_substring" "false" // "match_entry" "NONE" //The sound entry to use // "match_channel" "false" // "match_entity" "false" // } // } // "P2_exclusion_time_blocker_start" //Generic exclusion time. Override values to make usable. // { // "get_random" // { // "operator" "math_random_float" // "input_execute" "0.0" // "input_min" "0.0" // "input_max" "1.0" // } // "block_entries" // { // "operator" "sys_block_entries" // "input_active" "1.0" // "input_duration" "0.1" //in seconds, you can use "@get_random.output" for a random blocking period // "match_substring" "false" // "match_entry" "NONE" //The sound entry to use // // "match_sound" "npc\dog\dog_idlemode_loop1.wav" // "match_channel" "false" // "match_entity" "false" // } // } // "P2_exclusion_time_and_poly_limiting_start" //Combines exclusion time and poly limiting // { // "import_stack" "P2_exclusion_time_blocker_start" // "import_stack" "P2_poly_limiting_start" // } // "P2_null_start" //replaces null.wav // { // "get_random_null" // { // "operator" "math_random_float" // "input_execute" "0.0" // "input_min" "0.0" // "input_max" "1.0" // } // "percent_null" // { // "operator" "math_float" // "apply" "greater_than" // "input1" "0.60" // This is the percentage chance to play a null // "input2" "@get_random_null.output" // } // "block_start" // { // "input_execute" "1.0" // //"input_execute" "@percent_null.output" // "operator" "sys_output" // "input_float" "1" // "output" "block_start" // } // } // "CS_distance_weapon_start" //replaces null.wav // { // "play_distant_version_1" // { // "operator" "sys_start_entry" // "execute_once" "true" // "input_execute" "1.0" // "input_start" "1" // "entry_name" "Default.Null" //Replace with the sound you want to play. // } // "limit_gunfire" // { // "operator" "sys_stop_entries" // "input_max_entries" "2.000000" //A sound will not stop itself from playing. // "match_entity" "true" // "match_substring" "false" // "match_this_entry" "true" // } // } // "CS_limit_start" //replaces null.wav // { // "limit_entry" // { // "operator" "sys_stop_entries" // "input_max_entries" "1.000000" //A sound will not stop itself from playing. // "match_entity" "true" // "match_substring" "false" // "match_this_entry" "true" // } // } // "CS_limit_bullet_impact" //replaces null.wav // { // "limit_entry" // { // "operator" "sys_stop_entries" // "input_max_entries" "5.000000" //A sound will not stop itself from playing. // "match_entity" "true" // "match_substring" "false" // "match_this_entry" "true" // } // } // "CS_limit_footsteps_start" //replaces null.wav // { // "limit_entry" // { // "operator" "sys_stop_entries" // "input_max_entries" "0.000000" //A sound will not stop itself from playing. // "match_entity" "true" // "match_substring" "false" // "match_this_entry" "true" // } // } // "CS_random_music_entry_start" //replaces null.wav // { // "random_variation_picker" //use for random volume if needed // { // "operator" "math_random_float" // "execute_once" "true" // "input_execute" "1.0" // "input_min" "0.0" //low value here // "input_max" "3.0" //high value here. // } // "compare_1" // { // "operator" "math_float" // "apply" "greater_than" // "input_execute" "1.0" // "input1" "@random_variation_picker.output" // "input2" "2.0" // } // "compare_1_invert" // { // "operator" "math_float" // "apply" "sub" // "input1" "1.0" // "input2" "@compare_1.output" // } // "compare_2" // { // "operator" "math_float" // "apply" "greater_than" // "input_execute" "@compare_1_invert.output" // "input1" "@random_variation_picker.output" // "input2" "1.0" // } // "compare_2_invert" // { // "operator" "math_float" // "apply" "sub" // "input1" "1.0" // "input2" "@compare_2.output" // } // "compare_1_and_2_min" // { // "operator" "math_float" // "apply" "min" // "input1" "@compare_1_invert.output" // "input2" "@compare_2_invert.output" // } // "compare_3" // { // "operator" "math_float" // "apply" "greater_than" // "input_execute" "@compare_1_and_2_min.output" // "input1" "@random_variation_picker.output" // "input2" "0.0" // } // "play_variation_1" // { // "operator" "sys_start_entry" // "execute_once" "true" // "input_execute" "@compare_1.output" // "input_start" "1" // "entry_name" "Default.Null" //Replace with the sound you want to play. // } // "play_variation_2" // { // "operator" "sys_start_entry" // "execute_once" "true" // "input_execute" "@compare_2.output" // "input_start" "1" // "entry_name" "Default.Null" //Replace with the sound you want to play. // } // "play_variation_3" // { // "operator" "sys_start_entry" // "execute_once" "true" // "input_execute" "@compare_3.output" // "input_start" "1" // "entry_name" "Default.Null" //Replace with the sound you want to play. // } // } // "CS_random_music_entry_start_2" //replaces null.wav // { // "random_variation_picker" //use for random volume if needed // { // "operator" "math_random_float" // "execute_once" "true" // "input_execute" "1.0" // "input_min" "0.0" //low value here // "input_max" "3.0" //high value here. // "round_to_int" "true" // } // "compare_1" // { // "operator" "math_float" // "apply" "equal" // "input_execute" "1.0" // "input1" "@random_variation_picker.output" // "input2" "0.0" // } // "compare_2" // { // "operator" "math_float" // "apply" "equal" // "input_execute" "1.0" // "input1" "@random_variation_picker.output" // "input2" "1.0" // } // "compare_3" // { // "operator" "math_float" // "apply" "equal" // "input_execute" "1.0" // "input1" "@random_variation_picker.output" // "input2" "2.0" // } // "play_variation_1" // { // "operator" "sys_start_entry" // "execute_once" "true" // "input_execute" "@compare_1.output" // "input_start" "1" // "entry_name" "Default.Null" //Replace with the sound you want to play. // } // "play_variation_2" // { // "operator" "sys_start_entry" // "execute_once" "true" // "input_execute" "@compare_2.output" // "input_start" "1" // "entry_name" "Default.Null" //Replace with the sound you want to play. // } // "play_variation_3" // { // "operator" "sys_start_entry" // "execute_once" "true" // "input_execute" "@compare_3.output" // "input_start" "1" // "entry_name" "Default.Null" //Replace with the sound you want to play. // } // } // "CS_test_music_volume_deathcam_switch" // { // "snd_musicvolume_convar" // { // "operator" "convar_get" // "convar" "snd_musicvolume" // } // "snd_musicvolume_off" // { // "operator" "math_float" // "apply" "less_than" // "input1" "@snd_musicvolume_convar.output" // "input2" "0.1" // } // "play_classic_deathcam" // { // "operator" "sys_start_entry" // "execute_once" "true" // "input_execute" "@snd_musicvolume_off.output" // "input_start" "1" // "entry_name" "Player.FreezeCam" // } // // don't play this // "block_start" // { // "input_execute" "@snd_musicvolume_off.output" // "operator" "sys_output" // "input_float" "1" // "output" "block_start" // } // } // "P2_null_player_start" //Play an entry other than the called one! // { // "play_entry" // { // "operator" "sys_start_entry" // "execute_once" "true" // "input_execute" "1.0" // "input_start" "1" // "entry_name" "Default.Null" //Replace with the sound you want to play. // } // "block_start" // { // "input_execute" "1.0" // "operator" "sys_output" // "input_float" "1" // "output" "block_start" // } // } // //////////////////////////////////////////////////////////////////////////////////////////// // // // // dialog start stacks // // // //////////////////////////////////////////////////////////////////////////////////////////// // "P2_glados_start" // default start stack for glados v.o. // { // "set_mixlayer_vol_wheatley" // { // "operator" "soundmixer_set_mixlayer" // "mixlayer" "gladosVOLayer" // "mixgroup" "wheatleyVO" // "field" "volume" // "input" "1.0" // } // "set_mixlayer_vol_announcer" // { // "operator" "soundmixer_set_mixlayer" // "mixlayer" "gladosVOLayer" // "mixgroup" "announcerVO" // "field" "volume" // "input" "1.0" // } // "set_mixlayer_vol_cave" // { // "operator" "soundmixer_set_mixlayer" // "mixlayer" "gladosVOLayer" // "mixgroup" "caveVO" // "field" "volume" // "input" "1.0" // } // } // "P2_glados_start_mute" // default start stack for glados v.o. // { // "set_mixlayer_mute_wheatley" // { // "operator" "soundmixer_set_mixlayer" // "mixlayer" "gladosVOLayer" // "mixgroup" "wheatleyVO" // "field" "mute" // "input" "0.0" // } // "set_mixlayer_mute_announcer" // { // "operator" "soundmixer_set_mixlayer" // "mixlayer" "gladosVOLayer" // "mixgroup" "announcerVO" // "field" "mute" // "input" "0.0" // } // "set_mixlayer_mute_cave" // { // "operator" "soundmixer_set_mixlayer" // "mixlayer" "gladosVOLayer" // "mixgroup" "caveVO" // "field" "mute" // "input" "0.0" // } // } // "P2_wheatley_start" // default start stack for wheatley v.o. // { // "set_mixlayer_vol_glados" // { // "operator" "soundmixer_set_mixlayer" // "mixlayer" "wheatleyVOLayer" // "mixgroup" "gladosVO" // "field" "volume" // "input" "1.0" // } // "set_mixlayer_vol_announcer" // { // "operator" "soundmixer_set_mixlayer" // "mixlayer" "wheatleyVOLayer" // "mixgroup" "announcerVO" // "field" "volume" // "input" "1.0" // } // } // "P2_announcer_start" // default start stack for announcer v.o. // { // "set_mixlayer_vol_glados" // { // "operator" "soundmixer_set_mixlayer" // "mixlayer" "announcerVOLayer" // "mixgroup" "gladosVO" // "field" "volume" // "input" "1.0" // } // "set_mixlayer_vol_wheatley" // { // "operator" "soundmixer_set_mixlayer" // "mixlayer" "announcerVOLayer" // "mixgroup" "wheatleyVO" // "field" "volume" // "input" "1.0" // } // } // "start_delay_to_track_sync_point" // { // // the start sync point for the file we are syncing to // "this_entry_syncpoints" // { // "operator" "track_get_syncpoint" // "syncpoint_list" "syncpoints_1" // "this_entry_syncpoints" "true" // } // "sync_track_syncpoints" // { // "operator" "track_get_syncpoint" // "syncpoint_list" "syncpoints_1" // "input_min_time_to_next_sync" "@this_entry_syncpoints.output_first_syncpoint" // "input_max_time_to_next_sync" "1000" // "match_entry" "DOTAMusic.BattleMusic" // } // // output our resulting delay value // "delay_output" // { // "operator" "sys_output" // "input_float" "@sync_track_syncpoints.output_time_to_next_syncpoint" // "output" "delay" // } // } } //////////////////////////////////////////////////////////////////////////////////////////// // // update stacks // //////////////////////////////////////////////////////////////////////////////////////////// "update_stacks" { //////////////////////////////////////////////////////////////////////////////////////////// // // core data stacks // //////////////////////////////////////////////////////////////////////////////////////////// "system_globals" { "test_opvars" { "operator" "util_null" "operator_variables" { "test_float" { "data_type" "float" "value" "1.0" } "number_of_local_players" { "data_type" "float" "value" "666.0" } "local_player_origins" { "data_type" "float3" "value" { "value" "[ 1.0, 2.0, 3.0 ]" "value" "[ 2.0, 2.0, 3.0 ]" "value" "[ 3.0, 2.0, 3.0 ]" "value" "[ 4.0, 2.0, 3.0 ]" } } } } "game_per_frame_opvars" { "operator" "util_null" "operator_variables" { "xbox_dashboard_music" { "data_type" "float" "value" "1.0" } "map_name" { "data_type" "string64" "value" "test_map" } "listener_is_underwater" { "data_type" "bool" "value" "666.0" } "number_of_splitscreen_listeners" { "data_type" "float" "value" "666.0" } "splitscreen_listeners_origin" { "data_type" "float3" "value" { "value" "[ 0.0, 0.0, 0.0 ]" "value" "[ 0.0, 0.0, 0.0 ]" "value" "[ 0.0, 0.0, 0.0 ]" "value" "[ 0.0, 0.0, 0.0 ]" } } "splitscreen_listeners_forward" { "data_type" "float3" "value" { "value" "[ 0.0, 0.0, 0.0 ]" "value" "[ 0.0, 0.0, 0.0 ]" "value" "[ 0.0, 0.0, 0.0 ]" "value" "[ 0.0, 0.0, 0.0 ]" } } "splitscreen_listeners_left" { "data_type" "float3" "value" { "value" "[ 0.0, 0.0, 0.0 ]" "value" "[ 0.0, 0.0, 0.0 ]" "value" "[ 0.0, 0.0, 0.0 ]" "value" "[ 0.0, 0.0, 0.0 ]" } } "splitscreen_listeners_up" { "data_type" "float3" "value" { "value" "[ 0.0, 0.0, 0.0 ]" "value" "[ 0.0, 0.0, 0.0 ]" "value" "[ 0.0, 0.0, 0.0 ]" "value" "[ 0.0, 0.0, 0.0 ]" } } "splitscreen_listeners_front" { "data_type" "float3" "value" { "value" "[ 0.0, 0.0, 0.0 ]" "value" "[ 0.0, 0.0, 0.0 ]" "value" "[ 0.0, 0.0, 0.0 ]" "value" "[ 0.0, 0.0, 0.0 ]" } } "dota_local_selected_entindex" { "data_type" "float" "value" { "value" "0" } } } } } "vsnd_lists" { "random_variations" { "operator" "util_null" "operator_variables" { "forest_birds_selection" { "data_type" "uint64" "value" "0.0" } "forest_birds" { "data_type" "string64" "value" { "value" "sounds/ambient/random_amb_sfx/forest_bird01.vsnd" "value" "sounds/ambient/random_amb_sfx/forest_bird01b.vsnd" "value" "sounds/ambient/random_amb_sfx/forest_bird02.vsnd" "value" "sounds/ambient/random_amb_sfx/forest_bird02b.vsnd" "value" "sounds/ambient/random_amb_sfx/forest_bird03.vsnd" } } } } } ////////////////////////////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////////////////////////////// // TESTS ////////////////////////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////////////////////// "update_test_start_vsnd_rand_oneshot" { "public" { "operator" "util_null" "operator_variables" { "vsnd_file_selections" { "data_type" "uint64" "value" "0.0" } "vsnd_files" { "data_type" "string128" "reserve_array" "16" "value" { "value" "sounds/weapons/bullet_impacts/wpn_bullet_impact_dry_zombie_01.vsnd" "value" "sounds/weapons/bullet_impacts/wpn_bullet_impact_dry_zombie_02.vsnd" "value" "sounds/weapons/bullet_impacts/wpn_bullet_impact_dry_zombie_03.vsnd" } } "delay" { "data_type" "float" "value" "0.0" } "memory_type" { "data_type" "float" "value" "0" } } } "get_event_info" { "operator" "sos_soundevent_info" } "get_vsnd_array_index" { "operator" "opvar_get_random_array_index" "input_operator_name" "public" "input_field_name" "vsnd_files" "input_selection_field_name" "vsnd_file_selections" "input_use_namespace" "false" "sequence_type" "random_exclusive" } "get_vsnd_string" { "operator" "opvar_get_string" "input_operator_name" "public" "input_field_name" "vsnd_files" "input_index" "@get_vsnd_array_index.output" "input_use_namespace" "false" } "update_test_start_vsnd" { "operator" "sms_start_vsnd" "input_vsnd_name" "@get_vsnd_string.output" "input_start" "@get_event_info.output_unstopped" "input_speaker_volumes" "[ 1.0, 1.0, 1.0, 1.0, 1.0, 1.0 ]" "input_pitch" "1.0" "input_delay" "@public.delay" "input_memory_type" "@public.memory_type" } } "update_test_start_stack_vsnd_rand_oneshot" { "public" { "operator" "util_null" "operator_variables" { "file_list_stack_name" { "data_type" "string64" "value" "" } "file_list_operator_name" { "data_type" "string64" "value" "" } "file_list_field_name" { "data_type" "string64" "value" "" } "selected_list_field_name" { "data_type" "string64" "value" "" } "delay" { "data_type" "float" "value" "0.0" } "memory_type" { "data_type" "float" "value" "0" } } } "get_event_info" { "operator" "sos_soundevent_info" } "get_vsnd_array_index" { "operator" "opvar_get_random_array_index" "input_stack_name" "@public.file_list_stack_name" "input_operator_name" "@public.file_list_operator_name" "input_field_name" "@public.file_list_field_name" "input_selection_field_name" "@public.selected_list_field_name" "input_use_namespace" "false" "sequence_type" "random_exclusive" } "get_vsnd_string" { "operator" "opvar_get_string" "input_stack_name" "@public.file_list_stack_name" "input_operator_name" "@public.file_list_operator_name" "input_field_name" "@public.file_list_field_name" "input_use_namespace" "false" "input_index" "@get_vsnd_array_index.output" } "update_test_start_vsnd" { "operator" "sms_start_vsnd" "input_vsnd_name" "@get_vsnd_string.output" "input_start" "@get_event_info.output_unstopped" "input_speaker_volumes" "[ 1.0, 1.0, 1.0, 1.0, 1.0, 1.0 ]" "input_pitch" "1.0" "input_delay" "@public.delay" "input_memory_type" "@public.memory_type" } } "update_test_start_vsnd_lfo" { "public" { "operator" "util_null" "operator_variables" { "test_float" { "data_type" "float" "value" "111.111" } "test_floatB" { "data_type" "float" "value" "666.666" } "test_float2" { "data_type" "float2" "value" "[ 111.111, 222.222 ]" } "test_float3" { "data_type" "float3" "value" "[ 111.111, 222.222, 333.333 ]" } "test_float4" { "data_type" "float4" "value" "[ 111.111, 222.222, 333.333, 444.444 ]" } "test_string64" { "data_type" "string64" "value" "string64" } "test_string128" { "data_type" "string128" "value" "string128" } "test_string256" { "data_type" "string256" "value" "string256" } "test_float_array" { "data_type" "float" "value" { "value" "1.0" "value" "2.0" "value" "3.0" "value" "4.0" } } "memory_type" { "data_type" "float" "value" "0" } } } "get_event_info" { "operator" "sos_soundevent_info" } "lfo_time_scale" { "operator" "math_float" "apply" "mult" "input1" "@get_event_info.output_elapsed_time" "input2" "2" } "lfo" { "operator" "math_func_float" "function" "cos" "normalize_trig" "false" "input1" "@lfo_time_scale.output" } // "PRINT LFO" // { // "operator" "util_print_float" // "input" "@lfo.output" // } "lfo_step" { "operator" "math_float" "apply" "greater_than" "input1" "@lfo.output" "input2" "0.0" } "lfo_pitch_scale" { "operator" "math_float" "apply" "mult" "input1" "@lfo.output" "input2" "0.1" } "lfo_pitch_add" { "operator" "math_float" "apply" "add" "input1" "@lfo_pitch_scale.output" "input2" "1.0" } "lfo_abs" { "operator" "math_func_float" "function" "fabs" "input1" "@lfo.output" } "speaker_volume_fan" { "operator" "util_float_to_speakers" "input" "@lfo_abs.output" } "play_or_stop" { "operator" "math_float" "apply" "min" "input1" "@lfo_step.output" "input2" "@get_event_info.output_unstopped" } "update_test_start_vsnd" { "operator" "sms_start_vsnd" "input_vsnd_name" "sounds/ui/littlereward.vsnd" "input_start" "@play_or_stop.output" "input_speaker_volumes" "@speaker_volume_fan.output" "input_pitch" "@lfo_pitch_add.output" "input_memory_type" "@public.memory_type" } "update_prevent_stop" { "operator" "sos_stack_control" "input_add_dependent" "@get_event_info.output_unstopped" } } "update_test_opvars" { "test1_stackvars" { "operator" "util_null" "operator_variables" { "testfloat1" { "data_type" "float" "value" "1.0" } } } "test1_getglobal1" { "operator" "opvar_get_float" "input_stack_name" "system_globals" "input_operator_name" "test_opvars" "input_field_name" "number_of_local_players" "input_use_namespace" "false" } "test1_getglobal2" { "operator" "opvar_get_float" "input_stack_name" "system_globals" "input_operator_name" "test_opvars" "input_field_name" "local_player_origins" "input_use_namespace" "false" } "test1_value1" { "operator" "math_float" "apply" "add" "input1" "@test1_stackvars.testfloat1" "input2" "1" } // "test1_value1" // { // "operator" "math_float" // "apply" "mult" // "input1" "0" // "input2" "1" // } "test1_value2" { "operator" "math_float" "apply" "add" "input1" "@test1_value1.output" "input2" "1" } } "update_test_overrides" { "update_test_override_1" { "operator" "math_float" "apply" "mult" "input1" "1.0" "input2" "2.0" } "update_test_override_1" { // "operator" "math_float" "apply" "add" "input1" "3.0" // "input2" "4.0" } "update_test_override_2" { "operator" "math_float" "apply" "add" "input1" "@update_test_override_1.output" "input2" "4.0" } "update_test_override_2" { "input1" "4" "input2" "@update_test_override_1.output" } "opvars" { "operator" "util_null" "operator_variables" { "test_opvar" { "data_type" "float" "value" "1.0" "interp_type" "decibel_atten" "interp_min" "-1.0" "interp_max" "1.0" } "test_opvar2" { "data_type" "float" "value" "777.0" } } } "opvars" { "operator_variables" { "test_opvar" { "value" "666.0" } "test_opvar2" { "value" "888.0" } } } "public" { "operator" "util_null" "operator_variables" { "test_public_float1" { "data_type" "float" "value" "1.0" "interp_type" "decibel_atten" "interp_min" "-1.0" "interp_max" "1.0" } "test_public_float1" { "value" "666.0" } } } } /////////////////////////////////// // testing importing ////////////////////////////////// // "update_test_import" // { // "update_test_import_1" // { // "operator" "math_float" // "apply" "add" // "input1" "662" // "input2" "4.0" // } // "import_stack" "update_test_overrides" // "update_test_override_2" // { // "input2" "444.0" // } // "update_test_import_2" // { // "operator" "math_float" // "apply" "add" // "input1" "@update_test_import_1.output" // "input2" "@update_test_override_2.output" // } // "opvars" // { // "operator_variables" // { // "test_opvar2" // { // "data_type" "float" // "value" "999.0" // } // } // } // } /////////////////////////////////// // testing public importing ////////////////////////////////// "update_test_simple_public" { "public" { "operator" "util_null" "operator_variables" { "public_float" { "data_type" "float" "value" "777.0" "interp_type" "decibel_atten" "interp_min" "-1.0" "interp_max" "1.0" } "override_float" { "data_type" "float" "value" "111.0" } } } "update_test_simple_public_OPER" { "operator" "math_float" "apply" "add" "input1" "@public.public_float" "input2" "4.0" } "update_test_get_local_opvar" { "operator" "opvar_get_float" "input_operator_name" "public" "input_field_name" "public_float" "input_use_namespace" "true" } "update_test_get_global_opvar" { "operator" "opvar_get_float" "input_operator_name" "public" "input_field_name" "import1_float" "input_use_namespace" "false" } } /////////////////////////////////// // testing single import ////////////////////////////////// "update_test_simple_import_op" { "public" { "operator" "util_null" "operator_variables" { "import1_float" { "data_type" "float" "value" "666.0" } } } "update_test_import_1" { "operator" "math_float" "apply" "add" "input1" "@public.import1_float" "input2" "4.0" } "update_test_import_op" { "operator" "sos_import_stack" "import_stack" "update_test_simple_public" "operator_variables" { "public_float" { // "value" "@public.import1_float" "value" "999" } } } } /////////////////////////////////// // testing serial importing ////////////////////////////////// "update_test_simple_serial_import_op" { "public" { "operator" "util_null" "operator_variables" { "serial_float" { "data_type" "float" "value" "222.0" } "serial_float2" { "data_type" "float" "value" "333.0" } "import1_float" { "data_type" "float" "value" "666.0" } } } "update_test_serial_import_op" { "operator" "sos_import_stack" "import_stack" "update_test_simple_public" "operator_variables" { "public_float" { "value" "999" } "public.override_float" { "field_override" "public.override_float" "value" "888" } "update_test_simple_public_OPER.input2" { "field_override" "update_test_simple_public_OPER.input2" "value" "@public.serial_float" // "value" "888" } } } "update_test_serial_import_op2" { "operator" "sos_import_stack" "import_stack" "update_test_simple_public" "operator_variables" { "public_float" { "value" "@public.serial_float2" // "value" "999" } } } } "update_test_simple_serial_import_op2" { "public" { "operator" "util_null" "operator_variables" { "serial_float" { "data_type" "float" "value" "222.0" } } } "update_test_serial_import_op" { "operator" "sos_import_stack" "import_stack" "update_test_simple_public" "operator_variables" { "public_float" { "value" "@public.serial_float" // "value" "999" } } } "update_test_serial_import_op2" { "operator" "sos_import_stack" "import_stack" "update_test_simple_public" "operator_variables" { "public_float" { "value" "@update_test_serial_import_op.public_float" // "value" "999" } } } } /////////////////////////////////// // testing nested importing ////////////////////////////////// "update_test_simple_nest_import_op1" { "public" { "operator" "util_null" "operator_variables" { "import1_float" { "data_type" "float" "value" "111.0" } } } "update_test_import_op1" { "operator" "sos_import_stack" "import_stack" "update_test_simple_public" "operator_variables" { "public_float" { "value" "@public.import1_float" } } } "update_test_simple_nest_import_op1_OPER" { "operator" "math_float" "apply" "add" "input1" "@public.import1_float" "input2" "4.0" } } "update_test_simple_nest_import_op2" { "public" { "operator" "util_null" "operator_variables" { "import2_float" { "data_type" "float" "value" "222.0" } } } "update_test_import_op2" { "operator" "sos_import_stack" "import_stack" "update_test_simple_nest_import_op1" "operator_variables" { "import1_float" { "value" "@public.import2_float" } } } "update_test_simple_nest_import_op2_OPER" { "operator" "math_float" "apply" "add" "input1" "@public.import2_float" "input2" "4.0" } } "update_test_simple_nest_import_op3" { "public" { "operator" "util_null" "operator_variables" { "import3_float" { "data_type" "float" "value" "333.0" } } } "update_test_import_op3" { "operator" "sos_import_stack" "import_stack" "update_test_simple_nest_import_op2" "operator_variables" { "import2_float" { "value" "@public.import3_float" } } } "update_test_simple_nest_import_op3_OPER" { "operator" "math_float" "apply" "add" "input1" "@public.import3_float" "input2" "4.0" } } "update_test_simple_nest_import_op4" { "public" { "operator" "util_null" "operator_variables" { "import4_float" { "data_type" "float" "value" "444.0" } } } "update_test_import_op4" { "operator" "sos_import_stack" "import_stack" "update_test_simple_nest_import_op3" "operator_variables" { "import3_float" { "value" "@public.import4_float" } } } "update_test_simple_nest_import_op4_OPER" { "operator" "math_float" "apply" "add" "input1" "@public.import4_float" "input2" "4.0" } } "update_test_import_op" { "public" { "operator" "util_null" "operator_variables" { "test_public_float0" { "data_type" "float" "value" "777.0" "interp_type" "decibel_atten" "interp_min" "-1.0" "interp_max" "1.0" } } } "update_test_import_1" { "operator" "math_float" "apply" "add" "input1" "662" "input2" "4.0" } "update_test_import_op" { "operator" "sos_import_stack" "import_stack" "update_test_overrides" "operator_variables" { "test_public_float1" { // "value" "@public.test_public_float0" "value" "999" } } } "update_test_import_op::update_test_override_2" { "input2" "444.0" } "update_test_import_2" { "operator" "math_float" "apply" "add" "input1" "@public.test_public_float0" "input2" "@update_test_import_op::update_test_override_2.output" "operator_variables" { "test_opvar2" { "data_type" "float" "value" "@public.test_public_float0" } } } "update_test_import_op::opvars" { "operator_variables" { "test_opvar2" { "value" "999" } } } } /////////////////////////////////// // testing individual operators ////////////////////////////////// "update_test_convar" { "update_test_convar" { "operator" "convar_get" "convar" "snd_op_test_convar" } "update_test_convar2" { "operator" "convar_set" "execute_once" "true" "convar" "snd_musicvolume" } } "update_test_block_entries" { "update_test_block_entries" { "operator" "sys_block_entries" "match_entry" "Diagnostic.update_test_convar" } } "update_test_delta" { "update_test_delta" { "operator" "math_delta" } } "update_test_distant_dsp" { "update_test_distant_dsp" { "operator" "calc_distant_dsp" } } "update_test_entity_info" { "update_test_distant_dsp" { "operator" "game_entity_info" } } "update_test_entry_time" { "update_test_entry_time" { "operator" "sys_get_entry_time" "entry" "Diagnostic.update_test_entry_time" } } "update_test_falloff" { "update_test_falloff" { "operator" "calc_falloff" } } "update_test_float_filter" { "update_test_float_filter" { "operator" "math_filter_float" } } "update_test_iterate_merge_speakers" { "update_test_iterate_merge_speakers" { "operator" "iterate_merge_speakers" } } "update_test_mixer" { "update_test_mixer" { "operator" "soundmixer_get_mixgroup" "mixgroup" "Infected" } } "update_test_occlusion" { "update_test_occlusion" { "operator" "calc_occlusion" } } "update_test_opvar" { "update_test_opvar_null" { "operator" "util_null" "operator_variables" { "test_float_field" { "data_type" "float" "value" "666.0" } } } "update_test_opvar_get" { "operator" "opvar_get_float" "input_stack_name" "system_globals" "input_operator_name" "test_opvars" "input_field_name" "test_float" "input_use_namespace" "false" } "update_test_opvar_set" { "input" "666" "operator" "opvar_set_float" "input_stack_name" "system_globals" "input_operator_name" "test_opvars" "input_field_name" "test_float" } "update_test_opvar_get2" { "operator" "opvar_get_float" "input_stack_name" "system_globals" "input_operator_name" "test_opvars" "input_field_name" "test_float" "input_use_namespace" "false" } "update_test_opvar_increment" { "input" "10" "operator" "opvar_increment_float" "input_stack_name" "system_globals" "input_operator_name" "test_opvars" "input_field_name" "test_float" } "update_test_opvar_get3" { "operator" "opvar_get_float" "input_stack_name" "system_globals" "input_operator_name" "test_opvars" "input_field_name" "test_float" "input_use_namespace" "false" } "update_test_local_opvar_set" { "input" "999" "operator" "opvar_set_float" "input_stack_name" "" "input_operator_name" "update_test_opvar_null" "input_field_name" "test_float_field" "input_use_namespace" "true" } "update_test_local_opvar_get" { "operator" "opvar_get_float" "input_stack_name" "" "input_operator_name" "update_test_opvar_null" "input_field_name" "test_float_field" "input_use_namespace" "true" } } "update_test_start_entry" { "update_test_start_entry" { "execute_once" "true" "operator" "sys_start_entry" "entry_name" "Diagnostic.Bell.StopLoop.Center" } } "update_test_sys_time" { "update_test_sys_time" { "operator" "sys_get_time" } } "update_test_utils" { "update_test_null" { "operator" "util_null" "operator_variables" { "test_float_field" { "data_type" "float" "value" "666.0" } } } "update_test_print_float" { "operator" "util_print_float" "input" "@update_test_null.test_float_field" } } "update_test_mixlayer" { "update_test_mixlayer" { "operator" "soundmixer_set_mixlayer" "mixgroup" "All" "mixlayer" "All" "field" "dsp" } } "update_test_output" { "update_test_output" { "operator" "sys_output" "output" "stop_hold" } } "update_test_math_string" { "update_test_math_string" { "operator" "math_string64" "input1" "test1" "input2" "test2" "apply" "equal" } } "update_test_calc_distance" { "update_test_calc_distance" { "operator" "calc_distance" "input_position1" "[ 110.0, 120.0 ]" "input_position2" "[ 0.0, 0.0, 0.0 ]" } } "update_test_listener_velocity" { "get_listener_position" { "operator" "opvar_get_float3" "input_stack_name" "system_globals" "input_operator_name" "game_per_frame_opvars" "input_field_name" "splitscreen_listeners_origin" "input_index" "0.0" // increment for splitscreen support "input_use_namespace" "false" } "limit_vector_xy" { "operator" "math_float3" "apply" "mult" "input1" "@get_listener_position.output" "input2" "[ 1.0, 1.0, 0.0 ]" } "listener_velocity" { "operator" "math_velocity" "input_position" "@limit_vector_xy.output" } "***Velocity:" { "operator" "util_print_float" "input" "@listener_velocity.output_velocity" } "prevent_stop" { "operator" "sos_stack_control" "input_add_dependent" "1.0" } } "test_goto_exit" { "dont_exit" { "operator" "sos_goto" "input_execute" "0.0" "input_exit" "0.0" } "***success_didnt_exit:" { "operator" "util_print_float" "input" "0.0" } "exit" { "operator" "sos_goto" "input_execute" "1.0" "input_goto_end" "true" } "***error_didnt_exit:" { "operator" "util_print_float" "input" "0.0" } // "prevent_stop" // { // "operator" "sos_stack_control" // "input_add_dependent" "1.0" // } } "test_goto_loop_head" { "if_less_than_3" { "operator" "math_float" "apply" "less_than" "input1" "@goto_head.output_goto_count" "input2" "3.0" } "***success_didnt_exit:" { "operator" "util_print_float" "input" "0.0" } "goto_head" { "operator" "sos_goto" "input_execute" "@if_less_than_3.output" "input_goto_head" "true" } "***success_DONE:" { "operator" "util_print_float" "input" "0.0" } // "prevent_stop" // { // "operator" "sos_stack_control" // "input_add_dependent" "1.0" // } } "test_goto_loop_operator" { "***pre_loop" { "operator" "util_print_float" "input" "0.0" } "if_less_than_3" { "operator" "math_float" "apply" "less_than" "input1" "@goto_operator.output_goto_count" "input2" "3.0" } "***success_didnt_exit:" { "operator" "util_print_float" "input" "0.0" } "goto_operator" { "operator" "sos_goto" "input_execute" "@if_less_than_3.output" "input_goto_operator" "if_less_than_3" } "***success_DONE:" { "operator" "util_print_float" "input" "0.0" } // "prevent_stop" // { // "operator" "sos_stack_control" // "input_add_dependent" "1.0" // } } /////////////////////////////////////////////////////////////////////////////////////////////////////// // // core update stacks // // ////////////////////////////////////////////////////////////////////////////////////////////////////// "core_distance_limiter" { "public" { "operator" "util_null" "operator_variables" { "distance" { "data_type" "float" "value" "0.0" } "distance_max" { "data_type" "float" "value" "5000.0" } } } "dist_limit_on" { "operator" "math_float" "apply" "greater_than" "input1" "@public.distance_max" "input2" "-1.0" } "dist_limit_test" { "operator" "math_float" "apply" "greater_than" "input_execute" "@dist_limit_on.output" "input1" "@public.distance" "input2" "@public.distance_max" } "dist_limit_and" { "operator" "math_float" "apply" "min" "input_execute" "1.0" "input1" "@dist_limit_on.output" "input2" "@dist_limit_test.output" } "exit" { "operator" "sos_goto" "input_execute" "@dist_limit_and.output" "input_goto_end" "true" } } ///////////////////////////////////////////////// // simple volume only non-update // this stack will only execute once ///////////////////////////////////////////////// "core_start_simple_oneshot" { "public" { "operator" "util_null" "operator_variables" { "start" { "data_type" "float" "value" "1.0" } "volume" { "data_type" "float" "value" "1.0" } "vsnd_file" { "data_type" "string128" "value" "sounds/common/null.vsnd" } "memory_type" { "data_type" "float" "value" "0" } } } "volume_fan" { "operator" "util_float_to_speakers" "input" "@public.volume" } "start_vsnd" { "operator" "sms_start_vsnd" "input_vsnd_name" "@public.vsnd_file" "execute_once" "false" "input_execute" "1.0" "input_start" "@public.start" "input_speaker_volumes" "@volume_fan.output" "input_pitch" "1.0" "input_memory_type" "@public.memory_type" } } ///////////////////////////////////////////////// // volume and pitch ranged non-update // this stack will only execute once ///////////////////////////////////////////////// "core_start_oneshot" { "public" { "operator" "util_null" "operator_variables" { "start" { "data_type" "float" "value" "1.0" } "volume_min" { "data_type" "float" "value" "0.9" } "volume_max" { "data_type" "float" "value" "1.0" } "pitch_min" { "data_type" "float" "value" "0.95" } "pitch_max" { "data_type" "float" "value" "1.05" } "vsnd_file" { "data_type" "string128" "value" "sounds/common/null.vsnd" } "memory_type" { "data_type" "float" "value" "0" } } } "pitch_random" { "operator" "math_random_float" "execute_once" "true" "input_min" "@public.pitch_min" "input_max" "@public.pitch_max" } "volume_random" { "operator" "math_random_float" "execute_once" "true" "input_min" "@public.volume_min" "input_max" "@public.volume_max" } "volume_fan" { "operator" "util_float_to_speakers" "execute_once" "true" "input" "@volume_random.output" } "start_vsnd" { "operator" "sms_start_vsnd" "input_vsnd_name" "@public.vsnd_file" "execute_once" "false" "input_execute" "@public.start" "input_start" "@public.start" "input_speaker_volumes" "@volume_fan.output" "input_pitch" "@pitch_random.output" "input_memory_type" "@public.memory_type" } } /////////////////////////////////////////////////////////////////////////////////////////////////////// // // src1 update stacks // // ////////////////////////////////////////////////////////////////////////////////////////////////////// // // "Dry" supports gamesounds with: // CHAR_OMNI @ // SNDLVL_NONE // // CHAR_DRYMIX # means "music" which is effected by convar snd_musicvolume ///////////////////////////////////////////////// // volume and pitch ranged non-update // this stack will only execute once ///////////////////////////////////////////////// "src1_2d" { "public" { "operator" "util_null" "operator_variables" { "start" { "data_type" "float" "value" "1.0" } "volume_min" { "data_type" "float" "value" "1.0" } "volume_max" { "data_type" "float" "value" "1.0" } "pitch_min" { "data_type" "float" "value" "1.0" } "pitch_max" { "data_type" "float" "value" "1.0" } "chan_type" { "data_type" "float" "value" "0.0" } "delay" { "data_type" "float" "value" "0.0" } "seed" { "data_type" "float" "value" "-1.0" } "vsnd_file_selections" { "data_type" "uint64" "value" "0" } "vsnd_files" { "data_type" "string128" "reserve_array" "32" "value" "sounds/common/null.vsnd" } "memory_type" { "data_type" "float" "value" "0" } } } "pitch_random" { "operator" "math_random_float" "execute_once" "true" "input_min" "@public.pitch_min" "input_max" "@public.pitch_max" "input_seed" "@public.seed" } "volume_random" { "operator" "math_random_float" "execute_once" "true" "input_min" "@public.volume_min" "input_max" "@public.volume_max" "input_seed" "@public.seed" } "volume_fan" { "operator" "util_float_to_speakers" "execute_once" "true" "input" "@volume_random.output" } "get_vsnd_array_index" { "operator" "opvar_get_random_array_index" "input_operator_name" "public" "input_field_name" "vsnd_files" "input_selection_field_name" "vsnd_file_selections" "sequence_type" "random" "input_use_namespace" "false" "input_seed" "@public.seed" } "get_vsnd_string" { "operator" "opvar_get_string" "input_operator_name" "public" "input_field_name" "vsnd_files" "input_index" "@get_vsnd_array_index.output" "input_use_namespace" "false" } "get_event_info" { "operator" "sos_soundevent_info" } "start_vsnd" { "operator" "sms_start_vsnd" "input_vsnd_name" "@get_vsnd_string.output" "execute_once" "false" "input_execute" "@public.start" "input_start" "@get_event_info.output_unstopped" "input_speaker_volumes" "@volume_fan.output" "input_pitch" "@pitch_random.output" "input_delay" "@public.delay" "input_memory_type" "@public.memory_type" } } // 5 random files to select from "src1_2d_rand5" { "public" { "operator" "util_null" "operator_variables" { "start" { "data_type" "float" "value" "1.0" } "volume_min" { "data_type" "float" "value" "1.0" } "volume_max" { "data_type" "float" "value" "1.0" } "pitch_min" { "data_type" "float" "value" "1.0" } "pitch_max" { "data_type" "float" "value" "1.0" } "chan_type" { "data_type" "float" "value" "0.0" } "delay" { "data_type" "float" "value" "0.0" } "seed" { "data_type" "float" "value" "-1.0" } "vsnd_file_selections" { "data_type" "uint64" "value" "0" } "vsnd_files" { "data_type" "string128" "reserve_array" "5" // "value" "sounds/common/null.vsnd" } } } "import_src1_2d" { "operator" "sos_import_stack" "import_stack" "src1_2d" "operator_variables" { "start" { "value" "@public.start" } "volume_min" { "value" "@public.volume_min" } "volume_max" { "value" "@public.volume_max" } "pitch_min" { "value" "@public.pitch_min" } "pitch_max" { "value" "@public.pitch_max" } "chan_type" { "value" "@public.chan_type" } "delay" { "value" "@public.delay" } "seed" { "value" "@public.seed" } // "vsnd_file" // { // "value" "@get_vsnd_string.output" // } } } } // 16 random files to select from "src1_2d_rand16" { "public" { "operator" "util_null" "operator_variables" { "start" { "data_type" "float" "value" "1.0" } "volume_min" { "data_type" "float" "value" "1.0" } "volume_max" { "data_type" "float" "value" "1.0" } "pitch_min" { "data_type" "float" "value" "1.0" } "pitch_max" { "data_type" "float" "value" "1.0" } "chan_type" { "data_type" "float" "value" "0.0" } "delay" { "data_type" "float" "value" "0.0" } "seed" { "data_type" "float" "value" "-1.0" } "vsnd_file_selections" { "data_type" "uint64" "value" "0" } "vsnd_files" { "data_type" "string128" "reserve_array" "16" "value" "sounds/common/null.vsnd" } } } "import_src1_2d" { "operator" "sos_import_stack" "import_stack" "src1_2d" "operator_variables" { "start" { "value" "@public.start" } "volume_min" { "value" "@public.volume_min" } "volume_max" { "value" "@public.volume_max" } "pitch_min" { "value" "@public.pitch_min" } "pitch_max" { "value" "@public.pitch_max" } "chan_type" { "value" "@public.chan_type" } "delay" { "value" "@public.delay" } "seed" { "value" "@public.seed" } // "vsnd_file" // { // "value" "@get_vsnd_string.output" // } } } } ///////////////////////////////////////////////// // all the standard spatial bells and whistles ///////////////////////////////////////////////// "src1_3d" { "public" { "operator" "util_null" "operator_variables" { "mixgroup" { "data_type" "string64" // "value" "" } "volume_min" { "data_type" "float" "value" "0.9" } "volume_max" { "data_type" "float" "value" "1.0" } "pitch_min" { "data_type" "float" "value" "0.95" } "pitch_max" { "data_type" "float" "value" "1.05" } "level_min" { "data_type" "float" "value" "65" } "level_max" { "data_type" "float" "value" "75" } "delay" { "data_type" "float" "value" "0.0" } "distance_max" { "data_type" "float" "value" "-1.0" } "position" { "data_type" "float3" "value" "[0.0, 0.0, 0.0]" } "vsnd_file_selections" { "data_type" "uint64" "value" "0" } "vsnd_files" { "data_type" "string128" "reserve_array" "32" "value" "sounds/common/null.vsnd" } "memory_type" { "data_type" "float" "value" "0" } } } /////////////////////////////////////////////////////////////// // time "get_event_info" { "operator" "sos_soundevent_info" } ////////////////////////////////////////////////////////////// // listener position(s) comes from game via opvar "get_listener_position" { "operator" "opvar_get_float3" "input_stack_name" "system_globals" "input_operator_name" "game_per_frame_opvars" "input_field_name" "splitscreen_listeners_origin" "input_index" "0.0" // increment for splitscreen support "input_use_namespace" "false" } "get_listener_left" { "operator" "opvar_get_float3" "input_stack_name" "system_globals" "input_operator_name" "game_per_frame_opvars" "input_field_name" "splitscreen_listeners_left" "input_index" "0.0" // increment for splitscreen support "input_use_namespace" "false" } "get_listener_front" { "operator" "opvar_get_float3" "input_stack_name" "system_globals" "input_operator_name" "game_per_frame_opvars" "input_field_name" "splitscreen_listeners_front" "input_index" "0.0" // increment for splitscreen support "input_use_namespace" "false" } ////////////////////// // positions "source_info" { "operator" "game_get_source_info" "source" "entity" } // get entity info "get_entity_info" { "input_execute" "1" "operator" "game_entity_info" "input_entity_index" "@source_info.output_entity_index" } // if we can't find entiry, use passed position "source_entity_position_switch" { "operator" "ctrl_switch_float3" "input_switch" "@get_entity_info.output_success" "input1" "@public.position" "input2" "@get_entity_info.output_position" } // -1 = listener_front, 0 = public.position, > 0 = entity position if available "source_position_switch" { "operator" "ctrl_switch3_float3" "input_index" "@source_info.output_entity_index" "input_switch_offset" "1" "input0" "@get_listener_front.output" "input1" "@public.position" "input2" "@source_entity_position_switch.output" } "distance_to_source" { "operator" "calc_distance" "input_position1" "@source_position_switch.output" "input_position2" "@get_listener_position.output" } /////////////////////////////////////////////////////////////// // distance limiting // for dota, remove for proper src1? "import_dist_limit" { "operator" "sos_import_stack" "import_stack" "core_distance_limiter" "operator_variables" { "distance" { "data_type" "float" "value" "@distance_to_source.output" } "distance_max" { "data_type" "float" "value" "@public.distance_max" } } } /////////////////////////////////////////////////////////////// // random ranges "volume_random" { "operator" "math_random_float" "execute_once" "true" "input_min" "@public.volume_min" "input_max" "@public.volume_max" } "level_random" { "operator" "math_random_float" "execute_once" "true" "input_min" "@public.level_min" "input_max" "@public.level_max" } "pitch_random" { "operator" "math_random_float" "execute_once" "true" "input_min" "@public.pitch_min" "input_max" "@public.pitch_max" } /////////////////////////////////////////////////////////////// // src2 todo : needs channel "get_vsnd_array_index" { "operator" "opvar_get_random_array_index" "execute_once" "true" // "input_stack_name" "soundevent_data_stack" "input_operator_name" "public" "input_field_name" "vsnd_files" "input_selection_field_name" "vsnd_file_selections" "sequence_type" "random" "input_use_namespace" "false" } "get_vsnd_string" { "operator" "opvar_get_string" "execute_once" "true" // "input_stack_name" "soundevent_data_stack" "input_operator_name" "public" "input_field_name" "vsnd_files" "input_index" "@get_vsnd_array_index.output" "input_use_namespace" "false" } ////////////////////////////////////// // temporary hack using path string as input // should be precompiled "mixer" { "operator" "soundmixer_get_mixgroup" "mixgroup" "@public.mixgroup" "input_vsnd_path" "@get_vsnd_string.output" } // src2 todo : needs channel & other things // NOTE: uses player data, ie: SS, return least occluded value // "occlusion" // { // "operator" "calc_occlusion" // "input_source_position" "@source_position_switch.output" // "input_listener_position" "@get_listener_position.output" // } // temp hack "occlusion" { "operator" "math_float" "apply" "mult" "input1" "1.0" "input2" "1.0" } /////////////////////////////////////////////////////////////// "snd_gain_convar" { "operator" "convar_get" "convar" "snd_gain" } "snd_op_test_convar" { "operator" "convar_get" "convar" "snd_op_test_convar" } ////////////////////// // LEVEL "level_apply_mixer" { "operator" "math_float" "apply" "mult" "input1" "@mixer.output_level" // "input1" "1.0" // "input2" "@source_info.output_level" "input2" "@public.level_max" } ///////////////////// // VOLUME // NOTE: distance has precalculated minimum distance of the ss players "volume_falloff" { "operator" "calc_falloff" "input_distance" "@distance_to_source.output" "input_level" "@level_apply_mixer.output" } // multiply all volume adjustments together "volume_accumulate" { "operator" "math_accumulate12_float" "apply" "mult" "input1" "@public.volume_max" "input2" "@volume_falloff.output" "input3" "@mixer.output_volume" // "input3" "1.0" "input4" "@snd_gain_convar.output" "input5" "@occlusion.output" "input6" "1.0" "input7" "1.0" "input8" "1.0" "input9" "1.0" "input10" "1.0" "input11" "1.0" "input12" "1.0" } /////////////////////////////////////////////////////////////// // src2 todo // "output_mixlayer_trigger" // { // "execute_once" "1" // "operator" "sys_output" // "input_float" "1" // "output" "mixlayer_trigger" // } /////////////////////////////////////////////////////////////// /////////////////// // DSP "dsp_emitter" { "operator" "math_float" "apply" "set" "input1" "1.0" } "dsp_apply_mixer" { "operator" "math_float" "apply" "mult" "input1" "@mixer.output_dsp" // "input1" "1.0" "input2" "@dsp_emitter.output" } /////////////////////////////////////////////////////////////// // src2 todo : needs channel // "dsp_distantDSP" // { // "operator" "calc_distant_dsp" // "input_distance" "@distance_to_source.output" // "input_level" "@level_apply_mixer.output" // } // temp hack "dsp_distantDSP" { "operator" "math_float" "apply" "mult" "input1" "1.0" "input2" "1.0" } "dsp_apply_distant" { "operator" "math_float" "apply" "mult" "input1" "@dsp_distantDSP.output" "input2" "@dsp_apply_mixer.output" } ///////////////////// // SPEAKERS // NOTE: uses player data, ie: SS, calculates all players and merges them "speakers_spatialize" { "operator" "calc_spatialize_speakers" "input_radius" "300" "input_distance" "@distance_to_source.output" // "input_source_position" "@source_info.output_position" "input_source_position" "@source_position_switch.output" "input_listener_position" "@get_listener_position.output" "input_listener_left" "@get_listener_left.output" "input_rear_stereo_scale" "1.0" } "speaker_volume_fan" { "operator" "util_float_to_speakers" "input" "@volume_accumulate.output" } "speakers_apply_volume" { "operator" "math_speakers" "apply" "mult" "input1" "@speakers_spatialize.output" "input2" "@speaker_volume_fan.output" } "speakers_limit" { "operator" "math_speakers" "apply" "mult" "left_front" "1.0" "right_front" "1.0" "center" "1.0" "lfe" "1.0" "left_rear" "1.0" "right_rear" "1.0" // "input1" "[ 1.0, 1.0, 1.0, 1.0, 1.0, 1.0]" "input2" "@speakers_apply_volume.output" } "start_vsnd" { "operator" "sms_start_vsnd" "input_vsnd_name" "@get_vsnd_string.output" "execute_once" "false" "input_execute" "1.0" "input_start" "@get_event_info.output_unstopped" "input_speaker_volumes" "@speakers_limit.output" "input_pitch" "@pitch_random.output" "input_delay" "@public.delay" "input_memory_type" "@public.memory_type" "operator_variables" { "send_room_dsp" { "data_type" "float" "value" "@dsp_apply_distant.output" } } } } /////////////////////////////////////////////////////////////////////////////////////////////////////// // // examples // // ////////////////////////////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////// // example of direct public opvar pass through // of to an imported stack ///////////////////////////////////////////////// "example_start_oneshot_import_test" { "public" { "operator" "util_null" "operator_variables" { "start" { "data_type" "float" "value" "1.0" } "volume_min" { "data_type" "float" "value" "0.9" } "volume_max" { "data_type" "float" "value" "1.0" } "pitch_min" { "data_type" "float" "value" "0.5" } "pitch_max" { "data_type" "float" "value" "1.0" } "vsnd_file" { "data_type" "string128" "value" "sounds/common/null.vsnd" } } } "core_start_oneshot_import_test_op" { "operator" "sos_import_stack" "import_stack" "core_start_oneshot" "operator_variables" { "start" { "value" "@public.start" } "volume_min" { "value" "@public.volume_min" } "volume_max" { "value" "@public.volume_max" } "pitch_min" { "value" "@public.pitch_min" } "pitch_max" { "value" "@public.pitch_max" } "vsnd_file" { "value" "@public.vsnd_file" } } } } ///////////////////////////////////////////////// // time triggered one shot ///////////////////////////////////////////////// "example_timetriggered_simple_oneshot" { "public" { "operator" "util_null" "operator_variables" { "time" { "data_type" "float" "value" "0.0" } "start_time" { "data_type" "float" "value" "0.0" } "unstopped" { "data_type" "float" "value" "1.0" } "volume" { "data_type" "float" "value" "1.0" } "vsnd_file" { "data_type" "string128" "value" "sounds/common/null.vsnd" } } } "time_greater_than_position" { "operator" "math_float" "apply" "greater_than" "input1" "@public.time" "input2" "@public.start_time" } "start" { "operator" "math_float" "apply" "min" "input1" "@public.unstopped" "input2" "@time_greater_than_position.output" } // "GREATER_THAN" // { // "operator" "util_print_float" // "input" "@time_greater_than_position.output" // } "core_simple_oneshot" { "operator" "sos_import_stack" "import_stack" "core_start_simple_oneshot" "operator_variables" { "start" { "value" "@start.output" } "volume" { "value" "1.0" } "vsnd_file" { "value" "@public.vsnd_file" } } } } "example_play_sequence4" { "public" { "operator" "util_null" "operator_variables" { "vsnd_file1" { "data_type" "string128" "value" "sounds/common/null.vsnd" } "start_time1" { "data_type" "float" "value" "0.0" } "volume1" { "data_type" "float" "value" "1.0" } "vsnd_file2" { "data_type" "string128" "value" "sounds/common/null.vsnd" } "start_time2" { "data_type" "float" "value" "0.0" } "volume2" { "data_type" "float" "value" "1.0" } "vsnd_file3" { "data_type" "string128" "value" "sounds/common/null.vsnd" } "start_time3" { "data_type" "float" "value" "0.0" } "volume3" { "data_type" "float" "value" "1.0" } "vsnd_file4" { "data_type" "string128" "value" "sounds/common/null.vsnd" } "start_time4" { "data_type" "float" "value" "0.0" } "volume4" { "data_type" "float" "value" "1.0" } } } "get_event_info" { "operator" "sos_soundevent_info" } "sound1" { "operator" "sos_import_stack" "import_stack" "example_timetriggered_simple_oneshot" "operator_variables" { "time" { "value" "@get_event_info.output_elapsed_time" } "start_time" { "value" "@public.start_time1" } "unstopped" { "value" "@get_event_info.output_unstopped" } "volume" { "value" "@public.volume1" } "vsnd_file" { "value" "@public.vsnd_file1" } } } "sound2" { "operator" "sos_import_stack" "import_stack" "example_timetriggered_simple_oneshot" "operator_variables" { "time" { "value" "@get_event_info.output_elapsed_time" } "start_time" { "value" "@public.start_time2" } "unstopped" { "value" "@get_event_info.output_unstopped" } "volume" { "value" "@public.volume2" } "vsnd_file" { "value" "@public.vsnd_file2" } } } "sound3" { "operator" "sos_import_stack" "import_stack" "example_timetriggered_simple_oneshot" "operator_variables" { "time" { "value" "@get_event_info.output_elapsed_time" } "start_time" { "value" "@public.start_time3" } "unstopped" { "value" "@get_event_info.output_unstopped" } "volume" { "value" "@public.volume3" } "vsnd_file" { "value" "@public.vsnd_file3" } } } "sound4" { "operator" "sos_import_stack" "import_stack" "example_timetriggered_simple_oneshot" "operator_variables" { "time" { "value" "@get_event_info.output_elapsed_time" } "start_time" { "value" "@public.start_time4" } "unstopped" { "value" "@get_event_info.output_unstopped" } "volume" { "value" "@public.volume4" } "vsnd_file" { "value" "@public.vsnd_file4" } } } "time_less_than_last_start" { "operator" "math_float" "apply" "less_than" "input1" "@get_event_info.output_elapsed_time" "input2" "@sound4.start_time" } "update_prevent_stop" { "operator" "sos_stack_control" "input_add_dependent" "@time_less_than_last_start.output" } } /////////////////////////////////////////////////////////////////////////////////////////////////////// // // Dota specific // // ////////////////////////////////////////////////////////////////////////////////////////////////////// "dota_update_default" { "public" { "operator" "util_null" "operator_variables" { "mixgroup" { "data_type" "string64" "value" "" } "volume_min" { "data_type" "float" "value" "0.9" } "volume_max" { "data_type" "float" "value" "1.0" } "volume_fade_in" { "data_type" "float" "value" "0.0" } "volume_fade_out" { "data_type" "float" "value" "0.0" } "volume_move_vel" { "data_type" "float" "value" "0.0" } "volume_move_vol" { "data_type" "float" "value" "1.0" } "volume_move_filter_vel" { "data_type" "float" "value" "1.0" } "volume_falloff_min" { "data_type" "float" "value" "750.0" } "volume_falloff_max" { "data_type" "float" "value" "4500.0" } "pitch_min" { "data_type" "float" "value" "0.95" } "pitch_max" { "data_type" "float" "value" "1.05" } "level_min" { "data_type" "float" "value" "65" } "level_max" { "data_type" "float" "value" "75" } "delay" { "data_type" "float" "value" "0.0" } "position" { "data_type" "float3" "value" "[0.0, 0.0, 0.0]" } "use_entity_position" { "data_type" "float" "value" "1.0" } "distance_max" { "data_type" "float" "value" "-1.0" } "spread_radius" { "data_type" "float" "value" "300" } "send_dsp" { "data_type" "float" "value" "1.0" } "seed" { "data_type" "float" "value" "-1.0" } "vsnd_file_selections" { "data_type" "uint64" "value" "0" } "vsnd_files" { "data_type" "string128" "reserve_array" "32" "value" "sounds/common/null.vsnd" } "memory_type" { "data_type" "float" "value" "0" } } } ////////////////////// // POSITION "source_info" { "operator" "game_get_source_info" "source" "entity" } // get entity info "get_entity_info" { "input_execute" "1" "operator" "game_entity_info" "input_entity_index" "@source_info.output_entity_index" } "use_entity_success" { "operator" "math_float" "apply" "min" "input1" "@public.use_entity_position" // "input2" "@get_entity_info.output_success" "input2" "@source_info.output_entity_index" } // use entity instead to override passed position "set_position_from_entity" { "operator" "opvar_set_float3" "input_execute" "@use_entity_success.output" "input_operator_name" "public" "input_field_name" "position" "input_use_namespace" "false" "input" "@get_entity_info.output_position" } // player position(s) comes from game via opvar "get_listener_position" { "operator" "opvar_get_float3" "input_stack_name" "system_globals" "input_operator_name" "game_per_frame_opvars" "input_field_name" "splitscreen_listeners_origin" "input_index" "0.0" // increment for splitscreen support "input_use_namespace" "false" } "get_listener_left" { "operator" "opvar_get_float3" "input_stack_name" "system_globals" "input_operator_name" "game_per_frame_opvars" "input_field_name" "splitscreen_listeners_left" "input_index" "0.0" // increment for splitscreen support "input_use_namespace" "false" } // "source_pos_xy" // { // "operator" "math_float3" // "apply" "mult" // "input1" "@public.position" // "input2" "[ 1.0, 1.0, 0.0]" // } "source_pos_xy" { "operator" "math_float3" "apply" "mult" "input1" "@public.position" "input2" "[ 1.0, 1.0, 0.0]" } "listener_pos_xy" { "operator" "math_float3" "apply" "mult" "input1" "@get_listener_position.output" "input2" "[ 1.0, 1.0, 0.0]" } "distance_to_source" { "operator" "calc_distance" "input_position1" "@source_pos_xy.output" "input_position2" "@listener_pos_xy.output" } /////////////////////////////////////////////////////////////// // distance limiting "import_dist_limit" { "operator" "sos_import_stack" "import_stack" "core_distance_limiter" "operator_variables" { "distance" { "data_type" "float" "value" "@distance_to_source.output" } "distance_max" { "data_type" "float" "value" "@public.distance_max" } } } /////////////////////////////////////////////////////////////// // time "get_event_info" { "operator" "sos_soundevent_info" } /////////////////////////////////////////////////////////////// // random ranges "volume_random" { "operator" "math_random_float" "execute_once" "true" "input_min" "@public.volume_min" "input_max" "@public.volume_max" } "level_random" { "operator" "math_random_float" "execute_once" "true" "input_min" "@public.level_min" "input_max" "@public.level_max" } "pitch_random" { "operator" "math_random_float" "execute_once" "true" "input_min" "@public.pitch_min" "input_max" "@public.pitch_max" } // local player ent index is stored in this convar "get_local_player_entity_index" { "operator" "opvar_get_float" "input_stack_name" "system_globals" "input_operator_name" "game_per_frame_opvars" "input_field_name" "dota_local_selected_entindex" "input_index" "0.0" // increment for splitscreen support "input_use_namespace" "false" // "operator" "get_opvar_float" // "opvar" "dota_local_selected_entindex" } // test if this sound is us "test_local_player_ent_index" { "operator" "math_float" "apply" "equal" "input1" "@source_info.output_entity_index" "input2" "@get_local_player_entity_index.output" } "volume_adjust_local_player" { "operator" "math_float" "apply" "mult" "input1" "@test_local_player_ent_index.output" "input2" "0.3" // this adds to local player volume only, 0.0 = mult x 1. } "volume_add_local_player" { "operator" "math_float" "apply" "add" "input1" "@volume_adjust_local_player.output" "input2" "1.0" } // NOTE: uses player data, ie: SS, returns minimum distance // "source_distance" // { // "operator" "calc_source_distance" // "input_position" "@source_info.output_position" // // "in2d" "true" // } // get values of specified mixgroup // NOTE: I believe this also sets this sound to be a member of that mixgroup as well // which is relevant to mixlayers // getting path string early for mixer to use: HACKISH for now "get_vsnd_array_index" { "operator" "opvar_get_random_array_index" "input_operator_name" "public" "input_field_name" "vsnd_files" "input_selection_field_name" "vsnd_file_selections" "sequence_type" "random" "input_use_namespace" "false" "input_seed" "@public.seed" } "get_vsnd_string" { "operator" "opvar_get_string" "input_operator_name" "public" "input_field_name" "vsnd_files" "input_index" "@get_vsnd_array_index.output" "input_use_namespace" "false" } "mixer" { "operator" "soundmixer_get_mixgroup" "set_mixgroup_to_channel" "true" "mixgroup" "@public.mixgroup" "input_vsnd_path" "@get_vsnd_string.output" } // NOTE: uses player data, ie: SS, return least occluded value // "occlusion" // { // "operator" "calc_occlusion" // "input_position" "@source_info.output_position" // } // convar to control all sound levels "snd_gain_convar" { "operator" "convar_get" "convar" "snd_gain" } "snd_op_test_convar" { "operator" "convar_get" "convar" "snd_op_test_convar" } ////////////////////// // LEVEL // adjust SPL to reflect mixer settings, this will be used below in falloff calculations "level_apply_mixer" { "operator" "math_float" "apply" "mult" "input1" "@mixer.output_level" "input2" "@level_random.output" } ///////////////////// // VOLUME // // Various volume calculations // "volume_falloff_linear" { "operator" "math_remap_float" "input" "@distance_to_source.output" "input_min" "@public.volume_falloff_min" "input_max" "@public.volume_falloff_max" "input_map_min" "1.0" "input_map_max" "0.01" "default_to_max" "false" } "volume_fade_in" { "operator" "math_remap_float" "input" "@get_event_info.output_elapsed_time" "input_min" "0.0" "input_max" "@public.volume_fade_in" "input_map_min" "0.05" "input_map_max" "1.0" "default_to_max" "true" } "volume_fade_out" { "operator" "math_remap_float" "input" "@get_event_info.output_stop_elapsed_time" "input_min" "0.0" "input_max" "@public.volume_fade_out" "input_map_min" "1.0" "input_map_max" "0.0" "default_to_max" "false" } "volume_move" { "input_execute" "1" "operator" "math_remap_float" "input" "@get_entity_info.output_velocity" "input_min" "0.0" "input_max" "@public.volume_move_vel" "input_map_min" "@public.volume_move_vol" "input_map_max" "1.0" "default_to_max" "true" } "volume_move_filter" { "operator" "math_filter_float" "input" "@volume_move.output" "input_max_velocity" "@public.volume_move_filter_vel" } // multiply all volume adjustments together "volume_accumulate" { "operator" "math_accumulate12_float" "apply" "mult" "input1" "@volume_random.output" "input2" "@mixer.output_volume" "input3" "@snd_gain_convar.output" "input4" "@volume_falloff_linear.output" "input5" "@volume_fade_in.output" "input6" "@volume_fade_out.output" "input7" "@volume_move_filter.output" "input8" "@volume_add_local_player.output" "input9" "1.0" "input10" "1.0" "input11" "1.0" "input12" "1.0" } "output_mixlayer_trigger" { "execute_once" "0" "operator" "sys_output" "input_float" "@volume_accumulate.output" "output" "mixlayer_trigger" } ///////////////////////////////////////////////////////// // handle stoptime/fade outs "stoptime_elapsed_trigger" { "operator" "math_float" "apply" "greater_than" "input1" "@volume_fade_out.output" "input2" "0.0" } /////////////////// // DSP "dsp_apply_mixer" { "operator" "math_float" "apply" "mult" "input1" "@mixer.output_dsp" "input2" "@public.send_dsp" } "dsp_distantDSP" { "operator" "calc_distant_dsp" "input_distance" "@distance_to_source.output" "input_level" "@level_apply_mixer.output" } "dsp_apply_distant" { "operator" "math_float" "apply" "mult" "input1" "@dsp_distantDSP.output" "input2" "@dsp_apply_mixer.output" } ///////////////////// // SPEAKERS + playback "speakers_spatialize" { "operator" "calc_spatialize_speakers" "input_radius" "@public.spread_radius" "input_distance" "@distance_to_source.output" "input_source_position" "@public.position" "input_listener_position" "@get_listener_position.output" "input_listener_left" "@get_listener_left.output" "input_rear_stereo_scale" "1.0" } "speaker_volume_fan" { "operator" "util_float_to_speakers" "input" "@volume_accumulate.output" } "speakers_apply_volume" { "operator" "math_speakers" "apply" "mult" "input1" "@speakers_spatialize.output" "input2" "@speaker_volume_fan.output" } "speakers_limit" { "operator" "math_speakers" "apply" "mult" "left_front" "1.0" "right_front" "1.0" "center" "1.0" "lfe" "1.0" "left_rear" "1.0" "right_rear" "1.0" // "input1" "[ 1.0, 1.0, 1.0, 1.0, 1.0, 1.0]" "input2" "@speakers_apply_volume.output" } "start_vsnd" { "operator" "sms_start_vsnd" "input_vsnd_name" "@get_vsnd_string.output" "execute_once" "false" "input_execute" "1.0" "input_start" "@stoptime_elapsed_trigger.output" "input_speaker_volumes" "@speakers_limit.output" "input_pitch" "@pitch_random.output" "input_delay" "@public.delay" "input_memory_type" "@public.memory_type" "operator_variables" { "send_room_dsp" { "data_type" "float" "value" "@dsp_apply_distant.output" } } } } "dota_update_vo_default" { "public" { "operator" "util_null" "operator_variables" { "mixgroup" { "data_type" "string64" "value" "" } "volume_min" { "data_type" "float" "value" "0.9" } "volume_max" { "data_type" "float" "value" "1.0" } "volume_fade_in" { "data_type" "float" "value" "0.0" } "volume_fade_out" { "data_type" "float" "value" "0.0" } "volume_move_vel" { "data_type" "float" "value" "0.0" } "volume_move_vol" { "data_type" "float" "value" "1.0" } "volume_move_filter_vel" { "data_type" "float" "value" "1.0" } "volume_falloff_remap_Y1" { "data_type" "float" "value" "1.0" } "volume_falloff_remap_Y2" { "data_type" "float" "value" "0.5" } "volume_falloff_remap_Y3" { "data_type" "float" "value" "0.25" } "volume_falloff_remap_Y4" { "data_type" "float" "value" "0.0005" } "pitch_min" { "data_type" "float" "value" "0.95" } "pitch_max" { "data_type" "float" "value" "1.05" } "level_min" { "data_type" "float" "value" "65" } "level_max" { "data_type" "float" "value" "75" } "delay" { "data_type" "float" "value" "0.0" } "position" { "data_type" "float3" "value" "[0.0, 0.0, 0.0]" } "use_entity_position" { "data_type" "float" "value" "1.0" } "distance_max" { "data_type" "float" "value" "-1.0" } "spread_radius" { "data_type" "float" "value" "300" } "send_dsp" { "data_type" "float" "value" "1.0" } "seed" { "data_type" "float" "value" "-1.0" } "memory_type" { "data_type" "float" "value" "0" } "vsnd_file_selections" { "data_type" "uint64" "value" "0" } "vsnd_files" { "data_type" "string128" "reserve_array" "32" "value" "sounds/common/null.vsnd" } } } ////////////////////// // POSITION "source_info" { "operator" "game_get_source_info" "source" "entity" } // get entity info "get_entity_info" { "input_execute" "1" "operator" "game_entity_info" "input_entity_index" "@source_info.output_entity_index" } "use_entity_success" { "operator" "math_float" "apply" "min" "input1" "@public.use_entity_position" // "input2" "@get_entity_info.output_success" "input2" "@source_info.output_entity_index" } // use entity instead to override passed position "set_position_from_entity" { "operator" "opvar_set_float3" "input_execute" "@use_entity_success.output" "input_operator_name" "public" "input_field_name" "position" "input_use_namespace" "false" "input" "@get_entity_info.output_position" } // player position(s) comes from game via opvar "get_listener_position" { "operator" "opvar_get_float3" "input_stack_name" "system_globals" "input_operator_name" "game_per_frame_opvars" "input_field_name" "splitscreen_listeners_origin" "input_index" "0.0" // increment for splitscreen support "input_use_namespace" "false" } "get_listener_left" { "operator" "opvar_get_float3" "input_stack_name" "system_globals" "input_operator_name" "game_per_frame_opvars" "input_field_name" "splitscreen_listeners_left" "input_index" "0.0" // increment for splitscreen support "input_use_namespace" "false" } // "source_pos_xy" // { // "operator" "math_float3" // "apply" "mult" // "input1" "@public.position" // "input2" "[ 1.0, 1.0, 0.0]" // } "source_pos_xy" { "operator" "math_float3" "apply" "mult" "input1" "@public.position" "input2" "[ 1.0, 1.0, 0.0]" } "listener_pos_xy" { "operator" "math_float3" "apply" "mult" "input1" "@get_listener_position.output" "input2" "[ 1.0, 1.0, 0.0]" } "distance_to_source" { "operator" "calc_distance" "input_position1" "@source_pos_xy.output" "input_position2" "@listener_pos_xy.output" } /////////////////////////////////////////////////////////////// // distance limiting "import_dist_limit" { "operator" "sos_import_stack" "import_stack" "core_distance_limiter" "operator_variables" { "distance" { "data_type" "float" "value" "@distance_to_source.output" } "distance_max" { "data_type" "float" "value" "@public.distance_max" } } } /////////////////////////////////////////////////////////////// // time "get_event_info" { "operator" "sos_soundevent_info" } /////////////////////////////////////////////////////////////// // random ranges "volume_random" { "operator" "math_random_float" "execute_once" "true" "input_min" "@public.volume_min" "input_max" "@public.volume_max" } "level_random" { "operator" "math_random_float" "execute_once" "true" "input_min" "@public.level_min" "input_max" "@public.level_max" } "pitch_random" { "operator" "math_random_float" "execute_once" "true" "input_min" "@public.pitch_min" "input_max" "@public.pitch_max" } // local player ent index is stored in this convar // "get_local_player_entity_index" // { // "operator" "opvar_get_float" // "input_stack_name" "system_globals" // "input_operator_name" "game_per_frame_opvars" // "input_field_name" "dota_local_selected_entindex" // "input_index" "0.0" // increment for splitscreen support // "input_use_namespace" "false" // } // test if this sound is us // "test_local_player_ent_index" // { // "operator" "math_float" // "apply" "equal" // "input1" "@source_info.output_entity_index" // "input2" "@get_local_player_entity_index.output" // } // "volume_adjust_local_player" // { // "operator" "math_float" // "apply" "mult" // "input1" "@test_local_player_ent_index.output" // "input2" "0.3" // this adds to local player volume only, 0.0 = mult x 1. // } // "volume_add_local_player" // { // "operator" "math_float" // "apply" "add" // "input1" "@volume_adjust_local_player.output" // "input2" "1.0" // } // NOTE: uses player data, ie: SS, returns minimum distance // "source_distance" // { // "operator" "calc_source_distance" // "input_position" "@source_info.output_position" // // "in2d" "true" // } // get values of specified mixgroup // NOTE: I believe this also sets this sound to be a member of that mixgroup as well // which is relevant to mixlayers // getting path string early for mixer to use: HACKISH for now "get_vsnd_array_index" { "operator" "opvar_get_random_array_index" "input_operator_name" "public" "input_field_name" "vsnd_files" "input_selection_field_name" "vsnd_file_selections" "sequence_type" "random" "input_use_namespace" "false" "input_seed" "@public.seed" } "get_vsnd_string" { "operator" "opvar_get_string" "input_operator_name" "public" "input_field_name" "vsnd_files" "input_index" "@get_vsnd_array_index.output" "input_use_namespace" "false" } "mixer" { "operator" "soundmixer_get_mixgroup" "set_mixgroup_to_channel" "true" "mixgroup" "@public.mixgroup" "input_vsnd_path" "@get_vsnd_string.output" } // NOTE: uses player data, ie: SS, return least occluded value // "occlusion" // { // "operator" "calc_occlusion" // "input_position" "@source_info.output_position" // } // convar to control all sound levels "snd_gain_convar" { "operator" "convar_get" "convar" "snd_gain" } "snd_op_test_convar" { "operator" "convar_get" "convar" "snd_op_test_convar" } ////////////////////// // LEVEL // adjust SPL to reflect mixer settings, this will be used below in falloff calculations "level_apply_mixer" { "operator" "math_float" "apply" "mult" "input1" "@mixer.output_level" "input2" "@level_random.output" } ///////////////////// // VOLUME // // Various volume calculations // "distance_falloff_remap" //REPLACE THIS WITH A MULTINODE REMAPPER WHEN THE TIME COMES { "operator" "math_curve_2d_4knot" "curve_type" "linear" "input" "@distance_to_source.output" "input_X1" "30.0" "input_Y1" "@public.volume_falloff_remap_Y1" "input_X2" "1500.0" "input_Y2" "@public.volume_falloff_remap_Y2" "input_X3" "2250.0" "input_Y3" "@public.volume_falloff_remap_Y3" "input_X4" "2625.0" "input_Y4" "@public.volume_falloff_remap_Y4" } // "volume_falloff_linear" // { // "operator" "math_remap_float" // "input" "@distance_to_source.output" // "input_min" "@public.volume_falloff_min" // "input_max" "@public.volume_falloff_max" // "input_map_min" "1.0" // "input_map_max" "0.01" // "default_to_max" "false" // } "volume_fade_in" { "operator" "math_remap_float" "input" "@get_event_info.output_elapsed_time" "input_min" "0.0" "input_max" "@public.volume_fade_in" "input_map_min" "0.0" "input_map_max" "1.0" "default_to_max" "true" } "volume_fade_out" { "operator" "math_remap_float" "input" "@get_event_info.output_stop_elapsed_time" "input_min" "0.0" "input_max" "@public.volume_fade_out" "input_map_min" "1.0" "input_map_max" "0.0" "default_to_max" "false" } "volume_move" { "input_execute" "1" "operator" "math_remap_float" "input" "@get_entity_info.output_velocity" "input_min" "0.0" "input_max" "@public.volume_move_vel" "input_map_min" "@public.volume_move_vol" "input_map_max" "1.0" "default_to_max" "true" } "volume_move_filter" { "operator" "math_filter_float" "input" "@volume_move.output" "input_max_velocity" "@public.volume_move_filter_vel" } // multiply all volume adjustments together "volume_accumulate" { "operator" "math_accumulate12_float" "apply" "mult" "input1" "@volume_random.output" "input2" "@volume_fade_in.output" "input3" "@volume_fade_out.output" "input4" "@distance_falloff_remap.output" "input5" "@mixer.output_volume" "input6" "@volume_move_filter.output" "input7" "@snd_gain_convar.output" "input8" "1.0" "input9" "1.0" "input10" "1.0" "input11" "1.0" "input12" "1.0" } "output_mixlayer_trigger" { "execute_once" "0" "operator" "sys_output" "input_float" "@volume_accumulate.output" "output" "mixlayer_trigger" } ///////////////////////////////////////////////////////// // handle stoptime/fade outs "stoptime_elapsed_trigger" { "operator" "math_float" "apply" "greater_than" "input1" "@volume_fade_out.output" "input2" "0.0" } /////////////////// // DSP "dsp_apply_mixer" { "operator" "math_float" "apply" "mult" "input1" "@mixer.output_dsp" "input2" "@public.send_dsp" } "dsp_distantDSP" { "operator" "calc_distant_dsp" "input_distance" "@distance_to_source.output" "input_level" "@level_apply_mixer.output" } "dsp_apply_distant" { "operator" "math_float" "apply" "mult" "input1" "@dsp_distantDSP.output" "input2" "@dsp_apply_mixer.output" } ///////////////////// // SPEAKERS + playback "speakers_spatialize" { "operator" "calc_spatialize_speakers" "input_radius" "@public.spread_radius" "input_distance" "@distance_to_source.output" "input_source_position" "@public.position" "input_listener_position" "@get_listener_position.output" "input_listener_left" "@get_listener_left.output" "input_rear_stereo_scale" "1.0" } "distance_falloff_scale" { "operator" "math_float" "apply" "sub" "input1" "1.0" "input2" "@distance_falloff_remap.output" } "distance_falloff_scale_fan" { "operator" "util_float_to_speakers" "input" "@distance_falloff_scale.output" } "distance_falloff_remap_fan" { "operator" "util_float_to_speakers" "input" "@distance_falloff_remap.output" } "speakers_falloff_scaled" { "operator" "math_speakers" "apply" "mult" "input1" "@distance_falloff_scale_fan.output" "input2" "@speakers_spatialize.output" } "speakers_scaled_plus_falloff" { "operator" "math_speakers" "apply" "add" "input1" "@speakers_falloff_scaled.output" "input2" "@distance_falloff_remap_fan.output" } "speaker_volume_fan" { "operator" "util_float_to_speakers" "input" "@volume_accumulate.output" } "speakers_apply_volume" { "operator" "math_speakers" "apply" "mult" "input1" "@speakers_scaled_plus_falloff.output" "input2" "@speaker_volume_fan.output" } "speakers_limit" { "operator" "math_speakers" "apply" "mult" "left_front" "1.0" "right_front" "1.0" "center" "1.0" "lfe" "1.0" "left_rear" "1.0" "right_rear" "1.0" // "input1" "[ 1.0, 1.0, 1.0, 1.0, 1.0, 1.0]" "input2" "@speakers_apply_volume.output" } "start_vsnd" { "operator" "sms_start_vsnd" "input_vsnd_name" "@get_vsnd_string.output" "execute_once" "false" "input_execute" "1.0" "input_start" "@stoptime_elapsed_trigger.output" "input_speaker_volumes" "@speakers_limit.output" "input_pitch" "@pitch_random.output" "input_delay" "@public.delay" "input_memory_type" "@public.memory_type" "operator_variables" { "send_room_dsp" { "data_type" "float" "value" "@dsp_apply_distant.output" } } } } "dota_update_vo_clamped" { "public" { "operator" "util_null" "operator_variables" { "mixgroup" { "data_type" "string64" "value" "" } "volume_min" { "data_type" "float" "value" "0.9" } "volume_max" { "data_type" "float" "value" "1.0" } "volume_fade_in" { "data_type" "float" "value" "0.0" } "volume_fade_out" { "data_type" "float" "value" "0.0" } "volume_move_vel" { "data_type" "float" "value" "0.0" } "volume_move_vol" { "data_type" "float" "value" "1.0" } "volume_move_filter_vel" { "data_type" "float" "value" "1.0" } "volume_falloff_remap_Y1" { "data_type" "float" "value" "1.0" } "volume_falloff_remap_Y2" { "data_type" "float" "value" "1.0" } "volume_falloff_remap_Y3" { "data_type" "float" "value" "1.0" } "volume_falloff_remap_Y4" { "data_type" "float" "value" "1.0" } "pitch_min" { "data_type" "float" "value" "0.95" } "pitch_max" { "data_type" "float" "value" "1.05" } "level_min" { "data_type" "float" "value" "65" } "level_max" { "data_type" "float" "value" "75" } "delay" { "data_type" "float" "value" "0.0" } "position" { "data_type" "float3" "value" "[0.0, 0.0, 0.0]" } "use_entity_position" { "data_type" "float" "value" "1.0" } "distance_max" { "data_type" "float" "value" "-1.0" } "spread_radius" { "data_type" "float" "value" "300" } "send_dsp" { "data_type" "float" "value" "1.0" } "seed" { "data_type" "float" "value" "-1.0" } "memory_type" { "data_type" "float" "value" "0" } "vsnd_file_selections" { "data_type" "uint64" "value" "0" } "vsnd_files" { "data_type" "string128" "reserve_array" "32" "value" "sounds/common/null.vsnd" } } } "import_update_vo_default" { "operator" "sos_import_stack" "import_stack" "dota_update_vo_default" "operator_variables" { "mixgroup" { "value" "@public.mixgroup" } "volume_min" { "value" "@public.volume_min" } "volume_max" { "value" "@public.volume_max" } "volume_fade_in" { "value" "@public.volume_fade_in" } "volume_fade_out" { "value" "@public.volume_fade_out" } "volume_move_vel" { "value" "@public.volume_move_vel" } "volume_move_vol" { "value" "@public.volume_move_vol" } "volume_move_filter_vel" { "value" "@public.volume_move_filter_vel" } "volume_falloff_remap_Y1" { "value" "@public.volume_falloff_remap_Y1" } "volume_falloff_remap_Y2" { "value" "@public.volume_falloff_remap_Y2" } "volume_falloff_remap_Y3" { "value" "@public.volume_falloff_remap_Y3" } "volume_falloff_remap_Y4" { "value" "@public.volume_falloff_remap_Y4" } "pitch_min" { "value" "@public.pitch_min" } "pitch_max" { "value" "@public.pitch_max" } "level_min" { "value" "@public.level_min" } "level_max" { "value" "@public.level_max" } "delay" { "value" "@public.delay" } "position" { "value" "@public.position" } "use_entity_position" { "value" "@public.use_entity_position" } "distance_max" { "value" "@public.distance_max" } "spread_radius" { "value" "@public.spread_radius" } "send_dsp" { "value" "@public.send_dsp" } "seed" { "value" "@public.seed" } "memory_type" { "value" "@public.memory_type" } // "vsnd_file_selections" // { // "data_type" "uint64" // "value" "0" // } // "vsnd_files" // { // "data_type" "string128" // "reserve_array" "32" // "value" "sounds/common/null.vsnd" // } } } } "dota_update_vo_clamped_panning" { "public" { "operator" "util_null" "operator_variables" { "mixgroup" { "data_type" "string64" "value" "" } "volume_min" { "data_type" "float" "value" "0.9" } "volume_max" { "data_type" "float" "value" "1.0" } "volume_fade_in" { "data_type" "float" "value" "0.0" } "volume_fade_out" { "data_type" "float" "value" "0.0" } "volume_move_vel" { "data_type" "float" "value" "0.0" } "volume_move_vol" { "data_type" "float" "value" "1.0" } "volume_move_filter_vel" { "data_type" "float" "value" "1.0" } "volume_falloff_remap_Y1" { "data_type" "float" "value" "1.0" } "volume_falloff_remap_Y2" { "data_type" "float" "value" "1.0" } "volume_falloff_remap_Y3" { "data_type" "float" "value" "1.0" } "volume_falloff_remap_Y4" { "data_type" "float" "value" "1.0" } "pitch_min" { "data_type" "float" "value" "0.95" } "pitch_max" { "data_type" "float" "value" "1.05" } "level_min" { "data_type" "float" "value" "65" } "level_max" { "data_type" "float" "value" "75" } "delay" { "data_type" "float" "value" "0.0" } "position" { "data_type" "float3" "value" "[0.0, 0.0, 0.0]" } "use_entity_position" { "data_type" "float" "value" "1.0" } "distance_max" { "data_type" "float" "value" "-1.0" } "spread_radius" { "data_type" "float" "value" "300" } "send_dsp" { "data_type" "float" "value" "1.0" } "seed" { "data_type" "float" "value" "-1.0" } "memory_type" { "data_type" "float" "value" "0" } "vsnd_file_selections" { "data_type" "uint64" "value" "0" } "vsnd_files" { "data_type" "string128" "reserve_array" "32" "value" "sounds/common/null.vsnd" } } } "import_update_vo_default" { "operator" "sos_import_stack" "import_stack" "dota_update_vo_default" "operator_variables" { "mixgroup" { "value" "@public.mixgroup" } "volume_min" { "value" "@public.volume_min" } "volume_max" { "value" "@public.volume_max" } "volume_fade_in" { "value" "@public.volume_fade_in" } "volume_fade_out" { "value" "@public.volume_fade_out" } "volume_move_vel" { "value" "@public.volume_move_vel" } "volume_move_vol" { "value" "@public.volume_move_vol" } "volume_move_filter_vel" { "value" "@public.volume_move_filter_vel" } "volume_falloff_remap_Y1" { "value" "@public.volume_falloff_remap_Y1" } "volume_falloff_remap_Y2" { "value" "@public.volume_falloff_remap_Y2" } "volume_falloff_remap_Y3" { "value" "@public.volume_falloff_remap_Y3" } "volume_falloff_remap_Y4" { "value" "@public.volume_falloff_remap_Y4" } "pitch_min" { "value" "@public.pitch_min" } "pitch_max" { "value" "@public.pitch_max" } "level_min" { "value" "@public.level_min" } "level_max" { "value" "@public.level_max" } "delay" { "value" "@public.delay" } "position" { "value" "@public.position" } "use_entity_position" { "value" "@public.use_entity_position" } "distance_max" { "value" "@public.distance_max" } "spread_radius" { "value" "@public.spread_radius" } "send_dsp" { "value" "@public.send_dsp" } "seed" { "value" "@public.seed" } "memory_type" { "value" "@public.memory_type" } // "vsnd_file_selections" // { // "data_type" "uint64" // "value" "0" // } // "vsnd_files" // { // "data_type" "string128" // "reserve_array" "32" // "value" "sounds/common/null.vsnd" // } } } } "dota_update_vo_spatial_stereo" { "public" { "operator" "util_null" "operator_variables" { "mixgroup" { "data_type" "string64" "value" "" } "volume_min" { "data_type" "float" "value" "0.9" } "volume_max" { "data_type" "float" "value" "1.0" } "volume_fade_in" { "data_type" "float" "value" "0.0" } "volume_fade_out" { "data_type" "float" "value" "0.0" } "volume_move_vel" { "data_type" "float" "value" "0.0" } "volume_move_vol" { "data_type" "float" "value" "1.0" } "volume_move_filter_vel" { "data_type" "float" "value" "1.0" } "volume_falloff_remap_Y1" { "data_type" "float" "value" "1.0" } "volume_falloff_remap_Y2" { "data_type" "float" "value" "1.0" } "volume_falloff_remap_Y3" { "data_type" "float" "value" "1.0" } "volume_falloff_remap_Y4" { "data_type" "float" "value" "1.0" } "pitch_min" { "data_type" "float" "value" "0.95" } "pitch_max" { "data_type" "float" "value" "1.05" } "level_min" { "data_type" "float" "value" "65" } "level_max" { "data_type" "float" "value" "75" } "delay" { "data_type" "float" "value" "0.0" } "position" { "data_type" "float3" "value" "[0.0, 0.0, 0.0]" } "use_entity_position" { "data_type" "float" "value" "1.0" } "distance_max" { "data_type" "float" "value" "-1.0" } "spread_radius" { "data_type" "float" "value" "300" } "send_dsp" { "data_type" "float" "value" "1.0" } "seed" { "data_type" "float" "value" "-1.0" } "memory_type" { "data_type" "float" "value" "0" } "vsnd_file_selections" { "data_type" "uint64" "value" "0" } "vsnd_files" { "data_type" "string128" "reserve_array" "32" "value" "sounds/common/null.vsnd" } } } "import_update_vo_default" { "operator" "sos_import_stack" "import_stack" "dota_update_vo_default" "operator_variables" { "mixgroup" { "value" "@public.mixgroup" } "volume_min" { "value" "@public.volume_min" } "volume_max" { "value" "@public.volume_max" } "volume_fade_in" { "value" "@public.volume_fade_in" } "volume_fade_out" { "value" "@public.volume_fade_out" } "volume_move_vel" { "value" "@public.volume_move_vel" } "volume_move_vol" { "value" "@public.volume_move_vol" } "volume_move_filter_vel" { "value" "@public.volume_move_filter_vel" } "volume_falloff_remap_Y1" { "value" "@public.volume_falloff_remap_Y1" } "volume_falloff_remap_Y2" { "value" "@public.volume_falloff_remap_Y2" } "volume_falloff_remap_Y3" { "value" "@public.volume_falloff_remap_Y3" } "volume_falloff_remap_Y4" { "value" "@public.volume_falloff_remap_Y4" } "pitch_min" { "value" "@public.pitch_min" } "pitch_max" { "value" "@public.pitch_max" } "level_min" { "value" "@public.level_min" } "level_max" { "value" "@public.level_max" } "delay" { "value" "@public.delay" } "position" { "value" "@public.position" } "use_entity_position" { "value" "@public.use_entity_position" } "distance_max" { "value" "@public.distance_max" } "spread_radius" { "value" "@public.spread_radius" } "send_dsp" { "value" "@public.send_dsp" } "seed" { "value" "@public.seed" } "memory_type" { "value" "@public.memory_type" } // "vsnd_file_selections" // { // "data_type" "uint64" // "value" "0" // } // "vsnd_files" // { // "data_type" "string128" // "reserve_array" "32" // "value" "sounds/common/null.vsnd" // } } } } "dota_limit_speakers_ui" //limits to just L and R, used by UI sounds for consistency across various multichannels sytems { "public" { "operator" "util_null" "operator_variables" { "volume" { "data_type" "float" "value" "0.4" } "pitch_min" { "data_type" "float" "value" "0.95" } "pitch_max" { "data_type" "float" "value" "1.05" } "vsnd_file_selections" { "data_type" "uint64" "value" "0" } "vsnd_files" { "data_type" "string128" "reserve_array" "32" "value" "sounds/common/null.vsnd" } "memory_type" { "data_type" "float" "value" "0" } } } "get_event_info" { "operator" "sos_soundevent_info" } "get_vsnd_array_index" { "operator" "opvar_get_random_array_index" // "input_stack_name" "soundevent_data_stack" "input_operator_name" "public" "input_field_name" "vsnd_files" "input_selection_field_name" "vsnd_file_selections" "sequence_type" "random_exclusive" "input_use_namespace" "false" } "get_vsnd_string" { "operator" "opvar_get_string" // "input_stack_name" "soundevent_data_stack" "input_operator_name" "public" "input_field_name" "vsnd_files" "input_index" "@get_vsnd_array_index.output" "input_use_namespace" "false" } "pitch_random" { "operator" "math_random_float" "execute_once" "true" "input_min" "@public.pitch_min" "input_max" "@public.pitch_max" } "mixer_ui" //gets ui mixgroup values { "operator" "soundmixer_get_mixgroup" "set_mixgroup_to_channel" "true" "mixgroup" "UI" } "level_apply_mixer_ui" // multiplies mixgroup volume by a set variable, adjusted for some sounds individually { "operator" "math_float" "apply" "mult" "input1" "@mixer_ui.output_volume" "input2" "@public.volume" } "speaker_volume_fan" { "operator" "util_float_to_speakers" "input" "@level_apply_mixer_ui.output" } "speakers_limit_ui" // applies volume to just L and R { "operator" "math_speakers" "apply" "mult" "left_front" "0.7" "right_front" "0.7" "center" "0.0" "lfe" "0.0" "left_rear" "0.0" "right_rear" "0.0" "input2" "@speaker_volume_fan.output" } "start_vsnd" { "operator" "sms_start_vsnd" "input_vsnd_name" "@get_vsnd_string.output" "execute_once" "false" "input_execute" "1.0" "input_start" "@get_event_info.output_unstopped" "input_speaker_volumes" "@speakers_limit_ui.output" "input_pitch" "@pitch_random.output" "input_delay" "0.0" "input_memory_type" "@public.memory_type" // "operator_variables" // { // "send_room_dsp" // { // "data_type" "float" // "value" "@dsp_apply_distant.output" // } // } } } "dota_limit_speakers_spectui" //limits to just L and R, used by UI sounds for consistency across various multichannels sytems { "public" { "operator" "util_null" "operator_variables" { "volume" { "data_type" "float" "value" "1.0" } "pitch_min" { "data_type" "float" "value" "0.95" } "pitch_max" { "data_type" "float" "value" "1.05" } "vsnd_file_selections" { "data_type" "uint64" "value" "0" } "vsnd_files" { "data_type" "string128" "reserve_array" "32" "value" "sounds/common/null.vsnd" } "memory_type" { "data_type" "float" "value" "0" } } } "get_event_info" { "operator" "sos_soundevent_info" } "get_vsnd_array_index" { "operator" "opvar_get_random_array_index" // "input_stack_name" "soundevent_data_stack" "input_operator_name" "public" "input_field_name" "vsnd_files" "input_selection_field_name" "vsnd_file_selections" "sequence_type" "random_exclusive" "input_use_namespace" "false" } "get_vsnd_string" { "operator" "opvar_get_string" // "input_stack_name" "soundevent_data_stack" "input_operator_name" "public" "input_field_name" "vsnd_files" "input_index" "@get_vsnd_array_index.output" "input_use_namespace" "false" } "pitch_random" { "operator" "math_random_float" "execute_once" "true" "input_min" "@public.pitch_min" "input_max" "@public.pitch_max" } "mixer_ui" //gets ui mixgroup values { "operator" "soundmixer_get_mixgroup" "set_mixgroup_to_channel" "true" "mixgroup" "UI" } "level_apply_mixer_ui" // multiplies mixgroup volume by a set variable, adjusted for some sounds individually { "operator" "math_float" "apply" "mult" "input1" "@mixer_ui.output_volume" "input2" "@public.volume" } "speaker_volume_fan" { "operator" "util_float_to_speakers" "input" "@level_apply_mixer_ui.output" } "speakers_limit_ui" // applies volume to just L and R { "operator" "math_speakers" "apply" "mult" "left_front" "0.8" "right_front" "0.8" "center" "0.0" "lfe" "0.0" "left_rear" "0.0" "right_rear" "0.0" "input2" "@speaker_volume_fan.output" } "start_vsnd" { "operator" "sms_start_vsnd" "input_vsnd_name" "@get_vsnd_string.output" "execute_once" "false" "input_execute" "1.0" "input_start" "@get_event_info.output_unstopped" "input_speaker_volumes" "@speakers_limit_ui.output" "input_pitch" "@pitch_random.output" "input_delay" "0.0" "input_memory_type" "@public.memory_type" // "operator_variables" // { // "send_room_dsp" // { // "data_type" "float" // "value" "@dsp_apply_distant.output" // } // } } } "dota_limit_speakers_inv" //limits to just L and R, used by UI sounds for consistency across various multichannels sytems { "public" { "operator" "util_null" "operator_variables" { "volume" { "data_type" "float" "value" "0.2" } "pitch_min" { "data_type" "float" "value" "0.95" } "pitch_max" { "data_type" "float" "value" "1.05" } "vsnd_file_selections" { "data_type" "uint64" "value" "0" } "vsnd_files" { "data_type" "string128" "reserve_array" "32" "value" "sounds/common/null.vsnd" } "memory_type" { "data_type" "float" "value" "0" } } } "get_event_info" { "operator" "sos_soundevent_info" } "get_vsnd_array_index" { "operator" "opvar_get_random_array_index" // "input_stack_name" "soundevent_data_stack" "input_operator_name" "public" "input_field_name" "vsnd_files" "input_selection_field_name" "vsnd_file_selections" "sequence_type" "random_exclusive" "input_use_namespace" "false" } "get_vsnd_string" { "operator" "opvar_get_string" // "input_stack_name" "soundevent_data_stack" "input_operator_name" "public" "input_field_name" "vsnd_files" "input_index" "@get_vsnd_array_index.output" "input_use_namespace" "false" } "pitch_random" { "operator" "math_random_float" "execute_once" "true" "input_min" "@public.pitch_min" "input_max" "@public.pitch_max" } "mixer_ui" //gets ui mixgroup values { "operator" "soundmixer_get_mixgroup" "set_mixgroup_to_channel" "true" "mixgroup" "UI" } "level_apply_mixer_ui" // multiplies mixgroup volume by a set variable, adjusted for some sounds individually { "operator" "math_float" "apply" "mult" "input1" "@mixer_ui.output_volume" "input2" "@public.volume" } "speaker_volume_fan" { "operator" "util_float_to_speakers" "input" "@level_apply_mixer_ui.output" } "speakers_limit_ui" // applies volume to just L and R { "operator" "math_speakers" "apply" "mult" "left_front" "0.6" "right_front" "0.6" "center" "0.0" "lfe" "0.0" "left_rear" "0.0" "right_rear" "0.0" "input2" "@speaker_volume_fan.output" } "start_vsnd" { "operator" "sms_start_vsnd" "input_vsnd_name" "@get_vsnd_string.output" "execute_once" "false" "input_execute" "1.0" "input_start" "@get_event_info.output_unstopped" "input_speaker_volumes" "@speakers_limit_ui.output" "input_pitch" "@pitch_random.output" "input_delay" "0.0" "input_memory_type" "@public.memory_type" // "operator_variables" // { // "send_room_dsp" // { // "data_type" "float" // "value" "@dsp_apply_distant.output" // } // } } } // "update_test2" // { // "test2_value1" // { // "operator" "math_float" // "apply" "mult" // "input1" "8" // "input2" "9" // } // "test2_value1" // { // "apply" "add" // "input1" "6" // "input2" "7" // } // "test2_value2" // { // "operator" "math_float" // "apply" "add" // "input1" "@test2_value1.output" // "input2" "1" // } // } // "update_test3" // { // "import_stack" "update_test1" // "import_stack" "update_test2" // "test2_value1" // { // "apply" "add" // "input1" "2" // "input2" "3" // } // } // "update_test4" // { // "elapsed_time" // { // "operator" "sys_get_entry_time" // } // "duration_div" // { // "operator" "math_float" // "apply" "div" // "input1" "@elapsed_time.output_sound_duration" // "input2" "4" // } // "time_div" // { // "operator" "math_float" // "apply" "div" // "input1" "@elapsed_time.output_sound_elapsed" // "input2" "@duration_div.output" // } // "time_mod" // { // "operator" "math_float" // "apply" "mod" // "input1" "@time_div.output" // "input2" "1" // } // "time_step" // { // "operator" "math_float" // "apply" "sub" // "input1" "@time_div.output" // "input2" "@time_mod.output" // } // "step_delta" // { // "operator" "math_delta" // "input" "@time_step.output" // } // "delta_trigger" // { // "operator" "math_float" // "apply" "greater_than" // "input1" "@step_delta.output" // "input2" "0.1" // } // "play_entry" // { // "operator" "sys_start_entry" // "input_start" "@delta_trigger.output" // "entry_name" "xray.beep" // } // "speaker_volume" // { // "operator" "math_float" // "apply" "mult" // "input1" "1" // "input2" "1" // } // "speakers_limit" // { // "operator" "math_speakers" // "apply" "mult" // "left_front" "1.0" // "right_front" "1.0" // "center" "0.0" // "lfe" "0.0" // "left_rear" "0.0" // "right_rear" "0.0" // "input1" "[ 1.0, 1.0, 1.0, 1.0, 1.0, 1.0]" // "input2[*]" "@speaker_volume.output" // } // "speakers_output" // { // "operator" "sys_output" // "input_speakers" "@speakers_limit.output" // "output" "speakers" // } // } // "update_remap_tests" // { // "remap_norm" // { // "execute_once" "true" // "operator" "math_remap_float" // "input" ".7" // "input_min" "0" // "input_max" "1" // "input_map_min" "0.0" // "input_map_max" "1.0" // } // "remap_norm_rev1" // { // "execute_once" "true" // "operator" "math_remap_float" // "input" ".7" // "input_min" "1" // "input_max" "0" // "input_map_min" "0.0" // "input_map_max" "1.0" // } // "remap_norm_rev2" // { // "execute_once" "true" // "operator" "math_remap_float" // "input" ".7" // "input_min" "0" // "input_max" "1" // "input_map_min" "1.0" // "input_map_max" "0.0" // } // "remap_norm_rev3" // { // "execute_once" "true" // "operator" "math_remap_float" // "input" ".7" // "input_min" "1" // "input_max" "0" // "input_map_min" "1.0" // "input_map_max" "0.0" // } // "remap_less_than_min" // { // "execute_once" "true" // "operator" "math_remap_float" // "input" "-1" // "input_min" "0" // "input_max" "1" // "input_map_min" "0.0" // "input_map_max" "1.0" // } // "remap_greater_than_max" // { // "execute_once" "true" // "operator" "math_remap_float" // "input" "2" // "input_min" "0" // "input_max" "1" // "input_map_min" "0.0" // "input_map_max" "1.0" // } // "remap_less_than_min_clamp" // { // "execute_once" "true" // "operator" "math_remap_float" // "input" "-1" // "input_min" "0" // "input_max" "1" // "input_map_min" "0.0" // "input_map_max" "1.0" // "clamp_range" "true" // } // "remap_greater_than_max_clamp" // { // "execute_once" "true" // "operator" "math_remap_float" // "input" "2" // "input_min" "0" // "input_max" "1" // "input_map_min" "0.0" // "input_map_max" "1.0" // "clamp_range" "true" // } // "remap_equal_equal_min_max" // { // "execute_once" "true" // "operator" "math_remap_float" // "input" "1" // "input_min" "1" // "input_max" "1" // "input_map_min" "0.0" // "input_map_max" "1.0" // } // "remap_equal_equal_min_max_default_min" // { // "execute_once" "true" // "operator" "math_remap_float" // "input" "1" // "input_min" "1" // "input_max" "1" // "input_map_min" "0.0" // "input_map_max" "1.0" // "default_to_max" "false" // } // "remap_less_than_equal_min_max" // { // "execute_once" "true" // "operator" "math_remap_float" // "input" ".5" // "input_min" "1" // "input_max" "1" // "input_map_min" "0.0" // "input_map_max" "1.0" // } // "remap_greater_than_equal_min_max" // { // "execute_once" "true" // "operator" "math_remap_float" // "input" "1.5" // "input_min" "1" // "input_max" "1" // "input_map_min" "0.0" // "input_map_max" "1.0" // } // "remap_greater_than_range" // { // "execute_once" "true" // "operator" "math_remap_float" // "input" "1.5" // "input_min" "0" // "input_max" "1" // "input_map_min" "0.0" // "input_map_max" "1.0" // } // "remap_less_than_range" // { // "execute_once" "true" // "operator" "math_remap_float" // "input" "0.5" // "input_min" "1.0" // "input_max" "2.0" // "input_map_min" "0.0" // "input_map_max" "1.0" // } // "remap_norm_rev" // { // "execute_once" "true" // "operator" "math_remap_float" // "input" ".7" // "input_min" "1" // "input_max" "0" // "input_map_min" "0.0" // "input_map_max" "1.0" // } // "remap_less_than_min_rev" // { // "execute_once" "true" // "operator" "math_remap_float" // "input" "-1" // "input_min" "1" // "input_max" "0" // "input_map_min" "0.0" // "input_map_max" "1.0" // } // "remap_greater_than_max_rev" // { // "execute_once" "true" // "operator" "math_remap_float" // "input" "2" // "input_min" "1" // "input_max" "0" // "input_map_min" "0.0" // "input_map_max" "1.0" // } // "remap_less_than_min_clamp_rev" // { // "execute_once" "true" // "operator" "math_remap_float" // "input" "-1" // "input_min" "1" // "input_max" "0" // "input_map_min" "0.0" // "input_map_max" "1.0" // "clamp_range" "true" // } // "remap_greater_than_max_clamp_rev" // { // "execute_once" "true" // "operator" "math_remap_float" // "input" "2" // "input_min" "1" // "input_max" "0" // "input_map_min" "0.0" // "input_map_max" "1.0" // "clamp_range" "true" // } // "big_remap_norm" // { // "execute_once" "true" // "operator" "math_remap_float" // "input" "70" // "input_min" "0" // "input_max" "100" // "input_map_min" "0.0" // "input_map_max" "100.0" // } // "big_remap_less_than_min" // { // "execute_once" "true" // "operator" "math_remap_float" // "input" "-1" // "input_min" "0" // "input_max" "100" // "input_map_min" "0.0" // "input_map_max" "100.0" // } // "big_remap_greater_than_max" // { // "execute_once" "true" // "operator" "math_remap_float" // "input" "200" // "input_min" "0" // "input_max" "100" // "input_map_min" "0.0" // "input_map_max" "100.0" // } // "big_remap_less_than_min_clamp" // { // "execute_once" "true" // "operator" "math_remap_float" // "input" "-1" // "input_min" "0" // "input_max" "100" // "input_map_min" "0.0" // "input_map_max" "100.0" // "clamp_range" "true" // } // "big_remap_greater_than_max_clamp" // { // "execute_once" "true" // "operator" "math_remap_float" // "input" "200" // "input_min" "0" // "input_max" "100" // "input_map_min" "0.0" // "input_map_max" "100.0" // "clamp_range" "true" // } // "big_remap_greater_than_range" // { // "execute_once" "true" // "operator" "math_remap_float" // "input" "150" // "input_min" "0" // "input_max" "100" // "input_map_min" "0.0" // "input_map_max" "100.0" // } // "big_remap_less_than_range" // { // "execute_once" "true" // "operator" "math_remap_float" // "input" "50" // "input_min" "100.0" // "input_max" "200.0" // "input_map_min" "0.0" // "input_map_max" "100.0" // } // "big_remap_norm_rev" // { // "execute_once" "true" // "operator" "math_remap_float" // "input" "70" // "input_min" "100" // "input_max" "0" // "input_map_min" "0.0" // "input_map_max" "100.0" // } // "big_remap_less_than_min_rev" // { // "execute_once" "true" // "operator" "math_remap_float" // "input" "-100" // "input_min" "100" // "input_max" "0" // "input_map_min" "0.0" // "input_map_max" "100.0" // } // "big_remap_greater_than_max_rev" // { // "execute_once" "true" // "operator" "math_remap_float" // "input" "200" // "input_min" "100" // "input_max" "0" // "input_map_min" "0.0" // "input_map_max" "100.0" // } // "big_remap_less_than_min_clamp_rev" // { // "execute_once" "true" // "operator" "math_remap_float" // "input" "-100" // "input_min" "100" // "input_max" "0" // "input_map_min" "0.0" // "input_map_max" "100.0" // "clamp_range" "true" // } // "big_remap_greater_than_max_clamp_rev" // { // "execute_once" "true" // "operator" "math_remap_float" // "input" "200" // "input_min" "100" // "input_max" "0" // "input_map_min" "0.0" // "input_map_max" "100.0" // "clamp_range" "true" // } // } // "update_remap_test" // { // ////////////////////// // // POSITION // "source_info" // { // "operator" "game_get_source_info" // // "source" "entity" // "source" "emitter" // } // // NOTE: uses player data, ie: SS // // SS Self-contained, returns closest distance // "source_distance" // { // "operator" "calc_distance" // "input_position1" "@public.position" // "input_position2" "@get_listener_position.output" // } // // "source_distance" // // { // // "operator" "calc_source_distance" // // "input_position" "@source_info.output_position" // // } // "remap_distance" // { // "operator" "math_remap_float" // "input" "@source_distance.output" // "input_min" "300" // "input_max" "1000" // "input_map_min" "0.80" // "input_map_max" "1.2" // } // "invert_remap" // { // "operator" "math_float" // // "apply" "sub" // "apply" "mult" // "input1" "1.0" // "input2" "@remap_distance.output" // } // "pitch_output" // { // "operator" "sys_output" // "output" "pitch" // "input_float" "@remap_distance.output" // } // ///////////////////// // // SPEAKERS // "speakers_spatialize" // { // "operator" "calc_spatialize_speakers" // "input_radius" "300" // "input_distance" "@source_distance.output" //// "input_source_position" "@source_info.output_position" // "input_source_position" "@public.position" // "input_listener_position" "@get_listener_position.output" // "input_listener_left" "@get_listener_left.output" // } // "speakers_volume" // { // "operator" "math_speakers" // "apply" "mult" // "input1" "@speakers_spatialize.output" // "input2[*]" "@invert_remap.output" // // "input2[*]" "@facing.output" // } // "speakers_output" // { // "operator" "sys_output" // "input_speakers" "@speakers_volume.output" // "output" "speakers" // } // } // "update_play_at_velocity" // { // "upav_elapsed_time" // { // "operator" "sys_get_entry_time" // } // "upav_min_time" // { // "operator" "math_float" // "apply" "greater_than" // "input1" "@upav_elapsed_time.output_entry_elapsed" // "input2" "0.2" // } // "upav_source_info" // { // "operator" "game_get_source_info" // "source" "entity" // // "source" "emitter" // } // "upav_get_entity_info" // { // "input_execute" "1" // "operator" "game_entity_info" // "input_entity_index" "@upav_source_info.output_entity_index" // } // "upav_delta_trigger" // { // "operator" "math_float" // "apply" "greater_than" // "input1" "@upav_get_entity_info.output_velocity" // "input2" "0.1" // } // "upav_delta_and_time" // { // "operator" "math_float" // "apply" "min" // "input1" "@upav_delta_trigger.output" // "input2" "@upav_min_time.output" // } // "upav_test_stopped" // { // "operator" "math_float" // "apply" "less_than" // "input1" "@upav_elapsed_time.output_stop_elapsed" // "input2" "0.0" // } // // "PRINT_upav_delta_trigger" // // { // // "operator" "util_print_float" // // "input" "@upav_delta_trigger.output" // // } // // "PRINT_upav_min_time" // // { // // "operator" "util_print_float" // // "input" "@upav_min_time.output" // // } // // "PRINT_upav_delta_and_time" // // { // // "operator" "util_print_float" // // "input" "@upav_delta_and_time.output" // // } // "upav_play_entry" // { // "input_execute" "@upav_delta_and_time.output" // "execute_once" "true" // "operator" "sys_start_entry" // "input_start" "@upav_delta_and_time.output" // "entry_name" "Default.Null" // } // "upav_stop_entry" // { // "input_execute" "@upav_delta_and_time.output" // "execute_once" "true" // "operator" "sys_stop_entries" // "stop_this_entry" "true" // } // } // "update_stop_at_time" // { // "usat_elapsed_time" // { // "operator" "sys_get_entry_time" // } // "usat_stop_time" // { // "operator" "math_float" // "apply" "greater_than" // "input1" "@usat_elapsed_time.output_entry_elapsed" // "input2" "1.0" // } // "usat_stop_entry" // { // "execute_once" "true" // "input_execute" "@usat_stop_time.output" // "operator" "sys_stop_entries" // "stop_this_entry" "true" // } // } // "update_trigger_layer_til_time" // { // "utltt_elapsed_time" // { // "operator" "sys_get_entry_time" // } // "utltt_trigger_time" // { // "operator" "math_float" // "apply" "less_than" // "input1" "@utltt_elapsed_time.output_sound_elapsed" // "input2" "1.0" // } // "utltt_output_mixlayer_trigger" // { // "operator" "sys_output" // "input_float" "@utltt_trigger_time.output" // "output" "mixlayer_trigger" // } // } // "update_stop_at_distance" // { // // this will use the standard "source_distance" operator exists // "usad_stop_dist" // { // "operator" "math_float" // "apply" "greater_than" // "input1" "0.0" // "input2" "1.0" // } // "usad_stop_entry" // { // "operator" "sys_stop_entries" // "input_execute" "@usad_stop_dist.output" // "stop_this_entry" "true" // } // } // //////////////////////////////////////////////////////////////////////////////////////////// // // // // TRIGGER STACKS // // // //////////////////////////////////////////////////////////////////////////////////////////// // "update_music_div_trigger" // { // "elapsed_time_div" // { // "operator" "sys_get_entry_time" // } // "duration_div" // { // "operator" "math_float" // "apply" "div" // "input1" "@elapsed_time_div.output_sound_duration" // "input2" "4" // } // "time_div" // { // "operator" "math_float" // "apply" "div" // "input1" "@elapsed_time_div.output_sound_elapsed" // "input2" "@duration_div.output" // } // "time_mod" // { // "operator" "math_float" // "apply" "mod" // "input1" "@time_div.output" // "input2" "1" // } // "time_step" // { // "operator" "math_float" // "apply" "sub" // "input1" "@time_div.output" // "input2" "@time_mod.output" // } // "step_delta" // { // "operator" "math_delta" // "input" "@time_step.output" // } // "delta_trigger" // { // "operator" "math_float" // "apply" "greater_than" // "input1" "@step_delta.output" // "input2" "0.1" // } // "play_entry" // { // "operator" "sys_start_entry" // "input_start" "@delta_trigger.output" // "entry_name" "xray.beep" // } // } // "update_looping_triggers" // { // "elapsed_time_div" // { // "operator" "sys_get_entry_time" // } // ///////////// x1 // "duration_div_x1" // { // "operator" "math_float" // "apply" "div" // "input1" "@elapsed_time_div.output_sound_duration" // "input2" "4" // } // "time_div_x1" // { // "operator" "math_float" // "apply" "div" // "input1" "@elapsed_time_div.output_entry_elapsed" // "input2" "@duration_div_x1.output" // } // "time_mod_x1" // { // "operator" "math_float" // "apply" "mod" // "input1" "@time_div_x1.output" // "input2" "1" // } // "time_step_x1" // { // "operator" "math_float" // "apply" "sub" // "input1" "@time_div_x1.output" // "input2" "@time_mod_x1.output" // } // "step_delta_x1" // { // "operator" "math_delta" // "input" "@time_step_x1.output" // } // "delta_trigger_x1" // { // "operator" "math_float" // "apply" "greater_than" // "input1" "@step_delta_x1.output" // "input2" "0.1" // } // "play_entry_x1" // { // "operator" "sys_start_entry" // "input_start" "@delta_trigger_x1.output" // "entry_name" "xray.beep" // } // ///////////// x2 // "duration_div_x2" // { // "operator" "math_float" // "apply" "div" // "input1" "@elapsed_time_div.output_sound_duration" // "input2" "4" // } // "time_div_x2" // { // "operator" "math_float" // "apply" "div" // "input1" "@elapsed_time_div.output_entry_elapsed" // "input2" "@duration_div_x2.output" // } // "time_mod_x2" // { // "operator" "math_float" // "apply" "mod" // "input1" "@time_div_x2.output" // "input2" "1" // } // "time_step_x2" // { // "operator" "math_float" // "apply" "sub" // "input1" "@time_div_x2.output" // "input2" "@time_mod_x2.output" // } // "step_delta_x2" // { // "operator" "math_delta" // "input" "@time_step_x2.output" // } // "delta_trigger_x2" // { // "operator" "math_float" // "apply" "greater_than" // "input1" "@step_delta_x2.output" // "input2" "0.1" // } // "play_entry_x2" // { // "operator" "sys_start_entry" // "input_start" "@delta_trigger_x2.output" // "entry_name" "xray.beep" // } // } // //////////////////////////////////////////////////////////////////////////////////////////// // // // // MUSIC STACKS // // // //////////////////////////////////////////////////////////////////////////////////////////// // "CS_update_music_stereo" // { // "elapsed_time" // { // "operator" "sys_get_entry_time" // } // "source_info" // { // "operator" "game_get_source_info" // // "source" "entity" // "source" "emitter" // } // "mixer" // { // "operator" "soundmixer_get_mixgroup" // "mixgroup" "Music" // } // "snd_gain_convar" // { // "operator" "convar_get" // "convar" "snd_gain" // } // "snd_musicvolume_convar" // { // "operator" "convar_get" // "convar" "snd_musicvolume" // } // // "dashboard" // // { // // "operator" "get_dashboard" // // } // "dashboard" // { // "operator" "opvar_get_float" // "input_stack_name" "system_globals" // "input_operator_name" "game_per_frame_opvars" // "input_field_name" "xbox_dashboard_music" // } // "convar_total" // { // "operator" "math_float" // "apply" "mult" // "input1" "@snd_musicvolume_convar.output" // "input2" "@snd_gain_convar.output" // } // "dashboard_total" // { // "operator" "math_float" // "apply" "mult" // "input1" "@convar_total.output" // "input2" "@dashboard.output" // } // "volume_fade_in" // { // "operator" "math_remap_float" // "input" "@elapsed_time.output_entry_elapsed" // "input_min" "0.0" // "input_max" "0.0" // "input_map_min" "0.0" // "input_map_max" "1.0" // "default_to_max" "true" // } // "volume_fade_initial" // { // "input_execute" "1" // "operator" "math_remap_float" // "input" "@elapsed_time.output_entry_elapsed" // "input_min" "0.0" // "input_max" "0.0" // "input_map_min" "1.0" // "input_map_max" "1.0" // "default_to_max" "false" // } // "volume_lfo_time_scale" // { // "operator" "math_float" // "apply" "mult" // "input1" "@elapsed_time.output_sound_elapsed" // "input2" "0.0" // } // "volume_lfo" // { // "operator" "math_func_float" // "function" "cos" // "normalize_trig" "true" // "input1" "@volume_lfo_time_scale.output" // } // "volume_lfo_scale" // { // "operator" "math_float" // "apply" "invert_scale" // "input1" "@volume_lfo.output" // "input2" "0.0" // } // "volume_fade_out" // { // "operator" "math_remap_float" // "input" "@elapsed_time.output_stop_elapsed" // "input_min" "0.0" // "input_max" "0.0" // "input_map_min" "0.0" // "input_map_max" "1.0" // "default_to_max" "false" // } // "volume_invert_fadeout" // { // "operator" "math_float" // "apply" "sub" // "input1" "1.0" // "input2" "@volume_fade_out.output" // } // "volume_apply_fade_in" // { // "operator" "math_float" // "apply" "mult" // "input1" "@volume_fade_in.output" // "input2" "@dashboard_total.output" // } // "volume_apply_fade_initial" // { // "operator" "math_float" // "apply" "mult" // "input1" "@volume_fade_initial.output" // "input2" "@volume_apply_fade_in.output" // } // "volume_apply_lfo" // { // "operator" "math_float" // "apply" "mult" // "input1" "@volume_apply_fade_initial.output" // "input2" "@volume_lfo_scale.output" // } // "volume_apply_fade_out" // { // "operator" "math_float" // "apply" "mult" // "input1" "@volume_apply_lfo.output" // "input2" "@volume_invert_fadeout.output" // } // "volume_apply_mixer" // { // "operator" "math_float" // "apply" "mult" // "input1" "@mixer.output_volume" // "input2" "@volume_apply_fade_out.output" // } // "volume_apply_adjust" // { // "operator" "math_float" // "apply" "mult" // "input1" "1.0" // "input2" "@volume_apply_mixer.output" // } // "speaker_volume" // { // "operator" "math_float" // "apply" "mult" // "input1" "@source_info.output_volume" // "input2" "@volume_apply_adjust.output" // } // "speaker_volume_fan" // { // "operator" "util_float_to_speakers" // "input" "@speaker_volume.output" // } // "speakers_limit" // { // "operator" "math_speakers" // "apply" "mult" // "left_front" "1.0" // "right_front" "1.0" // "center" "0.0" // "lfe" "0.0" // "left_rear" "0.8" // "right_rear" "0.8" // "input1" "[ 1.0, 1.0, 0.0, 0.0, 0.8, 0.8]" // "input2" "speaker_volume_fan.output" // } // "speakers_output" // { // "operator" "sys_output" // "input_speakers" "@speakers_limit.output" // "output" "speakers" // } // "get_selection_mixlayer_opvar" // { // "operator" "opvar_get_float" // "field_name" "selection_mixlayer" // } // // for block the "duration" that the file plays // "hold_mixlayer_time_calc" // { // "operator" "math_float" // "apply" "greater_than" // "input1" "@elapsed_time.output_sound_duration" // "input2" "@elapsed_time.output_entry_elapsed" // } // "hold_mixlayer_time_calc2" // { // "operator" "math_float" // "apply" "mult" // "input1" "@hold_mixlayer_time_calc.output" // "input2" "@get_selection_mixlayer_opvar.output" // } // "output_mixlayer_trigger" // { // "operator" "sys_output" // "input_float" "@hold_mixlayer_time_calc2.output" // "output" "mixlayer_trigger" // } // "stoptime_elapsed_trigger" // { // "operator" "math_float" // "apply" "greater_than" // "input1" "@volume_invert_fadeout.output" // "input2" "0.0" // } // "stop_hold_output" // { // "operator" "sys_output" // "output" "stop_hold" // "input_float" "@stoptime_elapsed_trigger.output" // } // // for block the "duration" that the file plays // "block_entry_time_calc" // { // "operator" "math_float" // "apply" "add" // "input1" "0.5" // "input2" "@elapsed_time.output_entry_elapsed" // } // "block_entries" // { // "operator" "sys_block_entries" // "input_active" "0.0" // "input_duration" "@block_entry_time_calc.output" //in seconds, you can use "@get_random.output" for a random blocking period // "match_substring" "true" // "match_entry" "foo" //The sound entry to use // "match_channel" "false" // "match_entity" "false" // } // } // "CS_update_music_gungame_startround" // { // "import_stack" "CS_update_music_stereo" // "volume_fade_initial" // { // "input_execute" "1" // "input_min" "1.0" // "input_max" "6.0" // "input_map_min" "1.0" // "input_map_max" "0.3" // "default_to_max" "false" // } // "volume_fade_out" // { // "input_max" "3.0" // } // "mixer" // { // "mixgroup" "BuyMusic" // } // "update_track" // { // "operator" "track_update" // } // "import_stack" "update_stop_at_time" // "usat_stop_time" // { // "input2" "6.0" // } // } // "update_music_spatial" // { // "save_restore_output" // { // "operator" "sys_output" // "execute_once" "true" // "input_float" "1.0" // "output" "save_restore" // } // ////////////////////// // // POSITION // "source_info" // { // "operator" "game_get_source_info" // // "source" "entity" // "source" "emitter" // } // "elapsed_time" // { // "operator" "sys_get_entry_time" // } // "position_array" // { // "operator" "util_pos_vec8" // "input_entry_count" "1" // "input_index" "0" // "input_position_0" "@source_info.output_position" // } // "get_listener_position" // { // "operator" "opvar_get_float3" // "input_stack_name" "system_globals" // "input_operator_name" "game_per_frame_opvars" // "input_field_name" "splitscreen_listeners_origin" // "input_index" "0.0" // increment for splitscreen support // } // // NOTE: uses player data, ie: SS, returns minimum distance // "source_distance" // { // "operator" "calc_distance" // "input_position1" "@public.position" // "input_position2" "@get_listener_position.output" // } // // "source_distance" // // { // // "operator" "calc_source_distance" // // "input_position" "@position_array.output_position" // // } // //////////////////// // // calc // "mixer" // { // "operator" "soundmixer_get_mixgroup" // "mixgroup" "Music" // } // // NOTE: uses player data, ie: SS, return least occluded value // "occlusion" // { // "operator" "calc_occlusion" // "input_source_position" "@public.position" // "input_listener_position" "@get_listener_position.output" // } // // "occlusion" // // { // // "operator" "calc_occlusion" // // "input_position" "@position_array.output_position" // // } // "snd_gain_convar" // { // "operator" "convar_get" // "convar" "snd_gain" // } // "snd_op_test_convar" // { // "operator" "convar_get" // "convar" "snd_op_test_convar" // } // "snd_musicvolume_convar" // { // "operator" "convar_get" // "convar" "snd_musicvolume" // } // "dashboard" // { // "operator" "get_dashboard" // } // "dashboard" // { // "operator" "opvar_get_float" // "input_stack_name" "system_globals" // "input_operator_name" "test_opvars" // "input_field_name" "xbox_dashboard_music" // } // ////////////////////// // // LEVEL // "level_apply_mixer" // { // "operator" "math_float" // "apply" "mult" // "input1" "@mixer.output_level" // "input2" "@source_info.output_level" // } // ///////////////////// // // VOLUME // // NOTE: distance has precalculated minimum distance of the ss players // "volume_falloff" // { // "operator" "calc_falloff" // "input_distance" "@source_distance.output" // "input_level" "@level_apply_mixer.output" // } // "volume_fade_in" // { // "operator" "math_remap_float" // "input" "@elapsed_time.output_entry_elapsed" // "input_min" "0.0" // "input_max" "0.0" // "input_map_min" "0.0" // "input_map_max" "@source_info.output_volume" // } // "volume_clamp_fade_in" // { // "operator" "math_float" // "apply" "min" // "input1" "@volume_fade_in.output" // "input2" "1.0" // } // "volume_fade_initial" // { // "input_execute" "0" // "operator" "math_remap_float" // "input" "@elapsed_time.output_entry_elapsed" // "input_min" "0.0" // "input_max" "0.0" // "input_map_min" "0.0" // "input_map_max" "1.0" // "default_to_max" "false" // } // "volume_invert_initial" // { // "operator" "math_float" // "apply" "sub" // "input1" "1.0" // "input2" "@volume_fade_initial.output" // } // "volume_apply_fade_initial" // { // "operator" "math_float" // "apply" "mult" // "input1" "@volume_invert_initial.output" // "input2" "@volume_clamp_fade_in.output" // } // "volume_fade_out" // { // "operator" "math_remap_float" // "input" "@elapsed_time.output_stop_elapsed" // "input_min" "0.0" // "input_max" "0.0" // "input_map_min" "0.0" // "input_map_max" "1.0" // "default_to_max" "false" // } // "volume_invert_fadeout" // { // "operator" "math_float" // "apply" "sub" // "input1" "1.0" // "input2" "@volume_fade_out.output" // } // "volume_apply_fade_out" // { // "operator" "math_float" // "apply" "mult" // "input1" "@volume_apply_fade_initial.output" // "input2" "@volume_invert_fadeout.output" // } // "volume_apply_falloff" // { // "operator" "math_float" // "apply" "mult" // "input1" "@volume_apply_fade_out.output" // "input2" "@volume_falloff.output" // } // "volume_apply_mixer" // { // "operator" "math_float" // "apply" "mult" // "input1" "@mixer.output_volume" // "input2" "@volume_apply_falloff.output" // } // "volume_apply_snd_gain_convar" // { // "operator" "math_float" // "apply" "mult" // "input1" "@snd_gain_convar.output" // "input2" "@volume_apply_mixer.output" // } // "volume_apply_musicvolume_convar" // { // "operator" "math_float" // "apply" "mult" // "input1" "@snd_musicvolume_convar.output" // "input2" "@volume_apply_snd_gain_convar.output" // } // "volume_apply_occlusion" // { // "operator" "math_float" // "apply" "mult" // "input1" "@volume_apply_musicvolume_convar.output" // "input2" "@occlusion.output" // } // "volume_apply_dashboard" // { // "operator" "math_float" // "apply" "mult" // "input1" "@volume_apply_occlusion.output" // "input2" "@dashboard.output" // } // // set dsp just to be sure // "dsp_output" // { // "operator" "sys_output" // // "input_float" "@dsp_apply_distant.output" // "input_float" "0" // "output" "dsp" // } // ///////////////////// // // SPEAKERS // // NOTE: uses player data, ie: SS, calculates all players and merges them // "speakers_spatialize" // { // "operator" "calc_spatialize_speakers" // "input_rear_stereo_scale" "1.0" // "input_radius" "300" // "input_distance" "@source_distance.output" //// "input_source_position" "@position_array.output_position" // "input_source_position" "@public.position" // "input_listener_position" "@get_listener_position.output" // "input_listener_left" "@get_listener_left.output" // } // "speakers_volume" // { // "operator" "math_speakers" // "apply" "mult" // "input1" "@speakers_spatialize.output" // "input2[*]" "@volume_apply_dashboard.output" // } // "speakers_limit" // { // "operator" "math_speakers" // "apply" "mult" // "left_front" "1.0" // "right_front" "1.0" // "center" "1.0" // "lfe" "1.0" // "left_rear" "1.0" // "right_rear" "1.0" // "input1" "[ 1.0, 1.0, 1.0, 1.0, 1.0, 1.0]" // "input2" "@speakers_volume.output" // } // "speakers_multi_origin" // { // "operator" "iterate_merge_speakers" // "input_max_iterations" "@position_array.output_max_index" // "iterate_operator" "position_array" // "input" "@speakers_limit.output" // } // // connecting output after operator has been created // "position_array" // { // "input_index" "@speakers_multi_origin.output_index" // } // "speakers_output" // { // "operator" "sys_output" // "input_speakers" "@speakers_multi_origin.output" // "output" "speakers" // } // // stop deletion until after fadeout // "stoptime_elapsed_trigger" // { // "operator" "math_float" // "apply" "greater_than" // "input1" "@volume_invert_fadeout.output" // "input2" "0.0" // } // "stop_hold_output" // { // "operator" "sys_output" // "output" "stop_hold" // "input_float" "@stoptime_elapsed_trigger.output" // } // } // "update_music_spatial_stop_dist" // { // "import_stack" "update_music_spatial" // "import_stack" "update_stop_at_distance" // "usad_stop_dist" // { // "input1" "@source_distance.output" // "input2" "1.0" // distance beyond which to stop // } // } // "update_music_spatial_looping_triggers" // { // "import_stack" "update_music_spatial" // "import_stack" "update_looping_triggers" // } // "update_music_stereo_trigger" // { // "import_stack" "update_music_stereo" // "import_stack" "update_music_div_trigger" // } // "p2_update_music_play_tbeam" // { // "tb_mixer" // { // "operator" "soundmixer_get_mixgroup" // "mixgroup" "testTBin" // } // // "print_tb_mixer" // // { // // "operator" "util_print_float" // // "input" "@tb_mixer.output_volume" // // } // "tb_delta" // { // "operator" "math_delta" // "input" "@tb_mixer.output_volume" // } // "tb_mixer_zero" // { // "operator" "math_float" // "apply" "less_than_or_equal" // "input1" "@tb_mixer.output_volume" // "input2" "0.0" // } // "tb_start_trigger" // { // "operator" "math_float" // "apply" "less_than" // "input1" "@tb_delta.output" // "input2" "0.0" // } // "tb_start_trigger_test" // { // "operator" "math_float" // "apply" "min" // "input1" "@tb_start_trigger.output" // "input2" "@tb_mixer_zero.output" // } // // "print_tb_delta" // // { // // "operator" "util_print_float" // // "input" "@tb_delta.output" // // } // // "print_start_trigger" // // { // // "input_execute" "@tb_start_trigger.output" // // "operator" "util_print_float" // // "input" "@tb_start_trigger_test.output" // // } // "tb_stop_trigger" // { // "operator" "math_float" // "apply" "greater_than" // "input1" "@tb_mixer.output_volume" // "input2" "0.0" // } // "play_entry" // { // "execute_once" "false" // "operator" "sys_start_entry" // "input_start" "1" // "input_execute" "@tb_start_trigger_test.output" // "entry_name" "Default.Null" // } // "stop_entry" // { // "input_execute" "@tb_stop_trigger.output" // "operator" "sys_stop_entries" // "input_max_entries" "0.000000" // "match_entity" "false" // "match_substring" "false" // "match_entry" "Default.Null" // } // } // "p2_update_music_play_gel" // { // "gel_elapsed_time" // { // "operator" "sys_get_entry_time" // } // "bounce_get_listener_position" // { // "operator" "opvar_get_float3" // "input_stack_name" "system_globals" // "input_operator_name" "game_per_frame_opvars" // "input_field_name" "splitscreen_listeners_origin" // "input_index" "0.0" // increment for splitscreen support // } // "bounce_limit_vector_z" // { // "operator" "math_float3" // "apply" "mult" // "input1" "@bounce_get_listener_position.output" // "input2" "[ 0.0, 0.0, 1.0 ]" // } // "bounce_listener_velocity_z" // { // "operator" "math_velocity" // "input_position" "@bounce_limit_vector_xy.output" // } // "gel_mixer" // { // "operator" "soundmixer_get_mixgroup" // "mixgroup" "testGelBounce" // } // "gel_delta" // { // "operator" "math_delta" // "input" "@gel_mixer.output_volume" // } // // "gel_delta_test" // // { // // "operator" "math_float" // // "apply" "less_than" // // "input1" "@gel_delta.output" // // "input2" "0.0" // // } // // "print_delta" // // { // // "input_execute" "@gel_delta_test.output" // // "operator" "util_print_float" // // "input" "@gel_delta.output" // // } // "gel_mixer_zero" // { // "operator" "math_float" // "apply" "less_than_or_equal" // "input1" "@gel_mixer.output_volume" // "input2" "0.0" // } // "gel_start_trigger" // { // "operator" "math_float" // "apply" "less_than" // "input1" "@gel_delta.output" // "input2" "0.0" // } // "gel_start_trigger_test" // { // "operator" "math_float" // "apply" "min" // "input1" "@gel_start_trigger.output" // "input2" "@gel_mixer_zero.output" // } // // "gel_start_trigger" // // { // // "operator" "math_float" // // "apply" "less_than" // // "input1" "@gel_delta.output" // // "input2" "0.0" // // } // "gel_stop_trigger" // { // "operator" "math_float" // "apply" "less_than" // "input1" "@bounce_listener_velocity_z.output_velocity" // "input2" "1.0" // } // "gel_test_stopped" // { // "operator" "math_float" // "apply" "less_than" // "input1" "@gel_elapsed_time.output_stop_elapsed" // "input2" "0.0" // } // // "print_gel_test_stopped" // // { // // "input_execute" "@gel_delta_test.output" // // "operator" "util_print_float" // // "input" "@gel_test_stopped.output" // // } // // "print_gel_test_start_trigger" // // { // // "input_execute" "@gel_delta_test.output" // // "operator" "util_print_float" // // "input" "@gel_start_trigger.output" // // } // // "print_gel_test_stop_trigger" // // { // // "input_execute" "@gel_delta_test.output" // // "operator" "util_print_float" // // "input" "@gel_stop_trigger.output" // // } // "gel_play_entry" // { // "execute_once" "false" // "operator" "sys_start_entry" // "input_start" "@gel_test_stopped.output" // "input_execute" "@gel_start_trigger_test.output" // "entry_name" "Default.Null" // } // "gel_stop_entry" // { // "input_execute" "@gel_stop_trigger.output" // "operator" "sys_stop_entries" // "input_max_entries" "0.000000" // "match_entity" "false" // "match_substring" "false" // "match_entry" "Default.Null" // } // } // "p2_update_music_play_speed_gel" // { // "speed_get_listener_position" // { // "operator" "opvar_get_float3" // "input_stack_name" "system_globals" // "input_operator_name" "game_per_frame_opvars" // "input_field_name" "splitscreen_listeners_origin" // "input_index" "0.0" // increment for splitscreen support // } // "speed_limit_vector_xy" // { // "operator" "math_float3" // "apply" "mult" // "input1" "@speed_get_listener_position.output" // "input2" "[ 1.0, 1.0, 0.0 ]" // } // "speed_listener_velocity_xy" // { // "operator" "math_velocity" // "input_position" "@speed_limit_vector_xy.output" // } // "speed_velocity_fabs_xy" // { // "operator" "math_func_float" // "function" "fabs" // "input1" "@speed_listener_velocity_xy.output_velocity" // } // "speed_velocity_trigger" // { // "operator" "math_float" // "apply" "greater_than" // "input1" "@speed_velocity_fabs_xy.output" // "input2" "12" // } // "speed_delta" // { // "operator" "math_delta" // "input" "@speed_velocity_trigger.output" // } // "speed_start_trigger" // { // "operator" "math_float" // "apply" "greater_than" // "input1" "@speed_delta.output" // "input2" "0" // } // "speed_stop_trigger" // { // "operator" "math_float" // "apply" "less_than" // "input1" "@speed_delta.output" // "input2" "0" // } // "speed_play_entry" // { // "execute_once" "false" // "operator" "sys_start_entry" // "input_start" "1" // "input_execute" "@speed_start_trigger.output" // "entry_name" "Default.Null" // } // "speed_stop_entry" // { // "input_execute" "@speed_stop_trigger.output" // "operator" "sys_stop_entries" // "input_max_entries" "0.000000" // "match_entity" "false" // "match_substring" "false" // "match_entry" "Default.Null" // } // } // "p2_update_music_stereo_bounce" // { // "import_stack" "update_music_stereo" // "get_listener_position" // { // "operator" "opvar_get_float3" // "input_stack_name" "system_globals" // "input_operator_name" "game_per_frame_opvars" // "input_field_name" "splitscreen_listeners_origin" // "input_index" "0.0" // increment for splitscreen support // } // "limit_vector_z" // { // "operator" "math_float3" // "apply" "mult" // "input1" "@get_listener_position.output" // "input2" "[ 0.0, 0.0, 1.0 ]" // } // "listener_velocity_z" // { // "operator" "math_velocity" // "input_position" "@limit_vector_z.output" // } // // "volume_bounce" // // { // // "operator" "math_remap_float" // // "input" "@elapsed_time.output_stop_elapsed" // // "input_min" "-80.0" // // "input_max" "100.0" // // "input_map_min" "0.0" // // "input_map_max" "1.0" // // "default_to_max" "false" // // } // "abs_velocity_vector_z" // { // "operator" "math_func_float" // "function" "fabs" // "input1" "@listener_velocity_z.output_velocity" // } // "volume_bounce" // { // "operator" "math_remap_float" // "input" "@abs_velocity_vector_z.output" // "input_min" "0.0" // "input_max" "100.0" // "input_map_min" "0.1" // "input_map_max" "1.0" // "default_to_max" "false" // } // "volume_apply_adjust" // { // "input1" "@volume_bounce.output" // } // } // "p2_update_music_spatial_portals" // { // "import_stack" "update_music_spatial" // // set up so it iterates over portalized sounds // "speakers_multi_origin" // { // "input_max_iterations" "@source_info.output_source_count" // "iterate_operator" "source_info" // } // // connecting output after operator has been created // "source_info" // { // "input_source_index" "@speakers_multi_origin.output_index" // } // // turn off position array indexing // "position_array" // { // "input_index" "0" // } // } // //////////////////////////////////////////////////////////////////////////////////////////// // // // // STANDARD STACKS // // // //////////////////////////////////////////////////////////////////////////////////////////// // "update_simple_quad" // { // "save_restore_output" // { // "operator" "sys_output" // "execute_once" "true" // "input_float" "1.0" // "output" "save_restore" // } // "mixer" // { // "operator" "soundmixer_get_mixgroup" // "mixgroup" "All" // } // "snd_gain_convar" // { // "operator" "convar_get" // "convar" "snd_gain" // } // "volume_apply_mixer" // { // "operator" "math_float" // "apply" "mult" // "input1" "@mixer.output_volume" // "input2" "@snd_gain_convar.output" // } // "speaker_volume" // { // "operator" "math_float" // "apply" "mult" // "input1" "1" // "input2" "@volume_apply_mixer.output" // } // "speaker_volume_fan" // { // "operator" "util_float_to_speakers" // "input" "@speaker_volume.output" // } // "speakers_limit" // { // "operator" "math_speakers" // "apply" "mult" // "left_front" "1.0" // "right_front" "1.0" // "center" "0.0" // "lfe" "0.0" // "left_rear" "1.0" // "right_rear" "1.0" // "input1" "[ 1.0, 1.0, 0.0, 0.0, 1.0, 1.0]" // "input2" "@speaker_volume_fan.output" // } // "speakers_output" // { // "operator" "sys_output" // "input_speakers" "@speakers_limit.output" // "output" "speakers" // } // "output_mixlayer_trigger" // { // "execute_once" "1" // "operator" "sys_output" // "input_float" "1" // "output" "mixlayer_trigger" // } // } // "update_default" // { // "elapsed_time" // { // "operator" "sys_get_entry_time" // } // ////////////////////// // // POSITION // "source_info" // { // "operator" "game_get_source_info" // // "source" "entity" // "source" "emitter" // } // "get_listener_position" // { // "operator" "opvar_get_float3" // "input_stack_name" "system_globals" // "input_operator_name" "game_per_frame_opvars" // "input_field_name" "splitscreen_listeners_origin" // "input_index" "0.0" // increment for splitscreen support // } // "source_distance" // { // "operator" "calc_distance" // "input_position1" "@public.position" // "input_position2" "@get_listener_position.output" // } // // NOTE: uses player data, ie: SS, returns minimum distance // // "source_distance" // // { // // "operator" "calc_source_distance" // // "input_position" "@source_info.output_position" // // } // //////////////////// // // calc // "mixer" // { // "operator" "soundmixer_get_mixgroup" // // "mixgroup" "All" // } // // NOTE: uses player data, ie: SS, return least occluded value // "occlusion" // { // "operator" "calc_occlusion" // "input_source_position" "@public.position" // "input_listener_position" "@get_listener_position.output" // } // // "occlusion" // // { // // "operator" "calc_occlusion" // // "input_position" "@source_info.output_position" // // } // "snd_gain_convar" // { // "operator" "convar_get" // "convar" "snd_gain" // } // "snd_op_test_convar" // { // "operator" "convar_get" // "convar" "snd_op_test_convar" // } // ////////////////////// // // LEVEL // "level_apply_mixer" // { // "operator" "math_float" // "apply" "mult" // "input1" "@mixer.output_level" // "input2" "@source_info.output_level" // } // ///////////////////// // // VOLUME // // NOTE: distance has precalculated minimum distance of the ss players // "volume_falloff" // { // "operator" "calc_falloff" // "input_distance" "@source_distance.output" // "input_level" "@level_apply_mixer.output" // } // "volume_fade_out" // { // "operator" "math_remap_float" // "input" "@elapsed_time.output_stop_elapsed" // "input_min" "0.0" // "input_max" "0.0" // "input_map_min" "1.0" // "input_map_max" "0.0" // "default_to_max" "true" // } // // multiply all volume adjustments together // "volume_accumulate" // { // "operator" "math_accumulate12_float" // "apply" "mult" // "input1" "@source_info.output_volume" // "input2" "@volume_falloff.output" // "input3" "@mixer.output_volume" // "input4" "@snd_gain_convar.output" // "input5" "@occlusion.output" // "input6" "@volume_fade_out.output" // "input7" "1.0" // "input8" "1.0" // "input9" "1.0" // "input10" "1.0" // "input11" "1.0" // "input12" "1.0" // } // // output mix layer trigger // "output_mixlayer_trigger" // { // "execute_once" "1" // "operator" "sys_output" // "input_float" "1" // "output" "mixlayer_trigger" // } // /////////////////// // // PITCH // "pitch_output" // { // "operator" "sys_output" // "output" "pitch" // "input_float" "@source_info.output_pitch" // } // /////////////////// // // DSP // "dsp_emitter" // { // "operator" "math_float" // "apply" "set" // "input1" "1.0" // } // "dsp_apply_mixer" // { // "operator" "math_float" // "apply" "mult" // "input1" "@mixer.output_dsp" // "input2" "@dsp_emitter.output" // } // "dsp_distantDSP" // { // "operator" "calc_distant_dsp" // "input_distance" "@source_distance.output" // "input_level" "@level_apply_mixer.output" // } // "dsp_apply_distant" // { // "operator" "math_float" // "apply" "mult" // "input1" "@dsp_distantDSP.output" // "input2" "@dsp_apply_mixer.output" // } // "dsp_output" // { // "operator" "sys_output" // "input_float" "@dsp_apply_distant.output" // "output" "dsp" // } // ///////////////////// // // SPEAKERS // // NOTE: uses player data, ie: SS, calculates all players and merges them // "speakers_spatialize" // { // "operator" "calc_spatialize_speakers" // "input_radius" "300" // "input_distance" "@source_distance.output" // // "input_source_position" "@source_info.output_position" // "input_source_position" "@public.position" // "input_listener_position" "@get_listener_position.output" // "input_listener_left" "@get_listener_left.output" // "input_rear_stereo_scale" "1.0" // } // "speaker_volume_fan" // { // "operator" "util_float_to_speakers" // "input" "@volume_accumulate.output" // } // "speakers_apply_volume" // { // "operator" "math_speakers" // "apply" "mult" // "input1" "@speakers_spatialize.output" // "input2" "@speaker_volume_fan.output" // } // "speakers_limit" // { // "operator" "math_speakers" // "apply" "mult" // "left_front" "1.0" // "right_front" "1.0" // "center" "1.0" // "lfe" "1.0" // "left_rear" "1.0" // "right_rear" "1.0" // // "input1" "[ 1.0, 1.0, 1.0, 1.0, 1.0, 1.0]" // "input2" "@speakers_apply_volume.output" // } // "speakers_output" // { // "operator" "sys_output" // "input_speakers" "@speakers_limit.output" // "output" "speakers" // } // "stoptime_elapsed_trigger" // { // "operator" "math_float" // "apply" "greater_than" // "input1" "@volume_fade_out.output" // "input2" "0.0" // } // "stop_hold_output" // { // "operator" "sys_output" // "output" "stop_hold" // "input_float" "@stoptime_elapsed_trigger.output" // } // } // "CS_update_weapon" // { // ////////////////////// // // "variables" // "volume_xfade_start_dist" // { // "operator" "math_float" // "apply" "add" // "input1" "0.0" // "input2" "800" // } // "volume_xfade_end_dist" // { // "operator" "math_float" // "apply" "add" // "input1" "0.0" // "input2" "2800" // } // ////////////////////// // // POSITION // "source_info" // { // "operator" "game_get_source_info" // // "source" "entity" // "source" "emitter" // } // "get_listener_position" // { // "operator" "opvar_get_float3" // "input_stack_name" "system_globals" // "input_operator_name" "game_per_frame_opvars" // "input_field_name" "splitscreen_listeners_origin" // "input_index" "0.0" // increment for splitscreen support // } // "source_distance" // { // "operator" "calc_distance" // "input_position1" "@public.position" // "input_position2" "@get_listener_position.output" // } // // // NOTE: uses player data, ie: SS, returns minimum distance // // "source_distance" // // { // // "operator" "calc_source_distance" // // "input_position" "@source_info.output_position" // // } // //////////////////// // // calc // "mixer" // { // "operator" "soundmixer_get_mixgroup" // "mixgroup" "Weapons" // } // // NOTE: uses player data, ie: SS, return least occluded value // "occlusion" // { // "operator" "calc_occlusion" // "input_source_position" "@public.position" // "input_listener_position" "@get_listener_position.output" // } // // "occlusion" // // { // // "operator" "calc_occlusion" // // "input_position" "@source_info.output_position" // // } // "snd_gain_convar" // { // "operator" "convar_get" // "convar" "snd_gain" // } // "snd_op_test_convar" // { // "operator" "convar_get" // "convar" "snd_op_test_convar" // } // ////////////////////// // // LEVEL // "level_apply_mixer" // { // "operator" "math_float" // "apply" "mult" // "input1" "@mixer.output_level" // "input2" "@source_info.output_level" // } // ///////////////////// // // VOLUME // // NOTE: distance has precalculated minimum distance of the ss players // "volume_falloff" // { // "operator" "calc_falloff" // "input_distance" "@source_distance.output" // "input_level" "@level_apply_mixer.output" // } // "volume_distance_xfade" // { // "operator" "math_remap_float" // "input" "@source_distance.output" // "input_min" "@volume_xfade_start_dist.output" // "input_max" "@volume_xfade_end_dist.output" // "input_map_min" "1.0" // "input_map_max" "0.0" // "default_to_max" "false" // } // "volume_xfade_exponent" // { // "operator" "math_float" // "apply" "pow" // "input1" "@volume_distance_xfade.output" // // "input2" "1.22" // "input2" "1.2" // } // "volume_invert_distance_xfade" // { // "operator" "math_float" // "apply" "sub" // "input1" "1.0" // "input2" "@volume_xfade_exponent.output" // } // // multiply all volume adjustments together // "volume_accumulate" // { // "operator" "math_accumulate12_float" // "apply" "mult" // "input1" "@source_info.output_volume" // "input2" "@volume_falloff.output" // "input3" "@mixer.output_volume" // "input4" "@snd_gain_convar.output" // "input5" "@occlusion.output" // "input6" "@volume_invert_distance_xfade.output" // "input7" "1.0" // "input8" "1.0" // "input9" "1.0" // "input10" "1.0" // "input11" "1.0" // "input12" "1.0" // } // // output mix layer trigger // "output_mixlayer_trigger" // { // "execute_once" "1" // "operator" "sys_output" // "input_float" "1" // "output" "mixlayer_trigger" // } // /////////////////// // // PITCH // "pitch_output" // { // "operator" "sys_output" // "output" "pitch" // "input_float" "@source_info.output_pitch" // } // /////////////////// // // DSP // "dsp_emitter" // { // "operator" "math_float" // "apply" "set" // "input1" "1.0" // } // "dsp_apply_mixer" // { // "operator" "math_float" // "apply" "mult" // "input1" "@mixer.output_dsp" // "input2" "@dsp_emitter.output" // } // "dsp_distantDSP" // { // "operator" "calc_distant_dsp" // "input_distance" "@source_distance.output" // "input_level" "@level_apply_mixer.output" // } // "dsp_apply_distant" // { // "operator" "math_float" // "apply" "mult" // "input1" "@dsp_distantDSP.output" // "input2" "@dsp_apply_mixer.output" // } // "dsp_output" // { // "operator" "sys_output" // "input_float" "@dsp_apply_distant.output" // "output" "dsp" // } // ///////////////////// // // SPEAKERS // // NOTE: uses player data, ie: SS, calculates all players and merges them // "speakers_spatialize" // { // "operator" "calc_spatialize_speakers" // "input_radius" "300" // "input_distance" "@source_distance.output" // // "input_source_position" "@source_info.output_position" // "input_source_position" "@public.position" // "input_listener_position" "@get_listener_position.output" // "input_listener_left" "@get_listener_left.output" // "input_rear_stereo_scale" "1.0" // } // "speaker_volume_fan" // { // "operator" "util_float_to_speakers" // "input" "@volume_accumulate.output" // } // "speakers_apply_volume" // { // "operator" "math_speakers" // "apply" "mult" // "input1" "@speakers_spatialize.output" // "input2" "@speaker_volume_fan.output" // } // "speakers_limit" // { // "operator" "math_speakers" // "apply" "mult" // "left_front" "1.0" // "right_front" "1.0" // "center" "1.0" // "lfe" "1.0" // "left_rear" "1.0" // "right_rear" "1.0" // "input1" "[ 1.0, 1.0, 1.0, 1.0, 1.0, 1.0]" // "input2" "@speakers_apply_volume.output" // } // "speakers_output" // { // "operator" "sys_output" // "input_speakers" "@speakers_limit.output" // "output" "speakers" // } // } // "CS_update_rics" // { // ////////////////////// // // POSITION // "source_info" // { // "operator" "game_get_source_info" // // "source" "entity" // "source" "emitter" // } // "get_listener_position" // { // "operator" "opvar_get_float3" // "input_stack_name" "system_globals" // "input_operator_name" "game_per_frame_opvars" // "input_field_name" "splitscreen_listeners_origin" // "input_index" "0.0" // increment for splitscreen support // } // "source_distance" // { // "operator" "calc_distance" // "input_position1" "@public.position" // "input_position2" "@get_listener_position.output" // } // // // NOTE: uses player data, ie: SS, returns minimum distance // // "source_distance" // // { // // "operator" "calc_source_distance" // // "input_position" "@source_info.output_position" // // } // //////////////////// // // calc // "mixer" // { // "operator" "soundmixer_get_mixgroup" // "mixgroup" "Weapons" // } // // NOTE: uses player data, ie: SS, return least occluded value // "occlusion" // { // "operator" "calc_occlusion" // "input_source_position" "@public.position" // "input_listener_position" "@get_listener_position.output" // } // // "occlusion" // // { // // "operator" "calc_occlusion" // // "input_position" "@source_info.output_position" // // } // "snd_gain_convar" // { // "operator" "convar_get" // "convar" "snd_gain" // } // "snd_op_test_convar" // { // "operator" "convar_get" // "convar" "snd_op_test_convar" // } // ////////////////////// // // LEVEL // "level_apply_mixer" // { // "operator" "math_float" // "apply" "mult" // "input1" "@mixer.output_level" // "input2" "@source_info.output_level" // } // ///////////////////// // // VOLUME // // NOTE: distance has precalculated minimum distance of the ss players // "volume_falloff" // { // "operator" "calc_falloff" // "input_distance" "@source_distance.output" // "input_level" "@level_apply_mixer.output" // } // "distance_shutdown" // { // "operator" "math_float" // "apply" "less_than" // "input1" "@source_distance.output" // "input2" "600" // } // // multiply all volume adjustments together // "volume_accumulate" // { // "operator" "math_accumulate12_float" // "apply" "mult" // "input1" "@source_info.output_volume" // "input2" "@volume_falloff.output" // "input3" "@mixer.output_volume" // "input4" "@snd_gain_convar.output" // "input5" "@occlusion.output" // "input6" "@distance_shutdown.output" // "input7" "1.0" // "input8" "1.0" // "input9" "1.0" // "input10" "1.0" // "input11" "1.0" // "input12" "1.0" // } // // output mix layer trigger // "output_mixlayer_trigger" // { // "execute_once" "1" // "operator" "sys_output" // "input_float" "1" // "output" "mixlayer_trigger" // } // /////////////////// // // PITCH // "pitch_output" // { // "operator" "sys_output" // "output" "pitch" // "input_float" "@source_info.output_pitch" // } // /////////////////// // // DSP // "dsp_emitter" // { // "operator" "math_float" // "apply" "set" // "input1" "1.0" // } // "dsp_apply_mixer" // { // "operator" "math_float" // "apply" "mult" // "input1" "@mixer.output_dsp" // "input2" "@dsp_emitter.output" // } // "dsp_distantDSP" // { // "operator" "calc_distant_dsp" // "input_distance" "@source_distance.output" // "input_level" "@level_apply_mixer.output" // } // "dsp_apply_distant" // { // "operator" "math_float" // "apply" "mult" // "input1" "@dsp_distantDSP.output" // "input2" "@dsp_apply_mixer.output" // } // "dsp_output" // { // "operator" "sys_output" // "input_float" "@dsp_apply_distant.output" // "output" "dsp" // } // ///////////////////// // // SPEAKERS // // NOTE: uses player data, ie: SS, calculates all players and merges them // "speakers_spatialize" // { // "operator" "calc_spatialize_speakers" // "input_radius" "300" // "input_distance" "@source_distance.output" //// "input_source_position" "@source_info.output_position" // "input_source_position" "@public.position" // "input_listener_position" "@get_listener_position.output" // "input_listener_left" "@get_listener_left.output" // "input_rear_stereo_scale" "1.0" // } // "speaker_volume_fan" // { // "operator" "util_float_to_speakers" // "input" "@volume_accumulate.output" // } // "speakers_apply_volume" // { // "operator" "math_speakers" // "apply" "mult" // "input1" "@speakers_spatialize.output" // "input2" "@speaker_volume_fan.output" // } // "speakers_limit" // { // "operator" "math_speakers" // "apply" "mult" // "left_front" "1.0" // "right_front" "1.0" // "center" "1.0" // "lfe" "1.0" // "left_rear" "1.0" // "right_rear" "1.0" // "input1" "[ 1.0, 1.0, 1.0, 1.0, 1.0, 1.0]" // "input2" "@speakers_apply_volume.output" // } // "speakers_output" // { // "operator" "sys_output" // "input_speakers" "@speakers_limit.output" // "output" "speakers" // } // } // "CS_update_footsteps" // { // "elapsed_time" // { // "operator" "sys_get_entry_time" // } // ////////////////////// // // POSITION // "source_info" // { // "operator" "game_get_source_info" // "source" "entity" // } // "get_listener_position" // { // "operator" "opvar_get_float3" // "input_stack_name" "system_globals" // "input_operator_name" "game_per_frame_opvars" // "input_field_name" "splitscreen_listeners_origin" // "input_index" "0.0" // increment for splitscreen support // } // "source_distance" // { // "operator" "calc_distance" // "input_position1" "@public.position" // "input_position2" "@get_listener_position.output" // } // // // NOTE: uses player data, ie: SS, returns minimum distance // // "source_distance" // // { // // "operator" "calc_source_distance" // // "input_position" "@source_info.output_position" // // } // //////////////////// // // calc // "mixer" // { // "operator" "soundmixer_get_mixgroup" // // "mixgroup" "All" // } // // NOTE: uses player data, ie: SS, return least occluded value // "occlusion" // { // "operator" "calc_occlusion" // "input_source_position" "@public.position" // "input_listener_position" "@get_listener_position.output" // "input_scalar" "1.0" // } // // "occlusion" // // { // // "operator" "calc_occlusion" // // "input_position" "@source_info.output_position" // // "input_scalar" "1.0" // // } // "snd_gain_convar" // { // "operator" "convar_get" // "convar" "snd_gain" // } // "snd_op_test_convar" // { // "operator" "convar_get" // "convar" "snd_op_test_convar" // } // ////////////////////// // // LEVEL // "level_apply_mixer" // { // "operator" "math_float" // "apply" "mult" // "input1" "@mixer.output_level" // "input2" "@source_info.output_level" // } // ///////////////////// // // VOLUME // // NOTE: distance has precalculated minimum distance of the ss players // // "volume_falloff" // // { // // "operator" "calc_falloff" // // "input_distance" "@source_distance.output" // // "input_level" "@level_apply_mixer.output" // // } // "volume_falloff" //REPLACE THIS WITH A MULTINODE REMAPPER WHEN THE TIME COMES // { // "operator" "math_curve_2d_4knot" // "curve_type" "linear" // "input" "@source_distance.output" // "input_X1" "0.0" // "input_Y1" "1.0" // "input_X2" "30.0" // "input_Y2" "1.0" // "input_X3" "1000.0" // "input_Y3" "0.1" // "input_X4" "1100.0" // "input_Y4" "0.0" // } // "volume_fade_out" // { // "operator" "math_remap_float" // "input" "@elapsed_time.output_stop_elapsed" // "input_min" "0.0" // "input_max" "0.0" // "input_map_min" "1.0" // "input_map_max" "0.0" // "default_to_max" "true" // } // // multiply all volume adjustments together // "volume_accumulate" // { // "operator" "math_accumulate12_float" // "apply" "mult" // "input1" "0.8" // "input2" "@volume_falloff.output" // "input3" "@mixer.output_volume" // "input4" "@snd_gain_convar.output" // "input5" "@occlusion.output" // "input6" "@volume_fade_out.output" // "input7" "1.0" // "input8" "1.0" // "input9" "1.0" // "input10" "1.0" // "input11" "1.0" // "input12" "1.0" // } // // output mix layer trigger // "output_mixlayer_trigger" // { // "execute_once" "1" // "operator" "sys_output" // "input_float" "1" // "output" "mixlayer_trigger" // } // /////////////////// // // PITCH // "pitch_output" // { // "operator" "sys_output" // "output" "pitch" // "input_float" "@source_info.output_pitch" // } // /////////////////// // // DSP // "dsp_emitter" // { // "operator" "math_float" // "apply" "set" // "input1" "1.0" // } // "dsp_apply_mixer" // { // "operator" "math_float" // "apply" "mult" // "input1" "@mixer.output_dsp" // "input2" "@dsp_emitter.output" // } // "dsp_distantDSP" // { // "operator" "calc_distant_dsp" // "input_distance" "@source_distance.output" // "input_level" "@level_apply_mixer.output" // } // "dsp_apply_distant" // { // "operator" "math_float" // "apply" "mult" // "input1" "@dsp_distantDSP.output" // "input2" "@dsp_apply_mixer.output" // } // "dsp_output" // { // "operator" "sys_output" // "input_float" "@dsp_apply_distant.output" // "output" "dsp" // } // ///////////////////// // // SPEAKERS // // NOTE: uses player data, ie: SS, calculates all players and merges them // "speakers_spatialize" // { // "operator" "calc_spatialize_speakers" // "input_radius" "75" // "input_distance" "@source_distance.output" //// "input_source_position" "@source_info.output_position" // "input_source_position" "@public.position" // "input_listener_position" "@get_listener_position.output" // "input_listener_left" "@get_listener_left.output" // "input_rear_stereo_scale" "1.0" // } // "speaker_volume_fan" // { // "operator" "util_float_to_speakers" // "input" "@volume_accumulate.output" // } // "speakers_apply_volume" // { // "operator" "math_speakers" // "apply" "mult" // "input1" "@speakers_spatialize.output" // "input2" "@speaker_volume_fan.output" // } // "speakers_limit" // { // "operator" "math_speakers" // "apply" "mult" // "left_front" "1.0" // "right_front" "1.0" // "center" "1.0" // "lfe" "1.0" // "left_rear" "1.0" // "right_rear" "1.0" // "input1" "[ 1.0, 1.0, 1.0, 1.0, 1.0, 1.0]" // "input2" "@speakers_apply_volume.output" // } // "speakers_output" // { // "operator" "sys_output" // "input_speakers" "@speakers_limit.output" // "output" "speakers" // } // "stoptime_elapsed_trigger" // { // "operator" "math_float" // "apply" "greater_than" // "input1" "@volume_fade_out.output" // "input2" "0.0" // } // "stop_hold_output" // { // "operator" "sys_output" // "output" "stop_hold" // "input_float" "@stoptime_elapsed_trigger.output" // } // } // "CS_update_linear_falloff" // { // ////////////////////// // // POSITION // "source_info" // { // "operator" "game_get_source_info" // // "source" "entity" // "source" "emitter" // } // "get_entity_info" // { // "input_execute" "1" // "operator" "game_entity_info" // "input_entity_index" "@source_info.output_entity_index" // } // // reports various time values // "elapsed_time" // { // "operator" "sys_get_entry_time" // } // "get_listener_position" // { // "operator" "opvar_get_float3" // "input_stack_name" "system_globals" // "input_operator_name" "game_per_frame_opvars" // "input_field_name" "splitscreen_listeners_origin" // "input_index" "0.0" // increment for splitscreen support // } // "source_distance" // { // "operator" "calc_distance" // "input_position1" "@public.position" // "input_position2" "@get_listener_position.output" // } // // // NOTE: uses player data, ie: SS, returns minimum distance // // "source_distance" // // { // // "operator" "calc_source_distance" // // "input_position" "@source_info.output_position" // // // "in2d" "1.0" // // } // // get values of specified mixgroup // // NOTE: I believe this also sets this sound to be a member of that mixgroup as well // // which is relevant to mixlayers // "mixer" // { // "operator" "soundmixer_get_mixgroup" // "mixgroup" "All" // } // "output_mixlayer_trigger" // { // "execute_once" "1" // "operator" "sys_output" // "input_float" "1" // "output" "mixlayer_trigger" // } // // NOTE: uses player data, ie: SS, return least occluded value // "occlusion" // { // "operator" "calc_occlusion" // "input_source_position" "@public.position" // "input_listener_position" "@get_listener_position.output" // } // // "occlusion" // // { // // "operator" "calc_occlusion" // // "input_position" "@source_info.output_position" // // } // // convar to control all sound levels // "snd_gain_convar" // { // "operator" "convar_get" // "convar" "snd_gain" // } // "snd_op_test_convar" // { // "operator" "convar_get" // "convar" "snd_op_test_convar" // } // ////////////////////// // // LEVEL // // adjust SPL to reflect mixer settings, this will be used below in falloff calculations // "level_apply_mixer" // { // "operator" "math_float" // "apply" "mult" // "input1" "@mixer.output_level" // "input2" "@source_info.output_level" // } // ///////////////////// // // VOLUME // // // // Various volume calculations // // // "volume_falloff_linear" // { // "operator" "math_remap_float" // "input" "@source_distance.output" // "input_min" "30.0" // "input_max" "3000.0" // "input_map_min" "1.0" // "input_map_max" "0.05" // "default_to_max" "false" // } // "volume_fade_in" // { // "operator" "math_remap_float" // "input" "@elapsed_time.output_entry_elapsed" // "input_min" "0.0" // "input_max" "0.0" // "input_map_min" "0.05" // "input_map_max" "1.0" // "default_to_max" "true" // } // "volume_fade_out" // { // "operator" "math_remap_float" // "input" "@elapsed_time.output_stop_elapsed" // "input_min" "0.0" // "input_max" "0.0" // "input_map_min" "1.0" // "input_map_max" "0.0" // "default_to_max" "false" // } // // multiply all volume adjustments together // "volume_accumulate" // { // "operator" "math_accumulate12_float" // "apply" "mult" // "input1" "@source_info.output_volume" // "input2" "@mixer.output_volume" // "input3" "@snd_gain_convar.output" // "input4" "@volume_falloff_linear.output" // "input5" "@volume_fade_in.output" // "input6" "@volume_fade_out.output" // "input7" "1.0" // "input8" "1.0" // "input9" "1.0" // "input10" "1.0" // "input11" "1.0" // "input12" "1.0" // } // ///////////////////////////////////////////////////////// // // handle stoptime/fade outs // "stoptime_elapsed_trigger" // { // "operator" "math_float" // "apply" "greater_than" // "input1" "@volume_fade_out.output" // "input2" "0.0" // } // "stop_hold_output" // { // "operator" "sys_output" // "output" "stop_hold" // "input_float" "@stoptime_elapsed_trigger.output" // } // /////////////////// // // PITCH // "pitch_output" // { // "operator" "sys_output" // "output" "pitch" // "input_float" "@source_info.output_pitch" // } // /////////////////// // // DSP // "dsp_emitter" // { // "operator" "math_float" // "apply" "set" // "input1" "1.0" // } // "dsp_apply_mixer" // { // "operator" "math_float" // "apply" "mult" // "input1" "@mixer.output_dsp" // "input2" "@dsp_emitter.output" // } // "dsp_distantDSP" // { // "operator" "calc_distant_dsp" // "input_distance" "@source_distance.output" // "input_level" "@level_apply_mixer.output" // } // "dsp_apply_distant" // { // "operator" "math_float" // "apply" "mult" // "input1" "@dsp_distantDSP.output" // "input2" "@dsp_apply_mixer.output" // } // "dsp_output" // { // "operator" "sys_output" // "input_float" "@dsp_apply_distant.output" // "output" "dsp" // } // ///////////////////// // // SPEAKERS // // NOTE: uses player data, ie: SS, calculates all players and merges them // "speakers_spatialize" // { // "operator" "calc_spatialize_speakers" // "input_radius" "300" // "input_distance" "@source_distance.output" //// "input_source_position" "@source_info.output_position" // "input_source_position" "@public.position" // "input_listener_position" "@get_listener_position.output" // "input_listener_left" "@get_listener_left.output" // "input_rear_stereo_scale" "1.0" // } // "speaker_volume_fan" // { // "operator" "util_float_to_speakers" // "input" "@volume_accumulate.output" // } // "speakers_apply_volume" // { // "operator" "math_speakers" // "apply" "mult" // "input1" "@speakers_spatialize.output" // "input2" "@speaker_volume_fan.output" // } // "speakers_limit" // { // "operator" "math_speakers" // "apply" "mult" // "left_front" "1.0" // "right_front" "1.0" // "center" "1.0" // "lfe" "1.0" // "left_rear" "1.0" // "right_rear" "1.0" // "input1" "[ 1.0, 1.0, 1.0, 1.0, 1.0, 1.0]" // "input2" "@speakers_apply_volume.output" // } // "speakers_output" // { // "operator" "sys_output" // "input_speakers" "@speakers_limit.output" // "output" "speakers" // } // } // "update_stop_at_track_syncpoint" // { // "usats_this_entry_syncpoints" // { // "operator" "track_get_syncpoint" // "syncpoint_list" "syncpoints_1" // "this_entry_syncpoints" "true" // } // "usats_elapsed_time" // { // "operator" "sys_get_entry_time" // } // "usats_stop_time" // { // "operator" "math_float" // "apply" "greater_than" // "input1" "@usats_elapsed_time.output_sound_elapsed" // "input2" "@usats_this_entry_syncpoints.output_first_syncpoint" // } // "usats_stop_entry" // { // "input_execute" "@usats_stop_time.output" // "operator" "sys_stop_entries" // "stop_this_entry" "false" // "input_max_entries" "0.000000" //A sound will not stop itself from playing. // "match_entity" "false" // "match_entry" "Default.Null" // } // } // "p2_update_default" // { // "save_restore_output" // { // "operator" "sys_output" // "execute_once" "true" // "input_float" "1.0" // "output" "save_restore" // } // ////////////////////// // // POSITION // "source_info" // { // "operator" "game_get_source_info" // // "source" "entity" // "source" "emitter" // } // "elapsed_time" // { // "operator" "sys_get_entry_time" // } // "get_listener_position" // { // "operator" "opvar_get_float3" // "input_stack_name" "system_globals" // "input_operator_name" "game_per_frame_opvars" // "input_field_name" "splitscreen_listeners_origin" // "input_index" "0.0" // increment for splitscreen support // } // "source_distance" // { // "operator" "calc_distance" // "input_position1" "@public.position" // "input_position2" "@get_listener_position.output" // } // // // NOTE: uses player data, ie: SS, returns minimum distance // // "source_distance" // // { // // "operator" "calc_source_distance" // // "input_position" "@source_info.output_position" // // } // //////////////////// // // calc // "mixer" // { // "operator" "soundmixer_get_mixgroup" // "mixgroup" "All" // } // // NOTE: uses player data, ie: SS, return least occluded value // "occlusion" // { // "operator" "calc_occlusion" // "input_source_position" "@public.position" // "input_listener_position" "@get_listener_position.output" // } // // "occlusion" // // { // // "operator" "calc_occlusion" // // "input_position" "@source_info.output_position" // // } // "snd_gain_convar" // { // "operator" "convar_get" // "convar" "snd_gain" // } // "snd_op_test_convar" // { // "operator" "convar_get" // "convar" "snd_op_test_convar" // } // ////////////////////// // // LEVEL // "level_apply_mixer" // { // "operator" "math_float" // "apply" "mult" // "input1" "@mixer.output_level" // "input2" "@source_info.output_level" // } // ///////////////////// // // VOLUME // // NOTE: distance has precalculated minimum distance of the ss players // "volume_falloff" // { // "operator" "calc_falloff" // "input_distance" "@source_distance.output" // "input_level" "@level_apply_mixer.output" // } // "volume_get_random" //use for random volume if needed // { // "operator" "math_random_float" // "execute_once" "true" // "input_execute" "0.0" // "input_min" "0.15" //low value here // "input_max" "0.55" //high value here. // } // "volume_mult" // { // "operator" "math_float" // "apply" "mult" // "input2" "@source_info.output_volume" // "input1" "1.0" // } // "volume_fade_in" // { // "operator" "math_remap_float" // "input" "@elapsed_time.output_entry_elapsed" // "input_min" "0.0" // "input_max" "0.0" // "input_map_min" "0.0" // "input_map_max" "1.0" // "default_to_max" "true" // } // "volume_fade_out" // { // "operator" "math_remap_float" // "input" "@elapsed_time.output_stop_elapsed" // "input_min" "0.0" // "input_max" "0.0" // "input_map_min" "0.0" // "input_map_max" "1.0" // "default_to_max" "false" // } // "volume_invert_fadeout" // { // "operator" "math_float" // "apply" "sub" // "input1" "1.0" // "input2" "@volume_fade_out.output" // } // "volume_apply_fade_in" // { // "operator" "math_float" // "apply" "mult" // "input1" "@volume_fade_in.output" // "input2" "@volume_mult.output" // } // "volume_apply_fade_out" // { // "operator" "math_float" // "apply" "mult" // "input1" "@volume_apply_fade_in.output" // "input2" "@volume_invert_fadeout.output" // } // "volume_apply_falloff" // { // "operator" "math_float" // "apply" "mult" // "input1" "@volume_apply_fade_out.output" // "input2" "@volume_falloff.output" // } // "volume_apply_mixer" // { // "operator" "math_float" // "apply" "mult" // "input1" "@mixer.output_volume" // "input2" "@volume_apply_falloff.output" // } // "volume_apply_snd_gain_convar" // { // "operator" "math_float" // "apply" "mult" // "input1" "@snd_gain_convar.output" // "input2" "@volume_apply_mixer.output" // } // "volume_apply_test_convar" // { // "operator" "math_float" // "apply" "mult" // "input1" "1.0" // "input2" "@volume_apply_snd_gain_convar.output" // } // "volume_apply_occlusion" // { // "operator" "math_float" // "apply" "mult" // "input1" "@volume_apply_test_convar.output" // "input2" "@occlusion.output" // } // // this calculates the loudest volume of the ss clients // // NOT NEEDED ALL SS OPS SELF-CONTAINGED // // "volume_acc_ss_max" // // { // // "operator" "op_accumulate_ss_float" // // "input" "volume_apply_occlusion.output" // // "iterate_operator" "occlusion" // // } // "stoptime_elapsed_trigger" // { // "operator" "math_float" // "apply" "greater_than" // "input1" "@volume_invert_fadeout.output" // "input2" "0.0" // } // "stop_hold_output" // { // "operator" "sys_output" // "output" "stop_hold" // "input_float" "@stoptime_elapsed_trigger.output" // } // /////////////////// // // PITCH // "pitch_output" // { // "operator" "sys_output" // "output" "pitch" // "input_float" "@source_info.output_pitch" // } // /////////////////// // // DSP // "dsp_emitter" // { // "operator" "math_float" // "apply" "set" // "input1" "1.0" // } // "dsp_apply_mixer" // { // "operator" "math_float" // "apply" "mult" // "input1" "@mixer.output_dsp" // "input2" "@dsp_emitter.output" // } // "dsp_distantDSP" // { // "operator" "calc_distant_dsp" // "input_distance" "@source_distance.output" // "input_level" "@level_apply_mixer.output" // } // "dsp_apply_distant" // { // "operator" "math_float" // "apply" "mult" // "input1" "@dsp_distantDSP.output" // "input2" "@dsp_apply_mixer.output" // } // "dsp_output" // { // "operator" "sys_output" // "input_float" "@dsp_apply_distant.output" // "output" "dsp" // } // ///////////////////// // // SPEAKERS // // NOTE: uses player data, ie: SS, calculates all players and merges them // "speakers_spatialize" // { // "operator" "calc_spatialize_speakers" // "input_radius" "300" // "input_distance" "@source_distance.output" //// "input_source_position" "@source_info.output_position" // "input_source_position" "@public.position" // "input_listener_position" "@get_listener_position.output" // "input_listener_left" "@get_listener_left.output" // } // "speakers_apply_volume" // { // "operator" "math_speakers" // "apply" "mult" // "input1" "@speakers_spatialize.output" // "input2[*]" "@volume_apply_occlusion.output" // } // "speakers_limit" // { // "operator" "math_speakers" // "apply" "mult" // "left_front" "1.0" // "right_front" "1.0" // "center" "1.0" // "lfe" "1.0" // "left_rear" "1.0" // "right_rear" "1.0" // "input1" "[ 1.0, 1.0, 1.0, 1.0, 1.0, 1.0]" // "input2" "@speakers_apply_volume.output" // } // "speakers_multi_origin" // { // "operator" "iterate_merge_speakers" // "input_max_iterations" "@source_info.output_source_count" // "iterate_operator" "source_info" // "input" "@speakers_limit.output" // } // // connecting output after operator has been created // "source_info" // { // "input_source_index" "@speakers_multi_origin.output_index" // } // "speakers_output" // { // "operator" "sys_output" // "input_speakers" "@speakers_multi_origin.output" // "output" "speakers" // } // } // "p2_offset_start_update" // { // "import_stack" "p2_update_default" // "elapsed_time" // { // "operator" "sys_get_entry_time" // } // "time_elapsed_trigger" // { // "operator" "math_float" // "apply" "greater_than" // "input1" "@elapsed_time.output_sound_elapsed" // "input2" "0.1" //Elapsed time in seconds goes here. // } // "time_elapsed_trigger_2" // { // "operator" "math_float" // "apply" "greater_than" // "input1" "@elapsed_time.output_sound_elapsed" // "input2" "0.1" //Elapsed time in seconds goes here. // } // "time_elapsed_trigger_3" // { // "operator" "math_float" // "apply" "greater_than" // "input1" "@elapsed_time.output_sound_elapsed" // "input2" "0.1" //Elapsed time in seconds goes here. // } // "time_elapsed_trigger_4" // { // "operator" "math_float" // "apply" "greater_than" // "input1" "@elapsed_time.output_sound_elapsed" // "input2" "0.1" //Elapsed time in seconds goes here. // } // "bool_delta" //Check to see if the trigger has been flipped // { // "operator" "math_delta" // "input" "@time_elapsed_trigger.output" // } // "bool_delta_trigger" // { // "operator" "math_float" // "apply" "greater_than" // "input1" "@bool_delta.output" // "input2" "0.1" // } // "play_entry" // { // "operator" "sys_start_entry" // "execute_once" "true" // "input_execute" "@bool_delta_trigger.output" // "input_start" "1" // "entry_name" "Default.Null" //Replace with the sound you want to play. // } // "play_entry_2" // { // "operator" "sys_start_entry" // "execute_once" "true" // "input_execute" "@time_elapsed_trigger_2.output" // "input_start" "1" // "entry_name" "Default.Null" //Replace with the sound you want to play. // } // "play_entry_3" // { // "operator" "sys_start_entry" // "execute_once" "true" // "input_execute" "@time_elapsed_trigger_3.output" // "input_start" "1" // "entry_name" "Default.Null" //Replace with the sound you want to play. // } // "play_entry_4" // { // "operator" "sys_start_entry" // "execute_once" "true" // "input_execute" "@time_elapsed_trigger_4.output" // "input_start" "1" // "entry_name" "Default.Null" //Replace with the sound you want to play. // } // } // "p2_offset_start_update_random" // { // "import_stack" "p2_update_default" // "elapsed_time" // { // "operator" "sys_get_entry_time" // } // "delay_trigger" // { // "operator" "math_float" // "apply" "greater_than" // "input1" "@elapsed_time.output_sound_elapsed" // "input2" "0.1" //Elapsed time in seconds goes here. // } // "random_play" // { // "operator" "math_random_float" // "execute_once" "true" // "input_execute" "0.0" // "input_min" "0.0" // "input_max" "1.0" // } // "percent_fire" // { // "operator" "math_float" // "apply" "greater_than" // "input1" "0.60" // This is the percentage chance to play a sound // "input2" "@random_play.output" // } // "do_we_fire" // { // "operator" "math_float" // "apply" "min" // "input1" "@percent_fire.output" // "input2" "@delay_trigger.output" // } // "triggered_sound" // { // "operator" "sys_start_entry" // "execute_once" "true" // "input_execute" "@do_we_fire.output" // "input_start" "1" // "entry_name" "Default.Null" //Replace with the sound you want to play. // } // } // "p2_offset_start_level_based" // { // "import_stack" "p2_update_default" // "elapsed_time" // { // "operator" "sys_get_entry_time" // } // "delay_trigger" // { // "operator" "math_float" // "apply" "greater_than" // "input1" "@elapsed_time.output_sound_elapsed" // "input2" "0.1" //Elapsed time in seconds goes here. // } // "delay_trigger_2" // { // "operator" "math_float" // "apply" "greater_than" // "input1" "@elapsed_time.output_sound_elapsed" // "input2" "0.1" //Elapsed time in seconds goes here. // } // "level_specific_check" // { // "input_execute" "0.0" //enable map checking here // "operator" "get_map_name" // "map_name" "p2_empty4" //your map name here // } // "get_listener_position" // { // "operator" "opvar_get_float3" // "input_stack_name" "system_globals" // "input_operator_name" "game_per_frame_opvars" // "input_field_name" "splitscreen_listeners_origin" // "input_index" "0.0" // increment for splitscreen support // } // "listener_position_elements" // { // "operator" "util_float3_elements" // "input" "@get_listener_position.output" // } // "pos_specific_check" // { // "operator" "math_float" // "apply" "greater_than_or_equal" // "input1" "@listener_position_z.output_2" //replace with the param to check against // "input2" "0.0" //Replace with val you want to check against // } // "level_and_pos_check" // { // "operator" "math_float" // "apply" "min" // "input1" "@level_specific_check.output" // "input2" "@pos_specific_check.output" // } // "do_we_fire" // { // "operator" "math_float" // "apply" "min" // "input1" "@level_and_pos_check.output" // "input2" "@delay_trigger.output" // } // "do_we_fire_2" // { // "operator" "math_float" // "apply" "min" // "input1" "@level_and_pos_check.output" // "input2" "@delay_trigger_2.output" // } // "triggered_sound" // { // "operator" "sys_start_entry" // "execute_once" "true" // "input_execute" "@do_we_fire.output" // "input_start" "1" // "entry_name" "Default.Null" //Replace with the sound you want to play. // } // "triggered_sound_2" // { // "operator" "sys_start_entry" // "execute_once" "true" // "input_execute" "@do_we_fire.output" // "input_start" "1" // "entry_name" "Default.Null" //Replace with the sound you want to play. // } // } // "p2_update_start_at_elapsed" // { // "usae_elapsed_time" // { // "operator" "sys_get_entry_time" // } // "sound_duration_mult" // { // "operator" "math_float" // "apply" "mult" // "input1" "@usae_elapsed_time.output_sound_duration" // "input2" "2" // } // "time_elapsed_trigger" // { // "operator" "math_float" // "apply" "greater_than_or_equal" // "input1" "@usae_elapsed_time.output_sound_elapsed" // "input2" "@sound_duration_mult.output" // } // "stop_this" // { // "operator" "sys_stop_entries" // "input_execute" "@time_elapsed_trigger.output" // "stop_this_entry" "true" // } // "play_entry" // { // "operator" "sys_start_entry" // "execute_once" "true" // "input_execute" "@time_elapsed_trigger.output" // "input_start" "1" // "entry_name" "Default.Null" //Replace with the sound you want to play. // } // } // "p2_update_stop_at_elapsed" // { // "usae_elapsed_time" // { // "operator" "sys_get_entry_time" // } // "sound_duration_mult" // { // "operator" "math_float" // "apply" "mult" // "input1" "@usae_elapsed_time.output_sound_duration" // "input2" "2" // } // "time_elapsed_trigger" // { // "operator" "math_float" // "apply" "greater_than_or_equal" // "input1" "@usae_elapsed_time.output_sound_elapsed" // "input2" "@sound_duration_mult.output" // } // "stop_this" // { // "operator" "sys_stop_entries" // "input_execute" "@time_elapsed_trigger.output" // "stop_this_entry" "true" // } // } // "p2_update_default_pitch_ramp" // { // //This is identical to p2_update_default except for the pitch being ramped based on volume, // "save_restore_output" // { // "operator" "sys_output" // "execute_once" "true" // "input_float" "1.0" // "output" "save_restore" // } // ////////////////////// // // POSITION // "source_info" // { // "operator" "game_get_source_info" // // "source" "entity" // "source" "emitter" // } // "elapsed_time" // { // "operator" "sys_get_entry_time" // } // "get_listener_position" // { // "operator" "opvar_get_float3" // "input_stack_name" "system_globals" // "input_operator_name" "game_per_frame_opvars" // "input_field_name" "splitscreen_listeners_origin" // "input_index" "0.0" // increment for splitscreen support // } // "source_distance" // { // "operator" "calc_distance" // "input_position1" "@public.position" // "input_position2" "@get_listener_position.output" // } // // // NOTE: uses player data, ie: SS, returns minimum distance // // "source_distance" // // { // // "operator" "calc_source_distance" // // "input_position" "@source_info.output_position" // // } // //////////////////// // // calc // "mixer" // { // "operator" "soundmixer_get_mixgroup" // "mixgroup" "All" // } // // NOTE: uses player data, ie: SS, return least occluded value // "occlusion" // { // "operator" "calc_occlusion" // "input_source_position" "@public.position" // "input_listener_position" "@get_listener_position.output" // } // // "occlusion" // // { // // "operator" "calc_occlusion" // // "input_position" "@source_info.output_position" // // } // "snd_gain_convar" // { // "operator" "convar_get" // "convar" "snd_gain" // } // "snd_op_test_convar" // { // "operator" "convar_get" // "convar" "snd_op_test_convar" // } // ////////////////////// // // LEVEL // "level_apply_mixer" // { // "operator" "math_float" // "apply" "mult" // "input1" "@mixer.output_level" // "input2" "@source_info.output_level" // } // ///////////////////// // // VOLUME // // NOTE: distance has precalculated minimum distance of the ss players // "volume_falloff" // { // "operator" "calc_falloff" // "input_distance" "@source_distance.output" // "input_level" "@level_apply_mixer.output" // } // "volume_fade_in" // { // "operator" "math_remap_float" // "input" "@elapsed_time.output_entry_elapsed" // "input_min" "0.0" // "input_max" "0.0" // "input_map_min" "0.0" // "input_map_max" "1.0" // "default_to_max" "true" // } // "volume_fade_out" // { // "operator" "math_remap_float" // "input" "@elapsed_time.output_stop_elapsed" // "input_min" "0.0" // "input_max" "0.0" // "input_map_min" "0.0" // "input_map_max" "1.0" // "default_to_max" "false" // } // "volume_invert_fadeout" // { // "operator" "math_float" // "apply" "sub" // "input1" "1.0" // "input2" "@volume_fade_out.output" // } // "volume_apply_fade_in" // { // "operator" "math_float" // "apply" "mult" // "input1" "@volume_fade_in.output" // "input2" "@source_info.output_volume" // } // "volume_apply_fade_out" // { // "operator" "math_float" // "apply" "mult" // "input1" "@volume_apply_fade_in.output" // "input2" "@volume_invert_fadeout.output" // } // "volume_fade_initial" // { // "input_execute" "0" // "operator" "math_remap_float" // "input" "@elapsed_time.output_entry_elapsed" // "input_min" "0.0" // "input_max" "0.0" // "input_map_min" "1.0" // "input_map_max" "1.0" // "default_to_max" "false" // } // "volume_invert_initial" // { // "operator" "math_float" // "apply" "sub" // "input1" "1.0" // "input2" "@volume_fade_initial.output" // } // "volume_apply_fade_initial" // { // "operator" "math_float" // "apply" "mult" // "input1" "@volume_apply_fade_out.output" // "input2" "@volume_invert_initial.output" // } // //Level specific volume scalar // "volume_get_map_name" // { // "input_execute" "0.0" //enable map checking here // "operator" "get_map_name" // "map_name" "p2_empty4" //your map name here // } // "volume_invert_map_name" // { // "operator" "math_float" // "apply" "sub" // "input1" "1.0" // "input2" "@volume_get_map_name.output" // } // "volume_map_name_scalar" // { // "operator" "math_remap_float" // "input" "@volume_invert_map_name.output" // "input_min" "0.0" // "input_max" "1.0" // "input_map_min" "1.0" //This is the map-specific volume scalar, does nothing by default // "input_map_max" "1.0" // "default_to_max" "true" // } // "volume_mult" // { // "operator" "math_float" // "apply" "mult" // "input2" "@volume_apply_fade_initial.output" // "input1" "1.0" //change to "@volume_map_name_scalar.output" to use a map specific scalar // } // "volume_apply_falloff" // { // "operator" "math_float" // "apply" "mult" // "input1" "@volume_mult.output" // "input2" "@volume_falloff.output" // } // "volume_apply_mixer" // { // "operator" "math_float" // "apply" "mult" // "input1" "@mixer.output_volume" // "input2" "@volume_apply_falloff.output" // } // "volume_apply_snd_gain_convar" // { // "operator" "math_float" // "apply" "mult" // "input1" "@snd_gain_convar.output" // "input2" "@volume_apply_mixer.output" // } // "volume_apply_test_convar" // { // "operator" "math_float" // "apply" "mult" // "input1" "1.0" // "input2" "@volume_apply_snd_gain_convar.output" // } // "volume_apply_occlusion" // { // "operator" "math_float" // "apply" "mult" // "input1" "@volume_apply_test_convar.output" // "input2" "@occlusion.output" // } // // this calculates the loudest volume of the ss clients // // NOT NEEDED ALL SS OPS SELF-CONTAINGED // // "volume_acc_ss_max" // // { // // "operator" "op_accumulate_ss_float" // // "input" "volume_apply_occlusion.output" // // "iterate_operator" "occlusion" // // } // "stoptime_elapsed_trigger" // { // "operator" "math_float" // "apply" "greater_than" // "input1" "@volume_invert_fadeout.output" // "input2" "0.0" // } // "stop_hold_output" // { // "operator" "sys_output" // "output" "stop_hold" // "input_float" "@stoptime_elapsed_trigger.output" // } // /////////////////// // // PITCH // "max_volume_percentage" // { // "operator" "math_float" // "apply" "div" // "input1" "@volume_apply_fade_out.output" // "input2" "@source_info.output_volume" // } // "pitch_fade_in" // { // "operator" "math_remap_float" // "input" "@max_volume_percentage.output" // "input_min" "0.0" // "input_max" "1.0" // "input_map_min" "1.0" //Always outputs 1.0 by default // "input_map_max" "1.0" // "default_to_max" "true" // } // "pitch_random" //Use for random pitch // { // "operator" "math_random_float" // "execute_once" "true" // "input_execute" "0.0" // "input_min" "1.0" // "input_max" "1.0" // } // "pitch_apply_fade_in" // { // "operator" "math_float" // "apply" "mult" // "input1" "@pitch_random.output" // "input2" "@pitch_fade_in.output" // } // "pitch_output" // { // "operator" "sys_output" // "output" "pitch" // "input_float" "@pitch_apply_fade_in.output" // } // /////////////////// // // DSP // "dsp_emitter" // { // "operator" "math_float" // "apply" "set" // "input1" "1.0" // } // "dsp_apply_mixer" // { // "operator" "math_float" // "apply" "mult" // "input1" "@mixer.output_dsp" // "input2" "@dsp_emitter.output" // } // "dsp_distantDSP" // { // "operator" "calc_distant_dsp" // "input_distance" "@source_distance.output" // "input_level" "@level_apply_mixer.output" // } // "dsp_apply_distant" // { // "operator" "math_float" // "apply" "mult" // "input1" "@dsp_distantDSP.output" // "input2" "@dsp_apply_mixer.output" // } // "dsp_output" // { // "operator" "sys_output" // "input_float" "@dsp_apply_distant.output" // "output" "dsp" // } // ///////////////////// // // SPEAKERS // // NOTE: uses player data, ie: SS, calculates all players and merges them // "speakers_spatialize" // { // "operator" "calc_spatialize_speakers" // "input_radius" "300" // "input_distance" "@source_distance.output" //// "input_source_position" "@source_info.output_position" // "input_source_position" "@public.position" // "input_listener_position" "@get_listener_position.output" // "input_listener_left" "@get_listener_left.output" // } // "speakers_apply_volume" // { // "operator" "math_speakers" // "apply" "mult" // "input1" "@speakers_spatialize.output" // "input2[*]" "@volume_apply_occlusion.output" // } // "speakers_limit" // { // "operator" "math_speakers" // "apply" "mult" // "left_front" "1.0" // "right_front" "1.0" // "center" "1.0" // "lfe" "1.0" // "left_rear" "1.0" // "right_rear" "1.0" // "input1" "[ 1.0, 1.0, 1.0, 1.0, 1.0, 1.0]" // "input2" "@speakers_apply_volume.output" // } // "speakers_multi_origin" // { // "operator" "iterate_merge_speakers" // "input_max_iterations" "@source_info.output_source_count" // "iterate_operator" "source_info" // "input" "@speakers_limit.output" // } // // connecting output after operator has been created // "source_info" // { // "input_source_index" "@speakers_multi_origin.output_index" // } // "speakers_output" // { // "operator" "sys_output" // "input_speakers" "@speakers_multi_origin.output" // "output" "speakers" // } // } // "p2_update_envelope_radius" //This is a wholesale copy of p2_update_default except that we've changed the way falloff works // { // "save_restore_output" // { // "operator" "sys_output" // "execute_once" "true" // "input_float" "1.0" // "output" "save_restore" // } // ////////////////////// // // POSITION // "source_info" // { // "operator" "game_get_source_info" // // "source" "entity" // "source" "emitter" // } // "elapsed_time" // { // "operator" "sys_get_entry_time" // } // "get_listener_position" // { // "operator" "opvar_get_float3" // "input_stack_name" "system_globals" // "input_operator_name" "game_per_frame_opvars" // "input_field_name" "splitscreen_listeners_origin" // "input_index" "0.0" // increment for splitscreen support // } // "source_distance" // { // "operator" "calc_distance" // "input_position1" "@public.position" // "input_position2" "@get_listener_position.output" // } // // // NOTE: uses player data, ie: SS, returns minimum distance // // "source_distance" // // { // // "operator" "calc_source_distance" // // "input_position" "@source_info.output_position" // // } // //////////////////// // // calc // "mixer" // { // "operator" "soundmixer_get_mixgroup" // "mixgroup" "All" // } // // NOTE: uses player data, ie: SS, return least occluded value // "occlusion" // { // "operator" "calc_occlusion" // "input_source_position" "@public.position" // "input_listener_position" "@get_listener_position.output" // } // // "occlusion" // // { // // "operator" "calc_occlusion" // // "input_position" "@source_info.output_position" // // } // "snd_gain_convar" // { // "operator" "convar_get" // "convar" "snd_gain" // } // "snd_op_test_convar" // { // "operator" "convar_get" // "convar" "snd_op_test_convar" // } // ////////////////////// // // LEVEL // "level_apply_mixer" // { // "operator" "math_float" // "apply" "mult" // "input1" "@mixer.output_level" // "input2" "@source_info.output_level" // } // ///////////////////// // // VOLUME // // NOTE: distance has precalculated minimum distance of the ss players // "volume_falloff" // { // "operator" "calc_falloff" // "input_distance" "@source_distance.output" // "input_level" "@level_apply_mixer.output" // } // "volume_mult" // { // "operator" "math_float" // "apply" "mult" // "input2" "@source_info.output_volume" // "input1" "1.0" // } // "volume_fade_in" // { // "operator" "math_remap_float" // "input" "@elapsed_time.output_entry_elapsed" // "input_min" "0.0" // "input_max" "0.0" // "input_map_min" "0.0" // "input_map_max" "1.0" // "default_to_max" "true" // } // "volume_fade_out" // { // "operator" "math_remap_float" // "input" "@elapsed_time.output_stop_elapsed" // "input_min" "0.0" // "input_max" "0.0" // "input_map_min" "0.0" // "input_map_max" "1.0" // "default_to_max" "false" // } // "volume_invert_fadeout" // { // "operator" "math_float" // "apply" "sub" // "input1" "1.0" // "input2" "@volume_fade_out.output" // } // "volume_apply_fade_in" // { // "operator" "math_float" // "apply" "mult" // "input1" "@volume_fade_in.output" // "input2" "@volume_mult.output" // } // "volume_apply_fade_out" // { // "operator" "math_float" // "apply" "mult" // "input1" "@volume_apply_fade_in.output" // "input2" "@volume_invert_fadeout.output" // } // ///////////////////////////////////////////// // // Massage Falloff // ///////////////////////////////////////////// // "falloff_xover_1" //Use these like variables // { // "operator" "math_float" // "apply" "mult" // "input1" "0.6" //first point goes here // "input2" "1.0" //identity, do not change // } // "falloff_xover_2" //Use these like variables // { // "operator" "math_float" // "apply" "mult" // "input1" "0.45" //second point goes here // "input2" "1.0" //identity, do not change // } // "falloff_leg_1" // { // "operator" "math_remap_float" // "input" "@volume_falloff.output" // "input_min" "@falloff_xover_1.output" //default 0.6 // "input_max" "1.0" // "input_map_min" "0.55" // "input_map_max" "1.0" // "default_to_max" "false" // } // "falloff_leg_2" // { // "operator" "math_remap_float" // "input" "@volume_falloff.output" // "input_min" "@falloff_xover_2.output" //default 0.45 // "input_max" "@falloff_xover_1.output" //default 0.6 // "input_map_min" "0.4" // "input_map_max" "@falloff_leg_1.output" // "default_to_max" "false" // } // "falloff_leg_3" // { // "operator" "math_remap_float" // "input" "@volume_falloff.output" // "input_min" "0.0" // "input_max" "@falloff_xover_2.output" //default 0.45 // "input_map_min" "0.0" // "input_map_max" "@falloff_leg_2.output" // "default_to_max" "true" // } // "volume_apply_falloff" // { // "operator" "math_float" // "apply" "mult" // "input1" "@volume_apply_fade_out.output" // "input2" "@volume_falloff.output" // //"input2" "@falloff_leg_3.output" //uncomment if you want to use wacky falloffs // } // ///////////////////////////////////////////// // "volume_apply_mixer" // { // "operator" "math_float" // "apply" "mult" // "input1" "@mixer.output_volume" // "input2" "@volume_apply_falloff.output" // } // "volume_apply_snd_gain_convar" // { // "operator" "math_float" // "apply" "mult" // "input1" "@snd_gain_convar.output" // "input2" "@volume_apply_mixer.output" // } // "volume_apply_test_convar" // { // "operator" "math_float" // "apply" "mult" // "input1" "1.0" // "input2" "@volume_apply_snd_gain_convar.output" // } // "volume_apply_occlusion" // { // "operator" "math_float" // "apply" "mult" // "input1" "@volume_apply_test_convar.output" // "input2" "@occlusion.output" // } // // this calculates the loudest volume of the ss clients // // NOT NEEDED ALL SS OPS SELF-CONTAINGED // // "volume_acc_ss_max" // // { // // "operator" "op_accumulate_ss_float" // // "input" "volume_apply_occlusion.output" // // "iterate_operator" "occlusion" // // } // "stoptime_elapsed_trigger" // { // "operator" "math_float" // "apply" "greater_than" // "input1" "@volume_invert_fadeout.output" // "input2" "0.0" // } // "stop_hold_output" // { // "operator" "sys_output" // "output" "stop_hold" // "input_float" "@stoptime_elapsed_trigger.output" // } // /////////////////// // // PITCH // "pitch_output" // { // "operator" "sys_output" // "output" "pitch" // "input_float" "@source_info.output_pitch" // } // /////////////////// // // DSP // "dsp_emitter" // { // "operator" "math_float" // "apply" "set" // "input1" "1.0" // } // "dsp_apply_mixer" // { // "operator" "math_float" // "apply" "mult" // "input1" "@mixer.output_dsp" // "input2" "@dsp_emitter.output" // } // "dsp_distantDSP" // { // "operator" "calc_distant_dsp" // "input_distance" "@source_distance.output" // "input_level" "@level_apply_mixer.output" // } // "dsp_apply_distant" // { // "operator" "math_float" // "apply" "mult" // "input1" "@dsp_distantDSP.output" // "input2" "@dsp_apply_mixer.output" // } // "dsp_output" // { // "operator" "sys_output" // "input_float" "@dsp_apply_distant.output" // "output" "dsp" // } // ///////////////////// // // SPEAKERS // // NOTE: uses player data, ie: SS, calculates all players and merges them // "speakers_spatialize" // { // "operator" "calc_spatialize_speakers" // "input_radius" "300" // "input_distance" "@source_distance.output" //// "input_source_position" "@source_info.output_position" // "input_source_position" "@public.position" // "input_listener_position" "@get_listener_position.output" // "input_listener_left" "@get_listener_left.output" // } // "speakers_apply_volume" // { // "operator" "math_speakers" // "apply" "mult" // "input1" "@speakers_spatialize.output" // "input2[*]" "@volume_apply_occlusion.output" // } // "speakers_limit" // { // "operator" "math_speakers" // "apply" "mult" // "left_front" "1.0" // "right_front" "1.0" // "center" "1.0" // "lfe" "1.0" // "left_rear" "1.0" // "right_rear" "1.0" // "input1" "[ 1.0, 1.0, 1.0, 1.0, 1.0, 1.0]" // "input2" "@speakers_apply_volume.output" // } // "speakers_multi_origin" // { // "operator" "iterate_merge_speakers" // "input_max_iterations" "@source_info.output_source_count" // "iterate_operator" "source_info" // "input" "@speakers_limit.output" // } // // connecting output after operator has been created // "source_info" // { // "input_source_index" "@speakers_multi_origin.output_index" // } // "speakers_output" // { // "operator" "sys_output" // "input_speakers" "@speakers_multi_origin.output" // "output" "speakers" // } // } // //////////////////////////////////////////////////////////////////////////////////////////// // // // // AMBIENT SOUNDS // // // //////////////////////////////////////////////////////////////////////////////////////////// // "p2_update_ambient_sound_spatial" // { // "import_stack" "p2_update_music_spatial_portals" // } // //////////////////////////////////////////////////////////////////////////////////////////// // // // // DIALOG STACKS // // // //////////////////////////////////////////////////////////////////////////////////////////// // "update_dialog" // { // /////////////////////// // // stopping previous lines // "stop_entries" // { // "execute_once" "true" // "operator" "sys_stop_entries" // "match_channel" "true" // "match_entity" "true" // "input_max_entries" "0" // doesn't include new one // } // ////////////////////// // // POSITION // "source_info" // { // "operator" "game_get_source_info" // // "source" "entity" // "source" "emitter" // } // //////////////////// // // calc // "mixer" // { // "operator" "soundmixer_get_mixgroup" // "mixgroup" "All" // } // "snd_gain_convar" // { // "operator" "convar_get" // "convar" "snd_gain" // } // //////////////////////// // // tell the mixer we're active // "output_mixlayer_trigger" // { // "execute_once" "1" // "operator" "sys_output" // "input_float" "1" // "output" "mixlayer_trigger" // } // ///////////////////// // // VOLUME // "volume_apply_mixer" // { // "operator" "math_float" // "apply" "mult" // "input1" "@mixer.output_volume" // "input2" "@source_info.output_volume" // } // "volume_apply_snd_gain_convar" // { // "operator" "math_float" // "apply" "mult" // "input1" "@snd_gain_convar.output" // "input2" "@volume_apply_mixer.output" // } // /////////////////// // // PITCH // "pitch_output" // { // "operator" "sys_output" // "output" "pitch" // "input_float" "@source_info.output_pitch" // } // /////////////////// // // DSP // "dsp_emitter" // { // "operator" "math_float" // "apply" "set" // "input1" "1.0" // } // "dsp_apply_mixer" // { // "operator" "math_float" // "apply" "mult" // "input1" "@mixer.output_dsp" // "input2" "@dsp_emitter.output" // } // "dsp_output" // { // "operator" "sys_output" // "input_float" "@dsp_apply_mixer.output" // "output" "dsp" // } // ///////////////////// // // SPEAKERS // "snd_op_test_convar" // { // "operator" "convar_get" // "convar" "snd_op_test_convar" // } // "snd_surround_convar" // { // "operator" "convar_get" // "convar" "snd_surround_speakers" // } // "remap_surround_dialog" // { // "operator" "math_remap_float" // "input" "@snd_surround_convar.output" // "input_min" "2" // "input_max" "5" //default 0.45 // "input_map_min" "0.0" // // "input_map_max" "@snd_op_test_convar.output" // "input_map_max" "0.28" // "default_to_max" "false" // } // "snd_surround_dialog_invert" // { // "operator" "math_float" // "apply" "sub" // "input1" "1.0" // "input2" "@remap_surround_dialog.output" // } // "speakers_limit" // { // "operator" "math_speakers" // "apply" "mult" // "input1[*]" "@snd_surround_dialog_invert.output" // // "left_front" "1.0" // // "right_front" "1.0" // // "center" "1.0" // "lfe" "0.0" // // "left_rear" "1.0" // // "right_rear" "1.0" // "input1" "[ 1.0, 1.0, 1.0, 1.0, 1.0, 1.0]" // "input2[*]" "@volume_apply_snd_gain_convar.output" // } // "speakers_output" // { // "operator" "sys_output" // "input_speakers" "@speakers_limit.output" // "output" "speakers" // } // } // "update_dialog_spatial" // { // /////////////////////// // // stopping previous lines // "stop_entries" // { // "execute_once" "true" // "operator" "sys_stop_entries" // "match_channel" "true" // "match_entity" "true" // "input_max_entries" "0" // doesn't include new one // } // ////////////////////// // // POSITION // "source_info" // { // "operator" "game_get_source_info" // "source" "entity" // // "source" "emitter" // } // "get_listener_position" // { // "operator" "opvar_get_float3" // "input_stack_name" "system_globals" // "input_operator_name" "game_per_frame_opvars" // "input_field_name" "splitscreen_listeners_origin" // "input_index" "0.0" // increment for splitscreen support // } // "source_distance" // { // "operator" "calc_distance" // "input_position1" "@public.position" // "input_position2" "@get_listener_position.output" // } // // // NOTE: uses player data, ie: SS, returns minimum distance // // "source_distance" // // { // // "operator" "calc_source_distance" // // "input_position" "@source_info.output_position" // // } // "occlusion" // { // "operator" "calc_occlusion" // "input_source_position" "@public.position" // "input_listener_position" "@get_listener_position.output" // } // // "occlusion" // // { // // "operator" "calc_occlusion" // // "input_position" "@source_info.output_position" // // // "input_trace_interval" "0.05" // // // "input_scalar" "0.7" // // } // // "print_occlusion" // // { // // "operator" "util_print_float" // // "input" "@occlusion.output" // // } // // // ramp distance to affect occlusion // // "remap_distance_occlusion" // // { // // "operator" "math_remap_float" // // "input" "@source_distance.output" // // "input_min" "1000.0" // // "input_max" "1500.0" // // "input_map_min" "0.0" // // "input_map_max" "1.0" // // "default_to_max" "false" // // } // // "distance_occlusion_invert" // // { // // "operator" "math_float" // // "apply" "sub" // // "input1" "1.0" // // "input2" "@remap_distance_occlusion" // // } // // "occlusion_invert" // // { // // "operator" "math_float" // // "apply" "sub" // // "input1" "1.0" // // "input2" "@occlusion.output" // // } // //////////////////// // // calc // "mixer" // { // "operator" "soundmixer_get_mixgroup" // "mixgroup" "All" // } // "snd_gain_convar" // { // "operator" "convar_get" // "convar" "snd_gain" // } // "snd_op_test_convar" // { // "operator" "convar_get" // "convar" "snd_op_test_convar" // } // //////////////////////// // // tell the mixer we're active // "output_mixlayer_trigger" // { // "execute_once" "1" // "operator" "sys_output" // "input_float" "1" // "output" "mixlayer_trigger" // } // ////////////////////// // // LEVEL // "level_apply_mixer" // { // "operator" "math_float" // "apply" "mult" // "input1" "@mixer.output_level" // "input2" "@source_info.output_level" // } // ///////////////////// // // VOLUME // "volume_falloff" // { // "operator" "calc_falloff" // "input_distance" "@source_distance.output" // "input_level" "@level_apply_mixer.output" // } // // NOTE: distance has precalculated minimum distance of the ss players // // ramp distance to affect occlusion // // "remap_distance_falloff" // // { // // "operator" "math_remap_float" // // "input" "@source_distance.output" // // "input_min" "2500.0" // // "input_max" "3000.0" // // "input_map_min" "0.0" // // "input_map_max" "1.0" // // "default_to_max" "false" // // } // // "remap_distance_falloff_invert" // // { // // "operator" "math_float" // // "apply" "sub" // // "input1" "1" // // "input2" "@remap_distance_falloff.output" // // } // "volume_apply_occlusion" // { // "operator" "math_float" // "apply" "mult" // "input1" "@source_info.output_volume" // "input2" "@occlusion.output" // // "input2" "1" // } // "volume_apply_falloff" // { // "operator" "math_float" // "apply" "mult" // "input1" "@volume_apply_occlusion.output" // "input2" "@volume_falloff.output" // } // // "volume_apply_distance_falloff" // // { // // "operator" "math_float" // // "apply" "mult" // // "input1" "@volume_apply_falloff.output" // // "input2" "@remap_distance_falloff_invert.output" // // } // "volume_apply_mixer" // { // "operator" "math_float" // "apply" "mult" // "input1" "@mixer.output_volume" // "input2" "@volume_apply_falloff.output" // } // // "volume_apply_distance_occlusion" // // { // // "operator" "math_float" // // "apply" "mult" // // "input1" "@mixer.output_volume" // // "input2" "@volume_apply_falloff.output" // // } // "volume_apply_snd_gain_convar" // { // "operator" "math_float" // "apply" "mult" // "input1" "@snd_gain_convar.output" // "input2" "@volume_apply_mixer.output" // } // "volume_apply_test_convar" // { // "operator" "math_float" // "apply" "mult" // "input1" "1.0" // "input2" "@volume_apply_snd_gain_convar.output" // } // /////////////////// // // PITCH // "pitch_output" // { // "operator" "sys_output" // "output" "pitch" // "input_float" "@source_info.output_pitch" // } // /////////////////// // // DSP // "dsp_emitter" // { // "operator" "math_float" // "apply" "set" // "input1" "1.0" // } // "dsp_apply_mixer" // { // "operator" "math_float" // "apply" "mult" // "input1" "@mixer.output_dsp" // "input2" "@dsp_emitter.output" // } // "dsp_distantDSP" // { // "operator" "calc_distant_dsp" // "input_distance" "@source_distance.output" // "input_level" "@level_apply_mixer.output" // } // "dsp_apply_distance" // { // "operator" "math_float" // "apply" "mult" // "input1" "@dsp_distantDSP.output" // "input2" "@dsp_apply_mixer.output" // } // "dsp_output" // { // "operator" "sys_output" // "input_float" "@dsp_apply_distance.output" // "output" "dsp" // } // ///////////////////// // // SPEAKERS // // NOTE: uses player data, ie: SS, calculates all players and merges them // "speakers_spatialize" // { // "operator" "calc_spatialize_speakers" // "input_radius" "300" // "input_rear_stereo_scale" "1.0" // "input_distance" "@source_distance.output" //// "input_source_position" "@source_info.output_position" // "input_source_position" "@public.position" // "input_listener_position" "@get_listener_position.output" // "input_listener_left" "@get_listener_left.output" // } // "speakers_apply_volume" // { // "operator" "math_speakers" // "apply" "mult" // "input1" "@speakers_spatialize.output" // "input2[*]" "@volume_apply_test_convar.output" // } // "speakers_limit" // { // "operator" "math_speakers" // "apply" "max" // "left_front" "0.0" // "right_front" "0.0" // "center" "0.0" // "lfe" "0.0" // "left_rear" "0.0" // "right_rear" "0.0" // "input1" "[ 1.0, 1.0, 1.0, 1.0, 1.0, 1.0]" // "input2" "@speakers_apply_volume.output" // } // "speakers_output" // { // "operator" "sys_output" // "input_speakers" "@speakers_limit.output" // "output" "speakers" // } // } // "p2_update_dialog_spatial_cave" // { // /////////////////////// // // stopping previous lines // "stop_entries" // { // "execute_once" "true" // "operator" "sys_stop_entries" // "match_channel" "true" // "match_entity" "true" // "input_max_entries" "0" // doesn't include new one // } // ////////////////////// // // POSITION // "source_info" // { // "operator" "game_get_source_info" // "source" "entity" // // "source" "emitter" // } // "position_array" // { // "operator" "util_pos_vec8" // "input_entry_count" "1" // "input_index" "0" // "input_position_0" "@source_info.output_position" // } // "get_listener_position" // { // "operator" "opvar_get_float3" // "input_stack_name" "system_globals" // "input_operator_name" "game_per_frame_opvars" // "input_field_name" "splitscreen_listeners_origin" // "input_index" "0.0" // increment for splitscreen support // } // "source_distance" // { // "operator" "calc_distance" // "input_position1" "@public.position" // "input_position2" "@get_listener_position.output" // } // // // NOTE: uses player data, ie: SS, returns minimum distance // // "source_distance" // // { // // "operator" "calc_source_distance" // // "input_position" "@position_array.output_position" // // } // "occlusion" // { // "operator" "calc_occlusion" // "input_source_position" "@public.position" // "input_listener_position" "@get_listener_position.output" // } // // // "occlusion" // // // { // // // "operator" "calc_occlusion" // // // "input_position" "@position_array.output_position" // // // // "input_scalar" "0.5" // // // // "input_trace_interval" "0.25" // // // } // // // ramp distance to affect occlusion // // "remap_distance_occlusion" // // { // // "operator" "math_remap_float" // // "input" "@source_distance.output" // // "input_min" "1000.0" // // "input_max" "1500.0" // // "input_map_min" "0.0" // // "input_map_max" "1.0" // // "default_to_max" "false" // // } // // "distance_occlusion_invert" // // { // // "operator" "math_float" // // "apply" "sub" // // "input1" "1.0" // // "input2" "@remap_distance_occlusion" // // } // // "occlusion_invert" // // { // // "operator" "math_float" // // "apply" "sub" // // "input1" "1.0" // // "input2" "@occlusion.output" // // } // //////////////////// // // calc // "mixer" // { // "operator" "soundmixer_get_mixgroup" // "mixgroup" "caveVO" // } // "snd_gain_convar" // { // "operator" "convar_get" // "convar" "snd_gain" // } // "snd_op_test_convar" // { // "operator" "convar_get" // "convar" "snd_op_test_convar" // } // //////////////////////// // // tell the mixer we're active // "output_mixlayer_trigger" // { // "execute_once" "1" // "operator" "sys_output" // "input_float" "1" // "output" "mixlayer_trigger" // } // ////////////////////// // // LEVEL // "level_apply_mixer" // { // "operator" "math_float" // "apply" "mult" // "input1" "@mixer.output_level" // "input2" "90" // } // ///////////////////// // // VOLUME // "volume_falloff" // { // "operator" "calc_falloff" // "input_distance" "@source_distance.output" // "input_level" "@level_apply_mixer.output" // } // // NOTE: distance has precalculated minimum distance of the ss players // // ramp distance to affect occlusion // // "remap_distance_falloff" // // { // // "operator" "math_remap_float" // // "input" "@source_distance.output" // // "input_min" "2500.0" // // "input_max" "3000.0" // // "input_map_min" "0.0" // // "input_map_max" "1.0" // // "default_to_max" "false" // // } // // "remap_distance_falloff_invert" // // { // // "operator" "math_float" // // "apply" "sub" // // "input1" "1" // // "input2" "@remap_distance_falloff.output" // // } // "volume_apply_occlusion" // { // "operator" "math_float" // "apply" "mult" // "input1" "@source_info.output_volume" // // "input2" "@occlusion.output" // "input2" "1" // } // "volume_apply_falloff" // { // "operator" "math_float" // "apply" "mult" // "input1" "@volume_apply_occlusion.output" // "input2" "@volume_falloff.output" // } // // "volume_apply_distance_falloff" // // { // // "operator" "math_float" // // "apply" "mult" // // "input1" "@volume_apply_falloff.output" // // "input2" "@remap_distance_falloff_invert.output" // // } // "volume_apply_mixer" // { // "operator" "math_float" // "apply" "mult" // "input1" "@mixer.output_volume" // "input2" "@volume_apply_falloff.output" // } // // "volume_apply_distance_occlusion" // // { // // "operator" "math_float" // // "apply" "mult" // // "input1" "@mixer.output_volume" // // "input2" "@volume_apply_falloff.output" // // } // "volume_apply_snd_gain_convar" // { // "operator" "math_float" // "apply" "mult" // "input1" "@snd_gain_convar.output" // "input2" "@volume_apply_mixer.output" // } // "volume_apply_test_convar" // { // "operator" "math_float" // "apply" "mult" // "input1" "1.0" // "input2" "@volume_apply_snd_gain_convar.output" // } // /////////////////// // // PITCH // "pitch_output" // { // "operator" "sys_output" // "output" "pitch" // "input_float" "@source_info.output_pitch" // } // /////////////////// // // DSP // "dsp_emitter" // { // "operator" "math_float" // "apply" "set" // "input1" "1.0" // } // "dsp_apply_mixer" // { // "operator" "math_float" // "apply" "mult" // "input1" "@mixer.output_dsp" // "input2" "@dsp_emitter.output" // } // "dsp_distantDSP" // { // "operator" "calc_distant_dsp" // "input_distance" "@source_distance.output" // "input_level" "@level_apply_mixer.output" // } // "dsp_apply_distance" // { // "operator" "math_float" // "apply" "mult" // "input1" "@dsp_distantDSP.output" // "input2" "@dsp_apply_mixer.output" // } // "dsp_min" // { // "operator" "math_float" // "apply" "max" // "input1" "0.4" // "input2" "@dsp_apply_distance.output" // } // "dsp_max" // { // "operator" "math_float" // "apply" "min" // "input1" "0.6" // "input2" "@dsp_min.output" // } // "dsp_output" // { // "operator" "sys_output" // "input_float" "@dsp_max.output" // "output" "dsp" // } // ///////////////////// // // SPEAKERS // // NOTE: uses player data, ie: SS, calculates all players and merges them // "speakers_spatialize" // { // "operator" "calc_spatialize_speakers" // "input_radius" "60" // "input_rear_stereo_scale" "1.0" // "input_distance" "@source_distance.output" //// "input_source_position" "@position_array.output_position" // "input_source_position" "@public.position" // "input_listener_position" "@get_listener_position.output" // "input_listener_left" "@get_listener_left.output" // } // "speakers_apply_volume" // { // "operator" "math_speakers" // "apply" "mult" // "input1" "@speakers_spatialize.output" // "input2[*]" "@volume_apply_test_convar.output" // } // "speakers_limit" // { // "operator" "math_speakers" // "apply" "max" // "left_front" "0.0" // "right_front" "0.0" // "center" "0.0" // "lfe" "0.0" // "left_rear" "0.0" // "right_rear" "0.0" // "input1" "[ 1.0, 1.0, 1.0, 1.0, 1.0, 1.0]" // "input2" "@speakers_apply_volume.output" // } // "speakers_multi_origin" // { // "operator" "iterate_merge_speakers" // "input_max_iterations" "@position_array.output_max_index" // "iterate_operator" "position_array" // "input" "@speakers_limit.output" // } // // connecting output after operator has been created // "position_array" // { // "input_index" "@speakers_multi_origin.output_index" // } // "speakers_output" // { // "operator" "sys_output" // "input_speakers" "@speakers_multi_origin.output" // "output" "speakers" // } // } // "p2_update_dialog_spatial_cores" // { // "import_stack" "update_dialog_spatial" // "mixer" // { // "mixgroup" "coreVO" // } // "speakers_spatialize" // { // "input_radius" "200" // } // } // "p2_update_dialog_spatial_wheatley" // { // /////////////////////// // // stopping previous lines // "stop_entries" // { // "execute_once" "true" // "operator" "sys_stop_entries" // "match_channel" "true" // "match_entity" "true" // "input_max_entries" "0" // doesn't include new one // } // ////////////////////// // // POSITION // "source_info" // { // "operator" "game_get_source_info" // "source" "entity" // // "source" "emitter" // } // "get_listener_position" // { // "operator" "opvar_get_float3" // "input_stack_name" "system_globals" // "input_operator_name" "game_per_frame_opvars" // "input_field_name" "splitscreen_listeners_origin" // "input_index" "0.0" // increment for splitscreen support // } // "source_distance" // { // "operator" "calc_distance" // "input_position1" "@public.position" // "input_position2" "@get_listener_position.output" // } // // // NOTE: uses player data, ie: SS, returns minimum distance // // "source_distance" // // { // // "operator" "calc_source_distance" // // "input_position" "@source_info.output_position" // // } // "occlusion" // { // "operator" "calc_occlusion" // "input_source_position" "@public.position" // "input_listener_position" "@get_listener_position.output" // } // // "occlusion" // // { // // "operator" "calc_occlusion" // // "input_position" "@source_info.output_position" // // // "input_trace_interval" "0.05" // // // "input_scalar" "0.7" // // } // // "print_occlusion" // // { // // "operator" "util_print_float" // // "input" "@occlusion.output" // // } // // // ramp distance to affect occlusion // // "remap_distance_occlusion" // // { // // "operator" "math_remap_float" // // "input" "@source_distance.output" // // "input_min" "1000.0" // // "input_max" "1500.0" // // "input_map_min" "0.0" // // "input_map_max" "1.0" // // "default_to_max" "false" // // } // // "distance_occlusion_invert" // // { // // "operator" "math_float" // // "apply" "sub" // // "input1" "1.0" // // "input2" "@remap_distance_occlusion" // // } // // "occlusion_invert" // // { // // "operator" "math_float" // // "apply" "sub" // // "input1" "1.0" // // "input2" "@occlusion.output" // // } // //////////////////// // // calc // "mixer" // { // "operator" "soundmixer_get_mixgroup" // "mixgroup" "wheatleyVO" // } // "snd_gain_convar" // { // "operator" "convar_get" // "convar" "snd_gain" // } // "snd_op_test_convar" // { // "operator" "convar_get" // "convar" "snd_op_test_convar" // } // //////////////////////// // // tell the mixer we're active // "output_mixlayer_trigger" // { // "execute_once" "1" // "operator" "sys_output" // "input_float" "1" // "output" "mixlayer_trigger" // } // ////////////////////// // // LEVEL // "level_apply_mixer" // { // "operator" "math_float" // "apply" "mult" // "input1" "@mixer.output_level" // "input2" "@source_info.output_level" // } // ///////////////////// // // VOLUME // "volume_falloff" // { // "operator" "calc_falloff" // "input_distance" "@source_distance.output" // "input_level" "@level_apply_mixer.output" // } // // NOTE: distance has precalculated minimum distance of the ss players // // ramp distance to affect occlusion // // "remap_distance_falloff" // // { // // "operator" "math_remap_float" // // "input" "@source_distance.output" // // "input_min" "2500.0" // // "input_max" "3000.0" // // "input_map_min" "0.0" // // "input_map_max" "1.0" // // "default_to_max" "false" // // } // // "remap_distance_falloff_invert" // // { // // "operator" "math_float" // // "apply" "sub" // // "input1" "1" // // "input2" "@remap_distance_falloff.output" // // } // "volume_test_distance" // { // "operator" "math_float" // "apply" "less_than" // "input1" "@source_distance.output" // "input2" "80" // } // "volume_defeat_occlusion" // { // "operator" "math_float" // "apply" "max" // "input1" "@volume_test_distance.output" // "input2" "@occlusion.output" // } // "volume_apply_occlusion" // { // "operator" "math_float" // "apply" "mult" // "input1" "@source_info.output_volume" // "input2" "@volume_defeat_occlusion.output" // // "input2" "1" // } // "remap_distance_falloff" // { // "operator" "math_remap_float" // "input" "@source_distance.output" // "input_min" "400" // "input_max" "600" // "input_map_min" "1.0" // "input_map_max" "1.3" // "default_to_max" "false" // } // "volume_apply_falloff" // { // "operator" "math_float" // "apply" "mult" // "input1" "@volume_apply_occlusion.output" // "input2" "@volume_falloff.output" // } // "volume_apply_distance_falloff" // { // "operator" "math_float" // "apply" "mult" // "input1" "@volume_apply_falloff.output" // "input2" "@remap_distance_falloff.output" // } // "volume_apply_mixer" // { // "operator" "math_float" // "apply" "mult" // "input1" "@mixer.output_volume" // "input2" "@volume_apply_distance_falloff.output" // } // // "volume_apply_distance_occlusion" // // { // // "operator" "math_float" // // "apply" "mult" // // "input1" "@mixer.output_volume" // // "input2" "@volume_apply_falloff.output" // // } // "volume_apply_snd_gain_convar" // { // "operator" "math_float" // "apply" "mult" // "input1" "@snd_gain_convar.output" // "input2" "@volume_apply_mixer.output" // } // "volume_apply_test_convar" // { // "operator" "math_float" // "apply" "mult" // "input1" "1.0" // "input2" "@volume_apply_snd_gain_convar.output" // } // /////////////////// // // PITCH // "pitch_output" // { // "operator" "sys_output" // "output" "pitch" // "input_float" "@source_info.output_pitch" // } // /////////////////// // // DSP // "dsp_emitter" // { // "operator" "math_float" // "apply" "set" // "input1" "1.0" // } // "dsp_apply_mixer" // { // "operator" "math_float" // "apply" "mult" // "input1" "@mixer.output_dsp" // "input2" "@dsp_emitter.output" // } // "dsp_distantDSP" // { // "operator" "calc_distant_dsp" // "input_distance" "@source_distance.output" // "input_level" "@level_apply_mixer.output" // } // "dsp_apply_distance" // { // "operator" "math_float" // "apply" "mult" // "input1" "@dsp_distantDSP.output" // "input2" "@dsp_apply_mixer.output" // } // "dsp_output" // { // "operator" "sys_output" // "input_float" "@dsp_apply_distance.output" // "output" "dsp" // } // ///////////////////// // // SPEAKERS // "radius_get_sp_a1_intro1" // { // // "execute_once" "true" // // "input_execute" "1.0" //enable map checking here // "operator" "get_map_name" // "map_name" "sp_a1_intro1" //your map name here // } // "radius_invert_test" // { // "operator" "math_float" // "apply" "less_than" // "input1" "@radius_get_sp_a1_intro1.output" // "input2" "1.0" // } // "radius_remap_map_test1" // { // "operator" "math_remap_float" // "input" "@radius_invert_test.output" // "input_min" "0" // "input_max" "1" // "input_map_min" "600.0" // "input_map_max" "600.0" // "default_to_max" "false" // } // // NOTE: uses player data, ie: SS, calculates all players and merges them // "speakers_spatialize" // { // "operator" "calc_spatialize_speakers" // "input_radius" "@radius_remap_map_test1.output" // "input_rear_stereo_scale" "1.0" // "input_distance" "@source_distance.output" //// "input_source_position" "@source_info.output_position" // "input_source_position" "@public.position" // "input_listener_position" "@get_listener_position.output" // "input_listener_left" "@get_listener_left.output" // } // "speakers_apply_volume" // { // "operator" "math_speakers" // "apply" "mult" // "input1" "@speakers_spatialize.output" // "input2[*]" "@volume_apply_test_convar.output" // } // "speakers_limit" // { // "operator" "math_speakers" // "apply" "max" // "left_front" "0.0" // "right_front" "0.0" // "center" "0.0" // "lfe" "0.0" // "left_rear" "0.0" // "right_rear" "0.0" // "input2" "@speakers_apply_volume.output" // } // "speakers_output" // { // "operator" "sys_output" // "input_speakers" "@speakers_limit.output" // "output" "speakers" // } // } // //////////////////////////////////////////////////////////////////////////////////////////// // // // // SPECIALTY STACKS // // // //////////////////////////////////////////////////////////////////////////////////////////// // "update_facing" // { // ////////////////////// // // POSITION // "source_info" // { // "operator" "game_get_source_info" // // "source" "entity" // "source" "emitter" // } // "get_listener_position" // { // "operator" "opvar_get_float3" // "input_stack_name" "system_globals" // "input_operator_name" "game_per_frame_opvars" // "input_field_name" "splitscreen_listeners_origin" // "input_index" "0.0" // increment for splitscreen support // } // "source_distance" // { // "operator" "calc_distance" // "input_position1" "@public.position" // "input_position2" "@get_listener_position.output" // } // // // NOTE: uses player data, ie: SS, returns nearest distance // // "source_distance" // // { // // "operator" "calc_source_distance" // // "input_position" "@source_info.output_position" // // } // //////////////////// // // calc // "mixer" // { // "operator" "soundmixer_get_mixgroup" // "mixgroup" "TEST" // } // // NOTE: uses player data, ie: SS, least occluded player // "occlusion" // { // "operator" "calc_occlusion" // "input_source_position" "@public.position" // "input_listener_position" "@get_listener_position.output" // } // // "occlusion" // // { // // "operator" "calc_occlusion" // // "input_position" "@source_info.output_position" // // } // // NOTE: uses player data, ie: blended origin for SS players // "facing" // { // "operator" "calc_angles_facing" // // "input_angles" "@source_info.output_angles" // "input_angles[0]" "0" // "input_angles[1]" "0" // "input_angles[2]" "0" // "input_listener_position" "@get_listener_position.output" // "input_source_position" "@public.position" // } // "facing_output" // { // "operator" "sys_output" // "input_float" "@facing.output" // "output" "facing" // } // "snd_gain_convar" // { // "operator" "convar_get" // "convar" "snd_gain" // } // "snd_op_test_convar" // { // "operator" "convar_get" // "convar" "snd_op_test_convar" // } // ////////////////////// // // LEVEL // "level_apply_mixer" // { // "operator" "math_float" // "apply" "mult" // "input1" "@mixer.output_level" // "input2" "@source_info.output_level" // } // ///////////////////// // // VOLUME // "volume_falloff" // { // "operator" "calc_falloff" // "input_distance" "@source_distance.output" // "input_level" "@level_apply_mixer.output" // } // "volume_apply_falloff" // { // "operator" "math_float" // "apply" "mult" // "input1" "@source_info.output_volume" // "input2" "@volume_falloff.output" // } // "volume_apply_mixer" // { // "operator" "math_float" // "apply" "mult" // "input1" "@mixer.output_volume" // "input2" "@volume_apply_falloff.output" // } // "volume_apply_snd_gain_convar" // { // "operator" "math_float" // "apply" "mult" // "input1" "@snd_gain_convar.output" // "input2" "@volume_apply_mixer.output" // } // "volume_apply_test_convar" // { // "operator" "math_float" // "apply" "mult" // "input1" "1.0" // "input2" "@volume_apply_snd_gain_convar.output" // } // "volume_apply_facing" // { // "operator" "math_float" // "apply" "mult" // "input1" "@facing.output" // "input2" "@volume_apply_test_convar.output" // } // "volume_apply_occlusion" // { // "operator" "math_float" // "apply" "mult" // "input1" "@volume_apply_facing.output" // "input2" "@occlusion.output" // } // /////////////////// // // PITCH // "pitch_output" // { // "operator" "sys_output" // "output" "pitch" // "input_float" "@source_info.output_pitch" // } // /////////////////// // // DSP // "dsp_emitter" // { // "operator" "math_float" // "apply" "set" // "input1" "1.0" // } // "dsp_apply_mixer" // { // "operator" "math_float" // "apply" "mult" // "input1" "@mixer.output_dsp" // "input2" "@dsp_emitter.output" // } // "dsp_distantDSP" // { // "operator" "calc_distant_dsp" // "input_distance" "@source_distance.output" // "input_level" "@level_apply_mixer.output" // } // "dsp_apply_distant" // { // "operator" "math_float" // "apply" "mult" // "input1" "@dsp_distantDSP.output" // "input2" "@dsp_apply_mixer.output" // } // "dsp_output" // { // "operator" "sys_output" // "input_float" "@dsp_apply_distant.output" // "output" "speakers" // } // ///////////////////// // // SPEAKERS // // NOTE: uses player data, ie: SS // // SS COULD BE SELF-CONTAINED? // "speakers_spatialize" // { // "operator" "calc_spatialize_speakers" // "input_radius" "300" // "input_distance" "@source_distance.output" //// "input_source_position" "@source_info.output_position" // "input_source_position" "@public.position" // "input_listener_position" "@get_listener_position.output" // "input_listener_left" "@get_listener_left.output" // } // "speakers_volume" // { // "operator" "math_speakers" // "apply" "mult" // "input1" "@speakers_spatialize.output" // "input2[*]" "@volume_apply_occlusion.output" // // "input2[*]" "@facing.output" // } // "speakers_limit" // { // "operator" "math_speakers" // "apply" "mult" // "left_front" "1.0" // "right_front" "1.0" // "center" "1.0" // "lfe" "1.0" // "left_rear" "1.0" // "right_rear" "1.0" // "input2" "@speakers_volume.output" // } // "speakers_output" // { // "operator" "sys_output" // "input_speakers" "@speakers_limit.output" // "output" "speakers" // } // } } "stop_stacks" { // "stop_test" // { // "play_entry" // { // "operator" "sys_start_entry" // "execute_once" "true" // "input_execute" "1" // "input_start" "1" // "entry_name" "Default.Null" //Replace with the sound you want to play. // } // } // "stop_default" // { // "snd_op_test_convar" // { // "operator" "convar_get" // "convar" "snd_op_test_convar" // } // } // "stop_and_play" // { // "play_entry" // { // "operator" "sys_start_entry" // "execute_once" "true" // "input_execute" "1" // "input_start" "1" // "entry_name" "Default.Null" //Replace with the sound you want to play. // } // } // "P2_stop_child_and_parent" // { // "stop_child" // { // "operator" "sys_stop_entries" // "input_max_entries" "0.000000" //A sound will not stop itself from playing. // "match_substring" "false" // "match_entry" "Default.Null" //Replace with the sound you want to stop. // "match_entity" "true" // } // } // //////////////////////////////////////////////////////////////////////////////////////////// // // // // dialog stop stacks // // // //////////////////////////////////////////////////////////////////////////////////////////// // "P2_glados_stop" // default stop stack for glados v.o. // { // "set_mixlayer_vol_wheatley" // { // "operator" "soundmixer_set_mixlayer" // "mixlayer" "gladosVOLayer" // "mixgroup" "wheatleyVO" // "field" "volume" // "input" "1.0" // } // "set_mixlayer_vol_announcer" // { // "operator" "soundmixer_set_mixlayer" // "mixlayer" "gladosVOLayer" // "mixgroup" "announcerVO" // "field" "volume" // "input" "1.0" // } // "set_mixlayer_vol_cave" // { // "operator" "soundmixer_set_mixlayer" // "mixlayer" "gladosVOLayer" // "mixgroup" "caveVO" // "field" "volume" // "input" "1.0" // } // } // "P2_glados_stop_mute" // default stop stack for glados v.o. // { // "set_mixlayer_mute_wheatley" // { // "operator" "soundmixer_set_mixlayer" // "mixlayer" "gladosVOLayer" // "mixgroup" "wheatleyVO" // "field" "mute" // "input" "0.0" // } // "set_mixlayer_mute_announcer" // { // "operator" "soundmixer_set_mixlayer" // "mixlayer" "gladosVOLayer" // "mixgroup" "announcerVO" // "field" "mute" // "input" "0.0" // } // "set_mixlayer_mute_cave" // { // "operator" "soundmixer_set_mixlayer" // "mixlayer" "gladosVOLayer" // "mixgroup" "caveVO" // "field" "mute" // "input" "0.0" // } // } // "P2_wheatley_stop" // default stop stack for wheatley v.o. // { // "set_mixlayer_vol_glados" // { // "operator" "soundmixer_set_mixlayer" // "mixlayer" "wheatleyVOLayer" // "mixgroup" "gladosVO" // "field" "volume" // "input" "1.0" // } // "set_mixlayer_vol_announcer" // { // "operator" "soundmixer_set_mixlayer" // "mixlayer" "wheatleyVOLayer" // "mixgroup" "announcerVO" // "field" "volume" // "input" "1.0" // } // } // "P2_announcer_stop" // default stop stack for announcer v.o. // { // "set_mixlayer_vol_glados" // { // "operator" "soundmixer_set_mixlayer" // "mixlayer" "announcerVOLayer" // "mixgroup" "gladosVO" // "field" "volume" // "input" "1.0" // } // "set_mixlayer_vol_wheatley" // { // "operator" "soundmixer_set_mixlayer" // "mixlayer" "announcerVOLayer" // "mixgroup" "wheatleyVO" // "field" "volume" // "input" "1.0" // } // } }