Commit Graph

182 Commits

Author SHA1 Message Date
jack cai
70bc5b69f4 RigVMRegistry: Added support for user defined type addition and removal
Important notes:
1. We should now use TypeUtils::GetUniqueStructName  instead of struct->getstructcppname for type names used by the registry since user defined struct need to have unique names generated for them

2. We should be aware that we can have invalid permutations in templates when types are deleted, so make sure you check for typeindex != INDEX_NONE when looping over permutations

#jira UE-152930
#rb Sara.schvartzman, Benoit.gadreau, Halfdan.Ingvarsson
#preflight https://horde.devtools.epicgames.com/job/6310c6992a5406d810d5a0e8

[CL 21754534 by jack cai in ue5-main branch]
2022-09-01 23:33:24 -04:00
sara schvartzman
ab56a6f52c Control Rig: Fix unresolved deprecated nodes are not reporting an error if not involved in compilation
#rb jack.cai
#preflight 6304fce8ae13a5a098e86fbc

[CL 21524982 by sara schvartzman in ue5-main branch]
2022-08-23 19:22:27 -04:00
sara schvartzman
ced4c6c94f RigVM: Auto-resolval for template nodes
#author helge.mathee
#rb sara.schvartzman
#jira UE-160956
#preflight https://horde.devtools.epicgames.com/job/62fe191d086f90bbc4b17c26

[CL 21504849 by sara schvartzman in ue5-main branch]
2022-08-23 07:06:22 -04:00
sara schvartzman
c433308948 Control Rig: Fix cannot connect execute pin in entry node
#jira UE-161023
#rb jack.cai
#preflight 62ff80ca3f75602b2f57967e

[CL 21499907 by sara schvartzman in ue5-main branch]
2022-08-22 21:21:00 -04:00
halfdan ingvarsson
19ae9b947b Control Rig: Sync UpdateTemplateNodePinTypes from UE5Main
#jira UE-161067
#rb benoit.gadreau
#preflight 62fd05fa200ff87e0781a086

#ROBOMERGE-OWNER: halfdan.ingvarsson
#ROBOMERGE-AUTHOR: sara.schvartzman
#ROBOMERGE-SOURCE: CL 21426542 via CL 21430788 via CL 21432247 via CL 21432263
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v980-21429816)

[CL 21434647 by halfdan ingvarsson in ue5-main branch]
2022-08-17 19:07:31 -04:00
helge mathee
317046bf91 RigVM: Generalize all execute pins to use the RigVMExecuteContext
#rb sara.schvartzman
#jira UE-159391
#preflight https://horde.devtools.epicgames.com/job/62f39397086f90bbc4d92510

#ROBOMERGE-OWNER: helge.mathee
#ROBOMERGE-AUTHOR: helge.mathee
#ROBOMERGE-SOURCE: CL 21333330 via CL 21333332 via CL 21333623
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v972-20964824)

[CL 21334003 by helge mathee in ue5-main branch]
2022-08-11 06:58:29 -04:00
bryan sefcik
de1956f47b Ran IWYU on Public headers under Engine/Source/Developer/...
Headers are updated to contain any missing #includes needed to compile and #includes are sorted.  Nothing is removed.

#ushell-cherrypick of 21064294 by bryan.sefcik
#jira
#preflight 62d5c2111062f2e63015e598

#ROBOMERGE-OWNER: bryan.sefcik
#ROBOMERGE-AUTHOR: bryan.sefcik
#ROBOMERGE-SOURCE: CL 21155249 via CL 21158121 via CL 21161259
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v972-20964824)

[CL 21182053 by bryan sefcik in ue5-main branch]
2022-07-20 12:03:45 -04:00
sara schvartzman
759ade463a Control Rig: Adding aggregates for template nodes
#jira UE-147512
#rb helge.mathee
#preflight 62d459d499514be7eb2920a4

[CL 21143858 by sara schvartzman in ue5-main branch]
2022-07-18 04:44:55 -04:00
sara schvartzman
eec59437e9 Control Rig: Collapse nodes with templates
#jira UE-146929
#rb helge.mathee
#preflight 62ced5dbd00f3c208e47c183

[CL 21089290 by sara schvartzman in ue5-main branch]
2022-07-14 06:53:37 -04:00
Helge Mathee
8b0318e6bc RigVM: Dispatch Factory Support
* 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]
2022-07-05 11:39:15 -04:00
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
Helge Mathee
e13931f1a7 RigVM: Default values on array element pins don't propagate correctly.
#rb benoit.gadreau
#jira UE-144672
#preflight https://horde.devtools.epicgames.com/job/62b45c19c603be6148408c8f

