RGBASpriteRender doesn't care about palettes

This commit is contained in:
Paul Chote
2010-08-24 22:44:44 +12:00
parent f2dd0de1ea
commit 8e42dd95fc
9 changed files with 40 additions and 25 deletions

View File

@@ -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;
}
}

View File

@@ -63,19 +63,36 @@ namespace OpenRA.Graphics
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);
}
}
}

View File

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

View File

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

View File

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

View File

@@ -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;
}
}

View File

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

View File

@@ -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();
}
}

View File

@@ -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