Commit 7cb176f8 authored by nanahira's avatar nanahira

Merge branch 'master' into side

parents d218c8e4 00d60ae3
No preview for this file type
......@@ -307,10 +307,10 @@ void ClientField::UpdateCard(int controler, int location, int sequence, char* da
ClientCard* pcard = GetCard(controler, location, sequence);
if(pcard)
pcard->UpdateInfo(data + 4);
RefreshCardCountDisplay();
}
void ClientField::UpdateFieldCard(int controler, int location, char* data) {
std::vector<ClientCard*>* lst = 0;
std::vector<ClientCard*>::iterator cit;
switch(location) {
case LOCATION_DECK:
lst = &deck[controler];
......@@ -337,28 +337,28 @@ void ClientField::UpdateFieldCard(int controler, int location, char* data) {
if(!lst)
return;
int len;
for(cit = lst->begin(); cit != lst->end(); ++cit) {
for(auto cit = lst->begin(); cit != lst->end(); ++cit) {
len = BufferIO::ReadInt32(data);
if(len > 8)
(*cit)->UpdateInfo(data);
data += len - 4;
}
RefreshCardCountDisplay();
}
void ClientField::ClearCommandFlag() {
std::vector<ClientCard*>::iterator cit;
for(cit = activatable_cards.begin(); cit != activatable_cards.end(); ++cit)
for(auto cit = activatable_cards.begin(); cit != activatable_cards.end(); ++cit)
(*cit)->cmdFlag = 0;
for(cit = summonable_cards.begin(); cit != summonable_cards.end(); ++cit)
for(auto cit = summonable_cards.begin(); cit != summonable_cards.end(); ++cit)
(*cit)->cmdFlag = 0;
for(cit = spsummonable_cards.begin(); cit != spsummonable_cards.end(); ++cit)
for(auto cit = spsummonable_cards.begin(); cit != spsummonable_cards.end(); ++cit)
(*cit)->cmdFlag = 0;
for(cit = msetable_cards.begin(); cit != msetable_cards.end(); ++cit)
for(auto cit = msetable_cards.begin(); cit != msetable_cards.end(); ++cit)
(*cit)->cmdFlag = 0;
for(cit = ssetable_cards.begin(); cit != ssetable_cards.end(); ++cit)
for(auto cit = ssetable_cards.begin(); cit != ssetable_cards.end(); ++cit)
(*cit)->cmdFlag = 0;
for(cit = reposable_cards.begin(); cit != reposable_cards.end(); ++cit)
for(auto cit = reposable_cards.begin(); cit != reposable_cards.end(); ++cit)
(*cit)->cmdFlag = 0;
for(cit = attackable_cards.begin(); cit != attackable_cards.end(); ++cit)
for(auto cit = attackable_cards.begin(); cit != attackable_cards.end(); ++cit)
(*cit)->cmdFlag = 0;
conti_cards.clear();
deck_act = false;
......@@ -370,15 +370,13 @@ void ClientField::ClearCommandFlag() {
conti_act = false;
}
void ClientField::ClearSelect() {
std::vector<ClientCard*>::iterator cit;
for(cit = selectable_cards.begin(); cit != selectable_cards.end(); ++cit) {
for(auto cit = selectable_cards.begin(); cit != selectable_cards.end(); ++cit) {
(*cit)->is_selectable = false;
(*cit)->is_selected = false;
}
}
void ClientField::ClearChainSelect() {
std::vector<ClientCard*>::iterator cit;
for(cit = activatable_cards.begin(); cit != activatable_cards.end(); ++cit) {
for(auto cit = activatable_cards.begin(); cit != activatable_cards.end(); ++cit) {
(*cit)->cmdFlag = 0;
(*cit)->chain_code = 0;
(*cit)->is_selectable = false;
......@@ -664,6 +662,7 @@ void ClientField::ReplaySwap() {
std::swap(mainGame->dInfo.start_lp[0], mainGame->dInfo.start_lp[1]);
std::swap(mainGame->dInfo.hostname, mainGame->dInfo.clientname);
std::swap(mainGame->dInfo.hostname_tag, mainGame->dInfo.clientname_tag);
RefreshCardCountDisplay();
for(auto chit = chains.begin(); chit != chains.end(); ++chit) {
chit->controler = 1 - chit->controler;
GetChainLocation(chit->controler, chit->location, chit->sequence, &chit->chain_pos);
......@@ -1467,14 +1466,21 @@ void ClientField::UpdateDeclarableCode(bool enter) {
UpdateDeclarableCodeOpcode(enter);
}
void ClientField::RefreshCardCountDisplay() {
ClientCard* pcard;
for(int p = 0; p < 2; ++p) {
mainGame->dInfo.card_count[p] = hand[p].size();
for(auto it = mzone[p].begin(); it != mzone[p].end(); ++it) {
if(*it)
mainGame->dInfo.card_count[p]++;
pcard = *it;
if(pcard) {
if(pcard->type & TYPE_LINK && pcard->link)
mainGame->dInfo.card_count[p] += pcard->link;
else
mainGame->dInfo.card_count[p]++;
}
}
for(auto it = szone[p].begin(); it != szone[p].end(); ++it) {
if(*it)
pcard = *it;
if(pcard)
mainGame->dInfo.card_count[p]++;
}
myswprintf(mainGame->dInfo.str_card_count[p], L"%d", mainGame->dInfo.card_count[p]);
......
......@@ -700,8 +700,7 @@ void Game::DrawStatus(ClientCard* pcard, int x1, int y1, int x2, int y2) {
}
void Game::DrawGUI() {
if(imageLoading.size()) {
std::map<irr::gui::CGUIImageButton*, int>::iterator mit;
for(mit = imageLoading.begin(); mit != imageLoading.end(); ++mit)
for(auto mit = imageLoading.begin(); mit != imageLoading.end(); ++mit)
mit->first->setImage(imageManager.GetTexture(mit->second));
imageLoading.clear();
}
......
......@@ -2332,7 +2332,6 @@ int DuelClient::ClientAnalyze(char * msg, unsigned int len) {
return true;
}
case MSG_SHUFFLE_SET_CARD: {
std::vector<ClientCard*>::iterator cit;
std::vector<ClientCard*>* lst = 0;
int loc = BufferIO::ReadInt8(pbuf);
int count = BufferIO::ReadInt8(pbuf);
......@@ -2377,7 +2376,7 @@ int DuelClient::ClientAnalyze(char * msg, unsigned int len) {
soundManager.PlaySoundEffect(SOUND_SHUFFLE);
for (int i = 0; i < count; ++i) {
mainGame->dField.MoveCard(mc[i], 10);
for (cit = mc[i]->overlayed.begin(); cit != mc[i]->overlayed.end(); ++cit)
for (auto cit = mc[i]->overlayed.begin(); cit != mc[i]->overlayed.end(); ++cit)
mainGame->dField.MoveCard(*cit, 10);
}
mainGame->WaitFrameSignal(11);
......@@ -3734,6 +3733,7 @@ int DuelClient::ClientAnalyze(char * msg, unsigned int len) {
}
mainGame->WaitFrameSignal(5);
}
mainGame->dField.RefreshCardCountDisplay();
break;
}
case MSG_RELOAD_FIELD: {
......
......@@ -1540,7 +1540,7 @@ bool ClientField::OnEvent(const irr::SEvent& event) {
str.append(formatBuffer);
}
}
for(std::map<int, int>::iterator ctit = mcard->counters.begin(); ctit != mcard->counters.end(); ++ctit) {
for(auto ctit = mcard->counters.begin(); ctit != mcard->counters.end(); ++ctit) {
myswprintf(formatBuffer, L"\n[%ls]: %d", dataManager.GetCounterName(ctit->first), ctit->second);
str.append(formatBuffer);
}
......
......@@ -21,7 +21,7 @@
#include <io.h>
#endif
unsigned short PRO_VERSION = 0x1343;
unsigned short PRO_VERSION = 0x1344;
namespace ygo {
......
1 ICON "ygopro.ico"
1 VERSIONINFO
FILEVERSION 1, 0, 34, 3
PRODUCTVERSION 1, 0, 34, 3
FILEVERSION 1, 0, 34, 4
PRODUCTVERSION 1, 0, 34, 4
FILEOS 0x4
FILETYPE 0x1
......@@ -16,8 +16,8 @@ VALUE "InternalName", "KoishiPro"
VALUE "LegalCopyright", "Copyright (C) 2018 Nanahira"
VALUE "OriginalFilename", "ygopro.exe"
VALUE "ProductName", "KoishiPro"
VALUE "FileVersion", "1.034.3.Koishi"
VALUE "ProductVersion", "1.034.3.Koishi"
VALUE "FileVersion", "1.034.4.Koishi"
VALUE "ProductVersion", "1.034.4.Koishi"
END
END
BLOCK "VarFileInfo"
......
Subproject commit ace33ce35cf778cb38fb187148c4ed58d63f8460
Subproject commit 77b486a913a2552af9e74ec69189b66930bfbaac
......@@ -472,6 +472,8 @@
!victory 0x1a 「魂之接力」效果胜利
!victory 0x1b 「鬼计惰天使」效果胜利
!victory 0x1c 「幻煌龙的天涡」效果胜利
!victory 0x1d 「方程式运动员胜利团队」效果胜利
!victory 0x1e 「飞行象」效果胜利
!victory 0x20 由于「%ls」的效果获得比赛胜利
#counters
!counter 0x1 魔力指示物
......
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