230 lines
15 KiB
C++
230 lines
15 KiB
C++
#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<void()> OnGameToBeSaved; // 0x0028(0x0010)(ZeroConstructor, InstancedReference, BlueprintAssignable, NativeAccessSpecifierPublic)
|
|
TMulticastInlineDelegate<void()> OnSaveFlushed; // 0x0038(0x0010)(ZeroConstructor, InstancedReference, BlueprintAssignable, NativeAccessSpecifierPublic)
|
|
TMulticastInlineDelegate<void()> OnPostGameToBeSaved; // 0x0048(0x0010)(ZeroConstructor, InstancedReference, BlueprintAssignable, NativeAccessSpecifierPublic)
|
|
TMulticastInlineDelegate<void()> PreSaveLoaded; // 0x0058(0x0010)(ZeroConstructor, InstancedReference, BlueprintAssignable, NativeAccessSpecifierPublic)
|
|
TMulticastInlineDelegate<void()> OnSaveGameLoaded; // 0x0068(0x0010)(ZeroConstructor, InstancedReference, BlueprintAssignable, NativeAccessSpecifierPublic)
|
|
TMulticastInlineDelegate<void(int32 CharacterID)> PreCharacterDeleted; // 0x0078(0x0010)(ZeroConstructor, InstancedReference, BlueprintAssignable, NativeAccessSpecifierPublic)
|
|
TMulticastInlineDelegate<void(const int32 DBVersion, const int32 DBChangeList)> OnDBVersionCheck; // 0x0088(0x0010)(ZeroConstructor, InstancedReference, BlueprintAssignable, NativeAccessSpecifierPublic)
|
|
TMulticastInlineDelegate<void()> OnSaveGameComplete; // 0x0098(0x0010)(ZeroConstructor, InstancedReference, BlueprintAssignable, NativeAccessSpecifierPublic)
|
|
TMulticastInlineDelegate<void()> OnCharacterDeleted; // 0x00A8(0x0010)(ZeroConstructor, InstancedReference, BlueprintAssignable, NativeAccessSpecifierPublic)
|
|
uint8 Pad_B8[0x70]; // 0x00B8(0x0070)(Fixing Size After Last Property [ Dumper-7 ])
|
|
TMulticastInlineDelegate<void(bool bResult)> OnCrossGenSaveDataComplete; // 0x0128(0x0010)(ZeroConstructor, InstancedReference, BlueprintAssignable, NativeAccessSpecifierPublic)
|
|
TMulticastInlineDelegate<void(bool bResult)> 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<struct FCharacterSaveGameInfo> GetAllPlayableCharacters(bool bIncludeModded);
|
|
static TArray<struct FSaveGameInfo> GetAvailableCrossGenSaveData();
|
|
static TArray<struct FCharacterSaveGameInfo> GetCrossGenCharacterList();
|
|
static class FString GetCrossGenPlayableCharacterName(const struct FCharacterSaveGameInfo& CharacterInfo);
|
|
static const struct FCharacterSaveGameInfo GetCurrentPlayableCharacter();
|
|
static int32 GetCurrentPlayerID();
|
|
static uint8 GetDefaultDifficulty();
|
|
static TArray<int64> 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<int64>& ActiveMods);
|
|
static bool UpdatePlayableCharacterClothes(int32 CharacterID, const TArray<class FName>& 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<class FName>& 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<UPersistentData>();
|
|
}
|
|
};
|
|
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<uint8> RawDatabaseImage; // 0x0070(0x0010)(ZeroConstructor, NativeAccessSpecifierPublic)
|
|
TArray<uint8> RawExclusiveImage; // 0x0080(0x0010)(ZeroConstructor, NativeAccessSpecifierPublic)
|
|
TArray<uint8> 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<int64> FavouriteMods; // 0x0418(0x0010)(ZeroConstructor, NativeAccessSpecifierPublic)
|
|
TMap<class FString, class FString> wizardingWorldData; // 0x0428(0x0050)(NativeAccessSpecifierPublic)
|
|
TArray<class FString> Entitlements; // 0x0478(0x0010)(ZeroConstructor, NativeAccessSpecifierPublic)
|
|
TArray<class FString> 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<UPersistentGameData>();
|
|
}
|
|
};
|
|
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<UPersistentGameDataList>();
|
|
}
|
|
};
|
|
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<UPersistentOffline>();
|
|
}
|
|
};
|
|
DUMPER7_ASSERTS_UPersistentOffline;
|
|
|
|
}
|
|
|