add a multi-cvar single-value tgo the text slider
[divverent/nexuiz.git] / data / qcsrc / menu / nexuiz / dialog_multiplayer_create_advanced.c
1 #ifdef INTERFACE
2 CLASS(NexuizAdvancedDialog) EXTENDS(NexuizDialog)
3         METHOD(NexuizAdvancedDialog, fill, void(entity))
4         METHOD(NexuizAdvancedDialog, showNotify, void(entity))
5         METHOD(NexuizAdvancedDialog, close, void(entity))
6         ATTRIB(NexuizAdvancedDialog, title, string, "Advanced server settings")
7         ATTRIB(NexuizAdvancedDialog, color, vector, SKINCOLOR_DIALOG_ADVANCED)
8         ATTRIB(NexuizAdvancedDialog, intendedWidth, float, 0.5)
9         ATTRIB(NexuizAdvancedDialog, rows, float, 14)
10         ATTRIB(NexuizAdvancedDialog, columns, float, 3)
11         ATTRIB(NexuizAdvancedDialog, refilterEntity, entity, NULL)
12 ENDCLASS(NexuizAdvancedDialog)
13 #endif
14
15 #ifdef IMPLEMENTATION
16 void showNotifyNexuizAdvancedDialog(entity me)
17 {
18         loadAllCvars(me);
19 }
20
21 void fillNexuizAdvancedDialog(entity me)
22 {
23         entity e;
24         me.TR(me);
25                 me.TD(me, 1, 1.2, makeNexuizTextLabel(0, "Game settings:"));
26         me.TR(me);
27                 me.TDempty(me, 0.2);
28                 me.TD(me, 1, 1.2, e = makeNexuizCheckBox(0, "sv_spectate", "Allow spectating"));
29         me.TR(me);
30                 me.TDempty(me, 0.2);
31                 me.TD(me, 1, 1.2, e = makeNexuizTextLabel(0, "Spawn shield:"));
32                 me.TD(me, 1, 1.7, e = makeNexuizSlider(0, 15, 0.5, "g_spawnshieldtime"));
33         me.TR(me);
34                 me.TDempty(me, 0.2);
35                 me.TD(me, 1, 1.2, e = makeNexuizTextLabel(0, "Start delay:"));
36                 me.TD(me, 1, 1.7, e = makeNexuizSlider(0, 30, 0.5, "g_start_delay"));
37         me.TR(me);
38         me.TR(me);
39                 me.TDempty(me, 0.2);
40                 me.TD(me, 1, 1.2, e = makeNexuizTextLabel(0, "Game speed:"));
41                 me.TD(me, 1, 1.7, e = makeNexuizSlider(0.5, 2.0, 0.1, "slowmo"));
42         me.TR(me);
43                 me.TDempty(me, 0.2);
44                 me.TD(me, 1, 1.2, e = makeNexuizCheckBoxEx(2, 0, "g_antilag", "AntiLag"));
45         me.TR(me);
46         me.TR(me);
47                 me.TD(me, 1, 1.2, makeNexuizTextLabel(0, "Teamplay settings:"));
48         me.TR(me);
49                 me.TDempty(me, 0.2);
50                 me.TD(me, 1, 1.2, e = makeNexuizTextLabel(0, "Friendly fire scale:"));
51                 me.TD(me, 1, 1.7, e = makeNexuizSlider(0, 1.0, 0.05, "g_friendlyfire"));
52         me.TR(me);
53                 me.TDempty(me, 0.2);
54                 me.TD(me, 1, 1.2, e = makeNexuizTextLabel(0, "Friendly fire penalty:"));
55                 me.TD(me, 1, 1.7, e = makeNexuizSlider(0, 1.0, 0.05, "g_mirrordamage"));
56         me.TR(me);
57                 me.TDempty(me, 0.2);
58                 me.TD(me, 1, 1.2, e = makeNexuizTextLabel(0, "Teams:"));
59                 me.TD(me, 1, 1.7, e = makeNexuizTextSlider("g_tdm_teams_override g_domination_teams_override g_keyhunt_teams_override"));
60                         e.addValue(e, "Default", "0");
61                         e.addValue(e, "2 teams", "2");
62                         e.addValue(e, "3 teams", "3");
63                         e.addValue(e, "4 teams", "4");
64                         e.configureNexuizTextSliderValues(e);
65
66         me.gotoRC(me, me.rows - 1, 0);
67                 me.TD(me, 1, me.columns, e = makeNexuizButton("OK", '0 0 0'));
68                         e.onClick = Dialog_Close;
69                         e.onClickEntity = me;
70 }
71
72 void closeNexuizAdvancedDialog(entity me)
73 {
74         if(me.refilterEntity)
75                 me.refilterEntity.refilter(me.refilterEntity);
76         closeDialog(me);
77 }
78 #endif