First set of Graphic changes
TODO: generate a graph/stats on deck menu to the right, update other graphics, move detailed info on the right of deck menu...
This commit is contained in:
@@ -97,13 +97,13 @@ JGuiController(JGE::GetInstance(), id, listener), fontId(fontId), mShowDetailsSc
|
||||
stars = NEW hgeParticleSystem(WResourceManager::Instance()->RetrievePSI("stars.psi", WResourceManager::Instance()->GetQuad("stars").get()));
|
||||
stars->FireAt(mX, mY);
|
||||
|
||||
const string detailedInfoString = _("Detailed Info");
|
||||
const string detailedInfoString = _("info");
|
||||
WFont *descriptionFont = WResourceManager::Instance()->GetWFont(Fonts::MAIN_FONT);
|
||||
|
||||
float stringWidth = descriptionFont->GetStringWidth(detailedInfoString.c_str());
|
||||
float boxStartX = detailedInfoBoxX - stringWidth / 2 + 20;
|
||||
|
||||
dismissButton = NEW InteractiveButton( this, DeckMenuConst::kDetailedInfoButtonId, Fonts::MAIN_FONT, detailedInfoString, boxStartX, detailedInfoBoxY, JGE_BTN_CANCEL);
|
||||
//dismiss button?
|
||||
dismissButton = NEW InteractiveButton( this, DeckMenuConst::kDetailedInfoButtonId, Fonts::MAIN_FONT, detailedInfoString, boxStartX+30, detailedInfoBoxY+4.5f, JGE_BTN_CANCEL);
|
||||
JGuiController::Add(dismissButton, true);
|
||||
|
||||
updateScroller();
|
||||
@@ -117,20 +117,23 @@ void DeckMenu::RenderDeckManaColors()
|
||||
bool displayDeckMana = backgroundName.find("DeckMenuBackdrop") != string::npos;
|
||||
// current set of coordinates puts the mana symbols to the right of the last stat info in the upper right
|
||||
// box of the deck selection screen.
|
||||
float manaIconX = 398;
|
||||
float manaIconY = 55;
|
||||
//float manaIconX = 398;
|
||||
//float manaIconY = 55;
|
||||
float manaIconX = 288;
|
||||
float manaIconY = 248;
|
||||
if (mSelectedDeck &&displayDeckMana)
|
||||
{
|
||||
string deckManaColors = mSelectedDeck->getColorIndex().c_str();
|
||||
if (deckManaColors.size() >= 6)
|
||||
{
|
||||
// due to space constraints don't display icons for colorless mana.
|
||||
for( int colorIdx = Constants::MTG_COLOR_GREEN; colorIdx < Constants::MTG_COLOR_WASTE; ++colorIdx )
|
||||
for( int colorIdx = Constants::MTG_COLOR_ARTIFACT; colorIdx < Constants::MTG_COLOR_WASTE; ++colorIdx )
|
||||
{
|
||||
if ( (deckManaColors.at(colorIdx) == '1') != 0)
|
||||
{
|
||||
JRenderer::GetInstance()->RenderQuad(manaIcons[colorIdx].get(), manaIconX, manaIconY, 0, 0.5f, 0.5f);
|
||||
manaIconX += 15;
|
||||
//JRenderer::GetInstance()->FillCircle(manaIconX,manaIconY,8.5f,ARGB(240,255,255,5));
|
||||
JRenderer::GetInstance()->RenderQuad(manaIcons[colorIdx].get(), manaIconX, manaIconY, 0, 0.6f, 0.6f);
|
||||
manaIconX += 26;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -230,6 +233,21 @@ void DeckMenu::Render()
|
||||
{
|
||||
JRenderer * renderer = JRenderer::GetInstance();
|
||||
float height = mHeight;
|
||||
JQuadPtr avatarholder;
|
||||
JQuadPtr menupanel;
|
||||
JQuadPtr menuholder;
|
||||
avatarholder = WResourceManager::Instance()->RetrieveTempQuad("avatarholder.png");//new graphics avatarholder
|
||||
menupanel = WResourceManager::Instance()->RetrieveTempQuad("menupanel.jpg");//new graphics menupanel
|
||||
menuholder = WResourceManager::Instance()->RetrieveTempQuad("menuholder.png");//new graphics menuholder
|
||||
bool inDeckMenu = backgroundName.find("DeckMenuBackdrop") != string::npos;
|
||||
float modAvatarX = 0.f;
|
||||
float modAvatarY = 0.f;
|
||||
|
||||
if(inDeckMenu)
|
||||
{
|
||||
modAvatarX =26.f;
|
||||
modAvatarY =1.f;
|
||||
}
|
||||
|
||||
if (!menuInitialized)
|
||||
{
|
||||
@@ -238,7 +256,12 @@ void DeckMenu::Render()
|
||||
timeOpen = 0;
|
||||
menuInitialized = true;
|
||||
}
|
||||
|
||||
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
|
||||
if (menuholder.get() && inDeckMenu)//menuholder
|
||||
renderer->RenderQuad(menuholder.get(), 0, 0, 0 ,SCREEN_WIDTH_F / menuholder.get()->mWidth, SCREEN_HEIGHT_F / menuholder.get()->mHeight);
|
||||
|
||||
if (timeOpen < 1) height *= timeOpen > 0 ? timeOpen : -timeOpen;
|
||||
|
||||
for (int i = startId; i < startId + maxItems; i++)
|
||||
@@ -268,7 +291,7 @@ void DeckMenu::Render()
|
||||
else
|
||||
{
|
||||
dismissButton->setIsSelectionValid(false);
|
||||
}
|
||||
}//detailed info???
|
||||
// display the avatar image
|
||||
string currentAvatarImageName = currentMenuItem->getImageFilename();
|
||||
if (currentAvatarImageName.size() > 0)
|
||||
@@ -276,17 +299,25 @@ void DeckMenu::Render()
|
||||
JQuadPtr quad = WResourceManager::Instance()->RetrieveTempQuad(currentAvatarImageName, TEXTURE_SUB_AVATAR);
|
||||
if(quad.get())
|
||||
{
|
||||
quad->mWidth = 35.f;
|
||||
quad->mHeight = 50.f;
|
||||
float xscale = 37.f / quad->mWidth;//orig 35.f
|
||||
float yscale = 50.f / quad->mHeight;
|
||||
if (currentMenuItem->getText() == "Evil Twin")
|
||||
{
|
||||
JQuad * evil = quad.get();
|
||||
evil->SetHFlip(true);
|
||||
renderer->RenderQuad(quad.get(), avatarX, avatarY);
|
||||
if (avatarholder.get() && inDeckMenu)
|
||||
renderer->RenderQuad(avatarholder.get(), 0, 0, 0 ,SCREEN_WIDTH_F / avatarholder.get()->mWidth, SCREEN_HEIGHT_F / avatarholder.get()->mHeight);
|
||||
renderer->RenderQuad(quad.get(), avatarX+modAvatarX, avatarY+modAvatarY, 0, xscale, yscale);
|
||||
renderer->DrawRect(avatarX+modAvatarX, avatarY+modAvatarY,37.f,50.f,ARGB(200,3,3,3));
|
||||
evil = NULL;
|
||||
}
|
||||
else
|
||||
renderer->RenderQuad(quad.get(), avatarX, avatarY);
|
||||
{
|
||||
if (avatarholder.get() && inDeckMenu)
|
||||
renderer->RenderQuad(avatarholder.get(), 0, 0, 0 ,SCREEN_WIDTH_F / avatarholder.get()->mWidth, SCREEN_HEIGHT_F / avatarholder.get()->mHeight);
|
||||
renderer->RenderQuad(quad.get(), avatarX+modAvatarX, avatarY+modAvatarY, 0, xscale, yscale);
|
||||
renderer->DrawRect(avatarX+modAvatarX, avatarY+modAvatarY,37.f,50.f,ARGB(200,3,3,3));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -302,7 +333,7 @@ void DeckMenu::Render()
|
||||
oss << _("Deck: ") << currentMenuItem->getDeckName() << endl;
|
||||
oss << currentMenuItem->getDeckStatsSummary();
|
||||
descriptionFont->SetColor(ARGB(255,255,255,255));
|
||||
descriptionFont->DrawString(oss.str(), statsX, statsY);
|
||||
descriptionFont->DrawString(oss.str(), statsX+2, statsY-2);
|
||||
}
|
||||
|
||||
// change the font color of the current menu item
|
||||
@@ -314,15 +345,14 @@ void DeckMenu::Render()
|
||||
}
|
||||
}
|
||||
|
||||
mScroller->Render();
|
||||
RenderDeckManaColors();
|
||||
|
||||
if (!title.empty())
|
||||
{
|
||||
mFont->SetColor(ARGB(255,255,255,255));
|
||||
mFont->DrawString(title.c_str(), titleX, titleY, JGETEXT_CENTER);
|
||||
}
|
||||
|
||||
mScroller->Render();
|
||||
RenderBackground();
|
||||
RenderDeckManaColors();
|
||||
|
||||
renderer->SetTexBlend(BLEND_SRC_ALPHA, BLEND_ONE);
|
||||
stars->Render();
|
||||
|
||||
@@ -112,10 +112,10 @@ void DeckMenuItem::RenderWithOffset(float yOffset)
|
||||
JTexture * tex = WResourceManager::Instance()->RetrieveTexture("new.png");
|
||||
if (tex)
|
||||
{
|
||||
JQuadPtr quad = WResourceManager::Instance()->RetrieveQuad("new.png", 2.0f, 2.0f, tex->mWidth - 4.0f, tex->mHeight - 4.0f); //avoids weird rectangle aroudn the texture because of bilinear filtering
|
||||
JQuadPtr quad = WResourceManager::Instance()->RetrieveQuad("new.png", 2.0f, 2.0f, tex->mWidth - 0.0f, tex->mHeight - 0.0f); //avoids weird rectangle aroudn the texture because of bilinear filtering
|
||||
quad->SetHotSpot(quad->mWidth/2.0f, quad->mHeight/2.0f);
|
||||
float x = mX + min(ITEM_PX_WIDTH - quad->mWidth, getWidth() )/2 + quad->mWidth/2;
|
||||
if (quad) JRenderer::GetInstance()->RenderQuad(quad.get(), x , mY + yOffset + quad->mHeight/2, 0.5);
|
||||
if (quad) JRenderer::GetInstance()->RenderQuad(quad.get(), x , mY + yOffset + quad->mHeight/2, 0, 16.f / quad->mWidth, 12.f / quad->mHeight);
|
||||
}
|
||||
}
|
||||
mFont->SetScale(SCALE_NORMAL);
|
||||
|
||||
@@ -1165,7 +1165,7 @@ void GameStateDuel::Render()
|
||||
opponentMenu->Render();
|
||||
// display the selected player deck name too
|
||||
string selectedPlayerDeckName = _("Player Deck: ").c_str() + game->players[0]->deckName;
|
||||
mFont->DrawString( selectedPlayerDeckName.c_str(), 30, 40);
|
||||
mFont->DrawString( selectedPlayerDeckName.c_str(), (SCREEN_WIDTH / 4) - (mFont->GetStringWidth(selectedPlayerDeckName.c_str())/2)-3, 32);
|
||||
}
|
||||
else if (deckmenu && !deckmenu->isClosed()) deckmenu->Render();
|
||||
|
||||
|
||||
@@ -68,15 +68,16 @@ void InteractiveButton::Render()
|
||||
float stringWidth = mainFont->GetStringWidth(detailedInfoString.c_str());
|
||||
float pspIconsSize = 0.5;
|
||||
float mainFontHeight = mainFont->GetHeight();
|
||||
float boxStartX = getX() - 5;
|
||||
float boxStartX = getX() - 4;
|
||||
mXOffset = 0;
|
||||
mYOffset = 0;
|
||||
|
||||
#ifndef TOUCH_ENABLED
|
||||
renderer->FillRoundRect(boxStartX, getY(), stringWidth - 3, mainFontHeight - 9, 5, ARGB(0, 0, 0, 0));
|
||||
#else
|
||||
renderer->FillRoundRect(boxStartX, getY(), stringWidth - 3, mainFontHeight - 5, 5, ARGB(255, 192, 172, 119));
|
||||
renderer->DrawRoundRect(boxStartX, getY(), stringWidth - 3, mainFontHeight - 5, 5, ARGB(255, 255, 255, 255));
|
||||
renderer->FillRoundRect(boxStartX+1, getY()+1, stringWidth - 3, mainFontHeight - 4, 5, ARGB(220, 5, 5, 5));
|
||||
renderer->FillRoundRect(boxStartX, getY(), stringWidth - 3, mainFontHeight - 4, 5, ARGB(255, 140, 23, 23));
|
||||
renderer->DrawRoundRect(boxStartX, getY(), stringWidth - 3, mainFontHeight - 4, 5, ARGB(255, 5, 5, 5));
|
||||
mYOffset += 2;
|
||||
#endif
|
||||
|
||||
@@ -86,7 +87,7 @@ void InteractiveButton::Render()
|
||||
{
|
||||
renderer->RenderQuad(buttonImage.get(), buttonXOffset - buttonImage.get()->mWidth/2, buttonYOffset + mainFontHeight/2, 0, pspIconsSize, pspIconsSize);
|
||||
}
|
||||
mainFont->SetColor(ARGB(255, 0, 0, 0));
|
||||
//mainFont->SetColor(ARGB(255, 0, 0, 0));
|
||||
mainFont->DrawString(detailedInfoString, buttonXOffset, buttonYOffset);
|
||||
}
|
||||
|
||||
|
||||
@@ -157,5 +157,15 @@ void VerticalTextScroller::Update(float dt)
|
||||
void VerticalTextScroller::Render()
|
||||
{
|
||||
WFont * mFont = WResourceManager::Instance()->GetWFont(fontId);
|
||||
JQuadPtr textscroller;
|
||||
JQuadPtr textscrollershadow;
|
||||
textscroller = WResourceManager::Instance()->RetrieveTempQuad("textscroller.png");//new graphics textscroller
|
||||
textscrollershadow = WResourceManager::Instance()->RetrieveTempQuad("textscrollershadow.png");//new graphics textscroller shadow
|
||||
if(!mText.empty() && mText.length() > 1)
|
||||
if (textscrollershadow.get())
|
||||
JRenderer::GetInstance()->RenderQuad(textscrollershadow.get(), 0, 0, 0 ,SCREEN_WIDTH_F / textscrollershadow->mWidth, SCREEN_HEIGHT_F / textscrollershadow->mHeight);
|
||||
mFont->DrawString(mText.c_str(), mX, mY);
|
||||
if(!mText.empty() && mText.length() > 1)
|
||||
if (textscroller.get())
|
||||
JRenderer::GetInstance()->RenderQuad(textscroller.get(), 0, 0, 0 ,SCREEN_WIDTH_F / textscroller->mWidth, SCREEN_HEIGHT_F / textscroller->mHeight);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user