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

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

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)