diff options
author | red-001 <red-001@outlook.ie> | 2017-06-09 20:39:25 +0100 |
---|---|---|
committer | SmallJoker <mk939@ymail.com> | 2018-06-03 17:31:59 +0200 |
commit | c399f5a5419efdafec766268af008ed24418fcd4 (patch) | |
tree | 2142dbcc7f56f33a783a3fbb4a28a6b3ed685847 /src | |
parent | f736226c1a289c52cb59e5639ce4a39ad6451ac6 (diff) | |
download | minetest-c399f5a5419efdafec766268af008ed24418fcd4.tar.gz minetest-c399f5a5419efdafec766268af008ed24418fcd4.tar.bz2 minetest-c399f5a5419efdafec766268af008ed24418fcd4.zip |
Fix sending color codes to clients that don't support them. (#5950)
Also remove `disable_escape_sequences` since it's not needed anymore.
Diffstat (limited to 'src')
-rw-r--r-- | src/server.cpp | 15 |
1 files changed, 9 insertions, 6 deletions
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); } } |