From 7d7a4a6b144d1de9b40c17860fc0ddfca49d48a1 Mon Sep 17 00:00:00 2001 From: bb Date: Fri, 22 Dec 2017 19:20:03 +0000 Subject: [PATCH] Use an object in splitRatingFromNick instead of an array and some cleanups Patch By: ffffffff Differential Revision: https://code.wildfiregames.com/D1087 This was SVN commit r20675. --- .../mods/public/gui/common/gamedescription.js | 11 ++++------- .../data/mods/public/gui/gamesetup/gamesetup.js | 4 ++-- binaries/data/mods/public/gui/lobby/lobby.js | 15 +++++++-------- binaries/data/mods/public/gui/session/messages.js | 2 +- 4 files changed, 14 insertions(+), 18 deletions(-) diff --git a/binaries/data/mods/public/gui/common/gamedescription.js b/binaries/data/mods/public/gui/common/gamedescription.js index a19ed0cd7a..882fd57136 100644 --- a/binaries/data/mods/public/gui/common/gamedescription.js +++ b/binaries/data/mods/public/gui/common/gamedescription.js @@ -21,11 +21,7 @@ var g_BuddyListDelimiter = ","; function splitRatingFromNick(playerName) { let result = /^(\S+)\ \((\d+)\)$/g.exec(playerName); - - if (!result) - return [playerName, ""]; - - return [result[1], +result[2]]; + return { "nick": result ? result[1] : playerName, "rating": result ? +result[2] : "" }; } /** @@ -152,13 +148,14 @@ function formatPlayerInfo(playerDataArray, playerStates) if (!playerDescriptions[teamIdx]) playerDescriptions[teamIdx] = []; + let playerNick = splitRatingFromNick(playerData.Name).nick; playerDescriptions[teamIdx].push(sprintf(playerDescription, { "playerName": coloredText( - (g_Buddies.indexOf(splitRatingFromNick(playerData.Name)[0]) != -1 ? g_BuddySymbol + " " : "") + + (g_Buddies.indexOf(playerNick) != -1 ? g_BuddySymbol + " " : "") + escapeText(playerData.Name), (typeof getPlayerColor == 'function' ? - (isAI ? "white" : getPlayerColor(splitRatingFromNick(playerData.Name)[0])) : + (isAI ? "white" : getPlayerColor(playerNick)) : rgbToGuiColor(playerData.Color || g_Settings.PlayerDefaults[playerIdx].Color))), "civ": diff --git a/binaries/data/mods/public/gui/gamesetup/gamesetup.js b/binaries/data/mods/public/gui/gamesetup/gamesetup.js index 25b6ef5936..70529615a6 100644 --- a/binaries/data/mods/public/gui/gamesetup/gamesetup.js +++ b/binaries/data/mods/public/gui/gamesetup/gamesetup.js @@ -1375,7 +1375,7 @@ function onClientJoin(newGUID, newAssignments) { let assignOption = Engine.ConfigDB_GetValue("user", "gui.gamesetup.assignplayers"); if (assignOption == "disabled" || - assignOption == "buddies" && g_Buddies.indexOf(splitRatingFromNick(playername)[0]) == -1) + assignOption == "buddies" && g_Buddies.indexOf(splitRatingFromNick(playername).nick) == -1) return; } @@ -2261,7 +2261,7 @@ function addChatMessage(msg) { let userName = g_PlayerAssignments[Engine.GetPlayerGUID()].name; if (userName != g_PlayerAssignments[msg.guid].name && - msg.text.toLowerCase().indexOf(splitRatingFromNick(userName)[0].toLowerCase()) != -1) + msg.text.toLowerCase().indexOf(splitRatingFromNick(userName).nick.toLowerCase()) != -1) soundNotification("nick"); } diff --git a/binaries/data/mods/public/gui/lobby/lobby.js b/binaries/data/mods/public/gui/lobby/lobby.js index 9c4f522585..2c98a57676 100644 --- a/binaries/data/mods/public/gui/lobby/lobby.js +++ b/binaries/data/mods/public/gui/lobby/lobby.js @@ -716,8 +716,7 @@ function selectGameFromPlayername() for (let i = 0; i < g_GameList.length; ++i) for (let player of stringifiedTeamListToPlayerData(g_GameList[i].players)) { - let nick = splitRatingFromNick(player.Name)[0]; - if (g_SelectedPlayer != nick) + if (g_SelectedPlayer != splitRatingFromNick(player.Name).nick) continue; if (player.Team == "observer") @@ -913,13 +912,13 @@ function updateGameList() for (let player of stringifiedTeamListToPlayerData(game.players)) { - let [nick, rating] = splitRatingFromNick(player.Name); + let playerNickRating = splitRatingFromNick(player.Name); if (player.Team != "observer") - playerRatings.push(rating || g_DefaultLobbyRating); + playerRatings.push(playerNickRating.rating || g_DefaultLobbyRating); // Sort games with playing buddies above games with spectating buddies - if (game.hasBuddies < 2 && g_Buddies.indexOf(nick) != -1) + if (game.hasBuddies < 2 && g_Buddies.indexOf(playerNickRating.nick) != -1) game.hasBuddies = player.Team == "observer" ? 1 : 2; } @@ -1144,9 +1143,9 @@ function getRejoinRating(game) { for (let player of stringifiedTeamListToPlayerData(game.players)) { - let [nick, rating] = splitRatingFromNick(player.Name); - if (nick == g_Username) - return rating; + let playerNickRating = splitRatingFromNick(player.Name); + if (playerNickRating.nick == g_Username) + return playerNickRating.rating; } return g_UserRating; } diff --git a/binaries/data/mods/public/gui/session/messages.js b/binaries/data/mods/public/gui/session/messages.js index 1b8e3d67e3..28dbf4ec38 100644 --- a/binaries/data/mods/public/gui/session/messages.js +++ b/binaries/data/mods/public/gui/session/messages.js @@ -1107,7 +1107,7 @@ function formatChatCommand(msg) let userName = g_PlayerAssignments[Engine.GetPlayerGUID()].name; if (userName != g_PlayerAssignments[msg.guid].name && - msg.text.toLowerCase().indexOf(splitRatingFromNick(userName)[0].toLowerCase()) != -1) + msg.text.toLowerCase().indexOf(splitRatingFromNick(userName).nick.toLowerCase()) != -1) soundNotification("nick"); }