Commit Graph

311 Commits

Author SHA1 Message Date
helge mathee
aa0046a09a Control Rig: Traverse sub pins of select nodes correctly when compiling
Fixed the case of float vs double for arrays - this was never working before apparently.

Also improved the warning message from the VM's memory backend:
Failed to copy uValuesWings (TArray<double>) to Rig_ArrayReset_Array__IO (TArray<float>) in package ...

#rb sara.schvartzman
#jira UE-141662
#preflight https://horde.devtools.epicgames.com/job/620264aabd4f846436da20fb
#lockdown juan.canada

#ROBOMERGE-AUTHOR: helge.mathee
#ROBOMERGE-SOURCE: CL 18901271 in //UE5/Release-5.0/... via CL 18901305 via CL 18901351
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v912-18901109)

[CL 18901353 by helge mathee in ue5-main branch]
2022-02-08 08:49:46 -05:00
dave jones2
ed1b4ed6a5 UE-140327 - Remove ENABLE_BLUEPRINT_REAL_NUMBERS usage
The original ENABLE_BLUEPRINT_REAL_NUMBERS macro was strictly meant for AB testing in the Dev-LWC. Currently, disabling it won't work, and would likely lead to broken behavior. Its presence might incorrectly indicate to licensees that this is an option that can be toggled safely.

#rb marc.audy
#jira UE-140327
#preflight 61fc6449dc0b3ecbecb6f381
#lockdown julien.marchand

#ROBOMERGE-AUTHOR: dave.jones2
#ROBOMERGE-SOURCE: CL 18864654 in //UE5/Release-5.0/... via CL 18864683 via CL 18864993
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v910-18824042)

[CL 18865002 by dave jones2 in ue5-main branch]
2022-02-04 11:54:52 -05:00
dave jones2
c4b5ae240c FROST-8496 - ABP_Player_v2.uasset: [Compiler] Can't connect pins: float is not compatible with Double Real.
A couple of BP reals changes were missed for IKRig and a new-ish function in RigVMTypeUtils.

For RigVMTypeUtils, we simply need to ensure that we're using the correct PC_Real category when dealing with float/double CPPTypes.

For IKRig, the alpha pin needs to be a real/double type. Additionally, when copying the property data to the FIKRigGoal instance, we need to treat the property's value as a double type. Since FIKRigGoal::Position et al. use the alpha as a normalized value, it likely doesn't need the precision of a double, so it's been left as is. As a result, we need to perform a narrowing conversion when copying over the data.

#jira FROST-8496
#preflight 61faf7115e35b9215b000da8
#rb julien.marchand
#lockdown julien.marchand

#ROBOMERGE-AUTHOR: dave.jones2
#ROBOMERGE-SOURCE: CL 18835074 in //UE5/Release-5.0/... via CL 18835086 via CL 18835353
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v910-18824042)

[CL 18835421 by dave jones2 in ue5-main branch]
2022-02-02 17:45:48 -05:00
sara schvartzman
57fdf48ac3 Control Rig: Fix reroutes redo connection failing
#jira UE-140968 UE-140967
#rb helge.mathee
#preflight https://horde.devtools.epicgames.com/job/61fa99caad2ae6c3b75d1f0a

[CL 18826375 by sara schvartzman in ue5-main branch]
2022-02-02 09:55:36 -05:00
dave jones2
c8574d3b74 Merging //UE5/Dev-LargeWorldCoordinates [at] 18802167 to //UE5/Release-5.0
Blueprint real number support.

This change deprecates the use the of "float" and "double" types in Blueprints in favor of a new "real". By default, "real" is back by a double precision floating point number. However, it can be single precision if the number is a native float property or function parameter. This distinction won't be visible to the Blueprint user: in both instances, they'll be represented by "real" pin types. During deserialization, we'll automatically convert Blueprint pin types to use real/doubles, unless they're used to represent native code (including delegate signatures).

