Files
PMDT/structures/data/SDK/PUBGM_Foliage_classes.hpp
2026-05-03 13:32:50 +08:00

355 lines
25 KiB
C++
Executable File

#pragma once
//PUBGM(0.13.5)32位SDK
//作者:清华
//Telegram:@qinghuanb666
//生成时间:Fri Apr 18 20:44:40 2025
namespace SDK
{
//---------------------------------------------------------------------------
//Classes
//---------------------------------------------------------------------------
// Class Foliage.FoliageInstancedStaticMeshComponent
// 0x0010 (0x07F0 - 0x07E0)
class UFoliageInstancedStaticMeshComponent : public UHierarchicalInstancedStaticMeshComponent
{
public:
unsigned char UnknownData00[0x4]; // 0x07E0(0x0004) MISSED OFFSET
struct FScriptMulticastDelegate OnInstanceTakeRadialDamage; // 0x07E4(0x000C) (ZeroConstructor, InstancedReference, BlueprintAssignable)
static UClass* StaticClass()
{
static UClass *pStaticClass = 0;
if (!pStaticClass)
pStaticClass = UObject::FindClass("Class Foliage.FoliageInstancedStaticMeshComponent");
return pStaticClass;
}
};
// Class Foliage.FoliageStatistics
// 0x0000 (0x0020 - 0x0020)
class UFoliageStatistics : public UBlueprintFunctionLibrary
{
public:
static UClass* StaticClass()
{
static UClass *pStaticClass = 0;
if (!pStaticClass)
pStaticClass = UObject::FindClass("Class Foliage.FoliageStatistics");
return pStaticClass;
}
static int FoliageOverlappingSphereCount(class UObject* WorldContextObject, class UStaticMesh* StaticMesh, const struct FVector& CenterPosition, float Radius);
static int FoliageOverlappingBoxCount(class UObject* WorldContextObject, class UStaticMesh* StaticMesh, const struct FBox& Box);
};
// Class Foliage.FoliageType
// 0x0394 (0x03B0 - 0x001C)
class UFoliageType : public UObject
{
public:
unsigned char UnknownData00[0x10]; // 0x001C(0x0010) MISSED OFFSET
float Density; // 0x002C(0x0004) (Edit, ZeroConstructor, IsPlainOldData)
float DensityAdjustmentFactor; // 0x0030(0x0004) (Edit, ZeroConstructor, IsPlainOldData)
float Radius; // 0x0034(0x0004) (Edit, ZeroConstructor, IsPlainOldData)
EFoliageScaling Scaling; // 0x0038(0x0001) (Edit, ZeroConstructor, IsPlainOldData)
unsigned char UnknownData01[0x3]; // 0x0039(0x0003) MISSED OFFSET
struct FFloatInterval ScaleX; // 0x003C(0x0008) (Edit)
struct FFloatInterval ScaleY; // 0x0044(0x0008) (Edit)
struct FFloatInterval ScaleZ; // 0x004C(0x0008) (Edit)
struct FFoliageVertexColorChannelMask VertexColorMaskByChannel[0x4]; // 0x0054(0x000C) (Edit)
TEnumAsByte<EFoliageVertexColorMask> VertexColorMask; // 0x0084(0x0001) (ZeroConstructor, Deprecated, IsPlainOldData)
unsigned char UnknownData02[0x3]; // 0x0085(0x0003) MISSED OFFSET
float VertexColorMaskThreshold; // 0x0088(0x0004) (ZeroConstructor, Deprecated, IsPlainOldData)
unsigned char VertexColorMaskInvert : 1; // 0x008C(0x0001) (Deprecated)
unsigned char UnknownData03[0x3]; // 0x008D(0x0003) MISSED OFFSET
struct FFloatInterval ZOffset; // 0x0090(0x0008) (Edit)
unsigned char AlignToNormal : 1; // 0x0098(0x0001) (Edit)
unsigned char UnknownData04[0x3]; // 0x0099(0x0003) MISSED OFFSET
float AlignMaxAngle; // 0x009C(0x0004) (Edit, ZeroConstructor, IsPlainOldData)
unsigned char RandomYaw : 1; // 0x00A0(0x0001) (Edit)
unsigned char UnknownData05[0x3]; // 0x00A1(0x0003) MISSED OFFSET
float RandomPitchAngle; // 0x00A4(0x0004) (Edit, ZeroConstructor, IsPlainOldData)
struct FFloatInterval GroundSlopeAngle; // 0x00A8(0x0008) (Edit)
struct FFloatInterval Height; // 0x00B0(0x0008) (Edit)
TArray<struct FName> LandscapeLayers; // 0x00B8(0x000C) (Edit, ZeroConstructor)
unsigned char UnknownData06[0x4]; // 0x00C4(0x0004) MISSED OFFSET
struct FName LandscapeLayer; // 0x00C8(0x0008) (ZeroConstructor, Deprecated, IsPlainOldData)
unsigned char CollisionWithWorld : 1; // 0x00D0(0x0001) (Edit)
unsigned char UnknownData07[0x3]; // 0x00D1(0x0003) MISSED OFFSET
struct FVector CollisionScale; // 0x00D4(0x000C) (Edit, IsPlainOldData)
float MinimumLayerWeight; // 0x00E0(0x0004) (Edit, ZeroConstructor, IsPlainOldData)
struct FBoxSphereBounds MeshBounds; // 0x00E4(0x001C) (IsPlainOldData)
struct FVector LowBoundOriginRadius; // 0x0100(0x000C) (IsPlainOldData)
TEnumAsByte<EComponentMobility> Mobility; // 0x010C(0x0001) (Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, IsPlainOldData)
unsigned char UnknownData08[0x3]; // 0x010D(0x0003) MISSED OFFSET
struct FInt32Interval CullDistance; // 0x0110(0x0008) (Edit)
unsigned char bEnableStaticLighting : 1; // 0x0118(0x0001) (Deprecated)
unsigned char CastShadow : 1; // 0x0118(0x0001) (Edit, BlueprintVisible, BlueprintReadOnly)
unsigned char bAffectDynamicIndirectLighting : 1; // 0x0118(0x0001) (Edit, BlueprintVisible, BlueprintReadOnly)
unsigned char bAffectDistanceFieldLighting : 1; // 0x0118(0x0001) (Edit, BlueprintVisible, BlueprintReadOnly)
unsigned char bCastDynamicShadow : 1; // 0x0118(0x0001) (Edit, BlueprintVisible, BlueprintReadOnly)
unsigned char bCastStaticShadow : 1; // 0x0118(0x0001) (Edit, BlueprintVisible, BlueprintReadOnly)
unsigned char bCastShadowAsTwoSided : 1; // 0x0118(0x0001) (Edit, BlueprintVisible, BlueprintReadOnly)
unsigned char bReceivesDecals : 1; // 0x0118(0x0001) (Edit, BlueprintVisible, BlueprintReadOnly)
unsigned char bOverrideLightMapRes : 1; // 0x0119(0x0001) (Edit, BlueprintVisible, BlueprintReadOnly)
unsigned char UnknownData09[0x2]; // 0x011A(0x0002) MISSED OFFSET
int OverriddenLightMapRes; // 0x011C(0x0004) (Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, IsPlainOldData)
unsigned char bUseAsOccluder : 1; // 0x0120(0x0001) (Edit, BlueprintVisible, BlueprintReadOnly)
unsigned char UnknownData10[0xF]; // 0x0121(0x000F) MISSED OFFSET
struct FBodyInstance BodyInstance; // 0x0130(0x01D0) (Edit)
TEnumAsByte<EHasCustomNavigableGeometry> CustomNavigableGeometry; // 0x0300(0x0001) (Edit, ZeroConstructor, IsPlainOldData)
struct FLightingChannels LightingChannels; // 0x0301(0x0001) (Edit, BlueprintVisible, BlueprintReadOnly)
unsigned char bRenderCustomDepth : 1; // 0x0302(0x0001) (Edit, BlueprintVisible, BlueprintReadOnly)
unsigned char UnknownData11[0x1]; // 0x0303(0x0001) MISSED OFFSET
int CustomDepthStencilValue; // 0x0304(0x0004) (Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, IsPlainOldData)
float CollisionRadius; // 0x0308(0x0004) (Edit, ZeroConstructor, IsPlainOldData)
float ShadeRadius; // 0x030C(0x0004) (Edit, ZeroConstructor, IsPlainOldData)
int NumSteps; // 0x0310(0x0004) (Edit, ZeroConstructor, IsPlainOldData)
float InitialSeedDensity; // 0x0314(0x0004) (Edit, ZeroConstructor, IsPlainOldData)
float AverageSpreadDistance; // 0x0318(0x0004) (Edit, ZeroConstructor, IsPlainOldData)
float SpreadVariance; // 0x031C(0x0004) (Edit, ZeroConstructor, IsPlainOldData)
int SeedsPerStep; // 0x0320(0x0004) (Edit, ZeroConstructor, IsPlainOldData)
int DistributionSeed; // 0x0324(0x0004) (Edit, ZeroConstructor, IsPlainOldData)
float MaxInitialSeedOffset; // 0x0328(0x0004) (Edit, ZeroConstructor, IsPlainOldData)
bool bCanGrowInShade; // 0x032C(0x0001) (Edit, ZeroConstructor, IsPlainOldData)
bool bSpawnsInShade; // 0x032D(0x0001) (Edit, ZeroConstructor, IsPlainOldData)
unsigned char UnknownData12[0x2]; // 0x032E(0x0002) MISSED OFFSET
float MaxInitialAge; // 0x0330(0x0004) (Edit, ZeroConstructor, IsPlainOldData)
float MaxAge; // 0x0334(0x0004) (Edit, ZeroConstructor, IsPlainOldData)
float OverlapPriority; // 0x0338(0x0004) (Edit, ZeroConstructor, IsPlainOldData)
struct FFloatInterval ProceduralScale; // 0x033C(0x0008) (Edit)
struct FRuntimeFloatCurve ScaleCurve; // 0x0344(0x0058) (Edit)
int ChangeCount; // 0x039C(0x0004) (ZeroConstructor, IsPlainOldData)
unsigned char ReapplyDensity : 1; // 0x03A0(0x0001) (Edit, DisableEditOnInstance)
unsigned char ReapplyRadius : 1; // 0x03A0(0x0001) (Edit, DisableEditOnInstance)
unsigned char ReapplyAlignToNormal : 1; // 0x03A0(0x0001) (Edit, DisableEditOnInstance)
unsigned char ReapplyRandomYaw : 1; // 0x03A0(0x0001) (Edit, DisableEditOnInstance)
unsigned char ReapplyScaling : 1; // 0x03A0(0x0001) (Edit, DisableEditOnInstance)
unsigned char ReapplyScaleX : 1; // 0x03A0(0x0001) (Edit, DisableEditOnInstance)
unsigned char ReapplyScaleY : 1; // 0x03A0(0x0001) (Edit, DisableEditOnInstance)
unsigned char ReapplyScaleZ : 1; // 0x03A0(0x0001) (Edit, DisableEditOnInstance)
unsigned char ReapplyRandomPitchAngle : 1; // 0x03A1(0x0001) (Edit, DisableEditOnInstance)
unsigned char ReapplyGroundSlope : 1; // 0x03A1(0x0001) (Edit, DisableEditOnInstance)
unsigned char ReapplyHeight : 1; // 0x03A1(0x0001) (Edit, DisableEditOnInstance)
unsigned char ReapplyLandscapeLayers : 1; // 0x03A1(0x0001) (Edit, DisableEditOnInstance)
unsigned char ReapplyZOffset : 1; // 0x03A1(0x0001) (Edit, DisableEditOnInstance)
unsigned char ReapplyCollisionWithWorld : 1; // 0x03A1(0x0001) (Edit, DisableEditOnInstance)
unsigned char ReapplyVertexColorMask : 1; // 0x03A1(0x0001) (Edit, DisableEditOnInstance)
unsigned char bEnableDensityScaling : 1; // 0x03A1(0x0001) (Edit)
unsigned char UnknownData13[0xE]; // 0x03A2(0x000E) MISSED OFFSET
static UClass* StaticClass()
{
static UClass *pStaticClass = 0;
if (!pStaticClass)
pStaticClass = UObject::FindClass("Class Foliage.FoliageType");
return pStaticClass;
}
};
// Class Foliage.FoliageType_InstancedStaticMesh
// 0x0010 (0x03C0 - 0x03B0)
class UFoliageType_InstancedStaticMesh : public UFoliageType
{
public:
unsigned char UnknownData00[0x4]; // 0x03B0(0x0004) MISSED OFFSET
class UClass* ComponentClass; // 0x03B4(0x0004) (Edit, ZeroConstructor, IsPlainOldData)
unsigned char UnknownData01[0x8]; // 0x03B8(0x0008) MISSED OFFSET
static UClass* StaticClass()
{
static UClass *pStaticClass = 0;
if (!pStaticClass)
pStaticClass = UObject::FindClass("Class Foliage.FoliageType_InstancedStaticMesh");
return pStaticClass;
}
};
// Class Foliage.InstancedFoliageActor
// 0x0040 (0x02F8 - 0x02B8)
class AInstancedFoliageActor : public AActor
{
public:
unsigned char UnknownData00[0x40]; // 0x02B8(0x0040) MISSED OFFSET
static UClass* StaticClass()
{
static UClass *pStaticClass = 0;
if (!pStaticClass)
pStaticClass = UObject::FindClass("Class Foliage.InstancedFoliageActor");
return pStaticClass;
}
};
// Class Foliage.InteractiveFoliageActor
// 0x0058 (0x0318 - 0x02C0)
class AInteractiveFoliageActor : public AStaticMeshActor
{
public:
class UCapsuleComponent* CapsuleComponent; // 0x02C0(0x0004) (ExportObject, ZeroConstructor, InstancedReference, IsPlainOldData)
struct FVector TouchingActorEntryPosition; // 0x02C4(0x000C) (Transient, IsPlainOldData)
struct FVector FoliageVelocity; // 0x02D0(0x000C) (Transient, IsPlainOldData)
struct FVector FoliageForce; // 0x02DC(0x000C) (Transient, IsPlainOldData)
struct FVector FoliagePosition; // 0x02E8(0x000C) (Transient, IsPlainOldData)
float FoliageDamageImpulseScale; // 0x02F4(0x0004) (Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData)
float FoliageTouchImpulseScale; // 0x02F8(0x0004) (Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData)
float FoliageStiffness; // 0x02FC(0x0004) (Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData)
float FoliageStiffnessQuadratic; // 0x0300(0x0004) (Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData)
float FoliageDamping; // 0x0304(0x0004) (Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData)
float MaxDamageImpulse; // 0x0308(0x0004) (Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData)
float MaxTouchImpulse; // 0x030C(0x0004) (Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData)
float MaxForce; // 0x0310(0x0004) (Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData)
float Mass; // 0x0314(0x0004) (ZeroConstructor, IsPlainOldData)
static UClass* StaticClass()
{
static UClass *pStaticClass = 0;
if (!pStaticClass)
pStaticClass = UObject::FindClass("Class Foliage.InteractiveFoliageActor");
return pStaticClass;
}
void CapsuleTouched(class UPrimitiveComponent* OverlappedComp, class AActor* Other, class UPrimitiveComponent* OtherComp, int OtherBodyIndex, bool bFromSweep, const struct FHitResult& OverlapInfo);
};
// Class Foliage.InteractiveFoliageComponent
// 0x0000 (0x0660 - 0x0660)
class UInteractiveFoliageComponent : public UStaticMeshComponent
{
public:
static UClass* StaticClass()
{
static UClass *pStaticClass = 0;
if (!pStaticClass)
pStaticClass = UObject::FindClass("Class Foliage.InteractiveFoliageComponent");
return pStaticClass;
}
};
// Class Foliage.ProceduralFoliageBlockingVolume
// 0x0008 (0x02E8 - 0x02E0)
class AProceduralFoliageBlockingVolume : public AVolume
{
public:
class AProceduralFoliageVolume* ProceduralFoliageVolume; // 0x02E0(0x0004) (Edit, ZeroConstructor, IsPlainOldData)
unsigned char UnknownData00[0x4]; // 0x02E4(0x0004) MISSED OFFSET
static UClass* StaticClass()
{
static UClass *pStaticClass = 0;
if (!pStaticClass)
pStaticClass = UObject::FindClass("Class Foliage.ProceduralFoliageBlockingVolume");
return pStaticClass;
}
};
// Class Foliage.ProceduralFoliageComponent
// 0x0018 (0x00D8 - 0x00C0)
class UProceduralFoliageComponent : public UActorComponent
{
public:
float TileOverlap; // 0x00C0(0x0004) (Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData)
class AVolume* SpawningVolume; // 0x00C4(0x0004) (ZeroConstructor, IsPlainOldData)
struct FGuid ProceduralGuid; // 0x00C8(0x0010) (IsPlainOldData)
static UClass* StaticClass()
{
static UClass *pStaticClass = 0;
if (!pStaticClass)
pStaticClass = UObject::FindClass("Class Foliage.ProceduralFoliageComponent");
return pStaticClass;
}
};
// Class Foliage.ProceduralFoliageSpawner
// 0x003C (0x0058 - 0x001C)
class UProceduralFoliageSpawner : public UObject
{
public:
unsigned char UnknownData00[0x4]; // 0x001C(0x0004) MISSED OFFSET
float TileSize; // 0x0020(0x0004) (Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, IsPlainOldData)
int NumUniqueTiles; // 0x0024(0x0004) (Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, IsPlainOldData)
float MinimumQuadTreeSize; // 0x0028(0x0004) (Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, IsPlainOldData)
unsigned char UnknownData01[0x4]; // 0x002C(0x0004) MISSED OFFSET
TArray<struct FFoliageTypeObject> FoliageTypes; // 0x0030(0x000C) (Edit, ZeroConstructor)
bool bNeedsSimulation; // 0x003C(0x0001) (ZeroConstructor, IsPlainOldData)
unsigned char UnknownData02[0x1B]; // 0x003D(0x001B) MISSED OFFSET
static UClass* StaticClass()
{
static UClass *pStaticClass = 0;
if (!pStaticClass)
pStaticClass = UObject::FindClass("Class Foliage.ProceduralFoliageSpawner");
return pStaticClass;
}
void Simulate(int NumSteps);
};
// Class Foliage.ProceduralFoliageTile
// 0x00E4 (0x0100 - 0x001C)
class UProceduralFoliageTile : public UObject
{
public:
unsigned char UnknownData00[0x7C]; // 0x001C(0x007C) MISSED OFFSET
TArray<struct FProceduralFoliageInstance> InstancesArray; // 0x0098(0x000C) (ZeroConstructor)
unsigned char UnknownData01[0x5C]; // 0x00A4(0x005C) MISSED OFFSET
static UClass* StaticClass()
{
static UClass *pStaticClass = 0;
if (!pStaticClass)
pStaticClass = UObject::FindClass("Class Foliage.ProceduralFoliageTile");
return pStaticClass;
}
};
// Class Foliage.ProceduralFoliageVolume
// 0x0008 (0x02E8 - 0x02E0)
class AProceduralFoliageVolume : public AVolume
{
public:
class UProceduralFoliageComponent* ProceduralComponent; // 0x02E0(0x0004) (Edit, BlueprintVisible, ExportObject, BlueprintReadOnly, ZeroConstructor, EditConst, InstancedReference, IsPlainOldData)
unsigned char UnknownData00[0x4]; // 0x02E4(0x0004) MISSED OFFSET
static UClass* StaticClass()
{
static UClass *pStaticClass = 0;
if (!pStaticClass)
pStaticClass = UObject::FindClass("Class Foliage.ProceduralFoliageVolume");
return pStaticClass;
}
};
}