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