]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blob - qcsrc/menu/xonotic/dialog_settings_game_hud.c
Merge remote-tracking branch 'origin/master' into samual/combined_updates
[xonotic/xonotic-data.pk3dir.git] / qcsrc / menu / xonotic / dialog_settings_game_hud.c
1 #ifdef INTERFACE
2 CLASS(XonoticGameHUDSettingsTab) EXTENDS(XonoticTab)
3         //METHOD(XonoticGameHUDSettingsTab, toString, string(entity))
4         METHOD(XonoticGameHUDSettingsTab, fill, void(entity))
5         METHOD(XonoticGameHUDSettingsTab, showNotify, void(entity))
6         ATTRIB(XonoticGameHUDSettingsTab, title, string, _("HUD"))
7         ATTRIB(XonoticGameHUDSettingsTab, intendedWidth, float, 0.9)
8         ATTRIB(XonoticGameHUDSettingsTab, rows, float, 14)
9         ATTRIB(XonoticGameHUDSettingsTab, columns, float, 6.2)
10 ENDCLASS(XonoticGameHUDSettingsTab)
11 entity makeXonoticGameHUDSettingsTab();
12 void HUDSetup_Start(entity me, entity btn);
13 #endif
14
15 #ifdef IMPLEMENTATION
16 void HUDSetup_Check_Gamestatus(entity me, entity btn)
17 {
18         if(!(gamestatus & (GAME_CONNECTED | GAME_ISSERVER))) // we're not in a match, ask the player if they want to start one anyway
19         {
20                 DialogOpenButton_Click(me, main.hudconfirmDialog);
21         }
22         else // already in a match, lets just cut to the point and open up the hud editor directly
23         {
24                 HUDSetup_Start(me, btn);
25         }
26 }
27 void XonoticGameHUDSettingsTab_showNotify(entity me)
28 {
29         loadAllCvars(me);
30 }
31 entity makeXonoticGameHUDSettingsTab()
32 {
33         entity me;
34         me = spawnXonoticGameHUDSettingsTab();
35         me.configureDialog(me);
36         return me;
37 }
38
39 void XonoticGameHUDSettingsTab_fill(entity me)
40 {
41         entity e;
42
43         me.TR(me);
44                 me.TD(me, 1, 3, e = makeXonoticTextLabel(0, _("Damage:")));
45         me.TR(me);
46                 me.TDempty(me, 0.2);
47                 me.TD(me, 1, 0.8, e = makeXonoticTextLabel(0, _("Overlay:")));
48                 me.TD(me, 1, 2, e = makeXonoticSlider(0, 1, 0.05, "hud_damage"));
49         me.TR(me);
50                 me.TDempty(me, 0.2);
51                 me.TD(me, 1, 0.8, e = makeXonoticTextLabel(0, _("Factor:")));
52                 setDependent(e, "hud_damage", 0.001, 100);
53                 me.TD(me, 1, 2, e = makeXonoticSlider(0.025, 0.1, 0.025, "hud_damage_factor"));
54                 setDependent(e, "hud_damage", 0.001, 100);
55         me.TR(me);
56                 me.TDempty(me, 0.2);
57                 me.TD(me, 1, 0.8, e = makeXonoticTextLabel(0, _("Fade rate:")));
58                 setDependent(e, "hud_damage", 0.001, 100);
59                 me.TD(me, 1, 2, e = makeXonoticSlider(0.25, 1, 0.05, "hud_damage_fade_rate"));
60                 setDependent(e, "hud_damage", 0.001, 100);
61         me.TR(me);
62
63         me.TR(me);
64                 me.TD(me, 1, 3, e = makeXonoticCheckBox(1, "cl_hidewaypoints", _("Waypoints")));
65         me.TR(me);
66                 me.TDempty(me, 0.2);
67                 me.TD(me, 1, 0.8, e = makeXonoticTextLabel(0, _("Scale:"))); // TODO: use fontsize?
68                 setDependent(e, "cl_hidewaypoints", 0, 0);
69                 me.TD(me, 1, 2, e = makeXonoticSlider(0.5, 1.5, 0.05, "g_waypointsprite_scale"));
70                 setDependent(e, "cl_hidewaypoints", 0, 0);
71         me.TR(me);
72                 me.TDempty(me, 0.2);
73                 me.TD(me, 1, 0.8, e = makeXonoticTextLabel(0, _("Alpha:")));
74                 setDependent(e, "cl_hidewaypoints", 0, 0);
75                 me.TD(me, 1, 2, e = makeXonoticSlider(0.1, 1, 0.05, "g_waypointsprite_alpha"));
76                 setDependent(e, "cl_hidewaypoints", 0, 0);
77         me.TR(me);
78                 me.TDempty(me, 0.2);
79                 me.TD(me, 1, 0.8, e = makeXonoticTextLabel(0, _("Edge offset:")));
80                 setDependent(e, "cl_hidewaypoints", 0, 0);
81                 me.TD(me, 1, 2, e = makeXonoticSlider(0, 0.3, 0.01, "g_waypointsprite_edgeoffset_bottom"));
82                 makeMulti(e, "g_waypointsprite_edgeoffset_top g_waypointsprite_edgeoffset_left g_waypointsprite_edgeoffset_right");
83                 setDependent(e, "cl_hidewaypoints", 0, 0);
84
85         me.gotoRC(me, 0, 3.2); me.setFirstColumn(me, me.currentColumn);
86                 me.TD(me, 1, 3, e = makeXonoticCheckBox(0, "hud_shownames", _("Show names above players"))); // TODO: select fontsize for shownames
87         me.TR(me);
88                 me.TDempty(me, 0.2);
89                 me.TD(me, 1, 2.8, e = makeXonoticCheckBoxEx(25, 0, "hud_shownames_crosshairdistance", _("Only when near crosshair")));
90         me.TR(me);
91                 me.TDempty(me, 0.2);
92                 me.TD(me, 1, 2.8, e = makeXonoticCheckBox(0, "hud_shownames_status", _("Display health and armor")));
93         me.TR(me);
94         me.TR(me);
95                 me.TDempty(me, 0.5);
96                 me.TD(me, 1, 2, e = makeXonoticButton(_("Enter HUD editor"), '0 0 0'));
97                         e.onClick = HUDSetup_Check_Gamestatus;
98                         e.onClickEntity = me;
99                 // TODO: show hud config name with text here
100 }
101 #endif