]> git.rm.cloudns.org Git - xonotic/xonotic-data.pk3dir.git/commitdiff
strafehud: improved function naming, moved the mix color function to util.qc + indent...
authorJuhu <5894800-Juhu_@users.noreply.gitlab.com>
Mon, 16 Sep 2024 18:24:46 +0000 (20:24 +0200)
committerJuhu <5894800-Juhu_@users.noreply.gitlab.com>
Mon, 16 Sep 2024 18:42:03 +0000 (20:42 +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/draw.qc
qcsrc/client/hud/panel/strafehud/draw.qh
qcsrc/client/hud/panel/strafehud/extra.qc
qcsrc/client/hud/panel/strafehud/extra.qh
qcsrc/client/hud/panel/strafehud/util.qc
qcsrc/client/hud/panel/strafehud/util.qh

index 63cdef5778fa1ffa58aa144f23d38fd33de9cbcf..854197399617c39876eb5ed6e21bb8a0445fd8fa 100644 (file)
@@ -68,7 +68,7 @@ void HUD_StrafeHUD()
        if(csqcplayer && strafeplayer)
        {
                int keys = STAT(PRESSED_KEYS);
-               bool jumpheld = DetectJumpHeld(strafeplayer, keys, islocal);
+               bool jumpheld = StrafeHUD_DetermineJumpHeld(strafeplayer, keys, islocal);
 
                // does not get changed by ground timeout and is not affected by jump input
                bool real_onground = islocal ? IS_ONGROUND(strafeplayer) : !(strafeplayer.anim_implicit_state & ANIMIMPLICITSTATE_INAIR);
@@ -81,7 +81,7 @@ void HUD_StrafeHUD()
                bool onslick = real_onslick;
 
                // the hud will not work well while swimming
-               float strafe_waterlevel = DetectWaterLevel(strafeplayer);
+               float strafe_waterlevel = StrafeHUD_DetermineWaterLevel(strafeplayer);
                bool swimming = strafe_waterlevel >= WATERLEVEL_SWIMMING;
 
                static float onground_lasttime = 0;
@@ -161,7 +161,7 @@ void HUD_StrafeHUD()
                                keys_fwd = STRAFEHUD_KEYS_NONE;
                }
 
-               float wishangle = DetectWishAngle(movement, keys, islocal);
+               float wishangle = StrafeHUD_DetermineWishAngle(movement, keys, islocal);
                bool strafekeys = fabs(wishangle) > 45;
 
                // determine minimum required angle to display full strafe range
@@ -170,7 +170,7 @@ void HUD_StrafeHUD()
                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(range_minangle);
 
                // detect air strafe turning
                static bool turn = false;
@@ -214,7 +214,7 @@ void HUD_StrafeHUD()
                        }
                }
 
-               float dt = DetectFrameTime();
+               float dt = StrafeHUD_DetermineFrameTime();
 
                maxaccel *= dt * movespeed;
                float bestspeed = max(movespeed - maxaccel, 0); // target speed to gain maximum acceleration
@@ -345,7 +345,7 @@ void HUD_StrafeHUD()
                float absolute_prebestangle = prebestangle;
 
                float antiflicker_angle = bound(0, autocvar_hud_panel_strafehud_antiflicker_angle, 180);
-               float direction = StrafeHUD_determineDirection(angle, wishangle, antiflicker_angle);
+               float direction = StrafeHUD_DetermineDirection(angle, wishangle, antiflicker_angle);
 
                if(direction == STRAFEHUD_DIRECTION_LEFT) // the angle becomes negative in case we strafe left
                {
@@ -423,7 +423,7 @@ void HUD_StrafeHUD()
                        }
 
                        if(autocvar_hud_panel_strafehud_style == STRAFEHUD_STYLE_GRADIENT)
-                               currentangle_color = StrafeHUD_mixColors(
+                               currentangle_color = StrafeHUD_MixColors(
                                        autocvar_hud_panel_strafehud_angle_neutral_color,
                                        currentangle_color, fabs(strafe_ratio));
                }
