Files
UnrealEngineUWP/Engine/Source/Developer/RigVMDeveloper/Public
Helge Mathee 3d20407084 RigVM: Refactor template type system to rely on integers rather than string comparisons
* 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]
2022-06-28 13:41:23 -04:00
..