Index: binaries/data/mods/mod/gui/common/guitags.js =================================================================== --- binaries/data/mods/mod/gui/common/guitags.js +++ binaries/data/mods/mod/gui/common/guitags.js @@ -1,7 +1,7 @@ /** * Add color to text string. */ -function coloredText(text, color) +function setColor(text, color) { return '[color="' + color + '"]' + text + '[/color]'; } Index: binaries/data/mods/mod/gui/modmod/modmod.js =================================================================== --- binaries/data/mods/mod/gui/modmod/modmod.js +++ binaries/data/mods/mod/gui/modmod/modmod.js @@ -273,14 +273,14 @@ if (isDependencyMet(dependency)) continue; - guiObject.caption = coloredText( + guiObject.caption = setColor( sprintf(translate('Dependency not met: %(dep)s'), { "dep": dependency }), g_ColorDependenciesNotMet); return false; } - guiObject.caption = coloredText(translate('All dependencies met'), g_ColorDependenciesMet); + guiObject.caption = setColor(translate('All dependencies met'), g_ColorDependenciesMet); return true; } Index: binaries/data/mods/public/gui/civinfo/civinfo.js =================================================================== --- binaries/data/mods/public/gui/civinfo/civinfo.js +++ binaries/data/mods/public/gui/civinfo/civinfo.js @@ -76,7 +76,7 @@ string += '[icon="iconInfo" tooltip="' + escapeQuotation(obj.History) + '" tooltip_style="civInfoTooltip"]'; if (obj.Description) string += '\n ' + obj.Description; - return coloredText(string + "\n", "white"); + return setColor(string + "\n", "white"); } /** Index: binaries/data/mods/public/gui/common/color.js =================================================================== --- binaries/data/mods/public/gui/common/color.js +++ binaries/data/mods/public/gui/common/color.js @@ -149,7 +149,7 @@ return ""; return sprintf(text, { - "hotkey": coloredText("\\[" + key + "]", g_HotkeyColor) + "hotkey": setColor("\\[" + key + "]", g_HotkeyColor) }); } @@ -161,7 +161,7 @@ { return sprintf(string || translate("Press %(hotkey)s to autocomplete playernames."), { "hotkey": - coloredText("\\[" + translateWithContext("hotkey", "Tab") + "]", g_HotkeyColor) + setColor("\\[" + translateWithContext("hotkey", "Tab") + "]", g_HotkeyColor) }); } @@ -170,5 +170,5 @@ */ function compatibilityColor(text, isCompatible) { - return isCompatible ? text : coloredText(text, "96 96 96"); + return isCompatible ? text : setColor(text, "96 96 96"); } Index: binaries/data/mods/public/gui/common/gamedescription.js =================================================================== --- binaries/data/mods/public/gui/common/gamedescription.js +++ binaries/data/mods/public/gui/common/gamedescription.js @@ -154,7 +154,7 @@ playerDescriptions[teamIdx].push(sprintf(playerDescription, { "playerName": - coloredText( + setColor( (g_Buddies.indexOf(splitRatingFromNick(playerData.Name)[0]) != -1 ? g_BuddySymbol + " " : "") + escapeText(playerData.Name), (typeof getPlayerColor == 'function' ? @@ -400,7 +400,7 @@ } return titles.map(title => sprintf(translate("%(label)s %(details)s"), { - "label": coloredText(title.label, g_DescriptionHighlight), + "label": setColor(title.label, g_DescriptionHighlight), "details": title.value === true ? translateWithContext("gamesetup option", "enabled") : title.value || translateWithContext("gamesetup option", "disabled") Index: binaries/data/mods/public/gui/common/tooltips.js =================================================================== --- binaries/data/mods/public/gui/common/tooltips.js +++ binaries/data/mods/public/gui/common/tooltips.js @@ -596,7 +596,7 @@ "component": '[font="sans-12"]' + resourceIcon(resource) + '[/font]', "cost": resources[resource] })); - return coloredText( + return setColor( '[font="sans-bold-13"]' + translate("Insufficient resources:") + '[/font]', "red") + " " + formatted.join(" "); 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 @@ -517,7 +517,7 @@ if (hoverIdx == -1 || popCap * players <= g_PopulationCapacityRecommendation) return translate("Select population limit."); - return coloredText( + return setColor( sprintf(translate("Warning: There might be performance issues if all %(players)s players reach %(popCap)s population."), { "players": players, "popCap": popCap @@ -942,7 +942,7 @@ let name = translate(pData.Name || g_DefaultPlayerData[playerIdx].Name); if (g_IsNetworked) - name = coloredText(name, g_ReadyData[assignedGUID ? g_PlayerAssignments[assignedGUID].status : 2].color); + name = setColor(name, g_ReadyData[assignedGUID ? g_PlayerAssignments[assignedGUID].status : 2].color); return name; }, @@ -1132,7 +1132,7 @@ dropdown.list = data.labels(playerIdx).map((label, id) => data.colors && data.colors(playerIdx) ? - coloredText(label, data.colors(playerIdx)[id]) : + setColor(label, data.colors(playerIdx)[id]) : label); dropdown.list_data = data.ids(playerIdx); @@ -2243,7 +2243,7 @@ color = rgbToGuiColor({ "r": r, "g": g, "b": b }); } - return coloredText(username, color); + return setColor(username, color); } function addChatMessage(msg) Index: binaries/data/mods/public/gui/loadgame/load.js =================================================================== --- binaries/data/mods/public/gui/loadgame/load.js +++ binaries/data/mods/public/gui/loadgame/load.js @@ -116,7 +116,7 @@ let caption = sprintf(translate("Mods: %(mods)s"), { "mods": metadata.mods.join(translate(", ")) }); if (!hasSameMods(metadata, Engine.GetEngineInfo())) - caption = coloredText(caption, "orange"); + caption = setColor(caption, "orange"); Engine.GetGUIObjectByName("savedMods").caption = caption; Engine.GetGUIObjectByName("savedPlayersNames").caption = formatPlayerInfo( 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 @@ -334,7 +334,7 @@ if (!g_ChatCommands[command].moderatorOnly || isModerator) // Translation: Chat command help format text += "\n" + sprintf(translate("%(command)s - %(description)s"), { - "command": coloredText(command, g_ChatCommandColor), + "command": setColor(command, g_ChatCommandColor), "description": g_ChatCommands[command].description }); @@ -657,10 +657,10 @@ warn("Unknown presence:" + player.presence); let statusColor = g_PlayerStatuses[presence].color; - buddyStatusList.push(player.isBuddy ? coloredText(g_BuddySymbol, statusColor) : ""); + buddyStatusList.push(player.isBuddy ? setColor(g_BuddySymbol, statusColor) : ""); playerList.push(colorPlayerName((player.role == "moderator" ? g_ModeratorPrefix : "") + player.name)); - presenceList.push(coloredText(g_PlayerStatuses[presence].status, statusColor)); - ratingList.push(coloredText(rating, statusColor)); + presenceList.push(setColor(g_PlayerStatuses[presence].status, statusColor)); + ratingList.push(setColor(rating, statusColor)); nickList.push(player.name); } @@ -981,8 +981,8 @@ if (game.ip == g_SelectedGameIP && game.port == g_SelectedGamePort) selectedGameIndex = +i; - list_buddy.push(game.hasBuddies ? coloredText(g_BuddySymbol, g_GameColors[game.state]) : ""); - list_name.push(coloredText(gameName, g_GameColors[game.state])); + list_buddy.push(game.hasBuddies ? setColor(g_BuddySymbol, g_GameColors[game.state]) : ""); + list_name.push(setColor(gameName, g_GameColors[game.state])); list_mapName.push(translateMapTitle(game.niceMapName)); list_mapSize.push(translateMapSize(game.mapSize)); list_mapType.push(g_MapTypes.Title[mapTypeIdx] || ""); @@ -1236,7 +1236,7 @@ "from": "system", "text": sprintf( translate("The command '%(cmd)s' is not supported."), { - "cmd": coloredText(cmd, g_ChatCommandColor) + "cmd": setColor(cmd, g_ChatCommandColor) }) }); return false; @@ -1248,7 +1248,7 @@ "from": "system", "text": sprintf( translate("The command '%(cmd)s' is restricted to moderators."), { - "cmd": coloredText(cmd, g_ChatCommandColor) + "cmd": setColor(cmd, g_ChatCommandColor) }) }); return false; @@ -1378,7 +1378,7 @@ // Translation: IRC message prefix. if (msg.private) senderString = sprintf(translateWithContext("lobby private message", "(%(private)s) <%(sender)s>"), { - "private": coloredText(translate("Private"), g_PrivateMessageColor), + "private": setColor(translate("Private"), g_PrivateMessageColor), "sender": coloredFrom }); else @@ -1445,7 +1445,7 @@ */ function colorPlayerName(playername, rating) { - return coloredText( + return setColor( (rating ? sprintf( translate("%(nick)s (%(rating)s)"), { "nick": playername, Index: binaries/data/mods/public/gui/pregame/mainmenu.js =================================================================== --- binaries/data/mods/public/gui/pregame/mainmenu.js +++ binaries/data/mods/public/gui/pregame/mainmenu.js @@ -144,7 +144,7 @@ 600, 300, "[font=\"sans-bold-16\"]" + sprintf(translate("%(warning)s You appear to be using non-shader (fixed function) graphics. This option will be removed in a future 0 A.D. release, to allow for more advanced graphics features. We advise upgrading your graphics card to a more recent, shader-compatible model."), { - "warning": coloredText("Warning:", "200 20 20") + "warning": setColor("Warning:", "200 20 20") }) + "\n\n" + // Translation: This is the second paragraph of a warning. The Index: binaries/data/mods/public/gui/session/menu.js =================================================================== --- binaries/data/mods/public/gui/session/menu.js +++ binaries/data/mods/public/gui/session/menu.js @@ -927,7 +927,7 @@ "openingTradingString": activeString, "openingGarrisonedString": garrisonedString, "garrisonedString": garrisonedString, - "inactiveString": coloredText(inactiveString, g_IdleTraderTextColor) + "inactiveString": setColor(inactiveString, g_IdleTraderTextColor) }); } @@ -975,7 +975,7 @@ return sprintf(message, { "openingTradingString": activeString, - "inactiveString": coloredText(inactiveString, g_IdleTraderTextColor) + "inactiveString": setColor(inactiveString, g_IdleTraderTextColor) }); } Index: binaries/data/mods/public/gui/session/messages.js =================================================================== --- binaries/data/mods/public/gui/session/messages.js +++ binaries/data/mods/public/gui/session/messages.js @@ -546,7 +546,7 @@ if (notification.warning) { - Engine.GetGUIObjectByName("tutorialWarning").caption = coloredText(translate(notification.warning), "orange"); + Engine.GetGUIObjectByName("tutorialWarning").caption = setColor(translate(notification.warning), "orange"); return; } @@ -554,7 +554,7 @@ tutorialText.caption = tutorialText.caption.replace('[color="yellow"]', '').replace('[/color]', '') + (tutorialText.caption ? "\n" : "") + - coloredText(notification.instructions.reduce((instructions, item) => instructions + translate(item), ""), "yellow"); + setColor(notification.instructions.reduce((instructions, item) => instructions + translate(item), ""), "yellow"); if (notification.readyButton) { @@ -946,7 +946,7 @@ function colorizePlayernameHelper(username, playerID) { let playerColor = playerID > -1 ? rgbToGuiColor(g_Players[playerID].color) : "white"; - return coloredText(username || translate("Unknown Player"), playerColor); + return setColor(username || translate("Unknown Player"), playerColor); } /** Index: binaries/data/mods/public/gui/session/selection_panels.js =================================================================== --- binaries/data/mods/public/gui/session/selection_panels.js +++ binaries/data/mods/public/gui/session/selection_panels.js @@ -342,7 +342,7 @@ let tooltip = translate(formationInfo.name); if (!formationOk && formationInfo.tooltip) - tooltip += "\n" + coloredText(translate(formationInfo.tooltip), "red"); + tooltip += "\n" + setColor(translate(formationInfo.tooltip), "red"); data.button.tooltip = tooltip; data.button.enabled = formationOk && controlsPlayer(data.player); @@ -608,7 +608,7 @@ let tooltip = getEntityNames(template); if (queuedItem.neededSlots) { - tooltip += "\n" + coloredText(translate("Insufficient population capacity:"), "red"); + tooltip += "\n" + setColor(translate("Insufficient population capacity:"), "red"); tooltip += "\n" + sprintf(translate("%(population)s %(neededSlots)s"), { "population": resourceIcon("population"), "neededSlots": queuedItem.neededSlots Index: binaries/data/mods/public/gui/session/selection_panels_helpers.js =================================================================== --- binaries/data/mods/public/gui/session/selection_panels_helpers.js +++ binaries/data/mods/public/gui/session/selection_panels_helpers.js @@ -101,7 +101,7 @@ }); if (trainEntCount >= trainEntLimit) - text = coloredText(text, "red"); + text = setColor(text, "red"); for (var c in trainEntLimitChangers) { @@ -162,7 +162,7 @@ batchString = translate("%(action)s to train %(number)s."); return "[font=\"sans-13\"]" + - coloredText( + setColor( sprintf(batchString, { "action": "[font=\"sans-bold-13\"]" + translate("Shift-click") + "[/font]", "number": totalBatchTrainingCount, Index: binaries/data/mods/public/gui/session/unit_actions.js =================================================================== --- binaries/data/mods/public/gui/session/unit_actions.js +++ binaries/data/mods/public/gui/session/unit_actions.js @@ -644,7 +644,7 @@ extraCount += entState.garrisonHolder.garrisonedEntitiesCount; if (targetState.garrisonHolder.garrisonedEntitiesCount + extraCount >= targetState.garrisonHolder.capacity) - tooltip = coloredText(tooltip, "orange"); + tooltip = setColor(tooltip, "orange"); if (!MatchesClassList(entState.identity.classes, targetState.garrisonHolder.allowedClasses)) return false; @@ -856,7 +856,7 @@ if (targetState.garrisonHolder.garrisonedEntitiesCount >= targetState.garrisonHolder.capacity) - tooltip = coloredText(tooltip, "orange"); + tooltip = setColor(tooltip, "orange"); } else if (targetState.resourceSupply) { Index: binaries/data/mods/public/gui/summary/counters.js =================================================================== --- binaries/data/mods/public/gui/summary/counters.js +++ binaries/data/mods/public/gui/summary/counters.js @@ -18,7 +18,7 @@ let ret = ""; for (let type in values) ret += (g_SummaryTypes[type].color ? - coloredText(values[type], g_SummaryTypes[type].color) : + setColor(values[type], g_SummaryTypes[type].color) : values[type]) + g_SummaryTypes[type].postfix; return ret; } Index: binaries/data/mods/public/gui/summary/layout.js =================================================================== --- binaries/data/mods/public/gui/summary/layout.js +++ binaries/data/mods/public/gui/summary/layout.js @@ -215,7 +215,7 @@ function getColoredTypeTranslation(type) { return g_SummaryTypes[type].color ? - coloredText(g_SummaryTypes[type].caption, g_SummaryTypes[type].color) : + setColor(g_SummaryTypes[type].caption, g_SummaryTypes[type].color) : g_SummaryTypes[type].caption; } Index: binaries/data/mods/public/gui/summary/summary.js =================================================================== --- binaries/data/mods/public/gui/summary/summary.js +++ binaries/data/mods/public/gui/summary/summary.js @@ -218,7 +218,7 @@ let chartLegend = Engine.GetGUIObjectByName("chartLegend"); chartLegend.caption = g_GameData.sim.playerStates.slice(1).map( - (state, index) => coloredText("■", player_colors[index]) + state.name + (state, index) => setColor("■", player_colors[index]) + state.name ).join(" "); let chart1Part = Engine.GetGUIObjectByName("chart[1]Part");