diff --git a/data/config/param_320x240.txt b/data/config/param_320x240.txt index 06724c0..28c799c 100644 --- a/data/config/param_320x240.txt +++ b/data/config/param_320x240.txt @@ -1,50 +1,51 @@ -## GAME -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_h 37 # Alto de la máquina de café -game.width 320 # Ancho 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.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.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 --- +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_h 37 # Alto de la máquina de café +game.width 320 # Ancho 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.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.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 -## FADE -fade.num_squares_width 160 -fade.num_squares_height 120 -fade.random_squares_delay 1 -fade.random_squares_mult 500 -fade.post_duration 80 -fade.venetian_size 12 +## --- FADE --- +fade.color 000000 +fade.num_squares_width 160 +fade.num_squares_height 120 +fade.random_squares_delay 1 +fade.random_squares_mult 500 +fade.post_duration 80 +fade.venetian_size 12 -## SCOREBOARD -scoreboard.x 0 -scoreboard.y 200 -scoreboard.w 320 -scoreboard.h 40 +## --- SCOREBOARD --- +scoreboard.rect.x 0 +scoreboard.rect.y 200 +scoreboard.rect.w 320 +scoreboard.rect.h 40 -## TITLE +## --- TITLE --- title.press_start_position 170 title.title_duration 800 title.arcade_edition_position 123 title.title_c_c_position 80 -## BACKGROUND +## --- BACKGROUND --- background.attenuate_color FFFFFF background.attenuate_alpha 0 -## BALLOONS -balloon_1.vel 2.75f -balloon_1.grav 0.09f -balloon_2.vel 3.70f -balloon_2.grav 0.10f -balloon_3.vel 4.70f -balloon_3.grav 0.10f -balloon_4.vel 5.45f -balloon_4.grav 0.10f +## --- BALLOONS --- +balloon_1.vel 2.75f +balloon_1.grav 0.09f +balloon_2.vel 3.70f +balloon_2.grav 0.10f +balloon_3.vel 4.70f +balloon_3.grav 0.10f +balloon_4.vel 5.45f +balloon_4.grav 0.10f -## NOTIFICATION +## --- NOTIFICATION --- notification.pos_v TOP notification.pos_h LEFT notification.sound false diff --git a/data/config/param_320x256.txt b/data/config/param_320x256.txt index ad15ea4..db61af5 100644 --- a/data/config/param_320x256.txt +++ b/data/config/param_320x256.txt @@ -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 ## --- FADE --- +fade.color 000000 fade.num_squares_width 160 fade.num_squares_height 128 fade.random_squares_delay 1 diff --git a/source/credits.cpp b/source/credits.cpp index 67955e6..fadc9e2 100644 --- a/source/credits.cpp +++ b/source/credits.cpp @@ -47,7 +47,7 @@ Credits::Credits() Section::name = Section::Name::CREDITS; 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_->setPostDuration(50); fade_in_->setMode(FadeMode::IN); diff --git a/source/fade.cpp b/source/fade.cpp index 9ec39db..0431e9d 100644 --- a/source/fade.cpp +++ b/source/fade.cpp @@ -332,6 +332,14 @@ void Fade::setColor(Uint8 r, Uint8 g, Uint8 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 void Fade::cleanBackbuffer(Uint8 r, Uint8 g, Uint8 b, Uint8 a) { diff --git a/source/fade.h b/source/fade.h index 44e9247..2e997e5 100644 --- a/source/fade.h +++ b/source/fade.h @@ -4,6 +4,7 @@ #include #include #include +#include "utils.h" // Tipos de fundido enum class FadeType : Uint8 @@ -46,6 +47,7 @@ public: // --- Configuración --- void setColor(Uint8 r, Uint8 g, Uint8 b); + void setColor(Color color); void setType(FadeType type) { type_ = type; } void setMode(FadeMode mode) { mode_ = mode; } void setPostDuration(int value) { post_duration_ = value; } diff --git a/source/game.cpp b/source/game.cpp index e99b7a8..311faf9 100644 --- a/source/game.cpp +++ b/source/game.cpp @@ -64,14 +64,14 @@ Game::Game(int player_id, int current_stage, bool demo) Scoreboard::init(); 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_->setPostDuration(0); fade_in_->setType(FadeType::RANDOM_SQUARE); fade_in_->setMode(FadeMode::IN); 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_->setType(FadeType::VENETIAN); diff --git a/source/hiscore_table.cpp b/source/hiscore_table.cpp index 2064e6a..b9004b2 100644 --- a/source/hiscore_table.cpp +++ b/source/hiscore_table.cpp @@ -318,7 +318,7 @@ void HiScoreTable::updateSprites() // Inicializa el fade 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_->setPostDuration(param.fade.post_duration); fade_->setMode(fade_mode_); diff --git a/source/instructions.cpp b/source/instructions.cpp index d11ea2f..76f2b17 100644 --- a/source/instructions.cpp +++ b/source/instructions.cpp @@ -39,7 +39,7 @@ Instructions::Instructions() view_ = param.game.game_area.rect; // Inicializa objetos - fade_->setColor(FADE_COLOR.r, FADE_COLOR.g, FADE_COLOR.b); + fade_->setColor(param.fade.color); fade_->setType(FadeType::FULLSCREEN); fade_->setPostDuration(param.fade.post_duration); fade_->setMode(FadeMode::IN); diff --git a/source/param.cpp b/source/param.cpp index 4d38bb4..b2c4424 100644 --- a/source/param.cpp +++ b/source/param.cpp @@ -167,6 +167,11 @@ bool setParams(const std::string &var, const std::string &value) } // FADE + else if (var == "fade.color") + { + param.fade.color = Color::fromHex(value); + } + else if (var == "fade.num_squares_width") { param.fade.num_squares_width = std::stoi(value); diff --git a/source/param.h b/source/param.h index 783d209..5cb1d28 100644 --- a/source/param.h +++ b/source/param.h @@ -23,6 +23,7 @@ struct ParamGame // --- Parámetros del fade --- 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_height; // Cantidad total de cuadraditos en vertical para el FadeType::RANDOM_SQUARE int random_squares_delay; // Duración entre cada pintado de cuadrados @@ -93,7 +94,7 @@ struct Param ParamBackground background; // Parámetros del fondo std::vector balloon; // Parámetros de los globos 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 Param() : game(), fade(), scoreboard(), title(), background(), notification() diff --git a/source/title.cpp b/source/title.cpp index 2ef3ba7..523b5f8 100644 --- a/source/title.cpp +++ b/source/title.cpp @@ -40,7 +40,7 @@ Title::Title() // Configura objetos game_logo_->enable(); 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_->setPostDuration(param.fade.post_duration); Resource::get()->getTexture("smb2.gif")->setPalette(1); diff --git a/source/utils.h b/source/utils.h index dd35637..12f46f0 100644 --- a/source/utils.h +++ b/source/utils.h @@ -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_HARD_COLOR = Color(0X76, 0X42, 0X8A); 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_SOFT_COLOR = Color(0XFF, 0XA0, 0X33); constexpr Color ORANGE_SHADOW_COLOR = ORANGE_SOFT_COLOR.darken(100);