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.2) // added extra .2 for center space
8 ENDCLASS(XonoticInputSettingsTab)
9 entity makeXonoticInputSettingsTab();
13 entity makeXonoticInputSettingsTab()
16 me = spawnXonoticInputSettingsTab();
17 me.configureDialog(me);
20 void XonoticInputSettingsTab_fill(entity me)
23 entity kb = makeXonoticKeyBinder();
26 me.TD(me, 1, 2, e = makeXonoticTextLabel(0, _("Key bindings:")));
27 me.TD(me, 1, 1, e = makeXonoticButton(_("Reset all"), '0 0 0'));
28 e.onClick = KeyBinder_Bind_Reset_All;
31 me.TD(me, me.rows - 4, 3, kb);
32 me.gotoRC(me, me.rows - 3, 0);
33 me.TD(me, 1, 1, e = makeXonoticButton(_("Change key..."), '0 0 0'));
34 e.onClick = KeyBinder_Bind_Change;
37 me.TD(me, 1, 1, e = makeXonoticButton(_("Edit..."), '0 0 0'));
38 e.onClick = KeyBinder_Bind_Edit;
40 kb.userbindEditButton = e;
41 kb.userbindEditDialog = main.userbindEditDialog;
42 main.userbindEditDialog.keybindBox = kb;
43 me.TD(me, 1, 1, e = makeXonoticButton(_("Clear"), '0 0 0'));
44 e.onClick = KeyBinder_Bind_Clear;
48 me.gotoRC(me, 0, 3.2); me.setFirstColumn(me, me.currentColumn);
49 me.TD(me, 1, 3, e = makeXonoticCheckBox(0, "con_closeontoggleconsole", _("Pressing \"enter console\" key also closes it")));
51 me.TD(me, 1, 3, e = makeXonoticCheckBox(1, "cl_movement_track_canjump", _("Automatically repeat jumping if holding jump")));
54 if(cvar_type("joy_enable") & CVAR_TYPEFLAG_ENGINE)
55 me.TD(me, 1, 3, e = makeXonoticCheckBox(0, "joy_enable", _("Use joystick input")));
56 else if(cvar_type("joystick") & CVAR_TYPEFLAG_ENGINE)
57 me.TD(me, 1, 3, e = makeXonoticCheckBox(0, "joystick", _("Use joystick input")));
60 me.TD(me, 1, 3, e = makeXonoticCheckBox(0, string_null, _("Use joystick input")));
61 e.disabled = 1; // the option is never available in this case, just there for show
65 me.TD(me, 1, 3, e = makeXonoticTextLabel(0, _("Mouse:")));
68 me.TD(me, 1, 0.8, e = makeXonoticTextLabel(0, _("Sensitivity:")));
69 me.TD(me, 1, 2, e = makeXonoticSlider(1, 32, 0.2, "sensitivity"));
72 me.TD(me, 1, 2.8, e = makeXonoticCheckBox(0, "m_filter", _("Smooth aiming")));
75 me.TD(me, 1, 2.8, e = makeXonoticCheckBox(1.022, "m_pitch", _("Invert aiming")));
78 if(cvar_type("vid_dgamouse") & CVAR_TYPEFLAG_ENGINE)
79 me.TD(me, 1, 2.8, e = makeXonoticCheckBox(0, "vid_dgamouse", _("Disable system mouse acceleration")));
80 else if(cvar_type("apple_mouse_noaccel") & CVAR_TYPEFLAG_ENGINE)
81 me.TD(me, 1, 2.8, e = makeXonoticCheckBox(0, "apple_mouse_noaccel", _("Disable system mouse acceleration")));
84 me.TD(me, 1, 2.8, e = makeXonoticCheckBox(0, string_null, _("Disable system mouse acceleration")));
85 e.disabled = 1; // the option is never available in this case, just there for show
89 me.TD(me, 1, 2.8, e = makeXonoticCheckBox(0, "m_accelerate", _("Enable built in mouse acceleration")));
92 me.gotoRC(me, me.rows - 1, 0);
93 me.TD(me, 1, me.columns, makeXonoticCommandButton(_("Apply immediately"), '0 0 0', "sendcvar cl_movement_track_canjump", COMMANDBUTTON_APPLY));