]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blob - qcsrc/menu/xonotic/dialog_hudpanel_physics.c
Merge remote branch 'remotes/origin/terencehill/newpanelhud' into terencehill/newpanelhud
[xonotic/xonotic-data.pk3dir.git] / qcsrc / menu / xonotic / dialog_hudpanel_physics.c
1 #ifdef INTERFACE
2 CLASS(XonoticHUDPhysicsDialog) EXTENDS(XonoticRootDialog)
3         METHOD(XonoticHUDPhysicsDialog, fill, void(entity))
4         ATTRIB(XonoticHUDPhysicsDialog, title, string, "Physics Panel")
5         ATTRIB(XonoticHUDPhysicsDialog, color, vector, SKINCOLOR_DIALOG_TEAMSELECT)
6         ATTRIB(XonoticHUDPhysicsDialog, intendedWidth, float, 0.4)
7         ATTRIB(XonoticHUDPhysicsDialog, rows, float, 15)
8         ATTRIB(XonoticHUDPhysicsDialog, columns, float, 4)
9         ATTRIB(XonoticHUDPhysicsDialog, name, string, "HUDphysics")
10         ATTRIB(XonoticHUDPhysicsDialog, sliderTopspeedTime, entity, NULL)
11 ENDCLASS(XonoticHUDPhysicsDialog)
12 #endif
13
14 #ifdef IMPLEMENTATION
15 void XonoticHUDPhysicsDialog_fill(entity me)
16 {
17         entity e;
18         string panelname = "physics";
19         float i;
20
21         me.TR(me);
22                 me.TD(me, 1, 2, e = makeXonoticTextSlider("hud_panel_physics"));
23                         e.addValue(e, "Panel disabled", "0");
24                         e.addValue(e, "Panel enabled when spectating", "1");
25                         e.addValue(e, "Panel always enabled", "2");
26                         e.configureXonoticTextSliderValues(e);
27         me.TR(me);
28                 me.TD(me, 1, 1.4, e = makeXonoticTextLabel(0, "Background:"));
29                         me.TD(me, 1, 1.6, e = makeXonoticTextSlider(strzone(strcat("hud_panel_", panelname, "_bg"))));
30                                 e.addValue(e, "Default", "");
31                                 e.addValue(e, "Disable", "0");
32                                 e.addValue(e, strzone(strcat("border_", panelname)), strzone(strcat("border_", panelname)));
33                                 e.configureXonoticTextSliderValues(e);
34         me.TR(me);
35                 me.TDempty(me, 0.2);
36                 me.TD(me, 1, 1.2, e = makeXonoticTextLabel(0, "Color:"));
37                 me.TD(me, 2, 2.4, e = makeXonoticColorpickerString(strzone(strcat("hud_panel_", panelname, "_bg_color")), "hud_panel_bg_color"));
38                         setDependentStringNotEqual(e, strzone(strcat("hud_panel_", panelname, "_bg_color")), "");
39         me.TR(me);
40                 me.TDempty(me, 0.2);
41                 me.TD(me, 1, 1.2, e = makeXonoticCheckBoxString("", "1 1 1", strzone(strcat("hud_panel_", panelname, "_bg_color")), "Use default"));
42         me.TR(me);
43                 me.TDempty(me, 0.2);
44                 me.TD(me, 1, 1.2, e = makeXonoticTextLabel(0, "Border size:"));
45                         me.TD(me, 1, 2.6, e = makeXonoticTextSlider(strzone(strcat("hud_panel_", panelname, "_bg_border"))));
46                                 e.addValue(e, "Default", "");
47                                 e.addValue(e, "Disable", "0");
48                                 for(i = 1; i <= 10; ++i)
49                                         e.addValue(e, strzone(ftos_decimals(i * 2, 0)), strzone(ftos(i * 2)));
50                                 e.configureXonoticTextSliderValues(e);
51         me.TR(me);
52                 me.TDempty(me, 0.2);
53                 me.TD(me, 1, 1.2, e = makeXonoticTextLabel(0, "Alpha:"));
54                         me.TD(me, 1, 2.6, e = makeXonoticTextSlider(strzone(strcat("hud_panel_", panelname, "_bg_alpha"))));
55                                 e.addValue(e, "Default", "");
56                                 for(i = 1; i <= 10; ++i)
57                                         e.addValue(e, strzone(ftos_decimals(i/10, 1)), strzone(ftos(i/10)));
58                                 e.configureXonoticTextSliderValues(e);
59         me.TR(me);
60                 me.TDempty(me, 0.2);
61                 me.TD(me, 1, 1.2, e = makeXonoticTextLabel(0, "Team Color:"));
62                         me.TD(me, 1, 2.6, e = makeXonoticTextSlider(strzone(strcat("hud_panel_", panelname, "_bg_color_team"))));
63                                 e.addValue(e, "Default", "");
64                                 e.addValue(e, "Disable", "0");
65                                 for(i = 1; i <= 10; ++i)
66                                         e.addValue(e, strzone(ftos_decimals(i/10, 1)), strzone(ftos(i/10)));
67                                 e.configureXonoticTextSliderValues(e);
68         me.TR(me);
69                 me.TDempty(me, 0.4);
70                 me.TD(me, 1, 3, e = makeXonoticCheckBox(0, "hud_configure_teamcolorforced", "Test the team color in HUD configure mode"));
71         me.TR(me);
72                 me.TDempty(me, 0.2);
73                 me.TD(me, 1, 1.2, e = makeXonoticTextLabel(0, "Padding:"));
74                         me.TD(me, 1, 2.6, e = makeXonoticTextSlider(strzone(strcat("hud_panel_", panelname, "_bg_padding"))));
75                                 e.addValue(e, "Default", "");
76                                 for(i = 0; i <= 10; ++i)
77                                         e.addValue(e, strzone(ftos_decimals(i - 5, 0)), strzone(ftos(i - 5)));
78                                 e.configureXonoticTextSliderValues(e);
79         me.TR(me);
80                 me.TD(me, 1, 1.4, e = makeXonoticCheckBox(0, "hud_panel_physics_progressbar", "Status bar"));
81                 me.TD(me, 1, 1.6, e = makeXonoticTextSlider("hud_panel_physics_baralign"));
82                         e.addValue(e, "Left align"   , "0");
83                         e.addValue(e, "Right align"  , "1");
84                         e.addValue(e, "Inward align" , "2");
85                         e.addValue(e, "Outward align", "3");
86                         e.configureXonoticTextSliderValues(e);
87                         setDependent(e, "hud_panel_physics_progressbar", 1, 1);
88         me.TR(me);
89                 me.TD(me, 1, 3, e = makeXonoticCheckBox(0, "hud_panel_physics_flip", "Flip speed/acceleration positions"));
90
91 //speed
92         me.TR(me);
93                 me.TD(me, 1, 1, e = makeXonoticTextLabel(0, "Speed:"));
94                 me.TD(me, 1, 3, e = makeXonoticCheckBox(0, "hud_panel_physics_speed_z", "Include vertical speed"));
95         // me.TR(me);
96                 // me.TDempty(me, 0.2);
97                 // me.TD(me, 1, 1.8, e = makeXonoticTextLabel(0, "Full status bar at:"));
98                         // setDependent(e, "hud_panel_physics_progressbar", 1, 1);
99                 // me.TD(me, 1, 1, e = makeXonoticInputBox(1, "hud_panel_physics_speed_max"));
100                         // setDependent(e, "hud_panel_physics_progressbar", 1, 1);
101                 // me.TD(me, 1, 1, e = makeXonoticTextLabel(0, "qu/s"));
102                         // setDependent(e, "hud_panel_physics_progressbar", 1, 1);
103         me.TR(me);
104                 me.TDempty(me, 0.2);
105                 me.TD(me, 1, 1.2, e = makeXonoticTextLabel(0, "Speed unit:"));
106                 me.TD(me, 1, 2.6/3*2, e = makeXonoticTextSlider("hud_panel_physics_speed_unit"));
107                         e.addValue(e, "qu/s" , "1");
108                         e.addValue(e, "m/s"  , "2");
109                         e.addValue(e, "km/h" , "3");
110                         e.addValue(e, "mph"  , "4");
111                         e.addValue(e, "knots", "5");
112                         e.configureXonoticTextSliderValues(e);
113                 me.TD(me, 1, 2.6/3, e = makeXonoticCheckBox(0, "hud_panel_physics_speed_unit_show", "Show"));
114         me.TR(me);
115                 me.TDempty(me, 0.2);
116                 me.TD(me, 1, 3.8/2, e = makeXonoticCheckBox(0, "hud_panel_physics_topspeed", "Top Speed"));
117                 me.TD(me, 1, 3.8/2, e = makeXonoticSlider(1, 10, 1, "hud_panel_physics_topspeed_time"));
118                         setDependent(e, "hud_panel_physics_topspeed", 1, 1);
119
120 //acceleration
121         me.TR(me);
122                 me.TD(me, 1, 1, e = makeXonoticTextLabel(0, "Acceleration:"));
123                 me.TD(me, 1, 3, e = makeXonoticCheckBox(0, "hud_panel_physics_acceleration_z", "Include vertical acc."));
124         // me.TR(me);
125                 // me.TDempty(me, 0.2);
126                 // me.TD(me, 1, 1.8, e = makeXonoticTextLabel(0, "Full status bar at:"));
127                         // setDependent(e, "hud_panel_physics_progressbar", 1, 1);
128                 // me.TD(me, 1, 0.6, e = makeXonoticInputBox(1, "hud_panel_physics_acceleration_max"));
129                         // setDependent(e, "hud_panel_physics_progressbar", 1, 1);
130 }
131 #endif