Skip to content

Commit 2ce6182

Browse files
committed
Some header additions and changes.
1 parent 3efcb01 commit 2ce6182

8 files changed

Lines changed: 87 additions & 8 deletions

File tree

version/Core/Public/API/ARK/Actor.h

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7087,6 +7087,7 @@ struct APrimalDinoCharacter : APrimalCharacter
70877087
void GetDinoData(FARKDinoData * OutDinoData) { NativeCall<void, FARKDinoData *>(this, "APrimalDinoCharacter.GetDinoData", OutDinoData); }
70887088
FString* GetColorSetInidcesAsString(FString* result) { return NativeCall<FString*, FString*>(this, "APrimalDinoCharacter.GetColorSetInidcesAsString", result); }
70897089
TArray<FName>* GetColorSetNamesAsArray(TArray<FName>* result) { return NativeCall<TArray<FName>*, TArray<FName>*>(this, "APrimalDinoCharacter.GetColorSetNamesAsArray", result); }
7090+
static APrimalDinoCharacter* SpawnFromDinoDataEx(FARKDinoData* InDinoData, UWorld* InWorld, FVector* AtLocation, FRotator* AtRotation, bool* dupedDino, int ForTeam, bool bGenerateNewDinoID, AShooterPlayerController* TamerController, bool beginPlay) { return NativeCall<APrimalDinoCharacter*, FARKDinoData*, UWorld*, FVector*, FRotator*, bool*, int, bool, AShooterPlayerController*, bool>(nullptr, "APrimalDinoCharacter.SpawnFromDinoData", InDinoData, InWorld, AtLocation, AtRotation, dupedDino, ForTeam, bGenerateNewDinoID, TamerController, beginPlay); }
70907091
};
70917092

70927093
struct AShooterWeapon : AActor
@@ -9272,6 +9273,11 @@ struct UStaticMeshComponent : UMeshComponent
92729273
bool ShouldRecreateProxyOnUpdateTransform() { return NativeCall<bool>(this, "UStaticMeshComponent.ShouldRecreateProxyOnUpdateTransform"); }
92739274
};
92749275