One consequence of this change is that we need to perform implicit casts between single and double precision real numbers. During Blueprint compilation, the compiler will detect points in the graph for when either a widening or narrowing conversion needs to occur. Subsequently, the script bytecode will contain a new cast instruction that performs the conversion. This also works on container types, but each entry in the container will have to be converted. This can introduce unwanted overhead for large containers that are frequently passed between Blueprint and native code.

The scope of this change affects Blueprints used by Gameplay, Animation, Control Rig, and UMG.

#rb marc.audy (serialization changes)
#jira UE-116484
#preflight 61f8bdd5a2514ba12ff7bdfc

#ROBOMERGE-AUTHOR: dave.jones2
#ROBOMERGE-SOURCE: CL 18809077 in //UE5/Release-5.0/... via CL 18809455 via CL 18822548
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v908-18788545)

[CL 18823569 by dave jones2 in ue5-main branch]
2022-02-02 05:50:50 -05:00
sara schvartzman
6f9a130ecd Control Rig: Refresh pasted nodes to update any old configuration of the node (color, pins, name, etc)
#jira UE-140601
#rb helge.mathee
#preflight https://horde.devtools.epicgames.com/job/61f909798b4112f7cc905136

#ROBOMERGE-AUTHOR: sara.schvartzman
#ROBOMERGE-SOURCE: CL 18807587 in //UE5/Release-5.0/... via CL 18809227 via CL 18822244
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v908-18788545)

[CL 18823265 by sara schvartzman in ue5-main branch]
2022-02-02 05:30:33 -05:00
sara schvartzman
5a6c00a063 Control Rig: Fix Mannequin_FootPlant_CtrlRig to prevent crash in LWC
#jira UE-139859
#rb jack.cai
#preflight https://horde.devtools.epicgames.com/job/61f405a374510448a6803e63

#ROBOMERGE-AUTHOR: sara.schvartzman
#ROBOMERGE-SOURCE: CL 18773422 in //UE5/Release-5.0/... via CL 18773449 via CL 18773821
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v903-18687472)

[CL 18773832 by sara schvartzman in ue5-main branch]
2022-01-28 12:47:19 -05:00
sara schvartzman
6804526da0 Control Rig: Fixed single apostrophes in comments causes Python Script output not to work
#jira UE-133964
#rb helge.mathee
#preflight https://horde.devtools.epicgames.com/job/61f2aed96541652a1175da95

[CL 18753735 by sara schvartzman in ue5-main branch]
2022-01-27 10:23:29 -05:00
helge mathee
16573b400f RigVM: Catch model / variable out of sync issues
#rb sara.schvartzman
#jira UE-139859
#preflight https://horde.devtools.epicgames.com/job/61f173a0f8088a3d298c6443

#ROBOMERGE-AUTHOR: helge.mathee
#ROBOMERGE-SOURCE: CL 18736634 in //UE5/Release-5.0/... via CL 18736648 via CL 18737350
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v903-18687472)

[CL 18737678 by helge mathee in ue5-main branch]
2022-01-26 12:31:49 -05:00
jack cai
b64436970b Control Rig: Fix for array pin losing bIsDynamicArray Flag on editor open
#jira UE-139693
#rb helge.mathee
#preflight skip

#ROBOMERGE-AUTHOR: jack.cai
#ROBOMERGE-SOURCE: CL 18712232 in //UE5/Release-5.0/... via CL 18712280 via CL 18712442
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v903-18687472)

[CL 18712467 by jack cai in ue5-main branch]
2022-01-24 14:20:07 -05:00
sara schvartzman
d08d60e323 Control Rig: Fix crash when naming an exposed input of a collapsed node when clashes with an output
#jira UE-139973
#rb helge.mathee
#preflight 61eec09daa3f15faa57a20b1

#ROBOMERGE-AUTHOR: sara.schvartzman
#ROBOMERGE-SOURCE: CL 18708907 in //UE5/Release-5.0/... via CL 18708973 via CL 18709071
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v903-18687472)

