Merge pull request #8923 from reaperrr/prj-shadow
Made projectile shadows heightmap-aware
This commit is contained in:
@@ -177,11 +177,13 @@ namespace OpenRA.Mods.Common.Effects
|
||||
if (anim == null || ticks >= length)
|
||||
yield break;
|
||||
|
||||
if (!args.SourceActor.World.FogObscures(pos))
|
||||
var world = args.SourceActor.World;
|
||||
if (!world.FogObscures(pos))
|
||||
{
|
||||
if (info.Shadow)
|
||||
{
|
||||
var shadowPos = pos - new WVec(0, 0, pos.Z);
|
||||
var dat = world.Map.DistanceAboveTerrain(pos);
|
||||
var shadowPos = pos - new WVec(0, 0, dat.Length);
|
||||
foreach (var r in anim.Render(shadowPos, wr.Palette(info.ShadowPalette)))
|
||||
yield return r;
|
||||
}
|
||||
|
||||
@@ -84,11 +84,13 @@ namespace OpenRA.Mods.Common.Effects
|
||||
|
||||
public IEnumerable<IRenderable> Render(WorldRenderer wr)
|
||||
{
|
||||
if (!args.SourceActor.World.FogObscures(pos))
|
||||
var world = args.SourceActor.World;
|
||||
if (!world.FogObscures(pos))
|
||||
{
|
||||
if (info.Shadow)
|
||||
{
|
||||
var shadowPos = pos - new WVec(0, 0, pos.Z);
|
||||
var dat = world.Map.DistanceAboveTerrain(pos);
|
||||
var shadowPos = pos - new WVec(0, 0, dat.Length);
|
||||
foreach (var r in anim.Render(shadowPos, wr.Palette("shadow")))
|
||||
yield return r;
|
||||
}
|
||||
|
||||
@@ -227,11 +227,13 @@ namespace OpenRA.Mods.Common.Effects
|
||||
if (info.ContrailLength > 0)
|
||||
yield return contrail;
|
||||
|
||||
if (!args.SourceActor.World.FogObscures(pos))
|
||||
var world = args.SourceActor.World;
|
||||
if (!world.FogObscures(pos))
|
||||
{
|
||||
if (info.Shadow)
|
||||
{
|
||||
var shadowPos = new WPos(pos.X, pos.Y, 0);
|
||||
var dat = world.Map.DistanceAboveTerrain(pos);
|
||||
var shadowPos = new WPos(pos.X, pos.Y, dat.Length);
|
||||
foreach (var r in anim.Render(shadowPos, wr.Palette("shadow")))
|
||||
yield return r;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user