diff --git a/source/core/input/input.cpp b/source/core/input/input.cpp index 2de032e..26acc51 100644 --- a/source/core/input/input.cpp +++ b/source/core/input/input.cpp @@ -341,7 +341,7 @@ void Input::resetInputStates() { key.second.just_pressed = false; } // Resetear todos los ControllerBindings.active a false - for (auto& gamepad : gamepads_) { + for (const auto& gamepad : gamepads_) { for (auto& binding : gamepad->bindings) { binding.second.is_held = false; binding.second.just_pressed = false; diff --git a/source/core/input/input.hpp b/source/core/input/input.hpp index 9ac73b9..7159833 100644 --- a/source/core/input/input.hpp +++ b/source/core/input/input.hpp @@ -89,7 +89,7 @@ class Input { std::string path; std::unordered_map bindings; - Gamepad(SDL_Gamepad* gamepad) + explicit Gamepad(SDL_Gamepad* gamepad) : pad(gamepad), instance_id(SDL_GetJoystickID(SDL_GetGamepadJoystick(gamepad))), name(std::string(SDL_GetGamepadName(gamepad))), diff --git a/source/core/rendering/surface_animated_sprite.hpp b/source/core/rendering/surface_animated_sprite.hpp index bda954a..1c808b8 100644 --- a/source/core/rendering/surface_animated_sprite.hpp +++ b/source/core/rendering/surface_animated_sprite.hpp @@ -46,8 +46,8 @@ class SurfaceAnimatedSprite : public SurfaceMovingSprite { // [DOC:29/10/2025] la surface ara se pillarà del .ANI. // Necesite constructors que no requereixquen la surface al crear el objecte, // ja que la trau al llegir el arxiu. Aixó afecta a totes les classes base... - SurfaceAnimatedSprite(const std::string& file_path); - SurfaceAnimatedSprite(const Animations& animations); + explicit SurfaceAnimatedSprite(const std::string& file_path); + explicit SurfaceAnimatedSprite(const Animations& animations); // [/DOC] SurfaceAnimatedSprite(std::shared_ptr surface, const std::string& file_path); SurfaceAnimatedSprite(std::shared_ptr surface, const Animations& animations); diff --git a/source/core/resources/resource.hpp b/source/core/resources/resource.hpp index 9219a91..7ebd901 100644 --- a/source/core/resources/resource.hpp +++ b/source/core/resources/resource.hpp @@ -51,7 +51,7 @@ struct ResourcePalette { Palette palette; // Paleta // Constructor - ResourcePalette(std::string name, Palette palette) + ResourcePalette(std::string name, const Palette& palette) : name(std::move(name)), palette(palette) {} }; diff --git a/source/game/entities/player.cpp b/source/game/entities/player.cpp index 5cc9268..e6992b1 100644 --- a/source/game/entities/player.cpp +++ b/source/game/entities/player.cpp @@ -525,8 +525,6 @@ void Player::playFallSound() { // Comprueba si el jugador tiene suelo debajo de los pies auto Player::isOnFloor() -> bool { bool on_floor = false; - bool on_slope_l = false; - bool on_slope_r = false; updateFeet(); @@ -537,8 +535,8 @@ auto Player::isOnFloor() -> bool { } // Comprueba las rampas - on_slope_l = room_->checkLeftSlopes(under_feet_.data()); - on_slope_r = room_->checkRightSlopes(&under_feet_[1]); + auto on_slope_l = room_->checkLeftSlopes(under_feet_.data()); + auto on_slope_r = room_->checkRightSlopes(&under_feet_[1]); return on_floor || on_slope_l || on_slope_r; } diff --git a/source/game/gameplay/cheevos.cpp b/source/game/gameplay/cheevos.cpp index ec357aa..10fd4a9 100644 --- a/source/game/gameplay/cheevos.cpp +++ b/source/game/gameplay/cheevos.cpp @@ -2,9 +2,10 @@ #include -#include // Para NULL -#include // Para basic_ostream, operator<<, basic_ofstream -#include // Para cout, cerr +#include // Para std::count_if +#include // Para NULL +#include // Para basic_ostream, operator<<, basic_ofstream +#include // Para cout, cerr #include #include "game/options.hpp" // Para Options, options @@ -159,13 +160,8 @@ void Cheevos::saveToFile() { // Devuelve el número total de logros desbloqueados auto Cheevos::getTotalUnlockedAchievements() -> int { - int count = 0; - for (const auto& cheevo : cheevos_list_) { - if (cheevo.completed) { - count++; - } - } - return count; + return std::count_if(cheevos_list_.begin(), cheevos_list_.end(), + [](const auto& cheevo) { return cheevo.completed; }); } // Elimina el estado "no obtenible" diff --git a/source/game/scenes/loading_screen.cpp b/source/game/scenes/loading_screen.cpp index aadcd29..57409af 100644 --- a/source/game/scenes/loading_screen.cpp +++ b/source/game/scenes/loading_screen.cpp @@ -288,20 +288,17 @@ void LoadingScreen::renderHeaderBorder() const { const auto COLOR = carrier_.toggle ? static_cast(PaletteColor::RED) : static_cast(PaletteColor::CYAN); const int WIDTH = Options::game.width + (Options::video.border.width * 2); const int HEIGHT = Options::game.height + (Options::video.border.height * 2); - bool draw_enabled = true; - + // Primera linea (con el color y tamaño de la portadora) int row = 0; const int FIRST_ROW_HEIGHT = static_cast(carrier_.offset); - if (draw_enabled) { - for (int i = row; i < row + FIRST_ROW_HEIGHT; ++i) { - border->drawLine(0, i, WIDTH, i, COLOR); - } + for (int i = row; i < row + FIRST_ROW_HEIGHT; ++i) { + border->drawLine(0, i, WIDTH, i, COLOR); } row += FIRST_ROW_HEIGHT; - draw_enabled = !draw_enabled; - + // Resto de lineas (siguen a la portadora) + bool draw_enabled = false; while (row < HEIGHT) { if (draw_enabled) { for (int i = row; i < row + HEADER_DATAROW_HEIGHT; ++i) {