aboutsummaryrefslogtreecommitdiff
path: root/sp/src/common/replay/iclientreplaycontext.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 /sp/src/common/replay/iclientreplaycontext.h
downloadsource-sdk-2013-39ed87570bdb2f86969d4be821c94b722dc71179.tar.xz
source-sdk-2013-39ed87570bdb2f86969d4be821c94b722dc71179.zip
First version of the SOurce SDK 2013
Diffstat (limited to 'sp/src/common/replay/iclientreplaycontext.h')
-rw-r--r--sp/src/common/replay/iclientreplaycontext.h58
1 files changed, 58 insertions, 0 deletions
diff --git a/sp/src/common/replay/iclientreplaycontext.h b/sp/src/common/replay/iclientreplaycontext.h
new file mode 100644
index 00000000..bdafa15e
--- /dev/null
+++ b/sp/src/common/replay/iclientreplaycontext.h
@@ -0,0 +1,58 @@
+//========= Copyright Valve Corporation, All rights reserved. ============//
+//
+//=======================================================================================//
+
+#ifndef ICLIENTREPLAYCONTEXT_H
+#define ICLIENTREPLAYCONTEXT_H
+#ifdef _WIN32
+#pragma once
+#endif
+
+//----------------------------------------------------------------------------------------
+
+#include "replay/ireplaycontext.h"
+#include "replay/replayhandle.h"
+
+//----------------------------------------------------------------------------------------
+
+#define REPLAYHISTORYMANAGER_INTERFACE_VERSION_CLIENT "VENGINE_CLIENT_REPLAY_HISTORY_MANAGER_001"
+
+//----------------------------------------------------------------------------------------
+
+class CReplay;
+class CReplayPerformance;
+class IReplayManager;
+class IReplayMovieManager;
+class IReplayMovieRenderer;
+class IReplayScreenshotManager;
+class IReplayPerformanceManager;
+class IReplayPerformanceController;
+class IReplayRenderQueue;
+
+//----------------------------------------------------------------------------------------
+
+class IClientReplayContext : public IReplayContext
+{
+public:
+ virtual CReplay *GetReplay( ReplayHandle_t hReplay ) = 0; // Shorthand to GetReplayManager()->GetReplay()
+ virtual IReplayManager *GetReplayManager() = 0;
+ virtual IReplayMovieRenderer *GetMovieRenderer() = 0;
+ virtual IReplayMovieManager *GetMovieManager() = 0;
+ virtual IReplayScreenshotManager *GetScreenshotManager() = 0;
+ virtual IReplayPerformanceManager *GetPerformanceManager() = 0;
+ virtual IReplayPerformanceController *GetPerformanceController() = 0;
+ virtual IReplayRenderQueue *GetRenderQueue() = 0;
+ virtual void SetMovieRenderer( IReplayMovieRenderer *pRenderer ) = 0; // Set to be the panel that renders replay movies, or NULL when nothing is rendering
+ virtual void OnSignonStateFull() = 0;
+ virtual void OnClientSideDisconnect() = 0; // Called when client disconnects
+ virtual void PlayReplay( ReplayHandle_t hReplay, int iPerformance, bool bPlaySound ) = 0; // Play the given replay, from spawn tick to death tick
+ virtual bool ReconstructReplayIfNecessary( CReplay *pReplay ) = 0;
+ virtual void OnPlayerSpawn() = 0; // Called on the client when player is spawned
+ virtual void OnPlayerClassChanged() = 0; // Called when the player's class changes - we use this instead of an event for immediacy
+ virtual void GetPlaybackTimes( float &flOutTime, float &flOutLength, const CReplay *pReplay, const CReplayPerformance *pPerformance ) = 0; // Calculate the current time and length of a replay or performance - takes in tick and out tick into account for performances - flCurTime should be gpGlobals->curtime. pPerformance can be NULL.
+ virtual uint64 GetServerSessionId( ReplayHandle_t hReplay ) = 0;
+};
+
+//----------------------------------------------------------------------------------------
+
+#endif // ICLIENTREPLAYCONTEXT_H