working on new text engine
This commit is contained in:
@@ -42,10 +42,12 @@ Game::Game(int numPlayers, SDL_Renderer *renderer, std::string *filelist, std::s
|
||||
mTexturePlayer2Death = new LTexture();
|
||||
mTexturePlayer2Legs = new LTexture();
|
||||
mTextureText = new LTexture();
|
||||
mTextureText2 = new LTexture();
|
||||
mTextureTextScoreBoard = new LTexture();
|
||||
mTextureTextBig = new LTexture();
|
||||
|
||||
mText = new Text(mFileList[46], mTextureText, mRenderer);
|
||||
mTextX2 = new Text(mFileList[46], mTextureText2, mRenderer);
|
||||
mText = new Text(mFileList[48], mTextureText, mRenderer);
|
||||
mTextScoreBoard = new Text(mFileList[46], mTextureTextScoreBoard, mRenderer);
|
||||
mTextBig = new Text(mFileList[47], mTextureTextBig, mRenderer);
|
||||
|
||||
mMenuGameOver = new Menu(mRenderer, mText, mInput[0], mFileList);
|
||||
mMenuPause = new Menu(mRenderer, mText, mInput[0], mFileList);
|
||||
@@ -169,15 +171,22 @@ Game::~Game()
|
||||
delete mTextureText;
|
||||
mTextureText = nullptr;
|
||||
|
||||
mTextureText2->unload();
|
||||
delete mTextureText2;
|
||||
mTextureText2 = nullptr;
|
||||
mTextureTextScoreBoard->unload();
|
||||
delete mTextureTextScoreBoard;
|
||||
mTextureTextScoreBoard = nullptr;
|
||||
|
||||
mTextureTextBig->unload();
|
||||
delete mTextureTextBig;
|
||||
mTextureTextBig = nullptr;
|
||||
|
||||
delete mText;
|
||||
mText = nullptr;
|
||||
|
||||
delete mTextX2;
|
||||
mTextX2 = nullptr;
|
||||
delete mTextScoreBoard;
|
||||
mTextScoreBoard = nullptr;
|
||||
|
||||
delete mTextureTextBig;
|
||||
mTextureTextBig = nullptr;
|
||||
|
||||
delete mMenuGameOver;
|
||||
mMenuGameOver = nullptr;
|
||||
@@ -345,7 +354,8 @@ void Game::init()
|
||||
|
||||
// Inicializa los objetos de texto
|
||||
mText->init();
|
||||
mTextX2->init();
|
||||
mTextScoreBoard->init();
|
||||
mTextBig->init();
|
||||
|
||||
// Inicializa el objeto con el menu de pausa
|
||||
mMenuPause->init("PAUSE", 0, 12 * BLOCK, MENU_BACKGROUND_SOLID);
|
||||
@@ -485,8 +495,9 @@ bool Game::loadMedia()
|
||||
bool success = true;
|
||||
|
||||
// Texturas
|
||||
success &= loadTextureFromFile(mTextureText, mFileList[27], mRenderer);
|
||||
success &= loadTextureFromFile(mTextureText2, mFileList[29], mRenderer);
|
||||
success &= loadTextureFromFile(mTextureText, mFileList[30], mRenderer);
|
||||
success &= loadTextureFromFile(mTextureTextScoreBoard, mFileList[27], mRenderer);
|
||||
success &= loadTextureFromFile(mTextureTextBig, mFileList[29], mRenderer);
|
||||
|
||||
success &= loadTextureFromFile(mTexturePlayer1Legs, mFileList[39], mRenderer);
|
||||
success &= loadTextureFromFile(mTexturePlayer1Head, mFileList[41], mRenderer);
|
||||
@@ -1581,41 +1592,38 @@ void Game::renderScoreBoard()
|
||||
mSpritePowerMeter->setSpriteClip(296, 184, (int)percent, 8);
|
||||
mSpritePowerMeter->render();
|
||||
*/
|
||||
const int offset1 = 163;
|
||||
const int offset1 = 162;
|
||||
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);
|
||||
mTextScoreBoard->writeCentered(49/2, offset1, mTextStrings[53]);
|
||||
mTextScoreBoard->write(PLAY_AREA_LEFT+1, offset2, updateScoreText(mPlayer[0]->getScore()));
|
||||
|
||||
// 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);
|
||||
mTextScoreBoard->write(PLAY_AREA_LEFT+1, offset3, mTextStrings[55] + std::to_string(mPlayer[0]->getScoreMultiplier()).substr(0, 3));
|
||||
|
||||
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);
|
||||
mTextScoreBoard->writeCentered(PLAY_AREA_RIGHT - (49/2), offset1, mTextStrings[54]);
|
||||
mTextScoreBoard->write(PLAY_AREA_RIGHT - 49, offset2, updateScoreText(mPlayer[1]->getScore()));
|
||||
|
||||
// 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);
|
||||
mTextScoreBoard->write(PLAY_AREA_RIGHT - (8 * 10), offset3, mTextStrings[55]+std::to_string(mPlayer[1]->getScoreMultiplier()).substr(0, 3));
|
||||
}
|
||||
else
|
||||
{
|
||||
// PLAYER2 - SCORE
|
||||
mText->write(PLAY_AREA_RIGHT - (8 * 9), offset1, mTextStrings[54], 0);
|
||||
mText->write(PLAY_AREA_RIGHT - (8 * 7), offset2, "0000000", 0);
|
||||
mTextScoreBoard->writeCentered(PLAY_AREA_RIGHT - (49/2), offset1, mTextStrings[54]);
|
||||
mTextScoreBoard->write(PLAY_AREA_RIGHT - 49, offset2, "0000000");
|
||||
|
||||
// PLAYER2 - MULT
|
||||
mText->write(PLAY_AREA_RIGHT - (8 * 10), offset3, mTextStrings[55], 0);
|
||||
mText->write(PLAY_AREA_RIGHT - (8 * 3), offset3, "1.0", 0);
|
||||
mTextScoreBoard->write(PLAY_AREA_RIGHT - (8 * 10), offset3, mTextStrings[55] + "1.0");
|
||||
}
|
||||
|
||||
// STAGE
|
||||
mText->writeCentered(PLAY_AREA_CENTER_X, offset1, mTextStrings[42] + std::to_string(mStage[mCurrentStage].number), 0);
|
||||
mTextScoreBoard->writeCentered(PLAY_AREA_CENTER_X, offset1, mTextStrings[57] + std::to_string(mStage[mCurrentStage].number));
|
||||
|
||||
// POWER
|
||||
//mSpritePowerMeter->setSpriteClip(256, 184, 40, 8);
|
||||
@@ -1625,7 +1633,7 @@ void Game::renderScoreBoard()
|
||||
//mSpritePowerMeter->render();
|
||||
|
||||
// HI-SCORE
|
||||
mText->writeCentered(PLAY_AREA_CENTER_X, offset4, mTextStrings[40] + "0000000", 0);
|
||||
mTextScoreBoard->writeCentered(PLAY_AREA_CENTER_X, offset4, mTextStrings[56] + "0000000");
|
||||
}
|
||||
|
||||
// Actualiza las variables del jugador
|
||||
@@ -1804,7 +1812,7 @@ void Game::renderBalloons()
|
||||
{
|
||||
mBalloon[i]->render();
|
||||
if ((mDebug.enabled) && (mBalloon[i]->isPopping() == false))
|
||||
mText->writeCentered(mBalloon[i]->getPosX() + (mBalloon[i]->getWidth() / 2), mBalloon[i]->getPosY() - 8, std::to_string(i), 0);
|
||||
mText->writeCentered(mBalloon[i]->getPosX() + (mBalloon[i]->getWidth() / 2), mBalloon[i]->getPosY() - 8, std::to_string(i));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2893,7 +2901,7 @@ void Game::renderMessages()
|
||||
{
|
||||
if ((mTimeStoppedCounter > 100) || (mTimeStoppedCounter % 10 > 4))
|
||||
//mText->writeCentered(PLAY_AREA_CENTER_X, PLAY_AREA_FIRST_QUARTER_Y, "Time Stopped: " + std::to_string(mTimeStoppedCounter / 10));
|
||||
mText->writeDX(TXT_CENTER | TXT_SHADOW, PLAY_AREA_CENTER_X, PLAY_AREA_FIRST_QUARTER_Y, mTextStrings[36] + std::to_string(mTimeStoppedCounter / 10), 0, noColor, 1, shdwTxtColor);
|
||||
mText->writeDX(TXT_CENTER | TXT_SHADOW, PLAY_AREA_CENTER_X, PLAY_AREA_FIRST_QUARTER_Y, mTextStrings[36] + std::to_string(mTimeStoppedCounter / 10), 1, noColor, 1, shdwTxtColor);
|
||||
|
||||
if (mTimeStoppedCounter > 100)
|
||||
{
|
||||
@@ -2910,7 +2918,7 @@ void Game::renderMessages()
|
||||
// D E M O
|
||||
if (mDemo.enabled)
|
||||
if (mDemo.counter % 30 > 14)
|
||||
mTextX2->writeDX(TXT_CENTER | TXT_SHADOW, PLAY_AREA_CENTER_X, PLAY_AREA_FIRST_QUARTER_Y, mTextStrings[37], 0, noColor, 2, shdwTxtColor);
|
||||
mTextBig->writeDX(TXT_CENTER | TXT_SHADOW, PLAY_AREA_CENTER_X, PLAY_AREA_FIRST_QUARTER_Y, mTextStrings[37], 0, noColor, 2, shdwTxtColor);
|
||||
|
||||
// STAGE NUMBER
|
||||
std::string text = mTextStrings[38] + std::to_string(mStage[mCurrentStage].number);
|
||||
@@ -2918,7 +2926,7 @@ void Game::renderMessages()
|
||||
text = mTextStrings[50];
|
||||
|
||||
if (mStageBitmapCounter < STAGE_COUNTER)
|
||||
mTextX2->writeDX(TXT_CENTER | TXT_SHADOW, PLAY_AREA_CENTER_X, mStageBitmapPath[mStageBitmapCounter], text, 0, noColor, 2, shdwTxtColor);
|
||||
mTextBig->writeDX(TXT_CENTER | TXT_SHADOW, PLAY_AREA_CENTER_X, mStageBitmapPath[mStageBitmapCounter], text, 1, noColor, 2, shdwTxtColor);
|
||||
}
|
||||
|
||||
// Habilita el efecto del item de detener el tiempo
|
||||
@@ -3243,9 +3251,9 @@ void Game::runGameOverScreen()
|
||||
SDL_RenderClear(mRenderer);
|
||||
|
||||
// Dibuja los objetos
|
||||
mTextX2->writeCentered(PLAY_AREA_CENTER_X, PLAY_AREA_CENTER_Y - (BLOCK * 4), mTextStrings[43], 0);
|
||||
mText->writeCentered(PLAY_AREA_CENTER_X, PLAY_AREA_CENTER_Y - (BLOCK * 1), mTextStrings[44] + std::to_string(mPlayer[0]->getScore()), 0);
|
||||
mText->writeCentered(PLAY_AREA_CENTER_X, PLAY_AREA_CENTER_Y + BLOCK * 2, mTextStrings[45], 0);
|
||||
mTextBig->writeCentered(PLAY_AREA_CENTER_X, PLAY_AREA_CENTER_Y - (BLOCK * 4), mTextStrings[43]);
|
||||
mText->writeCentered(PLAY_AREA_CENTER_X, PLAY_AREA_CENTER_Y - (BLOCK * 1), mTextStrings[44] + std::to_string(mPlayer[0]->getScore()));
|
||||
mText->writeCentered(PLAY_AREA_CENTER_X, PLAY_AREA_CENTER_Y + BLOCK * 2, mTextStrings[45]);
|
||||
mMenuGameOver->render();
|
||||
mFade->render();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user