From 8fa02ea6a3f06c9864273769f96c068c79df0326 Mon Sep 17 00:00:00 2001 From: Chris Forbes Date: Wed, 23 Dec 2009 21:16:47 +1300 Subject: [PATCH] split chrome palette from Multi0's palette --- OpenRa.Game/Chrome.cs | 8 ++++---- OpenRa.Game/Graphics/HardwarePalette.cs | 11 ++++++----- OpenRa.Game/Graphics/WorldRenderer.cs | 8 +++----- 3 files changed, 13 insertions(+), 14 deletions(-) diff --git a/OpenRa.Game/Chrome.cs b/OpenRa.Game/Chrome.cs index 8abe148cd3..569bc7b7ec 100644 --- a/OpenRa.Game/Chrome.cs +++ b/OpenRa.Game/Chrome.cs @@ -264,7 +264,7 @@ namespace OpenRa.Game var isBuildingThis = currentItem != null && currentItem.Item == item; var isBuildingSomethingElse = currentItem != null && currentItem.Item != item; - buildPaletteRenderer.DrawSprite(sprites[item], drawPos, 0); + buildPaletteRenderer.DrawSprite(sprites[item], drawPos, HardwarePalette.Chrome); if (rect.Contains(lastMousePos.ToPoint())) { @@ -279,7 +279,7 @@ namespace OpenRa.Game { clockAnimations[queueName].Tick(); buildPaletteRenderer.DrawSprite(clockAnimations[queueName].Image, - drawPos, 0); + drawPos, HardwarePalette.Chrome); var overlayPos = drawPos + new float2((64 - ready.Image.size.X) / 2, 2); @@ -305,13 +305,13 @@ namespace OpenRa.Game { var rect = new Rectangle(origin.X + x * 64, origin.Y + 48 * y, 64, 48); var drawPos = Game.viewport.Location + new float2(rect.Location); - buildPaletteRenderer.DrawSprite(blank, drawPos, 0); + buildPaletteRenderer.DrawSprite(blank, drawPos, HardwarePalette.Chrome); buttons.Add(Pair.New(rect, (Action)(_ => { }))); if (++x == columns) { x = 0; y++; } } foreach (var ob in overlayBits) - buildPaletteRenderer.DrawSprite(ob.First, ob.Second, 0); + buildPaletteRenderer.DrawSprite(ob.First, ob.Second, HardwarePalette.Chrome); buildPaletteRenderer.Flush(); diff --git a/OpenRa.Game/Graphics/HardwarePalette.cs b/OpenRa.Game/Graphics/HardwarePalette.cs index 83f9c5a2e9..3b24143f5e 100644 --- a/OpenRa.Game/Graphics/HardwarePalette.cs +++ b/OpenRa.Game/Graphics/HardwarePalette.cs @@ -5,6 +5,10 @@ namespace OpenRa.Game.Graphics { class HardwarePalette : Sheet { + public const int Shadow = 8; + public const int Invuln = 9; + public const int Chrome = 10; + const int maxEntries = 16; int allocated = 0; @@ -18,11 +22,8 @@ namespace OpenRa.Game.Graphics AddPalette(new Palette(pal, new PaletteRemap(FileSystem.Open(remap + ".rem")))); AddPalette(new Palette(pal, new PaletteRemap(Color.FromArgb(140, 0, 0, 0)))); - - //using (var bitmapCopy = new Bitmap(bitmap)) - // for (int j = 0; j < maxEntries; j++) - // for (int i = 0; i < 7; i++) - // this[new Point(0x60 + i, j)] = bitmapCopy.GetPixel(0x60 + (rotate + i) % 7, j); + AddPalette(pal); // iron curtain. todo: remap! + AddPalette(pal); // chrome (it's like gold, but we're not going to hax it in palettemods) } int AddPalette(Palette p) diff --git a/OpenRa.Game/Graphics/WorldRenderer.cs b/OpenRa.Game/Graphics/WorldRenderer.cs index 47cf5a3623..6c734f5b96 100644 --- a/OpenRa.Game/Graphics/WorldRenderer.cs +++ b/OpenRa.Game/Graphics/WorldRenderer.cs @@ -197,7 +197,7 @@ namespace OpenRa.Game.Graphics var pipImages = new Animation("pips"); pipImages.PlayFetchIndex("groups", () => (int)group); pipImages.Tick(); - spriteRenderer.DrawSprite(pipImages.Image, basePosition + new float2(-8, 1), 0); + spriteRenderer.DrawSprite(pipImages.Image, basePosition + new float2(-8, 1), HardwarePalette.Chrome); } void DrawPips(Actor selectedUnit, float2 basePosition) @@ -212,12 +212,11 @@ namespace OpenRa.Game.Graphics { var pipImages = new Animation("pips"); pipImages.PlayRepeating(pipStrings[(int)pip]); - spriteRenderer.DrawSprite(pipImages.Image, pipxyBase + pipxyOffset, 0); + spriteRenderer.DrawSprite(pipImages.Image, pipxyBase + pipxyOffset, HardwarePalette.Chrome); pipxyOffset += new float2(4, 0); if (pipxyOffset.X+5 > selectedUnit.SelectedSize.X) { - //spriteRenderer.Flush(); pipxyOffset.X = 0; pipxyOffset.Y -= 4; } @@ -225,7 +224,6 @@ namespace OpenRa.Game.Graphics // Increment row pipxyOffset.X = 0; pipxyOffset.Y -= 5; - //spriteRenderer.Flush(); } } @@ -241,7 +239,7 @@ namespace OpenRa.Game.Graphics { var tagImages = new Animation("pips"); tagImages.PlayRepeating(tagStrings[(int)tag]); - spriteRenderer.DrawSprite(tagImages.Image, tagxyBase + tagxyOffset, 0); + spriteRenderer.DrawSprite(tagImages.Image, tagxyBase + tagxyOffset, HardwarePalette.Chrome); // Increment row tagxyOffset.Y += 8;