]> icculus.org git repositories - divverent/nexuiz.git/blob - data/qcsrc/menu/nexuiz/dialog_multiplayer_playersetup.c
menu-div0test -> menu
[divverent/nexuiz.git] / data / qcsrc / menu / nexuiz / dialog_multiplayer_playersetup.c
1 #ifdef INTERFACE
2 CLASS(NexuizPlayerSettingsTab) EXTENDS(NexuizTab)
3         METHOD(NexuizPlayerSettingsTab, fill, void(entity))
4         ATTRIB(NexuizPlayerSettingsTab, title, string, "Player Setup")
5         ATTRIB(NexuizPlayerSettingsTab, intendedWidth, float, 0.9)
6         ATTRIB(NexuizPlayerSettingsTab, rows, float, 22)
7         ATTRIB(NexuizPlayerSettingsTab, columns, float, 6.5)
8 ENDCLASS(NexuizPlayerSettingsTab)
9 entity makeNexuizPlayerSettingsTab();
10 #endif
11
12 #ifdef IMPLEMENTATION
13 entity makeNexuizPlayerSettingsTab()
14 {
15         entity me;
16         me = spawnNexuizPlayerSettingsTab();
17         me.configureDialog(me);
18         return me;
19 }
20 void fillNexuizPlayerSettingsTab(entity me)
21 {
22         entity e, pms, sl;
23         float i, n;
24
25         me.TR(me);
26                 me.TD(me, 1, 1, e = makeNexuizTextLabel(0, "Player Name:"));
27                 me.TD(me, 1, 2, e = makeNexuizInputBox(1, "_cl_name"));
28                         e.forbiddenCharacters = "\r\n\\\""; // don't care, isn't getting saved
29         me.TR(me);
30                 me.TDempty(me, 1);
31                 me.TD(me, 5, 2, e = makeNexuizCharmap(e));
32         me.TR(me);
33         me.TR(me);
34         me.TR(me);
35         me.TR(me);
36         me.TR(me);
37                 me.TD(me, 1, 1, e = makeNexuizTextLabel(0, "Shirt Color:"));
38                 n = 16 - !cvar("developer");
39                 for(i = 0; i < n; ++i)
40                         me.TDNoMargin(me, 1, 2 / n, e = makeNexuizColorButton(1, 0, i), '1 0 0');
41         me.TR(me);
42                 me.TD(me, 1, 1, e = makeNexuizTextLabel(0, "Pants Color:"));
43                 for(i = 0; i < n; ++i)
44                         me.TDNoMargin(me, 1, 2 / n, e = makeNexuizColorButton(2, 1, i), '1 0 0');
45         me.TR(me);
46                 pms = makeNexuizPlayerModelSelector();
47                 me.TD(me, 1, 0.3, e = makeNexuizButton("<<", '0 0 0'));
48                         e.onClick = PlayerModelSelector_Prev_Click;
49                         e.onClickEntity = pms;
50                 me.TD(me, me.rows - me.currentRow - 1, 2.4, pms);
51                 me.TD(me, 1, 0.3, e = makeNexuizButton(">>", '0 0 0'));
52                         e.onClick = PlayerModelSelector_Next_Click;
53                         e.onClickEntity = pms;
54
55         me.gotoXY(me, 0, 3.5); me.setFirstColumn(me, me.currentColumn);
56                 me.TD(me, 1, 1, e = makeNexuizTextLabel(0, "Field of View:"));
57                 me.TD(me, 1, 2, e = makeNexuizSlider(60, 130, 1, "fov"));
58         me.TR(me);
59
60                 me.TD(me, 1, 1, e = makeNexuizTextLabel(0, "Zoom Factor:"));
61                 me.TD(me, 1, 2, e = makeNexuizSlider(2, 16, 0.5, "cl_zoomfactor"));
62         me.TR(me);
63                 sl = makeNexuizSlider(1, 8, 0.5, "cl_zoomspeed");
64                 me.TD(me, 1, 2.8, e = makeNexuizSliderCheckBox(-1, 1, sl, "Zoom speed:"));
65                 me.TD(me, 1, 2, sl);
66         me.TR(me);
67                 me.TD(me, 1, 3, e = makeNexuizCheckBox(0, "cl_autoswitch", "Auto switch weapons on pickup"));
68         me.TR(me);
69         me.TR(me);
70                 me.TD(me, 1, 1, e = makeNexuizTextLabel(0, "Crosshair:"));
71                 n = 10;
72                 for(i = 1; i <= n; ++i)
73                         me.TDNoMargin(me, 1, 2 / n, e = makeNexuizCrosshairButton(3, i), '0 0 0');
74         me.TR(me);
75                 me.TD(me, 1, 1, e = makeNexuizTextLabel(0, "Crosshair Size:"));
76                 me.TD(me, 1, 2, e = makeNexuizSlider(0.40, 2, 0.05, "crosshair_size"));
77         me.TR(me);
78                 me.TD(me, 1, 1, e = makeNexuizTextLabel(0, "Crosshair Alpha:"));
79                 me.TD(me, 1, 2, e = makeNexuizSlider(0, 1, 0.01, "crosshair_color_alpha"));
80         me.TR(me);
81                 me.TD(me, 1, 1, e = makeNexuizTextLabel(0, "Crosshair Red:"));
82                 me.TD(me, 1, 2, e = makeNexuizSlider(0, 1, 0.01, "crosshair_color_red"));
83         me.TR(me);
84                 me.TD(me, 1, 1, e = makeNexuizTextLabel(0, "Crosshair Green:"));
85                 me.TD(me, 1, 2, e = makeNexuizSlider(0, 1, 0.01, "crosshair_color_green"));
86         me.TR(me);
87                 me.TD(me, 1, 1, e = makeNexuizTextLabel(0, "Crosshair Blue:"));
88                 me.TD(me, 1, 2, e = makeNexuizSlider(0, 1, 0.01, "crosshair_color_blue"));
89         me.TR(me);
90         me.TR(me);
91                 me.TD(me, 1, 1, e = makeNexuizTextLabel(0, "HUD size:"));
92                 me.TD(me, 1, 2, e = makeNexuizTextSlider("viewsize"));
93                         e.addValue(e, "None", "120");
94                         e.addValue(e, "Reduced", "110");
95                         e.addValue(e, "Full", "100");
96                         e.configureNexuizTextSliderValues(e);
97         me.TR(me);
98                 me.TDempty(me, 0.2);
99                 me.TD(me, 1, 2.8, e = makeNexuizCheckBox(1, "sbar_hudselector", "Use alternate HUD layout"));
100                         setDependent(e, "viewsize", 0, 110);
101         me.TR(me);
102         me.TR(me);
103                 me.TD(me, 1, 1, e = makeNexuizTextLabel(0, "Show names:"));
104                 me.TD(me, 1, 2, e = makeNexuizTextSlider("cl_shownames"));
105                         e.addValue(e, "Never", "0");
106                         e.addValue(e, "Team games", "1");
107                         e.addValue(e, "Always", "2");
108                         e.configureNexuizTextSliderValues(e);
109         me.TR(me);
110                 me.TD(me, 1, 1, e = makeNexuizTextLabel(0, "Show waypoints:"));
111                 me.TD(me, 1, 2, e = makeNexuizTextSlider("cl_hidewaypoints"));
112                         e.addValue(e, "Players", "1");
113                         e.addValue(e, "All", "0");
114                         e.configureNexuizTextSliderValues(e);
115         me.TR(me);
116         me.TR(me);
117                 me.TD(me, 1, 1, e = makeNexuizTextLabel(0, "Network speed:"));
118                 me.TD(me, 1, 2, e = makeNexuizTextSlider("_cl_rate"));
119                         e.addValue(e, "56k", "4000");
120                         e.addValue(e, "ISDN", "7000");
121                         e.addValue(e, "Slow ADSL", "15000");
122                         e.addValue(e, "Fast ADSL", "20000");
123                         e.addValue(e, "Broadband", "25000");
124                         e.configureNexuizTextSliderValues(e);
125         me.TR(me);
126                 me.TD(me, 1, 1, e = makeNexuizTextLabel(0, "Client UDP port:"));
127                 me.TD(me, 1, 0.5, e = makeNexuizInputBox(0, "cl_port"));
128
129         me.gotoXY(me, me.rows - 1, 0);
130                 me.TD(me, 1, me.columns, makeNexuizCommandButton("Apply immediately", '0 0 0', "color -1 -1;name $_cl_name;sendcvar cl_zoomfactor;sendcvar cl_zoomspeed;sendcvar cl_autoswitch;rate $_cl_rate", COMMANDBUTTON_APPLY));
131 }
132 #endif