hl2_src-leak-2017/src/utils/demoinfo/tooldemofile.h

59 lines
1.2 KiB
C++

//========= Copyright Valve Corporation, All rights reserved. ============//
//
// Purpose:
//
//=============================================================================
#ifndef TOOLDEMOFILE_H
#define TOOLDEMOFILE_H
#ifdef _WIN32
#pragma once
#endif
#include "mathlib/vector.h"
#include "tier0/platform.h"
#include "utlvector.h"
#include "filesystem.h"
#include "demofile/demoformat.h"
class CUtlBuffer;
class CToolDemoFile
{
public:
CToolDemoFile();
virtual ~CToolDemoFile();
bool Open(const char *name, bool bReadOnly);
bool IsOpen();
void Close();
void SeekTo( int position );
unsigned int GetCurPos();
int GetSize();
int ReadRawData( char *buffer, int length );
void ReadSequenceInfo(int &nSeqNrIn, int &nSeqNrOutAck);
void ReadCmdInfo( democmdinfo_t& info );
void ReadCmdHeader( unsigned char& cmd, int& tick );
const char *ReadConsoleCommand( void );
int ReadNetworkDataTables( CUtlBuffer *buf ); // if buf is NULL, skip it
int ReadUserCmd( char *buffer, int &size );
demoheader_t *ReadDemoHeader();
public:
FileHandle_t m_hDemoFile; // filesystem handle
char m_szFileName[MAX_PATH]; //name of current demo file
demoheader_t m_DemoHeader; //general demo info
};
#endif // TOOLDEMOFILE_H