This repository has been archived on 2024-06-13. You can view files and clone it, but cannot push or open issues or pull requests.
2020-08-04 13:13:01 -04:00

63 lines
1.9 KiB
C++

//========= Copyright Valve Corporation, All rights reserved. ============//
//
//=======================================================================================//
#ifndef REPLAYPERFORMANCE_H
#define REPLAYPERFORMANCE_H
#ifdef _WIN32
#pragma once
#endif
//----------------------------------------------------------------------------------------
#include "qlimits.h"
#include "shared_defs.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