- Array.h is not needed by CompactBinarySerialization.h because the use of TArray is in a template function.
- SharedBuffer.h is not needed by DerivedData.h because its types are only used as return types or function parameters.
- FString and FCompositeBuffer are both declared in Fwd.h headers and do not need duplicate forward declarations.
#rb none
#rnx
#ROBOMERGE-AUTHOR: devin.doucette
#ROBOMERGE-SOURCE: CL 21391840 via CL 21394622 via CL 21395405
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v975-21357124)
[CL 21398955 by devin doucette in ue5-main branch]
Headers are updated to contain any missing #includes needed to compile and #includes are sorted. Nothing is removed.
#ushell-cherrypick of 21065896 by bryan.sefcik
#preflight 62d4b1a5a6141b6adfb0c892
#jira
#ROBOMERGE-OWNER: Bryan.sefcik
#ROBOMERGE-AUTHOR: bryan.sefcik
#ROBOMERGE-SOURCE: CL 21150156 via CL 21151754 via CL 21154719
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v972-20964824)
#ROBOMERGE-CONFLICT from-shelf
[CL 21181076 by Bryan sefcik in ue5-main branch]
Add them for TMap and TSet as well, but keep them private for now since the write does not sort the keys and hence has determinism problems if used in persistent storage.
#rb Devin.Doucette
#rnx
#preflight 62cc993e1a786c1bbcf90183
[CL 21048418 by Matt Peters in ue5-main branch]
Core public headers still will contain CoreMinimal.h if any included it before my IWYU changes.
#preflight 62c73594756222ced4e48707
[CL 20991367 by bryan sefcik in ue5-main branch]
Things to note regarding this pass:
* No includes are currently being removed from public headers.
* Any private file that has a #if is currently not being updated.
#preflight 62c703bbd13fac04f11da948
[CL 20985655 by bryan sefcik in ue5-main branch]
Things to note regarding this pass:
* No includes are currently being removed from public headers.
* Any private file that has a #if is currently not being updated.
#rb Devin Doucette and Marc Audy
#preflight 62c62086756222ced497ff95
#preflight 62c626d12f2d04691814d331
#preflight 62c630107e606620fdd64e31
#preflight 62c635c6756222ced49a13cf
[CL 20979027 by bryan sefcik in ue5-main branch]
The intent is that function take a field and an output parameter, with an optional default value:
bool LoadFromCompactBinary(FCbFieldView Field, FTypeName& OutValue, FTypeName Default = {});
Implementations must return true if the field was loaded successfully, and false if any required part of the field was missing or its value had the wrong type or range. The output value must be assigned before the function returns.
#rb Zousar.Shaker
#ROBOMERGE-AUTHOR: devin.doucette
#ROBOMERGE-SOURCE: CL 20741864 via CL 20743724 via CL 20744635
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v970-20704180)
[CL 20751365 by devin doucette in ue5-main branch]
#rb Matt.Peters
#rnx
#preflight 62a18fe69a3e81e904feadce
- FPackageInfo and FBulkDataInfo have a member 'MultiOutputIndex' which is set to be a uint32, but wil be used as the chunk index for ::CreateIoChunkId which can only support uint16, so there is no point in 'MultiOutputIndex' being a larger data type as it would silently fail later.
[CL 20572160 by paul chipchase in ue5-main branch]
#rb Paul.Chipchase, PJ.Kack, CarlMagnus.Nordin
#jira none
#preflight 629085d14f63120d8e170977
###
This change attempts to merge the editor and the runtime version of bulk data, i.e. bulk data one and two.
The major difference between the two is the fact that the editor version supported element vice
serialization via inheritance. This has been complelety removed in the runtime version. In order
to mitigate this divergance a non-virtual base class has been extracted that forms the base
for the untyped and typed versions of bulk data.
The untyped version is only used in editor and will be deprecated. However this is a breaking change,
previously it was possible to inherit from FByteBulkData in editor builds.
Other differences between the two includes:
* IsBulkDataLoaded - returns true for bulk data 1 if an allocation has been made even if the size is zero
* StartStreaming - was removed in bulk data 2 and has been removed
* FlushAsyncLoading - bulk data 2 was busy waiting, now an event is used
All I/O related functionality has been extracted into BulkDataStreaming.cpp and is using
a FBulkDataChunkId that is either a package path or a package ID.This could potentially
be extended to contain a cache key in development builds to support loading from DDC, i.e derived
data references.
[CL 20391050 by Per Larsson in ue5-main branch]
This is necessary because as of CL 20151503, the cooker can commit the same package multiple times if the first save failed due to a timeout.
#fyi CarlMagnus.Nordin
#rnx
#rb Per.Larsson
#preflight 62853ba90f0d5076dee74ced
[CL 20265738 by Matt Peters in ue5-main branch]
#rb ben.ingram
#ROBOMERGE-AUTHOR: robert.millar
#ROBOMERGE-SOURCE: CL 20115901 via CL 20115948 via CL 20115961 via CL 20115990
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v943-19904690)
[CL 20117747 by robert millar in ue5-main branch]
Added FPooledLargeMemoryData that allows lockless access to temporary memory blocks.
#tests Squads games on WSL, using FramePro to validate performance gains
#rb danny.couture,jamie.dale
#ROBOMERGE-AUTHOR: ilya.loshchinin
#ROBOMERGE-SOURCE: CL 19970339 via CL 19971380 via CL 19972286
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v943-19904690)
[CL 19974304 by ilya loshchinin in ue5-main branch]