diff options
| author | Jørgen P. Tjernø <[email protected]> | 2013-12-02 19:31:46 -0800 |
|---|---|---|
| committer | Jørgen P. Tjernø <[email protected]> | 2013-12-02 19:46:31 -0800 |
| commit | f56bb35301836e56582a575a75864392a0177875 (patch) | |
| tree | de61ddd39de3e7df52759711950b4c288592f0dc /sp/src/game/shared/usermessages.cpp | |
| parent | Mark some more files as text. (diff) | |
| download | source-sdk-2013-f56bb35301836e56582a575a75864392a0177875.tar.xz source-sdk-2013-f56bb35301836e56582a575a75864392a0177875.zip | |
Fix line endings. WHAMMY.
Diffstat (limited to 'sp/src/game/shared/usermessages.cpp')
| -rw-r--r-- | sp/src/game/shared/usermessages.cpp | 382 |
1 files changed, 191 insertions, 191 deletions
diff --git a/sp/src/game/shared/usermessages.cpp b/sp/src/game/shared/usermessages.cpp index 317b071e..cf1beae3 100644 --- a/sp/src/game/shared/usermessages.cpp +++ b/sp/src/game/shared/usermessages.cpp @@ -1,191 +1,191 @@ -//========= Copyright Valve Corporation, All rights reserved. ============//
-//
-// Purpose:
-//
-//=============================================================================//
-
-#include "cbase.h"
-#include "usermessages.h"
-#include <bitbuf.h>
-
-// memdbgon must be the last include file in a .cpp file!!!
-#include "tier0/memdbgon.h"
-
-void RegisterUserMessages( void );
-
-//-----------------------------------------------------------------------------
-// Purpose: Force registration on .dll load
-// FIXME: Should this be a client/server system?
-//-----------------------------------------------------------------------------
-CUserMessages::CUserMessages()
-{
- // Game specific registration function;
- RegisterUserMessages();
-}
-
-CUserMessages::~CUserMessages()
-{
- int c = m_UserMessages.Count();
- for ( int i = 0; i < c; ++i )
- {
- delete m_UserMessages[ i ];
- }
- m_UserMessages.RemoveAll();
-}
-
-//-----------------------------------------------------------------------------
-// Purpose:
-// Input : *name -
-// Output : int
-//-----------------------------------------------------------------------------
-int CUserMessages::LookupUserMessage( const char *name )
-{
- int idx = m_UserMessages.Find( name );
- if ( idx == m_UserMessages.InvalidIndex() )
- {
- return -1;
- }
-
- return idx;
-}
-
-//-----------------------------------------------------------------------------
-// Purpose:
-// Input : index -
-// Output : int
-//-----------------------------------------------------------------------------
-int CUserMessages::GetUserMessageSize( int index )
-{
- if ( index < 0 || index >= (int)m_UserMessages.Count() )
- {
- Error( "CUserMessages::GetUserMessageSize( %i ) out of range!!!\n", index );
- }
-
- CUserMessage *e = m_UserMessages[ index ];
- return e->size;
-}
-
-//-----------------------------------------------------------------------------
-// Purpose:
-// Input : index -
-// Output : char const
-//-----------------------------------------------------------------------------
-const char *CUserMessages::GetUserMessageName( int index )
-{
- if ( index < 0 || index >= (int)m_UserMessages.Count() )
- {
- Error( "CUserMessages::GetUserMessageSize( %i ) out of range!!!\n", index );
- }
-
- return m_UserMessages.GetElementName( index );
-}
-
-//-----------------------------------------------------------------------------
-// Purpose:
-// Input : index -
-// Output : Returns true on success, false on failure.
-//-----------------------------------------------------------------------------
-bool CUserMessages::IsValidIndex( int index )
-{
- return m_UserMessages.IsValidIndex( index );
-}
-
-//-----------------------------------------------------------------------------
-// Purpose:
-// Input : *name -
-// size - -1 for variable size
-//-----------------------------------------------------------------------------
-void CUserMessages::Register( const char *name, int size )
-{
- Assert( name );
- int idx = m_UserMessages.Find( name );
- if ( idx != m_UserMessages.InvalidIndex() )
- {
- Error( "CUserMessages::Register '%s' already registered\n", name );
- }
-
- CUserMessage * entry = new CUserMessage;
- entry->size = size;
- entry->name = name;
-
- m_UserMessages.Insert( name, entry );
-}
-
-//-----------------------------------------------------------------------------
-// Purpose:
-// Input : *name -
-// hook -
-//-----------------------------------------------------------------------------
-void CUserMessages::HookMessage( const char *name, pfnUserMsgHook hook )
-{
-#if defined( CLIENT_DLL )
- Assert( name );
- Assert( hook );
-
- int idx = m_UserMessages.Find( name );
- if ( idx == m_UserMessages.InvalidIndex() )
- {
- DevMsg( "CUserMessages::HookMessage: no such message %s\n", name );
- Assert( 0 );
- return;
- }
-
- int i = m_UserMessages[ idx ]->clienthooks.AddToTail();
- m_UserMessages[ idx ]->clienthooks[i] = hook;
-
-#else
- Error( "CUserMessages::HookMessage called from server code!!!\n" );
-#endif
-}
-
-//-----------------------------------------------------------------------------
-// Purpose:
-// Input : *pszName -
-// iSize -
-// *pbuf -
-// Output : Returns true on success, false on failure.
-//-----------------------------------------------------------------------------
-bool CUserMessages::DispatchUserMessage( int msg_type, bf_read &msg_data )
-{
-#if defined( CLIENT_DLL )
- if ( msg_type < 0 || msg_type >= (int)m_UserMessages.Count() )
- {
- DevMsg( "CUserMessages::DispatchUserMessage: Bogus msg type %i (max == %i)\n", msg_type, m_UserMessages.Count() );
- Assert( 0 );
- return false;
- }
-
- CUserMessage *entry = m_UserMessages[ msg_type ];
-
- if ( !entry )
- {
- DevMsg( "CUserMessages::DispatchUserMessage: Missing client entry for msg type %i\n", msg_type );
- Assert( 0 );
- return false;
- }
-
- if ( entry->clienthooks.Count() == 0 )
- {
- DevMsg( "CUserMessages::DispatchUserMessage: missing client hook for %s\n", GetUserMessageName(msg_type) );
- Assert( 0 );
- return false;
- }
-
- for (int i = 0; i < entry->clienthooks.Count(); i++ )
- {
- bf_read msg_copy = msg_data;
-
- pfnUserMsgHook hook = entry->clienthooks[i];
- (*hook)( msg_copy );
- }
- return true;
-#else
- Error( "CUserMessages::DispatchUserMessage called from server code!!!\n" );
- return false;
-#endif
-}
-
-// Singleton
-static CUserMessages g_UserMessages;
-// Expose to rest of .dll
-CUserMessages *usermessages = &g_UserMessages;
+//========= Copyright Valve Corporation, All rights reserved. ============// +// +// Purpose: +// +//=============================================================================// + +#include "cbase.h" +#include "usermessages.h" +#include <bitbuf.h> + +// memdbgon must be the last include file in a .cpp file!!! +#include "tier0/memdbgon.h" + +void RegisterUserMessages( void ); + +//----------------------------------------------------------------------------- +// Purpose: Force registration on .dll load +// FIXME: Should this be a client/server system? +//----------------------------------------------------------------------------- +CUserMessages::CUserMessages() +{ + // Game specific registration function; + RegisterUserMessages(); +} + +CUserMessages::~CUserMessages() +{ + int c = m_UserMessages.Count(); + for ( int i = 0; i < c; ++i ) + { + delete m_UserMessages[ i ]; + } + m_UserMessages.RemoveAll(); +} + +//----------------------------------------------------------------------------- +// Purpose: +// Input : *name - +// Output : int +//----------------------------------------------------------------------------- +int CUserMessages::LookupUserMessage( const char *name ) +{ + int idx = m_UserMessages.Find( name ); + if ( idx == m_UserMessages.InvalidIndex() ) + { + return -1; + } + + return idx; +} + +//----------------------------------------------------------------------------- +// Purpose: +// Input : index - +// Output : int +//----------------------------------------------------------------------------- +int CUserMessages::GetUserMessageSize( int index ) +{ + if ( index < 0 || index >= (int)m_UserMessages.Count() ) + { + Error( "CUserMessages::GetUserMessageSize( %i ) out of range!!!\n", index ); + } + + CUserMessage *e = m_UserMessages[ index ]; + return e->size; +} + +//----------------------------------------------------------------------------- +// Purpose: +// Input : index - +// Output : char const +//----------------------------------------------------------------------------- +const char *CUserMessages::GetUserMessageName( int index ) +{ + if ( index < 0 || index >= (int)m_UserMessages.Count() ) + { + Error( "CUserMessages::GetUserMessageSize( %i ) out of range!!!\n", index ); + } + + return m_UserMessages.GetElementName( index ); +} + +//----------------------------------------------------------------------------- +// Purpose: +// Input : index - +// Output : Returns true on success, false on failure. +//----------------------------------------------------------------------------- +bool CUserMessages::IsValidIndex( int index ) +{ + return m_UserMessages.IsValidIndex( index ); +} + +//----------------------------------------------------------------------------- +// Purpose: +// Input : *name - +// size - -1 for variable size +//----------------------------------------------------------------------------- +void CUserMessages::Register( const char *name, int size ) +{ + Assert( name ); + int idx = m_UserMessages.Find( name ); + if ( idx != m_UserMessages.InvalidIndex() ) + { + Error( "CUserMessages::Register '%s' already registered\n", name ); + } + + CUserMessage * entry = new CUserMessage; + entry->size = size; + entry->name = name; + + m_UserMessages.Insert( name, entry ); +} + +//----------------------------------------------------------------------------- +// Purpose: +// Input : *name - +// hook - +//----------------------------------------------------------------------------- +void CUserMessages::HookMessage( const char *name, pfnUserMsgHook hook ) +{ +#if defined( CLIENT_DLL ) + Assert( name ); + Assert( hook ); + + int idx = m_UserMessages.Find( name ); + if ( idx == m_UserMessages.InvalidIndex() ) + { + DevMsg( "CUserMessages::HookMessage: no such message %s\n", name ); + Assert( 0 ); + return; + } + + int i = m_UserMessages[ idx ]->clienthooks.AddToTail(); + m_UserMessages[ idx ]->clienthooks[i] = hook; + +#else + Error( "CUserMessages::HookMessage called from server code!!!\n" ); +#endif +} + +//----------------------------------------------------------------------------- +// Purpose: +// Input : *pszName - +// iSize - +// *pbuf - +// Output : Returns true on success, false on failure. +//----------------------------------------------------------------------------- +bool CUserMessages::DispatchUserMessage( int msg_type, bf_read &msg_data ) +{ +#if defined( CLIENT_DLL ) + if ( msg_type < 0 || msg_type >= (int)m_UserMessages.Count() ) + { + DevMsg( "CUserMessages::DispatchUserMessage: Bogus msg type %i (max == %i)\n", msg_type, m_UserMessages.Count() ); + Assert( 0 ); + return false; + } + + CUserMessage *entry = m_UserMessages[ msg_type ]; + + if ( !entry ) + { + DevMsg( "CUserMessages::DispatchUserMessage: Missing client entry for msg type %i\n", msg_type ); + Assert( 0 ); + return false; + } + + if ( entry->clienthooks.Count() == 0 ) + { + DevMsg( "CUserMessages::DispatchUserMessage: missing client hook for %s\n", GetUserMessageName(msg_type) ); + Assert( 0 ); + return false; + } + + for (int i = 0; i < entry->clienthooks.Count(); i++ ) + { + bf_read msg_copy = msg_data; + + pfnUserMsgHook hook = entry->clienthooks[i]; + (*hook)( msg_copy ); + } + return true; +#else + Error( "CUserMessages::DispatchUserMessage called from server code!!!\n" ); + return false; +#endif +} + +// Singleton +static CUserMessages g_UserMessages; +// Expose to rest of .dll +CUserMessages *usermessages = &g_UserMessages; |