]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blob - qcsrc/menu/xonotic/dialog_hudpanel_physics.c
Merge branch 'terencehill/newpanelhud' into terencehill/speedpanel
[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, 3, e = makeXonoticCheckBox(0, "hud_panel_physics", "Enable panel"));
23         me.TR(me);
24                 me.TD(me, 1, 1.4, e = makeXonoticTextLabel(0, "Background:"));
25                         me.TD(me, 1, 1.6, e = makeXonoticTextSlider(strzone(strcat("hud_panel_", panelname, "_bg"))));
26                                 e.addValue(e, "Default", "");
27                                 e.addValue(e, "Disable", "0");
28                                 e.addValue(e, strzone(strcat("border_", panelname)), strzone(strcat("border_", panelname)));
29                                 e.configureXonoticTextSliderValues(e);
30         me.TR(me);
31                 me.TDempty(me, 0.2);
32                 me.TD(me, 1, 1.2, e = makeXonoticTextLabel(0, "Color:"));
33                 me.TD(me, 2, 2.4, e = makeXonoticColorpickerString(strzone(strcat("hud_panel_", panelname, "_bg_color")), "hud_panel_bg_color"));
34                         setDependentStringNotEqual(e, strzone(strcat("hud_panel_", panelname, "_bg_color")), "");
35         me.TR(me);
36                 me.TDempty(me, 0.2);
37                 me.TD(me, 1, 1.2, e = makeXonoticCheckBoxString("", "1 1 1", strzone(strcat("hud_panel_", panelname, "_bg_color")), "Use default"));
38         me.TR(me);
39                 me.TDempty(me, 0.2);
40                 me.TD(me, 1, 1.2, e = makeXonoticTextLabel(0, "Border size:"));
41                         me.TD(me, 1, 2.6, e = makeXonoticTextSlider(strzone(strcat("hud_panel_", panelname, "_bg_border"))));
42                                 e.addValue(e, "Default", "");
43                                 e.addValue(e, "Disable", "0");
44                                 for(i = 1; i <= 10; ++i)
45                                         e.addValue(e, strzone(ftos_decimals(i * 2, 0)), strzone(ftos(i * 2)));
46                                 e.configureXonoticTextSliderValues(e);
47         me.TR(me);
48                 me.TDempty(me, 0.2);
49                 me.TD(me, 1, 1.2, e = makeXonoticTextLabel(0, "Alpha:"));
50                         me.TD(me, 1, 2.6, e = makeXonoticTextSlider(strzone(strcat("hud_panel_", panelname, "_bg_alpha"))));
51                                 e.addValue(e, "Default", "");
52                                 for(i = 1; i <= 10; ++i)
53                                         e.addValue(e, strzone(ftos_decimals(i/10, 1)), strzone(ftos(i/10)));
54                                 e.configureXonoticTextSliderValues(e);
55         me.TR(me);
56                 me.TDempty(me, 0.2);
57                 me.TD(me, 1, 1.2, e = makeXonoticTextLabel(0, "Team Color:"));
58                         me.TD(me, 1, 2.6, e = makeXonoticTextSlider(strzone(strcat("hud_panel_", panelname, "_bg_color_team"))));
59                                 e.addValue(e, "Default", "");
60                                 e.addValue(e, "Disable", "0");
61                                 for(i = 1; i <= 10; ++i)
62                                         e.addValue(e, strzone(ftos_decimals(i/10, 1)), strzone(ftos(i/10)));
63                                 e.configureXonoticTextSliderValues(e);
64         me.TR(me);
65                 me.TDempty(me, 0.4);
66                 me.TD(me, 1, 3, e = makeXonoticCheckBox(0, "hud_configure_teamcolorforced", "Test the team color in HUD configure mode"));
67         me.TR(me);
68                 me.TDempty(me, 0.2);
69                 me.TD(me, 1, 1.2, e = makeXonoticTextLabel(0, "Padding:"));
70                         me.TD(me, 1, 2.6, e = makeXonoticTextSlider(strzone(strcat("hud_panel_", panelname, "_bg_padding"))));
71                                 e.addValue(e, "Default", "");
72                                 for(i = 0; i <= 10; ++i)
73                                         e.addValue(e, strzone(ftos_decimals(i - 5, 0)), strzone(ftos(i - 5)));
74                                 e.configureXonoticTextSliderValues(e);
75         me.TR(me);
76                 me.TD(me, 1, 1.4, e = makeXonoticCheckBox(0, "hud_panel_physics_progressbar", "Status bar"));
77                 me.TD(me, 1, 1.6, e = makeXonoticTextSlider("hud_panel_physics_baralign"));
78                         e.addValue(e, "Left align"   , "0");
79                         e.addValue(e, "Right align"  , "1");
80                         e.addValue(e, "Inward align" , "2");
81                         e.addValue(e, "Outward align", "3");
82                         e.configureXonoticTextSliderValues(e);
83                         setDependent(e, "hud_panel_physics_progressbar", 1, 1);
84         me.TR(me);
85                 me.TD(me, 1, 3, e = makeXonoticCheckBox(0, "hud_panel_physics_flip", "Flip speed/acceleration positions"));
86
87 //speed
88         me.TR(me);
89                 me.TD(me, 1, 1, e = makeXonoticTextLabel(0, "Speed:"));
90                 me.TD(me, 1, 3, e = makeXonoticCheckBox(0, "hud_panel_physics_speed_z", "Include vertical speed"));
91         // me.TR(me);
92                 // me.TDempty(me, 0.2);
93                 // me.TD(me, 1, 1.8, e = makeXonoticTextLabel(0, "Full status bar at:"));
94                         // setDependent(e, "hud_panel_physics_progressbar", 1, 1);
95                 // me.TD(me, 1, 1, e = makeXonoticInputBox(1, "hud_panel_physics_speed_max"));
96                         // setDependent(e, "hud_panel_physics_progressbar", 1, 1);
97                 // me.TD(me, 1, 1, e = makeXonoticTextLabel(0, "qu/s"));
98                         // setDependent(e, "hud_panel_physics_progressbar", 1, 1);
99         me.TR(me);
100                 me.TDempty(me, 0.2);
101                 me.TD(me, 1, 1.2, e = makeXonoticTextLabel(0, "Speed unit:"));
102                 me.TD(me, 1, 2.6/3*2, e = makeXonoticTextSlider("hud_panel_physics_speed_unit"));
103                         e.addValue(e, "qu/s" , "1");
104                         e.addValue(e, "m/s"  , "2");
105                         e.addValue(e, "km/h" , "3");
106                         e.addValue(e, "mph"  , "4");
107                         e.addValue(e, "knots", "5");
108                         e.configureXonoticTextSliderValues(e);
109                 me.TD(me, 1, 2.6/3, e = makeXonoticCheckBox(0, "hud_panel_physics_speed_unit_show", "Show"));
110         me.TR(me);
111                 me.TDempty(me, 0.2);
112                 me.TD(me, 1, 3.8/2, e = makeXonoticCheckBox(0, "hud_panel_physics_topspeed", "Top Speed"));
113                 me.TD(me, 1, 3.8/2, e = makeXonoticSlider(1, 10, 1, "hud_panel_physics_topspeed_time"));
114                         setDependent(e, "hud_panel_physics_topspeed", 1, 1);
115
116 //acceleration
117         me.TR(me);
118                 me.TD(me, 1, 1, e = makeXonoticTextLabel(0, "Acceleration:"));
119                 me.TD(me, 1, 3, e = makeXonoticCheckBox(0, "hud_panel_physics_acceleration_z", "Include vertical acc."));
120         // me.TR(me);
121                 // me.TDempty(me, 0.2);
122                 // me.TD(me, 1, 1.8, e = makeXonoticTextLabel(0, "Full status bar at:"));
123                         // setDependent(e, "hud_panel_physics_progressbar", 1, 1);
124                 // me.TD(me, 1, 0.6, e = makeXonoticInputBox(1, "hud_panel_physics_acceleration_max"));
125                         // setDependent(e, "hud_panel_physics_progressbar", 1, 1);
126 }
127 #endif