Commit 2b9d65a0 authored by argon.sun's avatar argon.sun

recon

parent 41c2b725
......@@ -511,6 +511,17 @@ void Game::DrawSpec() {
showcarddif += 4;
break;
}
case 100: {
driver->draw2DImage(imageManager.tHand[showcardcode & 0x3], position2di(615, showcarddif));
driver->draw2DImage(imageManager.tHand[(showcardcode >> 16) & 0x3], position2di(615, 540 - showcarddif));
float dy = -0.333333f * showcardp + 10;
showcardp++;
if(showcardp < 30)
showcarddif += (int)dy;
if(showcardp > 60)
showcard = 0;
break;
}
}
}
if(is_attacking) {
......
......@@ -186,9 +186,16 @@ void DuelClient::HandleSTOCPacketLan(char* data, unsigned int len) {
break;
}
case STOC_SELECT_TP: {
mainGame->ShowElement(mainGame->wFTSelect);
break;
}
case STOC_HAND_RESULT: {
STOC_HandResult* pkt = (STOC_HandResult*)pdata;
mainGame->showcard = 100;
mainGame->showcardcode = pkt->res1 + (pkt->res2 << 16);
mainGame->showcarddif = 50;
mainGame->showcardp = 0;
mainGame->WaitFrameSignal(60);
break;
}
case STOC_TP_RESULT: {
......@@ -208,7 +215,7 @@ void DuelClient::HandleSTOCPacketLan(char* data, unsigned int len) {
myswprintf(msgbuf, L"*%ls\n", dataManager.GetSysString(1236));
str.append(msgbuf);
}
str.append(L" == == == == == \n");
str.append(L"==========\n");
myswprintf(msgbuf, L"%ls%d\n", dataManager.GetSysString(1231), pkt->info.start_lp);
str.append(msgbuf);
myswprintf(msgbuf, L"%ls%d\n", dataManager.GetSysString(1232), pkt->info.start_hand);
......@@ -264,6 +271,8 @@ void DuelClient::HandleSTOCPacketLan(char* data, unsigned int len) {
break;
}
case STOC_DUEL_START: {
mainGame->HideElement(mainGame->wHostSingle);
mainGame->WaitFrameSignal(10);
mainGame->gMutex.Lock();
mainGame->dField.Clear();
mainGame->dInfo.isStarted = true;
......
......@@ -219,6 +219,12 @@ bool Game::Initialize() {
btnHand[i] = env->addButton(rect<s32>(10 + 105 * i, 10, 105 + 105 * i, 144), wHand, BUTTON_HAND1 + i, L"");
btnHand[i]->setImage(imageManager.tHand[i]);
}
//
wFTSelect = env->addWindow(rect<s32>(550, 240, 780, 340), false, L"");
wFTSelect->getCloseButton()->setVisible(false);
wFTSelect->setVisible(false);
btnFirst = env->addButton(rect<s32>(10, 30, 220, 55), wFTSelect, BUTTON_FIRST, dataManager.GetSysString(100));
btnSecond = env->addButton(rect<s32>(10, 60, 220, 85), wFTSelect, BUTTON_SECOND, dataManager.GetSysString(101));
//message (310)
wMessage = env->addWindow(rect<s32>(490, 200, 840, 340), false, dataManager.GetSysString(1216));
wMessage->getCloseButton()->setVisible(false);
......
......@@ -207,6 +207,10 @@ public:
//hand
irr::gui::IGUIWindow* wHand;
irr::gui::IGUIButton* btnHand[3];
//
irr::gui::IGUIWindow* wFTSelect;
irr::gui::IGUIButton* btnFirst;
irr::gui::IGUIButton* btnSecond;
//message
irr::gui::IGUIWindow* wMessage;
irr::gui::IGUIStaticText* stMessage;
......@@ -355,6 +359,8 @@ extern Game* mainGame;
#define BUTTON_HAND1 205
#define BUTTON_HAND2 206
#define BUTTON_HAND3 207
#define BUTTON_FIRST 208
#define BUTTON_SECOND 209
#define BUTTON_POS_AU 210
#define BUTTON_POS_AD 211
#define BUTTON_POS_DU 212
......
......@@ -93,8 +93,9 @@ bool MenuHandler::OnEvent(const irr::SEvent& event) {
}
case BUTTON_HS_START: {
if(!mainGame->chkHostSingleReady[0]->isChecked()
|| !!mainGame->chkHostSingleReady[0]->isChecked())
|| !mainGame->chkHostSingleReady[0]->isChecked())
break;
DuelClient::SendPacketToServer(CTOS_HS_START);
break;
}
case BUTTON_HS_CANCEL: {
......@@ -105,6 +106,23 @@ bool MenuHandler::OnEvent(const irr::SEvent& event) {
mainGame->HideElement(mainGame->wHostSingle, false, mainGame->wLanWindow);
break;
}
case BUTTON_HAND1:
case BUTTON_HAND2:
case BUTTON_HAND3: {
mainGame->HideElement(mainGame->wHand);
CTOS_HandResult cshr;
cshr.res = id - BUTTON_HAND1;
DuelClient::SendPacketToServer(CTOS_HAND_RESULT, cshr);
break;
}
case BUTTON_FIRST:
case BUTTON_SECOND: {
mainGame->HideElement(mainGame->wFTSelect);
CTOS_TPResult cstr;
cstr.res = BUTTON_SECOND - id;
DuelClient::SendPacketToServer(CTOS_TP_RESULT, cstr);
break;
}
case BUTTON_DECK_EDIT: {
mainGame->RefreshDeck(mainGame->cbDBDecks);
if(mainGame->cbDBDecks->getSelected() != -1)
......
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