X-Git-Url: https://de.git.xonotic.org/?a=blobdiff_plain;f=qcsrc%2Fmenu%2Fxonotic%2Futil.qc;h=f7c5b3f41d732e634ee7eb02974ed32408e1a48d;hb=abf4b5a430d71fc83abbe90da9b17b457a65e149;hp=69f506e6e0eae97d0d44c5a23b7a6d955fb678eb;hpb=306d846b2583c3d4346c120725f8506a79af47f8;p=xonotic%2Fxonotic-data.pk3dir.git diff --git a/qcsrc/menu/xonotic/util.qc b/qcsrc/menu/xonotic/util.qc index 69f506e6e..f7c5b3f41 100644 --- a/qcsrc/menu/xonotic/util.qc +++ b/qcsrc/menu/xonotic/util.qc @@ -6,7 +6,7 @@ #include "../menu.qh" #include #include -#include +#include #include #include @@ -17,7 +17,7 @@ float GL_CheckExtension(string ext) float GL_Have_TextureCompression() { - return (GL_CheckExtension("GL_EXT_texture_compression_s3tc") && GL_CheckExtension("GL_ARB_texture_compression")); + return GL_CheckExtension("GL_EXT_texture_compression_s3tc"); } .entity parent, firstChild, nextSibling; @@ -26,7 +26,7 @@ void forAllDescendants(entity root, void(entity, entity) funcPre, void(entity, e depthfirst(root, parent, firstChild, nextSibling, funcPre, funcPost, pass); } -.string cvarName; +.string controlledCvar; void SUB_Null_ee(entity e1, entity e2) { } @@ -53,12 +53,12 @@ void loadAllCvars(entity root) 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) @@ -67,9 +67,9 @@ 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 @@ -89,7 +89,7 @@ void saveCvarsMulti(entity me) } void makeMulti(entity e, string otherCvars) { - e.cvarNames_Multi = otherCvars; + e.controlledCvars_Multi = otherCvars; e.saveCvars_Multi = e.saveCvars; e.saveCvars = saveCvarsMulti; } @@ -127,6 +127,7 @@ void makeCallback(entity e, entity cbent, void(entity, entity) cbfunc) .bool disabled; void setDependent_Check(entity e) { + bool disabled_prev = e.disabled; float f; string s; if(e.func_setDependent) @@ -165,6 +166,8 @@ void setDependent_Check(entity e) e.disabled = (e.disabled + ((f >= e.cvar3Max_setDependent) && (f <= e.cvar3Min_setDependent)) > e.op_setDependent); } } + if (disabled_prev != e.disabled && e.loadCvars) + e.loadCvars(e); } void setDependent_Draw(entity e) { @@ -349,6 +352,7 @@ void UpdateNotification_URI_Get_Callback(float id, float status, string data) string s; string un_version = ""; + string un_tosversion = ""; string un_download = ""; string un_url = ""; string un_bannedservers = ""; @@ -369,6 +373,11 @@ void UpdateNotification_URI_Get_Callback(float id, float status, string data) un_version = s; break; } + case "T": + { + un_tosversion = s; + break; + } case "C": { un_compatexpire = s; @@ -414,7 +423,7 @@ void UpdateNotification_URI_Get_Callback(float id, float status, string data) { // update needed _Nex_ExtResponseSystem_UpdateTo = strzone(un_version); - if(un_download) { LOG_INFOF(_("Update can be downloaded at:\n%s"), un_download); } + if(un_download) { LOG_INFO(_("Update can be downloaded at:"), "\n", un_download); } if(un_url) { _Nex_ExtResponseSystem_UpdateToURL = strzone(un_url); } DisableServerBackwardsCompatibility(); } @@ -429,6 +438,11 @@ void UpdateNotification_URI_Get_Callback(float id, float status, string data) } } + if(un_tosversion != "") + { + _Nex_ExtResponseSystem_NewToS = stof(un_tosversion); + } + if(un_bannedservers != "") { _Nex_ExtResponseSystem_BannedServers = strzone(un_bannedservers); @@ -542,18 +556,7 @@ float preMenuInit() string campaign_name_previous; float campaign_won_previous; -#ifdef WATERMARK -string autocvar_menu_watermark = WATERMARK; -#else -string autocvar_menu_watermark = ""; -#endif -void postMenuDraw() -{ - if(autocvar_menu_watermark != "") - { - draw_CenterText('0.5 0.1 0', sprintf(_("^1%s TEST BUILD"), autocvar_menu_watermark), globalToBoxSize('32 32 0', draw_scale), '1 1 1', 0.05, 1); - } -} +void postMenuDraw() {} void DialogOpenButton_Click_withCoords(entity button, entity tab, vector theOrigin, vector theSize); .entity winnerDialog; void preMenuDraw() @@ -590,6 +593,7 @@ void preMenuDraw() 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) @@ -702,7 +706,7 @@ float updateCompression() Gametype GameType_GetID(int cnt) { int i = 0; - #define GAMETYPE(it) if (i++ == cnt) return it; + #define GAMETYPE(it) { if (i++ == cnt) return it; } GAMETYPES HIDDEN_GAMETYPES #undef GAMETYPE @@ -712,10 +716,11 @@ Gametype GameType_GetID(int cnt) int GameType_GetCount() { int i = 0; + int dev = cvar("developer"); #define GAMETYPE(id) ++i; GAMETYPES #undef GAMETYPE - #define GAMETYPE(it) if (cvar("developer")) ++i; + #define GAMETYPE(it) { if (dev > 0) ++i; } HIDDEN_GAMETYPES #undef GAMETYPE return i; @@ -837,9 +842,9 @@ void CheckSendCvars(entity me, string cvarnamestring) { if(me.sendCvars) { - LOG_INFOF("Sending cvar: %s -> %s", cvarnamestring, cvar_string(cvarnamestring)); if(gamestatus & (GAME_CONNECTED | GAME_ISSERVER)) { + LOG_INFOF("Sending cvar: %s -> %s", cvarnamestring, cvar_string(cvarnamestring)); cmd(sprintf("\nsendcvar %s\n", cvarnamestring)); } }