]> git.rm.cloudns.org Git - xonotic/xonotic-data.pk3dir.git/commitdiff
Add patch from Juhu/strafehud-features branch: "strafehud: simplify sonar string...
authorJuhu <5894800-Juhu_@users.noreply.gitlab.com>
Sat, 4 Feb 2023 00:27:15 +0000 (01:27 +0100)
committerJuhu <5894800-Juhu_@users.noreply.gitlab.com>
Sat, 4 Feb 2023 00:27:15 +0000 (01:27 +0100)
qcsrc/client/hud/panel/strafehud.qc

index 1beb23bce90cf717f26a3ab85982dbc7cb5b6a71..ec811bcc9615aa3ac23c423ccb4be4c81adc999b 100644 (file)
@@ -839,22 +839,19 @@ 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(cursound != "") strunzone(cursound);
-
-            if(newsound != "") cursound = strzone(newsound);
-            else cursound = string_null;
-
-            if(sonarsound != "") strunzone(sonarsound);
-            sonarsound = strzone(_Sound_fixpath(newsound));
-
-            if(sonarsound != "") {
+        if(newsound == "") {
+            cursound = sonarsound = string_null;
+        }
+        else if(newsound != cursound) {
+            strfree(cursound);
+            cursound = strzone(newsound);
+
+            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
@@ -910,7 +907,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);
                 }
             }