Files
ReshadePluginsCore/BlackMythWukong/SDK/MM_classes.hpp
2026-03-06 01:35:17 +01:00

169 lines
12 KiB
C++

#pragma once
/*
* SDK generated by Dumper-7
*
* https://github.com/Encryqed/Dumper-7
*/
// Package: MM
#include "Basic.hpp"
#include "Engine_classes.hpp"
#include "CoreUObject_classes.hpp"
#include "MM_structs.hpp"
namespace SDK
{
// Class MM.FilmstormFunctionLibrary
// 0x0000 (0x0028 - 0x0028)
class UFilmstormFunctionLibrary final : public UBlueprintFunctionLibrary
{
public:
static void CreatePlayerInputDirection(struct FInputPlayerDirectionData* OutConstructTargetDirection, const struct FTransform& DesiredTransform, const struct FTransform& RootWorldTransform, const float TargetDirectionInputStrength);
public:
static class UClass* StaticClass()
{
STATIC_CLASS_IMPL("FilmstormFunctionLibrary")
}
static const class FName& StaticName()
{
STATIC_NAME_IMPL(L"FilmstormFunctionLibrary")
}
static class UFilmstormFunctionLibrary* GetDefaultObj()
{
return GetDefaultObjImpl<UFilmstormFunctionLibrary>();
}
};
DUMPER7_ASSERTS_UFilmstormFunctionLibrary;
// Class MM.MotionMatchingHelpers
// 0x0000 (0x0028 - 0x0028)
class UMotionMatchingHelpers final : public UObject
{
public:
static void BlendKeyPoses(const struct FMotionMatchData& PoseA, const struct FMotionMatchData& PoseB, const float alpha, struct FMotionMatchData* OutBlendedKeyPose);
static float CompareJointDatas(const TArray<struct FSkeletonStructure>& JointData_A, const TArray<struct FSkeletonStructure>& JointData_B);
static float CompareTrajectories(const struct FInputPlayerDirectionData& InputDirectionData_A, const struct FInputPlayerDirectionData& InputDirectionData_B);
static void CreateInputDirection(struct FInputPlayerDirectionData* OutConstructTargetDirection, const struct FTransform& DesiredTransform, const struct FTransform& RootWorldTransform, const float TargetDirectionInputStrength);
static void ExtractAnimInputDirection(struct FInputPlayerDirectionData* DeliveredVelocityViaAnimBonesLocalVelocityData, const class UAnimSequence* InSequence, const float ClockInGame);
static void ExtractAnimSmoothedRotation(struct FQuat* DeliveredRotation, const class UAnimSequence* InSequence, const float ClockInGame);
static void ExtractLMAnimInputDirection(struct FInputPlayerDirectionData* DeliveredVelocityViaAnimBonesLocalVelocityData, const class UAnimSequence* InSequence, const float ClockInGame);
static void GetAnimBoneLocalTransform(const class UAnimSequence* InSequence, const float ReferenceClock, const int32 CurrentSkeletonTrackIndex, const int32 CurSkelIndex, struct FTransform* CalculatedTransformMM);
static void GetAnimBoneLocalVel(const class UAnimSequence* InSequence, const float ReferenceClock, const int32 CurrentSkeletonTrackIndex, const int32 CurSkelIndex, struct FVector* DeliveredVelocityViaAnimBonesLocalVel);
static void GetAnimBoneWorldTransform(const class UAnimSequence* InSequence, const float ReferenceClock, const int32 CurrentSkeletonTrackIndex, const int32 CurSkelIndex, struct FTransform* CalculatedTransformMM);
static void GetAnimJointData(const class UAnimSequence* InSequence, const float ReferenceClock, const int32 BoneIndex, struct FSkeletonStructure* DeliveredAnimationReferencesForSkelRef, float InDeltaTime);
static void GetAnimJointDataByName(const class UAnimSequence* InSequence, const float ReferenceClock, const class FName& BoneName, struct FSkeletonStructure* DeliveredAnimationReferencesForSkelRef, float InDeltaTime);
static void GetAnimVelocityReferenceClock(const class UAnimSequence* InSequence, const float ReferenceClock, struct FVector* DeliveredVelocityViaAnimBonesLocalVelocity);
static void GetDataFromAnimation(const class UAnimSequence* InSequence, const float ReferenceClock, const TArray<int32>& SkeletonRuntimeIndex, struct FInputPlayerDirectionData* OutPresentInputDirection, struct FInputPlayerDirectionData* OutFutureInputDirection, TArray<struct FSkeletonStructure>* DeliveredAnimationReferencesForSkelRef);
static void GetKeyPoseDataFromAnim(const class UAnimSequence* InSequence, const float ReferenceClock, const TArray<class FName>& ToBeRefAgainst, struct FMotionMatchData* CalculatedMMData);
static struct FTransform GetLastInputDirectionTransform(const struct FInputPlayerDirectionData& InputDirection);
static void GetLMAnimVelocityReferenceClock(const class UAnimSequence* InSequence, const float ReferenceClock, struct FVector* DeliveredVelocityViaAnimBonesLocalVelocity);
static class FString GetMMAnimDataRecordFilePath();
static bool MakeInputDirectionData(struct FInputPlayerDirectionData* OutInputDirection, const TArray<struct FTransform>& VectorsWeHaveLeftBehind, const TArray<struct FVector>& CheckTheseAgainstVWHLB);
public:
static class UClass* StaticClass()
{
STATIC_CLASS_IMPL("MotionMatchingHelpers")
}
static const class FName& StaticName()
{
STATIC_NAME_IMPL(L"MotionMatchingHelpers")
}
static class UMotionMatchingHelpers* GetDefaultObj()
{
return GetDefaultObjImpl<UMotionMatchingHelpers>();
}
};
DUMPER7_ASSERTS_UMotionMatchingHelpers;
// Class MM.AnimationAnalyzer
// 0x00E0 (0x0108 - 0x0028)
class UAnimationAnalyzer : public UObject
{
public:
uint8 Pad_28[0x8]; // 0x0028(0x0008)(Fixing Size After Last Property [ Dumper-7 ])
class USkeleton* SelectedSkeleton; // 0x0030(0x0008)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPrivate)
int32 KDTreeNodeRootIndex; // 0x0038(0x0004)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPrivate)
bool bUseLMAnim; // 0x003C(0x0001)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPrivate)
uint8 Pad_3D[0x3]; // 0x003D(0x0003)(Fixing Size After Last Property [ Dumper-7 ])
int32 LastMatchedAnimIndex; // 0x0040(0x0004)(BlueprintVisible, BlueprintReadOnly, ZeroConstructor, Transient, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
float ControllerInputReactionSpeed; // 0x0044(0x0004)(BlueprintVisible, BlueprintReadOnly, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
float ControllerRotateReactionSpeed; // 0x0048(0x0004)(BlueprintVisible, BlueprintReadOnly, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
uint8 Pad_4C[0x4]; // 0x004C(0x0004)(Fixing Size After Last Property [ Dumper-7 ])
TArray<struct FMMKDTreeNode> MMKDTree; // 0x0050(0x0010)(BlueprintVisible, BlueprintReadOnly, ZeroConstructor, NativeAccessSpecifierPublic)
TArray<struct FMotionMatchingMath> AnimationReferences; // 0x0060(0x0010)(Edit, BlueprintVisible, ZeroConstructor, NativeAccessSpecifierPublic)
TArray<class FName> ReferencedJoints; // 0x0070(0x0010)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, NativeAccessSpecifierPublic)
TArray<int32> ReferencedJointsIndex; // 0x0080(0x0010)(BlueprintVisible, BlueprintReadOnly, ZeroConstructor, NativeAccessSpecifierPublic)
TMap<int32, float> JointWeights; // 0x0090(0x0050)(BlueprintVisible, BlueprintReadOnly, NativeAccessSpecifierPublic)
TArray<class UAnimSequence*> AnimationsInMemory; // 0x00E0(0x0010)(Edit, BlueprintVisible, ZeroConstructor, NativeAccessSpecifierPublic)
TArray<struct FMotionMatchingAnimSeqdata> AnimationSeqSoftDatas; // 0x00F0(0x0010)(Edit, BlueprintVisible, ZeroConstructor, NativeAccessSpecifierPublic)
bool bUsingAssetSoftRef; // 0x0100(0x0001)(BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
uint8 Pad_101[0x7]; // 0x0101(0x0007)(Fixing Struct Size After Last Property [ Dumper-7 ])
public:
void AnalyzerAnimationReferences(const int32 CurrentReferenceAnimation);
bool AnimationCalculationsAccepted(const int32 Ref);
bool AnimationContextIsValid(const int32 CurrentAnimationRef);
bool AnimationReferenceIsValid(const int32 CurrentAnimationRef);
bool CheckIsFirstLoadRequireDesireAsset(const int32 Ref);
void CleanAllAnimationReferences();
void CleanAnimationReferences(const int32 CurrentReferenceAnimation);
void ClearAllAnimSeqForCalculatingInEditor();
void ConstructAllAnimationReferences();
void ConstructAnimationReferences(const int32 FromSourceAnimation);
void ConstructReferencedJointsIndex();
void ConstructSerializedFeatures();
int32 CountAnimationReferences();
class UAnimSequence* FindAnimationFromSequence(const int32 CurrentAnimationRef);
class UAnimSequence* FindAnimationsAtDesiredReferences(const int32 Ref);
int32 FindUserSelectedBones();
class FName FindUsersSkeletonBoneNames(int32 ReferencedBone);
void GatherSkeletonInfo(class USkeleton* UserSkeleton, const TArray<class FName>& SelectedJoints, const TArray<float>& BoneWeights);
class USkeleton* GetAnimationAnalyzerSkeleton();
int32 GetAnimationCount();
class FText GetAnimationShowNameInEditor(const int32 Ref);
struct FSoftObjectPath GetSoftPathByIndex(const int32 Ref);
bool HasSequence(const class FName SequenceName);
void InitAnimMathDataBySerializedFeatures();
bool IsAnimationExtracted(const class FName AnimationRef, const float WorldTime);
bool IsAnimMathDataValid();
bool IsUseLMAnim();
void LoadAllAnimSeqFromSoftRefForCalculatingInEditor();
int32 MatchAnimationByKDTree(const float VelocityStrength, const struct FInputPlayerDirectionData& InputDirection, const TArray<struct FSkeletonStructure>& MotionJointData, const struct FVector& PresentVel, float* MinSquareDis);
void MMAnimationSeqUsingNotify_Inner(const int32 Ref, class AActor* Owner);
void NewAnimationReference(const TArray<class UAnimSequence*>& ProvidedAnimationsByUser);
void OnAnimationAssetLoadStatChange(const int32 Ref, EAnimSeqAssetLoadStatType Stat, class UAnimSequence* Anim);
void RemoveAnimationReference(const int32 CurrentAnimationRef);
int32 RequireAnimationsLoadAtDesiredReferences(const int32 Ref, bool bLoadAll, class UObject* AnimInst);
void SetUseLMAnim(bool bUse);
int32 StructureForAnimationCalculations(const float ControllerInputReactionSpeedCustom, const float ControllerRotateReactionSpeedCustom, const float VelocityStrength, const float AnimationMatchPower, const struct FInputPlayerDirectionData& InputDirection, const TArray<struct FSkeletonStructure>& AllAnimationReferences, const struct FVector& PresentVel, const float BlendTime, float* CalculatedResult, struct FMotionMatchingCostData* AnimCostData);
bool TryInitFromAA(const class UAnimationAnalyzer* OrgAA);
const struct FMotionMatchingMath GetSequenceTimeOfAnimations(const int32 CurrentAnimationKeyframe) const;
bool IsBoneSelected(const class FName& BoneName) const;
public:
static class UClass* StaticClass()
{
STATIC_CLASS_IMPL("AnimationAnalyzer")
}
static const class FName& StaticName()
{
STATIC_NAME_IMPL(L"AnimationAnalyzer")
}
static class UAnimationAnalyzer* GetDefaultObj()
{
return GetDefaultObjImpl<UAnimationAnalyzer>();
}
};
DUMPER7_ASSERTS_UAnimationAnalyzer;
}