refactor(maps): pyramid.yaml per piràmide amb merge a sala

This commit is contained in:
JailDesigner committed 2026-05-13 22:38:42 +02:00
1 parent 5f206e03c8
commit 125cdd0c74
45 files changed
+331 -1085

No files matched your search

+23
View File
@@ -0,0 +1,23 @@
#pragma once
#include <string>
#include "external/fkyaml_node.hpp"
// Carregador de YAMLs de sala amb fusió per piràmide. Cada piràmide pot
// tenir un `pyramid.yaml` germà al directori de sala que aporta camps
// compartits (tileset, lighting, push_factor, paint_tiles...); el YAML
// de sala només declara el que canvia (data, entities, geometry, room).
//
// Regles de fusió:
// - mapes: fusió recursiva, claus de la sala guanyen
// - sequences i escalars: la sala substitueix sencer
//
// Si no hi ha `pyramid.yaml` al directori, retorna només el YAML de sala
// sense modificacions — així rutes externes (tests, mapes solts) segueixen
// funcionant igual.
namespace RoomYaml {
auto loadMerged(const std::string& room_yaml_path) -> fkyaml::node;
} // namespace RoomYaml