]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blob - qcsrc/menu/xonotic/dialog_settings_game.c
Merge remote-tracking branch 'origin/master' into samual/combined_updates
[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)
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 e;
24
25
26         me.TR(me);
27                 me.TD(me, 1, 3, e = makeXonoticCheckBox(0, "cl_gentle", _("Disable gore effects and harsh language"))); // also set sv_gentle
28                 
29         me.gotoRC(me, 2, 3); me.setFirstColumn(me, me.currentColumn);
30                 me.TDempty(me, 0.5);
31                 me.TD(me, 1, 2, e = makeXonoticButton(_("Crosshair"), '0 0 0'));
32                         e.onClick = DialogOpenButton_Click;
33                         e.onClickEntity = main.crosshairDialog;
34                 setDependent(e, "crosshair_enabled", 1, 2);
35                 // TODO: show status of crosshair dot and hittest and pickups and such here with text
36         me.TR(me);
37                 me.TDempty(me, 0.5);
38                 me.TD(me, 1, 2, e = makeXonoticButton(_("HUD"), '0 0 0'));
39                         e.onClick = DialogOpenButton_Click;
40                         e.onClickEntity = main.hudDialog;
41                 // TODO: show hud config name with text here 
42         me.TR(me);
43                 me.TDempty(me, 0.5);
44                 me.TD(me, 1, 2, e = makeXonoticButton(_("Notification"), '0 0 0'));
45                         e.onClick = DialogOpenButton_Click;
46                         e.onClickEntity = main.notificationDialog;
47                 // TODO: Show all the notification stuff here
48         me.TR(me);
49                 me.TDempty(me, 0.5);
50                 me.TD(me, 1, 2, e = makeXonoticButton(_("Playermodel"), '0 0 0'));
51                         e.onClick = DialogOpenButton_Click;
52                         e.onClickEntity = main.modelDialog;
53                 // TODO: show csqc model settings like forcemyplayer and deglowing/ghosting bodies with text here
54         me.TR(me);
55                 me.TDempty(me, 0.5);
56                 me.TD(me, 1, 2, e = makeXonoticButton(_("View"), '0 0 0'));
57                         e.onClick = DialogOpenButton_Click;
58                         e.onClickEntity = main.viewDialog;
59                 // TODO: show fov and other settings with text here
60         me.TR(me);
61                 me.TDempty(me, 0.5);
62                 me.TD(me, 1, 2, e = makeXonoticButton(_("Weapon"), '0 0 0'));
63                         e.onClick = DialogOpenButton_Click;
64                         e.onClickEntity = main.weaponsDialog;
65                 // I don't really think this is useful as is, and especially it doesn't look very clean...
66                 // In the future, if ALL of these buttons had some information, then it would be justified/clean
67                 //me.TD(me, 1, 1, e0 = makeXonoticTextLabel(0, string_null)); 
68                 //      e0.textEntity = main.weaponsDialog;
69                 //      e0.allowCut = 1;
70
71         //me.gotoRC(me, me.rows - 1, 0);
72         //      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));
73
74
75
76         me.gotoRC(me, me.rows - 1, 0);
77                 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));
78 }
79 #endif