]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blob - qcsrc/menu/xonotic/dialog_hudpanel_strafehud.qc
c94bef7630e297cc1d0d62d9eb3140f00a655716
[xonotic/xonotic-data.pk3dir.git] / qcsrc / menu / xonotic / dialog_hudpanel_strafehud.qc
1 #include "dialog_hudpanel_strafehud.qh"
2
3 #include "checkbox_string.qh"
4 #include "colorpicker_string.qh"
5 #include "button.qh"
6 #include "slider.qh"
7 #include "textlabel.qh"
8 #include "textslider.qh"
9
10 void StrafeHUD_CenterPanel(entity btn, entity me)
11 {
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)));
16 }
17
18 void StrafeHUD_ColorReset(entity btn, entity me)
19 {
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"));
28 }
29
30 void XonoticHUDStrafeHUDDialog_fill(entity me)
31 {
32     entity e;
33     string panelname = "strafehud";
34
35     me.TR(me);
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);
42
43     dialog_hudpanel_main_settings(me, panelname);
44
45     me.TR(me);
46         me.TD(me, 1, 1.4, e = makeXonoticTextLabel(0, _("StrafeHUD mode:")));
47
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);
52     me.TR(me);
53         me.TD(me, 1, 1.4, e = makeXonoticTextLabel(0, _("StrafeHUD style:")));
54
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);
60     me.TR(me);
61         me.TD(me, 1, 1.2, e = makeXonoticCheckBoxString("1", "0", "_hud_panel_strafehud_demo", _("Demo mode")));
62
63         me.TDempty(me, 0.4);
64
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"));
67     me.TR(me);
68         me.TD(me, 1, 1.9, e = makeXonoticButton(_("Center panel"), '0 0 0'));
69             e.onClick = StrafeHUD_CenterPanel;
70             e.onClickEntity = me;
71
72         me.TDempty(me, 0.2);
73
74         me.TD(me, 1, 1.9, e = makeXonoticButton(_("Reset colors"), '0 0 0'));
75             e.onClick = StrafeHUD_ColorReset;
76             e.onClickEntity = me;
77     me.TR(me);
78         me.TD(me, 1, 1.9, e = makeXonoticTextLabel(0, _("Strafe bar:")));
79
80         me.TDempty(me, 0.2);
81
82         me.TD(me, 1, 1.9, e = makeXonoticTextLabel(0, _("Angle indicator:")));
83     me.TR(me);
84         me.TD(me, 1, 0.56666666, e = makeXonoticTextLabel(0, _("Neutral:")));
85         me.TDempty(me, 0.1);
86         me.TD(me, 1, 0.56666666, e = makeXonoticTextLabel(0, _("Good:")));
87         me.TDempty(me, 0.1);
88         me.TD(me, 1, 0.56666666, e = makeXonoticTextLabel(0, _("Overturn:")));
89
90         me.TDempty(me, 0.2);
91
92         me.TD(me, 1, 0.56666666, e = makeXonoticTextLabel(0, _("Neutral:")));
93         me.TDempty(me, 0.1);
94         me.TD(me, 1, 0.56666666, e = makeXonoticTextLabel(0, _("Good:")));
95         me.TDempty(me, 0.1);
96         me.TD(me, 1, 0.56666666, e = makeXonoticTextLabel(0, _("Overturn:")));
97     me.TR(me);
98         me.TD(me, 2, 0.56666666, e = makeXonoticColorpickerString("hud_panel_strafehud_bar_neutral_color", "hud_panel_strafehud_bar_neutral_color"));
99         me.TDempty(me, 0.1);
100         me.TD(me, 2, 0.56666666, e = makeXonoticColorpickerString("hud_panel_strafehud_bar_accel_color", "hud_panel_strafehud_bar_accel_color"));
101         me.TDempty(me, 0.1);
102         me.TD(me, 2, 0.56666666, e = makeXonoticColorpickerString("hud_panel_strafehud_bar_overturn_color", "hud_panel_strafehud_bar_overturn_color"));
103
104         me.TDempty(me, 0.2);
105
106         me.TD(me, 2, 0.56666666, e = makeXonoticColorpickerString("hud_panel_strafehud_angle_neutral_color", "hud_panel_strafehud_angle_neutral_color"));
107         me.TDempty(me, 0.1);
108         me.TD(me, 2, 0.56666666, e = makeXonoticColorpickerString("hud_panel_strafehud_angle_accel_color", "hud_panel_strafehud_angle_accel_color"));
109         me.TDempty(me, 0.1);
110         me.TD(me, 2, 0.56666666, e = makeXonoticColorpickerString("hud_panel_strafehud_angle_overturn_color", "hud_panel_strafehud_angle_overturn_color"));
111     me.TR(me);
112     me.TR(me);
113         me.TD(me, 1, 0.56666666, e = makeXonoticSlider(0, 1, 0.1, "hud_panel_strafehud_bar_neutral_alpha"));
114         me.TDempty(me, 0.1);
115         me.TD(me, 1, 0.56666666, e = makeXonoticSlider(0, 1, 0.1, "hud_panel_strafehud_bar_accel_alpha"));
116         me.TDempty(me, 0.1);
117         me.TD(me, 1, 0.56666666, e = makeXonoticSlider(0, 1, 0.1, "hud_panel_strafehud_bar_overturn_alpha"));
118
119         me.TDempty(me, 0.2);
120
121         me.TD(me, 1, 1.9, e = makeXonoticSlider(0, 1, 0.1, "hud_panel_strafehud_angle_alpha"));
122     me.TR(me);
123         me.TD(me, 1, 1.9, e = makeXonoticTextLabel(0, _("Switch indicator:")));
124
125         me.TDempty(me, 0.2);
126
127         me.TD(me, 1, 1.9, e = makeXonoticTextLabel(0, _("Best angle indicator:")));
128     me.TR(me);
129         me.TD(me, 2, 1.9, e = makeXonoticColorpickerString("hud_panel_strafehud_switch_color", "hud_panel_strafehud_switch_color"));
130
131         me.TDempty(me, 0.2);
132
133         me.TD(me, 2, 1.9, e = makeXonoticColorpickerString("hud_panel_strafehud_bestangle_color", "hud_panel_strafehud_bestangle_color"));
134     me.TR(me);
135     me.TR(me);
136         me.TD(me, 1, 0.9, e = makeXonoticSlider(0, 1, 0.1, "hud_panel_strafehud_switch_alpha"));
137         me.TDempty(me, 0.1);
138         me.TD(me, 1, 0.9, e = makeXonoticCheckBoxString("1", "0", "hud_panel_strafehud_switch", _("Enable")));
139
140         me.TDempty(me, 0.2);
141
142         me.TD(me, 1, 0.9, e = makeXonoticSlider(0, 1, 0.1, "hud_panel_strafehud_bestangle_alpha"));
143         me.TDempty(me, 0.1);
144         me.TD(me, 1, 0.9, e = makeXonoticCheckBoxString("1", "0", "hud_panel_strafehud_bestangle", _("Enable")));
145 }