]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blobdiff - qcsrc/menu/xonotic/textslider.qc
language_filename: deprecate
[xonotic/xonotic-data.pk3dir.git] / qcsrc / menu / xonotic / textslider.qc
index 8864654040e97242cd5ecab4aef2a576ef7cc785..c21b07734fcd8c10749969a1972e2a8017d44a1b 100644 (file)
@@ -2,8 +2,9 @@
 #define TEXTSLIDER_H
 #include "../item/textslider.qc"
 CLASS(XonoticTextSlider, TextSlider)
-       METHOD(XonoticTextSlider, configureXonoticTextSlider, void(entity, string));
+       METHOD(XonoticTextSlider, configureXonoticTextSlider, void(entity, string, string));
        METHOD(XonoticTextSlider, setValue, void(entity, float));
+       METHOD(XonoticTextSlider, setValue_noAnim, void(entity, float));
        METHOD(XonoticTextSlider, configureXonoticTextSliderValues, void(entity));
        ATTRIB(XonoticTextSlider, fontSize, float, SKINFONTSIZE_NORMAL)
        ATTRIB(XonoticTextSlider, valueSpace, float, SKINWIDTH_SLIDERTEXT)
@@ -24,26 +25,28 @@ CLASS(XonoticTextSlider, TextSlider)
        ATTRIB(XonoticTextSlider, alpha, float, SKINALPHA_TEXT)
        ATTRIB(XonoticTextSlider, disabledAlpha, float, SKINALPHA_DISABLED)
 ENDCLASS(XonoticTextSlider)
+entity makeXonoticTextSlider_T(string, string theTooltip);
 entity makeXonoticTextSlider(string); // note: you still need to call addValue and configureXonoticTextSliderValues!
 #endif
 
 #ifdef IMPLEMENTATION
-entity makeXonoticTextSlider(string theCvar)
+entity makeXonoticTextSlider_T(string theCvar, string theTooltip)
 {
        entity me;
        me = NEW(XonoticTextSlider);
-       me.configureXonoticTextSlider(me, theCvar);
+       me.configureXonoticTextSlider(me, theCvar, theTooltip);
        return me;
 }
-void XonoticTextSlider_configureXonoticTextSlider(entity me, string theCvar)
+entity makeXonoticTextSlider(string theCvar)
+{
+       return makeXonoticTextSlider_T(theCvar, string_null);
+}
+void XonoticTextSlider_configureXonoticTextSlider(entity me, string theCvar, string theTooltip)
 {
        me.configureSliderVisuals(me, me.fontSize, me.align, me.valueSpace, me.image);
-       if(theCvar)
-       {
-               me.cvarName = theCvar;
-               me.tooltip = getZonedTooltipForIdentifier(theCvar);
-               // don't load it yet
-       }
+       me.cvarName = (theCvar) ? theCvar : string_null;
+       // me.loadCvars(me); // don't load it yet
+       setZonedTooltip(me, theTooltip, theCvar);
 }
 void XonoticTextSlider_setValue(entity me, float val)
 {
@@ -53,6 +56,14 @@ void XonoticTextSlider_setValue(entity me, float val)
                me.saveCvars(me);
        }
 }
+void XonoticTextSlider_setValue_noAnim(entity me, float val)
+{
+       if(val != me.value)
+       {
+               SUPER(XonoticTextSlider).setValue_noAnim(me, val);
+               me.saveCvars(me);
+       }
+}
 void XonoticTextSlider_loadCvars(entity me)
 {
        if (!me.cvarName)
@@ -63,7 +74,7 @@ void XonoticTextSlider_loadCvars(entity me)
        float i;
        for(i = 1; i < n; ++i)
                s = strcat(s, " ", cvar_string(argv(i)));
-       me.setValueFromIdentifier(me, s);
+       me.setValueFromIdentifier_noAnim(me, s);
        if(me.value < 0 && n > 1)
        {
                // if it failed: check if all cvars have the same value
@@ -72,7 +83,7 @@ void XonoticTextSlider_loadCvars(entity me)
                        if(cvar_string(argv(i)) != cvar_string(argv(i-1)))
                                break;
                if(i >= n)
-                       me.setValueFromIdentifier(me, cvar_string(argv(0)));
+                       me.setValueFromIdentifier_noAnim(me, cvar_string(argv(0)));
        }
 }
 void XonoticTextSlider_saveCvars(entity me)