]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/commitdiff
added an option to put the hud angle in the middle during hud configure
authorJuhu <5894800-Juhu_@users.noreply.gitlab.com>
Tue, 5 May 2020 10:03:29 +0000 (12:03 +0200)
committerJuhu <5894800-Juhu_@users.noreply.gitlab.com>
Tue, 5 May 2020 10:03:29 +0000 (12:03 +0200)
_hud_common.cfg
qcsrc/client/autocvars.qh
qcsrc/client/hud/panel/strafehud.qc
qcsrc/menu/xonotic/dialog_hudpanel_strafehud.qc

index a3273761b15a83f7aeefa9babf8bb53dc090c0f5..a31bebd81ba080718913ab999b9c5018441c84aa 100644 (file)
@@ -123,6 +123,7 @@ seta hud_panel_scoreboard_accuracy_showdelay_minpos 0.75 "delay displaying the a
 seta hud_panel_scoreboard_team_size_position 0 "where to show the team size (0 = do not show, 1 = left of scoreboard, 2 = right of scoreboard), will move team scores to the other side if necessary"
 
 seta _hud_panel_strafehud_demo "0" "HUD changes angle during configure"
+seta _hud_panel_strafehud_center "0" "puts the angle indicator in the center during HUD configure"
 seta hud_panel_strafehud_bar_alpha ".2" "opacity of the strafe meter"
 seta hud_panel_strafehud_bar_color "1 1 1" "color of the strafe meter"
 seta hud_panel_strafehud_indicator_color "0 1 0" "color of the strafe angle indicator"
index 706cd3305081bdfc1a33710b2d054f0f1553e643..49f519f94b388e6f3f4663c3a21c32e696c9652c 100644 (file)
@@ -322,6 +322,7 @@ bool autocvar_hud_panel_score;
 bool autocvar_hud_panel_score_rankings;
 bool autocvar_hud_panel_strafehud;
 bool autocvar__hud_panel_strafehud_demo;
+bool autocvar__hud_panel_strafehud_center;
 float autocvar_hud_panel_strafehud_bar_alpha;
 vector autocvar_hud_panel_strafehud_bar_color;
 vector autocvar_hud_panel_strafehud_indicator_color;
index 0ad0c29a2911ec125204697a413b048b9ef11f5a..3f553c3515ac3a47bced92d8b7b1325b9b54e7bf 100644 (file)
@@ -300,17 +300,26 @@ void HUD_StrafeHUD()
         }
         else // simulate turning for HUD setup
         {
-            if(autocvar__hud_panel_strafehud_demo && ((time - strafehud_demo_time) >= .025))
+            if(autocvar__hud_panel_strafehud_center)
             {
-                strafehud_demo_time = time;
-                strafehud_demo_angle += 1 * strafehud_demo_direction;
-                if(fabs(strafehud_demo_angle) >= 55)
+                strafehud_angle = strafehud_demo_angle = 0;
+                strafehud_demo_time = 0;
+                strafehud_wishangle = 0;
+            }
+            else
+            {
+                if(autocvar__hud_panel_strafehud_demo && ((time - strafehud_demo_time) >= .025))
                 {
-                    strafehud_demo_direction = -strafehud_demo_direction;
+                    strafehud_demo_time = time;
+                    strafehud_demo_angle += strafehud_demo_direction;
+                    if(fabs(strafehud_demo_angle) >= 55)
+                    {
+                        strafehud_demo_direction = -strafehud_demo_direction;
+                    }
                 }
+                strafehud_angle = strafehud_demo_angle;
+                strafehud_wishangle = 45 * (strafehud_demo_angle > 0 ? 1 : -1);
             }
-            strafehud_angle = strafehud_demo_angle;
-            strafehud_wishangle = 45 * (strafehud_demo_angle > 0 ? 1 : -1);
         }
 
         if (autocvar_v_flipped)
index 3c8ec9ab4e1ff63aac1791df0353cc37a278e16d..cc68fade3a768e74ac4dc68a7790dc9cc125deb5 100644 (file)
@@ -35,10 +35,18 @@ void XonoticHUDStrafeHUDDialog_fill(entity me)
 
     me.TR(me);
         me.TD(me, 1, 1.2, e = makeXonoticCheckBoxString("1", "0", "_hud_panel_strafehud_demo", _("Demo mode")));
-        me.TDempty(me, 0.4);
+            setDependentStringNotEqual(e, "_hud_panel_strafehud_center", "1");
 
+        me.TDempty(me, 0.4);
         me.TD(me, 1, 0.6, e = makeXonoticTextLabel(0, _("Range:")));
         me.TD(me, 1, 1.8, e = makeXonoticSlider(0, 360, 5, "hud_panel_strafehud_angle"));
+    me.TR(me);
+        me.TD(me, 1, 1.2, e = makeXonoticCheckBoxString("1", "0", "_hud_panel_strafehud_center", _("Center angle")));
+
+        me.TDempty(me, 0.9);
+        me.TD(me, 1, 1.9, e = makeXonoticButton(_("Reset colors"), '0 0 0'));
+            e.onClick = StrafeHUD_ColorReset;
+            e.onClickEntity = me;
     me.TR(me);
         me.TD(me, 1, 2, e = makeXonoticTextLabel(0, _("Strafe bar:")));
 
@@ -77,17 +85,12 @@ void XonoticHUDStrafeHUDDialog_fill(entity me)
         me.TD(me, 1, 0.9, e = makeXonoticTextLabel(0, _("Active:")));
         me.TDempty(me, 0.1);
         me.TD(me, 1, 0.9, e = makeXonoticTextLabel(0, _("Inactive:")));
-
-        me.TDempty(me, 0.1);
-        me.TD(me, 2, 1.9, e = makeXonoticColorpickerString("hud_panel_strafehud_direction_color", "hud_panel_strafehud_direction_color"));
     me.TR(me);
         me.TDempty(me, 0.1);
         me.TD(me, 2, 0.9, e = makeXonoticColorpickerString("hud_panel_strafehud_indicator_color", "hud_panel_strafehud_indicator_color"));
         me.TDempty(me, 0.1);
         me.TD(me, 2, 0.9, e = makeXonoticColorpickerString("hud_panel_strafehud_indicator_switch_color", "hud_panel_strafehud_indicator_switch_color"));
-    me.TR(me);
-        me.TDempty(me, 2.1);
-        me.TD(me, 1, 1.9, e = makeXonoticButton(_("Reset colors"), '0 0 0'));
-            e.onClick = StrafeHUD_ColorReset;
-            e.onClickEntity = me;
+
+        me.TDempty(me, 0.1);
+        me.TD(me, 2, 1.9, e = makeXonoticColorpickerString("hud_panel_strafehud_direction_color", "hud_panel_strafehud_direction_color"));
 }