From c7b88cd05f5a4ab8d6b0b8fefd5e49436bce1d58 Mon Sep 17 00:00:00 2001 From: Sergio Valor Date: Sun, 17 May 2026 21:22:06 +0200 Subject: [PATCH] neteja NOLINT identifier-naming i lambdes a metodes privats Game --- source/core/rendering/gif.cpp | 4 +- source/core/resources/resource_pack.cpp | 6 +-- source/game/editor/map_editor.hpp | 2 +- source/game/gameplay/door_manager.cpp | 2 +- source/game/gameplay/enemy_manager.cpp | 2 +- source/game/gameplay/item_manager.cpp | 2 +- source/game/gameplay/key_manager.cpp | 2 +- source/game/scenes/game.cpp | 68 ++++++++++++------------- source/game/scenes/game.hpp | 63 ++++++++++++----------- source/utils/color.hpp | 2 +- 10 files changed, 77 insertions(+), 76 deletions(-) diff --git a/source/core/rendering/gif.cpp b/source/core/rendering/gif.cpp index 0b5c8c1..ef0ebd6 100644 --- a/source/core/rendering/gif.cpp +++ b/source/core/rendering/gif.cpp @@ -15,7 +15,7 @@ namespace GIF { } // Inicializa el diccionario LZW con los valores iniciales - inline void initializeDictionary(std::vector& dictionary, int code_length, int& dictionary_ind) { // NOLINT(readability-identifier-naming) + inline void initializeDictionary(std::vector& dictionary, int code_length, int& dictionary_ind) { int size = 1 << code_length; dictionary.resize(1 << (code_length + 1)); for (dictionary_ind = 0; dictionary_ind < size; dictionary_ind++) { @@ -55,7 +55,7 @@ namespace GIF { } // Agrega una nueva entrada al diccionario - inline void addDictionaryEntry(std::vector& dictionary, int& dictionary_ind, int& code_length, int prev, int code) { // NOLINT(readability-identifier-naming) + inline void addDictionaryEntry(std::vector& dictionary, int& dictionary_ind, int& code_length, int prev, int code) { uint8_t first_byte; if (code == dictionary_ind) { first_byte = findFirstByte(dictionary, prev); diff --git a/source/core/resources/resource_pack.cpp b/source/core/resources/resource_pack.cpp index 8fb42b9..9a832f9 100644 --- a/source/core/resources/resource_pack.cpp +++ b/source/core/resources/resource_pack.cpp @@ -19,7 +19,7 @@ namespace Resource { } // XOR encryption (symmetric - same function for encrypt/decrypt) - void Pack::encryptData(std::vector& data, const std::string& key) { // NOLINT(readability-identifier-naming) + void Pack::encryptData(std::vector& data, const std::string& key) { if (key.empty()) { return; } @@ -28,7 +28,7 @@ namespace Resource { } } - void Pack::decryptData(std::vector& data, const std::string& key) { // NOLINT(readability-identifier-naming) + void Pack::decryptData(std::vector& data, const std::string& key) { // XOR is symmetric encryptData(data, key); } @@ -79,7 +79,7 @@ namespace Resource { // Add all files from a directory recursively auto Pack::addDirectory(const std::string& dir_path, const std::string& base_path) -> bool { - namespace fs = std::filesystem; // NOLINT(readability-identifier-naming) + namespace fs = std::filesystem; if (!fs::exists(dir_path) || !fs::is_directory(dir_path)) { std::cerr << "ResourcePack: Directory not found: " << dir_path << '\n'; diff --git a/source/game/editor/map_editor.hpp b/source/game/editor/map_editor.hpp index deddc8d..1894e60 100644 --- a/source/game/editor/map_editor.hpp +++ b/source/game/editor/map_editor.hpp @@ -149,7 +149,7 @@ class MapEditor { [[nodiscard]] auto getSelectionType() const -> EntityType { return selection_.type; } private: - static MapEditor* instance_; // NOLINT(readability-identifier-naming) [SINGLETON] Objeto privado + static MapEditor* instance_; MapEditor(); // Constructor ~MapEditor(); // Destructor diff --git a/source/game/gameplay/door_manager.cpp b/source/game/gameplay/door_manager.cpp index 1482e0f..21528af 100644 --- a/source/game/gameplay/door_manager.cpp +++ b/source/game/gameplay/door_manager.cpp @@ -17,7 +17,7 @@ DoorManager::DoorManager(std::string room_id, SolidActorManager* solid_actors) // Añade una puerta y la registra en el SolidActorManager. El bit // BLOCKS_PLAYER del propio Door determina si bloquea al Player (se setea en // el constructor si la puerta no arranca ya abierta desde el DoorTracker). -void DoorManager::addDoor(std::shared_ptr door) { // NOLINT(readability-identifier-naming) +void DoorManager::addDoor(std::shared_ptr door) { solid_actors_->registerActor(door.get()); doors_.push_back(std::move(door)); } diff --git a/source/game/gameplay/enemy_manager.cpp b/source/game/gameplay/enemy_manager.cpp index 70d63fd..6b28e0e 100644 --- a/source/game/gameplay/enemy_manager.cpp +++ b/source/game/gameplay/enemy_manager.cpp @@ -6,7 +6,7 @@ #include "utils/utils.hpp" // Para checkCollision // Añade un enemigo a la colección -void EnemyManager::addEnemy(std::shared_ptr enemy) { // NOLINT(readability-identifier-naming) +void EnemyManager::addEnemy(std::shared_ptr enemy) { enemies_.push_back(std::move(enemy)); } diff --git a/source/game/gameplay/item_manager.cpp b/source/game/gameplay/item_manager.cpp index 480b41c..5a8b59b 100644 --- a/source/game/gameplay/item_manager.cpp +++ b/source/game/gameplay/item_manager.cpp @@ -15,7 +15,7 @@ ItemManager::ItemManager(std::string room_id, std::shared_ptr } // Añade un item a la colección -void ItemManager::addItem(std::shared_ptr item) { // NOLINT(readability-identifier-naming) +void ItemManager::addItem(std::shared_ptr item) { items_.push_back(std::move(item)); } diff --git a/source/game/gameplay/key_manager.cpp b/source/game/gameplay/key_manager.cpp index e287d5c..8d21a36 100644 --- a/source/game/gameplay/key_manager.cpp +++ b/source/game/gameplay/key_manager.cpp @@ -15,7 +15,7 @@ KeyManager::KeyManager(std::string room_id) } // Añade una llave a la colección -void KeyManager::addKey(std::shared_ptr key) { // NOLINT(readability-identifier-naming) +void KeyManager::addKey(std::shared_ptr key) { keys_.push_back(std::move(key)); } diff --git a/source/game/scenes/game.cpp b/source/game/scenes/game.cpp index c491fe7..d14cf41 100644 --- a/source/game/scenes/game.cpp +++ b/source/game/scenes/game.cpp @@ -798,36 +798,41 @@ auto Game::getOrCreateRoom(const std::string& room_path) -> std::shared_ptr const std::vector* { + auto name = room_->getRoom(border); + if (name == "0") { return nullptr; } + return &getOrCreateRoom(name)->getCollisionTileMap(); +} + +// Obtiene el collision tilemap de una room diagonal (A→B o C→D) +auto Game::getDiagCollision(Room::Border first, Room::Border second) -> const std::vector* { + // Camino 1: room en dirección 'first', luego su adyacente en dirección 'second' + auto name1 = room_->getRoom(first); + if (name1 != "0") { + auto r = getOrCreateRoom(name1); + auto name2 = r->getRoom(second); + if (name2 != "0") { return &getOrCreateRoom(name2)->getCollisionTileMap(); } + } + // Camino 2: room en dirección 'second', luego su adyacente en dirección 'first' + auto name3 = room_->getRoom(second); + if (name3 != "0") { + auto r = getOrCreateRoom(name3); + auto name4 = r->getRoom(first); + if (name4 != "0") { return &getOrCreateRoom(name4)->getCollisionTileMap(); } + } + return nullptr; +} + +// SolidActorManager de la room adyacente (nullptr si no existe) +auto Game::getAdjacentSolidActors(Room::Border border) -> SolidActorManager* { + auto name = room_->getRoom(border); + if (name == "0") { return nullptr; } + return &getOrCreateRoom(name)->getSolidActors(); +} + // Construye el tilemap extendido de la room actual con los bordes de las adyacentes void Game::buildCollisionBorders() { - // NOLINTBEGIN(readability-identifier-naming) -- lambdas locales: se leen como llamadas a función, no son constantes. - // Helper: obtiene el collision tilemap de una room adyacente (nullptr si no existe) - auto getAdjacentCollision = [&](Room::Border b) -> const std::vector* { - auto name = room_->getRoom(b); - if (name == "0") { return nullptr; } - return &getOrCreateRoom(name)->getCollisionTileMap(); - }; - - // Helper: obtiene el collision tilemap de una room diagonal (A→B o C→D) - auto getDiagCollision = [&](Room::Border first, Room::Border second) -> const std::vector* { - // Camino 1: room en dirección 'first', luego su adyacente en dirección 'second' - auto name1 = room_->getRoom(first); - if (name1 != "0") { - auto r = getOrCreateRoom(name1); - auto name2 = r->getRoom(second); - if (name2 != "0") { return &getOrCreateRoom(name2)->getCollisionTileMap(); } - } - // Camino 2: room en dirección 'second', luego su adyacente en dirección 'first' - auto name3 = room_->getRoom(second); - if (name3 != "0") { - auto r = getOrCreateRoom(name3); - auto name4 = r->getRoom(first); - if (name4 != "0") { return &getOrCreateRoom(name4)->getCollisionTileMap(); } - } - return nullptr; - }; - // NOLINTEND(readability-identifier-naming) - CollisionMap::AdjacentData adj; adj.top = getAdjacentCollision(Room::Border::TOP); adj.bottom = getAdjacentCollision(Room::Border::BOTTOM); @@ -845,13 +850,6 @@ void Game::buildCollisionBorders() { // que los sweeps del Player vean AABBs dinámicos (puertas, plataformas) // de la room vecina cuando está cerca del borde, sin tener que esperar // a una transición completa de room. - // NOLINTNEXTLINE(readability-identifier-naming) -- lambda local: se lee como función, no es constante. - auto getAdjacentSolidActors = [&](Room::Border b) -> SolidActorManager* { - auto name = room_->getRoom(b); - if (name == "0") { return nullptr; } - return &getOrCreateRoom(name)->getSolidActors(); - }; - SolidActorManager::AdjacentActors sadj; sadj.upper = getAdjacentSolidActors(Room::Border::TOP); sadj.lower = getAdjacentSolidActors(Room::Border::BOTTOM); diff --git a/source/game/scenes/game.hpp b/source/game/scenes/game.hpp index 0b5d004..6cb3786 100644 --- a/source/game/scenes/game.hpp +++ b/source/game/scenes/game.hpp @@ -57,36 +57,39 @@ class Game { }; // --- Métodos --- - static void handleEvents(); // Comprueba los eventos de la cola - void transitionToState(State new_state); // Cambia al estado especificado y resetea los timers - void updatePlaying(float delta_time); // Actualiza el juego en estado PLAYING - void updateBlackScreen(float delta_time); // Actualiza el juego en estado BLACK_SCREEN - void updateGameOver(float delta_time); // Actualiza el juego en estado GAME_OVER - void updateFadeToEnding(float delta_time); // Actualiza el juego en estado FADE_TO_ENDING - void updatePostFadeEnding(float delta_time); // Actualiza el juego en estado POST_FADE_ENDING - void renderPlaying(); // Renderiza el juego en estado PLAYING (directo a pantalla) - static void renderBlackScreen(); // Renderiza el juego en estado BLACK_SCREEN (pantalla negra) - static void renderGameOver(); // Renderiza el juego en estado GAME_OVER (pantalla negra) - void renderFadeToEnding(); // Renderiza el juego en estado FADE_TO_ENDING (via backbuffer) - static void renderPostFadeEnding(); // Renderiza el juego en estado POST_FADE_ENDING (pantalla negra) - auto changeRoom(const std::string& room_path) -> bool; // Cambia de habitación - auto getOrCreateRoom(const std::string& room_path) -> std::shared_ptr; // Obtiene una habitación del caché o la crea - void buildCollisionBorders(); // Rellena el tilemap extendido de la room actual con bordes adyacentes - void updateAdjacentRooms(float delta_time); // Actualiza enemigos de las habitaciones adyacentes - void handleInput(); // Comprueba el teclado - void checkPlayerIsOnBorder(); // Comprueba si el jugador esta en el borde de la pantalla y actua - auto checkPlayerAndEnemies() -> bool; // Comprueba las colisiones del jugador con los enemigos - void checkPlayerAndItems(); // Comprueba las colisiones del jugador con los objetos - void checkPlayerAndKeys(); // Comprueba las colisiones del jugador con las llaves - void checkIfPlayerIsAlive(); // Comprueba si el jugador esta vivo - void killPlayer(); // Mata al jugador - void togglePause(); // Pone el juego en pausa - void initPlayer(const Player::SpawnData& spawn_point, std::shared_ptr room); // Inicializa al jugador - void endTransition(); // Finaliza la transición entre pantallas - void keepMusicPlaying(); // Hace sonar la música (safety net, delega en updateMusicForRoom) - void updateMusicForRoom(); // Sincroniza la música con la zona de la room actual - void demoInit(); // DEMO MODE: Inicializa las variables para el modo demo - void demoCheckRoomChange(float delta_time); // DEMO MODE: Comprueba si se ha de cambiar de habitación + static void handleEvents(); // Comprueba los eventos de la cola + void transitionToState(State new_state); // Cambia al estado especificado y resetea los timers + void updatePlaying(float delta_time); // Actualiza el juego en estado PLAYING + void updateBlackScreen(float delta_time); // Actualiza el juego en estado BLACK_SCREEN + void updateGameOver(float delta_time); // Actualiza el juego en estado GAME_OVER + void updateFadeToEnding(float delta_time); // Actualiza el juego en estado FADE_TO_ENDING + void updatePostFadeEnding(float delta_time); // Actualiza el juego en estado POST_FADE_ENDING + void renderPlaying(); // Renderiza el juego en estado PLAYING (directo a pantalla) + static void renderBlackScreen(); // Renderiza el juego en estado BLACK_SCREEN (pantalla negra) + static void renderGameOver(); // Renderiza el juego en estado GAME_OVER (pantalla negra) + void renderFadeToEnding(); // Renderiza el juego en estado FADE_TO_ENDING (via backbuffer) + static void renderPostFadeEnding(); // Renderiza el juego en estado POST_FADE_ENDING (pantalla negra) + auto changeRoom(const std::string& room_path) -> bool; // Cambia de habitación + auto getOrCreateRoom(const std::string& room_path) -> std::shared_ptr; // Obtiene una habitación del caché o la crea + void buildCollisionBorders(); // Rellena el tilemap extendido de la room actual con bordes adyacentes + auto getAdjacentCollision(Room::Border border) -> const std::vector*; // Collision tilemap de la room adyacente o nullptr + auto getDiagCollision(Room::Border first, Room::Border second) -> const std::vector*; // Collision tilemap de la room diagonal o nullptr + auto getAdjacentSolidActors(Room::Border border) -> SolidActorManager*; // SolidActorManager de la room adyacente o nullptr + void updateAdjacentRooms(float delta_time); // Actualiza enemigos de las habitaciones adyacentes + void handleInput(); // Comprueba el teclado + void checkPlayerIsOnBorder(); // Comprueba si el jugador esta en el borde de la pantalla y actua + auto checkPlayerAndEnemies() -> bool; // Comprueba las colisiones del jugador con los enemigos + void checkPlayerAndItems(); // Comprueba las colisiones del jugador con los objetos + void checkPlayerAndKeys(); // Comprueba las colisiones del jugador con las llaves + void checkIfPlayerIsAlive(); // Comprueba si el jugador esta vivo + void killPlayer(); // Mata al jugador + void togglePause(); // Pone el juego en pausa + void initPlayer(const Player::SpawnData& spawn_point, std::shared_ptr room); // Inicializa al jugador + void endTransition(); // Finaliza la transición entre pantallas + void keepMusicPlaying(); // Hace sonar la música (safety net, delega en updateMusicForRoom) + void updateMusicForRoom(); // Sincroniza la música con la zona de la room actual + void demoInit(); // DEMO MODE: Inicializa las variables para el modo demo + void demoCheckRoomChange(float delta_time); // DEMO MODE: Comprueba si se ha de cambiar de habitación #ifdef _DEBUG static void renderDebugInfo(); // Pone la información de debug en pantalla void handleDebugEvents(const SDL_Event& event); // Comprueba los eventos diff --git a/source/utils/color.hpp b/source/utils/color.hpp index 4aa9da0..0500882 100644 --- a/source/utils/color.hpp +++ b/source/utils/color.hpp @@ -78,7 +78,7 @@ class Color { * @param color Color del enum Cpc * @return Índice de paleta (Uint8) */ - static constexpr auto getIndex(Cpc color) -> Uint8 { // NOLINT(readability-identifier-naming) + static constexpr auto getIndex(Cpc color) -> Uint8 { return static_cast(color); }