diff --git a/source/core/rendering/fade.cpp b/source/core/rendering/fade.cpp index 5198baf..0495775 100644 --- a/source/core/rendering/fade.cpp +++ b/source/core/rendering/fade.cpp @@ -27,7 +27,7 @@ Fade::~Fade() { // Inicializa las variables void Fade::init(Uint8 r, Uint8 g, Uint8 b) { - fade_type_ = FADE_CENTER; + fade_type_ = Type::CENTER; enabled_ = false; finished_ = false; counter_ = 0; @@ -46,13 +46,13 @@ void Fade::init(Uint8 r, Uint8 g, Uint8 b) { void Fade::render() { if (enabled_ && !finished_) { switch (fade_type_) { - case FADE_FULLSCREEN: + case Type::FULLSCREEN: renderFadeFullscreen(); break; - case FADE_CENTER: + case Type::CENTER: renderFadeCenter(); break; - case FADE_RANDOM_SQUARE: + case Type::RANDOM_SQUARE: renderFadeRandomSquare(); break; default: @@ -66,7 +66,7 @@ void Fade::render() { } } -// Helper de render: tipo FADE_FULLSCREEN +// Helper de render: tipo FULLSCREEN void Fade::renderFadeFullscreen() { if (fullscreen_done_) { return; @@ -100,7 +100,7 @@ void Fade::renderFadeFullscreen() { SDL_RenderFillRect(renderer_, &f_rect1); } -// Helper de render: tipo FADE_CENTER +// Helper de render: tipo CENTER void Fade::renderFadeCenter() { SDL_FRect f_r1 = {0, 0, (float)GAMECANVAS_WIDTH, 0}; SDL_FRect f_r2 = {0, 0, (float)GAMECANVAS_WIDTH, 0}; @@ -120,7 +120,7 @@ void Fade::renderFadeCenter() { } } -// Helper de render: tipo FADE_RANDOM_SQUARE +// Helper de render: tipo RANDOM_SQUARE void Fade::renderFadeRandomSquare() { const Uint32 NOW = SDL_GetTicks(); if (squares_drawn_ < 50 && NOW - last_square_ticks_ >= 100) { @@ -186,6 +186,6 @@ auto Fade::hasEnded() const -> bool { } // Establece el tipo de fade -void Fade::setFadeType(Uint8 fade_type) { +void Fade::setFadeType(Type fade_type) { fade_type_ = fade_type; } \ No newline at end of file diff --git a/source/core/rendering/fade.h b/source/core/rendering/fade.h index df1c0b7..d159d5a 100644 --- a/source/core/rendering/fade.h +++ b/source/core/rendering/fade.h @@ -2,14 +2,17 @@ #include -// Tipos de fundido -constexpr int FADE_FULLSCREEN = 0; -constexpr int FADE_CENTER = 1; -constexpr int FADE_RANDOM_SQUARE = 2; +#include // Clase Fade class Fade { public: + enum class Type : std::uint8_t { + FULLSCREEN, + CENTER, + RANDOM_SQUARE + }; + explicit Fade(SDL_Renderer *renderer); // Constructor ~Fade(); // Destructor @@ -21,23 +24,23 @@ class Fade { [[nodiscard]] auto hasEnded() const -> bool; // Comprueba si ha terminado la transicion [[nodiscard]] auto isEnabled() const -> bool; // Comprueba si está activo - void setFadeType(Uint8 fade_type); // Establece el tipo de fade + void setFadeType(Type fade_type); // Establece el tipo de fade private: - void renderFadeFullscreen(); // Helper de render: tipo FADE_FULLSCREEN - void renderFadeCenter(); // Helper de render: tipo FADE_CENTER - void renderFadeRandomSquare(); // Helper de render: tipo FADE_RANDOM_SQUARE + void renderFadeFullscreen(); // Helper de render: tipo FULLSCREEN + void renderFadeCenter(); // Helper de render: tipo CENTER + void renderFadeRandomSquare(); // Helper de render: tipo RANDOM_SQUARE SDL_Renderer *renderer_ = nullptr; // El renderizador de la ventana SDL_Texture *backbuffer_ = nullptr; // Textura para usar como backbuffer - Uint8 fade_type_ = FADE_FULLSCREEN; // Tipo de fade a realizar + Type fade_type_{Type::FULLSCREEN}; // Tipo de fade a realizar Uint16 counter_ = 0; // Contador interno bool enabled_ = false; // Indica si el fade está activo bool finished_ = false; // Indica si ha terminado la transición Uint8 r_ = 0, g_ = 0, b_ = 0; // Colores para el fade - Uint8 r_original_ = 0, g_original_ = 0, b_original_ = 0; // Colores originales para FADE_RANDOM_SQUARE - Uint32 last_square_ticks_ = 0; // Ticks del último cuadrado dibujado (FADE_RANDOM_SQUARE) - Uint16 squares_drawn_ = 0; // Número de cuadrados dibujados (FADE_RANDOM_SQUARE) + Uint8 r_original_ = 0, g_original_ = 0, b_original_ = 0; // Colores originales para RANDOM_SQUARE + Uint32 last_square_ticks_ = 0; // Ticks del último cuadrado dibujado (RANDOM_SQUARE) + Uint16 squares_drawn_ = 0; // Número de cuadrados dibujados (RANDOM_SQUARE) bool fullscreen_done_ = false; // Indica si el fade fullscreen ha terminado la fase de fundido SDL_Rect rect1_{}; // Rectangulo usado para crear los efectos de transición SDL_Rect rect2_{}; // Rectangulo usado para crear los efectos de transición diff --git a/source/game/game.cpp b/source/game/game.cpp index 57df5fe..940aa58 100644 --- a/source/game/game.cpp +++ b/source/game/game.cpp @@ -11,7 +11,7 @@ #include "core/input/global_inputs.hpp" // for GlobalInputs::handle #include "core/input/input.h" // for InputAction, Input, Input::Repeat::ON, Input::Repeat::OFF #include "core/locale/lang.h" // for Lang -#include "core/rendering/fade.h" // for Fade, FADE_CENTER +#include "core/rendering/fade.h" // for Fade #include "core/rendering/movingsprite.h" // for MovingSprite #include "core/rendering/screen.h" // for Screen #include "core/rendering/smartsprite.h" // for SmartSprite @@ -2836,7 +2836,7 @@ void Game::updatePauseMenuUI() { break; case 2: - fade_->setFadeType(FADE_CENTER); + fade_->setFadeType(Fade::Type::CENTER); fade_->activateFade(); break;