Merge pull request #641 from kevlahnota/master
Fix crash bug, support doubled res texture for background, avatars, menutitle
|
Before Width: | Height: | Size: 33 KiB After Width: | Height: | Size: 46 KiB |
BIN
projects/mtg/bin/Res/graphics/miconslarge.png
Normal file
|
After Width: | Height: | Size: 146 KiB |
|
Before Width: | Height: | Size: 124 KiB After Width: | Height: | Size: 125 KiB |
|
Before Width: | Height: | Size: 14 KiB After Width: | Height: | Size: 28 KiB |
|
Before Width: | Height: | Size: 40 KiB After Width: | Height: | Size: 46 KiB |
|
Before Width: | Height: | Size: 69 KiB After Width: | Height: | Size: 76 KiB |
|
Before Width: | Height: | Size: 36 KiB After Width: | Height: | Size: 51 KiB |
|
Before Width: | Height: | Size: 54 KiB After Width: | Height: | Size: 54 KiB |
|
Before Width: | Height: | Size: 47 KiB After Width: | Height: | Size: 49 KiB |
|
Before Width: | Height: | Size: 13 KiB After Width: | Height: | Size: 36 KiB |
|
Before Width: | Height: | Size: 21 KiB After Width: | Height: | Size: 24 KiB |
@@ -22,7 +22,7 @@ private:
|
||||
InOutQuadEasing zoomFactorEasing;
|
||||
DuelLayers* mpDuelLayers;
|
||||
|
||||
void DrawGlyph(JQuad *inQuad, int phaseId, float x, float y, float scale);
|
||||
void DrawGlyph(JQuad *inQuad, int phaseId, float x, float y, float scale, float z);
|
||||
public:
|
||||
GuiPhaseBar(DuelLayers* duelLayers);
|
||||
~GuiPhaseBar();
|
||||
|
||||
@@ -1220,11 +1220,11 @@ void ActionStack::Render()
|
||||
JRenderer * renderer = JRenderer::GetInstance();
|
||||
|
||||
//stack shadow
|
||||
renderer->FillRoundRect(x0 - 7, y0+2, width + 17, height + 2, 9.0f, ARGB(128,0,0,0));
|
||||
//renderer->FillRoundRect(x0 - 7, y0+2, width + 17, height + 2, 9.0f, ARGB(128,0,0,0));
|
||||
//stack fill
|
||||
renderer->FillRoundRect(x0 - 7, y0+2, width + 17, height + 2, 9.0f, ARGB(200,10,10,10));
|
||||
renderer->FillRect(x0 - 7, y0+2, width + 17, height + 14, ARGB(215,10,10,10));
|
||||
//stack border
|
||||
renderer->DrawRoundRect(x0 - 7, y0+2, width + 17, height + 2, 9.0f, ARGB(160,240,240,240));
|
||||
renderer->DrawRect(x0 - 7, y0+2, width + 17, height + 14, ARGB(180,240,240,240));
|
||||
|
||||
std::ostringstream stream;
|
||||
// WALDORF - changed "interrupt ?" to "Interrupt?". Don't display count down
|
||||
|
||||
@@ -237,29 +237,30 @@ void CardGui::Render()
|
||||
if (quad)
|
||||
{
|
||||
quad->SetColor(ARGB(static_cast<unsigned char>(actA),255,255,255));
|
||||
//static border
|
||||
/*if(card->isTapped())
|
||||
{
|
||||
//focus?
|
||||
CardView* cv = dynamic_cast<CardView*>(card->view);
|
||||
if(cv->mHasFocus)
|
||||
renderer->FillRoundRect(actX - (scale * quad->mWidth / 2)-9.0f,actY - (scale * quad->mHeight / 2)+7, (scale * quad->mHeight)-0.02f, (scale * quad->mWidth)-0.02f, 1.0f,ARGB(250,20,20,20));
|
||||
else
|
||||
renderer->FillRoundRect(actX - (scale * quad->mWidth / 2)-7,actY - (scale * quad->mHeight / 2)+5.5f, (scale * quad->mHeight)-0.02f, (scale * quad->mWidth)-0.02f, 1.0f,ARGB(250,20,20,20));
|
||||
}
|
||||
else
|
||||
{
|
||||
renderer->FillRoundRect(actX - (scale * quad->mWidth / 2)-1,actY - (scale * quad->mHeight / 2)-1, (scale * quad->mWidth)-0.02f, (scale * quad->mHeight)-0.02f, 1.0f,ARGB(250,20,20,20));
|
||||
}*///the border needs animation when the card rotates...but how?
|
||||
|
||||
//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)
|
||||
{
|
||||
fakeborder->SetColor(ARGB((int)(actA),15,15,15));
|
||||
renderer->RenderQuad(fakeborder.get(), actX, actY, actT, (29 * actZ + 1) / 16, 42 * actZ / 16);
|
||||
}
|
||||
//draw border for highlighting
|
||||
if (game)
|
||||
{
|
||||
if (card && card->isTargetted() && highlightborder)
|
||||
{
|
||||
highlightborder->SetColor(ARGB(95,255,0,0));
|
||||
renderer->RenderQuad(highlightborder.get(), actX, actY, actT, (30 * actZ + 1) / 16, 43 * actZ / 16);
|
||||
}
|
||||
if (card && card->isTargetter() && highlightborder)
|
||||
{
|
||||
highlightborder->SetColor(ARGB(95,0,245,0));
|
||||
renderer->RenderQuad(highlightborder.get(), actX, actY, actT, (30 * actZ + 1) / 16, 43 * actZ / 16);
|
||||
}
|
||||
}
|
||||
//draw the card image
|
||||
renderer->RenderQuad(quad.get(), actX, actY, actT, scale, scale);
|
||||
}
|
||||
@@ -301,38 +302,33 @@ void CardGui::Render()
|
||||
}
|
||||
}
|
||||
|
||||
//draw border?line
|
||||
if (card && card->isTargetted())
|
||||
//draw line
|
||||
if (game)
|
||||
{
|
||||
if(card->isTapped())
|
||||
if (card && card->isTargetted())
|
||||
{
|
||||
//focus?
|
||||
CardView* cv = dynamic_cast<CardView*>(card->view);
|
||||
if(cv->mHasFocus)
|
||||
renderer->DrawRoundRect(actX - (scale * quad->mWidth / 2)-10,actY - (scale * quad->mHeight / 2)+6.5f, (scale * quad->mHeight)-0.02f, (scale * quad->mWidth)-0.02f, 1.8f,ARGB(250,255,0,0));
|
||||
if(card->isTapped())
|
||||
{
|
||||
if(mHasFocus)
|
||||
renderer->DrawRoundRect(actX - (scale * quad->mWidth / 2)-10,actY - (scale * quad->mHeight / 2)+6.5f, (scale * quad->mHeight)-0.02f, (scale * quad->mWidth)-0.02f, 1.8f,ARGB(250,255,0,0));
|
||||
else
|
||||
renderer->DrawRoundRect(actX - (scale * quad->mWidth / 2)-8,actY - (scale * quad->mHeight / 2)+4, (scale * quad->mHeight)-0.02f, (scale * quad->mWidth)-0.02f, 1.8f,ARGB(250,255,0,0));
|
||||
}
|
||||
else
|
||||
renderer->DrawRoundRect(actX - (scale * quad->mWidth / 2)-8,actY - (scale * quad->mHeight / 2)+4, (scale * quad->mHeight)-0.02f, (scale * quad->mWidth)-0.02f, 1.8f,ARGB(250,255,0,0));
|
||||
renderer->DrawRoundRect(actX - (scale * quad->mWidth / 2)-2,actY - (scale * quad->mHeight / 2)-2, (scale * quad->mWidth)-0.02f, (scale * quad->mHeight)-0.02f, 1.8f,ARGB(250,255,0,0));
|
||||
}
|
||||
else
|
||||
if (card && card->isTargetter())
|
||||
{
|
||||
renderer->DrawRoundRect(actX - (scale * quad->mWidth / 2)-2,actY - (scale * quad->mHeight / 2)-2, (scale * quad->mWidth)-0.02f, (scale * quad->mHeight)-0.02f, 1.8f,ARGB(250,255,0,0));
|
||||
}
|
||||
}
|
||||
if (card && card->isTargetter())
|
||||
{
|
||||
if(card->isTapped())
|
||||
{
|
||||
//focus?
|
||||
CardView* cv = dynamic_cast<CardView*>(card->view);
|
||||
if(cv->mHasFocus)
|
||||
renderer->DrawRoundRect(actX - (scale * quad->mWidth / 2)-10,actY - (scale * quad->mHeight / 2)+6.5f, (scale * quad->mHeight)-0.02f, (scale * quad->mWidth)-0.02f, 1.8f,ARGB(250,0,255,0));
|
||||
if(card->isTapped())
|
||||
{
|
||||
if(mHasFocus)
|
||||
renderer->DrawRoundRect(actX - (scale * quad->mWidth / 2)-10,actY - (scale * quad->mHeight / 2)+6.5f, (scale * quad->mHeight)-0.02f, (scale * quad->mWidth)-0.02f, 1.8f,ARGB(250,0,255,0));
|
||||
else
|
||||
renderer->DrawRoundRect(actX - (scale * quad->mWidth / 2)-8,actY - (scale * quad->mHeight / 2)+4, (scale * quad->mHeight)-0.02f, (scale * quad->mWidth)-0.02f, 1.8f,ARGB(250,0,255,0));
|
||||
}
|
||||
else
|
||||
renderer->DrawRoundRect(actX - (scale * quad->mWidth / 2)-8,actY - (scale * quad->mHeight / 2)+4, (scale * quad->mHeight)-0.02f, (scale * quad->mWidth)-0.02f, 1.8f,ARGB(250,0,255,0));
|
||||
}
|
||||
else
|
||||
{
|
||||
renderer->DrawRoundRect(actX - (scale * quad->mWidth / 2)-2,actY - (scale * quad->mHeight / 2)-2, (scale * quad->mWidth)-0.02f, (scale * quad->mHeight)-0.02f, 1.8f,ARGB(250,0,255,0));
|
||||
}
|
||||
renderer->DrawRoundRect(actX - (scale * quad->mWidth / 2)-2,actY - (scale * quad->mHeight / 2)-2, (scale * quad->mWidth)-0.02f, (scale * quad->mHeight)-0.02f, 1.8f,ARGB(250,0,255,0));
|
||||
}
|
||||
}
|
||||
|
||||
//draws the numbers power/toughness
|
||||
@@ -341,8 +337,10 @@ void CardGui::Render()
|
||||
mFont->SetScale(DEFAULT_MAIN_FONT_SCALE);
|
||||
char buffer[200];
|
||||
sprintf(buffer, "%i/%i", card->power, card->life);
|
||||
renderer->FillRect(actX - (12 * actZ), actY + 6 * actZ, 25 * actZ, 12 * actZ,
|
||||
renderer->FillRect(actX - (13 * actZ), actY + 4 * actZ, 25.5f * actZ, 14 * actZ,
|
||||
ARGB(((static_cast<unsigned char>(actA))/2),0,0,0));
|
||||
renderer->DrawRect(actX - (13 * actZ), actY + 4 * actZ, 25.5f * actZ, 14 * actZ,
|
||||
ARGB(((static_cast<unsigned char>(actA))),20,20,20));
|
||||
//damaged or buffed or powered down
|
||||
if(card->wasDealtDamage && card->life <= 2)
|
||||
mFont->SetColor(ARGB(static_cast<unsigned char>(actA),255,0,0));//red critical and damaged
|
||||
@@ -356,7 +354,7 @@ void CardGui::Render()
|
||||
mFont->SetColor(ARGB(static_cast<unsigned char>(actA),255,255,255));//white default
|
||||
mFont->SetScale(actZ);
|
||||
mFont->SetScale(actZ);
|
||||
mFont->DrawString(buffer, actX - 10 * actZ, actY + 8 * actZ);
|
||||
mFont->DrawString(buffer, actX - 10 * actZ, actY + 7 * actZ);
|
||||
mFont->SetScale(1);
|
||||
}
|
||||
|
||||
@@ -1078,19 +1076,19 @@ void CardGui::RenderBig(MTGCard* card, const Pos& pos, bool thumb, bool noborder
|
||||
if(cardsetname == "2ED"||cardsetname == "RV"||cardsetname == "4ED"||cardsetname == "5ED"||cardsetname == "6ED"||cardsetname == "7ED"||cardsetname == "8ED"||cardsetname == "9ED"||cardsetname == "CHR")
|
||||
{
|
||||
//like white border
|
||||
renderer->FillRoundRect(x-92,pos.actY-128, (scale * quad->mWidth)-10, (scale * quad->mHeight)-11, 9.0f,ARGB(255,248,248,255));
|
||||
renderer->FillRoundRect(x-92,pos.actY-130, (scale * quad->mWidth)-10, (scale * quad->mHeight)-11, 9.0f,ARGB(255,248,248,255));
|
||||
//black thin line to simulate card edge
|
||||
renderer->DrawRoundRect(x-92,pos.actY-128, (scale * quad->mWidth)-10, (scale * quad->mHeight)-11, 9.0f,ARGB(150,20,20,20));
|
||||
renderer->DrawRoundRect(x-92,pos.actY-130, (scale * quad->mWidth)-10, (scale * quad->mHeight)-11, 9.0f,ARGB(150,20,20,20));
|
||||
}
|
||||
else
|
||||
{
|
||||
//like black border
|
||||
renderer->FillRoundRect(x-92,pos.actY-128, (scale * quad->mWidth)-10, (scale * quad->mHeight)-11, 9.0f,ARGB(255,10,10,10));
|
||||
renderer->FillRoundRect(x-92,pos.actY-130, (scale * quad->mWidth)-10, (scale * quad->mHeight)-11, 9.0f,ARGB(255,10,10,10));
|
||||
//white thin line to simulate card edge
|
||||
renderer->DrawRoundRect(x-92,pos.actY-128, (scale * quad->mWidth)-10, (scale * quad->mHeight)-11, 9.0f,ARGB(50,240,240,240));
|
||||
renderer->DrawRoundRect(x-92,pos.actY-130, (scale * quad->mWidth)-10, (scale * quad->mHeight)-11, 9.0f,ARGB(50,240,240,240));
|
||||
}
|
||||
//render card image
|
||||
renderer->RenderQuad(quad.get(), x, pos.actY, pos.actT, scale-0.02f, scale-0.02f);
|
||||
renderer->RenderQuad(quad.get(), x, pos.actY-2, pos.actT, scale-0.02f, scale-0.02f);
|
||||
}
|
||||
else
|
||||
renderer->RenderQuad(quad.get(), x, pos.actY, pos.actT, scale, scale);
|
||||
|
||||
@@ -276,6 +276,8 @@ void DeckMenu::Render()
|
||||
JQuadPtr quad = WResourceManager::Instance()->RetrieveTempQuad(currentAvatarImageName, TEXTURE_SUB_AVATAR);
|
||||
if(quad.get())
|
||||
{
|
||||
quad->mWidth = 35.f;
|
||||
quad->mHeight = 50.f;
|
||||
if (currentMenuItem->getText() == "Evil Twin")
|
||||
{
|
||||
JQuad * evil = quad.get();
|
||||
|
||||
@@ -173,6 +173,7 @@ void GameApp::Create()
|
||||
LOG("Loading Textures");
|
||||
LOG("--Loading menuicons.png");
|
||||
WResourceManager::Instance()->RetrieveTexture("menuicons.png", RETRIEVE_MANAGE);
|
||||
WResourceManager::Instance()->RetrieveTexture("miconslarge.png", RETRIEVE_MANAGE);
|
||||
LOG("---Gettings menuicons.png quads");
|
||||
|
||||
//Load all icons from gModRules and save in manaIcons -> todo. Change the icons positions on menuicons.png to avoid use item->mColorId
|
||||
|
||||
@@ -85,10 +85,14 @@ void GameStateMenu::Create()
|
||||
{
|
||||
for (int j = 0; j < 2; j++)
|
||||
{
|
||||
sprintf(buf, "menuicons%d%d", i, j);
|
||||
mIcons[n] = WResourceManager::Instance()->RetrieveQuad("menuicons.png", 2 + i * 36.0f, 2.0f + j * 36.0f, 32.0f, 32.0f, buf);
|
||||
sprintf(buf, "miconslarge%d%d", i, j);
|
||||
mIcons[n] = WResourceManager::Instance()->RetrieveQuad("miconslarge.png", 4 + i * 72.0f, 4.0f + j * 72.0f, 72.0f, 72.0f, buf);
|
||||
if (mIcons[n])
|
||||
{
|
||||
mIcons[n]->mHeight = 36.f;
|
||||
mIcons[n]->mWidth = 36.f;
|
||||
mIcons[n]->SetHotSpot(16, 16);
|
||||
}
|
||||
n++;
|
||||
}
|
||||
}
|
||||
@@ -141,10 +145,10 @@ void GameStateMenu::Start()
|
||||
WResourceManager::Instance()->ClearUnlocked();
|
||||
|
||||
bgTexture = WResourceManager::Instance()->RetrieveTexture("menutitle.png", RETRIEVE_LOCK);
|
||||
mBg = WResourceManager::Instance()->RetrieveQuad("menutitle.png", 0, 0, 256, 166); // Create background quad for rendering.
|
||||
mBg = WResourceManager::Instance()->RetrieveQuad("menutitle.png", 0, 0, 0, 0); // Create background quad for rendering.
|
||||
|
||||
if (mBg)
|
||||
mBg->SetHotSpot(128, 50);
|
||||
mBg->SetHotSpot(0, 0);
|
||||
|
||||
if (MENU_STATE_MAJOR_MAINMENU == currentState)
|
||||
currentState = currentState | MENU_STATE_MINOR_FADEIN;
|
||||
@@ -790,7 +794,7 @@ void GameStateMenu::Render()
|
||||
scroller->Render();
|
||||
|
||||
if (mBg.get())
|
||||
renderer->RenderQuad(mBg.get(), SCREEN_WIDTH / 2, 50);
|
||||
renderer->RenderQuad(mBg.get(), (SCREEN_WIDTH/4)-6, 2, 0, 256 / mBg->mWidth, 166 / mBg->mHeight);
|
||||
|
||||
RenderTopMenu();
|
||||
|
||||
|
||||
@@ -30,6 +30,8 @@ void GuiBackground::Render()
|
||||
}
|
||||
if (quad.get())
|
||||
{
|
||||
renderer->RenderQuad(quad.get(), 0, 18);
|
||||
quad->mWidth = 480.f;
|
||||
quad->mHeight = 272.f;
|
||||
renderer->RenderQuad(quad.get(), 0, 0);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -483,6 +483,8 @@ void GuiCombat::Render()
|
||||
}
|
||||
else
|
||||
{
|
||||
observer->opponent()->getIcon()->mHeight = 50.f;
|
||||
observer->opponent()->getIcon()->mWidth = 35.f;
|
||||
observer->opponent()->getIcon()->SetHotSpot(18, 25);
|
||||
enemy_avatar.Render(observer->opponent()->getIcon().get());
|
||||
}
|
||||
|
||||
@@ -6,16 +6,20 @@
|
||||
GuiFrame::GuiFrame(GameObserver* observer)
|
||||
: GuiLayer(observer)
|
||||
{
|
||||
if (observer->getResourceManager())
|
||||
{
|
||||
if (observer->getResourceManager()->GetTexture("wood.png"))
|
||||
wood = observer->getResourceManager()->RetrieveQuad("wood.png", 0, 0, SCREEN_WIDTH, 28);
|
||||
//if (observer->getResourceManager())
|
||||
//{
|
||||
/*if (observer->getResourceManager()->GetTexture("wood.png"))
|
||||
{
|
||||
wood = observer->getResourceManager()->RetrieveQuad("wood.png", 0, 0, 0, 0);
|
||||
wood->mHeight = 32.f;
|
||||
wood->mWidth = 480.f;
|
||||
}
|
||||
else
|
||||
{
|
||||
GameApp::systemError += "Can't load wood texture : " __FILE__ "\n";
|
||||
}
|
||||
}*/
|
||||
|
||||
if (observer->getResourceManager()->GetTexture("gold.png"))
|
||||
/*if (observer->getResourceManager()->GetTexture("gold.png"))
|
||||
{
|
||||
gold1 = observer->getResourceManager()->RetrieveQuad("gold.png", 0, 0, SCREEN_WIDTH, 6, "gold1");
|
||||
gold2 = observer->getResourceManager()->RetrieveQuad("gold.png", 0, 6, SCREEN_WIDTH, 6, "gold2");
|
||||
@@ -26,9 +30,9 @@ GuiFrame::GuiFrame(GameObserver* observer)
|
||||
gold2->SetColor(ARGB(127, 255, 255, 255));
|
||||
gold2->SetHFlip(true);
|
||||
}
|
||||
}
|
||||
}
|
||||
step = 0.0;
|
||||
}*/
|
||||
//}
|
||||
//step = 0.0;
|
||||
|
||||
}
|
||||
|
||||
@@ -38,12 +42,12 @@ GuiFrame::~GuiFrame()
|
||||
|
||||
void GuiFrame::Render()
|
||||
{
|
||||
JRenderer* renderer = JRenderer::GetInstance();
|
||||
/*JRenderer* renderer = JRenderer::GetInstance();
|
||||
float sized = step / 4;
|
||||
if (sized > SCREEN_WIDTH)
|
||||
sized -= SCREEN_WIDTH;
|
||||
renderer->RenderQuad(wood.get(), 0, 0);
|
||||
if (gold1.get())
|
||||
renderer->RenderQuad(wood.get(), 0, 0);*/
|
||||
/*if (gold1.get())
|
||||
{
|
||||
renderer->RenderQuad(gold1.get(), -sized, 16);
|
||||
renderer->RenderQuad(gold1.get(), -sized + 479, 16);
|
||||
@@ -60,12 +64,12 @@ void GuiFrame::Render()
|
||||
renderer->RenderQuad(gold2.get(), step / 2, 16);
|
||||
renderer->RenderQuad(gold2.get(), step / 2 - 479, 16);
|
||||
}
|
||||
}
|
||||
}*/
|
||||
}
|
||||
|
||||
void GuiFrame::Update(float dt)
|
||||
{
|
||||
step += dt * 5;
|
||||
/*step += dt * 5;
|
||||
if (step > 2 * SCREEN_WIDTH)
|
||||
step -= 2 * SCREEN_WIDTH;
|
||||
step -= 2 * SCREEN_WIDTH;*/
|
||||
}
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
};
|
||||
*/
|
||||
|
||||
const float GuiPhaseBar::zoom_big = (float)(1.5 * 1.4);
|
||||
const float GuiPhaseBar::zoom_big = (float)(1.5 * 1.25);
|
||||
const float GuiPhaseBar::zoom_small = 1.5;
|
||||
const float GuiPhaseBar::step = M_PI/6.0f;
|
||||
|
||||
@@ -36,9 +36,9 @@ namespace
|
||||
const unsigned kPhases = NB_MTG_PHASES - 2; //there are two phases we do not show
|
||||
}
|
||||
|
||||
void GuiPhaseBar::DrawGlyph(JQuad *inQuad, int phaseId, float x, float y, float scale)
|
||||
void GuiPhaseBar::DrawGlyph(JQuad *inQuad, int phaseId, float x, float y, float scale, float z)
|
||||
{
|
||||
inQuad->SetTextureRect(phaseId * (kWidth + 1), 0, kWidth, kHeight);
|
||||
inQuad->SetTextureRect(phaseId * (kWidth + 1), z, kWidth, kHeight);
|
||||
JRenderer::GetInstance()->RenderQuad(inQuad, x, y - scale * kWidth/2, 0.0f, scale, scale);
|
||||
}
|
||||
|
||||
@@ -110,7 +110,10 @@ void GuiPhaseBar::Render()
|
||||
//hint: sin(circPos + PI/2) = cos(circPos)
|
||||
const float glyphScale = float(zoomFactor * cosf(circPos) * 0.5f);
|
||||
|
||||
DrawGlyph(quad.get(), (displayedPhaseId - 2 + i + kPhases) % kPhases, 0, glyphY, glyphScale);
|
||||
if (observer->currentPlayer && observer->currentPlayer->isAI() && !observer->currentPlayer->opponent()->isAI())
|
||||
DrawGlyph(quad.get(), (displayedPhaseId - 2 + i + kPhases) % kPhases, 0, glyphY, glyphScale, 29);
|
||||
else
|
||||
DrawGlyph(quad.get(), (displayedPhaseId - 2 + i + kPhases) % kPhases, 0, glyphY, glyphScale, 0);
|
||||
}
|
||||
|
||||
//print phase name
|
||||
|
||||
@@ -106,7 +106,7 @@ GuiPlay::BattleField::BattleField() :
|
||||
attackers(0), height(0.0), red(0), colorFlow(0)
|
||||
{
|
||||
}
|
||||
const float GuiPlay::BattleField::HEIGHT = 80.0f;
|
||||
const float GuiPlay::BattleField::HEIGHT = 146.0f;
|
||||
void GuiPlay::BattleField::addAttacker(MTGCardInstance*)
|
||||
{
|
||||
++attackers;
|
||||
@@ -160,7 +160,11 @@ void GuiPlay::BattleField::Update(float dt)
|
||||
void GuiPlay::BattleField::Render()
|
||||
{
|
||||
if (height > 3)
|
||||
JRenderer::GetInstance()->FillRect(44, SCREEN_HEIGHT / 2 + 10 - height / 2, 318, height, ARGB(127, red, 0, 0));
|
||||
{
|
||||
JRenderer::GetInstance()->FillRect(0, SCREEN_HEIGHT / 2 + 8.5f - height / 2, 480, height, ARGB(127, red, 0, 0));
|
||||
if(red > 1)
|
||||
JRenderer::GetInstance()->DrawRect(-2, SCREEN_HEIGHT / 2 + 8.5f - height / 2, 484, height, ARGB(255, 255, 165, 0));
|
||||
}
|
||||
}
|
||||
|
||||
GuiPlay::GuiPlay(DuelLayers* view) :
|
||||
@@ -270,7 +274,7 @@ void GuiPlay::Replace()
|
||||
//rerun the iter reattaching planes walkers to the back of the lands.
|
||||
for (iterator it = end_spells; it != cards.end(); ++it)
|
||||
{
|
||||
if ((*it)->card->hasType(Subtypes::TYPE_PLANESWALKER))
|
||||
if ((*it)->card->hasType(Subtypes::TYPE_PLANESWALKER) && !(*it)->card->isCreature())
|
||||
{
|
||||
if (mpDuelLayers->getRenderedPlayer() == (*it)->card->controller())
|
||||
selfLands.Enstack(*it);
|
||||
|
||||
@@ -60,8 +60,8 @@ void GuiAvatar::Render()
|
||||
{
|
||||
if (corner == BOTTOM_RIGHT)
|
||||
{
|
||||
x0 -= player->getIcon()->mWidth * actZ;
|
||||
y0 -= player->getIcon()->mHeight * actZ;
|
||||
x0 -= Width * actZ;
|
||||
y0 -= Height * actZ;
|
||||
}
|
||||
switch (corner)
|
||||
{
|
||||
@@ -69,14 +69,14 @@ void GuiAvatar::Render()
|
||||
player->getIcon()->SetHotSpot(0, 0);
|
||||
break;
|
||||
case BOTTOM_RIGHT:
|
||||
player->getIcon()->SetHotSpot(35, 50);
|
||||
player->getIcon()->SetHotSpot(player->getIcon()->mWidth, player->getIcon()->mHeight);
|
||||
break;
|
||||
}
|
||||
player->getIcon()->SetColor(ARGB((int)actA, 255, avatarRed, avatarRed));
|
||||
r->RenderQuad(player->getIcon().get(), actX, actY, actT, actZ, actZ);
|
||||
r->RenderQuad(player->getIcon().get(), actX, actY, actT, Width/player->getIcon()->mWidth*actZ, Height/player->getIcon()->mHeight*actZ);
|
||||
if (mHasFocus)
|
||||
{
|
||||
r->FillRect(x0, x0, player->getIcon()->mWidth * actZ, player->getIcon()->mHeight * actZ, ARGB(abs(128 - wave),255,255,255));
|
||||
r->FillRect(x0, x0, Width/player->getIcon()->mWidth * actZ, Height/player->getIcon()->mHeight * actZ, ARGB(abs(128 - wave),255,255,255));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -583,11 +583,13 @@ Player * MTGCardInstance::controller()
|
||||
|
||||
int MTGCardInstance::canAttack()
|
||||
{
|
||||
if (basicAbilities[(int)Constants::CANTATTACK])
|
||||
return 0;
|
||||
if (tapped)
|
||||
return 0;
|
||||
if (hasSummoningSickness())
|
||||
return 0;
|
||||
if ((basicAbilities[(int)Constants::DEFENSER] || basicAbilities[(int)Constants::CANTATTACK]) && !basicAbilities[(int)Constants::CANATTACK])
|
||||
if (basicAbilities[(int)Constants::DEFENSER] && !basicAbilities[(int)Constants::CANATTACK])
|
||||
return 0;
|
||||
if (!isCreature())
|
||||
return 0;
|
||||
|
||||
@@ -89,7 +89,7 @@ bool Player::loadAvatar(string file, string resName)
|
||||
}
|
||||
mAvatarTex = rm->RetrieveTexture(file, RETRIEVE_LOCK, TEXTURE_SUB_AVATAR);
|
||||
if (mAvatarTex) {
|
||||
mAvatar = rm->RetrieveQuad(file, 0, 0, 35, 50, resName, RETRIEVE_NORMAL, TEXTURE_SUB_AVATAR);
|
||||
mAvatar = rm->RetrieveQuad(file, 0, 0, 0, 0, resName, RETRIEVE_NORMAL, TEXTURE_SUB_AVATAR);
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||