From 730b05ad1b221d5935295754113f5cb8676ede84 Mon Sep 17 00:00:00 2001 From: Anthony Calosa Date: Sat, 30 Jul 2016 07:07:35 +0800 Subject: [PATCH 1/4] change enstack attackers their x position is the same in their "default" horizontal stack, so when attacking it always start at left side, not in the middle. Please report if you have bugs... --- projects/mtg/src/GuiPlay.cpp | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/projects/mtg/src/GuiPlay.cpp b/projects/mtg/src/GuiPlay.cpp index 02bbe0939..f0d14aa46 100644 --- a/projects/mtg/src/GuiPlay.cpp +++ b/projects/mtg/src/GuiPlay.cpp @@ -123,7 +123,15 @@ void GuiPlay::BattleField::reset(float x, float y) } void GuiPlay::BattleField::EnstackAttacker(CardView* card) { - card->x = CARD_WIDTH + 20 + (currentAttacker * (HORZWIDTH) / (attackers+1)); + //card->x = CARD_WIDTH + 20 + (currentAttacker * (HORZWIDTH) / (attackers+1)); + card->x = x + baseX; + if (total < 8) + x += CARD_WIDTH; + else if (total < 16) + x += (SCREEN_WIDTH - 200 - baseX) / total; + else + x += (SCREEN_WIDTH - 50 - baseX) / total; + card->y = baseY + (card->card->getObserver()->getView()->getRenderedPlayer() == card->card->controller() ? 20 + y : -20 - y); ++currentAttacker; // JRenderer::GetInstance()->RenderQuad(WResourceManager::Instance()->GetQuad("BattleIcon"), card->actX, card->actY, 0, 0.5 + 0.1 * sinf(JGE::GetInstance()->GetTime()), 0.5 + 0.1 * sinf(JGE::GetInstance()->GetTime())); From 4aa6ad3203aab2400138f25c780a1a58808c298b Mon Sep 17 00:00:00 2001 From: Anthony Calosa Date: Sat, 30 Jul 2016 08:13:30 +0800 Subject: [PATCH 2/4] small scale --- projects/mtg/src/CardGui.cpp | 46 +++++++++++++++++++----------------- 1 file changed, 24 insertions(+), 22 deletions(-) diff --git a/projects/mtg/src/CardGui.cpp b/projects/mtg/src/CardGui.cpp index 7de73603b..b57ab059c 100644 --- a/projects/mtg/src/CardGui.cpp +++ b/projects/mtg/src/CardGui.cpp @@ -153,17 +153,17 @@ void CardGui::Render() else quad = AlternateThumbQuad(card); - float cardScale = quad ? 40 / quad->mHeight : 1; + float cardScale = quad ? 35.5f / quad->mHeight : 1; //I want the below for melded cards but I dont know how to adjust everything else //to look neat and clean. leaving this here incase someone else wants to pretty up the p/t box //and line up the position. - float zz = 1.0f; - float yy = 0.0f; + float zz = 0.99f; + float yy = 0.0f; if (card->MeldedFrom.size()) - { - zz = 1.15f; - yy = 2.0f; - } + { + zz = 1.10f; + yy = 2.0f; + } float scale = (actZ*zz) * cardScale; JQuadPtr shadow; @@ -173,7 +173,7 @@ void CardGui::Render() if (shadow) { shadow->SetColor(ARGB(static_cast(actA)/2,255,255,255)); - renderer->RenderQuad(shadow.get(), actX + ((actZ*zz) - 1) * 15, (actY-yy) + ((actZ*zz) - 1) * 15, actT, 28 * (actZ*zz) / 16, 40 * (actZ*zz) / 16); + renderer->RenderQuad(shadow.get(), actX + ((actZ*zz) - 1) * 15, (actY-yy) + ((actZ*zz) - 1) * 15, actT, 27 * (actZ*zz) / 16, 39 * (actZ*zz) / 16); } } @@ -184,7 +184,7 @@ void CardGui::Render() if (extracostshadow) { extracostshadow->SetColor(ARGB(static_cast(actA)/2,100,0,0)); - renderer->RenderQuad(extracostshadow.get(), actX + ((actZ*zz) - 1) * 15, (actY-yy) + ((actZ*zz) - 1) * 15, actT, 28 * (actZ*zz) / 16, 40 * (actZ*zz) / 16); + renderer->RenderQuad(extracostshadow.get(), actX + ((actZ*zz) - 1) * 15, (actY-yy) + ((actZ*zz) - 1) * 15, actT, 27 * (actZ*zz) / 16, 39 * (actZ*zz) / 16); } } @@ -213,7 +213,7 @@ void CardGui::Render() if(white) { white->SetColor(ARGB(255,230,50,50)); - renderer->RenderQuad(white.get(), actX, (actY-yy), actT, 30 * (actZ*zz) / 16, 42 * (actZ*zz) / 16); + renderer->RenderQuad(white.get(), actX, (actY-yy), actT, 28 * (actZ*zz) / 16, 40 * (actZ*zz) / 16); } } @@ -240,7 +240,7 @@ void CardGui::Render() if(white) { white->SetColor(ARGB(255,0,0,255)); - renderer->RenderQuad(white.get(), actX, (actY-yy), actT, 30 * (actZ*zz) / 16, 42 * (actZ*zz) / 16); + renderer->RenderQuad(white.get(), actX, (actY-yy), actT, 28 * (actZ*zz) / 16, 40 * (actZ*zz) / 16); } } } @@ -258,7 +258,7 @@ void CardGui::Render() fakeborder->SetColor(ARGB((int)(actA),7,235,7));//green border else fakeborder->SetColor(ARGB((int)(actA),15,15,15)); - renderer->RenderQuad(fakeborder.get(), actX, (actY-yy), actT, (29 * (actZ*zz) + 1) / 16, 42 * (actZ*zz) / 16); + renderer->RenderQuad(fakeborder.get(), actX, (actY-yy), actT, (26 * (actZ*zz) + 1) / 16, 38 * (actZ*zz) / 16); } //draw border for highlighting if (game) @@ -266,26 +266,26 @@ void CardGui::Render() if (card && card->isTargetted() && highlightborder) { highlightborder->SetColor(ARGB(95,255,0,0)); - renderer->RenderQuad(highlightborder.get(), actX, (actY-yy), actT, (30 * (actZ*zz) + 1) / 16, 43 * (actZ*zz) / 16); + renderer->RenderQuad(highlightborder.get(), actX, (actY-yy), actT, (27 * (actZ*zz) + 1) / 16, 39 * (actZ*zz) / 16); } if (card && card->isTargetter() && highlightborder) { highlightborder->SetColor(ARGB(95,0,245,0)); - renderer->RenderQuad(highlightborder.get(), actX, (actY-yy), actT, (30 * (actZ*zz) + 1) / 16, 43 * (actZ*zz) / 16); + renderer->RenderQuad(highlightborder.get(), actX, (actY-yy), actT, (27 * (actZ*zz) + 1) / 16, 39 * (actZ*zz) / 16); } if(card->myPair && card->myPair->isInPlay(game) && highlightborder) { if(mHasFocus) { highlightborder->SetColor(ARGB(200,7,98,248)); - renderer->RenderQuad(highlightborder.get(), actX, (actY-yy), actT, (30 * (actZ*zz) + 1) / 16, 43 * (actZ*zz) / 16); + renderer->RenderQuad(highlightborder.get(), actX, (actY-yy), actT, (27 * (actZ*zz) + 1) / 16, 39 * (actZ*zz) / 16); } if(CardView* cv = dynamic_cast(card->myPair->view)) { if(cv->mHasFocus) { highlightborder->SetColor(ARGB(200,57,28,248)); - renderer->RenderQuad(highlightborder.get(), actX, (actY-yy), actT, (30 * (actZ*zz) + 1) / 16, 43 * (actZ*zz) / 16); + renderer->RenderQuad(highlightborder.get(), actX, (actY-yy), actT, (27 * (actZ*zz) + 1) / 16, 39 * (actZ*zz) / 16); } } } @@ -298,7 +298,7 @@ void CardGui::Render() else highlightborder->SetColor(ARGB(200,57,28,248)); - renderer->RenderQuad(highlightborder.get(), actX, (actY-yy), actT, (30 * (actZ*zz) + 1) / 16, 43 * (actZ*zz) / 16); + renderer->RenderQuad(highlightborder.get(), actX, (actY-yy), actT, (27 * (actZ*zz) + 1) / 16, 39 * (actZ*zz) / 16); } if(CardView* cv = dynamic_cast(card->shackled->view)) { @@ -309,7 +309,7 @@ void CardGui::Render() else highlightborder->SetColor(ARGB(200,57,28,248)); - renderer->RenderQuad(highlightborder.get(), actX, (actY-yy), actT, (30 * (actZ*zz) + 1) / 16, 43 * (actZ*zz) / 16); + renderer->RenderQuad(highlightborder.get(), actX, (actY-yy), actT, (27 * (actZ*zz) + 1) / 16, 39 * (actZ*zz) / 16); } } } @@ -390,9 +390,11 @@ void CardGui::Render() mFont->SetScale(DEFAULT_MAIN_FONT_SCALE); char buffer[200]; sprintf(buffer, "%i/%i", card->power, card->life); - renderer->FillRect(actX - (13 * (actZ*zz)), (actY-yy) + 4 * (actZ*zz), 25.5f * (actZ*zz), 14 * (actZ*zz), + float ymody = (card->isAttacker()||card->isDefenser())&&card->isTapped()?-5.0f:0.0f; + //float ymody = (card->getObserver()->getView()->getRenderedPlayer() == card->controller() ? - mody: +mody); + renderer->FillRect(actX - (13 * (actZ*zz)), (actY-yy+ymody) + 4 * (actZ*zz), 25.5f * (actZ*zz), 14 * (actZ*zz), ARGB(((static_cast(actA))/2),0,0,0)); - renderer->DrawRect(actX - (13 * (actZ*zz)), (actY-yy) + 4 * (actZ*zz), 25.5f * (actZ*zz), 14 * (actZ*zz), + renderer->DrawRect(actX - (13 * (actZ*zz)), (actY-yy+ymody) + 4 * (actZ*zz), 25.5f * (actZ*zz), 14 * (actZ*zz), ARGB(((static_cast(actA))),20,20,20)); //damaged or buffed or powered down if(card->wasDealtDamage && card->life <= 2) @@ -407,7 +409,7 @@ void CardGui::Render() mFont->SetColor(ARGB(static_cast(actA),255,255,255));//white default mFont->SetScale((actZ*zz)); mFont->SetScale((actZ*zz)); - mFont->DrawString(buffer, actX - 10 * (actZ*zz), (actY-yy) + 7 * (actZ*zz)); + mFont->DrawString(buffer, actX - 10 * (actZ*zz), (actY-yy+ymody) + 7 * (actZ*zz)); mFont->SetScale(1); } @@ -472,7 +474,7 @@ void CardGui::Render() if (shadow) { shadow->SetColor(ARGB(200,255,255,255)); - renderer->RenderQuad(shadow.get(), actX, (actY-yy), actT, (28 * (actZ*zz) + 1) / 16, 40 * (actZ*zz) / 16); + renderer->RenderQuad(shadow.get(), actX, (actY-yy), actT, (23 * (actZ*zz) + 1) / 16, 35 * (actZ*zz) / 16); } } From 103981501784cc8d1dade14311d6cc9d6178494b Mon Sep 17 00:00:00 2001 From: Anthony Calosa Date: Sat, 30 Jul 2016 10:21:39 +0800 Subject: [PATCH 3/4] small adjustment meld card have a little space between. reduce render big display. --- projects/mtg/src/ActionStack.cpp | 2 +- projects/mtg/src/CardDisplay.cpp | 4 ++-- projects/mtg/src/CardGui.cpp | 18 +++++++++--------- projects/mtg/src/CardSelector.cpp | 3 ++- 4 files changed, 14 insertions(+), 13 deletions(-) diff --git a/projects/mtg/src/ActionStack.cpp b/projects/mtg/src/ActionStack.cpp index aecf87ddc..6bb329cd9 100644 --- a/projects/mtg/src/ActionStack.cpp +++ b/projects/mtg/src/ActionStack.cpp @@ -130,7 +130,7 @@ void Interruptible::Render(MTGCardInstance * source, JQuad * targetQuad, string if (bigQuad) { - Pos pos = Pos(CardGui::BigWidth / 2, CardGui::BigHeight / 2 - 10, 0.90f, 0.0, 220); + Pos pos = Pos(CardGui::BigWidth / 2, CardGui::BigHeight / 2 - 10, 0.80f, 0.0, 220); pos.actY = 142;//adjust y a little bit CardGui::DrawCard(source, pos, observer->getCardSelector()->GetDrawMode()); } diff --git a/projects/mtg/src/CardDisplay.cpp b/projects/mtg/src/CardDisplay.cpp index d9147acdf..6e6fff9f4 100644 --- a/projects/mtg/src/CardDisplay.cpp +++ b/projects/mtg/src/CardDisplay.cpp @@ -263,8 +263,8 @@ void CardDisplay::Render() { mObjects[mCurr]->Render(); CardGui * cardg = ((CardGui *) mObjects[mCurr]); - Pos pos = Pos(CardGui::BigWidth / 2, CardGui::BigHeight / 2 - 10, 0.90f, 0.0, 220); - int drawMode = DrawMode::kNormal;//scale card display from 1.0f to 0.90f + Pos pos = Pos((CardGui::BigWidth / 2), CardGui::BigHeight / 2 - 10, 0.80f, 0.0, 220); + int drawMode = DrawMode::kNormal;//scale card display from 1.0f to 0.80f if (observer) { pos.actY = 142;//reduce y a little diff --git a/projects/mtg/src/CardGui.cpp b/projects/mtg/src/CardGui.cpp index b57ab059c..956a2f402 100644 --- a/projects/mtg/src/CardGui.cpp +++ b/projects/mtg/src/CardGui.cpp @@ -153,7 +153,7 @@ void CardGui::Render() else quad = AlternateThumbQuad(card); - float cardScale = quad ? 35.5f / quad->mHeight : 1; + float cardScale = quad ? 37.f / quad->mHeight : 1; //I want the below for melded cards but I dont know how to adjust everything else //to look neat and clean. leaving this here incase someone else wants to pretty up the p/t box //and line up the position. @@ -258,7 +258,7 @@ void CardGui::Render() fakeborder->SetColor(ARGB((int)(actA),7,235,7));//green border else fakeborder->SetColor(ARGB((int)(actA),15,15,15)); - renderer->RenderQuad(fakeborder.get(), actX, (actY-yy), actT, (26 * (actZ*zz) + 1) / 16, 38 * (actZ*zz) / 16); + renderer->RenderQuad(fakeborder.get(), actX, (actY-yy), actT, (28 * (actZ*zz) + 1) / 16, 40 * (actZ*zz) / 16); } //draw border for highlighting if (game) @@ -266,26 +266,26 @@ void CardGui::Render() if (card && card->isTargetted() && highlightborder) { highlightborder->SetColor(ARGB(95,255,0,0)); - renderer->RenderQuad(highlightborder.get(), actX, (actY-yy), actT, (27 * (actZ*zz) + 1) / 16, 39 * (actZ*zz) / 16); + renderer->RenderQuad(highlightborder.get(), actX, (actY-yy), actT, (28 * (actZ*zz) + 1) / 16, 40 * (actZ*zz) / 16); } if (card && card->isTargetter() && highlightborder) { highlightborder->SetColor(ARGB(95,0,245,0)); - renderer->RenderQuad(highlightborder.get(), actX, (actY-yy), actT, (27 * (actZ*zz) + 1) / 16, 39 * (actZ*zz) / 16); + renderer->RenderQuad(highlightborder.get(), actX, (actY-yy), actT, (28 * (actZ*zz) + 1) / 16, 40 * (actZ*zz) / 16); } if(card->myPair && card->myPair->isInPlay(game) && highlightborder) { if(mHasFocus) { highlightborder->SetColor(ARGB(200,7,98,248)); - renderer->RenderQuad(highlightborder.get(), actX, (actY-yy), actT, (27 * (actZ*zz) + 1) / 16, 39 * (actZ*zz) / 16); + renderer->RenderQuad(highlightborder.get(), actX, (actY-yy), actT, (28 * (actZ*zz) + 1) / 16, 40 * (actZ*zz) / 16); } if(CardView* cv = dynamic_cast(card->myPair->view)) { if(cv->mHasFocus) { highlightborder->SetColor(ARGB(200,57,28,248)); - renderer->RenderQuad(highlightborder.get(), actX, (actY-yy), actT, (27 * (actZ*zz) + 1) / 16, 39 * (actZ*zz) / 16); + renderer->RenderQuad(highlightborder.get(), actX, (actY-yy), actT, (28 * (actZ*zz) + 1) / 16, 40 * (actZ*zz) / 16); } } } @@ -298,7 +298,7 @@ void CardGui::Render() else highlightborder->SetColor(ARGB(200,57,28,248)); - renderer->RenderQuad(highlightborder.get(), actX, (actY-yy), actT, (27 * (actZ*zz) + 1) / 16, 39 * (actZ*zz) / 16); + renderer->RenderQuad(highlightborder.get(), actX, (actY-yy), actT, (28 * (actZ*zz) + 1) / 16, 40 * (actZ*zz) / 16); } if(CardView* cv = dynamic_cast(card->shackled->view)) { @@ -309,7 +309,7 @@ void CardGui::Render() else highlightborder->SetColor(ARGB(200,57,28,248)); - renderer->RenderQuad(highlightborder.get(), actX, (actY-yy), actT, (27 * (actZ*zz) + 1) / 16, 39 * (actZ*zz) / 16); + renderer->RenderQuad(highlightborder.get(), actX, (actY-yy), actT, (28 * (actZ*zz) + 1) / 16, 40 * (actZ*zz) / 16); } } } @@ -474,7 +474,7 @@ void CardGui::Render() if (shadow) { shadow->SetColor(ARGB(200,255,255,255)); - renderer->RenderQuad(shadow.get(), actX, (actY-yy), actT, (23 * (actZ*zz) + 1) / 16, 35 * (actZ*zz) / 16); + renderer->RenderQuad(shadow.get(), actX, (actY-yy), actT, (25 * (actZ*zz) + 1) / 16, 37 * (actZ*zz) / 16); } } diff --git a/projects/mtg/src/CardSelector.cpp b/projects/mtg/src/CardSelector.cpp index cb698d7a6..84c847c7d 100644 --- a/projects/mtg/src/CardSelector.cpp +++ b/projects/mtg/src/CardSelector.cpp @@ -341,7 +341,8 @@ void CardSelector::Render() { if(timer > 0) { - Pos npos = Pos(bigpos.x+7.f,bigpos.y-4.f,bigpos.zoom-(bigpos.zoom/10),bigpos.t,bigpos.alpha); + float modx = 14.f; + Pos npos = Pos(bigpos.x+modx,bigpos.y-4.f,bigpos.zoom-(bigpos.zoom/5),bigpos.t,bigpos.alpha); //render card card->DrawCard(npos, mDrawMode); } From b90dfbe3b08f76ae80644556c6d100774806abd5 Mon Sep 17 00:00:00 2001 From: Anthony Calosa Date: Sat, 30 Jul 2016 15:04:34 +0800 Subject: [PATCH 4/4] Centered P/T inside P/T box --- projects/mtg/src/CardGui.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/projects/mtg/src/CardGui.cpp b/projects/mtg/src/CardGui.cpp index 956a2f402..d82d0b533 100644 --- a/projects/mtg/src/CardGui.cpp +++ b/projects/mtg/src/CardGui.cpp @@ -390,6 +390,7 @@ void CardGui::Render() mFont->SetScale(DEFAULT_MAIN_FONT_SCALE); char buffer[200]; sprintf(buffer, "%i/%i", card->power, card->life); + //move up the p/t box by increasing ymody float ymody = (card->isAttacker()||card->isDefenser())&&card->isTapped()?-5.0f:0.0f; //float ymody = (card->getObserver()->getView()->getRenderedPlayer() == card->controller() ? - mody: +mody); renderer->FillRect(actX - (13 * (actZ*zz)), (actY-yy+ymody) + 4 * (actZ*zz), 25.5f * (actZ*zz), 14 * (actZ*zz), @@ -409,7 +410,9 @@ void CardGui::Render() mFont->SetColor(ARGB(static_cast(actA),255,255,255));//white default mFont->SetScale((actZ*zz)); mFont->SetScale((actZ*zz)); - mFont->DrawString(buffer, actX - 10 * (actZ*zz), (actY-yy+ymody) + 7 * (actZ*zz)); + //try to center p/t inside the p/t box + float halfbufferW = (mFont->GetStringWidth(buffer))/2; + mFont->DrawString(buffer, actX - (halfbufferW), (actY-yy+ymody) + 5 * (actZ*zz)); mFont->SetScale(1); }