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.
134 lines
4.5 KiB
134 lines
4.5 KiB
//========= 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
|
|
|