DDNet documentation
Loading...
Searching...
No Matches
CDemoPlayer Class Reference

#include <demo.h>

Inheritance diagram for CDemoPlayer:
[legend]
Collaboration diagram for CDemoPlayer:
[legend]

Classes

class  IListener
class  CPlaybackInfo
class  CKeyFrame

Public Member Functions

 CDemoPlayer (CSnapshotDelta *pSnapshotDelta, CSnapshotDelta *pSnapshotDeltaSixup, bool UseVideo)
 CDemoPlayer (CSnapshotDelta *pSnapshotDelta, CSnapshotDelta *pSnapshotDeltaSixup, bool UseVideo, TUpdateIntraTimesFunc &&UpdateIntraTimesFunc)
 ~CDemoPlayer () override
void SetListener (IListener *pListener)
int Load (IStorage *pStorage, IConsole *pConsole, const char *pFilename, int StorageType)
unsigned char * GetMapData (IStorage *pStorage)
bool ExtractMap (IStorage *pStorage)
void Play ()
void Pause () override
void Unpause () override
void Stop (const char *pErrorMessage="")
void SetSpeed (float Speed) override
void SetSpeedIndex (int SpeedIndex) override
void AdjustSpeedIndex (int Offset) override
bool SeekPercent (float Percent) override
bool SeekTime (float Seconds) override
bool SeekTick (ETickOffset TickOffset) override
bool SetPos (int WantedTick) override
const CInfoBaseInfo () const override
void GetDemoName (char *pBuffer, size_t BufferSize) const override
bool GetDemoInfo (IStorage *pStorage, IConsole *pConsole, const char *pFilename, int StorageType, CDemoHeader *pDemoHeader, CTimelineMarkers *pTimelineMarkers, CMapInfo *pMapInfo, IOHANDLE *pFile=nullptr, char *pErrorMessage=nullptr, size_t ErrorMessageSize=0) const override
const char * Filename () const
const char * ErrorMessage () const override
void Update (bool RealTime=true)
bool IsSixup () const
const CPlaybackInfoInfo () const
bool IsPlaying () const override
const CMapInfoGetMapInfo () const
Public Member Functions inherited from IInterface
 IInterface ()
virtual void Shutdown ()
virtual ~IInterface ()=default

Private Types

enum  EReadChunkHeaderResult { CHUNKHEADER_SUCCESS , CHUNKHEADER_ERROR , CHUNKHEADER_EOF }
enum class  EScanFileResult { SUCCESS , ERROR_RECOVERABLE , ERROR_UNRECOVERABLE }

Private Member Functions

EReadChunkHeaderResult ReadChunkHeader (int *pType, int *pSize, int *pTick)
void DoTick ()
EScanFileResult ScanFile ()
void UpdateTimes ()
int64_t Time ()
CSnapshotDeltaSnapshotDelta ()
void Construct (CSnapshotDelta *pSnapshotDelta, CSnapshotDelta *pSnapshotDeltaSixup, bool UseVideo)

Private Attributes

IListenerm_pListener
TUpdateIntraTimesFunc m_UpdateIntraTimesFunc
IConsolem_pConsole
IOHANDLE m_File
int64_t m_MapOffset
char m_aFilename [IO_MAX_PATH_LENGTH]
char m_aErrorMessage [256]
std::vector< CKeyFramem_vKeyFrames
CMapInfo m_MapInfo
int m_SpeedIndex
CPlaybackInfo m_Info
unsigned char m_aCompressedSnapshotData [CSnapshot::MAX_SIZE]
unsigned char m_aDecompressedSnapshotData [CSnapshot::MAX_SIZE]
unsigned char m_aChunkData [CSnapshot::MAX_SIZE]
CSnapshotBuffer m_Snapshot
CSnapshotBuffer m_LastSnapshotData
int m_LastSnapshotDataSize
CSnapshotDeltam_pSnapshotDelta
CSnapshotDeltam_pSnapshotDeltaSixup
bool m_UseVideo
bool m_WasRecording = false
bool m_Sixup

Additional Inherited Members

