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