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:
2026-05-20 19:47:18 +02:00
parent 41ce3fece5
commit 329ae7a38e
8 changed files with 71 additions and 74 deletions
+10 -10
View File
@@ -1,33 +1,33 @@
// main.cpp - Punt d'entrada de l'aplicació
// © 2026 JailDesigner
//
// Aquí orquestrem la capa de persistència (YAML via game/Options::*) i
// Aquí orquestrem la capa de persistència (YAML via game/ConfigYaml::*) i
// injectem el resultat al Director. El Director queda independent de
// game/options.hpp i pot operar només amb Config::EngineConfig.
// game/config_yaml.hpp i pot operar només amb Config::EngineConfig.
#include <string>
#include <vector>
#include "core/config/engine_config.hpp"
#include "core/system/director.hpp"
#include "game/options.hpp"
#include "game/config_yaml.hpp"
auto main(int argc, char* argv[]) -> int {
// Convertir arguments a std::vector<std::string>
std::vector<std::string> args(argv, argv + argc);
// Capa de persistència delegada: lambdes prim que enllacen el contracte
// de Config::ConfigPersistence amb la implementació YAML de Options::*.
// de Config::ConfigPersistence amb la implementació YAML de ConfigYaml::*.
const Config::ConfigPersistence PERSISTENCE{
.init_defaults = [] { Options::init(); },
.set_path = [](const std::string& path) { Options::setConfigFile(path); },
.load = [] { return Options::loadFromFile(); },
.save = [] { return Options::saveToFile(); },
.init_defaults = [] { ConfigYaml::init(); },
.set_path = [](const std::string& path) { ConfigYaml::setConfigFile(path); },
.load = [] { return ConfigYaml::loadFromFile(); },
.save = [] { return ConfigYaml::saveToFile(); },
};
// El Director rep la struct d'engine_config + la capa de persistència.
// No coneix Options::* directament.
Director director(args, Options::engine_config, PERSISTENCE);
// No coneix ConfigYaml:: directament.
Director director(args, ConfigYaml::engine_config, PERSISTENCE);
return director.run();
}