fixing z-order; generalized the 1x1 placement fix to handle nx1 (which were ALL wrong)

This commit is contained in:
Chris Forbes
2009-10-23 21:26:45 +13:00
parent b265eb6d08
commit dd8c70d3c2
2 changed files with 2 additions and 5 deletions

View File

@@ -57,10 +57,7 @@ namespace OpenRa.Game.GameRules
public static int2 AdjustForBuildingSize( UnitInfo.BuildingInfo unitInfo )
{
var dim = unitInfo.Dimensions;
if (dim.X == 1 && dim.Y == 1)
return int2.Zero; /* otherwise 1x1 buildings look stupid */
return new int2( dim.X / 2, ( dim.Y + 1 ) / 2 );
return new int2( dim.X / 2, dim.Y > 1 ? ( dim.Y + 1 ) / 2 : 0 );
}
}
}

View File

@@ -51,7 +51,7 @@ namespace OpenRa.Game.Graphics
var rect = new RectangleF((region.Position + Game.viewport.Location).ToPointF(),
region.Size.ToSizeF());
foreach (Actor a in Game.world.Actors)
foreach (Actor a in Game.world.Actors.OrderBy( u => u.CenterLocation.Y ))
DrawSpriteList(a.Owner, rect, a.Render());
foreach (IEffect e in Game.world.Effects)