From ac93cfa7d7572db8711215a5947cb95f7b82cc0a Mon Sep 17 00:00:00 2001 From: Sergio Valor Date: Thu, 14 May 2026 22:32:57 +0200 Subject: [PATCH] fix: enum class amb base std::uint8_t (33 troballes) --- source/core/audio/jail_audio.hpp | 4 ++-- source/core/input/input.cpp | 11 ++++------ source/core/input/input_types.hpp | 3 ++- source/core/rendering/palette_manager.hpp | 3 ++- source/core/rendering/pixel_reveal.hpp | 7 ++++--- source/core/rendering/render_info.hpp | 4 +++- source/core/rendering/screen.hpp | 3 ++- source/core/rendering/shader_backend.hpp | 3 ++- .../core/rendering/sprite/dissolve_sprite.hpp | 7 ++++--- source/core/resources/resource_cache.hpp | 7 ++++--- source/core/resources/resource_list.hpp | 2 +- source/core/resources/resource_pack.cpp | 9 ++++---- source/core/system/director.cpp | 3 ++- source/game/entities/player.hpp | 13 ++++++------ source/game/gameplay/collision_map.hpp | 5 +++-- source/game/gameplay/room.hpp | 11 +++++----- source/game/gameplay/room_loader.cpp | 3 +-- source/game/gameplay/scoreboard.cpp | 3 +-- source/game/scene_manager.hpp | 6 ++++-- source/game/scenes/credits.hpp | 9 ++++---- source/game/scenes/ending.hpp | 9 ++++---- source/game/scenes/ending2.cpp | 3 +-- source/game/scenes/ending2.hpp | 9 ++++---- source/game/scenes/game.cpp | 5 ++--- source/game/scenes/game.hpp | 5 +++-- source/game/scenes/game_over.cpp | 3 +-- source/game/scenes/game_over.hpp | 7 ++++--- source/game/scenes/loading_screen.hpp | 9 ++++---- source/game/scenes/logo.hpp | 3 ++- source/game/scenes/title.hpp | 11 +++++----- source/game/ui/console.cpp | 14 +++++-------- source/game/ui/console.hpp | 3 ++- source/game/ui/console_commands.cpp | 12 ++++------- source/game/ui/notifier.cpp | 3 +-- source/game/ui/notifier.hpp | 21 ++++++++++--------- 35 files changed, 120 insertions(+), 113 deletions(-) diff --git a/source/core/audio/jail_audio.hpp b/source/core/audio/jail_audio.hpp index a6289ac..c0e1bf7 100644 --- a/source/core/audio/jail_audio.hpp +++ b/source/core/audio/jail_audio.hpp @@ -24,14 +24,14 @@ struct SDLFreeDeleter { }; // --- Public Enums --- -enum JA_Channel_state { +enum JA_Channel_state : uint8_t { JA_CHANNEL_INVALID, JA_CHANNEL_FREE, JA_CHANNEL_PLAYING, JA_CHANNEL_PAUSED, JA_SOUND_DISABLED, }; -enum JA_Music_state { +enum JA_Music_state : uint8_t { JA_MUSIC_INVALID, JA_MUSIC_PLAYING, JA_MUSIC_PAUSED, diff --git a/source/core/input/input.cpp b/source/core/input/input.cpp index 597c373..8dcb3c3 100644 --- a/source/core/input/input.cpp +++ b/source/core/input/input.cpp @@ -2,9 +2,9 @@ #include // Para SDL_GetGamepadAxis, SDL_GamepadAxis, SDL_GamepadButton, SDL_GetError, SDL_JoystickID, SDL_AddGamepadMappingsFromFile, SDL_Event, SDL_EventType, SDL_GetGamepadButton, SDL_GetKeyboardState, SDL_INIT_GAMEPAD, SDL_InitSubSystem, SDL_LogError, SDL_OpenGamepad, SDL_PollEvent, SDL_WasInit, Sint16, SDL_Gamepad, SDL_LogCategory, SDL_Scancode +#include // Para ranges::any_of #include // Para basic_ostream, operator<<, cout, cerr #include // Para shared_ptr, __shared_ptr_access, allocator, operator==, make_shared -#include // Para ranges::any_of #include // Para __find_if_fn, find_if #include // Para unordered_map, _Node_iterator, operator==, _Node_iterator_base, _Node_const_iterator #include // Para pair, move @@ -184,8 +184,7 @@ auto Input::checkAnyInput(bool check_keyboard, const std::shared_ptr& g // --- Comprobación del Teclado --- // Llegim l'estat pre-calculat per Input::update() (sense tornar a cridar SDL_GetKeyboardState). - if (check_keyboard && std::ranges::any_of(keyboard_.bindings, - [](const auto& pair) { return pair.second.just_pressed; })) { + if (check_keyboard && std::ranges::any_of(keyboard_.bindings, [](const auto& pair) { return pair.second.just_pressed; })) { return true; } @@ -197,8 +196,7 @@ auto Input::checkAnyInput(bool check_keyboard, const std::shared_ptr& g // --- Comprobación del Mando --- // Iterem sobre totes les accions del mandos pre-calculades per Input::update(). - if (active_gamepad != nullptr && std::ranges::any_of(active_gamepad->bindings, - [](const auto& pair) { return pair.second.just_pressed; })) { + if (active_gamepad != nullptr && std::ranges::any_of(active_gamepad->bindings, [](const auto& pair) { return pair.second.just_pressed; })) { return true; } @@ -230,8 +228,7 @@ auto Input::getControllerName(const std::shared_ptr& gamepad) -> std::s auto Input::getControllerNames() const -> std::vector { std::vector names; names.reserve(gamepads_.size()); - std::ranges::transform(gamepads_, std::back_inserter(names), - [](const auto& gamepad) { return gamepad->name; }); + std::ranges::transform(gamepads_, std::back_inserter(names), [](const auto& gamepad) { return gamepad->name; }); return names; } diff --git a/source/core/input/input_types.hpp b/source/core/input/input_types.hpp index 90663c3..da5ac8f 100644 --- a/source/core/input/input_types.hpp +++ b/source/core/input/input_types.hpp @@ -2,11 +2,12 @@ #include +#include #include #include // --- Enums --- -enum class InputAction : int { // Acciones de entrada posibles en el juego +enum class InputAction : std::uint8_t { // Acciones de entrada posibles en el juego // Inputs de movimiento LEFT, RIGHT, diff --git a/source/core/rendering/palette_manager.hpp b/source/core/rendering/palette_manager.hpp index 7357eca..0a4613c 100644 --- a/source/core/rendering/palette_manager.hpp +++ b/source/core/rendering/palette_manager.hpp @@ -3,6 +3,7 @@ #include #include +#include #include #include #include @@ -14,7 +15,7 @@ using Palette = std::array; class Surface; // Modo de ordenación de paletas -enum class PaletteSortMode : int { +enum class PaletteSortMode : std::uint8_t { ORIGINAL = 0, // Paleta tal cual viene del fichero LUMINANCE = 1, // Ordenada por luminancia percibida SPECTRUM = 2, // Reordenada para imitar la paleta ZX Spectrum diff --git a/source/core/rendering/pixel_reveal.hpp b/source/core/rendering/pixel_reveal.hpp index 557abc7..0b049f4 100644 --- a/source/core/rendering/pixel_reveal.hpp +++ b/source/core/rendering/pixel_reveal.hpp @@ -1,7 +1,8 @@ #pragma once -#include // Para shared_ptr -#include // Para vector +#include // Para uint8_t +#include // Para shared_ptr +#include // Para vector class Surface; @@ -10,7 +11,7 @@ class Surface; class PixelReveal { public: // Modo de revelado: aleatorio por fila o en orden de bisección (dithering ordenado 1D) - enum class RevealMode { RANDOM, + enum class RevealMode : std::uint8_t { RANDOM, ORDERED }; // Constructor diff --git a/source/core/rendering/render_info.hpp b/source/core/rendering/render_info.hpp index 569e4e9..08f9a24 100644 --- a/source/core/rendering/render_info.hpp +++ b/source/core/rendering/render_info.hpp @@ -1,5 +1,7 @@ #pragma once +#include // Para uint8_t + class RenderInfo { public: // Singleton @@ -20,7 +22,7 @@ class RenderInfo { static constexpr float SLIDE_SPEED = 120.0F; private: - enum class Status { HIDDEN, + enum class Status : std::uint8_t { HIDDEN, RISING, ACTIVE, VANISHING }; diff --git a/source/core/rendering/screen.hpp b/source/core/rendering/screen.hpp index 5e71b48..2068185 100644 --- a/source/core/rendering/screen.hpp +++ b/source/core/rendering/screen.hpp @@ -4,6 +4,7 @@ #include // Para Uint32 #include // Para size_t +#include // Para uint8_t #include // Para shared_ptr, __shared_ptr_access #include // Para string #include // Para std::pair @@ -18,7 +19,7 @@ class Text; class Screen { public: // Tipos de filtro - enum class Filter : Uint32 { + enum class Filter : std::uint8_t { NEAREST = 0, LINEAR = 1, }; diff --git a/source/core/rendering/shader_backend.hpp b/source/core/rendering/shader_backend.hpp index df5427b..def2c60 100644 --- a/source/core/rendering/shader_backend.hpp +++ b/source/core/rendering/shader_backend.hpp @@ -2,13 +2,14 @@ #include +#include #include #include namespace Rendering { /** @brief Identificador del shader de post-procesado activo */ - enum class ShaderType { POSTFX, + enum class ShaderType : std::uint8_t { POSTFX, CRTPI }; /** diff --git a/source/core/rendering/sprite/dissolve_sprite.hpp b/source/core/rendering/sprite/dissolve_sprite.hpp index 7292852..fe1a951 100644 --- a/source/core/rendering/sprite/dissolve_sprite.hpp +++ b/source/core/rendering/sprite/dissolve_sprite.hpp @@ -2,14 +2,15 @@ #include -#include // Para shared_ptr +#include // Para uint8_t +#include // Para shared_ptr #include "core/rendering/sprite/animated_sprite.hpp" // Para SurfaceAnimatedSprite class Surface; // Direcció de la dissolució -enum class DissolveDirection { NONE, +enum class DissolveDirection : std::uint8_t { NONE, DOWN, UP }; @@ -41,7 +42,7 @@ class DissolveSprite : public AnimatedSprite { void setColorReplace(Uint8 source, Uint8 target); private: - enum class TransitionMode { NONE, + enum class TransitionMode : std::uint8_t { NONE, DISSOLVING, GENERATING }; diff --git a/source/core/resources/resource_cache.hpp b/source/core/resources/resource_cache.hpp index 92f3826..d292019 100644 --- a/source/core/resources/resource_cache.hpp +++ b/source/core/resources/resource_cache.hpp @@ -1,7 +1,8 @@ #pragma once -#include // Para shared_ptr -#include // Para string +#include // Para uint8_t +#include // Para shared_ptr +#include // Para string #include #include // Para vector @@ -54,7 +55,7 @@ namespace Resource { }; // Etapas del loader incremental - enum class LoadStage { + enum class LoadStage : std::uint8_t { SOUNDS, MUSICS, SURFACES, diff --git a/source/core/resources/resource_list.hpp b/source/core/resources/resource_list.hpp index 10ba6ba..731e0de 100644 --- a/source/core/resources/resource_list.hpp +++ b/source/core/resources/resource_list.hpp @@ -12,7 +12,7 @@ namespace Resource { class List { public: // --- Enums --- - enum class Type : int { + enum class Type : std::uint8_t { DATA, // Datos BITMAP, // Imágenes ANIMATION, // Animaciones diff --git a/source/core/resources/resource_pack.cpp b/source/core/resources/resource_pack.cpp index 431120c..9d6b9cc 100644 --- a/source/core/resources/resource_pack.cpp +++ b/source/core/resources/resource_pack.cpp @@ -6,19 +6,18 @@ #include #include -#include #include #include #include +#include namespace Resource { // Calculate CRC32 checksum for data verification auto Pack::calculateChecksum(const std::vector& data) -> uint32_t { // NOLINT(readability-convert-member-functions-to-static) - return std::accumulate(data.begin(), data.end(), uint32_t{0x12345678}, - [](uint32_t acc, unsigned char byte) -> uint32_t { - return ((acc << 5) + acc) + byte; - }); + return std::accumulate(data.begin(), data.end(), uint32_t{0x12345678}, [](uint32_t acc, unsigned char byte) -> uint32_t { + return ((acc << 5) + acc) + byte; + }); } // XOR encryption (symmetric - same function for encrypt/decrypt) diff --git a/source/core/system/director.cpp b/source/core/system/director.cpp index 0266ac6..9bf61de 100644 --- a/source/core/system/director.cpp +++ b/source/core/system/director.cpp @@ -61,7 +61,8 @@ namespace { } // namespace // Constructor -Director::Director() : executable_path_(getExecutablePath()) { +Director::Director() + : executable_path_(getExecutablePath()) { std::cout << "Game start" << '\n'; // Crea la carpeta del sistema donde guardar datos diff --git a/source/game/entities/player.hpp b/source/game/entities/player.hpp index 7a6f95e..b17b89c 100644 --- a/source/game/entities/player.hpp +++ b/source/game/entities/player.hpp @@ -2,10 +2,11 @@ #include -#include // Para array -#include // Para numeric_limits -#include // Para shared_ptr, __shared_ptr_access -#include // Para string +#include // Para array +#include // Para uint8_t +#include // Para numeric_limits +#include // Para shared_ptr, __shared_ptr_access +#include // Para string #include #include "core/rendering/sprite/animated_sprite.hpp" // Para SAnimatedSprite @@ -18,14 +19,14 @@ struct JA_Sound_t; // lines 13-13 class Player { public: // --- Enums y Structs --- - enum class State { + enum class State : std::uint8_t { ON_GROUND, // En suelo plano o conveyor belt ON_SLOPE, // En rampa/pendiente JUMPING, FALLING, }; - enum class Direction { + enum class Direction : std::uint8_t { LEFT, RIGHT, UP, diff --git a/source/game/gameplay/collision_map.hpp b/source/game/gameplay/collision_map.hpp index b4a6466..087f51c 100644 --- a/source/game/gameplay/collision_map.hpp +++ b/source/game/gameplay/collision_map.hpp @@ -2,7 +2,8 @@ #include -#include // Para vector +#include // Para uint8_t +#include // Para vector #include "utils/utils.hpp" // Para LineHorizontal, LineDiagonal, LineVertical @@ -18,7 +19,7 @@ class CollisionMap { public: // Enumeración de tipos de tile (para colisiones) - enum class Tile { + enum class Tile : std::uint8_t { EMPTY, WALL, PASSABLE, diff --git a/source/game/gameplay/room.hpp b/source/game/gameplay/room.hpp index 260d6cd..33a9f5f 100644 --- a/source/game/gameplay/room.hpp +++ b/source/game/gameplay/room.hpp @@ -2,9 +2,10 @@ #include -#include // Para shared_ptr -#include // Para string -#include // Para vector +#include // Para uint8_t +#include // Para shared_ptr +#include // Para string +#include // Para vector #include "game/entities/enemy.hpp" // Para EnemyData #include "game/entities/item.hpp" // Para ItemData @@ -20,7 +21,7 @@ class TilemapRenderer; class Room { public: // -- Enumeraciones y estructuras --- - enum class Border : int { + enum class Border : std::uint8_t { TOP = 0, RIGHT = 1, BOTTOM = 2, @@ -28,7 +29,7 @@ class Room { NONE = 4 }; - enum class Tile { + enum class Tile : std::uint8_t { EMPTY, WALL, PASSABLE, diff --git a/source/game/gameplay/room_loader.cpp b/source/game/gameplay/room_loader.cpp index 8afef58..2bc4bbe 100644 --- a/source/game/gameplay/room_loader.cpp +++ b/source/game/gameplay/room_loader.cpp @@ -133,8 +133,7 @@ void RoomLoader::parseTilemap(const fkyaml::node& yaml, Room::Data& room, const for (const auto& row_node : tilemap_node) { std::vector row; row.reserve(32); - std::ranges::transform(row_node, std::back_inserter(row), - [](const auto& tile_node) { return tile_node.template get_value(); }); + std::ranges::transform(row_node, std::back_inserter(row), [](const auto& tile_node) { return tile_node.template get_value(); }); tilemap_2d.push_back(std::move(row)); } diff --git a/source/game/gameplay/scoreboard.cpp b/source/game/gameplay/scoreboard.cpp index 8f74f47..c3ef969 100644 --- a/source/game/gameplay/scoreboard.cpp +++ b/source/game/gameplay/scoreboard.cpp @@ -37,8 +37,7 @@ Scoreboard::Scoreboard(std::shared_ptr data) // Inicializa el vector de colores const std::vector COLORS = {"blue", "magenta", "green", "cyan", "yellow", "white", "bright_blue", "bright_magenta", "bright_green", "bright_cyan", "bright_yellow", "bright_white"}; color_.reserve(COLORS.size()); - std::ranges::transform(COLORS, std::back_inserter(color_), - [](const auto& color) { return stringToColor(color); }); + std::ranges::transform(COLORS, std::back_inserter(color_), [](const auto& color) { return stringToColor(color); }); } // Pinta el objeto en pantalla diff --git a/source/game/scene_manager.hpp b/source/game/scene_manager.hpp index 81a98ec..0d95bbf 100644 --- a/source/game/scene_manager.hpp +++ b/source/game/scene_manager.hpp @@ -1,5 +1,7 @@ #pragma once +#include // Para uint8_t + /* Namespace SceneManager: gestiona el flujo entre las diferentes escenas del juego. @@ -10,7 +12,7 @@ namespace SceneManager { // --- Escenas del programa --- - enum class Scene { + enum class Scene : std::uint8_t { BOOT_LOADER, // Carga inicial de recursos dirigida por iterate() LOGO, // Pantalla del logo LOADING_SCREEN, // Pantalla de carga @@ -26,7 +28,7 @@ namespace SceneManager { }; // --- Opciones para transiciones entre escenas --- - enum class Options { + enum class Options : std::uint8_t { NONE, // Sin opciones especiales LOGO_TO_LOADING_SCREEN, // Del logo a la intro LOGO_TO_TITLE, // Del logo al título diff --git a/source/game/scenes/credits.hpp b/source/game/scenes/credits.hpp index 968307f..c494e80 100644 --- a/source/game/scenes/credits.hpp +++ b/source/game/scenes/credits.hpp @@ -2,9 +2,10 @@ #include -#include // Para shared_ptr -#include // Para string -#include // Para vector +#include // Para uint8_t +#include // Para shared_ptr +#include // Para string +#include // Para vector #include "game/scenes/scene.hpp" // Para Scene class AnimatedSprite; // lines 11-11 @@ -24,7 +25,7 @@ class Credits : public Scene { private: // --- Tipos anidados --- - enum class State { + enum class State : std::uint8_t { REVEALING_TEXT, PAUSE_1, REVEALING_TEXT_2, diff --git a/source/game/scenes/ending.hpp b/source/game/scenes/ending.hpp index b8e81f5..7251b52 100644 --- a/source/game/scenes/ending.hpp +++ b/source/game/scenes/ending.hpp @@ -2,9 +2,10 @@ #include -#include // Para shared_ptr -#include // Para string -#include // Para vector +#include // Para uint8_t +#include // Para shared_ptr +#include // Para string +#include // Para vector #include "game/scenes/scene.hpp" // Para Scene class Sprite; // lines 8-8 @@ -24,7 +25,7 @@ class Ending : public Scene { private: // --- Enumeraciones --- - enum class State { + enum class State : std::uint8_t { WARMING_UP, SCENE_0, SCENE_1, diff --git a/source/game/scenes/ending2.cpp b/source/game/scenes/ending2.cpp index 6c84815..82bd26e 100644 --- a/source/game/scenes/ending2.cpp +++ b/source/game/scenes/ending2.cpp @@ -32,8 +32,7 @@ Ending2::Ending2() // Inicializa el vector de colores const std::vector COLORS = {"white", "yellow", "cyan", "green", "magenta", "red", "blue", "black"}; colors_.reserve(COLORS.size()); - std::ranges::transform(COLORS, std::back_inserter(colors_), - [](const auto& color) { return stringToColor(color); }); + std::ranges::transform(COLORS, std::back_inserter(colors_), [](const auto& color) { return stringToColor(color); }); Screen::get()->setBorderColor(static_cast(PaletteColor::BLACK)); // Cambia el color del borde iniSpriteList(); // Inicializa la lista de sprites diff --git a/source/game/scenes/ending2.hpp b/source/game/scenes/ending2.hpp index 0e2580d..96dda7c 100644 --- a/source/game/scenes/ending2.hpp +++ b/source/game/scenes/ending2.hpp @@ -2,9 +2,10 @@ #include -#include // Para shared_ptr -#include // Para string -#include // Para vector +#include // Para uint8_t +#include // Para shared_ptr +#include // Para string +#include // Para vector #include "core/rendering/sprite/dissolve_sprite.hpp" // Para SurfaceDissolveSprite #include "game/scenes/scene.hpp" // Para Scene @@ -25,7 +26,7 @@ class Ending2 : public Scene { private: // --- Enumeraciones --- - enum class EndingState : int { + enum class EndingState : std::uint8_t { PRE_CREDITS, // Estado previo a los créditos CREDITS, // Estado de los créditos POST_CREDITS, // Estado posterior a los créditos diff --git a/source/game/scenes/game.cpp b/source/game/scenes/game.cpp index b53d68d..79ee9d9 100644 --- a/source/game/scenes/game.cpp +++ b/source/game/scenes/game.cpp @@ -2,7 +2,7 @@ #include -#include // Para std::sqrt, std::min +#include // Para std::sqrt, std::min #include // Para std::accumulate #include #include // Para vector @@ -867,8 +867,7 @@ auto Game::checkEndGame() -> bool { // Obtiene la cantidad total de items que hay en el mapeado del juego auto Game::getTotalItems() -> int { const auto& rooms = Resource::Cache::get()->getRooms(); - return static_cast(std::accumulate(rooms.begin(), rooms.end(), size_t{0}, - [](size_t acc, const auto& room) { return acc + room.room->items.size(); })); + return static_cast(std::accumulate(rooms.begin(), rooms.end(), size_t{0}, [](size_t acc, const auto& room) { return acc + room.room->items.size(); })); } // Pone el juego en pausa diff --git a/source/game/scenes/game.hpp b/source/game/scenes/game.hpp index 6c29525..41c1b7e 100644 --- a/source/game/scenes/game.hpp +++ b/source/game/scenes/game.hpp @@ -2,6 +2,7 @@ #include +#include // Para uint8_t #include // Para initializer_list #include // Para shared_ptr #include // Para string @@ -19,12 +20,12 @@ class Surface; class Game : public Scene { public: // --- Estructuras --- - enum class Mode { + enum class Mode : std::uint8_t { DEMO, GAME }; - enum class State { + enum class State : std::uint8_t { PLAYING, // Normal gameplay BLACK_SCREEN, // Black screen after death (0.30s) GAME_OVER, // Intermediate state before changing scene diff --git a/source/game/scenes/game_over.cpp b/source/game/scenes/game_over.cpp index 5fa8075..5c46b1d 100644 --- a/source/game/scenes/game_over.cpp +++ b/source/game/scenes/game_over.cpp @@ -39,8 +39,7 @@ GameOver::GameOver() // Inicializa el vector de colores (de brillante a oscuro para fade) const std::vector COLORS = {"white", "yellow", "cyan", "green", "magenta", "red", "blue", "black"}; colors_.reserve(COLORS.size()); - std::ranges::transform(COLORS, std::back_inserter(colors_), - [](const auto& color) { return stringToColor(color); }); + std::ranges::transform(COLORS, std::back_inserter(colors_), [](const auto& color) { return stringToColor(color); }); color_ = colors_.back(); // Empieza en black } diff --git a/source/game/scenes/game_over.hpp b/source/game/scenes/game_over.hpp index 4ad9e7e..5eb7c20 100644 --- a/source/game/scenes/game_over.hpp +++ b/source/game/scenes/game_over.hpp @@ -2,8 +2,9 @@ #include -#include // Para shared_ptr -#include // Para vector +#include // Para uint8_t +#include // Para shared_ptr +#include // Para vector #include "game/scenes/scene.hpp" // Para Scene class AnimatedSprite; // lines 7-7 @@ -21,7 +22,7 @@ class GameOver : public Scene { private: // --- Enumeraciones --- - enum class State { + enum class State : std::uint8_t { WAITING, // Espera inicial antes de empezar FADE_IN, // Fade in de colores desde black DISPLAY, // Mostrando contenido con color brillante diff --git a/source/game/scenes/loading_screen.hpp b/source/game/scenes/loading_screen.hpp index 4dcb68d..91383a9 100644 --- a/source/game/scenes/loading_screen.hpp +++ b/source/game/scenes/loading_screen.hpp @@ -2,8 +2,9 @@ #include -#include // Para std::array -#include // Para shared_ptr +#include // Para std::array +#include // Para uint8_t +#include // Para shared_ptr #include "game/scenes/scene.hpp" // Para Scene #include "utils/delta_timer.hpp" // Para DeltaTimer @@ -24,7 +25,7 @@ class LoadingScreen : public Scene { private: // --- Enumeraciones --- // Estados de la secuencia de carga - enum class State { + enum class State : std::uint8_t { SILENT1, // Pausa inicial antes de empezar HEADER1, // Cabecera DATA1, // Datos @@ -37,7 +38,7 @@ class LoadingScreen : public Scene { }; // Tipos de borde para la pantalla de carga - enum class Border { + enum class Border : std::uint8_t { NONE, YELLOW_AND_BLUE, RED_AND_CYAN, diff --git a/source/game/scenes/logo.hpp b/source/game/scenes/logo.hpp index d334ca5..8c86fc5 100644 --- a/source/game/scenes/logo.hpp +++ b/source/game/scenes/logo.hpp @@ -2,6 +2,7 @@ #include +#include // Para uint8_t #include // Para std::function #include // Para shared_ptr #include // Para vector @@ -17,7 +18,7 @@ class Logo : public Scene { using EasingFunction = std::function; // Función de easing (permite lambdas) // --- Enumeraciones --- - enum class State { + enum class State : std::uint8_t { INITIAL, // Espera inicial JAILGAMES_SLIDE_IN, // Las líneas de JAILGAMES se deslizan hacia el centro SINCE_1998_FADE_IN, // Aparición gradual del texto "Since 1998" diff --git a/source/game/scenes/title.hpp b/source/game/scenes/title.hpp index 23ecde5..4df6e4b 100644 --- a/source/game/scenes/title.hpp +++ b/source/game/scenes/title.hpp @@ -2,10 +2,11 @@ #include -#include // Para std::array -#include // Para shared_ptr -#include // Para string -#include // Para vector +#include // Para std::array +#include // Para uint8_t +#include // Para shared_ptr +#include // Para string +#include // Para vector #include "game/scene_manager.hpp" // Para SceneManager::Scene #include "game/scenes/scene.hpp" // Para Scene @@ -34,7 +35,7 @@ class Title : public Scene { bool enabled{false}; // Solo se escriben y mueven si estan habilitadas }; - enum class State { + enum class State : std::uint8_t { SHOW_LOADING_SCREEN, FADE_LOADING_SCREEN, MAIN_MENU, diff --git a/source/game/ui/console.cpp b/source/game/ui/console.cpp index 221256e..8483d99 100644 --- a/source/game/ui/console.cpp +++ b/source/game/ui/console.cpp @@ -3,8 +3,8 @@ #include #include // Para ranges::transform -#include // Para std::accumulate #include // Para toupper +#include // Para std::accumulate #include // Para std::istringstream #include // Para string #include // Para vector @@ -182,8 +182,7 @@ void Console::update(float delta_time) { // NOLINT(readability-function-cogniti // Efecto typewriter: revelar letras una a una (solo cuando ACTIVE) if (status_ == Status::ACTIVE) { - const int total_chars = std::accumulate(msg_lines_.begin(), msg_lines_.end(), 0, - [](int acc, const auto& line) { return acc + static_cast(line.size()); }); + const int total_chars = std::accumulate(msg_lines_.begin(), msg_lines_.end(), 0, [](int acc, const auto& line) { return acc + static_cast(line.size()); }); if (typewriter_chars_ < total_chars) { typewriter_timer_ += delta_time; while (typewriter_timer_ >= TYPEWRITER_CHAR_DELAY && typewriter_chars_ < total_chars) { @@ -339,8 +338,7 @@ void Console::handleEvent(const SDL_Event& event) { // NOLINT(readability-funct if (SPACE_POS == std::string::npos) { // Modo comando: ciclar keywords visibles que empiecen por el prefijo const auto KEYWORDS = registry_.getVisibleKeywords(); - std::ranges::copy_if(KEYWORDS, std::back_inserter(tab_matches_), - [&upper](const auto& kw) { return upper.empty() || kw.starts_with(upper); }); + std::ranges::copy_if(KEYWORDS, std::back_inserter(tab_matches_), [&upper](const auto& kw) { return upper.empty() || kw.starts_with(upper); }); } else { const std::string BASE_CMD = upper.substr(0, SPACE_POS); const std::string SUB_PREFIX = upper.substr(SPACE_POS + 1); @@ -356,8 +354,7 @@ void Console::handleEvent(const SDL_Event& event) { // NOLINT(readability-funct if (tab_matches_.empty()) { break; } tab_index_ = (tab_index_ + 1) % static_cast(tab_matches_.size()); std::string result = tab_matches_[static_cast(tab_index_)]; - std::ranges::transform(result, result.begin(), - [](char c) { return static_cast(std::tolower(static_cast(c))); }); + std::ranges::transform(result, result.begin(), [](char c) { return static_cast(std::tolower(static_cast(c))); }); input_line_ = result; break; } @@ -403,8 +400,7 @@ void Console::processCommand() { // Typewriter: instantáneo si el comando lo requiere, letra a letra si no if (instant) { - typewriter_chars_ = std::accumulate(msg_lines_.begin(), msg_lines_.end(), 0, - [](int acc, const auto& l) { return acc + static_cast(l.size()); }); + typewriter_chars_ = std::accumulate(msg_lines_.begin(), msg_lines_.end(), 0, [](int acc, const auto& l) { return acc + static_cast(l.size()); }); } else { typewriter_chars_ = 0; } diff --git a/source/game/ui/console.hpp b/source/game/ui/console.hpp index 26ff22b..92f4948 100644 --- a/source/game/ui/console.hpp +++ b/source/game/ui/console.hpp @@ -2,6 +2,7 @@ #include +#include // Para uint8_t #include // Para deque (historial) #include // Para function #include // Para shared_ptr @@ -43,7 +44,7 @@ class Console { std::function on_toggle; private: - enum class Status { + enum class Status : std::uint8_t { HIDDEN, RISING, ACTIVE, diff --git a/source/game/ui/console_commands.cpp b/source/game/ui/console_commands.cpp index 4117314..f2dd8a6 100644 --- a/source/game/ui/console_commands.cpp +++ b/source/game/ui/console_commands.cpp @@ -1013,8 +1013,7 @@ void CommandRegistry::registerHandlers() { // NOLINT(readability-function-cogni std::vector result = {"NEXT", "PREV", "SORT", "DEFAULT"}; if (Screen::get() != nullptr) { const auto NAMES = Screen::get()->getPaletteNames(); - std::ranges::transform(NAMES, std::back_inserter(result), - [](const auto& name) { return toUpper(name); }); + std::ranges::transform(NAMES, std::back_inserter(result), [](const auto& name) { return toUpper(name); }); } return result; }; @@ -1120,8 +1119,7 @@ void CommandRegistry::load(const std::string& yaml_path) { // NOLINT(readabilit if (cat_node.contains("scope")) { const auto& scope_node = cat_node["scope"]; if (scope_node.is_sequence()) { - std::ranges::transform(scope_node, std::back_inserter(cat_scopes), - [](const auto& s) { return s.template get_value(); }); + std::ranges::transform(scope_node, std::back_inserter(cat_scopes), [](const auto& s) { return s.template get_value(); }); } else { cat_scopes.push_back(scope_node.get_value()); } @@ -1162,8 +1160,7 @@ void CommandRegistry::load(const std::string& yaml_path) { // NOLINT(readabilit for (auto it = completions_node.begin(); it != completions_node.end(); ++it) { auto path = it.key().get_value(); std::vector opts; - std::ranges::transform(*it, std::back_inserter(opts), - [](const auto& opt) { return opt.template get_value(); }); + std::ranges::transform(*it, std::back_inserter(opts), [](const auto& opt) { return opt.template get_value(); }); def.completions[path] = std::move(opts); } } @@ -1182,8 +1179,7 @@ void CommandRegistry::load(const std::string& yaml_path) { // NOLINT(readabilit for (auto it = extras_completions.begin(); it != extras_completions.end(); ++it) { auto path = it.key().get_value(); std::vector opts; - std::ranges::transform(*it, std::back_inserter(opts), - [](const auto& opt) { return opt.template get_value(); }); + std::ranges::transform(*it, std::back_inserter(opts), [](const auto& opt) { return opt.template get_value(); }); def.completions[path] = std::move(opts); } } diff --git a/source/game/ui/notifier.cpp b/source/game/ui/notifier.cpp index acc2fc6..138449a 100644 --- a/source/game/ui/notifier.cpp +++ b/source/game/ui/notifier.cpp @@ -306,7 +306,6 @@ auto Notifier::getVisibleHeight() const -> int { auto Notifier::getCodes() -> std::vector { std::vector codes; codes.reserve(notifications_.size()); - std::ranges::transform(notifications_, std::back_inserter(codes), - [](const auto& notification) { return notification.code; }); + std::ranges::transform(notifications_, std::back_inserter(codes), [](const auto& notification) { return notification.code; }); return codes; } \ No newline at end of file diff --git a/source/game/ui/notifier.hpp b/source/game/ui/notifier.hpp index b22d671..a907fbd 100644 --- a/source/game/ui/notifier.hpp +++ b/source/game/ui/notifier.hpp @@ -2,24 +2,25 @@ #include -#include // Para shared_ptr -#include // Para string, basic_string -#include // Para vector -class Sprite; // lines 8-8 -class Surface; // lines 10-10 -class Text; // lines 9-9 -class DeltaTimer; // lines 11-11 +#include // Para uint8_t +#include // Para shared_ptr +#include // Para string, basic_string +#include // Para vector +class Sprite; // lines 8-8 +class Surface; // lines 10-10 +class Text; // lines 9-9 +class DeltaTimer; // lines 11-11 class Notifier { public: // Justificado para las notificaciones - enum class TextAlign { + enum class TextAlign : std::uint8_t { LEFT, CENTER, }; // Forma de las notificaciones - enum class Shape { + enum class Shape : std::uint8_t { ROUNDED, SQUARED, }; @@ -65,7 +66,7 @@ class Notifier { private: // Tipos anidados - enum class Status { + enum class Status : std::uint8_t { RISING, STAY, VANISHING,