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 @@ -629,7 +629,10 @@ if (!name || name == g_Username || name.indexOf(g_BuddyListDelimiter) != -1) return; + let toggleBuddyButton = Engine.GetGUIObjectByName("toggleBuddyButton"); + let index = g_Buddies.indexOf(name); + toggleBuddyButton.caption = index == -1 ? translate("Unmark as Buddy") : translate("Mark as Buddy"); if (index != -1) g_Buddies.splice(index, 1); else @@ -690,8 +693,14 @@ lookupSelectedUserProfile("playersBox"); let playerList = Engine.GetGUIObjectByName("playersBox"); - if (playerList.selected != -1) - selectGameFromPlayername(playerList.list[playerList.selected]); + let toggleBuddyButton = Engine.GetGUIObjectByName("toggleBuddyButton"); + toggleBuddyButton.enabled = !(playerList.selected == -1); + + if (playerList.selected == -1) + return; + + toggleBuddyButton.caption = playerList.list_buddy[playerList.selected] ? translate("Unmark as Buddy") : translate("Mark as Buddy"); + selectGameFromPlayername(playerList.list[playerList.selected]); } function setLeaderboardVisibility(visible) 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 @@ -90,8 +90,8 @@ - - Toggle Buddy + + Mark as buddy toggleBuddy();