presets en yaml
This commit is contained in:
@@ -88,6 +88,38 @@ namespace Options {
|
||||
std::string config_file;
|
||||
};
|
||||
|
||||
// Preset PostFX
|
||||
struct PostFXPreset {
|
||||
std::string name;
|
||||
float vignette{0.0F};
|
||||
float scanlines{0.0F};
|
||||
float chroma{0.0F};
|
||||
float mask{0.0F};
|
||||
float gamma{0.0F};
|
||||
float curvature{0.0F};
|
||||
float bleeding{0.0F};
|
||||
float flicker{0.0F};
|
||||
};
|
||||
|
||||
// Preset CrtPi
|
||||
struct CrtPiPreset {
|
||||
std::string name;
|
||||
float scanline_weight{6.0F};
|
||||
float scanline_gap_brightness{0.12F};
|
||||
float bloom_factor{3.5F};
|
||||
float input_gamma{2.4F};
|
||||
float output_gamma{2.2F};
|
||||
float mask_brightness{0.80F};
|
||||
float curvature_x{0.05F};
|
||||
float curvature_y{0.10F};
|
||||
int mask_type{2};
|
||||
bool enable_scanlines{true};
|
||||
bool enable_multisample{true};
|
||||
bool enable_gamma{true};
|
||||
bool enable_curvature{false};
|
||||
bool enable_sharper{false};
|
||||
};
|
||||
|
||||
// --- Variables globales ---
|
||||
extern Window window;
|
||||
extern Video video;
|
||||
@@ -96,10 +128,26 @@ namespace Options {
|
||||
extern Settings settings;
|
||||
extern std::vector<input_t> inputs; // [0]=KEYBOARD, [1]=GAMECONTROLLER per defecte
|
||||
|
||||
// Presets de shaders (carregats de postfx.yaml / crtpi.yaml al config folder)
|
||||
extern std::vector<PostFXPreset> postfx_presets;
|
||||
extern std::string postfx_file_path;
|
||||
extern int current_postfx_preset; // Índex dins `postfx_presets`
|
||||
|
||||
extern std::vector<CrtPiPreset> crtpi_presets;
|
||||
extern std::string crtpi_file_path;
|
||||
extern int current_crtpi_preset; // Índex dins `crtpi_presets`
|
||||
|
||||
// --- Funciones ---
|
||||
void init(); // Reinicia a defaults i omple `inputs`
|
||||
void setConfigFile(const std::string &file_path); // Ruta del config.yaml
|
||||
auto loadFromFile() -> bool; // Carrega el YAML; si no existeix, crea'l amb defaults
|
||||
auto saveToFile() -> bool; // Guarda el YAML
|
||||
|
||||
// Presets de shaders. Si el fitxer no existeix, l'escriu amb els defaults
|
||||
// i deixa els presets carregats en memòria.
|
||||
void setPostFXFile(const std::string &path);
|
||||
auto loadPostFXFromFile() -> bool;
|
||||
void setCrtPiFile(const std::string &path);
|
||||
auto loadCrtPiFromFile() -> bool;
|
||||
|
||||
} // namespace Options
|
||||
|
||||
Reference in New Issue
Block a user