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.