diff --git a/OpenRa.Game/Chrome.cs b/OpenRa.Game/Chrome.cs index 019abfc0e0..ffcd669286 100644 --- a/OpenRa.Game/Chrome.cs +++ b/OpenRa.Game/Chrome.cs @@ -15,7 +15,6 @@ namespace OpenRa.Game { readonly Renderer renderer; readonly LineRenderer lineRenderer; - readonly Sheet chromeTexture; readonly SpriteRenderer rgbaRenderer; readonly Sprite[] specialBinSprites; readonly Sprite moneyBinSprite; @@ -57,12 +56,6 @@ namespace OpenRa.Game static int2 paletteOrigin= new int2(Game.viewport.Width - paletteColumns * 64 - 9, 240); // Radar - readonly Sheet radarBinTextureAllied; - readonly Sheet radarBinTextureSoviet; - readonly Sheet radarBinTextureBorder; - readonly Sprite radarBinAllied; - readonly Sprite radarBinSoviet; - readonly Sprite radarBinBorder; static float2 radarOpenOrigin = new float2(Game.viewport.Width - 250, 29); static float2 radarClosedOrigin = new float2(Game.viewport.Width - 250, -162); float2 radarOrigin; @@ -86,29 +79,21 @@ namespace OpenRa.Game public Chrome(Renderer r) { this.renderer = r; - chromeTexture = new Sheet(renderer, "specialbin.png"); rgbaRenderer = new SpriteRenderer(renderer, true, renderer.RgbaSpriteShader); lineRenderer = new LineRenderer(renderer); shpRenderer = new SpriteRenderer(renderer, true); specialBinSprites = new [] { - new Sprite(chromeTexture, new Rectangle(0, 0, 32, 51), TextureChannel.Alpha), - new Sprite(chromeTexture, new Rectangle(0, 51, 32, 51 /*144*/), TextureChannel.Alpha), - new Sprite(chromeTexture, new Rectangle(0, 192-39, 32, 39 ), TextureChannel.Alpha), + SequenceProvider.GetImageFromCollection(renderer, "chrome", "powershim-top"), + SequenceProvider.GetImageFromCollection(renderer, "chrome", "powershim-middle"), + SequenceProvider.GetImageFromCollection(renderer, "chrome", "powershim-bottom"), }; - moneyBinSprite = new Sprite(chromeTexture, new Rectangle(512 - 320, 0, 320, 32), TextureChannel.Alpha); - tooltipSprite = new Sprite(chromeTexture, new Rectangle(0, 288, 272, 136), TextureChannel.Alpha); + moneyBinSprite = SequenceProvider.GetImageFromCollection(renderer, "chrome", "moneybin"); + tooltipSprite = SequenceProvider.GetImageFromCollection(renderer, "chrome", "tooltip-bg"); // Radar - radarBinTextureAllied = new Sheet(renderer, "radarbin-allies.png"); - radarBinTextureSoviet = new Sheet(renderer, "radarbin-soviet.png"); - radarBinTextureBorder = new Sheet(renderer, "radarbin-border.png"); - radarBinAllied = new Sprite(radarBinTextureAllied, new Rectangle(0, 0, 210, 201), TextureChannel.Alpha); - radarBinSoviet = new Sprite(radarBinTextureSoviet, new Rectangle(0,0,210,201), TextureChannel.Alpha); - radarBinBorder = new Sprite(radarBinTextureBorder, new Rectangle(0, 0, 210, 201), TextureChannel.Alpha); - radarOrigin = radarClosedOrigin; var powerIndicator = new Animation("power"); @@ -162,24 +147,22 @@ namespace OpenRa.Game tabSprites = groups.Select( (g, i) => Pair.New(g, OpenRa.Game.Graphics.Util.MakeArray(3, - n => new Sprite(chromeTexture, - new Rectangle(512 - (n + 1) * 27, 64 + i * 40, 27, 40), - TextureChannel.Alpha)))) + n => SequenceProvider.GetImageFromCollection(renderer, "tabs-"+n,i.ToString())))) .ToDictionary(a => a.First, a => a.Second); cantBuild = new Animation("clock"); cantBuild.PlayFetchIndex("idle", () => 0); digitSprites = Graphics.Util.MakeArray(10, a => a) - .Select(n => new Sprite(chromeTexture, new Rectangle(32 + 13 * n, 0, 13, 17), TextureChannel.Alpha)).ToList(); + .Select(n => SequenceProvider.GetImageFromCollection(renderer, "digit", n.ToString())).ToList(); shimSprites = new[] { - new Sprite( chromeTexture, new Rectangle( 0, 192, 9, 10 ), TextureChannel.Alpha ), - new Sprite( chromeTexture, new Rectangle( 0, 202, 9, 10 ), TextureChannel.Alpha ), - new Sprite( chromeTexture, new Rectangle( 0, 216, 9, 48 ), TextureChannel.Alpha ), - new Sprite( chromeTexture, new Rectangle( 11, 192, 64, 10 ), TextureChannel.Alpha ), - new Sprite( chromeTexture, new Rectangle( 11, 202, 64, 10 ), TextureChannel.Alpha ), + SequenceProvider.GetImageFromCollection(renderer, "chrome", "palette-border-tl"), + SequenceProvider.GetImageFromCollection(renderer, "chrome", "palette-border-bl"), + SequenceProvider.GetImageFromCollection(renderer, "chrome", "palette-border-left"), + SequenceProvider.GetImageFromCollection(renderer, "chrome", "palette-border-top"), + SequenceProvider.GetImageFromCollection(renderer, "chrome", "palette-border-bottom"), }; ready = new Animation("pips"); @@ -256,7 +239,7 @@ namespace OpenRa.Game radarOrigin, PaletteType.Chrome); */ - rgbaRenderer.DrawSprite(radarBinBorder,radarOrigin,PaletteType.Chrome); + rgbaRenderer.DrawSprite(SequenceProvider.GetImageFromCollection(renderer, "radar", "nobg"), radarOrigin, PaletteType.Chrome); rgbaRenderer.Flush(); if (hasRadar || radarAnimating) Game.minimap.Draw(radarOrigin + new float2(9,0), hasRadar, isJammed); diff --git a/chrome.xml b/chrome.xml index 9be118172e..3b9d260008 100644 --- a/chrome.xml +++ b/chrome.xml @@ -28,4 +28,28 @@ + + + + + + + + + + + + + + + + + + + + + + + +