Move ClassicFacingFudge support to Mods.Cnc
This moves the TD/RA-specific re-mapping of sprite facings and coordinates to Mods.Cnc.
This commit is contained in:
32
OpenRA.Mods.Cnc/Traits/ClassicFacingBodyOrientation.cs
Normal file
32
OpenRA.Mods.Cnc/Traits/ClassicFacingBodyOrientation.cs
Normal file
@@ -0,0 +1,32 @@
|
||||
#region Copyright & License Information
|
||||
/*
|
||||
* Copyright 2007-2020 The OpenRA Developers (see AUTHORS)
|
||||
* This file is part of OpenRA, which is free software. It is made
|
||||
* available to you under the terms of the GNU General Public License
|
||||
* as published by the Free Software Foundation, either version 3 of
|
||||
* the License, or (at your option) any later version. For more
|
||||
* information, see COPYING.
|
||||
*/
|
||||
#endregion
|
||||
|
||||
using OpenRA.Mods.Common.Traits;
|
||||
|
||||
namespace OpenRA.Mods.Cnc.Traits
|
||||
{
|
||||
[Desc("Fudge the coordinate system angles like the early games (for sprite sequences that use classic facing fudge).")]
|
||||
public class ClassicFacingBodyOrientationInfo : BodyOrientationInfo
|
||||
{
|
||||
public override int QuantizeFacing(int facing, int facings)
|
||||
{
|
||||
return OpenRA.Mods.Cnc.Util.ClassicQuantizeFacing(facing, facings, true) * (256 / facings);
|
||||
}
|
||||
|
||||
public override object Create(ActorInitializer init) { return new ClassicFacingBodyOrientation(init, this); }
|
||||
}
|
||||
|
||||
public class ClassicFacingBodyOrientation : BodyOrientation
|
||||
{
|
||||
public ClassicFacingBodyOrientation(ActorInitializer init, ClassicFacingBodyOrientationInfo info)
|
||||
: base(init, info) { }
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user