Ticket #2640: 2640_1.patch
File 2640_1.patch, 9.4 KB (added by , 9 years ago) |
---|
-
binaries/data/mods/public/gui/gamesetup/gamesetup.js
From 5fcd48ec23a92c74530c7e0aaa25d40d9624b650 Mon Sep 17 00:00:00 2001 From: matt <matthewdoerksen@hotmail.com> Date: Thu, 18 Jun 2015 20:30:37 -0700 Subject: [PATCH 1/2] Move game setup chat functionality into separate file. --- .../data/mods/public/gui/gamesetup/gamesetup.js | 79 ++-------------------- .../data/mods/public/gui/gamesetup/gamesetup.xml | 1 + 2 files changed, 6 insertions(+), 74 deletions(-) diff --git a/binaries/data/mods/public/gui/gamesetup/gamesetup.js b/binaries/data/mods/public/gui/gamesetup/gamesetup.js index 856b79d..960393a 100644
a b function handleNetMessage(message) 451 451 // If we have extra player slots and we are the controller, give the player an ID. 452 452 if (g_IsController && message.hosts[host].player === -1 && g_AssignedCount < g_GameAttributes.settings.PlayerData.length) 453 453 Engine.AssignNetworkPlayer(g_AssignedCount + 1, host); 454 addChatMessage ({ "type": "connect", "username": message.hosts[host].name });454 addChatMessageGameSetup({ "type": "connect", "username": message.hosts[host].name }); 455 455 newPlayer = host; 456 456 } 457 457 } … … function handleNetMessage(message) 460 460 { 461 461 if (!message.hosts[host]) 462 462 { 463 addChatMessage ({ "type": "disconnect", "guid": host });463 addChatMessageGameSetup({ "type": "disconnect", "guid": host }); 464 464 if (g_PlayerAssignments[host].player != -1) 465 465 resetReady = true; // Observers shouldn't reset ready. 466 466 } … … function handleNetMessage(message) 494 494 break; 495 495 496 496 case "chat": 497 addChatMessage ({ "type": "message", "guid": message.guid, "text": message.text });497 addChatMessageGameSetup({ "type": "message", "guid": message.guid, "text": message.text }); 498 498 break; 499 499 500 500 // Singular client to host message 501 501 case "ready": 502 502 g_ReadyChanged -= 1; 503 503 if (g_ReadyChanged < 1 && g_PlayerAssignments[message.guid].player != -1) 504 addChatMessage ({ "type": "ready", "guid": message.guid, "ready": +message.status == 1 });504 addChatMessageGameSetup({ "type": "ready", "guid": message.guid, "ready": +message.status == 1 }); 505 505 if (!g_IsController) 506 506 break; 507 507 g_PlayerAssignments[message.guid].status = +message.status == 1; … … function submitChatInput() 1688 1688 } 1689 1689 } 1690 1690 1691 function addChatMessage(msg)1692 {1693 var username = "";1694 if (msg.username)1695 username = escapeText(msg.username);1696 else if (msg.guid && g_PlayerAssignments[msg.guid])1697 username = escapeText(g_PlayerAssignments[msg.guid].name);1698 1699 var message = "";1700 if ("text" in msg && msg.text)1701 message = escapeText(msg.text);1702 1703 // TODO: Maybe host should have distinct font/color?1704 var color = "white";1705 1706 if (msg.guid && g_PlayerAssignments[msg.guid] && g_PlayerAssignments[msg.guid].player != -1)1707 {1708 // Valid player who has been assigned - get player color1709 var player = g_PlayerAssignments[msg.guid].player - 1;1710 var mapName = g_GameAttributes.map;1711 var mapData = loadMapData(mapName);1712 var mapSettings = (mapData && mapData.settings ? mapData.settings : {});1713 var pData = mapSettings.PlayerData ? mapSettings.PlayerData[player] : {};1714 var pDefs = g_DefaultPlayerData ? g_DefaultPlayerData[player] : {};1715 1716 color = rgbToGuiColor(getSetting(pData, pDefs, "Color"));1717 }1718 1719 var formatted;1720 switch (msg.type)1721 {1722 case "connect":1723 var formattedUsername = '[color="'+ color +'"]' + username + '[/color]';1724 formatted = '[font="sans-bold-13"] ' + sprintf(translate("== %(message)s"), { message: sprintf(translate("%(username)s has joined"), { username: formattedUsername }) }) + '[/font]';1725 break;1726 1727 case "disconnect":1728 var formattedUsername = '[color="'+ color +'"]' + username + '[/color]';1729 formatted = '[font="sans-bold-13"] ' + sprintf(translate("== %(message)s"), { message: sprintf(translate("%(username)s has left"), { username: formattedUsername }) }) + '[/font]';1730 break;1731 1732 case "message":1733 var formattedUsername = '[color="'+ color +'"]' + username + '[/color]';1734 var formattedUsernamePrefix = '[font="sans-bold-13"]' + sprintf(translate("<%(username)s>"), { username: formattedUsername }) + '[/font]'1735 formatted = sprintf(translate("%(username)s %(message)s"), { username: formattedUsernamePrefix, message: message });1736 break;1737 1738 case "ready":1739 var formattedUsername = '[font="sans-bold-13"][color="'+ color +'"]' + username + '[/color][/font]'1740 if (msg.ready)1741 formatted = ' ' + sprintf(translate("* %(username)s is ready!"), { username: formattedUsername });1742 else1743 formatted = ' ' + sprintf(translate("* %(username)s is not ready."), { username: formattedUsername });1744 break;1745 1746 case "settings":1747 formatted = '[font="sans-bold-13"] ' + sprintf(translate("== %(message)s"), { message: translate('Game settings have been changed') }) + '[/font]';1748 break;1749 1750 default:1751 error(sprintf("Invalid chat message '%(message)s'", { message: uneval(msg) }));1752 return;1753 }1754 1755 g_ChatMessages.push(formatted);1756 1757 Engine.GetGUIObjectByName("chatText").caption = g_ChatMessages.join("\n");1758 }1759 1760 1691 function toggleMoreOptions() 1761 1692 { 1762 1693 Engine.GetGUIObjectByName("moreOptionsFade").hidden = !Engine.GetGUIObjectByName("moreOptionsFade").hidden; … … function resetReadyData() 1835 1766 return; 1836 1767 1837 1768 if (g_ReadyChanged < 1) 1838 addChatMessage ({ "type": "settings"});1769 addChatMessageGameSetup({ "type": "settings"}); 1839 1770 else if (g_ReadyChanged == 2 && !g_ReadyInit) 1840 1771 return; // duplicate calls on init 1841 1772 else -
binaries/data/mods/public/gui/gamesetup/gamesetup.xml
diff --git a/binaries/data/mods/public/gui/gamesetup/gamesetup.xml b/binaries/data/mods/public/gui/gamesetup/gamesetup.xml index 4788977..d575793 100644
a b 3 3 <objects> 4 4 5 5 <script file="gui/common/network.js"/> 6 <script file="gui/common/functions_chat.js"/> 6 7 <script file="gui/common/functions_civinfo.js"/> 7 8 <script file="gui/common/functions_global_object.js"/> 8 9 <script file="gui/common/functions_utility.js"/> -
new file inaries/data/mods/public/gui/common/functions_chat.js
-- 2.1.4 From 7ef3487c25d51e8256f781ee116a9d778a180de0 Mon Sep 17 00:00:00 2001 From: matt <matthewdoerksen@hotmail.com> Date: Thu, 18 Jun 2015 20:30:46 -0700 Subject: [PATCH 2/2] Add functions_chat.js file to begin aggregating all chat functionality. --- .../data/mods/public/gui/common/functions_chat.js | 68 ++++++++++++++++++++++ 1 file changed, 68 insertions(+) create mode 100644 binaries/data/mods/public/gui/common/functions_chat.js diff --git a/binaries/data/mods/public/gui/common/functions_chat.js b/binaries/data/mods/public/gui/common/functions_chat.js new file mode 100644 index 0000000..9e51ae5
- + 1 function addChatMessageGameSetup(msg) 2 { 3 var username = ""; 4 if (msg.username) 5 username = escapeText(msg.username); 6 else if (msg.guid && g_PlayerAssignments[msg.guid]) 7 username = escapeText(g_PlayerAssignments[msg.guid].name); 8 9 var message = ""; 10 if ("text" in msg && msg.text) 11 message = escapeText(msg.text); 12 13 // TODO: Maybe host should have distinct font/color? 14 var color = "white"; 15 16 if (msg.guid && g_PlayerAssignments[msg.guid] && g_PlayerAssignments[msg.guid].player != -1) 17 { 18 // Valid player who has been assigned - get player color 19 var player = g_PlayerAssignments[msg.guid].player - 1; 20 var mapName = g_GameAttributes.map; 21 var mapData = loadMapData(mapName); 22 var mapSettings = (mapData && mapData.settings ? mapData.settings : {}); 23 var pData = mapSettings.PlayerData ? mapSettings.PlayerData[player] : {}; 24 var pDefs = g_DefaultPlayerData ? g_DefaultPlayerData[player] : {}; 25 26 color = rgbToGuiColor(getSetting(pData, pDefs, "Color")); 27 } 28 29 var formatted; 30 switch (msg.type) 31 { 32 case "connect": 33 var formattedUsername = '[color="'+ color +'"]' + username + '[/color]'; 34 formatted = '[font="sans-bold-13"] ' + sprintf(translate("== %(message)s"), { message: sprintf(translate("%(username)s has joined"), { username: formattedUsername }) }) + '[/font]'; 35 break; 36 37 case "disconnect": 38 var formattedUsername = '[color="'+ color +'"]' + username + '[/color]'; 39 formatted = '[font="sans-bold-13"] ' + sprintf(translate("== %(message)s"), { message: sprintf(translate("%(username)s has left"), { username: formattedUsername }) }) + '[/font]'; 40 break; 41 42 case "message": 43 var formattedUsername = '[color="'+ color +'"]' + username + '[/color]'; 44 var formattedUsernamePrefix = '[font="sans-bold-13"]' + sprintf(translate("<%(username)s>"), { username: formattedUsername }) + '[/font]' 45 formatted = sprintf(translate("%(username)s %(message)s"), { username: formattedUsernamePrefix, message: message }); 46 break; 47 48 case "ready": 49 var formattedUsername = '[font="sans-bold-13"][color="'+ color +'"]' + username + '[/color][/font]' 50 if (msg.ready) 51 formatted = ' ' + sprintf(translate("* %(username)s is ready!"), { username: formattedUsername }); 52 else 53 formatted = ' ' + sprintf(translate("* %(username)s is not ready."), { username: formattedUsername }); 54 break; 55 56 case "settings": 57 formatted = '[font="sans-bold-13"] ' + sprintf(translate("== %(message)s"), { message: translate('Game settings have been changed') }) + '[/font]'; 58 break; 59 60 default: 61 error(sprintf("Invalid chat message '%(message)s'", { message: uneval(msg) })); 62 return; 63 } 64 65 g_ChatMessages.push(formatted); 66 67 Engine.GetGUIObjectByName("chatText").caption = g_ChatMessages.join("\n"); 68 }