@@ -468,10 +468,10 @@ void HUD_StrafeHUD()
                {
                        bool angle_indicator_visible = false;
 
-               // minimum speed for change indicators
-               float minspeed = autocvar_hud_panel_strafehud_switch_minspeed;
-               if(minspeed < 0)
-                       minspeed = bestspeed + frictionspeed;
+                       // minimum speed for change indicators
+                       float minspeed = autocvar_hud_panel_strafehud_switch_minspeed;
+                       if(minspeed < 0)
+                               minspeed = bestspeed + frictionspeed;
 
                        // only draw change indicators if minspeed is reached
                        if(autocvar_hud_panel_strafehud_switch && speed >= minspeed)
@@ -550,12 +550,12 @@ void HUD_StrafeHUD()
                        }
                }
 
-               text_offset_bottom += StrafeHUD_drawVerticalAngle(text_offset_bottom);
+               text_offset_bottom += StrafeHUD_DrawVerticalAngle(text_offset_bottom);
 
                draw_beginBoldFont();
-               text_offset_bottom += StrafeHUD_drawStartSpeed(speed, text_offset_bottom);
-               text_offset_top += StrafeHUD_drawStrafeEfficiency(strafe_ratio, text_offset_top);
-               text_offset_top += StrafeHUD_drawJumpHeight(strafeplayer, real_onground, swimming, text_offset_top);
+               text_offset_bottom += StrafeHUD_DrawStartSpeed(speed, text_offset_bottom);
+               text_offset_top += StrafeHUD_DrawStrafeEfficiency(strafe_ratio, text_offset_top);
+               text_offset_top += StrafeHUD_DrawJumpHeight(strafeplayer, real_onground, swimming, text_offset_top);
                draw_endBoldFont();
 
                StrafeHUD_Sonar(strafe_ratio, StrafeHUD_UpdateSonarSound());
