From 2e2043bf7fe2319c9ee6b92855556da36c704767 Mon Sep 17 00:00:00 2001 From: Regalis Date: Tue, 30 Aug 2016 19:06:15 +0300 Subject: [PATCH] Chat messages are added to the server log even if the host's character is out of range, message senders are shown in the server log, fixed multi-line log entries overlapping --- Subsurface/Source/Networking/GameServer.cs | 2 +- Subsurface/Source/Networking/NetworkMember.cs | 7 ++++--- Subsurface/Source/Networking/ServerLog.cs | 4 ++-- 3 files changed, 7 insertions(+), 6 deletions(-) diff --git a/Subsurface/Source/Networking/GameServer.cs b/Subsurface/Source/Networking/GameServer.cs index d56fd4a5d..b3670633f 100644 --- a/Subsurface/Source/Networking/GameServer.cs +++ b/Subsurface/Source/Networking/GameServer.cs @@ -1521,7 +1521,7 @@ namespace Barotrauma.Networking } else { - GameServer.Log(message.Text, message.Color); + GameServer.Log(message.TextWithSender, message.Color); } sender.ChatSpamSpeed += 5.0f; diff --git a/Subsurface/Source/Networking/NetworkMember.cs b/Subsurface/Source/Networking/NetworkMember.cs index 55cb4ff48..dd64ba6f6 100644 --- a/Subsurface/Source/Networking/NetworkMember.cs +++ b/Subsurface/Source/Networking/NetworkMember.cs @@ -264,6 +264,7 @@ namespace Barotrauma.Networking public void AddChatMessage(ChatMessage message) { + if (message.Type == ChatMessageType.Radio && Character.Controlled != null && message.Sender != null && message.Sender != myCharacter) @@ -278,6 +279,8 @@ namespace Barotrauma.Networking return; } + GameServer.Log(message.TextWithSender, message.Color); + string displayedText = message.Text; if (message.Sender != null) @@ -293,8 +296,6 @@ namespace Barotrauma.Networking GameMain.NetLobbyScreen.NewChatMessage(message); - GameServer.Log(message.Text, message.Color); - while (chatBox.CountChildren > 20) { chatBox.RemoveChild(chatBox.children[1]); @@ -304,7 +305,7 @@ namespace Barotrauma.Networking { displayedText = message.SenderName + ": " + displayedText; } - + GUITextBlock msg = new GUITextBlock(new Rectangle(0, 0, 0, 20), displayedText, ((chatBox.CountChildren % 2) == 0) ? Color.Transparent : Color.Black * 0.1f, message.Color, Alignment.Left, null, null, true); diff --git a/Subsurface/Source/Networking/ServerLog.cs b/Subsurface/Source/Networking/ServerLog.cs index a4b3858a8..ecdc5b2d4 100644 --- a/Subsurface/Source/Networking/ServerLog.cs +++ b/Subsurface/Source/Networking/ServerLog.cs @@ -98,10 +98,10 @@ namespace Barotrauma.Networking { float prevSize = listBox.BarSize; - var textBlock = new GUITextBlock(new Rectangle(0, 0, 0, 0), line.Text, GUI.Style, Alignment.TopLeft, Alignment.TopLeft, null, true, GUI.SmallFont); + var textBlock = new GUITextBlock(new Rectangle(0, 0, 0, 0), line.Text, GUI.Style, Alignment.TopLeft, Alignment.TopLeft, listBox, true, GUI.SmallFont); textBlock.Rect = new Rectangle(textBlock.Rect.X, textBlock.Rect.Y, textBlock.Rect.Width, Math.Max(13, textBlock.Rect.Height)); - listBox.AddChild(textBlock); + //listBox.AddChild(textBlock); textBlock.TextColor = line.Color; textBlock.CanBeFocused = false;