9276+
struct UInstancedStaticMeshComponent : UStaticMeshComponent
9277+
{
9278+
void DealDirectDamage(APlayerController* ForPC, float DamageAmount, TSubclassOf<UDamageType> DamageTypeClass, int hitBodyIndex) { NativeCall<void, APlayerController*, float, TSubclassOf<UDamageType>, int>(this, "UInstancedStaticMeshComponent.DealDirectDamage", ForPC, DamageAmount, DamageTypeClass, hitBodyIndex); }
9279+
};
9280+
92759281
struct UStaticMeshSocket : UObject
92769282
{
92779283
FName& SocketNameField() { return *GetNativePointerField<FName*>(this, "UStaticMeshSocket.SocketName"); }
@@ -9382,6 +9388,7 @@ struct UPrimalHarvestingComponent : UActorComponent
93829388
static UClass* GetPrivateStaticClass(const wchar_t* Package) { return NativeCall<UClass*, const wchar_t*>(nullptr, "UPrimalHarvestingComponent.GetPrivateStaticClass", Package); }
93839389
static void StaticRegisterNativesUPrimalHarvestingComponent() { NativeCall<void>(nullptr, "UPrimalHarvestingComponent.StaticRegisterNativesUPrimalHarvestingComponent"); }
93849390
bool TemplateCheckForHarvestRepopulation(bool bForceReinit, UWorld* world, FVector* where) { NativeCall<bool, UWorld*, FVector*>(this, "UPrimalHarvestingComponent.TemplateCheckForHarvestRepopulation", world, where); }
9391+
void DealDirectDamage(APlayerController* ForPC, float DamageAmount, TSubclassOf<UDamageType> DamageTypeClass) { NativeCall<void, APlayerController*, float, TSubclassOf<UDamageType>>(this, "UPrimalHarvestingComponent.DealDirectDamage", ForPC, DamageAmount, DamageTypeClass); }
93859392

93869393
TArray<FHarvestResourceEntry>& HarvestResourceEntries() { return *GetNativePointerField<TArray<FHarvestResourceEntry>*>(this, "UPrimalHarvestingComponent.HarvestResourceEntries"); }
93879394
TArray<FHarvestResourceEntry>& BaseHarvestResourceEntries() { return *GetNativePointerField<TArray<FHarvestResourceEntry>*>(this, "UPrimalHarvestingComponent.BaseHarvestResourceEntries"); }
@@ -9397,6 +9404,8 @@ struct UPrimalHarvestingComponent : UActorComponent
93979404

93989405
struct AMissionType : AActor
93999406
{
9407+
FString& MissionDisplayNameField() { return *GetNativePointerField<FString*>(this, "AMissionType.MissionDisplayName"); }
9408+
94009409
static void GetNearbyPlayersAndTamedDinos(UObject* WorldContextObject, TArray<APrimalCharacter*>* OutCharacters, FVector* Location, float Radius) { NativeCall<void, UObject*, TArray<APrimalCharacter*>*, FVector*, float>(nullptr, "AMissionType.GetNearbyPlayersAndTamedDinos", WorldContextObject, OutCharacters, Location, Radius); }
94019410
};
94029411

version/Core/Public/API/ARK/Inventory.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1399,7 +1399,7 @@ struct FItemStatInfo
13991399

14001400
// Bit fields
14011401

1402-
BitFieldValue<bool, unsigned __int32> bUsed() { return { this, "FItemStatInfo.bUsed" }; }
1402+
BitFieldValue<bool, unsigned __int32> bUsed() { return {this, "FItemStatInfo.bUsed"}; }
14031403
BitFieldValue<bool, unsigned __int32> bCalculateAsPercent() { return { this, "FItemStatInfo.bCalculateAsPercent" }; }
14041404
BitFieldValue<bool, unsigned __int32> bDisplayAsPercent() { return { this, "FItemStatInfo.bDisplayAsPercent" }; }
14051405
BitFieldValue<bool, unsigned __int32> bRequiresSubmerged() { return { this, "FItemStatInfo.bRequiresSubmerged" }; }

version/Core/Public/API/ARK/Other.h

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -84,6 +84,35 @@ struct FSocket
8484
FString& SocketDescriptionField() { return *GetNativePointerField<FString*>(this, "FSocket.SocketDescription"); }
8585
};
8686

87+
struct FMultiUseEntry
88+
{
89+
UActorComponent* ForComponent;
90+
FString UseString;
91+
int UseIndex;
92+
int Priority;
93+
unsigned __int32 bHideFromUI : 1;
94+
unsigned __int32 bDisableUse : 1;
95+
unsigned __int32 bHideActivationKey : 1;
96+
unsigned __int32 bRepeatMultiUse : 1;
97+
unsigned __int32 bDisplayOnInventoryUI : 1;
98+
unsigned __int32 bDisplayOnInventoryUISecondary : 1;
99+
unsigned __int32 bHarvestable : 1;
100+
unsigned __int32 bIsSecondaryUse : 1;
101+
unsigned __int32 bPersistWheelOnActivation : 1;
102+
unsigned __int32 bOverrideUseTextColor : 1;
103+
unsigned __int32 bDisplayOnInventoryUITertiary : 1;
104+
unsigned __int32 bClientSideOnly : 1;
105+
unsigned __int32 bPersistWheelRequiresDirectActivation : 1;
106+
unsigned __int32 bDrawTooltip : 1;
107+
int WheelCategory;
108+
FColor DisableUseColor;
109+
FColor UseTextColor;
110+
float EntryActivationTimer;
111+
float DefaultEntryActivationTimer;
112+
USoundBase* ActivationSound;
113+
int UseInventoryButtonStyleOverrideIndex;
114+
};
115+
87116
struct URCONServer : UObject
88117
{
89118
FSocket& SocketField() { return *GetNativePointerField<FSocket*>(this, "URCONServer.Socket"); }
@@ -333,6 +362,19 @@ struct FOverlapResult
333362
static UScriptStruct * StaticStruct() { return NativeCall<UScriptStruct *>(nullptr, "FOverlapResult.StaticStruct"); }
334363
};
335364

