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

recon

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