65 Commits

Author SHA1 Message Date
ben hoffman
c95dd236de Only set the new operation name upon node conversion if we successfully find a matching function to that new conversion.
#jira UE-192884
#rnx
#rb dan.oconnor

[CL 33136872 by ben hoffman in ue5-main branch]
2024-04-22 09:42:07 -04:00
ben hoffman
1737e87228 Allow you to convert operator nodes even if there are no default values or pin connections to the node
#jira UE-192879
#jira UE-192884
#rb trivial
#rnx

[CL 27074100 by ben hoffman in ue5-main branch]
2023-08-14 12:22:51 -04:00
ben hoffman
bb75a67657 Fix incorrect LOCTEXT namespace keys
#jira UE-192868
#rb trivial
#pf skip
#rnx

[CL 27069727 by ben hoffman in ue5-main branch]
2023-08-14 10:30:07 -04:00
ben hoffman
277fcfc08f Add an option to convert a comparison operator node to another comparison, like == to !=.
Add the symbol to the user facing operator name for comparison operators for a nicer menu

#rb dan.oconnor

[CL 27027544 by ben hoffman in ue5-main branch]
2023-08-11 10:30:15 -04:00
dan oconnor
d3cf046ac7 Lay groundwork for avoiding SGraphPanel refreshes after making a change to a single node by adding a NotifyNodeChanged routine to UEdGraph, currently implemented to just invoke NotifyGraphChanged with no additional context
#rb Justin.Hare, Andrew.Davidson
#preflight 640a9da7d778f88975ed4702
#jira UE-158391

[CL 24601445 by dan oconnor in ue5-main branch]
2023-03-10 20:03:26 -05:00
dave jones2
3c9c912448 Fixed static analysis warnings.
#jira none
#preflight 63d2e9f55d0c0164cc3b913e
#rb ben.hoffman

[CL 23884340 by dave jones2 in ue5-main branch]
2023-01-27 11:23:35 -05:00
dave jones2
2b72c3e944 Fixed additional pin reconstruction in promotable operator nodes.
If a promotable operator node had an additional pin (eg: pin C), as well as split pins for any of the default pins (eg: B_X for a vector pin), then ReallocatePinsDuringReconstruction would incorrectly identify a subpin as an additional pin. In this case, the true additional pin would get the wrong pin type.

In practice, this didn't really lead to any issues. However, a future change will make pin type checking a bit stricter, so we need to ensure that recreated pins accurately match their expected types.

The fix here simply modifies GetAdditionalPin to check that the pin isn't a subpin of a default pin.

#jira none
#preflight 63d15609574ab9cae4bbdf22
#rb ben.hoffman

[CL 23851005 by dave jones2 in ue5-main branch]
2023-01-25 12:40:58 -05:00
dave jones2
5846d63171 Fixed typos from CL 23482483:
* FFindSpecializedConversionNodeResults was missing its leading 'F'
* The deprecation comments for FindSpecializedConversionNodeResult listed the wrong function

#jira none
#preflight 6398b2da680483bcb1f70bdb
#rb trivial

[CL 23493832 by dave jones2 in ue5-main branch]
2022-12-13 12:36:45 -05:00
dave jones2
9bab3a527e Misc Blueprint changes:
* Added overloads for FindSpecializedConversionNode and SearchForAutocastFunction that don't use output parameters. There are several instances in the engine where dummy variables are used to get around this.
* Updated the Message_ functions to use template parameter packing. The arguments are forwarded to the underlying FCompilerResultsLog, if one exists. This allows us to use tokenized messages.
* Changed several functions in FCompilerResultsLog to use the coding standard's naming convention. Specifically, arguments need to start with an uppercase letter.

#jira none
#preflight 639778dc2960b732208492ae
#rb phillip.kavan

[CL 23482483 by dave jones2 in ue5-main branch]
2022-12-12 15:50:51 -05:00
dave jones2
31c44c7a93 UE-171455 - Cannot find appropriate promotion
Possible fallout from CL 23313465.

