10#include "Misc/Optional.h"
201 if (TempFilename.
IsSet())
205 if (TextFormatTempFilename.
IsSet())
213 DirectImports.Add(InObject);
218 Imports.Add(InObject);
228 Excluded.Add(InObject);
233 NotExcluded.Add(InObject);
238 return Imports.Contains(InObject);
243 return Exports.Contains(InObject);
257 return Excluded.Contains(InObject);
262 return NotExcluded.Contains(InObject);
277 return CellImports.Contains(
InCell);
282 return CellExports.Contains(
InCell);
302 return PreloadDependencies;
307 return PreloadDependencies;
312 return DirectImports;
332 return SoftPackageReferenceList;
337 return SoftPackageReferenceList;
342 return UntrackedSoftPackageReferenceList;
347 return UntrackedSoftPackageReferenceList;
352 return SearchableNamesObjectMap;
357 return SearchableNamesObjectMap;
362 return NamesReferencedFromExportData;
367 return NamesReferencedFromExportData;
372 return NamesReferencedFromPackageHeader;
377 return NamesReferencedFromPackageHeader;
382 return SoftObjectPathList;
387 return SoftObjectPathList;
392 return ExportObjectDependencies;
397 return ExportObjectDependencies;
402 return ExportNativeObjectDependencies;
407 return ExportNativeObjectDependencies;
412 return ExportCellDependencies;
417 return ExportCellDependencies;
422 return CellExportObjectDependencies;
427 return CellExportObjectDependencies;
432 return CellExportCellDependencies;
437 return CellExportCellDependencies;
447 return NamesReferencedFromExportData.Find(DisplayId) || NamesReferencedFromPackageHeader.Find(DisplayId);
467 StructuredArchive.
Reset();
469 TextFormatArchive.
Reset();
475 return TextFormatArchive.
Get();
485 return Formatter.
Get();
495 return StructuredArchive.
Get();
515 return TextFormatTempFilename;
594 , PreviousHarvestingRealm(
InContext.CurrentHarvestingRealm)
601 Context.CurrentHarvestingRealm = PreviousHarvestingRealm;
615 , PackageWriter(
InSaveArgs.SavePackageContext ?
InSaveArgs.SavePackageContext->PackageWriter : nullptr)
616 , ObjectSavePackageSerializeContext(ObjectSaveContext)
617 , ArchiveSavePackageData(ObjectSavePackageSerializeContext, nullptr, nullptr)
618 , GameRealmExcludedObjectMarks(GetExcludedObjectMarksForGameRealm(SaveArgs.
GetTargetPlatform()))
637 if (Asset ==
nullptr)
683 SetupHarvestingRealms();
688 if (bPostSaveRootRequired && Asset)
703 return InitialPackageFlags;
713 return ArchiveSavePackageData;
738 return TargetPackagePath;
749 return GameRealmExcludedObjectMarks;
770 return SaveArgs.
Error;
860 return bIsSaveAutoOptional;
870 return bIgnoreHeaderDiffs;
875 return bIsProcessingPrestreamPackages;
880 return bIsFixupStandaloneFlags;
890 return bPostSaveRootRequired;
900 return bNeedPreSaveCleanup;
910 return bGenerateFileStub;
915 bGenerateFileStub =
true;
920 return CurrentHarvestingRealm;
967 return HarvestedIllegalReferences;
1070 return PackageBuildDependencies;
1153 return CustomVersions;
1158 return PrestreamPackages;
1163 return PrestreamPackages;
1168 return PrestreamPackages.Contains(InPackage);
1173 PrestreamPackages.Add(InPackage);
1203 Package->SetLinkerPackageVersion(
Linker->UEVer());
1204 Package->SetLinkerLicenseeVersion(
Linker->LicenseeUEVer());
1205 Package->SetLinkerCustomVersions(
Linker->GetCustomVersions());
1277 return ObjectSaveContext;
1282 return PackageWriter;
1330 return TransientPropertyOverrides;
1342 Pair.Value->ClearSaveableStatus();
1346#if WITH_EDITORONLY_DATA
1350 return [
this](
const UObject* Obj)
1354 Status.
bEditorOnly ? EEditorOnlyObjectResult::EditorOnly :
1355 EEditorOnlyObjectResult::NonEditorOnly;
1361 return [
this](
const UObject* Obj,
bool bEditorOnly)
1394 void SetupHarvestingRealms();
1405 const TCHAR* Filename;
1413 bool bCanUseUnversionedPropertySerialization =
false;
1414 bool bTextFormat =
false;
1415 bool bIsProcessingPrestreamPackages =
false;
1416 bool bIsFixupStandaloneFlags =
false;
1417 bool bPostSaveRootRequired =
false;
1418 bool bNeedPreSaveCleanup =
false;
1419 bool bGenerateFileStub =
false;
1420 bool bIgnoreHeaderDiffs =
false;
1421 bool bIsSaveAutoOptional =
false;
1424 uint32 InitialPackageFlags;
#define check(expr)
Definition AssertionMacros.h:314
#define checkNoEntry()
Definition AssertionMacros.h:316
#define checkf(expr, format,...)
Definition AssertionMacros.h:315
#define WITH_EDITOR
Definition Build.h:67
bool bSuccess
Definition ConvexDecomposition3.cpp:819
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
@ SAVE_FromAutosave
Used to indicate this save was initiated automatically.
Definition ObjectMacros.h:100
@ SAVE_NoError
Don't generate errors on save.
Definition ObjectMacros.h:99
@ SAVE_Async
Save to a memory writer, then actually write to disk async.
Definition ObjectMacros.h:103
@ SAVE_RehydratePayloads
Any virtualized payloads in the package should be pulled and stored locally in the package file durin...
Definition ObjectMacros.h:117
@ SAVE_KeepEditorOnlyCookedPackages
Keep packages which are marked as editor only even though we are cooking.
Definition ObjectMacros.h:106
@ SAVE_Unversioned_Properties
Definition ObjectMacros.h:113
@ SAVE_Unversioned_Native
Save all versions as zero. Upon load this is changed to the current version. This is only reasonable ...
Definition ObjectMacros.h:104
@ SAVE_Optional
Indicate that we to save optional exports. This flag is only valid while cooking. Optional exports ar...
Definition ObjectMacros.h:115
@ SAVE_Concurrent
We are save packages in multiple threads at once and should not call non-threadsafe functions or rely...
Definition ObjectMacros.h:107
@ SAVE_KeepDirty
Do not clear the dirty flag when saving.
Definition ObjectMacros.h:101
@ PKG_FilterEditorOnly
Package has editor-only data filtered out.
Definition ObjectMacros.h:161
EObjectFlags
Definition ObjectMacros.h:552
@ RF_Transient
Don't save object.
Definition ObjectMacros.h:565
ESavePackageResult
Definition Package.h:74
EPropertyLocalizationGathererResultFlags
Definition PropertyLocalizationDataGathering.h:80
uint32 GetTypeHash(const FTaggedExport &Export)
Definition SaveContext.h:72
const TCHAR * LexToString(ESaveableStatus Status)
Definition SaveContext.cpp:468
ESaveRealm
Definition SaveContext.h:82
EIllegalRefReason
Definition SaveContext.h:92
@ ReferenceFromOptionalToMissingGameExport
ESaveableStatus
Definition SaveContext.h:111
@ NewerVersionExistsClass
std::conditional_t< WITH_TEXT_ARCHIVE_SUPPORT, FStructuredArchiveFormatter, FBinaryArchiveFormatter > FArchiveFormatterType
Definition StructuredArchiveFwd.h:26
EObjectMark
Definition UObjectMarks.h:46
@ OBJECTMARK_NotForTargetPlatform
Definition UObjectMarks.h:55
@ OBJECTMARK_NOMARKS
Definition UObjectMarks.h:47
@ OBJECTMARK_NotForClient
Definition UObjectMarks.h:51
@ OBJECTMARK_EditorOnly
Definition UObjectMarks.h:54
@ OBJECTMARK_NotForServer
Definition UObjectMarks.h:52
UE_INTRINSIC_CAST UE_REWRITE constexpr std::remove_reference_t< T > && MoveTemp(T &&Obj) noexcept
Definition UnrealTemplate.h:520
COREUOBJECT_API bool CanUseUnversionedPropertySerialization(const ITargetPlatform *Target)
Definition UnversionedPropertySerialization.cpp:926
Definition Archive.h:1208
Definition CustomVersion.h:111
Definition LinkerSave.h:48
Definition NameTypes.h:617
Definition ObjectSaveContext.h:343
Definition OutputDevice.h:133
Definition PackageHarvester.h:28
static COREUOBJECT_API const FString & GetTextMapPackageExtension()
Definition PackageName.cpp:2535
static COREUOBJECT_API const FString & GetTextAssetPackageExtension()
Definition PackageName.cpp:2529
Definition PackagePath.h:89
static COREUOBJECT_API FPackagePath FromLocalPath(FStringView InFilename)
Definition PackagePath.cpp:243
COREUOBJECT_API void SetHeaderExtension(EPackageExtension Extension, FStringView CustomExtension=FStringView()) const
Definition PackagePath.cpp:1203
COREUOBJECT_API EPackageExtension GetHeaderExtension() const
Definition PackagePath.cpp:266
Definition UnrealType.h:174
Definition SaveContext.h:588
TSet< FName > & GetSoftPackagesUsedInGame()
Definition SaveContext.h:1055
FOutputDevice * GetError() const
Definition SaveContext.h:768
const TSet< FNameEntryId > & GetNamesReferencedFromPackageHeader() const
Definition SaveContext.h:1106
const FPackagePath & GetTargetPackagePath() const
Definition SaveContext.h:736
bool CloseLinkerArchives()
Definition SaveContext.h:1218
FObjectSaveContextData & GetObjectSaveContext()
Definition SaveContext.h:1275
const TSet< FName > & GetSoftPackagesUsedInGame() const
Definition SaveContext.h:1050
FIoHash PackageSavedHash
Definition SaveContext.h:1381
void SetTextFormatTempFilename(TOptional< FString > InTemp)
Definition SaveContext.h:1268
bool IsForceByteSwapping() const
Definition SaveContext.h:808
void SetTransientPropertyOverrides(TMap< UObject *, TSet< FProperty * > > &&InTransientPropertyOverrides)
Definition SaveContext.h:1333
bool GetPreSaveCleanup() const
Definition SaveContext.h:898
bool IsSaveUnversionedProperties() const
Definition SaveContext.h:848
bool IsSaveAutoOptional() const
Definition SaveContext.h:858
bool IsWarningLongFilename() const
Definition SaveContext.h:813
int32 SerializedPackageFlags
Definition SaveContext.h:1388
void SetFormatter(TUniquePtr< FArchiveFormatterType > InFormatter)
Definition SaveContext.h:1238
TSet< TObjectPtr< UPackage > > & GetPrestreamPackages()
Definition SaveContext.h:1161
bool IsSaveUnversionedNative() const
Definition SaveContext.h:843
void SetPreSaveCleanup(bool bInNeedPreSaveCleanup)
Definition SaveContext.h:903
const TArray< FIllegalReference > & GetIllegalReferences() const
Definition SaveContext.h:965
bool IsTextFormat() const
Definition SaveContext.h:818
const TMap< Verse::VCell *, TSet< Verse::VCell * > > & GetCellCellDependeices() const
Definition SaveContext.h:1141
bool IsPrestreamPackage(TObjectPtr< UPackage > InPackage) const
Definition SaveContext.h:1166
uint32 GetInitialPackageFlags() const
Definition SaveContext.h:701
const TSet< TObjectPtr< UPackage > > & GetPrestreamPackages() const
Definition SaveContext.h:1156
void AddDirectImport(UObject *InObject)
Definition SaveContext.h:975
UE::SavePackageUtilities::FObjectStatus & GetCachedObjectStatus(TObjectPtr< UObject > InObject)
Definition SaveContext.h:939
void SetTempFilename(TOptional< FString > InTemp)
Definition SaveContext.h:1258
int32 OffsetAfterImportMap
Definition SaveContext.h:1385
EObjectMark GetExcludedObjectMarks(ESaveRealm HarvestingRealm) const
Definition SaveContext.h:741
FHarvestedRealm & GetHarvestedRealm(ESaveRealm Realm=ESaveRealm::None)
Definition SaveContext.h:1318
const TOptional< FString > & GetTextFormatTempFilename() const
Definition SaveContext.h:1263
TSet< FNameEntryId > & GetNamesReferencedFromPackageHeader()
Definition SaveContext.h:1111
FSavePackageContext * GetSavePackageContext() const
Definition SaveContext.h:778
int64 OffsetAfterPayloadToc
Definition SaveContext.h:1387
void AddPrestreamPackages(UPackage *InPackage)
Definition SaveContext.h:1171
void AddObjectToPostSaveSerialization(UObject *Object)
Definition SaveContext.cpp:300
bool IsUnsaveable(TObjectPtr< UObject > InObject, UE::SavePackageUtilities::FObjectStatus &ObjectStatus, bool bEmitWarning=true)
Definition SaveContext.cpp:32
void UpdateEditorRealmPackageBuildDependencies()
Definition SaveContext.cpp:372
bool IsIncluded(TObjectPtr< UObject > InObject) const
Definition SaveContext.h:1000
const TSet< FSoftObjectPath > & GetSoftObjectPathList() const
Definition SaveContext.h:1116
~FSaveContext()
Definition SaveContext.h:686
bool IsStripEditorOnly() const
Definition SaveContext.h:803
void SetStructuredArchive(TUniquePtr< FStructuredArchive > InArchive)
Definition SaveContext.h:1248
bool IsProceduralSave() const
Definition SaveContext.h:788
bool IsIgnoringHeaderDiff() const
Definition SaveContext.h:868
const FSavePackageArgs & GetSaveArgs() const
Definition SaveContext.h:706
bool GetPostSaveRootRequired() const
Definition SaveContext.h:888
PRAGMA_ENABLE_DEPRECATION_WARNINGS bool HasExternalImportValidations() const
Definition SaveContext.h:1292
bool IsUsingSlowTask() const
Definition SaveContext.h:763
void RequestStubFile()
Definition SaveContext.h:913
EObjectFlags GetTopLevelFlags() const
Definition SaveContext.h:758
bool IsProcessingPrestreamingRequests() const
Definition SaveContext.h:873
FLinkerSave * GetLinker() const
Definition SaveContext.h:1194
const TMap< TObjectPtr< UObject >, TSet< TObjectPtr< UObject > > > & GetNativeObjectDependencies() const
Definition SaveContext.h:1126
bool IsUpdatingLoadedPath() const
Definition SaveContext.h:793
const TSet< FNameEntryId > & GetNamesReferencedFromExportData() const
Definition SaveContext.h:1101
TArray< UE::SavePackageUtilities::FPreloadDependency > & GetPreloadDependencies()
Definition SaveContext.h:1010
void ClearSaveableCache()
Definition SaveContext.h:1338
void SetTextFormatArchive(TUniquePtr< FArchive > InTextArchive)
Definition SaveContext.h:1228
IPackageWriter * GetPackageWriter() const
Definition SaveContext.h:1280
const TMap< TObjectPtr< UObject >, TSet< Verse::VCell * > > & GetCellDependencies() const
Definition SaveContext.h:1131
const ITargetPlatform * GetTargetPlatform() const
Definition SaveContext.h:716
const TSet< Verse::VCell * > & GetCellExports() const
Definition SaveContext.h:1030
TMap< TObjectPtr< UObject >, TArray< FName > > & GetSearchableNamesObjectMap()
Definition SaveContext.h:1096
void AddExportedClassesToDependencies()
Definition SaveContext.cpp:425
UObject * GetAsset() const
Definition SaveContext.h:726
UE::SavePackageUtilities::EEditorOnlyObjectFlags GetEditorOnlyObjectFlags() const
Definition SaveContext.cpp:286
FSaveContext(UPackage *InPackage, UObject *InAsset, const TCHAR *InFilename, const FSavePackageArgs &InSaveArgs)
Definition SaveContext.h:610
const TSet< FName > & GetSoftPackageReferenceList() const
Definition SaveContext.h:1040
bool IsGenerateSaveError() const
Definition SaveContext.h:833
ESavePackageResult Result
Definition SaveContext.h:1376
const TCHAR * GetFilename() const
Definition SaveContext.h:731
ESaveRealm GetCurrentHarvestingRealm() const
Definition SaveContext.h:918
const TSet< TObjectPtr< UObject > > & GetDirectImports() const
Definition SaveContext.h:1020
UPackage * GetPackage() const
Definition SaveContext.h:721
const TArray< TFunction< FSavePackageSettings::ExternalImportValidationFunc > > & GetExternalImportValidations() const
Definition SaveContext.h:1297
UE::SavePackageUtilities::FObjectStatus * FindCachedObjectStatus(TObjectPtr< const UObject > InObject) const
Definition SaveContext.h:950
void UpdatePackageFileSize(int64 InFileSize)
Definition SaveContext.h:1208
FArchive * GetTextFormatArchive() const
Definition SaveContext.h:1223
TArray< FLinkerSave * > GetLinkers() const
Definition SaveContext.h:1181
bool HasExternalExportValidations() const
Definition SaveContext.h:1303
TArray< FLargeMemoryWriter, TInlineAllocator< 4 > > AdditionalFilesFromExports
Definition SaveContext.h:1389
bool IsImport(UObject *InObject) const
Definition SaveContext.h:990
PRAGMA_DISABLE_DEPRECATION_WARNINGS ISavePackageValidator * GetPackageValidator() const
Definition SaveContext.h:1286
const FCustomVersionContainer & GetCustomVersions() const
Definition SaveContext.h:1151
const TSet< TObjectPtr< UObject > > & GetImports() const
Definition SaveContext.h:1015
FStructuredArchive * GetStructuredArchive() const
Definition SaveContext.h:1243
void RecordIllegalReference(UObject *InFrom, UObject *InTo, EIllegalRefReason InReason, FString &&InOptionalReasonText=FString())
Definition SaveContext.h:960
int32 OffsetAfterPackageFileSummary
Definition SaveContext.h:1384
const TSet< Verse::VCell * > & GetCellImports() const
Definition SaveContext.h:1035
bool IsCooking() const
Definition SaveContext.h:783
void AddExport(FTaggedExport InTagObj)
Definition SaveContext.h:980
int64 PackageHeaderAndExportSize
Definition SaveContext.h:1382
bool IsFilterEditorOnly() const
Definition SaveContext.h:798
FSavePackageOutputFileArray AdditionalPackageFiles
Definition SaveContext.h:1390
bool IsKeepDirty() const
Definition SaveContext.h:838
const TArray< TFunction< FSavePackageSettings::ExternalExportValidationFunc > > & GetExternalExportValidations() const
Definition SaveContext.h:1308
bool IsSaveOptional() const
Definition SaveContext.h:853
bool IsFixupStandaloneFlags() const
Definition SaveContext.h:878
const FDateTime & GetFinalTimestamp() const
Definition SaveContext.h:773
void UpdateSaveableStatus(TObjectPtr< UObject > InObject, UE::SavePackageUtilities::FObjectStatus &ObjectStatus)
Definition SaveContext.cpp:67
const TMap< TObjectPtr< UObject >, TArray< FName > > & GetSearchableNamesObjectMap() const
Definition SaveContext.h:1091
bool IsTransient(TObjectPtr< UObject > InObject)
Definition SaveContext.cpp:191
void AddImport(UObject *InObject)
Definition SaveContext.h:970
TArray< ESaveRealm > GetHarvestedRealmsToSave()
Definition SaveContext.cpp:14
const TMap< Verse::VCell *, TSet< TObjectPtr< UObject > > > & GetCellObjectDependencies() const
Definition SaveContext.h:1136
void UpdatePackageLinkerVersions()
Definition SaveContext.h:1199
FArchiveFormatterType * GetFormatter() const
Definition SaveContext.h:1233
bool IsExport(UObject *InObject) const
Definition SaveContext.h:995
const TSet< TObjectPtr< UObject > > & GetImportsUsedInGame() const
Definition SaveContext.h:1025
bool IsConcurrent() const
Definition SaveContext.h:863
int32 OffsetAfterExportMap
Definition SaveContext.h:1386
bool IsSaveToMemory() const
Definition SaveContext.h:828
const TMap< UObject *, TSet< FProperty * > > & GetTransientPropertyOverrides()
Definition SaveContext.h:1328
EPropertyLocalizationGathererResultFlags GatherableTextResultFlags
Definition SaveContext.h:1378
void SetLinker(TPimplPtr< FLinkerSave > InLinker)
Definition SaveContext.h:1213
TArray< FAssetData > & GetSavedAssets()
Definition SaveContext.h:1323
bool IsStubRequested() const
Definition SaveContext.h:908
bool ShouldRehydratePayloads() const
Definition SaveContext.h:883
void AddExcluded(UObject *InObject)
Definition SaveContext.h:985
UObject * ResolveForSave(TObjectPtr< UObject > InObject, UE::SavePackageUtilities::FObjectStatus &Status)
Definition SaveContext.cpp:153
FSavePackageResultStruct GetFinalResult()
Definition SaveContext.cpp:223
bool NameExists(const FName &Name) const
Definition SaveContext.h:1146
const TOptional< FString > & GetTempFilename() const
Definition SaveContext.h:1253
TSet< FName > & GetSoftPackageReferenceList()
Definition SaveContext.h:1045
int64 TotalPackageSizeUncompressed
Definition SaveContext.h:1383
const FHarvestedRealm & GetHarvestedRealm(ESaveRealm Realm=ESaveRealm::None) const
Definition SaveContext.h:1314
const TArray< FName > & GetPackageBuildDependencies(ESaveRealm SaveRealm=ESaveRealm::None)
Definition SaveContext.h:1065
FArchiveSavePackageData & GetArchiveSavePackageData()
Definition SaveContext.h:711
const TSet< UObject * > & GetPostSaveObjectsToSerialize() const
Definition SaveContext.cpp:305
TSet< FTaggedExport > & GetExports()
Definition SaveContext.h:1005
const TSet< FName > & GetUntrackedSoftPackageReferenceList() const
Definition SaveContext.h:1060
bool IsFromAutoSave() const
Definition SaveContext.h:823
const TMap< TObjectPtr< UObject >, TSet< TObjectPtr< UObject > > > & GetObjectDependencies() const
Definition SaveContext.h:1121
void SetCustomVersions(FCustomVersionContainer InCustomVersions)
Definition SaveContext.h:1176
void SetPostSaveRootRequired(bool bInPostSaveRootRequired)
Definition SaveContext.h:893
Definition SavePackage.h:226
PRAGMA_DISABLE_DEPRECATION_WARNINGS ISavePackageValidator * GetValidator()
Definition SavePackage.h:249
PRAGMA_ENABLE_DEPRECATION_WARNINGS const TArray< TFunction< FSavePackageSettings::ExternalImportValidationFunc > > & GetExternalImportValidations() const
Definition SavePackage.h:259
IPackageWriter::FCapabilities PackageWriterCapabilities
Definition SavePackage.h:271
const TArray< TFunction< FSavePackageSettings::ExternalExportValidationFunc > > & GetExternalExportValidations() const
Definition SavePackage.h:264
Definition StructuredArchive.h:57
Definition IConsoleManager.h:558
static CORE_API IFileManager & Get()
Definition FileManagerGeneric.cpp:1072
virtual bool Delete(const TCHAR *Filename, bool RequireExists=0, bool EvenReadOnly=0, bool Quiet=0)=0
Definition PackageWriter.h:41
Definition SavePackage.h:135
UE_NODEBUG UE_FORCEINLINE_HINT SizeType Add(ElementType &&Item)
Definition Array.h:2696
Definition UnrealString.h.inl:34
Definition UniquePtr.h:107
void Reset(T *InPtr=nullptr)
Definition UniquePtr.h:346
UE_FORCEINLINE_HINT T * Get() const
Definition UniquePtr.h:324
bool HasAnyFlags(EObjectFlags FlagsToCheck) const
Definition UObjectBaseUtility.h:93
UE_FORCEINLINE_HINT bool HasAnyPackageFlags(uint32 FlagsToCheck) const
Definition Package.h:915
uint32 GetPackageFlags() const
Definition Package.h:936
COREUOBJECT_API UObject * FindAssetInPackage(EObjectFlags RequiredTopLevelFlags=RF_NoFlags) const
Definition Package.cpp:221
Definition PackageHarvester.cpp:207
void CallPostSaveRoot(UObject *Object, FObjectSaveContextData &ObjectSaveContext, bool bNeedsCleanup)
Definition SavePackageUtilities.cpp:695
EEditorOnlyObjectFlags
Definition SavePackageUtilities.h:202
EObjectFlags NormalizeTopLevelFlags(EObjectFlags TopLevelFlags, bool bIsCooking)
Definition SavePackageUtilities.cpp:704
@ false
Definition radaudio_common.h:23
UE::Cook::ECookingDLC GetCookingDLC() const
Definition ArchiveCookContext.h:131
UE::Cook::ECookType GetCookType() const
Definition ArchiveCookContext.h:126
UE::Cook::ICookInfo * GetCookInfo()
Definition ArchiveCookContext.h:136
FArchiveCookContext & CookContext
Definition ArchiveCookData.h:15
Definition ArchiveSavePackageData.h:11
FArchiveCookContext * CookContext
Definition ArchiveSavePackageData.h:24
const ITargetPlatform * TargetPlatform
Definition ArchiveSavePackageData.h:22
Definition SavePackageUtilities.h:76
Definition SaveContext.h:195
FArchive * GetTextFormatArchive() const
Definition SaveContext.h:473
TMap< TObjectPtr< UObject >, TSet< Verse::VCell * > > & GetCellDependencies()
Definition SaveContext.h:415
bool IsExport(TObjectPtr< UObject > InObject) const
Definition SaveContext.h:241
bool IsImport(TObjectPtr< UObject > InObject) const
Definition SaveContext.h:236
bool IsIncluded(TObjectPtr< UObject > InObject) const
Definition SaveContext.h:246
const TMap< TObjectPtr< UObject >, TSet< Verse::VCell * > > & GetCellDependencies() const
Definition SaveContext.h:410
TMap< TObjectPtr< UObject >, TArray< FName > > & GetSearchableNamesObjectMap()
Definition SaveContext.h:355
void SetFormatter(TUniquePtr< FArchiveFormatterType > InFormatter)
Definition SaveContext.h:488
const TMap< Verse::VCell *, TSet< Verse::VCell * > > & GetCellCellDependencies() const
Definition SaveContext.h:430
bool CloseLinkerArchives()
Definition SaveContext.h:460
TMap< TObjectPtr< UObject >, TSet< TObjectPtr< UObject > > > & GetObjectDependencies()
Definition SaveContext.h:395
const TMap< TObjectPtr< UObject >, TSet< TObjectPtr< UObject > > > & GetObjectDependencies() const
Definition SaveContext.h:390
const TSet< FSoftObjectPath > & GetSoftObjectPathList() const
Definition SaveContext.h:380
void AddExcluded(TObjectPtr< UObject > InObject)
Definition SaveContext.h:226
const TSet< TObjectPtr< UObject > > & GetDirectImports() const
Definition SaveContext.h:310
TSet< FName > & GetSoftPackageReferenceList()
Definition SaveContext.h:335
TArray< UE::SavePackageUtilities::FPreloadDependency > & GetPreloadDependencies()
Definition SaveContext.h:305
const TArray< UE::SavePackageUtilities::FPreloadDependency > & GetPreloadDependencies() const
Definition SaveContext.h:300
const TSet< FTaggedExport > & GetExports() const
Definition SaveContext.h:295
const TSet< Verse::VCell * > & GetCellExports() const
Definition SaveContext.h:320
bool IsCellImport(Verse::VCell *InCell) const
Definition SaveContext.h:275
const TMap< TObjectPtr< UObject >, TArray< FName > > & GetSearchableNamesObjectMap() const
Definition SaveContext.h:350
TSet< FNameEntryId > & GetNamesReferencedFromPackageHeader()
Definition SaveContext.h:375
TSet< FTaggedExport > & GetExports()
Definition SaveContext.h:290
void AddCellImport(Verse::VCell *InCell)
Definition SaveContext.h:265
bool IsCellIncluded(Verse::VCell *InCell) const
Definition SaveContext.h:285
bool IsExcluded(TObjectPtr< UObject > InObject) const
Definition SaveContext.h:255
void AddNotExcluded(TObjectPtr< UObject > InObject)
Definition SaveContext.h:231
const TSet< FNameEntryId > & GetNamesReferencedFromExportData() const
Definition SaveContext.h:360
const TSet< FNameEntryId > & GetNamesReferencedFromPackageHeader() const
Definition SaveContext.h:370
const TOptional< FString > & GetTextFormatTempFilename() const
Definition SaveContext.h:513
bool IsNotExcluded(TObjectPtr< UObject > InObject) const
Definition SaveContext.h:260
TMap< Verse::VCell *, TSet< TObjectPtr< UObject > > > & GetCellObjectDependencies()
Definition SaveContext.h:425
const TSet< TObjectPtr< UObject > > & GetImports() const
Definition SaveContext.h:315
void AddExport(FTaggedExport InTagObj)
Definition SaveContext.h:221
const TSet< FName > & GetUntrackedSoftPackageReferenceList() const
Definition SaveContext.h:340
void SetTextFormatArchive(TUniquePtr< FArchive > InTextArchive)
Definition SaveContext.h:478
void SetTempFilename(TOptional< FString > InTemp)
Definition SaveContext.h:508
const TSet< Verse::VCell * > & GetCellImports() const
Definition SaveContext.h:325
FLinkerSave * GetLinker() const
Definition SaveContext.h:450
TSet< FSoftObjectPath > & GetSoftObjectPathList()
Definition SaveContext.h:385
~FHarvestedRealm()
Definition SaveContext.h:197
void SetLinker(TPimplPtr< FLinkerSave > InLinker)
Definition SaveContext.h:455
TMap< Verse::VCell *, TSet< Verse::VCell * > > & GetCellCellDependencies()
Definition SaveContext.h:435
void SetStructuredArchive(TUniquePtr< FStructuredArchive > InArchive)
Definition SaveContext.h:498
void AddDirectImport(TObjectPtr< UObject > InObject)
Definition SaveContext.h:211
TSet< FNameEntryId > & GetNamesReferencedFromExportData()
Definition SaveContext.h:365
const TMap< TObjectPtr< UObject >, TSet< TObjectPtr< UObject > > > & GetNativeObjectDependencies() const
Definition SaveContext.h:400
FStructuredArchive * GetStructuredArchive() const
Definition SaveContext.h:493
void SetTextFormatTempFilename(TOptional< FString > InTemp)
Definition SaveContext.h:518
const TMap< Verse::VCell *, TSet< TObjectPtr< UObject > > > & GetCellObjectDependencies() const
Definition SaveContext.h:420
bool IsCellExport(Verse::VCell *InCell) const
Definition SaveContext.h:280
const TSet< FName > & GetSoftPackageReferenceList() const
Definition SaveContext.h:330
TMap< TObjectPtr< UObject >, TSet< TObjectPtr< UObject > > > & GetNativeObjectDependencies()
Definition SaveContext.h:405
FArchiveFormatterType * GetFormatter() const
Definition SaveContext.h:483
TSet< FName > & GetUntrackedSoftPackageReferenceList()
Definition SaveContext.h:345
const TOptional< FString > & GetTempFilename() const
Definition SaveContext.h:503
void AddImport(TObjectPtr< UObject > InObject)
Definition SaveContext.h:216
bool NameExists(const FName &Name) const
Definition SaveContext.h:440
void AddCellExport(Verse::VCell *InCell)
Definition SaveContext.h:270
Definition SaveContext.h:103
UObject * To
Definition SaveContext.h:105
FString FormatStringArg
Definition SaveContext.h:107
EIllegalRefReason Reason
Definition SaveContext.h:106
UObject * From
Definition SaveContext.h:104
Definition NameTypes.h:69
Definition ObjectSaveContext.h:70
const ITargetPlatform * TargetPlatform
Definition ObjectSaveContext.h:109
TMap< UObject *, FObjectSaveOverride > SaveOverrides
Definition ObjectSaveContext.h:174
IPackageWriter * PackageWriter
Definition ObjectSaveContext.h:115
UE::Cook::ECookType CookType
Definition ObjectSaveContext.h:126
bool bProceduralSave
Definition ObjectSaveContext.h:137
bool bDeterminismDebug
Definition ObjectSaveContext.h:159
bool bUpdatingLoadedPath
Definition ObjectSaveContext.h:143
COREUOBJECT_API void Set(UPackage *Package, const ITargetPlatform *InTargetPlatform, const TCHAR *InTargetFilename, uint32 InSaveFlags)
Definition SavePackageUtilities.cpp:923
UE::Cook::ICookInfo * CookInfo
Definition ObjectSaveContext.h:112
UE::Cook::ECookingDLC CookingDLC
Definition ObjectSaveContext.h:127
Definition SaveContext.h:591
FSetSaveRealmToSaveScope(FSaveContext &InContext, ESaveRealm InHarvestingRealm)
Definition SaveContext.h:592
~FSetSaveRealmToSaveScope()
Definition SaveContext.h:599
Definition SavePackage.h:63
bool IsCooking() const
Definition SavePackage.h:67
FSavePackageContext * SavePackageContext
Definition SavePackage.h:92
const ITargetPlatform * GetTargetPlatform() const
Definition SavePackage.h:68
FOutputDevice * Error
Definition SavePackage.h:90
FDateTime FinalTimeStamp
Definition SavePackage.h:88
bool bWarnOfLongFilename
Definition SavePackage.h:81
bool bForceByteSwapping
Definition SavePackage.h:79
TMap< UObject *, FObjectSaveOverride > * InOutSaveOverrides
Definition SavePackage.h:98
bool bSlowTask
Definition SavePackage.h:83
FArchiveCookData * ArchiveCookData
Definition SavePackage.h:65
EObjectFlags TopLevelFlags
Definition SavePackage.h:75
uint32 SaveFlags
Definition SavePackage.h:77
Definition SaveContext.h:38
uint32 bFromOptionalReference
Definition SaveContext.h:50
bool operator==(const FTaggedExport &Other) const
Definition SaveContext.h:66
FTaggedExport(TObjectPtr< UObject > InObj, bool bInNotAlwaysLoadedForEditorGame=true, bool bInFromOptionalReference=false)
Definition SaveContext.h:59
FTaggedExport()
Definition SaveContext.h:52
TObjectPtr< UObject > Obj
Definition SaveContext.h:39
uint32 bGeneratePublicHash
Definition SaveContext.h:45
uint32 bNotAlwaysLoadedForEditorGame
Definition SaveContext.h:40
virtual IConsoleVariable * FindConsoleVariable(const TCHAR *Name, bool bTrackFrequentCalls=true) const =0
static IConsoleManager & Get()
Definition IConsoleManager.h:1270
bool bDeterminismDebug
Definition PackageWriter.h:64
bool bIgnoreHeaderDiffs
Definition PackageWriter.h:58
Definition ObjectPtr.h:488
FORCEINLINE TObjectPtr< UPackage > GetPackage() const
Definition ObjectPtr.h:672
Definition Optional.h:131
constexpr OptionalType & GetValue()
Definition Optional.h:443
constexpr bool IsSet() const
Definition Optional.h:69
Definition SaveContext.h:137
UObject * SaveableStatusCulprit
Definition SaveContext.h:179
FObjectStatus & operator=(const FObjectStatus &)=default
bool bEditorOnly
Definition SaveContext.h:185
FObjectStatus(FObjectStatus &&)=default
bool bIsInSavePackageValid
Definition SaveContext.h:187
TOptional< bool > IsInSavePackage() const
Definition SaveContext.h:165
void ClearSaveableStatus()
Definition SaveContext.h:154
FObjectStatus(const FObjectStatus &)=default
FRealmInstigator RealmInstigator[(uint32) ESaveRealm::RealmCount]
Definition SaveContext.h:178
bool bEditorOnlyValid
Definition SaveContext.h:184
bool IsInSavePackage(TObjectPtr< UObject > InObject, UPackage *SavePackage)
Definition SaveContext.h:169
FObjectStatus()
Definition SaveContext.h:138
bool bDeclaredSaveBuildDependency
Definition SaveContext.h:189
bool bSaveableStatusValid
Definition SaveContext.h:183
bool HasTransientFlag(const UObject *InObject)
Definition SaveContext.h:149
FObjectStatus & operator=(FObjectStatus &&)=default
bool bIsInSavePackage
Definition SaveContext.h:188
bool bAttemptedExport
Definition SaveContext.h:186
void SetIsInSavePackage(bool bInIsInSavePackage)
Definition SaveContext.h:160
ESaveableStatus SaveableStatusCulpritStatus
Definition SaveContext.h:181
bool bSaveOverrideForcedTransient
Definition SaveContext.h:182
ESaveableStatus SaveableStatus
Definition SaveContext.h:180
Definition SaveContext.h:130
UObject * Object
Definition SaveContext.h:131
FProperty * Property
Definition SaveContext.h:132