Commit Graph

1155 Commits

Author SHA1 Message Date
JailDesigner 5e6a469d46 postfx analític: nou shader + estructures chroma_min/max + scan_*
- Substitueix postfx.frag per la versió analítica amb smoothstep
- PostFXUniforms 12→16 floats (64B, 4×vec4): afegeix chroma_min/max,
  scan_dark_ratio, scan_dark_floor, scan_edge_soft
- PostFXParams i PostFXPreset adopten els nous camps amb defaults d'AEE
- MSL extret a source/core/rendering/sdl3gpu/msl/{postfx_vert,postfx_frag,
  crtpi_frag}.msl.h (estil Rendering::Msl::kXxx)
- SPIR-V regenerat (postfx_frag_spv.h: 13648 bytes)
- options.cpp llegeix 'chroma' antic com compat (assigna a min i max);
  escriu els 6 presets per defecte (CRT/NTSC/CURVED/SCANLINES/SUBTLE/CRT LIVE)
  amb els valors d'aee_arcade

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-17 20:32:34 +02:00
JailDesigner 743d8c7877 merge audita-nolint: 287→9 NOLINT (10 refactors + neteja obsolets) 2026-05-17 18:56:43 +02:00
JailDesigner f8efe07e42 enemy: justifica NOLINT(EnumCastOutOfRange) — SDL_FlipMode és bitmask 2026-05-17 18:45:39 +02:00
JailDesigner 418df568a1 elimina NOLINTs petits obsolets; justifica el residual de CallAndMessage 2026-05-17 18:30:37 +02:00
JailDesigner 3228647738 elimina NOLINT(identifier-naming) obsolets 2026-05-17 17:47:19 +02:00
JailDesigner 9e3b960939 elimina NOLINT(cognitive-complexity) obsolets en editor/console 2026-05-17 17:32:29 +02:00
JailDesigner 973bfa80bf console_commands: load() delega a parsers i buildHelp (cognitive 69→<25) 2026-05-17 17:17:55 +02:00
JailDesigner 6fbd5988d4 resource_list: loadFromString delega a parsers en namespace anònim 2026-05-17 16:47:37 +02:00
JailDesigner e89a664eed options: loadCrtPiFromFile en helpers (defaults, writer, parser) 2026-05-17 16:03:33 +02:00
JailDesigner 19c7b58cba console: handleEvent dispatch a handleTextInput/HistoryUp/Down/Tab 2026-05-17 15:29:20 +02:00
JailDesigner 8cca35c9a5 console_commands: cmdCheat usa helpers applyCheatToggle i cmdCheatJail 2026-05-17 15:14:54 +02:00
JailDesigner 724ac5f11d console_commands: cmdSs en subcomandes (size/upscale/downscale/on/off) 2026-05-17 14:59:58 +02:00
JailDesigner b36740ad58 global_inputs: getPressedAction usa helpers per a mods i llistes 2026-05-17 14:45:54 +02:00
JailDesigner 1c3ab9e5c1 options: helpers readYamlField/Volume per a loadAudioConfigFromYaml 2026-05-17 14:05:22 +02:00
JailDesigner 01e61767dc console: update() en 4 sub-passos (cursor, typewriter, resize, open/close) 2026-05-17 13:51:12 +02:00
JailDesigner 4e9d7e1450 console: lambda append_csv per a generateConsoleHelp 2026-05-17 13:36:22 +02:00
JailDesigner 3e33f7bac5 refactor SDL3GPU shader: createPipeline i render en sub-passos 2026-05-17 13:21:39 +02:00
JailDesigner 62935bf892 elimina NOLINT obsolets (241 marques que ja no disparaven warning) 2026-05-17 12:18:19 +02:00
JailDesigner 9b6d6747b5 fix: std::fill en lloc de raw loops (cppcheck) 2026-05-16 13:30:50 +02:00
JailDesigner 3717db49c0 merge: neteja tidy JDD 2026-05-15 06:23:45 +02:00
JailDesigner 8f5d897048 fix: resta tidy (60 troballes — empty-catch, widening, branch-clone, etc.) 2026-05-14 23:55:44 +02:00
JailDesigner f047ae1a56 refactor: JA_* a namespace Ja:: (estil aee_arcade) 2026-05-14 23:06:41 +02:00
JailDesigner da317e707d fix: claus en una línia i nullptr explícit 2026-05-14 22:45:54 +02:00
JailDesigner b480a23c88 fix: literal F, headers C++ i trailing return type 2026-05-14 22:36:48 +02:00
JailDesigner ac93cfa7d7 fix: enum class amb base std::uint8_t (33 troballes) 2026-05-14 22:32:57 +02:00
JailDesigner 058f7b118a merge: neteja cppcheck JDD 2026-05-14 21:46:15 +02:00
JailDesigner b4d3776239 fix: bucles cap a ranges algorithms (38 troballes) 2026-05-14 21:36:21 +02:00
JailDesigner 0aa9f8fe0a fix: init lists, scope reduit i rename vorbis_error 2026-05-14 20:56:14 +02:00
JailDesigner f4dea6d39b fix: const a punters i refs (13 troballes) 2026-05-14 20:47:34 +02:00
JailDesigner 1b40c90a00 fix: simplifica cmdCheat infinite lives, elimina getActionName mort 2026-05-14 20:21:45 +02:00
JailDesigner 6d90b79260 fix: substr → resize en 4 llocs 2026-05-14 20:19:35 +02:00
JailDesigner 2c55dd8eb4 fix: throw; al call site, no a l'helper 2026-05-14 20:11:37 +02:00
JailDesigner f3566821a6 afegir git hooks per format, tidy i cppcheck 2026-05-14 17:48:43 +02:00
JailDesigner d9c49c5c42 elimina compile_spirv.sh obsolet i regenera spv headers 2026-05-14 17:40:08 +02:00
JailDesigner a2c6af23b9 binari i recursos a build/, targets en kebab 2026-05-14 17:26:09 +02:00
JailDesigner d95bec8dac estandaritzat .clang-tidy amb el d'AEEA 2026-05-14 16:35:38 +02:00
JailDesigner 8fcc9ef103 detecta Ninja com a generador de CMake si està al PATH 2026-05-14 16:23:41 +02:00
JailDesigner 3e6fcfeb72 correccions en el makefile de macos 2026-05-03 18:03:30 +02:00
JailDesigner 2474283e07 afegit suppress a cppcheck 2026-04-18 12:28:19 +02:00
JailDesigner d58c0303e9 surface: hallazgo 1 — SurfaceData::width/height de float a int
Las dimensiones en píxeles son enteros por naturaleza. Convertidos los
miembros y constructores a int, y ajustados getWidth()/getHeight() para
devolver int. Eliminados los static_cast<int>(...->width/height) y
static_cast<int>(surface->getWidth/getHeight()) redundantes que sólo
existían para compensar el tipo erróneo.

