We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
2 parents bb45919 + 7f68b64 commit f882ea5Copy full SHA for f882ea5
RLBotCS/Main.cs
@@ -10,13 +10,17 @@
10
if (args.Length > 0 && args[0] == "--version")
11
{
12
Console.WriteLine(
13
- $"RLBotServer v5.beta.7.4\n"
+ "RLBotServer v5.beta.7.5\n"
14
+ $"Bridge {BridgeVersion.Version}\n"
15
- + $"@ https://www.rlbot.org & https://github.com/RLBot/core"
+ + "@ https://www.rlbot.org & https://github.com/RLBot/core"
16
);
17
Environment.Exit(0);
18
}
19
20
+#if WINDOWS
21
+WinTermColor.EnableVirtualTerminal();
22
+#endif
23
+
24
var logger = Logging.GetLogger("Main");
25
26
int rlbotSocketsPort;
RLBotCS/ManagerTools/Logging.cs
@@ -10,7 +10,7 @@ public class Logging : ILogger
private const string Yellow = "\x1b[33;20m";
private const string Green = "\x1b[32;20m";
private const string Red = "\x1b[31;20m";
- private const string BoldRen = "\x1b[31;1m";
+ private const string BoldRed = "\x1b[31;1m";
private const string Reset = "\x1b[0m";
private static readonly LogLevel LoggingLevel = Environment.GetEnvironmentVariable(
@@ -80,7 +80,7 @@ private string[] GetLogLevelColors(LogLevel logLevel) =>
80
LogLevel.Information => new[] { Grey, LightBlue, Grey, LightBlue },
81
LogLevel.Warning => new[] { Yellow, Yellow, Yellow, Yellow },
82
LogLevel.Error => new[] { Red, Red, Red, Red },
83
- LogLevel.Critical => new[] { Red, BoldRen, Red, BoldRen },
+ LogLevel.Critical => new[] { Red, BoldRed, Red, BoldRed },
84
_ => new[] { Grey, Grey, Grey, Grey },
85
};
86
RLBotCS/ManagerTools/WinTermColor.cs
@@ -0,0 +1,37 @@
1
2
+using System.Runtime.InteropServices;
3
4
+public class WinTermColor
5
+{
6
+ const int STD_OUTPUT_HANDLE = -11;
7
+ const uint ENABLE_VIRTUAL_TERMINAL_PROCESSING = 0x0004;
8
9
+ [DllImport("kernel32.dll", SetLastError = true)]
+ static extern IntPtr GetStdHandle(int nStdHandle);
+ [DllImport("kernel32.dll")]
+ static extern bool GetConsoleMode(IntPtr hConsoleHandle, out uint lpMode);
+ static extern bool SetConsoleMode(IntPtr hConsoleHandle, uint dwMode);
+ public static void EnableVirtualTerminal()
+ {
+ var handle = GetStdHandle(STD_OUTPUT_HANDLE);
+ if (!GetConsoleMode(handle, out uint mode))
+ // Don't use the logger here because we couldn't enable colors
+ Console.WriteLine("Failed to get console mode.");
+ return;
+ }
27
28
+ mode |= ENABLE_VIRTUAL_TERMINAL_PROCESSING;
29
30
+ if (!SetConsoleMode(handle, mode))
31
32
+ // Don't use logger for the same reason
33
+ Console.WriteLine("Failed to set console mode.");
34
35
36
+}
37
0 commit comments