//========= Copyright Valve Corporation, All rights reserved. ============// // //=======================================================================================// #ifndef ICLIENTREPLAY_H #define ICLIENTREPLAY_H #ifdef _WIN32 #pragma once #endif //---------------------------------------------------------------------------------------- #include "interface.h" #include "replay/replayhandle.h" //---------------------------------------------------------------------------------------- #define CLIENT_REPLAY_INTERFACE_VERSION "ClientReplay001" //---------------------------------------------------------------------------------------- class IReplayFactory; class IReplayScreenshotSystem; class IReplayPerformancePlaybackHandler; class KeyValues; class IReplayCamera; class CReplayPerformance; struct RenderMovieParams_t; class IGameEvent; //---------------------------------------------------------------------------------------- // // Allows the replay and engine DLL's to talk to the client. // class IClientReplay : public IBaseInterface { public: virtual uint64 GetServerSessionId() = 0; virtual bool CacheReplayRagdolls( const char *pFilename, int nStartTick) = 0; // Cache replay ragdolls virtual IReplayScreenshotSystem * GetReplayScreenshotSystem() = 0; // Get the client's replay screenshot // system virtual IReplayPerformancePlaybackHandler * GetPerformancePlaybackHandler() = 0; virtual IReplayCamera *GetReplayCamera() = 0; virtual void DisplayReplayMessage(const char *pLocalizeStr, bool bUrgent, bool bDlg, const char *pSound) = 0; virtual void DisplayReplayMessage(const wchar_t *pText, bool bUrgent, bool bDlg, const char *pSound) = 0; virtual void InitPerformanceEditor(ReplayHandle_t hReplay) = 0; virtual void HidePerformanceEditor() = 0; virtual bool ShouldRender() = 0; virtual void PlaySound(const char *pSound) = 0; virtual void UploadOgsData(KeyValues *pData, bool bIncludeTimeField) = 0; virtual bool ShouldCompletePendingReplay(IGameEvent *pEvent) = 0; virtual void OnSaveReplay(ReplayHandle_t hNewReplay, bool bShowInputDlg) = 0; virtual void OnDeleteReplay( ReplayHandle_t hReplay) = 0; // Called before replay is actually // removed from the replay manager virtual void OnPlaybackComplete(ReplayHandle_t hReplay, int iPerformance) = 0; virtual void OnRenderStart() = 0; virtual void OnRenderComplete(const RenderMovieParams_t &RenderParams, bool bCancelled, bool bSuccess, bool bShowBrowser) = 0; virtual bool OnConfirmQuit() = 0; virtual bool OnEndOfReplayReached() = 0; }; //---------------------------------------------------------------------------------------- #endif // ICLIENTREPLAY_H