Show on serverbrowser number of all players on the servers

This commit is contained in:
aurhat
2016-05-21 11:42:35 +02:00
parent baa24e0795
commit 3b0813412b
2 changed files with 20 additions and 13 deletions
+1
View File
@@ -166,6 +166,7 @@ menuitemcheckbox [F7: Only show good servers:] "$showonlygoodservers" [ showo
menuitemcheckbox [F8: Show minutes remaining:] "$showminremain" [ showminremain $arg1 ]
menuitemcheckbox [Sort official maps ontop:] "$serversortpreferofficial" [ serversortpreferofficial $arg1 ]
menuitemcheckbox [Use gamemode acronyms:] "$modeacronyms" [ modeacronyms $arg1 ]
menuitemcheckbox [Show number of all players on the servers:] "$showallplayersnumber" [ showallplayersnumber $arg1 ]
menuitemslider "Favourites tag column:\t" 0 2 "$serverbrowserhidefavtag" 1 ["Show always" "Show when used" "Hide always"] [ serverbrowserhidefavtag $arg1 ]
menuitemslider "Server IP & port:\t\t" 0 2 "$serverbrowserhideip" 1 [Show "Show in grey" Hide] [ serverbrowserhideip $arg1 ]
menuitemslider "Sort servers by:\t\t" 0 7 "$serversort" 1 [Ping "Number of players" "Max players" "Minutes remaining" "Map name" Gamemode "IP address" "Server description"] [ serversort $arg1 ]
+19 -13
View File
@@ -645,6 +645,7 @@ VARP(serversortdir, 0, 0, 1);
VARP(showonlygoodservers, 0, 0, 1);
VAR(shownamesinbrowser, 0, 0, 1);
VARP(showminremain, 0, 0, 1);
VARP(showallplayersnumber, 0, 1, 1);
VARP(serversortpreferofficial, 0, 1, 1);
void serversortprepare()
@@ -1034,24 +1035,12 @@ void refreshservers(void *menu, bool init)
servers.sort(sicompare);
if(menu)
{
static const char *titles[NUMSERVSORT] =
{
"%s\fs\f0ping\fr\tplr\tserver%s%s", // 0: ping
"%sping\t\fs\f0plr\fr\tserver%s%s", // 1: player number
"%sping\tplr\tserver (\fs\f0max players\fr)%s%s", // 2: maxplayers
"%sping\tplr\fs\f0\fr\tserver (\fs\f0minutes remaining\fr)%s%s", // 3: minutes remaining
"%sping\tplr\tserver (\fs\f0map\fr)%s%s", // 4: map
"%sping\tplr\tserver (\fs\f0game mode\fr)%s%s", // 5: mode
"%sping\tplr\tserver (\fs\f0IP\fr)%s%s", // 6: IP
"%sping\tplr\tserver (\fs\f0description\fr)%s%s" // 7: description
};
bool showmr = showminremain || serversort == SBS_MINREM;
formatstring(title)(titles[serversort], showfavtag ? "fav\t" : "", issearch ? " search results for \f3" : " (F1: Help/Settings)", issearch ? cursearch : "");
menutitle(menu, title);
menureset(menu);
menuheader(menu, NULL, NULL);
string text;
int curnl = 0;
int allplayers = 0;
bool sbconnectexists = identexists("sbconnect");
loopv(servers)
{
@@ -1146,7 +1135,24 @@ void refreshservers(void *menu, bool init)
}
}
si.menuline_to = ((gmenu *)menu)->items.length();
if(!(showonlyfavourites > 0 && (servers[i]->favcat != showonlyfavourites - 1))) allplayers += servers[i]->numplayers;
}
static const char *titles[NUMSERVSORT] =
{
"%s\fs\f0ping\fr\t%s plr\tserver%s%s", // 0: ping
"%sping\t\fs\f0%s plr\fr\tserver%s%s", // 1: player number
"%sping\t%s plr\tserver (\fs\f0max players\fr)%s%s", // 2: maxplayers
"%sping\t%s plr\fs\f0\fr\tserver (\fs\f0minutes remaining\fr)%s%s", // 3: minutes remaining
"%sping\t%s plr\tserver (\fs\f0map\fr)%s%s", // 4: map
"%sping\t%s plr\tserver (\fs\f0game mode\fr)%s%s", // 5: mode
"%sping\t%s plr\tserver (\fs\f0IP\fr)%s%s", // 6: IP
"%sping\t%s plr\tserver (\fs\f0description\fr)%s%s" // 7: description
};
defformatstring(allplrs)("%d", allplayers);
formatstring(title)(titles[serversort], showfavtag ? "fav\t" : "", !issearch && showallplayersnumber ? allplrs : "", issearch ? " search results for \f3" : " (F1: Help/Settings)", issearch ? cursearch : "");
menutitle(menu, title);
static string notfoundmsg, headermsg;
notfoundmsg[0] = '\0';
if(issearch)