]> icculus.org git repositories - divverent/nexuiz.git/blob - data/qcsrc/menu/nexuiz/dialog_settings_input.c
20 -> 32 userbinds
[divverent/nexuiz.git] / data / qcsrc / menu / nexuiz / dialog_settings_input.c
1 #ifdef INTERFACE
2 CLASS(NexuizInputSettingsTab) EXTENDS(NexuizTab)
3         METHOD(NexuizInputSettingsTab, fill, void(entity))
4         ATTRIB(NexuizInputSettingsTab, title, string, "Input")
5         ATTRIB(NexuizInputSettingsTab, intendedWidth, float, 0.9)
6         ATTRIB(NexuizInputSettingsTab, rows, float, 15)
7         ATTRIB(NexuizInputSettingsTab, columns, float, 6.5)
8 ENDCLASS(NexuizInputSettingsTab)
9 entity makeNexuizInputSettingsTab();
10 #endif
11
12 #ifdef IMPLEMENTATION
13 entity makeNexuizInputSettingsTab()
14 {
15         entity me;
16         me = spawnNexuizInputSettingsTab();
17         me.configureDialog(me);
18         return me;
19 }
20 void fillNexuizInputSettingsTab(entity me)
21 {
22         entity e;
23         entity kb;
24
25         me.TR(me);
26                 me.TD(me, 1, 3, e = makeNexuizTextLabel(0, "Key bindings:"));
27         me.TR(me);
28                 me.TD(me, me.rows - 2, 3, kb = makeNexuizKeyBinder());
29         me.gotoRC(me, me.rows - 1, 0);
30         me.TR(me);
31                 me.TD(me, 1, 1, e = makeNexuizButton("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, e = makeNexuizButton("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, e = makeNexuizButton("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 = makeNexuizTextLabel(0, "Sensitivity:"));
47                 me.TD(me, 1, 2, e = makeNexuizSlider(1, 32, 0.2, "sensitivity"));
48         me.TR(me);
49                 me.TD(me, 1, 1, e = makeNexuizTextLabel(0, "UI mouse speed:"));
50                 me.TD(me, 1, 2, e = makeNexuizSlider(0.2, 4.0, 0.1, "menu_mouse_speed"));
51         me.TR(me);
52                 me.TD(me, 1, 3, e = makeNexuizCheckBox(0, "m_filter", "Mouse filter"));
53         me.TR(me);
54                 me.TD(me, 1, 3, e = makeNexuizCheckBox(1.022, "m_pitch", "Invert mouse"));
55         me.TR(me);
56                 if(cvar_type("joy_enable") & CVAR_TYPEFLAG_ENGINE)
57                         me.TD(me, 1, 3, e = makeNexuizCheckBox(0, "joy_enable", "Use joystick input"));
58                 else if(cvar_type("joystick") & CVAR_TYPEFLAG_ENGINE)
59                         me.TD(me, 1, 3, e = makeNexuizCheckBox(0, "joystick", "Use joystick input"));
60         me.TR(me);
61                 me.TD(me, 1, 3, e = makeNexuizCheckBox(0, "cl_movement", "Client-side movement prediction"));
62         me.TR(me);
63                 me.TD(me, 1, 3, e = makeNexuizCheckBox(0, "con_closeontoggleconsole", "\"enter console\" also closes"));
64         me.TR(me);
65                 if(cvar_type("vid_dgamouse") & CVAR_TYPEFLAG_ENGINE)
66                         me.TD(me, 1, 3, e = makeNexuizCheckBox(0, "vid_dgamouse", "Turn off OS mouse acceleration"));
67                 else if(cvar_type("apple_mouse_noaccel") & CVAR_TYPEFLAG_ENGINE)
68                         me.TD(me, 1, 3, e = makeNexuizCheckBox(0, "apple_mouse_noaccel", "Turn off OS mouse acceleration"));
69 }
70 #endif