index 3f54129f12e1fb18ea7d08216f18cc77312a2be3..7f4137233760fd1c578c1d666f3fd8cd85091d55 100644 (file)
@@ -83,7 +83,7 @@ void StrafeHUD_DrawStrafeMeter(
                overturn_startangle += shiftangle;
 
                // draw left acceleration zone
-               StrafeHUD_drawStrafeHUD(
+               StrafeHUD_DrawStrafeHUD(
                        accelzone_left_startangle, accelzone_offsetangle,
                        autocvar_hud_panel_strafehud_bar_accel_color,
                        autocvar_hud_panel_strafehud_bar_accel_alpha * panel_fg_alpha,
@@ -91,7 +91,7 @@ void StrafeHUD_DrawStrafeMeter(
                        true, hudangle);
 
                if(autocvar_hud_panel_strafehud_bar_preaccel)
-                       StrafeHUD_drawStrafeHUD(
+                       StrafeHUD_DrawStrafeHUD(
                                preaccelzone_left_startangle, preaccelzone_offsetangle,
                                autocvar_hud_panel_strafehud_bar_accel_color,
                                autocvar_hud_panel_strafehud_bar_accel_alpha * panel_fg_alpha,
@@ -99,7 +99,7 @@ void StrafeHUD_DrawStrafeMeter(
                                true, hudangle);
 
                // draw right acceleration zone
-               StrafeHUD_drawStrafeHUD(
+               StrafeHUD_DrawStrafeHUD(
                        accelzone_right_startangle, accelzone_offsetangle,
                        autocvar_hud_panel_strafehud_bar_accel_color,
                        autocvar_hud_panel_strafehud_bar_accel_alpha * panel_fg_alpha,
@@ -107,7 +107,7 @@ void StrafeHUD_DrawStrafeMeter(
                        true, hudangle);
 
                if(autocvar_hud_panel_strafehud_bar_preaccel)
-                       StrafeHUD_drawStrafeHUD(
+                       StrafeHUD_DrawStrafeHUD(
                                preaccelzone_right_startangle, preaccelzone_offsetangle,
                                autocvar_hud_panel_strafehud_bar_accel_color,
                                autocvar_hud_panel_strafehud_bar_accel_alpha * panel_fg_alpha,
@@ -118,7 +118,7 @@ void StrafeHUD_DrawStrafeMeter(
                //   this is technically incorrect
                //   acceleration decreases at 90 degrees but speed loss happens a little bit after 90 degrees,
                //   however due to sv_airstopaccelerate that's hard to calculate
-               StrafeHUD_drawStrafeHUD(
+               StrafeHUD_DrawStrafeHUD(
                        overturn_startangle, overturn_offsetangle,
                        autocvar_hud_panel_strafehud_bar_overturn_color,
                        autocvar_hud_panel_strafehud_bar_overturn_alpha * panel_fg_alpha,
@@ -126,7 +126,7 @@ void StrafeHUD_DrawStrafeMeter(
                        true, hudangle);
 
                // draw neutral zone
-               StrafeHUD_drawStrafeHUD(
+               StrafeHUD_DrawStrafeHUD(
                        neutral_startangle, neutral_offsetangle,
                        autocvar_hud_panel_strafehud_bar_neutral_color,
                        autocvar_hud_panel_strafehud_bar_neutral_alpha * panel_fg_alpha,
@@ -145,8 +145,8 @@ void StrafeHUD_DrawAngleIndicator(
        // bound to HUD area
        angle = bound(-hudangle / 2, angle, hudangle / 2);
 
-       float offset = StrafeHUD_angleToOffset(angle, hudangle);
-       offset = StrafeHUD_projectOffset(offset, hudangle, false);
+       float offset = StrafeHUD_AngleToOffset(angle, hudangle);
+       offset = StrafeHUD_ProjectOffset(offset, hudangle, false);
 
        StrafeHUD_DrawAngleIndicatorLine(line_size, offset, num_dashes, color, alpha);
 
@@ -184,13 +184,13 @@ void StrafeHUD_DrawAngleIndicatorArrow(float size, float offset, vector line_siz
 
        if(top)
        {
-               StrafeHUD_drawStrafeArrow(
+               StrafeHUD_DrawStrafeArrow(
                        panel_pos + eY * ((panel_size.y - line_size.y) / 2) + eX * offset,
                        size, color, alpha * panel_fg_alpha, true, line_size.x);
        }
        else
        {
-               StrafeHUD_drawStrafeArrow(
+               StrafeHUD_DrawStrafeArrow(
                        panel_pos + eY * ((panel_size.y - line_size.y) / 2 + line_size.y) + eX * offset,
                        size, color, alpha * panel_fg_alpha, false, line_size.x);
        }
index 944ed426d7697849add74ebb14f0af42fe4d8089..272b088400a7877b347d3ee6eb08f73a7f6b7ce2 100644 (file)
@@ -1,8 +1,8 @@
 #pragma once
 #include "../strafehud.qh"
 
+void StrafeHUD_DrawStrafeMeter(float, float, float, float, bool, float);
 void StrafeHUD_DrawAngleIndicator(float, vector, float, int, bool, bool, vector, float, float);
 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, bool, float);
index 6c6793548546026550065191989786c6447483b2..9f94a1bc0fe7f9eba90be8c3d21bc1b86571d789 100644 (file)
@@ -3,10 +3,10 @@
 #include <client/draw.qh>
 
 // functions to make hud elements align perfectly in the hud area
-void StrafeHUD_drawStrafeHUD(float startangle, float offsetangle, vector color, float alpha, int type, int gradientType, bool projectWidth, float range)
+void StrafeHUD_DrawStrafeHUD(float startangle, float offsetangle, vector color, float alpha, int type, int gradientType, bool projectWidth, float range)
 {
-       float offset = StrafeHUD_angleToOffset(startangle % 360, range);
-       float width = StrafeHUD_angleToWidth(offsetangle, range);
+       float offset = StrafeHUD_AngleToOffset(startangle % 360, range);
+       float width = StrafeHUD_AngleToWidth(offsetangle, range);
        float mirror_offset;
        float mirror_width;
 
@@ -51,9 +51,9 @@ void StrafeHUD_drawStrafeHUD(float startangle, float offsetangle, vector color,
 
        float original_offset = offset;
        if(projectWidth && size.x > 0)
-               size.x = StrafeHUD_projectWidth(offset, size.x, range);
+               size.x = StrafeHUD_ProjectWidth(offset, size.x, range);
 
-       offset = StrafeHUD_projectOffset(offset, range, false);
+       offset = StrafeHUD_ProjectOffset(offset, range, false);
 
        if(mirror_offset < 0)
        {
@@ -73,9 +73,9 @@ void StrafeHUD_drawStrafeHUD(float startangle, float offsetangle, vector color,
 
        float original_mirror_offset = mirror_offset;
        if(projectWidth && mirror_size.x > 0)
-               mirror_size.x = StrafeHUD_projectWidth(mirror_offset, mirror_size.x, range);
+               mirror_size.x = StrafeHUD_ProjectWidth(mirror_offset, mirror_size.x, range);
 
-       mirror_offset = StrafeHUD_projectOffset(mirror_offset, range, false);
+       mirror_offset = StrafeHUD_ProjectOffset(mirror_offset, range, false);
 
        switch(type)
        {
@@ -129,31 +129,20 @@ void StrafeHUD_drawStrafeHUD(float startangle, float offsetangle, vector color,
                                        gradient_mirror_offset = 0;
                        }
 
-                       StrafeHUD_drawGradient(
+                       StrafeHUD_DrawGradient(
                                color, autocvar_hud_panel_strafehud_bar_neutral_color,
                                mirror_size, original_width, mirror_offset, original_mirror_offset,
                                alpha, gradient_mirror_offset, gradientType, range);
 
-                       StrafeHUD_drawGradient(
+                       StrafeHUD_DrawGradient(
                                color, autocvar_hud_panel_strafehud_bar_neutral_color,
                                size, original_width, offset, original_offset,
                                alpha, gradient_offset, gradientType, range);
        }
 }
 
-vector StrafeHUD_mixColors(vector color1, vector color2, float ratio)
-{
-       vector mixedColor;
-       if(ratio <= 0) return color1;
-       if(ratio >= 1) return color2;
-       mixedColor.x = color1.x + (color2.x - color1.x) * ratio;
-       mixedColor.y = color1.y + (color2.y - color1.y) * ratio;
-       mixedColor.z = color1.z + (color2.z - color1.z) * ratio;
-       return mixedColor;
-}
-
 // FIXME: this is very bad for performance, there should be a better way to draw gradients
-void StrafeHUD_drawGradient(vector color1, vector color2, vector size, float original_width, float offset, float original_offset, float alpha, float gradientOffset, int gradientType, float range)
+void StrafeHUD_DrawGradient(vector color1, vector color2, vector size, float original_width, float offset, float original_offset, float alpha, float gradientOffset, int gradientType, float range)
 {
        float color_ratio, alpha1, alpha2;
        vector segment_size = size;
@@ -167,7 +156,7 @@ void StrafeHUD_drawGradient(vector color1, vector color2, vector size, float ori
                segment_size.x = min(size.x - i, 1); // each gradient segment is 1 unit wide except if there is less than 1 unit of gradient remaining
                segment_offset = offset + i;
                ratio_offset = segment_offset + segment_size.x / 2;
-               ratio_offset = StrafeHUD_projectOffset(ratio_offset, range, true);
+               ratio_offset = StrafeHUD_ProjectOffset(ratio_offset, range, true);
                ratio_offset += gradientOffset;
                ratio = (ratio_offset - original_offset) / original_width * (gradientType == STRAFEHUD_GRADIENT_BOTH ? 2 : 1);
                if(ratio > 1) ratio = 2 - ratio;
@@ -181,14 +170,14 @@ void StrafeHUD_drawGradient(vector color1, vector color2, vector size, float ori
                        drawfill(
                                panel_pos + eX * segment_offset,
                                segment_size,
-                               StrafeHUD_mixColors(color1, color2, ratio),
+                               StrafeHUD_MixColors(color1, color2, ratio),
                                alpha_ratio,
                                DRAWFLAG_NORMAL);
        }
 }
 
 // draw the strafe arrows (inspired by drawspritearrow() in common/mutators/mutator/waypoints/waypointsprites.qc)
-void StrafeHUD_drawStrafeArrow(vector origin, float size, vector color, float alpha, bool flipped, float connection_width)
+void StrafeHUD_DrawStrafeArrow(vector origin, float size, vector color, float alpha, bool flipped, float connection_width)
 {
        origin = HUD_Shift(origin);
        float width = HUD_ScaleX(size * 2 + connection_width);
@@ -210,7 +199,7 @@ void StrafeHUD_drawStrafeArrow(vector origin, float size, vector color, float al
 }
 
 // draw a fading text indicator above or below the strafe meter, return true if something was displayed
-bool StrafeHUD_drawTextIndicator(string text, float height, vector color, float fadetime, float lasttime, float offset, int position)
+bool StrafeHUD_DrawTextIndicator(string text, float height, vector color, float fadetime, float lasttime, float offset, int position)
 {
        if((height <= 0) || (lasttime <= 0) || (fadetime <= 0) || ((time - lasttime) >= fadetime))
                return false;
index 3c7d5b973619e5baac77e94628f307620275620b..1f366a20f16795377525d96e7226e585bd6625da 100644 (file)
@@ -1,8 +1,7 @@
 #pragma once
 #include "../strafehud.qh"
 
-void StrafeHUD_drawStrafeHUD(float, float, vector, float, int, int, bool, float);
-void StrafeHUD_drawGradient(vector, vector, vector, float, float, float, float, float, int, float);
-void StrafeHUD_drawStrafeArrow(vector, float, vector, float, bool, float);
-bool StrafeHUD_drawTextIndicator(string, float, vector, float, float, float, int);
-vector StrafeHUD_mixColors(vector, vector, float);
+void StrafeHUD_DrawStrafeHUD(float, float, vector, float, int, int, bool, float);
+void StrafeHUD_DrawGradient(vector, vector, vector, float, float, float, float, float, int, float);
+void StrafeHUD_DrawStrafeArrow(vector, float, vector, float, bool, float);
+bool StrafeHUD_DrawTextIndicator(string, float, vector, float, float, float, int);
index 2a52e56a0bc6a03ab985cb97ea6f7ab888b810cc..3ac37027b2e390e81a7dfdddeba9600e89bdc849 100644 (file)
@@ -81,7 +81,7 @@ float StrafeHUD_DrawSlickDetector(entity e, bool onslick)
 }
 
 // vertical angle for weapon jumps
-float StrafeHUD_drawVerticalAngle(float text_offset_bottom)
+float StrafeHUD_DrawVerticalAngle(float text_offset_bottom)
 {
        if(autocvar_hud_panel_strafehud_vangle)
        {
@@ -89,7 +89,7 @@ float StrafeHUD_drawVerticalAngle(float text_offset_bottom)
                float vangle_height = autocvar_hud_panel_strafehud_vangle_size * panel_size.y;
                string vangle_text = strcat(ftos_decimals(vangle, 2), "°");
 
-               bool was_drawn = StrafeHUD_drawTextIndicator(
+               bool was_drawn = StrafeHUD_DrawTextIndicator(
                        vangle_text, vangle_height,
                        autocvar_hud_panel_strafehud_vangle_color, 1,
                        time, text_offset_bottom, STRAFEHUD_TEXT_BOTTOM);
@@ -162,9 +162,9 @@ string StrafeHUD_UpdateSonarSound()
 // show height achieved by a single jump
 // FIXME: checking z position differences is unreliable (warpzones, teleporter, kill, etc), use velocity to calculate jump height instead
 // FIXME: move capturing the jump height value out of the HUD
-float StrafeHUD_drawJumpHeight(entity e, bool onground, bool swimming, float text_offset_top)
+float StrafeHUD_DrawJumpHeight(entity e, bool onground, bool swimming, float text_offset_top)
 {
-       float length_conversion_factor = GetLengthUnitFactor(autocvar_hud_speed_unit);
+       float length_conversion_factor = StrafeHUD_GetLengthUnitFactor(autocvar_hud_speed_unit);
        static float height_min = 0, height_max = 0; // ground and peak of jump z coordinates
        static float jumpheight = 0, jumptime = 0;   // displayed value and timestamp for fade out
 
@@ -193,9 +193,9 @@ float StrafeHUD_drawJumpHeight(entity e, bool onground, bool swimming, float tex
                float jumpheight_height = autocvar_hud_panel_strafehud_jumpheight_size * panel_size.y;
                string jumpheight_text = ftos_decimals(jumpheight * length_conversion_factor, length_decimals);
                if(autocvar_hud_panel_strafehud_unit_show)
-                       jumpheight_text = strcat(jumpheight_text, GetLengthUnit(autocvar_hud_speed_unit));
+                       jumpheight_text = strcat(jumpheight_text, StrafeHUD_GetLengthUnit(autocvar_hud_speed_unit));
 
-               bool was_drawn = StrafeHUD_drawTextIndicator(
+               bool was_drawn = StrafeHUD_DrawTextIndicator(
                        jumpheight_text, jumpheight_height,
                        autocvar_hud_panel_strafehud_jumpheight_color,
                        autocvar_hud_panel_strafehud_jumpheight_fade,
@@ -209,7 +209,7 @@ float StrafeHUD_drawJumpHeight(entity e, bool onground, bool swimming, float tex
 }
 
 // strafe efficiency
-float StrafeHUD_drawStrafeEfficiency(float strafe_ratio, float text_offset_top)
+float StrafeHUD_DrawStrafeEfficiency(float strafe_ratio, float text_offset_top)
 {
        {
                if(autocvar_hud_panel_strafehud_strafeefficiency)
@@ -218,7 +218,7 @@ float StrafeHUD_drawStrafeEfficiency(float strafe_ratio, float text_offset_top)
                        string strafeeff_text = strcat(ftos_decimals(strafe_ratio * 100, 2), "%");
                        vector strafeeff_color = '1 1 1' - (strafe_ratio > 0 ? '1 0 1' : '0 1 1') * fabs(strafe_ratio);
 
-                       bool was_drawn = StrafeHUD_drawTextIndicator(
+                       bool was_drawn = StrafeHUD_DrawTextIndicator(
                                strafeeff_text, strafeeff_height,
                                strafeeff_color, 1,
                                time, text_offset_top, STRAFEHUD_TEXT_TOP);
@@ -233,7 +233,7 @@ float StrafeHUD_drawStrafeEfficiency(float strafe_ratio, float text_offset_top)
 
 // show speed when crossing the start trigger
 // FIXME: move capturing the race start speed value out of the HUD
-float StrafeHUD_drawStartSpeed(float speed, float text_offset_bottom)
+float StrafeHUD_DrawStartSpeed(float speed, float text_offset_bottom)
 {
        static float startspeed = 0, starttime = 0; // displayed value and timestamp for fade out
 
@@ -255,7 +255,7 @@ float StrafeHUD_drawStartSpeed(float speed, float text_offset_bottom)
                if(autocvar_hud_panel_strafehud_unit_show)
                        startspeed_text = strcat(startspeed_text, GetSpeedUnit(autocvar_hud_speed_unit));
 
-               bool was_drawn = StrafeHUD_drawTextIndicator(
+               bool was_drawn = StrafeHUD_DrawTextIndicator(
                        startspeed_text, startspeed_height,
                        autocvar_hud_panel_strafehud_startspeed_color,
                        autocvar_hud_panel_strafehud_startspeed_fade,
index 6129f235f413cbecc8d5a6c738e62b031e6da74a..eab553e78fb0ff511e9c6551a5bcd722fb664f82 100644 (file)
@@ -1,10 +1,10 @@
 #pragma once
 #include "../strafehud.qh"
 
-float StrafeHUD_drawJumpHeight(entity, bool, bool, float);
-float StrafeHUD_drawStrafeEfficiency(float, float);
-float StrafeHUD_drawStartSpeed(float, float);
-float StrafeHUD_drawVerticalAngle(float);
+float StrafeHUD_DrawSlickDetector(entity, bool);
+float StrafeHUD_DrawVerticalAngle(float);
 void StrafeHUD_Sonar(float, string);
 string StrafeHUD_UpdateSonarSound();
-float StrafeHUD_DrawSlickDetector(entity, bool);
+float StrafeHUD_DrawJumpHeight(entity, bool, bool, float);
+float StrafeHUD_DrawStrafeEfficiency(float, float);
+float StrafeHUD_DrawStartSpeed(float, float);
index 51dc60b8ff1d0afd4d2c44f2d4073eb1258b4fe4..02adbdbc2dceae8b18b065fd0449097511348788 100644 (file)
@@ -4,17 +4,17 @@
 #include <common/physics/player.qh>
 #include <common/physics/movetypes/movetypes.qh>
 
-float StrafeHUD_angleToWidth(float angle, float range)
+float StrafeHUD_AngleToWidth(float angle, float range)
 {
        return angle / range * panel_size.x;
 }
 
-float StrafeHUD_angleToOffset(float angle, float range)
+float StrafeHUD_AngleToOffset(float angle, float range)
 {
-       return StrafeHUD_angleToWidth(angle, range) + panel_size.x / 2;
+       return StrafeHUD_AngleToWidth(angle, range) + panel_size.x / 2;
 }
 
-float StrafeHUD_project(float ratio, float range, bool reverse)
+float StrafeHUD_Project(float ratio, float range, bool reverse)
 {
        range *= DEG2RAD / 2;
        switch(autocvar_hud_panel_strafehud_projection)
@@ -50,27 +50,27 @@ float StrafeHUD_project(float ratio, float range, bool reverse)
        return ratio;
 }
 
-float StrafeHUD_projectOffset(float offset, float range, bool reverse)
+float StrafeHUD_ProjectOffset(float offset, float range, bool reverse)
 {
        if(autocvar_hud_panel_strafehud_projection == STRAFEHUD_PROJECTION_LINEAR)
                return offset;
 
        float ratio = (offset - (panel_size.x / 2)) / (panel_size.x / 2);
-       ratio = StrafeHUD_project(ratio, range, reverse);
+       ratio = StrafeHUD_Project(ratio, range, reverse);
        offset = ratio * (panel_size.x / 2) + (panel_size.x / 2);
        return offset;
 }
 
-float StrafeHUD_projectWidth(float offset, float width, float range)
+float StrafeHUD_ProjectWidth(float offset, float width, float range)
 {
        if(autocvar_hud_panel_strafehud_projection == STRAFEHUD_PROJECTION_LINEAR)
                return width;
 
-       return StrafeHUD_projectOffset(offset + width, range, false) - StrafeHUD_projectOffset(offset, range, false);
+       return StrafeHUD_ProjectOffset(offset + width, range, false) - StrafeHUD_ProjectOffset(offset, range, false);
 }
 
 // length unit conversion (km and miles are only included to match the GetSpeedUnit* functions)
-float GetLengthUnitFactor(int length_unit)
+float StrafeHUD_GetLengthUnitFactor(int length_unit)
 {
        switch(length_unit)
        {
@@ -83,7 +83,7 @@ float GetLengthUnitFactor(int length_unit)
        }
 }
 
-string GetLengthUnit(int length_unit)
+string StrafeHUD_GetLengthUnit(int length_unit)
 {
        switch(length_unit)
        {
@@ -98,7 +98,7 @@ string GetLengthUnit(int length_unit)
 }
 
 // check the player waterlevel without affecting the player entity, this way we can fetch waterlevel even if client prediction is disabled
-float DetectWaterLevel(entity e)
+float StrafeHUD_DetermineWaterLevel(entity e)
 {
        // store old values
        void old_contentstransition(int, int) = e.contentstransition;
@@ -118,7 +118,7 @@ float DetectWaterLevel(entity e)
 }
 
 // determine frametime
-float DetectFrameTime()
+float StrafeHUD_DetermineFrameTime()
 {
        static float dt_update = 0;
        static int dt_time = 0;
@@ -152,7 +152,7 @@ float DetectFrameTime()
 }
 
 // determine player wishdir
-float DetectWishAngle(vector movement, int keys, bool islocal)
+float StrafeHUD_DetermineWishAngle(vector movement, int keys, bool islocal)
 {
        float wishangle;
        if(islocal) // if entity is local player
@@ -203,7 +203,7 @@ float DetectWishAngle(vector movement, int keys, bool islocal)
        return wishangle;
 }
 
-float StrafeHUD_determineHudAngle(float range_minangle)
+float StrafeHUD_DetermineHudAngle(float range_minangle)
 {
        float hudangle;
        if(isnan(autocvar_hud_panel_strafehud_range))
@@ -244,7 +244,7 @@ float StrafeHUD_determineHudAngle(float range_minangle)
 }
 
 // determine whether the player is strafing left or right
-float StrafeHUD_determineDirection(float angle, float wishangle, float antiflicker_angle)
+float StrafeHUD_DetermineDirection(float angle, float wishangle, float antiflicker_angle)
 {
        if(wishangle > 0)
        {
@@ -266,7 +266,7 @@ float StrafeHUD_determineDirection(float angle, float wishangle, float antiflick
 }
 
 // try to ignore if track_canjump is enabled, does not work in spectator mode if spectated player uses +jetpack or cl_movement_track_canjump
-bool DetectJumpHeld(entity e, int keys, bool islocal)
+bool StrafeHUD_DetermineJumpHeld(entity e, int keys, bool islocal)
 {
        if(islocal)
        {
@@ -281,3 +281,14 @@ bool DetectJumpHeld(entity e, int keys, bool islocal)
 
        return false;
 }
+
+vector StrafeHUD_MixColors(vector color1, vector color2, float ratio)
+{
+       vector mixedColor;
+       if(ratio <= 0) return color1;
+       if(ratio >= 1) return color2;
+       mixedColor.x = color1.x + (color2.x - color1.x) * ratio;
+       mixedColor.y = color1.y + (color2.y - color1.y) * ratio;
+       mixedColor.z = color1.z + (color2.z - color1.z) * ratio;
+       return mixedColor;
+}
index ebe5b1ee572ca7c534f6d365ce2edd8a61cb53ce..b8963bebd5c160dc1b71284442a449c404a22325 100644 (file)
@@ -1,16 +1,17 @@
 #pragma once
 #include "../strafehud.qh"
 
-float GetLengthUnitFactor(int);
-string GetLengthUnit(int);
-float StrafeHUD_project(float, float, bool);
-float StrafeHUD_projectOffset(float, float, bool);
-float StrafeHUD_projectWidth(float, float, float);
-float StrafeHUD_angleToWidth(float, float);
-float StrafeHUD_angleToOffset(float, float);
-float DetectWaterLevel(entity);
-float DetectFrameTime();
-float DetectWishAngle(vector, int, bool);
-float StrafeHUD_determineHudAngle(float);
-float StrafeHUD_determineDirection(float, float, float);
-bool DetectJumpHeld(entity, int, bool);
+float StrafeHUD_AngleToWidth(float, float);
+float StrafeHUD_AngleToOffset(float, float);
+float StrafeHUD_Project(float, float, bool);
+float StrafeHUD_ProjectOffset(float, float, bool);
+float StrafeHUD_ProjectWidth(float, float, float);
+float StrafeHUD_GetLengthUnitFactor(int);
+string StrafeHUD_GetLengthUnit(int);
+float StrafeHUD_DetermineWaterLevel(entity);
+float StrafeHUD_DetermineFrameTime();
+float StrafeHUD_DetermineWishAngle(vector, int, bool);
+float StrafeHUD_DetermineHudAngle(float);
+float StrafeHUD_DetermineDirection(float, float, float);
+bool StrafeHUD_DetermineJumpHeld(entity, int, bool);
+vector StrafeHUD_MixColors(vector, vector, float);