Renombradas las variables de param_t
This commit is contained in:
@@ -1,33 +1,33 @@
|
|||||||
## GAME
|
## GAME
|
||||||
gameWidth 320
|
game.width 320
|
||||||
gameHeight 240
|
game.height 256
|
||||||
itemSize 20
|
game.itemSize 20
|
||||||
|
|
||||||
## FADE
|
## FADE
|
||||||
numSquaresWidth 160
|
fade.numSquaresWidth 160
|
||||||
numSquaresHeight 120
|
fade.numSquaresHeight 128
|
||||||
fadeRandomSquaresDelay 1
|
fade.randomSquaresDelay 1
|
||||||
fadeRandomSquaresMult 500
|
fade.randomSquaresMult 500
|
||||||
fadePostDuration 80
|
fade.postDuration 80
|
||||||
venetianSize 16
|
fade.venetianSize 16
|
||||||
|
|
||||||
## SCOREBOARD
|
## SCOREBOARD
|
||||||
scoreboard.x 0
|
scoreboard.x 0
|
||||||
scoreboard.y 200
|
scoreboard.y 216
|
||||||
scoreboard.w 320
|
scoreboard.w 320
|
||||||
scoreboard.h 40
|
scoreboard.h 40
|
||||||
|
|
||||||
## TITLE
|
## TITLE
|
||||||
pressStart 170
|
title.pressStartPosition 170
|
||||||
titleCounter 800
|
title.titleDuration 800
|
||||||
arcadeEdition 123
|
title.arcadeEditionPosition 123
|
||||||
titleCC 80
|
title.titleCCPosition 80
|
||||||
|
|
||||||
## BACKGROUND
|
## BACKGROUND
|
||||||
backgroundAttenuateColor.r 255
|
background.attenuateColor.r 255
|
||||||
backgroundAttenuateColor.g 255
|
background.attenuateColor.g 255
|
||||||
backgroundAttenuateColor.b 255
|
background.attenuateColor.b 255
|
||||||
backgroundAttenuateColor.a 0
|
background.attenuateAlpha 0
|
||||||
|
|
||||||
## BALLOONS
|
## BALLOONS
|
||||||
balloon1.vel 2.75f
|
balloon1.vel 2.75f
|
||||||
|
|||||||
@@ -14,12 +14,12 @@ Background::Background(SDL_Renderer *renderer, Asset *asset, param_t *param)
|
|||||||
cloudsSpeed = 0;
|
cloudsSpeed = 0;
|
||||||
transition = 0;
|
transition = 0;
|
||||||
counter = 0;
|
counter = 0;
|
||||||
rect = {0, 0, param->gameWidth, param->gameHeight};
|
rect = {0, 0, param->game.width, param->game.height};
|
||||||
srcRect = {playArea.x, rect.h - playArea.h, playArea.w, playArea.h};
|
srcRect = {playArea.x, rect.h - playArea.h, playArea.w, playArea.h};
|
||||||
dstRect = {0, 0, playArea.w, playArea.h};
|
dstRect = {0, 0, playArea.w, playArea.h};
|
||||||
base = rect.h;
|
base = rect.h;
|
||||||
color = {param->backgroundAttenuateColor.r, param->backgroundAttenuateColor.g, param->backgroundAttenuateColor.b};
|
color = {param->background.attenuateColor.r, param->background.attenuateColor.g, param->background.attenuateColor.b};
|
||||||
alphaColorText = alphaColorTextTemp = param->backgroundAttenuateAlpha;
|
alphaColorText = alphaColorTextTemp = param->background.attenuateAlpha;
|
||||||
|
|
||||||
// Carga las texturas
|
// Carga las texturas
|
||||||
buildingsTexture = new Texture(renderer, asset->get("game_buildings.png"));
|
buildingsTexture = new Texture(renderer, asset->get("game_buildings.png"));
|
||||||
|
|||||||
@@ -169,8 +169,43 @@ struct options_t
|
|||||||
std::vector<op_controller_t> controller; // Opciones con las asignaciones del mando para cada jugador
|
std::vector<op_controller_t> controller; // Opciones con las asignaciones del mando para cada jugador
|
||||||
};
|
};
|
||||||
|
|
||||||
|
// param.game
|
||||||
|
struct paramGame_t
|
||||||
|
{
|
||||||
|
int width; // Ancho de la resolucion nativa del juego
|
||||||
|
int height; // Alto de la resolucion nativa del juego
|
||||||
|
int itemSize; // Tamaño de los items del juego
|
||||||
|
};
|
||||||
|
|
||||||
|
// param.fade
|
||||||
|
struct paramFade_t
|
||||||
|
{
|
||||||
|
int numSquaresWidth; // Cantidad total de cuadraditos en horizontal para el FADE_RANDOM_SQUARE
|
||||||
|
int numSquaresHeight; // Cantidad total de cuadraditos en vertical para el FADE_RANDOM_SQUARE
|
||||||
|
int randomSquaresDelay; // Duración entre cada pintado de cuadrados
|
||||||
|
int randomSquaresMult; // Cantidad de cuadrados que se pintaran cada vez
|
||||||
|
int postDuration; // Duración final del fade
|
||||||
|
int venetianSize; // Altura de los rectangulos para FADE_VENETIAN
|
||||||
|
};
|
||||||
|
|
||||||
|
// param.title
|
||||||
|
struct paramTitle_t
|
||||||
|
{
|
||||||
|
int pressStartPosition; // Posición del texto para empezar a jugar
|
||||||
|
int titleDuration; // Tiempo de inactividad del titulo
|
||||||
|
int arcadeEditionPosition; // Posición del bitmap
|
||||||
|
int titleCCPosition; // Posición del bitmap
|
||||||
|
};
|
||||||
|
|
||||||
|
// param.background
|
||||||
|
struct paramBackground_t
|
||||||
|
{
|
||||||
|
color_t attenuateColor;
|
||||||
|
int attenuateAlpha;
|
||||||
|
};
|
||||||
|
|
||||||
// Estructura para guardar los parametros de un globo
|
// Estructura para guardar los parametros de un globo
|
||||||
struct balloon_t
|
struct paramBalloon_t
|
||||||
{
|
{
|
||||||
float grav; // Aceleración en el eje Y. Modifica la velocidad
|
float grav; // Aceleración en el eje Y. Modifica la velocidad
|
||||||
float vel; // Velocidad inicial que tienen al rebotar contra el suelo
|
float vel; // Velocidad inicial que tienen al rebotar contra el suelo
|
||||||
@@ -179,34 +214,12 @@ struct balloon_t
|
|||||||
// Estructura para almacenar todos los parámetros del juego
|
// Estructura para almacenar todos los parámetros del juego
|
||||||
struct param_t
|
struct param_t
|
||||||
{
|
{
|
||||||
// GAME
|
paramGame_t game; // Parametros relacionados con el juego
|
||||||
int gameWidth; // Ancho de la resolucion nativa del juego
|
paramFade_t fade; // Parametros para ajustar el fade
|
||||||
int gameHeight; // Alto de la resolucion nativa del juego
|
|
||||||
int itemSize; // Tamaño de los items del juego
|
|
||||||
|
|
||||||
// FADE
|
|
||||||
int numSquaresWidth; // Cantidad total de cuadraditos en horizontal para el FADE_RANDOM_SQUARE
|
|
||||||
int numSquaresHeight; // Cantidad total de cuadraditos en vertical para el FADE_RANDOM_SQUARE
|
|
||||||
int fadeRandomSquaresDelay; // Duración entre cada pintado de cuadrados
|
|
||||||
int fadeRandomSquaresMult; // Cantidad de cuadrados que se pintaran cada vez
|
|
||||||
int fadePostDuration; // Duración final del fade
|
|
||||||
int venetianSize; // Altura de los rectangulos para FADE_VENETIAN
|
|
||||||
|
|
||||||
// SCOREBOARD
|
|
||||||
SDL_Rect scoreboard; // Posición y tamaño del marcador
|
SDL_Rect scoreboard; // Posición y tamaño del marcador
|
||||||
|
paramTitle_t title; // Parametros con ajustes para la sección Title
|
||||||
// TITLE
|
paramBackground_t background; // Parametros que afectan a la clase Background
|
||||||
int pressStart; // Posición del texto para empezar a jugar
|
paramBalloon_t balloon1, balloon2, balloon3, balloon4; // Parametros de velocidad y gravedad de cada tipo de globo
|
||||||
int titleCounter; // Tiempo de inactividad del titulo
|
|
||||||
int arcadeEdition; // Posición del bitmap
|
|
||||||
int titleCC; // Posición del bitmap
|
|
||||||
|
|
||||||
// BACKGROUND
|
|
||||||
color_t backgroundAttenuateColor;
|
|
||||||
int backgroundAttenuateAlpha;
|
|
||||||
|
|
||||||
// BALLOONS
|
|
||||||
balloon_t balloon1, balloon2, balloon3, balloon4; // Parametros de velocidad y gravedad de cada tipo de globo
|
|
||||||
};
|
};
|
||||||
|
|
||||||
// Estructura para almacenar ficheros de sonido y su nombre
|
// Estructura para almacenar ficheros de sonido y su nombre
|
||||||
|
|||||||
@@ -12,8 +12,8 @@ DefineButtons::DefineButtons(Input *input, Text *text, param_t *param, options_t
|
|||||||
|
|
||||||
// Inicializa variables
|
// Inicializa variables
|
||||||
enabled = false;
|
enabled = false;
|
||||||
x = param->gameWidth / 2;
|
x = param->game.width / 2;
|
||||||
y = param->pressStart;
|
y = param->title.pressStartPosition;
|
||||||
indexController = 0;
|
indexController = 0;
|
||||||
indexButton = 0;
|
indexButton = 0;
|
||||||
|
|
||||||
|
|||||||
@@ -224,7 +224,7 @@ bool Director::initSDL()
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
// Crea la ventana
|
// Crea la ventana
|
||||||
window = SDL_CreateWindow(WINDOW_CAPTION, SDL_WINDOWPOS_CENTERED, SDL_WINDOWPOS_CENTERED, param->gameWidth * options->video.window.size, param->gameHeight * options->video.window.size, SDL_WINDOW_HIDDEN);
|
window = SDL_CreateWindow(WINDOW_CAPTION, SDL_WINDOWPOS_CENTERED, SDL_WINDOWPOS_CENTERED, param->game.width * options->video.window.size, param->game.height * options->video.window.size, SDL_WINDOW_HIDDEN);
|
||||||
if (window == nullptr)
|
if (window == nullptr)
|
||||||
{
|
{
|
||||||
if (options->console)
|
if (options->console)
|
||||||
@@ -261,7 +261,7 @@ bool Director::initSDL()
|
|||||||
SDL_SetRenderDrawColor(renderer, 0x00, 0x00, 0x00, 0xFF);
|
SDL_SetRenderDrawColor(renderer, 0x00, 0x00, 0x00, 0xFF);
|
||||||
|
|
||||||
// Establece el tamaño del buffer de renderizado
|
// Establece el tamaño del buffer de renderizado
|
||||||
SDL_RenderSetLogicalSize(renderer, param->gameWidth, param->gameHeight);
|
SDL_RenderSetLogicalSize(renderer, param->game.width, param->game.height);
|
||||||
|
|
||||||
// Establece el modo de mezcla
|
// Establece el modo de mezcla
|
||||||
SDL_SetRenderDrawBlendMode(renderer, SDL_BLENDMODE_BLEND);
|
SDL_SetRenderDrawBlendMode(renderer, SDL_BLENDMODE_BLEND);
|
||||||
@@ -427,10 +427,10 @@ void Director::loadParams()
|
|||||||
loadParam(param, asset->get("param.txt"));
|
loadParam(param, asset->get("param.txt"));
|
||||||
|
|
||||||
// Modifica las opciones desde el fichero de parametros
|
// Modifica las opciones desde el fichero de parametros
|
||||||
options->video.window.width = options->video.window.size * param->gameWidth;
|
options->video.window.width = options->video.window.size * param->game.width;
|
||||||
options->video.window.height = options->video.window.size * param->gameHeight;
|
options->video.window.height = options->video.window.size * param->game.height;
|
||||||
options->video.gameWidth = param->gameWidth;
|
options->video.gameWidth = param->game.width;
|
||||||
options->video.gameHeight = param->gameHeight;
|
options->video.gameHeight = param->game.height;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Inicializa las opciones del programa
|
// Inicializa las opciones del programa
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ Fade::Fade(SDL_Renderer *renderer, param_t *param)
|
|||||||
this->param = param;
|
this->param = param;
|
||||||
|
|
||||||
// Crea la textura donde dibujar el fade
|
// Crea la textura donde dibujar el fade
|
||||||
backbuffer = SDL_CreateTexture(renderer, SDL_PIXELFORMAT_RGBA8888, SDL_TEXTUREACCESS_TARGET, param->gameWidth, param->gameHeight);
|
backbuffer = SDL_CreateTexture(renderer, SDL_PIXELFORMAT_RGBA8888, SDL_TEXTUREACCESS_TARGET, param->game.width, param->game.height);
|
||||||
SDL_SetTextureBlendMode(backbuffer, SDL_BLENDMODE_BLEND);
|
SDL_SetTextureBlendMode(backbuffer, SDL_BLENDMODE_BLEND);
|
||||||
|
|
||||||
// Inicializa las variables
|
// Inicializa las variables
|
||||||
@@ -37,10 +37,10 @@ void Fade::init()
|
|||||||
b = 0;
|
b = 0;
|
||||||
postDuration = 20;
|
postDuration = 20;
|
||||||
postCounter = 0;
|
postCounter = 0;
|
||||||
numSquaresWidth = param->numSquaresWidth;
|
numSquaresWidth = param->fade.numSquaresWidth;
|
||||||
numSquaresHeight = param->numSquaresHeight;
|
numSquaresHeight = param->fade.numSquaresHeight;
|
||||||
fadeRandomSquaresDelay = param->fadeRandomSquaresDelay;
|
fadeRandomSquaresDelay = param->fade.randomSquaresDelay;
|
||||||
fadeRandomSquaresMult = param->fadeRandomSquaresMult;
|
fadeRandomSquaresMult = param->fade.randomSquaresMult;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Resetea algunas variables para volver a hacer el fade sin perder ciertos parametros
|
// Resetea algunas variables para volver a hacer el fade sin perder ciertos parametros
|
||||||
@@ -97,7 +97,7 @@ void Fade::update()
|
|||||||
for (int i = 0; i < counter; i++)
|
for (int i = 0; i < counter; i++)
|
||||||
{
|
{
|
||||||
rect1.h = rect2.h = i * 4;
|
rect1.h = rect2.h = i * 4;
|
||||||
rect2.y = param->gameHeight - (i * 4);
|
rect2.y = param->game.height - (i * 4);
|
||||||
|
|
||||||
SDL_RenderFillRect(renderer, &rect1);
|
SDL_RenderFillRect(renderer, &rect1);
|
||||||
SDL_RenderFillRect(renderer, &rect2);
|
SDL_RenderFillRect(renderer, &rect2);
|
||||||
@@ -107,7 +107,7 @@ void Fade::update()
|
|||||||
SDL_SetRenderTarget(renderer, temp);
|
SDL_SetRenderTarget(renderer, temp);
|
||||||
|
|
||||||
// Comprueba si ha terminado
|
// Comprueba si ha terminado
|
||||||
if ((counter * 4) > param->gameHeight)
|
if ((counter * 4) > param->game.height)
|
||||||
{
|
{
|
||||||
finished = true;
|
finished = true;
|
||||||
a = 255;
|
a = 255;
|
||||||
@@ -152,7 +152,7 @@ void Fade::update()
|
|||||||
case FADE_VENETIAN:
|
case FADE_VENETIAN:
|
||||||
{
|
{
|
||||||
// Counter debe ir de 0 a 150
|
// Counter debe ir de 0 a 150
|
||||||
if (square.back().h < param->venetianSize)
|
if (square.back().h < param->fade.venetianSize)
|
||||||
{
|
{
|
||||||
// Dibuja sobre el backbuffer
|
// Dibuja sobre el backbuffer
|
||||||
SDL_Texture *temp = SDL_GetRenderTarget(renderer);
|
SDL_Texture *temp = SDL_GetRenderTarget(renderer);
|
||||||
@@ -221,15 +221,15 @@ void Fade::activate()
|
|||||||
|
|
||||||
case FADE_CENTER:
|
case FADE_CENTER:
|
||||||
{
|
{
|
||||||
rect1 = {0, 0, param->gameWidth, 0};
|
rect1 = {0, 0, param->game.width, 0};
|
||||||
rect2 = {0, 0, param->gameWidth, 0};
|
rect2 = {0, 0, param->game.width, 0};
|
||||||
a = 64;
|
a = 64;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
case FADE_RANDOM_SQUARE:
|
case FADE_RANDOM_SQUARE:
|
||||||
{
|
{
|
||||||
rect1 = {0, 0, param->gameWidth / numSquaresWidth, param->gameHeight / numSquaresHeight};
|
rect1 = {0, 0, param->game.width / numSquaresWidth, param->game.height / numSquaresHeight};
|
||||||
square.clear();
|
square.clear();
|
||||||
|
|
||||||
// Añade los cuadrados al vector
|
// Añade los cuadrados al vector
|
||||||
@@ -267,16 +267,16 @@ void Fade::activate()
|
|||||||
|
|
||||||
case FADE_VENETIAN:
|
case FADE_VENETIAN:
|
||||||
{
|
{
|
||||||
rect1 = {0, 0, param->gameWidth, 0};
|
rect1 = {0, 0, param->game.width, 0};
|
||||||
square.clear();
|
square.clear();
|
||||||
a = 255;
|
a = 255;
|
||||||
|
|
||||||
// Añade los cuadrados al vector
|
// Añade los cuadrados al vector
|
||||||
const int max = param->gameHeight / param->venetianSize;
|
const int max = param->game.height / param->fade.venetianSize;
|
||||||
|
|
||||||
for (int i = 0; i < max; ++i)
|
for (int i = 0; i < max; ++i)
|
||||||
{
|
{
|
||||||
rect1.y = i * param->venetianSize;
|
rect1.y = i * param->fade.venetianSize;
|
||||||
square.push_back(rect1);
|
square.push_back(rect1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -260,7 +260,7 @@ void Game::init(int playerID)
|
|||||||
|
|
||||||
// Inicializa el objeto para el fundido
|
// Inicializa el objeto para el fundido
|
||||||
fade->setColor(fadeColor.r, fadeColor.g, fadeColor.b);
|
fade->setColor(fadeColor.r, fadeColor.g, fadeColor.b);
|
||||||
fade->setPost(param->fadePostDuration);
|
fade->setPost(param->fade.postDuration);
|
||||||
fade->setType(FADE_VENETIAN);
|
fade->setType(FADE_VENETIAN);
|
||||||
|
|
||||||
// Con los globos creados, calcula el nivel de amenaza
|
// Con los globos creados, calcula el nivel de amenaza
|
||||||
@@ -1651,17 +1651,17 @@ void Game::throwCoffee(int x, int y)
|
|||||||
|
|
||||||
ss->setPosX(x - 8);
|
ss->setPosX(x - 8);
|
||||||
ss->setPosY(y - 8);
|
ss->setPosY(y - 8);
|
||||||
ss->setWidth(param->itemSize);
|
ss->setWidth(param->game.itemSize);
|
||||||
ss->setHeight(param->itemSize);
|
ss->setHeight(param->game.itemSize);
|
||||||
ss->setVelX(-1.0f + ((rand() % 5) * 0.5f));
|
ss->setVelX(-1.0f + ((rand() % 5) * 0.5f));
|
||||||
ss->setVelY(-4.0f);
|
ss->setVelY(-4.0f);
|
||||||
ss->setAccelX(0.0f);
|
ss->setAccelX(0.0f);
|
||||||
ss->setAccelY(0.2f);
|
ss->setAccelY(0.2f);
|
||||||
ss->setDestX(x + (ss->getVelX() * 50));
|
ss->setDestX(x + (ss->getVelX() * 50));
|
||||||
ss->setDestY(param->gameHeight + 1);
|
ss->setDestY(param->game.height + 1);
|
||||||
ss->setEnabled(true);
|
ss->setEnabled(true);
|
||||||
ss->setEnabledCounter(1);
|
ss->setEnabledCounter(1);
|
||||||
ss->setSpriteClip(0, param->itemSize, param->itemSize, param->itemSize);
|
ss->setSpriteClip(0, param->game.itemSize, param->game.itemSize, param->game.itemSize);
|
||||||
ss->setRotate(true);
|
ss->setRotate(true);
|
||||||
ss->setRotateSpeed(10);
|
ss->setRotateSpeed(10);
|
||||||
ss->setRotateAmount(90.0);
|
ss->setRotateAmount(90.0);
|
||||||
@@ -2594,7 +2594,7 @@ void Game::checkEvents()
|
|||||||
{
|
{
|
||||||
// CREA UN SPRITE DE 1000 PUNTOS
|
// CREA UN SPRITE DE 1000 PUNTOS
|
||||||
case SDLK_h:
|
case SDLK_h:
|
||||||
createItemScoreSprite(param->gameWidth / 2, param->gameWidth / 2, n1000Sprite);
|
createItemScoreSprite(param->game.width / 2, param->game.width / 2, n1000Sprite);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
// CREA UNA POWERBALL
|
// CREA UNA POWERBALL
|
||||||
|
|||||||
@@ -19,7 +19,7 @@ GameLogo::GameLogo(SDL_Renderer *renderer, Screen *screen, Asset *asset, param_t
|
|||||||
|
|
||||||
coffeeBitmap = new SmartSprite(coffeeTexture);
|
coffeeBitmap = new SmartSprite(coffeeTexture);
|
||||||
crisisBitmap = new SmartSprite(crisisTexture);
|
crisisBitmap = new SmartSprite(crisisTexture);
|
||||||
arcadeEditionBitmap = new Sprite((param->gameWidth - arcadeEditionTexture->getWidth()) / 2, param->arcadeEdition, arcadeEditionTexture->getWidth(), arcadeEditionTexture->getHeight(), arcadeEditionTexture);
|
arcadeEditionBitmap = new Sprite((param->game.width - arcadeEditionTexture->getWidth()) / 2, param->title.arcadeEditionPosition, arcadeEditionTexture->getWidth(), arcadeEditionTexture->getHeight(), arcadeEditionTexture);
|
||||||
dustBitmapL = new AnimatedSprite(dustTexture, asset->get("title_dust.ani"));
|
dustBitmapL = new AnimatedSprite(dustTexture, asset->get("title_dust.ani"));
|
||||||
dustBitmapR = new AnimatedSprite(dustTexture, asset->get("title_dust.ani"));
|
dustBitmapR = new AnimatedSprite(dustTexture, asset->get("title_dust.ani"));
|
||||||
|
|
||||||
@@ -207,7 +207,7 @@ void GameLogo::reLoad()
|
|||||||
int GameLogo::getInitialVerticalDesp()
|
int GameLogo::getInitialVerticalDesp()
|
||||||
{
|
{
|
||||||
int despUp = y;
|
int despUp = y;
|
||||||
int despDown = param->gameHeight - y;
|
int despDown = param->game.height - y;
|
||||||
|
|
||||||
return std::max(despUp, despDown);
|
return std::max(despUp, despDown);
|
||||||
}
|
}
|
||||||
@@ -22,7 +22,7 @@ HiScoreTable::HiScoreTable(Screen *screen, Asset *asset, Input *input, Lang *lan
|
|||||||
text = new Text(asset->get("smb2.gif"), asset->get("smb2.txt"), renderer);
|
text = new Text(asset->get("smb2.gif"), asset->get("smb2.txt"), renderer);
|
||||||
|
|
||||||
// Crea un backbuffer para el renderizador
|
// Crea un backbuffer para el renderizador
|
||||||
backbuffer = SDL_CreateTexture(renderer, SDL_PIXELFORMAT_RGBA8888, SDL_TEXTUREACCESS_TARGET, param->gameWidth, param->gameHeight);
|
backbuffer = SDL_CreateTexture(renderer, SDL_PIXELFORMAT_RGBA8888, SDL_TEXTUREACCESS_TARGET, param->game.width, param->game.height);
|
||||||
SDL_SetTextureBlendMode(backbuffer, SDL_BLENDMODE_BLEND);
|
SDL_SetTextureBlendMode(backbuffer, SDL_BLENDMODE_BLEND);
|
||||||
|
|
||||||
// Inicializa variables
|
// Inicializa variables
|
||||||
@@ -31,7 +31,7 @@ HiScoreTable::HiScoreTable(Screen *screen, Asset *asset, Input *input, Lang *lan
|
|||||||
ticksSpeed = 15;
|
ticksSpeed = 15;
|
||||||
counter = 0;
|
counter = 0;
|
||||||
counterEnd = 800;
|
counterEnd = 800;
|
||||||
viewArea = {0, 0, param->gameWidth, param->gameHeight};
|
viewArea = {0, 0, param->game.width, param->game.height};
|
||||||
fadeMode = FADE_IN;
|
fadeMode = FADE_IN;
|
||||||
|
|
||||||
// Inicializa objetos
|
// Inicializa objetos
|
||||||
@@ -42,7 +42,7 @@ HiScoreTable::HiScoreTable(Screen *screen, Asset *asset, Input *input, Lang *lan
|
|||||||
background->setTransition(0.8f);
|
background->setTransition(0.8f);
|
||||||
fade->setColor(fadeColor.r, fadeColor.g, fadeColor.b);
|
fade->setColor(fadeColor.r, fadeColor.g, fadeColor.b);
|
||||||
fade->setType(FADE_RANDOM_SQUARE);
|
fade->setType(FADE_RANDOM_SQUARE);
|
||||||
fade->setPost(param->fadePostDuration);
|
fade->setPost(param->fade.postDuration);
|
||||||
fade->setMode(fadeMode);
|
fade->setMode(fadeMode);
|
||||||
fade->activate();
|
fade->activate();
|
||||||
|
|
||||||
@@ -106,7 +106,7 @@ void HiScoreTable::fillTexture()
|
|||||||
const int spaceBetweenHeader = 32;
|
const int spaceBetweenHeader = 32;
|
||||||
const int spaceBetweenLines = text->getCharacterSize() * 2.0f;
|
const int spaceBetweenLines = text->getCharacterSize() * 2.0f;
|
||||||
const int size = spaceBetweenHeader + spaceBetweenLines * (maxNames - 1) + text->getCharacterSize();
|
const int size = spaceBetweenHeader + spaceBetweenLines * (maxNames - 1) + text->getCharacterSize();
|
||||||
const int firstLine = (param->gameHeight - size) / 2;
|
const int firstLine = (param->game.height - size) / 2;
|
||||||
|
|
||||||
// Pinta en el backbuffer el texto y los sprites
|
// Pinta en el backbuffer el texto y los sprites
|
||||||
SDL_Texture *temp = SDL_GetRenderTarget(renderer);
|
SDL_Texture *temp = SDL_GetRenderTarget(renderer);
|
||||||
@@ -150,7 +150,7 @@ void HiScoreTable::render()
|
|||||||
background->render();
|
background->render();
|
||||||
|
|
||||||
// Establece la ventana del backbuffer
|
// Establece la ventana del backbuffer
|
||||||
viewArea.y = std::max(0, param->gameHeight - counter + 100);
|
viewArea.y = std::max(0, param->game.height - counter + 100);
|
||||||
|
|
||||||
// Copia el backbuffer al renderizador
|
// Copia el backbuffer al renderizador
|
||||||
SDL_RenderCopy(renderer, backbuffer, nullptr, &viewArea);
|
SDL_RenderCopy(renderer, backbuffer, nullptr, &viewArea);
|
||||||
|
|||||||
@@ -17,15 +17,15 @@ Instructions::Instructions(Screen *screen, Asset *asset, Input *input, Lang *lan
|
|||||||
// Crea objetos
|
// Crea objetos
|
||||||
eventHandler = new SDL_Event();
|
eventHandler = new SDL_Event();
|
||||||
text = new Text(asset->get("smb2.gif"), asset->get("smb2.txt"), renderer);
|
text = new Text(asset->get("smb2.gif"), asset->get("smb2.txt"), renderer);
|
||||||
tiledbg = new Tiledbg(renderer, asset, {0, 0, param->gameWidth, param->gameHeight}, TILED_MODE_STATIC);
|
tiledbg = new Tiledbg(renderer, asset, {0, 0, param->game.width, param->game.height}, TILED_MODE_STATIC);
|
||||||
fade = new Fade(renderer, param);
|
fade = new Fade(renderer, param);
|
||||||
|
|
||||||
// Crea un backbuffer para el renderizador
|
// Crea un backbuffer para el renderizador
|
||||||
backbuffer = SDL_CreateTexture(renderer, SDL_PIXELFORMAT_RGBA8888, SDL_TEXTUREACCESS_TARGET, param->gameWidth, param->gameHeight);
|
backbuffer = SDL_CreateTexture(renderer, SDL_PIXELFORMAT_RGBA8888, SDL_TEXTUREACCESS_TARGET, param->game.width, param->game.height);
|
||||||
SDL_SetTextureBlendMode(backbuffer, SDL_BLENDMODE_BLEND);
|
SDL_SetTextureBlendMode(backbuffer, SDL_BLENDMODE_BLEND);
|
||||||
|
|
||||||
// Crea una textura para el texto fijo
|
// Crea una textura para el texto fijo
|
||||||
texture = SDL_CreateTexture(renderer, SDL_PIXELFORMAT_RGBA8888, SDL_TEXTUREACCESS_TARGET, param->gameWidth, param->gameHeight);
|
texture = SDL_CreateTexture(renderer, SDL_PIXELFORMAT_RGBA8888, SDL_TEXTUREACCESS_TARGET, param->game.width, param->game.height);
|
||||||
SDL_SetTextureBlendMode(texture, SDL_BLENDMODE_BLEND);
|
SDL_SetTextureBlendMode(texture, SDL_BLENDMODE_BLEND);
|
||||||
|
|
||||||
// Inicializa variables
|
// Inicializa variables
|
||||||
@@ -34,14 +34,14 @@ Instructions::Instructions(Screen *screen, Asset *asset, Input *input, Lang *lan
|
|||||||
ticksSpeed = 15;
|
ticksSpeed = 15;
|
||||||
counter = 0;
|
counter = 0;
|
||||||
counterEnd = 700;
|
counterEnd = 700;
|
||||||
view = {0, 0, param->gameWidth, param->gameHeight};
|
view = {0, 0, param->game.width, param->game.height};
|
||||||
spritePos = {0, 0};
|
spritePos = {0, 0};
|
||||||
itemSpace = 2;
|
itemSpace = 2;
|
||||||
|
|
||||||
// Inicializa objetos
|
// Inicializa objetos
|
||||||
fade->setColor(fadeColor.r, fadeColor.g, fadeColor.b);
|
fade->setColor(fadeColor.r, fadeColor.g, fadeColor.b);
|
||||||
fade->setType(FADE_FULLSCREEN);
|
fade->setType(FADE_FULLSCREEN);
|
||||||
fade->setPost(param->fadePostDuration);
|
fade->setPost(param->fade.postDuration);
|
||||||
fade->setMode(FADE_IN);
|
fade->setMode(FADE_IN);
|
||||||
fade->activate();
|
fade->activate();
|
||||||
|
|
||||||
@@ -99,8 +99,8 @@ void Instructions::iniSprites()
|
|||||||
// Inicializa los sprites
|
// Inicializa los sprites
|
||||||
for (int i = 0; i < (int)itemTextures.size(); ++i)
|
for (int i = 0; i < (int)itemTextures.size(); ++i)
|
||||||
{
|
{
|
||||||
Sprite *sprite = new Sprite(0, 0, param->itemSize, param->itemSize, itemTextures[i]);
|
Sprite *sprite = new Sprite(0, 0, param->game.itemSize, param->game.itemSize, itemTextures[i]);
|
||||||
sprite->setPos((SDL_Point){spritePos.x, spritePos.y + ((param->itemSize + itemSpace) * i)});
|
sprite->setPos((SDL_Point){spritePos.x, spritePos.y + ((param->game.itemSize + itemSpace) * i)});
|
||||||
sprites.push_back(sprite);
|
sprites.push_back(sprite);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -108,33 +108,33 @@ void Instructions::iniSprites()
|
|||||||
// Actualiza los sprites
|
// Actualiza los sprites
|
||||||
void Instructions::updateSprites()
|
void Instructions::updateSprites()
|
||||||
{
|
{
|
||||||
SDL_Rect srcRect = {0, 0, param->itemSize, param->itemSize};
|
SDL_Rect srcRect = {0, 0, param->game.itemSize, param->game.itemSize};
|
||||||
|
|
||||||
// Disquito
|
// Disquito
|
||||||
srcRect.y = param->itemSize * (((counter + 12) / 36) % 2);
|
srcRect.y = param->game.itemSize * (((counter + 12) / 36) % 2);
|
||||||
sprites[0]->setSpriteClip(srcRect);
|
sprites[0]->setSpriteClip(srcRect);
|
||||||
|
|
||||||
// Gavineixon
|
// Gavineixon
|
||||||
srcRect.y = param->itemSize * (((counter + 9) / 36) % 2);
|
srcRect.y = param->game.itemSize * (((counter + 9) / 36) % 2);
|
||||||
sprites[1]->setSpriteClip(srcRect);
|
sprites[1]->setSpriteClip(srcRect);
|
||||||
|
|
||||||
// Pacmar
|
// Pacmar
|
||||||
srcRect.y = param->itemSize * (((counter + 6) / 36) % 2);
|
srcRect.y = param->game.itemSize * (((counter + 6) / 36) % 2);
|
||||||
sprites[2]->setSpriteClip(srcRect);
|
sprites[2]->setSpriteClip(srcRect);
|
||||||
|
|
||||||
// Time Stopper
|
// Time Stopper
|
||||||
srcRect.y = param->itemSize * (((counter + 3) / 36) % 2);
|
srcRect.y = param->game.itemSize * (((counter + 3) / 36) % 2);
|
||||||
sprites[3]->setSpriteClip(srcRect);
|
sprites[3]->setSpriteClip(srcRect);
|
||||||
|
|
||||||
// Coffee
|
// Coffee
|
||||||
srcRect.y = param->itemSize * (((counter + 0) / 36) % 2);
|
srcRect.y = param->game.itemSize * (((counter + 0) / 36) % 2);
|
||||||
sprites[4]->setSpriteClip(srcRect);
|
sprites[4]->setSpriteClip(srcRect);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Rellena la textura de texto
|
// Rellena la textura de texto
|
||||||
void Instructions::fillTexture()
|
void Instructions::fillTexture()
|
||||||
{
|
{
|
||||||
const int despX = param->itemSize + 8;
|
const int despX = param->game.itemSize + 8;
|
||||||
|
|
||||||
// Modifica el renderizador para pintar en la textura
|
// Modifica el renderizador para pintar en la textura
|
||||||
SDL_Texture *temp = SDL_GetRenderTarget(renderer);
|
SDL_Texture *temp = SDL_GetRenderTarget(renderer);
|
||||||
@@ -153,11 +153,11 @@ void Instructions::fillTexture()
|
|||||||
const int spacePostHeader = 20;
|
const int spacePostHeader = 20;
|
||||||
const int spacePreHeader = 28;
|
const int spacePreHeader = 28;
|
||||||
const int spaceBetweenLines = text->getCharacterSize() * 1.5f;
|
const int spaceBetweenLines = text->getCharacterSize() * 1.5f;
|
||||||
const int spaceBetweenItemLines = param->itemSize + itemSpace;
|
const int spaceBetweenItemLines = param->game.itemSize + itemSpace;
|
||||||
const int spaceNewParagraph = spaceBetweenLines * 0.5f;
|
const int spaceNewParagraph = spaceBetweenLines * 0.5f;
|
||||||
|
|
||||||
const int size = (numLines * spaceBetweenLines) + (numItemLines * spaceBetweenItemLines) + (numPostHeaders * spacePostHeader) + (numPreHeaders * spacePreHeader) + (spaceNewParagraph);
|
const int size = (numLines * spaceBetweenLines) + (numItemLines * spaceBetweenItemLines) + (numPostHeaders * spacePostHeader) + (numPreHeaders * spacePreHeader) + (spaceNewParagraph);
|
||||||
const int firstLine = (param->gameHeight - size) / 2;
|
const int firstLine = (param->game.height - size) / 2;
|
||||||
|
|
||||||
// Calcula cual es el texto más largo de las descripciones de los items
|
// Calcula cual es el texto más largo de las descripciones de los items
|
||||||
int lenght = 0;
|
int lenght = 0;
|
||||||
@@ -166,7 +166,7 @@ void Instructions::fillTexture()
|
|||||||
const int l = text->lenght(lang->getText(i));
|
const int l = text->lenght(lang->getText(i));
|
||||||
lenght = l > lenght ? l : lenght;
|
lenght = l > lenght ? l : lenght;
|
||||||
}
|
}
|
||||||
const int anchorItem = (param->gameWidth - (lenght + despX)) / 2;
|
const int anchorItem = (param->game.width - (lenght + despX)) / 2;
|
||||||
|
|
||||||
// Escribe el texto de las instrucciones
|
// Escribe el texto de las instrucciones
|
||||||
text->writeDX(TXT_CENTER | TXT_COLOR | TXT_SHADOW, GAMECANVAS_CENTER_X, firstLine, lang->getText(11), 1, orangeColor, 1, shdwTxtColor);
|
text->writeDX(TXT_CENTER | TXT_COLOR | TXT_SHADOW, GAMECANVAS_CENTER_X, firstLine, lang->getText(11), 1, orangeColor, 1, shdwTxtColor);
|
||||||
@@ -182,7 +182,7 @@ void Instructions::fillTexture()
|
|||||||
text->writeDX(TXT_CENTER | TXT_COLOR | TXT_SHADOW, GAMECANVAS_CENTER_X, anchor2, lang->getText(16), 1, orangeColor, 1, shdwTxtColor);
|
text->writeDX(TXT_CENTER | TXT_COLOR | TXT_SHADOW, GAMECANVAS_CENTER_X, anchor2, lang->getText(16), 1, orangeColor, 1, shdwTxtColor);
|
||||||
|
|
||||||
const int anchor3 = anchor2 + spacePostHeader;
|
const int anchor3 = anchor2 + spacePostHeader;
|
||||||
// const int anchor4 = anchor3 + ((param->itemSize + text->getCharacterSize()) / 2);
|
// const int anchor4 = anchor3 + ((param->game.itemSize + text->getCharacterSize()) / 2);
|
||||||
text->writeShadowed(anchorItem + despX, anchor3 + spaceBetweenItemLines * 0, lang->getText(17), shdwTxtColor);
|
text->writeShadowed(anchorItem + despX, anchor3 + spaceBetweenItemLines * 0, lang->getText(17), shdwTxtColor);
|
||||||
text->writeShadowed(anchorItem + despX, anchor3 + spaceBetweenItemLines * 1, lang->getText(18), shdwTxtColor);
|
text->writeShadowed(anchorItem + despX, anchor3 + spaceBetweenItemLines * 1, lang->getText(18), shdwTxtColor);
|
||||||
text->writeShadowed(anchorItem + despX, anchor3 + spaceBetweenItemLines * 2, lang->getText(19), shdwTxtColor);
|
text->writeShadowed(anchorItem + despX, anchor3 + spaceBetweenItemLines * 2, lang->getText(19), shdwTxtColor);
|
||||||
@@ -194,7 +194,7 @@ void Instructions::fillTexture()
|
|||||||
|
|
||||||
// Da valor a la variable
|
// Da valor a la variable
|
||||||
spritePos.x = anchorItem;
|
spritePos.x = anchorItem;
|
||||||
spritePos.y = anchor3 - ((param->itemSize - text->getCharacterSize()) / 2);
|
spritePos.y = anchor3 - ((param->game.itemSize - text->getCharacterSize()) / 2);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Rellena el backbuffer
|
// Rellena el backbuffer
|
||||||
@@ -274,7 +274,7 @@ void Instructions::render()
|
|||||||
tiledbg->render();
|
tiledbg->render();
|
||||||
|
|
||||||
// Establece la ventana del backbuffer
|
// Establece la ventana del backbuffer
|
||||||
view.y = std::max(0, param->gameHeight - counter + 100);
|
view.y = std::max(0, param->game.height - counter + 100);
|
||||||
|
|
||||||
// Copia la textura y el backbuffer al renderizador
|
// Copia la textura y el backbuffer al renderizador
|
||||||
SDL_RenderCopy(renderer, backbuffer, nullptr, &view);
|
SDL_RenderCopy(renderer, backbuffer, nullptr, &view);
|
||||||
|
|||||||
@@ -46,7 +46,7 @@ Intro::Intro(Screen *screen, Asset *asset, Input *input, Lang *lang, param_t *pa
|
|||||||
bitmaps[0]->setAccelY(0.0f);
|
bitmaps[0]->setAccelY(0.0f);
|
||||||
bitmaps[0]->setSpriteClip(0, 0, 128, 96);
|
bitmaps[0]->setSpriteClip(0, 0, 128, 96);
|
||||||
|
|
||||||
bitmaps[1]->setPosX(param->gameWidth);
|
bitmaps[1]->setPosX(param->game.width);
|
||||||
bitmaps[1]->setPosY(GAMECANVAS_FIRST_QUARTER_Y - 24);
|
bitmaps[1]->setPosY(GAMECANVAS_FIRST_QUARTER_Y - 24);
|
||||||
bitmaps[1]->setVelX(-1.0f);
|
bitmaps[1]->setVelX(-1.0f);
|
||||||
bitmaps[1]->setVelY(0.0f);
|
bitmaps[1]->setVelY(0.0f);
|
||||||
@@ -64,7 +64,7 @@ Intro::Intro(Screen *screen, Asset *asset, Input *input, Lang *lang, param_t *pa
|
|||||||
bitmaps[2]->setEnabledCounter(250);
|
bitmaps[2]->setEnabledCounter(250);
|
||||||
|
|
||||||
bitmaps[3]->setPosX(GAMECANVAS_CENTER_X - 64);
|
bitmaps[3]->setPosX(GAMECANVAS_CENTER_X - 64);
|
||||||
bitmaps[3]->setPosY(param->gameHeight);
|
bitmaps[3]->setPosY(param->game.height);
|
||||||
bitmaps[3]->setVelX(0.0f);
|
bitmaps[3]->setVelX(0.0f);
|
||||||
bitmaps[3]->setVelY(-0.7f);
|
bitmaps[3]->setVelY(-0.7f);
|
||||||
bitmaps[3]->setAccelX(0.0f);
|
bitmaps[3]->setAccelX(0.0f);
|
||||||
@@ -79,7 +79,7 @@ Intro::Intro(Screen *screen, Asset *asset, Input *input, Lang *lang, param_t *pa
|
|||||||
bitmaps[4]->setAccelY(0.3f);
|
bitmaps[4]->setAccelY(0.3f);
|
||||||
bitmaps[4]->setSpriteClip(0, 192, 128, 96);
|
bitmaps[4]->setSpriteClip(0, 192, 128, 96);
|
||||||
|
|
||||||
bitmaps[5]->setPosX(param->gameWidth);
|
bitmaps[5]->setPosX(param->game.width);
|
||||||
bitmaps[5]->setPosY(GAMECANVAS_FIRST_QUARTER_Y - 24);
|
bitmaps[5]->setPosY(GAMECANVAS_FIRST_QUARTER_Y - 24);
|
||||||
bitmaps[5]->setVelX(-0.7f);
|
bitmaps[5]->setVelX(-0.7f);
|
||||||
bitmaps[5]->setVelY(0.0f);
|
bitmaps[5]->setVelY(0.0f);
|
||||||
@@ -93,7 +93,7 @@ Intro::Intro(Screen *screen, Asset *asset, Input *input, Lang *lang, param_t *pa
|
|||||||
{
|
{
|
||||||
Writer *w = new Writer(text);
|
Writer *w = new Writer(text);
|
||||||
w->setPosX(BLOCK * 0);
|
w->setPosX(BLOCK * 0);
|
||||||
w->setPosY(param->gameHeight - (BLOCK * 6));
|
w->setPosY(param->game.height - (BLOCK * 6));
|
||||||
w->setKerning(-1);
|
w->setKerning(-1);
|
||||||
w->setEnabled(false);
|
w->setEnabled(false);
|
||||||
w->setEnabledCounter(180);
|
w->setEnabledCounter(180);
|
||||||
|
|||||||
@@ -9,30 +9,30 @@ bool setOptions(param_t *param, std::string var, std::string value);
|
|||||||
void initParam(param_t *param)
|
void initParam(param_t *param)
|
||||||
{
|
{
|
||||||
// GAME
|
// GAME
|
||||||
param->gameWidth = 320;
|
param->game.width = 320;
|
||||||
param->gameHeight = 240;
|
param->game.height = 240;
|
||||||
param->itemSize = 20;
|
param->game.itemSize = 20;
|
||||||
|
|
||||||
// SCOREBOARD
|
// SCOREBOARD
|
||||||
param->scoreboard = {0, 200, 320, 40};
|
param->scoreboard = {0, 200, 320, 40};
|
||||||
|
|
||||||
// FADE
|
// FADE
|
||||||
param->numSquaresWidth = 160;
|
param->fade.numSquaresWidth = 160;
|
||||||
param->numSquaresHeight = 120;
|
param->fade.numSquaresHeight = 120;
|
||||||
param->fadeRandomSquaresDelay = 1;
|
param->fade.randomSquaresDelay = 1;
|
||||||
param->fadeRandomSquaresMult = 500;
|
param->fade.randomSquaresMult = 500;
|
||||||
param->fadePostDuration = 80;
|
param->fade.postDuration = 80;
|
||||||
param->venetianSize = 16;
|
param->fade.venetianSize = 16;
|
||||||
|
|
||||||
// TITLE
|
// TITLE
|
||||||
param->pressStart = 160;
|
param->title.pressStartPosition = 160;
|
||||||
param->titleCounter = 800;
|
param->title.titleDuration = 800;
|
||||||
param->arcadeEdition = 123;
|
param->title.arcadeEditionPosition = 123;
|
||||||
param->titleCC = 11;
|
param->title.titleCCPosition = 11;
|
||||||
|
|
||||||
// BACKGROUND
|
// BACKGROUND
|
||||||
param->backgroundAttenuateColor = {255, 255, 255};
|
param->background.attenuateColor = {255, 255, 255};
|
||||||
param->backgroundAttenuateAlpha = 32;
|
param->background.attenuateAlpha = 32;
|
||||||
|
|
||||||
// BALLOONS
|
// BALLOONS
|
||||||
param->balloon1.vel = 2.60f;
|
param->balloon1.vel = 2.60f;
|
||||||
@@ -139,50 +139,50 @@ bool setOptions(param_t *param, std::string var, std::string value)
|
|||||||
bool success = true;
|
bool success = true;
|
||||||
|
|
||||||
// GAME
|
// GAME
|
||||||
if (var == "gameWidth")
|
if (var == "game.width")
|
||||||
{
|
{
|
||||||
param->gameWidth = std::stoi(value);
|
param->game.width = std::stoi(value);
|
||||||
}
|
}
|
||||||
|
|
||||||
else if (var == "gameHeight")
|
else if (var == "game.height")
|
||||||
{
|
{
|
||||||
param->gameHeight = std::stoi(value);
|
param->game.height = std::stoi(value);
|
||||||
}
|
}
|
||||||
|
|
||||||
else if (var == "itemSize")
|
else if (var == "game.itemSize")
|
||||||
{
|
{
|
||||||
param->itemSize = std::stoi(value);
|
param->game.itemSize = std::stoi(value);
|
||||||
}
|
}
|
||||||
|
|
||||||
// FADE
|
// FADE
|
||||||
else if (var == "numSquaresWidth")
|
else if (var == "fade.numSquaresWidth")
|
||||||
{
|
{
|
||||||
param->numSquaresWidth = std::stoi(value);
|
param->fade.numSquaresWidth = std::stoi(value);
|
||||||
}
|
}
|
||||||
|
|
||||||
else if (var == "numSquaresHeight")
|
else if (var == "fade.numSquaresHeight")
|
||||||
{
|
{
|
||||||
param->numSquaresHeight = std::stoi(value);
|
param->fade.numSquaresHeight = std::stoi(value);
|
||||||
}
|
}
|
||||||
|
|
||||||
else if (var == "fadeRandomSquaresDelay")
|
else if (var == "fade.randomSquaresDelay")
|
||||||
{
|
{
|
||||||
param->fadeRandomSquaresDelay = std::stoi(value);
|
param->fade.randomSquaresDelay = std::stoi(value);
|
||||||
}
|
}
|
||||||
|
|
||||||
else if (var == "fadeRandomSquaresMult")
|
else if (var == "fade.randomSquaresMult")
|
||||||
{
|
{
|
||||||
param->fadeRandomSquaresMult = std::stoi(value);
|
param->fade.randomSquaresMult = std::stoi(value);
|
||||||
}
|
}
|
||||||
|
|
||||||
else if (var == "fadePostDuration")
|
else if (var == "fade.postDuration")
|
||||||
{
|
{
|
||||||
param->fadePostDuration = std::stoi(value);
|
param->fade.postDuration = std::stoi(value);
|
||||||
}
|
}
|
||||||
|
|
||||||
else if (var == "venetianSize")
|
else if (var == "fade.venetianSize")
|
||||||
{
|
{
|
||||||
param->venetianSize = std::stoi(value);
|
param->fade.venetianSize = std::stoi(value);
|
||||||
}
|
}
|
||||||
|
|
||||||
// SCOREBOARD
|
// SCOREBOARD
|
||||||
@@ -207,45 +207,45 @@ bool setOptions(param_t *param, std::string var, std::string value)
|
|||||||
}
|
}
|
||||||
|
|
||||||
// TITLE
|
// TITLE
|
||||||
else if (var == "pressStart")
|
else if (var == "title.pressStartPosition")
|
||||||
{
|
{
|
||||||
param->pressStart = std::stoi(value);
|
param->title.pressStartPosition = std::stoi(value);
|
||||||
}
|
}
|
||||||
|
|
||||||
else if (var == "titleCounter")
|
else if (var == "title.titleDuration")
|
||||||
{
|
{
|
||||||
param->titleCounter = std::stoi(value);
|
param->title.titleDuration = std::stoi(value);
|
||||||
}
|
}
|
||||||
|
|
||||||
else if (var == "arcadeEdition")
|
else if (var == "title.arcadeEditionPosition")
|
||||||
{
|
{
|
||||||
param->arcadeEdition = std::stoi(value);
|
param->title.arcadeEditionPosition = std::stoi(value);
|
||||||
}
|
}
|
||||||
|
|
||||||
else if (var == "titleCC")
|
else if (var == "title.titleCCPosition")
|
||||||
{
|
{
|
||||||
param->titleCC = std::stoi(value);
|
param->title.titleCCPosition = std::stoi(value);
|
||||||
}
|
}
|
||||||
|
|
||||||
// BACKGROUND
|
// BACKGROUND
|
||||||
else if (var == "backgroundAttenuateColor.r")
|
else if (var == "background.attenuateColor.r")
|
||||||
{
|
{
|
||||||
param->backgroundAttenuateColor.r = std::stoi(value);
|
param->background.attenuateColor.r = std::stoi(value);
|
||||||
}
|
}
|
||||||
|
|
||||||
else if (var == "backgroundAttenuateColor.g")
|
else if (var == "background.attenuateColor.g")
|
||||||
{
|
{
|
||||||
param->backgroundAttenuateColor.g = std::stoi(value);
|
param->background.attenuateColor.g = std::stoi(value);
|
||||||
}
|
}
|
||||||
|
|
||||||
else if (var == "backgroundAttenuateColor.b")
|
else if (var == "background.attenuateColor.b")
|
||||||
{
|
{
|
||||||
param->backgroundAttenuateColor.b = std::stoi(value);
|
param->background.attenuateColor.b = std::stoi(value);
|
||||||
}
|
}
|
||||||
|
|
||||||
else if (var == "backgroundAttenuateColor.a")
|
else if (var == "background.attenuateAlpha")
|
||||||
{
|
{
|
||||||
param->backgroundAttenuateAlpha = std::stoi(value);
|
param->background.attenuateAlpha = std::stoi(value);
|
||||||
}
|
}
|
||||||
|
|
||||||
// BALLOON
|
// BALLOON
|
||||||
|
|||||||
@@ -16,7 +16,7 @@ Logo::Logo(Screen *screen, Asset *asset, Input *input, param_t *param, section_t
|
|||||||
eventHandler = new SDL_Event();
|
eventHandler = new SDL_Event();
|
||||||
jailTexture = new Texture(renderer, asset->get("logo_jailgames.png"));
|
jailTexture = new Texture(renderer, asset->get("logo_jailgames.png"));
|
||||||
sinceTexture = new Texture(renderer, asset->get("logo_since_1998.png"));
|
sinceTexture = new Texture(renderer, asset->get("logo_since_1998.png"));
|
||||||
sinceSprite = new Sprite((param->gameWidth - sinceTexture->getWidth()) / 2, 83 + jailTexture->getHeight() + 5, sinceTexture->getWidth(), sinceTexture->getHeight(), sinceTexture);
|
sinceSprite = new Sprite((param->game.width - sinceTexture->getWidth()) / 2, 83 + jailTexture->getHeight() + 5, sinceTexture->getWidth(), sinceTexture->getHeight(), sinceTexture);
|
||||||
|
|
||||||
// Inicializa variables
|
// Inicializa variables
|
||||||
counter = 0;
|
counter = 0;
|
||||||
@@ -40,7 +40,7 @@ Logo::Logo(Screen *screen, Asset *asset, Input *input, param_t *param, section_t
|
|||||||
{
|
{
|
||||||
Sprite *temp = new Sprite(0, i, jailTexture->getWidth(), 1, jailTexture);
|
Sprite *temp = new Sprite(0, i, jailTexture->getWidth(), 1, jailTexture);
|
||||||
temp->setSpriteClip(0, i, jailTexture->getWidth(), 1);
|
temp->setSpriteClip(0, i, jailTexture->getWidth(), 1);
|
||||||
const int posX = (i % 2 == 0) ? param->gameWidth + (i * 3) : -jailTexture->getWidth() - (i * 3);
|
const int posX = (i % 2 == 0) ? param->game.width + (i * 3) : -jailTexture->getWidth() - (i * 3);
|
||||||
temp->setPosX(posX);
|
temp->setPosX(posX);
|
||||||
temp->setPosY(dest.y + i);
|
temp->setPosY(dest.y + i);
|
||||||
jailSprite.push_back(temp);
|
jailSprite.push_back(temp);
|
||||||
|
|||||||
@@ -26,9 +26,9 @@ Title::Title(Screen *screen, Asset *asset, Input *input, options_t *options, Lan
|
|||||||
miniLogoTexture = new Texture(renderer, asset->get("logo_jailgames_mini.png"));
|
miniLogoTexture = new Texture(renderer, asset->get("logo_jailgames_mini.png"));
|
||||||
miniLogoSprite = new Sprite(GAMECANVAS_CENTER_X - miniLogoTexture->getWidth() / 2, 0, miniLogoTexture->getWidth(), miniLogoTexture->getHeight(), miniLogoTexture);
|
miniLogoSprite = new Sprite(GAMECANVAS_CENTER_X - miniLogoTexture->getWidth() / 2, 0, miniLogoTexture->getWidth(), miniLogoTexture->getHeight(), miniLogoTexture);
|
||||||
|
|
||||||
tiledbg = new Tiledbg(renderer, asset, {0, 0, param->gameWidth, param->gameHeight}, TILED_MODE_RANDOM);
|
tiledbg = new Tiledbg(renderer, asset, {0, 0, param->game.width, param->game.height}, TILED_MODE_RANDOM);
|
||||||
|
|
||||||
gameLogo = new GameLogo(renderer, screen, asset, param, GAMECANVAS_CENTER_X, param->titleCC);
|
gameLogo = new GameLogo(renderer, screen, asset, param, GAMECANVAS_CENTER_X, param->title.titleCCPosition);
|
||||||
gameLogo->enable();
|
gameLogo->enable();
|
||||||
|
|
||||||
defineButtons = new DefineButtons(input, text2, param, options, section);
|
defineButtons = new DefineButtons(input, text2, param, options, section);
|
||||||
@@ -67,7 +67,7 @@ void Title::init()
|
|||||||
ticksSpeed = 15;
|
ticksSpeed = 15;
|
||||||
fade->setColor(fadeColor.r, fadeColor.g, fadeColor.b);
|
fade->setColor(fadeColor.r, fadeColor.g, fadeColor.b);
|
||||||
fade->setType(FADE_RANDOM_SQUARE);
|
fade->setType(FADE_RANDOM_SQUARE);
|
||||||
fade->setPost(param->fadePostDuration);
|
fade->setPost(param->fade.postDuration);
|
||||||
demo = true;
|
demo = true;
|
||||||
numControllers = input->getNumControllers();
|
numControllers = input->getNumControllers();
|
||||||
}
|
}
|
||||||
@@ -145,7 +145,7 @@ void Title::update()
|
|||||||
// Actualiza el mosaico de fondo
|
// Actualiza el mosaico de fondo
|
||||||
tiledbg->update();
|
tiledbg->update();
|
||||||
|
|
||||||
if (counter == param->titleCounter)
|
if (counter == param->title.titleDuration)
|
||||||
{
|
{
|
||||||
fade->activate();
|
fade->activate();
|
||||||
postFade = 3;
|
postFade = 3;
|
||||||
@@ -175,11 +175,11 @@ void Title::render()
|
|||||||
// 'PULSA 1P o 2P PARA JUGAR'
|
// 'PULSA 1P o 2P PARA JUGAR'
|
||||||
if (counter % 50 > 14 && !defineButtons->isEnabled())
|
if (counter % 50 > 14 && !defineButtons->isEnabled())
|
||||||
{
|
{
|
||||||
text1->writeDX(TXT_CENTER | TXT_SHADOW, GAMECANVAS_CENTER_X, param->pressStart, lang->getText(23), 1, noColor, 1, shadow);
|
text1->writeDX(TXT_CENTER | TXT_SHADOW, GAMECANVAS_CENTER_X, param->title.pressStartPosition, lang->getText(23), 1, noColor, 1, shadow);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Mini logo
|
// Mini logo
|
||||||
const int pos1 = (param->gameHeight / 5 * 4) + BLOCK;
|
const int pos1 = (param->game.height / 5 * 4) + BLOCK;
|
||||||
const int pos2 = pos1 + miniLogoSprite->getHeight() + 3;
|
const int pos2 = pos1 + miniLogoSprite->getHeight() + 3;
|
||||||
miniLogoSprite->setPosY(pos1);
|
miniLogoSprite->setPosY(pos1);
|
||||||
miniLogoSprite->render();
|
miniLogoSprite->render();
|
||||||
|
|||||||
Reference in New Issue
Block a user