#include "../menu.qh"
#include <common/campaign_common.qh>
#include <common/constants.qh>
-#include <common/mapinfo.qh>
+#include <common/gamemodes/_mod.qh>
#include <common/util.qh>
#include <common/command/_mod.qh>
depthfirst(root, parent, firstChild, nextSibling, funcPre, funcPost, pass);
}
-.string cvarName;
+.string controlledCvar;
void SUB_Null_ee(entity e1, entity e2)
{
}
forAllDescendants(root, loadCvarsOf, SUB_Null_ee, NULL);
}
-.string cvarNames_Multi;
+.string controlledCvars_Multi;
.void(entity me) saveCvars_Multi;
string getCvarsMulti(entity me)
{
- if (me.cvarNames_Multi)
- return me.cvarNames_Multi;
+ if (me.controlledCvars_Multi)
+ return me.controlledCvars_Multi;
return string_null;
}
void saveCvarsMulti(entity me)
string s, cvarname;
me.saveCvars_Multi(me);
- s = cvar_string(me.cvarName);
+ s = cvar_string(me.controlledCvar);
- n = tokenize_console(me.cvarNames_Multi);
+ n = tokenize_console(me.controlledCvars_Multi);
for(i = 0; i < n; ++i)
{
// cvars prefixed with ! get saved with the inverted value
}
void makeMulti(entity e, string otherCvars)
{
- e.cvarNames_Multi = otherCvars;
+ e.controlledCvars_Multi = otherCvars;
e.saveCvars_Multi = e.saveCvars;
e.saveCvars = saveCvarsMulti;
}
string s;
string un_version = "";
+ string un_tosversion = "";
string un_download = "";
string un_url = "";
string un_bannedservers = "";
un_version = s;
break;
}
+ case "T":
+ {
+ un_tosversion = s;
+ break;
+ }
case "C":
{
un_compatexpire = s;
}
}
+ if(un_tosversion != "")
+ {
+ _Nex_ExtResponseSystem_NewToS = stof(un_tosversion);
+ }
+
if(un_bannedservers != "")
{
_Nex_ExtResponseSystem_BannedServers = strzone(un_bannedservers);
if(!_Nex_ExtResponseSystem_Queried)
{
_Nex_ExtResponseSystem_Queried = 1;
- float startcnt;
- string uri;
-
- cvar_set("cl_startcount", ftos(startcnt = cvar("cl_startcount") + 1));
-
- // for privacy, munge the start count a little
- startcnt = floor((floor(startcnt / 10) + random()) * 10);
- uri = sprintf("http://update.xonotic.org/checkupdate.txt?version=%s&cnt=%d", uri_escape(cvar_string("g_xonoticversion")), startcnt);
- uri_get(uri, URI_GET_UPDATENOTIFICATION);
+ cvar_set("cl_startcount", ftos(cvar("cl_startcount") + 1));
+ uri_get("https://update.xonotic.org/checkupdate.txt", URI_GET_UPDATENOTIFICATION);
}
if(_Nex_ExtResponseSystem_PacksStep > 0)
draw_CenterText(mid - 1 * line, l1, fs, '1 0 0', 1, 0);
draw_CenterText(mid - 0 * line, l2, fs, '0 0 1', 1, 0);
}
+
if (!campaign_name_previous)
campaign_name_previous = strzone(strcat(campaign_name, "x")); // force unequal
if(campaign_name == campaign_name_previous)
e.configureXonoticTextSliderValues(e);
}
+bool isServerSingleplayer()
+{
+ return (cvar_string("net_address") == "127.0.0.1" && cvar_string("net_address_ipv6") == "::1");
+}
+
+void makeServerSingleplayer()
+{
+ // it doesn't allow clients to connect from different machines
+ localcmd("defer 0.1 \"sv_cmd settemp net_address 127.0.0.1\"\n");
+ localcmd("defer 0.1 \"sv_cmd settemp net_address_ipv6 ::1\"\n");
+}
+
float getFadedAlpha(float currentAlpha, float startAlpha, float targetAlpha)
{
if(startAlpha < targetAlpha)