@@ -36,7 +36,7 @@ protected:
|
|||||||
static void RenderBig(MTGCard * card, const Pos& pos, bool thumb = false, bool noborder = false, bool smallerscale = false, bool ingame = false);
|
static void RenderBig(MTGCard * card, const Pos& pos, bool thumb = false, bool noborder = false, bool smallerscale = false, bool ingame = false);
|
||||||
|
|
||||||
static void RenderCountersBig(MTGCard * card, const Pos& pos, int drawMode = DrawMode::kNormal);
|
static void RenderCountersBig(MTGCard * card, const Pos& pos, int drawMode = DrawMode::kNormal);
|
||||||
static void AlternateRender(MTGCard * card, const Pos& pos);
|
static void AlternateRender(MTGCard * card, const Pos& pos, bool noborder = false, bool smallerscale = false);
|
||||||
static void TinyCropRender(MTGCard * card, const Pos& pos, JQuad * quad);
|
static void TinyCropRender(MTGCard * card, const Pos& pos, JQuad * quad);
|
||||||
static string FormattedData (string data, string replace, string value);
|
static string FormattedData (string data, string replace, string value);
|
||||||
static bool FilterCard (MTGCard * card,string filter);
|
static bool FilterCard (MTGCard * card,string filter);
|
||||||
|
|||||||
@@ -124,7 +124,7 @@ void CardGui::DrawCard(MTGCard* inCard, const Pos& inPosition, int inMode, bool
|
|||||||
RenderBig(inCard, inPosition, thumb, noborder, smallerscale, ingame);
|
RenderBig(inCard, inPosition, thumb, noborder, smallerscale, ingame);
|
||||||
break;
|
break;
|
||||||
case DrawMode::kText:
|
case DrawMode::kText:
|
||||||
AlternateRender(inCard, inPosition);
|
AlternateRender(inCard, inPosition, noborder, smallerscale);
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
@@ -137,6 +137,10 @@ void CardGui::Render()
|
|||||||
WFont * mFont = game?game->getResourceManager()->GetWFont(Fonts::MAIN_FONT):WResourceManager::Instance()->GetWFont(Fonts::MAIN_FONT);
|
WFont * mFont = game?game->getResourceManager()->GetWFont(Fonts::MAIN_FONT):WResourceManager::Instance()->GetWFont(Fonts::MAIN_FONT);
|
||||||
JRenderer * renderer = JRenderer::GetInstance();
|
JRenderer * renderer = JRenderer::GetInstance();
|
||||||
TargetChooser * tc = NULL;
|
TargetChooser * tc = NULL;
|
||||||
|
//fake border and mask...
|
||||||
|
JQuadPtr fakeborder = game? game->getResourceManager()->GetQuad("white"):WResourceManager::Instance()->GetQuad("white");
|
||||||
|
JQuadPtr highlightborder = game? game->getResourceManager()->GetQuad("white"):WResourceManager::Instance()->GetQuad("white");
|
||||||
|
JQuadPtr fakemask = game? game->getResourceManager()->GetQuad("white"):WResourceManager::Instance()->GetQuad("white");
|
||||||
|
|
||||||
if (game)
|
if (game)
|
||||||
tc = game->getCurrentTargetChooser();
|
tc = game->getCurrentTargetChooser();
|
||||||
@@ -252,11 +256,6 @@ void CardGui::Render()
|
|||||||
if (quad)
|
if (quad)
|
||||||
{
|
{
|
||||||
quad->SetColor(ARGB(static_cast<unsigned char>(actA),255,255,255));
|
quad->SetColor(ARGB(static_cast<unsigned char>(actA),255,255,255));
|
||||||
//fake border...
|
|
||||||
JQuadPtr fakeborder;
|
|
||||||
JQuadPtr highlightborder;
|
|
||||||
fakeborder = game? game->getResourceManager()->GetQuad("white"):WResourceManager::Instance()->GetQuad("white");
|
|
||||||
highlightborder = game? game->getResourceManager()->GetQuad("white"):WResourceManager::Instance()->GetQuad("white");
|
|
||||||
if(fakeborder)
|
if(fakeborder)
|
||||||
{
|
{
|
||||||
int rgb = isBlackBorder(setlist[card->setId].c_str())?15:240;
|
int rgb = isBlackBorder(setlist[card->setId].c_str())?15:240;
|
||||||
@@ -265,7 +264,7 @@ void CardGui::Render()
|
|||||||
else
|
else
|
||||||
fakeborder->SetColor(ARGB((int)(actA),rgb,rgb,rgb));
|
fakeborder->SetColor(ARGB((int)(actA),rgb,rgb,rgb));
|
||||||
renderer->RenderQuad(fakeborder.get(), actX, (actY-yy), actT, (28 * (actZ*zz) + 1) / 16, 40 * (actZ*zz) / 16);
|
renderer->RenderQuad(fakeborder.get(), actX, (actY-yy), actT, (28 * (actZ*zz) + 1) / 16, 40 * (actZ*zz) / 16);
|
||||||
renderer->DrawRect(actX, (actY-yy),((28 * (actZ*zz) + 1) / 16),(40 * (actZ*zz) / 16),ARGB((int)(actA),240,240,240));
|
//renderer->DrawRect(actX, (actY-yy),((28 * (actZ*zz) + 1) / 16),(40 * (actZ*zz) / 16),ARGB((int)(actA),240,240,240));
|
||||||
}
|
}
|
||||||
//draw border for highlighting
|
//draw border for highlighting
|
||||||
if (game)
|
if (game)
|
||||||
@@ -484,7 +483,7 @@ void CardGui::Render()
|
|||||||
if (shadow)
|
if (shadow)
|
||||||
{
|
{
|
||||||
shadow->SetColor(ARGB(200,255,255,255));
|
shadow->SetColor(ARGB(200,255,255,255));
|
||||||
renderer->RenderQuad(shadow.get(), actX, (actY-yy), actT, (25 * (actZ*zz) + 1) / 16, 37 * (actZ*zz) / 16);
|
renderer->RenderQuad(shadow.get(), actX, (actY-yy), actT, (28 * (actZ*zz) + 1) / 16, 40 * (actZ*zz) / 16);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -494,28 +493,18 @@ void CardGui::Render()
|
|||||||
|
|
||||||
if ((tc && tc->alreadyHasTarget(card)) || (game && card == game->mLayers->actionLayer()->currentActionCard))//paint targets red.
|
if ((tc && tc->alreadyHasTarget(card)) || (game && card == game->mLayers->actionLayer()->currentActionCard))//paint targets red.
|
||||||
{
|
{
|
||||||
float xy = yy>0.0f?2.0f:1.0f;
|
if(fakemask)
|
||||||
float modx = mHasFocus?xy:0.0f;
|
|
||||||
if (card->isTapped())
|
|
||||||
{
|
{
|
||||||
renderer->FillRect(actX - (scale * quad->mWidth / 2)-(7+modx),(actY-yy) - (scale * quad->mHeight / 2)+(7+modx),scale* quad->mHeight,scale * quad->mWidth, ARGB(128,255,0,0));
|
fakemask->SetColor(ARGB(150,255,0,0));
|
||||||
}
|
renderer->RenderQuad(fakemask.get(), actX, (actY-yy), actT, (26 * (actZ*zz) + 1) / 16, 38 * (actZ*zz) / 16);
|
||||||
else
|
|
||||||
{
|
|
||||||
renderer->FillRect(actX - (scale * quad->mWidth / 2),(actY-yy) - (scale * quad->mHeight / 2), scale * quad->mWidth, scale* quad->mHeight, ARGB(128,255,0,0));
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if(tc && tc->source && tc->source->view && tc->source->view->actY >= 1.3 && card == tc->source)//paint the source green while infocus.
|
if(tc && tc->source && tc->source->view && tc->source->view->actY >= 1.3 && card == tc->source)//paint the source green while infocus.
|
||||||
{
|
{
|
||||||
float xy = yy>0.0f?2.0f:1.0f;
|
if(fakemask)
|
||||||
float modx = mHasFocus?xy:0.0f;
|
|
||||||
if (tc->source->isTapped())
|
|
||||||
{
|
{
|
||||||
renderer->FillRect(actX - (scale * quad->mWidth / 2)-(7+modx),(actY-yy) - (scale * quad->mHeight / 2)+(7+modx),scale* quad->mHeight,scale * quad->mWidth, ARGB(128,0,255,0));
|
fakemask->SetColor(ARGB(150,0,255,0));
|
||||||
}
|
renderer->RenderQuad(fakemask.get(), actX, (actY-yy), actT, (26 * (actZ*zz) + 1) / 16, 38 * (actZ*zz) / 16);
|
||||||
else
|
|
||||||
{
|
|
||||||
renderer->FillRect(tc->source->view->actX - (scale * quad->mWidth / 2),(tc->source->view->actY-yy) - (scale * quad->mHeight / 2), scale*quad->mWidth, scale*quad->mHeight, ARGB(128,0,255,0));
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -545,12 +534,13 @@ JQuadPtr CardGui::AlternateThumbQuad(MTGCard * card)
|
|||||||
return q;
|
return q;
|
||||||
}
|
}
|
||||||
|
|
||||||
void CardGui::AlternateRender(MTGCard * card, const Pos& pos)
|
void CardGui::AlternateRender(MTGCard * card, const Pos& pos, bool noborder, bool smallerscale)
|
||||||
{
|
{
|
||||||
// Draw the "unknown" card model
|
// Draw the "unknown" card model
|
||||||
JRenderer * renderer = JRenderer::GetInstance();
|
JRenderer * renderer = JRenderer::GetInstance();
|
||||||
JQuadPtr q;
|
JQuadPtr q;
|
||||||
|
//set id
|
||||||
|
string cardsetname = setlist[card->setId].c_str();
|
||||||
float x = pos.actX;
|
float x = pos.actX;
|
||||||
|
|
||||||
vector<ModRulesBackGroundCardGuiItem *>items = gModRules.cardgui.background;
|
vector<ModRulesBackGroundCardGuiItem *>items = gModRules.cardgui.background;
|
||||||
@@ -574,6 +564,10 @@ void CardGui::AlternateRender(MTGCard * card, const Pos& pos)
|
|||||||
|
|
||||||
float scale = pos.actZ * 250 / q->mHeight;
|
float scale = pos.actZ * 250 / q->mHeight;
|
||||||
q->SetColor(ARGB((int)pos.actA,255,255,255));
|
q->SetColor(ARGB((int)pos.actA,255,255,255));
|
||||||
|
|
||||||
|
//Draw border
|
||||||
|
DrawBorder(cardsetname, pos, x, noborder, smallerscale);
|
||||||
|
//render alternate
|
||||||
renderer->RenderQuad(q.get(), x, pos.actY, pos.actT, scale, scale);
|
renderer->RenderQuad(q.get(), x, pos.actY, pos.actT, scale, scale);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1186,7 +1180,7 @@ void CardGui::RenderBig(MTGCard* card, const Pos& pos, bool thumb, bool noborder
|
|||||||
//DebugTrace("Unable to fetch image: " << card->getImageName());
|
//DebugTrace("Unable to fetch image: " << card->getImageName());
|
||||||
|
|
||||||
// If we come here, we do not have the picture.
|
// If we come here, we do not have the picture.
|
||||||
AlternateRender(card, pos);
|
AlternateRender(card, pos, noborder, smallerscale);
|
||||||
}
|
}
|
||||||
|
|
||||||
void CardGui::DrawBorder(string cardsetname, const Pos& pos, float x, bool noborder, bool smallerscale)
|
void CardGui::DrawBorder(string cardsetname, const Pos& pos, float x, bool noborder, bool smallerscale)
|
||||||
|
|||||||
Reference in New Issue
Block a user