Commit 03079ab0 authored by Chen Bill's avatar Chen Bill

use std::memcpy in class Replay

parent 2e0af898
......@@ -3,11 +3,7 @@
namespace ygo {
Replay::Replay()
: fp(nullptr), pheader(), pdata(nullptr), replay_size(0), comp_size(0), is_recording(false), is_replaying(false) {
#ifdef _WIN32
recording_fp = nullptr;
#endif
Replay::Replay() {
replay_data = new unsigned char[MAX_REPLAY_SIZE];
comp_data = new unsigned char[MAX_COMP_SIZE];
}
......@@ -134,8 +130,8 @@ void Replay::EndRecord() {
comp_size = MAX_COMP_SIZE;
int ret = LzmaCompress(comp_data, &comp_size, replay_data, replay_size, pheader.props, &propsize, 5, 1 << 24, 3, 0, 2, 32, 1);
if (ret != SZ_OK) {
*((int*)(comp_data)) = ret;
comp_size = sizeof(ret);
std::memcpy(comp_data, &ret, sizeof ret);
comp_size = sizeof ret;
}
is_recording = false;
}
......
......@@ -17,16 +17,13 @@ namespace ygo {
#define MAX_COMP_SIZE 0x2000
struct ReplayHeader {
unsigned int id;
unsigned int version;
unsigned int flag;
unsigned int seed;
unsigned int datasize;
unsigned int start_time;
unsigned char props[8];
ReplayHeader()
: id(0), version(0), flag(0), seed(0), datasize(0), start_time(0), props{ 0 } {}
unsigned int id{};
unsigned int version{};
unsigned int flag{};
unsigned int seed{};
unsigned int datasize{};
unsigned int start_time{};
unsigned char props[8]{};
};
class Replay {
......@@ -59,21 +56,21 @@ public:
char ReadInt8();
void Rewind();
FILE* fp;
FILE* fp{ nullptr };
#ifdef _WIN32
HANDLE recording_fp;
HANDLE recording_fp{ nullptr };
#endif
ReplayHeader pheader;
unsigned char* replay_data;
unsigned char* comp_data;
size_t replay_size;
size_t comp_size;
size_t replay_size{};
size_t comp_size{};
private:
unsigned char* pdata;
bool is_recording;
bool is_replaying;
unsigned char* pdata{ nullptr };
bool is_recording{};
bool is_replaying{};
};
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment