#pragma once //PUBGM(0.13.5)32位SDK //作者:清华 //Telegram:@qinghuanb666 //生成时间:Fri Apr 18 20:44:40 2025 namespace SDK { //--------------------------------------------------------------------------- //Classes //--------------------------------------------------------------------------- // Class OceanPlugin.AdvancedBuoyancyComponent // 0x0100 (0x03C0 - 0x02C0) class UAdvancedBuoyancyComponent : public USceneComponent { public: bool bUseDrag; // 0x02C0(0x0001) (Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData) bool bDebugOn; // 0x02C1(0x0001) (Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData) unsigned char UnknownData00[0x2]; // 0x02C2(0x0002) MISSED OFFSET class AOceanManager* TheOcean; // 0x02C4(0x0004) (Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData) float WaterDensity; // 0x02C8(0x0004) (Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData) float Gravity; // 0x02CC(0x0004) (Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData) float MeshDensity; // 0x02D0(0x0004) (Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData) unsigned char UnknownData01[0xC]; // 0x02D4(0x000C) MISSED OFFSET class UStaticMeshComponent* BuoyantMesh; // 0x02E0(0x0004) (Edit, BlueprintVisible, ExportObject, ZeroConstructor, InstancedReference, IsPlainOldData) unsigned char UnknownData02[0xC]; // 0x02E4(0x000C) MISSED OFFSET struct FTransform MeshTransform; // 0x02F0(0x0030) (Edit, BlueprintVisible, IsPlainOldData) float FalseVolume; // 0x0320(0x0004) (Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData) float BuoyancyReductionCoefficient; // 0x0324(0x0004) (Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData) float BuoyancyPitchReductionCoefficient; // 0x0328(0x0004) (Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData) float DensityCorrection; // 0x032C(0x0004) (Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData) float DensityCorrectionModifier; // 0x0330(0x0004) (Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData) float SubmergedVolume; // 0x0334(0x0004) (Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData) float ImpactCoefficient; // 0x0338(0x0004) (Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData) struct FVector DragCoefficient; // 0x033C(0x000C) (Edit, BlueprintVisible, IsPlainOldData) struct FVector SuctionCoefficient; // 0x0348(0x000C) (Edit, BlueprintVisible, IsPlainOldData) float ViscousDragCoefficient; // 0x0354(0x0004) (Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData) float MaxSlamAcceleration; // 0x0358(0x0004) (Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData) TArray AdvancedGridHeight; // 0x035C(0x000C) (Edit, BlueprintVisible, ZeroConstructor) TArray SubmergedTris; // 0x0368(0x000C) (Edit, BlueprintVisible, ZeroConstructor) TArray TriSizes; // 0x0374(0x000C) (Edit, BlueprintVisible, ZeroConstructor) TArray TriSubmergedArea; // 0x0380(0x000C) (Edit, BlueprintVisible, ZeroConstructor) unsigned char UnknownData03[0x34]; // 0x038C(0x0034) MISSED OFFSET static UClass* StaticClass() { static UClass *pStaticClass = 0; if (!pStaticClass) pStaticClass = UObject::FindClass("Class OceanPlugin.AdvancedBuoyancyComponent"); return pStaticClass; } float TriangleArea(const struct FVector& A, const struct FVector& B, const struct FVector& C); TArray SplitTriangle(const struct FBuoyancyVertex& H, const struct FBuoyancyVertex& M, const struct FBuoyancyVertex& L, const struct FVector& InArrow); void SetMeshDensity(float NewDensity, float NewWaterDensity); float GetOceanDepthFromGrid(const struct FVector& Position, bool bJustGetHeightAtLocation); void GetOcean(); void DrawDebugStuff(const struct FForceTriangle& TriForce, const struct FColor& debugColor); void ApplySlamForce(const struct FVector& SlamForce, const struct FVector& TriCenter); void ApplyForce(const struct FForceTriangle& TriForce); }; // Class OceanPlugin.BuoyancyComponent // 0x0078 (0x0170 - 0x00F8) class UBuoyancyComponent : public UMovementComponent { public: float MeshDensity; // 0x00F8(0x0004) (Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData) float FluidDensity; // 0x00FC(0x0004) (Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData) float FluidLinearDamping; // 0x0100(0x0004) (Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData) float FluidAngularDamping; // 0x0104(0x0004) (Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData) struct FVector VelocityDamper; // 0x0108(0x000C) (Edit, BlueprintVisible, IsPlainOldData) bool ClampMaxVelocity; // 0x0114(0x0001) (Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData) unsigned char UnknownData00[0x3]; // 0x0115(0x0003) MISSED OFFSET float MaxUnderwaterVelocity; // 0x0118(0x0004) (Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData) float TestPointRadius; // 0x011C(0x0004) (Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData) TArray TestPoints; // 0x0120(0x000C) (Edit, BlueprintVisible, ZeroConstructor) TArray PointDensityOverride; // 0x012C(0x000C) (Edit, BlueprintVisible, ZeroConstructor) bool DrawDebugPoints; // 0x0138(0x0001) (Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData) bool EnableStayUprightConstraint; // 0x0139(0x0001) (Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData) unsigned char UnknownData01[0x2]; // 0x013A(0x0002) MISSED OFFSET float StayUprightStiffness; // 0x013C(0x0004) (Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData) float StayUprightDamping; // 0x0140(0x0004) (Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData) struct FRotator StayUprightDesiredRotation; // 0x0144(0x000C) (Edit, BlueprintVisible, IsPlainOldData) bool EnableWaveForces; // 0x0150(0x0001) (Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData) unsigned char UnknownData02[0x3]; // 0x0151(0x0003) MISSED OFFSET float WaveForceMultiplier; // 0x0154(0x0004) (Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData) unsigned char UnknownData03[0x18]; // 0x0158(0x0018) MISSED OFFSET static UClass* StaticClass() { static UClass *pStaticClass = 0; if (!pStaticClass) pStaticClass = UObject::FindClass("Class OceanPlugin.BuoyancyComponent"); return pStaticClass; } }; // Class OceanPlugin.BuoyancyForceComponent // 0x0090 (0x0350 - 0x02C0) class UBuoyancyForceComponent : public USceneComponent { public: class AOceanManager* OceanManager; // 0x02C0(0x0004) (Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData) float MeshDensity; // 0x02C4(0x0004) (Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData) float FluidDensity; // 0x02C8(0x0004) (Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData) float FluidLinearDamping; // 0x02CC(0x0004) (Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData) float FluidAngularDamping; // 0x02D0(0x0004) (Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData) struct FVector VelocityDamper; // 0x02D4(0x000C) (Edit, BlueprintVisible, IsPlainOldData) bool ClampMaxVelocity; // 0x02E0(0x0001) (Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData) unsigned char UnknownData00[0x3]; // 0x02E1(0x0003) MISSED OFFSET float MaxUnderwaterVelocity; // 0x02E4(0x0004) (Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData) float TestPointRadius; // 0x02E8(0x0004) (Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData) TArray TestPoints; // 0x02EC(0x000C) (Edit, BlueprintVisible, ZeroConstructor) bool ApplyForceToBones; // 0x02F8(0x0001) (Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData) bool SnapToSurfaceIfNoPhysics; // 0x02F9(0x0001) (Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData) bool TwoGerstnerIterations; // 0x02FA(0x0001) (Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData) unsigned char UnknownData01[0x1]; // 0x02FB(0x0001) MISSED OFFSET TArray PointDensityOverride; // 0x02FC(0x000C) (Edit, BlueprintVisible, ZeroConstructor) TArray BoneOverride; // 0x0308(0x000C) (Edit, BlueprintVisible, ZeroConstructor) bool DrawDebugPoints; // 0x0314(0x0001) (Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData) bool EnableStayUprightConstraint; // 0x0315(0x0001) (Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData) unsigned char UnknownData02[0x2]; // 0x0316(0x0002) MISSED OFFSET float StayUprightStiffness; // 0x0318(0x0004) (Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData) float StayUprightDamping; // 0x031C(0x0004) (Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData) struct FRotator StayUprightDesiredRotation; // 0x0320(0x000C) (Edit, BlueprintVisible, IsPlainOldData) bool EnableWaveForces; // 0x032C(0x0001) (Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData) unsigned char UnknownData03[0x3]; // 0x032D(0x0003) MISSED OFFSET float WaveForceMultiplier; // 0x0330(0x0004) (Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData) class USceneComponent* UpdatedComponent; // 0x0334(0x0004) (ExportObject, ZeroConstructor, Transient, InstancedReference, IsPlainOldData) TEnumAsByte TickGroup; // 0x0338(0x0001) (Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData) unsigned char UnknownData04[0x17]; // 0x0339(0x0017) MISSED OFFSET static UClass* StaticClass() { static UClass *pStaticClass = 0; if (!pStaticClass) pStaticClass = UObject::FindClass("Class OceanPlugin.BuoyancyForceComponent"); return pStaticClass; } }; // Class OceanPlugin.BuoyantMeshComponent // 0x0050 (0x06B0 - 0x0660) class UBuoyantMeshComponent : public UStaticMeshComponent { public: bool bVerticalForcesOnly; // 0x0660(0x0001) (Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData) bool bUseWaterPatch; // 0x0661(0x0001) (Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData) bool bUseStaticForces; // 0x0662(0x0001) (Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData) bool bUseDynamicForces; // 0x0663(0x0001) (Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData) class AOceanManager* OceanManager; // 0x0664(0x0004) (Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData) bool bDrawForceArrows; // 0x0668(0x0001) (Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData) bool bDrawWaterline; // 0x0669(0x0001) (Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData) bool bDrawVertices; // 0x066A(0x0001) (Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData) bool bDrawTriangles; // 0x066B(0x0001) (Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData) bool bDrawSubtriangles; // 0x066C(0x0001) (Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData) unsigned char UnknownData00[0x3]; // 0x066D(0x0003) MISSED OFFSET float ForceArrowSize; // 0x0670(0x0004) (Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData) bool bOverrideMeshDensity; // 0x0674(0x0001) (Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData) unsigned char UnknownData01[0x3]; // 0x0675(0x0003) MISSED OFFSET float MeshDensity; // 0x0678(0x0004) (Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData) bool bOverrideMass; // 0x067C(0x0001) (Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData) unsigned char UnknownData02[0x3]; // 0x067D(0x0003) MISSED OFFSET float Mass; // 0x0680(0x0004) (Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData) float WaterDensity; // 0x0684(0x0004) (Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData) unsigned char UnknownData03[0x18]; // 0x0688(0x0018) MISSED OFFSET class UWaterHeightmapComponent* WaterHeightmap; // 0x06A0(0x0004) (ExportObject, ZeroConstructor, InstancedReference, IsPlainOldData) unsigned char UnknownData04[0xC]; // 0x06A4(0x000C) MISSED OFFSET static UClass* StaticClass() { static UClass *pStaticClass = 0; if (!pStaticClass) pStaticClass = UObject::FindClass("Class OceanPlugin.BuoyantMeshComponent"); return pStaticClass; } }; // Class OceanPlugin.FishManager // 0x0048 (0x0300 - 0x02B8) class AFishManager : public AActor { public: TArray flockTypes; // 0x02B8(0x000C) (Edit, BlueprintVisible, ZeroConstructor) TArray numInFlock; // 0x02C4(0x000C) (Edit, BlueprintVisible, ZeroConstructor) float minZ; // 0x02D0(0x0004) (Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData) float maxZ; // 0x02D4(0x0004) (Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData) float underwaterBoxLength; // 0x02D8(0x0004) (Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData) bool attachToPlayer; // 0x02DC(0x0001) (Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData) bool DebugMode; // 0x02DD(0x0001) (Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData) unsigned char UnknownData00[0x2]; // 0x02DE(0x0002) MISSED OFFSET class UClass* PlayerType; // 0x02E0(0x0004) (Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData) class AActor* Player; // 0x02E4(0x0004) (ZeroConstructor, IsPlainOldData) unsigned char UnknownData01[0x18]; // 0x02E8(0x0018) MISSED OFFSET static UClass* StaticClass() { static UClass *pStaticClass = 0; if (!pStaticClass) pStaticClass = UObject::FindClass("Class OceanPlugin.FishManager"); return pStaticClass; } }; // Class OceanPlugin.FlockFish // 0x0140 (0x0440 - 0x0300) class AFlockFish : public APawn { public: unsigned char UnknownData00[0x4]; // 0x0300(0x0004) MISSED OFFSET class USphereComponent* FishInteractionSphere; // 0x0304(0x0004) (Edit, BlueprintVisible, ExportObject, BlueprintReadOnly, ZeroConstructor, EditConst, InstancedReference, IsPlainOldData) bool isLeader; // 0x0308(0x0001) (Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData) unsigned char UnknownData01[0x3]; // 0x0309(0x0003) MISSED OFFSET TArray enemyTypes; // 0x030C(0x000C) (Edit, BlueprintVisible, ZeroConstructor) TArray preyTypes; // 0x0318(0x000C) (Edit, BlueprintVisible, ZeroConstructor) class UClass* neighborType; // 0x0324(0x0004) (Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData) float followDist; // 0x0328(0x0004) (Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData) float Speed; // 0x032C(0x0004) (Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData) float MaxSpeed; // 0x0330(0x0004) (Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData) float TurnSpeed; // 0x0334(0x0004) (Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData) float turnFrequency; // 0x0338(0x0004) (Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData) float hungerResetTime; // 0x033C(0x0004) (Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData) float distBehindSpeedUpRange; // 0x0340(0x0004) (Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData) float SeperationDistanceMultiplier; // 0x0344(0x0004) (Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData) float FleeDistanceMultiplier; // 0x0348(0x0004) (Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData) float FleeAccelerationMultiplier; // 0x034C(0x0004) (Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData) float ChaseAccelerationMultiplier; // 0x0350(0x0004) (Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData) float SeekDecelerationMultiplier; // 0x0354(0x0004) (Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData) float AvoidForceMultiplier; // 0x0358(0x0004) (Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData) float AvoidanceForce; // 0x035C(0x0004) (Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData) class UClass* PlayerType; // 0x0360(0x0004) (Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData) struct FVector underwaterMin; // 0x0364(0x000C) (Edit, BlueprintVisible, IsPlainOldData) struct FVector underwaterMax; // 0x0370(0x000C) (Edit, BlueprintVisible, IsPlainOldData) float CustomZSeekMin; // 0x037C(0x0004) (Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData) float CustomZSeekMax; // 0x0380(0x0004) (Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData) float NumNeighborsToEvaluate; // 0x0384(0x0004) (Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData) float UpdateEveryTick; // 0x0388(0x0004) (Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData) unsigned char UnknownData02[0x10]; // 0x038C(0x0010) MISSED OFFSET bool DebugMode; // 0x039C(0x0001) (Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData) unsigned char UnknownData03[0xF]; // 0x039D(0x000F) MISSED OFFSET class AActor* Leader; // 0x03AC(0x0004) (ZeroConstructor, IsPlainOldData) TArray neighbors; // 0x03B0(0x000C) (ZeroConstructor) TArray nearbyEnemies; // 0x03BC(0x000C) (ZeroConstructor) TArray nearbyPrey; // 0x03C8(0x000C) (ZeroConstructor) TArray nearbyFriends; // 0x03D4(0x000C) (ZeroConstructor) class AActor* fleeTarget; // 0x03E0(0x0004) (ZeroConstructor, IsPlainOldData) class AActor* preyTarget; // 0x03E4(0x0004) (ZeroConstructor, IsPlainOldData) unsigned char UnknownData04[0x50]; // 0x03E8(0x0050) MISSED OFFSET class AActor* FishManager; // 0x0438(0x0004) (ZeroConstructor, IsPlainOldData) unsigned char UnknownData05[0x4]; // 0x043C(0x0004) MISSED OFFSET static UClass* StaticClass() { static UClass *pStaticClass = 0; if (!pStaticClass) pStaticClass = UObject::FindClass("Class OceanPlugin.FlockFish"); return pStaticClass; } void OnEndOverlap(class UPrimitiveComponent* activatedComp, class AActor* OtherActor, class UPrimitiveComponent* OtherComp, int OtherBodyIndex); void OnBeginOverlap(class UPrimitiveComponent* activatedComp, class AActor* OtherActor, class UPrimitiveComponent* OtherComp, int OtherBodyIndex, bool bFromSweep, const struct FHitResult& SweepResult); }; // Class OceanPlugin.InfiniteSystemComponent // 0x0030 (0x02F0 - 0x02C0) class UInfiniteSystemComponent : public USceneComponent { public: bool UpdateInEditor; // 0x02C0(0x0001) (Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData) TEnumAsByte FollowMethod; // 0x02C1(0x0001) (Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData) unsigned char UnknownData00[0x2]; // 0x02C2(0x0002) MISSED OFFSET float GridSnapSize; // 0x02C4(0x0004) (Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData) float MaxLookAtDistance; // 0x02C8(0x0004) (Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData) bool ScaleByDistance; // 0x02CC(0x0001) (Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData) unsigned char UnknownData01[0x3]; // 0x02CD(0x0003) MISSED OFFSET float ScaleDistanceFactor; // 0x02D0(0x0004) (Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData) float ScaleStartDistance; // 0x02D4(0x0004) (Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData) float ScaleMin; // 0x02D8(0x0004) (Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData) float ScaleMax; // 0x02DC(0x0004) (Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData) unsigned char UnknownData02[0x10]; // 0x02E0(0x0010) MISSED OFFSET static UClass* StaticClass() { static UClass *pStaticClass = 0; if (!pStaticClass) pStaticClass = UObject::FindClass("Class OceanPlugin.InfiniteSystemComponent"); return pStaticClass; } }; // Class OceanPlugin.OceanManager // 0x0080 (0x0338 - 0x02B8) class AOceanManager : public AActor { public: bool EnableGerstnerWaves; // 0x02B8(0x0001) (Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData) unsigned char UnknownData00[0x3]; // 0x02B9(0x0003) MISSED OFFSET struct FVector2D GlobalWaveDirection; // 0x02BC(0x0008) (Edit, BlueprintVisible, IsPlainOldData) float GlobalWaveSpeed; // 0x02C4(0x0004) (Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData) float GlobalWaveAmplitude; // 0x02C8(0x0004) (Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData) float DistanceCheck; // 0x02CC(0x0004) (Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData) TArray WaveClusters; // 0x02D0(0x000C) (Edit, BlueprintVisible, ZeroConstructor) TArray WaveSetOffsetsOverride; // 0x02DC(0x000C) (Edit, BlueprintVisible, ZeroConstructor) float NetWorkTimeOffset; // 0x02E8(0x0004) (BlueprintVisible, ZeroConstructor, IsPlainOldData) bool bEnableLandscapeModulation; // 0x02EC(0x0001) (Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData) unsigned char UnknownData01[0x3]; // 0x02ED(0x0003) MISSED OFFSET float ModulationStartHeight; // 0x02F0(0x0004) (Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData) float ModulationMaxHeight; // 0x02F4(0x0004) (Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData) float ModulationPower; // 0x02F8(0x0004) (Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData) class ALandscape* Landscape; // 0x02FC(0x0004) (Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData) class UTexture2D* HeightmapTexture; // 0x0300(0x0004) (Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData) unsigned char UnknownData02[0x20]; // 0x0304(0x0020) MISSED OFFSET bool bEnableWaterBoxModulation; // 0x0324(0x0001) (Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData) unsigned char UnknownData03[0x3]; // 0x0325(0x0003) MISSED OFFSET TArray WaterBoxes; // 0x0328(0x000C) (ZeroConstructor) unsigned char UnknownData04[0x4]; // 0x0334(0x0004) MISSED OFFSET static UClass* StaticClass() { static UClass *pStaticClass = 0; if (!pStaticClass) pStaticClass = UObject::FindClass("Class OceanPlugin.OceanManager"); return pStaticClass; } void LoadLandscapeHeightmap(class UTexture2D* Tex2D); struct FVector GetWaveHeightValue(const struct FVector& Location, class UWorld* World, bool HeightOnly, bool TwoIterations); struct FLinearColor GetHeightmapPixel(float U, float V); }; // Class OceanPlugin.TimeManager // 0x00C8 (0x0380 - 0x02B8) class ATimeManager : public AActor { public: struct FTimeDate CurrentLocalTime; // 0x02B8(0x001C) (BlueprintVisible, BlueprintReadOnly) float Latitude; // 0x02D4(0x0004) (Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData) float Longitude; // 0x02D8(0x0004) (Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData) int OffsetUTC; // 0x02DC(0x0004) (Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData) int OffsetDST; // 0x02E0(0x0004) (BlueprintVisible, BlueprintReadOnly, ZeroConstructor, IsPlainOldData) bool bAllowDaylightSavings; // 0x02E4(0x0001) (Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData) bool bDaylightSavingsActive; // 0x02E5(0x0001) (BlueprintVisible, BlueprintReadOnly, ZeroConstructor, IsPlainOldData) unsigned char UnknownData00[0x2]; // 0x02E6(0x0002) MISSED OFFSET float TimeScaleMultiplier; // 0x02E8(0x0004) (Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData) float SolarTime; // 0x02EC(0x0004) (BlueprintVisible, BlueprintReadOnly, ZeroConstructor, IsPlainOldData) float LocalClockTime; // 0x02F0(0x0004) (BlueprintVisible, BlueprintReadOnly, ZeroConstructor, IsPlainOldData) float TimeCorrection; // 0x02F4(0x0004) (BlueprintVisible, BlueprintReadOnly, ZeroConstructor, IsPlainOldData) int LSTM; // 0x02F8(0x0004) (BlueprintVisible, BlueprintReadOnly, ZeroConstructor, IsPlainOldData) int DayOfYear; // 0x02FC(0x0004) (BlueprintVisible, BlueprintReadOnly, ZeroConstructor, IsPlainOldData) float EoT; // 0x0300(0x0004) (BlueprintVisible, BlueprintReadOnly, ZeroConstructor, IsPlainOldData) float SolarAltAngle; // 0x0304(0x0004) (BlueprintVisible, BlueprintReadOnly, ZeroConstructor, IsPlainOldData) float SolarDeclination; // 0x0308(0x0004) (BlueprintVisible, BlueprintReadOnly, ZeroConstructor, IsPlainOldData) float SolarAzimuth; // 0x030C(0x0004) (BlueprintVisible, BlueprintReadOnly, ZeroConstructor, IsPlainOldData) float SolarHRA; // 0x0310(0x0004) (BlueprintVisible, BlueprintReadOnly, ZeroConstructor, IsPlainOldData) float SiderealTime; // 0x0314(0x0004) (BlueprintVisible, BlueprintReadOnly, ZeroConstructor, IsPlainOldData) float LunarAltAngle; // 0x0318(0x0004) (BlueprintVisible, BlueprintReadOnly, ZeroConstructor, IsPlainOldData) float LunarHRA; // 0x031C(0x0004) (BlueprintVisible, BlueprintReadOnly, ZeroConstructor, IsPlainOldData) float LunarDeclination; // 0x0320(0x0004) (BlueprintVisible, BlueprintReadOnly, ZeroConstructor, IsPlainOldData) float LunarAzimuth; // 0x0324(0x0004) (BlueprintVisible, BlueprintReadOnly, ZeroConstructor, IsPlainOldData) float LunarRightAsc; // 0x0328(0x0004) (BlueprintVisible, BlueprintReadOnly, ZeroConstructor, IsPlainOldData) float LunarElapsedDays; // 0x032C(0x0004) (BlueprintVisible, BlueprintReadOnly, ZeroConstructor, IsPlainOldData) float EcLongitude; // 0x0330(0x0004) (BlueprintVisible, BlueprintReadOnly, ZeroConstructor, IsPlainOldData) float EcLatitude; // 0x0334(0x0004) (BlueprintVisible, BlueprintReadOnly, ZeroConstructor, IsPlainOldData) float EcDistance; // 0x0338(0x0004) (BlueprintVisible, BlueprintReadOnly, ZeroConstructor, IsPlainOldData) float PartL; // 0x033C(0x0004) (BlueprintVisible, BlueprintReadOnly, ZeroConstructor, IsPlainOldData) float PartM; // 0x0340(0x0004) (BlueprintVisible, BlueprintReadOnly, ZeroConstructor, IsPlainOldData) float PartF; // 0x0344(0x0004) (BlueprintVisible, BlueprintReadOnly, ZeroConstructor, IsPlainOldData) unsigned char UnknownData01[0x38]; // 0x0348(0x0038) MISSED OFFSET static UClass* StaticClass() { static UClass *pStaticClass = 0; if (!pStaticClass) pStaticClass = UObject::FindClass("Class OceanPlugin.TimeManager"); return pStaticClass; } void SetCurrentLocalTime(float Time); bool IsLeapYear(int Year); void InitializeCalendar(const struct FTimeDate& Time); void IncrementTime(float DeltaSeconds); float GetYearPhase(); float GetElapsedDayInMinutes(); int GetDaysInYear(int Year); int GetDaysInMonth(int Year, int Month); float GetDayPhase(); int GetDayOfYear(const struct FTimeDate& Time); struct FRotator CalculateSunAngle(); float CalculateMoonPhase(); struct FRotator CalculateMoonAngle(); }; // Class OceanPlugin.WaterHeightmapComponent // 0x0060 (0x0120 - 0x00C0) class UWaterHeightmapComponent : public UActorComponent { public: bool bOnlyCollidingComponents; // 0x00C0(0x0001) (Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData) unsigned char UnknownData00[0x3]; // 0x00C1(0x0003) MISSED OFFSET float GridSizeMultiplier; // 0x00C4(0x0004) (Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData) bool bDrawUsedTriangles; // 0x00C8(0x0001) (Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData) bool bDrawHeightmap; // 0x00C9(0x0001) (Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData) unsigned char UnknownData01[0x52]; // 0x00CA(0x0052) MISSED OFFSET class AOceanManager* OceanManager; // 0x011C(0x0004) (ZeroConstructor, IsPlainOldData) static UClass* StaticClass() { static UClass *pStaticClass = 0; if (!pStaticClass) pStaticClass = UObject::FindClass("Class OceanPlugin.WaterHeightmapComponent"); return pStaticClass; } }; }