Make the menu header style editable in skinfiles
[xonotic/xonotic-data.pk3dir.git] / qcsrc / menu / xonotic / dialog_settings_game_weapons.c
1 #ifdef INTERFACE
2 CLASS(XonoticGameWeaponsSettingsTab) EXTENDS(XonoticTab)
3         //METHOD(XonoticGameWeaponsSettingsTab, toString, string(entity))
4         METHOD(XonoticGameWeaponsSettingsTab, fill, void(entity))
5         METHOD(XonoticGameWeaponsSettingsTab, showNotify, void(entity))
6         ATTRIB(XonoticGameWeaponsSettingsTab, title, string, _("Weapons"))
7         ATTRIB(XonoticGameWeaponsSettingsTab, intendedWidth, float, 0.9)
8         ATTRIB(XonoticGameWeaponsSettingsTab, rows, float, 13)
9         ATTRIB(XonoticGameWeaponsSettingsTab, columns, float, 6)
10         ATTRIB(XonoticGameWeaponsSettingsTab, weaponsList, entity, NULL)
11 ENDCLASS(XonoticGameWeaponsSettingsTab)
12 entity makeXonoticGameWeaponsSettingsTab();
13 #endif
14
15 #ifdef IMPLEMENTATION
16 void XonoticGameWeaponsSettingsTab_showNotify(entity me)
17 {
18         loadAllCvars(me);
19 }
20 entity makeXonoticGameWeaponsSettingsTab()
21 {
22         entity me;
23         me = spawnXonoticGameWeaponsSettingsTab();
24         me.configureDialog(me);
25         return me;
26 }
27
28 void XonoticGameWeaponsSettingsTab_fill(entity me)
29 {
30         entity e;
31
32         me.TR(me);
33                 me.TDempty(me, 0.25);
34                 me.TD(me, 1, 2.5, e = makeXonoticHeaderLabel(_("Weapon Priority List")));
35         me.TR(me);
36                 me.TDempty(me, 0.25);
37                 me.TD(me, 10, 2.5, e = me.weaponsList = makeXonoticWeaponsList());
38         me.gotoRC(me, 11, 0.25);
39                 me.TD(me, 1, 1.25, e = makeXonoticButton(_("Up"), '0 0 0'));
40                         e.onClick = WeaponsList_MoveUp_Click;
41                         e.onClickEntity = me.weaponsList;
42                 me.TD(me, 1, 1.25, e = makeXonoticButton(_("Down"), '0 0 0'));
43                         e.onClick = WeaponsList_MoveDown_Click;
44                         e.onClickEntity = me.weaponsList;
45
46         me.gotoRC(me, 0, 3); me.setFirstColumn(me, me.currentColumn);
47                 me.TD(me, 1, 3, e = makeXonoticCheckBox(0, "cl_weaponpriority_useforcycling", _("Use priority list for weapon cycling")));
48         me.TR(me);
49                 me.TD(me, 1, 3, e = makeXonoticCheckBox(1, "cl_weaponimpulsemode", _("Cycle through only usable weapon selections")));
50         me.TR(me);
51         me.TR(me);
52                 me.TD(me, 1, 3, e = makeXonoticCheckBox(0, "cl_autoswitch", _("Auto switch weapons on pickup")));
53         me.TR(me);
54                 me.TD(me, 1, 3, e = makeXonoticCheckBox(0, "cl_unpress_attack_on_weapon_switch", _("Release attack buttons when you switch weapons")));
55         me.TR(me);
56         me.TR(me);
57                 me.TD(me, 1, 3, e = makeXonoticCheckBox(0, "r_drawviewmodel", _("Draw 1st person weapon model")));
58         me.TR(me);
59                 me.TDempty(me, 0.2);
60                 me.TD(me, 1, 0.9, e = makeXonoticRadioButton(1, "cl_gunalign", "4", _("Left align")));
61                         setDependent(e, "r_drawviewmodel", 1, 1);
62                 me.TD(me, 1, 0.9, e = makeXonoticRadioButton(1, "cl_gunalign", "1", _("Center")));
63                         setDependent(e, "r_drawviewmodel", 1, 1);
64                 me.TD(me, 1, 1.0, e = makeXonoticRadioButton(1, "cl_gunalign", "3", _("Right align")));
65                         setDependent(e, "r_drawviewmodel", 1, 1);
66         me.TR(me);
67         me.TR(me);
68                 me.TDempty(me, 0.2);
69                 me.TD(me, 1, 2.8, e = makeXonoticCheckBox(0, "cl_followmodel", _("Gun model swaying")));
70                 makeMulti(e, "cl_leanmodel");
71                 setDependent(e, "r_drawviewmodel", 1, 1);
72         me.TR(me);
73                 me.TDempty(me, 0.2);
74                 me.TD(me, 1, 2.8, e = makeXonoticCheckBox(0, "cl_bobmodel", _("Gun model bobbing")));
75                 setDependent(e, "r_drawviewmodel", 1, 1);
76 }
77 #endif