Added Array versions of ReadRawData and ReadUserCmd
This commit is contained in:
parent
284a99fff7
commit
44c36ab0f2
|
@ -33,6 +33,24 @@ int32_t DemoFileReader::ReadRawData(uint8_t* buffer, int32_t maxLength)
|
|||
return size;
|
||||
}
|
||||
|
||||
Array<uint8_t> DemoFileReader::ReadRawData(int32_t maxLength)
|
||||
{
|
||||
FILE* fp = m_demoFp;
|
||||
|
||||
int32_t size;
|
||||
fread(&size, sizeof(int32_t), 1, fp);
|
||||
|
||||
Array<uint8_t> data;
|
||||
if (maxLength < size)
|
||||
{
|
||||
return std::move(data);
|
||||
}
|
||||
|
||||
data.reset(size);
|
||||
fread(data.begin(), 1, size, fp);
|
||||
return std::move(data);
|
||||
}
|
||||
|
||||
void DemoFileReader::ReadSequenceInfo(int32_t& seqNum1, int32_t& seqNum2)
|
||||
{
|
||||
FILE* fp = m_demoFp;
|
||||
|
@ -66,6 +84,12 @@ int32_t DemoFileReader::ReadUserCmd(int32_t& cmdNum, uint8_t* buffer, int32_t ma
|
|||
return ReadRawData(buffer, maxLength);
|
||||
}
|
||||
|
||||
Array<uint8_t> DemoFileReader::ReadUserCmd(int32_t& cmdNum, int32_t maxLength)
|
||||
{
|
||||
fread(&cmdNum, sizeof(int32_t), 1, m_demoFp);
|
||||
return ReadRawData(maxLength);
|
||||
}
|
||||
|
||||
// DemoFileWriter
|
||||
|
||||
DemoFileWriter::DemoFileWriter(FILE* fp) :
|
||||
|
|
|
@ -3,6 +3,7 @@
|
|||
|
||||
#include <cstdint>
|
||||
#include <cstdio>
|
||||
#include "base/array.h"
|
||||
|
||||
struct demoheader_t;
|
||||
struct democmdinfo_t;
|
||||
|
@ -14,10 +15,12 @@ public:
|
|||
|
||||
void ReadDemoHeader(demoheader_t& header);
|
||||
int32_t ReadRawData(uint8_t* buffer, int32_t maxLength);
|
||||
Array<uint8_t> ReadRawData(int32_t maxLength);
|
||||
void ReadSequenceInfo(int32_t& seqNum1, int32_t& seqNum2);
|
||||
void ReadCmdInfo(democmdinfo_t& info);
|
||||
void ReadCmdHeader(unsigned char& cmd, int32_t& tick);
|
||||
int32_t ReadUserCmd(int32_t& cmdNum, uint8_t* buffer, int32_t maxLength);
|
||||
Array<uint8_t> ReadUserCmd(int32_t& cmdNum, int32_t maxLength);
|
||||
|
||||
private:
|
||||
FILE* m_demoFp;
|
||||
|
|
Loading…
Reference in New Issue
Block a user