Index: binaries/data/mods/public/simulation/data/territorymanager.rnc =================================================================== --- binaries/data/mods/public/simulation/data/territorymanager.rnc +++ binaries/data/mods/public/simulation/data/territorymanager.rnc @@ -14,4 +14,7 @@ element BorderSeparation { xsd:decimal } + element Visibility { + xsd:boolean + } } Index: binaries/data/mods/public/simulation/data/territorymanager.rng =================================================================== --- binaries/data/mods/public/simulation/data/territorymanager.rng +++ binaries/data/mods/public/simulation/data/territorymanager.rng @@ -19,5 +19,8 @@ + + + Index: binaries/data/mods/public/simulation/data/territorymanager.xml =================================================================== --- binaries/data/mods/public/simulation/data/territorymanager.xml +++ binaries/data/mods/public/simulation/data/territorymanager.xml @@ -3,4 +3,5 @@ 4 0.75 0.85 + true Index: source/graphics/TerritoryTexture.cpp =================================================================== --- source/graphics/TerritoryTexture.cpp +++ source/graphics/TerritoryTexture.cpp @@ -154,7 +154,7 @@ PROFILE("recompute territory texture"); CmpPtr cmpTerritoryManager(m_Simulation, SYSTEM_ENTITY); - if (!cmpTerritoryManager) + if (!cmpTerritoryManager || !cmpTerritoryManager->GetVisibility()) return; std::vector bitmap(m_MapSize * m_MapSize * 4); Index: source/simulation2/components/CCmpTerritoryManager.cpp =================================================================== --- source/simulation2/components/CCmpTerritoryManager.cpp +++ source/simulation2/components/CCmpTerritoryManager.cpp @@ -128,7 +128,6 @@ m_EnableLineDebugOverlays = false; m_DirtyID = 1; m_DirtyBlinkingID = 1; - m_Visible = true; m_ColorChanged = false; m_AnimTime = 0.0; @@ -146,6 +145,7 @@ m_ImpassableCost = (u8)impassableCost; m_BorderThickness = externalParamNode.GetChild("TerritoryManager").GetChild("BorderThickness").ToFixed().ToFloat(); m_BorderSeparation = externalParamNode.GetChild("TerritoryManager").GetChild("BorderSeparation").ToFixed().ToFloat(); + m_Visible = externalParamNode.GetChild("TerritoryManager").GetChild("Visibility").ToBool(); } virtual void Deinit() @@ -304,9 +304,9 @@ void RenderSubmit(SceneCollector& collector); - void SetVisibility(bool visible) + bool GetVisibility() { - m_Visible = visible; + return m_Visible; } void UpdateColors(); Index: source/simulation2/components/ICmpTerritoryManager.h =================================================================== --- source/simulation2/components/ICmpTerritoryManager.h +++ source/simulation2/components/ICmpTerritoryManager.h @@ -94,9 +94,9 @@ virtual u8 GetTerritoryPercentage(player_id_t player) = 0; /** - * Enables or disables rendering of an territory borders. - */ - virtual void SetVisibility(bool visible) = 0; + * Returns whether territory borders should be drawn. + */ + virtual bool GetVisibility() = 0; /** * Updates the boundary and territory colors.