Merge remote-tracking branch 'upstream/dev' into develop

This commit is contained in:
EvilFactory
2022-12-09 17:33:44 -03:00
416 changed files with 12674 additions and 5862 deletions
@@ -83,54 +83,50 @@ namespace Barotrauma
}
//dequeue messages
lock (queuedMessages)
if (queuedMessages.Count > 0)
{
if (queuedMessages.Count > 0)
if (!Console.IsOutputRedirected)
{
if (!Console.IsOutputRedirected)
Console.CursorLeft = 0;
}
while (queuedMessages.TryDequeue(out var msg))
{
Messages.Add(msg);
if (GameSettings.CurrentConfig.SaveDebugConsoleLogs || GameSettings.CurrentConfig.VerboseLogging)
{
Console.CursorLeft = 0;
}
while (queuedMessages.Count > 0)
{
ColoredText msg = queuedMessages.Dequeue();
Messages.Add(msg);
if (GameSettings.CurrentConfig.SaveDebugConsoleLogs || GameSettings.CurrentConfig.VerboseLogging)
unsavedMessages.Add(msg);
if (unsavedMessages.Count >= messagesPerFile)
{
unsavedMessages.Add(msg);
if (unsavedMessages.Count >= messagesPerFile)
{
SaveLogs();
unsavedMessages.Clear();
}
SaveLogs();
unsavedMessages.Clear();
}
string msgTxt = msg.Text;
if (msg.IsCommand) commandMemory.Add(msgTxt);
if(!Console.IsOutputRedirected)
{
int paddingLen = consoleWidth - (msg.Text.Length % consoleWidth) - 1;
msgTxt += new string(' ', paddingLen > 0 ? paddingLen : 0);
Console.ForegroundColor = XnaToConsoleColor.Convert(msg.Color);
}
Console.WriteLine(msgTxt);
if (sw.ElapsedMilliseconds >= maxTime) { break; }
}
string msgTxt = msg.Text;
if (msg.IsCommand) commandMemory.Add(msgTxt);
if(!Console.IsOutputRedirected)
{
RewriteInputToCommandLine(input);
int paddingLen = consoleWidth - (msg.Text.Length % consoleWidth) - 1;
msgTxt += new string(' ', paddingLen > 0 ? paddingLen : 0);
Console.ForegroundColor = XnaToConsoleColor.Convert(msg.Color);
}
Console.WriteLine(msgTxt);
if (sw.ElapsedMilliseconds >= maxTime) { break; }
}
if (Messages.Count > MaxMessages)
if (!Console.IsOutputRedirected)
{
Messages.RemoveRange(0, Messages.Count - MaxMessages);
RewriteInputToCommandLine(input);
}
}
if (Messages.Count > MaxMessages)
{
Messages.RemoveRange(0, Messages.Count - MaxMessages);
}
// No good way to display input when console output is redirected, and can't read from redirected input using KeyAvailable.
if(!Console.IsOutputRedirected && !Console.IsInputRedirected)
@@ -273,26 +269,22 @@ namespace Barotrauma
public static void Clear()
{
lock (queuedMessages)
while (queuedMessages.TryDequeue(out var msg))
{
while (queuedMessages.Count > 0)
Messages.Add(msg);
if (GameSettings.CurrentConfig.SaveDebugConsoleLogs || GameSettings.CurrentConfig.VerboseLogging)
{
var msg = queuedMessages.Dequeue();
Messages.Add(msg);
if (GameSettings.CurrentConfig.SaveDebugConsoleLogs || GameSettings.CurrentConfig.VerboseLogging)
unsavedMessages.Add(msg);
if (unsavedMessages.Count >= messagesPerFile)
{
unsavedMessages.Add(msg);
if (unsavedMessages.Count >= messagesPerFile)
{
SaveLogs();
unsavedMessages.Clear();
}
SaveLogs();
unsavedMessages.Clear();
}
}
if (Messages.Count > MaxMessages)
{
Messages.RemoveRange(0, Messages.Count - MaxMessages);
}
}
if (Messages.Count > MaxMessages)
{
Messages.RemoveRange(0, Messages.Count - MaxMessages);
}
}
@@ -1442,6 +1434,21 @@ namespace Barotrauma
GameMain.Server.PrintSenderTransters();
}));
AssignOnExecute("resetcharacternetstate", (string[] args) =>
{
if (GameMain.Server == null) { return; }
if (args.Length < 1)
{
ThrowError("Invalid parameters. The command should be formatted as \"resetcharacternetstate [character]\". If the names consist of multiple words, you should surround them with quotation marks.");
return;
}
var character = FindMatchingCharacter(args.Skip(1).ToArray(), false);
character?.ResetNetState();
});
commands.Add(new Command("eventdata", "", (string[] args) =>
{
if (args.Length == 0) { return; }