Add Unreal Engine SDK
This commit is contained in:
149750
SleepAwake/Assertions.inl
Normal file
149750
SleepAwake/Assertions.inl
Normal file
File diff suppressed because it is too large
Load Diff
41
SleepAwake/NameCollisions.inl
Normal file
41
SleepAwake/NameCollisions.inl
Normal file
@@ -0,0 +1,41 @@
|
||||
#pragma once
|
||||
|
||||
/*
|
||||
* SDK generated by Dumper-7
|
||||
*
|
||||
* https://github.com/Encryqed/Dumper-7
|
||||
*/
|
||||
|
||||
// FORWARD DECLARATIONS
|
||||
|
||||
|
||||
namespace Seq_SleepSpell_Default_Medium_Alt1 { class USequenceDirector_C; }
|
||||
|
||||
namespace Seq_SleepSpell_Default_Medium { class USequenceDirector_C; }
|
||||
|
||||
namespace GameplayAbilities { struct FServerAbilityRPCBatch; }
|
||||
|
||||
namespace Seq_KA0_KitchenApparatusAndJournal { class USequenceDirector_C; }
|
||||
|
||||
namespace Seq_KA0_SS_LeavingKitchen { class USequenceDirector_C; }
|
||||
|
||||
namespace Seq_SleepSpell_Default_Large_FinalKA0SleepSpell { class USequenceDirector_C; }
|
||||
|
||||
namespace Seq_KA0_OpeningCine_HatchMarks { class USequenceDirector_C; }
|
||||
|
||||
namespace Seq_KA0_Reading1stMicrofiche { class USequenceDirector_C; }
|
||||
|
||||
namespace Seq_KA0_SS_RailingTowardsKitchen { class USequenceDirector_C; }
|
||||
|
||||
namespace Seq_KA0_TransitionVisuals_Out { class USequenceDirector_C; }
|
||||
|
||||
namespace Seq_SleepSpell_Default_Small { class USequenceDirector_C; }
|
||||
|
||||
namespace Seq_SleepSpell_Default_Large { class USequenceDirector_C; }
|
||||
|
||||
namespace Seq_SleepSpell_Default_Medium_Alt1_NoAudio { class USequenceDirector_C; }
|
||||
|
||||
namespace Seq_KA0_KitchenQuake { class USequenceDirector_C; }
|
||||
|
||||
namespace Seq_KA0_SS_DoorJamTowardsStudy { class USequenceDirector_C; }
|
||||
|
||||
21
SleepAwake/PropertyFixup.hpp
Normal file
21
SleepAwake/PropertyFixup.hpp
Normal file
@@ -0,0 +1,21 @@
|
||||
#pragma once
|
||||
|
||||
/*
|
||||
* SDK generated by Dumper-7
|
||||
*
|
||||
* https://github.com/Encryqed/Dumper-7
|
||||
*/
|
||||
|
||||
// PROPERTY-FIXUP
|
||||
|
||||
|
||||
namespace SDK
|
||||
{
|
||||
|
||||
class alignas(0x01) FMulticastSparseDelegateProperty_
|
||||
{
|
||||
unsigned __int8 Pad[0x1];
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
1194
SleepAwake/SDK.hpp
Normal file
1194
SleepAwake/SDK.hpp
Normal file
File diff suppressed because it is too large
Load Diff
43
SleepAwake/SDK/AudioPlatformConfiguration_structs.hpp
Normal file
43
SleepAwake/SDK/AudioPlatformConfiguration_structs.hpp
Normal file
@@ -0,0 +1,43 @@
|
||||
#pragma once
|
||||
|
||||
/*
|
||||
* SDK generated by Dumper-7
|
||||
*
|
||||
* https://github.com/Encryqed/Dumper-7
|
||||
*/
|
||||
|
||||
// Package: AudioPlatformConfiguration
|
||||
|
||||
#include "Basic.hpp"
|
||||
|
||||
|
||||
namespace SDK
|
||||
{
|
||||
|
||||
// Enum AudioPlatformConfiguration.ESoundwaveSampleRateSettings
|
||||
// NumValues: 0x0006
|
||||
enum class ESoundwaveSampleRateSettings : uint8
|
||||
{
|
||||
Max = 0,
|
||||
High = 1,
|
||||
Medium = 2,
|
||||
Low = 3,
|
||||
Min = 4,
|
||||
MatchDevice = 5,
|
||||
};
|
||||
|
||||
// ScriptStruct AudioPlatformConfiguration.PlatformRuntimeAudioCompressionOverrides
|
||||
// 0x0010 (0x0010 - 0x0000)
|
||||
struct FPlatformRuntimeAudioCompressionOverrides final
|
||||
{
|
||||
public:
|
||||
bool bOverrideCompressionTimes; // 0x0000(0x0001)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
|
||||
uint8 Pad_1[0x3]; // 0x0001(0x0003)(Fixing Size After Last Property [ Dumper-7 ])
|
||||
float DurationThreshold; // 0x0004(0x0004)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
|
||||
int32 MaxNumRandomBranches; // 0x0008(0x0004)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
|
||||
int32 SoundCueQualityIndex; // 0x000C(0x0004)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
|
||||
};
|
||||
DUMPER7_ASSERTS_FPlatformRuntimeAudioCompressionOverrides;
|
||||
|
||||
}
|
||||
|
||||
135
SleepAwake/SDK/Basic.cpp
Normal file
135
SleepAwake/SDK/Basic.cpp
Normal file
@@ -0,0 +1,135 @@
|
||||
#pragma once
|
||||
|
||||
/*
|
||||
* SDK generated by Dumper-7
|
||||
*
|
||||
* https://github.com/Encryqed/Dumper-7
|
||||
*/
|
||||
|
||||
// Basic file containing function-implementations from Basic.hpp
|
||||
|
||||
#include <Windows.h>
|
||||
#include "Basic.hpp"
|
||||
|
||||
#include "CoreUObject_classes.hpp"
|
||||
#include "CoreUObject_structs.hpp"
|
||||
#include "Engine_classes.hpp"
|
||||
|
||||
namespace SDK
|
||||
{
|
||||
uintptr_t InSDKUtils::GetImageBase()
|
||||
{
|
||||
return reinterpret_cast<uintptr_t>(GetModuleHandle(0));
|
||||
}
|
||||
|
||||
class UClass* BasicFilesImpleUtils::FindClassByName(const std::string& Name, bool bByFullName)
|
||||
{
|
||||
return bByFullName ? UObject::FindClass(Name) : UObject::FindClassFast(Name);
|
||||
}
|
||||
|
||||
class UClass* BasicFilesImpleUtils::FindClassByFullName(const std::string& Name)
|
||||
{
|
||||
return UObject::FindClass(Name);
|
||||
}
|
||||
|
||||
std::string BasicFilesImpleUtils::GetObjectName(class UClass* Class)
|
||||
{
|
||||
return Class->GetName();
|
||||
}
|
||||
|
||||
int32 BasicFilesImpleUtils::GetObjectIndex(class UClass* Class)
|
||||
{
|
||||
return Class->Index;
|
||||
}
|
||||
|
||||
uint64 BasicFilesImpleUtils::GetObjFNameAsUInt64(class UClass* Class)
|
||||
{
|
||||
return *reinterpret_cast<uint64*>(&Class->Name);
|
||||
}
|
||||
|
||||
class UObject* BasicFilesImpleUtils::GetObjectByIndex(int32 Index)
|
||||
{
|
||||
return UObject::GObjects->GetByIndex(Index);
|
||||
}
|
||||
|
||||
UFunction* BasicFilesImpleUtils::FindFunctionByFName(const FName* Name)
|
||||
{
|
||||
for (int i = 0; i < UObject::GObjects->Num(); ++i)
|
||||
{
|
||||
UObject* Object = UObject::GObjects->GetByIndex(i);
|
||||
|
||||
if (!Object)
|
||||
continue;
|
||||
|
||||
if (Object->Name == *Name)
|
||||
return static_cast<UFunction*>(Object);
|
||||
}
|
||||
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
FName BasicFilesImpleUtils::StringToName(const wchar_t* Name)
|
||||
{
|
||||
return UKismetStringLibrary::Conv_StringToName(FString(Name));
|
||||
}
|
||||
|
||||
const FName& GetStaticName(const wchar_t* Name, FName& StaticName)
|
||||
{
|
||||
if (StaticName.IsNone())
|
||||
{
|
||||
StaticName = BasicFilesImpleUtils::StringToName(Name);
|
||||
}
|
||||
|
||||
return StaticName;
|
||||
}
|
||||
|
||||
// Predefined Function
|
||||
|
||||
class UObject* FWeakObjectPtr::Get() const
|
||||
{
|
||||
return UObject::GObjects->GetByIndex(ObjectIndex);
|
||||
}
|
||||
|
||||
|
||||
// Predefined Function
|
||||
|
||||
class UObject* FWeakObjectPtr::operator->() const
|
||||
{
|
||||
return UObject::GObjects->GetByIndex(ObjectIndex);
|
||||
}
|
||||
|
||||
|
||||
// Predefined Function
|
||||
|
||||
bool FWeakObjectPtr::operator==(const FWeakObjectPtr& Other) const
|
||||
{
|
||||
return ObjectIndex == Other.ObjectIndex;
|
||||
}
|
||||
|
||||
|
||||
// Predefined Function
|
||||
|
||||
bool FWeakObjectPtr::operator!=(const FWeakObjectPtr& Other) const
|
||||
{
|
||||
return ObjectIndex != Other.ObjectIndex;
|
||||
}
|
||||
|
||||
|
||||
// Predefined Function
|
||||
|
||||
bool FWeakObjectPtr::operator==(const class UObject* Other) const
|
||||
{
|
||||
return ObjectIndex == Other->Index;
|
||||
}
|
||||
|
||||
|
||||
// Predefined Function
|
||||
|
||||
bool FWeakObjectPtr::operator!=(const class UObject* Other) const
|
||||
{
|
||||
return ObjectIndex != Other->Index;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
1260
SleepAwake/SDK/Basic.hpp
Normal file
1260
SleepAwake/SDK/Basic.hpp
Normal file
File diff suppressed because it is too large
Load Diff
466
SleepAwake/SDK/Chaos_structs.hpp
Normal file
466
SleepAwake/SDK/Chaos_structs.hpp
Normal file
@@ -0,0 +1,466 @@
|
||||
#pragma once
|
||||
|
||||
/*
|
||||
* SDK generated by Dumper-7
|
||||
*
|
||||
* https://github.com/Encryqed/Dumper-7
|
||||
*/
|
||||
|
||||
// Package: Chaos
|
||||
|
||||
#include "Basic.hpp"
|
||||
|
||||
#include "CoreUObject_structs.hpp"
|
||||
|
||||
|
||||
namespace SDK
|
||||
{
|
||||
|
||||
// Enum Chaos.EClusterUnionMethod
|
||||
// NumValues: 0x0006
|
||||
enum class EClusterUnionMethod : uint8
|
||||
{
|
||||
PointImplicit = 0,
|
||||
DelaunayTriangulation = 1,
|
||||
MinimalSpanningSubsetDelaunayTriangulation = 2,
|
||||
PointImplicitAugmentedWithMinimalDelaunay = 3,
|
||||
None = 4,
|
||||
EClusterUnionMethod_MAX = 5,
|
||||
};
|
||||
|
||||
// Enum Chaos.EFieldPhysicsDefaultFields
|
||||
// NumValues: 0x0007
|
||||
enum class EFieldPhysicsDefaultFields : uint8
|
||||
{
|
||||
Field_RadialIntMask = 0,
|
||||
Field_RadialFalloff = 1,
|
||||
Field_UniformVector = 2,
|
||||
Field_RadialVector = 3,
|
||||
Field_RadialVectorFalloff = 4,
|
||||
Field_EFieldPhysicsDefaultFields_Max = 5,
|
||||
Field_MAX = 6,
|
||||
};
|
||||
|
||||
// Enum Chaos.EFieldOutputType
|
||||
// NumValues: 0x0004
|
||||
enum class EFieldOutputType : uint8
|
||||
{
|
||||
Field_Output_Vector = 0,
|
||||
Field_Output_Scalar = 1,
|
||||
Field_Output_Integer = 2,
|
||||
Field_Output_Max = 3,
|
||||
};
|
||||
|
||||
// Enum Chaos.EFieldIntegerType
|
||||
// NumValues: 0x0007
|
||||
enum class EFieldIntegerType : uint8
|
||||
{
|
||||
Integer_DynamicState = 0,
|
||||
Integer_ActivateDisabled = 1,
|
||||
Integer_CollisionGroup = 2,
|
||||
Integer_PositionAnimated = 3,
|
||||
Integer_PositionStatic = 4,
|
||||
Integer_TargetMax = 5,
|
||||
Integer_MAX = 6,
|
||||
};
|
||||
|
||||
// Enum Chaos.EFieldScalarType
|
||||
// NumValues: 0x0008
|
||||
enum class EFieldScalarType : uint8
|
||||
{
|
||||
Scalar_ExternalClusterStrain = 0,
|
||||
Scalar_Kill = 1,
|
||||
Scalar_DisableThreshold = 2,
|
||||
Scalar_SleepingThreshold = 3,
|
||||
Scalar_InternalClusterStrain = 4,
|
||||
Scalar_DynamicConstraint = 5,
|
||||
Scalar_TargetMax = 6,
|
||||
Scalar_MAX = 7,
|
||||
};
|
||||
|
||||
// Enum Chaos.EFieldVectorType
|
||||
// NumValues: 0x0007
|
||||
enum class EFieldVectorType : uint8
|
||||
{
|
||||
Vector_LinearForce = 0,
|
||||
Vector_LinearVelocity = 1,
|
||||
Vector_AngularVelocity = 2,
|
||||
Vector_AngularTorque = 3,
|
||||
Vector_PositionTarget = 4,
|
||||
Vector_TargetMax = 5,
|
||||
Vector_MAX = 6,
|
||||
};
|
||||
|
||||
// Enum Chaos.EFieldPhysicsType
|
||||
// NumValues: 0x0012
|
||||
enum class EFieldPhysicsType : uint8
|
||||
{
|
||||
Field_None = 0,
|
||||
Field_DynamicState = 1,
|
||||
Field_LinearForce = 2,
|
||||
Field_ExternalClusterStrain = 3,
|
||||
Field_Kill = 4,
|
||||
Field_LinearVelocity = 5,
|
||||
Field_AngularVelociy = 6,
|
||||
Field_AngularTorque = 7,
|
||||
Field_InternalClusterStrain = 8,
|
||||
Field_DisableThreshold = 9,
|
||||
Field_SleepingThreshold = 10,
|
||||
Field_PositionStatic = 11,
|
||||
Field_PositionAnimated = 12,
|
||||
Field_PositionTarget = 13,
|
||||
Field_DynamicConstraint = 14,
|
||||
Field_CollisionGroup = 15,
|
||||
Field_ActivateDisabled = 16,
|
||||
Field_PhysicsType_Max = 17,
|
||||
};
|
||||
|
||||
// Enum Chaos.EFieldFalloffType
|
||||
// NumValues: 0x0006
|
||||
enum class EFieldFalloffType : uint8
|
||||
{
|
||||
Field_FallOff_None = 0,
|
||||
Field_Falloff_Linear = 1,
|
||||
Field_Falloff_Inverse = 2,
|
||||
Field_Falloff_Squared = 3,
|
||||
Field_Falloff_Logarithmic = 4,
|
||||
Field_Falloff_Max = 5,
|
||||
};
|
||||
|
||||
// Enum Chaos.EFieldFilterType
|
||||
// NumValues: 0x0005
|
||||
enum class EFieldFilterType : uint8
|
||||
{
|
||||
Field_Filter_Dynamic = 0,
|
||||
Field_Filter_Kinematic = 1,
|
||||
Field_Filter_Static = 2,
|
||||
Field_Filter_All = 3,
|
||||
Field_Filter_Max = 4,
|
||||
};
|
||||
|
||||
// Enum Chaos.EFieldResolutionType
|
||||
// NumValues: 0x0004
|
||||
enum class EFieldResolutionType : uint8
|
||||
{
|
||||
Field_Resolution_Minimal = 0,
|
||||
Field_Resolution_DisabledParents = 1,
|
||||
Field_Resolution_Maximum = 2,
|
||||
Field_Resolution_Max = 3,
|
||||
};
|
||||
|
||||
// Enum Chaos.EFieldCullingOperationType
|
||||
// NumValues: 0x0004
|
||||
enum class EFieldCullingOperationType : uint8
|
||||
{
|
||||
Field_Culling_Inside = 0,
|
||||
Field_Culling_Outside = 1,
|
||||
Field_Culling_Operation_Max = 2,
|
||||
Field_Culling_MAX = 3,
|
||||
};
|
||||
|
||||
// Enum Chaos.EFieldOperationType
|
||||
// NumValues: 0x0005
|
||||
enum class EFieldOperationType : uint8
|
||||
{
|
||||
Field_Multiply = 0,
|
||||
Field_Divide = 1,
|
||||
Field_Add = 2,
|
||||
Field_Substract = 3,
|
||||
Field_Operation_Max = 4,
|
||||
};
|
||||
|
||||
// Enum Chaos.EWaveFunctionType
|
||||
// NumValues: 0x0005
|
||||
enum class EWaveFunctionType : uint8
|
||||
{
|
||||
Field_Wave_Cosine = 0,
|
||||
Field_Wave_Gaussian = 1,
|
||||
Field_Wave_Falloff = 2,
|
||||
Field_Wave_Decay = 3,
|
||||
Field_Wave_Max = 4,
|
||||
};
|
||||
|
||||
// Enum Chaos.ESetMaskConditionType
|
||||
// NumValues: 0x0004
|
||||
enum class ESetMaskConditionType : uint8
|
||||
{
|
||||
Field_Set_Always = 0,
|
||||
Field_Set_IFF_NOT_Interior = 1,
|
||||
Field_Set_IFF_NOT_Exterior = 2,
|
||||
Field_MaskCondition_Max = 3,
|
||||
};
|
||||
|
||||
// Enum Chaos.EEmissionPatternTypeEnum
|
||||
// NumValues: 0x0003
|
||||
enum class EEmissionPatternTypeEnum : uint8
|
||||
{
|
||||
Chaos_Emission_Pattern_First_Frame = 0,
|
||||
Chaos_Emission_Pattern_On_Demand = 1,
|
||||
Chaos_Max = 2,
|
||||
};
|
||||
|
||||
// Enum Chaos.EInitialVelocityTypeEnum
|
||||
// NumValues: 0x0003
|
||||
enum class EInitialVelocityTypeEnum : uint8
|
||||
{
|
||||
Chaos_Initial_Velocity_User_Defined = 0,
|
||||
Chaos_Initial_Velocity_None = 1,
|
||||
Chaos_Max = 2,
|
||||
};
|
||||
|
||||
// Enum Chaos.EGeometryCollectionPhysicsTypeEnum
|
||||
// NumValues: 0x000B
|
||||
enum class EGeometryCollectionPhysicsTypeEnum : uint8
|
||||
{
|
||||
Chaos_AngularVelocity = 0,
|
||||
Chaos_DynamicState = 1,
|
||||
Chaos_LinearVelocity = 2,
|
||||
Chaos_InitialAngularVelocity = 3,
|
||||
Chaos_InitialLinearVelocity = 4,
|
||||
Chaos_CollisionGroup = 5,
|
||||
Chaos_LinearForce = 6,
|
||||
Chaos_AngularTorque = 7,
|
||||
Chaos_ExternalClusterStrain = 8,
|
||||
Chaos_InternalClusterStrain = 9,
|
||||
Chaos_Max = 10,
|
||||
};
|
||||
|
||||
// Enum Chaos.EObjectStateTypeEnum
|
||||
// NumValues: 0x0007
|
||||
enum class EObjectStateTypeEnum : uint8
|
||||
{
|
||||
Chaos_NONE = 0,
|
||||
Chaos_Object_Sleeping = 1,
|
||||
Chaos_Object_Kinematic = 2,
|
||||
Chaos_Object_Static = 3,
|
||||
Chaos_Object_Dynamic = 4,
|
||||
Chaos_Object_UserDefined = 100,
|
||||
Chaos_Max = 101,
|
||||
};
|
||||
|
||||
// Enum Chaos.EImplicitTypeEnum
|
||||
// NumValues: 0x0007
|
||||
enum class EImplicitTypeEnum : uint8
|
||||
{
|
||||
Chaos_Implicit_Box = 0,
|
||||
Chaos_Implicit_Sphere = 1,
|
||||
Chaos_Implicit_Capsule = 2,
|
||||
Chaos_Implicit_LevelSet = 3,
|
||||
Chaos_Implicit_None = 4,
|
||||
Chaos_Implicit_Convex = 5,
|
||||
Chaos_Max = 6,
|
||||
};
|
||||
|
||||
// Enum Chaos.ECollisionTypeEnum
|
||||
// NumValues: 0x0003
|
||||
enum class ECollisionTypeEnum : uint8
|
||||
{
|
||||
Chaos_Volumetric = 0,
|
||||
Chaos_Surface_Volumetric = 1,
|
||||
Chaos_Max = 2,
|
||||
};
|
||||
|
||||
// Enum Chaos.EChaosBufferMode
|
||||
// NumValues: 0x0005
|
||||
enum class EChaosBufferMode : uint8
|
||||
{
|
||||
Double = 0,
|
||||
Triple = 1,
|
||||
Num = 2,
|
||||
Invalid = 3,
|
||||
EChaosBufferMode_MAX = 4,
|
||||
};
|
||||
|
||||
// Enum Chaos.EChaosThreadingMode
|
||||
// NumValues: 0x0006
|
||||
enum class EChaosThreadingMode : uint8
|
||||
{
|
||||
DedicatedThread = 0,
|
||||
TaskGraph = 1,
|
||||
SingleThread = 2,
|
||||
Num = 3,
|
||||
Invalid = 4,
|
||||
EChaosThreadingMode_MAX = 5,
|
||||
};
|
||||
|
||||
// Enum Chaos.EChaosSolverTickMode
|
||||
// NumValues: 0x0005
|
||||
enum class EChaosSolverTickMode : uint8
|
||||
{
|
||||
Fixed = 0,
|
||||
Variable = 1,
|
||||
VariableCapped = 2,
|
||||
VariableCappedWithTarget = 3,
|
||||
EChaosSolverTickMode_MAX = 4,
|
||||
};
|
||||
|
||||
// Enum Chaos.EGeometryCollectionCacheType
|
||||
// NumValues: 0x0005
|
||||
enum class EGeometryCollectionCacheType : uint8
|
||||
{
|
||||
None = 0,
|
||||
Record = 1,
|
||||
Play = 2,
|
||||
RecordAndPlay = 3,
|
||||
EGeometryCollectionCacheType_MAX = 4,
|
||||
};
|
||||
|
||||
// ScriptStruct Chaos.SolverCollisionFilterSettings
|
||||
// 0x0010 (0x0010 - 0x0000)
|
||||
struct FSolverCollisionFilterSettings final
|
||||
{
|
||||
public:
|
||||
bool FilterEnabled; // 0x0000(0x0001)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
|
||||
uint8 Pad_1[0x3]; // 0x0001(0x0003)(Fixing Size After Last Property [ Dumper-7 ])
|
||||
float MinMass; // 0x0004(0x0004)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
|
||||
float MinSpeed; // 0x0008(0x0004)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
|
||||
float MinImpulse; // 0x000C(0x0004)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
|
||||
};
|
||||
DUMPER7_ASSERTS_FSolverCollisionFilterSettings;
|
||||
|
||||
// ScriptStruct Chaos.SolverBreakingFilterSettings
|
||||
// 0x0010 (0x0010 - 0x0000)
|
||||
struct FSolverBreakingFilterSettings final
|
||||
{
|
||||
public:
|
||||
bool FilterEnabled; // 0x0000(0x0001)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
|
||||
uint8 Pad_1[0x3]; // 0x0001(0x0003)(Fixing Size After Last Property [ Dumper-7 ])
|
||||
float MinMass; // 0x0004(0x0004)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
|
||||
float MinSpeed; // 0x0008(0x0004)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
|
||||
float MinVolume; // 0x000C(0x0004)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
|
||||
};
|
||||
DUMPER7_ASSERTS_FSolverBreakingFilterSettings;
|
||||
|
||||
// ScriptStruct Chaos.SolverTrailingFilterSettings
|
||||
// 0x0010 (0x0010 - 0x0000)
|
||||
struct FSolverTrailingFilterSettings final
|
||||
{
|
||||
public:
|
||||
bool FilterEnabled; // 0x0000(0x0001)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
|
||||
uint8 Pad_1[0x3]; // 0x0001(0x0003)(Fixing Size After Last Property [ Dumper-7 ])
|
||||
float MinMass; // 0x0004(0x0004)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
|
||||
float MinSpeed; // 0x0008(0x0004)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
|
||||
float MinVolume; // 0x000C(0x0004)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
|
||||
};
|
||||
DUMPER7_ASSERTS_FSolverTrailingFilterSettings;
|
||||
|
||||
// ScriptStruct Chaos.ChaosSolverConfiguration
|
||||
// 0x006C (0x006C - 0x0000)
|
||||
struct FChaosSolverConfiguration final
|
||||
{
|
||||
public:
|
||||
int32 Iterations; // 0x0000(0x0004)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
|
||||
int32 CollisionPairIterations; // 0x0004(0x0004)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
|
||||
int32 PushOutIterations; // 0x0008(0x0004)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
|
||||
int32 CollisionPushOutPairIterations; // 0x000C(0x0004)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
|
||||
float CollisionMarginFraction; // 0x0010(0x0004)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
|
||||
float CollisionMarginMax; // 0x0014(0x0004)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
|
||||
float CollisionCullDistance; // 0x0018(0x0004)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
|
||||
float CollisionMaxPushOutVelocity; // 0x001C(0x0004)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
|
||||
int32 JointPairIterations; // 0x0020(0x0004)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
|
||||
int32 JointPushOutPairIterations; // 0x0024(0x0004)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
|
||||
float ClusterConnectionFactor; // 0x0028(0x0004)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
|
||||
EClusterUnionMethod ClusterUnionConnectionType; // 0x002C(0x0001)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
|
||||
bool bGenerateCollisionData; // 0x002D(0x0001)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
|
||||
uint8 Pad_2E[0x2]; // 0x002E(0x0002)(Fixing Size After Last Property [ Dumper-7 ])
|
||||
struct FSolverCollisionFilterSettings CollisionFilterSettings; // 0x0030(0x0010)(Edit, NoDestructor, NativeAccessSpecifierPublic)
|
||||
bool bGenerateBreakData; // 0x0040(0x0001)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
|
||||
uint8 Pad_41[0x3]; // 0x0041(0x0003)(Fixing Size After Last Property [ Dumper-7 ])
|
||||
struct FSolverBreakingFilterSettings BreakingFilterSettings; // 0x0044(0x0010)(Edit, NoDestructor, NativeAccessSpecifierPublic)
|
||||
bool bGenerateTrailingData; // 0x0054(0x0001)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
|
||||
uint8 Pad_55[0x3]; // 0x0055(0x0003)(Fixing Size After Last Property [ Dumper-7 ])
|
||||
struct FSolverTrailingFilterSettings TrailingFilterSettings; // 0x0058(0x0010)(Edit, NoDestructor, NativeAccessSpecifierPublic)
|
||||
bool bGenerateContactGraph; // 0x0068(0x0001)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
|
||||
uint8 Pad_69[0x3]; // 0x0069(0x0003)(Fixing Struct Size After Last Property [ Dumper-7 ])
|
||||
};
|
||||
DUMPER7_ASSERTS_FChaosSolverConfiguration;
|
||||
|
||||
// ScriptStruct Chaos.SolverCollisionData
|
||||
// 0x006C (0x006C - 0x0000)
|
||||
struct FSolverCollisionData final
|
||||
{
|
||||
public:
|
||||
struct FVector Location; // 0x0000(0x000C)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
|
||||
struct FVector AccumulatedImpulse; // 0x000C(0x000C)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
|
||||
struct FVector Normal; // 0x0018(0x000C)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
|
||||
struct FVector Velocity1; // 0x0024(0x000C)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
|
||||
struct FVector Velocity2; // 0x0030(0x000C)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
|
||||
struct FVector AngularVelocity1; // 0x003C(0x000C)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
|
||||
struct FVector AngularVelocity2; // 0x0048(0x000C)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
|
||||
float Mass1; // 0x0054(0x0004)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
|
||||
float Mass2; // 0x0058(0x0004)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
|
||||
int32 ParticleIndex; // 0x005C(0x0004)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
|
||||
int32 LevelsetIndex; // 0x0060(0x0004)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
|
||||
int32 ParticleIndexMesh; // 0x0064(0x0004)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
|
||||
int32 LevelsetIndexMesh; // 0x0068(0x0004)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
|
||||
};
|
||||
DUMPER7_ASSERTS_FSolverCollisionData;
|
||||
|
||||
// ScriptStruct Chaos.SolverBreakingData
|
||||
// 0x0030 (0x0030 - 0x0000)
|
||||
struct FSolverBreakingData final
|
||||
{
|
||||
public:
|
||||
struct FVector Location; // 0x0000(0x000C)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
|
||||
struct FVector Velocity; // 0x000C(0x000C)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
|
||||
struct FVector AngularVelocity; // 0x0018(0x000C)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
|
||||
float Mass; // 0x0024(0x0004)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
|
||||
int32 ParticleIndex; // 0x0028(0x0004)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
|
||||
int32 ParticleIndexMesh; // 0x002C(0x0004)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
|
||||
};
|
||||
DUMPER7_ASSERTS_FSolverBreakingData;
|
||||
|
||||
// ScriptStruct Chaos.SolverTrailingData
|
||||
// 0x0030 (0x0030 - 0x0000)
|
||||
struct FSolverTrailingData final
|
||||
{
|
||||
public:
|
||||
struct FVector Location; // 0x0000(0x000C)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
|
||||
struct FVector Velocity; // 0x000C(0x000C)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
|
||||
struct FVector AngularVelocity; // 0x0018(0x000C)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
|
||||
float Mass; // 0x0024(0x0004)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
|
||||
int32 ParticleIndex; // 0x0028(0x0004)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
|
||||
int32 ParticleIndexMesh; // 0x002C(0x0004)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
|
||||
};
|
||||
DUMPER7_ASSERTS_FSolverTrailingData;
|
||||
|
||||
// ScriptStruct Chaos.RecordedFrame
|
||||
// 0x00B8 (0x00B8 - 0x0000)
|
||||
struct FRecordedFrame final
|
||||
{
|
||||
public:
|
||||
TArray<struct FTransform> Transforms; // 0x0000(0x0010)(ZeroConstructor, NativeAccessSpecifierPublic)
|
||||
TArray<int32> TransformIndices; // 0x0010(0x0010)(ZeroConstructor, NativeAccessSpecifierPublic)
|
||||
TArray<int32> PreviousTransformIndices; // 0x0020(0x0010)(ZeroConstructor, NativeAccessSpecifierPublic)
|
||||
TArray<bool> DisabledFlags; // 0x0030(0x0010)(ZeroConstructor, NativeAccessSpecifierPublic)
|
||||
TArray<struct FSolverCollisionData> Collisions; // 0x0040(0x0010)(ZeroConstructor, NativeAccessSpecifierPublic)
|
||||
TArray<struct FSolverBreakingData> Breakings; // 0x0050(0x0010)(ZeroConstructor, NativeAccessSpecifierPublic)
|
||||
TSet<struct FSolverTrailingData> Trailings; // 0x0060(0x0050)(NativeAccessSpecifierPublic)
|
||||
float Timestamp; // 0x00B0(0x0004)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
|
||||
uint8 Pad_B4[0x4]; // 0x00B4(0x0004)(Fixing Struct Size After Last Property [ Dumper-7 ])
|
||||
};
|
||||
DUMPER7_ASSERTS_FRecordedFrame;
|
||||
|
||||
// ScriptStruct Chaos.RecordedTransformTrack
|
||||
// 0x0010 (0x0010 - 0x0000)
|
||||
struct FRecordedTransformTrack final
|
||||
{
|
||||
public:
|
||||
TArray<struct FRecordedFrame> Records; // 0x0000(0x0010)(ZeroConstructor, NativeAccessSpecifierPublic)
|
||||
};
|
||||
DUMPER7_ASSERTS_FRecordedTransformTrack;
|
||||
|
||||
// ScriptStruct Chaos.SolverRemovalFilterSettings
|
||||
// 0x000C (0x000C - 0x0000)
|
||||
struct FSolverRemovalFilterSettings final
|
||||
{
|
||||
public:
|
||||
bool FilterEnabled; // 0x0000(0x0001)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
|
||||
uint8 Pad_1[0x3]; // 0x0001(0x0003)(Fixing Size After Last Property [ Dumper-7 ])
|
||||
float MinMass; // 0x0004(0x0004)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
|
||||
float MinVolume; // 0x0008(0x0004)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
|
||||
};
|
||||
DUMPER7_ASSERTS_FSolverRemovalFilterSettings;
|
||||
|
||||
}
|
||||
|
||||
1302
SleepAwake/SDK/CoreUObject_classes.hpp
Normal file
1302
SleepAwake/SDK/CoreUObject_classes.hpp
Normal file
File diff suppressed because it is too large
Load Diff
217
SleepAwake/SDK/CoreUObject_functions.cpp
Normal file
217
SleepAwake/SDK/CoreUObject_functions.cpp
Normal file
@@ -0,0 +1,217 @@
|
||||
#pragma once
|
||||
|
||||
/*
|
||||
* SDK generated by Dumper-7
|
||||
*
|
||||
* https://github.com/Encryqed/Dumper-7
|
||||
*/
|
||||
|
||||
// Package: CoreUObject
|
||||
|
||||
#include "Basic.hpp"
|
||||
|
||||
#include "CoreUObject_classes.hpp"
|
||||
#include "CoreUObject_parameters.hpp"
|
||||
|
||||
|
||||
namespace SDK
|
||||
{
|
||||
|
||||
// Predefined Function
|
||||
// Finds a UObject in the global object array by name, optionally with ECastFlags to reduce heavy string comparison
|
||||
|
||||
class UObject* UObject::FindObjectFastImpl(const std::string& Name, EClassCastFlags RequiredType)
|
||||
{
|
||||
for (int i = 0; i < GObjects->Num(); ++i)
|
||||
{
|
||||
UObject* Object = GObjects->GetByIndex(i);
|
||||
|
||||
if (!Object)
|
||||
continue;
|
||||
|
||||
if (Object->HasTypeFlag(RequiredType) && Object->GetName() == Name)
|
||||
return Object;
|
||||
}
|
||||
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
|
||||
// Predefined Function
|
||||
// Finds a UObject in the global object array by full-name, optionally with ECastFlags to reduce heavy string comparison
|
||||
|
||||
class UObject* UObject::FindObjectImpl(const std::string& FullName, EClassCastFlags RequiredType)
|
||||
{
|
||||
for (int i = 0; i < GObjects->Num(); ++i)
|
||||
{
|
||||
UObject* Object = GObjects->GetByIndex(i);
|
||||
|
||||
if (!Object)
|
||||
continue;
|
||||
|
||||
if (Object->HasTypeFlag(RequiredType) && Object->GetFullName() == FullName)
|
||||
return Object;
|
||||
}
|
||||
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
|
||||
// Predefined Function
|
||||
// Returns the name of this object in the format 'Class Package.Outer.Object'
|
||||
|
||||
std::string UObject::GetFullName() const
|
||||
{
|
||||
if (this && Class)
|
||||
{
|
||||
std::string Temp;
|
||||
|
||||
for (UObject* NextOuter = Outer; NextOuter; NextOuter = NextOuter->Outer)
|
||||
{
|
||||
Temp = NextOuter->GetName() + "." + Temp;
|
||||
}
|
||||
|
||||
std::string Name = Class->GetName();
|
||||
Name += " ";
|
||||
Name += Temp;
|
||||
Name += GetName();
|
||||
|
||||
return Name;
|
||||
}
|
||||
|
||||
return "None";
|
||||
}
|
||||
|
||||
|
||||
// Predefined Function
|
||||
// Retuns the name of this object
|
||||
|
||||
std::string UObject::GetName() const
|
||||
{
|
||||
return this ? Name.ToString() : "None";
|
||||
}
|
||||
|
||||
|
||||
// Predefined Function
|
||||
// Checks Class->FunctionFlags for TypeFlags
|
||||
|
||||
bool UObject::HasTypeFlag(EClassCastFlags TypeFlags) const
|
||||
{
|
||||
return (Class->CastFlags & TypeFlags);
|
||||
}
|
||||
|
||||
|
||||
// Predefined Function
|
||||
// Checks a UObjects' type by TypeFlags
|
||||
|
||||
bool UObject::IsA(EClassCastFlags TypeFlags) const
|
||||
{
|
||||
return (Class->CastFlags & TypeFlags);
|
||||
}
|
||||
|
||||
|
||||
// Predefined Function
|
||||
// Checks a UObjects' type by Class name
|
||||
|
||||
bool UObject::IsA(const class FName& ClassName) const
|
||||
{
|
||||
return Class->IsSubclassOf(ClassName);
|
||||
}
|
||||
|
||||
|
||||
// Predefined Function
|
||||
// Checks a UObjects' type by Class
|
||||
|
||||
bool UObject::IsA(const class UClass* TypeClass) const
|
||||
{
|
||||
return Class->IsSubclassOf(TypeClass);
|
||||
}
|
||||
|
||||
|
||||
// Predefined Function
|
||||
// Checks whether this object is a classes' default-object
|
||||
|
||||
bool UObject::IsDefaultObject() const
|
||||
{
|
||||
return (Flags & EObjectFlags::ClassDefaultObject);
|
||||
}
|
||||
|
||||
|
||||
// Function CoreUObject.Object.ExecuteUbergraph
|
||||
// (Event, Public, BlueprintEvent)
|
||||
// Parameters:
|
||||
// int32 EntryPoint (Parm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
|
||||
|
||||
void UObject::ExecuteUbergraph(int32 EntryPoint)
|
||||
{
|
||||
static class UFunction* Func = nullptr;
|
||||
|
||||
if (Func == nullptr)
|
||||
Func = Class->GetFunction("Object", "ExecuteUbergraph");
|
||||
|
||||
Params::Object_ExecuteUbergraph Parms{};
|
||||
|
||||
Parms.EntryPoint = EntryPoint;
|
||||
|
||||
UObject::ProcessEvent(Func, &Parms);
|
||||
}
|
||||
|
||||
|
||||
// Predefined Function
|
||||
// Checks if this class has a certain base
|
||||
|
||||
bool UStruct::IsSubclassOf(const UStruct* Base) const
|
||||
{
|
||||
if (!Base)
|
||||
return false;
|
||||
|
||||
for (const UStruct* Struct = this; Struct; Struct = Struct->Super)
|
||||
{
|
||||
if (Struct == Base)
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
// Predefined Function
|
||||
// Checks if this class has a certain base
|
||||
|
||||
bool UStruct::IsSubclassOf(const FName& baseClassName) const
|
||||
{
|
||||
if (baseClassName.IsNone())
|
||||
return false;
|
||||
|
||||
for (const UStruct* Struct = this; Struct; Struct = Struct->Super)
|
||||
{
|
||||
if (Struct->Name == baseClassName)
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
// Predefined Function
|
||||
// Gets a UFunction from this UClasses' 'Children' list
|
||||
|
||||
class UFunction* UClass::GetFunction(const char* ClassName, const char* FuncName) const
|
||||
{
|
||||
for(const UStruct* Clss = this; Clss; Clss = Clss->Super)
|
||||
{
|
||||
if (Clss->GetName() != ClassName)
|
||||
continue;
|
||||
|
||||
for (UField* Field = Clss->Children; Field; Field = Field->Next)
|
||||
{
|
||||
if(Field->HasTypeFlag(EClassCastFlags::Function) && Field->GetName() == FuncName)
|
||||
return static_cast<class UFunction*>(Field);
|
||||
}
|
||||
}
|
||||
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
27
SleepAwake/SDK/CoreUObject_parameters.hpp
Normal file
27
SleepAwake/SDK/CoreUObject_parameters.hpp
Normal file
@@ -0,0 +1,27 @@
|
||||
#pragma once
|
||||
|
||||
/*
|
||||
* SDK generated by Dumper-7
|
||||
*
|
||||
* https://github.com/Encryqed/Dumper-7
|
||||
*/
|
||||
|
||||
// Package: CoreUObject
|
||||
|
||||
#include "Basic.hpp"
|
||||
|
||||
|
||||
namespace SDK::Params
|
||||
{
|
||||
|
||||
// Function CoreUObject.Object.ExecuteUbergraph
|
||||
// 0x0004 (0x0004 - 0x0000)
|
||||
struct Object_ExecuteUbergraph final
|
||||
{
|
||||
public:
|
||||
int32 EntryPoint; // 0x0000(0x0004)(Parm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
|
||||
};
|
||||
DUMPER7_ASSERTS_Object_ExecuteUbergraph;
|
||||
|
||||
}
|
||||
|
||||
1503
SleepAwake/SDK/CoreUObject_structs.hpp
Normal file
1503
SleepAwake/SDK/CoreUObject_structs.hpp
Normal file
File diff suppressed because it is too large
Load Diff
91
SleepAwake/SDK/DeveloperSettings_classes.hpp
Normal file
91
SleepAwake/SDK/DeveloperSettings_classes.hpp
Normal file
@@ -0,0 +1,91 @@
|
||||
#pragma once
|
||||
|
||||
/*
|
||||
* SDK generated by Dumper-7
|
||||
*
|
||||
* https://github.com/Encryqed/Dumper-7
|
||||
*/
|
||||
|
||||
// Package: DeveloperSettings
|
||||
|
||||
#include "Basic.hpp"
|
||||
|
||||
#include "CoreUObject_classes.hpp"
|
||||
#include "DeveloperSettings_structs.hpp"
|
||||
|
||||
|
||||
namespace SDK
|
||||
{
|
||||
|
||||
// Class DeveloperSettings.DeveloperSettings
|
||||
// 0x0010 (0x0038 - 0x0028)
|
||||
class UDeveloperSettings : public UObject
|
||||
{
|
||||
public:
|
||||
uint8 Pad_28[0x10]; // 0x0028(0x0010)(Fixing Struct Size After Last Property [ Dumper-7 ])
|
||||
|
||||
public:
|
||||
static class UClass* StaticClass()
|
||||
{
|
||||
STATIC_CLASS_IMPL("DeveloperSettings")
|
||||
}
|
||||
static const class FName& StaticName()
|
||||
{
|
||||
STATIC_NAME_IMPL(L"DeveloperSettings")
|
||||
}
|
||||
static class UDeveloperSettings* GetDefaultObj()
|
||||
{
|
||||
return GetDefaultObjImpl<UDeveloperSettings>();
|
||||
}
|
||||
};
|
||||
DUMPER7_ASSERTS_UDeveloperSettings;
|
||||
|
||||
// Class DeveloperSettings.PlatformSettings
|
||||
// 0x0018 (0x0040 - 0x0028)
|
||||
class UPlatformSettings : public UObject
|
||||
{
|
||||
public:
|
||||
uint8 Pad_28[0x18]; // 0x0028(0x0018)(Fixing Struct Size After Last Property [ Dumper-7 ])
|
||||
|
||||
public:
|
||||
static class UClass* StaticClass()
|
||||
{
|
||||
STATIC_CLASS_IMPL("PlatformSettings")
|
||||
}
|
||||
static const class FName& StaticName()
|
||||
{
|
||||
STATIC_NAME_IMPL(L"PlatformSettings")
|
||||
}
|
||||
static class UPlatformSettings* GetDefaultObj()
|
||||
{
|
||||
return GetDefaultObjImpl<UPlatformSettings>();
|
||||
}
|
||||
};
|
||||
DUMPER7_ASSERTS_UPlatformSettings;
|
||||
|
||||
// Class DeveloperSettings.PlatformSettingsManager
|
||||
// 0x0058 (0x0080 - 0x0028)
|
||||
class UPlatformSettingsManager final : public UObject
|
||||
{
|
||||
public:
|
||||
TMap<TSubclassOf<class UPlatformSettings>, struct FPlatformSettingsInstances> SettingsMap; // 0x0028(0x0050)(Transient, NativeAccessSpecifierPrivate)
|
||||
uint8 Pad_78[0x8]; // 0x0078(0x0008)(Fixing Struct Size After Last Property [ Dumper-7 ])
|
||||
|
||||
public:
|
||||
static class UClass* StaticClass()
|
||||
{
|
||||
STATIC_CLASS_IMPL("PlatformSettingsManager")
|
||||
}
|
||||
static const class FName& StaticName()
|
||||
{
|
||||
STATIC_NAME_IMPL(L"PlatformSettingsManager")
|
||||
}
|
||||
static class UPlatformSettingsManager* GetDefaultObj()
|
||||
{
|
||||
return GetDefaultObjImpl<UPlatformSettingsManager>();
|
||||
}
|
||||
};
|
||||
DUMPER7_ASSERTS_UPlatformSettingsManager;
|
||||
|
||||
}
|
||||
|
||||
37
SleepAwake/SDK/DeveloperSettings_structs.hpp
Normal file
37
SleepAwake/SDK/DeveloperSettings_structs.hpp
Normal file
@@ -0,0 +1,37 @@
|
||||
#pragma once
|
||||
|
||||
/*
|
||||
* SDK generated by Dumper-7
|
||||
*
|
||||
* https://github.com/Encryqed/Dumper-7
|
||||
*/
|
||||
|
||||
// Package: DeveloperSettings
|
||||
|
||||
#include "Basic.hpp"
|
||||
|
||||
|
||||
namespace SDK
|
||||
{
|
||||
|
||||
// ScriptStruct DeveloperSettings.PerPlatformSettings
|
||||
// 0x0010 (0x0010 - 0x0000)
|
||||
struct FPerPlatformSettings final
|
||||
{
|
||||
public:
|
||||
TArray<class UPlatformSettings*> Settings; // 0x0000(0x0010)(Edit, ExportObject, EditFixedSize, ZeroConstructor, Transient, ContainsInstancedReference, NativeAccessSpecifierPrivate)
|
||||
};
|
||||
DUMPER7_ASSERTS_FPerPlatformSettings;
|
||||
|
||||
// ScriptStruct DeveloperSettings.PlatformSettingsInstances
|
||||
// 0x0058 (0x0058 - 0x0000)
|
||||
struct FPlatformSettingsInstances final
|
||||
{
|
||||
public:
|
||||
class UPlatformSettings* PlatformInstance; // 0x0000(0x0008)(ZeroConstructor, Transient, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
|
||||
TMap<class FName, class UPlatformSettings*> OtherPlatforms; // 0x0008(0x0050)(Transient, NativeAccessSpecifierPublic)
|
||||
};
|
||||
DUMPER7_ASSERTS_FPlatformSettingsInstances;
|
||||
|
||||
}
|
||||
|
||||
32568
SleepAwake/SDK/Engine_classes.hpp
Normal file
32568
SleepAwake/SDK/Engine_classes.hpp
Normal file
File diff suppressed because it is too large
Load Diff
100796
SleepAwake/SDK/Engine_functions.cpp
Normal file
100796
SleepAwake/SDK/Engine_functions.cpp
Normal file
File diff suppressed because it is too large
Load Diff
36561
SleepAwake/SDK/Engine_parameters.hpp
Normal file
36561
SleepAwake/SDK/Engine_parameters.hpp
Normal file
File diff suppressed because it is too large
Load Diff
14745
SleepAwake/SDK/Engine_structs.hpp
Normal file
14745
SleepAwake/SDK/Engine_structs.hpp
Normal file
File diff suppressed because it is too large
Load Diff
40
SleepAwake/SDK/InputCore_classes.hpp
Normal file
40
SleepAwake/SDK/InputCore_classes.hpp
Normal file
@@ -0,0 +1,40 @@
|
||||
#pragma once
|
||||
|
||||
/*
|
||||
* SDK generated by Dumper-7
|
||||
*
|
||||
* https://github.com/Encryqed/Dumper-7
|
||||
*/
|
||||
|
||||
// Package: InputCore
|
||||
|
||||
#include "Basic.hpp"
|
||||
|
||||
#include "CoreUObject_classes.hpp"
|
||||
|
||||
|
||||
namespace SDK
|
||||
{
|
||||
|
||||
// Class InputCore.InputCoreTypes
|
||||
// 0x0000 (0x0028 - 0x0028)
|
||||
class UInputCoreTypes final : public UObject
|
||||
{
|
||||
public:
|
||||
static class UClass* StaticClass()
|
||||
{
|
||||
STATIC_CLASS_IMPL("InputCoreTypes")
|
||||
}
|
||||
static const class FName& StaticName()
|
||||
{
|
||||
STATIC_NAME_IMPL(L"InputCoreTypes")
|
||||
}
|
||||
static class UInputCoreTypes* GetDefaultObj()
|
||||
{
|
||||
return GetDefaultObjImpl<UInputCoreTypes>();
|
||||
}
|
||||
};
|
||||
DUMPER7_ASSERTS_UInputCoreTypes;
|
||||
|
||||
}
|
||||
|
||||
97
SleepAwake/SDK/InputCore_structs.hpp
Normal file
97
SleepAwake/SDK/InputCore_structs.hpp
Normal file
@@ -0,0 +1,97 @@
|
||||
#pragma once
|
||||
|
||||
/*
|
||||
* SDK generated by Dumper-7
|
||||
*
|
||||
* https://github.com/Encryqed/Dumper-7
|
||||
*/
|
||||
|
||||
// Package: InputCore
|
||||
|
||||
#include "Basic.hpp"
|
||||
|
||||
|
||||
namespace SDK
|
||||
{
|
||||
|
||||
// Enum InputCore.ETouchIndex
|
||||
// NumValues: 0x000D
|
||||
enum class ETouchIndex : uint8
|
||||
{
|
||||
Touch1 = 0,
|
||||
Touch2 = 1,
|
||||
Touch3 = 2,
|
||||
Touch4 = 3,
|
||||
Touch5 = 4,
|
||||
Touch6 = 5,
|
||||
Touch7 = 6,
|
||||
Touch8 = 7,
|
||||
Touch9 = 8,
|
||||
Touch10 = 9,
|
||||
CursorPointerIndex = 10,
|
||||
MAX_TOUCHES = 11,
|
||||
ETouchIndex_MAX = 12,
|
||||
};
|
||||
|
||||
// Enum InputCore.ETouchType
|
||||
// NumValues: 0x0008
|
||||
enum class ETouchType : uint8
|
||||
{
|
||||
Began = 0,
|
||||
Moved = 1,
|
||||
Stationary = 2,
|
||||
ForceChanged = 3,
|
||||
FirstMove = 4,
|
||||
Ended = 5,
|
||||
NumTypes = 6,
|
||||
ETouchType_MAX = 7,
|
||||
};
|
||||
|
||||
// Enum InputCore.EConsoleForGamepadLabels
|
||||
// NumValues: 0x0004
|
||||
enum class EConsoleForGamepadLabels : uint8
|
||||
{
|
||||
None = 0,
|
||||
XBoxOne = 1,
|
||||
PS4 = 2,
|
||||
EConsoleForGamepadLabels_MAX = 3,
|
||||
};
|
||||
|
||||
// Enum InputCore.EControllerHand
|
||||
// NumValues: 0x0014
|
||||
enum class EControllerHand : uint8
|
||||
{
|
||||
Left = 0,
|
||||
Right = 1,
|
||||
AnyHand = 2,
|
||||
Pad = 3,
|
||||
ExternalCamera = 4,
|
||||
Gun = 5,
|
||||
HMD = 6,
|
||||
Special_1 = 7,
|
||||
Special_2 = 8,
|
||||
Special_3 = 9,
|
||||
Special_4 = 10,
|
||||
Special_5 = 11,
|
||||
Special_6 = 12,
|
||||
Special_7 = 13,
|
||||
Special_8 = 14,
|
||||
Special_9 = 15,
|
||||
Special_10 = 16,
|
||||
Special_11 = 17,
|
||||
ControllerHand_Count = 18,
|
||||
EControllerHand_MAX = 19,
|
||||
};
|
||||
|
||||
// ScriptStruct InputCore.Key
|
||||
// 0x0018 (0x0018 - 0x0000)
|
||||
struct alignas(0x08) FKey final
|
||||
{
|
||||
public:
|
||||
class FName KeyName; // 0x0000(0x0008)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPrivate)
|
||||
uint8 Pad_8[0x10]; // 0x0008(0x0010)(Fixing Struct Size After Last Property [ Dumper-7 ])
|
||||
};
|
||||
DUMPER7_ASSERTS_FKey;
|
||||
|
||||
}
|
||||
|
||||
63
SleepAwake/SDK/PacketHandler_classes.hpp
Normal file
63
SleepAwake/SDK/PacketHandler_classes.hpp
Normal file
@@ -0,0 +1,63 @@
|
||||
#pragma once
|
||||
|
||||
/*
|
||||
* SDK generated by Dumper-7
|
||||
*
|
||||
* https://github.com/Encryqed/Dumper-7
|
||||
*/
|
||||
|
||||
// Package: PacketHandler
|
||||
|
||||
#include "Basic.hpp"
|
||||
|
||||
#include "CoreUObject_classes.hpp"
|
||||
|
||||
|
||||
namespace SDK
|
||||
{
|
||||
|
||||
// Class PacketHandler.HandlerComponentFactory
|
||||
// 0x0000 (0x0028 - 0x0028)
|
||||
class UHandlerComponentFactory : public UObject
|
||||
{
|
||||
public:
|
||||
static class UClass* StaticClass()
|
||||
{
|
||||
STATIC_CLASS_IMPL("HandlerComponentFactory")
|
||||
}
|
||||
static const class FName& StaticName()
|
||||
{
|
||||
STATIC_NAME_IMPL(L"HandlerComponentFactory")
|
||||
}
|
||||
static class UHandlerComponentFactory* GetDefaultObj()
|
||||
{
|
||||
return GetDefaultObjImpl<UHandlerComponentFactory>();
|
||||
}
|
||||
};
|
||||
DUMPER7_ASSERTS_UHandlerComponentFactory;
|
||||
|
||||
// Class PacketHandler.PacketHandlerProfileConfig
|
||||
// 0x0010 (0x0038 - 0x0028)
|
||||
class UPacketHandlerProfileConfig final : public UObject
|
||||
{
|
||||
public:
|
||||
TArray<class FString> Components; // 0x0028(0x0010)(ZeroConstructor, Config, NativeAccessSpecifierPublic)
|
||||
|
||||
public:
|
||||
static class UClass* StaticClass()
|
||||
{
|
||||
STATIC_CLASS_IMPL("PacketHandlerProfileConfig")
|
||||
}
|
||||
static const class FName& StaticName()
|
||||
{
|
||||
STATIC_NAME_IMPL(L"PacketHandlerProfileConfig")
|
||||
}
|
||||
static class UPacketHandlerProfileConfig* GetDefaultObj()
|
||||
{
|
||||
return GetDefaultObjImpl<UPacketHandlerProfileConfig>();
|
||||
}
|
||||
};
|
||||
DUMPER7_ASSERTS_UPacketHandlerProfileConfig;
|
||||
|
||||
}
|
||||
|
||||
190
SleepAwake/SDK/PhysicsCore_classes.hpp
Normal file
190
SleepAwake/SDK/PhysicsCore_classes.hpp
Normal file
@@ -0,0 +1,190 @@
|
||||
#pragma once
|
||||
|
||||
/*
|
||||
* SDK generated by Dumper-7
|
||||
*
|
||||
* https://github.com/Encryqed/Dumper-7
|
||||
*/
|
||||
|
||||
// Package: PhysicsCore
|
||||
|
||||
#include "Basic.hpp"
|
||||
|
||||
#include "PhysicsCore_structs.hpp"
|
||||
#include "CoreUObject_classes.hpp"
|
||||
#include "DeveloperSettings_classes.hpp"
|
||||
#include "Chaos_structs.hpp"
|
||||
|
||||
|
||||
namespace SDK
|
||||
{
|
||||
|
||||
// Class PhysicsCore.PhysicalMaterialPropertyBase
|
||||
// 0x0000 (0x0028 - 0x0028)
|
||||
class UPhysicalMaterialPropertyBase final : public UObject
|
||||
{
|
||||
public:
|
||||
static class UClass* StaticClass()
|
||||
{
|
||||
STATIC_CLASS_IMPL("PhysicalMaterialPropertyBase")
|
||||
}
|
||||
static const class FName& StaticName()
|
||||
{
|
||||
STATIC_NAME_IMPL(L"PhysicalMaterialPropertyBase")
|
||||
}
|
||||
static class UPhysicalMaterialPropertyBase* GetDefaultObj()
|
||||
{
|
||||
return GetDefaultObjImpl<UPhysicalMaterialPropertyBase>();
|
||||
}
|
||||
};
|
||||
DUMPER7_ASSERTS_UPhysicalMaterialPropertyBase;
|
||||
|
||||
// Class PhysicsCore.PhysicalMaterial
|
||||
// 0x0058 (0x0080 - 0x0028)
|
||||
class UPhysicalMaterial : public UObject
|
||||
{
|
||||
public:
|
||||
float Friction; // 0x0028(0x0004)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
|
||||
float StaticFriction; // 0x002C(0x0004)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
|
||||
EFrictionCombineMode FrictionCombineMode; // 0x0030(0x0001)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
|
||||
bool bOverrideFrictionCombineMode; // 0x0031(0x0001)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
|
||||
uint8 Pad_32[0x2]; // 0x0032(0x0002)(Fixing Size After Last Property [ Dumper-7 ])
|
||||
float Restitution; // 0x0034(0x0004)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
|
||||
EFrictionCombineMode RestitutionCombineMode; // 0x0038(0x0001)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
|
||||
bool bOverrideRestitutionCombineMode; // 0x0039(0x0001)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
|
||||
uint8 Pad_3A[0x2]; // 0x003A(0x0002)(Fixing Size After Last Property [ Dumper-7 ])
|
||||
float Density; // 0x003C(0x0004)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
|
||||
float SleepLinearVelocityThreshold; // 0x0040(0x0004)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
|
||||
float SleepAngularVelocityThreshold; // 0x0044(0x0004)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
|
||||
int32 SleepCounterThreshold; // 0x0048(0x0004)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
|
||||
float RaiseMassToPower; // 0x004C(0x0004)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
|
||||
float DestructibleDamageThresholdScale; // 0x0050(0x0004)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
|
||||
uint8 Pad_54[0x4]; // 0x0054(0x0004)(Fixing Size After Last Property [ Dumper-7 ])
|
||||
class UPhysicalMaterialPropertyBase* PhysicalMaterialProperty; // 0x0058(0x0008)(ZeroConstructor, Deprecated, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
|
||||
EPhysicalSurface SurfaceType; // 0x0060(0x0001)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
|
||||
uint8 Pad_61[0x1F]; // 0x0061(0x001F)(Fixing Struct Size After Last Property [ Dumper-7 ])
|
||||
|
||||
public:
|
||||
static class UClass* StaticClass()
|
||||
{
|
||||
STATIC_CLASS_IMPL("PhysicalMaterial")
|
||||
}
|
||||
static const class FName& StaticName()
|
||||
{
|
||||
STATIC_NAME_IMPL(L"PhysicalMaterial")
|
||||
}
|
||||
static class UPhysicalMaterial* GetDefaultObj()
|
||||
{
|
||||
return GetDefaultObjImpl<UPhysicalMaterial>();
|
||||
}
|
||||
};
|
||||
DUMPER7_ASSERTS_UPhysicalMaterial;
|
||||
|
||||
// Class PhysicsCore.BodySetupCore
|
||||
// 0x0010 (0x0038 - 0x0028)
|
||||
class UBodySetupCore : public UObject
|
||||
{
|
||||
public:
|
||||
class FName BoneName; // 0x0028(0x0008)(Edit, ZeroConstructor, EditConst, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
|
||||
EPhysicsType PhysicsType; // 0x0030(0x0001)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
|
||||
ECollisionTraceFlag CollisionTraceFlag; // 0x0031(0x0001)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
|
||||
EBodyCollisionResponse CollisionReponse; // 0x0032(0x0001)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
|
||||
uint8 Pad_33[0x5]; // 0x0033(0x0005)(Fixing Struct Size After Last Property [ Dumper-7 ])
|
||||
|
||||
public:
|
||||
static class UClass* StaticClass()
|
||||
{
|
||||
STATIC_CLASS_IMPL("BodySetupCore")
|
||||
}
|
||||
static const class FName& StaticName()
|
||||
{
|
||||
STATIC_NAME_IMPL(L"BodySetupCore")
|
||||
}
|
||||
static class UBodySetupCore* GetDefaultObj()
|
||||
{
|
||||
return GetDefaultObjImpl<UBodySetupCore>();
|
||||
}
|
||||
};
|
||||
DUMPER7_ASSERTS_UBodySetupCore;
|
||||
|
||||
// Class PhysicsCore.ChaosPhysicalMaterial
|
||||
// 0x0020 (0x0048 - 0x0028)
|
||||
class UChaosPhysicalMaterial final : public UObject
|
||||
{
|
||||
public:
|
||||
float Friction; // 0x0028(0x0004)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
|
||||
float StaticFriction; // 0x002C(0x0004)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
|
||||
float Restitution; // 0x0030(0x0004)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
|
||||
float LinearEtherDrag; // 0x0034(0x0004)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
|
||||
float AngularEtherDrag; // 0x0038(0x0004)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
|
||||
float SleepingLinearVelocityThreshold; // 0x003C(0x0004)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
|
||||
float SleepingAngularVelocityThreshold; // 0x0040(0x0004)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
|
||||
uint8 Pad_44[0x4]; // 0x0044(0x0004)(Fixing Struct Size After Last Property [ Dumper-7 ])
|
||||
|
||||
public:
|
||||
static class UClass* StaticClass()
|
||||
{
|
||||
STATIC_CLASS_IMPL("ChaosPhysicalMaterial")
|
||||
}
|
||||
static const class FName& StaticName()
|
||||
{
|
||||
STATIC_NAME_IMPL(L"ChaosPhysicalMaterial")
|
||||
}
|
||||
static class UChaosPhysicalMaterial* GetDefaultObj()
|
||||
{
|
||||
return GetDefaultObjImpl<UChaosPhysicalMaterial>();
|
||||
}
|
||||
};
|
||||
DUMPER7_ASSERTS_UChaosPhysicalMaterial;
|
||||
|
||||
// Class PhysicsCore.PhysicsSettingsCore
|
||||
// 0x00B0 (0x00E8 - 0x0038)
|
||||
class UPhysicsSettingsCore : public UDeveloperSettings
|
||||
{
|
||||
public:
|
||||
float DefaultGravityZ; // 0x0038(0x0004)(Edit, ZeroConstructor, Config, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
|
||||
float DefaultTerminalVelocity; // 0x003C(0x0004)(Edit, ZeroConstructor, Config, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
|
||||
float DefaultFluidFriction; // 0x0040(0x0004)(Edit, ZeroConstructor, Config, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
|
||||
int32 SimulateScratchMemorySize; // 0x0044(0x0004)(Edit, ZeroConstructor, Config, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
|
||||
int32 RagdollAggregateThreshold; // 0x0048(0x0004)(Edit, ZeroConstructor, Config, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
|
||||
float TriangleMeshTriangleMinAreaThreshold; // 0x004C(0x0004)(Edit, ZeroConstructor, Config, IsPlainOldData, NoDestructor, AdvancedDisplay, HasGetValueTypeHash, NativeAccessSpecifierPublic)
|
||||
bool bEnableShapeSharing; // 0x0050(0x0001)(Edit, ZeroConstructor, Config, IsPlainOldData, NoDestructor, AdvancedDisplay, HasGetValueTypeHash, NativeAccessSpecifierPublic)
|
||||
bool bEnablePCM; // 0x0051(0x0001)(Edit, ZeroConstructor, Config, IsPlainOldData, NoDestructor, AdvancedDisplay, HasGetValueTypeHash, NativeAccessSpecifierPublic)
|
||||
bool bEnableStabilization; // 0x0052(0x0001)(Edit, ZeroConstructor, Config, IsPlainOldData, NoDestructor, AdvancedDisplay, HasGetValueTypeHash, NativeAccessSpecifierPublic)
|
||||
bool bWarnMissingLocks; // 0x0053(0x0001)(Edit, ZeroConstructor, Config, IsPlainOldData, NoDestructor, AdvancedDisplay, HasGetValueTypeHash, NativeAccessSpecifierPublic)
|
||||
bool bEnable2DPhysics; // 0x0054(0x0001)(Edit, ZeroConstructor, Config, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
|
||||
bool bDefaultHasComplexCollision; // 0x0055(0x0001)(ZeroConstructor, Config, Deprecated, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
|
||||
uint8 Pad_56[0x2]; // 0x0056(0x0002)(Fixing Size After Last Property [ Dumper-7 ])
|
||||
float BounceThresholdVelocity; // 0x0058(0x0004)(Edit, ZeroConstructor, Config, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
|
||||
EFrictionCombineMode FrictionCombineMode; // 0x005C(0x0001)(Edit, ZeroConstructor, Config, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
|
||||
EFrictionCombineMode RestitutionCombineMode; // 0x005D(0x0001)(Edit, ZeroConstructor, Config, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
|
||||
uint8 Pad_5E[0x2]; // 0x005E(0x0002)(Fixing Size After Last Property [ Dumper-7 ])
|
||||
float MaxAngularVelocity; // 0x0060(0x0004)(Edit, ZeroConstructor, Config, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
|
||||
float MaxDepenetrationVelocity; // 0x0064(0x0004)(Edit, ZeroConstructor, Config, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
|
||||
float ContactOffsetMultiplier; // 0x0068(0x0004)(Edit, ZeroConstructor, Config, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
|
||||
float MinContactOffset; // 0x006C(0x0004)(Edit, ZeroConstructor, Config, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
|
||||
float MaxContactOffset; // 0x0070(0x0004)(Edit, ZeroConstructor, Config, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
|
||||
bool bSimulateSkeletalMeshOnDedicatedServer; // 0x0074(0x0001)(Edit, ZeroConstructor, Config, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
|
||||
ECollisionTraceFlag DefaultShapeComplexity; // 0x0075(0x0001)(Edit, ZeroConstructor, Config, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
|
||||
uint8 Pad_76[0x2]; // 0x0076(0x0002)(Fixing Size After Last Property [ Dumper-7 ])
|
||||
struct FChaosSolverConfiguration SolverOptions; // 0x0078(0x006C)(Edit, Config, NoDestructor, NativeAccessSpecifierPublic)
|
||||
uint8 Pad_E4[0x4]; // 0x00E4(0x0004)(Fixing Struct Size After Last Property [ Dumper-7 ])
|
||||
|
||||
public:
|
||||
static class UClass* StaticClass()
|
||||
{
|
||||
STATIC_CLASS_IMPL("PhysicsSettingsCore")
|
||||
}
|
||||
static const class FName& StaticName()
|
||||
{
|
||||
STATIC_NAME_IMPL(L"PhysicsSettingsCore")
|
||||
}
|
||||
static class UPhysicsSettingsCore* GetDefaultObj()
|
||||
{
|
||||
return GetDefaultObjImpl<UPhysicsSettingsCore>();
|
||||
}
|
||||
};
|
||||
DUMPER7_ASSERTS_UPhysicsSettingsCore;
|
||||
|
||||
}
|
||||
|
||||
204
SleepAwake/SDK/PhysicsCore_structs.hpp
Normal file
204
SleepAwake/SDK/PhysicsCore_structs.hpp
Normal file
@@ -0,0 +1,204 @@
|
||||
#pragma once
|
||||
|
||||
/*
|
||||
* SDK generated by Dumper-7
|
||||
*
|
||||
* https://github.com/Encryqed/Dumper-7
|
||||
*/
|
||||
|
||||
// Package: PhysicsCore
|
||||
|
||||
#include "Basic.hpp"
|
||||
|
||||
|
||||
namespace SDK
|
||||
{
|
||||
|
||||
// Enum PhysicsCore.EBodyCollisionResponse
|
||||
// NumValues: 0x0003
|
||||
enum class EBodyCollisionResponse : uint8
|
||||
{
|
||||
BodyCollision_Enabled = 0,
|
||||
BodyCollision_Disabled = 1,
|
||||
BodyCollision_MAX = 2,
|
||||
};
|
||||
|
||||
// Enum PhysicsCore.EPhysicsType
|
||||
// NumValues: 0x0004
|
||||
enum class EPhysicsType : uint8
|
||||
{
|
||||
PhysType_Default = 0,
|
||||
PhysType_Kinematic = 1,
|
||||
PhysType_Simulated = 2,
|
||||
PhysType_MAX = 3,
|
||||
};
|
||||
|
||||
// Enum PhysicsCore.ECollisionTraceFlag
|
||||
// NumValues: 0x0005
|
||||
enum class ECollisionTraceFlag : uint8
|
||||
{
|
||||
CTF_UseDefault = 0,
|
||||
CTF_UseSimpleAndComplex = 1,
|
||||
CTF_UseSimpleAsComplex = 2,
|
||||
CTF_UseComplexAsSimple = 3,
|
||||
CTF_MAX = 4,
|
||||
};
|
||||
|
||||
// Enum PhysicsCore.ELinearConstraintMotion
|
||||
// NumValues: 0x0004
|
||||
enum class ELinearConstraintMotion : uint8
|
||||
{
|
||||
LCM_Free = 0,
|
||||
LCM_Limited = 1,
|
||||
LCM_Locked = 2,
|
||||
LCM_MAX = 3,
|
||||
};
|
||||
|
||||
// Enum PhysicsCore.EConstraintPlasticityType
|
||||
// NumValues: 0x0004
|
||||
enum class EConstraintPlasticityType : uint8
|
||||
{
|
||||
CCPT_Free = 0,
|
||||
CCPT_Shrink = 1,
|
||||
CCPT_Grow = 2,
|
||||
CCPT_MAX = 3,
|
||||
};
|
||||
|
||||
// Enum PhysicsCore.EConstraintFrame
|
||||
// NumValues: 0x0003
|
||||
enum class EConstraintFrame : uint8
|
||||
{
|
||||
Frame1 = 0,
|
||||
Frame2 = 1,
|
||||
EConstraintFrame_MAX = 2,
|
||||
};
|
||||
|
||||
// Enum PhysicsCore.EAngularConstraintMotion
|
||||
// NumValues: 0x0004
|
||||
enum class EAngularConstraintMotion : uint8
|
||||
{
|
||||
ACM_Free = 0,
|
||||
ACM_Limited = 1,
|
||||
ACM_Locked = 2,
|
||||
ACM_MAX = 3,
|
||||
};
|
||||
|
||||
// Enum PhysicsCore.ESleepFamily
|
||||
// NumValues: 0x0004
|
||||
enum class ESleepFamily : uint8
|
||||
{
|
||||
Normal = 0,
|
||||
Sensitive = 1,
|
||||
Custom = 2,
|
||||
ESleepFamily_MAX = 3,
|
||||
};
|
||||
|
||||
// Enum PhysicsCore.ERadialImpulseFalloff
|
||||
// NumValues: 0x0003
|
||||
enum class ERadialImpulseFalloff : uint8
|
||||
{
|
||||
RIF_Constant = 0,
|
||||
RIF_Linear = 1,
|
||||
RIF_MAX = 2,
|
||||
};
|
||||
|
||||
// Enum PhysicsCore.EPhysicalSurface
|
||||
// NumValues: 0x0041
|
||||
enum class EPhysicalSurface : uint8
|
||||
{
|
||||
SurfaceType_Default = 0,
|
||||
SurfaceType1 = 1,
|
||||
SurfaceType2 = 2,
|
||||
SurfaceType3 = 3,
|
||||
SurfaceType4 = 4,
|
||||
SurfaceType5 = 5,
|
||||
SurfaceType6 = 6,
|
||||
SurfaceType7 = 7,
|
||||
SurfaceType8 = 8,
|
||||
SurfaceType9 = 9,
|
||||
SurfaceType10 = 10,
|
||||
SurfaceType11 = 11,
|
||||
SurfaceType12 = 12,
|
||||
SurfaceType13 = 13,
|
||||
SurfaceType14 = 14,
|
||||
SurfaceType15 = 15,
|
||||
SurfaceType16 = 16,
|
||||
SurfaceType17 = 17,
|
||||
SurfaceType18 = 18,
|
||||
SurfaceType19 = 19,
|
||||
SurfaceType20 = 20,
|
||||
SurfaceType21 = 21,
|
||||
SurfaceType22 = 22,
|
||||
SurfaceType23 = 23,
|
||||
SurfaceType24 = 24,
|
||||
SurfaceType25 = 25,
|
||||
SurfaceType26 = 26,
|
||||
SurfaceType27 = 27,
|
||||
SurfaceType28 = 28,
|
||||
SurfaceType29 = 29,
|
||||
SurfaceType30 = 30,
|
||||
SurfaceType31 = 31,
|
||||
SurfaceType32 = 32,
|
||||
SurfaceType33 = 33,
|
||||
SurfaceType34 = 34,
|
||||
SurfaceType35 = 35,
|
||||
SurfaceType36 = 36,
|
||||
SurfaceType37 = 37,
|
||||
SurfaceType38 = 38,
|
||||
SurfaceType39 = 39,
|
||||
SurfaceType40 = 40,
|
||||
SurfaceType41 = 41,
|
||||
SurfaceType42 = 42,
|
||||
SurfaceType43 = 43,
|
||||
SurfaceType44 = 44,
|
||||
SurfaceType45 = 45,
|
||||
SurfaceType46 = 46,
|
||||
SurfaceType47 = 47,
|
||||
SurfaceType48 = 48,
|
||||
SurfaceType49 = 49,
|
||||
SurfaceType50 = 50,
|
||||
SurfaceType51 = 51,
|
||||
SurfaceType52 = 52,
|
||||
SurfaceType53 = 53,
|
||||
SurfaceType54 = 54,
|
||||
SurfaceType55 = 55,
|
||||
SurfaceType56 = 56,
|
||||
SurfaceType57 = 57,
|
||||
SurfaceType58 = 58,
|
||||
SurfaceType59 = 59,
|
||||
SurfaceType60 = 60,
|
||||
SurfaceType61 = 61,
|
||||
SurfaceType62 = 62,
|
||||
SurfaceType_Max = 63,
|
||||
EPhysicalSurface_MAX = 64,
|
||||
};
|
||||
|
||||
// Enum PhysicsCore.EFrictionCombineMode
|
||||
// NumValues: 0x0004
|
||||
enum class EFrictionCombineMode : uint8
|
||||
{
|
||||
Average = 0,
|
||||
Min = 1,
|
||||
Multiply = 2,
|
||||
Max = 3,
|
||||
};
|
||||
|
||||
// ScriptStruct PhysicsCore.BodyInstanceCore
|
||||
// 0x0018 (0x0018 - 0x0000)
|
||||
struct alignas(0x08) FBodyInstanceCore
|
||||
{
|
||||
public:
|
||||
uint8 Pad_0[0x10]; // 0x0000(0x0010)(Fixing Size After Last Property [ Dumper-7 ])
|
||||
uint8 bSimulatePhysics : 1; // 0x0010(0x0001)(BitIndex: 0x00, PropSize: 0x0001 (Edit, BlueprintVisible, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic))
|
||||
uint8 bOverrideMass : 1; // 0x0010(0x0001)(BitIndex: 0x01, PropSize: 0x0001 (Edit, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic))
|
||||
uint8 bEnableGravity : 1; // 0x0010(0x0001)(BitIndex: 0x02, PropSize: 0x0001 (Edit, BlueprintVisible, BlueprintReadOnly, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic))
|
||||
uint8 bAutoWeld : 1; // 0x0010(0x0001)(BitIndex: 0x03, PropSize: 0x0001 (Edit, BlueprintVisible, NoDestructor, AdvancedDisplay, HasGetValueTypeHash, NativeAccessSpecifierPublic))
|
||||
uint8 bStartAwake : 1; // 0x0010(0x0001)(BitIndex: 0x04, PropSize: 0x0001 (Edit, BlueprintVisible, BlueprintReadOnly, NoDestructor, AdvancedDisplay, HasGetValueTypeHash, NativeAccessSpecifierPublic))
|
||||
uint8 bGenerateWakeEvents : 1; // 0x0010(0x0001)(BitIndex: 0x05, PropSize: 0x0001 (Edit, BlueprintVisible, BlueprintReadOnly, NoDestructor, AdvancedDisplay, HasGetValueTypeHash, NativeAccessSpecifierPublic))
|
||||
uint8 bUpdateMassWhenScaleChanges : 1; // 0x0010(0x0001)(BitIndex: 0x06, PropSize: 0x0001 (Edit, BlueprintVisible, NoDestructor, AdvancedDisplay, HasGetValueTypeHash, NativeAccessSpecifierPublic))
|
||||
uint8 Pad_11[0x7]; // 0x0011(0x0007)(Fixing Struct Size After Last Property [ Dumper-7 ])
|
||||
};
|
||||
DUMPER7_ASSERTS_FBodyInstanceCore;
|
||||
|
||||
}
|
||||
|
||||
107
SleepAwake/SDK/PropertyAccess_classes.hpp
Normal file
107
SleepAwake/SDK/PropertyAccess_classes.hpp
Normal file
@@ -0,0 +1,107 @@
|
||||
#pragma once
|
||||
|
||||
/*
|
||||
* SDK generated by Dumper-7
|
||||
*
|
||||
* https://github.com/Encryqed/Dumper-7
|
||||
*/
|
||||
|
||||
// Package: PropertyAccess
|
||||
|
||||
#include "Basic.hpp"
|
||||
|
||||
#include "CoreUObject_classes.hpp"
|
||||
|
||||
|
||||
namespace SDK
|
||||
{
|
||||
|
||||
// Class PropertyAccess.PropertyAccess
|
||||
// 0x0000 (0x0000 - 0x0000)
|
||||
class IPropertyAccess final
|
||||
{
|
||||
public:
|
||||
static class UClass* StaticClass()
|
||||
{
|
||||
STATIC_CLASS_IMPL("PropertyAccess")
|
||||
}
|
||||
static const class FName& StaticName()
|
||||
{
|
||||
STATIC_NAME_IMPL(L"PropertyAccess")
|
||||
}
|
||||
static class IPropertyAccess* GetDefaultObj()
|
||||
{
|
||||
return GetDefaultObjImpl<IPropertyAccess>();
|
||||
}
|
||||
|
||||
class UObject* AsUObject()
|
||||
{
|
||||
return reinterpret_cast<UObject*>(this);
|
||||
}
|
||||
const class UObject* AsUObject() const
|
||||
{
|
||||
return reinterpret_cast<const UObject*>(this);
|
||||
}
|
||||
};
|
||||
DUMPER7_ASSERTS_IPropertyAccess;
|
||||
|
||||
// Class PropertyAccess.PropertyEventBroadcaster
|
||||
// 0x0000 (0x0000 - 0x0000)
|
||||
class IPropertyEventBroadcaster final
|
||||
{
|
||||
public:
|
||||
static class UClass* StaticClass()
|
||||
{
|
||||
STATIC_CLASS_IMPL("PropertyEventBroadcaster")
|
||||
}
|
||||
static const class FName& StaticName()
|
||||
{
|
||||
STATIC_NAME_IMPL(L"PropertyEventBroadcaster")
|
||||
}
|
||||
static class IPropertyEventBroadcaster* GetDefaultObj()
|
||||
{
|
||||
return GetDefaultObjImpl<IPropertyEventBroadcaster>();
|
||||
}
|
||||
|
||||
class UObject* AsUObject()
|
||||
{
|
||||
return reinterpret_cast<UObject*>(this);
|
||||
}
|
||||
const class UObject* AsUObject() const
|
||||
{
|
||||
return reinterpret_cast<const UObject*>(this);
|
||||
}
|
||||
};
|
||||
DUMPER7_ASSERTS_IPropertyEventBroadcaster;
|
||||
|
||||
// Class PropertyAccess.PropertyEventSubscriber
|
||||
// 0x0000 (0x0000 - 0x0000)
|
||||
class IPropertyEventSubscriber final
|
||||
{
|
||||
public:
|
||||
static class UClass* StaticClass()
|
||||
{
|
||||
STATIC_CLASS_IMPL("PropertyEventSubscriber")
|
||||
}
|
||||
static const class FName& StaticName()
|
||||
{
|
||||
STATIC_NAME_IMPL(L"PropertyEventSubscriber")
|
||||
}
|
||||
static class IPropertyEventSubscriber* GetDefaultObj()
|
||||
{
|
||||
return GetDefaultObjImpl<IPropertyEventSubscriber>();
|
||||
}
|
||||
|
||||
class UObject* AsUObject()
|
||||
{
|
||||
return reinterpret_cast<UObject*>(this);
|
||||
}
|
||||
const class UObject* AsUObject() const
|
||||
{
|
||||
return reinterpret_cast<const UObject*>(this);
|
||||
}
|
||||
};
|
||||
DUMPER7_ASSERTS_IPropertyEventSubscriber;
|
||||
|
||||
}
|
||||
|
||||
173
SleepAwake/SDK/PropertyAccess_structs.hpp
Normal file
173
SleepAwake/SDK/PropertyAccess_structs.hpp
Normal file
@@ -0,0 +1,173 @@
|
||||
#pragma once
|
||||
|
||||
/*
|
||||
* SDK generated by Dumper-7
|
||||
*
|
||||
* https://github.com/Encryqed/Dumper-7
|
||||
*/
|
||||
|
||||
// Package: PropertyAccess
|
||||
|
||||
#include "Basic.hpp"
|
||||
|
||||
|
||||
namespace SDK
|
||||
{
|
||||
|
||||
// Enum PropertyAccess.EPropertyAccessCopyBatch
|
||||
// NumValues: 0x0006
|
||||
enum class EPropertyAccessCopyBatch : uint8
|
||||
{
|
||||
InternalUnbatched = 0,
|
||||
ExternalUnbatched = 1,
|
||||
InternalBatched = 2,
|
||||
ExternalBatched = 3,
|
||||
Count = 4,
|
||||
EPropertyAccessCopyBatch_MAX = 5,
|
||||
};
|
||||
|
||||
// Enum PropertyAccess.EPropertyAccessCopyType
|
||||
// NumValues: 0x0012
|
||||
enum class EPropertyAccessCopyType : uint8
|
||||
{
|
||||
None = 0,
|
||||
Plain = 1,
|
||||
Complex = 2,
|
||||
Bool = 3,
|
||||
Struct = 4,
|
||||
Object = 5,
|
||||
Name = 6,
|
||||
Array = 7,
|
||||
PromoteBoolToByte = 8,
|
||||
PromoteBoolToInt32 = 9,
|
||||
PromoteBoolToInt64 = 10,
|
||||
PromoteBoolToFloat = 11,
|
||||
PromoteByteToInt32 = 12,
|
||||
PromoteByteToInt64 = 13,
|
||||
PromoteByteToFloat = 14,
|
||||
PromoteInt32ToInt64 = 15,
|
||||
PromoteInt32ToFloat = 16,
|
||||
EPropertyAccessCopyType_MAX = 17,
|
||||
};
|
||||
|
||||
// Enum PropertyAccess.EPropertyAccessObjectType
|
||||
// NumValues: 0x0005
|
||||
enum class EPropertyAccessObjectType : uint8
|
||||
{
|
||||
None = 0,
|
||||
Object = 1,
|
||||
WeakObject = 2,
|
||||
SoftObject = 3,
|
||||
EPropertyAccessObjectType_MAX = 4,
|
||||
};
|
||||
|
||||
// Enum PropertyAccess.EPropertyAccessIndirectionType
|
||||
// NumValues: 0x0006
|
||||
enum class EPropertyAccessIndirectionType : uint8
|
||||
{
|
||||
Offset = 0,
|
||||
Object = 1,
|
||||
Array = 2,
|
||||
ScriptFunction = 3,
|
||||
NativeFunction = 4,
|
||||
EPropertyAccessIndirectionType_MAX = 5,
|
||||
};
|
||||
|
||||
// ScriptStruct PropertyAccess.PropertyAccessSegment
|
||||
// 0x0040 (0x0040 - 0x0000)
|
||||
struct FPropertyAccessSegment final
|
||||
{
|
||||
public:
|
||||
class FName Name; // 0x0000(0x0008)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPrivate)
|
||||
class UStruct* Struct; // 0x0008(0x0008)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPrivate)
|
||||
TFieldPath<class FProperty> Property; // 0x0010(0x0020)(HasGetValueTypeHash, NativeAccessSpecifierPrivate)
|
||||
class UFunction* Function; // 0x0030(0x0008)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPrivate)
|
||||
int32 ArrayIndex; // 0x0038(0x0004)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPrivate)
|
||||
uint16 Flags; // 0x003C(0x0002)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPrivate)
|
||||
uint8 Pad_3E[0x2]; // 0x003E(0x0002)(Fixing Struct Size After Last Property [ Dumper-7 ])
|
||||
};
|
||||
DUMPER7_ASSERTS_FPropertyAccessSegment;
|
||||
|
||||
// ScriptStruct PropertyAccess.PropertyAccessPath
|
||||
// 0x000C (0x000C - 0x0000)
|
||||
struct FPropertyAccessPath final
|
||||
{
|
||||
public:
|
||||
int32 PathSegmentStartIndex; // 0x0000(0x0004)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPrivate)
|
||||
int32 PathSegmentCount; // 0x0004(0x0004)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPrivate)
|
||||
uint8 bHasEvents : 1; // 0x0008(0x0001)(BitIndex: 0x00, PropSize: 0x0001 (NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPrivate))
|
||||
uint8 Pad_9[0x3]; // 0x0009(0x0003)(Fixing Struct Size After Last Property [ Dumper-7 ])
|
||||
};
|
||||
DUMPER7_ASSERTS_FPropertyAccessPath;
|
||||
|
||||
// ScriptStruct PropertyAccess.PropertyAccessCopy
|
||||
// 0x0010 (0x0010 - 0x0000)
|
||||
struct FPropertyAccessCopy final
|
||||
{
|
||||
public:
|
||||
int32 AccessIndex; // 0x0000(0x0004)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPrivate)
|
||||
int32 DestAccessStartIndex; // 0x0004(0x0004)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPrivate)
|
||||
int32 DestAccessEndIndex; // 0x0008(0x0004)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPrivate)
|
||||
EPropertyAccessCopyType Type; // 0x000C(0x0001)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPrivate)
|
||||
uint8 Pad_D[0x3]; // 0x000D(0x0003)(Fixing Struct Size After Last Property [ Dumper-7 ])
|
||||
};
|
||||
DUMPER7_ASSERTS_FPropertyAccessCopy;
|
||||
|
||||
// ScriptStruct PropertyAccess.PropertyAccessCopyBatch
|
||||
// 0x0010 (0x0010 - 0x0000)
|
||||
struct FPropertyAccessCopyBatch final
|
||||
{
|
||||
public:
|
||||
TArray<struct FPropertyAccessCopy> Copies; // 0x0000(0x0010)(ZeroConstructor, NativeAccessSpecifierPrivate)
|
||||
};
|
||||
DUMPER7_ASSERTS_FPropertyAccessCopyBatch;
|
||||
|
||||
// ScriptStruct PropertyAccess.PropertyAccessIndirectionChain
|
||||
// 0x0030 (0x0030 - 0x0000)
|
||||
struct FPropertyAccessIndirectionChain final
|
||||
{
|
||||
public:
|
||||
TFieldPath<class FProperty> Property; // 0x0000(0x0020)(HasGetValueTypeHash, NativeAccessSpecifierPrivate)
|
||||
int32 IndirectionStartIndex; // 0x0020(0x0004)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPrivate)
|
||||
int32 IndirectionEndIndex; // 0x0024(0x0004)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPrivate)
|
||||
int32 EventId; // 0x0028(0x0004)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPrivate)
|
||||
uint8 Pad_2C[0x4]; // 0x002C(0x0004)(Fixing Struct Size After Last Property [ Dumper-7 ])
|
||||
};
|
||||
DUMPER7_ASSERTS_FPropertyAccessIndirectionChain;
|
||||
|
||||
// ScriptStruct PropertyAccess.PropertyAccessIndirection
|
||||
// 0x0040 (0x0040 - 0x0000)
|
||||
struct FPropertyAccessIndirection final
|
||||
{
|
||||
public:
|
||||
TFieldPath<class FArrayProperty> ArrayProperty; // 0x0000(0x0020)(HasGetValueTypeHash, NativeAccessSpecifierPrivate)
|
||||
class UFunction* Function; // 0x0020(0x0008)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPrivate)
|
||||
int32 ReturnBufferSize; // 0x0028(0x0004)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPrivate)
|
||||
int32 ReturnBufferAlignment; // 0x002C(0x0004)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPrivate)
|
||||
int32 ArrayIndex; // 0x0030(0x0004)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPrivate)
|
||||
uint32 Offset; // 0x0034(0x0004)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPrivate)
|
||||
EPropertyAccessObjectType ObjectType; // 0x0038(0x0001)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPrivate)
|
||||
EPropertyAccessIndirectionType Type; // 0x0039(0x0001)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPrivate)
|
||||
uint8 Pad_3A[0x6]; // 0x003A(0x0006)(Fixing Struct Size After Last Property [ Dumper-7 ])
|
||||
};
|
||||
DUMPER7_ASSERTS_FPropertyAccessIndirection;
|
||||
|
||||
// ScriptStruct PropertyAccess.PropertyAccessLibrary
|
||||
// 0x00C8 (0x00C8 - 0x0000)
|
||||
struct FPropertyAccessLibrary final
|
||||
{
|
||||
public:
|
||||
TArray<struct FPropertyAccessSegment> PathSegments; // 0x0000(0x0010)(ZeroConstructor, NativeAccessSpecifierPrivate)
|
||||
TArray<struct FPropertyAccessPath> SrcPaths; // 0x0010(0x0010)(ZeroConstructor, NativeAccessSpecifierPrivate)
|
||||
TArray<struct FPropertyAccessPath> DestPaths; // 0x0020(0x0010)(ZeroConstructor, NativeAccessSpecifierPrivate)
|
||||
struct FPropertyAccessCopyBatch CopyBatches[0x4]; // 0x0030(0x0010)(NativeAccessSpecifierPrivate)
|
||||
TArray<struct FPropertyAccessIndirectionChain> SrcAccesses; // 0x0070(0x0010)(ZeroConstructor, Transient, NativeAccessSpecifierPrivate)
|
||||
TArray<struct FPropertyAccessIndirectionChain> DestAccesses; // 0x0080(0x0010)(ZeroConstructor, Transient, NativeAccessSpecifierPrivate)
|
||||
TArray<struct FPropertyAccessIndirection> Indirections; // 0x0090(0x0010)(ZeroConstructor, Transient, NativeAccessSpecifierPrivate)
|
||||
TArray<int32> EventAccessIndices; // 0x00A0(0x0010)(ZeroConstructor, NativeAccessSpecifierPrivate)
|
||||
uint8 Pad_B0[0x18]; // 0x00B0(0x0018)(Fixing Struct Size After Last Property [ Dumper-7 ])
|
||||
};
|
||||
DUMPER7_ASSERTS_FPropertyAccessLibrary;
|
||||
|
||||
}
|
||||
|
||||
196
SleepAwake/SDK/SlateCore_classes.hpp
Normal file
196
SleepAwake/SDK/SlateCore_classes.hpp
Normal file
@@ -0,0 +1,196 @@
|
||||
#pragma once
|
||||
|
||||
/*
|
||||
* SDK generated by Dumper-7
|
||||
*
|
||||
* https://github.com/Encryqed/Dumper-7
|
||||
*/
|
||||
|
||||
// Package: SlateCore
|
||||
|
||||
#include "Basic.hpp"
|
||||
|
||||
#include "CoreUObject_classes.hpp"
|
||||
|
||||
|
||||
namespace SDK
|
||||
{
|
||||
|
||||
// Class SlateCore.FontBulkData
|
||||
// 0x0050 (0x0078 - 0x0028)
|
||||
class UFontBulkData final : public UObject
|
||||
{
|
||||
public:
|
||||
uint8 Pad_28[0x50]; // 0x0028(0x0050)(Fixing Struct Size After Last Property [ Dumper-7 ])
|
||||
|
||||
public:
|
||||
static class UClass* StaticClass()
|
||||
{
|
||||
STATIC_CLASS_IMPL("FontBulkData")
|
||||
}
|
||||
static const class FName& StaticName()
|
||||
{
|
||||
STATIC_NAME_IMPL(L"FontBulkData")
|
||||
}
|
||||
static class UFontBulkData* GetDefaultObj()
|
||||
{
|
||||
return GetDefaultObjImpl<UFontBulkData>();
|
||||
}
|
||||
};
|
||||
DUMPER7_ASSERTS_UFontBulkData;
|
||||
|
||||
// Class SlateCore.FontFaceInterface
|
||||
// 0x0000 (0x0000 - 0x0000)
|
||||
class IFontFaceInterface final
|
||||
{
|
||||
public:
|
||||
static class UClass* StaticClass()
|
||||
{
|
||||
STATIC_CLASS_IMPL("FontFaceInterface")
|
||||
}
|
||||
static const class FName& StaticName()
|
||||
{
|
||||
STATIC_NAME_IMPL(L"FontFaceInterface")
|
||||
}
|
||||
static class IFontFaceInterface* GetDefaultObj()
|
||||
{
|
||||
return GetDefaultObjImpl<IFontFaceInterface>();
|
||||
}
|
||||
|
||||
class UObject* AsUObject()
|
||||
{
|
||||
return reinterpret_cast<UObject*>(this);
|
||||
}
|
||||
const class UObject* AsUObject() const
|
||||
{
|
||||
return reinterpret_cast<const UObject*>(this);
|
||||
}
|
||||
};
|
||||
DUMPER7_ASSERTS_IFontFaceInterface;
|
||||
|
||||
// Class SlateCore.FontProviderInterface
|
||||
// 0x0000 (0x0000 - 0x0000)
|
||||
class IFontProviderInterface final
|
||||
{
|
||||
public:
|
||||
static class UClass* StaticClass()
|
||||
{
|
||||
STATIC_CLASS_IMPL("FontProviderInterface")
|
||||
}
|
||||
static const class FName& StaticName()
|
||||
{
|
||||
STATIC_NAME_IMPL(L"FontProviderInterface")
|
||||
}
|
||||
static class IFontProviderInterface* GetDefaultObj()
|
||||
{
|
||||
return GetDefaultObjImpl<IFontProviderInterface>();
|
||||
}
|
||||
|
||||
class UObject* AsUObject()
|
||||
{
|
||||
return reinterpret_cast<UObject*>(this);
|
||||
}
|
||||
const class UObject* AsUObject() const
|
||||
{
|
||||
return reinterpret_cast<const UObject*>(this);
|
||||
}
|
||||
};
|
||||
DUMPER7_ASSERTS_IFontProviderInterface;
|
||||
|
||||
// Class SlateCore.SlateTypes
|
||||
// 0x0000 (0x0028 - 0x0028)
|
||||
class USlateTypes final : public UObject
|
||||
{
|
||||
public:
|
||||
static class UClass* StaticClass()
|
||||
{
|
||||
STATIC_CLASS_IMPL("SlateTypes")
|
||||
}
|
||||
static const class FName& StaticName()
|
||||
{
|
||||
STATIC_NAME_IMPL(L"SlateTypes")
|
||||
}
|
||||
static class USlateTypes* GetDefaultObj()
|
||||
{
|
||||
return GetDefaultObjImpl<USlateTypes>();
|
||||
}
|
||||
};
|
||||
DUMPER7_ASSERTS_USlateTypes;
|
||||
|
||||
// Class SlateCore.SlateWidgetStyleAsset
|
||||
// 0x0008 (0x0030 - 0x0028)
|
||||
class USlateWidgetStyleAsset final : public UObject
|
||||
{
|
||||
public:
|
||||
class USlateWidgetStyleContainerBase* CustomStyle; // 0x0028(0x0008)(Edit, ExportObject, ZeroConstructor, InstancedReference, IsPlainOldData, NoDestructor, PersistentInstance, HasGetValueTypeHash, NativeAccessSpecifierPublic)
|
||||
|
||||
public:
|
||||
static class UClass* StaticClass()
|
||||
{
|
||||
STATIC_CLASS_IMPL("SlateWidgetStyleAsset")
|
||||
}
|
||||
static const class FName& StaticName()
|
||||
{
|
||||
STATIC_NAME_IMPL(L"SlateWidgetStyleAsset")
|
||||
}
|
||||
static class USlateWidgetStyleAsset* GetDefaultObj()
|
||||
{
|
||||
return GetDefaultObjImpl<USlateWidgetStyleAsset>();
|
||||
}
|
||||
};
|
||||
DUMPER7_ASSERTS_USlateWidgetStyleAsset;
|
||||
|
||||
// Class SlateCore.SlateWidgetStyleContainerBase
|
||||
// 0x0008 (0x0030 - 0x0028)
|
||||
class USlateWidgetStyleContainerBase : public UObject
|
||||
{
|
||||
public:
|
||||
uint8 Pad_28[0x8]; // 0x0028(0x0008)(Fixing Struct Size After Last Property [ Dumper-7 ])
|
||||
|
||||
public:
|
||||
static class UClass* StaticClass()
|
||||
{
|
||||
STATIC_CLASS_IMPL("SlateWidgetStyleContainerBase")
|
||||
}
|
||||
static const class FName& StaticName()
|
||||
{
|
||||
STATIC_NAME_IMPL(L"SlateWidgetStyleContainerBase")
|
||||
}
|
||||
static class USlateWidgetStyleContainerBase* GetDefaultObj()
|
||||
{
|
||||
return GetDefaultObjImpl<USlateWidgetStyleContainerBase>();
|
||||
}
|
||||
};
|
||||
DUMPER7_ASSERTS_USlateWidgetStyleContainerBase;
|
||||
|
||||
// Class SlateCore.SlateWidgetStyleContainerInterface
|
||||
// 0x0000 (0x0000 - 0x0000)
|
||||
class ISlateWidgetStyleContainerInterface final
|
||||
{
|
||||
public:
|
||||
static class UClass* StaticClass()
|
||||
{
|
||||
STATIC_CLASS_IMPL("SlateWidgetStyleContainerInterface")
|
||||
}
|
||||
static const class FName& StaticName()
|
||||
{
|
||||
STATIC_NAME_IMPL(L"SlateWidgetStyleContainerInterface")
|
||||
}
|
||||
static class ISlateWidgetStyleContainerInterface* GetDefaultObj()
|
||||
{
|
||||
return GetDefaultObjImpl<ISlateWidgetStyleContainerInterface>();
|
||||
}
|
||||
|
||||
class UObject* AsUObject()
|
||||
{
|
||||
return reinterpret_cast<UObject*>(this);
|
||||
}
|
||||
const class UObject* AsUObject() const
|
||||
{
|
||||
return reinterpret_cast<const UObject*>(this);
|
||||
}
|
||||
};
|
||||
DUMPER7_ASSERTS_ISlateWidgetStyleContainerInterface;
|
||||
|
||||
}
|
||||
|
||||
1066
SleepAwake/SDK/SlateCore_structs.hpp
Normal file
1066
SleepAwake/SDK/SlateCore_structs.hpp
Normal file
File diff suppressed because it is too large
Load Diff
319
SleepAwake/SDK/Slate_classes.hpp
Normal file
319
SleepAwake/SDK/Slate_classes.hpp
Normal file
@@ -0,0 +1,319 @@
|
||||
#pragma once
|
||||
|
||||
/*
|
||||
* SDK generated by Dumper-7
|
||||
*
|
||||
* https://github.com/Encryqed/Dumper-7
|
||||
*/
|
||||
|
||||
// Package: Slate
|
||||
|
||||
#include "Basic.hpp"
|
||||
|
||||
#include "SlateCore_structs.hpp"
|
||||
#include "SlateCore_classes.hpp"
|
||||
#include "CoreUObject_classes.hpp"
|
||||
|
||||
|
||||
namespace SDK
|
||||
{
|
||||
|
||||
// Class Slate.ButtonWidgetStyle
|
||||
// 0x0278 (0x02A8 - 0x0030)
|
||||
class UButtonWidgetStyle final : public USlateWidgetStyleContainerBase
|
||||
{
|
||||
public:
|
||||
struct FButtonStyle ButtonStyle; // 0x0030(0x0278)(Edit, BlueprintVisible, NativeAccessSpecifierPublic)
|
||||
|
||||
public:
|
||||
static class UClass* StaticClass()
|
||||
{
|
||||
STATIC_CLASS_IMPL("ButtonWidgetStyle")
|
||||
}
|
||||
static const class FName& StaticName()
|
||||
{
|
||||
STATIC_NAME_IMPL(L"ButtonWidgetStyle")
|
||||
}
|
||||
static class UButtonWidgetStyle* GetDefaultObj()
|
||||
{
|
||||
return GetDefaultObjImpl<UButtonWidgetStyle>();
|
||||
}
|
||||
};
|
||||
DUMPER7_ASSERTS_UButtonWidgetStyle;
|
||||
|
||||
// Class Slate.CheckBoxWidgetStyle
|
||||
// 0x0580 (0x05B0 - 0x0030)
|
||||
class UCheckBoxWidgetStyle final : public USlateWidgetStyleContainerBase
|
||||
{
|
||||
public:
|
||||
struct FCheckBoxStyle CheckBoxStyle; // 0x0030(0x0580)(Edit, NativeAccessSpecifierPublic)
|
||||
|
||||
public:
|
||||
static class UClass* StaticClass()
|
||||
{
|
||||
STATIC_CLASS_IMPL("CheckBoxWidgetStyle")
|
||||
}
|
||||
static const class FName& StaticName()
|
||||
{
|
||||
STATIC_NAME_IMPL(L"CheckBoxWidgetStyle")
|
||||
}
|
||||
static class UCheckBoxWidgetStyle* GetDefaultObj()
|
||||
{
|
||||
return GetDefaultObjImpl<UCheckBoxWidgetStyle>();
|
||||
}
|
||||
};
|
||||
DUMPER7_ASSERTS_UCheckBoxWidgetStyle;
|
||||
|
||||
// Class Slate.ComboBoxWidgetStyle
|
||||
// 0x03F0 (0x0420 - 0x0030)
|
||||
class UComboBoxWidgetStyle final : public USlateWidgetStyleContainerBase
|
||||
{
|
||||
public:
|
||||
struct FComboBoxStyle ComboBoxStyle; // 0x0030(0x03F0)(Edit, NativeAccessSpecifierPublic)
|
||||
|
||||
public:
|
||||
static class UClass* StaticClass()
|
||||
{
|
||||
STATIC_CLASS_IMPL("ComboBoxWidgetStyle")
|
||||
}
|
||||
static const class FName& StaticName()
|
||||
{
|
||||
STATIC_NAME_IMPL(L"ComboBoxWidgetStyle")
|
||||
}
|
||||
static class UComboBoxWidgetStyle* GetDefaultObj()
|
||||
{
|
||||
return GetDefaultObjImpl<UComboBoxWidgetStyle>();
|
||||
}
|
||||
};
|
||||
DUMPER7_ASSERTS_UComboBoxWidgetStyle;
|
||||
|
||||
// Class Slate.ComboButtonWidgetStyle
|
||||
// 0x03B8 (0x03E8 - 0x0030)
|
||||
class UComboButtonWidgetStyle final : public USlateWidgetStyleContainerBase
|
||||
{
|
||||
public:
|
||||
struct FComboButtonStyle ComboButtonStyle; // 0x0030(0x03B8)(Edit, NativeAccessSpecifierPublic)
|
||||
|
||||
public:
|
||||
static class UClass* StaticClass()
|
||||
{
|
||||
STATIC_CLASS_IMPL("ComboButtonWidgetStyle")
|
||||
}
|
||||
static const class FName& StaticName()
|
||||
{
|
||||
STATIC_NAME_IMPL(L"ComboButtonWidgetStyle")
|
||||
}
|
||||
static class UComboButtonWidgetStyle* GetDefaultObj()
|
||||
{
|
||||
return GetDefaultObjImpl<UComboButtonWidgetStyle>();
|
||||
}
|
||||
};
|
||||
DUMPER7_ASSERTS_UComboButtonWidgetStyle;
|
||||
|
||||
// Class Slate.EditableTextBoxWidgetStyle
|
||||
// 0x07F8 (0x0828 - 0x0030)
|
||||
class UEditableTextBoxWidgetStyle final : public USlateWidgetStyleContainerBase
|
||||
{
|
||||
public:
|
||||
struct FEditableTextBoxStyle EditableTextBoxStyle; // 0x0030(0x07F8)(Edit, NativeAccessSpecifierPublic)
|
||||
|
||||
public:
|
||||
static class UClass* StaticClass()
|
||||
{
|
||||
STATIC_CLASS_IMPL("EditableTextBoxWidgetStyle")
|
||||
}
|
||||
static const class FName& StaticName()
|
||||
{
|
||||
STATIC_NAME_IMPL(L"EditableTextBoxWidgetStyle")
|
||||
}
|
||||
static class UEditableTextBoxWidgetStyle* GetDefaultObj()
|
||||
{
|
||||
return GetDefaultObjImpl<UEditableTextBoxWidgetStyle>();
|
||||
}
|
||||
};
|
||||
DUMPER7_ASSERTS_UEditableTextBoxWidgetStyle;
|
||||
|
||||
// Class Slate.EditableTextWidgetStyle
|
||||
// 0x0220 (0x0250 - 0x0030)
|
||||
class UEditableTextWidgetStyle final : public USlateWidgetStyleContainerBase
|
||||
{
|
||||
public:
|
||||
struct FEditableTextStyle EditableTextStyle; // 0x0030(0x0220)(Edit, NativeAccessSpecifierPublic)
|
||||
|
||||
public:
|
||||
static class UClass* StaticClass()
|
||||
{
|
||||
STATIC_CLASS_IMPL("EditableTextWidgetStyle")
|
||||
}
|
||||
static const class FName& StaticName()
|
||||
{
|
||||
STATIC_NAME_IMPL(L"EditableTextWidgetStyle")
|
||||
}
|
||||
static class UEditableTextWidgetStyle* GetDefaultObj()
|
||||
{
|
||||
return GetDefaultObjImpl<UEditableTextWidgetStyle>();
|
||||
}
|
||||
};
|
||||
DUMPER7_ASSERTS_UEditableTextWidgetStyle;
|
||||
|
||||
// Class Slate.ProgressWidgetStyle
|
||||
// 0x01A0 (0x01D0 - 0x0030)
|
||||
class UProgressWidgetStyle final : public USlateWidgetStyleContainerBase
|
||||
{
|
||||
public:
|
||||
struct FProgressBarStyle ProgressBarStyle; // 0x0030(0x01A0)(Edit, BlueprintVisible, NativeAccessSpecifierPublic)
|
||||
|
||||
public:
|
||||
static class UClass* StaticClass()
|
||||
{
|
||||
STATIC_CLASS_IMPL("ProgressWidgetStyle")
|
||||
}
|
||||
static const class FName& StaticName()
|
||||
{
|
||||
STATIC_NAME_IMPL(L"ProgressWidgetStyle")
|
||||
}
|
||||
static class UProgressWidgetStyle* GetDefaultObj()
|
||||
{
|
||||
return GetDefaultObjImpl<UProgressWidgetStyle>();
|
||||
}
|
||||
};
|
||||
DUMPER7_ASSERTS_UProgressWidgetStyle;
|
||||
|
||||
// Class Slate.ScrollBarWidgetStyle
|
||||
// 0x04D0 (0x0500 - 0x0030)
|
||||
class UScrollBarWidgetStyle final : public USlateWidgetStyleContainerBase
|
||||
{
|
||||
public:
|
||||
struct FScrollBarStyle ScrollBarStyle; // 0x0030(0x04D0)(Edit, NativeAccessSpecifierPublic)
|
||||
|
||||
public:
|
||||
static class UClass* StaticClass()
|
||||
{
|
||||
STATIC_CLASS_IMPL("ScrollBarWidgetStyle")
|
||||
}
|
||||
static const class FName& StaticName()
|
||||
{
|
||||
STATIC_NAME_IMPL(L"ScrollBarWidgetStyle")
|
||||
}
|
||||
static class UScrollBarWidgetStyle* GetDefaultObj()
|
||||
{
|
||||
return GetDefaultObjImpl<UScrollBarWidgetStyle>();
|
||||
}
|
||||
};
|
||||
DUMPER7_ASSERTS_UScrollBarWidgetStyle;
|
||||
|
||||
// Class Slate.ScrollBoxWidgetStyle
|
||||
// 0x0228 (0x0258 - 0x0030)
|
||||
class UScrollBoxWidgetStyle final : public USlateWidgetStyleContainerBase
|
||||
{
|
||||
public:
|
||||
struct FScrollBoxStyle ScrollBoxStyle; // 0x0030(0x0228)(Edit, NativeAccessSpecifierPublic)
|
||||
|
||||
public:
|
||||
static class UClass* StaticClass()
|
||||
{
|
||||
STATIC_CLASS_IMPL("ScrollBoxWidgetStyle")
|
||||
}
|
||||
static const class FName& StaticName()
|
||||
{
|
||||
STATIC_NAME_IMPL(L"ScrollBoxWidgetStyle")
|
||||
}
|
||||
static class UScrollBoxWidgetStyle* GetDefaultObj()
|
||||
{
|
||||
return GetDefaultObjImpl<UScrollBoxWidgetStyle>();
|
||||
}
|
||||
};
|
||||
DUMPER7_ASSERTS_UScrollBoxWidgetStyle;
|
||||
|
||||
// Class Slate.SlateSettings
|
||||
// 0x0008 (0x0030 - 0x0028)
|
||||
class USlateSettings final : public UObject
|
||||
{
|
||||
public:
|
||||
bool bExplicitCanvasChildZOrder; // 0x0028(0x0001)(Edit, ZeroConstructor, Config, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
|
||||
uint8 Pad_29[0x7]; // 0x0029(0x0007)(Fixing Struct Size After Last Property [ Dumper-7 ])
|
||||
|
||||
public:
|
||||
static class UClass* StaticClass()
|
||||
{
|
||||
STATIC_CLASS_IMPL("SlateSettings")
|
||||
}
|
||||
static const class FName& StaticName()
|
||||
{
|
||||
STATIC_NAME_IMPL(L"SlateSettings")
|
||||
}
|
||||
static class USlateSettings* GetDefaultObj()
|
||||
{
|
||||
return GetDefaultObjImpl<USlateSettings>();
|
||||
}
|
||||
};
|
||||
DUMPER7_ASSERTS_USlateSettings;
|
||||
|
||||
// Class Slate.SpinBoxWidgetStyle
|
||||
// 0x02E8 (0x0318 - 0x0030)
|
||||
class USpinBoxWidgetStyle final : public USlateWidgetStyleContainerBase
|
||||
{
|
||||
public:
|
||||
struct FSpinBoxStyle SpinBoxStyle; // 0x0030(0x02E8)(Edit, NativeAccessSpecifierPublic)
|
||||
|
||||
public:
|
||||
static class UClass* StaticClass()
|
||||
{
|
||||
STATIC_CLASS_IMPL("SpinBoxWidgetStyle")
|
||||
}
|
||||
static const class FName& StaticName()
|
||||
{
|
||||
STATIC_NAME_IMPL(L"SpinBoxWidgetStyle")
|
||||
}
|
||||
static class USpinBoxWidgetStyle* GetDefaultObj()
|
||||
{
|
||||
return GetDefaultObjImpl<USpinBoxWidgetStyle>();
|
||||
}
|
||||
};
|
||||
DUMPER7_ASSERTS_USpinBoxWidgetStyle;
|
||||
|
||||
// Class Slate.TextBlockWidgetStyle
|
||||
// 0x0270 (0x02A0 - 0x0030)
|
||||
class UTextBlockWidgetStyle final : public USlateWidgetStyleContainerBase
|
||||
{
|
||||
public:
|
||||
struct FTextBlockStyle TextBlockStyle; // 0x0030(0x0270)(Edit, NativeAccessSpecifierPublic)
|
||||
|
||||
public:
|
||||
static class UClass* StaticClass()
|
||||
{
|
||||
STATIC_CLASS_IMPL("TextBlockWidgetStyle")
|
||||
}
|
||||
static const class FName& StaticName()
|
||||
{
|
||||
STATIC_NAME_IMPL(L"TextBlockWidgetStyle")
|
||||
}
|
||||
static class UTextBlockWidgetStyle* GetDefaultObj()
|
||||
{
|
||||
return GetDefaultObjImpl<UTextBlockWidgetStyle>();
|
||||
}
|
||||
};
|
||||
DUMPER7_ASSERTS_UTextBlockWidgetStyle;
|
||||
|
||||
// Class Slate.ToolMenuBase
|
||||
// 0x0000 (0x0028 - 0x0028)
|
||||
class UToolMenuBase final : public UObject
|
||||
{
|
||||
public:
|
||||
static class UClass* StaticClass()
|
||||
{
|
||||
STATIC_CLASS_IMPL("ToolMenuBase")
|
||||
}
|
||||
static const class FName& StaticName()
|
||||
{
|
||||
STATIC_NAME_IMPL(L"ToolMenuBase")
|
||||
}
|
||||
static class UToolMenuBase* GetDefaultObj()
|
||||
{
|
||||
return GetDefaultObjImpl<UToolMenuBase>();
|
||||
}
|
||||
};
|
||||
DUMPER7_ASSERTS_UToolMenuBase;
|
||||
|
||||
}
|
||||
|
||||
318
SleepAwake/SDK/Slate_structs.hpp
Normal file
318
SleepAwake/SDK/Slate_structs.hpp
Normal file
@@ -0,0 +1,318 @@
|
||||
#pragma once
|
||||
|
||||
/*
|
||||
* SDK generated by Dumper-7
|
||||
*
|
||||
* https://github.com/Encryqed/Dumper-7
|
||||
*/
|
||||
|
||||
// Package: Slate
|
||||
|
||||
#include "Basic.hpp"
|
||||
|
||||
#include "InputCore_structs.hpp"
|
||||
#include "CoreUObject_structs.hpp"
|
||||
|
||||
|
||||
namespace SDK
|
||||
{
|
||||
|
||||
// Enum Slate.EVirtualKeyboardDismissAction
|
||||
// NumValues: 0x0004
|
||||
enum class EVirtualKeyboardDismissAction : uint8
|
||||
{
|
||||
TextChangeOnDismiss = 0,
|
||||
TextCommitOnAccept = 1,
|
||||
TextCommitOnDismiss = 2,
|
||||
EVirtualKeyboardDismissAction_MAX = 3,
|
||||
};
|
||||
|
||||
// Enum Slate.EVirtualKeyboardTrigger
|
||||
// NumValues: 0x0003
|
||||
enum class EVirtualKeyboardTrigger : uint8
|
||||
{
|
||||
OnFocusByPointer = 0,
|
||||
OnAllFocusEvents = 1,
|
||||
EVirtualKeyboardTrigger_MAX = 2,
|
||||
};
|
||||
|
||||
// Enum Slate.ETableViewMode
|
||||
// NumValues: 0x0004
|
||||
enum class ETableViewMode : uint8
|
||||
{
|
||||
List = 0,
|
||||
Tile = 1,
|
||||
Tree = 2,
|
||||
ETableViewMode_MAX = 3,
|
||||
};
|
||||
|
||||
// Enum Slate.ESelectionMode
|
||||
// NumValues: 0x0005
|
||||
enum class ESelectionMode : uint8
|
||||
{
|
||||
None = 0,
|
||||
Single = 1,
|
||||
SingleToggle = 2,
|
||||
Multi = 3,
|
||||
ESelectionMode_MAX = 4,
|
||||
};
|
||||
|
||||
// Enum Slate.EMultiBlockType
|
||||
// NumValues: 0x000A
|
||||
enum class EMultiBlockType : uint8
|
||||
{
|
||||
None = 0,
|
||||
ButtonRow = 1,
|
||||
EditableText = 2,
|
||||
Heading = 3,
|
||||
MenuEntry = 4,
|
||||
Separator = 5,
|
||||
ToolBarButton = 6,
|
||||
ToolBarComboButton = 7,
|
||||
Widget = 8,
|
||||
EMultiBlockType_MAX = 9,
|
||||
};
|
||||
|
||||
// Enum Slate.EMultiBoxType
|
||||
// NumValues: 0x0007
|
||||
enum class EMultiBoxType : uint8
|
||||
{
|
||||
MenuBar = 0,
|
||||
ToolBar = 1,
|
||||
VerticalToolBar = 2,
|
||||
UniformToolBar = 3,
|
||||
Menu = 4,
|
||||
ButtonRow = 5,
|
||||
EMultiBoxType_MAX = 6,
|
||||
};
|
||||
|
||||
// Enum Slate.EProgressBarFillType
|
||||
// NumValues: 0x0006
|
||||
enum class EProgressBarFillType : uint8
|
||||
{
|
||||
LeftToRight = 0,
|
||||
RightToLeft = 1,
|
||||
FillFromCenter = 2,
|
||||
TopToBottom = 3,
|
||||
BottomToTop = 4,
|
||||
EProgressBarFillType_MAX = 5,
|
||||
};
|
||||
|
||||
// Enum Slate.EStretch
|
||||
// NumValues: 0x0009
|
||||
enum class EStretch : uint8
|
||||
{
|
||||
None = 0,
|
||||
Fill = 1,
|
||||
ScaleToFit = 2,
|
||||
ScaleToFitX = 3,
|
||||
ScaleToFitY = 4,
|
||||
ScaleToFill = 5,
|
||||
ScaleBySafeZone = 6,
|
||||
UserSpecified = 7,
|
||||
EStretch_MAX = 8,
|
||||
};
|
||||
|
||||
// Enum Slate.EStretchDirection
|
||||
// NumValues: 0x0004
|
||||
enum class EStretchDirection : uint8
|
||||
{
|
||||
Both = 0,
|
||||
DownOnly = 1,
|
||||
UpOnly = 2,
|
||||
EStretchDirection_MAX = 3,
|
||||
};
|
||||
|
||||
// Enum Slate.EScrollWhenFocusChanges
|
||||
// NumValues: 0x0004
|
||||
enum class EScrollWhenFocusChanges : uint8
|
||||
{
|
||||
NoScroll = 0,
|
||||
InstantScroll = 1,
|
||||
AnimatedScroll = 2,
|
||||
EScrollWhenFocusChanges_MAX = 3,
|
||||
};
|
||||
|
||||
// Enum Slate.EDescendantScrollDestination
|
||||
// NumValues: 0x0005
|
||||
enum class EDescendantScrollDestination : uint8
|
||||
{
|
||||
IntoView = 0,
|
||||
TopOrLeft = 1,
|
||||
Center = 2,
|
||||
BottomOrRight = 3,
|
||||
EDescendantScrollDestination_MAX = 4,
|
||||
};
|
||||
|
||||
// Enum Slate.EListItemAlignment
|
||||
// NumValues: 0x0008
|
||||
enum class EListItemAlignment : uint8
|
||||
{
|
||||
EvenlyDistributed = 0,
|
||||
EvenlySize = 1,
|
||||
EvenlyWide = 2,
|
||||
LeftAligned = 3,
|
||||
RightAligned = 4,
|
||||
CenterAligned = 5,
|
||||
Fill = 6,
|
||||
EListItemAlignment_MAX = 7,
|
||||
};
|
||||
|
||||
// Enum Slate.ETextFlowDirection
|
||||
// NumValues: 0x0004
|
||||
enum class ETextFlowDirection : uint8
|
||||
{
|
||||
Auto = 0,
|
||||
LeftToRight = 1,
|
||||
RightToLeft = 2,
|
||||
ETextFlowDirection_MAX = 3,
|
||||
};
|
||||
|
||||
// Enum Slate.ETextWrappingPolicy
|
||||
// NumValues: 0x0003
|
||||
enum class ETextWrappingPolicy : uint8
|
||||
{
|
||||
DefaultWrapping = 0,
|
||||
AllowPerCharacterWrapping = 1,
|
||||
ETextWrappingPolicy_MAX = 2,
|
||||
};
|
||||
|
||||
// Enum Slate.ETextTransformPolicy
|
||||
// NumValues: 0x0004
|
||||
enum class ETextTransformPolicy : uint8
|
||||
{
|
||||
None = 0,
|
||||
ToLower = 1,
|
||||
ToUpper = 2,
|
||||
ETextTransformPolicy_MAX = 3,
|
||||
};
|
||||
|
||||
// Enum Slate.ETextElementVerticalJustification
|
||||
// NumValues: 0x0004
|
||||
enum class ETextElementVerticalJustification : uint8
|
||||
{
|
||||
Top = 0,
|
||||
Center = 1,
|
||||
Bottom = 2,
|
||||
ETextElementVerticalJustification_MAX = 3,
|
||||
};
|
||||
|
||||
// Enum Slate.ETextJustify
|
||||
// NumValues: 0x0004
|
||||
enum class ETextJustify : uint8
|
||||
{
|
||||
Left = 0,
|
||||
Center = 1,
|
||||
Right = 2,
|
||||
ETextJustify_MAX = 3,
|
||||
};
|
||||
|
||||
// Enum Slate.ECustomizedToolMenuVisibility
|
||||
// NumValues: 0x0004
|
||||
enum class ECustomizedToolMenuVisibility : uint32
|
||||
{
|
||||
None = 0,
|
||||
Visible = 1,
|
||||
Hidden = 2,
|
||||
ECustomizedToolMenuVisibility_MAX = 3,
|
||||
};
|
||||
|
||||
// Enum Slate.EMultipleKeyBindingIndex
|
||||
// NumValues: 0x0004
|
||||
enum class EMultipleKeyBindingIndex : uint8
|
||||
{
|
||||
Primary = 0,
|
||||
Secondary = 1,
|
||||
NumChords = 2,
|
||||
EMultipleKeyBindingIndex_MAX = 3,
|
||||
};
|
||||
|
||||
// Enum Slate.EUserInterfaceActionType
|
||||
// NumValues: 0x0007
|
||||
enum class EUserInterfaceActionType : uint8
|
||||
{
|
||||
None = 0,
|
||||
Button = 1,
|
||||
ToggleButton = 2,
|
||||
RadioButton = 3,
|
||||
Check = 4,
|
||||
CollapsedButton = 5,
|
||||
EUserInterfaceActionType_MAX = 6,
|
||||
};
|
||||
|
||||
// ScriptStruct Slate.VirtualKeyboardOptions
|
||||
// 0x0001 (0x0001 - 0x0000)
|
||||
struct FVirtualKeyboardOptions final
|
||||
{
|
||||
public:
|
||||
bool bEnableAutocorrect; // 0x0000(0x0001)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
|
||||
};
|
||||
DUMPER7_ASSERTS_FVirtualKeyboardOptions;
|
||||
|
||||
// ScriptStruct Slate.CustomizedToolMenuEntry
|
||||
// 0x0004 (0x0004 - 0x0000)
|
||||
struct FCustomizedToolMenuEntry final
|
||||
{
|
||||
public:
|
||||
ECustomizedToolMenuVisibility Visibility; // 0x0000(0x0004)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
|
||||
};
|
||||
DUMPER7_ASSERTS_FCustomizedToolMenuEntry;
|
||||
|
||||
// ScriptStruct Slate.CustomizedToolMenuSection
|
||||
// 0x0004 (0x0004 - 0x0000)
|
||||
struct FCustomizedToolMenuSection final
|
||||
{
|
||||
public:
|
||||
ECustomizedToolMenuVisibility Visibility; // 0x0000(0x0004)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
|
||||
};
|
||||
DUMPER7_ASSERTS_FCustomizedToolMenuSection;
|
||||
|
||||
// ScriptStruct Slate.CustomizedToolMenuNameArray
|
||||
// 0x0010 (0x0010 - 0x0000)
|
||||
struct FCustomizedToolMenuNameArray final
|
||||
{
|
||||
public:
|
||||
TArray<class FName> Names; // 0x0000(0x0010)(ZeroConstructor, NativeAccessSpecifierPublic)
|
||||
};
|
||||
DUMPER7_ASSERTS_FCustomizedToolMenuNameArray;
|
||||
|
||||
// ScriptStruct Slate.CustomizedToolMenu
|
||||
// 0x01E8 (0x01E8 - 0x0000)
|
||||
struct FCustomizedToolMenu final
|
||||
{
|
||||
public:
|
||||
class FName Name; // 0x0000(0x0008)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
|
||||
TMap<class FName, struct FCustomizedToolMenuEntry> Entries; // 0x0008(0x0050)(NativeAccessSpecifierPublic)
|
||||
TMap<class FName, struct FCustomizedToolMenuSection> Sections; // 0x0058(0x0050)(NativeAccessSpecifierPublic)
|
||||
TMap<class FName, struct FCustomizedToolMenuNameArray> EntryOrder; // 0x00A8(0x0050)(NativeAccessSpecifierPublic)
|
||||
TArray<class FName> SectionOrder; // 0x00F8(0x0010)(ZeroConstructor, NativeAccessSpecifierPublic)
|
||||
uint8 Pad_108[0xE0]; // 0x0108(0x00E0)(Fixing Struct Size After Last Property [ Dumper-7 ])
|
||||
};
|
||||
DUMPER7_ASSERTS_FCustomizedToolMenu;
|
||||
|
||||
// ScriptStruct Slate.InputChord
|
||||
// 0x0020 (0x0020 - 0x0000)
|
||||
struct FInputChord final
|
||||
{
|
||||
public:
|
||||
struct FKey Key; // 0x0000(0x0018)(Edit, BlueprintVisible, HasGetValueTypeHash, NativeAccessSpecifierPublic)
|
||||
uint8 bShift : 1; // 0x0018(0x0001)(BitIndex: 0x00, PropSize: 0x0001 (Edit, BlueprintVisible, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic))
|
||||
uint8 bCtrl : 1; // 0x0018(0x0001)(BitIndex: 0x01, PropSize: 0x0001 (Edit, BlueprintVisible, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic))
|
||||
uint8 bAlt : 1; // 0x0018(0x0001)(BitIndex: 0x02, PropSize: 0x0001 (Edit, BlueprintVisible, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic))
|
||||
uint8 bCmd : 1; // 0x0018(0x0001)(BitIndex: 0x03, PropSize: 0x0001 (Edit, BlueprintVisible, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic))
|
||||
uint8 Pad_19[0x7]; // 0x0019(0x0007)(Fixing Struct Size After Last Property [ Dumper-7 ])
|
||||
};
|
||||
DUMPER7_ASSERTS_FInputChord;
|
||||
|
||||
// ScriptStruct Slate.Anchors
|
||||
// 0x0010 (0x0010 - 0x0000)
|
||||
struct FAnchors final
|
||||
{
|
||||
public:
|
||||
struct FVector2D Minimum; // 0x0000(0x0008)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
|
||||
struct FVector2D Maximum; // 0x0008(0x0008)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
|
||||
};
|
||||
DUMPER7_ASSERTS_FAnchors;
|
||||
|
||||
}
|
||||
|
||||
909
SleepAwake/UnrealContainers.hpp
Normal file
909
SleepAwake/UnrealContainers.hpp
Normal file
@@ -0,0 +1,909 @@
|
||||
#pragma once
|
||||
|
||||
/*
|
||||
* SDK generated by Dumper-7
|
||||
*
|
||||
* https://github.com/Encryqed/Dumper-7
|
||||
*/
|
||||
|
||||
// Container implementations with iterators. See https://github.com/Fischsalat/UnrealContainers
|
||||
|
||||
#include <string>
|
||||
#include <stdexcept>
|
||||
#include <iostream>
|
||||
#include "UtfN.hpp"
|
||||
|
||||
namespace UC
|
||||
{
|
||||
typedef int8_t int8;
|
||||
typedef int16_t int16;
|
||||
typedef int32_t int32;
|
||||
typedef int64_t int64;
|
||||
|
||||
typedef uint8_t uint8;
|
||||
typedef uint16_t uint16;
|
||||
typedef uint32_t uint32;
|
||||
typedef uint64_t uint64;
|
||||
|
||||
template<typename ArrayElementType>
|
||||
class TArray;
|
||||
|
||||
template<typename SparseArrayElementType>
|
||||
class TSparseArray;
|
||||
|
||||
template<typename SetElementType>
|
||||
class TSet;
|
||||
|
||||
template<typename KeyElementType, typename ValueElementType>
|
||||
class TMap;
|
||||
|
||||
template<typename KeyElementType, typename ValueElementType>
|
||||
class TPair;
|
||||
|
||||
namespace Iterators
|
||||
{
|
||||
class FSetBitIterator;
|
||||
|
||||
template<typename ArrayType>
|
||||
class TArrayIterator;
|
||||
|
||||
template<class ContainerType>
|
||||
class TContainerIterator;
|
||||
|
||||
template<typename SparseArrayElementType>
|
||||
using TSparseArrayIterator = TContainerIterator<TSparseArray<SparseArrayElementType>>;
|
||||
|
||||
template<typename SetElementType>
|
||||
using TSetIterator = TContainerIterator<TSet<SetElementType>>;
|
||||
|
||||
template<typename KeyElementType, typename ValueElementType>
|
||||
using TMapIterator = TContainerIterator<TMap<KeyElementType, ValueElementType>>;
|
||||
}
|
||||
|
||||
|
||||
namespace ContainerImpl
|
||||
{
|
||||
namespace HelperFunctions
|
||||
{
|
||||
inline uint32 FloorLog2(uint32 Value)
|
||||
{
|
||||
uint32 pos = 0;
|
||||
if (Value >= 1 << 16) { Value >>= 16; pos += 16; }
|
||||
if (Value >= 1 << 8) { Value >>= 8; pos += 8; }
|
||||
if (Value >= 1 << 4) { Value >>= 4; pos += 4; }
|
||||
if (Value >= 1 << 2) { Value >>= 2; pos += 2; }
|
||||
if (Value >= 1 << 1) { pos += 1; }
|
||||
return pos;
|
||||
}
|
||||
|
||||
inline uint32 CountLeadingZeros(uint32 Value)
|
||||
{
|
||||
if (Value == 0)
|
||||
return 32;
|
||||
|
||||
return 31 - FloorLog2(Value);
|
||||
}
|
||||
}
|
||||
|
||||
template<int32 Size, uint32 Alignment>
|
||||
struct TAlignedBytes
|
||||
{
|
||||
alignas(Alignment) uint8 Pad[Size];
|
||||
};
|
||||
|
||||
template<uint32 NumInlineElements>
|
||||
class TInlineAllocator
|
||||
{
|
||||
public:
|
||||
template<typename ElementType>
|
||||
class ForElementType
|
||||
{
|
||||
private:
|
||||
static constexpr int32 ElementSize = sizeof(ElementType);
|
||||
static constexpr int32 ElementAlign = alignof(ElementType);
|
||||
|
||||
static constexpr int32 InlineDataSizeBytes = NumInlineElements * ElementSize;
|
||||
|
||||
private:
|
||||
TAlignedBytes<ElementSize, ElementAlign> InlineData[NumInlineElements];
|
||||
ElementType* SecondaryData;
|
||||
|
||||
public:
|
||||
ForElementType()
|
||||
: InlineData{ 0x0 }, SecondaryData(nullptr)
|
||||
{
|
||||
}
|
||||
|
||||
ForElementType(ForElementType&&) = default;
|
||||
ForElementType(const ForElementType&) = default;
|
||||
|
||||
public:
|
||||
ForElementType& operator=(ForElementType&&) = default;
|
||||
ForElementType& operator=(const ForElementType&) = default;
|
||||
|
||||
public:
|
||||
inline const ElementType* GetAllocation() const { return SecondaryData ? SecondaryData : reinterpret_cast<const ElementType*>(&InlineData); }
|
||||
|
||||
inline uint32 GetNumInlineBytes() const { return NumInlineElements; }
|
||||
};
|
||||
};
|
||||
|
||||
class FBitArray
|
||||
{
|
||||
protected:
|
||||
static constexpr int32 NumBitsPerDWORD = 32;
|
||||
static constexpr int32 NumBitsPerDWORDLogTwo = 5;
|
||||
|
||||
private:
|
||||
TInlineAllocator<4>::ForElementType<int32> Data;
|
||||
int32 NumBits;
|
||||
int32 MaxBits;
|
||||
|
||||
public:
|
||||
FBitArray()
|
||||
: NumBits(0), MaxBits(Data.GetNumInlineBytes() * NumBitsPerDWORD)
|
||||
{
|
||||
}
|
||||
|
||||
FBitArray(const FBitArray&) = default;
|
||||
|
||||
FBitArray(FBitArray&&) = default;
|
||||
|
||||
public:
|
||||
FBitArray& operator=(FBitArray&&) = default;
|
||||
|
||||
FBitArray& operator=(const FBitArray& Other) = default;
|
||||
|
||||
private:
|
||||
inline void VerifyIndex(int32 Index) const { if (!IsValidIndex(Index)) throw std::out_of_range("Index was out of range!"); }
|
||||
|
||||
public:
|
||||
inline int32 Num() const { return NumBits; }
|
||||
inline int32 Max() const { return MaxBits; }
|
||||
|
||||
inline const uint32* GetData() const { return reinterpret_cast<const uint32*>(Data.GetAllocation()); }
|
||||
|
||||
inline bool IsValidIndex(int32 Index) const { return Index >= 0 && Index < NumBits; }
|
||||
|
||||
inline bool IsValid() const { return GetData() && NumBits > 0; }
|
||||
|
||||
public:
|
||||
inline bool operator[](int32 Index) const { VerifyIndex(Index); return GetData()[Index / NumBitsPerDWORD] & (1 << (Index & (NumBitsPerDWORD - 1))); }
|
||||
|
||||
inline bool operator==(const FBitArray& Other) const { return NumBits == Other.NumBits && GetData() == Other.GetData(); }
|
||||
inline bool operator!=(const FBitArray& Other) const { return NumBits != Other.NumBits || GetData() != Other.GetData(); }
|
||||
|
||||
public:
|
||||
friend Iterators::FSetBitIterator begin(const FBitArray& Array);
|
||||
friend Iterators::FSetBitIterator end (const FBitArray& Array);
|
||||
};
|
||||
|
||||
template<typename SparseArrayType>
|
||||
union TSparseArrayElementOrFreeListLink
|
||||
{
|
||||
SparseArrayType ElementData;
|
||||
|
||||
struct
|
||||
{
|
||||
int32 PrevFreeIndex;
|
||||
int32 NextFreeIndex;
|
||||
};
|
||||
};
|
||||
|
||||
template<typename SetType>
|
||||
class SetElement
|
||||
{
|
||||
private:
|
||||
template<typename SetDataType>
|
||||
friend class TSet;
|
||||
|
||||
private:
|
||||
SetType Value;
|
||||
int32 HashNextId;
|
||||
int32 HashIndex;
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
template <typename KeyType, typename ValueType>
|
||||
class TPair
|
||||
{
|
||||
public:
|
||||
KeyType First;
|
||||
ValueType Second;
|
||||
|
||||
public:
|
||||
TPair(KeyType Key, ValueType Value)
|
||||
: First(Key), Second(Value)
|
||||
{
|
||||
}
|
||||
|
||||
public:
|
||||
inline KeyType& Key() { return First; }
|
||||
inline const KeyType& Key() const { return First; }
|
||||
|
||||
inline ValueType& Value() { return Second; }
|
||||
inline const ValueType& Value() const { return Second; }
|
||||
};
|
||||
|
||||
template<typename ArrayElementType>
|
||||
class TArray
|
||||
{
|
||||
private:
|
||||
template<typename ArrayElementType>
|
||||
friend class TAllocatedArray;
|
||||
|
||||
template<typename SparseArrayElementType>
|
||||
friend class TSparseArray;
|
||||
|
||||
protected:
|
||||
static constexpr uint64 ElementAlign = alignof(ArrayElementType);
|
||||
static constexpr uint64 ElementSize = sizeof(ArrayElementType);
|
||||
|
||||
protected:
|
||||
ArrayElementType* Data;
|
||||
int32 NumElements;
|
||||
int32 MaxElements;
|
||||
|
||||
public:
|
||||
TArray()
|
||||
: TArray(nullptr, 0, 0)
|
||||
{
|
||||
}
|
||||
|
||||
TArray(ArrayElementType* Data, int32 NumElements, int32 MaxElements)
|
||||
: Data(Data), NumElements(NumElements), MaxElements(MaxElements)
|
||||
{
|
||||
}
|
||||
|
||||
TArray(const TArray&) = default;
|
||||
|
||||
TArray(TArray&&) = default;
|
||||
|
||||
public:
|
||||
TArray& operator=(TArray&&) = default;
|
||||
TArray& operator=(const TArray&) = default;
|
||||
|
||||
private:
|
||||
inline int32 GetSlack() const { return MaxElements - NumElements; }
|
||||
|
||||
inline void VerifyIndex(int32 Index) const { if (!IsValidIndex(Index)) throw std::out_of_range("Index was out of range!"); }
|
||||
|
||||
inline ArrayElementType& GetUnsafe(int32 Index) { return Data[Index]; }
|
||||
inline const ArrayElementType& GetUnsafe(int32 Index) const { return Data[Index]; }
|
||||
|
||||
public:
|
||||
/* Adds to the array if there is still space for one more element */
|
||||
inline bool Add(const ArrayElementType& Element)
|
||||
{
|
||||
if (GetSlack() <= 0)
|
||||
return false;
|
||||
|
||||
Data[NumElements] = Element;
|
||||
NumElements++;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
inline bool Remove(int32 Index)
|
||||
{
|
||||
if (!IsValidIndex(Index))
|
||||
return false;
|
||||
|
||||
NumElements--;
|
||||
|
||||
for (int i = Index; i < NumElements; i++)
|
||||
{
|
||||
/* NumElements was decremented, acessing i + 1 is safe */
|
||||
Data[i] = Data[i + 1];
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
inline void Clear()
|
||||
{
|
||||
NumElements = 0;
|
||||
|
||||
if (Data)
|
||||
memset(Data, 0, NumElements * ElementSize);
|
||||
}
|
||||
|
||||
public:
|
||||
inline int32 Num() const { return NumElements; }
|
||||
inline int32 Max() const { return MaxElements; }
|
||||
|
||||
inline const ArrayElementType* GetDataPtr() const { return Data; }
|
||||
|
||||
inline bool IsValidIndex(int32 Index) const { return Data && Index >= 0 && Index < NumElements; }
|
||||
|
||||
inline bool IsValid() const { return Data && NumElements > 0 && MaxElements >= NumElements; }
|
||||
|
||||
public:
|
||||
inline ArrayElementType& operator[](int32 Index) { VerifyIndex(Index); return Data[Index]; }
|
||||
inline const ArrayElementType& operator[](int32 Index) const { VerifyIndex(Index); return Data[Index]; }
|
||||
|
||||
inline bool operator==(const TArray<ArrayElementType>& Other) const { return Data == Other.Data; }
|
||||
inline bool operator!=(const TArray<ArrayElementType>& Other) const { return Data != Other.Data; }
|
||||
|
||||
inline explicit operator bool() const { return IsValid(); };
|
||||
|
||||
public:
|
||||
template<typename T> friend Iterators::TArrayIterator<T> begin(const TArray& Array);
|
||||
template<typename T> friend Iterators::TArrayIterator<T> end (const TArray& Array);
|
||||
};
|
||||
|
||||
class FString : public TArray<wchar_t>
|
||||
{
|
||||
public:
|
||||
friend std::ostream& operator<<(std::ostream& Stream, const UC::FString& Str) { return Stream << Str.ToString(); }
|
||||
|
||||
public:
|
||||
using TArray::TArray;
|
||||
|
||||
FString(const wchar_t* Str)
|
||||
{
|
||||
const uint32 NullTerminatedLength = static_cast<uint32>(wcslen(Str) + 0x1);
|
||||
|
||||
Data = const_cast<wchar_t*>(Str);
|
||||
NumElements = NullTerminatedLength;
|
||||
MaxElements = NullTerminatedLength;
|
||||
}
|
||||
|
||||
FString(wchar_t* Str, int32 Num, int32 Max)
|
||||
{
|
||||
Data = Str;
|
||||
NumElements = Num;
|
||||
MaxElements = Max;
|
||||
}
|
||||
|
||||
public:
|
||||
inline std::string ToString() const
|
||||
{
|
||||
if (*this)
|
||||
{
|
||||
return UtfN::Utf16StringToUtf8String<std::string>(Data, NumElements - 1); // Exclude null-terminator
|
||||
}
|
||||
|
||||
return "";
|
||||
}
|
||||
|
||||
inline std::wstring ToWString() const
|
||||
{
|
||||
if (*this)
|
||||
return std::wstring(Data);
|
||||
|
||||
return L"";
|
||||
}
|
||||
|
||||
public:
|
||||
inline wchar_t* CStr() { return Data; }
|
||||
inline const wchar_t* CStr() const { return Data; }
|
||||
|
||||
public:
|
||||
inline bool operator==(const FString& Other) const { return Other ? NumElements == Other.NumElements && wcscmp(Data, Other.Data) == 0 : false; }
|
||||
inline bool operator!=(const FString& Other) const { return Other ? NumElements != Other.NumElements || wcscmp(Data, Other.Data) != 0 : true; }
|
||||
};
|
||||
|
||||
// Utf8String that assumes C-APIs (strlen, strcmp) behaviour works for char8_t like Ansi strings, execept it's counting/comparing bytes not characters.
|
||||
class FUtf8String : public TArray<char8_t>
|
||||
{
|
||||
public:
|
||||
friend std::ostream& operator<<(std::ostream& Stream, const UC::FUtf8String& Str) { return Stream << Str.ToString(); }
|
||||
|
||||
private:
|
||||
inline const char* GetDataAsConstCharPtr() const
|
||||
{
|
||||
return reinterpret_cast<const char*>(Data);
|
||||
}
|
||||
|
||||
public:
|
||||
using TArray::TArray;
|
||||
|
||||
FUtf8String(const char8_t* Str)
|
||||
{
|
||||
Data = const_cast<char8_t*>(Str);
|
||||
|
||||
const uint32 NullTerminatedLength = static_cast<uint32>(strlen(GetDataAsConstCharPtr()) + 0x1);
|
||||
|
||||
NumElements = NullTerminatedLength;
|
||||
MaxElements = NullTerminatedLength;
|
||||
}
|
||||
|
||||
FUtf8String(char8_t* Str, int32 Num, int32 Max)
|
||||
{
|
||||
Data = Str;
|
||||
NumElements = Num;
|
||||
MaxElements = Max;
|
||||
}
|
||||
|
||||
public:
|
||||
inline std::string ToString() const
|
||||
{
|
||||
if (*this)
|
||||
{
|
||||
return std::string(GetDataAsConstCharPtr(), NumElements - 1); // Exclude null-terminator
|
||||
}
|
||||
|
||||
return "";
|
||||
}
|
||||
|
||||
inline std::wstring ToWString() const
|
||||
{
|
||||
if (*this)
|
||||
return UtfN::StringToWString<std::string>(ToString()); // Exclude null-terminator
|
||||
|
||||
return L"";
|
||||
}
|
||||
|
||||
public:
|
||||
inline char8_t* CStr() { return Data; }
|
||||
inline const char8_t* CStr() const { return Data; }
|
||||
|
||||
public:
|
||||
inline bool operator==(const FUtf8String& Other) const { return Other ? NumElements == Other.NumElements && strcmp(GetDataAsConstCharPtr(), Other.GetDataAsConstCharPtr()) == 0 : false; }
|
||||
inline bool operator!=(const FUtf8String& Other) const { return Other ? NumElements != Other.NumElements || strcmp(GetDataAsConstCharPtr(), Other.GetDataAsConstCharPtr()) != 0 : true; }
|
||||
};
|
||||
|
||||
class FAnsiString : public TArray<char>
|
||||
{
|
||||
public:
|
||||
friend std::ostream& operator<<(std::ostream& Stream, const UC::FAnsiString& Str) { return Stream << Str.ToString(); }
|
||||
|
||||
public:
|
||||
using TArray::TArray;
|
||||
|
||||
FAnsiString(const char* Str)
|
||||
{
|
||||
const uint32 NullTerminatedLength = static_cast<uint32>(strlen(Str) + 0x1);
|
||||
|
||||
Data = const_cast<char*>(Str);
|
||||
NumElements = NullTerminatedLength;
|
||||
MaxElements = NullTerminatedLength;
|
||||
}
|
||||
|
||||
FAnsiString(char* Str, int32 Num, int32 Max)
|
||||
{
|
||||
Data = Str;
|
||||
NumElements = Num;
|
||||
MaxElements = Max;
|
||||
}
|
||||
|
||||
public:
|
||||
inline std::string ToString() const
|
||||
{
|
||||
if (*this)
|
||||
{
|
||||
return std::string(Data, NumElements - 1); // Exclude null-terminator
|
||||
}
|
||||
|
||||
return "";
|
||||
}
|
||||
|
||||
inline std::wstring ToWString() const
|
||||
{
|
||||
if (*this)
|
||||
return UtfN::StringToWString<std::string>(ToString()); // Exclude null-terminator
|
||||
|
||||
return L"";
|
||||
}
|
||||
|
||||
public:
|
||||
inline char* CStr() { return Data; }
|
||||
inline const char* CStr() const { return Data; }
|
||||
|
||||
public:
|
||||
inline bool operator==(const FAnsiString& Other) const { return Other ? NumElements == Other.NumElements && strcmp(Data, Other.Data) == 0 : false; }
|
||||
inline bool operator!=(const FAnsiString& Other) const { return Other ? NumElements != Other.NumElements || strcmp(Data, Other.Data) != 0 : true; }
|
||||
};
|
||||
|
||||
|
||||
/*
|
||||
* Class to allow construction of a TArray, that uses c-style standard-library memory allocation.
|
||||
*
|
||||
* Useful for calling functions that expect a buffer of a certain size and do not reallocate that buffer.
|
||||
* This avoids leaking memory, if the array would otherwise be allocated by the engine, and couldn't be freed without FMemory-functions.
|
||||
*/
|
||||
template<typename ArrayElementType>
|
||||
class TAllocatedArray : public TArray<ArrayElementType>
|
||||
{
|
||||
public:
|
||||
TAllocatedArray() = delete;
|
||||
|
||||
public:
|
||||
TAllocatedArray(int32 Size)
|
||||
{
|
||||
this->Data = static_cast<ArrayElementType*>(malloc(Size * sizeof(ArrayElementType)));
|
||||
this->NumElements = 0x0;
|
||||
this->MaxElements = Size;
|
||||
}
|
||||
|
||||
~TAllocatedArray()
|
||||
{
|
||||
if (this->Data)
|
||||
free(this->Data);
|
||||
|
||||
this->NumElements = 0x0;
|
||||
this->MaxElements = 0x0;
|
||||
}
|
||||
|
||||
public:
|
||||
inline operator TArray<ArrayElementType>() { return *reinterpret_cast< TArray<ArrayElementType>*>(this); }
|
||||
inline operator const TArray<ArrayElementType>() const { return *reinterpret_cast<const TArray<ArrayElementType>*>(this); }
|
||||
};
|
||||
|
||||
/*
|
||||
* Class to allow construction of an FString, that uses c-style standard-library memory allocation.
|
||||
*
|
||||
* Useful for calling functions that expect a buffer of a certain size and do not reallocate that buffer.
|
||||
* This avoids leaking memory, if the array would otherwise be allocated by the engine, and couldn't be freed without FMemory-functions.
|
||||
*/
|
||||
class FAllocatedString : public FString
|
||||
{
|
||||
public:
|
||||
FAllocatedString() = delete;
|
||||
|
||||
public:
|
||||
FAllocatedString(int32 Size)
|
||||
{
|
||||
Data = static_cast<wchar_t*>(malloc(Size * sizeof(wchar_t)));
|
||||
NumElements = 0x0;
|
||||
MaxElements = Size;
|
||||
}
|
||||
|
||||
~FAllocatedString()
|
||||
{
|
||||
if (Data)
|
||||
free(Data);
|
||||
|
||||
NumElements = 0x0;
|
||||
MaxElements = 0x0;
|
||||
}
|
||||
|
||||
public:
|
||||
inline operator FString() { return *reinterpret_cast< FString*>(this); }
|
||||
inline operator const FString() const { return *reinterpret_cast<const FString*>(this); }
|
||||
};
|
||||
template<typename SparseArrayElementType>
|
||||
class TSparseArray
|
||||
{
|
||||
private:
|
||||
static constexpr uint32 ElementAlign = alignof(SparseArrayElementType);
|
||||
static constexpr uint32 ElementSize = sizeof(SparseArrayElementType);
|
||||
|
||||
private:
|
||||
using FElementOrFreeListLink = ContainerImpl::TSparseArrayElementOrFreeListLink<ContainerImpl::TAlignedBytes<ElementSize, ElementAlign>>;
|
||||
|
||||
private:
|
||||
TArray<FElementOrFreeListLink> Data;
|
||||
ContainerImpl::FBitArray AllocationFlags;
|
||||
int32 FirstFreeIndex;
|
||||
int32 NumFreeIndices;
|
||||
|
||||
public:
|
||||
TSparseArray()
|
||||
: FirstFreeIndex(-1), NumFreeIndices(0)
|
||||
{
|
||||
}
|
||||
|
||||
TSparseArray(TSparseArray&&) = default;
|
||||
TSparseArray(const TSparseArray&) = default;
|
||||
|
||||
public:
|
||||
TSparseArray& operator=(TSparseArray&&) = default;
|
||||
TSparseArray& operator=(const TSparseArray&) = default;
|
||||
|
||||
private:
|
||||
inline void VerifyIndex(int32 Index) const { if (!IsValidIndex(Index)) throw std::out_of_range("Index was out of range!"); }
|
||||
|
||||
public:
|
||||
inline int32 NumAllocated() const { return Data.Num(); }
|
||||
|
||||
inline int32 Num() const { return NumAllocated() - NumFreeIndices; }
|
||||
inline int32 Max() const { return Data.Max(); }
|
||||
|
||||
inline bool IsValidIndex(int32 Index) const { return Data.IsValidIndex(Index) && AllocationFlags[Index]; }
|
||||
|
||||
inline bool IsValid() const { return Data.IsValid() && AllocationFlags.IsValid(); }
|
||||
|
||||
public:
|
||||
const ContainerImpl::FBitArray& GetAllocationFlags() const { return AllocationFlags; }
|
||||
|
||||
public:
|
||||
inline SparseArrayElementType& operator[](int32 Index) { VerifyIndex(Index); return *reinterpret_cast<SparseArrayElementType*>(&Data.GetUnsafe(Index).ElementData); }
|
||||
inline const SparseArrayElementType& operator[](int32 Index) const { VerifyIndex(Index); return *reinterpret_cast<SparseArrayElementType*>(&Data.GetUnsafe(Index).ElementData); }
|
||||
|
||||
inline bool operator==(const TSparseArray<SparseArrayElementType>& Other) const { return Data == Other.Data; }
|
||||
inline bool operator!=(const TSparseArray<SparseArrayElementType>& Other) const { return Data != Other.Data; }
|
||||
|
||||
public:
|
||||
template<typename T> friend Iterators::TSparseArrayIterator<T> begin(const TSparseArray& Array);
|
||||
template<typename T> friend Iterators::TSparseArrayIterator<T> end (const TSparseArray& Array);
|
||||
};
|
||||
|
||||
template<typename SetElementType>
|
||||
class TSet
|
||||
{
|
||||
private:
|
||||
static constexpr uint32 ElementAlign = alignof(SetElementType);
|
||||
static constexpr uint32 ElementSize = sizeof(SetElementType);
|
||||
|
||||
private:
|
||||
using SetDataType = ContainerImpl::SetElement<SetElementType>;
|
||||
using HashType = ContainerImpl::TInlineAllocator<1>::ForElementType<int32>;
|
||||
|
||||
private:
|
||||
TSparseArray<SetDataType> Elements;
|
||||
HashType Hash;
|
||||
int32 HashSize;
|
||||
|
||||
public:
|
||||
TSet()
|
||||
: HashSize(0)
|
||||
{
|
||||
}
|
||||
|
||||
TSet(TSet&&) = default;
|
||||
TSet(const TSet&) = default;
|
||||
|
||||
public:
|
||||
TSet& operator=(TSet&&) = default;
|
||||
TSet& operator=(const TSet&) = default;
|
||||
|
||||
private:
|
||||
inline void VerifyIndex(int32 Index) const { if (!IsValidIndex(Index)) throw std::out_of_range("Index was out of range!"); }
|
||||
|
||||
public:
|
||||
inline int32 NumAllocated() const { return Elements.NumAllocated(); }
|
||||
|
||||
inline int32 Num() const { return Elements.Num(); }
|
||||
inline int32 Max() const { return Elements.Max(); }
|
||||
|
||||
inline bool IsValidIndex(int32 Index) const { return Elements.IsValidIndex(Index); }
|
||||
|
||||
inline bool IsValid() const { return Elements.IsValid(); }
|
||||
|
||||
public:
|
||||
const ContainerImpl::FBitArray& GetAllocationFlags() const { return Elements.GetAllocationFlags(); }
|
||||
|
||||
public:
|
||||
inline SetElementType& operator[] (int32 Index) { return Elements[Index].Value; }
|
||||
inline const SetElementType& operator[] (int32 Index) const { return Elements[Index].Value; }
|
||||
|
||||
inline bool operator==(const TSet<SetElementType>& Other) const { return Elements == Other.Elements; }
|
||||
inline bool operator!=(const TSet<SetElementType>& Other) const { return Elements != Other.Elements; }
|
||||
|
||||
public:
|
||||
template<typename T> friend Iterators::TSetIterator<T> begin(const TSet& Set);
|
||||
template<typename T> friend Iterators::TSetIterator<T> end (const TSet& Set);
|
||||
};
|
||||
|
||||
template<typename KeyElementType, typename ValueElementType>
|
||||
class TMap
|
||||
{
|
||||
public:
|
||||
using ElementType = TPair<KeyElementType, ValueElementType>;
|
||||
|
||||
private:
|
||||
TSet<ElementType> Elements;
|
||||
|
||||
private:
|
||||
inline void VerifyIndex(int32 Index) const { if (!IsValidIndex(Index)) throw std::out_of_range("Index was out of range!"); }
|
||||
|
||||
public:
|
||||
inline int32 NumAllocated() const { return Elements.NumAllocated(); }
|
||||
|
||||
inline int32 Num() const { return Elements.Num(); }
|
||||
inline int32 Max() const { return Elements.Max(); }
|
||||
|
||||
inline bool IsValidIndex(int32 Index) const { return Elements.IsValidIndex(Index); }
|
||||
|
||||
inline bool IsValid() const { return Elements.IsValid(); }
|
||||
|
||||
public:
|
||||
const ContainerImpl::FBitArray& GetAllocationFlags() const { return Elements.GetAllocationFlags(); }
|
||||
|
||||
public:
|
||||
inline decltype(auto) Find(const KeyElementType& Key, bool(*Equals)(const KeyElementType& LeftKey, const KeyElementType& RightKey))
|
||||
{
|
||||
for (auto It = begin(*this); It != end(*this); ++It)
|
||||
{
|
||||
if (Equals(It->Key(), Key))
|
||||
return It;
|
||||
}
|
||||
|
||||
return end(*this);
|
||||
}
|
||||
|
||||
public:
|
||||
inline ElementType& operator[] (int32 Index) { return Elements[Index]; }
|
||||
inline const ElementType& operator[] (int32 Index) const { return Elements[Index]; }
|
||||
|
||||
inline bool operator==(const TMap<KeyElementType, ValueElementType>& Other) const { return Elements == Other.Elements; }
|
||||
inline bool operator!=(const TMap<KeyElementType, ValueElementType>& Other) const { return Elements != Other.Elements; }
|
||||
|
||||
public:
|
||||
template<typename KeyType, typename ValueType> friend Iterators::TMapIterator<KeyType, ValueType> begin(const TMap& Map);
|
||||
template<typename KeyType, typename ValueType> friend Iterators::TMapIterator<KeyType, ValueType> end (const TMap& Map);
|
||||
};
|
||||
|
||||
namespace Iterators
|
||||
{
|
||||
class FRelativeBitReference
|
||||
{
|
||||
protected:
|
||||
static constexpr int32 NumBitsPerDWORD = 32;
|
||||
static constexpr int32 NumBitsPerDWORDLogTwo = 5;
|
||||
|
||||
public:
|
||||
inline explicit FRelativeBitReference(int32 BitIndex)
|
||||
: WordIndex(BitIndex >> NumBitsPerDWORDLogTwo)
|
||||
, Mask(1 << (BitIndex & (NumBitsPerDWORD - 1)))
|
||||
{
|
||||
}
|
||||
|
||||
int32 WordIndex;
|
||||
uint32 Mask;
|
||||
};
|
||||
|
||||
class FSetBitIterator : public FRelativeBitReference
|
||||
{
|
||||
private:
|
||||
const ContainerImpl::FBitArray& Array;
|
||||
|
||||
uint32 UnvisitedBitMask;
|
||||
int32 CurrentBitIndex;
|
||||
int32 BaseBitIndex;
|
||||
|
||||
public:
|
||||
explicit FSetBitIterator(const ContainerImpl::FBitArray& InArray, int32 StartIndex = 0)
|
||||
: FRelativeBitReference(StartIndex)
|
||||
, Array(InArray)
|
||||
, UnvisitedBitMask((~0U) << (StartIndex & (NumBitsPerDWORD - 1)))
|
||||
, CurrentBitIndex(StartIndex)
|
||||
, BaseBitIndex(StartIndex & ~(NumBitsPerDWORD - 1))
|
||||
{
|
||||
if (StartIndex != Array.Num())
|
||||
FindFirstSetBit();
|
||||
}
|
||||
|
||||
public:
|
||||
inline FSetBitIterator& operator++()
|
||||
{
|
||||
UnvisitedBitMask &= ~this->Mask;
|
||||
|
||||
FindFirstSetBit();
|
||||
|
||||
return *this;
|
||||
}
|
||||
|
||||
inline explicit operator bool() const { return CurrentBitIndex < Array.Num(); }
|
||||
|
||||
inline bool operator==(const FSetBitIterator& Rhs) const { return CurrentBitIndex == Rhs.CurrentBitIndex && &Array == &Rhs.Array; }
|
||||
inline bool operator!=(const FSetBitIterator& Rhs) const { return CurrentBitIndex != Rhs.CurrentBitIndex || &Array != &Rhs.Array; }
|
||||
|
||||
public:
|
||||
inline int32 GetIndex() { return CurrentBitIndex; }
|
||||
|
||||
void FindFirstSetBit()
|
||||
{
|
||||
const uint32* ArrayData = Array.GetData();
|
||||
const int32 ArrayNum = Array.Num();
|
||||
const int32 LastWordIndex = (ArrayNum - 1) / NumBitsPerDWORD;
|
||||
|
||||
uint32 RemainingBitMask = ArrayData[this->WordIndex] & UnvisitedBitMask;
|
||||
while (!RemainingBitMask)
|
||||
{
|
||||
++this->WordIndex;
|
||||
BaseBitIndex += NumBitsPerDWORD;
|
||||
if (this->WordIndex > LastWordIndex)
|
||||
{
|
||||
CurrentBitIndex = ArrayNum;
|
||||
return;
|
||||
}
|
||||
|
||||
RemainingBitMask = ArrayData[this->WordIndex];
|
||||
UnvisitedBitMask = ~0;
|
||||
}
|
||||
|
||||
const uint32 NewRemainingBitMask = RemainingBitMask & (RemainingBitMask - 1);
|
||||
|
||||
this->Mask = NewRemainingBitMask ^ RemainingBitMask;
|
||||
|
||||
CurrentBitIndex = BaseBitIndex + NumBitsPerDWORD - 1 - ContainerImpl::HelperFunctions::CountLeadingZeros(this->Mask);
|
||||
|
||||
if (CurrentBitIndex > ArrayNum)
|
||||
CurrentBitIndex = ArrayNum;
|
||||
}
|
||||
};
|
||||
|
||||
template<typename ArrayType>
|
||||
class TArrayIterator
|
||||
{
|
||||
private:
|
||||
TArray<ArrayType>& IteratedArray;
|
||||
int32 Index;
|
||||
|
||||
public:
|
||||
TArrayIterator(const TArray<ArrayType>& Array, int32 StartIndex = 0x0)
|
||||
: IteratedArray(const_cast<TArray<ArrayType>&>(Array)), Index(StartIndex)
|
||||
{
|
||||
}
|
||||
|
||||
public:
|
||||
inline int32 GetIndex() { return Index; }
|
||||
|
||||
inline int32 IsValid() { return IteratedArray.IsValidIndex(GetIndex()); }
|
||||
|
||||
public:
|
||||
inline TArrayIterator& operator++() { ++Index; return *this; }
|
||||
inline TArrayIterator& operator--() { --Index; return *this; }
|
||||
|
||||
inline ArrayType& operator*() { return IteratedArray[GetIndex()]; }
|
||||
inline const ArrayType& operator*() const { return IteratedArray[GetIndex()]; }
|
||||
|
||||
inline ArrayType* operator->() { return &IteratedArray[GetIndex()]; }
|
||||
inline const ArrayType* operator->() const { return &IteratedArray[GetIndex()]; }
|
||||
|
||||
inline bool operator==(const TArrayIterator& Other) const { return &IteratedArray == &Other.IteratedArray && Index == Other.Index; }
|
||||
inline bool operator!=(const TArrayIterator& Other) const { return &IteratedArray != &Other.IteratedArray || Index != Other.Index; }
|
||||
};
|
||||
|
||||
template<class ContainerType>
|
||||
class TContainerIterator
|
||||
{
|
||||
private:
|
||||
ContainerType& IteratedContainer;
|
||||
FSetBitIterator BitIterator;
|
||||
|
||||
public:
|
||||
TContainerIterator(const ContainerType& Container, const ContainerImpl::FBitArray& BitArray, int32 StartIndex = 0x0)
|
||||
: IteratedContainer(const_cast<ContainerType&>(Container)), BitIterator(BitArray, StartIndex)
|
||||
{
|
||||
}
|
||||
|
||||
public:
|
||||
inline int32 GetIndex() { return BitIterator.GetIndex(); }
|
||||
|
||||
inline int32 IsValid() { return IteratedContainer.IsValidIndex(GetIndex()); }
|
||||
|
||||
public:
|
||||
inline TContainerIterator& operator++() { ++BitIterator; return *this; }
|
||||
inline TContainerIterator& operator--() { --BitIterator; return *this; }
|
||||
|
||||
inline auto& operator*() { return IteratedContainer[GetIndex()]; }
|
||||
inline const auto& operator*() const { return IteratedContainer[GetIndex()]; }
|
||||
|
||||
inline auto* operator->() { return &IteratedContainer[GetIndex()]; }
|
||||
inline const auto* operator->() const { return &IteratedContainer[GetIndex()]; }
|
||||
|
||||
inline bool operator==(const TContainerIterator& Other) const { return &IteratedContainer == &Other.IteratedContainer && BitIterator == Other.BitIterator; }
|
||||
inline bool operator!=(const TContainerIterator& Other) const { return &IteratedContainer != &Other.IteratedContainer || BitIterator != Other.BitIterator; }
|
||||
};
|
||||
}
|
||||
|
||||
inline Iterators::FSetBitIterator begin(const ContainerImpl::FBitArray& Array) { return Iterators::FSetBitIterator(Array, 0); }
|
||||
inline Iterators::FSetBitIterator end (const ContainerImpl::FBitArray& Array) { return Iterators::FSetBitIterator(Array, Array.Num()); }
|
||||
|
||||
template<typename T> inline Iterators::TArrayIterator<T> begin(const TArray<T>& Array) { return Iterators::TArrayIterator<T>(Array, 0); }
|
||||
template<typename T> inline Iterators::TArrayIterator<T> end (const TArray<T>& Array) { return Iterators::TArrayIterator<T>(Array, Array.Num()); }
|
||||
|
||||
template<typename T> inline Iterators::TSparseArrayIterator<T> begin(const TSparseArray<T>& Array) { return Iterators::TSparseArrayIterator<T>(Array, Array.GetAllocationFlags(), 0); }
|
||||
template<typename T> inline Iterators::TSparseArrayIterator<T> end (const TSparseArray<T>& Array) { return Iterators::TSparseArrayIterator<T>(Array, Array.GetAllocationFlags(), Array.NumAllocated()); }
|
||||
|
||||
template<typename T> inline Iterators::TSetIterator<T> begin(const TSet<T>& Set) { return Iterators::TSetIterator<T>(Set, Set.GetAllocationFlags(), 0); }
|
||||
template<typename T> inline Iterators::TSetIterator<T> end (const TSet<T>& Set) { return Iterators::TSetIterator<T>(Set, Set.GetAllocationFlags(), Set.NumAllocated()); }
|
||||
|
||||
template<typename T0, typename T1> inline Iterators::TMapIterator<T0, T1> begin(const TMap<T0, T1>& Map) { return Iterators::TMapIterator<T0, T1>(Map, Map.GetAllocationFlags(), 0); }
|
||||
template<typename T0, typename T1> inline Iterators::TMapIterator<T0, T1> end (const TMap<T0, T1>& Map) { return Iterators::TMapIterator<T0, T1>(Map, Map.GetAllocationFlags(), Map.NumAllocated()); }
|
||||
|
||||
#if defined(_WIN64)
|
||||
static_assert(sizeof(TArray<int32>) == 0x10, "TArray has a wrong size!");
|
||||
static_assert(sizeof(TSet<int32>) == 0x50, "TSet has a wrong size!");
|
||||
static_assert(sizeof(TMap<int32, int32>) == 0x50, "TMap has a wrong size!");
|
||||
#elif defined(_WIN32)
|
||||
static_assert(sizeof(TArray<int32>) == 0x0C, "TArray has a wrong size!");
|
||||
static_assert(sizeof(TSet<int32>) == 0x3C, "TSet has a wrong size!");
|
||||
static_assert(sizeof(TMap<int32, int32>) == 0x3C, "TMap has a wrong size!");
|
||||
#endif
|
||||
}
|
||||
1613
SleepAwake/UtfN.hpp
Normal file
1613
SleepAwake/UtfN.hpp
Normal file
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user