Bullet Facing -> WAngle.

This commit is contained in:
Paul Chote
2020-05-30 21:13:12 +01:00
committed by reaperrr
parent a93aea3e4e
commit 7b81b9e806

View File

@@ -111,7 +111,7 @@ namespace OpenRA.Mods.Common.Projectiles
readonly BulletInfo info; readonly BulletInfo info;
readonly ProjectileArgs args; readonly ProjectileArgs args;
readonly Animation anim; readonly Animation anim;
readonly int facing; readonly WAngle facing;
readonly WAngle angle; readonly WAngle angle;
readonly WDist speed; readonly WDist speed;
readonly string trailPalette; readonly string trailPalette;
@@ -156,7 +156,7 @@ namespace OpenRA.Mods.Common.Projectiles
if (info.AirburstAltitude > WDist.Zero) if (info.AirburstAltitude > WDist.Zero)
target += new WVec(WDist.Zero, WDist.Zero, info.AirburstAltitude); target += new WVec(WDist.Zero, WDist.Zero, info.AirburstAltitude);
facing = (target - pos).Yaw.Facing; facing = (target - pos).Yaw;
length = Math.Max((target - pos).Length / speed.Length, 1); length = Math.Max((target - pos).Length / speed.Length, 1);
if (!string.IsNullOrEmpty(info.Image)) if (!string.IsNullOrEmpty(info.Image))
@@ -184,14 +184,14 @@ namespace OpenRA.Mods.Common.Projectiles
var at = (float)ticks / (length - 1); var at = (float)ticks / (length - 1);
var attitude = angle.Tan() * (1 - 2 * at) / (4 * 1024); var attitude = angle.Tan() * (1 - 2 * at) / (4 * 1024);
var u = (facing % 128) / 128f; var u = (facing.Angle % 512) / 512f;
var scale = 512 * u * (1 - u); var scale = 2048 * u * (1 - u);
var effective = (int)(facing < 128 var effective = (int)(facing.Angle < 512
? facing - scale * attitude ? facing.Angle - scale * attitude
: facing + scale * attitude); : facing.Angle + scale * attitude);
return WAngle.FromFacing(effective); return new WAngle(effective);
} }
public void Tick(World world) public void Tick(World world)