365+
struct FOverlappedFoliageElement
366+
{
367+
AActor* HarvestActor;
368+
UInstancedStaticMeshComponent* InstancedStaticMeshComponent;
369+
UPrimalHarvestingComponent* HarvestingComponent;
370+
FVector HarvestLocation;
371+
int HitBodyIndex;
372+
float MaxHarvestHealth;
373+
float CurrentHarvestHealth;
374+
__int8 bIsUnharvestable : 1;
375+
__int8 bIsVisibleAndActive : 1;
376+
};
377+
336378
struct UVictoryCore
337379
{
338380

@@ -487,6 +529,7 @@ struct UVictoryCore
487529
static void StaticRegisterNativesUVictoryCore() { NativeCall<void>(nullptr, "UVictoryCore.StaticRegisterNativesUVictoryCore"); }
488530
static FString* ClassToStringReference(FString* result, TSubclassOf<UObject> obj) { return NativeCall<FString*, FString*, TSubclassOf<UObject>>(nullptr, "UVictoryCore.ClassToStringReference", result, obj); }
489531
static TSubclassOf<UObject>* StringReferenceToClass(TSubclassOf<UObject>* result, FString* StringReference) { return NativeCall<TSubclassOf<UObject>*, TSubclassOf<UObject>*, FString*>(nullptr, "UVictoryCore.StringReferenceToClass", result, StringReference); }
532+
static void ServerSearchFoliage(UObject* WorldContextObject, FVector* Origin, float Radius, TArray<FOverlappedFoliageElement>* OutFoliage, bool bVisibleAndActiveOnly, bool bIncludeUsableFoliage, bool bIncludeMeshFoliage, bool bSortByDistance, bool bReverseSort) { NativeCall<void, UObject*, FVector*, float, TArray<FOverlappedFoliageElement>*, bool, bool, bool, bool, bool>(nullptr, "UVictoryCore.ServerSearchFoliage", WorldContextObject, Origin, Radius, OutFoliage, bVisibleAndActiveOnly, bIncludeUsableFoliage, bIncludeMeshFoliage, bSortByDistance, bReverseSort); }
490533
};
491534

492535
struct UDamageType

