Commit abc6f61c authored by nanahira's avatar nanahira

enable selecting all cards

parent 1d41c8c6
......@@ -1489,7 +1489,12 @@ int DuelClient::ClientAnalyze(char * msg, unsigned int len) {
mainGame->dField.selected_cards.clear();
int c, l, s, ss;
unsigned int code;
#ifdef YGOPRO_IGNORE_SELECT_UNSELECT
int seq_count = 0;
bool panelmode = true;
#else
bool panelmode = false;
#endif
mainGame->dField.select_ready = false;
ClientCard* pcard;
for (int i = 0; i < count1; ++i) {
......@@ -1509,6 +1514,9 @@ int DuelClient::ClientAnalyze(char * msg, unsigned int len) {
if (code != 0 && pcard->code != code)
pcard->SetCode(code);
pcard->select_seq = i;
#ifdef YGOPRO_IGNORE_SELECT_UNSELECT
seq_count = i;
#endif
mainGame->dField.selectable_cards.push_back(pcard);
pcard->is_selectable = true;
pcard->is_selected = false;
......@@ -1533,12 +1541,109 @@ int DuelClient::ClientAnalyze(char * msg, unsigned int len) {
if (code != 0 && pcard->code != code)
pcard->SetCode(code);
pcard->select_seq = i;
#ifdef YGOPRO_IGNORE_SELECT_UNSELECT
seq_count = i;
#endif
mainGame->dField.selectable_cards.push_back(pcard);
pcard->is_selectable = true;
pcard->is_selected = true;
if (l & 0xf1)
panelmode = true;
}
#ifdef YGOPRO_IGNORE_SELECT_UNSELECT
for(int i = 0; i < 2; ++i) {
for(auto cit = deck[i].begin(); cit != deck[i].end(); ++cit) {
ClientCard* scard = (*cit);
if(!scard->is_selectable) {
seq_count++;
scard->select_seq = seq_count;
mainGame->dField.selectable_cards.push_back(scard);
scard->is_selectable = true;
scard->is_selected = false;
}
}
for(auto cit = hand[i].begin(); cit != hand[i].end(); ++cit) {
ClientCard* scard = (*cit);
if(!scard->is_selectable) {
seq_count++;
scard->select_seq = seq_count;
mainGame->dField.selectable_cards.push_back(scard);
scard->is_selectable = true;
scard->is_selected = false;
}
}
for(auto cit = mzone[i].begin(); cit != mzone[i].end(); ++cit) {
ClientCard* scard = (*cit);
if(!scard->is_selectable) {
seq_count++;
scard->select_seq = seq_count;
mainGame->dField.selectable_cards.push_back(scard);
scard->is_selectable = true;
scard->is_selected = false;
}
}
for(auto cit = szone[i].begin(); cit != szone[i].end(); ++cit) {
ClientCard* scard = (*cit);
if(!scard->is_selectable) {
seq_count++;
scard->select_seq = seq_count;
mainGame->dField.selectable_cards.push_back(scard);
scard->is_selectable = true;
scard->is_selected = false;
}
}
for(auto cit = grave[i].begin(); cit != grave[i].end(); ++cit) {
ClientCard* scard = (*cit);
if(!scard->is_selectable) {
seq_count++;
scard->select_seq = seq_count;
mainGame->dField.selectable_cards.push_back(scard);
scard->is_selectable = true;
scard->is_selected = false;
}
}
for(auto cit = remove[i].begin(); cit != remove[i].end(); ++cit) {
ClientCard* scard = (*cit);
if(!scard->is_selectable) {
seq_count++;
scard->select_seq = seq_count;
mainGame->dField.selectable_cards.push_back(scard);
scard->is_selectable = true;
scard->is_selected = false;
}
}
for(auto cit = extra[i].begin(); cit != extra[i].end(); ++cit) {
ClientCard* scard = (*cit);
if(!scard->is_selectable) {
seq_count++;
scard->select_seq = seq_count;
mainGame->dField.selectable_cards.push_back(scard);
scard->is_selectable = true;
scard->is_selected = false;
}
}
}
for(auto cit = limbo_temp.begin(); cit != limbo_temp.end(); ++cit) {
ClientCard* scard = (*cit);
if(!scard->is_selectable) {
seq_count++;
scard->select_seq = seq_count;
mainGame->dField.selectable_cards.push_back(scard);
scard->is_selectable = true;
scard->is_selected = false;
}
}
for(auto sit = overlay_cards.begin(); sit != overlay_cards.end(); ++sit) {
ClientCard* scard = (*cit);
if(!scard->is_selectable) {
seq_count++;
scard->select_seq = seq_count;
mainGame->dField.selectable_cards.push_back(scard);
scard->is_selectable = true;
scard->is_selected = false;
}
}
#endif
std::sort(mainGame->dField.selectable_cards.begin(), mainGame->dField.selectable_cards.end(), ClientCard::client_card_sort);
if(select_hint)
myswprintf(textBuffer, L"%ls(%d-%d)", dataManager.GetDesc(select_hint),
......
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