3#ifndef GAME_CLIENT_COMPONENTS_CHAT_H
4#define GAME_CLIENT_COMPONENTS_CHAT_H
13#include <generated/protocol7.h>
117 CCommand(
const char *pName,
const char *pParams,
const char *pHelpText)
164 int Sizeof()
const override {
return sizeof(*this); }
169 void AddLine(
int ClientId,
int Team,
const char *pLine);
172 void RegisterCommand(
const char *pName,
const char *pParams,
const char *pHelpText);
174 void Echo(
const char *pString);
183 void OnMessage(
int MsgType,
void *pRawMsg)
override;
205 void SendChat(
int Team,
const char *pLine);
constexpr auto SAVES_FILE
Definition chat.h:21
bool m_Friend
Definition chat.h:51
int64_t m_Time
Definition chat.h:42
bool m_Team
Definition chat.h:46
int m_TeamNumber
Definition chat.h:45
int m_TimesRepeated
Definition chat.h:62
float m_aYOffset[2]
Definition chat.h:43
int m_ClientId
Definition chat.h:44
int m_QuadContainerIndex
Definition chat.h:56
bool m_Whisper
Definition chat.h:47
char m_aName[64]
Definition chat.h:49
std::shared_ptr< CManagedTeeRenderInfo > m_pManagedTeeRenderInfo
Definition chat.h:58
std::optional< ColorRGBA > m_CustomColor
Definition chat.h:53
bool m_Initialized
Definition chat.h:41
char m_aText[MAX_CHAT_LENGTH]
Definition chat.h:50
CLine()
Definition chat.cpp:32
bool m_Highlighted
Definition chat.h:52
int m_NameColor
Definition chat.h:48
float m_TextYOffset
Definition chat.h:60
STextContainerIndex m_TextContainerIndex
Definition chat.h:55
void Reset(CChat &This)
Definition chat.cpp:38
int m_Score
Definition chat.h:105
int m_ClientId
Definition chat.h:104
void OnRender() override
Definition chat.cpp:1153
void AddLine(int ClientId, int Team, const char *pLine)
Definition chat.cpp:659
void Echo(const char *pString)
Definition chat.cpp:229
int m_PlaceholderOffset
Definition chat.h:98
void RegisterCommand(const char *pName, const char *pParams, const char *pHelpText)
Definition chat.cpp:88
CStaticRingBuffer< CHistoryEntry, 64 *1024, CRingBufferBase::FLAG_RECYCLE > m_History
Definition chat.h:138
static char ms_aDisplayText[MAX_CHAT_LENGTH]
Definition chat.h:100
int m_CurrentLine
Definition chat.h:69
char m_aCompletionBuffer[MAX_CHAT_LENGTH]
Definition chat.h:97
int64_t m_LastChatSend
Definition chat.h:140
CChat()
Definition chat.cpp:51
@ SERVER_MSG
Definition chat.h:75
@ CLIENT_MSG
Definition chat.h:74
float MessageTeeSize() const
Definition chat.h:196
char m_aCurrentInputText[MAX_CHAT_LENGTH]
Definition chat.h:143
bool m_PrevShowChat
Definition chat.h:66
float MessagePaddingX() const
Definition chat.h:194
static void ConchainChatWidth(IConsole::IResult *pResult, void *pUserData, IConsole::FCommandCallback pfnCallback, void *pCallbackUserData)
Definition chat.cpp:221
void EnableMode(int Team)
Definition chat.cpp:520
void OnPrepareLines(float y)
Definition chat.cpp:922
CRateablePlayer m_aPlayerCompletionList[MAX_CLIENTS]
Definition chat.h:107
void SendChat(int Team, const char *pLine)
Definition chat.cpp:1346
bool m_EditingNewLine
Definition chat.h:144
CLine m_aLines[MAX_LINES]
Definition chat.h:68
void OnWindowResize() override
Definition chat.cpp:126
bool m_PrevScoreBoardShowed
Definition chat.h:65
static constexpr float CHAT_HEIGHT_FULL
Definition chat.h:25
int m_Mode
Definition chat.h:93
static void ConchainChatOld(IConsole::IResult *pResult, void *pUserData, IConsole::FCommandCallback pfnCallback, void *pCallbackUserData)
Definition chat.cpp:207
float MessagePaddingY() const
Definition chat.h:195
int m_CompletionChosen
Definition chat.h:96
float FontSize() const
Definition chat.h:193
bool m_ServerSupportsCommandInfo
Definition chat.h:146
void Reset()
Definition chat.cpp:131
int m_PlaceholderLength
Definition chat.h:99
void RebuildChat()
Definition chat.cpp:104
int Sizeof() const override
Definition chat.h:164
void UnregisterCommand(const char *pName)
Definition chat.cpp:99
bool m_Show
Definition chat.h:94
static constexpr float CHAT_FONTSIZE_WIDTH_RATIO
Definition chat.h:27
bool OnInput(const IInput::CEvent &Event) override
Definition chat.cpp:252
static void ConSayTeam(IConsole::IResult *pResult, void *pUserData)
Definition chat.cpp:173
static void ConSay(IConsole::IResult *pResult, void *pUserData)
Definition chat.cpp:168
@ MODE_TEAM
Definition chat.h:82
@ MODE_NONE
Definition chat.h:80
@ MODE_ALL
Definition chat.h:81
CLineInputBuffered< MAX_CHAT_LENGTH > m_Input
Definition chat.h:34
void OnMessage(int MsgType, void *pRawMsg) override
Definition chat.cpp:547
bool LineShouldHighlight(const char *pLine, const char *pName)
Definition chat.cpp:593
void EnsureCoherentFontSize() const
Definition chat.cpp:1324
void OnStateChange(int NewState, int OldState) override
Definition chat.cpp:162
static void ConShowChat(IConsole::IResult *pResult, void *pUserData)
Definition chat.cpp:192
bool m_ServerCommandsNeedSorting
Definition chat.h:130
static void ConClearChat(IConsole::IResult *pResult, void *pUserData)
Definition chat.cpp:202
int64_t m_aLastSoundPlayed[CHAT_NUM]
Definition chat.h:141
void SendChatQueued(const char *pLine)
Definition chat.cpp:1371
static void ConchainChatFontSize(IConsole::IResult *pResult, void *pUserData, IConsole::FCommandCallback pfnCallback, void *pCallbackUserData)
Definition chat.cpp:213
void EnsureCoherentWidth() const
Definition chat.cpp:1334
std::vector< CCommand > m_vServerCommands
Definition chat.h:129
bool m_IsInputCensored
Definition chat.h:142
@ MAX_LINES
Definition chat.h:31
void OnRelease() override
Definition chat.cpp:157
int m_PlayerCompletionListLength
Definition chat.h:108
CHistoryEntry * m_pHistoryEntry
Definition chat.h:137
bool m_CompletionUsed
Definition chat.h:95
void StoreSave(const char *pText)
Definition chat.cpp:619
bool IsActive() const
Definition chat.h:168
void DisableMode()
Definition chat.cpp:538
void OnInit() override
Definition chat.cpp:244
float MessageRounding() const
Definition chat.h:197
static void ConChat(IConsole::IResult *pResult, void *pUserData)
Definition chat.cpp:178
static constexpr float MESSAGE_TEE_PADDING_RIGHT
Definition chat.h:166
static void ConEcho(IConsole::IResult *pResult, void *pUserData)
Definition chat.cpp:197
int m_PendingChatCounter
Definition chat.h:139
static constexpr float CHAT_HEIGHT_MIN
Definition chat.h:26
void ClearLines()
Definition chat.cpp:118
void OnConsoleInit() override
Definition chat.cpp:234
@ CHAT_CLIENT
Definition chat.h:89
@ CHAT_HIGHLIGHT
Definition chat.h:88
@ CHAT_NUM
Definition chat.h:90
@ CHAT_SERVER
Definition chat.h:87
Definition component.h:165
int m_ClChatFontSize
Definition config.h:746
Definition ringbuffer.h:81
@ TEMPCMD_HELP_LENGTH
Definition console.h:36
@ TEMPCMD_PARAMS_LENGTH
Definition console.h:37
@ TEMPCMD_NAME_LENGTH
Definition console.h:35
void(*) FCommandCallback(IResult *pResult, void *pUserData)
Definition console.h:107
CConfig g_Config
Definition config.cpp:16
int str_comp(const char *a, const char *b)
Definition str.cpp:373
int str_copy(char *dst, const char *src, int dst_size)
Definition str.cpp:18
@ MAX_CLIENTS
Definition protocol.h:89
@ MAX_CHAT_LENGTH
Definition protocol.h:112
char m_aParams[IConsole::TEMPCMD_PARAMS_LENGTH]
Definition chat.h:113
CCommand(const char *pName, const char *pParams, const char *pHelpText)
Definition chat.h:117
bool operator==(const CCommand &Other) const
Definition chat.h:126
bool operator<=(const CCommand &Other) const
Definition chat.h:125
char m_aHelpText[IConsole::TEMPCMD_HELP_LENGTH]
Definition chat.h:114
char m_aName[IConsole::TEMPCMD_NAME_LENGTH]
Definition chat.h:112
bool operator<(const CCommand &Other) const
Definition chat.h:124
char m_aText[1]
Definition chat.h:135
int m_Team
Definition chat.h:134
Definition textrender.h:175