Commit 0c7fbe7e authored by wind2009's avatar wind2009

merge 'upstream/master'

parent 98562f65
......@@ -97,7 +97,7 @@ void NetServer::BroadcastEvent(evutil_socket_t fd, short events, void* arg) {
hp.port = server_port;
hp.version = PRO_VERSION;
hp.host = duel_mode->host_info;
BufferIO::CopyWStr(duel_mode->name, hp.name, 20);
BufferIO::CopyCharArray(duel_mode->name, hp.name);
sendto(fd, (const char*)&hp, sizeof(HostPacket), 0, (sockaddr*)&sockTo, sizeof(sockTo));
}
}
......@@ -250,7 +250,7 @@ void NetServer::HandleCTOSPacket(DuelPlayer* dp, unsigned char* data, int len) {
std::memcpy(&packet, pdata, sizeof packet);
auto pkt = &packet;
BufferIO::NullTerminate(pkt->name);
BufferIO::CopyWStr(pkt->name, dp->name, 20);
BufferIO::CopyCharArray(pkt->name, dp->name);
break;
}
case CTOS_CREATE_GAME: {
......@@ -287,8 +287,8 @@ void NetServer::HandleCTOSPacket(DuelPlayer* dp, unsigned char* data, int len) {
duel_mode->host_info = pkt->info;
BufferIO::NullTerminate(pkt->name);
BufferIO::NullTerminate(pkt->pass);
BufferIO::CopyWStr(pkt->name, duel_mode->name, 20);
BufferIO::CopyWStr(pkt->pass, duel_mode->pass, 20);
BufferIO::CopyCharArray(pkt->name, duel_mode->name);
BufferIO::CopyCharArray(pkt->pass, duel_mode->pass);
duel_mode->JoinGame(dp, 0, true);
StartBroadcast();
break;
......
......@@ -102,9 +102,7 @@ void Replay::SaveReplay(const wchar_t* name) {
return;
wchar_t fname[256];
myswprintf(fname, L"./replay/%ls.yrp", name);
char fullname[256]{};
BufferIO::EncodeUTF8(fname, fullname);
FILE* rfp = myfopen(fullname, "wb");
FILE* rfp = myfopen(fname, "wb");
if(!rfp)
return;
fwrite(&pheader, sizeof pheader, 1, rfp);
......@@ -112,14 +110,11 @@ void Replay::SaveReplay(const wchar_t* name) {
fclose(rfp);
}
bool Replay::OpenReplay(const wchar_t* name) {
char fullname[256]{};
BufferIO::EncodeUTF8(name, fullname);
FILE* rfp = myfopen(fullname, "rb");
FILE* rfp = myfopen(name, "rb");
if(!rfp) {
wchar_t fname[256];
myswprintf(fname, L"./replay/%ls", name);
BufferIO::EncodeUTF8(fname, fullname);
rfp = myfopen(fullname, "rb");
rfp = myfopen(fname, "rb");
}
if(!rfp)
return false;
......@@ -136,7 +131,7 @@ bool Replay::OpenReplay(const wchar_t* name) {
if(pheader.flag & REPLAY_COMPRESSED) {
comp_size = fread(comp_data, 1, MAX_COMP_SIZE, rfp);
fclose(rfp);
if ((int)pheader.datasize < 0 && (int)pheader.datasize > MAX_REPLAY_SIZE)
if (pheader.datasize > MAX_REPLAY_SIZE)
return false;
replay_size = pheader.datasize;
if (LzmaUncompress(replay_data, &replay_size, comp_data, &comp_size, pheader.props, 5) != SZ_OK)
......@@ -156,9 +151,7 @@ bool Replay::OpenReplay(const wchar_t* name) {
bool Replay::CheckReplay(const wchar_t* name) {
wchar_t fname[256];
myswprintf(fname, L"./replay/%ls", name);
char fullname[256]{};
BufferIO::EncodeUTF8(fname, fullname);
FILE* rfp = myfopen(fullname, "rb");
FILE* rfp = myfopen(fname, "rb");
if(!rfp)
return false;
ReplayHeader rheader;
......@@ -208,13 +201,13 @@ bool Replay::ReadNextResponse(unsigned char resp[]) {
return false;
return true;
}
void Replay::ReadName(wchar_t* data) {
bool Replay::ReadName(wchar_t* data) {
uint16_t buffer[20]{};
if (!ReadData(buffer, sizeof buffer)) {
data[0] = 0;
return;
return false;
}
BufferIO::CopyWStr(buffer, data, 20);
return true;
}
bool Replay::ReadData(void* data, int length) {
if(!is_replaying)
......
......@@ -48,7 +48,7 @@ public:
static bool DeleteReplay(const wchar_t* name);
static bool RenameReplay(const wchar_t* oldname, const wchar_t* newname);
bool ReadNextResponse(unsigned char resp[]);
void ReadName(wchar_t* data);
bool ReadName(wchar_t* data);
//void ReadHeader(ReplayHeader& header);
bool ReadData(void* data, int length);
template<typename T>
......
Subproject commit 1df6818ead44e0d01765c60a1ff93fbb10ad9037
Subproject commit d3a70f2e0a08bf2ee01d8809eef538cd3c546ca5
Subproject commit 8af8a510cc48c17c1e147451caa5ba76f750c784
Subproject commit 32e0564fd4c968a41ae62e3d5d71bc86b9dcca09
......@@ -668,7 +668,7 @@
!counter 0x68 指示物(图腾柱)
!counter 0x69 指示物(吠陀-优婆尼沙昙)
!counter 0x6a 响鸣指示物
!counter 0x6b指示物
!counter 0x6b指示物
!counter 0x6c 访问指示物
!counter 0x6d 祝台指示物
#setnames, using tab for comment
......@@ -714,7 +714,8 @@
!setname 0x1017 同调士 シンクロン
!setname 0x2017 同调龙 シンクロ・ドラゴン
!setname 0x18 云魔物 雲魔物
!setname 0x19 剑斗兽 剣闘獣
!setname 0x19 剑斗 グラディアル
!setname 0x1019 剑斗兽 剣闘獣
!setname 0x1a 黑蝎 黒蠍
!setname 0x1b 幻兽 幻獣
!setname 0x101b 幻兽机 幻獣機
......@@ -1209,7 +1210,8 @@
!setname 0x198 维萨斯 ヴィサス
!setname 0x199 反击 カウンター
!setname 0x19a 吠陀 ヴェーダ
!setname 0x19b 迪亚贝尔斯塔尔 ディアベルスター
!setname 0x19b 迪亚贝尔 ディアベル
!setname 0x119b 迪亚贝尔斯塔尔 ディアベルスター
!setname 0x19c 蛇眼 スネークアイ
!setname 0x19d 荷鲁斯 ホルス
!setname 0x119d 荷鲁斯之黑炎龙 ホルスの黒炎竜
......@@ -1219,7 +1221,7 @@
!setname 0x1a1 莫忘 メメント
!setname 0x1a2 百夫长骑士 センチュリオン
!setname 0x1a3 异响鸣 ヴァルモニカ
!setname 0x1a4 蒂斯蒂娜 Tistina
!setname 0x1a4 提斯蒂娜 ティスティナ
!setname 0x1a5 于贝尔 ユベル
!setname 0x1a6 肃声 粛声
!setname 0x1a7 白斗气 ホワイト・オーラ
......@@ -1227,8 +1229,8 @@
!setname 0x1a9 灿幻 燦幻
!setname 0x1aa 天杯龙 天盃龍
!setname 0x1ab 蕾祸 蕾禍
!setname 0x1ac 飞龙炎 Salamandra
!setname 0x1adAshened
!setname 0x1ac 飞龙炎 サラマンドラ
!setname 0x1ad灭 灰滅
!setname 0x1ae 千年 千年/ミレニアム
!setname 0x1af 艾格佐德 エグゾード
!setname 0x1b0 刻魔 デモンスミス
......@@ -1249,3 +1251,5 @@
!setname 0x1be 雷火沸动 ライゼオル
!setname 0x1bf 码丽丝 MLICE
!setname 0x1c0 龙华 竜華
!setname 0x1c1 阿耳戈视☆将星 ARGS
!setname 0x1c2 喷水引擎 アクア・ジェット
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