]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blob - qcsrc/menu/xonotic/dialog_settings_game_model.qc
Use a list for switching between game settings
[xonotic/xonotic-data.pk3dir.git] / qcsrc / menu / xonotic / dialog_settings_game_model.qc
1 #ifndef DIALOG_SETTINGS_GAME_MODEL_H
2 #define DIALOG_SETTINGS_GAME_MODEL_H
3 #include "tab.qc"
4 CLASS(XonoticGameModelSettingsTab, XonoticTab)
5         METHOD(XonoticGameModelSettingsTab, fill, void(entity));
6         METHOD(XonoticGameModelSettingsTab, showNotify, void(entity));
7         ATTRIB(XonoticGameModelSettingsTab, title, string, _("Models"))
8         ATTRIB(XonoticGameModelSettingsTab, intendedWidth, float, 0.9)
9         ATTRIB(XonoticGameModelSettingsTab, rows, float, 13)
10         ATTRIB(XonoticGameModelSettingsTab, columns, float, 5)
11 ENDCLASS(XonoticGameModelSettingsTab)
12 entity makeXonoticGameModelSettingsTab();
13 #include "../gamesettings.qh"
14 REGISTER_SETTINGS(Models, makeXonoticGameModelSettingsTab());
15 #endif
16
17 #ifdef IMPLEMENTATION
18 void XonoticGameModelSettingsTab_showNotify(entity me)
19 {
20         loadAllCvars(me);
21 }
22 entity makeXonoticGameModelSettingsTab()
23 {
24         entity me;
25         me = NEW(XonoticGameModelSettingsTab);
26         me.configureDialog(me);
27         return me;
28 }
29
30 void XonoticGameModelSettingsTab_fill(entity me)
31 {
32         entity e;
33         //float i;
34
35         // Note that this is pretty terrible currently due to the lack of options for this tab...
36         // There is really not many other decent places for these options, additionally
37         // later I would like quite a few more options in this tab.
38
39         me.gotoRC(me, 0, 1); me.setFirstColumn(me, me.currentColumn);
40                 me.TD(me, 1, 3, e = makeXonoticHeaderLabel(_("Items")));
41         me.TR(me);
42                 me.TD(me, 1, 3, e = makeXonoticCheckBox(0, "cl_simple_items", _("Use simple 2D images instead of item models")));
43         me.TR(me);
44                 me.TD(me, 1, 1, e = makeXonoticTextLabel(0, _("Unavailable alpha:")));
45                 me.TD(me, 1, 2, e = makeXonoticSlider(0, 1, 0.1, "cl_ghost_items"));
46         me.TR(me);
47                 me.TD(me, 1, 1, e = makeXonoticTextLabel(0, _("Unavailable color:")));
48                 me.TD(me, 1, 2, e = makeXonoticTextSlider("cl_ghost_items_color"));
49                         e.addValue(e, ZCTX(_("GHOITEMS^Black")), "-1 -1 -1");
50                         e.addValue(e, ZCTX(_("GHOITEMS^Dark")), "0.1 0.1 0.1");
51                         e.addValue(e, ZCTX(_("GHOITEMS^Tinted")), "0.6 0.6 0.6");
52                         e.addValue(e, ZCTX(_("GHOITEMS^Normal")), "1 1 1");
53                         e.addValue(e, ZCTX(_("GHOITEMS^Blue")), "-1 -1 3");
54                         e.configureXonoticTextSliderValues(e);
55                         setDependent(e, "cl_ghost_items", 0.001, 1);
56
57         me.TR(me);
58         me.TR(me);
59                 me.TD(me, 1, 3, e = makeXonoticHeaderLabel(_("Players")));
60         me.TR(me);
61                 me.TD(me, 1, 3, e = makeXonoticCheckBox(0, "cl_forceplayermodels", _("Force player models to mine")));
62         me.TR(me);
63                 me.TD(me, 1, 3, e = makeXonoticCheckBox(0, "cl_forceplayercolors", _("Force player colors to mine")));
64         me.TR(me);
65                 me.TD(me, 1, 1, e = makeXonoticTextLabel(0, _("Body fading:")));
66                 me.TD(me, 1, 2, e = makeXonoticSlider(0, 2, 0.2, "cl_deathglow"));
67         me.TR(me);
68                 me.TD(me, 1, 1, e = makeXonoticTextLabel(0, _("Gibs:")));
69                 me.TD(me, 1, 2, e = makeXonoticTextSlider("cl_nogibs"));
70                         e.addValue(e, ZCTX(_("GIBS^None")), "1");
71                         e.addValue(e, ZCTX(_("GIBS^Few")), "0.75");
72                         e.addValue(e, ZCTX(_("GIBS^Many")), "0.5");
73                         e.addValue(e, ZCTX(_("GIBS^Lots")), "0");
74                         e.configureXonoticTextSliderValues(e);
75                         setDependent(e, "cl_gentle", 0, 0);
76 }
77 #endif