diff options
| author | Joe Ludwig <[email protected]> | 2013-06-26 15:22:04 -0700 |
|---|---|---|
| committer | Joe Ludwig <[email protected]> | 2013-06-26 15:22:04 -0700 |
| commit | 39ed87570bdb2f86969d4be821c94b722dc71179 (patch) | |
| tree | abc53757f75f40c80278e87650ea92808274aa59 /mp/src/common/replay/ienginereplay.h | |
| download | source-sdk-2013-39ed87570bdb2f86969d4be821c94b722dc71179.tar.xz source-sdk-2013-39ed87570bdb2f86969d4be821c94b722dc71179.zip | |
First version of the SOurce SDK 2013
Diffstat (limited to 'mp/src/common/replay/ienginereplay.h')
| -rw-r--r-- | mp/src/common/replay/ienginereplay.h | 116 |
1 files changed, 116 insertions, 0 deletions
diff --git a/mp/src/common/replay/ienginereplay.h b/mp/src/common/replay/ienginereplay.h new file mode 100644 index 00000000..90de4d3b --- /dev/null +++ b/mp/src/common/replay/ienginereplay.h @@ -0,0 +1,116 @@ +//========= Copyright Valve Corporation, All rights reserved. ============//
+//
+//=======================================================================================//
+
+#ifndef IENGINEREPLAY_H
+#define IENGINEREPLAY_H
+#ifdef _WIN32
+#pragma once
+#endif
+
+//----------------------------------------------------------------------------------------
+
+#include "interface.h"
+
+//----------------------------------------------------------------------------------------
+
+#define ENGINE_REPLAY_INTERFACE_VERSION "EngineReplay001"
+
+#if !defined( DEDICATED )
+# define ENGINE_REPLAY_CLIENT_INTERFACE_VERSION "EngineClientReplay001"
+#endif
+
+//----------------------------------------------------------------------------------------
+
+class IServer;
+class INetChannel;
+class IReplayServer;
+class IClientEntityList;
+class IClientReplay;
+struct demoheader_t;
+class CGlobalVarsBase;
+class IDemoBuffer;
+class CBaseRecordingSessionBlock;
+
+//----------------------------------------------------------------------------------------
+
+//
+// Allows the replay, client & server DLL's to talk to the engine
+//
+class IEngineReplay : public IBaseInterface
+{
+public:
+ virtual bool IsSupportedModAndPlatform() = 0;
+
+ virtual float GetHostTime() = 0;
+ virtual int GetHostTickCount() = 0;
+ virtual int TimeToTicks( float flTime ) = 0;
+ virtual float TicksToTime( int nTick ) = 0;
+
+ virtual bool ReadDemoHeader( const char *pFilename, demoheader_t &header ) = 0;
+ virtual const char *GetGameDir() = 0;
+ virtual void Cbuf_AddText( const char *pCmd ) = 0;
+ virtual void Cbuf_Execute() = 0;
+ virtual void Host_Disconnect( bool bShowMainMenu ) = 0;
+ virtual void HostState_Shutdown() = 0;
+ virtual const char *GetModDir() = 0;
+
+ virtual bool CopyFile( const char *pSource, const char *pDest ) = 0;
+
+ virtual bool LZSS_Compress( char *pDest, unsigned int *pDestLen, const char *pSource, unsigned int nSourceLen ) = 0;
+ virtual bool LZSS_Decompress( char *pDest, unsigned int *pDestLen, const char *pSource, unsigned int nSourceLen ) = 0;
+
+ virtual bool MD5_HashBuffer( unsigned char pDigest[16], const unsigned char *pBuffer, int nSize, unsigned int pSeed[4] ) = 0;
+
+ // Server-specific
+ virtual IReplayServer *GetReplayServer() = 0;
+ virtual IServer *GetReplayServerAsIServer() = 0;
+ virtual IServer *GetGameServer() = 0;
+ virtual bool GetSessionRecordBuffer( uint8 **ppSessionBuffer, int *pSize ) = 0;
+ virtual bool IsDedicated() = 0;
+ virtual void ResetReplayRecordBuffer() = 0;
+ virtual demoheader_t *GetReplayDemoHeader() = 0;
+ virtual void RecalculateTags() = 0;
+ virtual bool NET_GetHostnameAsIP( const char *pHostname, char *pOut, int nOutSize ) = 0;
+};
+
+//
+// Allows the replay and client DLL's to talk to the engine
+//
+#if !defined( DEDICATED )
+class IEngineClientReplay : public IBaseInterface
+{
+public:
+ virtual INetChannel *GetNetChannel() = 0;
+ virtual bool IsConnected() = 0;
+ virtual bool IsListenServer() = 0;
+ virtual float GetLastServerTickTime() = 0;
+ virtual const char *GetLevelName() = 0;
+ virtual const char *GetLevelNameShort() = 0;
+ virtual int GetPlayerSlot() = 0;
+ virtual bool IsPlayingReplayDemo() = 0;
+ virtual IClientEntityList *GetClientEntityList() = 0;
+ virtual IClientReplay *GetClientReplayInt() = 0;
+ virtual uint32 GetClientSteamID() = 0;
+ virtual void Con_NPrintf( int nPos, PRINTF_FORMAT_STRING const char *pFormat, ... ) = 0;
+ virtual CGlobalVarsBase *GetClientGlobalVars() = 0;
+ virtual void VGui_PlaySound( const char *pSound ) = 0;
+ virtual void EngineVGui_ConfirmQuit() = 0;
+ virtual int GetScreenWidth() = 0;
+ virtual int GetScreenHeight() = 0;
+ virtual bool IsDemoPlayingBack() = 0;
+ virtual bool IsGamePathValidAndSafeForDownload( const char *pGamePath ) = 0;
+ virtual bool IsInGame() = 0;
+
+ virtual void InitSoundRecord() = 0;
+
+ virtual void Wave_CreateTmpFile( const char *pFilename ) = 0;
+ virtual void Wave_AppendTmpFile( const char *pFilename, void *pBuffer, int nNumSamples ) = 0;
+ virtual void Wave_FixupTmpFile( const char *pFilename ) = 0;
+
+};
+#endif // !defined( DEDICATED )
+
+//----------------------------------------------------------------------------------------
+
+#endif // IENGINEREPLAY_H
\ No newline at end of file |