23static constexpr double DEMO_SPEEDS[] = {0.1, 0.25, 0.5, 0.75, 1.0, 1.25, 1.5, 2.0, 3.0, 4.0, 6.0, 8.0, 12.0, 16.0, 20.0, 24.0, 28.0, 32.0, 40.0, 48.0, 56.0, 64.0};
96 virtual bool SetPos(
int WantedTick) = 0;
102 virtual void GetDemoName(
char *pBuffer,
size_t BufferSize)
const = 0;
126 virtual
bool Slice(const
char *pDemo, const
char *pDst,
int StartTick,
int EndTick,
DEMOFUNC_FILTER pfnFilter,
void *pUser) = 0;
virtual bool Slice(const char *pDemo, const char *pDst, int StartTick, int EndTick, DEMOFUNC_FILTER pfnFilter, void *pUser)=0
float m_Speed
Definition demo.h:73
int m_NumTimelineMarkers
Definition demo.h:79
bool m_LivePlayback
Definition demo.h:72
bool m_Paused
Definition demo.h:70
int m_CurrentTick
Definition demo.h:76
bool m_LiveDemo
Definition demo.h:71
int m_aTimelineMarkers[MAX_TIMELINE_MARKERS]
Definition demo.h:80
int m_LastTick
Definition demo.h:77
int m_FirstTick
Definition demo.h:75
virtual bool SeekTick(ETickOffset TickOffset)=0
virtual bool GetDemoInfo(class IStorage *pStorage, class IConsole *pConsole, const char *pFilename, int StorageType, CDemoHeader *pDemoHeader, CTimelineMarkers *pTimelineMarkers, CMapInfo *pMapInfo, IOHANDLE *pFile=nullptr, char *pErrorMessage=nullptr, size_t ErrorMessageSize=0) const =0
virtual void SetSpeedIndex(int SpeedIndex)=0
virtual bool SeekTime(float Seconds)=0
virtual void GetDemoName(char *pBuffer, size_t BufferSize) const =0
virtual void SetSpeed(float Speed)=0
virtual bool SetPos(int WantedTick)=0
virtual bool SeekPercent(float Percent)=0
virtual void AdjustSpeedIndex(int Offset)=0
virtual const CInfo * BaseInfo() const =0
virtual bool IsPlaying() const =0
virtual const char * ErrorMessage() const =0
ETickOffset
Definition demo.h:84
@ TICK_NEXT
Definition demo.h:87
@ TICK_PREVIOUS
Definition demo.h:86
@ TICK_CURRENT
Definition demo.h:85
virtual int Stop(IDemoRecorder::EStopMode Mode, const char *pTargetFilename="")=0
virtual bool IsRecording() const =0
EStopMode
Definition demo.h:111
@ KEEP_FILE
Definition demo.h:112
@ REMOVE_FILE
Definition demo.h:113
virtual int Length() const =0
virtual const char * CurrentFilename() const =0
IInterface()
Definition kernel.h:19
bool(* DEMOFUNC_FILTER)(const void *pData, int DataSize, void *pUser)
Definition demo.h:27
static constexpr int DEMO_SPEED_INDEX_DEFAULT
Definition demo.h:24
static constexpr double DEMO_SPEEDS[]
Definition demo.h:23
const CUuid SHA256_EXTENSION
Definition demo.cpp:20
@ MAX_TIMELINE_MARKERS
Definition demo.h:18
static const unsigned char gs_aHeaderMarker[8]
Definition ghost.cpp:11
@ MAX_MAP_LENGTH
Definition map.h:13
#define MACRO_INTERFACE(Name)
Definition kernel.h:25
void * IOHANDLE
Definition logger.h:12
char m_aName[MAX_MAP_LENGTH]
Definition demo.h:57
unsigned m_Size
Definition demo.h:60
unsigned m_Crc
Definition demo.h:59
std::optional< SHA256_DIGEST > m_Sha256
Definition demo.h:58
unsigned char m_aTimelineMarkers[MAX_TIMELINE_MARKERS][sizeof(int32_t)]
Definition demo.h:52
unsigned char m_aNumTimelineMarkers[sizeof(int32_t)]
Definition demo.h:51
Definition uuid_manager.h:17