From: Juhu <5894800-Juhu_@users.noreply.gitlab.com> Date: Sat, 4 Feb 2023 00:25:40 +0000 (+0100) Subject: strafehud: simplify sonar string handling code X-Git-Url: https://git.rm.cloudns.org/?a=commitdiff_plain;h=1ab6c4ebdf8043c0ad1fbb08be0388aad899539e;p=xonotic%2Fxonotic-data.pk3dir.git strafehud: simplify sonar string handling code --- diff --git a/qcsrc/client/hud/panel/strafehud.qc b/qcsrc/client/hud/panel/strafehud.qc index edec4fb00..f6c23b682 100644 --- a/qcsrc/client/hud/panel/strafehud.qc +++ b/qcsrc/client/hud/panel/strafehud.qc @@ -902,25 +902,22 @@ void HUD_StrafeHUD() string newsound = autocvar_hud_panel_strafehud_sonar_audio; static string cursound = string_null; static string sonarsound = string_null; - if(newsound != cursound) + if(newsound == "") { - if(cursound != "") strunzone(cursound); - - if(newsound != "") cursound = strzone(newsound); - else cursound = string_null; - - if(sonarsound != "") strunzone(sonarsound); - sonarsound = strzone(_Sound_fixpath(newsound)); + cursound = sonarsound = string_null; + } + else if(newsound != cursound) + { + strfree(cursound); + cursound = strzone(newsound); - if(sonarsound != "") + strfree(sonarsound); + sonarsound = _Sound_fixpath(newsound); + if(sonarsound) { + sonarsound = strzone(sonarsound); precache_sound(sonarsound); } - else - { - strunzone(sonarsound); - sonarsound = string_null; - } } // draw the actual strafe angle @@ -976,7 +973,7 @@ void HUD_StrafeHUD() float sonar_pitch = max(0, autocvar_hud_panel_strafehud_sonar_pitch_start); sonar_pitch += autocvar_hud_panel_strafehud_sonar_pitch_range * sonar_ratio ** max(1, autocvar_hud_panel_strafehud_sonar_pitch_exponent); - if(sonar_volume > 0) + if(sonarsound && (sonar_volume > 0)) sound7(csqcplayer, CH_INFO, sonarsound, bound(0, sonar_volume, 1) * VOL_BASE, ATTN_NONE, max(0.000001, sonar_pitch * 100), 0); } }