]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blobdiff - qcsrc/menu/xonotic/dialog_settings_game_model.c
Make the menu header style editable in skinfiles
[xonotic/xonotic-data.pk3dir.git] / qcsrc / menu / xonotic / dialog_settings_game_model.c
index c55d4d488ba4ebcf37f2fd096fcf27a81e5c79ba..c2aedc1f7eaa99d764924864d018896df85fb58c 100644 (file)
@@ -1,29 +1,63 @@
 #ifdef INTERFACE
-CLASS(XonoticModelDialog) EXTENDS(XonoticDialog)
-       METHOD(XonoticModelDialog, toString, string(entity))
-       METHOD(XonoticModelDialog, fill, void(entity))
-       METHOD(XonoticModelDialog, showNotify, void(entity))
-       ATTRIB(XonoticModelDialog, title, string, _("Model settings"))
-       ATTRIB(XonoticModelDialog, color, vector, SKINCOLOR_DIALOG_MODEL)
-       ATTRIB(XonoticModelDialog, intendedWidth, float, 0.5)
-       ATTRIB(XonoticModelDialog, rows, float, 7)
-       ATTRIB(XonoticModelDialog, columns, float, 3)
-ENDCLASS(XonoticModelDialog)
+CLASS(XonoticGameModelSettingsTab) EXTENDS(XonoticTab)
+       //METHOD(XonoticGameModelSettingsTab, toString, string(entity))
+       METHOD(XonoticGameModelSettingsTab, fill, void(entity))
+       METHOD(XonoticGameModelSettingsTab, showNotify, void(entity))
+       ATTRIB(XonoticGameModelSettingsTab, title, string, _("Model"))
+       ATTRIB(XonoticGameModelSettingsTab, intendedWidth, float, 0.9)
+       ATTRIB(XonoticGameModelSettingsTab, rows, float, 13)
+       ATTRIB(XonoticGameModelSettingsTab, columns, float, 5)
+ENDCLASS(XonoticGameModelSettingsTab)
+entity makeXonoticGameModelSettingsTab();
 #endif
 
 #ifdef IMPLEMENTATION
-void XonoticModelDialog_showNotify(entity me)
+void XonoticGameModelSettingsTab_showNotify(entity me)
 {
        loadAllCvars(me);
 }
-string XonoticModelDialog_toString(entity me)
+entity makeXonoticGameModelSettingsTab()
 {
-       return "hi"; // TODO: show csqc model settings like forcemyplayer and deglowing/ghosting bodies with text here
+       entity me;
+       me = spawnXonoticGameModelSettingsTab();
+       me.configureDialog(me);
+       return me;
 }
-void XonoticModelDialog_fill(entity me)
+
+void XonoticGameModelSettingsTab_fill(entity me)
 {
        entity e;
+       //float i;
        
+       // Note that this is pretty terrible currently due to the lack of options for this tab...
+       // There is really not many other decent places for these options, additionally
+       // later I would like quite a few more options in this tab.
+
+       me.gotoRC(me, 0, 1); me.setFirstColumn(me, me.currentColumn);
+               me.TD(me, 1, 3, e = makeXonoticHeaderLabel(_("Items")));
+       me.TR(me);
+               me.TD(me, 1, 3, e = makeXonoticCheckBox(0, "cl_simple_items", _("Use simple 2D images instead of item models")));
+       me.TR(me);
+               me.TD(me, 1, 1, e = makeXonoticTextLabel(0, _("Unavailable alpha:")));
+               me.TD(me, 1, 2, e = makeXonoticSlider(0, 1, 0.1, "cl_ghost_items"));
+       me.TR(me);
+               me.TD(me, 1, 1, e = makeXonoticTextLabel(0, _("Unavailable color:")));
+               me.TD(me, 1, 2, e = makeXonoticTextSlider("cl_ghost_items_color"));
+                       e.addValue(e, ZCTX(_("GHOITEMS^Black")), "-1 -1 -1");
+                       e.addValue(e, ZCTX(_("GHOITEMS^Dark")), "0.1 0.1 0.1");
+                       e.addValue(e, ZCTX(_("GHOITEMS^Tinted")), "0.6 0.6 0.6");
+                       e.addValue(e, ZCTX(_("GHOITEMS^Normal")), "1 1 1");
+                       e.addValue(e, ZCTX(_("GHOITEMS^Blue")), "-1 -1 3");
+                       e.configureXonoticTextSliderValues(e);
+                       setDependent(e, "cl_ghost_items", 0.001, 1);
+
+       me.TR(me);
+       me.TR(me);
+               me.TD(me, 1, 3, e = makeXonoticHeaderLabel(_("Players")));
+       me.TR(me);
+               me.TD(me, 1, 3, e = makeXonoticCheckBox(0, "cl_forceplayermodels", _("Force player models to mine")));
+       me.TR(me);
+               me.TD(me, 1, 3, e = makeXonoticCheckBox(0, "cl_forceplayercolors", _("Force player colors to mine")));
        me.TR(me);
                me.TD(me, 1, 1, e = makeXonoticTextLabel(0, _("Body fading:")));
                me.TD(me, 1, 2, e = makeXonoticSlider(0, 2, 0.2, "cl_deathglow"));
@@ -36,16 +70,5 @@ void XonoticModelDialog_fill(entity me)
                        e.addValue(e, ZCTX(_("GIBS^Lots")), "0");
                        e.configureXonoticTextSliderValues(e);
                        setDependent(e, "cl_gentle", 0, 0);
-       me.TR(me);
-       me.TR(me);
-               me.TD(me, 1, 3, e = makeXonoticCheckBox(0, "cl_forceplayermodels", _("Force player models to mine")));
-       me.TR(me);
-               me.TD(me, 1, 3, e = makeXonoticCheckBox(0, "cl_forceplayercolors", _("Force player colors to mine")));
-       me.TR(me);
-               
-       me.gotoRC(me, me.rows - 1, 0);
-               me.TD(me, 1, me.columns, e = makeXonoticButton(_("OK"), '0 0 0'));
-                       e.onClick = Dialog_Close;
-                       e.onClickEntity = me;
 }
 #endif