- SheetSize is configurable. - TerrainRenderer gets to load it's sprites first, meaning we need one less texture.

This commit is contained in:
Bob
2009-11-23 18:53:01 +13:00
parent d5d013ad32
commit c7e95c71b2
5 changed files with 16 additions and 9 deletions

View File

@@ -60,7 +60,10 @@ namespace OpenRa.Game
Rules.Map.InitOreDensity();
viewport = new Viewport(clientSize, Rules.Map.Offset, Rules.Map.Offset + Rules.Map.Size, renderer);
controller = new Controller();
worldRenderer = new WorldRenderer( renderer );
viewport = new Viewport( clientSize, Rules.Map.Offset, Rules.Map.Offset + Rules.Map.Size, renderer );
world = new World();
treeCache = new TreeCache(Rules.Map);
@@ -74,9 +77,6 @@ namespace OpenRa.Game
LoadMapBuildings(Rules.AllRules);
LoadMapUnits(Rules.AllRules);
controller = new Controller();
worldRenderer = new WorldRenderer(renderer);
PathFinder = new PathFinder(Rules.Map);
soundEngine = new ISoundEngine();

View File

@@ -9,6 +9,8 @@ namespace OpenRa.Game.Graphics
{
class Renderer
{
internal static int SheetSize;
readonly GraphicsDevice device;
Texture[] palettes;
public Shader SpriteShader { get; private set; } /* note: shared shader params */

View File

@@ -27,11 +27,13 @@ namespace OpenRa.Game.Graphics
public static void ForceNewSheet()
{
if( p == Point.Empty )
return;
current = NewSheet();
channel = NextChannel(null);
}
static Sheet NewSheet() { return new Sheet(renderer, new Size(512, 512)); }
static Sheet NewSheet() { return new Sheet( renderer, new Size( Renderer.SheetSize, Renderer.SheetSize ) ); }
static Renderer renderer;
static Sheet current = null;

View File

@@ -20,7 +20,6 @@ namespace OpenRa.Game.Graphics
{
this.renderer = renderer;
this.map = map;
overlayRenderer = new OverlayRenderer( renderer, map );
Size tileSize = new Size( Game.CellSize, Game.CellSize );
@@ -50,6 +49,8 @@ namespace OpenRa.Game.Graphics
indexBuffer = new IndexBuffer( renderer.Device, indices.Length );
indexBuffer.SetData( indices );
overlayRenderer = new OverlayRenderer( renderer, map );
}
public void Draw( Viewport viewport )

View File

@@ -57,6 +57,8 @@ namespace OpenRa.Game
Game.NetworkHost = settings.GetValue( "host", "" );
Game.NetworkPort = int.Parse( settings.GetValue( "port", "0" ) );
Renderer.SheetSize = int.Parse( settings.GetValue( "sheetsize", "512" ) );
Game.Initialize(settings.GetValue("map", "scm12ea.ini"), renderer, new int2(ClientSize),
settings.GetValue("player", 1));