Files

530 lines
16 KiB
C++
Raw Permalink Normal View History

// Copyright Epic Games, Inc. All Rights Reserved.
#include "SCommentBubble.h"
#include "EdGraph/EdGraphNode.h"
#include "GenericPlatform/GenericApplication.h"
#include "GenericPlatform/ICursor.h"
#include "Input/Events.h"
#include "Internationalization/Internationalization.h"
#include "Layout/Children.h"
#include "Layout/Geometry.h"
#include "Layout/Margin.h"
#include "Layout/SlateRect.h"
#include "Math/UnrealMathSSE.h"
#include "Misc/AssertionMacros.h"
#include "Misc/Optional.h"
#include "SGraphNode.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 "SGraphPanel.h"
#include "ScopedTransaction.h"
#include "SlotBase.h"
#include "Styling/AppStyle.h"
#include "Styling/ISlateStyle.h"
#include "Styling/SlateBrush.h"
#include "Styling/StyleColors.h"
#include "Widgets/Images/SImage.h"
#include "Widgets/Input/SCheckBox.h"
#include "Widgets/Input/SMultiLineEditableTextBox.h"
#include "Widgets/SBoxPanel.h"
#include "Widgets/SNullWidget.h"
#include "Widgets/SOverlay.h"
class SWidget;
namespace SCommentBubbleDefs
{
/** Bubble fade up/down delay */
static const float FadeDelay = -3.5f;
/** Bubble Toggle Icon Fade Speed */
static const float FadeDownSpeed = 5.f;
/** Height of the arrow connecting the bubble to the node */
static const float BubbleArrowHeight = 8.f;
/** Offset from the left edge to comment bubbles arrow center */
static const float ArrowCentreOffset = 12.f;
/** Offset from the left edge to comment bubbles toggle button center */
static const float ToggleButtonCentreOffset = 3.f;
/** Luminance CoEficients */
static const FLinearColor LuminanceCoEff( 0.2126f, 0.7152f, 0.0722f, 0.f );
/** Clear text box background color */
static const FLinearColor TextClearBackground( 0.f, 0.f, 0.f, 0.f );
};
void SCommentBubble::Construct( const FArguments& InArgs )
{
check( InArgs._Text.IsBound() );
check( InArgs._GraphNode );
GraphNode = InArgs._GraphNode;
CommentAttribute = InArgs._Text;
OnTextCommittedDelegate = InArgs._OnTextCommitted;
OnToggledDelegate = InArgs._OnToggled;
ColorAndOpacity = InArgs._ColorAndOpacity;
bAllowPinning = InArgs._AllowPinning;
bEnableTitleBarBubble = InArgs._EnableTitleBarBubble;
bEnableBubbleCtrls = InArgs._EnableBubbleCtrls;
bInvertLODCulling = InArgs._InvertLODCulling;
GraphLOD = InArgs._GraphLOD;
IsGraphNodeHovered = InArgs._IsGraphNodeHovered;
HintText = InArgs._HintText.IsSet() ? InArgs._HintText : NSLOCTEXT( "CommentBubble", "EditCommentHint", "Click to edit" );
OpacityValue = SCommentBubbleDefs::FadeDelay;
// Create default delegate/attribute handlers if required
ToggleButtonCheck = InArgs._ToggleButtonCheck.IsBound() ? InArgs._ToggleButtonCheck :
TAttribute<ECheckBoxState>( this, &SCommentBubble::GetToggleButtonCheck );
// Ensue this value is set to something sensible
CalculatedForegroundColor = FStyleColors::Foreground;
BubbleLuminance = 0.0f;
// Cache the comment
CachedComment = CommentAttribute.Get();
CachedCommentText = FText::FromString( CachedComment );
// Create Widget
UpdateBubble();
}
FCursorReply SCommentBubble::OnCursorQuery( const FGeometry& MyGeometry, const FPointerEvent& CursorEvent ) const
{
const FVector2D Size( GetDesiredSize().X, GetDesiredSize().Y - SCommentBubbleDefs::BubbleArrowHeight );
const FSlateRect TestRect( FVector2D(MyGeometry.AbsolutePosition), FVector2D(MyGeometry.AbsolutePosition) + Size );
if( TestRect.ContainsPoint( CursorEvent.GetScreenSpacePosition() ))
{
return FCursorReply::Cursor( EMouseCursor::TextEditBeam );
}
return FCursorReply::Cursor( EMouseCursor::Default );
}
void SCommentBubble::Tick( const FGeometry& AllottedGeometry, const double InCurrentTime, const float InDeltaTime )
{
SCompoundWidget::Tick( AllottedGeometry, InCurrentTime, InDeltaTime );
// Check Editable and Hovered so we can prevent bubble toggling in read only graphs.
const bool bNodeEditable = !IsReadOnly();
const bool bEnableTitleHintBubble = bEnableTitleBarBubble && bNodeEditable;
const bool bTitleBarBubbleVisible = bEnableTitleHintBubble && IsGraphNodeHovered.IsBound();
if( bTitleBarBubbleVisible || IsBubbleVisible() )
{
const FLinearColor BubbleColor = GetBubbleColor().GetSpecifiedColor() * SCommentBubbleDefs::LuminanceCoEff;
BubbleLuminance = BubbleColor.R + BubbleColor.G + BubbleColor.B;
CalculatedForegroundColor = BubbleLuminance < 0.5f ? FStyleColors::Foreground : FStyleColors::Background;
}
Copying //UE4/Dev-Blueprints to //UE4/Dev-Main (Source: //UE4/Dev-Blueprints @ 3080732) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3058607 on 2016/07/20 by Mike.Beach Preventing a uneeded FStructOnScope allocation from happening - was causing issues with the memstomp allocator (internally, FStructOnScope was allocating mem of zero size and then asserting on the returned pointer). Change 3059586 on 2016/07/21 by Maciej.Mroz Added comments Change 3061614 on 2016/07/22 by Ben.Cosh Fix for a bug in the blueprint profiler tunnel mapping code that caused asserts when internal pure tunnel pins were linked to each other as pass thru. #Jira UE-33654 - Editor crash on compilation when feeding impure data to macros implemented via blueprint while profiling is enabled #Jira UE-33138 - BP Profiler: crash when trying to set child actor in profiler #Proj BlueprintProfiler Change 3061686 on 2016/07/22 by Mike.Beach Keeping cyclically dependent Blueprints from infinitely trying to recompile each other, when both have an unrelated error that will not be resolved by compiling the other. Change 3061760 on 2016/07/22 by Ben.Cosh Minor refactor of the delegate event code in the profiler to fix some stubborn issues. #Jira UE-33466 - Key events still have problems with recording event stats correctly #Proj BlueprintProfiler, Kismet Change 3061819 on 2016/07/22 by Maciej.Mroz #jira UE-26676 Blueprint native events give error when output ref params aren't in a specific order Force a overriden function to have the same parameter's order as the original one. Change 3061854 on 2016/07/22 by Bob.Tellez Duplicate CL#3058653 //Fortnite/Main #UE4 Now actually removing deprecated pins from non-blueprint graphs. Also MarkPendingKill now happens in UEdGraphNode's BeginDestroy instead of its destructor to ensure supporting code can safely access references to other UObjects. Change 3062634 on 2016/07/23 by Mike.Beach Accounting for EditablePinBase nodes whose UserDefinedPins have the wrong direction assigned to them (we now validate the direction, and expect it to reflect the EdGraphPin's). We already had made this fixup in CustomEvent nodes, but others (like collapsed tunnels, and math expression nodes) needed the fixup as well. Change 3062926 on 2016/07/25 by Ben.Cosh Added functionality to the blueprint compiler to detect local event function calls and handle them better in profiling conditions. #Jira UE-32869 - Nodes called after a custom event call do not record stats in the profiler #Proj CoreUObject, BlueprintProfiler, UnrealEd, KismetCompiler, BlueprintGraph - Added script emitted inline event start/stop calls for inline events so we can pull out and process these events discretely - Looked into adding something similar for all events but couldn't find a good place to put it/get it operational so it caught more standard events. Change 3063406 on 2016/07/25 by Ben.Cosh Modifying the execution graph selection highlight coloring. #Jira none #Proj EditorStyle Change 3063505 on 2016/07/25 by Ben.Cosh The blueprint profiler tunnel mapping was missing a call seek past reroute nodes #Jira UE-33670 - Reroute nodes used in 'for' loops break profiler communication #Proj BlueprintProfiler Change 3063508 on 2016/07/25 by Ben.Cosh Fixed a minor bug in the stat creation code that reported tunnel pure timings twice. #Jira UE-33707 - BP Profiler - Pure nodes internal to macro reported twice in tree view #Proj Kismet Change 3063511 on 2016/07/25 by Ben.Cosh Fix for a bug introduced that caused pie instances to mapped twice in the blueprint profiler. #Jira UE-33697 - BP Profiler: Extra instance showing up in the tree view #Proj BlueprintProfiler Change 3063627 on 2016/07/25 by Maciej.Mroz #jira UE-33027 Crash when implementing interface to child blueprint and then implementing it with parent blueprint Removed premature validation. Change 3064349 on 2016/07/26 by Maciej.Mroz #jira UE-32942 BP Nativization: Reduce the size of executable files Enabled and fixed local variables on event graph. Local variable can be only created as return value (so we're sure it doesn't require any resistency between calls.) It reduces size of executable file (2MB in Orion.exe dev config). It reduces number of member variables in nativized class (local varaibles in functions are not uproperties, so the number of generated of objects decreases). Change 3064788 on 2016/07/26 by Ryan.Rauschkolb Fixed Splitting a Rotation input struct pin results in any previously entered values shifting to a different axis #UE-31931 Change 3064828 on 2016/07/26 by Ryan.Rauschkolb Removed flag to disable Single Layout Blueprint Editor (no longer experimental feature) #jira UE-32038 Change 3064966 on 2016/07/26 by Ryan.Rauschkolb Fixed Comment bubbles don't handle widget visibility correctly #UE-21278 Change 3068095 on 2016/07/28 by Maciej.Mroz #jira UE-32942 BP Nativization: Reduce the size of executable files Private and protected properties have PrivatePropertyOffset (PPO) function in .generated.h. This function allows the nativized code to access the property without using UProperty. -It reduces the size of executable file (added by nativized plugin) about 10%. The OrionGame.exe (development config) is 6MB smaller. -It reduces the number of FindField function calls and stativ variables in the nativized code. List of inaccessible properties (that cannot be accessed using PPO) is logged while cooking (with nativization enabled). Change 3068122 on 2016/07/28 by Maciej.Mroz #jira UE-32942 BP Nativization: Reduce the size of executable files Hardcoded asset paths are split, so string literals can be better reused. Added UDynamicClass::FindStructPropertyChecked. It replaces FindFieldChecked<UStructProperty>, without inlining, and implicit FName constructor. It reduced the size of OrionGame.exe 1MB. Change 3068159 on 2016/07/28 by Maciej.Mroz #jira UE-32806 GitHub 2569 : Exposed GetComponentByClass to blueprint #2569: Exposed GetComponentByClass to blueprint (Contributed by Koderz) Change 3069715 on 2016/07/29 by Maciej.Mroz #jira UE-33460 [CrashReport] UE4Editor_CoreUObject!UObjectPropertyBase::ParseObjectPropertyValue() [propertybaseobject.cpp:237] UObjectPropertyBase::ParseObjectPropertyValue won;t crash when property is invalid. Property validation in UserDefinedStruct. THe struct is not recompiled on load, so it must be validated after serialization. Change 3070569 on 2016/07/29 by Bob.Tellez Duplicating CL#3070518 from //Fortnite/Main #UE4 Deprecated pin removal logic is now exclusively in UEdGraphNode::PostLoad. DeprecatedPinWatches fixup is now done in K2Node::PostLoad. Change 3071292 on 2016/07/30 by Mike.Beach Preventing the Blueprint reinstancer's Function/PropertyMap from being GC'd during compile. This was causing issues where new functions/properties were being allocated in the same pointer location, and UpdateBytecodeReferences() was replacing those references as well (specifically in unrelated class's Children->Next chain, linking in functions/properties that did not belong to that class). This was causing a multitude of problems (mainly bad property offset read/writes and endless field iterator loops). #jira UE-29631 Change 3072078 on 2016/08/01 by Maciej.Mroz #jira UE-33423, UE-33860 Removed too strint ensures. Fixed FGraphObjectTextFactory - After Custom Event nodes are pased, Skel Class is recompiled, because other pasted nodes may require its signature. Change 3072166 on 2016/08/01 by Dan.Oconnor PR #2589: fix EaseIn / EaseOut descriptions (Contributed by dsine-de) #jira UE-32997 Change 3072614 on 2016/08/01 by Mike.Beach Fixing an issue where hot-reloading a Blueprint parent class was not reinstancing skeleton CDOs. This caused problems later where the skel class layout didn't reflect the CDO object. #jira UE-29613 #codreview Maciej.Mroz, Phillip.Kavan Change 3073939 on 2016/08/02 by Dan.Oconnor Final fix for function graphs that cannot be deleted (bAllowDeletion erroneously set to false). Issue only manifests with assets created before 4.11, as the original bug was fixed in 2842578 #jira UE-19062 Change 3075793 on 2016/08/03 by Maciej.Mroz #jira UE-30473 Moving child component in child blueprint forces parent to become dirty Don't make parent BP package dirty, when a component in child BP was modified. Change 3076990 on 2016/08/04 by Ben.Cosh This fixes issues with mapping tunnel boundary pure nodes and addresses some asserts recently introduced. #Jira UE-33691 - Assert when compiling Blueprint with profiler instrumentation #Jira UE-33138 - BP Profiler: crash when trying to set child actor in profiler #Jira UE-33654 - Editor crash on compilation when feeding impure data to macros implemented via blueprint while profiling is enabled #Proj Kismet, BlueprintProfiler, BlueprintGraph - Fixed inline event detection ( it was causing function stats to fail, happened across it ) - Updated pure node lookup to use the entry pin, this was required because pure nodes span function contexts and lookup is a problem in nested tunnels. - Updated tunnel pure node code, added a stubbed pure chain early on external pure links add this and it maps at an appropriate time. - Changed the way nested tunnels are mapped, now only top level tunnels are gathered mapping the blueprint and these map nested tunnels and register them. - Updated pure node stat refreshes and heat level updates ( this was causing a bunch of extra cost with my changes ) - Fixed an issue with script perf data that caused nan's with no samples. - Updated pure node playback to cache pure nodes and avoid a second involved lookup when applying timings. - Renamed FScriptExecutionPureNode to FScriptExecutionPureChainNode to better reflect it's updated role. - Added extra editor stat collection for checking the cost breakdown of the profiler ( hottest path and heat level calcs now have discreet timings ) Change 3079235 on 2016/08/05 by Phillip.Kavan Fix for a bug in pi to pure node lookup functionality that caused pure nodes to be mapped more than once. #Jira UE-34254 - Crash compiling blueprint with instrumentation - !ScriptExecNode.IsValid() #Proj BlueprintProfiler, Kismet - Fixed the code to focus observed pins - Fixed event pin mapping code that was failing when linked directly to a tunnel node. Note: Submitting on behalf of BenC (per MikeB). Change 3080417 on 2016/08/08 by Ben.Cosh This fixes the way execution path stats are calculated. #Jira UE-34150 - Exec pin containers in the profiler are accumulating time incorrectly. #Proj Kismet Change 3080484 on 2016/08/08 by Maciej.Mroz #jira UE-28625 Direction of GetOverlapInfos parameter doesn't match Change 3080571 on 2016/08/08 by Ben.Cosh This addresses some flaws in the fix submitted in CL 3080417 that were discovered after submission. #Jira UE-34150 - Exec pin containers in the profiler are accumulating time incorrectly. #Proj Kismet [CL 3080751 by Mike Beach in Main branch]
2016-08-08 11:42:16 -04:00
TickVisibility(InCurrentTime, InDeltaTime);
if( CachedComment != CommentAttribute.Get() )
{
CachedComment = CommentAttribute.Get();
CachedCommentText = FText::FromString( CachedComment );
Copying //UE4/Dev-Blueprints to //UE4/Dev-Main (Source: //UE4/Dev-Blueprints @ 3080732) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3058607 on 2016/07/20 by Mike.Beach Preventing a uneeded FStructOnScope allocation from happening - was causing issues with the memstomp allocator (internally, FStructOnScope was allocating mem of zero size and then asserting on the returned pointer). Change 3059586 on 2016/07/21 by Maciej.Mroz Added comments Change 3061614 on 2016/07/22 by Ben.Cosh Fix for a bug in the blueprint profiler tunnel mapping code that caused asserts when internal pure tunnel pins were linked to each other as pass thru. #Jira UE-33654 - Editor crash on compilation when feeding impure data to macros implemented via blueprint while profiling is enabled #Jira UE-33138 - BP Profiler: crash when trying to set child actor in profiler #Proj BlueprintProfiler Change 3061686 on 2016/07/22 by Mike.Beach Keeping cyclically dependent Blueprints from infinitely trying to recompile each other, when both have an unrelated error that will not be resolved by compiling the other. Change 3061760 on 2016/07/22 by Ben.Cosh Minor refactor of the delegate event code in the profiler to fix some stubborn issues. #Jira UE-33466 - Key events still have problems with recording event stats correctly #Proj BlueprintProfiler, Kismet Change 3061819 on 2016/07/22 by Maciej.Mroz #jira UE-26676 Blueprint native events give error when output ref params aren't in a specific order Force a overriden function to have the same parameter's order as the original one. Change 3061854 on 2016/07/22 by Bob.Tellez Duplicate CL#3058653 //Fortnite/Main #UE4 Now actually removing deprecated pins from non-blueprint graphs. Also MarkPendingKill now happens in UEdGraphNode's BeginDestroy instead of its destructor to ensure supporting code can safely access references to other UObjects. Change 3062634 on 2016/07/23 by Mike.Beach Accounting for EditablePinBase nodes whose UserDefinedPins have the wrong direction assigned to them (we now validate the direction, and expect it to reflect the EdGraphPin's). We already had made this fixup in CustomEvent nodes, but others (like collapsed tunnels, and math expression nodes) needed the fixup as well. Change 3062926 on 2016/07/25 by Ben.Cosh Added functionality to the blueprint compiler to detect local event function calls and handle them better in profiling conditions. #Jira UE-32869 - Nodes called after a custom event call do not record stats in the profiler #Proj CoreUObject, BlueprintProfiler, UnrealEd, KismetCompiler, BlueprintGraph - Added script emitted inline event start/stop calls for inline events so we can pull out and process these events discretely - Looked into adding something similar for all events but couldn't find a good place to put it/get it operational so it caught more standard events. Change 3063406 on 2016/07/25 by Ben.Cosh Modifying the execution graph selection highlight coloring. #Jira none #Proj EditorStyle Change 3063505 on 2016/07/25 by Ben.Cosh The blueprint profiler tunnel mapping was missing a call seek past reroute nodes #Jira UE-33670 - Reroute nodes used in 'for' loops break profiler communication #Proj BlueprintProfiler Change 3063508 on 2016/07/25 by Ben.Cosh Fixed a minor bug in the stat creation code that reported tunnel pure timings twice. #Jira UE-33707 - BP Profiler - Pure nodes internal to macro reported twice in tree view #Proj Kismet Change 3063511 on 2016/07/25 by Ben.Cosh Fix for a bug introduced that caused pie instances to mapped twice in the blueprint profiler. #Jira UE-33697 - BP Profiler: Extra instance showing up in the tree view #Proj BlueprintProfiler Change 3063627 on 2016/07/25 by Maciej.Mroz #jira UE-33027 Crash when implementing interface to child blueprint and then implementing it with parent blueprint Removed premature validation. Change 3064349 on 2016/07/26 by Maciej.Mroz #jira UE-32942 BP Nativization: Reduce the size of executable files Enabled and fixed local variables on event graph. Local variable can be only created as return value (so we're sure it doesn't require any resistency between calls.) It reduces size of executable file (2MB in Orion.exe dev config). It reduces number of member variables in nativized class (local varaibles in functions are not uproperties, so the number of generated of objects decreases). Change 3064788 on 2016/07/26 by Ryan.Rauschkolb Fixed Splitting a Rotation input struct pin results in any previously entered values shifting to a different axis #UE-31931 Change 3064828 on 2016/07/26 by Ryan.Rauschkolb Removed flag to disable Single Layout Blueprint Editor (no longer experimental feature) #jira UE-32038 Change 3064966 on 2016/07/26 by Ryan.Rauschkolb Fixed Comment bubbles don't handle widget visibility correctly #UE-21278 Change 3068095 on 2016/07/28 by Maciej.Mroz #jira UE-32942 BP Nativization: Reduce the size of executable files Private and protected properties have PrivatePropertyOffset (PPO) function in .generated.h. This function allows the nativized code to access the property without using UProperty. -It reduces the size of executable file (added by nativized plugin) about 10%. The OrionGame.exe (development config) is 6MB smaller. -It reduces the number of FindField function calls and stativ variables in the nativized code. List of inaccessible properties (that cannot be accessed using PPO) is logged while cooking (with nativization enabled). Change 3068122 on 2016/07/28 by Maciej.Mroz #jira UE-32942 BP Nativization: Reduce the size of executable files Hardcoded asset paths are split, so string literals can be better reused. Added UDynamicClass::FindStructPropertyChecked. It replaces FindFieldChecked<UStructProperty>, without inlining, and implicit FName constructor. It reduced the size of OrionGame.exe 1MB. Change 3068159 on 2016/07/28 by Maciej.Mroz #jira UE-32806 GitHub 2569 : Exposed GetComponentByClass to blueprint #2569: Exposed GetComponentByClass to blueprint (Contributed by Koderz) Change 3069715 on 2016/07/29 by Maciej.Mroz #jira UE-33460 [CrashReport] UE4Editor_CoreUObject!UObjectPropertyBase::ParseObjectPropertyValue() [propertybaseobject.cpp:237] UObjectPropertyBase::ParseObjectPropertyValue won;t crash when property is invalid. Property validation in UserDefinedStruct. THe struct is not recompiled on load, so it must be validated after serialization. Change 3070569 on 2016/07/29 by Bob.Tellez Duplicating CL#3070518 from //Fortnite/Main #UE4 Deprecated pin removal logic is now exclusively in UEdGraphNode::PostLoad. DeprecatedPinWatches fixup is now done in K2Node::PostLoad. Change 3071292 on 2016/07/30 by Mike.Beach Preventing the Blueprint reinstancer's Function/PropertyMap from being GC'd during compile. This was causing issues where new functions/properties were being allocated in the same pointer location, and UpdateBytecodeReferences() was replacing those references as well (specifically in unrelated class's Children->Next chain, linking in functions/properties that did not belong to that class). This was causing a multitude of problems (mainly bad property offset read/writes and endless field iterator loops). #jira UE-29631 Change 3072078 on 2016/08/01 by Maciej.Mroz #jira UE-33423, UE-33860 Removed too strint ensures. Fixed FGraphObjectTextFactory - After Custom Event nodes are pased, Skel Class is recompiled, because other pasted nodes may require its signature. Change 3072166 on 2016/08/01 by Dan.Oconnor PR #2589: fix EaseIn / EaseOut descriptions (Contributed by dsine-de) #jira UE-32997 Change 3072614 on 2016/08/01 by Mike.Beach Fixing an issue where hot-reloading a Blueprint parent class was not reinstancing skeleton CDOs. This caused problems later where the skel class layout didn't reflect the CDO object. #jira UE-29613 #codreview Maciej.Mroz, Phillip.Kavan Change 3073939 on 2016/08/02 by Dan.Oconnor Final fix for function graphs that cannot be deleted (bAllowDeletion erroneously set to false). Issue only manifests with assets created before 4.11, as the original bug was fixed in 2842578 #jira UE-19062 Change 3075793 on 2016/08/03 by Maciej.Mroz #jira UE-30473 Moving child component in child blueprint forces parent to become dirty Don't make parent BP package dirty, when a component in child BP was modified. Change 3076990 on 2016/08/04 by Ben.Cosh This fixes issues with mapping tunnel boundary pure nodes and addresses some asserts recently introduced. #Jira UE-33691 - Assert when compiling Blueprint with profiler instrumentation #Jira UE-33138 - BP Profiler: crash when trying to set child actor in profiler #Jira UE-33654 - Editor crash on compilation when feeding impure data to macros implemented via blueprint while profiling is enabled #Proj Kismet, BlueprintProfiler, BlueprintGraph - Fixed inline event detection ( it was causing function stats to fail, happened across it ) - Updated pure node lookup to use the entry pin, this was required because pure nodes span function contexts and lookup is a problem in nested tunnels. - Updated tunnel pure node code, added a stubbed pure chain early on external pure links add this and it maps at an appropriate time. - Changed the way nested tunnels are mapped, now only top level tunnels are gathered mapping the blueprint and these map nested tunnels and register them. - Updated pure node stat refreshes and heat level updates ( this was causing a bunch of extra cost with my changes ) - Fixed an issue with script perf data that caused nan's with no samples. - Updated pure node playback to cache pure nodes and avoid a second involved lookup when applying timings. - Renamed FScriptExecutionPureNode to FScriptExecutionPureChainNode to better reflect it's updated role. - Added extra editor stat collection for checking the cost breakdown of the profiler ( hottest path and heat level calcs now have discreet timings ) Change 3079235 on 2016/08/05 by Phillip.Kavan Fix for a bug in pi to pure node lookup functionality that caused pure nodes to be mapped more than once. #Jira UE-34254 - Crash compiling blueprint with instrumentation - !ScriptExecNode.IsValid() #Proj BlueprintProfiler, Kismet - Fixed the code to focus observed pins - Fixed event pin mapping code that was failing when linked directly to a tunnel node. Note: Submitting on behalf of BenC (per MikeB). Change 3080417 on 2016/08/08 by Ben.Cosh This fixes the way execution path stats are calculated. #Jira UE-34150 - Exec pin containers in the profiler are accumulating time incorrectly. #Proj Kismet Change 3080484 on 2016/08/08 by Maciej.Mroz #jira UE-28625 Direction of GetOverlapInfos parameter doesn't match Change 3080571 on 2016/08/08 by Ben.Cosh This addresses some flaws in the fix submitted in CL 3080417 that were discovered after submission. #Jira UE-34150 - Exec pin containers in the profiler are accumulating time incorrectly. #Proj Kismet [CL 3080751 by Mike Beach in Main branch]
2016-08-08 11:42:16 -04:00
// Toggle the comment on/off, provided it the parent isn't a comment node
if( !bInvertLODCulling )
{
// If the comment visibility isn't correct, toggle it.
if (CachedComment.IsEmpty() == GraphNode->bCommentBubbleVisible)
{
OnCommentBubbleToggle(CachedComment.IsEmpty() ? ECheckBoxState::Unchecked : ECheckBoxState::Checked);
}
else
{
// we just need to refresh the widget's visibility, not the graph node
UpdateBubble();
}
Copying //UE4/Dev-Blueprints to //UE4/Dev-Main (Source: //UE4/Dev-Blueprints @ 3080732) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3058607 on 2016/07/20 by Mike.Beach Preventing a uneeded FStructOnScope allocation from happening - was causing issues with the memstomp allocator (internally, FStructOnScope was allocating mem of zero size and then asserting on the returned pointer). Change 3059586 on 2016/07/21 by Maciej.Mroz Added comments Change 3061614 on 2016/07/22 by Ben.Cosh Fix for a bug in the blueprint profiler tunnel mapping code that caused asserts when internal pure tunnel pins were linked to each other as pass thru. #Jira UE-33654 - Editor crash on compilation when feeding impure data to macros implemented via blueprint while profiling is enabled #Jira UE-33138 - BP Profiler: crash when trying to set child actor in profiler #Proj BlueprintProfiler Change 3061686 on 2016/07/22 by Mike.Beach Keeping cyclically dependent Blueprints from infinitely trying to recompile each other, when both have an unrelated error that will not be resolved by compiling the other. Change 3061760 on 2016/07/22 by Ben.Cosh Minor refactor of the delegate event code in the profiler to fix some stubborn issues. #Jira UE-33466 - Key events still have problems with recording event stats correctly #Proj BlueprintProfiler, Kismet Change 3061819 on 2016/07/22 by Maciej.Mroz #jira UE-26676 Blueprint native events give error when output ref params aren't in a specific order Force a overriden function to have the same parameter's order as the original one. Change 3061854 on 2016/07/22 by Bob.Tellez Duplicate CL#3058653 //Fortnite/Main #UE4 Now actually removing deprecated pins from non-blueprint graphs. Also MarkPendingKill now happens in UEdGraphNode's BeginDestroy instead of its destructor to ensure supporting code can safely access references to other UObjects. Change 3062634 on 2016/07/23 by Mike.Beach Accounting for EditablePinBase nodes whose UserDefinedPins have the wrong direction assigned to them (we now validate the direction, and expect it to reflect the EdGraphPin's). We already had made this fixup in CustomEvent nodes, but others (like collapsed tunnels, and math expression nodes) needed the fixup as well. Change 3062926 on 2016/07/25 by Ben.Cosh Added functionality to the blueprint compiler to detect local event function calls and handle them better in profiling conditions. #Jira UE-32869 - Nodes called after a custom event call do not record stats in the profiler #Proj CoreUObject, BlueprintProfiler, UnrealEd, KismetCompiler, BlueprintGraph - Added script emitted inline event start/stop calls for inline events so we can pull out and process these events discretely - Looked into adding something similar for all events but couldn't find a good place to put it/get it operational so it caught more standard events. Change 3063406 on 2016/07/25 by Ben.Cosh Modifying the execution graph selection highlight coloring. #Jira none #Proj EditorStyle Change 3063505 on 2016/07/25 by Ben.Cosh The blueprint profiler tunnel mapping was missing a call seek past reroute nodes #Jira UE-33670 - Reroute nodes used in 'for' loops break profiler communication #Proj BlueprintProfiler Change 3063508 on 2016/07/25 by Ben.Cosh Fixed a minor bug in the stat creation code that reported tunnel pure timings twice. #Jira UE-33707 - BP Profiler - Pure nodes internal to macro reported twice in tree view #Proj Kismet Change 3063511 on 2016/07/25 by Ben.Cosh Fix for a bug introduced that caused pie instances to mapped twice in the blueprint profiler. #Jira UE-33697 - BP Profiler: Extra instance showing up in the tree view #Proj BlueprintProfiler Change 3063627 on 2016/07/25 by Maciej.Mroz #jira UE-33027 Crash when implementing interface to child blueprint and then implementing it with parent blueprint Removed premature validation. Change 3064349 on 2016/07/26 by Maciej.Mroz #jira UE-32942 BP Nativization: Reduce the size of executable files Enabled and fixed local variables on event graph. Local variable can be only created as return value (so we're sure it doesn't require any resistency between calls.) It reduces size of executable file (2MB in Orion.exe dev config). It reduces number of member variables in nativized class (local varaibles in functions are not uproperties, so the number of generated of objects decreases). Change 3064788 on 2016/07/26 by Ryan.Rauschkolb Fixed Splitting a Rotation input struct pin results in any previously entered values shifting to a different axis #UE-31931 Change 3064828 on 2016/07/26 by Ryan.Rauschkolb Removed flag to disable Single Layout Blueprint Editor (no longer experimental feature) #jira UE-32038 Change 3064966 on 2016/07/26 by Ryan.Rauschkolb Fixed Comment bubbles don't handle widget visibility correctly #UE-21278 Change 3068095 on 2016/07/28 by Maciej.Mroz #jira UE-32942 BP Nativization: Reduce the size of executable files Private and protected properties have PrivatePropertyOffset (PPO) function in .generated.h. This function allows the nativized code to access the property without using UProperty. -It reduces the size of executable file (added by nativized plugin) about 10%. The OrionGame.exe (development config) is 6MB smaller. -It reduces the number of FindField function calls and stativ variables in the nativized code. List of inaccessible properties (that cannot be accessed using PPO) is logged while cooking (with nativization enabled). Change 3068122 on 2016/07/28 by Maciej.Mroz #jira UE-32942 BP Nativization: Reduce the size of executable files Hardcoded asset paths are split, so string literals can be better reused. Added UDynamicClass::FindStructPropertyChecked. It replaces FindFieldChecked<UStructProperty>, without inlining, and implicit FName constructor. It reduced the size of OrionGame.exe 1MB. Change 3068159 on 2016/07/28 by Maciej.Mroz #jira UE-32806 GitHub 2569 : Exposed GetComponentByClass to blueprint #2569: Exposed GetComponentByClass to blueprint (Contributed by Koderz) Change 3069715 on 2016/07/29 by Maciej.Mroz #jira UE-33460 [CrashReport] UE4Editor_CoreUObject!UObjectPropertyBase::ParseObjectPropertyValue() [propertybaseobject.cpp:237] UObjectPropertyBase::ParseObjectPropertyValue won;t crash when property is invalid. Property validation in UserDefinedStruct. THe struct is not recompiled on load, so it must be validated after serialization. Change 3070569 on 2016/07/29 by Bob.Tellez Duplicating CL#3070518 from //Fortnite/Main #UE4 Deprecated pin removal logic is now exclusively in UEdGraphNode::PostLoad. DeprecatedPinWatches fixup is now done in K2Node::PostLoad. Change 3071292 on 2016/07/30 by Mike.Beach Preventing the Blueprint reinstancer's Function/PropertyMap from being GC'd during compile. This was causing issues where new functions/properties were being allocated in the same pointer location, and UpdateBytecodeReferences() was replacing those references as well (specifically in unrelated class's Children->Next chain, linking in functions/properties that did not belong to that class). This was causing a multitude of problems (mainly bad property offset read/writes and endless field iterator loops). #jira UE-29631 Change 3072078 on 2016/08/01 by Maciej.Mroz #jira UE-33423, UE-33860 Removed too strint ensures. Fixed FGraphObjectTextFactory - After Custom Event nodes are pased, Skel Class is recompiled, because other pasted nodes may require its signature. Change 3072166 on 2016/08/01 by Dan.Oconnor PR #2589: fix EaseIn / EaseOut descriptions (Contributed by dsine-de) #jira UE-32997 Change 3072614 on 2016/08/01 by Mike.Beach Fixing an issue where hot-reloading a Blueprint parent class was not reinstancing skeleton CDOs. This caused problems later where the skel class layout didn't reflect the CDO object. #jira UE-29613 #codreview Maciej.Mroz, Phillip.Kavan Change 3073939 on 2016/08/02 by Dan.Oconnor Final fix for function graphs that cannot be deleted (bAllowDeletion erroneously set to false). Issue only manifests with assets created before 4.11, as the original bug was fixed in 2842578 #jira UE-19062 Change 3075793 on 2016/08/03 by Maciej.Mroz #jira UE-30473 Moving child component in child blueprint forces parent to become dirty Don't make parent BP package dirty, when a component in child BP was modified. Change 3076990 on 2016/08/04 by Ben.Cosh This fixes issues with mapping tunnel boundary pure nodes and addresses some asserts recently introduced. #Jira UE-33691 - Assert when compiling Blueprint with profiler instrumentation #Jira UE-33138 - BP Profiler: crash when trying to set child actor in profiler #Jira UE-33654 - Editor crash on compilation when feeding impure data to macros implemented via blueprint while profiling is enabled #Proj Kismet, BlueprintProfiler, BlueprintGraph - Fixed inline event detection ( it was causing function stats to fail, happened across it ) - Updated pure node lookup to use the entry pin, this was required because pure nodes span function contexts and lookup is a problem in nested tunnels. - Updated tunnel pure node code, added a stubbed pure chain early on external pure links add this and it maps at an appropriate time. - Changed the way nested tunnels are mapped, now only top level tunnels are gathered mapping the blueprint and these map nested tunnels and register them. - Updated pure node stat refreshes and heat level updates ( this was causing a bunch of extra cost with my changes ) - Fixed an issue with script perf data that caused nan's with no samples. - Updated pure node playback to cache pure nodes and avoid a second involved lookup when applying timings. - Renamed FScriptExecutionPureNode to FScriptExecutionPureChainNode to better reflect it's updated role. - Added extra editor stat collection for checking the cost breakdown of the profiler ( hottest path and heat level calcs now have discreet timings ) Change 3079235 on 2016/08/05 by Phillip.Kavan Fix for a bug in pi to pure node lookup functionality that caused pure nodes to be mapped more than once. #Jira UE-34254 - Crash compiling blueprint with instrumentation - !ScriptExecNode.IsValid() #Proj BlueprintProfiler, Kismet - Fixed the code to focus observed pins - Fixed event pin mapping code that was failing when linked directly to a tunnel node. Note: Submitting on behalf of BenC (per MikeB). Change 3080417 on 2016/08/08 by Ben.Cosh This fixes the way execution path stats are calculated. #Jira UE-34150 - Exec pin containers in the profiler are accumulating time incorrectly. #Proj Kismet Change 3080484 on 2016/08/08 by Maciej.Mroz #jira UE-28625 Direction of GetOverlapInfos parameter doesn't match Change 3080571 on 2016/08/08 by Ben.Cosh This addresses some flaws in the fix submitted in CL 3080417 that were discovered after submission. #Jira UE-34150 - Exec pin containers in the profiler are accumulating time incorrectly. #Proj Kismet [CL 3080751 by Mike Beach in Main branch]
2016-08-08 11:42:16 -04:00
}
}
}
void SCommentBubble::TickVisibility(const double InCurrentTime, const float InDeltaTime)
{
if( !GraphNode->bCommentBubbleVisible )
{
Copying //UE4/Dev-Blueprints to //UE4/Dev-Main (Source: //UE4/Dev-Blueprints @ 3080732) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3058607 on 2016/07/20 by Mike.Beach Preventing a uneeded FStructOnScope allocation from happening - was causing issues with the memstomp allocator (internally, FStructOnScope was allocating mem of zero size and then asserting on the returned pointer). Change 3059586 on 2016/07/21 by Maciej.Mroz Added comments Change 3061614 on 2016/07/22 by Ben.Cosh Fix for a bug in the blueprint profiler tunnel mapping code that caused asserts when internal pure tunnel pins were linked to each other as pass thru. #Jira UE-33654 - Editor crash on compilation when feeding impure data to macros implemented via blueprint while profiling is enabled #Jira UE-33138 - BP Profiler: crash when trying to set child actor in profiler #Proj BlueprintProfiler Change 3061686 on 2016/07/22 by Mike.Beach Keeping cyclically dependent Blueprints from infinitely trying to recompile each other, when both have an unrelated error that will not be resolved by compiling the other. Change 3061760 on 2016/07/22 by Ben.Cosh Minor refactor of the delegate event code in the profiler to fix some stubborn issues. #Jira UE-33466 - Key events still have problems with recording event stats correctly #Proj BlueprintProfiler, Kismet Change 3061819 on 2016/07/22 by Maciej.Mroz #jira UE-26676 Blueprint native events give error when output ref params aren't in a specific order Force a overriden function to have the same parameter's order as the original one. Change 3061854 on 2016/07/22 by Bob.Tellez Duplicate CL#3058653 //Fortnite/Main #UE4 Now actually removing deprecated pins from non-blueprint graphs. Also MarkPendingKill now happens in UEdGraphNode's BeginDestroy instead of its destructor to ensure supporting code can safely access references to other UObjects. Change 3062634 on 2016/07/23 by Mike.Beach Accounting for EditablePinBase nodes whose UserDefinedPins have the wrong direction assigned to them (we now validate the direction, and expect it to reflect the EdGraphPin's). We already had made this fixup in CustomEvent nodes, but others (like collapsed tunnels, and math expression nodes) needed the fixup as well. Change 3062926 on 2016/07/25 by Ben.Cosh Added functionality to the blueprint compiler to detect local event function calls and handle them better in profiling conditions. #Jira UE-32869 - Nodes called after a custom event call do not record stats in the profiler #Proj CoreUObject, BlueprintProfiler, UnrealEd, KismetCompiler, BlueprintGraph - Added script emitted inline event start/stop calls for inline events so we can pull out and process these events discretely - Looked into adding something similar for all events but couldn't find a good place to put it/get it operational so it caught more standard events. Change 3063406 on 2016/07/25 by Ben.Cosh Modifying the execution graph selection highlight coloring. #Jira none #Proj EditorStyle Change 3063505 on 2016/07/25 by Ben.Cosh The blueprint profiler tunnel mapping was missing a call seek past reroute nodes #Jira UE-33670 - Reroute nodes used in 'for' loops break profiler communication #Proj BlueprintProfiler Change 3063508 on 2016/07/25 by Ben.Cosh Fixed a minor bug in the stat creation code that reported tunnel pure timings twice. #Jira UE-33707 - BP Profiler - Pure nodes internal to macro reported twice in tree view #Proj Kismet Change 3063511 on 2016/07/25 by Ben.Cosh Fix for a bug introduced that caused pie instances to mapped twice in the blueprint profiler. #Jira UE-33697 - BP Profiler: Extra instance showing up in the tree view #Proj BlueprintProfiler Change 3063627 on 2016/07/25 by Maciej.Mroz #jira UE-33027 Crash when implementing interface to child blueprint and then implementing it with parent blueprint Removed premature validation. Change 3064349 on 2016/07/26 by Maciej.Mroz #jira UE-32942 BP Nativization: Reduce the size of executable files Enabled and fixed local variables on event graph. Local variable can be only created as return value (so we're sure it doesn't require any resistency between calls.) It reduces size of executable file (2MB in Orion.exe dev config). It reduces number of member variables in nativized class (local varaibles in functions are not uproperties, so the number of generated of objects decreases). Change 3064788 on 2016/07/26 by Ryan.Rauschkolb Fixed Splitting a Rotation input struct pin results in any previously entered values shifting to a different axis #UE-31931 Change 3064828 on 2016/07/26 by Ryan.Rauschkolb Removed flag to disable Single Layout Blueprint Editor (no longer experimental feature) #jira UE-32038 Change 3064966 on 2016/07/26 by Ryan.Rauschkolb Fixed Comment bubbles don't handle widget visibility correctly #UE-21278 Change 3068095 on 2016/07/28 by Maciej.Mroz #jira UE-32942 BP Nativization: Reduce the size of executable files Private and protected properties have PrivatePropertyOffset (PPO) function in .generated.h. This function allows the nativized code to access the property without using UProperty. -It reduces the size of executable file (added by nativized plugin) about 10%. The OrionGame.exe (development config) is 6MB smaller. -It reduces the number of FindField function calls and stativ variables in the nativized code. List of inaccessible properties (that cannot be accessed using PPO) is logged while cooking (with nativization enabled). Change 3068122 on 2016/07/28 by Maciej.Mroz #jira UE-32942 BP Nativization: Reduce the size of executable files Hardcoded asset paths are split, so string literals can be better reused. Added UDynamicClass::FindStructPropertyChecked. It replaces FindFieldChecked<UStructProperty>, without inlining, and implicit FName constructor. It reduced the size of OrionGame.exe 1MB. Change 3068159 on 2016/07/28 by Maciej.Mroz #jira UE-32806 GitHub 2569 : Exposed GetComponentByClass to blueprint #2569: Exposed GetComponentByClass to blueprint (Contributed by Koderz) Change 3069715 on 2016/07/29 by Maciej.Mroz #jira UE-33460 [CrashReport] UE4Editor_CoreUObject!UObjectPropertyBase::ParseObjectPropertyValue() [propertybaseobject.cpp:237] UObjectPropertyBase::ParseObjectPropertyValue won;t crash when property is invalid. Property validation in UserDefinedStruct. THe struct is not recompiled on load, so it must be validated after serialization. Change 3070569 on 2016/07/29 by Bob.Tellez Duplicating CL#3070518 from //Fortnite/Main #UE4 Deprecated pin removal logic is now exclusively in UEdGraphNode::PostLoad. DeprecatedPinWatches fixup is now done in K2Node::PostLoad. Change 3071292 on 2016/07/30 by Mike.Beach Preventing the Blueprint reinstancer's Function/PropertyMap from being GC'd during compile. This was causing issues where new functions/properties were being allocated in the same pointer location, and UpdateBytecodeReferences() was replacing those references as well (specifically in unrelated class's Children->Next chain, linking in functions/properties that did not belong to that class). This was causing a multitude of problems (mainly bad property offset read/writes and endless field iterator loops). #jira UE-29631 Change 3072078 on 2016/08/01 by Maciej.Mroz #jira UE-33423, UE-33860 Removed too strint ensures. Fixed FGraphObjectTextFactory - After Custom Event nodes are pased, Skel Class is recompiled, because other pasted nodes may require its signature. Change 3072166 on 2016/08/01 by Dan.Oconnor PR #2589: fix EaseIn / EaseOut descriptions (Contributed by dsine-de) #jira UE-32997 Change 3072614 on 2016/08/01 by Mike.Beach Fixing an issue where hot-reloading a Blueprint parent class was not reinstancing skeleton CDOs. This caused problems later where the skel class layout didn't reflect the CDO object. #jira UE-29613 #codreview Maciej.Mroz, Phillip.Kavan Change 3073939 on 2016/08/02 by Dan.Oconnor Final fix for function graphs that cannot be deleted (bAllowDeletion erroneously set to false). Issue only manifests with assets created before 4.11, as the original bug was fixed in 2842578 #jira UE-19062 Change 3075793 on 2016/08/03 by Maciej.Mroz #jira UE-30473 Moving child component in child blueprint forces parent to become dirty Don't make parent BP package dirty, when a component in child BP was modified. Change 3076990 on 2016/08/04 by Ben.Cosh This fixes issues with mapping tunnel boundary pure nodes and addresses some asserts recently introduced. #Jira UE-33691 - Assert when compiling Blueprint with profiler instrumentation #Jira UE-33138 - BP Profiler: crash when trying to set child actor in profiler #Jira UE-33654 - Editor crash on compilation when feeding impure data to macros implemented via blueprint while profiling is enabled #Proj Kismet, BlueprintProfiler, BlueprintGraph - Fixed inline event detection ( it was causing function stats to fail, happened across it ) - Updated pure node lookup to use the entry pin, this was required because pure nodes span function contexts and lookup is a problem in nested tunnels. - Updated tunnel pure node code, added a stubbed pure chain early on external pure links add this and it maps at an appropriate time. - Changed the way nested tunnels are mapped, now only top level tunnels are gathered mapping the blueprint and these map nested tunnels and register them. - Updated pure node stat refreshes and heat level updates ( this was causing a bunch of extra cost with my changes ) - Fixed an issue with script perf data that caused nan's with no samples. - Updated pure node playback to cache pure nodes and avoid a second involved lookup when applying timings. - Renamed FScriptExecutionPureNode to FScriptExecutionPureChainNode to better reflect it's updated role. - Added extra editor stat collection for checking the cost breakdown of the profiler ( hottest path and heat level calcs now have discreet timings ) Change 3079235 on 2016/08/05 by Phillip.Kavan Fix for a bug in pi to pure node lookup functionality that caused pure nodes to be mapped more than once. #Jira UE-34254 - Crash compiling blueprint with instrumentation - !ScriptExecNode.IsValid() #Proj BlueprintProfiler, Kismet - Fixed the code to focus observed pins - Fixed event pin mapping code that was failing when linked directly to a tunnel node. Note: Submitting on behalf of BenC (per MikeB). Change 3080417 on 2016/08/08 by Ben.Cosh This fixes the way execution path stats are calculated. #Jira UE-34150 - Exec pin containers in the profiler are accumulating time incorrectly. #Proj Kismet Change 3080484 on 2016/08/08 by Maciej.Mroz #jira UE-28625 Direction of GetOverlapInfos parameter doesn't match Change 3080571 on 2016/08/08 by Ben.Cosh This addresses some flaws in the fix submitted in CL 3080417 that were discovered after submission. #Jira UE-34150 - Exec pin containers in the profiler are accumulating time incorrectly. #Proj Kismet [CL 3080751 by Mike Beach in Main branch]
2016-08-08 11:42:16 -04:00
const bool bNodeEditable = !IsReadOnly();
const bool bEnableTitleHintBubble = bEnableTitleBarBubble && bNodeEditable;
const bool bTitleBarBubbleVisible = bEnableTitleHintBubble && IsGraphNodeHovered.IsBound();
if( bTitleBarBubbleVisible )
{
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 bool bIsCommentHovered = IsHovered() || IsGraphNodeHovered.Execute();
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
if( bIsCommentHovered )
{
if( OpacityValue < 1.f )
{
const float FadeUpAmt = InDeltaTime * SCommentBubbleDefs::FadeDownSpeed;
OpacityValue = FMath::Min( OpacityValue + FadeUpAmt, 1.f );
}
}
else
{
if( OpacityValue > SCommentBubbleDefs::FadeDelay )
{
const float FadeDownAmt = InDeltaTime * SCommentBubbleDefs::FadeDownSpeed;
OpacityValue = FMath::Max( OpacityValue - FadeDownAmt, SCommentBubbleDefs::FadeDelay );
}
}
}
}
}
void SCommentBubble::UpdateBubble()
{
if( GraphNode->bCommentBubbleVisible )
{
const FSlateBrush* CommentCalloutArrowBrush = FAppStyle::GetBrush(TEXT("Graph.Node.CommentArrow"));
const FMargin BubblePadding = FAppStyle::GetMargin( TEXT("Graph.Node.Comment.BubbleWidgetMargin"));
const FMargin PinIconPadding = FAppStyle::GetMargin( TEXT("Graph.Node.Comment.PinIconPadding"));
const FMargin BubbleOffset = FAppStyle::GetMargin( TEXT("Graph.Node.Comment.BubbleOffset"));
// Conditionally create bubble controls
TSharedPtr<SWidget> BubbleControls = SNullWidget::NullWidget;
if( bEnableBubbleCtrls )
{
if( bAllowPinning )
{
SAssignNew( BubbleControls, SVerticalBox )
.Visibility( this, &SCommentBubble::GetBubbleVisibility )
+SVerticalBox::Slot()
.Padding( 1.f )
.AutoHeight()
.VAlign( VAlign_Top )
[
SNew(SHorizontalBox)
+SHorizontalBox::Slot()
.AutoWidth()
.Padding( PinIconPadding )
[
SNew( SCheckBox )
.Style( &FAppStyle::Get().GetWidgetStyle<FCheckBoxStyle>( "CommentBubblePin" ))
.IsChecked( this, &SCommentBubble::GetPinnedButtonCheck )
.OnCheckStateChanged( this, &SCommentBubble::OnPinStateToggle )
.ToolTipText( this, &SCommentBubble::GetScaleButtonTooltip )
.Cursor( EMouseCursor::Default )
.ForegroundColor( this, &SCommentBubble::GetForegroundColor )
]
]
+SVerticalBox::Slot()
.AutoHeight()
.Padding( 1.f )
.VAlign( VAlign_Top )
[
SNew( SCheckBox )
.Style( &FAppStyle::Get().GetWidgetStyle< FCheckBoxStyle >( "CommentBubbleButton" ))
.IsChecked( ToggleButtonCheck )
.OnCheckStateChanged( this, &SCommentBubble::OnCommentBubbleToggle )
.ToolTipText( NSLOCTEXT( "CommentBubble", "ToggleCommentTooltip", "Toggle Comment Bubble" ))
.Cursor( EMouseCursor::Default )
.ForegroundColor(FStyleColors::Foreground)
];
}
else
{
SAssignNew( BubbleControls, SVerticalBox )
.Visibility( this, &SCommentBubble::GetBubbleVisibility )
+SVerticalBox::Slot()
.AutoHeight()
.Padding( 1.f )
.VAlign( VAlign_Top )
[
SNew( SCheckBox )
.Style( &FAppStyle::Get().GetWidgetStyle< FCheckBoxStyle >( "CommentBubbleButton" ))
.IsChecked( ToggleButtonCheck )
.OnCheckStateChanged( this, &SCommentBubble::OnCommentBubbleToggle )
.ToolTipText( NSLOCTEXT( "CommentBubble", "ToggleCommentTooltip", "Toggle Comment Bubble" ))
.Cursor( EMouseCursor::Default )
.ForegroundColor( FStyleColors::Foreground )
];
}
}
// Create the comment bubble widget
ChildSlot
[
SNew(SVerticalBox)
.Visibility( this, &SCommentBubble::GetBubbleVisibility )
+SVerticalBox::Slot()
.AutoHeight()
[
SNew(SHorizontalBox)
+SHorizontalBox::Slot()
.AutoWidth()
[
SNew(SOverlay)
+SOverlay::Slot()
[
SNew(SImage)
.Image( FAppStyle::GetBrush( TEXT("Graph.Node.CommentBubble")) )
.ColorAndOpacity( this, &SCommentBubble::GetBubbleColor )
]
+SOverlay::Slot()
.HAlign(HAlign_Left)
.VAlign(VAlign_Center)
[
SNew(SHorizontalBox)
+SHorizontalBox::Slot()
.Padding( BubblePadding )
.AutoWidth()
[
SAssignNew(TextBlock, SMultiLineEditableTextBox)
.Text(MakeAttributeLambda([this] { return CachedCommentText; }))
.Style(FAppStyle::Get(), "Graph.CommentBubble.EditableText")
.HintText( NSLOCTEXT( "CommentBubble", "EditCommentHint", "Click to edit" ))
.IsReadOnly(this, &SCommentBubble::IsReadOnly)
.SelectAllTextWhenFocused( true )
.RevertTextOnEscape( true )
.ClearKeyboardFocusOnCommit( true )
.ModiferKeyForNewLine(EModifierKey::Shift)
.OnTextCommitted(this, &SCommentBubble::OnCommentTextCommitted)
.ForegroundColor(this, &SCommentBubble::GetTextForegroundColor)
.ReadOnlyForegroundColor(this, &SCommentBubble::GetReadOnlyTextForegroundColor)
.BackgroundColor(this, &SCommentBubble::GetTextBackgroundColor)
]
+SHorizontalBox::Slot()
.AutoWidth()
.HAlign( HAlign_Right )
.Padding( 0.f )
[
BubbleControls.ToSharedRef()
]
]
]
]
+SVerticalBox::Slot()
.AutoHeight()
[
SNew(SHorizontalBox)
+SHorizontalBox::Slot()
.Padding( BubbleOffset )
.MaxWidth( CommentCalloutArrowBrush->ImageSize.X )
[
SNew(SImage)
.Image( CommentCalloutArrowBrush )
.ColorAndOpacity( this, &SCommentBubble::GetBubbleColor )
]
]
];
}
else
{
TSharedPtr<SWidget> TitleBarBubble = SNullWidget::NullWidget;
if( bEnableTitleBarBubble )
{
const FMargin BubbleOffset = FAppStyle::GetMargin( TEXT("Graph.Node.Comment.BubbleOffset"));
// Create Title bar bubble toggle widget
SAssignNew( TitleBarBubble, SHorizontalBox )
.Visibility( this, &SCommentBubble::GetToggleButtonVisibility )
+SHorizontalBox::Slot()
.AutoWidth()
.HAlign( HAlign_Center )
.VAlign( VAlign_Top )
.Padding( BubbleOffset )
[
SNew( SCheckBox )
.Style( &FAppStyle::Get().GetWidgetStyle< FCheckBoxStyle >( "CommentTitleButton" ))
.IsChecked( ToggleButtonCheck )
.OnCheckStateChanged( this, &SCommentBubble::OnCommentBubbleToggle )
.ToolTipText( NSLOCTEXT( "CommentBubble", "ToggleCommentTooltip", "Toggle Comment Bubble" ))
.Cursor( EMouseCursor::Default )
.ForegroundColor( this, &SCommentBubble::GetToggleButtonColor )
];
}
ChildSlot
[
TitleBarBubble.ToSharedRef()
];
}
}
Copying //UE4/Dev-Blueprints to //UE4/Dev-Main (Source: //UE4/Dev-Blueprints @ 3025888) #rb none #lockdown Nick.Penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2927746 on 2016/03/30 by Michael.Schoell Local variables in function graphs will now store a hard reference to their UObject value. Fixes a crash when a Blueprint is saved before compiling with the local variable's value set. Ensures that the UObject is loaded with the Blueprint. #jira UE-27738 - Local variables in a function that is in a blueprint will somehow become invalid when calling a native Change 2927751 on 2016/03/30 by Michael.Schoell Back out changelist 2927746 Change 2986483 on 2016/05/23 by Maciej.Mroz #jira UE-30976 Editable enum values set on an instance are lost during nativization Added overriden names of Enum keys. Change 2986712 on 2016/05/23 by Phillip.Kavan [UE-21010] Apply updated transform to component template instances when changing the scene root in a Blueprint class. change summary: - modified SSCS_RowWidget::OnMakeNewRootDropAction() to propagate the location/rotation reset to instances of the component template that's becoming the new scene root. Change 2987406 on 2016/05/23 by Ryan.Rauschkolb Fixed Functions filter in Find-In-Blueprints will show components from the SCS #jira UE-30140 Change 2988925 on 2016/05/24 by Ryan.Rauschkolb Fixed Issue where certain primitives would not automatically type cast to Text in Blueprint graph. #jira UE-20232 Change 2989001 on 2016/05/24 by Dan.Oconnor PR #2418: Fixed a typo in Blueprint.h (Contributed by PistonMiner) #jira UE-31142 Change 2989447 on 2016/05/25 by Phillip.Kavan [UE-30807] Propagate edit condition property value changes to instances of template objects. change summary: - modified FPropertyEditor::SetEditConditionState() to propagate an EditConditionProperty value change to all instances if the outer owning object is a template (e.g. CDO) Change 2989804 on 2016/05/25 by Phillip.Kavan [UE-30289] Preserve relative scale on the root scene component when converting an Actor instance to a Blueprint Class. change summary: - modified FKismetEditorUtilities::CreateBlueprintFromActor() to post-copy the relative scale value from the Actor's root component to the new Blueprint CDO's root component Change 2990234 on 2016/05/25 by Ryan.Rauschkolb Fixed issue where including a period ina Blueprint function causes double-click to fail to open its graph #jira UE-4426 Change 2990566 on 2016/05/25 by Mike.Beach Better warn logging to help locate variable nodes that emit a "variable not found" message. Change 2991083 on 2016/05/26 by Maciej.Mroz Blueprint nativization: converted classes have "config" specified. Change 2991363 on 2016/05/26 by Phillip.Kavan [UE-19599] Copy-and-paste of Actor instances from level to Blueprint/IWCE component tree views now adds properly-initialized components. change summary: - modified FCustomizableTextObjectFactory::CanCreateObjectsFromText() to handle "Begin Actor/End Actor" blocks in T3D text - modified FCustomizableTextObjectFactory::ProcessBuffer() to handle "Begin Actor/End Actor" blocks in T3D text (so that Actor-type objects can be processed) - modified FComponentObjectTextFactory::CanCreateClass() to allow Actor-type objects to pass - modified FComponentObjectTextFactory::ProcessConstructedObject() to handle Actor-type objects and pull out owned component instances as constructed objects Change 2992990 on 2016/05/27 by Ryan.Rauschkolb Fixed issue where Connecting Self Reference Pin to a String pin does not fully connect the generated GetDisplayName node #jira UE-21973 Change 2992995 on 2016/05/27 by Ryan.Rauschkolb Fixed issue where GetClass node is not listed in the Context Menu when pulling from a self node and Context Sensitive is checked. #jira UE-30990 Change 2993449 on 2016/05/27 by Phillip.Kavan [UE-31379] Don't instrument "preview" Actor instances during Blueprint profiler script event processing. change summary: - modified FBlueprintProfiler::InstrumentEvent() to check for and bypass Actor instances belonging to a preview or inactive world type. Change 2993531 on 2016/05/27 by Mike.Beach PR #2433: Interface functions inherited from a native base class now appear in . (Contributed by MichaelSchoell) Change 2993969 on 2016/05/30 by Maciej.Mroz UE-30729 Crash in Native Orion when selecting Sword or Tomahawk Clear AsyncLoading in subobjects. Change 2993990 on 2016/05/30 by Phillip.Kavan [UE-30984] Exclude reroute nodes from Blueprint profiler node mapping. change summary: - modified FBlueprintFunctionContext::MapInputPins() to pass through non-relevant nodes when iterating through non-exec input pin links. - modified FBlueprintFunctionContext::MapExecPins() to pass through non-relevant nodes when iterating through output exec pin links. - modified FBlueprintFunctionContext::MapTunnelEntry() to pass through non-relevant nodes when iterating through tunnel node exit points. - modified FBlueprintFunctionContext::MapTunnelInstance() to pass through non-relevant nodes when iterating through tunnel graph entry points. Change 2994591 on 2016/05/31 by Ryan.Rauschkolb Fixed issue where inherited Blueprint variable would not show parent's replications settings #jira UE-18912 Change 2994613 on 2016/05/31 by Ben.Cosh Minor refactor and Various fixes to the blueprint profiler moving towards MVP goal. #Jira UE-27039 - Blueprint Profiler does not lists stats when calling an Event Dispatcher #Jira UE-31396 - Blueprint profiler crashes inside the profiler connection drawing policy #Jira UE-30957 - "Pure Time" does not populate with data in the Blueprint Profiler #Jira UE-30926 - Blueprint profiler - expose heatmap thresholds to user through the profiler tab #Jira UE-30909 - Blueprint Profiler - "compile" icon should denote Blueprint's instrumented status #Jira UE-30911 - Blueprint profiler tab/panel should display warning when Blueprint is uninstrumented #Jira UE-31385 - BP Profiler - Inclusive time column should be entirely filled out #Jira UE-31375 - BP Profiler - Default sample averaging to the "arithmetic mean" #Jira UE-31377 - BP Profiler - Default tree view filtering to off #Jira UE-31387 - BP Profiler - Remove the "view type" button for MVP #Jira UE-31384 - BP Profiler - In the tree view, rename the first time column "Avg. Time (ms)" Notes:- - Sequence node inclusive time fixed - Trace History tidy up - Compile Icon and status messages for instrumentation - Message in the profiler tab for instrumentation - Profiler view tidy up and heat thresholds controls added - fixed the summed execution branch stats - fixed the connection drawing policy to use branch pin stats and fixed the crash from UE-31396 - added hottest path and hottest endpoint wire heatmaps - switched off the graph filter by default - added total time for the heatmaps - fixed issue where initialising mapped functions caused an assert due to changes to the array/map in initialisation code Change 2995058 on 2016/05/31 by Phillip.Kavan [UE-30718] Native/const implementable events will no longer cause a crash at runtime when the Blueprint profiler is running. change summary: - modified UObject::ProcessEvent() to bypass instrumentation for native event functions that are not implemented (overridden) in a BP class. - modified FScriptEventPlayback::Process() to first check for a standalone function match (UCS, implementable events declared as 'const') before settling on the ubergraph function for the target context. Change 2995218 on 2016/05/31 by Phillip.Kavan [UE-30778] Restored non-K2 compact graph nodes (e.g. Material Editor) to previous size. change summary: - modified SGraphNode::GetNodeIndicatorOverlayVisibility() default impl to return 'Collapsed' by default, so it doesn't affect layout. Change 2996417 on 2016/06/01 by Phillip.Kavan [UE-16073] Basic shape components (cube etc.) will now apply the correct override material to instances after being added through the component tree in the Blueprint editor. change summary: - modified the 'OnBasicShapeCreated' lambda in FComponentTypeRegistryData::AddBasicShapeComponents() to propagate the material override to all instances when the given component is an archetype (template) object. Change 2997001 on 2016/06/01 by Ryan.Rauschkolb Fixed Double Clicking a component in the results of Find-In-Blueprints does not select the component #jira UE-30143 Change 2997521 on 2016/06/02 by Maciej.Mroz [Blueprint Nativization] - Added FilesToIncludeInModuleHeader config variable in BlueprintNativizationSettings. So some headers can be included in NativizedAssets.h - Guids of nodes are no longer recreated when Blueprint is duplicated for "C++ compilation". Previously child bp used variable names based on original parent class, but nativized parent class had guids recreated. Change 2997522 on 2016/06/02 by Maciej.Mroz Native implementation of NOEXPORT FInterpCurvePoint structures. (It's necessary for Blueprint nativization) Change 2997638 on 2016/06/02 by Maciej.Mroz Improvements for Blueprint Nativization: - Overridden names in nativized code have proper escape characters (in generated code). - OnlyDefaultConstructorDeclared metadata is replaced by ObjectInitializerConstructorDeclared - Arrays of nativized anum have the following form: TArray<Enum> (previously it was TArray<TEnumAsByte<Enum>>) - warning C4883 is disabled in .generated.cpp files for nativized module Change 2997639 on 2016/06/02 by Maciej.Mroz Minor improvements in Ocean gameplay code. Required for Blueprint Nativization. #jira UE-28945 Failure packaging Nativized Ocean Change 2997656 on 2016/06/02 by Maciej.Mroz Various improvements in BlueprintCompilerCppBackend: - Fixed interface cast - Fixed TSwitchValue issue (when used with literals) - Fixed improper name for NativeBlueprintEvent (when calling parent's implementation) - Fixed bitfield getter code. - Reduce code size (less UsedAssets, less ReferencedConvertedFields, cached UEnums) - operator == is generated for nativized structs - Fixed AssedId (AssetPtr) constructor in nativized code. - Fixed arrays of noexport struct - Fixed missing headers for native single cast delegate signature. - Fixed issue when default constructor (in native) is missing (constructor with FObjectInitialized, wont be used automatically). See "ObjectInitializerConstructorDeclared" metadata. Change 2997691 on 2016/06/02 by Maciej.Mroz operator == in FText. It is required for some functions in TArray<FText> Change 2997793 on 2016/06/02 by Ben.Cosh Added support for BaseAsyncTask nodes, fixed a problem with instance mapping and turned off the debug instance filter #Jira UE-30703 - Crash using blueprint profiler on AI pawn using nav mesh #Proj BlueprintProfiler, Kismet Change 2997901 on 2016/06/02 by Maciej.Mroz Back out changelist 2997691 Change 2998038 on 2016/06/02 by Mike.Beach Merging //UE4/Dev-Main to Dev-Blueprints (//UE4/Dev-Blueprints) Change 2998052 on 2016/06/02 by Ryan.Rauschkolb Fixed Comment bubbles not remembering changes after losing focus #jira UE-20012 Change 2998450 on 2016/06/02 by Phillip.Kavan [UE-31550] Fix crash on load of a Blueprint class containing a bitmask variable with missing enum type metadata. change summary: - modified FBlueprintEditorUtils::ValidateBlueprintVariableMetadata() to check for presence of bitmask enum type metadata on a variable before trying to validate it. Change 2999763 on 2016/06/03 by Mike.Beach Guarding against a crash with an ensure - attempting to catch why this is happening by logging more info, as we're unable to repro it. Guarding against nodes which reference malformed (TRASH) classes. #jira UE-26761 Change 2999768 on 2016/06/03 by Maciej.Mroz #jira UE-31592, UE-31593 This is just workaound. FReferenceFinder::FindReferences doesn;t find Enum variable in UByteProperty. Change 2999770 on 2016/06/03 by Maciej.Mroz [Blueprint Nativization] Workaround for missing ==operator in native structures. The generated code uses special version of array funtions. Change 2999798 on 2016/06/03 by Mike.Beach Guarding against malformed Blueprints (ones without valid "authoratative" class) used as context for the node menu. Baffling how we'd get into this scenario, but this adds ensures to hopefully give us clues and stabalize the editor. #jira UE-31522 Change 2999941 on 2016/06/03 by Mike.Beach Correcting mistake in previously attempted fix (CL 2781229). Now using weak ptr IsValid checks to guard against destroyed nodes in deferred graph actions (TWeakObjectPtr::Get() does not check IsValid before returning). #jira UE-23371 Change 3001731 on 2016/06/06 by Phillip.Kavan [UE-30638] BP profiler will no longer crash at runtime while profiling events that call functions on an external target. change summary: - modified FBlueprintProfiler::ProcessEventProfilingData() to only remove 'Class' and 'Instance' signals on new events. - modified FScriptEventPlayback::NodeSignalHelper struct to include a new 'BlueprintContext' field. - modified FScriptEventPlayback::Process() to handle midstream context switches by updating the Blueprint/Function context on 'Class' and/or 'Instance' signals. - modified FScriptEventPlayback::Process() to cache and reference the current Blueprint context within the cached NodeSignalHelper while handling processed events. Change 3002075 on 2016/06/06 by Maciej.Mroz Improved FScriptBuilderBase::EmitTermExpr in KismetCompilerVMBackend. Literal expression can be emitted without known desitination property. #jira UE-28443 Set Boolean (by ref) crashes the editor on compile Change 3002096 on 2016/06/06 by Ben.Cosh This change expands the way that the blueprint profiler detects event nodes during mapping to include other non function graphs. #Jira UE-30716 - Blueprint Profiler crashes if function in another graph is called #Proj BlueprintProfiler Change 3002108 on 2016/06/06 by Ben.Cosh Adds a new default option to average the blueprint level stats in the profiler. #Jira UE-31386 - BP Profiler - Timings reported with "Show Instances" off (in the tree view) are not averaged #Proj Kismet, BlueprintProfiler - The controls were also getting a bit messy so I tidied them all up into a re-usable toolbar for convenience going forward. Change 3002782 on 2016/06/06 by samuel.proctor Test assets for Interface testing Change 3003826 on 2016/06/07 by Ben.Cosh A few minor visual improvements for the blueprint profiler. #Proj Kismet, BlueprintProfiler, EditorStyle - Updated the actor icon to match the world outliner and added some functionality to draw attention to stale/deleted actors. - Updated the pure node icon. Change 3004067 on 2016/06/07 by samuel.proctor New test asset for blueprint interfaces Change 3004069 on 2016/06/07 by samuel.proctor Updating asset for Interface testing Change 3004275 on 2016/06/07 by Ryan.Rauschkolb Fixed issue where Toggle Comment Bubble button for Reroute nodes would not rever tthe comment bubble to constant visibility #jira UE-23733 Change 3004329 on 2016/06/07 by Dan.Oconnor EdGraphPin is no longer a UObject, this will improve load times significantly on projects with large number of blueprints, but content does need to be resaved in order to see the improvement in load time. UObject counts are also greatly reduced. Change 3004418 on 2016/06/07 by Maciej.Mroz KismetCompilerVMBackend: Fixed issue, when a byte property has no enum specified (for examle parameter from EqualEqual_ByteByte) but the enum is needed to parse a literal value. Change 3004496 on 2016/06/07 by Dan.Oconnor Disabling expensive pin allocation tracking Change 3004649 on 2016/06/07 by Mike.Beach Preventing a new warning from being generated on trace point exceptions (trace point exceptions are used to hook into the debugger, and don't represent errors). #jira UE-31236 Change 3004667 on 2016/06/07 by Dan.Oconnor Removed my debugging logic Change 3004848 on 2016/06/07 by Dan.Oconnor Fix spammy ensure Change 3004871 on 2016/06/07 by Phillip.Kavan [UE-24950] No longer including components instanced as default subobjects of and attached to components instanced by construction script in the IWCE component tree view. change summary: - modified SSCSEditor::UpdateTree() to exclude child components instanced in native code as "nested" DSOs and parented to non-natively-constructed (e.g. Blueprint) components; these instances are no longer being shown in IWCE in order to avoid confusion, as they're not currently mutable at the instance level, will always be parented to something that is visible in the tree, and they're also not currently shown in the Blueprint editor's component tree view (because they're not stored in the CDO). - modified FSceneComponentData's ctor to exclude child components instanced in native code as nested DSOs from the AttachedInstancedComponents array; this allows child components instanced as nested DSOs to be disposed of along with the constructed parent instance when re-running construction scripts. Change 3005203 on 2016/06/07 by Dan.Oconnor Fix for undo/redo/serialization issues with ed graph pin change. When serialization logic was applied incrementally our attempts to keep LinkedTo symetrical and aggressively clear destroyed nodes caused problems #jira UE-31750 Change 3005441 on 2016/06/08 by Maciej.Mroz #jira UE-31625 Crash in nativized Orion AssembleReferenceTokenStream is called for Dynamic Classes: - in ConstructDynamicType() (when class is explicitly loaded) - in __CustomDynamicClassInitialization() (when CDO is created) Change 3005540 on 2016/06/08 by Ben.Cosh This adds the ability to track profiler instances between editor and PIE instances and displays the current status through the icon coloring. #Jira UE-30705 - Blueprint profiler stats lost if instance destroyed during PIE #Proj BlueprintProfiler, Kismet - The jira was already fixed but I think this change improves the instance status clarity Change 3006196 on 2016/06/08 by Dan.Oconnor Copy/paste logic for pin connections got lost in the shuffle #jira UE-31747 Change 3006416 on 2016/06/08 by Phillip.Kavan [UE-31735] Fix potential loss of GetClassDefaults node output pin links on load (due to dependency load order). change summary: - modified UK2Node_GetClassDefaults::GetInputClass() to redirect to the generated skeleton class only if it's valid. this ensures that output pins will be reallocated during node reconstruction even if the dependent Blueprint's skeleton class has not yet been generated on load. Change 3006522 on 2016/06/08 by Dan.Oconnor Under rare circumstances a deprecated pin comes in that is outered to the transient package #jira UE-31779 Change 3006576 on 2016/06/08 by Dan.Oconnor Fix for non-editor builds #jira UE-31796 Change 3006610 on 2016/06/08 by Phillip.Kavan [UE-31743] Fix data loss issue when loading a serialized non-native component class instance that's owned by an Actor-based Blueprint class instance. change summary: - modified FObjectInitializer::InitProperties() to disable fast path initialization for non-native class types when the default data does not equate to the non-native CDO (as is also done within the native path). this is necessary because the optimized property list that we generate at load time to support fast path initialization of Blueprint class instances is only applicable to the generated CDO. Change 3006824 on 2016/06/08 by Dan.Oconnor More undo/redo fixes, this time fixes for when transaction buffer changes # of pins, thus destabalizing the LinkedTo arrays #jira UE-31794 Change 3006828 on 2016/06/08 by Dan.Oconnor Fix for non-editor builds Change 3006857 on 2016/06/08 by Dan.Oconnor Investigating shutdown ensure, traced back to a static UEdGraphPin Change 3006907 on 2016/06/08 by Dan.Oconnor Noneditor build fix Change 3006929 on 2016/06/08 by Dan.Oconnor Deferring DeprecatedPins destruction until after UBlueprint has had a chance to fix up its watched pins, this is a better fix for #jira UE-31779 Change 3007133 on 2016/06/09 by Ben.Cosh Fix for issue in the profiler asserting creating pins that don't have unique names. #Jira UE-31752 - Crash compiling various Orion assets for blueprints profiling, ScriptExecNode.IsValid() failed #Proj BlueprintProfiler - I believe this was recently introduced with the changes to UEdGraphPin's Change 3007964 on 2016/06/09 by Dan.Oconnor Fix for PinHelpers::UnresolvedPins being left with stale entries by undo/redo #jira UE-31829 Change 3007996 on 2016/06/09 by Ryan.Rauschkolb Added 'empty' keyword to Array Clear Node. #jira UE-12356 Change 3008007 on 2016/06/09 by Ryan.Rauschkolb Added 'negate' keyword to boolean NOT node #jira UE-12490 Change 3008011 on 2016/06/09 by Ryan.Rauschkolb Added Vector2D * Vector2D multiplication node #jira UE-31503 Change 3008014 on 2016/06/09 by Ryan.Rauschkolb Fixed Cannot connect Make Array node output to MakeArray input with split pins #jira UE-28530 Change 3008243 on 2016/06/09 by Dan.Oconnor Fix for creation of FWeakGraphPinPtr from a pin that had been destroyed, client logic is still a bit broken in the case of the ClassDefaults node, but we're back to 'safe' #jira UE-31841 Change 3008289 on 2016/06/09 by Dan.Oconnor Editor transaction saves all state before applying undo/redo buffers when using 'bFlip' flow. This prevents messing with the object graph in the middle of saving state that will be restored later #jira UE-31794 Change 3008422 on 2016/06/09 by Dan.Oconnor Correct usage of GIsTransacting, replaced with Ar.IsTransacting() to correctly handle the case where we serialize after transacting but during the transaction (for instance, recompile blueprint in post undo, which we do quite a bit it turns out) #jira UE-31857 Change 3009164 on 2016/06/10 by Ryan.Rauschkolb Making changes to default values in the structure editor will now make changes to the structure without rebuilding the default values panel. #jira UE-21141,UE-23723 Change 3009165 on 2016/06/10 by Ryan.Rauschkolb Fixed Structure Default value editor collapses after undoing an alteration of a default value #jira UE-31741 Change 3009181 on 2016/06/10 by Ryan.Rauschkolb Fixed issue where modifying a default value in a Widget Blueprint would cause the Details Panel to refresh #jira UE-30014 Change 3009313 on 2016/06/10 by Mike.Beach Addressing issues with function return nodes in multiple ways: - Preventing users from deleting return nodes for overriden/inherited functions. - Also making sure that we create terminals for out params when the return node is disconnected (and pruned). - Lastly, ensuring that new return nodes adhere to the function's signature (for cases, like where you copy/paste a return node from a different function). #jira UE-31418 Change 3009595 on 2016/06/10 by Dan.Oconnor EdGraphPinReference using PinId to resolve itself again, may create issues resolving pins created in compile #jira UE-31879 Change 3009774 on 2016/06/10 by Dan.Oconnor Fix for bad logic in RemovePin introduced in 3004329, just a bad reading of the logic, missed an early return #jira UE-31906 Change 3009988 on 2016/06/10 by Dan.Oconnor Prefer to use existing pins (based on PinId) when undoing/redoing pin serialization #jira UE-31888 Change 3010050 on 2016/06/10 by Dan.Oconnor Fixed missing call to ssuper class's PostEditUndo, fixed UBehaviorTreeGraph::PostEditUndo accessing Pins before they have been resolved #jira UE-31892 Change 3010071 on 2016/06/10 by Dan.Oconnor Fix for pasting when owning node has whitespace in result of GetPathName #jira UE-31898 #coderview Bob.Tellez Change 3010244 on 2016/06/11 by Dan.Oconnor Fix for trivial copy/paste error, causes crash when copying/pasting nodes with text default values, part of UE-31870 Change 3010630 on 2016/06/13 by Dan.Oconnor No longer relying on path name for pin resolution, path is unstable across graphs #jira UE-31870 Change 3010647 on 2016/06/13 by Dan.Oconnor PR #2496: Updated KismetMathLibrary comparison descriptions for FDateTime and FTimespan. (Contributed by CelPlays) #jira UE-31928 Change 3011175 on 2016/06/13 by Ben.Cosh Updates the Blueprint Profiler so that it can correctly map entry/exit from tunnels based on instance. #Jira UE-30106 - Compiling QA_PhysVelocitySettleTest with the blueprint profiler results in a crash/assert #Proj Kismet, BlueprintProfiler - Ensured that the trace paths contain the macro instance exec nodes - Selectively update stats in the tunnel exit site nodes based on valid exit sites to prevent cyclic updates. - Updated the comments in map tunnel entry to spare peoples sanity when trying to understand what that function does. Change 3011271 on 2016/06/13 by Ben.Cosh This adds support for inherited blueprint classes to the blueprint profiler. #Jira UE-31833 - The Blueprint profiler asserts when using a FlipFlop macro. #Jira UE-31752 - Crash compiling various Orion assets for blueprints profiling, ScriptExecNode.IsValid() failed #Proj BlueprintProfiler Change 3011556 on 2016/06/13 by Ryan.Rauschkolb Fixed Crash when breaking link to a split pin in MakeArray that is an array type #jira UE-31919 Change 3011624 on 2016/06/13 by Dan.Oconnor Fix for missing entries in MessageLog's source pin identification map. Bob T had originally populated this correctly, but somehow i lost it while iterating. #jira UE-31955 Change 3011984 on 2016/06/13 by Dan.Oconnor Sanitizing parentpin's subpins when destroying a pin #jira UE-21392 Change 3012894 on 2016/06/14 by Phillip.Kavan [UE-30922] Ensure that customized defaults are propagated to new instances at construction time during non-Actor-based Blueprint class reinstancing. change summary: - modified FBlueprintCompileReinstancer::ReplaceInstancesOfClass_Inner() to use the reinstanced archetype object as the template object during construction of the new instance for non-Actor-based Blueprint class types. #jira UE-30922 Change 3013037 on 2016/06/14 by Ryan.Rauschkolb Fixed Crash when connecting to a split pin in a MakeArray node that has no connections #jira UE-31917 Change 3014846 on 2016/06/15 by Dan.Oconnor No longer using FText::IsLetter to parse math expression nodes, that function is very slow. $x is now a valid math expression variable name (genereated a compile error prior to this change) #jira FORT-23753 Change 3015014 on 2016/06/15 by Dan.Oconnor Removing poorly implement IsLetter function Change 3015142 on 2016/06/15 by Dan.Oconnor More intentional about removing subpins, prevents stale iterator on split pin collapse #jira UE-32072 Change 3016326 on 2016/06/16 by Ryan.Rauschkolb Fixed MakeArray node does not reset to wildcard when breaking links with split struct pins that have default values #jira UE-32016 Change 3016494 on 2016/06/16 by Ryan.Rauschkolb Fixed Crash when dragging a component into the Event Graph that's inherited from a C++ class #jira UE-31876 Change 3016557 on 2016/06/16 by Dan.Oconnor Explicit copy/move of string data for FText, removes some redundant copying and object construction/destruction [which could be optimzed away], saves 2-3 seconds in my 80s load asset benchmark #jira FORT-23753 Change 3016577 on 2016/06/16 by Ryan.Rauschkolb Fixed compiler warning for hidden member variable in FBlueprintVarActionDetails::GetVariableReplicationType Change 3016906 on 2016/06/16 by Dan.Oconnor Back out changelist 3016557 This will be done by Jamie.Dale in Dev-Editor Change 3018081 on 2016/06/17 by Phillip.Kavan [UE-31832] PR #2486: Expose UInheritableComponentHandler::GetAllTemplates() outside of editor (Contributed by Bogustus) #jira UE-31832 Change 3018402 on 2016/06/17 by Dan.Oconnor Missing include Change 3018426 on 2016/06/17 by Ryan.Rauschkolb Fixed MakeArray node with split pins and no connections does not paste correctly #jira UE-32148 Change 3018452 on 2016/06/17 by Mike.Beach Moving the patching of instanced sub-objects out of CPFUO (where you can't rely on the target to be a replacement for the source) to FBlueprintEditorUtils::PatchCDOSubobjectsIntoExport(), and making it so PatchCDOSubobjectsIntoExport() is called regularly for Blueprint regeneration (on load). #jira UE-32158 Change 3018456 on 2016/06/17 by Dan.Oconnor Fix for static analysis warning, this null check does nothing Change 3018595 on 2016/06/17 by Mike.Beach Fix for shadowed variable warning in CIS. Change 3018699 on 2016/06/17 by Mike.Beach Making MinimumAreaRectangle callable in Blueprints without world context (which is only needed for debug drawing). Change 3019734 on 2016/06/20 by Phillip.Kavan [UE-32064] Clone associated component template(s) when duplicating Blueprint function graphs containing one or more Add Component nodes. change summary: - added a UK2Node_AddComponent::PostDuplicate() override - moved UK2Node_AddComponent::PostPasteNode() logic into a helper method that's now called from both PostDuplicate() and PostPasteNode() overrides. notes: - will prevent getting into the scenario described in UE-31831 #jira UE-32064 Change 3020635 on 2016/06/20 by Dan.Oconnor Fix for bad cast in FCompilerResultsLog::Append, could cause crashes in clients of this function (math expressions nodes occasionally do when they fail to compile) Change 3020894 on 2016/06/21 by Maciej.Mroz #2522: Interface UProperties can ExposeOnSpawn (in Blueprints) (Contributed by MichaelSchoell) Change 3020958 on 2016/06/21 by Ben.Cosh This improves the way key events are detected in the blueprint profiler, preventing duplicate event entries when pressed and released are both wired. It also catches a bug with the compiler instrumentation flag when compiling. #Jira UE-32270 - Input key events generate extra instrumentation data per key press #Jira UE-32266 - Recompiling blueprints with instrumentation can fail to add instrumentation. #Proj BlueprintProfiler, UnrealEd Change 3021316 on 2016/06/21 by Ryan.Rauschkolb Fixed issue where Copy/Paste of event nodes would not retain link information Change 3021826 on 2016/06/21 by Phillip.Kavan [UE-31831] Fix up AddComponent nodes on load if they are not associated with a unique template object. change summary: - added external linkage to UK2Node_AddComponent::MakeNewComponentTemplate(), and switched it to be a public API - modified FBlueprintEditorUtils::UpdateComponentTemplates() (as this is already called on Blueprint load) to detect/warn and correct non-unique templates #jira UE-31831 Change 3022047 on 2016/06/21 by Ryan.Rauschkolb Fixed issue where copy/paste of return nodes would not preserve value or link data #jira UE-26937 Change 3022619 on 2016/06/22 by Maciej.Mroz #jira UE-30858 Nativized Orion - Some particle effects are not rendering A static/persistent information (the mechanism is similar to AssetRegistrySearchable) about DynamicClass is added. It's necessary since DynamicClasses are not handled as regular assets by AssetRegistry. Fixed GameplayCueManager. Nativized cues can be found. This is an early version of the feature. Amount of stored persistent data can be extended (but it would increase memory-usage). Change 3022654 on 2016/06/22 by Maciej.Mroz FBackendHelperStaticSearchableValues -fixed too strict ensure Change 3023067 on 2016/06/22 by Maciej.Mroz #jira UE-32083 Nativize Blueprints removes blueprint functionality in packaged project Config settings from super class are not applied (at runtime) to nativized Blueprints . So all "config" properties are filled in constructor. Change 3023222 on 2016/06/22 by Ryan.Rauschkolb Fixed MakeArray node elements break when editing struct elements #jira UE-21392 Change 3023405 on 2016/06/22 by Mike.Beach Making sure sub-objects get instanced for Blueprint CDOs that had their FObjectInitializer deferred (happens when the super CDO hasn't been fully serialized). By the time the deferred FObjectInitializer is ran, the sub-objects have been assigned a RF_NeedLoad flag (where they normally wouldn't have one right after construction, when the initialization is usually ran). #jira UE-31897 Change 3023992 on 2016/06/22 by Mike.Beach Fixed an issue where hovering on/off a reroute node (toggling the comment bubble visibility) would create extraneous undo transactions. #jira UE-31859 [CL 3025946 by Mike Beach in Main branch]
2016-06-23 19:35:24 -04:00
bool SCommentBubble::TextBlockHasKeyboardFocus() const
{
if (TextBlock.IsValid())
{
return TextBlock->HasKeyboardFocus();
}
return false;
}
FVector2D SCommentBubble::GetOffset() const
{
Copying //UE4/Dev-Blueprints to Dev-Main (//UE4/Dev-Main) @ 2781164 #lockdown Nick.Penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2716841 on 2015/10/05 by Mike.Beach (WIP) Cleaning up how we setup script assets for replacement on cook (aligning more with the Blueprint conversion tool). #codereview Maciej.Mroz Change 2719089 on 2015/10/07 by Maciej.Mroz ToValidCPPIdentifierChars handles propertly '?' char. #codereview Dan.Oconnor Change 2719361 on 2015/10/07 by Maciej.Mroz Generated native code for AnimBPGC - some preliminary changes. Refactor: UAnimBlueprintGeneratedClass is not accessed directly in runtime. It is accessed via UAnimClassInterface interface. Properties USkeletalMeshComponent::AnimBlueprintGeneratedClass and UInterpTrackFloatAnimBPParam::AnimBlueprintClass were changed into "TSubclassOf<UAnimInstance> AnimClass" The UDynamicClass also can deliver the IAnimClassInterface interface. See UAnimClassData, IAnimClassInterface::GetFromClass and UDynamicClass::AnimClassImplementation. #codereview Lina.Halper, Thomas.Sarkanen Change 2719383 on 2015/10/07 by Maciej.Mroz Debug-only code removed Change 2720528 on 2015/10/07 by Dan.Oconnor Fix for determinsitc cooking of async tasks and load asset nodes #codereview Mike.Beach, Maciej.Mroz Change 2721273 on 2015/10/08 by Maciej.Mroz Blueprint Compiler Cpp Backend - Anim Blueprints can be converted - Various fixes/improvements Change 2721310 on 2015/10/08 by Maciej.Mroz refactor (cl#2719361) - no "auto" keyword Change 2721727 on 2015/10/08 by Mike.Beach (WIP) Setup the cook commandlet so it handles converted assets, replacing them with generated classes. - Refactored the conversion manifest (using a map over an array) - Centralized destination paths into a helper struct (for the manifest) - Generating an Editor module that automatically hooks into the cook process when enabled - Loading and applying native replacments for the cook Change 2723276 on 2015/10/09 by Michael.Schoell Blueprints duplicated for PIE will no longer register as dependencies to other Blueprint. #jira UE-16695 - Editor freezes then crashes while attempting to save during PIE #jira UE-21614 - [CrashReport] Crash while saving during PIE - FKismetEditorUtilities::CompileBlueprint() kismet2.cpp:736 Change 2724345 on 2015/10/11 by Ben.Cosh Blueprint profiler at first pass, this includes the ability to instrument specific blueprints with realtime editor stat display. #UEBP-21 - Profiling data capture and storage #UEBP-13 - Performance capture landing page #Branch UE4 #Proj BlueprintProfiler, BlueprintGraph, EditorStyle, Kismet, UnrealEd, CoreUObject, Engine Change 2724613 on 2015/10/12 by Ben.Cosh Incremental update for blueprint profiler to fix the way some of the reported stats cascade through events and branches and additionally some missed bits of code are refactored/removed. #Branch UE4 #Proj BlueprintProfiler #info Whilst looking into this I spotted the reason why the stats seem so erratic, There appears to be an issue with FText's use of EXPERIMENTAL_TEXT_FAST_DECIMAL_FORMAT which I have reported, but ideally disable this locally until a fix is integrated. Change 2724723 on 2015/10/12 by Maciej.Mroz Constructor of a dynamic class creates CDO. #codereview Robert.Manuszewski Change 2725108 on 2015/10/12 by Mike.Beach [UE-21891] Minor fix to the array shuffle() function; now processes the last entry like all the others. Change 2726358 on 2015/10/13 by Maciej.Mroz UDataTable is properly saved even if its RowStruct is null. https://udn.unrealengine.com/questions/264064/crash-using-hotreload-in-custom-datatable-cdo-clas.html Change 2727395 on 2015/10/13 by Mike.Beach (WIP) Second pass on the Blueprint conversion pipeline; setting it up for more optimal (speedier) performance. * Using stubs for replacements (rather than loading dynamic replacement). * Giving the cook commandlet more control (so a conversion could be ran directly). * Now logging replacements by old object path (to account for UPackage replacement queries). * Fix for [UE-21947], unshelved from CL 2724944 (by Maciej.Mroz). #codereview Maciej.Mroz Change 2727484 on 2015/10/13 by Mike.Beach [UE-22008] Fixing up comment/tooltip typo for UActorComponent::bAutoActivate. Change 2727527 on 2015/10/13 by Mike.Beach Downgrading an inactionable EdGraph warning, while adding more info so we could possibly determine what's happening. Change 2727702 on 2015/10/13 by Dan.Oconnor Fix for crash in UDelegateProperty::GetCPPType when called on a function with no OwnerClass (events) Change 2727968 on 2015/10/14 by Maciej.Mroz Since ConstructorHelpers::FClassFinder is usually static, the loaded class should be in root set, to prevent the pointer stored in ConstructorHelpers::FClassFinder from being obsolete. FindOrLoadClass behaves now like FindOrLoadObject. #codereview Robert.Manuszewski, Nick.Whiting Change 2728139 on 2015/10/14 by Phillip.Kavan
2015-11-25 18:47:20 -05:00
return FVector2D( 0.f, -GetDesiredSize().Y );
}
float SCommentBubble::GetArrowCenterOffset() const
{
float CentreOffset = GraphNode->bCommentBubbleVisible ? SCommentBubbleDefs::ArrowCentreOffset : SCommentBubbleDefs::ToggleButtonCentreOffset;
const bool bVisibleAndUnpinned = !GraphNode->bCommentBubblePinned && GraphNode->bCommentBubbleVisible;
if (bVisibleAndUnpinned && GraphNode->DEPRECATED_NodeWidget.IsValid())
{
TSharedPtr<SGraphPanel> GraphPanel = GraphNode->DEPRECATED_NodeWidget.Pin()->GetOwnerPanel();
CentreOffset *= GraphPanel.IsValid() ? GraphPanel->GetZoomAmount() : 1.f;
}
return CentreOffset;
}
FVector2D SCommentBubble::GetSize() const
{
return GetDesiredSize();
}
bool SCommentBubble::IsBubbleVisible() const
{
EGraphRenderingLOD::Type CurrLOD = GraphLOD.Get();
const bool bShowScaled = CurrLOD > EGraphRenderingLOD::LowDetail;
const bool bShowPinned = CurrLOD <= EGraphRenderingLOD::MediumDetail;
if( bAllowPinning && !bInvertLODCulling )
{
return GraphNode->bCommentBubblePinned ? true : bShowScaled;
}
return bInvertLODCulling ? bShowPinned : !bShowPinned;
}
bool SCommentBubble::IsScalingAllowed() const
{
return !GraphNode->bCommentBubblePinned || !GraphNode->bCommentBubbleVisible;
}
FText SCommentBubble::GetScaleButtonTooltip() const
{
if( GraphNode->bCommentBubblePinned )
{
return NSLOCTEXT( "CommentBubble", "AllowScaleButtonTooltip", "Allow this bubble to scale with zoom" );
}
else
{
return NSLOCTEXT( "CommentBubble", "PreventScaleButtonTooltip", "Prevent this bubble scaling with zoom" );
}
}
FSlateColor SCommentBubble::GetToggleButtonColor() const
{
const FLinearColor BubbleColor = ColorAndOpacity.Get().GetSpecifiedColor();
return FLinearColor( 1.f, 1.f, 1.f, OpacityValue * OpacityValue );
}
FSlateColor SCommentBubble::GetBubbleColor() const
{
FLinearColor ReturnColor = ColorAndOpacity.Get().GetSpecifiedColor();
if(!GraphNode->IsNodeEnabled() || GraphNode->IsDisplayAsDisabledForced() || GraphNode->IsNodeUnrelated())
{
ReturnColor.A *= 0.6f;
}
return ReturnColor;
}
void SCommentBubble::OnCommentTextCommitted( const FText& NewText, ETextCommit::Type CommitInfo )
{
if (CommitInfo == ETextCommit::OnEnter || CommitInfo == ETextCommit::OnUserMovedFocus)
{
CachedComment = NewText.ToString();
CachedCommentText = NewText;
OnTextCommittedDelegate.ExecuteIfBound(CachedCommentText, CommitInfo);
}
}
FSlateColor SCommentBubble::GetTextBackgroundColor() const
{
return TextBlock->HasKeyboardFocus() ? FSlateColor::UseStyle() : SCommentBubbleDefs::TextClearBackground;
}
FSlateColor SCommentBubble::GetTextForegroundColor() const
{
if (TextBlock->HasKeyboardFocus())
{
return BubbleLuminance < 0.5f ? FStyleColors::Background : FStyleColors::Foreground;
}
else
{
return BubbleLuminance < 0.5f ? FStyleColors::Foreground : FStyleColors::Background;
}
}
FSlateColor SCommentBubble::GetReadOnlyTextForegroundColor() const
{
return TextBlock->HasKeyboardFocus() ? FStyleColors::Foreground : FSlateColor::UseStyle();
}
EVisibility SCommentBubble::GetToggleButtonVisibility() const
{
Copying //UE4/Dev-Blueprints to //UE4/Dev-Main (Source: //UE4/Dev-Blueprints @ 3080732) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3058607 on 2016/07/20 by Mike.Beach Preventing a uneeded FStructOnScope allocation from happening - was causing issues with the memstomp allocator (internally, FStructOnScope was allocating mem of zero size and then asserting on the returned pointer). Change 3059586 on 2016/07/21 by Maciej.Mroz Added comments Change 3061614 on 2016/07/22 by Ben.Cosh Fix for a bug in the blueprint profiler tunnel mapping code that caused asserts when internal pure tunnel pins were linked to each other as pass thru. #Jira UE-33654 - Editor crash on compilation when feeding impure data to macros implemented via blueprint while profiling is enabled #Jira UE-33138 - BP Profiler: crash when trying to set child actor in profiler #Proj BlueprintProfiler Change 3061686 on 2016/07/22 by Mike.Beach Keeping cyclically dependent Blueprints from infinitely trying to recompile each other, when both have an unrelated error that will not be resolved by compiling the other. Change 3061760 on 2016/07/22 by Ben.Cosh Minor refactor of the delegate event code in the profiler to fix some stubborn issues. #Jira UE-33466 - Key events still have problems with recording event stats correctly #Proj BlueprintProfiler, Kismet Change 3061819 on 2016/07/22 by Maciej.Mroz #jira UE-26676 Blueprint native events give error when output ref params aren't in a specific order Force a overriden function to have the same parameter's order as the original one. Change 3061854 on 2016/07/22 by Bob.Tellez Duplicate CL#3058653 //Fortnite/Main #UE4 Now actually removing deprecated pins from non-blueprint graphs. Also MarkPendingKill now happens in UEdGraphNode's BeginDestroy instead of its destructor to ensure supporting code can safely access references to other UObjects. Change 3062634 on 2016/07/23 by Mike.Beach Accounting for EditablePinBase nodes whose UserDefinedPins have the wrong direction assigned to them (we now validate the direction, and expect it to reflect the EdGraphPin's). We already had made this fixup in CustomEvent nodes, but others (like collapsed tunnels, and math expression nodes) needed the fixup as well. Change 3062926 on 2016/07/25 by Ben.Cosh Added functionality to the blueprint compiler to detect local event function calls and handle them better in profiling conditions. #Jira UE-32869 - Nodes called after a custom event call do not record stats in the profiler #Proj CoreUObject, BlueprintProfiler, UnrealEd, KismetCompiler, BlueprintGraph - Added script emitted inline event start/stop calls for inline events so we can pull out and process these events discretely - Looked into adding something similar for all events but couldn't find a good place to put it/get it operational so it caught more standard events. Change 3063406 on 2016/07/25 by Ben.Cosh Modifying the execution graph selection highlight coloring. #Jira none #Proj EditorStyle Change 3063505 on 2016/07/25 by Ben.Cosh The blueprint profiler tunnel mapping was missing a call seek past reroute nodes #Jira UE-33670 - Reroute nodes used in 'for' loops break profiler communication #Proj BlueprintProfiler Change 3063508 on 2016/07/25 by Ben.Cosh Fixed a minor bug in the stat creation code that reported tunnel pure timings twice. #Jira UE-33707 - BP Profiler - Pure nodes internal to macro reported twice in tree view #Proj Kismet Change 3063511 on 2016/07/25 by Ben.Cosh Fix for a bug introduced that caused pie instances to mapped twice in the blueprint profiler. #Jira UE-33697 - BP Profiler: Extra instance showing up in the tree view #Proj BlueprintProfiler Change 3063627 on 2016/07/25 by Maciej.Mroz #jira UE-33027 Crash when implementing interface to child blueprint and then implementing it with parent blueprint Removed premature validation. Change 3064349 on 2016/07/26 by Maciej.Mroz #jira UE-32942 BP Nativization: Reduce the size of executable files Enabled and fixed local variables on event graph. Local variable can be only created as return value (so we're sure it doesn't require any resistency between calls.) It reduces size of executable file (2MB in Orion.exe dev config). It reduces number of member variables in nativized class (local varaibles in functions are not uproperties, so the number of generated of objects decreases). Change 3064788 on 2016/07/26 by Ryan.Rauschkolb Fixed Splitting a Rotation input struct pin results in any previously entered values shifting to a different axis #UE-31931 Change 3064828 on 2016/07/26 by Ryan.Rauschkolb Removed flag to disable Single Layout Blueprint Editor (no longer experimental feature) #jira UE-32038 Change 3064966 on 2016/07/26 by Ryan.Rauschkolb Fixed Comment bubbles don't handle widget visibility correctly #UE-21278 Change 3068095 on 2016/07/28 by Maciej.Mroz #jira UE-32942 BP Nativization: Reduce the size of executable files Private and protected properties have PrivatePropertyOffset (PPO) function in .generated.h. This function allows the nativized code to access the property without using UProperty. -It reduces the size of executable file (added by nativized plugin) about 10%. The OrionGame.exe (development config) is 6MB smaller. -It reduces the number of FindField function calls and stativ variables in the nativized code. List of inaccessible properties (that cannot be accessed using PPO) is logged while cooking (with nativization enabled). Change 3068122 on 2016/07/28 by Maciej.Mroz #jira UE-32942 BP Nativization: Reduce the size of executable files Hardcoded asset paths are split, so string literals can be better reused. Added UDynamicClass::FindStructPropertyChecked. It replaces FindFieldChecked<UStructProperty>, without inlining, and implicit FName constructor. It reduced the size of OrionGame.exe 1MB. Change 3068159 on 2016/07/28 by Maciej.Mroz #jira UE-32806 GitHub 2569 : Exposed GetComponentByClass to blueprint #2569: Exposed GetComponentByClass to blueprint (Contributed by Koderz) Change 3069715 on 2016/07/29 by Maciej.Mroz #jira UE-33460 [CrashReport] UE4Editor_CoreUObject!UObjectPropertyBase::ParseObjectPropertyValue() [propertybaseobject.cpp:237] UObjectPropertyBase::ParseObjectPropertyValue won;t crash when property is invalid. Property validation in UserDefinedStruct. THe struct is not recompiled on load, so it must be validated after serialization. Change 3070569 on 2016/07/29 by Bob.Tellez Duplicating CL#3070518 from //Fortnite/Main #UE4 Deprecated pin removal logic is now exclusively in UEdGraphNode::PostLoad. DeprecatedPinWatches fixup is now done in K2Node::PostLoad. Change 3071292 on 2016/07/30 by Mike.Beach Preventing the Blueprint reinstancer's Function/PropertyMap from being GC'd during compile. This was causing issues where new functions/properties were being allocated in the same pointer location, and UpdateBytecodeReferences() was replacing those references as well (specifically in unrelated class's Children->Next chain, linking in functions/properties that did not belong to that class). This was causing a multitude of problems (mainly bad property offset read/writes and endless field iterator loops). #jira UE-29631 Change 3072078 on 2016/08/01 by Maciej.Mroz #jira UE-33423, UE-33860 Removed too strint ensures. Fixed FGraphObjectTextFactory - After Custom Event nodes are pased, Skel Class is recompiled, because other pasted nodes may require its signature. Change 3072166 on 2016/08/01 by Dan.Oconnor PR #2589: fix EaseIn / EaseOut descriptions (Contributed by dsine-de) #jira UE-32997 Change 3072614 on 2016/08/01 by Mike.Beach Fixing an issue where hot-reloading a Blueprint parent class was not reinstancing skeleton CDOs. This caused problems later where the skel class layout didn't reflect the CDO object. #jira UE-29613 #codreview Maciej.Mroz, Phillip.Kavan Change 3073939 on 2016/08/02 by Dan.Oconnor Final fix for function graphs that cannot be deleted (bAllowDeletion erroneously set to false). Issue only manifests with assets created before 4.11, as the original bug was fixed in 2842578 #jira UE-19062 Change 3075793 on 2016/08/03 by Maciej.Mroz #jira UE-30473 Moving child component in child blueprint forces parent to become dirty Don't make parent BP package dirty, when a component in child BP was modified. Change 3076990 on 2016/08/04 by Ben.Cosh This fixes issues with mapping tunnel boundary pure nodes and addresses some asserts recently introduced. #Jira UE-33691 - Assert when compiling Blueprint with profiler instrumentation #Jira UE-33138 - BP Profiler: crash when trying to set child actor in profiler #Jira UE-33654 - Editor crash on compilation when feeding impure data to macros implemented via blueprint while profiling is enabled #Proj Kismet, BlueprintProfiler, BlueprintGraph - Fixed inline event detection ( it was causing function stats to fail, happened across it ) - Updated pure node lookup to use the entry pin, this was required because pure nodes span function contexts and lookup is a problem in nested tunnels. - Updated tunnel pure node code, added a stubbed pure chain early on external pure links add this and it maps at an appropriate time. - Changed the way nested tunnels are mapped, now only top level tunnels are gathered mapping the blueprint and these map nested tunnels and register them. - Updated pure node stat refreshes and heat level updates ( this was causing a bunch of extra cost with my changes ) - Fixed an issue with script perf data that caused nan's with no samples. - Updated pure node playback to cache pure nodes and avoid a second involved lookup when applying timings. - Renamed FScriptExecutionPureNode to FScriptExecutionPureChainNode to better reflect it's updated role. - Added extra editor stat collection for checking the cost breakdown of the profiler ( hottest path and heat level calcs now have discreet timings ) Change 3079235 on 2016/08/05 by Phillip.Kavan Fix for a bug in pi to pure node lookup functionality that caused pure nodes to be mapped more than once. #Jira UE-34254 - Crash compiling blueprint with instrumentation - !ScriptExecNode.IsValid() #Proj BlueprintProfiler, Kismet - Fixed the code to focus observed pins - Fixed event pin mapping code that was failing when linked directly to a tunnel node. Note: Submitting on behalf of BenC (per MikeB). Change 3080417 on 2016/08/08 by Ben.Cosh This fixes the way execution path stats are calculated. #Jira UE-34150 - Exec pin containers in the profiler are accumulating time incorrectly. #Proj Kismet Change 3080484 on 2016/08/08 by Maciej.Mroz #jira UE-28625 Direction of GetOverlapInfos parameter doesn't match Change 3080571 on 2016/08/08 by Ben.Cosh This addresses some flaws in the fix submitted in CL 3080417 that were discovered after submission. #Jira UE-34150 - Exec pin containers in the profiler are accumulating time incorrectly. #Proj Kismet [CL 3080751 by Mike Beach in Main branch]
2016-08-08 11:42:16 -04:00
EVisibility ButtonVisibility = EVisibility::Collapsed;
if( OpacityValue > 0.f && !GraphNode->bCommentBubbleVisible )
{
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
ButtonVisibility = EVisibility::Visible;
}
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
return ButtonVisibility;
}
EVisibility SCommentBubble::GetBubbleVisibility() const
{
return IsBubbleVisible() ? EVisibility::Visible : EVisibility::Hidden;
}
ECheckBoxState SCommentBubble::GetToggleButtonCheck() const
{
ECheckBoxState CheckState = ECheckBoxState::Unchecked;
if( GraphNode )
{
CheckState = GraphNode->bCommentBubbleVisible ? ECheckBoxState::Checked : ECheckBoxState::Unchecked;
}
return CheckState;
}
void SCommentBubble::OnCommentBubbleToggle( ECheckBoxState State )
{
Copying //UE4/Dev-Blueprints to //UE4/Dev-Main (Source: //UE4/Dev-Blueprints @ 3025888) #rb none #lockdown Nick.Penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2927746 on 2016/03/30 by Michael.Schoell Local variables in function graphs will now store a hard reference to their UObject value. Fixes a crash when a Blueprint is saved before compiling with the local variable's value set. Ensures that the UObject is loaded with the Blueprint. #jira UE-27738 - Local variables in a function that is in a blueprint will somehow become invalid when calling a native Change 2927751 on 2016/03/30 by Michael.Schoell Back out changelist 2927746 Change 2986483 on 2016/05/23 by Maciej.Mroz #jira UE-30976 Editable enum values set on an instance are lost during nativization Added overriden names of Enum keys. Change 2986712 on 2016/05/23 by Phillip.Kavan [UE-21010] Apply updated transform to component template instances when changing the scene root in a Blueprint class. change summary: - modified SSCS_RowWidget::OnMakeNewRootDropAction() to propagate the location/rotation reset to instances of the component template that's becoming the new scene root. Change 2987406 on 2016/05/23 by Ryan.Rauschkolb Fixed Functions filter in Find-In-Blueprints will show components from the SCS #jira UE-30140 Change 2988925 on 2016/05/24 by Ryan.Rauschkolb Fixed Issue where certain primitives would not automatically type cast to Text in Blueprint graph. #jira UE-20232 Change 2989001 on 2016/05/24 by Dan.Oconnor PR #2418: Fixed a typo in Blueprint.h (Contributed by PistonMiner) #jira UE-31142 Change 2989447 on 2016/05/25 by Phillip.Kavan [UE-30807] Propagate edit condition property value changes to instances of template objects. change summary: - modified FPropertyEditor::SetEditConditionState() to propagate an EditConditionProperty value change to all instances if the outer owning object is a template (e.g. CDO) Change 2989804 on 2016/05/25 by Phillip.Kavan [UE-30289] Preserve relative scale on the root scene component when converting an Actor instance to a Blueprint Class. change summary: - modified FKismetEditorUtilities::CreateBlueprintFromActor() to post-copy the relative scale value from the Actor's root component to the new Blueprint CDO's root component Change 2990234 on 2016/05/25 by Ryan.Rauschkolb Fixed issue where including a period ina Blueprint function causes double-click to fail to open its graph #jira UE-4426 Change 2990566 on 2016/05/25 by Mike.Beach Better warn logging to help locate variable nodes that emit a "variable not found" message. Change 2991083 on 2016/05/26 by Maciej.Mroz Blueprint nativization: converted classes have "config" specified. Change 2991363 on 2016/05/26 by Phillip.Kavan [UE-19599] Copy-and-paste of Actor instances from level to Blueprint/IWCE component tree views now adds properly-initialized components. change summary: - modified FCustomizableTextObjectFactory::CanCreateObjectsFromText() to handle "Begin Actor/End Actor" blocks in T3D text - modified FCustomizableTextObjectFactory::ProcessBuffer() to handle "Begin Actor/End Actor" blocks in T3D text (so that Actor-type objects can be processed) - modified FComponentObjectTextFactory::CanCreateClass() to allow Actor-type objects to pass - modified FComponentObjectTextFactory::ProcessConstructedObject() to handle Actor-type objects and pull out owned component instances as constructed objects Change 2992990 on 2016/05/27 by Ryan.Rauschkolb Fixed issue where Connecting Self Reference Pin to a String pin does not fully connect the generated GetDisplayName node #jira UE-21973 Change 2992995 on 2016/05/27 by Ryan.Rauschkolb Fixed issue where GetClass node is not listed in the Context Menu when pulling from a self node and Context Sensitive is checked. #jira UE-30990 Change 2993449 on 2016/05/27 by Phillip.Kavan [UE-31379] Don't instrument "preview" Actor instances during Blueprint profiler script event processing. change summary: - modified FBlueprintProfiler::InstrumentEvent() to check for and bypass Actor instances belonging to a preview or inactive world type. Change 2993531 on 2016/05/27 by Mike.Beach PR #2433: Interface functions inherited from a native base class now appear in . (Contributed by MichaelSchoell) Change 2993969 on 2016/05/30 by Maciej.Mroz UE-30729 Crash in Native Orion when selecting Sword or Tomahawk Clear AsyncLoading in subobjects. Change 2993990 on 2016/05/30 by Phillip.Kavan [UE-30984] Exclude reroute nodes from Blueprint profiler node mapping. change summary: - modified FBlueprintFunctionContext::MapInputPins() to pass through non-relevant nodes when iterating through non-exec input pin links. - modified FBlueprintFunctionContext::MapExecPins() to pass through non-relevant nodes when iterating through output exec pin links. - modified FBlueprintFunctionContext::MapTunnelEntry() to pass through non-relevant nodes when iterating through tunnel node exit points. - modified FBlueprintFunctionContext::MapTunnelInstance() to pass through non-relevant nodes when iterating through tunnel graph entry points. Change 2994591 on 2016/05/31 by Ryan.Rauschkolb Fixed issue where inherited Blueprint variable would not show parent's replications settings #jira UE-18912 Change 2994613 on 2016/05/31 by Ben.Cosh Minor refactor and Various fixes to the blueprint profiler moving towards MVP goal. #Jira UE-27039 - Blueprint Profiler does not lists stats when calling an Event Dispatcher #Jira UE-31396 - Blueprint profiler crashes inside the profiler connection drawing policy #Jira UE-30957 - "Pure Time" does not populate with data in the Blueprint Profiler #Jira UE-30926 - Blueprint profiler - expose heatmap thresholds to user through the profiler tab #Jira UE-30909 - Blueprint Profiler - "compile" icon should denote Blueprint's instrumented status #Jira UE-30911 - Blueprint profiler tab/panel should display warning when Blueprint is uninstrumented #Jira UE-31385 - BP Profiler - Inclusive time column should be entirely filled out #Jira UE-31375 - BP Profiler - Default sample averaging to the "arithmetic mean" #Jira UE-31377 - BP Profiler - Default tree view filtering to off #Jira UE-31387 - BP Profiler - Remove the "view type" button for MVP #Jira UE-31384 - BP Profiler - In the tree view, rename the first time column "Avg. Time (ms)" Notes:- - Sequence node inclusive time fixed - Trace History tidy up - Compile Icon and status messages for instrumentation - Message in the profiler tab for instrumentation - Profiler view tidy up and heat thresholds controls added - fixed the summed execution branch stats - fixed the connection drawing policy to use branch pin stats and fixed the crash from UE-31396 - added hottest path and hottest endpoint wire heatmaps - switched off the graph filter by default - added total time for the heatmaps - fixed issue where initialising mapped functions caused an assert due to changes to the array/map in initialisation code Change 2995058 on 2016/05/31 by Phillip.Kavan [UE-30718] Native/const implementable events will no longer cause a crash at runtime when the Blueprint profiler is running. change summary: - modified UObject::ProcessEvent() to bypass instrumentation for native event functions that are not implemented (overridden) in a BP class. - modified FScriptEventPlayback::Process() to first check for a standalone function match (UCS, implementable events declared as 'const') before settling on the ubergraph function for the target context. Change 2995218 on 2016/05/31 by Phillip.Kavan [UE-30778] Restored non-K2 compact graph nodes (e.g. Material Editor) to previous size. change summary: - modified SGraphNode::GetNodeIndicatorOverlayVisibility() default impl to return 'Collapsed' by default, so it doesn't affect layout. Change 2996417 on 2016/06/01 by Phillip.Kavan [UE-16073] Basic shape components (cube etc.) will now apply the correct override material to instances after being added through the component tree in the Blueprint editor. change summary: - modified the 'OnBasicShapeCreated' lambda in FComponentTypeRegistryData::AddBasicShapeComponents() to propagate the material override to all instances when the given component is an archetype (template) object. Change 2997001 on 2016/06/01 by Ryan.Rauschkolb Fixed Double Clicking a component in the results of Find-In-Blueprints does not select the component #jira UE-30143 Change 2997521 on 2016/06/02 by Maciej.Mroz [Blueprint Nativization] - Added FilesToIncludeInModuleHeader config variable in BlueprintNativizationSettings. So some headers can be included in NativizedAssets.h - Guids of nodes are no longer recreated when Blueprint is duplicated for "C++ compilation". Previously child bp used variable names based on original parent class, but nativized parent class had guids recreated. Change 2997522 on 2016/06/02 by Maciej.Mroz Native implementation of NOEXPORT FInterpCurvePoint structures. (It's necessary for Blueprint nativization) Change 2997638 on 2016/06/02 by Maciej.Mroz Improvements for Blueprint Nativization: - Overridden names in nativized code have proper escape characters (in generated code). - OnlyDefaultConstructorDeclared metadata is replaced by ObjectInitializerConstructorDeclared - Arrays of nativized anum have the following form: TArray<Enum> (previously it was TArray<TEnumAsByte<Enum>>) - warning C4883 is disabled in .generated.cpp files for nativized module Change 2997639 on 2016/06/02 by Maciej.Mroz Minor improvements in Ocean gameplay code. Required for Blueprint Nativization. #jira UE-28945 Failure packaging Nativized Ocean Change 2997656 on 2016/06/02 by Maciej.Mroz Various improvements in BlueprintCompilerCppBackend: - Fixed interface cast - Fixed TSwitchValue issue (when used with literals) - Fixed improper name for NativeBlueprintEvent (when calling parent's implementation) - Fixed bitfield getter code. - Reduce code size (less UsedAssets, less ReferencedConvertedFields, cached UEnums) - operator == is generated for nativized structs - Fixed AssedId (AssetPtr) constructor in nativized code. - Fixed arrays of noexport struct - Fixed missing headers for native single cast delegate signature. - Fixed issue when default constructor (in native) is missing (constructor with FObjectInitialized, wont be used automatically). See "ObjectInitializerConstructorDeclared" metadata. Change 2997691 on 2016/06/02 by Maciej.Mroz operator == in FText. It is required for some functions in TArray<FText> Change 2997793 on 2016/06/02 by Ben.Cosh Added support for BaseAsyncTask nodes, fixed a problem with instance mapping and turned off the debug instance filter #Jira UE-30703 - Crash using blueprint profiler on AI pawn using nav mesh #Proj BlueprintProfiler, Kismet Change 2997901 on 2016/06/02 by Maciej.Mroz Back out changelist 2997691 Change 2998038 on 2016/06/02 by Mike.Beach Merging //UE4/Dev-Main to Dev-Blueprints (//UE4/Dev-Blueprints) Change 2998052 on 2016/06/02 by Ryan.Rauschkolb Fixed Comment bubbles not remembering changes after losing focus #jira UE-20012 Change 2998450 on 2016/06/02 by Phillip.Kavan [UE-31550] Fix crash on load of a Blueprint class containing a bitmask variable with missing enum type metadata. change summary: - modified FBlueprintEditorUtils::ValidateBlueprintVariableMetadata() to check for presence of bitmask enum type metadata on a variable before trying to validate it. Change 2999763 on 2016/06/03 by Mike.Beach Guarding against a crash with an ensure - attempting to catch why this is happening by logging more info, as we're unable to repro it. Guarding against nodes which reference malformed (TRASH) classes. #jira UE-26761 Change 2999768 on 2016/06/03 by Maciej.Mroz #jira UE-31592, UE-31593 This is just workaound. FReferenceFinder::FindReferences doesn;t find Enum variable in UByteProperty. Change 2999770 on 2016/06/03 by Maciej.Mroz [Blueprint Nativization] Workaround for missing ==operator in native structures. The generated code uses special version of array funtions. Change 2999798 on 2016/06/03 by Mike.Beach Guarding against malformed Blueprints (ones without valid "authoratative" class) used as context for the node menu. Baffling how we'd get into this scenario, but this adds ensures to hopefully give us clues and stabalize the editor. #jira UE-31522 Change 2999941 on 2016/06/03 by Mike.Beach Correcting mistake in previously attempted fix (CL 2781229). Now using weak ptr IsValid checks to guard against destroyed nodes in deferred graph actions (TWeakObjectPtr::Get() does not check IsValid before returning). #jira UE-23371 Change 3001731 on 2016/06/06 by Phillip.Kavan [UE-30638] BP profiler will no longer crash at runtime while profiling events that call functions on an external target. change summary: - modified FBlueprintProfiler::ProcessEventProfilingData() to only remove 'Class' and 'Instance' signals on new events. - modified FScriptEventPlayback::NodeSignalHelper struct to include a new 'BlueprintContext' field. - modified FScriptEventPlayback::Process() to handle midstream context switches by updating the Blueprint/Function context on 'Class' and/or 'Instance' signals. - modified FScriptEventPlayback::Process() to cache and reference the current Blueprint context within the cached NodeSignalHelper while handling processed events. Change 3002075 on 2016/06/06 by Maciej.Mroz Improved FScriptBuilderBase::EmitTermExpr in KismetCompilerVMBackend. Literal expression can be emitted without known desitination property. #jira UE-28443 Set Boolean (by ref) crashes the editor on compile Change 3002096 on 2016/06/06 by Ben.Cosh This change expands the way that the blueprint profiler detects event nodes during mapping to include other non function graphs. #Jira UE-30716 - Blueprint Profiler crashes if function in another graph is called #Proj BlueprintProfiler Change 3002108 on 2016/06/06 by Ben.Cosh Adds a new default option to average the blueprint level stats in the profiler. #Jira UE-31386 - BP Profiler - Timings reported with "Show Instances" off (in the tree view) are not averaged #Proj Kismet, BlueprintProfiler - The controls were also getting a bit messy so I tidied them all up into a re-usable toolbar for convenience going forward. Change 3002782 on 2016/06/06 by samuel.proctor Test assets for Interface testing Change 3003826 on 2016/06/07 by Ben.Cosh A few minor visual improvements for the blueprint profiler. #Proj Kismet, BlueprintProfiler, EditorStyle - Updated the actor icon to match the world outliner and added some functionality to draw attention to stale/deleted actors. - Updated the pure node icon. Change 3004067 on 2016/06/07 by samuel.proctor New test asset for blueprint interfaces Change 3004069 on 2016/06/07 by samuel.proctor Updating asset for Interface testing Change 3004275 on 2016/06/07 by Ryan.Rauschkolb Fixed issue where Toggle Comment Bubble button for Reroute nodes would not rever tthe comment bubble to constant visibility #jira UE-23733 Change 3004329 on 2016/06/07 by Dan.Oconnor EdGraphPin is no longer a UObject, this will improve load times significantly on projects with large number of blueprints, but content does need to be resaved in order to see the improvement in load time. UObject counts are also greatly reduced. Change 3004418 on 2016/06/07 by Maciej.Mroz KismetCompilerVMBackend: Fixed issue, when a byte property has no enum specified (for examle parameter from EqualEqual_ByteByte) but the enum is needed to parse a literal value. Change 3004496 on 2016/06/07 by Dan.Oconnor Disabling expensive pin allocation tracking Change 3004649 on 2016/06/07 by Mike.Beach Preventing a new warning from being generated on trace point exceptions (trace point exceptions are used to hook into the debugger, and don't represent errors). #jira UE-31236 Change 3004667 on 2016/06/07 by Dan.Oconnor Removed my debugging logic Change 3004848 on 2016/06/07 by Dan.Oconnor Fix spammy ensure Change 3004871 on 2016/06/07 by Phillip.Kavan [UE-24950] No longer including components instanced as default subobjects of and attached to components instanced by construction script in the IWCE component tree view. change summary: - modified SSCSEditor::UpdateTree() to exclude child components instanced in native code as "nested" DSOs and parented to non-natively-constructed (e.g. Blueprint) components; these instances are no longer being shown in IWCE in order to avoid confusion, as they're not currently mutable at the instance level, will always be parented to something that is visible in the tree, and they're also not currently shown in the Blueprint editor's component tree view (because they're not stored in the CDO). - modified FSceneComponentData's ctor to exclude child components instanced in native code as nested DSOs from the AttachedInstancedComponents array; this allows child components instanced as nested DSOs to be disposed of along with the constructed parent instance when re-running construction scripts. Change 3005203 on 2016/06/07 by Dan.Oconnor Fix for undo/redo/serialization issues with ed graph pin change. When serialization logic was applied incrementally our attempts to keep LinkedTo symetrical and aggressively clear destroyed nodes caused problems #jira UE-31750 Change 3005441 on 2016/06/08 by Maciej.Mroz #jira UE-31625 Crash in nativized Orion AssembleReferenceTokenStream is called for Dynamic Classes: - in ConstructDynamicType() (when class is explicitly loaded) - in __CustomDynamicClassInitialization() (when CDO is created) Change 3005540 on 2016/06/08 by Ben.Cosh This adds the ability to track profiler instances between editor and PIE instances and displays the current status through the icon coloring. #Jira UE-30705 - Blueprint profiler stats lost if instance destroyed during PIE #Proj BlueprintProfiler, Kismet - The jira was already fixed but I think this change improves the instance status clarity Change 3006196 on 2016/06/08 by Dan.Oconnor Copy/paste logic for pin connections got lost in the shuffle #jira UE-31747 Change 3006416 on 2016/06/08 by Phillip.Kavan [UE-31735] Fix potential loss of GetClassDefaults node output pin links on load (due to dependency load order). change summary: - modified UK2Node_GetClassDefaults::GetInputClass() to redirect to the generated skeleton class only if it's valid. this ensures that output pins will be reallocated during node reconstruction even if the dependent Blueprint's skeleton class has not yet been generated on load. Change 3006522 on 2016/06/08 by Dan.Oconnor Under rare circumstances a deprecated pin comes in that is outered to the transient package #jira UE-31779 Change 3006576 on 2016/06/08 by Dan.Oconnor Fix for non-editor builds #jira UE-31796 Change 3006610 on 2016/06/08 by Phillip.Kavan [UE-31743] Fix data loss issue when loading a serialized non-native component class instance that's owned by an Actor-based Blueprint class instance. change summary: - modified FObjectInitializer::InitProperties() to disable fast path initialization for non-native class types when the default data does not equate to the non-native CDO (as is also done within the native path). this is necessary because the optimized property list that we generate at load time to support fast path initialization of Blueprint class instances is only applicable to the generated CDO. Change 3006824 on 2016/06/08 by Dan.Oconnor More undo/redo fixes, this time fixes for when transaction buffer changes # of pins, thus destabalizing the LinkedTo arrays #jira UE-31794 Change 3006828 on 2016/06/08 by Dan.Oconnor Fix for non-editor builds Change 3006857 on 2016/06/08 by Dan.Oconnor Investigating shutdown ensure, traced back to a static UEdGraphPin Change 3006907 on 2016/06/08 by Dan.Oconnor Noneditor build fix Change 3006929 on 2016/06/08 by Dan.Oconnor Deferring DeprecatedPins destruction until after UBlueprint has had a chance to fix up its watched pins, this is a better fix for #jira UE-31779 Change 3007133 on 2016/06/09 by Ben.Cosh Fix for issue in the profiler asserting creating pins that don't have unique names. #Jira UE-31752 - Crash compiling various Orion assets for blueprints profiling, ScriptExecNode.IsValid() failed #Proj BlueprintProfiler - I believe this was recently introduced with the changes to UEdGraphPin's Change 3007964 on 2016/06/09 by Dan.Oconnor Fix for PinHelpers::UnresolvedPins being left with stale entries by undo/redo #jira UE-31829 Change 3007996 on 2016/06/09 by Ryan.Rauschkolb Added 'empty' keyword to Array Clear Node. #jira UE-12356 Change 3008007 on 2016/06/09 by Ryan.Rauschkolb Added 'negate' keyword to boolean NOT node #jira UE-12490 Change 3008011 on 2016/06/09 by Ryan.Rauschkolb Added Vector2D * Vector2D multiplication node #jira UE-31503 Change 3008014 on 2016/06/09 by Ryan.Rauschkolb Fixed Cannot connect Make Array node output to MakeArray input with split pins #jira UE-28530 Change 3008243 on 2016/06/09 by Dan.Oconnor Fix for creation of FWeakGraphPinPtr from a pin that had been destroyed, client logic is still a bit broken in the case of the ClassDefaults node, but we're back to 'safe' #jira UE-31841 Change 3008289 on 2016/06/09 by Dan.Oconnor Editor transaction saves all state before applying undo/redo buffers when using 'bFlip' flow. This prevents messing with the object graph in the middle of saving state that will be restored later #jira UE-31794 Change 3008422 on 2016/06/09 by Dan.Oconnor Correct usage of GIsTransacting, replaced with Ar.IsTransacting() to correctly handle the case where we serialize after transacting but during the transaction (for instance, recompile blueprint in post undo, which we do quite a bit it turns out) #jira UE-31857 Change 3009164 on 2016/06/10 by Ryan.Rauschkolb Making changes to default values in the structure editor will now make changes to the structure without rebuilding the default values panel. #jira UE-21141,UE-23723 Change 3009165 on 2016/06/10 by Ryan.Rauschkolb Fixed Structure Default value editor collapses after undoing an alteration of a default value #jira UE-31741 Change 3009181 on 2016/06/10 by Ryan.Rauschkolb Fixed issue where modifying a default value in a Widget Blueprint would cause the Details Panel to refresh #jira UE-30014 Change 3009313 on 2016/06/10 by Mike.Beach Addressing issues with function return nodes in multiple ways: - Preventing users from deleting return nodes for overriden/inherited functions. - Also making sure that we create terminals for out params when the return node is disconnected (and pruned). - Lastly, ensuring that new return nodes adhere to the function's signature (for cases, like where you copy/paste a return node from a different function). #jira UE-31418 Change 3009595 on 2016/06/10 by Dan.Oconnor EdGraphPinReference using PinId to resolve itself again, may create issues resolving pins created in compile #jira UE-31879 Change 3009774 on 2016/06/10 by Dan.Oconnor Fix for bad logic in RemovePin introduced in 3004329, just a bad reading of the logic, missed an early return #jira UE-31906 Change 3009988 on 2016/06/10 by Dan.Oconnor Prefer to use existing pins (based on PinId) when undoing/redoing pin serialization #jira UE-31888 Change 3010050 on 2016/06/10 by Dan.Oconnor Fixed missing call to ssuper class's PostEditUndo, fixed UBehaviorTreeGraph::PostEditUndo accessing Pins before they have been resolved #jira UE-31892 Change 3010071 on 2016/06/10 by Dan.Oconnor Fix for pasting when owning node has whitespace in result of GetPathName #jira UE-31898 #coderview Bob.Tellez Change 3010244 on 2016/06/11 by Dan.Oconnor Fix for trivial copy/paste error, causes crash when copying/pasting nodes with text default values, part of UE-31870 Change 3010630 on 2016/06/13 by Dan.Oconnor No longer relying on path name for pin resolution, path is unstable across graphs #jira UE-31870 Change 3010647 on 2016/06/13 by Dan.Oconnor PR #2496: Updated KismetMathLibrary comparison descriptions for FDateTime and FTimespan. (Contributed by CelPlays) #jira UE-31928 Change 3011175 on 2016/06/13 by Ben.Cosh Updates the Blueprint Profiler so that it can correctly map entry/exit from tunnels based on instance. #Jira UE-30106 - Compiling QA_PhysVelocitySettleTest with the blueprint profiler results in a crash/assert #Proj Kismet, BlueprintProfiler - Ensured that the trace paths contain the macro instance exec nodes - Selectively update stats in the tunnel exit site nodes based on valid exit sites to prevent cyclic updates. - Updated the comments in map tunnel entry to spare peoples sanity when trying to understand what that function does. Change 3011271 on 2016/06/13 by Ben.Cosh This adds support for inherited blueprint classes to the blueprint profiler. #Jira UE-31833 - The Blueprint profiler asserts when using a FlipFlop macro. #Jira UE-31752 - Crash compiling various Orion assets for blueprints profiling, ScriptExecNode.IsValid() failed #Proj BlueprintProfiler Change 3011556 on 2016/06/13 by Ryan.Rauschkolb Fixed Crash when breaking link to a split pin in MakeArray that is an array type #jira UE-31919 Change 3011624 on 2016/06/13 by Dan.Oconnor Fix for missing entries in MessageLog's source pin identification map. Bob T had originally populated this correctly, but somehow i lost it while iterating. #jira UE-31955 Change 3011984 on 2016/06/13 by Dan.Oconnor Sanitizing parentpin's subpins when destroying a pin #jira UE-21392 Change 3012894 on 2016/06/14 by Phillip.Kavan [UE-30922] Ensure that customized defaults are propagated to new instances at construction time during non-Actor-based Blueprint class reinstancing. change summary: - modified FBlueprintCompileReinstancer::ReplaceInstancesOfClass_Inner() to use the reinstanced archetype object as the template object during construction of the new instance for non-Actor-based Blueprint class types. #jira UE-30922 Change 3013037 on 2016/06/14 by Ryan.Rauschkolb Fixed Crash when connecting to a split pin in a MakeArray node that has no connections #jira UE-31917 Change 3014846 on 2016/06/15 by Dan.Oconnor No longer using FText::IsLetter to parse math expression nodes, that function is very slow. $x is now a valid math expression variable name (genereated a compile error prior to this change) #jira FORT-23753 Change 3015014 on 2016/06/15 by Dan.Oconnor Removing poorly implement IsLetter function Change 3015142 on 2016/06/15 by Dan.Oconnor More intentional about removing subpins, prevents stale iterator on split pin collapse #jira UE-32072 Change 3016326 on 2016/06/16 by Ryan.Rauschkolb Fixed MakeArray node does not reset to wildcard when breaking links with split struct pins that have default values #jira UE-32016 Change 3016494 on 2016/06/16 by Ryan.Rauschkolb Fixed Crash when dragging a component into the Event Graph that's inherited from a C++ class #jira UE-31876 Change 3016557 on 2016/06/16 by Dan.Oconnor Explicit copy/move of string data for FText, removes some redundant copying and object construction/destruction [which could be optimzed away], saves 2-3 seconds in my 80s load asset benchmark #jira FORT-23753 Change 3016577 on 2016/06/16 by Ryan.Rauschkolb Fixed compiler warning for hidden member variable in FBlueprintVarActionDetails::GetVariableReplicationType Change 3016906 on 2016/06/16 by Dan.Oconnor Back out changelist 3016557 This will be done by Jamie.Dale in Dev-Editor Change 3018081 on 2016/06/17 by Phillip.Kavan [UE-31832] PR #2486: Expose UInheritableComponentHandler::GetAllTemplates() outside of editor (Contributed by Bogustus) #jira UE-31832 Change 3018402 on 2016/06/17 by Dan.Oconnor Missing include Change 3018426 on 2016/06/17 by Ryan.Rauschkolb Fixed MakeArray node with split pins and no connections does not paste correctly #jira UE-32148 Change 3018452 on 2016/06/17 by Mike.Beach Moving the patching of instanced sub-objects out of CPFUO (where you can't rely on the target to be a replacement for the source) to FBlueprintEditorUtils::PatchCDOSubobjectsIntoExport(), and making it so PatchCDOSubobjectsIntoExport() is called regularly for Blueprint regeneration (on load). #jira UE-32158 Change 3018456 on 2016/06/17 by Dan.Oconnor Fix for static analysis warning, this null check does nothing Change 3018595 on 2016/06/17 by Mike.Beach Fix for shadowed variable warning in CIS. Change 3018699 on 2016/06/17 by Mike.Beach Making MinimumAreaRectangle callable in Blueprints without world context (which is only needed for debug drawing). Change 3019734 on 2016/06/20 by Phillip.Kavan [UE-32064] Clone associated component template(s) when duplicating Blueprint function graphs containing one or more Add Component nodes. change summary: - added a UK2Node_AddComponent::PostDuplicate() override - moved UK2Node_AddComponent::PostPasteNode() logic into a helper method that's now called from both PostDuplicate() and PostPasteNode() overrides. notes: - will prevent getting into the scenario described in UE-31831 #jira UE-32064 Change 3020635 on 2016/06/20 by Dan.Oconnor Fix for bad cast in FCompilerResultsLog::Append, could cause crashes in clients of this function (math expressions nodes occasionally do when they fail to compile) Change 3020894 on 2016/06/21 by Maciej.Mroz #2522: Interface UProperties can ExposeOnSpawn (in Blueprints) (Contributed by MichaelSchoell) Change 3020958 on 2016/06/21 by Ben.Cosh This improves the way key events are detected in the blueprint profiler, preventing duplicate event entries when pressed and released are both wired. It also catches a bug with the compiler instrumentation flag when compiling. #Jira UE-32270 - Input key events generate extra instrumentation data per key press #Jira UE-32266 - Recompiling blueprints with instrumentation can fail to add instrumentation. #Proj BlueprintProfiler, UnrealEd Change 3021316 on 2016/06/21 by Ryan.Rauschkolb Fixed issue where Copy/Paste of event nodes would not retain link information Change 3021826 on 2016/06/21 by Phillip.Kavan [UE-31831] Fix up AddComponent nodes on load if they are not associated with a unique template object. change summary: - added external linkage to UK2Node_AddComponent::MakeNewComponentTemplate(), and switched it to be a public API - modified FBlueprintEditorUtils::UpdateComponentTemplates() (as this is already called on Blueprint load) to detect/warn and correct non-unique templates #jira UE-31831 Change 3022047 on 2016/06/21 by Ryan.Rauschkolb Fixed issue where copy/paste of return nodes would not preserve value or link data #jira UE-26937 Change 3022619 on 2016/06/22 by Maciej.Mroz #jira UE-30858 Nativized Orion - Some particle effects are not rendering A static/persistent information (the mechanism is similar to AssetRegistrySearchable) about DynamicClass is added. It's necessary since DynamicClasses are not handled as regular assets by AssetRegistry. Fixed GameplayCueManager. Nativized cues can be found. This is an early version of the feature. Amount of stored persistent data can be extended (but it would increase memory-usage). Change 3022654 on 2016/06/22 by Maciej.Mroz FBackendHelperStaticSearchableValues -fixed too strict ensure Change 3023067 on 2016/06/22 by Maciej.Mroz #jira UE-32083 Nativize Blueprints removes blueprint functionality in packaged project Config settings from super class are not applied (at runtime) to nativized Blueprints . So all "config" properties are filled in constructor. Change 3023222 on 2016/06/22 by Ryan.Rauschkolb Fixed MakeArray node elements break when editing struct elements #jira UE-21392 Change 3023405 on 2016/06/22 by Mike.Beach Making sure sub-objects get instanced for Blueprint CDOs that had their FObjectInitializer deferred (happens when the super CDO hasn't been fully serialized). By the time the deferred FObjectInitializer is ran, the sub-objects have been assigned a RF_NeedLoad flag (where they normally wouldn't have one right after construction, when the initialization is usually ran). #jira UE-31897 Change 3023992 on 2016/06/22 by Mike.Beach Fixed an issue where hovering on/off a reroute node (toggling the comment bubble visibility) would create extraneous undo transactions. #jira UE-31859 [CL 3025946 by Mike Beach in Main branch]
2016-06-23 19:35:24 -04:00
const bool bNewVisibilityState = (State == ECheckBoxState::Checked);
if( !IsReadOnly() && bNewVisibilityState != GraphNode->bCommentBubbleVisible)
{
const FScopedTransaction Transaction( NSLOCTEXT( "CommentBubble", "BubbleVisibility", "Comment Bubble Visibility" ) );
GraphNode->Modify();
Copying //UE4/Dev-Blueprints to //UE4/Dev-Main (Source: //UE4/Dev-Blueprints @ 3025888) #rb none #lockdown Nick.Penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2927746 on 2016/03/30 by Michael.Schoell Local variables in function graphs will now store a hard reference to their UObject value. Fixes a crash when a Blueprint is saved before compiling with the local variable's value set. Ensures that the UObject is loaded with the Blueprint. #jira UE-27738 - Local variables in a function that is in a blueprint will somehow become invalid when calling a native Change 2927751 on 2016/03/30 by Michael.Schoell Back out changelist 2927746 Change 2986483 on 2016/05/23 by Maciej.Mroz #jira UE-30976 Editable enum values set on an instance are lost during nativization Added overriden names of Enum keys. Change 2986712 on 2016/05/23 by Phillip.Kavan [UE-21010] Apply updated transform to component template instances when changing the scene root in a Blueprint class. change summary: - modified SSCS_RowWidget::OnMakeNewRootDropAction() to propagate the location/rotation reset to instances of the component template that's becoming the new scene root. Change 2987406 on 2016/05/23 by Ryan.Rauschkolb Fixed Functions filter in Find-In-Blueprints will show components from the SCS #jira UE-30140 Change 2988925 on 2016/05/24 by Ryan.Rauschkolb Fixed Issue where certain primitives would not automatically type cast to Text in Blueprint graph. #jira UE-20232 Change 2989001 on 2016/05/24 by Dan.Oconnor PR #2418: Fixed a typo in Blueprint.h (Contributed by PistonMiner) #jira UE-31142 Change 2989447 on 2016/05/25 by Phillip.Kavan [UE-30807] Propagate edit condition property value changes to instances of template objects. change summary: - modified FPropertyEditor::SetEditConditionState() to propagate an EditConditionProperty value change to all instances if the outer owning object is a template (e.g. CDO) Change 2989804 on 2016/05/25 by Phillip.Kavan [UE-30289] Preserve relative scale on the root scene component when converting an Actor instance to a Blueprint Class. change summary: - modified FKismetEditorUtilities::CreateBlueprintFromActor() to post-copy the relative scale value from the Actor's root component to the new Blueprint CDO's root component Change 2990234 on 2016/05/25 by Ryan.Rauschkolb Fixed issue where including a period ina Blueprint function causes double-click to fail to open its graph #jira UE-4426 Change 2990566 on 2016/05/25 by Mike.Beach Better warn logging to help locate variable nodes that emit a "variable not found" message. Change 2991083 on 2016/05/26 by Maciej.Mroz Blueprint nativization: converted classes have "config" specified. Change 2991363 on 2016/05/26 by Phillip.Kavan [UE-19599] Copy-and-paste of Actor instances from level to Blueprint/IWCE component tree views now adds properly-initialized components. change summary: - modified FCustomizableTextObjectFactory::CanCreateObjectsFromText() to handle "Begin Actor/End Actor" blocks in T3D text - modified FCustomizableTextObjectFactory::ProcessBuffer() to handle "Begin Actor/End Actor" blocks in T3D text (so that Actor-type objects can be processed) - modified FComponentObjectTextFactory::CanCreateClass() to allow Actor-type objects to pass - modified FComponentObjectTextFactory::ProcessConstructedObject() to handle Actor-type objects and pull out owned component instances as constructed objects Change 2992990 on 2016/05/27 by Ryan.Rauschkolb Fixed issue where Connecting Self Reference Pin to a String pin does not fully connect the generated GetDisplayName node #jira UE-21973 Change 2992995 on 2016/05/27 by Ryan.Rauschkolb Fixed issue where GetClass node is not listed in the Context Menu when pulling from a self node and Context Sensitive is checked. #jira UE-30990 Change 2993449 on 2016/05/27 by Phillip.Kavan [UE-31379] Don't instrument "preview" Actor instances during Blueprint profiler script event processing. change summary: - modified FBlueprintProfiler::InstrumentEvent() to check for and bypass Actor instances belonging to a preview or inactive world type. Change 2993531 on 2016/05/27 by Mike.Beach PR #2433: Interface functions inherited from a native base class now appear in . (Contributed by MichaelSchoell) Change 2993969 on 2016/05/30 by Maciej.Mroz UE-30729 Crash in Native Orion when selecting Sword or Tomahawk Clear AsyncLoading in subobjects. Change 2993990 on 2016/05/30 by Phillip.Kavan [UE-30984] Exclude reroute nodes from Blueprint profiler node mapping. change summary: - modified FBlueprintFunctionContext::MapInputPins() to pass through non-relevant nodes when iterating through non-exec input pin links. - modified FBlueprintFunctionContext::MapExecPins() to pass through non-relevant nodes when iterating through output exec pin links. - modified FBlueprintFunctionContext::MapTunnelEntry() to pass through non-relevant nodes when iterating through tunnel node exit points. - modified FBlueprintFunctionContext::MapTunnelInstance() to pass through non-relevant nodes when iterating through tunnel graph entry points. Change 2994591 on 2016/05/31 by Ryan.Rauschkolb Fixed issue where inherited Blueprint variable would not show parent's replications settings #jira UE-18912 Change 2994613 on 2016/05/31 by Ben.Cosh Minor refactor and Various fixes to the blueprint profiler moving towards MVP goal. #Jira UE-27039 - Blueprint Profiler does not lists stats when calling an Event Dispatcher #Jira UE-31396 - Blueprint profiler crashes inside the profiler connection drawing policy #Jira UE-30957 - "Pure Time" does not populate with data in the Blueprint Profiler #Jira UE-30926 - Blueprint profiler - expose heatmap thresholds to user through the profiler tab #Jira UE-30909 - Blueprint Profiler - "compile" icon should denote Blueprint's instrumented status #Jira UE-30911 - Blueprint profiler tab/panel should display warning when Blueprint is uninstrumented #Jira UE-31385 - BP Profiler - Inclusive time column should be entirely filled out #Jira UE-31375 - BP Profiler - Default sample averaging to the "arithmetic mean" #Jira UE-31377 - BP Profiler - Default tree view filtering to off #Jira UE-31387 - BP Profiler - Remove the "view type" button for MVP #Jira UE-31384 - BP Profiler - In the tree view, rename the first time column "Avg. Time (ms)" Notes:- - Sequence node inclusive time fixed - Trace History tidy up - Compile Icon and status messages for instrumentation - Message in the profiler tab for instrumentation - Profiler view tidy up and heat thresholds controls added - fixed the summed execution branch stats - fixed the connection drawing policy to use branch pin stats and fixed the crash from UE-31396 - added hottest path and hottest endpoint wire heatmaps - switched off the graph filter by default - added total time for the heatmaps - fixed issue where initialising mapped functions caused an assert due to changes to the array/map in initialisation code Change 2995058 on 2016/05/31 by Phillip.Kavan [UE-30718] Native/const implementable events will no longer cause a crash at runtime when the Blueprint profiler is running. change summary: - modified UObject::ProcessEvent() to bypass instrumentation for native event functions that are not implemented (overridden) in a BP class. - modified FScriptEventPlayback::Process() to first check for a standalone function match (UCS, implementable events declared as 'const') before settling on the ubergraph function for the target context. Change 2995218 on 2016/05/31 by Phillip.Kavan [UE-30778] Restored non-K2 compact graph nodes (e.g. Material Editor) to previous size. change summary: - modified SGraphNode::GetNodeIndicatorOverlayVisibility() default impl to return 'Collapsed' by default, so it doesn't affect layout. Change 2996417 on 2016/06/01 by Phillip.Kavan [UE-16073] Basic shape components (cube etc.) will now apply the correct override material to instances after being added through the component tree in the Blueprint editor. change summary: - modified the 'OnBasicShapeCreated' lambda in FComponentTypeRegistryData::AddBasicShapeComponents() to propagate the material override to all instances when the given component is an archetype (template) object. Change 2997001 on 2016/06/01 by Ryan.Rauschkolb Fixed Double Clicking a component in the results of Find-In-Blueprints does not select the component #jira UE-30143 Change 2997521 on 2016/06/02 by Maciej.Mroz [Blueprint Nativization] - Added FilesToIncludeInModuleHeader config variable in BlueprintNativizationSettings. So some headers can be included in NativizedAssets.h - Guids of nodes are no longer recreated when Blueprint is duplicated for "C++ compilation". Previously child bp used variable names based on original parent class, but nativized parent class had guids recreated. Change 2997522 on 2016/06/02 by Maciej.Mroz Native implementation of NOEXPORT FInterpCurvePoint structures. (It's necessary for Blueprint nativization) Change 2997638 on 2016/06/02 by Maciej.Mroz Improvements for Blueprint Nativization: - Overridden names in nativized code have proper escape characters (in generated code). - OnlyDefaultConstructorDeclared metadata is replaced by ObjectInitializerConstructorDeclared - Arrays of nativized anum have the following form: TArray<Enum> (previously it was TArray<TEnumAsByte<Enum>>) - warning C4883 is disabled in .generated.cpp files for nativized module Change 2997639 on 2016/06/02 by Maciej.Mroz Minor improvements in Ocean gameplay code. Required for Blueprint Nativization. #jira UE-28945 Failure packaging Nativized Ocean Change 2997656 on 2016/06/02 by Maciej.Mroz Various improvements in BlueprintCompilerCppBackend: - Fixed interface cast - Fixed TSwitchValue issue (when used with literals) - Fixed improper name for NativeBlueprintEvent (when calling parent's implementation) - Fixed bitfield getter code. - Reduce code size (less UsedAssets, less ReferencedConvertedFields, cached UEnums) - operator == is generated for nativized structs - Fixed AssedId (AssetPtr) constructor in nativized code. - Fixed arrays of noexport struct - Fixed missing headers for native single cast delegate signature. - Fixed issue when default constructor (in native) is missing (constructor with FObjectInitialized, wont be used automatically). See "ObjectInitializerConstructorDeclared" metadata. Change 2997691 on 2016/06/02 by Maciej.Mroz operator == in FText. It is required for some functions in TArray<FText> Change 2997793 on 2016/06/02 by Ben.Cosh Added support for BaseAsyncTask nodes, fixed a problem with instance mapping and turned off the debug instance filter #Jira UE-30703 - Crash using blueprint profiler on AI pawn using nav mesh #Proj BlueprintProfiler, Kismet Change 2997901 on 2016/06/02 by Maciej.Mroz Back out changelist 2997691 Change 2998038 on 2016/06/02 by Mike.Beach Merging //UE4/Dev-Main to Dev-Blueprints (//UE4/Dev-Blueprints) Change 2998052 on 2016/06/02 by Ryan.Rauschkolb Fixed Comment bubbles not remembering changes after losing focus #jira UE-20012 Change 2998450 on 2016/06/02 by Phillip.Kavan [UE-31550] Fix crash on load of a Blueprint class containing a bitmask variable with missing enum type metadata. change summary: - modified FBlueprintEditorUtils::ValidateBlueprintVariableMetadata() to check for presence of bitmask enum type metadata on a variable before trying to validate it. Change 2999763 on 2016/06/03 by Mike.Beach Guarding against a crash with an ensure - attempting to catch why this is happening by logging more info, as we're unable to repro it. Guarding against nodes which reference malformed (TRASH) classes. #jira UE-26761 Change 2999768 on 2016/06/03 by Maciej.Mroz #jira UE-31592, UE-31593 This is just workaound. FReferenceFinder::FindReferences doesn;t find Enum variable in UByteProperty. Change 2999770 on 2016/06/03 by Maciej.Mroz [Blueprint Nativization] Workaround for missing ==operator in native structures. The generated code uses special version of array funtions. Change 2999798 on 2016/06/03 by Mike.Beach Guarding against malformed Blueprints (ones without valid "authoratative" class) used as context for the node menu. Baffling how we'd get into this scenario, but this adds ensures to hopefully give us clues and stabalize the editor. #jira UE-31522 Change 2999941 on 2016/06/03 by Mike.Beach Correcting mistake in previously attempted fix (CL 2781229). Now using weak ptr IsValid checks to guard against destroyed nodes in deferred graph actions (TWeakObjectPtr::Get() does not check IsValid before returning). #jira UE-23371 Change 3001731 on 2016/06/06 by Phillip.Kavan [UE-30638] BP profiler will no longer crash at runtime while profiling events that call functions on an external target. change summary: - modified FBlueprintProfiler::ProcessEventProfilingData() to only remove 'Class' and 'Instance' signals on new events. - modified FScriptEventPlayback::NodeSignalHelper struct to include a new 'BlueprintContext' field. - modified FScriptEventPlayback::Process() to handle midstream context switches by updating the Blueprint/Function context on 'Class' and/or 'Instance' signals. - modified FScriptEventPlayback::Process() to cache and reference the current Blueprint context within the cached NodeSignalHelper while handling processed events. Change 3002075 on 2016/06/06 by Maciej.Mroz Improved FScriptBuilderBase::EmitTermExpr in KismetCompilerVMBackend. Literal expression can be emitted without known desitination property. #jira UE-28443 Set Boolean (by ref) crashes the editor on compile Change 3002096 on 2016/06/06 by Ben.Cosh This change expands the way that the blueprint profiler detects event nodes during mapping to include other non function graphs. #Jira UE-30716 - Blueprint Profiler crashes if function in another graph is called #Proj BlueprintProfiler Change 3002108 on 2016/06/06 by Ben.Cosh Adds a new default option to average the blueprint level stats in the profiler. #Jira UE-31386 - BP Profiler - Timings reported with "Show Instances" off (in the tree view) are not averaged #Proj Kismet, BlueprintProfiler - The controls were also getting a bit messy so I tidied them all up into a re-usable toolbar for convenience going forward. Change 3002782 on 2016/06/06 by samuel.proctor Test assets for Interface testing Change 3003826 on 2016/06/07 by Ben.Cosh A few minor visual improvements for the blueprint profiler. #Proj Kismet, BlueprintProfiler, EditorStyle - Updated the actor icon to match the world outliner and added some functionality to draw attention to stale/deleted actors. - Updated the pure node icon. Change 3004067 on 2016/06/07 by samuel.proctor New test asset for blueprint interfaces Change 3004069 on 2016/06/07 by samuel.proctor Updating asset for Interface testing Change 3004275 on 2016/06/07 by Ryan.Rauschkolb Fixed issue where Toggle Comment Bubble button for Reroute nodes would not rever tthe comment bubble to constant visibility #jira UE-23733 Change 3004329 on 2016/06/07 by Dan.Oconnor EdGraphPin is no longer a UObject, this will improve load times significantly on projects with large number of blueprints, but content does need to be resaved in order to see the improvement in load time. UObject counts are also greatly reduced. Change 3004418 on 2016/06/07 by Maciej.Mroz KismetCompilerVMBackend: Fixed issue, when a byte property has no enum specified (for examle parameter from EqualEqual_ByteByte) but the enum is needed to parse a literal value. Change 3004496 on 2016/06/07 by Dan.Oconnor Disabling expensive pin allocation tracking Change 3004649 on 2016/06/07 by Mike.Beach Preventing a new warning from being generated on trace point exceptions (trace point exceptions are used to hook into the debugger, and don't represent errors). #jira UE-31236 Change 3004667 on 2016/06/07 by Dan.Oconnor Removed my debugging logic Change 3004848 on 2016/06/07 by Dan.Oconnor Fix spammy ensure Change 3004871 on 2016/06/07 by Phillip.Kavan [UE-24950] No longer including components instanced as default subobjects of and attached to components instanced by construction script in the IWCE component tree view. change summary: - modified SSCSEditor::UpdateTree() to exclude child components instanced in native code as "nested" DSOs and parented to non-natively-constructed (e.g. Blueprint) components; these instances are no longer being shown in IWCE in order to avoid confusion, as they're not currently mutable at the instance level, will always be parented to something that is visible in the tree, and they're also not currently shown in the Blueprint editor's component tree view (because they're not stored in the CDO). - modified FSceneComponentData's ctor to exclude child components instanced in native code as nested DSOs from the AttachedInstancedComponents array; this allows child components instanced as nested DSOs to be disposed of along with the constructed parent instance when re-running construction scripts. Change 3005203 on 2016/06/07 by Dan.Oconnor Fix for undo/redo/serialization issues with ed graph pin change. When serialization logic was applied incrementally our attempts to keep LinkedTo symetrical and aggressively clear destroyed nodes caused problems #jira UE-31750 Change 3005441 on 2016/06/08 by Maciej.Mroz #jira UE-31625 Crash in nativized Orion AssembleReferenceTokenStream is called for Dynamic Classes: - in ConstructDynamicType() (when class is explicitly loaded) - in __CustomDynamicClassInitialization() (when CDO is created) Change 3005540 on 2016/06/08 by Ben.Cosh This adds the ability to track profiler instances between editor and PIE instances and displays the current status through the icon coloring. #Jira UE-30705 - Blueprint profiler stats lost if instance destroyed during PIE #Proj BlueprintProfiler, Kismet - The jira was already fixed but I think this change improves the instance status clarity Change 3006196 on 2016/06/08 by Dan.Oconnor Copy/paste logic for pin connections got lost in the shuffle #jira UE-31747 Change 3006416 on 2016/06/08 by Phillip.Kavan [UE-31735] Fix potential loss of GetClassDefaults node output pin links on load (due to dependency load order). change summary: - modified UK2Node_GetClassDefaults::GetInputClass() to redirect to the generated skeleton class only if it's valid. this ensures that output pins will be reallocated during node reconstruction even if the dependent Blueprint's skeleton class has not yet been generated on load. Change 3006522 on 2016/06/08 by Dan.Oconnor Under rare circumstances a deprecated pin comes in that is outered to the transient package #jira UE-31779 Change 3006576 on 2016/06/08 by Dan.Oconnor Fix for non-editor builds #jira UE-31796 Change 3006610 on 2016/06/08 by Phillip.Kavan [UE-31743] Fix data loss issue when loading a serialized non-native component class instance that's owned by an Actor-based Blueprint class instance. change summary: - modified FObjectInitializer::InitProperties() to disable fast path initialization for non-native class types when the default data does not equate to the non-native CDO (as is also done within the native path). this is necessary because the optimized property list that we generate at load time to support fast path initialization of Blueprint class instances is only applicable to the generated CDO. Change 3006824 on 2016/06/08 by Dan.Oconnor More undo/redo fixes, this time fixes for when transaction buffer changes # of pins, thus destabalizing the LinkedTo arrays #jira UE-31794 Change 3006828 on 2016/06/08 by Dan.Oconnor Fix for non-editor builds Change 3006857 on 2016/06/08 by Dan.Oconnor Investigating shutdown ensure, traced back to a static UEdGraphPin Change 3006907 on 2016/06/08 by Dan.Oconnor Noneditor build fix Change 3006929 on 2016/06/08 by Dan.Oconnor Deferring DeprecatedPins destruction until after UBlueprint has had a chance to fix up its watched pins, this is a better fix for #jira UE-31779 Change 3007133 on 2016/06/09 by Ben.Cosh Fix for issue in the profiler asserting creating pins that don't have unique names. #Jira UE-31752 - Crash compiling various Orion assets for blueprints profiling, ScriptExecNode.IsValid() failed #Proj BlueprintProfiler - I believe this was recently introduced with the changes to UEdGraphPin's Change 3007964 on 2016/06/09 by Dan.Oconnor Fix for PinHelpers::UnresolvedPins being left with stale entries by undo/redo #jira UE-31829 Change 3007996 on 2016/06/09 by Ryan.Rauschkolb Added 'empty' keyword to Array Clear Node. #jira UE-12356 Change 3008007 on 2016/06/09 by Ryan.Rauschkolb Added 'negate' keyword to boolean NOT node #jira UE-12490 Change 3008011 on 2016/06/09 by Ryan.Rauschkolb Added Vector2D * Vector2D multiplication node #jira UE-31503 Change 3008014 on 2016/06/09 by Ryan.Rauschkolb Fixed Cannot connect Make Array node output to MakeArray input with split pins #jira UE-28530 Change 3008243 on 2016/06/09 by Dan.Oconnor Fix for creation of FWeakGraphPinPtr from a pin that had been destroyed, client logic is still a bit broken in the case of the ClassDefaults node, but we're back to 'safe' #jira UE-31841 Change 3008289 on 2016/06/09 by Dan.Oconnor Editor transaction saves all state before applying undo/redo buffers when using 'bFlip' flow. This prevents messing with the object graph in the middle of saving state that will be restored later #jira UE-31794 Change 3008422 on 2016/06/09 by Dan.Oconnor Correct usage of GIsTransacting, replaced with Ar.IsTransacting() to correctly handle the case where we serialize after transacting but during the transaction (for instance, recompile blueprint in post undo, which we do quite a bit it turns out) #jira UE-31857 Change 3009164 on 2016/06/10 by Ryan.Rauschkolb Making changes to default values in the structure editor will now make changes to the structure without rebuilding the default values panel. #jira UE-21141,UE-23723 Change 3009165 on 2016/06/10 by Ryan.Rauschkolb Fixed Structure Default value editor collapses after undoing an alteration of a default value #jira UE-31741 Change 3009181 on 2016/06/10 by Ryan.Rauschkolb Fixed issue where modifying a default value in a Widget Blueprint would cause the Details Panel to refresh #jira UE-30014 Change 3009313 on 2016/06/10 by Mike.Beach Addressing issues with function return nodes in multiple ways: - Preventing users from deleting return nodes for overriden/inherited functions. - Also making sure that we create terminals for out params when the return node is disconnected (and pruned). - Lastly, ensuring that new return nodes adhere to the function's signature (for cases, like where you copy/paste a return node from a different function). #jira UE-31418 Change 3009595 on 2016/06/10 by Dan.Oconnor EdGraphPinReference using PinId to resolve itself again, may create issues resolving pins created in compile #jira UE-31879 Change 3009774 on 2016/06/10 by Dan.Oconnor Fix for bad logic in RemovePin introduced in 3004329, just a bad reading of the logic, missed an early return #jira UE-31906 Change 3009988 on 2016/06/10 by Dan.Oconnor Prefer to use existing pins (based on PinId) when undoing/redoing pin serialization #jira UE-31888 Change 3010050 on 2016/06/10 by Dan.Oconnor Fixed missing call to ssuper class's PostEditUndo, fixed UBehaviorTreeGraph::PostEditUndo accessing Pins before they have been resolved #jira UE-31892 Change 3010071 on 2016/06/10 by Dan.Oconnor Fix for pasting when owning node has whitespace in result of GetPathName #jira UE-31898 #coderview Bob.Tellez Change 3010244 on 2016/06/11 by Dan.Oconnor Fix for trivial copy/paste error, causes crash when copying/pasting nodes with text default values, part of UE-31870 Change 3010630 on 2016/06/13 by Dan.Oconnor No longer relying on path name for pin resolution, path is unstable across graphs #jira UE-31870 Change 3010647 on 2016/06/13 by Dan.Oconnor PR #2496: Updated KismetMathLibrary comparison descriptions for FDateTime and FTimespan. (Contributed by CelPlays) #jira UE-31928 Change 3011175 on 2016/06/13 by Ben.Cosh Updates the Blueprint Profiler so that it can correctly map entry/exit from tunnels based on instance. #Jira UE-30106 - Compiling QA_PhysVelocitySettleTest with the blueprint profiler results in a crash/assert #Proj Kismet, BlueprintProfiler - Ensured that the trace paths contain the macro instance exec nodes - Selectively update stats in the tunnel exit site nodes based on valid exit sites to prevent cyclic updates. - Updated the comments in map tunnel entry to spare peoples sanity when trying to understand what that function does. Change 3011271 on 2016/06/13 by Ben.Cosh This adds support for inherited blueprint classes to the blueprint profiler. #Jira UE-31833 - The Blueprint profiler asserts when using a FlipFlop macro. #Jira UE-31752 - Crash compiling various Orion assets for blueprints profiling, ScriptExecNode.IsValid() failed #Proj BlueprintProfiler Change 3011556 on 2016/06/13 by Ryan.Rauschkolb Fixed Crash when breaking link to a split pin in MakeArray that is an array type #jira UE-31919 Change 3011624 on 2016/06/13 by Dan.Oconnor Fix for missing entries in MessageLog's source pin identification map. Bob T had originally populated this correctly, but somehow i lost it while iterating. #jira UE-31955 Change 3011984 on 2016/06/13 by Dan.Oconnor Sanitizing parentpin's subpins when destroying a pin #jira UE-21392 Change 3012894 on 2016/06/14 by Phillip.Kavan [UE-30922] Ensure that customized defaults are propagated to new instances at construction time during non-Actor-based Blueprint class reinstancing. change summary: - modified FBlueprintCompileReinstancer::ReplaceInstancesOfClass_Inner() to use the reinstanced archetype object as the template object during construction of the new instance for non-Actor-based Blueprint class types. #jira UE-30922 Change 3013037 on 2016/06/14 by Ryan.Rauschkolb Fixed Crash when connecting to a split pin in a MakeArray node that has no connections #jira UE-31917 Change 3014846 on 2016/06/15 by Dan.Oconnor No longer using FText::IsLetter to parse math expression nodes, that function is very slow. $x is now a valid math expression variable name (genereated a compile error prior to this change) #jira FORT-23753 Change 3015014 on 2016/06/15 by Dan.Oconnor Removing poorly implement IsLetter function Change 3015142 on 2016/06/15 by Dan.Oconnor More intentional about removing subpins, prevents stale iterator on split pin collapse #jira UE-32072 Change 3016326 on 2016/06/16 by Ryan.Rauschkolb Fixed MakeArray node does not reset to wildcard when breaking links with split struct pins that have default values #jira UE-32016 Change 3016494 on 2016/06/16 by Ryan.Rauschkolb Fixed Crash when dragging a component into the Event Graph that's inherited from a C++ class #jira UE-31876 Change 3016557 on 2016/06/16 by Dan.Oconnor Explicit copy/move of string data for FText, removes some redundant copying and object construction/destruction [which could be optimzed away], saves 2-3 seconds in my 80s load asset benchmark #jira FORT-23753 Change 3016577 on 2016/06/16 by Ryan.Rauschkolb Fixed compiler warning for hidden member variable in FBlueprintVarActionDetails::GetVariableReplicationType Change 3016906 on 2016/06/16 by Dan.Oconnor Back out changelist 3016557 This will be done by Jamie.Dale in Dev-Editor Change 3018081 on 2016/06/17 by Phillip.Kavan [UE-31832] PR #2486: Expose UInheritableComponentHandler::GetAllTemplates() outside of editor (Contributed by Bogustus) #jira UE-31832 Change 3018402 on 2016/06/17 by Dan.Oconnor Missing include Change 3018426 on 2016/06/17 by Ryan.Rauschkolb Fixed MakeArray node with split pins and no connections does not paste correctly #jira UE-32148 Change 3018452 on 2016/06/17 by Mike.Beach Moving the patching of instanced sub-objects out of CPFUO (where you can't rely on the target to be a replacement for the source) to FBlueprintEditorUtils::PatchCDOSubobjectsIntoExport(), and making it so PatchCDOSubobjectsIntoExport() is called regularly for Blueprint regeneration (on load). #jira UE-32158 Change 3018456 on 2016/06/17 by Dan.Oconnor Fix for static analysis warning, this null check does nothing Change 3018595 on 2016/06/17 by Mike.Beach Fix for shadowed variable warning in CIS. Change 3018699 on 2016/06/17 by Mike.Beach Making MinimumAreaRectangle callable in Blueprints without world context (which is only needed for debug drawing). Change 3019734 on 2016/06/20 by Phillip.Kavan [UE-32064] Clone associated component template(s) when duplicating Blueprint function graphs containing one or more Add Component nodes. change summary: - added a UK2Node_AddComponent::PostDuplicate() override - moved UK2Node_AddComponent::PostPasteNode() logic into a helper method that's now called from both PostDuplicate() and PostPasteNode() overrides. notes: - will prevent getting into the scenario described in UE-31831 #jira UE-32064 Change 3020635 on 2016/06/20 by Dan.Oconnor Fix for bad cast in FCompilerResultsLog::Append, could cause crashes in clients of this function (math expressions nodes occasionally do when they fail to compile) Change 3020894 on 2016/06/21 by Maciej.Mroz #2522: Interface UProperties can ExposeOnSpawn (in Blueprints) (Contributed by MichaelSchoell) Change 3020958 on 2016/06/21 by Ben.Cosh This improves the way key events are detected in the blueprint profiler, preventing duplicate event entries when pressed and released are both wired. It also catches a bug with the compiler instrumentation flag when compiling. #Jira UE-32270 - Input key events generate extra instrumentation data per key press #Jira UE-32266 - Recompiling blueprints with instrumentation can fail to add instrumentation. #Proj BlueprintProfiler, UnrealEd Change 3021316 on 2016/06/21 by Ryan.Rauschkolb Fixed issue where Copy/Paste of event nodes would not retain link information Change 3021826 on 2016/06/21 by Phillip.Kavan [UE-31831] Fix up AddComponent nodes on load if they are not associated with a unique template object. change summary: - added external linkage to UK2Node_AddComponent::MakeNewComponentTemplate(), and switched it to be a public API - modified FBlueprintEditorUtils::UpdateComponentTemplates() (as this is already called on Blueprint load) to detect/warn and correct non-unique templates #jira UE-31831 Change 3022047 on 2016/06/21 by Ryan.Rauschkolb Fixed issue where copy/paste of return nodes would not preserve value or link data #jira UE-26937 Change 3022619 on 2016/06/22 by Maciej.Mroz #jira UE-30858 Nativized Orion - Some particle effects are not rendering A static/persistent information (the mechanism is similar to AssetRegistrySearchable) about DynamicClass is added. It's necessary since DynamicClasses are not handled as regular assets by AssetRegistry. Fixed GameplayCueManager. Nativized cues can be found. This is an early version of the feature. Amount of stored persistent data can be extended (but it would increase memory-usage). Change 3022654 on 2016/06/22 by Maciej.Mroz FBackendHelperStaticSearchableValues -fixed too strict ensure Change 3023067 on 2016/06/22 by Maciej.Mroz #jira UE-32083 Nativize Blueprints removes blueprint functionality in packaged project Config settings from super class are not applied (at runtime) to nativized Blueprints . So all "config" properties are filled in constructor. Change 3023222 on 2016/06/22 by Ryan.Rauschkolb Fixed MakeArray node elements break when editing struct elements #jira UE-21392 Change 3023405 on 2016/06/22 by Mike.Beach Making sure sub-objects get instanced for Blueprint CDOs that had their FObjectInitializer deferred (happens when the super CDO hasn't been fully serialized). By the time the deferred FObjectInitializer is ran, the sub-objects have been assigned a RF_NeedLoad flag (where they normally wouldn't have one right after construction, when the initialization is usually ran). #jira UE-31897 Change 3023992 on 2016/06/22 by Mike.Beach Fixed an issue where hovering on/off a reroute node (toggling the comment bubble visibility) would create extraneous undo transactions. #jira UE-31859 [CL 3025946 by Mike Beach in Main branch]
2016-06-23 19:35:24 -04:00
SetCommentBubbleVisibility(bNewVisibilityState);
OnToggledDelegate.ExecuteIfBound(GraphNode->bCommentBubbleVisible);
}
}
void SCommentBubble::SetCommentBubbleVisibility(bool bVisible)
{
if (!IsReadOnly() && bVisible != GraphNode->bCommentBubbleVisible)
{
GraphNode->bCommentBubbleVisible = bVisible;
OpacityValue = 0.f;
UpdateBubble();
}
}
ECheckBoxState SCommentBubble::GetPinnedButtonCheck() const
{
ECheckBoxState CheckState = ECheckBoxState::Unchecked;
if( GraphNode )
{
CheckState = GraphNode->bCommentBubblePinned ? ECheckBoxState::Checked : ECheckBoxState::Unchecked;
}
return CheckState;
}
void SCommentBubble::OnPinStateToggle( ECheckBoxState State ) const
{
if( !IsReadOnly() )
{
const FScopedTransaction Transaction( NSLOCTEXT( "CommentBubble", "BubblePinned", "Comment Bubble Pin" ) );
GraphNode->Modify();
GraphNode->bCommentBubblePinned = State == ECheckBoxState::Checked;
}
}
bool SCommentBubble::IsReadOnly() const
{
bool bReadOnly = true;
if (GraphNode && GraphNode->DEPRECATED_NodeWidget.IsValid())
{
bReadOnly = !GraphNode->DEPRECATED_NodeWidget.Pin()->IsNodeEditable();
}
return bReadOnly;
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
}