350 lines
19 KiB
C++
350 lines
19 KiB
C++
#pragma once
|
|
|
|
/*
|
|
* SDK generated by Dumper-7
|
|
*
|
|
* https://github.com/Encryqed/Dumper-7
|
|
*/
|
|
|
|
// Package: PL_SaveGame
|
|
|
|
#include "Basic.hpp"
|
|
|
|
#include "CoreUObject_structs.hpp"
|
|
#include "CoreUObject_classes.hpp"
|
|
#include "GameplayTags_structs.hpp"
|
|
#include "PL_SaveGame_structs.hpp"
|
|
#include "PL_Core_classes.hpp"
|
|
#include "Engine_classes.hpp"
|
|
|
|
|
|
namespace SDK
|
|
{
|
|
|
|
// Class PL_SaveGame.PL_ProjectSpecificSaveGameData
|
|
// 0x0000 (0x0028 - 0x0028)
|
|
class UPL_ProjectSpecificSaveGameData : public UObject
|
|
{
|
|
public:
|
|
static class UClass* StaticClass()
|
|
{
|
|
STATIC_CLASS_IMPL("PL_ProjectSpecificSaveGameData")
|
|
}
|
|
static const class FName& StaticName()
|
|
{
|
|
STATIC_NAME_IMPL(L"PL_ProjectSpecificSaveGameData")
|
|
}
|
|
static class UPL_ProjectSpecificSaveGameData* GetDefaultObj()
|
|
{
|
|
return GetDefaultObjImpl<UPL_ProjectSpecificSaveGameData>();
|
|
}
|
|
};
|
|
DUMPER7_ASSERTS_UPL_ProjectSpecificSaveGameData;
|
|
|
|
// Class PL_SaveGame.PL_SaveGame
|
|
// 0x0038 (0x0060 - 0x0028)
|
|
class UPL_SaveGame : public USaveGame
|
|
{
|
|
public:
|
|
int32 VersionNumber; // 0x0028(0x0004)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
|
|
uint8 Pad_2C[0x4]; // 0x002C(0x0004)(Fixing Size After Last Property [ Dumper-7 ])
|
|
struct FDateTime LastUpdate; // 0x0030(0x0008)(Edit, BlueprintVisible, ZeroConstructor, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
|
|
bool bWasAutoSaved; // 0x0038(0x0001)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
|
|
uint8 Pad_39[0x7]; // 0x0039(0x0007)(Fixing Size After Last Property [ Dumper-7 ])
|
|
struct FPL_PersistentData PersistentData; // 0x0040(0x0020)(Edit, BlueprintVisible, NativeAccessSpecifierPublic)
|
|
|
|
public:
|
|
static class UClass* StaticClass()
|
|
{
|
|
STATIC_CLASS_IMPL("PL_SaveGame")
|
|
}
|
|
static const class FName& StaticName()
|
|
{
|
|
STATIC_NAME_IMPL(L"PL_SaveGame")
|
|
}
|
|
static class UPL_SaveGame* GetDefaultObj()
|
|
{
|
|
return GetDefaultObjImpl<UPL_SaveGame>();
|
|
}
|
|
};
|
|
DUMPER7_ASSERTS_UPL_SaveGame;
|
|
|
|
// Class PL_SaveGame.PL_SaveGameErrorCodeUtils
|
|
// 0x0000 (0x0028 - 0x0028)
|
|
class UPL_SaveGameErrorCodeUtils final : public UBlueprintFunctionLibrary
|
|
{
|
|
public:
|
|
static class FString ConvertErrorCodeToDigitNumberString(EPL_SaveGameErrorCode ErrorCode);
|
|
|
|
public:
|
|
static class UClass* StaticClass()
|
|
{
|
|
STATIC_CLASS_IMPL("PL_SaveGameErrorCodeUtils")
|
|
}
|
|
static const class FName& StaticName()
|
|
{
|
|
STATIC_NAME_IMPL(L"PL_SaveGameErrorCodeUtils")
|
|
}
|
|
static class UPL_SaveGameErrorCodeUtils* GetDefaultObj()
|
|
{
|
|
return GetDefaultObjImpl<UPL_SaveGameErrorCodeUtils>();
|
|
}
|
|
};
|
|
DUMPER7_ASSERTS_UPL_SaveGameErrorCodeUtils;
|
|
|
|
// Class PL_SaveGame.PL_SaveGameSystem
|
|
// 0x00E8 (0x0118 - 0x0030)
|
|
class UPL_SaveGameSystem final : public UGameInstanceSubsystem
|
|
{
|
|
public:
|
|
TMulticastInlineDelegate<void()> OnStateSavedBegin; // 0x0030(0x0010)(ZeroConstructor, InstancedReference, BlueprintAssignable, NativeAccessSpecifierPublic)
|
|
TMulticastInlineDelegate<void(bool IsSuccessful, const class FString& SlotName)> OnStateSavedEnd; // 0x0040(0x0010)(ZeroConstructor, InstancedReference, BlueprintAssignable, NativeAccessSpecifierPublic)
|
|
TMulticastInlineDelegate<void()> OnStateLoadedBegin; // 0x0050(0x0010)(ZeroConstructor, InstancedReference, BlueprintAssignable, NativeAccessSpecifierPublic)
|
|
TMulticastInlineDelegate<void()> OnStateLoadedEnd; // 0x0060(0x0010)(ZeroConstructor, InstancedReference, BlueprintAssignable, NativeAccessSpecifierPublic)
|
|
TMulticastInlineDelegate<void(const class FString& SlotName)> OnStateDeleted; // 0x0070(0x0010)(ZeroConstructor, InstancedReference, BlueprintAssignable, NativeAccessSpecifierPublic)
|
|
uint8 Pad_80[0x20]; // 0x0080(0x0020)(Fixing Size After Last Property [ Dumper-7 ])
|
|
class UUserWidget* SaveIndicatorWidget; // 0x00A0(0x0008)(ExportObject, ZeroConstructor, Transient, InstancedReference, DuplicateTransient, NoDestructor, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected)
|
|
uint8 Pad_A8[0x70]; // 0x00A8(0x0070)(Fixing Struct Size After Last Property [ Dumper-7 ])
|
|
|
|
public:
|
|
static const class FText GetMessageFailedToLoad();
|
|
|
|
bool DeleteAllSavesOfSlot(const class FString& SlotName);
|
|
bool DeleteSaveSlot(const class FString& SlotName);
|
|
class USaveGame* GetRawSave(const class FString& SlotName);
|
|
class UPL_SaveGame* GetSave(const class FString& SlotName);
|
|
bool LoadState();
|
|
bool LoadStateFromSlot(const class FString& SlotName);
|
|
void OnActorsHaveBegunPlay(class UWorld* World);
|
|
void OnWorldChanged(class UWorld* OldWorld, class UWorld* NewWorld);
|
|
void QueueAutoSave(const struct FGameplayTag& InAutoSaveReason, bool bSkipAutoSaveCoolDown);
|
|
struct FPL_SaveResult SaveRawStateToSlot(class USaveGame* RawSaveObj, const class FString& SlotName);
|
|
struct FPL_SaveResult SaveState(bool bWasAutoSaved, bool bAsync);
|
|
struct FPL_SaveResult SaveStateToSlot(const class FString& SlotName, bool bWasAutoSaved, bool bAsync);
|
|
|
|
TArray<class FString> GetAllSaveGameSlotNames() const;
|
|
int32 GetSavingBlockedCount() const;
|
|
class FString GetSavingBlockedReasons() const;
|
|
bool HasPendingSave() const;
|
|
bool HasSave(const class FString& SlotName) const;
|
|
bool IsSavingBlocked() const;
|
|
EPL_SaveGameStatus QuerySaveGameStatus(const class FString& SlotName) const;
|
|
|
|
public:
|
|
static class UClass* StaticClass()
|
|
{
|
|
STATIC_CLASS_IMPL("PL_SaveGameSystem")
|
|
}
|
|
static const class FName& StaticName()
|
|
{
|
|
STATIC_NAME_IMPL(L"PL_SaveGameSystem")
|
|
}
|
|
static class UPL_SaveGameSystem* GetDefaultObj()
|
|
{
|
|
return GetDefaultObjImpl<UPL_SaveGameSystem>();
|
|
}
|
|
};
|
|
DUMPER7_ASSERTS_UPL_SaveGameSystem;
|
|
|
|
// Class PL_SaveGame.PL_SaveGameUpgradeAction
|
|
// 0x0000 (0x0028 - 0x0028)
|
|
class UPL_SaveGameUpgradeAction : public UObject
|
|
{
|
|
public:
|
|
bool Upgrade(class UPL_SaveGame* SaveGame, const struct FPL_SaveGameUpgradeContext& Context);
|
|
|
|
public:
|
|
static class UClass* StaticClass()
|
|
{
|
|
STATIC_CLASS_IMPL("PL_SaveGameUpgradeAction")
|
|
}
|
|
static const class FName& StaticName()
|
|
{
|
|
STATIC_NAME_IMPL(L"PL_SaveGameUpgradeAction")
|
|
}
|
|
static class UPL_SaveGameUpgradeAction* GetDefaultObj()
|
|
{
|
|
return GetDefaultObjImpl<UPL_SaveGameUpgradeAction>();
|
|
}
|
|
};
|
|
DUMPER7_ASSERTS_UPL_SaveGameUpgradeAction;
|
|
|
|
// Class PL_SaveGame.PL_SaveGameUpgradeData
|
|
// 0x0060 (0x0088 - 0x0028)
|
|
class UPL_SaveGameUpgradeData : public UObject
|
|
{
|
|
public:
|
|
TMap<class FString, struct FPL_SaveGameUpgradeActions> VersionUpgrades; // 0x0028(0x0050)(Edit, BlueprintVisible, NativeAccessSpecifierPublic)
|
|
TArray<struct FPL_SaveGameRepeatableUpgradeAction> RepeatableActions; // 0x0078(0x0010)(Edit, BlueprintVisible, ZeroConstructor, NativeAccessSpecifierPublic)
|
|
|
|
public:
|
|
int32 GetLatestVersionNumber() const;
|
|
bool UpgradeSaveGameToLatestVersion(class UPL_SaveGame* SaveGame, const struct FPL_SaveGameUpgradeContext& Context) const;
|
|
|
|
public:
|
|
static class UClass* StaticClass()
|
|
{
|
|
STATIC_CLASS_IMPL("PL_SaveGameUpgradeData")
|
|
}
|
|
static const class FName& StaticName()
|
|
{
|
|
STATIC_NAME_IMPL(L"PL_SaveGameUpgradeData")
|
|
}
|
|
static class UPL_SaveGameUpgradeData* GetDefaultObj()
|
|
{
|
|
return GetDefaultObjImpl<UPL_SaveGameUpgradeData>();
|
|
}
|
|
};
|
|
DUMPER7_ASSERTS_UPL_SaveGameUpgradeData;
|
|
|
|
// Class PL_SaveGame.PL_SaveGameUtils
|
|
// 0x0000 (0x0028 - 0x0028)
|
|
class UPL_SaveGameUtils final : public UBlueprintFunctionLibrary
|
|
{
|
|
public:
|
|
static void CancelAutoSave(const class UObject* WorldContextObject);
|
|
static TArray<class FString> GetAllSaveGameSlotNames(const class UObject* WorldContextObject, bool bIncludeAutoSaves, bool bIncludeUserSettings);
|
|
static bool GetBlackboardData(const class UPL_SaveGame* SaveGame, const class FName BlackboardName, struct FPL_BlackboardData* BlackboardData);
|
|
static class UPL_SaveGameSystem* GetSaveGameSystem(const class UObject* WorldContextObject);
|
|
static bool GetSystemData(const struct FPL_PersistentData& PersistentData, const class FName TypeName, struct FInstancedStruct* SystemData);
|
|
static bool IsSavingAllowed(const class UObject* WorldContextObject);
|
|
static void QueueAutoSave(const class UObject* WorldContextObject, const struct FGameplayTag& InReasonTag, bool bSkipAutoSaveCoolDown);
|
|
static void QueueSave(const class UObject* WorldContextObject);
|
|
static void SetBlackboardData(class UPL_SaveGame* SaveGame, const class FName BlackboardName, const struct FPL_BlackboardData& BlackboardData);
|
|
static void SetSystemData(struct FPL_PersistentData& PersistentData, const class FName TypeName, const struct FInstancedStruct& SystemData);
|
|
static void StartPeriodicAutoSave(const class UObject* WorldContextObject);
|
|
static void StopPeriodicAutoSave(const class UObject* WorldContextObject);
|
|
|
|
public:
|
|
static class UClass* StaticClass()
|
|
{
|
|
STATIC_CLASS_IMPL("PL_SaveGameUtils")
|
|
}
|
|
static const class FName& StaticName()
|
|
{
|
|
STATIC_NAME_IMPL(L"PL_SaveGameUtils")
|
|
}
|
|
static class UPL_SaveGameUtils* GetDefaultObj()
|
|
{
|
|
return GetDefaultObjImpl<UPL_SaveGameUtils>();
|
|
}
|
|
};
|
|
DUMPER7_ASSERTS_UPL_SaveGameUtils;
|
|
|
|
// Class PL_SaveGame.PL_SaveIndicatorInterface
|
|
// 0x0000 (0x0000 - 0x0000)
|
|
class IPL_SaveIndicatorInterface final
|
|
{
|
|
public:
|
|
void HideSaveIndicator(bool bHideInstantly);
|
|
void ShowSaveIndicator(float MinDisplayTime);
|
|
|
|
public:
|
|
static class UClass* StaticClass()
|
|
{
|
|
STATIC_CLASS_IMPL("PL_SaveIndicatorInterface")
|
|
}
|
|
static const class FName& StaticName()
|
|
{
|
|
STATIC_NAME_IMPL(L"PL_SaveIndicatorInterface")
|
|
}
|
|
static class IPL_SaveIndicatorInterface* GetDefaultObj()
|
|
{
|
|
return GetDefaultObjImpl<IPL_SaveIndicatorInterface>();
|
|
}
|
|
|
|
class UObject* AsUObject()
|
|
{
|
|
return reinterpret_cast<UObject*>(this);
|
|
}
|
|
const class UObject* AsUObject() const
|
|
{
|
|
return reinterpret_cast<const UObject*>(this);
|
|
}
|
|
};
|
|
DUMPER7_ASSERTS_IPL_SaveIndicatorInterface;
|
|
|
|
// Class PL_SaveGame.PL_PersistenceSystem
|
|
// 0x0048 (0x0078 - 0x0030)
|
|
class UPL_PersistenceSystem final : public UGameInstanceSubsystem
|
|
{
|
|
public:
|
|
uint8 Pad_30[0x8]; // 0x0030(0x0008)(Fixing Size After Last Property [ Dumper-7 ])
|
|
struct FPL_PersistentData PersistentData; // 0x0038(0x0020)(Transient, DuplicateTransient, Protected, NativeAccessSpecifierProtected)
|
|
TMulticastInlineDelegate<void(TScriptInterface<class IPL_PersistenceSystemInterface> PersistenceSystem)> OnPreSaveData; // 0x0058(0x0010)(ZeroConstructor, InstancedReference, Protected, NativeAccessSpecifierProtected)
|
|
TMulticastInlineDelegate<void(TScriptInterface<class IPL_PersistenceSystemInterface> PersistenceSystem)> OnPostLoadData; // 0x0068(0x0010)(ZeroConstructor, InstancedReference, Protected, NativeAccessSpecifierProtected)
|
|
|
|
public:
|
|
static class UClass* StaticClass()
|
|
{
|
|
STATIC_CLASS_IMPL("PL_PersistenceSystem")
|
|
}
|
|
static const class FName& StaticName()
|
|
{
|
|
STATIC_NAME_IMPL(L"PL_PersistenceSystem")
|
|
}
|
|
static class UPL_PersistenceSystem* GetDefaultObj()
|
|
{
|
|
return GetDefaultObjImpl<UPL_PersistenceSystem>();
|
|
}
|
|
};
|
|
DUMPER7_ASSERTS_UPL_PersistenceSystem;
|
|
|
|
// Class PL_SaveGame.PL_SaveGameSettings
|
|
// 0x00B8 (0x00F0 - 0x0038)
|
|
class UPL_SaveGameSettings final : public UPL_SettingsBase
|
|
{
|
|
public:
|
|
class FString SaveName; // 0x0038(0x0010)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, Config, HasGetValueTypeHash, NativeAccessSpecifierPublic)
|
|
TSubclassOf<class UPL_SaveGameUpgradeData> SaveGameUpgradeDataAsset; // 0x0048(0x0008)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, Config, NoDestructor, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierPublic)
|
|
TSubclassOf<class UPL_ProjectSpecificSaveGameData> ProjectSpecificSaveGameDataClass; // 0x0050(0x0008)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, Config, NoDestructor, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierPublic)
|
|
TSubclassOf<class UUserWidget> SaveGameIndicatorWidgetClass; // 0x0058(0x0008)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, Config, NoDestructor, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierPublic)
|
|
float SaveIndicatorMinDisplayTime; // 0x0060(0x0004)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, Config, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
|
|
int32 AvailableSaveSlots; // 0x0064(0x0004)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, Config, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
|
|
int32 SaveGameMaxSize; // 0x0068(0x0004)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, Config, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
|
|
bool bTakePersistencySnapshotBetweenFrames; // 0x006C(0x0001)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, Config, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
|
|
uint8 Pad_6D[0x3]; // 0x006D(0x0003)(Fixing Size After Last Property [ Dumper-7 ])
|
|
TArray<class FString> SaveExclusionList; // 0x0070(0x0010)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, Config, NativeAccessSpecifierPublic)
|
|
struct FGameplayTag LevelChangingSaveBlockerTag; // 0x0080(0x0008)(Edit, BlueprintVisible, BlueprintReadOnly, Config, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
|
|
bool bShouldCancelPendingSavesOnLevelChange; // 0x0088(0x0001)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, Config, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
|
|
bool bShouldEnsureNoPendingSavesOnLevelChange; // 0x0089(0x0001)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, Config, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
|
|
uint8 Pad_8A[0x6]; // 0x008A(0x0006)(Fixing Size After Last Property [ Dumper-7 ])
|
|
TArray<TSoftObjectPtr<class UWorld>> LevelsThatCancelPendingSaves; // 0x0090(0x0010)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, Config, UObjectWrapper, NativeAccessSpecifierPublic)
|
|
bool bAutoSaveIsEnabled; // 0x00A0(0x0001)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, Config, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
|
|
uint8 Pad_A1[0x3]; // 0x00A1(0x0003)(Fixing Size After Last Property [ Dumper-7 ])
|
|
float AutoSaveQueueDelay; // 0x00A4(0x0004)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, Config, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
|
|
EPL_AutoSaveGameStrategy AutoSaveGameStrategy; // 0x00A8(0x0001)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, Config, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
|
|
uint8 Pad_A9[0x3]; // 0x00A9(0x0003)(Fixing Size After Last Property [ Dumper-7 ])
|
|
int32 NumberOfAutoSave; // 0x00AC(0x0004)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, Config, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
|
|
class FString AutoSaveName; // 0x00B0(0x0010)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, Config, HasGetValueTypeHash, NativeAccessSpecifierPublic)
|
|
struct FGameplayTag DefaultAutoSaveReasonTag; // 0x00C0(0x0008)(Edit, BlueprintVisible, BlueprintReadOnly, Config, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
|
|
bool bPeriodicAutoSaveIsEnabled; // 0x00C8(0x0001)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, Config, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
|
|
uint8 Pad_C9[0x3]; // 0x00C9(0x0003)(Fixing Size After Last Property [ Dumper-7 ])
|
|
struct FGameplayTag AutoSavePeriodReasonTag; // 0x00CC(0x0008)(Edit, BlueprintVisible, BlueprintReadOnly, Config, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
|
|
uint8 Pad_D4[0x4]; // 0x00D4(0x0004)(Fixing Size After Last Property [ Dumper-7 ])
|
|
class FString UserSettingsName; // 0x00D8(0x0010)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, Config, HasGetValueTypeHash, NativeAccessSpecifierPublic)
|
|
float AutoSavePeriod; // 0x00E8(0x0004)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, Config, IsPlainOldData, NoDestructor, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected)
|
|
float AutoSaveCoolDownDuration; // 0x00EC(0x0004)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, Config, IsPlainOldData, NoDestructor, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected)
|
|
|
|
public:
|
|
static const class UPL_SaveGameSettings* Get();
|
|
|
|
public:
|
|
static class UClass* StaticClass()
|
|
{
|
|
STATIC_CLASS_IMPL("PL_SaveGameSettings")
|
|
}
|
|
static const class FName& StaticName()
|
|
{
|
|
STATIC_NAME_IMPL(L"PL_SaveGameSettings")
|
|
}
|
|
static class UPL_SaveGameSettings* GetDefaultObj()
|
|
{
|
|
return GetDefaultObjImpl<UPL_SaveGameSettings>();
|
|
}
|
|
};
|
|
DUMPER7_ASSERTS_UPL_SaveGameSettings;
|
|
|
|
}
|
|
|