Some promotion operator pins can have single precision floats. When these are linked to double precision inputs, we need to permit the connection without the need of a cast node. This is achieved by permitting real number connections in CreateIntermediateCast.

#jira UE-171455
#preflight c1c23377450900e021ca
#rb ben.hoffman, phillip.kavan

[CL 23339717 by dave jones2 in ue5-main branch]
2022-11-30 16:03:28 -05:00
ben hoffman
a1787abe74 Update promotable operator nodes to only have one conversion menu instead of having a second submenu that lists all the types.
#preflight 63487186f622f6c4bbde0dda
#rnx
#rb dave.jones2

[CL 22988788 by ben hoffman in ue5-main branch]
2022-11-04 12:12:44 -04:00
dave jones2
fbc4acfd47 UE-166921 - Make Lidar Point Cloud Point Node has had the Location input change from a Vector to a Vector 3f
Promotable operators weren't aware that certain struct types are implicitly convertible (eg: FVector/FVector3f). Similar to PC_Real, we need to treat these pairs of structs as equivalent types. This can be easily done by checking to see if there's an implicit conversion entry in FStructConversionTable.

#jira UE-166921
#preflight 635c58df1b41d36d487c9ec2
#rb ben.hoffman

[CL 22872666 by dave jones2 in ue5-main branch]
2022-10-31 17:18:29 -04:00
ben hoffman
cc575b7427 Fix a bug with ConvertAsset nodes that were spawned during the expansion of a promotable operator. The pin name on the ConvertAsset node does not match the normal "Return" pin name, so it would always be null and cause a crash.
#jira none
#rb benjamin.fox
#rnx
#preflight 631f983c6b33144ab245b7c1

[CL 21984752 by ben hoffman in ue5-main branch]
2022-09-13 12:13:50 -04:00
bryan sefcik
0837230669 Ran IWYU again on half of the Engine/Source/Editor/... source files.
#jira

[CL 21716414 by bryan sefcik in ue5-main branch]
2022-08-30 23:03:03 -04:00
ben hoffman
8488e2d403 Fix a crash when you connect a wildcard pin that has no owning node on it to a promotable operator Equals node. The function would hit a "Check" inside of the "GetOwningNode" function when dragging off of an "Enum Select" node.
Also added an ensure to make sure that the function doesn't crash when evaluating pin changes. This wasn't happening,  but it is preventative just in case.


#jira UE-146547
#rb phillip.kavan
#preflight 6239e3e0ec68595f3b85d4f5
#rnx

[CL 19467076 by ben hoffman in ue5-main branch]
2022-03-22 11:31:01 -04:00
leon huang
0193ffe8d3 Fix for CIS warnings for localization duplicate keys. Fixes simply involve changing one of the colliding localization keys.
#rnx
	#rb: Vincent.Gauthier
	#jira: UE-143620
	#preflight: 6222489d2f7d78332e121416
	#lockdown Mitchell.Wilson

#ROBOMERGE-AUTHOR: leon.huang
#ROBOMERGE-SOURCE: CL 19272838 in //UE5/Release-5.0/... via CL 19273134
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v924-19243027)

[CL 19275063 by leon huang in ue5-main branch]
2022-03-04 16:10:23 -05:00
dave jones2
a5311ebc31 UE-142401 - Dragging off a pin and adding a Real operator can break links to other nodes
We need to relax the rules for breaking pins when real numbers are used. We should maintain their connections since we implicitly perform casts between floats and doubles.

#jira UE-142401
#preflight 6215482730639b44d2fcf2a4
#rb ben.hoffman
#lockdown julien.marchand


#ROBOMERGE-AUTHOR: dave.jones2
#ROBOMERGE-SOURCE: CL 19093393 via CL 19093953 via CL 19094642 via CL 19096133 via CL 19105369
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v921-19075845)