[CL 18709079 by sara schvartzman in ue5-main branch]
2022-01-24 10:42:43 -05:00
vincent gauthier
a558e2f441 CIS fix: Add Missing LOCTEXT_NAMESPACE undef
#rb trivial
#jira UE-136397
#preflight none

#ROBOMERGE-AUTHOR: vincent.gauthier
#ROBOMERGE-SOURCE: CL 18696797 in //UE5/Release-5.0/... via CL 18696825 via CL 18696864
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v903-18687472)

[CL 18696888 by vincent gauthier in ue5-main branch]
2022-01-21 16:38:37 -05:00
helge mathee
b6c68b264f RigVM: Change execution order for variable composition
#rb sara.schvartzman
#jira UE-138470
#preflight https://horde.devtools.epicgames.com/job/61eadcc42050289671c9a0ae

#ROBOMERGE-AUTHOR: helge.mathee
#ROBOMERGE-SOURCE: CL 18690458 in //UE5/Release-5.0/... via CL 18690479 via CL 18690499
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v903-18687472)

[CL 18690519 by helge mathee in ue5-main branch]
2022-01-21 11:38:39 -05:00
helge mathee
8cf804c13b RigVM: Fix AST source pin traverse to support function ref nodes
#rb sara.schvartzman
#jira UE-132067
#preflight https://horde.devtools.epicgames.com/job/61eadcaed524ccc35a18caba

#ROBOMERGE-AUTHOR: helge.mathee
#ROBOMERGE-SOURCE: CL 18690362 in //UE5/Release-5.0/... via CL 18690379 via CL 18690397
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v903-18687472)

[CL 18690418 by helge mathee in ue5-main branch]
2022-01-21 11:33:53 -05:00
helge mathee
ef04d8cfe7 RigVM: Rely on import text for undo / redo of Collapse, Expand
#rb sara.schvartzman
#jira UE-139731
#preflight https://horde.devtools.epicgames.com/job/61ea9f26445cebac10bf1f63

#ROBOMERGE-AUTHOR: helge.mathee
#ROBOMERGE-SOURCE: CL 18688153 in //UE5/Release-5.0/... via CL 18688156 via CL 18688161
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v903-18687472)

[CL 18688164 by helge mathee in ue5-main branch]
2022-01-21 07:17:55 -05:00
helge mathee
0bca4986d4 RigVM: During expansion wire subpin links to reroute nodes
#rb sara.schvartzman
#jira UE-139730
#preflight https://horde.devtools.epicgames.com/job/61ea87f1ab6e1cc028d4dd9f

#ROBOMERGE-AUTHOR: helge.mathee
#ROBOMERGE-SOURCE: CL 18687664 in //UE5/Release-5.0/... via CL 18687889 via CL 18687930
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v903-18687472)

[CL 18687975 by helge mathee in ue5-main branch]
2022-01-21 06:48:12 -05:00
helge mathee
d3c0412018 RigVM: Allow links to be recreate between entry + return nodes
#rb na
#jira na
#preflight tbd

#ROBOMERGE-AUTHOR: helge.mathee
#ROBOMERGE-SOURCE: CL 18673825 in //UE5/Release-5.0/... via CL 18674068 via CL 18674124
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v902-18672795)

[CL 18679638 by helge mathee in ue5-main branch]
2022-01-20 15:17:42 -05:00
helge mathee
e19814d1fd RigVMCompiler: Fold assignments for array pins
#rb sara.schvartzman
#jira UE-139695 UE-139693
#preflight https://horde.devtools.epicgames.com/job/61e9437bc32d25dadc2dc0da

#ROBOMERGE-AUTHOR: helge.mathee
#ROBOMERGE-SOURCE: CL 18672949 in //UE5/Release-5.0/... via CL 18672965 via CL 18672974
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v901-18665521)

