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.
64 lines
2.6 KiB
64 lines
2.6 KiB
5 years ago
|
//========= 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
|