Fix height calculations in custom terrain layers.

This commit is contained in:
Paul Chote
2017-09-17 08:47:26 +00:00
committed by reaperrr
parent c3ece99796
commit f4c2b36778
4 changed files with 19 additions and 3 deletions

View File

@@ -43,6 +43,7 @@ namespace OpenRA.Mods.Common.Traits
public void WorldLoaded(World world, WorldRenderer wr)
{
var domainIndex = world.WorldActor.Trait<DomainIndex>();
var cellHeight = world.Map.CellHeightStep.Length;
foreach (var tti in world.WorldActor.Info.TraitInfos<ElevatedBridgePlaceholderInfo>())
{
enabled = true;
@@ -54,7 +55,7 @@ namespace OpenRA.Mods.Common.Traits
terrainIndices[uv] = terrain;
var pos = map.CenterOfCell(c);
cellCenters[uv] = pos - new WVec(0, 0, pos.Z - 512 * tti.Height);
cellCenters[uv] = pos - new WVec(0, 0, pos.Z - cellHeight * tti.Height);
}
var end = tti.EndCells();

View File

@@ -40,6 +40,7 @@ namespace OpenRA.Mods.Common.Traits
map = self.World.Map;
terrainIndex = self.World.Map.Rules.TileSet.GetTerrainIndex(info.TerrainType);
height = new CellLayer<int>(map);
var cellHeight = self.World.Map.CellHeightStep.Length;
foreach (var c in map.AllCells)
{
var neighbourCount = 0;
@@ -57,7 +58,7 @@ namespace OpenRA.Mods.Common.Traits
}
}
height[c] = info.HeightOffset.Length + neighbourHeight * 512 / neighbourCount;
height[c] = info.HeightOffset.Length + neighbourHeight * cellHeight / neighbourCount;
}
}

View File

@@ -42,6 +42,7 @@ namespace OpenRA.Mods.Common.Traits
public void WorldLoaded(World world, WorldRenderer wr)
{
var domainIndex = world.WorldActor.Trait<DomainIndex>();
var cellHeight = world.Map.CellHeightStep.Length;
foreach (var tti in world.WorldActor.Info.TraitInfos<TerrainTunnelInfo>())
{
enabled = true;
@@ -53,7 +54,7 @@ namespace OpenRA.Mods.Common.Traits
terrainIndices[uv] = terrain;
var pos = map.CenterOfCell(c);
cellCenters[uv] = pos - new WVec(0, 0, pos.Z - 512 * tti.Height);
cellCenters[uv] = pos - new WVec(0, 0, pos.Z - cellHeight * tti.Height);
}
var portal = tti.PortalCells();