* Removed the world name from cells names
* Strip the world name from AWorldPartitionHLOD::SourceCellName upon loading
#rb jeanfrancois.dube
[CL 21929825 by sebastien lussier in ue5-main branch]
Symbols from psapi.h are needed even when FORCE_ANSI_ALLOCATOR=1.
#jira UE-163289
#preflight 631b8614ec45fbf3d783b4de
#rb none
#rnx
[CL 21927559 by devin doucette in ue5-main branch]
In order for a TVariant to be serializable, each type in its template parameter pack must:
1. Have a default constructor. This is required because when reading the type from an archive, it must be default constructed before being loaded.
2. Implement the `FArchive& operator<<(FArchive&, T&)` function. This is required to serialize the actual type that's stored in TVariant.
#preflight 631a806ea20b67673bb614ba, 631a84cfd135b61bc535bd87
#rb steve.robb
[FYI] johan.duparc
[CL 21921639 by david parton in ue5-main branch]
Fixed include paths to be relative to the private or public folders.
Hid or removed includes that reached into other private module folders.
Updated PublicInclude paths when necessary.
#jira
#preflight 631a717cec45fbf3d74d4ba7
[CL 21916033 by bryan sefcik in ue5-main branch]
Better heuristics for when to use parent-relative encoding. Instead of only enabling parent-relative encoding from a certain level of the tree, it is now allowed at all levels.
To avoid excessively long dependency chains, direct encoding is forced whenever the chain becomes longer than a certain threshold.
This can be a significant (relative) win for smaller meshes that would otherwise have a large percentage of pages above the level threshold for parent-relative encoding.
#preflight 6319d80ad31788ea3a2fe2a3
#rb brian.karis
[FYI] graham.wihlidal, jamie.hayes
[CL 21908286 by rune stubbe in ue5-main branch]
In order for a TVariant to be serializable, each type in its template parameter pack must:
1. Have a default constructor. This is required because when reading the type from an archive, it must be default constructed before being loaded.
2. Implement the `FArchive& operator<<(FArchive&, T&)` function. This is required to serialize the actual type that's stored in TVariant.
author: David.Parton
#rb Steve.Robb
#preflight 6319f04f2b7fe03eb6a97ed2
[CL 21908176 by johan duparc in ue5-main branch]
#rb Per.Larsson
#jira UE-163103
#rnx
#preflight 6318989c2b7fe03eb664e9f0
### VirtualizationSystem/VirtualizationManager
- Added an overload of ::Push taking just one FPUshRequest so that people don't have to keep adding MakeArrayView boiler plate when pushing a single request
- Change the order of the last two parameters for the raw ::Push call as this will group all of the payload specific parameters together and leave the target storage type at the end. It is unlikely that anyone is calling the older version but it has been deprecated for safety.
### IVirtualizationBackend
- The none FPushRequest overload of ::PushData is no longer virtual, it just converts the parameters to FPushRequest and calls that overload instead. In this way we now only have one pushing code path in our backends. We could probably look into removing this overload at this point (since the higher level IVirtualizationSystem will now convert all push requests into a FPushRequest form) but it is not considered worth it at the moment when the simple overload covers our needs.
- Removed EPushResult in favour of just returning true/false for the overall operation.If the caller needs a more detailed breakdown then they will have to use an overload that takes an FPushRequest over raw parameters.
-- At the moment FPushRequest does not contain a full breakdown of what happened, so with this submit we are effectively losing the ability to find out if the payload was already in the backends or not, however the batch version of push was already not returning this info so it is not a big loss. Fixing FPushRequest to return a better break down of what happened will be done in UE-160942
- Removed the none batch Push paths from the source control and ddc backends as they already supported batch pushing.
- File backend needed to be converted to supporting batch pushing, which is pretty much the same code as before except we need to iterate over the container of FPushRequests.
-- The backend does not early out on error as it tends to be quite fast. We might want to consider an official policy for the VA system, if we should early out of errors or not.
[CL 21907558 by paul chipchase in ue5-main branch]
Also move to less allocations, and a static buffer. We still use TCHAR_TO_UTF8 allocations but will look at fixing up later
#jira UE-163043
#rb James.Singer, Zack.Neyland
#fyi Chris.Constantinescu
#preflight 631a0ee8d31788ea3a46f4cc
[CL 21898347 by Brandon Schaefer in ue5-main branch]
- Added code to patch paths for handling Programs having source in /Engine/Source/Programs/XYZ, their config fies, etc in /Engine/Programs/XYZ, and staging using /XYZ
- Mac can now apply -specifiedarchitecture to UAT builds of programs
- Added support to SlateUGS to load Pak files (programs have to opt-in to it in their main Build.cs)
#rb brandon.schaefer,david.harvey
#preflight 631a03202b7fe03eb6b0f16a
[CL 21894674 by Josh Adams in ue5-main branch]
-parameters to an impure function that were using the StackContext namespace weren't being properly included in the dependency chain
-custom HLSL nodes which internally used impure DI functions wouldn't necessarily have their inputs marked as dependents (in the case where a dummy output variable was being used, which itself got trimmed)
#jira UE-151858, FORT-490351
#rb stu.mckenna
#preflight 6318a478f448dc6e585c21d9
[CL 21864850 by rob krajcarski in ue5-main branch]
Tangent generation now also respects the Nanite project setting, not just the per-mesh setting.
#lockdown marc.audy
[CL 21862271 by rune stubbe in ue5-main branch]