Public Types inherited from IDemoPlayer
enum  ETickOffset { TICK_CURRENT , TICK_PREVIOUS , TICK_NEXT }
Static Public Member Functions inherited from IDemoPlayer
static const char * InterfaceName ()
Protected Member Functions inherited from IInterface
IKernelKernel ()

Member Enumeration Documentation

◆ EReadChunkHeaderResult

Enumerator
CHUNKHEADER_SUCCESS 
CHUNKHEADER_ERROR 
CHUNKHEADER_EOF 

◆ EScanFileResult

enum class CDemoPlayer::EScanFileResult
strongprivate
Enumerator
SUCCESS 
ERROR_RECOVERABLE 
ERROR_UNRECOVERABLE 

Constructor & Destructor Documentation

◆ CDemoPlayer() [1/2]

CDemoPlayer::CDemoPlayer ( CSnapshotDelta * pSnapshotDelta,
CSnapshotDelta * pSnapshotDeltaSixup,
bool UseVideo )

◆ CDemoPlayer() [2/2]

CDemoPlayer::CDemoPlayer ( CSnapshotDelta * pSnapshotDelta,
CSnapshotDelta * pSnapshotDeltaSixup,
bool UseVideo,
TUpdateIntraTimesFunc && UpdateIntraTimesFunc )

◆ ~CDemoPlayer()

CDemoPlayer::~CDemoPlayer ( )
override

Member Function Documentation

◆ AdjustSpeedIndex()

void CDemoPlayer::AdjustSpeedIndex ( int Offset)
overridevirtual

Implements IDemoPlayer.

◆ BaseInfo()

const CInfo * CDemoPlayer::BaseInfo ( ) const
inlineoverridevirtual

Implements IDemoPlayer.

◆ Construct()

void CDemoPlayer::Construct ( CSnapshotDelta * pSnapshotDelta,
CSnapshotDelta * pSnapshotDeltaSixup,
bool UseVideo )
private

◆ DoTick()

void CDemoPlayer::DoTick ( )
private

◆ ErrorMessage()

const char * CDemoPlayer::ErrorMessage ( ) const
inlineoverridevirtual

Implements IDemoPlayer.

◆ ExtractMap()

bool CDemoPlayer::ExtractMap ( IStorage * pStorage)

◆ Filename()

const char * CDemoPlayer::Filename ( ) const
inline

◆ GetDemoInfo()

bool CDemoPlayer::GetDemoInfo ( IStorage * pStorage,
IConsole * pConsole,
const char * pFilename,
int StorageType,
CDemoHeader * pDemoHeader,
CTimelineMarkers * pTimelineMarkers,
CMapInfo * pMapInfo,
IOHANDLE * pFile = nullptr,
char * pErrorMessage = nullptr,
size_t ErrorMessageSize = 0 ) const
overridevirtual

Implements IDemoPlayer.

◆ GetDemoName()

void CDemoPlayer::GetDemoName ( char * pBuffer,
size_t BufferSize ) const
overridevirtual

Implements IDemoPlayer.

◆ GetMapData()

unsigned char * CDemoPlayer::GetMapData ( IStorage * pStorage)

◆ GetMapInfo()

const CMapInfo * CDemoPlayer::GetMapInfo ( ) const
inline

◆ Info()

const CPlaybackInfo * CDemoPlayer::Info ( ) const
inline

◆ IsPlaying()

bool CDemoPlayer::IsPlaying ( ) const
inlineoverridevirtual

Implements IDemoPlayer.

◆ IsSixup()

bool CDemoPlayer::IsSixup ( ) const
inline

◆ Load()

int CDemoPlayer::Load ( IStorage * pStorage,
IConsole * pConsole,
const char * pFilename,
int StorageType )

◆ Pause()

void CDemoPlayer::Pause ( )
overridevirtual

Implements IDemoPlayer.

◆ Play()

void CDemoPlayer::Play ( )

◆ ReadChunkHeader()

CDemoPlayer::EReadChunkHeaderResult CDemoPlayer::ReadChunkHeader ( int * pType,
int * pSize,
int * pTick )
private

