75 lines
3.0 KiB
C++
75 lines
3.0 KiB
C++
//========= 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
|