aboutsummaryrefslogtreecommitdiff
path: root/mp/src/game/server/enginecallback.h
diff options
context:
space:
mode:
authorJoe Ludwig <[email protected]>2013-06-26 15:22:04 -0700
committerJoe Ludwig <[email protected]>2013-06-26 15:22:04 -0700
commit39ed87570bdb2f86969d4be821c94b722dc71179 (patch)
treeabc53757f75f40c80278e87650ea92808274aa59 /mp/src/game/server/enginecallback.h
downloadsource-sdk-2013-39ed87570bdb2f86969d4be821c94b722dc71179.tar.xz
source-sdk-2013-39ed87570bdb2f86969d4be821c94b722dc71179.zip
First version of the SOurce SDK 2013
Diffstat (limited to 'mp/src/game/server/enginecallback.h')
-rw-r--r--mp/src/game/server/enginecallback.h134
1 files changed, 134 insertions, 0 deletions
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