#pragma once /* * SDK generated by Dumper-7 * * https://github.com/Encryqed/Dumper-7 */ // Package: PersistentData #include "Basic.hpp" #include "CoreUObject_classes.hpp" #include "PersistentData_structs.hpp" #include "Engine_classes.hpp" namespace SDK { // Class PersistentData.PersistentData // 0x0DF8 (0x0E20 - 0x0028) class UPersistentData final : public UObject { public: TMulticastInlineDelegate OnGameToBeSaved; // 0x0028(0x0010)(ZeroConstructor, InstancedReference, BlueprintAssignable, NativeAccessSpecifierPublic) TMulticastInlineDelegate OnSaveFlushed; // 0x0038(0x0010)(ZeroConstructor, InstancedReference, BlueprintAssignable, NativeAccessSpecifierPublic) TMulticastInlineDelegate OnPostGameToBeSaved; // 0x0048(0x0010)(ZeroConstructor, InstancedReference, BlueprintAssignable, NativeAccessSpecifierPublic) TMulticastInlineDelegate PreSaveLoaded; // 0x0058(0x0010)(ZeroConstructor, InstancedReference, BlueprintAssignable, NativeAccessSpecifierPublic) TMulticastInlineDelegate OnSaveGameLoaded; // 0x0068(0x0010)(ZeroConstructor, InstancedReference, BlueprintAssignable, NativeAccessSpecifierPublic) TMulticastInlineDelegate PreCharacterDeleted; // 0x0078(0x0010)(ZeroConstructor, InstancedReference, BlueprintAssignable, NativeAccessSpecifierPublic) TMulticastInlineDelegate OnDBVersionCheck; // 0x0088(0x0010)(ZeroConstructor, InstancedReference, BlueprintAssignable, NativeAccessSpecifierPublic) TMulticastInlineDelegate OnSaveGameComplete; // 0x0098(0x0010)(ZeroConstructor, InstancedReference, BlueprintAssignable, NativeAccessSpecifierPublic) TMulticastInlineDelegate OnCharacterDeleted; // 0x00A8(0x0010)(ZeroConstructor, InstancedReference, BlueprintAssignable, NativeAccessSpecifierPublic) uint8 Pad_B8[0x70]; // 0x00B8(0x0070)(Fixing Size After Last Property [ Dumper-7 ]) TMulticastInlineDelegate OnCrossGenSaveDataComplete; // 0x0128(0x0010)(ZeroConstructor, InstancedReference, BlueprintAssignable, NativeAccessSpecifierPublic) TMulticastInlineDelegate OnAllCrossGenSaveDataComplete; // 0x0138(0x0010)(ZeroConstructor, InstancedReference, BlueprintAssignable, NativeAccessSpecifierPublic) uint8 Pad_148[0xCD8]; // 0x0148(0x0CD8)(Fixing Struct Size After Last Property [ Dumper-7 ]) public: static bool AsyncRemovePlayableCharacter(int32 CharacterID); static bool BP_CreateCharacter(const class FString& CharacterName, const class FString& CharacterHouse); static bool BP_DoesCharacterExistYet(); static bool BP_SaveGame(const class FString& LocationName); static bool CanCreateModdedCharacter(); static void CompletedIntro(); static void CompletedModIntroFlow(); static bool CopyToModdedSlotFromSlot(const class FString& SourceSlotName, const class FString& TargetSlotName, int32 CharacterID); static bool CreateModdedCharacterCopy(const class FString& SlotName, int32 CharacterID, class FString* OutNewSlotName, int32* OutNewCharacterID); static bool CreateModdedCharacterCopyFromSlot(const class FString& SlotName, int32 CharacterID); static int32 CreatePlayableCharacter(const class FString& CharacterName, const class FString& CharacterHouse, const class FString& CharacterUID, const class FString& CharacterVoice, const class FString& CharacterPronoun, bool bIsModdedCharacter); static bool DoesCrossGenSaveDataExist(); static void FlushAutoSaveCacheIfNecessary(); static TArray GetAllPlayableCharacters(bool bIncludeModded); static TArray GetAvailableCrossGenSaveData(); static TArray GetCrossGenCharacterList(); static class FString GetCrossGenPlayableCharacterName(const struct FCharacterSaveGameInfo& CharacterInfo); static const struct FCharacterSaveGameInfo GetCurrentPlayableCharacter(); static int32 GetCurrentPlayerID(); static uint8 GetDefaultDifficulty(); static TArray GetFavouriteMods(); static class UPersistentData* GetInstance(); static bool GetIsPlayableCharacterUsed(int32 CharacterID); static const struct FCharacterSaveGameInfo GetLastLoadedPlayableCharacter(); static class FString GetLastSaveSlotLoaded(); static const struct FCharacterSaveGameInfo GetPlayableCharacter(int32 CharacterID); static bool GetWizardingWorldData(const class FString& Attribute, class FString* OutValue); static bool HasCompletedIntro(); static bool HasCompletedModIntroFlow(); static bool HasCreatedPlayableCharacter(); static bool HasEverLaunchedGame(); static bool LoadCrossGenSaveDataInSlot(const class FString& SlotName, const class FString& OldSlotName); static bool LoadGameDataInSlot(const class FString& SlotName, int32 CharacterID); static bool LoadLastSaveOfType(ESaveType SaveType, int32 CharacterID); static bool RemoveAllSaveData(); static bool RemoveAllSavesForCharacter(int32 CharacterID); static bool RemovePlayableCharacter(int32 CharacterID, bool bSaveFileListAsync); static bool RemoveSaveInSlot(const class FString& SlotName, int32 CharacterID); static bool SaveGameDataInSlot(const class FString& SlotName, ESaveType SaveType, int32 CharacterID, const class FString& LocationName, const class FString& MissionData, bool bCollectSaveData, const class FString& CloudLabel); static bool SaveGameDataOfType(ESaveType SaveType, int32 CharacterID, const class FString& LocationName, const class FString& MissionData, bool bCollectSaveData); static bool SetCharacterPinState(int32 CharacterID, bool bPinCharacter); static void TryAddFavouriteMod(int64 modId); static void TryRemoveFavouriteMod(int64 modId); static bool UpdateActiveMods(int32 CharacterID, const TArray& ActiveMods); static bool UpdatePlayableCharacterClothes(int32 CharacterID, const TArray& CharacterClothes, const class FString& AllGearTags); static bool UpdatePlayableCharacterGender(int32 CharacterID, const class FString& CharacterGender); static bool UpdatePlayableCharacterHouse(int32 CharacterID, const class FString& CharacterHouse); static bool UpdatePlayableCharacterLevel(int32 CharacterID, int32 CharacterLevel); static bool UpdatePlayableCharacterName(int32 CharacterID, const class FString& CharacterName); static bool UpdatePlayableCharacterPresets(int32 CharacterID, const TArray& CharacterPresets); static bool UpdatePlayableCharacterPronoun(int32 CharacterID, const class FString& CharacterPronoun); static bool UpdatePlayableCharacterVoice(int32 CharacterID, const class FString& CharacterVoice); void CrossGenSaveDataLoad(int32 fromCharacterIndex, int32 toCharacterIndex); void CrossGenSaveDataLog(); void GameAutoSave(int32 CharacterID); void GameCreatePlayableCharacter(const class FString& CharacterName, const class FString& CharacterHouse); void GameDBLoad(const class FString& SaveFileNameOverride); void GameDBSave(const class FString& SaveFileNameOverride); void GameLoad(int32 CharacterID, const class FString& SaveNameOverride); void GameLoadLastAutoSave(int32 CharacterID); void GameLoadLastSave(int32 CharacterID); void GameLoadLastUserSave(int32 CharacterID); void GameLogPlayableCharacters(); void GameLogSaveDirList(); void GameLogSaveGameList(int32 CharacterID); void GamePurgeAllSaveData(); void GameRemovePlayableCharacter(int32 CharacterID); void GameRemoveSaveSlot(const class FString& SlotName, int32 CharacterID); void GameTestSaveGameList(int32 CharacterID); void GameUserSave(int32 CharacterID); void LoadAllCrossGenSaveData(); void LoadCrossGenSaveData(int32 fromCharacterIndex, int32 toCharacterIndex, bool SaveFileList); void OnCrossGenSaveDataLoaded(bool Result); public: static class UClass* StaticClass() { STATIC_CLASS_IMPL("PersistentData") } static const class FName& StaticName() { STATIC_NAME_IMPL(L"PersistentData") } static class UPersistentData* GetDefaultObj() { return GetDefaultObjImpl(); } }; DUMPER7_ASSERTS_UPersistentData; // Class PersistentData.PersistentGameData // 0x04D0 (0x04F8 - 0x0028) class UPersistentGameData final : public USaveGame { public: int32 Version; // 0x0028(0x0004)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic) int32 ChangeList; // 0x002C(0x0004)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic) int64 SessionTime; // 0x0030(0x0008)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic) class FString Platform; // 0x0038(0x0010)(ZeroConstructor, HasGetValueTypeHash, NativeAccessSpecifierPublic) bool bDBC; // 0x0048(0x0001)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic) bool bExclusiveMissionActive; // 0x0049(0x0001)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic) uint8 Pad_4A[0x2]; // 0x004A(0x0002)(Fixing Size After Last Property [ Dumper-7 ]) int32 ExclusiveVersion; // 0x004C(0x0004)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic) int32 ExclusiveChangeList; // 0x0050(0x0004)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic) uint8 Pad_54[0x4]; // 0x0054(0x0004)(Fixing Size After Last Property [ Dumper-7 ]) int64 ExclusiveSessionTime; // 0x0058(0x0008)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic) class FString ExclusivePlatform; // 0x0060(0x0010)(ZeroConstructor, HasGetValueTypeHash, NativeAccessSpecifierPublic) TArray RawDatabaseImage; // 0x0070(0x0010)(ZeroConstructor, NativeAccessSpecifierPublic) TArray RawExclusiveImage; // 0x0080(0x0010)(ZeroConstructor, NativeAccessSpecifierPublic) TArray RawMiniMapImage; // 0x0090(0x0010)(ZeroConstructor, NativeAccessSpecifierPublic) struct FCharacterSaveGameInfo CharacterSaveGameInfo; // 0x00A0(0x0370)(NativeAccessSpecifierPublic) bool bCompletedIntro; // 0x0410(0x0001)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic) bool bCompletedModIntroFlow; // 0x0411(0x0001)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic) uint8 Pad_412[0x6]; // 0x0412(0x0006)(Fixing Size After Last Property [ Dumper-7 ]) TArray FavouriteMods; // 0x0418(0x0010)(ZeroConstructor, NativeAccessSpecifierPublic) TMap wizardingWorldData; // 0x0428(0x0050)(NativeAccessSpecifierPublic) TArray Entitlements; // 0x0478(0x0010)(ZeroConstructor, NativeAccessSpecifierPublic) TArray AnalyticsEvents; // 0x0488(0x0010)(ZeroConstructor, NativeAccessSpecifierPublic) bool bSkippedLanguageCheck; // 0x0498(0x0001)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic) uint8 Pad_499[0x7]; // 0x0499(0x0007)(Fixing Size After Last Property [ Dumper-7 ]) struct FSaveDirectoryEntry DirectoryEntry; // 0x04A0(0x0058)(NativeAccessSpecifierPublic) public: static class UClass* StaticClass() { STATIC_CLASS_IMPL("PersistentGameData") } static const class FName& StaticName() { STATIC_NAME_IMPL(L"PersistentGameData") } static class UPersistentGameData* GetDefaultObj() { return GetDefaultObjImpl(); } }; DUMPER7_ASSERTS_UPersistentGameData; // Class PersistentData.PersistentGameDataList // 0x07C0 (0x07E8 - 0x0028) class UPersistentGameDataList final : public USaveGame { public: int32 VersionMajor; // 0x0028(0x0004)(Edit, ZeroConstructor, EditConst, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic) int32 VersionMinor; // 0x002C(0x0004)(Edit, ZeroConstructor, EditConst, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic) struct FPersistentGameDataListInfo Info; // 0x0030(0x07B8)(Edit, EditConst, NativeAccessSpecifierPublic) public: static class UClass* StaticClass() { STATIC_CLASS_IMPL("PersistentGameDataList") } static const class FName& StaticName() { STATIC_NAME_IMPL(L"PersistentGameDataList") } static class UPersistentGameDataList* GetDefaultObj() { return GetDefaultObjImpl(); } }; DUMPER7_ASSERTS_UPersistentGameDataList; // Class PersistentData.PersistentOffline // 0x0010 (0x0038 - 0x0028) class UPersistentOffline final : public USaveGame { public: class FString EpicAccountID; // 0x0028(0x0010)(Edit, ZeroConstructor, EditConst, HasGetValueTypeHash, NativeAccessSpecifierPublic) public: static class UClass* StaticClass() { STATIC_CLASS_IMPL("PersistentOffline") } static const class FName& StaticName() { STATIC_NAME_IMPL(L"PersistentOffline") } static class UPersistentOffline* GetDefaultObj() { return GetDefaultObjImpl(); } }; DUMPER7_ASSERTS_UPersistentOffline; }