#include "textlabel.qh"
#include "textslider.qh"
+void StrafeHUD_CenterPanel(entity btn, entity me)
+{
+ vector size = stov(str_cvar("hud_panel_strafehud_size"));
+ vector pos = stov(str_cvar("hud_panel_strafehud_pos"));
+ pos.x = 0.5 - size.x / 2;
+ cvar_set("hud_panel_strafehud_pos", strcat(ftos(pos.x), " ", ftos(pos.y)));
+}
+
void StrafeHUD_ColorReset(entity btn, entity me)
{
- cvar_set("hud_panel_strafehud_bar_color", cvar_defstring("hud_panel_strafehud_bar_color"));
- cvar_set("hud_panel_strafehud_good_color", cvar_defstring("hud_panel_strafehud_good_color"));
- cvar_set("hud_panel_strafehud_warning_color", cvar_defstring("hud_panel_strafehud_warning_color"));
- cvar_set("hud_panel_strafehud_alert_color", cvar_defstring("hud_panel_strafehud_alert_color"));
+ cvar_set("hud_panel_strafehud_bar_accel_color", cvar_defstring("hud_panel_strafehud_bar_accel_color"));
+ cvar_set("hud_panel_strafehud_bar_neutral_color", cvar_defstring("hud_panel_strafehud_bar_neutral_color"));
+ cvar_set("hud_panel_strafehud_bar_overturn_color", cvar_defstring("hud_panel_strafehud_bar_overturn_color"));
+ cvar_set("hud_panel_strafehud_angle_accel_color", cvar_defstring("hud_panel_strafehud_angle_accel_color"));
+ cvar_set("hud_panel_strafehud_angle_neutral_color", cvar_defstring("hud_panel_strafehud_angle_neutral_color"));
+ cvar_set("hud_panel_strafehud_angle_overturn_color", cvar_defstring("hud_panel_strafehud_angle_overturn_color"));
+ cvar_set("hud_panel_strafehud_switch_active_color", cvar_defstring("hud_panel_strafehud_switch_active_color"));
+ cvar_set("hud_panel_strafehud_switch_inactive_color", cvar_defstring("hud_panel_strafehud_switch_inactive_color"));
cvar_set("hud_panel_strafehud_direction_color", cvar_defstring("hud_panel_strafehud_direction_color"));
- cvar_set("hud_panel_strafehud_indicator_color", cvar_defstring("hud_panel_strafehud_indicator_color"));
- cvar_set("hud_panel_strafehud_indicator_switch_color", cvar_defstring("hud_panel_strafehud_indicator_switch_color"));
}
void XonoticHUDStrafeHUDDialog_fill(entity me)
me.TD(me, 1, 1.4, e = makeXonoticTextLabel(0, _("StrafeHUD mode:")));
me.TD(me, 1, 2.6, e = makeXonoticTextSlider("hud_panel_strafehud_mode"));
- e.addValue(e, _("View centered"), "0");
- e.addValue(e, _("Angle centered"), "1");
+ e.addValue(e, _("View angle centered"), "0");
+ e.addValue(e, _("Velocity angle centered"), "1");
+ e.configureXonoticTextSliderValues(e);
+ me.TR(me);
+ me.TD(me, 1, 1.4, e = makeXonoticTextLabel(0, _("StrafeHUD style:")));
+
+ me.TD(me, 1, 2.6, e = makeXonoticTextSlider("hud_panel_strafehud_style"));
+ e.addValue(e, _("no styling"), "0");
+ e.addValue(e, _("progress bar"), "1");
+ e.addValue(e, _("gradient"), "2");
e.configureXonoticTextSliderValues(e);
me.TR(me);
me.TD(me, 1, 1.2, e = makeXonoticCheckBoxString("1", "0", "_hud_panel_strafehud_demo", _("Demo mode")));
- 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.TD(me, 1, 1.8, e = makeXonoticSlider(0, 360, 5, "hud_panel_strafehud_range"));
me.TR(me);
- me.TD(me, 1, 1.2, e = makeXonoticCheckBoxString("1", "0", "_hud_panel_strafehud_center", _("Center angle")));
+ me.TD(me, 1, 1.9, e = makeXonoticButton(_("Center panel"), '0 0 0'));
+ e.onClick = StrafeHUD_CenterPanel;
+ e.onClickEntity = me;
- me.TDempty(me, 0.4);
- me.TD(me, 1, 2.4, e = makeXonoticButton(_("Reset colors"), '0 0 0'));
+ me.TDempty(me, 0.2);
+
+ 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:")));
+ me.TD(me, 1, 1.9, e = makeXonoticTextLabel(0, _("Strafe bar:")));
- me.TD(me, 1, 2, e = makeXonoticTextLabel(0, _("Current angle:")));
+ me.TDempty(me, 0.2);
+
+ me.TD(me, 1, 1.9, e = makeXonoticTextLabel(0, _("Angle indicator:")));
me.TR(me);
+ me.TD(me, 1, 0.56666666, e = makeXonoticTextLabel(0, _("Neutral:")));
me.TDempty(me, 0.1);
- me.TD(me, 1, 0.9, e = makeXonoticTextLabel(0, _("Color:")));
+ me.TD(me, 1, 0.56666666, e = makeXonoticTextLabel(0, _("Good:")));
me.TDempty(me, 0.1);
- me.TD(me, 1, 0.9, e = makeXonoticTextLabel(0, _("Alpha:")));
+ me.TD(me, 1, 0.56666666, e = makeXonoticTextLabel(0, _("Overturn:")));
+
+ me.TDempty(me, 0.2);
+ me.TD(me, 1, 0.56666666, e = makeXonoticTextLabel(0, _("Neutral:")));
me.TDempty(me, 0.1);
me.TD(me, 1, 0.56666666, e = makeXonoticTextLabel(0, _("Good:")));
me.TDempty(me, 0.1);
- me.TD(me, 1, 0.56666666, e = makeXonoticTextLabel(0, _("Neutral:")));
- me.TDempty(me, 0.1);
me.TD(me, 1, 0.56666666, e = makeXonoticTextLabel(0, _("Overturn:")));
me.TR(me);
+ me.TD(me, 2, 0.56666666, e = makeXonoticColorpickerString("hud_panel_strafehud_bar_neutral_color", "hud_panel_strafehud_bar_neutral_color"));
me.TDempty(me, 0.1);
- me.TD(me, 2, 0.9, e = makeXonoticColorpickerString("hud_panel_strafehud_bar_color", "hud_panel_strafehud_bar_color"));
+ me.TD(me, 2, 0.56666666, e = makeXonoticColorpickerString("hud_panel_strafehud_bar_accel_color", "hud_panel_strafehud_bar_accel_color"));
me.TDempty(me, 0.1);
- me.TD(me, 1, 0.9, e = makeXonoticSlider(0, 1, 0.1, "hud_panel_strafehud_bar_alpha"));
+ me.TD(me, 2, 0.56666666, e = makeXonoticColorpickerString("hud_panel_strafehud_bar_overturn_color", "hud_panel_strafehud_bar_overturn_color"));
+ me.TDempty(me, 0.2);
+
+ me.TD(me, 2, 0.56666666, e = makeXonoticColorpickerString("hud_panel_strafehud_angle_neutral_color", "hud_panel_strafehud_angle_neutral_color"));
me.TDempty(me, 0.1);
- me.TD(me, 2, 0.56666666, e = makeXonoticColorpickerString("hud_panel_strafehud_good_color", "hud_panel_strafehud_good_color"));
- me.TDempty(me, 0.1);
- me.TD(me, 2, 0.56666666, e = makeXonoticColorpickerString("hud_panel_strafehud_warning_color", "hud_panel_strafehud_warning_color"));
+ me.TD(me, 2, 0.56666666, e = makeXonoticColorpickerString("hud_panel_strafehud_angle_accel_color", "hud_panel_strafehud_angle_accel_color"));
me.TDempty(me, 0.1);
- me.TD(me, 2, 0.56666666, e = makeXonoticColorpickerString("hud_panel_strafehud_alert_color", "hud_panel_strafehud_alert_color"));
+ me.TD(me, 2, 0.56666666, e = makeXonoticColorpickerString("hud_panel_strafehud_angle_overturn_color", "hud_panel_strafehud_angle_overturn_color"));
me.TR(me);
me.TR(me);
- me.TD(me, 1, 2, e = makeXonoticTextLabel(0, _("Ideal angle:")));
+ me.TD(me, 1, 0.56666666, e = makeXonoticSlider(0, 1, 0.1, "hud_panel_strafehud_bar_neutral_alpha"));
+ me.TDempty(me, 0.1);
+ me.TD(me, 1, 0.56666666, e = makeXonoticSlider(0, 1, 0.1, "hud_panel_strafehud_bar_accel_alpha"));
+ me.TDempty(me, 0.1);
+ me.TD(me, 1, 0.56666666, e = makeXonoticSlider(0, 1, 0.1, "hud_panel_strafehud_bar_overturn_alpha"));
+
+ me.TDempty(me, 0.2);
- me.TD(me, 1, 2, e = makeXonoticTextLabel(0, _("Direction marker:")));
+ me.TD(me, 1, 1.9, e = makeXonoticSlider(0, 1, 0.1, "hud_panel_strafehud_angle_alpha"));
+ me.TR(me);
+ me.TD(me, 1, 1.9, e = makeXonoticTextLabel(0, _("Switch indicators:")));
+
+ me.TDempty(me, 0.2);
+
+ me.TD(me, 1, 1.9, e = makeXonoticTextLabel(0, _("Direction caps:")));
me.TR(me);
- me.TDempty(me, 0.1);
me.TD(me, 1, 0.9, e = makeXonoticTextLabel(0, _("Active:")));
- me.TDempty(me, 0.1);
+
+ me.TDempty(me, 0.2);
+
me.TD(me, 1, 0.9, e = makeXonoticTextLabel(0, _("Inactive:")));
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.TD(me, 2, 0.85, e = makeXonoticColorpickerString("hud_panel_strafehud_switch_active_color", "hud_panel_strafehud_switch_active_color"));
+ me.TDempty(me, 0.2);
+ me.TD(me, 2, 0.85, e = makeXonoticColorpickerString("hud_panel_strafehud_switch_inactive_color", "hud_panel_strafehud_switch_inactive_color"));
+
+ me.TDempty(me, 0.2);
- 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.TR(me);
+ 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);
+
+ me.TD(me, 1, 1.9, e = makeXonoticSlider(0, 1, 0.1, "hud_panel_strafehud_direction_alpha"));
}