diff --git a/OpenRA.Game/Chrome.cs b/OpenRA.Game/Chrome.cs deleted file mode 100644 index c4ae596462..0000000000 --- a/OpenRA.Game/Chrome.cs +++ /dev/null @@ -1,53 +0,0 @@ -#region Copyright & License Information -/* - * Copyright 2007-2010 The OpenRA Developers (see AUTHORS) - * This file is part of OpenRA, which is free software. It is made - * available to you under the terms of the GNU General Public License - * as published by the Free Software Foundation. For more information, - * see LICENSE. - */ -#endregion - -using System.Linq; -using OpenRA.FileFormats; -using OpenRA.Graphics; -using OpenRA.Widgets; - -namespace OpenRA -{ - class Chrome - { - public readonly Renderer renderer; - public readonly LineRenderer lineRenderer; - - SpriteRenderer rgbaRenderer { get { return renderer.RgbaSpriteRenderer; } } - SpriteRenderer shpRenderer { get { return renderer.WorldSpriteRenderer; } } - - public Chrome(Renderer r, Manifest m) - { - this.renderer = r; - lineRenderer = new LineRenderer(renderer); - - var widgetYaml = m.ChromeLayout.Select(a => MiniYaml.FromFile(a)).Aggregate(MiniYaml.Merge); - - if (Widget.RootWidget == null) - { - Widget.RootWidget = WidgetLoader.LoadWidget( widgetYaml.FirstOrDefault() ); - Widget.RootWidget.Initialize(); - Widget.RootWidget.InitDelegates(); - } - } - - public void Tick(World world) - { - Widget.RootWidget.Tick(world); - - if (!world.GameHasStarted) return; - if (world.LocalPlayer == null) return; - ++Widget.ticksSinceLastMove; - } - - public void Draw(World world) { Widget.RootWidget.Draw(world); shpRenderer.Flush(); rgbaRenderer.Flush(); lineRenderer.Flush(); } - - } -} diff --git a/OpenRA.Game/Game.cs b/OpenRA.Game/Game.cs index 4cb308eb13..d6f550b6ee 100644 --- a/OpenRA.Game/Game.cs +++ b/OpenRA.Game/Game.cs @@ -38,7 +38,6 @@ namespace OpenRA public static World world; internal static Viewport viewport; public static Controller controller; - internal static Chrome chrome; internal static UserSettings Settings; internal static OrderManager orderManager; @@ -47,7 +46,7 @@ namespace OpenRA public static XRandom CosmeticRandom = new XRandom(); // not synced - internal static Renderer renderer; + public static Renderer Renderer; static int2 clientSize; static string mapName; public static Session LobbyInfo = new Session(); @@ -60,13 +59,13 @@ namespace OpenRA static internal bool scrollLeft = false; static internal bool scrollRight = false; - static void LoadModPackages(Manifest manifest) + static void LoadModPackages() { FileSystem.UnmountAll(); Timer.Time("reset: {0}"); - foreach (var dir in manifest.Folders) FileSystem.Mount(dir); - foreach (var pkg in manifest.Packages) FileSystem.Mount(pkg); + foreach (var dir in Manifest.Folders) FileSystem.Mount(dir); + foreach (var pkg in Manifest.Packages) FileSystem.Mount(pkg); Timer.Time("mount temporary packages: {0}"); } @@ -116,20 +115,22 @@ namespace OpenRA static void ChangeMods() { Timer.Time("----ChangeMods"); - var manifest = new Manifest(LobbyInfo.GlobalSettings.Mods); + Manifest = new Manifest(LobbyInfo.GlobalSettings.Mods); Timer.Time("manifest: {0}"); - LoadModAssemblies(manifest); - SheetBuilder.Initialize(renderer); - LoadModPackages(manifest); + LoadModAssemblies(Manifest); + SheetBuilder.Initialize(Renderer); + LoadModPackages(); Timer.Time("load assemblies, packages: {0}"); packageChangePending = false; } - + + public static Manifest Manifest; + static void LoadMap(string mapName) { Timer.Time("----LoadMap"); - SheetBuilder.Initialize(renderer); - var manifest = new Manifest(LobbyInfo.GlobalSettings.Mods); + SheetBuilder.Initialize(Renderer); + Manifest = new Manifest(LobbyInfo.GlobalSettings.Mods); Timer.Time("manifest: {0}"); if (!Game.AvailableMaps.ContainsKey(mapName)) @@ -137,19 +138,16 @@ namespace OpenRA var map = new Map(Game.AvailableMaps[mapName].Package); - viewport = new Viewport(clientSize, map.TopLeft, map.BottomRight, renderer); + viewport = new Viewport(clientSize, map.TopLeft, map.BottomRight, Renderer); world = null; // trying to access the old world will NRE, rather than silently doing it wrong. - ChromeProvider.Initialize(manifest.Chrome); + ChromeProvider.Initialize(Manifest.Chrome); Timer.Time("viewport, ChromeProvider: {0}"); - world = new World(manifest, map); + world = new World(Manifest, map); Timer.Time("world: {0}"); - SequenceProvider.Initialize(manifest.Sequences); + SequenceProvider.Initialize(Manifest.Sequences); Timer.Time("ChromeProv, SeqProv: {0}"); - chrome = new Chrome(renderer, manifest); - Timer.Time("chrome: {0}"); - Timer.Time("----end LoadMap"); Debug("Map change {0} -> {1}".F(Game.mapName, mapName)); } @@ -281,7 +279,7 @@ namespace OpenRA using (new PerfSample("tick_time")) { lastTime += Settings.Timestep; - chrome.Tick(world); + Widget.DoTick(world); orderManager.TickImmediate(world); @@ -566,15 +564,16 @@ namespace OpenRA Log.AddChannel("sync", "syncreport.log", true, true); LobbyInfo.GlobalSettings.Mods = Settings.InitialMods; + Manifest = new Manifest(LobbyInfo.GlobalSettings.Mods); // Load the default mod to access required files - LoadModPackages(new Manifest(LobbyInfo.GlobalSettings.Mods)); + LoadModPackages(); Renderer.SheetSize = Settings.SheetSize; var resolution = GetResolution(settings, Game.Settings.WindowMode); - renderer = new Renderer(resolution, Game.Settings.WindowMode); - resolution = renderer.Resolution; + Renderer = new Renderer(resolution, Game.Settings.WindowMode); + resolution = Renderer.Resolution; controller = new Controller(); clientSize = new int2(resolution); @@ -593,7 +592,7 @@ namespace OpenRA else JoinLocal(); - LoadShellMap(new Manifest(LobbyInfo.GlobalSettings.Mods).ShellmapUid); + LoadShellMap(Manifest.ShellmapUid); ResetTimer(); @@ -620,7 +619,7 @@ namespace OpenRA public static void Disconnect() { - var shellmap = new Manifest(LobbyInfo.GlobalSettings.Mods).ShellmapUid; + var shellmap = Manifest.ShellmapUid; LobbyInfo = new Session(); LobbyInfo.GlobalSettings.Mods = Settings.InitialMods; JoinLocal(); @@ -673,14 +672,14 @@ namespace OpenRA public static void InitializeEngineWithMods(string[] mods) { AppDomain.CurrentDomain.AssemblyResolve += FileSystem.ResolveAssembly; - var manifest = new Manifest(mods); - LoadModAssemblies(manifest); + Manifest = new Manifest(mods); + LoadModAssemblies(Manifest); FileSystem.UnmountAll(); - foreach (var folder in manifest.Folders) FileSystem.Mount(folder); - foreach (var pkg in manifest.Packages) FileSystem.Mount(pkg); + foreach (var folder in Manifest.Folders) FileSystem.Mount(folder); + foreach (var pkg in Manifest.Packages) FileSystem.Mount(pkg); - Rules.LoadRules(manifest, new Map()); + Rules.LoadRules(Manifest, new Map()); } } } diff --git a/OpenRA.Game/Graphics/HardwarePalette.cs b/OpenRA.Game/Graphics/HardwarePalette.cs index 5b859c673e..aea58a4e91 100644 --- a/OpenRA.Game/Graphics/HardwarePalette.cs +++ b/OpenRA.Game/Graphics/HardwarePalette.cs @@ -81,7 +81,7 @@ namespace OpenRA.Graphics mod.AdjustPalette(b); Texture.SetData(b); - Game.renderer.PaletteTexture = Texture; + Game.Renderer.PaletteTexture = Texture; } } } diff --git a/OpenRA.Game/Graphics/LineRenderer.cs b/OpenRA.Game/Graphics/LineRenderer.cs index 18917824b0..28479179c9 100644 --- a/OpenRA.Game/Graphics/LineRenderer.cs +++ b/OpenRA.Game/Graphics/LineRenderer.cs @@ -13,7 +13,7 @@ using OpenRA.FileFormats.Graphics; namespace OpenRA.Graphics { - class LineRenderer + public class LineRenderer { Renderer renderer; IVertexBuffer vertexBuffer; diff --git a/OpenRA.Game/Graphics/Renderer.cs b/OpenRA.Game/Graphics/Renderer.cs index 4cbe2b5c6a..3db94d0a9c 100644 --- a/OpenRA.Game/Graphics/Renderer.cs +++ b/OpenRA.Game/Graphics/Renderer.cs @@ -18,7 +18,7 @@ using OpenRA.Support; namespace OpenRA.Graphics { - internal class Renderer + public class Renderer { internal static int SheetSize; @@ -32,6 +32,7 @@ namespace OpenRA.Graphics public SpriteRenderer SpriteRenderer { get; private set; } public SpriteRenderer RgbaSpriteRenderer { get; private set; } public SpriteRenderer WorldSpriteRenderer { get; private set; } + public LineRenderer LineRenderer { get; private set; } public ITexture PaletteTexture; @@ -51,6 +52,7 @@ namespace OpenRA.Graphics SpriteRenderer = new SpriteRenderer( this, SpriteShader ); RgbaSpriteRenderer = new SpriteRenderer( this, RgbaSpriteShader ); WorldSpriteRenderer = new SpriteRenderer( this, WorldSpriteShader ); + LineRenderer = new LineRenderer(this); RegularFont = new SpriteFont(this, "FreeSans.ttf", 14); BoldFont = new SpriteFont(this, "FreeSansBold.ttf", 14); @@ -118,5 +120,12 @@ namespace OpenRA.Graphics PerfHistory.Increment("batches", 1); } + + public void Flush() + { + WorldSpriteRenderer.Flush(); + RgbaSpriteRenderer.Flush(); + LineRenderer.Flush(); + } } } diff --git a/OpenRA.Game/Graphics/SpriteFont.cs b/OpenRA.Game/Graphics/SpriteFont.cs index f2635893de..e2a573aef8 100644 --- a/OpenRA.Game/Graphics/SpriteFont.cs +++ b/OpenRA.Game/Graphics/SpriteFont.cs @@ -17,7 +17,7 @@ using Tao.FreeType; namespace OpenRA.Graphics { - class SpriteFont + public class SpriteFont { Renderer renderer; int size; diff --git a/OpenRA.Game/Graphics/SpriteRenderer.cs b/OpenRA.Game/Graphics/SpriteRenderer.cs index 735d28b4e2..25accd1774 100644 --- a/OpenRA.Game/Graphics/SpriteRenderer.cs +++ b/OpenRA.Game/Graphics/SpriteRenderer.cs @@ -12,7 +12,7 @@ using OpenRA.FileFormats.Graphics; namespace OpenRA.Graphics { - class SpriteRenderer + public class SpriteRenderer { IVertexBuffer vertexBuffer; IIndexBuffer indexBuffer; diff --git a/OpenRA.Game/Graphics/Viewport.cs b/OpenRA.Game/Graphics/Viewport.cs index 8d77b3fa9f..90f8b1c46d 100644 --- a/OpenRA.Game/Graphics/Viewport.cs +++ b/OpenRA.Game/Graphics/Viewport.cs @@ -67,7 +67,7 @@ namespace OpenRA.Graphics world.WorldRenderer.Draw(); Timer.Time( "worldRenderer: {0}" ); - Game.chrome.Draw(world); + Widget.DoDraw(world); Timer.Time( "widgets: {0}" ); var cursorName = Widget.RootWidget.GetCursorOuter(mousePos) ?? Game.controller.ChooseCursor( world ); diff --git a/OpenRA.Game/OpenRA.Game.csproj b/OpenRA.Game/OpenRA.Game.csproj index 4c0979be90..4540344119 100755 --- a/OpenRA.Game/OpenRA.Game.csproj +++ b/OpenRA.Game/OpenRA.Game.csproj @@ -75,7 +75,6 @@ - diff --git a/OpenRA.Game/Traits/World/BibLayer.cs b/OpenRA.Game/Traits/World/BibLayer.cs index 2cebdc73f6..5baa57a91d 100644 --- a/OpenRA.Game/Traits/World/BibLayer.cs +++ b/OpenRA.Game/Traits/World/BibLayer.cs @@ -34,7 +34,7 @@ namespace OpenRA.Traits public BibLayer(Actor self, BibLayerInfo info) { - spriteRenderer = Game.renderer.SpriteRenderer; + spriteRenderer = Game.Renderer.SpriteRenderer; this.info = info; bibSprites = info.BibTypes.Select(x => SpriteSheetBuilder.LoadAllSprites(x)).ToArray(); diff --git a/OpenRA.Game/Traits/World/ResourceLayer.cs b/OpenRA.Game/Traits/World/ResourceLayer.cs index 73bf6d2d0c..347da8f028 100644 --- a/OpenRA.Game/Traits/World/ResourceLayer.cs +++ b/OpenRA.Game/Traits/World/ResourceLayer.cs @@ -27,7 +27,7 @@ namespace OpenRA.Traits public ResourceLayer() { - sr = Game.renderer.SpriteRenderer; + sr = Game.Renderer.SpriteRenderer; } public void Render() diff --git a/OpenRA.Game/Traits/World/SmudgeLayer.cs b/OpenRA.Game/Traits/World/SmudgeLayer.cs index 40235d5579..7ed86588c7 100644 --- a/OpenRA.Game/Traits/World/SmudgeLayer.cs +++ b/OpenRA.Game/Traits/World/SmudgeLayer.cs @@ -34,7 +34,7 @@ namespace OpenRA.Traits public SmudgeLayer(SmudgeLayerInfo info) { - spriteRenderer = Game.renderer.SpriteRenderer; + spriteRenderer = Game.Renderer.SpriteRenderer; this.Info = info; smudgeSprites = Info.Types.Select(x => SpriteSheetBuilder.LoadAllSprites(x)).ToArray(); } diff --git a/OpenRA.Game/Widgets/BuildPaletteWidget.cs b/OpenRA.Game/Widgets/BuildPaletteWidget.cs index 641daaad60..4b44a561ec 100644 --- a/OpenRA.Game/Widgets/BuildPaletteWidget.cs +++ b/OpenRA.Game/Widgets/BuildPaletteWidget.cs @@ -201,15 +201,15 @@ namespace OpenRA.Widgets var numActualRows = Math.Max((allBuildables.Length + Columns - 1) / Columns, Rows); // Palette Background - WidgetUtils.DrawRGBA(ChromeProvider.GetImage(Game.chrome.renderer, paletteCollection, "top"), new float2(origin.X - 9, origin.Y - 9)); + WidgetUtils.DrawRGBA(ChromeProvider.GetImage(Game.Renderer, paletteCollection, "top"), new float2(origin.X - 9, origin.Y - 9)); for (var w = 0; w < numActualRows; w++) WidgetUtils.DrawRGBA( - ChromeProvider.GetImage(Game.chrome.renderer, paletteCollection, + ChromeProvider.GetImage(Game.Renderer, paletteCollection, "bg-" + (w % 4).ToString()), new float2(origin.X - 9, origin.Y + 48 * w)); - WidgetUtils.DrawRGBA(ChromeProvider.GetImage(Game.chrome.renderer, paletteCollection, "bottom"), + WidgetUtils.DrawRGBA(ChromeProvider.GetImage(Game.Renderer, paletteCollection, "bottom"), new float2(origin.X - 9, origin.Y - 1 + 48 * numActualRows)); - Game.chrome.renderer.RgbaSpriteRenderer.Flush(); + Game.Renderer.RgbaSpriteRenderer.Flush(); // Icons @@ -223,7 +223,7 @@ namespace OpenRA.Widgets var firstOfThis = queue.AllItems(queueName).FirstOrDefault(a => a.Item == item.Name); - if (rect.Contains(Widget.lastMousePos.ToPoint())) + if (rect.Contains(Widget.LastMousePos.ToPoint())) tooltipItem = item.Name; var overlayPos = drawPos + new float2((64 - ready.Image.size.X) / 2, 2); @@ -275,7 +275,7 @@ namespace OpenRA.Widgets foreach (var ob in overlayBits) WidgetUtils.DrawSHP(ob.First, ob.Second); - Game.chrome.renderer.WorldSpriteRenderer.Flush(); + Game.Renderer.WorldSpriteRenderer.Flush(); // Tooltip if (tooltipItem != null && !paletteAnimating && paletteOpen) @@ -283,16 +283,16 @@ namespace OpenRA.Widgets new float2(Game.viewport.Width, origin.Y + numActualRows * 48 + 9).ToInt2()); // Palette Dock - WidgetUtils.DrawRGBA(ChromeProvider.GetImage(Game.chrome.renderer, paletteCollection, "dock-top"), + WidgetUtils.DrawRGBA(ChromeProvider.GetImage(Game.Renderer, paletteCollection, "dock-top"), new float2(Game.viewport.Width - 14, origin.Y - 23)); for (int i = 0; i < numActualRows; i++) - WidgetUtils.DrawRGBA(ChromeProvider.GetImage(Game.chrome.renderer, paletteCollection, "dock-" + (i % 4).ToString()), + WidgetUtils.DrawRGBA(ChromeProvider.GetImage(Game.Renderer, paletteCollection, "dock-" + (i % 4).ToString()), new float2(Game.viewport.Width - 14, origin.Y + 48 * i)); - WidgetUtils.DrawRGBA(ChromeProvider.GetImage(Game.chrome.renderer, paletteCollection, "dock-bottom"), + WidgetUtils.DrawRGBA(ChromeProvider.GetImage(Game.Renderer, paletteCollection, "dock-bottom"), new float2(Game.viewport.Width - 14, origin.Y - 1 + 48 * numActualRows)); - Game.chrome.renderer.RgbaSpriteRenderer.Flush(); + Game.Renderer.RgbaSpriteRenderer.Flush(); return 48 * y + 9; } @@ -416,33 +416,33 @@ namespace OpenRA.Widgets var producing = queue.CurrentItem(groupName); var index = q.Key == currentTab ? 2 : (producing != null && producing.Done) ? 1 : 0; var race = world.LocalPlayer.Country.Race; - WidgetUtils.DrawRGBA(ChromeProvider.GetImage(Game.chrome.renderer,"tabs-"+tabKeys[index], race+"-"+q.Key), new float2(x, y)); + WidgetUtils.DrawRGBA(ChromeProvider.GetImage(Game.Renderer,"tabs-"+tabKeys[index], race+"-"+q.Key), new float2(x, y)); var rect = new Rectangle((int)x,(int)y,(int)tabWidth,(int)tabHeight); tabs.Add(Pair.New(rect, HandleTabClick(groupName, world))); - if (rect.Contains(Widget.lastMousePos.ToPoint())) + if (rect.Contains(Widget.LastMousePos.ToPoint())) { var text = CategoryNameRemaps.ContainsKey(groupName) ? CategoryNameRemaps[groupName] : groupName; - var sz = Game.chrome.renderer.BoldFont.Measure(text); + var sz = Game.Renderer.BoldFont.Measure(text); WidgetUtils.DrawPanelPartial("dialog4", Rectangle.FromLTRB((int)rect.Left - sz.X - 30, (int)rect.Top, (int)rect.Left - 5, (int)rect.Bottom), PanelSides.All); - Game.chrome.renderer.BoldFont.DrawText(text, + Game.Renderer.BoldFont.DrawText(text, new float2(rect.Left - sz.X - 20, rect.Top + 12), Color.White); } y += tabHeight; } - Game.chrome.renderer.RgbaSpriteRenderer.Flush(); + Game.Renderer.RgbaSpriteRenderer.Flush(); } void DrawRightAligned(string text, int2 pos, Color c) { - Game.chrome.renderer.BoldFont.DrawText(text, - pos - new int2(Game.chrome.renderer.BoldFont.Measure(text).X, 0), c); + Game.Renderer.BoldFont.DrawText(text, + pos - new int2(Game.Renderer.BoldFont.Measure(text).X, 0), c); } void DrawProductionTooltip(World world, string unit, int2 pos) @@ -458,12 +458,12 @@ namespace OpenRA.Widgets var buildings = Rules.TechTree.GatherBuildings( pl ); var canBuildThis = Rules.TechTree.CanBuild(info, pl, buildings); - var longDescSize = Game.chrome.renderer.RegularFont.Measure(buildable.LongDesc.Replace("\\n", "\n")).Y; + var longDescSize = Game.Renderer.RegularFont.Measure(buildable.LongDesc.Replace("\\n", "\n")).Y; if (!canBuildThis) longDescSize += 8; WidgetUtils.DrawPanel("dialog4", new Rectangle(Game.viewport.Width - 300, pos.Y, 300, longDescSize + 65)); - Game.chrome.renderer.BoldFont.DrawText( + Game.Renderer.BoldFont.DrawText( buildable.Description + ((buildable.Hotkey != null)? " ({0})".F(buildable.Hotkey.ToUpper()) : ""), p.ToInt2() + new int2(5, 5), Color.White); @@ -487,7 +487,7 @@ namespace OpenRA.Widgets { var prereqs = buildable.Prerequisites .Select( a => Description( a ) ); - Game.chrome.renderer.RegularFont.DrawText( + Game.Renderer.RegularFont.DrawText( "Requires {0}".F(string.Join(", ", prereqs.ToArray())), p.ToInt2(), Color.White); @@ -496,10 +496,10 @@ namespace OpenRA.Widgets } p += new int2(0, 15); - Game.chrome.renderer.RegularFont.DrawText(buildable.LongDesc.Replace("\\n", "\n"), + Game.Renderer.RegularFont.DrawText(buildable.LongDesc.Replace("\\n", "\n"), p.ToInt2(), Color.White); - Game.chrome.renderer.RgbaSpriteRenderer.Flush(); + Game.Renderer.RgbaSpriteRenderer.Flush(); } bool DoBuildingHotkey(char c, World world) diff --git a/OpenRA.Game/Widgets/ButtonWidget.cs b/OpenRA.Game/Widgets/ButtonWidget.cs index 252bf3b45a..629d3d2fe4 100644 --- a/OpenRA.Game/Widgets/ButtonWidget.cs +++ b/OpenRA.Game/Widgets/ButtonWidget.cs @@ -64,7 +64,7 @@ namespace OpenRA.Widgets public override void DrawInner(World world) { - var font = (Bold) ? Game.chrome.renderer.BoldFont : Game.chrome.renderer.RegularFont; + var font = (Bold) ? Game.Renderer.BoldFont : Game.Renderer.RegularFont; var stateOffset = (Depressed) ? new int2(VisualHeight, VisualHeight) : new int2(0, 0); WidgetUtils.DrawPanel(Depressed ? "dialog3" : "dialog2", RenderBounds); diff --git a/OpenRA.Game/Widgets/ChatDisplayWidget.cs b/OpenRA.Game/Widgets/ChatDisplayWidget.cs index 6ba146e070..f8d9ba4a5e 100644 --- a/OpenRA.Game/Widgets/ChatDisplayWidget.cs +++ b/OpenRA.Game/Widgets/ChatDisplayWidget.cs @@ -38,7 +38,7 @@ namespace OpenRA.Widgets if (DrawBackground) WidgetUtils.DrawPanel("dialog3", chatLogArea); - var renderer = Game.chrome.renderer; + var renderer = Game.Renderer; var font = renderer.RegularFont; renderer.RgbaSpriteRenderer.Flush(); diff --git a/OpenRA.Game/Widgets/ChatEntryWidget.cs b/OpenRA.Game/Widgets/ChatEntryWidget.cs index 3842bbbc72..d2f5176adf 100644 --- a/OpenRA.Game/Widgets/ChatEntryWidget.cs +++ b/OpenRA.Game/Widgets/ChatEntryWidget.cs @@ -29,12 +29,12 @@ namespace OpenRA.Widgets if (composing) { var text = teamChat ? "Chat (Team): " : "Chat (All): "; - var w = Game.chrome.renderer.BoldFont.Measure(text).X; + var w = Game.Renderer.BoldFont.Measure(text).X; - Game.chrome.renderer.BoldFont.DrawText(text, RenderOrigin + new float2(3, 7), Color.White); - Game.chrome.renderer.RegularFont.DrawText(content, RenderOrigin + new float2(3 + w, 7), Color.White); + Game.Renderer.BoldFont.DrawText(text, RenderOrigin + new float2(3, 7), Color.White); + Game.Renderer.RegularFont.DrawText(content, RenderOrigin + new float2(3 + w, 7), Color.White); - Game.chrome.renderer.RgbaSpriteRenderer.Flush(); + Game.Renderer.RgbaSpriteRenderer.Flush(); } } diff --git a/OpenRA.Game/Widgets/CheckboxWidget.cs b/OpenRA.Game/Widgets/CheckboxWidget.cs index 5a5ec78890..66dfc68594 100644 --- a/OpenRA.Game/Widgets/CheckboxWidget.cs +++ b/OpenRA.Game/Widgets/CheckboxWidget.cs @@ -22,7 +22,7 @@ namespace OpenRA.Widgets public override void DrawInner(World world) { - var font = (Bold) ? Game.chrome.renderer.BoldFont : Game.chrome.renderer.RegularFont; + var font = (Bold) ? Game.Renderer.BoldFont : Game.Renderer.RegularFont; var pos = RenderOrigin; var rect = RenderBounds; var check = new Rectangle(rect.Location, @@ -35,9 +35,9 @@ namespace OpenRA.Widgets if (Checked()) { - Game.chrome.renderer.RgbaSpriteRenderer.Flush(); + Game.Renderer.RgbaSpriteRenderer.Flush(); WidgetUtils.FillRectWithColor(check.InflateBy(-4,-5,-4,-5),Color.White); - Game.chrome.lineRenderer.Flush(); + Game.Renderer.LineRenderer.Flush(); } } diff --git a/OpenRA.Game/Widgets/ColorBlockWidget.cs b/OpenRA.Game/Widgets/ColorBlockWidget.cs index 364ac15626..2d587f78f4 100644 --- a/OpenRA.Game/Widgets/ColorBlockWidget.cs +++ b/OpenRA.Game/Widgets/ColorBlockWidget.cs @@ -37,7 +37,7 @@ namespace OpenRA.Widgets public override void DrawInner(World world) { WidgetUtils.FillRectWithColor(RenderBounds, GetColor()); - Game.chrome.lineRenderer.Flush(); + Game.Renderer.LineRenderer.Flush(); } } } diff --git a/OpenRA.Game/Widgets/ImageWidget.cs b/OpenRA.Game/Widgets/ImageWidget.cs index 26944f45c9..aa4d0613d9 100644 --- a/OpenRA.Game/Widgets/ImageWidget.cs +++ b/OpenRA.Game/Widgets/ImageWidget.cs @@ -43,7 +43,7 @@ namespace OpenRA.Widgets var name = GetImageName(); var collection = GetImageCollection(); WidgetUtils.DrawRGBA( - ChromeProvider.GetImage(Game.chrome.renderer, collection, name), + ChromeProvider.GetImage(Game.Renderer, collection, name), RenderOrigin); } } diff --git a/OpenRA.Game/Widgets/LabelWidget.cs b/OpenRA.Game/Widgets/LabelWidget.cs index 451fe0b4a8..77973747d8 100644 --- a/OpenRA.Game/Widgets/LabelWidget.cs +++ b/OpenRA.Game/Widgets/LabelWidget.cs @@ -48,7 +48,7 @@ namespace OpenRA.Widgets if (bg != null) WidgetUtils.DrawPanel(bg, RenderBounds ); - var font = (Bold) ? Game.chrome.renderer.BoldFont : Game.chrome.renderer.RegularFont; + var font = (Bold) ? Game.Renderer.BoldFont : Game.Renderer.RegularFont; var text = GetText(); if (text == null) return; diff --git a/OpenRA.Game/Widgets/ListBoxWidget.cs b/OpenRA.Game/Widgets/ListBoxWidget.cs index c4f0b303fa..d9cb1ab923 100644 --- a/OpenRA.Game/Widgets/ListBoxWidget.cs +++ b/OpenRA.Game/Widgets/ListBoxWidget.cs @@ -63,13 +63,13 @@ namespace OpenRA.Widgets WidgetUtils.DrawPanel(downButtonBg, downButtonRect); WidgetUtils.DrawPanel(scrollbarBg, scrollbarRect); - Game.chrome.renderer.Device.EnableScissor(backgroundRect.X, backgroundRect.Y + HeaderHeight, backgroundRect.Width, backgroundRect.Height - HeaderHeight); + Game.Renderer.Device.EnableScissor(backgroundRect.X, backgroundRect.Y + HeaderHeight, backgroundRect.Width, backgroundRect.Height - HeaderHeight); foreach (var child in Children) child.Draw(world); - Game.chrome.renderer.RgbaSpriteRenderer.Flush(); - Game.chrome.renderer.Device.DisableScissor(); + Game.Renderer.RgbaSpriteRenderer.Flush(); + Game.Renderer.Device.DisableScissor(); } public override int2 ChildOrigin { get { return RenderOrigin + new int2(0, (int)ListOffset); } } diff --git a/OpenRA.Game/Widgets/MapPreviewWidget.cs b/OpenRA.Game/Widgets/MapPreviewWidget.cs index 2f883cf386..81ef04e8fa 100644 --- a/OpenRA.Game/Widgets/MapPreviewWidget.cs +++ b/OpenRA.Game/Widgets/MapPreviewWidget.cs @@ -73,9 +73,9 @@ namespace OpenRA.Widgets public override void DrawInner( World world ) { if (UnownedSpawn == null) - UnownedSpawn = ChromeProvider.GetImage(Game.chrome.renderer, "spawnpoints", "unowned"); + UnownedSpawn = ChromeProvider.GetImage(Game.Renderer, "spawnpoints", "unowned"); if (OwnedSpawn == null) - OwnedSpawn = ChromeProvider.GetImage(Game.chrome.renderer, "spawnpoints", "owned"); + OwnedSpawn = ChromeProvider.GetImage(Game.Renderer, "spawnpoints", "owned"); var map = Map(); if( map == null ) return; @@ -87,7 +87,7 @@ namespace OpenRA.Widgets // Update image data var preview = PreviewCache[map]; if( mapChooserSheet == null || mapChooserSheet.Size.Width != preview.Width || mapChooserSheet.Size.Height != preview.Height ) - mapChooserSheet = new Sheet( Game.renderer, new Size( preview.Width, preview.Height ) ); + mapChooserSheet = new Sheet( Game.Renderer, new Size( preview.Width, preview.Height ) ); mapChooserSheet.Texture.SetData( preview ); mapChooserSprite = new Sprite( mapChooserSheet, new Rectangle( 0, 0, map.Width, map.Height ), TextureChannel.Alpha ); @@ -100,7 +100,7 @@ namespace OpenRA.Widgets MapRect = new Rectangle(RenderBounds.X + dw, RenderBounds.Y + dh, (int)(map.Width * PreviewScale), (int)(map.Height * PreviewScale)); } - Game.chrome.renderer.RgbaSpriteRenderer.DrawSprite( mapChooserSprite, + Game.Renderer.RgbaSpriteRenderer.DrawSprite( mapChooserSprite, new float2(MapRect.Location), "chrome", new float2( MapRect.Size ) ); @@ -119,11 +119,10 @@ namespace OpenRA.Widgets offset = new int2(-OwnedSpawn.bounds.Width/2, -OwnedSpawn.bounds.Height/2); WidgetUtils.FillRectWithColor(new Rectangle(pos.X + offset.X + 2, pos.Y + offset.Y + 2, 12, 12), colors[p]); } - Game.chrome.renderer.RgbaSpriteRenderer.DrawSprite(sprite, pos + offset, "chrome"); + Game.Renderer.RgbaSpriteRenderer.DrawSprite(sprite, pos + offset, "chrome"); } - Game.chrome.lineRenderer.Flush(); - Game.chrome.renderer.RgbaSpriteRenderer.Flush(); + Game.Renderer.Flush(); } } } diff --git a/OpenRA.Game/Widgets/MoneyBinWidget.cs b/OpenRA.Game/Widgets/MoneyBinWidget.cs index c4a7839c42..a1c81eca22 100644 --- a/OpenRA.Game/Widgets/MoneyBinWidget.cs +++ b/OpenRA.Game/Widgets/MoneyBinWidget.cs @@ -39,8 +39,8 @@ namespace OpenRA.Widgets var digitCollection = "digits-" + world.LocalPlayer.Country.Race; var chromeCollection = "chrome-" + world.LocalPlayer.Country.Race; - Game.chrome.renderer.RgbaSpriteRenderer.DrawSprite( - ChromeProvider.GetImage(Game.chrome.renderer, chromeCollection, "moneybin"), + Game.Renderer.RgbaSpriteRenderer.DrawSprite( + ChromeProvider.GetImage(Game.Renderer, chromeCollection, "moneybin"), new float2(Bounds.Left, 0), "chrome"); // Cash @@ -50,8 +50,8 @@ namespace OpenRA.Widgets foreach (var d in cashDigits.Reverse()) { - Game.chrome.renderer.RgbaSpriteRenderer.DrawSprite( - ChromeProvider.GetImage(Game.chrome.renderer, digitCollection, (d - '0').ToString()), + Game.Renderer.RgbaSpriteRenderer.DrawSprite( + ChromeProvider.GetImage(Game.Renderer, digitCollection, (d - '0').ToString()), new float2(x, 6), "chrome"); x -= 14; } @@ -64,8 +64,8 @@ namespace OpenRA.Widgets foreach (var d in oreDigits.Reverse()) { - Game.chrome.renderer.RgbaSpriteRenderer.DrawSprite( - ChromeProvider.GetImage(Game.chrome.renderer, digitCollection, (d - '0').ToString()), + Game.Renderer.RgbaSpriteRenderer.DrawSprite( + ChromeProvider.GetImage(Game.Renderer, digitCollection, (d - '0').ToString()), new float2(x, 6), "chrome"); x -= 14; } diff --git a/OpenRA.Game/Widgets/OrderButtonWidget.cs b/OpenRA.Game/Widgets/OrderButtonWidget.cs index b84a77bb8b..f7bfb69926 100644 --- a/OpenRA.Game/Widgets/OrderButtonWidget.cs +++ b/OpenRA.Game/Widgets/OrderButtonWidget.cs @@ -21,17 +21,17 @@ namespace OpenRA.Widgets public override void DrawInner (World world) { - var image = ChromeProvider.GetImage(Game.chrome.renderer, Image + "-button", GetImage()); + var image = ChromeProvider.GetImage(Game.Renderer, Image + "-button", GetImage()); var rect = new Rectangle(RenderBounds.X, RenderBounds.Y, (int)image.size.X, (int)image.size.Y); - if (rect.Contains(Widget.lastMousePos.ToPoint())) + if (rect.Contains(Widget.LastMousePos.ToPoint())) { rect = rect.InflateBy(3, 3, 3, 3); var pos = new int2(rect.Left, rect.Top); var m = pos + new int2(rect.Width, rect.Height); var br = pos + new int2(rect.Width, rect.Height + 20); - var u = Game.chrome.renderer.RegularFont.Measure(GetLongDesc().Replace("\\n", "\n")); + var u = Game.Renderer.RegularFont.Measure(GetLongDesc().Replace("\\n", "\n")); br.X -= u.X; br.Y += u.Y; @@ -53,13 +53,13 @@ namespace OpenRA.Widgets pos.X = br.X + 8; pos.Y = m.Y + 8; - Game.chrome.renderer.BoldFont.DrawText(GetDescription(), pos, Color.White); + Game.Renderer.BoldFont.DrawText(GetDescription(), pos, Color.White); pos += new int2(0, 20); - Game.chrome.renderer.RegularFont.DrawText(GetLongDesc().Replace("\\n", "\n"), pos, Color.White); + Game.Renderer.RegularFont.DrawText(GetLongDesc().Replace("\\n", "\n"), pos, Color.White); } - Game.chrome.renderer.RgbaSpriteRenderer.DrawSprite(image, new int2(RenderBounds.X, RenderBounds.Y), "chrome"); + Game.Renderer.RgbaSpriteRenderer.DrawSprite(image, new int2(RenderBounds.X, RenderBounds.Y), "chrome"); } } } diff --git a/OpenRA.Game/Widgets/PerfGraphWidget.cs b/OpenRA.Game/Widgets/PerfGraphWidget.cs index 741970c859..44f3b7a8f9 100644 --- a/OpenRA.Game/Widgets/PerfGraphWidget.cs +++ b/OpenRA.Game/Widgets/PerfGraphWidget.cs @@ -24,15 +24,15 @@ namespace OpenRA.Widgets float2 origin = Game.viewport.Location + new float2(rect.Right, rect.Bottom); float2 basis = new float2(-rect.Width / 100, -rect.Height / 100); - Game.chrome.lineRenderer.DrawLine(origin, origin + new float2(100, 0) * basis, Color.White, Color.White); - Game.chrome.lineRenderer.DrawLine(origin + new float2(100, 0) * basis, origin + new float2(100, 100) * basis, Color.White, Color.White); + Game.Renderer.LineRenderer.DrawLine(origin, origin + new float2(100, 0) * basis, Color.White, Color.White); + Game.Renderer.LineRenderer.DrawLine(origin + new float2(100, 0) * basis, origin + new float2(100, 100) * basis, Color.White, Color.White); foreach (var item in PerfHistory.items.Values) { int n = 0; item.Samples().Aggregate((a, b) => { - Game.chrome.lineRenderer.DrawLine( + Game.Renderer.LineRenderer.DrawLine( origin + new float2(n, (float)a) * basis, origin + new float2(n + 1, (float)b) * basis, item.c, item.c); @@ -41,7 +41,7 @@ namespace OpenRA.Widgets }); } - Game.chrome.lineRenderer.Flush(); + Game.Renderer.LineRenderer.Flush(); } } } \ No newline at end of file diff --git a/OpenRA.Game/Widgets/PowerBinWidget.cs b/OpenRA.Game/Widgets/PowerBinWidget.cs index 31161e3bb4..cfbc01131c 100644 --- a/OpenRA.Game/Widgets/PowerBinWidget.cs +++ b/OpenRA.Game/Widgets/PowerBinWidget.cs @@ -35,8 +35,8 @@ namespace OpenRA.Widgets && resources.PowerDrained == 0) return; - var renderer = Game.chrome.renderer; - var lineRenderer = Game.chrome.lineRenderer; + var renderer = Game.Renderer; + var lineRenderer = Game.Renderer.LineRenderer; var rgbaRenderer = renderer.RgbaSpriteRenderer; // Draw bar horizontally diff --git a/OpenRA.Game/Widgets/RadarBinWidget.cs b/OpenRA.Game/Widgets/RadarBinWidget.cs index 9e0a4828c0..cd6914b1df 100644 --- a/OpenRA.Game/Widgets/RadarBinWidget.cs +++ b/OpenRA.Game/Widgets/RadarBinWidget.cs @@ -105,7 +105,7 @@ namespace OpenRA.Widgets hasRadar = hasNewRadar; - var renderer = Game.chrome.renderer; + var renderer = Game.Renderer; var rgbaRenderer = renderer.RgbaSpriteRenderer; rgbaRenderer.DrawSprite(ChromeProvider.GetImage(renderer, radarCollection, "left"), radarOrigin, "chrome"); diff --git a/OpenRA.Game/Widgets/ShpImageWidget.cs b/OpenRA.Game/Widgets/ShpImageWidget.cs index 1d1e96b65b..b1c09ccbcd 100644 --- a/OpenRA.Game/Widgets/ShpImageWidget.cs +++ b/OpenRA.Game/Widgets/ShpImageWidget.cs @@ -61,7 +61,7 @@ namespace OpenRA.Widgets cachedFrame = frame; } - Game.chrome.renderer.WorldSpriteRenderer.DrawSprite(sprite,RenderOrigin, palette); + Game.Renderer.WorldSpriteRenderer.DrawSprite(sprite,RenderOrigin, palette); } } } diff --git a/OpenRA.Game/Widgets/SpecialPowerBinWidget.cs b/OpenRA.Game/Widgets/SpecialPowerBinWidget.cs index 35a2139583..7313031f32 100644 --- a/OpenRA.Game/Widgets/SpecialPowerBinWidget.cs +++ b/OpenRA.Game/Widgets/SpecialPowerBinWidget.cs @@ -77,7 +77,7 @@ namespace OpenRA.Widgets WidgetUtils.DrawRGBA(WidgetUtils.GetChromeImage(world,"specialbin-middle"), new float2(rectBounds.X, rectBounds.Y + i * 51)); WidgetUtils.DrawRGBA(WidgetUtils.GetChromeImage(world,"specialbin-bottom"), new float2(rectBounds.X, rectBounds.Y + numPowers * 51)); - Game.chrome.renderer.RgbaSpriteRenderer.Flush(); + Game.Renderer.RgbaSpriteRenderer.Flush(); // Hack Hack Hack rectBounds.Width = 69; @@ -92,7 +92,7 @@ namespace OpenRA.Widgets var drawPos = new float2(rectBounds.X + 5, y); var rect = new Rectangle(rectBounds.X + 5, y, 64, 48); - if (rect.Contains(Widget.lastMousePos.ToPoint())) + if (rect.Contains(Widget.LastMousePos.ToPoint())) { var pos = drawPos.ToInt2(); var tl = new int2(pos.X-3,pos.Y-3); @@ -100,7 +100,7 @@ namespace OpenRA.Widgets var br = tl + new int2(64+3+20,60); if (sp.Info.LongDesc != null) - br += Game.chrome.renderer.RegularFont.Measure(sp.Info.LongDesc.Replace("\\n", "\n")); + br += Game.Renderer.RegularFont.Measure(sp.Info.LongDesc.Replace("\\n", "\n")); else br += new int2(300,0); @@ -114,16 +114,16 @@ namespace OpenRA.Widgets PanelSides.Left | PanelSides.Right | PanelSides.Bottom); pos += new int2(77, 5); - Game.chrome.renderer.BoldFont.DrawText(sp.Info.Description, pos, Color.White); + Game.Renderer.BoldFont.DrawText(sp.Info.Description, pos, Color.White); pos += new int2(0,20); - Game.chrome.renderer.BoldFont.DrawText(WorldUtils.FormatTime(sp.RemainingTime).ToString(), pos, Color.White); - Game.chrome.renderer.BoldFont.DrawText("/ {0}".F(WorldUtils.FormatTime(sp.TotalTime)), pos + new int2(45,0), Color.White); + Game.Renderer.BoldFont.DrawText(WorldUtils.FormatTime(sp.RemainingTime).ToString(), pos, Color.White); + Game.Renderer.BoldFont.DrawText("/ {0}".F(WorldUtils.FormatTime(sp.TotalTime)), pos + new int2(45,0), Color.White); if (sp.Info.LongDesc != null) { pos += new int2(0, 20); - Game.chrome.renderer.RegularFont.DrawText(sp.Info.LongDesc.Replace("\\n", "\n"), pos, Color.White); + Game.Renderer.RegularFont.DrawText(sp.Info.LongDesc.Replace("\\n", "\n"), pos, Color.White); } } @@ -147,7 +147,7 @@ namespace OpenRA.Widgets y += 51; } } - Game.chrome.renderer.WorldSpriteRenderer.Flush(); + Game.Renderer.WorldSpriteRenderer.Flush(); } Action HandleSupportPower(SupportPower sp) diff --git a/OpenRA.Game/Widgets/TextFieldWidget.cs b/OpenRA.Game/Widgets/TextFieldWidget.cs index 1284078222..6b3d78b566 100644 --- a/OpenRA.Game/Widgets/TextFieldWidget.cs +++ b/OpenRA.Game/Widgets/TextFieldWidget.cs @@ -108,7 +108,7 @@ namespace OpenRA.Widgets public override void DrawInner(World world) { int margin = 5; - var font = (Bold) ? Game.chrome.renderer.BoldFont : Game.chrome.renderer.RegularFont; + var font = (Bold) ? Game.Renderer.BoldFont : Game.Renderer.RegularFont; var cursor = (showCursor && Focused) ? "|" : ""; var textSize = font.Measure(Text + "|"); var pos = RenderOrigin; @@ -125,15 +125,15 @@ namespace OpenRA.Widgets if (Focused) textPos += new int2(Bounds.Width - 2 * margin - textSize.X, 0); - Game.chrome.renderer.Device.EnableScissor(pos.X + margin, pos.Y, Bounds.Width - 2 * margin, Bounds.Bottom); + Game.Renderer.Device.EnableScissor(pos.X + margin, pos.Y, Bounds.Width - 2 * margin, Bounds.Bottom); } font.DrawText(Text + cursor, textPos, Color.White); if (textSize.X > Bounds.Width - 2 * margin) { - Game.chrome.renderer.RgbaSpriteRenderer.Flush(); - Game.chrome.renderer.Device.DisableScissor(); + Game.Renderer.RgbaSpriteRenderer.Flush(); + Game.Renderer.Device.DisableScissor(); } } diff --git a/OpenRA.Game/Widgets/TimerWidget.cs b/OpenRA.Game/Widgets/TimerWidget.cs index 3160c27c73..4ec6c72336 100644 --- a/OpenRA.Game/Widgets/TimerWidget.cs +++ b/OpenRA.Game/Widgets/TimerWidget.cs @@ -25,7 +25,7 @@ namespace OpenRA.Widgets public override void DrawInner(World world) { var s = WorldUtils.FormatTime(Game.LocalTick); - var f = Game.chrome.renderer.TitleFont; + var f = Game.Renderer.TitleFont; var size = f.Measure(s); f.DrawText(s, new float2(RenderBounds.Left - size.X / 2, RenderBounds.Top - 20), Color.White); } diff --git a/OpenRA.Game/Widgets/Widget.cs b/OpenRA.Game/Widgets/Widget.cs index 78f9c7e709..4b032b549c 100644 --- a/OpenRA.Game/Widgets/Widget.cs +++ b/OpenRA.Game/Widgets/Widget.cs @@ -48,7 +48,21 @@ namespace OpenRA.Widgets public Widget() { IsVisible = () => Visible; } - public static Widget RootWidget = null; + public static Widget RootWidget { + get + { + if (rootWidget == null) + { + var widgetYaml = Game.Manifest.ChromeLayout.Select(a => MiniYaml.FromFile(a)).Aggregate(MiniYaml.Merge); + + rootWidget = WidgetLoader.LoadWidget( widgetYaml.FirstOrDefault() ); + rootWidget.Initialize(); + rootWidget.InitDelegates(); + } + return rootWidget; + } + } + private static Widget rootWidget = null; public Widget(Widget widget) { @@ -189,20 +203,20 @@ namespace OpenRA.Widgets public virtual bool HandleInputInner(MouseInput mi) { return !ClickThrough; } - public static int ticksSinceLastMove = 0; - public static int2 lastMousePos; + public static int TicksSinceLastMove = 0; + public static int2 LastMousePos; public bool HandleInput(World world, MouseInput mi) { if (SelectedWidget != null && SelectedWidget.HandleMouseInputOuter(mi)) return true; - if (Widget.RootWidget.HandleMouseInputOuter(mi)) + if (RootWidget.HandleMouseInputOuter(mi)) return true; if (mi.Event == MouseInputEvent.Move) { - lastMousePos = mi.Location; - ticksSinceLastMove = 0; + LastMousePos = mi.Location; + TicksSinceLastMove = 0; } return false; } @@ -308,20 +322,34 @@ namespace OpenRA.Widgets public void CloseWindow() { - Widget.RootWidget.GetWidget(WindowList.Pop()).Visible = false; + RootWidget.GetWidget(WindowList.Pop()).Visible = false; if (WindowList.Count > 0) - Widget.RootWidget.GetWidget(WindowList.Peek()).Visible = true; + RootWidget.GetWidget(WindowList.Peek()).Visible = true; } public Widget OpenWindow(string id) { if (WindowList.Count > 0) - Widget.RootWidget.GetWidget(WindowList.Peek()).Visible = false; + RootWidget.GetWidget(WindowList.Peek()).Visible = false; WindowList.Push(id); - var window = Widget.RootWidget.GetWidget(id); + var window = RootWidget.GetWidget(id); window.Visible = true; return window; } + + public static void DoTick(World world) + { + RootWidget.Tick(world); + + if (!world.GameHasStarted) return; + if (world.LocalPlayer == null) return; + ++TicksSinceLastMove; + } + + public static void DoDraw(World world) + { + RootWidget.Draw(world); + } } class ContainerWidget : Widget { diff --git a/OpenRA.Game/Widgets/WidgetUtils.cs b/OpenRA.Game/Widgets/WidgetUtils.cs index 1bac05b0f9..d01d47e276 100644 --- a/OpenRA.Game/Widgets/WidgetUtils.cs +++ b/OpenRA.Game/Widgets/WidgetUtils.cs @@ -19,17 +19,17 @@ namespace OpenRA.Widgets { public static Sprite GetChromeImage(World world, string name) { - return ChromeProvider.GetImage(Game.chrome.renderer, "chrome-" + world.LocalPlayer.Country.Race, name); + return ChromeProvider.GetImage(Game.Renderer, "chrome-" + world.LocalPlayer.Country.Race, name); } public static void DrawRGBA(Sprite s, float2 pos) { - Game.chrome.renderer.RgbaSpriteRenderer.DrawSprite(s,pos,"chrome"); + Game.Renderer.RgbaSpriteRenderer.DrawSprite(s,pos,"chrome"); } public static void DrawSHP(Sprite s, float2 pos) { - Game.chrome.renderer.WorldSpriteRenderer.DrawSprite(s,pos,"chrome"); + Game.Renderer.WorldSpriteRenderer.DrawSprite(s,pos,"chrome"); } public static void DrawPanel(string collection, Rectangle Bounds) @@ -55,7 +55,7 @@ namespace OpenRA.Widgets public static void FillRectWithColor(Rectangle r, Color c) { - Game.chrome.lineRenderer.FillRect(new RectangleF( + Game.Renderer.LineRenderer.FillRect(new RectangleF( Game.viewport.Location.X + r.X, Game.viewport.Location.Y + r.Y, r.Width, r.Height), c); @@ -64,7 +64,7 @@ namespace OpenRA.Widgets public static int[] GetBorderSizes(string collection) { var images = new[] { "border-t", "border-b", "border-l", "border-r" }; - var ss = images.Select(i => ChromeProvider.GetImage(Game.chrome.renderer, "dialog4", i)).ToArray(); + var ss = images.Select(i => ChromeProvider.GetImage(Game.Renderer, "dialog4", i)).ToArray(); return new[] { (int)ss[0].size.Y, (int)ss[1].size.Y, (int)ss[2].size.X, (int)ss[3].size.X }; } @@ -78,7 +78,7 @@ namespace OpenRA.Widgets public static void DrawPanelPartial(string collection, Rectangle Bounds, PanelSides ps) { var images = new[] { "border-t", "border-b", "border-l", "border-r", "corner-tl", "corner-tr", "corner-bl", "corner-br", "background" }; - var ss = images.Select(i => ChromeProvider.GetImage(Game.chrome.renderer, collection, i)).ToArray(); + var ss = images.Select(i => ChromeProvider.GetImage(Game.Renderer, collection, i)).ToArray(); // Background FillRectWithSprite(new Rectangle(Bounds.Left + (int)ss[2].size.X, @@ -128,7 +128,7 @@ namespace OpenRA.Widgets if (ps.HasFlags(PanelSides.Right | PanelSides.Bottom)) DrawRGBA(ss[7], new float2(Bounds.Right - ss[7].size.X, Bounds.Bottom - ss[7].size.Y)); - Game.chrome.renderer.RgbaSpriteRenderer.Flush(); + Game.Renderer.RgbaSpriteRenderer.Flush(); } } diff --git a/OpenRA.Game/Widgets/WorldTooltipWidget.cs b/OpenRA.Game/Widgets/WorldTooltipWidget.cs index 6fde37ffcb..3711f1181f 100644 --- a/OpenRA.Game/Widgets/WorldTooltipWidget.cs +++ b/OpenRA.Game/Widgets/WorldTooltipWidget.cs @@ -24,10 +24,10 @@ namespace OpenRA.Widgets public override void DrawInner(World world) { - if (Widget.ticksSinceLastMove < worldTooltipDelay || world == null || world.LocalPlayer == null) + if (Widget.TicksSinceLastMove < worldTooltipDelay || world == null || world.LocalPlayer == null) return; - var actor = world.FindUnitsAtMouse(Widget.lastMousePos).FirstOrDefault(); + var actor = world.FindUnitsAtMouse(Widget.LastMousePos).FirstOrDefault(); if (actor == null) return; var text = actor.Info.Traits.Contains() @@ -37,7 +37,7 @@ namespace OpenRA.Widgets ? "" : "{0}".F(actor.Owner.PlayerName); var text3 = (actor.Owner == world.LocalPlayer || actor.Owner.NonCombatant) ? "" : " ({0})".F(world.LocalPlayer.Stances[actor.Owner]); - var renderer = Game.chrome.renderer; + var renderer = Game.Renderer; var sz = renderer.BoldFont.Measure(text); var sz2 = renderer.RegularFont.Measure(text2); @@ -51,23 +51,23 @@ namespace OpenRA.Widgets sz.Y += 24; WidgetUtils.DrawPanel("dialog4", Rectangle.FromLTRB( - Widget.lastMousePos.X + 20, Widget.lastMousePos.Y + 20, - Widget.lastMousePos.X + sz.X + 20, Widget.lastMousePos.Y + sz.Y + 20)); + Widget.LastMousePos.X + 20, Widget.LastMousePos.Y + 20, + Widget.LastMousePos.X + sz.X + 20, Widget.LastMousePos.Y + sz.Y + 20)); renderer.BoldFont.DrawText(text, - new float2(Widget.lastMousePos.X + 30, Widget.lastMousePos.Y + 30), Color.White); + new float2(Widget.LastMousePos.X + 30, Widget.LastMousePos.Y + 30), Color.White); if (text2 != "") { renderer.RegularFont.DrawText(text2, - new float2(Widget.lastMousePos.X + 65, Widget.lastMousePos.Y + 50), actor.Owner.Color); + new float2(Widget.LastMousePos.X + 65, Widget.LastMousePos.Y + 50), actor.Owner.Color); renderer.RegularFont.DrawText(text3, - new float2(Widget.lastMousePos.X + 65 + sz2.X, Widget.lastMousePos.Y + 50), Color.White); + new float2(Widget.LastMousePos.X + 65 + sz2.X, Widget.LastMousePos.Y + 50), Color.White); WidgetUtils.DrawRGBA( - ChromeProvider.GetImage(Game.chrome.renderer, "flags", actor.Owner.Country.Race), - new float2(Widget.lastMousePos.X + 30, Widget.lastMousePos.Y + 50)); + ChromeProvider.GetImage(Game.Renderer, "flags", actor.Owner.Country.Race), + new float2(Widget.LastMousePos.X + 30, Widget.LastMousePos.Y + 50)); } renderer.RgbaSpriteRenderer.Flush(); diff --git a/OpenRA.Game/World.cs b/OpenRA.Game/World.cs index c682fd291c..92c74569f2 100644 --- a/OpenRA.Game/World.cs +++ b/OpenRA.Game/World.cs @@ -71,7 +71,7 @@ namespace OpenRA TileSet.LoadTiles(); Timer.Time( "Tileset: {0}" ); - WorldRenderer = new WorldRenderer(this, Game.renderer); + WorldRenderer = new WorldRenderer(this, Game.Renderer); Timer.Time("renderer: {0}"); WorldActor = CreateActor("World", new int2(int.MaxValue, int.MaxValue), null); @@ -105,7 +105,7 @@ namespace OpenRA PathFinder = new PathFinder(this); Timer.Time( "hooks, pathing: {0}" ); - Minimap = new Minimap(this, Game.renderer); + Minimap = new Minimap(this, Game.Renderer); Timer.Time( "minimap: {0}" ); Timer.Time( "----end World.ctor" );