[CL 20793302 by Helge Mathee in ue5-main branch]
2022-06-23 08:45:36 -04:00
Helge Mathee
21e41be54a Control Rig: Fix crash when connecting to template node to other type
#jira UE-156578
#rb sara.schvartzman
#preflight 62ab47f91e0da10371e55e23

[CL 20734361 by Helge Mathee in ue5-main branch]
2022-06-20 04:14:02 -04:00
Helge Mathee
f340a4f6ad Control Rig: Fix to run backwards compat code
#rb sara.schvartzman
#jira UE-155436
#preflight https://horde.devtools.epicgames.com/job/62a34936ec7332a25c9597a0

[CL 20594878 by Helge Mathee in ue5-main branch]
2022-06-10 10:03:01 -04:00
sara schvartzman
4f7e433c98 Control Rig: Change FRigVMTemplate to USTRUCT
#jira na
#rb helge.mathee
#preflight https://horde.devtools.epicgames.com/job/629f59a2233ae0a8f8f6bc99

[CL 20538399 by sara schvartzman in ue5-main branch]
2022-06-07 11:01:59 -04:00
sara schvartzman
d56d1f11b5 Control Rig: Fix unit test with undo/redo not passing
#jira na
#rb helge.mathee
#preflight https://horde.devtools.epicgames.com/job/629f56e085333f26644b81da

[CL 20537746 by sara schvartzman in ue5-main branch]
2022-06-07 10:33:38 -04:00
Helge Mathee
9c189267d5 ControlRig: user defined events and event invocation
#rb sara.schvartzman
#jira UE-153498 UE-153499
#preflight https://horde.devtools.epicgames.com/job/62975ffb2c618ddc66bb49a4

[CL 20453170 by Helge Mathee in ue5-main branch]
2022-06-01 11:28:01 -04:00
Helge Mathee
0edf08d7f8 RigVM: Invoke Entry functionality for the model
#rb benoit.gadreau
#jira UE-153498
#preflight https://horde.devtools.epicgames.com/job/629733a2ed7762ca42de8245

[CL 20450402 by Helge Mathee in ue5-main branch]
2022-06-01 05:56:08 -04:00
Helge Mathee
6520c809a9 Control Rig: backend work for support for multi graph
#rb benoit.gadreau
#jira UE-153497
#preflight https://horde.devtools.epicgames.com/job/6294be4e2e34c2e487b13394

[CL 20434781 by Helge Mathee in ue5-main branch]
2022-05-31 04:27:20 -04:00
sara schvartzman
38c72b07e2 Control Rig: Fix load of pre-template assets
#jira UE-153247
#rb helge.mathee
#preflight https://horde.devtools.epicgames.com/job/6287664b1e478b95c7fbc926

[CL 20293516 by sara schvartzman in ue5-main branch]
2022-05-20 09:28:06 -04:00
sara schvartzman
6c0d38da89 Control Rig: Performance improvements on template nodes
#jira na
#rb helge.mathee
#preflight https://horde.devtools.epicgames.com/job/6283a58a730e8423d1256bf5

[CL 20258899 by sara schvartzman in ue5-main branch]
2022-05-18 06:43:26 -04:00
sara schvartzman
1bce442c08 Control Rig: Fix hanging of editor when adding/breaking links
#jira UE-151849
#rb helge.mathee
#preflight https://horde.devtools.epicgames.com/job/627e3843830b40b66830915e

[CL 20179303 by sara schvartzman in ue5-main branch]
2022-05-13 07:10:24 -04:00
sara schvartzman
f7578148a8 Control Rig: Test recompute all filtered permutations on templates
#jira na
#rb helge.mathee
#preflight https://horde.devtools.epicgames.com/job/627b8348b60dee4a43a104f9

[CL 20135765 by sara schvartzman in ue5-main branch]
2022-05-11 05:46:12 -04:00
sara schvartzman
dbf7254f5a Control Rig: Back to initializing all template filtered permutations from types
#jira UE-151518
#rb halfdan.ingvarsson
#preflight https://horde.devtools.epicgames.com/job/627a8b34d847d5f149e73145

[CL 20124326 by sara schvartzman in ue5-main branch]
2022-05-10 12:00:48 -04:00
sara schvartzman
7b95068ced Control Rig: Fix recompute filtered permutations from links
#jira UE-151485
#rb helge.mathee
#preflight https://horde.devtools.epicgames.com/job/627a6684fc07e0a9b4feb804

[CL 20122135 by sara schvartzman in ue5-main branch]
2022-05-10 09:29:27 -04:00