From bf0fcaadb74c9d060a8d827c6d9b083042cccb7c Mon Sep 17 00:00:00 2001 From: Laserlicht <13953785+Laserlicht@users.noreply.github.com> Date: Fri, 29 Aug 2025 21:22:45 +0200 Subject: [PATCH] fix rmg underground --- lib/rmg/CZonePlacer.cpp | 2 +- lib/rmg/RmgMap.cpp | 2 +- lib/rmg/Zone.cpp | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/rmg/CZonePlacer.cpp b/lib/rmg/CZonePlacer.cpp index d80f90d18..e18411ec0 100644 --- a/lib/rmg/CZonePlacer.cpp +++ b/lib/rmg/CZonePlacer.cpp @@ -330,7 +330,7 @@ void CZonePlacer::placeZones(vstd::RNG * rand) { return pr.second->getType() == ETemplateZoneType::WATER; }); - bool mapLevels = map.getMapGenOptions().getLevels(); + int mapLevels = map.getMapGenOptions().getLevels(); findPathsBetweenZones(); placeOnGrid(rand); diff --git a/lib/rmg/RmgMap.cpp b/lib/rmg/RmgMap.cpp index 042118f0f..4fe91dc08 100644 --- a/lib/rmg/RmgMap.cpp +++ b/lib/rmg/RmgMap.cpp @@ -245,7 +245,7 @@ RmgMap::Zones RmgMap::getZonesOnLevel(int level) const Zones zonesOnLevel; for(const auto& zonePair : zones) { - if(zonePair.second->isUnderground() == (bool)level) + if(zonePair.second->getPos().z == level) { zonesOnLevel.insert(zonePair); } diff --git a/lib/rmg/Zone.cpp b/lib/rmg/Zone.cpp index 56c38cdf4..0782b8fdd 100644 --- a/lib/rmg/Zone.cpp +++ b/lib/rmg/Zone.cpp @@ -42,7 +42,7 @@ Zone::~Zone() = default; bool Zone::isUnderground() const { - return getPos().z; + return getPos().z == 1; // TODO: multilevel support } void Zone::setOptions(const ZoneOptions& options)