Commitet pa valgrind, he aprofitat i posat mes make_unique i enum class
This commit is contained in:
@@ -7,11 +7,8 @@
|
|||||||
#include "utils.h" // for param_t, paramGame_t, paramFade_t
|
#include "utils.h" // for param_t, paramGame_t, paramFade_t
|
||||||
|
|
||||||
// Constructor
|
// Constructor
|
||||||
Fade::Fade(SDL_Renderer *renderer)
|
Fade::Fade(SDL_Renderer *renderer) : renderer(renderer)
|
||||||
{
|
{
|
||||||
// Copia punteros y objetos
|
|
||||||
this->renderer = renderer;
|
|
||||||
|
|
||||||
// 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.game.width, param.game.height);
|
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);
|
||||||
@@ -30,8 +27,8 @@ Fade::~Fade()
|
|||||||
// Inicializa las variables
|
// Inicializa las variables
|
||||||
void Fade::init()
|
void Fade::init()
|
||||||
{
|
{
|
||||||
type = FADE_CENTER;
|
type = fadeType::CENTER;
|
||||||
mode = FADE_OUT;
|
mode = fadeMode::OUT;
|
||||||
enabled = false;
|
enabled = false;
|
||||||
finished = false;
|
finished = false;
|
||||||
counter = 0;
|
counter = 0;
|
||||||
@@ -70,13 +67,10 @@ void Fade::update()
|
|||||||
{
|
{
|
||||||
switch (type)
|
switch (type)
|
||||||
{
|
{
|
||||||
case FADE_FULLSCREEN:
|
case fadeType::FULLSCREEN:
|
||||||
{
|
{
|
||||||
// Modifica la transparencia de la
|
// Modifica la transparencia
|
||||||
if (mode == FADE_OUT)
|
a = mode == fadeMode::OUT ? std::min(counter * 4, 255) : 255 - std::min(counter * 4, 255);
|
||||||
a = std::min(counter * 4, 255);
|
|
||||||
else
|
|
||||||
a = 255 - std::min(counter * 4, 255);
|
|
||||||
|
|
||||||
SDL_SetTextureAlphaMod(backbuffer, a);
|
SDL_SetTextureAlphaMod(backbuffer, a);
|
||||||
|
|
||||||
@@ -89,10 +83,10 @@ void Fade::update()
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
case FADE_CENTER:
|
case fadeType::CENTER:
|
||||||
{
|
{
|
||||||
// Dibuja sobre el backbuffer
|
// Dibuja sobre el backbuffer
|
||||||
SDL_Texture *temp = SDL_GetRenderTarget(renderer);
|
auto *temp = SDL_GetRenderTarget(renderer);
|
||||||
SDL_SetRenderTarget(renderer, backbuffer);
|
SDL_SetRenderTarget(renderer, backbuffer);
|
||||||
|
|
||||||
SDL_SetRenderDrawColor(renderer, r, g, b, a);
|
SDL_SetRenderDrawColor(renderer, r, g, b, a);
|
||||||
@@ -118,12 +112,12 @@ void Fade::update()
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
case FADE_RANDOM_SQUARE:
|
case fadeType::RANDOM_SQUARE:
|
||||||
{
|
{
|
||||||
if (counter % fadeRandomSquaresDelay == 0)
|
if (counter % fadeRandomSquaresDelay == 0)
|
||||||
{
|
{
|
||||||
// Dibuja sobre el backbuffer
|
// Dibuja sobre el backbuffer
|
||||||
SDL_Texture *temp = SDL_GetRenderTarget(renderer);
|
auto *temp = SDL_GetRenderTarget(renderer);
|
||||||
SDL_SetRenderTarget(renderer, backbuffer);
|
SDL_SetRenderTarget(renderer, backbuffer);
|
||||||
|
|
||||||
SDL_SetRenderDrawBlendMode(renderer, SDL_BLENDMODE_NONE);
|
SDL_SetRenderDrawBlendMode(renderer, SDL_BLENDMODE_NONE);
|
||||||
@@ -152,13 +146,13 @@ void Fade::update()
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
case FADE_VENETIAN:
|
case fadeType::VENETIAN:
|
||||||
{
|
{
|
||||||
// Counter debe ir de 0 a 150
|
// Counter debe ir de 0 a 150
|
||||||
if (square.back().h < param.fade.venetianSize)
|
if (square.back().h < param.fade.venetianSize)
|
||||||
{
|
{
|
||||||
// Dibuja sobre el backbuffer
|
// Dibuja sobre el backbuffer
|
||||||
SDL_Texture *temp = SDL_GetRenderTarget(renderer);
|
auto *temp = SDL_GetRenderTarget(renderer);
|
||||||
SDL_SetRenderTarget(renderer, backbuffer);
|
SDL_SetRenderTarget(renderer, backbuffer);
|
||||||
|
|
||||||
SDL_SetRenderDrawColor(renderer, r, g, b, a);
|
SDL_SetRenderDrawColor(renderer, r, g, b, a);
|
||||||
@@ -170,11 +164,11 @@ void Fade::update()
|
|||||||
// Deja el renderizador como estaba
|
// Deja el renderizador como estaba
|
||||||
SDL_SetRenderTarget(renderer, temp);
|
SDL_SetRenderTarget(renderer, temp);
|
||||||
|
|
||||||
const Uint8 h = counter / 3;
|
const auto h = counter / 3;
|
||||||
for (int i = 0; i < (int)square.size(); ++i)
|
for (int i = 0; i < (int)square.size(); ++i)
|
||||||
{
|
{
|
||||||
// A partir del segundo rectangulo se pinta en función del anterior
|
// A partir del segundo rectangulo se pinta en función del anterior
|
||||||
i == 0 ? square[i].h = h : square[i].h = std::max(square[i - 1].h - 3, 0);
|
square[i].h = i == 0 ? h : std::max(square[i - 1].h - 3, 0);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@@ -215,14 +209,14 @@ void Fade::activate()
|
|||||||
|
|
||||||
switch (type)
|
switch (type)
|
||||||
{
|
{
|
||||||
case FADE_FULLSCREEN:
|
case fadeType::FULLSCREEN:
|
||||||
{
|
{
|
||||||
// Pinta el backbuffer de color sólido
|
// Pinta el backbuffer de color sólido
|
||||||
cleanBackbuffer(r, g, b, 255);
|
cleanBackbuffer(r, g, b, 255);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
case FADE_CENTER:
|
case fadeType::CENTER:
|
||||||
{
|
{
|
||||||
rect1 = {0, 0, param.game.width, 0};
|
rect1 = {0, 0, param.game.width, 0};
|
||||||
rect2 = {0, 0, param.game.width, 0};
|
rect2 = {0, 0, param.game.width, 0};
|
||||||
@@ -230,7 +224,7 @@ void Fade::activate()
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
case FADE_RANDOM_SQUARE:
|
case fadeType::RANDOM_SQUARE:
|
||||||
{
|
{
|
||||||
rect1 = {0, 0, param.game.width / numSquaresWidth, param.game.height / numSquaresHeight};
|
rect1 = {0, 0, param.game.width / numSquaresWidth, param.game.height / numSquaresHeight};
|
||||||
square.clear();
|
square.clear();
|
||||||
@@ -244,10 +238,10 @@ void Fade::activate()
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Desordena el vector de cuadrados
|
// Desordena el vector de cuadrados
|
||||||
int num = numSquaresWidth * numSquaresHeight;
|
auto num = numSquaresWidth * numSquaresHeight;
|
||||||
while (num > 1)
|
while (num > 1)
|
||||||
{
|
{
|
||||||
int num_arreu = rand() % num;
|
auto num_arreu = rand() % num;
|
||||||
SDL_Rect temp = square[num_arreu];
|
SDL_Rect temp = square[num_arreu];
|
||||||
square[num_arreu] = square[num - 1];
|
square[num_arreu] = square[num - 1];
|
||||||
square[num - 1] = temp;
|
square[num - 1] = temp;
|
||||||
@@ -255,20 +249,20 @@ void Fade::activate()
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Limpia la textura
|
// Limpia la textura
|
||||||
SDL_Texture *temp = SDL_GetRenderTarget(renderer);
|
auto *temp = SDL_GetRenderTarget(renderer);
|
||||||
SDL_SetRenderTarget(renderer, backbuffer);
|
SDL_SetRenderTarget(renderer, backbuffer);
|
||||||
a = mode == FADE_OUT ? 0 : 255;
|
a = mode == fadeMode::OUT ? 0 : 255;
|
||||||
SDL_SetRenderDrawColor(renderer, r, g, b, a);
|
SDL_SetRenderDrawColor(renderer, r, g, b, a);
|
||||||
SDL_RenderClear(renderer);
|
SDL_RenderClear(renderer);
|
||||||
SDL_SetRenderTarget(renderer, temp);
|
SDL_SetRenderTarget(renderer, temp);
|
||||||
|
|
||||||
// Deja el color listo para usar
|
// Deja el color listo para usar
|
||||||
a = mode == FADE_OUT ? 255 : 0;
|
a = mode == fadeMode::OUT ? 255 : 0;
|
||||||
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
case FADE_VENETIAN:
|
case fadeType::VENETIAN:
|
||||||
{
|
{
|
||||||
cleanBackbuffer(0, 0, 0, 0);
|
cleanBackbuffer(0, 0, 0, 0);
|
||||||
rect1 = {0, 0, param.game.width, 0};
|
rect1 = {0, 0, param.game.width, 0};
|
||||||
@@ -290,26 +284,26 @@ void Fade::activate()
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Comprueba si está activo
|
// Comprueba si está activo
|
||||||
bool Fade::isEnabled()
|
bool Fade::isEnabled() const
|
||||||
{
|
{
|
||||||
return enabled;
|
return enabled;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Comprueba si ha terminado la transicion
|
// Comprueba si ha terminado la transicion
|
||||||
bool Fade::hasEnded()
|
bool Fade::hasEnded() const
|
||||||
{
|
{
|
||||||
// Ha terminado cuando ha finalizado la transición y se ha deshabilitado
|
// Ha terminado cuando ha finalizado la transición y se ha deshabilitado
|
||||||
return !enabled && finished;
|
return !enabled && finished;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Establece el tipo de fade
|
// Establece el tipo de fade
|
||||||
void Fade::setType(Uint8 type)
|
void Fade::setType(fadeType type)
|
||||||
{
|
{
|
||||||
this->type = type;
|
this->type = type;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Establece el modo de fade
|
// Establece el modo de fade
|
||||||
void Fade::setMode(Uint8 mode)
|
void Fade::setMode(fadeMode mode)
|
||||||
{
|
{
|
||||||
this->mode = mode;
|
this->mode = mode;
|
||||||
}
|
}
|
||||||
@@ -329,10 +323,10 @@ void Fade::setPost(int value)
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Limpia el backbuffer
|
// Limpia el backbuffer
|
||||||
void Fade::cleanBackbuffer(int r, int g, int b, int a)
|
void Fade::cleanBackbuffer(Uint8 r, Uint8 g, Uint8 b, Uint8 a)
|
||||||
{
|
{
|
||||||
// Dibujamos sobre el backbuffer
|
// Dibujamos sobre el backbuffer
|
||||||
SDL_Texture *temp = SDL_GetRenderTarget(renderer);
|
auto *temp = SDL_GetRenderTarget(renderer);
|
||||||
SDL_SetRenderTarget(renderer, backbuffer);
|
SDL_SetRenderTarget(renderer, backbuffer);
|
||||||
|
|
||||||
// Pintamos la textura con el color del fade
|
// Pintamos la textura con el color del fade
|
||||||
|
|||||||
@@ -6,14 +6,20 @@
|
|||||||
#include <vector> // for vector
|
#include <vector> // for vector
|
||||||
|
|
||||||
// Tipos de fundido
|
// Tipos de fundido
|
||||||
#define FADE_FULLSCREEN 0
|
enum class fadeType
|
||||||
#define FADE_CENTER 1
|
{
|
||||||
#define FADE_RANDOM_SQUARE 2
|
FULLSCREEN = 0,
|
||||||
#define FADE_VENETIAN 3
|
CENTER = 1,
|
||||||
|
RANDOM_SQUARE = 2,
|
||||||
|
VENETIAN = 3,
|
||||||
|
};
|
||||||
|
|
||||||
// Modos de fundido
|
// Modos de fundido
|
||||||
#define FADE_IN 0
|
enum class fadeMode
|
||||||
#define FADE_OUT 1
|
{
|
||||||
|
IN = 0,
|
||||||
|
OUT = 1,
|
||||||
|
};
|
||||||
|
|
||||||
// Clase Fade
|
// Clase Fade
|
||||||
class Fade
|
class Fade
|
||||||
@@ -24,17 +30,17 @@ private:
|
|||||||
SDL_Texture *backbuffer; // Textura para usar como backbuffer con SDL_TEXTUREACCESS_TARGET
|
SDL_Texture *backbuffer; // Textura para usar como backbuffer con SDL_TEXTUREACCESS_TARGET
|
||||||
|
|
||||||
// Variables
|
// Variables
|
||||||
Uint8 type; // Tipo de fade a realizar
|
fadeType type; // Tipo de fade a realizar
|
||||||
Uint8 mode; // Modo de fade a realizar
|
fadeMode mode; // Modo de fade a realizar
|
||||||
Uint16 counter; // Contador interno
|
Uint16 counter; // Contador interno
|
||||||
bool enabled; // Indica si el fade está activo
|
bool enabled; // Indica si el fade está activo
|
||||||
bool finished; // Indica si ha terminado la transición
|
bool finished; // Indica si ha terminado la transición
|
||||||
Uint8 r, g, b, a; // Colores para el fade
|
Uint8 r, g, b, a; // Colores para el fade
|
||||||
SDL_Rect rect1; // Rectangulo usado para crear los efectos de transición
|
SDL_Rect rect1; // Rectangulo usado para crear los efectos de transición
|
||||||
SDL_Rect rect2; // Rectangulo usado para crear los efectos de transición
|
SDL_Rect rect2; // Rectangulo usado para crear los efectos de transición
|
||||||
int numSquaresWidth; // Cantidad total de cuadraditos en horizontal para el FADE_RANDOM_SQUARE
|
int numSquaresWidth; // Cantidad total de cuadraditos en horizontal para el fadeType::RANDOM_SQUARE
|
||||||
int numSquaresHeight; // Cantidad total de cuadraditos en vertical para el FADE_RANDOM_SQUARE
|
int numSquaresHeight; // Cantidad total de cuadraditos en vertical para el fadeType::RANDOM_SQUARE
|
||||||
std::vector<SDL_Rect> square; // Vector con los indices de los cuadrados para el FADE_RANDOM_SQUARE
|
std::vector<SDL_Rect> square; // Vector con los indices de los cuadrados para el fadeType::RANDOM_SQUARE
|
||||||
int fadeRandomSquaresDelay; // Duración entre cada pintado de cuadrados
|
int fadeRandomSquaresDelay; // Duración entre cada pintado de cuadrados
|
||||||
int fadeRandomSquaresMult; // Cantidad de cuadrados que se pintaran cada vez
|
int fadeRandomSquaresMult; // Cantidad de cuadrados que se pintaran cada vez
|
||||||
int postDuration; // Duración posterior del fade tras finalizar
|
int postDuration; // Duración posterior del fade tras finalizar
|
||||||
@@ -44,7 +50,7 @@ private:
|
|||||||
void init();
|
void init();
|
||||||
|
|
||||||
// Limpia el backbuffer
|
// Limpia el backbuffer
|
||||||
void cleanBackbuffer(int r, int g, int b, int a);
|
void cleanBackbuffer(Uint8 r, Uint8 g, Uint8 b, Uint8 a);
|
||||||
|
|
||||||
public:
|
public:
|
||||||
// Constructor
|
// Constructor
|
||||||
@@ -66,16 +72,16 @@ public:
|
|||||||
void activate();
|
void activate();
|
||||||
|
|
||||||
// Comprueba si ha terminado la transicion
|
// Comprueba si ha terminado la transicion
|
||||||
bool hasEnded();
|
bool hasEnded() const;
|
||||||
|
|
||||||
// Comprueba si está activo
|
// Comprueba si está activo
|
||||||
bool isEnabled();
|
bool isEnabled() const;
|
||||||
|
|
||||||
// Establece el tipo de fade
|
// Establece el tipo de fade
|
||||||
void setType(Uint8 type);
|
void setType(fadeType type);
|
||||||
|
|
||||||
// Establece el modo de fade
|
// Establece el modo de fade
|
||||||
void setMode(Uint8 mode);
|
void setMode(fadeMode mode);
|
||||||
|
|
||||||
// Establece el color del fade
|
// Establece el color del fade
|
||||||
void setColor(Uint8 r, Uint8 g, Uint8 b);
|
void setColor(Uint8 r, Uint8 g, Uint8 b);
|
||||||
|
|||||||
@@ -15,7 +15,7 @@
|
|||||||
#include "bullet.h" // for Bullet, BulletType::LEFT, BulletType::RIGHT
|
#include "bullet.h" // for Bullet, BulletType::LEFT, BulletType::RIGHT
|
||||||
#include "enemy_formations.h" // for stage_t, EnemyFormations, enemyIni...
|
#include "enemy_formations.h" // for stage_t, EnemyFormations, enemyIni...
|
||||||
#include "explosions.h" // for Explosions
|
#include "explosions.h" // for Explosions
|
||||||
#include "fade.h" // for Fade, FADE_RANDOM_SQUARE, FADE_VEN...
|
#include "fade.h" // for Fade, fadeType::RANDOM_SQUARE, FADE_VEN...
|
||||||
#include "global_inputs.h" // for globalInputs::check
|
#include "global_inputs.h" // for globalInputs::check
|
||||||
#include "input.h" // for inputs_e, Input, INPUT_DO_NOT_ALLO...
|
#include "input.h" // for inputs_e, Input, INPUT_DO_NOT_ALLO...
|
||||||
#include "item.h" // for Item, ITEM_COFFEE_MACHINE, ITEM_CLOCK
|
#include "item.h" // for Item, ITEM_COFFEE_MACHINE, ITEM_CLOCK
|
||||||
@@ -297,7 +297,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.fade.postDuration);
|
fade->setPost(param.fade.postDuration);
|
||||||
fade->setType(FADE_VENETIAN);
|
fade->setType(fadeType::VENETIAN);
|
||||||
|
|
||||||
// Con los globos creados, calcula el nivel de amenaza
|
// Con los globos creados, calcula el nivel de amenaza
|
||||||
evaluateAndSetMenace();
|
evaluateAndSetMenace();
|
||||||
@@ -861,7 +861,7 @@ void Game::updatePlayers()
|
|||||||
|
|
||||||
if (demo.enabled && allPlayersAreNotPlaying())
|
if (demo.enabled && allPlayersAreNotPlaying())
|
||||||
{
|
{
|
||||||
fade->setType(FADE_RANDOM_SQUARE);
|
fade->setType(fadeType::RANDOM_SQUARE);
|
||||||
fade->activate();
|
fade->activate();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1840,7 +1840,7 @@ void Game::update()
|
|||||||
// Activa el fundido antes de acabar con los datos de la demo
|
// Activa el fundido antes de acabar con los datos de la demo
|
||||||
if (demo.counter == TOTAL_DEMO_DATA - 200)
|
if (demo.counter == TOTAL_DEMO_DATA - 200)
|
||||||
{
|
{
|
||||||
fade->setType(FADE_RANDOM_SQUARE);
|
fade->setType(fadeType::RANDOM_SQUARE);
|
||||||
fade->activate();
|
fade->activate();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -7,7 +7,6 @@
|
|||||||
#include <vector> // for vector
|
#include <vector> // for vector
|
||||||
#include "asset.h" // for Asset
|
#include "asset.h" // for Asset
|
||||||
#include "background.h" // for Background
|
#include "background.h" // for Background
|
||||||
#include "fade.h" // for Fade, FADE_IN, FADE_OUT, FADE_RANDOM...
|
|
||||||
#include "global_inputs.h" // for globalInputs::check
|
#include "global_inputs.h" // for globalInputs::check
|
||||||
#include "input.h" // for Input
|
#include "input.h" // for Input
|
||||||
#include "jail_audio.h" // for JA_GetMusicState, JA_Music_state
|
#include "jail_audio.h" // for JA_GetMusicState, JA_Music_state
|
||||||
@@ -19,20 +18,19 @@
|
|||||||
#include "utils.h" // for param_t, paramGame_t, hiScoreEntry_t
|
#include "utils.h" // for param_t, paramGame_t, hiScoreEntry_t
|
||||||
|
|
||||||
// Constructor
|
// Constructor
|
||||||
HiScoreTable::HiScoreTable(JA_Music_t *music)
|
HiScoreTable::HiScoreTable(JA_Music_t *music) : music(music)
|
||||||
{
|
{
|
||||||
// Copia punteros
|
// Copia punteros
|
||||||
this->music = music;
|
|
||||||
asset = Asset::get();
|
asset = Asset::get();
|
||||||
input = Input::get();
|
input = Input::get();
|
||||||
screen = Screen::get();
|
screen = Screen::get();
|
||||||
renderer = screen->getRenderer();
|
renderer = screen->getRenderer();
|
||||||
|
|
||||||
// Objetos
|
// Objetos
|
||||||
eventHandler = new SDL_Event();
|
eventHandler = std::make_unique<SDL_Event>();
|
||||||
fade = new Fade(renderer);
|
fade = std::make_unique<Fade>(renderer);
|
||||||
background = new Background(renderer);
|
background = std::make_unique<Background>(renderer);
|
||||||
text = new Text(asset->get("smb2.gif"), asset->get("smb2.txt"), renderer);
|
text = std::make_unique<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.game.width, param.game.height);
|
backbuffer = SDL_CreateTexture(renderer, SDL_PIXELFORMAT_RGBA8888, SDL_TEXTUREACCESS_TARGET, param.game.width, param.game.height);
|
||||||
@@ -45,7 +43,7 @@ HiScoreTable::HiScoreTable(JA_Music_t *music)
|
|||||||
counter = 0;
|
counter = 0;
|
||||||
counterEnd = 800;
|
counterEnd = 800;
|
||||||
viewArea = {0, 0, param.game.width, param.game.height};
|
viewArea = {0, 0, param.game.width, param.game.height};
|
||||||
fadeMode = FADE_IN;
|
fadeMode = fadeMode::IN;
|
||||||
|
|
||||||
// Inicializa objetos
|
// Inicializa objetos
|
||||||
background->setPos(param.game.gameArea.rect);
|
background->setPos(param.game.gameArea.rect);
|
||||||
@@ -53,7 +51,7 @@ HiScoreTable::HiScoreTable(JA_Music_t *music)
|
|||||||
background->setGradientNumber(1);
|
background->setGradientNumber(1);
|
||||||
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(fadeType::RANDOM_SQUARE);
|
||||||
fade->setPost(param.fade.postDuration);
|
fade->setPost(param.fade.postDuration);
|
||||||
fade->setMode(fadeMode);
|
fade->setMode(fadeMode);
|
||||||
fade->activate();
|
fade->activate();
|
||||||
@@ -65,10 +63,6 @@ HiScoreTable::HiScoreTable(JA_Music_t *music)
|
|||||||
// Destructor
|
// Destructor
|
||||||
HiScoreTable::~HiScoreTable()
|
HiScoreTable::~HiScoreTable()
|
||||||
{
|
{
|
||||||
delete text;
|
|
||||||
delete eventHandler;
|
|
||||||
delete background;
|
|
||||||
|
|
||||||
SDL_DestroyTexture(backbuffer);
|
SDL_DestroyTexture(backbuffer);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -184,7 +178,7 @@ void HiScoreTable::reloadTextures()
|
|||||||
void HiScoreTable::checkEvents()
|
void HiScoreTable::checkEvents()
|
||||||
{
|
{
|
||||||
// Comprueba los eventos que hay en la cola
|
// Comprueba los eventos que hay en la cola
|
||||||
while (SDL_PollEvent(eventHandler) != 0)
|
while (SDL_PollEvent(eventHandler.get()) != 0)
|
||||||
{
|
{
|
||||||
// Evento de salida de la aplicación
|
// Evento de salida de la aplicación
|
||||||
if (eventHandler->type == SDL_QUIT)
|
if (eventHandler->type == SDL_QUIT)
|
||||||
@@ -281,14 +275,14 @@ void HiScoreTable::updateFade()
|
|||||||
{
|
{
|
||||||
fade->update();
|
fade->update();
|
||||||
|
|
||||||
if (fade->hasEnded() && fadeMode == FADE_IN)
|
if (fade->hasEnded() && fadeMode == fadeMode::IN)
|
||||||
{
|
{
|
||||||
fade->reset();
|
fade->reset();
|
||||||
fadeMode = FADE_OUT;
|
fadeMode = fadeMode::OUT;
|
||||||
fade->setMode(fadeMode);
|
fade->setMode(fadeMode);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (fade->hasEnded() && fadeMode == FADE_OUT)
|
if (fade->hasEnded() && fadeMode == fadeMode::OUT)
|
||||||
{
|
{
|
||||||
section::name = section::NAME_INSTRUCTIONS;
|
section::name = section::NAME_INSTRUCTIONS;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -4,14 +4,17 @@
|
|||||||
#include <SDL2/SDL_rect.h> // for SDL_Rect
|
#include <SDL2/SDL_rect.h> // for SDL_Rect
|
||||||
#include <SDL2/SDL_render.h> // for SDL_Renderer, SDL_Texture
|
#include <SDL2/SDL_render.h> // for SDL_Renderer, SDL_Texture
|
||||||
#include <SDL2/SDL_stdinc.h> // for Uint16, Uint32
|
#include <SDL2/SDL_stdinc.h> // for Uint16, Uint32
|
||||||
|
#include <memory>
|
||||||
#include <string> // for string
|
#include <string> // for string
|
||||||
|
#include "fade.h"
|
||||||
#include "section.h" // for options_e
|
#include "section.h" // for options_e
|
||||||
|
#include "background.h"
|
||||||
|
#include "text.h"
|
||||||
class Asset;
|
class Asset;
|
||||||
class Background;
|
|
||||||
class Fade;
|
|
||||||
class Input;
|
class Input;
|
||||||
class Screen;
|
class Screen;
|
||||||
class Text;
|
|
||||||
struct JA_Music_t;
|
struct JA_Music_t;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@@ -31,22 +34,23 @@ private:
|
|||||||
// Objetos y punteros
|
// Objetos y punteros
|
||||||
SDL_Renderer *renderer; // El renderizador de la ventana
|
SDL_Renderer *renderer; // El renderizador de la ventana
|
||||||
Screen *screen; // Objeto encargado de dibujar en pantalla
|
Screen *screen; // Objeto encargado de dibujar en pantalla
|
||||||
SDL_Event *eventHandler; // Manejador de eventos
|
|
||||||
SDL_Texture *backbuffer; // Textura para usar como backbuffer
|
SDL_Texture *backbuffer; // Textura para usar como backbuffer
|
||||||
Asset *asset; // Objeto que gestiona todos los ficheros de recursos
|
Asset *asset; // Objeto que gestiona todos los ficheros de recursos
|
||||||
Input *input; // Objeto pata gestionar la entrada
|
Input *input; // Objeto pata gestionar la entrada
|
||||||
Background *background; // Objeto para dibujar el fondo del juego
|
|
||||||
Fade *fade; // Objeto para renderizar fades
|
|
||||||
Text *text; // Objeto para escribir texto
|
|
||||||
JA_Music_t *music; // Musica de fondo
|
JA_Music_t *music; // Musica de fondo
|
||||||
|
|
||||||
|
std::unique_ptr<Fade> fade; // Objeto para renderizar fades
|
||||||
|
std::unique_ptr<Background> background; // Objeto para dibujar el fondo del juego
|
||||||
|
std::unique_ptr<SDL_Event> eventHandler; // Manejador de eventos
|
||||||
|
std::unique_ptr<Text> text; // Objeto para escribir texto
|
||||||
|
|
||||||
// Variables
|
// Variables
|
||||||
Uint16 counter; // Contador
|
Uint16 counter; // Contador
|
||||||
Uint16 counterEnd; // Valor final para el contador
|
Uint16 counterEnd; // Valor final para el contador
|
||||||
Uint32 ticks; // Contador de ticks para ajustar la velocidad del programa
|
Uint32 ticks; // Contador de ticks para ajustar la velocidad del programa
|
||||||
Uint32 ticksSpeed; // Velocidad a la que se repiten los bucles del programa
|
Uint32 ticksSpeed; // Velocidad a la que se repiten los bucles del programa
|
||||||
SDL_Rect viewArea; // Parte de la textura que se muestra en pantalla
|
SDL_Rect viewArea; // Parte de la textura que se muestra en pantalla
|
||||||
int fadeMode; // Modo de fade a utilizar
|
fadeMode fadeMode; // Modo de fade a utilizar
|
||||||
|
|
||||||
// Actualiza las variables
|
// Actualiza las variables
|
||||||
void update();
|
void update();
|
||||||
|
|||||||
@@ -6,7 +6,7 @@
|
|||||||
#include <algorithm> // for max
|
#include <algorithm> // for max
|
||||||
#include <string> // for basic_string
|
#include <string> // for basic_string
|
||||||
#include "asset.h" // for Asset
|
#include "asset.h" // for Asset
|
||||||
#include "fade.h" // for Fade, FADE_FULLSCREEN, FADE_IN
|
#include "fade.h" // for Fade, fadeType::FULLSCREEN, fadeMode::IN
|
||||||
#include "global_inputs.h" // for globalInputs::check
|
#include "global_inputs.h" // for globalInputs::check
|
||||||
#include "input.h" // for Input
|
#include "input.h" // for Input
|
||||||
#include "jail_audio.h" // for JA_GetMusicState, JA_Music_state
|
#include "jail_audio.h" // for JA_GetMusicState, JA_Music_state
|
||||||
@@ -57,9 +57,9 @@ Instructions::Instructions(JA_Music_t *music)
|
|||||||
|
|
||||||
// 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(fadeType::FULLSCREEN);
|
||||||
fade->setPost(param.fade.postDuration);
|
fade->setPost(param.fade.postDuration);
|
||||||
fade->setMode(FADE_IN);
|
fade->setMode(fadeMode::IN);
|
||||||
fade->activate();
|
fade->activate();
|
||||||
|
|
||||||
// Rellena la textura de texto
|
// Rellena la textura de texto
|
||||||
|
|||||||
@@ -59,7 +59,7 @@ void Title::init()
|
|||||||
ticks = 0;
|
ticks = 0;
|
||||||
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(fadeType::RANDOM_SQUARE);
|
||||||
fade->setPost(param.fade.postDuration);
|
fade->setPost(param.fade.postDuration);
|
||||||
demo = true;
|
demo = true;
|
||||||
numControllers = input->getNumControllers();
|
numControllers = input->getNumControllers();
|
||||||
|
|||||||
@@ -197,12 +197,12 @@ struct paramGame_t
|
|||||||
// param.fade
|
// param.fade
|
||||||
struct paramFade_t
|
struct paramFade_t
|
||||||
{
|
{
|
||||||
int numSquaresWidth; // Cantidad total de cuadraditos en horizontal para el FADE_RANDOM_SQUARE
|
int numSquaresWidth; // Cantidad total de cuadraditos en horizontal para el fadeType::RANDOM_SQUARE
|
||||||
int numSquaresHeight; // Cantidad total de cuadraditos en vertical para el FADE_RANDOM_SQUARE
|
int numSquaresHeight; // Cantidad total de cuadraditos en vertical para el fadeType::RANDOM_SQUARE
|
||||||
int randomSquaresDelay; // Duración entre cada pintado de cuadrados
|
int randomSquaresDelay; // Duración entre cada pintado de cuadrados
|
||||||
int randomSquaresMult; // Cantidad de cuadrados que se pintaran cada vez
|
int randomSquaresMult; // Cantidad de cuadrados que se pintaran cada vez
|
||||||
int postDuration; // Duración final del fade
|
int postDuration; // Duración final del fade
|
||||||
int venetianSize; // Altura de los rectangulos para FADE_VENETIAN
|
int venetianSize; // Altura de los rectangulos para fadeType::VENETIAN
|
||||||
};
|
};
|
||||||
|
|
||||||
// param.title
|
// param.title
|
||||||
|
|||||||
Reference in New Issue
Block a user