fixing z-order; generalized the 1x1 placement fix to handle nx1 (which were ALL wrong)
This commit is contained in:
@@ -57,10 +57,7 @@ namespace OpenRa.Game.GameRules
|
|||||||
public static int2 AdjustForBuildingSize( UnitInfo.BuildingInfo unitInfo )
|
public static int2 AdjustForBuildingSize( UnitInfo.BuildingInfo unitInfo )
|
||||||
{
|
{
|
||||||
var dim = unitInfo.Dimensions;
|
var dim = unitInfo.Dimensions;
|
||||||
if (dim.X == 1 && dim.Y == 1)
|
return new int2( dim.X / 2, dim.Y > 1 ? ( dim.Y + 1 ) / 2 : 0 );
|
||||||
return int2.Zero; /* otherwise 1x1 buildings look stupid */
|
|
||||||
|
|
||||||
return new int2( dim.X / 2, ( dim.Y + 1 ) / 2 );
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -51,7 +51,7 @@ namespace OpenRa.Game.Graphics
|
|||||||
var rect = new RectangleF((region.Position + Game.viewport.Location).ToPointF(),
|
var rect = new RectangleF((region.Position + Game.viewport.Location).ToPointF(),
|
||||||
region.Size.ToSizeF());
|
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());
|
DrawSpriteList(a.Owner, rect, a.Render());
|
||||||
|
|
||||||
foreach (IEffect e in Game.world.Effects)
|
foreach (IEffect e in Game.world.Effects)
|
||||||
|
|||||||
Reference in New Issue
Block a user