]> git.rm.cloudns.org Git - xonotic/xonotic-data.pk3dir.git/commitdiff
strafehud: move minimum hud angle calculation into hud angle function
authorJuhu <5894800-Juhu_@users.noreply.gitlab.com>
Mon, 16 Sep 2024 18:44:59 +0000 (20:44 +0200)
committerJuhu <5894800-Juhu_@users.noreply.gitlab.com>
Mon, 16 Sep 2024 18:44:59 +0000 (20:44 +0200)
qcsrc/client/hud/panel/strafehud.qc
qcsrc/client/hud/panel/strafehud/util.qc

index 854197399617c39876eb5ed6e21bb8a0445fd8fa..ec4893bce741c7a0cb770f70931e413b76303832 100644 (file)
@@ -164,13 +164,7 @@ void HUD_StrafeHUD()
                float wishangle = StrafeHUD_DetermineWishAngle(movement, keys, islocal);
                bool strafekeys = fabs(wishangle) > 45;
 
-               // determine minimum required angle to display full strafe range
-               float range_minangle = fabs(wishangle) % 90; // maximum range is 90 degree
-               if(range_minangle > 45) range_minangle = 45 - fabs(wishangle) % 45; // minimum angle range is 45
-               range_minangle = 90 - range_minangle; // calculate value which is never >90 or <45
-               range_minangle *= 2; // multiply to accommodate for both sides of the hud
-
-               float hudangle = StrafeHUD_DetermineHudAngle(range_minangle);
+               float hudangle = StrafeHUD_DetermineHudAngle(wishangle);
 
                // detect air strafe turning
                static bool turn = false;
index 02adbdbc2dceae8b18b065fd0449097511348788..74704685ef7a173fbe071f238d838a3737258d94 100644 (file)
@@ -203,7 +203,7 @@ float StrafeHUD_DetermineWishAngle(vector movement, int keys, bool islocal)
        return wishangle;
 }
 
-float StrafeHUD_DetermineHudAngle(float range_minangle)
+float StrafeHUD_DetermineHudAngle(float wishangle)
 {
        float hudangle;
        if(isnan(autocvar_hud_panel_strafehud_range))
@@ -213,9 +213,19 @@ float StrafeHUD_DetermineHudAngle(float range_minangle)
        else if(autocvar_hud_panel_strafehud_range == 0)
        {
                if(autocvar__hud_configure)
+               {
                        hudangle = 90;
+               }
                else
+               {
+                       // determine minimum required angle to display full strafe range
+                       float range_minangle = fabs(wishangle) % 90; // maximum range is 90 degree
+                       if(range_minangle > 45) range_minangle = 45 - fabs(wishangle) % 45; // minimum angle range is 45
+                       range_minangle = 90 - range_minangle; // calculate value which is never >90 or <45
+                       range_minangle *= 2; // multiply to accommodate for both sides of the hud
+
                        hudangle = range_minangle; // use minimum angle required if dynamically setting hud angle
+               }
        }
        else if(autocvar_hud_panel_strafehud_range < 0)
        {