Ticket #3409: t3409_v9.patch
File t3409_v9.patch, 2.8 KB (added by , 8 years ago) |
---|
-
trunk/binaries/data/mods/public/gui/common/functions_utility.js
56 56 } 57 57 58 58 /** 59 * This function is used that highlith player names in wide text 60 */ 61 function colorizePlayernamesInWideText(message,players,colorFunction) 62 { 63 var colorizedNames = []; 64 var names = []; 65 var ret = ""; 66 67 for (let id in players) 68 { 69 let player = players[id]; 70 if (player.player > -1) 71 { 72 colorizedNames.push(colorFunction(id,"")); 73 names.push(player.name); 74 } 75 else 76 { 77 colorizedNames.push(player.name); 78 names.push(player.name); 79 } 80 } 81 82 var tmpBuffer = ""; 83 var fixedMessage = ""; 84 for (let charIndex in message) 85 { 86 tmpBuffer += message[charIndex]; 87 88 for (let nameIndex in names) 89 { 90 var beginCharIndex = tmpBuffer.indexOf(names[nameIndex]); 91 if (beginCharIndex != -1) 92 { 93 var leftPartBuffer = tmpBuffer.substr(0, beginCharIndex); 94 fixedMessage += escapeText(leftPartBuffer) + colorizedNames[nameIndex]; 95 tmpBuffer = ""; 96 } 97 } 98 } 99 100 if (tmpBuffer.length != 0) 101 fixedMessage += escapeText(tmpBuffer); 102 103 return fixedMessage; 104 } 105 106 /** 59 107 * Escape tag start and escape characters, so users cannot use special formatting. 60 108 * Also limit string length to 256 characters (not counting escape characters). 61 109 */ -
trunk/binaries/data/mods/public/gui/gamesetup/gamesetup.js
46 46 "banned": (msg, user) => systemMessage(sprintf(translate("%(username)s has been banned"), { "username": user })), 47 47 "chat": (msg, user) => sprintf(translate("%(username)s %(message)s"), { 48 48 "username": senderFont(sprintf(translate("<%(username)s>"), { "username": user })), 49 "message": escapeText(msg.text || "")49 "message": colorizePlayernamesInWideText(msg.text || "", g_PlayerAssignments,colorizePlayernameByGUID) 50 50 }), 51 51 "ready": (msg, user) => sprintf(translate("* %(username)s is ready!"), { 52 52 "username": user -
trunk/binaries/data/mods/public/gui/session/messages.js
645 668 } 646 669 } 647 670 else 648 msg.text = escapeText(msg.text);671 msg.text = colorizePlayernamesInWideText(msg.text, g_PlayerAssignments,colorizePlayernameByGUID); 649 672 650 673 // GUID for players, playerID for AIs 651 674 let coloredUsername = msg.guid != -1 ? colorizePlayernameByGUID(msg.guid) : colorizePlayernameByID(msg.player);