version/Core/Public/API/ARK/PrimalStructure.h

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -174,12 +174,12 @@ struct APrimalStructure : APrimalTargetableActor
174174
TArray<FVector> & PlacementTraceDirectionsField() { return *GetNativePointerField<TArray<FVector>*>(this, "APrimalStructure.PlacementTraceDirections"); }
175175
TArray<APrimalStructure*> LinkedStructuresField() { return *GetNativePointerField<TArray<APrimalStructure*>*>(this, "APrimalStructure.LinkedStructures"); }
176176
TArray<unsigned int> & LinkedStructuresIDField() { return *GetNativePointerField<TArray<unsigned int>*>(this, "APrimalStructure.LinkedStructuresID"); }
177-
TArray<APrimalStructure*> StructuresPlacedOnFloorField() { return *GetNativePointerField<TArray<APrimalStructure*>*>(this, "APrimalStructure.StructuresPlacedOnFloor"); }
177+
TArray<APrimalStructure*>& StructuresPlacedOnFloorField() { return *GetNativePointerField<TArray<APrimalStructure*>*>(this, "APrimalStructure.StructuresPlacedOnFloor"); }
178178
TArray<TSubclassOf<APrimalStructure>> & SnapToStructureTypesToExcludeField() { return *GetNativePointerField<TArray<TSubclassOf<APrimalStructure>>*>(this, "APrimalStructure.SnapToStructureTypesToExclude"); }
179179
TArray<TSubclassOf<APrimalStructure>> & SnapFromStructureTypesToExcludeField() { return *GetNativePointerField<TArray<TSubclassOf<APrimalStructure>>*>(this, "APrimalStructure.SnapFromStructureTypesToExclude"); }
180180
TArray<FName> & SnapToStructureTagsToExcludeField() { return *GetNativePointerField<TArray<FName>*>(this, "APrimalStructure.SnapToStructureTagsToExclude"); }
181181
TArray<FName> & SnapFromStructureTagsToExcludeField() { return *GetNativePointerField<TArray<FName>*>(this, "APrimalStructure.SnapFromStructureTagsToExclude"); }
182-
APrimalStructure * PlacedOnFloorStructureField() { return *GetNativePointerField<APrimalStructure**>(this, "APrimalStructure.PlacedOnFloorStructure"); }
182+
APrimalStructure *& PlacedOnFloorStructureField() { return *GetNativePointerField<APrimalStructure**>(this, "APrimalStructure.PlacedOnFloorStructure"); }
183183
APrimalStructure * PrimarySnappedStructureChildField() { return *GetNativePointerField<APrimalStructure**>(this, "APrimalStructure.PrimarySnappedStructureChild"); }
184184
APrimalStructure * PrimarySnappedStructureParentField() { return *GetNativePointerField<APrimalStructure**>(this, "APrimalStructure.PrimarySnappedStructureParent"); }
185185
FString & OwnerNameField() { return *GetNativePointerField<FString*>(this, "APrimalStructure.OwnerName"); }
@@ -622,6 +622,8 @@ struct APrimalStructure : APrimalTargetableActor
622622
void NetUpdateTeamAndOwnerName(int NewTeam, FString * NewOwnerName) { NativeCall<void, int, FString*>(this, "APrimalStructure.NetUpdateTeamAndOwnerName", NewTeam, NewOwnerName); }
623623
void SetEnabledPrimarySnappedStructureParent(bool bEnabled) { NativeCall<void, bool>(this, "APrimalStructure.SetEnabledPrimarySnappedStructureParent", bEnabled); }
624624
void UpdateTribeGroupStructureRank(char NewRank) { NativeCall<void, char>(this, "APrimalStructure.UpdateTribeGroupStructureRank", NewRank); }
625+
626+
void GetMultiUseEntries(APlayerController* ForPC, TArray<FMultiUseEntry>* MultiUseEntries) { NativeCall<void, APlayerController*, TArray<FMultiUseEntry>*>(this, "APrimalStructure.GetMultiUseEntries", ForPC, MultiUseEntries); }
625627
};
626628

627629
struct APrimalStructureBed
@@ -985,6 +987,7 @@ struct APrimalStructureItemContainer : APrimalStructure
985987
void NetSetContainerActive(bool bSetActive, TSubclassOf<UPrimalItem> NetReplicatedFuelItemClass, __int16 NetReplicatedFuelItemColorIndex) { NativeCall<void, bool, TSubclassOf<UPrimalItem>, __int16>(this, "APrimalStructureItemContainer.NetSetContainerActive", bSetActive, NetReplicatedFuelItemClass, NetReplicatedFuelItemColorIndex); }
986988
void NetUpdateBoxName(FString* NewName) { NativeCall<void, FString*>(this, "APrimalStructureItemContainer.NetUpdateBoxName", NewName); }
987989
void PowerGeneratorBuiltNearbyPoweredStructure(APrimalStructureItemContainer* PoweredStructure) { NativeCall<void, APrimalStructureItemContainer*>(this, "APrimalStructureItemContainer.PowerGeneratorBuiltNearbyPoweredStructure", PoweredStructure); }
990+
void GetMultiUseEntries(APlayerController* ForPC, TArray<FMultiUseEntry>* MultiUseEntries) { NativeCall<void, APlayerController*, TArray<FMultiUseEntry>*>(this, "APrimalStructureItemContainer.GetMultiUseEntries", ForPC, MultiUseEntries); }
988991
};
989992

