DDraceNetwork Documentation
Loading...
Searching...
No Matches
CChat Class Reference

#include <chat.h>

Inheritance diagram for CChat:
[legend]
Collaboration diagram for CChat:
[legend]

Classes

class  CLine
class  CRateablePlayer
struct  CCommand
struct  CHistoryEntry

Public Member Functions

 CChat ()
int Sizeof () const override
bool IsActive () const
void AddLine (int ClientId, int Team, const char *pLine)
void EnableMode (int Team)
void DisableMode ()
void RegisterCommand (const char *pName, const char *pParams, const char *pHelpText)
void UnregisterCommand (const char *pName)
void Echo (const char *pString)
void OnWindowResize () override
void OnConsoleInit () override
void OnStateChange (int NewState, int OldState) override
void OnRender () override
void OnPrepareLines (float y)
void Reset ()
void OnRelease () override
void OnMessage (int MsgType, void *pRawMsg) override
bool OnInput (const IInput::CEvent &Event) override
void OnInit () override
void RebuildChat ()
void ClearLines ()
void EnsureCoherentFontSize () const
void EnsureCoherentWidth () const
float FontSize () const
float MessagePaddingX () const
float MessagePaddingY () const
float MessageTeeSize () const
float MessageRounding () const
void SendChat (int Team, const char *pLine)
void SendChatQueued (const char *pLine)
Public Member Functions inherited from CComponent
virtual void OnShutdown ()
virtual void OnReset ()
virtual void OnUpdate ()
virtual void OnNewSnapshot ()
virtual void OnMapLoad ()
virtual bool OnCursorMove (float x, float y, IInput::ECursorType CursorType)
virtual bool OnTouchState (const std::vector< IInput::CTouchFingerState > &vTouchFingerStates)
Public Member Functions inherited from CComponentInterfaces
virtual void OnInterfacesInit (CGameClient *pClient)
virtual ~CComponentInterfaces ()=default

Static Public Attributes

static constexpr float MESSAGE_TEE_PADDING_RIGHT = 0.5f

Private Types

enum  { MAX_LINES = 64 , MAX_LINE_LENGTH = 256 }
enum  { CLIENT_MSG = -2 , SERVER_MSG = -1 }
enum  { MODE_NONE = 0 , MODE_ALL , MODE_TEAM }
enum  { CHAT_SERVER = 0 , CHAT_HIGHLIGHT , CHAT_CLIENT , CHAT_NUM }

Private Member Functions

bool LineShouldHighlight (const char *pLine, const char *pName)
void StoreSave (const char *pText)

Static Private Member Functions

static void ConSay (IConsole::IResult *pResult, void *pUserData)
static void ConSayTeam (IConsole::IResult *pResult, void *pUserData)
static void ConChat (IConsole::IResult *pResult, void *pUserData)
static void ConShowChat (IConsole::IResult *pResult, void *pUserData)
static void ConEcho (IConsole::IResult *pResult, void *pUserData)
static void ConClearChat (IConsole::IResult *pResult, void *pUserData)
static void ConchainChatOld (IConsole::IResult *pResult, void *pUserData, IConsole::FCommandCallback pfnCallback, void *pCallbackUserData)
static void ConchainChatFontSize (IConsole::IResult *pResult, void *pUserData, IConsole::FCommandCallback pfnCallback, void *pCallbackUserData)
static void ConchainChatWidth (IConsole::IResult *pResult, void *pUserData, IConsole::FCommandCallback pfnCallback, void *pCallbackUserData)

Private Attributes

CLineInputBuffered< MAX_LINE_LENGTHm_Input
bool m_PrevScoreBoardShowed
bool m_PrevShowChat
CLine m_aLines [MAX_LINES]
int m_CurrentLine
int m_Mode
bool m_Show
bool m_CompletionUsed
int m_CompletionChosen
char m_aCompletionBuffer [MAX_LINE_LENGTH]
int m_PlaceholderOffset
int m_PlaceholderLength
CRateablePlayer m_aPlayerCompletionList [MAX_CLIENTS]
int m_PlayerCompletionListLength
std::vector< CCommandm_vServerCommands
bool m_ServerCommandsNeedSorting
CHistoryEntrym_pHistoryEntry
CStaticRingBuffer< CHistoryEntry, 64 *1024, CRingBufferBase::FLAG_RECYCLEm_History
int m_PendingChatCounter
int64_t m_LastChatSend
int64_t m_aLastSoundPlayed [CHAT_NUM]
bool m_IsInputCensored
char m_aCurrentInputText [MAX_LINE_LENGTH]
bool m_EditingNewLine
bool m_ServerSupportsCommandInfo

Static Private Attributes

static constexpr float CHAT_HEIGHT_FULL = 200.0f
static constexpr float CHAT_HEIGHT_MIN = 50.0f
static constexpr float CHAT_FONTSIZE_WIDTH_RATIO = 2.5f
static char ms_aDisplayText [MAX_LINE_LENGTH] = ""

