Index: binaries/data/mods/public/gui/lobby/lobby.js =================================================================== --- binaries/data/mods/public/gui/lobby/lobby.js +++ binaries/data/mods/public/gui/lobby/lobby.js @@ -246,10 +246,6 @@ function initGameFilters() { - let mapSizeFilter = Engine.GetGUIObjectByName("mapSizeFilter"); - mapSizeFilter.list = [translateWithContext("map size", "Any")].concat(g_MapSizes.Name); - mapSizeFilter.list_data = [""].concat(g_MapSizes.Tiles); - let playersArray = Array(g_MaxPlayers).fill(0).map((v, i) => i + 1); // 1, 2, ... MaxPlayers let playersNumberFilter = Engine.GetGUIObjectByName("playersNumberFilter"); playersNumberFilter.list = [translateWithContext("player number", "Any")].concat(playersArray); @@ -264,7 +260,6 @@ function resetFilters() { - Engine.GetGUIObjectByName("mapSizeFilter").selected = 0; Engine.GetGUIObjectByName("playersNumberFilter").selected = 0; Engine.GetGUIObjectByName("mapTypeFilter").selected = g_MapTypes.Default; Engine.GetGUIObjectByName("showFullFilter").checked = false; @@ -286,16 +281,10 @@ */ function filterGame(game) { - let mapSizeFilter = Engine.GetGUIObjectByName("mapSizeFilter"); let playersNumberFilter = Engine.GetGUIObjectByName("playersNumberFilter"); let mapTypeFilter = Engine.GetGUIObjectByName("mapTypeFilter"); let showFullFilter = Engine.GetGUIObjectByName("showFullFilter"); - // We assume index 0 means display all for any given filter. - if (mapSizeFilter.selected != 0 && - game.mapSize != mapSizeFilter.list_data[mapSizeFilter.selected]) - return true; - if (playersNumberFilter.selected != 0 && game.maxnbp != playersNumberFilter.list_data[playersNumberFilter.selected]) return true; @@ -699,6 +688,16 @@ gamesBox.selected = selectedGameIndex; updateGameSelection(); + + let stateCountStr = ""; + for (let state of ["init", "waiting", "running"]) + { + let stateCount = 0; + if ((stateCountStr = (stateCount = g_GameList.filter(player => player.state == state).length) != 0 ? '[color="' + g_GameColors[state] + '"]' + stateCount + '[color="255 255 255"]/' : '') !== '') + break; + } + + Engine.GetGUIObjectByName("gamesHeader").caption = translate("Games") + (g_GameList.length > 0 ? ' \(' + stateCountStr + '' + g_GameList.length + '[color="255 255 255"]\)' : ''); } /** Index: binaries/data/mods/public/gui/lobby/lobby.xml =================================================================== --- binaries/data/mods/public/gui/lobby/lobby.xml +++ binaries/data/mods/public/gui/lobby/lobby.xml @@ -217,12 +217,12 @@ - - applyFilters(); + + Games