Commit 40935ebc authored by edo9300's avatar edo9300

Added anime filters + checkbox

parent f7441a0c
...@@ -186,18 +186,7 @@ bool DeckBuilder::OnEvent(const irr::SEvent& event) { ...@@ -186,18 +186,7 @@ bool DeckBuilder::OnEvent(const irr::SEvent& event) {
break; break;
} }
case BUTTON_START_FILTER: { case BUTTON_START_FILTER: {
filter_type = mainGame->cbCardType->getSelected(); StartFilter();
filter_type2 = mainGame->cbCardType2->getItemData(mainGame->cbCardType2->getSelected());
filter_lm = mainGame->cbLimit->getSelected();
if(filter_type == 1) {
filter_attrib = mainGame->cbAttribute->getItemData(mainGame->cbAttribute->getSelected());
filter_race = mainGame->cbRace->getItemData(mainGame->cbRace->getSelected());
filter_atk = parse_filter(mainGame->ebAttack->getText(), &filter_atktype);
filter_def = parse_filter(mainGame->ebDefense->getText(), &filter_deftype);
filter_lv = parse_filter(mainGame->ebStar->getText(), &filter_lvtype);
filter_scl = parse_filter(mainGame->ebScale->getText(), &filter_scltype);
}
FilterCards();
break; break;
} }
case BUTTON_CLEAR_FILTER: { case BUTTON_CLEAR_FILTER: {
...@@ -297,6 +286,7 @@ bool DeckBuilder::OnEvent(const irr::SEvent& event) { ...@@ -297,6 +286,7 @@ bool DeckBuilder::OnEvent(const irr::SEvent& event) {
if (mainGame->btnMark[7]->isPressed()) if (mainGame->btnMark[7]->isPressed())
filter_marks |= 0004; filter_marks |= 0004;
mainGame->HideElement(mainGame->wLinkMarks); mainGame->HideElement(mainGame->wLinkMarks);
StartFilter();
break; break;
} }
} }
...@@ -321,18 +311,7 @@ bool DeckBuilder::OnEvent(const irr::SEvent& event) { ...@@ -321,18 +311,7 @@ bool DeckBuilder::OnEvent(const irr::SEvent& event) {
case EDITBOX_KEYWORD: { case EDITBOX_KEYWORD: {
stringw filter = mainGame->ebCardName->getText(); stringw filter = mainGame->ebCardName->getText();
if (filter.size() > 2) { if (filter.size() > 2) {
filter_type = mainGame->cbCardType->getSelected(); StartFilter();
filter_type2 = mainGame->cbCardType2->getItemData(mainGame->cbCardType2->getSelected());
filter_lm = mainGame->cbLimit->getSelected();
if (filter_type == 1) {
filter_attrib = mainGame->cbAttribute->getItemData(mainGame->cbAttribute->getSelected());
filter_race = mainGame->cbRace->getItemData(mainGame->cbRace->getSelected());
filter_atk = parse_filter(mainGame->ebAttack->getText(), &filter_atktype);
filter_def = parse_filter(mainGame->ebDefense->getText(), &filter_deftype);
filter_lv = parse_filter(mainGame->ebStar->getText(), &filter_lvtype);
filter_scl = parse_filter(mainGame->ebScale->getText(), &filter_scltype);
}
FilterCards();
} }
break; break;
} }
...@@ -441,18 +420,7 @@ bool DeckBuilder::OnEvent(const irr::SEvent& event) { ...@@ -441,18 +420,7 @@ bool DeckBuilder::OnEvent(const irr::SEvent& event) {
break; break;
} }
} }
filter_type = mainGame->cbCardType->getSelected(); StartFilter();
filter_type2 = mainGame->cbCardType2->getItemData(mainGame->cbCardType2->getSelected());
filter_lm = mainGame->cbLimit->getSelected();
if (filter_type == 1) {
filter_attrib = mainGame->cbAttribute->getItemData(mainGame->cbAttribute->getSelected());
filter_race = mainGame->cbRace->getItemData(mainGame->cbRace->getSelected());
filter_atk = parse_filter(mainGame->ebAttack->getText(), &filter_atktype);
filter_def = parse_filter(mainGame->ebDefense->getText(), &filter_deftype);
filter_lv = parse_filter(mainGame->ebStar->getText(), &filter_lvtype);
filter_scl = parse_filter(mainGame->ebScale->getText(), &filter_scltype);
}
FilterCards();
break; break;
} }
case COMBOBOX_SECONDTYPE: case COMBOBOX_SECONDTYPE:
...@@ -465,18 +433,7 @@ bool DeckBuilder::OnEvent(const irr::SEvent& event) { ...@@ -465,18 +433,7 @@ bool DeckBuilder::OnEvent(const irr::SEvent& event) {
mainGame->ebDefense->setEnabled(true); mainGame->ebDefense->setEnabled(true);
} }
} }
filter_type = mainGame->cbCardType->getSelected(); StartFilter();
filter_type2 = mainGame->cbCardType2->getItemData(mainGame->cbCardType2->getSelected());
filter_lm = mainGame->cbLimit->getSelected();
if(filter_type == 1) {
filter_attrib = mainGame->cbAttribute->getItemData(mainGame->cbAttribute->getSelected());
filter_race = mainGame->cbRace->getItemData(mainGame->cbRace->getSelected());
filter_atk = parse_filter(mainGame->ebAttack->getText(), &filter_atktype);
filter_def = parse_filter(mainGame->ebDefense->getText(), &filter_deftype);
filter_lv = parse_filter(mainGame->ebStar->getText(), &filter_lvtype);
filter_scl = parse_filter(mainGame->ebScale->getText(), &filter_scltype);
}
FilterCards();
break; break;
} }
case COMBOBOX_SORTTYPE: { case COMBOBOX_SORTTYPE: {
...@@ -485,13 +442,33 @@ bool DeckBuilder::OnEvent(const irr::SEvent& event) { ...@@ -485,13 +442,33 @@ bool DeckBuilder::OnEvent(const irr::SEvent& event) {
break; break;
} }
} }
break;
} }
case irr::gui::EGET_CHECKBOX_CHANGED: { case irr::gui::EGET_CHECKBOX_CHANGED: {
case CHECKBOX_ENABLE_MUSIC: { switch (id) {
if (!mainGame->chkEnableMusic->isChecked()) case CHECKBOX_SHOW_ANIME: {
mainGame->engineMusic->stopAllSounds(); int prevLimit = mainGame->cbLimit->getSelected();
break; mainGame->cbLimit->clear();
mainGame->cbLimit->addItem(dataManager.GetSysString(1310));
mainGame->cbLimit->addItem(dataManager.GetSysString(1316));
mainGame->cbLimit->addItem(dataManager.GetSysString(1317));
mainGame->cbLimit->addItem(dataManager.GetSysString(1318));
mainGame->cbLimit->addItem(dataManager.GetSysString(1240));
mainGame->cbLimit->addItem(dataManager.GetSysString(1241));
mainGame->cbLimit->addItem(dataManager.GetSysString(1242));
if(mainGame->chkAnime->isChecked()) {
mainGame->cbLimit->addItem(dataManager.GetSysString(1243));
mainGame->cbLimit->addItem(L"Illegal");
mainGame->cbLimit->addItem(L"VG");
mainGame->cbLimit->addItem(L"Custom");
}
if (prevLimit < 8)
mainGame->cbLimit->setSelected(prevLimit);
StartFilter();
break;
}
} }
break;
} }
default: break; default: break;
} }
...@@ -748,6 +725,20 @@ void DeckBuilder::GetHoveredCard() { ...@@ -748,6 +725,20 @@ void DeckBuilder::GetHoveredCard() {
imageManager.RemoveTexture(pre_code); imageManager.RemoveTexture(pre_code);
} }
} }
void DeckBuilder::StartFilter() {
filter_type = mainGame->cbCardType->getSelected();
filter_type2 = mainGame->cbCardType2->getItemData(mainGame->cbCardType2->getSelected());
filter_lm = mainGame->cbLimit->getSelected();
if(filter_type == 1) {
filter_attrib = mainGame->cbAttribute->getItemData(mainGame->cbAttribute->getSelected());
filter_race = mainGame->cbRace->getItemData(mainGame->cbRace->getSelected());
filter_atk = parse_filter(mainGame->ebAttack->getText(), &filter_atktype);
filter_def = parse_filter(mainGame->ebDefense->getText(), &filter_deftype);
filter_lv = parse_filter(mainGame->ebStar->getText(), &filter_lvtype);
filter_scl = parse_filter(mainGame->ebScale->getText(), &filter_scltype);
}
FilterCards();
}
void DeckBuilder::FilterCards() { void DeckBuilder::FilterCards() {
results.clear(); results.clear();
const wchar_t* pstr = mainGame->ebCardName->getText(); const wchar_t* pstr = mainGame->ebCardName->getText();
...@@ -767,7 +758,7 @@ void DeckBuilder::FilterCards() { ...@@ -767,7 +758,7 @@ void DeckBuilder::FilterCards() {
for(code_pointer ptr = dataManager._datas.begin(); ptr != dataManager._datas.end(); ++ptr, ++strpointer) { for(code_pointer ptr = dataManager._datas.begin(); ptr != dataManager._datas.end(); ++ptr, ++strpointer) {
const CardDataC& data = ptr->second; const CardDataC& data = ptr->second;
const CardString& text = strpointer->second; const CardString& text = strpointer->second;
if(data.type & TYPE_TOKEN) if(data.type & TYPE_TOKEN || (data.ot > 3 && !mainGame->chkAnime->isChecked()))
continue; continue;
switch(filter_type) { switch(filter_type) {
case 1: { case 1: {
...@@ -800,7 +791,7 @@ void DeckBuilder::FilterCards() { ...@@ -800,7 +791,7 @@ void DeckBuilder::FilterCards() {
if((filter_scltype == 1 && data.lscale != filter_scl) || (filter_scltype == 2 && data.lscale < filter_scl) if((filter_scltype == 1 && data.lscale != filter_scl) || (filter_scltype == 2 && data.lscale < filter_scl)
|| (filter_scltype == 3 && data.lscale <= filter_scl) || (filter_scltype == 4 && (data.lscale > filter_scl || data.lscale == 0)) || (filter_scltype == 3 && data.lscale <= filter_scl) || (filter_scltype == 4 && (data.lscale > filter_scl || data.lscale == 0))
|| (filter_scltype == 5 && (data.lscale >= filter_scl || data.lscale == 0)) || filter_scltype == 6 || (filter_scltype == 5 && (data.lscale >= filter_scl || data.lscale == 0)) || filter_scltype == 6
|| !(data.type & TYPE_PENDULUM)) || !(data.type & TYPE_PENDULUM))
continue; continue;
} }
break; break;
...@@ -835,6 +826,12 @@ void DeckBuilder::FilterCards() { ...@@ -835,6 +826,12 @@ void DeckBuilder::FilterCards() {
continue; continue;
if(filter_lm == 7 && data.ot != 4) if(filter_lm == 7 && data.ot != 4)
continue; continue;
if(filter_lm == 8 && data.ot != 8)
continue;
if(filter_lm == 9 && data.ot != 16)
continue;
if(filter_lm == 10 && data.ot != 32)
continue;
} }
if(pstr) { if(pstr) {
if(!(CardNameCompare(text.name, pstr)) && !(CardNameCompare(text.text, pstr))) { if(!(CardNameCompare(text.name, pstr)) && !(CardNameCompare(text.text, pstr))) {
......
...@@ -15,6 +15,7 @@ public: ...@@ -15,6 +15,7 @@ public:
void Terminate(); void Terminate();
void GetHoveredCard(); void GetHoveredCard();
void FilterCards(); void FilterCards();
void StartFilter();
void ClearFilter(); void ClearFilter();
void ClearSearch(); void ClearSearch();
void SortList(); void SortList();
......
...@@ -931,11 +931,6 @@ bool ClientField::OnEvent(const irr::SEvent& event) { ...@@ -931,11 +931,6 @@ bool ClientField::OnEvent(const irr::SEvent& event) {
} }
break; break;
} }
case CHECKBOX_ENABLE_MUSIC: {
if(!mainGame->chkEnableMusic->isChecked())
mainGame->engineMusic->stopAllSounds();
break;
}
} }
break; break;
} }
...@@ -2085,6 +2080,16 @@ bool ClientField::OnCommonEvent(const irr::SEvent& event) { ...@@ -2085,6 +2080,16 @@ bool ClientField::OnCommonEvent(const irr::SEvent& event) {
} }
break; break;
} }
case irr::gui::EGET_CHECKBOX_CHANGED: {
switch (id) {
case CHECKBOX_ENABLE_MUSIC: {
if (!mainGame->chkEnableMusic->isChecked())
mainGame->engineMusic->stopAllSounds();
break;
}
}
break;
}
default: break; default: break;
} }
break; break;
......
This diff is collapsed.
...@@ -344,7 +344,7 @@ ...@@ -344,7 +344,7 @@
!system 1324 Lv/Rank: !system 1324 Lv/Rank:
!system 1325 Search: !system 1325 Search:
!system 1326 Effect !system 1326 Effect
!system 1327 Full search !system 1327 Search
!system 1329 Archetype: !system 1329 Archetype:
!system 1330 Deck: !system 1330 Deck:
!system 1331 Extra: !system 1331 Extra:
...@@ -426,6 +426,7 @@ ...@@ -426,6 +426,7 @@
!system 1624 Die landed on: !system 1624 Die landed on:
!system 1625 Event Modes !system 1625 Event Modes
!system 1626 Destiny Draw !system 1626 Destiny Draw
!system 1999 Show anime cards
!system 2046 Enable sound effects !system 2046 Enable sound effects
!system 2047 Enable music !system 2047 Enable music
#victory reason #victory reason
......
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