aboutsummaryrefslogtreecommitdiff
path: root/mp/src/common/replay/ireplayperformancerecorder.h
blob: 1274ab0e78df9ed3d1a5d6640b8d8269107efdbd (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
//========= Copyright Valve Corporation, All rights reserved. ============//
//
//=======================================================================================//

#ifndef IREPLAYPERFORMANCERECORDER_H
#define IREPLAYPERFORMANCERECORDER_H
#ifdef _WIN32
#pragma once
#endif

//----------------------------------------------------------------------------------------

#include "interface.h"

//----------------------------------------------------------------------------------------

class CReplay;
class Vector;
class QAngle;
class CReplayPerformance;

//----------------------------------------------------------------------------------------

class IReplayPerformanceRecorder : public IBaseInterface
{
public:
	virtual void		BeginPerformanceRecord( CReplay *pReplay ) = 0;
	virtual void		EndPerformanceRecord() = 0;

	virtual void		NotifyPauseState( bool bPaused ) = 0;

	virtual CReplayPerformance	*GetPerformance() = 0;
	virtual bool		IsRecording() const = 0;

	virtual void		SnipAtTime( float flTime ) = 0;
	virtual void		NotifySkipping() = 0;
	virtual void		ClearSkipping() = 0;

	virtual void		AddEvent_Camera_Change_FirstPerson( float flTime, int nEntityIndex ) = 0;
	virtual void		AddEvent_Camera_Change_ThirdPerson( float flTime, int nEntityIndex ) = 0;
	virtual void		AddEvent_Camera_Change_Free( float flTime ) = 0;
	virtual void		AddEvent_Camera_ChangePlayer( float flTime, int nEntIndex ) = 0;
	virtual void		AddEvent_Camera_SetView( float flTime, const Vector& origin, const QAngle &angles, float fov ) = 0;
	virtual void		AddEvent_Slowmo( float flTime, float flScale ) = 0;
};

//----------------------------------------------------------------------------------------

#endif // IREPLAYPERFORMANCERECORDER_H