iw4x-client/src/Components/Modules/Chat.hpp

39 lines
1.1 KiB
C++
Raw Normal View History

#pragma once
namespace Components
{
class Chat : public Component
{
static constexpr auto FONT_ICON_CHAT_WIDTH_CALCULATION_MULTIPLIER = 2.0f;
public:
Chat();
private:
static Dvar::Var cg_chatWidth;
2022-05-31 11:57:44 -04:00
static Dvar::Var sv_disableChat;
// Game dvars
static Game::dvar_t** cg_chatHeight;
static Game::dvar_t** cg_chatTime;
static bool SendChat;
2022-01-10 13:42:58 -05:00
static std::mutex AccessMutex;
2022-01-01 08:08:02 -05:00
static std::unordered_set<std::uint64_t> MuteList;
static const char* EvaluateSay(char* text, Game::gentity_t* player);
static void PreSayStub();
static void PostSayStub();
static void CheckChatLineEnd(const char*& inputBuffer, char*& lineBuffer, float& len, int chatHeight, float chatWidth, char*& lastSpacePos, char*& lastFontIconPos, int lastColor);
static void CG_AddToTeamChat(const char* text);
static void CG_AddToTeamChat_Stub();
2022-01-01 08:08:02 -05:00
static void MuteClient(const Game::client_t* client);
static void UnmuteClient(const Game::client_t* client);
2022-01-10 13:42:58 -05:00
static void UnmuteInternal(const std::uint64_t id, bool everyone = false);
2022-01-01 08:08:02 -05:00
static void AddChatCommands();
};
}