diff options
| author | FluorescentCIAAfricanAmerican <[email protected]> | 2020-04-22 12:56:21 -0400 |
|---|---|---|
| committer | FluorescentCIAAfricanAmerican <[email protected]> | 2020-04-22 12:56:21 -0400 |
| commit | 3bf9df6b2785fa6d951086978a3e66f49427166a (patch) | |
| tree | 2c0f1f0c63c4832882bc93814ebd2c2b1c6224e5 /app/legion/networkmessages.cpp | |
| download | archived-source-engine-2018-hl2-src-master.tar.xz archived-source-engine-2018-hl2-src-master.zip | |
Diffstat (limited to 'app/legion/networkmessages.cpp')
| -rw-r--r-- | app/legion/networkmessages.cpp | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/app/legion/networkmessages.cpp b/app/legion/networkmessages.cpp new file mode 100644 index 0000000..3b382a9 --- /dev/null +++ b/app/legion/networkmessages.cpp @@ -0,0 +1,51 @@ +//========= Copyright Valve Corporation, All rights reserved. ============// +// +// Purpose: A network message that sends chat messages +// +// $Revision: $ +// $NoKeywords: $ +//===========================================================================// + +#include "networkmessages.h" +#include "networkmanager.h" +#include "tier1/bitbuf.h" + + +//----------------------------------------------------------------------------- +// Chat network message +//----------------------------------------------------------------------------- +REGISTER_NETWORK_MESSAGE( CNetworkMessage_Chat ); + +CNetworkMessage_Chat::CNetworkMessage_Chat() +{ + SetReliable( false ); +} + +bool CNetworkMessage_Chat::WriteToBuffer( bf_write &buffer ) +{ + int nLen = m_Message.Length(); + buffer.WriteShort( nLen ); + if ( nLen ) + { + buffer.WriteBytes( m_Message.Get(), nLen ); + } + return !buffer.IsOverflowed(); +} + +bool CNetworkMessage_Chat::ReadFromBuffer( bf_read &buffer ) +{ + int nLen = buffer.ReadShort(); + if ( nLen ) + { + m_Message.SetLength( nLen + 1 ); + char *pDest = m_Message.Get(); + buffer.ReadBytes( pDest, nLen ); + pDest[ nLen ] = 0; + } + else + { + m_Message.Set( NULL ); + } + return !buffer.IsOverflowed(); +} + |