Files
ReshadePluginsCore/Hogwarts Legacy/SDK/PersistentData_classes.hpp
2026-03-06 01:33:32 +01:00

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;
}