Fade: el color passa a estar en param.h

This commit is contained in:
2025-06-26 14:04:01 +02:00
parent 7c473d7a3d
commit 13c4f66228
12 changed files with 60 additions and 43 deletions

View File

@@ -1,50 +1,51 @@
## GAME ## --- GAME ---
game.item_size 20 # Tamaño de los items del juego game.item_size 20 # Tamaño de los items del juego
game.coffee_machine_w 28 # Ancho de la máquina de café game.coffee_machine_w 28 # Ancho de la máquina de café
game.coffee_machine_h 37 # Alto de la máquina de café game.coffee_machine_h 37 # Alto de la máquina de café
game.width 320 # Ancho de la resolucion nativa del juego game.width 320 # Ancho de la resolucion nativa del juego
game.height 240 # Alto de la resolucion nativa del juego game.height 240 # Alto de la resolucion nativa del juego
game.play_area.rect.x 0 # Rectangulo con la posición de la zona de juego game.play_area.rect.x 0 # Rectangulo con la posición de la zona de juego
game.play_area.rect.y 0 # Rectangulo con la posición de la zona de juego game.play_area.rect.y 0 # Rectangulo con la posición de la zona de juego
game.play_area.rect.w 320 # Rectangulo con la posición de la zona de juego game.play_area.rect.w 320 # Rectangulo con la posición de la zona de juego
game.play_area.rect.h 200 # Rectangulo con la posición de la zona de juego game.play_area.rect.h 200 # Rectangulo con la posición de la zona de juego
game.enter_name_seconds 60 # Duración en segundos para introducir el nombre al finalizar la partida game.enter_name_seconds 60 # Duración en segundos para introducir el nombre al finalizar la partida
## FADE ## --- FADE ---
fade.num_squares_width 160 fade.color 000000
fade.num_squares_height 120 fade.num_squares_width 160
fade.random_squares_delay 1 fade.num_squares_height 120
fade.random_squares_mult 500 fade.random_squares_delay 1
fade.post_duration 80 fade.random_squares_mult 500
fade.venetian_size 12 fade.post_duration 80
fade.venetian_size 12
## SCOREBOARD ## --- SCOREBOARD ---
scoreboard.x 0 scoreboard.rect.x 0
scoreboard.y 200 scoreboard.rect.y 200
scoreboard.w 320 scoreboard.rect.w 320
scoreboard.h 40 scoreboard.rect.h 40
## TITLE ## --- TITLE ---
title.press_start_position 170 title.press_start_position 170
title.title_duration 800 title.title_duration 800
title.arcade_edition_position 123 title.arcade_edition_position 123
title.title_c_c_position 80 title.title_c_c_position 80
## BACKGROUND ## --- BACKGROUND ---
background.attenuate_color FFFFFF background.attenuate_color FFFFFF
background.attenuate_alpha 0 background.attenuate_alpha 0
## BALLOONS ## --- BALLOONS ---
balloon_1.vel 2.75f balloon_1.vel 2.75f
balloon_1.grav 0.09f balloon_1.grav 0.09f
balloon_2.vel 3.70f balloon_2.vel 3.70f
balloon_2.grav 0.10f balloon_2.grav 0.10f
balloon_3.vel 4.70f balloon_3.vel 4.70f
balloon_3.grav 0.10f balloon_3.grav 0.10f
balloon_4.vel 5.45f balloon_4.vel 5.45f
balloon_4.grav 0.10f balloon_4.grav 0.10f
## NOTIFICATION ## --- NOTIFICATION ---
notification.pos_v TOP notification.pos_v TOP
notification.pos_h LEFT notification.pos_h LEFT
notification.sound false notification.sound false

View File

@@ -11,6 +11,7 @@ game.play_area.rect.h 216 # Rectangulo con la posición de la zona de juego
game.enter_name_seconds 60 # Duración en segundos para introducir el nombre al finalizar la partida game.enter_name_seconds 60 # Duración en segundos para introducir el nombre al finalizar la partida
## --- FADE --- ## --- FADE ---
fade.color 000000
fade.num_squares_width 160 fade.num_squares_width 160
fade.num_squares_height 128 fade.num_squares_height 128
fade.random_squares_delay 1 fade.random_squares_delay 1

View File

