Fix the underlying problem for the workaround in 19840451.
#jira FORT-456060
#rb carlmagnus.nordin
#robomerge EngineMerge
#rnx
#preflight 62a983aa3774a57fdc4f07f5
[CL 20666261 by PJ Kack in ue5-main branch]
Adds support for most of the remaining LWC math types (eg: FVector4). Note that FVector2D and FBox2D are currently disabled. Their corresponding double variants have FName collisions with the primary variant names, which needs to be addressed separately.
Some cleanup was also added that reroutes all conversion through a common function, ConvertType. This alleviates the need for separate conversion functions for each type.
#jira UE-151338
#rb andrew.davidson
#preflight 62a3b355f87ec0b3c8a26cf5
[CL 20652370 by dave jones2 in ue5-main branch]
Merge loaded package store with global import store
Use global import store to keep track of pinned exports instead of relying on FindObjectWithOuter
#preflight 62a876325d0f5c5aab6d380c
#rb pj.kack
[CL 20645631 by CarlMagnus Nordin in ue5-main branch]
NotifyRegistrationEvent:
Remove all NRP_Started events since they add no value.
Move the NRP_Finished event for type NRT_Class from InitializePrivateStaticClass (Class.cpp) to UObjectLoadAllCompiledInDefaultProperties (UObjectBase.cpp) since this is where the outer registration function for the class is actually executed.
Add a new NRT_NoExportObject event in ConstructUPackage for top level noexport objects like UScriptStruct, UDelegateFunction and USparseDelegateFunction that are just part of the package and has no registration info.
AsyncLoader:
Move EDLBootNotificationManager from AsyncPackageLoader to AsyncLoading.
Add FEarlyRegistrationEventsRecorder to replay early events that occur before the loader is created.
AsyncLoading:
Ignore the new NRT_NoExportObject event.
Allow for objects to skip the NRP_Added and NRP_Started phases.
AsyncLoading2:
Remove LazyInitializeFromLoadPackage and the reading and parsing of the ScriptObjects binary blob.
Remove FindScriptImportObjectFromIndex/GFindExistingScriptImport that was dependent on the ScriptObject blob, instead all script objects are added to the global import store directly from the notification system callbacks.
Change GetUnresolvedCDOs logic to check for imported classes with missing or not-yet-initialized CDOs.
Add FAsyncPackageDesc2::ReferencerRequestId to let each package track its most recent load package request referencer.
Change ProcessPendingCDOs logic to avoid recursive reentrancy and to process the most relevant CDOs first, based on the new ReferencerRequestId.
Tests:
Lyra: Editor, Runtime EDL and Zen loader on Win64 and Console
ShooterGame: Editor, Runtime EDL and Zen loader on Win64 and Console
AncientGame: Editor, Runtime EDL and Zen loader on Win64
Other: Editor, CookedEditor, Runtime EDL and Zen loader on Win64 (client and server)
#jira none
#rb carlmagnus.nordin
#robomerge EngineMerge
#rnx
#preflight 62a84ba7cf54a658eeffc200
[CL 20643384 by PJ Kack in ue5-main branch]
Update DiffAssetRegistriesCommandlet to including searching for files specified by full path on any project.
#rnx
#rb Marcus.Wassmer
[REVIEW] Robert.Manuszewski
#preflight 62a79e0ef017fed6d24e607d
#ROBOMERGE-AUTHOR: matt.peters
#ROBOMERGE-SOURCE: CL 20635399 via CL 20635481 via CL 20635515
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v955-20579017)
[CL 20639081 by matt peters in ue5-main branch]
Change summary:
- Modified UObject::PostLoadSubobjects() to allow subobject instancing on targets that do not require cooked data (i.e. targets that include editor-only data).
- Reverted 20563066 (temp fix that also needed to be backed out in order for editor-only subobject instancing paths to function properly).
#rb Dave.Belanger
[FYI] CarlMagnus.Nordin
#preflight 62a3a9fea76bc5b5cacf4a54
#ROBOMERGE-OWNER: phillip.kavan
#ROBOMERGE-AUTHOR: phillip.kavan
#ROBOMERGE-SOURCE: CL 20603539 via CL 20605001 via CL 20606273 via CL 20606326
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v955-20579017)
[CL 20606704 by phillip kavan in ue5-main branch]
#rb Andrew.Scheidecker
#rnx
#preflight 62a2e55a6c6cbbd8ca78eb21
- MinAlignmentLogTwo is being stored as uint8 and the only place in code passing in that parameter does so as a uint8 so we can just change the parameter data type to match.
[CL 20590701 by paul chipchase in ue5-main branch]
- Print a deprecated warning message for Python users trying to access the property.
#rb Robert.Manuszewski
#preflight 62a247b4175f47cec96d8406
[CL 20583445 by Patrick Laflamme in ue5-main branch]