]> git.rm.cloudns.org Git - xonotic/xonotic-data.pk3dir.git/commitdiff
add drawfill-only option to the strafehud to prevent weird progressbar styles
authorJuhu <5894800-Juhu_@users.noreply.gitlab.com>
Sat, 20 Jun 2020 16:32:00 +0000 (18:32 +0200)
committerJuhu <5894800-Juhu_@users.noreply.gitlab.com>
Sat, 20 Jun 2020 16:32:00 +0000 (18:32 +0200)
_hud_common.cfg
qcsrc/client/autocvars.qh
qcsrc/client/hud/panel/strafehud.qc

index bdde38f84b4bbb0abf8a96cf23ac4d88d6e554c9..c59fa7d7bf4eab5027c9ef216f2311121e5a58c5 100644 (file)
@@ -142,6 +142,7 @@ seta hud_panel_strafehud_timeout_ground "0.03333333" "time after landing before
 seta hud_panel_strafehud_timeout_strafe "0.1" "time after releasing the strafe keys before changing mode (prevents flickering when switching between left/right strafe turning)"
 seta hud_panel_strafehud_timeout_direction "0.5" "time it takes until direction changes (forward or backward strafe) are detected"
 seta hud_panel_strafehud_indicator_minspeed "-1" "speed at which strafehud indicators will be shown, uses maxspeed if negative"
+seta hud_panel_strafehud_unstyled "0" "don't apply any progressbar styles to the strafehud"
 
 // hud panel aliases
 alias quickmenu "cl_cmd hud quickmenu ${* ?}"
index 789030b03522b59e2bf4919a6fd4d21b08f38604..a9278854cec0ca7022aefea5c907ea0615d5f66b 100644 (file)
@@ -340,6 +340,7 @@ float autocvar_hud_panel_strafehud_timeout_ground = 0.03333333;
 float autocvar_hud_panel_strafehud_timeout_strafe = 0.1;
 float autocvar_hud_panel_strafehud_timeout_direction = 0.5;
 float autocvar_hud_panel_strafehud_indicator_minspeed = -1;
+bool autocvar_hud_panel_strafehud_unstyled = false;
 bool autocvar_hud_panel_timer;
 bool autocvar_hud_panel_timer_increment;
 float autocvar_hud_panel_update_interval;
index 39e97bdc71d0e3544e4900d690a2c31a63995111..e1e2c23c5e15ab2e176f7fe3c7f9a17212e14b10 100644 (file)
@@ -1,4 +1,3 @@
-// Name:   StrafeHUD
 // Author: Juhu
 
 #include "strafehud.qh"
@@ -470,7 +469,14 @@ void HUD_StrafeHUD()
             // add a background to the strafe-o-meter
             if(panel_size.x > 0 && panel_size.y > 0)
             {
-                HUD_Panel_DrawProgressBar(panel_pos, panel_size, "progressbar", 1, 0, 0, autocvar_hud_panel_strafehud_bar_color, autocvar_hud_panel_strafehud_bar_alpha * panel_fg_alpha, DRAWFLAG_NORMAL);
+                if(!autocvar_hud_panel_strafehud_unstyled)
+                {
+                    HUD_Panel_DrawProgressBar(panel_pos, panel_size, "progressbar", 1, 0, 0, autocvar_hud_panel_strafehud_bar_color, autocvar_hud_panel_strafehud_bar_alpha * panel_fg_alpha, DRAWFLAG_NORMAL);
+                }
+                else
+                {
+                    drawfill(panel_pos, panel_size, autocvar_hud_panel_strafehud_bar_color, autocvar_hud_panel_strafehud_bar_alpha * panel_fg_alpha, DRAWFLAG_NORMAL);
+                }
             }
         }
 
@@ -522,17 +528,34 @@ void HUD_StrafeHUD()
                     switch_bestangle_offset -= currentangle_offset;
                 }
 
-                // draw acceleration zone
-                HUD_Panel_DrawStrafeHUD_ProgressBar(accelzone_offset, accelzone_width, autocvar_hud_panel_strafehud_indicator_color, autocvar_hud_panel_strafehud_bar_alpha, hidden_size);
+                if(!autocvar_hud_panel_strafehud_unstyled)
+                {
+                    // draw acceleration zone
+                    HUD_Panel_DrawStrafeHUD_ProgressBar(accelzone_offset, accelzone_width, autocvar_hud_panel_strafehud_indicator_color, autocvar_hud_panel_strafehud_bar_alpha, hidden_size);
 
-                // draw odd acceleration zone
-                HUD_Panel_DrawStrafeHUD_ProgressBar(odd_accelzone_offset, odd_accelzone_width, autocvar_hud_panel_strafehud_indicator_color, autocvar_hud_panel_strafehud_bar_alpha, hidden_size);
+                    // draw odd acceleration zone
+                    HUD_Panel_DrawStrafeHUD_ProgressBar(odd_accelzone_offset, odd_accelzone_width, autocvar_hud_panel_strafehud_indicator_color, autocvar_hud_panel_strafehud_bar_alpha, hidden_size);
 
-                // draw overturn area
-                HUD_Panel_DrawStrafeHUD_ProgressBar(overturn_offset, overturn_width, autocvar_hud_panel_strafehud_alert_color, autocvar_hud_panel_strafehud_bar_alpha, hidden_size);
+                    // draw overturn area
+                    HUD_Panel_DrawStrafeHUD_ProgressBar(overturn_offset, overturn_width, autocvar_hud_panel_strafehud_alert_color, autocvar_hud_panel_strafehud_bar_alpha, hidden_size);
 
-                // draw the strafe bar background
-                HUD_Panel_DrawStrafeHUD_ProgressBar(bar_offset, bar_width, autocvar_hud_panel_strafehud_bar_color, autocvar_hud_panel_strafehud_bar_alpha, hidden_size);
+                    // draw the strafe bar background
+                    HUD_Panel_DrawStrafeHUD_ProgressBar(bar_offset, bar_width, autocvar_hud_panel_strafehud_bar_color, autocvar_hud_panel_strafehud_bar_alpha, hidden_size);
+                }
+                else
+                {
+                    // draw acceleration zone
+                    HUD_Panel_DrawStrafeHUD_drawfill(accelzone_offset, accelzone_width, autocvar_hud_panel_strafehud_indicator_color, autocvar_hud_panel_strafehud_bar_alpha, hidden_size);
+
+                    // draw odd acceleration zone
+                    HUD_Panel_DrawStrafeHUD_drawfill(odd_accelzone_offset, odd_accelzone_width, autocvar_hud_panel_strafehud_indicator_color, autocvar_hud_panel_strafehud_bar_alpha, hidden_size);
+
+                    // draw overturn area
+                    HUD_Panel_DrawStrafeHUD_drawfill(overturn_offset, overturn_width, autocvar_hud_panel_strafehud_alert_color, autocvar_hud_panel_strafehud_bar_alpha, hidden_size);
+
+                    // draw the strafe bar background
+                    HUD_Panel_DrawStrafeHUD_drawfill(bar_offset, bar_width, autocvar_hud_panel_strafehud_bar_color, autocvar_hud_panel_strafehud_bar_alpha, hidden_size);
+                }
 
                 // draw the direction indicator caps at the sides of the hud
                 // vertical line