diff --git a/OpenRA.Game/Graphics/SpriteFont.cs b/OpenRA.Game/Graphics/SpriteFont.cs index 09a9008dc5..2d3f055991 100644 --- a/OpenRA.Game/Graphics/SpriteFont.cs +++ b/OpenRA.Game/Graphics/SpriteFont.cs @@ -64,8 +64,7 @@ namespace OpenRA.Graphics Game.Renderer.RgbaSpriteRenderer.DrawSprite(g.Sprite, new float2( (int)Math.Round(p.X + g.Offset.X, 0), - p.Y + g.Offset.Y), - "chrome"); + p.Y + g.Offset.Y)); p.X += g.Advance; } } diff --git a/OpenRA.Game/Graphics/SpriteRenderer.cs b/OpenRA.Game/Graphics/SpriteRenderer.cs index 25accd1774..74e0147640 100644 --- a/OpenRA.Game/Graphics/SpriteRenderer.cs +++ b/OpenRA.Game/Graphics/SpriteRenderer.cs @@ -60,22 +60,39 @@ namespace OpenRA.Graphics sprites = 0; } } - + public void DrawSprite(Sprite s, float2 location, string palette) { - DrawSprite(s, location, palette, s.size); + DrawSprite(s, location, Game.world.WorldRenderer.GetPaletteIndex(palette), s.size); } - + public void DrawSprite(Sprite s, float2 location, string palette, float2 size) + { + DrawSprite(s, location, Game.world.WorldRenderer.GetPaletteIndex(palette), size); + } + + public void DrawSprite(Sprite s, float2 location, int paletteIndex, float2 size) { if (s.sheet != currentSheet) Flush(); currentSheet = s.sheet; - Util.FastCreateQuad(vertices, indices, location.ToInt2(), s, Game.world.WorldRenderer.GetPaletteIndex(palette), nv, ni, size); + Util.FastCreateQuad(vertices, indices, location.ToInt2(), s, paletteIndex, nv, ni, size); nv += 4; ni += 6; if (++sprites >= spritesPerBatch) Flush(); } + + + // For RGBASpriteRenderer, which doesn't use palettes + public void DrawSprite(Sprite s, float2 location) + { + DrawSprite(s, location, 0, s.size); + } + + public void DrawSprite(Sprite s, float2 location, float2 size) + { + DrawSprite(s, location, 0, size); + } } } diff --git a/OpenRA.Game/Widgets/MapPreviewWidget.cs b/OpenRA.Game/Widgets/MapPreviewWidget.cs index 1814ceea39..18226015d5 100644 --- a/OpenRA.Game/Widgets/MapPreviewWidget.cs +++ b/OpenRA.Game/Widgets/MapPreviewWidget.cs @@ -103,7 +103,6 @@ namespace OpenRA.Widgets Game.Renderer.RgbaSpriteRenderer.DrawSprite( mapChooserSprite, new float2(MapRect.Location), - "chrome", new float2( MapRect.Size ) ); Game.Renderer.RgbaSpriteRenderer.Flush(); @@ -123,7 +122,7 @@ namespace OpenRA.Widgets WidgetUtils.FillRectWithColor(new Rectangle(pos.X + offset.X + 2, pos.Y + offset.Y + 2, 12, 12), colors[p]); Game.Renderer.LineRenderer.Flush(); } - Game.Renderer.RgbaSpriteRenderer.DrawSprite(sprite, pos + offset, "chrome"); + Game.Renderer.RgbaSpriteRenderer.DrawSprite(sprite, pos + offset); } Game.Renderer.Flush(); diff --git a/OpenRA.Game/Widgets/VqaPlayerWidget.cs b/OpenRA.Game/Widgets/VqaPlayerWidget.cs index 8c89df33aa..7fa7e367f2 100644 --- a/OpenRA.Game/Widgets/VqaPlayerWidget.cs +++ b/OpenRA.Game/Widgets/VqaPlayerWidget.cs @@ -91,10 +91,10 @@ namespace OpenRA.Widgets } } - Game.Renderer.RgbaSpriteRenderer.DrawSprite(videoSprite, videoOrigin, "chrome", videoSize); + Game.Renderer.RgbaSpriteRenderer.DrawSprite(videoSprite, videoOrigin, videoSize); if (DrawOverlay) - Game.Renderer.RgbaSpriteRenderer.DrawSprite(overlaySprite, videoOrigin, "chrome", videoSize); + Game.Renderer.RgbaSpriteRenderer.DrawSprite(overlaySprite, videoOrigin, videoSize); } public override bool HandleKeyPressInner(KeyInput e) diff --git a/OpenRA.Game/Widgets/WidgetUtils.cs b/OpenRA.Game/Widgets/WidgetUtils.cs index 9379989af0..5600fea07c 100644 --- a/OpenRA.Game/Widgets/WidgetUtils.cs +++ b/OpenRA.Game/Widgets/WidgetUtils.cs @@ -24,12 +24,12 @@ namespace OpenRA.Widgets public static void DrawRGBA(Sprite s, float2 pos) { - Game.Renderer.RgbaSpriteRenderer.DrawSprite(s,pos,"chrome"); + Game.Renderer.RgbaSpriteRenderer.DrawSprite(s,pos); } public static void DrawSHP(Sprite s, float2 pos) { - Game.Renderer.WorldSpriteRenderer.DrawSprite(s,pos,"chrome"); + Game.Renderer.WorldSpriteRenderer.DrawSprite(s,pos); } public static void DrawPanel(string collection, Rectangle Bounds) diff --git a/OpenRA.Mods.RA/Widgets/MoneyBinWidget.cs b/OpenRA.Mods.RA/Widgets/MoneyBinWidget.cs index 891062e519..3a2fa099e8 100755 --- a/OpenRA.Mods.RA/Widgets/MoneyBinWidget.cs +++ b/OpenRA.Mods.RA/Widgets/MoneyBinWidget.cs @@ -42,7 +42,7 @@ namespace OpenRA.Mods.RA.Widgets Game.Renderer.RgbaSpriteRenderer.DrawSprite( ChromeProvider.GetImage(chromeCollection, "moneybin"), - new float2(Bounds.Left, 0), "chrome"); + new float2(Bounds.Left, 0)); // Cash var cashDigits = (SplitOreAndCash ? playerResources.DisplayCash @@ -53,7 +53,7 @@ namespace OpenRA.Mods.RA.Widgets { Game.Renderer.RgbaSpriteRenderer.DrawSprite( ChromeProvider.GetImage(digitCollection, (d - '0').ToString()), - new float2(x, 6), "chrome"); + new float2(x, 6)); x -= 14; } @@ -67,7 +67,7 @@ namespace OpenRA.Mods.RA.Widgets { Game.Renderer.RgbaSpriteRenderer.DrawSprite( ChromeProvider.GetImage( digitCollection, (d - '0').ToString()), - new float2(x, 6), "chrome"); + new float2(x, 6)); x -= 14; } } diff --git a/OpenRA.Mods.RA/Widgets/OrderButtonWidget.cs b/OpenRA.Mods.RA/Widgets/OrderButtonWidget.cs index 5024aeb904..2fc6a4a4f4 100755 --- a/OpenRA.Mods.RA/Widgets/OrderButtonWidget.cs +++ b/OpenRA.Mods.RA/Widgets/OrderButtonWidget.cs @@ -61,7 +61,7 @@ namespace OpenRA.Mods.RA.Widgets Game.Renderer.RegularFont.DrawText(GetLongDesc().Replace("\\n", "\n"), pos, Color.White); } - Game.Renderer.RgbaSpriteRenderer.DrawSprite(image, new int2(RenderBounds.X, RenderBounds.Y), "chrome"); + Game.Renderer.RgbaSpriteRenderer.DrawSprite(image, new int2(RenderBounds.X, RenderBounds.Y)); } } } diff --git a/OpenRA.Mods.RA/Widgets/PowerBinWidget.cs b/OpenRA.Mods.RA/Widgets/PowerBinWidget.cs index 155641ab89..b854618365 100755 --- a/OpenRA.Mods.RA/Widgets/PowerBinWidget.cs +++ b/OpenRA.Mods.RA/Widgets/PowerBinWidget.cs @@ -79,7 +79,7 @@ namespace OpenRA.Mods.RA.Widgets lastPowerDrainedPos = float2.Lerp(lastPowerDrainedPos.GetValueOrDefault(powerDrainedTemp), powerDrainedTemp, .3f); float2 powerDrainLevel = new float2(lastPowerDrainedPos.Value - indicator.size.X / 2, barStart.Y - 1); - Game.Renderer.RgbaSpriteRenderer.DrawSprite(indicator, powerDrainLevel, "chrome"); + Game.Renderer.RgbaSpriteRenderer.DrawSprite(indicator, powerDrainLevel); Game.Renderer.RgbaSpriteRenderer.Flush(); } } diff --git a/OpenRA.Mods.RA/Widgets/RadarBinWidget.cs b/OpenRA.Mods.RA/Widgets/RadarBinWidget.cs index 3d89e1918b..f8eeac65c8 100755 --- a/OpenRA.Mods.RA/Widgets/RadarBinWidget.cs +++ b/OpenRA.Mods.RA/Widgets/RadarBinWidget.cs @@ -123,20 +123,20 @@ namespace OpenRA.Mods.RA.Widgets { radarCollection = "radar-" + world.LocalPlayer.Country.Race; - Game.Renderer.RgbaSpriteRenderer.DrawSprite(ChromeProvider.GetImage(radarCollection, "left"), radarOrigin, "chrome"); - Game.Renderer.RgbaSpriteRenderer.DrawSprite(ChromeProvider.GetImage(radarCollection, "right"), radarOrigin + new float2(201, 0), "chrome"); - Game.Renderer.RgbaSpriteRenderer.DrawSprite(ChromeProvider.GetImage(radarCollection, "bottom"), radarOrigin + new float2(0, 192), "chrome"); - Game.Renderer.RgbaSpriteRenderer.DrawSprite(ChromeProvider.GetImage(radarCollection, "bg"), radarOrigin + new float2(9, 0), "chrome"); + Game.Renderer.RgbaSpriteRenderer.DrawSprite(ChromeProvider.GetImage(radarCollection, "left"), radarOrigin); + Game.Renderer.RgbaSpriteRenderer.DrawSprite(ChromeProvider.GetImage(radarCollection, "right"), radarOrigin + new float2(201, 0)); + Game.Renderer.RgbaSpriteRenderer.DrawSprite(ChromeProvider.GetImage(radarCollection, "bottom"), radarOrigin + new float2(0, 192)); + Game.Renderer.RgbaSpriteRenderer.DrawSprite(ChromeProvider.GetImage(radarCollection, "bg"), radarOrigin + new float2(9, 0)); // Don't draw the radar if the tray is moving if (radarAnimationFrame >= radarSlideAnimationLength) { var o = new float2(mapRect.Location.X, mapRect.Location.Y + world.Map.Height * previewScale * (1 - radarMinimapHeight)/2); var s = new float2(mapRect.Size.Width, mapRect.Size.Height*radarMinimapHeight); - Game.Renderer.RgbaSpriteRenderer.DrawSprite(terrainSprite, o, "chrome", s); - Game.Renderer.RgbaSpriteRenderer.DrawSprite(customTerrainSprite, o, "chrome", s); - Game.Renderer.RgbaSpriteRenderer.DrawSprite(actorSprite, o, "chrome", s); - Game.Renderer.RgbaSpriteRenderer.DrawSprite(shroudSprite, o, "chrome", s); + Game.Renderer.RgbaSpriteRenderer.DrawSprite(terrainSprite, o, s); + Game.Renderer.RgbaSpriteRenderer.DrawSprite(customTerrainSprite, o, s); + Game.Renderer.RgbaSpriteRenderer.DrawSprite(actorSprite, o, s); + Game.Renderer.RgbaSpriteRenderer.DrawSprite(shroudSprite, o, s); Game.Renderer.RgbaSpriteRenderer.Flush(); // Draw viewport rect