ajustos de qualitat, canvi de tecles, persistencia de opcions, etc
This commit is contained in:
@@ -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";
|
||||
|
||||
Reference in New Issue
Block a user