- Fixed a few font problems with alternate rendering
This commit is contained in:
wagic.the.homebrew
2009-02-05 12:48:51 +00:00
parent 2f3eaac9a5
commit ba3b272558
4 changed files with 23 additions and 9 deletions
+1 -1
View File
@@ -22,7 +22,7 @@ class CardGui: public PlayGuiObject{
virtual void Update(float dt); virtual void Update(float dt);
void RenderBig(float x=-1, float y = -1, int alternate = 0); void RenderBig(float x=-1, float y = -1, int alternate = 0);
static void alternateRender(MTGCard * card, JLBFont * mFont, JQuad ** manaIcons, float x, float y, float rotation= 0, float scale=1); static void alternateRender(MTGCard * card, JQuad ** manaIcons, float x, float y, float rotation= 0, float scale=1);
~CardGui(); ~CardGui();
}; };
+7 -4
View File
@@ -633,12 +633,15 @@ class GameStateDeckViewer: public GameState, public JGuiListener
quad->SetColor(ARGB(mAlpha,quadAlpha,quadAlpha,quadAlpha)); quad->SetColor(ARGB(mAlpha,quadAlpha,quadAlpha,quadAlpha));
JRenderer::GetInstance()->RenderQuad(quad, x , y , 0.0f,scale,scale); JRenderer::GetInstance()->RenderQuad(quad, x , y , 0.0f,scale,scale);
if (showName){ if (showName){
char buffer[4096]; char buffer[4096];
sprintf(buffer, "%s", card->getName()); sprintf(buffer, "%s", card->getName());
mFont->DrawString(buffer,x,y); float scaleBackup = mFont->GetScale();
mFont->SetScale(scale);
mFont->DrawString(buffer,x,y);
mFont->SetScale(scaleBackup);
} }
}else{ }else{
CardGui::alternateRender(card, mFont, mIcons, x_center, y + 142.5*scale, 0, scale); CardGui::alternateRender(card, mIcons, x_center, y + 142.5*scale, 0, scale);
quad = card->getThumb(); quad = card->getThumb();
if (quad){ if (quad){
float _scale = 285 * scale / quad->mHeight; float _scale = 285 * scale / quad->mHeight;
+14 -3
View File
@@ -2,9 +2,12 @@
#include "../include/CardGui.h" #include "../include/CardGui.h"
#include "../include/ManaCostHybrid.h" #include "../include/ManaCostHybrid.h"
#include "../include/Subtypes.h" #include "../include/Subtypes.h"
#include "../include/MTGDefinitions.h"
#include <Vector2D.h> #include <Vector2D.h>
void CardGui::alternateRender(MTGCard * card, JLBFont * mFont, JQuad ** manaIcons, float x, float y, float rotation, float scale){ void CardGui::alternateRender(MTGCard * card, JQuad ** manaIcons, float x, float y, float rotation, float scale){
JLBFont * mFont = GameApp::CommonRes->GetJLBFont(Constants::MAGIC_FONT);
float backup = mFont->GetScale();
JQuad * mIcons[7]; JQuad * mIcons[7];
if (!manaIcons){ if (!manaIcons){
mIcons[Constants::MTG_COLOR_ARTIFACT] = GameApp::CommonRes->GetQuad("c_artifact"); mIcons[Constants::MTG_COLOR_ARTIFACT] = GameApp::CommonRes->GetQuad("c_artifact");
@@ -29,7 +32,7 @@ void CardGui::alternateRender(MTGCard * card, JLBFont * mFont, JQuad ** manaIcon
JRenderer * renderer = JRenderer::GetInstance(); JRenderer * renderer = JRenderer::GetInstance();
mFont->SetRotation(rotation); mFont->SetRotation(rotation);
mFont->SetScale(scale);
int color = card->getColor(); int color = card->getColor();
points[0].x = -width/2; points[0].x = -width/2;
@@ -162,8 +165,11 @@ void CardGui::alternateRender(MTGCard * card, JLBFont * mFont, JQuad ** manaIcon
if (over > 0){ if (over > 0){
multiply = 1.1; multiply = 1.1;
} }
mFont->SetScale(scale * multiply);
mFont->SetColor(ARGB(255,Constants::_r[color],Constants::_g[color],Constants::_b[color])); mFont->SetColor(ARGB(255,Constants::_r[color],Constants::_g[color],Constants::_b[color]));
mFont->DrawString(card->getName(),x+v.x,y+v.y); mFont->DrawString(card->getName(),x+v.x,y+v.y);
mFont->SetScale(scale);
mFont->SetColor(ARGB(255,255,255,255)); mFont->SetColor(ARGB(255,255,255,255));
@@ -183,6 +189,7 @@ void CardGui::alternateRender(MTGCard * card, JLBFont * mFont, JQuad ** manaIcon
mFont->DrawString(s.c_str(),x+v.x,y+v.y); mFont->DrawString(s.c_str(),x+v.x,y+v.y);
} }
mFont->SetScale(backup);
} }
@@ -262,7 +269,7 @@ void CardGui::RenderBig(float xpos, float ypos, int alternate){
if (alternate){ if (alternate){
MTGCard * mtgcard = card->model; MTGCard * mtgcard = card->model;
JLBFont * font = GameApp::CommonRes->GetJLBFont("graphics/magic"); JLBFont * font = GameApp::CommonRes->GetJLBFont("graphics/magic");
CardGui::alternateRender(mtgcard, font, NULL, xpos + 90 , ypos + 130, 0.0f,0.9f); CardGui::alternateRender(mtgcard, NULL, xpos + 90 , ypos + 130, 0.0f,0.9f);
if (quad){ if (quad){
float scale = 250 / quad->mHeight; float scale = 250 / quad->mHeight;
quad->SetColor(ARGB(40,255,255,255)); quad->SetColor(ARGB(40,255,255,255));
@@ -345,6 +352,7 @@ void CardGui::Render(){
if (card->isTapped()){ if (card->isTapped()){
renderer->FillRect(myX - myH , myY , myH, myW, ARGB(255,Constants::_r[color]/2+50,Constants::_g[color]/2+50,Constants::_b[color]/2+50)); renderer->FillRect(myX - myH , myY , myH, myW, ARGB(255,Constants::_r[color]/2+50,Constants::_g[color]/2+50,Constants::_b[color]/2+50));
renderer->DrawRect(myX - myH , myY , myH, myW, ARGB(255,Constants::_r[color],Constants::_g[color],Constants::_b[color])); renderer->DrawRect(myX - myH , myY , myH, myW, ARGB(255,Constants::_r[color],Constants::_g[color],Constants::_b[color]));
mFont->SetScale(DEFAULT_MAIN_FONT_SCALE * 0.8 * mScale);
mFont->DrawString(buffer,myX - (myH)+4,myY + 1); mFont->DrawString(buffer,myX - (myH)+4,myY + 1);
if (mIcon) renderer->RenderQuad(mIcon,myX - myH/2, myY + myW/2,M_PI_2,mScale,mScale); if (mIcon) renderer->RenderQuad(mIcon,myX - myH/2, myY + myW/2,M_PI_2,mScale,mScale);
if (tc){ if (tc){
@@ -355,6 +363,7 @@ void CardGui::Render(){
}else{ }else{
renderer->FillRect(myX , myY , myW, myH, ARGB(255,Constants::_r[color]/2+50,Constants::_g[color]/2+50,Constants::_b[color]/2+50)); renderer->FillRect(myX , myY , myW, myH, ARGB(255,Constants::_r[color]/2+50,Constants::_g[color]/2+50,Constants::_b[color]/2+50));
renderer->DrawRect(myX , myY , myW, myH, ARGB(255,Constants::_r[color],Constants::_g[color],Constants::_b[color])); renderer->DrawRect(myX , myY , myW, myH, ARGB(255,Constants::_r[color],Constants::_g[color],Constants::_b[color]));
mFont->SetScale(DEFAULT_MAIN_FONT_SCALE * 0.5 * mScale);
mFont->DrawString(buffer,myX+4,myY + 1); mFont->DrawString(buffer,myX+4,myY + 1);
if (mIcon) renderer->RenderQuad(mIcon,myX + myW/2, myY + myH/2,0,mScale, mScale); if (mIcon) renderer->RenderQuad(mIcon,myX + myW/2, myY + myH/2,0,mScale, mScale);
if (tc){ if (tc){
@@ -363,6 +372,7 @@ void CardGui::Render(){
} }
} }
} }
mFont->SetScale(DEFAULT_MAIN_FONT_SCALE);
} }
if (tc && tc->alreadyHasTarget(card)){ if (tc && tc->alreadyHasTarget(card)){
@@ -374,6 +384,7 @@ void CardGui::Render(){
} }
if (card->isACreature()){ if (card->isACreature()){
mFont->SetScale(DEFAULT_MAIN_FONT_SCALE);
char buffer[200]; char buffer[200];
sprintf(buffer, "%i/%i",card->power,card->life); sprintf(buffer, "%i/%i",card->power,card->life);
renderer->FillRect(x+2,y + mHeight - 12, 25 , 12 ,ARGB(128,0,0,0)); renderer->FillRect(x+2,y + mHeight - 12, 25 , 12 ,ARGB(128,0,0,0));
+1 -1
View File
@@ -62,7 +62,7 @@ void ShopItem::Render(){
if (quad){ if (quad){
renderer->RenderQuad(quad,mX + SCREEN_WIDTH/2 + 20,5,0, 0.9f,0.9f); renderer->RenderQuad(quad,mX + SCREEN_WIDTH/2 + 20,5,0, 0.9f,0.9f);
}else{ }else{
if (card) CardGui::alternateRender(card,mFont,NULL,mX + SCREEN_WIDTH/2 + 100 + 20,133,0, 0.9f); if (card) CardGui::alternateRender(card,NULL,mX + SCREEN_WIDTH/2 + 100 + 20,133,0, 0.9f);
//TODO //TODO
} }
mFont->SetColor(ARGB(255,255,255,0)); mFont->SetColor(ARGB(255,255,255,0));