pasaeta de granera

This commit is contained in:
2026-04-14 08:18:17 +02:00
parent 673587230e
commit ad8ad7e756
26 changed files with 67 additions and 893 deletions

View File

@@ -365,14 +365,15 @@ void ServiceMenu::initializeOptions() {
// Shader: Desactivat / PostFX / CrtPi
{
const std::string DISABLED_TEXT = Lang::getText("[SERVICE_MENU] SHADER_DISABLED");
std::vector<std::string> shader_values = {DISABLED_TEXT, "PostFX", "CrtPi"};
auto shader_getter = [DISABLED_TEXT]() -> std::string {
if (!Options::video.shader.enabled) { return DISABLED_TEXT; }
std::string disabled_text = Lang::getText("[SERVICE_MENU] SHADER_DISABLED");
std::vector<std::string> shader_values = {disabled_text, "PostFX", "CrtPi"};
auto shader_getter = [disabled_text]() -> std::string {
// NOLINTNEXTLINE(performance-no-automatic-move) -- captura por valor en lambda const, no se puede mover
if (!Options::video.shader.enabled) { return disabled_text; }
return (Options::video.shader.current_shader == Rendering::ShaderType::CRTPI) ? "CrtPi" : "PostFX";
};
auto shader_setter = [DISABLED_TEXT](const std::string& val) {
if (val == DISABLED_TEXT) {
auto shader_setter = [disabled_text](const std::string& val) {
if (val == disabled_text) {
Options::video.shader.enabled = false;
} else {
Options::video.shader.enabled = true;

View File

@@ -3,6 +3,7 @@
#include <SDL3/SDL.h> // Para SDL_Event
#include <cstddef> // Para size_t
#include <cstdint> // Para std::uint8_t
#include <functional> // Para function
#include <iterator> // Para pair
#include <memory> // Para unique_ptr
@@ -19,7 +20,7 @@ class MenuRenderer;
class ServiceMenu {
public:
// --- Enums y constantes ---
enum class SettingsGroup {
enum class SettingsGroup : std::uint8_t {
CONTROLS,
VIDEO,
AUDIO,
@@ -27,7 +28,7 @@ class ServiceMenu {
SYSTEM,
MAIN
};
enum class GroupAlignment {
enum class GroupAlignment : std::uint8_t {
CENTERED,
LEFT
};

View File

@@ -3,6 +3,7 @@
#include <SDL3/SDL.h> // Para SDL_FPoint, SDL_FRect
#include <algorithm> // Para min
#include <cstdint> // Para std::uint8_t
#include <memory> // Para allocator, shared_ptr
#include <string> // Para string
#include <vector> // Para vector
@@ -13,7 +14,7 @@
class WindowMessage {
public:
enum class PositionMode {
enum class PositionMode : std::uint8_t {
CENTERED, // La ventana se centra en el punto especificado
FIXED // La esquina superior izquierda coincide con el punto
};
@@ -176,7 +177,7 @@ class WindowMessage {
// Animación de mostrar/ocultar
struct ShowHideAnimation {
enum class Type { NONE,
enum class Type : std::uint8_t { NONE,
SHOWING,
HIDING };