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