Additional Inherited Members

Protected Member Functions inherited from CComponentInterfaces
class CGameClientGameClient () const
class IClientClient () const
class IKernelKernel () const
class IEngineEngine () const
class IGraphicsGraphics () const
class ITextRenderTextRender () const
class IInputInput () const
class IStorageStorage () const
class CUiUi () const
class ISoundSound () const
class CRenderToolsRenderTools () const
class CRenderMapRenderMap () const
class IConfigManagerConfigManager () const
class CConfigConfig () const
class IConsoleConsole () const
class IDemoPlayerDemoPlayer () const
class IDemoRecorderDemoRecorder (int Recorder) const
class IFavoritesFavorites () const
class IServerBrowserServerBrowser () const
class CLayersLayers () const
class CCollisionCollision () const
int64_t time () const
float LocalTime () const
class IHttpHttp () const

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
private
Enumerator
CLIENT_MSG 
SERVER_MSG 

◆ anonymous enum

anonymous enum
private
Enumerator
MAX_LINES 
MAX_LINE_LENGTH 

◆ anonymous enum

anonymous enum
private
Enumerator
MODE_NONE 
MODE_ALL 
MODE_TEAM 

◆ anonymous enum

anonymous enum
private
Enumerator
CHAT_SERVER 
CHAT_HIGHLIGHT 
CHAT_CLIENT 
CHAT_NUM 

Constructor & Destructor Documentation

◆ CChat()

CChat::CChat ( )

Member Function Documentation

◆ AddLine()

void CChat::AddLine ( int ClientId,
int Team,
const char * pLine )

◆ ClearLines()

void CChat::ClearLines ( )

◆ ConchainChatFontSize()

void CChat::ConchainChatFontSize ( IConsole::IResult * pResult,
void * pUserData,
IConsole::FCommandCallback pfnCallback,
void * pCallbackUserData )
staticprivate

◆ ConchainChatOld()

void CChat::ConchainChatOld ( IConsole::IResult * pResult,
void * pUserData,
IConsole::FCommandCallback pfnCallback,
void * pCallbackUserData )
staticprivate

◆ ConchainChatWidth()

void CChat::ConchainChatWidth ( IConsole::IResult * pResult,
void * pUserData,
IConsole::FCommandCallback pfnCallback,
void * pCallbackUserData )
staticprivate

◆ ConChat()

void CChat::ConChat ( IConsole::IResult * pResult,
void * pUserData )
staticprivate

◆ ConClearChat()

void CChat::ConClearChat ( IConsole::IResult * pResult,
void * pUserData )
staticprivate

◆ ConEcho()

void CChat::ConEcho ( IConsole::IResult * pResult,
void * pUserData )
staticprivate

◆ ConSay()

void CChat::ConSay ( IConsole::IResult * pResult,
void * pUserData )
staticprivate

◆ ConSayTeam()

void CChat::ConSayTeam ( IConsole::IResult * pResult,
void * pUserData )
staticprivate

◆ ConShowChat()

void CChat::ConShowChat ( IConsole::IResult * pResult,
void * pUserData )
staticprivate

◆ DisableMode()

void CChat::DisableMode ( )

◆ Echo()

void CChat::Echo ( const char * pString)

◆ EnableMode()

void CChat::EnableMode ( int Team)

◆ EnsureCoherentFontSize()

void CChat::EnsureCoherentFontSize ( ) const

◆ EnsureCoherentWidth()

void CChat::EnsureCoherentWidth ( ) const

◆ FontSize()

float CChat::FontSize ( ) const
inline

◆ IsActive()

bool CChat::IsActive ( ) const
inline

◆ LineShouldHighlight()

bool CChat::LineShouldHighlight ( const char * pLine,
const char * pName )
private

◆ MessagePaddingX()

float CChat::MessagePaddingX ( ) const
inline

◆ MessagePaddingY()

float CChat::MessagePaddingY ( ) const
inline

◆ MessageRounding()

float CChat::MessageRounding ( ) const
inline

◆ MessageTeeSize()

float CChat::MessageTeeSize ( ) const
inline

◆ OnConsoleInit()

void CChat::OnConsoleInit ( )
overridevirtual

Called to let the components register their console commands.

Reimplemented from CComponent.

◆ OnInit()

void CChat::OnInit ( )
overridevirtual

Called to let the components run initialization code.

Reimplemented from CComponent.

◆ OnInput()

bool CChat::OnInput ( const IInput::CEvent & Event)
overridevirtual

Called on a input event.

Parameters
EventThe input event.

Reimplemented from CComponent.

◆ OnMessage()

void CChat::OnMessage ( int Msg,
void * pRawMsg )
overridevirtual

Called when receiving a network message.

Parameters
MsgThe message type.
pRawMsgThe message data.
See also
NETMSGTYPE_SV_DDRACETIME
CNetMsg_Sv_DDRaceTime

