]> git.rm.cloudns.org Git - xonotic/xonotic-data.pk3dir.git/commitdiff
strafehud: clean up mess from previous commits, minor refactoring
authorJuhu <5894800-Juhu_@users.noreply.gitlab.com>
Mon, 9 Sep 2024 16:49:55 +0000 (18:49 +0200)
committerJuhu <5894800-Juhu_@users.noreply.gitlab.com>
Mon, 9 Sep 2024 16:50:33 +0000 (18:50 +0200)
qcsrc/client/hud/panel/strafehud.qc
qcsrc/client/hud/panel/strafehud/core.qc
qcsrc/client/hud/panel/strafehud/core.qh
qcsrc/client/hud/panel/strafehud/util.qc
qcsrc/client/hud/panel/strafehud/util.qh

index 5f72f4627483298724105b2d2134de855dee53bf..63cdef5778fa1ffa58aa144f23d38fd33de9cbcf 100644 (file)
@@ -376,20 +376,17 @@ void HUD_StrafeHUD()
                }
 
                // shift hud if operating in view angle centered mode
-               float shift_angle = 0;
+               float shiftangle = 0;
                if(mode == STRAFEHUD_MODE_VIEW_CENTERED)
                {
-                       shift_angle = -angle;
-                       bestangle += shift_angle;
-                       changeangle += shift_angle;
-                       opposite_bestangle += shift_angle;
-                       opposite_changeangle += shift_angle;
+                       shiftangle = -angle;
+                       bestangle += shiftangle;
+                       changeangle += shiftangle;
+                       opposite_bestangle += shiftangle;
+                       opposite_changeangle += shiftangle;
                }
 
-               StrafeHUD_DrawStrafeMeter(
-                       speed, bestspeed, frictionspeed, shift_angle, wishangle, changeangle, bestangle,
-                       absolute_bestangle, absolute_prebestangle, opposite_bestangle, opposite_changeangle,
-                       moving, opposite_direction, direction, hudangle);
+               StrafeHUD_DrawStrafeMeter(shiftangle, wishangle, absolute_bestangle, absolute_prebestangle, moving, hudangle);
 
                float text_offset_top;
                float text_offset_bottom;
index 19e526f1403bcc51b54e587380ea8538e91bd855..3f54129f12e1fb18ea7d08216f18cc77312a2be3 100644 (file)
@@ -3,11 +3,8 @@
 #include <client/draw.qh>
 
 void StrafeHUD_DrawStrafeMeter(
-       float speed, float bestspeed, float frictionspeed, float shift_angle, float wishangle,
-       float changeangle, float bestangle, float absolute_bestangle,
-       float absolute_prebestangle, float opposite_bestangle,
-       float opposite_changeangle, bool moving, bool opposite_direction,
-       int direction, float hudangle)
+       float shiftangle, float wishangle, float absolute_bestangle,
+       float absolute_prebestangle, bool moving, float hudangle)
 {
        // the neutral zone fills the whole strafe bar
        if(!moving)
@@ -75,15 +72,15 @@ void StrafeHUD_DrawStrafeMeter(
                neutral_offsetangle = 360 - current_startangle;
 
                // calculate how far off-center the strafe zones currently are
-               shift_angle += neutral_offsetangle / 2 - wishangle;
+               shiftangle += neutral_offsetangle / 2 - wishangle;
 
                // shift strafe zones into correct place
-               neutral_startangle += shift_angle;
-               accelzone_left_startangle += shift_angle;
-               accelzone_right_startangle += shift_angle;
-               preaccelzone_left_startangle += shift_angle;
-               preaccelzone_right_startangle += shift_angle;
-               overturn_startangle += shift_angle;
+               neutral_startangle += shiftangle;
+               accelzone_left_startangle += shiftangle;
+               accelzone_right_startangle += shiftangle;
+               preaccelzone_left_startangle += shiftangle;
+               preaccelzone_right_startangle += shiftangle;
+               overturn_startangle += shiftangle;
 
                // draw left acceleration zone
                StrafeHUD_drawStrafeHUD(
@@ -147,9 +144,9 @@ void StrafeHUD_DrawAngleIndicator(
 
        // bound to HUD area
        angle = bound(-hudangle / 2, angle, hudangle / 2);
-       angle = StrafeHUD_projectAngle(angle, hudangle, false);
 
        float offset = StrafeHUD_angleToOffset(angle, hudangle);
+       offset = StrafeHUD_projectOffset(offset, hudangle, false);
 
        StrafeHUD_DrawAngleIndicatorLine(line_size, offset, num_dashes, color, alpha);
 
index 9f9dd081a507b356c3844d2ba7b028e774a803aa..944ed426d7697849add74ebb14f0af42fe4d8089 100644 (file)
@@ -5,6 +5,4 @@ void StrafeHUD_DrawAngleIndicator(float, vector, float, int, bool, bool, vector,
 void StrafeHUD_DrawAngleIndicatorLine(vector, float, int, vector, float);
 void StrafeHUD_DrawAngleIndicatorArrow(float, float, vector, vector, float, bool);
 void StrafeHUD_DrawDirectionIndicator(int, bool, bool);
-void StrafeHUD_DrawStrafeMeter(
-       float, float, float, float, float, float, float,
-       float, float, float, float, bool, bool, int, float);
+void StrafeHUD_DrawStrafeMeter(float, float, float, float, bool, float);
index 19ac844fe13246369fb6a845aee07b0f054485a2..51dc60b8ff1d0afd4d2c44f2d4073eb1258b4fe4 100644 (file)
@@ -50,17 +50,6 @@ float StrafeHUD_project(float ratio, float range, bool reverse)
        return ratio;
 }
 
-float StrafeHUD_projectAngle(float angle, float range, bool reverse)
-{
-       if(autocvar_hud_panel_strafehud_projection == STRAFEHUD_PROJECTION_LINEAR)
-               return angle;
-
-       float ratio = (angle % 360) / (range / 2);
-       ratio = StrafeHUD_project(ratio, range, reverse);
-       angle = ratio * (range / 2);
-       return angle;
-}
-
 float StrafeHUD_projectOffset(float offset, float range, bool reverse)
 {
        if(autocvar_hud_panel_strafehud_projection == STRAFEHUD_PROJECTION_LINEAR)
@@ -139,7 +128,7 @@ float DetectFrameTime()
        {
                float dt_client = input_timelength;
 
-               if(dt_client > .05) // server splits frames longer than 50 ms into two moves
+               if(dt_client > .05) // server splits frames longer than 50 ms into two moves (DarkPlaces behaviour)
                        dt_client /= 2; // does not ensure frames are smaller than 50 ms, just splits large frames in half, matches server behaviour
 
                // calculate average frametime
index b00adf9ae1c85986ac0ecc72db9d740fbfca9819..ebe5b1ee572ca7c534f6d365ce2edd8a61cb53ce 100644 (file)
@@ -4,7 +4,6 @@
 float GetLengthUnitFactor(int);
 string GetLengthUnit(int);
 float StrafeHUD_project(float, float, bool);
-float StrafeHUD_projectAngle(float, float, bool);
 float StrafeHUD_projectOffset(float, float, bool);
 float StrafeHUD_projectWidth(float, float, float);
 float StrafeHUD_angleToWidth(float, float);