#pragma once

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

// Package: Cutscenes

#include "Basic.hpp"

#include "MovieScene_structs.hpp"
#include "Engine_structs.hpp"
#include "CoreUObject_structs.hpp"


namespace SDK
{

// Enum Cutscenes.EChainPlayType
// NumValues: 0x0003
enum class EChainPlayType : uint8
{
	PlayImmediatelyAfterTheCutscene          = 0,
	WaitForRetrigger                         = 1,
	EChainPlayType_MAX                       = 2,
};

// Enum Cutscenes.EChainCutsceneType
// NumValues: 0x0003
enum class EChainCutsceneType : uint8
{
	DirectCutscene                           = 0,
	ConditionalCutscene                      = 1,
	EChainCutsceneType_MAX                   = 2,
};

// Enum Cutscenes.ESearchResult
// NumValues: 0x0004
enum class ESearchResult : uint8
{
	Result_Success                           = 0,
	Result_NothingFound                      = 1,
	Result_Ambiguous                         = 2,
	Result_MAX                               = 3,
};

// Enum Cutscenes.ELogMessageSeverity
// NumValues: 0x0006
enum class ELogMessageSeverity : uint8
{
	CriticalError                            = 0,
	Error                                    = 1,
	PerformanceWarning                       = 2,
	Warning                                  = 3,
	Info                                     = 4,
	ELogMessageSeverity_MAX                  = 5,
};

// ScriptStruct Cutscenes.CharacterNoCollisionMode
// 0x0060 (0x0060 - 0x0000)
struct FCharacterNoCollisionMode final
{
public:
	class ACharacter*                             OwningCharacter;                                   // 0x0000(0x0008)(ZeroConstructor, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPrivate)
	bool                                          NoCollisionMode;                                   // 0x0008(0x0001)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPrivate)
	uint8                                         Pad_9[0x7];                                        // 0x0009(0x0007)(Fixing Size After Last Property [ Dumper-7 ])
	TMap<ECollisionChannel, ECollisionResponse>   CapsuleCollisionSettings;                          // 0x0010(0x0050)(NativeAccessSpecifierPrivate)
};
DUMPER7_ASSERTS_FCharacterNoCollisionMode;

// ScriptStruct Cutscenes.CharacterBinding
// 0x0088 (0x0088 - 0x0000)
struct FCharacterBinding final
{
public:
	struct FMovieSceneObjectBindingID             BindingID;                                         // 0x0000(0x0018)(NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	struct FCharacterNoCollisionMode              NoCollisionMode;                                   // 0x0018(0x0060)(NativeAccessSpecifierPublic)
	class UObject*                                Character;                                         // 0x0078(0x0008)(ZeroConstructor, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	class ACutsceneCharacterProxy*                Proxy;                                             // 0x0080(0x0008)(ZeroConstructor, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
};
DUMPER7_ASSERTS_FCharacterBinding;

// ScriptStruct Cutscenes.CutsceneBoostMaterialConfig
// 0x0030 (0x0030 - 0x0000)
struct FCutsceneBoostMaterialConfig final
{
public:
	TSoftObjectPtr<class UMaterialInterface>      Material;                                          // 0x0000(0x0028)(Edit, BlueprintVisible, BlueprintReadOnly, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	float                                         BoostTime;                                         // 0x0028(0x0004)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	bool                                          ForceAllMiplevelsToBeResident;                     // 0x002C(0x0001)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	bool                                          FastResponse;                                      // 0x002D(0x0001)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_2E[0x2];                                       // 0x002E(0x0002)(Fixing Struct Size After Last Property [ Dumper-7 ])
};
DUMPER7_ASSERTS_FCutsceneBoostMaterialConfig;

// ScriptStruct Cutscenes.CutsceneSkipRange
// 0x0020 (0x0020 - 0x0000)
struct FCutsceneSkipRange final
{
public:
	class FString                                 MarkToSkipFrom;                                    // 0x0000(0x0010)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	class FString                                 MarkToSkipTo;                                      // 0x0010(0x0010)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
};
DUMPER7_ASSERTS_FCutsceneSkipRange;

// ScriptStruct Cutscenes.CutsceneSkipSettings
// 0x0018 (0x0018 - 0x0000)
struct FCutsceneSkipSettings final
{
public:
	bool                                          CanBeSkipped;                                      // 0x0000(0x0001)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	bool                                          JumpVsPlayOnSkip;                                  // 0x0001(0x0001)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	bool                                          UseSkipSectionMarks;                               // 0x0002(0x0001)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_3[0x5];                                        // 0x0003(0x0005)(Fixing Size After Last Property [ Dumper-7 ])
	TArray<struct FCutsceneSkipRange>             SkipSectionsMarks;                                 // 0x0008(0x0010)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, NativeAccessSpecifierPublic)
};
DUMPER7_ASSERTS_FCutsceneSkipSettings;

// ScriptStruct Cutscenes.BranchFilterEx
// 0x000C (0x000C - 0x0000)
struct FBranchFilterEx final
{
public:
	class FName                                   BoneName;                                          // 0x0000(0x0008)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	int32                                         BlendDepth;                                        // 0x0008(0x0004)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
};
DUMPER7_ASSERTS_FBranchFilterEx;

// ScriptStruct Cutscenes.AnimNode_SingleBranchLayeredBoneBlend
// 0x00D8 (0x00E8 - 0x0010)
struct FAnimNode_SingleBranchLayeredBoneBlend final : public FAnimNode_Base
{
public:
	struct FPoseLink                              BasePose;                                          // 0x0010(0x0010)(Edit, BlueprintVisible, NoDestructor, NativeAccessSpecifierPublic)
	TArray<struct FPoseLink>                      BlendPoses;                                        // 0x0020(0x0010)(Edit, BlueprintVisible, EditFixedSize, ZeroConstructor, NativeAccessSpecifierPublic)
	struct FPoseLink                              BlendPose;                                         // 0x0030(0x0010)(Edit, BlueprintVisible, NoDestructor, NativeAccessSpecifierPublic)
	struct FBranchFilterEx                        BranchFilter;                                      // 0x0040(0x000C)(Edit, BlueprintVisible, NoDestructor, NativeAccessSpecifierPublic)
	float                                         BlendWeight;                                       // 0x004C(0x0004)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	bool                                          bMeshSpaceRotationBlend;                           // 0x0050(0x0001)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	bool                                          bMeshSpaceScaleBlend;                              // 0x0051(0x0001)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	ECurveBlendOption                             CurveBlendOption;                                  // 0x0052(0x0001)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	bool                                          bBlendRootMotionBasedOnRootBone;                   // 0x0053(0x0001)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_54[0x4];                                       // 0x0054(0x0004)(Fixing Size After Last Property [ Dumper-7 ])
	TArray<float>                                 BlendWeights;                                      // 0x0058(0x0010)(Edit, BlueprintVisible, EditFixedSize, ZeroConstructor, NativeAccessSpecifierPublic)
	int32                                         LODThreshold;                                      // 0x0068(0x0004)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_6C[0x4];                                       // 0x006C(0x0004)(Fixing Size After Last Property [ Dumper-7 ])
	TArray<struct FPerBoneBlendWeight>            PerBoneBlendWeights;                               // 0x0070(0x0010)(ZeroConstructor, Protected, NativeAccessSpecifierProtected)
	struct FGuid                                  SkeletonGuid;                                      // 0x0080(0x0010)(ZeroConstructor, IsPlainOldData, NoDestructor, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	struct FGuid                                  VirtualBoneGuid;                                   // 0x0090(0x0010)(ZeroConstructor, IsPlainOldData, NoDestructor, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	uint8                                         Pad_A0[0x48];                                      // 0x00A0(0x0048)(Fixing Struct Size After Last Property [ Dumper-7 ])
};
DUMPER7_ASSERTS_FAnimNode_SingleBranchLayeredBoneBlend;

// ScriptStruct Cutscenes.CutsceneActorTeleportData
// 0x00E0 (0x00E0 - 0x0000)
struct FCutsceneActorTeleportData final
{
public:
	bool                                          bShouldTeleportToOriginalTransform;                // 0x0000(0x0001)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_1[0xF];                                        // 0x0001(0x000F)(Fixing Size After Last Property [ Dumper-7 ])
	struct FTransform                             DesiredTeleportTransform;                          // 0x0010(0x0060)(Edit, BlueprintVisible, BlueprintReadOnly, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	struct FTransform                             ActualTeleportTransform;                           // 0x0070(0x0060)(Edit, Transient, EditConst, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	bool                                          bTeleportTransformSet;                             // 0x00D0(0x0001)(Edit, ZeroConstructor, Transient, EditConst, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_D1[0xF];                                       // 0x00D1(0x000F)(Fixing Struct Size After Last Property [ Dumper-7 ])
};
DUMPER7_ASSERTS_FCutsceneActorTeleportData;

// ScriptStruct Cutscenes.CutsceneGameworldActors
// 0x0050 (0x0050 - 0x0000)
struct alignas(0x08) FCutsceneGameworldActors final
{
public:
	uint8                                         Pad_0[0x50];                                       // 0x0000(0x0050)(Fixing Struct Size After Last Property [ Dumper-7 ])
};
DUMPER7_ASSERTS_FCutsceneGameworldActors;

// ScriptStruct Cutscenes.BatchHandleWithStatus
// 0x0004 (0x0004 - 0x0000)
struct FBatchHandleWithStatus final
{
public:
	int32                                         DummyPlaceholderForNow;                            // 0x0000(0x0004)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
};
DUMPER7_ASSERTS_FBatchHandleWithStatus;

// ScriptStruct Cutscenes.CutsceneProxyPossessor
// 0x0030 (0x0030 - 0x0000)
struct FCutsceneProxyPossessor final
{
public:
	TSoftClassPtr<class UClass>                   Actor;                                             // 0x0000(0x0028)(Edit, BlueprintVisible, BlueprintReadOnly, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	bool                                          ExistsOnlyInCutscene;                              // 0x0028(0x0001)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_29[0x7];                                       // 0x0029(0x0007)(Fixing Struct Size After Last Property [ Dumper-7 ])
};
DUMPER7_ASSERTS_FCutsceneProxyPossessor;

// ScriptStruct Cutscenes.CutsceneToGameClassMap
// 0x0050 (0x0050 - 0x0000)
struct FCutsceneToGameClassMap final
{
public:
	TMap<TSoftClassPtr<class UClass>, struct FCutsceneProxyPossessor> Data;                          // 0x0000(0x0050)(Edit, BlueprintVisible, BlueprintReadOnly, NativeAccessSpecifierPublic)
};
DUMPER7_ASSERTS_FCutsceneToGameClassMap;

}

