]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blob - qcsrc/menu/xonotic/dialog_settings_input.c
Merge remote branch 'origin/master' into samual/hagar_secondary_autorelease
[xonotic/xonotic-data.pk3dir.git] / qcsrc / menu / xonotic / dialog_settings_input.c
1 #ifdef INTERFACE
2 CLASS(XonoticInputSettingsTab) EXTENDS(XonoticTab)
3         METHOD(XonoticInputSettingsTab, fill, void(entity))
4         ATTRIB(XonoticInputSettingsTab, title, string, _("Input"))
5         ATTRIB(XonoticInputSettingsTab, intendedWidth, float, 0.9)
6         ATTRIB(XonoticInputSettingsTab, rows, float, 17)
7         ATTRIB(XonoticInputSettingsTab, columns, float, 6.5)
8 ENDCLASS(XonoticInputSettingsTab)
9 entity makeXonoticInputSettingsTab();
10 #endif
11
12 #ifdef IMPLEMENTATION
13 entity makeXonoticInputSettingsTab()
14 {
15         entity me;
16         me = spawnXonoticInputSettingsTab();
17         me.configureDialog(me);
18         return me;
19 }
20 void XonoticInputSettingsTab_fill(entity me)
21 {
22         entity e;
23         entity kb;
24
25         me.TR(me);
26                 me.TD(me, 1, 3, e = makeXonoticTextLabel(0, _("Key bindings:")));
27         me.TR(me);
28                 me.TD(me, me.rows - 4, 3.3, kb = makeXonoticKeyBinder());
29         me.gotoRC(me, me.rows - 3, 0);
30         me.TR(me);
31                 me.TD(me, 1, 1.1, e = makeXonoticButton(_("Change key..."), '0 0 0'));
32                         e.onClick = KeyBinder_Bind_Change;
33                         e.onClickEntity = kb;
34                         kb.keyGrabButton = e;
35                 me.TD(me, 1, 1.1, e = makeXonoticButton(_("Edit..."), '0 0 0'));
36                         e.onClick = KeyBinder_Bind_Edit;
37                         e.onClickEntity = kb;
38                         kb.userbindEditButton = e;
39                         kb.userbindEditDialog = main.userbindEditDialog;
40                         main.userbindEditDialog.keybindBox = kb;
41                 me.TD(me, 1, 1.1, e = makeXonoticButton(_("Clear"), '0 0 0'));
42                         e.onClick = KeyBinder_Bind_Clear;
43                         e.onClickEntity = kb;
44
45         me.gotoRC(me, 0, 3.5); me.setFirstColumn(me, me.currentColumn);
46                 me.TD(me, 1, 1, e = makeXonoticTextLabel(0, _("Sensitivity:")));
47                 me.TD(me, 1, 2, e = makeXonoticSlider(1, 32, 0.2, "sensitivity"));
48         me.TR(me);
49                 if(cvar("menu_mouse_absolute") == 0) // TODO remove this entirely later
50                 {
51                         me.TD(me, 1, 1, e = makeXonoticTextLabel(0, _("UI mouse speed:")));
52                         me.TD(me, 1, 2, e = makeXonoticSlider(0.2, 4.0, 0.1, "menu_mouse_speed"));
53                 }
54         me.TR(me);
55                 me.TD(me, 1, 3, e = makeXonoticCheckBox(0, "m_filter", _("Mouse filter")));
56         me.TR(me);
57                 me.TD(me, 1, 3, e = makeXonoticCheckBox(1.022, "m_pitch", _("Invert mouse")));
58         me.TR(me);
59                 if(cvar_type("joy_enable") & CVAR_TYPEFLAG_ENGINE)
60                         me.TD(me, 1, 3, e = makeXonoticCheckBox(0, "joy_enable", _("Use joystick input")));
61                 else if(cvar_type("joystick") & CVAR_TYPEFLAG_ENGINE)
62                         me.TD(me, 1, 3, e = makeXonoticCheckBox(0, "joystick", _("Use joystick input")));
63         me.TR(me);
64                 if(cvar_type("vid_dgamouse") & CVAR_TYPEFLAG_ENGINE)
65                         me.TD(me, 1, 3, e = makeXonoticCheckBox(0, "vid_dgamouse", _("Turn off OS mouse acceleration")));
66                 else if(cvar_type("apple_mouse_noaccel") & CVAR_TYPEFLAG_ENGINE)
67                         me.TD(me, 1, 3, e = makeXonoticCheckBox(0, "apple_mouse_noaccel", _("Turn off OS mouse acceleration")));
68         me.TR(me);
69                 me.TD(me, 1, 3, e = makeXonoticCheckBox(0, "con_closeontoggleconsole", _("\"enter console\" also closes")));
70         me.TR(me);
71         me.TR(me);
72                 me.TD(me, 1, 3, e = makeXonoticCheckBox(1, "cl_movement_track_canjump", _("Holding jump key keeps jumping")));
73         me.gotoRC(me, me.rows - 1, 0);
74                 me.TD(me, 1, me.columns, makeXonoticCommandButton(_("Apply immediately"), '0 0 0', "sendcvar cl_movement_track_canjump", COMMANDBUTTON_APPLY));
75 }
76 #endif