From 0b4b08509591a822bc05bc4ed6aea9f44dd3c27f Mon Sep 17 00:00:00 2001 From: Anthony Calosa Date: Mon, 18 Jul 2016 07:28:31 +0800 Subject: [PATCH 1/8] fix layer order --- projects/mtg/src/DeckMenu.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/projects/mtg/src/DeckMenu.cpp b/projects/mtg/src/DeckMenu.cpp index 68d06fdae..18b66594d 100644 --- a/projects/mtg/src/DeckMenu.cpp +++ b/projects/mtg/src/DeckMenu.cpp @@ -259,6 +259,7 @@ void DeckMenu::Render() if (avatarholder.get() && menupanel.get() && inDeckMenu)//bg panel renderer->RenderQuad(menupanel.get(), 225.f, 0, 0 ,SCREEN_WIDTH_F / avatarholder.get()->mWidth, SCREEN_HEIGHT_F / avatarholder.get()->mHeight); RenderBackground();//background deck menu + mScroller->Render(); if (menuholder.get() && inDeckMenu)//menuholder renderer->RenderQuad(menuholder.get(), 0, 0, 0 ,SCREEN_WIDTH_F / menuholder.get()->mWidth, SCREEN_HEIGHT_F / menuholder.get()->mHeight); @@ -345,7 +346,6 @@ void DeckMenu::Render() } } - mScroller->Render(); RenderDeckManaColors(); if (!title.empty()) From d860954c322e366838235d61a52110fb7d7ee937 Mon Sep 17 00:00:00 2001 From: Anthony Calosa Date: Mon, 18 Jul 2016 07:32:02 +0800 Subject: [PATCH 2/8] fix crash with cdaactive and token cdaactive is forcedalive, if the token dies, forcedestroy it, token/s go to garbage --- projects/mtg/include/AllAbilities.h | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/projects/mtg/include/AllAbilities.h b/projects/mtg/include/AllAbilities.h index 5681d7994..259df7f82 100644 --- a/projects/mtg/include/AllAbilities.h +++ b/projects/mtg/include/AllAbilities.h @@ -2633,6 +2633,11 @@ public: { if(!nonstatic) return; + if(source->isToken && !source->isInPlay(game) && cda) + { + this->forceDestroy = 1; + return; + } if(!cda || (cda && (((MTGCardInstance *) target)->isSettingBase < 1))) { if(((MTGCardInstance *) target)->isSwitchedPT) From 8314d4c9ae9741640f75fd5800b42b378014780d Mon Sep 17 00:00:00 2001 From: Anthony Calosa Date: Mon, 18 Jul 2016 09:24:28 +0800 Subject: [PATCH 3/8] update GameStateMenu as Zeth suggested --- .../mtg/bin/Res/graphics/button_shoulder.png | Bin 3359 -> 17792 bytes projects/mtg/src/GameStateMenu.cpp | 25 ++++++++++++++---- projects/mtg/src/MenuItem.cpp | 25 +++++++++++++----- projects/mtg/src/TextScroller.cpp | 13 +-------- 4 files changed, 40 insertions(+), 23 deletions(-) diff --git a/projects/mtg/bin/Res/graphics/button_shoulder.png b/projects/mtg/bin/Res/graphics/button_shoulder.png index 631fcbc3bf1691d7884382240da9ff9b8690fe5d..b254e4d3233d9b0c01a27b8b66074c8a60de8b71 100644 GIT binary patch literal 17792 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 Wo8->?z)#(v2{_oeSQlFP?EV*d7g|mL delta 659 zcmV;E0&M+&ivgb+A&F2z@;j(q!3lasMTE`I_#Nklcn9nNzvum^=-)SimkSoX7l9|h_x{0M`X2yy z#-d@7wAPQ_1K@Sk^c?`umY|-cfqQ)r526BCrdF^9ya3(;r)LGQjM@S|0vC>I^~($Z zU?Y`E?VF~#9s~iSSAS>@m_>0Km^5wnk|l&VW18lB&+~2q_S8Y>IH#3Tu?8@{o?`2U zVHj`P?e>iz2!hf5#$k?+J0Hi9IZ7lLhOz1U{$nZS(<1>WrG_~&?tI)JL;(Ph&1Sco z&E}_GuXhjvAcPnehf$}erNBu;7d0Dnj+b<46QoSz2cq&1Hn z187Pq(&_XS+qSO*pNDO*SS+?%t=2FC;#>e{0W@y&U@fJjUa#Z2?%hxXIF7SZDwS^M z^ZE5mCWEGFv5kOv)5djOYPA~GY8Bu2zk~qjy8gp)oLl8``9m(3%jvovst0i_fKdT> zo`-GQbi3VMT~ya!O>_anFurvRetrieveTempQuad("button_shoulder.png"); + JQuadPtr jq = WResourceManager::Instance()->RetrieveTempQuad("button_shoulder.png");//I set this transparent, don't remove button_shoulder.png if (!jq.get()) return; jq->SetHFlip(false); + jq->mWidth = 64.f; + jq->mHeight = 32.f; jq->SetColor(ARGB(abs(255),255,255,255)); mFont = WResourceManager::Instance()->GetWFont(Fonts::OPTION_FONT); vectorotherItems = gModRules.menu.other; @@ -455,7 +457,7 @@ void GameStateMenu::ensureMGuiController() mGuiController->Add(NEW OtherMenuItem( otherItems[0]->mActionId, mFont, otherItems[0]->mDisplayName, - SCREEN_WIDTH - 64, 2, + SCREEN_WIDTH - 64, SCREEN_HEIGHT_F-26.f, jq.get(), jq.get(), otherItems[0]->mKey, false )); } @@ -733,8 +735,21 @@ void GameStateMenu::RenderTopMenu() WFont * mFont = WResourceManager::Instance()->GetWFont(Fonts::MAIN_FONT); mFont->SetScale(DEFAULT_MAIN_FONT_SCALE); - mFont->SetColor(ARGB(128,255,255,255)); - mFont->DrawString(GAME_VERSION, rightTextPos, 5, JGETEXT_RIGHT); + //mFont->SetColor(ARGB(128,255,255,255)); + mFont->SetColor(ARGB(220,255,255,255)); + /*//tooltip + JQuadPtr tooltips; + tooltips = WResourceManager::Instance()->RetrieveTempQuad("tooltips.png");//new graphics tooltips + if (tooltips.get()) + { + float xscale = (mFont->GetStringWidth(GAME_VERSION)+(mFont->GetStringWidth(GAME_VERSION)/18)) / tooltips->mWidth; + float yscale = mFont->GetHeight() / tooltips->mHeight; + tooltips->SetHotSpot(tooltips->mWidth / 2,0); + JRenderer::GetInstance()->RenderQuad(tooltips.get(), SCREEN_WIDTH_F/2, SCREEN_HEIGHT_F-17,0,xscale,yscale); + } + //end tooltip*/ + mFont->DrawString(GAME_VERSION, (SCREEN_WIDTH_F/2) - (mFont->GetStringWidth(GAME_VERSION))/2, SCREEN_HEIGHT_F-17, JGETEXT_LEFT); + mFont->SetColor(ARGB(128,255,255,255));//reset color mFont->DrawString(GameApp::mynbcardsStr, leftTextPos, 5); renderer->FillRect(leftTextPos, 26, 104, 8, ARGB(255, 100, 90, 60)); renderer->FillRect(leftTextPos + 2, 28, (float)(gamePercentComplete()), 4, ARGB(255,220,200, 125)); diff --git a/projects/mtg/src/MenuItem.cpp b/projects/mtg/src/MenuItem.cpp index f8c192427..a8198db47 100644 --- a/projects/mtg/src/MenuItem.cpp +++ b/projects/mtg/src/MenuItem.cpp @@ -138,8 +138,9 @@ void OtherMenuItem::Render() float olds = mFont->GetScale(); float xPos = SCREEN_WIDTH - 64; float xTextPos = xPos + 54; + float yPos = SCREEN_HEIGHT_F-26.f; int textAlign = JGETEXT_RIGHT; - onQuad->SetHFlip(false); + //onQuad->SetHFlip(false); switch(mKey) { @@ -147,18 +148,30 @@ void OtherMenuItem::Render() xPos = 5; xTextPos = xPos + 10; textAlign = JGETEXT_LEFT; - onQuad->SetHFlip(true); + //onQuad->SetHFlip(true); break; default: break; } - onQuad->SetColor(ARGB(abs(alpha),255,255,255)); - mFont->SetColor(ARGB(abs(alpha),0,0,0)); + //onQuad->SetColor(ARGB(abs(alpha),255,255,255)); mFont->SetScale(1.0f); mFont->SetScale(50.0f / mFont->GetStringWidth(mText.c_str())); - JRenderer::GetInstance()->RenderQuad(onQuad, xPos, 2, 0, mScale, mScale); - mFont->DrawString(mText, xTextPos, 9, textAlign); + //JRenderer::GetInstance()->RenderQuad(onQuad, xPos, yPos+2, 0, mScale, mScale); + //JRenderer::GetInstance()->FillRoundRect(xPos,yPos+2,mFont->GetStringWidth(mText.c_str()),mFont->GetHeight(),2,ARGB(abs(alpha),255,255,255)); + JRenderer::GetInstance()->FillRoundRect(xPos+1, yPos+6, mFont->GetStringWidth(mText.c_str()) - 3, mFont->GetHeight() - 10, 5, ARGB(abs(alpha-20), 5, 5, 5)); + if(!mHasFocus) + { + mFont->SetColor(ARGB(abs(alpha),255,255,255)); + JRenderer::GetInstance()->FillRoundRect(xPos, yPos+5, mFont->GetStringWidth(mText.c_str()) - 3, mFont->GetHeight() - 10, 5, ARGB(abs(alpha-20), 140, 23, 23)); + } + else + { + mFont->SetColor(ARGB(abs(alpha),5,5,5)); + JRenderer::GetInstance()->FillRoundRect(xPos, yPos+5, mFont->GetStringWidth(mText.c_str()) - 3, mFont->GetHeight() - 10, 5, ARGB(abs(alpha-20), 140, 140, 140)); + } + JRenderer::GetInstance()->DrawRoundRect(xPos, yPos+5, mFont->GetStringWidth(mText.c_str()) - 3, mFont->GetHeight() - 10, 5, ARGB(abs(alpha-20), 5, 5, 5)); + mFont->DrawString(mText, xTextPos, yPos+9, textAlign); mFont->SetScale(olds); } diff --git a/projects/mtg/src/TextScroller.cpp b/projects/mtg/src/TextScroller.cpp index dc98af964..2ff9a47f2 100644 --- a/projects/mtg/src/TextScroller.cpp +++ b/projects/mtg/src/TextScroller.cpp @@ -67,18 +67,7 @@ void TextScroller::Update(float dt) void TextScroller::Render() { WFont * mFont = WResourceManager::Instance()->GetWFont(fontId); - //tooltip - JQuadPtr tooltips; - tooltips = WResourceManager::Instance()->RetrieveTempQuad("tooltips.png");//new graphics tooltips - if (tooltips.get()) - { - float xscale = (mWidth+(mWidth/18)) / tooltips->mWidth; - float yscale = mFont->GetHeight() / tooltips->mHeight; - JRenderer::GetInstance()->RenderQuad(tooltips.get(), mX-4.5f, mY+0.5f,0,xscale,yscale); - } - else - JRenderer::GetInstance()->FillRoundRect(mX,mY,mWidth,mFont->GetHeight(), 1, ARGB(225,5,5,5)); - //end tooltip + mFont->SetColor(ARGB(128,255,255,255)); mFont->DrawString(mText.c_str(), mX, mY, JGETEXT_LEFT, start, mWidth); } From d37aac0c719bce9195b7105c18c15916809610e7 Mon Sep 17 00:00:00 2001 From: Anthony Calosa Date: Mon, 18 Jul 2016 10:15:22 +0800 Subject: [PATCH 4/8] added fakebar.png --- projects/mtg/bin/Res/graphics/fakebar.png | Bin 0 -> 5885 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 projects/mtg/bin/Res/graphics/fakebar.png diff --git a/projects/mtg/bin/Res/graphics/fakebar.png b/projects/mtg/bin/Res/graphics/fakebar.png new file mode 100644 index 0000000000000000000000000000000000000000..4eb82f8c2c3dd26f8f6c73e8fda66d3ccc33769c GIT binary patch literal 5885 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 Date: Mon, 18 Jul 2016 10:19:01 +0800 Subject: [PATCH 5/8] add fakebar --- projects/mtg/src/GuiPhaseBar.cpp | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/projects/mtg/src/GuiPhaseBar.cpp b/projects/mtg/src/GuiPhaseBar.cpp index 0de7a7de2..9f879ecbb 100644 --- a/projects/mtg/src/GuiPhaseBar.cpp +++ b/projects/mtg/src/GuiPhaseBar.cpp @@ -95,7 +95,7 @@ bool GuiPhaseBar::Leaving(JButton) void GuiPhaseBar::Render() { JQuadPtr quad = WResourceManager::Instance()->GetQuad("phasebar"); - JQuadPtr phaseinfo = WResourceManager::Instance()->RetrieveTempQuad("phaseinfo.png"); //new phaseinfo graphics + JQuadPtr phaseinfo = WResourceManager::Instance()->RetrieveTempQuad("fakebar.png"); //new fakebar graphics //uncomment to draw a hideous line across hires screens. // JRenderer::GetInstance()->DrawLine(0, CENTER, SCREEN_WIDTH, CENTER, ARGB(255, 255, 255, 255)); @@ -151,10 +151,10 @@ void GuiPhaseBar::Render() sprintf(buf, _("(%s%s) %s").c_str(), currentP.c_str(), interrupt.c_str(),phaseNameToTranslate.c_str()); if(phaseinfo.get()) { - phaseinfo->SetHotSpot(phaseinfo->mWidth - 1.f,0); - phaseinfo->mWidth = font->GetStringWidth(buf)+12.f; - phaseinfo->mHeight = font->GetHeight()+5.f; - JRenderer::GetInstance()->RenderQuad(phaseinfo.get(),SCREEN_WIDTH_F,0,0); + phaseinfo->SetHotSpot(phaseinfo->mWidth-2.f,0); + //phaseinfo->mWidth = font->GetStringWidth(buf)+12.f; + //phaseinfo->mHeight = font->GetHeight()+5.f; + JRenderer::GetInstance()->RenderQuad(phaseinfo.get(),SCREEN_WIDTH_F,0,0,SCREEN_WIDTH_F / phaseinfo->mWidth, SCREEN_HEIGHT_F / phaseinfo->mHeight); } font->DrawString(buf, SCREEN_WIDTH - 5, 2, JGETEXT_RIGHT); } From acbaa69305373aa6a7f8a10cb23c2965a74d0a37 Mon Sep 17 00:00:00 2001 From: Anthony Calosa Date: Mon, 18 Jul 2016 10:38:40 +0800 Subject: [PATCH 6/8] use previous "phaseinfo" as fakebar --- projects/mtg/src/GameStateMenu.cpp | 2 +- projects/mtg/src/TextScroller.cpp | 11 +++++++++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/projects/mtg/src/GameStateMenu.cpp b/projects/mtg/src/GameStateMenu.cpp index 8ef23402d..9c1ace170 100644 --- a/projects/mtg/src/GameStateMenu.cpp +++ b/projects/mtg/src/GameStateMenu.cpp @@ -117,7 +117,7 @@ void GameStateMenu::Create() { currentState = MENU_STATE_MAJOR_LANG | MENU_STATE_MINOR_NONE; } - scroller = NEW TextScroller(Fonts::MAIN_FONT, SCREEN_WIDTH / 2 + 50, 5, 180); + scroller = NEW TextScroller(Fonts::MAIN_FONT, SCREEN_WIDTH / 2 + 65, 5, 180); scrollerSet = 0; splashTex = NULL; diff --git a/projects/mtg/src/TextScroller.cpp b/projects/mtg/src/TextScroller.cpp index 2ff9a47f2..99c11f1b5 100644 --- a/projects/mtg/src/TextScroller.cpp +++ b/projects/mtg/src/TextScroller.cpp @@ -66,8 +66,19 @@ void TextScroller::Update(float dt) void TextScroller::Render() { + JQuadPtr fakebar = WResourceManager::Instance()->RetrieveTempQuad("phaseinfo.png"); //new phaseinfo graphics WFont * mFont = WResourceManager::Instance()->GetWFont(fontId); mFont->SetColor(ARGB(128,255,255,255)); + if(fakebar.get()) + { + if(mText.length() > 1) + { + float xscale = (mFont->GetStringWidth(mText.c_str())+(mFont->GetStringWidth(mText.c_str())/18)) / fakebar->mWidth; + float yscale = (mFont->GetHeight()+(mFont->GetHeight()/3.5f)) / fakebar->mHeight; + fakebar->SetHotSpot(fakebar->mWidth-8.f,0); + JRenderer::GetInstance()->RenderQuad(fakebar.get(),SCREEN_WIDTH_F, 4,0,xscale,yscale); + } + } mFont->DrawString(mText.c_str(), mX, mY, JGETEXT_LEFT, start, mWidth); } From 362d69287924e64de2d37db14f5bf797c6311bd8 Mon Sep 17 00:00:00 2001 From: Anthony Calosa Date: Mon, 18 Jul 2016 10:53:07 +0800 Subject: [PATCH 7/8] cleanup --- projects/mtg/src/TextScroller.cpp | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/projects/mtg/src/TextScroller.cpp b/projects/mtg/src/TextScroller.cpp index 99c11f1b5..0b3fc3024 100644 --- a/projects/mtg/src/TextScroller.cpp +++ b/projects/mtg/src/TextScroller.cpp @@ -66,14 +66,20 @@ void TextScroller::Update(float dt) void TextScroller::Render() { - JQuadPtr fakebar = WResourceManager::Instance()->RetrieveTempQuad("phaseinfo.png"); //new phaseinfo graphics + + JQuadPtr fakebar; + JTexture * tex = WResourceManager::Instance()->RetrieveTexture("phaseinfo.png"); + if (tex) + { + fakebar = WResourceManager::Instance()->RetrieveQuad("phaseinfo.png", 0.0f, 0.0f, tex->mWidth - 3.5f, tex->mHeight - 2.0f); //avoids weird rectangle around the texture because of bilinear filtering + } WFont * mFont = WResourceManager::Instance()->GetWFont(fontId); mFont->SetColor(ARGB(128,255,255,255)); if(fakebar.get()) { if(mText.length() > 1) { - float xscale = (mFont->GetStringWidth(mText.c_str())+(mFont->GetStringWidth(mText.c_str())/18)) / fakebar->mWidth; + float xscale = (SCREEN_WIDTH_F/2.6f) / fakebar->mWidth; float yscale = (mFont->GetHeight()+(mFont->GetHeight()/3.5f)) / fakebar->mHeight; fakebar->SetHotSpot(fakebar->mWidth-8.f,0); JRenderer::GetInstance()->RenderQuad(fakebar.get(),SCREEN_WIDTH_F, 4,0,xscale,yscale); From c9576e260ebe30f339640e8b495032ff25575e57 Mon Sep 17 00:00:00 2001 From: Anthony Calosa Date: Mon, 18 Jul 2016 11:04:14 +0800 Subject: [PATCH 8/8] fix blinking menu item --- projects/mtg/src/MenuItem.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/projects/mtg/src/MenuItem.cpp b/projects/mtg/src/MenuItem.cpp index a8198db47..ebdddebb7 100644 --- a/projects/mtg/src/MenuItem.cpp +++ b/projects/mtg/src/MenuItem.cpp @@ -159,16 +159,16 @@ void OtherMenuItem::Render() mFont->SetScale(50.0f / mFont->GetStringWidth(mText.c_str())); //JRenderer::GetInstance()->RenderQuad(onQuad, xPos, yPos+2, 0, mScale, mScale); //JRenderer::GetInstance()->FillRoundRect(xPos,yPos+2,mFont->GetStringWidth(mText.c_str()),mFont->GetHeight(),2,ARGB(abs(alpha),255,255,255)); - JRenderer::GetInstance()->FillRoundRect(xPos+1, yPos+6, mFont->GetStringWidth(mText.c_str()) - 3, mFont->GetHeight() - 10, 5, ARGB(abs(alpha-20), 5, 5, 5)); + JRenderer::GetInstance()->FillRoundRect(xPos+1, yPos+6, mFont->GetStringWidth(mText.c_str()) - 3, mFont->GetHeight() - 10, 5, ARGB(abs(alpha), 5, 5, 5)); if(!mHasFocus) { mFont->SetColor(ARGB(abs(alpha),255,255,255)); - JRenderer::GetInstance()->FillRoundRect(xPos, yPos+5, mFont->GetStringWidth(mText.c_str()) - 3, mFont->GetHeight() - 10, 5, ARGB(abs(alpha-20), 140, 23, 23)); + JRenderer::GetInstance()->FillRoundRect(xPos, yPos+5, mFont->GetStringWidth(mText.c_str()) - 3, mFont->GetHeight() - 10, 5, ARGB(abs(alpha), 140, 23, 23)); } else { mFont->SetColor(ARGB(abs(alpha),5,5,5)); - JRenderer::GetInstance()->FillRoundRect(xPos, yPos+5, mFont->GetStringWidth(mText.c_str()) - 3, mFont->GetHeight() - 10, 5, ARGB(abs(alpha-20), 140, 140, 140)); + JRenderer::GetInstance()->FillRoundRect(xPos, yPos+5, mFont->GetStringWidth(mText.c_str()) - 3, mFont->GetHeight() - 10, 5, ARGB(abs(alpha), 140, 140, 140)); } JRenderer::GetInstance()->DrawRoundRect(xPos, yPos+5, mFont->GetStringWidth(mText.c_str()) - 3, mFont->GetHeight() - 10, 5, ARGB(abs(alpha-20), 5, 5, 5)); mFont->DrawString(mText, xTextPos, yPos+9, textAlign);