ajustos de qualitat, canvi de tecles, persistencia de opcions, etc

This commit is contained in:
2026-04-11 09:16:39 +02:00
parent 3b052ca3a0
commit 49f6ed41e6
19 changed files with 149 additions and 157 deletions

View File

@@ -136,6 +136,14 @@ void RoomFormat::parseRoomConfig(const fkyaml::node& yaml, Room::Data& room, con
room.music = zone->music;
}
// bgColor: zona, override si está en el yaml
if (room_node.contains("bgColor")) {
room.bg_color = readColorNode(room_node["bgColor"]);
room.bg_color_overridden = true;
} else if (zone != nullptr) {
room.bg_color = zone->bg_color;
}
// Room connections
if (room_node.contains("connections")) {
parseRoomConnections(room_node["connections"], room);
@@ -508,15 +516,17 @@ auto RoomFormat::loadFromString(const std::string& yaml_content, const std::stri
auto RoomFormat::createDefault() -> Room::Data {
Room::Data data;
// Zona por defecto (resuelve tile_set_file y music desde ZoneManager)
// Zona por defecto (resuelve tile_set_file, music y bg_color desde ZoneManager)
const Zone::Data* zone = ZoneManager::get()->getDefaultZone();
if (zone != nullptr) {
data.zone = zone->name;
data.tile_set_file = zone->tile_set_file;
data.music = zone->music;
data.bg_color = zone->bg_color;
}
data.tile_set_overridden = false;
data.music_overridden = false;
data.bg_color_overridden = false;
// Conexiones a cero
data.upper_room = "0";
@@ -559,6 +569,11 @@ auto RoomFormat::buildContent(const Room::Data& room_data) -> std::string { //
out << " music: " << room_data.music << "\n";
}
// bgColor solo si es override explícito del valor heredado de la zona
if (room_data.bg_color_overridden) {
out << " bgColor: " << static_cast<int>(room_data.bg_color) << "\n";
}
// Conexiones
out << "\n";
out << " # Conexiones de la habitación (null = sin conexión)\n";