#pragma once

#include <SDL3/SDL.h>

// Tecles GUI: viuen a data/input/keys.yaml (font única — KeyConfig).

// Tecles de joc (moviment del personatge, accions)
namespace Defaults::KeysGame {
    constexpr SDL_Scancode UP = SDL_SCANCODE_UP;
    constexpr SDL_Scancode DOWN = SDL_SCANCODE_DOWN;
    constexpr SDL_Scancode LEFT = SDL_SCANCODE_LEFT;
    constexpr SDL_Scancode RIGHT = SDL_SCANCODE_RIGHT;
    constexpr SDL_Scancode EXIT = SDL_SCANCODE_ESCAPE;
}  // namespace Defaults::KeysGame

namespace Defaults::Video {
    constexpr bool GPU_ACCELERATION = true;
    constexpr bool SHADER_ENABLED = false;
    constexpr bool SUPERSAMPLING = false;
    constexpr bool VSYNC = true;
    constexpr bool ASPECT_RATIO_4_3 = false;  // CRT original estira 200→240
    constexpr int DOWNSCALE_ALGO = 1;         // 0=bilinear, 1=Lanczos2, 2=Lanczos3
    constexpr int INTERNAL_RESOLUTION = 1;    // Multiplicador enter de la textura font abans del pipeline
    // TextureFilter i ScalingMode viuen a Options (requereixen #include, evitem dependència circular).
}  // namespace Defaults::Video

namespace Defaults::Audio {
    constexpr bool ENABLED = true;
    constexpr float VOLUME = 1.0F;
    constexpr bool MUSIC_ENABLED = true;
    constexpr float MUSIC_VOLUME = 0.8F;
    constexpr bool SOUND_ENABLED = true;
    constexpr float SOUND_VOLUME = 1.0F;
}  // namespace Defaults::Audio

namespace Defaults::Window {
    constexpr int ZOOM = 3;
    constexpr bool FULLSCREEN = false;
}  // namespace Defaults::Window

namespace Defaults::Game {
    constexpr int HABITACIO_INICIAL = 1;
    constexpr int PIRAMIDE_INICIAL = 255;
    constexpr int VIDES = 5;
    constexpr int DIAMANTS_INICIAL = 0;
    constexpr int DINERS_INICIAL = 0;
    constexpr bool USE_NEW_LOGO = true;
    constexpr bool SHOW_TITLE_CREDITS = true;
    constexpr bool SHOW_PRELOAD = false;
}  // namespace Defaults::Game
