2016-12-08 08:52:44 -05:00
|
|
|
// Copyright 1998-2017 Epic Games, Inc. All Rights Reserved.
|
2014-03-14 14:13:41 -04:00
|
|
|
|
|
|
|
|
|
2014-11-12 04:18:54 -05:00
|
|
|
#include "K2Node_FunctionTerminator.h"
|
Copying //UE4/Dev-Build to //UE4/Dev-Main (Source: //UE4/Dev-Build @ 3209340)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3209340 on 2016/11/23 by Ben.Marsh
Convert UE4 codebase to an "include what you use" model - where every header just includes the dependencies it needs, rather than every source file including large monolithic headers like Engine.h and UnrealEd.h.
Measured full rebuild times around 2x faster using XGE on Windows, and improvements of 25% or more for incremental builds and full rebuilds on most other platforms.
* Every header now includes everything it needs to compile.
* There's a CoreMinimal.h header that gets you a set of ubiquitous types from Core (eg. FString, FName, TArray, FVector, etc...). Most headers now include this first.
* There's a CoreTypes.h header that sets up primitive UE4 types and build macros (int32, PLATFORM_WIN64, etc...). All headers in Core include this first, as does CoreMinimal.h.
* Every .cpp file includes its matching .h file first.
* This helps validate that each header is including everything it needs to compile.
* No engine code includes a monolithic header such as Engine.h or UnrealEd.h any more.
* You will get a warning if you try to include one of these from the engine. They still exist for compatibility with game projects and do not produce warnings when included there.
* There have only been minor changes to our internal games down to accommodate these changes. The intent is for this to be as seamless as possible.
* No engine code explicitly includes a precompiled header any more.
* We still use PCHs, but they're force-included on the compiler command line by UnrealBuildTool instead. This lets us tune what they contain without breaking any existing include dependencies.
* PCHs are generated by a tool to get a statistical amount of coverage for the source files using it, and I've seeded the new shared PCHs to contain any header included by > 15% of source files.
Tool used to generate this transform is at Engine\Source\Programs\IncludeTool.
[CL 3209342 by Ben Marsh in Main branch]
2016-11-23 15:48:37 -05:00
|
|
|
#include "UObject/UnrealType.h"
|
2014-11-12 04:18:54 -05:00
|
|
|
#include "GraphEditorSettings.h"
|
Copying //UE4/Dev-Build to //UE4/Dev-Main (Source: //UE4/Dev-Build @ 3209340)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3209340 on 2016/11/23 by Ben.Marsh
Convert UE4 codebase to an "include what you use" model - where every header just includes the dependencies it needs, rather than every source file including large monolithic headers like Engine.h and UnrealEd.h.
Measured full rebuild times around 2x faster using XGE on Windows, and improvements of 25% or more for incremental builds and full rebuilds on most other platforms.
* Every header now includes everything it needs to compile.
* There's a CoreMinimal.h header that gets you a set of ubiquitous types from Core (eg. FString, FName, TArray, FVector, etc...). Most headers now include this first.
* There's a CoreTypes.h header that sets up primitive UE4 types and build macros (int32, PLATFORM_WIN64, etc...). All headers in Core include this first, as does CoreMinimal.h.
* Every .cpp file includes its matching .h file first.
* This helps validate that each header is including everything it needs to compile.
* No engine code includes a monolithic header such as Engine.h or UnrealEd.h any more.
* You will get a warning if you try to include one of these from the engine. They still exist for compatibility with game projects and do not produce warnings when included there.
* There have only been minor changes to our internal games down to accommodate these changes. The intent is for this to be as seamless as possible.
* No engine code explicitly includes a precompiled header any more.
* We still use PCHs, but they're force-included on the compiler command line by UnrealBuildTool instead. This lets us tune what they contain without breaking any existing include dependencies.
* PCHs are generated by a tool to get a statistical amount of coverage for the source files using it, and I've seeded the new shared PCHs to contain any header included by > 15% of source files.
Tool used to generate this transform is at Engine\Source\Programs\IncludeTool.
[CL 3209342 by Ben Marsh in Main branch]
2016-11-23 15:48:37 -05:00
|
|
|
#include "EdGraphSchema_K2.h"
|
|
|
|
|
#include "Kismet2/BlueprintEditorUtils.h"
|
|
|
|
|
#include "Kismet2/CompilerResultsLog.h"
|
2014-03-14 14:13:41 -04:00
|
|
|
|
2015-03-31 10:32:10 -04:00
|
|
|
#define LOCTEXT_NAMESPACE "K2Node"
|
|
|
|
|
|
2014-10-14 10:29:11 -04:00
|
|
|
UK2Node_FunctionTerminator::UK2Node_FunctionTerminator(const FObjectInitializer& ObjectInitializer)
|
|
|
|
|
: Super(ObjectInitializer)
|
2014-03-14 14:13:41 -04:00
|
|
|
{
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
FLinearColor UK2Node_FunctionTerminator::GetNodeTitleColor() const
|
|
|
|
|
{
|
2014-05-20 19:00:53 -04:00
|
|
|
return GetDefault<UGraphEditorSettings>()->FunctionTerminatorNodeTitleColor;
|
2014-03-14 14:13:41 -04:00
|
|
|
}
|
2015-03-31 10:32:10 -04:00
|
|
|
|
|
|
|
|
FString UK2Node_FunctionTerminator::CreateUniquePinName(FString InSourcePinName) const
|
|
|
|
|
{
|
|
|
|
|
const UFunction* FoundFunction = FFunctionFromNodeHelper::FunctionFromNode(this);
|
|
|
|
|
|
|
|
|
|
FString ResultName = InSourcePinName;
|
|
|
|
|
int UniqueNum = 0;
|
|
|
|
|
// Prevent the unique name from being the same as another of the UFunction's properties
|
|
|
|
|
while(FindPin(ResultName) || FindField<const UProperty>(FoundFunction, *ResultName) != NULL)
|
|
|
|
|
{
|
|
|
|
|
ResultName = FString::Printf(TEXT("%s%d"), *InSourcePinName, ++UniqueNum);
|
|
|
|
|
}
|
|
|
|
|
return ResultName;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
bool UK2Node_FunctionTerminator::CanCreateUserDefinedPin(const FEdGraphPinType& InPinType, EEdGraphPinDirection InDesiredDirection, FText& OutErrorMessage)
|
|
|
|
|
{
|
Copying //UE4/Dev-Framework to //UE4/Dev-Main (Source: //UE4/Dev-Framework @ 2964666)
#lockdown Nick.Penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2945310 on 2016/04/15 by Jon.Nabozny
Fix UI locking Angular Rotation Offset for PhysicsConstraintComponents when the motion is for axes is Free or Locked.
#JIRA UE-29368
Change 2945490 on 2016/04/15 by Jon.Nabozny
Remove extraneous changes introduced in CL-2945310.
Change 2946706 on 2016/04/18 by James.Golding
Checkin of slice test assets
Change 2947895 on 2016/04/19 by Benn.Gallagher
PR #2292: Use ref instead of copy in FAnimNode_ModifyBone::EvaluateBoneTransforms (Contributed by MiKom)
#jira UE-29567
Change 2947944 on 2016/04/19 by Benn.Gallagher
Fixed a few extra needless bone container copies
Change 2948279 on 2016/04/19 by Marc.Audy
Add well defined Map and Set Property names
Change 2948280 on 2016/04/19 by Marc.Audy
Properly name parameters
Change 2948792 on 2016/04/19 by Marc.Audy
Remove unused ini class name settings
Change 2948917 on 2016/04/19 by Aaron.McLeran
UE-29654 FadeIn invalidates Audio Components in 4.11
Change 2949567 on 2016/04/20 by James.Golding
- Add SliceProceduralMesh utility to UKismetProceduralMeshLibrary. It will slice the ProcMeshComp with a plan, including simple collision geom, and optionally create cap geometry, and create an addition ProceduralMeshComponent for the other half
- Add support for simple collision on ProceduralMeshComponent, and added bUseComplexAsSimpleCollision to allow it to be used
- Move GeomTools.h and .cpp from Editor to Engine module, so it can be used at runtime. Also move utils into an FGeomTools namespace.
- Add GetSectionFromStaticMesh and CopyProceduralMeshFromStaticMeshComponent utilities to UKismetProceduralMeshLibrary
- Expose UStaticMesh::GetNumLODs to BP, and add BP exposed UStaticMesh:: GetNumSections function
Change 2950482 on 2016/04/20 by Aaron.McLeran
FORT-22973 SoundMix Fade Time not fading audio properly
- Bug was due to bApplyToChildren case where the FSoundClassAdjuster wasn't getting the interpolated value before calling RecursiveApplyAdjuster in the case of non-overriden sound mixes.
Change 2951102 on 2016/04/21 by Thomas.Sarkanen
Un-deprecated blueprint functions for attachment/detachment
Renamed functions to <FuncName> (Deprecated).
Hid functions in the BP context menu so new ones cant be added.
#jira UE-23216 - "Snap to Target, Keep World Scale" when attaching doesn't work properly if parent is scaled.
Change 2951173 on 2016/04/21 by James.Golding
Fix cap geom generation when more than one polygon is generated
Fix CIS warning in KismetProceduralMeshLibrary.cpp
Change 2951334 on 2016/04/21 by Osman.Tsjardiwal
Add CapMaterial param to SliceProceduralMesh util
Change 2951528 on 2016/04/21 by Marc.Audy
Fix spelling errors in comments
Change 2952933 on 2016/04/22 by Lukasz.Furman
fixed behavior tree getting stuck on instantly finished gameplay tasks
copy of CL# 2952930
Change 2953948 on 2016/04/24 by James.Golding
Put #if WITH_EDITOR back into FPoly::Triangulate to fix non-editor builds (FPoly::Finalize not available in non-editor)
Change 2954558 on 2016/04/25 by Marc.Audy
Make USceneComponent::Attach* members private and remove deprecation messages and pragmas disabling/enabling deprecation throughout SceneComponent.h/cpp
#jira UE-29038
Change 2954865 on 2016/04/25 by Aaron.McLeran
UE-29763 Use HMD audio device only in VR preview mode, not for other PIE session types.
Change 2955009 on 2016/04/25 by Zak.Middleton
#ue4 - Wrap call from UCharacterMovementComponent::PostPhysicsTickComponent() to UpdateBasedMovement() in a FScopedMovementUpdate to accumulate moves with better perf.
Change 2955878 on 2016/04/26 by Benn.Gallagher
[Epic Friday] - Added spherical constraints to anim dynamics
Change 2956380 on 2016/04/26 by Lina.Halper
PR #2298: Step interpolation for UAnimSequence (Contributed by douglaslassance)
Change 2956383 on 2016/04/26 by Lina.Halper
Fixed to match coding standard
Change 2957866 on 2016/04/27 by Zak.Middleton
#ue4 - Add max depenetration distance settings for CharacterMovementComponent. Add controls to throttle logging when character is stuck in geometry so it doesn't spam the log.
- Depenetration settings are separated based on whether overlapping a Pawn versus other geometry, and furthermore by whether the Character is a proxy or not. Simulated proxies typically should not depenetrate a large amount because that effectively ignores the server authoritative location update.
- "Stuck" logging is controlled by the console var "p.CharacterStuckWarningPeriod". Set to number of seconds between logged events, or less than zero to disable logging.
#tests QA-Surfaces multiplayer, walking in to moving objects and pawns.
Change 2957953 on 2016/04/27 by Aaron.McLeran
UE-30018 Fixing up audio component ref-counting to prevent triggering notifications when an audio component is still active after a sound finishes playing.
Change 2958011 on 2016/04/27 by Jon.Nabozny
CalcAABB wasn't properly accounting for current transform on Convex elements, causing bad results.
#JIRA UE-29525
Change 2958321 on 2016/04/27 by Lukasz.Furman
path following update pass, added flags to request result, fixed AITask stacking vs scripted/BP move requests
Change 2959506 on 2016/04/28 by Aaron.McLeran
PR #2330: Fix for ambient sounds not stopping when active and told to play again (Contributed by hgamiel)
Change 2959686 on 2016/04/28 by Marc.Audy
Correctly handle multiple viewpoints when significance is being sorted descending
Change 2959773 on 2016/04/28 by Marc.Audy
Fix shadowing warning
Change 2959785 on 2016/04/28 by Aaron.McLeran
UE-30083 Sound concatenator node doesn't progress if child nodes don't produce wave instances
Change 2960852 on 2016/04/29 by Marc.Audy
Merging //UE4/Dev-Main to Dev-Framework (//UE4/Dev-Framework) @ 2960738
Change 2960946 on 2016/04/29 by Marc.Audy
Fix post merge compile error
Change 2962501 on 2016/05/02 by Marc.Audy
Remove interim GetMutableAttach accessors and use the variables directly now that they are private
Change 2962535 on 2016/05/02 by Marc.Audy
Merging //UE4/Dev-Main to Dev-Framework (//UE4/Dev-Framework) @ 2962478
Change 2962578 on 2016/05/02 by Marc.Audy
Switch ObjectGraphMove to using UserFlags instead of custom move data
Change 2962651 on 2016/05/02 by Marc.Audy
VS2015 shadow variable fixes
Change 2962662 on 2016/05/02 by Lukasz.Furman
deprecated old implementation of gameplay debugger
#jira UE-30011
Change 2962919 on 2016/05/02 by Marc.Audy
VS2015 shadow variable fixes
Change 2963475 on 2016/05/02 by Mieszko.Zielinski
Made SimpleMoveToLocation/Actor not reset velocity if agent not already at goal #UE4
#jira UE-30176
Change 2964098 on 2016/05/03 by Marc.Audy
Spelling fix
Change 2964099 on 2016/05/03 by Marc.Audy
VS2015 shadow variable fixes
Change 2964156 on 2016/05/03 by Marc.Audy
VS2015 shadow variable fixes
Change 2964272 on 2016/05/03 by Marc.Audy
VS2015 Shadow Variable fixes
Change 2964395 on 2016/05/03 by Marc.Audy
VS2015 Shadow Variable Fixes
Change 2964460 on 2016/05/03 by Marc.Audy
Reschedule coolingdown tick functions during pause frames.
#jira UE-30221
Change 2964666 on 2016/05/03 by Marc.Audy
Fix shipping compile error
[CL 2964775 by Marc Audy in Main branch]
2016-05-03 15:44:33 -04:00
|
|
|
const bool bIsNodeEditable = IsEditable();
|
2015-03-31 10:32:10 -04:00
|
|
|
|
|
|
|
|
// Make sure that if this is an exec node we are allowed one.
|
|
|
|
|
const UEdGraphSchema_K2* Schema = GetDefault<UEdGraphSchema_K2>();
|
Copying //UE4/Dev-Framework to //UE4/Dev-Main (Source: //UE4/Dev-Framework @ 2964666)
#lockdown Nick.Penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2945310 on 2016/04/15 by Jon.Nabozny
Fix UI locking Angular Rotation Offset for PhysicsConstraintComponents when the motion is for axes is Free or Locked.
#JIRA UE-29368
Change 2945490 on 2016/04/15 by Jon.Nabozny
Remove extraneous changes introduced in CL-2945310.
Change 2946706 on 2016/04/18 by James.Golding
Checkin of slice test assets
Change 2947895 on 2016/04/19 by Benn.Gallagher
PR #2292: Use ref instead of copy in FAnimNode_ModifyBone::EvaluateBoneTransforms (Contributed by MiKom)
#jira UE-29567
Change 2947944 on 2016/04/19 by Benn.Gallagher
Fixed a few extra needless bone container copies
Change 2948279 on 2016/04/19 by Marc.Audy
Add well defined Map and Set Property names
Change 2948280 on 2016/04/19 by Marc.Audy
Properly name parameters
Change 2948792 on 2016/04/19 by Marc.Audy
Remove unused ini class name settings
Change 2948917 on 2016/04/19 by Aaron.McLeran
UE-29654 FadeIn invalidates Audio Components in 4.11
Change 2949567 on 2016/04/20 by James.Golding
- Add SliceProceduralMesh utility to UKismetProceduralMeshLibrary. It will slice the ProcMeshComp with a plan, including simple collision geom, and optionally create cap geometry, and create an addition ProceduralMeshComponent for the other half
- Add support for simple collision on ProceduralMeshComponent, and added bUseComplexAsSimpleCollision to allow it to be used
- Move GeomTools.h and .cpp from Editor to Engine module, so it can be used at runtime. Also move utils into an FGeomTools namespace.
- Add GetSectionFromStaticMesh and CopyProceduralMeshFromStaticMeshComponent utilities to UKismetProceduralMeshLibrary
- Expose UStaticMesh::GetNumLODs to BP, and add BP exposed UStaticMesh:: GetNumSections function
Change 2950482 on 2016/04/20 by Aaron.McLeran
FORT-22973 SoundMix Fade Time not fading audio properly
- Bug was due to bApplyToChildren case where the FSoundClassAdjuster wasn't getting the interpolated value before calling RecursiveApplyAdjuster in the case of non-overriden sound mixes.
Change 2951102 on 2016/04/21 by Thomas.Sarkanen
Un-deprecated blueprint functions for attachment/detachment
Renamed functions to <FuncName> (Deprecated).
Hid functions in the BP context menu so new ones cant be added.
#jira UE-23216 - "Snap to Target, Keep World Scale" when attaching doesn't work properly if parent is scaled.
Change 2951173 on 2016/04/21 by James.Golding
Fix cap geom generation when more than one polygon is generated
Fix CIS warning in KismetProceduralMeshLibrary.cpp
Change 2951334 on 2016/04/21 by Osman.Tsjardiwal
Add CapMaterial param to SliceProceduralMesh util
Change 2951528 on 2016/04/21 by Marc.Audy
Fix spelling errors in comments
Change 2952933 on 2016/04/22 by Lukasz.Furman
fixed behavior tree getting stuck on instantly finished gameplay tasks
copy of CL# 2952930
Change 2953948 on 2016/04/24 by James.Golding
Put #if WITH_EDITOR back into FPoly::Triangulate to fix non-editor builds (FPoly::Finalize not available in non-editor)
Change 2954558 on 2016/04/25 by Marc.Audy
Make USceneComponent::Attach* members private and remove deprecation messages and pragmas disabling/enabling deprecation throughout SceneComponent.h/cpp
#jira UE-29038
Change 2954865 on 2016/04/25 by Aaron.McLeran
UE-29763 Use HMD audio device only in VR preview mode, not for other PIE session types.
Change 2955009 on 2016/04/25 by Zak.Middleton
#ue4 - Wrap call from UCharacterMovementComponent::PostPhysicsTickComponent() to UpdateBasedMovement() in a FScopedMovementUpdate to accumulate moves with better perf.
Change 2955878 on 2016/04/26 by Benn.Gallagher
[Epic Friday] - Added spherical constraints to anim dynamics
Change 2956380 on 2016/04/26 by Lina.Halper
PR #2298: Step interpolation for UAnimSequence (Contributed by douglaslassance)
Change 2956383 on 2016/04/26 by Lina.Halper
Fixed to match coding standard
Change 2957866 on 2016/04/27 by Zak.Middleton
#ue4 - Add max depenetration distance settings for CharacterMovementComponent. Add controls to throttle logging when character is stuck in geometry so it doesn't spam the log.
- Depenetration settings are separated based on whether overlapping a Pawn versus other geometry, and furthermore by whether the Character is a proxy or not. Simulated proxies typically should not depenetrate a large amount because that effectively ignores the server authoritative location update.
- "Stuck" logging is controlled by the console var "p.CharacterStuckWarningPeriod". Set to number of seconds between logged events, or less than zero to disable logging.
#tests QA-Surfaces multiplayer, walking in to moving objects and pawns.
Change 2957953 on 2016/04/27 by Aaron.McLeran
UE-30018 Fixing up audio component ref-counting to prevent triggering notifications when an audio component is still active after a sound finishes playing.
Change 2958011 on 2016/04/27 by Jon.Nabozny
CalcAABB wasn't properly accounting for current transform on Convex elements, causing bad results.
#JIRA UE-29525
Change 2958321 on 2016/04/27 by Lukasz.Furman
path following update pass, added flags to request result, fixed AITask stacking vs scripted/BP move requests
Change 2959506 on 2016/04/28 by Aaron.McLeran
PR #2330: Fix for ambient sounds not stopping when active and told to play again (Contributed by hgamiel)
Change 2959686 on 2016/04/28 by Marc.Audy
Correctly handle multiple viewpoints when significance is being sorted descending
Change 2959773 on 2016/04/28 by Marc.Audy
Fix shadowing warning
Change 2959785 on 2016/04/28 by Aaron.McLeran
UE-30083 Sound concatenator node doesn't progress if child nodes don't produce wave instances
Change 2960852 on 2016/04/29 by Marc.Audy
Merging //UE4/Dev-Main to Dev-Framework (//UE4/Dev-Framework) @ 2960738
Change 2960946 on 2016/04/29 by Marc.Audy
Fix post merge compile error
Change 2962501 on 2016/05/02 by Marc.Audy
Remove interim GetMutableAttach accessors and use the variables directly now that they are private
Change 2962535 on 2016/05/02 by Marc.Audy
Merging //UE4/Dev-Main to Dev-Framework (//UE4/Dev-Framework) @ 2962478
Change 2962578 on 2016/05/02 by Marc.Audy
Switch ObjectGraphMove to using UserFlags instead of custom move data
Change 2962651 on 2016/05/02 by Marc.Audy
VS2015 shadow variable fixes
Change 2962662 on 2016/05/02 by Lukasz.Furman
deprecated old implementation of gameplay debugger
#jira UE-30011
Change 2962919 on 2016/05/02 by Marc.Audy
VS2015 shadow variable fixes
Change 2963475 on 2016/05/02 by Mieszko.Zielinski
Made SimpleMoveToLocation/Actor not reset velocity if agent not already at goal #UE4
#jira UE-30176
Change 2964098 on 2016/05/03 by Marc.Audy
Spelling fix
Change 2964099 on 2016/05/03 by Marc.Audy
VS2015 shadow variable fixes
Change 2964156 on 2016/05/03 by Marc.Audy
VS2015 shadow variable fixes
Change 2964272 on 2016/05/03 by Marc.Audy
VS2015 Shadow Variable fixes
Change 2964395 on 2016/05/03 by Marc.Audy
VS2015 Shadow Variable Fixes
Change 2964460 on 2016/05/03 by Marc.Audy
Reschedule coolingdown tick functions during pause frames.
#jira UE-30221
Change 2964666 on 2016/05/03 by Marc.Audy
Fix shipping compile error
[CL 2964775 by Marc Audy in Main branch]
2016-05-03 15:44:33 -04:00
|
|
|
if (bIsNodeEditable && InPinType.PinCategory == Schema->PC_Exec && !CanModifyExecutionWires())
|
2015-03-31 10:32:10 -04:00
|
|
|
{
|
|
|
|
|
OutErrorMessage = LOCTEXT("MultipleExecPinError", "Cannot support more exec pins!");
|
|
|
|
|
return false;
|
|
|
|
|
}
|
Copying //UE4/Dev-Framework to //UE4/Dev-Main (Source: //UE4/Dev-Framework @ 2964666)
#lockdown Nick.Penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2945310 on 2016/04/15 by Jon.Nabozny
Fix UI locking Angular Rotation Offset for PhysicsConstraintComponents when the motion is for axes is Free or Locked.
#JIRA UE-29368
Change 2945490 on 2016/04/15 by Jon.Nabozny
Remove extraneous changes introduced in CL-2945310.
Change 2946706 on 2016/04/18 by James.Golding
Checkin of slice test assets
Change 2947895 on 2016/04/19 by Benn.Gallagher
PR #2292: Use ref instead of copy in FAnimNode_ModifyBone::EvaluateBoneTransforms (Contributed by MiKom)
#jira UE-29567
Change 2947944 on 2016/04/19 by Benn.Gallagher
Fixed a few extra needless bone container copies
Change 2948279 on 2016/04/19 by Marc.Audy
Add well defined Map and Set Property names
Change 2948280 on 2016/04/19 by Marc.Audy
Properly name parameters
Change 2948792 on 2016/04/19 by Marc.Audy
Remove unused ini class name settings
Change 2948917 on 2016/04/19 by Aaron.McLeran
UE-29654 FadeIn invalidates Audio Components in 4.11
Change 2949567 on 2016/04/20 by James.Golding
- Add SliceProceduralMesh utility to UKismetProceduralMeshLibrary. It will slice the ProcMeshComp with a plan, including simple collision geom, and optionally create cap geometry, and create an addition ProceduralMeshComponent for the other half
- Add support for simple collision on ProceduralMeshComponent, and added bUseComplexAsSimpleCollision to allow it to be used
- Move GeomTools.h and .cpp from Editor to Engine module, so it can be used at runtime. Also move utils into an FGeomTools namespace.
- Add GetSectionFromStaticMesh and CopyProceduralMeshFromStaticMeshComponent utilities to UKismetProceduralMeshLibrary
- Expose UStaticMesh::GetNumLODs to BP, and add BP exposed UStaticMesh:: GetNumSections function
Change 2950482 on 2016/04/20 by Aaron.McLeran
FORT-22973 SoundMix Fade Time not fading audio properly
- Bug was due to bApplyToChildren case where the FSoundClassAdjuster wasn't getting the interpolated value before calling RecursiveApplyAdjuster in the case of non-overriden sound mixes.
Change 2951102 on 2016/04/21 by Thomas.Sarkanen
Un-deprecated blueprint functions for attachment/detachment
Renamed functions to <FuncName> (Deprecated).
Hid functions in the BP context menu so new ones cant be added.
#jira UE-23216 - "Snap to Target, Keep World Scale" when attaching doesn't work properly if parent is scaled.
Change 2951173 on 2016/04/21 by James.Golding
Fix cap geom generation when more than one polygon is generated
Fix CIS warning in KismetProceduralMeshLibrary.cpp
Change 2951334 on 2016/04/21 by Osman.Tsjardiwal
Add CapMaterial param to SliceProceduralMesh util
Change 2951528 on 2016/04/21 by Marc.Audy
Fix spelling errors in comments
Change 2952933 on 2016/04/22 by Lukasz.Furman
fixed behavior tree getting stuck on instantly finished gameplay tasks
copy of CL# 2952930
Change 2953948 on 2016/04/24 by James.Golding
Put #if WITH_EDITOR back into FPoly::Triangulate to fix non-editor builds (FPoly::Finalize not available in non-editor)
Change 2954558 on 2016/04/25 by Marc.Audy
Make USceneComponent::Attach* members private and remove deprecation messages and pragmas disabling/enabling deprecation throughout SceneComponent.h/cpp
#jira UE-29038
Change 2954865 on 2016/04/25 by Aaron.McLeran
UE-29763 Use HMD audio device only in VR preview mode, not for other PIE session types.
Change 2955009 on 2016/04/25 by Zak.Middleton
#ue4 - Wrap call from UCharacterMovementComponent::PostPhysicsTickComponent() to UpdateBasedMovement() in a FScopedMovementUpdate to accumulate moves with better perf.
Change 2955878 on 2016/04/26 by Benn.Gallagher
[Epic Friday] - Added spherical constraints to anim dynamics
Change 2956380 on 2016/04/26 by Lina.Halper
PR #2298: Step interpolation for UAnimSequence (Contributed by douglaslassance)
Change 2956383 on 2016/04/26 by Lina.Halper
Fixed to match coding standard
Change 2957866 on 2016/04/27 by Zak.Middleton
#ue4 - Add max depenetration distance settings for CharacterMovementComponent. Add controls to throttle logging when character is stuck in geometry so it doesn't spam the log.
- Depenetration settings are separated based on whether overlapping a Pawn versus other geometry, and furthermore by whether the Character is a proxy or not. Simulated proxies typically should not depenetrate a large amount because that effectively ignores the server authoritative location update.
- "Stuck" logging is controlled by the console var "p.CharacterStuckWarningPeriod". Set to number of seconds between logged events, or less than zero to disable logging.
#tests QA-Surfaces multiplayer, walking in to moving objects and pawns.
Change 2957953 on 2016/04/27 by Aaron.McLeran
UE-30018 Fixing up audio component ref-counting to prevent triggering notifications when an audio component is still active after a sound finishes playing.
Change 2958011 on 2016/04/27 by Jon.Nabozny
CalcAABB wasn't properly accounting for current transform on Convex elements, causing bad results.
#JIRA UE-29525
Change 2958321 on 2016/04/27 by Lukasz.Furman
path following update pass, added flags to request result, fixed AITask stacking vs scripted/BP move requests
Change 2959506 on 2016/04/28 by Aaron.McLeran
PR #2330: Fix for ambient sounds not stopping when active and told to play again (Contributed by hgamiel)
Change 2959686 on 2016/04/28 by Marc.Audy
Correctly handle multiple viewpoints when significance is being sorted descending
Change 2959773 on 2016/04/28 by Marc.Audy
Fix shadowing warning
Change 2959785 on 2016/04/28 by Aaron.McLeran
UE-30083 Sound concatenator node doesn't progress if child nodes don't produce wave instances
Change 2960852 on 2016/04/29 by Marc.Audy
Merging //UE4/Dev-Main to Dev-Framework (//UE4/Dev-Framework) @ 2960738
Change 2960946 on 2016/04/29 by Marc.Audy
Fix post merge compile error
Change 2962501 on 2016/05/02 by Marc.Audy
Remove interim GetMutableAttach accessors and use the variables directly now that they are private
Change 2962535 on 2016/05/02 by Marc.Audy
Merging //UE4/Dev-Main to Dev-Framework (//UE4/Dev-Framework) @ 2962478
Change 2962578 on 2016/05/02 by Marc.Audy
Switch ObjectGraphMove to using UserFlags instead of custom move data
Change 2962651 on 2016/05/02 by Marc.Audy
VS2015 shadow variable fixes
Change 2962662 on 2016/05/02 by Lukasz.Furman
deprecated old implementation of gameplay debugger
#jira UE-30011
Change 2962919 on 2016/05/02 by Marc.Audy
VS2015 shadow variable fixes
Change 2963475 on 2016/05/02 by Mieszko.Zielinski
Made SimpleMoveToLocation/Actor not reset velocity if agent not already at goal #UE4
#jira UE-30176
Change 2964098 on 2016/05/03 by Marc.Audy
Spelling fix
Change 2964099 on 2016/05/03 by Marc.Audy
VS2015 shadow variable fixes
Change 2964156 on 2016/05/03 by Marc.Audy
VS2015 shadow variable fixes
Change 2964272 on 2016/05/03 by Marc.Audy
VS2015 Shadow Variable fixes
Change 2964395 on 2016/05/03 by Marc.Audy
VS2015 Shadow Variable Fixes
Change 2964460 on 2016/05/03 by Marc.Audy
Reschedule coolingdown tick functions during pause frames.
#jira UE-30221
Change 2964666 on 2016/05/03 by Marc.Audy
Fix shipping compile error
[CL 2964775 by Marc Audy in Main branch]
2016-05-03 15:44:33 -04:00
|
|
|
else if (!bIsNodeEditable)
|
2015-08-25 18:04:35 -04:00
|
|
|
{
|
|
|
|
|
OutErrorMessage = LOCTEXT("NotEditableError", "Cannot edit this node!");
|
|
|
|
|
}
|
2015-03-31 10:32:10 -04:00
|
|
|
|
Copying //UE4/Dev-Framework to //UE4/Dev-Main (Source: //UE4/Dev-Framework @ 2964666)
#lockdown Nick.Penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2945310 on 2016/04/15 by Jon.Nabozny
Fix UI locking Angular Rotation Offset for PhysicsConstraintComponents when the motion is for axes is Free or Locked.
#JIRA UE-29368
Change 2945490 on 2016/04/15 by Jon.Nabozny
Remove extraneous changes introduced in CL-2945310.
Change 2946706 on 2016/04/18 by James.Golding
Checkin of slice test assets
Change 2947895 on 2016/04/19 by Benn.Gallagher
PR #2292: Use ref instead of copy in FAnimNode_ModifyBone::EvaluateBoneTransforms (Contributed by MiKom)
#jira UE-29567
Change 2947944 on 2016/04/19 by Benn.Gallagher
Fixed a few extra needless bone container copies
Change 2948279 on 2016/04/19 by Marc.Audy
Add well defined Map and Set Property names
Change 2948280 on 2016/04/19 by Marc.Audy
Properly name parameters
Change 2948792 on 2016/04/19 by Marc.Audy
Remove unused ini class name settings
Change 2948917 on 2016/04/19 by Aaron.McLeran
UE-29654 FadeIn invalidates Audio Components in 4.11
Change 2949567 on 2016/04/20 by James.Golding
- Add SliceProceduralMesh utility to UKismetProceduralMeshLibrary. It will slice the ProcMeshComp with a plan, including simple collision geom, and optionally create cap geometry, and create an addition ProceduralMeshComponent for the other half
- Add support for simple collision on ProceduralMeshComponent, and added bUseComplexAsSimpleCollision to allow it to be used
- Move GeomTools.h and .cpp from Editor to Engine module, so it can be used at runtime. Also move utils into an FGeomTools namespace.
- Add GetSectionFromStaticMesh and CopyProceduralMeshFromStaticMeshComponent utilities to UKismetProceduralMeshLibrary
- Expose UStaticMesh::GetNumLODs to BP, and add BP exposed UStaticMesh:: GetNumSections function
Change 2950482 on 2016/04/20 by Aaron.McLeran
FORT-22973 SoundMix Fade Time not fading audio properly
- Bug was due to bApplyToChildren case where the FSoundClassAdjuster wasn't getting the interpolated value before calling RecursiveApplyAdjuster in the case of non-overriden sound mixes.
Change 2951102 on 2016/04/21 by Thomas.Sarkanen
Un-deprecated blueprint functions for attachment/detachment
Renamed functions to <FuncName> (Deprecated).
Hid functions in the BP context menu so new ones cant be added.
#jira UE-23216 - "Snap to Target, Keep World Scale" when attaching doesn't work properly if parent is scaled.
Change 2951173 on 2016/04/21 by James.Golding
Fix cap geom generation when more than one polygon is generated
Fix CIS warning in KismetProceduralMeshLibrary.cpp
Change 2951334 on 2016/04/21 by Osman.Tsjardiwal
Add CapMaterial param to SliceProceduralMesh util
Change 2951528 on 2016/04/21 by Marc.Audy
Fix spelling errors in comments
Change 2952933 on 2016/04/22 by Lukasz.Furman
fixed behavior tree getting stuck on instantly finished gameplay tasks
copy of CL# 2952930
Change 2953948 on 2016/04/24 by James.Golding
Put #if WITH_EDITOR back into FPoly::Triangulate to fix non-editor builds (FPoly::Finalize not available in non-editor)
Change 2954558 on 2016/04/25 by Marc.Audy
Make USceneComponent::Attach* members private and remove deprecation messages and pragmas disabling/enabling deprecation throughout SceneComponent.h/cpp
#jira UE-29038
Change 2954865 on 2016/04/25 by Aaron.McLeran
UE-29763 Use HMD audio device only in VR preview mode, not for other PIE session types.
Change 2955009 on 2016/04/25 by Zak.Middleton
#ue4 - Wrap call from UCharacterMovementComponent::PostPhysicsTickComponent() to UpdateBasedMovement() in a FScopedMovementUpdate to accumulate moves with better perf.
Change 2955878 on 2016/04/26 by Benn.Gallagher
[Epic Friday] - Added spherical constraints to anim dynamics
Change 2956380 on 2016/04/26 by Lina.Halper
PR #2298: Step interpolation for UAnimSequence (Contributed by douglaslassance)
Change 2956383 on 2016/04/26 by Lina.Halper
Fixed to match coding standard
Change 2957866 on 2016/04/27 by Zak.Middleton
#ue4 - Add max depenetration distance settings for CharacterMovementComponent. Add controls to throttle logging when character is stuck in geometry so it doesn't spam the log.
- Depenetration settings are separated based on whether overlapping a Pawn versus other geometry, and furthermore by whether the Character is a proxy or not. Simulated proxies typically should not depenetrate a large amount because that effectively ignores the server authoritative location update.
- "Stuck" logging is controlled by the console var "p.CharacterStuckWarningPeriod". Set to number of seconds between logged events, or less than zero to disable logging.
#tests QA-Surfaces multiplayer, walking in to moving objects and pawns.
Change 2957953 on 2016/04/27 by Aaron.McLeran
UE-30018 Fixing up audio component ref-counting to prevent triggering notifications when an audio component is still active after a sound finishes playing.
Change 2958011 on 2016/04/27 by Jon.Nabozny
CalcAABB wasn't properly accounting for current transform on Convex elements, causing bad results.
#JIRA UE-29525
Change 2958321 on 2016/04/27 by Lukasz.Furman
path following update pass, added flags to request result, fixed AITask stacking vs scripted/BP move requests
Change 2959506 on 2016/04/28 by Aaron.McLeran
PR #2330: Fix for ambient sounds not stopping when active and told to play again (Contributed by hgamiel)
Change 2959686 on 2016/04/28 by Marc.Audy
Correctly handle multiple viewpoints when significance is being sorted descending
Change 2959773 on 2016/04/28 by Marc.Audy
Fix shadowing warning
Change 2959785 on 2016/04/28 by Aaron.McLeran
UE-30083 Sound concatenator node doesn't progress if child nodes don't produce wave instances
Change 2960852 on 2016/04/29 by Marc.Audy
Merging //UE4/Dev-Main to Dev-Framework (//UE4/Dev-Framework) @ 2960738
Change 2960946 on 2016/04/29 by Marc.Audy
Fix post merge compile error
Change 2962501 on 2016/05/02 by Marc.Audy
Remove interim GetMutableAttach accessors and use the variables directly now that they are private
Change 2962535 on 2016/05/02 by Marc.Audy
Merging //UE4/Dev-Main to Dev-Framework (//UE4/Dev-Framework) @ 2962478
Change 2962578 on 2016/05/02 by Marc.Audy
Switch ObjectGraphMove to using UserFlags instead of custom move data
Change 2962651 on 2016/05/02 by Marc.Audy
VS2015 shadow variable fixes
Change 2962662 on 2016/05/02 by Lukasz.Furman
deprecated old implementation of gameplay debugger
#jira UE-30011
Change 2962919 on 2016/05/02 by Marc.Audy
VS2015 shadow variable fixes
Change 2963475 on 2016/05/02 by Mieszko.Zielinski
Made SimpleMoveToLocation/Actor not reset velocity if agent not already at goal #UE4
#jira UE-30176
Change 2964098 on 2016/05/03 by Marc.Audy
Spelling fix
Change 2964099 on 2016/05/03 by Marc.Audy
VS2015 shadow variable fixes
Change 2964156 on 2016/05/03 by Marc.Audy
VS2015 shadow variable fixes
Change 2964272 on 2016/05/03 by Marc.Audy
VS2015 Shadow Variable fixes
Change 2964395 on 2016/05/03 by Marc.Audy
VS2015 Shadow Variable Fixes
Change 2964460 on 2016/05/03 by Marc.Audy
Reschedule coolingdown tick functions during pause frames.
#jira UE-30221
Change 2964666 on 2016/05/03 by Marc.Audy
Fix shipping compile error
[CL 2964775 by Marc Audy in Main branch]
2016-05-03 15:44:33 -04:00
|
|
|
return bIsNodeEditable;
|
2015-03-31 10:32:10 -04:00
|
|
|
}
|
|
|
|
|
|
2015-04-25 17:47:39 -04:00
|
|
|
bool UK2Node_FunctionTerminator::HasExternalDependencies(TArray<class UStruct*>* OptionalOutput) const
|
|
|
|
|
{
|
|
|
|
|
const UBlueprint* SourceBlueprint = GetBlueprint();
|
|
|
|
|
|
|
|
|
|
UClass* SourceClass = *SignatureClass;
|
2015-09-23 05:35:44 -04:00
|
|
|
bool bResult = (SourceClass != nullptr) && (SourceClass->ClassGeneratedBy != SourceBlueprint);
|
2015-04-25 17:47:39 -04:00
|
|
|
if (bResult && OptionalOutput)
|
|
|
|
|
{
|
|
|
|
|
OptionalOutput->AddUnique(SourceClass);
|
|
|
|
|
}
|
|
|
|
|
|
2015-09-23 05:35:44 -04:00
|
|
|
// All structures, that are required for the BP compilation, should be gathered
|
|
|
|
|
for (auto Pin : Pins)
|
|
|
|
|
{
|
|
|
|
|
UStruct* DepStruct = Pin ? Cast<UStruct>(Pin->PinType.PinSubCategoryObject.Get()) : nullptr;
|
|
|
|
|
|
|
|
|
|
UClass* DepClass = Cast<UClass>(DepStruct);
|
|
|
|
|
if (DepClass && (DepClass->ClassGeneratedBy == SourceBlueprint))
|
|
|
|
|
{
|
|
|
|
|
//Don't include self
|
|
|
|
|
continue;
|
|
|
|
|
}
|
|
|
|
|
|
2015-11-18 16:20:49 -05:00
|
|
|
if (DepStruct && !DepStruct->IsNative())
|
2015-09-23 05:35:44 -04:00
|
|
|
{
|
|
|
|
|
if (OptionalOutput)
|
|
|
|
|
{
|
|
|
|
|
OptionalOutput->AddUnique(DepStruct);
|
|
|
|
|
}
|
|
|
|
|
bResult = true;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2015-04-25 17:47:39 -04:00
|
|
|
const bool bSuperResult = Super::HasExternalDependencies(OptionalOutput);
|
|
|
|
|
return bSuperResult || bResult;
|
|
|
|
|
}
|
|
|
|
|
|
2015-09-09 10:40:14 -04:00
|
|
|
void UK2Node_FunctionTerminator::PromoteFromInterfaceOverride(bool bIsPrimaryTerminator)
|
|
|
|
|
{
|
|
|
|
|
// Remove the signature class, that is not relevant.
|
|
|
|
|
SignatureClass = nullptr;
|
Copying //UE4/Dev-Blueprints to Dev-Main (//UE4/Dev-Main)
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2781504 on 2015/11/25 by Mike.Beach
Guarding against invalid nodes for deferred graph node actions (add, remove, select), by using TWeakObjectPtr instead of raw UEdGraphNode pointers.
#jira UE-23371
#codereview Dan.OConnor
Change 2781513 on 2015/11/25 by Michael.Schoell
Find-in-Blueprints optimized gathering.
Size of data has shrunk in the Asset Registry by up to one fifth the old size!
Performance moderately improved.
Load and save times of Blueprints increased, less redundant gathering of searchable data.
#jira UE-22928 - Optimize Find-in-Blueprints Gathering of Searchable Data
Change 2781517 on 2015/11/25 by Michael.Schoell
Marked FTimerHandle::Handle as a UPROPERTY(transient) so that Blueprints can check the equality of two instances of the structure.
#jira UE-23136 - Remove Item Node Removes All Objects in an Array
Change 2781804 on 2015/11/26 by Maciej.Mroz
Changed ConformImplementedEvents.
#jira UE-23738 BP_RiftMage_Ultimate fails to convert during cooking
#codereview Phillip.Kavan, Mike.Beach
Change 2781821 on 2015/11/26 by Ben.Cosh
This reinstates the blueprint debugging keymaps and adds additional functionality for step over and step out as key maps in the PIE world controls.
#UEBP-66 - Blueprint debug keymappings
#UE-16817 - Add step-in, step-over, and run until here functions for breakpoints
#UE-12481 - The F10 key doesn't work for stepping blueprint debugging
#Branch UE4
#Proj GraphEditor, Kismet, UnrealEd, CoreUObject, Slate
reviewedby chris.wood
Change 2781861 on 2015/11/26 by Maciej.Mroz
UE-23626 Converted tower defense game - you cannot click to place towers
CodeGenerator generates overriden exported names for events and functions.
#codereview Dan.Oconnor, Steve.Robb
Change 2782798 on 2015/11/30 by Maciej.Mroz
BP C++ conversion: components from SCS calls AttachTo (with ParentSocket parameter).
#jira UE-23862 Pawns in TowerDefenseGame don't move in converted build
#codereview Phillip.Kavan, Mike.Beach, Dan.Oconnor
Change 2782881 on 2015/11/30 by Michael.Schoell
Fixed ensure when promoting function graphs from interfaces during interface removal.
#jira UE-23717 - Ensure removing an implemented interface when transfering functions
Change 2783041 on 2015/11/30 by Maciej.Mroz
BP C++ conversion: All variables from Event Graph are listed as class properties.
#jira UE-23629 Converted tower defense game - Cam scrolls to upper left when mouse leaves window
#codereview Mike.Beach, Dan.Oconnor
Change 2783080 on 2015/11/30 by Michael.Schoell
Removing an interface function's output parameters will no longer cause Blueprints implementing the function to error.
Functions expected as event overrides will accept function graph implementations and give a warning informing that it is unexpected.
All function graphs (interfaces, interface implementations, overrides) can be duplicated. Parent function calls will be removed.
Duplicating graphs will correct names of objects in child Blueprints.
Function overrides of interfaces expected as an event can be deleted.
Duplicating graphs while in PIE is no longer possible.
When removing an interface, the operation can now be canceled.
#jira UE-13335 - Inside a BP Interface, changing a Function output to an input will cause a compile error in the reference bp
Change 2783338 on 2015/11/30 by Michael.Schoell
New output pins on function result nodes will properly fill out with valid default values.
All invalid pins will auto-validate themselves on node reconstruction when opening the Blueprint.
#jira UE-1928 - BLUEPRINTS: Default value not supplied for output parameters of function
Change 2783742 on 2015/11/30 by Phillip.Kavan
[UE-15463] Add special-case handling for failed imports of BPGC-owned component archetype objects on level load.
change summary:
- modified FLinkerLoad::VerifyImport() to customize the load error messaging for missing component archetype objects
Change 2784652 on 2015/12/01 by Ben.Cosh
Fix for crash whilst undoing the creation of a macro and currently displaying the tooltip in the blueprint editor.
#UE-23955 - Adding a macro graph through MyBlueprint and then calling undo causes a crash updating the macro tooltip.
#Branch UE4
#Proj Kismet
#CodeReview Chris.Wood
Change 2784834 on 2015/12/01 by Michael.Schoell
Added functions to convert from string to: Vector, Vector2D, Rotator, Color.
#jira UE-23761 - GitHub 1795 : [KismetStringLibrary] Convert String Back Into Vector, Rotator, Float, Adding Support for 2 way conversion! ? Rama
PR #1795
2015-12-16 17:17:43 -05:00
|
|
|
TArray<UEdGraphPin*> OriginalPins = Pins;
|
|
|
|
|
for (const UEdGraphPin* Pin : OriginalPins)
|
2015-09-09 10:40:14 -04:00
|
|
|
{
|
|
|
|
|
if (Pin->PinType.PinCategory != UEdGraphSchema_K2::PC_Exec)
|
|
|
|
|
{
|
Copying //UE4/Dev-Blueprints to //UE4/Dev-Main (Source: //UE4/Dev-Blueprints @ 3099612)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3061854 on 2016/07/22 by Bob.Tellez
Duplicate CL#3058653 //Fortnite/Main
#UE4 Now actually removing deprecated pins from non-blueprint graphs. Also MarkPendingKill now happens in UEdGraphNode's BeginDestroy instead of its destructor to ensure supporting code can safely access references to other UObjects.
Change 3068095 on 2016/07/28 by Maciej.Mroz
#jira UE-32942 BP Nativization: Reduce the size of executable files
Private and protected properties have PrivatePropertyOffset (PPO) function in .generated.h. This function allows the nativized code to access the property without using UProperty.
-It reduces the size of executable file (added by nativized plugin) about 10%. The OrionGame.exe (development config) is 6MB smaller.
-It reduces the number of FindField function calls and stativ variables in the nativized code.
List of inaccessible properties (that cannot be accessed using PPO) is logged while cooking (with nativization enabled).
Change 3070569 on 2016/07/29 by Bob.Tellez
Duplicating CL#3070518 from //Fortnite/Main
#UE4 Deprecated pin removal logic is now exclusively in UEdGraphNode::PostLoad. DeprecatedPinWatches fixup is now done in K2Node::PostLoad.
Change 3081792 on 2016/08/08 by Dan.Oconnor
Widget and Animation blueprint diffing is no longer experimental, added warning explaining shortcomings. This is preferrable because the text diff is basically useless
#jira UE-1234
Change 3081865 on 2016/08/09 by Dan.Oconnor
build fix
#jria UE-1234
Change 3082839 on 2016/08/09 by Bob.Tellez
Duplicating CL#3082835 from //Fortnite/Main
#UE4 Fix an issue where changing an array property in the defaults will leave the custom property chain stale until it is compiled, causing a crash in some circumstances.
Change 3083367 on 2016/08/09 by Dan.Oconnor
Fix for actors detaching when compiling a blueprint, needed to read attachment data before actors are destroyed, in case we're attached to another instance of the same type. Deemed too risky for 4.13.
#jira UE-33278
Change 3083825 on 2016/08/10 by Maciej.Mroz
#jira UE-34372 [CrashReport] UE4Editor_CoreUObject!StaticAllocateObject() [uobjectglobals.cpp:2102]
VariableNames are validated at the begining of FKismetCompilerContext::Compile, because the validation requires CDO.
Removed legacy code from FBlueprintEditorUtils::RenameMemberVariable.
Change 3084313 on 2016/08/10 by Maciej.Mroz
#jira UE-33883 Packaging with Nativize Blueprint Assets Causes Uninitialized Defaults
Change 3085572 on 2016/08/11 by Maciej.Mroz
#jira UE-34436 Ensures when copy/pasting linked anim bp nodes
Redone cl#3085568 from 4.13 branch
FGraphObjectTextFactory doesn't call compilation (it is called later by FBlueprintEditor::PasteNodesHere, when all nodes are pasted). CallFunction can be pasted even when it's function doesn't exist. The function could be created from a CustomEvent node, that was also pasted (so it wasn't compiled yet).
Change 3087171 on 2016/08/12 by Maciej.Mroz
BP Nativization:
- FCustomThunkTemplates functions have the same declarations as original functions in Kismet Array Library
- Properly declared scope of final functions
- "AdditionalPublicDependencyModuleNames" option in "BlueprintNativizationSettings" (applied in Orion)
Change 3088713 on 2016/08/15 by Ben.Cosh
This updates the tunnel boundary compile time code to catch end of thread execution inside tunnels and provide instrumentation for it.
#Jira UE-33563 - Macros without any outputs do not have their stats listed when called from a Keypress Event when profiling.
#Proj BlueprintGraph, BlueprintProfiler, Kismet, KismetCompiler, UnrealEd
Change 3088734 on 2016/08/15 by Ben.Cosh
Minor change to the changes submitted in CL 3088713 after finding an issue during use.
#Jira UE-33563 - Macros without any outputs do not have their stats listed when called from a Keypress Event when profiling.
#Proj BlueprintGraph, BlueprintProfiler, Kismet, KismetCompiler, UnrealEd
Change 3091248 on 2016/08/16 by Dan.Oconnor
Removing unused function
Change 3091555 on 2016/08/17 by Maciej.Mroz
#jira UE-34745 [CrashReport] UE4Editor_BlueprintGraph!UEdGraphSchema_K2::CreateSubstituteNode() [edgraphschema_k2.cpp:5601]
Fixed unsafe code.
Change 3091767 on 2016/08/17 by Ben.Cosh
Minor refresh on the threshold settings interface to allow more immediate visualisation of thresholds.
#Jira UE-33572 - BP Profiler - Refresh heatmap coloring when thresholds changed.
#Jira UE-33702 - BP Profiler - Custom heatmap thresholds appear to be broken
#Jira UE-33698 - BP Profiler: Default heatmaps to on
#Proj Kismet, BlueprintProfiler
Reviewer notes:
- Added an interfacel to indicate if performance thresholds have changed in BlueprintProfilerSettings so we can action changes
- Added code to force update heat interfaces in the blueprintprofiler if thresholds are dirty.
- Modified the BlueprintProfilerToolbar to reflect the above changes and only save settings when the combo dialog is closed ( saving on change makes the sliders unusable )
- Fixed the custom thresholds ( made them reciprical ) for testing.
- Node heatmaps default to average
- Heatmap display modes now get saved to the config
Change 3091770 on 2016/08/17 by Ben.Cosh
Refresh on the blueprint profiler node heatmaps
#Jira UE-34802 - Fix the blueprint profiler node heatmaps, the current visualisation is first pass prototype.
#Proj GraphEditor, EditorStyle
Reviewer notes:
- Quick update on the node heatmaps moving to a more graph editor sympathetic approach in code
- Removed the old interfaces and added a new overlay pass in the grapheditor processed before the node shadow brushes.
- Now the nodes have an outline/glow heatmap that doesn't color the node body ( I have an alternate set of images that also color the body if we decide on we still want that )
Change 3091972 on 2016/08/17 by Ben.Cosh
Changing the blueprint profiler heatmap displays to be full node colorisation.
#Jira none
Change 3092515 on 2016/08/17 by Ryan.Rauschkolb
Fixed Struct Ref pin in UK2Node_SetFieldsInStruct can be split when optional pins are visible
#UE-34060
Change 3093644 on 2016/08/18 by Maciej.Mroz
#jira UE-31754 BP interface signature change doesn't update child Blueprint
- Introduced FCustomCompilationSettingsMap. FKismetEditorUtilities::CompileBlueprint can compile many blueprints (due to reinstaning), now we can specify separate compilation settings for each BP.
- Simplified FKismetEditorUtilities::CompileBlueprint parameters list
- FunctionEntry and FunctionResult nodes depends on Interface (if they implement a function , that was declared in the interface).
- Interface is primary source of function signature (previously it was parent class)
- When an Interface is compiled all BPs, that implement it, have refreshed nodes in proper order.
- FBlueprintEditor::Compile ensures, that all parent classes of current BP are up-to-date
Change 3093694 on 2016/08/18 by samuel.proctor
Adding members to QA Test UDS
Change 3096778 on 2016/08/22 by Mike.Beach
Fixing Dev-BP CIS - closing bracket was mistakenly removed (thanks auto-merge).
Change 3097150 on 2016/08/22 by Mike.Beach
When converting function entry/exit nodes from an interface, set the replacement user-defined pins "DesiredDirection" properly (we now reject pins that don't match the expected direction, and user-defined pins created this way were setup wrong).
#jira UE-34985
Change 3097878 on 2016/08/23 by Ryan.Rauschkolb
BP Profiler: Fixed stack overflow when compiling tunnels that contain loops
#jira UE-34767
Change 3098294 on 2016/08/23 by Maciej.Mroz
#jira UE-30031, UE-34760, UE-34761
- Use Delta Serialization when exporting UDS value as text
- Default Values of Local Variables (of UDS type) are refreshed while BP regeneration
- Importing struct from text uses property guid (see CustomFindProperty)
Change 3098599 on 2016/08/23 by Ryan.Rauschkolb
Fixed option for split struct pin not appearing in context menu
#jira UE-35108
[CL 3100065 by Mike Beach in Main branch]
2016-08-24 16:19:07 -04:00
|
|
|
CreateUserDefinedPin(Pin->PinName, Pin->PinType, Pin->Direction, false);
|
2015-09-09 10:40:14 -04:00
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
const UEdGraphSchema_K2* Schema = GetDefault<UEdGraphSchema_K2>();
|
|
|
|
|
Schema->ReconstructNode(*this, true);
|
|
|
|
|
}
|
|
|
|
|
|
Copying //UE4/Dev-Blueprints to //UE4/Dev-Main (Source: //UE4/Dev-Blueprints @ 3152873)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3131279 on 2016/09/19 by Mike.Beach
Fixing FText::Format warning for the Sub-Level Blueprints menu - Was using {LevelName} tag when there was no value for {LevelName} (defaulted to the first argument).
#jira UE-36097
Change 3131318 on 2016/09/19 by Phillip.Kavan
[UE-35690] Minor revisions to Blueprint SCS execution to improve efficiency and address an out-of-order registration issue.
change summary:
- modified AActor::PostSpawnInitialize() to defer native component registration if there is no native scene root component set and if the actor is a BP type (i.e. will invoke SCS). this means that native actor classes with only non-scene components will now defer registration/post-registration until after SCS execution has established a valid scene root.
- modified AActor::ExecuteConstruction() to gather the set of native scene components that SCS nodes can attach to before invoking the SCS. this was previously being done redundantly within the SCS itself at each level of the BP class inheritance hierarchy.
- modified AActor::ExecuteConstruction() to do a final registration pass over all components after the all SCS levels have been executed. this was also previously being done within the SCS at each level. this avoids some extra redundancy.
- modified USCS_Node::ExecuteNodeOnActor() to call RegisterAllComponents() on the given actor instance after establishing a valid scene root component if it was previously deferred at spawn time.
- modified USCS_Node::ExecuteNodeOnActor() to now register components after they're created. since SCS execution goes from parent to child, parent scene components will always be registered before their children. non-native, non-scene component registration will also be deferred until a scene root component has been established.
- added AActor::HasDeferredComponentRegistration()
- modified AActor::RegisterAllComponents() to reset the actor's deferred component registration flag when called
- modified AActor::AddComponent() to check the 'bAutoRegister' flag before calling RegisterComponent() (for consistency)
- moved the RegisterInstancedComponent() utility method into USimpleConstructionScript and modified it to ensure that parent attachments are registered before their children.
- modified USimpleConstructionScript::ExecuteScriptOnActor() to include an additional input parameter for passing in the set of native scene components that can be attached to.
- modified USimpleConstructionScript::ExecuteScriptOnActor() to remove redundant/unnecessary work as noted above.
#jira UE-35690
Change 3131842 on 2016/09/20 by Maciej.Mroz
#jira UE-34984 Broken (weak) object params on Blueprint function (cannot add plain reference)
Change 3131847 on 2016/09/20 by Maciej.Mroz
SPropertyEditorAsset doesn't display UClass with "_C" prefix anymore.
Change 3131923 on 2016/09/20 by Maciej.Mroz
#jira UE-33812 Crash while closing Create Blank New Blueprint window after attempting to name blueprint the same name as another blueprint
Change 3132348 on 2016/09/20 by Phillip.Kavan
Fix CIS build issue (SA).
Change 3132383 on 2016/09/20 by Maciej.Mroz
#jira UE-35830 Float Curve that is set as a local variable in an actor's function is garbage collected when in Standalone, causing a crash
Array UStruct::ScriptObjectReferences is filled while compilation. GC doesn't serialize script bytecode in editor anymore.
Change 3133072 on 2016/09/20 by Maciej.Mroz
#jira UE-34388 Crash upon deleting Blueprints folder
Change 3133216 on 2016/09/20 by Dan.Oconnor
+ BlueprintSetLibrary (add, remove, find, etc)
+ HasGetTypeHash compile time function for detecting types that have GetTypeHish (modeled after HasOperatorEquals)
= SPinTypeSelector can now disable container types based on current primary type, required transition to SComboButtton/SListView from SComboBox
= Hide blueprint set library via BaseEditor.ini
#jira UE-2114
Change 3133227 on 2016/09/20 by Dan.Oconnor
Test assets for TSet
Change 3133804 on 2016/09/21 by Maciej.Mroz
#jira UE-34069 ObjectLibrary stores UBlueprint instead of BPGC
In UObjectLibrary, when bHasBlueprintClasses is true, BP references are automatically replaced by BPGC references.
Change 3133817 on 2016/09/21 by Maciej.Mroz
Fixed static Static Analysis warning
Change 3134377 on 2016/09/21 by Dan.Oconnor
ShowWorldContextObject is now inherited
#jira UE-35674
Change 3134955 on 2016/09/21 by Mike.Beach
Making it so AdvancedDisplay metadata is taken into consideration and used in MakeStruct nodes.
Change 3134965 on 2016/09/21 by Dan.Oconnor
Fix for crash in FCDODiffControl when CDOs have different numbers of properties. First branch in the while loop would incorrectly advance Iter past the end of the array. Comments courtesy of Jon.Nabozny
#jira UE-36263
Change 3135523 on 2016/09/22 by Dan.Oconnor
PR #2755: Master (Contributed by jeremyyeung)
Notable change: searching for Vector in BP editor context menu now gives different default result, prior result was mediocre, though (vector - vector)
#jira UE-35450
Change 3136508 on 2016/09/22 by Mike.Beach
Removing a bIsVisible guard for level Blueprint menu actions - this was causing level BP options to disappear when you hid sub-levels. The guard doesn't seem to matter, as those actions will be removed with the world (when it is updated, or unloaded).
#jira UE-34019
Change 3137587 on 2016/09/23 by Maciej.Mroz
#jira ODIN-1017 [Nativization] Crash while loading Hub_env level
Merged cl#3137578 from Odin branch
Change 3137666 on 2016/09/23 by Ben.Cosh
This adds the ability to map composite graph instances in the same way we map macro instances for blueprint debug data and improves the quality of the debug data providing correct information for nested macro/composite instances at any script location in instrumented blueprint compilations.
#Jira UE-33396 - Nested macro nodes don't map correctly if you place multiple instances in the same graph
#Proj KismetCompiler, BlueprintGraph, UnrealEd
- This is the first part of a two part change, the subsequent change will make use of the debug output to resolve complex trees of tunnel instances in the blueprint profiler.
Change 3137800 on 2016/09/23 by Phillip.Kavan
[UE-34896] Properties are now generated for client-only Blueprint components in an uncooked server-only context.
change summary:
- bumped BlueprintObjectsVersion
- added a new 'ComponentClass' property to USCS_Node
- added a new 'ComponentClass' field to the FComponentOverrideRecord struct (UInheritableComponentHandler)
- added a USCS_Node::Serialize() override to fix up 'ComponentClass' on load (so that it's set prior to compile-on-load)
- modified USimpleConstructionScript::CreateNodeImpl() to set the ComponentClass property in a new SCS node
- modified USimpleConstructionScript::ValidateNodeTemplates() to consider the node to be valid if ComponentClass is set and is known to be filtered (i.e. the node will not be removed in this case)
- modified USimpleConstructionScript::ValidateNodeTemplates() to emit a warning message in an uncooked client-only or server-only context if the ComponentClass could not be set in an existing package (i.e. if a resave is needed)
- modified UInheritableComponentHandler::PostLoad() to fix up 'ComponentClass' on load
- modified UInheritableComponentHandler::CreateOverridenComponentTemplate() to set the ComponentClass field in a new override record
- modified UInheritableComponentHandler::IsRecordValid() to consider the record to be valid if ComponentClass is set (when ComponentTemplate is NULL)
- modified UInheritableComponentHandler::IsRecordNecessary() to consider the record to be necessary if ComponentClass is set and is known to be filtered
- modified FKismetCompilerContext::CreateClassVariablesFromBlueprint() to use 'ComponentClass' rather than 'ComponentTemplate' to infer the property subtype
#jira UE-34896
Change 3137851 on 2016/09/23 by Phillip.Kavan
[UE-36079] Component overrides in a child blueprint will no longer trigger a warning message when the original component is removed from its parent.
change summary:
- modified UInheritableComponentHandler::IsRecordValid() to no longer consider a NULL OriginalTemplate to be invalid (so that the warning message is suppressed)
- modified UInheritableComponentHandler::IsRecordNecessary() to consider a NULL OriginalTemplate to be unnecessary (so that the record is still removed in this case)
#jira UE-36079
Change 3137948 on 2016/09/23 by Ben.Cosh
CIS warning fix on mac for out of order initialisation.
Change 3139351 on 2016/09/25 by Ben.Cosh
Updates the blueprint profiler to make use of the recent changes to macro/composite tunnel mapping and enhanced debug data.
#Jira UE-33396 - Nested macro nodes don't map correctly if you place multiple instances in the same graph
#Proj BlueprintProfiler, Engine
- This is the second part of a two part change enabling multiple instances of nested macro/composite graphs in the blueprint profiler.
Change 3139376 on 2016/09/25 by Ben.Cosh
CIS static analysis fix for CL 3137666
Change 3139377 on 2016/09/25 by Ben.Cosh
Adding script code location checking for pure nodes that was missed in CL 3139351
#Jira UE-33396 - Nested macro nodes don't map correctly if you place multiple instances in the same graph
#Proj BlueprintProfiler
- Fixes a missed issue with pure nodes inside macros/tunnels
Change 3139624 on 2016/09/26 by Maciej.Mroz
Fixed const local variables in Nativized code
Merged cl#3139622 from Odin branch.
Change 3139641 on 2016/09/26 by Maciej.Mroz
#jira UE-31099 Renaming an input mapping does not generate a warning when compile a blueprint using that input
Since we cannot distinguish which nodes are isolated by users (and shouldn't be validated) and which nodes are isolated during expansion step (and should be validated), the isolated nodes are pruned both before and after expantion step (and validation).
Change 3139961 on 2016/09/26 by Ben.Cosh
CIS static analysis fix for CL 3137666
- missed one of the warnings in a previous attempt.
Change 3140143 on 2016/09/26 by Dan.Oconnor
Fix for component property clearing on load, submitted on behalf of Mike.Beach
#jira UE-36395
Change 3140694 on 2016/09/26 by Dan.Oconnor
Fix for GLEO when duplicating levels that have knots that reference delegates (specifically custom events)
#jira UE-34954
Change 3140772 on 2016/09/26 by Dan.Oconnor
Further hardening SGraphPin::GraphPinObj access
#jira UE-36280
Change 3140812 on 2016/09/26 by Dan.Oconnor
Corrected overzealous warning. Codepath is expected when functions are deleted but breakpoints aren't updated
#jira UE-32736
Change 3140869 on 2016/09/26 by Dan.Oconnor
Update check to handle nested DSOs
#jira UE-34568
Change 3141125 on 2016/09/27 by Maciej.Mroz
#jira UE-36326 Attempting to generate abstract class from blueprint crashes editor on compile
While reinstancing the CLASS_Abstract is cleared (just like the CLASS_Deprecated flag)
Change 3142715 on 2016/09/27 by Dan.Oconnor
Fix for crash when pasting nodes that have connections to nodes that aren't in the clipboard from one graph into another
#jira OR-29584
Change 3143469 on 2016/09/28 by Ryan.Rauschkolb
BP Profiler: Fixed Assert when profiling parent/child Blueprint
#jira UE-35487
Change 3145215 on 2016/09/29 by Maciej.Mroz
#jira UE-36494 [CrashReport] UE4Editor_KismetCompiler!FKismetCompilerContext::CreatePinEventNodeForTimelineFunction() [kismetcompiler.cpp:2062]
Change 3145580 on 2016/09/29 by Dan.Oconnor
Collapse secondary image instead of hiding it, allowing x button to be closer to primary image when secondary type image isn't present
#jira UE-36577
Change 3146470 on 2016/09/30 by Maciej.Mroz
#jira UE-36655 Failed ensure when TIleline is pasted
Restored cl#3085572 - it was lost while merging.
Change 3147046 on 2016/09/30 by Maciej.Mroz
#jira UE-34961 Assert when calling BP function with weak object parameter.
BP doesn;t support weak obj ptr as parameters - Validation added. Function, created from colappsed nodes, cannot have a parameter of weakptr type.
Change 3148022 on 2016/10/01 by Phillip.Kavan
[UE-21109] Fix component instance data loss after renaming SCS component nodes at the Blueprint class level.
change summary:
- deprecated the public USCS_Node::VariableName member and replaced it with an internal-only member accessible via Get/Set method (i need to be in control of the set logic)
- changed all occurrences of direct access to USCS_Node::VariableName to use a GetVariableName() call (since it's now internal)
- simplified USCS_Node::GetVariableName() as what it used to do was legacy and thus is no longer necessary (it's been handled by USimpleConstructionScript::PostLoad for awhile now)
- added USCS_Node::SetVariableName(); this now renames the component template (if valid) and all instances of it prior to changing the internal variable name. this ensures that archetype lookups will continue to function after a rename.
- added USCS_Node::RenameComponentTemplate() to handle SCS node component template rename logic on a variable name change
- switched the AActor::CheckComponentInstanceName() API to be publically-accessible; need to call this when renaming instanced components to match a new variable name in order to ensure that we rename any instance-only components out of the way first (this is the same logic that we run when constructing component instances on map load/RRCS, so it's consistent)
- modified UInheritableComponentHandler::PostLoad() to fix up the component template within each record to match the original template object name. this ensures that ICH-specific archetype lookups will continue to function after a rename. it also ensures that any mismatched template names in existing assets will now be fixed up on load.
- moved UActorComponent::ComponentTemplateSuffixName into the USimpleConstructionScript class (since the association is tied to templates created by that class specifically). note: this revises a change from a recent PR submission.
- modified UpdateAttachedIsEditorOnly() to check the RF_ArchetypeObject flag rather than the ComponentTemplateSuffixName (part of the revision to the recent PR submission noted above)
#jira UE-21109
Change 3148023 on 2016/10/01 by Phillip.Kavan
[UE-35562] Fix inherited Blueprinted component template defaults data loss in child Blueprint classes after recompiling the Blueprinted component class.
change summary:
- added a local FArchetypeReinstanceHelper struct + GetArchetypeObjects()/FindUniqueArchetypeObjectName() utility method implementations to KismetReinstanceUtilities.cpp
- modified FBlueprintCompileReinstancer::ReplaceInstancesOfClass_Inner() to ensure that the full inherited component template (archetype) ancestry is renamed along with the base template when we rename the base template object away from its original name in order to make way for the new (reinstanced) template. the names must match the base template along the entire inheritance hierarchy in order for forward/reverse inherited component archetype lookups to succeed.
notes:
- BP (non-native) component templates (e.g. SCS/AddComponent nodes) that belong to the class being reinstanced (i.e. whose templates are not inherited from a parent BP) always inherit directly from the component CDO, and thus do not require this code path (that is, archetype lookups are not dependent on matching the CDO by name). similarly, native components (defined in C++) are included as part of the CDO defaults data, and thus also do not require this code path.
#jira UE-35562
Change 3148030 on 2016/10/01 by Phillip.Kavan
UT fixes for CIS warnings related to SCS node API changes.
Change 3148256 on 2016/10/02 by Ben.Cosh
This change adds the ability to filter debug/wire trace instrumenation and tracks expansion nodes for future use.
#Jira UE-34866 - No profiler timings listed for nodes executed after an interface message
#Proj KismetCompiler, BlueprintGraph, UnrealEd
Change 3148261 on 2016/10/02 by Ben.Cosh
CIS fix, some code from another changelist leaked into CL 3148256
Change 3148480 on 2016/10/03 by Ben.Cosh
This change attempts to address some profiler issues with class function context switching in the blueprint profiler.
#Jira UE-35819 - Crash occurs when instrumenting an event from a member actor
#Proj BlueprintProfiler, BlueprintGraph
Change 3148545 on 2016/10/03 by Phillip.Kavan
Skip unnecessary component validation work to fix invalid warnings when duplicating a BP class for reinstancing.
Change 3149001 on 2016/10/03 by Ben.Cosh
This fixes an issue found with the instrumented blueprint compilations in which a certain compilation path would not provide the extended composite tunnel node heararchy in debug data and removes an unneceassary check that was causing problems.
#Jira UE-36704 - Crash on PIE while profiling TestBP_ProfilerEvents in QAGame
#Proj KismetCompiler, BlueprintProfiler
Change 3149031 on 2016/10/03 by Maciej.Mroz
#jira UE-36687, UE-36691
Tunnel nodes without exec pin are not pruned before expansion.
Change 3149150 on 2016/10/03 by Maciej.Mroz
#jira UE-36685
UGameplayTagsK2Node_LiteralGameplayTag is pure.
Change 3149290 on 2016/10/03 by Maciej.Mroz
#jira UE-36750
GetBlueprintContext node is Pure.
Change 3149595 on 2016/10/03 by Mike.Beach
Fixing up some Orion content errors/warnings that should have been issues a while ago (error reporting was broken for a time, now fixed).
#jira UE-36758, UE-36759
Change 3149667 on 2016/10/03 by Mike.Beach
Fixing up some Ocean content errors as fallout from a change in Dev-Blueprints - the errors properly identified a node that was using a culled input that was uninitialized.
#jira UE-36770
Change 3149777 on 2016/10/03 by Mike.Beach
Fixing up an Orion content warning - disconnecting a cast path in Hero_Automation, now that the node is producing a warning (the cast is impossible, and therefore the path is superfluous).
#jira UE-36759
Change 3149988 on 2016/10/04 by Maciej.Mroz
#jira UE-36750, UE-36685
Fixed IsNodePure functions.
Change 3150146 on 2016/10/04 by Maciej.Mroz
#jira UE-36759
First pruning pass in done after ExpandTunnelsAndMacros is called.
Isolated tunnels are pruned just like regular nodes.
Change 3150743 on 2016/10/04 by Mike.Beach
Mirroring CL 3150661 from Dev-VREditor
Fix for crash on editor close after VR Foliage Editing.
#jira UE-36754
Change 3151104 on 2016/10/04 by Maciej.Mroz
Added comment.
Change 3151979 on 2016/10/05 by Mike.Beach
Adding the keyword "custom" to K2Node_CustomEvent, so that it is prioritized when searching the Blueprint menu.
#jira UE-35512
Change 3152286 on 2016/10/05 by Maciej.Mroz
Make sure, that an isolated node, that should be pure (but is not) won't be pruned.
[CL 3152997 by Mike Beach in Main branch]
2016-10-05 23:32:35 -04:00
|
|
|
void UK2Node_FunctionTerminator::ValidateNodeDuringCompilation(FCompilerResultsLog& MessageLog) const
|
|
|
|
|
{
|
|
|
|
|
Super::ValidateNodeDuringCompilation(MessageLog);
|
|
|
|
|
|
|
|
|
|
for (UEdGraphPin* Pin : Pins)
|
|
|
|
|
{
|
|
|
|
|
if (Pin && Pin->PinType.bIsWeakPointer && !Pin->PinType.IsContainer())
|
|
|
|
|
{
|
|
|
|
|
const FString ErrorString = FString::Printf(
|
|
|
|
|
*LOCTEXT("WeakPtrNotSupportedError", "Weak prointer is not supported as function parameter. Pin '%s' @@").ToString(),
|
|
|
|
|
*Pin->GetName());
|
|
|
|
|
MessageLog.Error(*ErrorString, this);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2015-03-31 10:32:10 -04:00
|
|
|
#undef LOCTEXT_NAMESPACE
|