Files
korenkonder_PD_Tool/KKdBaseLib/A3DAKey.cs
T
2021-05-22 14:13:54 +03:00

52 lines
1.5 KiB
C#

using KKdBaseLib.Auth3D;
namespace KKdBaseLib
{
public struct A3DAKey
{
public KeyType Type;
public float Value;
public float MaxFrames;
public EPType EPTypePre;
public EPType EPTypePost;
public float FrameDelta;
public float ValueDelta;
public int Padding;
public long FirstKey;
public long SecondKey;
public long AfterLastKey;
public long Length;
public long DataOffset; //Used only in-game and points to KFT3 Array
public KFT3[] Keys;
public A3DAKey(Key k)
{
Type = 0; Value = MaxFrames = FrameDelta = ValueDelta = 0; EPTypePre = EPTypePost = 0;
FirstKey = SecondKey = AfterLastKey = Padding = 0;
Length = DataOffset = 0; Keys = null;
MaxFrames = k.Max ?? 0;
if (k.Type > KeyType.Static && k.Keys != null && k.Keys.Length > 1)
{
Type = k.Type;
Length = k.Keys.Length;
Keys = k.Keys;
EPTypePost = k.EPTypePost;
EPTypePre = k.EPTypePre;
FrameDelta = k.Keys[Length - 1].F - k.Keys[0].F;
ValueDelta = k.Keys[Length - 1].V - k.Keys[0].V;
}
else
{
Type = k.Type;
Value = k.Type > 0 ? k.Value : 0.0f;
EPTypePost = 0;
EPTypePre = 0;
FrameDelta = 0;
ValueDelta = Value;
}
}
}
}