Presets PostFX carregats de shaders/postfx.yaml; Screen aplica params (v0.5.0)

This commit is contained in:
JailDesigner committed 2026-04-18 23:02:06 +02:00
1 parent 6c8ef9ff44
commit 26b4d9e610
7 files changed
+194 -4

No files matched your search

+11
View File
@@ -16,6 +16,7 @@
#include "core/system/event_buffer.hpp"
#include "game/options.hpp"
#include "game/scenes/game_scene.hpp"
#include "utils/defaults.hpp"
Director::Director() {
if (!SDL_Init(0)) {
@@ -30,9 +31,17 @@ Director::Director() {
std::cerr << "Director: no s'ha pogut carregar ni desar config.yaml a " << system_folder_ << '\n';
}
// Carrega els presets de PostFX des de shaders/postfx.yaml; si no existeix
// es crea amb presets per defecte (off, crt, ntsc).
Options::setPostFXFile(system_folder_ + Defaults::Video::POSTFX_FILE);
if (!Options::loadPostFXFromFile()) {
std::cerr << "Director: no s'ha pogut carregar ni desar postfx.yaml.\n";
}
// Screen es configura ara (subsystem + finestra + GPU/renderer); la seua
// destrucció la fa aquest Director (veure ~Director). Res de static dtor.
Screen::get().configure(Options::buildScreenConfig());
Screen::get().applyPostFXParams(Options::buildPostFXParams());
(void)Resource::Cache::get();
current_scene_ = std::make_unique<GameScene>();
@@ -65,6 +74,8 @@ void Director::createSystemFolder() {
std::error_code error;
std::filesystem::create_directories(system_folder_, error);
// Subcarpeta per als presets de shaders. std::filesystem és tolerant si ja existeix.
std::filesystem::create_directories(system_folder_ + "shaders/", error);
if (error) {
std::cerr << "Director: no s'ha pogut crear " << system_folder_ << ": " << error.message() << '\n';
}