// 0x40 (0x2D8 - 0x298)
// Class Polaris.Barrier
class ABarrier : public AActor
{
public:
TArray<struct FWallBarrierGroup> WallBarrierGroups; // 0x298(0x10)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, NativeAccessSpecifierPublic)
TArray<struct FBarrierGroup> BarrierGroups; // 0x2A8(0x10)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, NativeAccessSpecifierPublic)
TArray<struct FWallBarrierGroup> WallCullBackGroups; // 0x2B8(0x10)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, NativeAccessSpecifierPublic)
TArray<struct FBarrierInitializeRequestOne> InitializeRequest; // 0x2C8(0x10)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, ContainsInstancedReference, NativeAccessSpecifierPublic)
static class UClass* StaticClass();
static class ABarrier* GetDefaultObj();
struct FBarrierInitializeRequestOne PopInitializeRequest();
};
// 0xD9 (0x3B1 - 0x2D8)
// BlueprintGeneratedClass BP_Barrier.BP_Barrier_C
class ABP_Barrier_C : public ABarrier
{
public:
struct FPointerToUberGraphFrame UberGraphFrame; // 0x2D8(0x8)(ZeroConstructor, Transient, DuplicateTransient)
class USceneComponent* DefaultSceneRoot; // 0x2E0(0x8)(BlueprintVisible, ZeroConstructor, InstancedReference, NonTransactional, NoDestructor, HasGetValueTypeHash)
double MinDistance; // 0x2E8(0x8)(Edit, BlueprintVisible, ZeroConstructor, DisableEditOnInstance, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
double MaxDistance; // 0x2F0(0x8)(Edit, BlueprintVisible, ZeroConstructor, DisableEditOnInstance, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
double MinHeight; // 0x2F8(0x8)(Edit, BlueprintVisible, ZeroConstructor, DisableEditOnInstance, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
double MaxHeight; // 0x300(0x8)(Edit, BlueprintVisible, ZeroConstructor, DisableEditOnInstance, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
double FloorHeightFB; // 0x308(0x8)(Edit, BlueprintVisible, ZeroConstructor, DisableEditOnInstance, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
double FloorBarrierAlphaOffset; // 0x310(0x8)(Edit, BlueprintVisible, ZeroConstructor, DisableEditOnInstance, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
TArray<class UMaterialInstanceDynamic*> MIDs; // 0x318(0x10)(Edit, BlueprintVisible, DisableEditOnInstance)
TArray<class ABP_WallBarrierCamera_C*> OverlapVolumes_DEPLICATED; // 0x328(0x10)(Edit, BlueprintVisible, DisableEditOnTemplate)
double OverlapVolumeCount_DEPLICATED; // 0x338(0x8)(Edit, BlueprintVisible, ZeroConstructor, DisableEditOnInstance, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
double PrevOverlapVolumeCount_DEPLICATED; // 0x340(0x8)(Edit, BlueprintVisible, ZeroConstructor, DisableEditOnInstance, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
bool UseOverlapVolumes_DEPLICATED; // 0x348(0x1)(Edit, BlueprintVisible, ZeroConstructor, DisableEditOnInstance, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
uint8 Pad_1C7A[0x7]; // Fixing Size After Last Property [ Dumper-7 ]
TArray<class UMaterialInstanceDynamic*> EffectMIDs; // 0x350(0x10)(Edit, BlueprintVisible, DisableEditOnInstance)
double FloorHeight; // 0x360(0x8)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
bool EnabledCullBack; // 0x368(0x1)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
bool QueuedVisibility; // 0x369(0x1)(Edit, BlueprintVisible, ZeroConstructor, DisableEditOnInstance, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
bool Queueing; // 0x36A(0x1)(Edit, BlueprintVisible, ZeroConstructor, DisableEditOnInstance, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
bool Initialized; // 0x36B(0x1)(Edit, BlueprintVisible, ZeroConstructor, DisableEditOnInstance, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
uint8 Pad_1C7B[0x4]; // Fixing Size After Last Property [ Dumper-7 ]
double DistanceScale; // 0x370(0x8)(Edit, BlueprintVisible, ZeroConstructor, DisableEditOnInstance, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
double AlphaOffset; // 0x378(0x8)(Edit, BlueprintVisible, ZeroConstructor, DisableEditOnInstance, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
struct FVector FacadeVector; // 0x380(0x18)(Edit, BlueprintVisible, ZeroConstructor, DisableEditOnInstance, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
bool LocalFacade; // 0x398(0x1)(Edit, BlueprintVisible, ZeroConstructor, DisableEditOnInstance, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
uint8 Pad_1C7C[0x7]; // Fixing Size After Last Property [ Dumper-7 ]
double AlphaOffset1; // 0x3A0(0x8)(Edit, BlueprintVisible, ZeroConstructor, DisableEditOnInstance, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
int32 Step; // 0x3A8(0x4)(Edit, BlueprintVisible, ZeroConstructor, DisableEditOnInstance, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
int32 NumReplaceTimeSlice; // 0x3AC(0x4)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
bool EveryBattle_StageReset; // 0x3B0(0x1)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
};
// 0xF (0x3C0 - 0x3B1)
// BlueprintGeneratedClass BP_BarrierCol1.BP_BarrierCol1_C
class ABP_BarrierCol1_C : public ABP_Barrier_C
{
public:
uint8 Pad_1035[0x7]; // Fixing Size After Last Property [ Dumper-7 ]
class UBoxComponent* Box; // 0x3B8(0x8)(BlueprintVisible, ZeroConstructor, InstancedReference, NonTransactional, NoDestructor, HasGetValueTypeHash)
static class UClass* StaticClass();
static class ABP_BarrierCol1_C* GetDefaultObj();
};
I don't think this bug was present in the original Kn4cker's SDK generator. So whatever algorithm he wrote to add paddings should also work here correctly.