Team Fortress 2 Source Code as on 22/4/2020
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
//========= 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
|