#jira na
#rb trivial
#ROBOMERGE-AUTHOR: sara.schvartzman
#ROBOMERGE-SOURCE: CL 21096155 in //UE5/Release-Engine-Staging/...
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v972-20964824)
[CL 21099282 by sara schvartzman in ue5-main branch]
FMessageLog::CriticalError has a delay before throwing an assert to allow compositing of the message. As a result the assert isn't thrown at the location of the problem, but somewhere in the surrounding area, which makes the problem harder to debug and generates misleading log entries. Due to these problems FMessageLog::CriticalError and EMessageSeverity::CriticalError have been deprecated. It's recommended to use checkf instead.
When FMessageLog goes out of scope or is destroyed explicitly it will flush its messages to the log, which in turn means the log may immediately use the messages. In a few places a reference to the message was kept that outlived the lifetime of the owning FMessageLog in order to add arguments later on. The found cases have been updated to make sure FMessageLog doesn't outlive the addition of the arguments so the arguments are correctly passed to the log.
#jira: UE-155605
#rb brooke.hubert francis.hurteau jerome.delattre
#preflight 62cc4fca9922f7e5129e4e0a
[CL 21042765 by ronald koppers in ue5-main branch]
* Moved TypeIndex from int32 to typedef for easier debugging
* Implemented Dispatch Factory
* Factories stored under registry
* FindFunction to invoke dispatch
* Runtime Type checking on the memory handle
* Implemented dispatch rigvm node
* Unit testing for numeric add test both for low level + controller layer
#rb sara.schvartzman
#jira UE-157794
#preflight https://horde.devtools.epicgames.com/job/62c4541b2f31b87c6c89360a
[CL 20942948 by Helge Mathee in ue5-main branch]
* Switching the FRigVMTemplateArgumentType to be backed up by FName instead of FString for faster comparison
* Adding a "Types" storage under the RigVMRegistry of all of the known supported types
* Have the FRigVMTemplateArgument refer to type indices rather than full type structures
* Have the resolval comparison code rely on comparing type indices rather than type structures
* Store relationship between the bool and the TArray<bool> type as an array / element lookup within the registry - to avoid string operations when doing lookups from element to array to 2 dimensional array for a type.
* The preferred types list on the template node is now stored as pairs of argument name and type index <FName, int32> rather than FString.
* Also we no longer support all types for the untyped nodes (such as reroute, select, if etc) - but instead we support all user defined types (non-native structs and enums) as well as all types ever used as a template argument. The reasoning here is that supporting a type that's not used by any node is pointless. This reduced the type set from 9876 to 237.
#rb halfdan.ingvarsson
#jira na
#preflight https://horde.devtools.epicgames.com/job/62b9c666ba62f4498a345be2
[CL 20861728 by Helge Mathee in ue5-main branch]
improved RefreshAllModels
- from 431.621 ms to 318.637 ms when first opening CR_Mannequin_Body
- from 6.930 sec to 3.390 sec for next openings
#jira UE-155783
#rb helge.mathee
#preflight 62b45cd1755c7d63a787d42b
[CL 20793285 by benoit gadreau in ue5-main branch]
Changes include
* renamed setup event to construction event
* new nodes to spawn bones, nulls, controls etc
* class settings to limit how many elements can be created procedurally
* lookup from procedural element to spawner node (who created this?)
#preflight https://horde.devtools.epicgames.com/job/62b0d9c62405b4ac9e774bf4
#jira UE-153500
#rb audit
[CL 20754666 by Helge Mathee in ue5-main branch]