990993
struct APrimalStructureTurret : APrimalStructureItemContainer
@@ -1170,5 +1173,6 @@ struct UPrimalStructureSettings : UObject
11701173
struct APrimalStructureExplosive : APrimalStructure
11711174
{
11721175
unsigned int& ConstructorPlayerDataIDField() { return *GetNativePointerField<unsigned int*>(this, "APrimalStructureExplosive.ConstructorPlayerDataID"); }
1176+
AShooterCharacter* ConstructorPawnField() { return *GetNativePointerField<AShooterCharacter**>(this, "APrimalStructureExplosive.ConstructorPawn"); }
11731177
static UClass* StaticClass() { return NativeCall<UClass*>(nullptr, "APrimalStructureExplosive.StaticClass"); }
11741178
};

version/Core/Public/API/Atlas/Actor.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5965,7 +5965,7 @@ struct UShooterDamageType : UDamageType
59655965

59665966
float BPAdjustDamage(AActor* Victim, float IncomingDamage, FDamageEvent* TheDamageEvent, AController* EventInstigator, AActor* DamageCauser) { return NativeCall<float, AActor*, float, FDamageEvent*, AController*, AActor*>(this, "UShooterDamageType.BPAdjustDamage", Victim, IncomingDamage, TheDamageEvent, EventInstigator, DamageCauser); }
59675967
float BPAdjustHarvestingDamage(AActor* Victim, float IncomingDamage, FDamageEvent* TheDamageEvent, AController* EventInstigator, AActor* DamageCauser) { return NativeCall<float, AActor*, float, FDamageEvent*, AController*, AActor*>(this, "UShooterDamageType.BPAdjustHarvestingDamage", Victim, IncomingDamage, TheDamageEvent, EventInstigator, DamageCauser); }
5968-
static UClass* GetPrivateStaticClass(const wchar_t* Package) { return NativeCall<UClass*, const wchar_t*>(nullptr, "UShooterDamageType.GetPrivateStaticClass", Package); }
5968+
static UClass* GetPrivateStaticClass() { return NativeCall<UClass*, const wchar_t*>(nullptr, "UShooterDamageType.GetPrivateStaticClass"); }
59695969
TSubclassOf<APrimalBuff>* OverrideBuffToGiveVictimCharacter(TSubclassOf<APrimalBuff>* result, APrimalCharacter* Victim, float IncomingDamage, FDamageEvent* TheDamageEvent, AController* EventInstigator, AActor* DamageCauser) { return NativeCall<TSubclassOf<APrimalBuff>*, TSubclassOf<APrimalBuff>*, APrimalCharacter*, float, FDamageEvent*, AController*, AActor*>(this, "UShooterDamageType.OverrideBuffToGiveVictimCharacter", result, Victim, IncomingDamage, TheDamageEvent, EventInstigator, DamageCauser); }
59705970
static void StaticRegisterNativesUShooterDamageType() { NativeCall<void>(nullptr, "UShooterDamageType.StaticRegisterNativesUShooterDamageType"); }
59715971
};

version/Core/Public/API/Base.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -225,6 +225,7 @@ struct UPrimalWorldSettingsEventOverrides {};
225225
struct FCropItemPhaseData {};
226226
struct FStructureVariant {};
227227
struct AMissionType;
228+
struct FMultiUseEntry;
228229

229230
template <typename T>
230231
struct FDataStore;
@@ -664,6 +665,8 @@ struct UBehaviorTree;
664665
struct FSeamlessIslandInfo;
665666
struct AInfo;
666667

