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 = NEW hgeParticleSystem(WResourceManager::Instance()->RetrievePSI("stars.psi", WResourceManager::Instance()->GetQuad("stars").get()));
|
||||||
stars->FireAt(mX, mY);
|
stars->FireAt(mX, mY);
|
||||||
|
|
||||||
const string detailedInfoString = _("Detailed Info");
|
const string detailedInfoString = _("info");
|
||||||
WFont *descriptionFont = WResourceManager::Instance()->GetWFont(Fonts::MAIN_FONT);
|
WFont *descriptionFont = WResourceManager::Instance()->GetWFont(Fonts::MAIN_FONT);
|
||||||
|
|
||||||
float stringWidth = descriptionFont->GetStringWidth(detailedInfoString.c_str());
|
float stringWidth = descriptionFont->GetStringWidth(detailedInfoString.c_str());
|
||||||
float boxStartX = detailedInfoBoxX - stringWidth / 2 + 20;
|
float boxStartX = detailedInfoBoxX - stringWidth / 2 + 20;
|
||||||
|
//dismiss button?
|
||||||
dismissButton = NEW InteractiveButton( this, DeckMenuConst::kDetailedInfoButtonId, Fonts::MAIN_FONT, detailedInfoString, boxStartX, detailedInfoBoxY, JGE_BTN_CANCEL);
|
dismissButton = NEW InteractiveButton( this, DeckMenuConst::kDetailedInfoButtonId, Fonts::MAIN_FONT, detailedInfoString, boxStartX+30, detailedInfoBoxY+4.5f, JGE_BTN_CANCEL);
|
||||||
JGuiController::Add(dismissButton, true);
|
JGuiController::Add(dismissButton, true);
|
||||||
|
|
||||||
updateScroller();
|
updateScroller();
|
||||||
@@ -117,20 +117,23 @@ void DeckMenu::RenderDeckManaColors()
|
|||||||
bool displayDeckMana = backgroundName.find("DeckMenuBackdrop") != string::npos;
|
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
|
// 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.
|
// box of the deck selection screen.
|
||||||
float manaIconX = 398;
|
//float manaIconX = 398;
|
||||||
float manaIconY = 55;
|
//float manaIconY = 55;
|
||||||
|
float manaIconX = 288;
|
||||||
|
float manaIconY = 248;
|
||||||
if (mSelectedDeck &&displayDeckMana)
|
if (mSelectedDeck &&displayDeckMana)
|
||||||
{
|
{
|
||||||
string deckManaColors = mSelectedDeck->getColorIndex().c_str();
|
string deckManaColors = mSelectedDeck->getColorIndex().c_str();
|
||||||
if (deckManaColors.size() >= 6)
|
if (deckManaColors.size() >= 6)
|
||||||
{
|
{
|
||||||
// due to space constraints don't display icons for colorless mana.
|
// 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)
|
if ( (deckManaColors.at(colorIdx) == '1') != 0)
|
||||||
{
|
{
|
||||||
JRenderer::GetInstance()->RenderQuad(manaIcons[colorIdx].get(), manaIconX, manaIconY, 0, 0.5f, 0.5f);
|
//JRenderer::GetInstance()->FillCircle(manaIconX,manaIconY,8.5f,ARGB(240,255,255,5));
|
||||||
manaIconX += 15;
|
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();
|
JRenderer * renderer = JRenderer::GetInstance();
|
||||||
float height = mHeight;
|
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)
|
if (!menuInitialized)
|
||||||
{
|
{
|
||||||
@@ -238,6 +256,11 @@ void DeckMenu::Render()
|
|||||||
timeOpen = 0;
|
timeOpen = 0;
|
||||||
menuInitialized = true;
|
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;
|
if (timeOpen < 1) height *= timeOpen > 0 ? timeOpen : -timeOpen;
|
||||||
|
|
||||||
@@ -268,7 +291,7 @@ void DeckMenu::Render()
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
dismissButton->setIsSelectionValid(false);
|
dismissButton->setIsSelectionValid(false);
|
||||||
}
|
}//detailed info???
|
||||||
// display the avatar image
|
// display the avatar image
|
||||||
string currentAvatarImageName = currentMenuItem->getImageFilename();
|
string currentAvatarImageName = currentMenuItem->getImageFilename();
|
||||||
if (currentAvatarImageName.size() > 0)
|
if (currentAvatarImageName.size() > 0)
|
||||||
@@ -276,17 +299,25 @@ void DeckMenu::Render()
|
|||||||
JQuadPtr quad = WResourceManager::Instance()->RetrieveTempQuad(currentAvatarImageName, TEXTURE_SUB_AVATAR);
|
JQuadPtr quad = WResourceManager::Instance()->RetrieveTempQuad(currentAvatarImageName, TEXTURE_SUB_AVATAR);
|
||||||
if(quad.get())
|
if(quad.get())
|
||||||
{
|
{
|
||||||
quad->mWidth = 35.f;
|
float xscale = 37.f / quad->mWidth;//orig 35.f
|
||||||
quad->mHeight = 50.f;
|
float yscale = 50.f / quad->mHeight;
|
||||||
if (currentMenuItem->getText() == "Evil Twin")
|
if (currentMenuItem->getText() == "Evil Twin")
|
||||||
{
|
{
|
||||||
JQuad * evil = quad.get();
|
JQuad * evil = quad.get();
|
||||||
evil->SetHFlip(true);
|
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;
|
evil = NULL;
|
||||||
}
|
}
|
||||||
else
|
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 << _("Deck: ") << currentMenuItem->getDeckName() << endl;
|
||||||
oss << currentMenuItem->getDeckStatsSummary();
|
oss << currentMenuItem->getDeckStatsSummary();
|
||||||
descriptionFont->SetColor(ARGB(255,255,255,255));
|
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
|
// change the font color of the current menu item
|
||||||
@@ -314,16 +345,15 @@ void DeckMenu::Render()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
mScroller->Render();
|
||||||
|
RenderDeckManaColors();
|
||||||
|
|
||||||
if (!title.empty())
|
if (!title.empty())
|
||||||
{
|
{
|
||||||
mFont->SetColor(ARGB(255,255,255,255));
|
mFont->SetColor(ARGB(255,255,255,255));
|
||||||
mFont->DrawString(title.c_str(), titleX, titleY, JGETEXT_CENTER);
|
mFont->DrawString(title.c_str(), titleX, titleY, JGETEXT_CENTER);
|
||||||
}
|
}
|
||||||
|
|
||||||
mScroller->Render();
|
|
||||||
RenderBackground();
|
|
||||||
RenderDeckManaColors();
|
|
||||||
|
|
||||||
renderer->SetTexBlend(BLEND_SRC_ALPHA, BLEND_ONE);
|
renderer->SetTexBlend(BLEND_SRC_ALPHA, BLEND_ONE);
|
||||||
stars->Render();
|
stars->Render();
|
||||||
renderer->SetTexBlend(BLEND_SRC_ALPHA, BLEND_ONE_MINUS_SRC_ALPHA);
|
renderer->SetTexBlend(BLEND_SRC_ALPHA, BLEND_ONE_MINUS_SRC_ALPHA);
|
||||||
|
|||||||
@@ -112,10 +112,10 @@ void DeckMenuItem::RenderWithOffset(float yOffset)
|
|||||||
JTexture * tex = WResourceManager::Instance()->RetrieveTexture("new.png");
|
JTexture * tex = WResourceManager::Instance()->RetrieveTexture("new.png");
|
||||||
if (tex)
|
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);
|
quad->SetHotSpot(quad->mWidth/2.0f, quad->mHeight/2.0f);
|
||||||
float x = mX + min(ITEM_PX_WIDTH - quad->mWidth, getWidth() )/2 + quad->mWidth/2;
|
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);
|
mFont->SetScale(SCALE_NORMAL);
|
||||||
|
|||||||
@@ -1165,7 +1165,7 @@ void GameStateDuel::Render()
|
|||||||
opponentMenu->Render();
|
opponentMenu->Render();
|
||||||
// display the selected player deck name too
|
// display the selected player deck name too
|
||||||
string selectedPlayerDeckName = _("Player Deck: ").c_str() + game->players[0]->deckName;
|
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();
|
else if (deckmenu && !deckmenu->isClosed()) deckmenu->Render();
|
||||||
|
|
||||||
|
|||||||
@@ -68,15 +68,16 @@ void InteractiveButton::Render()
|
|||||||
float stringWidth = mainFont->GetStringWidth(detailedInfoString.c_str());
|
float stringWidth = mainFont->GetStringWidth(detailedInfoString.c_str());
|
||||||
float pspIconsSize = 0.5;
|
float pspIconsSize = 0.5;
|
||||||
float mainFontHeight = mainFont->GetHeight();
|
float mainFontHeight = mainFont->GetHeight();
|
||||||
float boxStartX = getX() - 5;
|
float boxStartX = getX() - 4;
|
||||||
mXOffset = 0;
|
mXOffset = 0;
|
||||||
mYOffset = 0;
|
mYOffset = 0;
|
||||||
|
|
||||||
#ifndef TOUCH_ENABLED
|
#ifndef TOUCH_ENABLED
|
||||||
renderer->FillRoundRect(boxStartX, getY(), stringWidth - 3, mainFontHeight - 9, 5, ARGB(0, 0, 0, 0));
|
renderer->FillRoundRect(boxStartX, getY(), stringWidth - 3, mainFontHeight - 9, 5, ARGB(0, 0, 0, 0));
|
||||||
#else
|
#else
|
||||||
renderer->FillRoundRect(boxStartX, getY(), stringWidth - 3, mainFontHeight - 5, 5, ARGB(255, 192, 172, 119));
|
renderer->FillRoundRect(boxStartX+1, getY()+1, stringWidth - 3, mainFontHeight - 4, 5, ARGB(220, 5, 5, 5));
|
||||||
renderer->DrawRoundRect(boxStartX, getY(), stringWidth - 3, mainFontHeight - 5, 5, ARGB(255, 255, 255, 255));
|
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;
|
mYOffset += 2;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@@ -86,7 +87,7 @@ void InteractiveButton::Render()
|
|||||||
{
|
{
|
||||||
renderer->RenderQuad(buttonImage.get(), buttonXOffset - buttonImage.get()->mWidth/2, buttonYOffset + mainFontHeight/2, 0, pspIconsSize, pspIconsSize);
|
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);
|
mainFont->DrawString(detailedInfoString, buttonXOffset, buttonYOffset);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -157,5 +157,15 @@ void VerticalTextScroller::Update(float dt)
|
|||||||
void VerticalTextScroller::Render()
|
void VerticalTextScroller::Render()
|
||||||
{
|
{
|
||||||
WFont * mFont = WResourceManager::Instance()->GetWFont(fontId);
|
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);
|
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