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

113 lines
4.9 KiB
C++
Executable File

#pragma once
//PUBGM(0.13.5)32位SDK
//作者:清华
//Telegram:@qinghuanb666
//生成时间:Fri Apr 18 20:44:40 2025
namespace SDK
{
//---------------------------------------------------------------------------
//Enums
//---------------------------------------------------------------------------
// Enum Foliage.EFoliageScaling
enum class EFoliageScaling : uint8_t
{
EFoliageScaling__Uniform = 0,
EFoliageScaling__Free = 1,
EFoliageScaling__LockXY = 2,
EFoliageScaling__LockXZ = 3,
EFoliageScaling__LockYZ = 4,
EFoliageScaling__EFoliageScaling_MAX = 5
};
// Enum Foliage.EVertexColorMaskChannel
enum class EVertexColorMaskChannel : uint8_t
{
EVertexColorMaskChannel__Red = 0,
EVertexColorMaskChannel__Green = 1,
EVertexColorMaskChannel__Blue = 2,
EVertexColorMaskChannel__Alpha = 3,
EVertexColorMaskChannel__MAX_None = 4,
EVertexColorMaskChannel__EVertexColorMaskChannel_MAX = 5
};
// Enum Foliage.FoliageVertexColorMask
enum class EFoliageVertexColorMask : uint8_t
{
FOLIAGEVERTEXCOLORMASK_Disabled = 0,
FOLIAGEVERTEXCOLORMASK_Red = 1,
FOLIAGEVERTEXCOLORMASK_Green = 2,
FOLIAGEVERTEXCOLORMASK_Blue = 3,
FOLIAGEVERTEXCOLORMASK_Alpha = 4,
FOLIAGEVERTEXCOLORMASK_MAX = 5
};
// Enum Foliage.ESimulationQuery
enum class ESimulationQuery : uint8_t
{
ESimulationQuery__CollisionOverlap = 0,
ESimulationQuery__ShadeOverlap = 1,
ESimulationQuery__AnyOverlap = 2,
ESimulationQuery__ESimulationQuery_MAX = 3
};
// Enum Foliage.ESimulationOverlap
enum class ESimulationOverlap : uint8_t
{
ESimulationOverlap__CollisionOverlap = 0,
ESimulationOverlap__ShadeOverlap = 1,
ESimulationOverlap__None = 2,
ESimulationOverlap__ESimulationOverlap_MAX = 3
};
//---------------------------------------------------------------------------
//Script Structs
//---------------------------------------------------------------------------
// ScriptStruct Foliage.FoliageVertexColorChannelMask
// 0x000C
struct FFoliageVertexColorChannelMask
{
unsigned char UseMask : 1; // 0x0000(0x0001) (Edit)
unsigned char UnknownData00[0x3]; // 0x0001(0x0003) MISSED OFFSET
float MaskThreshold; // 0x0004(0x0004) (Edit, ZeroConstructor, IsPlainOldData)
unsigned char InvertMask : 1; // 0x0008(0x0001) (Edit)
unsigned char UnknownData01[0x3]; // 0x0009(0x0003) MISSED OFFSET
};
// ScriptStruct Foliage.FoliageTypeObject
// 0x0010
struct FFoliageTypeObject
{
class UObject* FoliageTypeObject; // 0x0000(0x0004) (Edit, ZeroConstructor, IsPlainOldData)
class UFoliageType_InstancedStaticMesh* TypeInstance; // 0x0004(0x0004) (ZeroConstructor, Transient, IsPlainOldData)
bool bIsAsset; // 0x0008(0x0001) (ZeroConstructor, IsPlainOldData)
unsigned char UnknownData00[0x3]; // 0x0009(0x0003) MISSED OFFSET
class UClass* Type; // 0x000C(0x0004) (ZeroConstructor, Deprecated, IsPlainOldData)
};
// ScriptStruct Foliage.ProceduralFoliageInstance
// 0x0050
struct FProceduralFoliageInstance
{
struct FVector Location; // 0x0000(0x000C) (Edit, BlueprintVisible, IsPlainOldData)
unsigned char UnknownData00[0x4]; // 0x000C(0x0004) MISSED OFFSET
struct FQuat Rotation; // 0x0010(0x0010) (IsPlainOldData)
struct FVector Normal; // 0x0020(0x000C) (Edit, BlueprintVisible, IsPlainOldData)
float Age; // 0x002C(0x0004) (Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData)
float Scale; // 0x0030(0x0004) (ZeroConstructor, IsPlainOldData)
class UFoliageType_InstancedStaticMesh* Type; // 0x0034(0x0004) (ZeroConstructor, IsPlainOldData)
unsigned char UnknownData01[0x18]; // 0x0038(0x0018) MISSED OFFSET
};
}