Add OnEndLoad calls for Async loaded packages, since the editor sometimes uses async loads.
#rb Francis.Hurteau
#rnx
#ROBOMERGE-SOURCE: CL 16861817 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v836-16769935)
[CL 16861829 by matt peters in ue5-release-engine-test branch]
Updating FVirtualizedUntypedBulkData and textures to use the BulkDataRegistry.
BulkDataRegistry: Add get/put accessors for the cached BulkDataList of packages.
EditorDomain: Move ClassDigests into a global variable that can be shared with BulkDataRegistry.
EditorDomain: Improve performance of GetFileSize by fetching metadata only.
Tickable Cook Objects, for systems used by the cooker that need to be ticked.
Implementation of the the BulkDataRegistry that uses the DDC cache for persistent storage of the BulkDataList.
#rb Devin.Doucette, Paul.Chipchase, Zousar.Shaker
#ROBOMERGE-SOURCE: CL 16768772 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v835-16672529)
[CL 16768778 by matt peters in ue5-release-engine-test branch]
- This has gone so long without being noticed as it is not expected that bulkdata will be compressed during a cook, as the pakfiles themselves will be compressed.
- InternalLoadFromIoStore now only loads via the IoDispatcher directly to the destination buffer if the data is in uncompressed format.
- If the data is going to be compressed we let the IoDispatcher allocate and return the compressed buffer and bulkdata will decompress that to the destination buffer instead.
#rb Per.Larsson, CM.Nordin
[FYI] Charles.deRousiers
#preflight 60c83e2143ec380001e2ad1b
#ROBOMERGE-SOURCE: CL 16670240 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v834-16658389)
[CL 16670246 by paul chipchase in ue5-release-engine-test branch]
- Since reloading inline data does not work in the old loader we need to make it more obvious to developers when they are doing it in the old loader so that it doesn't get submitted.
- An ensure will cause the process top break in the debugger and is more likely to get attention. It will also provide the callstack for any QA bug report which will make it easier for us to triage to the correct team to fix their calling code than a vague warning about bulkdata.
- Also provided a new define, UE_KEEP_INLINE_RELOADING_CONSISTENT, which when enabled will cause reloading of inline bulkdata to fail (and error) in the old loader as well.
- The ensure can be supressed by setting [Core.System]IgnoreInlineBulkDataReloadEnsures=True in an engine config file, this might be useful for projects that do not care about running from staged data for what ever reason (but supressing the ensure will not prevent the data from failing to load when run with the new loader so this is strictly a 'use at your own risk' option)
#rb CarlMagnus.Nordin
#preflight 60bf45f97bc5f2000173195a
[CL 16586071 by paul chipchase in ue5-main branch]
#rb dan.phillips
#ROBOMERGE-OWNER: robert.millar
#ROBOMERGE-AUTHOR: robert.millar
#ROBOMERGE-SOURCE: CL 16554441 via CL 16554457 via CL 16554465 via CL 16554507 via CL 16554868
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Test -> Main) (v828-16531559)
[CL 16554877 by robert millar in ue5-main branch]
#ROBOMERGE-OWNER: robert.millar
#ROBOMERGE-AUTHOR: robert.millar
#ROBOMERGE-SOURCE: CL 16517115 via CL 16517137 via CL 16517179 via CL 16517335 via CL 16517350
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Test -> Main) (v826-16501804)
[CL 16517376 by robert millar in ue5-main branch]
#ROBOMERGE-OWNER: robert.millar
#ROBOMERGE-AUTHOR: robert.millar
#ROBOMERGE-SOURCE: CL 16510694 via CL 16510697 via CL 16510701 via CL 16510734 via CL 16510747
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Test -> Main) (v826-16501804)
[CL 16510779 by robert millar in ue5-main branch]
- FUntypedBulkData::SetBulkDataAlignment now takes a uint16 as that is the storage type used anyway.
- FBulkDataBuffer now uses TArrayView64 as the wrapper around it's data. This has been requested by another team anyway.
-- SoundWave.cpp will pass on the return type of FBulkDataBuffer to other systems. So I moved the 'is the data too big for TArrayView checks there and did not change the SoundWave api.
#rb Per.Larsson, Max.Hayes
#rnx
#preflight 60a606414c320300018014f4
[CL 16399515 by paul chipchase in ue5-main branch]
- number of supplied parameters less or more than the number of specifiers used in format string
- invalid format string specifiers used
#rb Matt.Peters
[CL 16315056 by ionut matasaru in ue5-main branch]
The following code would call the int overload rather than the name overload when passed an EName constant, which could easily lead to confusion and bugs:
using FMyId = uint8;
void DoThing(FName);
void DoThing(FMyId);
DoThing(NAME_Actor);
The change to use enum class requires that any code that actually deals with EName as an int (mostly internal name code and serialisation) be updated to explicitly cast, but prevents the implicit conversion that causes the issue above.
In order to preserve the NAME_X aliases that the old-style enum added to the global scope, new aliases have been added that point to the EName scoped versions. Unfortunately these can cause shadowing warnings if NAME_X is defined in the local scope, as the old-style enum used to allow that without shadowing, however there is no way to prevent this so we'll just need to fix any warnings that occur.
#rb Johan.Torp
#preflight 6087e06349a9840001414708
[CL 16126708 by Jamie Dale in ue5-main branch]