- Rename IAssetTools::GetMappingsForRootPackageRename to GetPatchCopyMappingsForRootRename for clarity
#rb Francis.Hurteau, kevin.macaulayvacher
#rnx
[CL 35562044 by dave belanger in ue5-main branch]
Correction for External(Objects|Actors) path destination path generation.
#rb Francis.Hurteau, kevin.macaulayvacher, Richard.Malo
[CL 35418159 by andrew phillips in ue5-main branch]
- Now look for the optional GatherableTextData section when deserializing, patch the contents and write back out the data, patching up the summary size as necessary since this section does not have a fixed size based on item counts (i.e. it doesn't use the name table, so a string changes affect the size)
- Added additional mapping for VerseAssetPaths which appear in GeneratedTextData (e.g. /localhost/Normal/PackagePath/PackagePath)
#jira UE-216649
#rb Francis.Hurteau
#rnx
[CL 34614882 by kevin macaulayvacher in ue5-main branch]
[FYI] Yoan.StAmant
Original CL Desc
-----------------------------------------------------------------
Moved UserDefinedStruct to CoreUObject
#jira UE-216472
#rb Devin.Doucette
[CL 34486763 by gary yuan in ue5-main branch]
We now separate the passed in remapping paths to be categorized by plugin when considering mappings for external actors/objects.
#rb Dave.Belanger, Francis.Hurteau
#rnx
[CL 34317882 by kevin macaulayvacher in ue5-main branch]
Special handling is done to add mappings for src -> dst strings with and without a '_[0-9]+' suffix since this suffix comes from FNames and will be stripped from the NameTable. Since we want to patch the NameTable we need to ensure any mapping with such a suffix also has a mapping for when its suffix is stripped. The previous code attempted to do this however it was only providing a mapping where the Src string stripped off the suffix and incorrectly mapped to the Dst string that still had its suffix. This made any lookup into the NameTable appear as if a new entry should be added but could instead result in new entries being added to the table that are identical to pre-existing entries once the number suffix is stripped. You could also have multiple Src strings such as 'SrcName_1' and 'SrcName_2' be given a 'SrcName' -> 'DestName1', 'SrcName' -> 'DestName2' mapping which is ambiguous.
The new code does the following:
- Avoid creating FNames from input strings to check if the string contains a '_[0-9]+' suffix and instead does a reverse scan of the string. This avoids FName allocations and unnecessary string copies.
- Strips number suffixes from both Src and Dst when they exist, mapping the stripped versions of both to one another
- Only provides a PackageName mapping when SrcPackage and DstPackage don't match otherwise we do unnecessary stripping, lookups and patching
#rb Francis.Hurteau
#rnx
[CL 34180940 by kevin macaulayvacher in ue5-main branch]
We now break the passed in Long-form Package paths into their 2/3 parts, PackageRoot, PackagePath (might be empty) and PackageName, and create mappings from source -> destination only when the exact portions of the path map. Special handling is needed for the __ExternalActors__ and __ExternalObjects__ directories since remapping a package may require the subdirectories under __ExternalActors__ to need remapping as well, in addition to the SrcPackageRoot -> DstPackageRoot change.
#rb Dave.Belanger, Francis.Hurteau
#rnx
[CL 34126213 by kevin macaulayvacher in ue5-main branch]
* Sync function was not taking into account unregistered AssetDefinitions - the fix is to iterate the AssetTypeActions also and find corresponding AssetDefinitions and remove if there is none.
* SAssetFilterBar caches AssetDefinitions - added a notification for when the AssetDefinitionRegistry changes. Put the broadcast on a one-shot ticker instead of directly calling as the Register/Unregister can occur frequently. Breaks up the callback depth.
* Added a "Version" to AssetDefinitionRegistry as clients were using the number of assets as a version. This can fall over if there is an Add and Remove between two calls to GetAllAssetDefinitions.
#jira UE-213686
#rb aditya.ravichandran, jered.mcferron
[CL 33704087 by logan buchy in ue5-main branch]
AssetTools.cpp is the substance for this fix.
ValkyrieProjectManager and DuplicatePluginCommandlet are for testing on Horde.
#rb Francis.Hurteau
[CL 33573769 by andrew phillips in ue5-main branch]
This fix an issue where the import of an asset pack would cause one of the CB to loose its setting because the tab was open to early in the engine boot cycle.
#jira UE-212259
#rb Alexis.Matte
[CL 33546452 by julien stjean in ue5-main branch]
This changelist adds a new function to asset tools in order to export assets using their clean file name. Without this change, the assets are exported to their desired destination -- but the asset is copied over nested in it's entire existing path
I also added this as an entirely new method in order to avoid changing all of the other call sites where `ExportAssets` was being used.
#tests
-Ran editor locally, confirmed using this new method exported assets using the new function
#rnx
[REVIEW] [at]jay.nakai, [at]michael.ekberg, [at]jay.thrash, [at]fernando.pereira, [at]jonathan.younger
#rb geoffrey.wong, michael.ekberg
[CL 33357074 by liz barrett in ue5-main branch]