]> icculus.org git repositories - divverent/nexuiz.git/blob - data/qcsrc/menu-div0test/nexuiz/dialog_multiplayer_create_mutators.c
add gravity slider in mutators
[divverent/nexuiz.git] / data / qcsrc / menu-div0test / nexuiz / dialog_multiplayer_create_mutators.c
1 #ifdef INTERFACE
2 CLASS(NexuizMutatorsDialog) EXTENDS(NexuizDialog)
3         METHOD(NexuizMutatorsDialog, fill, void(entity))
4         METHOD(NexuizMutatorsDialog, showNotify, void(entity))
5         METHOD(NexuizMutatorsDialog, close, void(entity))
6         ATTRIB(NexuizMutatorsDialog, title, string, "Mutators")
7         ATTRIB(NexuizMutatorsDialog, color, vector, SKINCOLOR_DIALOG_MUTATORS)
8         ATTRIB(NexuizMutatorsDialog, intendedWidth, float, 0.6)
9         ATTRIB(NexuizMutatorsDialog, rows, float, 9)
10         ATTRIB(NexuizMutatorsDialog, columns, float, 4)
11         ATTRIB(NexuizMutatorsDialog, refilterEntity, entity, NULL)
12 ENDCLASS(NexuizMutatorsDialog)
13 #endif
14
15 #ifdef IMPLEMENTATION
16 void showNotifyNexuizMutatorsDialog(entity me)
17 {
18         loadAllCvars(me);
19 }
20 void fillNexuizMutatorsDialog(entity me)
21 {
22         entity e, s;
23         me.TR(me);
24                 me.TD(me, 1, 2, makeNexuizTextLabel(0, "Game mutators:"));
25         me.TR(me);
26                 me.TD(me, 1, 2, e = makeNexuizCheckBox(0, "g_cloaked", "Cloaked"));
27         me.TR(me);
28                 me.TD(me, 1, 2, e = makeNexuizCheckBox(0, "g_footsteps", "Foot steps"));
29         me.TR(me);
30                 me.TD(me, 1, 2, e = makeNexuizCheckBox(0, "g_grappling_hook", "Grappling hook"));
31         me.TR(me);
32                 me.TD(me, 1, 2, e = makeNexuizCheckBox(0, "g_laserguided_missile", "Laser guided missiles"));
33         me.TR(me);
34                 me.TD(me, 1, 2, e = makeNexuizCheckBox(0, "g_midair", "Mid-air"));
35         me.TR(me);
36                 me.TD(me, 1, 2, e = makeNexuizCheckBox(0, "g_vampire", "Vampire"));
37
38         me.gotoXY(me, 0, 2); me.setFirstColumn(me, me.currentColumn);
39                 me.TD(me, 1, 2, makeNexuizTextLabel(0, "Arena mutators:"));
40         me.TR(me);
41                 me.TD(me, 1, 2, e = makeNexuizRadioButton(1, string_null, string_null, "Regular"));
42         me.TR(me);
43                 me.TD(me, 1, 2, e = makeNexuizRadioButton(1, "g_instagib", string_null, "InstaGib"));
44         me.TR(me);
45                 me.TD(me, 1, 2, e = makeNexuizRadioButton(1, "g_minstagib", string_null, "MinstaGib"));
46         me.TR(me);
47                 me.TD(me, 1, 2, e = makeNexuizRadioButton(1, "g_nixnex", string_null, "NixNex"));
48         me.TR(me);
49                 me.TDempty(me, 0.2);
50                 me.TD(me, 1, 1.8, e = makeNexuizCheckBox(1, "g_nixnex_with_laser", "with laser"));
51                         setDependent(e, "g_nixnex", 1, 1);
52         me.TR(me);
53                 me.TD(me, 1, 2, e = makeNexuizRadioButton(1, "g_rocketarena", string_null, "Rocket launcher arena"));
54
55         me.gotoXY(me, me.rows - 2, 0);
56                 s = makeNexuizSlider(80, 400, 40, "sv_gravity");
57                         s.valueDigits = 0;
58                         s.valueDisplayMultiplier = 0.125; // show gravity in percent
59                 me.TD(me, 1, 1, e = makeNexuizSliderCheckBox(800, 0, s, "Low gravity"));
60                 me.TD(me, 1, 3, s);
61
62         me.gotoXY(me, me.rows - 1, 0);
63                 me.TD(me, 1, me.columns, e = makeNexuizButton("OK", '0 0 0'));
64                         e.onClick = Dialog_Close;
65                         e.onClickEntity = me;
66 }
67
68 void closeNexuizMutatorsDialog(entity me)
69 {
70         if(me.refilterEntity)
71                 me.refilterEntity.refilter(me.refilterEntity);
72         closeDialog(me);
73 }
74 #endif