Commit 0b4d753b authored by edo9300's avatar edo9300

Fixes

parent 6aabae32
...@@ -140,8 +140,7 @@ void DuelClient::ClientEvent(bufferevent *bev, short events, void *ctx) { ...@@ -140,8 +140,7 @@ void DuelClient::ClientEvent(bufferevent *bev, short events, void *ctx) {
cscg.info.rule_count = 0; cscg.info.rule_count = 0;
for (int i = 0; i < 14; ++i) { for (int i = 0; i < 14; ++i) {
if (mainGame->chkRules[i]->isChecked() && i != 11) { if (mainGame->chkRules[i]->isChecked() && i != 11) {
cscg.info.rule_count = 2; cscg.info.rule_count++;
break;
} }
} }
SendPacketToServer(CTOS_CREATE_GAME, cscg); SendPacketToServer(CTOS_CREATE_GAME, cscg);
...@@ -337,6 +336,7 @@ void DuelClient::HandleSTOCPacketLan(char* data, unsigned int len) { ...@@ -337,6 +336,7 @@ void DuelClient::HandleSTOCPacketLan(char* data, unsigned int len) {
STOC_JoinGame* pkt = (STOC_JoinGame*)pdata; STOC_JoinGame* pkt = (STOC_JoinGame*)pdata;
std::wstring str; std::wstring str;
std::wstring str2; std::wstring str2;
bool host2 = false;
wchar_t msgbuf[256]; wchar_t msgbuf[256];
myswprintf(msgbuf, L"%ls%ls\n", dataManager.GetSysString(1226), deckManager.GetLFListName(pkt->info.lflist)); myswprintf(msgbuf, L"%ls%ls\n", dataManager.GetSysString(1226), deckManager.GetLFListName(pkt->info.lflist));
str.append(msgbuf); str.append(msgbuf);
...@@ -362,6 +362,7 @@ void DuelClient::HandleSTOCPacketLan(char* data, unsigned int len) { ...@@ -362,6 +362,7 @@ void DuelClient::HandleSTOCPacketLan(char* data, unsigned int len) {
if(pkt->info.destiny_draw==2) { if(pkt->info.destiny_draw==2) {
myswprintf(msgbuf, L"*%ls\n", dataManager.GetSysString(1626)); myswprintf(msgbuf, L"*%ls\n", dataManager.GetSysString(1626));
str.append(msgbuf); str.append(msgbuf);
host2 = true;
} }
if(pkt->info.no_check_deck) { if(pkt->info.no_check_deck) {
myswprintf(msgbuf, L"*%ls\n", dataManager.GetSysString(1229)); myswprintf(msgbuf, L"*%ls\n", dataManager.GetSysString(1229));
...@@ -374,58 +375,72 @@ void DuelClient::HandleSTOCPacketLan(char* data, unsigned int len) { ...@@ -374,58 +375,72 @@ void DuelClient::HandleSTOCPacketLan(char* data, unsigned int len) {
if(pkt->info.sealed == 2) { if(pkt->info.sealed == 2) {
myswprintf(msgbuf, L"*%ls\n", dataManager.GetSysString(1132)); myswprintf(msgbuf, L"*%ls\n", dataManager.GetSysString(1132));
str2.append(msgbuf); str2.append(msgbuf);
host2 = true;
} }
if(pkt->info.booster == 2) { if(pkt->info.booster == 2) {
myswprintf(msgbuf, L"*%ls\n", dataManager.GetSysString(1133)); myswprintf(msgbuf, L"*%ls\n", dataManager.GetSysString(1133));
str2.append(msgbuf); str2.append(msgbuf);
host2 = true;
} }
if(pkt->info.action == 2) { if(pkt->info.action == 2) {
myswprintf(msgbuf, L"*%ls\n", dataManager.GetSysString(1134)); myswprintf(msgbuf, L"*%ls\n", dataManager.GetSysString(1134));
str2.append(msgbuf); str2.append(msgbuf);
host2 = true;
} }
if(pkt->info.speed == 2) { if(pkt->info.speed == 2) {
myswprintf(msgbuf, L"*%ls\n", dataManager.GetSysString(1135)); myswprintf(msgbuf, L"*%ls\n", dataManager.GetSysString(1135));
str2.append(msgbuf); str2.append(msgbuf);
host2 = true;
} }
if(pkt->info.concentration == 2) { if(pkt->info.concentration == 2) {
myswprintf(msgbuf, L"*%ls\n", dataManager.GetSysString(1136)); myswprintf(msgbuf, L"*%ls\n", dataManager.GetSysString(1136));
str2.append(msgbuf); str2.append(msgbuf);
host2 = true;
} }
if(pkt->info.boss == 2) { if(pkt->info.boss == 2) {
myswprintf(msgbuf, L"*%ls\n", dataManager.GetSysString(1137)); myswprintf(msgbuf, L"*%ls\n", dataManager.GetSysString(1137));
str2.append(msgbuf); str2.append(msgbuf);
host2 = true;
} }
if(pkt->info.city == 2) { if(pkt->info.city == 2) {
myswprintf(msgbuf, L"*%ls\n", dataManager.GetSysString(1138)); myswprintf(msgbuf, L"*%ls\n", dataManager.GetSysString(1138));
str2.append(msgbuf); str2.append(msgbuf);
host2 = true;
} }
if(pkt->info.kingdom == 2) { if(pkt->info.kingdom == 2) {
myswprintf(msgbuf, L"*%ls\n", dataManager.GetSysString(1139)); myswprintf(msgbuf, L"*%ls\n", dataManager.GetSysString(1139));
str2.append(msgbuf); str2.append(msgbuf);
host2 = true;
} }
if(pkt->info.rose == 2) { if(pkt->info.rose == 2) {
myswprintf(msgbuf, L"*%ls\n", dataManager.GetSysString(1140)); myswprintf(msgbuf, L"*%ls\n", dataManager.GetSysString(1140));
str2.append(msgbuf); str2.append(msgbuf);
host2 = true;
} }
if(pkt->info.turbo1 == 2) { if(pkt->info.turbo1 == 2) {
myswprintf(msgbuf, L"*%ls\n", dataManager.GetSysString(1141)); myswprintf(msgbuf, L"*%ls\n", dataManager.GetSysString(1141));
str2.append(msgbuf); str2.append(msgbuf);
host2 = true;
} }
if(pkt->info.turbo2 == 2) { if(pkt->info.turbo2 == 2) {
myswprintf(msgbuf, L"*%ls\n", dataManager.GetSysString(1142)); myswprintf(msgbuf, L"*%ls\n", dataManager.GetSysString(1142));
str2.append(msgbuf); str2.append(msgbuf);
host2 = true;
} }
if(pkt->info.doubled == 2) { if(pkt->info.doubled == 2) {
myswprintf(msgbuf, L"*%ls\n", dataManager.GetSysString(1143)); myswprintf(msgbuf, L"*%ls\n", dataManager.GetSysString(1143));
str2.append(msgbuf); str2.append(msgbuf);
host2 = true;
} }
if(pkt->info.command == 2) { if(pkt->info.command == 2) {
myswprintf(msgbuf, L"*%ls\n", dataManager.GetSysString(1144)); myswprintf(msgbuf, L"*%ls\n", dataManager.GetSysString(1144));
str2.append(msgbuf); str2.append(msgbuf);
host2 = true;
} }
if(pkt->info.master == 2) { if(pkt->info.master == 2) {
myswprintf(msgbuf, L"*%ls\n", dataManager.GetSysString(1145)); myswprintf(msgbuf, L"*%ls\n", dataManager.GetSysString(1145));
str2.append(msgbuf); str2.append(msgbuf);
host2 = true;
} }
mainGame->gMutex.Lock(); mainGame->gMutex.Lock();
if(pkt->info.mode == 2) { if(pkt->info.mode == 2) {
...@@ -476,7 +491,7 @@ void DuelClient::HandleSTOCPacketLan(char* data, unsigned int len) { ...@@ -476,7 +491,7 @@ void DuelClient::HandleSTOCPacketLan(char* data, unsigned int len) {
else if (mainGame->wLanWindow->isVisible()) else if (mainGame->wLanWindow->isVisible())
mainGame->HideElement(mainGame->wLanWindow); mainGame->HideElement(mainGame->wLanWindow);
mainGame->ShowElement(mainGame->wHostPrepare); mainGame->ShowElement(mainGame->wHostPrepare);
if(pkt->info.rule_count == 2) if(host2)
mainGame->ShowElement(mainGame->wHostPrepare2); mainGame->ShowElement(mainGame->wHostPrepare2);
mainGame->wChat->setVisible(true); mainGame->wChat->setVisible(true);
mainGame->gMutex.Unlock(); mainGame->gMutex.Unlock();
...@@ -3738,6 +3753,7 @@ void DuelClient::BroadcastReply(evutil_socket_t fd, short events, void * arg) { ...@@ -3738,6 +3753,7 @@ void DuelClient::BroadcastReply(evutil_socket_t fd, short events, void * arg) {
unsigned int ipaddr = bc_addr.sin_addr.s_addr; unsigned int ipaddr = bc_addr.sin_addr.s_addr;
HostPacket* pHP = (HostPacket*)buf; HostPacket* pHP = (HostPacket*)buf;
if(!is_closing && pHP->identifier == NETWORK_SERVER_ID && pHP->version == PRO_VERSION && remotes.find(ipaddr) == remotes.end() ) { if(!is_closing && pHP->identifier == NETWORK_SERVER_ID && pHP->version == PRO_VERSION && remotes.find(ipaddr) == remotes.end() ) {
wchar_t msgbuf[256];
mainGame->gMutex.Lock(); mainGame->gMutex.Lock();
remotes.insert(ipaddr); remotes.insert(ipaddr);
pHP->ipaddr = ipaddr; pHP->ipaddr = ipaddr;
...@@ -3750,6 +3766,9 @@ void DuelClient::BroadcastReply(evutil_socket_t fd, short events, void * arg) { ...@@ -3750,6 +3766,9 @@ void DuelClient::BroadcastReply(evutil_socket_t fd, short events, void * arg) {
hoststr.append(L"]["); hoststr.append(L"][");
hoststr.append(dataManager.GetSysString(pHP->host.mode + 1244)); hoststr.append(dataManager.GetSysString(pHP->host.mode + 1244));
hoststr.append(L"]["); hoststr.append(L"][");
myswprintf(msgbuf, L"MR %d", (pHP->host.duel_rule == 0) ? 3 : pHP->host.duel_rule);
hoststr.append(msgbuf);
hoststr.append(L"][");
if(pHP->host.draw_count == 1 && pHP->host.start_hand == 5 && pHP->host.start_lp == 8000 if(pHP->host.draw_count == 1 && pHP->host.start_hand == 5 && pHP->host.start_lp == 8000
&& !pHP->host.no_check_deck && !pHP->host.no_shuffle_deck && !pHP->host.no_check_deck && !pHP->host.no_shuffle_deck
&& pHP->host.duel_rule == DEFAULT_DUEL_RULE && !pHP->host.destiny_draw && pHP->host.duel_rule == DEFAULT_DUEL_RULE && !pHP->host.destiny_draw
......
...@@ -589,12 +589,12 @@ bool Game::Initialize() { ...@@ -589,12 +589,12 @@ bool Game::Initialize() {
//replay control //replay control
wReplayControl = env->addStaticText(L"", rect<s32>(205, 118, 295, 273), true, false, 0, -1, true); wReplayControl = env->addStaticText(L"", rect<s32>(205, 118, 295, 273), true, false, 0, -1, true);
wReplayControl->setVisible(false); wReplayControl->setVisible(false);
btnReplayStart = env->addButton(rect<s32>(5, 5, 85, 25), wReplayControl, BUTTON_REPLAY_START, dataManager.GetSysString(1343)); btnReplayStart = env->addButton(rect<s32>(5, 5, 85, 25), 0, BUTTON_REPLAY_START, dataManager.GetSysString(1343));
btnReplayPause = env->addButton(rect<s32>(5, 30, 85, 50), wReplayControl, BUTTON_REPLAY_PAUSE, dataManager.GetSysString(1344)); btnReplayPause = env->addButton(rect<s32>(5, 5, 85, 25), 0, BUTTON_REPLAY_PAUSE, dataManager.GetSysString(1344));
btnReplayStep = env->addButton(rect<s32>(5, 55, 85, 75), wReplayControl, BUTTON_REPLAY_STEP, dataManager.GetSysString(1345)); btnReplayStep = env->addButton(rect<s32>(5, 30, 85, 50), 0, BUTTON_REPLAY_STEP, dataManager.GetSysString(1345));
btnReplayUndo = env->addButton(rect<s32>(5, 80, 85, 100), wReplayControl, BUTTON_REPLAY_UNDO, dataManager.GetSysString(1360)); btnReplayUndo = env->addButton(rect<s32>(5, 55, 85, 75), 0, BUTTON_REPLAY_UNDO, dataManager.GetSysString(1360));
btnReplaySwap = env->addButton(rect<s32>(5, 105, 85, 125), wReplayControl, BUTTON_REPLAY_SWAP, dataManager.GetSysString(1346)); btnReplaySwap = env->addButton(rect<s32>(5, 80, 85, 100), 0, BUTTON_REPLAY_SWAP, dataManager.GetSysString(1346));
btnReplayExit = env->addButton(rect<s32>(5, 130, 85, 150), wReplayControl, BUTTON_REPLAY_EXIT, dataManager.GetSysString(1347)); btnReplayExit = env->addButton(rect<s32>(5, 105, 85, 125), 0, BUTTON_REPLAY_EXIT, dataManager.GetSysString(1347));
//chat //chat
wChat = env->addWindow(rect<s32>(305, 615, 1020, 640), false, L""); wChat = env->addWindow(rect<s32>(305, 615, 1020, 640), false, L"");
wChat->getCloseButton()->setVisible(false); wChat->getCloseButton()->setVisible(false);
......
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