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); @@ -197,7 +197,8 @@ *p++ = (int)(color.b * 255.f); // Use alphaMax for borders and gaia territory; these tiles will be deleted later - if (val == 0 || + if (!visible || + val == 0 || (i > 0 && (territories.get(i-1, j) & ICmpTerritoryManager::TERRITORY_PLAYER_MASK) != val) || (i < w-1 && (territories.get(i+1, j) & ICmpTerritoryManager::TERRITORY_PLAYER_MASK) != val) || (j > 0 && (territories.get(i, j-1) & ICmpTerritoryManager::TERRITORY_PLAYER_MASK) != val) || Index: source/simulation2/components/CCmpTerritoryManager.cpp =================================================================== --- source/simulation2/components/CCmpTerritoryManager.cpp +++ source/simulation2/components/CCmpTerritoryManager.cpp @@ -309,6 +309,11 @@ m_Visible = visible; } + bool GetVisibility() + { + return m_Visible; + } + void UpdateColors(); private: Index: source/simulation2/components/ICmpTerritoryManager.h =================================================================== --- source/simulation2/components/ICmpTerritoryManager.h +++ source/simulation2/components/ICmpTerritoryManager.h @@ -99,6 +99,11 @@ virtual void SetVisibility(bool visible) = 0; /** + * Returns whether territory borders should be drawn. + */ + virtual bool GetVisibility() = 0; + + /** * Updates the boundary and territory colors. */ virtual void UpdateColors() = 0; Index: source/simulation2/components/ICmpTerritoryManager.cpp =================================================================== --- source/simulation2/components/ICmpTerritoryManager.cpp +++ source/simulation2/components/ICmpTerritoryManager.cpp @@ -29,4 +29,5 @@ DEFINE_INTERFACE_METHOD_2("IsTerritoryBlinking", bool, ICmpTerritoryManager, IsTerritoryBlinking, entity_pos_t, entity_pos_t) DEFINE_INTERFACE_METHOD_1("GetTerritoryPercentage", u8, ICmpTerritoryManager, GetTerritoryPercentage, player_id_t) DEFINE_INTERFACE_METHOD_0("UpdateColors", void, ICmpTerritoryManager, UpdateColors) +DEFINE_INTERFACE_METHOD_1("SetVisibility", void, ICmpTerritoryManager, SetVisibility, bool) END_INTERFACE_WRAPPER(TerritoryManager)