diff --git a/OpenRA.Game/Graphics/Viewport.cs b/OpenRA.Game/Graphics/Viewport.cs index 540e97f379..1dd6a5f881 100755 --- a/OpenRA.Game/Graphics/Viewport.cs +++ b/OpenRA.Game/Graphics/Viewport.cs @@ -47,8 +47,6 @@ namespace OpenRA.Graphics public int2 TopLeft { get { return CenterLocation - viewportSize / 2; } } public int2 BottomRight { get { return CenterLocation + viewportSize / 2; } } int2 viewportSize; - bool cellBoundsDirty = true; - CellRegion cells; bool cellsDirty = true; @@ -64,7 +62,6 @@ namespace OpenRA.Graphics { zoom = value; viewportSize = (1f / zoom * new float2(Game.Renderer.Resolution)).ToInt2(); - cellBoundsDirty = true; cellsDirty = true; } } @@ -115,7 +112,6 @@ namespace OpenRA.Graphics public void Center(WPos pos) { CenterLocation = worldRenderer.ScreenPxPosition(pos).Clamp(mapBounds); - cellBoundsDirty = true; cellsDirty = true; } @@ -123,7 +119,6 @@ namespace OpenRA.Graphics { // Convert scroll delta from world-px to viewport-px CenterLocation += (1f / Zoom * delta).ToInt2(); - cellBoundsDirty = true; cellsDirty = true; if (!ignoreBorders) @@ -136,36 +131,14 @@ namespace OpenRA.Graphics { get { - var r = CellBounds; - var ctl = new CPos(r.Left, r.Top).TopLeft; - var cbr = new CPos(r.Right, r.Bottom).TopLeft; + var ctl = VisibleCells.TopLeft.TopLeft; + var cbr = VisibleCells.BottomRight.BottomRight; var tl = WorldToViewPx(worldRenderer.ScreenPxPosition(ctl)).Clamp(ScreenClip); var br = WorldToViewPx(worldRenderer.ScreenPxPosition(cbr)).Clamp(ScreenClip); return Rectangle.FromLTRB(tl.X, tl.Y, br.X, br.Y); } } - // Rectangle (in cell coords) of cells that are currently visible on the screen - Rectangle cachedRect; - public Rectangle CellBounds - { - get - { - if (cellBoundsDirty) - { - var boundary = new CVec(1, 1); - var tl = worldRenderer.Position(TopLeft).ToCPos() - boundary; - var br = worldRenderer.Position(BottomRight).ToCPos() + boundary; - - cachedRect = Rectangle.Intersect(Rectangle.FromLTRB(tl.X, tl.Y, br.X, br.Y), worldRenderer.world.Map.Bounds); - cellBoundsDirty = false; - } - - var b = worldRenderer.world.VisibleBounds; - return b.HasValue ? Rectangle.Intersect(cachedRect, b.Value) : cachedRect; - } - } - public CellRegion VisibleCells { get diff --git a/OpenRA.Game/Traits/World/Shroud.cs b/OpenRA.Game/Traits/World/Shroud.cs index 2efb5bf226..a608302fb5 100644 --- a/OpenRA.Game/Traits/World/Shroud.cs +++ b/OpenRA.Game/Traits/World/Shroud.cs @@ -38,8 +38,6 @@ namespace OpenRA.Traits Dictionary visibility = new Dictionary(); Dictionary generation = new Dictionary(); - public Rectangle ExploredBounds { get; private set; } - public int Hash { get; private set; } public Shroud(Actor self) @@ -57,9 +55,6 @@ namespace OpenRA.Traits self.World.ActorAdded += AddShroudGeneration; self.World.ActorRemoved += RemoveShroudGeneration; - if (!self.World.LobbyInfo.GlobalSettings.Shroud) - ExploredBounds = map.Bounds; - fogVisibilities = Exts.Lazy(() => self.TraitsImplementing().ToArray()); } @@ -92,15 +87,6 @@ namespace OpenRA.Traits var visible = origins.SelectMany(o => FindVisibleTiles(a.World, o, rs.Range)) .Distinct().ToArray(); - // Update bounding rect - var r = (rs.Range.Range + 1023) / 1024; - - foreach (var o in origins) - { - var box = new Rectangle(o.X - r, o.Y - r, 2 * r + 1, 2 * r + 1); - ExploredBounds = Rectangle.Union(ExploredBounds, box); - } - // Update visibility foreach (var c in visible) { @@ -205,10 +191,6 @@ namespace OpenRA.Traits foreach (var q in FindVisibleTiles(world, center, range)) explored[q] = true; - var r = (range.Range + 1023) / 1024; - var box = new Rectangle(center.X - r, center.Y - r, 2 * r + 1, 2 * r + 1); - ExploredBounds = Rectangle.Union(ExploredBounds, box); - Invalidate(); } @@ -218,7 +200,6 @@ namespace OpenRA.Traits if (s.explored[cell]) explored[cell] = true; - ExploredBounds = Rectangle.Union(ExploredBounds, s.ExploredBounds); Invalidate(); } @@ -226,8 +207,6 @@ namespace OpenRA.Traits { explored.Clear(true); - ExploredBounds = world.Map.Bounds; - Invalidate(); } diff --git a/OpenRA.Game/World.cs b/OpenRA.Game/World.cs index 6e8d2c424d..6d1aa45475 100644 --- a/OpenRA.Game/World.cs +++ b/OpenRA.Game/World.cs @@ -55,17 +55,6 @@ namespace OpenRA public bool ShroudObscures(Actor a) { return RenderPlayer != null && !RenderPlayer.Shroud.IsExplored(a); } public bool ShroudObscures(CPos p) { return RenderPlayer != null && !RenderPlayer.Shroud.IsExplored(p); } - public Rectangle? VisibleBounds - { - get - { - if (RenderPlayer == null) - return null; - - return RenderPlayer.Shroud.ExploredBounds; - } - } - public bool IsReplay { get { return orderManager.Connection is ReplayConnection; }