hl2_src-leak-2017/src/common/replay/performance.h

63 lines
1.8 KiB
C++

//========= Copyright Valve Corporation, All rights reserved. ============//
//
//=======================================================================================//
#ifndef REPLAYPERFORMANCE_H
#define REPLAYPERFORMANCE_H
#ifdef _WIN32
#pragma once
#endif
//----------------------------------------------------------------------------------------
#include "shared_defs.h"
#include "qlimits.h"
//----------------------------------------------------------------------------------------
class CReplay;
class KeyValues;
//----------------------------------------------------------------------------------------
class CReplayPerformance
{
public:
CReplayPerformance( CReplay *pReplay );
inline bool HasInTick() const { return m_nTickIn >= 0; }
inline bool HasOutTick() const { return m_nTickOut >= 0; }
inline int GetTickIn() const { return m_nTickIn; }
inline int GetTickOut() const { return m_nTickOut; }
void Copy( const CReplayPerformance *pSrc );
void CopyTicks( const CReplayPerformance *pSrc );
void SetFilename( const char *pFilename );
const char *GetFullPerformanceFilename();
void AutoNameIfHasNoTitle( const char *pMapName );
void SetTitle( const wchar_t *pTitle );
// NOTE: Doesn't copy exactly - gets a valid filename for the returned performance.
CReplayPerformance *MakeCopy() const;
void Read( KeyValues *pIn );
void Write( KeyValues *pOut );
// NOTE: Any changes made here should be reflected in the copy constructor
// (which is called from MakeCopy()).
wchar_t m_wszTitle[MAX_TAKE_TITLE_LENGTH];
char m_szBaseFilename[ MAX_OSPATH ];
CReplay *m_pReplay;
int m_nTickIn;
int m_nTickOut;
private:
CReplayPerformance( const CReplayPerformance *pPerformance );
};
//----------------------------------------------------------------------------------------
#endif // REPLAYPERFORMANCE_H