diff --git a/binaries/data/mods/public/art/textures/ui/lobby/private.png b/binaries/data/mods/public/art/textures/ui/lobby/private.png
new file mode 100644
index 0000000000..1f8ed48b78
--- /dev/null
+++ b/binaries/data/mods/public/art/textures/ui/lobby/private.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:106bb44270cd77978c4dbbe4793c9a8eff014a6d188a4e1f3e3ef47e005b271b
+size 1894
diff --git a/binaries/data/mods/public/art/textures/ui/lobby/public.png b/binaries/data/mods/public/art/textures/ui/lobby/public.png
new file mode 100644
index 0000000000..a10a2537d8
--- /dev/null
+++ b/binaries/data/mods/public/art/textures/ui/lobby/public.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:e36d3eae82bd84e4056efeb91f9fb90116ca4140b3da2d04a05aabf2c88439bb
+size 2098
diff --git a/binaries/data/mods/public/gui/lobby/LobbyPage/Game.js b/binaries/data/mods/public/gui/lobby/LobbyPage/Game.js
index 80a1cd94bd..d5b4b3df0e 100644
--- a/binaries/data/mods/public/gui/lobby/LobbyPage/Game.js
+++ b/binaries/data/mods/public/gui/lobby/LobbyPage/Game.js
@@ -146,6 +146,8 @@ class Game
Engine.ProfileStop();
}
+ displayData.private = newStanza.hasPassword ? '[icon="icon_private"]' : '[icon="icon_public"]';
+
this.stanza = newStanza;
this.sortValue = this.sortValues[sortKey];
}
diff --git a/binaries/data/mods/public/gui/lobby/LobbyPage/GameList.js b/binaries/data/mods/public/gui/lobby/LobbyPage/GameList.js
index f210af5de2..50f7115ee0 100644
--- a/binaries/data/mods/public/gui/lobby/LobbyPage/GameList.js
+++ b/binaries/data/mods/public/gui/lobby/LobbyPage/GameList.js
@@ -32,6 +32,7 @@ class GameList
// Avoid repeated array construction
this.list_buddy = [];
+ this.list_private = [];
this.list_gameName = [];
this.list_mapName = [];
this.list_mapSize = [];
@@ -138,6 +139,7 @@ class GameList
Engine.ProfileStart("setupGameList");
let length = this.gameList.length;
this.list_buddy.length = length;
+ this.list_private.length = length;
this.list_gameName.length = length;
this.list_mapName.length = length;
this.list_mapSize.length = length;
@@ -150,6 +152,7 @@ class GameList
let displayData = game.displayData;
this.list_buddy[i] = displayData.buddy;
+ this.list_private[i] = displayData.private;
this.list_gameName[i] = displayData.gameName;
this.list_mapName[i] = displayData.mapName;
this.list_mapSize[i] = displayData.mapSize;
@@ -166,6 +169,7 @@ class GameList
{
Engine.ProfileStart("copyToGUI");
let gamesBox = this.gamesBox;
+ gamesBox.list_private = this.list_private;
gamesBox.list_buddy = this.list_buddy;
gamesBox.list_gameName = this.list_gameName;
gamesBox.list_mapName = this.list_mapName;
diff --git a/binaries/data/mods/public/gui/lobby/LobbyPage/GameList.xml b/binaries/data/mods/public/gui/lobby/LobbyPage/GameList.xml
index 0d1a14fa99..6bbc27d369 100644
--- a/binaries/data/mods/public/gui/lobby/LobbyPage/GameList.xml
+++ b/binaries/data/mods/public/gui/lobby/LobbyPage/GameList.xml
@@ -8,6 +8,7 @@
font="sans-stroke-13"
>
+
Name
diff --git a/binaries/data/mods/public/gui/lobby/icons/private.xml b/binaries/data/mods/public/gui/lobby/icons/private.xml
new file mode 100644
index 0000000000..27fc820087
--- /dev/null
+++ b/binaries/data/mods/public/gui/lobby/icons/private.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
diff --git a/binaries/data/mods/public/gui/lobby/icons/public.xml b/binaries/data/mods/public/gui/lobby/icons/public.xml
new file mode 100644
index 0000000000..ce3ff84916
--- /dev/null
+++ b/binaries/data/mods/public/gui/lobby/icons/public.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
diff --git a/binaries/data/mods/public/gui/page_lobby.xml b/binaries/data/mods/public/gui/page_lobby.xml
index 090a214394..66b3a6ee54 100644
--- a/binaries/data/mods/public/gui/page_lobby.xml
+++ b/binaries/data/mods/public/gui/page_lobby.xml
@@ -7,6 +7,7 @@
common/styles.xml
common/sprites.xml
+ lobby/icons/
lobby/lobby.xml