From 39ed87570bdb2f86969d4be821c94b722dc71179 Mon Sep 17 00:00:00 2001 From: Joe Ludwig Date: Wed, 26 Jun 2013 15:22:04 -0700 Subject: First version of the SOurce SDK 2013 --- mp/src/game/server/enginecallback.h | 134 ++++++++++++++++++++++++++++++++++++ 1 file changed, 134 insertions(+) create mode 100644 mp/src/game/server/enginecallback.h (limited to 'mp/src/game/server/enginecallback.h') diff --git a/mp/src/game/server/enginecallback.h b/mp/src/game/server/enginecallback.h new file mode 100644 index 00000000..24018cd8 --- /dev/null +++ b/mp/src/game/server/enginecallback.h @@ -0,0 +1,134 @@ +//========= Copyright Valve Corporation, All rights reserved. ============// +// +// Purpose: +// +// $NoKeywords: $ +// +//===========================================================================// +#ifndef ENGINECALLBACK_H +#define ENGINECALLBACK_H + +#ifndef EIFACE_H +#include "eiface.h" +#endif + +class IFileSystem; // include filesystem.h +class IEngineSound; // include engine/IEngineSound.h +class IVEngineServer; +class IVoiceServer; +class IStaticPropMgrServer; +class ISpatialPartition; +class IVModelInfo; +class IEngineTrace; +class IGameEventManager2; +class IVDebugOverlay; +class IDataCache; +class IMDLCache; +class IServerEngineTools; +class IXboxSystem; +class CSteamAPIContext; +class CSteamGameServerAPIContext; + +extern IVEngineServer *engine; +extern IVoiceServer *g_pVoiceServer; +extern IFileSystem *filesystem; +extern IStaticPropMgrServer *staticpropmgr; +extern ISpatialPartition *partition; +extern IEngineSound *enginesound; +extern IVModelInfo *modelinfo; +extern IEngineTrace *enginetrace; +extern IGameEventManager2 *gameeventmanager; +extern IVDebugOverlay *debugoverlay; +extern IDataCache *datacache; +extern IMDLCache *mdlcache; +extern IServerEngineTools *serverenginetools; +extern IXboxSystem *xboxsystem; // 360 only +extern CSteamAPIContext *steamapicontext; // available on game clients +extern CSteamGameServerAPIContext *steamgameserverapicontext; //available on game servers + + + +//----------------------------------------------------------------------------- +// Precaches a material +//----------------------------------------------------------------------------- +void PrecacheMaterial( const char *pMaterialName ); + +//----------------------------------------------------------------------------- +// Converts a previously precached material into an index +//----------------------------------------------------------------------------- +int GetMaterialIndex( const char *pMaterialName ); + +//----------------------------------------------------------------------------- +// Converts a previously precached material index into a string +//----------------------------------------------------------------------------- +const char *GetMaterialNameFromIndex( int nMaterialIndex ); + + +//----------------------------------------------------------------------------- +// Precache-related methods for particle systems +//----------------------------------------------------------------------------- +void PrecacheParticleSystem( const char *pParticleSystemName ); +int GetParticleSystemIndex( const char *pParticleSystemName ); +const char *GetParticleSystemNameFromIndex( int nIndex ); + + +class IRecipientFilter; +void EntityMessageBegin( CBaseEntity * entity, bool reliable = false ); +void UserMessageBegin( IRecipientFilter& filter, const char *messagename ); +void MessageEnd( void ); + +// bytewise +void MessageWriteByte( int iValue); +void MessageWriteChar( int iValue); +void MessageWriteShort( int iValue); +void MessageWriteWord( int iValue ); +void MessageWriteLong( int iValue); +void MessageWriteFloat( float flValue); +void MessageWriteAngle( float flValue); +void MessageWriteCoord( float flValue); +void MessageWriteVec3Coord( const Vector& rgflValue); +void MessageWriteVec3Normal( const Vector& rgflValue); +void MessageWriteAngles( const QAngle& rgflValue); +void MessageWriteString( const char *sz ); +void MessageWriteEntity( int iValue); +void MessageWriteEHandle( CBaseEntity *pEntity ); //encoded as a long + + +// bitwise +void MessageWriteBool( bool bValue ); +void MessageWriteUBitLong( unsigned int data, int numbits ); +void MessageWriteSBitLong( int data, int numbits ); +void MessageWriteBits( const void *pIn, int nBits ); + +#ifndef NO_STEAM + +/// Returns Steam ID, given player index. Returns an invalid SteamID upon +/// failure +extern CSteamID GetSteamIDForPlayerIndex( int iPlayerIndex ); + +#endif + + +// Bytewise +#define WRITE_BYTE (MessageWriteByte) +#define WRITE_CHAR (MessageWriteChar) +#define WRITE_SHORT (MessageWriteShort) +#define WRITE_WORD (MessageWriteWord) +#define WRITE_LONG (MessageWriteLong) +#define WRITE_FLOAT (MessageWriteFloat) +#define WRITE_ANGLE (MessageWriteAngle) +#define WRITE_COORD (MessageWriteCoord) +#define WRITE_VEC3COORD (MessageWriteVec3Coord) +#define WRITE_VEC3NORMAL (MessageWriteVec3Normal) +#define WRITE_ANGLES (MessageWriteAngles) +#define WRITE_STRING (MessageWriteString) +#define WRITE_ENTITY (MessageWriteEntity) +#define WRITE_EHANDLE (MessageWriteEHandle) + +// Bitwise +#define WRITE_BOOL (MessageWriteBool) +#define WRITE_UBITLONG (MessageWriteUBitLong) +#define WRITE_SBITLONG (MessageWriteSBitLong) +#define WRITE_BITS (MessageWriteBits) + +#endif //ENGINECALLBACK_H -- cgit v1.2.3