#pragma once

/*
* SDK generated by Dumper-7
*
* https://github.com/Encryqed/Dumper-7
*/

// Package: PhxAnimationTools

#include "Basic.hpp"

#include "Engine_structs.hpp"
#include "AnimGraphRuntime_structs.hpp"


namespace SDK
{

// ScriptStruct PhxAnimationTools.AnimNode_BlendFromDataTable
// 0x0068 (0x00A0 - 0x0038)
struct FAnimNode_BlendFromDataTable final : public FAnimNode_AssetPlayerBase
{
public:
	struct FPoseLink                              BasePose;                                          // 0x0038(0x0010)(Edit, BlueprintVisible, NoDestructor, NativeAccessSpecifierPublic)
	class UDataTable*                             BlendTable;                                        // 0x0048(0x0008)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	float                                         MinTimeBetweenBlends;                              // 0x0050(0x0004)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	float                                         MaxTimeBetweenBlends;                              // 0x0054(0x0004)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	float                                         ALPHA;                                             // 0x0058(0x0004)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_5C[0x44];                                      // 0x005C(0x0044)(Fixing Struct Size After Last Property [ Dumper-7 ])
};
static_assert(alignof(FAnimNode_BlendFromDataTable) == 0x000008, "Wrong alignment on FAnimNode_BlendFromDataTable");
static_assert(sizeof(FAnimNode_BlendFromDataTable) == 0x0000A0, "Wrong size on FAnimNode_BlendFromDataTable");
static_assert(offsetof(FAnimNode_BlendFromDataTable, BasePose) == 0x000038, "Member 'FAnimNode_BlendFromDataTable::BasePose' has a wrong offset!");
static_assert(offsetof(FAnimNode_BlendFromDataTable, BlendTable) == 0x000048, "Member 'FAnimNode_BlendFromDataTable::BlendTable' has a wrong offset!");
static_assert(offsetof(FAnimNode_BlendFromDataTable, MinTimeBetweenBlends) == 0x000050, "Member 'FAnimNode_BlendFromDataTable::MinTimeBetweenBlends' has a wrong offset!");
static_assert(offsetof(FAnimNode_BlendFromDataTable, MaxTimeBetweenBlends) == 0x000054, "Member 'FAnimNode_BlendFromDataTable::MaxTimeBetweenBlends' has a wrong offset!");
static_assert(offsetof(FAnimNode_BlendFromDataTable, ALPHA) == 0x000058, "Member 'FAnimNode_BlendFromDataTable::ALPHA' has a wrong offset!");

// ScriptStruct PhxAnimationTools.AnimBlendDataRow
// 0x0028 (0x0030 - 0x0008)
struct FAnimBlendDataRow final : public FTableRowBase
{
public:
	class UAnimSequence*                          Sequence;                                          // 0x0008(0x0008)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	float                                         BlendInTime;                                       // 0x0010(0x0004)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	float                                         BlendOutTime;                                      // 0x0014(0x0004)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	struct FInputBlendPose                        LayerSetup;                                        // 0x0018(0x0010)(Edit, NativeAccessSpecifierPublic)
	bool                                          bMeshSpaceRotation;                                // 0x0028(0x0001)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	ECurveBlendOption                             CurveBlendOption;                                  // 0x0029(0x0001)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_2A[0x6];                                       // 0x002A(0x0006)(Fixing Struct Size After Last Property [ Dumper-7 ])
};
static_assert(alignof(FAnimBlendDataRow) == 0x000008, "Wrong alignment on FAnimBlendDataRow");
static_assert(sizeof(FAnimBlendDataRow) == 0x000030, "Wrong size on FAnimBlendDataRow");
static_assert(offsetof(FAnimBlendDataRow, Sequence) == 0x000008, "Member 'FAnimBlendDataRow::Sequence' has a wrong offset!");
static_assert(offsetof(FAnimBlendDataRow, BlendInTime) == 0x000010, "Member 'FAnimBlendDataRow::BlendInTime' has a wrong offset!");
static_assert(offsetof(FAnimBlendDataRow, BlendOutTime) == 0x000014, "Member 'FAnimBlendDataRow::BlendOutTime' has a wrong offset!");
static_assert(offsetof(FAnimBlendDataRow, LayerSetup) == 0x000018, "Member 'FAnimBlendDataRow::LayerSetup' has a wrong offset!");
static_assert(offsetof(FAnimBlendDataRow, bMeshSpaceRotation) == 0x000028, "Member 'FAnimBlendDataRow::bMeshSpaceRotation' has a wrong offset!");
static_assert(offsetof(FAnimBlendDataRow, CurveBlendOption) == 0x000029, "Member 'FAnimBlendDataRow::CurveBlendOption' has a wrong offset!");

// ScriptStruct PhxAnimationTools.PoseBlendData
// 0x0048 (0x0048 - 0x0000)
struct FPoseBlendData final
{
public:
	struct FInputBlendPose                        LayerSetup;                                        // 0x0000(0x0010)(Edit, NativeAccessSpecifierPublic)
	float                                         BlendWeight;                                       // 0x0010(0x0004)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	bool                                          bMeshSpaceRotation;                                // 0x0014(0x0001)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_15[0x33];                                      // 0x0015(0x0033)(Fixing Struct Size After Last Property [ Dumper-7 ])
};
static_assert(alignof(FPoseBlendData) == 0x000008, "Wrong alignment on FPoseBlendData");
static_assert(sizeof(FPoseBlendData) == 0x000048, "Wrong size on FPoseBlendData");
static_assert(offsetof(FPoseBlendData, LayerSetup) == 0x000000, "Member 'FPoseBlendData::LayerSetup' has a wrong offset!");
static_assert(offsetof(FPoseBlendData, BlendWeight) == 0x000010, "Member 'FPoseBlendData::BlendWeight' has a wrong offset!");
static_assert(offsetof(FPoseBlendData, bMeshSpaceRotation) == 0x000014, "Member 'FPoseBlendData::bMeshSpaceRotation' has a wrong offset!");

// ScriptStruct PhxAnimationTools.LayeredBlendData
// 0x0050 (0x0050 - 0x0000)
struct FLayeredBlendData final
{
public:
	class UAnimSequence*                          Sequence;                                          // 0x0000(0x0008)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	TArray<struct FPoseBlendData>                 LayerSetupData;                                    // 0x0008(0x0010)(Edit, ZeroConstructor, NativeAccessSpecifierPublic)
	class UAnimSequence*                          AdditiveSequence;                                  // 0x0018(0x0008)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	TArray<struct FPoseBlendData>                 AdditiveLayerSetupData;                            // 0x0020(0x0010)(Edit, ZeroConstructor, NativeAccessSpecifierPublic)
	float                                         AdditiveAlpha;                                     // 0x0030(0x0004)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	bool                                          bIsAdditiveMeshSpace;                              // 0x0034(0x0001)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_35[0x3];                                       // 0x0035(0x0003)(Fixing Size After Last Property [ Dumper-7 ])
	float                                         BlendInTime;                                       // 0x0038(0x0004)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	float                                         BlendOutTime;                                      // 0x003C(0x0004)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	float                                         BlendTimeFromFullbody;                             // 0x0040(0x0004)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	float                                         BlendTimeToFullbody;                               // 0x0044(0x0004)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	ECurveBlendOption                             CurveBlendOption;                                  // 0x0048(0x0001)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_49[0x7];                                       // 0x0049(0x0007)(Fixing Struct Size After Last Property [ Dumper-7 ])
};
static_assert(alignof(FLayeredBlendData) == 0x000008, "Wrong alignment on FLayeredBlendData");
static_assert(sizeof(FLayeredBlendData) == 0x000050, "Wrong size on FLayeredBlendData");
static_assert(offsetof(FLayeredBlendData, Sequence) == 0x000000, "Member 'FLayeredBlendData::Sequence' has a wrong offset!");
static_assert(offsetof(FLayeredBlendData, LayerSetupData) == 0x000008, "Member 'FLayeredBlendData::LayerSetupData' has a wrong offset!");
static_assert(offsetof(FLayeredBlendData, AdditiveSequence) == 0x000018, "Member 'FLayeredBlendData::AdditiveSequence' has a wrong offset!");
static_assert(offsetof(FLayeredBlendData, AdditiveLayerSetupData) == 0x000020, "Member 'FLayeredBlendData::AdditiveLayerSetupData' has a wrong offset!");
static_assert(offsetof(FLayeredBlendData, AdditiveAlpha) == 0x000030, "Member 'FLayeredBlendData::AdditiveAlpha' has a wrong offset!");
static_assert(offsetof(FLayeredBlendData, bIsAdditiveMeshSpace) == 0x000034, "Member 'FLayeredBlendData::bIsAdditiveMeshSpace' has a wrong offset!");
static_assert(offsetof(FLayeredBlendData, BlendInTime) == 0x000038, "Member 'FLayeredBlendData::BlendInTime' has a wrong offset!");
static_assert(offsetof(FLayeredBlendData, BlendOutTime) == 0x00003C, "Member 'FLayeredBlendData::BlendOutTime' has a wrong offset!");
static_assert(offsetof(FLayeredBlendData, BlendTimeFromFullbody) == 0x000040, "Member 'FLayeredBlendData::BlendTimeFromFullbody' has a wrong offset!");
static_assert(offsetof(FLayeredBlendData, BlendTimeToFullbody) == 0x000044, "Member 'FLayeredBlendData::BlendTimeToFullbody' has a wrong offset!");
static_assert(offsetof(FLayeredBlendData, CurveBlendOption) == 0x000048, "Member 'FLayeredBlendData::CurveBlendOption' has a wrong offset!");

// ScriptStruct PhxAnimationTools.AnimNode_BlendFromLayeredBlendData
// 0x00C8 (0x0100 - 0x0038)
struct FAnimNode_BlendFromLayeredBlendData final : public FAnimNode_AssetPlayerBase
{
public:
	struct FPoseLink                              BasePose;                                          // 0x0038(0x0010)(Edit, BlueprintVisible, NoDestructor, NativeAccessSpecifierPublic)
	struct FLayeredBlendData                      BlendData;                                         // 0x0048(0x0050)(Edit, BlueprintVisible, NativeAccessSpecifierPublic)
	bool                                          bForceMeshSpaceRotation;                           // 0x0098(0x0001)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_99[0x67];                                      // 0x0099(0x0067)(Fixing Struct Size After Last Property [ Dumper-7 ])
};
static_assert(alignof(FAnimNode_BlendFromLayeredBlendData) == 0x000008, "Wrong alignment on FAnimNode_BlendFromLayeredBlendData");
static_assert(sizeof(FAnimNode_BlendFromLayeredBlendData) == 0x000100, "Wrong size on FAnimNode_BlendFromLayeredBlendData");
static_assert(offsetof(FAnimNode_BlendFromLayeredBlendData, BasePose) == 0x000038, "Member 'FAnimNode_BlendFromLayeredBlendData::BasePose' has a wrong offset!");
static_assert(offsetof(FAnimNode_BlendFromLayeredBlendData, BlendData) == 0x000048, "Member 'FAnimNode_BlendFromLayeredBlendData::BlendData' has a wrong offset!");
static_assert(offsetof(FAnimNode_BlendFromLayeredBlendData, bForceMeshSpaceRotation) == 0x000098, "Member 'FAnimNode_BlendFromLayeredBlendData::bForceMeshSpaceRotation' has a wrong offset!");

// ScriptStruct PhxAnimationTools.AnimNode_SplineFK
// 0x0068 (0x0130 - 0x00C8)
struct FAnimNode_SplineFK final : public FAnimNode_SkeletalControlBase
{
public:
	class USplineComponent*                       SplineCompnent;                                    // 0x00C8(0x0008)(Edit, BlueprintVisible, ExportObject, ZeroConstructor, InstancedReference, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	struct FBoneReference                         StartBone;                                         // 0x00D0(0x0010)(Edit, NoDestructor, NativeAccessSpecifierPublic)
	struct FBoneReference                         EndBone;                                           // 0x00E0(0x0010)(Edit, NoDestructor, NativeAccessSpecifierPublic)
	float                                         Stretch;                                           // 0x00F0(0x0004)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_F4[0x3C];                                      // 0x00F4(0x003C)(Fixing Struct Size After Last Property [ Dumper-7 ])
};
static_assert(alignof(FAnimNode_SplineFK) == 0x000008, "Wrong alignment on FAnimNode_SplineFK");
static_assert(sizeof(FAnimNode_SplineFK) == 0x000130, "Wrong size on FAnimNode_SplineFK");
static_assert(offsetof(FAnimNode_SplineFK, SplineCompnent) == 0x0000C8, "Member 'FAnimNode_SplineFK::SplineCompnent' has a wrong offset!");
static_assert(offsetof(FAnimNode_SplineFK, StartBone) == 0x0000D0, "Member 'FAnimNode_SplineFK::StartBone' has a wrong offset!");
static_assert(offsetof(FAnimNode_SplineFK, EndBone) == 0x0000E0, "Member 'FAnimNode_SplineFK::EndBone' has a wrong offset!");
static_assert(offsetof(FAnimNode_SplineFK, Stretch) == 0x0000F0, "Member 'FAnimNode_SplineFK::Stretch' has a wrong offset!");

}

