ATTRIB(XonoticCheckBox, cvarName, string, string_null)
METHOD(XonoticCheckBox, loadCvars, void(entity))
METHOD(XonoticCheckBox, saveCvars, void(entity))
+ ATTRIB(XonoticCheckBox, sendCvars, float, 0)
ATTRIB(XonoticCheckBox, alpha, float, SKINALPHA_TEXT)
ATTRIB(XonoticCheckBox, disabledAlpha, float, SKINALPHA_DISABLED)
cvar_set(me.cvarName, ftos(me.yesValue));
else
cvar_set(me.cvarName, ftos(me.noValue));
+
+ CheckSendCvars(me, me.cvarName);
}
#endif
ATTRIB(XonoticCheckBoxString, cvarName, string, string_null)
METHOD(XonoticCheckBoxString, loadCvars, void(entity))
METHOD(XonoticCheckBoxString, saveCvars, void(entity))
+ ATTRIB(XonoticCheckBoxString, sendCvars, float, 0)
ATTRIB(XonoticCheckBoxString, alpha, float, SKINALPHA_TEXT)
ATTRIB(XonoticCheckBoxString, disabledAlpha, float, SKINALPHA_DISABLED)
cvar_set(me.cvarName, me.yesString);
else
cvar_set(me.cvarName, me.noString);
+
+ CheckSendCvars(me, me.cvarName);
}
#endif
return me;
}
-void clippedspectatingclick(entity me, entity checkbox)
-{
- if(gamestatus & (GAME_CONNECTED | GAME_ISSERVER))
- localcmd("sendcvar cl_clippedspectating\n");
-
- CheckBox_Click(me, checkbox);
-}
-
void XonoticGameViewSettingsTab_fill(entity me)
{
entity e;
me.TR(me);
me.TR(me);
me.TD(me, 1, 3, e = makeXonoticCheckBox(1, "cl_clippedspectating", _("Allow passing through walls while spectating")));
- e.onClick = clippedspectatingclick;
- e.onClickEntity = e;
- // todo: onclick, do sendcvar if connected
me.gotoRC(me, 0, 3.2); me.setFirstColumn(me, me.currentColumn);
me.TD(me, 1, 1, e = makeXonoticTextLabel(0, _("Field of view:")));
ATTRIB(XonoticInputBox, cvarName, string, string_null)
METHOD(XonoticInputBox, loadCvars, void(entity))
METHOD(XonoticInputBox, saveCvars, void(entity))
+ ATTRIB(XonoticInputBox, sendCvars, float, 0)
METHOD(XonoticInputBox, keyDown, float(entity, float, float, float))
ATTRIB(XonoticInputBox, saveImmediately, float, 0)
if (!me.cvarName)
return;
cvar_set(me.cvarName, me.text);
+ CheckSendCvars(me, me.cvarName);
}
float XonoticInputBox_keyDown(entity me, float key, float ascii, float shift)
{
ATTRIB(XonoticSlider, cvarName, string, string_null)
METHOD(XonoticSlider, loadCvars, void(entity))
METHOD(XonoticSlider, saveCvars, void(entity))
+ ATTRIB(XonoticSlider, sendCvars, float, 0)
ATTRIB(XonoticSlider, alpha, float, SKINALPHA_TEXT)
ATTRIB(XonoticSlider, disabledAlpha, float, SKINALPHA_DISABLED)
return;
cvar_set(me.cvarName, ftos(me.value));
+
+ CheckSendCvars(me, me.cvarName);
}
#endif
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)
{
// 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);
cvar_set(substring(argv(i), 1, strlen(argv(i))), ((s == "0") ? "1" : "0"));
else
cvar_set(argv(i), s);
+
+ CheckSendCvars(me, argv(i));
}
}
void makeMulti(entity e, string otherCvars)
e.addValue(e, strzone(ftos_decimals(i - 5, 0)), strzone(ftos(i - 5)));
e.configureXonoticTextSliderValues(e);
}
+
+void CheckSendCvars(entity me, string cvarnamestring)
+{
+ if(me.sendCvars)
+ {
+ printf("Sending cvar: %s -> %s\n", cvarnamestring, cvar_string(cvarnamestring));
+ if(gamestatus & (GAME_CONNECTED | GAME_ISSERVER))
+ {
+ cmd(sprintf("\nsendcvar %s\n", cvarnamestring));
+ }
+ }
+}
float _Nex_ExtResponseSystem_PromotedServersNeedsRefresh;
string _Nex_ExtResponseSystem_RecommendedServers;
float _Nex_ExtResponseSystem_RecommendedServersNeedsRefresh;
+
+void CheckSendCvars(entity me, string cvarnamestring);