text rendering
This commit is contained in:
@@ -13,6 +13,9 @@ namespace OpenRa.Game.Graphics
|
|||||||
public Shader SpriteShader { get; private set; } /* note: shared shader params */
|
public Shader SpriteShader { get; private set; } /* note: shared shader params */
|
||||||
public Shader LineShader { get; private set; }
|
public Shader LineShader { get; private set; }
|
||||||
|
|
||||||
|
readonly SpriteHelper sh;
|
||||||
|
readonly FontHelper fhDebug;
|
||||||
|
|
||||||
public void BuildPalette(Map map)
|
public void BuildPalette(Map map)
|
||||||
{
|
{
|
||||||
palettes = Util.MakeArray(7, i => new HardwarePalette(this, map, i).Texture);
|
palettes = Util.MakeArray(7, i => new HardwarePalette(this, map, i).Texture);
|
||||||
@@ -33,6 +36,9 @@ namespace OpenRa.Game.Graphics
|
|||||||
SpriteShader.Quality = ShaderQuality.Low;
|
SpriteShader.Quality = ShaderQuality.Low;
|
||||||
LineShader = new Shader(device, FileSystem.Open("line.fx"));
|
LineShader = new Shader(device, FileSystem.Open("line.fx"));
|
||||||
LineShader.Quality = ShaderQuality.High;
|
LineShader.Quality = ShaderQuality.High;
|
||||||
|
|
||||||
|
sh = new SpriteHelper(device );
|
||||||
|
fhDebug = new FontHelper(device, "Tahoma", 10, false );
|
||||||
}
|
}
|
||||||
|
|
||||||
public GraphicsDevice Device { get { return device; } }
|
public GraphicsDevice Device { get { return device; } }
|
||||||
@@ -83,5 +89,12 @@ namespace OpenRa.Game.Graphics
|
|||||||
device.DrawIndexedPrimitives(type,
|
device.DrawIndexedPrimitives(type,
|
||||||
vertexPool, numPrimitives);
|
vertexPool, numPrimitives);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void DrawText(string text, int2 pos, Color c)
|
||||||
|
{
|
||||||
|
sh.Begin();
|
||||||
|
fhDebug.Draw(sh, text, pos.X, pos.Y, c.ToArgb());
|
||||||
|
sh.End();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -12,7 +12,8 @@ namespace OpenRa.Game.Graphics
|
|||||||
public readonly SpriteRenderer spriteRenderer;
|
public readonly SpriteRenderer spriteRenderer;
|
||||||
public readonly LineRenderer lineRenderer;
|
public readonly LineRenderer lineRenderer;
|
||||||
public readonly Region region;
|
public readonly Region region;
|
||||||
public readonly UiOverlay uiOverlay;
|
public readonly UiOverlay uiOverlay;
|
||||||
|
readonly Renderer renderer;
|
||||||
|
|
||||||
public static bool ShowUnitPaths = false;
|
public static bool ShowUnitPaths = false;
|
||||||
|
|
||||||
@@ -23,8 +24,9 @@ namespace OpenRa.Game.Graphics
|
|||||||
Game.viewport.Width - 128, Draw,
|
Game.viewport.Width - 128, Draw,
|
||||||
Game.controller.HandleMouseInput);
|
Game.controller.HandleMouseInput);
|
||||||
|
|
||||||
Game.viewport.AddRegion(region);
|
Game.viewport.AddRegion(region);
|
||||||
|
|
||||||
|
this.renderer = renderer;
|
||||||
spriteRenderer = new SpriteRenderer(renderer, true);
|
spriteRenderer = new SpriteRenderer(renderer, true);
|
||||||
lineRenderer = new LineRenderer(renderer);
|
lineRenderer = new LineRenderer(renderer);
|
||||||
uiOverlay = new UiOverlay(spriteRenderer);
|
uiOverlay = new UiOverlay(spriteRenderer);
|
||||||
@@ -90,7 +92,9 @@ namespace OpenRa.Game.Graphics
|
|||||||
foreach( var a in uog.selection )
|
foreach( var a in uog.selection )
|
||||||
DrawSelectionBox(a, Color.White, true);
|
DrawSelectionBox(a, Color.White, true);
|
||||||
|
|
||||||
lineRenderer.Flush();
|
lineRenderer.Flush();
|
||||||
|
|
||||||
|
renderer.DrawText(string.Format("Frame {0}", Game.orderManager.FrameNumber), new int2(5, 5), Color.White);
|
||||||
}
|
}
|
||||||
|
|
||||||
const float conditionYellow = 0.5f; /* todo: get these from gamerules */
|
const float conditionYellow = 0.5f; /* todo: get these from gamerules */
|
||||||
|
|||||||
@@ -14,6 +14,8 @@ namespace OpenRa.Game
|
|||||||
List<OrderSource> players;
|
List<OrderSource> players;
|
||||||
int frameNumber = 0;
|
int frameNumber = 0;
|
||||||
|
|
||||||
|
public int FrameNumber { get { return frameNumber; } }
|
||||||
|
|
||||||
public OrderManager( IEnumerable<OrderSource> players )
|
public OrderManager( IEnumerable<OrderSource> players )
|
||||||
{
|
{
|
||||||
this.players = players.ToList();
|
this.players = players.ToList();
|
||||||
|
|||||||
Reference in New Issue
Block a user