@@ -47,7 +47,7 @@ Credits::Credits()
Section::name = Section::Name::CREDITS; Section::name = Section::Name::CREDITS;
balloon_manager_->setPlayArea(play_area_); balloon_manager_->setPlayArea(play_area_);
fade_in_->setColor(FADE_COLOR.r, FADE_COLOR.g, FADE_COLOR.b); fade_in_->setColor(param.fade.color);
fade_in_->setType(FadeType::FULLSCREEN); fade_in_->setType(FadeType::FULLSCREEN);
fade_in_->setPostDuration(50); fade_in_->setPostDuration(50);
fade_in_->setMode(FadeMode::IN); fade_in_->setMode(FadeMode::IN);

View File

@@ -332,6 +332,14 @@ void Fade::setColor(Uint8 r, Uint8 g, Uint8 b)
b_ = b; b_ = b;
} }
// Establece el color del fade
void Fade::setColor(Color color)
{
r_ = color.r;
g_ = color.g;
b_ = color.b;
}
// Limpia el backbuffer // Limpia el backbuffer
void Fade::cleanBackbuffer(Uint8 r, Uint8 g, Uint8 b, Uint8 a) void Fade::cleanBackbuffer(Uint8 r, Uint8 g, Uint8 b, Uint8 a)
{ {

View File

@@ -4,6 +4,7 @@
#include <SDL3/SDL_render.h> #include <SDL3/SDL_render.h>
#include <SDL3/SDL_stdinc.h> #include <SDL3/SDL_stdinc.h>
#include <vector> #include <vector>
#include "utils.h"
// Tipos de fundido // Tipos de fundido
enum class FadeType : Uint8 enum class FadeType : Uint8
@@ -46,6 +47,7 @@ public:
// --- Configuración --- // --- Configuración ---
void setColor(Uint8 r, Uint8 g, Uint8 b); void setColor(Uint8 r, Uint8 g, Uint8 b);
void setColor(Color color);
void setType(FadeType type) { type_ = type; } void setType(FadeType type) { type_ = type; }
void setMode(FadeMode mode) { mode_ = mode; } void setMode(FadeMode mode) { mode_ = mode; }
void setPostDuration(int value) { post_duration_ = value; } void setPostDuration(int value) { post_duration_ = value; }

View File

@@ -64,14 +64,14 @@ Game::Game(int player_id, int current_stage, bool demo)
Scoreboard::init(); Scoreboard::init();
scoreboard_ = Scoreboard::get(); scoreboard_ = Scoreboard::get();
fade_in_->setColor(FADE_COLOR.r, FADE_COLOR.g, FADE_COLOR.b); fade_in_->setColor(param.fade.color);
fade_in_->setPreDuration(demo_.enabled ? 80 : 0); fade_in_->setPreDuration(demo_.enabled ? 80 : 0);
fade_in_->setPostDuration(0); fade_in_->setPostDuration(0);
fade_in_->setType(FadeType::RANDOM_SQUARE); fade_in_->setType(FadeType::RANDOM_SQUARE);
fade_in_->setMode(FadeMode::IN); fade_in_->setMode(FadeMode::IN);
fade_in_->activate(); fade_in_->activate();
fade_out_->setColor(FADE_COLOR.r, FADE_COLOR.g, FADE_COLOR.b); fade_out_->setColor(param.fade.color);
fade_out_->setPostDuration(param.fade.post_duration); fade_out_->setPostDuration(param.fade.post_duration);
fade_out_->setType(FadeType::VENETIAN); fade_out_->setType(FadeType::VENETIAN);

View File

@@ -318,7 +318,7 @@ void HiScoreTable::updateSprites()
// Inicializa el fade // Inicializa el fade
void HiScoreTable::initFade() void HiScoreTable::initFade()
{ {
fade_->setColor(FADE_COLOR.r, FADE_COLOR.g, FADE_COLOR.b); fade_->setColor(param.fade.color);
fade_->setType(FadeType::RANDOM_SQUARE); fade_->setType(FadeType::RANDOM_SQUARE);
fade_->setPostDuration(param.fade.post_duration); fade_->setPostDuration(param.fade.post_duration);
fade_->setMode(fade_mode_); fade_->setMode(fade_mode_);

View File

@@ -39,7 +39,7 @@ Instructions::Instructions()
view_ = param.game.game_area.rect; view_ = param.game.game_area.rect;
// Inicializa objetos // Inicializa objetos
fade_->setColor(FADE_COLOR.r, FADE_COLOR.g, FADE_COLOR.b); fade_->setColor(param.fade.color);
fade_->setType(FadeType::FULLSCREEN); fade_->setType(FadeType::FULLSCREEN);
fade_->setPostDuration(param.fade.post_duration); fade_->setPostDuration(param.fade.post_duration);
fade_->setMode(FadeMode::IN); fade_->setMode(FadeMode::IN);

View File

@@ -167,6 +167,11 @@ bool setParams(const std::string &var, const std::string &value)
} }
// FADE // FADE
else if (var == "fade.color")
{
param.fade.color = Color::fromHex(value);
}
else if (var == "fade.num_squares_width") else if (var == "fade.num_squares_width")
{ {
param.fade.num_squares_width = std::stoi(value); param.fade.num_squares_width = std::stoi(value);

View File

@@ -23,6 +23,7 @@ struct ParamGame
// --- Parámetros del fade --- // --- Parámetros del fade ---
struct ParamFade struct ParamFade
{ {
Color color; // Color del fade
float num_squares_width; // Cantidad total de cuadraditos en horizontal para el FadeType::RANDOM_SQUARE float num_squares_width; // Cantidad total de cuadraditos en horizontal para el FadeType::RANDOM_SQUARE
float num_squares_height; // Cantidad total de cuadraditos en vertical para el FadeType::RANDOM_SQUARE float num_squares_height; // Cantidad total de cuadraditos en vertical para el FadeType::RANDOM_SQUARE
int random_squares_delay; // Duración entre cada pintado de cuadrados int random_squares_delay; // Duración entre cada pintado de cuadrados
@@ -93,7 +94,7 @@ struct Param
ParamBackground background; // Parámetros del fondo ParamBackground background; // Parámetros del fondo
std::vector<ParamBalloon> balloon; // Parámetros de los globos std::vector<ParamBalloon> balloon; // Parámetros de los globos
ParamNotification notification; // Parámetros de las notificaciones ParamNotification notification; // Parámetros de las notificaciones
ParamServiceMenu service_menu; // Parámetros del menú de servicio ParamServiceMenu service_menu; // Parámetros del menú de servicio
// Constructor // Constructor
Param() : game(), fade(), scoreboard(), title(), background(), notification() Param() : game(), fade(), scoreboard(), title(), background(), notification()

View File

@@ -40,7 +40,7 @@ Title::Title()
// Configura objetos // Configura objetos
game_logo_->enable(); game_logo_->enable();
mini_logo_sprite_->setX(param.game.game_area.center_x - mini_logo_sprite_->getWidth() / 2); mini_logo_sprite_->setX(param.game.game_area.center_x - mini_logo_sprite_->getWidth() / 2);
fade_->setColor(FADE_COLOR.r, FADE_COLOR.g, FADE_COLOR.b); fade_->setColor(param.fade.color);
fade_->setType(FadeType::RANDOM_SQUARE); fade_->setType(FadeType::RANDOM_SQUARE);
fade_->setPostDuration(param.fade.post_duration); fade_->setPostDuration(param.fade.post_duration);
Resource::get()->getTexture("smb2.gif")->setPalette(1); Resource::get()->getTexture("smb2.gif")->setPalette(1);

View File

@@ -179,7 +179,6 @@ constexpr Color SCOREBOARD_EASY_COLOR = Color(0X4B, 0X69, 0X2F);
constexpr Color SCOREBOARD_NORMAL_COLOR = Color(0X2E, 0X3F, 0X47); constexpr Color SCOREBOARD_NORMAL_COLOR = Color(0X2E, 0X3F, 0X47);
constexpr Color SCOREBOARD_HARD_COLOR = Color(0X76, 0X42, 0X8A); constexpr Color SCOREBOARD_HARD_COLOR = Color(0X76, 0X42, 0X8A);
constexpr Color FLASH_COLOR = Color(0XFF, 0XFF, 0XFF); constexpr Color FLASH_COLOR = Color(0XFF, 0XFF, 0XFF);
constexpr Color FADE_COLOR = Color(0X27, 0X27, 0X36);
constexpr Color ORANGE_COLOR = Color(0XFF, 0X7A, 0X00); constexpr Color ORANGE_COLOR = Color(0XFF, 0X7A, 0X00);
constexpr Color ORANGE_SOFT_COLOR = Color(0XFF, 0XA0, 0X33); constexpr Color ORANGE_SOFT_COLOR = Color(0XFF, 0XA0, 0X33);
constexpr Color ORANGE_SHADOW_COLOR = ORANGE_SOFT_COLOR.darken(100); constexpr Color ORANGE_SHADOW_COLOR = ORANGE_SOFT_COLOR.darken(100);