Index: binaries/data/mods/public/gui/gamesetup/gamesetup.js =================================================================== --- binaries/data/mods/public/gui/gamesetup/gamesetup.js +++ binaries/data/mods/public/gui/gamesetup/gamesetup.js @@ -2632,6 +2632,7 @@ "players": clients.list, "stunIP": g_StunEndpoint ? g_StunEndpoint.ip : "", "stunPort": g_StunEndpoint ? g_StunEndpoint.port : "", + "rated": g_GameAttributes.settings.RatingEnabled ? "y" : "n" }; // Only send the stanza if the relevant settings actually changed 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 @@ -494,6 +494,7 @@ let gamesBox = Engine.GetGUIObjectByName("gamesBox"); gamesBox.hidden_mapType = gameRating; gamesBox.hidden_gameRating = !gameRating; + gamesBox.hidden_rated = !gameRating; // Only show the filters of selected columns let mapTypeFilter = Engine.GetGUIObjectByName("mapTypeFilter"); @@ -1059,6 +1060,7 @@ let list_mapType = []; let list_nPlayers = []; let list_gameRating = []; + let list_rated = []; let list = []; let list_data = []; let selectedGameIndex = -1; @@ -1081,6 +1083,7 @@ list_gameRating.push(game.gameRating); list.push(gameName); list_data.push(i); + list_rated.push(game.rated == "y" && game.nbp == 2 ? "x" : ""); } gamesBox.list_buddy = list_buddy; @@ -1090,6 +1093,7 @@ gamesBox.list_mapType = list_mapType; gamesBox.list_nPlayers = list_nPlayers; gamesBox.list_gameRating = list_gameRating; + gamesBox.list_rated = list_rated; // Change these last, otherwise crash gamesBox.list = list; Index: binaries/data/mods/public/gui/lobby/lobby_panels.xml =================================================================== --- binaries/data/mods/public/gui/lobby/lobby_panels.xml +++ binaries/data/mods/public/gui/lobby/lobby_panels.xml @@ -201,9 +201,12 @@ Players - + Rating + + Rated + Index: binaries/data/mods/public/gui/options/options.json =================================================================== --- binaries/data/mods/public/gui/options/options.json +++ binaries/data/mods/public/gui/options/options.json @@ -427,7 +427,7 @@ { "type": "boolean", "label": "Game Rating Column", - "tooltip": "Show the average rating of the participating players in a column of the gamelist.", + "tooltip": "Show the average rating of the participating players in a column of the gamelist and the rated state of a game.", "config": "lobby.columns.gamerating" } ] Index: source/lobby/XmppClient.cpp =================================================================== --- source/lobby/XmppClient.cpp +++ source/lobby/XmppClient.cpp @@ -493,7 +493,7 @@ JSAutoRequest rq(cx); scriptInterface.Eval("([])", ret); - const char* stats[] = { "name", "ip", "port", "stunIP", "stunPort", "hostUsername", "state", "nbp", "maxnbp", "players", "mapName", "niceMapName", "mapSize", "mapType", "victoryCondition", "startTime" }; + const char* stats[] = { "name", "ip", "port", "stunIP", "stunPort", "hostUsername", "state", "nbp", "maxnbp", "players", "mapName", "niceMapName", "mapSize", "mapType", "victoryCondition", "startTime", "rated" }; for(const glooxwrapper::Tag* const& t : m_GameList) { JS::RootedValue game(cx);