aboutsummaryrefslogtreecommitdiff
path: root/primedev/client/localchatwriter.h
diff options
context:
space:
mode:
authorJack <66967891+ASpoonPlaysGames@users.noreply.github.com>2023-12-27 00:32:01 +0000
committerGitHub <noreply@github.com>2023-12-27 01:32:01 +0100
commitf5ab6fb5e8be7b73e6003d4145081d5e0c0ce287 (patch)
tree90f2c6a4885dbd181799e2325cf33588697674e1 /primedev/client/localchatwriter.h
parentbb8ed59f6891b1196c5f5bbe7346cd171c8215fa (diff)
downloadNorthstarLauncher-f5ab6fb5e8be7b73e6003d4145081d5e0c0ce287.tar.gz
NorthstarLauncher-f5ab6fb5e8be7b73e6003d4145081d5e0c0ce287.zip
Folder restructuring from primedev (#624)v1.21.2-rc3v1.21.2
Copies of over the primedev folder structure for easier cherry-picking of further changes Co-authored-by: F1F7Y <filip.bartos07@proton.me>
Diffstat (limited to 'primedev/client/localchatwriter.h')
-rw-r--r--primedev/client/localchatwriter.h64
1 files changed, 64 insertions, 0 deletions
diff --git a/primedev/client/localchatwriter.h b/primedev/client/localchatwriter.h
new file mode 100644
index 00000000..acf6f87e
--- /dev/null
+++ b/primedev/client/localchatwriter.h
@@ -0,0 +1,64 @@
+#pragma once
+#include "core/math/color.h"
+
+class vgui_BaseRichText;
+
+class CHudChat
+{
+public:
+ static CHudChat** allHuds;
+
+ char unknown1[720];
+
+ Color m_sameTeamColor;
+ Color m_enemyTeamColor;
+ Color m_mainTextColor;
+ Color m_networkNameColor;
+
+ char unknown2[12];
+
+ int m_unknownContext;
+
+ char unknown3[8];
+
+ vgui_BaseRichText* m_richText;
+
+ CHudChat* next;
+ CHudChat* previous;
+};
+
+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(Color color);
+ void InsertSwatchColorChange(SwatchColor color);
+
+private:
+ Context m_context;
+
+ const char* ApplyAnsiEscape(const char* escape);
+ void InsertDefaultFade();
+};