Hack build tabs into chrome.xml

This commit is contained in:
Paul Chote
2010-01-09 18:21:58 +13:00
parent f0f499ee8d
commit aca115dbbe
2 changed files with 37 additions and 30 deletions

View File

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

View File

@@ -28,4 +28,28 @@
<image name="8" x="136" y="0" width="13" height="17" /> <image name="8" x="136" y="0" width="13" height="17" />
<image name="9" x="149" y="0" width="13" height="17" /> <image name="9" x="149" y="0" width="13" height="17" />
</collection> </collection>
<collection name="tabs-0" src="specialbin.png">
<image name="0" x="485" y="64" width="27" height="40" />
<image name="1" x="485" y="104" width="27" height="40" />
<image name="2" x="485" y="144" width="27" height="40" />
<image name="3" x="485" y="184" width="27" height="40" />
<image name="4" x="485" y="224" width="27" height="40" />
<image name="5" x="485" y="264" width="27" height="40" />
</collection>
<collection name="tabs-1" src="specialbin.png">
<image name="0" x="458" y="64" width="27" height="40" />
<image name="1" x="458" y="104" width="27" height="40" />
<image name="2" x="458" y="144" width="27" height="40" />
<image name="3" x="458" y="184" width="27" height="40" />
<image name="4" x="458" y="224" width="27" height="40" />
<image name="5" x="458" y="264" width="27" height="40" />
</collection>
<collection name="tabs-2" src="specialbin.png">
<image name="0" x="431" y="64" width="27" height="40" />
<image name="1" x="431" y="104" width="27" height="40" />
<image name="2" x="431" y="144" width="27" height="40" />
<image name="3" x="431" y="184" width="27" height="40" />
<image name="4" x="431" y="224" width="27" height="40" />
<image name="5" x="431" y="264" width="27" height="40" />
</collection>
</chrome> </chrome>