From: Juhu <5894800-Juhu_@users.noreply.gitlab.com> Date: Wed, 1 Jul 2020 13:28:21 +0000 (+0200) Subject: strafehud: make both switch indicator alphas configurable X-Git-Tag: xonotic-v0.8.5~738^2~23 X-Git-Url: https://git.rm.cloudns.org/?a=commitdiff_plain;h=5f67558f7dc09ed8bf535ad0b97040892d876df7;p=xonotic%2Fxonotic-data.pk3dir.git strafehud: make both switch indicator alphas configurable --- diff --git a/_hud_common.cfg b/_hud_common.cfg index 2d0d2bade..b174a2924 100644 --- a/_hud_common.cfg +++ b/_hud_common.cfg @@ -142,8 +142,9 @@ seta hud_panel_strafehud_angle_accel_color "0 1 1" "color of the indicator showi seta hud_panel_strafehud_angle_overturn_color "1 0 1" "color of the indicator showing the player's current angle if the player's angle is within the overturn zone" seta hud_panel_strafehud_switch_minspeed "-1" "minimum speed in qu/s at which switch indicators which are used to aid changing strafe direction will be shown (uses physics maxspeed + antiflicker speed if negative)" seta hud_panel_strafehud_switch_active_color "0 1 0" "color of the switch indicator on the current side" +seta hud_panel_strafehud_switch_active_alpha "1" "opacity of the switch indicator on the current side" seta hud_panel_strafehud_switch_inactive_color "1 1 0" "color of the switch indicator on the opposite side" -seta hud_panel_strafehud_switch_alpha "1" "opacity of the switch indicators" +seta hud_panel_strafehud_switch_inactive_alpha "1" "opacity of the switch indicator on the opposite side" seta hud_panel_strafehud_switch_width "0.0075" "width of the strafe angle indicators (relative to the strafe bar width)" seta hud_panel_strafehud_direction_color "0 0.5 1" "color of the direction caps which indicate the direction the player is currently strafing towards" seta hud_panel_strafehud_direction_alpha "1" "opacity of the direction caps which indicate the direction the player is currently strafing towards" diff --git a/qcsrc/client/autocvars.qh b/qcsrc/client/autocvars.qh index 87c1aa210..63c224045 100644 --- a/qcsrc/client/autocvars.qh +++ b/qcsrc/client/autocvars.qh @@ -340,8 +340,9 @@ vector autocvar_hud_panel_strafehud_angle_accel_color = '0 1 1'; vector autocvar_hud_panel_strafehud_angle_overturn_color = '1 0 1'; float autocvar_hud_panel_strafehud_switch_minspeed = -1; vector autocvar_hud_panel_strafehud_switch_active_color = '0 1 0'; +float autocvar_hud_panel_strafehud_switch_active_alpha = 1; vector autocvar_hud_panel_strafehud_switch_inactive_color = '1 1 0'; -float autocvar_hud_panel_strafehud_switch_alpha = 1; +float autocvar_hud_panel_strafehud_switch_inactive_alpha = 1; float autocvar_hud_panel_strafehud_switch_width = 0.0075; vector autocvar_hud_panel_strafehud_direction_color = '0 0.5 1'; float autocvar_hud_panel_strafehud_direction_alpha = 1; diff --git a/qcsrc/client/hud/panel/strafehud.qc b/qcsrc/client/hud/panel/strafehud.qc index 08831681c..63e2bb959 100644 --- a/qcsrc/client/hud/panel/strafehud.qc +++ b/qcsrc/client/hud/panel/strafehud.qc @@ -567,14 +567,14 @@ void HUD_StrafeHUD() if(speed >= minspeed) // only draw indicators if minspeed is reached { // draw best angles for acceleration - vector switch_color; float offset = !odd_angles ? bestangle_offset : odd_bestangle_offset; float switch_offset = !odd_angles ? switch_bestangle_offset : switch_odd_bestangle_offset; - // both indicators are inactive if no direction can be determined - switch_color = direction != 0 ? autocvar_hud_panel_strafehud_switch_active_color : autocvar_hud_panel_strafehud_switch_inactive_color; - HUD_Panel_DrawStrafeHUD(switch_offset, bestangle_width, autocvar_hud_panel_strafehud_switch_inactive_color, autocvar_hud_panel_strafehud_switch_alpha * panel_fg_alpha, 0); - HUD_Panel_DrawStrafeHUD(offset, bestangle_width, switch_color, autocvar_hud_panel_strafehud_switch_alpha * panel_fg_alpha, 0); + vector switch_color = direction != 0 ? autocvar_hud_panel_strafehud_switch_active_color : autocvar_hud_panel_strafehud_switch_inactive_color; + float switch_alpha = direction != 0 ? autocvar_hud_panel_strafehud_switch_active_alpha : autocvar_hud_panel_strafehud_switch_inactive_alpha; + // draw the switch indicators + HUD_Panel_DrawStrafeHUD(switch_offset, bestangle_width, autocvar_hud_panel_strafehud_switch_inactive_color, autocvar_hud_panel_strafehud_switch_inactive_alpha * panel_fg_alpha, 0); + HUD_Panel_DrawStrafeHUD(offset, bestangle_width, switch_color, switch_alpha * panel_fg_alpha, 0); } } diff --git a/qcsrc/menu/xonotic/dialog_hudpanel_strafehud.qc b/qcsrc/menu/xonotic/dialog_hudpanel_strafehud.qc index d77e68246..3405a6c1f 100644 --- a/qcsrc/menu/xonotic/dialog_hudpanel_strafehud.qc +++ b/qcsrc/menu/xonotic/dialog_hudpanel_strafehud.qc @@ -134,7 +134,9 @@ void XonoticHUDStrafeHUDDialog_fill(entity me) me.TD(me, 2, 1.9, e = makeXonoticColorpickerString("hud_panel_strafehud_direction_color", "hud_panel_strafehud_direction_color")); me.TR(me); me.TR(me); - me.TD(me, 1, 1.9, e = makeXonoticSlider(0, 1, 0.1, "hud_panel_strafehud_switch_alpha")); + me.TD(me, 1, 0.9, e = makeXonoticSlider(0, 1, 0.1, "hud_panel_strafehud_switch_active_alpha")); + me.TDempty(me, 0.1); + me.TD(me, 1, 0.9, e = makeXonoticSlider(0, 1, 0.1, "hud_panel_strafehud_switch_inactive_alpha")); me.TDempty(me, 0.2);