From c399f5a5419efdafec766268af008ed24418fcd4 Mon Sep 17 00:00:00 2001 From: red-001 Date: Fri, 9 Jun 2017 20:39:25 +0100 Subject: Fix sending color codes to clients that don't support them. (#5950) Also remove `disable_escape_sequences` since it's not needed anymore. --- src/server.cpp | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) (limited to 'src/server.cpp') diff --git a/src/server.cpp b/src/server.cpp index 1e8e6a5d2..e9ccc3d79 100644 --- a/src/server.cpp +++ b/src/server.cpp @@ -1643,15 +1643,18 @@ void Server::SendInventory(PlayerSAO* playerSAO) void Server::SendChatMessage(u16 peer_id, const std::wstring &message) { DSTACK(FUNCTION_NAME); + if (peer_id != PEER_ID_INEXISTENT) { + NetworkPacket pkt(TOCLIENT_CHAT_MESSAGE, 0, peer_id); - NetworkPacket pkt(TOCLIENT_CHAT_MESSAGE, 0, peer_id); - pkt << message; + if (m_clients.getProtocolVersion(peer_id) < 27) + pkt << unescape_enriched(message); + else + pkt << message; - if (peer_id != PEER_ID_INEXISTENT) { Send(&pkt); - } - else { - m_clients.sendToAll(&pkt); + } else { + for (u16 id : m_clients.getClientIDs()) + SendChatMessage(id, message); } } -- cgit v1.2.3