working on new font engine

This commit is contained in:
2021-08-26 13:59:25 +02:00
parent 5768c1f7a2
commit e93aba2522
11 changed files with 160 additions and 176 deletions

View File

@@ -44,8 +44,8 @@ Game::Game(int numPlayers, SDL_Renderer *renderer, std::string *filelist, std::s
mTextureText = new LTexture();
mTextureText2 = new LTexture();
mText = new Text(mTextureText, mRenderer);
mTextX2 = new Text(mTextureText2, mRenderer);
mText = new Text(mFileList[46], mTextureText, mRenderer);
mTextX2 = new Text(mFileList[46], mTextureText2, mRenderer);
mMenuGameOver = new Menu(mRenderer, mText, mInput[0], mFileList);
mMenuPause = new Menu(mRenderer, mText, mInput[0], mFileList);
@@ -344,8 +344,8 @@ void Game::init()
mFade->init();
// Inicializa los objetos de texto
mText->init(TEXT_FIXED, BLOCK);
mTextX2->init(TEXT_FIXED, BLOCK * 2);
mText->init();
mTextX2->init();
// Inicializa el objeto con el menu de pausa
mMenuPause->init("PAUSE", 0, 12 * BLOCK, MENU_BACKGROUND_SOLID);
@@ -485,7 +485,7 @@ bool Game::loadMedia()
bool success = true;
// Texturas
success &= loadTextureFromFile(mTextureText, mFileList[30], mRenderer);
success &= loadTextureFromFile(mTextureText, mFileList[27], mRenderer);
success &= loadTextureFromFile(mTextureText2, mFileList[29], mRenderer);
success &= loadTextureFromFile(mTexturePlayer1Legs, mFileList[39], mRenderer);
@@ -1552,8 +1552,8 @@ void Game::renderScoreBoard()
// Si el jugador esta muerto, no pintes el fondo del marcador, así que pase por encima cuando sale despedido
//if (mPlayer[0]->isAlive())
mSpriteScoreBoard->render();
mSpriteScoreBoard->render();
/*
// SCORE
mText->writeCentered(PLAY_AREA_CENTER_FIRST_QUARTER_X, SCORE_WORD_Y - 6, mTextStrings[39], 0);
mText->writeCentered(PLAY_AREA_CENTER_FIRST_QUARTER_X, SCORE_NUMBER_Y - 6, updateScoreText(mPlayer[0]->getScore()), 0);
@@ -1580,6 +1580,52 @@ void Game::renderScoreBoard()
const float percent = (mStage[mCurrentStage].currentPower * 40.0f) / mStage[mCurrentStage].powerToComplete;
mSpritePowerMeter->setSpriteClip(296, 184, (int)percent, 8);
mSpritePowerMeter->render();
*/
const int offset1 = 163;
const int offset2 = offset1 + 7;
const int offset3 = offset2 + 7;
const int offset4 = offset3 + 7;
// PLAYER1 - SCORE
mText->write(PLAY_AREA_LEFT, offset1, mTextStrings[53], 0);
mText->write(PLAY_AREA_LEFT, offset2, updateScoreText(mPlayer[0]->getScore()), 0);
// PLAYER1 - MULT
mText->write(PLAY_AREA_LEFT, offset3, mTextStrings[55], 0);
mText->write(PLAY_AREA_LEFT + (8 * 7), offset3, std::to_string(mPlayer[0]->getScoreMultiplier()), 0);
if (mNumPlayers == 2)
{
// PLAYER2 - SCORE
mText->write(PLAY_AREA_RIGHT - (8 * 8), offset1, mTextStrings[54], 0);
mText->write(PLAY_AREA_RIGHT - (8 * 7), offset2, updateScoreText(mPlayer[1]->getScore()), 0);
// PLAYER2 - MULT
mText->write(PLAY_AREA_RIGHT - (8 * 10), offset3, mTextStrings[55], 0);
mText->write(PLAY_AREA_RIGHT - (8 * 5), offset3, std::to_string(mPlayer[1]->getScoreMultiplier()), 0);
}
else
{
// PLAYER2 - SCORE
mText->write(PLAY_AREA_RIGHT - (8 * 9), offset1, mTextStrings[54], 0);
mText->write(PLAY_AREA_RIGHT - (8 * 7), offset2, "0000000", 0);
// PLAYER2 - MULT
mText->write(PLAY_AREA_RIGHT - (8 * 10), offset3, mTextStrings[55], 0);
mText->write(PLAY_AREA_RIGHT - (8 * 3), offset3, "1.0", 0);
}
// STAGE
mText->writeCentered(PLAY_AREA_CENTER_X, offset1, mTextStrings[42] + std::to_string(mStage[mCurrentStage].number), 0);
// POWER
//mSpritePowerMeter->setSpriteClip(256, 184, 40, 8);
//mSpritePowerMeter->render();
//const float percent = (mStage[mCurrentStage].currentPower * 40.0f) / mStage[mCurrentStage].powerToComplete;
//mSpritePowerMeter->setSpriteClip(296, 184, (int)percent, 8);
//mSpritePowerMeter->render();
// HI-SCORE
mText->writeCentered(PLAY_AREA_CENTER_X, offset4, mTextStrings[40] + "0000000", 0);
}
// Actualiza las variables del jugador