Commit 5e17c0d1 authored by nanahira's avatar nanahira

Merge branch 'master' of github.com:Fluorohydride/ygopro into develop

parents 7c5e6244 3415b1f5
......@@ -83,6 +83,11 @@ void ClientField::Clear() {
for(auto cit = extra[i].begin(); cit != extra[i].end(); ++cit)
delete *cit;
extra[i].clear();
deck_act[i] = false;
grave_act[i] = false;
remove_act[i] = false;
extra_act[i] = false;
pzone_act[i] = false;
}
for(auto cit = limbo_temp.begin(); cit != limbo_temp.end(); ++cit)
delete *cit;
......@@ -111,12 +116,6 @@ void ClientField::Clear() {
hovered_controler = 0;
hovered_location = 0;
hovered_sequence = 0;
deck_act = false;
grave_act = false;
remove_act = false;
extra_act = false;
pzone_act[0] = false;
pzone_act[1] = false;
conti_act = false;
deck_reversed = false;
cant_check_grave = false;
......@@ -367,13 +366,14 @@ void ClientField::ClearCommandFlag() {
(*cit)->cmdFlag = 0;
for(auto cit = attackable_cards.begin(); cit != attackable_cards.end(); ++cit)
(*cit)->cmdFlag = 0;
for(int i = 0; i < 2; ++i) {
deck_act[i] = false;
extra_act[i] = false;
grave_act[i] = false;
remove_act[i] = false;
pzone_act[i] = false;
}
conti_cards.clear();
deck_act = false;
extra_act = false;
grave_act = false;
remove_act = false;
pzone_act[0] = false;
pzone_act[1] = false;
conti_act = false;
}
void ClientField::ClearSelect() {
......@@ -401,11 +401,14 @@ void ClientField::ClearChainSelect() {
(*cit)->is_selectable = false;
(*cit)->is_selected = false;
}
for(int i = 0; i < 2; ++i) {
deck_act[i] = false;
extra_act[i] = false;
grave_act[i] = false;
remove_act[i] = false;
pzone_act[i] = false;
}
conti_cards.clear();
deck_act = false;
grave_act = false;
remove_act = false;
extra_act = false;
conti_act = false;
}
// needs to be synchronized with EGET_SCROLL_BAR_CHANGED
......
......@@ -78,11 +78,11 @@ public:
std::vector<ClientCard*> display_cards;
std::vector<int> sort_list;
std::map<int, int> player_desc_hints[2];
bool grave_act{ false };
bool remove_act{ false };
bool deck_act{ false };
bool extra_act{ false };
bool pzone_act[2]{};
bool grave_act[2]{ false };
bool remove_act[2]{ false };
bool deck_act[2]{ false };
bool extra_act[2]{ false };
bool pzone_act[2]{ false };
bool conti_act{ false };
bool chain_forced{ false };
ChainInfo current_chain;
......
......@@ -467,43 +467,38 @@ void Game::DrawMisc() {
im.setRotationRadians(act_rot);
matManager.mTexture.setTexture(0, imageManager.tAct);
driver->setMaterial(matManager.mTexture);
if(dField.deck_act) {
im.setTranslation(irr::core::vector3df((matManager.vFieldDeck[0][0].Pos.X + matManager.vFieldDeck[0][1].Pos.X) / 2,
(matManager.vFieldDeck[0][0].Pos.Y + matManager.vFieldDeck[0][2].Pos.Y) / 2, dField.deck[0].size() * 0.01f + 0.02f));
driver->setTransform(irr::video::ETS_WORLD, im);
driver->drawVertexPrimitiveList(matManager.vActivate, 4, matManager.iRectangle, 2);
}
if(dField.grave_act) {
im.setTranslation(irr::core::vector3df((matManager.vFieldGrave[0][rule][0].Pos.X + matManager.vFieldGrave[0][rule][1].Pos.X) / 2,
(matManager.vFieldGrave[0][rule][0].Pos.Y + matManager.vFieldGrave[0][rule][2].Pos.Y) / 2, dField.grave[0].size() * 0.01f + 0.02f));
driver->setTransform(irr::video::ETS_WORLD, im);
driver->drawVertexPrimitiveList(matManager.vActivate, 4, matManager.iRectangle, 2);
}
if(dField.remove_act) {
im.setTranslation(irr::core::vector3df((matManager.vFieldRemove[0][rule][0].Pos.X + matManager.vFieldRemove[0][rule][1].Pos.X) / 2,
(matManager.vFieldRemove[0][rule][0].Pos.Y + matManager.vFieldRemove[0][rule][2].Pos.Y) / 2, dField.remove[0].size() * 0.01f + 0.02f));
driver->setTransform(irr::video::ETS_WORLD, im);
driver->drawVertexPrimitiveList(matManager.vActivate, 4, matManager.iRectangle, 2);
}
if(dField.extra_act) {
im.setTranslation(irr::core::vector3df((matManager.vFieldExtra[0][0].Pos.X + matManager.vFieldExtra[0][1].Pos.X) / 2,
(matManager.vFieldExtra[0][0].Pos.Y + matManager.vFieldExtra[0][2].Pos.Y) / 2, dField.extra[0].size() * 0.01f + 0.02f));
driver->setTransform(irr::video::ETS_WORLD, im);
driver->drawVertexPrimitiveList(matManager.vActivate, 4, matManager.iRectangle, 2);
}
if(dField.pzone_act[0]) {
int seq = dInfo.duel_rule >= 4 ? 0 : 6;
im.setTranslation(irr::core::vector3df((matManager.vFieldSzone[0][seq][rule][0].Pos.X + matManager.vFieldSzone[0][seq][rule][1].Pos.X) / 2,
(matManager.vFieldSzone[0][seq][rule][0].Pos.Y + matManager.vFieldSzone[0][seq][rule][2].Pos.Y) / 2, 0.03f));
driver->setTransform(irr::video::ETS_WORLD, im);
driver->drawVertexPrimitiveList(matManager.vActivate, 4, matManager.iRectangle, 2);
}
if(dField.pzone_act[1]) {
int seq = dInfo.duel_rule >= 4 ? 0 : 6;
im.setTranslation(irr::core::vector3df((matManager.vFieldSzone[1][seq][rule][0].Pos.X + matManager.vFieldSzone[1][seq][rule][1].Pos.X) / 2,
(matManager.vFieldSzone[1][seq][rule][0].Pos.Y + matManager.vFieldSzone[1][seq][rule][2].Pos.Y) / 2, 0.03f));
driver->setTransform(irr::video::ETS_WORLD, im);
driver->drawVertexPrimitiveList(matManager.vActivate, 4, matManager.iRectangle, 2);
for(int player = 0; player < 2; ++player) {
if(dField.deck_act[player]) {
im.setTranslation(irr::core::vector3df((matManager.vFieldDeck[player][0].Pos.X + matManager.vFieldDeck[player][1].Pos.X) / 2,
(matManager.vFieldDeck[player][0].Pos.Y + matManager.vFieldDeck[player][2].Pos.Y) / 2, dField.deck[player].size() * 0.01f + 0.02f));
driver->setTransform(irr::video::ETS_WORLD, im);
driver->drawVertexPrimitiveList(matManager.vActivate, 4, matManager.iRectangle, 2);
}
if(dField.grave_act[player]) {
im.setTranslation(irr::core::vector3df((matManager.vFieldGrave[player][rule][0].Pos.X + matManager.vFieldGrave[player][rule][1].Pos.X) / 2,
(matManager.vFieldGrave[player][rule][0].Pos.Y + matManager.vFieldGrave[player][rule][2].Pos.Y) / 2, dField.grave[player].size() * 0.01f + 0.02f));
driver->setTransform(irr::video::ETS_WORLD, im);
driver->drawVertexPrimitiveList(matManager.vActivate, 4, matManager.iRectangle, 2);
}
if(dField.remove_act[player]) {
im.setTranslation(irr::core::vector3df((matManager.vFieldRemove[player][rule][0].Pos.X + matManager.vFieldRemove[player][rule][1].Pos.X) / 2,
(matManager.vFieldRemove[player][rule][0].Pos.Y + matManager.vFieldRemove[player][rule][2].Pos.Y) / 2, dField.remove[player].size() * 0.01f + 0.02f));
driver->setTransform(irr::video::ETS_WORLD, im);
driver->drawVertexPrimitiveList(matManager.vActivate, 4, matManager.iRectangle, 2);
}
if(dField.extra_act[player]) {
im.setTranslation(irr::core::vector3df((matManager.vFieldExtra[player][0].Pos.X + matManager.vFieldExtra[player][1].Pos.X) / 2,
(matManager.vFieldExtra[player][0].Pos.Y + matManager.vFieldExtra[player][2].Pos.Y) / 2, dField.extra[player].size() * 0.01f + 0.02f));
driver->setTransform(irr::video::ETS_WORLD, im);
driver->drawVertexPrimitiveList(matManager.vActivate, 4, matManager.iRectangle, 2);
}
if(dField.pzone_act[player]) {
int seq = dInfo.duel_rule >= 4 ? 0 : 6;
im.setTranslation(irr::core::vector3df((matManager.vFieldSzone[player][seq][rule][0].Pos.X + matManager.vFieldSzone[player][seq][rule][1].Pos.X) / 2,
(matManager.vFieldSzone[player][seq][rule][0].Pos.Y + matManager.vFieldSzone[player][seq][rule][2].Pos.Y) / 2, 0.03f));
driver->setTransform(irr::video::ETS_WORLD, im);
driver->drawVertexPrimitiveList(matManager.vActivate, 4, matManager.iRectangle, 2);
}
}
if(dField.conti_act) {
irr::core::vector3df pos = irr::core::vector3df((matManager.vFieldContiAct[0].X + matManager.vFieldContiAct[1].X) / 2,
......
......@@ -1495,14 +1495,12 @@ bool DuelClient::ClientAnalyze(unsigned char* msg, int len) {
mainGame->dField.conti_act = true;
} else {
pcard->cmdFlag |= COMMAND_ACTIVATE;
if(pcard->controler == 0) {
if(pcard->location == LOCATION_GRAVE)
mainGame->dField.grave_act = true;
else if(pcard->location == LOCATION_REMOVED)
mainGame->dField.remove_act = true;
else if(pcard->location == LOCATION_EXTRA)
mainGame->dField.extra_act = true;
}
if(pcard->location == LOCATION_GRAVE)
mainGame->dField.grave_act[con] = true;
else if(pcard->location == LOCATION_REMOVED)
mainGame->dField.remove_act[con] = true;
else if(pcard->location == LOCATION_EXTRA)
mainGame->dField.extra_act[con] = true;
}
}
mainGame->dField.attackable_cards.clear();
......@@ -1560,17 +1558,17 @@ bool DuelClient::ClientAnalyze(unsigned char* msg, int len) {
pcard->cmdFlag |= COMMAND_SPSUMMON;
if (pcard->location == LOCATION_DECK) {
pcard->SetCode(code);
mainGame->dField.deck_act = true;
mainGame->dField.deck_act[con] = true;
} else if (pcard->location == LOCATION_GRAVE)
mainGame->dField.grave_act = true;
mainGame->dField.grave_act[con] = true;
else if (pcard->location == LOCATION_REMOVED)
mainGame->dField.remove_act = true;
mainGame->dField.remove_act[con] = true;
else if (pcard->location == LOCATION_EXTRA)
mainGame->dField.extra_act = true;
mainGame->dField.extra_act[con] = true;
else {
int left_seq = mainGame->dInfo.duel_rule >= 4 ? 0 : 6;
if (pcard->location == LOCATION_SZONE && pcard->sequence == left_seq && (pcard->type & TYPE_PENDULUM) && !pcard->equipTarget)
mainGame->dField.pzone_act[pcard->controler] = true;
mainGame->dField.pzone_act[con] = true;
}
}
mainGame->dField.reposable_cards.clear();
......@@ -1630,14 +1628,12 @@ bool DuelClient::ClientAnalyze(unsigned char* msg, int len) {
mainGame->dField.conti_act = true;
} else {
pcard->cmdFlag |= COMMAND_ACTIVATE;
if(pcard->controler == 0) {
if(pcard->location == LOCATION_GRAVE)
mainGame->dField.grave_act = true;
else if(pcard->location == LOCATION_REMOVED)
mainGame->dField.remove_act = true;
else if(pcard->location == LOCATION_EXTRA)
mainGame->dField.extra_act = true;
}
if(pcard->location == LOCATION_GRAVE)
mainGame->dField.grave_act[con] = true;
else if(pcard->location == LOCATION_REMOVED)
mainGame->dField.remove_act[con] = true;
else if(pcard->location == LOCATION_EXTRA)
mainGame->dField.extra_act[con] = true;
}
}
if(BufferIO::ReadUInt8(pbuf)) {
......@@ -1924,13 +1920,13 @@ bool DuelClient::ClientAnalyze(unsigned char* msg, int len) {
pcard->cmdFlag |= COMMAND_ACTIVATE;
if(pcard->location == LOCATION_DECK) {
pcard->SetCode(code);
mainGame->dField.deck_act = true;
mainGame->dField.deck_act[c] = true;
} else if(l == LOCATION_GRAVE)
mainGame->dField.grave_act = true;
mainGame->dField.grave_act[c] = true;
else if(l == LOCATION_REMOVED)
mainGame->dField.remove_act = true;
mainGame->dField.remove_act[c] = true;
else if(l == LOCATION_EXTRA)
mainGame->dField.extra_act = true;
mainGame->dField.extra_act[c] = true;
else if(l == LOCATION_OVERLAY)
panelmode = true;
}
......
project "lua"
kind "StaticLib"
compileas "C++"
files { "src/*.c", "src/*.h", "src/*.hpp" }
removefiles { "src/lua.c", "src/luac.c" }
filter "action:vs*"
buildoptions { "/TP" }
filter "not action:vs*"
buildoptions { "-x c++" }
files { "src/*.c", "src/*.h" }
removefiles { "src/lua.c", "src/luac.c", "src/linit.c", "src/onelua.c" }
filter "configurations:Debug"
defines { "LUA_USE_APICHECK" }
......
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