Commit f16f9eb0 authored by nanahira's avatar nanahira

merge

parents f6e362ab dcf1c266
......@@ -12,11 +12,9 @@
#include <ws2tcpip.h>
#ifdef _MSC_VER
#define myswprintf _swprintf
#define mywcsncasecmp _wcsnicmp
#define mystrncasecmp _strnicmp
#else
#define myswprintf swprintf
#define mywcsncasecmp wcsncasecmp
#define mystrncasecmp strncasecmp
#endif
......@@ -44,7 +42,6 @@
#define SOCKET_ERRNO() (errno)
#include <wchar.h>
#define myswprintf(buf, fmt, ...) swprintf(buf, 4096, fmt, ##__VA_ARGS__)
#define mywcsncasecmp wcsncasecmp
#define mystrncasecmp strncasecmp
inline int _wtoi(const wchar_t * s) {
......@@ -53,6 +50,11 @@ inline int _wtoi(const wchar_t * s) {
}
#endif
template<size_t N, typename... TR>
inline int myswprintf(wchar_t(&buf)[N], const wchar_t* fmt, TR... args) {
return swprintf(buf, N, fmt, args...);
}
#ifndef YGOPRO_SERVER_MODE
#include <irrlicht.h>
#ifdef __APPLE__
......
......@@ -156,6 +156,9 @@ bool ReplayMode::StartDuel() {
cur_replay.ReadName(mainGame->dInfo.clientname);
}
pduel = create_duel(rnd.rand());
#ifdef YGOPRO_SERVER_MODE
preload_script(pduel, "./script/special.lua", 0);
#endif
int start_lp = cur_replay.ReadInt32();
int start_hand = cur_replay.ReadInt32();
int draw_count = cur_replay.ReadInt32();
......
......@@ -534,6 +534,9 @@ void SingleDuel::TPResult(DuelPlayer* dp, unsigned char tp) {
set_message_handler((message_handler)SingleDuel::MessageHandler);
rnd.reset(seed);
pduel = create_duel(rnd.rand());
#ifdef YGOPRO_SERVER_MODE
preload_script(pduel, "./script/special.lua", 0);
#endif
set_player_info(pduel, 0, host_info.start_lp, host_info.start_hand, host_info.draw_count);
set_player_info(pduel, 1, host_info.start_lp, host_info.start_hand, host_info.draw_count);
int opt = (int)host_info.duel_rule << 16;
......@@ -1805,7 +1808,7 @@ void SingleDuel::RequestField(DuelPlayer* dp) {
BufferIO::WriteInt16(pbuf_p, phase);
NetServer::SendBufferToPlayer(dp, STOC_GAME_MSG, phasebuf, 3);
char query_buffer[256];
char query_buffer[1024];
int length = query_field_info(pduel, (unsigned char*)query_buffer);
NetServer::SendBufferToPlayer(dp, STOC_GAME_MSG, query_buffer, length);
RefreshMzone(1 - player, 0xffdfff, 0, dp);
......@@ -1851,7 +1854,11 @@ void SingleDuel::RefreshMzone(int player, int flag, int use_cache, DuelPlayer* d
void SingleDuel::RefreshMzone(int player, int flag, int use_cache)
#endif //YGOPRO_SERVER_MODE
{
#ifdef YGOPRO_SERVER_MODE
char query_buffer[0x20000];
#else
char query_buffer[0x2000];
#endif
char* qbuf = query_buffer;
BufferIO::WriteInt8(qbuf, MSG_UPDATE_DATA);
BufferIO::WriteInt8(qbuf, player);
......@@ -1895,7 +1902,11 @@ void SingleDuel::RefreshSzone(int player, int flag, int use_cache, DuelPlayer* d
void SingleDuel::RefreshSzone(int player, int flag, int use_cache)
#endif //YGOPRO_SERVER_MODE
{
#ifdef YGOPRO_SERVER_MODE
char query_buffer[0x20000];
#else
char query_buffer[0x2000];
#endif
char* qbuf = query_buffer;
BufferIO::WriteInt8(qbuf, MSG_UPDATE_DATA);
BufferIO::WriteInt8(qbuf, player);
......@@ -1939,7 +1950,11 @@ void SingleDuel::RefreshHand(int player, int flag, int use_cache, DuelPlayer* dp
void SingleDuel::RefreshHand(int player, int flag, int use_cache)
#endif //YGOPRO_SERVER_MODE
{
#ifdef YGOPRO_SERVER_MODE
char query_buffer[0x20000];
#else
char query_buffer[0x2000];
#endif
char* qbuf = query_buffer;
BufferIO::WriteInt8(qbuf, MSG_UPDATE_DATA);
BufferIO::WriteInt8(qbuf, player);
......@@ -1987,7 +2002,11 @@ void SingleDuel::RefreshGrave(int player, int flag, int use_cache, DuelPlayer* d
void SingleDuel::RefreshGrave(int player, int flag, int use_cache)
#endif //YGOPRO_SERVER_MODE
{
#ifdef YGOPRO_SERVER_MODE
char query_buffer[0x20000];
#else
char query_buffer[0x2000];
#endif
char* qbuf = query_buffer;
BufferIO::WriteInt8(qbuf, MSG_UPDATE_DATA);
BufferIO::WriteInt8(qbuf, player);
......@@ -2017,7 +2036,11 @@ void SingleDuel::RefreshExtra(int player, int flag, int use_cache, DuelPlayer* d
void SingleDuel::RefreshExtra(int player, int flag, int use_cache)
#endif //YGOPRO_SERVER_MODE
{
#ifdef YGOPRO_SERVER_MODE
char query_buffer[0x20000];
#else
char query_buffer[0x2000];
#endif
char* qbuf = query_buffer;
BufferIO::WriteInt8(qbuf, MSG_UPDATE_DATA);
BufferIO::WriteInt8(qbuf, player);
......@@ -2051,7 +2074,7 @@ if(!dp || dp == players[player])
}
#ifdef YGOPRO_SERVER_MODE
void SingleDuel::RefreshRemoved(int player, int flag, int use_cache, DuelPlayer* dp) {
char query_buffer[0x2000];
char query_buffer[0x20000];
char* qbuf = query_buffer;
BufferIO::WriteInt8(qbuf, MSG_UPDATE_DATA);
BufferIO::WriteInt8(qbuf, player);
......
......@@ -511,6 +511,9 @@ void TagDuel::TPResult(DuelPlayer* dp, unsigned char tp) {
set_message_handler((message_handler)TagDuel::MessageHandler);
rnd.reset(seed);
pduel = create_duel(rnd.rand());
#ifdef YGOPRO_SERVER_MODE
preload_script(pduel, "./script/special.lua", 0);
#endif
set_player_info(pduel, 0, host_info.start_lp, host_info.start_hand, host_info.draw_count);
set_player_info(pduel, 1, host_info.start_lp, host_info.start_hand, host_info.draw_count);
int opt = (int)host_info.duel_rule << 16;
......@@ -1908,7 +1911,7 @@ void TagDuel::RequestField(DuelPlayer* dp) {
BufferIO::WriteInt16(pbuf_p, phase);
NetServer::SendBufferToPlayer(dp, STOC_GAME_MSG, phasebuf, 3);
char query_buffer[256];
char query_buffer[1024];
int length = query_field_info(pduel, (unsigned char*)query_buffer);
NetServer::SendBufferToPlayer(dp, STOC_GAME_MSG, query_buffer, length);
RefreshMzone(1 - player, 0xffdfff, 0, dp);
......@@ -1954,7 +1957,11 @@ void TagDuel::RefreshMzone(int player, int flag, int use_cache, DuelPlayer* dp)
void TagDuel::RefreshMzone(int player, int flag, int use_cache)
#endif //YGOPRO_SERVER_MODE
{
char query_buffer[0x2000];
#ifdef YGOPRO_SERVER_MODE
char query_buffer[0x40000];
#else
char query_buffer[0x4000];
#endif
char* qbuf = query_buffer;
BufferIO::WriteInt8(qbuf, MSG_UPDATE_DATA);
BufferIO::WriteInt8(qbuf, player);
......@@ -2008,7 +2015,11 @@ void TagDuel::RefreshSzone(int player, int flag, int use_cache, DuelPlayer* dp)
void TagDuel::RefreshSzone(int player, int flag, int use_cache)
#endif //YGOPRO_SERVER_MODE
{
char query_buffer[0x2000];
#ifdef YGOPRO_SERVER_MODE
char query_buffer[0x40000];
#else
char query_buffer[0x4000];
#endif
char* qbuf = query_buffer;
BufferIO::WriteInt8(qbuf, MSG_UPDATE_DATA);
BufferIO::WriteInt8(qbuf, player);
......@@ -2062,7 +2073,11 @@ void TagDuel::RefreshHand(int player, int flag, int use_cache, DuelPlayer* dp)
void TagDuel::RefreshHand(int player, int flag, int use_cache)
#endif //YGOPRO_SERVER_MODE
{
char query_buffer[0x2000];
#ifdef YGOPRO_SERVER_MODE
char query_buffer[0x40000];
#else
char query_buffer[0x4000];
#endif
char* qbuf = query_buffer;
BufferIO::WriteInt8(qbuf, MSG_UPDATE_DATA);
BufferIO::WriteInt8(qbuf, player);
......@@ -2112,7 +2127,11 @@ void TagDuel::RefreshGrave(int player, int flag, int use_cache, DuelPlayer* dp)
void TagDuel::RefreshGrave(int player, int flag, int use_cache)
#endif //YGOPRO_SERVER_MODE
{
char query_buffer[0x2000];
#ifdef YGOPRO_SERVER_MODE
char query_buffer[0x40000];
#else
char query_buffer[0x4000];
#endif
char* qbuf = query_buffer;
BufferIO::WriteInt8(qbuf, MSG_UPDATE_DATA);
BufferIO::WriteInt8(qbuf, player);
......@@ -2142,7 +2161,11 @@ void TagDuel::RefreshExtra(int player, int flag, int use_cache, DuelPlayer* dp)
void TagDuel::RefreshExtra(int player, int flag, int use_cache)
#endif //YGOPRO_SERVER_MODE
{
char query_buffer[0x2000];
#ifdef YGOPRO_SERVER_MODE
char query_buffer[0x40000];
#else
char query_buffer[0x4000];
#endif
char* qbuf = query_buffer;
BufferIO::WriteInt8(qbuf, MSG_UPDATE_DATA);
BufferIO::WriteInt8(qbuf, player);
......@@ -2178,7 +2201,7 @@ if(!dp || dp == cur_player[player])
}
#ifdef YGOPRO_SERVER_MODE
void TagDuel::RefreshRemoved(int player, int flag, int use_cache, DuelPlayer* dp) {
char query_buffer[0x2000];
char query_buffer[0x40000];
char* qbuf = query_buffer;
BufferIO::WriteInt8(qbuf, MSG_UPDATE_DATA);
BufferIO::WriteInt8(qbuf, player);
......@@ -2214,7 +2237,7 @@ void TagDuel::RefreshRemoved(int player, int flag, int use_cache, DuelPlayer* dp
}
#endif
void TagDuel::RefreshSingle(int player, int location, int sequence, int flag) {
char query_buffer[0x2000];
char query_buffer[0x4000];
char* qbuf = query_buffer;
BufferIO::WriteInt8(qbuf, MSG_UPDATE_CARD);
BufferIO::WriteInt8(qbuf, player);
......
Subproject commit 74dfabcae52037dc09e5340b76985c90d45d5973
Subproject commit e4cd79bf91cc524451fbaae30009b3740966b1bb
......@@ -25,7 +25,7 @@ solution "ygo"
configuration "vs*"
flags "EnableSSE2"
buildoptions { "-wd4996" }
buildoptions { "-wd4996", "/utf-8" }
defines { "_CRT_SECURE_NO_WARNINGS" }
configuration "not vs*"
......
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