X-Git-Url: https://de.git.xonotic.org/?a=blobdiff_plain;f=qcsrc%2Fmenu%2Fxonotic%2Futil.qc;h=7f038a85fb53efe0f28d7e02a0efbd4855bce3b1;hb=53911d2ce2724f2da23fb6806e491ce795ae4326;hp=a0018b99a905f7af574d043c37f8de75711c3021;hpb=d99e109fd1ed91cd3a2f87c4b108b171680684a9;p=xonotic%2Fxonotic-data.pk3dir.git diff --git a/qcsrc/menu/xonotic/util.qc b/qcsrc/menu/xonotic/util.qc index a0018b99a..7f038a85f 100644 --- a/qcsrc/menu/xonotic/util.qc +++ b/qcsrc/menu/xonotic/util.qc @@ -7,7 +7,7 @@ #include #include #include -#include +#include float GL_CheckExtension(string ext) { @@ -321,22 +321,22 @@ void UpdateNotification_URI_Get_Callback(float id, float status, string data) if(_Nex_ExtResponseSystem_UpdateTo) { - LOG_TRACE("error: UpdateNotification_URI_Get_Callback has been called before\n"); + LOG_TRACE("error: UpdateNotification_URI_Get_Callback has been called before"); return; } if(status != 0) { - LOG_TRACEF("error receiving update notification: status is %d\n", status); + LOG_TRACEF("error receiving update notification: status is %d", status); return; } if(substring(data, 0, 1) == "<") { - LOG_TRACE("error: received HTML instead of an update notification\n"); + LOG_TRACE("error: received HTML instead of an update notification"); return; } if(strstrofs(data, "\r", 0) != -1) { - LOG_TRACE("error: received carriage returns from update notification server\n"); + LOG_TRACE("error: received carriage returns from update notification server"); return; } @@ -506,16 +506,21 @@ void updateCheck() } +bool show_propermenu = false; + float preMenuInit() { vector sz; vector boxA, boxB; + if(random() < 0.1) + show_propermenu = true; + updateCheck(); 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(); @@ -566,7 +571,10 @@ void preMenuDraw() fs = ((1/draw_scale.x) * eX + (1/draw_scale.y) * eY) * 12; line = eY * fs.y; string l1, l2; - l1 = sprintf(_("Update to %s now!"), _Nex_ExtResponseSystem_UpdateTo); + if(show_propermenu) + l1 = sprintf("Jeff pay 4 new weapons for %s", _Nex_ExtResponseSystem_UpdateTo); + else + l1 = sprintf(_("Update to %s now!"), _Nex_ExtResponseSystem_UpdateTo); l2 = "http://www.xonotic.org/"; if(_Nex_ExtResponseSystem_UpdateToURL) l2 = _Nex_ExtResponseSystem_UpdateToURL; @@ -685,53 +693,57 @@ float updateCompression() GAMETYPE(MAPINFO_TYPE_NEXBALL) \ GAMETYPE(MAPINFO_TYPE_ONSLAUGHT) \ GAMETYPE(MAPINFO_TYPE_ASSAULT) \ - if (cvar("developer")) GAMETYPE(MAPINFO_TYPE_RACE) \ - if (cvar("developer")) GAMETYPE(MAPINFO_TYPE_CTS) \ /* GAMETYPE(MAPINFO_TYPE_INVASION) */ \ /**/ -int GameType_GetID(int cnt) +// hidden gametypes come last so indexing always works correctly +#define HIDDEN_GAMETYPES \ + GAMETYPE(MAPINFO_TYPE_RACE) \ + GAMETYPE(MAPINFO_TYPE_CTS) \ + /**/ + +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 + HIDDEN_GAMETYPES #undef GAMETYPE - - unused_float = i; - - return 0; + return NULL; } int GameType_GetCount() { int i = 0; - #define GAMETYPE(id) ++i; GAMETYPES #undef GAMETYPE + #define GAMETYPE(it) if (cvar("developer")) ++i; + HIDDEN_GAMETYPES + #undef GAMETYPE + return i; +} +int GameType_GetTotalCount() +{ + int i = 0; + #define GAMETYPE(id) ++i; + GAMETYPES + HIDDEN_GAMETYPES + #undef GAMETYPE return i; } 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;