2014-10-29 05:20:24 +01:00
|
|
|
|
|
|
|
#pragma once
|
|
|
|
|
2015-05-13 02:39:56 +02:00
|
|
|
#include <cstdint>
|
|
|
|
#include <cstdio>
|
2015-06-14 23:04:05 +02:00
|
|
|
#include "base/array.h"
|
2014-10-29 05:20:24 +01:00
|
|
|
|
2015-05-13 02:39:56 +02:00
|
|
|
struct demoheader_t;
|
|
|
|
struct democmdinfo_t;
|
2014-10-29 05:20:24 +01:00
|
|
|
|
2015-05-13 02:39:56 +02:00
|
|
|
class DemoFileReader
|
2014-10-29 05:20:24 +01:00
|
|
|
{
|
|
|
|
public:
|
2015-05-13 02:39:56 +02:00
|
|
|
DemoFileReader(FILE* fp);
|
2014-10-29 06:35:43 +01:00
|
|
|
|
2015-06-14 23:05:50 +02:00
|
|
|
bool IsOk() const;
|
2015-05-13 02:39:56 +02:00
|
|
|
void ReadDemoHeader(demoheader_t& header);
|
2015-06-14 23:03:19 +02:00
|
|
|
int32_t ReadRawData(uint8_t* buffer, int32_t maxLength);
|
2015-06-14 23:04:05 +02:00
|
|
|
Array<uint8_t> ReadRawData(int32_t maxLength);
|
2015-05-13 02:39:56 +02:00
|
|
|
void ReadSequenceInfo(int32_t& seqNum1, int32_t& seqNum2);
|
|
|
|
void ReadCmdInfo(democmdinfo_t& info);
|
|
|
|
void ReadCmdHeader(unsigned char& cmd, int32_t& tick);
|
2015-06-14 23:03:19 +02:00
|
|
|
int32_t ReadUserCmd(int32_t& cmdNum, uint8_t* buffer, int32_t maxLength);
|
2015-06-14 23:04:05 +02:00
|
|
|
Array<uint8_t> ReadUserCmd(int32_t& cmdNum, int32_t maxLength);
|
2015-05-04 04:40:41 +02:00
|
|
|
|
|
|
|
private:
|
2015-05-13 02:39:56 +02:00
|
|
|
FILE* m_demoFp;
|
2015-05-04 04:40:41 +02:00
|
|
|
};
|