From 1214599c4c06ab8ebb35777a5bdfacc866a02baf Mon Sep 17 00:00:00 2001 From: Sergio Valor Date: Wed, 20 May 2026 11:45:50 +0200 Subject: [PATCH] Lint: rename de helpers file-static y constexpr locales MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Tanda local de identifier-naming: ningún símbolo cross-file, todo contenido en su propio TU. De paso traduce los catalán/spanish a inglés allá donde aplica. - shape_renderer.cpp: apply_3d_rotation → apply3dRotation, transform_point → transformPoint, perspective_factor → PERSPECTIVE_FACTOR (constexpr). - debris_manager.cpp: transform_point → transformPoint (otro file-static con el mismo nombre, no comparte símbolo con shape_renderer). - logo_scene.cpp: calcular_progress_letra → computeLetterProgress. - vector_text.cpp: char_width/char_height → BASE_CHAR_WIDTH/BASE_CHAR_HEIGHT (el sufijo BASE_ evita el conflicto con la macro CHAR_WIDTH de Windows headers que clang-tidy detectó). - floating_score_manager.cpp::draw: constexpr scale/spacing → SCALE/SPACING. - game_scene.cpp::dibuixar_missatge_stage: escala_base/spacing → BASE_SCALE/SPACING (constexpr locales). - game_scene.cpp::dibuixar_continue: constexpr spacing → SPACING. - game_scene.cpp en stepGameOver: constexpr scale/spacing → SCALE/SPACING. - ship_animator.cpp::actualizar_exiting: constexpr Vec2 punt_fuga → VANISHING_POINT. Co-Authored-By: Claude Opus 4.7 (1M context) --- source/core/graphics/vector_text.cpp | 14 +++++----- source/core/rendering/shape_renderer.cpp | 18 ++++++------- source/game/effects/debris_manager.cpp | 6 ++--- .../game/effects/floating_score_manager.cpp | 6 ++--- source/game/scenes/game_scene.cpp | 26 +++++++++---------- source/game/scenes/logo_scene.cpp | 6 ++--- source/game/stage_system/stage_manager.hpp | 2 +- source/game/title/ship_animator.cpp | 6 ++--- 8 files changed, 42 insertions(+), 42 deletions(-) diff --git a/source/core/graphics/vector_text.cpp b/source/core/graphics/vector_text.cpp index b494bfa..f2ce020 100644 --- a/source/core/graphics/vector_text.cpp +++ b/source/core/graphics/vector_text.cpp @@ -11,8 +11,8 @@ namespace Graphics { // Constants para mides base dels caràcters -constexpr float char_width = 20.0F; // Amplada base del caràcter -constexpr float char_height = 40.0F; // Altura base del caràcter +constexpr float BASE_CHAR_WIDTH = 20.0F; // Amplada base del caràcter +constexpr float BASE_CHAR_HEIGHT = 40.0F; // Altura base del caràcter VectorText::VectorText(Rendering::Renderer* renderer) : renderer_(renderer) { @@ -185,16 +185,16 @@ void VectorText::render(const std::string& text, const Vec2& position, float sca } // Ancho de un carácter base (20 px a scale 1.0) - const float char_width_scaled = char_width * scale; + const float char_width_scaled = BASE_CHAR_WIDTH * scale; // Spacing escalado const float spacing_scaled = spacing * scale; // Altura de un carácter escalado (necesario para ajustar Y) - const float char_height_scaled = char_height * scale; + const float char_height_scaled = BASE_CHAR_HEIGHT * scale; // Posición X del borde izquierdo del carácter actual - // (se ajustará +char_width/2 para obtener el centro al renderizar) + // (se ajustará +BASE_CHAR_WIDTH/2 para obtener el centro al renderizar) float current_x = position.x; // Iterar sobre cada byte del string (con detecció UTF-8) @@ -254,7 +254,7 @@ auto VectorText::get_text_width(const std::string& text, float scale, float spac return 0.0F; } - const float char_width_scaled = char_width * scale; + const float char_width_scaled = BASE_CHAR_WIDTH * scale; const float spacing_scaled = spacing * scale; // Contar caracteres visuals (no bytes) - manejar UTF-8 @@ -277,7 +277,7 @@ auto VectorText::get_text_width(const std::string& text, float scale, float spac } auto VectorText::get_text_height(float scale) const -> float { - return char_height * scale; + return BASE_CHAR_HEIGHT * scale; } } // namespace Graphics diff --git a/source/core/rendering/shape_renderer.cpp b/source/core/rendering/shape_renderer.cpp index cc8bc8c..f39e9a2 100644 --- a/source/core/rendering/shape_renderer.cpp +++ b/source/core/rendering/shape_renderer.cpp @@ -11,7 +11,7 @@ namespace Rendering { // Helper: aplicar rotación 3D a un point 2D (assumeix Z=0) -static auto apply_3d_rotation(float x, float y, const Rotation3D& rot) -> Vec2 { +static auto apply3dRotation(float x, float y, const Rotation3D& rot) -> Vec2 { float z = 0.0F; // Todos los points 2D comencen a Z=0 // Pitch (rotación eix X): cabeceo arriba/baix @@ -35,21 +35,21 @@ static auto apply_3d_rotation(float x, float y, const Rotation3D& rot) -> Vec2 { // Proyecció perspectiva (Z-divide simple) // Naves quieren hacia el point de fuga (320, 240) a "infinit" (Z → +∞) // Z més grande = més lluny = més pequeño a pantalla - constexpr float perspective_factor = 500.0F; - float scale_factor = perspective_factor / (perspective_factor + z2); + constexpr float PERSPECTIVE_FACTOR = 500.0F; + float scale_factor = PERSPECTIVE_FACTOR / (PERSPECTIVE_FACTOR + z2); return {.x = x3 * scale_factor, .y = y3 * scale_factor}; } // Helper: transformar un point con rotación, scale i traslación -static auto transform_point(const Vec2& point, const Vec2& shape_centre, const Vec2& position, float angle, float scale, const Rotation3D* rotation_3d) -> Vec2 { +static auto transformPoint(const Vec2& point, const Vec2& shape_centre, const Vec2& position, float angle, float scale, const Rotation3D* rotation_3d) -> Vec2 { // 1. Centrar el point respecte al centro de la shape float centered_x = point.x - shape_centre.x; float centered_y = point.y - shape_centre.y; // 2. Aplicar rotación 3D (si es proporciona) if ((rotation_3d != nullptr) && rotation_3d->has_rotation()) { - Vec2 rotated_3d = apply_3d_rotation(centered_x, centered_y, *rotation_3d); + Vec2 rotated_3d = apply3dRotation(centered_x, centered_y, *rotation_3d); centered_x = rotated_3d.x; centered_y = rotated_3d.y; } @@ -94,14 +94,14 @@ void render_shape(Rendering::Renderer* renderer, if (primitive.type == Graphics::PrimitiveType::POLYLINE) { // POLYLINE: conectar puntos consecutivos. for (size_t i = 0; i < primitive.points.size() - 1; i++) { - const Vec2 P1 = transform_point(primitive.points[i], SHAPE_CENTRE, position, angle, scale, rotation_3d); - const Vec2 P2 = transform_point(primitive.points[i + 1], SHAPE_CENTRE, position, angle, scale, rotation_3d); + const Vec2 P1 = transformPoint(primitive.points[i], SHAPE_CENTRE, position, angle, scale, rotation_3d); + const Vec2 P2 = transformPoint(primitive.points[i + 1], SHAPE_CENTRE, position, angle, scale, rotation_3d); linea(renderer, static_cast(P1.x), static_cast(P1.y), static_cast(P2.x), static_cast(P2.y), brightness, 0.0F, color); } } else if (primitive.points.size() >= 2) { // LINE - const Vec2 P1 = transform_point(primitive.points[0], SHAPE_CENTRE, position, angle, scale, rotation_3d); - const Vec2 P2 = transform_point(primitive.points[1], SHAPE_CENTRE, position, angle, scale, rotation_3d); + const Vec2 P1 = transformPoint(primitive.points[0], SHAPE_CENTRE, position, angle, scale, rotation_3d); + const Vec2 P2 = transformPoint(primitive.points[1], SHAPE_CENTRE, position, angle, scale, rotation_3d); linea(renderer, static_cast(P1.x), static_cast(P1.y), static_cast(P2.x), static_cast(P2.y), brightness, 0.0F, color); } diff --git a/source/game/effects/debris_manager.cpp b/source/game/effects/debris_manager.cpp index 887c67f..2975aa1 100644 --- a/source/game/effects/debris_manager.cpp +++ b/source/game/effects/debris_manager.cpp @@ -16,7 +16,7 @@ namespace Effects { // Helper: transformar point con rotación, scale i traslación // (Copiat de shape_renderer.cpp:12-34) -static auto transform_point(const Vec2& point, const Vec2& shape_centre, const Vec2& position, float angle, float scale) -> Vec2 { +static auto transformPoint(const Vec2& point, const Vec2& shape_centre, const Vec2& position, float angle, float scale) -> Vec2 { // 1. Centrar el point respecte al centro de la shape float centered_x = point.x - shape_centre.x; float centered_y = point.y - shape_centre.y; @@ -86,9 +86,9 @@ void DebrisManager::explode(const std::shared_ptr& shape, for (const auto& [local_p1, local_p2] : segments) { // 1. Transformar points locals → coordenades mundials Vec2 world_p1 = - transform_point(local_p1, shape_centre, centro, angle, scale); + transformPoint(local_p1, shape_centre, centro, angle, scale); Vec2 world_p2 = - transform_point(local_p2, shape_centre, centro, angle, scale); + transformPoint(local_p2, shape_centre, centro, angle, scale); // 2. Trobar slot lliure Debris* debris = findFreeSlot(); diff --git a/source/game/effects/floating_score_manager.cpp b/source/game/effects/floating_score_manager.cpp index 6016832..efb7a14 100644 --- a/source/game/effects/floating_score_manager.cpp +++ b/source/game/effects/floating_score_manager.cpp @@ -64,10 +64,10 @@ void FloatingScoreManager::draw() { } // Renderizar centrat con brightness (fade) - constexpr float scale = Defaults::FloatingScore::SCALE; - constexpr float spacing = Defaults::FloatingScore::SPACING; + constexpr float SCALE = Defaults::FloatingScore::SCALE; + constexpr float SPACING = Defaults::FloatingScore::SPACING; - text_.renderCentered(pf.text, pf.position, scale, spacing, pf.brightness); + text_.renderCentered(pf.text, pf.position, SCALE, SPACING, pf.brightness); } } diff --git a/source/game/scenes/game_scene.cpp b/source/game/scenes/game_scene.cpp index 99331c1..03bc026 100644 --- a/source/game/scenes/game_scene.cpp +++ b/source/game/scenes/game_scene.cpp @@ -528,15 +528,15 @@ void GameScene::draw() { // Draw centered "GAME OVER" text const std::string game_over_text = "GAME OVER"; - constexpr float scale = Defaults::Game::GameOverScreen::TEXT_SCALE; - constexpr float spacing = Defaults::Game::GameOverScreen::TEXT_SPACING; + constexpr float SCALE = Defaults::Game::GameOverScreen::TEXT_SCALE; + constexpr float SPACING = Defaults::Game::GameOverScreen::TEXT_SPACING; // Calcular centro de l'àrea de juego usant constants const SDL_FRect& play_area = Defaults::Zones::PLAYAREA; float centre_x = play_area.x + (play_area.w / 2.0F); float centre_y = play_area.y + (play_area.h / 2.0F); - text_.renderCentered(game_over_text, {.x = centre_x, .y = centre_y}, scale, spacing); + text_.renderCentered(game_over_text, {.x = centre_x, .y = centre_y}, SCALE, SPACING); dibuixar_marcador(); return; @@ -790,8 +790,8 @@ auto GameScene::buildScoreboard() const -> std::string { // [NEW] Stage system helper methods void GameScene::dibuixar_missatge_stage(const std::string& message) { - constexpr float escala_base = 1.0F; - constexpr float spacing = 2.0F; + constexpr float BASE_SCALE = 1.0F; + constexpr float SPACING = 2.0F; const SDL_FRect& play_area = Defaults::Zones::PLAYAREA; const float max_width = play_area.w * Defaults::Game::STAGE_MESSAGE_MAX_WIDTH_RATIO; @@ -834,15 +834,15 @@ void GameScene::dibuixar_missatge_stage(const std::string& message) { // =================================================== // Calculate text width at base scale (using FULL message for position calculation) - float text_width_at_base = text_.get_text_width(message, escala_base, spacing); + float text_width_at_base = text_.get_text_width(message, BASE_SCALE, SPACING); // Auto-scale if text exceeds max width float scale = (text_width_at_base <= max_width) - ? escala_base + ? BASE_SCALE : max_width / text_width_at_base; // Recalculate dimensions with final scale (using FULL message for centering) - float full_text_width = text_.get_text_width(message, scale, spacing); + float full_text_width = text_.get_text_width(message, scale, SPACING); float text_height = text_.get_text_height(scale); // Calculate position as if FULL text was there (for fixed position typewriter) @@ -851,7 +851,7 @@ void GameScene::dibuixar_missatge_stage(const std::string& message) { // Render only the partial message (typewriter effect) Vec2 pos = {.x = x, .y = y}; - text_.render(partial_message, pos, scale, spacing); + text_.render(partial_message, pos, scale, SPACING); } // ======================================== @@ -910,7 +910,7 @@ void GameScene::disparar_bala(uint8_t player_id) { void GameScene::dibuixar_continue() { const SDL_FRect& play_area = Defaults::Zones::PLAYAREA; - constexpr float spacing = 4.0F; + constexpr float SPACING = 4.0F; // "CONTINUE" text (using constants) const std::string continue_text = "CONTINUE"; @@ -920,7 +920,7 @@ void GameScene::dibuixar_continue() { float centre_x = play_area.x + (play_area.w / 2.0F); float centre_y_continue = play_area.y + (play_area.h * y_ratio_continue); - text_.renderCentered(continue_text, {.x = centre_x, .y = centre_y_continue}, escala_continue, spacing); + text_.renderCentered(continue_text, {.x = centre_x, .y = centre_y_continue}, escala_continue, SPACING); // Countdown number (using constants) const std::string counter_str = std::to_string(continue_counter_); @@ -929,7 +929,7 @@ void GameScene::dibuixar_continue() { float centre_y_counter = play_area.y + (play_area.h * y_ratio_counter); - text_.renderCentered(counter_str, {.x = centre_x, .y = centre_y_counter}, escala_counter, spacing); + text_.renderCentered(counter_str, {.x = centre_x, .y = centre_y_counter}, escala_counter, SPACING); // "CONTINUES LEFT" (conditional + using constants) if (!Defaults::Game::INFINITE_CONTINUES) { @@ -939,7 +939,7 @@ void GameScene::dibuixar_continue() { float centre_y_info = play_area.y + (play_area.h * y_ratio_info); - text_.renderCentered(continues_text, {.x = centre_x, .y = centre_y_info}, escala_info, spacing); + text_.renderCentered(continues_text, {.x = centre_x, .y = centre_y_info}, escala_info, SPACING); } } diff --git a/source/game/scenes/logo_scene.cpp b/source/game/scenes/logo_scene.cpp index 39b4f1c..75121b4 100644 --- a/source/game/scenes/logo_scene.cpp +++ b/source/game/scenes/logo_scene.cpp @@ -22,7 +22,7 @@ using Option = SceneContext::Option; // Helper: calcular el progrés individual de una lletra // en función del progrés global (efecte seqüencial) -static auto calcular_progress_letra(size_t letra_index, size_t num_letras, float global_progress, float threshold) -> float { +static auto computeLetterProgress(size_t letra_index, size_t num_letras, float global_progress, float threshold) -> float { if (num_letras == 0) { return 1.0F; } @@ -232,7 +232,7 @@ void LogoScene::update(float delta_time) { for (size_t i = 0; i < lletres_.size() && i < so_reproduit_.size(); i++) { if (!so_reproduit_[i]) { - float letra_progress = calcular_progress_letra( + float letra_progress = computeLetterProgress( i, lletres_.size(), global_progress, @@ -300,7 +300,7 @@ void LogoScene::draw() { for (size_t i = 0; i < lletres_.size(); i++) { const auto& lletra = lletres_[i]; - float letra_progress = calcular_progress_letra( + float letra_progress = computeLetterProgress( i, lletres_.size(), global_progress, diff --git a/source/game/stage_system/stage_manager.hpp b/source/game/stage_system/stage_manager.hpp index 374dc83..75a28a1 100644 --- a/source/game/stage_system/stage_manager.hpp +++ b/source/game/stage_system/stage_manager.hpp @@ -12,7 +12,7 @@ namespace StageSystem { // Estats del stage system -enum class EstatStage { +enum class EstatStage : std::uint8_t { INIT_HUD, // Animación inicial del HUD (3s) LEVEL_START, // Pantalla "ENEMY INCOMING" (3s) PLAYING, // Gameplay normal diff --git a/source/game/title/ship_animator.cpp b/source/game/title/ship_animator.cpp index b77b364..675f0bd 100644 --- a/source/game/title/ship_animator.cpp +++ b/source/game/title/ship_animator.cpp @@ -233,12 +233,12 @@ void ShipAnimator::actualitzar_exiting(TitleShip& ship, float delta_time) { float eased_progress = Easing::ease_in_quad(progress); // Vec2 de fuga (centro del starfield) - constexpr Vec2 punt_fuga{.x = VANISHING_POINT_X, .y = VANISHING_POINT_Y}; + constexpr Vec2 VANISHING_POINT{.x = VANISHING_POINT_X, .y = VANISHING_POINT_Y}; // Lerp posición hacia el point de fuga (preservar posición inicial actual) // Nota: initial_position conté la posición on estava cuando es va activar EXITING - ship.current_position.x = Easing::lerp(ship.initial_position.x, punt_fuga.x, eased_progress); - ship.current_position.y = Easing::lerp(ship.initial_position.y, punt_fuga.y, eased_progress); + ship.current_position.x = Easing::lerp(ship.initial_position.x, VANISHING_POINT.x, eased_progress); + ship.current_position.y = Easing::lerp(ship.initial_position.y, VANISHING_POINT.y, eased_progress); // Escala redueix a 0 (simula Z → infinit) ship.current_scale = ship.target_scale * (1.0F - eased_progress);