From 2f568ce829c291ad00d250e24652d8d70f13db80 Mon Sep 17 00:00:00 2001 From: Bob Date: Mon, 18 Jan 2010 01:50:24 +1300 Subject: [PATCH] move Game.worldRenderer into World --- OpenRa.Game/Chrome.cs | 2 +- OpenRa.Game/Game.cs | 5 +---- OpenRa.Game/Graphics/TerrainRenderer.cs | 6 +++--- OpenRa.Game/Graphics/Viewport.cs | 2 +- OpenRa.Game/Graphics/WorldRenderer.cs | 4 ++-- OpenRa.Game/Orders/ChronoshiftDestinationOrderGenerator.cs | 2 +- OpenRa.Game/Orders/PlaceBuildingOrderGenerator.cs | 2 +- OpenRa.Game/Orders/UnitOrderGenerator.cs | 2 +- OpenRa.Game/World.cs | 5 +++++ OpenRa.Mods.Aftermath/Orders/SetChronoTankDestination.cs | 2 +- 10 files changed, 17 insertions(+), 15 deletions(-) diff --git a/OpenRa.Game/Chrome.cs b/OpenRa.Game/Chrome.cs index 11a6c243f4..0a68b88538 100644 --- a/OpenRa.Game/Chrome.cs +++ b/OpenRa.Game/Chrome.cs @@ -170,7 +170,7 @@ namespace OpenRa new int2(140, 15), Color.White); if (Game.Settings.PerfGraph) - PerfHistory.Render(renderer, Game.worldRenderer.lineRenderer); + PerfHistory.Render(renderer, Game.world.WorldRenderer.lineRenderer); DrawRadar(); DrawPower(); diff --git a/OpenRa.Game/Game.cs b/OpenRa.Game/Game.cs index 7f8a4d6ffa..f974131200 100644 --- a/OpenRa.Game/Game.cs +++ b/OpenRa.Game/Game.cs @@ -20,7 +20,6 @@ namespace OpenRa public static World world; internal static Viewport viewport; public static PathFinder PathFinder; - public static WorldRenderer worldRenderer; public static Controller controller; internal static Chrome chrome; public static UserSettings Settings; @@ -43,7 +42,7 @@ namespace OpenRa public static bool skipMakeAnims = true; - static Renderer renderer; + internal static Renderer renderer; static bool usingAftermath; static int2 clientSize; static HardwarePalette palette; @@ -79,8 +78,6 @@ namespace OpenRa players[i] = new Player(i, LobbyInfo.Clients.FirstOrDefault(a => a.Index == i)); } - worldRenderer = new WorldRenderer(renderer); - SequenceProvider.Initialize(usingAftermath); viewport = new Viewport(clientSize, Game.world.Map.Offset, Game.world.Map.Offset + Game.world.Map.Size, renderer); diff --git a/OpenRa.Game/Graphics/TerrainRenderer.cs b/OpenRa.Game/Graphics/TerrainRenderer.cs index abce3020dc..212dfe423f 100644 --- a/OpenRa.Game/Graphics/TerrainRenderer.cs +++ b/OpenRa.Game/Graphics/TerrainRenderer.cs @@ -15,15 +15,15 @@ namespace OpenRa.Graphics Map map; OverlayRenderer overlayRenderer; - public TerrainRenderer(Renderer renderer, Map map) + public TerrainRenderer(World world, Renderer renderer) { this.renderer = renderer; - this.map = map; + this.map = world.Map; Size tileSize = new Size( Game.CellSize, Game.CellSize ); var tileMapping = new Cache( - x => SheetBuilder.Add(Game.world.TileSet.GetBytes(x), tileSize)); + x => SheetBuilder.Add(world.TileSet.GetBytes(x), tileSize)); Vertex[] vertices = new Vertex[4 * map.Height * map.Width]; ushort[] indices = new ushort[6 * map.Height * map.Width]; diff --git a/OpenRa.Game/Graphics/Viewport.cs b/OpenRa.Game/Graphics/Viewport.cs index aa4e84e3a2..f7f5c64223 100644 --- a/OpenRa.Game/Graphics/Viewport.cs +++ b/OpenRa.Game/Graphics/Viewport.cs @@ -48,7 +48,7 @@ namespace OpenRa.Graphics renderer.BeginFrame(r1, r2, scrollPosition); - Game.worldRenderer.Draw(); + Game.world.WorldRenderer.Draw(); Game.chrome.Draw(); var c = Game.chrome.HitTest(mousePos) ? Cursor.Default : Game.controller.ChooseCursor(); diff --git a/OpenRa.Game/Graphics/WorldRenderer.cs b/OpenRa.Game/Graphics/WorldRenderer.cs index 1e41308107..037aaca30f 100644 --- a/OpenRa.Game/Graphics/WorldRenderer.cs +++ b/OpenRa.Game/Graphics/WorldRenderer.cs @@ -15,9 +15,9 @@ namespace OpenRa.Graphics public static bool ShowUnitPaths = false; - internal WorldRenderer(Renderer renderer) + internal WorldRenderer(World world, Renderer renderer) { - terrainRenderer = new TerrainRenderer(renderer, Game.world.Map); + terrainRenderer = new TerrainRenderer(world, renderer); this.renderer = renderer; spriteRenderer = new SpriteRenderer(renderer, true); diff --git a/OpenRa.Game/Orders/ChronoshiftDestinationOrderGenerator.cs b/OpenRa.Game/Orders/ChronoshiftDestinationOrderGenerator.cs index 23ee821595..1e2eeb11e8 100644 --- a/OpenRa.Game/Orders/ChronoshiftDestinationOrderGenerator.cs +++ b/OpenRa.Game/Orders/ChronoshiftDestinationOrderGenerator.cs @@ -32,7 +32,7 @@ namespace OpenRa.Orders public void Tick() {} public void Render() { - Game.worldRenderer.DrawSelectionBox(self, Color.White, true); + Game.world.WorldRenderer.DrawSelectionBox(self, Color.White, true); } public Cursor GetCursor(int2 xy, MouseInput mi) diff --git a/OpenRa.Game/Orders/PlaceBuildingOrderGenerator.cs b/OpenRa.Game/Orders/PlaceBuildingOrderGenerator.cs index 30e1d0d95e..68985cf561 100644 --- a/OpenRa.Game/Orders/PlaceBuildingOrderGenerator.cs +++ b/OpenRa.Game/Orders/PlaceBuildingOrderGenerator.cs @@ -48,7 +48,7 @@ namespace OpenRa.Orders public void Render() { - Game.worldRenderer.uiOverlay.DrawBuildingGrid( Building, BuildingInfo ); + Game.world.WorldRenderer.uiOverlay.DrawBuildingGrid( Building, BuildingInfo ); } public Cursor GetCursor(int2 xy, MouseInput mi) diff --git a/OpenRa.Game/Orders/UnitOrderGenerator.cs b/OpenRa.Game/Orders/UnitOrderGenerator.cs index 936775ca4e..54ccab6fc8 100644 --- a/OpenRa.Game/Orders/UnitOrderGenerator.cs +++ b/OpenRa.Game/Orders/UnitOrderGenerator.cs @@ -33,7 +33,7 @@ namespace OpenRa.Orders public void Render() { foreach( var a in selection ) - Game.worldRenderer.DrawSelectionBox( a, Color.White, true ); + Game.world.WorldRenderer.DrawSelectionBox( a, Color.White, true ); } public Cursor GetCursor(int2 xy, MouseInput mi) diff --git a/OpenRa.Game/World.cs b/OpenRa.Game/World.cs index 36e6bd34fd..cd63b90b1d 100644 --- a/OpenRa.Game/World.cs +++ b/OpenRa.Game/World.cs @@ -3,6 +3,7 @@ using System.Collections.Generic; using OpenRa.Effects; using OpenRa.Support; using OpenRa.FileFormats; +using OpenRa.Graphics; namespace OpenRa { @@ -18,6 +19,8 @@ namespace OpenRa public readonly Map Map; public readonly TileSet TileSet; + public readonly WorldRenderer WorldRenderer; + readonly int oreFrequency; int oreTicks; @@ -35,6 +38,8 @@ namespace OpenRa Map.InitOreDensity(); CreateActor("World", new int2(int.MaxValue, int.MaxValue), null); + + WorldRenderer = new WorldRenderer(this, Game.renderer); } public Actor CreateActor( string name, int2 location, Player owner ) diff --git a/OpenRa.Mods.Aftermath/Orders/SetChronoTankDestination.cs b/OpenRa.Mods.Aftermath/Orders/SetChronoTankDestination.cs index 3770294dd0..fb9b855f3d 100644 --- a/OpenRa.Mods.Aftermath/Orders/SetChronoTankDestination.cs +++ b/OpenRa.Mods.Aftermath/Orders/SetChronoTankDestination.cs @@ -27,7 +27,7 @@ namespace OpenRa.Mods.Aftermath.Orders public void Tick() { } public void Render() { - Game.worldRenderer.DrawSelectionBox(self, Color.White, true); + Game.world.WorldRenderer.DrawSelectionBox(self, Color.White, true); } public Cursor GetCursor(int2 xy, MouseInput mi)