◆ ScanFile()

CDemoPlayer::EScanFileResult CDemoPlayer::ScanFile ( )
private

◆ SeekPercent()

bool CDemoPlayer::SeekPercent ( float Percent)
overridevirtual

Implements IDemoPlayer.

◆ SeekTick()

bool CDemoPlayer::SeekTick ( ETickOffset TickOffset)
overridevirtual

Implements IDemoPlayer.

◆ SeekTime()

bool CDemoPlayer::SeekTime ( float Seconds)
overridevirtual

Implements IDemoPlayer.

◆ SetListener()

void CDemoPlayer::SetListener ( IListener * pListener)

◆ SetPos()

bool CDemoPlayer::SetPos ( int WantedTick)
overridevirtual

Implements IDemoPlayer.

◆ SetSpeed()

void CDemoPlayer::SetSpeed ( float Speed)
overridevirtual

Implements IDemoPlayer.

◆ SetSpeedIndex()

void CDemoPlayer::SetSpeedIndex ( int SpeedIndex)
overridevirtual

Implements IDemoPlayer.

◆ SnapshotDelta()

CSnapshotDelta * CDemoPlayer::SnapshotDelta ( )
private

◆ Stop()

void CDemoPlayer::Stop ( const char * pErrorMessage = "")

◆ Time()

int64_t CDemoPlayer::Time ( )
private

◆ Unpause()

void CDemoPlayer::Unpause ( )
overridevirtual

Implements IDemoPlayer.

◆ Update()

void CDemoPlayer::Update ( bool RealTime = true)

◆ UpdateTimes()

void CDemoPlayer::UpdateTimes ( )
private

Member Data Documentation

◆ m_aChunkData

unsigned char CDemoPlayer::m_aChunkData[CSnapshot::MAX_SIZE]
private

◆ m_aCompressedSnapshotData

unsigned char CDemoPlayer::m_aCompressedSnapshotData[CSnapshot::MAX_SIZE]
private

◆ m_aDecompressedSnapshotData

unsigned char CDemoPlayer::m_aDecompressedSnapshotData[CSnapshot::MAX_SIZE]
private

◆ m_aErrorMessage

char CDemoPlayer::m_aErrorMessage[256]
private

◆ m_aFilename

char CDemoPlayer::m_aFilename[IO_MAX_PATH_LENGTH]
private

◆ m_File

IOHANDLE CDemoPlayer::m_File
private

◆ m_Info

CPlaybackInfo CDemoPlayer::m_Info
private

◆ m_LastSnapshotData

CSnapshotBuffer CDemoPlayer::m_LastSnapshotData
private

◆ m_LastSnapshotDataSize

int CDemoPlayer::m_LastSnapshotDataSize
private

◆ m_MapInfo

CMapInfo CDemoPlayer::m_MapInfo
private

◆ m_MapOffset

int64_t CDemoPlayer::m_MapOffset
private

◆ m_pConsole

IConsole* CDemoPlayer::m_pConsole
private

◆ m_pListener

IListener* CDemoPlayer::m_pListener
private

◆ m_pSnapshotDelta

CSnapshotDelta* CDemoPlayer::m_pSnapshotDelta
private

◆ m_pSnapshotDeltaSixup

CSnapshotDelta* CDemoPlayer::m_pSnapshotDeltaSixup
private

◆ m_Sixup

bool CDemoPlayer::m_Sixup
private

◆ m_Snapshot

CSnapshotBuffer CDemoPlayer::m_Snapshot
private

◆ m_SpeedIndex

int CDemoPlayer::m_SpeedIndex
private

◆ m_UpdateIntraTimesFunc

TUpdateIntraTimesFunc CDemoPlayer::m_UpdateIntraTimesFunc
private

◆ m_UseVideo

bool CDemoPlayer::m_UseVideo
private

◆ m_vKeyFrames

std::vector<CKeyFrame> CDemoPlayer::m_vKeyFrames
private

◆ m_WasRecording

bool CDemoPlayer::m_WasRecording = false
private

The documentation for this class was generated from the following files: