Commit Graph

93 Commits

Author SHA1 Message Date
JailDesigner cd38101f99 Fase 1a: Punt -> Vec2 amb operadors moderns
Primera sub-fase del naming sweep. Punt era un struct sense
operacions, conservat per compatibilitat amb el Pascal original.
Substituit per Vec2, un aggregate amb operadors aritmetics, dot,
length, normalized i length_squared (camelBack: lengthSquared)
seguint les regles del .clang-tidy del projecte.

Canvis:
- core/types.hpp reescrit: nou struct Vec2 amb +=,-=,*=,/=,
  unary -, ==, dot, length, lengthSquared, normalized
- Operadors fora de la classe: +, -, *, / (amb float per ambdues
  bandes), - unari, ==
- Vec2 segueix sent aggregate (sense constructors definits):
  els 'designated initializers' del codi existent funcionen igual:
  Vec2{.x = ..., .y = ...}
- Sed global sobre 35 fitxers: tots els 'Punt' -> 'Vec2'

Net: 35 fitxers tocats, +180 / -114. Compila i enllaça.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-19 11:33:27 +02:00
JailDesigner 6cf990bc1d Fase 0: eliminar tot el codi llegacy (polars + primitives + bool dibuixar)
Aplicada la directiva "res llegacy" abans d'arrencar la migracio a fisica
vectorial + SDL3 GPU. Cada bossa de cruft que arrossegava el port de Pascal
queda eliminada.

Borrats (huerfanos):
- source/core/rendering/primitives.hpp/.cpp (modul/diferencia/angle_punt/
  crear_poligon_regular)
- source/core/rendering/polygon_renderer.hpp/.cpp (rota_tri/rota_pol)
- core::types::Triangle, Poligon, IPunt
- Defaults::Entities::MAX_IPUNTS i alias a constants.hpp
- EscenaJoc::chatarra_cosmica_ (mai usat)
- Bresenham comentat dins de Rendering::linea()

Simplificat (parametre 'dibuixar' llegacy que sempre era true):
- Rendering::linea(...): treta la signatura bool dibuixar, retorn void
- Rendering::render_shape(...): treta la signatura bool dibuixar
- 11 callsites de linea() actualitzats (escena_joc, debris_manager)
- 12 callsites de render_shape() actualitzats

