Commit e618f125 authored by fallenstardust's avatar fallenstardust

ygo添加主卡组卡种统计

parent f96ac8f1
...@@ -277,4 +277,13 @@ bool DeckManager::DeleteDeck(Deck& deck, const wchar_t* name) { ...@@ -277,4 +277,13 @@ bool DeckManager::DeleteDeck(Deck& deck, const wchar_t* name) {
return result == 0; return result == 0;
#endif #endif
} }
int DeckManager::TypeCount(std::vector<code_pointer> list, unsigned int ctype) {
int res = 0;
for(size_t i = 0; i < list.size(); ++i) {
code_pointer cur = list[i];
if(cur->second.type & ctype)
res++;
}
return res;
}
} }
...@@ -45,6 +45,7 @@ public: ...@@ -45,6 +45,7 @@ public:
bool SaveDeck(Deck& deck, const wchar_t* name); bool SaveDeck(Deck& deck, const wchar_t* name);
bool DeleteDeck(Deck& deck, const wchar_t* name); bool DeleteDeck(Deck& deck, const wchar_t* name);
static bool RenameDeck(const wchar_t* oldname, const wchar_t* newname); static bool RenameDeck(const wchar_t* oldname, const wchar_t* newname);
int TypeCount(std::vector<code_pointer> list, unsigned int ctype);
}; };
extern DeckManager deckManager; extern DeckManager deckManager;
......
...@@ -1171,6 +1171,24 @@ void Game::DrawDeckBd() { ...@@ -1171,6 +1171,24 @@ void Game::DrawDeckBd() {
numFont->draw(dataManager.numStrings[deckManager.current_deck.main.size()], recti(380 * mainGame->xScale, 138 * mainGame->yScale, 440 * mainGame->xScale, 158 * mainGame->yScale), 0xffffffff, false, true); numFont->draw(dataManager.numStrings[deckManager.current_deck.main.size()], recti(380 * mainGame->xScale, 138 * mainGame->yScale, 440 * mainGame->xScale, 158 * mainGame->yScale), 0xffffffff, false, true);
driver->draw2DRectangle(recti(310 * mainGame->xScale, 160 * mainGame->yScale, 797 * mainGame->xScale, 436 * mainGame->yScale), 0x400000ff, 0x400000ff, 0x40000000, 0x40000000); driver->draw2DRectangle(recti(310 * mainGame->xScale, 160 * mainGame->yScale, 797 * mainGame->xScale, 436 * mainGame->yScale), 0x400000ff, 0x400000ff, 0x40000000, 0x40000000);
driver->draw2DRectangleOutline(recti(309 * mainGame->xScale, 159 * mainGame->yScale, 797 * mainGame->xScale, 436 * mainGame->yScale)); driver->draw2DRectangleOutline(recti(309 * mainGame->xScale, 159 * mainGame->yScale, 797 * mainGame->xScale, 436 * mainGame->yScale));
//type count 2DRectangle
driver->draw2DRectangle(recti(555 * mainGame->xScale, 137 * mainGame->yScale, 797 * mainGame->xScale, 157 * mainGame->yScale), 0x400000ff, 0x400000ff, 0x40000000, 0x40000000);
driver->draw2DRectangleOutline(recti(554 * mainGame->xScale, 136 * mainGame->yScale, 797 * mainGame->xScale, 157 * mainGame->yScale));
//monster count
textFont->draw(dataManager.GetSysString(1312), recti(557 * mainGame->xScale, 136 * mainGame->yScale, 612 * mainGame->xScale, 156 * mainGame->yScale), 0xfffa5b00, false, true);
textFont->draw(dataManager.GetSysString(1312), recti(556 * mainGame->xScale, 137 * mainGame->yScale, 611 * mainGame->xScale, 157 * mainGame->yScale), 0xffffffff, false, true);
numFont->draw(dataManager.numStrings[deckManager.TypeCount(deckManager.current_deck.main, TYPE_MONSTER)], recti(612 * mainGame->xScale, 137 * mainGame->yScale, 637 * mainGame->xScale, 157 * mainGame->yScale), 0xff000000, false, true);
numFont->draw(dataManager.numStrings[deckManager.TypeCount(deckManager.current_deck.main, TYPE_MONSTER)], recti(611 * mainGame->xScale, 138 * mainGame->yScale, 636 * mainGame->xScale, 158 * mainGame->yScale), 0xffffffff, false, true);
//spell count
textFont->draw(dataManager.GetSysString(1313), recti(637 * mainGame->xScale, 136 * mainGame->yScale, 692 * mainGame->xScale, 156 * mainGame->yScale), 0xff00fa99, false, true);
textFont->draw(dataManager.GetSysString(1313), recti(636 * mainGame->xScale, 137 * mainGame->yScale, 691 * mainGame->xScale, 157 * mainGame->yScale), 0xffffffff, false, true);
numFont->draw(dataManager.numStrings[deckManager.TypeCount(deckManager.current_deck.main, TYPE_SPELL)], recti(692 * mainGame->xScale, 137 * mainGame->yScale, 717 * mainGame->xScale, 157 * mainGame->yScale), 0xff000000, false, true);
numFont->draw(dataManager.numStrings[deckManager.TypeCount(deckManager.current_deck.main, TYPE_SPELL)], recti(691 * mainGame->xScale, 138 * mainGame->yScale, 716 * mainGame->xScale, 158 * mainGame->yScale), 0xffffffff, false, true);
//trap count
textFont->draw(dataManager.GetSysString(1314), recti(720 * mainGame->xScale, 136 * mainGame->yScale, 740 * mainGame->xScale, 156 * mainGame->yScale), 0xfff41898, false, true);
textFont->draw(dataManager.GetSysString(1314), recti(719 * mainGame->xScale, 137 * mainGame->yScale, 739 * mainGame->xScale, 157 * mainGame->yScale), 0xffffffff, false, true);
numFont->draw(dataManager.numStrings[deckManager.TypeCount(deckManager.current_deck.main, TYPE_TRAP)], recti(770 * mainGame->xScale, 137 * mainGame->yScale, 790 * mainGame->xScale, 157 * mainGame->yScale), 0xff000000, false, true);
numFont->draw(dataManager.numStrings[deckManager.TypeCount(deckManager.current_deck.main, TYPE_TRAP)], recti(769 * mainGame->xScale, 138 * mainGame->yScale, 789 * mainGame->xScale, 158 * mainGame->yScale), 0xffffffff, false, true);
int lx; int lx;
float dx; float dx;
if(deckManager.current_deck.main.size() <= 40) { if(deckManager.current_deck.main.size() <= 40) {
...@@ -1188,6 +1206,10 @@ void Game::DrawDeckBd() { ...@@ -1188,6 +1206,10 @@ void Game::DrawDeckBd() {
//extra deck //extra deck
driver->draw2DRectangle(recti(310 * mainGame->xScale, 440 * mainGame->yScale, 410 * mainGame->xScale, 460 * mainGame->yScale), 0x400000ff, 0x400000ff, 0x40000000, 0x40000000); driver->draw2DRectangle(recti(310 * mainGame->xScale, 440 * mainGame->yScale, 410 * mainGame->xScale, 460 * mainGame->yScale), 0x400000ff, 0x400000ff, 0x40000000, 0x40000000);
driver->draw2DRectangleOutline(recti(309 * mainGame->xScale, 439 * mainGame->yScale, 410 * mainGame->xScale, 460 * mainGame->yScale)); driver->draw2DRectangleOutline(recti(309 * mainGame->xScale, 439 * mainGame->yScale, 410 * mainGame->xScale, 460 * mainGame->yScale));
//type count 2DRectangle
driver->draw2DRectangle(recti(610 * mainGame->xScale, 440 * mainGame->yScale, 797 * mainGame->xScale, 460 * mainGame->yScale), 0x400000ff, 0x400000ff, 0x40000000, 0x40000000);
driver->draw2DRectangleOutline(recti(609 * mainGame->xScale, 439 * mainGame->yScale, 797 * mainGame->xScale, 460 * mainGame->yScale));
textFont->draw(dataManager.GetSysString(1331), recti(314 * mainGame->xScale, 439 * mainGame->yScale, 409 * mainGame->xScale, 459 * mainGame->yScale), 0xff000000, false, true); textFont->draw(dataManager.GetSysString(1331), recti(314 * mainGame->xScale, 439 * mainGame->yScale, 409 * mainGame->xScale, 459 * mainGame->yScale), 0xff000000, false, true);
textFont->draw(dataManager.GetSysString(1331), recti(315 * mainGame->xScale, 440 * mainGame->yScale, 410 * mainGame->xScale, 460 * mainGame->yScale), 0xffffffff, false, true); textFont->draw(dataManager.GetSysString(1331), recti(315 * mainGame->xScale, 440 * mainGame->yScale, 410 * mainGame->xScale, 460 * mainGame->yScale), 0xffffffff, false, true);
numFont->draw(dataManager.numStrings[deckManager.current_deck.extra.size()], recti(379 * mainGame->xScale, 440 * mainGame->yScale, 439 * mainGame->xScale, 460 * mainGame->yScale), 0xff000000, false, true); numFont->draw(dataManager.numStrings[deckManager.current_deck.extra.size()], recti(379 * mainGame->xScale, 440 * mainGame->yScale, 439 * mainGame->xScale, 460 * mainGame->yScale), 0xff000000, false, true);
...@@ -1205,6 +1227,10 @@ void Game::DrawDeckBd() { ...@@ -1205,6 +1227,10 @@ void Game::DrawDeckBd() {
//side deck //side deck
driver->draw2DRectangle(recti(310 * mainGame->xScale, 537 * mainGame->yScale, 410 * mainGame->xScale, 557 * mainGame->yScale), 0x400000ff, 0x400000ff, 0x40000000, 0x40000000); driver->draw2DRectangle(recti(310 * mainGame->xScale, 537 * mainGame->yScale, 410 * mainGame->xScale, 557 * mainGame->yScale), 0x400000ff, 0x400000ff, 0x40000000, 0x40000000);
driver->draw2DRectangleOutline(recti(309 * mainGame->xScale, 536 * mainGame->yScale, 410 * mainGame->xScale, 557 * mainGame->yScale)); driver->draw2DRectangleOutline(recti(309 * mainGame->xScale, 536 * mainGame->yScale, 410 * mainGame->xScale, 557 * mainGame->yScale));
//type count 2DRectangle
driver->draw2DRectangle(recti(610 * mainGame->xScale, 537 * mainGame->yScale, 797 * mainGame->xScale, 557 * mainGame->yScale), 0x400000ff, 0x400000ff, 0x40000000, 0x40000000);
driver->draw2DRectangleOutline(recti(609 * mainGame->xScale, 536 * mainGame->yScale, 797 * mainGame->xScale, 557 * mainGame->yScale));
textFont->draw(dataManager.GetSysString(1332), recti(314 * mainGame->xScale, 536 * mainGame->yScale, 409 * mainGame->xScale, 556 * mainGame->yScale), 0xff000000, false, true); textFont->draw(dataManager.GetSysString(1332), recti(314 * mainGame->xScale, 536 * mainGame->yScale, 409 * mainGame->xScale, 556 * mainGame->yScale), 0xff000000, false, true);
textFont->draw(dataManager.GetSysString(1332), recti(315 * mainGame->xScale, 537 * mainGame->yScale, 410 * mainGame->xScale, 557 * mainGame->yScale), 0xffffffff, false, true); textFont->draw(dataManager.GetSysString(1332), recti(315 * mainGame->xScale, 537 * mainGame->yScale, 410 * mainGame->xScale, 557 * mainGame->yScale), 0xffffffff, false, true);
numFont->draw(dataManager.numStrings[deckManager.current_deck.side.size()], recti(379 * mainGame->xScale, 537 * mainGame->yScale, 439 * mainGame->xScale, 557 * mainGame->yScale), 0xff000000, false, true); numFont->draw(dataManager.numStrings[deckManager.current_deck.side.size()], recti(379 * mainGame->xScale, 537 * mainGame->yScale, 439 * mainGame->xScale, 557 * mainGame->yScale), 0xff000000, false, true);
......
...@@ -4989,7 +4989,7 @@ int32 field::refresh_location_info(uint16 step) { ...@@ -4989,7 +4989,7 @@ int32 field::refresh_location_info(uint16 step) {
filter_field_effect(EFFECT_DISABLE_FIELD, &eset); filter_field_effect(EFFECT_DISABLE_FIELD, &eset);
for (int32 i = 0; i < eset.size(); ++i) { for (int32 i = 0; i < eset.size(); ++i) {
value = eset[i]->get_value(); value = eset[i]->get_value();
if(value) { if(value && !eset[i]->is_flag(EFFECT_FLAG_REPEAT)) {
player[0].disabled_location |= value & 0x1f7f; player[0].disabled_location |= value & 0x1f7f;
player[1].disabled_location |= (value >> 16) & 0x1f7f; player[1].disabled_location |= (value >> 16) & 0x1f7f;
} else } else
......
...@@ -13,7 +13,7 @@ android { ...@@ -13,7 +13,7 @@ android {
flavorDimensions "versionCode" flavorDimensions "versionCode"
vectorDrawables.useSupportLibrary = true vectorDrawables.useSupportLibrary = true
ndk { ndk {
abiFilters "armeabi-v7a" abiFilters "armeabi","armeabi-v7a"
} }
} }
compileOptions { compileOptions {
......
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