Commit a10fec6a authored by nanahira's avatar nanahira

unfinished

parent 06154740
...@@ -94,6 +94,7 @@ void ClientField::Clear() { ...@@ -94,6 +94,7 @@ void ClientField::Clear() {
pzone_act[1] = false; pzone_act[1] = false;
conti_act = false; conti_act = false;
deck_reversed = false; deck_reversed = false;
RefreshCardCountDisplay();
} }
void ClientField::Initial(int player, int deckc, int extrac) { void ClientField::Initial(int player, int deckc, int extrac) {
ClientCard* pcard; ClientCard* pcard;
...@@ -117,6 +118,7 @@ void ClientField::Initial(int player, int deckc, int extrac) { ...@@ -117,6 +118,7 @@ void ClientField::Initial(int player, int deckc, int extrac) {
pcard->position = POS_FACEDOWN_DEFENSE; pcard->position = POS_FACEDOWN_DEFENSE;
GetCardLocation(pcard, &pcard->curPos, &pcard->curRot, true); GetCardLocation(pcard, &pcard->curPos, &pcard->curRot, true);
} }
RefreshCardCountDisplay();
} }
ClientCard* ClientField::GetCard(int controler, int location, int sequence, int sub_seq) { ClientCard* ClientField::GetCard(int controler, int location, int sequence, int sub_seq) {
std::vector<ClientCard*>* lst = 0; std::vector<ClientCard*>* lst = 0;
...@@ -226,6 +228,7 @@ void ClientField::AddCard(ClientCard* pcard, int controler, int location, int se ...@@ -226,6 +228,7 @@ void ClientField::AddCard(ClientCard* pcard, int controler, int location, int se
break; break;
} }
} }
RefreshCardCountDisplay();
} }
ClientCard* ClientField::RemoveCard(int controler, int location, int sequence) { ClientCard* ClientField::RemoveCard(int controler, int location, int sequence) {
ClientCard* pcard = 0; ClientCard* pcard = 0;
...@@ -297,6 +300,7 @@ ClientCard* ClientField::RemoveCard(int controler, int location, int sequence) { ...@@ -297,6 +300,7 @@ ClientCard* ClientField::RemoveCard(int controler, int location, int sequence) {
} }
} }
pcard->location = 0; pcard->location = 0;
RefreshCardCountDisplay();
return pcard; return pcard;
} }
void ClientField::UpdateCard(int controler, int location, int sequence, char* data) { void ClientField::UpdateCard(int controler, int location, int sequence, char* data) {
...@@ -1462,4 +1466,29 @@ void ClientField::UpdateDeclarableCode(bool enter) { ...@@ -1462,4 +1466,29 @@ void ClientField::UpdateDeclarableCode(bool enter) {
else else
UpdateDeclarableCodeOpcode(enter); UpdateDeclarableCodeOpcode(enter);
} }
void ClientField::RefreshCardCountDisplay() {
for(int p = 0; p < 2; ++p) {
mainGame->dInfo.card_count[p] = mzone[p].size() + szone[p].size() + hand[p].size();
myswprintf(mainGame->dInfo.str_card_count[p], L"%d", mainGame->dInfo.card_count[p]);
}
if(mainGame->dInfo.card_count[0] > mainGame->dInfo.card_count[1]) {
mainGame->dInfo.card_adv_color[0] = 0xffffff00;
mainGame->dInfo.card_adv_color[1] = 0xffff0000;
mainGame->dInfo.card_adv = mainGame->dInfo.card_count[0] - mainGame->dInfo.card_count[1];
myswprintf(mainGame->dInfo.str_card_adv[0], L"+%d", mainGame->dInfo.card_adv);
myswprintf(mainGame->dInfo.str_card_adv[1], L"-%d", mainGame->dInfo.card_adv);
} else if(mainGame->dInfo.card_count[1] > mainGame->dInfo.card_count[0]) {
mainGame->dInfo.card_adv_color[1] = 0xffffff00;
mainGame->dInfo.card_adv_color[0] = 0xffff0000;
mainGame->dInfo.card_adv = mainGame->dInfo.card_count[1] - mainGame->dInfo.card_count[0];
myswprintf(mainGame->dInfo.str_card_adv[1], L"+%d", mainGame->dInfo.card_adv);
myswprintf(mainGame->dInfo.str_card_adv[0], L"-%d", mainGame->dInfo.card_adv);
} else {
mainGame->dInfo.card_adv_color[0] = 0xffffffff;
mainGame->dInfo.card_adv_color[1] = 0xffffffff;
mainGame->dInfo.card_adv = 0;
myswprintf(mainGame->dInfo.str_card_adv[0], L"+%d", mainGame->dInfo.card_adv);
myswprintf(mainGame->dInfo.str_card_adv[1], L"+%d", mainGame->dInfo.card_adv);
}
}
} }
...@@ -115,6 +115,8 @@ public: ...@@ -115,6 +115,8 @@ public:
void UpdateDeclarableCodeOpcode(bool enter); void UpdateDeclarableCodeOpcode(bool enter);
void UpdateDeclarableCode(bool enter); void UpdateDeclarableCode(bool enter);
void RefreshCardCountDisplay();
irr::gui::IGUIElement* panel; irr::gui::IGUIElement* panel;
std::vector<int> ancard; std::vector<int> ancard;
int hovered_controler; int hovered_controler;
......
...@@ -546,6 +546,12 @@ void Game::DrawMisc() { ...@@ -546,6 +546,12 @@ void Game::DrawMisc() {
} }
DrawShadowText(numFont, dInfo.strLP[0], Resize(330, 12, 631, 30), Resize(0, 1, 2, 0), 0xffffff00, 0xff000000, true, false, 0); DrawShadowText(numFont, dInfo.strLP[0], Resize(330, 12, 631, 30), Resize(0, 1, 2, 0), 0xffffff00, 0xff000000, true, false, 0);
DrawShadowText(numFont, dInfo.strLP[1], Resize(691, 12, 992, 30), Resize(0, 1, 2, 0), 0xffffff00, 0xff000000, true, false, 0); DrawShadowText(numFont, dInfo.strLP[1], Resize(691, 12, 992, 30), Resize(0, 1, 2, 0), 0xffffff00, 0xff000000, true, false, 0);
DrawShadowText(numFont, dInfo.str_card_adv[0], Resize(455, 52, 490, 71), Resize(0, 1, 2, 0), dInfo.card_adv_color[0], 0xff000000, true, false, 0);
DrawShadowText(numFont, dInfo.str_card_count[0], Resize(490, 52, 525, 71), Resize(0, 1, 2, 0), 0xffffffff, 0xff000000, true, false, 0);
DrawShadowText(numFont, dInfo.str_card_count[1], Resize(795, 52, 830, 71), Resize(0, 1, 2, 0), 0xffffffff, 0xff000000, true, false, 0);
DrawShadowText(numFont, dInfo.str_card_adv[1], Resize(830, 52, 865, 71), Resize(0, 1, 2, 0), dInfo.card_adv_color[1], 0xff000000, true, false, 0);
recti p1size = Resize(335, 31, 629, 50); recti p1size = Resize(335, 31, 629, 50);
recti p2size = Resize(986, 31, 986, 50); recti p2size = Resize(986, 31, 986, 50);
......
...@@ -69,6 +69,8 @@ struct DuelInfo { ...@@ -69,6 +69,8 @@ struct DuelInfo {
bool tag_player[2]; bool tag_player[2];
int lp[2]; int lp[2];
int start_lp[2]; int start_lp[2];
int card_count[2];
int card_adv;
int duel_rule; int duel_rule;
int turn; int turn;
short curMsg; short curMsg;
...@@ -85,6 +87,9 @@ struct DuelInfo { ...@@ -85,6 +87,9 @@ struct DuelInfo {
wchar_t str_time_limit[16]; wchar_t str_time_limit[16];
wchar_t str_time_left[2][16]; wchar_t str_time_left[2][16];
video::SColor time_color[2]; video::SColor time_color[2];
wchar_t str_card_adv[2][16];
wchar_t str_card_count[2][16];
video::SColor card_adv_color[2];
bool isReplaySwapped; bool isReplaySwapped;
}; };
......
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