Commitet pa valgrind, he aprofitat i posat mes make_unique i enum class

This commit is contained in:
2024-10-07 10:49:29 +02:00
parent 4f0ea9dcf2
commit cffa4c3c92
8 changed files with 105 additions and 107 deletions

View File

@@ -1,17 +1,14 @@
#include "fade.h" #include "fade.h"
#include <SDL2/SDL_blendmode.h> // for SDL_BLENDMODE_BLEND, SDL_BLENDMODE_NONE #include <SDL2/SDL_blendmode.h> // for SDL_BLENDMODE_BLEND, SDL_BLENDMODE_NONE
#include <SDL2/SDL_pixels.h> // for SDL_PIXELFORMAT_RGBA8888 #include <SDL2/SDL_pixels.h> // for SDL_PIXELFORMAT_RGBA8888
#include <stdlib.h> // for rand #include <stdlib.h> // for rand
#include <algorithm> // for min, max #include <algorithm> // for min, max
#include "param.h" // for param #include "param.h" // for param
#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

View File

@@ -1,19 +1,25 @@
#pragma once #pragma once
#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 Uint8, Uint16 #include <SDL2/SDL_stdinc.h> // for Uint8, Uint16
#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);

View File

@@ -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();
} }

View File

@@ -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;
} }

View File

@@ -1,17 +1,20 @@
#pragma once #pragma once
#include <SDL2/SDL_events.h> // for SDL_Event #include <SDL2/SDL_events.h> // for SDL_Event
#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 <string> // for string #include <memory>
#include "section.h" // for options_e #include <string> // for string
#include "fade.h"
#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();

View File

@@ -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

View File

@@ -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();

View File

@@ -98,7 +98,7 @@ struct demoKeys_t
// Estructura para las opciones de la ventana // Estructura para las opciones de la ventana
struct op_window_t struct op_window_t
{ {
int size; // Contiene el valor por el que se multiplica el tamaño de la ventana int size; // Contiene el valor por el que se multiplica el tamaño de la ventana
}; };
// Estructura con opciones para el video // Estructura con opciones para el video
@@ -135,7 +135,7 @@ struct op_audio_t
// Estructura para las opciones del juego // Estructura para las opciones del juego
struct op_game_t struct op_game_t
{ {
gameDifficulty difficulty; // Dificultad del juego gameDifficulty difficulty; // Dificultad del juego
Uint8 language; // Idioma usado en el juego Uint8 language; // Idioma usado en el juego
bool autofire; // Indica si el jugador ha de pulsar repetidamente para disparar o basta con mantener pulsado bool autofire; // Indica si el jugador ha de pulsar repetidamente para disparar o basta con mantener pulsado
std::vector<hiScoreEntry_t> hiScoreTable; // Tabla con las mejores puntuaciones std::vector<hiScoreEntry_t> hiScoreTable; // Tabla con las mejores puntuaciones
@@ -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