feat(config): afegeix GameplayConfig persistent amb versionatge defensiu

Singleton paral·lel a UiConfig però escrivible: viu a la carpeta de
sistema (gameplay.yaml). Defaults compilats: friendly_fire,
players_collide i whip_damage_pierces_walls a true. Davant qualsevol
irregularitat (fitxer absent/buit, parse error, version absent o
desconeguda, clau requerida mal tipada o absent), reseteja a defaults
i reescriu el fitxer en lloc de preservar estat parcial.

Cablejat al Director::start després de Options::loadFromFile. Encara
sense consumidors — els flags es cablejaran a WhipAttack i al sistema
de col·lisió de jugadors en commits posteriors.
This commit is contained in:
JailDesigner committed 2026-05-08 13:17:28 +02:00
1 parent e9f99a0542
commit 932b457725
4 files changed
+241

No files matched your search

+1
View File
@@ -107,6 +107,7 @@ set(APP_SOURCES
source/utils/log.cpp
source/utils/utils.cpp
source/game/debug_config.cpp
source/game/gameplay_config.cpp
source/game/options.cpp
source/game/options_apply.cpp
source/game/ui/service_menu.cpp