ATTRIB(XonoticTextSlider, fontSize, float, SKINFONTSIZE_NORMAL)
ATTRIB(XonoticTextSlider, valueSpace, float, SKINWIDTH_SLIDERTEXT)
ATTRIB(XonoticTextSlider, image, string, SKINGFX_SLIDER)
- ATTRIB(XonoticSlider, tolerance, vector, SKINTOLERANCE_SLIDER)
+ ATTRIB(XonoticTextSlider, tolerance, vector, SKINTOLERANCE_SLIDER)
ATTRIB(XonoticTextSlider, align, float, 0.5)
- ATTRIB(XonoticSlider, color, vector, SKINCOLOR_SLIDER_N)
- ATTRIB(XonoticSlider, colorC, vector, SKINCOLOR_SLIDER_C)
- ATTRIB(XonoticSlider, colorF, vector, SKINCOLOR_SLIDER_F)
- ATTRIB(XonoticSlider, colorD, vector, SKINCOLOR_SLIDER_D)
- ATTRIB(XonoticSlider, color2, vector, SKINCOLOR_SLIDER_S)
+ ATTRIB(XonoticTextSlider, color, vector, SKINCOLOR_SLIDER_N)
+ ATTRIB(XonoticTextSlider, colorC, vector, SKINCOLOR_SLIDER_C)
+ ATTRIB(XonoticTextSlider, colorF, vector, SKINCOLOR_SLIDER_F)
+ ATTRIB(XonoticTextSlider, colorD, vector, SKINCOLOR_SLIDER_D)
+ ATTRIB(XonoticTextSlider, color2, vector, SKINCOLOR_SLIDER_S)
ATTRIB(XonoticTextSlider, cvarName, string, string_null)
METHOD(XonoticTextSlider, loadCvars, void(entity))
METHOD(XonoticTextSlider, saveCvars, void(entity))
+ ATTRIB(XonoticTextSlider, sendCvars, float, 0)
ATTRIB(XonoticTextSlider, alpha, float, SKINALPHA_TEXT)
ATTRIB(XonoticTextSlider, disabledAlpha, float, SKINALPHA_DISABLED)
}
void XonoticTextSlider_loadCvars(entity me)
{
- if not(me.cvarName)
+ if (!me.cvarName)
return;
var float n = tokenize_console(me.cvarName);
for(i = 1; i < n; ++i)
s = strcat(s, " ", cvar_string(argv(i)));
me.setValueFromIdentifier(me, s);
+ if(me.value < 0 && n > 1)
+ {
+ // if it failed: check if all cvars have the same value
+ // if yes, try its value as 1-word identifier
+ for(i = 1; i < n; ++i)
+ if(cvar_string(argv(i)) != cvar_string(argv(i-1)))
+ break;
+ if(i >= n)
+ me.setValueFromIdentifier(me, cvar_string(argv(0)));
+ }
}
void XonoticTextSlider_saveCvars(entity me)
{
- if not(me.cvarName)
+ if (!me.cvarName)
return;
if(me.value >= 0 && me.value < me.nValues)
{
// this is a special case to allow spaces in the identifiers
cvar_set(argv(0), me.getIdentifier(me));
+ CheckSendCvars(me, argv(0));
}
else
{
if(m == n + 1)
{
for(i = 0; i < n; ++i)
+ {
cvar_set(argv(i), argv(n));
+ CheckSendCvars(me, argv(i));
+ }
}
else if(m == n * 2)
{
for(i = 0; i < n; ++i)
+ {
cvar_set(argv(i), argv(i + n));
+ CheckSendCvars(me, argv(i));
+ }
}
else
error("XonoticTextSlider: invalid identifier ", me.getIdentifier(me), " does not match cvar list ", me.cvarName);