Modernitzats:
- 5 fitxers .shp netejats de comentaris polar->cartesia historics
- types.hpp queda nomes amb Punt (l'unica coordenada del joc)
- debris_manager.hpp afegit include explicit de defaults.hpp

Net: 452 linies eliminades, 56 afegides. Compila i enllaca correctament.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-19 11:10:42 +02:00
JailDesigner 1acdd3f38d corregit make linux_release 2025-12-23 08:18:13 +01:00
JailDesigner b4b76ed6e8 afegit default per a fullscreen 2025-12-19 17:26:20 +01:00
JailDesigner 6f4eb9c1fc tidy: includes 2025-12-19 13:03:52 +01:00
JailDesigner 47f7ffb169 feat: implementar jerarquia d'entitats amb classe base Entitat 2025-12-19 13:01:58 +01:00
JailDesigner 70f2642e6d feat(linter): afegir checks llvm-include-order i misc-include-cleaner
- Check 11: llvm-include-order (0 errors - codi ja compleix)
- Check 12: misc-include-cleaner (detectar includes no usats i faltants)
  - Configurar IgnoreHeaders per SDL3 (genera falsos positius)
  - Fix: afegir <cstdint> a nau.hpp, enemic.hpp, bala.hpp
  - Fix: afegir <cmath> a nau.hpp, enemic.hpp (std::cos/sin)

Include order validat segons LLVM coding standards.
Headers més nets i compilació més ràpida.
2025-12-18 22:35:46 +01:00
JailDesigner 1a42f24a68 refactor(includes): convertir includes relativos a absolutos
- escena_joc.hpp: 7 includes cambiados de ../ a rutas absolutas
- pre-commit hook: añadir validación de includes relativos
- Bloquea commits con includes tipo #include "../foo.hpp"
- Coherencia con CMakeLists.txt (include_directories desde source/)
2025-12-18 22:24:17 +01:00
JailDesigner 364cf36183 perf: aplicar checks performance-* (91 fixes)
Cambios aplicados:
- Reemplazar std::endl con '\n' (91 casos)
  * std::endl hace flush del buffer (más lento)
  * '\n' solo inserta newline (más rápido)
  * Mejora rendimiento de logging/debug

Check excluido:
- performance-enum-size: Tamaño de enum no es crítico para rendimiento
2025-12-18 21:24:07 +01:00
JailDesigner 7f6af6dd00 style: aplicar checks modernize-* (215 fixes)
Cambios aplicados:
- [[nodiscard]] añadido a funciones que retornan valores
- .starts_with() en lugar de .find() == 0
- Inicializadores designados {.x=0, .y=0}
- auto en castings obvios
- = default para constructores triviales
- Funciones deleted movidas a public
- std::numbers::pi_v<float> (C++20)

Checks excluidos:
- use-trailing-return-type: Estilo controversial
- avoid-c-arrays: Arrays C aceptables en ciertos contextos
2025-12-18 20:16:46 +01:00
JailDesigner fdfb84170f style: aplicar todos los checks readability-* (225 fixes)
Cambios aplicados:
- readability-braces-around-statements (añadir llaves en ifs/fors)
- readability-implicit-bool-conversion (puntero → bool explícito)
- readability-container-size-empty (.empty() en lugar de .size()==0)
- readability-container-contains (.contains() C++20)
- readability-make-member-function-const (métodos const)
- readability-else-after-return (5 casos adicionales)
- Añadido #include <cmath> en defaults.hpp

Checks excluidos (justificados):
- identifier-naming: Cascada de 300+ cambios
- identifier-length: Nombres cortos son OK en este proyecto
- magic-numbers: Demasiados falsos positivos
- convert-member-functions-to-static: Rompe encapsulación
- use-anyofallof: C++20 ranges no universal
- function-cognitive-complexity: Complejidad aceptable
- clang-analyzer-security.insecureAPI.rand: rand() suficiente para juegos
2025-12-18 19:51:43 +01:00
JailDesigner 76786203a0 style: aplicar readability-math-missing-parentheses
- Agregar paréntesis explícitos en operaciones matemáticas para claridad
- Ejemplos: '1.0F - a * b' → '1.0F - (a * b)'
- 291 correcciones aplicadas automáticamente con clang-tidy
- Check 2/N completado

🤖 Generated with Claude Code
2025-12-18 13:09:35 +01:00
JailDesigner bc94eff176 style: aplicar readability-uppercase-literal-suffix
- Cambiar todos los literales float de minúscula a mayúscula (1.0f → 1.0F)
- 657 correcciones aplicadas automáticamente con clang-tidy
- Check 1/N completado

🤖 Generated with Claude Code
2025-12-18 13:06:48 +01:00
JailDesigner bfb4903998 eliminat warning 2025-12-17 22:53:11 +01:00
JailDesigner f3abab7a13 augmentat numero de debris de 100 a 150 per necesitats del logo 2025-12-17 22:53:05 +01:00
JailDesigner 54031e3520 afegit friendly fire 2025-12-17 19:39:33 +01:00
JailDesigner 8b9d26a02c delay en naus en titol 2025-12-17 18:55:41 +01:00
JailDesigner 3d5277a395 fix: ratolí visible en fullscreen 2025-12-17 18:36:12 +01:00
JailDesigner 2555157bd7 fix: en alguns casos no podies tornar a unirte a la partida 2025-12-17 18:16:46 +01:00
JailDesigner 461eaedecf retocs en nave2 2025-12-17 17:55:14 +01:00
JailDesigner 1891c9e49e eliminades shapes sobrants 2025-12-17 17:44:23 +01:00
JailDesigner 829a895464 continue counter ara arriba fins a 0 2025-12-17 17:21:03 +01:00
JailDesigner 8bc259b25a nous sons 2025-12-17 17:05:42 +01:00
JailDesigner ec333efe66 afegida logica de continues
fix: el text no centrava correctament en horitzontal
2025-12-17 13:31:32 +01:00
JailDesigner 3b432e6580 layout de TITOL 2025-12-17 11:32:37 +01:00
JailDesigner 886ec8ab1d amagat el cursor d'inici en mode finestra 2025-12-16 22:47:12 +01:00
JailDesigner bc5982b286 treballant en les naus de title 2025-12-16 22:14:55 +01:00
JailDesigner 75a4a1b3b9 millorada la JOIN_PHASE i fase final de TITOL 2025-12-16 12:34:19 +01:00
JailDesigner f3f0bfcd9a afegit so a init_hud 2025-12-16 10:05:18 +01:00
JailDesigner c959e0e3a0 animacions de INIT_HUD amb control d'inici i final 2025-12-16 09:39:53 +01:00
JailDesigner 8b896912b2 centralitzada la gestio d'SKIP per a les escenes 2025-12-16 08:33:29 +01:00
JailDesigner 3d0057220d afegides tecles d'START. ja comença el joc amb el numero correcte de jugadors 2025-12-12 16:40:46 +01:00
JailDesigner 0c75f56cb5 treballant en context per a jugador 1, jugador 2 o els dos 2025-12-12 10:43:17 +01:00
JailDesigner 0ceaa75862 integrada classe Input 2025-12-11 12:41:03 +01:00
JailDesigner 087b8d346d afegit segon jugador 2025-12-10 17:18:34 +01:00
JailDesigner aca1f5200b els enemics poden morir mentre fan spawn 2025-12-10 11:58:26 +01:00
JailDesigner 3b638f4715 respawn de nau i invulnerabilitat 2025-12-10 11:35:45 +01:00
JailDesigner 9a5adcbcc5 revisat el marcador
modificada la shape 03
2025-12-10 11:05:15 +01:00
JailDesigner 07e00fff09 eliminada ship2.shp i substituida ship.shp 2025-12-10 07:51:02 +01:00
JailDesigner b4e0ca7eca INIT_HUD amb temps de les animacions per percentatge
ordenats en subcarpetes els fitxers d'audio
corregit typo LIFES a LIVES
2025-12-09 22:57:01 +01:00
JailDesigner b8173b205b acabat INIT_HUD 2025-12-09 22:17:35 +01:00
JailDesigner 57d623d6bc treballant en INIT_HUD 2025-12-09 22:09:24 +01:00
JailDesigner 64ab08973c efecte maquina d'escriure per als textos d'entrada de fase 2025-12-09 19:38:29 +01:00
JailDesigner 94a7a38cdd afegit sistema de punts 2025-12-09 16:56:07 +01:00
JailDesigner 76165e4345 limitada la velocitat angular dels debris i transformada en velocitat lineal tangencial 2025-12-09 13:38:18 +01:00
JailDesigner 20ca024100 les bales ara son redones 2025-12-09 12:58:44 +01:00
JailDesigner 3c3857c1b2 debris hereten velocitat angular 2025-12-09 12:30:03 +01:00
JailDesigner 523342fed9 canvis en el inici i final de fase 2025-12-09 11:45:28 +01:00
JailDesigner 217ca58b1a millorat el spawn d'enemics: perimetre de seguretat i animació amb invulnerabilitat 2025-12-09 10:21:42 +01:00
JailDesigner ec6565bf71 debris hereta brillantor i velocitat 2025-12-09 09:25:46 +01:00