[CL 19146675 by dave jones2 in ue5-main branch]
2022-02-25 09:44:01 -05:00
aurel cordonnier
fc542f6cfd Merge from Release-Engine-Staging @ 18081189 to Release-Engine-Test
This represents UE4/Main @18073326, Release-5.0 @18081140 and Dev-PerfTest @18045971

[CL 18081471 by aurel cordonnier in ue5-release-engine-test branch]
2021-11-07 23:43:01 -05:00
aurel cordonnier
a12d56ff31 Merge from Release-Engine-Staging @ 17791557 to Release-Engine-Test
This represents UE4/Main @17774255, Release-5.0 @17791557 and Dev-PerfTest @17789485

[CL 17794212 by aurel cordonnier in ue5-release-engine-test branch]
2021-10-12 21:21:22 -04:00
ben hoffman
07c6cf2596 Update connection message to clarify that a type is blacklisted from type promotion
#jira UE-123522
#rb phillip.kavan
#rnx

#ROBOMERGE-AUTHOR: ben.hoffman
#ROBOMERGE-SOURCE: CL 17559106 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v870-17433530)

[CL 17559111 by ben hoffman in ue5-release-engine-test branch]
2021-09-17 17:51:07 -04:00
ben hoffman
bc7c168058 During compilation of an Anim BP, if this node gets pruned then the outer will be the /Engine/Transient/ package, which will result in this node not having a valid SelfContext, so there is no need to set any further information based on this function as it will not be used.
This prevents an Ensure being hit in UK2Node_CallFunction::SetFromFunction which will cause cook failures.

#jira UE-116112
#rb phillip.kavan
#rnx
#preflight 60a579d3a5fa6d00013a749b

#ROBOMERGE-SOURCE: CL 16394619 in //UE5/Private-Frosty/...
#ROBOMERGE-BOT: STARSHIP (Private-Frosty -> Main) (v804-16311228)

[CL 16399667 by ben hoffman in ue5-main branch]
2021-05-20 03:38:47 -04:00
ben hoffman
83b70d39d7 Update comments about disallowing containers for promotable operators
#jira none
#rnx
#rb me

[CL 16193989 by ben hoffman in ue5-main branch]
2021-05-04 11:03:15 -04:00
ben hoffman
1196a92afd Only compare the pin category, subcategory, and subcategory object when considering connections to break. This stops the member reference being different causing a break
#jira UE-112716
#rb trivial
#rnx

#ROBOMERGE-SOURCE: CL 15903632 in //UE5/Release-5.0-EarlyAccess/...
#ROBOMERGE-BOT: STARSHIP (Release-5.0-EarlyAccess -> Main) (v786-15839533)

[CL 15907204 by ben hoffman in ue5-main branch]
2021-04-02 20:18:12 -04:00
ben hoffman
b4eac425d5 Fix "ctrl + drag" shortcut on promotable operators with multiple connections
Instead of always breaking the links witha promotable connection at the schema level, only break links if the most recent connection is a different type then before. This stops incorrect breaking of valid connections when there are multiple at a time while keeping a good UX.

#jira UE-109809
#rb phillip.kavan
#rnx
#preflight 6063773d4bf1970001c9b871

#ROBOMERGE-SOURCE: CL 15867103 in //UE5/Release-5.0-EarlyAccess/...
#ROBOMERGE-BOT: STARSHIP (Release-5.0-EarlyAccess -> Main) (v786-15839533)

[CL 15867122 by ben hoffman in ue5-main branch]
2021-03-30 16:00:00 -04:00
ben hoffman
6ade1d9e15 Consider pins even if they have a non-modified default value. This allows for a more coherent pin conversion experience so that you do not have to enter a default value before converting a second pin.
#jira UE-109336
#rb me
#rnx

#ROBOMERGE-SOURCE: CL 15530991 in //UE5/Release-5.0-EarlyAccess/...
#ROBOMERGE-BOT: STARSHIP (Release-5.0-EarlyAccess -> Main) (v771-15082668)

[CL 15530993 by ben hoffman in ue5-main branch]
2021-02-25 14:04:06 -04:00