1 #include "dialog_hudpanel_strafehud.qh"
3 #include "checkbox_string.qh"
4 #include "colorpicker_string.qh"
7 #include "textlabel.qh"
8 #include "textslider.qh"
10 void StrafeHUD_CenterPanel(entity btn, entity me)
12 vector size = stov(str_cvar("hud_panel_strafehud_size"));
13 vector pos = stov(str_cvar("hud_panel_strafehud_pos"));
14 pos.x = 0.5 - size.x / 2;
15 cvar_set("hud_panel_strafehud_pos", strcat(ftos(pos.x), " ", ftos(pos.y)));
18 void StrafeHUD_ColorReset(entity btn, entity me)
20 cvar_set("hud_panel_strafehud_bar_accel_color", cvar_defstring("hud_panel_strafehud_bar_accel_color"));
21 cvar_set("hud_panel_strafehud_bar_neutral_color", cvar_defstring("hud_panel_strafehud_bar_neutral_color"));
22 cvar_set("hud_panel_strafehud_bar_overturn_color", cvar_defstring("hud_panel_strafehud_bar_overturn_color"));
23 cvar_set("hud_panel_strafehud_angle_accel_color", cvar_defstring("hud_panel_strafehud_angle_accel_color"));
24 cvar_set("hud_panel_strafehud_angle_neutral_color", cvar_defstring("hud_panel_strafehud_angle_neutral_color"));
25 cvar_set("hud_panel_strafehud_angle_overturn_color", cvar_defstring("hud_panel_strafehud_angle_overturn_color"));
26 cvar_set("hud_panel_strafehud_switch_color", cvar_defstring("hud_panel_strafehud_switch_color"));
27 cvar_set("hud_panel_strafehud_bestangle_color", cvar_defstring("hud_panel_strafehud_bestangle_color"));
30 void XonoticHUDStrafeHUDDialog_fill(entity me)
33 string panelname = "strafehud";
36 me.TD(me, 1, 4, e = makeXonoticTextSlider("hud_panel_strafehud"));
37 e.addValue(e, _("Disable"), "0");
38 e.addValue(e, _("Enable"), "1");
39 e.addValue(e, _("Enable even observing"), "2");
40 e.addValue(e, _("Enable only in Race/CTS"), "3");
41 e.configureXonoticTextSliderValues(e);
43 dialog_hudpanel_main_settings(me, panelname);
46 me.TD(me, 1, 1.4, e = makeXonoticTextLabel(0, _("StrafeHUD mode:")));
48 me.TD(me, 1, 2.6, e = makeXonoticTextSlider("hud_panel_strafehud_mode"));
49 e.addValue(e, _("View angle centered"), "0");
50 e.addValue(e, _("Velocity angle centered"), "1");
51 e.configureXonoticTextSliderValues(e);
53 me.TD(me, 1, 1.4, e = makeXonoticTextLabel(0, _("StrafeHUD style:")));
55 me.TD(me, 1, 2.6, e = makeXonoticTextSlider("hud_panel_strafehud_style"));
56 e.addValue(e, _("no styling"), "0");
57 e.addValue(e, _("progress bar"), "1");
58 e.addValue(e, _("gradient"), "2");
59 e.configureXonoticTextSliderValues(e);
61 me.TD(me, 1, 1.2, e = makeXonoticCheckBoxString("1", "0", "_hud_panel_strafehud_demo", _("Demo mode")));
65 me.TD(me, 1, 0.6, e = makeXonoticTextLabel(0, _("Range:")));
66 me.TD(me, 1, 1.8, e = makeXonoticSlider(0, 360, 5, "hud_panel_strafehud_range"));
68 me.TD(me, 1, 1.9, e = makeXonoticButton(_("Center panel"), '0 0 0'));
69 e.onClick = StrafeHUD_CenterPanel;
74 me.TD(me, 1, 1.9, e = makeXonoticButton(_("Reset colors"), '0 0 0'));
75 e.onClick = StrafeHUD_ColorReset;
78 me.TD(me, 1, 1.9, e = makeXonoticTextLabel(0, _("Strafe bar:")));
82 me.TD(me, 1, 1.9, e = makeXonoticTextLabel(0, _("Angle indicator:")));
84 me.TD(me, 1, 0.56666666, e = makeXonoticTextLabel(0, _("Neutral:")));
86 me.TD(me, 1, 0.56666666, e = makeXonoticTextLabel(0, _("Good:")));
88 me.TD(me, 1, 0.56666666, e = makeXonoticTextLabel(0, _("Overturn:")));
92 me.TD(me, 1, 0.56666666, e = makeXonoticTextLabel(0, _("Neutral:")));
94 me.TD(me, 1, 0.56666666, e = makeXonoticTextLabel(0, _("Good:")));
96 me.TD(me, 1, 0.56666666, e = makeXonoticTextLabel(0, _("Overturn:")));
98 me.TD(me, 2, 0.56666666, e = makeXonoticColorpickerString("hud_panel_strafehud_bar_neutral_color", "hud_panel_strafehud_bar_neutral_color"));
100 me.TD(me, 2, 0.56666666, e = makeXonoticColorpickerString("hud_panel_strafehud_bar_accel_color", "hud_panel_strafehud_bar_accel_color"));
102 me.TD(me, 2, 0.56666666, e = makeXonoticColorpickerString("hud_panel_strafehud_bar_overturn_color", "hud_panel_strafehud_bar_overturn_color"));
106 me.TD(me, 2, 0.56666666, e = makeXonoticColorpickerString("hud_panel_strafehud_angle_neutral_color", "hud_panel_strafehud_angle_neutral_color"));
108 me.TD(me, 2, 0.56666666, e = makeXonoticColorpickerString("hud_panel_strafehud_angle_accel_color", "hud_panel_strafehud_angle_accel_color"));
110 me.TD(me, 2, 0.56666666, e = makeXonoticColorpickerString("hud_panel_strafehud_angle_overturn_color", "hud_panel_strafehud_angle_overturn_color"));
113 me.TD(me, 1, 0.56666666, e = makeXonoticSlider(0, 1, 0.1, "hud_panel_strafehud_bar_neutral_alpha"));
115 me.TD(me, 1, 0.56666666, e = makeXonoticSlider(0, 1, 0.1, "hud_panel_strafehud_bar_accel_alpha"));
117 me.TD(me, 1, 0.56666666, e = makeXonoticSlider(0, 1, 0.1, "hud_panel_strafehud_bar_overturn_alpha"));
121 me.TD(me, 1, 1.9, e = makeXonoticSlider(0, 1, 0.1, "hud_panel_strafehud_angle_alpha"));
123 me.TD(me, 1, 1.9, e = makeXonoticTextLabel(0, _("Switch indicator:")));
127 me.TD(me, 1, 1.9, e = makeXonoticTextLabel(0, _("Best angle indicator:")));
129 me.TD(me, 2, 1.9, e = makeXonoticColorpickerString("hud_panel_strafehud_switch_color", "hud_panel_strafehud_switch_color"));
133 me.TD(me, 2, 1.9, e = makeXonoticColorpickerString("hud_panel_strafehud_bestangle_color", "hud_panel_strafehud_bestangle_color"));
136 me.TD(me, 1, 0.9, e = makeXonoticSlider(0, 1, 0.1, "hud_panel_strafehud_switch_alpha"));
138 me.TD(me, 1, 0.9, e = makeXonoticCheckBoxString("1", "0", "hud_panel_strafehud_switch", _("Enable")));
142 me.TD(me, 1, 0.9, e = makeXonoticSlider(0, 1, 0.1, "hud_panel_strafehud_bestangle_alpha"));
144 me.TD(me, 1, 0.9, e = makeXonoticCheckBoxString("1", "0", "hud_panel_strafehud_bestangle", _("Enable")));