Files
UnrealEngineUWP/Engine/Source/Editor/AnimationBlueprintEditor/Private/AnimationStateNodes/SGraphNodeAnimTransition.cpp

424 lines
14 KiB
C++
Raw Normal View History

// Copyright Epic Games, Inc. All Rights Reserved.
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"
#include "ConnectionDrawingPolicy.h"
#include "IDocumentation.h"
#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"
#include "AnimGraphNode_StateMachineBase.h"
#include "AnimationStateMachineGraph.h"
#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
{
}
void SGraphNodeAnimTransition::MoveTo(const FVector2D& NewPosition, FNodeSet& NodeFilter, bool bMarkDirty)
{
// 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;
int32 TransIndex = 0;
int32 NumOfTrans = 1;
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);
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();
PrevStateNodeWidgetPtr = PrevNodeWidget;
}
}
//Position Node
PositionBetweenTwoNodesWithOffset(StartGeom, EndGeom, TransIndex, NumOfTrans);
}
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);
const FText TooltipDesc = GetPreviewCornerText(false);
// Transition rule linearized
Widget->AddSlot()
.AutoHeight()
.Padding( 2.0f )
[
SNew(STextBlock)
.TextStyle( FAppStyle::Get(), TEXT("Graph.TransitionNode.TooltipName") )
.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)
.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()
.AutoHeight()
.Padding( 2.0f )
[
SNew(STextBlock)
.TextStyle( FAppStyle::Get(), TEXT("Graph.TransitionNode.TooltipRule") )
.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)
];
}
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 );
this->GetOrAddSlot( ENodeZone::Center )
.HAlign(HAlign_Center)
.VAlign(VAlign_Center)
[
SNew(SOverlay)
+SOverlay::Slot()
[
SNew(SImage)
.Image( FAppStyle::GetBrush("Graph.TransitionNode.ColorSpill") )
.ColorAndOpacity( this, &SGraphNodeAnimTransition::GetTransitionColor )
]
+SOverlay::Slot()
[
SNew(SImage)
.Image( this, &SGraphNodeAnimTransition::GetTransitionIconImage )
]
];
}
FText SGraphNodeAnimTransition::GetPreviewCornerText(bool bReverse) const
{
UAnimStateTransitionNode* TransNode = CastChecked<UAnimStateTransitionNode>(GraphNode);
UAnimStateNodeBase* PrevState = (bReverse ? TransNode->GetNextState() : TransNode->GetPreviousState());
UAnimStateNodeBase* NextState = (bReverse ? TransNode->GetPreviousState() : TransNode->GetNextState());
FText Result = LOCTEXT("BadTransition", "Bad transition (missing source or target)");
// Show the priority if there is any ambiguity
if (PrevState != NULL)
{
if (NextState != NULL)
{
TArray<UAnimStateTransitionNode*> TransitionFromSource;
PrevState->GetTransitionList(/*out*/ TransitionFromSource);
bool bMultiplePriorities = false;
if (TransitionFromSource.Num() > 1)
{
// See if the priorities differ
for (int32 Index = 0; (Index < TransitionFromSource.Num()) && !bMultiplePriorities; ++Index)
{
const bool bDifferentPriority = (TransitionFromSource[Index]->PriorityOrder != TransNode->PriorityOrder);
bMultiplePriorities |= bDifferentPriority;
}
}
if (bMultiplePriorities)
{
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()));
}
}
}
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());
UAnimBlueprintGeneratedClass* Class = AnimBlueprint->GetAnimBlueprintGeneratedClass();
//@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);
}
}
}
}
if ((ActiveObject != NULL) && (Class != NULL))
{
UAnimationStateMachineGraph* StateMachineGraph = CastChecked<UAnimationStateMachineGraph>(TransNode->GetGraph());
if (FStateMachineDebugData* DebugInfo = Class->GetAnimBlueprintDebugData().StateMachineDebugData.Find(StateMachineGraph))
{
// 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)
{
if(IsTransitionActive(TransitionIndices[Index], *Class, *StateMachineGraph, *ActiveObject))
{
// We're active!
return ActiveColor;
}
}
}
}
//@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;
}
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;
}
FSlateColor SGraphNodeAnimTransition::GetTransitionColor() const
{
// Highlight the transition node when the node is hovered or when the previous state is hovered
UAnimStateTransitionNode* TransNode = CastChecked<UAnimStateTransitionNode>(GraphNode);
return StaticGetTransitionColor(TransNode, (IsHovered() || (PrevStateNodeWidgetPtr.IsValid() && PrevStateNodeWidgetPtr.Pin()->IsHovered())));
}
const FSlateBrush* SGraphNodeAnimTransition::GetTransitionIconImage() const
{
UAnimStateTransitionNode* TransNode = CastChecked<UAnimStateTransitionNode>(GraphNode);
return (TransNode->LogicType == ETransitionLogicType::TLT_Inertialization)
? FAppStyle::GetBrush("Graph.TransitionNode.Icon_Inertialization")
: FAppStyle::GetBrush("Graph.TransitionNode.Icon");
}
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);
}
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;
Copying //UE4/Dev-Framework to //UE4/Dev-Main (Source: //UE4/Dev-Framework @ 2972815) #lockdown Nick.Penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2821607 on 2016/01/08 by Mieszko.Zielinski Added a way to limit amount of information logged by vlog by discarding logs from classes from outside of class whitelist #UE4 This feature was followed by refactoring of functions taking FVisualLogEntry pointers to use references instead. Change 2828384 on 2016/01/14 by Mieszko.Zielinski Back out of visual log refactor done as part of CL#2821607 #UE4 Change 2965743 on 2016/05/04 by Tom.Looman Added check to PostActorConstruction to avoid BeginPlay call on pendingkill actor. UE-27528 #rb MarcA Change 2965744 on 2016/05/04 by Marc.Audy VS2015 Shadow Variable fixes Change 2965813 on 2016/05/04 by Tom.Looman Moved UninitializeComponents outside (bActorInitialized) to always uninit components when actors gets destroyed early. UE-27529 #rb MarcA Change 2966564 on 2016/05/04 by Marc.Audy VS2015 shadow variable fixes Change 2967244 on 2016/05/05 by Jon.Nabozny Remove UPROPERTY from members that don't require serialization and aren't user editable. #JIRA UE-30155 Change 2967377 on 2016/05/05 by Lukasz.Furman fixed processing of AIMessages when new message appears during notify loop #ue4 Change 2967437 on 2016/05/05 by Marc.Audy Add a static One to TBigInt Remove numerous local statics and TEncryptionInt specific version in KeyGenerator.cpp Part of fixing shadow variables for VS2015 Change 2967465 on 2016/05/05 by Marc.Audy Fix VS2015 shadow variables fixes Change 2967552 on 2016/05/05 by Marc.Audy Fix compile error in DocumentationCode Change 2967556 on 2016/05/05 by Marc.Audy Enable shadow variable warnings in 2015 Change 2967836 on 2016/05/05 by Marc.Audy Another DocumentationCode project fix Change 2967941 on 2016/05/05 by Marc.Audy Make bShowHUD not config Expose HUD properties to blueprints Cleanup stale entries in BaseGame.ini Deprecate unnecessary colors in AHUD in favor of using FColor statics #jira UE-30045 Change 2969008 on 2016/05/06 by Marc.Audy VS2015 Shadow Variable fixes found by CIS Change 2969315 on 2016/05/06 by John.Abercrombie Duplicating CL 2969279 from //Fortnite/Main/ Behavior tree auxilary nodes, parallel tasks, active tasks, and aborting tasks shouldn't be ticked while the behavior tree is paused -------- Integrated using branch //Fortnite/Main/_to_//UE4/Dev-Framework of change#2969279 by John.Abercrombie on 2016/05/06 14:21:40. Change 2969611 on 2016/05/06 by Marc.Audy Default bShowHUD to true Change 2971041 on 2016/05/09 by Marc.Audy Add Get/Set Actor/Component TickInterval functions and expose to blueprints Change 2971072 on 2016/05/09 by Marc.Audy Fix VS2015 shadow variables warnings Change 2971629 on 2016/05/09 by Marc.Audy PR#1981 (contributed by EverNewJoy) CheatManager is blueprintable (though very basic exposure at this time) and can be set from PlayerController DebugCameraController is now visible and can be subclassed and specified via CheatManager blueprint #jira UE-25901 Change 2971632 on 2016/05/09 by Marc.Audy Missed file from CL# 2971629 [CL 2972828 by Marc Audy in Main branch]
2016-05-10 16:00:39 -04:00
const FVector2D DesiredNodeSize = GetDesiredSize();
FVector2D DeltaPos(EndAnchorPoint - StartAnchorPoint);
if (DeltaPos.IsNearlyZero())
{
DeltaPos = FVector2D(10.0f, 0.0f);
}
const FVector2D Normal = FVector2D(DeltaPos.Y, -DeltaPos.X).GetSafeNormal();
const FVector2D NewCenter = StartAnchorPoint + (0.5f * DeltaPos) + (Height * Normal);
FVector2D DeltaNormal = DeltaPos.GetSafeNormal();
// 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
Copying //UE4/Dev-Framework to //UE4/Dev-Main (Source: //UE4/Dev-Framework @ 2972815) #lockdown Nick.Penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2821607 on 2016/01/08 by Mieszko.Zielinski Added a way to limit amount of information logged by vlog by discarding logs from classes from outside of class whitelist #UE4 This feature was followed by refactoring of functions taking FVisualLogEntry pointers to use references instead. Change 2828384 on 2016/01/14 by Mieszko.Zielinski Back out of visual log refactor done as part of CL#2821607 #UE4 Change 2965743 on 2016/05/04 by Tom.Looman Added check to PostActorConstruction to avoid BeginPlay call on pendingkill actor. UE-27528 #rb MarcA Change 2965744 on 2016/05/04 by Marc.Audy VS2015 Shadow Variable fixes Change 2965813 on 2016/05/04 by Tom.Looman Moved UninitializeComponents outside (bActorInitialized) to always uninit components when actors gets destroyed early. UE-27529 #rb MarcA Change 2966564 on 2016/05/04 by Marc.Audy VS2015 shadow variable fixes Change 2967244 on 2016/05/05 by Jon.Nabozny Remove UPROPERTY from members that don't require serialization and aren't user editable. #JIRA UE-30155 Change 2967377 on 2016/05/05 by Lukasz.Furman fixed processing of AIMessages when new message appears during notify loop #ue4 Change 2967437 on 2016/05/05 by Marc.Audy Add a static One to TBigInt Remove numerous local statics and TEncryptionInt specific version in KeyGenerator.cpp Part of fixing shadow variables for VS2015 Change 2967465 on 2016/05/05 by Marc.Audy Fix VS2015 shadow variables fixes Change 2967552 on 2016/05/05 by Marc.Audy Fix compile error in DocumentationCode Change 2967556 on 2016/05/05 by Marc.Audy Enable shadow variable warnings in 2015 Change 2967836 on 2016/05/05 by Marc.Audy Another DocumentationCode project fix Change 2967941 on 2016/05/05 by Marc.Audy Make bShowHUD not config Expose HUD properties to blueprints Cleanup stale entries in BaseGame.ini Deprecate unnecessary colors in AHUD in favor of using FColor statics #jira UE-30045 Change 2969008 on 2016/05/06 by Marc.Audy VS2015 Shadow Variable fixes found by CIS Change 2969315 on 2016/05/06 by John.Abercrombie Duplicating CL 2969279 from //Fortnite/Main/ Behavior tree auxilary nodes, parallel tasks, active tasks, and aborting tasks shouldn't be ticked while the behavior tree is paused -------- Integrated using branch //Fortnite/Main/_to_//UE4/Dev-Framework of change#2969279 by John.Abercrombie on 2016/05/06 14:21:40. Change 2969611 on 2016/05/06 by Marc.Audy Default bShowHUD to true Change 2971041 on 2016/05/09 by Marc.Audy Add Get/Set Actor/Component TickInterval functions and expose to blueprints Change 2971072 on 2016/05/09 by Marc.Audy Fix VS2015 shadow variables warnings Change 2971629 on 2016/05/09 by Marc.Audy PR#1981 (contributed by EverNewJoy) CheatManager is blueprintable (though very basic exposure at this time) and can be set from PlayerController DebugCameraController is now visible and can be subclassed and specified via CheatManager blueprint #jira UE-25901 Change 2971632 on 2016/05/09 by Marc.Audy Missed file from CL# 2971629 [CL 2972828 by Marc Audy in Main branch]
2016-05-10 16:00:39 -04:00
const FVector2D NewCorner = NewCenter - (0.5f * DesiredNodeSize) + (DeltaNormal * MultiNodeOffset * DesiredNodeSize.Size());
GraphNode->NodePosX = NewCorner.X;
GraphNode->NodePosY = NewCorner.Y;
}
/////////////////////////////////////////////////////
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