668+
struct UInstancedStaticMeshComponent;
669+
667670
struct BitField
668671
{
669672
DWORD64 offset;

version/Core/Public/API/UE/Templates/UnrealTemplate.h

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -441,7 +441,7 @@ struct TUseBitwiseSwap
441441
template <typename T>
442442
inline typename TEnableIf<TUseBitwiseSwap<T>::Value>::Type Swap(T& A, T& B)
443443
{
444-
if (LIKELY(&A != &B))
444+
if (&A != &B)
445445
{
446446
TTypeCompatibleBytes<T> Temp;
447447
FMemory::Memcpy(&Temp, &A, sizeof(T));
@@ -450,6 +450,9 @@ inline typename TEnableIf<TUseBitwiseSwap<T>::Value>::Type Swap(T& A, T& B)
450450
}
451451
}
452452

453+
/**
454+
* Swap two values. Assumes the types are trivially relocatable.
455+
*/
453456
template <typename T>
454457
inline typename TEnableIf<!TUseBitwiseSwap<T>::Value>::Type Swap(T& A, T& B)
455458
{

version/Core/Public/API/UE/UE.h

Lines changed: 20 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -40,12 +40,15 @@ struct FName
4040
}
4141

4242
bool operator==(const wchar_t* Other) { return NativeCall<bool, const wchar_t*>(this, "FName.operator==", Other); }
43+
4344
int Compare(FName* Other) { return NativeCall<int, FName*>(this, "FName.Compare", Other); }
4445
void ToString(FString* Out) { NativeCall<void, FString*>(this, "FName.ToString", Out); }
45-
FString ToString()
46+
FString ToString() const
4647
{
4748
FString out;
48-
this->ToString(&out);
49+
FName tmp = *this;
50+
51+
tmp.ToString(&out);
4952

5053
return out;
5154
}
@@ -54,8 +57,16 @@ struct FName
5457
bool IsValidXName(FString InvalidChars, FText* Reason) { return NativeCall<bool, FString, FText*>(this, "FName.IsValidXName", InvalidChars, Reason); }
5558
void Init(const char* InName, int InNumber, EFindName FindType, bool bSplitName, int HardcodeIndex) { NativeCall<void, const char*, int, EFindName, bool, int>(this, "FName.Init", InName, InNumber, FindType, bSplitName, HardcodeIndex); }
5659
FString* GetPlainNameString(FString* result) { return NativeCall<FString*, FString*>(this, "FName.GetPlainNameString", result); }
60+
61+
bool operator==(const FName& Other) const { return Other.ToString() == this->ToString(); }
5762
};
5863

64+
FORCEINLINE uint32 GetTypeHash(const FName& name)
65+
{
66+
return FCrc::MemCrc32(&name, sizeof(FName));
67+
}
68+
69+
5970
struct FTransform
6071
{
6172
__m128 Rotation;
@@ -174,6 +185,12 @@ struct TWeakObjectPtr
174185
return Get();
175186
}
176187

188+
FORCEINLINE bool operator==(const TWeakObjectPtr<T>& __that)
189+
{
190+
return this->ObjectIndex == __that.ObjectIndex
191+
&& this->ObjectSerialNumber == __that.ObjectSerialNumber;
192+
}
193+
177194
TWeakObjectPtr()
178195
{}
179196

@@ -390,7 +407,7 @@ struct UClass : UStruct
390407
TArray<UField*> NetFieldsField() { return *GetNativePointerField<TArray<UField*>*>(this, "UClass.NetFields"); }
391408
UObject* ClassDefaultObjectField() { return *GetNativePointerField<UObject**>(this, "UClass.ClassDefaultObject"); }
392409
bool& bCookedField() { return *GetNativePointerField<bool*>(this, "UClass.bCooked"); }
393-
TMap<DWORD64, UFunction*> FuncMapField() { return *GetNativePointerField<TMap<DWORD64, UFunction*>*>(this, "UClass.FuncMap"); }
410+
TMap<FName, UFunction*> FuncMapField() { return *GetNativePointerField<TMap<FName, UFunction*>*>(this, "UClass.FuncMap"); }
394411
TArray<FNativeFunctionLookup>& NativeFunctionLookupTableField() { return *GetNativePointerField<TArray<FNativeFunctionLookup>*>(this, "UClass.NativeFunctionLookupTable"); }
395412

396413
// Functions

0 commit comments

Comments
 (0)