Ark Server API (ASA) - Wiki
Loading...
Searching...
No Matches
Base.h
Go to the documentation of this file.
1#pragma once
2
3#define WIN32_LEAN_AND_MEAN
4#include <windows.h>
5#include <string>
6
7#ifdef ARK_EXPORTS
8#define ARK_API __declspec(dllexport)
9#else
10#define ARK_API __declspec(dllimport)
11#endif
12
13// Forward declarations
14struct AActor;
15struct ABrush;
16struct ACharacter;
17struct AController;
18struct ACustomActorList;
19struct ACustomGameMode;
20struct ADayCycleManager;
21struct ADestroyedMeshActor;
22struct ADirectionalLight;
23struct ADroppedItem;
24struct ADroppedItemEgg;
25struct ADroppedItemLowQuality;
26struct AEmitter;
27struct AGameMode;
28struct AGameModeBase;
30struct AGameSession;
31struct AGameState;
32struct AHibernationManager;
33struct AHUD;
34struct AInfo;
35struct ALevelScriptActor;
36struct AMatineeActor;
37struct AMatineeActorManager;
38struct AMissionDispatcher;
39struct AMissionType;
40struct ANPCZoneManager;
41struct ANPCZoneVolume;
42struct AOceanDinoManager;
43struct AOceanHarvestManager;
44struct AOceanVolume;
45struct APawn;
46struct APhysicsVolume;
47struct APlayerCameraManager;
49struct APlayerStart;
50struct APlayerState;
52struct APointOfInterestManagerList;
53struct APostProcessVolume;
56struct APrimalBuff;
57struct APrimalCharacter;
64struct APrimalRaft;
65struct APrimalStructure;
66struct APrimalStructureClaimFlag;
70struct APrimalStructureExplosiveTransGPS;
77struct APrimalStructureSail;
78struct APrimalStructureSeating_DriverSeat;
86struct ASceneCapture2D;
87struct ASeamlessVolumeManager;
88struct AServerStatReplicator;
89struct AShipPathManager;
91struct AShooterGameMode;
94struct AShooterHUD;
99struct AShooterWeapon;
100struct ASOTFNotification;
101struct ASpectatorPawn;
102struct AStaticMeshActor;
104struct ATreasureMapManager;
105struct AttachLocation;
106struct AVolume;
107struct AWorldSettings;
109{
110 DWORD64 offset;
112 ULONGLONG num_bits;
113 ULONGLONG length; //in bytes
114};
115struct EActorLists {};
116struct EActorUpdateOverlapsMethod;
117struct EComponentCreationMethod;
118struct EDLCSelector {};
119struct EObjectFullNameFlags;
120struct ETravelType;
121struct ExpensiveFunctionRegister;
122struct F2DByteArray;
124struct FActiveForceFeedbackEffect;
125struct FActiveHapticFeedbackEffect;
126struct FActorBeginCursorOverSignature;
127struct FActorBeginOverlapSignature;
128struct FActorBeginTouchOverSignature;
130struct FActorComponentDeactivateSignature;
131struct FActorComponentInstanceData;
132struct FActorComponentTickFunction;
133struct FActorCustomEventSignature;
134struct FActorEndPlaySignature;
135struct FActorHitSignature;
136struct FActorMatineeUpdated;
137struct FActorOnClickedSignature;
138struct FActorOnInputTouchBeginSignature;
139struct FActorSemaphoreTaken;
141struct FActorTickFunction;
142struct FAdditionalStaticMeshSockets;
144struct FAdvancedBoneModifierSlider;
145struct FAggroEntry;
146struct FAIRequestID {};
147struct FAmazonS3GetObject;
148struct FAnimationEvaluationContext;
149struct FAppIDItem;
150struct FARKDinoData;
151struct FARKTributeData;
152struct FARKTributeDino;
153struct FArkTributePlayerData;
154struct FAssetData;
155struct FAssetMatcher;
156struct FAssetRegistry;
157struct FAsyncSharedLogCleanup;
158struct FAsyncUpdatableTexture2D;
159struct FAtlasAdminCommandTrackingEntry;
160struct FAtlasSaveObjectData;
161struct FAttachedInstanced;
162struct FAttachedInstancedHarvestingElement;
163struct FAttachmentPoint;
164struct FAttachmentTransformRules;
165struct FAudioDevice;
166struct FAvailableMission;
167struct FBasedMovementInfo;
168struct FBehaviorTreeSearchData;
169struct FBlendFilter;
170struct FBlueprintCookedComponentInstancingData;
172struct FBodyInstance;
173struct FBoid;
175struct FBoneModifier;
176struct FBoneModifierNamed;
177struct FBoneModifierRange;
178struct FBonePresetSlider;
180struct FBPNetExecParams;
181struct FBroadphaseSettings;
182struct FBuffAddition;
183struct FBuffStatEntry;
185struct FCachedDBAccessor;
186struct FCachedTeamTameListStruct;
188{
190 {
191 ET_Line = 0x0,
193 ET_MAX = 0x2,
194 };
195
197 {
200 };
201};
202struct FCDODebugData;
203struct FCharacterMovementUpdatedSignature;
204struct FCharacterPossessionByPlayer;
205struct FCharacterReachedApexSignature;
206struct FClassAddition;
207struct FClassMapKey;
208struct FClassMultiplier;
209struct FClassNameReplacement;
210struct FClassRedirect;
211struct FClassRemapping;
212struct FClassRemappingWeight;
213struct FCollisionImpactData;
214struct FCollisionQueryParams;
215struct FCollisionResponseParams;
216struct FCollisionResponseSet;
217struct FColorDefinition;
218struct FCompanionEventData;
219struct FCompanionReactionData;
220struct FComponentBeginCursorOverSignature;
221struct FComponentBeginOverlapSignature;
222struct FComponentBeginTouchOverSignature;
223struct FComponentEndCursorOverSignature;
224struct FComponentEndOverlapSignature;
225struct FComponentEndTouchOverSignature;
226struct FComponentInstanceDataCache;
227struct FComponentOnClickedSignature;
228struct FComponentOnInputTouchBeginSignature;
229struct FComponentOnInputTouchEndSignature;
230struct FComponentOnReleasedSignature;
231struct FCompressTaskInfo;
232struct FConfigCacheIni;
233struct FConfigItemCraftingCostOverride;
235struct FConfigNPCSpawnEntriesContainer;
236struct FConfigSupplyCrateItemsOverride;
237struct FCraftingResourceRequirement;
238struct FCrateTemporaryQualityModifierSet;
240struct FCryopodPersistantBuffs;
241struct FCustomContextMenuData;
242struct FCustomContextSubmenu;
243struct FCustomItemData;
244struct FCustomPropertyConditionState;
246struct FCustomVersion;
247struct FDamageEvent;
250struct FDatabase_AllianceWrapper;
251struct FDatabase_ClusterInfo_Server;
252struct FDatabase_CreateShapshot;
253struct FDatabase_LogEntryWrapper;
254struct FDatabase_PlayerJoinedTribe;
255struct FDatabase_PlayerRemovedFromTribe;
256struct FDatabase_TravelEntry;
257struct FDatabase_TribeEntities;
258struct FDatabase_TribeWrapper;
259struct FDataSet {};
260template <typename T>
261struct FDataStore;
262struct FDebugDisplayInfo;
263struct FDebugFloatHistory;
264struct FDebugTraceInfo;
265struct FDecalData;
266struct FDefaultItemEntry;
267struct FDialogueContext;
268struct FDinoAbilities;
269struct FDinoAbilityInfo;
272struct FDinoAttackInfo;
273struct FDinoBabySetup;
275struct FDinoDownloadData;
277struct FDinoMapMarkerInfo;
278struct FDinoOrderGroup;
279struct FDinoSaddleStruct;
280struct FDinoSetup;
281struct FDinoSetupGroup;
283struct FDisciplineDefinition;
284struct FDiscoveredZone;
285struct FDodgeMovementInfo;
286struct FDropNoteInfo;
287struct FDynamicForceFeedbackDetails;
288struct FEmoteGroup;
289struct FEngramBuffEntry;
290struct FEngramEntries;
293struct FEngramItemEntry;
294struct FEngramStatEntry;
295struct FEventItem {};
296struct FExplorerNoteAchievement;
297struct FExplorerNoteEntry;
298struct FExtraEggItem;
299struct FFeatCooldown;
300struct FFloatingTextEntry;
301struct FForceFeedbackValues;
302struct FFrame;
303struct FGameIniData {};
304struct FGameNameRedirect;
305struct FGlobalGameplaySetup;
306struct FGrappleTether;
307struct FGridCellServerInfo;
308struct FGrinderItemReplacer;
309struct FHairStyleDefinition;
310struct FHandIkTarget;
311struct FHardwareSurveyResults;
312struct FHarvestResourceEntry;
313struct FHibernationZoneInfo;
314struct FHitResult;
316struct FHordeCrateEvent;
317struct FHUDElement {};
318struct FInstalledItemInfo;
320struct FInstigatedAnyDamageSignature;
321struct FInteriorSettings;
322struct FInvalidReferenceRedirector;
323struct FInventoryComponentDefaultItemsAppend;
324struct FInventoryItemAdded;
325struct FInventoryItemRemoved;
327struct FItemCount;
332struct FItemMultiplier;
333struct FItemNetID;
334struct FItemNetInfo;
335struct FItemSetup;
336struct FItemSlotTypeDefinition;
337struct FItemSpawnActorClassOverride;
338struct FItemStatGroupValue;
339struct FItemStatInfo;
340struct FJoinabilitySettings;
341struct FJsonObject {};
342struct FKey {};
343struct FLandedSignature;
346struct FLayerNameArray;
349struct FLeaderboardsContainer;
351struct FLevelExperienceRamp;
353struct FLocalizedSoundCueEntry;
354struct FLocalizedSoundWaveAnimTexturePairArrays;
355struct FLockedFeat;
356struct FLocRot;
358struct FMatineeActorFinished;
359struct FMatineeActorStopped;
361struct FMaxStatScaler;
362struct FMeleeHitInfo;
363struct FMemoryArchive;
364struct FMemoryReader;
365struct FMemoryWriter;
366struct FMinimalViewInfo;
367struct FMissionAlertEntry;
369struct FMissionMetaData;
370struct FMissionTriggerBeginOverlap;
371struct FMissionTriggerEndOverlap;
373struct FModuleManager;
374struct FMovementModeChangedSignature;
375struct FMultiAchievement;
376struct FMultiUseEntry;
378struct FNamedTeamDefinition;
379struct FNavAgentProperties;
380struct FNetChangeDefaultPropertyValue;
381struct FNetDriverDefinition;
382struct FNetExecParams;
383struct FNetViewer;
384struct FNetworkGUID {};
385struct FNetworkPredictionData_Client_Character;
386struct FNetworkPredictionData_Client;
387struct FNetworkPredictionData_Server_Character;
388struct FNetworkPredictionData_Server;
389struct FNotifyAddPassenger;
390struct FNotifyClearPassenger;
391struct FNotifyClearRider;
392struct FNotifyFlyerLanded;
393struct FNotifySetRider;
394struct FNPCSpawnEntriesContainerAdditions;
395struct FNXSettings;
396struct FObjectCorrelation;
397struct FObjectInitializer;
398struct FObjectInstancingGraph;
399struct FObjectPreSaveContext;
400struct FObjectReader;
401struct FObjectWriter;
402struct FOceanHarvestedEntry;
403struct FOceanHarvestEntry;
404struct FOctreeElementSimple;
405struct FOnAddNewTribe;
406struct FOnClearMountedDino;
407struct FOnDinoDownloaded;
408struct FOnDinoUploaded;
409struct FOnHTTPGetProcessed;
410struct FOnHTTPPostResponse;
411struct FOnKilled;
412struct FOnlineAchievementsWrite;
413struct FOnlineSessionSearchResult;
414struct FOnNotifyDamage;
415struct FOnPlayerListReady;
416struct FOnPlayerStatePawnSet;
417struct FOnPossessedPawnChanged;
418struct FOnPostLogin;
419struct FOnRemovePlayerFromTribe;
420struct FOnRemoveTribe;
421struct FOnSerializeForSaveFile;
422struct FOnServerChatMessage;
423struct FOnServerDirectMessage;
424struct FOnServerNotification;
425struct FOnServerTraveFPropertyWrapperlStarted;
426struct FOnSetMountedDino;
427struct FOnStartNewPlayer;
428struct FOpenColorIODisplayConfiguration;
429struct FOrderingGroupInfo;
430struct FOutBunch;
431struct FOutParmRec;
432struct FOutputDeviceFile;
433struct FOverlapInfo;
434struct FOverlapResult;
435struct FOverrideAnimBlueprintEntry;
436struct FPaintItem {};
437struct FPenetrationTraceHit;
438struct FPingData {};
439struct FPlacementData;
440struct FPlayerBanInfo;
441struct FPlayerBoneBodyPreset;
442struct FPlayerCharacterGenderDefinition;
443struct FPlayerConfigVoiceCollectionInfo;
444struct FPlayerDeathReason;
445struct FPlayerDynamicMaterialColors;
446struct FPlayerDynamicMaterialFloat;
447struct FPlayerDynamicMaterialVector;
448struct FPlayerFlagData;
449struct FPlayerLocatorEffectMap;
451struct FPlayersAwaitingUpdatedCachedTeamTameListStruct;
452struct FPluginRedirect;
453struct FPointDamageEvent;
454struct FPointLightReductionSettings;
455struct FPointOfInterestCompanionBehavior;
458struct FPorthole;
459struct FPostProcessMaterialAdjuster;
460struct FPostProcessOverlapEvent;
461struct FPredictProjectilePathParams;
462struct FPredictProjectilePathResult;
463struct FPreSpawnedDino;
464struct FPrimalCameraInterpParams;
465struct FPrimalCameraParams;
466struct FPrimalCharacterNotifyAttackEnded;
467struct FPrimalCharacterNotifyAttackStarted;
472struct FPrimalEquipmentDefinition;
474struct FPrimalItemQuality;
483struct FPrimalStatGroupDefinition;
484struct FPrimalStructureSnapPoint;
485struct FPrimalStructureSnapPointOverride;
486struct FPrimalWirelessReferences;
487struct FPrimaryAssetId;
488struct FProcHandle;
489struct FProjectileArc;
490struct FProjectileWeaponData;
491struct FPropertyModificationsTracker;
492struct FPropertyWrapper;
493struct FPubSub_TribeNotification_Chat;
494struct FQualityTierCraftingResourceRequirements;
495struct FQueuedThreadPool;
497struct FRangedValues;
498struct FRecoveryRateOverride;
499struct FReferenceCollector;
500struct FRegionGeneralOverrides;
501struct FRegisterComponentContext;
503struct FRenderCommandFence;
504struct FRepAttachment;
505struct FReplicatedBasedMovementInfo;
506struct FReplicatedFoliageOverride;
507struct FReplicatedGrappleTetherData;
509struct FReplicationFlags;
510struct FRepMovement;
511struct FRepRecord;
512struct FRepRootMotionMontage;
513struct FResourceTemporaryAmountModifierSet;
514struct FReverbSettings;
515struct FRHITexture2D;
516struct FRigidBodyCollisionInfo;
517struct FRigidBodyErrorCorrection;
518struct FRootMotionMovementParams;
519struct FRootMotionSourceGroup;
520struct FRotationConversionCache;
521struct FRotator_NetQuantize;
522struct FRotator_NetQuantizeSmartPitch;
524struct FScreenMessageString;
525struct FScreenSaverInhibitor;
526struct FSeamlessIslandInfo;
527struct FSeamlessTravelHandler;
528struct FSeamlessTravelPlayerData;
529struct FSemaphoreEntry;
530struct FServerCustomFolder;
532struct FServerTribeAtMax;
533struct FShipTypeDisplayInformation;
534struct FShooterCharacterDied;
535struct FShooterCharacterSpawned;
536struct FShooterGameSessionParams;
537struct FShooterOnlineSearchSettings;
538struct FShooterOnlineSessionSettings;
539struct FShooterSessionData;
540struct FShorelineMetadata;
541struct FShorelineProps;
542struct FShownTreasureData;
543struct FSimulatedRootMotionReplicatedMove;
544struct FSlateBrush;
545struct FSlateColor {};
546struct FSlotAnimationTrack;
547struct FSoftClassPath;
548struct FSoilTypeDescription;
549struct FSoilTypeRegionMapping;
550struct FSpawnPointInfo;
551struct FStasisGrid;
552struct FStatColorMapping;
553struct FStatusValueModifierDescription;
554struct FStatValPair;
557struct FStoredMoveData;
558struct FStreamableManager;
559struct FStreamableRenderResourceState;
560struct FStructRedirect;
561struct FStructureToBuildAddition;
563struct FStructureVariantAddition;
564struct FSubtitleStringMap;
565struct FSupplyCrateItemSet;
566struct FSupplyCrateSpawnEntry;
567struct FSupplyCrateSpawnPointEntry;
568struct FSupplyCrateValuesOverride;
569struct FTakePointDamageSignature;
571struct FTamingDinoInfo;
573struct FTeamPingData;
575struct FTexture2DResourceMem;
576struct FTexturePlatformData;
577struct FTextureResource;
578struct FTickCallbacks;
579struct FTickFunction;
580struct FTimerHandle;
581struct FTimerManager;
582struct FTopLevelAssetPath;
583struct FTraceDatum;
584struct FTraceHandle;
586struct FTrackedActorWaypointInfo;
587struct FTransformedSubLevel;
589struct FTreeStumpCreationTime;
590struct FTribeAlliance;
591struct FTribeData;
592struct FTribeEntity;
593struct FTribeGovernment;
594struct FTribeLogEntry;
595struct FTribeNotification;
596struct FTribeRankGroup;
597struct FTribeTravelCount;
598struct FTribeWar;
599struct FTributePlayerTribeInfo;
600struct FTutorialDefinition;
601struct FUniqueNetId;
602struct FUniqueNetIdRepl;
603struct FUniqueNetIdUInt64;
605struct FUnlockableEmoteEntry;
606struct FUnreplicatedEggData;
609struct FVector_NetQuantize100;
610struct FVector_NetQuantizeNormal;
611struct FViewport;
612struct FVirtualTextureBuildSettings;
613struct FWalkableSlopeOverride;
615struct FWeaponData {};
616struct FWeaponEvent {};
618struct FWildFollowerSpawnEntry;
619struct FWorldBuffPersistantData;
620struct FWorldBuffTrackerItem;
621struct FWorldContext;
622struct FWorldDefaultItemSet;
623struct FWriteFileTaskInfo;
624struct Globals;
625struct IDataLayerWatcher;
626struct IDataListEntryInterface;
627struct IEngineLoop;
628struct IHeadMountedDisplay;
629struct IHttpRequest;
631struct IPathFollowingAgentInterface;
632struct IRepChangedPropertyTracker;
633struct IStereoRendering;
634struct ITargetableInterface;
635struct LocationQueue;
636struct PingAvgData;
638struct RCONPacket;
639struct UActorChannel;
640struct UActorComponent;
641struct UActorSequenceComponent;
643struct UAnimationAsset;
644struct UAnimMontage;
645struct UAnimNotify;
646struct UAnimNotifyState;
647struct UAnimSequence;
648struct UAnimSequenceBase;
649struct UAntiDupeTransactionLog;
650struct UAssetUserData;
651struct UAsyncPhysicsData;
652struct UAsyncPhysicsInputComponent;
653struct UAudioComponent;
654struct UBehaviorTree;
655struct UBlueprintCore;
656struct UBookmarkBase;
657struct UBoxComponent;
658struct UBrainComponent;
659struct UCanvas;
660struct UCapsuleComponent;
661struct UChannel {};
663struct UCheatManager;
664struct UCheatManagerExtension;
665struct UChildActorComponent;
666struct UClass;
667struct UConsole;
668struct UDamageType;
669struct UDatabase_LoginData;
670struct UDatabase_PubSub_GeneralNotifications;
671struct UDatabase_RemoteFileManager;
672struct UDatabase_SharedLog;
673struct UDatabase_TerritoryMap;
674struct UDatabase_TravelData;
675struct UDatabase_TribeDataManager;
676struct UDataLayerAsset;
677struct UDataLayerInstance;
678struct UDataTable;
679struct UDeferredMovementContext;
680struct UDeviceProfileManager;
681struct UDialogueWave;
682struct UDiscoveryZoneDataListEntry;
683struct UEngine;
684struct UField;
685struct UFoliageType;
686struct UFont {};
687struct UFunction;
688struct UFXSystemComponent;
689struct UGameEngine;
690struct UGameInstance;
691struct UGameplayStatics;
692struct UGameServerQuerySubsystem;
693struct UGameUserSettings;
694struct UGenericDataListEntry;
696struct UHierarchicalInstancedStaticMeshComponent;
697struct UInputComponent;
698struct UInstancedStaticMeshComponent;
699struct UInterface;
700struct UInterpTrackInstDirector;
701struct ULeaderboard {};
702struct ULevel;
703struct ULevelBase;
704struct ULevelVariantSets;
705struct ULocalMessage;
706struct ULocalPlayer;
707struct UMaterial;
708struct UMaterialInstanceConstant;
709struct UMaterialInstanceDynamic;
710struct UMaterialInterface;
711struct UMaterialParameterCollection;
712struct UMeshComponent;
713struct UModDataAsset;
714struct UMovementComponent;
715struct UMovieScene;
716struct UMovieSceneControlRigParameterTrack;
717struct UMovieSceneSequence;
718struct UMovieSceneTrack;
719struct UNavigationSystemConfig;
720struct UNetConnection;
721struct UNetDriver;
722struct UNiagaraComponent;
723struct UNiagaraEmitter;
724struct UNiagaraSystem;
725struct UObject;
726struct UObjectBase_vtbl;
727struct UObjectBase;
728struct UObjectBaseUtility;
729struct UObjectSerializer;
730struct UPaintingCache;
731struct UPaintingStreamingComponent;
732struct UPaintingTexture;
733struct UParticleSystem;
734struct UParticleSystemComponent;
736struct UPendingNetGame;
737struct UPhysicalMaterial;
738struct UPlayer;
739struct UPlayerInput {};
740struct UPrimalAIState;
741struct UPrimalAssets;
742struct UPrimalBuffPersistentData;
743struct UPrimalCableComponent;
746struct UPrimalDinoEntry;
747struct UPrimalDinoSettings;
748struct UPrimalEngramEntry;
749struct UPrimalGameData;
750struct UPrimalGlobals;
751struct UPrimalGlobalUIData;
752struct UPrimalHarvestingComponent;
754struct UPrimalItem_Dye;
755struct UPrimalItem_Shield;
756struct UPrimalItem;
757struct UPrimalLocalProfile;
758struct UPrimalNavigationInvokerComponent;
759struct UPrimalPlayerData;
760struct UPrimalStructureSettings;
761struct UPrimalStructureSnapSettings;
762struct UPrimalStructureToolTipWidget;
763struct UPrimalSupplyCrateItemSets;
764struct UPrimalUI;
765struct UPrimalWindSourceComponent;
766struct UPrimalWirelessExchangeData;
767struct UPrimalWorldBuffData;
769struct UPrimaryDataAsset;
771struct UProperty;
772struct UPubSub_GeneralNotifications;
773struct UPubSub_TribeNotifications;
774struct URCONServer;
775struct USaveGame;
776struct USceneComponent;
777struct USeamlessDataServer;
778struct UShapeComponent;
780struct UShooterDamageType;
781struct UShooterGameInstance;
782struct UShooterGameUserSettings;
783struct UShooterHaptics;
785struct USkeletalMesh;
786struct USkeletalMeshComponent;
787struct USoundAttenuation;
788struct USoundBase;
789struct USoundClass;
790struct USoundConcurrency;
791struct USoundCue;
792struct USoundMix;
793struct USoundSubmix;
794struct USoundWave;
795struct USphereComponent;
796struct USplineComponent;
797struct UStaticMesh;
799struct UStaticMeshSocket;
800struct UStruct;
802struct UTexture;
803struct UTexture2D;
804struct UTireType;
805struct UToolTipWidget;
806struct UTriggerEffectLibrary;
807struct UUI_CustomOverlay;
808struct UUI_GenericConfirmationDialog;
809struct UUI_HostSession;
810struct UUI_Notification;
811struct UUI_XBoxFooter;
812struct UUserWidget {};
813struct UWaveWorksComponent;
814struct UWeaponAttackData;
815struct UWidget;
816struct UWorld;
817struct UWorldPartition;
818struct FOverlappedFoliageElement;
819
820// Address helpers
821ARK_API DWORD64 GetAddress(const void* base, const std::string& name);
822ARK_API LPVOID GetAddress(const std::string& name);
823
824ARK_API LPVOID GetDataAddress(const std::string& name);
825
826ARK_API BitField GetBitField(const void* base, const std::string& name);
827ARK_API BitField GetBitField(LPVOID base, const std::string& name);
828
829#define DECLARE_HOOK(name, returnType, ...) typedef returnType(__fastcall * name ## _Func)(__VA_ARGS__); inline
830 name ## _Func name ## _original; returnType
831 __fastcall Hook_ ## name(__VA_ARGS__)
#define ARK_API
Definition Ark.h:16
ARK_API LPVOID GetDataAddress(const std::string &name)
Definition Base.cpp:15
ARK_API BitField GetBitField(LPVOID base, const std::string &name)
Definition Base.cpp:25
ARK_API BitField GetBitField(const void *base, const std::string &name)
Definition Base.cpp:20
ARK_API DWORD64 GetAddress(const void *base, const std::string &name)
Definition Base.cpp:5
ARK_API LPVOID GetAddress(const std::string &name)
Definition Base.cpp:10
bool HideCommand
Definition Globals.h:3
#define FORCEINLINE
Definition Platform.h:644
std::unordered_map< const FString, AShooterPlayerController *, FStringHash, FStringEqual > eos_id_map_
Definition ApiUtils.h:46
void SetStatus(ServerStatus status)
Definition ApiUtils.cpp:41
std::shared_ptr< MessagingManager > GetMessagingManagerInternal(const FString &forPlugin) const override
Definition ApiUtils.cpp:124
void SetCheatManager(UShooterCheatManager *cheatmanager)
Definition ApiUtils.cpp:52
ApiUtils(const ApiUtils &)=delete
std::shared_ptr< MessagingManager > ReadApiMessagingManager()
Definition ApiUtils.cpp:185
UShooterCheatManager * GetCheatManager() const override
Returns a point to URCON CheatManager.
Definition ApiUtils.cpp:119
ApiUtils(ApiUtils &&)=delete
ApiUtils()=default
void CheckMessagingManagersRequirements()
Definition ApiUtils.cpp:155
AShooterPlayerController * FindPlayerFromEOSID_Internal(const FString &eos_id) const override
Definition ApiUtils.cpp:83
AShooterGameMode * GetShooterGameMode() const override
Returns a pointer to AShooterGameMode.
Definition ApiUtils.cpp:34
ApiUtils & operator=(const ApiUtils &)=delete
void SetShooterGameMode(AShooterGameMode *shooter_game_mode)
Definition ApiUtils.cpp:29
void RemoveMessagingManagerInternal(const FString &forPlugin)
Definition ApiUtils.cpp:147
ApiUtils & operator=(ApiUtils &&)=delete
AShooterGameMode * shooter_game_mode_
Definition ApiUtils.h:43
UWorld * GetWorld() const override
Returns a pointer to UWorld.
Definition ApiUtils.cpp:22
void SetMessagingManagerInternal(const FString &forPlugin, std::shared_ptr< MessagingManager > manager) override
Definition ApiUtils.cpp:135
ServerStatus GetStatus() const override
Returns the current server status.
Definition ApiUtils.cpp:46
ServerStatus status_
Definition ApiUtils.h:44
void SetPlayerController(AShooterPlayerController *player_controller)
Definition ApiUtils.cpp:57
UWorld * u_world_
Definition ApiUtils.h:42
void RemovePlayerController(AShooterPlayerController *player_controller)
Definition ApiUtils.cpp:70
~ApiUtils() override=default
void SetWorld(UWorld *uworld)
Definition ApiUtils.cpp:13
UShooterCheatManager * cheatmanager_
Definition ApiUtils.h:45
FORCEINLINE AShooterGameState * GetGameState()
Get Shooter Game State.
virtual UShooterCheatManager * GetCheatManager() const =0
Returns a point to URCON CheatManager.
FORCEINLINE void SendNotificationToAll(FLinearColor color, float display_scale, float display_time, UTexture2D *icon, const T *msg, Args &&... args)
Sends notification (on-screen message) to all players. Using fmt::format.
FORCEINLINE TArray< AActor * > GetAllActorsInRange(FVector location, float radius, EServerOctreeGroup::Type ActorType)
Gets all actors in radius at location.
FORCEINLINE std::shared_ptr< T > GetMessagingManagerCasted() const
Gets the current messaging manager for the plugin.
FORCEINLINE MapCoords FVectorToCoords(FVector actor_position)
Converts FVector into coords that are displayed when you view the ingame map.
FORCEINLINE const FString GetAttackerEOSID(AActor *target, AController *killer, AActor *damage_causer, bool tribe_check=true)
obtains the steam ID of an attacker, meant to be used in hooks such as TakeDamage
static FORCEINLINE FString GetClassBlueprint(UClass *the_class)
Returns blueprint path from any UClass.
FORCEINLINE AShooterPlayerController * FindPlayerFromEOSID(const FString &eos_id) const
Finds player from the given eos id.
virtual ~IApiUtils()=default
FORCEINLINE void SendNotification(AShooterPlayerController *player_controller, FLinearColor color, float display_scale, float display_time, UTexture2D *icon, const T *msg, Args &&... args)
Sends notification (on-screen message) to the specific player. Using fmt::format.
Definition ArkApiUtils.h:71
static FORCEINLINE APrimalDinoCharacter * GetRidingDino(AShooterPlayerController *player_controller)
Returns the dino the character is riding.
FORCEINLINE void SendServerMessageToAll(FLinearColor msg_color, const T *msg, Args &&... args)
Sends server message to all players. Using fmt::format.
static FORCEINLINE int GetTribeID(AShooterCharacter *player_character)
Get Tribe ID of character.
static FORCEINLINE int GetTribeID(AShooterPlayerController *player_controller)
Get Tribe ID of player controller.
static FORCEINLINE uint64 GetPlayerID(AController *controller)
FORCEINLINE TArray< AActor * > GetAllActorsInRange(FVector location, float radius, EServerOctreeGroup::Type ActorType, TArray< AActor * > ignores)
Gets all actors in radius at location, with ignore actors.
FORCEINLINE std::shared_ptr< MessagingManager > GetMessagingManager() const
Gets the current messaging manager for the plugin, without casting.
static FORCEINLINE FVector GetPosition(APlayerController *player_controller)
Returns the position of a player.
FORCEINLINE void SendServerMessage(AShooterPlayerController *player_controller, FLinearColor msg_color, const T *msg, Args &&... args)
Sends server message to the specific player. Using fmt::format.
Definition ArkApiUtils.h:53
FORCEINLINE TArray< AShooterPlayerController * > FindPlayerFromCharacterName(const FString &character_name, ESearchCase::Type search, bool full_match) const
Finds all matching players from the given character name.
static FORCEINLINE bool IsRidingDino(AShooterPlayerController *player_controller)
Returns true if character is riding a dino, false otherwise.
static FORCEINLINE uint64 GetPlayerID(APrimalCharacter *character)
FORCEINLINE UPrimalGameData * GetGameData()
Returns pointer to Primal Game Data.
virtual std::shared_ptr< MessagingManager > GetMessagingManagerInternal(const FString &forPlugin) const =0
static FORCEINLINE void FreeStruct(void *obj)
Free a struct allocated.
static FORCEINLINE UShooterCheatManager * GetCheatManagerByPC(AShooterPlayerController *SPC)
Get UShooterCheatManager* of player controller.
FORCEINLINE AShooterPlayerController * FindControllerFromCharacter(AShooterCharacter *character) const
Finds player controller from the given player character.
static FORCEINLINE FString GetIPAddress(AShooterPlayerController *player)
Returns IP address of player.
static FORCEINLINE std::optional< FString > TeleportToPlayer(AShooterPlayerController *me, AShooterPlayerController *him, bool check_for_dino, float max_dist)
Teleport one player to another.
FORCEINLINE bool SpawnDrop(const wchar_t *blueprint, FVector pos, int amount, float item_quality=0.0f, bool force_blueprint=false, float life_span=0.0f) const
Spawns an item drop.
void SetMessagingManager()
Sets the messaging manager for the current plugin.
static FORCEINLINE bool TeleportToPos(AShooterPlayerController *player_controller, const FVector &pos)
Teleports player to the given position.
virtual void SetMessagingManagerInternal(const FString &forPlugin, std::shared_ptr< MessagingManager > manager)=0
static FORCEINLINE bool IsPlayerDead(AShooterPlayerController *player)
Returns true if player is dead, false otherwise.
virtual AShooterGameMode * GetShooterGameMode() const =0
Returns a pointer to AShooterGameMode.
static FORCEINLINE FString GetSteamName(AController *player_controller)
Returns the steam name of player.
static FORCEINLINE FString GetCharacterName(AShooterPlayerController *player_controller)
Returns the character name of player.
FORCEINLINE void SendChatMessage(AShooterPlayerController *player_controller, const FString &sender_name, const T *msg, Args &&... args)
Sends chat message to the specific player. Using fmt::format.
Definition ArkApiUtils.h:87
FORCEINLINE AShooterPlayerController * FindPlayerFromPlatformName(const FString &steam_name) const
Finds player from the given platform name (can be steam, Playstation, Xbox, etc......
virtual ServerStatus GetStatus() const =0
Returns the current server status.
FORCEINLINE const FString GetEOSIDForPlayerID(int player_id)
FORCEINLINE APrimalDinoCharacter * SpawnDino(AShooterPlayerController *player, FString blueprint, FVector *location, int lvl, bool force_tame, bool neutered) const
Spawns a dino near player or at specific coordinates.
static FORCEINLINE FString GetItemBlueprint(UPrimalItem *item)
Returns blueprint from UPrimalItem.
FORCEINLINE void SendChatMessageToAll(const FString &sender_name, const T *msg, Args &&... args)
Sends chat message to all players. Using fmt::format.
static FORCEINLINE FString GetEOSIDFromController(AController *controller)
Returns EOS ID from player controller.
static FORCEINLINE int GetInventoryItemCount(AShooterPlayerController *player_controller, const FString &item_name)
Counts a specific items quantity.
static FORCEINLINE T * AllocateStruct()
Create a new object of T, with the correct size.
void RunHiddenCommand(AShooterPlayerController *_this, FString *Command)
Runs a command that is not logged anywhere.
static FORCEINLINE FString GetBlueprint(UObjectBase *object)
Returns blueprint path from any UObject.
virtual UWorld * GetWorld() const =0
Returns a pointer to UWorld.
virtual AShooterPlayerController * FindPlayerFromEOSID_Internal(const FString &eos_id) const =0
UE_NODISCARD bool EndsWith(const TCHAR *InSuffix, ESearchCase::Type SearchCase=ESearchCase::IgnoreCase) const
UE_NODISCARD FORCEINLINE friend FString operator+(const TCHAR *Lhs, FString &&Rhs)
UE_NODISCARD FORCEINLINE friend FString operator+(FString &&Lhs, const TCHAR *Rhs)
FString & operator=(FString &&)=default
UE_NODISCARD FORCEINLINE bool IsEmpty() const
ARK_API FString(const WIDECHAR *Str)
Definition String.cpp:250
ARK_API FString(const ANSICHAR *Str)
Definition String.cpp:249
UE_NODISCARD FORCEINLINE friend FString operator+(const TCHAR *Lhs, const FString &Rhs)
UE_NODISCARD FORCEINLINE FString LeftChop(int32 Count) const &
FString & operator=(const FString &)=default
Messaging manager. Allows to send server messages, notifications and chat messages.
IApiUtils & GetApiUtils()
Definition ApiUtils.cpp:206
@ CaseSensitive
Definition CString.h:25
Definition json.hpp:4518
static UClass * GetPrivateStaticClass()
Definition Actor.h:2753
bool IsLocalController()
Definition Actor.h:2237
FString * ConsoleCommand(FString *result, const FString *Cmd, bool bWriteToLog)
Definition Actor.h:2464
FString * GetPlayerNetworkAddress(FString *result)
Definition Actor.h:2656
bool IsDead()
Definition Actor.h:5005
void DoNeuter_Implementation()
Definition Actor.h:7823
void TameDino(AShooterPlayerController *ForPC, bool bIgnoreMaxTameLimit, int OverrideTamingTeamID, bool bPreventNameDialog, bool bSkipAddingTamedLevels, bool bSuppressNotifications)
Definition Actor.h:7631
static UClass * GetPrivateStaticClass()
Definition Actor.h:7399
int & TamingTeamIDField()
Definition Actor.h:6417
FString & TamerStringField()
Definition Actor.h:6258
int & AbsoluteBaseLevelField()
Definition Actor.h:6556
APlayerController * GetOwnerController()
Definition Actor.h:4188
unsigned int & ConstructorPlayerDataIDField()
static UClass * StaticClass()
float & LongitudeOriginField()
Definition GameMode.h:1402
float & LatitudeOriginField()
Definition GameMode.h:1403
float & LongitudeScaleField()
Definition GameMode.h:1397
float & LatitudeScaleField()
Definition GameMode.h:1401
UPrimalPlayerData * GetPlayerData()
Definition Actor.h:5978
void AddPlayerID(int playerDataID, FString *netUniqueString, bool bForce)
Definition GameMode.h:2396
FString * GetSteamIDStringForPlayerID(FString *result, int playerDataID)
Definition GameMode.h:2398
__int64 & LinkedPlayerIDField()
Definition Actor.h:2860
bool IsA(UClass *SomeBase)
Returns if the actor is from SomeBase or a subclass of SomeBase.
DWORD64 offset
Definition Base.h:110
DWORD bit_position
Definition Base.h:111
ULONGLONG length
Definition Base.h:113
ULONGLONG num_bits
Definition Base.h:112
Definition Other.h:717
ECanvasAllowModes
Definition Base.h:197
@ Allow_DeleteOnRender
Definition Base.h:199
@ Allow_Flush
Definition Base.h:198
EElementType
Definition Base.h:190
@ ET_MAX
Definition Base.h:193
@ ET_Line
Definition Base.h:191
@ ET_Triangle
Definition Base.h:192
Definition Other.h:932
Definition Other.h:913
Definition Other.h:1075
Definition Other.h:1376
Definition Other.h:1391
Definition Other.h:1661
Definition Base.h:342
Definition Base.h:347
static void Free(void *Original)
Definition Other.h:1914
Definition Other.h:2197
unsigned __int64 & PlayerDataIDField()
Definition Other.h:2291
Definition Base.h:502
Definition UE.h:1001
Definition UE.h:589
Definition UE.h:1022
Definition UE.h:505
Definition Base.h:686
UClass *& ClassPrivateField()
Definition UE.h:191
void GetPathName(const UObject *StopOuter, FString *ResultString)
Definition UE.h:394
Definition UE.h:432
int & TargetingTeamField()
Definition Actor.h:120
UPrimalGameData *& PrimalGameDataField()
Definition GameMode.h:1158
UPrimalGameData *& PrimalGameDataOverrideField()
Definition GameMode.h:1159
FItemNetInfo * GetItemNetInfo(FItemNetInfo *result, bool bIsForSendingToClient)
Definition Inventory.h:529
FPrimalPlayerDataStruct * MyDataField()
Definition Actor.h:6226
Definition UE.h:525
Definition UE.h:833
static UObject * GetClassDefaultObject(UClass *FromClass)
Definition Other.h:74
TArray< TWeakObjectPtr< APlayerController >, TSizedDefaultAllocator< 32 > > & PlayerControllerListField()
Definition GameMode.h:516
APlayerController * GetFirstPlayerController()
Definition GameMode.h:743
AWorldSettings * GetWorldSettings(bool bCheckStreamingPersistent, bool bChecked)
Definition GameMode.h:750