]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blob - qcsrc/menu/xonotic/dialog_settings_game.c
Add view tab
[xonotic/xonotic-data.pk3dir.git] / qcsrc / menu / xonotic / dialog_settings_game.c
1 #ifdef INTERFACE
2 CLASS(XonoticGameSettingsTab) EXTENDS(XonoticTab)
3         METHOD(XonoticGameSettingsTab, fill, void(entity))
4         ATTRIB(XonoticGameSettingsTab, title, string, _("Game"))
5         ATTRIB(XonoticGameSettingsTab, intendedWidth, float, 0.9)
6         ATTRIB(XonoticGameSettingsTab, rows, float, 17)
7         ATTRIB(XonoticGameSettingsTab, columns, float, 6.5)
8 ENDCLASS(XonoticGameSettingsTab)
9 entity makeXonoticGameSettingsTab();
10 #endif
11
12 #ifdef IMPLEMENTATION
13 entity makeXonoticGameSettingsTab()
14 {
15         entity me;
16         me = spawnXonoticGameSettingsTab();
17         me.configureDialog(me);
18         return me;
19 }
20
21 void XonoticGameSettingsTab_fill(entity me)
22 {
23         entity mc;
24         mc = makeXonoticTabController(me.rows - 2);
25         
26         me.gotoRC(me, 0.5, 0.25);
27                 //me.TD(me, 1, 1, mc.makeTabButton(mc, _("General"),      makeXonoticGameCrosshairSettingsTab()));
28                 me.TD(me, 1, 1, mc.makeTabButton(mc, _("View"),           makeXonoticGameViewSettingsTab()));
29                 me.TD(me, 1, 1, mc.makeTabButton(mc, _("Crosshair"),      makeXonoticGameCrosshairSettingsTab()));
30                 me.TD(me, 1, 1, mc.makeTabButton(mc, _("HUD"),            makeXonoticGameCrosshairSettingsTab()));
31                 me.TD(me, 1, 1, mc.makeTabButton(mc, _("Messages"),       makeXonoticGameCrosshairSettingsTab()));
32                 me.TD(me, 1, 1, mc.makeTabButton(mc, _("Weapons"),        makeXonoticGameCrosshairSettingsTab()));
33                 me.TD(me, 1, 1, mc.makeTabButton(mc, _("Playermodels"),   makeXonoticGameCrosshairSettingsTab()));
34
35         me.gotoRC(me, 2, 0);
36                 me.TD(me, me.rows - 2, me.columns, mc);
37                 
38         /*
39
40           makeXonoticGameViewSettingsTab()));
41           makeXonoticGameGeneralSettingsTab()));
42         makeXonoticGameCrosshairSettingsTab()));
43         
44                makeXonoticGameWeaponSettingsTab()));
45         l"),   makeXonoticGamePlayermodelSettingsTab()));
46                makeXonoticGameHUDSettingsTab()));
47         on"),  makeXonoticGameNotificationSettingsTab()));
48
49
50         me.TR(me);
51                 me.TD(me, 1, 3, e = makeXonoticCheckBox(0, "cl_gentle", _("Disable gore effects and harsh language"))); // also set sv_gentle
52                 
53         me.gotoRC(me, 2, 3); me.setFirstColumn(me, me.currentColumn);
54                 me.TDempty(me, 0.5);
55                 me.TD(me, 1, 2, e = makeXonoticButton(_("Crosshair"), '0 0 0'));
56                         e.onClick = DialogOpenButton_Click;
57                         e.onClickEntity = main.crosshairDialog;
58                 setDependent(e, "crosshair_enabled", 1, 2);
59                 // TODO: show status of crosshair dot and hittest and pickups and such here with text
60         me.TR(me);
61                 me.TDempty(me, 0.5);
62                 me.TD(me, 1, 2, e = makeXonoticButton(_("HUD"), '0 0 0'));
63                         e.onClick = DialogOpenButton_Click;
64                         e.onClickEntity = main.hudDialog;
65                 // TODO: show hud config name with text here 
66         me.TR(me);
67                 me.TDempty(me, 0.5);
68                 me.TD(me, 1, 2, e = makeXonoticButton(_("Notification"), '0 0 0'));
69                         e.onClick = DialogOpenButton_Click;
70                         e.onClickEntity = main.notificationDialog;
71                 // TODO: Show all the notification stuff here
72         me.TR(me);
73                 me.TDempty(me, 0.5);
74                 me.TD(me, 1, 2, e = makeXonoticButton(_("Playermodel"), '0 0 0'));
75                         e.onClick = DialogOpenButton_Click;
76                         e.onClickEntity = main.modelDialog;
77                 // TODO: show csqc model settings like forcemyplayer and deglowing/ghosting bodies with text here
78         me.TR(me);
79                 me.TDempty(me, 0.5);
80                 me.TD(me, 1, 2, e = makeXonoticButton(_("View"), '0 0 0'));
81                         e.onClick = DialogOpenButton_Click;
82                         e.onClickEntity = main.viewDialog;
83                 // TODO: show fov and other settings with text here
84         me.TR(me);
85                 me.TDempty(me, 0.5);
86                 me.TD(me, 1, 2, e = makeXonoticButton(_("Weapon"), '0 0 0'));
87                         e.onClick = DialogOpenButton_Click;
88                         e.onClickEntity = main.weaponsDialog;
89                 // I don't really think this is useful as is, and especially it doesn't look very clean...
90                 // In the future, if ALL of these buttons had some information, then it would be justified/clean
91                 //me.TD(me, 1, 1, e0 = makeXonoticTextLabel(0, string_null)); 
92                 //      e0.textEntity = main.weaponsDialog;
93                 //      e0.allowCut = 1;
94
95         //me.gotoRC(me, me.rows - 1, 0);
96         //      me.TD(me, 1, me.columns, makeXonoticCommandButton(_("Apply immediately"), '0 0 0', "color -1 -1;name \"$_cl_name\";sendcvar cl_weaponpriority;sendcvar cl_autoswitch;sendcvar cl_forceplayermodels;sendcvar cl_forceplayermodelsfromxonotic;playermodel $_cl_playermodel;playerskin $_cl_playerskin", COMMANDBUTTON_APPLY));
97 */
98
99
100         me.gotoRC(me, me.rows - 1, 0);
101                 me.TD(me, 1, me.columns, makeXonoticCommandButton(_("Apply immediately"), '0 0 0', "sendcvar cl_gentle; sendcvar cl_allow_uidtracking; sendcvar cl_allow_uid2name;", COMMANDBUTTON_APPLY));
102 }
103 #endif