multi lang support
This commit is contained in:
@@ -5,11 +5,12 @@
|
||||
#endif
|
||||
|
||||
// Constructor
|
||||
Game::Game(SDL_Renderer *renderer, std::string *filelist, Input *input, bool demo)
|
||||
Game::Game(SDL_Renderer *renderer, std::string *filelist, std::string *textStrings, Input *input, bool demo)
|
||||
{
|
||||
// Referencia objetos
|
||||
// Copia los punteros
|
||||
mRenderer = renderer;
|
||||
mFileList = filelist;
|
||||
mTextStrings = textStrings;
|
||||
mInput = input;
|
||||
mDemo.enabled = demo;
|
||||
|
||||
@@ -300,8 +301,8 @@ void Game::init()
|
||||
|
||||
// Inicializa el objeto con el menu de pausa
|
||||
mMenuPause->init("PAUSE", 0, 12 * BLOCK, MENU_BACKGROUND_SOLID);
|
||||
mMenuPause->addItem("CONTINUE");
|
||||
mMenuPause->addItem("EXIT TO TITLE");
|
||||
mMenuPause->addItem(mTextStrings[46]);
|
||||
mMenuPause->addItem(mTextStrings[47]);
|
||||
mMenuPause->setDefaultActionWhenCancel(0);
|
||||
mMenuPause->setBackgroundColor(0x29, 0x39, 0x41, 240);
|
||||
mMenuPause->setSelectorColor(0xFF, 0x7A, 0x00, 255);
|
||||
@@ -311,8 +312,8 @@ void Game::init()
|
||||
|
||||
// Inicializa el objeto con el menu de la pantalla de game over
|
||||
mMenuGameOver->init("GAME OVER", 0, PLAY_AREA_CENTER_Y + BLOCK * 4, MENU_BACKGROUND_TRANSPARENT);
|
||||
mMenuGameOver->addItem("YES");
|
||||
mMenuGameOver->addItem("NO");
|
||||
mMenuGameOver->addItem(mTextStrings[48]);
|
||||
mMenuGameOver->addItem(mTextStrings[49]);
|
||||
mMenuGameOver->setDefaultActionWhenCancel(1);
|
||||
mMenuGameOver->setBackgroundColor(0, 0, 0, 255);
|
||||
mMenuGameOver->setSelectorColor(0x54, 0x6e, 0x7a, 255);
|
||||
@@ -1362,6 +1363,7 @@ void Game::deployEnemyFormation()
|
||||
// Crea una powerball
|
||||
createPowerBall();
|
||||
|
||||
// Da un poco de margen para que se creen mas enemigos
|
||||
mEnemyDeployCounter = 50;
|
||||
}
|
||||
else
|
||||
@@ -1491,16 +1493,16 @@ void Game::renderScoreBoard()
|
||||
//if (!mDemo.enabled)
|
||||
{
|
||||
// SCORE
|
||||
mText->writeCentered(PLAY_AREA_CENTER_FIRST_QUARTER_X, SCORE_WORD_Y - 6, "SCORE", 0);
|
||||
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(mScore), 0);
|
||||
|
||||
// HI-SCORE
|
||||
mText->writeCentered(PLAY_AREA_CENTER_THIRD_QUARTER_X, HISCORE_WORD_Y - 6, "HI-SCORE", 0);
|
||||
mText->writeCentered(PLAY_AREA_CENTER_THIRD_QUARTER_X, HISCORE_WORD_Y - 6, mTextStrings[40], 0);
|
||||
mText->writeCentered(PLAY_AREA_CENTER_THIRD_QUARTER_X, HISCORE_NUMBER_Y - 6, updateScoreText(mHiScore), 0);
|
||||
|
||||
// MULT
|
||||
color.g = 255;
|
||||
mText->writeColored(MULTIPLIER_WORD_X, MULTIPLIER_WORD_Y - 6, "MULT", color);
|
||||
mText->writeColored(MULTIPLIER_WORD_X, MULTIPLIER_WORD_Y - 6, mTextStrings[41], color);
|
||||
|
||||
color.g = 192;
|
||||
mTextX2->writeShadowed(PLAY_AREA_CENTER_X - 16, SCORE_WORD_Y + 5, std::to_string(mPlayer->getScoreMultiplier()).substr(0, 1), color, 1);
|
||||
@@ -1508,7 +1510,7 @@ void Game::renderScoreBoard()
|
||||
mText->writeShadowed(PLAY_AREA_CENTER_X + 4, SCORE_WORD_Y + 12, std::to_string(mPlayer->getScoreMultiplier()).substr(2, 1), color);
|
||||
|
||||
// STAGE
|
||||
mText->writeCentered(PLAY_AREA_CENTER_FIRST_QUARTER_X, SCORE_NUMBER_Y + 4, "STAGE " + std::to_string(mStage[mCurrentStage].number), 0);
|
||||
mText->writeCentered(PLAY_AREA_CENTER_FIRST_QUARTER_X, SCORE_NUMBER_Y + 4, mTextStrings[42] + std::to_string(mStage[mCurrentStage].number), 0);
|
||||
|
||||
// POWER
|
||||
mSpritePowerMeter->setSpriteClip(256, 184, 40, 8);
|
||||
@@ -1517,13 +1519,6 @@ void Game::renderScoreBoard()
|
||||
mSpritePowerMeter->setSpriteClip(296, 184, (int)percent, 8);
|
||||
mSpritePowerMeter->render();
|
||||
}
|
||||
/*else
|
||||
{
|
||||
mText->writeCentered(SCREEN_FIRST_QUARTER_X, SCORE_WORD_Y - 3, "A game by", -1);
|
||||
mText->writeCentered(SCREEN_FIRST_QUARTER_X, SCORE_NUMBER_Y, "JailDesigner", -1);
|
||||
mText->writeCentered(SCREEN_THIRD_QUARTER_X, HISCORE_WORD_Y - 3, "Intro music by", -1);
|
||||
mText->writeCentered(SCREEN_THIRD_QUARTER_X, HISCORE_NUMBER_Y, "JailDoctor", -1);
|
||||
}*/
|
||||
}
|
||||
|
||||
// Actualiza las variables del jugador
|
||||
@@ -1689,10 +1684,12 @@ Uint8 Game::createNewBalloon(float x, int y, Uint8 kind, float velx, float speed
|
||||
// Crea una PowerBall
|
||||
void Game::createPowerBall()
|
||||
{
|
||||
const int posY = (PLAY_AREA_TOP);
|
||||
const int posY = PLAY_AREA_TOP;
|
||||
|
||||
const int left = PLAY_AREA_LEFT;
|
||||
const int center = PLAY_AREA_CENTER_X - (BALLOON_WIDTH_4 / 2);
|
||||
const int right = (PLAY_AREA_RIGHT)-BALLOON_WIDTH_4;
|
||||
const int right = PLAY_AREA_RIGHT - BALLOON_WIDTH_4;
|
||||
|
||||
const int x[3] = {left, center, right};
|
||||
const int posX = x[rand() % 3];
|
||||
|
||||
@@ -2687,7 +2684,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, "Time Stopped: " + 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), 0, noColor, 1, shdwTxtColor);
|
||||
|
||||
if (mTimeStoppedCounter > 100)
|
||||
{
|
||||
@@ -2704,11 +2701,11 @@ 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, "D E M O", 0, noColor, 2, shdwTxtColor);
|
||||
mTextX2->writeDX(TXT_CENTER | TXT_SHADOW, PLAY_AREA_CENTER_X, PLAY_AREA_FIRST_QUARTER_Y, mTextStrings[37], 0, noColor, 2, shdwTxtColor);
|
||||
|
||||
// STAGE NUMBER
|
||||
if (mStageBitmapCounter < STAGE_COUNTER)
|
||||
mTextX2->writeDX(TXT_CENTER | TXT_SHADOW, PLAY_AREA_CENTER_X, mStageBitmapPath[mStageBitmapCounter], "STAGE " + std::to_string(mStage[mCurrentStage].number), 0, noColor, 2, shdwTxtColor);
|
||||
mTextX2->writeDX(TXT_CENTER | TXT_SHADOW, PLAY_AREA_CENTER_X, mStageBitmapPath[mStageBitmapCounter], mTextStrings[38] + std::to_string(mStage[mCurrentStage].number), 0, noColor, 2, shdwTxtColor);
|
||||
}
|
||||
|
||||
// Habilita el efecto del item de detener el tiempo
|
||||
@@ -3026,9 +3023,9 @@ void Game::runGameOverScreen()
|
||||
SDL_RenderClear(mRenderer);
|
||||
|
||||
// Dibuja los objetos
|
||||
mTextX2->writeCentered(PLAY_AREA_CENTER_X, PLAY_AREA_CENTER_Y - (BLOCK * 4), "GAME OVER", 0);
|
||||
mText->writeCentered(PLAY_AREA_CENTER_X, PLAY_AREA_CENTER_Y - (BLOCK * 1), "YOUR SCORE: " + std::to_string(mPlayer->getScore()), 0);
|
||||
mText->write(PLAY_AREA_CENTER_X - (mText->lenght("RETRY?", 0) / 2), PLAY_AREA_CENTER_Y + BLOCK * 2, "RETRY?", 0);
|
||||
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->getScore()), 0);
|
||||
mText->writeCentered(PLAY_AREA_CENTER_X, PLAY_AREA_CENTER_Y + BLOCK * 2, mTextStrings[45], 0);
|
||||
mMenuGameOver->render();
|
||||
mFade->render();
|
||||
|
||||
@@ -3082,7 +3079,7 @@ void Game::renderDebugInfo()
|
||||
// Indica si se puede crear una powerball
|
||||
bool Game::canPowerBallBeCreated()
|
||||
{
|
||||
if ((!mPowerBallEnabled) && (calculateScreenPower() > 0))
|
||||
if ((!mPowerBallEnabled) && (calculateScreenPower() > POWERBALL_SCREENPOWER_MINIMUM))
|
||||
return true;
|
||||
else
|
||||
return false;
|
||||
|
||||
Reference in New Issue
Block a user