lang class
This commit is contained in:
116
media/lang/ba_BA.txt
Normal file
116
media/lang/ba_BA.txt
Normal file
@@ -0,0 +1,116 @@
|
|||||||
|
## 0 - MENU DEL TITULO
|
||||||
|
JUGAR
|
||||||
|
## 1 - MENU DEL TITULO
|
||||||
|
OPCIONS
|
||||||
|
## 2 - MENU DEL TITULO
|
||||||
|
INSTRUCCIONS
|
||||||
|
## 3 - MENU DEL TITULO
|
||||||
|
EIXIR
|
||||||
|
## 4 - MENU DE OPCIONES
|
||||||
|
FINESTRA
|
||||||
|
## 5 - MENU DE OPCIONES
|
||||||
|
PANTALLA COMPLETA
|
||||||
|
## 6 - MENU DE OPCIONES
|
||||||
|
PANTALLA COMPLETA FALSA
|
||||||
|
## 7 - MENU DE OPCIONES
|
||||||
|
TAMANY DE FINESTRA
|
||||||
|
## 8 - MENU DE OPCIONES
|
||||||
|
IDIOMA
|
||||||
|
## 9 - MENU DE OPCIONES
|
||||||
|
[ ACEPTAR ]
|
||||||
|
## 10 - MENU DE OPCIONES
|
||||||
|
[ CANCELAR ]
|
||||||
|
## 11 - INSTRUCCIONES
|
||||||
|
OBJECTIU
|
||||||
|
## 12 - INSTRUCCIONES
|
||||||
|
HAS D'EXPLOTAR
|
||||||
|
## 13 - INSTRUCCIONES
|
||||||
|
TANTS GLOBUS COM PUGUES
|
||||||
|
## 14 - INSTRUCCIONES
|
||||||
|
LA DIFICULTAT AUGMENTA
|
||||||
|
## 15 - INSTRUCCIONES
|
||||||
|
A MESURA QUE VAS PUNTUANT
|
||||||
|
## 16 - INSTRUCCIONES
|
||||||
|
OBJECTES
|
||||||
|
## 17 - INSTRUCCIONES
|
||||||
|
1.000 PUNTS
|
||||||
|
## 18 - INSTRUCCIONES
|
||||||
|
2.500 PUNTS
|
||||||
|
## 19 - INSTRUCCIONES
|
||||||
|
5.000 PUNTS
|
||||||
|
## 20 - INSTRUCCIONES
|
||||||
|
PARA EL TEMPS
|
||||||
|
## 21 - INSTRUCCIONES
|
||||||
|
VIDA EXTRA
|
||||||
|
## 22 - INSTRUCCIONES
|
||||||
|
PREM UNA TECLA PER A TORNAR
|
||||||
|
## 23 - TITULO
|
||||||
|
PREM QUALSEVOL TECLA
|
||||||
|
## 24 - MENU SELECCION DE IDIOMA
|
||||||
|
ESPA^OL (ESPANYOL)
|
||||||
|
## 25 - MENU SELECCION DE IDIOMA
|
||||||
|
BALOONCIA
|
||||||
|
## 26 - MENU SELECCION DE IDIOMA
|
||||||
|
ENGLISH (ANGLES)
|
||||||
|
## 27 - INTRO
|
||||||
|
Un dia qualsevol de l'any 2000
|
||||||
|
## 28 - INTRO
|
||||||
|
Tot esta tranquil a la UPV
|
||||||
|
## 29 - INTRO
|
||||||
|
Fins que un desaprensiu...
|
||||||
|
## 30 - INTRO
|
||||||
|
HEY! ME ANE A FERME UN CORTAET...
|
||||||
|
## 31 - INTRO
|
||||||
|
UAAAAAAAAAAAAA!!!
|
||||||
|
## 32 - INTRO
|
||||||
|
Espera un moment...
|
||||||
|
## 33 - INTRO
|
||||||
|
Si resulta que no tinc solt!
|
||||||
|
## 34 - INTRO
|
||||||
|
MERDA DE MAQUINA!
|
||||||
|
## 35 - INTRO
|
||||||
|
Blop... blop... blop...
|
||||||
|
## 36 - TEXTOS DEL JUEGO
|
||||||
|
Temps detes:
|
||||||
|
## 37 - TEXTOS DEL JUEGO
|
||||||
|
D E M O
|
||||||
|
## 38 - TEXTOS DEL JUEGO
|
||||||
|
PANTALLA
|
||||||
|
## 39 - MARCADOR
|
||||||
|
PUNTS
|
||||||
|
## 40 - MARCADOR
|
||||||
|
MAX.PUNT.
|
||||||
|
## 41 - MARCADOR
|
||||||
|
MULT
|
||||||
|
## 42 - MARCADOR
|
||||||
|
PANTALLA
|
||||||
|
## 43 - PANTALLA DE GAME OVER
|
||||||
|
FI DEL JOC
|
||||||
|
## 44 - PANTALLA DE GAME OVER
|
||||||
|
ELS TEUS PUNTS:
|
||||||
|
## 45 - PANTALLA DE GAME OVER
|
||||||
|
REINTENTAR?
|
||||||
|
## 46 - MENU DE PAUSA
|
||||||
|
CONTINUAR
|
||||||
|
## 47 - MENU DE PAUSA
|
||||||
|
EIXIR DEL JOC
|
||||||
|
## 48 - MENU GAME OVER
|
||||||
|
SI
|
||||||
|
## 49 - MENU GAME OVER
|
||||||
|
NO
|
||||||
|
## 50 - TEXTO DE COMPLETAR EL JUEGO
|
||||||
|
FELICITATS!!
|
||||||
|
## 51 - MENU DEL TITULO
|
||||||
|
1 JUGADOR
|
||||||
|
## 52 - MENU DEL TITULO
|
||||||
|
2 JUGADORS
|
||||||
|
## 53 MARCADOR
|
||||||
|
jugador 2
|
||||||
|
## 54 MARCADOR
|
||||||
|
jugador 2
|
||||||
|
## 55 MARCADOR
|
||||||
|
mult -
|
||||||
|
## 56 MARCADOR
|
||||||
|
max. puntuacio -
|
||||||
|
## 57 MARCADOR
|
||||||
|
nivell
|
||||||
116
media/lang/en_UK.txt
Normal file
116
media/lang/en_UK.txt
Normal file
@@ -0,0 +1,116 @@
|
|||||||
|
## 0 - MENU DEL TITULO
|
||||||
|
PLAY
|
||||||
|
## 1 - MENU DEL TITULO
|
||||||
|
OPTIONS
|
||||||
|
## 2 - MENU DEL TITULO
|
||||||
|
HOW TO PLAY
|
||||||
|
## 3 - MENU DEL TITULO
|
||||||
|
QUIT
|
||||||
|
## 4 - MENU DE OPCIONES
|
||||||
|
WINDOW
|
||||||
|
## 5 - MENU DE OPCIONES
|
||||||
|
FULLSCREEN
|
||||||
|
## 6 - MENU DE OPCIONES
|
||||||
|
FAKE FULLSCREEN
|
||||||
|
## 7 - MENU DE OPCIONES
|
||||||
|
WINDOW SIZE
|
||||||
|
## 8 - MENU DE OPCIONES
|
||||||
|
LANGUAGE
|
||||||
|
## 9 - MENU DE OPCIONES
|
||||||
|
[ ACCEPT ]
|
||||||
|
## 10 - MENU DE OPCIONES
|
||||||
|
[ CANCEL ]
|
||||||
|
## 11 - INSTRUCCIONES
|
||||||
|
OBJECTIVE
|
||||||
|
## 12 - INSTRUCCIONES
|
||||||
|
YOU HAVE TO POP AS MANY
|
||||||
|
## 13 - INSTRUCCIONES
|
||||||
|
BALLOONS AS YOU CAN
|
||||||
|
## 14 - INSTRUCCIONES
|
||||||
|
DIFFICULTY WILL BE INCREASED
|
||||||
|
## 15 - INSTRUCCIONES
|
||||||
|
AS YOU SCORE POINTS
|
||||||
|
## 16 - INSTRUCCIONES
|
||||||
|
ITEMS
|
||||||
|
## 17 - INSTRUCCIONES
|
||||||
|
1.000 POINTS
|
||||||
|
## 18 - INSTRUCCIONES
|
||||||
|
2.500 POINTS
|
||||||
|
## 19 - INSTRUCCIONES
|
||||||
|
5.000 POINTS
|
||||||
|
## 20 - INSTRUCCIONES
|
||||||
|
TIME STOPPER
|
||||||
|
## 21 - INSTRUCCIONES
|
||||||
|
EXTRA HIT
|
||||||
|
## 22 - INSTRUCCIONES
|
||||||
|
PRESS ANY KEY TO RETURN
|
||||||
|
## 23 - TITULO
|
||||||
|
PRESS ANY KEY
|
||||||
|
## 24 - MENU SELECCION DE IDIOMA
|
||||||
|
ESPA^OL (SPANISH)
|
||||||
|
## 25 - MENU SELECCION DE IDIOMA
|
||||||
|
BALOONCIA (VALENCIAN)
|
||||||
|
## 26 - MENU SELECCION DE IDIOMA
|
||||||
|
ENGLISH
|
||||||
|
## 27 - INTRO
|
||||||
|
Any day of the year 2000
|
||||||
|
## 28 - INTRO
|
||||||
|
Everything is quiet at the UPV
|
||||||
|
## 29 - INTRO
|
||||||
|
Until a bastard arrives...
|
||||||
|
## 30 - INTRO
|
||||||
|
YO! GONNA TAKE A CAFELITO...
|
||||||
|
## 31 - INTRO
|
||||||
|
AAAAAAAARGHHHH!!!
|
||||||
|
## 32 - INTRO
|
||||||
|
Wait a moment...
|
||||||
|
## 33 - INTRO
|
||||||
|
I don't have any loose!
|
||||||
|
## 34 - INTRO
|
||||||
|
FUCKING MACHINE!
|
||||||
|
## 35 - INTRO
|
||||||
|
Blop... blop... blop...
|
||||||
|
## 36 - TEXTOS DEL JUEGO
|
||||||
|
Time Stopped:
|
||||||
|
## 37 - TEXTOS DEL JUEGO
|
||||||
|
D E M O
|
||||||
|
## 38 - TEXTOS DEL JUEGO
|
||||||
|
STAGE
|
||||||
|
## 39 - MARCADOR
|
||||||
|
SCORE
|
||||||
|
## 40 - MARCADOR
|
||||||
|
HI-SCORE
|
||||||
|
## 41 - MARCADOR
|
||||||
|
MULT
|
||||||
|
## 42 - MARCADOR
|
||||||
|
STAGE
|
||||||
|
## 43 - PANTALLA DE GAME OVER
|
||||||
|
GAME OVER
|
||||||
|
## 44 - PANTALLA DE GAME OVER
|
||||||
|
YOUR SCORE:
|
||||||
|
## 45 - PANTALLA DE GAME OVER
|
||||||
|
RETRY?
|
||||||
|
## 46 - MENU DE PAUSA
|
||||||
|
CONTINUE
|
||||||
|
## 47 - MENU DE PAUSA
|
||||||
|
LEAVE GAME
|
||||||
|
## 48 - MENU GAME OVER
|
||||||
|
YES
|
||||||
|
## 49 - MENU GAME OVER
|
||||||
|
NO
|
||||||
|
## 50 - TEXTO DE COMPLETAR EL JUEGO
|
||||||
|
NICE!!
|
||||||
|
## 51 - MENU DEL TITULO
|
||||||
|
1 PLAYER
|
||||||
|
## 52 - MENU DEL TITULO
|
||||||
|
2 PLAYERS
|
||||||
|
## 53 MARCADOR
|
||||||
|
player 1
|
||||||
|
## 54 MARCADOR
|
||||||
|
player 2
|
||||||
|
## 55 MARCADOR
|
||||||
|
mult -
|
||||||
|
## 56 MARCADOR
|
||||||
|
high score -
|
||||||
|
## 57 MARCADOR
|
||||||
|
stage
|
||||||
116
media/lang/es_ES.txt
Normal file
116
media/lang/es_ES.txt
Normal file
@@ -0,0 +1,116 @@
|
|||||||
|
## 0 - MENU DEL TITULO
|
||||||
|
JUGAR
|
||||||
|
## 1 - MENU DEL TITULO
|
||||||
|
OPCIONES
|
||||||
|
## 2 - MENU DEL TITULO
|
||||||
|
INSTRUCCIONES
|
||||||
|
## 3 - MENU DEL TITULO
|
||||||
|
SALIR
|
||||||
|
## 4 - MENU DE OPCIONES
|
||||||
|
VENTANA
|
||||||
|
## 5 - MENU DE OPCIONES
|
||||||
|
PANTALLA COMPLETA
|
||||||
|
## 6 - MENU DE OPCIONES
|
||||||
|
PANTALLA COMPLETA FALSA
|
||||||
|
## 7 - MENU DE OPCIONES
|
||||||
|
TAMA^O DE VENTANA
|
||||||
|
## 8 - MENU DE OPCIONES
|
||||||
|
IDIOMA
|
||||||
|
## 9 - MENU DE OPCIONES
|
||||||
|
[ ACEPTAR ]
|
||||||
|
## 10 - MENU DE OPCIONES
|
||||||
|
[ CANCELAR ]
|
||||||
|
## 11 - INSTRUCCIONES
|
||||||
|
OBJETIVO
|
||||||
|
## 12 - INSTRUCCIONES
|
||||||
|
TIENES QUE EXPLOTAR
|
||||||
|
## 13 - INSTRUCCIONES
|
||||||
|
TANTOS GLOBOS COMO PUEDAS
|
||||||
|
## 14 - INSTRUCCIONES
|
||||||
|
LA DIFICULTAD SE INCREMENTA
|
||||||
|
## 15 - INSTRUCCIONES
|
||||||
|
A MEDIDA QUE VAS PUNTUANDO
|
||||||
|
## 16 - INSTRUCCIONES
|
||||||
|
OBJETOS
|
||||||
|
## 17 - INSTRUCCIONES
|
||||||
|
1.000 PUNTOS
|
||||||
|
## 18 - INSTRUCCIONES
|
||||||
|
2.500 PUNTOS
|
||||||
|
## 19 - INSTRUCCIONES
|
||||||
|
5.000 PUNTOS
|
||||||
|
## 20 - INSTRUCCIONES
|
||||||
|
DETIENE EL TIEMPO
|
||||||
|
## 21 - INSTRUCCIONES
|
||||||
|
VIDA EXTRA
|
||||||
|
## 22 - INSTRUCCIONES
|
||||||
|
PULSA UNA TECLA PARA VOLVER
|
||||||
|
## 23 - TITULO
|
||||||
|
PULSA CUALQUIER TECLA
|
||||||
|
## 24 - MENU SELECCION DE IDIOMA
|
||||||
|
ESPA^OL
|
||||||
|
## 25 - MENU SELECCION DE IDIOMA
|
||||||
|
BALOONCIA (VALENCIANO)
|
||||||
|
## 26 - MENU SELECCION DE IDIOMA
|
||||||
|
ENGLISH (INGLES)
|
||||||
|
## 27 - INTRO
|
||||||
|
Un dia cualquiera del a^o 2000
|
||||||
|
## 28 - INTRO
|
||||||
|
Todo esta tranquilo en la UPV
|
||||||
|
## 29 - INTRO
|
||||||
|
Hasta que un desaprensivo...
|
||||||
|
## 30 - INTRO
|
||||||
|
HEY! VOY A SACARME UN TALLADET...
|
||||||
|
## 31 - INTRO
|
||||||
|
UAAAAAAAAAAAAA!!!
|
||||||
|
## 32 - INTRO
|
||||||
|
Espera un momento...
|
||||||
|
## 33 - INTRO
|
||||||
|
Si no llevo suelto encima!
|
||||||
|
## 34 - INTRO
|
||||||
|
MIERDA DE MAQUINA!
|
||||||
|
## 35 - INTRO
|
||||||
|
Blop... blop... blop...
|
||||||
|
## 36 - TEXTOS DEL JUEGO
|
||||||
|
Tiempo:
|
||||||
|
## 37 - TEXTOS DEL JUEGO
|
||||||
|
D E M O
|
||||||
|
## 38 - TEXTOS DEL JUEGO
|
||||||
|
FASE
|
||||||
|
## 39 - MARCADOR
|
||||||
|
PUNTOS
|
||||||
|
## 40 - MARCADOR
|
||||||
|
MAX.PUNT.
|
||||||
|
## 41 - MARCADOR
|
||||||
|
MULT
|
||||||
|
## 42 - MARCADOR
|
||||||
|
FASE
|
||||||
|
## 43 - PANTALLA DE GAME OVER
|
||||||
|
FIN DE JUEGO
|
||||||
|
## 44 - PANTALLA DE GAME OVER
|
||||||
|
TU PUNTUACION:
|
||||||
|
## 45 - PANTALLA DE GAME OVER
|
||||||
|
REINTENTAR?
|
||||||
|
## 46 - MENU DE PAUSA
|
||||||
|
CONTINUAR
|
||||||
|
## 47 - MENU DE PAUSA
|
||||||
|
SALIR DEL JUEGO
|
||||||
|
## 48 - MENU GAME OVER
|
||||||
|
SI
|
||||||
|
## 49 - MENU GAME OVER
|
||||||
|
NO
|
||||||
|
## 50 - TEXTO DE COMPLETAR EL JUEGO
|
||||||
|
FELICIDADES!!
|
||||||
|
## 51 - MENU DEL TITULO
|
||||||
|
1 JUGADOR
|
||||||
|
## 52 - MENU DEL TITULO
|
||||||
|
2 JUGADORES
|
||||||
|
## 53 MARCADOR
|
||||||
|
jugador 1
|
||||||
|
## 54 MARCADOR
|
||||||
|
jugador 2
|
||||||
|
## 55 MARCADOR
|
||||||
|
mult -
|
||||||
|
## 56 MARCADOR
|
||||||
|
max. puntuacion -
|
||||||
|
## 57 MARCADOR
|
||||||
|
fase
|
||||||
@@ -21,6 +21,9 @@ Director::Director(std::string path)
|
|||||||
if (!checkFileList())
|
if (!checkFileList())
|
||||||
section = PROG_SECTION_QUIT;
|
section = PROG_SECTION_QUIT;
|
||||||
|
|
||||||
|
// Inicializa el objeto de idioma
|
||||||
|
mLang = new Lang(mFileList);
|
||||||
|
|
||||||
// Crea el objeto y carga el fichero de configuración
|
// Crea el objeto y carga el fichero de configuración
|
||||||
mOptions = new options_t;
|
mOptions = new options_t;
|
||||||
if (!loadConfigFile())
|
if (!loadConfigFile())
|
||||||
@@ -73,9 +76,13 @@ Director::~Director()
|
|||||||
|
|
||||||
delete mInput1;
|
delete mInput1;
|
||||||
mInput1 = nullptr;
|
mInput1 = nullptr;
|
||||||
|
|
||||||
delete mInput2;
|
delete mInput2;
|
||||||
mInput2 = nullptr;
|
mInput2 = nullptr;
|
||||||
|
|
||||||
|
delete mLang;
|
||||||
|
mLang = nullptr;
|
||||||
|
|
||||||
delete mOptions;
|
delete mOptions;
|
||||||
mOptions = nullptr;
|
mOptions = nullptr;
|
||||||
|
|
||||||
@@ -95,7 +102,7 @@ void Director::init(Uint8 name)
|
|||||||
mSection.subsection = 0;
|
mSection.subsection = 0;
|
||||||
|
|
||||||
// Textos
|
// Textos
|
||||||
initTextStrings(mTextStrings, mOptions->language);
|
mLang->setLang(mOptions->language);
|
||||||
|
|
||||||
// Teclado
|
// Teclado
|
||||||
mInput1->bindKey(INPUT_UP, SDL_SCANCODE_UP);
|
mInput1->bindKey(INPUT_UP, SDL_SCANCODE_UP);
|
||||||
@@ -194,7 +201,7 @@ bool Director::initSDL()
|
|||||||
void Director::setFileList()
|
void Director::setFileList()
|
||||||
{
|
{
|
||||||
// Inicializa el vector
|
// Inicializa el vector
|
||||||
for (int i = 0; i < 100; i++)
|
for (int i = 0; i < MAX_FILE_LIST; i++)
|
||||||
mFileList[i] = "";
|
mFileList[i] = "";
|
||||||
|
|
||||||
// Ficheros binarios
|
// Ficheros binarios
|
||||||
@@ -259,6 +266,11 @@ void Director::setFileList()
|
|||||||
mFileList[47] = mExecutablePath + "/" + "../media/font/smb2_big.txt";
|
mFileList[47] = mExecutablePath + "/" + "../media/font/smb2_big.txt";
|
||||||
mFileList[30] = mExecutablePath + "/" + "../media/font/smb2.png";
|
mFileList[30] = mExecutablePath + "/" + "../media/font/smb2.png";
|
||||||
mFileList[48] = mExecutablePath + "/" + "../media/font/smb2.txt";
|
mFileList[48] = mExecutablePath + "/" + "../media/font/smb2.txt";
|
||||||
|
|
||||||
|
// Textos
|
||||||
|
mFileList[49] = mExecutablePath + "/" + "../media/lang/es_ES.txt";
|
||||||
|
mFileList[50] = mExecutablePath + "/" + "../media/lang/en_UK.txt";
|
||||||
|
mFileList[51] = mExecutablePath + "/" + "../media/lang/ba_BA.txt";
|
||||||
}
|
}
|
||||||
|
|
||||||
// Comprueba que todos los ficheros existen
|
// Comprueba que todos los ficheros existen
|
||||||
@@ -274,7 +286,7 @@ bool Director::checkFileList()
|
|||||||
// Comprueba los ficheros de musica
|
// Comprueba los ficheros de musica
|
||||||
printf(">> MUSIC FILES\n");
|
printf(">> MUSIC FILES\n");
|
||||||
if (success)
|
if (success)
|
||||||
for (int i = 3; i < 100; i++)
|
for (int i = 3; i < MAX_FILE_LIST; i++)
|
||||||
{
|
{
|
||||||
if (mFileList[i].find("/media/music/") != std::string::npos)
|
if (mFileList[i].find("/media/music/") != std::string::npos)
|
||||||
{
|
{
|
||||||
@@ -298,7 +310,7 @@ bool Director::checkFileList()
|
|||||||
// Comprueba los ficheros de sonidos
|
// Comprueba los ficheros de sonidos
|
||||||
printf("\n>> SOUND FILES\n");
|
printf("\n>> SOUND FILES\n");
|
||||||
if (success)
|
if (success)
|
||||||
for (int i = 3; i < 100; i++)
|
for (int i = 3; i < MAX_FILE_LIST; i++)
|
||||||
{
|
{
|
||||||
if (mFileList[i].find("/media/sound/") != std::string::npos)
|
if (mFileList[i].find("/media/sound/") != std::string::npos)
|
||||||
{
|
{
|
||||||
@@ -322,7 +334,7 @@ bool Director::checkFileList()
|
|||||||
// Comprueba los ficheros con graficos
|
// Comprueba los ficheros con graficos
|
||||||
printf("\n>> BITMAP FILES\n");
|
printf("\n>> BITMAP FILES\n");
|
||||||
if (success)
|
if (success)
|
||||||
for (int i = 3; i < 100; i++)
|
for (int i = 3; i < MAX_FILE_LIST; i++)
|
||||||
{
|
{
|
||||||
if (mFileList[i].find("/media/gfx/") != std::string::npos)
|
if (mFileList[i].find("/media/gfx/") != std::string::npos)
|
||||||
{
|
{
|
||||||
@@ -346,7 +358,7 @@ bool Director::checkFileList()
|
|||||||
// Comprueba los ficheros con fuentes de texto
|
// Comprueba los ficheros con fuentes de texto
|
||||||
printf("\n>> FONT FILES\n");
|
printf("\n>> FONT FILES\n");
|
||||||
if (success)
|
if (success)
|
||||||
for (int i = 3; i < 100; i++)
|
for (int i = 3; i < MAX_FILE_LIST; i++)
|
||||||
{
|
{
|
||||||
if (mFileList[i].find("/media/font/") != std::string::npos)
|
if (mFileList[i].find("/media/font/") != std::string::npos)
|
||||||
{
|
{
|
||||||
@@ -367,6 +379,30 @@ bool Director::checkFileList()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Comprueba los ficheros con textos en diferentes idiomas
|
||||||
|
printf("\n>> LANG FILES\n");
|
||||||
|
if (success)
|
||||||
|
for (int i = 3; i < 100; i++)
|
||||||
|
{
|
||||||
|
if (mFileList[i].find("/media/lang/") != std::string::npos)
|
||||||
|
{
|
||||||
|
p = mFileList[i].c_str();
|
||||||
|
filename = p.substr(p.find_last_of("\\/") + 1);
|
||||||
|
file = SDL_RWFromFile(p.c_str(), "r+b");
|
||||||
|
if (file != NULL)
|
||||||
|
{
|
||||||
|
printf("Checking file %-20s [OK]\n", filename.c_str());
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
printf("Checking file %-20s [ERROR]\n", filename.c_str());
|
||||||
|
success = false;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
SDL_RWclose(file);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// Resultado
|
// Resultado
|
||||||
if (success)
|
if (success)
|
||||||
printf("\n** All files OK.\n\n");
|
printf("\n** All files OK.\n\n");
|
||||||
@@ -453,7 +489,7 @@ bool Director::loadConfigFile()
|
|||||||
// Aplica las opciones
|
// Aplica las opciones
|
||||||
SDL_SetWindowFullscreen(mWindow, mOptions->fullScreenMode);
|
SDL_SetWindowFullscreen(mWindow, mOptions->fullScreenMode);
|
||||||
SDL_SetWindowSize(mWindow, SCREEN_WIDTH * mOptions->windowSize, SCREEN_HEIGHT * mOptions->windowSize);
|
SDL_SetWindowSize(mWindow, SCREEN_WIDTH * mOptions->windowSize, SCREEN_HEIGHT * mOptions->windowSize);
|
||||||
initTextStrings(mTextStrings, mOptions->language);
|
mLang->setLang(mOptions->language);
|
||||||
|
|
||||||
// Cierra el fichero
|
// Cierra el fichero
|
||||||
SDL_RWclose(file);
|
SDL_RWclose(file);
|
||||||
@@ -526,14 +562,14 @@ void Director::runLogo()
|
|||||||
|
|
||||||
void Director::runIntro()
|
void Director::runIntro()
|
||||||
{
|
{
|
||||||
mIntro = new Intro(mRenderer, mFileList, mTextStrings);
|
mIntro = new Intro(mRenderer, mFileList, mLang);
|
||||||
setSection(mIntro->run());
|
setSection(mIntro->run());
|
||||||
delete mIntro;
|
delete mIntro;
|
||||||
}
|
}
|
||||||
|
|
||||||
void Director::runTitle()
|
void Director::runTitle()
|
||||||
{
|
{
|
||||||
mTitle = new Title(mWindow, mRenderer, mInput1, mFileList, mOptions, mTextStrings);
|
mTitle = new Title(mWindow, mRenderer, mInput1, mFileList, mOptions, mLang);
|
||||||
setSection(mTitle->run(mSection.subsection));
|
setSection(mTitle->run(mSection.subsection));
|
||||||
delete mTitle;
|
delete mTitle;
|
||||||
}
|
}
|
||||||
@@ -541,9 +577,9 @@ void Director::runTitle()
|
|||||||
void Director::runGame()
|
void Director::runGame()
|
||||||
{
|
{
|
||||||
if (mSection.subsection == GAME_SECTION_PLAY_1P)
|
if (mSection.subsection == GAME_SECTION_PLAY_1P)
|
||||||
mGame = new Game(1, mRenderer, mFileList, mTextStrings, mInput1, mInput2, false);
|
mGame = new Game(1, mRenderer, mFileList, mLang, mInput1, mInput2, false);
|
||||||
if (mSection.subsection == GAME_SECTION_PLAY_2P)
|
if (mSection.subsection == GAME_SECTION_PLAY_2P)
|
||||||
mGame = new Game(2, mRenderer, mFileList, mTextStrings, mInput1, mInput2, false);
|
mGame = new Game(2, mRenderer, mFileList, mLang, mInput1, mInput2, false);
|
||||||
setSection(mGame->run());
|
setSection(mGame->run());
|
||||||
delete mGame;
|
delete mGame;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -25,6 +25,8 @@
|
|||||||
#ifndef DIRECTOR_H
|
#ifndef DIRECTOR_H
|
||||||
#define DIRECTOR_H
|
#define DIRECTOR_H
|
||||||
|
|
||||||
|
#define MAX_FILE_LIST 100
|
||||||
|
|
||||||
// Director
|
// Director
|
||||||
class Director
|
class Director
|
||||||
{
|
{
|
||||||
@@ -39,10 +41,10 @@ private:
|
|||||||
Intro *mIntro; // Objeto para la sección de la intro
|
Intro *mIntro; // Objeto para la sección de la intro
|
||||||
Title *mTitle; // Objeto para la sección del titulo y el menu de opciones
|
Title *mTitle; // Objeto para la sección del titulo y el menu de opciones
|
||||||
Game *mGame; // Objeto para la sección del juego
|
Game *mGame; // Objeto para la sección del juego
|
||||||
|
Lang *mLang; // Objeto para gestionar los textos en diferentes idiomas
|
||||||
|
|
||||||
std::string mFileList[100]; // Vector con las rutas a los ficheros de recursos
|
std::string mFileList[MAX_FILE_LIST]; // Vector con las rutas a los ficheros de recursos
|
||||||
struct options_t *mOptions; // Variable con todas las opciones del programa
|
struct options_t *mOptions; // Variable con todas las opciones del programa
|
||||||
std::string mTextStrings[MAX_TEXT_STRINGS]; // Vector con los textos del juego
|
|
||||||
|
|
||||||
std::string mExecutablePath; // Path del ejecutable
|
std::string mExecutablePath; // Path del ejecutable
|
||||||
section_t mSection; // Sección y subsección actual del programa;
|
section_t mSection; // Sección y subsección actual del programa;
|
||||||
|
|||||||
@@ -5,12 +5,12 @@
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
// Constructor
|
// Constructor
|
||||||
Game::Game(int numPlayers, SDL_Renderer *renderer, std::string *filelist, std::string *textStrings, Input *input1, Input *input2, bool demo)
|
Game::Game(int numPlayers, SDL_Renderer *renderer, std::string *filelist, Lang *lang, Input *input1, Input *input2, bool demo)
|
||||||
{
|
{
|
||||||
// Copia los punteros
|
// Copia los punteros
|
||||||
mRenderer = renderer;
|
mRenderer = renderer;
|
||||||
mFileList = filelist;
|
mFileList = filelist;
|
||||||
mTextStrings = textStrings;
|
mLang = lang;
|
||||||
mInput[0] = input1;
|
mInput[0] = input1;
|
||||||
mInput[1] = input2;
|
mInput[1] = input2;
|
||||||
mDemo.enabled = demo;
|
mDemo.enabled = demo;
|
||||||
@@ -361,8 +361,8 @@ void Game::init()
|
|||||||
|
|
||||||
// Inicializa el objeto con el menu de pausa
|
// Inicializa el objeto con el menu de pausa
|
||||||
mMenuPause->init("PAUSE", 0, 12 * BLOCK, MENU_BACKGROUND_SOLID);
|
mMenuPause->init("PAUSE", 0, 12 * BLOCK, MENU_BACKGROUND_SOLID);
|
||||||
mMenuPause->addItem(mTextStrings[46]);
|
mMenuPause->addItem(mLang->getText(46));
|
||||||
mMenuPause->addItem(mTextStrings[47]);
|
mMenuPause->addItem(mLang->getText(47));
|
||||||
mMenuPause->setDefaultActionWhenCancel(0);
|
mMenuPause->setDefaultActionWhenCancel(0);
|
||||||
mMenuPause->setBackgroundColor(0x29, 0x39, 0x41, 240);
|
mMenuPause->setBackgroundColor(0x29, 0x39, 0x41, 240);
|
||||||
mMenuPause->setSelectorColor(0xFF, 0x7A, 0x00, 255);
|
mMenuPause->setSelectorColor(0xFF, 0x7A, 0x00, 255);
|
||||||
@@ -372,8 +372,8 @@ void Game::init()
|
|||||||
|
|
||||||
// Inicializa el objeto con el menu de la pantalla de game over
|
// 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->init("GAME OVER", 0, PLAY_AREA_CENTER_Y + BLOCK * 4, MENU_BACKGROUND_TRANSPARENT);
|
||||||
mMenuGameOver->addItem(mTextStrings[48]);
|
mMenuGameOver->addItem(mLang->getText(48));
|
||||||
mMenuGameOver->addItem(mTextStrings[49]);
|
mMenuGameOver->addItem(mLang->getText(49));
|
||||||
mMenuGameOver->setDefaultActionWhenCancel(1);
|
mMenuGameOver->setDefaultActionWhenCancel(1);
|
||||||
mMenuGameOver->setBackgroundColor(0, 0, 0, 255);
|
mMenuGameOver->setBackgroundColor(0, 0, 0, 255);
|
||||||
mMenuGameOver->setSelectorColor(0x54, 0x6e, 0x7a, 255);
|
mMenuGameOver->setSelectorColor(0x54, 0x6e, 0x7a, 255);
|
||||||
@@ -1568,16 +1568,16 @@ void Game::renderScoreBoard()
|
|||||||
mSpriteScoreBoard->render();
|
mSpriteScoreBoard->render();
|
||||||
/*
|
/*
|
||||||
// SCORE
|
// 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_WORD_Y - 6, mLang->getText(39), 0);
|
||||||
mText->writeCentered(PLAY_AREA_CENTER_FIRST_QUARTER_X, SCORE_NUMBER_Y - 6, updateScoreText(mPlayer[0]->getScore()), 0);
|
mText->writeCentered(PLAY_AREA_CENTER_FIRST_QUARTER_X, SCORE_NUMBER_Y - 6, updateScoreText(mPlayer[0]->getScore()), 0);
|
||||||
|
|
||||||
// HI-SCORE
|
// HI-SCORE
|
||||||
mText->writeCentered(PLAY_AREA_CENTER_THIRD_QUARTER_X, HISCORE_WORD_Y - 6, mTextStrings[40], 0);
|
mText->writeCentered(PLAY_AREA_CENTER_THIRD_QUARTER_X, HISCORE_WORD_Y - 6, mLang->getText(40), 0);
|
||||||
mText->writeCentered(PLAY_AREA_CENTER_THIRD_QUARTER_X, HISCORE_NUMBER_Y - 6, updateScoreText(mHiScore), 0);
|
mText->writeCentered(PLAY_AREA_CENTER_THIRD_QUARTER_X, HISCORE_NUMBER_Y - 6, updateScoreText(mHiScore), 0);
|
||||||
|
|
||||||
// MULT
|
// MULT
|
||||||
color.g = 255;
|
color.g = 255;
|
||||||
mText->writeColored(MULTIPLIER_WORD_X, MULTIPLIER_WORD_Y - 6, mTextStrings[41], color);
|
mText->writeColored(MULTIPLIER_WORD_X, MULTIPLIER_WORD_Y - 6, mLang->getText(41), color);
|
||||||
|
|
||||||
color.g = 192;
|
color.g = 192;
|
||||||
mTextX2->writeShadowed(PLAY_AREA_CENTER_X - 16, SCORE_WORD_Y + 5, std::to_string(mPlayer[0]->getScoreMultiplier()).substr(0, 1), color, 1);
|
mTextX2->writeShadowed(PLAY_AREA_CENTER_X - 16, SCORE_WORD_Y + 5, std::to_string(mPlayer[0]->getScoreMultiplier()).substr(0, 1), color, 1);
|
||||||
@@ -1585,7 +1585,7 @@ void Game::renderScoreBoard()
|
|||||||
mText->writeShadowed(PLAY_AREA_CENTER_X + 4, SCORE_WORD_Y + 12, std::to_string(mPlayer[0]->getScoreMultiplier()).substr(2, 1), color);
|
mText->writeShadowed(PLAY_AREA_CENTER_X + 4, SCORE_WORD_Y + 12, std::to_string(mPlayer[0]->getScoreMultiplier()).substr(2, 1), color);
|
||||||
|
|
||||||
// STAGE
|
// STAGE
|
||||||
mText->writeCentered(PLAY_AREA_CENTER_FIRST_QUARTER_X, SCORE_NUMBER_Y + 4, mTextStrings[42] + std::to_string(mStage[mCurrentStage].number), 0);
|
mText->writeCentered(PLAY_AREA_CENTER_FIRST_QUARTER_X, SCORE_NUMBER_Y + 4, mLang->getText(42) + std::to_string(mStage[mCurrentStage].number), 0);
|
||||||
|
|
||||||
// POWER
|
// POWER
|
||||||
mSpritePowerMeter->setSpriteClip(256, 184, 40, 8);
|
mSpritePowerMeter->setSpriteClip(256, 184, 40, 8);
|
||||||
@@ -1599,33 +1599,33 @@ void Game::renderScoreBoard()
|
|||||||
const int offset3 = offset2 + 8;
|
const int offset3 = offset2 + 8;
|
||||||
//const int offset4 = offset3 + 8;
|
//const int offset4 = offset3 + 8;
|
||||||
// PLAYER1 - SCORE
|
// PLAYER1 - SCORE
|
||||||
mTextScoreBoard->writeCentered(PLAY_AREA_LEFT + 30, offset1, mTextStrings[53]);
|
mTextScoreBoard->writeCentered(PLAY_AREA_LEFT + 30, offset1, mLang->getText(53));
|
||||||
mTextScoreBoard->writeCentered(PLAY_AREA_LEFT + 30, offset2, updateScoreText(mPlayer[0]->getScore()));
|
mTextScoreBoard->writeCentered(PLAY_AREA_LEFT + 30, offset2, updateScoreText(mPlayer[0]->getScore()));
|
||||||
|
|
||||||
// PLAYER1 - MULT
|
// PLAYER1 - MULT
|
||||||
mTextScoreBoard->writeCentered(PLAY_AREA_LEFT + 30, offset3, mTextStrings[55] + std::to_string(mPlayer[0]->getScoreMultiplier()).substr(0, 3));
|
mTextScoreBoard->writeCentered(PLAY_AREA_LEFT + 30, offset3, mLang->getText(55) + std::to_string(mPlayer[0]->getScoreMultiplier()).substr(0, 3));
|
||||||
|
|
||||||
if (mNumPlayers == 2)
|
if (mNumPlayers == 2)
|
||||||
{
|
{
|
||||||
// PLAYER2 - SCORE
|
// PLAYER2 - SCORE
|
||||||
mTextScoreBoard->writeCentered(PLAY_AREA_RIGHT - 30, offset1, mTextStrings[54]);
|
mTextScoreBoard->writeCentered(PLAY_AREA_RIGHT - 30, offset1, mLang->getText(54));
|
||||||
mTextScoreBoard->writeCentered(PLAY_AREA_RIGHT - 30, offset2, updateScoreText(mPlayer[1]->getScore()));
|
mTextScoreBoard->writeCentered(PLAY_AREA_RIGHT - 30, offset2, updateScoreText(mPlayer[1]->getScore()));
|
||||||
|
|
||||||
// PLAYER2 - MULT
|
// PLAYER2 - MULT
|
||||||
mTextScoreBoard->writeCentered(PLAY_AREA_RIGHT - 30, offset3, mTextStrings[55] + std::to_string(mPlayer[1]->getScoreMultiplier()).substr(0, 3));
|
mTextScoreBoard->writeCentered(PLAY_AREA_RIGHT - 30, offset3, mLang->getText(55) + std::to_string(mPlayer[1]->getScoreMultiplier()).substr(0, 3));
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
// PLAYER2 - SCORE
|
// PLAYER2 - SCORE
|
||||||
mTextScoreBoard->writeCentered(PLAY_AREA_RIGHT - 30, offset1, mTextStrings[54]);
|
mTextScoreBoard->writeCentered(PLAY_AREA_RIGHT - 30, offset1, mLang->getText(54));
|
||||||
mTextScoreBoard->writeCentered(PLAY_AREA_RIGHT - 30, offset2, "0000000");
|
mTextScoreBoard->writeCentered(PLAY_AREA_RIGHT - 30, offset2, "0000000");
|
||||||
|
|
||||||
// PLAYER2 - MULT
|
// PLAYER2 - MULT
|
||||||
mTextScoreBoard->writeCentered(PLAY_AREA_RIGHT - 30, offset3, mTextStrings[55] + "1.0");
|
mTextScoreBoard->writeCentered(PLAY_AREA_RIGHT - 30, offset3, mLang->getText(55) + "1.0");
|
||||||
}
|
}
|
||||||
|
|
||||||
// STAGE
|
// STAGE
|
||||||
mTextScoreBoard->writeCentered(PLAY_AREA_CENTER_X, offset1 - 1, mTextStrings[57] + std::to_string(mStage[mCurrentStage].number));
|
mTextScoreBoard->writeCentered(PLAY_AREA_CENTER_X, offset1 - 1, mLang->getText(57) + std::to_string(mStage[mCurrentStage].number));
|
||||||
|
|
||||||
// POWER
|
// POWER
|
||||||
mSpritePowerMeter->setSpriteClip(256, 184, 40, 8);
|
mSpritePowerMeter->setSpriteClip(256, 184, 40, 8);
|
||||||
@@ -1635,7 +1635,7 @@ void Game::renderScoreBoard()
|
|||||||
mSpritePowerMeter->render();
|
mSpritePowerMeter->render();
|
||||||
|
|
||||||
// HI-SCORE
|
// HI-SCORE
|
||||||
mTextScoreBoard->writeCentered(PLAY_AREA_CENTER_X, offset3 + 1, mTextStrings[56] + updateScoreText(mHiScore));
|
mTextScoreBoard->writeCentered(PLAY_AREA_CENTER_X, offset3 + 1, mLang->getText(56) + updateScoreText(mHiScore));
|
||||||
}
|
}
|
||||||
|
|
||||||
// Actualiza las variables del jugador
|
// Actualiza las variables del jugador
|
||||||
@@ -2907,7 +2907,7 @@ void Game::renderMessages()
|
|||||||
{
|
{
|
||||||
if ((mTimeStoppedCounter > 100) || (mTimeStoppedCounter % 10 > 4))
|
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->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), 1, noColor, 1, shdwTxtColor);
|
mText->writeDX(TXT_CENTER | TXT_SHADOW, PLAY_AREA_CENTER_X, PLAY_AREA_FIRST_QUARTER_Y, mLang->getText(36) + std::to_string(mTimeStoppedCounter / 10), 1, noColor, 1, shdwTxtColor);
|
||||||
|
|
||||||
if (mTimeStoppedCounter > 100)
|
if (mTimeStoppedCounter > 100)
|
||||||
{
|
{
|
||||||
@@ -2924,12 +2924,12 @@ void Game::renderMessages()
|
|||||||
// D E M O
|
// D E M O
|
||||||
if (mDemo.enabled)
|
if (mDemo.enabled)
|
||||||
if (mDemo.counter % 30 > 14)
|
if (mDemo.counter % 30 > 14)
|
||||||
mTextBig->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, mLang->getText(37), 0, noColor, 2, shdwTxtColor);
|
||||||
|
|
||||||
// STAGE NUMBER
|
// STAGE NUMBER
|
||||||
std::string text = mTextStrings[38] + std::to_string(mStage[mCurrentStage].number);
|
std::string text = mLang->getText(38) + std::to_string(mStage[mCurrentStage].number);
|
||||||
if (mGameCompleted) // Texto de juego completado
|
if (mGameCompleted) // Texto de juego completado
|
||||||
text = mTextStrings[50];
|
text = mLang->getText(50);
|
||||||
|
|
||||||
if (mStageBitmapCounter < STAGE_COUNTER)
|
if (mStageBitmapCounter < STAGE_COUNTER)
|
||||||
mTextBig->writeDX(TXT_CENTER | TXT_SHADOW, PLAY_AREA_CENTER_X, mStageBitmapPath[mStageBitmapCounter], text, 1, noColor, 2, shdwTxtColor);
|
mTextBig->writeDX(TXT_CENTER | TXT_SHADOW, PLAY_AREA_CENTER_X, mStageBitmapPath[mStageBitmapCounter], text, 1, noColor, 2, shdwTxtColor);
|
||||||
@@ -3258,9 +3258,9 @@ void Game::runGameOverScreen()
|
|||||||
SDL_RenderClear(mRenderer);
|
SDL_RenderClear(mRenderer);
|
||||||
|
|
||||||
// Dibuja los objetos
|
// Dibuja los objetos
|
||||||
mTextBig->writeCentered(PLAY_AREA_CENTER_X, PLAY_AREA_CENTER_Y - (BLOCK * 4), mTextStrings[43]);
|
mTextBig->writeCentered(PLAY_AREA_CENTER_X, PLAY_AREA_CENTER_Y - (BLOCK * 4), mLang->getText(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 * 1), mLang->getText(44) + std::to_string(mPlayer[0]->getScore()));
|
||||||
mText->writeCentered(PLAY_AREA_CENTER_X, PLAY_AREA_CENTER_Y + BLOCK * 2, mTextStrings[45]);
|
mText->writeCentered(PLAY_AREA_CENTER_X, PLAY_AREA_CENTER_Y + BLOCK * 2, mLang->getText(45));
|
||||||
mMenuGameOver->render();
|
mMenuGameOver->render();
|
||||||
mFade->render();
|
mFade->render();
|
||||||
|
|
||||||
|
|||||||
@@ -81,7 +81,7 @@ private:
|
|||||||
|
|
||||||
SDL_Renderer *mRenderer; // El renderizador de la ventana
|
SDL_Renderer *mRenderer; // El renderizador de la ventana
|
||||||
std::string *mFileList; // Lista de ficheros con los recursos
|
std::string *mFileList; // Lista de ficheros con los recursos
|
||||||
std::string *mTextStrings; // Vector con los textos del juego
|
Lang *mLang; // Objeto para gestionar los textos en diferentes idiomas
|
||||||
|
|
||||||
int mNumPlayers; // Numero de jugadores
|
int mNumPlayers; // Numero de jugadores
|
||||||
Player *mPlayer[2]; // Vector con los jugadores jugador
|
Player *mPlayer[2]; // Vector con los jugadores jugador
|
||||||
@@ -209,7 +209,7 @@ private:
|
|||||||
|
|
||||||
public:
|
public:
|
||||||
// Constructor
|
// Constructor
|
||||||
Game(int numPlayers, SDL_Renderer *renderer, std::string *filelist, std::string *textStrings, Input *input1, Input *input2, bool demo);
|
Game(int numPlayers, SDL_Renderer *renderer, std::string *filelist, Lang *lang, Input *input1, Input *input2, bool demo);
|
||||||
|
|
||||||
// Destructor
|
// Destructor
|
||||||
~Game();
|
~Game();
|
||||||
|
|||||||
@@ -7,12 +7,12 @@
|
|||||||
const Uint8 SELF = 0;
|
const Uint8 SELF = 0;
|
||||||
|
|
||||||
// Constructor
|
// Constructor
|
||||||
Instructions::Instructions(SDL_Renderer *renderer, std::string *fileList, std::string *textStrings)
|
Instructions::Instructions(SDL_Renderer *renderer, std::string *fileList, Lang *lang)
|
||||||
{
|
{
|
||||||
// Copia los punteros
|
// Copia los punteros
|
||||||
mRenderer = renderer;
|
mRenderer = renderer;
|
||||||
mFileList = fileList;
|
mFileList = fileList;
|
||||||
mTextStrings = textStrings;
|
mLang = lang;
|
||||||
|
|
||||||
// Reserva memoria para los punteros
|
// Reserva memoria para los punteros
|
||||||
mEventHandler = new SDL_Event();
|
mEventHandler = new SDL_Event();
|
||||||
@@ -156,21 +156,21 @@ void Instructions::run(Uint8 mode)
|
|||||||
SDL_RenderClear(mRenderer);
|
SDL_RenderClear(mRenderer);
|
||||||
|
|
||||||
// Escribe el texto
|
// Escribe el texto
|
||||||
mText->writeDX(TXT_CENTER | TXT_COLOR | TXT_SHADOW, SCREEN_CENTER_X, 8, mTextStrings[11], 1, orangeColor, 1, shdwTxtColor);
|
mText->writeDX(TXT_CENTER | TXT_COLOR | TXT_SHADOW, SCREEN_CENTER_X, 8, mLang->getText(11), 1, orangeColor, 1, shdwTxtColor);
|
||||||
mText->writeDX(TXT_CENTER | TXT_COLOR | TXT_SHADOW, SCREEN_CENTER_X, 24, mTextStrings[12], 1, noColor, 1, shdwTxtColor);
|
mText->writeDX(TXT_CENTER | TXT_COLOR | TXT_SHADOW, SCREEN_CENTER_X, 24, mLang->getText(12), 1, noColor, 1, shdwTxtColor);
|
||||||
mText->writeDX(TXT_CENTER | TXT_COLOR | TXT_SHADOW, SCREEN_CENTER_X, 34, mTextStrings[13], 1, noColor, 1, shdwTxtColor);
|
mText->writeDX(TXT_CENTER | TXT_COLOR | TXT_SHADOW, SCREEN_CENTER_X, 34, mLang->getText(13), 1, noColor, 1, shdwTxtColor);
|
||||||
mText->writeDX(TXT_CENTER | TXT_COLOR | TXT_SHADOW, SCREEN_CENTER_X, 48, mTextStrings[14], 1, noColor, 1, shdwTxtColor);
|
mText->writeDX(TXT_CENTER | TXT_COLOR | TXT_SHADOW, SCREEN_CENTER_X, 48, mLang->getText(14), 1, noColor, 1, shdwTxtColor);
|
||||||
mText->writeDX(TXT_CENTER | TXT_COLOR | TXT_SHADOW, SCREEN_CENTER_X, 58, mTextStrings[15], 1, noColor, 1, shdwTxtColor);
|
mText->writeDX(TXT_CENTER | TXT_COLOR | TXT_SHADOW, SCREEN_CENTER_X, 58, mLang->getText(15), 1, noColor, 1, shdwTxtColor);
|
||||||
mText->writeDX(TXT_CENTER | TXT_COLOR | TXT_SHADOW, SCREEN_CENTER_X, 75, mTextStrings[16], 1, orangeColor, 1, shdwTxtColor);
|
mText->writeDX(TXT_CENTER | TXT_COLOR | TXT_SHADOW, SCREEN_CENTER_X, 75, mLang->getText(16), 1, orangeColor, 1, shdwTxtColor);
|
||||||
|
|
||||||
mText->writeShadowed(84, 92, mTextStrings[17], shdwTxtColor);
|
mText->writeShadowed(84, 92, mLang->getText(17), shdwTxtColor);
|
||||||
mText->writeShadowed(84, 108, mTextStrings[18], shdwTxtColor);
|
mText->writeShadowed(84, 108, mLang->getText(18), shdwTxtColor);
|
||||||
mText->writeShadowed(84, 124, mTextStrings[19], shdwTxtColor);
|
mText->writeShadowed(84, 124, mLang->getText(19), shdwTxtColor);
|
||||||
mText->writeShadowed(84, 140, mTextStrings[20], shdwTxtColor);
|
mText->writeShadowed(84, 140, mLang->getText(20), shdwTxtColor);
|
||||||
mText->writeShadowed(84, 156, mTextStrings[21], shdwTxtColor);
|
mText->writeShadowed(84, 156, mLang->getText(21), shdwTxtColor);
|
||||||
|
|
||||||
if ((mode == INSTRUCTIONS_MODE_MANUAL) && (mCounter % 50 > 14))
|
if ((mode == INSTRUCTIONS_MODE_MANUAL) && (mCounter % 50 > 14))
|
||||||
mText->writeDX(TXT_CENTER | TXT_COLOR | TXT_SHADOW, SCREEN_CENTER_X, SCREEN_HEIGHT - 12, mTextStrings[22], 1, orangeColor, 1, shdwTxtColor);
|
mText->writeDX(TXT_CENTER | TXT_COLOR | TXT_SHADOW, SCREEN_CENTER_X, SCREEN_HEIGHT - 12, mLang->getText(22), 1, orangeColor, 1, shdwTxtColor);
|
||||||
|
|
||||||
// Disquito
|
// Disquito
|
||||||
mSprite->init(destRect1, mItemTexture, mRenderer);
|
mSprite->init(destRect1, mItemTexture, mRenderer);
|
||||||
|
|||||||
@@ -14,20 +14,20 @@
|
|||||||
class Instructions
|
class Instructions
|
||||||
{
|
{
|
||||||
private:
|
private:
|
||||||
LTexture *mItemTexture; // Textura con los graficos
|
LTexture *mItemTexture; // Textura con los graficos
|
||||||
LTexture *mTextTexture; // Textura con los graficos
|
LTexture *mTextTexture; // Textura con los graficos
|
||||||
SDL_Event *mEventHandler; // Manejador de eventos
|
SDL_Event *mEventHandler; // Manejador de eventos
|
||||||
SDL_Renderer *mRenderer; // El renderizador de la ventana
|
SDL_Renderer *mRenderer; // El renderizador de la ventana
|
||||||
SDL_Texture *mBackbuffer; // Textura para usar como backbuffer
|
SDL_Texture *mBackbuffer; // Textura para usar como backbuffer
|
||||||
Sprite *mSprite; // Sprite con la textura de las instrucciones
|
Sprite *mSprite; // Sprite con la textura de las instrucciones
|
||||||
std::string *mFileList; // Lista de ficheros
|
std::string *mFileList; // Lista de ficheros
|
||||||
std::string *mTextStrings; // Vector con los textos del juego
|
Lang *mLang; // Objeto para gestionar los textos en diferentes idiomas
|
||||||
Text *mText; // Objeto para escribir texto
|
Text *mText; // Objeto para escribir texto
|
||||||
Uint16 mCounter; // Contador
|
Uint16 mCounter; // Contador
|
||||||
section_t mSection; // Estado del bucle principal para saber si continua o se sale
|
section_t mSection; // Estado del bucle principal para saber si continua o se sale
|
||||||
Uint32 mTicks; // Contador de ticks para ajustar la velocidad del programa
|
Uint32 mTicks; // Contador de ticks para ajustar la velocidad del programa
|
||||||
Uint8 mTicksSpeed; // Velocidad a la que se repiten los bucles del programa
|
Uint8 mTicksSpeed; // Velocidad a la que se repiten los bucles del programa
|
||||||
bool mManualQuit; // Indica si se quiere salir del modo manual
|
bool mManualQuit; // Indica si se quiere salir del modo manual
|
||||||
|
|
||||||
// Carga los recursos
|
// Carga los recursos
|
||||||
bool loadMedia();
|
bool loadMedia();
|
||||||
@@ -43,7 +43,7 @@ private:
|
|||||||
|
|
||||||
public:
|
public:
|
||||||
// Constructor
|
// Constructor
|
||||||
Instructions(SDL_Renderer *renderer, std::string *fileList, std::string *textStrings);
|
Instructions(SDL_Renderer *renderer, std::string *fileList, Lang *lang);
|
||||||
|
|
||||||
// Destructor
|
// Destructor
|
||||||
~Instructions();
|
~Instructions();
|
||||||
|
|||||||
@@ -5,12 +5,12 @@
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
// Constructor
|
// Constructor
|
||||||
Intro::Intro(SDL_Renderer *renderer, std::string *fileList, std::string *textStrings)
|
Intro::Intro(SDL_Renderer *renderer, std::string *fileList, Lang *lang)
|
||||||
{
|
{
|
||||||
// Copia los punteros
|
// Copia los punteros
|
||||||
mRenderer = renderer;
|
mRenderer = renderer;
|
||||||
mFileList = fileList;
|
mFileList = fileList;
|
||||||
mTextStrings = textStrings;
|
mLang = lang;
|
||||||
|
|
||||||
// Reserva memoria para los punteros
|
// Reserva memoria para los punteros
|
||||||
mEventHandler = new SDL_Event();
|
mEventHandler = new SDL_Event();
|
||||||
@@ -144,39 +144,39 @@ void Intro::init()
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Un dia qualsevol de l'any 2000
|
// Un dia qualsevol de l'any 2000
|
||||||
mText[0]->setCaption(mTextStrings[27]);
|
mText[0]->setCaption(mLang->getText(27));
|
||||||
mText[0]->setWrittingSpeed(10);
|
mText[0]->setWrittingSpeed(10);
|
||||||
|
|
||||||
// Tot esta tranquil a la UPV
|
// Tot esta tranquil a la UPV
|
||||||
mText[1]->setCaption(mTextStrings[28]);
|
mText[1]->setCaption(mLang->getText(28));
|
||||||
mText[1]->setWrittingSpeed(10);
|
mText[1]->setWrittingSpeed(10);
|
||||||
|
|
||||||
// Fins que un desaprensiu...
|
// Fins que un desaprensiu...
|
||||||
mText[2]->setCaption(mTextStrings[29]);
|
mText[2]->setCaption(mLang->getText(29));
|
||||||
mText[2]->setWrittingSpeed(15);
|
mText[2]->setWrittingSpeed(15);
|
||||||
|
|
||||||
// HEY! ME ANE A FERME UN CORTAET...
|
// HEY! ME ANE A FERME UN CORTAET...
|
||||||
mText[3]->setCaption(mTextStrings[30]);
|
mText[3]->setCaption(mLang->getText(30));
|
||||||
mText[3]->setWrittingSpeed(10);
|
mText[3]->setWrittingSpeed(10);
|
||||||
|
|
||||||
// UAAAAAAAAAAAAA!!!
|
// UAAAAAAAAAAAAA!!!
|
||||||
mText[4]->setCaption(mTextStrings[31]);
|
mText[4]->setCaption(mLang->getText(31));
|
||||||
mText[4]->setWrittingSpeed(1);
|
mText[4]->setWrittingSpeed(1);
|
||||||
|
|
||||||
// Espera un moment...
|
// Espera un moment...
|
||||||
mText[5]->setCaption(mTextStrings[32]);
|
mText[5]->setCaption(mLang->getText(32));
|
||||||
mText[5]->setWrittingSpeed(20);
|
mText[5]->setWrittingSpeed(20);
|
||||||
|
|
||||||
// Si resulta que no tinc solt!
|
// Si resulta que no tinc solt!
|
||||||
mText[6]->setCaption(mTextStrings[33]);
|
mText[6]->setCaption(mLang->getText(33));
|
||||||
mText[6]->setWrittingSpeed(2);
|
mText[6]->setWrittingSpeed(2);
|
||||||
|
|
||||||
// MERDA DE MAQUINA!
|
// MERDA DE MAQUINA!
|
||||||
mText[7]->setCaption(mTextStrings[34]);
|
mText[7]->setCaption(mLang->getText(34));
|
||||||
mText[7]->setWrittingSpeed(3);
|
mText[7]->setWrittingSpeed(3);
|
||||||
|
|
||||||
// Blop... blop... blop...
|
// Blop... blop... blop...
|
||||||
mText[8]->setCaption(mTextStrings[35]);
|
mText[8]->setCaption(mLang->getText(35));
|
||||||
mText[8]->setWrittingSpeed(20);
|
mText[8]->setWrittingSpeed(20);
|
||||||
|
|
||||||
for (int i = 0; i < INTRO_TOTAL_TEXTS; i++)
|
for (int i = 0; i < INTRO_TOTAL_TEXTS; i++)
|
||||||
|
|||||||
@@ -19,7 +19,7 @@ private:
|
|||||||
SDL_Event *mEventHandler; // Manejador de eventos
|
SDL_Event *mEventHandler; // Manejador de eventos
|
||||||
SDL_Renderer *mRenderer; // El renderizador de la ventana
|
SDL_Renderer *mRenderer; // El renderizador de la ventana
|
||||||
std::string *mFileList; // Lista de ficheros
|
std::string *mFileList; // Lista de ficheros
|
||||||
std::string *mTextStrings; // Vector con los textos del juego
|
Lang *mLang; // Objeto para gestionar los textos en diferentes idiomas
|
||||||
section_t mSection; // Estado del bucle principal para saber si continua o se sale
|
section_t mSection; // Estado del bucle principal para saber si continua o se sale
|
||||||
Uint32 mTicks; // Contador de ticks para ajustar la velocidad del programa
|
Uint32 mTicks; // Contador de ticks para ajustar la velocidad del programa
|
||||||
Uint8 mTicksSpeed; // Velocidad a la que se repiten los bucles del programa
|
Uint8 mTicksSpeed; // Velocidad a la que se repiten los bucles del programa
|
||||||
@@ -30,7 +30,7 @@ private:
|
|||||||
|
|
||||||
public:
|
public:
|
||||||
// Constructor
|
// Constructor
|
||||||
Intro(SDL_Renderer *renderer, std::string *fileList, std::string *textStrings);
|
Intro(SDL_Renderer *renderer, std::string *fileList, Lang *lang);
|
||||||
|
|
||||||
// Destructor
|
// Destructor
|
||||||
~Intro();
|
~Intro();
|
||||||
|
|||||||
@@ -1,10 +1,73 @@
|
|||||||
#include "lang.h"
|
#include "lang.h"
|
||||||
|
#include <iostream>
|
||||||
|
#include <fstream>
|
||||||
|
|
||||||
|
// Constructor
|
||||||
|
Lang::Lang(std::string *fileList)
|
||||||
|
{
|
||||||
|
mFileList = fileList;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Destructor
|
||||||
|
Lang::~Lang()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
// Inicializa los textos del juego en el idioma seleccionado
|
// Inicializa los textos del juego en el idioma seleccionado
|
||||||
void initTextStrings(std::string *textStrings, Uint8 lang)
|
bool Lang::setLang(Uint8 lang)
|
||||||
{
|
{
|
||||||
if ((lang < 0) || (lang > MAX_LANGUAGES))
|
std::string file;
|
||||||
lang = en_UK;
|
|
||||||
|
switch (lang)
|
||||||
|
{
|
||||||
|
case es_ES:
|
||||||
|
file = mFileList[49];
|
||||||
|
break;
|
||||||
|
|
||||||
|
case en_UK:
|
||||||
|
file = mFileList[50];
|
||||||
|
break;
|
||||||
|
|
||||||
|
case ba_BA:
|
||||||
|
file = mFileList[51];
|
||||||
|
break;
|
||||||
|
|
||||||
|
default:
|
||||||
|
file = mFileList[50];
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
for (int i = 0; i < MAX_TEXT_STRINGS; i++)
|
for (int i = 0; i < MAX_TEXT_STRINGS; i++)
|
||||||
textStrings[i] = gTextStrings[i][lang].c_str();
|
mTextStrings[i] = "";
|
||||||
|
|
||||||
|
bool success = false;
|
||||||
|
|
||||||
|
std::ifstream rfile(file);
|
||||||
|
if (rfile.is_open() && rfile.good())
|
||||||
|
{
|
||||||
|
success = true;
|
||||||
|
std::string buffer;
|
||||||
|
|
||||||
|
// lee el resto de datos del fichero
|
||||||
|
int index = 0;
|
||||||
|
int line_read = 0;
|
||||||
|
while (std::getline(rfile, buffer))
|
||||||
|
{
|
||||||
|
// Almacena solo las lineas impares
|
||||||
|
if (line_read % 2 == 1)
|
||||||
|
mTextStrings[index++] = buffer;
|
||||||
|
|
||||||
|
// Limpia el buffer
|
||||||
|
buffer.clear();
|
||||||
|
line_read++;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
return success;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Obtiene la cadena de texto del indice
|
||||||
|
std::string Lang::getText(int index)
|
||||||
|
{
|
||||||
|
return mTextStrings[index];
|
||||||
}
|
}
|
||||||
309
source/lang.h
309
source/lang.h
@@ -5,7 +5,7 @@
|
|||||||
#ifndef LANG_H
|
#ifndef LANG_H
|
||||||
#define LANG_H
|
#define LANG_H
|
||||||
|
|
||||||
// iso codes
|
// Lang codes
|
||||||
#define es_ES 0
|
#define es_ES 0
|
||||||
#define ba_BA 1
|
#define ba_BA 1
|
||||||
#define en_UK 2
|
#define en_UK 2
|
||||||
@@ -13,302 +13,25 @@
|
|||||||
|
|
||||||
// Textos
|
// Textos
|
||||||
#define MAX_TEXT_STRINGS 100
|
#define MAX_TEXT_STRINGS 100
|
||||||
const std::string gTextStrings[MAX_TEXT_STRINGS][3] =
|
|
||||||
{
|
|
||||||
// 0 - TITULO E INSTRUCCIONES
|
|
||||||
{"JUGAR",
|
|
||||||
"JUGAR",
|
|
||||||
"PLAY"},
|
|
||||||
|
|
||||||
// 1
|
// Clase Lang
|
||||||
{"OPCIONES",
|
class Lang
|
||||||
"OPCIONS",
|
{
|
||||||
"OPTIONS"},
|
private:
|
||||||
|
std::string *mFileList; // Lista de ficheros con los recursos
|
||||||
|
std::string mTextStrings[MAX_TEXT_STRINGS];
|
||||||
|
|
||||||
// 2
|
public:
|
||||||
{"INSTRUCCIONES",
|
// Constructor
|
||||||
"INSTRUCCIONS",
|
Lang(std::string *fileList);
|
||||||
"HOW TO PLAY"},
|
|
||||||
|
|
||||||
// 3
|
// Destructor
|
||||||
{"SALIR",
|
~Lang();
|
||||||
"EIXIR",
|
|
||||||
"QUIT"},
|
|
||||||
|
|
||||||
// 4
|
// Inicializa los textos del juego en el idioma seleccionado
|
||||||
{"VENTANA",
|
bool setLang(Uint8 lang);
|
||||||
"FINESTRA",
|
|
||||||
"WINDOW"},
|
|
||||||
|
|
||||||
// 5
|
|
||||||
{"PANTALLA COMPLETA",
|
|
||||||
"PANTALLA COMPLETA",
|
|
||||||
"FULLSCREEN"},
|
|
||||||
|
|
||||||
// 6
|
|
||||||
{"PANTALLA COMPLETA FALSA",
|
|
||||||
"PANTALLA COMPLETA FALSA",
|
|
||||||
"FAKE FULLSCREEN"},
|
|
||||||
|
|
||||||
// 7
|
|
||||||
{"TAMA^O DE VENTANA",
|
|
||||||
"TAMANY DE FINESTRA",
|
|
||||||
"WINDOW SIZE"},
|
|
||||||
|
|
||||||
// 8
|
|
||||||
{"IDIOMA",
|
|
||||||
"IDIOMA",
|
|
||||||
"LANGUAGE"},
|
|
||||||
|
|
||||||
// 9
|
|
||||||
{"[ ACEPTAR ]",
|
|
||||||
"[ ACEPTAR ]",
|
|
||||||
"[ ACCEPT ]"},
|
|
||||||
|
|
||||||
// 10
|
|
||||||
{"[ CANCELAR ]",
|
|
||||||
"[ CANCELAR ]",
|
|
||||||
"[ CANCEL ]"},
|
|
||||||
|
|
||||||
// 11
|
|
||||||
{"OBJETIVO",
|
|
||||||
"OBJECTIU",
|
|
||||||
"OBJECTIVE"},
|
|
||||||
|
|
||||||
// 12
|
|
||||||
{"TIENES QUE EXPLOTAR",
|
|
||||||
"HAS D'EXPLOTAR",
|
|
||||||
"YOU HAVE TO POP AS MANY"},
|
|
||||||
|
|
||||||
// 13
|
|
||||||
{"TANTOS GLOBOS COMO PUEDAS",
|
|
||||||
"TANTS GLOBUS COM PUGUES",
|
|
||||||
"BALLOONS AS YOU CAN"},
|
|
||||||
|
|
||||||
// 14
|
|
||||||
{"LA DIFICULTAD SE INCREMENTA",
|
|
||||||
"LA DIFICULTAT AUGMENTA",
|
|
||||||
"DIFFICULTY WILL BE INCREASED"},
|
|
||||||
|
|
||||||
// 15
|
|
||||||
{"A MEDIDA QUE VAS PUNTUANDO",
|
|
||||||
"A MESURA QUE VAS PUNTUANT",
|
|
||||||
"AS YOU SCORE POINTS"},
|
|
||||||
|
|
||||||
// 16
|
|
||||||
{"OBJETOS",
|
|
||||||
"OBJECTES",
|
|
||||||
"ITEMS"},
|
|
||||||
|
|
||||||
// 17
|
|
||||||
{"1.000 PUNTOS",
|
|
||||||
"1.000 PUNTS",
|
|
||||||
"1.000 POINTS"},
|
|
||||||
|
|
||||||
// 18
|
|
||||||
{"2.500 PUNTOS",
|
|
||||||
"2.500 PUNTS",
|
|
||||||
"2.500 POINTS"},
|
|
||||||
|
|
||||||
// 19
|
|
||||||
{"5.000 PUNTOS",
|
|
||||||
"5.000 PUNTS",
|
|
||||||
"5.000 POINTS"},
|
|
||||||
|
|
||||||
// 20
|
|
||||||
{"DETIENE EL TIEMPO",
|
|
||||||
"PARA EL TEMPS",
|
|
||||||
"TIME STOPPER"},
|
|
||||||
|
|
||||||
// 21
|
|
||||||
{"VIDA EXTRA",
|
|
||||||
"VIDA EXTRA",
|
|
||||||
"EXTRA HIT"},
|
|
||||||
|
|
||||||
// 22
|
|
||||||
{"PULSA UNA TECLA PARA VOLVER",
|
|
||||||
"PREM UNA TECLA PER A TORNAR",
|
|
||||||
"PRESS ANY KEY TO RETURN"},
|
|
||||||
|
|
||||||
// 23
|
|
||||||
{"PULSA CUALQUIER TECLA",
|
|
||||||
"PREM QUALSEVOL TECLA",
|
|
||||||
"PRESS ANY KEY"},
|
|
||||||
|
|
||||||
// 24
|
|
||||||
{"ESPA^OL",
|
|
||||||
"ESPA^OL (ESPANYOL)",
|
|
||||||
"ESPA^OL (SPANISH)"},
|
|
||||||
|
|
||||||
// 25
|
|
||||||
{"BALOONCIA (VALENCIANO)",
|
|
||||||
"BALOONCIA",
|
|
||||||
"BALOONCIA (VALENCIAN)"},
|
|
||||||
|
|
||||||
// 26
|
|
||||||
{"ENGLISH (INGLES)",
|
|
||||||
"ENGLISH (ANGLES)",
|
|
||||||
"ENGLISH"},
|
|
||||||
|
|
||||||
// 27 - INTRO
|
|
||||||
{"Un dia cualquiera del a^o 2000",
|
|
||||||
"Un dia qualsevol de l'any 2000",
|
|
||||||
"Any day of the year 2000"},
|
|
||||||
|
|
||||||
// 28
|
|
||||||
{"Todo esta tranquilo en la UPV",
|
|
||||||
"Tot esta tranquil a la UPV",
|
|
||||||
"Everything is quiet at the UPV"},
|
|
||||||
|
|
||||||
// 29
|
|
||||||
{"Hasta que un desaprensivo...",
|
|
||||||
"Fins que un desaprensiu...",
|
|
||||||
"Until a bastard arrives..."},
|
|
||||||
|
|
||||||
// 30
|
|
||||||
{"HEY! VOY A SACARME UN TALLADET...",
|
|
||||||
"HEY! ME ANE A FERME UN CORTAET...",
|
|
||||||
" YO! GONNA TAKE A CAFELITO... "},
|
|
||||||
|
|
||||||
// 31
|
|
||||||
{"UAAAAAAAAAAAAA!!!",
|
|
||||||
"UAAAAAAAAAAAAA!!!",
|
|
||||||
"AAAAAAAARGHHHH!!!"},
|
|
||||||
|
|
||||||
// 32
|
|
||||||
{"Espera un momento...",
|
|
||||||
"Espera un moment...",
|
|
||||||
"Wait a moment..."},
|
|
||||||
|
|
||||||
// 33
|
|
||||||
{"Si no llevo suelto encima!",
|
|
||||||
"Si resulta que no tinc solt!",
|
|
||||||
" I don't have any loose! "},
|
|
||||||
|
|
||||||
// 34
|
|
||||||
{"MIERDA DE MAQUINA!",
|
|
||||||
"MERDA DE MAQUINA!",
|
|
||||||
"FUCKING MACHINE!"},
|
|
||||||
|
|
||||||
// 35
|
|
||||||
{"Blop... blop... blop...",
|
|
||||||
"Blop... blop... blop...",
|
|
||||||
"Blop... blop... blop..."},
|
|
||||||
|
|
||||||
// 36 - TEXTOS DEL JUEGO
|
|
||||||
{"Tiempo: ",
|
|
||||||
"Temps detes: ",
|
|
||||||
"Time Stopped: "},
|
|
||||||
|
|
||||||
// 37
|
|
||||||
{"D E M O",
|
|
||||||
"D E M O",
|
|
||||||
"D E M O"},
|
|
||||||
|
|
||||||
// 38
|
|
||||||
{"FASE ",
|
|
||||||
"PANTALLA ",
|
|
||||||
"STAGE "},
|
|
||||||
|
|
||||||
// 39 - MARCADOR
|
|
||||||
{"PUNTOS",
|
|
||||||
"PUNTS",
|
|
||||||
"SCORE"},
|
|
||||||
|
|
||||||
// 40
|
|
||||||
{"MAX.PUNT.",
|
|
||||||
"MAX.PUNT.",
|
|
||||||
"HI-SCORE"},
|
|
||||||
|
|
||||||
// 41
|
|
||||||
{"MULT",
|
|
||||||
"MULT",
|
|
||||||
"MULT"},
|
|
||||||
|
|
||||||
// 42
|
|
||||||
{"FASE ",
|
|
||||||
"PANTALLA ",
|
|
||||||
"STAGE "},
|
|
||||||
|
|
||||||
// 43 - PANTALLA DE GAME OVER
|
|
||||||
{"FIN DE JUEGO",
|
|
||||||
"FI DEL JOC",
|
|
||||||
"GAME OVER"},
|
|
||||||
|
|
||||||
// 44
|
|
||||||
{"TU PUNTUACION: ",
|
|
||||||
"ELS TEUS PUNTS: ",
|
|
||||||
"YOUR SCORE: "},
|
|
||||||
|
|
||||||
// 45
|
|
||||||
{"REINTENTAR?",
|
|
||||||
"REINTENTAR?",
|
|
||||||
"RETRY?"},
|
|
||||||
|
|
||||||
// 46 - MENU DE PAUSA
|
|
||||||
{"CONTINUAR",
|
|
||||||
"CONTINUAR",
|
|
||||||
"CONTINUE"},
|
|
||||||
|
|
||||||
// 47
|
|
||||||
{"SALIR DEL JUEGO ",
|
|
||||||
"EIXIR DEL JOC",
|
|
||||||
"LEAVE GAME"},
|
|
||||||
|
|
||||||
// 48 - MENU GAME OVER
|
|
||||||
{"SI",
|
|
||||||
"SI",
|
|
||||||
"YES"},
|
|
||||||
|
|
||||||
// 49
|
|
||||||
{"NO",
|
|
||||||
"NO",
|
|
||||||
"NO"},
|
|
||||||
|
|
||||||
// 50 - TEXTO DE COMPLETAR EL JUEGO
|
|
||||||
{"FELICIDADES!!",
|
|
||||||
"FELICITATS!!",
|
|
||||||
"NICE!!"},
|
|
||||||
|
|
||||||
// 51 - MENU DEL TITULO (1 JUGADOR)
|
|
||||||
{"1 JUGADOR",
|
|
||||||
"1 JUGADOR",
|
|
||||||
"1 PLAYER"},
|
|
||||||
|
|
||||||
// 52 - MENU DEL TITULO (2 JUGADORES)
|
|
||||||
{"2 JUGADORES",
|
|
||||||
"2 JUGADORS",
|
|
||||||
"2 PLAYERS"},
|
|
||||||
|
|
||||||
// MARCADOR
|
|
||||||
|
|
||||||
// 53 - JUGADOR 1
|
|
||||||
{"jugador 1",
|
|
||||||
"jugador 2",
|
|
||||||
"player 1"},
|
|
||||||
|
|
||||||
// 54 - JUGADOR 2
|
|
||||||
{"jugador 2",
|
|
||||||
"jugador 2",
|
|
||||||
"player 2"},
|
|
||||||
|
|
||||||
// 55 - MULTIPLICADOR
|
|
||||||
{"mult - ",
|
|
||||||
"mult - ",
|
|
||||||
"mult - "},
|
|
||||||
|
|
||||||
// 56 - MAXIMA PUNTUACION
|
|
||||||
{"max. puntuacion - ",
|
|
||||||
"max. puntuacio - ",
|
|
||||||
"high score - "},
|
|
||||||
|
|
||||||
// 57 - FASE
|
|
||||||
{"fase ",
|
|
||||||
"nivell ",
|
|
||||||
"stage "},
|
|
||||||
|
|
||||||
|
// Obtiene la cadena de texto del indice
|
||||||
|
std::string getText(int index);
|
||||||
};
|
};
|
||||||
|
|
||||||
void initTextStrings(std::string *textStrings, Uint8 lang);
|
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
@@ -2,7 +2,6 @@
|
|||||||
#include "text.h"
|
#include "text.h"
|
||||||
#include <iostream>
|
#include <iostream>
|
||||||
#include <fstream>
|
#include <fstream>
|
||||||
//#include <cstdlib>
|
|
||||||
|
|
||||||
// Constructor
|
// Constructor
|
||||||
Text::Text(std::string file, LTexture *texture, SDL_Renderer *renderer)
|
Text::Text(std::string file, LTexture *texture, SDL_Renderer *renderer)
|
||||||
@@ -20,11 +19,6 @@ Text::~Text()
|
|||||||
mSprite = nullptr;
|
mSprite = nullptr;
|
||||||
}
|
}
|
||||||
|
|
||||||
// en el constructor se le pasa la ruta del fichero de descripcion
|
|
||||||
// el fichero tendra el alto y ancho del cuadrado donde esta cada letra
|
|
||||||
// y el listado de anchos de cada una
|
|
||||||
// el init ya no necesita type ni size
|
|
||||||
|
|
||||||
// Inicializador
|
// Inicializador
|
||||||
void Text::init()
|
void Text::init()
|
||||||
{
|
{
|
||||||
@@ -138,12 +132,10 @@ void Text::initOffsetFromFile()
|
|||||||
std::getline(rfile, buffer);
|
std::getline(rfile, buffer);
|
||||||
std::getline(rfile, buffer);
|
std::getline(rfile, buffer);
|
||||||
mBoxWidth = std::stoi(buffer);
|
mBoxWidth = std::stoi(buffer);
|
||||||
//printf("mBoxWidth: %i\n", mBoxWidth);
|
|
||||||
|
|
||||||
std::getline(rfile, buffer);
|
std::getline(rfile, buffer);
|
||||||
std::getline(rfile, buffer);
|
std::getline(rfile, buffer);
|
||||||
mBoxHeight = std::stoi(buffer);
|
mBoxHeight = std::stoi(buffer);
|
||||||
//printf("mBoxHeight: %i\n", mBoxHeight);
|
|
||||||
|
|
||||||
// lee el resto de datos del fichero
|
// lee el resto de datos del fichero
|
||||||
int index = 32;
|
int index = 32;
|
||||||
@@ -152,11 +144,9 @@ void Text::initOffsetFromFile()
|
|||||||
{
|
{
|
||||||
// Almacena solo las lineas impares
|
// Almacena solo las lineas impares
|
||||||
if (line_read % 2 == 1)
|
if (line_read % 2 == 1)
|
||||||
{
|
|
||||||
//printf("%i - %i - %s\n", line_read, index, buffer.c_str());
|
|
||||||
mOffset[index++].w = std::stoi(buffer);
|
mOffset[index++].w = std::stoi(buffer);
|
||||||
}
|
|
||||||
//Then clear the buffer once you're done with it.
|
// Limpia el buffer
|
||||||
buffer.clear();
|
buffer.clear();
|
||||||
line_read++;
|
line_read++;
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
// Constructor
|
// Constructor
|
||||||
Title::Title(SDL_Window *window, SDL_Renderer *renderer, Input *input, std::string *fileList, options_t *options, std::string *textStrings)
|
Title::Title(SDL_Window *window, SDL_Renderer *renderer, Input *input, std::string *fileList, options_t *options, Lang *lang)
|
||||||
{
|
{
|
||||||
// Copia las direcciones de los punteros
|
// Copia las direcciones de los punteros
|
||||||
mWindow = window;
|
mWindow = window;
|
||||||
@@ -13,7 +13,7 @@ Title::Title(SDL_Window *window, SDL_Renderer *renderer, Input *input, std::stri
|
|||||||
mInput = input;
|
mInput = input;
|
||||||
mFileList = fileList;
|
mFileList = fileList;
|
||||||
mOptions = options;
|
mOptions = options;
|
||||||
mTextStrings = textStrings;
|
mLang = lang;
|
||||||
|
|
||||||
// Reserva memoria para los punteros propios
|
// Reserva memoria para los punteros propios
|
||||||
mEventHandler = new SDL_Event();
|
mEventHandler = new SDL_Event();
|
||||||
@@ -50,6 +50,9 @@ Title::~Title()
|
|||||||
delete mText2;
|
delete mText2;
|
||||||
mText2 = nullptr;
|
mText2 = nullptr;
|
||||||
|
|
||||||
|
delete mLang;
|
||||||
|
mLang = nullptr;
|
||||||
|
|
||||||
delete mFade;
|
delete mFade;
|
||||||
mFade = nullptr;
|
mFade = nullptr;
|
||||||
|
|
||||||
@@ -243,11 +246,11 @@ void Title::init(bool demo, Uint8 subsection)
|
|||||||
|
|
||||||
// Inicializa los objetos de menu
|
// Inicializa los objetos de menu
|
||||||
mMenu.title->init("TITLE", 0, 14 * BLOCK, MENU_BACKGROUND_TRANSPARENT);
|
mMenu.title->init("TITLE", 0, 14 * BLOCK, MENU_BACKGROUND_TRANSPARENT);
|
||||||
mMenu.title->addItem(mTextStrings[51]); // 1 PLAYER
|
mMenu.title->addItem(mLang->getText(51)); // 1 PLAYER
|
||||||
mMenu.title->addItem(mTextStrings[52], 0, 5); // 2 PLAYERS
|
mMenu.title->addItem(mLang->getText(52), 0, 5); // 2 PLAYERS
|
||||||
mMenu.title->addItem(mTextStrings[1], 0, 5); // OPTIONS
|
mMenu.title->addItem(mLang->getText(1), 0, 5); // OPTIONS
|
||||||
//mMenu.title->addItem(mTextStrings[2], 0, 5); // HOW TO PLAY
|
//mMenu.title->addItem(mLang->getText(2), 0, 5); // HOW TO PLAY
|
||||||
mMenu.title->addItem(mTextStrings[3]); // QUIT
|
mMenu.title->addItem(mLang->getText(3)); // QUIT
|
||||||
mMenu.title->setDefaultActionWhenCancel(3);
|
mMenu.title->setDefaultActionWhenCancel(3);
|
||||||
mMenu.title->setBackgroundColor(0x30, 0x30, 0x40, 192);
|
mMenu.title->setBackgroundColor(0x30, 0x30, 0x40, 192);
|
||||||
//mMenu.title->setSelectorColor(0xe5, 0x1c, 0x23, 255);
|
//mMenu.title->setSelectorColor(0xe5, 0x1c, 0x23, 255);
|
||||||
@@ -258,11 +261,11 @@ void Title::init(bool demo, Uint8 subsection)
|
|||||||
mMenu.title->centerMenuElements();
|
mMenu.title->centerMenuElements();
|
||||||
|
|
||||||
//mMenu.options->init("OPTIONS", 0, 14 * BLOCK, MENU_BACKGROUND_SOLID);
|
//mMenu.options->init("OPTIONS", 0, 14 * BLOCK, MENU_BACKGROUND_SOLID);
|
||||||
//mMenu.options->addItem(mTextStrings[4]);
|
//mMenu.options->addItem(mLang->getText(4));
|
||||||
//mMenu.options->addItem(mTextStrings[7]);
|
//mMenu.options->addItem(mLang->getText(7));
|
||||||
//mMenu.options->addItem(mTextStrings[8], 0, 5);
|
//mMenu.options->addItem(mLang->getText(8), 0, 5);
|
||||||
//mMenu.options->addItem(mTextStrings[9]);
|
//mMenu.options->addItem(mLang->getText(9));
|
||||||
//mMenu.options->addItem(mTextStrings[10]);
|
//mMenu.options->addItem(mLang->getText(10));
|
||||||
//mMenu.options->setDefaultActionWhenCancel(4);
|
//mMenu.options->setDefaultActionWhenCancel(4);
|
||||||
//mMenu.options->setBackgroundColor(0x30, 0x30, 0x40, 192);
|
//mMenu.options->setBackgroundColor(0x30, 0x30, 0x40, 192);
|
||||||
//mMenu.options->setSelectorColor(0xe5, 0x1c, 0x23, 255);
|
//mMenu.options->setSelectorColor(0xe5, 0x1c, 0x23, 255);
|
||||||
@@ -271,11 +274,11 @@ void Title::init(bool demo, Uint8 subsection)
|
|||||||
//mMenu.options->centerMenuElements();
|
//mMenu.options->centerMenuElements();
|
||||||
|
|
||||||
mMenu.options->init("OPTIONS", 0, BLOCK, MENU_BACKGROUND_SOLID);
|
mMenu.options->init("OPTIONS", 0, BLOCK, MENU_BACKGROUND_SOLID);
|
||||||
mMenu.options->addItem(mTextStrings[4]); // WINDOW
|
mMenu.options->addItem(mLang->getText(4)); // WINDOW
|
||||||
mMenu.options->addItem(mTextStrings[7]);
|
mMenu.options->addItem(mLang->getText(7));
|
||||||
mMenu.options->addItem(mTextStrings[8], 0, 5);
|
mMenu.options->addItem(mLang->getText(8), 0, 5);
|
||||||
mMenu.options->addItem(mTextStrings[9]); // ACCEPT
|
mMenu.options->addItem(mLang->getText(9)); // ACCEPT
|
||||||
mMenu.options->addItem(mTextStrings[10]); // CANCEL
|
mMenu.options->addItem(mLang->getText(10)); // CANCEL
|
||||||
mMenu.options->setDefaultActionWhenCancel(4);
|
mMenu.options->setDefaultActionWhenCancel(4);
|
||||||
mMenu.options->setBackgroundColor(0x30, 0x30, 0x40, 192);
|
mMenu.options->setBackgroundColor(0x30, 0x30, 0x40, 192);
|
||||||
mMenu.options->setSelectorColor(0xe5, 0x1c, 0x23, 255);
|
mMenu.options->setSelectorColor(0xe5, 0x1c, 0x23, 255);
|
||||||
@@ -335,46 +338,46 @@ void Title::updateMenuLabels()
|
|||||||
switch (mOptions->fullScreenMode)
|
switch (mOptions->fullScreenMode)
|
||||||
{
|
{
|
||||||
case 0:
|
case 0:
|
||||||
mMenu.options->setItemCaption(0, mTextStrings[4]); // WINDOW
|
mMenu.options->setItemCaption(0, mLang->getText(4)); // WINDOW
|
||||||
break;
|
break;
|
||||||
case SDL_WINDOW_FULLSCREEN:
|
case SDL_WINDOW_FULLSCREEN:
|
||||||
mMenu.options->setItemCaption(0, mTextStrings[5]); // FULLSCREEN
|
mMenu.options->setItemCaption(0, mLang->getText(5)); // FULLSCREEN
|
||||||
break;
|
break;
|
||||||
case SDL_WINDOW_FULLSCREEN_DESKTOP:
|
case SDL_WINDOW_FULLSCREEN_DESKTOP:
|
||||||
mMenu.options->setItemCaption(0, mTextStrings[6]); // FAKE FULLSCREEN
|
mMenu.options->setItemCaption(0, mLang->getText(6)); // FAKE FULLSCREEN
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
mMenu.options->setItemCaption(0, mTextStrings[4]); // WINDOW
|
mMenu.options->setItemCaption(0, mLang->getText(4)); // WINDOW
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
mMenu.options->setItemCaption(1, mTextStrings[7] + " x" + std::to_string(mOptions->windowSize)); // WINDOW SIZE
|
mMenu.options->setItemCaption(1, mLang->getText(7) + " x" + std::to_string(mOptions->windowSize)); // WINDOW SIZE
|
||||||
|
|
||||||
switch (mOptions->language)
|
switch (mOptions->language)
|
||||||
{
|
{
|
||||||
case es_ES:
|
case es_ES:
|
||||||
mMenu.options->setItemCaption(2, mTextStrings[8] + " " + mTextStrings[24]);
|
mMenu.options->setItemCaption(2, mLang->getText(8) + " " + mLang->getText(24));
|
||||||
break;
|
break;
|
||||||
case ba_BA:
|
case ba_BA:
|
||||||
mMenu.options->setItemCaption(2, mTextStrings[8] + " " + mTextStrings[25]);
|
mMenu.options->setItemCaption(2, mLang->getText(8) + " " + mLang->getText(25));
|
||||||
break;
|
break;
|
||||||
case en_UK:
|
case en_UK:
|
||||||
mMenu.options->setItemCaption(2, mTextStrings[8] + " " + mTextStrings[26]);
|
mMenu.options->setItemCaption(2, mLang->getText(8) + " " + mLang->getText(26));
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
mMenu.options->setItemCaption(3, mTextStrings[9]);
|
mMenu.options->setItemCaption(3, mLang->getText(9));
|
||||||
mMenu.options->setItemCaption(4, mTextStrings[10]);
|
mMenu.options->setItemCaption(4, mLang->getText(10));
|
||||||
|
|
||||||
mMenu.options->centerMenu(SCREEN_CENTER_X);
|
mMenu.options->centerMenu(SCREEN_CENTER_X);
|
||||||
mMenu.options->centerMenuElements();
|
mMenu.options->centerMenuElements();
|
||||||
|
|
||||||
mMenu.title->setItemCaption(0, mTextStrings[51]); // 1 PLAYER
|
mMenu.title->setItemCaption(0, mLang->getText(51)); // 1 PLAYER
|
||||||
mMenu.title->setItemCaption(1, mTextStrings[52]); // 2 PLAYERS
|
mMenu.title->setItemCaption(1, mLang->getText(52)); // 2 PLAYERS
|
||||||
mMenu.title->setItemCaption(2, mTextStrings[1]); // OPTIONS
|
mMenu.title->setItemCaption(2, mLang->getText(1)); // OPTIONS
|
||||||
//mMenu.title->setItemCaption(3, mTextStrings[2]); // HOW TO PLAY
|
//mMenu.title->setItemCaption(3, mLang->getText(2)); // HOW TO PLAY
|
||||||
mMenu.title->setItemCaption(3, mTextStrings[3]); // QUIT
|
mMenu.title->setItemCaption(3, mLang->getText(3)); // QUIT
|
||||||
|
|
||||||
mMenu.title->centerMenu(SCREEN_CENTER_X);
|
mMenu.title->centerMenu(SCREEN_CENTER_X);
|
||||||
mMenu.title->centerMenuElements();
|
mMenu.title->centerMenuElements();
|
||||||
@@ -385,7 +388,8 @@ void Title::applyOptions()
|
|||||||
{
|
{
|
||||||
SDL_SetWindowFullscreen(mWindow, mOptions->fullScreenMode);
|
SDL_SetWindowFullscreen(mWindow, mOptions->fullScreenMode);
|
||||||
SDL_SetWindowSize(mWindow, SCREEN_WIDTH * mOptions->windowSize, SCREEN_HEIGHT * mOptions->windowSize);
|
SDL_SetWindowSize(mWindow, SCREEN_WIDTH * mOptions->windowSize, SCREEN_HEIGHT * mOptions->windowSize);
|
||||||
initTextStrings(mTextStrings, mOptions->language);
|
mLang->setLang(mOptions->language);
|
||||||
|
|
||||||
updateMenuLabels();
|
updateMenuLabels();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -701,7 +705,7 @@ section_t Title::run(Uint8 subsection)
|
|||||||
|
|
||||||
// PRESS ANY KEY!
|
// PRESS ANY KEY!
|
||||||
if ((mCounter % 50 > 14) && (mMenuVisible == false))
|
if ((mCounter % 50 > 14) && (mMenuVisible == false))
|
||||||
mText->writeDX(TXT_CENTER | TXT_SHADOW, SCREEN_CENTER_X, PLAY_AREA_THIRD_QUARTER_Y + BLOCK, mTextStrings[23], 1, noColor, 1, shdwTxtColor);
|
mText->writeDX(TXT_CENTER | TXT_SHADOW, SCREEN_CENTER_X, PLAY_AREA_THIRD_QUARTER_Y + BLOCK, mLang->getText(23), 1, noColor, 1, shdwTxtColor);
|
||||||
|
|
||||||
// Texto con el copyright y versión
|
// Texto con el copyright y versión
|
||||||
mText2->writeDX(TXT_CENTER | TXT_SHADOW, SCREEN_CENTER_X, SCREEN_HEIGHT - (BLOCK * 2), TEXT_COPYRIGHT, 1, noColor, 1, shdwTxtColor);
|
mText2->writeDX(TXT_CENTER | TXT_SHADOW, SCREEN_CENTER_X, SCREEN_HEIGHT - (BLOCK * 2), TEXT_COPYRIGHT, 1, noColor, 1, shdwTxtColor);
|
||||||
@@ -739,7 +743,7 @@ section_t Title::run(Uint8 subsection)
|
|||||||
// Ejecuta la parte donde se muestran las instrucciones
|
// Ejecuta la parte donde se muestran las instrucciones
|
||||||
void Title::runInstructions(Uint8 mode)
|
void Title::runInstructions(Uint8 mode)
|
||||||
{
|
{
|
||||||
mInstructions = new Instructions(mRenderer, mFileList, mTextStrings);
|
mInstructions = new Instructions(mRenderer, mFileList, mLang);
|
||||||
mInstructions->run(mode);
|
mInstructions->run(mode);
|
||||||
delete mInstructions;
|
delete mInstructions;
|
||||||
}
|
}
|
||||||
@@ -747,7 +751,7 @@ void Title::runInstructions(Uint8 mode)
|
|||||||
// Ejecuta el juego en modo demo
|
// Ejecuta el juego en modo demo
|
||||||
void Title::runDemoGame()
|
void Title::runDemoGame()
|
||||||
{
|
{
|
||||||
mDemoGame = new Game(1, mRenderer, mFileList, mTextStrings, mInput, mInput, true);
|
mDemoGame = new Game(1, mRenderer, mFileList, mLang, mInput, mInput, true);
|
||||||
mDemoGame->run();
|
mDemoGame->run();
|
||||||
delete mDemoGame;
|
delete mDemoGame;
|
||||||
}
|
}
|
||||||
@@ -43,7 +43,7 @@ private:
|
|||||||
Sprite *mTile; // Sprite para dibujar el fondo de pantalla del título
|
Sprite *mTile; // Sprite para dibujar el fondo de pantalla del título
|
||||||
Sprite *mGradient; // Sprite para dibujar el degradado del titulo
|
Sprite *mGradient; // Sprite para dibujar el degradado del titulo
|
||||||
std::string *mFileList; // Lista de ficheros
|
std::string *mFileList; // Lista de ficheros
|
||||||
std::string *mTextStrings; // Vector con los textos del juego
|
Lang *mLang; // Objeto para gestionar los textos en diferentes idiomas
|
||||||
Uint16 mBackgroundCounter; // Temporizador para el fondo de tiles de la pantalla de titulo
|
Uint16 mBackgroundCounter; // Temporizador para el fondo de tiles de la pantalla de titulo
|
||||||
Uint16 mCounter; // Temporizador para la pantalla de titulo
|
Uint16 mCounter; // Temporizador para la pantalla de titulo
|
||||||
Uint32 mTicks; // Contador de ticks para ajustar la velocidad del programa
|
Uint32 mTicks; // Contador de ticks para ajustar la velocidad del programa
|
||||||
@@ -92,7 +92,7 @@ private:
|
|||||||
|
|
||||||
public:
|
public:
|
||||||
// Constructor
|
// Constructor
|
||||||
Title(SDL_Window *window, SDL_Renderer *renderer, Input *input, std::string *fileList, options_t *options, std::string *textStrings);
|
Title(SDL_Window *window, SDL_Renderer *renderer, Input *input, std::string *fileList, options_t *options, Lang *lang);
|
||||||
|
|
||||||
// Destructor
|
// Destructor
|
||||||
~Title();
|
~Title();
|
||||||
|
|||||||
Reference in New Issue
Block a user