refactor(#28): renombrar Options → ConfigYaml + netejar aliases
Pas 7 final del hallazgo #28. La capa de game/options havia esdevingut exclusivament una capa de persistència YAML que llegia i escrivia Config::EngineConfig. El nom "Options" no reflectia bé aquest rol. Canvis: - Renomenats fitxers: game/options.{hpp,cpp} → game/config_yaml.{hpp,cpp} (preservant la història de git via mv). - Renomenat namespace: Options → ConfigYaml. - Esborrades del .hpp les referències-alias inline (window, rendering, player1, player2, keyboard_controls, gamepad_controls, console) que ja no tenien call-sites externs (només existien per a la transició). El .hpp ara només exposa engine_config + version + path + funcions. - A config_yaml.cpp s'introdueixen aliases internes (anonymous namespace) per mantenir llegible el codi de la implementació, sense exposar-les. - Actualitzat main.cpp per a usar ConfigYaml::*. - Actualitzats els comentaris stale a sdl_manager.hpp, director.hpp, engine_config.hpp i audio.hpp. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -20,7 +20,7 @@ namespace Ja {
|
||||
// --- Clase Audio: gestor d'àudio (singleton) ---
|
||||
// Port del subsistema d'àudio del projecte ../aee, desacoblat d'Options:
|
||||
// la configuración entra per la struct Audio::Config a init()/applySettings(),
|
||||
// en lloc de llegir directament Options::audio. Això deixa audio.cpp independent
|
||||
// en lloc de llegir directament ConfigYaml::*. Això deixa audio.cpp independent
|
||||
// del layout d'Options i permet substituir la font de configuración.
|
||||
//
|
||||
// Els volums es manegen internament como a float 0.0–1.0; la capa de
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
// © 2026 JailDesigner
|
||||
//
|
||||
// Struct POD que conté la configuració runtime que els sistemes de `core/`
|
||||
// llegeixen i muten. La capa de persistència (YAML) viu a `game/options.cpp`,
|
||||
// llegeixen i muten. La capa de persistència (YAML) viu a `game/config_yaml.cpp`,
|
||||
// que omple aquesta struct a init() i loadFromFile().
|
||||
//
|
||||
// Es passa per referència (mutable quan cal) al constructor dels sistemes
|
||||
@@ -61,7 +61,7 @@ namespace Config {
|
||||
|
||||
// Capa de persistència delegada cap a l'EngineConfig. Permet al Director
|
||||
// orquestrar init/load/save sense conèixer cap esquema concret (YAML,
|
||||
// SQLite, ...) ni la capa que el conté (`game/options.cpp`).
|
||||
// SQLite, ...) ni la capa que el conté (`game/config_yaml.cpp`).
|
||||
struct ConfigPersistence {
|
||||
std::function<void()> init_defaults; // Restaura valors per defecte
|
||||
std::function<void(const std::string& path)> set_path; // Indica on guardar
|
||||
|
||||
@@ -21,7 +21,7 @@ class SDLManager {
|
||||
// `cfg` ha de viure tant com el manager (el posseeix el Director).
|
||||
// `on_persist` es crida després de mutar la config (per exemple a
|
||||
// toggleVSync) per delegar la persistència en una capa externa
|
||||
// (game/Options::saveToFile), mantenint sdl_manager agnòstic.
|
||||
// (game/ConfigYaml::saveToFile), mantenint sdl_manager agnòstic.
|
||||
SDLManager(int width, int height, bool fullscreen, Config::EngineConfig& cfg, std::function<void()> on_persist = {});
|
||||
~SDLManager();
|
||||
|
||||
|
||||
@@ -17,7 +17,7 @@ class Director {
|
||||
public:
|
||||
// `cfg` ha de viure tant com el Director (típicament owned per main).
|
||||
// `persistence` encapsula init/load/save delegats a la capa concreta
|
||||
// (game/Options::*).
|
||||
// (game/ConfigYaml::*).
|
||||
Director(std::vector<std::string> const& args,
|
||||
Config::EngineConfig& cfg,
|
||||
Config::ConfigPersistence persistence);
|
||||
|
||||
Reference in New Issue
Block a user