2 CLASS(XonoticInputSettingsTab) EXTENDS(XonoticTab)
3 METHOD(XonoticInputSettingsTab, fill, void(entity))
4 ATTRIB(XonoticInputSettingsTab, intendedWidth, float, 0.9)
5 ATTRIB(XonoticInputSettingsTab, rows, float, 15.5)
6 ATTRIB(XonoticInputSettingsTab, columns, float, 6.2) // added extra .2 for center space
7 ENDCLASS(XonoticInputSettingsTab)
8 entity makeXonoticInputSettingsTab();
12 entity makeXonoticInputSettingsTab()
15 me = spawnXonoticInputSettingsTab();
16 me.configureDialog(me);
20 void CheckBox_Click_Redisplay(entity me, entity checkbox)
22 CheckBox_Click(me, checkbox);
23 cmd("\ndefer 0.2 \"togglemenu 1\"\n");
26 void XonoticInputSettingsTab_fill(entity me)
29 entity kb = makeXonoticKeyBinder();
32 me.TD(me, 1, 3, e = makeXonoticHeaderLabel(_("Key Bindings")));
34 me.TD(me, me.rows - 3, 3, kb);
35 me.gotoRC(me, me.rows - 2, 0);
36 me.TD(me, 1, 1, e = makeXonoticButton(_("Change key..."), '0 0 0'));
37 e.onClick = KeyBinder_Bind_Change;
40 me.TD(me, 1, 1, e = makeXonoticButton(_("Edit..."), '0 0 0'));
41 e.onClick = KeyBinder_Bind_Edit;
43 kb.userbindEditButton = e;
44 kb.userbindEditDialog = main.userbindEditDialog;
45 main.userbindEditDialog.keybindBox = kb;
46 me.TD(me, 1, 1, e = makeXonoticButton(_("Clear"), '0 0 0'));
47 e.onClick = KeyBinder_Bind_Clear;
51 me.TD(me, 1, 3, e = makeXonoticButton(_("Reset all"), '0 0 0'));
52 e.onClick = KeyBinder_Bind_Reset_All;
55 me.gotoRC(me, 0, 3.2); me.setFirstColumn(me, me.currentColumn);
56 me.TD(me, 1, 3, e = makeXonoticHeaderLabel(_("Mouse")));
58 me.TD(me, 1, 1, e = makeXonoticTextLabel(0, _("Sensitivity:")));
59 me.TD(me, 1, 2, e = makeXonoticSlider(1, 32, 0.2, "sensitivity"));
61 me.TD(me, 1, 3, e = makeXonoticCheckBox(0, "m_filter", _("Smooth aiming")));
63 me.TD(me, 1, 3, e = makeXonoticCheckBox(1.022, "m_pitch", _("Invert aiming")));
65 me.TD(me, 1, 3, e = makeXonoticCheckBox(0, "menu_mouse_absolute", _("Use system mouse positioning")));
66 makeMulti(e, "hud_cursormode");
67 e.onClick = CheckBox_Click_Redisplay;
70 me.TD(me, 1, 3, e = makeXonoticCheckBox(0, "m_accelerate", _("Enable built in mouse acceleration")));
72 if(cvar_type("vid_dgamouse") & CVAR_TYPEFLAG_ENGINE)
73 me.TD(me, 1, 3, e = makeXonoticCheckBox(0, "vid_dgamouse", _("Disable system mouse acceleration")));
74 else if(cvar_type("apple_mouse_noaccel") & CVAR_TYPEFLAG_ENGINE)
75 me.TD(me, 1, 3, e = makeXonoticCheckBox(0, "apple_mouse_noaccel", _("Disable system mouse acceleration")));
78 me.TD(me, 1, 3, e = makeXonoticCheckBox(0, string_null, _("Disable system mouse acceleration")));
79 e.disabled = 1; // the option is never available in this case, just there for show
84 me.TD(me, 1, 3, e = makeXonoticHeaderLabel(_("Other")));
86 me.TD(me, 1, 3, e = makeXonoticCheckBox(0, "con_closeontoggleconsole", _("Pressing \"enter console\" key also closes it")));
88 me.TD(me, 1, 3, e = makeXonoticCheckBox(1, "cl_movement_track_canjump", _("Automatically repeat jumping if holding jump")));
91 me.TD(me, 1, 1, e = makeXonoticTextLabel(0, _("Jetpack on jump:")));
92 me.TD(me, 1, 2, e = makeXonoticTextSlider("cl_jetpack_jump"));
93 e.addValue(e, ZCTX(_("JPJUMP^Disabled")), "0");
94 e.addValue(e, _("Air only"), "1");
95 e.addValue(e, ZCTX(_("JPJUMP^All")), "2");
96 e.configureXonoticTextSliderValues(e);
99 if(cvar_type("joy_enable") & CVAR_TYPEFLAG_ENGINE)
101 me.TD(me, 1, 3, e = makeXonoticCheckBox(0, "joy_enable", _("Use joystick input")));
102 setDependent(e, "joy_detected", 1, 10000000);
104 else if(cvar_type("joystick") & CVAR_TYPEFLAG_ENGINE)
106 me.TD(me, 1, 3, e = makeXonoticCheckBox(0, "joystick", _("Use joystick input")));
107 setDependent(e, "joy_detected", 1, 10000000);
111 me.TD(me, 1, 3, e = makeXonoticCheckBox(0, string_null, _("Use joystick input")));
112 e.disabled = 1; // the option is never available in this case, just there for show