Reimplemented from CComponent.

◆ OnPrepareLines()

void CChat::OnPrepareLines ( float y)

◆ OnRelease()

void CChat::OnRelease ( )
overridevirtual

Called when the input gets released, for example when a text box loses focus.

Reimplemented from CComponent.

◆ OnRender()

void CChat::OnRender ( )
overridevirtual

Called when the component should get rendered.

The render order depends on the component insertion order.

Reimplemented from CComponent.

◆ OnStateChange()

void CChat::OnStateChange ( int NewState,
int OldState )
overridevirtual

This method is called when the client changes state, e.g from offline to online.

See also
IClient::STATE_CONNECTING
IClient::STATE_LOADING
IClient::STATE_ONLINE

Reimplemented from CComponent.

◆ OnWindowResize()

void CChat::OnWindowResize ( )
overridevirtual

Called when the window has been resized.

Reimplemented from CComponent.

◆ RebuildChat()

void CChat::RebuildChat ( )

◆ RegisterCommand()

void CChat::RegisterCommand ( const char * pName,
const char * pParams,
const char * pHelpText )

◆ Reset()

void CChat::Reset ( )

◆ SendChat()

void CChat::SendChat ( int Team,
const char * pLine )

◆ SendChatQueued()

void CChat::SendChatQueued ( const char * pLine)

◆ Sizeof()

int CChat::Sizeof ( ) const
inlineoverridevirtual

Gets the size of the non-abstract component.

Implements CComponent.

◆ StoreSave()

void CChat::StoreSave ( const char * pText)
private

◆ UnregisterCommand()

void CChat::UnregisterCommand ( const char * pName)

Member Data Documentation

◆ CHAT_FONTSIZE_WIDTH_RATIO

float CChat::CHAT_FONTSIZE_WIDTH_RATIO = 2.5f
staticconstexprprivate

◆ CHAT_HEIGHT_FULL

float CChat::CHAT_HEIGHT_FULL = 200.0f
staticconstexprprivate

◆ CHAT_HEIGHT_MIN

float CChat::CHAT_HEIGHT_MIN = 50.0f
staticconstexprprivate

◆ m_aCompletionBuffer

char CChat::m_aCompletionBuffer[MAX_LINE_LENGTH]
private

◆ m_aCurrentInputText

char CChat::m_aCurrentInputText[MAX_LINE_LENGTH]
private

◆ m_aLastSoundPlayed

int64_t CChat::m_aLastSoundPlayed[CHAT_NUM]
private

◆ m_aLines

CLine CChat::m_aLines[MAX_LINES]
private

◆ m_aPlayerCompletionList

CRateablePlayer CChat::m_aPlayerCompletionList[MAX_CLIENTS]
private

◆ m_CompletionChosen

int CChat::m_CompletionChosen
private

◆ m_CompletionUsed

bool CChat::m_CompletionUsed
private

◆ m_CurrentLine

int CChat::m_CurrentLine
private

◆ m_EditingNewLine

bool CChat::m_EditingNewLine
private

◆ m_History

CStaticRingBuffer<CHistoryEntry, 64 * 1024, CRingBufferBase::FLAG_RECYCLE> CChat::m_History
private

◆ m_Input

CLineInputBuffered<MAX_LINE_LENGTH> CChat::m_Input
private

◆ m_IsInputCensored

bool CChat::m_IsInputCensored
private

◆ m_LastChatSend

int64_t CChat::m_LastChatSend
private

◆ m_Mode

int CChat::m_Mode
private

◆ m_PendingChatCounter

int CChat::m_PendingChatCounter
private

◆ m_pHistoryEntry

CHistoryEntry* CChat::m_pHistoryEntry
private

◆ m_PlaceholderLength

int CChat::m_PlaceholderLength
private

◆ m_PlaceholderOffset

int CChat::m_PlaceholderOffset
private

◆ m_PlayerCompletionListLength

int CChat::m_PlayerCompletionListLength
private

◆ m_PrevScoreBoardShowed

bool CChat::m_PrevScoreBoardShowed
private

◆ m_PrevShowChat

bool CChat::m_PrevShowChat
private

◆ m_ServerCommandsNeedSorting

bool CChat::m_ServerCommandsNeedSorting
private

◆ m_ServerSupportsCommandInfo

bool CChat::m_ServerSupportsCommandInfo
private

◆ m_Show

bool CChat::m_Show
private

◆ m_vServerCommands

std::vector<CCommand> CChat::m_vServerCommands
private

◆ MESSAGE_TEE_PADDING_RIGHT

float CChat::MESSAGE_TEE_PADDING_RIGHT = 0.5f
staticconstexpr

◆ ms_aDisplayText

char CChat::ms_aDisplayText = ""
staticprivate

The documentation for this class was generated from the following files:
  • src/game/client/components/chat.h
  • src/game/client/components/chat.cpp