Los callers que inicializan SDL_FRect directamente con getWidth/getHeight
requieren static_cast<float> explícito (sprite.cpp, animated_sprite.cpp,
notifier.cpp, title.cpp) por las reglas de narrowing de list-init.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-18 12:22:19 +02:00
JailDesigner 5f0b4355e4 surface: hallazgo 4 — elimina render(6 floats) sin callers
La sobrecarga render(float dx, float dy, float sx, float sy, float w,
float h) no tenía un solo caller en el proyecto. Las otras dos
sobrecargas (con SDL_FRect) cubren todos los casos de uso reales.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-18 12:16:46 +02:00
JailDesigner 40ac657f74 surface: hallazgo 8 — elimina setSurfaceData muerto y documenta shared_ptr
setSurfaceData() no tenía callers. El shared_ptr<SurfaceData> se queda
porque render() puede aliasar el SurfaceData propio con el del renderer
surface (self-blit). Migrar a unique_ptr requeriría tocar Screen y
dissolve_sprite sin simplificación real.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-18 12:01:51 +02:00
JailDesigner 6a12294a36 surface: hallazgo 5 — renderWithColorReplace aplica sub_palette_
Coherencia con render() y renderWithVerticalFade(): el píxel no
sustituido pasa por sub_palette_ en vez de copiarse crudo. Hoy es
no-op (las surfaces que usan color replace no hacen fadeSubPalette)
pero cierra la divergencia de API y previene regresiones futuras.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-18 11:58:46 +02:00
JailDesigner 1f5b1ad1ab surface: hallazgo 2 — drawLine con Bresenham en enteros
El bucle usaba floats con comparación de igualdad exacta (x1==x2 &&
y1==y2) como condición de parada, con incrementos ±1.0f acumulados:
bug latente. Convertidos los endpoints de entrada con std::lround y
reescrito el algoritmo con ints. Firma pública float preservada para
no tocar callers.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-18 11:55:12 +02:00
JailDesigner b1413bbf8a surface: hallazgo 3 — sustituye sizeof check por static_assert en fade*Palette
palette_ y sub_palette_ son std::array de tamaño fijo, así que el check
en runtime nunca podía fallar. Movido a static_assert sobre tuple_size_v.
El throw asociado era código muerto.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-18 11:54:33 +02:00
JailDesigner eaf9d87d6d surface: hallazgo 6 — elimina doble std::min en render(int,int,...)
Las dos líneas de clamp contra el destino estaban duplicadas. Fusionado
el comentario y dejado un único bloque que limita contra origen y destino.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-18 11:53:59 +02:00
JailDesigner 60adfc8fbb surface: hallazgo 7 — elimina NOLINT obsoleto en loadSurface
loadSurface es static en declaración y definición, así que el
NOLINT(readability-convert-member-functions-to-static) era dead noise.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-18 11:53:33 +02:00
JailDesigner 0dbf38f506 normalitzat Audio 2026-04-18 11:43:45 +02:00
JailDesigner 53c2b345c9 build: unifica .clang-format/.clang-tidy i exclou external/ i spv/ amb dummies 2026-04-17 16:21:56 +02:00
JailDesigner 74e19e9951 arreglos en make i cmake per estandaritzar amb la resta de projectes
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-17 13:00:02 +02:00