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 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);

View File

@@ -28,4 +28,28 @@
<image name="8" x="136" y="0" width="13" height="17" />
<image name="9" x="149" y="0" width="13" height="17" />
</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>