From 561028ff045665a37cf0ff2755e069c212cf7fb1 Mon Sep 17 00:00:00 2001 From: Sergio Valor Date: Fri, 17 Apr 2026 16:21:56 +0200 Subject: [PATCH] build: unifica .clang-format/.clang-tidy i exclou external/ i spv/ amb dummies --- .clang-tidy | 5 ++- CMakeLists.txt | 16 +++++---- gamecontrollerdb.txt | 1 + source/core/input/input.cpp | 23 +++++++------ source/core/rendering/screen.hpp | 34 +++++++++---------- .../core/rendering/sdl3gpu/sdl3gpu_shader.cpp | 10 +++--- .../core/rendering/sdl3gpu/spv/.clang-format | 2 ++ source/core/rendering/sdl3gpu/spv/.clang-tidy | 4 +++ .../sdl3gpu/{ => spv}/crtpi_frag_spv.h | 0 .../sdl3gpu/{ => spv}/downscale_frag_spv.h | 0 .../sdl3gpu/{ => spv}/postfx_frag_spv.h | 0 .../sdl3gpu/{ => spv}/postfx_vert_spv.h | 0 .../sdl3gpu/{ => spv}/upscale_frag_spv.h | 0 13 files changed, 53 insertions(+), 42 deletions(-) create mode 100644 source/core/rendering/sdl3gpu/spv/.clang-format create mode 100644 source/core/rendering/sdl3gpu/spv/.clang-tidy rename source/core/rendering/sdl3gpu/{ => spv}/crtpi_frag_spv.h (100%) rename source/core/rendering/sdl3gpu/{ => spv}/downscale_frag_spv.h (100%) rename source/core/rendering/sdl3gpu/{ => spv}/postfx_frag_spv.h (100%) rename source/core/rendering/sdl3gpu/{ => spv}/postfx_vert_spv.h (100%) rename source/core/rendering/sdl3gpu/{ => spv}/upscale_frag_spv.h (100%) diff --git a/.clang-tidy b/.clang-tidy index 5e421cc..91d231a 100644 --- a/.clang-tidy +++ b/.clang-tidy @@ -11,9 +11,8 @@ Checks: - -modernize-avoid-c-arrays,-warnings-as-errors WarningsAsErrors: '*' -# Solo incluir archivos de tu código fuente (external tiene su propio .clang-tidy) -# Excluye los headers SPIR-V generados en rendering/sdl3gpu/ -HeaderFilterRegex: 'source/(?!external/|rendering/sdl3gpu/.*_spv\.h).*' +# Solo headers del propio código fuente (external/ y spv/ tienen su propio .clang-tidy dummy) +HeaderFilterRegex: 'source/.*' FormatStyle: file CheckOptions: diff --git a/CMakeLists.txt b/CMakeLists.txt index 2afb521..9f2dd11 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -3,6 +3,11 @@ cmake_minimum_required(VERSION 3.10) project(coffee_crisis_arcade_edition VERSION 2.00) +# Tipus de build per defecte (Debug) si no se n'ha especificat cap +if(NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES) + set(CMAKE_BUILD_TYPE Debug CACHE STRING "" FORCE) +endif() + # Establecer estándar de C++ set(CMAKE_CXX_STANDARD 20) set(CMAKE_CXX_STANDARD_REQUIRED True) @@ -158,11 +163,11 @@ if(NOT APPLE AND NOT EMSCRIPTEN) set(SHADER_UPSCALE_SRC "${CMAKE_SOURCE_DIR}/data/shaders/upscale.frag") set(SHADER_DOWNSCALE_SRC "${CMAKE_SOURCE_DIR}/data/shaders/downscale.frag") - set(SHADER_VERT_H "${CMAKE_SOURCE_DIR}/source/core/rendering/sdl3gpu/postfx_vert_spv.h") - set(SHADER_FRAG_H "${CMAKE_SOURCE_DIR}/source/core/rendering/sdl3gpu/postfx_frag_spv.h") - set(SHADER_CRTPI_H "${CMAKE_SOURCE_DIR}/source/core/rendering/sdl3gpu/crtpi_frag_spv.h") - set(SHADER_UPSCALE_H "${CMAKE_SOURCE_DIR}/source/core/rendering/sdl3gpu/upscale_frag_spv.h") - set(SHADER_DOWNSCALE_H "${CMAKE_SOURCE_DIR}/source/core/rendering/sdl3gpu/downscale_frag_spv.h") + set(SHADER_VERT_H "${CMAKE_SOURCE_DIR}/source/core/rendering/sdl3gpu/spv/postfx_vert_spv.h") + set(SHADER_FRAG_H "${CMAKE_SOURCE_DIR}/source/core/rendering/sdl3gpu/spv/postfx_frag_spv.h") + set(SHADER_CRTPI_H "${CMAKE_SOURCE_DIR}/source/core/rendering/sdl3gpu/spv/crtpi_frag_spv.h") + set(SHADER_UPSCALE_H "${CMAKE_SOURCE_DIR}/source/core/rendering/sdl3gpu/spv/upscale_frag_spv.h") + set(SHADER_DOWNSCALE_H "${CMAKE_SOURCE_DIR}/source/core/rendering/sdl3gpu/spv/downscale_frag_spv.h") set(ALL_SHADER_SOURCES "${SHADER_VERT_SRC}" "${SHADER_FRAG_SRC}" "${SHADER_CRTPI_SRC}" "${SHADER_UPSCALE_SRC}" "${SHADER_DOWNSCALE_SRC}") set(ALL_SHADER_HEADERS "${SHADER_VERT_H}" "${SHADER_FRAG_H}" "${SHADER_CRTPI_H}" "${SHADER_UPSCALE_H}" "${SHADER_DOWNSCALE_H}") @@ -316,7 +321,6 @@ list(FILTER ALL_SOURCE_FILES EXCLUDE REGEX ".*/external/.*") # cuyo uso vive en un .cpp distinto. set(CPPCHECK_SOURCES ${ALL_SOURCE_FILES}) list(FILTER CPPCHECK_SOURCES INCLUDE REGEX ".*\\.cpp$") -list(FILTER CPPCHECK_SOURCES EXCLUDE REGEX ".*_spv\\.h$") # Targets de clang-tidy if(CLANG_TIDY_EXE) diff --git a/gamecontrollerdb.txt b/gamecontrollerdb.txt index 3b14721..ce52a7a 100644 --- a/gamecontrollerdb.txt +++ b/gamecontrollerdb.txt @@ -1009,6 +1009,7 @@ xinput,XInput Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2, 030000006d04000018c2000000000000,Logitech F510,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Mac OS X, 030000006d04000019c2000005030000,Logitech F710,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Mac OS X, 030000006d0400001fc2000000000000,Logitech F710,a:b0,b:b1,back:b9,dpdown:b12,dpleft:b13,dpright:b14,dpup:b11,guide:b10,leftshoulder:b4,leftstick:b6,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b7,righttrigger:a5,rightx:a3,righty:a4,start:b8,x:b2,y:b3,platform:Mac OS X, +030000006d0400001ac2000004000000,Logitech Precision,a:b1,b:b2,back:b8,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b4,lefttrigger:b6,rightshoulder:b5,righttrigger:b7,start:b9,x:b0,y:b3,platform:Mac OS X, 030000006d04000018c2000000010000,Logitech RumblePad 2,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1~,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3~,start:b9,x:b0,y:b3,platform:Mac OS X, 03000000380700005032000000010000,Mad Catz PS3 Fightpad Pro,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Mac OS X, 03000000380700008433000000010000,Mad Catz PS3 Fightstick TE S Plus,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Mac OS X, diff --git a/source/core/input/input.cpp b/source/core/input/input.cpp index 1d90538..2176e81 100644 --- a/source/core/input/input.cpp +++ b/source/core/input/input.cpp @@ -25,17 +25,18 @@ static void installWebStandardMapping(SDL_JoystickID jid) { char mapping[512]; SDL_snprintf(mapping, sizeof(mapping), - "%s,%s," - "a:b0,b:b1,x:b2,y:b3," - "leftshoulder:b4,rightshoulder:b5," - "lefttrigger:b6,righttrigger:b7," - "back:b8,start:b9," - "leftstick:b10,rightstick:b11," - "dpup:b12,dpdown:b13,dpleft:b14,dpright:b15," - "guide:b16," - "leftx:a0,lefty:a1,rightx:a2,righty:a3," - "platform:Emscripten", - guidStr, name); + "%s,%s," + "a:b0,b:b1,x:b2,y:b3," + "leftshoulder:b4,rightshoulder:b5," + "lefttrigger:b6,righttrigger:b7," + "back:b8,start:b9," + "leftstick:b10,rightstick:b11," + "dpup:b12,dpdown:b13,dpleft:b14,dpright:b15," + "guide:b16," + "leftx:a0,lefty:a1,rightx:a2,righty:a3," + "platform:Emscripten", + guidStr, + name); SDL_AddGamepadMapping(mapping); #else (void)jid; diff --git a/source/core/rendering/screen.hpp b/source/core/rendering/screen.hpp index 4d55c9f..be80923 100644 --- a/source/core/rendering/screen.hpp +++ b/source/core/rendering/screen.hpp @@ -49,8 +49,8 @@ class Screen { static void nextPostFXPreset(); // Avanza al siguiente preset PostFX static void nextCrtPiPreset(); // Avanza al siguiente preset CrtPi static void toggleSupersampling(); // Alterna supersampling - void toggleFilter(); // Alterna SDL_SCALEMODE_NEAREST ↔ SDL_SCALEMODE_LINEAR - void applyFilter(); // Aplica Options::video.scale_mode a game_canvas_ + void toggleFilter(); // Alterna SDL_SCALEMODE_NEAREST ↔ SDL_SCALEMODE_LINEAR + void applyFilter(); // Aplica Options::video.scale_mode a game_canvas_ void toggleIntegerScale(); void toggleVSync(); // Alterna entre activar y desactivar el V-Sync void setVSync(bool enabled); // Establece el estado del V-Sync @@ -61,8 +61,8 @@ class Screen { void show() { SDL_ShowWindow(window_); } // Muestra la ventana void hide() { SDL_HideWindow(window_); } // Oculta la ventana void getSingletons(); // Obtiene los punteros a los singletones - [[nodiscard]] static auto getVSync() -> bool { return Options::video.vsync; } // Obtiene el valor de V-Sync - [[nodiscard]] static auto isHardwareAccelerated() -> bool; // True si SDL3GPU está activo + [[nodiscard]] static auto getVSync() -> bool { return Options::video.vsync; } // Obtiene el valor de V-Sync + [[nodiscard]] static auto isHardwareAccelerated() -> bool; // True si SDL3GPU está activo [[nodiscard]] auto getText() const -> std::shared_ptr { return text_; } // Obtiene el puntero al texto de Screen // --- Display Monitor getters --- @@ -236,19 +236,19 @@ class Screen { #endif // --- Métodos internos --- - auto initSDLVideo() -> bool; // Arranca SDL VIDEO y crea la ventana - void registerEmscriptenEventCallbacks(); // Registra callbacks nativos para restaurar el canvas en wasm (no-op fuera de emscripten) - void renderFlash(); // Dibuja el efecto de flash en la pantalla - void renderShake(); // Aplica el efecto de agitar la pantalla - void renderInfo() const; // Muestra información por pantalla - void renderPresent(); // Selecciona y ejecuta el método de renderizado adecuado - void applyCurrentPostFXPreset(); // Aplica el preset PostFX activo al backend - void applyCurrentCrtPiPreset(); // Aplica el preset CrtPi activo al backend - void adjustWindowSize(); // Calcula el tamaño de la ventana - void getDisplayInfo(); // Obtiene información sobre la pantalla - void renderOverlays(); // Renderiza todos los overlays y efectos - void renderAttenuate(); // Atenúa la pantalla - void createText(); // Crea el objeto de texto + auto initSDLVideo() -> bool; // Arranca SDL VIDEO y crea la ventana + void registerEmscriptenEventCallbacks(); // Registra callbacks nativos para restaurar el canvas en wasm (no-op fuera de emscripten) + void renderFlash(); // Dibuja el efecto de flash en la pantalla + void renderShake(); // Aplica el efecto de agitar la pantalla + void renderInfo() const; // Muestra información por pantalla + void renderPresent(); // Selecciona y ejecuta el método de renderizado adecuado + void applyCurrentPostFXPreset(); // Aplica el preset PostFX activo al backend + void applyCurrentCrtPiPreset(); // Aplica el preset CrtPi activo al backend + void adjustWindowSize(); // Calcula el tamaño de la ventana + void getDisplayInfo(); // Obtiene información sobre la pantalla + void renderOverlays(); // Renderiza todos los overlays y efectos + void renderAttenuate(); // Atenúa la pantalla + void createText(); // Crea el objeto de texto // --- Constructores y destructor privados (singleton) --- Screen(); // Constructor privado diff --git a/source/core/rendering/sdl3gpu/sdl3gpu_shader.cpp b/source/core/rendering/sdl3gpu/sdl3gpu_shader.cpp index e55092a..e8a734f 100644 --- a/source/core/rendering/sdl3gpu/sdl3gpu_shader.cpp +++ b/source/core/rendering/sdl3gpu/sdl3gpu_shader.cpp @@ -8,11 +8,11 @@ #include // Para std::cout #ifndef __APPLE__ -#include "core/rendering/sdl3gpu/crtpi_frag_spv.h" -#include "core/rendering/sdl3gpu/downscale_frag_spv.h" -#include "core/rendering/sdl3gpu/postfx_frag_spv.h" -#include "core/rendering/sdl3gpu/postfx_vert_spv.h" -#include "core/rendering/sdl3gpu/upscale_frag_spv.h" +#include "core/rendering/sdl3gpu/spv/crtpi_frag_spv.h" +#include "core/rendering/sdl3gpu/spv/downscale_frag_spv.h" +#include "core/rendering/sdl3gpu/spv/postfx_frag_spv.h" +#include "core/rendering/sdl3gpu/spv/postfx_vert_spv.h" +#include "core/rendering/sdl3gpu/spv/upscale_frag_spv.h" #endif #ifdef __APPLE__ diff --git a/source/core/rendering/sdl3gpu/spv/.clang-format b/source/core/rendering/sdl3gpu/spv/.clang-format new file mode 100644 index 0000000..47a38a9 --- /dev/null +++ b/source/core/rendering/sdl3gpu/spv/.clang-format @@ -0,0 +1,2 @@ +DisableFormat: true +SortIncludes: Never diff --git a/source/core/rendering/sdl3gpu/spv/.clang-tidy b/source/core/rendering/sdl3gpu/spv/.clang-tidy new file mode 100644 index 0000000..46f35e3 --- /dev/null +++ b/source/core/rendering/sdl3gpu/spv/.clang-tidy @@ -0,0 +1,4 @@ +# source/core/rendering/sdl3gpu/spv/.clang-tidy +Checks: '-*' +WarningsAsErrors: '' +HeaderFilterRegex: '' diff --git a/source/core/rendering/sdl3gpu/crtpi_frag_spv.h b/source/core/rendering/sdl3gpu/spv/crtpi_frag_spv.h similarity index 100% rename from source/core/rendering/sdl3gpu/crtpi_frag_spv.h rename to source/core/rendering/sdl3gpu/spv/crtpi_frag_spv.h diff --git a/source/core/rendering/sdl3gpu/downscale_frag_spv.h b/source/core/rendering/sdl3gpu/spv/downscale_frag_spv.h similarity index 100% rename from source/core/rendering/sdl3gpu/downscale_frag_spv.h rename to source/core/rendering/sdl3gpu/spv/downscale_frag_spv.h diff --git a/source/core/rendering/sdl3gpu/postfx_frag_spv.h b/source/core/rendering/sdl3gpu/spv/postfx_frag_spv.h similarity index 100% rename from source/core/rendering/sdl3gpu/postfx_frag_spv.h rename to source/core/rendering/sdl3gpu/spv/postfx_frag_spv.h diff --git a/source/core/rendering/sdl3gpu/postfx_vert_spv.h b/source/core/rendering/sdl3gpu/spv/postfx_vert_spv.h similarity index 100% rename from source/core/rendering/sdl3gpu/postfx_vert_spv.h rename to source/core/rendering/sdl3gpu/spv/postfx_vert_spv.h diff --git a/source/core/rendering/sdl3gpu/upscale_frag_spv.h b/source/core/rendering/sdl3gpu/spv/upscale_frag_spv.h similarity index 100% rename from source/core/rendering/sdl3gpu/upscale_frag_spv.h rename to source/core/rendering/sdl3gpu/spv/upscale_frag_spv.h