2019-12-26 15:33:43 -05:00
// Copyright Epic Games, Inc. All Rights Reserved.
2014-03-14 14:13:41 -04:00
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 "AnimationStateNodes/SGraphNodeAnimTransition.h"
# include "AnimStateTransitionNode.h"
# include "Widgets/SBoxPanel.h"
# include "Widgets/Images/SImage.h"
# include "Widgets/SToolTip.h"
# include "Animation/AnimInstance.h"
# include "Animation/AnimBlueprint.h"
# include "SGraphPanel.h"
# include "EdGraphSchema_K2.h"
# include "Kismet2/BlueprintEditorUtils.h"
# include "SKismetLinearExpression.h"
2014-03-14 14:13:41 -04:00
# include "ConnectionDrawingPolicy.h"
# include "IDocumentation.h"
2014-04-24 08:49:31 -04:00
# include "AnimationTransitionGraph.h"
# include "AnimGraphNode_TransitionResult.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 "Animation/AnimNode_StateMachine.h"
2014-04-25 02:42:37 -04:00
# include "AnimGraphNode_StateMachineBase.h"
# include "AnimationStateMachineGraph.h"
2014-04-24 08:49:31 -04:00
2014-03-14 14:13:41 -04:00
# define LOCTEXT_NAMESPACE "TransitionNodes"
/////////////////////////////////////////////////////
// SGraphNodeAnimTransition
void SGraphNodeAnimTransition : : Construct ( const FArguments & InArgs , UAnimStateTransitionNode * InNode )
{
this - > GraphNode = InNode ;
this - > UpdateGraphNode ( ) ;
}
void SGraphNodeAnimTransition : : GetNodeInfoPopups ( FNodeInfoContext * Context , TArray < FGraphInformationPopupInfo > & Popups ) const
{
}
2021-05-18 15:26:27 -04:00
void SGraphNodeAnimTransition : : MoveTo ( const FVector2D & NewPosition , FNodeSet & NodeFilter , bool bMarkDirty )
2014-03-14 14:13:41 -04:00
{
// Ignored; position is set by the location of the attached state nodes
}
bool SGraphNodeAnimTransition : : RequiresSecondPassLayout ( ) const
{
return true ;
}
void SGraphNodeAnimTransition : : PerformSecondPassLayout ( const TMap < UObject * , TSharedRef < SNode > > & NodeToWidgetLookup ) const
{
UAnimStateTransitionNode * TransNode = CastChecked < UAnimStateTransitionNode > ( GraphNode ) ;
// Find the geometry of the state nodes we're connecting
FGeometry StartGeom ;
FGeometry EndGeom ;
2014-06-18 14:27:15 -04:00
int32 TransIndex = 0 ;
int32 NumOfTrans = 1 ;
2014-03-14 14:13:41 -04:00
UAnimStateNodeBase * PrevState = TransNode - > GetPreviousState ( ) ;
UAnimStateNodeBase * NextState = TransNode - > GetNextState ( ) ;
if ( ( PrevState ! = NULL ) & & ( NextState ! = NULL ) )
{
const TSharedRef < SNode > * pPrevNodeWidget = NodeToWidgetLookup . Find ( PrevState ) ;
const TSharedRef < SNode > * pNextNodeWidget = NodeToWidgetLookup . Find ( NextState ) ;
if ( ( pPrevNodeWidget ! = NULL ) & & ( pNextNodeWidget ! = NULL ) )
{
const TSharedRef < SNode > & PrevNodeWidget = * pPrevNodeWidget ;
const TSharedRef < SNode > & NextNodeWidget = * pNextNodeWidget ;
StartGeom = FGeometry ( FVector2D ( PrevState - > NodePosX , PrevState - > NodePosY ) , FVector2D : : ZeroVector , PrevNodeWidget - > GetDesiredSize ( ) , 1.0f ) ;
EndGeom = FGeometry ( FVector2D ( NextState - > NodePosX , NextState - > NodePosY ) , FVector2D : : ZeroVector , NextNodeWidget - > GetDesiredSize ( ) , 1.0f ) ;
2014-06-18 14:27:15 -04:00
TArray < UAnimStateTransitionNode * > Transitions ;
PrevState - > GetTransitionList ( Transitions ) ;
Transitions = Transitions . FilterByPredicate ( [ NextState ] ( const UAnimStateTransitionNode * InTransition ) - > bool
{
return InTransition - > GetNextState ( ) = = NextState ;
} ) ;
TransIndex = Transitions . IndexOfByKey ( TransNode ) ;
NumOfTrans = Transitions . Num ( ) ;
2020-10-07 10:17:37 -04:00
PrevStateNodeWidgetPtr = PrevNodeWidget ;
2014-03-14 14:13:41 -04:00
}
}
2014-06-18 14:27:15 -04:00
//Position Node
PositionBetweenTwoNodesWithOffset ( StartGeom , EndGeom , TransIndex , NumOfTrans ) ;
2014-03-14 14:13:41 -04:00
}
TSharedRef < SWidget > SGraphNodeAnimTransition : : GenerateRichTooltip ( )
{
UAnimStateTransitionNode * TransNode = CastChecked < UAnimStateTransitionNode > ( GraphNode ) ;
if ( TransNode - > BoundGraph = = NULL )
{
return SNew ( STextBlock ) . Text ( LOCTEXT ( " NoAnimGraphBoundToNodeMessage " , " Error: No graph " ) ) ;
}
// Find the expression hooked up to the can execute pin of the transition node
const UEdGraphSchema_K2 * Schema = GetDefault < UEdGraphSchema_K2 > ( ) ;
UEdGraphPin * CanExecPin = NULL ;
if ( UAnimationTransitionGraph * TransGraph = Cast < UAnimationTransitionGraph > ( TransNode - > BoundGraph ) )
{
if ( UAnimGraphNode_TransitionResult * ResultNode = TransGraph - > GetResultNode ( ) )
{
CanExecPin = ResultNode - > FindPin ( TEXT ( " bCanEnterTransition " ) ) ;
}
}
TSharedRef < SVerticalBox > Widget = SNew ( SVerticalBox ) ;
2015-01-07 09:52:40 -05:00
const FText TooltipDesc = GetPreviewCornerText ( false ) ;
2014-03-14 14:13:41 -04:00
// Transition rule linearized
Widget - > AddSlot ( )
. AutoHeight ( )
. Padding ( 2.0f )
[
SNew ( STextBlock )
2022-05-09 13:12:28 -04:00
. TextStyle ( FAppStyle : : Get ( ) , TEXT ( " Graph.TransitionNode.TooltipName " ) )
2014-03-14 14:13:41 -04:00
. Text ( TooltipDesc )
] ;
Copying //UE4/Dev-AnimPhys to //UE4/Dev-Main (Source: //UE4/Dev-AnimPhys @ 4062005)
#lockdown Nick.Penwarden
============================
MAJOR FEATURES & CHANGES
============================
Change 4005617 by Danny.Bouimad
Fixing TM-AnimPhys lighting so it works on all platforms
#jira UEENGQA-19924
Change 4014898 by Aaron.McLeran
Adding simple delay feature
Change 4025071 by Lina.Halper
Fix and more potential fix for invalid bone index issue
http://crashreporter/Buggs/Show/2052839
http://crashreporter/Crashes/Show/46656562
#jira: UE-51931
Change 4042493 by Lina.Halper
Fix issue with sequence evaluator to handle properly when jumps from end to front or front to end
#jira: UE-58429
Change 4042892 by Lina.Halper
Fix issue with being able to drag/drop montage onto anim track in sequencer
#jira: UE-57863
Change 4043553 by Ethan.Geller
#jira UE-58340 Handle calls to FVoiceCaptureWindows::GetVoiceData outside of existing data calls. #rb none
Change 4043613 by Lina.Halper
Fix issue with incorrect usage of staticclass
#jira: UE-54413
Change 4044069 by James.Golding
PR #4455: Add FAnimNode_StateMachine subclassing support. (Contributed by redfeatherplusplus)
#jira UE-54599
Change 4044070 by James.Golding
PR #4349: Final points on a line test were broken, changed Plane.PlaneDot to FM. (Contributed by DSDambuster)
#jira UE-53554
Change 4044072 by James.Golding
Add ENGINE_API to UPhysicsHandleComponent so it can be subclassed
#jira UE-56397
Change 4044073 by James.Golding
PR #4611: Expose a few API's so it's possible to make custom anim graph nodes using these objects. (Contributed by ill)
#jira UE-57004
Change 4044075 by James.Golding
PR #4618: Bugfix: typo in path for CustomMeshComponent (case error) (Contributed by malavon)
#jira UE-57077
Change 4044077 by James.Golding
Add ClassGroup to some components
#jira UE-57587, UE-57609
Change 4044080 by James.Golding
PR #4515: Adding API export macro to ACableActor (Contributed by maxtunel)
#jira UE-55515
Change 4044082 by James.Golding
Remove unused CopySkinnedModelData function
#jira UE-57623
Change 4044083 by James.Golding
Fix per-poly collision for skel meshes. Make sure to call UpdateKinematicBonesToAnim if bEnablePerPolyCollision is set, even if no bodies
Integration of CL 3971421 from Release-4.19 stream
#jira UE-56405
Change 4044084 by James.Golding
Add option to preview 'fixed bounds' in SkelMesh editors.
Change 4044086 by James.Golding
Remove unused RigidInfluenceIndex from CPU skinning code
Change 4044310 by James.Golding
Roll back changes to make PhysX cool fails a log instead of warning (CL 3995372, UE-56466), now that content is fixed
Change 4044416 by Lina.Halper
Provide BP interface to get curve list of names
#jira: UE-52623
Change 4044419 by Lina.Halper
added notification for updating pose asset
#jira: UE-56233
Change 4046929 by Ethan.Geller
#jira none add my developer folder to QAGame. #fyi dan.reynolds
Change 4047064 by Ethan.Geller
[Dev-AnimPhys] #jira UE-57890 add additional binaries for Steam Audio to LibPhonon.Build.cs. #rb none
Change 4047564 by Lina.Halper
Fix issue of not regenerating when reimport mesh
#jira: UE-58284
Change 4047630 by Ethan.Geller
Fix syntax error in libPhonon. #jira none #rb none
Change 4048050 by Thomas.Sarkanen
Allowed "Follow Bone" to be popped out of the menu into the viewport
This allows for quick re-selection of the bone to follow, avoiding multiple clicks
Tweaks and extends the "pinned command list" system to allow dynamic text in labels and labels to be hidden.
#jira UE-53070 - Follow bone - Follow selected bone
Change 4048064 by Thomas.Sarkanen
Validate any bone references during compilation
Bone references that are set to something other than NAME_None will be verified against the skeleton.
Updated various anim nodes to call the base class ValidateAnimNodeDuringCompilation
#jira UE-55680 - Anim graph nodes that use FBoneReference all need validation in ValidateAnimNodeDuringCompilation
Change 4048468 by James.Golding
PR #4319: Allow UAnimNotify_PlayMontageNotify to be inherited by other dlls (Contributed by DSDambuster)
#jira UE-53390
Change 4048470 by James.Golding
Implement ApplyWorldOffset to CableComponent, to handle origin shifting
#jira UE-53560
Change 4048471 by James.Golding
PR #4396: fix cachebones for subclasses of FAnimNode_SkeletalControlBase (Contributed by tmiv)
#jira UE-53799
Change 4048474 by James.Golding
PR #4423: Rename confusing argument in LineBoxIntersection (Contributed by Hybrid0)
#jira UE-54145
Change 4048485 by James.Golding
Fix compile error display from PoseDriver node
#jira UE-58306
Change 4048489 by James.Golding
Finish support for ProceduralMeshComponent supporting multiple UV channels
#jira UE-54049
Change 4048678 by Thomas.Sarkanen
Allowing blend space samples to be optionally moved off-grid
Grid samples are now each optionally snapped.
#jira UE-56116 - Allow blend spaces to optionally use off-grid sample points
Change 4048773 by Lina.Halper
Support pose factory with name input
#jira: UE-55859
Change 4048844 by David.Hill
Material Proxy Settings
Updating the max on the material proxy texture size - old value could cause int32 overflow.
#jira: UE-55441
Change 4049464 by Lina.Halper
update curve is expensive, and we're doing multiple times with same curve sets. I'm changing it so that it only updates main, and copy from main instance to sub/post.
#jira: UE-58459
Change 4050939 by Aaron.McLeran
PR #4649: Activated reverbs will now take priority when world settings are used (i.e. no volume proxy is in use) (Contributed by Brandon-Wilson)
#jira UE-57546
Change 4050954 by Aaron.McLeran
PR #4594: Added class type to allow inherited versions of UAudioComponents to be created (Contributed by korypostma)
#jira UE-56454
Change 4050960 by Aaron.McLeran
Attempt to fix linux build.
Change 4051247 by James.Golding
Fix ProcMeshComp UpdateSection not copying all UV sets
Add test case for ProcMeshComp with multiple UVs
#jira UE-54049
Change 4051250 by James.Golding
Add bUseHighPrecisionTangentBasis option to SkeletalMesh
Change SkeletalMesh source data to store tangents at higher precision
#jira UE-58525
Change 4051616 by Thomas.Sarkanen
Mass scale is no longer incorrectly clamped
This now allows mass scales below 0.01 and above 100.
#jira UE-49572 - MassScale has some edge cases for skeletal mesh component and small numbers
Change 4051619 by Thomas.Sarkanen
Fixed notify drag/drop on high DPI displays
#jira UE-55690 - Animation Notifies Do Not Move Past the Center of Timeline On a High DPI Display
Change 4051626 by Thomas.Sarkanen
Fix anim dynamics debug rendering
#jira UE-53902 - Anim Dynamics node is missing wireframe simulation box in preview
#jira UE-57983 - GitHub 4674 : UE-57910 Fix the angular limits display issue while selecting the AnimDynamics node
Change 4051628 by Thomas.Sarkanen
Constraints and bodies now rotate in their own local space in the physics asset editor
When local coordinate system is applied
#jira UE-50345 - rotating constraints or bodies in Phat with local axis
Change 4051634 by Thomas.Sarkanen
Automatic rules for state transitions are now shown in tooltips
#jira UE-57689 - Animation State Machine Transitions that use bAutomaticRuleBasedOnSequencePlayerInState, should indicate that in the transition
Change 4051636 by Thomas.Sarkanen
NotifyTriggerChance is now hidden for nodify states as it has no effect
#jira UE-55351 - NotifyTriggerChance should be grayed out for UAnimNotifyState
Change 4051669 by Thomas.Sarkanen
Fixed accidental operation of pinned commands when closing them
#jira UE-54051 - Unpinning settings will toggle the next setting
Change 4051671 by Thomas.Sarkanen
Fix crash importing skeletal mesh with no vertices
Not a fix for the jira, but found while investigating
#jira UE-56330 - FBX Files Do Not Import After Using the Facial Anim Importer Unless Project is Reopened
Change 4051684 by James.Golding
Fix high precision tangents when CPU skinning and mesh merging
Remember bExistingUseHighPrecisionTangentBasis when re-importing SkelMesh
#jira UE-58525
Change 4051686 by James.Golding
PR #4297: Output animation name with ensure() - useful when debugging (Contributed by DSDambuster)
#jira UE-53259
Change 4051801 by Jurre.deBaare
A BlendSpace that puts the same asset on samples can stop its own animation on Switch
#fix Ensure that we don't cause divide-by-zero situations when sampling blendspace data
#jira UE-54030
Change 4051806 by Jurre.deBaare
Fix geometry cache reimport + serialization issues
Change 4051807 by Jurre.deBaare
Currently, it's not possible to assigned a material to a Geometry Cache .uasset
#fix EditAnywhere rather than VisibleAnywhere
#jira UE-58212
Change 4051809 by Jurre.deBaare
GeomCache: Crash/Bug: When importing file
#fix Ensure that we have a valid first frame when trying to import a sequence, if not error-out
#jira UE-58285
Change 4051813 by Jurre.deBaare
GeomCache: Bug: Normals Broken
#jira UE-58287
GeomCache - Normals are Bad on Import
#jira UE-58283
#fix ensure that we triangulate mesh attributes when necessary
#misc per-attribute indices check
Change 4051816 by Jurre.deBaare
Alembic QOL
- Fix issue with reimport object flags not being applied
- Now also store sampling data as part of Alembic asset import data
Change 4051817 by Jurre.deBaare
PR #4550: Fixes bug where "Merge Actors" or HLOD proxies result in too many mesh sections (Contributed by trond)
#fix Integrated pull-request in different form
#jira UE-55976
Change 4051818 by Jurre.deBaare
Emissive isn't baked correctly in TM-MeshbakeMap
#fix ensure that we OR and Max the material flags and emissive scale
#jira UE-54889
Change 4051819 by Jurre.deBaare
Crash on project load when GeometryCache plugin is disabled
#fix No longer force-load the geometry cache module as it was moved to be a plugin
#jira UE-57875
Change 4051820 by Jurre.deBaare
CLONE - Editor crash when Propagating Vertex Colors to Asset's source mesh
#fix IsValidIndex check
#jira UE-57127
Vertex painting
Change 4051828 by Jurre.deBaare
Merging negative-scaled actors breaks materials
#fix Make sure we also reverse the section indices when a static mesh has a mirrored transform
#jira UE-56953
Change 4051834 by Jurre.deBaare
Unclear warnings when generating clusters in persistent level when sublevels have HLOD disabled
#fix improved warning text + added uobject link to level in content browser
#jira UE-55734
Change 4051993 by Jurre.deBaare
Update Alembic automated test ground truth
#jira none
Change 4052937 by James.Golding
Remove now-unused version (merged change to skel source data from Main instead)
Change 4053291 by Aaron.McLeran
Fix for CIS
#jira none
Change 4053375 by Aaron.McLeran
#jira UE-58716 Allow ability to bypass volume-weighting with using sound wave priority
Change 4057170 by Thomas.Sarkanen
Fix shadow variable warning
#jira UE-58806 - Linux: Shadow Variable Warnings building Editor - PhysicsAssetEditorEditMode.cpp
Change 4057653 by Lina.Halper
Fix the issue with showing same item multiple times when opening control rig blueprint many times
#jira: UE-58107
Change 4057701 by Jurre.deBaare
//UE4/Dev-AnimPhys - Step 'Run Automated Tests' has completed with 13 Errors
#fix reupdate alembic ground truths, little bit of a weird state
#jira UE-58818
Change 4057710 by Ethan.Geller
[Dev-AnimPhys] #jira UE-58004 Early exit if finish was called before StartSubmixRecording. #rb Aaron.McLeran
Change 4059295 by Ethan.Geller
#jira UE-58004 Reduce logs from fatal to error, fix serialize crash. #rb aaron.mcleran
Change 4061061 by Aaron.McLeran
Fixing animphys build from recent merge from main.
#jira UE-58909
Change 4053154 by Aaron.McLeran
#jira UE-58708 Fix to mic component to reduce clicks/pops on mic input.
Fix was to simplify the way audio is copied from mic input. This change was used on the GDC demo floor for a number of features.
[CL 4062611 by Aaron McLeran in Main branch]
2018-05-09 18:45:58 -04:00
if ( TransNode - > bAutomaticRuleBasedOnSequencePlayerInState )
{
Widget - > AddSlot ( )
. AutoHeight ( )
. Padding ( 2.0f )
[
SNew ( STextBlock )
2022-05-09 13:12:28 -04:00
. TextStyle ( FAppStyle : : Get ( ) , TEXT ( " Graph.TransitionNode.TooltipRule " ) )
Copying //UE4/Dev-AnimPhys to //UE4/Dev-Main (Source: //UE4/Dev-AnimPhys @ 4062005)
#lockdown Nick.Penwarden
============================
MAJOR FEATURES & CHANGES
============================
Change 4005617 by Danny.Bouimad
Fixing TM-AnimPhys lighting so it works on all platforms
#jira UEENGQA-19924
Change 4014898 by Aaron.McLeran
Adding simple delay feature
Change 4025071 by Lina.Halper
Fix and more potential fix for invalid bone index issue
http://crashreporter/Buggs/Show/2052839
http://crashreporter/Crashes/Show/46656562
#jira: UE-51931
Change 4042493 by Lina.Halper
Fix issue with sequence evaluator to handle properly when jumps from end to front or front to end
#jira: UE-58429
Change 4042892 by Lina.Halper
Fix issue with being able to drag/drop montage onto anim track in sequencer
#jira: UE-57863
Change 4043553 by Ethan.Geller
#jira UE-58340 Handle calls to FVoiceCaptureWindows::GetVoiceData outside of existing data calls. #rb none
Change 4043613 by Lina.Halper
Fix issue with incorrect usage of staticclass
#jira: UE-54413
Change 4044069 by James.Golding
PR #4455: Add FAnimNode_StateMachine subclassing support. (Contributed by redfeatherplusplus)
#jira UE-54599
Change 4044070 by James.Golding
PR #4349: Final points on a line test were broken, changed Plane.PlaneDot to FM. (Contributed by DSDambuster)
#jira UE-53554
Change 4044072 by James.Golding
Add ENGINE_API to UPhysicsHandleComponent so it can be subclassed
#jira UE-56397
Change 4044073 by James.Golding
PR #4611: Expose a few API's so it's possible to make custom anim graph nodes using these objects. (Contributed by ill)
#jira UE-57004
Change 4044075 by James.Golding
PR #4618: Bugfix: typo in path for CustomMeshComponent (case error) (Contributed by malavon)
#jira UE-57077
Change 4044077 by James.Golding
Add ClassGroup to some components
#jira UE-57587, UE-57609
Change 4044080 by James.Golding
PR #4515: Adding API export macro to ACableActor (Contributed by maxtunel)
#jira UE-55515
Change 4044082 by James.Golding
Remove unused CopySkinnedModelData function
#jira UE-57623
Change 4044083 by James.Golding
Fix per-poly collision for skel meshes. Make sure to call UpdateKinematicBonesToAnim if bEnablePerPolyCollision is set, even if no bodies
Integration of CL 3971421 from Release-4.19 stream
#jira UE-56405
Change 4044084 by James.Golding
Add option to preview 'fixed bounds' in SkelMesh editors.
Change 4044086 by James.Golding
Remove unused RigidInfluenceIndex from CPU skinning code
Change 4044310 by James.Golding
Roll back changes to make PhysX cool fails a log instead of warning (CL 3995372, UE-56466), now that content is fixed
Change 4044416 by Lina.Halper
Provide BP interface to get curve list of names
#jira: UE-52623
Change 4044419 by Lina.Halper
added notification for updating pose asset
#jira: UE-56233
Change 4046929 by Ethan.Geller
#jira none add my developer folder to QAGame. #fyi dan.reynolds
Change 4047064 by Ethan.Geller
[Dev-AnimPhys] #jira UE-57890 add additional binaries for Steam Audio to LibPhonon.Build.cs. #rb none
Change 4047564 by Lina.Halper
Fix issue of not regenerating when reimport mesh
#jira: UE-58284
Change 4047630 by Ethan.Geller
Fix syntax error in libPhonon. #jira none #rb none
Change 4048050 by Thomas.Sarkanen
Allowed "Follow Bone" to be popped out of the menu into the viewport
This allows for quick re-selection of the bone to follow, avoiding multiple clicks
Tweaks and extends the "pinned command list" system to allow dynamic text in labels and labels to be hidden.
#jira UE-53070 - Follow bone - Follow selected bone
Change 4048064 by Thomas.Sarkanen
Validate any bone references during compilation
Bone references that are set to something other than NAME_None will be verified against the skeleton.
Updated various anim nodes to call the base class ValidateAnimNodeDuringCompilation
#jira UE-55680 - Anim graph nodes that use FBoneReference all need validation in ValidateAnimNodeDuringCompilation
Change 4048468 by James.Golding
PR #4319: Allow UAnimNotify_PlayMontageNotify to be inherited by other dlls (Contributed by DSDambuster)
#jira UE-53390
Change 4048470 by James.Golding
Implement ApplyWorldOffset to CableComponent, to handle origin shifting
#jira UE-53560
Change 4048471 by James.Golding
PR #4396: fix cachebones for subclasses of FAnimNode_SkeletalControlBase (Contributed by tmiv)
#jira UE-53799
Change 4048474 by James.Golding
PR #4423: Rename confusing argument in LineBoxIntersection (Contributed by Hybrid0)
#jira UE-54145
Change 4048485 by James.Golding
Fix compile error display from PoseDriver node
#jira UE-58306
Change 4048489 by James.Golding
Finish support for ProceduralMeshComponent supporting multiple UV channels
#jira UE-54049
Change 4048678 by Thomas.Sarkanen
Allowing blend space samples to be optionally moved off-grid
Grid samples are now each optionally snapped.
#jira UE-56116 - Allow blend spaces to optionally use off-grid sample points
Change 4048773 by Lina.Halper
Support pose factory with name input
#jira: UE-55859
Change 4048844 by David.Hill
Material Proxy Settings
Updating the max on the material proxy texture size - old value could cause int32 overflow.
#jira: UE-55441
Change 4049464 by Lina.Halper
update curve is expensive, and we're doing multiple times with same curve sets. I'm changing it so that it only updates main, and copy from main instance to sub/post.
#jira: UE-58459
Change 4050939 by Aaron.McLeran
PR #4649: Activated reverbs will now take priority when world settings are used (i.e. no volume proxy is in use) (Contributed by Brandon-Wilson)
#jira UE-57546
Change 4050954 by Aaron.McLeran
PR #4594: Added class type to allow inherited versions of UAudioComponents to be created (Contributed by korypostma)
#jira UE-56454
Change 4050960 by Aaron.McLeran
Attempt to fix linux build.
Change 4051247 by James.Golding
Fix ProcMeshComp UpdateSection not copying all UV sets
Add test case for ProcMeshComp with multiple UVs
#jira UE-54049
Change 4051250 by James.Golding
Add bUseHighPrecisionTangentBasis option to SkeletalMesh
Change SkeletalMesh source data to store tangents at higher precision
#jira UE-58525
Change 4051616 by Thomas.Sarkanen
Mass scale is no longer incorrectly clamped
This now allows mass scales below 0.01 and above 100.
#jira UE-49572 - MassScale has some edge cases for skeletal mesh component and small numbers
Change 4051619 by Thomas.Sarkanen
Fixed notify drag/drop on high DPI displays
#jira UE-55690 - Animation Notifies Do Not Move Past the Center of Timeline On a High DPI Display
Change 4051626 by Thomas.Sarkanen
Fix anim dynamics debug rendering
#jira UE-53902 - Anim Dynamics node is missing wireframe simulation box in preview
#jira UE-57983 - GitHub 4674 : UE-57910 Fix the angular limits display issue while selecting the AnimDynamics node
Change 4051628 by Thomas.Sarkanen
Constraints and bodies now rotate in their own local space in the physics asset editor
When local coordinate system is applied
#jira UE-50345 - rotating constraints or bodies in Phat with local axis
Change 4051634 by Thomas.Sarkanen
Automatic rules for state transitions are now shown in tooltips
#jira UE-57689 - Animation State Machine Transitions that use bAutomaticRuleBasedOnSequencePlayerInState, should indicate that in the transition
Change 4051636 by Thomas.Sarkanen
NotifyTriggerChance is now hidden for nodify states as it has no effect
#jira UE-55351 - NotifyTriggerChance should be grayed out for UAnimNotifyState
Change 4051669 by Thomas.Sarkanen
Fixed accidental operation of pinned commands when closing them
#jira UE-54051 - Unpinning settings will toggle the next setting
Change 4051671 by Thomas.Sarkanen
Fix crash importing skeletal mesh with no vertices
Not a fix for the jira, but found while investigating
#jira UE-56330 - FBX Files Do Not Import After Using the Facial Anim Importer Unless Project is Reopened
Change 4051684 by James.Golding
Fix high precision tangents when CPU skinning and mesh merging
Remember bExistingUseHighPrecisionTangentBasis when re-importing SkelMesh
#jira UE-58525
Change 4051686 by James.Golding
PR #4297: Output animation name with ensure() - useful when debugging (Contributed by DSDambuster)
#jira UE-53259
Change 4051801 by Jurre.deBaare
A BlendSpace that puts the same asset on samples can stop its own animation on Switch
#fix Ensure that we don't cause divide-by-zero situations when sampling blendspace data
#jira UE-54030
Change 4051806 by Jurre.deBaare
Fix geometry cache reimport + serialization issues
Change 4051807 by Jurre.deBaare
Currently, it's not possible to assigned a material to a Geometry Cache .uasset
#fix EditAnywhere rather than VisibleAnywhere
#jira UE-58212
Change 4051809 by Jurre.deBaare
GeomCache: Crash/Bug: When importing file
#fix Ensure that we have a valid first frame when trying to import a sequence, if not error-out
#jira UE-58285
Change 4051813 by Jurre.deBaare
GeomCache: Bug: Normals Broken
#jira UE-58287
GeomCache - Normals are Bad on Import
#jira UE-58283
#fix ensure that we triangulate mesh attributes when necessary
#misc per-attribute indices check
Change 4051816 by Jurre.deBaare
Alembic QOL
- Fix issue with reimport object flags not being applied
- Now also store sampling data as part of Alembic asset import data
Change 4051817 by Jurre.deBaare
PR #4550: Fixes bug where "Merge Actors" or HLOD proxies result in too many mesh sections (Contributed by trond)
#fix Integrated pull-request in different form
#jira UE-55976
Change 4051818 by Jurre.deBaare
Emissive isn't baked correctly in TM-MeshbakeMap
#fix ensure that we OR and Max the material flags and emissive scale
#jira UE-54889
Change 4051819 by Jurre.deBaare
Crash on project load when GeometryCache plugin is disabled
#fix No longer force-load the geometry cache module as it was moved to be a plugin
#jira UE-57875
Change 4051820 by Jurre.deBaare
CLONE - Editor crash when Propagating Vertex Colors to Asset's source mesh
#fix IsValidIndex check
#jira UE-57127
Vertex painting
Change 4051828 by Jurre.deBaare
Merging negative-scaled actors breaks materials
#fix Make sure we also reverse the section indices when a static mesh has a mirrored transform
#jira UE-56953
Change 4051834 by Jurre.deBaare
Unclear warnings when generating clusters in persistent level when sublevels have HLOD disabled
#fix improved warning text + added uobject link to level in content browser
#jira UE-55734
Change 4051993 by Jurre.deBaare
Update Alembic automated test ground truth
#jira none
Change 4052937 by James.Golding
Remove now-unused version (merged change to skel source data from Main instead)
Change 4053291 by Aaron.McLeran
Fix for CIS
#jira none
Change 4053375 by Aaron.McLeran
#jira UE-58716 Allow ability to bypass volume-weighting with using sound wave priority
Change 4057170 by Thomas.Sarkanen
Fix shadow variable warning
#jira UE-58806 - Linux: Shadow Variable Warnings building Editor - PhysicsAssetEditorEditMode.cpp
Change 4057653 by Lina.Halper
Fix the issue with showing same item multiple times when opening control rig blueprint many times
#jira: UE-58107
Change 4057701 by Jurre.deBaare
//UE4/Dev-AnimPhys - Step 'Run Automated Tests' has completed with 13 Errors
#fix reupdate alembic ground truths, little bit of a weird state
#jira UE-58818
Change 4057710 by Ethan.Geller
[Dev-AnimPhys] #jira UE-58004 Early exit if finish was called before StartSubmixRecording. #rb Aaron.McLeran
Change 4059295 by Ethan.Geller
#jira UE-58004 Reduce logs from fatal to error, fix serialize crash. #rb aaron.mcleran
Change 4061061 by Aaron.McLeran
Fixing animphys build from recent merge from main.
#jira UE-58909
Change 4053154 by Aaron.McLeran
#jira UE-58708 Fix to mic component to reduce clicks/pops on mic input.
Fix was to simplify the way audio is copied from mic input. This change was used on the GDC demo floor for a number of features.
[CL 4062611 by Aaron McLeran in Main branch]
2018-05-09 18:45:58 -04:00
. Text ( LOCTEXT ( " AnimGraphNodeAutomaticRule_ToolTip " , " Automatic Rule " ) )
] ;
}
else
{
Widget - > AddSlot ( )
2014-03-14 14:13:41 -04:00
. AutoHeight ( )
. Padding ( 2.0f )
[
SNew ( STextBlock )
2022-05-09 13:12:28 -04:00
. TextStyle ( FAppStyle : : Get ( ) , TEXT ( " Graph.TransitionNode.TooltipRule " ) )
2014-03-14 14:13:41 -04:00
. Text ( LOCTEXT ( " AnimGraphNodeTransitionRule_ToolTip " , " Transition Rule (in words) " ) )
] ;
Copying //UE4/Dev-AnimPhys to //UE4/Dev-Main (Source: //UE4/Dev-AnimPhys @ 4062005)
#lockdown Nick.Penwarden
============================
MAJOR FEATURES & CHANGES
============================
Change 4005617 by Danny.Bouimad
Fixing TM-AnimPhys lighting so it works on all platforms
#jira UEENGQA-19924
Change 4014898 by Aaron.McLeran
Adding simple delay feature
Change 4025071 by Lina.Halper
Fix and more potential fix for invalid bone index issue
http://crashreporter/Buggs/Show/2052839
http://crashreporter/Crashes/Show/46656562
#jira: UE-51931
Change 4042493 by Lina.Halper
Fix issue with sequence evaluator to handle properly when jumps from end to front or front to end
#jira: UE-58429
Change 4042892 by Lina.Halper
Fix issue with being able to drag/drop montage onto anim track in sequencer
#jira: UE-57863
Change 4043553 by Ethan.Geller
#jira UE-58340 Handle calls to FVoiceCaptureWindows::GetVoiceData outside of existing data calls. #rb none
Change 4043613 by Lina.Halper
Fix issue with incorrect usage of staticclass
#jira: UE-54413
Change 4044069 by James.Golding
PR #4455: Add FAnimNode_StateMachine subclassing support. (Contributed by redfeatherplusplus)
#jira UE-54599
Change 4044070 by James.Golding
PR #4349: Final points on a line test were broken, changed Plane.PlaneDot to FM. (Contributed by DSDambuster)
#jira UE-53554
Change 4044072 by James.Golding
Add ENGINE_API to UPhysicsHandleComponent so it can be subclassed
#jira UE-56397
Change 4044073 by James.Golding
PR #4611: Expose a few API's so it's possible to make custom anim graph nodes using these objects. (Contributed by ill)
#jira UE-57004
Change 4044075 by James.Golding
PR #4618: Bugfix: typo in path for CustomMeshComponent (case error) (Contributed by malavon)
#jira UE-57077
Change 4044077 by James.Golding
Add ClassGroup to some components
#jira UE-57587, UE-57609
Change 4044080 by James.Golding
PR #4515: Adding API export macro to ACableActor (Contributed by maxtunel)
#jira UE-55515
Change 4044082 by James.Golding
Remove unused CopySkinnedModelData function
#jira UE-57623
Change 4044083 by James.Golding
Fix per-poly collision for skel meshes. Make sure to call UpdateKinematicBonesToAnim if bEnablePerPolyCollision is set, even if no bodies
Integration of CL 3971421 from Release-4.19 stream
#jira UE-56405
Change 4044084 by James.Golding
Add option to preview 'fixed bounds' in SkelMesh editors.
Change 4044086 by James.Golding
Remove unused RigidInfluenceIndex from CPU skinning code
Change 4044310 by James.Golding
Roll back changes to make PhysX cool fails a log instead of warning (CL 3995372, UE-56466), now that content is fixed
Change 4044416 by Lina.Halper
Provide BP interface to get curve list of names
#jira: UE-52623
Change 4044419 by Lina.Halper
added notification for updating pose asset
#jira: UE-56233
Change 4046929 by Ethan.Geller
#jira none add my developer folder to QAGame. #fyi dan.reynolds
Change 4047064 by Ethan.Geller
[Dev-AnimPhys] #jira UE-57890 add additional binaries for Steam Audio to LibPhonon.Build.cs. #rb none
Change 4047564 by Lina.Halper
Fix issue of not regenerating when reimport mesh
#jira: UE-58284
Change 4047630 by Ethan.Geller
Fix syntax error in libPhonon. #jira none #rb none
Change 4048050 by Thomas.Sarkanen
Allowed "Follow Bone" to be popped out of the menu into the viewport
This allows for quick re-selection of the bone to follow, avoiding multiple clicks
Tweaks and extends the "pinned command list" system to allow dynamic text in labels and labels to be hidden.
#jira UE-53070 - Follow bone - Follow selected bone
Change 4048064 by Thomas.Sarkanen
Validate any bone references during compilation
Bone references that are set to something other than NAME_None will be verified against the skeleton.
Updated various anim nodes to call the base class ValidateAnimNodeDuringCompilation
#jira UE-55680 - Anim graph nodes that use FBoneReference all need validation in ValidateAnimNodeDuringCompilation
Change 4048468 by James.Golding
PR #4319: Allow UAnimNotify_PlayMontageNotify to be inherited by other dlls (Contributed by DSDambuster)
#jira UE-53390
Change 4048470 by James.Golding
Implement ApplyWorldOffset to CableComponent, to handle origin shifting
#jira UE-53560
Change 4048471 by James.Golding
PR #4396: fix cachebones for subclasses of FAnimNode_SkeletalControlBase (Contributed by tmiv)
#jira UE-53799
Change 4048474 by James.Golding
PR #4423: Rename confusing argument in LineBoxIntersection (Contributed by Hybrid0)
#jira UE-54145
Change 4048485 by James.Golding
Fix compile error display from PoseDriver node
#jira UE-58306
Change 4048489 by James.Golding
Finish support for ProceduralMeshComponent supporting multiple UV channels
#jira UE-54049
Change 4048678 by Thomas.Sarkanen
Allowing blend space samples to be optionally moved off-grid
Grid samples are now each optionally snapped.
#jira UE-56116 - Allow blend spaces to optionally use off-grid sample points
Change 4048773 by Lina.Halper
Support pose factory with name input
#jira: UE-55859
Change 4048844 by David.Hill
Material Proxy Settings
Updating the max on the material proxy texture size - old value could cause int32 overflow.
#jira: UE-55441
Change 4049464 by Lina.Halper
update curve is expensive, and we're doing multiple times with same curve sets. I'm changing it so that it only updates main, and copy from main instance to sub/post.
#jira: UE-58459
Change 4050939 by Aaron.McLeran
PR #4649: Activated reverbs will now take priority when world settings are used (i.e. no volume proxy is in use) (Contributed by Brandon-Wilson)
#jira UE-57546
Change 4050954 by Aaron.McLeran
PR #4594: Added class type to allow inherited versions of UAudioComponents to be created (Contributed by korypostma)
#jira UE-56454
Change 4050960 by Aaron.McLeran
Attempt to fix linux build.
Change 4051247 by James.Golding
Fix ProcMeshComp UpdateSection not copying all UV sets
Add test case for ProcMeshComp with multiple UVs
#jira UE-54049
Change 4051250 by James.Golding
Add bUseHighPrecisionTangentBasis option to SkeletalMesh
Change SkeletalMesh source data to store tangents at higher precision
#jira UE-58525
Change 4051616 by Thomas.Sarkanen
Mass scale is no longer incorrectly clamped
This now allows mass scales below 0.01 and above 100.
#jira UE-49572 - MassScale has some edge cases for skeletal mesh component and small numbers
Change 4051619 by Thomas.Sarkanen
Fixed notify drag/drop on high DPI displays
#jira UE-55690 - Animation Notifies Do Not Move Past the Center of Timeline On a High DPI Display
Change 4051626 by Thomas.Sarkanen
Fix anim dynamics debug rendering
#jira UE-53902 - Anim Dynamics node is missing wireframe simulation box in preview
#jira UE-57983 - GitHub 4674 : UE-57910 Fix the angular limits display issue while selecting the AnimDynamics node
Change 4051628 by Thomas.Sarkanen
Constraints and bodies now rotate in their own local space in the physics asset editor
When local coordinate system is applied
#jira UE-50345 - rotating constraints or bodies in Phat with local axis
Change 4051634 by Thomas.Sarkanen
Automatic rules for state transitions are now shown in tooltips
#jira UE-57689 - Animation State Machine Transitions that use bAutomaticRuleBasedOnSequencePlayerInState, should indicate that in the transition
Change 4051636 by Thomas.Sarkanen
NotifyTriggerChance is now hidden for nodify states as it has no effect
#jira UE-55351 - NotifyTriggerChance should be grayed out for UAnimNotifyState
Change 4051669 by Thomas.Sarkanen
Fixed accidental operation of pinned commands when closing them
#jira UE-54051 - Unpinning settings will toggle the next setting
Change 4051671 by Thomas.Sarkanen
Fix crash importing skeletal mesh with no vertices
Not a fix for the jira, but found while investigating
#jira UE-56330 - FBX Files Do Not Import After Using the Facial Anim Importer Unless Project is Reopened
Change 4051684 by James.Golding
Fix high precision tangents when CPU skinning and mesh merging
Remember bExistingUseHighPrecisionTangentBasis when re-importing SkelMesh
#jira UE-58525
Change 4051686 by James.Golding
PR #4297: Output animation name with ensure() - useful when debugging (Contributed by DSDambuster)
#jira UE-53259
Change 4051801 by Jurre.deBaare
A BlendSpace that puts the same asset on samples can stop its own animation on Switch
#fix Ensure that we don't cause divide-by-zero situations when sampling blendspace data
#jira UE-54030
Change 4051806 by Jurre.deBaare
Fix geometry cache reimport + serialization issues
Change 4051807 by Jurre.deBaare
Currently, it's not possible to assigned a material to a Geometry Cache .uasset
#fix EditAnywhere rather than VisibleAnywhere
#jira UE-58212
Change 4051809 by Jurre.deBaare
GeomCache: Crash/Bug: When importing file
#fix Ensure that we have a valid first frame when trying to import a sequence, if not error-out
#jira UE-58285
Change 4051813 by Jurre.deBaare
GeomCache: Bug: Normals Broken
#jira UE-58287
GeomCache - Normals are Bad on Import
#jira UE-58283
#fix ensure that we triangulate mesh attributes when necessary
#misc per-attribute indices check
Change 4051816 by Jurre.deBaare
Alembic QOL
- Fix issue with reimport object flags not being applied
- Now also store sampling data as part of Alembic asset import data
Change 4051817 by Jurre.deBaare
PR #4550: Fixes bug where "Merge Actors" or HLOD proxies result in too many mesh sections (Contributed by trond)
#fix Integrated pull-request in different form
#jira UE-55976
Change 4051818 by Jurre.deBaare
Emissive isn't baked correctly in TM-MeshbakeMap
#fix ensure that we OR and Max the material flags and emissive scale
#jira UE-54889
Change 4051819 by Jurre.deBaare
Crash on project load when GeometryCache plugin is disabled
#fix No longer force-load the geometry cache module as it was moved to be a plugin
#jira UE-57875
Change 4051820 by Jurre.deBaare
CLONE - Editor crash when Propagating Vertex Colors to Asset's source mesh
#fix IsValidIndex check
#jira UE-57127
Vertex painting
Change 4051828 by Jurre.deBaare
Merging negative-scaled actors breaks materials
#fix Make sure we also reverse the section indices when a static mesh has a mirrored transform
#jira UE-56953
Change 4051834 by Jurre.deBaare
Unclear warnings when generating clusters in persistent level when sublevels have HLOD disabled
#fix improved warning text + added uobject link to level in content browser
#jira UE-55734
Change 4051993 by Jurre.deBaare
Update Alembic automated test ground truth
#jira none
Change 4052937 by James.Golding
Remove now-unused version (merged change to skel source data from Main instead)
Change 4053291 by Aaron.McLeran
Fix for CIS
#jira none
Change 4053375 by Aaron.McLeran
#jira UE-58716 Allow ability to bypass volume-weighting with using sound wave priority
Change 4057170 by Thomas.Sarkanen
Fix shadow variable warning
#jira UE-58806 - Linux: Shadow Variable Warnings building Editor - PhysicsAssetEditorEditMode.cpp
Change 4057653 by Lina.Halper
Fix the issue with showing same item multiple times when opening control rig blueprint many times
#jira: UE-58107
Change 4057701 by Jurre.deBaare
//UE4/Dev-AnimPhys - Step 'Run Automated Tests' has completed with 13 Errors
#fix reupdate alembic ground truths, little bit of a weird state
#jira UE-58818
Change 4057710 by Ethan.Geller
[Dev-AnimPhys] #jira UE-58004 Early exit if finish was called before StartSubmixRecording. #rb Aaron.McLeran
Change 4059295 by Ethan.Geller
#jira UE-58004 Reduce logs from fatal to error, fix serialize crash. #rb aaron.mcleran
Change 4061061 by Aaron.McLeran
Fixing animphys build from recent merge from main.
#jira UE-58909
Change 4053154 by Aaron.McLeran
#jira UE-58708 Fix to mic component to reduce clicks/pops on mic input.
Fix was to simplify the way audio is copied from mic input. This change was used on the GDC demo floor for a number of features.
[CL 4062611 by Aaron McLeran in Main branch]
2018-05-09 18:45:58 -04:00
Widget - > AddSlot ( )
. AutoHeight ( )
. Padding ( 2.0f )
[
SNew ( SKismetLinearExpression , CanExecPin )
] ;
}
2014-03-14 14:13:41 -04:00
Widget - > AddSlot ( )
. AutoHeight ( )
. Padding ( 2.0f )
[
IDocumentation : : Get ( ) - > CreateToolTip ( FText : : FromString ( " Documentation " ) , NULL , TransNode - > GetDocumentationLink ( ) , TransNode - > GetDocumentationExcerptName ( ) )
] ;
return Widget ;
}
TSharedPtr < SToolTip > SGraphNodeAnimTransition : : GetComplexTooltip ( )
{
return SNew ( SToolTip )
[
GenerateRichTooltip ( )
] ;
}
void SGraphNodeAnimTransition : : UpdateGraphNode ( )
{
InputPins . Empty ( ) ;
OutputPins . Empty ( ) ;
// Reset variables that are going to be exposed, in case we are refreshing an already setup node.
RightNodeBox . Reset ( ) ;
LeftNodeBox . Reset ( ) ;
this - > ContentScale . Bind ( this , & SGraphNode : : GetContentScale ) ;
2014-11-03 10:40:57 -05:00
this - > GetOrAddSlot ( ENodeZone : : Center )
2014-03-14 14:13:41 -04:00
. HAlign ( HAlign_Center )
. VAlign ( VAlign_Center )
[
SNew ( SOverlay )
+ SOverlay : : Slot ( )
[
SNew ( SImage )
2022-05-09 13:12:28 -04:00
. Image ( FAppStyle : : GetBrush ( " Graph.TransitionNode.ColorSpill " ) )
2014-03-14 14:13:41 -04:00
. ColorAndOpacity ( this , & SGraphNodeAnimTransition : : GetTransitionColor )
]
+ SOverlay : : Slot ( )
[
SNew ( SImage )
2019-09-17 19:12:19 -04:00
. Image ( this , & SGraphNodeAnimTransition : : GetTransitionIconImage )
2014-03-14 14:13:41 -04:00
]
] ;
}
2015-01-07 09:52:40 -05:00
FText SGraphNodeAnimTransition : : GetPreviewCornerText ( bool bReverse ) const
2014-03-14 14:13:41 -04:00
{
UAnimStateTransitionNode * TransNode = CastChecked < UAnimStateTransitionNode > ( GraphNode ) ;
UAnimStateNodeBase * PrevState = ( bReverse ? TransNode - > GetNextState ( ) : TransNode - > GetPreviousState ( ) ) ;
UAnimStateNodeBase * NextState = ( bReverse ? TransNode - > GetPreviousState ( ) : TransNode - > GetNextState ( ) ) ;
2015-01-07 09:52:40 -05:00
FText Result = LOCTEXT ( " BadTransition " , " Bad transition (missing source or target) " ) ;
2014-03-14 14:13:41 -04:00
// Show the priority if there is any ambiguity
if ( PrevState ! = NULL )
{
if ( NextState ! = NULL )
{
2015-01-07 09:52:40 -05:00
TArray < UAnimStateTransitionNode * > TransitionFromSource ;
PrevState - > GetTransitionList ( /*out*/ TransitionFromSource ) ;
2014-03-14 14:13:41 -04:00
bool bMultiplePriorities = false ;
2015-01-07 09:52:40 -05:00
if ( TransitionFromSource . Num ( ) > 1 )
2014-03-14 14:13:41 -04:00
{
2015-01-07 09:52:40 -05:00
// See if the priorities differ
for ( int32 Index = 0 ; ( Index < TransitionFromSource . Num ( ) ) & & ! bMultiplePriorities ; + + Index )
{
const bool bDifferentPriority = ( TransitionFromSource [ Index ] - > PriorityOrder ! = TransNode - > PriorityOrder ) ;
bMultiplePriorities | = bDifferentPriority ;
}
2014-03-14 14:13:41 -04:00
}
if ( bMultiplePriorities )
{
2015-01-07 09:52:40 -05:00
Result = FText : : Format ( LOCTEXT ( " TransitionXToYWithPriority " , " {0} to {1} (Priority {2}) " ) , FText : : FromString ( PrevState - > GetStateName ( ) ) , FText : : FromString ( NextState - > GetStateName ( ) ) , FText : : AsNumber ( TransNode - > PriorityOrder ) ) ;
}
else
{
Result = FText : : Format ( LOCTEXT ( " TransitionXToY " , " {0} to {1} " ) , FText : : FromString ( PrevState - > GetStateName ( ) ) , FText : : FromString ( NextState - > GetStateName ( ) ) ) ;
2014-03-14 14:13:41 -04:00
}
}
}
return Result ;
}
FLinearColor SGraphNodeAnimTransition : : StaticGetTransitionColor ( UAnimStateTransitionNode * TransNode , bool bIsHovered )
{
//@TODO: Make configurable by styling
const FLinearColor ActiveColor ( 1.0f , 0.4f , 0.3f , 1.0f ) ;
const FLinearColor HoverColor ( 0.724f , 0.256f , 0.0f , 1.0f ) ;
FLinearColor BaseColor ( 0.9f , 0.9f , 0.9f , 1.0f ) ;
// Display various types of debug data
UAnimBlueprint * AnimBlueprint = Cast < UAnimBlueprint > ( FBlueprintEditorUtils : : FindBlueprintForNodeChecked ( TransNode ) ) ;
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3125172)
#lockdown Nick.Penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3053250 on 2016/07/18 by Steve.Robb
TNot metafunction added.
Change 3053252 on 2016/07/18 by Steve.Robb
New TIsEnumClass trait.
Change 3061345 on 2016/07/22 by Robert.Manuszewski
Changing FMallocStomp::GetAllocationSize() to return the requested allocation size instead of the physical allocation size to make FMallocStomp work properly with FMallocPoisonProxy
Change 3061377 on 2016/07/22 by Graeme.Thornton
Added bStripAnimationDataOnDedicatedServer option to UAnimationSettings which will remove all compressed data from cooked server data. Disabled by default
Change 3064592 on 2016/07/26 by Steven.Hutton
Uploading repository files
Change 3064595 on 2016/07/26 by Steven.Hutton
Assign crashes to buggs based not just on Callstack but also based on Error message.
Error messages have "data" masked out and are then compared to a table of error messages to find similar messages. Ensures are not currently filtered by error message.
Change 3066046 on 2016/07/27 by Graeme.Thornton
Better dedicated client/server class exclusion during cooking
- Add class lists to cooker settings so they can be modified in the editor
Change 3066077 on 2016/07/27 by Graeme.Thornton
Move Paragon NeedsLoadForServer calls over to the new config based system
Change 3066203 on 2016/07/27 by Chris.Wood
CrashReportProcess logging and Slack reporting improvements to monitor disk space.
[UE-31129] - Crash Report server need to alert on Slack when the PDB cache is full
Change 3066276 on 2016/07/27 by Graeme.Thornton
Move simple NeedsLoadForClient implementations over to new config based system
Change 3068019 on 2016/07/28 by Graeme.Thornton
Don't call ReleaseResources on UStaticMesh if we never render, and therefore never actually initialize the resources
- Corrects some bad stats
Change 3068218 on 2016/07/28 by Chris.Wood
CrashReportProcess 1.1.18 passes BuildVersion to MinidumpDiagnostics
[UE-31706] - Add new BuildVersion string to crash context and website
Also modified command line log file ini settings to stop MDD stalling trying to sort and delete its logs.
Change 3071665 on 2016/08/01 by Robert.Manuszewski
Moving RemoveNamesFromMasterList from UEnum destructor to BeginDestroy to avoid potential issues when its package has already been destroyed.
Change 3073388 on 2016/08/02 by Graeme.Thornton
Invalidate string asset reference tags after finishing up loading of an async package
Change 3073745 on 2016/08/02 by Robert.Manuszewski
Disabling logging to memory in shipping by default. From now on FOutputDeviceMemory will be an opt-in for games.
#jira FORT-27839
Change 3074866 on 2016/08/03 by Robert.Manuszewski
PR #2650: Fixed a bug where newline escape sequence wasnt written to the pipe (Contributed by ozturkhakki)
Change 3075128 on 2016/08/03 by Steve.Robb
Static analysis fixes: error C2065: 'ThisOuterWorld': undeclared identifier
Change 3075130 on 2016/08/03 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'LODLevel'
Change 3075131 on 2016/08/03 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'Owner'
Change 3075235 on 2016/08/03 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'AnimToOperateOn'
Change 3075248 on 2016/08/03 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'ParentProfile'
Change 3075662 on 2016/08/03 by Steve.Robb
Static analysis/buffer size fix: warning C28020: The expression '_Param_(7)>=sizeof(ICMP_ECHO_REPLY)+_Param_(4)+8' is not true at this call
Change 3075668 on 2016/08/03 by Steve.Robb
Static analysis fix: warning C6326: Potential comparison of a constant with another constant
Change 3075679 on 2016/08/03 by Chris.Wood
Added -NoTrimCallstack command line arg to MDD calls from CRP 1.1.19
[OR-26335] - 29.1 crash reporter generating reports with no callstacks / info
New MDD has -NoTrimCallstack option to leave possibly irrelevant entires in the stack. Trimming is somewhat arbitrary and based on string matching. I'd rather see the whole thing.
Change 3077070 on 2016/08/04 by Steve.Robb
Dead array slack tracking code removed.
Change 3077113 on 2016/08/04 by Steve.Robb
TEnumAsByte is now deprecated for enum classes.
All current uses fixed (which tidies up that code anyway).
New FArchive::op<< for enum classes.
Generated code now never uses TEnumAsByte for enum classes.
Change 3077117 on 2016/08/04 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'DefaultSettings'
Change 3078709 on 2016/08/05 by Steve.Robb
FUNCTION_NO_NULL_RETURN_* macros added to statically annotate a function to say that it never returns a null pointer.
TObjectIterator annotated to never return null.
NewObject annotated to never return null.
Change 3078836 on 2016/08/05 by Graeme.Thornton
Silently skip creating exports from a package where the outer is also an export and has been filtered at runtime during loading
Change 3082217 on 2016/08/09 by Steve.Robb
Missing #include for FUniqueNetIdRepl added.
Change 3083679 on 2016/08/10 by Chris.Wood
CrashReportProcess performance improvements. CRP v1.1.22
[UE-34402] - Crash Reporter: Improve CRP performance by allowing multiple MDD instances
[UE-34403] - Crash Reporter: CRP should throw away crashes when backlog is too large to avoid runaway
Passing lock details to MDD on command line and managing multiple MDD tasks in CRP.
Configurable values for range of queue sizes that cause us to throw away crashes.
Change 3085362 on 2016/08/11 by Steve.Robb
Rule-of-three fixes for FAIMessageObserver, to prevent accidents.
From here: https://udn.unrealengine.com/questions/306507/tstaticarray-doesnt-call-destructor-on-elements-be.html
Change 3085396 on 2016/08/11 by Steve.Robb
Swap can now be configured via the TUseBitwiseSwap trait to not use Memswap, which can be less optimal for certain types.
Change 3088840 on 2016/08/15 by Steve.Robb
TRemoveReference moved to its own header.
Change 3088858 on 2016/08/15 by Steve.Robb
TDecay moved to its own header.
Change 3088963 on 2016/08/15 by Steve.Robb
Invoke function, for doing a generic call on a generic callable thing. Equivalent to std::invoke.
Change 3089144 on 2016/08/15 by Steve.Robb
Algo::Transform updated to use Invoke. Algorithm tests updated to test the new features.
Change 3089147 on 2016/08/15 by Steve.Robb
TLess and TGreater moved to their own headers and defaulted to void as a type-deducing version, as per std::.
Change 3090243 on 2016/08/16 by Steve.Robb
New Algo::Sort and Algo::SortBy algorithms.
Change 3090387 on 2016/08/16 by Steve.Robb
Improved bitwise swapping for Swap.
See: https://udn.unrealengine.com/questions/306922/swap-is-painfully-slow.html
Change 3090444 on 2016/08/16 by Steve.Robb
Ptr+Size overloads removed after discussion - MakeArrayView should be used instead.
Change 3090495 on 2016/08/16 by Steve.Robb
Assert when FString::Mid is passed a negative count.
#jira UE-18756
Change 3093455 on 2016/08/18 by Steve.Robb
Debuggability and efficiency improvements to UScriptStruct::DeferCppStructOps.
Change 3094476 on 2016/08/19 by Steve.Robb
BOM removed from InvariantCulture.h.
Change 3094697 on 2016/08/19 by Steve.Robb
Static analysis fix: warning C6237: (<zero> && <expression>) is always zero. <expression> is never evaluated and might have side effects.
Change 3094702 on 2016/08/19 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'Interactor'.
Change 3094715 on 2016/08/19 by Steve.Robb
Static analysis fix: warning C6385: Reading invalid data from 'Order': the readable size is '256' bytes, but '8160' bytes may be read.
Change 3094737 on 2016/08/19 by Steve.Robb
Static analysis fixes:
warning C6011: Dereferencing NULL pointer 'OwnedComponent'.
warning C28182: Dereferencing NULL pointer. 'Child' contains the same NULL value as 'AttachToComponent' did.
Change 3094750 on 2016/08/19 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'Actor'.
Change 3094768 on 2016/08/19 by Steve.Robb
Static analysis fixes:
warning C6011: Dereferencing NULL pointer 'LevelSequence'.
warning C6011: Dereferencing NULL pointer 'Actor'.
Change 3094774 on 2016/08/19 by Steve.Robb
Static analysis fixes: warning C6011: Dereferencing NULL pointer 'CallFunctionNode'.
Change 3094783 on 2016/08/19 by Steve.Robb
Static analysis fixes: warning C6011: Dereferencing NULL pointer 'TargetPin'.
Change 3094807 on 2016/08/19 by Steve.Robb
Static analysis fixes: warning C6011: Dereferencing NULL pointer 'SourceClass'.
Change 3094815 on 2016/08/19 by Steve.Robb
Static analysis fixes:
warning C6011: Dereferencing NULL pointer 'VarNode'.
warning C6011: Dereferencing NULL pointer 'SourceClass'.
Change 3094840 on 2016/08/19 by Steve.Robb
Static analysis fixes:
warning C6011: Dereferencing NULL pointer 'TunnelGraph'.
warning C28182: Dereferencing NULL pointer. 'GraphNode' contains the same NULL value as 'SourceNode' did.
Change 3094864 on 2016/08/19 by Steve.Robb
Static analysis fixes: warning C6011: Dereferencing NULL pointer 'SpawnClassPin'.
Change 3094880 on 2016/08/19 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'PrevIfIndexMatchesStatement'.
Change 3094886 on 2016/08/19 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'SpawnBlueprintPin'.
Change 3094903 on 2016/08/19 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'K2Node'.
Change 3094916 on 2016/08/19 by Steve.Robb
Static analysis fix: Dereferencing NULL pointer 'CompilerContext'.
Change 3094931 on 2016/08/19 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'VariablePin'.
Change 3094935 on 2016/08/19 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'CurrentPin'.
Change 3094943 on 2016/08/19 by Steve.Robb
Static analysis fixes:
warning C6011: Dereferencing NULL pointer 'Pin'.
warning C28182: Dereferencing NULL pointer. 'Graph' contains the same NULL value as 'TargetGraph' did.
Change 3094960 on 2016/08/19 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'LastOutPin'.
Change 3095046 on 2016/08/19 by Steve.Robb
Single parameter version of CastChecked tagged to never return null.
Change 3095054 on 2016/08/19 by Steve.Robb
Committed wrong version in CL# 3095046.
Change 3095089 on 2016/08/19 by Steve.Robb
Static analysis fixes:
warning C6509: Invalid annotation: 'return' cannot be referenced in some contexts
warning C6101: Returning uninitialized memory '*lpdwExitCode'.
Change 3096035 on 2016/08/22 by Steve.Robb
Fix for static lighting in pixel inspector.
Change 3096039 on 2016/08/22 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'World'.
Change 3096045 on 2016/08/22 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'Actor'.
Change 3096058 on 2016/08/22 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'OtherPin'.
Change 3096059 on 2016/08/22 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'MainMesh'.
Change 3096066 on 2016/08/22 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'SourceType'.
Change 3096070 on 2016/08/22 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'LastPushStatement'.
Change 3096074 on 2016/08/22 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'OriginalDataTableInPin'.
Change 3096075 on 2016/08/22 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'CurrentPin'.
Change 3096081 on 2016/08/22 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'RunningPlatformData'.
Change 3096156 on 2016/08/22 by Steve.Robb
Static analysis fixes:
warning C6011: Dereferencing NULL pointer 'BP'.
warning C6011: Dereferencing NULL pointer 'Object'.
Change 3096308 on 2016/08/22 by Steve.Robb
Static analysis fixes:
warning C6011: Dereferencing NULL pointer 'TopMipData'.
warning C6011: Dereferencing NULL pointer 'MipCoverageData[0]'.
Change 3096315 on 2016/08/22 by Steve.Robb
Static analysis fixes:
warning C6011: Dereferencing NULL pointer 'OldParent'.
warning C6011: Dereferencing NULL pointer 'TestExecutionInfo'.
Change 3096318 on 2016/08/22 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'OwnerClass'.
Change 3096322 on 2016/08/22 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'StaticMeshInstanceData'.
Change 3096337 on 2016/08/22 by Steve.Robb
Static analysis fixes:
warning C6011: Dereferencing NULL pointer 'Pin'.
warning C6011: Dereferencing NULL pointer 'SpawnVarPin'.
Change 3096345 on 2016/08/22 by Steve.Robb
Static analysis fixes: warning C6246: Local declaration of 'NumTris' hides declaration of the same name in outer scope.
Change 3096356 on 2016/08/22 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'InWorld'.
Change 3096387 on 2016/08/22 by Steve.Robb
Static analysis fixes:
warning C6011: Dereferencing NULL pointer 'ExpressionPreviewMaterial'.
warning C6011: Dereferencing NULL pointer 'MaterialNode->MaterialExpression'.
Change 3096400 on 2016/08/22 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'FunctionInputs'.
Change 3096413 on 2016/08/22 by Steve.Robb
Static analysis fix: warning C28182: Dereferencing NULL pointer. 'LODPackage' contains the same NULL value as 'AssetsOuter' did.
Change 3096416 on 2016/08/22 by Steve.Robb
Static analysis fixes: warning C6237: (<zero> && <expression>) is always zero. <expression> is never evaluated and might have side effects.
Change 3096423 on 2016/08/22 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'RedirectorRefs.Redirector'.
Change 3096439 on 2016/08/22 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'NewObject'.
Change 3096446 on 2016/08/22 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'BaseClass'.
Change 3096454 on 2016/08/22 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'OldSkeleton'.
Change 3096464 on 2016/08/22 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'MyNode'.
Change 3096469 on 2016/08/22 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'VRInteractor'.
Change 3097559 on 2016/08/23 by Steve.Robb
Alternate fix to CL# 3096439.
Change 3097583 on 2016/08/23 by Steve.Robb
Static analysis fixes:
warning C6011: Dereferencing NULL pointer 'SourceCategoryEnum'.
warning C6011: Dereferencing NULL pointer 'CurrentWorld'.
Change 3097584 on 2016/08/23 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'LocalizationTarget'.
Change 3097585 on 2016/08/23 by Steve.Robb
Static analysis fixes:
warning C28182: Dereferencing NULL pointer. 'VariableSetNode' contains the same NULL value as 'AssignmentNode' did.
warning C6011: Dereferencing NULL pointer 'FirstNativeClass'.
Change 3097588 on 2016/08/23 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'OutputObjClass'.
Change 3097589 on 2016/08/23 by Steve.Robb
Static analysis fix: warning C28182: Dereferencing NULL pointer. 'Term' contains the same NULL value as 'RValueTerm' did.
Change 3097591 on 2016/08/23 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'Schema'.
Change 3097597 on 2016/08/23 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'LayerInfo'.
Change 3097598 on 2016/08/23 by Steve.Robb
Const-correctness fix for ILandscapeEditorModule::GetHeightmapFormatByExtension and ILandscapeEditorModule::GetWeightmapFormatByExtension.
Change 3097600 on 2016/08/23 by Steve.Robb
Fix for incorrect null check.
Change 3097605 on 2016/08/23 by Steve.Robb
Spurious static analysis fix: warning C6011: Dereferencing NULL pointer 'TexDataPtr'.
Bug filed here: https://connect.microsoft.com/VisualStudio/feedback/details/3078125
Change 3097609 on 2016/08/23 by Steve.Robb
Static analysis fix: warning C28182: Dereferencing NULL pointer. 'ObjClass' contains the same NULL value as 'BaseClass' did.
Change 3097613 on 2016/08/23 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'InEdGraph'.
Change 3097620 on 2016/08/23 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'ThisScalableFloat'.
Change 3097627 on 2016/08/23 by Steve.Robb
Static analysis fixes: warning C6011: Dereferencing NULL pointer 'AnimBlueprint'.
Change 3097629 on 2016/08/23 by Steve.Robb
Static analysis fix: warning C28182: Dereferencing NULL pointer. 'Pin' contains the same NULL value as 'PoseNet' did.
Change 3097631 on 2016/08/23 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'IPOverlayInfo.Brush'.
Change 3097634 on 2016/08/23 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'Survey'.
Change 3097639 on 2016/08/23 by Steve.Robb
Static analysis fixes: warning C6011: Dereferencing NULL pointer 'Settings'.
Change 3097650 on 2016/08/23 by Steve.Robb
Alternate fix for CL# 3097597.
Change 3097725 on 2016/08/23 by Steve.Robb
Spurious static analysis fix: warning C6011: Dereferencing NULL pointer 'BodySetup'.
Change 3097764 on 2016/08/23 by Steve.Robb
Spurious static analysis fix: warning C28182: Dereferencing NULL pointer. 'FoundMode' contains the same NULL value as 'ElementType * FoundMode=LoopModes.FindByPredicate(<lambda>)' did.
Change 3097770 on 2016/08/23 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'Triangle'.
Change 3097775 on 2016/08/23 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'CurGroup'.
Change 3097796 on 2016/08/23 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'SourceComponent'.
Change 3097797 on 2016/08/23 by Steve.Robb
Spurious static analysis fix: warning C6011: Dereferencing NULL pointer 'HitComponent'.
Change 3097843 on 2016/08/23 by Steve.Robb
Spurious static analysis fix: Dereferencing NULL pointer. 'MatchingNewPin' contains the same NULL value as 'UEdGraphPin ** MatchingNewPin=this->Pins.FindByPredicate(<lambda>)' did.
Change 3097864 on 2016/08/23 by Steve.Robb
Static analysis fixes:
warning C6011: Dereferencing NULL pointer 'ObjectClass'.
warning C6011: Dereferencing NULL pointer 'Client'.
Change 3097871 on 2016/08/23 by Steve.Robb
Static analysis fix: warning C28182: Dereferencing NULL pointer. 'SMLightingMesh->StaticMesh' contains the same NULL value as 'StaticMesh' did.
Change 3098015 on 2016/08/23 by Steve.Robb
Alternative fix for CL# 3094864.
Change 3098024 on 2016/08/23 by Steve.Robb
Alternative fix for CL# 3094943.
Change 3098052 on 2016/08/23 by Steve.Robb
Alternative fix for CL# 3094886.
Change 3098080 on 2016/08/23 by Steve.Robb
Static analysis fix: warning C28182: Dereferencing NULL pointer. 'PrimitiveComponent' contains the same NULL value as 'ReplacementComponent' did.
Change 3098102 on 2016/08/23 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'IndexTermPtr'.
Change 3098148 on 2016/08/23 by Steve.Robb
Static analysis fixes:
warning C6011: Dereferencing NULL pointer 'Node'.
warning C6011: Dereferencing NULL pointer 'OldNode'.
warning C6011: Dereferencing NULL pointer 'LinkedPin'.
warning C6011: Dereferencing NULL pointer 'RootNode'.
Change 3098156 on 2016/08/23 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'BTGraphNode'.
Change 3098176 on 2016/08/23 by Steve.Robb
Static analysis fixes: warning C6011: Dereferencing NULL pointer 'NewSection'.
Change 3098182 on 2016/08/23 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'Sprite'.
Change 3098197 on 2016/08/23 by Steve.Robb
Static analysis fixes: warning C6011: Dereferencing NULL pointer 'Node'.
Coding standards fixes.
Change 3098202 on 2016/08/23 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'ExistingEventNode'.
Change 3098208 on 2016/08/23 by Steve.Robb
Static analysis fixes:
warning C28182: Dereferencing NULL pointer. 'Graph' contains the same NULL value as 'GraphNew' did.
warning C28182: Dereferencing NULL pointer. 'GoodGraph' contains the same NULL value as 'GraphNew' did.
Change 3098229 on 2016/08/23 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'Property'.
Change 3099188 on 2016/08/24 by Steve.Robb
Static analysis fixes: warning C6011: Dereferencing NULL pointer 'SharedBaseClass'.
Change 3099195 on 2016/08/24 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'NodeProperty'.
Change 3099205 on 2016/08/24 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'VarDesc'.
Change 3099228 on 2016/08/24 by Steve.Robb
Spurious static analysis fix: warning C28182: Dereferencing NULL pointer. 'Node' contains the same NULL value as 'ParentNode' did.
Change 3099539 on 2016/08/24 by Steve.Robb
Spurious static analysis fixes:
warning C6011: Dereferencing NULL pointer 'InBlueprint'.
warning C28182: Dereferencing NULL pointer. 'TestObj' contains the same NULL value as 'TestOuter' did.
https://connect.microsoft.com/VisualStudio/feedback/details/3082362
https://connect.microsoft.com/VisualStudio/feedback/details/3082622
Change 3099546 on 2016/08/24 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'OldNode'.
Change 3099561 on 2016/08/24 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'ReferencedObject'.
Change 3099571 on 2016/08/24 by Steve.Robb
Static analysis fix: Dereferencing NULL pointer. 'ObjClass' contains the same NULL value as 'CommonBaseClass' did.
Change 3099600 on 2016/08/24 by Steve.Robb
Static analysis fix:
warning C6385: Reading invalid data from 'this->Packages': the readable size is '24' bytes, but '32' bytes may be read.
warning C6385: Reading invalid data from 'Diff.ObjectSets': the readable size is '24' bytes, but '32' bytes may be read.
warning C6386: Buffer overrun while writing to 'Objects': the writable size is '24' bytes, but '32' bytes might be written.
Change 3099912 on 2016/08/24 by Steve.Robb
Static analysis fixes: warning C6011: Dereferencing NULL pointer 'SharedBaseClass'.
Change 3099923 on 2016/08/24 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'ThumbnailInfo'.
Change 3100977 on 2016/08/25 by Steve.Robb
Static analysis fixes:
warning C6001: Using uninitialized memory '*VectorRef'.
warning C6001: Using uninitialized memory '*PointRef'.
warning C6001: Using uninitialized memory '*PolyRef'.
Coding standard fixes.
Change 3100985 on 2016/08/25 by Steve.Robb
Static analyis fix: warning C6011: Dereferencing NULL pointer 'SpawnClassPin'.
Change 3100987 on 2016/08/25 by Steve.Robb
Static analysis fixes:
warning C28183: 'Resources.BitmapHandle' could be '0', and is a copy of the value found in 'CreateDIBSection()`829': this does not adhere to the specification for the function 'SelectObject'.
warning C6387: '_Param_(4)' could be '0': this does not adhere to the specification for the function 'CreateDIBSection'.
Change 3100992 on 2016/08/25 by Steve.Robb
Static analysis fix: warning C6287: Redundant code: the left and right sub-expressions are identical.
Change 3101000 on 2016/08/25 by Steve.Robb
Static analysis fixes:
warning C6001: Using uninitialized memory 'tmpMemReq'.
warning C6001: Using uninitialized memory 'TmpCreateInfo'.
Change 3101004 on 2016/08/25 by Steve.Robb
warning C28182: Dereferencing NULL pointer. 'FoliageActor' contains the same NULL value as 'Actor' did.
Change 3101009 on 2016/08/25 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'StaticMeshComponent'.
Change 3101115 on 2016/08/25 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'Canvas'.
Change 3101120 on 2016/08/25 by Steve.Robb
Fixes to previous fixes.
Change 3101128 on 2016/08/25 by Steve.Robb
Static analysis fixes: warning C6011: Dereferencing NULL pointer 'Stream'.
Change 3101281 on 2016/08/25 by Steve.Robb
Static analysis fixes:
warning C6262: Function uses '99256' bytes of stack: exceeds /analyze:stacksize '81940'. Consider moving some data to heap.
warning C6001: Using uninitialized memory 'Pixel'.
Change 3101292 on 2016/08/25 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'BulkDataPointer'.
Change 3101299 on 2016/08/25 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'UnrealMaterial'.
Change 3101300 on 2016/08/25 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'AssetObject'.
Change 3101304 on 2016/08/25 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'MeshRootNode'.
Change 3101311 on 2016/08/25 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'Cluster'.
Change 3101323 on 2016/08/25 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'StartNode'.
Change 3101329 on 2016/08/25 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'Object'.
Change 3101333 on 2016/08/25 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'ArrayRef'.
Change 3101339 on 2016/08/25 by Steve.Robb
Static analysis fixes:
warning C6011: Dereferencing NULL pointer 'ImportData'.
warning C6011: Dereferencing NULL pointer 'CurveToImport'.
Change 3101485 on 2016/08/25 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'ObjectProperty'.
Change 3101583 on 2016/08/25 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'UserDefinedStruct'.
Change 3105721 on 2016/08/30 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'SpawnClassPin'.
Change 3105724 on 2016/08/30 by Steven.Hutton
Change users page to more responsive paginated version.
Change 3105725 on 2016/08/30 by Steven.Hutton
Added field for crash processor failed
Change 3105786 on 2016/08/30 by Steve.Robb
Reintroduced missing operator<< for enum classes.
Change 3105803 on 2016/08/30 by Steve.Robb
Removal of obsolete code and state. PrepareCppStructOps() has several unreachable blocks, one of which sets UScriptStruct::bCppStructOpsFromBaseClass which is otherwise never true, so it can be removed too.
Change 3106251 on 2016/08/30 by Steve.Robb
Switch static analysis node to build editor instead of just the engine.
Change 3107556 on 2016/08/31 by Steven.Hutton
Added build version data from CRP to DB as part of add crash #rb none
Change 3107557 on 2016/08/31 by Steven.Hutton
Passed build version data to CRW through crash description #rb none
Change 3107634 on 2016/08/31 by Graeme.Thornton
Only accept "log=<filename>" and "abslog=<filename>" command line values if the filename has a "log" or "txt" extension
#jira UE-20147
Change 3107797 on 2016/08/31 by Steve.Robb
Fix for UHT debugging manifest, after paths changed in CL# 3088416.
Change 3107964 on 2016/08/31 by Steve.Robb
TCString::Strfind renamed to TCString::Strifind, as it is case-insensitive.
New case-sensitive TCString::Strfind added, based on GitHub PR #2453.
Change 3108023 on 2016/08/31 by Steve.Robb
Removal of test code which no longer compiles now that we emit errors on skipped preprocessor blocks.
Change 3108160 on 2016/08/31 by Steven.Hutton
Update to add new filter to website front page #rb none
Change 3109556 on 2016/09/01 by Steven.Hutton
Fixing compile warning #rb none
Change 3110001 on 2016/09/01 by Steve.Robb
PR #2468: Fix for UnrealHeaderTool TArray<TScriptInterface<>> UFUNCTION parameters (Contributed by UnrealEverything)
Change 3111835 on 2016/09/02 by Steve.Robb
Enforce uint8 on UENUM() enum classes.
#jira UE-35224
Change 3111867 on 2016/09/02 by Steve.Robb
Static analysis fix: warning C6236: (<expression> || <non-zero constant>) is always a non-zero constant.
Change 3111880 on 2016/09/02 by Steve.Robb
Static analysis fixes:
warning C6386: Buffer overrun while writing to 'Views': the writable size is 'ShaderBindings.ResourceViews.public: int __cdecl TArray<class TSlateD3DTypedShaderParameter<struct ID3D11ShaderResourceView> *,class FDefaultAllocator>::Num(void)const ()*8' bytes, but '16' bytes might be written.
warning C6386: Buffer overrun while writing to 'ConstantBuffers': the writable size is 'ShaderBindings.ConstantBuffers.public: int __cdecl TArray<class TSlateD3DTypedShaderParameter<struct ID3D11Buffer> *,class FDefaultAllocator>::Num(void)const ()*8' bytes, but '16' bytes might be written.
Change 3111886 on 2016/09/02 by Steve.Robb
Static analysis fix: warning C6386: Buffer overrun while writing to 'DistortionMeshIndices': the writable size is 'NumIndices*2' bytes, but '4' bytes might be written.
Change 3112025 on 2016/09/02 by Steve.Robb
Static analysis fix:
warning C6011: Dereferencing NULL pointer 'pInputProcessParameters'.
warning C6011: Dereferencing NULL pointer 'pOutputProcessParameters'.
Change 3112051 on 2016/09/02 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'Command'.
Change 3112066 on 2016/09/02 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'CurNetDriver'.
Change 3112093 on 2016/09/02 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'byteArray'.
Change 3112110 on 2016/09/02 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'PersistentParty'.
Change 3112123 on 2016/09/02 by Steve.Robb
Static analysis fixes:
warning C6011: Dereferencing NULL pointer 'CurDriver'.
warning C6011: Dereferencing NULL pointer 'CurNetDriver'.
warning C6011: Dereferencing NULL pointer 'CurWorld'.
Change 3112157 on 2016/09/02 by Steve.Robb
Static analysis fixes: warning C6011: Dereferencing NULL pointer 'UnitTest'.
Change 3112283 on 2016/09/02 by Steve.Robb
Static analysis fixes:
warning C6244: Local declaration of 'None' hides previous declaration at line '173' of 'netcodeunittest.h'.
Change 3113455 on 2016/09/05 by Chris.Wood
CRP performance improvements (v1.1.25)
Change 3113468 on 2016/09/05 by Steve.Robb
Reverting unnecessary merge in CL# 3112464.
Change 3113508 on 2016/09/05 by Steve.Robb
Static analysis fix: warning C6031: Return value ignored: 'CoCreateGuid'.
Change 3113588 on 2016/09/05 by Steve.Robb
Static analysis fix: warning C6244: Local declaration of 'hInstance' hides previous declaration
Change 3113863 on 2016/09/06 by Steve.Robb
Fix for this error:
Could not find a part of the path 'D:\Build\++UE4+Dev-Core+Compile\Sync\Engine\Plugins\2D\Paper2D\Binaries\Win64\UE4Editor.modules'.
Change 3113864 on 2016/09/06 by Steve.Robb
Misc static analysis fixes for VS2015 Update 2.
Change 3113918 on 2016/09/06 by Ben.Marsh
Explicitly check for version manifest existing before trying to delete it, rather than swallowing the exception.
Change 3114293 on 2016/09/06 by Steve.Robb
Static analysis fixes for Visual Studio Update 2.
Change 3115732 on 2016/09/07 by Steve.Robb
Static analysis fix: warning C6262: Function uses '121180' bytes of stack: exceeds /analyze:stacksize '81940'. Consider moving some data to heap.
Change 3115754 on 2016/09/07 by Steve.Robb
GObjectArrayForDebugVisualizers init order fix.
Removal of obsolete FName visualizer helper code.
Change 3115774 on 2016/09/07 by Steve.Robb
Fix for ICE by moving static variables into their own file and removing const return types.
#jira UE-35597
Change 3116061 on 2016/09/07 by Steve.Robb
Redundant LOCTEXT_NAMESPACE removed - was missed in CL# 3115774.
Change 3117478 on 2016/09/08 by Steve.Robb
Static analysis fixes in third party code, using a new macro-based system.
Change 3119152 on 2016/09/09 by Steve.Robb
TArray::RemoveAt and RemoveAtSwap with a bool Count is now a compile error.
Change 3119200 on 2016/09/09 by Steve.Robb
Fix for destructors not being called in TSparseArray move assignment.
Change 3119568 on 2016/09/09 by Steve.Robb
Fix for TSparseArray visualizer.
Change 3119591 on 2016/09/09 by Steve.Robb
New MakeShared function which allocates the object and reference controller in a single block.
Change 3120281 on 2016/09/09 by Steve.Robb
Fix for ICE on static analysis build.
#jira UE-35596
Change 3120786 on 2016/09/12 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'SavedGame'.
Change 3120787 on 2016/09/12 by Steve.Robb
Removal of TEnumAsByte on enum classes.
Change 3120789 on 2016/09/12 by Steve.Robb
Static analysis fixes:
warning C6385: Reading invalid data from 'D3D11X_CERAM_OFFSET_BY_SET_STAGE': the readable size is '28' bytes, but '64' bytes may be read.
warning C6101: Returning uninitialized memory '*pDescriptorDst'. A successful path through the function does not set the named _Out_ parameter.
Change 3121234 on 2016/09/12 by Steve.Robb
Unused ToBuildInfoString function declaration removed.
Change 3122616 on 2016/09/13 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'Compiler'.
Change 3123070 on 2016/09/13 by Steve.Robb
Static analysis fix: warning C28182: Dereferencing NULL pointer. 'top' contains the same NULL value as 'edge' did.
[CL 3126145 by Robert Manuszewski in Main branch]
2016-09-15 00:21:42 -04:00
check ( AnimBlueprint ) ;
UAnimInstance * ActiveObject = Cast < UAnimInstance > ( AnimBlueprint - > GetObjectBeingDebugged ( ) ) ;
2014-03-14 14:13:41 -04:00
UAnimBlueprintGeneratedClass * Class = AnimBlueprint - > GetAnimBlueprintGeneratedClass ( ) ;
2018-11-14 19:05:13 -05:00
//@TODO: WIP fast path / slow path coloring
if ( AnimBlueprint - > bWarnAboutBlueprintUsage | | ( ( ActiveObject ! = nullptr ) & & ( ActiveObject - > PCV_ShouldNotifyAboutNodesNotUsingFastPath ( ) | | ActiveObject - > PCV_ShouldWarnAboutNodesNotUsingFastPath ( ) ) ) )
{
if ( UAnimationTransitionGraph * TransGraph = Cast < UAnimationTransitionGraph > ( TransNode - > GetBoundGraph ( ) ) )
{
if ( UAnimGraphNode_TransitionResult * ResultNode = TransGraph - > GetResultNode ( ) )
{
if ( ResultNode - > BlueprintUsage = = EBlueprintUsage : : UsesBlueprint )
{
BaseColor = FLinearColor ( 0.4f , 0.4f , 1.0f ) ;
}
}
}
}
2014-03-14 14:13:41 -04:00
if ( ( ActiveObject ! = NULL ) & & ( Class ! = NULL ) )
{
2021-03-19 14:32:13 -04:00
UAnimationStateMachineGraph * StateMachineGraph = CastChecked < UAnimationStateMachineGraph > ( TransNode - > GetGraph ( ) ) ;
2014-03-14 14:13:41 -04:00
if ( FStateMachineDebugData * DebugInfo = Class - > GetAnimBlueprintDebugData ( ) . StateMachineDebugData . Find ( StateMachineGraph ) )
{
2021-03-19 14:32:13 -04:00
// A transition node could be associated with multiple transitions indicies when coming from an alias. Check all of them
TArray < int32 > TransitionIndices ;
DebugInfo - > NodeToTransitionIndex . MultiFind ( TransNode , TransitionIndices ) ;
const int32 TransNum = TransitionIndices . Num ( ) ;
for ( int32 Index = 0 ; Index < TransNum ; + + Index )
2014-03-14 14:13:41 -04:00
{
2021-03-19 14:32:13 -04:00
if ( IsTransitionActive ( TransitionIndices [ Index ] , * Class , * StateMachineGraph , * ActiveObject ) )
{
// We're active!
return ActiveColor ;
2014-03-14 14:13:41 -04:00
}
}
}
}
//@TODO: ANIMATION: Sort out how to display this
// if (TransNode->SharedCrossfadeIdx != INDEX_NONE)
// {
// WireColor.R = (TransNode->SharedCrossfadeIdx & 1 ? 1.0f : 0.15f);
// WireColor.G = (TransNode->SharedCrossfadeIdx & 2 ? 1.0f : 0.15f);
// WireColor.B = (TransNode->SharedCrossfadeIdx & 4 ? 1.0f : 0.15f);
// }
// If shared transition, show different color
if ( TransNode - > bSharedRules )
{
BaseColor = TransNode - > SharedColor ;
}
return bIsHovered ? HoverColor : BaseColor ;
}
2021-03-19 14:32:13 -04:00
bool SGraphNodeAnimTransition : : IsTransitionActive ( int32 TransitionIndex , UAnimBlueprintGeneratedClass & AnimClass , UAnimationStateMachineGraph & StateMachineGraph , UAnimInstance & AnimInstance )
{
if ( AnimClass . GetAnimNodeProperties ( ) . Num ( ) )
{
if ( FAnimNode_StateMachine * CurrentInstance = AnimClass . GetPropertyInstance < FAnimNode_StateMachine > ( & AnimInstance , StateMachineGraph . OwnerAnimGraphNode ) )
{
if ( CurrentInstance - > IsTransitionActive ( TransitionIndex ) )
{
return true ;
}
}
}
return false ;
}
2014-03-14 14:13:41 -04:00
FSlateColor SGraphNodeAnimTransition : : GetTransitionColor ( ) const
2020-10-07 10:17:37 -04:00
{
// Highlight the transition node when the node is hovered or when the previous state is hovered
2014-03-14 14:13:41 -04:00
UAnimStateTransitionNode * TransNode = CastChecked < UAnimStateTransitionNode > ( GraphNode ) ;
2020-10-07 10:17:37 -04:00
return StaticGetTransitionColor ( TransNode , ( IsHovered ( ) | | ( PrevStateNodeWidgetPtr . IsValid ( ) & & PrevStateNodeWidgetPtr . Pin ( ) - > IsHovered ( ) ) ) ) ;
2014-03-14 14:13:41 -04:00
}
2019-09-17 19:12:19 -04:00
const FSlateBrush * SGraphNodeAnimTransition : : GetTransitionIconImage ( ) const
{
UAnimStateTransitionNode * TransNode = CastChecked < UAnimStateTransitionNode > ( GraphNode ) ;
return ( TransNode - > LogicType = = ETransitionLogicType : : TLT_Inertialization )
2022-05-09 13:12:28 -04:00
? FAppStyle : : GetBrush ( " Graph.TransitionNode.Icon_Inertialization " )
: FAppStyle : : GetBrush ( " Graph.TransitionNode.Icon " ) ;
2019-09-17 19:12:19 -04:00
}
2014-03-14 14:13:41 -04:00
FString SGraphNodeAnimTransition : : GetCurrentDuration ( ) const
{
UAnimStateTransitionNode * TransNode = CastChecked < UAnimStateTransitionNode > ( GraphNode ) ;
return FString : : Printf ( TEXT ( " %.2f seconds " ) , TransNode - > CrossfadeDuration ) ;
}
void SGraphNodeAnimTransition : : OnMouseEnter ( const FGeometry & MyGeometry , const FPointerEvent & MouseEvent )
{
UAnimStateTransitionNode * TransNode = CastChecked < UAnimStateTransitionNode > ( GraphNode ) ;
if ( UEdGraphPin * Pin = TransNode - > GetInputPin ( ) )
{
GetOwnerPanel ( ) - > AddPinToHoverSet ( Pin ) ;
}
SGraphNode : : OnMouseEnter ( MyGeometry , MouseEvent ) ;
}
void SGraphNodeAnimTransition : : OnMouseLeave ( const FPointerEvent & MouseEvent )
{
UAnimStateTransitionNode * TransNode = CastChecked < UAnimStateTransitionNode > ( GraphNode ) ;
if ( UEdGraphPin * Pin = TransNode - > GetInputPin ( ) )
{
GetOwnerPanel ( ) - > RemovePinFromHoverSet ( Pin ) ;
}
SGraphNode : : OnMouseLeave ( MouseEvent ) ;
}
2014-06-18 14:27:15 -04:00
void SGraphNodeAnimTransition : : PositionBetweenTwoNodesWithOffset ( const FGeometry & StartGeom , const FGeometry & EndGeom , int32 NodeIndex , int32 MaxNodes ) const
{
// Get a reasonable seed point (halfway between the boxes)
const FVector2D StartCenter = FGeometryHelper : : CenterOf ( StartGeom ) ;
const FVector2D EndCenter = FGeometryHelper : : CenterOf ( EndGeom ) ;
const FVector2D SeedPoint = ( StartCenter + EndCenter ) * 0.5f ;
// Find the (approximate) closest points between the two boxes
const FVector2D StartAnchorPoint = FGeometryHelper : : FindClosestPointOnGeom ( StartGeom , SeedPoint ) ;
const FVector2D EndAnchorPoint = FGeometryHelper : : FindClosestPointOnGeom ( EndGeom , SeedPoint ) ;
// Position ourselves halfway along the connecting line between the nodes, elevated away perpendicular to the direction of the line
const float Height = 30.0f ;
2016-05-10 16:00:39 -04:00
const FVector2D DesiredNodeSize = GetDesiredSize ( ) ;
2014-06-18 14:27:15 -04:00
FVector2D DeltaPos ( EndAnchorPoint - StartAnchorPoint ) ;
if ( DeltaPos . IsNearlyZero ( ) )
{
DeltaPos = FVector2D ( 10.0f , 0.0f ) ;
}
2014-11-26 10:01:12 -05:00
const FVector2D Normal = FVector2D ( DeltaPos . Y , - DeltaPos . X ) . GetSafeNormal ( ) ;
2014-06-18 14:27:15 -04:00
const FVector2D NewCenter = StartAnchorPoint + ( 0.5f * DeltaPos ) + ( Height * Normal ) ;
2014-11-26 10:01:12 -05:00
FVector2D DeltaNormal = DeltaPos . GetSafeNormal ( ) ;
2014-06-18 14:27:15 -04:00
// Calculate node offset in the case of multiple transitions between the same two nodes
// MultiNodeOffset: the offset where 0 is the centre of the transition, -1 is 1 <size of node>
// towards the PrevStateNode and +1 is 1 <size of node> towards the NextStateNode.
const float MutliNodeSpace = 0.2f ; // Space between multiple transition nodes (in units of <size of node> )
const float MultiNodeStep = ( 1.f + MutliNodeSpace ) ; //Step between node centres (Size of node + size of node spacer)
const float MultiNodeStart = - ( ( MaxNodes - 1 ) * MultiNodeStep ) / 2.f ;
const float MultiNodeOffset = MultiNodeStart + ( NodeIndex * MultiNodeStep ) ;
// Now we need to adjust the new center by the node size, zoom factor and multi node offset
2016-05-10 16:00:39 -04:00
const FVector2D NewCorner = NewCenter - ( 0.5f * DesiredNodeSize ) + ( DeltaNormal * MultiNodeOffset * DesiredNodeSize . Size ( ) ) ;
2014-06-18 14:27:15 -04:00
GraphNode - > NodePosX = NewCorner . X ;
GraphNode - > NodePosY = NewCorner . Y ;
}
2014-03-14 14:13:41 -04:00
/////////////////////////////////////////////////////
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
# undef LOCTEXT_NAMESPACE