]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blob - qcsrc/menu/xonotic/dialog_settings_game_weapons.qc
Optimize vehicle impact code by only calling vlen() if damage would be taken
[xonotic/xonotic-data.pk3dir.git] / qcsrc / menu / xonotic / dialog_settings_game_weapons.qc
1 #include "dialog_settings_game_weapons.qh"
2
3 #include "weaponslist.qh"
4 #include "commandbutton.qh"
5 #include "textlabel.qh"
6 #include "checkbox.qh"
7 #include "button.qh"
8 #include "radiobutton.qh"
9
10 void XonoticGameWeaponsSettingsTab_showNotify(entity me)
11 {
12         loadAllCvars(me);
13 }
14 entity makeXonoticGameWeaponsSettingsTab()
15 {
16         entity me;
17         me = NEW(XonoticGameWeaponsSettingsTab);
18         me.configureDialog(me);
19         return me;
20 }
21
22 void XonoticGameWeaponsSettingsTab_fill(entity me)
23 {
24         entity e;
25         entity weaponsApplyButton = makeXonoticCommandButton(_("Apply immediately"), '0 0 0',
26                 "sendcvar cl_weaponpriority;"
27                 , COMMANDBUTTON_APPLY);
28         weaponsApplyButton.disableOnClick = true;
29
30         me.TR(me);
31                 me.TDempty(me, 0.25);
32                 me.TD(me, 1, 2.5, e = makeXonoticHeaderLabel(_("Weapon Priority List (* = mutator weapon)")));
33         me.TR(me);
34                 me.TDempty(me, 0.25);
35                 me.TD(me, 9, 2.5, e = me.weaponsList = makeXonoticWeaponsList());
36                         e.applyButton = weaponsApplyButton;
37         me.gotoRC(me, 10, 0.25);
38                 me.TD(me, 1, 1.25, e = makeXonoticButton(_("Up"), '0 0 0'));
39                         e.onClick = WeaponsList_MoveUp_Click;
40                         e.onClickEntity = me.weaponsList;
41                         e.applyButton = weaponsApplyButton;
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                         e.applyButton = weaponsApplyButton;
46
47         me.gotoRC(me, 0, 3); me.setFirstColumn(me, me.currentColumn);
48                 me.TD(me, 1, 3, e = makeXonoticCheckBox_T(0, "cl_weaponpriority_useforcycling", _("Use priority list for weapon cycling"),
49                         _("Make use of the list above when cycling through weapons with the mouse wheel")));
50         me.TR(me);
51                 me.TD(me, 1, 3, e = makeXonoticCheckBox(1, "cl_weaponimpulsemode", _("Cycle through only usable weapon selections")));
52                         e.sendCvars = true;
53         me.TR(me);
54         me.TR(me);
55                 me.TD(me, 1, 3, e = makeXonoticCheckBox_T(0, "cl_autoswitch", _("Auto switch weapons on pickup"),
56                         _("Automatically switch to newly picked up weapons if they are better than what you are carrying")));
57                         e.sendCvars = true;
58         me.TR(me);
59                 me.TD(me, 1, 3, e = makeXonoticCheckBox(0, "cl_unpress_attack_on_weapon_switch", _("Release attack buttons when you switch weapons")));
60         me.TR(me);
61         me.TR(me);
62                 me.TD(me, 1, 3, e = makeXonoticCheckBox_T(0, "r_drawviewmodel", _("Draw 1st person weapon model"),
63                         _("Draw the weapon model")));
64         me.TR(me);
65                 me.TDempty(me, 0.2);
66                 me.TD(me, 1, 0.9, e = makeXonoticRadioButton_T(1, "cl_gunalign", "4", _("Left align"),
67                         _("Position of the weapon model; requires reconnect")));
68                         setDependent(e, "r_drawviewmodel", 1, 1);
69                 me.TD(me, 1, 0.9, e = makeXonoticRadioButton_T(1, "cl_gunalign", "1", _("Center"),
70                         _("Position of the weapon model; requires reconnect")));
71                         setDependent(e, "r_drawviewmodel", 1, 1);
72                 me.TD(me, 1, 1.0, e = makeXonoticRadioButton_T(1, "cl_gunalign", "3", _("Right align"),
73                         _("Position of the weapon model; requires reconnect")));
74                         setDependent(e, "r_drawviewmodel", 1, 1);
75         me.TR(me);
76         me.TR(me);
77                 me.TDempty(me, 0.2);
78                 me.TD(me, 1, 2.8, e = makeXonoticCheckBox_T(0, "cl_followmodel", _("Gun model swaying"), "-"));
79                 makeMulti(e, "cl_leanmodel");
80                 setDependent(e, "r_drawviewmodel", 1, 1);
81         me.TR(me);
82                 me.TDempty(me, 0.2);
83                 me.TD(me, 1, 2.8, e = makeXonoticCheckBox(0, "cl_bobmodel", _("Gun model bobbing")));
84                 setDependent(e, "r_drawviewmodel", 1, 1);
85         me.gotoRC(me, me.rows - 1, 0); me.setFirstColumn(me, me.currentColumn);
86                 me.TD(me, 1, me.columns, weaponsApplyButton);
87 }