X-Git-Url: http://de.git.xonotic.org/?p=xonotic%2Fxonotic-data.pk3dir.git;a=blobdiff_plain;f=qcsrc%2Fmenu%2Fxonotic%2Futil.qc;h=70d8071f7abff5e54aba78a8008cea33ae7e4795;hp=f4faea62b92a3623530aa684f63a54fb58445590;hb=3bbd344ce0194f454a4bde49ebfce3cb48c06279;hpb=a4594d94df1eb60aca616cccd45df07e561ffa01 diff --git a/qcsrc/menu/xonotic/util.qc b/qcsrc/menu/xonotic/util.qc index f4faea62b..70d8071f7 100644 --- a/qcsrc/menu/xonotic/util.qc +++ b/qcsrc/menu/xonotic/util.qc @@ -1,15 +1,17 @@ #include "util.qh" + +#include "../item.qh" + #include "../menu.qh" -#include "../oo/base.qh" -#include "../../common/campaign_common.qh" -#include "../../common/constants.qh" -#include "../../common/mapinfo.qh" -#include "../../common/util.qh" -#include "../../common/command/generic.qh" +#include +#include +#include +#include +#include float GL_CheckExtension(string ext) { - return (strstrofs(strcat(" ", cvar_string("gl_info_extensions"), " "), strcat(" ", ext, " "), 0) >= 0); + return strhasword(cvar_string("gl_info_extensions"), ext); } float GL_Have_TextureCompression() @@ -61,7 +63,7 @@ string getCvarsMulti(entity me) void saveCvarsMulti(entity me) { float n, i; - string s; + string s, cvarname; me.saveCvars_Multi(me); s = cvar_string(me.cvarName); @@ -69,12 +71,19 @@ void saveCvarsMulti(entity me) n = tokenize_console(me.cvarNames_Multi); for(i = 0; i < n; ++i) { + // cvars prefixed with ! get saved with the inverted value if(substring(argv(i), 0, 1) == "!") - cvar_set(substring(argv(i), 1, strlen(argv(i))), ((s == "0") ? "1" : "0")); + { + cvarname = substring(argv(i), 1, strlen(argv(i))); + cvar_set(cvarname, ((s == "0") ? "1" : "0")); + } else - cvar_set(argv(i), s); + { + cvarname = argv(i); + cvar_set(cvarname, s); + } - CheckSendCvars(me, argv(i)); + CheckSendCvars(me, cvarname); } } void makeMulti(entity e, string otherCvars) @@ -275,6 +284,7 @@ string _Nex_ExtResponseSystem_UpdateToURL; string _Nex_ExtResponseSystem_Packs; float _Nex_ExtResponseSystem_PacksStep; +/** engine callback */ void URI_Get_Callback(float id, float status, string data) { if(url_URI_Get_Callback(id, status, data)) @@ -419,6 +429,12 @@ void UpdateNotification_URI_Get_Callback(float id, float status, string data) } } + if(un_bannedservers != "") + { + _Nex_ExtResponseSystem_BannedServers = strzone(un_bannedservers); + _Nex_ExtResponseSystem_BannedServersNeedsRefresh = 1; + } + if(un_emergency_pk3s != "") { _Nex_ExtResponseSystem_Packs = strzone(un_emergency_pk3s); @@ -499,7 +515,7 @@ float preMenuInit() MapInfo_Cache_Create(); MapInfo_Enumerate(); - if(!MapInfo_FilterGametype(MAPINFO_TYPE_ALL, 0, 0, 0, 1)) + if(!_MapInfo_FilterGametype(MAPINFO_TYPE_ALL, 0, 0, 0, 1)) { draw_reset_cropped(); @@ -670,21 +686,21 @@ float updateCompression() GAMETYPE(MAPINFO_TYPE_ONSLAUGHT) \ GAMETYPE(MAPINFO_TYPE_ASSAULT) \ if (cvar("developer")) GAMETYPE(MAPINFO_TYPE_RACE) \ - GAMETYPE(MAPINFO_TYPE_CTS) \ + if (cvar("developer")) GAMETYPE(MAPINFO_TYPE_CTS) \ /* GAMETYPE(MAPINFO_TYPE_INVASION) */ \ /**/ -int GameType_GetID(int cnt) +Gametype GameType_GetID(int cnt) { int i = 0; - #define GAMETYPE(id) { if (i++ == cnt) return id; } + #define GAMETYPE(it) { if (i++ == cnt) return it; } GAMETYPES #undef GAMETYPE unused_float = i; - return 0; + return NULL; } int GameType_GetCount() @@ -700,22 +716,14 @@ int GameType_GetCount() string GameType_GetName(int cnt) { - int i = GameType_GetID(cnt); - - if(i) - return MapInfo_Type_ToText(i); - - return ""; + Gametype i = GameType_GetID(cnt); + return i ? MapInfo_Type_ToText(i) : ""; } string GameType_GetIcon(int cnt) { - int i = GameType_GetID(cnt); - - if(i) - return strcat("gametype_", MapInfo_Type_ToString(i)); - - return ""; + Gametype i = GameType_GetID(cnt); + return i ? strcat("gametype_", MapInfo_Type_ToString(i)) : ""; } .void(entity) TR;