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_active_color", cvar_defstring("hud_panel_strafehud_switch_active_color"));
27 cvar_set("hud_panel_strafehud_switch_inactive_color", cvar_defstring("hud_panel_strafehud_switch_inactive_color"));
28 cvar_set("hud_panel_strafehud_direction_color", cvar_defstring("hud_panel_strafehud_direction_color"));
31 void XonoticHUDStrafeHUDDialog_fill(entity me)
34 string panelname = "strafehud";
37 me.TD(me, 1, 4, e = makeXonoticTextSlider("hud_panel_strafehud"));
38 e.addValue(e, _("Disable"), "0");
39 e.addValue(e, _("Enable"), "1");
40 e.addValue(e, _("Enable even observing"), "2");
41 e.addValue(e, _("Enable only in Race/CTS"), "3");
42 e.configureXonoticTextSliderValues(e);
44 dialog_hudpanel_main_settings(me, panelname);
47 me.TD(me, 1, 1.4, e = makeXonoticTextLabel(0, _("StrafeHUD mode:")));
49 me.TD(me, 1, 2.6, e = makeXonoticTextSlider("hud_panel_strafehud_mode"));
50 e.addValue(e, _("View angle centered"), "0");
51 e.addValue(e, _("Velocity angle centered"), "1");
52 e.configureXonoticTextSliderValues(e);
54 me.TD(me, 1, 1.4, e = makeXonoticTextLabel(0, _("StrafeHUD style:")));
56 me.TD(me, 1, 2.6, e = makeXonoticTextSlider("hud_panel_strafehud_style"));
57 e.addValue(e, _("no styling"), "0");
58 e.addValue(e, _("progress bar"), "1");
59 e.addValue(e, _("gradient"), "2");
60 e.configureXonoticTextSliderValues(e);
62 me.TD(me, 1, 1.2, e = makeXonoticCheckBoxString("1", "0", "_hud_panel_strafehud_demo", _("Demo mode")));
66 me.TD(me, 1, 0.6, e = makeXonoticTextLabel(0, _("Range:")));
67 me.TD(me, 1, 1.8, e = makeXonoticSlider(0, 360, 5, "hud_panel_strafehud_range"));
69 me.TD(me, 1, 1.9, e = makeXonoticButton(_("Center panel"), '0 0 0'));
70 e.onClick = StrafeHUD_CenterPanel;
75 me.TD(me, 1, 1.9, e = makeXonoticButton(_("Reset colors"), '0 0 0'));
76 e.onClick = StrafeHUD_ColorReset;
79 me.TD(me, 1, 1.9, e = makeXonoticTextLabel(0, _("Strafe bar:")));
83 me.TD(me, 1, 1.9, e = makeXonoticTextLabel(0, _("Angle indicator:")));
85 me.TD(me, 1, 0.56666666, e = makeXonoticTextLabel(0, _("Neutral:")));
87 me.TD(me, 1, 0.56666666, e = makeXonoticTextLabel(0, _("Good:")));
89 me.TD(me, 1, 0.56666666, e = makeXonoticTextLabel(0, _("Overturn:")));
93 me.TD(me, 1, 0.56666666, e = makeXonoticTextLabel(0, _("Neutral:")));
95 me.TD(me, 1, 0.56666666, e = makeXonoticTextLabel(0, _("Good:")));
97 me.TD(me, 1, 0.56666666, e = makeXonoticTextLabel(0, _("Overturn:")));
99 me.TD(me, 2, 0.56666666, e = makeXonoticColorpickerString("hud_panel_strafehud_bar_neutral_color", "hud_panel_strafehud_bar_neutral_color"));
101 me.TD(me, 2, 0.56666666, e = makeXonoticColorpickerString("hud_panel_strafehud_bar_accel_color", "hud_panel_strafehud_bar_accel_color"));
103 me.TD(me, 2, 0.56666666, e = makeXonoticColorpickerString("hud_panel_strafehud_bar_overturn_color", "hud_panel_strafehud_bar_overturn_color"));
107 me.TD(me, 2, 0.56666666, e = makeXonoticColorpickerString("hud_panel_strafehud_angle_neutral_color", "hud_panel_strafehud_angle_neutral_color"));
109 me.TD(me, 2, 0.56666666, e = makeXonoticColorpickerString("hud_panel_strafehud_angle_accel_color", "hud_panel_strafehud_angle_accel_color"));
111 me.TD(me, 2, 0.56666666, e = makeXonoticColorpickerString("hud_panel_strafehud_angle_overturn_color", "hud_panel_strafehud_angle_overturn_color"));
114 me.TD(me, 1, 0.56666666, e = makeXonoticSlider(0, 1, 0.1, "hud_panel_strafehud_bar_neutral_alpha"));
116 me.TD(me, 1, 0.56666666, e = makeXonoticSlider(0, 1, 0.1, "hud_panel_strafehud_bar_accel_alpha"));
118 me.TD(me, 1, 0.56666666, e = makeXonoticSlider(0, 1, 0.1, "hud_panel_strafehud_bar_overturn_alpha"));
122 me.TD(me, 1, 1.9, e = makeXonoticSlider(0, 1, 0.1, "hud_panel_strafehud_angle_alpha"));
124 me.TD(me, 1, 1.9, e = makeXonoticTextLabel(0, _("Switch indicators:")));
128 me.TD(me, 1, 1.9, e = makeXonoticTextLabel(0, _("Direction caps:")));
130 me.TD(me, 1, 0.9, e = makeXonoticTextLabel(0, _("Active:")));
134 me.TD(me, 1, 0.9, e = makeXonoticTextLabel(0, _("Inactive:")));
136 me.TD(me, 2, 0.85, e = makeXonoticColorpickerString("hud_panel_strafehud_switch_active_color", "hud_panel_strafehud_switch_active_color"));
138 me.TD(me, 2, 0.85, e = makeXonoticColorpickerString("hud_panel_strafehud_switch_inactive_color", "hud_panel_strafehud_switch_inactive_color"));
142 me.TD(me, 2, 1.9, e = makeXonoticColorpickerString("hud_panel_strafehud_direction_color", "hud_panel_strafehud_direction_color"));
145 me.TD(me, 1, 0.9, e = makeXonoticSlider(0, 1, 0.1, "hud_panel_strafehud_switch_active_alpha"));
147 me.TD(me, 1, 0.9, e = makeXonoticSlider(0, 1, 0.1, "hud_panel_strafehud_switch_inactive_alpha"));
151 me.TD(me, 1, 1.9, e = makeXonoticSlider(0, 1, 0.1, "hud_panel_strafehud_direction_alpha"));