[CL 18672979 by helge mathee in ue5-main branch]
2022-01-20 06:23:32 -05:00
helge mathee
c690f3d988 Control Rig: React to pin container type changes correctly
#rb sara.schvartzman
#jira UE-124768
#preflight https://horde.devtools.epicgames.com/job/61e6c671b56c33b8ece2d7a9

#ROBOMERGE-AUTHOR: helge.mathee
#ROBOMERGE-SOURCE: CL 18639632 in //UE5/Release-5.0/... via CL 18639696 via CL 18639708
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v900-18638592)

[CL 18639720 by helge mathee in ue5-main branch]
2022-01-18 09:52:49 -05:00
sara schvartzman
d513056341 Control Rig: Fix undo pasting collapse node reaching ensure
#jira UE-126587
#rb helge.mathee
#preflight 61e58cac904123989a18aa10

#ROBOMERGE-AUTHOR: sara.schvartzman
#ROBOMERGE-SOURCE: CL 18637797 in //UE5/Release-5.0/... via CL 18637801 via CL 18637817
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v899-18417669)

[CL 18637823 by sara schvartzman in ue5-main branch]
2022-01-18 05:18:31 -05:00
helge mathee
2135617489 Control Rig: Check array type for array nodes
#rb trivial
#jira UE-133969
#preflight https://horde.devtools.epicgames.com/job/61e58ccc873f2ea48f32eaad

#ROBOMERGE-AUTHOR: helge.mathee
#ROBOMERGE-SOURCE: CL 18633986 in //UE5/Release-5.0/... via CL 18633995 via CL 18634004
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v899-18417669)

[CL 18637408 by helge mathee in ue5-main branch]
2022-01-18 04:33:44 -05:00
jack cai
d4d396686d Control Rig: Added initial support for user defined structs in control rig
#rb helge.mathee sara.schvartzman halfdan.ingvarsson
#preflight https://horde.devtools.epicgames.com/job/61e0550e797757aace812c59

#ROBOMERGE-OWNER: jack.cai
#ROBOMERGE-AUTHOR: jack.cai
#ROBOMERGE-SOURCE: CL 18604135 via CL 18607078 via CL 18607310 via CL 18614166 via CL 18614228 via CL 18614244
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v899-18417669)

[CL 18614276 by jack cai in ue5-main branch]
2022-01-13 22:49:09 -05:00
sara schvartzman
d3fad84790 Control Rig: Fix crash on copy paste nodes with variable binding
#jira UE-138888
#rb helge.mathee
#preflight 61deff35ff67b6fe7abb99fe

#ROBOMERGE-AUTHOR: sara.schvartzman
#ROBOMERGE-SOURCE: CL 18595239 in //UE5/Release-5.0/... via CL 18595240 via CL 18595248
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Test -> Main) (v899-18417669)

[CL 18596669 by sara schvartzman in ue5-main branch]
2022-01-13 10:07:57 -05:00
sara schvartzman
f4f5e604ca Control Rig: Fix crash when removing interpolation node
#jira UE-138936
#rb helge.mathee
#preflight 61deb5f74164db1c3e303179

#ROBOMERGE-AUTHOR: sara.schvartzman
#ROBOMERGE-SOURCE: CL 18582668 in //UE5/Release-5.0/... via CL 18582672 via CL 18582674
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Test -> Main) (v899-18417669)

[CL 18582682 by sara schvartzman in ue5-main branch]
2022-01-12 06:14:15 -05:00
sara schvartzman
380253e03f Control Rig: fix eject last node
#jira UE-136077
#rb helge.mathee
#preflight 61dc43c26c000c869b446a51

#ROBOMERGE-AUTHOR: sara.schvartzman
#ROBOMERGE-SOURCE: CL 18559696 in //UE5/Release-5.0/... via CL 18559710
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v899-18417669)

[CL 18559732 by sara schvartzman in ue5-release-engine-test branch]
2022-01-10 10:15:49 -05:00