aboutsummaryrefslogtreecommitdiff
path: root/NorthstarDedicatedTest/localchatwriter.h
diff options
context:
space:
mode:
Diffstat (limited to 'NorthstarDedicatedTest/localchatwriter.h')
-rw-r--r--NorthstarDedicatedTest/localchatwriter.h50
1 files changed, 50 insertions, 0 deletions
diff --git a/NorthstarDedicatedTest/localchatwriter.h b/NorthstarDedicatedTest/localchatwriter.h
new file mode 100644
index 00000000..b9ca3220
--- /dev/null
+++ b/NorthstarDedicatedTest/localchatwriter.h
@@ -0,0 +1,50 @@
+#pragma once
+#include "pch.h"
+
+struct vgui_Color
+{
+ unsigned char r;
+ unsigned char g;
+ unsigned char b;
+ unsigned char a;
+};
+
+class LocalChatWriter
+{
+ public:
+ enum Context
+ {
+ NetworkContext = 0,
+ GameContext = 1
+ };
+ enum SwatchColor
+ {
+ MainTextColor,
+ SameTeamNameColor,
+ EnemyTeamNameColor,
+ NetworkNameColor
+ };
+
+ explicit LocalChatWriter(Context context);
+
+ // Custom chat writing with ANSI escape codes
+ void Write(const char* str);
+ void WriteLine(const char* str);
+
+ // Low-level RichText access
+ void InsertChar(wchar_t ch);
+ void InsertText(const char* str);
+ void InsertText(const wchar_t* str);
+ void InsertColorChange(vgui_Color color);
+ void InsertSwatchColorChange(SwatchColor color);
+
+ private:
+ Context m_context;
+
+ const char* ApplyAnsiEscape(const char* escape);
+ void InsertDefaultFade();
+};
+
+bool IsFirstHud(void* hud);
+
+void InitialiseLocalChatWriter(HMODULE baseAddress);