2019-12-26 15:33:43 -05:00
// Copyright Epic Games, Inc. All Rights Reserved.
2014-07-09 12:17:42 -04:00
# include "BlueprintActionDatabase.h"
Copying //UE4/Dev-Build to //UE4/Dev-Main (Source: //UE4/Dev-Build @ 3209340)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3209340 on 2016/11/23 by Ben.Marsh
Convert UE4 codebase to an "include what you use" model - where every header just includes the dependencies it needs, rather than every source file including large monolithic headers like Engine.h and UnrealEd.h.
Measured full rebuild times around 2x faster using XGE on Windows, and improvements of 25% or more for incremental builds and full rebuilds on most other platforms.
* Every header now includes everything it needs to compile.
* There's a CoreMinimal.h header that gets you a set of ubiquitous types from Core (eg. FString, FName, TArray, FVector, etc...). Most headers now include this first.
* There's a CoreTypes.h header that sets up primitive UE4 types and build macros (int32, PLATFORM_WIN64, etc...). All headers in Core include this first, as does CoreMinimal.h.
* Every .cpp file includes its matching .h file first.
* This helps validate that each header is including everything it needs to compile.
* No engine code includes a monolithic header such as Engine.h or UnrealEd.h any more.
* You will get a warning if you try to include one of these from the engine. They still exist for compatibility with game projects and do not produce warnings when included there.
* There have only been minor changes to our internal games down to accommodate these changes. The intent is for this to be as seamless as possible.
* No engine code explicitly includes a precompiled header any more.
* We still use PCHs, but they're force-included on the compiler command line by UnrealBuildTool instead. This lets us tune what they contain without breaking any existing include dependencies.
* PCHs are generated by a tool to get a statistical amount of coverage for the source files using it, and I've seeded the new shared PCHs to contain any header included by > 15% of source files.
Tool used to generate this transform is at Engine\Source\Programs\IncludeTool.
[CL 3209342 by Ben Marsh in Main branch]
2016-11-23 15:48:37 -05:00
# include "UObject/Class.h"
# include "Templates/SubclassOf.h"
# include "EdGraph/EdGraphNode.h"
# include "Engine/Blueprint.h"
# include "UObject/UnrealType.h"
# include "Components/ActorComponent.h"
# include "GameFramework/Actor.h"
# include "Layout/SlateRect.h"
# include "Engine/World.h"
# include "BlueprintNodeBinder.h"
# include "BlueprintActionFilter.h"
# include "Modules/ModuleManager.h"
# include "EngineGlobals.h"
# include "UObject/UObjectIterator.h"
# include "Engine/MemberReference.h"
# include "Animation/Skeleton.h"
# include "Animation/AnimBlueprint.h"
# include "Engine/BlueprintGeneratedClass.h"
# include "Animation/AnimBlueprintGeneratedClass.h"
# include "Engine/Engine.h"
2022-05-02 18:06:48 -04:00
# include "AssetRegistry/AssetData.h"
Copying //UE4/Dev-Build to //UE4/Dev-Main (Source: //UE4/Dev-Build @ 3209340)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3209340 on 2016/11/23 by Ben.Marsh
Convert UE4 codebase to an "include what you use" model - where every header just includes the dependencies it needs, rather than every source file including large monolithic headers like Engine.h and UnrealEd.h.
Measured full rebuild times around 2x faster using XGE on Windows, and improvements of 25% or more for incremental builds and full rebuilds on most other platforms.
* Every header now includes everything it needs to compile.
* There's a CoreMinimal.h header that gets you a set of ubiquitous types from Core (eg. FString, FName, TArray, FVector, etc...). Most headers now include this first.
* There's a CoreTypes.h header that sets up primitive UE4 types and build macros (int32, PLATFORM_WIN64, etc...). All headers in Core include this first, as does CoreMinimal.h.
* Every .cpp file includes its matching .h file first.
* This helps validate that each header is including everything it needs to compile.
* No engine code includes a monolithic header such as Engine.h or UnrealEd.h any more.
* You will get a warning if you try to include one of these from the engine. They still exist for compatibility with game projects and do not produce warnings when included there.
* There have only been minor changes to our internal games down to accommodate these changes. The intent is for this to be as seamless as possible.
* No engine code explicitly includes a precompiled header any more.
* We still use PCHs, but they're force-included on the compiler command line by UnrealBuildTool instead. This lets us tune what they contain without breaking any existing include dependencies.
* PCHs are generated by a tool to get a statistical amount of coverage for the source files using it, and I've seeded the new shared PCHs to contain any header included by > 15% of source files.
Tool used to generate this transform is at Engine\Source\Programs\IncludeTool.
[CL 3209342 by Ben Marsh in Main branch]
2016-11-23 15:48:37 -05:00
# include "EdGraphSchema_K2.h"
# include "K2Node.h"
# include "K2Node_Event.h"
# include "K2Node_ActorBoundEvent.h"
# include "K2Node_AddDelegate.h"
# include "K2Node_CallDelegate.h"
# include "K2Node_ClearDelegate.h"
# include "K2Node_ComponentBoundEvent.h"
# include "K2Node_DynamicCast.h"
# include "K2Node_FunctionEntry.h"
# include "K2Node_MacroInstance.h"
# include "K2Node_RemoveDelegate.h"
# include "K2Node_VariableGet.h"
# include "K2Node_VariableSet.h"
# include "Kismet2/BlueprintEditorUtils.h"
2019-10-21 11:03:48 -04:00
# include "BlueprintAssetHandler.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 "EdGraphNode_Comment.h"
# include "Animation/AnimInstance.h"
# include "Editor.h"
2015-02-16 03:50:03 -05:00
# include "ComponentTypeRegistry.h"
2014-09-25 14:27:07 -04:00
# include "EditorCategoryUtils.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 "Kismet2/KismetEditorUtilities.h"
2014-07-09 12:17:42 -04:00
# include "BlueprintNodeSpawner.h"
# include "BlueprintFunctionNodeSpawner.h"
2014-08-15 11:47:46 -04:00
# include "BlueprintDelegateNodeSpawner.h"
2014-07-09 12:17:42 -04:00
# include "BlueprintEventNodeSpawner.h"
# include "BlueprintComponentNodeSpawner.h"
2014-08-26 16:25:42 -04:00
# include "BlueprintBoundEventNodeSpawner.h"
2014-08-14 15:47:44 -04:00
# include "BlueprintVariableNodeSpawner.h"
2022-05-02 18:06:48 -04:00
# include "AssetRegistry/AssetRegistryModule.h"
2014-08-23 20:16:29 -04:00
# include "BlueprintActionDatabaseRegistrar.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 "Engine/LevelScriptBlueprint.h"
2014-07-09 12:17:42 -04:00
// used below in FBlueprintNodeSpawnerFactory::MakeMacroNodeSpawner()
2014-08-26 16:25:42 -04:00
// used below in FBlueprintNodeSpawnerFactory::MakeComponentBoundEventSpawner()/MakeActorBoundEventSpawner()
2014-07-09 12:17:42 -04:00
// used below in FBlueprintNodeSpawnerFactory::MakeMessageNodeSpawner()
# include "K2Node_Message.h"
2014-08-08 15:35:56 -04:00
// used below in BlueprintActionDatabaseImpl::AddClassPropertyActions()
2014-08-13 16:29:51 -04:00
# include "K2Node_AssignDelegate.h"
2014-08-08 15:35:56 -04:00
// used below in BlueprintActionDatabaseImpl::AddClassCastActions()
2014-07-09 12:17:42 -04:00
# include "K2Node_ClassDynamicCast.h"
2014-08-23 20:16:29 -04:00
// used below in BlueprintActionDatabaseImpl::GetNodeSpectificActions()
2014-08-11 18:39:28 -04:00
# include "EdGraph/EdGraphNode_Documentation.h"
2014-07-09 12:17:42 -04:00
2020-08-24 19:55:49 -04:00
# include "BlueprintTypePromotion.h"
2014-08-13 16:29:51 -04:00
# define LOCTEXT_NAMESPACE "BlueprintActionDatabase"
2014-07-09 12:17:42 -04:00
/*******************************************************************************
* FBlueprintNodeSpawnerFactory
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
namespace FBlueprintNodeSpawnerFactory
{
/**
* Constructs a UK2Node_MacroInstance spawner . Evolved from
* FK2ActionMenuBuilder : : AttachMacroGraphAction ( ) . Sets up the spawner to
* set spawned nodes with the supplied macro .
*
* @ param MacroGraph The macro you want spawned nodes referencing .
* @ return A new node - spawner , setup to spawn a UK2Node_MacroInstance .
*/
static UBlueprintNodeSpawner * MakeMacroNodeSpawner ( UEdGraph * MacroGraph ) ;
/**
* Constructs a UK2Node_Message spawner . Sets up the spawner to set
* spawned nodes with the supplied function .
*
* @ param InterfaceFunction The function you want spawned nodes referencing .
* @ return A new node - spawner , setup to spawn a UK2Node_Message .
*/
static UBlueprintNodeSpawner * MakeMessageNodeSpawner ( UFunction * InterfaceFunction ) ;
/**
* Constructs a UEdGraphNode_Comment spawner . Since UEdGraphNode_Comment is
* not a UK2Node then we can ' t have it create a spawner for itself ( using
* UK2Node ' s GetMenuActions ( ) method ) .
*
2014-08-11 18:39:28 -04:00
* @ param DocNodeType The node class type that you want the spawner to be responsible for .
2014-07-09 12:17:42 -04:00
*
* @ return A new node - spawner , setup to spawn a UEdGraphNode_Comment .
*/
2014-08-11 18:39:28 -04:00
template < class DocNodeType >
static UBlueprintNodeSpawner * MakeDocumentationNodeSpawner ( ) ;
2014-08-13 16:29:51 -04:00
2014-09-29 14:31:08 -04:00
/**
*
*
* @ return
*/
static UBlueprintNodeSpawner * MakeCommentNodeSpawner ( ) ;
2014-08-13 16:29:51 -04:00
/**
* Constructs a delegate binding node along with a connected event that is
* triggered from the specified delegate .
*
* @ param DelegateProperty The delegate the spawner will bind to .
* @ return A new node - spawner , setup to spawn a UK2Node_AssignDelegate .
*/
2019-12-13 11:07:03 -05:00
static UBlueprintNodeSpawner * MakeAssignDelegateNodeSpawner ( FMulticastDelegateProperty * DelegateProperty ) ;
2014-08-19 12:36:44 -04:00
/**
*
*
* @ param DelegateProperty
* @ return
*/
2019-12-13 11:07:03 -05:00
static UBlueprintNodeSpawner * MakeComponentBoundEventSpawner ( FMulticastDelegateProperty * DelegateProperty ) ;
2014-08-26 16:25:42 -04:00
/**
*
*
* @ param DelegateProperty
* @ return
*/
2019-12-13 11:07:03 -05:00
static UBlueprintNodeSpawner * MakeActorBoundEventSpawner ( FMulticastDelegateProperty * DelegateProperty ) ;
2014-09-25 14:27:07 -04:00
/**
* Constructs UK2Node_Event spawner that is owned by UAnimInstance . Used for Anim Notificatios and montage
* branching points .
*
* @ param EventName
* @ return A new node - spawner , set up to spawn UK2Node_Event
*/
static UBlueprintNodeSpawner * MakeAnimOwnedEventSpawner ( FName SignatureName , FText CustomCategory ) ;
2014-07-09 12:17:42 -04:00
} ;
//------------------------------------------------------------------------------
static UBlueprintNodeSpawner * FBlueprintNodeSpawnerFactory : : MakeMacroNodeSpawner ( UEdGraph * MacroGraph )
{
check ( MacroGraph ! = nullptr ) ;
check ( MacroGraph - > GetSchema ( ) - > GetGraphType ( MacroGraph ) = = GT_Macro ) ;
UBlueprintNodeSpawner * NodeSpawner = UBlueprintNodeSpawner : : Create ( UK2Node_MacroInstance : : StaticClass ( ) ) ;
check ( NodeSpawner ! = nullptr ) ;
2015-03-03 17:20:43 -05:00
auto CustomizeMacroNodeLambda = [ ] ( UEdGraphNode * NewNode , bool bIsTemplateNode , TWeakObjectPtr < UEdGraph > InMacroGraph )
2014-07-09 12:17:42 -04:00
{
UK2Node_MacroInstance * MacroNode = CastChecked < UK2Node_MacroInstance > ( NewNode ) ;
2015-03-03 17:20:43 -05:00
if ( InMacroGraph . IsValid ( ) )
2014-07-09 12:17:42 -04:00
{
2015-03-03 17:20:43 -05:00
MacroNode - > SetMacroGraph ( InMacroGraph . Get ( ) ) ;
2014-07-09 12:17:42 -04:00
}
} ;
TWeakObjectPtr < UEdGraph > GraphPtr = MacroGraph ;
NodeSpawner - > CustomizeNodeDelegate = UBlueprintNodeSpawner : : FCustomizeNodeDelegate : : CreateStatic ( CustomizeMacroNodeLambda , GraphPtr ) ;
return NodeSpawner ;
}
//------------------------------------------------------------------------------
static UBlueprintNodeSpawner * FBlueprintNodeSpawnerFactory : : MakeMessageNodeSpawner ( UFunction * InterfaceFunction )
{
check ( InterfaceFunction ! = nullptr ) ;
check ( FKismetEditorUtilities : : IsClassABlueprintInterface ( CastChecked < UClass > ( InterfaceFunction - > GetOuter ( ) ) ) ) ;
2014-09-17 14:57:06 -04:00
UBlueprintFunctionNodeSpawner * NodeSpawner = UBlueprintFunctionNodeSpawner : : Create ( UK2Node_Message : : StaticClass ( ) , InterfaceFunction ) ;
2014-07-09 12:17:42 -04:00
check ( NodeSpawner ! = nullptr ) ;
2019-12-13 11:07:03 -05:00
auto SetNodeFunctionLambda = [ ] ( UEdGraphNode * NewNode , FFieldVariant FuncField )
2014-07-09 12:17:42 -04:00
{
UK2Node_Message * MessageNode = CastChecked < UK2Node_Message > ( NewNode ) ;
2019-12-13 11:07:03 -05:00
MessageNode - > FunctionReference . SetFromField < UFunction > ( FuncField . Get < UField > ( ) , /*bIsConsideredSelfContext =*/ false ) ;
2014-07-09 12:17:42 -04:00
} ;
2014-09-17 14:57:06 -04:00
NodeSpawner - > SetNodeFieldDelegate = UBlueprintFunctionNodeSpawner : : FSetNodeFieldDelegate : : CreateStatic ( SetNodeFunctionLambda ) ;
2014-07-09 12:17:42 -04:00
2014-10-01 12:14:16 -04:00
NodeSpawner - > DefaultMenuSignature . MenuName = FText : : Format ( LOCTEXT ( " MessageNodeMenuName " , " {0} (Message) " ) , NodeSpawner - > DefaultMenuSignature . MenuName ) ;
2014-07-09 12:17:42 -04:00
return NodeSpawner ;
}
//------------------------------------------------------------------------------
2014-08-11 18:39:28 -04:00
template < class DocNodeType >
static UBlueprintNodeSpawner * FBlueprintNodeSpawnerFactory : : MakeDocumentationNodeSpawner ( )
2014-07-09 12:17:42 -04:00
{
2014-08-11 18:39:28 -04:00
UBlueprintNodeSpawner * NodeSpawner = UBlueprintNodeSpawner : : Create ( DocNodeType : : StaticClass ( ) ) ;
2014-07-09 12:17:42 -04:00
check ( NodeSpawner ! = nullptr ) ;
auto CustomizeMessageNodeLambda = [ ] ( UEdGraphNode * NewNode , bool bIsTemplateNode )
{
2014-08-11 18:39:28 -04:00
DocNodeType * DocNode = CastChecked < DocNodeType > ( NewNode ) ;
2014-07-09 12:17:42 -04:00
2014-08-11 18:39:28 -04:00
UEdGraph * OuterGraph = NewNode - > GetGraph ( ) ;
2014-07-09 12:17:42 -04:00
check ( OuterGraph ! = nullptr ) ;
UBlueprint * Blueprint = FBlueprintEditorUtils : : FindBlueprintForGraph ( OuterGraph ) ;
check ( Blueprint ! = nullptr ) ;
2014-09-25 14:07:21 -04:00
float const OldNodePosX = NewNode - > NodePosX ;
float const OldNodePosY = NewNode - > NodePosY ;
float const OldHalfHeight = NewNode - > NodeHeight / 2.f ;
float const OldHalfWidth = NewNode - > NodeWidth / 2.f ;
2014-08-11 18:39:28 -04:00
static const float DocNodePadding = 50.0f ;
2014-09-25 14:07:21 -04:00
FSlateRect Bounds ( OldNodePosX - OldHalfWidth , OldNodePosY - OldHalfHeight , OldNodePosX + OldHalfWidth , OldNodePosY + OldHalfHeight ) ;
2014-08-11 18:39:28 -04:00
FKismetEditorUtilities : : GetBoundsForSelectedNodes ( Blueprint , Bounds , DocNodePadding ) ;
DocNode - > SetBounds ( Bounds ) ;
2014-07-09 12:17:42 -04:00
} ;
NodeSpawner - > CustomizeNodeDelegate = UBlueprintNodeSpawner : : FCustomizeNodeDelegate : : CreateStatic ( CustomizeMessageNodeLambda ) ;
return NodeSpawner ;
}
2014-09-29 14:31:08 -04:00
//------------------------------------------------------------------------------
static UBlueprintNodeSpawner * FBlueprintNodeSpawnerFactory : : MakeCommentNodeSpawner ( )
{
UBlueprintNodeSpawner * NodeSpawner = MakeDocumentationNodeSpawner < UEdGraphNode_Comment > ( ) ;
NodeSpawner - > DefaultMenuSignature . MenuName = LOCTEXT ( " AddCommentActionMenuName " , " Add Comment... " ) ;
auto OverrideMenuNameLambda = [ ] ( FBlueprintActionContext const & Context , IBlueprintNodeBinder : : FBindingSet const & /*Bindings*/ , FBlueprintActionUiSpec * UiSpecOut )
{
for ( UBlueprint * Blueprint : Context . Blueprints )
{
if ( FKismetEditorUtilities : : GetNumberOfSelectedNodes ( Blueprint ) > 0 )
{
UiSpecOut - > MenuName = LOCTEXT ( " AddCommentFromSelectionMenuName " , " Add Comment to Selection " ) ;
break ;
}
}
} ;
NodeSpawner - > DynamicUiSignatureGetter = UBlueprintNodeSpawner : : FUiSpecOverrideDelegate : : CreateStatic ( OverrideMenuNameLambda ) ;
return NodeSpawner ;
}
2014-08-13 16:29:51 -04:00
//------------------------------------------------------------------------------
2019-12-13 11:07:03 -05:00
static UBlueprintNodeSpawner * FBlueprintNodeSpawnerFactory : : MakeAssignDelegateNodeSpawner ( FMulticastDelegateProperty * DelegateProperty )
2014-08-13 16:29:51 -04:00
{
// @TODO: it'd be awesome to have both nodes spawned by this available for
// context pin matching (the delegate inputs and the event outputs)
2014-08-15 11:47:46 -04:00
return UBlueprintDelegateNodeSpawner : : Create ( UK2Node_AssignDelegate : : StaticClass ( ) , DelegateProperty ) ;
2014-08-13 16:29:51 -04:00
}
2014-08-19 12:36:44 -04:00
//------------------------------------------------------------------------------
2019-12-13 11:07:03 -05:00
static UBlueprintNodeSpawner * FBlueprintNodeSpawnerFactory : : MakeComponentBoundEventSpawner ( FMulticastDelegateProperty * DelegateProperty )
2014-08-19 12:36:44 -04:00
{
2014-08-26 16:25:42 -04:00
return UBlueprintBoundEventNodeSpawner : : Create ( UK2Node_ComponentBoundEvent : : StaticClass ( ) , DelegateProperty ) ;
}
2014-08-19 12:36:44 -04:00
2014-08-26 16:25:42 -04:00
//------------------------------------------------------------------------------
2019-12-13 11:07:03 -05:00
static UBlueprintNodeSpawner * FBlueprintNodeSpawnerFactory : : MakeActorBoundEventSpawner ( FMulticastDelegateProperty * DelegateProperty )
2014-08-26 16:25:42 -04:00
{
2014-09-10 16:14:07 -04:00
return UBlueprintBoundEventNodeSpawner : : Create ( UK2Node_ActorBoundEvent : : StaticClass ( ) , DelegateProperty ) ;
2014-08-19 12:36:44 -04:00
}
2014-09-25 14:27:07 -04:00
//------------------------------------------------------------------------------
static UBlueprintNodeSpawner * FBlueprintNodeSpawnerFactory : : MakeAnimOwnedEventSpawner ( FName SignatureName , FText CustomCategory )
{
auto PostSpawnSetupLambda = [ ] ( UEdGraphNode * NewNode , bool /*bIsTemplateNode*/ )
{
UK2Node_Event * ActorRefNode = CastChecked < UK2Node_Event > ( NewNode ) ;
2015-02-06 09:41:28 -05:00
ActorRefNode - > EventReference . SetExternalMember ( ActorRefNode - > CustomFunctionName , UAnimInstance : : StaticClass ( ) ) ;
2014-09-25 14:27:07 -04:00
} ;
2014-09-29 14:31:08 -04:00
UBlueprintNodeSpawner * NodeSpawner = UBlueprintEventNodeSpawner : : Create ( UK2Node_Event : : StaticClass ( ) , SignatureName ) ;
NodeSpawner - > CustomizeNodeDelegate = UBlueprintNodeSpawner : : FCustomizeNodeDelegate : : CreateStatic ( PostSpawnSetupLambda ) ;
NodeSpawner - > DefaultMenuSignature . Category = CustomCategory ;
return NodeSpawner ;
2014-09-25 14:27:07 -04:00
}
2014-07-09 12:17:42 -04:00
/*******************************************************************************
* Static FBlueprintActionDatabase Helpers
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
2014-08-08 15:35:56 -04:00
namespace BlueprintActionDatabaseImpl
2014-07-09 12:17:42 -04:00
{
2014-08-08 15:35:56 -04:00
typedef FBlueprintActionDatabase : : FActionList FActionList ;
2014-07-09 12:17:42 -04:00
/**
* Mimics UEdGraphSchema_K2 : : CanUserKismetAccessVariable ( ) ; however , this
* omits the filtering that CanUserKismetAccessVariable ( ) does ( saves that
* for later with FBlueprintActionFilter ) .
*
* @ param Property The property you want to check .
* @ return True if the property can be seen from a blueprint .
*/
2019-12-13 11:07:03 -05:00
static bool IsPropertyBlueprintVisible ( FProperty const * const Property ) ;
2014-07-09 12:17:42 -04:00
2014-10-10 19:13:43 -04:00
/**
2014-10-23 12:10:43 -04:00
* Checks to see if the specified function is a blueprint owned function
* that was inherited from an implemented interface .
*
* @ param Function The function to check .
* @ return True if the function is owned by a blueprint , and some ( implemented ) interface has a matching function name .
2014-10-10 19:13:43 -04:00
*/
static bool IsBlueprintInterfaceFunction ( const UFunction * Function ) ;
2014-08-23 20:16:29 -04:00
/**
2014-10-23 12:10:43 -04:00
* Checks to see if the specified function is a blueprint owned function
* that was inherited from the blueprint ' s parent .
2014-08-23 20:16:29 -04:00
*
2014-10-23 12:10:43 -04:00
* @ param Function The function to check .
* @ return True if the function is owned by a blueprint , and some parent has a matching function name .
*/
static bool IsInheritedBlueprintFunction ( const UFunction * Function ) ;
/**
* Retrieves all the actions pertaining to a class and its fields ( functions ,
* variables , delegates , etc . ) . Actions that are conceptually owned by the
* class .
2014-08-23 20:16:29 -04:00
*
2014-10-23 12:10:43 -04:00
* @ param Class The class you want actions for .
* @ param ActionListOut The array you want filled with the requested actions .
2014-08-23 20:16:29 -04:00
*/
static void GetClassMemberActions ( UClass * const Class , FActionList & ActionListOut ) ;
2014-07-09 12:17:42 -04:00
/**
* Loops over all of the class ' s functions and creates a node - spawners for
* any that are viable for blueprint use . Evolved from
* FK2ActionMenuBuilder : : GetFuncNodesForClass ( ) , plus a series of other
* FK2ActionMenuBuilder methods ( GetAllInterfaceMessageActions ,
* GetEventsForBlueprint , etc ) .
*
* Ideally , any node that is constructed from a UFunction should go in here
* ( so we only ever loop through the class ' s functions once ) . We handle
* UK2Node_CallFunction alongside UK2Node_Event .
*
* @ param Class The class whose functions you want node - spawners for .
* @ param ActionListOut The list you want populated with the new spawners .
*/
static void AddClassFunctionActions ( UClass const * const Class , FActionList & ActionListOut ) ;
/**
* Loops over all of the class ' s properties and creates node - spawners for
* any that are viable for blueprint use . Evolved from certain parts of
* FK2ActionMenuBuilder : : GetAllActionsForClass ( ) .
*
* @ param Class The class whose properties you want node - spawners for .
* @ param ActionListOut The list you want populated with the new spawners .
*/
static void AddClassPropertyActions ( UClass const * const Class , FActionList & ActionListOut ) ;
2019-09-19 15:39:36 -04:00
/**
* Loops over all of the class ' s data object ' s properties and creates node - spawners for
* any that are viable for blueprint use .
*
* @ param Class The class whose properties you want node - spawners for .
* @ param ActionListOut The list you want populated with the new spawners .
*/
static void AddClassDataObjectActions ( UClass const * const Class , FActionList & ActionListOut ) ;
2014-07-09 12:17:42 -04:00
/**
* Evolved from FClassDynamicCastHelper : : GetClassDynamicCastNodes ( ) . If the
* specified class is a viable blueprint variable type , then two cast nodes
* are added for it ( UK2Node_DynamicCast , and UK2Node_ClassDynamicCast ) .
*
* @ param Class The class who you want cast nodes for ( they cast to this class ) .
* @ param ActionListOut The list you want populated with the new spawners .
*/
static void AddClassCastActions ( UClass * const Class , FActionList & ActionListOut ) ;
2014-09-23 16:40:48 -04:00
/**
* Adds custom actions to operate on the provided skeleton . Used primarily
* to find AnimNotify event vocabulary
*
* @ Param Skeleton The skeleton that may have anim notifies defined on it .
*/
static void AddSkeletonActions ( const USkeleton & Skeleton , FActionList & ActionListOut ) ;
2014-07-09 12:17:42 -04:00
/**
* If the associated class is a blueprint generated class , then this will
* loop over the blueprint ' s graphs and create any node - spawners associated
* with those graphs ( like UK2Node_MacroInstance spawners for macro graphs ) .
*
2014-08-23 20:16:29 -04:00
* @ param Blueprint The blueprint which you want graph associated node - spawners for .
2014-07-09 12:17:42 -04:00
* @ param ActionListOut The list you want populated with new spawners .
*/
2014-08-23 20:16:29 -04:00
static void AddBlueprintGraphActions ( UBlueprint const * const Blueprint , FActionList & ActionListOut ) ;
2014-09-23 17:40:49 -04:00
/**
* If the associated class is an anim blueprint generated class , then this
* will loop over AnimNotification events in the anim blueprint generated
* class and create node spawners for those events .
*
* @ param Blueprint The blueprint which you want graph associated node - spawners for .
* @ param ActionListOut The list you want populated with new spawners .
*/
static void AddAnimBlueprintGraphActions ( UAnimBlueprint const * AnimBlueprint , FActionList & ActionListOut ) ;
2014-07-09 12:17:42 -04:00
/**
* Emulates UEdGraphSchema : : GetGraphContextActions ( ) . If the supplied class
* is a node type , then it will query the node ' s CDO for any actions it
* wishes to add . This helps us keep the code in this file paired down , and
2014-08-23 20:16:29 -04:00
* makes it easily extensible for new node types .
2014-07-09 12:17:42 -04:00
*
2014-08-23 20:16:29 -04:00
* @ param NodeClass The class which you want node - spawners for .
2014-07-09 12:17:42 -04:00
* @ param ActionListOut The list you want populated with new spawners .
*/
2014-08-23 20:16:29 -04:00
static void GetNodeSpecificActions ( TSubclassOf < UEdGraphNode const > const NodeClass , FBlueprintActionDatabaseRegistrar & Registrar ) ;
2014-08-04 18:28:34 -04:00
2014-08-08 15:35:56 -04:00
/**
* Callback to refresh the database when a blueprint has been altered
* ( clears the database entries for the blueprint ' s classes and recreates
* them . . . a property / function could have been added / removed ) .
*
* @ param InBlueprint The blueprint that has been altered .
*/
2014-08-04 18:28:34 -04:00
static void OnBlueprintChanged ( UBlueprint * InBlueprint ) ;
2014-08-11 18:39:28 -04:00
/**
* Callback to refresh the database when a new object has just been loaded
* ( to catch blueprint classes that weren ' t in the initial set , etc . )
*
* @ param NewObject The object that was just loaded .
*/
static void OnAssetLoaded ( UObject * NewObject ) ;
/**
* Callback to refresh the database when a new object has just been created
* ( to catch new blueprint classes that weren ' t in the initial set , etc . )
*
* @ param NewAssetInfo Data regarding the newly added asset .
*/
static void OnAssetAdded ( FAssetData const & NewAssetInfo ) ;
2014-08-15 16:12:46 -04:00
/**
* Callback to clear out object references so that a object can be deleted
* without resistance from the actions cached here . Objects passed here
* won ' t necessarily be deleted ( the user could still choose to cancel ) .
*
* @ param ObjectsForDelete A list of objects that MIGHT be deleted .
*/
static void OnAssetsPendingDelete ( TArray < UObject * > const & ObjectsForDelete ) ;
2014-08-11 18:39:28 -04:00
/**
2014-12-01 19:02:24 -05:00
* Callback to refresh the database when an object has been deleted ( to
* clear any related entries that were stored in the database )
2014-08-11 18:39:28 -04:00
*
* @ param AssetInfo Data regarding the freshly removed asset .
*/
static void OnAssetRemoved ( FAssetData const & AssetInfo ) ;
2014-08-15 16:12:46 -04:00
2014-12-01 19:02:24 -05:00
/**
* Callback to refresh the database when an object has been deleted / unloaded
* ( to clear any related entries that were stored in the database )
*
* @ param AssetObject The object being removed / deleted / unloaded .
*/
static void OnAssetRemoved ( UObject * AssetObject ) ;
/**
* Callback to refresh the database when a blueprint has been unloaded
* ( to clear any related entries that were stored in the database )
*
* @ param BlueprintObj The blueprint being unloaded .
*/
static void OnBlueprintUnloaded ( UBlueprint * BlueprintObj ) ;
2014-09-26 11:31:34 -04:00
/**
* Callback to refresh the database when an object has been renamed ( to clear
* any related classes that were stored in the database under the old name )
*
* @ param AssetInfo Data regarding the freshly removed asset .
*/
static void OnAssetRenamed ( FAssetData const & AssetInfo , const FString & InOldName ) ;
2015-04-11 10:23:56 -04:00
/**
* Callback to refresh / add all level blueprints owned by this world to the database
*
* @ param NewWorld The world that was added .
*/
static void OnWorldAdded ( UWorld * NewWorld ) ;
2014-09-17 16:02:23 -04:00
/**
* Callback to clear all levels from the database when a world is destroyed
*
* @ param DestroyedWorld The world that was destroyed
*/
static void OnWorldDestroyed ( UWorld * DestroyedWorld ) ;
2015-04-11 10:23:56 -04:00
/**
* Callback to re - evaluate all level blueprints owned by the world when the layout has changed
*
* @ param World The owner of the level and the world to be re - evaluated .
*/
2015-04-14 09:16:22 -04:00
static void OnRefreshLevelScripts ( UWorld * World ) ;
2015-04-11 10:23:56 -04:00
2014-09-17 16:02:23 -04:00
/**
* Returns TRUE if the Object is valid for the database
*
* @ param Object Object to check for validity
* @ return TRUE if the Blueprint is valid for the database
*/
static bool IsObjectValidForDatabase ( UObject const * Object ) ;
2019-01-10 17:26:53 -05:00
/**
* Refreshes database after a module is loaded or unloaded .
*/
static void OnModulesChanged ( FName InModuleName , EModuleChangeReason InModuleChangeReason ) ;
2015-03-09 20:28:13 -04:00
/**
* Refreshes database after project was hot - reloaded .
*/
2021-03-18 08:13:59 -04:00
static void OnReloadComplete ( EReloadCompleteReason Reason ) ;
2015-03-09 20:28:13 -04:00
2014-08-15 16:12:46 -04:00
/**
2014-08-23 20:16:29 -04:00
* Assets that we cleared from the database ( to remove references , and make
2014-08-15 16:12:46 -04:00
* way for a delete ) , but in - case the class wasn ' t deleted we need them
* tracked here so we can add them back in .
*/
2015-07-31 14:01:56 -04:00
TSet < TWeakObjectPtr < UObject > > PendingDelete ;
2014-08-23 20:16:29 -04:00
/** */
bool bIsInitializing = false ;
2019-01-10 17:26:53 -05:00
/** True if a RefreshAll has been requested for the next Tick */
bool bRefreshAllRequested = false ;
}
//------------------------------------------------------------------------------
static void BlueprintActionDatabaseImpl : : OnModulesChanged ( FName InModuleName , EModuleChangeReason InModuleChangeReason )
{
if ( InModuleChangeReason = = EModuleChangeReason : : ModuleLoaded | | InModuleChangeReason = = EModuleChangeReason : : ModuleUnloaded )
{
BlueprintActionDatabaseImpl : : bRefreshAllRequested = true ;
}
2014-07-09 12:17:42 -04:00
}
2015-03-09 20:28:13 -04:00
//------------------------------------------------------------------------------
2021-03-18 08:13:59 -04:00
static void BlueprintActionDatabaseImpl : : OnReloadComplete ( EReloadCompleteReason Reason )
2015-03-09 20:28:13 -04:00
{
2019-01-10 17:26:53 -05:00
BlueprintActionDatabaseImpl : : bRefreshAllRequested = true ;
2015-03-09 20:28:13 -04:00
}
2014-07-16 17:29:50 -04:00
//------------------------------------------------------------------------------
2019-12-13 11:07:03 -05:00
static bool BlueprintActionDatabaseImpl : : IsPropertyBlueprintVisible ( FProperty const * const Property )
2014-07-09 12:17:42 -04:00
{
bool const bIsAccessible = Property - > HasAllPropertyFlags ( CPF_BlueprintVisible ) ;
2019-12-13 11:07:03 -05:00
bool const bIsDelegate = Property - > IsA ( FMulticastDelegateProperty : : StaticClass ( ) ) ;
2014-07-09 12:17:42 -04:00
bool const bIsAssignableOrCallable = Property - > HasAnyPropertyFlags ( CPF_BlueprintAssignable | CPF_BlueprintCallable ) ;
return ! Property - > HasAnyPropertyFlags ( CPF_Parm ) & & ( bIsAccessible | | ( bIsDelegate & & bIsAssignableOrCallable ) ) ;
}
2014-10-10 19:13:43 -04:00
//------------------------------------------------------------------------------
static bool BlueprintActionDatabaseImpl : : IsBlueprintInterfaceFunction ( const UFunction * Function )
{
bool bIsBpInterfaceFunc = false ;
if ( UClass * FuncClass = Function - > GetOwnerClass ( ) )
{
if ( UBlueprint * BpOuter = Cast < UBlueprint > ( FuncClass - > ClassGeneratedBy ) )
{
FName FuncName = Function - > GetFName ( ) ;
for ( int32 InterfaceIndex = 0 ; ( InterfaceIndex < BpOuter - > ImplementedInterfaces . Num ( ) ) & & ! bIsBpInterfaceFunc ; + + InterfaceIndex )
{
FBPInterfaceDescription & InterfaceDesc = BpOuter - > ImplementedInterfaces [ InterfaceIndex ] ;
2019-05-17 17:18:20 -04:00
if ( ! InterfaceDesc . Interface )
{
continue ;
}
2014-10-23 12:10:43 -04:00
bIsBpInterfaceFunc = ( InterfaceDesc . Interface - > FindFunctionByName ( FuncName ) ! = nullptr ) ;
2014-10-10 19:13:43 -04:00
}
}
}
return bIsBpInterfaceFunc ;
}
2014-10-23 12:10:43 -04:00
//------------------------------------------------------------------------------
static bool BlueprintActionDatabaseImpl : : IsInheritedBlueprintFunction ( const UFunction * Function )
{
bool bIsBpInheritedFunc = false ;
if ( UClass * FuncClass = Function - > GetOwnerClass ( ) )
{
if ( UBlueprint * BpOwner = Cast < UBlueprint > ( FuncClass - > ClassGeneratedBy ) )
{
FName FuncName = Function - > GetFName ( ) ;
if ( UClass * ParentClass = BpOwner - > ParentClass )
{
bIsBpInheritedFunc = ( ParentClass - > FindFunctionByName ( FuncName , EIncludeSuperFlag : : IncludeSuper ) ! = nullptr ) ;
}
}
}
return bIsBpInheritedFunc ;
}
2014-08-23 20:16:29 -04:00
//------------------------------------------------------------------------------
static void BlueprintActionDatabaseImpl : : GetClassMemberActions ( UClass * const Class , FActionList & ActionListOut )
{
// class field actions (nodes that represent and perform actions on
// specific fields of the class... functions, properties, etc.)
{
AddClassFunctionActions ( Class , ActionListOut ) ;
AddClassPropertyActions ( Class , ActionListOut ) ;
2019-09-19 15:39:36 -04:00
AddClassDataObjectActions ( Class , ActionListOut ) ;
2014-08-23 20:16:29 -04:00
// class UEnum actions are added by individual nodes via GetNodeSpecificActions()
// class UScriptStruct actions are added by individual nodes via GetNodeSpecificActions()
}
AddClassCastActions ( Class , ActionListOut ) ;
}
2014-07-09 12:17:42 -04:00
//------------------------------------------------------------------------------
2014-08-08 15:35:56 -04:00
static void BlueprintActionDatabaseImpl : : AddClassFunctionActions ( UClass const * const Class , FActionList & ActionListOut )
2014-07-09 12:17:42 -04:00
{
using namespace FBlueprintNodeSpawnerFactory ; // for MakeMessageNodeSpawner()
check ( Class ! = nullptr ) ;
// loop over all the functions in the specified class; exclude-super because
// we can always get the super functions by looking up that class separately
for ( TFieldIterator < UFunction > FunctionIt ( Class , EFieldIteratorFlags : : ExcludeSuper ) ; FunctionIt ; + + FunctionIt )
{
UFunction * Function = * FunctionIt ;
2014-10-23 12:10:43 -04:00
bool const bIsInheritedFunction = BlueprintActionDatabaseImpl : : IsInheritedBlueprintFunction ( Function ) ;
if ( bIsInheritedFunction )
{
// inherited functions will be captured when the parent class is ran
// through this function (no need to duplicate)
continue ;
}
bool const bIsBpInterfaceFunc = BlueprintActionDatabaseImpl : : IsBlueprintInterfaceFunction ( Function ) ;
2014-10-10 19:13:43 -04:00
if ( UEdGraphSchema_K2 : : FunctionCanBePlacedAsEvent ( Function ) & & ! bIsBpInterfaceFunc )
2014-07-09 12:17:42 -04:00
{
if ( UBlueprintEventNodeSpawner * NodeSpawner = UBlueprintEventNodeSpawner : : Create ( Function ) )
{
ActionListOut . Add ( NodeSpawner ) ;
}
}
2020-08-24 19:55:49 -04:00
// If this is a promotable function, and it has already been registered
// than do NOT add it to the asset action database. We should
// probably have some better logic for this, like adding our own node spawner
const bool bIsRegisteredPromotionFunc =
TypePromoDebug : : IsTypePromoEnabled ( ) & &
FTypePromotion : : IsFunctionPromotionReady ( Function ) & &
FTypePromotion : : IsOperatorSpawnerRegistered ( Function ) ;
2014-07-09 12:17:42 -04:00
if ( UEdGraphSchema_K2 : : CanUserKismetCallFunction ( Function ) )
{
2014-08-18 13:34:41 -04:00
// @TODO: if this is a Blueprint, and this function is from a
// Blueprint "implemented interface", then we don't need to
// include it (the function is accounted for in from the
// interface class).
2014-08-19 12:36:44 -04:00
UBlueprintFunctionNodeSpawner * FuncSpawner = UBlueprintFunctionNodeSpawner : : Create ( Function ) ;
2020-08-24 19:55:49 -04:00
// Only add this action to the list of the operator function is not already registered. Otherwise we will
// get a bunch of duplicate operator actions
if ( ! bIsRegisteredPromotionFunc )
{
ActionListOut . Add ( FuncSpawner ) ;
}
2014-07-09 12:17:42 -04:00
if ( FKismetEditorUtilities : : IsClassABlueprintInterface ( Class ) )
{
2021-11-18 14:37:34 -05:00
// Use the default function name
2014-07-09 12:17:42 -04:00
ActionListOut . Add ( MakeMessageNodeSpawner ( Function ) ) ;
}
}
}
}
//------------------------------------------------------------------------------
2014-08-08 15:35:56 -04:00
static void BlueprintActionDatabaseImpl : : AddClassPropertyActions ( UClass const * const Class , FActionList & ActionListOut )
2014-07-09 12:17:42 -04:00
{
2014-07-16 14:14:48 -04:00
using namespace FBlueprintNodeSpawnerFactory ; // for MakeDelegateNodeSpawner()
2014-08-19 12:36:44 -04:00
2014-08-26 16:25:42 -04:00
bool const bIsComponent = Class - > IsChildOf < UActorComponent > ( ) ;
bool const bIsActorClass = Class - > IsChildOf < AActor > ( ) ;
2014-07-16 14:14:48 -04:00
2014-07-09 12:17:42 -04:00
// loop over all the properties in the specified class; exclude-super because
2019-09-19 15:39:36 -04:00
// we can always get the super properties by looking up that class separately
2019-12-13 11:07:03 -05:00
for ( TFieldIterator < FProperty > PropertyIt ( Class , EFieldIteratorFlags : : ExcludeSuper ) ; PropertyIt ; + + PropertyIt )
2014-07-09 12:17:42 -04:00
{
2019-12-13 11:07:03 -05:00
FProperty * Property = * PropertyIt ;
2014-07-09 12:17:42 -04:00
if ( ! IsPropertyBlueprintVisible ( Property ) )
{
continue ;
}
2019-12-13 11:07:03 -05:00
bool const bIsDelegate = Property - > IsA ( FMulticastDelegateProperty : : StaticClass ( ) ) ;
if ( bIsDelegate )
{
FMulticastDelegateProperty * DelegateProperty = CastFieldChecked < FMulticastDelegateProperty > ( Property ) ;
2014-07-16 14:14:48 -04:00
if ( DelegateProperty - > HasAnyPropertyFlags ( CPF_BlueprintAssignable ) )
{
2014-08-15 11:47:46 -04:00
UBlueprintNodeSpawner * AddSpawner = UBlueprintDelegateNodeSpawner : : Create ( UK2Node_AddDelegate : : StaticClass ( ) , DelegateProperty ) ;
2014-07-16 14:14:48 -04:00
ActionListOut . Add ( AddSpawner ) ;
2014-08-13 16:29:51 -04:00
UBlueprintNodeSpawner * AssignSpawner = MakeAssignDelegateNodeSpawner ( DelegateProperty ) ;
ActionListOut . Add ( AssignSpawner ) ;
2014-07-16 14:14:48 -04:00
}
if ( DelegateProperty - > HasAnyPropertyFlags ( CPF_BlueprintCallable ) )
{
2014-08-15 11:47:46 -04:00
UBlueprintNodeSpawner * CallSpawner = UBlueprintDelegateNodeSpawner : : Create ( UK2Node_CallDelegate : : StaticClass ( ) , DelegateProperty ) ;
2014-07-16 14:14:48 -04:00
ActionListOut . Add ( CallSpawner ) ;
}
2014-08-15 11:47:46 -04:00
UBlueprintNodeSpawner * RemoveSpawner = UBlueprintDelegateNodeSpawner : : Create ( UK2Node_RemoveDelegate : : StaticClass ( ) , DelegateProperty ) ;
2014-07-16 14:14:48 -04:00
ActionListOut . Add ( RemoveSpawner ) ;
2014-08-15 11:47:46 -04:00
UBlueprintNodeSpawner * ClearSpawner = UBlueprintDelegateNodeSpawner : : Create ( UK2Node_ClearDelegate : : StaticClass ( ) , DelegateProperty ) ;
2014-07-16 14:14:48 -04:00
ActionListOut . Add ( ClearSpawner ) ;
2014-07-09 12:17:42 -04:00
2014-08-19 12:36:44 -04:00
if ( bIsComponent )
{
ActionListOut . Add ( MakeComponentBoundEventSpawner ( DelegateProperty ) ) ;
}
2014-08-26 16:25:42 -04:00
else if ( bIsActorClass )
{
ActionListOut . Add ( MakeActorBoundEventSpawner ( DelegateProperty ) ) ;
}
2019-12-13 11:07:03 -05:00
}
2014-07-09 12:17:42 -04:00
else
{
Copying //UE4/Dev-Blueprints to //UE4/Dev-Main (Source: //UE4/Dev-Blueprints @ 3255454)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3228496 on 2016/12/09 by Ben.Cosh
This change adds extra information to component template arrays so that the component class can be determined in builds that strip out objects of certain class types such as the editor dedicated server build.
#Jira UE-38842 - "LogBlueprint:Error: [Compiler BP_Skybox_World_RandomTrees_01] Error Can't connect pins ReturnValue and Target" after entering a lobby in a synced server
#Proj KismetCompiler, BlueprintGraph, UnrealEd, Core, Engine, Kismet, BlueprintCompilerCppBackend
Change 3232435 on 2016/12/13 by Ben.Cosh
Fix for a bug introduced in CL 3228496 that caused component templates to fail to be identified by name and resulted in blueprint compilation issues for add component nodes.
#Jira UE-39623 - Unknown template referenced by Add Component Node
#Proj BlueprintGraph, Engine
Change 3234581 on 2016/12/14 by Mike.Beach
Backing out fix for UE-38842 (CL 3228496/3232435/3232564) - mapping UBlueprintGeneratedClass's ComponentTemplates array to a new format was causing issues with deferred dependency loading during serialization (trying to extract type information from a placeholder object). We're opting for a smaller/simpler solution to UE-38842, which will be to store the component information on the node itself (not with the templates).
#jira UE-39707
Change 3236615 on 2016/12/15 by Maciej.Mroz
Nativization: Fixed getter fuctions in FUnconvertedWrapper, the returned ref won;t be const.
Change 3236967 on 2016/12/15 by Dan.Oconnor
Test data showing an error for jira issue UE-39808
Change 3237021 on 2016/12/15 by Dan.Oconnor
UE31622 test data
Change 3237046 on 2016/12/15 by Dan.Oconnor
UE-14123 test data
Change 3239289 on 2016/12/17 by Phillip.Kavan
[UE-38999] Dump component tree node hierarchy to the output log on error state during widget generation.
change summary:
- added FOnTableViewBadState delegate parameter to SSCSEditorDragDropTree
- added SSCSEditor::DumpTree() as the FOnTableViewBadState delegate implementatioon for the STableView widget (to provide us with more info on future occurrences)
#jira UE-38999
Change 3239448 on 2016/12/19 by Maciej.Mroz
#jira UE-39794
New way of collecting dependencies assets. Only directly used assets are listed. It will be used in projects with EDL enabled, once the "EDL boot time" is enabled.
Nativized projects with EDL disabled use the new mechanism as well. They use new __StaticDependenciesAssets functions generator. __StaticDependenciesAssets calls recursively __StaticDependenciesAssets of all Blueprints, that the current BP depends on. It reduces the size of __StaticDependenciesAssets.
Notice, that at the moment, this change should no affect any projects with EDL enabled (because the EDL boot time doesn't work yet).
Change 3239778 on 2016/12/19 by Phillip.Kavan
[UE-39854] Fix nativized assets build error when there are no native code dependencies.
change summary:
- modified FDependenciesGlobalMapHelper::EmitBodyCode() to emit a NULL entry when there are no other entries to emit, in order to avoid a zero-length array initialization error at compile time.
#jira UE-39854
Change 3239965 on 2016/12/19 by Phillip.Kavan
[UE-39733] Fix incorrect graph pin value display names for user-defined enum types.
change summary:
- switched UEnum::GetDisplayNameText() to be a virtual API
- added a UUserDefinedEnum::GetDisplayNameText() override to call FEnumEditorUtils::GetEnumeratorDisplayName()
#jira UE-39733
Change 3240422 on 2016/12/19 by Dan.Oconnor
Remove useless counter. ensureMsgf only fires once
Change 3242313 on 2016/12/21 by Phillip.Kavan
[UE-35418] The Actor details view will now refresh property mappings for the current Actor instance selection after a bytecode-only recompile of its Blueprint class as a dependency during reinstancing.
change summary:
- Modified FBlueprintCompileReinstancer::ReinstanceObjects() to invoke SelectActor() on the current editor selection after a bytecode-only recompile of its class as a dependent BP (i.e. when reinstancing/finalization is not actually incurred). This is meant to be consistent with how the refresh for the current Actor selection is handled by the reinstancer in the other cases.
#jira UE-35418
Change 3242409 on 2016/12/21 by Dan.Oconnor
PR #2995: Arbitrary base logarithm blueprint node (Contributed by Valkrysa)
#jira UE-39169
Change 3243207 on 2016/12/22 by Phillip.Kavan
[UE-39816] Renaming interface input/output parameters will no longer cause broken pin links at interface function call sites in Blueprints that are currently loaded.
change summary:
- modified FBasePinChangeHelper::Broadcast() to consider pin changes sourced from an interface Blueprint
- also revised non-interface function call site check code a bit to try and avoid doing some unnecessary work when possible, since this code runs through every call site node
#jira UE-39816
Change 3243210 on 2016/12/22 by Phillip.Kavan
[UE-39944] Extend the GetClassDefaults node to include output pin exceptions for TSet/TMap properties (i.e. mirror safeguards already in place for TArray).
change summary:
- deprecated 'bExcludeObjectArrays' and replaced with 'bExcludeObjectContainers' (not using a redirect because I need the old property serialized on load for backwards-compatibility)
- modified FClassDefaultsOptionalPinManager's ctor to consider both flags
- modified FClassDefaultsOptionalPinManager::CanTreatPropertyAsOptional() to also test for TSet/TMap types, and exclude them if they contain a non-class UObject property as the inner type (same as we do for TArray)
- modified UK2Node_GetClassDefaults::ValidateNodeDuringCompilation() to also test for TSet/TMap types, and emit a warning for existing pin connections that would have otherwise failed for newly-placed nodes (same as TArray)
- modified UK2Node_GetClassDefaults::ExpandNode() to generate the necessary script needed to create a copy of TSet/TMap property value outputs (same as we do for TArray types)
#jira UE-39944
Change 3243373 on 2016/12/23 by Maciej.Mroz
#jira UE-39794
-Nativized build with EDL enabled use new dependency-gathering system. It shrinks size of the .exe file. This code will change once the boot time EDL is enabled.
-In nativized code, ZCOnstructors are not called. They are replaced by ::StaticClass(). Static class doesn't call noting recursively. We still need to fix interfaces (they have no StaticClass).
- Workaround for UE-40026
- Various minior improvements.
Change 3244038 on 2016/12/28 by Phillip.Kavan
[UE-34488] Child Blueprint assets are now marked as dirty if its parent Blueprint incurs a strucutural change.
change summary:
- modified FBlueprintEditorUtils::MarkBlueprintAsStructurallyModified() to call MarkPackageDirty() after a skeleton-only compile pass on a child Blueprint.
notes:
- this only fixes the issue for child Blueprints that are loaded when the change to the parent Blueprint occurs. unloaded child Blueprints would still need a redirector to fix this up on load.
#jira UE-34488
Change 3244087 on 2016/12/28 by Phillip.Kavan
CIS warning fix (C6236).
Change 3244388 on 2016/12/30 by Phillip.Kavan
[UE-39816] Fix broken pin links caused by renaming interface function input/output parameters prior to compiling the interface, but after renaming the function itself.
change summary:
- modified FBlueprintEditorUtils::FindFunctionInImplementedInterfaces() to prefer the skeleton class when searching, as that is always up-to-date.
- modified FBlueprintEditorUtils::RenameGraph() to update *all* function call site nodes, rather than just those within the current Blueprint class scope.
#jira UE-39816
Change 3245322 on 2017/01/03 by Maciej.Mroz
#jira UE-40125
Fixed a crash when implementing a native interface in a BP
Change 3245667 on 2017/01/03 by Mike.Beach
Mirroring CL 3245664 - Making it so level script bound nodes are fixed up on load (in case the level instances were saved out without the bindings).
#jira UE-39950
Change 3247675 on 2017/01/05 by Maciej.Mroz
BP is not DataOnly, when it overrides an inherited component
related to UE-40131
Change 3247985 on 2017/01/05 by Maciej.Mroz
NativizationSummary object is always present.
#jira UE-40035
Change 3249423 on 2017/01/06 by Mike.Beach
Mirroring CL 3248792 from Orion.
Fix to keep placeholder classes from being needlessly created (when the object they represent already exists) - instead, attempt to lookup and find the existing import objects (which used to be set, but could be cleared during async loading by FLinkerManager::DissociateImportsAndForcedExports()).
#jira OR-34038
Change 3249568 on 2017/01/06 by Mike.Beach
Updating the UBlueprintThumbnailRenderer API so it can be sub-classed by plugin/projects.
PR #2899: Expose UBlueprintThumbnailRenderer in the API (Contributed by e-agaubatz)
#jira UE-38004
Change 3251903 on 2017/01/10 by Phillip.Kavan
[UE-31640] Function inputs are now exposed as variable "Get" nodes via the right-click context menu in a Blueprint function graph context.
Note: Changes are based on shelved CL# 2452724, original proof-of-concept code (credit: Michael.Noland).
#jira UE-31640
#fyi Michael.Noland
Change 3252119 on 2017/01/10 by Phillip.Kavan
CIS fix (shadowed variable).
Change 3252744 on 2017/01/10 by Dan.Oconnor
Add GMinimalCompileOnLoad path for postponing compile on load until all data has been loaded - long term this will be used to improve bp compiler infrastructure (performance, correctness, succinctness)
Change 3252968 on 2017/01/10 by Phillip.Kavan
[UE-36798] Fix for an infinite loop case in the math expression parser.
#jira UE-36798
Change 3253153 on 2017/01/10 by Dan.Oconnor
Fixed construction scripts not being loaded before instancing occurs when using new lighter compile path
Change 3253171 on 2017/01/10 by Mike.Beach
Mirrored CL 3253147.
Properly fills out FPropertyChangedEvent's MemberProperty field, for the property editor's NotifyHook. As its comment implies, "MemberProperty" is meant to represent the outermost property (in scenarios, like with nested struct properties). It was not working this way, and was instead set to the same nested property.
Change 3253220 on 2017/01/10 by Dan.Oconnor
These pins should infer together
#jira UE-40427
Change 3253223 on 2017/01/10 by Phillip.Kavan
[UE-35050] Fix a crash that occurs on an attempt to rename the category of an implemented interface function inherited from a native parent class in the My Blueprint panel.
change summary:
- modified FBlueprintEditorUtils::FindFunctionInImplementedInterfaces() to accept an additional input parameter so that callers can opt-in to searching all inherited interface classes
- modified SMyBlueprint::CanRequestRenameOnActionNode() to prevent rename on implemented interface functions inherited from a native parent class
#jira UE-35050
Change 3253259 on 2017/01/10 by Dan.Oconnor
Quick cleanup, this stuff is in progress
Change 3253983 on 2017/01/11 by Phillip.Kavan
[UE-35629] Disable external curve asset creation when editing a local variable's default value in a Blueprint graph.
change summary:
- modified FCurveStructCustomization::CustomizeChildren() to set the "create" button visibility to "collapsed" when the Owner is NULL (as the default asset path is inferred from the Owner's package).
#jira UE-35629
Change 3254024 on 2017/01/11 by Phillip.Kavan
[UE-40131] Non-native child BPs can now properly override a nativized parent BP's components in a cooked build with exclusive Blueprint class nativiation.
change summary:
- added UBlueprintGeneratedClass::CheckAndApplyComponentTemplateOverrides()
- switched FComponentKey::OwnerClass type from UBlueprintGeneratedClass to UClass to allow the reference to be loaded when it's a nativized BP class.
- modified AActor::PostLoadSubobjects() to apply ICH template overrides to inherited component subobjects on load (only in a cooked build)
- modified AActor::PostSpawnInitialize() to also apply ICH template overrides to inherited component subobjects on new Actor spawns (only in a cooked build)
- modified FBlueprintEditorUtils::IsDataOnlyBlueprint() to additionally reject BPs that have a non-empty ICH (from Maciej)
- added UBlueprint::bHasNativizedParent to cache this as an indicator for cooked builds to allow Actor instances to avoid incurring additional overhead for this at load time in the general case
#jira UE-40131
Change 3254176 on 2017/01/11 by Mike.Beach
Mirroring CL 3245838 to unblock the Odin build. Downgrading new error to warning until we can address it in content (and fully understand why it is triggering).
#jira UE-40470
Change 3254391 on 2017/01/11 by Phillip.Kavan
[UE-40131] CIS fix (non-unity).
Change 3254442 on 2017/01/11 by Mike.Beach
Mirroring CL 3245069 (from RobM), which is described as a "temp fix".
#jira UE-40399
Change 3254599 on 2017/01/11 by Mike.Beach
Updating some of our GetRedirectPinNames() functions - making local copy of an array element instead of a reference. We're adding to the array right after, and the ref can become invalid (if the array is grown and reallocated). Came to us via UDN.
Change 3254624 on 2017/01/11 by Mike.Beach
Backing out CL 3247675, as it removed the "data-only" status from certain Blueprints that, IMO, are still considered "data-only". This would have reprecussions to editor (compile-on) load times, and affect how these Blueprints are presented to the user.
#fyi Maciej.Mroz, Phillip.Kavan
Change 3254671 on 2017/01/11 by Mike.Beach
Resolving CIS warning - USE_EVENT_DRIVEN_ASYNC_LOAD was replaced with GEventDrivenLoaderEnabled.
[CL 3255791 by Mike Beach in Main branch]
2017-01-12 14:36:04 -05:00
UBlueprintVariableNodeSpawner * GetterSpawner = UBlueprintVariableNodeSpawner : : CreateFromMemberOrParam ( UK2Node_VariableGet : : StaticClass ( ) , Property ) ;
2014-07-09 12:17:42 -04:00
ActionListOut . Add ( GetterSpawner ) ;
Copying //UE4/Dev-Blueprints to //UE4/Dev-Main (Source: //UE4/Dev-Blueprints @ 3255454)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3228496 on 2016/12/09 by Ben.Cosh
This change adds extra information to component template arrays so that the component class can be determined in builds that strip out objects of certain class types such as the editor dedicated server build.
#Jira UE-38842 - "LogBlueprint:Error: [Compiler BP_Skybox_World_RandomTrees_01] Error Can't connect pins ReturnValue and Target" after entering a lobby in a synced server
#Proj KismetCompiler, BlueprintGraph, UnrealEd, Core, Engine, Kismet, BlueprintCompilerCppBackend
Change 3232435 on 2016/12/13 by Ben.Cosh
Fix for a bug introduced in CL 3228496 that caused component templates to fail to be identified by name and resulted in blueprint compilation issues for add component nodes.
#Jira UE-39623 - Unknown template referenced by Add Component Node
#Proj BlueprintGraph, Engine
Change 3234581 on 2016/12/14 by Mike.Beach
Backing out fix for UE-38842 (CL 3228496/3232435/3232564) - mapping UBlueprintGeneratedClass's ComponentTemplates array to a new format was causing issues with deferred dependency loading during serialization (trying to extract type information from a placeholder object). We're opting for a smaller/simpler solution to UE-38842, which will be to store the component information on the node itself (not with the templates).
#jira UE-39707
Change 3236615 on 2016/12/15 by Maciej.Mroz
Nativization: Fixed getter fuctions in FUnconvertedWrapper, the returned ref won;t be const.
Change 3236967 on 2016/12/15 by Dan.Oconnor
Test data showing an error for jira issue UE-39808
Change 3237021 on 2016/12/15 by Dan.Oconnor
UE31622 test data
Change 3237046 on 2016/12/15 by Dan.Oconnor
UE-14123 test data
Change 3239289 on 2016/12/17 by Phillip.Kavan
[UE-38999] Dump component tree node hierarchy to the output log on error state during widget generation.
change summary:
- added FOnTableViewBadState delegate parameter to SSCSEditorDragDropTree
- added SSCSEditor::DumpTree() as the FOnTableViewBadState delegate implementatioon for the STableView widget (to provide us with more info on future occurrences)
#jira UE-38999
Change 3239448 on 2016/12/19 by Maciej.Mroz
#jira UE-39794
New way of collecting dependencies assets. Only directly used assets are listed. It will be used in projects with EDL enabled, once the "EDL boot time" is enabled.
Nativized projects with EDL disabled use the new mechanism as well. They use new __StaticDependenciesAssets functions generator. __StaticDependenciesAssets calls recursively __StaticDependenciesAssets of all Blueprints, that the current BP depends on. It reduces the size of __StaticDependenciesAssets.
Notice, that at the moment, this change should no affect any projects with EDL enabled (because the EDL boot time doesn't work yet).
Change 3239778 on 2016/12/19 by Phillip.Kavan
[UE-39854] Fix nativized assets build error when there are no native code dependencies.
change summary:
- modified FDependenciesGlobalMapHelper::EmitBodyCode() to emit a NULL entry when there are no other entries to emit, in order to avoid a zero-length array initialization error at compile time.
#jira UE-39854
Change 3239965 on 2016/12/19 by Phillip.Kavan
[UE-39733] Fix incorrect graph pin value display names for user-defined enum types.
change summary:
- switched UEnum::GetDisplayNameText() to be a virtual API
- added a UUserDefinedEnum::GetDisplayNameText() override to call FEnumEditorUtils::GetEnumeratorDisplayName()
#jira UE-39733
Change 3240422 on 2016/12/19 by Dan.Oconnor
Remove useless counter. ensureMsgf only fires once
Change 3242313 on 2016/12/21 by Phillip.Kavan
[UE-35418] The Actor details view will now refresh property mappings for the current Actor instance selection after a bytecode-only recompile of its Blueprint class as a dependency during reinstancing.
change summary:
- Modified FBlueprintCompileReinstancer::ReinstanceObjects() to invoke SelectActor() on the current editor selection after a bytecode-only recompile of its class as a dependent BP (i.e. when reinstancing/finalization is not actually incurred). This is meant to be consistent with how the refresh for the current Actor selection is handled by the reinstancer in the other cases.
#jira UE-35418
Change 3242409 on 2016/12/21 by Dan.Oconnor
PR #2995: Arbitrary base logarithm blueprint node (Contributed by Valkrysa)
#jira UE-39169
Change 3243207 on 2016/12/22 by Phillip.Kavan
[UE-39816] Renaming interface input/output parameters will no longer cause broken pin links at interface function call sites in Blueprints that are currently loaded.
change summary:
- modified FBasePinChangeHelper::Broadcast() to consider pin changes sourced from an interface Blueprint
- also revised non-interface function call site check code a bit to try and avoid doing some unnecessary work when possible, since this code runs through every call site node
#jira UE-39816
Change 3243210 on 2016/12/22 by Phillip.Kavan
[UE-39944] Extend the GetClassDefaults node to include output pin exceptions for TSet/TMap properties (i.e. mirror safeguards already in place for TArray).
change summary:
- deprecated 'bExcludeObjectArrays' and replaced with 'bExcludeObjectContainers' (not using a redirect because I need the old property serialized on load for backwards-compatibility)
- modified FClassDefaultsOptionalPinManager's ctor to consider both flags
- modified FClassDefaultsOptionalPinManager::CanTreatPropertyAsOptional() to also test for TSet/TMap types, and exclude them if they contain a non-class UObject property as the inner type (same as we do for TArray)
- modified UK2Node_GetClassDefaults::ValidateNodeDuringCompilation() to also test for TSet/TMap types, and emit a warning for existing pin connections that would have otherwise failed for newly-placed nodes (same as TArray)
- modified UK2Node_GetClassDefaults::ExpandNode() to generate the necessary script needed to create a copy of TSet/TMap property value outputs (same as we do for TArray types)
#jira UE-39944
Change 3243373 on 2016/12/23 by Maciej.Mroz
#jira UE-39794
-Nativized build with EDL enabled use new dependency-gathering system. It shrinks size of the .exe file. This code will change once the boot time EDL is enabled.
-In nativized code, ZCOnstructors are not called. They are replaced by ::StaticClass(). Static class doesn't call noting recursively. We still need to fix interfaces (they have no StaticClass).
- Workaround for UE-40026
- Various minior improvements.
Change 3244038 on 2016/12/28 by Phillip.Kavan
[UE-34488] Child Blueprint assets are now marked as dirty if its parent Blueprint incurs a strucutural change.
change summary:
- modified FBlueprintEditorUtils::MarkBlueprintAsStructurallyModified() to call MarkPackageDirty() after a skeleton-only compile pass on a child Blueprint.
notes:
- this only fixes the issue for child Blueprints that are loaded when the change to the parent Blueprint occurs. unloaded child Blueprints would still need a redirector to fix this up on load.
#jira UE-34488
Change 3244087 on 2016/12/28 by Phillip.Kavan
CIS warning fix (C6236).
Change 3244388 on 2016/12/30 by Phillip.Kavan
[UE-39816] Fix broken pin links caused by renaming interface function input/output parameters prior to compiling the interface, but after renaming the function itself.
change summary:
- modified FBlueprintEditorUtils::FindFunctionInImplementedInterfaces() to prefer the skeleton class when searching, as that is always up-to-date.
- modified FBlueprintEditorUtils::RenameGraph() to update *all* function call site nodes, rather than just those within the current Blueprint class scope.
#jira UE-39816
Change 3245322 on 2017/01/03 by Maciej.Mroz
#jira UE-40125
Fixed a crash when implementing a native interface in a BP
Change 3245667 on 2017/01/03 by Mike.Beach
Mirroring CL 3245664 - Making it so level script bound nodes are fixed up on load (in case the level instances were saved out without the bindings).
#jira UE-39950
Change 3247675 on 2017/01/05 by Maciej.Mroz
BP is not DataOnly, when it overrides an inherited component
related to UE-40131
Change 3247985 on 2017/01/05 by Maciej.Mroz
NativizationSummary object is always present.
#jira UE-40035
Change 3249423 on 2017/01/06 by Mike.Beach
Mirroring CL 3248792 from Orion.
Fix to keep placeholder classes from being needlessly created (when the object they represent already exists) - instead, attempt to lookup and find the existing import objects (which used to be set, but could be cleared during async loading by FLinkerManager::DissociateImportsAndForcedExports()).
#jira OR-34038
Change 3249568 on 2017/01/06 by Mike.Beach
Updating the UBlueprintThumbnailRenderer API so it can be sub-classed by plugin/projects.
PR #2899: Expose UBlueprintThumbnailRenderer in the API (Contributed by e-agaubatz)
#jira UE-38004
Change 3251903 on 2017/01/10 by Phillip.Kavan
[UE-31640] Function inputs are now exposed as variable "Get" nodes via the right-click context menu in a Blueprint function graph context.
Note: Changes are based on shelved CL# 2452724, original proof-of-concept code (credit: Michael.Noland).
#jira UE-31640
#fyi Michael.Noland
Change 3252119 on 2017/01/10 by Phillip.Kavan
CIS fix (shadowed variable).
Change 3252744 on 2017/01/10 by Dan.Oconnor
Add GMinimalCompileOnLoad path for postponing compile on load until all data has been loaded - long term this will be used to improve bp compiler infrastructure (performance, correctness, succinctness)
Change 3252968 on 2017/01/10 by Phillip.Kavan
[UE-36798] Fix for an infinite loop case in the math expression parser.
#jira UE-36798
Change 3253153 on 2017/01/10 by Dan.Oconnor
Fixed construction scripts not being loaded before instancing occurs when using new lighter compile path
Change 3253171 on 2017/01/10 by Mike.Beach
Mirrored CL 3253147.
Properly fills out FPropertyChangedEvent's MemberProperty field, for the property editor's NotifyHook. As its comment implies, "MemberProperty" is meant to represent the outermost property (in scenarios, like with nested struct properties). It was not working this way, and was instead set to the same nested property.
Change 3253220 on 2017/01/10 by Dan.Oconnor
These pins should infer together
#jira UE-40427
Change 3253223 on 2017/01/10 by Phillip.Kavan
[UE-35050] Fix a crash that occurs on an attempt to rename the category of an implemented interface function inherited from a native parent class in the My Blueprint panel.
change summary:
- modified FBlueprintEditorUtils::FindFunctionInImplementedInterfaces() to accept an additional input parameter so that callers can opt-in to searching all inherited interface classes
- modified SMyBlueprint::CanRequestRenameOnActionNode() to prevent rename on implemented interface functions inherited from a native parent class
#jira UE-35050
Change 3253259 on 2017/01/10 by Dan.Oconnor
Quick cleanup, this stuff is in progress
Change 3253983 on 2017/01/11 by Phillip.Kavan
[UE-35629] Disable external curve asset creation when editing a local variable's default value in a Blueprint graph.
change summary:
- modified FCurveStructCustomization::CustomizeChildren() to set the "create" button visibility to "collapsed" when the Owner is NULL (as the default asset path is inferred from the Owner's package).
#jira UE-35629
Change 3254024 on 2017/01/11 by Phillip.Kavan
[UE-40131] Non-native child BPs can now properly override a nativized parent BP's components in a cooked build with exclusive Blueprint class nativiation.
change summary:
- added UBlueprintGeneratedClass::CheckAndApplyComponentTemplateOverrides()
- switched FComponentKey::OwnerClass type from UBlueprintGeneratedClass to UClass to allow the reference to be loaded when it's a nativized BP class.
- modified AActor::PostLoadSubobjects() to apply ICH template overrides to inherited component subobjects on load (only in a cooked build)
- modified AActor::PostSpawnInitialize() to also apply ICH template overrides to inherited component subobjects on new Actor spawns (only in a cooked build)
- modified FBlueprintEditorUtils::IsDataOnlyBlueprint() to additionally reject BPs that have a non-empty ICH (from Maciej)
- added UBlueprint::bHasNativizedParent to cache this as an indicator for cooked builds to allow Actor instances to avoid incurring additional overhead for this at load time in the general case
#jira UE-40131
Change 3254176 on 2017/01/11 by Mike.Beach
Mirroring CL 3245838 to unblock the Odin build. Downgrading new error to warning until we can address it in content (and fully understand why it is triggering).
#jira UE-40470
Change 3254391 on 2017/01/11 by Phillip.Kavan
[UE-40131] CIS fix (non-unity).
Change 3254442 on 2017/01/11 by Mike.Beach
Mirroring CL 3245069 (from RobM), which is described as a "temp fix".
#jira UE-40399
Change 3254599 on 2017/01/11 by Mike.Beach
Updating some of our GetRedirectPinNames() functions - making local copy of an array element instead of a reference. We're adding to the array right after, and the ref can become invalid (if the array is grown and reallocated). Came to us via UDN.
Change 3254624 on 2017/01/11 by Mike.Beach
Backing out CL 3247675, as it removed the "data-only" status from certain Blueprints that, IMO, are still considered "data-only". This would have reprecussions to editor (compile-on) load times, and affect how these Blueprints are presented to the user.
#fyi Maciej.Mroz, Phillip.Kavan
Change 3254671 on 2017/01/11 by Mike.Beach
Resolving CIS warning - USE_EVENT_DRIVEN_ASYNC_LOAD was replaced with GEventDrivenLoaderEnabled.
[CL 3255791 by Mike Beach in Main branch]
2017-01-12 14:36:04 -05:00
UBlueprintVariableNodeSpawner * SetterSpawner = UBlueprintVariableNodeSpawner : : CreateFromMemberOrParam ( UK2Node_VariableSet : : StaticClass ( ) , Property ) ;
2014-07-09 12:17:42 -04:00
ActionListOut . Add ( SetterSpawner ) ;
}
}
}
2019-09-19 15:39:36 -04:00
//------------------------------------------------------------------------------
static void BlueprintActionDatabaseImpl : : AddClassDataObjectActions ( UClass const * const Class , FActionList & ActionListOut )
{
using namespace FBlueprintNodeSpawnerFactory ; // for MakeDelegateNodeSpawner()
// loop over all the properties in the specified class; exclude-super because
// we can always get the super properties by looking up that class separately
const UStruct * SparseDataStruct = Class - > GetSparseClassDataStruct ( ) ;
const UStruct * ParentSparseDataStruct = Class - > GetSuperClass ( ) ? Class - > GetSuperClass ( ) - > GetSparseClassDataStruct ( ) : nullptr ;
if ( ParentSparseDataStruct ! = SparseDataStruct )
{
2019-12-13 11:07:03 -05:00
for ( TFieldIterator < FProperty > PropertyIt ( SparseDataStruct , EFieldIteratorFlags : : ExcludeSuper ) ; PropertyIt ; + + PropertyIt )
2019-09-19 15:39:36 -04:00
{
2019-12-13 11:07:03 -05:00
FProperty * Property = * PropertyIt ;
2019-09-19 15:39:36 -04:00
if ( ! IsPropertyBlueprintVisible ( Property ) )
{
continue ;
}
2019-10-31 17:59:47 -04:00
UClass * NonConstClass = const_cast < UClass * > ( Class ) ;
UBlueprintVariableNodeSpawner * GetterSpawner = UBlueprintVariableNodeSpawner : : CreateFromMemberOrParam ( UK2Node_VariableGet : : StaticClass ( ) , Property , nullptr , NonConstClass ) ;
2019-09-19 15:39:36 -04:00
ActionListOut . Add ( GetterSpawner ) ;
// UBlueprintVariableNodeSpawner* SetterSpawner = UBlueprintVariableNodeSpawner::CreateFromMemberOrParam(UK2Node_VariableSet::StaticClass(), Property);
// ActionListOut.Add(SetterSpawner);
}
}
}
2014-07-09 12:17:42 -04:00
//------------------------------------------------------------------------------
2014-09-30 16:54:10 -04:00
static void BlueprintActionDatabaseImpl : : AddClassCastActions ( UClass * Class , FActionList & ActionListOut )
2014-07-09 12:17:42 -04:00
{
2014-09-30 16:54:10 -04:00
Class = Class - > GetAuthoritativeClass ( ) ;
check ( Class ) ;
2014-07-09 12:17:42 -04:00
UEdGraphSchema_K2 const * K2Schema = GetDefault < UEdGraphSchema_K2 > ( ) ;
bool bIsCastPermitted = UEdGraphSchema_K2 : : IsAllowableBlueprintVariableType ( Class ) ;
if ( bIsCastPermitted )
{
auto CustomizeCastNodeLambda = [ ] ( UEdGraphNode * NewNode , bool bIsTemplateNode , UClass * TargetType )
{
UK2Node_DynamicCast * CastNode = CastChecked < UK2Node_DynamicCast > ( NewNode ) ;
CastNode - > TargetType = TargetType ;
} ;
2014-09-19 18:20:43 -04:00
UBlueprintNodeSpawner * CastObjNodeSpawner = UBlueprintNodeSpawner : : Create < UK2Node_DynamicCast > ( ) ;
2014-07-09 12:17:42 -04:00
CastObjNodeSpawner - > CustomizeNodeDelegate = UBlueprintNodeSpawner : : FCustomizeNodeDelegate : : CreateStatic ( CustomizeCastNodeLambda , Class ) ;
ActionListOut . Add ( CastObjNodeSpawner ) ;
2014-09-19 18:20:43 -04:00
UBlueprintNodeSpawner * CastClassNodeSpawner = UBlueprintNodeSpawner : : Create < UK2Node_ClassDynamicCast > ( ) ;
2014-07-09 12:17:42 -04:00
CastClassNodeSpawner - > CustomizeNodeDelegate = CastObjNodeSpawner - > CustomizeNodeDelegate ;
ActionListOut . Add ( CastClassNodeSpawner ) ;
}
}
2014-09-23 16:40:48 -04:00
//------------------------------------------------------------------------------
static void BlueprintActionDatabaseImpl : : AddSkeletonActions ( const USkeleton & Skeleton , FActionList & ActionListOut )
{
2019-10-22 10:37:03 -04:00
TArray < FName > NotifyNames ;
Skeleton . CollectAnimationNotifies ( NotifyNames ) ;
for ( const FName & NotifyName : NotifyNames )
2014-09-23 16:40:48 -04:00
{
FString Label = NotifyName . ToString ( ) ;
FString SignatureName = FString : : Printf ( TEXT ( " AnimNotify_%s " ) , * Label ) ;
2014-09-25 14:27:07 -04:00
ActionListOut . Add ( FBlueprintNodeSpawnerFactory : : MakeAnimOwnedEventSpawner ( FName ( * SignatureName ) , FEditorCategoryUtils : : GetCommonCategory ( FCommonEditorCategory : : AnimNotify ) ) ) ;
}
2014-09-23 16:40:48 -04:00
}
2014-07-09 12:17:42 -04:00
//------------------------------------------------------------------------------
2014-08-23 20:16:29 -04:00
static void BlueprintActionDatabaseImpl : : AddBlueprintGraphActions ( UBlueprint const * const Blueprint , FActionList & ActionListOut )
2014-07-09 12:17:42 -04:00
{
using namespace FBlueprintNodeSpawnerFactory ; // for MakeMacroNodeSpawner()
Copying //UE4/Dev-Framework to //UE4/Dev-Main (Source: //UE4/Dev-Framework @ 3510040)
#lockdown Nick.Penwarden
=====================================
MAJOR FEATURES + CHANGES
=====================================
Change 3459524 by Marc.Audy
Get/Set of properties that were previously BPRW/BPRO should error when used
#jira UE-20993
Change 3460004 by Phillip.Kavan
#jira UE-45171 - Fix C++ compilation failures during packaging caused by nativizing a Blueprint that overrides a native function with a 'TSubclassOf' parameter or return value.
Change summary:
- Modified FKismetCompilerContext::CreateParametersForFunction() to pass the 'CPF_UObjectWrapper' flag through to new function parameter properties during Blueprint compilation.
Change 3461210 by Phillip.Kavan
#jira UE-44505 - Fix occasional Blueprint editor crashes that could occur while rebuilding the context menu from the action registry.
Change summary:
- Modified FBlueprintActionDatabase::FActionRegistry to use an FObjectKey as the key type. This allows us to test entries for UObject validity before rebuilding context menu items based on the action database.
- Changed FBlueprintActionInfo::CachedOwnerClass to be a TWeakObjectPtr rather than a raw UClass* since it's based on the ActionOwner, which could potentially become invalid after the OwnerClass has been cached.
- Modified FBlueprintActionDatabase::RefreshAssetActions() to exclude World assets if the WorldType is not EWorldType::Editor. This eliminates an issue with unreferenced "inactive" GC'd world objects being left in the BP action registry after cooking, at which point the keys could become invalid.
- Added FBlueprintActionDatabase::DeferredRemoveEntry() to allow for scheduling removal of entries from outside of the database if they are known to be invalid.
- Modified FBlueprintActionDatabase::Tick() to handle deferred entry removals.
- Modified FBlueprintActionMenuBuilder::RebuildActionList() to both test actions for validity before building menu items and schedule removal of invalid actions on the next tick.
Notes:
- Alternatively we could just include UObject keys in the database's AddReferencedObject impl, but that would then prevent objects from ever being GC'd if they are not explicitly removed. For most entries the action database takes the approach of explicitly removing entries via delegate when the UObject is destroyed, so I chose to use a TWeakObjectPtr instead so that any entries that may not be getting explicitly removed via delegate will now simply become invalidated if the UObject key is GC'd due to not being referenced. I also set it up to clean and remove any entries (along with any associated node spawners) that are found to be invalid the next time we open the BP editor.
Change 3461373 by Lukasz.Furman
fixed async navmesh rebuilds not kicking in for requests from navdata.bForceRebuildOnLoad
#jira UE-44231
Change 3461409 by Lukasz.Furman
fixed reenabling automatic navmesh generation in Editor Preferences
#ue4
Change 3461550 by Ben.Zeigler
#jira UE-45328 Fix local variable support for Redirectors and other save-time validation. We need to run the local variables to UProperty and back at save time
Add new flag PPF_SerializedAsImportText which is used for BP pins/default values and indicates that something has been serialized as import text and so needs to handle string asset redirectors
Change 3462625 by Zak.Middleton
#ue4 - Fix InterpToMovementComponent not setting velocity on the object it moves. Fix movement rate when substepping enabled (other related fixes to come).
github PR #3620
Change 3462796 by Dan.Oconnor
Fix for spamming BroadcastBlueprintReinstanced and for creating CDO at wrong time when compiling FrontEnd.uasset in OrionGame
#jira UE-45434
Change 3462995 by Ben.Zeigler
#jira UE-16941 Fix it so Load Asset node works with a literal value as well as a connected pin
Change 3463099 by Ben.Zeigler
#jira UE-45471 Allow abstract base classes for primary assets
Change 3464809 by Marc.Audy
Expose FVector2D / FVector2D to blueprints
#jira UE-45427
Change 3467254 by Mieszko.Zielinski
Added an AI helper BP function that supplies caller with a copy of navigation path given controller is currently following #UE4
Change 3467644 by Dan.Oconnor
Fix for cook issues in ocean when using compilation manager, one issue caused by bad dependencies list, one issue caused by lack of subobject mapping in archetype reinstancing.
#jira UE-45443, UE-45444
Change 3468176 by Dan.Oconnor
Fix dependent blueprints being marked dirty when a blueprint is compiled
Change 3468353 by Michael.Noland
UnrealHeaderTool: Improved the warning generated when missing Category= on a function or property declared in an engine module, and centralized the logic that determines if the module is engine or game
Change 3470532 by Dan.Oconnor
Re-enable compilation manager
Change 3470572 by Dan.Oconnor
Fix for pin paramters resetting when an archetype was reinstanced
#jira UE-45619
#rnx
Change 3471949 by Mason.Seay
Adding Primary Assets for testing
Change 3472074 by Ben.Zeigler
#jira UE-45140 Convert iterative cooking to use the Asset Registry as it's only mode, remove old hash and timestamp versions. This allows deleting the entire PackageDependencyInfo module
Change the asset registry iteration to not compute a hash at all, and instead store the script package guids in it's cache.
Expose bIgnoreIniSettingsOutOfDateForIteration and bIgnoreScriptPackagesOutOfDateForIteration in cooker settings, affects rather to listen to ini/script changes when doing iterative cooking
Change 3472079 by Ben.Zeigler
With new incremental cook options, change Fortnite to never care about ini settings, but do care about code changes. This can be changed but from previous discussions we wanted to be more safe than fast here
Change 3473429 by Lukasz.Furman
changed path following update tick to allow working on "invalid, update pending" paths, solves AI getting stuck when navigation is rebuild very frequently (e.g. every tick from moving mesh)
#jira UE-41884
Change 3473476 by Lukasz.Furman
changed crowd simulation path update tick to allow working on "invalid, update pending" paths, solves AI getting stuck when navigation is rebuild very frequently (e.g. every tick from moving mesh)
#jira UE-41884
Change 3473663 by Ben.Zeigler
Fix it so base k2node registers framework version, this is needed for the assetptr fixup I previously added
Change 3473679 by Mason.Seay
Slight cleanup of test map and added ability to teleport across level for easy navigation
Change 3473712 by Marc.Audy
Do default value validation against the actual value of the default entry of an enum rather than the serialized empty autogenerated default value
Change 3474055 by Marc.Audy
When nodes are reconstructed any pins that were previously linked or set to non-default values that have been removed will no longer simply vanish, but instead will remain in an Orphaned state until dealt with.
#jira UE-41828
Change 3474119 by mason.seay
Tweaked Force Feedback test
Change 3474156 by Marc.Audy
Actually enable orphan pin retention
Change 3474382 by Ben.Zeigler
Class.h Header and comment cleanup. Started this because IsChildOf did not have a comment and it's usage is a bit confusing
Change 3474386 by Ben.Zeigler
Close popup window when adding asset class to audit window
Change 3474491 by Ben.Zeigler
Remove ability for Worlds to not be saved as assets, this has been the default since 2014.
Change 3475363 by Marc.Audy
Alt-click now works with orphaned pins
#jira UE-45699
Change 3475523 by Marc.Audy
Fixup Fortnite and Paragon content for orphaned pin errors and warnings
Change 3475623 by Phillip.Kavan
#jira UE-45477 - Fix an EDL assertion on load in a nativized build with one or more Actor subobjects instanced via the EditInlineNew UI in the BP class defaults property editor.
Change summary:
- Modified FEmitDefaultValueHelper::OuterGenerate() to emit code to construct/initialize instanced subobject values that do not have the RF_DefaultSubObject flag set, and also to recursively handle nested subobjects for those values.
- Modified FEmitDefaultValueHelper::HandleInstancedSubobject() to alternatively emit a 'NewObject' assignment statement rather than a 'CreateDefaultSubobject' statement if only RF_ArchetypeObject is set on the source object value.
Change 3476008 by Dan.Oconnor
Fix for failing to preload our super class's subobjects. Effectively moving UBlueprint::ForceLoad calls earlier in loading process. This only results in data resetting to your parent's parent's default value from your parent's default value.
#jira UE-18765
Change 3476115 by Dan.Oconnor
Fix missing category information for inherited functions when using compilation manager
#jira UE-45660
#rnx
Change 3476577 by Lukasz.Furman
added early outs from navmesh layer generation when there's no walkable cells or contours to avoid allocating 0 bytes by next generation steps (behavior differs between platforms)
#ue4
Change 3476587 by Phillip.Kavan
#jira UE-45517 - Fix a regression in which dragging UMG widgets around in the designer view results in redundantly-compounded BP class properties and context menu actions.
Change summary:
- Modified SDesignerView::ClearDropPreviews() to move the widget that was removed from the tree into the transient package. This ensures that FWidgetBlueprintCompiler::CreateClassVariablesFromBlueprint() won't pick them up.
- Modified SDesignerView::ProcessDropAndAddWidget() to also consider any widgets not added to the 'DropPreviews' array as being transient (i.e. also move them into the transient package since they were not added to the tree).
Notes:
- The regression was introduced by the changes in CL# 3410168, and was merged to Main at CL# 3431398.
#rnx
Change 3476723 by Dan.Oconnor
Match old behavior wrt updating implemented interfaces in blueprints - this logic from FKismetEditorUtilities::CompileBlueprint was missing in compilation manager
#jira UE-45468
#rnx
Change 3476948 by Michael.Noland
Framework: Changed AActor::FindComponentByClass (and AActor::GetComponentByClass by extension) to return nullptr when passed a nullptr class, rather than crashing
Change 3476970 by Ben.Zeigler
Fix bug I introduced in 4.16 where assigning assets to multiple chunks did not work properly
Change 3477536 by Marc.Audy
Don't display default value box on linked orphaned input pins
Change 3477835 by Marc.Audy
Fix pins orphaned by deletion of an entry in a user-defined enum disappearing instead of remaining connected
#jira UE-45754
Change 3478027 by Marc.Audy
Minor performance optimization
#rnx
Change 3478198 by Phillip.Kavan
#jira UE-42431 - Remove an unnecessary ensure() when pasting an event node.
Change summary:
- Modified UEdGraphSchema_K2::CreateSubstituteNode() to no longer ensure() that we have a valid PreExistingNode; it's only used for logging when a substitute node is created in response to a conflict with an existing node.
Change 3478485 by Marc.Audy
Eliminate extraneous error messages about orphaned pins on get/set nodes
#jira UE-45749
#rnx
Change 3478756 by Marc.Audy
Fix fallout from changes to DoesDefaultValueMatchAutogenerated for user defined enums
#jira UE-45721
#rnx
Change 3478926 by Marc.Audy
Non-blueprint type structs can no longer be made/broken
Non-blueprint visible properties in structs will no longer have pins created for them
#jira UE-43122
Change 3478988 by Marc.Audy
DeltaTime for a tick function with a tick interval is now correct after disabling and then reenabling the tick function.
#jira UE-45524
Change 3479818 by Marc.Audy
Allow ctrl-drag off of orphan pins
#jira UE-45803
Change 3480214 by Marc.Audy
Modifications to user defined enumerations are now transacted
#jira UE-43866
Change 3480579 by Marc.Audy
Maintain all pin properties through transactions.
#rn Reference pins that are removed and then restored via undo now correctly have the diamond icon instead of the standard circle.
Change 3481043 by Marc.Audy
Make/Break of structs does not depend on having blueprint exposed properties.
Splitting of a struct pin still requires blueprint exposed properties.
#jira UE-45840
#jira UE-45831
Change 3481271 by Ben.Zeigler
Fix the AssetManager chunking code to use ChunkDependencyInfo instead of a hardcoded check for chunk 0
Clean up ChunkDependencyInfo and make it properly public
Move ShouldSetManager to be WITH_EDITOR
Ported from WEX branch
#RB peter.sauerbrei
Change 3481373 by Dan.Oconnor
Reduce reliance on expensive FindDelegateSignature. 3275922 made warnings about a ambiguous search more likely as it preserved names of members on the REINST_ classes
#jira UE-45704
Change 3481380 by Ben.Zeigler
Change it so Struct and Object AssetRegistrySearchable properties do not show up in content browser, they are not helpful
Change 3482362 by Marc.Audy
Fix properties not exposed to blueprint warnings for input properties on function graphs.
#jira UE-45824
Change 3482406 by Ben.Zeigler
#jira UE-45883 Fix Switch On Gameplay Tag Container node, and add switch nodes to TagCheck map
Change 3482498 by Ben.Zeigler
Attempt to fix hot reload issues with Asset Manager. We need to reset and re-acquire the asset classes when rescanning, as they may be pointing to the replaced class
Change 3482517 by Lukasz.Furman
fixed smart navlink update functions removing important flag
#jira UE-45875
Change 3482538 by Marc.Audy
When comparing float, vector, and rotator values for whether the the default matches the autogenerated do not use the string compare because differences in use of decimal or number of 0s after decimal are then considered not the same float
#jira UE-45846
Change 3482773 by Marc.Audy
Don't show default value or pass by reference for exec pins
#jira UE-45868
Change 3482791 by Ben.Zeigler
#jira UE-45800 Correctly dirty game mode blueprint when changing player controller/etc classes from game mode customization
Fix it so MarkBlueprintAsStructurallyModified calls MarkBlueprintAsModified as several fixes were only in the second function
Change 3483131 by Zak.Middleton
#ue4 - InterpToMovementComponent:
- Fix velocity not zeroed when interpolation stops.
- Various fixes when calculating velocity and time when substepping is enabled.
- Improve accuracy of interpolation when looping and there is time remaining after the loop event is hit. Consume the remainder of the time after the event back in the loop (similar to handling a blocking impact).
#jira UE-45690
Change 3483146 by Phillip.Kavan
#jira UE-38358 - Propagate 'const' function flag from interface Blueprint to implementing Blueprints.
Change summary:
- Modified FBlueprintEditorUtils::MarkBlueprintAsStructurallyModified() to call SkeletalRecompileChildren() on dependent BPs when the target is an interface BP.
- Modified FBlueprintEditorUtils::MarkBlueprintAsStructurallyModified::FRefreshHelper::SkeletalRecompileChildren() to set child BP status to BS_Dirty after compiling.
- Modified ConformInterfaceByName() (FBlueprintEditorUtils) to use the interface's skeleton class for function iteration as well as to match the Function Entry node's 'const' setting to the interface UFunction's signature.
Change 3483340 by Ben.Zeigler
Fix issue querying asset registry after a hot reload, make sure pending kill objects are never considered to be Assets
Change 3483548 by Michael.Noland
Epic Friday: Playing around with some prototype traps
Change 3483700 by Phillip.Kavan
Fix CIS cook crash introduced by last submit.
#rnx
Change 3485217 by Ben.Zeigler
#jira UE-45519 Fix regression introduced in 4.16 where it would no longer cook all maps when no explicit maps were specified in ini or game callback. Moved the code that detects changes before culture/default map code and hardened it to deal with the case where some engine packages were already in the list before it entered the function
Change 3485367 by Dan.Oconnor
Avoid adding mappings to anim node when creating variables on the skeleton class and using the compilation manager
#jira UE-45756
Change 3485565 by Ben.Zeigler
#jira UE-45948 Fix compilation manager to properly reset variable default values after promoting a pin to local variable
Change 3485566 by Marc.Audy
Fix crashes caused by undo/redo of user defined struct changes
#jira UE-45775
#jira UE-45781
Change 3485805 by Michael.Noland
PR #3459: Fix for world origin shifting and SpringArmComponent location lag (Contributed by michail-nikolaev)
#jira UE-43747
Change 3485807 by Michael.Noland
PR #3485: Added additional textures field to paper 2d tileset class (Contributed by gryphonmyers)
#jira UE-44041
Change 3485811 by Michael.Noland
Framework: Fixed a bug in FStreamLevelAction::MakeSafeLevelName to avoid appending the PIE prefix multiple times (fixes functions like Unload Streaming Level when passed a full package name from an instanced streaming level)
Change 3485829 by Michael.Noland
Framework: Made GetWorldAssetPackageFName BlueprintCallable so instanced levels can be unloaded
Change 3485830 by Michael.Noland
PR #3568: add API declarations to ALevelStreamingVolume methods (Contributed by kayama-shift)
#jira UE-45002
Change 3486039 by Michael.Noland
PR #3495: UE-44014: Refreshing node error fixes (Contributed by projectgheist)
- Empty out the ErrorMsg when a node gets refreshed to prevent the same error messages from compounding
- Added support for split pins in UK2Node_Event::IsFunctionEntryCompatible
- Added a missing check for the delegate pin name on the entry node part of UK2Node_Event::IsFunctionEntryCompatible
#jira UE-44014
Change 3486093 by Michael.Noland
PR #3379: Added GAMEPLAYABILITIES_API to all Ability Tasks. (Contributed by ryanjon2040)
#jira UE-42903
Change 3486139 by Michael.Noland
Blueprints: Added new config options for execution wire thickness when not debugging (DefaultExecutionWireThickness) and data wire thicknesses (DefaultDataWireThickness) to the Graph Editor Settings page
#rn
Change 3486154 by Michael.Noland
Framework: Speculative fix for CIS error about FStructOnScope
#rnx
Change 3486180 by Dan.Oconnor
Better match old logic for determining when to skip data only compile
#jira UE-45830
Change 3487276 by Marc.Audy
Fix crash when using Setter with a locally scoped variable
#rnx
Change 3487278 by Marc.Audy
Ensure that pin change notifications occur on all pin breaks unless it is part of a node being garbage collected
Change 3487658 by Marc.Audy
Ensure that child actor template is created for subclasses
#jira UE-45985
Change 3487699 by Marc.Audy
Move non-templated elements out of FArchiveReplaceObjectRef and put them in FArchiveReplaceObjectRefBase
Change 3487813 by Dan.Oconnor
Asset demonstrating a crash
Change 3488101 by Marc.Audy
Fix crash with spawn/construct actor/object from class nodes when they no longer had any pins.
Correctly orphan pins when a node goes to 0 pins.
Change 3488337 by Marc.Audy
Editable pin base should not manually remove pin and let reconstruct node and rewire pins do their job
#jira UE-46020
Change 3488512 by Dan.Oconnor
ConstructObject nodes and SubInstances nodes use skeleton class when compilation manager can provide it
#jira UE-45830, UE-45965
#rnx
Change 3488631 by Michael.Noland
Framework: Fixed a crash when loading a blueprint with a parent class of ALevelBounds caused by trying to register the class default object with a non-existent level
#jira UE-45630
Change 3488665 by Michael.Noland
Blueprints: Improve the details panel customization for optional pin nodes like Struct Member Get/Set
- The category, raw name, and tooltip of the property are now included as part of the filter text as well
- The property tooltip is now displayed when hovering over the property name
- Code updated to use GET_MEMBER_NAME_CHECKED() where appropriate
Change 3489324 by Marc.Audy
Fix recursion causing stack crash
#jira UE-46038
#rnx
Change 3489326 by Marc.Audy
Fix cooking crash
#jira UE-46031
#rnx
Change 3489687 by mason.seay
Assets for testing orphan pins
Change 3489701 by Marc.Audy
Back out changelist 3487278 and 3489443 and make targetted changes for fixing up orphan pin cases where changing connections doesn't remove the pin.
#jira UE-46051
#jira UE-46052
#rnx
Change 3490352 by Dan.Oconnor
Fix for missing WidgetTree on Skeleton class - just look directly at the WidgetBlueprint
#jira UE-46062
Change 3490814 by Marc.Audy
Make callfunction/macro instances save all pins in orphan state more similar to previous behavior
#rnx
Change 3491022 by Dan.Oconnor
Properly clean up 'Key' property when we fail to create a value property
#jira UE-45279
Change 3491071 by Ben.Zeigler
#jira UE-45981 Fix rotation issues, vector/rotator pins with empty strings were not matching due to uninitialized memory.
Change 3491244 by Michael.Noland
Blueprints: Add compile time message back to the output log (will not auto-open the output log if there were no warnings/errors)
#jira UE-32948
Change 3491276 by Michael.Noland
Blueprints: Fixed some bugs where a newly added item would fail show up in the "My Blueprints" tree if there was a filter active (e.g., when promoting a variable)
- Centralized the logic for clearing the filter so it happens when we try and fail to select the item, rather than ad hoc in various other places
- Made it only clear the filter if necessary, rather than (almost) always clearing it when adding an item
#jira UE-43372
Change 3491562 by Marc.Audy
Put back pin removal in to editable pin base and instead modify the pin destroy implementation to take down child split pins with it
#jira UE-46020
#rnx
Change 3491658 by Marc.Audy
Unify RemoveUserDefinedPin implementations. Use version that has break to avoid size change assert
#rnx
Change 3491946 by Marc.Audy
ReconstructSinglePin no longer destroys OldPin (avoids oprhaned sub pins being destroyed before reparented)
RewireOldPinsToNewPins now destroys OldPins at the end (calling code no longer reponsible)
DestroyImpl now prunes out SubPins that had already been trashed
#rnx
Change 3492040 by Marc.Audy
Discard exec/then pins from a callfunction that has been converted to a pure node
#rnx
Change 3492200 by Zak.Middleton
#ue4 - Always reset the input array in AActor::GetComponents(), but do so without affecting allocated size.
Fixes possible regression from CL 3359561 that removed the Reset(...) entirely.
#jira UE-46012
Change 3492290 by Ben.Zeigler
#jira UE-46108 Fix StringLibrary Mid to never crash, Substring had already been fixed
Change 3492311 by Marc.Audy
Don't clear the pin type if what you're connecting to's pin type is wildcard
#rnx
Change 3492680 by Dan.Oconnor
Handle missing generated class when using compilation manager - tested by forcing compile of BP_ParentClassIsMissingType.uasset
Change 3492826 by Marc.Audy
Don't do pin connection list change notifications from DestroyPins while regenerating on load
#jira UE-46112
#rnx
Change 3492851 by Michael.Noland
Core: Fixed various crashes when using UObject::CallFunctionByNameWithArguments with non-trivial argument types by properly initializing the allocated parameters
Change 3492852 by Michael.Noland
Framework: Fixed a crash if ACharacter::FindComponentByClass was passed a nullptr class
Change 3492934 by Marc.Audy
Fix ensure and crash delete macro containing orphaned pin
#rnx
Change 3493079 by Dan.Oconnor
Fix for crash when opening ThirdPersonAnimBlueprint and ThirdPersonAnimBlueprint_Perf then clicking 'Compile' button in ThirdPersonAnimBlueprint editor. Make sure the convenience members in the derived compilers get set when we relink child classes (which requires making cdos, which requires PropagateValuesToCDO..)
#rnx
Change 3493346 by Phillip.Kavan
#jira UE-40560 - Fix a reported crash when pasting nodes between unrelated Blueprint graphs.
Change summary:
- Modified FEdGraphUtilities::PostProcessPastedNodes() to ensure() on a NULL pin entry; this will allow execution to continue while still alerting us since it is an unexpected result. Also added an 'else' case to then remove the NULL entry so that PostPasteNode() implementations don't all have to guard against NULL pin entries. When the node is reconstructed, the NULL entry will be replaced with the correct pin initialized to its default values.
- Modified UEdGraphPin::ImportTextItem() to add some additional logging to parse error cases when importing pin properties from source T3D text. Hopefully this gives us more information when this is encountered in the future.
Change 3493938 by Michael.Noland
Blueprints: Prevent issues with renaming event dispatchers to contain periods (this may be disallowed in the future, but they no longer become uneditable)
#jira UE-45780
Change 3493945 by Michael.Noland
Blueprints: Fixed GetDelegatePoperty typos
#rnx
Change 3493997 by Michael.Noland
Blueprints: Partially reverting changes from CL# 3319966 to reroute nodes, restoring their alignment but losing the symmetrical grab handle changes
#jira UE-45760
Change 3493998 by Dan.Oconnor
Fix rare crash in RefreshStandAloneDefaultsEditor when the blueprint editor is opened and a blueprint had errors in it
Note: I stumbled across this by running a unit test and then opening a blueprint in the BPE. CrashReporter indicates 3 crashes in the last 3 days
Change 3494025 by Michael.Noland
Engine: Deleted some dead code (DEBUGGING_VIEWPORT_SIZES)
#rnx
Change 3494026 by Michael.Noland
Blueprints: V0 of a BlueprintCallable/BlueprintPure function fuzzer
- Calls exposed methods with default parameters on classes it is able to spawn for now, which catches crashes due to null and /0 but not out of bounds issues or ones on classes it can't spawn due to classwithin, abstract, etc...
- Can be called using Test.ScriptFuzzing, won't be integrated into automated tests until it is more fully fleshed out and all known issues are addressed
#rnx
Change 3496382 by Ben.Zeigler
Fix ensure when launching editor with cook on the side and incremental cooking enabled. It now flushes the background asset gather when calling the sync load all assets if one is in progress
Change 3496688 by Marc.Audy
Avoid crashing in component instance data if (for some reason) the Actor's root component isn't properly set up
#jira UE-46073
Change 3496830 by Michael.Noland
Editor: Change FEditorCategoryUtils methods to take UStruct* instead of UClass*, as they are just reading metadata
#rnx
Change 3496840 by Michael.Noland
Framework: Remove the requirement for a local player in UCheatManager::CheatScript, so it can be be started from the server side (doesn't change the availability of the cheat manager, just allows things like the redundant "cheat cheatscript scriptname" to work)
Change 3497038 by Michael.Noland
Fortnite: Added UFortDeveloperSettings to allow developers to auto-run cheats in PIE (does not occur in -game or outside of WITH_EDITOR builds)
- You can specify a list of cheat commands to run when a pawn is possessed (also needs CL# 3496840 for cheatscripts)
- You can also specify a set of items to grant to your local inventory when it is created
Change 3497204 by Marc.Audy
Fix AbilitySystemComponent not being blueprint readable.
#rnx
Change 3497668 by Mieszko.Zielinski
Fixed a crash in BT editor when dealing with enum-typed Blackboard-keys pointing to enum values that have been deleted #UE4
#jira UE-43659
Change 3497677 by Mieszko.Zielinski
Added a community-suggested working solution to patching up dynamic navmesh after world offset #UE4
Also, fixed a crash related to navmesh rebuilding if generation was configured to lazily gather navigatble geometry
#jira UE-41293
Change 3497678 by Mieszko.Zielinski
Marked AbstractNavData class as transient #UE4
We never want to save it to levels
Change 3497679 by Mieszko.Zielinski
Made NavModifierVolume responsive to editor-time property changes #UE4
#jira UE-32831
Change 3497900 by Dan.Oconnor
Fix bad skel reference when using construct object from class, just limiting scope of 3491946. To reproduce the bug just nativize QA Game, including the TM-Gameplay level
#rnx
Change 3497904 by Dan.Oconnor
Use K2Node_Event::FindEventSignatureFunction in order when directly generating the skeleton generated class to get event params correct
#jira UE-46153
#rnx
Change 3497907 by Dan.Oconnor
Correctly set blueprint visibility flags on params for inherited functions when generating the skeleton class
#rnx
#jira UE-46186
Change 3498218 by mason.seay
Updates to pin testing BP's
Change 3498323 by Mieszko.Zielinski
Made UNavCollision instance assigned to StaticMesh not get re-created from scratch every single time any StaticMesh property changes #UE4
Recreation was resulting in some of the UNavCollision's properties not getting saved and the way we were recreating the nav collision could also interfere with undo buffers
#jira UE-44891
Change 3499007 by Marc.Audy
Allow systems to hook Pre and PostCompile to do custom behaviors
Change 3499013 by Mieszko.Zielinski
Made AbstractNavData class non-transient again #UE4
Implemented AbstractNavData instances' transientness in a different manner.
#jira UE-46194
Change 3499204 by Mieszko.Zielinski
Introduced CrowdManagerBase, an engine-level class that can be extended to implement custom crowd management #Orion
Extracted FRecastQueryFilter into a separate file, which will break some peoples' compilation.
#jira UE-43799
Change 3499321 by mason.seay
Updated bp for struct testing
Change 3499388 by Marc.Audy
Allow the compiler log to store off potential messages from earlier in the compile cycle (early validation), that can be committed later (for example once pruning is completed).
Change 3499390 by Marc.Audy
Generate the orphan pin error messages during EarlyValidation, but cache until the regular validation phase. This ensures all are generated, but only those that aren't pruned will be emitted.
#rnx
Change 3499420 by Michael.Noland
Engine: Introduced a new version of UEngine::GetWorldFromContextObject which takes an enum specifying the behavior on failures and updated all existing uses
The new version intentionally does not have a default value for ErrorMode, callers need to think about which variant of behavior they want:
- ReturnNull: Silently returns nullptr, the calling code is expected to handle this gracefully
- LogAndReturnNull: Raises a runtime error but still returns nullptr, the calling code is expected to handle this gracefully
- Assert: Asserts, the calling code is not expecting to handle a failure gracefully
- Deprecated UEngine::GetWorldFromContextObject(object, boolean) and changed the default behavior for the deprecated instances to do LogAndReturnNull rather than Assert, based on the real-world call pattern
- Introduced GetWorldFromContextObjectChecked(object) as a shorthand for passing in EGetWorldErrorMode::Assert
- Made UObject::GetWorldChecked() actually assert if it would return nullptr (under some cases the old function could silently return nullptr while reporting bSupported = true, so it neither ensured nor checked)
- Fixed a race condition in the 'is implemented' bookkeeping logic in GetWorld()/GetWorldChecked() by confining it to the game thread and added a check() to ImplementsGetWorld() to make it clear that it only works on the game thread
The typical recommended call pattern is to use something like:
if (UWorld* World = GEngine->GetWorldFromContextObject(WorldContextObject, EGetWorldErrorMode::LogAndReturnNull))
{
... Do something with World
}
Handling the failure case but requesting a log message (with BP call stack printed out) if it failed. This is now also the default behavior for old calls to UEngine::GetWorldFromContextObject(Object) (using the default value of bChecked=true), which is a behavior change but it matches how the function was being used in practice; the vast majority of call sites actually expected it to potentially fail and handled the nullptr case gracefully; very few places used the return value unguarded and wanted it to assert when passed a nullptr.
#jira UE-42458
Change 3499429 by Michael.Noland
Engine: Removed a bogus TODO (the problematic code had already been reworked)
#rnx
Change 3499470 by Michael.Noland
Core: Improved and corrected the comment for ensure()
- It doesn't crash when checking is disabled (and hasn't since UE3, maybe ever?)
- It now only fires once per ensure() by default, added a note about ensureAlways()
#rnx
Change 3499643 by Marc.Audy
Use TGuardValue instead of manually managing it
#rnx
Change 3499874 by Marc.Audy
Display <Unnamed> instead of nothing for Pins with blank display name in the compiler log
Change 3499875 by Marc.Audy
When changing function parameter types, don't orphan a pin on the function entry/exit nodes (but do at the call sites)
#jira UE-46224
Change 3499927 by Dan.Oconnor
UField::Serialize no longer serialize's its next ptr, UStruct::Serialize serializes all Children properties instead. This resolves a hard circular dependency between function libraries that EDL detected. It was resolved in an ad hoc way by the old linker
#jira UE-43458
Change 3499953 by Michael.Noland
Core: Created a variant of ensure that does runtime error logging without stopping in the debugger and some related functions that print a warning or error and may trigger a BP callstack (under the same rules as FFrame::KismetExecutionMessage)
- These are WIP and the API may change in the future, but are being used to fix various crashes found by fuzzing BP exposed functions
Change 3499957 by Michael.Noland
Animation: Added runtime errors for nullptr ControlRigs passed into BP methods
#rnx
Change 3499958 by Michael.Noland
Blueprints: Changed an ensure in UKismetNodeHelperLibrary::GetValidValue to a runtime error
#rnx
Change 3499959 by Michael.Noland
Engine: Downgrade various checks() to ensures() in the runtime asset cache functions exposed to Blueprints
Change 3499960 by Michael.Noland
AI: Changed UBTFunctionLibrary to not check/ensure if passed a null world context object
Change 3499968 by Michael.Noland
Editor: Fixed a couple of crashes in UEditorLevelUtils when passed nullptr arguments, and reformatted the entire file to fix widespread indentation issues
#rnx
Change 3499969 by Michael.Noland
Engine: Changed the verbosity of the failure log message of UEngine::GetWorldFromContextObject(..., LogAndReturnNull) from Warning to Error, so it always prints out a BP callstack
#rnx
Change 3499973 by Michael.Noland
Rendering: Fixed asserts in various UKismetRenderingLibrary methods if passed a nullptr for the WorldContextObject
- Also fixed flipped warnings in the failure cases for EndDrawCanvasToRenderTarget
Change 3499979 by Michael.Noland
Editor: Prevented a crash in UMaterialEditingLibrary::RecompileMaterial when passed a nullptr material
Change 3499984 by Michael.Noland
Physics: Prevented a crash in UTraceQueryTestResults::AssertEqual when passed in nullptr for Expected
Change 3499993 by Michael.Noland
Blueprints: Added validation when renaming variables, functions, components, multicast delegates, etc... to prevent names from containing some unacceptable characters
- This validation only kicks in when trying to rename an item, so bad names in existing content are 'grandfathered in'
- These bad names can cause bugs when working with content that contains these characters (e.g., names that contain a period cannot be found via FindObject<T>)
- Currently only . is banned, but eventually we may expand it to include all of INVALID_OBJECTNAME_CHARACTERS
Change 3500009 by Michael.Noland
Blueprints: Made the fuzzer skip classes declared in UnrealEd for now (some of the exposed methods change global state that can cause other tests to fail as the fuzzer isn't particularly sandboxed ATM)
#rnx
Change 3500011 by Michael.Noland
Android: Fixed a crash in UAndroidPermissionFunctionLibrary::AcquirePermissions when called with an empty array on non-Android platforms
Change 3500012 by Michael.Noland
Editor: Prevent a crash in UEditorTutorial::OpenAsset when passed a nullptr Asset
Change 3500014 by Michael.Noland
Engine: Changed FRuntimeAssetCacheFilesystemBackend::ClearCache(NAME_None) to not try to clear all cache directories (there is a separate no-args method for that)
Change 3500019 by Michael.Noland
Core: Fixed some more issues with CallFunctionByNameWithArguments and initializing / destroying parameters
- It was skipping the return value and incorrectly relying on the FirstPropertyToInit list which isn't set for by ref arguments
Change 3500020 by Michael.Noland
Automation: Prevent UFunctionalTestingManager::RunAllFunctionalTests and UFunctionalTestingManager* UFunctionalTestingManager::GetManager from crashing when a manager cannot be created (because we can't route to a world)
Change 3501062 by Marc.Audy
MakeArray AddInputPin is often used as part of node expansion, so need to move the transaction out of the function
Fix inability to undo/redo pin additions to sequence node
Add a K2Node_AddPinInterface to generalize the interface that K2Nodes implement to interact with SGraphNodeK2Sequence so it can be more generally used
#jira UE-46164
#jira UE-46270
Change 3501330 by Michael.Noland
AI: Fix an error on shutdown when the CDO of UAIPerceptionComponent tries to clean up (as it was never registered in the first place)
#jira UE-46271
Change 3501356 by Marc.Audy
Fix crash when multi-editing actor blueprints
#jira UE-46248
Change 3501408 by Michael.Noland
Core: Improve the print-out of FFrame::GetStackTrace() / FFrame::GetScriptCallstack() when there is no script stack (e.g., when FFrame::KismetExecutionMessage is called by native code with no BP above in the call stack)
Change 3501457 by Phillip.Kavan
#jira UE-46054 - Fix crash when launching a packaged build that includes a nativized Blueprint instance with a ChildActorComponent instanced via an AddComponent node.
Change summary:
- Removed UK2Node_AddComponent::PostDuplicate(). This eliminates the creation of redundant component templates that were being unnecessarily created during the Blueprint duplication that precedes the nativization pass.
- Modified SMyBlueprint::OnDuplicateAction() to call MakeNewComponentTemplate() in response to a graph duplication action within the same Blueprint context (replaces previous UK2Node_AddComponent::PostDuplicate() impl).
- Modified FEmitDefaultValueHelper::HandleSpecialTypes() to force AddComponent-based CAC-owned template objects in the emitted codegen to use the UDynamicClass as the Outer when instancing. This matches what we already do for SCS-based CAC-owned template objects - that logic was added in CL# 3270456, and this matches up with FBlueprintNativeCodeGenModule::FindReplacedNameAndOuter(), where we specifically handle CAC-owned template objects.
Change 3502741 by Phillip.Kavan
#jira UE-45782 - Fix undo for index pin type changes.
Change summary:
- Modified SGraphPinIndex::OnTypeChanged() to call Modify() on the pin that was changed.
Change 3502939 by Michael.Noland
Back out changelist 3499927
Change 3503087 by Marc.Audy
Re-fixed ocean content as editor had also changed so had to take theirs and redo
#rnx
Change 3503266 by Ben.Zeigler
#jira UE-46335 Fix regression added in 4.16 where AssetRegistry GetAncesorClassNames/GetDerivedClassNames were not working properly in cooked builds for classes not in memory
Change 3503325 by mason.seay
updated Anim BP to prep for pin testing
Change 3503445 by Marc.Audy
Fix crash caused by OldPins being destroyed before rewiring
#rnx
Change 3505024 by Marc.Audy
Fix NodeEffectsPanel blueprint as it was using pins that no longer existed
#rnx
Change 3505254 by Marc.Audy
Don't include orphan pins when gather source property names
If a property doesn't exist for a source property name just skip the property rather than crashing
#jira UE-46345
#rnx
Change 3506125 by Ben.Zeigler
#jira UE-46311 Fix issues when blueprints are reloaded in place, it needs to remove them from root properly and sanitize the old class. It's still not clear why they are being reloaded in place
Change 3506334 by Dan.Oconnor
Move UAnimGraphNode_Base::PreloadRequiredAssets up to K2Node, make sure nodes get a chance to preload data before compilation manager compiles newly loaded blueprints
#jira UE-46411
Change 3506439 by Dan.Oconnor
Return to pre 3488512 behavior for construct object nodes. This means that we can still get warnings on load when users compile after saving a blueprint, but the current behavior loses default values because it's lookng at the skeleton cdo
#jira UE-46308
Change 3506468 by Dan.Oconnor
Return to pre 3488512 behavior, as it causes bad default values
#jira UE-46414
#rnx
Change 3506733 by Marc.Audy
Use the most up to date class to determine whether a property still exists when adding pins during reconstruction
#jira UE-45965
#author Dan.OConnor
#rnx
Change 3507531 by Ben.Zeigler
#jira UE-46449 Better fix to flush the asset registry queue when the editor requests a synchronous scan at startup. Sometimes it can take a few frames because of file handle delays
Change 3507924 by mason.seay
Sanity save of TM-Gameplay and sublevels to maybe resolve level streaming issues
Change 3507962 by Marc.Audy
Remake changes from CL# 3150796 wiped out by WEX-Staging merge to Main in CL# 3479958
#rnx
Change 3509131 by Dan.Oconnor
Compilation manager compile on load flow never called FindExportsInMemoryFirst, which is critical to prevent reloading of UBlueprintGeneratedClasses when Rename clears the export table
#jira UE-46311
Change 3509345 by Marc.Audy
CVar to disable orphan pins if necessary
#rnx
Change 3509959 by Marc.Audy
Protect against crashing due to large values in Timespan From functions
#jira UE-43840
Change 3510040 by Marc.Audy
Remove all the old unneeded ShooterGame test maps
#rnx
[CL 3510073 by Marc Audy in Main branch]
2017-06-26 15:07:18 -04:00
for ( UEdGraph * MacroGraph : Blueprint - > MacroGraphs )
2014-07-09 12:17:42 -04:00
{
Copying //UE4/Dev-Framework to //UE4/Dev-Main (Source: //UE4/Dev-Framework @ 3510040)
#lockdown Nick.Penwarden
=====================================
MAJOR FEATURES + CHANGES
=====================================
Change 3459524 by Marc.Audy
Get/Set of properties that were previously BPRW/BPRO should error when used
#jira UE-20993
Change 3460004 by Phillip.Kavan
#jira UE-45171 - Fix C++ compilation failures during packaging caused by nativizing a Blueprint that overrides a native function with a 'TSubclassOf' parameter or return value.
Change summary:
- Modified FKismetCompilerContext::CreateParametersForFunction() to pass the 'CPF_UObjectWrapper' flag through to new function parameter properties during Blueprint compilation.
Change 3461210 by Phillip.Kavan
#jira UE-44505 - Fix occasional Blueprint editor crashes that could occur while rebuilding the context menu from the action registry.
Change summary:
- Modified FBlueprintActionDatabase::FActionRegistry to use an FObjectKey as the key type. This allows us to test entries for UObject validity before rebuilding context menu items based on the action database.
- Changed FBlueprintActionInfo::CachedOwnerClass to be a TWeakObjectPtr rather than a raw UClass* since it's based on the ActionOwner, which could potentially become invalid after the OwnerClass has been cached.
- Modified FBlueprintActionDatabase::RefreshAssetActions() to exclude World assets if the WorldType is not EWorldType::Editor. This eliminates an issue with unreferenced "inactive" GC'd world objects being left in the BP action registry after cooking, at which point the keys could become invalid.
- Added FBlueprintActionDatabase::DeferredRemoveEntry() to allow for scheduling removal of entries from outside of the database if they are known to be invalid.
- Modified FBlueprintActionDatabase::Tick() to handle deferred entry removals.
- Modified FBlueprintActionMenuBuilder::RebuildActionList() to both test actions for validity before building menu items and schedule removal of invalid actions on the next tick.
Notes:
- Alternatively we could just include UObject keys in the database's AddReferencedObject impl, but that would then prevent objects from ever being GC'd if they are not explicitly removed. For most entries the action database takes the approach of explicitly removing entries via delegate when the UObject is destroyed, so I chose to use a TWeakObjectPtr instead so that any entries that may not be getting explicitly removed via delegate will now simply become invalidated if the UObject key is GC'd due to not being referenced. I also set it up to clean and remove any entries (along with any associated node spawners) that are found to be invalid the next time we open the BP editor.
Change 3461373 by Lukasz.Furman
fixed async navmesh rebuilds not kicking in for requests from navdata.bForceRebuildOnLoad
#jira UE-44231
Change 3461409 by Lukasz.Furman
fixed reenabling automatic navmesh generation in Editor Preferences
#ue4
Change 3461550 by Ben.Zeigler
#jira UE-45328 Fix local variable support for Redirectors and other save-time validation. We need to run the local variables to UProperty and back at save time
Add new flag PPF_SerializedAsImportText which is used for BP pins/default values and indicates that something has been serialized as import text and so needs to handle string asset redirectors
Change 3462625 by Zak.Middleton
#ue4 - Fix InterpToMovementComponent not setting velocity on the object it moves. Fix movement rate when substepping enabled (other related fixes to come).
github PR #3620
Change 3462796 by Dan.Oconnor
Fix for spamming BroadcastBlueprintReinstanced and for creating CDO at wrong time when compiling FrontEnd.uasset in OrionGame
#jira UE-45434
Change 3462995 by Ben.Zeigler
#jira UE-16941 Fix it so Load Asset node works with a literal value as well as a connected pin
Change 3463099 by Ben.Zeigler
#jira UE-45471 Allow abstract base classes for primary assets
Change 3464809 by Marc.Audy
Expose FVector2D / FVector2D to blueprints
#jira UE-45427
Change 3467254 by Mieszko.Zielinski
Added an AI helper BP function that supplies caller with a copy of navigation path given controller is currently following #UE4
Change 3467644 by Dan.Oconnor
Fix for cook issues in ocean when using compilation manager, one issue caused by bad dependencies list, one issue caused by lack of subobject mapping in archetype reinstancing.
#jira UE-45443, UE-45444
Change 3468176 by Dan.Oconnor
Fix dependent blueprints being marked dirty when a blueprint is compiled
Change 3468353 by Michael.Noland
UnrealHeaderTool: Improved the warning generated when missing Category= on a function or property declared in an engine module, and centralized the logic that determines if the module is engine or game
Change 3470532 by Dan.Oconnor
Re-enable compilation manager
Change 3470572 by Dan.Oconnor
Fix for pin paramters resetting when an archetype was reinstanced
#jira UE-45619
#rnx
Change 3471949 by Mason.Seay
Adding Primary Assets for testing
Change 3472074 by Ben.Zeigler
#jira UE-45140 Convert iterative cooking to use the Asset Registry as it's only mode, remove old hash and timestamp versions. This allows deleting the entire PackageDependencyInfo module
Change the asset registry iteration to not compute a hash at all, and instead store the script package guids in it's cache.
Expose bIgnoreIniSettingsOutOfDateForIteration and bIgnoreScriptPackagesOutOfDateForIteration in cooker settings, affects rather to listen to ini/script changes when doing iterative cooking
Change 3472079 by Ben.Zeigler
With new incremental cook options, change Fortnite to never care about ini settings, but do care about code changes. This can be changed but from previous discussions we wanted to be more safe than fast here
Change 3473429 by Lukasz.Furman
changed path following update tick to allow working on "invalid, update pending" paths, solves AI getting stuck when navigation is rebuild very frequently (e.g. every tick from moving mesh)
#jira UE-41884
Change 3473476 by Lukasz.Furman
changed crowd simulation path update tick to allow working on "invalid, update pending" paths, solves AI getting stuck when navigation is rebuild very frequently (e.g. every tick from moving mesh)
#jira UE-41884
Change 3473663 by Ben.Zeigler
Fix it so base k2node registers framework version, this is needed for the assetptr fixup I previously added
Change 3473679 by Mason.Seay
Slight cleanup of test map and added ability to teleport across level for easy navigation
Change 3473712 by Marc.Audy
Do default value validation against the actual value of the default entry of an enum rather than the serialized empty autogenerated default value
Change 3474055 by Marc.Audy
When nodes are reconstructed any pins that were previously linked or set to non-default values that have been removed will no longer simply vanish, but instead will remain in an Orphaned state until dealt with.
#jira UE-41828
Change 3474119 by mason.seay
Tweaked Force Feedback test
Change 3474156 by Marc.Audy
Actually enable orphan pin retention
Change 3474382 by Ben.Zeigler
Class.h Header and comment cleanup. Started this because IsChildOf did not have a comment and it's usage is a bit confusing
Change 3474386 by Ben.Zeigler
Close popup window when adding asset class to audit window
Change 3474491 by Ben.Zeigler
Remove ability for Worlds to not be saved as assets, this has been the default since 2014.
Change 3475363 by Marc.Audy
Alt-click now works with orphaned pins
#jira UE-45699
Change 3475523 by Marc.Audy
Fixup Fortnite and Paragon content for orphaned pin errors and warnings
Change 3475623 by Phillip.Kavan
#jira UE-45477 - Fix an EDL assertion on load in a nativized build with one or more Actor subobjects instanced via the EditInlineNew UI in the BP class defaults property editor.
Change summary:
- Modified FEmitDefaultValueHelper::OuterGenerate() to emit code to construct/initialize instanced subobject values that do not have the RF_DefaultSubObject flag set, and also to recursively handle nested subobjects for those values.
- Modified FEmitDefaultValueHelper::HandleInstancedSubobject() to alternatively emit a 'NewObject' assignment statement rather than a 'CreateDefaultSubobject' statement if only RF_ArchetypeObject is set on the source object value.
Change 3476008 by Dan.Oconnor
Fix for failing to preload our super class's subobjects. Effectively moving UBlueprint::ForceLoad calls earlier in loading process. This only results in data resetting to your parent's parent's default value from your parent's default value.
#jira UE-18765
Change 3476115 by Dan.Oconnor
Fix missing category information for inherited functions when using compilation manager
#jira UE-45660
#rnx
Change 3476577 by Lukasz.Furman
added early outs from navmesh layer generation when there's no walkable cells or contours to avoid allocating 0 bytes by next generation steps (behavior differs between platforms)
#ue4
Change 3476587 by Phillip.Kavan
#jira UE-45517 - Fix a regression in which dragging UMG widgets around in the designer view results in redundantly-compounded BP class properties and context menu actions.
Change summary:
- Modified SDesignerView::ClearDropPreviews() to move the widget that was removed from the tree into the transient package. This ensures that FWidgetBlueprintCompiler::CreateClassVariablesFromBlueprint() won't pick them up.
- Modified SDesignerView::ProcessDropAndAddWidget() to also consider any widgets not added to the 'DropPreviews' array as being transient (i.e. also move them into the transient package since they were not added to the tree).
Notes:
- The regression was introduced by the changes in CL# 3410168, and was merged to Main at CL# 3431398.
#rnx
Change 3476723 by Dan.Oconnor
Match old behavior wrt updating implemented interfaces in blueprints - this logic from FKismetEditorUtilities::CompileBlueprint was missing in compilation manager
#jira UE-45468
#rnx
Change 3476948 by Michael.Noland
Framework: Changed AActor::FindComponentByClass (and AActor::GetComponentByClass by extension) to return nullptr when passed a nullptr class, rather than crashing
Change 3476970 by Ben.Zeigler
Fix bug I introduced in 4.16 where assigning assets to multiple chunks did not work properly
Change 3477536 by Marc.Audy
Don't display default value box on linked orphaned input pins
Change 3477835 by Marc.Audy
Fix pins orphaned by deletion of an entry in a user-defined enum disappearing instead of remaining connected
#jira UE-45754
Change 3478027 by Marc.Audy
Minor performance optimization
#rnx
Change 3478198 by Phillip.Kavan
#jira UE-42431 - Remove an unnecessary ensure() when pasting an event node.
Change summary:
- Modified UEdGraphSchema_K2::CreateSubstituteNode() to no longer ensure() that we have a valid PreExistingNode; it's only used for logging when a substitute node is created in response to a conflict with an existing node.
Change 3478485 by Marc.Audy
Eliminate extraneous error messages about orphaned pins on get/set nodes
#jira UE-45749
#rnx
Change 3478756 by Marc.Audy
Fix fallout from changes to DoesDefaultValueMatchAutogenerated for user defined enums
#jira UE-45721
#rnx
Change 3478926 by Marc.Audy
Non-blueprint type structs can no longer be made/broken
Non-blueprint visible properties in structs will no longer have pins created for them
#jira UE-43122
Change 3478988 by Marc.Audy
DeltaTime for a tick function with a tick interval is now correct after disabling and then reenabling the tick function.
#jira UE-45524
Change 3479818 by Marc.Audy
Allow ctrl-drag off of orphan pins
#jira UE-45803
Change 3480214 by Marc.Audy
Modifications to user defined enumerations are now transacted
#jira UE-43866
Change 3480579 by Marc.Audy
Maintain all pin properties through transactions.
#rn Reference pins that are removed and then restored via undo now correctly have the diamond icon instead of the standard circle.
Change 3481043 by Marc.Audy
Make/Break of structs does not depend on having blueprint exposed properties.
Splitting of a struct pin still requires blueprint exposed properties.
#jira UE-45840
#jira UE-45831
Change 3481271 by Ben.Zeigler
Fix the AssetManager chunking code to use ChunkDependencyInfo instead of a hardcoded check for chunk 0
Clean up ChunkDependencyInfo and make it properly public
Move ShouldSetManager to be WITH_EDITOR
Ported from WEX branch
#RB peter.sauerbrei
Change 3481373 by Dan.Oconnor
Reduce reliance on expensive FindDelegateSignature. 3275922 made warnings about a ambiguous search more likely as it preserved names of members on the REINST_ classes
#jira UE-45704
Change 3481380 by Ben.Zeigler
Change it so Struct and Object AssetRegistrySearchable properties do not show up in content browser, they are not helpful
Change 3482362 by Marc.Audy
Fix properties not exposed to blueprint warnings for input properties on function graphs.
#jira UE-45824
Change 3482406 by Ben.Zeigler
#jira UE-45883 Fix Switch On Gameplay Tag Container node, and add switch nodes to TagCheck map
Change 3482498 by Ben.Zeigler
Attempt to fix hot reload issues with Asset Manager. We need to reset and re-acquire the asset classes when rescanning, as they may be pointing to the replaced class
Change 3482517 by Lukasz.Furman
fixed smart navlink update functions removing important flag
#jira UE-45875
Change 3482538 by Marc.Audy
When comparing float, vector, and rotator values for whether the the default matches the autogenerated do not use the string compare because differences in use of decimal or number of 0s after decimal are then considered not the same float
#jira UE-45846
Change 3482773 by Marc.Audy
Don't show default value or pass by reference for exec pins
#jira UE-45868
Change 3482791 by Ben.Zeigler
#jira UE-45800 Correctly dirty game mode blueprint when changing player controller/etc classes from game mode customization
Fix it so MarkBlueprintAsStructurallyModified calls MarkBlueprintAsModified as several fixes were only in the second function
Change 3483131 by Zak.Middleton
#ue4 - InterpToMovementComponent:
- Fix velocity not zeroed when interpolation stops.
- Various fixes when calculating velocity and time when substepping is enabled.
- Improve accuracy of interpolation when looping and there is time remaining after the loop event is hit. Consume the remainder of the time after the event back in the loop (similar to handling a blocking impact).
#jira UE-45690
Change 3483146 by Phillip.Kavan
#jira UE-38358 - Propagate 'const' function flag from interface Blueprint to implementing Blueprints.
Change summary:
- Modified FBlueprintEditorUtils::MarkBlueprintAsStructurallyModified() to call SkeletalRecompileChildren() on dependent BPs when the target is an interface BP.
- Modified FBlueprintEditorUtils::MarkBlueprintAsStructurallyModified::FRefreshHelper::SkeletalRecompileChildren() to set child BP status to BS_Dirty after compiling.
- Modified ConformInterfaceByName() (FBlueprintEditorUtils) to use the interface's skeleton class for function iteration as well as to match the Function Entry node's 'const' setting to the interface UFunction's signature.
Change 3483340 by Ben.Zeigler
Fix issue querying asset registry after a hot reload, make sure pending kill objects are never considered to be Assets
Change 3483548 by Michael.Noland
Epic Friday: Playing around with some prototype traps
Change 3483700 by Phillip.Kavan
Fix CIS cook crash introduced by last submit.
#rnx
Change 3485217 by Ben.Zeigler
#jira UE-45519 Fix regression introduced in 4.16 where it would no longer cook all maps when no explicit maps were specified in ini or game callback. Moved the code that detects changes before culture/default map code and hardened it to deal with the case where some engine packages were already in the list before it entered the function
Change 3485367 by Dan.Oconnor
Avoid adding mappings to anim node when creating variables on the skeleton class and using the compilation manager
#jira UE-45756
Change 3485565 by Ben.Zeigler
#jira UE-45948 Fix compilation manager to properly reset variable default values after promoting a pin to local variable
Change 3485566 by Marc.Audy
Fix crashes caused by undo/redo of user defined struct changes
#jira UE-45775
#jira UE-45781
Change 3485805 by Michael.Noland
PR #3459: Fix for world origin shifting and SpringArmComponent location lag (Contributed by michail-nikolaev)
#jira UE-43747
Change 3485807 by Michael.Noland
PR #3485: Added additional textures field to paper 2d tileset class (Contributed by gryphonmyers)
#jira UE-44041
Change 3485811 by Michael.Noland
Framework: Fixed a bug in FStreamLevelAction::MakeSafeLevelName to avoid appending the PIE prefix multiple times (fixes functions like Unload Streaming Level when passed a full package name from an instanced streaming level)
Change 3485829 by Michael.Noland
Framework: Made GetWorldAssetPackageFName BlueprintCallable so instanced levels can be unloaded
Change 3485830 by Michael.Noland
PR #3568: add API declarations to ALevelStreamingVolume methods (Contributed by kayama-shift)
#jira UE-45002
Change 3486039 by Michael.Noland
PR #3495: UE-44014: Refreshing node error fixes (Contributed by projectgheist)
- Empty out the ErrorMsg when a node gets refreshed to prevent the same error messages from compounding
- Added support for split pins in UK2Node_Event::IsFunctionEntryCompatible
- Added a missing check for the delegate pin name on the entry node part of UK2Node_Event::IsFunctionEntryCompatible
#jira UE-44014
Change 3486093 by Michael.Noland
PR #3379: Added GAMEPLAYABILITIES_API to all Ability Tasks. (Contributed by ryanjon2040)
#jira UE-42903
Change 3486139 by Michael.Noland
Blueprints: Added new config options for execution wire thickness when not debugging (DefaultExecutionWireThickness) and data wire thicknesses (DefaultDataWireThickness) to the Graph Editor Settings page
#rn
Change 3486154 by Michael.Noland
Framework: Speculative fix for CIS error about FStructOnScope
#rnx
Change 3486180 by Dan.Oconnor
Better match old logic for determining when to skip data only compile
#jira UE-45830
Change 3487276 by Marc.Audy
Fix crash when using Setter with a locally scoped variable
#rnx
Change 3487278 by Marc.Audy
Ensure that pin change notifications occur on all pin breaks unless it is part of a node being garbage collected
Change 3487658 by Marc.Audy
Ensure that child actor template is created for subclasses
#jira UE-45985
Change 3487699 by Marc.Audy
Move non-templated elements out of FArchiveReplaceObjectRef and put them in FArchiveReplaceObjectRefBase
Change 3487813 by Dan.Oconnor
Asset demonstrating a crash
Change 3488101 by Marc.Audy
Fix crash with spawn/construct actor/object from class nodes when they no longer had any pins.
Correctly orphan pins when a node goes to 0 pins.
Change 3488337 by Marc.Audy
Editable pin base should not manually remove pin and let reconstruct node and rewire pins do their job
#jira UE-46020
Change 3488512 by Dan.Oconnor
ConstructObject nodes and SubInstances nodes use skeleton class when compilation manager can provide it
#jira UE-45830, UE-45965
#rnx
Change 3488631 by Michael.Noland
Framework: Fixed a crash when loading a blueprint with a parent class of ALevelBounds caused by trying to register the class default object with a non-existent level
#jira UE-45630
Change 3488665 by Michael.Noland
Blueprints: Improve the details panel customization for optional pin nodes like Struct Member Get/Set
- The category, raw name, and tooltip of the property are now included as part of the filter text as well
- The property tooltip is now displayed when hovering over the property name
- Code updated to use GET_MEMBER_NAME_CHECKED() where appropriate
Change 3489324 by Marc.Audy
Fix recursion causing stack crash
#jira UE-46038
#rnx
Change 3489326 by Marc.Audy
Fix cooking crash
#jira UE-46031
#rnx
Change 3489687 by mason.seay
Assets for testing orphan pins
Change 3489701 by Marc.Audy
Back out changelist 3487278 and 3489443 and make targetted changes for fixing up orphan pin cases where changing connections doesn't remove the pin.
#jira UE-46051
#jira UE-46052
#rnx
Change 3490352 by Dan.Oconnor
Fix for missing WidgetTree on Skeleton class - just look directly at the WidgetBlueprint
#jira UE-46062
Change 3490814 by Marc.Audy
Make callfunction/macro instances save all pins in orphan state more similar to previous behavior
#rnx
Change 3491022 by Dan.Oconnor
Properly clean up 'Key' property when we fail to create a value property
#jira UE-45279
Change 3491071 by Ben.Zeigler
#jira UE-45981 Fix rotation issues, vector/rotator pins with empty strings were not matching due to uninitialized memory.
Change 3491244 by Michael.Noland
Blueprints: Add compile time message back to the output log (will not auto-open the output log if there were no warnings/errors)
#jira UE-32948
Change 3491276 by Michael.Noland
Blueprints: Fixed some bugs where a newly added item would fail show up in the "My Blueprints" tree if there was a filter active (e.g., when promoting a variable)
- Centralized the logic for clearing the filter so it happens when we try and fail to select the item, rather than ad hoc in various other places
- Made it only clear the filter if necessary, rather than (almost) always clearing it when adding an item
#jira UE-43372
Change 3491562 by Marc.Audy
Put back pin removal in to editable pin base and instead modify the pin destroy implementation to take down child split pins with it
#jira UE-46020
#rnx
Change 3491658 by Marc.Audy
Unify RemoveUserDefinedPin implementations. Use version that has break to avoid size change assert
#rnx
Change 3491946 by Marc.Audy
ReconstructSinglePin no longer destroys OldPin (avoids oprhaned sub pins being destroyed before reparented)
RewireOldPinsToNewPins now destroys OldPins at the end (calling code no longer reponsible)
DestroyImpl now prunes out SubPins that had already been trashed
#rnx
Change 3492040 by Marc.Audy
Discard exec/then pins from a callfunction that has been converted to a pure node
#rnx
Change 3492200 by Zak.Middleton
#ue4 - Always reset the input array in AActor::GetComponents(), but do so without affecting allocated size.
Fixes possible regression from CL 3359561 that removed the Reset(...) entirely.
#jira UE-46012
Change 3492290 by Ben.Zeigler
#jira UE-46108 Fix StringLibrary Mid to never crash, Substring had already been fixed
Change 3492311 by Marc.Audy
Don't clear the pin type if what you're connecting to's pin type is wildcard
#rnx
Change 3492680 by Dan.Oconnor
Handle missing generated class when using compilation manager - tested by forcing compile of BP_ParentClassIsMissingType.uasset
Change 3492826 by Marc.Audy
Don't do pin connection list change notifications from DestroyPins while regenerating on load
#jira UE-46112
#rnx
Change 3492851 by Michael.Noland
Core: Fixed various crashes when using UObject::CallFunctionByNameWithArguments with non-trivial argument types by properly initializing the allocated parameters
Change 3492852 by Michael.Noland
Framework: Fixed a crash if ACharacter::FindComponentByClass was passed a nullptr class
Change 3492934 by Marc.Audy
Fix ensure and crash delete macro containing orphaned pin
#rnx
Change 3493079 by Dan.Oconnor
Fix for crash when opening ThirdPersonAnimBlueprint and ThirdPersonAnimBlueprint_Perf then clicking 'Compile' button in ThirdPersonAnimBlueprint editor. Make sure the convenience members in the derived compilers get set when we relink child classes (which requires making cdos, which requires PropagateValuesToCDO..)
#rnx
Change 3493346 by Phillip.Kavan
#jira UE-40560 - Fix a reported crash when pasting nodes between unrelated Blueprint graphs.
Change summary:
- Modified FEdGraphUtilities::PostProcessPastedNodes() to ensure() on a NULL pin entry; this will allow execution to continue while still alerting us since it is an unexpected result. Also added an 'else' case to then remove the NULL entry so that PostPasteNode() implementations don't all have to guard against NULL pin entries. When the node is reconstructed, the NULL entry will be replaced with the correct pin initialized to its default values.
- Modified UEdGraphPin::ImportTextItem() to add some additional logging to parse error cases when importing pin properties from source T3D text. Hopefully this gives us more information when this is encountered in the future.
Change 3493938 by Michael.Noland
Blueprints: Prevent issues with renaming event dispatchers to contain periods (this may be disallowed in the future, but they no longer become uneditable)
#jira UE-45780
Change 3493945 by Michael.Noland
Blueprints: Fixed GetDelegatePoperty typos
#rnx
Change 3493997 by Michael.Noland
Blueprints: Partially reverting changes from CL# 3319966 to reroute nodes, restoring their alignment but losing the symmetrical grab handle changes
#jira UE-45760
Change 3493998 by Dan.Oconnor
Fix rare crash in RefreshStandAloneDefaultsEditor when the blueprint editor is opened and a blueprint had errors in it
Note: I stumbled across this by running a unit test and then opening a blueprint in the BPE. CrashReporter indicates 3 crashes in the last 3 days
Change 3494025 by Michael.Noland
Engine: Deleted some dead code (DEBUGGING_VIEWPORT_SIZES)
#rnx
Change 3494026 by Michael.Noland
Blueprints: V0 of a BlueprintCallable/BlueprintPure function fuzzer
- Calls exposed methods with default parameters on classes it is able to spawn for now, which catches crashes due to null and /0 but not out of bounds issues or ones on classes it can't spawn due to classwithin, abstract, etc...
- Can be called using Test.ScriptFuzzing, won't be integrated into automated tests until it is more fully fleshed out and all known issues are addressed
#rnx
Change 3496382 by Ben.Zeigler
Fix ensure when launching editor with cook on the side and incremental cooking enabled. It now flushes the background asset gather when calling the sync load all assets if one is in progress
Change 3496688 by Marc.Audy
Avoid crashing in component instance data if (for some reason) the Actor's root component isn't properly set up
#jira UE-46073
Change 3496830 by Michael.Noland
Editor: Change FEditorCategoryUtils methods to take UStruct* instead of UClass*, as they are just reading metadata
#rnx
Change 3496840 by Michael.Noland
Framework: Remove the requirement for a local player in UCheatManager::CheatScript, so it can be be started from the server side (doesn't change the availability of the cheat manager, just allows things like the redundant "cheat cheatscript scriptname" to work)
Change 3497038 by Michael.Noland
Fortnite: Added UFortDeveloperSettings to allow developers to auto-run cheats in PIE (does not occur in -game or outside of WITH_EDITOR builds)
- You can specify a list of cheat commands to run when a pawn is possessed (also needs CL# 3496840 for cheatscripts)
- You can also specify a set of items to grant to your local inventory when it is created
Change 3497204 by Marc.Audy
Fix AbilitySystemComponent not being blueprint readable.
#rnx
Change 3497668 by Mieszko.Zielinski
Fixed a crash in BT editor when dealing with enum-typed Blackboard-keys pointing to enum values that have been deleted #UE4
#jira UE-43659
Change 3497677 by Mieszko.Zielinski
Added a community-suggested working solution to patching up dynamic navmesh after world offset #UE4
Also, fixed a crash related to navmesh rebuilding if generation was configured to lazily gather navigatble geometry
#jira UE-41293
Change 3497678 by Mieszko.Zielinski
Marked AbstractNavData class as transient #UE4
We never want to save it to levels
Change 3497679 by Mieszko.Zielinski
Made NavModifierVolume responsive to editor-time property changes #UE4
#jira UE-32831
Change 3497900 by Dan.Oconnor
Fix bad skel reference when using construct object from class, just limiting scope of 3491946. To reproduce the bug just nativize QA Game, including the TM-Gameplay level
#rnx
Change 3497904 by Dan.Oconnor
Use K2Node_Event::FindEventSignatureFunction in order when directly generating the skeleton generated class to get event params correct
#jira UE-46153
#rnx
Change 3497907 by Dan.Oconnor
Correctly set blueprint visibility flags on params for inherited functions when generating the skeleton class
#rnx
#jira UE-46186
Change 3498218 by mason.seay
Updates to pin testing BP's
Change 3498323 by Mieszko.Zielinski
Made UNavCollision instance assigned to StaticMesh not get re-created from scratch every single time any StaticMesh property changes #UE4
Recreation was resulting in some of the UNavCollision's properties not getting saved and the way we were recreating the nav collision could also interfere with undo buffers
#jira UE-44891
Change 3499007 by Marc.Audy
Allow systems to hook Pre and PostCompile to do custom behaviors
Change 3499013 by Mieszko.Zielinski
Made AbstractNavData class non-transient again #UE4
Implemented AbstractNavData instances' transientness in a different manner.
#jira UE-46194
Change 3499204 by Mieszko.Zielinski
Introduced CrowdManagerBase, an engine-level class that can be extended to implement custom crowd management #Orion
Extracted FRecastQueryFilter into a separate file, which will break some peoples' compilation.
#jira UE-43799
Change 3499321 by mason.seay
Updated bp for struct testing
Change 3499388 by Marc.Audy
Allow the compiler log to store off potential messages from earlier in the compile cycle (early validation), that can be committed later (for example once pruning is completed).
Change 3499390 by Marc.Audy
Generate the orphan pin error messages during EarlyValidation, but cache until the regular validation phase. This ensures all are generated, but only those that aren't pruned will be emitted.
#rnx
Change 3499420 by Michael.Noland
Engine: Introduced a new version of UEngine::GetWorldFromContextObject which takes an enum specifying the behavior on failures and updated all existing uses
The new version intentionally does not have a default value for ErrorMode, callers need to think about which variant of behavior they want:
- ReturnNull: Silently returns nullptr, the calling code is expected to handle this gracefully
- LogAndReturnNull: Raises a runtime error but still returns nullptr, the calling code is expected to handle this gracefully
- Assert: Asserts, the calling code is not expecting to handle a failure gracefully
- Deprecated UEngine::GetWorldFromContextObject(object, boolean) and changed the default behavior for the deprecated instances to do LogAndReturnNull rather than Assert, based on the real-world call pattern
- Introduced GetWorldFromContextObjectChecked(object) as a shorthand for passing in EGetWorldErrorMode::Assert
- Made UObject::GetWorldChecked() actually assert if it would return nullptr (under some cases the old function could silently return nullptr while reporting bSupported = true, so it neither ensured nor checked)
- Fixed a race condition in the 'is implemented' bookkeeping logic in GetWorld()/GetWorldChecked() by confining it to the game thread and added a check() to ImplementsGetWorld() to make it clear that it only works on the game thread
The typical recommended call pattern is to use something like:
if (UWorld* World = GEngine->GetWorldFromContextObject(WorldContextObject, EGetWorldErrorMode::LogAndReturnNull))
{
... Do something with World
}
Handling the failure case but requesting a log message (with BP call stack printed out) if it failed. This is now also the default behavior for old calls to UEngine::GetWorldFromContextObject(Object) (using the default value of bChecked=true), which is a behavior change but it matches how the function was being used in practice; the vast majority of call sites actually expected it to potentially fail and handled the nullptr case gracefully; very few places used the return value unguarded and wanted it to assert when passed a nullptr.
#jira UE-42458
Change 3499429 by Michael.Noland
Engine: Removed a bogus TODO (the problematic code had already been reworked)
#rnx
Change 3499470 by Michael.Noland
Core: Improved and corrected the comment for ensure()
- It doesn't crash when checking is disabled (and hasn't since UE3, maybe ever?)
- It now only fires once per ensure() by default, added a note about ensureAlways()
#rnx
Change 3499643 by Marc.Audy
Use TGuardValue instead of manually managing it
#rnx
Change 3499874 by Marc.Audy
Display <Unnamed> instead of nothing for Pins with blank display name in the compiler log
Change 3499875 by Marc.Audy
When changing function parameter types, don't orphan a pin on the function entry/exit nodes (but do at the call sites)
#jira UE-46224
Change 3499927 by Dan.Oconnor
UField::Serialize no longer serialize's its next ptr, UStruct::Serialize serializes all Children properties instead. This resolves a hard circular dependency between function libraries that EDL detected. It was resolved in an ad hoc way by the old linker
#jira UE-43458
Change 3499953 by Michael.Noland
Core: Created a variant of ensure that does runtime error logging without stopping in the debugger and some related functions that print a warning or error and may trigger a BP callstack (under the same rules as FFrame::KismetExecutionMessage)
- These are WIP and the API may change in the future, but are being used to fix various crashes found by fuzzing BP exposed functions
Change 3499957 by Michael.Noland
Animation: Added runtime errors for nullptr ControlRigs passed into BP methods
#rnx
Change 3499958 by Michael.Noland
Blueprints: Changed an ensure in UKismetNodeHelperLibrary::GetValidValue to a runtime error
#rnx
Change 3499959 by Michael.Noland
Engine: Downgrade various checks() to ensures() in the runtime asset cache functions exposed to Blueprints
Change 3499960 by Michael.Noland
AI: Changed UBTFunctionLibrary to not check/ensure if passed a null world context object
Change 3499968 by Michael.Noland
Editor: Fixed a couple of crashes in UEditorLevelUtils when passed nullptr arguments, and reformatted the entire file to fix widespread indentation issues
#rnx
Change 3499969 by Michael.Noland
Engine: Changed the verbosity of the failure log message of UEngine::GetWorldFromContextObject(..., LogAndReturnNull) from Warning to Error, so it always prints out a BP callstack
#rnx
Change 3499973 by Michael.Noland
Rendering: Fixed asserts in various UKismetRenderingLibrary methods if passed a nullptr for the WorldContextObject
- Also fixed flipped warnings in the failure cases for EndDrawCanvasToRenderTarget
Change 3499979 by Michael.Noland
Editor: Prevented a crash in UMaterialEditingLibrary::RecompileMaterial when passed a nullptr material
Change 3499984 by Michael.Noland
Physics: Prevented a crash in UTraceQueryTestResults::AssertEqual when passed in nullptr for Expected
Change 3499993 by Michael.Noland
Blueprints: Added validation when renaming variables, functions, components, multicast delegates, etc... to prevent names from containing some unacceptable characters
- This validation only kicks in when trying to rename an item, so bad names in existing content are 'grandfathered in'
- These bad names can cause bugs when working with content that contains these characters (e.g., names that contain a period cannot be found via FindObject<T>)
- Currently only . is banned, but eventually we may expand it to include all of INVALID_OBJECTNAME_CHARACTERS
Change 3500009 by Michael.Noland
Blueprints: Made the fuzzer skip classes declared in UnrealEd for now (some of the exposed methods change global state that can cause other tests to fail as the fuzzer isn't particularly sandboxed ATM)
#rnx
Change 3500011 by Michael.Noland
Android: Fixed a crash in UAndroidPermissionFunctionLibrary::AcquirePermissions when called with an empty array on non-Android platforms
Change 3500012 by Michael.Noland
Editor: Prevent a crash in UEditorTutorial::OpenAsset when passed a nullptr Asset
Change 3500014 by Michael.Noland
Engine: Changed FRuntimeAssetCacheFilesystemBackend::ClearCache(NAME_None) to not try to clear all cache directories (there is a separate no-args method for that)
Change 3500019 by Michael.Noland
Core: Fixed some more issues with CallFunctionByNameWithArguments and initializing / destroying parameters
- It was skipping the return value and incorrectly relying on the FirstPropertyToInit list which isn't set for by ref arguments
Change 3500020 by Michael.Noland
Automation: Prevent UFunctionalTestingManager::RunAllFunctionalTests and UFunctionalTestingManager* UFunctionalTestingManager::GetManager from crashing when a manager cannot be created (because we can't route to a world)
Change 3501062 by Marc.Audy
MakeArray AddInputPin is often used as part of node expansion, so need to move the transaction out of the function
Fix inability to undo/redo pin additions to sequence node
Add a K2Node_AddPinInterface to generalize the interface that K2Nodes implement to interact with SGraphNodeK2Sequence so it can be more generally used
#jira UE-46164
#jira UE-46270
Change 3501330 by Michael.Noland
AI: Fix an error on shutdown when the CDO of UAIPerceptionComponent tries to clean up (as it was never registered in the first place)
#jira UE-46271
Change 3501356 by Marc.Audy
Fix crash when multi-editing actor blueprints
#jira UE-46248
Change 3501408 by Michael.Noland
Core: Improve the print-out of FFrame::GetStackTrace() / FFrame::GetScriptCallstack() when there is no script stack (e.g., when FFrame::KismetExecutionMessage is called by native code with no BP above in the call stack)
Change 3501457 by Phillip.Kavan
#jira UE-46054 - Fix crash when launching a packaged build that includes a nativized Blueprint instance with a ChildActorComponent instanced via an AddComponent node.
Change summary:
- Removed UK2Node_AddComponent::PostDuplicate(). This eliminates the creation of redundant component templates that were being unnecessarily created during the Blueprint duplication that precedes the nativization pass.
- Modified SMyBlueprint::OnDuplicateAction() to call MakeNewComponentTemplate() in response to a graph duplication action within the same Blueprint context (replaces previous UK2Node_AddComponent::PostDuplicate() impl).
- Modified FEmitDefaultValueHelper::HandleSpecialTypes() to force AddComponent-based CAC-owned template objects in the emitted codegen to use the UDynamicClass as the Outer when instancing. This matches what we already do for SCS-based CAC-owned template objects - that logic was added in CL# 3270456, and this matches up with FBlueprintNativeCodeGenModule::FindReplacedNameAndOuter(), where we specifically handle CAC-owned template objects.
Change 3502741 by Phillip.Kavan
#jira UE-45782 - Fix undo for index pin type changes.
Change summary:
- Modified SGraphPinIndex::OnTypeChanged() to call Modify() on the pin that was changed.
Change 3502939 by Michael.Noland
Back out changelist 3499927
Change 3503087 by Marc.Audy
Re-fixed ocean content as editor had also changed so had to take theirs and redo
#rnx
Change 3503266 by Ben.Zeigler
#jira UE-46335 Fix regression added in 4.16 where AssetRegistry GetAncesorClassNames/GetDerivedClassNames were not working properly in cooked builds for classes not in memory
Change 3503325 by mason.seay
updated Anim BP to prep for pin testing
Change 3503445 by Marc.Audy
Fix crash caused by OldPins being destroyed before rewiring
#rnx
Change 3505024 by Marc.Audy
Fix NodeEffectsPanel blueprint as it was using pins that no longer existed
#rnx
Change 3505254 by Marc.Audy
Don't include orphan pins when gather source property names
If a property doesn't exist for a source property name just skip the property rather than crashing
#jira UE-46345
#rnx
Change 3506125 by Ben.Zeigler
#jira UE-46311 Fix issues when blueprints are reloaded in place, it needs to remove them from root properly and sanitize the old class. It's still not clear why they are being reloaded in place
Change 3506334 by Dan.Oconnor
Move UAnimGraphNode_Base::PreloadRequiredAssets up to K2Node, make sure nodes get a chance to preload data before compilation manager compiles newly loaded blueprints
#jira UE-46411
Change 3506439 by Dan.Oconnor
Return to pre 3488512 behavior for construct object nodes. This means that we can still get warnings on load when users compile after saving a blueprint, but the current behavior loses default values because it's lookng at the skeleton cdo
#jira UE-46308
Change 3506468 by Dan.Oconnor
Return to pre 3488512 behavior, as it causes bad default values
#jira UE-46414
#rnx
Change 3506733 by Marc.Audy
Use the most up to date class to determine whether a property still exists when adding pins during reconstruction
#jira UE-45965
#author Dan.OConnor
#rnx
Change 3507531 by Ben.Zeigler
#jira UE-46449 Better fix to flush the asset registry queue when the editor requests a synchronous scan at startup. Sometimes it can take a few frames because of file handle delays
Change 3507924 by mason.seay
Sanity save of TM-Gameplay and sublevels to maybe resolve level streaming issues
Change 3507962 by Marc.Audy
Remake changes from CL# 3150796 wiped out by WEX-Staging merge to Main in CL# 3479958
#rnx
Change 3509131 by Dan.Oconnor
Compilation manager compile on load flow never called FindExportsInMemoryFirst, which is critical to prevent reloading of UBlueprintGeneratedClasses when Rename clears the export table
#jira UE-46311
Change 3509345 by Marc.Audy
CVar to disable orphan pins if necessary
#rnx
Change 3509959 by Marc.Audy
Protect against crashing due to large values in Timespan From functions
#jira UE-43840
Change 3510040 by Marc.Audy
Remove all the old unneeded ShooterGame test maps
#rnx
[CL 3510073 by Marc Audy in Main branch]
2017-06-26 15:07:18 -04:00
ActionListOut . Add ( MakeMacroNodeSpawner ( MacroGraph ) ) ;
2014-08-23 20:16:29 -04:00
}
2019-07-09 11:39:58 -04:00
auto CreateEntriesForGraphLambda = [ Blueprint , & ActionListOut ] ( UEdGraph * FunctionGraph )
2014-08-23 20:16:29 -04:00
{
2019-07-09 11:39:58 -04:00
if ( ! FunctionGraph )
{
return ;
}
2014-08-23 20:16:29 -04:00
TArray < UK2Node_FunctionEntry * > GraphEntryNodes ;
FunctionGraph - > GetNodesOfClass < UK2Node_FunctionEntry > ( GraphEntryNodes ) ;
for ( UK2Node_FunctionEntry * FunctionEntry : GraphEntryNodes )
2014-07-09 12:17:42 -04:00
{
2020-03-15 10:33:45 -04:00
UFunction * SkeletonFunction = FindUField < UFunction > ( Blueprint - > SkeletonGeneratedClass , FunctionGraph - > GetFName ( ) ) ;
Copying //UE4/Dev-Blueprints to //UE4/Dev-Main (Source: //UE4/Dev-Blueprints @ 3255454)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3228496 on 2016/12/09 by Ben.Cosh
This change adds extra information to component template arrays so that the component class can be determined in builds that strip out objects of certain class types such as the editor dedicated server build.
#Jira UE-38842 - "LogBlueprint:Error: [Compiler BP_Skybox_World_RandomTrees_01] Error Can't connect pins ReturnValue and Target" after entering a lobby in a synced server
#Proj KismetCompiler, BlueprintGraph, UnrealEd, Core, Engine, Kismet, BlueprintCompilerCppBackend
Change 3232435 on 2016/12/13 by Ben.Cosh
Fix for a bug introduced in CL 3228496 that caused component templates to fail to be identified by name and resulted in blueprint compilation issues for add component nodes.
#Jira UE-39623 - Unknown template referenced by Add Component Node
#Proj BlueprintGraph, Engine
Change 3234581 on 2016/12/14 by Mike.Beach
Backing out fix for UE-38842 (CL 3228496/3232435/3232564) - mapping UBlueprintGeneratedClass's ComponentTemplates array to a new format was causing issues with deferred dependency loading during serialization (trying to extract type information from a placeholder object). We're opting for a smaller/simpler solution to UE-38842, which will be to store the component information on the node itself (not with the templates).
#jira UE-39707
Change 3236615 on 2016/12/15 by Maciej.Mroz
Nativization: Fixed getter fuctions in FUnconvertedWrapper, the returned ref won;t be const.
Change 3236967 on 2016/12/15 by Dan.Oconnor
Test data showing an error for jira issue UE-39808
Change 3237021 on 2016/12/15 by Dan.Oconnor
UE31622 test data
Change 3237046 on 2016/12/15 by Dan.Oconnor
UE-14123 test data
Change 3239289 on 2016/12/17 by Phillip.Kavan
[UE-38999] Dump component tree node hierarchy to the output log on error state during widget generation.
change summary:
- added FOnTableViewBadState delegate parameter to SSCSEditorDragDropTree
- added SSCSEditor::DumpTree() as the FOnTableViewBadState delegate implementatioon for the STableView widget (to provide us with more info on future occurrences)
#jira UE-38999
Change 3239448 on 2016/12/19 by Maciej.Mroz
#jira UE-39794
New way of collecting dependencies assets. Only directly used assets are listed. It will be used in projects with EDL enabled, once the "EDL boot time" is enabled.
Nativized projects with EDL disabled use the new mechanism as well. They use new __StaticDependenciesAssets functions generator. __StaticDependenciesAssets calls recursively __StaticDependenciesAssets of all Blueprints, that the current BP depends on. It reduces the size of __StaticDependenciesAssets.
Notice, that at the moment, this change should no affect any projects with EDL enabled (because the EDL boot time doesn't work yet).
Change 3239778 on 2016/12/19 by Phillip.Kavan
[UE-39854] Fix nativized assets build error when there are no native code dependencies.
change summary:
- modified FDependenciesGlobalMapHelper::EmitBodyCode() to emit a NULL entry when there are no other entries to emit, in order to avoid a zero-length array initialization error at compile time.
#jira UE-39854
Change 3239965 on 2016/12/19 by Phillip.Kavan
[UE-39733] Fix incorrect graph pin value display names for user-defined enum types.
change summary:
- switched UEnum::GetDisplayNameText() to be a virtual API
- added a UUserDefinedEnum::GetDisplayNameText() override to call FEnumEditorUtils::GetEnumeratorDisplayName()
#jira UE-39733
Change 3240422 on 2016/12/19 by Dan.Oconnor
Remove useless counter. ensureMsgf only fires once
Change 3242313 on 2016/12/21 by Phillip.Kavan
[UE-35418] The Actor details view will now refresh property mappings for the current Actor instance selection after a bytecode-only recompile of its Blueprint class as a dependency during reinstancing.
change summary:
- Modified FBlueprintCompileReinstancer::ReinstanceObjects() to invoke SelectActor() on the current editor selection after a bytecode-only recompile of its class as a dependent BP (i.e. when reinstancing/finalization is not actually incurred). This is meant to be consistent with how the refresh for the current Actor selection is handled by the reinstancer in the other cases.
#jira UE-35418
Change 3242409 on 2016/12/21 by Dan.Oconnor
PR #2995: Arbitrary base logarithm blueprint node (Contributed by Valkrysa)
#jira UE-39169
Change 3243207 on 2016/12/22 by Phillip.Kavan
[UE-39816] Renaming interface input/output parameters will no longer cause broken pin links at interface function call sites in Blueprints that are currently loaded.
change summary:
- modified FBasePinChangeHelper::Broadcast() to consider pin changes sourced from an interface Blueprint
- also revised non-interface function call site check code a bit to try and avoid doing some unnecessary work when possible, since this code runs through every call site node
#jira UE-39816
Change 3243210 on 2016/12/22 by Phillip.Kavan
[UE-39944] Extend the GetClassDefaults node to include output pin exceptions for TSet/TMap properties (i.e. mirror safeguards already in place for TArray).
change summary:
- deprecated 'bExcludeObjectArrays' and replaced with 'bExcludeObjectContainers' (not using a redirect because I need the old property serialized on load for backwards-compatibility)
- modified FClassDefaultsOptionalPinManager's ctor to consider both flags
- modified FClassDefaultsOptionalPinManager::CanTreatPropertyAsOptional() to also test for TSet/TMap types, and exclude them if they contain a non-class UObject property as the inner type (same as we do for TArray)
- modified UK2Node_GetClassDefaults::ValidateNodeDuringCompilation() to also test for TSet/TMap types, and emit a warning for existing pin connections that would have otherwise failed for newly-placed nodes (same as TArray)
- modified UK2Node_GetClassDefaults::ExpandNode() to generate the necessary script needed to create a copy of TSet/TMap property value outputs (same as we do for TArray types)
#jira UE-39944
Change 3243373 on 2016/12/23 by Maciej.Mroz
#jira UE-39794
-Nativized build with EDL enabled use new dependency-gathering system. It shrinks size of the .exe file. This code will change once the boot time EDL is enabled.
-In nativized code, ZCOnstructors are not called. They are replaced by ::StaticClass(). Static class doesn't call noting recursively. We still need to fix interfaces (they have no StaticClass).
- Workaround for UE-40026
- Various minior improvements.
Change 3244038 on 2016/12/28 by Phillip.Kavan
[UE-34488] Child Blueprint assets are now marked as dirty if its parent Blueprint incurs a strucutural change.
change summary:
- modified FBlueprintEditorUtils::MarkBlueprintAsStructurallyModified() to call MarkPackageDirty() after a skeleton-only compile pass on a child Blueprint.
notes:
- this only fixes the issue for child Blueprints that are loaded when the change to the parent Blueprint occurs. unloaded child Blueprints would still need a redirector to fix this up on load.
#jira UE-34488
Change 3244087 on 2016/12/28 by Phillip.Kavan
CIS warning fix (C6236).
Change 3244388 on 2016/12/30 by Phillip.Kavan
[UE-39816] Fix broken pin links caused by renaming interface function input/output parameters prior to compiling the interface, but after renaming the function itself.
change summary:
- modified FBlueprintEditorUtils::FindFunctionInImplementedInterfaces() to prefer the skeleton class when searching, as that is always up-to-date.
- modified FBlueprintEditorUtils::RenameGraph() to update *all* function call site nodes, rather than just those within the current Blueprint class scope.
#jira UE-39816
Change 3245322 on 2017/01/03 by Maciej.Mroz
#jira UE-40125
Fixed a crash when implementing a native interface in a BP
Change 3245667 on 2017/01/03 by Mike.Beach
Mirroring CL 3245664 - Making it so level script bound nodes are fixed up on load (in case the level instances were saved out without the bindings).
#jira UE-39950
Change 3247675 on 2017/01/05 by Maciej.Mroz
BP is not DataOnly, when it overrides an inherited component
related to UE-40131
Change 3247985 on 2017/01/05 by Maciej.Mroz
NativizationSummary object is always present.
#jira UE-40035
Change 3249423 on 2017/01/06 by Mike.Beach
Mirroring CL 3248792 from Orion.
Fix to keep placeholder classes from being needlessly created (when the object they represent already exists) - instead, attempt to lookup and find the existing import objects (which used to be set, but could be cleared during async loading by FLinkerManager::DissociateImportsAndForcedExports()).
#jira OR-34038
Change 3249568 on 2017/01/06 by Mike.Beach
Updating the UBlueprintThumbnailRenderer API so it can be sub-classed by plugin/projects.
PR #2899: Expose UBlueprintThumbnailRenderer in the API (Contributed by e-agaubatz)
#jira UE-38004
Change 3251903 on 2017/01/10 by Phillip.Kavan
[UE-31640] Function inputs are now exposed as variable "Get" nodes via the right-click context menu in a Blueprint function graph context.
Note: Changes are based on shelved CL# 2452724, original proof-of-concept code (credit: Michael.Noland).
#jira UE-31640
#fyi Michael.Noland
Change 3252119 on 2017/01/10 by Phillip.Kavan
CIS fix (shadowed variable).
Change 3252744 on 2017/01/10 by Dan.Oconnor
Add GMinimalCompileOnLoad path for postponing compile on load until all data has been loaded - long term this will be used to improve bp compiler infrastructure (performance, correctness, succinctness)
Change 3252968 on 2017/01/10 by Phillip.Kavan
[UE-36798] Fix for an infinite loop case in the math expression parser.
#jira UE-36798
Change 3253153 on 2017/01/10 by Dan.Oconnor
Fixed construction scripts not being loaded before instancing occurs when using new lighter compile path
Change 3253171 on 2017/01/10 by Mike.Beach
Mirrored CL 3253147.
Properly fills out FPropertyChangedEvent's MemberProperty field, for the property editor's NotifyHook. As its comment implies, "MemberProperty" is meant to represent the outermost property (in scenarios, like with nested struct properties). It was not working this way, and was instead set to the same nested property.
Change 3253220 on 2017/01/10 by Dan.Oconnor
These pins should infer together
#jira UE-40427
Change 3253223 on 2017/01/10 by Phillip.Kavan
[UE-35050] Fix a crash that occurs on an attempt to rename the category of an implemented interface function inherited from a native parent class in the My Blueprint panel.
change summary:
- modified FBlueprintEditorUtils::FindFunctionInImplementedInterfaces() to accept an additional input parameter so that callers can opt-in to searching all inherited interface classes
- modified SMyBlueprint::CanRequestRenameOnActionNode() to prevent rename on implemented interface functions inherited from a native parent class
#jira UE-35050
Change 3253259 on 2017/01/10 by Dan.Oconnor
Quick cleanup, this stuff is in progress
Change 3253983 on 2017/01/11 by Phillip.Kavan
[UE-35629] Disable external curve asset creation when editing a local variable's default value in a Blueprint graph.
change summary:
- modified FCurveStructCustomization::CustomizeChildren() to set the "create" button visibility to "collapsed" when the Owner is NULL (as the default asset path is inferred from the Owner's package).
#jira UE-35629
Change 3254024 on 2017/01/11 by Phillip.Kavan
[UE-40131] Non-native child BPs can now properly override a nativized parent BP's components in a cooked build with exclusive Blueprint class nativiation.
change summary:
- added UBlueprintGeneratedClass::CheckAndApplyComponentTemplateOverrides()
- switched FComponentKey::OwnerClass type from UBlueprintGeneratedClass to UClass to allow the reference to be loaded when it's a nativized BP class.
- modified AActor::PostLoadSubobjects() to apply ICH template overrides to inherited component subobjects on load (only in a cooked build)
- modified AActor::PostSpawnInitialize() to also apply ICH template overrides to inherited component subobjects on new Actor spawns (only in a cooked build)
- modified FBlueprintEditorUtils::IsDataOnlyBlueprint() to additionally reject BPs that have a non-empty ICH (from Maciej)
- added UBlueprint::bHasNativizedParent to cache this as an indicator for cooked builds to allow Actor instances to avoid incurring additional overhead for this at load time in the general case
#jira UE-40131
Change 3254176 on 2017/01/11 by Mike.Beach
Mirroring CL 3245838 to unblock the Odin build. Downgrading new error to warning until we can address it in content (and fully understand why it is triggering).
#jira UE-40470
Change 3254391 on 2017/01/11 by Phillip.Kavan
[UE-40131] CIS fix (non-unity).
Change 3254442 on 2017/01/11 by Mike.Beach
Mirroring CL 3245069 (from RobM), which is described as a "temp fix".
#jira UE-40399
Change 3254599 on 2017/01/11 by Mike.Beach
Updating some of our GetRedirectPinNames() functions - making local copy of an array element instead of a reference. We're adding to the array right after, and the ref can become invalid (if the array is grown and reallocated). Came to us via UDN.
Change 3254624 on 2017/01/11 by Mike.Beach
Backing out CL 3247675, as it removed the "data-only" status from certain Blueprints that, IMO, are still considered "data-only". This would have reprecussions to editor (compile-on) load times, and affect how these Blueprints are presented to the user.
#fyi Maciej.Mroz, Phillip.Kavan
Change 3254671 on 2017/01/11 by Mike.Beach
Resolving CIS warning - USE_EVENT_DRIVEN_ASYNC_LOAD was replaced with GEventDrivenLoaderEnabled.
[CL 3255791 by Mike Beach in Main branch]
2017-01-12 14:36:04 -05:00
// Create entries for function parameters
if ( SkeletonFunction ! = nullptr )
{
2019-12-13 11:07:03 -05:00
for ( TFieldIterator < FProperty > ParamIt ( SkeletonFunction ) ; ParamIt & & ( ParamIt - > PropertyFlags & CPF_Parm ) ; + + ParamIt )
Copying //UE4/Dev-Blueprints to //UE4/Dev-Main (Source: //UE4/Dev-Blueprints @ 3255454)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3228496 on 2016/12/09 by Ben.Cosh
This change adds extra information to component template arrays so that the component class can be determined in builds that strip out objects of certain class types such as the editor dedicated server build.
#Jira UE-38842 - "LogBlueprint:Error: [Compiler BP_Skybox_World_RandomTrees_01] Error Can't connect pins ReturnValue and Target" after entering a lobby in a synced server
#Proj KismetCompiler, BlueprintGraph, UnrealEd, Core, Engine, Kismet, BlueprintCompilerCppBackend
Change 3232435 on 2016/12/13 by Ben.Cosh
Fix for a bug introduced in CL 3228496 that caused component templates to fail to be identified by name and resulted in blueprint compilation issues for add component nodes.
#Jira UE-39623 - Unknown template referenced by Add Component Node
#Proj BlueprintGraph, Engine
Change 3234581 on 2016/12/14 by Mike.Beach
Backing out fix for UE-38842 (CL 3228496/3232435/3232564) - mapping UBlueprintGeneratedClass's ComponentTemplates array to a new format was causing issues with deferred dependency loading during serialization (trying to extract type information from a placeholder object). We're opting for a smaller/simpler solution to UE-38842, which will be to store the component information on the node itself (not with the templates).
#jira UE-39707
Change 3236615 on 2016/12/15 by Maciej.Mroz
Nativization: Fixed getter fuctions in FUnconvertedWrapper, the returned ref won;t be const.
Change 3236967 on 2016/12/15 by Dan.Oconnor
Test data showing an error for jira issue UE-39808
Change 3237021 on 2016/12/15 by Dan.Oconnor
UE31622 test data
Change 3237046 on 2016/12/15 by Dan.Oconnor
UE-14123 test data
Change 3239289 on 2016/12/17 by Phillip.Kavan
[UE-38999] Dump component tree node hierarchy to the output log on error state during widget generation.
change summary:
- added FOnTableViewBadState delegate parameter to SSCSEditorDragDropTree
- added SSCSEditor::DumpTree() as the FOnTableViewBadState delegate implementatioon for the STableView widget (to provide us with more info on future occurrences)
#jira UE-38999
Change 3239448 on 2016/12/19 by Maciej.Mroz
#jira UE-39794
New way of collecting dependencies assets. Only directly used assets are listed. It will be used in projects with EDL enabled, once the "EDL boot time" is enabled.
Nativized projects with EDL disabled use the new mechanism as well. They use new __StaticDependenciesAssets functions generator. __StaticDependenciesAssets calls recursively __StaticDependenciesAssets of all Blueprints, that the current BP depends on. It reduces the size of __StaticDependenciesAssets.
Notice, that at the moment, this change should no affect any projects with EDL enabled (because the EDL boot time doesn't work yet).
Change 3239778 on 2016/12/19 by Phillip.Kavan
[UE-39854] Fix nativized assets build error when there are no native code dependencies.
change summary:
- modified FDependenciesGlobalMapHelper::EmitBodyCode() to emit a NULL entry when there are no other entries to emit, in order to avoid a zero-length array initialization error at compile time.
#jira UE-39854
Change 3239965 on 2016/12/19 by Phillip.Kavan
[UE-39733] Fix incorrect graph pin value display names for user-defined enum types.
change summary:
- switched UEnum::GetDisplayNameText() to be a virtual API
- added a UUserDefinedEnum::GetDisplayNameText() override to call FEnumEditorUtils::GetEnumeratorDisplayName()
#jira UE-39733
Change 3240422 on 2016/12/19 by Dan.Oconnor
Remove useless counter. ensureMsgf only fires once
Change 3242313 on 2016/12/21 by Phillip.Kavan
[UE-35418] The Actor details view will now refresh property mappings for the current Actor instance selection after a bytecode-only recompile of its Blueprint class as a dependency during reinstancing.
change summary:
- Modified FBlueprintCompileReinstancer::ReinstanceObjects() to invoke SelectActor() on the current editor selection after a bytecode-only recompile of its class as a dependent BP (i.e. when reinstancing/finalization is not actually incurred). This is meant to be consistent with how the refresh for the current Actor selection is handled by the reinstancer in the other cases.
#jira UE-35418
Change 3242409 on 2016/12/21 by Dan.Oconnor
PR #2995: Arbitrary base logarithm blueprint node (Contributed by Valkrysa)
#jira UE-39169
Change 3243207 on 2016/12/22 by Phillip.Kavan
[UE-39816] Renaming interface input/output parameters will no longer cause broken pin links at interface function call sites in Blueprints that are currently loaded.
change summary:
- modified FBasePinChangeHelper::Broadcast() to consider pin changes sourced from an interface Blueprint
- also revised non-interface function call site check code a bit to try and avoid doing some unnecessary work when possible, since this code runs through every call site node
#jira UE-39816
Change 3243210 on 2016/12/22 by Phillip.Kavan
[UE-39944] Extend the GetClassDefaults node to include output pin exceptions for TSet/TMap properties (i.e. mirror safeguards already in place for TArray).
change summary:
- deprecated 'bExcludeObjectArrays' and replaced with 'bExcludeObjectContainers' (not using a redirect because I need the old property serialized on load for backwards-compatibility)
- modified FClassDefaultsOptionalPinManager's ctor to consider both flags
- modified FClassDefaultsOptionalPinManager::CanTreatPropertyAsOptional() to also test for TSet/TMap types, and exclude them if they contain a non-class UObject property as the inner type (same as we do for TArray)
- modified UK2Node_GetClassDefaults::ValidateNodeDuringCompilation() to also test for TSet/TMap types, and emit a warning for existing pin connections that would have otherwise failed for newly-placed nodes (same as TArray)
- modified UK2Node_GetClassDefaults::ExpandNode() to generate the necessary script needed to create a copy of TSet/TMap property value outputs (same as we do for TArray types)
#jira UE-39944
Change 3243373 on 2016/12/23 by Maciej.Mroz
#jira UE-39794
-Nativized build with EDL enabled use new dependency-gathering system. It shrinks size of the .exe file. This code will change once the boot time EDL is enabled.
-In nativized code, ZCOnstructors are not called. They are replaced by ::StaticClass(). Static class doesn't call noting recursively. We still need to fix interfaces (they have no StaticClass).
- Workaround for UE-40026
- Various minior improvements.
Change 3244038 on 2016/12/28 by Phillip.Kavan
[UE-34488] Child Blueprint assets are now marked as dirty if its parent Blueprint incurs a strucutural change.
change summary:
- modified FBlueprintEditorUtils::MarkBlueprintAsStructurallyModified() to call MarkPackageDirty() after a skeleton-only compile pass on a child Blueprint.
notes:
- this only fixes the issue for child Blueprints that are loaded when the change to the parent Blueprint occurs. unloaded child Blueprints would still need a redirector to fix this up on load.
#jira UE-34488
Change 3244087 on 2016/12/28 by Phillip.Kavan
CIS warning fix (C6236).
Change 3244388 on 2016/12/30 by Phillip.Kavan
[UE-39816] Fix broken pin links caused by renaming interface function input/output parameters prior to compiling the interface, but after renaming the function itself.
change summary:
- modified FBlueprintEditorUtils::FindFunctionInImplementedInterfaces() to prefer the skeleton class when searching, as that is always up-to-date.
- modified FBlueprintEditorUtils::RenameGraph() to update *all* function call site nodes, rather than just those within the current Blueprint class scope.
#jira UE-39816
Change 3245322 on 2017/01/03 by Maciej.Mroz
#jira UE-40125
Fixed a crash when implementing a native interface in a BP
Change 3245667 on 2017/01/03 by Mike.Beach
Mirroring CL 3245664 - Making it so level script bound nodes are fixed up on load (in case the level instances were saved out without the bindings).
#jira UE-39950
Change 3247675 on 2017/01/05 by Maciej.Mroz
BP is not DataOnly, when it overrides an inherited component
related to UE-40131
Change 3247985 on 2017/01/05 by Maciej.Mroz
NativizationSummary object is always present.
#jira UE-40035
Change 3249423 on 2017/01/06 by Mike.Beach
Mirroring CL 3248792 from Orion.
Fix to keep placeholder classes from being needlessly created (when the object they represent already exists) - instead, attempt to lookup and find the existing import objects (which used to be set, but could be cleared during async loading by FLinkerManager::DissociateImportsAndForcedExports()).
#jira OR-34038
Change 3249568 on 2017/01/06 by Mike.Beach
Updating the UBlueprintThumbnailRenderer API so it can be sub-classed by plugin/projects.
PR #2899: Expose UBlueprintThumbnailRenderer in the API (Contributed by e-agaubatz)
#jira UE-38004
Change 3251903 on 2017/01/10 by Phillip.Kavan
[UE-31640] Function inputs are now exposed as variable "Get" nodes via the right-click context menu in a Blueprint function graph context.
Note: Changes are based on shelved CL# 2452724, original proof-of-concept code (credit: Michael.Noland).
#jira UE-31640
#fyi Michael.Noland
Change 3252119 on 2017/01/10 by Phillip.Kavan
CIS fix (shadowed variable).
Change 3252744 on 2017/01/10 by Dan.Oconnor
Add GMinimalCompileOnLoad path for postponing compile on load until all data has been loaded - long term this will be used to improve bp compiler infrastructure (performance, correctness, succinctness)
Change 3252968 on 2017/01/10 by Phillip.Kavan
[UE-36798] Fix for an infinite loop case in the math expression parser.
#jira UE-36798
Change 3253153 on 2017/01/10 by Dan.Oconnor
Fixed construction scripts not being loaded before instancing occurs when using new lighter compile path
Change 3253171 on 2017/01/10 by Mike.Beach
Mirrored CL 3253147.
Properly fills out FPropertyChangedEvent's MemberProperty field, for the property editor's NotifyHook. As its comment implies, "MemberProperty" is meant to represent the outermost property (in scenarios, like with nested struct properties). It was not working this way, and was instead set to the same nested property.
Change 3253220 on 2017/01/10 by Dan.Oconnor
These pins should infer together
#jira UE-40427
Change 3253223 on 2017/01/10 by Phillip.Kavan
[UE-35050] Fix a crash that occurs on an attempt to rename the category of an implemented interface function inherited from a native parent class in the My Blueprint panel.
change summary:
- modified FBlueprintEditorUtils::FindFunctionInImplementedInterfaces() to accept an additional input parameter so that callers can opt-in to searching all inherited interface classes
- modified SMyBlueprint::CanRequestRenameOnActionNode() to prevent rename on implemented interface functions inherited from a native parent class
#jira UE-35050
Change 3253259 on 2017/01/10 by Dan.Oconnor
Quick cleanup, this stuff is in progress
Change 3253983 on 2017/01/11 by Phillip.Kavan
[UE-35629] Disable external curve asset creation when editing a local variable's default value in a Blueprint graph.
change summary:
- modified FCurveStructCustomization::CustomizeChildren() to set the "create" button visibility to "collapsed" when the Owner is NULL (as the default asset path is inferred from the Owner's package).
#jira UE-35629
Change 3254024 on 2017/01/11 by Phillip.Kavan
[UE-40131] Non-native child BPs can now properly override a nativized parent BP's components in a cooked build with exclusive Blueprint class nativiation.
change summary:
- added UBlueprintGeneratedClass::CheckAndApplyComponentTemplateOverrides()
- switched FComponentKey::OwnerClass type from UBlueprintGeneratedClass to UClass to allow the reference to be loaded when it's a nativized BP class.
- modified AActor::PostLoadSubobjects() to apply ICH template overrides to inherited component subobjects on load (only in a cooked build)
- modified AActor::PostSpawnInitialize() to also apply ICH template overrides to inherited component subobjects on new Actor spawns (only in a cooked build)
- modified FBlueprintEditorUtils::IsDataOnlyBlueprint() to additionally reject BPs that have a non-empty ICH (from Maciej)
- added UBlueprint::bHasNativizedParent to cache this as an indicator for cooked builds to allow Actor instances to avoid incurring additional overhead for this at load time in the general case
#jira UE-40131
Change 3254176 on 2017/01/11 by Mike.Beach
Mirroring CL 3245838 to unblock the Odin build. Downgrading new error to warning until we can address it in content (and fully understand why it is triggering).
#jira UE-40470
Change 3254391 on 2017/01/11 by Phillip.Kavan
[UE-40131] CIS fix (non-unity).
Change 3254442 on 2017/01/11 by Mike.Beach
Mirroring CL 3245069 (from RobM), which is described as a "temp fix".
#jira UE-40399
Change 3254599 on 2017/01/11 by Mike.Beach
Updating some of our GetRedirectPinNames() functions - making local copy of an array element instead of a reference. We're adding to the array right after, and the ref can become invalid (if the array is grown and reallocated). Came to us via UDN.
Change 3254624 on 2017/01/11 by Mike.Beach
Backing out CL 3247675, as it removed the "data-only" status from certain Blueprints that, IMO, are still considered "data-only". This would have reprecussions to editor (compile-on) load times, and affect how these Blueprints are presented to the user.
#fyi Maciej.Mroz, Phillip.Kavan
Change 3254671 on 2017/01/11 by Mike.Beach
Resolving CIS warning - USE_EVENT_DRIVEN_ASYNC_LOAD was replaced with GEventDrivenLoaderEnabled.
[CL 3255791 by Mike Beach in Main branch]
2017-01-12 14:36:04 -05:00
{
2019-12-13 11:07:03 -05:00
FProperty * Param = * ParamIt ;
Copying //UE4/Dev-Blueprints to //UE4/Dev-Main (Source: //UE4/Dev-Blueprints @ 3255454)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3228496 on 2016/12/09 by Ben.Cosh
This change adds extra information to component template arrays so that the component class can be determined in builds that strip out objects of certain class types such as the editor dedicated server build.
#Jira UE-38842 - "LogBlueprint:Error: [Compiler BP_Skybox_World_RandomTrees_01] Error Can't connect pins ReturnValue and Target" after entering a lobby in a synced server
#Proj KismetCompiler, BlueprintGraph, UnrealEd, Core, Engine, Kismet, BlueprintCompilerCppBackend
Change 3232435 on 2016/12/13 by Ben.Cosh
Fix for a bug introduced in CL 3228496 that caused component templates to fail to be identified by name and resulted in blueprint compilation issues for add component nodes.
#Jira UE-39623 - Unknown template referenced by Add Component Node
#Proj BlueprintGraph, Engine
Change 3234581 on 2016/12/14 by Mike.Beach
Backing out fix for UE-38842 (CL 3228496/3232435/3232564) - mapping UBlueprintGeneratedClass's ComponentTemplates array to a new format was causing issues with deferred dependency loading during serialization (trying to extract type information from a placeholder object). We're opting for a smaller/simpler solution to UE-38842, which will be to store the component information on the node itself (not with the templates).
#jira UE-39707
Change 3236615 on 2016/12/15 by Maciej.Mroz
Nativization: Fixed getter fuctions in FUnconvertedWrapper, the returned ref won;t be const.
Change 3236967 on 2016/12/15 by Dan.Oconnor
Test data showing an error for jira issue UE-39808
Change 3237021 on 2016/12/15 by Dan.Oconnor
UE31622 test data
Change 3237046 on 2016/12/15 by Dan.Oconnor
UE-14123 test data
Change 3239289 on 2016/12/17 by Phillip.Kavan
[UE-38999] Dump component tree node hierarchy to the output log on error state during widget generation.
change summary:
- added FOnTableViewBadState delegate parameter to SSCSEditorDragDropTree
- added SSCSEditor::DumpTree() as the FOnTableViewBadState delegate implementatioon for the STableView widget (to provide us with more info on future occurrences)
#jira UE-38999
Change 3239448 on 2016/12/19 by Maciej.Mroz
#jira UE-39794
New way of collecting dependencies assets. Only directly used assets are listed. It will be used in projects with EDL enabled, once the "EDL boot time" is enabled.
Nativized projects with EDL disabled use the new mechanism as well. They use new __StaticDependenciesAssets functions generator. __StaticDependenciesAssets calls recursively __StaticDependenciesAssets of all Blueprints, that the current BP depends on. It reduces the size of __StaticDependenciesAssets.
Notice, that at the moment, this change should no affect any projects with EDL enabled (because the EDL boot time doesn't work yet).
Change 3239778 on 2016/12/19 by Phillip.Kavan
[UE-39854] Fix nativized assets build error when there are no native code dependencies.
change summary:
- modified FDependenciesGlobalMapHelper::EmitBodyCode() to emit a NULL entry when there are no other entries to emit, in order to avoid a zero-length array initialization error at compile time.
#jira UE-39854
Change 3239965 on 2016/12/19 by Phillip.Kavan
[UE-39733] Fix incorrect graph pin value display names for user-defined enum types.
change summary:
- switched UEnum::GetDisplayNameText() to be a virtual API
- added a UUserDefinedEnum::GetDisplayNameText() override to call FEnumEditorUtils::GetEnumeratorDisplayName()
#jira UE-39733
Change 3240422 on 2016/12/19 by Dan.Oconnor
Remove useless counter. ensureMsgf only fires once
Change 3242313 on 2016/12/21 by Phillip.Kavan
[UE-35418] The Actor details view will now refresh property mappings for the current Actor instance selection after a bytecode-only recompile of its Blueprint class as a dependency during reinstancing.
change summary:
- Modified FBlueprintCompileReinstancer::ReinstanceObjects() to invoke SelectActor() on the current editor selection after a bytecode-only recompile of its class as a dependent BP (i.e. when reinstancing/finalization is not actually incurred). This is meant to be consistent with how the refresh for the current Actor selection is handled by the reinstancer in the other cases.
#jira UE-35418
Change 3242409 on 2016/12/21 by Dan.Oconnor
PR #2995: Arbitrary base logarithm blueprint node (Contributed by Valkrysa)
#jira UE-39169
Change 3243207 on 2016/12/22 by Phillip.Kavan
[UE-39816] Renaming interface input/output parameters will no longer cause broken pin links at interface function call sites in Blueprints that are currently loaded.
change summary:
- modified FBasePinChangeHelper::Broadcast() to consider pin changes sourced from an interface Blueprint
- also revised non-interface function call site check code a bit to try and avoid doing some unnecessary work when possible, since this code runs through every call site node
#jira UE-39816
Change 3243210 on 2016/12/22 by Phillip.Kavan
[UE-39944] Extend the GetClassDefaults node to include output pin exceptions for TSet/TMap properties (i.e. mirror safeguards already in place for TArray).
change summary:
- deprecated 'bExcludeObjectArrays' and replaced with 'bExcludeObjectContainers' (not using a redirect because I need the old property serialized on load for backwards-compatibility)
- modified FClassDefaultsOptionalPinManager's ctor to consider both flags
- modified FClassDefaultsOptionalPinManager::CanTreatPropertyAsOptional() to also test for TSet/TMap types, and exclude them if they contain a non-class UObject property as the inner type (same as we do for TArray)
- modified UK2Node_GetClassDefaults::ValidateNodeDuringCompilation() to also test for TSet/TMap types, and emit a warning for existing pin connections that would have otherwise failed for newly-placed nodes (same as TArray)
- modified UK2Node_GetClassDefaults::ExpandNode() to generate the necessary script needed to create a copy of TSet/TMap property value outputs (same as we do for TArray types)
#jira UE-39944
Change 3243373 on 2016/12/23 by Maciej.Mroz
#jira UE-39794
-Nativized build with EDL enabled use new dependency-gathering system. It shrinks size of the .exe file. This code will change once the boot time EDL is enabled.
-In nativized code, ZCOnstructors are not called. They are replaced by ::StaticClass(). Static class doesn't call noting recursively. We still need to fix interfaces (they have no StaticClass).
- Workaround for UE-40026
- Various minior improvements.
Change 3244038 on 2016/12/28 by Phillip.Kavan
[UE-34488] Child Blueprint assets are now marked as dirty if its parent Blueprint incurs a strucutural change.
change summary:
- modified FBlueprintEditorUtils::MarkBlueprintAsStructurallyModified() to call MarkPackageDirty() after a skeleton-only compile pass on a child Blueprint.
notes:
- this only fixes the issue for child Blueprints that are loaded when the change to the parent Blueprint occurs. unloaded child Blueprints would still need a redirector to fix this up on load.
#jira UE-34488
Change 3244087 on 2016/12/28 by Phillip.Kavan
CIS warning fix (C6236).
Change 3244388 on 2016/12/30 by Phillip.Kavan
[UE-39816] Fix broken pin links caused by renaming interface function input/output parameters prior to compiling the interface, but after renaming the function itself.
change summary:
- modified FBlueprintEditorUtils::FindFunctionInImplementedInterfaces() to prefer the skeleton class when searching, as that is always up-to-date.
- modified FBlueprintEditorUtils::RenameGraph() to update *all* function call site nodes, rather than just those within the current Blueprint class scope.
#jira UE-39816
Change 3245322 on 2017/01/03 by Maciej.Mroz
#jira UE-40125
Fixed a crash when implementing a native interface in a BP
Change 3245667 on 2017/01/03 by Mike.Beach
Mirroring CL 3245664 - Making it so level script bound nodes are fixed up on load (in case the level instances were saved out without the bindings).
#jira UE-39950
Change 3247675 on 2017/01/05 by Maciej.Mroz
BP is not DataOnly, when it overrides an inherited component
related to UE-40131
Change 3247985 on 2017/01/05 by Maciej.Mroz
NativizationSummary object is always present.
#jira UE-40035
Change 3249423 on 2017/01/06 by Mike.Beach
Mirroring CL 3248792 from Orion.
Fix to keep placeholder classes from being needlessly created (when the object they represent already exists) - instead, attempt to lookup and find the existing import objects (which used to be set, but could be cleared during async loading by FLinkerManager::DissociateImportsAndForcedExports()).
#jira OR-34038
Change 3249568 on 2017/01/06 by Mike.Beach
Updating the UBlueprintThumbnailRenderer API so it can be sub-classed by plugin/projects.
PR #2899: Expose UBlueprintThumbnailRenderer in the API (Contributed by e-agaubatz)
#jira UE-38004
Change 3251903 on 2017/01/10 by Phillip.Kavan
[UE-31640] Function inputs are now exposed as variable "Get" nodes via the right-click context menu in a Blueprint function graph context.
Note: Changes are based on shelved CL# 2452724, original proof-of-concept code (credit: Michael.Noland).
#jira UE-31640
#fyi Michael.Noland
Change 3252119 on 2017/01/10 by Phillip.Kavan
CIS fix (shadowed variable).
Change 3252744 on 2017/01/10 by Dan.Oconnor
Add GMinimalCompileOnLoad path for postponing compile on load until all data has been loaded - long term this will be used to improve bp compiler infrastructure (performance, correctness, succinctness)
Change 3252968 on 2017/01/10 by Phillip.Kavan
[UE-36798] Fix for an infinite loop case in the math expression parser.
#jira UE-36798
Change 3253153 on 2017/01/10 by Dan.Oconnor
Fixed construction scripts not being loaded before instancing occurs when using new lighter compile path
Change 3253171 on 2017/01/10 by Mike.Beach
Mirrored CL 3253147.
Properly fills out FPropertyChangedEvent's MemberProperty field, for the property editor's NotifyHook. As its comment implies, "MemberProperty" is meant to represent the outermost property (in scenarios, like with nested struct properties). It was not working this way, and was instead set to the same nested property.
Change 3253220 on 2017/01/10 by Dan.Oconnor
These pins should infer together
#jira UE-40427
Change 3253223 on 2017/01/10 by Phillip.Kavan
[UE-35050] Fix a crash that occurs on an attempt to rename the category of an implemented interface function inherited from a native parent class in the My Blueprint panel.
change summary:
- modified FBlueprintEditorUtils::FindFunctionInImplementedInterfaces() to accept an additional input parameter so that callers can opt-in to searching all inherited interface classes
- modified SMyBlueprint::CanRequestRenameOnActionNode() to prevent rename on implemented interface functions inherited from a native parent class
#jira UE-35050
Change 3253259 on 2017/01/10 by Dan.Oconnor
Quick cleanup, this stuff is in progress
Change 3253983 on 2017/01/11 by Phillip.Kavan
[UE-35629] Disable external curve asset creation when editing a local variable's default value in a Blueprint graph.
change summary:
- modified FCurveStructCustomization::CustomizeChildren() to set the "create" button visibility to "collapsed" when the Owner is NULL (as the default asset path is inferred from the Owner's package).
#jira UE-35629
Change 3254024 on 2017/01/11 by Phillip.Kavan
[UE-40131] Non-native child BPs can now properly override a nativized parent BP's components in a cooked build with exclusive Blueprint class nativiation.
change summary:
- added UBlueprintGeneratedClass::CheckAndApplyComponentTemplateOverrides()
- switched FComponentKey::OwnerClass type from UBlueprintGeneratedClass to UClass to allow the reference to be loaded when it's a nativized BP class.
- modified AActor::PostLoadSubobjects() to apply ICH template overrides to inherited component subobjects on load (only in a cooked build)
- modified AActor::PostSpawnInitialize() to also apply ICH template overrides to inherited component subobjects on new Actor spawns (only in a cooked build)
- modified FBlueprintEditorUtils::IsDataOnlyBlueprint() to additionally reject BPs that have a non-empty ICH (from Maciej)
- added UBlueprint::bHasNativizedParent to cache this as an indicator for cooked builds to allow Actor instances to avoid incurring additional overhead for this at load time in the general case
#jira UE-40131
Change 3254176 on 2017/01/11 by Mike.Beach
Mirroring CL 3245838 to unblock the Odin build. Downgrading new error to warning until we can address it in content (and fully understand why it is triggering).
#jira UE-40470
Change 3254391 on 2017/01/11 by Phillip.Kavan
[UE-40131] CIS fix (non-unity).
Change 3254442 on 2017/01/11 by Mike.Beach
Mirroring CL 3245069 (from RobM), which is described as a "temp fix".
#jira UE-40399
Change 3254599 on 2017/01/11 by Mike.Beach
Updating some of our GetRedirectPinNames() functions - making local copy of an array element instead of a reference. We're adding to the array right after, and the ref can become invalid (if the array is grown and reallocated). Came to us via UDN.
Change 3254624 on 2017/01/11 by Mike.Beach
Backing out CL 3247675, as it removed the "data-only" status from certain Blueprints that, IMO, are still considered "data-only". This would have reprecussions to editor (compile-on) load times, and affect how these Blueprints are presented to the user.
#fyi Maciej.Mroz, Phillip.Kavan
Change 3254671 on 2017/01/11 by Mike.Beach
Resolving CIS warning - USE_EVENT_DRIVEN_ASYNC_LOAD was replaced with GEventDrivenLoaderEnabled.
[CL 3255791 by Mike Beach in Main branch]
2017-01-12 14:36:04 -05:00
const bool bIsFunctionInput = ! Param - > HasAnyPropertyFlags ( CPF_ReturnParm ) & & ( ! Param - > HasAnyPropertyFlags ( CPF_OutParm ) | | Param - > HasAnyPropertyFlags ( CPF_ReferenceParm ) ) ;
if ( bIsFunctionInput )
{
UBlueprintNodeSpawner * GetVarSpawner = UBlueprintVariableNodeSpawner : : CreateFromMemberOrParam ( UK2Node_VariableGet : : StaticClass ( ) , Param , FunctionGraph ) ;
ActionListOut . Add ( GetVarSpawner ) ;
}
}
}
// Create entries for local variables
2014-08-23 20:16:29 -04:00
for ( FBPVariableDescription const & LocalVar : FunctionEntry - > LocalVariables )
2014-08-14 15:47:44 -04:00
{
2019-12-13 11:07:03 -05:00
// Create a member reference so we can safely resolve the FProperty
2015-06-04 14:57:06 -04:00
FMemberReference Reference ;
Reference . SetLocalMember ( LocalVar . VarName , FunctionGraph - > GetName ( ) , LocalVar . VarGuid ) ;
2019-12-13 11:07:03 -05:00
UBlueprintNodeSpawner * GetVarSpawner = UBlueprintVariableNodeSpawner : : CreateFromLocal ( UK2Node_VariableGet : : StaticClass ( ) , FunctionGraph , LocalVar , Reference . ResolveMember < FProperty > ( Blueprint - > SkeletonGeneratedClass ) ) ;
2014-08-23 20:16:29 -04:00
ActionListOut . Add ( GetVarSpawner ) ;
2019-12-13 11:07:03 -05:00
UBlueprintNodeSpawner * SetVarSpawner = UBlueprintVariableNodeSpawner : : CreateFromLocal ( UK2Node_VariableSet : : StaticClass ( ) , FunctionGraph , LocalVar , Reference . ResolveMember < FProperty > ( Blueprint - > SkeletonGeneratedClass ) ) ;
2014-08-23 20:16:29 -04:00
ActionListOut . Add ( SetVarSpawner ) ;
2014-08-14 15:47:44 -04:00
}
}
2019-07-09 11:39:58 -04:00
} ;
auto CreateEntriesLambda = [ & ] ( const TArray < UEdGraph * > & Graphs )
{
for ( UEdGraph * const Graph : Graphs )
{
CreateEntriesForGraphLambda ( Graph ) ;
}
} ;
// local variables and parameters for functions
CreateEntriesLambda ( Blueprint - > FunctionGraphs ) ;
// local variables and parameters for interfaces
for ( const FBPInterfaceDescription & Interface : Blueprint - > ImplementedInterfaces )
{
CreateEntriesLambda ( Interface . Graphs ) ;
2014-09-23 16:40:48 -04:00
}
2014-07-09 12:17:42 -04:00
}
2014-09-23 17:40:49 -04:00
//------------------------------------------------------------------------------
static void BlueprintActionDatabaseImpl : : AddAnimBlueprintGraphActions ( UAnimBlueprint const * AnimBlueprint , FActionList & ActionListOut )
{
if ( UAnimBlueprintGeneratedClass * GeneratedClass = AnimBlueprint - > GetAnimBlueprintGeneratedClass ( ) )
{
2020-09-01 14:07:48 -04:00
for ( int32 NotifyIdx = 0 ; NotifyIdx < GeneratedClass - > GetAnimNotifies ( ) . Num ( ) ; NotifyIdx + + )
2014-09-23 17:40:49 -04:00
{
2020-09-01 14:07:48 -04:00
FName NotifyName = GeneratedClass - > GetAnimNotifies ( ) [ NotifyIdx ] . NotifyName ;
2014-09-23 17:40:49 -04:00
if ( NotifyName ! = NAME_None )
{
FString Label = NotifyName . ToString ( ) ;
FString SignatureName = FString : : Printf ( TEXT ( " AnimNotify_%s " ) , * Label ) ;
2014-09-25 14:27:07 -04:00
ActionListOut . Add ( FBlueprintNodeSpawnerFactory : : MakeAnimOwnedEventSpawner ( FName ( * SignatureName ) , FEditorCategoryUtils : : GetCommonCategory ( FCommonEditorCategory : : AnimNotify ) ) ) ;
2014-09-23 17:40:49 -04:00
}
}
}
}
2014-07-09 12:17:42 -04:00
//------------------------------------------------------------------------------
2014-08-23 20:16:29 -04:00
static void BlueprintActionDatabaseImpl : : GetNodeSpecificActions ( TSubclassOf < UEdGraphNode const > const NodeClass , FBlueprintActionDatabaseRegistrar & Registrar )
2014-07-09 12:17:42 -04:00
{
2014-09-29 14:31:08 -04:00
using namespace FBlueprintNodeSpawnerFactory ; // for MakeCommentNodeSpawner()/MakeDocumentationNodeSpawner()
2014-07-09 12:17:42 -04:00
2014-08-23 20:16:29 -04:00
if ( NodeClass - > IsChildOf < UK2Node > ( ) & & ! NodeClass - > HasAnyClassFlags ( CLASS_Abstract ) )
2014-07-09 12:17:42 -04:00
{
2014-08-23 20:16:29 -04:00
UK2Node const * const NodeCDO = NodeClass - > GetDefaultObject < UK2Node > ( ) ;
2014-07-09 12:17:42 -04:00
check ( NodeCDO ! = nullptr ) ;
2014-08-23 20:16:29 -04:00
NodeCDO - > GetMenuActions ( Registrar ) ;
2014-07-09 12:17:42 -04:00
}
2019-07-16 11:49:59 -04:00
2014-07-09 12:17:42 -04:00
// unfortunately, UEdGraphNode_Comment is not a UK2Node and therefore cannot
// leverage UK2Node's GetMenuActions() function, so here we HACK it in
//
// @TODO: DO NOT follow this example! Do as I say, not as I do! If we need
// to support other nodes in a similar way, then we should come up
// with a better (more generalized) solution.
2019-07-16 11:49:59 -04:00
if ( NodeClass = = UEdGraphNode_Comment : : StaticClass ( ) )
2014-07-09 12:17:42 -04:00
{
2014-09-29 14:31:08 -04:00
Registrar . AddBlueprintAction ( MakeCommentNodeSpawner ( ) ) ;
2014-08-11 18:39:28 -04:00
}
2014-08-23 20:16:29 -04:00
else if ( NodeClass = = UEdGraphNode_Documentation : : StaticClass ( ) )
2014-08-11 18:39:28 -04:00
{
2014-09-30 14:08:39 -04:00
// @TODO: BOOOOOOO! (see comment above)
2021-05-11 10:58:41 -04:00
UBlueprintNodeSpawner * DocumentationSpawner = MakeDocumentationNodeSpawner < UEdGraphNode_Documentation > ( ) ;
DocumentationSpawner - > DefaultMenuSignature . Category = LOCTEXT ( " DocumentationNodeCategory " , " Documentation " ) ;
Registrar . AddBlueprintAction ( DocumentationSpawner ) ;
2014-07-09 12:17:42 -04:00
}
}
2014-08-04 18:28:34 -04:00
//------------------------------------------------------------------------------
2014-08-08 15:35:56 -04:00
static void BlueprintActionDatabaseImpl : : OnBlueprintChanged ( UBlueprint * Blueprint )
2014-08-04 18:28:34 -04:00
{
2014-09-17 16:02:23 -04:00
if ( IsObjectValidForDatabase ( Blueprint ) )
2014-08-19 13:57:02 -04:00
{
FBlueprintActionDatabase & ActionDatabase = FBlueprintActionDatabase : : Get ( ) ;
2014-08-23 20:16:29 -04:00
ActionDatabase . RefreshAssetActions ( Blueprint ) ;
2014-08-19 13:57:02 -04:00
}
2014-08-04 18:28:34 -04:00
}
2014-08-11 18:39:28 -04:00
//------------------------------------------------------------------------------
static void BlueprintActionDatabaseImpl : : OnAssetLoaded ( UObject * NewObject )
{
if ( UBlueprint * NewBlueprint = Cast < UBlueprint > ( NewObject ) )
{
OnBlueprintChanged ( NewBlueprint ) ;
}
2014-08-23 20:16:29 -04:00
else
{
FBlueprintActionDatabase & ActionDatabase = FBlueprintActionDatabase : : Get ( ) ;
ActionDatabase . RefreshAssetActions ( NewObject ) ;
}
2014-08-11 18:39:28 -04:00
}
//------------------------------------------------------------------------------
static void BlueprintActionDatabaseImpl : : OnAssetAdded ( FAssetData const & NewAssetInfo )
{
if ( NewAssetInfo . IsAssetLoaded ( ) )
{
2014-08-23 20:16:29 -04:00
UObject * AssetObject = NewAssetInfo . GetAsset ( ) ;
if ( UBlueprint * NewBlueprint = Cast < UBlueprint > ( AssetObject ) )
2014-08-11 18:39:28 -04:00
{
2014-09-19 18:20:43 -04:00
OnBlueprintChanged ( NewBlueprint ) ;
2014-08-11 18:39:28 -04:00
}
2014-08-23 20:16:29 -04:00
else
{
FBlueprintActionDatabase & ActionDatabase = FBlueprintActionDatabase : : Get ( ) ;
ActionDatabase . RefreshAssetActions ( AssetObject ) ;
}
2014-08-11 18:39:28 -04:00
}
}
2014-08-15 16:12:46 -04:00
//------------------------------------------------------------------------------
static void BlueprintActionDatabaseImpl : : OnAssetsPendingDelete ( TArray < UObject * > const & ObjectsForDelete )
{
FBlueprintActionDatabase & ActionDatabase = FBlueprintActionDatabase : : Get ( ) ;
for ( UObject * DeletingObject : ObjectsForDelete )
{
2015-04-01 15:47:23 -04:00
// if (!IsObjectValidForDatabase(DeletingObject))
// {
// continue;
// }
2014-08-23 20:16:29 -04:00
// have to temporarily remove references (so that this delete isn't
// blocked by dangling references)
2015-04-01 15:47:23 -04:00
if ( ActionDatabase . ClearAssetActions ( DeletingObject ) )
{
ensure ( IsObjectValidForDatabase ( DeletingObject ) ) ;
// in case they choose not to delete the object, we need to add
// these back in to the database, so we track them here
PendingDelete . Add ( DeletingObject ) ;
2019-10-21 11:03:48 -04:00
}
// If this asset contains a blueprint, ensure that it's actions are also marked for pending delete
else if ( const IBlueprintAssetHandler * Handler = FBlueprintAssetHandler : : Get ( ) . FindHandler ( DeletingObject - > GetClass ( ) ) )
{
UBlueprint * Blueprint = Handler - > RetrieveBlueprint ( DeletingObject ) ;
if ( Blueprint & & ActionDatabase . ClearAssetActions ( Blueprint ) )
{
PendingDelete . Add ( Blueprint ) ;
}
}
2014-08-15 16:12:46 -04:00
}
}
2014-08-11 18:39:28 -04:00
//------------------------------------------------------------------------------
static void BlueprintActionDatabaseImpl : : OnAssetRemoved ( FAssetData const & AssetInfo )
{
FBlueprintActionDatabase & ActionDatabase = FBlueprintActionDatabase : : Get ( ) ;
if ( AssetInfo . IsAssetLoaded ( ) )
{
2014-08-23 20:16:29 -04:00
UObject * AssetObject = AssetInfo . GetAsset ( ) ;
2014-12-01 19:02:24 -05:00
OnAssetRemoved ( AssetObject ) ;
2014-08-11 18:39:28 -04:00
}
2014-09-26 11:31:34 -04:00
else
{
ActionDatabase . ClearUnloadedAssetActions ( AssetInfo . ObjectPath ) ;
}
}
2014-12-01 19:02:24 -05:00
//------------------------------------------------------------------------------
static void BlueprintActionDatabaseImpl : : OnAssetRemoved ( UObject * AssetObject )
{
FBlueprintActionDatabase & ActionDatabase = FBlueprintActionDatabase : : Get ( ) ;
ActionDatabase . ClearAssetActions ( AssetObject ) ;
2015-07-31 14:01:56 -04:00
for ( auto It ( PendingDelete . CreateIterator ( ) ) ; It ; + + It )
{
if ( ( * It ) . Get ( ) = = AssetObject )
{
// the delete went through, so we don't need to track these for re-add
It . RemoveCurrent ( ) ;
break ;
}
}
2014-12-01 19:02:24 -05:00
}
//------------------------------------------------------------------------------
static void BlueprintActionDatabaseImpl : : OnBlueprintUnloaded ( UBlueprint * BlueprintObj )
{
OnAssetRemoved ( BlueprintObj ) ;
}
2014-09-26 11:31:34 -04:00
//------------------------------------------------------------------------------
static void BlueprintActionDatabaseImpl : : OnAssetRenamed ( FAssetData const & AssetInfo , const FString & InOldName )
{
FBlueprintActionDatabase & ActionDatabase = FBlueprintActionDatabase : : Get ( ) ;
if ( ! AssetInfo . IsAssetLoaded ( ) )
{
ActionDatabase . MoveUnloadedAssetActions ( * InOldName , AssetInfo . ObjectPath ) ;
}
2014-08-11 18:39:28 -04:00
}
2015-04-11 10:23:56 -04:00
//------------------------------------------------------------------------------
static void BlueprintActionDatabaseImpl : : OnWorldAdded ( UWorld * NewWorld )
{
2015-04-14 22:58:32 -04:00
if ( IsObjectValidForDatabase ( NewWorld ) )
{
FBlueprintActionDatabase : : Get ( ) . RefreshAssetActions ( ( UObject * ) NewWorld ) ;
}
2015-04-11 10:23:56 -04:00
}
2014-09-17 16:02:23 -04:00
//------------------------------------------------------------------------------
static void BlueprintActionDatabaseImpl : : OnWorldDestroyed ( UWorld * DestroyedWorld )
{
2015-04-14 22:58:32 -04:00
if ( IsObjectValidForDatabase ( DestroyedWorld ) )
{
FBlueprintActionDatabase : : Get ( ) . ClearAssetActions ( ( UObject * ) DestroyedWorld ) ;
}
2015-04-11 10:23:56 -04:00
}
//------------------------------------------------------------------------------
2015-04-14 09:16:22 -04:00
static void BlueprintActionDatabaseImpl : : OnRefreshLevelScripts ( UWorld * World )
2015-04-11 10:23:56 -04:00
{
2015-04-14 22:58:32 -04:00
if ( IsObjectValidForDatabase ( World ) )
{
FBlueprintActionDatabase : : Get ( ) . RefreshAssetActions ( ( UObject * ) World ) ;
}
2014-09-17 16:02:23 -04:00
}
//------------------------------------------------------------------------------
static bool BlueprintActionDatabaseImpl : : IsObjectValidForDatabase ( UObject const * Object )
{
bool bReturn = false ;
2015-01-15 15:57:51 -05:00
if ( Object = = nullptr )
{
bReturn = false ;
}
2021-02-18 18:13:28 -04:00
else if ( Object - > GetOutermost ( ) - > HasAnyPackageFlags ( PKG_PlayInEditor | PKG_ForDiffing ) )
2014-12-15 15:29:48 -05:00
{
2021-02-18 18:13:28 -04:00
// Do not keep track of any PIE/diff objects as they will not exist after those processes finish
2014-12-15 15:29:48 -05:00
bReturn = false ;
}
else if ( Object - > IsAsset ( ) )
2014-09-17 16:02:23 -04:00
{
bReturn = true ;
}
2019-10-01 20:41:42 -04:00
else if ( Object - > IsA < UBlueprint > ( ) )
2014-09-17 16:02:23 -04:00
{
2019-10-01 20:41:42 -04:00
// If this is a blueprint contained within an asset, we can include it in the action database
UObject * PotentialAsset = Object - > GetOuter ( ) ;
while ( PotentialAsset )
{
if ( PotentialAsset - > IsAsset ( ) )
{
bReturn = true ;
break ;
}
PotentialAsset = PotentialAsset - > GetOuter ( ) ;
}
2014-09-17 16:02:23 -04:00
}
2015-04-17 04:47:41 -04:00
else if ( UWorld const * World = Cast < UWorld > ( Object ) )
2015-04-11 10:23:56 -04:00
{
2015-04-17 04:47:41 -04:00
// We now use worlds as databse keys to manage the level scripts they own, but we only want Editor worlds.
if ( World - > WorldType = = EWorldType : : Editor )
{
bReturn = true ;
}
2015-04-11 10:23:56 -04:00
}
2014-09-17 16:02:23 -04:00
return bReturn ;
}
2014-07-09 12:17:42 -04:00
/*******************************************************************************
* FBlueprintActionDatabase
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
2018-05-30 14:47:08 -04:00
static FBlueprintActionDatabase * DatabaseInst = nullptr ;
2014-08-04 18:28:34 -04:00
//------------------------------------------------------------------------------
2014-08-08 15:35:56 -04:00
FBlueprintActionDatabase & FBlueprintActionDatabase : : Get ( )
2014-08-04 18:28:34 -04:00
{
2014-08-08 15:35:56 -04:00
if ( DatabaseInst = = nullptr )
2014-08-04 18:28:34 -04:00
{
2014-08-08 15:35:56 -04:00
DatabaseInst = new FBlueprintActionDatabase ( ) ;
}
2014-08-04 18:28:34 -04:00
2014-08-08 15:35:56 -04:00
return * DatabaseInst ;
}
2014-08-04 18:28:34 -04:00
2018-05-30 14:47:08 -04:00
//------------------------------------------------------------------------------
FBlueprintActionDatabase * FBlueprintActionDatabase : : TryGet ( )
{
return DatabaseInst ;
}
2014-08-08 15:35:56 -04:00
//------------------------------------------------------------------------------
FBlueprintActionDatabase : : FBlueprintActionDatabase ( )
{
RefreshAll ( ) ;
2020-02-03 11:11:27 -05:00
OnAssetLoadedDelegateHandle = FCoreUObjectDelegates : : OnAssetLoaded . AddStatic ( & BlueprintActionDatabaseImpl : : OnAssetLoaded ) ;
2014-08-11 18:39:28 -04:00
IAssetRegistry & AssetRegistry = FModuleManager : : LoadModuleChecked < FAssetRegistryModule > ( TEXT ( " AssetRegistry " ) ) . Get ( ) ;
2020-02-03 11:11:27 -05:00
OnAssetAddedDelegateHandle = AssetRegistry . OnAssetAdded ( ) . AddStatic ( & BlueprintActionDatabaseImpl : : OnAssetAdded ) ;
OnAssetRemovedDelegateHandle = AssetRegistry . OnAssetRemoved ( ) . AddStatic ( & BlueprintActionDatabaseImpl : : OnAssetRemoved ) ;
OnAssetRenamedDelegateHandle = AssetRegistry . OnAssetRenamed ( ) . AddStatic ( & BlueprintActionDatabaseImpl : : OnAssetRenamed ) ;
2014-08-15 16:12:46 -04:00
2020-02-03 11:11:27 -05:00
OnAssetsPreDeleteDelegateHandle = FEditorDelegates : : OnAssetsPreDelete . AddStatic ( & BlueprintActionDatabaseImpl : : OnAssetsPendingDelete ) ;
OnBlueprintUnloadedDelegateHandle = FKismetEditorUtilities : : OnBlueprintUnloaded . AddStatic ( & BlueprintActionDatabaseImpl : : OnBlueprintUnloaded ) ;
2014-09-17 16:02:23 -04:00
2020-02-03 11:11:27 -05:00
OnWorldAddedDelegateHandle = GEngine - > OnWorldAdded ( ) . AddStatic ( & BlueprintActionDatabaseImpl : : OnWorldAdded ) ;
OnWorldDestroyedDelegateHandle = GEngine - > OnWorldDestroyed ( ) . AddStatic ( & BlueprintActionDatabaseImpl : : OnWorldDestroyed ) ;
RefreshLevelScriptActionsDelegateHandle = FWorldDelegates : : RefreshLevelScriptActions . AddStatic ( & BlueprintActionDatabaseImpl : : OnRefreshLevelScripts ) ;
2015-03-09 20:28:13 -04:00
2020-02-03 11:11:27 -05:00
OnModulesChangedDelegateHandle = FModuleManager : : Get ( ) . OnModulesChanged ( ) . AddStatic ( & BlueprintActionDatabaseImpl : : OnModulesChanged ) ;
2019-01-10 17:26:53 -05:00
2021-03-18 08:13:59 -04:00
OnReloadCompleteDelegateHandle = FCoreUObjectDelegates : : ReloadCompleteDelegate . AddStatic ( & BlueprintActionDatabaseImpl : : OnReloadComplete ) ;
2020-02-03 11:11:27 -05:00
}
2020-01-30 11:11:12 -05:00
2020-02-03 11:11:27 -05:00
//------------------------------------------------------------------------------
FBlueprintActionDatabase : : ~ FBlueprintActionDatabase ( )
{
FCoreUObjectDelegates : : OnAssetLoaded . Remove ( OnAssetLoadedDelegateHandle ) ;
if ( FModuleManager : : Get ( ) . IsModuleLoaded ( TEXT ( " AssetRegistry " ) ) )
{
IAssetRegistry & AssetRegistry = FModuleManager : : LoadModuleChecked < FAssetRegistryModule > ( TEXT ( " AssetRegistry " ) ) . Get ( ) ;
AssetRegistry . OnAssetAdded ( ) . Remove ( OnAssetAddedDelegateHandle ) ;
2021-11-18 15:27:23 -05:00
AssetRegistry . OnAssetRemoved ( ) . Remove ( OnAssetRemovedDelegateHandle ) ;
AssetRegistry . OnAssetRenamed ( ) . Remove ( OnAssetRenamedDelegateHandle ) ;
2020-02-03 11:11:27 -05:00
}
FEditorDelegates : : OnAssetsPreDelete . Remove ( OnAssetsPreDeleteDelegateHandle ) ;
FKismetEditorUtilities : : OnBlueprintUnloaded . Remove ( OnBlueprintUnloadedDelegateHandle ) ;
if ( GEngine )
{
GEngine - > OnWorldAdded ( ) . Remove ( OnWorldAddedDelegateHandle ) ;
2021-11-18 15:27:23 -05:00
GEngine - > OnWorldDestroyed ( ) . Remove ( OnWorldDestroyedDelegateHandle ) ;
2020-02-03 11:11:27 -05:00
}
FWorldDelegates : : RefreshLevelScriptActions . Remove ( RefreshLevelScriptActionsDelegateHandle ) ;
FModuleManager : : Get ( ) . OnModulesChanged ( ) . Remove ( OnModulesChangedDelegateHandle ) ;
2021-03-18 08:13:59 -04:00
FCoreUObjectDelegates : : ReloadCompleteDelegate . Remove ( OnReloadCompleteDelegateHandle ) ;
2014-08-04 18:28:34 -04:00
}
2014-07-09 12:17:42 -04:00
//------------------------------------------------------------------------------
2014-08-08 15:35:56 -04:00
void FBlueprintActionDatabase : : AddReferencedObjects ( FReferenceCollector & Collector )
2014-07-09 12:17:42 -04:00
{
2015-09-24 11:58:53 -04:00
TSet < UBlueprintNodeSpawner * > AllActions ;
2014-08-23 20:16:29 -04:00
for ( auto & ActionListIt : ActionRegistry )
2014-07-09 12:17:42 -04:00
{
2015-09-24 11:58:53 -04:00
AllActions . Append ( ActionListIt . Value ) ;
2014-08-08 15:35:56 -04:00
Collector . AddReferencedObjects ( ActionListIt . Value ) ;
2014-07-09 12:17:42 -04:00
}
2015-07-24 17:52:02 -04:00
// shouldn't have to do this, as the elements listed here should also be
// accounted for in the regular ActionRegistry, but just in case we fail to
// remove an element from here when we should.... this'll make sure these
// elements stick around (so we don't crash in ClearUnloadedAssetActions)
2015-09-24 11:58:53 -04:00
if ( UnloadedActionRegistry . Num ( ) > 0 )
2015-07-24 17:52:02 -04:00
{
2015-09-24 11:58:53 -04:00
TSet < UBlueprintNodeSpawner * > UnloadedActions ;
for ( auto & UnloadedActionListIt : UnloadedActionRegistry )
{
UnloadedActions . Append ( UnloadedActionListIt . Value ) ;
Copying //UE4/Release-Staging-4.13 to //UE4/Dev-Main (Source: //UE4/Release-4.13 @ 3106830)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3106830 on 2016/08/30 by Daniel.Lamb
Fix hang in cooker caused by not processing async shader compilation.
#test cook shootergame git hub
#jira UE-35329
Change 3104890 on 2016/08/29 by Marc.Audy
Provide backwards compat fixup for ProcMesh components created in the window where they were no longer transient, but not yet marked public
#jira UE-35280
Change 3104847 on 2016/08/29 by Dan.Oconnor
Fix, for the fix. Moved pin link destruction out of the volatile context, now doing it after text buffer has been consumed.
#jira UE-35276
Change 3104828 on 2016/08/29 by Marc.Audy
Since ProcMeshBodySetup is instanced, it needs to be Public in the BP so that the Archetype reference doesn't cause a GLEO
#jira UE-35280
Change 3104706 on 2016/08/29 by Dan.Oconnor
Make sure pin links are destroyed when attempting to destroy a node that cannot be copy/pasted into a different graph
#jira UE-35276
Change 3104329 on 2016/08/29 by Marcus.Wassmer
Fix PostProcess materials being broken in SM4
#jira UE-35267
Change 3103964 on 2016/08/28 by Mitchell.Wilson
Rebuildt lighting in Content Examples lighting level
#jira UE-34656
Change 3103819 on 2016/08/27 by nick.bullard
Submitting change as fallback for next build
#jira UE-29618
Change 3103810 on 2016/08/27 by Daniel.Wright
Point and spot lights are now supported in orthographic projections using standard deferred
#jira UE-35198
Change 3103756 on 2016/08/27 by Steve.Robb
Back out revision 2 from //UE4/Release-4.13/Engine/Source/Runtime/Engine/Classes/AI/Navigation/NavigationTypes.h
#jira UE-34361
Change 3103632 on 2016/08/26 by Steve.Robb
Fixes for FGCObject usage. Hopefully will fix partially-initalized pointers being passed to the GC.
#jira UE-34361
Change 3103541 on 2016/08/26 by Marcus.Wassmer
Duplicate 3102654
Fix for D3D error with mismatched vertex/pixel shader registers for SV_POSITION input. Remove unused PixelPosition attribute from interpolators
#jira UE-33424
Change 3103313 on 2016/08/26 by Mitchell.Wilson
Rebuilt lighting on multiple levels in Content Examples
#jira UE-34656
Change 3103283 on 2016/08/26 by Mark.Satterthwaite
Mac binaries for hlslcc update in CL #3076397.
#jira UE-32629
Change 3103126 on 2016/08/26 by Nick.Shin
since last checkin (CL: 2981945) - prints are crashing the browser - this change will allow browser to print the details via console.log()
PULLING from CL: #3102900
#jira UE-26047 - HTML5 HTTP Response Headers not implemented
Change 3102929 on 2016/08/26 by Marc.Audy
Don't display inaudible sounds when using stat soundcues
#jira UE-35237
Change 3102563 on 2016/08/26 by Matthew.Griffin
Changed CS tools step so that Swarm projects are only built on Windows, causing problems for Mac and Linux
Change 3102491 on 2016/08/26 by Matthew.Griffin
Mark Nightly build as including Editor, Tools, Monolithics & DDC to prevent multiple DDC jobs being kicked off after it starts
Change 3102424 on 2016/08/26 by Matthew.Griffin
Changed ClearString to reset the string instead of allocate a new one in case this is the cause of crash on exit on Mac
Change 3102265 on 2016/08/26 by Jack.Porter
Fixed crash due to landscape texture streaming on iOS referring to PC-only data
#jira UE-34874
Change 3102194 on 2016/08/25 by Zabir.Hoque
Fix FD3D12ResouceLocation being created without a valid device.
#jira UE-35137
Change 3102079 on 2016/08/25 by Chris.Babcock
Fix Android OnControllerConnectionChange event to return right controller ID
#jira UE-25697
#ue4
#android
Change 3102001 on 2016/08/25 by Jeff.Campeau
Force root path for era.xvd
#jira UE-35138
Change 3101468 on 2016/08/25 by Peter.Sauerbrei
fix for no debug information in development, debug, debug game, or test
#jira UE-35203
Change 3100475 on 2016/08/24 by Jeff.Campeau
Include the side loaded ERA from the XDK we're building with when deploying loose file builds from tools (VS and packaging take care of this for us).
#jira UE-35138
Change 3100347 on 2016/08/24 by Max.Preussner
Media: Fixed media shader pixel conversion, interpolation, and brightness issue in Kite demo (UE-35162)
#jira UE-35162
Change 3100277 on 2016/08/24 by Jeremiah.Waldron
Fixing UPL setStringFromProperty to use the default value if the ConfigIni fails to find a value for the given property in the given section
Previously, if a value was missing from the ini, UPL variables would be set to an empty string rather than the default value in this case
Copied from Dev-Platform CL 3100246
#jira UE-35173
Change 3100244 on 2016/08/24 by Aaron.McLeran
#jira UE-35141 Audio no longer plays once window loses focus
Fix is to not include application volume changes (tabbing or application volume) when evaluating sound waves for inclusion in wave instance list, etc. Only use the "actual" volume when setting the volume on playing sound sources.
#tests tab out of game when running, audio returns to normal like it should (including 1-shot sounds)
Change 3100076 on 2016/08/24 by Dmitry.Rekman
Fix crash on Linux server start (UE-35102)
- Avoid initializing VR resources on servers.
- The issue seems to be caused by inability to load VRText_RobotoLarge.uasset in -server mode. Proper fix is tracked as UE-35166.
#jira UE-35102
Change 3099964 on 2016/08/24 by Graeme.Thornton
Make sure hot reload is disabled in all server builds
#jira UE-35140
Change 3099761 on 2016/08/24 by Matt.Kuhlenschmidt
Fix crash when deleting sample content from a project. At some point along the line a blueprint is deleted which forces a GC and cleans up an object prematurely. This is fine as the cleaned up object is already deleted. We just need to check for nulls in the object to delete array
#jira UE-35104
Change 3099744 on 2016/08/24 by Mitchell.Wilson
Rebuilt lighting and geometry on Sanctuary map.
#jira UE-34991
Change 3099707 on 2016/08/24 by Mitchell.Wilson
Added EndGFX_Source.uasset and updated other media assets for changes to media framework. Updated cinematic level BP to play new media properly.
#jira UE-34856
Change 3099660 on 2016/08/24 by Chris.Babcock
Make SPIRV default shader format for Vulkan on Android
#jira UE-35159
#ue4
#android
Change 3099629 on 2016/08/24 by Tom.Looman
Fixed issue in VR Template with floating teleport indicator.
#jira ue-35145
Change 3099570 on 2016/08/24 by Peter.Sauerbrei
development provision out of date which was causing Game Center to ignore login requests
#jira UE-35089
Change 3099442 on 2016/08/24 by Gareth.Martin
Fixed landscape accidentally being made blueprintable in 4.13
#jira UE-35147
Change 3099304 on 2016/08/24 by Benn.Gallagher
Added reinit for skeletal mesh components of actors that have been compiled, to mitigate hard to track crash from previews.
#jira UE-35030
Change 3099232 on 2016/08/24 by Max.Preussner
Fixed non-unity build.
#jira UE-35124
Change 3099148 on 2016/08/24 by Matthew.Griffin
Normalize path separators of ParentDir so that check against root build storage directory succeeds
Change 3099137 on 2016/08/24 by Matthew.Griffin
Added node to Clean old Packaged Samples now that we're happy they're working correctly
Change 3099133 on 2016/08/24 by Matthew.Griffin
Added BuildCommand to use CleanFormalBuilds in BuildGraph scripts
Change 3099082 on 2016/08/24 by Matthew.Griffin
Adding token for Github promotion step so that it can't be run twice
Change 3099028 on 2016/08/24 by Max.Chen
Movie Capture: Fix matinee movie capture not getting ticked
#jira UE-35116
Change 3098890 on 2016/08/23 by Max.Preussner
PS4Media: Implemented an option to play audio tracks via the OS sound mixer
#jira UE-35125
Change 3098887 on 2016/08/23 by Max.Preussner
WmfMedia: Moved settings into shared module
#jira UE-35124
Change 3098700 on 2016/08/23 by Leslie.Nivison
Updating UE credits
#jira UEPROD-879
Change 3098682 on 2016/08/23 by Mark.Satterthwaite
Fix "Match3 crashes on device after locking and unlocking the screen on iOS", accidentally left a Mac-only assert in MetalStateCache::SetRenderTargetsInfo.
#jira UE-35117
Change 3098645 on 2016/08/23 by Marc.Audy
Handle RegisterSoundClasses on the AudioThread correctly
#jira UE-35130
Change 3098591 on 2016/08/23 by Mitchell.Wilson
Back out changelist 3095222
#jira UE-35120
Change 3098579 on 2016/08/23 by Max.Preussner
WmfMedia: Implemented an option to play audio tracks via the OS sound mixer (UE-35124)
#jira UE-35124
#jira UEPLAT-1375
Change 3098559 on 2016/08/23 by Marc.Audy
Don't allow the consideration of nodes that won't be processed to affect the live aspect of the active sound containing a cross fade node
#jira UE-34998
Change 3098461 on 2016/08/23 by Richard.TalbotWatkin
Changed notification text when geometry errors are detected in a level which has just been loaded; it's now clear that the issues are due to faults in previous versions of the editor, and not due to user error. Added a timeout of 25 seconds to the notification, so that it'll disappear if you don't do anything. Added extra code to the ResavePackages commandlet to automatically perform a geometry rebuild on any levels suffering this issue.
#jira UE-35047 - CLONE - Geometry Requires Rebuilding Opening OrionEntry in Editor
Change 3098451 on 2016/08/23 by Peter.Sauerbrei
fix for low end devices which don't support arm64 not being able to install on device
#jira UE-35109
Change 3098425 on 2016/08/23 by Olaf.Piesche
replicating CL 3098418
#jira UE-34838
Change 3098415 on 2016/08/23 by Max.Preussner
MediaAssets: Fixed image sink not being reset (UE-35114)
#jira UE-35114
Change 3098389 on 2016/08/23 by Chris.Babcock
Add Android Mediaplayer GetInfo support
#jira UE-35111
#ue4
#android
Change 3098181 on 2016/08/23 by Jeff.Fisher
UEVR-134 Morpheus HMD sceCommonDialogInitialize should not assert if already initialized
-duplicating fix in dev-VR for 4.13
-Replace the assert & return with logging. Its ok if this is already initialized, and it really ought not fail in any other way... and if it does, well lets continue to setup VR mode. Dialogs may not function, however.
#jira UEVR-134
Change 3098111 on 2016/08/23 by Ben.Marsh
UAT: Insert quotes as appropriate when printing out the command line for a command.
Change 3098082 on 2016/08/23 by Ben.Marsh
EC: Fix missing argument to build_agent_setup().
Change 3098076 on 2016/08/23 by Ben.Marsh
Tidy up token diagnostic messages.
Change 3098065 on 2016/08/23 by Ben.Marsh
EC: Pass the token signature to child jobs such as triggered builds, so they can continue to use the same entitlements.
Change 3097830 on 2016/08/23 by Max.Chen
Fbx Export: Fix sequencer skeletal animation track export so that it exports out the correct frame range (the playback range of the movie scene).
#jira UE-35092
Change 3097829 on 2016/08/23 by Gareth.Martin
Fixed crash loading a landscape level after deleting a layer info it depends on
#jira UE-35059
Change 3097700 on 2016/08/23 by Mason.Seay
Back out revision 2 from //UE4/Release-4.13/QAGame/Content/Materials/BaseColor/MI_BaseColor_Yellow.uasset (was deleted by accident)
#jira UE-29618
Change 3097687 on 2016/08/23 by Ben.Woodhouse
Change the per-object shadow depth bias to match the CSM one to avoid self-shadowing artifacts.
#jira UE-32221
Change 3097667 on 2016/08/23 by Mitchell.Wilson
Rebuilt geometry to resolve rebuilt pop up when launching the project.
#jira UE-34991
Change 3097664 on 2016/08/23 by mason.seay
Deleted old blueprint
#jira UE-29618
Change 3097622 on 2016/08/23 by Ben.Marsh
BuildGraph: Output a more useful list of skipped target nodes due to pre-existing tokens.
Change 3097602 on 2016/08/23 by Ben.Marsh
Remove dependency on DeploymentInterface from UAT modules.
Change 3097592 on 2016/08/23 by Jurre.deBaare
Force one smoothing group did not work for Alembic objects that don't contain normals
#fix Number of smoothing groups should equal number of faces not indices
#jira UE-35026
Change 3097574 on 2016/08/23 by Gareth.Martin
Fixed crash importing a heightmap larger than the landscape
#jira UE-35054
Change 3097361 on 2016/08/22 by Max.Chen
Sequencer: Move ExportEDL to close()
#jira UE-35032
Change 3097297 on 2016/08/22 by Jeff.Campeau
LibCurl built with support for WinXP (GetTickCount instead of GetTickCount64).
Separate lib under Win32/VS2013_xp to avoid degrading functionality of non-XP builds.
Reset the lib path for XP in UEBuildWindows.cs
#jira UE-31243, UE-32421
Change 3097292 on 2016/08/22 by Max.Chen
Sequencer: Fix export not writing out edl files.
#jira UE-35032
Change 3097176 on 2016/08/22 by Mike.Beach
Mirroring CL 3097150 from Dev-BP
When converting function entry/exit nodes from an interface, set the replacement user-defined pins "DesiredDirection" properly (we now reject pins that don't match the expected direction, and user-defined pins created this way were setup wrong).
#jira UE-34985
Change 3097161 on 2016/08/22 by Aaron.McLeran
#jira UE-35072 Crash dragging Sound Wave onto Output node in Newly Created Empty Sound Cue
Change 3097128 on 2016/08/22 by Dmitry.Rekman
Linux: fix crash on exit (UE-34909).
- Caused by race condition between FPThreadRunnableThread destructor and PostRun().
- This is a patch, issue will be addressed properly in UE-35074.
#jira UE-34909
Change 3097126 on 2016/08/22 by Marc.Audy
Reenable stat soundmixes
Fix long names not having a unique enum value
#jira UE-35070
Change 3096987 on 2016/08/22 by Max.Preussner
Media: Fixed media not playing on Android (UE-34898)
#jira UE-34898
Change 3096843 on 2016/08/22 by Marc.Audy
Fix up weights and has been used arrays in PostLoad instead of repeatedly in Parse. Avoids crash in GetNumSounds if Parse has never been called
#jira UE-35055
Change 3096732 on 2016/08/22 by Marc.Audy
Just use the default physics volume if there is no WorldSettings object
#jira UE-35060
Change 3096448 on 2016/08/22 by Mitchell.Wilson
Removed "Gear:" from HUD to be consistant with C++ version of template.
#jira UE-34756
Change 3096447 on 2016/08/22 by Gareth.Martin
Fixed crash running Landscape levels on mobile
#jira UE-34874
Change 3096399 on 2016/08/22 by Mitchell.Wilson
Re-saving asset to resolve empty engine version warning.
#jira UE-35012
Change 3096364 on 2016/08/22 by alan.willard
Checkin to update engine version.
#jira UE-34683
Change 3096358 on 2016/08/22 by Jurre.deBaare
Crash when importing Alembic asset as "skeletal," replacing a Geometry Cache instance of the asset
#fix underlying issue was that the FrameEnd value wasn't being set correctly in the reimport path and thus FrameStart and FrameEnd would be 0
#misc added check + error message when trying to import an invalid frame range
#jira UE-35014
Change 3096309 on 2016/08/22 by Jurre.deBaare
Materials are not imported with an alembic cache when it is reimported
#fix Notify asset registry of created materials (to make them visible in content browser immediately)
#jira UE-35038
Change 3096271 on 2016/08/22 by Peter.Sauerbrei
fix for incorrect architecture list in generated plist
#jira UE-35002
Change 3096255 on 2016/08/22 by Gareth.Martin
Fixed Mac compile of CL 3096155
#jira UE-34574
Change 3096220 on 2016/08/22 by Jurre.deBaare
Alembic importer does not remove duplicate verts in skeletal mesh
#fix Added duplicate vertex removal to skeletal mesh import path
#jira UE-35025
Change 3096215 on 2016/08/22 by Jurre.deBaare
Force one smoothing group did not work for Alembic objects that don't contain normals
#fix Check for the import settings flag and generate normals/smoothing groups accordingly
#JIRA UE-35026
Change 3096191 on 2016/08/22 by Jurre.deBaare
Should force import type to remain the same when reimporting any Alembic assets
#fix Added setting customization and reimporting flag to restrict import type restrictions during reimporting process
#jira UE-35024
Change 3096188 on 2016/08/22 by Jurre.deBaare
Crash when PIE after reimporting a geometry cache alembic file with materials
#fix Return correct material object, otherwise transient would be used and destroyed somewhere along the way
#jira UE-35020
Change 3096187 on 2016/08/22 by Mitchell.Wilson
Re-saving level again to resolve vetex paint warning.
#jira UE-34662
Change 3096155 on 2016/08/22 by Gareth.Martin
Fixed another missing shader crash in landscape editor
#jira UE-34574
Change 3096132 on 2016/08/22 by Jack.Porter
Fixed issue with missing landscape components in ElementalDemo
#jira UE-34918
Change 3096116 on 2016/08/22 by Mitchell.Wilson
Adding D-pad controls for certain controllers
#jira UE-34726
Change 3096089 on 2016/08/22 by Matthew.Griffin
Adding Tokens to Installed Build to avoid clashes
Change 3096082 on 2016/08/22 by Joe.Conley
Small PS4 save data fix.
Fixing copy and paste typo that was passing a mismatched parameter to sceSaveDataSetParam
#jira UE-35021 - Passing a mismatched parameter to sceSaveDataSetParam on PS4
Change 3096046 on 2016/08/22 by Richard.TalbotWatkin
PR #2715: Fix array out of bounds on USplineComponent::RemoveSplinePoint (Contributed by 0lento).
Also fixed some other issues introduced with the recent spline code changes.
#jira UE-34930 - GitHub 2715 : Fix array out of bounds on USplineComponent::RemoveSplinePoint
Change 3095848 on 2016/08/21 by Dmitriy.Dyomin
Fixed: Text in Mobile Packaging Wizard UI points to missing documentation
#jira UE-35015
Change 3095540 on 2016/08/19 by Gareth.Martin
Fixed errors if Landscape Component GIBakedBaseColorTexture had been reassigned
#jira UE-34794
Change 3095248 on 2016/08/19 by Mitchell.Wilson
Updating PostProcessing level Screen Percentage to be more noticable.
#jira UE-34950
Change 3095247 on 2016/08/19 by Nick.Whiting
Removing r.FinishCurrentFrame=1 from VR Template config, which shouldn't be there.
#jira UE-34970
Change 3095222 on 2016/08/19 by Mitchell.Wilson
Re-saving all levels in Elemental Demo to resolve vert paint warnings
#jira UE-34864
Change 3095119 on 2016/08/19 by Lauren.Ridge
Reverting TapJoy implementation in Unreal Match 3
#jira UE-33256
Change 3095094 on 2016/08/19 by Mark.Satterthwaite
Fix black flickering in Metal rendering when using Metal SM5:
- Compute shaders write to a UAV texture so mark a texture as written when bound as a UAV.
#jira UE-34917
Change 3095058 on 2016/08/19 by Mitchell.Wilson
Re-saving all levels in Showdown to resolve vert paint warnings.
#jira UE-34722
Change 3094985 on 2016/08/19 by Benn.Gallagher
Fixed debris firing in infiltrator demo on PS4 after the main character leaves the sewer. Caused by some undefined behavior in a bitfield write due to an optimization.
#jira UE-34832
Change 3094957 on 2016/08/19 by Mitchell.Wilson
Updating spelling errors on multiple levels in Content Examples.
#jira UE-34910 UE-34907 UE-34911
Change 3094924 on 2016/08/19 by Marc.Audy
Zero-volume vorbis decoded sounds are too expensive
-Adding an audio settings parameter to disable zero-volume playback globally
-Adding a new bool on sound waves to allow opt-in to virtualize when at zero-volume
#jira UE-34951
#author aaron.mcleran
Change 3094644 on 2016/08/19 by Mitchell.Wilson
Re-saving asset to resolve empty engine version warning
#jira UE-34846
Change 3094641 on 2016/08/19 by Mitchell.Wilson
Updated location of Ledge_17
#jira UE-34848
Change 3094606 on 2016/08/19 by Lina.Halper
#ANIM: SmartNAME: the cooking doesn't guarantee the package is saved in the order, so we'll still have to regenerate list without GUID.
- assumed the name is all set by now
#jira : UE-34886
Change 3094500 on 2016/08/19 by Matthew.Griffin
Pass on Initial Properties when reading projects recursively so that we use the desired platform and configuration
Change 3094477 on 2016/08/19 by Gareth.Martin
Fixed crash loading old Landscape levels with tessellation
#jira UE-34877
Change 3094472 on 2016/08/19 by Gareth.Martin
Fixed crash loading old landscape levels with bad collision in standalone uncooked game
#jira UE-34843
Change 3094471 on 2016/08/19 by Graeme.Thornton
Mark PC platforms as not exiting immediately after launching when using UAT
- Causes cook on the fly servers that were spawned when doing launch-on in the editor to close down when the client exits
#jira UE-34788
Change 3094362 on 2016/08/19 by Max.Chen
Sequencer: Fix Export FBX so that when exporting selected nodes, all descendant object binding nodes are exported.
#jira UE-34459
Change 3093997 on 2016/08/18 by Mitchell.Wilson
Added gamepad keybinding for breaking free at the beginning of platformer game.
Updated jump and slide gamepad controls to be left stick up/down
#jira UE-34726
Change 3093979 on 2016/08/18 by Max.Chen
Sequencer: Fixed byte, integer and string properties not being able to be exposed to cinematics on blueprints
#jira UE-32141
Change 3093893 on 2016/08/18 by Max.Chen
Back out changelist 3093883
#jira UE-32141
Change 3093883 on 2016/08/18 by Max.Chen
Sequencer: Fixed byte, integer and string properties not being able to be exposed to cinematics on blueprints
#jira UE-32141
Change 3093699 on 2016/08/18 by Dmitry.Rekman
Linux: fixed crash on converting BSP shapes to mesh (UE-28322).
- Was a particular case of a more generic problem: race condition between accessing the window on render thread (Slate queued it for drawing) and deleting it on game thread (can happen as a result of a chain of delegates called from an event handler, like OnMouseUp).
- The current solution is to defer native window deletion so that it survives for at least one more tick (Slate window will get deleted and won't be drawn anymore).
- Investigation why FlushRenderingCommands() (see FSlateRHIRenderer::OnWindowDestroyed) has not prevented it is tracked as UE-34906.
#jira UE-28322
Change 3093613 on 2016/08/18 by Alan.Willard
Updated trace behavior in HMDLocomotionPawn.uasset to trace to a location near walls, not into walls
#jira UE-34683
Change 3093544 on 2016/08/18 by Mitchell.Wilson
Changed mapping for thrust on controller to Right Stick Up/Down to resolve duplicate mapping error.
#jira UE-34419
Change 3093328 on 2016/08/18 by James.Golding
Fix description and tool text of Pose Driver to match new name (no longer Orientation Driver)
#jira UE-34015
Change 3093255 on 2016/08/18 by Matthew.Griffin
Corrected case of output folder so that it's not treated as different folder on Linux
Change 3093236 on 2016/08/18 by Allan.Bentham
Fix android VK crashes.
#jira UE-33593
Change 3093129 on 2016/08/18 by Benn.Gallagher
Fix for possible crash shutting down editor with attached components in active worlds. Skip creating new simulation bodies and weld constraints when we are purging for exit
#jira UE-34739
Change 3092702 on 2016/08/17 by Mark.Satterthwaite
Fix playback of movies on Mac/iOS that have spaces in the filename.
#jira UE-34857
Change 3092565 on 2016/08/17 by Dmitry.Rekman
Fixed incorrect window size in fullscreen (UE-19996).
"True" fullscreen mode on Linux (which involves monitor resolution change) has been disabled long ago due to problems like X11 being messed up if the program crashes, or even drivers being messed up during the resize for no reason. However, the distinction between Fullscreen and WindowedFullscreen modes was preserved and caused bugs because higher level code assumed different window size.
The less invasive fix is to disallow non-windowed fullscreen mode to be set altogether. Proper resolution tracked as UE-34854.
#jira UE-19996
Change 3092550 on 2016/08/17 by Chris.Babcock
Add exception trap for failing to save OBB
#jira UE-34852
#ue4
#android
Change 3092508 on 2016/08/17 by Chris.Babcock
Force OBB to never use Zip64 format
#jira UE-34849
#ue4
#android
Change 3092431 on 2016/08/17 by Chris.Babcock
Correct reading past end of central directory in OBB
#jira UE-34841
#ue4
#android
Change 3092407 on 2016/08/17 by Lauren.Ridge
Adding config for TapJoy
#jira UE-33256
Change 3092346 on 2016/08/17 by Mark.Satterthwaite
Address Mac Metal + Nvidia specific crash on launch-on for BlankProject with StarterContent:
- Disable RHI thread on Nvidia on Mac OS X El Capitan.
- Fix Metal validation error - ForwardLocalLightBuffer in LightGridInjection.usf:LightGridInjectionCS must always be bound even if the number of elements is zero as that's how the Metal spec. works.
#jira UE-34721
Change 3092208 on 2016/08/17 by Richard.TalbotWatkin
When errors in geometry are detected upon loading a level in the editor, a toast notification is now created so the user can choose whether to fix them or not.
Downgraded the output log warning to a regular info log.
Allowed both dynamic and static brushes to be fixed up.
#jira UE-34646 - //UE4/Release-4.13: Cook Orion Win64 completed with warnings: 78 warnings
Change 3092064 on 2016/08/17 by Max.Chen
Sequencer: Fix tangents on import FBX.
#jira UE-34823
Change 3091985 on 2016/08/17 by Brent.Pease
+ UnrealTargetConfiguration is now passed into deploy and package methods
+ The UIRequiredDeviceCapabilities plist key now only considers the architectures from the corresponding target configuration (shipping or development)
(Manual merge from Dev-Platform)
#jira UE-34773
Change 3091962 on 2016/08/17 by Jurre.deBaare
Force View is enabled after Generating Proxy Meshes
#issue due to latest changes the HLOD meshes were forced into view
#fix setting staticmesh component view distances after generating mesh, and restoring the correct forced LOD level afterwards
#misc replaced duplicate code with function call
#jira UE-34807
Change 3091890 on 2016/08/17 by Matt.Kuhlenschmidt
Fix crash with enum properties when there is metadata to define the allowed enum values per property
#jira UE-34804
Change 3091852 on 2016/08/17 by Lina.Halper
Change ensure to Clamp as this isn't any critical warning.
#jira: UE-34776
Change 3091845 on 2016/08/17 by Gareth.Martin
Fixed crash with masked landscape materials
#jira UE-34513
Change 3091816 on 2016/08/17 by Matthew.Griffin
Added Store Released Symbols job, to add symbols to server for a known release.
Change 3091805 on 2016/08/17 by Matthew.Griffin
Also adding source info into UE4Editor and Windows build tools for completeness
Change 3091753 on 2016/08/17 by Mitchell.Wilson
Adjusted the height of some bumps in Vehicle Advanced so the vehicle cannot get stuck.
#jira UE-34667
Change 3091613 on 2016/08/17 by Graeme.Thornton
Generate unique names for FLauncherWorker instances to avoid a thread metadata warning in the log
#jira UE-34785
Change 3091553 on 2016/08/17 by Gareth.Martin
Fixed older levels having default material on landscape when launched in uncooked standalone game
#jira UE-34348
#jira UE-34428
Change 3091519 on 2016/08/17 by Gareth.Martin
Fixed crash cooking landscape for mobile
Also fixes "object in other map" on sub-level save after using mobile preview and move to level tool
Based on Dmitriy.Dyomin's changes
#jira UE-34257
Change 3091354 on 2016/08/16 by Max.Chen
Fbx Export: Fix rich curve tangents on export for level sequence.
- Set tangent mode to user.
- Always bake rotations on cameras.
- Invert values and tangents when converting from unreal coords to fbx.
#jira UE-34459
Change 3091065 on 2016/08/16 by Stephan.Jiang
Duplicate icon changes for asset SoundConcurrency
#jira UE-24350
Change 3091001 on 2016/08/16 by Dmitry.Rekman
Fix for crash during "debug crash" handling (UE-34450).
Compounded problem:
- Debug versions of libc++ were running out of alt stack and smashing static variables next to it, resulting in more mysterious crashes down the road.
- In addition to that, crash malloc sometimes was running out of pools for certain allocation sizes.
Fixes:
- Replaced libc++ with release version.
- Added code to set a guard page on alt stack, so if the issue reoccurs it'll be easier to catch. Increased alt stack size somewhat to account for that.
- Increased crash malloc pools (and thus memory reserved on startup) for Linux.
#codeview Mark.Satterthwaite, Chris.Wood, Steven.Hutton
#jira UE-34450
Change 3090937 on 2016/08/16 by Mitchell.Wilson
Updated multiple template overview BPs so assets are properly highlighted while moving forward and back.
#jira UE-34139
Change 3090646 on 2016/08/16 by Martin.Wilson
Fix for cook warnings in Fortnite
#jira UE-34648
Change 3090645 on 2016/08/16 by James.Golding
Fix face normal on cap faces when slicing proc mesh
#jira UE-33301
Change 3090619 on 2016/08/16 by Richard.TalbotWatkin
Fixed issue where spline components were sometimes not rendered correctly when unselected in the editor. This was due to the render proxy not being updated when the spline is updated.
#jira UE-34758 - SplineComponent debug render is sometimes not in sync with the current spline points
Change 3090520 on 2016/08/16 by Olaf.Piesche
Replicating 3089104 for
#jira UE-34241
Change 3090513 on 2016/08/16 by Jurre.deBaare
LOD's pop in after LOD actors is visible in viewport.
#fix Was actually not baking the materials out, set the LOD selection type for HLOD to default to calculate LOD model and to MergeAllLODs for MeshMerging tool (possible for user to change in this case)
#misc Fix with in WorldSettings post-load hack for Hierarchical LOD settings
#jira UE-34689
Change 3090512 on 2016/08/16 by Jurre.deBaare
Prevent preview scene assets being loaded in game
#fix moved UAssetViewerSettings and SceneProfiels file into UnrealEd and replaced the default cube map with smaller filesize one
#jira UE-34701
Change 3090494 on 2016/08/16 by Keith.Judge
Xbox One - Remove CPU/GPU sync when updating or unlocking textures. This was causing stutters.
#jira UE-34735
Change 3090450 on 2016/08/16 by Richard.TalbotWatkin
Added calls to invalidate the viewport and hit proxy when adding or deleting points from a spline.
#jira UE-34627 - Crash using Camera Rig Rail when deleting a point moving another
Change 3090441 on 2016/08/16 by Frank.Fella
Sequencer - Fix the key struct generatrion and synchronization for vector sections. Prevents a crash and creates the correct UI based on what type of vector you're animating.
#jira UE-34611
Change 3090420 on 2016/08/16 by Matthew.Griffin
Enable Source Indexing for Windows UE4Game targets so that we can add released versions to symbol server
Changed some nodes to rely on just the editor rather than everything produced by that node
Change 3090370 on 2016/08/16 by Mitchell.Wilson
Re-saving levels to resolve vertex color warnings.
Clearing material interface and saving M_Sign_Bloc to resolve warning
#jira UE-34722
Change 3090287 on 2016/08/16 by Keith.Judge
Xbox One - Fix mix up with ESRAM flags/byteusage that was causing some code to think of textures as in ESRAM that weren't and vice versa. Amazingly, this only manifested as a perf drop and some strange bloom along the bottom of the screen with some render settings.
#jira UE-34735
#jira UE-32086
Change 3090258 on 2016/08/16 by Luke.Thatcher
[RELEASE] [!]
Fix crash bug in canvas rendering. It is not valid to pass a null texture.
#jira UE-33077
Change 3090241 on 2016/08/16 by Jurre.deBaare
Adding TPS file for Alembic logo usage
#JIRA UE-123
Change 3090131 on 2016/08/16 by Matthew.Griffin
Added additional cook platforms per platforms listed in Samples List Spreadsheet
Change 3090061 on 2016/08/16 by Joe.Conley
#jira UE-34733 - "Crash when closing the timeline tab inside UMG editor and reopening UMG editor"
Adding a few IsValid() checks to prevent the crash
Change 3089968 on 2016/08/15 by Lina.Halper
Fixed Mac compile error
#jira: UE-30405
Change 3089918 on 2016/08/15 by Aaron.McLeran
#jira UE-34680 Fixing compile warning on ignoring output from CoInitialize
Change 3089914 on 2016/08/15 by Aaron.McLeran
#jira UE-34680 Fixing compile error
Change 3089905 on 2016/08/15 by Peter.Sauerbrei
fix for Samples build failure with Match3
#jira UE-34719
Change 3089867 on 2016/08/15 by Dmitry.Rekman
Fix misspelled case in OrionXpAssembly (OR-27441),
#jira OR-27441
Change 3089859 on 2016/08/15 by Zabir.Hoque
Fix undefined symbol FMMNotificationClient* NotificationClient & static XAUDIO2_DEVICE_DETAILS DeviceDetails; on XB1.
#jira UE-34715
Change 3089790 on 2016/08/15 by John.Billon
Changed integer modulus operations to float modulus operations in media shaders to support ES2.
#Jira UE-34712
Change 3089760 on 2016/08/15 by Lina.Halper
Fix issue with mesh merge crash in packaged build
- reverted that change, and fixed the original issue properly : due to mixed extra vertex influence, not copying data correctly
#jira: UE-30405
Change 3089718 on 2016/08/15 by Mitchell.Wilson
Saving M_TempAATrick_01 to resolve warning.
Saving multiple maps to resolve vertex color warning.
#jira UE-34661 UE-346662 UE-34654
Change 3089710 on 2016/08/15 by Michael.Trepka
Restored code for staging Steam library for Mac, which was accidentally removed when we switched to use build receipts.
#jira UE-34639
Change 3089706 on 2016/08/15 by Marc.Audy
Avoid crash if PlayerStateClass is null
#jira UE-34702
Change 3089585 on 2016/08/15 by Chris.Babcock
Fix StrategyGame for Android compile
#jira UE-34697
#ue4
#android
Change 3089473 on 2016/08/15 by Chris.Babcock
Added <insertNewline/> command to UnrealPluginLanguage
#jira UE-34699
#ue4
Change 3089429 on 2016/08/15 by John.Billon
Fixed crash with media shaders not being loaded in ES2.
#Jira UE-34514
Change 3089383 on 2016/08/15 by Mitchell.Wilson
Adjusted some values in the PlayerCharacter so physics objects can be grabbed and dropped correctly.
#jira UE-34663
Change 3089375 on 2016/08/15 by Max.Chen
Fbx Export: Convert spaces in level sequence actors to underscores.
#jira UE-34459
Change 3089308 on 2016/08/15 by Max.Chen
Fbx Export: Fix rich curve tangents on export for level sequence.
#jira UE-34459
Change 3089296 on 2016/08/15 by John.Billon
Fixing compile issue with openGL.
#Jira UE-34688
Change 3089290 on 2016/08/15 by Aaron.McLeran
#jira UE-34680 CLONE - Client stops working and crashes if headphones are unplugged on windows 10
Implementing CL 3062338 into 4.13
Change 3089242 on 2016/08/15 by Mitchell.Wilson
Resized text on sample 1.6 in Material_Properties.
#jira UE-34658
Change 3089235 on 2016/08/15 by Daniel.Wright
Copy - Fixed atmospheric fog on translucency
#jira UE-34590
Change 3089230 on 2016/08/15 by Benn.Gallagher
Added warnings and recovery to contact prefilter when given a null px shape. we now ignore the contact and dump some info so we can hopefully track down the broken actor if it happens again.
#jira UE-34622
Change 3089204 on 2016/08/15 by Mitchell.Wilson
Raised displays above nav mesh, rebuilt paths and lighting.
#jira UE-34660
Change 3089054 on 2016/08/15 by Mark.Satterthwaite
On iOS & tvOS when the application is in the background there won't be a valid back-buffer, which means draw calls will be issued with an invalid render-target state. To avoid a crash we must ignore these draw calls by returning early from PrepareToDraw and then also from the draw call. This will prevent issuing invalid commands into the command buffer and the game will resume rendering once it is brought to the front.
#jira UE-32323
Change 3089052 on 2016/08/15 by John.Billon
Fixed OpenGL4 crash by implementing ClearUAV for OpenGL.
#Jira UE-33752
Change 3089043 on 2016/08/15 by Mitchell.Wilson
Rebuilt lighting and resaved landscape level
Resaved landscape layer info
Verified no warnings/errors in landsacpe master material and resaved
Resaved landscape material instance.
#jira UE-34653
Change 3089020 on 2016/08/15 by Ben.Marsh
Remove 'Full Build' option from dashboard in release branches, and include a non-unity compile in nightly builds.
Change 3088985 on 2016/08/15 by Marc.Audy
Mac non-unity fix
#jira UE-34101
Change 3088973 on 2016/08/15 by Matthew.Griffin
Fixed copy paste errors with Mac nodes depending on Win64 ones
Added Build Tools dependencies to all cook nodes
Change 3088960 on 2016/08/15 by Mitchell.Wilson
Moving VR.umap to TestMaps folder
#jira UE-34665
Change 3088886 on 2016/08/15 by Ben.Marsh
Remove dependency to 'Compile UE4Editor Win64' node from code documentation step; we generate headers as part of building code documentation, so it just causes previous build products to be clobbered and the build to fail.
Change 3088676 on 2016/08/15 by Richard.TalbotWatkin
Improved warning output when a BSP poly is discovered with broken normals. Now the specific level which needs resaving is named.
#jira UE-34646 - //UE4/Release-4.13: Cook Orion Win64 completed with warnings: 78 warnings
Change 3088355 on 2016/08/13 by Max.Preussner
Media Player Editor: Fixed Local file paths without file:// open when pressing Enter, but not when clicking Go button (UE-34643)
#jira UE-34643
Change 3088331 on 2016/08/13 by Max.Preussner
Media: Fixed Failing to load Precached Media Source (UE-34285)
#jira UE-34285
Change 3088202 on 2016/08/12 by Zabir.Hoque
Porting DX12 Fix from MS:
Update D3D12 RHI for 4.13
- Fixed compiler errors with missing RHI methods. Fixed compiler warnings where names were hidding other variables.
#jira UE-0
Change 3088149 on 2016/08/12 by Mark.Satterthwaite
Duplicate CL #3087991:
Initial AVFoundation implementation of Media Framework for Mac, iOS & tvOS.
- Slight adaptation of AppleMovieStreamer to pick up movies from inside the GameContentDir on all Apple platforms.
- Video playback occurs via AVPlayerItemVideoOutput's attached to the AVPlayerItem's output. This means gathering video samples is trivial.
- Metal texture updates occur by wrapping the texture object provided by AVF - for Mac this is simple as it can bind to the IOSurface directly, for iOS/tvOS we have to create a CVMetalTextureCache and allocate our texture from there.
- OpenGL and OpenGLES currently have to lock the pixel buffer and upload to a texture the old fashioned way - this should be revisited when there is time.
- Subtitles/Captions are captured using AVPlayerItemLegibleOutput which also connects to the AVPlayerItem's output.
- On Mac audio samples are returned by manually reading from the stream using an AVAssetReaderTrackOutput, including manual seeking and synching.
- On iOS/tvOS the audio is played directly by AVPlayer because the IOSAudio system can't handle procedural buffers - otherwise it could reuse the Mac code.
- AVFoundation does not support AVI - that's an obsolete Microsoft/Windows file-format.
- Only 'file://' URLs are supported - streaming would require a totally different audio solution (using MTAudioProcessingTap) and has many more edge and failure cases that would need to be handled.
#jira UE-34315
Change 3088131 on 2016/08/12 by Chris.Babcock
Fix iterative deploy for new ADB
#jira UE-34638
#ue4
#android
Change 3088106 on 2016/08/12 by Dan.Oconnor
Make check less strict, PinIds are only unique within a single node, unfortunately, hence why we use both an OwningNode and a PinId when resolving references
#jira UE-34564
Change 3088099 on 2016/08/12 by Zabir.Hoque
Move end of frame resource clean up to end of viewport rendering, since EndFrame calls were not consistently coming in when movie was playing but asset loading was done.
#Jira UE-27026
Change 3088072 on 2016/08/12 by Max.Chen
Sequencer: Level editor camera cut flag is now a one way gate
This resolves issues to do with the flag being erroneously reset by external forces.
#jira UE-33875
Change 3088031 on 2016/08/12 by Jeff.Campeau
Fix WinXP build issues in WmfMedia and SteamVR plugins.
#jira UE-32421
Change 3088025 on 2016/08/12 by Tom.Looman
Updated VR Template with new VR device ID blueprint node.
#jira ue-34592
Change 3088023 on 2016/08/12 by Tom.Looman
Added PS Move input handling support to VR Template.
#jira UE-34188
Change 3087989 on 2016/08/12 by Michael.Trepka
Restored the code that's staging custom icons for Mac, which was accidentally removed when we switched to use build receipts.
#jira UE-34581
Change 3087907 on 2016/08/12 by mason.seay
New test assets for sub instance testing
#jira UE-29618
Change 3087812 on 2016/08/12 by Maciej.Mroz
#jira UE-34247 Nativized UMG assets not visible
Redone cl#3087726 from Dev-Blueprints
Change 3087810 on 2016/08/12 by Jeff.Fisher
UEVR-13 PSVR: TCR Requirements : sceHmdReprojectionSetOutputMinColor
Exposed sceHmdReprojectionSetOutputMinColor to blueprint via Morpheus Function Library.
Allows one to set the minimum output color from reprojection processing. Can be used to mitigate certain artifacts (dark smearing, reprojection edges). See Sony documentation for more information. This setting does persist across switches out of vr mode and hmd disconnection, but it has no effect out of vr modes.
#review-3087760 @nick.whiting
#jira UEVR-13
Change 3087795 on 2016/08/12 by Mitchell.Wilson
Added project thumbnail to subway sequencer.
Added thumbnails to subway sequencer levels.
Re-saved multiple files to resolve empty engine version and nodeguid warnings.
#jira UE-34521 UE-34519
Change 3087730 on 2016/08/12 by Michael.Trepka
Made bGeneratedSYMFile true by default and changed some ifs in Mac UBT code so that non-debug configs always build dSYM files on Mac, unless bGeneratedSYMFile is set to false in BuildConfiguration.xml
#jira UE-34548
Change 3087699 on 2016/08/12 by Jeff.Campeau
Make resource generation fault tolerant of unset config values.
#jira UE-34614
Change 3087690 on 2016/08/12 by Mitchell.Wilson
Added a thumbnail for the BlueprintRenderToTarget level.
#jira UE-34544
Change 3087688 on 2016/08/12 by Marc.Audy
Fix headshot crash when tearing down physics when not registered
#jira UE-32935
Change 3087615 on 2016/08/12 by Ben.Woodhouse
Fix for crash in shadowsetup when frustum is invalid
#jira UE-33014
Change 3087607 on 2016/08/12 by Max.Chen
Sequencer: Fix Import/Export FBX
- Import FBX now maps arbitrary float properties as well as the transform
- Import/Export FBX now consistently operates on selected nodes or all nodes
- Fixed exported node names so that they're consistent with Sequencer node names
#jira UETOOL-534
Change 3087586 on 2016/08/12 by Chris.Babcock
Add HUAWEI_Mali device model recognition for Vulkan
#jira UE-34610
#ue4
#android
Change 3087529 on 2016/08/12 by Jurre.deBaare
Fix for crash when start index != 0 and sampling at a different rate
#jira UE-34637
Change 3087519 on 2016/08/12 by Ben.Marsh
Pass the -ignorejunk flag on to child UBT instance when running a clean.
Change 3087455 on 2016/08/12 by Jurre.deBaare
Alembic importer plugin needs proper logo
#fix Replaced icon with inverted official Alembic logo
#jira UE-34474
Change 3087360 on 2016/08/12 by Ben.Marsh
Print out the UBT command line before running it, to help diagnose -ignorejunk problem.
Change 3087285 on 2016/08/12 by Lina.Halper
- Add which animation it fails to compress
- Make sure it doesn't go in there unless you have skeleton
#jira: UE-34490
Change 3087237 on 2016/08/12 by Alex.Delesky
#jira UE-34453 - Fixed an issue where a cast to find specific thumbnail scene info was being erroneously applied to the skeletal mesh thumbnail scene instead of the material thumbnail scene.
Change 3087215 on 2016/08/12 by danny.bouimad
#jira UE-29618 updated QA-AnimProfiles again...
Change 3087212 on 2016/08/12 by Danny.Bouimad
#jira UE-29618 updated TM-PhysicalAnimProfiles again
Change 3087200 on 2016/08/12 by Robert.Manuszewski
Fix for potential deadlock when a worker thread crashes caused by critical section lock in FOutputDeviceRedirector. The engine will no longer attempt to flush log messages in CheckRenderingThreadHealth if a critical error has already occured. Crash handlers flush log anyway.
#jira UE-34373
Change 3087188 on 2016/08/12 by Matthew.Griffin
Added SignExecutables Option to installed build script, which defaults to false and means most people won't have to pass -nosign anymore
Added HostPlatformsOnly Option to installed build script as a way to easily make a build with only your current platform, without having to disable every other platform manually
Change 3087160 on 2016/08/12 by Ben.Marsh
Propagate the -ignorejunk option when we're building UHT as a child process in UBT.
Change 3087148 on 2016/08/12 by Ben.Marsh
Fix sample build failure due to intermediate headers being deleted from engine folder. Some modules only have *private* UObject classes which aren't included in the editor zip. UBT detects that there are no longer and UObject classes and deletes the intermediate folder, causing BuildGraph to fail when it detects the change.
Change 3087143 on 2016/08/12 by Danny.Bouimad
#jira UE-29618 updated QA-AnimProfiles and SK_Mannequin_PhysAssetTest to include constaint profiles for switching, removed old map in wrong folder.
Change 3087140 on 2016/08/12 by Steve.Robb
GitHub 2256 : Update UnrealCodeAnalyzer.Build.cs
I have no evidence that this actually fixes anything, but it doesn't harm anything to add it...
#jira UE-29286
Change 3087139 on 2016/08/12 by Steve.Robb
Failed link actions during a hot reload now output a 'failed.hotreload' file in the destination folder to indicate that another link attempt is needed.
This is because we can't distinguish between a successful compile with a failed link action, and a compile with no changes which requires no new module.
#jira UE-31575
Change 3087107 on 2016/08/12 by Jurre.deBaare
Alembic Import with empty first frame will cause the editor to crash
#jira UE-34515
#fix Reject empty or invalid frames and remove them from the object, output messages are generated for such frames/objects
#misc added a static const value indicating the first frame instead of hardcoded 0 array accesors
#misc check condition fix in Runnable
#misc log now adds new page named after the imported Alembic file
Change 3087079 on 2016/08/12 by Dmitriy.Dyomin
Fixed: Corrupted level package on loading cooked content
#jira UE-34591
Change 3087063 on 2016/08/12 by James.Cobbett
#jira UE-29618 Submitting test assets for Alembic Importer
Change 3087048 on 2016/08/12 by Matthew.Griffin
Changed Launcher Samples to create aggregate from property to avoid error in preflights
Only notify about Launcher Samples trigger in non-preflight builds
Change 3086985 on 2016/08/12 by Maciej.Mroz
#jira UE-34372 [CrashReport] UE4Editor_CoreUObject!StaticAllocateObject() [uobjectglobals.cpp:2102]
Redone cl#3083825 from Dev-Blueprints
Change 3086960 on 2016/08/12 by Matthew.Griffin
Prevent Build DDC command from making DDC for platforms that aren't supported by project
#jira UEB-698
Change 3086945 on 2016/08/12 by Dmitriy.Dyomin
Fixed: Sub-level layers do not show up in Layers tab when loaded as a part of world composition
#jira UE-18291
Change 3086904 on 2016/08/11 by Lina.Halper
Reverting the ensure as raw curve track != compressed because it doesn't go to compressed if the value doesn't have anything more than >0.f
#jira: UE-34570
Change 3086891 on 2016/08/11 by Lina.Halper
DUPEFIX: CL 3086544 from Michael Noland
Paper2D: Fixed a crash when mutating grouped sprite components at runtime, and cleaned up how collision rendering is done for grouped sprite components addressing some other issues as well
#jira UE-34223
#tests (from Michael N) Tested with repro project from JIRA, as well as adding/removing instances in the editor and with some sprites in the group having collision and others not, clearing collision on the component itself, etc...
#tests (from Lina H) started the test project from JIRA and PIE, and no crash.
Change 3086837 on 2016/08/11 by Nick.Whiting
Modifying IsInGameThread() checks in Oculus positional tracking code to be !IsInActualRenderingThread(). This allows skel controls to use orientation and position with parallel animation
#jira UE-32564
Change 3086797 on 2016/08/11 by Dmitry.Rekman
Linux: fix crash on editor exit (UE-30795, UE-7519).
- FText (stored in ZoomLevels static array) was being destructed during the global destructor phase, and it cannot do that.
#jira UE-30795
Change 3086735 on 2016/08/11 by Richard.TalbotWatkin
Fixed crash due to entries in the BlueprintCreatedComponents list not being present in the OwnerComponents list in RerunConstructionScript following an Undo. Handled this case explicitly now.
#jira UE-34265 - Undo, Redo, Undoing a blueprint actor Replace action causes a crash
Change 3086726 on 2016/08/11 by Jeff.Fisher
UEVR-13 PSVR: TCR Requirements : 2DVR
2DVR is a way to show a static image on PlayStation VR temporarily, for example as a loading screen.
-Implemented 2DVR reprojection mode, exposed Show2DVRSplashScreen and Hide2DVRSplashScreen to blueprint through a new MorpheusFunctionLibrary.
#jira UEVR-13
#review-3086004 @chad.taylor @nick.whiting
Change 3086652 on 2016/08/11 by Dmitry.Rekman
Linux: re-enable ICU (UE-34012).
- Built static libs against libc++; disabled using dynamic ones.
- Fixes lack of rich text formatting.
#jira UE-34012
Change 3086648 on 2016/08/11 by Nick.Whiting
Adding support for getting the HMD Device name from code / blueprints
#jira UE-31785
Change 3086589 on 2016/08/11 by Chad.Taylor
Fixing Vive resolution on packaged builds
#jira UE-34535
Change 3086568 on 2016/08/11 by Matt.Kuhlenschmidt
Fix skeletal mesh LODs not being imported correctly. All meshes were imported to the base LOD instead.
#jira UE-34397
Change 3086529 on 2016/08/11 by Marc.Audy
Don't build UE4Game against shipping physx/apex libs causing module mismatches for binary code projects linked against profile libs (which is the default)
#jira UE-34287
Change 3086376 on 2016/08/11 by Peter.Sauerbrei
remove cached file handle from iOS and Android to save memory during loads
#jira UE-31720
Change 3086369 on 2016/08/11 by Matt.Kuhlenschmidt
Guard against crash with corrupted editor layouts
#jira UE-34364
Change 3086345 on 2016/08/11 by Dan.Oconnor
ULevel::Actors is now a TArray instead of a TTransArray. It has been misusing TTransArray for years (by both serializing individual elements and the entire array, TTransArray logic in EditorTransaction.cpp appears to be completely rotten, broken for a very long time)
#jira UE-34380
Change 3086272 on 2016/08/11 by Cody.Albert
Updating First Person templates to fix cook errors
#jira UE-22726
Change 3086259 on 2016/08/11 by Nick.Whiting
Added a project setting bStartInVR, which allows projects to specify that they want to default to starting in VR mode, regardless of whether the -vr commandline is used
#jira UE-31617
Change 3086202 on 2016/08/11 by Marcus.Wassmer
Duplicate 3086176 to fix broken shaderpipelines on PS4
#jira UE-34540
Change 3086080 on 2016/08/11 by mason.seay
Test animbp for sub anim instances
#jira UE-29618
Change 3086062 on 2016/08/11 by Tom.Looman
Migrate from //depot/usr/ into Release-4.13 for VR Template.
#jira ue-34533
Change 3086032 on 2016/08/11 by Mike.Beach
Bolstering FSceneComponentDetails::MakeTransformDetails()'s null handling (there was one conditional that was missing it).
#jira UE-34350
Change 3086025 on 2016/08/11 by Olaf.Piesche
#jira UE-32058
Replicating fix from 3050352
Change 3085969 on 2016/08/11 by John.Pollard
CIS fix
#jira UE-30516
Change 3085819 on 2016/08/11 by Jurre.deBaare
bForceOneSmoothingGroup not working for skeletal meshes
#fix Added check for forced smoothing group and calculate normals accordingly
#misc Spotted some non-referenced const TArrays being passed to CalculateTangents
#jira UE-34555
Change 3085799 on 2016/08/11 by Ben.Marsh
Pass the -ignorejunk option to UBT when generating code documentation. Since the UE_SDKS_ROOT environment variable is removed (because we don't want documentation for confidential platforms), UBT was deleting Linux target platform DLLs and causing an error when generating blueprint documentation when the files were missing.
Change 3085763 on 2016/08/11 by Daniel.Lamb
Fix for circular initialization of a singleton on android causing hang when using cook on the fly.
#jira UE-34442
Change 3085717 on 2016/08/11 by Dmitry.Rekman
Linux: better messaging around Steam initialization (UE-32052).
- Also added a standalone test.
#jira UE-32052
Change 3085715 on 2016/08/11 by Chris.Bunner
Dropped check to an ensure as there's existing handling for invalid assets in that case.
#jira UE-23902
Change 3085714 on 2016/08/11 by Olaf.Piesche
#jira UE-30398
Fix offset added to particle collision locations.
Replicated from 3084645 in Dev-Rendering
Change 3085713 on 2016/08/11 by Chris.Babcock
Allocate OptionalShadowDepthColorSurface to match DepthStencil dimensions (allow up to 4 resolutions for now)
#jira UE-33840
#ue4
#android
#ios
#opengl
Change 3085711 on 2016/08/11 by Olaf.Piesche
#jira UE-34106
#jira UE-32784
#jira UE-31198
Reset vertex factories on mesh emitters if mesh has been reimported (if mesh package is dirty)
Replicated from 3083909 in Dev-Rendering
Change 3085707 on 2016/08/11 by Matthew.Griffin
Duplicated CL#3081374 from Dev-Build and another fix to the SlateTextureAtlasInterface issue
Change 3085656 on 2016/08/11 by Marc.Audy
PR#2620. Make sure the component has its position updated before using it to spawn the child actor (Contributed by pampersrocker)
#jira UE-32418
#jira UE-33617
Change 3085641 on 2016/08/11 by Lina.Halper
Fixed invalid compressed track data
- need a better solution and added ticket for 4.14 - UE-34547
#jira: UE-34077
Change 3085606 on 2016/08/11 by Max.Preussner
Media: Attempt to fix Crash after Clearing Sound Wave Asset and Deleting Media Player from Content Browser (UE-34381)
#jira UE-34381
Change 3085568 on 2016/08/11 by Maciej.Mroz
#jira UE-34436 Ensures when copy/pasting linked anim bp nodes
FGraphObjectTextFactory doesn't call compilation (it is called later by FBlueprintEditor::PasteNodesHere, when all nodes are pasted). CallFunction can be pasted even when it's function doesn't exist. The function could be created from a CustomEvent node, that was also pasted (so it wasn't compiled yet).
Change 3085532 on 2016/08/11 by Peter.Sauerbrei
fix for remote tool chain build issues with items not being built because they were already there and up to date, but are then deleted by the file sync because they are missing on the PC
#jira UE-30335
Change 3085528 on 2016/08/11 by Max.Chen
Sequence Recorder: Fix crash when actor class to record is null.
#jira UE-34543
Change 3085418 on 2016/08/11 by Maciej.Mroz
#jira UE-33883 Packaging with Nativize Blueprint Assets Causes Uninitialized Defaults
Redone cl#3084313 from Dev-Blueprints
Change 3085395 on 2016/08/11 by John.Pollard
Don't allow hot-reloading if we're running PIE instances
#jira UE-30516
Change 3085377 on 2016/08/11 by Tom.Looman
Added StarterMap (WIP) to resolve JIRA.
#jira ue-34311
Change 3085364 on 2016/08/11 by Ben.Woodhouse
Remove the Shadows of Editor-Hidden Objects showflag. This feature hasn't worked for a long time, and making it work again would add additional complexity and performance overhead which we don't want to incur.
#jira UE-28561
Change 3085341 on 2016/08/11 by Dmitriy.Dyomin
Fixed: Creating Launcher Profile does not always shows all project available maps
#jira UE-33765
Change 3085336 on 2016/08/11 by Andrew.Rodham
Sequencer: Runtime instances are no longer updated when bluprints are recompiled
This code was not actually necessary to fix UE-31635 since we explicitly update the object binding from the level sequence editor spawn register
#jira UE-34499
Change 3085332 on 2016/08/11 by Dmitriy.Dyomin
Fixed: UInstancedStaticMeshComponent does not keep its instances on duplication
#jira UE-26868
Change 3085331 on 2016/08/11 by Ben.Woodhouse
Fix for threading related crash with precomputed lighting volumes
#jira UE-34531
Change 3085323 on 2016/08/11 by Allan.Bentham
Remove android specific vulkan hack to recreate depth buffer's imageview.
#jira UE-33593
#jira UE-33336
Change 3085313 on 2016/08/11 by Thomas.Sarkanen
StopRecordingAnimation now uses the same maing logic as RecordAnimation
This prevents inconsisten behaviour between record and stop record commands
#jira UE-34498 - User is not able to use StopRecordingAnimation command on a single actor
Change 3085301 on 2016/08/11 by Allan.Bentham
Only allow gaussian DoF on mobile. Disable DoF for all other types.
#jira UE-34217
Change 3085292 on 2016/08/11 by Thomas.Sarkanen
Revert change to force shipping dlls in shipping builds
#jira UE-34287 - Crash when opening a packaged code project for Win64 in shipping configuration
Change 3085291 on 2016/08/11 by Matthew.Griffin
Added nodes for Linux Editor, DDC and installed build
Changed existing Linux nodes to use host platform version of UHT and removed unnecessary tagging of UHT products
Change 3084973 on 2016/08/10 by Jeff.Campeau
Use relative settings for ShooterGame manifest
Package creation checks Xbox One target settings in Engine instead of Game config
#jira UE-33808
Change 3084932 on 2016/08/10 by patrickr.donovan
#jira UE-29618
SteamVR related test content updates- QA_SteamMoCo -> MotionController Components, fixing up button presses, reworking bounds drawing.
Change 3084886 on 2016/08/10 by Daniel.Wright
Reverted cl 2938543 "Lightmass now respects owner bHidden, and bCastHiddenShadow" because it did not have backwards compatibility so breaks content using hidden light cards
#jira UE-33238
Change 3084878 on 2016/08/10 by Jeff.Campeau
UFE launch command is generated with all devices requested instead of just the first.
#jira UE-34302
Change 3084860 on 2016/08/10 by Dmitry.Rekman
Fix CrashReportClient crashing on start (UE-32976, UE-34451).
- Add spaces around -abslog=foo.log parameter to prevent unrelated parameters being concatenated (and missed) sometimes.
#jira UE-32976
Change 3084756 on 2016/08/10 by Dmitry.Rekman
Linux: clean-up compiler settings logic (UE-22715).
- Includes parts of pull request #1704 by zaps166.
- Disables exceptions in most builds.
#jira UE-22715
Change 3084679 on 2016/08/10 by Richard.TalbotWatkin
Duplicated from Dev-Editor, CL 3084475
Fixed issue with ModelComponent replication in client/server PIE if BSP is rebuilt. ModelComponent now implements IsNameStableForNetworking and always returns true, as a level's model components will never be rebuilt during a game session. Brush poly normals are now only fixed up in Editor builds.
#jira UE-34391 - No run animation on client that is not focused when running 2 player and dedicated server
Change 3084614 on 2016/08/10 by Daniel.Wright
Scene capture alpha is now inverted to match DrawMaterialToRenderTarget, and to allow compositing with existing render target contents
Added CompositeMode to SceneCapture2D, which can be used to addively accumulate or composite instead of the default overwrite behavior
Added bCaptureOnMovement to SceneCapture, which can be disabled so the only source of scene capturing is a manual capture by calling CaptureScene()
#jira UE-34321
Change 3084607 on 2016/08/10 by Jeremiah.Waldron
Adding AlreadyOwned to EInAppPurchaseState and utilizing this enumeration for GooglePlay IAP
Also changing IOS store to return AlreadyOwned when SKErrorClientInvalid is received. This seems to be the correct behavior according to: http://stackoverflow.com/questions/8833970/when-does-skerrorclientinvalid-occur
Relates to:
#jira UE-34283
Change 3084586 on 2016/08/10 by Jeff.Campeau
Chunks don't assume they're done downloading at 100%.
#jira UE-34386
Change 3084552 on 2016/08/10 by Lina.Halper
Fix GetWorldFromContextObject to be used for another thread safer
: Guard to modify static variabls by another thread
#jira: UE-34416
Change 3084551 on 2016/08/10 by Mitchell.Wilson
Changed AutoPossessPlayer to Disabled in ThirdPersonCharacter BP
Changed AutoPossessPlayer to Player0 on the ThirdPersonCharacter Instance in the level.
#jira UE-32855
Change 3084535 on 2016/08/10 by Mike.Beach
Fix to MathExpression node - recent modifications caused subte changes in behavior (now back in line with how it worked before). Identifiers (variable names) are back to allowing numerical characters, and we properly detect the terminating 0 at the end of a name/string. Also, reserving symbols that currently aren't operators (as they used to be) so users don't start including them in identifier names.
#jira UE-34378
Change 3084526 on 2016/08/10 by Jeff.Campeau
Update XDK to August 2016
#jira UEPLAT-1374
Change 3084471 on 2016/08/10 by John.Pollard
Fix UE-34295: [CrashReport] Crash opening project on network drive - VCRUNTIME140!<Unknown>
#jira UE-34295
Change 3084363 on 2016/08/10 by Marc.Audy
Make stat soundcues/waves work correctly when spinning up new audio devices and switching focused viewport
#jira UE-34101
Change 3084231 on 2016/08/10 by Michael.Trepka
Fixed a problem with the search box in blueprint context menu not getting focus on Mac
#jira UE-20884
Change 3084229 on 2016/08/10 by Dmitry.Rekman
Linux: remove hardcoded staged files (UE-24594).
#jira UE-24594
Change 3084215 on 2016/08/10 by Chris.Bunner
Moved StationaryLightOverlap vis mode drawing to later in the frame to avoid translucency in the view.
#jira UE-31936
Change 3084052 on 2016/08/10 by Jurre.deBaare
Alembic skeletal mesh importer does not calculate correct smoothing groups
#fix follow same routine as regular smoothing group/normal calculation
#jira UE-34493
Change 3084029 on 2016/08/10 by Phillip.Kavan
[UE-34458] Fix a crash that can occur while instancing an uncompiled Blueprint class with a modified array property in the native parent class default object.
Mirrored from //UE4/Dev-Blueprints (CL# 3082839).
#jira UE-34458
Change 3084027 on 2016/08/10 by Ben.Woodhouse
Fix for crash when applying BSP materials
This was caused by the renderthread dereferencing a reference to a ModelElement object which had previously been destroyed on the game thread.
The reference to the ModelElement was solely used to dereference the irrelevant light GUIDs. The fix involves removing the reference and keeping a local copy of this array which is owned by the proxy. This is consistent with other proxies, e.g. Landscape, StaticMesh.
#jira UE-31460
Change 3083981 on 2016/08/10 by Matthew.Griffin
Set Localization branch for Localise command to release version when running in the Release Branch
#jira UE-34471
Change 3083970 on 2016/08/10 by Max.Preussner
PS4Media: Fixed Media player does not play the 2nd item in the playlist on PS4 (UE-33481)
#jira UE-33481
Change 3083918 on 2016/08/10 by Matthew.Griffin
Exclude UBT generated files from the installed build
Change 3083910 on 2016/08/10 by Matt.Kuhlenschmidt
Fix crash using "Use Selected asset from Content Browser" for font materials when the selected asset is not a material
#jira UE-34360
Change 3083890 on 2016/08/10 by Matthew.Griffin
Converted Launcher Samples to a full list of sample nodes with individual cook platform settings. Changed unzip nodes to only rely on the produced zip files so that it doesn't copy anything from Temp Storage.
Changed BuildLauncherSample command to take the root publish dir and build label so that it can create paths and do copies. Also removed code checking whether monolithic platforms are specified for the project.
#jira UE-34401
Change 3083873 on 2016/08/10 by Dmitry.Rekman
CMakefileGenerator: Fix compilation on .NET 4.0 and below (UE-34478).
#jira UE-34478
Change 3083862 on 2016/08/10 by Mitchell.Wilson
Rebuilt lighting on Advanced_Lighting level in Samples Content
#jira UE-34383
Change 3083792 on 2016/08/10 by Benn.Gallagher
PR #2671: Fix sub instance curve values. (Contributed by tmiv)
PR #2668: Sub inst post anim fix (Contributed by tmiv)
#jira UE-34162
#jira UE-34121
Change 3083775 on 2016/08/10 by Kevin.Rushin
QAGame - Updating VRLatency Testmap, Can freelook
#jira UE-29618
Change 3083771 on 2016/08/10 by Robert.Manuszewski
Don't attempt to construct CDOs when assembling GC token stream while exiting as a result of an error in PreInit.
#jira UE-34371
Change 3083742 on 2016/08/10 by Lee.Clark
4.13 - PS4 - Fix memory allocation sizes
#jira UE-33270
Change 3083732 on 2016/08/10 by Ben.Marsh
Fix all nodes being exported to JSON file for builder configuration, rather than just those behind the current trigger.
Change 3083690 on 2016/08/10 by Dmitriy.Dyomin
Fixed: Foliage instances are not included when exporting a scene to FBX
#jira UE-34214
Change 3083654 on 2016/08/10 by Keith.Judge
Fix analysis warnings. Simple change from Release() to SAFE_RELEASE().
#jira UE-23059
Change 3083646 on 2016/08/10 by Thomas.Sarkanen
Use shipping PhysX libs for installed builds
Copy fix from UE4Game.Target.cs to apply to all packaged games
#jira UE-34287 - Crash when opening a packaged code project for Win64 in shipping configuration
Change 3083527 on 2016/08/10 by Dmitriy.Dyomin
Fixed: Warning upon Undo/redo-ing of sculpting the landscape
#jira UE-34443
Change 3083502 on 2016/08/10 by Dmitriy.Dyomin
Fixed: World Composition origin shifting does not account for shifting the Dynamic Directional Light shadow casting
#jira UE-34417
Change 3083349 on 2016/08/09 by Daniel.Wright
Clamped roughness for simple lights to avoid NaNs from D_GGX with a very narrow roughness range including 0.00316, but not 0
#jira UE-31181
Change 3083167 on 2016/08/09 by Chad.Taylor
Null deref crash fix
#jira UE-33830
Change 3083144 on 2016/08/09 by Zabir.Hoque
Removed bDeviceRemoved flag from RHI and issue erroring hault right away. This allows finding the error reason much closer to the callsite.
#jira UE-32980
Change 3083136 on 2016/08/09 by Chad.Taylor
Stripping out egregious log spam
#jira UE-34181
Change 3083116 on 2016/08/09 by John.Billon
Defaulting r.D3D.RemoveUnusedInterpolators to on.
#Jira UE-34461
Change 3083114 on 2016/08/09 by John.Billon
Fixing static analysis warning in NullRHI.
#Jira UE-34462
Change 3083070 on 2016/08/09 by Dmitry.Rekman
PR #2516: CMake improvements and fixes (UE-22233, UE-32136).
- Contributed by Nihlus.
- Contains PR #1668 by mgerhardy
Summary of changes (from PR):
- Fixed an issue where CMake build files would contain invalid targets
- Fixed an issue where CMake build files would generate without code completion data, making them useless in IDEs such as CLion.
- Fixed an issue where invalid target platforms could fall through and cause issues with the file generation.
- Improved code readability throughout the generator. Can still use some more polish.
- Improved CMakeFile generation performance by approximately 25%. Before this patch, generating a CMakeFiles.txt for a small-ish project took 20s - by replacing most string concatenation with StringBuilders, it now takes approximately 15s. This should be more apparent in larger projects.
- Improved commenting throughout the generator. As with readability, can still use some more polish.
- Removed unused using statements.
- Added the inclusion of a fake executable target to the CMake files. Some IDEs do not recognize header files that are not part of either an executable or a library. While this target will not build, it is neccesary in CLion.
- Replaced all instances of String.Format with string interpolation expressions from C#6. This greatly improves readability, and helped me catch some bugs with the build targets.
#jira UE-22233
Change 3082999 on 2016/08/09 by Jeremiah.Waldron
Actually checking the consumePurchase response in the GooglePlayStoreHelper for purchases
#jira UE-34457
Change 3082993 on 2016/08/09 by mason.seay
Fixed level BP error and updated Reverb asset
#jira UE-29618
Change 3082981 on 2016/08/09 by Peter.Sauerbrei
disable roughness calculation for iOS metal
#jira UE-31815
Change 3082912 on 2016/08/09 by Chris.Babcock
Use FMallocAnsi instead of FMallocBinned on Android ARM64 for now
#jira UE-34432
#ue4
#android
Change 3082875 on 2016/08/09 by Chris.Bunner
Lowered verbosity of mesh build warning when using MikkTSpace.
#jira UE-23903
Change 3082867 on 2016/08/09 by Trung.Le
VREditor: Foliage reapply tool shouldn't auto reapply brush settings without trigger presses
#jira UE-34227
Change 3082818 on 2016/08/09 by Mike.Beach
Backing out CL 3081020, as it was causing issues with duplicated Blueprint actors (triggering an assert).
#jira UE-34430
Change 3082794 on 2016/08/09 by Lukasz.Furman
fixed gameplay debugger extensions activating during simulate in editor
#jira UE-33343
Change 3082760 on 2016/08/09 by Jamie.Dale
Scene viewports are now centered when re-entering windowed mode
#jira UE-32842
Change 3082744 on 2016/08/09 by Mitchell.Wilson
Resaving assets to resolve empty engine version warnings.
#jira UE-29746
Change 3082728 on 2016/08/09 by Ben.Marsh
BuildGraph: Use separate arguments to indicate that a trigger should be skipped entirely and its nodes should be executed as part of the parent trigger (-skiptrigger=X+Y, -skiptriggers) versus when we want to execute ONLY nodes behind a certain trigger. Fixes cases where triggering sample builds before the parent job finishes would attempt to execute the remaining nodes belonging to the parent trigger.
#jira UE-34329
Change 3082686 on 2016/08/09 by Marc.Audy
If the GameMode is not carried over as part of a seamless travel create it.
#jira UE-25569
Change 3082663 on 2016/08/09 by John.Billon
Fixed SubUVAnimation asset crash when texture source is cleared.
#Jira UE-34231
Change 3082650 on 2016/08/09 by John.Billon
Changed an ensure the NullRHI dealing with memory allocation to be a log message.
#Jira UE-32362
Change 3082644 on 2016/08/09 by Maciej.Mroz
#jira UE-34240 Match 3 nativization failure
Redone cl3082121 from Dev-Blueprints
Change 3082633 on 2016/08/09 by Maciej.Mroz
#jira UE-34374 [CrashReport] UE4Editor_Engine!UEdGraphNode::GetGraph() [edgraphnode.cpp:172]
Redone cl3082414 from Dev-Blueprints
Change 3082606 on 2016/08/09 by Michael.Trepka
Changed OuputGamutMappingMatrix in TonemapCommon.usf so it doesn't create a temporary variable to work around a bug in Intel's Mac OpenGL shader compiler.
#jira UE-34276
Change 3082579 on 2016/08/09 by Benn.Gallagher
CIS fix, missed removing a few #ifs
#jira UE-29180
Change 3082525 on 2016/08/09 by Tom.Looman
Removed Android from supported platforms in VR Template.
#jira UE-34189
Change 3082523 on 2016/08/09 by Tom.Looman
Improved HMDLocomotionPawn teleportation (UX of location and material reability/behavior)
Fixed typo in level text.
#JIRA UE-34422
Change 3082504 on 2016/08/09 by Jurre.deBaare
Crash importing alembic asset over itself after saving it in Content Browser
#fix Trivial nullptr + isValid fix
#jira UE-34418
Change 3082433 on 2016/08/09 by Tom.Looman
Updated list of supported platforms.
#jira UE-34189
Change 3082423 on 2016/08/09 by Mitchell.Wilson
Resaving levels to resolve MikkTSpace warnings
Updating collision on SM_Floor_Round
#jira UE-30786
Change 3082361 on 2016/08/09 by Keith.Judge
Xbox One - Fix a controller disconnection crash.
- This would only reproduce in VS2015 Update 3, and only when the controller is connected right from the start, not when a pad is plugged in later, so it seems copying the array of ^ pointers wasn't incrementing the refcounts correctly and causing things to be deleted too early.
- Changed it to copy each connected pad object one at a time, which maintains the correct refcount.
- Possibly a VS2015 Update 3 bug.
#jira UE-33955
Change 3082341 on 2016/08/09 by Mitchell.Wilson
Reimporting SM_GodRay_Plane
Resaving levels to resolve MikkTSpace warnings
Resaving multiple materials to resolve warnings
#jira UE-34212
Change 3082313 on 2016/08/09 by Matthew.Griffin
Only append BuildLabel to the publish dir if it's been set to something (end up with bad path for local build)
Change 3082294 on 2016/08/09 by Jurre.deBaare
Crash when importing an Alembic file with Materials as a different asset type than one that already exists
#fix Ensure that we have a valid material to assign to the assets
#jira UE-34377
Change 3082291 on 2016/08/09 by Jurre.deBaare
Unable to save Alembic asset with materials after importing more than once
#fix Make sure we delete referenced transient materials if they are not used
#jira UE-34400
Change 3082290 on 2016/08/09 by Jurre.deBaare
Crash importing abc file as Geometry Cache over another used in level with World Normal view mode on
#fix Make sure we always update the GeometryCacheComponents, will change this set-up in 4.14
#jira UE-34392
Change 3082274 on 2016/08/09 by Benn.Gallagher
Moved FABRIK debug draw out of the native node into the graph node. It will no longer draw in-game, only in Persona previews. Debug drawing is not supported outside of the game thread currently so we can't do it in EvaluateBoneTransforms.
#jira UE-29780
Change 3082273 on 2016/08/09 by Benn.Gallagher
Improved anim dynamics chain handling with LODs, now a chain will continue to simulate any bodies that can be reached from the root body instead of disabling the whole chain
#jira UE-30827
Change 3082270 on 2016/08/09 by Benn.Gallagher
Moved source indices for active transitions out of editor only so we can identify them at runtime. This allows the transition ratio anim getter function to get the correct elapsed time instead of trying to infer it which is incorrect when the transition is interuppted.
#jira UE-29180
Change 3082257 on 2016/08/09 by Jurre.deBaare
Auto align floor mesh does not work in Persona
#fix Readded functionality for the auto alignment :)
#jira UE-34404
Change 3082239 on 2016/08/09 by Peter.Sauerbrei
make sure IPP and supporting dlls are all 64-bit
#jira UE-34408
Change 3082225 on 2016/08/09 by Mitchell.Wilson
Removing r.Streaming.PoolSize from DefaultEngine.ini, adding DefaultScalability.ini to set r.StreamingPoolSize
Reimporting SM_GodRay_Plane
Saving all levels to resolve MikkTSpace warnings.
#jira UE-30787
Change 3082222 on 2016/08/09 by Rolando.Caloca
UE4.13 - Fix crash on opengl3
- Load proper shader map depending on feature level
- int interpolators require nointerpolation modifier
#jira UE-33879
Change 3082221 on 2016/08/09 by Benn.Gallagher
Fix for stack overflow traversing subinstances for duplicated names when there is a circular loop
#jira UE-34384
Change 3082179 on 2016/08/09 by Ben.Woodhouse
Fix for default subsurface color for two sided foliage, so it defaults to black instead of white. This requires some additional logic because we don't want to change the default color for other lighting models which use the subsurface material input (e.g. subsurface, skin, hair etc). Bump the shader version so the change is correctly propagated to existing material shaders.
#jira UE-31461
Change 3082170 on 2016/08/09 by Graeme.Thornton
Manual copy of CL 3078836 from Dev-Core to Release-4.13
Silently skip creating exports from a package where the outer is also an export and has been filtered at runtime during loading
#jira UE-33909
Change 3082169 on 2016/08/09 by Graeme.Thornton
Make FLauncherTasks have unique names so we don't end up with stat name collisions
#jira UE-33849
Change 3082163 on 2016/08/09 by Matthew.Griffin
Include Linux Build Tools in Windows Installed Build so that Crash Reporter can be staged from receipts
Added Checks for files that might not exist when creating Installed Build from Github etc.
Tag the published installed build zips
#jira UE-34249
Change 3082139 on 2016/08/09 by Ben.Marsh
BuildGraph: Allow writing a schema without passing a script in.
Change 3082109 on 2016/08/09 by Thomas.Sarkanen
Fixed blendspaces producing bad data when degenerate spaces are present
Delaunay triangulations that fail now revert to simple degenerate tesselation. This allows us to build a valid set of grid samples even with degenerate triangulations, so no need for any runtime modifications.
#jira UE-34308 - 2DAimOffset mesh skews across viewport when anim sequence is added to offest graph
Change 3082080 on 2016/08/09 by Matthew.Griffin
Added notifications for available triggers
Change 3082054 on 2016/08/09 by Allan.Bentham
Quality level override changes to high QL are now correctly picked up.
#jira UE-22812
Change 3082049 on 2016/08/09 by Allan.Bentham
Update shaders when mobile preview device is changed.
#jira UE-22810
Change 3081866 on 2016/08/09 by Max.Chen
Fbx Export: Fix build.
#jira UETOOL-750
Change 3081863 on 2016/08/09 by Max.Chen
Fbx Export: Fix level sequence fbx export.
- Fix 3d transform track export so that it does the correct flipping for translation and rotation curves.
- Fix setting rich curve tangents and interpolation modes.
- Fix camera focal length export.
#jira UETOOL-750
Change 3081823 on 2016/08/08 by Dmitriy.Dyomin
Fixed: Crash when simulating in editor with a landscape actor selected
#jira UE-34367
#coderview Gareth.Martin
Change 3081647 on 2016/08/08 by Chad.Taylor
OpenVR changed to work with our FSteamVRHMD::VRGetGenericInterfaceFn retrieved from GetDllExport
#jira UE-34352
Change 3081645 on 2016/08/08 by Zak.Middleton
#ue4 - Fix anim root motion applying too much velocity to CharacterMovement when framerate is low causing moves to be substepped, or when movement mode changes during root motion playback.
#jira UE-30178
Change 3081639 on 2016/08/08 by Tyler.Cole
Update build scripts for WEX MCP in UE4 Release-4.13 stream.
#jira NONE-0
Change 3081616 on 2016/08/08 by Jeff.Fisher
UEVR-13 PSVR: TCR Requirements
-2dvr support "stereo on" and "stereo off" now switch ps4 from 2d to vr mode.
-A new ini setting for morpheus bStartInVR has been added, it defaults to true.
#jira UEVR-13
#review-3081284 @chad.taylor @nick.whiting
Change 3081597 on 2016/08/08 by Tyler.Cole
Update build scripts for Ocean MCP in UE4 Release-4.13 stream.
#jira NONE-0
Change 3081476 on 2016/08/08 by Tyler.Cole
Update build script for UE4 Release-4.13 stream Fortnite MCP.
#jira NONE-0
Change 3081397 on 2016/08/08 by Josh.Adams
- Fixing more linux case issues in UT
#jira ue-33478
Change 3081391 on 2016/08/08 by Mitchell.Wilson
Removed ConstructorHelpers from TP_2DSideScrollerCharacter.cpp. Added Run and Idle animations to BP child of 2dSideScrollerCharacter in 2DSideScrollerExampleMap
#jira UE-33843
Change 3081383 on 2016/08/08 by Aaron.McLeran
#jira UE-34081
Implementing CL 3076637 into 4.13
#tests run a procedural sound wave object test
Change 3081337 on 2016/08/08 by Aaron.McLeran
#jira UE-34390 CLONE - CRASH: FXAudio2SoundSource::GetChannelVolumes - Silent Crash during gameplay
- OR-26580
- Implementing CL 3071258 to 3.13
#tests ran paragon with change, no crashes
Change 3081335 on 2016/08/08 by Max.Preussner
WmfMedia: Fixed memory leak in source resolver (UE-34385)
#jira UE-34385
Change 3081320 on 2016/08/08 by Max.Preussner
WmfMedia: Fixed typo (UE-32421)
#jira UE-32421
Change 3081276 on 2016/08/08 by Mitchell.Wilson
Resaving asset to resolve MikkTSpace warning.
#jira UE-31116
Change 3081269 on 2016/08/08 by Dan.Oconnor
Fix for name of blueprint changing when 'accept source' is used. Just caching the original name before unloading the blueprint
#jira UE-34324
Change 3081052 on 2016/08/08 by Dan.Oconnor
Making a change to test UE-34324
#jira UE-34324
Change 3081026 on 2016/08/08 by Daniel.Wright
Added a heightfield painting example to BlueprintRenderToTarget content example
#jira UE-34323
Change 3081025 on 2016/08/08 by Daniel.Wright
CreateRenderTarget2D uses a world context object as owner, allows use in a construction script
#jira UE-34321
Change 3081023 on 2016/08/08 by Aaron.McLeran
#jira UE-34325 Implementing 3080958 in 4.13
- When a sound buffer is flushed from audio device manager and tries to stop sounds using a resource, was possible for the async header parse task to be in-flight, which would cause a crash
- Fix is to bring back the code to call EnsureCompletion on tasks in the FreeResoruces function of the sound source object. This will potentially encure a slight perf increase when stopping a sound but audio engine is now going to run on a separate thread, so shouldn't have a game-thread impact in non-editor builds.
#tests ran repro case described in bug several times without crashing (was 100% repro)
Change 3081020 on 2016/08/08 by Dan.Oconnor
Revised fix for UMG widgets with instanced properties resetting due to ImportText not copying objects assigned to Instanced properties
#jira UE-26310
Change 3081010 on 2016/08/08 by Dan.Oconnor
Fix for losing root transform when recycling objects
#jira UE-28398
Change 3080972 on 2016/08/08 by Mark.Satterthwaite
Duplicate CL #3080684:
Flush on close of writable files on Apple platforms - close doesn't guarantee to push outstanding writes to the disk, only to the kernel. They might not make it to the disk prior to program termination.
#jira UE-21857
Change 3080971 on 2016/08/08 by Mark.Satterthwaite
Workaround a macOS 10.12 Beta bug on some Metal drivers that can't initialise temporary/local variable arrays, only those that are marked threadgroup shared.
#jira UE-34355
Change 3080923 on 2016/08/08 by Michael.Trepka
When archiving on for Mac delete the dest icon if it exists before trying to call File.Move
#jira UE-33304
Change 3080919 on 2016/08/08 by samuel.proctor
Revised assets for Blueprint Debugging tests
#jira UE-29618
Change 3080878 on 2016/08/08 by Ben.Marsh
Fix sample build timeouts due to generating DDC using installed engine builds taking too long.
* New version of build script was not copying the DDCUtils module from the NotForLicensees folder to the installed engine directory, so network DDC was not being used. Set it from an environment variable instead.
* Generating the installed project PAK was not using the Compressed.ddp file included with the engine, but was looking for a legacy DDC.ddp file instead.
Change 3080849 on 2016/08/08 by Marc.Audy
Always stop matinee sounds when jumping around, not just if the sound changed.
#jira UE-31447
Change 3080843 on 2016/08/08 by Ben.Marsh
BuildGraph: Fix compile error due to duplicated variable name.
Change 3080840 on 2016/08/08 by Max.Chen
Fbx: Fix rich curve export being exported at the incorrect times when baked.
#jira UETOOL-750
Change 3080824 on 2016/08/08 by Max.Chen
Sequencer: Revert fix root component structure for level sequence actor.
#jira UE-34354
Change 3080819 on 2016/08/08 by Chad.Taylor
Merging Move and Vive haptic implementation from Dev-VR to Release-4.13
#jira UE-27886
Change 3080818 on 2016/08/08 by Jurre.deBaare
Crash when importing the same Alembic file but as a different Asset Type
#fix Return the outer package of an imported asset, instead of InParent (which could be deleted/clean up if the import types differed)
#misc Typo
#jira UE-34293
Change 3080817 on 2016/08/08 by Jurre.deBaare
Crash when importing an Alembic file with Materials if it already exists
#fix Only create materials if they don't already exist
#jira UE-34300
Change 3080814 on 2016/08/08 by Jurre.deBaare
Crash when importing Alembic files as Skeletal Mesh
#fix Set the NumVertices variable that was re-added :)
#misc removed dead code
#jira UE-34288
Change 3080813 on 2016/08/08 by Jurre.deBaare
[CrashReport] UE4Editor_AlembicLibrary!AbcImporterUtilities::GenerateSmoothingGroupsIndices()
#fix found in one of the reports messages that they were importing from 3DS, found that it exports the normals non-indiced but per-vertex, so now added expanding using the index buffer (also pre-emptively added it for UVs)
#jira UE-34294
Change 3080797 on 2016/08/08 by Dmitriy.Dyomin
Fix: Crash opening levels with landscape in them via the command console in standalone game
#jira UE-34348
Change 3080784 on 2016/08/08 by Jamie.Dale
We now keep the bulk data for stock engine fonts loaded to avoid attempting to load it on the render thread (from debug canvas rendering)
#jira UE-34298
Change 3080734 on 2016/08/08 by Matthew.Griffin
Made PDBs optional build products for CsCompile task and added .dll.mdb check for Mac Mono equivalent
Change 3080685 on 2016/08/08 by Peter.Sauerbrei
fix for crash on tvOS and iOS when launching a project
#jira UE-34005
Change 3080683 on 2016/08/08 by Matthew.Griffin
Added code to duplicate GUBP behavior when building DDC for samples so that only certain platforms are built
Change 3080681 on 2016/08/08 by Matthew.Griffin
Corrected path separators for Mac DDC location, which was preventing it from being included in installed build
Change 3080675 on 2016/08/08 by Robert.Manuszewski
Fixing CIS on Clang platforms
#jira UE-34025
Change 3080674 on 2016/08/08 by Ben.Woodhouse
Fix for reflection capture crash on autosave (null scene ptr) - integrate fix from fortnite CL 3033507
#jira UE-32651
Change 3080594 on 2016/08/08 by Keith.Judge
Xbox One - Fix missing GPU particles when in Fast Semantics mode. SetRasterizerState() shouldn't be cached as it always needs resetting in Fast Semantics. Also enabled Fast Semantics by default, as the last known bug is now fixed.
#jira UE-31607
Change 3080573 on 2016/08/08 by Martin.Wilson
Fix Root Motion from Everything blending incorrectly when using layered blend per bone
#Jira UE-17815
Change 3080517 on 2016/08/08 by James.Golding
PR #2678: Fixed ProceduralMeshComponent compile issue, missing ConvexElem.h. (Contributed by ardneran)
#jira UE-34299, UE-34279
Change 3080512 on 2016/08/08 by Benn.Gallagher
Fix for dangling sub-instance pointers when reinstancing on AnimBP compile
#jira UE-34137
Change 3080510 on 2016/08/08 by Max.Preussner
WmfMedia: Fixed Packaged Shooter game does not load in Windows XP (UE-32421)
#jira UE-32421
Change 3080509 on 2016/08/08 by Robert.Manuszewski
Added more detailed message when TArray's BulkSerialize fails.
#jira UE-34025
Change 3080506 on 2016/08/08 by Allan.Bentham
Do not set render target if there are no modulated shadows.
#jira UE-33252
Change 3080498 on 2016/08/08 by Keith.Judge
Fix D3D12.x link error.
#jira UE-34322
Change 3080493 on 2016/08/08 by Matthew.Griffin
Allow symbol files to be skipped when staging build products as they are not essential for the staged project to run.
#jira UE-34073
Change 3080490 on 2016/08/08 by Maciej.Mroz
#jira UE-28625 Direction of GetOverlapInfos parameter doesn't match
Redone cl# 3080484
Change 3080462 on 2016/08/08 by Allan.Bentham
Leave FAndroidAppEntry::PlatformInit's ES2 EGL initialised unless vulkan or ES3.1 are required.
Fix initialisation errors introduced in CL 3070035.
#jira UE-34099
Change 3080242 on 2016/08/07 by Max.Chen
Sequencer: Fix to allow deleting spawnables from the viewport
#jira UE-28523
Change 3080241 on 2016/08/07 by Dmitriy.Dyomin
Fixed: StartCameraFade not fading camera when MobileHDR is off
#jira UE-34143
Change 3079990 on 2016/08/06 by andrew.porter
Changing defaults on some settings on M_Details for test case.
#jira UE-29618
Change 3079989 on 2016/08/06 by andrew.porter
Setting two sided off on M_Details material
#jira UE-29618
Change 3079986 on 2016/08/06 by phillip.patterson
Updated QA-Foliage for test case
#jira UE-29618
Change 3079984 on 2016/08/06 by andrew.porter
Adding test content for using sprites in UMG
#jira UE-29618
Change 3079879 on 2016/08/05 by Dmitry.Rekman
Remove HITCHHUNTER logspam from release UE (UE-30959).
#tests Compiled the UE4Editor.
#jira UE-30959
Change 3079815 on 2016/08/05 by Tyler.Cole
Set dependencies for Orion MCP in UE4 Release-4.13 stream.
#jira NONE-0
Change 3079808 on 2016/08/05 by Daniel.Wright
BlueprintRenderToTarget content example map with interactable fluid surface
#jira UE-34323
Change 3079746 on 2016/08/05 by Daniel.Wright
Copy - New blueprint function ClearRenderTarget2D, which is the only way to set a render target alpha directly
New blueprint function CreateRenderTarget2D
#jira UE-34321
Change 3079569 on 2016/08/05 by Mitchell.Wilson
Updating template tutorials after assets were moved to new folders
#jira UE-34139
Change 3079546 on 2016/08/05 by Ian.Shadden
#UE4 #match3 Fixed button UI scaling on all buttons in Match3 (main menu, victory screen, options, notifications, etc...), tested on PC and Android Nexus 6
#jira UE-34316
Change 3079542 on 2016/08/05 by Mark.Satterthwaite
Duplicate CL #3079503:
Initialise more variable types to 0 in Metal shaders to workaround Xcode 8 toolchain no longer doing this for us for "threadgroup shared" variables. Everything but structs and atomic's will now be initialised.
#jira UE-33856
Change 3079472 on 2016/08/05 by Peter.Sauerbrei
fix for remote server name being empty stopping a build for a BP project in binary
fix for several error messages from platform requirements not stopping a build
#jira UE-34213
Change 3079453 on 2016/08/05 by Benjamin.Hyder
Updating QA_Materials to include Material Details example
#jira UE-29618
Change 3079389 on 2016/08/05 by Gareth.Martin
Missing file from CL 3079376:
Tessellate Landscape only in highest landscape LOD
Fix incorrect UV coordinates when tessellation is enabled
#jira UE-14253
#jira UE-20405
Change 3079384 on 2016/08/05 by Michael.Trepka
PR #2266: BUGFIX: UBT not building on non HFS partitions on OSX (Contributed by Manny-MADE)
#jira UE-29358
Change 3079376 on 2016/08/05 by Gareth.Martin
Tessellate Landscape only in highest landscape LOD
Fix incorrect UV coordinates when tessellation is enabled
#jira UE-14253
#jira UE-20405
Change 3079365 on 2016/08/05 by Peter.Sauerbrei
fix for executable name mismatch in plist vs actual executable when project has an underscore in the name
#jira UE-34192
Change 3079361 on 2016/08/05 by Ryan.Vance
#jira UE-34297
Fixing the screen space position in 3076326 broke an ISR dbuffer decal hack. Now, no longer a hack :)
Change 3079349 on 2016/08/05 by Mason.Seay
Deleting unneeded assets
#jira UE-29618
Change 3079306 on 2016/08/05 by Peter.Sauerbrei
IPP is now built as a 64-bit executable
#jira UE-26393
Change 3079303 on 2016/08/05 by Peter.Sauerbrei
PR2018 - disable user input request from ssh courtesy of Teivaz
#jira UE-26393
Change 3079276 on 2016/08/05 by mason.seay
Extended Line Trace For Convenient
#jira UE-29618
Change 3079274 on 2016/08/05 by Alex.Delesky
#jira UE-32396, UE-34103 - Fixed the issue where STextBLock widgets will revert to a gray-ish color in widget blueprints on compilation when set to magenta (#FF00FFFF). This fix does not introduce the side-effects of recoloring the text on editor buttons.
Change 3079273 on 2016/08/05 by Max.Chen
Sequencer: Fix converting matinee move tracks that have separate pos and euler tracks.
#jira UE-34301
Change 3079254 on 2016/08/05 by Ori.Cohen
Fix skeletal mesh having bodies in both sync and async scene. Simplifies a lot of code and fixes crash in case of substepping.
#JIRA UE-34224
Change 3079242 on 2016/08/05 by Nick.Darnell
Slate - Initializing WheelScrollMultiplier in the STableViewBase to avoid problems with subclasses not having an initialized value and the scrollbar misbehaving.
#jira UE-34304
Change 3079129 on 2016/08/05 by Jurre.deBaare
#jira UE-34278
#fix Changed reimport path to be the same as geometry cache / skeletal mesh
Unable to reimport Alembic static meshes
#jira UE-34292
#fix Handle cancelled situation during reimport ui interaction
Cancelling the reimport of an Alembic file seems to confirm the action
#jira UE-34288
#fix Possible fix, flush rendering commands before importing
Crash when importing Alembic files as Skeletal Mesh
#jira UE-34282
#fix Change import function override signature to include bCancelled and set the value appropriately + early out when cancelled
"Failed to Import" message when clicking Cancel on the Alembic Import Message
Change 3079127 on 2016/08/05 by Marc.Audy
Properly clean up all worlds when ending PIE while a seamless transition is active
#jira UE-33863
Change 3079107 on 2016/08/05 by Mike.Beach
Reversing the order in which we iterate pins on node resonstruction - making sure we reconstruct split child pins first (to keep the old parent pin chain intact).
#jira UE-30548
Change 3079093 on 2016/08/05 by Jurre.deBaare
Toggling Vertex Colors on in Static Mesh Editor makes the viewport all white
#fix Hide the environment and sky when showing vertex colours
#jira UE-34251
Camera Auto exposure in the static mesh editor bleaches everything out when the environment is turned off
#fix Turn on / off advanced engine show flags determined by whether or not post processing is enabled in the advanced preview scene settings
#jira UE-34206
Change 3079090 on 2016/08/05 by Jurre.deBaare
Bad performance when changing (slider) values for the advanced preview scene
#fix Could not repro but added some more check if update needed checks
#jira UE-33496
Adjusting Lighting Rig Rotation manually only affects the sky and not the lighting
#fix Add the rotational delta for the sky to the directional light rotation
#jira UE-34108
Change 3079088 on 2016/08/05 by Jurre.deBaare
Alembic Cache Importer option for Hard Edge Angle Threshold does not work
#fix Changed the condition for an edge to be hard / soft, fixed an issue in the smoothing group generation and changed the flow of normal calculation during importing
#jira UE-34127
Change 3079040 on 2016/08/05 by Max.Preussner
MediaAssets: Fixed media source asset cannot be inherited in other modules (UE-34290)
Also made class properties blueprint read-writable
#jira UE-34290
Change 3078958 on 2016/08/05 by Marc.Audy
Don't ever reregister child actor components
Don't destroy child actors when hiding a level
#jira UE-31038
Change 3078954 on 2016/08/05 by ryan.brucks
#jira ue-00001 Adding new material functions needed to go along with Noise Blog post requested by DanV and KimL
Change 3078952 on 2016/08/05 by Phillip.Kavan
[UE-34085] Fix an ensure when force-deleting compiled Blueprint class assets in the Content Browser.
change summary:
- modified ForceDeleteObjects() to relocate a redundant 'ObjectsToReplace' iteration that recently was converted to a ranged-based for loop; the conversion seems to have caused the iterator to ensure, due to existing code that was modifying the target array inside the loop.
#jira UE-34085, UE-34169
Change 3078912 on 2016/08/05 by Andrew.Rodham
Editor: When locking an editor viewport to a camera, camera cut flags are now correctly specified
#jira UE-33875
Change 3078900 on 2016/08/05 by Lauren.Ridge
Fix for small Vive HMD movements entering VR mode
#jira UE-33970
Change 3078880 on 2016/08/05 by Jack.Porter
Cannot set GenerateOverlapEvents flag on Landscape
#jira UE-9055
Change 3078879 on 2016/08/05 by Lee.Clark
PS4 - Fix corrupted debuffer decals
(CMask wasn't getting decoded correctly)
#jira UE-34273
Change 3078871 on 2016/08/05 by Steve.Robb
Fix for changes to UObject*s in property boxes.
#jira UE-29596
Change 3078857 on 2016/08/05 by Max.Chen
Sequencer: Set Fixed frame interval playback to false by default.
#jira UE-34272
Change 3078850 on 2016/08/05 by mason.seay
Updated map to test physics mesh, added comments to level BP
#jira UE-29618
Change 3078795 on 2016/08/05 by Andrew.Rodham
Sequencer: Fixed spawnables not responding to blueprint reinstance events
This ultimately left spawnable bindings broken, and an unreachable object in the world
#jira UE-31635
Change 3078786 on 2016/08/05 by Robert.Manuszewski
Reversed the order the UObject delete listeners were notified of UObject deletion to avoid skipping the next listener if the current one removed itself from the array.
#jira UE-33872
Change 3078782 on 2016/08/05 by Andrew.Rodham
Sequencer: Fixes to "Create Camera Here" functionality
Fixed crash when undoing the "Create Camera Here" operation.
Enabled RF_Transactional on all spawned instances in the world (to support undo/redo of instance properties properly)
Fixed issues when the cursor was outside of the play range
#jira UE-33127
Change 3078737 on 2016/08/05 by Andrew.Rodham
Sequencer: Changed event and playback contexts to be weak references to ensure no strong GC references, while maintaining safety
#jira UE-34256
Change 3078722 on 2016/08/05 by Ben.Woodhouse
Fix shader compile error in TP_VirtualRealityBP (disable Morpheus, which was enabled (inadvertently?) in CL 3077481)
#jira UE-34269
Change 3078620 on 2016/08/05 by Dmitriy.Dyomin
Fixed: SunTemple geometry has rendering artifacts on low end devices
[Android_Low] devices will use 'Low' material quality level
#jira UE-22455
Change 3078584 on 2016/08/05 by James.Golding
Add NumVertices back to FSkelMeshSection, so that info is available in non-editor builds (e.g. for runtime mesh merging)
#jira UE-33675
Change 3078565 on 2016/08/05 by Jack.Porter
Removed need for LandscapeInfo in GeneratePlatformPixelData which was crashing mobile previewer.
#jira UE-33842
Change 3078564 on 2016/08/05 by James.Golding
Fix display name for bSupportUVFromHitResults to fix missingspace
#jira UE-34248
Change 3078542 on 2016/08/05 by Yannick.Lange
VR Editor : Temporary fix to disable the possibility of both controllers having a windows docked.
#jira UE-32839
Change 3078541 on 2016/08/05 by Yannick.Lange
VR Editor : Fix linux compile error from VREditorAvatarActor
#jira UE-34215
Change 3078396 on 2016/08/04 by Max.Chen
Sequencer: Invalidate playback context when map changes.
#jira UE-34256
Change 3078291 on 2016/08/04 by Jeff.Campeau
RHI compress/decompress return success/failure
Failure falls back to software method
D3D12 for Xbox One still needs implementation
#jira UE-31363
Change 3078131 on 2016/08/04 by Chris.Babcock
Deal with missing Android movie framerate by defaulting to 30 if not available
#jira UE-34208
#ue4
#android
Change 3078084 on 2016/08/04 by John.Billon
Disabled AMD hacks Cvars that aren't needed anymore.
#Jira UE-30772
Change 3078083 on 2016/08/04 by John.Billon
Consolidated ensures to detect a crash dealing with unallocated render targets in TranslucentLighting to a single test in DefferedShadingRendere and attempt to recover by reallocating deferred render targets.
Added a couple of more ensures when allocating render targets.
Added log message when changing feature levels.
#Jira UE-32536
#Jira UE-32204
Change 3078039 on 2016/08/04 by Josh.Adams
- Fixed a case issue with Linux
#jira UE-33478
Change 3078029 on 2016/08/04 by Ryan.Vance
#jira UE-30989
We need to disable the hmd mask when down sampling to ensure valid input data for blur passes.
Change 3078027 on 2016/08/04 by Lina.Halper
Fix sequencer morphtarget displaying issue
#code review:Max.Chen
#jira: UE-28459
Change 3078012 on 2016/08/04 by mason.seay
map and asset updates for testing UV hit detection
#jira UE-29618
Change 3078009 on 2016/08/04 by Jamie.Dale
Ensured that BULKDATA_SingleUse is only set by UFontBulkData::Serialize when loading
This prevents it being incorrectly set by other operations, such as counting memory used by font data.
#jira UE-34252
Change 3078006 on 2016/08/04 by Mark.Satterthwaite
Duplicate CL #3064008 & CL #3077412:
Fix "iOS Metal-based build crashes at launch with sub-levels":
- Slate should not bind the null RHI texture from an unitialised texture atlas - atlases only have a valid texture pointer once an entry has been added to them and in the template projects an empty sub-level doesn't add anything.
- To prevent this kind of bug resurfacing and being so hard to track down add Metal shader binding validation to our validation layer as Apple's is incomplete on iOS and won't warn us about nil texture usage which causes these GPU restarts. This requires reworking our vertex declaration handling to be more efficient so that we can cache the pipeline reflection data as well as the pipeline objects.
- Fix validation error of texture reallocation on loading template projects under Metal.
#jira UE-30847
Change 3078002 on 2016/08/04 by John.Billon
Fixed LowLightMapQuality warning triggering with wrong conditions.
#Jira UE-33237
Change 3078001 on 2016/08/04 by John.Billon
Fixed a crash due to particle threading issues in packaged game.
#Jira UE-32147
Change 3077989 on 2016/08/04 by Rolando.Caloca
UE4.13 - Fix Vulkan crash when compiling shaders on a new project due to running out of descriptor sets. Now we handle fragmentation of sets and multiple pools per RHI contexts.
#jira UE-34218
Change 3077940 on 2016/08/04 by Jeff.Campeau
Stage applocal dependencies from paths containing $(EngineDir) & $(ProjectDir)
Include copies of the VS2015 runtime and UCRT
Change -applocaldir parameter to -applocaldirectory
Stage to engine and project binaries paths (for crash reporter, etc.)
#jira UE-33903
Change 3077936 on 2016/08/04 by Daniel.Wright
DrawMaterialToRenderTarget gracefully handles an invalid WorldContextObject
#jira UE-34183
Change 3077927 on 2016/08/04 by Lina.Halper
Fix issue with morphtarget not working due to invalid guid
#jira: UE-34077
Change 3077919 on 2016/08/04 by Daniel.Wright
Copy - Lighting channels can now be edited on components with static mobility, since dynamic lights can still affect them
#jira UE-34245
Change 3077877 on 2016/08/04 by Ori.Cohen
Fix physical animation undo/redo not affecting linked bodies and constraints
#JIRA UE-33987
Change 3077823 on 2016/08/04 by Ori.Cohen
Disable copy/paste action on physical animation profiles (From Matt.Kuhlenschmidt)
#JIRA UE-33985
Change 3077814 on 2016/08/04 by Uriel.Doyon
Changed the logs used in the "Texture Streaming Build". Previous warnings are now logged at verbose level. Can be toggled on by running "log texturestreamingbuild all"
#jira UE-34120
#review-3077812
Change 3077781 on 2016/08/04 by Max.Chen
Sequencer: Fix crash in rotation key struct
#jira UE-34155
Change 3077771 on 2016/08/04 by Lina.Halper
Added const and removed auto
#jira: UE-33023
Change 3077702 on 2016/08/04 by Daniel.Wright
Copy - Planar reflection show flags can now be edited
#jira UE-34229
Change 3077585 on 2016/08/04 by Ori.Cohen
Fix spam when moving simulated skeletal mesh in the editor.
#JIRA UE-34164
Change 3077532 on 2016/08/04 by Tom.Looman
Fixed error in description of VR Template.
#jira ue-33950
Change 3077517 on 2016/08/04 by Tom.Looman
Fixed parsing error for FP_VirtualRealityBP
#jira UE-34059
Change 3077493 on 2016/08/04 by Tom.Looman
Updated Template description to remove GearVR reference and include more clear message on the two available maps.
#jira UE-33950
Change 3077492 on 2016/08/04 by Tom.Looman
Improvements to VR Template
Fixed teleportation issue on both locomotion types (JIRA)
Rebuilt navmesh for motioncontrollermap
Added new WIP startermap to clarify the difference between the multiple levels.
Added more comments and did some cleanup in BPs.
#jira UE-33962
Change 3077491 on 2016/08/04 by Jurre.deBaare
Crash when attempting to merge two objects using Simplygon - ProxyMaterialUtilities::CreateProxyMaterialInstance
#fix Pass in complete path to save material to instead of just the name
#jira UE-34211
Change 3077481 on 2016/08/04 by Tom.Looman
Workaround for issue in teleport camera fade. (Removing r.MobileHDR from config)
#jira ue-34143
Change 3077463 on 2016/08/04 by Ben.Woodhouse
Fix for ghosting in the SSR, caused by the SSRTemporal pass not getting velocities passed in. This is only an issue when temporal AA is disabled. There is a performance in this case, because a velocity pass is now required if SSR is enabled and temporalAA/motion blur are off.
#jira UE-32843
Change 3077432 on 2016/08/04 by Steve.Robb
Removal of Fortnite-specific setting which disables hot reload.
#jira UE-33261
Change 3077380 on 2016/08/04 by Keith.Judge
Fix for green reflection environment in some maps.
- Moved deleting pending resources from EndFrame() to RHIEndDrawingViewport() so it *really* gets called once every time there's a Present()
- Fixed a validation error when locking cube map faces which was causing them not to be updated.
- Fixed a validated driver error when creating UAVs due to uninitialised parts of the descriptor and fixed the buffer description for occlusion queries to have the correct 256 byte size (another validation error).
- Added a GPU/CPU sync at the same point the PS4 code does.
#jira UE-32086
Change 3077336 on 2016/08/04 by Mitchell.Wilson
removed r.Streaming.PoolSize from DefaultEngine.ini
Adding DefaultScalability.ini and adding r.StreamingPoolSize to resolve a warning.
#jira UE-30941
Change 3077275 on 2016/08/04 by Phillip.Kavan
[UE-29903] Fix a potential infinite loop when replacing variable nodes in a Blueprint graph via drag-and-drop.
#jira UE-29903
Change 3077119 on 2016/08/04 by Marc.Audy
Use TickType All when in PIE
#jira UE-18982
Change 3077108 on 2016/08/04 by Jon.Nabozny
Add check to USkeletalMeshComponent::TickClothing to skip updating cloth when SkeletalMesh is null.
This can happen when the mesh is cleared between USkeletalMeshComponent::TickComponent and USkeletalMeshComponent::TickClothing.
#jira UE-34032
Change 3077073 on 2016/08/04 by Jurre.deBaare
bBlendOverlappingNormals does not seem to have an impact for Alembic importing
#fix this wasn't being used in the normal calculation anymore so redundant
#jira UE-34204
Change 3077059 on 2016/08/04 by Robert.Manuszewski
Disabling the assert when MaxObjectsInEditor or MaxObjectsInGame collide with EInternalObjectFlags as this is no longer relevant (since the serial number and object flags were split).
#jira UE-34200
Change 3077024 on 2016/08/04 by Thomas.Sarkanen
Added GetResourceSize to UDataAsset
Data assets now correctly report their size.
#jira UE-28851 - Fix mem reporting of DataTables
Change 3077001 on 2016/08/04 by Andrew.Rodham
Sequencer: Fixed sequencer adding spawnables into recorded worlds twice
The issue here is that sequencer was re-evaluating itself with the current play world as the context, which also happened to be the world that it was trying to record. As a result, it ended up with the same sequence being played twice in the recording world.
Added the ability to specify a playback context attribute for sequencer to use, and this no longer allows sequencer to play back in any worlds that are being recorded.
#jira UE-31422
Change 3076995 on 2016/08/04 by Matthew.Griffin
Fixed Shadow Variable warning
Change 3076974 on 2016/08/04 by Matthew.Griffin
Added Node to build CrashReportClient for Linux that can be used by internal game targets
Change 3076820 on 2016/08/04 by Max.Chen
Sequencer: Fix EDL export timing so that shot in time always start at 0 since movies are always rendered at their cut length (until shot handle exports exist).
#jira UE-34199
Change 3076665 on 2016/08/03 by Dan.Oconnor
Quick fix for regression introduced by 3075803. Crashing on load of some games because some tickables don't expect GetTickableGameObjectWorld to be called when IsTickable returns false
#jira UE-18982
Change 3076569 on 2016/08/03 by Chad.Taylor
SteamVR GetOrthoProjection implementation to fix broken console rendering in VR
#jira UE-21424
Change 3076556 on 2016/08/03 by Aaron.McLeran
#jira UE-34154 PSVR Stereo assets are spatialized as MONO
- All audio was routing through A3D lib regardless of if it was mono/stereo etc.
- Fix is to only route audio that is mono and spatialized
- Fixed some compile errors/shadow variables
- Renamed bIs3dSound to bIsA3dSound to indicate its a bool that flags if it is spatialized through A3D library
Change 3076546 on 2016/08/03 by Aaron.McLeran
#jira OR-26161 Client hitches indefinitely when using Stat soundcues / soundwaves
Implementing 3069092 in Release-4.13
- Not all active sounds have sound classes, was causing a crash
#tests Run game with stat soundcues and not crash
Change 3076512 on 2016/08/03 by Ben.Marsh
Fix warning about UnrealTournament:true argument.
Change 3076492 on 2016/08/03 by Daniel.Wright
Integrate - Disallowed DrawMaterialToRenderTarget and Begin/EndDrawCanvasToRenderTarget in construction scripts, since they don't work in game. Blutilities can be used to do blueprint rendering in the editor.
#jira UE-34177
Change 3076491 on 2016/08/03 by Daniel.Wright
Marked the Forward Shading project setting as experimental for 4.13
#jira UE-34176
Change 3076490 on 2016/08/03 by Daniel.Wright
Integrate - Fixed crash rendering translucency with translucent shadows which were determined to be invisible
#jira UE-34175
Change 3076489 on 2016/08/03 by Daniel.Wright
Integrate - Now clamping light MinRoughness to .04 to avoid NaNs from Vis_SmithJointApprox on materials with Roughness 0
#jira UE-34174
Change 3076485 on 2016/08/03 by Daniel.Wright
Integrate - Restored DetailMode changes causing a FGlobalComponentRecreateRenderStateContext - accidental removal from cl 2969413
#jira UE-34173
Change 3076440 on 2016/08/03 by Ryan.Vance
#jira UE-34184
Merging 3060975, 3061888, 3072758 and 3076270 from devvr to rev Oculus sdk.
Adding Oculus 1.6 support.
Change 3076399 on 2016/08/03 by Nick.Darnell
Slate - The LayoutCache pointer in SWidget is now a WeakPtr. This had to be done to handle edge cases where widgets were used in a pool, and placed into invalidation panels that had been deleted in the past, but were later invalidated with bogus pointers to long gone invalidation panels. Also making a tweak to WidgetCache, to update the lasthittestindex to be the one passed in, which is a bit closer to the intended behavior.
#jira UE-34185
Change 3076397 on 2016/08/03 by Rolando.Caloca
UE4.13 - hlslcc -Fix for hlsl length(float)
#jira UE-32629
Change 3076337 on 2016/08/03 by mason.seay
Test assets (and map for ensure bug)
#jira UE-29618
Change 3076332 on 2016/08/03 by Peter.Sauerbrei
fix for clang build errors
#jira UE-34163
Change 3076326 on 2016/08/03 by Ryan.Vance
#jira UE-32975
Using the wrong screen position in the base pass pixel shader with ISR.
Change 3076309 on 2016/08/03 by Benjamin.Hyder
Renaming TEST-LightingFeatures to TM-LightingFeatures
#jira UE-29618
Change 3076299 on 2016/08/03 by Chad.Taylor
Fix SteamVR lag in late-update fold child renderables.
#jira UE-33928
Change 3076214 on 2016/08/03 by Mitchell.Wilson
Resaving BluperintOffice level to resolve MikkTSpace warnings.
Reimporting SM_GodRay_Plane to resolve cook warning.
#jira UE-30064
Change 3076112 on 2016/08/03 by Max.Chen
Sequencer: Fix crash when opening multiple UMG assets (multiple map/unmap record selected actors actions)
#jira UE-34167
Change 3076090 on 2016/08/03 by Marc.Audy
Fix Mac compile error
#jira UE-34163
Change 3076075 on 2016/08/03 by Jeremiah.Waldron
Fixing comments documenting attribute in deleteFiles node for UPL
#jira UE-34161
Change 3076034 on 2016/08/03 by Mitchell.Wilson
Resaving Strategy Game maps to resolve MikkTSpace warnings.
Resaving material in strategy game to resolve string asset reference warning.
#jira UE-29720
Change 3076003 on 2016/08/03 by Mitchell.Wilson
Resaving Elemental Demo levels to resolve MikkTSpace warnings.
Resaving multiple materials to resolve String asset reference warnings.
#jira UE-29679
Change 3075985 on 2016/08/03 by Jeremiah.Waldron
Fixing UPL comments misnaming the deleteFiles node
#jira UE-34161
Change 3075977 on 2016/08/03 by Maciej.Mroz
#jira UE-30473 Moving child component in child blueprint forces parent to become dirty
Duplicated from Dev-Blueprints CL 3075793
Change 3075959 on 2016/08/03 by Marc.Audy
Don't add WorldSettings to the Actor list twice if it is net relevant (pointed out by PR #2639)
#jira UE-33921
Change 3075891 on 2016/08/03 by Chad.Taylor
SteamVR crash fixes related to new OpenVR SDK. Some of the DLL export functions were converted to inline.
#jira UE-34142
Change 3075882 on 2016/08/03 by Dan.Oconnor
Manually integrating 3073939 to address UE-19062
#jira UE-19062
Change 3075805 on 2016/08/03 by Marc.Audy
Implement GetTickableGameObjectWorld() for various FTickableGameObject classes. Releated to CL#3075803
#jira UE-18982
Change 3075803 on 2016/08/03 by Marc.Audy
Make FTickableGameObject only tick once per frame by associating them with a World, and for those unassociated with a World, ticking them after other levels have ticked
#jira UE-18982
Change 3075761 on 2016/08/03 by Max.Preussner
MediaAssets: Fixed crash and incorrect re-initialization of media texture resource (UE-34152)
#jira UE-34152
Change 3075719 on 2016/08/03 by Chad.Taylor
Blocker fix for binary editor crash on incorrectly used dll
#jira UE-34142
Change 3075709 on 2016/08/03 by Jeremiah.Waldron
Changing InXMLNamespace parameter back to "http://schemas.android.com/apk/res/android" which is what it used to be set to directly within AndroidPluginLanguage before the transition from APL to UPL parameterized it in the constructor
#android
#jira UE-34149
Change 3075695 on 2016/08/03 by Jurre.deBaare
Adding missing debug zlib dll
#jira UE-123
Change 3075641 on 2016/08/03 by Jurre.deBaare
Crash when re-importing alembic cache file several times
#fix Always create a new object when importing
#jira UE-34130
Change 3075609 on 2016/08/03 by Danny.Bouimad
#jira UE-29618 updating TM-PhysicalAnimProfiles to use both NumKeys and number keys. Tweaked values inline with testcase so very apparent what each Physical Animation setting does.
Change 3075578 on 2016/08/03 by Mitchell.Wilson
Updating attenuation settings for multiple sounds in Strategy Game.
#jira UE-25828
Change 3075529 on 2016/08/03 by Trung.Le
VREditor: Fxied foliage lasso select without pressing trigger
#jira UE-33689
Change 3075502 on 2016/08/03 by Lee.Clark
Copied from cl#3041664 - Removing UpdateActorPosition. This was not needed in a vast majority of use cases and was causing a crash due to multithreading issues during end of frame updates.
#jira UE-28549
Change 3075386 on 2016/08/03 by Robert.Manuszewski
Fixing bulkdata using source data pointer as an archive instead of raw data when saving
#jira UE-34132
Change 3075384 on 2016/08/03 by mason.seay
AnimBP for crash bug
#jira UE-29618
Change 3075350 on 2016/08/03 by Max.Chen
Sequencer: Added support for additive skeletal animations. Evaluate all overlapping skeletal animation sections.
#jira UE-30506
Change 3075327 on 2016/08/03 by Max.Chen
Sequencer: Fix root component structure for level sequence actor. This fixes an ensure that occurs when double clicking on a level sequence actor sprite in the viewport.
#jira UE-34093
Change 3075313 on 2016/08/03 by Matthew.Griffin
Tidied up hardcoded installed build includes so that they're all in one file with platform checks
Added .dll.config files to CsCompile build products if they exist
Change 3075133 on 2016/08/03 by Yannick.Lange
VREditor : Original submit in Dev-VREditor = 3064489
- Fix crash when starting VREditor and then changing levels
#jira UE-33766
Change 3075124 on 2016/08/03 by Thomas.Sarkanen
Fixed undo/redo crash when editing anim blueprint defaults
Serializing copy records out of the undo buffer returns them to their initial uninitialized state, with NULL cached container pointers. To address this, we re-initialize the anim blueprint when we undo/redo.
#jira UE-34024 - Crash undoing variable change in Animation Blueprint.
Change 3075101 on 2016/08/03 by Matthew.Griffin
Adding job to selectively build games in release branch
Also adding documentation and localization to overnight build
#jira UEB-688
Change 3075061 on 2016/08/03 by Yannick.Lange
VR Editor : Original submit in Dev-VREditor = 3062883
- Fixed bug that Laser extends beyond UI when hovered over Selection Bar or Close Button #jira UE-33552
- Fixed crash when Closing Editor (Alt F4 while in VR mode) #jira UE-32509
- Fixed crash when enabling VR Editor in editor preferences without a HMD connected
- Fixed bug if you "slowly press" over UI selection bars or close buttons, nothing happens #jira UE-33553
- Avatar code refactor to its own actor class #jira UETOOL-812
#jira UE-33552, #jira UE-32509, #jira UE-33553, #jira UETOOL-812
Change 3075059 on 2016/08/03 by Allan.Bentham
Fall back to standard shadows when capsule shadows are not supported.
#jira UE-33344
Change 3075045 on 2016/08/03 by Matthew.Griffin
Added copies of new OpenVR dlls to Binaries/ThirdParty folder to fix warnings in build DDC step
Change 3074693 on 2016/08/02 by Dan.Oconnor
Manually integrating 3070569 from Dev-Blueprints
#jira UE-34119
Change 3074672 on 2016/08/02 by Dan.Oconnor
Manually integrating 3061854 into 4.13 from Dev-Blueprints
#jira UE-34119
Change 3074646 on 2016/08/02 by Aaron.McLeran
#jira UE-34081 Implementing from Dev-Framework CL 3074325
Procedural Sound Wave Fails to Play when returning 0 bytes in GeneratePCMData callback
- Returning 0 bytes in GeneratePCMData results in the procedural sound wave not continuing to play audio. Instead of returning 0, this change returns an empty buffer if the procedural sound wave doesn't have audio ready to generate (due to loading or some other issue).
- Change also fixes a threading issue with QueueAudio queing audio on game thread but being consumed by audio device thread.
- Implementing 3003851 from UT into Dev-Framework.
Change 3074630 on 2016/08/02 by Brent.Pease
UE-23846 - iOS Movie Player can't handle videos at resolutions that aren't multiples of 16
UE-33200 - A movie isn't played on iOS occasionally.
UE-32397 - Error Message displays as Unknown Error when failing to supply a Remote Build server for ios on Windows
+ Give a more friendly error message when UHT fails with an invalid error code.
#jira UE-23846
#jira UE-33200
#jira UE-32397
Change 3074590 on 2016/08/02 by Rolando.Caloca
UE4.13 - Fix gpu morph targets text; add support for RWByteBuffer (disabled).
#jira UE-33694
Change 3074588 on 2016/08/02 by Chad.Taylor
Update OpenVR SDK to v1.0.2
-Hooked up added aspect ratio and sort priority features to SteamVR stereo layers
#jira UE-34115
Change 3074481 on 2016/08/02 by Ori.Cohen
Make sure that new physical animation data defaults to 0
#JIRA UE-33678
Change 3074395 on 2016/08/02 by Ori.Cohen
Fix duplication of physical animation profiles not duplicating data.
Also fix undo redo not working for profiles.
Fix editor not passing Duplicate change type
#JIRA UE-33987, UE-33985
Change 3074392 on 2016/08/02 by Alex.Delesky
#jira UE-32396 - Reverting CL 3074177, since it introduced side-effects.
Change 3074364 on 2016/08/02 by phillip.patterson
Re-created UMG_Optimization for Test Cases
#jira UE-29618
Change 3074346 on 2016/08/02 by Jurre.deBaare
Potential DDC warning fix, remove non-existing values
#jira UE-123
Change 3074289 on 2016/08/02 by Jeff.Fisher
UEVR-13 PSVR: TCR Requirement
Reprojection problem after Sony PlaystationVR Morpheus HMD reconnect fixed.
-When disconnecting and reconnecting the HMD 700+ sets of reprojection data would back up in a queue. After reconnection reprojection would be lagged by 12+ seconds. After some discussion we decided that the queue is not doing anything useful, so I replaced it with a single blob of reprojection data and a dirty flag.
#jira UEVR-13
#review-3074209 @chad.taylor @nick.whiting
Change 3074196 on 2016/08/02 by Martin.Wilson
Mark old anim instances as pending kill so that they dont get grabbed by undo transactions (causes massive slowdown when dragging in spinboxes that modify default values on anim blueprints)
#jira UE-23453
Change 3074177 on 2016/08/02 by Alex.Delesky
#jira UE-32396 - Setting an STextBlock to magenta (#FF00FFFF) will no longer cause it to turn gray when compiling its parent widget blueprint.
Change 3074157 on 2016/08/02 by Ben.Marsh
Remove exception checking for a hard-coded CL. Licensees need to be able to use this stuff.
Change 3074132 on 2016/08/02 by Trung.Le
VREditor: Fixed brush preview present while in foliage mode and hovering at UI
#jira UE-33228
Change 3074131 on 2016/08/02 by Tom.Looman
Fix for scalability build warnings in VR Template
#jira ue-33325
Change 3074089 on 2016/08/02 by Kevin.Rushin
QAGame - Added Foliage to TestMap
#jira UE-29618
Change 3074067 on 2016/08/02 by Kevin.Rushin
QAGame- Rebuilt Lighting
#jira UE-29618
Change 3074063 on 2016/08/02 by Kevin.Rushin
QAGame - Fix up VREditor Map to have more asset variation
#jira UE-29618
Change 3074057 on 2016/08/02 by Andrew.Porter
Deleting - UMG_Optimization
#jira UE-29618
Change 3074040 on 2016/08/02 by Michael.Trepka
On Mac always process child windows when drawing, as they may be on screen even if their parents are minimized.
#jira UE-31194
Change 3074008 on 2016/08/02 by Phillip.Patterson
Renamed UMG_Invalidation to UMG_Optimization to better match test
#jira UE-29618
Change 3073988 on 2016/08/02 by Mitchell.Wilson
Updating starting camera location for Paper2d template to be consistant on both BP and Code version.
#jira UE-32723
Change 3073966 on 2016/08/02 by Jurre.deBaare
Alembic Cache Importer option for propagating matrix transformation does not work
#fix Changed the flag combinations and overhauled the matrix retrieval/caching system
#misc typo fix
#jira UE-34066
Change 3073953 on 2016/08/02 by Lina.Halper
Fixed static warning on null reference
#jira: UE-33923
Change 3073951 on 2016/08/02 by Lina.Halper
Fix GetRelativeTransform for negative scale
#jira: UE-33380
Change 3073896 on 2016/08/02 by Alex.Delesky
#jira UE-33580 - User can now play in editor or save after editing certain parameters such as colors via the eyedropper tool or by using numeric spinners. Minor usability improvements to the Data Table Row Editor.
#jira UE-33867 - User can now play in editor after selecting a color outside of the color picker window using the eyedropper tool
Change 3073804 on 2016/08/02 by Jamie.Dale
Fixed the detail panel trying to apply class customizations to structs
This could happen in the Data Table editor if you made a struct with the same name as a customized class (eg, Actor).
#jira UE-32623
Change 3073803 on 2016/08/02 by Jurre.deBaare
Morph target vertex mapping can be wrong with multi material caches
#fix Changed the way we build the skeletal mesh from the import data and maintain a vertex remapping array to set up the morph targets correctly
#jira UE-34074
Change 3073788 on 2016/08/02 by Andrew.Rodham
Sequencer: Added support for montage based animation
CL#3061714 :
Sequencer: Fixed anim trails not playing in full, sequencer-driven animation.
There were 2 issues here. Firstly, we were force-handling events and anim notifies in non-preview animation which caused undefined behaviour when the animation was also updated on tick. Secondly, On the very first frame of a game, sequencer can sometimes use the PreviewSetMatineeAnimPositionInner method because the actor it is referencing has not begun play yet. Unfortunately this function left the animation in a state where the 'real' animation update function wouldn't trigger any anim notifies properly.
CL#3063015 :
Sequencer: Fixed anim notifies not working when playing animation on blueprint-driven skeletal meshes
We now inject a new animation position into the animation system, rather than trying to 'fake' events outside of the system. This allows for much more robust event triggering when playing back through sequencer. Previously, anim notifies for trail particles would be reset every frame due to TriggerAnimNotifies being called by the animation system, and sequencer. We now defer this responsibility to the animation system entirely during playback.
CL#3068399 :
Sequencer: Changed animation tracks to allow more animation types (such as anim montages)
- APIs now accept UAnimSequenceBases rather than UAnimSequences to afford more flexibility
#jira UE-34046
Change 3073787 on 2016/08/02 by Jurre.deBaare
Handle failed Simplygon proxy mesh generation with error message instead of hard checks
#fix Added a failed delegate along side the succesful delegate
#jira UE-31990
Change 3073786 on 2016/08/02 by Jurre.deBaare
Alembic importer crashes when not assets are generated
#fix Prevented adding nullptr values to the array (now only contains valid entries)
#jira UE-34065
Change 3073777 on 2016/08/02 by Jurre.deBaare
User is able to give a Preview Scene Profile the same name as an existing profile
#fix check changed profile name and append _duplicatedname if found to be matching an existing profile name
#jira UE-34033
Change 3073775 on 2016/08/02 by Mitchell.Wilson
Updating VehicleExampleMap for BP and Code templates to have consistant starting locations
#jira UE-31281
Change 3073732 on 2016/08/02 by Rolando.Caloca
DR - Fix crash when enabling gpu morph targets on non SM5 platforms
#jira UE-34011
Change 3073706 on 2016/08/02 by Peter.Sauerbrei
fix for no tvOS libraries in binary release for Win64
#jira UE-34076
Change 3073671 on 2016/08/02 by Allan.Bentham
High quality mobile reflection captures are now blended in correct (linear) space.
#jira UE-33915
Change 3073663 on 2016/08/02 by Peter.Sauerbrei
fix for launch on failing for iOS in Binary
#jira UE-34014
Change 3073662 on 2016/08/02 by Lee.Clark
4.13 - PS4 - Fix Media Player Audio cutting out
#jira UE-33850
Change 3073616 on 2016/08/02 by Mark.Satterthwaite
Duplicate CL #3073584 from Dev-Platform:
Fix iOS Metal not playing in the background when the phone is locked and there's no drawable texture.
#jira UE-32323
Change 3073592 on 2016/08/02 by Max.Chen
Curve Editor: End any transactions on mouse down that weren't ended cleanly. This fixes a bug where if you drag with the left mouse button and click with the right mouse button, the transactions are left in an ambiguous state.
#jira UE-33993
Change 3073585 on 2016/08/02 by Nick.Darnell
Slate/UMG - When you select a paper sprite, or any other implementor of the SlateTextureAtlasInterface the editor will now correctly pick a default size for the brush matching the size of the sprite like it does for textures.
#jira UE-34075
Change 3073575 on 2016/08/02 by Richard.TalbotWatkin
Duplicating from Dev-Editor, CL 3057645
Fixed single player PIE so the window position is correctly fetched and saved, even when running a dedicated server. This does not interfere with stored positions for multiple PIE, which uses ULevelEditorPlaySettings::MultipleInstancePositions.
#jira UE-33416 - New Editor PIE window does not center to screen when running with a dedicated server
Change 3073542 on 2016/08/02 by Richard.TalbotWatkin
Duplicated from Dev-Editor, CL 3072169.
A couple of changes to the BSP code:
* Fixed longstanding issue where sometimes BSP geometry is not rebuilt correctly after editing it. This was due to poly normals not being recalculated after translating vertices in Geometry Mode.
* Fixed corruption to FPoly::iLink as it is overloaded to have two meanings: when building BSP, it temporarily represents the surface index of the next coplanar surface (and adding a new BSP node uses this to determine whether a new surface needs to be added or not). In other operations it represents an FPoly index, in general this is used more in editor geometry operations. This fixes various crashes which arose from rebuilding BSP resulting in invalid FPoly indices.
#jira UE-12157 - BSP brushes break when non-standard subtractive bsp brushes are used
#jira UE-32087 - Crash occurs when creating Static Mesh from Trigger Volume
Change 3073540 on 2016/08/02 by Matthew.Griffin
Added Package Samples script behind a trigger to package samples for QA
Removed submitter notifications from Launcher Samples nodes
Added submitters of any file in Templates/StarterContent as notified for Feature Pack and DDC nodes
Removed any dependencies on Win64 only nodes from the Mac Installed Build so that it can be run locally
Added Overnight Build Type to Release Branch to run the Binary Release and Package Samples jobs
#jira UEB-689
Change 3073511 on 2016/08/02 by Tom.Looman
Removed object redirectors to fix build warning in VR Template
#jira ue-33325
Change 3073458 on 2016/08/02 by Jurre.deBaare
Update default preview scene ini and assets
#fix deleted old sky texture and fixed BaseEditor.ini setup
#jira UE-34063
Change 3073427 on 2016/08/02 by Richard.TalbotWatkin
Duplicated from Dev-Editor, CL 3068585
Fix to Spline Mesh collision building so that geometry does not default to being auto-inflated in PhysX.
#jira UE-34062 - SplineMesh collision can be generated incorrectly
Change 3073421 on 2016/08/02 by James.Golding
Resave PSD test assets in QAGame with proper version
#jira UE-34061
Change 3073419 on 2016/08/02 by James.Golding
Rename OrientationDriver to PoseDriver
#jira UE-34015
Change 3073404 on 2016/08/02 by Richard.TalbotWatkin
Duplicated from Dev-Editor, CL 3057895
Mesh paint bugfixes and improvements.
Changes to RerunConstructionScript so that OnObjectsReplaced is called correctly on all components, whether they have been created by the SCS or the UCS. Previously, components created by the UCS were not being handled, and components created by the SCS were not always being matched. Now a serialized index is maintained for UCS-created objects, which is matched after the construction scripts have been executed.
This will fix issues with the mesh paint tool, and any other editor tool which hooks into the OnObjectsReplaced callback in order to update its internal cache of component pointers, for example, the component visualizer render list.
#jira UE-33010 - Crash changing mesh paint material in blueprint, then changing to a different mode tab
#jira UE-32279 - Editor crashes when reselecting a mesh in paint mode
#jira UE-31763 - [CrashReport] UE4Editor_MeshPaint!FMulticastDelegateBase<FWeakObjectPtr>::RemoveAll() [multicastdelegatebase.h:75]
#jira UE-30661 - Vertex Painting changes collision complexity if the asset is saved while vertex painting
Change 3073380 on 2016/08/02 by Richard.TalbotWatkin
Fixed build error in unity builds.
#jira UE-33049 - Transform widget visible in blueprint viewport when editing spline points in editor viewport
#jira UE-9062 - Spline editing: It would be nice to be able to type in a specific value for a point
#jira UE-7476 - Add ability to edit SplineComponent in BP editor (not just instance in level)
#jira UE-13082 - Users would like a snapping feature for splines
#jira UE-13568 - Additional Spline Component Functionality
#jira UE-17822 - It would be useful to be able to update a bp spline layout from the editor viewport.
Change 3073343 on 2016/08/02 by Matthew.Griffin
Whitelisting PS4 and XboxOne plugins for those platforms specifically
#jira UE-33866
Change 3073338 on 2016/08/02 by Ben.Marsh
When running in unattended mode, write an error refusing to load any missing plugin rather than opening a modal dialog. Fixes ShooterGame build error with missing PS4/XboxOne plugins.
Change 3073319 on 2016/08/02 by Maciej.Mroz
#jira UE-26676, UE-33027, UE-32806, UE-33460, UE-33423, UE-33860
Manually integrated some fixes from Dev-Blueprints
Change 3073311 on 2016/08/02 by Richard.TalbotWatkin
Duplicated from Dev-Editor CL 3057868
Spline component improvements, both tools and runtime:
- SplineComponentVisualizer now works within the Blueprint editor. This works via a generic extension added to the base ComponentVisualizer class which correctly propagates modified properties from the preview actor to the archetype, and then on to any instances whose properties are at the default value.
- The above feature required a breaking change to USplineComponent - namely, the three FInterpCurve properties have been collected together into a struct and added as a single property. This is so that changes to the length of one of the FInterpCurves marks all three as dirty and needing rebuilding.
- Added a custom version for SplineComponent and provded serialization fixes.
- Added a details customization to SplineComponent to hide the raw FInterpCurve properties.
- Added a custom detail builder category which polls the SplineComponentVisualizer each tick and provides numerical editing for spline points which are selected in the visualizer.
- Relaxed the limitation that SplineComponent keys need to have an increment of 1.0. Now any SplineComponent key can be set. The details customization enforces that the sequence remains strictly ascending.
- Allowed an explicit loop point to be specified for closed splines.
- Allowed discontinuous splines by no longer forcing the ArriveTangent and LeaveTangent to be equal.
- Added some new Blueprintable methods for building splines with an FSplinePoint struct, which allows all of a spline point's properties to be specified, and added to the FInterpCurves sorted by the input key.
- Fixed the logic which determines whether the UCS has modified the spline curves.
- Added UActorComponent::RemoveUCSModifiedProperties, which allows a component to remove any properties from the cached list which it doesn't want to be considered as 'modified'. This is used to distinguish the case of properties preserved by the SplineInstanceDataCache from those genuinely modified by the UCS.
- Fixed "Apply Instance Changes to Blueprint" so that edited spline data can be applied to the archetype.
- Fixed some issues with the spline component visualizer to make it generate appropriate up vectors if scale and rotation are enabled.
#jira UETOOL-766 - Spline tool improvements
#jira UE-33049 - Transform widget visible in blueprint viewport when editing spline points in editor viewport
#jira UE-9062 - Spline editing: It would be nice to be able to type in a specific value for a point
#jira UE-7476 - Add ability to edit SplineComponent in BP editor (not just instance in level)
#jira UE-13082 - Users would like a snapping feature for splines
#jira UE-13568 - Additional Spline Component Functionality
#jira UE-17822 - It would be useful to be able to update a bp spline layout from the editor viewport.
#jira UE-33049 - Transform widget visible in blueprint viewport when editing spline points in editor viewport
#jira UE-33669 - Crash in Dev-Editor
Change 3073242 on 2016/08/02 by James.Golding
Move physics state create/destroy delegates from BodyInstance to ActorComponent
- Rename virtual Create/DestroyPhysicsState on OnCreateDestroyPhysicsState, and make protected.
- Create new public Create/DestroyPhysicsState non-virtual to call virtual, and also invoke delegate.
#jira UE-32768
[CL 3112924 by Ben Marsh in Main branch]
2016-09-02 20:26:51 -04:00
Collector . AddReferencedObjects ( UnloadedActionListIt . Value ) ;
2015-09-24 11:58:53 -04:00
}
auto OrphanedUnloadedActions = UnloadedActions . Difference ( AllActions . Intersect ( UnloadedActions ) ) ;
Copying //UE4/Release-Staging-4.13 to //UE4/Dev-Main (Source: //UE4/Release-4.13 @ 3106830)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3106830 on 2016/08/30 by Daniel.Lamb
Fix hang in cooker caused by not processing async shader compilation.
#test cook shootergame git hub
#jira UE-35329
Change 3104890 on 2016/08/29 by Marc.Audy
Provide backwards compat fixup for ProcMesh components created in the window where they were no longer transient, but not yet marked public
#jira UE-35280
Change 3104847 on 2016/08/29 by Dan.Oconnor
Fix, for the fix. Moved pin link destruction out of the volatile context, now doing it after text buffer has been consumed.
#jira UE-35276
Change 3104828 on 2016/08/29 by Marc.Audy
Since ProcMeshBodySetup is instanced, it needs to be Public in the BP so that the Archetype reference doesn't cause a GLEO
#jira UE-35280
Change 3104706 on 2016/08/29 by Dan.Oconnor
Make sure pin links are destroyed when attempting to destroy a node that cannot be copy/pasted into a different graph
#jira UE-35276
Change 3104329 on 2016/08/29 by Marcus.Wassmer
Fix PostProcess materials being broken in SM4
#jira UE-35267
Change 3103964 on 2016/08/28 by Mitchell.Wilson
Rebuildt lighting in Content Examples lighting level
#jira UE-34656
Change 3103819 on 2016/08/27 by nick.bullard
Submitting change as fallback for next build
#jira UE-29618
Change 3103810 on 2016/08/27 by Daniel.Wright
Point and spot lights are now supported in orthographic projections using standard deferred
#jira UE-35198
Change 3103756 on 2016/08/27 by Steve.Robb
Back out revision 2 from //UE4/Release-4.13/Engine/Source/Runtime/Engine/Classes/AI/Navigation/NavigationTypes.h
#jira UE-34361
Change 3103632 on 2016/08/26 by Steve.Robb
Fixes for FGCObject usage. Hopefully will fix partially-initalized pointers being passed to the GC.
#jira UE-34361
Change 3103541 on 2016/08/26 by Marcus.Wassmer
Duplicate 3102654
Fix for D3D error with mismatched vertex/pixel shader registers for SV_POSITION input. Remove unused PixelPosition attribute from interpolators
#jira UE-33424
Change 3103313 on 2016/08/26 by Mitchell.Wilson
Rebuilt lighting on multiple levels in Content Examples
#jira UE-34656
Change 3103283 on 2016/08/26 by Mark.Satterthwaite
Mac binaries for hlslcc update in CL #3076397.
#jira UE-32629
Change 3103126 on 2016/08/26 by Nick.Shin
since last checkin (CL: 2981945) - prints are crashing the browser - this change will allow browser to print the details via console.log()
PULLING from CL: #3102900
#jira UE-26047 - HTML5 HTTP Response Headers not implemented
Change 3102929 on 2016/08/26 by Marc.Audy
Don't display inaudible sounds when using stat soundcues
#jira UE-35237
Change 3102563 on 2016/08/26 by Matthew.Griffin
Changed CS tools step so that Swarm projects are only built on Windows, causing problems for Mac and Linux
Change 3102491 on 2016/08/26 by Matthew.Griffin
Mark Nightly build as including Editor, Tools, Monolithics & DDC to prevent multiple DDC jobs being kicked off after it starts
Change 3102424 on 2016/08/26 by Matthew.Griffin
Changed ClearString to reset the string instead of allocate a new one in case this is the cause of crash on exit on Mac
Change 3102265 on 2016/08/26 by Jack.Porter
Fixed crash due to landscape texture streaming on iOS referring to PC-only data
#jira UE-34874
Change 3102194 on 2016/08/25 by Zabir.Hoque
Fix FD3D12ResouceLocation being created without a valid device.
#jira UE-35137
Change 3102079 on 2016/08/25 by Chris.Babcock
Fix Android OnControllerConnectionChange event to return right controller ID
#jira UE-25697
#ue4
#android
Change 3102001 on 2016/08/25 by Jeff.Campeau
Force root path for era.xvd
#jira UE-35138
Change 3101468 on 2016/08/25 by Peter.Sauerbrei
fix for no debug information in development, debug, debug game, or test
#jira UE-35203
Change 3100475 on 2016/08/24 by Jeff.Campeau
Include the side loaded ERA from the XDK we're building with when deploying loose file builds from tools (VS and packaging take care of this for us).
#jira UE-35138
Change 3100347 on 2016/08/24 by Max.Preussner
Media: Fixed media shader pixel conversion, interpolation, and brightness issue in Kite demo (UE-35162)
#jira UE-35162
Change 3100277 on 2016/08/24 by Jeremiah.Waldron
Fixing UPL setStringFromProperty to use the default value if the ConfigIni fails to find a value for the given property in the given section
Previously, if a value was missing from the ini, UPL variables would be set to an empty string rather than the default value in this case
Copied from Dev-Platform CL 3100246
#jira UE-35173
Change 3100244 on 2016/08/24 by Aaron.McLeran
#jira UE-35141 Audio no longer plays once window loses focus
Fix is to not include application volume changes (tabbing or application volume) when evaluating sound waves for inclusion in wave instance list, etc. Only use the "actual" volume when setting the volume on playing sound sources.
#tests tab out of game when running, audio returns to normal like it should (including 1-shot sounds)
Change 3100076 on 2016/08/24 by Dmitry.Rekman
Fix crash on Linux server start (UE-35102)
- Avoid initializing VR resources on servers.
- The issue seems to be caused by inability to load VRText_RobotoLarge.uasset in -server mode. Proper fix is tracked as UE-35166.
#jira UE-35102
Change 3099964 on 2016/08/24 by Graeme.Thornton
Make sure hot reload is disabled in all server builds
#jira UE-35140
Change 3099761 on 2016/08/24 by Matt.Kuhlenschmidt
Fix crash when deleting sample content from a project. At some point along the line a blueprint is deleted which forces a GC and cleans up an object prematurely. This is fine as the cleaned up object is already deleted. We just need to check for nulls in the object to delete array
#jira UE-35104
Change 3099744 on 2016/08/24 by Mitchell.Wilson
Rebuilt lighting and geometry on Sanctuary map.
#jira UE-34991
Change 3099707 on 2016/08/24 by Mitchell.Wilson
Added EndGFX_Source.uasset and updated other media assets for changes to media framework. Updated cinematic level BP to play new media properly.
#jira UE-34856
Change 3099660 on 2016/08/24 by Chris.Babcock
Make SPIRV default shader format for Vulkan on Android
#jira UE-35159
#ue4
#android
Change 3099629 on 2016/08/24 by Tom.Looman
Fixed issue in VR Template with floating teleport indicator.
#jira ue-35145
Change 3099570 on 2016/08/24 by Peter.Sauerbrei
development provision out of date which was causing Game Center to ignore login requests
#jira UE-35089
Change 3099442 on 2016/08/24 by Gareth.Martin
Fixed landscape accidentally being made blueprintable in 4.13
#jira UE-35147
Change 3099304 on 2016/08/24 by Benn.Gallagher
Added reinit for skeletal mesh components of actors that have been compiled, to mitigate hard to track crash from previews.
#jira UE-35030
Change 3099232 on 2016/08/24 by Max.Preussner
Fixed non-unity build.
#jira UE-35124
Change 3099148 on 2016/08/24 by Matthew.Griffin
Normalize path separators of ParentDir so that check against root build storage directory succeeds
Change 3099137 on 2016/08/24 by Matthew.Griffin
Added node to Clean old Packaged Samples now that we're happy they're working correctly
Change 3099133 on 2016/08/24 by Matthew.Griffin
Added BuildCommand to use CleanFormalBuilds in BuildGraph scripts
Change 3099082 on 2016/08/24 by Matthew.Griffin
Adding token for Github promotion step so that it can't be run twice
Change 3099028 on 2016/08/24 by Max.Chen
Movie Capture: Fix matinee movie capture not getting ticked
#jira UE-35116
Change 3098890 on 2016/08/23 by Max.Preussner
PS4Media: Implemented an option to play audio tracks via the OS sound mixer
#jira UE-35125
Change 3098887 on 2016/08/23 by Max.Preussner
WmfMedia: Moved settings into shared module
#jira UE-35124
Change 3098700 on 2016/08/23 by Leslie.Nivison
Updating UE credits
#jira UEPROD-879
Change 3098682 on 2016/08/23 by Mark.Satterthwaite
Fix "Match3 crashes on device after locking and unlocking the screen on iOS", accidentally left a Mac-only assert in MetalStateCache::SetRenderTargetsInfo.
#jira UE-35117
Change 3098645 on 2016/08/23 by Marc.Audy
Handle RegisterSoundClasses on the AudioThread correctly
#jira UE-35130
Change 3098591 on 2016/08/23 by Mitchell.Wilson
Back out changelist 3095222
#jira UE-35120
Change 3098579 on 2016/08/23 by Max.Preussner
WmfMedia: Implemented an option to play audio tracks via the OS sound mixer (UE-35124)
#jira UE-35124
#jira UEPLAT-1375
Change 3098559 on 2016/08/23 by Marc.Audy
Don't allow the consideration of nodes that won't be processed to affect the live aspect of the active sound containing a cross fade node
#jira UE-34998
Change 3098461 on 2016/08/23 by Richard.TalbotWatkin
Changed notification text when geometry errors are detected in a level which has just been loaded; it's now clear that the issues are due to faults in previous versions of the editor, and not due to user error. Added a timeout of 25 seconds to the notification, so that it'll disappear if you don't do anything. Added extra code to the ResavePackages commandlet to automatically perform a geometry rebuild on any levels suffering this issue.
#jira UE-35047 - CLONE - Geometry Requires Rebuilding Opening OrionEntry in Editor
Change 3098451 on 2016/08/23 by Peter.Sauerbrei
fix for low end devices which don't support arm64 not being able to install on device
#jira UE-35109
Change 3098425 on 2016/08/23 by Olaf.Piesche
replicating CL 3098418
#jira UE-34838
Change 3098415 on 2016/08/23 by Max.Preussner
MediaAssets: Fixed image sink not being reset (UE-35114)
#jira UE-35114
Change 3098389 on 2016/08/23 by Chris.Babcock
Add Android Mediaplayer GetInfo support
#jira UE-35111
#ue4
#android
Change 3098181 on 2016/08/23 by Jeff.Fisher
UEVR-134 Morpheus HMD sceCommonDialogInitialize should not assert if already initialized
-duplicating fix in dev-VR for 4.13
-Replace the assert & return with logging. Its ok if this is already initialized, and it really ought not fail in any other way... and if it does, well lets continue to setup VR mode. Dialogs may not function, however.
#jira UEVR-134
Change 3098111 on 2016/08/23 by Ben.Marsh
UAT: Insert quotes as appropriate when printing out the command line for a command.
Change 3098082 on 2016/08/23 by Ben.Marsh
EC: Fix missing argument to build_agent_setup().
Change 3098076 on 2016/08/23 by Ben.Marsh
Tidy up token diagnostic messages.
Change 3098065 on 2016/08/23 by Ben.Marsh
EC: Pass the token signature to child jobs such as triggered builds, so they can continue to use the same entitlements.
Change 3097830 on 2016/08/23 by Max.Chen
Fbx Export: Fix sequencer skeletal animation track export so that it exports out the correct frame range (the playback range of the movie scene).
#jira UE-35092
Change 3097829 on 2016/08/23 by Gareth.Martin
Fixed crash loading a landscape level after deleting a layer info it depends on
#jira UE-35059
Change 3097700 on 2016/08/23 by Mason.Seay
Back out revision 2 from //UE4/Release-4.13/QAGame/Content/Materials/BaseColor/MI_BaseColor_Yellow.uasset (was deleted by accident)
#jira UE-29618
Change 3097687 on 2016/08/23 by Ben.Woodhouse
Change the per-object shadow depth bias to match the CSM one to avoid self-shadowing artifacts.
#jira UE-32221
Change 3097667 on 2016/08/23 by Mitchell.Wilson
Rebuilt geometry to resolve rebuilt pop up when launching the project.
#jira UE-34991
Change 3097664 on 2016/08/23 by mason.seay
Deleted old blueprint
#jira UE-29618
Change 3097622 on 2016/08/23 by Ben.Marsh
BuildGraph: Output a more useful list of skipped target nodes due to pre-existing tokens.
Change 3097602 on 2016/08/23 by Ben.Marsh
Remove dependency on DeploymentInterface from UAT modules.
Change 3097592 on 2016/08/23 by Jurre.deBaare
Force one smoothing group did not work for Alembic objects that don't contain normals
#fix Number of smoothing groups should equal number of faces not indices
#jira UE-35026
Change 3097574 on 2016/08/23 by Gareth.Martin
Fixed crash importing a heightmap larger than the landscape
#jira UE-35054
Change 3097361 on 2016/08/22 by Max.Chen
Sequencer: Move ExportEDL to close()
#jira UE-35032
Change 3097297 on 2016/08/22 by Jeff.Campeau
LibCurl built with support for WinXP (GetTickCount instead of GetTickCount64).
Separate lib under Win32/VS2013_xp to avoid degrading functionality of non-XP builds.
Reset the lib path for XP in UEBuildWindows.cs
#jira UE-31243, UE-32421
Change 3097292 on 2016/08/22 by Max.Chen
Sequencer: Fix export not writing out edl files.
#jira UE-35032
Change 3097176 on 2016/08/22 by Mike.Beach
Mirroring CL 3097150 from Dev-BP
When converting function entry/exit nodes from an interface, set the replacement user-defined pins "DesiredDirection" properly (we now reject pins that don't match the expected direction, and user-defined pins created this way were setup wrong).
#jira UE-34985
Change 3097161 on 2016/08/22 by Aaron.McLeran
#jira UE-35072 Crash dragging Sound Wave onto Output node in Newly Created Empty Sound Cue
Change 3097128 on 2016/08/22 by Dmitry.Rekman
Linux: fix crash on exit (UE-34909).
- Caused by race condition between FPThreadRunnableThread destructor and PostRun().
- This is a patch, issue will be addressed properly in UE-35074.
#jira UE-34909
Change 3097126 on 2016/08/22 by Marc.Audy
Reenable stat soundmixes
Fix long names not having a unique enum value
#jira UE-35070
Change 3096987 on 2016/08/22 by Max.Preussner
Media: Fixed media not playing on Android (UE-34898)
#jira UE-34898
Change 3096843 on 2016/08/22 by Marc.Audy
Fix up weights and has been used arrays in PostLoad instead of repeatedly in Parse. Avoids crash in GetNumSounds if Parse has never been called
#jira UE-35055
Change 3096732 on 2016/08/22 by Marc.Audy
Just use the default physics volume if there is no WorldSettings object
#jira UE-35060
Change 3096448 on 2016/08/22 by Mitchell.Wilson
Removed "Gear:" from HUD to be consistant with C++ version of template.
#jira UE-34756
Change 3096447 on 2016/08/22 by Gareth.Martin
Fixed crash running Landscape levels on mobile
#jira UE-34874
Change 3096399 on 2016/08/22 by Mitchell.Wilson
Re-saving asset to resolve empty engine version warning.
#jira UE-35012
Change 3096364 on 2016/08/22 by alan.willard
Checkin to update engine version.
#jira UE-34683
Change 3096358 on 2016/08/22 by Jurre.deBaare
Crash when importing Alembic asset as "skeletal," replacing a Geometry Cache instance of the asset
#fix underlying issue was that the FrameEnd value wasn't being set correctly in the reimport path and thus FrameStart and FrameEnd would be 0
#misc added check + error message when trying to import an invalid frame range
#jira UE-35014
Change 3096309 on 2016/08/22 by Jurre.deBaare
Materials are not imported with an alembic cache when it is reimported
#fix Notify asset registry of created materials (to make them visible in content browser immediately)
#jira UE-35038
Change 3096271 on 2016/08/22 by Peter.Sauerbrei
fix for incorrect architecture list in generated plist
#jira UE-35002
Change 3096255 on 2016/08/22 by Gareth.Martin
Fixed Mac compile of CL 3096155
#jira UE-34574
Change 3096220 on 2016/08/22 by Jurre.deBaare
Alembic importer does not remove duplicate verts in skeletal mesh
#fix Added duplicate vertex removal to skeletal mesh import path
#jira UE-35025
Change 3096215 on 2016/08/22 by Jurre.deBaare
Force one smoothing group did not work for Alembic objects that don't contain normals
#fix Check for the import settings flag and generate normals/smoothing groups accordingly
#JIRA UE-35026
Change 3096191 on 2016/08/22 by Jurre.deBaare
Should force import type to remain the same when reimporting any Alembic assets
#fix Added setting customization and reimporting flag to restrict import type restrictions during reimporting process
#jira UE-35024
Change 3096188 on 2016/08/22 by Jurre.deBaare
Crash when PIE after reimporting a geometry cache alembic file with materials
#fix Return correct material object, otherwise transient would be used and destroyed somewhere along the way
#jira UE-35020
Change 3096187 on 2016/08/22 by Mitchell.Wilson
Re-saving level again to resolve vetex paint warning.
#jira UE-34662
Change 3096155 on 2016/08/22 by Gareth.Martin
Fixed another missing shader crash in landscape editor
#jira UE-34574
Change 3096132 on 2016/08/22 by Jack.Porter
Fixed issue with missing landscape components in ElementalDemo
#jira UE-34918
Change 3096116 on 2016/08/22 by Mitchell.Wilson
Adding D-pad controls for certain controllers
#jira UE-34726
Change 3096089 on 2016/08/22 by Matthew.Griffin
Adding Tokens to Installed Build to avoid clashes
Change 3096082 on 2016/08/22 by Joe.Conley
Small PS4 save data fix.
Fixing copy and paste typo that was passing a mismatched parameter to sceSaveDataSetParam
#jira UE-35021 - Passing a mismatched parameter to sceSaveDataSetParam on PS4
Change 3096046 on 2016/08/22 by Richard.TalbotWatkin
PR #2715: Fix array out of bounds on USplineComponent::RemoveSplinePoint (Contributed by 0lento).
Also fixed some other issues introduced with the recent spline code changes.
#jira UE-34930 - GitHub 2715 : Fix array out of bounds on USplineComponent::RemoveSplinePoint
Change 3095848 on 2016/08/21 by Dmitriy.Dyomin
Fixed: Text in Mobile Packaging Wizard UI points to missing documentation
#jira UE-35015
Change 3095540 on 2016/08/19 by Gareth.Martin
Fixed errors if Landscape Component GIBakedBaseColorTexture had been reassigned
#jira UE-34794
Change 3095248 on 2016/08/19 by Mitchell.Wilson
Updating PostProcessing level Screen Percentage to be more noticable.
#jira UE-34950
Change 3095247 on 2016/08/19 by Nick.Whiting
Removing r.FinishCurrentFrame=1 from VR Template config, which shouldn't be there.
#jira UE-34970
Change 3095222 on 2016/08/19 by Mitchell.Wilson
Re-saving all levels in Elemental Demo to resolve vert paint warnings
#jira UE-34864
Change 3095119 on 2016/08/19 by Lauren.Ridge
Reverting TapJoy implementation in Unreal Match 3
#jira UE-33256
Change 3095094 on 2016/08/19 by Mark.Satterthwaite
Fix black flickering in Metal rendering when using Metal SM5:
- Compute shaders write to a UAV texture so mark a texture as written when bound as a UAV.
#jira UE-34917
Change 3095058 on 2016/08/19 by Mitchell.Wilson
Re-saving all levels in Showdown to resolve vert paint warnings.
#jira UE-34722
Change 3094985 on 2016/08/19 by Benn.Gallagher
Fixed debris firing in infiltrator demo on PS4 after the main character leaves the sewer. Caused by some undefined behavior in a bitfield write due to an optimization.
#jira UE-34832
Change 3094957 on 2016/08/19 by Mitchell.Wilson
Updating spelling errors on multiple levels in Content Examples.
#jira UE-34910 UE-34907 UE-34911
Change 3094924 on 2016/08/19 by Marc.Audy
Zero-volume vorbis decoded sounds are too expensive
-Adding an audio settings parameter to disable zero-volume playback globally
-Adding a new bool on sound waves to allow opt-in to virtualize when at zero-volume
#jira UE-34951
#author aaron.mcleran
Change 3094644 on 2016/08/19 by Mitchell.Wilson
Re-saving asset to resolve empty engine version warning
#jira UE-34846
Change 3094641 on 2016/08/19 by Mitchell.Wilson
Updated location of Ledge_17
#jira UE-34848
Change 3094606 on 2016/08/19 by Lina.Halper
#ANIM: SmartNAME: the cooking doesn't guarantee the package is saved in the order, so we'll still have to regenerate list without GUID.
- assumed the name is all set by now
#jira : UE-34886
Change 3094500 on 2016/08/19 by Matthew.Griffin
Pass on Initial Properties when reading projects recursively so that we use the desired platform and configuration
Change 3094477 on 2016/08/19 by Gareth.Martin
Fixed crash loading old Landscape levels with tessellation
#jira UE-34877
Change 3094472 on 2016/08/19 by Gareth.Martin
Fixed crash loading old landscape levels with bad collision in standalone uncooked game
#jira UE-34843
Change 3094471 on 2016/08/19 by Graeme.Thornton
Mark PC platforms as not exiting immediately after launching when using UAT
- Causes cook on the fly servers that were spawned when doing launch-on in the editor to close down when the client exits
#jira UE-34788
Change 3094362 on 2016/08/19 by Max.Chen
Sequencer: Fix Export FBX so that when exporting selected nodes, all descendant object binding nodes are exported.
#jira UE-34459
Change 3093997 on 2016/08/18 by Mitchell.Wilson
Added gamepad keybinding for breaking free at the beginning of platformer game.
Updated jump and slide gamepad controls to be left stick up/down
#jira UE-34726
Change 3093979 on 2016/08/18 by Max.Chen
Sequencer: Fixed byte, integer and string properties not being able to be exposed to cinematics on blueprints
#jira UE-32141
Change 3093893 on 2016/08/18 by Max.Chen
Back out changelist 3093883
#jira UE-32141
Change 3093883 on 2016/08/18 by Max.Chen
Sequencer: Fixed byte, integer and string properties not being able to be exposed to cinematics on blueprints
#jira UE-32141
Change 3093699 on 2016/08/18 by Dmitry.Rekman
Linux: fixed crash on converting BSP shapes to mesh (UE-28322).
- Was a particular case of a more generic problem: race condition between accessing the window on render thread (Slate queued it for drawing) and deleting it on game thread (can happen as a result of a chain of delegates called from an event handler, like OnMouseUp).
- The current solution is to defer native window deletion so that it survives for at least one more tick (Slate window will get deleted and won't be drawn anymore).
- Investigation why FlushRenderingCommands() (see FSlateRHIRenderer::OnWindowDestroyed) has not prevented it is tracked as UE-34906.
#jira UE-28322
Change 3093613 on 2016/08/18 by Alan.Willard
Updated trace behavior in HMDLocomotionPawn.uasset to trace to a location near walls, not into walls
#jira UE-34683
Change 3093544 on 2016/08/18 by Mitchell.Wilson
Changed mapping for thrust on controller to Right Stick Up/Down to resolve duplicate mapping error.
#jira UE-34419
Change 3093328 on 2016/08/18 by James.Golding
Fix description and tool text of Pose Driver to match new name (no longer Orientation Driver)
#jira UE-34015
Change 3093255 on 2016/08/18 by Matthew.Griffin
Corrected case of output folder so that it's not treated as different folder on Linux
Change 3093236 on 2016/08/18 by Allan.Bentham
Fix android VK crashes.
#jira UE-33593
Change 3093129 on 2016/08/18 by Benn.Gallagher
Fix for possible crash shutting down editor with attached components in active worlds. Skip creating new simulation bodies and weld constraints when we are purging for exit
#jira UE-34739
Change 3092702 on 2016/08/17 by Mark.Satterthwaite
Fix playback of movies on Mac/iOS that have spaces in the filename.
#jira UE-34857
Change 3092565 on 2016/08/17 by Dmitry.Rekman
Fixed incorrect window size in fullscreen (UE-19996).
"True" fullscreen mode on Linux (which involves monitor resolution change) has been disabled long ago due to problems like X11 being messed up if the program crashes, or even drivers being messed up during the resize for no reason. However, the distinction between Fullscreen and WindowedFullscreen modes was preserved and caused bugs because higher level code assumed different window size.
The less invasive fix is to disallow non-windowed fullscreen mode to be set altogether. Proper resolution tracked as UE-34854.
#jira UE-19996
Change 3092550 on 2016/08/17 by Chris.Babcock
Add exception trap for failing to save OBB
#jira UE-34852
#ue4
#android
Change 3092508 on 2016/08/17 by Chris.Babcock
Force OBB to never use Zip64 format
#jira UE-34849
#ue4
#android
Change 3092431 on 2016/08/17 by Chris.Babcock
Correct reading past end of central directory in OBB
#jira UE-34841
#ue4
#android
Change 3092407 on 2016/08/17 by Lauren.Ridge
Adding config for TapJoy
#jira UE-33256
Change 3092346 on 2016/08/17 by Mark.Satterthwaite
Address Mac Metal + Nvidia specific crash on launch-on for BlankProject with StarterContent:
- Disable RHI thread on Nvidia on Mac OS X El Capitan.
- Fix Metal validation error - ForwardLocalLightBuffer in LightGridInjection.usf:LightGridInjectionCS must always be bound even if the number of elements is zero as that's how the Metal spec. works.
#jira UE-34721
Change 3092208 on 2016/08/17 by Richard.TalbotWatkin
When errors in geometry are detected upon loading a level in the editor, a toast notification is now created so the user can choose whether to fix them or not.
Downgraded the output log warning to a regular info log.
Allowed both dynamic and static brushes to be fixed up.
#jira UE-34646 - //UE4/Release-4.13: Cook Orion Win64 completed with warnings: 78 warnings
Change 3092064 on 2016/08/17 by Max.Chen
Sequencer: Fix tangents on import FBX.
#jira UE-34823
Change 3091985 on 2016/08/17 by Brent.Pease
+ UnrealTargetConfiguration is now passed into deploy and package methods
+ The UIRequiredDeviceCapabilities plist key now only considers the architectures from the corresponding target configuration (shipping or development)
(Manual merge from Dev-Platform)
#jira UE-34773
Change 3091962 on 2016/08/17 by Jurre.deBaare
Force View is enabled after Generating Proxy Meshes
#issue due to latest changes the HLOD meshes were forced into view
#fix setting staticmesh component view distances after generating mesh, and restoring the correct forced LOD level afterwards
#misc replaced duplicate code with function call
#jira UE-34807
Change 3091890 on 2016/08/17 by Matt.Kuhlenschmidt
Fix crash with enum properties when there is metadata to define the allowed enum values per property
#jira UE-34804
Change 3091852 on 2016/08/17 by Lina.Halper
Change ensure to Clamp as this isn't any critical warning.
#jira: UE-34776
Change 3091845 on 2016/08/17 by Gareth.Martin
Fixed crash with masked landscape materials
#jira UE-34513
Change 3091816 on 2016/08/17 by Matthew.Griffin
Added Store Released Symbols job, to add symbols to server for a known release.
Change 3091805 on 2016/08/17 by Matthew.Griffin
Also adding source info into UE4Editor and Windows build tools for completeness
Change 3091753 on 2016/08/17 by Mitchell.Wilson
Adjusted the height of some bumps in Vehicle Advanced so the vehicle cannot get stuck.
#jira UE-34667
Change 3091613 on 2016/08/17 by Graeme.Thornton
Generate unique names for FLauncherWorker instances to avoid a thread metadata warning in the log
#jira UE-34785
Change 3091553 on 2016/08/17 by Gareth.Martin
Fixed older levels having default material on landscape when launched in uncooked standalone game
#jira UE-34348
#jira UE-34428
Change 3091519 on 2016/08/17 by Gareth.Martin
Fixed crash cooking landscape for mobile
Also fixes "object in other map" on sub-level save after using mobile preview and move to level tool
Based on Dmitriy.Dyomin's changes
#jira UE-34257
Change 3091354 on 2016/08/16 by Max.Chen
Fbx Export: Fix rich curve tangents on export for level sequence.
- Set tangent mode to user.
- Always bake rotations on cameras.
- Invert values and tangents when converting from unreal coords to fbx.
#jira UE-34459
Change 3091065 on 2016/08/16 by Stephan.Jiang
Duplicate icon changes for asset SoundConcurrency
#jira UE-24350
Change 3091001 on 2016/08/16 by Dmitry.Rekman
Fix for crash during "debug crash" handling (UE-34450).
Compounded problem:
- Debug versions of libc++ were running out of alt stack and smashing static variables next to it, resulting in more mysterious crashes down the road.
- In addition to that, crash malloc sometimes was running out of pools for certain allocation sizes.
Fixes:
- Replaced libc++ with release version.
- Added code to set a guard page on alt stack, so if the issue reoccurs it'll be easier to catch. Increased alt stack size somewhat to account for that.
- Increased crash malloc pools (and thus memory reserved on startup) for Linux.
#codeview Mark.Satterthwaite, Chris.Wood, Steven.Hutton
#jira UE-34450
Change 3090937 on 2016/08/16 by Mitchell.Wilson
Updated multiple template overview BPs so assets are properly highlighted while moving forward and back.
#jira UE-34139
Change 3090646 on 2016/08/16 by Martin.Wilson
Fix for cook warnings in Fortnite
#jira UE-34648
Change 3090645 on 2016/08/16 by James.Golding
Fix face normal on cap faces when slicing proc mesh
#jira UE-33301
Change 3090619 on 2016/08/16 by Richard.TalbotWatkin
Fixed issue where spline components were sometimes not rendered correctly when unselected in the editor. This was due to the render proxy not being updated when the spline is updated.
#jira UE-34758 - SplineComponent debug render is sometimes not in sync with the current spline points
Change 3090520 on 2016/08/16 by Olaf.Piesche
Replicating 3089104 for
#jira UE-34241
Change 3090513 on 2016/08/16 by Jurre.deBaare
LOD's pop in after LOD actors is visible in viewport.
#fix Was actually not baking the materials out, set the LOD selection type for HLOD to default to calculate LOD model and to MergeAllLODs for MeshMerging tool (possible for user to change in this case)
#misc Fix with in WorldSettings post-load hack for Hierarchical LOD settings
#jira UE-34689
Change 3090512 on 2016/08/16 by Jurre.deBaare
Prevent preview scene assets being loaded in game
#fix moved UAssetViewerSettings and SceneProfiels file into UnrealEd and replaced the default cube map with smaller filesize one
#jira UE-34701
Change 3090494 on 2016/08/16 by Keith.Judge
Xbox One - Remove CPU/GPU sync when updating or unlocking textures. This was causing stutters.
#jira UE-34735
Change 3090450 on 2016/08/16 by Richard.TalbotWatkin
Added calls to invalidate the viewport and hit proxy when adding or deleting points from a spline.
#jira UE-34627 - Crash using Camera Rig Rail when deleting a point moving another
Change 3090441 on 2016/08/16 by Frank.Fella
Sequencer - Fix the key struct generatrion and synchronization for vector sections. Prevents a crash and creates the correct UI based on what type of vector you're animating.
#jira UE-34611
Change 3090420 on 2016/08/16 by Matthew.Griffin
Enable Source Indexing for Windows UE4Game targets so that we can add released versions to symbol server
Changed some nodes to rely on just the editor rather than everything produced by that node
Change 3090370 on 2016/08/16 by Mitchell.Wilson
Re-saving levels to resolve vertex color warnings.
Clearing material interface and saving M_Sign_Bloc to resolve warning
#jira UE-34722
Change 3090287 on 2016/08/16 by Keith.Judge
Xbox One - Fix mix up with ESRAM flags/byteusage that was causing some code to think of textures as in ESRAM that weren't and vice versa. Amazingly, this only manifested as a perf drop and some strange bloom along the bottom of the screen with some render settings.
#jira UE-34735
#jira UE-32086
Change 3090258 on 2016/08/16 by Luke.Thatcher
[RELEASE] [!]
Fix crash bug in canvas rendering. It is not valid to pass a null texture.
#jira UE-33077
Change 3090241 on 2016/08/16 by Jurre.deBaare
Adding TPS file for Alembic logo usage
#JIRA UE-123
Change 3090131 on 2016/08/16 by Matthew.Griffin
Added additional cook platforms per platforms listed in Samples List Spreadsheet
Change 3090061 on 2016/08/16 by Joe.Conley
#jira UE-34733 - "Crash when closing the timeline tab inside UMG editor and reopening UMG editor"
Adding a few IsValid() checks to prevent the crash
Change 3089968 on 2016/08/15 by Lina.Halper
Fixed Mac compile error
#jira: UE-30405
Change 3089918 on 2016/08/15 by Aaron.McLeran
#jira UE-34680 Fixing compile warning on ignoring output from CoInitialize
Change 3089914 on 2016/08/15 by Aaron.McLeran
#jira UE-34680 Fixing compile error
Change 3089905 on 2016/08/15 by Peter.Sauerbrei
fix for Samples build failure with Match3
#jira UE-34719
Change 3089867 on 2016/08/15 by Dmitry.Rekman
Fix misspelled case in OrionXpAssembly (OR-27441),
#jira OR-27441
Change 3089859 on 2016/08/15 by Zabir.Hoque
Fix undefined symbol FMMNotificationClient* NotificationClient & static XAUDIO2_DEVICE_DETAILS DeviceDetails; on XB1.
#jira UE-34715
Change 3089790 on 2016/08/15 by John.Billon
Changed integer modulus operations to float modulus operations in media shaders to support ES2.
#Jira UE-34712
Change 3089760 on 2016/08/15 by Lina.Halper
Fix issue with mesh merge crash in packaged build
- reverted that change, and fixed the original issue properly : due to mixed extra vertex influence, not copying data correctly
#jira: UE-30405
Change 3089718 on 2016/08/15 by Mitchell.Wilson
Saving M_TempAATrick_01 to resolve warning.
Saving multiple maps to resolve vertex color warning.
#jira UE-34661 UE-346662 UE-34654
Change 3089710 on 2016/08/15 by Michael.Trepka
Restored code for staging Steam library for Mac, which was accidentally removed when we switched to use build receipts.
#jira UE-34639
Change 3089706 on 2016/08/15 by Marc.Audy
Avoid crash if PlayerStateClass is null
#jira UE-34702
Change 3089585 on 2016/08/15 by Chris.Babcock
Fix StrategyGame for Android compile
#jira UE-34697
#ue4
#android
Change 3089473 on 2016/08/15 by Chris.Babcock
Added <insertNewline/> command to UnrealPluginLanguage
#jira UE-34699
#ue4
Change 3089429 on 2016/08/15 by John.Billon
Fixed crash with media shaders not being loaded in ES2.
#Jira UE-34514
Change 3089383 on 2016/08/15 by Mitchell.Wilson
Adjusted some values in the PlayerCharacter so physics objects can be grabbed and dropped correctly.
#jira UE-34663
Change 3089375 on 2016/08/15 by Max.Chen
Fbx Export: Convert spaces in level sequence actors to underscores.
#jira UE-34459
Change 3089308 on 2016/08/15 by Max.Chen
Fbx Export: Fix rich curve tangents on export for level sequence.
#jira UE-34459
Change 3089296 on 2016/08/15 by John.Billon
Fixing compile issue with openGL.
#Jira UE-34688
Change 3089290 on 2016/08/15 by Aaron.McLeran
#jira UE-34680 CLONE - Client stops working and crashes if headphones are unplugged on windows 10
Implementing CL 3062338 into 4.13
Change 3089242 on 2016/08/15 by Mitchell.Wilson
Resized text on sample 1.6 in Material_Properties.
#jira UE-34658
Change 3089235 on 2016/08/15 by Daniel.Wright
Copy - Fixed atmospheric fog on translucency
#jira UE-34590
Change 3089230 on 2016/08/15 by Benn.Gallagher
Added warnings and recovery to contact prefilter when given a null px shape. we now ignore the contact and dump some info so we can hopefully track down the broken actor if it happens again.
#jira UE-34622
Change 3089204 on 2016/08/15 by Mitchell.Wilson
Raised displays above nav mesh, rebuilt paths and lighting.
#jira UE-34660
Change 3089054 on 2016/08/15 by Mark.Satterthwaite
On iOS & tvOS when the application is in the background there won't be a valid back-buffer, which means draw calls will be issued with an invalid render-target state. To avoid a crash we must ignore these draw calls by returning early from PrepareToDraw and then also from the draw call. This will prevent issuing invalid commands into the command buffer and the game will resume rendering once it is brought to the front.
#jira UE-32323
Change 3089052 on 2016/08/15 by John.Billon
Fixed OpenGL4 crash by implementing ClearUAV for OpenGL.
#Jira UE-33752
Change 3089043 on 2016/08/15 by Mitchell.Wilson
Rebuilt lighting and resaved landscape level
Resaved landscape layer info
Verified no warnings/errors in landsacpe master material and resaved
Resaved landscape material instance.
#jira UE-34653
Change 3089020 on 2016/08/15 by Ben.Marsh
Remove 'Full Build' option from dashboard in release branches, and include a non-unity compile in nightly builds.
Change 3088985 on 2016/08/15 by Marc.Audy
Mac non-unity fix
#jira UE-34101
Change 3088973 on 2016/08/15 by Matthew.Griffin
Fixed copy paste errors with Mac nodes depending on Win64 ones
Added Build Tools dependencies to all cook nodes
Change 3088960 on 2016/08/15 by Mitchell.Wilson
Moving VR.umap to TestMaps folder
#jira UE-34665
Change 3088886 on 2016/08/15 by Ben.Marsh
Remove dependency to 'Compile UE4Editor Win64' node from code documentation step; we generate headers as part of building code documentation, so it just causes previous build products to be clobbered and the build to fail.
Change 3088676 on 2016/08/15 by Richard.TalbotWatkin
Improved warning output when a BSP poly is discovered with broken normals. Now the specific level which needs resaving is named.
#jira UE-34646 - //UE4/Release-4.13: Cook Orion Win64 completed with warnings: 78 warnings
Change 3088355 on 2016/08/13 by Max.Preussner
Media Player Editor: Fixed Local file paths without file:// open when pressing Enter, but not when clicking Go button (UE-34643)
#jira UE-34643
Change 3088331 on 2016/08/13 by Max.Preussner
Media: Fixed Failing to load Precached Media Source (UE-34285)
#jira UE-34285
Change 3088202 on 2016/08/12 by Zabir.Hoque
Porting DX12 Fix from MS:
Update D3D12 RHI for 4.13
- Fixed compiler errors with missing RHI methods. Fixed compiler warnings where names were hidding other variables.
#jira UE-0
Change 3088149 on 2016/08/12 by Mark.Satterthwaite
Duplicate CL #3087991:
Initial AVFoundation implementation of Media Framework for Mac, iOS & tvOS.
- Slight adaptation of AppleMovieStreamer to pick up movies from inside the GameContentDir on all Apple platforms.
- Video playback occurs via AVPlayerItemVideoOutput's attached to the AVPlayerItem's output. This means gathering video samples is trivial.
- Metal texture updates occur by wrapping the texture object provided by AVF - for Mac this is simple as it can bind to the IOSurface directly, for iOS/tvOS we have to create a CVMetalTextureCache and allocate our texture from there.
- OpenGL and OpenGLES currently have to lock the pixel buffer and upload to a texture the old fashioned way - this should be revisited when there is time.
- Subtitles/Captions are captured using AVPlayerItemLegibleOutput which also connects to the AVPlayerItem's output.
- On Mac audio samples are returned by manually reading from the stream using an AVAssetReaderTrackOutput, including manual seeking and synching.
- On iOS/tvOS the audio is played directly by AVPlayer because the IOSAudio system can't handle procedural buffers - otherwise it could reuse the Mac code.
- AVFoundation does not support AVI - that's an obsolete Microsoft/Windows file-format.
- Only 'file://' URLs are supported - streaming would require a totally different audio solution (using MTAudioProcessingTap) and has many more edge and failure cases that would need to be handled.
#jira UE-34315
Change 3088131 on 2016/08/12 by Chris.Babcock
Fix iterative deploy for new ADB
#jira UE-34638
#ue4
#android
Change 3088106 on 2016/08/12 by Dan.Oconnor
Make check less strict, PinIds are only unique within a single node, unfortunately, hence why we use both an OwningNode and a PinId when resolving references
#jira UE-34564
Change 3088099 on 2016/08/12 by Zabir.Hoque
Move end of frame resource clean up to end of viewport rendering, since EndFrame calls were not consistently coming in when movie was playing but asset loading was done.
#Jira UE-27026
Change 3088072 on 2016/08/12 by Max.Chen
Sequencer: Level editor camera cut flag is now a one way gate
This resolves issues to do with the flag being erroneously reset by external forces.
#jira UE-33875
Change 3088031 on 2016/08/12 by Jeff.Campeau
Fix WinXP build issues in WmfMedia and SteamVR plugins.
#jira UE-32421
Change 3088025 on 2016/08/12 by Tom.Looman
Updated VR Template with new VR device ID blueprint node.
#jira ue-34592
Change 3088023 on 2016/08/12 by Tom.Looman
Added PS Move input handling support to VR Template.
#jira UE-34188
Change 3087989 on 2016/08/12 by Michael.Trepka
Restored the code that's staging custom icons for Mac, which was accidentally removed when we switched to use build receipts.
#jira UE-34581
Change 3087907 on 2016/08/12 by mason.seay
New test assets for sub instance testing
#jira UE-29618
Change 3087812 on 2016/08/12 by Maciej.Mroz
#jira UE-34247 Nativized UMG assets not visible
Redone cl#3087726 from Dev-Blueprints
Change 3087810 on 2016/08/12 by Jeff.Fisher
UEVR-13 PSVR: TCR Requirements : sceHmdReprojectionSetOutputMinColor
Exposed sceHmdReprojectionSetOutputMinColor to blueprint via Morpheus Function Library.
Allows one to set the minimum output color from reprojection processing. Can be used to mitigate certain artifacts (dark smearing, reprojection edges). See Sony documentation for more information. This setting does persist across switches out of vr mode and hmd disconnection, but it has no effect out of vr modes.
#review-3087760 @nick.whiting
#jira UEVR-13
Change 3087795 on 2016/08/12 by Mitchell.Wilson
Added project thumbnail to subway sequencer.
Added thumbnails to subway sequencer levels.
Re-saved multiple files to resolve empty engine version and nodeguid warnings.
#jira UE-34521 UE-34519
Change 3087730 on 2016/08/12 by Michael.Trepka
Made bGeneratedSYMFile true by default and changed some ifs in Mac UBT code so that non-debug configs always build dSYM files on Mac, unless bGeneratedSYMFile is set to false in BuildConfiguration.xml
#jira UE-34548
Change 3087699 on 2016/08/12 by Jeff.Campeau
Make resource generation fault tolerant of unset config values.
#jira UE-34614
Change 3087690 on 2016/08/12 by Mitchell.Wilson
Added a thumbnail for the BlueprintRenderToTarget level.
#jira UE-34544
Change 3087688 on 2016/08/12 by Marc.Audy
Fix headshot crash when tearing down physics when not registered
#jira UE-32935
Change 3087615 on 2016/08/12 by Ben.Woodhouse
Fix for crash in shadowsetup when frustum is invalid
#jira UE-33014
Change 3087607 on 2016/08/12 by Max.Chen
Sequencer: Fix Import/Export FBX
- Import FBX now maps arbitrary float properties as well as the transform
- Import/Export FBX now consistently operates on selected nodes or all nodes
- Fixed exported node names so that they're consistent with Sequencer node names
#jira UETOOL-534
Change 3087586 on 2016/08/12 by Chris.Babcock
Add HUAWEI_Mali device model recognition for Vulkan
#jira UE-34610
#ue4
#android
Change 3087529 on 2016/08/12 by Jurre.deBaare
Fix for crash when start index != 0 and sampling at a different rate
#jira UE-34637
Change 3087519 on 2016/08/12 by Ben.Marsh
Pass the -ignorejunk flag on to child UBT instance when running a clean.
Change 3087455 on 2016/08/12 by Jurre.deBaare
Alembic importer plugin needs proper logo
#fix Replaced icon with inverted official Alembic logo
#jira UE-34474
Change 3087360 on 2016/08/12 by Ben.Marsh
Print out the UBT command line before running it, to help diagnose -ignorejunk problem.
Change 3087285 on 2016/08/12 by Lina.Halper
- Add which animation it fails to compress
- Make sure it doesn't go in there unless you have skeleton
#jira: UE-34490
Change 3087237 on 2016/08/12 by Alex.Delesky
#jira UE-34453 - Fixed an issue where a cast to find specific thumbnail scene info was being erroneously applied to the skeletal mesh thumbnail scene instead of the material thumbnail scene.
Change 3087215 on 2016/08/12 by danny.bouimad
#jira UE-29618 updated QA-AnimProfiles again...
Change 3087212 on 2016/08/12 by Danny.Bouimad
#jira UE-29618 updated TM-PhysicalAnimProfiles again
Change 3087200 on 2016/08/12 by Robert.Manuszewski
Fix for potential deadlock when a worker thread crashes caused by critical section lock in FOutputDeviceRedirector. The engine will no longer attempt to flush log messages in CheckRenderingThreadHealth if a critical error has already occured. Crash handlers flush log anyway.
#jira UE-34373
Change 3087188 on 2016/08/12 by Matthew.Griffin
Added SignExecutables Option to installed build script, which defaults to false and means most people won't have to pass -nosign anymore
Added HostPlatformsOnly Option to installed build script as a way to easily make a build with only your current platform, without having to disable every other platform manually
Change 3087160 on 2016/08/12 by Ben.Marsh
Propagate the -ignorejunk option when we're building UHT as a child process in UBT.
Change 3087148 on 2016/08/12 by Ben.Marsh
Fix sample build failure due to intermediate headers being deleted from engine folder. Some modules only have *private* UObject classes which aren't included in the editor zip. UBT detects that there are no longer and UObject classes and deletes the intermediate folder, causing BuildGraph to fail when it detects the change.
Change 3087143 on 2016/08/12 by Danny.Bouimad
#jira UE-29618 updated QA-AnimProfiles and SK_Mannequin_PhysAssetTest to include constaint profiles for switching, removed old map in wrong folder.
Change 3087140 on 2016/08/12 by Steve.Robb
GitHub 2256 : Update UnrealCodeAnalyzer.Build.cs
I have no evidence that this actually fixes anything, but it doesn't harm anything to add it...
#jira UE-29286
Change 3087139 on 2016/08/12 by Steve.Robb
Failed link actions during a hot reload now output a 'failed.hotreload' file in the destination folder to indicate that another link attempt is needed.
This is because we can't distinguish between a successful compile with a failed link action, and a compile with no changes which requires no new module.
#jira UE-31575
Change 3087107 on 2016/08/12 by Jurre.deBaare
Alembic Import with empty first frame will cause the editor to crash
#jira UE-34515
#fix Reject empty or invalid frames and remove them from the object, output messages are generated for such frames/objects
#misc added a static const value indicating the first frame instead of hardcoded 0 array accesors
#misc check condition fix in Runnable
#misc log now adds new page named after the imported Alembic file
Change 3087079 on 2016/08/12 by Dmitriy.Dyomin
Fixed: Corrupted level package on loading cooked content
#jira UE-34591
Change 3087063 on 2016/08/12 by James.Cobbett
#jira UE-29618 Submitting test assets for Alembic Importer
Change 3087048 on 2016/08/12 by Matthew.Griffin
Changed Launcher Samples to create aggregate from property to avoid error in preflights
Only notify about Launcher Samples trigger in non-preflight builds
Change 3086985 on 2016/08/12 by Maciej.Mroz
#jira UE-34372 [CrashReport] UE4Editor_CoreUObject!StaticAllocateObject() [uobjectglobals.cpp:2102]
Redone cl#3083825 from Dev-Blueprints
Change 3086960 on 2016/08/12 by Matthew.Griffin
Prevent Build DDC command from making DDC for platforms that aren't supported by project
#jira UEB-698
Change 3086945 on 2016/08/12 by Dmitriy.Dyomin
Fixed: Sub-level layers do not show up in Layers tab when loaded as a part of world composition
#jira UE-18291
Change 3086904 on 2016/08/11 by Lina.Halper
Reverting the ensure as raw curve track != compressed because it doesn't go to compressed if the value doesn't have anything more than >0.f
#jira: UE-34570
Change 3086891 on 2016/08/11 by Lina.Halper
DUPEFIX: CL 3086544 from Michael Noland
Paper2D: Fixed a crash when mutating grouped sprite components at runtime, and cleaned up how collision rendering is done for grouped sprite components addressing some other issues as well
#jira UE-34223
#tests (from Michael N) Tested with repro project from JIRA, as well as adding/removing instances in the editor and with some sprites in the group having collision and others not, clearing collision on the component itself, etc...
#tests (from Lina H) started the test project from JIRA and PIE, and no crash.
Change 3086837 on 2016/08/11 by Nick.Whiting
Modifying IsInGameThread() checks in Oculus positional tracking code to be !IsInActualRenderingThread(). This allows skel controls to use orientation and position with parallel animation
#jira UE-32564
Change 3086797 on 2016/08/11 by Dmitry.Rekman
Linux: fix crash on editor exit (UE-30795, UE-7519).
- FText (stored in ZoomLevels static array) was being destructed during the global destructor phase, and it cannot do that.
#jira UE-30795
Change 3086735 on 2016/08/11 by Richard.TalbotWatkin
Fixed crash due to entries in the BlueprintCreatedComponents list not being present in the OwnerComponents list in RerunConstructionScript following an Undo. Handled this case explicitly now.
#jira UE-34265 - Undo, Redo, Undoing a blueprint actor Replace action causes a crash
Change 3086726 on 2016/08/11 by Jeff.Fisher
UEVR-13 PSVR: TCR Requirements : 2DVR
2DVR is a way to show a static image on PlayStation VR temporarily, for example as a loading screen.
-Implemented 2DVR reprojection mode, exposed Show2DVRSplashScreen and Hide2DVRSplashScreen to blueprint through a new MorpheusFunctionLibrary.
#jira UEVR-13
#review-3086004 @chad.taylor @nick.whiting
Change 3086652 on 2016/08/11 by Dmitry.Rekman
Linux: re-enable ICU (UE-34012).
- Built static libs against libc++; disabled using dynamic ones.
- Fixes lack of rich text formatting.
#jira UE-34012
Change 3086648 on 2016/08/11 by Nick.Whiting
Adding support for getting the HMD Device name from code / blueprints
#jira UE-31785
Change 3086589 on 2016/08/11 by Chad.Taylor
Fixing Vive resolution on packaged builds
#jira UE-34535
Change 3086568 on 2016/08/11 by Matt.Kuhlenschmidt
Fix skeletal mesh LODs not being imported correctly. All meshes were imported to the base LOD instead.
#jira UE-34397
Change 3086529 on 2016/08/11 by Marc.Audy
Don't build UE4Game against shipping physx/apex libs causing module mismatches for binary code projects linked against profile libs (which is the default)
#jira UE-34287
Change 3086376 on 2016/08/11 by Peter.Sauerbrei
remove cached file handle from iOS and Android to save memory during loads
#jira UE-31720
Change 3086369 on 2016/08/11 by Matt.Kuhlenschmidt
Guard against crash with corrupted editor layouts
#jira UE-34364
Change 3086345 on 2016/08/11 by Dan.Oconnor
ULevel::Actors is now a TArray instead of a TTransArray. It has been misusing TTransArray for years (by both serializing individual elements and the entire array, TTransArray logic in EditorTransaction.cpp appears to be completely rotten, broken for a very long time)
#jira UE-34380
Change 3086272 on 2016/08/11 by Cody.Albert
Updating First Person templates to fix cook errors
#jira UE-22726
Change 3086259 on 2016/08/11 by Nick.Whiting
Added a project setting bStartInVR, which allows projects to specify that they want to default to starting in VR mode, regardless of whether the -vr commandline is used
#jira UE-31617
Change 3086202 on 2016/08/11 by Marcus.Wassmer
Duplicate 3086176 to fix broken shaderpipelines on PS4
#jira UE-34540
Change 3086080 on 2016/08/11 by mason.seay
Test animbp for sub anim instances
#jira UE-29618
Change 3086062 on 2016/08/11 by Tom.Looman
Migrate from //depot/usr/ into Release-4.13 for VR Template.
#jira ue-34533
Change 3086032 on 2016/08/11 by Mike.Beach
Bolstering FSceneComponentDetails::MakeTransformDetails()'s null handling (there was one conditional that was missing it).
#jira UE-34350
Change 3086025 on 2016/08/11 by Olaf.Piesche
#jira UE-32058
Replicating fix from 3050352
Change 3085969 on 2016/08/11 by John.Pollard
CIS fix
#jira UE-30516
Change 3085819 on 2016/08/11 by Jurre.deBaare
bForceOneSmoothingGroup not working for skeletal meshes
#fix Added check for forced smoothing group and calculate normals accordingly
#misc Spotted some non-referenced const TArrays being passed to CalculateTangents
#jira UE-34555
Change 3085799 on 2016/08/11 by Ben.Marsh
Pass the -ignorejunk option to UBT when generating code documentation. Since the UE_SDKS_ROOT environment variable is removed (because we don't want documentation for confidential platforms), UBT was deleting Linux target platform DLLs and causing an error when generating blueprint documentation when the files were missing.
Change 3085763 on 2016/08/11 by Daniel.Lamb
Fix for circular initialization of a singleton on android causing hang when using cook on the fly.
#jira UE-34442
Change 3085717 on 2016/08/11 by Dmitry.Rekman
Linux: better messaging around Steam initialization (UE-32052).
- Also added a standalone test.
#jira UE-32052
Change 3085715 on 2016/08/11 by Chris.Bunner
Dropped check to an ensure as there's existing handling for invalid assets in that case.
#jira UE-23902
Change 3085714 on 2016/08/11 by Olaf.Piesche
#jira UE-30398
Fix offset added to particle collision locations.
Replicated from 3084645 in Dev-Rendering
Change 3085713 on 2016/08/11 by Chris.Babcock
Allocate OptionalShadowDepthColorSurface to match DepthStencil dimensions (allow up to 4 resolutions for now)
#jira UE-33840
#ue4
#android
#ios
#opengl
Change 3085711 on 2016/08/11 by Olaf.Piesche
#jira UE-34106
#jira UE-32784
#jira UE-31198
Reset vertex factories on mesh emitters if mesh has been reimported (if mesh package is dirty)
Replicated from 3083909 in Dev-Rendering
Change 3085707 on 2016/08/11 by Matthew.Griffin
Duplicated CL#3081374 from Dev-Build and another fix to the SlateTextureAtlasInterface issue
Change 3085656 on 2016/08/11 by Marc.Audy
PR#2620. Make sure the component has its position updated before using it to spawn the child actor (Contributed by pampersrocker)
#jira UE-32418
#jira UE-33617
Change 3085641 on 2016/08/11 by Lina.Halper
Fixed invalid compressed track data
- need a better solution and added ticket for 4.14 - UE-34547
#jira: UE-34077
Change 3085606 on 2016/08/11 by Max.Preussner
Media: Attempt to fix Crash after Clearing Sound Wave Asset and Deleting Media Player from Content Browser (UE-34381)
#jira UE-34381
Change 3085568 on 2016/08/11 by Maciej.Mroz
#jira UE-34436 Ensures when copy/pasting linked anim bp nodes
FGraphObjectTextFactory doesn't call compilation (it is called later by FBlueprintEditor::PasteNodesHere, when all nodes are pasted). CallFunction can be pasted even when it's function doesn't exist. The function could be created from a CustomEvent node, that was also pasted (so it wasn't compiled yet).
Change 3085532 on 2016/08/11 by Peter.Sauerbrei
fix for remote tool chain build issues with items not being built because they were already there and up to date, but are then deleted by the file sync because they are missing on the PC
#jira UE-30335
Change 3085528 on 2016/08/11 by Max.Chen
Sequence Recorder: Fix crash when actor class to record is null.
#jira UE-34543
Change 3085418 on 2016/08/11 by Maciej.Mroz
#jira UE-33883 Packaging with Nativize Blueprint Assets Causes Uninitialized Defaults
Redone cl#3084313 from Dev-Blueprints
Change 3085395 on 2016/08/11 by John.Pollard
Don't allow hot-reloading if we're running PIE instances
#jira UE-30516
Change 3085377 on 2016/08/11 by Tom.Looman
Added StarterMap (WIP) to resolve JIRA.
#jira ue-34311
Change 3085364 on 2016/08/11 by Ben.Woodhouse
Remove the Shadows of Editor-Hidden Objects showflag. This feature hasn't worked for a long time, and making it work again would add additional complexity and performance overhead which we don't want to incur.
#jira UE-28561
Change 3085341 on 2016/08/11 by Dmitriy.Dyomin
Fixed: Creating Launcher Profile does not always shows all project available maps
#jira UE-33765
Change 3085336 on 2016/08/11 by Andrew.Rodham
Sequencer: Runtime instances are no longer updated when bluprints are recompiled
This code was not actually necessary to fix UE-31635 since we explicitly update the object binding from the level sequence editor spawn register
#jira UE-34499
Change 3085332 on 2016/08/11 by Dmitriy.Dyomin
Fixed: UInstancedStaticMeshComponent does not keep its instances on duplication
#jira UE-26868
Change 3085331 on 2016/08/11 by Ben.Woodhouse
Fix for threading related crash with precomputed lighting volumes
#jira UE-34531
Change 3085323 on 2016/08/11 by Allan.Bentham
Remove android specific vulkan hack to recreate depth buffer's imageview.
#jira UE-33593
#jira UE-33336
Change 3085313 on 2016/08/11 by Thomas.Sarkanen
StopRecordingAnimation now uses the same maing logic as RecordAnimation
This prevents inconsisten behaviour between record and stop record commands
#jira UE-34498 - User is not able to use StopRecordingAnimation command on a single actor
Change 3085301 on 2016/08/11 by Allan.Bentham
Only allow gaussian DoF on mobile. Disable DoF for all other types.
#jira UE-34217
Change 3085292 on 2016/08/11 by Thomas.Sarkanen
Revert change to force shipping dlls in shipping builds
#jira UE-34287 - Crash when opening a packaged code project for Win64 in shipping configuration
Change 3085291 on 2016/08/11 by Matthew.Griffin
Added nodes for Linux Editor, DDC and installed build
Changed existing Linux nodes to use host platform version of UHT and removed unnecessary tagging of UHT products
Change 3084973 on 2016/08/10 by Jeff.Campeau
Use relative settings for ShooterGame manifest
Package creation checks Xbox One target settings in Engine instead of Game config
#jira UE-33808
Change 3084932 on 2016/08/10 by patrickr.donovan
#jira UE-29618
SteamVR related test content updates- QA_SteamMoCo -> MotionController Components, fixing up button presses, reworking bounds drawing.
Change 3084886 on 2016/08/10 by Daniel.Wright
Reverted cl 2938543 "Lightmass now respects owner bHidden, and bCastHiddenShadow" because it did not have backwards compatibility so breaks content using hidden light cards
#jira UE-33238
Change 3084878 on 2016/08/10 by Jeff.Campeau
UFE launch command is generated with all devices requested instead of just the first.
#jira UE-34302
Change 3084860 on 2016/08/10 by Dmitry.Rekman
Fix CrashReportClient crashing on start (UE-32976, UE-34451).
- Add spaces around -abslog=foo.log parameter to prevent unrelated parameters being concatenated (and missed) sometimes.
#jira UE-32976
Change 3084756 on 2016/08/10 by Dmitry.Rekman
Linux: clean-up compiler settings logic (UE-22715).
- Includes parts of pull request #1704 by zaps166.
- Disables exceptions in most builds.
#jira UE-22715
Change 3084679 on 2016/08/10 by Richard.TalbotWatkin
Duplicated from Dev-Editor, CL 3084475
Fixed issue with ModelComponent replication in client/server PIE if BSP is rebuilt. ModelComponent now implements IsNameStableForNetworking and always returns true, as a level's model components will never be rebuilt during a game session. Brush poly normals are now only fixed up in Editor builds.
#jira UE-34391 - No run animation on client that is not focused when running 2 player and dedicated server
Change 3084614 on 2016/08/10 by Daniel.Wright
Scene capture alpha is now inverted to match DrawMaterialToRenderTarget, and to allow compositing with existing render target contents
Added CompositeMode to SceneCapture2D, which can be used to addively accumulate or composite instead of the default overwrite behavior
Added bCaptureOnMovement to SceneCapture, which can be disabled so the only source of scene capturing is a manual capture by calling CaptureScene()
#jira UE-34321
Change 3084607 on 2016/08/10 by Jeremiah.Waldron
Adding AlreadyOwned to EInAppPurchaseState and utilizing this enumeration for GooglePlay IAP
Also changing IOS store to return AlreadyOwned when SKErrorClientInvalid is received. This seems to be the correct behavior according to: http://stackoverflow.com/questions/8833970/when-does-skerrorclientinvalid-occur
Relates to:
#jira UE-34283
Change 3084586 on 2016/08/10 by Jeff.Campeau
Chunks don't assume they're done downloading at 100%.
#jira UE-34386
Change 3084552 on 2016/08/10 by Lina.Halper
Fix GetWorldFromContextObject to be used for another thread safer
: Guard to modify static variabls by another thread
#jira: UE-34416
Change 3084551 on 2016/08/10 by Mitchell.Wilson
Changed AutoPossessPlayer to Disabled in ThirdPersonCharacter BP
Changed AutoPossessPlayer to Player0 on the ThirdPersonCharacter Instance in the level.
#jira UE-32855
Change 3084535 on 2016/08/10 by Mike.Beach
Fix to MathExpression node - recent modifications caused subte changes in behavior (now back in line with how it worked before). Identifiers (variable names) are back to allowing numerical characters, and we properly detect the terminating 0 at the end of a name/string. Also, reserving symbols that currently aren't operators (as they used to be) so users don't start including them in identifier names.
#jira UE-34378
Change 3084526 on 2016/08/10 by Jeff.Campeau
Update XDK to August 2016
#jira UEPLAT-1374
Change 3084471 on 2016/08/10 by John.Pollard
Fix UE-34295: [CrashReport] Crash opening project on network drive - VCRUNTIME140!<Unknown>
#jira UE-34295
Change 3084363 on 2016/08/10 by Marc.Audy
Make stat soundcues/waves work correctly when spinning up new audio devices and switching focused viewport
#jira UE-34101
Change 3084231 on 2016/08/10 by Michael.Trepka
Fixed a problem with the search box in blueprint context menu not getting focus on Mac
#jira UE-20884
Change 3084229 on 2016/08/10 by Dmitry.Rekman
Linux: remove hardcoded staged files (UE-24594).
#jira UE-24594
Change 3084215 on 2016/08/10 by Chris.Bunner
Moved StationaryLightOverlap vis mode drawing to later in the frame to avoid translucency in the view.
#jira UE-31936
Change 3084052 on 2016/08/10 by Jurre.deBaare
Alembic skeletal mesh importer does not calculate correct smoothing groups
#fix follow same routine as regular smoothing group/normal calculation
#jira UE-34493
Change 3084029 on 2016/08/10 by Phillip.Kavan
[UE-34458] Fix a crash that can occur while instancing an uncompiled Blueprint class with a modified array property in the native parent class default object.
Mirrored from //UE4/Dev-Blueprints (CL# 3082839).
#jira UE-34458
Change 3084027 on 2016/08/10 by Ben.Woodhouse
Fix for crash when applying BSP materials
This was caused by the renderthread dereferencing a reference to a ModelElement object which had previously been destroyed on the game thread.
The reference to the ModelElement was solely used to dereference the irrelevant light GUIDs. The fix involves removing the reference and keeping a local copy of this array which is owned by the proxy. This is consistent with other proxies, e.g. Landscape, StaticMesh.
#jira UE-31460
Change 3083981 on 2016/08/10 by Matthew.Griffin
Set Localization branch for Localise command to release version when running in the Release Branch
#jira UE-34471
Change 3083970 on 2016/08/10 by Max.Preussner
PS4Media: Fixed Media player does not play the 2nd item in the playlist on PS4 (UE-33481)
#jira UE-33481
Change 3083918 on 2016/08/10 by Matthew.Griffin
Exclude UBT generated files from the installed build
Change 3083910 on 2016/08/10 by Matt.Kuhlenschmidt
Fix crash using "Use Selected asset from Content Browser" for font materials when the selected asset is not a material
#jira UE-34360
Change 3083890 on 2016/08/10 by Matthew.Griffin
Converted Launcher Samples to a full list of sample nodes with individual cook platform settings. Changed unzip nodes to only rely on the produced zip files so that it doesn't copy anything from Temp Storage.
Changed BuildLauncherSample command to take the root publish dir and build label so that it can create paths and do copies. Also removed code checking whether monolithic platforms are specified for the project.
#jira UE-34401
Change 3083873 on 2016/08/10 by Dmitry.Rekman
CMakefileGenerator: Fix compilation on .NET 4.0 and below (UE-34478).
#jira UE-34478
Change 3083862 on 2016/08/10 by Mitchell.Wilson
Rebuilt lighting on Advanced_Lighting level in Samples Content
#jira UE-34383
Change 3083792 on 2016/08/10 by Benn.Gallagher
PR #2671: Fix sub instance curve values. (Contributed by tmiv)
PR #2668: Sub inst post anim fix (Contributed by tmiv)
#jira UE-34162
#jira UE-34121
Change 3083775 on 2016/08/10 by Kevin.Rushin
QAGame - Updating VRLatency Testmap, Can freelook
#jira UE-29618
Change 3083771 on 2016/08/10 by Robert.Manuszewski
Don't attempt to construct CDOs when assembling GC token stream while exiting as a result of an error in PreInit.
#jira UE-34371
Change 3083742 on 2016/08/10 by Lee.Clark
4.13 - PS4 - Fix memory allocation sizes
#jira UE-33270
Change 3083732 on 2016/08/10 by Ben.Marsh
Fix all nodes being exported to JSON file for builder configuration, rather than just those behind the current trigger.
Change 3083690 on 2016/08/10 by Dmitriy.Dyomin
Fixed: Foliage instances are not included when exporting a scene to FBX
#jira UE-34214
Change 3083654 on 2016/08/10 by Keith.Judge
Fix analysis warnings. Simple change from Release() to SAFE_RELEASE().
#jira UE-23059
Change 3083646 on 2016/08/10 by Thomas.Sarkanen
Use shipping PhysX libs for installed builds
Copy fix from UE4Game.Target.cs to apply to all packaged games
#jira UE-34287 - Crash when opening a packaged code project for Win64 in shipping configuration
Change 3083527 on 2016/08/10 by Dmitriy.Dyomin
Fixed: Warning upon Undo/redo-ing of sculpting the landscape
#jira UE-34443
Change 3083502 on 2016/08/10 by Dmitriy.Dyomin
Fixed: World Composition origin shifting does not account for shifting the Dynamic Directional Light shadow casting
#jira UE-34417
Change 3083349 on 2016/08/09 by Daniel.Wright
Clamped roughness for simple lights to avoid NaNs from D_GGX with a very narrow roughness range including 0.00316, but not 0
#jira UE-31181
Change 3083167 on 2016/08/09 by Chad.Taylor
Null deref crash fix
#jira UE-33830
Change 3083144 on 2016/08/09 by Zabir.Hoque
Removed bDeviceRemoved flag from RHI and issue erroring hault right away. This allows finding the error reason much closer to the callsite.
#jira UE-32980
Change 3083136 on 2016/08/09 by Chad.Taylor
Stripping out egregious log spam
#jira UE-34181
Change 3083116 on 2016/08/09 by John.Billon
Defaulting r.D3D.RemoveUnusedInterpolators to on.
#Jira UE-34461
Change 3083114 on 2016/08/09 by John.Billon
Fixing static analysis warning in NullRHI.
#Jira UE-34462
Change 3083070 on 2016/08/09 by Dmitry.Rekman
PR #2516: CMake improvements and fixes (UE-22233, UE-32136).
- Contributed by Nihlus.
- Contains PR #1668 by mgerhardy
Summary of changes (from PR):
- Fixed an issue where CMake build files would contain invalid targets
- Fixed an issue where CMake build files would generate without code completion data, making them useless in IDEs such as CLion.
- Fixed an issue where invalid target platforms could fall through and cause issues with the file generation.
- Improved code readability throughout the generator. Can still use some more polish.
- Improved CMakeFile generation performance by approximately 25%. Before this patch, generating a CMakeFiles.txt for a small-ish project took 20s - by replacing most string concatenation with StringBuilders, it now takes approximately 15s. This should be more apparent in larger projects.
- Improved commenting throughout the generator. As with readability, can still use some more polish.
- Removed unused using statements.
- Added the inclusion of a fake executable target to the CMake files. Some IDEs do not recognize header files that are not part of either an executable or a library. While this target will not build, it is neccesary in CLion.
- Replaced all instances of String.Format with string interpolation expressions from C#6. This greatly improves readability, and helped me catch some bugs with the build targets.
#jira UE-22233
Change 3082999 on 2016/08/09 by Jeremiah.Waldron
Actually checking the consumePurchase response in the GooglePlayStoreHelper for purchases
#jira UE-34457
Change 3082993 on 2016/08/09 by mason.seay
Fixed level BP error and updated Reverb asset
#jira UE-29618
Change 3082981 on 2016/08/09 by Peter.Sauerbrei
disable roughness calculation for iOS metal
#jira UE-31815
Change 3082912 on 2016/08/09 by Chris.Babcock
Use FMallocAnsi instead of FMallocBinned on Android ARM64 for now
#jira UE-34432
#ue4
#android
Change 3082875 on 2016/08/09 by Chris.Bunner
Lowered verbosity of mesh build warning when using MikkTSpace.
#jira UE-23903
Change 3082867 on 2016/08/09 by Trung.Le
VREditor: Foliage reapply tool shouldn't auto reapply brush settings without trigger presses
#jira UE-34227
Change 3082818 on 2016/08/09 by Mike.Beach
Backing out CL 3081020, as it was causing issues with duplicated Blueprint actors (triggering an assert).
#jira UE-34430
Change 3082794 on 2016/08/09 by Lukasz.Furman
fixed gameplay debugger extensions activating during simulate in editor
#jira UE-33343
Change 3082760 on 2016/08/09 by Jamie.Dale
Scene viewports are now centered when re-entering windowed mode
#jira UE-32842
Change 3082744 on 2016/08/09 by Mitchell.Wilson
Resaving assets to resolve empty engine version warnings.
#jira UE-29746
Change 3082728 on 2016/08/09 by Ben.Marsh
BuildGraph: Use separate arguments to indicate that a trigger should be skipped entirely and its nodes should be executed as part of the parent trigger (-skiptrigger=X+Y, -skiptriggers) versus when we want to execute ONLY nodes behind a certain trigger. Fixes cases where triggering sample builds before the parent job finishes would attempt to execute the remaining nodes belonging to the parent trigger.
#jira UE-34329
Change 3082686 on 2016/08/09 by Marc.Audy
If the GameMode is not carried over as part of a seamless travel create it.
#jira UE-25569
Change 3082663 on 2016/08/09 by John.Billon
Fixed SubUVAnimation asset crash when texture source is cleared.
#Jira UE-34231
Change 3082650 on 2016/08/09 by John.Billon
Changed an ensure the NullRHI dealing with memory allocation to be a log message.
#Jira UE-32362
Change 3082644 on 2016/08/09 by Maciej.Mroz
#jira UE-34240 Match 3 nativization failure
Redone cl3082121 from Dev-Blueprints
Change 3082633 on 2016/08/09 by Maciej.Mroz
#jira UE-34374 [CrashReport] UE4Editor_Engine!UEdGraphNode::GetGraph() [edgraphnode.cpp:172]
Redone cl3082414 from Dev-Blueprints
Change 3082606 on 2016/08/09 by Michael.Trepka
Changed OuputGamutMappingMatrix in TonemapCommon.usf so it doesn't create a temporary variable to work around a bug in Intel's Mac OpenGL shader compiler.
#jira UE-34276
Change 3082579 on 2016/08/09 by Benn.Gallagher
CIS fix, missed removing a few #ifs
#jira UE-29180
Change 3082525 on 2016/08/09 by Tom.Looman
Removed Android from supported platforms in VR Template.
#jira UE-34189
Change 3082523 on 2016/08/09 by Tom.Looman
Improved HMDLocomotionPawn teleportation (UX of location and material reability/behavior)
Fixed typo in level text.
#JIRA UE-34422
Change 3082504 on 2016/08/09 by Jurre.deBaare
Crash importing alembic asset over itself after saving it in Content Browser
#fix Trivial nullptr + isValid fix
#jira UE-34418
Change 3082433 on 2016/08/09 by Tom.Looman
Updated list of supported platforms.
#jira UE-34189
Change 3082423 on 2016/08/09 by Mitchell.Wilson
Resaving levels to resolve MikkTSpace warnings
Updating collision on SM_Floor_Round
#jira UE-30786
Change 3082361 on 2016/08/09 by Keith.Judge
Xbox One - Fix a controller disconnection crash.
- This would only reproduce in VS2015 Update 3, and only when the controller is connected right from the start, not when a pad is plugged in later, so it seems copying the array of ^ pointers wasn't incrementing the refcounts correctly and causing things to be deleted too early.
- Changed it to copy each connected pad object one at a time, which maintains the correct refcount.
- Possibly a VS2015 Update 3 bug.
#jira UE-33955
Change 3082341 on 2016/08/09 by Mitchell.Wilson
Reimporting SM_GodRay_Plane
Resaving levels to resolve MikkTSpace warnings
Resaving multiple materials to resolve warnings
#jira UE-34212
Change 3082313 on 2016/08/09 by Matthew.Griffin
Only append BuildLabel to the publish dir if it's been set to something (end up with bad path for local build)
Change 3082294 on 2016/08/09 by Jurre.deBaare
Crash when importing an Alembic file with Materials as a different asset type than one that already exists
#fix Ensure that we have a valid material to assign to the assets
#jira UE-34377
Change 3082291 on 2016/08/09 by Jurre.deBaare
Unable to save Alembic asset with materials after importing more than once
#fix Make sure we delete referenced transient materials if they are not used
#jira UE-34400
Change 3082290 on 2016/08/09 by Jurre.deBaare
Crash importing abc file as Geometry Cache over another used in level with World Normal view mode on
#fix Make sure we always update the GeometryCacheComponents, will change this set-up in 4.14
#jira UE-34392
Change 3082274 on 2016/08/09 by Benn.Gallagher
Moved FABRIK debug draw out of the native node into the graph node. It will no longer draw in-game, only in Persona previews. Debug drawing is not supported outside of the game thread currently so we can't do it in EvaluateBoneTransforms.
#jira UE-29780
Change 3082273 on 2016/08/09 by Benn.Gallagher
Improved anim dynamics chain handling with LODs, now a chain will continue to simulate any bodies that can be reached from the root body instead of disabling the whole chain
#jira UE-30827
Change 3082270 on 2016/08/09 by Benn.Gallagher
Moved source indices for active transitions out of editor only so we can identify them at runtime. This allows the transition ratio anim getter function to get the correct elapsed time instead of trying to infer it which is incorrect when the transition is interuppted.
#jira UE-29180
Change 3082257 on 2016/08/09 by Jurre.deBaare
Auto align floor mesh does not work in Persona
#fix Readded functionality for the auto alignment :)
#jira UE-34404
Change 3082239 on 2016/08/09 by Peter.Sauerbrei
make sure IPP and supporting dlls are all 64-bit
#jira UE-34408
Change 3082225 on 2016/08/09 by Mitchell.Wilson
Removing r.Streaming.PoolSize from DefaultEngine.ini, adding DefaultScalability.ini to set r.StreamingPoolSize
Reimporting SM_GodRay_Plane
Saving all levels to resolve MikkTSpace warnings.
#jira UE-30787
Change 3082222 on 2016/08/09 by Rolando.Caloca
UE4.13 - Fix crash on opengl3
- Load proper shader map depending on feature level
- int interpolators require nointerpolation modifier
#jira UE-33879
Change 3082221 on 2016/08/09 by Benn.Gallagher
Fix for stack overflow traversing subinstances for duplicated names when there is a circular loop
#jira UE-34384
Change 3082179 on 2016/08/09 by Ben.Woodhouse
Fix for default subsurface color for two sided foliage, so it defaults to black instead of white. This requires some additional logic because we don't want to change the default color for other lighting models which use the subsurface material input (e.g. subsurface, skin, hair etc). Bump the shader version so the change is correctly propagated to existing material shaders.
#jira UE-31461
Change 3082170 on 2016/08/09 by Graeme.Thornton
Manual copy of CL 3078836 from Dev-Core to Release-4.13
Silently skip creating exports from a package where the outer is also an export and has been filtered at runtime during loading
#jira UE-33909
Change 3082169 on 2016/08/09 by Graeme.Thornton
Make FLauncherTasks have unique names so we don't end up with stat name collisions
#jira UE-33849
Change 3082163 on 2016/08/09 by Matthew.Griffin
Include Linux Build Tools in Windows Installed Build so that Crash Reporter can be staged from receipts
Added Checks for files that might not exist when creating Installed Build from Github etc.
Tag the published installed build zips
#jira UE-34249
Change 3082139 on 2016/08/09 by Ben.Marsh
BuildGraph: Allow writing a schema without passing a script in.
Change 3082109 on 2016/08/09 by Thomas.Sarkanen
Fixed blendspaces producing bad data when degenerate spaces are present
Delaunay triangulations that fail now revert to simple degenerate tesselation. This allows us to build a valid set of grid samples even with degenerate triangulations, so no need for any runtime modifications.
#jira UE-34308 - 2DAimOffset mesh skews across viewport when anim sequence is added to offest graph
Change 3082080 on 2016/08/09 by Matthew.Griffin
Added notifications for available triggers
Change 3082054 on 2016/08/09 by Allan.Bentham
Quality level override changes to high QL are now correctly picked up.
#jira UE-22812
Change 3082049 on 2016/08/09 by Allan.Bentham
Update shaders when mobile preview device is changed.
#jira UE-22810
Change 3081866 on 2016/08/09 by Max.Chen
Fbx Export: Fix build.
#jira UETOOL-750
Change 3081863 on 2016/08/09 by Max.Chen
Fbx Export: Fix level sequence fbx export.
- Fix 3d transform track export so that it does the correct flipping for translation and rotation curves.
- Fix setting rich curve tangents and interpolation modes.
- Fix camera focal length export.
#jira UETOOL-750
Change 3081823 on 2016/08/08 by Dmitriy.Dyomin
Fixed: Crash when simulating in editor with a landscape actor selected
#jira UE-34367
#coderview Gareth.Martin
Change 3081647 on 2016/08/08 by Chad.Taylor
OpenVR changed to work with our FSteamVRHMD::VRGetGenericInterfaceFn retrieved from GetDllExport
#jira UE-34352
Change 3081645 on 2016/08/08 by Zak.Middleton
#ue4 - Fix anim root motion applying too much velocity to CharacterMovement when framerate is low causing moves to be substepped, or when movement mode changes during root motion playback.
#jira UE-30178
Change 3081639 on 2016/08/08 by Tyler.Cole
Update build scripts for WEX MCP in UE4 Release-4.13 stream.
#jira NONE-0
Change 3081616 on 2016/08/08 by Jeff.Fisher
UEVR-13 PSVR: TCR Requirements
-2dvr support "stereo on" and "stereo off" now switch ps4 from 2d to vr mode.
-A new ini setting for morpheus bStartInVR has been added, it defaults to true.
#jira UEVR-13
#review-3081284 @chad.taylor @nick.whiting
Change 3081597 on 2016/08/08 by Tyler.Cole
Update build scripts for Ocean MCP in UE4 Release-4.13 stream.
#jira NONE-0
Change 3081476 on 2016/08/08 by Tyler.Cole
Update build script for UE4 Release-4.13 stream Fortnite MCP.
#jira NONE-0
Change 3081397 on 2016/08/08 by Josh.Adams
- Fixing more linux case issues in UT
#jira ue-33478
Change 3081391 on 2016/08/08 by Mitchell.Wilson
Removed ConstructorHelpers from TP_2DSideScrollerCharacter.cpp. Added Run and Idle animations to BP child of 2dSideScrollerCharacter in 2DSideScrollerExampleMap
#jira UE-33843
Change 3081383 on 2016/08/08 by Aaron.McLeran
#jira UE-34081
Implementing CL 3076637 into 4.13
#tests run a procedural sound wave object test
Change 3081337 on 2016/08/08 by Aaron.McLeran
#jira UE-34390 CLONE - CRASH: FXAudio2SoundSource::GetChannelVolumes - Silent Crash during gameplay
- OR-26580
- Implementing CL 3071258 to 3.13
#tests ran paragon with change, no crashes
Change 3081335 on 2016/08/08 by Max.Preussner
WmfMedia: Fixed memory leak in source resolver (UE-34385)
#jira UE-34385
Change 3081320 on 2016/08/08 by Max.Preussner
WmfMedia: Fixed typo (UE-32421)
#jira UE-32421
Change 3081276 on 2016/08/08 by Mitchell.Wilson
Resaving asset to resolve MikkTSpace warning.
#jira UE-31116
Change 3081269 on 2016/08/08 by Dan.Oconnor
Fix for name of blueprint changing when 'accept source' is used. Just caching the original name before unloading the blueprint
#jira UE-34324
Change 3081052 on 2016/08/08 by Dan.Oconnor
Making a change to test UE-34324
#jira UE-34324
Change 3081026 on 2016/08/08 by Daniel.Wright
Added a heightfield painting example to BlueprintRenderToTarget content example
#jira UE-34323
Change 3081025 on 2016/08/08 by Daniel.Wright
CreateRenderTarget2D uses a world context object as owner, allows use in a construction script
#jira UE-34321
Change 3081023 on 2016/08/08 by Aaron.McLeran
#jira UE-34325 Implementing 3080958 in 4.13
- When a sound buffer is flushed from audio device manager and tries to stop sounds using a resource, was possible for the async header parse task to be in-flight, which would cause a crash
- Fix is to bring back the code to call EnsureCompletion on tasks in the FreeResoruces function of the sound source object. This will potentially encure a slight perf increase when stopping a sound but audio engine is now going to run on a separate thread, so shouldn't have a game-thread impact in non-editor builds.
#tests ran repro case described in bug several times without crashing (was 100% repro)
Change 3081020 on 2016/08/08 by Dan.Oconnor
Revised fix for UMG widgets with instanced properties resetting due to ImportText not copying objects assigned to Instanced properties
#jira UE-26310
Change 3081010 on 2016/08/08 by Dan.Oconnor
Fix for losing root transform when recycling objects
#jira UE-28398
Change 3080972 on 2016/08/08 by Mark.Satterthwaite
Duplicate CL #3080684:
Flush on close of writable files on Apple platforms - close doesn't guarantee to push outstanding writes to the disk, only to the kernel. They might not make it to the disk prior to program termination.
#jira UE-21857
Change 3080971 on 2016/08/08 by Mark.Satterthwaite
Workaround a macOS 10.12 Beta bug on some Metal drivers that can't initialise temporary/local variable arrays, only those that are marked threadgroup shared.
#jira UE-34355
Change 3080923 on 2016/08/08 by Michael.Trepka
When archiving on for Mac delete the dest icon if it exists before trying to call File.Move
#jira UE-33304
Change 3080919 on 2016/08/08 by samuel.proctor
Revised assets for Blueprint Debugging tests
#jira UE-29618
Change 3080878 on 2016/08/08 by Ben.Marsh
Fix sample build timeouts due to generating DDC using installed engine builds taking too long.
* New version of build script was not copying the DDCUtils module from the NotForLicensees folder to the installed engine directory, so network DDC was not being used. Set it from an environment variable instead.
* Generating the installed project PAK was not using the Compressed.ddp file included with the engine, but was looking for a legacy DDC.ddp file instead.
Change 3080849 on 2016/08/08 by Marc.Audy
Always stop matinee sounds when jumping around, not just if the sound changed.
#jira UE-31447
Change 3080843 on 2016/08/08 by Ben.Marsh
BuildGraph: Fix compile error due to duplicated variable name.
Change 3080840 on 2016/08/08 by Max.Chen
Fbx: Fix rich curve export being exported at the incorrect times when baked.
#jira UETOOL-750
Change 3080824 on 2016/08/08 by Max.Chen
Sequencer: Revert fix root component structure for level sequence actor.
#jira UE-34354
Change 3080819 on 2016/08/08 by Chad.Taylor
Merging Move and Vive haptic implementation from Dev-VR to Release-4.13
#jira UE-27886
Change 3080818 on 2016/08/08 by Jurre.deBaare
Crash when importing the same Alembic file but as a different Asset Type
#fix Return the outer package of an imported asset, instead of InParent (which could be deleted/clean up if the import types differed)
#misc Typo
#jira UE-34293
Change 3080817 on 2016/08/08 by Jurre.deBaare
Crash when importing an Alembic file with Materials if it already exists
#fix Only create materials if they don't already exist
#jira UE-34300
Change 3080814 on 2016/08/08 by Jurre.deBaare
Crash when importing Alembic files as Skeletal Mesh
#fix Set the NumVertices variable that was re-added :)
#misc removed dead code
#jira UE-34288
Change 3080813 on 2016/08/08 by Jurre.deBaare
[CrashReport] UE4Editor_AlembicLibrary!AbcImporterUtilities::GenerateSmoothingGroupsIndices()
#fix found in one of the reports messages that they were importing from 3DS, found that it exports the normals non-indiced but per-vertex, so now added expanding using the index buffer (also pre-emptively added it for UVs)
#jira UE-34294
Change 3080797 on 2016/08/08 by Dmitriy.Dyomin
Fix: Crash opening levels with landscape in them via the command console in standalone game
#jira UE-34348
Change 3080784 on 2016/08/08 by Jamie.Dale
We now keep the bulk data for stock engine fonts loaded to avoid attempting to load it on the render thread (from debug canvas rendering)
#jira UE-34298
Change 3080734 on 2016/08/08 by Matthew.Griffin
Made PDBs optional build products for CsCompile task and added .dll.mdb check for Mac Mono equivalent
Change 3080685 on 2016/08/08 by Peter.Sauerbrei
fix for crash on tvOS and iOS when launching a project
#jira UE-34005
Change 3080683 on 2016/08/08 by Matthew.Griffin
Added code to duplicate GUBP behavior when building DDC for samples so that only certain platforms are built
Change 3080681 on 2016/08/08 by Matthew.Griffin
Corrected path separators for Mac DDC location, which was preventing it from being included in installed build
Change 3080675 on 2016/08/08 by Robert.Manuszewski
Fixing CIS on Clang platforms
#jira UE-34025
Change 3080674 on 2016/08/08 by Ben.Woodhouse
Fix for reflection capture crash on autosave (null scene ptr) - integrate fix from fortnite CL 3033507
#jira UE-32651
Change 3080594 on 2016/08/08 by Keith.Judge
Xbox One - Fix missing GPU particles when in Fast Semantics mode. SetRasterizerState() shouldn't be cached as it always needs resetting in Fast Semantics. Also enabled Fast Semantics by default, as the last known bug is now fixed.
#jira UE-31607
Change 3080573 on 2016/08/08 by Martin.Wilson
Fix Root Motion from Everything blending incorrectly when using layered blend per bone
#Jira UE-17815
Change 3080517 on 2016/08/08 by James.Golding
PR #2678: Fixed ProceduralMeshComponent compile issue, missing ConvexElem.h. (Contributed by ardneran)
#jira UE-34299, UE-34279
Change 3080512 on 2016/08/08 by Benn.Gallagher
Fix for dangling sub-instance pointers when reinstancing on AnimBP compile
#jira UE-34137
Change 3080510 on 2016/08/08 by Max.Preussner
WmfMedia: Fixed Packaged Shooter game does not load in Windows XP (UE-32421)
#jira UE-32421
Change 3080509 on 2016/08/08 by Robert.Manuszewski
Added more detailed message when TArray's BulkSerialize fails.
#jira UE-34025
Change 3080506 on 2016/08/08 by Allan.Bentham
Do not set render target if there are no modulated shadows.
#jira UE-33252
Change 3080498 on 2016/08/08 by Keith.Judge
Fix D3D12.x link error.
#jira UE-34322
Change 3080493 on 2016/08/08 by Matthew.Griffin
Allow symbol files to be skipped when staging build products as they are not essential for the staged project to run.
#jira UE-34073
Change 3080490 on 2016/08/08 by Maciej.Mroz
#jira UE-28625 Direction of GetOverlapInfos parameter doesn't match
Redone cl# 3080484
Change 3080462 on 2016/08/08 by Allan.Bentham
Leave FAndroidAppEntry::PlatformInit's ES2 EGL initialised unless vulkan or ES3.1 are required.
Fix initialisation errors introduced in CL 3070035.
#jira UE-34099
Change 3080242 on 2016/08/07 by Max.Chen
Sequencer: Fix to allow deleting spawnables from the viewport
#jira UE-28523
Change 3080241 on 2016/08/07 by Dmitriy.Dyomin
Fixed: StartCameraFade not fading camera when MobileHDR is off
#jira UE-34143
Change 3079990 on 2016/08/06 by andrew.porter
Changing defaults on some settings on M_Details for test case.
#jira UE-29618
Change 3079989 on 2016/08/06 by andrew.porter
Setting two sided off on M_Details material
#jira UE-29618
Change 3079986 on 2016/08/06 by phillip.patterson
Updated QA-Foliage for test case
#jira UE-29618
Change 3079984 on 2016/08/06 by andrew.porter
Adding test content for using sprites in UMG
#jira UE-29618
Change 3079879 on 2016/08/05 by Dmitry.Rekman
Remove HITCHHUNTER logspam from release UE (UE-30959).
#tests Compiled the UE4Editor.
#jira UE-30959
Change 3079815 on 2016/08/05 by Tyler.Cole
Set dependencies for Orion MCP in UE4 Release-4.13 stream.
#jira NONE-0
Change 3079808 on 2016/08/05 by Daniel.Wright
BlueprintRenderToTarget content example map with interactable fluid surface
#jira UE-34323
Change 3079746 on 2016/08/05 by Daniel.Wright
Copy - New blueprint function ClearRenderTarget2D, which is the only way to set a render target alpha directly
New blueprint function CreateRenderTarget2D
#jira UE-34321
Change 3079569 on 2016/08/05 by Mitchell.Wilson
Updating template tutorials after assets were moved to new folders
#jira UE-34139
Change 3079546 on 2016/08/05 by Ian.Shadden
#UE4 #match3 Fixed button UI scaling on all buttons in Match3 (main menu, victory screen, options, notifications, etc...), tested on PC and Android Nexus 6
#jira UE-34316
Change 3079542 on 2016/08/05 by Mark.Satterthwaite
Duplicate CL #3079503:
Initialise more variable types to 0 in Metal shaders to workaround Xcode 8 toolchain no longer doing this for us for "threadgroup shared" variables. Everything but structs and atomic's will now be initialised.
#jira UE-33856
Change 3079472 on 2016/08/05 by Peter.Sauerbrei
fix for remote server name being empty stopping a build for a BP project in binary
fix for several error messages from platform requirements not stopping a build
#jira UE-34213
Change 3079453 on 2016/08/05 by Benjamin.Hyder
Updating QA_Materials to include Material Details example
#jira UE-29618
Change 3079389 on 2016/08/05 by Gareth.Martin
Missing file from CL 3079376:
Tessellate Landscape only in highest landscape LOD
Fix incorrect UV coordinates when tessellation is enabled
#jira UE-14253
#jira UE-20405
Change 3079384 on 2016/08/05 by Michael.Trepka
PR #2266: BUGFIX: UBT not building on non HFS partitions on OSX (Contributed by Manny-MADE)
#jira UE-29358
Change 3079376 on 2016/08/05 by Gareth.Martin
Tessellate Landscape only in highest landscape LOD
Fix incorrect UV coordinates when tessellation is enabled
#jira UE-14253
#jira UE-20405
Change 3079365 on 2016/08/05 by Peter.Sauerbrei
fix for executable name mismatch in plist vs actual executable when project has an underscore in the name
#jira UE-34192
Change 3079361 on 2016/08/05 by Ryan.Vance
#jira UE-34297
Fixing the screen space position in 3076326 broke an ISR dbuffer decal hack. Now, no longer a hack :)
Change 3079349 on 2016/08/05 by Mason.Seay
Deleting unneeded assets
#jira UE-29618
Change 3079306 on 2016/08/05 by Peter.Sauerbrei
IPP is now built as a 64-bit executable
#jira UE-26393
Change 3079303 on 2016/08/05 by Peter.Sauerbrei
PR2018 - disable user input request from ssh courtesy of Teivaz
#jira UE-26393
Change 3079276 on 2016/08/05 by mason.seay
Extended Line Trace For Convenient
#jira UE-29618
Change 3079274 on 2016/08/05 by Alex.Delesky
#jira UE-32396, UE-34103 - Fixed the issue where STextBLock widgets will revert to a gray-ish color in widget blueprints on compilation when set to magenta (#FF00FFFF). This fix does not introduce the side-effects of recoloring the text on editor buttons.
Change 3079273 on 2016/08/05 by Max.Chen
Sequencer: Fix converting matinee move tracks that have separate pos and euler tracks.
#jira UE-34301
Change 3079254 on 2016/08/05 by Ori.Cohen
Fix skeletal mesh having bodies in both sync and async scene. Simplifies a lot of code and fixes crash in case of substepping.
#JIRA UE-34224
Change 3079242 on 2016/08/05 by Nick.Darnell
Slate - Initializing WheelScrollMultiplier in the STableViewBase to avoid problems with subclasses not having an initialized value and the scrollbar misbehaving.
#jira UE-34304
Change 3079129 on 2016/08/05 by Jurre.deBaare
#jira UE-34278
#fix Changed reimport path to be the same as geometry cache / skeletal mesh
Unable to reimport Alembic static meshes
#jira UE-34292
#fix Handle cancelled situation during reimport ui interaction
Cancelling the reimport of an Alembic file seems to confirm the action
#jira UE-34288
#fix Possible fix, flush rendering commands before importing
Crash when importing Alembic files as Skeletal Mesh
#jira UE-34282
#fix Change import function override signature to include bCancelled and set the value appropriately + early out when cancelled
"Failed to Import" message when clicking Cancel on the Alembic Import Message
Change 3079127 on 2016/08/05 by Marc.Audy
Properly clean up all worlds when ending PIE while a seamless transition is active
#jira UE-33863
Change 3079107 on 2016/08/05 by Mike.Beach
Reversing the order in which we iterate pins on node resonstruction - making sure we reconstruct split child pins first (to keep the old parent pin chain intact).
#jira UE-30548
Change 3079093 on 2016/08/05 by Jurre.deBaare
Toggling Vertex Colors on in Static Mesh Editor makes the viewport all white
#fix Hide the environment and sky when showing vertex colours
#jira UE-34251
Camera Auto exposure in the static mesh editor bleaches everything out when the environment is turned off
#fix Turn on / off advanced engine show flags determined by whether or not post processing is enabled in the advanced preview scene settings
#jira UE-34206
Change 3079090 on 2016/08/05 by Jurre.deBaare
Bad performance when changing (slider) values for the advanced preview scene
#fix Could not repro but added some more check if update needed checks
#jira UE-33496
Adjusting Lighting Rig Rotation manually only affects the sky and not the lighting
#fix Add the rotational delta for the sky to the directional light rotation
#jira UE-34108
Change 3079088 on 2016/08/05 by Jurre.deBaare
Alembic Cache Importer option for Hard Edge Angle Threshold does not work
#fix Changed the condition for an edge to be hard / soft, fixed an issue in the smoothing group generation and changed the flow of normal calculation during importing
#jira UE-34127
Change 3079040 on 2016/08/05 by Max.Preussner
MediaAssets: Fixed media source asset cannot be inherited in other modules (UE-34290)
Also made class properties blueprint read-writable
#jira UE-34290
Change 3078958 on 2016/08/05 by Marc.Audy
Don't ever reregister child actor components
Don't destroy child actors when hiding a level
#jira UE-31038
Change 3078954 on 2016/08/05 by ryan.brucks
#jira ue-00001 Adding new material functions needed to go along with Noise Blog post requested by DanV and KimL
Change 3078952 on 2016/08/05 by Phillip.Kavan
[UE-34085] Fix an ensure when force-deleting compiled Blueprint class assets in the Content Browser.
change summary:
- modified ForceDeleteObjects() to relocate a redundant 'ObjectsToReplace' iteration that recently was converted to a ranged-based for loop; the conversion seems to have caused the iterator to ensure, due to existing code that was modifying the target array inside the loop.
#jira UE-34085, UE-34169
Change 3078912 on 2016/08/05 by Andrew.Rodham
Editor: When locking an editor viewport to a camera, camera cut flags are now correctly specified
#jira UE-33875
Change 3078900 on 2016/08/05 by Lauren.Ridge
Fix for small Vive HMD movements entering VR mode
#jira UE-33970
Change 3078880 on 2016/08/05 by Jack.Porter
Cannot set GenerateOverlapEvents flag on Landscape
#jira UE-9055
Change 3078879 on 2016/08/05 by Lee.Clark
PS4 - Fix corrupted debuffer decals
(CMask wasn't getting decoded correctly)
#jira UE-34273
Change 3078871 on 2016/08/05 by Steve.Robb
Fix for changes to UObject*s in property boxes.
#jira UE-29596
Change 3078857 on 2016/08/05 by Max.Chen
Sequencer: Set Fixed frame interval playback to false by default.
#jira UE-34272
Change 3078850 on 2016/08/05 by mason.seay
Updated map to test physics mesh, added comments to level BP
#jira UE-29618
Change 3078795 on 2016/08/05 by Andrew.Rodham
Sequencer: Fixed spawnables not responding to blueprint reinstance events
This ultimately left spawnable bindings broken, and an unreachable object in the world
#jira UE-31635
Change 3078786 on 2016/08/05 by Robert.Manuszewski
Reversed the order the UObject delete listeners were notified of UObject deletion to avoid skipping the next listener if the current one removed itself from the array.
#jira UE-33872
Change 3078782 on 2016/08/05 by Andrew.Rodham
Sequencer: Fixes to "Create Camera Here" functionality
Fixed crash when undoing the "Create Camera Here" operation.
Enabled RF_Transactional on all spawned instances in the world (to support undo/redo of instance properties properly)
Fixed issues when the cursor was outside of the play range
#jira UE-33127
Change 3078737 on 2016/08/05 by Andrew.Rodham
Sequencer: Changed event and playback contexts to be weak references to ensure no strong GC references, while maintaining safety
#jira UE-34256
Change 3078722 on 2016/08/05 by Ben.Woodhouse
Fix shader compile error in TP_VirtualRealityBP (disable Morpheus, which was enabled (inadvertently?) in CL 3077481)
#jira UE-34269
Change 3078620 on 2016/08/05 by Dmitriy.Dyomin
Fixed: SunTemple geometry has rendering artifacts on low end devices
[Android_Low] devices will use 'Low' material quality level
#jira UE-22455
Change 3078584 on 2016/08/05 by James.Golding
Add NumVertices back to FSkelMeshSection, so that info is available in non-editor builds (e.g. for runtime mesh merging)
#jira UE-33675
Change 3078565 on 2016/08/05 by Jack.Porter
Removed need for LandscapeInfo in GeneratePlatformPixelData which was crashing mobile previewer.
#jira UE-33842
Change 3078564 on 2016/08/05 by James.Golding
Fix display name for bSupportUVFromHitResults to fix missingspace
#jira UE-34248
Change 3078542 on 2016/08/05 by Yannick.Lange
VR Editor : Temporary fix to disable the possibility of both controllers having a windows docked.
#jira UE-32839
Change 3078541 on 2016/08/05 by Yannick.Lange
VR Editor : Fix linux compile error from VREditorAvatarActor
#jira UE-34215
Change 3078396 on 2016/08/04 by Max.Chen
Sequencer: Invalidate playback context when map changes.
#jira UE-34256
Change 3078291 on 2016/08/04 by Jeff.Campeau
RHI compress/decompress return success/failure
Failure falls back to software method
D3D12 for Xbox One still needs implementation
#jira UE-31363
Change 3078131 on 2016/08/04 by Chris.Babcock
Deal with missing Android movie framerate by defaulting to 30 if not available
#jira UE-34208
#ue4
#android
Change 3078084 on 2016/08/04 by John.Billon
Disabled AMD hacks Cvars that aren't needed anymore.
#Jira UE-30772
Change 3078083 on 2016/08/04 by John.Billon
Consolidated ensures to detect a crash dealing with unallocated render targets in TranslucentLighting to a single test in DefferedShadingRendere and attempt to recover by reallocating deferred render targets.
Added a couple of more ensures when allocating render targets.
Added log message when changing feature levels.
#Jira UE-32536
#Jira UE-32204
Change 3078039 on 2016/08/04 by Josh.Adams
- Fixed a case issue with Linux
#jira UE-33478
Change 3078029 on 2016/08/04 by Ryan.Vance
#jira UE-30989
We need to disable the hmd mask when down sampling to ensure valid input data for blur passes.
Change 3078027 on 2016/08/04 by Lina.Halper
Fix sequencer morphtarget displaying issue
#code review:Max.Chen
#jira: UE-28459
Change 3078012 on 2016/08/04 by mason.seay
map and asset updates for testing UV hit detection
#jira UE-29618
Change 3078009 on 2016/08/04 by Jamie.Dale
Ensured that BULKDATA_SingleUse is only set by UFontBulkData::Serialize when loading
This prevents it being incorrectly set by other operations, such as counting memory used by font data.
#jira UE-34252
Change 3078006 on 2016/08/04 by Mark.Satterthwaite
Duplicate CL #3064008 & CL #3077412:
Fix "iOS Metal-based build crashes at launch with sub-levels":
- Slate should not bind the null RHI texture from an unitialised texture atlas - atlases only have a valid texture pointer once an entry has been added to them and in the template projects an empty sub-level doesn't add anything.
- To prevent this kind of bug resurfacing and being so hard to track down add Metal shader binding validation to our validation layer as Apple's is incomplete on iOS and won't warn us about nil texture usage which causes these GPU restarts. This requires reworking our vertex declaration handling to be more efficient so that we can cache the pipeline reflection data as well as the pipeline objects.
- Fix validation error of texture reallocation on loading template projects under Metal.
#jira UE-30847
Change 3078002 on 2016/08/04 by John.Billon
Fixed LowLightMapQuality warning triggering with wrong conditions.
#Jira UE-33237
Change 3078001 on 2016/08/04 by John.Billon
Fixed a crash due to particle threading issues in packaged game.
#Jira UE-32147
Change 3077989 on 2016/08/04 by Rolando.Caloca
UE4.13 - Fix Vulkan crash when compiling shaders on a new project due to running out of descriptor sets. Now we handle fragmentation of sets and multiple pools per RHI contexts.
#jira UE-34218
Change 3077940 on 2016/08/04 by Jeff.Campeau
Stage applocal dependencies from paths containing $(EngineDir) & $(ProjectDir)
Include copies of the VS2015 runtime and UCRT
Change -applocaldir parameter to -applocaldirectory
Stage to engine and project binaries paths (for crash reporter, etc.)
#jira UE-33903
Change 3077936 on 2016/08/04 by Daniel.Wright
DrawMaterialToRenderTarget gracefully handles an invalid WorldContextObject
#jira UE-34183
Change 3077927 on 2016/08/04 by Lina.Halper
Fix issue with morphtarget not working due to invalid guid
#jira: UE-34077
Change 3077919 on 2016/08/04 by Daniel.Wright
Copy - Lighting channels can now be edited on components with static mobility, since dynamic lights can still affect them
#jira UE-34245
Change 3077877 on 2016/08/04 by Ori.Cohen
Fix physical animation undo/redo not affecting linked bodies and constraints
#JIRA UE-33987
Change 3077823 on 2016/08/04 by Ori.Cohen
Disable copy/paste action on physical animation profiles (From Matt.Kuhlenschmidt)
#JIRA UE-33985
Change 3077814 on 2016/08/04 by Uriel.Doyon
Changed the logs used in the "Texture Streaming Build". Previous warnings are now logged at verbose level. Can be toggled on by running "log texturestreamingbuild all"
#jira UE-34120
#review-3077812
Change 3077781 on 2016/08/04 by Max.Chen
Sequencer: Fix crash in rotation key struct
#jira UE-34155
Change 3077771 on 2016/08/04 by Lina.Halper
Added const and removed auto
#jira: UE-33023
Change 3077702 on 2016/08/04 by Daniel.Wright
Copy - Planar reflection show flags can now be edited
#jira UE-34229
Change 3077585 on 2016/08/04 by Ori.Cohen
Fix spam when moving simulated skeletal mesh in the editor.
#JIRA UE-34164
Change 3077532 on 2016/08/04 by Tom.Looman
Fixed error in description of VR Template.
#jira ue-33950
Change 3077517 on 2016/08/04 by Tom.Looman
Fixed parsing error for FP_VirtualRealityBP
#jira UE-34059
Change 3077493 on 2016/08/04 by Tom.Looman
Updated Template description to remove GearVR reference and include more clear message on the two available maps.
#jira UE-33950
Change 3077492 on 2016/08/04 by Tom.Looman
Improvements to VR Template
Fixed teleportation issue on both locomotion types (JIRA)
Rebuilt navmesh for motioncontrollermap
Added new WIP startermap to clarify the difference between the multiple levels.
Added more comments and did some cleanup in BPs.
#jira UE-33962
Change 3077491 on 2016/08/04 by Jurre.deBaare
Crash when attempting to merge two objects using Simplygon - ProxyMaterialUtilities::CreateProxyMaterialInstance
#fix Pass in complete path to save material to instead of just the name
#jira UE-34211
Change 3077481 on 2016/08/04 by Tom.Looman
Workaround for issue in teleport camera fade. (Removing r.MobileHDR from config)
#jira ue-34143
Change 3077463 on 2016/08/04 by Ben.Woodhouse
Fix for ghosting in the SSR, caused by the SSRTemporal pass not getting velocities passed in. This is only an issue when temporal AA is disabled. There is a performance in this case, because a velocity pass is now required if SSR is enabled and temporalAA/motion blur are off.
#jira UE-32843
Change 3077432 on 2016/08/04 by Steve.Robb
Removal of Fortnite-specific setting which disables hot reload.
#jira UE-33261
Change 3077380 on 2016/08/04 by Keith.Judge
Fix for green reflection environment in some maps.
- Moved deleting pending resources from EndFrame() to RHIEndDrawingViewport() so it *really* gets called once every time there's a Present()
- Fixed a validation error when locking cube map faces which was causing them not to be updated.
- Fixed a validated driver error when creating UAVs due to uninitialised parts of the descriptor and fixed the buffer description for occlusion queries to have the correct 256 byte size (another validation error).
- Added a GPU/CPU sync at the same point the PS4 code does.
#jira UE-32086
Change 3077336 on 2016/08/04 by Mitchell.Wilson
removed r.Streaming.PoolSize from DefaultEngine.ini
Adding DefaultScalability.ini and adding r.StreamingPoolSize to resolve a warning.
#jira UE-30941
Change 3077275 on 2016/08/04 by Phillip.Kavan
[UE-29903] Fix a potential infinite loop when replacing variable nodes in a Blueprint graph via drag-and-drop.
#jira UE-29903
Change 3077119 on 2016/08/04 by Marc.Audy
Use TickType All when in PIE
#jira UE-18982
Change 3077108 on 2016/08/04 by Jon.Nabozny
Add check to USkeletalMeshComponent::TickClothing to skip updating cloth when SkeletalMesh is null.
This can happen when the mesh is cleared between USkeletalMeshComponent::TickComponent and USkeletalMeshComponent::TickClothing.
#jira UE-34032
Change 3077073 on 2016/08/04 by Jurre.deBaare
bBlendOverlappingNormals does not seem to have an impact for Alembic importing
#fix this wasn't being used in the normal calculation anymore so redundant
#jira UE-34204
Change 3077059 on 2016/08/04 by Robert.Manuszewski
Disabling the assert when MaxObjectsInEditor or MaxObjectsInGame collide with EInternalObjectFlags as this is no longer relevant (since the serial number and object flags were split).
#jira UE-34200
Change 3077024 on 2016/08/04 by Thomas.Sarkanen
Added GetResourceSize to UDataAsset
Data assets now correctly report their size.
#jira UE-28851 - Fix mem reporting of DataTables
Change 3077001 on 2016/08/04 by Andrew.Rodham
Sequencer: Fixed sequencer adding spawnables into recorded worlds twice
The issue here is that sequencer was re-evaluating itself with the current play world as the context, which also happened to be the world that it was trying to record. As a result, it ended up with the same sequence being played twice in the recording world.
Added the ability to specify a playback context attribute for sequencer to use, and this no longer allows sequencer to play back in any worlds that are being recorded.
#jira UE-31422
Change 3076995 on 2016/08/04 by Matthew.Griffin
Fixed Shadow Variable warning
Change 3076974 on 2016/08/04 by Matthew.Griffin
Added Node to build CrashReportClient for Linux that can be used by internal game targets
Change 3076820 on 2016/08/04 by Max.Chen
Sequencer: Fix EDL export timing so that shot in time always start at 0 since movies are always rendered at their cut length (until shot handle exports exist).
#jira UE-34199
Change 3076665 on 2016/08/03 by Dan.Oconnor
Quick fix for regression introduced by 3075803. Crashing on load of some games because some tickables don't expect GetTickableGameObjectWorld to be called when IsTickable returns false
#jira UE-18982
Change 3076569 on 2016/08/03 by Chad.Taylor
SteamVR GetOrthoProjection implementation to fix broken console rendering in VR
#jira UE-21424
Change 3076556 on 2016/08/03 by Aaron.McLeran
#jira UE-34154 PSVR Stereo assets are spatialized as MONO
- All audio was routing through A3D lib regardless of if it was mono/stereo etc.
- Fix is to only route audio that is mono and spatialized
- Fixed some compile errors/shadow variables
- Renamed bIs3dSound to bIsA3dSound to indicate its a bool that flags if it is spatialized through A3D library
Change 3076546 on 2016/08/03 by Aaron.McLeran
#jira OR-26161 Client hitches indefinitely when using Stat soundcues / soundwaves
Implementing 3069092 in Release-4.13
- Not all active sounds have sound classes, was causing a crash
#tests Run game with stat soundcues and not crash
Change 3076512 on 2016/08/03 by Ben.Marsh
Fix warning about UnrealTournament:true argument.
Change 3076492 on 2016/08/03 by Daniel.Wright
Integrate - Disallowed DrawMaterialToRenderTarget and Begin/EndDrawCanvasToRenderTarget in construction scripts, since they don't work in game. Blutilities can be used to do blueprint rendering in the editor.
#jira UE-34177
Change 3076491 on 2016/08/03 by Daniel.Wright
Marked the Forward Shading project setting as experimental for 4.13
#jira UE-34176
Change 3076490 on 2016/08/03 by Daniel.Wright
Integrate - Fixed crash rendering translucency with translucent shadows which were determined to be invisible
#jira UE-34175
Change 3076489 on 2016/08/03 by Daniel.Wright
Integrate - Now clamping light MinRoughness to .04 to avoid NaNs from Vis_SmithJointApprox on materials with Roughness 0
#jira UE-34174
Change 3076485 on 2016/08/03 by Daniel.Wright
Integrate - Restored DetailMode changes causing a FGlobalComponentRecreateRenderStateContext - accidental removal from cl 2969413
#jira UE-34173
Change 3076440 on 2016/08/03 by Ryan.Vance
#jira UE-34184
Merging 3060975, 3061888, 3072758 and 3076270 from devvr to rev Oculus sdk.
Adding Oculus 1.6 support.
Change 3076399 on 2016/08/03 by Nick.Darnell
Slate - The LayoutCache pointer in SWidget is now a WeakPtr. This had to be done to handle edge cases where widgets were used in a pool, and placed into invalidation panels that had been deleted in the past, but were later invalidated with bogus pointers to long gone invalidation panels. Also making a tweak to WidgetCache, to update the lasthittestindex to be the one passed in, which is a bit closer to the intended behavior.
#jira UE-34185
Change 3076397 on 2016/08/03 by Rolando.Caloca
UE4.13 - hlslcc -Fix for hlsl length(float)
#jira UE-32629
Change 3076337 on 2016/08/03 by mason.seay
Test assets (and map for ensure bug)
#jira UE-29618
Change 3076332 on 2016/08/03 by Peter.Sauerbrei
fix for clang build errors
#jira UE-34163
Change 3076326 on 2016/08/03 by Ryan.Vance
#jira UE-32975
Using the wrong screen position in the base pass pixel shader with ISR.
Change 3076309 on 2016/08/03 by Benjamin.Hyder
Renaming TEST-LightingFeatures to TM-LightingFeatures
#jira UE-29618
Change 3076299 on 2016/08/03 by Chad.Taylor
Fix SteamVR lag in late-update fold child renderables.
#jira UE-33928
Change 3076214 on 2016/08/03 by Mitchell.Wilson
Resaving BluperintOffice level to resolve MikkTSpace warnings.
Reimporting SM_GodRay_Plane to resolve cook warning.
#jira UE-30064
Change 3076112 on 2016/08/03 by Max.Chen
Sequencer: Fix crash when opening multiple UMG assets (multiple map/unmap record selected actors actions)
#jira UE-34167
Change 3076090 on 2016/08/03 by Marc.Audy
Fix Mac compile error
#jira UE-34163
Change 3076075 on 2016/08/03 by Jeremiah.Waldron
Fixing comments documenting attribute in deleteFiles node for UPL
#jira UE-34161
Change 3076034 on 2016/08/03 by Mitchell.Wilson
Resaving Strategy Game maps to resolve MikkTSpace warnings.
Resaving material in strategy game to resolve string asset reference warning.
#jira UE-29720
Change 3076003 on 2016/08/03 by Mitchell.Wilson
Resaving Elemental Demo levels to resolve MikkTSpace warnings.
Resaving multiple materials to resolve String asset reference warnings.
#jira UE-29679
Change 3075985 on 2016/08/03 by Jeremiah.Waldron
Fixing UPL comments misnaming the deleteFiles node
#jira UE-34161
Change 3075977 on 2016/08/03 by Maciej.Mroz
#jira UE-30473 Moving child component in child blueprint forces parent to become dirty
Duplicated from Dev-Blueprints CL 3075793
Change 3075959 on 2016/08/03 by Marc.Audy
Don't add WorldSettings to the Actor list twice if it is net relevant (pointed out by PR #2639)
#jira UE-33921
Change 3075891 on 2016/08/03 by Chad.Taylor
SteamVR crash fixes related to new OpenVR SDK. Some of the DLL export functions were converted to inline.
#jira UE-34142
Change 3075882 on 2016/08/03 by Dan.Oconnor
Manually integrating 3073939 to address UE-19062
#jira UE-19062
Change 3075805 on 2016/08/03 by Marc.Audy
Implement GetTickableGameObjectWorld() for various FTickableGameObject classes. Releated to CL#3075803
#jira UE-18982
Change 3075803 on 2016/08/03 by Marc.Audy
Make FTickableGameObject only tick once per frame by associating them with a World, and for those unassociated with a World, ticking them after other levels have ticked
#jira UE-18982
Change 3075761 on 2016/08/03 by Max.Preussner
MediaAssets: Fixed crash and incorrect re-initialization of media texture resource (UE-34152)
#jira UE-34152
Change 3075719 on 2016/08/03 by Chad.Taylor
Blocker fix for binary editor crash on incorrectly used dll
#jira UE-34142
Change 3075709 on 2016/08/03 by Jeremiah.Waldron
Changing InXMLNamespace parameter back to "http://schemas.android.com/apk/res/android" which is what it used to be set to directly within AndroidPluginLanguage before the transition from APL to UPL parameterized it in the constructor
#android
#jira UE-34149
Change 3075695 on 2016/08/03 by Jurre.deBaare
Adding missing debug zlib dll
#jira UE-123
Change 3075641 on 2016/08/03 by Jurre.deBaare
Crash when re-importing alembic cache file several times
#fix Always create a new object when importing
#jira UE-34130
Change 3075609 on 2016/08/03 by Danny.Bouimad
#jira UE-29618 updating TM-PhysicalAnimProfiles to use both NumKeys and number keys. Tweaked values inline with testcase so very apparent what each Physical Animation setting does.
Change 3075578 on 2016/08/03 by Mitchell.Wilson
Updating attenuation settings for multiple sounds in Strategy Game.
#jira UE-25828
Change 3075529 on 2016/08/03 by Trung.Le
VREditor: Fxied foliage lasso select without pressing trigger
#jira UE-33689
Change 3075502 on 2016/08/03 by Lee.Clark
Copied from cl#3041664 - Removing UpdateActorPosition. This was not needed in a vast majority of use cases and was causing a crash due to multithreading issues during end of frame updates.
#jira UE-28549
Change 3075386 on 2016/08/03 by Robert.Manuszewski
Fixing bulkdata using source data pointer as an archive instead of raw data when saving
#jira UE-34132
Change 3075384 on 2016/08/03 by mason.seay
AnimBP for crash bug
#jira UE-29618
Change 3075350 on 2016/08/03 by Max.Chen
Sequencer: Added support for additive skeletal animations. Evaluate all overlapping skeletal animation sections.
#jira UE-30506
Change 3075327 on 2016/08/03 by Max.Chen
Sequencer: Fix root component structure for level sequence actor. This fixes an ensure that occurs when double clicking on a level sequence actor sprite in the viewport.
#jira UE-34093
Change 3075313 on 2016/08/03 by Matthew.Griffin
Tidied up hardcoded installed build includes so that they're all in one file with platform checks
Added .dll.config files to CsCompile build products if they exist
Change 3075133 on 2016/08/03 by Yannick.Lange
VREditor : Original submit in Dev-VREditor = 3064489
- Fix crash when starting VREditor and then changing levels
#jira UE-33766
Change 3075124 on 2016/08/03 by Thomas.Sarkanen
Fixed undo/redo crash when editing anim blueprint defaults
Serializing copy records out of the undo buffer returns them to their initial uninitialized state, with NULL cached container pointers. To address this, we re-initialize the anim blueprint when we undo/redo.
#jira UE-34024 - Crash undoing variable change in Animation Blueprint.
Change 3075101 on 2016/08/03 by Matthew.Griffin
Adding job to selectively build games in release branch
Also adding documentation and localization to overnight build
#jira UEB-688
Change 3075061 on 2016/08/03 by Yannick.Lange
VR Editor : Original submit in Dev-VREditor = 3062883
- Fixed bug that Laser extends beyond UI when hovered over Selection Bar or Close Button #jira UE-33552
- Fixed crash when Closing Editor (Alt F4 while in VR mode) #jira UE-32509
- Fixed crash when enabling VR Editor in editor preferences without a HMD connected
- Fixed bug if you "slowly press" over UI selection bars or close buttons, nothing happens #jira UE-33553
- Avatar code refactor to its own actor class #jira UETOOL-812
#jira UE-33552, #jira UE-32509, #jira UE-33553, #jira UETOOL-812
Change 3075059 on 2016/08/03 by Allan.Bentham
Fall back to standard shadows when capsule shadows are not supported.
#jira UE-33344
Change 3075045 on 2016/08/03 by Matthew.Griffin
Added copies of new OpenVR dlls to Binaries/ThirdParty folder to fix warnings in build DDC step
Change 3074693 on 2016/08/02 by Dan.Oconnor
Manually integrating 3070569 from Dev-Blueprints
#jira UE-34119
Change 3074672 on 2016/08/02 by Dan.Oconnor
Manually integrating 3061854 into 4.13 from Dev-Blueprints
#jira UE-34119
Change 3074646 on 2016/08/02 by Aaron.McLeran
#jira UE-34081 Implementing from Dev-Framework CL 3074325
Procedural Sound Wave Fails to Play when returning 0 bytes in GeneratePCMData callback
- Returning 0 bytes in GeneratePCMData results in the procedural sound wave not continuing to play audio. Instead of returning 0, this change returns an empty buffer if the procedural sound wave doesn't have audio ready to generate (due to loading or some other issue).
- Change also fixes a threading issue with QueueAudio queing audio on game thread but being consumed by audio device thread.
- Implementing 3003851 from UT into Dev-Framework.
Change 3074630 on 2016/08/02 by Brent.Pease
UE-23846 - iOS Movie Player can't handle videos at resolutions that aren't multiples of 16
UE-33200 - A movie isn't played on iOS occasionally.
UE-32397 - Error Message displays as Unknown Error when failing to supply a Remote Build server for ios on Windows
+ Give a more friendly error message when UHT fails with an invalid error code.
#jira UE-23846
#jira UE-33200
#jira UE-32397
Change 3074590 on 2016/08/02 by Rolando.Caloca
UE4.13 - Fix gpu morph targets text; add support for RWByteBuffer (disabled).
#jira UE-33694
Change 3074588 on 2016/08/02 by Chad.Taylor
Update OpenVR SDK to v1.0.2
-Hooked up added aspect ratio and sort priority features to SteamVR stereo layers
#jira UE-34115
Change 3074481 on 2016/08/02 by Ori.Cohen
Make sure that new physical animation data defaults to 0
#JIRA UE-33678
Change 3074395 on 2016/08/02 by Ori.Cohen
Fix duplication of physical animation profiles not duplicating data.
Also fix undo redo not working for profiles.
Fix editor not passing Duplicate change type
#JIRA UE-33987, UE-33985
Change 3074392 on 2016/08/02 by Alex.Delesky
#jira UE-32396 - Reverting CL 3074177, since it introduced side-effects.
Change 3074364 on 2016/08/02 by phillip.patterson
Re-created UMG_Optimization for Test Cases
#jira UE-29618
Change 3074346 on 2016/08/02 by Jurre.deBaare
Potential DDC warning fix, remove non-existing values
#jira UE-123
Change 3074289 on 2016/08/02 by Jeff.Fisher
UEVR-13 PSVR: TCR Requirement
Reprojection problem after Sony PlaystationVR Morpheus HMD reconnect fixed.
-When disconnecting and reconnecting the HMD 700+ sets of reprojection data would back up in a queue. After reconnection reprojection would be lagged by 12+ seconds. After some discussion we decided that the queue is not doing anything useful, so I replaced it with a single blob of reprojection data and a dirty flag.
#jira UEVR-13
#review-3074209 @chad.taylor @nick.whiting
Change 3074196 on 2016/08/02 by Martin.Wilson
Mark old anim instances as pending kill so that they dont get grabbed by undo transactions (causes massive slowdown when dragging in spinboxes that modify default values on anim blueprints)
#jira UE-23453
Change 3074177 on 2016/08/02 by Alex.Delesky
#jira UE-32396 - Setting an STextBlock to magenta (#FF00FFFF) will no longer cause it to turn gray when compiling its parent widget blueprint.
Change 3074157 on 2016/08/02 by Ben.Marsh
Remove exception checking for a hard-coded CL. Licensees need to be able to use this stuff.
Change 3074132 on 2016/08/02 by Trung.Le
VREditor: Fixed brush preview present while in foliage mode and hovering at UI
#jira UE-33228
Change 3074131 on 2016/08/02 by Tom.Looman
Fix for scalability build warnings in VR Template
#jira ue-33325
Change 3074089 on 2016/08/02 by Kevin.Rushin
QAGame - Added Foliage to TestMap
#jira UE-29618
Change 3074067 on 2016/08/02 by Kevin.Rushin
QAGame- Rebuilt Lighting
#jira UE-29618
Change 3074063 on 2016/08/02 by Kevin.Rushin
QAGame - Fix up VREditor Map to have more asset variation
#jira UE-29618
Change 3074057 on 2016/08/02 by Andrew.Porter
Deleting - UMG_Optimization
#jira UE-29618
Change 3074040 on 2016/08/02 by Michael.Trepka
On Mac always process child windows when drawing, as they may be on screen even if their parents are minimized.
#jira UE-31194
Change 3074008 on 2016/08/02 by Phillip.Patterson
Renamed UMG_Invalidation to UMG_Optimization to better match test
#jira UE-29618
Change 3073988 on 2016/08/02 by Mitchell.Wilson
Updating starting camera location for Paper2d template to be consistant on both BP and Code version.
#jira UE-32723
Change 3073966 on 2016/08/02 by Jurre.deBaare
Alembic Cache Importer option for propagating matrix transformation does not work
#fix Changed the flag combinations and overhauled the matrix retrieval/caching system
#misc typo fix
#jira UE-34066
Change 3073953 on 2016/08/02 by Lina.Halper
Fixed static warning on null reference
#jira: UE-33923
Change 3073951 on 2016/08/02 by Lina.Halper
Fix GetRelativeTransform for negative scale
#jira: UE-33380
Change 3073896 on 2016/08/02 by Alex.Delesky
#jira UE-33580 - User can now play in editor or save after editing certain parameters such as colors via the eyedropper tool or by using numeric spinners. Minor usability improvements to the Data Table Row Editor.
#jira UE-33867 - User can now play in editor after selecting a color outside of the color picker window using the eyedropper tool
Change 3073804 on 2016/08/02 by Jamie.Dale
Fixed the detail panel trying to apply class customizations to structs
This could happen in the Data Table editor if you made a struct with the same name as a customized class (eg, Actor).
#jira UE-32623
Change 3073803 on 2016/08/02 by Jurre.deBaare
Morph target vertex mapping can be wrong with multi material caches
#fix Changed the way we build the skeletal mesh from the import data and maintain a vertex remapping array to set up the morph targets correctly
#jira UE-34074
Change 3073788 on 2016/08/02 by Andrew.Rodham
Sequencer: Added support for montage based animation
CL#3061714 :
Sequencer: Fixed anim trails not playing in full, sequencer-driven animation.
There were 2 issues here. Firstly, we were force-handling events and anim notifies in non-preview animation which caused undefined behaviour when the animation was also updated on tick. Secondly, On the very first frame of a game, sequencer can sometimes use the PreviewSetMatineeAnimPositionInner method because the actor it is referencing has not begun play yet. Unfortunately this function left the animation in a state where the 'real' animation update function wouldn't trigger any anim notifies properly.
CL#3063015 :
Sequencer: Fixed anim notifies not working when playing animation on blueprint-driven skeletal meshes
We now inject a new animation position into the animation system, rather than trying to 'fake' events outside of the system. This allows for much more robust event triggering when playing back through sequencer. Previously, anim notifies for trail particles would be reset every frame due to TriggerAnimNotifies being called by the animation system, and sequencer. We now defer this responsibility to the animation system entirely during playback.
CL#3068399 :
Sequencer: Changed animation tracks to allow more animation types (such as anim montages)
- APIs now accept UAnimSequenceBases rather than UAnimSequences to afford more flexibility
#jira UE-34046
Change 3073787 on 2016/08/02 by Jurre.deBaare
Handle failed Simplygon proxy mesh generation with error message instead of hard checks
#fix Added a failed delegate along side the succesful delegate
#jira UE-31990
Change 3073786 on 2016/08/02 by Jurre.deBaare
Alembic importer crashes when not assets are generated
#fix Prevented adding nullptr values to the array (now only contains valid entries)
#jira UE-34065
Change 3073777 on 2016/08/02 by Jurre.deBaare
User is able to give a Preview Scene Profile the same name as an existing profile
#fix check changed profile name and append _duplicatedname if found to be matching an existing profile name
#jira UE-34033
Change 3073775 on 2016/08/02 by Mitchell.Wilson
Updating VehicleExampleMap for BP and Code templates to have consistant starting locations
#jira UE-31281
Change 3073732 on 2016/08/02 by Rolando.Caloca
DR - Fix crash when enabling gpu morph targets on non SM5 platforms
#jira UE-34011
Change 3073706 on 2016/08/02 by Peter.Sauerbrei
fix for no tvOS libraries in binary release for Win64
#jira UE-34076
Change 3073671 on 2016/08/02 by Allan.Bentham
High quality mobile reflection captures are now blended in correct (linear) space.
#jira UE-33915
Change 3073663 on 2016/08/02 by Peter.Sauerbrei
fix for launch on failing for iOS in Binary
#jira UE-34014
Change 3073662 on 2016/08/02 by Lee.Clark
4.13 - PS4 - Fix Media Player Audio cutting out
#jira UE-33850
Change 3073616 on 2016/08/02 by Mark.Satterthwaite
Duplicate CL #3073584 from Dev-Platform:
Fix iOS Metal not playing in the background when the phone is locked and there's no drawable texture.
#jira UE-32323
Change 3073592 on 2016/08/02 by Max.Chen
Curve Editor: End any transactions on mouse down that weren't ended cleanly. This fixes a bug where if you drag with the left mouse button and click with the right mouse button, the transactions are left in an ambiguous state.
#jira UE-33993
Change 3073585 on 2016/08/02 by Nick.Darnell
Slate/UMG - When you select a paper sprite, or any other implementor of the SlateTextureAtlasInterface the editor will now correctly pick a default size for the brush matching the size of the sprite like it does for textures.
#jira UE-34075
Change 3073575 on 2016/08/02 by Richard.TalbotWatkin
Duplicating from Dev-Editor, CL 3057645
Fixed single player PIE so the window position is correctly fetched and saved, even when running a dedicated server. This does not interfere with stored positions for multiple PIE, which uses ULevelEditorPlaySettings::MultipleInstancePositions.
#jira UE-33416 - New Editor PIE window does not center to screen when running with a dedicated server
Change 3073542 on 2016/08/02 by Richard.TalbotWatkin
Duplicated from Dev-Editor, CL 3072169.
A couple of changes to the BSP code:
* Fixed longstanding issue where sometimes BSP geometry is not rebuilt correctly after editing it. This was due to poly normals not being recalculated after translating vertices in Geometry Mode.
* Fixed corruption to FPoly::iLink as it is overloaded to have two meanings: when building BSP, it temporarily represents the surface index of the next coplanar surface (and adding a new BSP node uses this to determine whether a new surface needs to be added or not). In other operations it represents an FPoly index, in general this is used more in editor geometry operations. This fixes various crashes which arose from rebuilding BSP resulting in invalid FPoly indices.
#jira UE-12157 - BSP brushes break when non-standard subtractive bsp brushes are used
#jira UE-32087 - Crash occurs when creating Static Mesh from Trigger Volume
Change 3073540 on 2016/08/02 by Matthew.Griffin
Added Package Samples script behind a trigger to package samples for QA
Removed submitter notifications from Launcher Samples nodes
Added submitters of any file in Templates/StarterContent as notified for Feature Pack and DDC nodes
Removed any dependencies on Win64 only nodes from the Mac Installed Build so that it can be run locally
Added Overnight Build Type to Release Branch to run the Binary Release and Package Samples jobs
#jira UEB-689
Change 3073511 on 2016/08/02 by Tom.Looman
Removed object redirectors to fix build warning in VR Template
#jira ue-33325
Change 3073458 on 2016/08/02 by Jurre.deBaare
Update default preview scene ini and assets
#fix deleted old sky texture and fixed BaseEditor.ini setup
#jira UE-34063
Change 3073427 on 2016/08/02 by Richard.TalbotWatkin
Duplicated from Dev-Editor, CL 3068585
Fix to Spline Mesh collision building so that geometry does not default to being auto-inflated in PhysX.
#jira UE-34062 - SplineMesh collision can be generated incorrectly
Change 3073421 on 2016/08/02 by James.Golding
Resave PSD test assets in QAGame with proper version
#jira UE-34061
Change 3073419 on 2016/08/02 by James.Golding
Rename OrientationDriver to PoseDriver
#jira UE-34015
Change 3073404 on 2016/08/02 by Richard.TalbotWatkin
Duplicated from Dev-Editor, CL 3057895
Mesh paint bugfixes and improvements.
Changes to RerunConstructionScript so that OnObjectsReplaced is called correctly on all components, whether they have been created by the SCS or the UCS. Previously, components created by the UCS were not being handled, and components created by the SCS were not always being matched. Now a serialized index is maintained for UCS-created objects, which is matched after the construction scripts have been executed.
This will fix issues with the mesh paint tool, and any other editor tool which hooks into the OnObjectsReplaced callback in order to update its internal cache of component pointers, for example, the component visualizer render list.
#jira UE-33010 - Crash changing mesh paint material in blueprint, then changing to a different mode tab
#jira UE-32279 - Editor crashes when reselecting a mesh in paint mode
#jira UE-31763 - [CrashReport] UE4Editor_MeshPaint!FMulticastDelegateBase<FWeakObjectPtr>::RemoveAll() [multicastdelegatebase.h:75]
#jira UE-30661 - Vertex Painting changes collision complexity if the asset is saved while vertex painting
Change 3073380 on 2016/08/02 by Richard.TalbotWatkin
Fixed build error in unity builds.
#jira UE-33049 - Transform widget visible in blueprint viewport when editing spline points in editor viewport
#jira UE-9062 - Spline editing: It would be nice to be able to type in a specific value for a point
#jira UE-7476 - Add ability to edit SplineComponent in BP editor (not just instance in level)
#jira UE-13082 - Users would like a snapping feature for splines
#jira UE-13568 - Additional Spline Component Functionality
#jira UE-17822 - It would be useful to be able to update a bp spline layout from the editor viewport.
Change 3073343 on 2016/08/02 by Matthew.Griffin
Whitelisting PS4 and XboxOne plugins for those platforms specifically
#jira UE-33866
Change 3073338 on 2016/08/02 by Ben.Marsh
When running in unattended mode, write an error refusing to load any missing plugin rather than opening a modal dialog. Fixes ShooterGame build error with missing PS4/XboxOne plugins.
Change 3073319 on 2016/08/02 by Maciej.Mroz
#jira UE-26676, UE-33027, UE-32806, UE-33460, UE-33423, UE-33860
Manually integrated some fixes from Dev-Blueprints
Change 3073311 on 2016/08/02 by Richard.TalbotWatkin
Duplicated from Dev-Editor CL 3057868
Spline component improvements, both tools and runtime:
- SplineComponentVisualizer now works within the Blueprint editor. This works via a generic extension added to the base ComponentVisualizer class which correctly propagates modified properties from the preview actor to the archetype, and then on to any instances whose properties are at the default value.
- The above feature required a breaking change to USplineComponent - namely, the three FInterpCurve properties have been collected together into a struct and added as a single property. This is so that changes to the length of one of the FInterpCurves marks all three as dirty and needing rebuilding.
- Added a custom version for SplineComponent and provded serialization fixes.
- Added a details customization to SplineComponent to hide the raw FInterpCurve properties.
- Added a custom detail builder category which polls the SplineComponentVisualizer each tick and provides numerical editing for spline points which are selected in the visualizer.
- Relaxed the limitation that SplineComponent keys need to have an increment of 1.0. Now any SplineComponent key can be set. The details customization enforces that the sequence remains strictly ascending.
- Allowed an explicit loop point to be specified for closed splines.
- Allowed discontinuous splines by no longer forcing the ArriveTangent and LeaveTangent to be equal.
- Added some new Blueprintable methods for building splines with an FSplinePoint struct, which allows all of a spline point's properties to be specified, and added to the FInterpCurves sorted by the input key.
- Fixed the logic which determines whether the UCS has modified the spline curves.
- Added UActorComponent::RemoveUCSModifiedProperties, which allows a component to remove any properties from the cached list which it doesn't want to be considered as 'modified'. This is used to distinguish the case of properties preserved by the SplineInstanceDataCache from those genuinely modified by the UCS.
- Fixed "Apply Instance Changes to Blueprint" so that edited spline data can be applied to the archetype.
- Fixed some issues with the spline component visualizer to make it generate appropriate up vectors if scale and rotation are enabled.
#jira UETOOL-766 - Spline tool improvements
#jira UE-33049 - Transform widget visible in blueprint viewport when editing spline points in editor viewport
#jira UE-9062 - Spline editing: It would be nice to be able to type in a specific value for a point
#jira UE-7476 - Add ability to edit SplineComponent in BP editor (not just instance in level)
#jira UE-13082 - Users would like a snapping feature for splines
#jira UE-13568 - Additional Spline Component Functionality
#jira UE-17822 - It would be useful to be able to update a bp spline layout from the editor viewport.
#jira UE-33049 - Transform widget visible in blueprint viewport when editing spline points in editor viewport
#jira UE-33669 - Crash in Dev-Editor
Change 3073242 on 2016/08/02 by James.Golding
Move physics state create/destroy delegates from BodyInstance to ActorComponent
- Rename virtual Create/DestroyPhysicsState on OnCreateDestroyPhysicsState, and make protected.
- Create new public Create/DestroyPhysicsState non-virtual to call virtual, and also invoke delegate.
#jira UE-32768
[CL 3112924 by Ben Marsh in Main branch]
2016-09-02 20:26:51 -04:00
ensureMsgf ( OrphanedUnloadedActions . Num ( ) = = 0 , TEXT ( " Found %d unloaded actions that were not also present in the Action Registry. This should be 0. " ) , UnloadedActions . Num ( ) ) ;
2015-07-24 17:52:02 -04:00
}
2014-08-08 15:35:56 -04:00
}
2014-07-09 12:17:42 -04:00
2019-03-25 14:40:23 -04:00
FString FBlueprintActionDatabase : : GetReferencerName ( ) const
{
return TEXT ( " FBlueprintActionDatabase " ) ;
}
2019-03-04 10:23:33 -05:00
int32 GBlueprintDatabasePrimingMaxPerFrame = 16 ;
static FAutoConsoleVariableRef CVarBlueprintDatabasePrimingMaxPerFrame (
TEXT ( " bp.DatabasePrimingMaxPerFrame " ) ,
GBlueprintDatabasePrimingMaxPerFrame ,
TEXT ( " How many entries should be primed in to the database per frame. " ) ,
ECVF_Default
) ;
2014-08-08 15:35:56 -04:00
//------------------------------------------------------------------------------
void FBlueprintActionDatabase : : Tick ( float DeltaTime )
{
const double DurationThreshold = FMath : : Min ( 0.003 , DeltaTime * 0.01 ) ;
2014-08-11 18:39:28 -04:00
2019-01-10 17:26:53 -05:00
if ( BlueprintActionDatabaseImpl : : bRefreshAllRequested )
{
RefreshAll ( ) ;
}
2014-08-15 16:12:46 -04:00
// entries that were removed from the database, in preparation for a delete
// (but the user ended up not deleting the object)
2015-07-31 14:01:56 -04:00
for ( TWeakObjectPtr < UObject > AssetObj : BlueprintActionDatabaseImpl : : PendingDelete )
2014-08-15 16:12:46 -04:00
{
2015-07-31 14:01:56 -04:00
if ( AssetObj . IsValid ( ) )
2014-08-23 20:16:29 -04:00
{
2015-07-31 14:01:56 -04:00
RefreshAssetActions ( AssetObj . Get ( ) ) ;
2014-08-23 20:16:29 -04:00
}
2014-08-15 16:12:46 -04:00
}
BlueprintActionDatabaseImpl : : PendingDelete . Empty ( ) ;
2014-09-19 18:20:43 -04:00
// priming every database entry at once would cause a hitch, so we spread it
// out over several frames
int32 PrimedCount = 0 ;
2019-03-04 10:23:33 -05:00
while ( ( ActionPrimingQueue . Num ( ) > 0 ) & & ( PrimedCount < GBlueprintDatabasePrimingMaxPerFrame ) )
2014-08-08 15:35:56 -04:00
{
2014-08-11 18:39:28 -04:00
auto ActionIndex = ActionPrimingQueue . CreateIterator ( ) ;
2014-08-08 18:01:38 -04:00
Copying //UE4/Dev-Framework to //UE4/Dev-Main (Source: //UE4/Dev-Framework @ 3510040)
#lockdown Nick.Penwarden
=====================================
MAJOR FEATURES + CHANGES
=====================================
Change 3459524 by Marc.Audy
Get/Set of properties that were previously BPRW/BPRO should error when used
#jira UE-20993
Change 3460004 by Phillip.Kavan
#jira UE-45171 - Fix C++ compilation failures during packaging caused by nativizing a Blueprint that overrides a native function with a 'TSubclassOf' parameter or return value.
Change summary:
- Modified FKismetCompilerContext::CreateParametersForFunction() to pass the 'CPF_UObjectWrapper' flag through to new function parameter properties during Blueprint compilation.
Change 3461210 by Phillip.Kavan
#jira UE-44505 - Fix occasional Blueprint editor crashes that could occur while rebuilding the context menu from the action registry.
Change summary:
- Modified FBlueprintActionDatabase::FActionRegistry to use an FObjectKey as the key type. This allows us to test entries for UObject validity before rebuilding context menu items based on the action database.
- Changed FBlueprintActionInfo::CachedOwnerClass to be a TWeakObjectPtr rather than a raw UClass* since it's based on the ActionOwner, which could potentially become invalid after the OwnerClass has been cached.
- Modified FBlueprintActionDatabase::RefreshAssetActions() to exclude World assets if the WorldType is not EWorldType::Editor. This eliminates an issue with unreferenced "inactive" GC'd world objects being left in the BP action registry after cooking, at which point the keys could become invalid.
- Added FBlueprintActionDatabase::DeferredRemoveEntry() to allow for scheduling removal of entries from outside of the database if they are known to be invalid.
- Modified FBlueprintActionDatabase::Tick() to handle deferred entry removals.
- Modified FBlueprintActionMenuBuilder::RebuildActionList() to both test actions for validity before building menu items and schedule removal of invalid actions on the next tick.
Notes:
- Alternatively we could just include UObject keys in the database's AddReferencedObject impl, but that would then prevent objects from ever being GC'd if they are not explicitly removed. For most entries the action database takes the approach of explicitly removing entries via delegate when the UObject is destroyed, so I chose to use a TWeakObjectPtr instead so that any entries that may not be getting explicitly removed via delegate will now simply become invalidated if the UObject key is GC'd due to not being referenced. I also set it up to clean and remove any entries (along with any associated node spawners) that are found to be invalid the next time we open the BP editor.
Change 3461373 by Lukasz.Furman
fixed async navmesh rebuilds not kicking in for requests from navdata.bForceRebuildOnLoad
#jira UE-44231
Change 3461409 by Lukasz.Furman
fixed reenabling automatic navmesh generation in Editor Preferences
#ue4
Change 3461550 by Ben.Zeigler
#jira UE-45328 Fix local variable support for Redirectors and other save-time validation. We need to run the local variables to UProperty and back at save time
Add new flag PPF_SerializedAsImportText which is used for BP pins/default values and indicates that something has been serialized as import text and so needs to handle string asset redirectors
Change 3462625 by Zak.Middleton
#ue4 - Fix InterpToMovementComponent not setting velocity on the object it moves. Fix movement rate when substepping enabled (other related fixes to come).
github PR #3620
Change 3462796 by Dan.Oconnor
Fix for spamming BroadcastBlueprintReinstanced and for creating CDO at wrong time when compiling FrontEnd.uasset in OrionGame
#jira UE-45434
Change 3462995 by Ben.Zeigler
#jira UE-16941 Fix it so Load Asset node works with a literal value as well as a connected pin
Change 3463099 by Ben.Zeigler
#jira UE-45471 Allow abstract base classes for primary assets
Change 3464809 by Marc.Audy
Expose FVector2D / FVector2D to blueprints
#jira UE-45427
Change 3467254 by Mieszko.Zielinski
Added an AI helper BP function that supplies caller with a copy of navigation path given controller is currently following #UE4
Change 3467644 by Dan.Oconnor
Fix for cook issues in ocean when using compilation manager, one issue caused by bad dependencies list, one issue caused by lack of subobject mapping in archetype reinstancing.
#jira UE-45443, UE-45444
Change 3468176 by Dan.Oconnor
Fix dependent blueprints being marked dirty when a blueprint is compiled
Change 3468353 by Michael.Noland
UnrealHeaderTool: Improved the warning generated when missing Category= on a function or property declared in an engine module, and centralized the logic that determines if the module is engine or game
Change 3470532 by Dan.Oconnor
Re-enable compilation manager
Change 3470572 by Dan.Oconnor
Fix for pin paramters resetting when an archetype was reinstanced
#jira UE-45619
#rnx
Change 3471949 by Mason.Seay
Adding Primary Assets for testing
Change 3472074 by Ben.Zeigler
#jira UE-45140 Convert iterative cooking to use the Asset Registry as it's only mode, remove old hash and timestamp versions. This allows deleting the entire PackageDependencyInfo module
Change the asset registry iteration to not compute a hash at all, and instead store the script package guids in it's cache.
Expose bIgnoreIniSettingsOutOfDateForIteration and bIgnoreScriptPackagesOutOfDateForIteration in cooker settings, affects rather to listen to ini/script changes when doing iterative cooking
Change 3472079 by Ben.Zeigler
With new incremental cook options, change Fortnite to never care about ini settings, but do care about code changes. This can be changed but from previous discussions we wanted to be more safe than fast here
Change 3473429 by Lukasz.Furman
changed path following update tick to allow working on "invalid, update pending" paths, solves AI getting stuck when navigation is rebuild very frequently (e.g. every tick from moving mesh)
#jira UE-41884
Change 3473476 by Lukasz.Furman
changed crowd simulation path update tick to allow working on "invalid, update pending" paths, solves AI getting stuck when navigation is rebuild very frequently (e.g. every tick from moving mesh)
#jira UE-41884
Change 3473663 by Ben.Zeigler
Fix it so base k2node registers framework version, this is needed for the assetptr fixup I previously added
Change 3473679 by Mason.Seay
Slight cleanup of test map and added ability to teleport across level for easy navigation
Change 3473712 by Marc.Audy
Do default value validation against the actual value of the default entry of an enum rather than the serialized empty autogenerated default value
Change 3474055 by Marc.Audy
When nodes are reconstructed any pins that were previously linked or set to non-default values that have been removed will no longer simply vanish, but instead will remain in an Orphaned state until dealt with.
#jira UE-41828
Change 3474119 by mason.seay
Tweaked Force Feedback test
Change 3474156 by Marc.Audy
Actually enable orphan pin retention
Change 3474382 by Ben.Zeigler
Class.h Header and comment cleanup. Started this because IsChildOf did not have a comment and it's usage is a bit confusing
Change 3474386 by Ben.Zeigler
Close popup window when adding asset class to audit window
Change 3474491 by Ben.Zeigler
Remove ability for Worlds to not be saved as assets, this has been the default since 2014.
Change 3475363 by Marc.Audy
Alt-click now works with orphaned pins
#jira UE-45699
Change 3475523 by Marc.Audy
Fixup Fortnite and Paragon content for orphaned pin errors and warnings
Change 3475623 by Phillip.Kavan
#jira UE-45477 - Fix an EDL assertion on load in a nativized build with one or more Actor subobjects instanced via the EditInlineNew UI in the BP class defaults property editor.
Change summary:
- Modified FEmitDefaultValueHelper::OuterGenerate() to emit code to construct/initialize instanced subobject values that do not have the RF_DefaultSubObject flag set, and also to recursively handle nested subobjects for those values.
- Modified FEmitDefaultValueHelper::HandleInstancedSubobject() to alternatively emit a 'NewObject' assignment statement rather than a 'CreateDefaultSubobject' statement if only RF_ArchetypeObject is set on the source object value.
Change 3476008 by Dan.Oconnor
Fix for failing to preload our super class's subobjects. Effectively moving UBlueprint::ForceLoad calls earlier in loading process. This only results in data resetting to your parent's parent's default value from your parent's default value.
#jira UE-18765
Change 3476115 by Dan.Oconnor
Fix missing category information for inherited functions when using compilation manager
#jira UE-45660
#rnx
Change 3476577 by Lukasz.Furman
added early outs from navmesh layer generation when there's no walkable cells or contours to avoid allocating 0 bytes by next generation steps (behavior differs between platforms)
#ue4
Change 3476587 by Phillip.Kavan
#jira UE-45517 - Fix a regression in which dragging UMG widgets around in the designer view results in redundantly-compounded BP class properties and context menu actions.
Change summary:
- Modified SDesignerView::ClearDropPreviews() to move the widget that was removed from the tree into the transient package. This ensures that FWidgetBlueprintCompiler::CreateClassVariablesFromBlueprint() won't pick them up.
- Modified SDesignerView::ProcessDropAndAddWidget() to also consider any widgets not added to the 'DropPreviews' array as being transient (i.e. also move them into the transient package since they were not added to the tree).
Notes:
- The regression was introduced by the changes in CL# 3410168, and was merged to Main at CL# 3431398.
#rnx
Change 3476723 by Dan.Oconnor
Match old behavior wrt updating implemented interfaces in blueprints - this logic from FKismetEditorUtilities::CompileBlueprint was missing in compilation manager
#jira UE-45468
#rnx
Change 3476948 by Michael.Noland
Framework: Changed AActor::FindComponentByClass (and AActor::GetComponentByClass by extension) to return nullptr when passed a nullptr class, rather than crashing
Change 3476970 by Ben.Zeigler
Fix bug I introduced in 4.16 where assigning assets to multiple chunks did not work properly
Change 3477536 by Marc.Audy
Don't display default value box on linked orphaned input pins
Change 3477835 by Marc.Audy
Fix pins orphaned by deletion of an entry in a user-defined enum disappearing instead of remaining connected
#jira UE-45754
Change 3478027 by Marc.Audy
Minor performance optimization
#rnx
Change 3478198 by Phillip.Kavan
#jira UE-42431 - Remove an unnecessary ensure() when pasting an event node.
Change summary:
- Modified UEdGraphSchema_K2::CreateSubstituteNode() to no longer ensure() that we have a valid PreExistingNode; it's only used for logging when a substitute node is created in response to a conflict with an existing node.
Change 3478485 by Marc.Audy
Eliminate extraneous error messages about orphaned pins on get/set nodes
#jira UE-45749
#rnx
Change 3478756 by Marc.Audy
Fix fallout from changes to DoesDefaultValueMatchAutogenerated for user defined enums
#jira UE-45721
#rnx
Change 3478926 by Marc.Audy
Non-blueprint type structs can no longer be made/broken
Non-blueprint visible properties in structs will no longer have pins created for them
#jira UE-43122
Change 3478988 by Marc.Audy
DeltaTime for a tick function with a tick interval is now correct after disabling and then reenabling the tick function.
#jira UE-45524
Change 3479818 by Marc.Audy
Allow ctrl-drag off of orphan pins
#jira UE-45803
Change 3480214 by Marc.Audy
Modifications to user defined enumerations are now transacted
#jira UE-43866
Change 3480579 by Marc.Audy
Maintain all pin properties through transactions.
#rn Reference pins that are removed and then restored via undo now correctly have the diamond icon instead of the standard circle.
Change 3481043 by Marc.Audy
Make/Break of structs does not depend on having blueprint exposed properties.
Splitting of a struct pin still requires blueprint exposed properties.
#jira UE-45840
#jira UE-45831
Change 3481271 by Ben.Zeigler
Fix the AssetManager chunking code to use ChunkDependencyInfo instead of a hardcoded check for chunk 0
Clean up ChunkDependencyInfo and make it properly public
Move ShouldSetManager to be WITH_EDITOR
Ported from WEX branch
#RB peter.sauerbrei
Change 3481373 by Dan.Oconnor
Reduce reliance on expensive FindDelegateSignature. 3275922 made warnings about a ambiguous search more likely as it preserved names of members on the REINST_ classes
#jira UE-45704
Change 3481380 by Ben.Zeigler
Change it so Struct and Object AssetRegistrySearchable properties do not show up in content browser, they are not helpful
Change 3482362 by Marc.Audy
Fix properties not exposed to blueprint warnings for input properties on function graphs.
#jira UE-45824
Change 3482406 by Ben.Zeigler
#jira UE-45883 Fix Switch On Gameplay Tag Container node, and add switch nodes to TagCheck map
Change 3482498 by Ben.Zeigler
Attempt to fix hot reload issues with Asset Manager. We need to reset and re-acquire the asset classes when rescanning, as they may be pointing to the replaced class
Change 3482517 by Lukasz.Furman
fixed smart navlink update functions removing important flag
#jira UE-45875
Change 3482538 by Marc.Audy
When comparing float, vector, and rotator values for whether the the default matches the autogenerated do not use the string compare because differences in use of decimal or number of 0s after decimal are then considered not the same float
#jira UE-45846
Change 3482773 by Marc.Audy
Don't show default value or pass by reference for exec pins
#jira UE-45868
Change 3482791 by Ben.Zeigler
#jira UE-45800 Correctly dirty game mode blueprint when changing player controller/etc classes from game mode customization
Fix it so MarkBlueprintAsStructurallyModified calls MarkBlueprintAsModified as several fixes were only in the second function
Change 3483131 by Zak.Middleton
#ue4 - InterpToMovementComponent:
- Fix velocity not zeroed when interpolation stops.
- Various fixes when calculating velocity and time when substepping is enabled.
- Improve accuracy of interpolation when looping and there is time remaining after the loop event is hit. Consume the remainder of the time after the event back in the loop (similar to handling a blocking impact).
#jira UE-45690
Change 3483146 by Phillip.Kavan
#jira UE-38358 - Propagate 'const' function flag from interface Blueprint to implementing Blueprints.
Change summary:
- Modified FBlueprintEditorUtils::MarkBlueprintAsStructurallyModified() to call SkeletalRecompileChildren() on dependent BPs when the target is an interface BP.
- Modified FBlueprintEditorUtils::MarkBlueprintAsStructurallyModified::FRefreshHelper::SkeletalRecompileChildren() to set child BP status to BS_Dirty after compiling.
- Modified ConformInterfaceByName() (FBlueprintEditorUtils) to use the interface's skeleton class for function iteration as well as to match the Function Entry node's 'const' setting to the interface UFunction's signature.
Change 3483340 by Ben.Zeigler
Fix issue querying asset registry after a hot reload, make sure pending kill objects are never considered to be Assets
Change 3483548 by Michael.Noland
Epic Friday: Playing around with some prototype traps
Change 3483700 by Phillip.Kavan
Fix CIS cook crash introduced by last submit.
#rnx
Change 3485217 by Ben.Zeigler
#jira UE-45519 Fix regression introduced in 4.16 where it would no longer cook all maps when no explicit maps were specified in ini or game callback. Moved the code that detects changes before culture/default map code and hardened it to deal with the case where some engine packages were already in the list before it entered the function
Change 3485367 by Dan.Oconnor
Avoid adding mappings to anim node when creating variables on the skeleton class and using the compilation manager
#jira UE-45756
Change 3485565 by Ben.Zeigler
#jira UE-45948 Fix compilation manager to properly reset variable default values after promoting a pin to local variable
Change 3485566 by Marc.Audy
Fix crashes caused by undo/redo of user defined struct changes
#jira UE-45775
#jira UE-45781
Change 3485805 by Michael.Noland
PR #3459: Fix for world origin shifting and SpringArmComponent location lag (Contributed by michail-nikolaev)
#jira UE-43747
Change 3485807 by Michael.Noland
PR #3485: Added additional textures field to paper 2d tileset class (Contributed by gryphonmyers)
#jira UE-44041
Change 3485811 by Michael.Noland
Framework: Fixed a bug in FStreamLevelAction::MakeSafeLevelName to avoid appending the PIE prefix multiple times (fixes functions like Unload Streaming Level when passed a full package name from an instanced streaming level)
Change 3485829 by Michael.Noland
Framework: Made GetWorldAssetPackageFName BlueprintCallable so instanced levels can be unloaded
Change 3485830 by Michael.Noland
PR #3568: add API declarations to ALevelStreamingVolume methods (Contributed by kayama-shift)
#jira UE-45002
Change 3486039 by Michael.Noland
PR #3495: UE-44014: Refreshing node error fixes (Contributed by projectgheist)
- Empty out the ErrorMsg when a node gets refreshed to prevent the same error messages from compounding
- Added support for split pins in UK2Node_Event::IsFunctionEntryCompatible
- Added a missing check for the delegate pin name on the entry node part of UK2Node_Event::IsFunctionEntryCompatible
#jira UE-44014
Change 3486093 by Michael.Noland
PR #3379: Added GAMEPLAYABILITIES_API to all Ability Tasks. (Contributed by ryanjon2040)
#jira UE-42903
Change 3486139 by Michael.Noland
Blueprints: Added new config options for execution wire thickness when not debugging (DefaultExecutionWireThickness) and data wire thicknesses (DefaultDataWireThickness) to the Graph Editor Settings page
#rn
Change 3486154 by Michael.Noland
Framework: Speculative fix for CIS error about FStructOnScope
#rnx
Change 3486180 by Dan.Oconnor
Better match old logic for determining when to skip data only compile
#jira UE-45830
Change 3487276 by Marc.Audy
Fix crash when using Setter with a locally scoped variable
#rnx
Change 3487278 by Marc.Audy
Ensure that pin change notifications occur on all pin breaks unless it is part of a node being garbage collected
Change 3487658 by Marc.Audy
Ensure that child actor template is created for subclasses
#jira UE-45985
Change 3487699 by Marc.Audy
Move non-templated elements out of FArchiveReplaceObjectRef and put them in FArchiveReplaceObjectRefBase
Change 3487813 by Dan.Oconnor
Asset demonstrating a crash
Change 3488101 by Marc.Audy
Fix crash with spawn/construct actor/object from class nodes when they no longer had any pins.
Correctly orphan pins when a node goes to 0 pins.
Change 3488337 by Marc.Audy
Editable pin base should not manually remove pin and let reconstruct node and rewire pins do their job
#jira UE-46020
Change 3488512 by Dan.Oconnor
ConstructObject nodes and SubInstances nodes use skeleton class when compilation manager can provide it
#jira UE-45830, UE-45965
#rnx
Change 3488631 by Michael.Noland
Framework: Fixed a crash when loading a blueprint with a parent class of ALevelBounds caused by trying to register the class default object with a non-existent level
#jira UE-45630
Change 3488665 by Michael.Noland
Blueprints: Improve the details panel customization for optional pin nodes like Struct Member Get/Set
- The category, raw name, and tooltip of the property are now included as part of the filter text as well
- The property tooltip is now displayed when hovering over the property name
- Code updated to use GET_MEMBER_NAME_CHECKED() where appropriate
Change 3489324 by Marc.Audy
Fix recursion causing stack crash
#jira UE-46038
#rnx
Change 3489326 by Marc.Audy
Fix cooking crash
#jira UE-46031
#rnx
Change 3489687 by mason.seay
Assets for testing orphan pins
Change 3489701 by Marc.Audy
Back out changelist 3487278 and 3489443 and make targetted changes for fixing up orphan pin cases where changing connections doesn't remove the pin.
#jira UE-46051
#jira UE-46052
#rnx
Change 3490352 by Dan.Oconnor
Fix for missing WidgetTree on Skeleton class - just look directly at the WidgetBlueprint
#jira UE-46062
Change 3490814 by Marc.Audy
Make callfunction/macro instances save all pins in orphan state more similar to previous behavior
#rnx
Change 3491022 by Dan.Oconnor
Properly clean up 'Key' property when we fail to create a value property
#jira UE-45279
Change 3491071 by Ben.Zeigler
#jira UE-45981 Fix rotation issues, vector/rotator pins with empty strings were not matching due to uninitialized memory.
Change 3491244 by Michael.Noland
Blueprints: Add compile time message back to the output log (will not auto-open the output log if there were no warnings/errors)
#jira UE-32948
Change 3491276 by Michael.Noland
Blueprints: Fixed some bugs where a newly added item would fail show up in the "My Blueprints" tree if there was a filter active (e.g., when promoting a variable)
- Centralized the logic for clearing the filter so it happens when we try and fail to select the item, rather than ad hoc in various other places
- Made it only clear the filter if necessary, rather than (almost) always clearing it when adding an item
#jira UE-43372
Change 3491562 by Marc.Audy
Put back pin removal in to editable pin base and instead modify the pin destroy implementation to take down child split pins with it
#jira UE-46020
#rnx
Change 3491658 by Marc.Audy
Unify RemoveUserDefinedPin implementations. Use version that has break to avoid size change assert
#rnx
Change 3491946 by Marc.Audy
ReconstructSinglePin no longer destroys OldPin (avoids oprhaned sub pins being destroyed before reparented)
RewireOldPinsToNewPins now destroys OldPins at the end (calling code no longer reponsible)
DestroyImpl now prunes out SubPins that had already been trashed
#rnx
Change 3492040 by Marc.Audy
Discard exec/then pins from a callfunction that has been converted to a pure node
#rnx
Change 3492200 by Zak.Middleton
#ue4 - Always reset the input array in AActor::GetComponents(), but do so without affecting allocated size.
Fixes possible regression from CL 3359561 that removed the Reset(...) entirely.
#jira UE-46012
Change 3492290 by Ben.Zeigler
#jira UE-46108 Fix StringLibrary Mid to never crash, Substring had already been fixed
Change 3492311 by Marc.Audy
Don't clear the pin type if what you're connecting to's pin type is wildcard
#rnx
Change 3492680 by Dan.Oconnor
Handle missing generated class when using compilation manager - tested by forcing compile of BP_ParentClassIsMissingType.uasset
Change 3492826 by Marc.Audy
Don't do pin connection list change notifications from DestroyPins while regenerating on load
#jira UE-46112
#rnx
Change 3492851 by Michael.Noland
Core: Fixed various crashes when using UObject::CallFunctionByNameWithArguments with non-trivial argument types by properly initializing the allocated parameters
Change 3492852 by Michael.Noland
Framework: Fixed a crash if ACharacter::FindComponentByClass was passed a nullptr class
Change 3492934 by Marc.Audy
Fix ensure and crash delete macro containing orphaned pin
#rnx
Change 3493079 by Dan.Oconnor
Fix for crash when opening ThirdPersonAnimBlueprint and ThirdPersonAnimBlueprint_Perf then clicking 'Compile' button in ThirdPersonAnimBlueprint editor. Make sure the convenience members in the derived compilers get set when we relink child classes (which requires making cdos, which requires PropagateValuesToCDO..)
#rnx
Change 3493346 by Phillip.Kavan
#jira UE-40560 - Fix a reported crash when pasting nodes between unrelated Blueprint graphs.
Change summary:
- Modified FEdGraphUtilities::PostProcessPastedNodes() to ensure() on a NULL pin entry; this will allow execution to continue while still alerting us since it is an unexpected result. Also added an 'else' case to then remove the NULL entry so that PostPasteNode() implementations don't all have to guard against NULL pin entries. When the node is reconstructed, the NULL entry will be replaced with the correct pin initialized to its default values.
- Modified UEdGraphPin::ImportTextItem() to add some additional logging to parse error cases when importing pin properties from source T3D text. Hopefully this gives us more information when this is encountered in the future.
Change 3493938 by Michael.Noland
Blueprints: Prevent issues with renaming event dispatchers to contain periods (this may be disallowed in the future, but they no longer become uneditable)
#jira UE-45780
Change 3493945 by Michael.Noland
Blueprints: Fixed GetDelegatePoperty typos
#rnx
Change 3493997 by Michael.Noland
Blueprints: Partially reverting changes from CL# 3319966 to reroute nodes, restoring their alignment but losing the symmetrical grab handle changes
#jira UE-45760
Change 3493998 by Dan.Oconnor
Fix rare crash in RefreshStandAloneDefaultsEditor when the blueprint editor is opened and a blueprint had errors in it
Note: I stumbled across this by running a unit test and then opening a blueprint in the BPE. CrashReporter indicates 3 crashes in the last 3 days
Change 3494025 by Michael.Noland
Engine: Deleted some dead code (DEBUGGING_VIEWPORT_SIZES)
#rnx
Change 3494026 by Michael.Noland
Blueprints: V0 of a BlueprintCallable/BlueprintPure function fuzzer
- Calls exposed methods with default parameters on classes it is able to spawn for now, which catches crashes due to null and /0 but not out of bounds issues or ones on classes it can't spawn due to classwithin, abstract, etc...
- Can be called using Test.ScriptFuzzing, won't be integrated into automated tests until it is more fully fleshed out and all known issues are addressed
#rnx
Change 3496382 by Ben.Zeigler
Fix ensure when launching editor with cook on the side and incremental cooking enabled. It now flushes the background asset gather when calling the sync load all assets if one is in progress
Change 3496688 by Marc.Audy
Avoid crashing in component instance data if (for some reason) the Actor's root component isn't properly set up
#jira UE-46073
Change 3496830 by Michael.Noland
Editor: Change FEditorCategoryUtils methods to take UStruct* instead of UClass*, as they are just reading metadata
#rnx
Change 3496840 by Michael.Noland
Framework: Remove the requirement for a local player in UCheatManager::CheatScript, so it can be be started from the server side (doesn't change the availability of the cheat manager, just allows things like the redundant "cheat cheatscript scriptname" to work)
Change 3497038 by Michael.Noland
Fortnite: Added UFortDeveloperSettings to allow developers to auto-run cheats in PIE (does not occur in -game or outside of WITH_EDITOR builds)
- You can specify a list of cheat commands to run when a pawn is possessed (also needs CL# 3496840 for cheatscripts)
- You can also specify a set of items to grant to your local inventory when it is created
Change 3497204 by Marc.Audy
Fix AbilitySystemComponent not being blueprint readable.
#rnx
Change 3497668 by Mieszko.Zielinski
Fixed a crash in BT editor when dealing with enum-typed Blackboard-keys pointing to enum values that have been deleted #UE4
#jira UE-43659
Change 3497677 by Mieszko.Zielinski
Added a community-suggested working solution to patching up dynamic navmesh after world offset #UE4
Also, fixed a crash related to navmesh rebuilding if generation was configured to lazily gather navigatble geometry
#jira UE-41293
Change 3497678 by Mieszko.Zielinski
Marked AbstractNavData class as transient #UE4
We never want to save it to levels
Change 3497679 by Mieszko.Zielinski
Made NavModifierVolume responsive to editor-time property changes #UE4
#jira UE-32831
Change 3497900 by Dan.Oconnor
Fix bad skel reference when using construct object from class, just limiting scope of 3491946. To reproduce the bug just nativize QA Game, including the TM-Gameplay level
#rnx
Change 3497904 by Dan.Oconnor
Use K2Node_Event::FindEventSignatureFunction in order when directly generating the skeleton generated class to get event params correct
#jira UE-46153
#rnx
Change 3497907 by Dan.Oconnor
Correctly set blueprint visibility flags on params for inherited functions when generating the skeleton class
#rnx
#jira UE-46186
Change 3498218 by mason.seay
Updates to pin testing BP's
Change 3498323 by Mieszko.Zielinski
Made UNavCollision instance assigned to StaticMesh not get re-created from scratch every single time any StaticMesh property changes #UE4
Recreation was resulting in some of the UNavCollision's properties not getting saved and the way we were recreating the nav collision could also interfere with undo buffers
#jira UE-44891
Change 3499007 by Marc.Audy
Allow systems to hook Pre and PostCompile to do custom behaviors
Change 3499013 by Mieszko.Zielinski
Made AbstractNavData class non-transient again #UE4
Implemented AbstractNavData instances' transientness in a different manner.
#jira UE-46194
Change 3499204 by Mieszko.Zielinski
Introduced CrowdManagerBase, an engine-level class that can be extended to implement custom crowd management #Orion
Extracted FRecastQueryFilter into a separate file, which will break some peoples' compilation.
#jira UE-43799
Change 3499321 by mason.seay
Updated bp for struct testing
Change 3499388 by Marc.Audy
Allow the compiler log to store off potential messages from earlier in the compile cycle (early validation), that can be committed later (for example once pruning is completed).
Change 3499390 by Marc.Audy
Generate the orphan pin error messages during EarlyValidation, but cache until the regular validation phase. This ensures all are generated, but only those that aren't pruned will be emitted.
#rnx
Change 3499420 by Michael.Noland
Engine: Introduced a new version of UEngine::GetWorldFromContextObject which takes an enum specifying the behavior on failures and updated all existing uses
The new version intentionally does not have a default value for ErrorMode, callers need to think about which variant of behavior they want:
- ReturnNull: Silently returns nullptr, the calling code is expected to handle this gracefully
- LogAndReturnNull: Raises a runtime error but still returns nullptr, the calling code is expected to handle this gracefully
- Assert: Asserts, the calling code is not expecting to handle a failure gracefully
- Deprecated UEngine::GetWorldFromContextObject(object, boolean) and changed the default behavior for the deprecated instances to do LogAndReturnNull rather than Assert, based on the real-world call pattern
- Introduced GetWorldFromContextObjectChecked(object) as a shorthand for passing in EGetWorldErrorMode::Assert
- Made UObject::GetWorldChecked() actually assert if it would return nullptr (under some cases the old function could silently return nullptr while reporting bSupported = true, so it neither ensured nor checked)
- Fixed a race condition in the 'is implemented' bookkeeping logic in GetWorld()/GetWorldChecked() by confining it to the game thread and added a check() to ImplementsGetWorld() to make it clear that it only works on the game thread
The typical recommended call pattern is to use something like:
if (UWorld* World = GEngine->GetWorldFromContextObject(WorldContextObject, EGetWorldErrorMode::LogAndReturnNull))
{
... Do something with World
}
Handling the failure case but requesting a log message (with BP call stack printed out) if it failed. This is now also the default behavior for old calls to UEngine::GetWorldFromContextObject(Object) (using the default value of bChecked=true), which is a behavior change but it matches how the function was being used in practice; the vast majority of call sites actually expected it to potentially fail and handled the nullptr case gracefully; very few places used the return value unguarded and wanted it to assert when passed a nullptr.
#jira UE-42458
Change 3499429 by Michael.Noland
Engine: Removed a bogus TODO (the problematic code had already been reworked)
#rnx
Change 3499470 by Michael.Noland
Core: Improved and corrected the comment for ensure()
- It doesn't crash when checking is disabled (and hasn't since UE3, maybe ever?)
- It now only fires once per ensure() by default, added a note about ensureAlways()
#rnx
Change 3499643 by Marc.Audy
Use TGuardValue instead of manually managing it
#rnx
Change 3499874 by Marc.Audy
Display <Unnamed> instead of nothing for Pins with blank display name in the compiler log
Change 3499875 by Marc.Audy
When changing function parameter types, don't orphan a pin on the function entry/exit nodes (but do at the call sites)
#jira UE-46224
Change 3499927 by Dan.Oconnor
UField::Serialize no longer serialize's its next ptr, UStruct::Serialize serializes all Children properties instead. This resolves a hard circular dependency between function libraries that EDL detected. It was resolved in an ad hoc way by the old linker
#jira UE-43458
Change 3499953 by Michael.Noland
Core: Created a variant of ensure that does runtime error logging without stopping in the debugger and some related functions that print a warning or error and may trigger a BP callstack (under the same rules as FFrame::KismetExecutionMessage)
- These are WIP and the API may change in the future, but are being used to fix various crashes found by fuzzing BP exposed functions
Change 3499957 by Michael.Noland
Animation: Added runtime errors for nullptr ControlRigs passed into BP methods
#rnx
Change 3499958 by Michael.Noland
Blueprints: Changed an ensure in UKismetNodeHelperLibrary::GetValidValue to a runtime error
#rnx
Change 3499959 by Michael.Noland
Engine: Downgrade various checks() to ensures() in the runtime asset cache functions exposed to Blueprints
Change 3499960 by Michael.Noland
AI: Changed UBTFunctionLibrary to not check/ensure if passed a null world context object
Change 3499968 by Michael.Noland
Editor: Fixed a couple of crashes in UEditorLevelUtils when passed nullptr arguments, and reformatted the entire file to fix widespread indentation issues
#rnx
Change 3499969 by Michael.Noland
Engine: Changed the verbosity of the failure log message of UEngine::GetWorldFromContextObject(..., LogAndReturnNull) from Warning to Error, so it always prints out a BP callstack
#rnx
Change 3499973 by Michael.Noland
Rendering: Fixed asserts in various UKismetRenderingLibrary methods if passed a nullptr for the WorldContextObject
- Also fixed flipped warnings in the failure cases for EndDrawCanvasToRenderTarget
Change 3499979 by Michael.Noland
Editor: Prevented a crash in UMaterialEditingLibrary::RecompileMaterial when passed a nullptr material
Change 3499984 by Michael.Noland
Physics: Prevented a crash in UTraceQueryTestResults::AssertEqual when passed in nullptr for Expected
Change 3499993 by Michael.Noland
Blueprints: Added validation when renaming variables, functions, components, multicast delegates, etc... to prevent names from containing some unacceptable characters
- This validation only kicks in when trying to rename an item, so bad names in existing content are 'grandfathered in'
- These bad names can cause bugs when working with content that contains these characters (e.g., names that contain a period cannot be found via FindObject<T>)
- Currently only . is banned, but eventually we may expand it to include all of INVALID_OBJECTNAME_CHARACTERS
Change 3500009 by Michael.Noland
Blueprints: Made the fuzzer skip classes declared in UnrealEd for now (some of the exposed methods change global state that can cause other tests to fail as the fuzzer isn't particularly sandboxed ATM)
#rnx
Change 3500011 by Michael.Noland
Android: Fixed a crash in UAndroidPermissionFunctionLibrary::AcquirePermissions when called with an empty array on non-Android platforms
Change 3500012 by Michael.Noland
Editor: Prevent a crash in UEditorTutorial::OpenAsset when passed a nullptr Asset
Change 3500014 by Michael.Noland
Engine: Changed FRuntimeAssetCacheFilesystemBackend::ClearCache(NAME_None) to not try to clear all cache directories (there is a separate no-args method for that)
Change 3500019 by Michael.Noland
Core: Fixed some more issues with CallFunctionByNameWithArguments and initializing / destroying parameters
- It was skipping the return value and incorrectly relying on the FirstPropertyToInit list which isn't set for by ref arguments
Change 3500020 by Michael.Noland
Automation: Prevent UFunctionalTestingManager::RunAllFunctionalTests and UFunctionalTestingManager* UFunctionalTestingManager::GetManager from crashing when a manager cannot be created (because we can't route to a world)
Change 3501062 by Marc.Audy
MakeArray AddInputPin is often used as part of node expansion, so need to move the transaction out of the function
Fix inability to undo/redo pin additions to sequence node
Add a K2Node_AddPinInterface to generalize the interface that K2Nodes implement to interact with SGraphNodeK2Sequence so it can be more generally used
#jira UE-46164
#jira UE-46270
Change 3501330 by Michael.Noland
AI: Fix an error on shutdown when the CDO of UAIPerceptionComponent tries to clean up (as it was never registered in the first place)
#jira UE-46271
Change 3501356 by Marc.Audy
Fix crash when multi-editing actor blueprints
#jira UE-46248
Change 3501408 by Michael.Noland
Core: Improve the print-out of FFrame::GetStackTrace() / FFrame::GetScriptCallstack() when there is no script stack (e.g., when FFrame::KismetExecutionMessage is called by native code with no BP above in the call stack)
Change 3501457 by Phillip.Kavan
#jira UE-46054 - Fix crash when launching a packaged build that includes a nativized Blueprint instance with a ChildActorComponent instanced via an AddComponent node.
Change summary:
- Removed UK2Node_AddComponent::PostDuplicate(). This eliminates the creation of redundant component templates that were being unnecessarily created during the Blueprint duplication that precedes the nativization pass.
- Modified SMyBlueprint::OnDuplicateAction() to call MakeNewComponentTemplate() in response to a graph duplication action within the same Blueprint context (replaces previous UK2Node_AddComponent::PostDuplicate() impl).
- Modified FEmitDefaultValueHelper::HandleSpecialTypes() to force AddComponent-based CAC-owned template objects in the emitted codegen to use the UDynamicClass as the Outer when instancing. This matches what we already do for SCS-based CAC-owned template objects - that logic was added in CL# 3270456, and this matches up with FBlueprintNativeCodeGenModule::FindReplacedNameAndOuter(), where we specifically handle CAC-owned template objects.
Change 3502741 by Phillip.Kavan
#jira UE-45782 - Fix undo for index pin type changes.
Change summary:
- Modified SGraphPinIndex::OnTypeChanged() to call Modify() on the pin that was changed.
Change 3502939 by Michael.Noland
Back out changelist 3499927
Change 3503087 by Marc.Audy
Re-fixed ocean content as editor had also changed so had to take theirs and redo
#rnx
Change 3503266 by Ben.Zeigler
#jira UE-46335 Fix regression added in 4.16 where AssetRegistry GetAncesorClassNames/GetDerivedClassNames were not working properly in cooked builds for classes not in memory
Change 3503325 by mason.seay
updated Anim BP to prep for pin testing
Change 3503445 by Marc.Audy
Fix crash caused by OldPins being destroyed before rewiring
#rnx
Change 3505024 by Marc.Audy
Fix NodeEffectsPanel blueprint as it was using pins that no longer existed
#rnx
Change 3505254 by Marc.Audy
Don't include orphan pins when gather source property names
If a property doesn't exist for a source property name just skip the property rather than crashing
#jira UE-46345
#rnx
Change 3506125 by Ben.Zeigler
#jira UE-46311 Fix issues when blueprints are reloaded in place, it needs to remove them from root properly and sanitize the old class. It's still not clear why they are being reloaded in place
Change 3506334 by Dan.Oconnor
Move UAnimGraphNode_Base::PreloadRequiredAssets up to K2Node, make sure nodes get a chance to preload data before compilation manager compiles newly loaded blueprints
#jira UE-46411
Change 3506439 by Dan.Oconnor
Return to pre 3488512 behavior for construct object nodes. This means that we can still get warnings on load when users compile after saving a blueprint, but the current behavior loses default values because it's lookng at the skeleton cdo
#jira UE-46308
Change 3506468 by Dan.Oconnor
Return to pre 3488512 behavior, as it causes bad default values
#jira UE-46414
#rnx
Change 3506733 by Marc.Audy
Use the most up to date class to determine whether a property still exists when adding pins during reconstruction
#jira UE-45965
#author Dan.OConnor
#rnx
Change 3507531 by Ben.Zeigler
#jira UE-46449 Better fix to flush the asset registry queue when the editor requests a synchronous scan at startup. Sometimes it can take a few frames because of file handle delays
Change 3507924 by mason.seay
Sanity save of TM-Gameplay and sublevels to maybe resolve level streaming issues
Change 3507962 by Marc.Audy
Remake changes from CL# 3150796 wiped out by WEX-Staging merge to Main in CL# 3479958
#rnx
Change 3509131 by Dan.Oconnor
Compilation manager compile on load flow never called FindExportsInMemoryFirst, which is critical to prevent reloading of UBlueprintGeneratedClasses when Rename clears the export table
#jira UE-46311
Change 3509345 by Marc.Audy
CVar to disable orphan pins if necessary
#rnx
Change 3509959 by Marc.Audy
Protect against crashing due to large values in Timespan From functions
#jira UE-43840
Change 3510040 by Marc.Audy
Remove all the old unneeded ShooterGame test maps
#rnx
[CL 3510073 by Marc Audy in Main branch]
2017-06-26 15:07:18 -04:00
const FObjectKey & ActionsKey = ActionIndex . Key ( ) ;
if ( ActionsKey . ResolveObjectPtr ( ) )
2014-08-08 15:35:56 -04:00
{
2014-08-08 18:01:38 -04:00
// make sure this class is still listed in the database
Copying //UE4/Dev-Framework to //UE4/Dev-Main (Source: //UE4/Dev-Framework @ 3510040)
#lockdown Nick.Penwarden
=====================================
MAJOR FEATURES + CHANGES
=====================================
Change 3459524 by Marc.Audy
Get/Set of properties that were previously BPRW/BPRO should error when used
#jira UE-20993
Change 3460004 by Phillip.Kavan
#jira UE-45171 - Fix C++ compilation failures during packaging caused by nativizing a Blueprint that overrides a native function with a 'TSubclassOf' parameter or return value.
Change summary:
- Modified FKismetCompilerContext::CreateParametersForFunction() to pass the 'CPF_UObjectWrapper' flag through to new function parameter properties during Blueprint compilation.
Change 3461210 by Phillip.Kavan
#jira UE-44505 - Fix occasional Blueprint editor crashes that could occur while rebuilding the context menu from the action registry.
Change summary:
- Modified FBlueprintActionDatabase::FActionRegistry to use an FObjectKey as the key type. This allows us to test entries for UObject validity before rebuilding context menu items based on the action database.
- Changed FBlueprintActionInfo::CachedOwnerClass to be a TWeakObjectPtr rather than a raw UClass* since it's based on the ActionOwner, which could potentially become invalid after the OwnerClass has been cached.
- Modified FBlueprintActionDatabase::RefreshAssetActions() to exclude World assets if the WorldType is not EWorldType::Editor. This eliminates an issue with unreferenced "inactive" GC'd world objects being left in the BP action registry after cooking, at which point the keys could become invalid.
- Added FBlueprintActionDatabase::DeferredRemoveEntry() to allow for scheduling removal of entries from outside of the database if they are known to be invalid.
- Modified FBlueprintActionDatabase::Tick() to handle deferred entry removals.
- Modified FBlueprintActionMenuBuilder::RebuildActionList() to both test actions for validity before building menu items and schedule removal of invalid actions on the next tick.
Notes:
- Alternatively we could just include UObject keys in the database's AddReferencedObject impl, but that would then prevent objects from ever being GC'd if they are not explicitly removed. For most entries the action database takes the approach of explicitly removing entries via delegate when the UObject is destroyed, so I chose to use a TWeakObjectPtr instead so that any entries that may not be getting explicitly removed via delegate will now simply become invalidated if the UObject key is GC'd due to not being referenced. I also set it up to clean and remove any entries (along with any associated node spawners) that are found to be invalid the next time we open the BP editor.
Change 3461373 by Lukasz.Furman
fixed async navmesh rebuilds not kicking in for requests from navdata.bForceRebuildOnLoad
#jira UE-44231
Change 3461409 by Lukasz.Furman
fixed reenabling automatic navmesh generation in Editor Preferences
#ue4
Change 3461550 by Ben.Zeigler
#jira UE-45328 Fix local variable support for Redirectors and other save-time validation. We need to run the local variables to UProperty and back at save time
Add new flag PPF_SerializedAsImportText which is used for BP pins/default values and indicates that something has been serialized as import text and so needs to handle string asset redirectors
Change 3462625 by Zak.Middleton
#ue4 - Fix InterpToMovementComponent not setting velocity on the object it moves. Fix movement rate when substepping enabled (other related fixes to come).
github PR #3620
Change 3462796 by Dan.Oconnor
Fix for spamming BroadcastBlueprintReinstanced and for creating CDO at wrong time when compiling FrontEnd.uasset in OrionGame
#jira UE-45434
Change 3462995 by Ben.Zeigler
#jira UE-16941 Fix it so Load Asset node works with a literal value as well as a connected pin
Change 3463099 by Ben.Zeigler
#jira UE-45471 Allow abstract base classes for primary assets
Change 3464809 by Marc.Audy
Expose FVector2D / FVector2D to blueprints
#jira UE-45427
Change 3467254 by Mieszko.Zielinski
Added an AI helper BP function that supplies caller with a copy of navigation path given controller is currently following #UE4
Change 3467644 by Dan.Oconnor
Fix for cook issues in ocean when using compilation manager, one issue caused by bad dependencies list, one issue caused by lack of subobject mapping in archetype reinstancing.
#jira UE-45443, UE-45444
Change 3468176 by Dan.Oconnor
Fix dependent blueprints being marked dirty when a blueprint is compiled
Change 3468353 by Michael.Noland
UnrealHeaderTool: Improved the warning generated when missing Category= on a function or property declared in an engine module, and centralized the logic that determines if the module is engine or game
Change 3470532 by Dan.Oconnor
Re-enable compilation manager
Change 3470572 by Dan.Oconnor
Fix for pin paramters resetting when an archetype was reinstanced
#jira UE-45619
#rnx
Change 3471949 by Mason.Seay
Adding Primary Assets for testing
Change 3472074 by Ben.Zeigler
#jira UE-45140 Convert iterative cooking to use the Asset Registry as it's only mode, remove old hash and timestamp versions. This allows deleting the entire PackageDependencyInfo module
Change the asset registry iteration to not compute a hash at all, and instead store the script package guids in it's cache.
Expose bIgnoreIniSettingsOutOfDateForIteration and bIgnoreScriptPackagesOutOfDateForIteration in cooker settings, affects rather to listen to ini/script changes when doing iterative cooking
Change 3472079 by Ben.Zeigler
With new incremental cook options, change Fortnite to never care about ini settings, but do care about code changes. This can be changed but from previous discussions we wanted to be more safe than fast here
Change 3473429 by Lukasz.Furman
changed path following update tick to allow working on "invalid, update pending" paths, solves AI getting stuck when navigation is rebuild very frequently (e.g. every tick from moving mesh)
#jira UE-41884
Change 3473476 by Lukasz.Furman
changed crowd simulation path update tick to allow working on "invalid, update pending" paths, solves AI getting stuck when navigation is rebuild very frequently (e.g. every tick from moving mesh)
#jira UE-41884
Change 3473663 by Ben.Zeigler
Fix it so base k2node registers framework version, this is needed for the assetptr fixup I previously added
Change 3473679 by Mason.Seay
Slight cleanup of test map and added ability to teleport across level for easy navigation
Change 3473712 by Marc.Audy
Do default value validation against the actual value of the default entry of an enum rather than the serialized empty autogenerated default value
Change 3474055 by Marc.Audy
When nodes are reconstructed any pins that were previously linked or set to non-default values that have been removed will no longer simply vanish, but instead will remain in an Orphaned state until dealt with.
#jira UE-41828
Change 3474119 by mason.seay
Tweaked Force Feedback test
Change 3474156 by Marc.Audy
Actually enable orphan pin retention
Change 3474382 by Ben.Zeigler
Class.h Header and comment cleanup. Started this because IsChildOf did not have a comment and it's usage is a bit confusing
Change 3474386 by Ben.Zeigler
Close popup window when adding asset class to audit window
Change 3474491 by Ben.Zeigler
Remove ability for Worlds to not be saved as assets, this has been the default since 2014.
Change 3475363 by Marc.Audy
Alt-click now works with orphaned pins
#jira UE-45699
Change 3475523 by Marc.Audy
Fixup Fortnite and Paragon content for orphaned pin errors and warnings
Change 3475623 by Phillip.Kavan
#jira UE-45477 - Fix an EDL assertion on load in a nativized build with one or more Actor subobjects instanced via the EditInlineNew UI in the BP class defaults property editor.
Change summary:
- Modified FEmitDefaultValueHelper::OuterGenerate() to emit code to construct/initialize instanced subobject values that do not have the RF_DefaultSubObject flag set, and also to recursively handle nested subobjects for those values.
- Modified FEmitDefaultValueHelper::HandleInstancedSubobject() to alternatively emit a 'NewObject' assignment statement rather than a 'CreateDefaultSubobject' statement if only RF_ArchetypeObject is set on the source object value.
Change 3476008 by Dan.Oconnor
Fix for failing to preload our super class's subobjects. Effectively moving UBlueprint::ForceLoad calls earlier in loading process. This only results in data resetting to your parent's parent's default value from your parent's default value.
#jira UE-18765
Change 3476115 by Dan.Oconnor
Fix missing category information for inherited functions when using compilation manager
#jira UE-45660
#rnx
Change 3476577 by Lukasz.Furman
added early outs from navmesh layer generation when there's no walkable cells or contours to avoid allocating 0 bytes by next generation steps (behavior differs between platforms)
#ue4
Change 3476587 by Phillip.Kavan
#jira UE-45517 - Fix a regression in which dragging UMG widgets around in the designer view results in redundantly-compounded BP class properties and context menu actions.
Change summary:
- Modified SDesignerView::ClearDropPreviews() to move the widget that was removed from the tree into the transient package. This ensures that FWidgetBlueprintCompiler::CreateClassVariablesFromBlueprint() won't pick them up.
- Modified SDesignerView::ProcessDropAndAddWidget() to also consider any widgets not added to the 'DropPreviews' array as being transient (i.e. also move them into the transient package since they were not added to the tree).
Notes:
- The regression was introduced by the changes in CL# 3410168, and was merged to Main at CL# 3431398.
#rnx
Change 3476723 by Dan.Oconnor
Match old behavior wrt updating implemented interfaces in blueprints - this logic from FKismetEditorUtilities::CompileBlueprint was missing in compilation manager
#jira UE-45468
#rnx
Change 3476948 by Michael.Noland
Framework: Changed AActor::FindComponentByClass (and AActor::GetComponentByClass by extension) to return nullptr when passed a nullptr class, rather than crashing
Change 3476970 by Ben.Zeigler
Fix bug I introduced in 4.16 where assigning assets to multiple chunks did not work properly
Change 3477536 by Marc.Audy
Don't display default value box on linked orphaned input pins
Change 3477835 by Marc.Audy
Fix pins orphaned by deletion of an entry in a user-defined enum disappearing instead of remaining connected
#jira UE-45754
Change 3478027 by Marc.Audy
Minor performance optimization
#rnx
Change 3478198 by Phillip.Kavan
#jira UE-42431 - Remove an unnecessary ensure() when pasting an event node.
Change summary:
- Modified UEdGraphSchema_K2::CreateSubstituteNode() to no longer ensure() that we have a valid PreExistingNode; it's only used for logging when a substitute node is created in response to a conflict with an existing node.
Change 3478485 by Marc.Audy
Eliminate extraneous error messages about orphaned pins on get/set nodes
#jira UE-45749
#rnx
Change 3478756 by Marc.Audy
Fix fallout from changes to DoesDefaultValueMatchAutogenerated for user defined enums
#jira UE-45721
#rnx
Change 3478926 by Marc.Audy
Non-blueprint type structs can no longer be made/broken
Non-blueprint visible properties in structs will no longer have pins created for them
#jira UE-43122
Change 3478988 by Marc.Audy
DeltaTime for a tick function with a tick interval is now correct after disabling and then reenabling the tick function.
#jira UE-45524
Change 3479818 by Marc.Audy
Allow ctrl-drag off of orphan pins
#jira UE-45803
Change 3480214 by Marc.Audy
Modifications to user defined enumerations are now transacted
#jira UE-43866
Change 3480579 by Marc.Audy
Maintain all pin properties through transactions.
#rn Reference pins that are removed and then restored via undo now correctly have the diamond icon instead of the standard circle.
Change 3481043 by Marc.Audy
Make/Break of structs does not depend on having blueprint exposed properties.
Splitting of a struct pin still requires blueprint exposed properties.
#jira UE-45840
#jira UE-45831
Change 3481271 by Ben.Zeigler
Fix the AssetManager chunking code to use ChunkDependencyInfo instead of a hardcoded check for chunk 0
Clean up ChunkDependencyInfo and make it properly public
Move ShouldSetManager to be WITH_EDITOR
Ported from WEX branch
#RB peter.sauerbrei
Change 3481373 by Dan.Oconnor
Reduce reliance on expensive FindDelegateSignature. 3275922 made warnings about a ambiguous search more likely as it preserved names of members on the REINST_ classes
#jira UE-45704
Change 3481380 by Ben.Zeigler
Change it so Struct and Object AssetRegistrySearchable properties do not show up in content browser, they are not helpful
Change 3482362 by Marc.Audy
Fix properties not exposed to blueprint warnings for input properties on function graphs.
#jira UE-45824
Change 3482406 by Ben.Zeigler
#jira UE-45883 Fix Switch On Gameplay Tag Container node, and add switch nodes to TagCheck map
Change 3482498 by Ben.Zeigler
Attempt to fix hot reload issues with Asset Manager. We need to reset and re-acquire the asset classes when rescanning, as they may be pointing to the replaced class
Change 3482517 by Lukasz.Furman
fixed smart navlink update functions removing important flag
#jira UE-45875
Change 3482538 by Marc.Audy
When comparing float, vector, and rotator values for whether the the default matches the autogenerated do not use the string compare because differences in use of decimal or number of 0s after decimal are then considered not the same float
#jira UE-45846
Change 3482773 by Marc.Audy
Don't show default value or pass by reference for exec pins
#jira UE-45868
Change 3482791 by Ben.Zeigler
#jira UE-45800 Correctly dirty game mode blueprint when changing player controller/etc classes from game mode customization
Fix it so MarkBlueprintAsStructurallyModified calls MarkBlueprintAsModified as several fixes were only in the second function
Change 3483131 by Zak.Middleton
#ue4 - InterpToMovementComponent:
- Fix velocity not zeroed when interpolation stops.
- Various fixes when calculating velocity and time when substepping is enabled.
- Improve accuracy of interpolation when looping and there is time remaining after the loop event is hit. Consume the remainder of the time after the event back in the loop (similar to handling a blocking impact).
#jira UE-45690
Change 3483146 by Phillip.Kavan
#jira UE-38358 - Propagate 'const' function flag from interface Blueprint to implementing Blueprints.
Change summary:
- Modified FBlueprintEditorUtils::MarkBlueprintAsStructurallyModified() to call SkeletalRecompileChildren() on dependent BPs when the target is an interface BP.
- Modified FBlueprintEditorUtils::MarkBlueprintAsStructurallyModified::FRefreshHelper::SkeletalRecompileChildren() to set child BP status to BS_Dirty after compiling.
- Modified ConformInterfaceByName() (FBlueprintEditorUtils) to use the interface's skeleton class for function iteration as well as to match the Function Entry node's 'const' setting to the interface UFunction's signature.
Change 3483340 by Ben.Zeigler
Fix issue querying asset registry after a hot reload, make sure pending kill objects are never considered to be Assets
Change 3483548 by Michael.Noland
Epic Friday: Playing around with some prototype traps
Change 3483700 by Phillip.Kavan
Fix CIS cook crash introduced by last submit.
#rnx
Change 3485217 by Ben.Zeigler
#jira UE-45519 Fix regression introduced in 4.16 where it would no longer cook all maps when no explicit maps were specified in ini or game callback. Moved the code that detects changes before culture/default map code and hardened it to deal with the case where some engine packages were already in the list before it entered the function
Change 3485367 by Dan.Oconnor
Avoid adding mappings to anim node when creating variables on the skeleton class and using the compilation manager
#jira UE-45756
Change 3485565 by Ben.Zeigler
#jira UE-45948 Fix compilation manager to properly reset variable default values after promoting a pin to local variable
Change 3485566 by Marc.Audy
Fix crashes caused by undo/redo of user defined struct changes
#jira UE-45775
#jira UE-45781
Change 3485805 by Michael.Noland
PR #3459: Fix for world origin shifting and SpringArmComponent location lag (Contributed by michail-nikolaev)
#jira UE-43747
Change 3485807 by Michael.Noland
PR #3485: Added additional textures field to paper 2d tileset class (Contributed by gryphonmyers)
#jira UE-44041
Change 3485811 by Michael.Noland
Framework: Fixed a bug in FStreamLevelAction::MakeSafeLevelName to avoid appending the PIE prefix multiple times (fixes functions like Unload Streaming Level when passed a full package name from an instanced streaming level)
Change 3485829 by Michael.Noland
Framework: Made GetWorldAssetPackageFName BlueprintCallable so instanced levels can be unloaded
Change 3485830 by Michael.Noland
PR #3568: add API declarations to ALevelStreamingVolume methods (Contributed by kayama-shift)
#jira UE-45002
Change 3486039 by Michael.Noland
PR #3495: UE-44014: Refreshing node error fixes (Contributed by projectgheist)
- Empty out the ErrorMsg when a node gets refreshed to prevent the same error messages from compounding
- Added support for split pins in UK2Node_Event::IsFunctionEntryCompatible
- Added a missing check for the delegate pin name on the entry node part of UK2Node_Event::IsFunctionEntryCompatible
#jira UE-44014
Change 3486093 by Michael.Noland
PR #3379: Added GAMEPLAYABILITIES_API to all Ability Tasks. (Contributed by ryanjon2040)
#jira UE-42903
Change 3486139 by Michael.Noland
Blueprints: Added new config options for execution wire thickness when not debugging (DefaultExecutionWireThickness) and data wire thicknesses (DefaultDataWireThickness) to the Graph Editor Settings page
#rn
Change 3486154 by Michael.Noland
Framework: Speculative fix for CIS error about FStructOnScope
#rnx
Change 3486180 by Dan.Oconnor
Better match old logic for determining when to skip data only compile
#jira UE-45830
Change 3487276 by Marc.Audy
Fix crash when using Setter with a locally scoped variable
#rnx
Change 3487278 by Marc.Audy
Ensure that pin change notifications occur on all pin breaks unless it is part of a node being garbage collected
Change 3487658 by Marc.Audy
Ensure that child actor template is created for subclasses
#jira UE-45985
Change 3487699 by Marc.Audy
Move non-templated elements out of FArchiveReplaceObjectRef and put them in FArchiveReplaceObjectRefBase
Change 3487813 by Dan.Oconnor
Asset demonstrating a crash
Change 3488101 by Marc.Audy
Fix crash with spawn/construct actor/object from class nodes when they no longer had any pins.
Correctly orphan pins when a node goes to 0 pins.
Change 3488337 by Marc.Audy
Editable pin base should not manually remove pin and let reconstruct node and rewire pins do their job
#jira UE-46020
Change 3488512 by Dan.Oconnor
ConstructObject nodes and SubInstances nodes use skeleton class when compilation manager can provide it
#jira UE-45830, UE-45965
#rnx
Change 3488631 by Michael.Noland
Framework: Fixed a crash when loading a blueprint with a parent class of ALevelBounds caused by trying to register the class default object with a non-existent level
#jira UE-45630
Change 3488665 by Michael.Noland
Blueprints: Improve the details panel customization for optional pin nodes like Struct Member Get/Set
- The category, raw name, and tooltip of the property are now included as part of the filter text as well
- The property tooltip is now displayed when hovering over the property name
- Code updated to use GET_MEMBER_NAME_CHECKED() where appropriate
Change 3489324 by Marc.Audy
Fix recursion causing stack crash
#jira UE-46038
#rnx
Change 3489326 by Marc.Audy
Fix cooking crash
#jira UE-46031
#rnx
Change 3489687 by mason.seay
Assets for testing orphan pins
Change 3489701 by Marc.Audy
Back out changelist 3487278 and 3489443 and make targetted changes for fixing up orphan pin cases where changing connections doesn't remove the pin.
#jira UE-46051
#jira UE-46052
#rnx
Change 3490352 by Dan.Oconnor
Fix for missing WidgetTree on Skeleton class - just look directly at the WidgetBlueprint
#jira UE-46062
Change 3490814 by Marc.Audy
Make callfunction/macro instances save all pins in orphan state more similar to previous behavior
#rnx
Change 3491022 by Dan.Oconnor
Properly clean up 'Key' property when we fail to create a value property
#jira UE-45279
Change 3491071 by Ben.Zeigler
#jira UE-45981 Fix rotation issues, vector/rotator pins with empty strings were not matching due to uninitialized memory.
Change 3491244 by Michael.Noland
Blueprints: Add compile time message back to the output log (will not auto-open the output log if there were no warnings/errors)
#jira UE-32948
Change 3491276 by Michael.Noland
Blueprints: Fixed some bugs where a newly added item would fail show up in the "My Blueprints" tree if there was a filter active (e.g., when promoting a variable)
- Centralized the logic for clearing the filter so it happens when we try and fail to select the item, rather than ad hoc in various other places
- Made it only clear the filter if necessary, rather than (almost) always clearing it when adding an item
#jira UE-43372
Change 3491562 by Marc.Audy
Put back pin removal in to editable pin base and instead modify the pin destroy implementation to take down child split pins with it
#jira UE-46020
#rnx
Change 3491658 by Marc.Audy
Unify RemoveUserDefinedPin implementations. Use version that has break to avoid size change assert
#rnx
Change 3491946 by Marc.Audy
ReconstructSinglePin no longer destroys OldPin (avoids oprhaned sub pins being destroyed before reparented)
RewireOldPinsToNewPins now destroys OldPins at the end (calling code no longer reponsible)
DestroyImpl now prunes out SubPins that had already been trashed
#rnx
Change 3492040 by Marc.Audy
Discard exec/then pins from a callfunction that has been converted to a pure node
#rnx
Change 3492200 by Zak.Middleton
#ue4 - Always reset the input array in AActor::GetComponents(), but do so without affecting allocated size.
Fixes possible regression from CL 3359561 that removed the Reset(...) entirely.
#jira UE-46012
Change 3492290 by Ben.Zeigler
#jira UE-46108 Fix StringLibrary Mid to never crash, Substring had already been fixed
Change 3492311 by Marc.Audy
Don't clear the pin type if what you're connecting to's pin type is wildcard
#rnx
Change 3492680 by Dan.Oconnor
Handle missing generated class when using compilation manager - tested by forcing compile of BP_ParentClassIsMissingType.uasset
Change 3492826 by Marc.Audy
Don't do pin connection list change notifications from DestroyPins while regenerating on load
#jira UE-46112
#rnx
Change 3492851 by Michael.Noland
Core: Fixed various crashes when using UObject::CallFunctionByNameWithArguments with non-trivial argument types by properly initializing the allocated parameters
Change 3492852 by Michael.Noland
Framework: Fixed a crash if ACharacter::FindComponentByClass was passed a nullptr class
Change 3492934 by Marc.Audy
Fix ensure and crash delete macro containing orphaned pin
#rnx
Change 3493079 by Dan.Oconnor
Fix for crash when opening ThirdPersonAnimBlueprint and ThirdPersonAnimBlueprint_Perf then clicking 'Compile' button in ThirdPersonAnimBlueprint editor. Make sure the convenience members in the derived compilers get set when we relink child classes (which requires making cdos, which requires PropagateValuesToCDO..)
#rnx
Change 3493346 by Phillip.Kavan
#jira UE-40560 - Fix a reported crash when pasting nodes between unrelated Blueprint graphs.
Change summary:
- Modified FEdGraphUtilities::PostProcessPastedNodes() to ensure() on a NULL pin entry; this will allow execution to continue while still alerting us since it is an unexpected result. Also added an 'else' case to then remove the NULL entry so that PostPasteNode() implementations don't all have to guard against NULL pin entries. When the node is reconstructed, the NULL entry will be replaced with the correct pin initialized to its default values.
- Modified UEdGraphPin::ImportTextItem() to add some additional logging to parse error cases when importing pin properties from source T3D text. Hopefully this gives us more information when this is encountered in the future.
Change 3493938 by Michael.Noland
Blueprints: Prevent issues with renaming event dispatchers to contain periods (this may be disallowed in the future, but they no longer become uneditable)
#jira UE-45780
Change 3493945 by Michael.Noland
Blueprints: Fixed GetDelegatePoperty typos
#rnx
Change 3493997 by Michael.Noland
Blueprints: Partially reverting changes from CL# 3319966 to reroute nodes, restoring their alignment but losing the symmetrical grab handle changes
#jira UE-45760
Change 3493998 by Dan.Oconnor
Fix rare crash in RefreshStandAloneDefaultsEditor when the blueprint editor is opened and a blueprint had errors in it
Note: I stumbled across this by running a unit test and then opening a blueprint in the BPE. CrashReporter indicates 3 crashes in the last 3 days
Change 3494025 by Michael.Noland
Engine: Deleted some dead code (DEBUGGING_VIEWPORT_SIZES)
#rnx
Change 3494026 by Michael.Noland
Blueprints: V0 of a BlueprintCallable/BlueprintPure function fuzzer
- Calls exposed methods with default parameters on classes it is able to spawn for now, which catches crashes due to null and /0 but not out of bounds issues or ones on classes it can't spawn due to classwithin, abstract, etc...
- Can be called using Test.ScriptFuzzing, won't be integrated into automated tests until it is more fully fleshed out and all known issues are addressed
#rnx
Change 3496382 by Ben.Zeigler
Fix ensure when launching editor with cook on the side and incremental cooking enabled. It now flushes the background asset gather when calling the sync load all assets if one is in progress
Change 3496688 by Marc.Audy
Avoid crashing in component instance data if (for some reason) the Actor's root component isn't properly set up
#jira UE-46073
Change 3496830 by Michael.Noland
Editor: Change FEditorCategoryUtils methods to take UStruct* instead of UClass*, as they are just reading metadata
#rnx
Change 3496840 by Michael.Noland
Framework: Remove the requirement for a local player in UCheatManager::CheatScript, so it can be be started from the server side (doesn't change the availability of the cheat manager, just allows things like the redundant "cheat cheatscript scriptname" to work)
Change 3497038 by Michael.Noland
Fortnite: Added UFortDeveloperSettings to allow developers to auto-run cheats in PIE (does not occur in -game or outside of WITH_EDITOR builds)
- You can specify a list of cheat commands to run when a pawn is possessed (also needs CL# 3496840 for cheatscripts)
- You can also specify a set of items to grant to your local inventory when it is created
Change 3497204 by Marc.Audy
Fix AbilitySystemComponent not being blueprint readable.
#rnx
Change 3497668 by Mieszko.Zielinski
Fixed a crash in BT editor when dealing with enum-typed Blackboard-keys pointing to enum values that have been deleted #UE4
#jira UE-43659
Change 3497677 by Mieszko.Zielinski
Added a community-suggested working solution to patching up dynamic navmesh after world offset #UE4
Also, fixed a crash related to navmesh rebuilding if generation was configured to lazily gather navigatble geometry
#jira UE-41293
Change 3497678 by Mieszko.Zielinski
Marked AbstractNavData class as transient #UE4
We never want to save it to levels
Change 3497679 by Mieszko.Zielinski
Made NavModifierVolume responsive to editor-time property changes #UE4
#jira UE-32831
Change 3497900 by Dan.Oconnor
Fix bad skel reference when using construct object from class, just limiting scope of 3491946. To reproduce the bug just nativize QA Game, including the TM-Gameplay level
#rnx
Change 3497904 by Dan.Oconnor
Use K2Node_Event::FindEventSignatureFunction in order when directly generating the skeleton generated class to get event params correct
#jira UE-46153
#rnx
Change 3497907 by Dan.Oconnor
Correctly set blueprint visibility flags on params for inherited functions when generating the skeleton class
#rnx
#jira UE-46186
Change 3498218 by mason.seay
Updates to pin testing BP's
Change 3498323 by Mieszko.Zielinski
Made UNavCollision instance assigned to StaticMesh not get re-created from scratch every single time any StaticMesh property changes #UE4
Recreation was resulting in some of the UNavCollision's properties not getting saved and the way we were recreating the nav collision could also interfere with undo buffers
#jira UE-44891
Change 3499007 by Marc.Audy
Allow systems to hook Pre and PostCompile to do custom behaviors
Change 3499013 by Mieszko.Zielinski
Made AbstractNavData class non-transient again #UE4
Implemented AbstractNavData instances' transientness in a different manner.
#jira UE-46194
Change 3499204 by Mieszko.Zielinski
Introduced CrowdManagerBase, an engine-level class that can be extended to implement custom crowd management #Orion
Extracted FRecastQueryFilter into a separate file, which will break some peoples' compilation.
#jira UE-43799
Change 3499321 by mason.seay
Updated bp for struct testing
Change 3499388 by Marc.Audy
Allow the compiler log to store off potential messages from earlier in the compile cycle (early validation), that can be committed later (for example once pruning is completed).
Change 3499390 by Marc.Audy
Generate the orphan pin error messages during EarlyValidation, but cache until the regular validation phase. This ensures all are generated, but only those that aren't pruned will be emitted.
#rnx
Change 3499420 by Michael.Noland
Engine: Introduced a new version of UEngine::GetWorldFromContextObject which takes an enum specifying the behavior on failures and updated all existing uses
The new version intentionally does not have a default value for ErrorMode, callers need to think about which variant of behavior they want:
- ReturnNull: Silently returns nullptr, the calling code is expected to handle this gracefully
- LogAndReturnNull: Raises a runtime error but still returns nullptr, the calling code is expected to handle this gracefully
- Assert: Asserts, the calling code is not expecting to handle a failure gracefully
- Deprecated UEngine::GetWorldFromContextObject(object, boolean) and changed the default behavior for the deprecated instances to do LogAndReturnNull rather than Assert, based on the real-world call pattern
- Introduced GetWorldFromContextObjectChecked(object) as a shorthand for passing in EGetWorldErrorMode::Assert
- Made UObject::GetWorldChecked() actually assert if it would return nullptr (under some cases the old function could silently return nullptr while reporting bSupported = true, so it neither ensured nor checked)
- Fixed a race condition in the 'is implemented' bookkeeping logic in GetWorld()/GetWorldChecked() by confining it to the game thread and added a check() to ImplementsGetWorld() to make it clear that it only works on the game thread
The typical recommended call pattern is to use something like:
if (UWorld* World = GEngine->GetWorldFromContextObject(WorldContextObject, EGetWorldErrorMode::LogAndReturnNull))
{
... Do something with World
}
Handling the failure case but requesting a log message (with BP call stack printed out) if it failed. This is now also the default behavior for old calls to UEngine::GetWorldFromContextObject(Object) (using the default value of bChecked=true), which is a behavior change but it matches how the function was being used in practice; the vast majority of call sites actually expected it to potentially fail and handled the nullptr case gracefully; very few places used the return value unguarded and wanted it to assert when passed a nullptr.
#jira UE-42458
Change 3499429 by Michael.Noland
Engine: Removed a bogus TODO (the problematic code had already been reworked)
#rnx
Change 3499470 by Michael.Noland
Core: Improved and corrected the comment for ensure()
- It doesn't crash when checking is disabled (and hasn't since UE3, maybe ever?)
- It now only fires once per ensure() by default, added a note about ensureAlways()
#rnx
Change 3499643 by Marc.Audy
Use TGuardValue instead of manually managing it
#rnx
Change 3499874 by Marc.Audy
Display <Unnamed> instead of nothing for Pins with blank display name in the compiler log
Change 3499875 by Marc.Audy
When changing function parameter types, don't orphan a pin on the function entry/exit nodes (but do at the call sites)
#jira UE-46224
Change 3499927 by Dan.Oconnor
UField::Serialize no longer serialize's its next ptr, UStruct::Serialize serializes all Children properties instead. This resolves a hard circular dependency between function libraries that EDL detected. It was resolved in an ad hoc way by the old linker
#jira UE-43458
Change 3499953 by Michael.Noland
Core: Created a variant of ensure that does runtime error logging without stopping in the debugger and some related functions that print a warning or error and may trigger a BP callstack (under the same rules as FFrame::KismetExecutionMessage)
- These are WIP and the API may change in the future, but are being used to fix various crashes found by fuzzing BP exposed functions
Change 3499957 by Michael.Noland
Animation: Added runtime errors for nullptr ControlRigs passed into BP methods
#rnx
Change 3499958 by Michael.Noland
Blueprints: Changed an ensure in UKismetNodeHelperLibrary::GetValidValue to a runtime error
#rnx
Change 3499959 by Michael.Noland
Engine: Downgrade various checks() to ensures() in the runtime asset cache functions exposed to Blueprints
Change 3499960 by Michael.Noland
AI: Changed UBTFunctionLibrary to not check/ensure if passed a null world context object
Change 3499968 by Michael.Noland
Editor: Fixed a couple of crashes in UEditorLevelUtils when passed nullptr arguments, and reformatted the entire file to fix widespread indentation issues
#rnx
Change 3499969 by Michael.Noland
Engine: Changed the verbosity of the failure log message of UEngine::GetWorldFromContextObject(..., LogAndReturnNull) from Warning to Error, so it always prints out a BP callstack
#rnx
Change 3499973 by Michael.Noland
Rendering: Fixed asserts in various UKismetRenderingLibrary methods if passed a nullptr for the WorldContextObject
- Also fixed flipped warnings in the failure cases for EndDrawCanvasToRenderTarget
Change 3499979 by Michael.Noland
Editor: Prevented a crash in UMaterialEditingLibrary::RecompileMaterial when passed a nullptr material
Change 3499984 by Michael.Noland
Physics: Prevented a crash in UTraceQueryTestResults::AssertEqual when passed in nullptr for Expected
Change 3499993 by Michael.Noland
Blueprints: Added validation when renaming variables, functions, components, multicast delegates, etc... to prevent names from containing some unacceptable characters
- This validation only kicks in when trying to rename an item, so bad names in existing content are 'grandfathered in'
- These bad names can cause bugs when working with content that contains these characters (e.g., names that contain a period cannot be found via FindObject<T>)
- Currently only . is banned, but eventually we may expand it to include all of INVALID_OBJECTNAME_CHARACTERS
Change 3500009 by Michael.Noland
Blueprints: Made the fuzzer skip classes declared in UnrealEd for now (some of the exposed methods change global state that can cause other tests to fail as the fuzzer isn't particularly sandboxed ATM)
#rnx
Change 3500011 by Michael.Noland
Android: Fixed a crash in UAndroidPermissionFunctionLibrary::AcquirePermissions when called with an empty array on non-Android platforms
Change 3500012 by Michael.Noland
Editor: Prevent a crash in UEditorTutorial::OpenAsset when passed a nullptr Asset
Change 3500014 by Michael.Noland
Engine: Changed FRuntimeAssetCacheFilesystemBackend::ClearCache(NAME_None) to not try to clear all cache directories (there is a separate no-args method for that)
Change 3500019 by Michael.Noland
Core: Fixed some more issues with CallFunctionByNameWithArguments and initializing / destroying parameters
- It was skipping the return value and incorrectly relying on the FirstPropertyToInit list which isn't set for by ref arguments
Change 3500020 by Michael.Noland
Automation: Prevent UFunctionalTestingManager::RunAllFunctionalTests and UFunctionalTestingManager* UFunctionalTestingManager::GetManager from crashing when a manager cannot be created (because we can't route to a world)
Change 3501062 by Marc.Audy
MakeArray AddInputPin is often used as part of node expansion, so need to move the transaction out of the function
Fix inability to undo/redo pin additions to sequence node
Add a K2Node_AddPinInterface to generalize the interface that K2Nodes implement to interact with SGraphNodeK2Sequence so it can be more generally used
#jira UE-46164
#jira UE-46270
Change 3501330 by Michael.Noland
AI: Fix an error on shutdown when the CDO of UAIPerceptionComponent tries to clean up (as it was never registered in the first place)
#jira UE-46271
Change 3501356 by Marc.Audy
Fix crash when multi-editing actor blueprints
#jira UE-46248
Change 3501408 by Michael.Noland
Core: Improve the print-out of FFrame::GetStackTrace() / FFrame::GetScriptCallstack() when there is no script stack (e.g., when FFrame::KismetExecutionMessage is called by native code with no BP above in the call stack)
Change 3501457 by Phillip.Kavan
#jira UE-46054 - Fix crash when launching a packaged build that includes a nativized Blueprint instance with a ChildActorComponent instanced via an AddComponent node.
Change summary:
- Removed UK2Node_AddComponent::PostDuplicate(). This eliminates the creation of redundant component templates that were being unnecessarily created during the Blueprint duplication that precedes the nativization pass.
- Modified SMyBlueprint::OnDuplicateAction() to call MakeNewComponentTemplate() in response to a graph duplication action within the same Blueprint context (replaces previous UK2Node_AddComponent::PostDuplicate() impl).
- Modified FEmitDefaultValueHelper::HandleSpecialTypes() to force AddComponent-based CAC-owned template objects in the emitted codegen to use the UDynamicClass as the Outer when instancing. This matches what we already do for SCS-based CAC-owned template objects - that logic was added in CL# 3270456, and this matches up with FBlueprintNativeCodeGenModule::FindReplacedNameAndOuter(), where we specifically handle CAC-owned template objects.
Change 3502741 by Phillip.Kavan
#jira UE-45782 - Fix undo for index pin type changes.
Change summary:
- Modified SGraphPinIndex::OnTypeChanged() to call Modify() on the pin that was changed.
Change 3502939 by Michael.Noland
Back out changelist 3499927
Change 3503087 by Marc.Audy
Re-fixed ocean content as editor had also changed so had to take theirs and redo
#rnx
Change 3503266 by Ben.Zeigler
#jira UE-46335 Fix regression added in 4.16 where AssetRegistry GetAncesorClassNames/GetDerivedClassNames were not working properly in cooked builds for classes not in memory
Change 3503325 by mason.seay
updated Anim BP to prep for pin testing
Change 3503445 by Marc.Audy
Fix crash caused by OldPins being destroyed before rewiring
#rnx
Change 3505024 by Marc.Audy
Fix NodeEffectsPanel blueprint as it was using pins that no longer existed
#rnx
Change 3505254 by Marc.Audy
Don't include orphan pins when gather source property names
If a property doesn't exist for a source property name just skip the property rather than crashing
#jira UE-46345
#rnx
Change 3506125 by Ben.Zeigler
#jira UE-46311 Fix issues when blueprints are reloaded in place, it needs to remove them from root properly and sanitize the old class. It's still not clear why they are being reloaded in place
Change 3506334 by Dan.Oconnor
Move UAnimGraphNode_Base::PreloadRequiredAssets up to K2Node, make sure nodes get a chance to preload data before compilation manager compiles newly loaded blueprints
#jira UE-46411
Change 3506439 by Dan.Oconnor
Return to pre 3488512 behavior for construct object nodes. This means that we can still get warnings on load when users compile after saving a blueprint, but the current behavior loses default values because it's lookng at the skeleton cdo
#jira UE-46308
Change 3506468 by Dan.Oconnor
Return to pre 3488512 behavior, as it causes bad default values
#jira UE-46414
#rnx
Change 3506733 by Marc.Audy
Use the most up to date class to determine whether a property still exists when adding pins during reconstruction
#jira UE-45965
#author Dan.OConnor
#rnx
Change 3507531 by Ben.Zeigler
#jira UE-46449 Better fix to flush the asset registry queue when the editor requests a synchronous scan at startup. Sometimes it can take a few frames because of file handle delays
Change 3507924 by mason.seay
Sanity save of TM-Gameplay and sublevels to maybe resolve level streaming issues
Change 3507962 by Marc.Audy
Remake changes from CL# 3150796 wiped out by WEX-Staging merge to Main in CL# 3479958
#rnx
Change 3509131 by Dan.Oconnor
Compilation manager compile on load flow never called FindExportsInMemoryFirst, which is critical to prevent reloading of UBlueprintGeneratedClasses when Rename clears the export table
#jira UE-46311
Change 3509345 by Marc.Audy
CVar to disable orphan pins if necessary
#rnx
Change 3509959 by Marc.Audy
Protect against crashing due to large values in Timespan From functions
#jira UE-43840
Change 3510040 by Marc.Audy
Remove all the old unneeded ShooterGame test maps
#rnx
[CL 3510073 by Marc Audy in Main branch]
2017-06-26 15:07:18 -04:00
if ( FActionList * ClassActionList = ActionRegistry . Find ( ActionsKey ) )
2014-08-08 15:35:56 -04:00
{
2014-08-11 18:39:28 -04:00
int32 & ActionListIndex = ActionIndex . Value ( ) ;
2019-03-04 10:23:33 -05:00
for ( ; ( ActionListIndex < ClassActionList - > Num ( ) ) & & ( PrimedCount < GBlueprintDatabasePrimingMaxPerFrame ) ; + + ActionListIndex )
2014-08-08 15:35:56 -04:00
{
2014-08-19 12:36:44 -04:00
UBlueprintNodeSpawner * Action = ( * ClassActionList ) [ ActionListIndex ] ;
2014-09-12 12:56:24 -04:00
Action - > Prime ( ) ;
2014-09-19 18:20:43 -04:00
+ + PrimedCount ;
2014-08-08 15:35:56 -04:00
}
2014-08-08 18:01:38 -04:00
2014-08-11 18:39:28 -04:00
if ( ActionListIndex > = ClassActionList - > Num ( ) )
2014-08-08 18:01:38 -04:00
{
2014-08-23 20:16:29 -04:00
ActionPrimingQueue . Remove ( ActionsKey ) ;
2014-08-08 18:01:38 -04:00
}
2014-08-08 15:35:56 -04:00
}
2014-08-11 18:39:28 -04:00
else
{
2014-08-23 20:16:29 -04:00
ActionPrimingQueue . Remove ( ActionsKey ) ;
2014-08-11 18:39:28 -04:00
}
}
else
{
2014-08-23 20:16:29 -04:00
ActionPrimingQueue . Remove ( ActionsKey ) ;
2014-08-08 15:35:56 -04:00
}
}
Copying //UE4/Dev-Framework to //UE4/Dev-Main (Source: //UE4/Dev-Framework @ 3510040)
#lockdown Nick.Penwarden
=====================================
MAJOR FEATURES + CHANGES
=====================================
Change 3459524 by Marc.Audy
Get/Set of properties that were previously BPRW/BPRO should error when used
#jira UE-20993
Change 3460004 by Phillip.Kavan
#jira UE-45171 - Fix C++ compilation failures during packaging caused by nativizing a Blueprint that overrides a native function with a 'TSubclassOf' parameter or return value.
Change summary:
- Modified FKismetCompilerContext::CreateParametersForFunction() to pass the 'CPF_UObjectWrapper' flag through to new function parameter properties during Blueprint compilation.
Change 3461210 by Phillip.Kavan
#jira UE-44505 - Fix occasional Blueprint editor crashes that could occur while rebuilding the context menu from the action registry.
Change summary:
- Modified FBlueprintActionDatabase::FActionRegistry to use an FObjectKey as the key type. This allows us to test entries for UObject validity before rebuilding context menu items based on the action database.
- Changed FBlueprintActionInfo::CachedOwnerClass to be a TWeakObjectPtr rather than a raw UClass* since it's based on the ActionOwner, which could potentially become invalid after the OwnerClass has been cached.
- Modified FBlueprintActionDatabase::RefreshAssetActions() to exclude World assets if the WorldType is not EWorldType::Editor. This eliminates an issue with unreferenced "inactive" GC'd world objects being left in the BP action registry after cooking, at which point the keys could become invalid.
- Added FBlueprintActionDatabase::DeferredRemoveEntry() to allow for scheduling removal of entries from outside of the database if they are known to be invalid.
- Modified FBlueprintActionDatabase::Tick() to handle deferred entry removals.
- Modified FBlueprintActionMenuBuilder::RebuildActionList() to both test actions for validity before building menu items and schedule removal of invalid actions on the next tick.
Notes:
- Alternatively we could just include UObject keys in the database's AddReferencedObject impl, but that would then prevent objects from ever being GC'd if they are not explicitly removed. For most entries the action database takes the approach of explicitly removing entries via delegate when the UObject is destroyed, so I chose to use a TWeakObjectPtr instead so that any entries that may not be getting explicitly removed via delegate will now simply become invalidated if the UObject key is GC'd due to not being referenced. I also set it up to clean and remove any entries (along with any associated node spawners) that are found to be invalid the next time we open the BP editor.
Change 3461373 by Lukasz.Furman
fixed async navmesh rebuilds not kicking in for requests from navdata.bForceRebuildOnLoad
#jira UE-44231
Change 3461409 by Lukasz.Furman
fixed reenabling automatic navmesh generation in Editor Preferences
#ue4
Change 3461550 by Ben.Zeigler
#jira UE-45328 Fix local variable support for Redirectors and other save-time validation. We need to run the local variables to UProperty and back at save time
Add new flag PPF_SerializedAsImportText which is used for BP pins/default values and indicates that something has been serialized as import text and so needs to handle string asset redirectors
Change 3462625 by Zak.Middleton
#ue4 - Fix InterpToMovementComponent not setting velocity on the object it moves. Fix movement rate when substepping enabled (other related fixes to come).
github PR #3620
Change 3462796 by Dan.Oconnor
Fix for spamming BroadcastBlueprintReinstanced and for creating CDO at wrong time when compiling FrontEnd.uasset in OrionGame
#jira UE-45434
Change 3462995 by Ben.Zeigler
#jira UE-16941 Fix it so Load Asset node works with a literal value as well as a connected pin
Change 3463099 by Ben.Zeigler
#jira UE-45471 Allow abstract base classes for primary assets
Change 3464809 by Marc.Audy
Expose FVector2D / FVector2D to blueprints
#jira UE-45427
Change 3467254 by Mieszko.Zielinski
Added an AI helper BP function that supplies caller with a copy of navigation path given controller is currently following #UE4
Change 3467644 by Dan.Oconnor
Fix for cook issues in ocean when using compilation manager, one issue caused by bad dependencies list, one issue caused by lack of subobject mapping in archetype reinstancing.
#jira UE-45443, UE-45444
Change 3468176 by Dan.Oconnor
Fix dependent blueprints being marked dirty when a blueprint is compiled
Change 3468353 by Michael.Noland
UnrealHeaderTool: Improved the warning generated when missing Category= on a function or property declared in an engine module, and centralized the logic that determines if the module is engine or game
Change 3470532 by Dan.Oconnor
Re-enable compilation manager
Change 3470572 by Dan.Oconnor
Fix for pin paramters resetting when an archetype was reinstanced
#jira UE-45619
#rnx
Change 3471949 by Mason.Seay
Adding Primary Assets for testing
Change 3472074 by Ben.Zeigler
#jira UE-45140 Convert iterative cooking to use the Asset Registry as it's only mode, remove old hash and timestamp versions. This allows deleting the entire PackageDependencyInfo module
Change the asset registry iteration to not compute a hash at all, and instead store the script package guids in it's cache.
Expose bIgnoreIniSettingsOutOfDateForIteration and bIgnoreScriptPackagesOutOfDateForIteration in cooker settings, affects rather to listen to ini/script changes when doing iterative cooking
Change 3472079 by Ben.Zeigler
With new incremental cook options, change Fortnite to never care about ini settings, but do care about code changes. This can be changed but from previous discussions we wanted to be more safe than fast here
Change 3473429 by Lukasz.Furman
changed path following update tick to allow working on "invalid, update pending" paths, solves AI getting stuck when navigation is rebuild very frequently (e.g. every tick from moving mesh)
#jira UE-41884
Change 3473476 by Lukasz.Furman
changed crowd simulation path update tick to allow working on "invalid, update pending" paths, solves AI getting stuck when navigation is rebuild very frequently (e.g. every tick from moving mesh)
#jira UE-41884
Change 3473663 by Ben.Zeigler
Fix it so base k2node registers framework version, this is needed for the assetptr fixup I previously added
Change 3473679 by Mason.Seay
Slight cleanup of test map and added ability to teleport across level for easy navigation
Change 3473712 by Marc.Audy
Do default value validation against the actual value of the default entry of an enum rather than the serialized empty autogenerated default value
Change 3474055 by Marc.Audy
When nodes are reconstructed any pins that were previously linked or set to non-default values that have been removed will no longer simply vanish, but instead will remain in an Orphaned state until dealt with.
#jira UE-41828
Change 3474119 by mason.seay
Tweaked Force Feedback test
Change 3474156 by Marc.Audy
Actually enable orphan pin retention
Change 3474382 by Ben.Zeigler
Class.h Header and comment cleanup. Started this because IsChildOf did not have a comment and it's usage is a bit confusing
Change 3474386 by Ben.Zeigler
Close popup window when adding asset class to audit window
Change 3474491 by Ben.Zeigler
Remove ability for Worlds to not be saved as assets, this has been the default since 2014.
Change 3475363 by Marc.Audy
Alt-click now works with orphaned pins
#jira UE-45699
Change 3475523 by Marc.Audy
Fixup Fortnite and Paragon content for orphaned pin errors and warnings
Change 3475623 by Phillip.Kavan
#jira UE-45477 - Fix an EDL assertion on load in a nativized build with one or more Actor subobjects instanced via the EditInlineNew UI in the BP class defaults property editor.
Change summary:
- Modified FEmitDefaultValueHelper::OuterGenerate() to emit code to construct/initialize instanced subobject values that do not have the RF_DefaultSubObject flag set, and also to recursively handle nested subobjects for those values.
- Modified FEmitDefaultValueHelper::HandleInstancedSubobject() to alternatively emit a 'NewObject' assignment statement rather than a 'CreateDefaultSubobject' statement if only RF_ArchetypeObject is set on the source object value.
Change 3476008 by Dan.Oconnor
Fix for failing to preload our super class's subobjects. Effectively moving UBlueprint::ForceLoad calls earlier in loading process. This only results in data resetting to your parent's parent's default value from your parent's default value.
#jira UE-18765
Change 3476115 by Dan.Oconnor
Fix missing category information for inherited functions when using compilation manager
#jira UE-45660
#rnx
Change 3476577 by Lukasz.Furman
added early outs from navmesh layer generation when there's no walkable cells or contours to avoid allocating 0 bytes by next generation steps (behavior differs between platforms)
#ue4
Change 3476587 by Phillip.Kavan
#jira UE-45517 - Fix a regression in which dragging UMG widgets around in the designer view results in redundantly-compounded BP class properties and context menu actions.
Change summary:
- Modified SDesignerView::ClearDropPreviews() to move the widget that was removed from the tree into the transient package. This ensures that FWidgetBlueprintCompiler::CreateClassVariablesFromBlueprint() won't pick them up.
- Modified SDesignerView::ProcessDropAndAddWidget() to also consider any widgets not added to the 'DropPreviews' array as being transient (i.e. also move them into the transient package since they were not added to the tree).
Notes:
- The regression was introduced by the changes in CL# 3410168, and was merged to Main at CL# 3431398.
#rnx
Change 3476723 by Dan.Oconnor
Match old behavior wrt updating implemented interfaces in blueprints - this logic from FKismetEditorUtilities::CompileBlueprint was missing in compilation manager
#jira UE-45468
#rnx
Change 3476948 by Michael.Noland
Framework: Changed AActor::FindComponentByClass (and AActor::GetComponentByClass by extension) to return nullptr when passed a nullptr class, rather than crashing
Change 3476970 by Ben.Zeigler
Fix bug I introduced in 4.16 where assigning assets to multiple chunks did not work properly
Change 3477536 by Marc.Audy
Don't display default value box on linked orphaned input pins
Change 3477835 by Marc.Audy
Fix pins orphaned by deletion of an entry in a user-defined enum disappearing instead of remaining connected
#jira UE-45754
Change 3478027 by Marc.Audy
Minor performance optimization
#rnx
Change 3478198 by Phillip.Kavan
#jira UE-42431 - Remove an unnecessary ensure() when pasting an event node.
Change summary:
- Modified UEdGraphSchema_K2::CreateSubstituteNode() to no longer ensure() that we have a valid PreExistingNode; it's only used for logging when a substitute node is created in response to a conflict with an existing node.
Change 3478485 by Marc.Audy
Eliminate extraneous error messages about orphaned pins on get/set nodes
#jira UE-45749
#rnx
Change 3478756 by Marc.Audy
Fix fallout from changes to DoesDefaultValueMatchAutogenerated for user defined enums
#jira UE-45721
#rnx
Change 3478926 by Marc.Audy
Non-blueprint type structs can no longer be made/broken
Non-blueprint visible properties in structs will no longer have pins created for them
#jira UE-43122
Change 3478988 by Marc.Audy
DeltaTime for a tick function with a tick interval is now correct after disabling and then reenabling the tick function.
#jira UE-45524
Change 3479818 by Marc.Audy
Allow ctrl-drag off of orphan pins
#jira UE-45803
Change 3480214 by Marc.Audy
Modifications to user defined enumerations are now transacted
#jira UE-43866
Change 3480579 by Marc.Audy
Maintain all pin properties through transactions.
#rn Reference pins that are removed and then restored via undo now correctly have the diamond icon instead of the standard circle.
Change 3481043 by Marc.Audy
Make/Break of structs does not depend on having blueprint exposed properties.
Splitting of a struct pin still requires blueprint exposed properties.
#jira UE-45840
#jira UE-45831
Change 3481271 by Ben.Zeigler
Fix the AssetManager chunking code to use ChunkDependencyInfo instead of a hardcoded check for chunk 0
Clean up ChunkDependencyInfo and make it properly public
Move ShouldSetManager to be WITH_EDITOR
Ported from WEX branch
#RB peter.sauerbrei
Change 3481373 by Dan.Oconnor
Reduce reliance on expensive FindDelegateSignature. 3275922 made warnings about a ambiguous search more likely as it preserved names of members on the REINST_ classes
#jira UE-45704
Change 3481380 by Ben.Zeigler
Change it so Struct and Object AssetRegistrySearchable properties do not show up in content browser, they are not helpful
Change 3482362 by Marc.Audy
Fix properties not exposed to blueprint warnings for input properties on function graphs.
#jira UE-45824
Change 3482406 by Ben.Zeigler
#jira UE-45883 Fix Switch On Gameplay Tag Container node, and add switch nodes to TagCheck map
Change 3482498 by Ben.Zeigler
Attempt to fix hot reload issues with Asset Manager. We need to reset and re-acquire the asset classes when rescanning, as they may be pointing to the replaced class
Change 3482517 by Lukasz.Furman
fixed smart navlink update functions removing important flag
#jira UE-45875
Change 3482538 by Marc.Audy
When comparing float, vector, and rotator values for whether the the default matches the autogenerated do not use the string compare because differences in use of decimal or number of 0s after decimal are then considered not the same float
#jira UE-45846
Change 3482773 by Marc.Audy
Don't show default value or pass by reference for exec pins
#jira UE-45868
Change 3482791 by Ben.Zeigler
#jira UE-45800 Correctly dirty game mode blueprint when changing player controller/etc classes from game mode customization
Fix it so MarkBlueprintAsStructurallyModified calls MarkBlueprintAsModified as several fixes were only in the second function
Change 3483131 by Zak.Middleton
#ue4 - InterpToMovementComponent:
- Fix velocity not zeroed when interpolation stops.
- Various fixes when calculating velocity and time when substepping is enabled.
- Improve accuracy of interpolation when looping and there is time remaining after the loop event is hit. Consume the remainder of the time after the event back in the loop (similar to handling a blocking impact).
#jira UE-45690
Change 3483146 by Phillip.Kavan
#jira UE-38358 - Propagate 'const' function flag from interface Blueprint to implementing Blueprints.
Change summary:
- Modified FBlueprintEditorUtils::MarkBlueprintAsStructurallyModified() to call SkeletalRecompileChildren() on dependent BPs when the target is an interface BP.
- Modified FBlueprintEditorUtils::MarkBlueprintAsStructurallyModified::FRefreshHelper::SkeletalRecompileChildren() to set child BP status to BS_Dirty after compiling.
- Modified ConformInterfaceByName() (FBlueprintEditorUtils) to use the interface's skeleton class for function iteration as well as to match the Function Entry node's 'const' setting to the interface UFunction's signature.
Change 3483340 by Ben.Zeigler
Fix issue querying asset registry after a hot reload, make sure pending kill objects are never considered to be Assets
Change 3483548 by Michael.Noland
Epic Friday: Playing around with some prototype traps
Change 3483700 by Phillip.Kavan
Fix CIS cook crash introduced by last submit.
#rnx
Change 3485217 by Ben.Zeigler
#jira UE-45519 Fix regression introduced in 4.16 where it would no longer cook all maps when no explicit maps were specified in ini or game callback. Moved the code that detects changes before culture/default map code and hardened it to deal with the case where some engine packages were already in the list before it entered the function
Change 3485367 by Dan.Oconnor
Avoid adding mappings to anim node when creating variables on the skeleton class and using the compilation manager
#jira UE-45756
Change 3485565 by Ben.Zeigler
#jira UE-45948 Fix compilation manager to properly reset variable default values after promoting a pin to local variable
Change 3485566 by Marc.Audy
Fix crashes caused by undo/redo of user defined struct changes
#jira UE-45775
#jira UE-45781
Change 3485805 by Michael.Noland
PR #3459: Fix for world origin shifting and SpringArmComponent location lag (Contributed by michail-nikolaev)
#jira UE-43747
Change 3485807 by Michael.Noland
PR #3485: Added additional textures field to paper 2d tileset class (Contributed by gryphonmyers)
#jira UE-44041
Change 3485811 by Michael.Noland
Framework: Fixed a bug in FStreamLevelAction::MakeSafeLevelName to avoid appending the PIE prefix multiple times (fixes functions like Unload Streaming Level when passed a full package name from an instanced streaming level)
Change 3485829 by Michael.Noland
Framework: Made GetWorldAssetPackageFName BlueprintCallable so instanced levels can be unloaded
Change 3485830 by Michael.Noland
PR #3568: add API declarations to ALevelStreamingVolume methods (Contributed by kayama-shift)
#jira UE-45002
Change 3486039 by Michael.Noland
PR #3495: UE-44014: Refreshing node error fixes (Contributed by projectgheist)
- Empty out the ErrorMsg when a node gets refreshed to prevent the same error messages from compounding
- Added support for split pins in UK2Node_Event::IsFunctionEntryCompatible
- Added a missing check for the delegate pin name on the entry node part of UK2Node_Event::IsFunctionEntryCompatible
#jira UE-44014
Change 3486093 by Michael.Noland
PR #3379: Added GAMEPLAYABILITIES_API to all Ability Tasks. (Contributed by ryanjon2040)
#jira UE-42903
Change 3486139 by Michael.Noland
Blueprints: Added new config options for execution wire thickness when not debugging (DefaultExecutionWireThickness) and data wire thicknesses (DefaultDataWireThickness) to the Graph Editor Settings page
#rn
Change 3486154 by Michael.Noland
Framework: Speculative fix for CIS error about FStructOnScope
#rnx
Change 3486180 by Dan.Oconnor
Better match old logic for determining when to skip data only compile
#jira UE-45830
Change 3487276 by Marc.Audy
Fix crash when using Setter with a locally scoped variable
#rnx
Change 3487278 by Marc.Audy
Ensure that pin change notifications occur on all pin breaks unless it is part of a node being garbage collected
Change 3487658 by Marc.Audy
Ensure that child actor template is created for subclasses
#jira UE-45985
Change 3487699 by Marc.Audy
Move non-templated elements out of FArchiveReplaceObjectRef and put them in FArchiveReplaceObjectRefBase
Change 3487813 by Dan.Oconnor
Asset demonstrating a crash
Change 3488101 by Marc.Audy
Fix crash with spawn/construct actor/object from class nodes when they no longer had any pins.
Correctly orphan pins when a node goes to 0 pins.
Change 3488337 by Marc.Audy
Editable pin base should not manually remove pin and let reconstruct node and rewire pins do their job
#jira UE-46020
Change 3488512 by Dan.Oconnor
ConstructObject nodes and SubInstances nodes use skeleton class when compilation manager can provide it
#jira UE-45830, UE-45965
#rnx
Change 3488631 by Michael.Noland
Framework: Fixed a crash when loading a blueprint with a parent class of ALevelBounds caused by trying to register the class default object with a non-existent level
#jira UE-45630
Change 3488665 by Michael.Noland
Blueprints: Improve the details panel customization for optional pin nodes like Struct Member Get/Set
- The category, raw name, and tooltip of the property are now included as part of the filter text as well
- The property tooltip is now displayed when hovering over the property name
- Code updated to use GET_MEMBER_NAME_CHECKED() where appropriate
Change 3489324 by Marc.Audy
Fix recursion causing stack crash
#jira UE-46038
#rnx
Change 3489326 by Marc.Audy
Fix cooking crash
#jira UE-46031
#rnx
Change 3489687 by mason.seay
Assets for testing orphan pins
Change 3489701 by Marc.Audy
Back out changelist 3487278 and 3489443 and make targetted changes for fixing up orphan pin cases where changing connections doesn't remove the pin.
#jira UE-46051
#jira UE-46052
#rnx
Change 3490352 by Dan.Oconnor
Fix for missing WidgetTree on Skeleton class - just look directly at the WidgetBlueprint
#jira UE-46062
Change 3490814 by Marc.Audy
Make callfunction/macro instances save all pins in orphan state more similar to previous behavior
#rnx
Change 3491022 by Dan.Oconnor
Properly clean up 'Key' property when we fail to create a value property
#jira UE-45279
Change 3491071 by Ben.Zeigler
#jira UE-45981 Fix rotation issues, vector/rotator pins with empty strings were not matching due to uninitialized memory.
Change 3491244 by Michael.Noland
Blueprints: Add compile time message back to the output log (will not auto-open the output log if there were no warnings/errors)
#jira UE-32948
Change 3491276 by Michael.Noland
Blueprints: Fixed some bugs where a newly added item would fail show up in the "My Blueprints" tree if there was a filter active (e.g., when promoting a variable)
- Centralized the logic for clearing the filter so it happens when we try and fail to select the item, rather than ad hoc in various other places
- Made it only clear the filter if necessary, rather than (almost) always clearing it when adding an item
#jira UE-43372
Change 3491562 by Marc.Audy
Put back pin removal in to editable pin base and instead modify the pin destroy implementation to take down child split pins with it
#jira UE-46020
#rnx
Change 3491658 by Marc.Audy
Unify RemoveUserDefinedPin implementations. Use version that has break to avoid size change assert
#rnx
Change 3491946 by Marc.Audy
ReconstructSinglePin no longer destroys OldPin (avoids oprhaned sub pins being destroyed before reparented)
RewireOldPinsToNewPins now destroys OldPins at the end (calling code no longer reponsible)
DestroyImpl now prunes out SubPins that had already been trashed
#rnx
Change 3492040 by Marc.Audy
Discard exec/then pins from a callfunction that has been converted to a pure node
#rnx
Change 3492200 by Zak.Middleton
#ue4 - Always reset the input array in AActor::GetComponents(), but do so without affecting allocated size.
Fixes possible regression from CL 3359561 that removed the Reset(...) entirely.
#jira UE-46012
Change 3492290 by Ben.Zeigler
#jira UE-46108 Fix StringLibrary Mid to never crash, Substring had already been fixed
Change 3492311 by Marc.Audy
Don't clear the pin type if what you're connecting to's pin type is wildcard
#rnx
Change 3492680 by Dan.Oconnor
Handle missing generated class when using compilation manager - tested by forcing compile of BP_ParentClassIsMissingType.uasset
Change 3492826 by Marc.Audy
Don't do pin connection list change notifications from DestroyPins while regenerating on load
#jira UE-46112
#rnx
Change 3492851 by Michael.Noland
Core: Fixed various crashes when using UObject::CallFunctionByNameWithArguments with non-trivial argument types by properly initializing the allocated parameters
Change 3492852 by Michael.Noland
Framework: Fixed a crash if ACharacter::FindComponentByClass was passed a nullptr class
Change 3492934 by Marc.Audy
Fix ensure and crash delete macro containing orphaned pin
#rnx
Change 3493079 by Dan.Oconnor
Fix for crash when opening ThirdPersonAnimBlueprint and ThirdPersonAnimBlueprint_Perf then clicking 'Compile' button in ThirdPersonAnimBlueprint editor. Make sure the convenience members in the derived compilers get set when we relink child classes (which requires making cdos, which requires PropagateValuesToCDO..)
#rnx
Change 3493346 by Phillip.Kavan
#jira UE-40560 - Fix a reported crash when pasting nodes between unrelated Blueprint graphs.
Change summary:
- Modified FEdGraphUtilities::PostProcessPastedNodes() to ensure() on a NULL pin entry; this will allow execution to continue while still alerting us since it is an unexpected result. Also added an 'else' case to then remove the NULL entry so that PostPasteNode() implementations don't all have to guard against NULL pin entries. When the node is reconstructed, the NULL entry will be replaced with the correct pin initialized to its default values.
- Modified UEdGraphPin::ImportTextItem() to add some additional logging to parse error cases when importing pin properties from source T3D text. Hopefully this gives us more information when this is encountered in the future.
Change 3493938 by Michael.Noland
Blueprints: Prevent issues with renaming event dispatchers to contain periods (this may be disallowed in the future, but they no longer become uneditable)
#jira UE-45780
Change 3493945 by Michael.Noland
Blueprints: Fixed GetDelegatePoperty typos
#rnx
Change 3493997 by Michael.Noland
Blueprints: Partially reverting changes from CL# 3319966 to reroute nodes, restoring their alignment but losing the symmetrical grab handle changes
#jira UE-45760
Change 3493998 by Dan.Oconnor
Fix rare crash in RefreshStandAloneDefaultsEditor when the blueprint editor is opened and a blueprint had errors in it
Note: I stumbled across this by running a unit test and then opening a blueprint in the BPE. CrashReporter indicates 3 crashes in the last 3 days
Change 3494025 by Michael.Noland
Engine: Deleted some dead code (DEBUGGING_VIEWPORT_SIZES)
#rnx
Change 3494026 by Michael.Noland
Blueprints: V0 of a BlueprintCallable/BlueprintPure function fuzzer
- Calls exposed methods with default parameters on classes it is able to spawn for now, which catches crashes due to null and /0 but not out of bounds issues or ones on classes it can't spawn due to classwithin, abstract, etc...
- Can be called using Test.ScriptFuzzing, won't be integrated into automated tests until it is more fully fleshed out and all known issues are addressed
#rnx
Change 3496382 by Ben.Zeigler
Fix ensure when launching editor with cook on the side and incremental cooking enabled. It now flushes the background asset gather when calling the sync load all assets if one is in progress
Change 3496688 by Marc.Audy
Avoid crashing in component instance data if (for some reason) the Actor's root component isn't properly set up
#jira UE-46073
Change 3496830 by Michael.Noland
Editor: Change FEditorCategoryUtils methods to take UStruct* instead of UClass*, as they are just reading metadata
#rnx
Change 3496840 by Michael.Noland
Framework: Remove the requirement for a local player in UCheatManager::CheatScript, so it can be be started from the server side (doesn't change the availability of the cheat manager, just allows things like the redundant "cheat cheatscript scriptname" to work)
Change 3497038 by Michael.Noland
Fortnite: Added UFortDeveloperSettings to allow developers to auto-run cheats in PIE (does not occur in -game or outside of WITH_EDITOR builds)
- You can specify a list of cheat commands to run when a pawn is possessed (also needs CL# 3496840 for cheatscripts)
- You can also specify a set of items to grant to your local inventory when it is created
Change 3497204 by Marc.Audy
Fix AbilitySystemComponent not being blueprint readable.
#rnx
Change 3497668 by Mieszko.Zielinski
Fixed a crash in BT editor when dealing with enum-typed Blackboard-keys pointing to enum values that have been deleted #UE4
#jira UE-43659
Change 3497677 by Mieszko.Zielinski
Added a community-suggested working solution to patching up dynamic navmesh after world offset #UE4
Also, fixed a crash related to navmesh rebuilding if generation was configured to lazily gather navigatble geometry
#jira UE-41293
Change 3497678 by Mieszko.Zielinski
Marked AbstractNavData class as transient #UE4
We never want to save it to levels
Change 3497679 by Mieszko.Zielinski
Made NavModifierVolume responsive to editor-time property changes #UE4
#jira UE-32831
Change 3497900 by Dan.Oconnor
Fix bad skel reference when using construct object from class, just limiting scope of 3491946. To reproduce the bug just nativize QA Game, including the TM-Gameplay level
#rnx
Change 3497904 by Dan.Oconnor
Use K2Node_Event::FindEventSignatureFunction in order when directly generating the skeleton generated class to get event params correct
#jira UE-46153
#rnx
Change 3497907 by Dan.Oconnor
Correctly set blueprint visibility flags on params for inherited functions when generating the skeleton class
#rnx
#jira UE-46186
Change 3498218 by mason.seay
Updates to pin testing BP's
Change 3498323 by Mieszko.Zielinski
Made UNavCollision instance assigned to StaticMesh not get re-created from scratch every single time any StaticMesh property changes #UE4
Recreation was resulting in some of the UNavCollision's properties not getting saved and the way we were recreating the nav collision could also interfere with undo buffers
#jira UE-44891
Change 3499007 by Marc.Audy
Allow systems to hook Pre and PostCompile to do custom behaviors
Change 3499013 by Mieszko.Zielinski
Made AbstractNavData class non-transient again #UE4
Implemented AbstractNavData instances' transientness in a different manner.
#jira UE-46194
Change 3499204 by Mieszko.Zielinski
Introduced CrowdManagerBase, an engine-level class that can be extended to implement custom crowd management #Orion
Extracted FRecastQueryFilter into a separate file, which will break some peoples' compilation.
#jira UE-43799
Change 3499321 by mason.seay
Updated bp for struct testing
Change 3499388 by Marc.Audy
Allow the compiler log to store off potential messages from earlier in the compile cycle (early validation), that can be committed later (for example once pruning is completed).
Change 3499390 by Marc.Audy
Generate the orphan pin error messages during EarlyValidation, but cache until the regular validation phase. This ensures all are generated, but only those that aren't pruned will be emitted.
#rnx
Change 3499420 by Michael.Noland
Engine: Introduced a new version of UEngine::GetWorldFromContextObject which takes an enum specifying the behavior on failures and updated all existing uses
The new version intentionally does not have a default value for ErrorMode, callers need to think about which variant of behavior they want:
- ReturnNull: Silently returns nullptr, the calling code is expected to handle this gracefully
- LogAndReturnNull: Raises a runtime error but still returns nullptr, the calling code is expected to handle this gracefully
- Assert: Asserts, the calling code is not expecting to handle a failure gracefully
- Deprecated UEngine::GetWorldFromContextObject(object, boolean) and changed the default behavior for the deprecated instances to do LogAndReturnNull rather than Assert, based on the real-world call pattern
- Introduced GetWorldFromContextObjectChecked(object) as a shorthand for passing in EGetWorldErrorMode::Assert
- Made UObject::GetWorldChecked() actually assert if it would return nullptr (under some cases the old function could silently return nullptr while reporting bSupported = true, so it neither ensured nor checked)
- Fixed a race condition in the 'is implemented' bookkeeping logic in GetWorld()/GetWorldChecked() by confining it to the game thread and added a check() to ImplementsGetWorld() to make it clear that it only works on the game thread
The typical recommended call pattern is to use something like:
if (UWorld* World = GEngine->GetWorldFromContextObject(WorldContextObject, EGetWorldErrorMode::LogAndReturnNull))
{
... Do something with World
}
Handling the failure case but requesting a log message (with BP call stack printed out) if it failed. This is now also the default behavior for old calls to UEngine::GetWorldFromContextObject(Object) (using the default value of bChecked=true), which is a behavior change but it matches how the function was being used in practice; the vast majority of call sites actually expected it to potentially fail and handled the nullptr case gracefully; very few places used the return value unguarded and wanted it to assert when passed a nullptr.
#jira UE-42458
Change 3499429 by Michael.Noland
Engine: Removed a bogus TODO (the problematic code had already been reworked)
#rnx
Change 3499470 by Michael.Noland
Core: Improved and corrected the comment for ensure()
- It doesn't crash when checking is disabled (and hasn't since UE3, maybe ever?)
- It now only fires once per ensure() by default, added a note about ensureAlways()
#rnx
Change 3499643 by Marc.Audy
Use TGuardValue instead of manually managing it
#rnx
Change 3499874 by Marc.Audy
Display <Unnamed> instead of nothing for Pins with blank display name in the compiler log
Change 3499875 by Marc.Audy
When changing function parameter types, don't orphan a pin on the function entry/exit nodes (but do at the call sites)
#jira UE-46224
Change 3499927 by Dan.Oconnor
UField::Serialize no longer serialize's its next ptr, UStruct::Serialize serializes all Children properties instead. This resolves a hard circular dependency between function libraries that EDL detected. It was resolved in an ad hoc way by the old linker
#jira UE-43458
Change 3499953 by Michael.Noland
Core: Created a variant of ensure that does runtime error logging without stopping in the debugger and some related functions that print a warning or error and may trigger a BP callstack (under the same rules as FFrame::KismetExecutionMessage)
- These are WIP and the API may change in the future, but are being used to fix various crashes found by fuzzing BP exposed functions
Change 3499957 by Michael.Noland
Animation: Added runtime errors for nullptr ControlRigs passed into BP methods
#rnx
Change 3499958 by Michael.Noland
Blueprints: Changed an ensure in UKismetNodeHelperLibrary::GetValidValue to a runtime error
#rnx
Change 3499959 by Michael.Noland
Engine: Downgrade various checks() to ensures() in the runtime asset cache functions exposed to Blueprints
Change 3499960 by Michael.Noland
AI: Changed UBTFunctionLibrary to not check/ensure if passed a null world context object
Change 3499968 by Michael.Noland
Editor: Fixed a couple of crashes in UEditorLevelUtils when passed nullptr arguments, and reformatted the entire file to fix widespread indentation issues
#rnx
Change 3499969 by Michael.Noland
Engine: Changed the verbosity of the failure log message of UEngine::GetWorldFromContextObject(..., LogAndReturnNull) from Warning to Error, so it always prints out a BP callstack
#rnx
Change 3499973 by Michael.Noland
Rendering: Fixed asserts in various UKismetRenderingLibrary methods if passed a nullptr for the WorldContextObject
- Also fixed flipped warnings in the failure cases for EndDrawCanvasToRenderTarget
Change 3499979 by Michael.Noland
Editor: Prevented a crash in UMaterialEditingLibrary::RecompileMaterial when passed a nullptr material
Change 3499984 by Michael.Noland
Physics: Prevented a crash in UTraceQueryTestResults::AssertEqual when passed in nullptr for Expected
Change 3499993 by Michael.Noland
Blueprints: Added validation when renaming variables, functions, components, multicast delegates, etc... to prevent names from containing some unacceptable characters
- This validation only kicks in when trying to rename an item, so bad names in existing content are 'grandfathered in'
- These bad names can cause bugs when working with content that contains these characters (e.g., names that contain a period cannot be found via FindObject<T>)
- Currently only . is banned, but eventually we may expand it to include all of INVALID_OBJECTNAME_CHARACTERS
Change 3500009 by Michael.Noland
Blueprints: Made the fuzzer skip classes declared in UnrealEd for now (some of the exposed methods change global state that can cause other tests to fail as the fuzzer isn't particularly sandboxed ATM)
#rnx
Change 3500011 by Michael.Noland
Android: Fixed a crash in UAndroidPermissionFunctionLibrary::AcquirePermissions when called with an empty array on non-Android platforms
Change 3500012 by Michael.Noland
Editor: Prevent a crash in UEditorTutorial::OpenAsset when passed a nullptr Asset
Change 3500014 by Michael.Noland
Engine: Changed FRuntimeAssetCacheFilesystemBackend::ClearCache(NAME_None) to not try to clear all cache directories (there is a separate no-args method for that)
Change 3500019 by Michael.Noland
Core: Fixed some more issues with CallFunctionByNameWithArguments and initializing / destroying parameters
- It was skipping the return value and incorrectly relying on the FirstPropertyToInit list which isn't set for by ref arguments
Change 3500020 by Michael.Noland
Automation: Prevent UFunctionalTestingManager::RunAllFunctionalTests and UFunctionalTestingManager* UFunctionalTestingManager::GetManager from crashing when a manager cannot be created (because we can't route to a world)
Change 3501062 by Marc.Audy
MakeArray AddInputPin is often used as part of node expansion, so need to move the transaction out of the function
Fix inability to undo/redo pin additions to sequence node
Add a K2Node_AddPinInterface to generalize the interface that K2Nodes implement to interact with SGraphNodeK2Sequence so it can be more generally used
#jira UE-46164
#jira UE-46270
Change 3501330 by Michael.Noland
AI: Fix an error on shutdown when the CDO of UAIPerceptionComponent tries to clean up (as it was never registered in the first place)
#jira UE-46271
Change 3501356 by Marc.Audy
Fix crash when multi-editing actor blueprints
#jira UE-46248
Change 3501408 by Michael.Noland
Core: Improve the print-out of FFrame::GetStackTrace() / FFrame::GetScriptCallstack() when there is no script stack (e.g., when FFrame::KismetExecutionMessage is called by native code with no BP above in the call stack)
Change 3501457 by Phillip.Kavan
#jira UE-46054 - Fix crash when launching a packaged build that includes a nativized Blueprint instance with a ChildActorComponent instanced via an AddComponent node.
Change summary:
- Removed UK2Node_AddComponent::PostDuplicate(). This eliminates the creation of redundant component templates that were being unnecessarily created during the Blueprint duplication that precedes the nativization pass.
- Modified SMyBlueprint::OnDuplicateAction() to call MakeNewComponentTemplate() in response to a graph duplication action within the same Blueprint context (replaces previous UK2Node_AddComponent::PostDuplicate() impl).
- Modified FEmitDefaultValueHelper::HandleSpecialTypes() to force AddComponent-based CAC-owned template objects in the emitted codegen to use the UDynamicClass as the Outer when instancing. This matches what we already do for SCS-based CAC-owned template objects - that logic was added in CL# 3270456, and this matches up with FBlueprintNativeCodeGenModule::FindReplacedNameAndOuter(), where we specifically handle CAC-owned template objects.
Change 3502741 by Phillip.Kavan
#jira UE-45782 - Fix undo for index pin type changes.
Change summary:
- Modified SGraphPinIndex::OnTypeChanged() to call Modify() on the pin that was changed.
Change 3502939 by Michael.Noland
Back out changelist 3499927
Change 3503087 by Marc.Audy
Re-fixed ocean content as editor had also changed so had to take theirs and redo
#rnx
Change 3503266 by Ben.Zeigler
#jira UE-46335 Fix regression added in 4.16 where AssetRegistry GetAncesorClassNames/GetDerivedClassNames were not working properly in cooked builds for classes not in memory
Change 3503325 by mason.seay
updated Anim BP to prep for pin testing
Change 3503445 by Marc.Audy
Fix crash caused by OldPins being destroyed before rewiring
#rnx
Change 3505024 by Marc.Audy
Fix NodeEffectsPanel blueprint as it was using pins that no longer existed
#rnx
Change 3505254 by Marc.Audy
Don't include orphan pins when gather source property names
If a property doesn't exist for a source property name just skip the property rather than crashing
#jira UE-46345
#rnx
Change 3506125 by Ben.Zeigler
#jira UE-46311 Fix issues when blueprints are reloaded in place, it needs to remove them from root properly and sanitize the old class. It's still not clear why they are being reloaded in place
Change 3506334 by Dan.Oconnor
Move UAnimGraphNode_Base::PreloadRequiredAssets up to K2Node, make sure nodes get a chance to preload data before compilation manager compiles newly loaded blueprints
#jira UE-46411
Change 3506439 by Dan.Oconnor
Return to pre 3488512 behavior for construct object nodes. This means that we can still get warnings on load when users compile after saving a blueprint, but the current behavior loses default values because it's lookng at the skeleton cdo
#jira UE-46308
Change 3506468 by Dan.Oconnor
Return to pre 3488512 behavior, as it causes bad default values
#jira UE-46414
#rnx
Change 3506733 by Marc.Audy
Use the most up to date class to determine whether a property still exists when adding pins during reconstruction
#jira UE-45965
#author Dan.OConnor
#rnx
Change 3507531 by Ben.Zeigler
#jira UE-46449 Better fix to flush the asset registry queue when the editor requests a synchronous scan at startup. Sometimes it can take a few frames because of file handle delays
Change 3507924 by mason.seay
Sanity save of TM-Gameplay and sublevels to maybe resolve level streaming issues
Change 3507962 by Marc.Audy
Remake changes from CL# 3150796 wiped out by WEX-Staging merge to Main in CL# 3479958
#rnx
Change 3509131 by Dan.Oconnor
Compilation manager compile on load flow never called FindExportsInMemoryFirst, which is critical to prevent reloading of UBlueprintGeneratedClasses when Rename clears the export table
#jira UE-46311
Change 3509345 by Marc.Audy
CVar to disable orphan pins if necessary
#rnx
Change 3509959 by Marc.Audy
Protect against crashing due to large values in Timespan From functions
#jira UE-43840
Change 3510040 by Marc.Audy
Remove all the old unneeded ShooterGame test maps
#rnx
[CL 3510073 by Marc Audy in Main branch]
2017-06-26 15:07:18 -04:00
// Handle deferred removals.
while ( ActionRemoveQueue . Num ( ) > 0 )
{
2019-10-18 16:15:19 -04:00
ClearAssetActions ( ActionRemoveQueue . Pop ( ) ) ;
Copying //UE4/Dev-Framework to //UE4/Dev-Main (Source: //UE4/Dev-Framework @ 3510040)
#lockdown Nick.Penwarden
=====================================
MAJOR FEATURES + CHANGES
=====================================
Change 3459524 by Marc.Audy
Get/Set of properties that were previously BPRW/BPRO should error when used
#jira UE-20993
Change 3460004 by Phillip.Kavan
#jira UE-45171 - Fix C++ compilation failures during packaging caused by nativizing a Blueprint that overrides a native function with a 'TSubclassOf' parameter or return value.
Change summary:
- Modified FKismetCompilerContext::CreateParametersForFunction() to pass the 'CPF_UObjectWrapper' flag through to new function parameter properties during Blueprint compilation.
Change 3461210 by Phillip.Kavan
#jira UE-44505 - Fix occasional Blueprint editor crashes that could occur while rebuilding the context menu from the action registry.
Change summary:
- Modified FBlueprintActionDatabase::FActionRegistry to use an FObjectKey as the key type. This allows us to test entries for UObject validity before rebuilding context menu items based on the action database.
- Changed FBlueprintActionInfo::CachedOwnerClass to be a TWeakObjectPtr rather than a raw UClass* since it's based on the ActionOwner, which could potentially become invalid after the OwnerClass has been cached.
- Modified FBlueprintActionDatabase::RefreshAssetActions() to exclude World assets if the WorldType is not EWorldType::Editor. This eliminates an issue with unreferenced "inactive" GC'd world objects being left in the BP action registry after cooking, at which point the keys could become invalid.
- Added FBlueprintActionDatabase::DeferredRemoveEntry() to allow for scheduling removal of entries from outside of the database if they are known to be invalid.
- Modified FBlueprintActionDatabase::Tick() to handle deferred entry removals.
- Modified FBlueprintActionMenuBuilder::RebuildActionList() to both test actions for validity before building menu items and schedule removal of invalid actions on the next tick.
Notes:
- Alternatively we could just include UObject keys in the database's AddReferencedObject impl, but that would then prevent objects from ever being GC'd if they are not explicitly removed. For most entries the action database takes the approach of explicitly removing entries via delegate when the UObject is destroyed, so I chose to use a TWeakObjectPtr instead so that any entries that may not be getting explicitly removed via delegate will now simply become invalidated if the UObject key is GC'd due to not being referenced. I also set it up to clean and remove any entries (along with any associated node spawners) that are found to be invalid the next time we open the BP editor.
Change 3461373 by Lukasz.Furman
fixed async navmesh rebuilds not kicking in for requests from navdata.bForceRebuildOnLoad
#jira UE-44231
Change 3461409 by Lukasz.Furman
fixed reenabling automatic navmesh generation in Editor Preferences
#ue4
Change 3461550 by Ben.Zeigler
#jira UE-45328 Fix local variable support for Redirectors and other save-time validation. We need to run the local variables to UProperty and back at save time
Add new flag PPF_SerializedAsImportText which is used for BP pins/default values and indicates that something has been serialized as import text and so needs to handle string asset redirectors
Change 3462625 by Zak.Middleton
#ue4 - Fix InterpToMovementComponent not setting velocity on the object it moves. Fix movement rate when substepping enabled (other related fixes to come).
github PR #3620
Change 3462796 by Dan.Oconnor
Fix for spamming BroadcastBlueprintReinstanced and for creating CDO at wrong time when compiling FrontEnd.uasset in OrionGame
#jira UE-45434
Change 3462995 by Ben.Zeigler
#jira UE-16941 Fix it so Load Asset node works with a literal value as well as a connected pin
Change 3463099 by Ben.Zeigler
#jira UE-45471 Allow abstract base classes for primary assets
Change 3464809 by Marc.Audy
Expose FVector2D / FVector2D to blueprints
#jira UE-45427
Change 3467254 by Mieszko.Zielinski
Added an AI helper BP function that supplies caller with a copy of navigation path given controller is currently following #UE4
Change 3467644 by Dan.Oconnor
Fix for cook issues in ocean when using compilation manager, one issue caused by bad dependencies list, one issue caused by lack of subobject mapping in archetype reinstancing.
#jira UE-45443, UE-45444
Change 3468176 by Dan.Oconnor
Fix dependent blueprints being marked dirty when a blueprint is compiled
Change 3468353 by Michael.Noland
UnrealHeaderTool: Improved the warning generated when missing Category= on a function or property declared in an engine module, and centralized the logic that determines if the module is engine or game
Change 3470532 by Dan.Oconnor
Re-enable compilation manager
Change 3470572 by Dan.Oconnor
Fix for pin paramters resetting when an archetype was reinstanced
#jira UE-45619
#rnx
Change 3471949 by Mason.Seay
Adding Primary Assets for testing
Change 3472074 by Ben.Zeigler
#jira UE-45140 Convert iterative cooking to use the Asset Registry as it's only mode, remove old hash and timestamp versions. This allows deleting the entire PackageDependencyInfo module
Change the asset registry iteration to not compute a hash at all, and instead store the script package guids in it's cache.
Expose bIgnoreIniSettingsOutOfDateForIteration and bIgnoreScriptPackagesOutOfDateForIteration in cooker settings, affects rather to listen to ini/script changes when doing iterative cooking
Change 3472079 by Ben.Zeigler
With new incremental cook options, change Fortnite to never care about ini settings, but do care about code changes. This can be changed but from previous discussions we wanted to be more safe than fast here
Change 3473429 by Lukasz.Furman
changed path following update tick to allow working on "invalid, update pending" paths, solves AI getting stuck when navigation is rebuild very frequently (e.g. every tick from moving mesh)
#jira UE-41884
Change 3473476 by Lukasz.Furman
changed crowd simulation path update tick to allow working on "invalid, update pending" paths, solves AI getting stuck when navigation is rebuild very frequently (e.g. every tick from moving mesh)
#jira UE-41884
Change 3473663 by Ben.Zeigler
Fix it so base k2node registers framework version, this is needed for the assetptr fixup I previously added
Change 3473679 by Mason.Seay
Slight cleanup of test map and added ability to teleport across level for easy navigation
Change 3473712 by Marc.Audy
Do default value validation against the actual value of the default entry of an enum rather than the serialized empty autogenerated default value
Change 3474055 by Marc.Audy
When nodes are reconstructed any pins that were previously linked or set to non-default values that have been removed will no longer simply vanish, but instead will remain in an Orphaned state until dealt with.
#jira UE-41828
Change 3474119 by mason.seay
Tweaked Force Feedback test
Change 3474156 by Marc.Audy
Actually enable orphan pin retention
Change 3474382 by Ben.Zeigler
Class.h Header and comment cleanup. Started this because IsChildOf did not have a comment and it's usage is a bit confusing
Change 3474386 by Ben.Zeigler
Close popup window when adding asset class to audit window
Change 3474491 by Ben.Zeigler
Remove ability for Worlds to not be saved as assets, this has been the default since 2014.
Change 3475363 by Marc.Audy
Alt-click now works with orphaned pins
#jira UE-45699
Change 3475523 by Marc.Audy
Fixup Fortnite and Paragon content for orphaned pin errors and warnings
Change 3475623 by Phillip.Kavan
#jira UE-45477 - Fix an EDL assertion on load in a nativized build with one or more Actor subobjects instanced via the EditInlineNew UI in the BP class defaults property editor.
Change summary:
- Modified FEmitDefaultValueHelper::OuterGenerate() to emit code to construct/initialize instanced subobject values that do not have the RF_DefaultSubObject flag set, and also to recursively handle nested subobjects for those values.
- Modified FEmitDefaultValueHelper::HandleInstancedSubobject() to alternatively emit a 'NewObject' assignment statement rather than a 'CreateDefaultSubobject' statement if only RF_ArchetypeObject is set on the source object value.
Change 3476008 by Dan.Oconnor
Fix for failing to preload our super class's subobjects. Effectively moving UBlueprint::ForceLoad calls earlier in loading process. This only results in data resetting to your parent's parent's default value from your parent's default value.
#jira UE-18765
Change 3476115 by Dan.Oconnor
Fix missing category information for inherited functions when using compilation manager
#jira UE-45660
#rnx
Change 3476577 by Lukasz.Furman
added early outs from navmesh layer generation when there's no walkable cells or contours to avoid allocating 0 bytes by next generation steps (behavior differs between platforms)
#ue4
Change 3476587 by Phillip.Kavan
#jira UE-45517 - Fix a regression in which dragging UMG widgets around in the designer view results in redundantly-compounded BP class properties and context menu actions.
Change summary:
- Modified SDesignerView::ClearDropPreviews() to move the widget that was removed from the tree into the transient package. This ensures that FWidgetBlueprintCompiler::CreateClassVariablesFromBlueprint() won't pick them up.
- Modified SDesignerView::ProcessDropAndAddWidget() to also consider any widgets not added to the 'DropPreviews' array as being transient (i.e. also move them into the transient package since they were not added to the tree).
Notes:
- The regression was introduced by the changes in CL# 3410168, and was merged to Main at CL# 3431398.
#rnx
Change 3476723 by Dan.Oconnor
Match old behavior wrt updating implemented interfaces in blueprints - this logic from FKismetEditorUtilities::CompileBlueprint was missing in compilation manager
#jira UE-45468
#rnx
Change 3476948 by Michael.Noland
Framework: Changed AActor::FindComponentByClass (and AActor::GetComponentByClass by extension) to return nullptr when passed a nullptr class, rather than crashing
Change 3476970 by Ben.Zeigler
Fix bug I introduced in 4.16 where assigning assets to multiple chunks did not work properly
Change 3477536 by Marc.Audy
Don't display default value box on linked orphaned input pins
Change 3477835 by Marc.Audy
Fix pins orphaned by deletion of an entry in a user-defined enum disappearing instead of remaining connected
#jira UE-45754
Change 3478027 by Marc.Audy
Minor performance optimization
#rnx
Change 3478198 by Phillip.Kavan
#jira UE-42431 - Remove an unnecessary ensure() when pasting an event node.
Change summary:
- Modified UEdGraphSchema_K2::CreateSubstituteNode() to no longer ensure() that we have a valid PreExistingNode; it's only used for logging when a substitute node is created in response to a conflict with an existing node.
Change 3478485 by Marc.Audy
Eliminate extraneous error messages about orphaned pins on get/set nodes
#jira UE-45749
#rnx
Change 3478756 by Marc.Audy
Fix fallout from changes to DoesDefaultValueMatchAutogenerated for user defined enums
#jira UE-45721
#rnx
Change 3478926 by Marc.Audy
Non-blueprint type structs can no longer be made/broken
Non-blueprint visible properties in structs will no longer have pins created for them
#jira UE-43122
Change 3478988 by Marc.Audy
DeltaTime for a tick function with a tick interval is now correct after disabling and then reenabling the tick function.
#jira UE-45524
Change 3479818 by Marc.Audy
Allow ctrl-drag off of orphan pins
#jira UE-45803
Change 3480214 by Marc.Audy
Modifications to user defined enumerations are now transacted
#jira UE-43866
Change 3480579 by Marc.Audy
Maintain all pin properties through transactions.
#rn Reference pins that are removed and then restored via undo now correctly have the diamond icon instead of the standard circle.
Change 3481043 by Marc.Audy
Make/Break of structs does not depend on having blueprint exposed properties.
Splitting of a struct pin still requires blueprint exposed properties.
#jira UE-45840
#jira UE-45831
Change 3481271 by Ben.Zeigler
Fix the AssetManager chunking code to use ChunkDependencyInfo instead of a hardcoded check for chunk 0
Clean up ChunkDependencyInfo and make it properly public
Move ShouldSetManager to be WITH_EDITOR
Ported from WEX branch
#RB peter.sauerbrei
Change 3481373 by Dan.Oconnor
Reduce reliance on expensive FindDelegateSignature. 3275922 made warnings about a ambiguous search more likely as it preserved names of members on the REINST_ classes
#jira UE-45704
Change 3481380 by Ben.Zeigler
Change it so Struct and Object AssetRegistrySearchable properties do not show up in content browser, they are not helpful
Change 3482362 by Marc.Audy
Fix properties not exposed to blueprint warnings for input properties on function graphs.
#jira UE-45824
Change 3482406 by Ben.Zeigler
#jira UE-45883 Fix Switch On Gameplay Tag Container node, and add switch nodes to TagCheck map
Change 3482498 by Ben.Zeigler
Attempt to fix hot reload issues with Asset Manager. We need to reset and re-acquire the asset classes when rescanning, as they may be pointing to the replaced class
Change 3482517 by Lukasz.Furman
fixed smart navlink update functions removing important flag
#jira UE-45875
Change 3482538 by Marc.Audy
When comparing float, vector, and rotator values for whether the the default matches the autogenerated do not use the string compare because differences in use of decimal or number of 0s after decimal are then considered not the same float
#jira UE-45846
Change 3482773 by Marc.Audy
Don't show default value or pass by reference for exec pins
#jira UE-45868
Change 3482791 by Ben.Zeigler
#jira UE-45800 Correctly dirty game mode blueprint when changing player controller/etc classes from game mode customization
Fix it so MarkBlueprintAsStructurallyModified calls MarkBlueprintAsModified as several fixes were only in the second function
Change 3483131 by Zak.Middleton
#ue4 - InterpToMovementComponent:
- Fix velocity not zeroed when interpolation stops.
- Various fixes when calculating velocity and time when substepping is enabled.
- Improve accuracy of interpolation when looping and there is time remaining after the loop event is hit. Consume the remainder of the time after the event back in the loop (similar to handling a blocking impact).
#jira UE-45690
Change 3483146 by Phillip.Kavan
#jira UE-38358 - Propagate 'const' function flag from interface Blueprint to implementing Blueprints.
Change summary:
- Modified FBlueprintEditorUtils::MarkBlueprintAsStructurallyModified() to call SkeletalRecompileChildren() on dependent BPs when the target is an interface BP.
- Modified FBlueprintEditorUtils::MarkBlueprintAsStructurallyModified::FRefreshHelper::SkeletalRecompileChildren() to set child BP status to BS_Dirty after compiling.
- Modified ConformInterfaceByName() (FBlueprintEditorUtils) to use the interface's skeleton class for function iteration as well as to match the Function Entry node's 'const' setting to the interface UFunction's signature.
Change 3483340 by Ben.Zeigler
Fix issue querying asset registry after a hot reload, make sure pending kill objects are never considered to be Assets
Change 3483548 by Michael.Noland
Epic Friday: Playing around with some prototype traps
Change 3483700 by Phillip.Kavan
Fix CIS cook crash introduced by last submit.
#rnx
Change 3485217 by Ben.Zeigler
#jira UE-45519 Fix regression introduced in 4.16 where it would no longer cook all maps when no explicit maps were specified in ini or game callback. Moved the code that detects changes before culture/default map code and hardened it to deal with the case where some engine packages were already in the list before it entered the function
Change 3485367 by Dan.Oconnor
Avoid adding mappings to anim node when creating variables on the skeleton class and using the compilation manager
#jira UE-45756
Change 3485565 by Ben.Zeigler
#jira UE-45948 Fix compilation manager to properly reset variable default values after promoting a pin to local variable
Change 3485566 by Marc.Audy
Fix crashes caused by undo/redo of user defined struct changes
#jira UE-45775
#jira UE-45781
Change 3485805 by Michael.Noland
PR #3459: Fix for world origin shifting and SpringArmComponent location lag (Contributed by michail-nikolaev)
#jira UE-43747
Change 3485807 by Michael.Noland
PR #3485: Added additional textures field to paper 2d tileset class (Contributed by gryphonmyers)
#jira UE-44041
Change 3485811 by Michael.Noland
Framework: Fixed a bug in FStreamLevelAction::MakeSafeLevelName to avoid appending the PIE prefix multiple times (fixes functions like Unload Streaming Level when passed a full package name from an instanced streaming level)
Change 3485829 by Michael.Noland
Framework: Made GetWorldAssetPackageFName BlueprintCallable so instanced levels can be unloaded
Change 3485830 by Michael.Noland
PR #3568: add API declarations to ALevelStreamingVolume methods (Contributed by kayama-shift)
#jira UE-45002
Change 3486039 by Michael.Noland
PR #3495: UE-44014: Refreshing node error fixes (Contributed by projectgheist)
- Empty out the ErrorMsg when a node gets refreshed to prevent the same error messages from compounding
- Added support for split pins in UK2Node_Event::IsFunctionEntryCompatible
- Added a missing check for the delegate pin name on the entry node part of UK2Node_Event::IsFunctionEntryCompatible
#jira UE-44014
Change 3486093 by Michael.Noland
PR #3379: Added GAMEPLAYABILITIES_API to all Ability Tasks. (Contributed by ryanjon2040)
#jira UE-42903
Change 3486139 by Michael.Noland
Blueprints: Added new config options for execution wire thickness when not debugging (DefaultExecutionWireThickness) and data wire thicknesses (DefaultDataWireThickness) to the Graph Editor Settings page
#rn
Change 3486154 by Michael.Noland
Framework: Speculative fix for CIS error about FStructOnScope
#rnx
Change 3486180 by Dan.Oconnor
Better match old logic for determining when to skip data only compile
#jira UE-45830
Change 3487276 by Marc.Audy
Fix crash when using Setter with a locally scoped variable
#rnx
Change 3487278 by Marc.Audy
Ensure that pin change notifications occur on all pin breaks unless it is part of a node being garbage collected
Change 3487658 by Marc.Audy
Ensure that child actor template is created for subclasses
#jira UE-45985
Change 3487699 by Marc.Audy
Move non-templated elements out of FArchiveReplaceObjectRef and put them in FArchiveReplaceObjectRefBase
Change 3487813 by Dan.Oconnor
Asset demonstrating a crash
Change 3488101 by Marc.Audy
Fix crash with spawn/construct actor/object from class nodes when they no longer had any pins.
Correctly orphan pins when a node goes to 0 pins.
Change 3488337 by Marc.Audy
Editable pin base should not manually remove pin and let reconstruct node and rewire pins do their job
#jira UE-46020
Change 3488512 by Dan.Oconnor
ConstructObject nodes and SubInstances nodes use skeleton class when compilation manager can provide it
#jira UE-45830, UE-45965
#rnx
Change 3488631 by Michael.Noland
Framework: Fixed a crash when loading a blueprint with a parent class of ALevelBounds caused by trying to register the class default object with a non-existent level
#jira UE-45630
Change 3488665 by Michael.Noland
Blueprints: Improve the details panel customization for optional pin nodes like Struct Member Get/Set
- The category, raw name, and tooltip of the property are now included as part of the filter text as well
- The property tooltip is now displayed when hovering over the property name
- Code updated to use GET_MEMBER_NAME_CHECKED() where appropriate
Change 3489324 by Marc.Audy
Fix recursion causing stack crash
#jira UE-46038
#rnx
Change 3489326 by Marc.Audy
Fix cooking crash
#jira UE-46031
#rnx
Change 3489687 by mason.seay
Assets for testing orphan pins
Change 3489701 by Marc.Audy
Back out changelist 3487278 and 3489443 and make targetted changes for fixing up orphan pin cases where changing connections doesn't remove the pin.
#jira UE-46051
#jira UE-46052
#rnx
Change 3490352 by Dan.Oconnor
Fix for missing WidgetTree on Skeleton class - just look directly at the WidgetBlueprint
#jira UE-46062
Change 3490814 by Marc.Audy
Make callfunction/macro instances save all pins in orphan state more similar to previous behavior
#rnx
Change 3491022 by Dan.Oconnor
Properly clean up 'Key' property when we fail to create a value property
#jira UE-45279
Change 3491071 by Ben.Zeigler
#jira UE-45981 Fix rotation issues, vector/rotator pins with empty strings were not matching due to uninitialized memory.
Change 3491244 by Michael.Noland
Blueprints: Add compile time message back to the output log (will not auto-open the output log if there were no warnings/errors)
#jira UE-32948
Change 3491276 by Michael.Noland
Blueprints: Fixed some bugs where a newly added item would fail show up in the "My Blueprints" tree if there was a filter active (e.g., when promoting a variable)
- Centralized the logic for clearing the filter so it happens when we try and fail to select the item, rather than ad hoc in various other places
- Made it only clear the filter if necessary, rather than (almost) always clearing it when adding an item
#jira UE-43372
Change 3491562 by Marc.Audy
Put back pin removal in to editable pin base and instead modify the pin destroy implementation to take down child split pins with it
#jira UE-46020
#rnx
Change 3491658 by Marc.Audy
Unify RemoveUserDefinedPin implementations. Use version that has break to avoid size change assert
#rnx
Change 3491946 by Marc.Audy
ReconstructSinglePin no longer destroys OldPin (avoids oprhaned sub pins being destroyed before reparented)
RewireOldPinsToNewPins now destroys OldPins at the end (calling code no longer reponsible)
DestroyImpl now prunes out SubPins that had already been trashed
#rnx
Change 3492040 by Marc.Audy
Discard exec/then pins from a callfunction that has been converted to a pure node
#rnx
Change 3492200 by Zak.Middleton
#ue4 - Always reset the input array in AActor::GetComponents(), but do so without affecting allocated size.
Fixes possible regression from CL 3359561 that removed the Reset(...) entirely.
#jira UE-46012
Change 3492290 by Ben.Zeigler
#jira UE-46108 Fix StringLibrary Mid to never crash, Substring had already been fixed
Change 3492311 by Marc.Audy
Don't clear the pin type if what you're connecting to's pin type is wildcard
#rnx
Change 3492680 by Dan.Oconnor
Handle missing generated class when using compilation manager - tested by forcing compile of BP_ParentClassIsMissingType.uasset
Change 3492826 by Marc.Audy
Don't do pin connection list change notifications from DestroyPins while regenerating on load
#jira UE-46112
#rnx
Change 3492851 by Michael.Noland
Core: Fixed various crashes when using UObject::CallFunctionByNameWithArguments with non-trivial argument types by properly initializing the allocated parameters
Change 3492852 by Michael.Noland
Framework: Fixed a crash if ACharacter::FindComponentByClass was passed a nullptr class
Change 3492934 by Marc.Audy
Fix ensure and crash delete macro containing orphaned pin
#rnx
Change 3493079 by Dan.Oconnor
Fix for crash when opening ThirdPersonAnimBlueprint and ThirdPersonAnimBlueprint_Perf then clicking 'Compile' button in ThirdPersonAnimBlueprint editor. Make sure the convenience members in the derived compilers get set when we relink child classes (which requires making cdos, which requires PropagateValuesToCDO..)
#rnx
Change 3493346 by Phillip.Kavan
#jira UE-40560 - Fix a reported crash when pasting nodes between unrelated Blueprint graphs.
Change summary:
- Modified FEdGraphUtilities::PostProcessPastedNodes() to ensure() on a NULL pin entry; this will allow execution to continue while still alerting us since it is an unexpected result. Also added an 'else' case to then remove the NULL entry so that PostPasteNode() implementations don't all have to guard against NULL pin entries. When the node is reconstructed, the NULL entry will be replaced with the correct pin initialized to its default values.
- Modified UEdGraphPin::ImportTextItem() to add some additional logging to parse error cases when importing pin properties from source T3D text. Hopefully this gives us more information when this is encountered in the future.
Change 3493938 by Michael.Noland
Blueprints: Prevent issues with renaming event dispatchers to contain periods (this may be disallowed in the future, but they no longer become uneditable)
#jira UE-45780
Change 3493945 by Michael.Noland
Blueprints: Fixed GetDelegatePoperty typos
#rnx
Change 3493997 by Michael.Noland
Blueprints: Partially reverting changes from CL# 3319966 to reroute nodes, restoring their alignment but losing the symmetrical grab handle changes
#jira UE-45760
Change 3493998 by Dan.Oconnor
Fix rare crash in RefreshStandAloneDefaultsEditor when the blueprint editor is opened and a blueprint had errors in it
Note: I stumbled across this by running a unit test and then opening a blueprint in the BPE. CrashReporter indicates 3 crashes in the last 3 days
Change 3494025 by Michael.Noland
Engine: Deleted some dead code (DEBUGGING_VIEWPORT_SIZES)
#rnx
Change 3494026 by Michael.Noland
Blueprints: V0 of a BlueprintCallable/BlueprintPure function fuzzer
- Calls exposed methods with default parameters on classes it is able to spawn for now, which catches crashes due to null and /0 but not out of bounds issues or ones on classes it can't spawn due to classwithin, abstract, etc...
- Can be called using Test.ScriptFuzzing, won't be integrated into automated tests until it is more fully fleshed out and all known issues are addressed
#rnx
Change 3496382 by Ben.Zeigler
Fix ensure when launching editor with cook on the side and incremental cooking enabled. It now flushes the background asset gather when calling the sync load all assets if one is in progress
Change 3496688 by Marc.Audy
Avoid crashing in component instance data if (for some reason) the Actor's root component isn't properly set up
#jira UE-46073
Change 3496830 by Michael.Noland
Editor: Change FEditorCategoryUtils methods to take UStruct* instead of UClass*, as they are just reading metadata
#rnx
Change 3496840 by Michael.Noland
Framework: Remove the requirement for a local player in UCheatManager::CheatScript, so it can be be started from the server side (doesn't change the availability of the cheat manager, just allows things like the redundant "cheat cheatscript scriptname" to work)
Change 3497038 by Michael.Noland
Fortnite: Added UFortDeveloperSettings to allow developers to auto-run cheats in PIE (does not occur in -game or outside of WITH_EDITOR builds)
- You can specify a list of cheat commands to run when a pawn is possessed (also needs CL# 3496840 for cheatscripts)
- You can also specify a set of items to grant to your local inventory when it is created
Change 3497204 by Marc.Audy
Fix AbilitySystemComponent not being blueprint readable.
#rnx
Change 3497668 by Mieszko.Zielinski
Fixed a crash in BT editor when dealing with enum-typed Blackboard-keys pointing to enum values that have been deleted #UE4
#jira UE-43659
Change 3497677 by Mieszko.Zielinski
Added a community-suggested working solution to patching up dynamic navmesh after world offset #UE4
Also, fixed a crash related to navmesh rebuilding if generation was configured to lazily gather navigatble geometry
#jira UE-41293
Change 3497678 by Mieszko.Zielinski
Marked AbstractNavData class as transient #UE4
We never want to save it to levels
Change 3497679 by Mieszko.Zielinski
Made NavModifierVolume responsive to editor-time property changes #UE4
#jira UE-32831
Change 3497900 by Dan.Oconnor
Fix bad skel reference when using construct object from class, just limiting scope of 3491946. To reproduce the bug just nativize QA Game, including the TM-Gameplay level
#rnx
Change 3497904 by Dan.Oconnor
Use K2Node_Event::FindEventSignatureFunction in order when directly generating the skeleton generated class to get event params correct
#jira UE-46153
#rnx
Change 3497907 by Dan.Oconnor
Correctly set blueprint visibility flags on params for inherited functions when generating the skeleton class
#rnx
#jira UE-46186
Change 3498218 by mason.seay
Updates to pin testing BP's
Change 3498323 by Mieszko.Zielinski
Made UNavCollision instance assigned to StaticMesh not get re-created from scratch every single time any StaticMesh property changes #UE4
Recreation was resulting in some of the UNavCollision's properties not getting saved and the way we were recreating the nav collision could also interfere with undo buffers
#jira UE-44891
Change 3499007 by Marc.Audy
Allow systems to hook Pre and PostCompile to do custom behaviors
Change 3499013 by Mieszko.Zielinski
Made AbstractNavData class non-transient again #UE4
Implemented AbstractNavData instances' transientness in a different manner.
#jira UE-46194
Change 3499204 by Mieszko.Zielinski
Introduced CrowdManagerBase, an engine-level class that can be extended to implement custom crowd management #Orion
Extracted FRecastQueryFilter into a separate file, which will break some peoples' compilation.
#jira UE-43799
Change 3499321 by mason.seay
Updated bp for struct testing
Change 3499388 by Marc.Audy
Allow the compiler log to store off potential messages from earlier in the compile cycle (early validation), that can be committed later (for example once pruning is completed).
Change 3499390 by Marc.Audy
Generate the orphan pin error messages during EarlyValidation, but cache until the regular validation phase. This ensures all are generated, but only those that aren't pruned will be emitted.
#rnx
Change 3499420 by Michael.Noland
Engine: Introduced a new version of UEngine::GetWorldFromContextObject which takes an enum specifying the behavior on failures and updated all existing uses
The new version intentionally does not have a default value for ErrorMode, callers need to think about which variant of behavior they want:
- ReturnNull: Silently returns nullptr, the calling code is expected to handle this gracefully
- LogAndReturnNull: Raises a runtime error but still returns nullptr, the calling code is expected to handle this gracefully
- Assert: Asserts, the calling code is not expecting to handle a failure gracefully
- Deprecated UEngine::GetWorldFromContextObject(object, boolean) and changed the default behavior for the deprecated instances to do LogAndReturnNull rather than Assert, based on the real-world call pattern
- Introduced GetWorldFromContextObjectChecked(object) as a shorthand for passing in EGetWorldErrorMode::Assert
- Made UObject::GetWorldChecked() actually assert if it would return nullptr (under some cases the old function could silently return nullptr while reporting bSupported = true, so it neither ensured nor checked)
- Fixed a race condition in the 'is implemented' bookkeeping logic in GetWorld()/GetWorldChecked() by confining it to the game thread and added a check() to ImplementsGetWorld() to make it clear that it only works on the game thread
The typical recommended call pattern is to use something like:
if (UWorld* World = GEngine->GetWorldFromContextObject(WorldContextObject, EGetWorldErrorMode::LogAndReturnNull))
{
... Do something with World
}
Handling the failure case but requesting a log message (with BP call stack printed out) if it failed. This is now also the default behavior for old calls to UEngine::GetWorldFromContextObject(Object) (using the default value of bChecked=true), which is a behavior change but it matches how the function was being used in practice; the vast majority of call sites actually expected it to potentially fail and handled the nullptr case gracefully; very few places used the return value unguarded and wanted it to assert when passed a nullptr.
#jira UE-42458
Change 3499429 by Michael.Noland
Engine: Removed a bogus TODO (the problematic code had already been reworked)
#rnx
Change 3499470 by Michael.Noland
Core: Improved and corrected the comment for ensure()
- It doesn't crash when checking is disabled (and hasn't since UE3, maybe ever?)
- It now only fires once per ensure() by default, added a note about ensureAlways()
#rnx
Change 3499643 by Marc.Audy
Use TGuardValue instead of manually managing it
#rnx
Change 3499874 by Marc.Audy
Display <Unnamed> instead of nothing for Pins with blank display name in the compiler log
Change 3499875 by Marc.Audy
When changing function parameter types, don't orphan a pin on the function entry/exit nodes (but do at the call sites)
#jira UE-46224
Change 3499927 by Dan.Oconnor
UField::Serialize no longer serialize's its next ptr, UStruct::Serialize serializes all Children properties instead. This resolves a hard circular dependency between function libraries that EDL detected. It was resolved in an ad hoc way by the old linker
#jira UE-43458
Change 3499953 by Michael.Noland
Core: Created a variant of ensure that does runtime error logging without stopping in the debugger and some related functions that print a warning or error and may trigger a BP callstack (under the same rules as FFrame::KismetExecutionMessage)
- These are WIP and the API may change in the future, but are being used to fix various crashes found by fuzzing BP exposed functions
Change 3499957 by Michael.Noland
Animation: Added runtime errors for nullptr ControlRigs passed into BP methods
#rnx
Change 3499958 by Michael.Noland
Blueprints: Changed an ensure in UKismetNodeHelperLibrary::GetValidValue to a runtime error
#rnx
Change 3499959 by Michael.Noland
Engine: Downgrade various checks() to ensures() in the runtime asset cache functions exposed to Blueprints
Change 3499960 by Michael.Noland
AI: Changed UBTFunctionLibrary to not check/ensure if passed a null world context object
Change 3499968 by Michael.Noland
Editor: Fixed a couple of crashes in UEditorLevelUtils when passed nullptr arguments, and reformatted the entire file to fix widespread indentation issues
#rnx
Change 3499969 by Michael.Noland
Engine: Changed the verbosity of the failure log message of UEngine::GetWorldFromContextObject(..., LogAndReturnNull) from Warning to Error, so it always prints out a BP callstack
#rnx
Change 3499973 by Michael.Noland
Rendering: Fixed asserts in various UKismetRenderingLibrary methods if passed a nullptr for the WorldContextObject
- Also fixed flipped warnings in the failure cases for EndDrawCanvasToRenderTarget
Change 3499979 by Michael.Noland
Editor: Prevented a crash in UMaterialEditingLibrary::RecompileMaterial when passed a nullptr material
Change 3499984 by Michael.Noland
Physics: Prevented a crash in UTraceQueryTestResults::AssertEqual when passed in nullptr for Expected
Change 3499993 by Michael.Noland
Blueprints: Added validation when renaming variables, functions, components, multicast delegates, etc... to prevent names from containing some unacceptable characters
- This validation only kicks in when trying to rename an item, so bad names in existing content are 'grandfathered in'
- These bad names can cause bugs when working with content that contains these characters (e.g., names that contain a period cannot be found via FindObject<T>)
- Currently only . is banned, but eventually we may expand it to include all of INVALID_OBJECTNAME_CHARACTERS
Change 3500009 by Michael.Noland
Blueprints: Made the fuzzer skip classes declared in UnrealEd for now (some of the exposed methods change global state that can cause other tests to fail as the fuzzer isn't particularly sandboxed ATM)
#rnx
Change 3500011 by Michael.Noland
Android: Fixed a crash in UAndroidPermissionFunctionLibrary::AcquirePermissions when called with an empty array on non-Android platforms
Change 3500012 by Michael.Noland
Editor: Prevent a crash in UEditorTutorial::OpenAsset when passed a nullptr Asset
Change 3500014 by Michael.Noland
Engine: Changed FRuntimeAssetCacheFilesystemBackend::ClearCache(NAME_None) to not try to clear all cache directories (there is a separate no-args method for that)
Change 3500019 by Michael.Noland
Core: Fixed some more issues with CallFunctionByNameWithArguments and initializing / destroying parameters
- It was skipping the return value and incorrectly relying on the FirstPropertyToInit list which isn't set for by ref arguments
Change 3500020 by Michael.Noland
Automation: Prevent UFunctionalTestingManager::RunAllFunctionalTests and UFunctionalTestingManager* UFunctionalTestingManager::GetManager from crashing when a manager cannot be created (because we can't route to a world)
Change 3501062 by Marc.Audy
MakeArray AddInputPin is often used as part of node expansion, so need to move the transaction out of the function
Fix inability to undo/redo pin additions to sequence node
Add a K2Node_AddPinInterface to generalize the interface that K2Nodes implement to interact with SGraphNodeK2Sequence so it can be more generally used
#jira UE-46164
#jira UE-46270
Change 3501330 by Michael.Noland
AI: Fix an error on shutdown when the CDO of UAIPerceptionComponent tries to clean up (as it was never registered in the first place)
#jira UE-46271
Change 3501356 by Marc.Audy
Fix crash when multi-editing actor blueprints
#jira UE-46248
Change 3501408 by Michael.Noland
Core: Improve the print-out of FFrame::GetStackTrace() / FFrame::GetScriptCallstack() when there is no script stack (e.g., when FFrame::KismetExecutionMessage is called by native code with no BP above in the call stack)
Change 3501457 by Phillip.Kavan
#jira UE-46054 - Fix crash when launching a packaged build that includes a nativized Blueprint instance with a ChildActorComponent instanced via an AddComponent node.
Change summary:
- Removed UK2Node_AddComponent::PostDuplicate(). This eliminates the creation of redundant component templates that were being unnecessarily created during the Blueprint duplication that precedes the nativization pass.
- Modified SMyBlueprint::OnDuplicateAction() to call MakeNewComponentTemplate() in response to a graph duplication action within the same Blueprint context (replaces previous UK2Node_AddComponent::PostDuplicate() impl).
- Modified FEmitDefaultValueHelper::HandleSpecialTypes() to force AddComponent-based CAC-owned template objects in the emitted codegen to use the UDynamicClass as the Outer when instancing. This matches what we already do for SCS-based CAC-owned template objects - that logic was added in CL# 3270456, and this matches up with FBlueprintNativeCodeGenModule::FindReplacedNameAndOuter(), where we specifically handle CAC-owned template objects.
Change 3502741 by Phillip.Kavan
#jira UE-45782 - Fix undo for index pin type changes.
Change summary:
- Modified SGraphPinIndex::OnTypeChanged() to call Modify() on the pin that was changed.
Change 3502939 by Michael.Noland
Back out changelist 3499927
Change 3503087 by Marc.Audy
Re-fixed ocean content as editor had also changed so had to take theirs and redo
#rnx
Change 3503266 by Ben.Zeigler
#jira UE-46335 Fix regression added in 4.16 where AssetRegistry GetAncesorClassNames/GetDerivedClassNames were not working properly in cooked builds for classes not in memory
Change 3503325 by mason.seay
updated Anim BP to prep for pin testing
Change 3503445 by Marc.Audy
Fix crash caused by OldPins being destroyed before rewiring
#rnx
Change 3505024 by Marc.Audy
Fix NodeEffectsPanel blueprint as it was using pins that no longer existed
#rnx
Change 3505254 by Marc.Audy
Don't include orphan pins when gather source property names
If a property doesn't exist for a source property name just skip the property rather than crashing
#jira UE-46345
#rnx
Change 3506125 by Ben.Zeigler
#jira UE-46311 Fix issues when blueprints are reloaded in place, it needs to remove them from root properly and sanitize the old class. It's still not clear why they are being reloaded in place
Change 3506334 by Dan.Oconnor
Move UAnimGraphNode_Base::PreloadRequiredAssets up to K2Node, make sure nodes get a chance to preload data before compilation manager compiles newly loaded blueprints
#jira UE-46411
Change 3506439 by Dan.Oconnor
Return to pre 3488512 behavior for construct object nodes. This means that we can still get warnings on load when users compile after saving a blueprint, but the current behavior loses default values because it's lookng at the skeleton cdo
#jira UE-46308
Change 3506468 by Dan.Oconnor
Return to pre 3488512 behavior, as it causes bad default values
#jira UE-46414
#rnx
Change 3506733 by Marc.Audy
Use the most up to date class to determine whether a property still exists when adding pins during reconstruction
#jira UE-45965
#author Dan.OConnor
#rnx
Change 3507531 by Ben.Zeigler
#jira UE-46449 Better fix to flush the asset registry queue when the editor requests a synchronous scan at startup. Sometimes it can take a few frames because of file handle delays
Change 3507924 by mason.seay
Sanity save of TM-Gameplay and sublevels to maybe resolve level streaming issues
Change 3507962 by Marc.Audy
Remake changes from CL# 3150796 wiped out by WEX-Staging merge to Main in CL# 3479958
#rnx
Change 3509131 by Dan.Oconnor
Compilation manager compile on load flow never called FindExportsInMemoryFirst, which is critical to prevent reloading of UBlueprintGeneratedClasses when Rename clears the export table
#jira UE-46311
Change 3509345 by Marc.Audy
CVar to disable orphan pins if necessary
#rnx
Change 3509959 by Marc.Audy
Protect against crashing due to large values in Timespan From functions
#jira UE-43840
Change 3510040 by Marc.Audy
Remove all the old unneeded ShooterGame test maps
#rnx
[CL 3510073 by Marc Audy in Main branch]
2017-06-26 15:07:18 -04:00
}
2014-08-08 15:35:56 -04:00
}
//------------------------------------------------------------------------------
TStatId FBlueprintActionDatabase : : GetStatId ( ) const
{
RETURN_QUICK_DECLARE_CYCLE_STAT ( FBlueprintActionDatabase , STATGROUP_Tickables ) ;
2014-07-09 12:17:42 -04:00
}
Copying //UE4/Dev-Framework to //UE4/Dev-Main (Source: //UE4/Dev-Framework @ 3510040)
#lockdown Nick.Penwarden
=====================================
MAJOR FEATURES + CHANGES
=====================================
Change 3459524 by Marc.Audy
Get/Set of properties that were previously BPRW/BPRO should error when used
#jira UE-20993
Change 3460004 by Phillip.Kavan
#jira UE-45171 - Fix C++ compilation failures during packaging caused by nativizing a Blueprint that overrides a native function with a 'TSubclassOf' parameter or return value.
Change summary:
- Modified FKismetCompilerContext::CreateParametersForFunction() to pass the 'CPF_UObjectWrapper' flag through to new function parameter properties during Blueprint compilation.
Change 3461210 by Phillip.Kavan
#jira UE-44505 - Fix occasional Blueprint editor crashes that could occur while rebuilding the context menu from the action registry.
Change summary:
- Modified FBlueprintActionDatabase::FActionRegistry to use an FObjectKey as the key type. This allows us to test entries for UObject validity before rebuilding context menu items based on the action database.
- Changed FBlueprintActionInfo::CachedOwnerClass to be a TWeakObjectPtr rather than a raw UClass* since it's based on the ActionOwner, which could potentially become invalid after the OwnerClass has been cached.
- Modified FBlueprintActionDatabase::RefreshAssetActions() to exclude World assets if the WorldType is not EWorldType::Editor. This eliminates an issue with unreferenced "inactive" GC'd world objects being left in the BP action registry after cooking, at which point the keys could become invalid.
- Added FBlueprintActionDatabase::DeferredRemoveEntry() to allow for scheduling removal of entries from outside of the database if they are known to be invalid.
- Modified FBlueprintActionDatabase::Tick() to handle deferred entry removals.
- Modified FBlueprintActionMenuBuilder::RebuildActionList() to both test actions for validity before building menu items and schedule removal of invalid actions on the next tick.
Notes:
- Alternatively we could just include UObject keys in the database's AddReferencedObject impl, but that would then prevent objects from ever being GC'd if they are not explicitly removed. For most entries the action database takes the approach of explicitly removing entries via delegate when the UObject is destroyed, so I chose to use a TWeakObjectPtr instead so that any entries that may not be getting explicitly removed via delegate will now simply become invalidated if the UObject key is GC'd due to not being referenced. I also set it up to clean and remove any entries (along with any associated node spawners) that are found to be invalid the next time we open the BP editor.
Change 3461373 by Lukasz.Furman
fixed async navmesh rebuilds not kicking in for requests from navdata.bForceRebuildOnLoad
#jira UE-44231
Change 3461409 by Lukasz.Furman
fixed reenabling automatic navmesh generation in Editor Preferences
#ue4
Change 3461550 by Ben.Zeigler
#jira UE-45328 Fix local variable support for Redirectors and other save-time validation. We need to run the local variables to UProperty and back at save time
Add new flag PPF_SerializedAsImportText which is used for BP pins/default values and indicates that something has been serialized as import text and so needs to handle string asset redirectors
Change 3462625 by Zak.Middleton
#ue4 - Fix InterpToMovementComponent not setting velocity on the object it moves. Fix movement rate when substepping enabled (other related fixes to come).
github PR #3620
Change 3462796 by Dan.Oconnor
Fix for spamming BroadcastBlueprintReinstanced and for creating CDO at wrong time when compiling FrontEnd.uasset in OrionGame
#jira UE-45434
Change 3462995 by Ben.Zeigler
#jira UE-16941 Fix it so Load Asset node works with a literal value as well as a connected pin
Change 3463099 by Ben.Zeigler
#jira UE-45471 Allow abstract base classes for primary assets
Change 3464809 by Marc.Audy
Expose FVector2D / FVector2D to blueprints
#jira UE-45427
Change 3467254 by Mieszko.Zielinski
Added an AI helper BP function that supplies caller with a copy of navigation path given controller is currently following #UE4
Change 3467644 by Dan.Oconnor
Fix for cook issues in ocean when using compilation manager, one issue caused by bad dependencies list, one issue caused by lack of subobject mapping in archetype reinstancing.
#jira UE-45443, UE-45444
Change 3468176 by Dan.Oconnor
Fix dependent blueprints being marked dirty when a blueprint is compiled
Change 3468353 by Michael.Noland
UnrealHeaderTool: Improved the warning generated when missing Category= on a function or property declared in an engine module, and centralized the logic that determines if the module is engine or game
Change 3470532 by Dan.Oconnor
Re-enable compilation manager
Change 3470572 by Dan.Oconnor
Fix for pin paramters resetting when an archetype was reinstanced
#jira UE-45619
#rnx
Change 3471949 by Mason.Seay
Adding Primary Assets for testing
Change 3472074 by Ben.Zeigler
#jira UE-45140 Convert iterative cooking to use the Asset Registry as it's only mode, remove old hash and timestamp versions. This allows deleting the entire PackageDependencyInfo module
Change the asset registry iteration to not compute a hash at all, and instead store the script package guids in it's cache.
Expose bIgnoreIniSettingsOutOfDateForIteration and bIgnoreScriptPackagesOutOfDateForIteration in cooker settings, affects rather to listen to ini/script changes when doing iterative cooking
Change 3472079 by Ben.Zeigler
With new incremental cook options, change Fortnite to never care about ini settings, but do care about code changes. This can be changed but from previous discussions we wanted to be more safe than fast here
Change 3473429 by Lukasz.Furman
changed path following update tick to allow working on "invalid, update pending" paths, solves AI getting stuck when navigation is rebuild very frequently (e.g. every tick from moving mesh)
#jira UE-41884
Change 3473476 by Lukasz.Furman
changed crowd simulation path update tick to allow working on "invalid, update pending" paths, solves AI getting stuck when navigation is rebuild very frequently (e.g. every tick from moving mesh)
#jira UE-41884
Change 3473663 by Ben.Zeigler
Fix it so base k2node registers framework version, this is needed for the assetptr fixup I previously added
Change 3473679 by Mason.Seay
Slight cleanup of test map and added ability to teleport across level for easy navigation
Change 3473712 by Marc.Audy
Do default value validation against the actual value of the default entry of an enum rather than the serialized empty autogenerated default value
Change 3474055 by Marc.Audy
When nodes are reconstructed any pins that were previously linked or set to non-default values that have been removed will no longer simply vanish, but instead will remain in an Orphaned state until dealt with.
#jira UE-41828
Change 3474119 by mason.seay
Tweaked Force Feedback test
Change 3474156 by Marc.Audy
Actually enable orphan pin retention
Change 3474382 by Ben.Zeigler
Class.h Header and comment cleanup. Started this because IsChildOf did not have a comment and it's usage is a bit confusing
Change 3474386 by Ben.Zeigler
Close popup window when adding asset class to audit window
Change 3474491 by Ben.Zeigler
Remove ability for Worlds to not be saved as assets, this has been the default since 2014.
Change 3475363 by Marc.Audy
Alt-click now works with orphaned pins
#jira UE-45699
Change 3475523 by Marc.Audy
Fixup Fortnite and Paragon content for orphaned pin errors and warnings
Change 3475623 by Phillip.Kavan
#jira UE-45477 - Fix an EDL assertion on load in a nativized build with one or more Actor subobjects instanced via the EditInlineNew UI in the BP class defaults property editor.
Change summary:
- Modified FEmitDefaultValueHelper::OuterGenerate() to emit code to construct/initialize instanced subobject values that do not have the RF_DefaultSubObject flag set, and also to recursively handle nested subobjects for those values.
- Modified FEmitDefaultValueHelper::HandleInstancedSubobject() to alternatively emit a 'NewObject' assignment statement rather than a 'CreateDefaultSubobject' statement if only RF_ArchetypeObject is set on the source object value.
Change 3476008 by Dan.Oconnor
Fix for failing to preload our super class's subobjects. Effectively moving UBlueprint::ForceLoad calls earlier in loading process. This only results in data resetting to your parent's parent's default value from your parent's default value.
#jira UE-18765
Change 3476115 by Dan.Oconnor
Fix missing category information for inherited functions when using compilation manager
#jira UE-45660
#rnx
Change 3476577 by Lukasz.Furman
added early outs from navmesh layer generation when there's no walkable cells or contours to avoid allocating 0 bytes by next generation steps (behavior differs between platforms)
#ue4
Change 3476587 by Phillip.Kavan
#jira UE-45517 - Fix a regression in which dragging UMG widgets around in the designer view results in redundantly-compounded BP class properties and context menu actions.
Change summary:
- Modified SDesignerView::ClearDropPreviews() to move the widget that was removed from the tree into the transient package. This ensures that FWidgetBlueprintCompiler::CreateClassVariablesFromBlueprint() won't pick them up.
- Modified SDesignerView::ProcessDropAndAddWidget() to also consider any widgets not added to the 'DropPreviews' array as being transient (i.e. also move them into the transient package since they were not added to the tree).
Notes:
- The regression was introduced by the changes in CL# 3410168, and was merged to Main at CL# 3431398.
#rnx
Change 3476723 by Dan.Oconnor
Match old behavior wrt updating implemented interfaces in blueprints - this logic from FKismetEditorUtilities::CompileBlueprint was missing in compilation manager
#jira UE-45468
#rnx
Change 3476948 by Michael.Noland
Framework: Changed AActor::FindComponentByClass (and AActor::GetComponentByClass by extension) to return nullptr when passed a nullptr class, rather than crashing
Change 3476970 by Ben.Zeigler
Fix bug I introduced in 4.16 where assigning assets to multiple chunks did not work properly
Change 3477536 by Marc.Audy
Don't display default value box on linked orphaned input pins
Change 3477835 by Marc.Audy
Fix pins orphaned by deletion of an entry in a user-defined enum disappearing instead of remaining connected
#jira UE-45754
Change 3478027 by Marc.Audy
Minor performance optimization
#rnx
Change 3478198 by Phillip.Kavan
#jira UE-42431 - Remove an unnecessary ensure() when pasting an event node.
Change summary:
- Modified UEdGraphSchema_K2::CreateSubstituteNode() to no longer ensure() that we have a valid PreExistingNode; it's only used for logging when a substitute node is created in response to a conflict with an existing node.
Change 3478485 by Marc.Audy
Eliminate extraneous error messages about orphaned pins on get/set nodes
#jira UE-45749
#rnx
Change 3478756 by Marc.Audy
Fix fallout from changes to DoesDefaultValueMatchAutogenerated for user defined enums
#jira UE-45721
#rnx
Change 3478926 by Marc.Audy
Non-blueprint type structs can no longer be made/broken
Non-blueprint visible properties in structs will no longer have pins created for them
#jira UE-43122
Change 3478988 by Marc.Audy
DeltaTime for a tick function with a tick interval is now correct after disabling and then reenabling the tick function.
#jira UE-45524
Change 3479818 by Marc.Audy
Allow ctrl-drag off of orphan pins
#jira UE-45803
Change 3480214 by Marc.Audy
Modifications to user defined enumerations are now transacted
#jira UE-43866
Change 3480579 by Marc.Audy
Maintain all pin properties through transactions.
#rn Reference pins that are removed and then restored via undo now correctly have the diamond icon instead of the standard circle.
Change 3481043 by Marc.Audy
Make/Break of structs does not depend on having blueprint exposed properties.
Splitting of a struct pin still requires blueprint exposed properties.
#jira UE-45840
#jira UE-45831
Change 3481271 by Ben.Zeigler
Fix the AssetManager chunking code to use ChunkDependencyInfo instead of a hardcoded check for chunk 0
Clean up ChunkDependencyInfo and make it properly public
Move ShouldSetManager to be WITH_EDITOR
Ported from WEX branch
#RB peter.sauerbrei
Change 3481373 by Dan.Oconnor
Reduce reliance on expensive FindDelegateSignature. 3275922 made warnings about a ambiguous search more likely as it preserved names of members on the REINST_ classes
#jira UE-45704
Change 3481380 by Ben.Zeigler
Change it so Struct and Object AssetRegistrySearchable properties do not show up in content browser, they are not helpful
Change 3482362 by Marc.Audy
Fix properties not exposed to blueprint warnings for input properties on function graphs.
#jira UE-45824
Change 3482406 by Ben.Zeigler
#jira UE-45883 Fix Switch On Gameplay Tag Container node, and add switch nodes to TagCheck map
Change 3482498 by Ben.Zeigler
Attempt to fix hot reload issues with Asset Manager. We need to reset and re-acquire the asset classes when rescanning, as they may be pointing to the replaced class
Change 3482517 by Lukasz.Furman
fixed smart navlink update functions removing important flag
#jira UE-45875
Change 3482538 by Marc.Audy
When comparing float, vector, and rotator values for whether the the default matches the autogenerated do not use the string compare because differences in use of decimal or number of 0s after decimal are then considered not the same float
#jira UE-45846
Change 3482773 by Marc.Audy
Don't show default value or pass by reference for exec pins
#jira UE-45868
Change 3482791 by Ben.Zeigler
#jira UE-45800 Correctly dirty game mode blueprint when changing player controller/etc classes from game mode customization
Fix it so MarkBlueprintAsStructurallyModified calls MarkBlueprintAsModified as several fixes were only in the second function
Change 3483131 by Zak.Middleton
#ue4 - InterpToMovementComponent:
- Fix velocity not zeroed when interpolation stops.
- Various fixes when calculating velocity and time when substepping is enabled.
- Improve accuracy of interpolation when looping and there is time remaining after the loop event is hit. Consume the remainder of the time after the event back in the loop (similar to handling a blocking impact).
#jira UE-45690
Change 3483146 by Phillip.Kavan
#jira UE-38358 - Propagate 'const' function flag from interface Blueprint to implementing Blueprints.
Change summary:
- Modified FBlueprintEditorUtils::MarkBlueprintAsStructurallyModified() to call SkeletalRecompileChildren() on dependent BPs when the target is an interface BP.
- Modified FBlueprintEditorUtils::MarkBlueprintAsStructurallyModified::FRefreshHelper::SkeletalRecompileChildren() to set child BP status to BS_Dirty after compiling.
- Modified ConformInterfaceByName() (FBlueprintEditorUtils) to use the interface's skeleton class for function iteration as well as to match the Function Entry node's 'const' setting to the interface UFunction's signature.
Change 3483340 by Ben.Zeigler
Fix issue querying asset registry after a hot reload, make sure pending kill objects are never considered to be Assets
Change 3483548 by Michael.Noland
Epic Friday: Playing around with some prototype traps
Change 3483700 by Phillip.Kavan
Fix CIS cook crash introduced by last submit.
#rnx
Change 3485217 by Ben.Zeigler
#jira UE-45519 Fix regression introduced in 4.16 where it would no longer cook all maps when no explicit maps were specified in ini or game callback. Moved the code that detects changes before culture/default map code and hardened it to deal with the case where some engine packages were already in the list before it entered the function
Change 3485367 by Dan.Oconnor
Avoid adding mappings to anim node when creating variables on the skeleton class and using the compilation manager
#jira UE-45756
Change 3485565 by Ben.Zeigler
#jira UE-45948 Fix compilation manager to properly reset variable default values after promoting a pin to local variable
Change 3485566 by Marc.Audy
Fix crashes caused by undo/redo of user defined struct changes
#jira UE-45775
#jira UE-45781
Change 3485805 by Michael.Noland
PR #3459: Fix for world origin shifting and SpringArmComponent location lag (Contributed by michail-nikolaev)
#jira UE-43747
Change 3485807 by Michael.Noland
PR #3485: Added additional textures field to paper 2d tileset class (Contributed by gryphonmyers)
#jira UE-44041
Change 3485811 by Michael.Noland
Framework: Fixed a bug in FStreamLevelAction::MakeSafeLevelName to avoid appending the PIE prefix multiple times (fixes functions like Unload Streaming Level when passed a full package name from an instanced streaming level)
Change 3485829 by Michael.Noland
Framework: Made GetWorldAssetPackageFName BlueprintCallable so instanced levels can be unloaded
Change 3485830 by Michael.Noland
PR #3568: add API declarations to ALevelStreamingVolume methods (Contributed by kayama-shift)
#jira UE-45002
Change 3486039 by Michael.Noland
PR #3495: UE-44014: Refreshing node error fixes (Contributed by projectgheist)
- Empty out the ErrorMsg when a node gets refreshed to prevent the same error messages from compounding
- Added support for split pins in UK2Node_Event::IsFunctionEntryCompatible
- Added a missing check for the delegate pin name on the entry node part of UK2Node_Event::IsFunctionEntryCompatible
#jira UE-44014
Change 3486093 by Michael.Noland
PR #3379: Added GAMEPLAYABILITIES_API to all Ability Tasks. (Contributed by ryanjon2040)
#jira UE-42903
Change 3486139 by Michael.Noland
Blueprints: Added new config options for execution wire thickness when not debugging (DefaultExecutionWireThickness) and data wire thicknesses (DefaultDataWireThickness) to the Graph Editor Settings page
#rn
Change 3486154 by Michael.Noland
Framework: Speculative fix for CIS error about FStructOnScope
#rnx
Change 3486180 by Dan.Oconnor
Better match old logic for determining when to skip data only compile
#jira UE-45830
Change 3487276 by Marc.Audy
Fix crash when using Setter with a locally scoped variable
#rnx
Change 3487278 by Marc.Audy
Ensure that pin change notifications occur on all pin breaks unless it is part of a node being garbage collected
Change 3487658 by Marc.Audy
Ensure that child actor template is created for subclasses
#jira UE-45985
Change 3487699 by Marc.Audy
Move non-templated elements out of FArchiveReplaceObjectRef and put them in FArchiveReplaceObjectRefBase
Change 3487813 by Dan.Oconnor
Asset demonstrating a crash
Change 3488101 by Marc.Audy
Fix crash with spawn/construct actor/object from class nodes when they no longer had any pins.
Correctly orphan pins when a node goes to 0 pins.
Change 3488337 by Marc.Audy
Editable pin base should not manually remove pin and let reconstruct node and rewire pins do their job
#jira UE-46020
Change 3488512 by Dan.Oconnor
ConstructObject nodes and SubInstances nodes use skeleton class when compilation manager can provide it
#jira UE-45830, UE-45965
#rnx
Change 3488631 by Michael.Noland
Framework: Fixed a crash when loading a blueprint with a parent class of ALevelBounds caused by trying to register the class default object with a non-existent level
#jira UE-45630
Change 3488665 by Michael.Noland
Blueprints: Improve the details panel customization for optional pin nodes like Struct Member Get/Set
- The category, raw name, and tooltip of the property are now included as part of the filter text as well
- The property tooltip is now displayed when hovering over the property name
- Code updated to use GET_MEMBER_NAME_CHECKED() where appropriate
Change 3489324 by Marc.Audy
Fix recursion causing stack crash
#jira UE-46038
#rnx
Change 3489326 by Marc.Audy
Fix cooking crash
#jira UE-46031
#rnx
Change 3489687 by mason.seay
Assets for testing orphan pins
Change 3489701 by Marc.Audy
Back out changelist 3487278 and 3489443 and make targetted changes for fixing up orphan pin cases where changing connections doesn't remove the pin.
#jira UE-46051
#jira UE-46052
#rnx
Change 3490352 by Dan.Oconnor
Fix for missing WidgetTree on Skeleton class - just look directly at the WidgetBlueprint
#jira UE-46062
Change 3490814 by Marc.Audy
Make callfunction/macro instances save all pins in orphan state more similar to previous behavior
#rnx
Change 3491022 by Dan.Oconnor
Properly clean up 'Key' property when we fail to create a value property
#jira UE-45279
Change 3491071 by Ben.Zeigler
#jira UE-45981 Fix rotation issues, vector/rotator pins with empty strings were not matching due to uninitialized memory.
Change 3491244 by Michael.Noland
Blueprints: Add compile time message back to the output log (will not auto-open the output log if there were no warnings/errors)
#jira UE-32948
Change 3491276 by Michael.Noland
Blueprints: Fixed some bugs where a newly added item would fail show up in the "My Blueprints" tree if there was a filter active (e.g., when promoting a variable)
- Centralized the logic for clearing the filter so it happens when we try and fail to select the item, rather than ad hoc in various other places
- Made it only clear the filter if necessary, rather than (almost) always clearing it when adding an item
#jira UE-43372
Change 3491562 by Marc.Audy
Put back pin removal in to editable pin base and instead modify the pin destroy implementation to take down child split pins with it
#jira UE-46020
#rnx
Change 3491658 by Marc.Audy
Unify RemoveUserDefinedPin implementations. Use version that has break to avoid size change assert
#rnx
Change 3491946 by Marc.Audy
ReconstructSinglePin no longer destroys OldPin (avoids oprhaned sub pins being destroyed before reparented)
RewireOldPinsToNewPins now destroys OldPins at the end (calling code no longer reponsible)
DestroyImpl now prunes out SubPins that had already been trashed
#rnx
Change 3492040 by Marc.Audy
Discard exec/then pins from a callfunction that has been converted to a pure node
#rnx
Change 3492200 by Zak.Middleton
#ue4 - Always reset the input array in AActor::GetComponents(), but do so without affecting allocated size.
Fixes possible regression from CL 3359561 that removed the Reset(...) entirely.
#jira UE-46012
Change 3492290 by Ben.Zeigler
#jira UE-46108 Fix StringLibrary Mid to never crash, Substring had already been fixed
Change 3492311 by Marc.Audy
Don't clear the pin type if what you're connecting to's pin type is wildcard
#rnx
Change 3492680 by Dan.Oconnor
Handle missing generated class when using compilation manager - tested by forcing compile of BP_ParentClassIsMissingType.uasset
Change 3492826 by Marc.Audy
Don't do pin connection list change notifications from DestroyPins while regenerating on load
#jira UE-46112
#rnx
Change 3492851 by Michael.Noland
Core: Fixed various crashes when using UObject::CallFunctionByNameWithArguments with non-trivial argument types by properly initializing the allocated parameters
Change 3492852 by Michael.Noland
Framework: Fixed a crash if ACharacter::FindComponentByClass was passed a nullptr class
Change 3492934 by Marc.Audy
Fix ensure and crash delete macro containing orphaned pin
#rnx
Change 3493079 by Dan.Oconnor
Fix for crash when opening ThirdPersonAnimBlueprint and ThirdPersonAnimBlueprint_Perf then clicking 'Compile' button in ThirdPersonAnimBlueprint editor. Make sure the convenience members in the derived compilers get set when we relink child classes (which requires making cdos, which requires PropagateValuesToCDO..)
#rnx
Change 3493346 by Phillip.Kavan
#jira UE-40560 - Fix a reported crash when pasting nodes between unrelated Blueprint graphs.
Change summary:
- Modified FEdGraphUtilities::PostProcessPastedNodes() to ensure() on a NULL pin entry; this will allow execution to continue while still alerting us since it is an unexpected result. Also added an 'else' case to then remove the NULL entry so that PostPasteNode() implementations don't all have to guard against NULL pin entries. When the node is reconstructed, the NULL entry will be replaced with the correct pin initialized to its default values.
- Modified UEdGraphPin::ImportTextItem() to add some additional logging to parse error cases when importing pin properties from source T3D text. Hopefully this gives us more information when this is encountered in the future.
Change 3493938 by Michael.Noland
Blueprints: Prevent issues with renaming event dispatchers to contain periods (this may be disallowed in the future, but they no longer become uneditable)
#jira UE-45780
Change 3493945 by Michael.Noland
Blueprints: Fixed GetDelegatePoperty typos
#rnx
Change 3493997 by Michael.Noland
Blueprints: Partially reverting changes from CL# 3319966 to reroute nodes, restoring their alignment but losing the symmetrical grab handle changes
#jira UE-45760
Change 3493998 by Dan.Oconnor
Fix rare crash in RefreshStandAloneDefaultsEditor when the blueprint editor is opened and a blueprint had errors in it
Note: I stumbled across this by running a unit test and then opening a blueprint in the BPE. CrashReporter indicates 3 crashes in the last 3 days
Change 3494025 by Michael.Noland
Engine: Deleted some dead code (DEBUGGING_VIEWPORT_SIZES)
#rnx
Change 3494026 by Michael.Noland
Blueprints: V0 of a BlueprintCallable/BlueprintPure function fuzzer
- Calls exposed methods with default parameters on classes it is able to spawn for now, which catches crashes due to null and /0 but not out of bounds issues or ones on classes it can't spawn due to classwithin, abstract, etc...
- Can be called using Test.ScriptFuzzing, won't be integrated into automated tests until it is more fully fleshed out and all known issues are addressed
#rnx
Change 3496382 by Ben.Zeigler
Fix ensure when launching editor with cook on the side and incremental cooking enabled. It now flushes the background asset gather when calling the sync load all assets if one is in progress
Change 3496688 by Marc.Audy
Avoid crashing in component instance data if (for some reason) the Actor's root component isn't properly set up
#jira UE-46073
Change 3496830 by Michael.Noland
Editor: Change FEditorCategoryUtils methods to take UStruct* instead of UClass*, as they are just reading metadata
#rnx
Change 3496840 by Michael.Noland
Framework: Remove the requirement for a local player in UCheatManager::CheatScript, so it can be be started from the server side (doesn't change the availability of the cheat manager, just allows things like the redundant "cheat cheatscript scriptname" to work)
Change 3497038 by Michael.Noland
Fortnite: Added UFortDeveloperSettings to allow developers to auto-run cheats in PIE (does not occur in -game or outside of WITH_EDITOR builds)
- You can specify a list of cheat commands to run when a pawn is possessed (also needs CL# 3496840 for cheatscripts)
- You can also specify a set of items to grant to your local inventory when it is created
Change 3497204 by Marc.Audy
Fix AbilitySystemComponent not being blueprint readable.
#rnx
Change 3497668 by Mieszko.Zielinski
Fixed a crash in BT editor when dealing with enum-typed Blackboard-keys pointing to enum values that have been deleted #UE4
#jira UE-43659
Change 3497677 by Mieszko.Zielinski
Added a community-suggested working solution to patching up dynamic navmesh after world offset #UE4
Also, fixed a crash related to navmesh rebuilding if generation was configured to lazily gather navigatble geometry
#jira UE-41293
Change 3497678 by Mieszko.Zielinski
Marked AbstractNavData class as transient #UE4
We never want to save it to levels
Change 3497679 by Mieszko.Zielinski
Made NavModifierVolume responsive to editor-time property changes #UE4
#jira UE-32831
Change 3497900 by Dan.Oconnor
Fix bad skel reference when using construct object from class, just limiting scope of 3491946. To reproduce the bug just nativize QA Game, including the TM-Gameplay level
#rnx
Change 3497904 by Dan.Oconnor
Use K2Node_Event::FindEventSignatureFunction in order when directly generating the skeleton generated class to get event params correct
#jira UE-46153
#rnx
Change 3497907 by Dan.Oconnor
Correctly set blueprint visibility flags on params for inherited functions when generating the skeleton class
#rnx
#jira UE-46186
Change 3498218 by mason.seay
Updates to pin testing BP's
Change 3498323 by Mieszko.Zielinski
Made UNavCollision instance assigned to StaticMesh not get re-created from scratch every single time any StaticMesh property changes #UE4
Recreation was resulting in some of the UNavCollision's properties not getting saved and the way we were recreating the nav collision could also interfere with undo buffers
#jira UE-44891
Change 3499007 by Marc.Audy
Allow systems to hook Pre and PostCompile to do custom behaviors
Change 3499013 by Mieszko.Zielinski
Made AbstractNavData class non-transient again #UE4
Implemented AbstractNavData instances' transientness in a different manner.
#jira UE-46194
Change 3499204 by Mieszko.Zielinski
Introduced CrowdManagerBase, an engine-level class that can be extended to implement custom crowd management #Orion
Extracted FRecastQueryFilter into a separate file, which will break some peoples' compilation.
#jira UE-43799
Change 3499321 by mason.seay
Updated bp for struct testing
Change 3499388 by Marc.Audy
Allow the compiler log to store off potential messages from earlier in the compile cycle (early validation), that can be committed later (for example once pruning is completed).
Change 3499390 by Marc.Audy
Generate the orphan pin error messages during EarlyValidation, but cache until the regular validation phase. This ensures all are generated, but only those that aren't pruned will be emitted.
#rnx
Change 3499420 by Michael.Noland
Engine: Introduced a new version of UEngine::GetWorldFromContextObject which takes an enum specifying the behavior on failures and updated all existing uses
The new version intentionally does not have a default value for ErrorMode, callers need to think about which variant of behavior they want:
- ReturnNull: Silently returns nullptr, the calling code is expected to handle this gracefully
- LogAndReturnNull: Raises a runtime error but still returns nullptr, the calling code is expected to handle this gracefully
- Assert: Asserts, the calling code is not expecting to handle a failure gracefully
- Deprecated UEngine::GetWorldFromContextObject(object, boolean) and changed the default behavior for the deprecated instances to do LogAndReturnNull rather than Assert, based on the real-world call pattern
- Introduced GetWorldFromContextObjectChecked(object) as a shorthand for passing in EGetWorldErrorMode::Assert
- Made UObject::GetWorldChecked() actually assert if it would return nullptr (under some cases the old function could silently return nullptr while reporting bSupported = true, so it neither ensured nor checked)
- Fixed a race condition in the 'is implemented' bookkeeping logic in GetWorld()/GetWorldChecked() by confining it to the game thread and added a check() to ImplementsGetWorld() to make it clear that it only works on the game thread
The typical recommended call pattern is to use something like:
if (UWorld* World = GEngine->GetWorldFromContextObject(WorldContextObject, EGetWorldErrorMode::LogAndReturnNull))
{
... Do something with World
}
Handling the failure case but requesting a log message (with BP call stack printed out) if it failed. This is now also the default behavior for old calls to UEngine::GetWorldFromContextObject(Object) (using the default value of bChecked=true), which is a behavior change but it matches how the function was being used in practice; the vast majority of call sites actually expected it to potentially fail and handled the nullptr case gracefully; very few places used the return value unguarded and wanted it to assert when passed a nullptr.
#jira UE-42458
Change 3499429 by Michael.Noland
Engine: Removed a bogus TODO (the problematic code had already been reworked)
#rnx
Change 3499470 by Michael.Noland
Core: Improved and corrected the comment for ensure()
- It doesn't crash when checking is disabled (and hasn't since UE3, maybe ever?)
- It now only fires once per ensure() by default, added a note about ensureAlways()
#rnx
Change 3499643 by Marc.Audy
Use TGuardValue instead of manually managing it
#rnx
Change 3499874 by Marc.Audy
Display <Unnamed> instead of nothing for Pins with blank display name in the compiler log
Change 3499875 by Marc.Audy
When changing function parameter types, don't orphan a pin on the function entry/exit nodes (but do at the call sites)
#jira UE-46224
Change 3499927 by Dan.Oconnor
UField::Serialize no longer serialize's its next ptr, UStruct::Serialize serializes all Children properties instead. This resolves a hard circular dependency between function libraries that EDL detected. It was resolved in an ad hoc way by the old linker
#jira UE-43458
Change 3499953 by Michael.Noland
Core: Created a variant of ensure that does runtime error logging without stopping in the debugger and some related functions that print a warning or error and may trigger a BP callstack (under the same rules as FFrame::KismetExecutionMessage)
- These are WIP and the API may change in the future, but are being used to fix various crashes found by fuzzing BP exposed functions
Change 3499957 by Michael.Noland
Animation: Added runtime errors for nullptr ControlRigs passed into BP methods
#rnx
Change 3499958 by Michael.Noland
Blueprints: Changed an ensure in UKismetNodeHelperLibrary::GetValidValue to a runtime error
#rnx
Change 3499959 by Michael.Noland
Engine: Downgrade various checks() to ensures() in the runtime asset cache functions exposed to Blueprints
Change 3499960 by Michael.Noland
AI: Changed UBTFunctionLibrary to not check/ensure if passed a null world context object
Change 3499968 by Michael.Noland
Editor: Fixed a couple of crashes in UEditorLevelUtils when passed nullptr arguments, and reformatted the entire file to fix widespread indentation issues
#rnx
Change 3499969 by Michael.Noland
Engine: Changed the verbosity of the failure log message of UEngine::GetWorldFromContextObject(..., LogAndReturnNull) from Warning to Error, so it always prints out a BP callstack
#rnx
Change 3499973 by Michael.Noland
Rendering: Fixed asserts in various UKismetRenderingLibrary methods if passed a nullptr for the WorldContextObject
- Also fixed flipped warnings in the failure cases for EndDrawCanvasToRenderTarget
Change 3499979 by Michael.Noland
Editor: Prevented a crash in UMaterialEditingLibrary::RecompileMaterial when passed a nullptr material
Change 3499984 by Michael.Noland
Physics: Prevented a crash in UTraceQueryTestResults::AssertEqual when passed in nullptr for Expected
Change 3499993 by Michael.Noland
Blueprints: Added validation when renaming variables, functions, components, multicast delegates, etc... to prevent names from containing some unacceptable characters
- This validation only kicks in when trying to rename an item, so bad names in existing content are 'grandfathered in'
- These bad names can cause bugs when working with content that contains these characters (e.g., names that contain a period cannot be found via FindObject<T>)
- Currently only . is banned, but eventually we may expand it to include all of INVALID_OBJECTNAME_CHARACTERS
Change 3500009 by Michael.Noland
Blueprints: Made the fuzzer skip classes declared in UnrealEd for now (some of the exposed methods change global state that can cause other tests to fail as the fuzzer isn't particularly sandboxed ATM)
#rnx
Change 3500011 by Michael.Noland
Android: Fixed a crash in UAndroidPermissionFunctionLibrary::AcquirePermissions when called with an empty array on non-Android platforms
Change 3500012 by Michael.Noland
Editor: Prevent a crash in UEditorTutorial::OpenAsset when passed a nullptr Asset
Change 3500014 by Michael.Noland
Engine: Changed FRuntimeAssetCacheFilesystemBackend::ClearCache(NAME_None) to not try to clear all cache directories (there is a separate no-args method for that)
Change 3500019 by Michael.Noland
Core: Fixed some more issues with CallFunctionByNameWithArguments and initializing / destroying parameters
- It was skipping the return value and incorrectly relying on the FirstPropertyToInit list which isn't set for by ref arguments
Change 3500020 by Michael.Noland
Automation: Prevent UFunctionalTestingManager::RunAllFunctionalTests and UFunctionalTestingManager* UFunctionalTestingManager::GetManager from crashing when a manager cannot be created (because we can't route to a world)
Change 3501062 by Marc.Audy
MakeArray AddInputPin is often used as part of node expansion, so need to move the transaction out of the function
Fix inability to undo/redo pin additions to sequence node
Add a K2Node_AddPinInterface to generalize the interface that K2Nodes implement to interact with SGraphNodeK2Sequence so it can be more generally used
#jira UE-46164
#jira UE-46270
Change 3501330 by Michael.Noland
AI: Fix an error on shutdown when the CDO of UAIPerceptionComponent tries to clean up (as it was never registered in the first place)
#jira UE-46271
Change 3501356 by Marc.Audy
Fix crash when multi-editing actor blueprints
#jira UE-46248
Change 3501408 by Michael.Noland
Core: Improve the print-out of FFrame::GetStackTrace() / FFrame::GetScriptCallstack() when there is no script stack (e.g., when FFrame::KismetExecutionMessage is called by native code with no BP above in the call stack)
Change 3501457 by Phillip.Kavan
#jira UE-46054 - Fix crash when launching a packaged build that includes a nativized Blueprint instance with a ChildActorComponent instanced via an AddComponent node.
Change summary:
- Removed UK2Node_AddComponent::PostDuplicate(). This eliminates the creation of redundant component templates that were being unnecessarily created during the Blueprint duplication that precedes the nativization pass.
- Modified SMyBlueprint::OnDuplicateAction() to call MakeNewComponentTemplate() in response to a graph duplication action within the same Blueprint context (replaces previous UK2Node_AddComponent::PostDuplicate() impl).
- Modified FEmitDefaultValueHelper::HandleSpecialTypes() to force AddComponent-based CAC-owned template objects in the emitted codegen to use the UDynamicClass as the Outer when instancing. This matches what we already do for SCS-based CAC-owned template objects - that logic was added in CL# 3270456, and this matches up with FBlueprintNativeCodeGenModule::FindReplacedNameAndOuter(), where we specifically handle CAC-owned template objects.
Change 3502741 by Phillip.Kavan
#jira UE-45782 - Fix undo for index pin type changes.
Change summary:
- Modified SGraphPinIndex::OnTypeChanged() to call Modify() on the pin that was changed.
Change 3502939 by Michael.Noland
Back out changelist 3499927
Change 3503087 by Marc.Audy
Re-fixed ocean content as editor had also changed so had to take theirs and redo
#rnx
Change 3503266 by Ben.Zeigler
#jira UE-46335 Fix regression added in 4.16 where AssetRegistry GetAncesorClassNames/GetDerivedClassNames were not working properly in cooked builds for classes not in memory
Change 3503325 by mason.seay
updated Anim BP to prep for pin testing
Change 3503445 by Marc.Audy
Fix crash caused by OldPins being destroyed before rewiring
#rnx
Change 3505024 by Marc.Audy
Fix NodeEffectsPanel blueprint as it was using pins that no longer existed
#rnx
Change 3505254 by Marc.Audy
Don't include orphan pins when gather source property names
If a property doesn't exist for a source property name just skip the property rather than crashing
#jira UE-46345
#rnx
Change 3506125 by Ben.Zeigler
#jira UE-46311 Fix issues when blueprints are reloaded in place, it needs to remove them from root properly and sanitize the old class. It's still not clear why they are being reloaded in place
Change 3506334 by Dan.Oconnor
Move UAnimGraphNode_Base::PreloadRequiredAssets up to K2Node, make sure nodes get a chance to preload data before compilation manager compiles newly loaded blueprints
#jira UE-46411
Change 3506439 by Dan.Oconnor
Return to pre 3488512 behavior for construct object nodes. This means that we can still get warnings on load when users compile after saving a blueprint, but the current behavior loses default values because it's lookng at the skeleton cdo
#jira UE-46308
Change 3506468 by Dan.Oconnor
Return to pre 3488512 behavior, as it causes bad default values
#jira UE-46414
#rnx
Change 3506733 by Marc.Audy
Use the most up to date class to determine whether a property still exists when adding pins during reconstruction
#jira UE-45965
#author Dan.OConnor
#rnx
Change 3507531 by Ben.Zeigler
#jira UE-46449 Better fix to flush the asset registry queue when the editor requests a synchronous scan at startup. Sometimes it can take a few frames because of file handle delays
Change 3507924 by mason.seay
Sanity save of TM-Gameplay and sublevels to maybe resolve level streaming issues
Change 3507962 by Marc.Audy
Remake changes from CL# 3150796 wiped out by WEX-Staging merge to Main in CL# 3479958
#rnx
Change 3509131 by Dan.Oconnor
Compilation manager compile on load flow never called FindExportsInMemoryFirst, which is critical to prevent reloading of UBlueprintGeneratedClasses when Rename clears the export table
#jira UE-46311
Change 3509345 by Marc.Audy
CVar to disable orphan pins if necessary
#rnx
Change 3509959 by Marc.Audy
Protect against crashing due to large values in Timespan From functions
#jira UE-43840
Change 3510040 by Marc.Audy
Remove all the old unneeded ShooterGame test maps
#rnx
[CL 3510073 by Marc Audy in Main branch]
2017-06-26 15:07:18 -04:00
//------------------------------------------------------------------------------
void FBlueprintActionDatabase : : DeferredRemoveEntry ( FObjectKey const & InKey )
{
ActionRemoveQueue . AddUnique ( InKey ) ;
}
2014-07-09 12:17:42 -04:00
//------------------------------------------------------------------------------
void FBlueprintActionDatabase : : RefreshAll ( )
{
2014-08-23 20:16:29 -04:00
TGuardValue < bool > ScopedInitialization ( BlueprintActionDatabaseImpl : : bIsInitializing , true ) ;
2019-01-10 17:26:53 -05:00
BlueprintActionDatabaseImpl : : bRefreshAllRequested = false ;
2014-08-23 20:16:29 -04:00
2015-03-12 19:24:11 -04:00
// Remove callbacks from blueprints
for ( TObjectIterator < UBlueprint > BlueprintIt ; BlueprintIt ; + + BlueprintIt )
{
2019-10-17 17:05:49 -04:00
UBlueprint * Blueprint = * BlueprintIt ;
// Level script BPs are registered using the associated world context. This will clear any registered LSBP actions.
const bool bIsLevelScript = FBlueprintEditorUtils : : IsLevelScriptBlueprint ( Blueprint ) ;
if ( bIsLevelScript )
{
const ULevelScriptBlueprint * LSBP = CastChecked < ULevelScriptBlueprint > ( Blueprint ) ;
if ( UWorld * World = LSBP - > GetWorld ( ) )
{
ClearAssetActions ( World ) ;
}
}
// Do this for all BP assets to both clear registered actions and remove callbacks. In the case of LSBPs, this will just remove callbacks.
ClearAssetActions ( Blueprint ) ;
2015-03-12 19:24:11 -04:00
}
2014-08-23 20:16:29 -04:00
ActionRegistry . Empty ( ) ;
2015-09-24 11:58:53 -04:00
UnloadedActionRegistry . Empty ( ) ;
2014-07-09 12:17:42 -04:00
for ( TObjectIterator < UClass > ClassIt ; ClassIt ; + + ClassIt )
{
UClass * const Class = ( * ClassIt ) ;
RefreshClassActions ( Class ) ;
}
2014-09-23 16:40:48 -04:00
// this handles creating entries for skeletons that were loaded before the database was alive:
for ( TObjectIterator < USkeleton > SkeletonIt ; SkeletonIt ; + + SkeletonIt )
{
FActionList & ClassActionList = ActionRegistry . FindOrAdd ( * SkeletonIt ) ;
BlueprintActionDatabaseImpl : : AddSkeletonActions ( * * SkeletonIt , ClassActionList ) ;
}
2015-02-16 03:50:03 -05:00
2015-03-12 19:24:11 -04:00
FComponentTypeRegistry : : Get ( ) . SubscribeToComponentList ( ComponentTypes ) . RemoveAll ( this ) ;
2015-02-16 03:50:03 -05:00
// this handles creating entries for components that were loaded before the database was alive:
FComponentTypeRegistry : : Get ( ) . SubscribeToComponentList ( ComponentTypes ) . AddRaw ( this , & FBlueprintActionDatabase : : RefreshComponentActions ) ;
RefreshComponentActions ( ) ;
2015-04-11 10:23:56 -04:00
// Refresh existing worlds
RefreshWorlds ( ) ;
}
//------------------------------------------------------------------------------
void FBlueprintActionDatabase : : RefreshWorlds ( )
{
// Add all level scripts from current world
const TIndirectArray < FWorldContext > & WorldContexts = GEngine - > GetWorldContexts ( ) ;
Copying //UE4/Dev-Framework to //UE4/Dev-Main (Source: //UE4/Dev-Framework @ 3510040)
#lockdown Nick.Penwarden
=====================================
MAJOR FEATURES + CHANGES
=====================================
Change 3459524 by Marc.Audy
Get/Set of properties that were previously BPRW/BPRO should error when used
#jira UE-20993
Change 3460004 by Phillip.Kavan
#jira UE-45171 - Fix C++ compilation failures during packaging caused by nativizing a Blueprint that overrides a native function with a 'TSubclassOf' parameter or return value.
Change summary:
- Modified FKismetCompilerContext::CreateParametersForFunction() to pass the 'CPF_UObjectWrapper' flag through to new function parameter properties during Blueprint compilation.
Change 3461210 by Phillip.Kavan
#jira UE-44505 - Fix occasional Blueprint editor crashes that could occur while rebuilding the context menu from the action registry.
Change summary:
- Modified FBlueprintActionDatabase::FActionRegistry to use an FObjectKey as the key type. This allows us to test entries for UObject validity before rebuilding context menu items based on the action database.
- Changed FBlueprintActionInfo::CachedOwnerClass to be a TWeakObjectPtr rather than a raw UClass* since it's based on the ActionOwner, which could potentially become invalid after the OwnerClass has been cached.
- Modified FBlueprintActionDatabase::RefreshAssetActions() to exclude World assets if the WorldType is not EWorldType::Editor. This eliminates an issue with unreferenced "inactive" GC'd world objects being left in the BP action registry after cooking, at which point the keys could become invalid.
- Added FBlueprintActionDatabase::DeferredRemoveEntry() to allow for scheduling removal of entries from outside of the database if they are known to be invalid.
- Modified FBlueprintActionDatabase::Tick() to handle deferred entry removals.
- Modified FBlueprintActionMenuBuilder::RebuildActionList() to both test actions for validity before building menu items and schedule removal of invalid actions on the next tick.
Notes:
- Alternatively we could just include UObject keys in the database's AddReferencedObject impl, but that would then prevent objects from ever being GC'd if they are not explicitly removed. For most entries the action database takes the approach of explicitly removing entries via delegate when the UObject is destroyed, so I chose to use a TWeakObjectPtr instead so that any entries that may not be getting explicitly removed via delegate will now simply become invalidated if the UObject key is GC'd due to not being referenced. I also set it up to clean and remove any entries (along with any associated node spawners) that are found to be invalid the next time we open the BP editor.
Change 3461373 by Lukasz.Furman
fixed async navmesh rebuilds not kicking in for requests from navdata.bForceRebuildOnLoad
#jira UE-44231
Change 3461409 by Lukasz.Furman
fixed reenabling automatic navmesh generation in Editor Preferences
#ue4
Change 3461550 by Ben.Zeigler
#jira UE-45328 Fix local variable support for Redirectors and other save-time validation. We need to run the local variables to UProperty and back at save time
Add new flag PPF_SerializedAsImportText which is used for BP pins/default values and indicates that something has been serialized as import text and so needs to handle string asset redirectors
Change 3462625 by Zak.Middleton
#ue4 - Fix InterpToMovementComponent not setting velocity on the object it moves. Fix movement rate when substepping enabled (other related fixes to come).
github PR #3620
Change 3462796 by Dan.Oconnor
Fix for spamming BroadcastBlueprintReinstanced and for creating CDO at wrong time when compiling FrontEnd.uasset in OrionGame
#jira UE-45434
Change 3462995 by Ben.Zeigler
#jira UE-16941 Fix it so Load Asset node works with a literal value as well as a connected pin
Change 3463099 by Ben.Zeigler
#jira UE-45471 Allow abstract base classes for primary assets
Change 3464809 by Marc.Audy
Expose FVector2D / FVector2D to blueprints
#jira UE-45427
Change 3467254 by Mieszko.Zielinski
Added an AI helper BP function that supplies caller with a copy of navigation path given controller is currently following #UE4
Change 3467644 by Dan.Oconnor
Fix for cook issues in ocean when using compilation manager, one issue caused by bad dependencies list, one issue caused by lack of subobject mapping in archetype reinstancing.
#jira UE-45443, UE-45444
Change 3468176 by Dan.Oconnor
Fix dependent blueprints being marked dirty when a blueprint is compiled
Change 3468353 by Michael.Noland
UnrealHeaderTool: Improved the warning generated when missing Category= on a function or property declared in an engine module, and centralized the logic that determines if the module is engine or game
Change 3470532 by Dan.Oconnor
Re-enable compilation manager
Change 3470572 by Dan.Oconnor
Fix for pin paramters resetting when an archetype was reinstanced
#jira UE-45619
#rnx
Change 3471949 by Mason.Seay
Adding Primary Assets for testing
Change 3472074 by Ben.Zeigler
#jira UE-45140 Convert iterative cooking to use the Asset Registry as it's only mode, remove old hash and timestamp versions. This allows deleting the entire PackageDependencyInfo module
Change the asset registry iteration to not compute a hash at all, and instead store the script package guids in it's cache.
Expose bIgnoreIniSettingsOutOfDateForIteration and bIgnoreScriptPackagesOutOfDateForIteration in cooker settings, affects rather to listen to ini/script changes when doing iterative cooking
Change 3472079 by Ben.Zeigler
With new incremental cook options, change Fortnite to never care about ini settings, but do care about code changes. This can be changed but from previous discussions we wanted to be more safe than fast here
Change 3473429 by Lukasz.Furman
changed path following update tick to allow working on "invalid, update pending" paths, solves AI getting stuck when navigation is rebuild very frequently (e.g. every tick from moving mesh)
#jira UE-41884
Change 3473476 by Lukasz.Furman
changed crowd simulation path update tick to allow working on "invalid, update pending" paths, solves AI getting stuck when navigation is rebuild very frequently (e.g. every tick from moving mesh)
#jira UE-41884
Change 3473663 by Ben.Zeigler
Fix it so base k2node registers framework version, this is needed for the assetptr fixup I previously added
Change 3473679 by Mason.Seay
Slight cleanup of test map and added ability to teleport across level for easy navigation
Change 3473712 by Marc.Audy
Do default value validation against the actual value of the default entry of an enum rather than the serialized empty autogenerated default value
Change 3474055 by Marc.Audy
When nodes are reconstructed any pins that were previously linked or set to non-default values that have been removed will no longer simply vanish, but instead will remain in an Orphaned state until dealt with.
#jira UE-41828
Change 3474119 by mason.seay
Tweaked Force Feedback test
Change 3474156 by Marc.Audy
Actually enable orphan pin retention
Change 3474382 by Ben.Zeigler
Class.h Header and comment cleanup. Started this because IsChildOf did not have a comment and it's usage is a bit confusing
Change 3474386 by Ben.Zeigler
Close popup window when adding asset class to audit window
Change 3474491 by Ben.Zeigler
Remove ability for Worlds to not be saved as assets, this has been the default since 2014.
Change 3475363 by Marc.Audy
Alt-click now works with orphaned pins
#jira UE-45699
Change 3475523 by Marc.Audy
Fixup Fortnite and Paragon content for orphaned pin errors and warnings
Change 3475623 by Phillip.Kavan
#jira UE-45477 - Fix an EDL assertion on load in a nativized build with one or more Actor subobjects instanced via the EditInlineNew UI in the BP class defaults property editor.
Change summary:
- Modified FEmitDefaultValueHelper::OuterGenerate() to emit code to construct/initialize instanced subobject values that do not have the RF_DefaultSubObject flag set, and also to recursively handle nested subobjects for those values.
- Modified FEmitDefaultValueHelper::HandleInstancedSubobject() to alternatively emit a 'NewObject' assignment statement rather than a 'CreateDefaultSubobject' statement if only RF_ArchetypeObject is set on the source object value.
Change 3476008 by Dan.Oconnor
Fix for failing to preload our super class's subobjects. Effectively moving UBlueprint::ForceLoad calls earlier in loading process. This only results in data resetting to your parent's parent's default value from your parent's default value.
#jira UE-18765
Change 3476115 by Dan.Oconnor
Fix missing category information for inherited functions when using compilation manager
#jira UE-45660
#rnx
Change 3476577 by Lukasz.Furman
added early outs from navmesh layer generation when there's no walkable cells or contours to avoid allocating 0 bytes by next generation steps (behavior differs between platforms)
#ue4
Change 3476587 by Phillip.Kavan
#jira UE-45517 - Fix a regression in which dragging UMG widgets around in the designer view results in redundantly-compounded BP class properties and context menu actions.
Change summary:
- Modified SDesignerView::ClearDropPreviews() to move the widget that was removed from the tree into the transient package. This ensures that FWidgetBlueprintCompiler::CreateClassVariablesFromBlueprint() won't pick them up.
- Modified SDesignerView::ProcessDropAndAddWidget() to also consider any widgets not added to the 'DropPreviews' array as being transient (i.e. also move them into the transient package since they were not added to the tree).
Notes:
- The regression was introduced by the changes in CL# 3410168, and was merged to Main at CL# 3431398.
#rnx
Change 3476723 by Dan.Oconnor
Match old behavior wrt updating implemented interfaces in blueprints - this logic from FKismetEditorUtilities::CompileBlueprint was missing in compilation manager
#jira UE-45468
#rnx
Change 3476948 by Michael.Noland
Framework: Changed AActor::FindComponentByClass (and AActor::GetComponentByClass by extension) to return nullptr when passed a nullptr class, rather than crashing
Change 3476970 by Ben.Zeigler
Fix bug I introduced in 4.16 where assigning assets to multiple chunks did not work properly
Change 3477536 by Marc.Audy
Don't display default value box on linked orphaned input pins
Change 3477835 by Marc.Audy
Fix pins orphaned by deletion of an entry in a user-defined enum disappearing instead of remaining connected
#jira UE-45754
Change 3478027 by Marc.Audy
Minor performance optimization
#rnx
Change 3478198 by Phillip.Kavan
#jira UE-42431 - Remove an unnecessary ensure() when pasting an event node.
Change summary:
- Modified UEdGraphSchema_K2::CreateSubstituteNode() to no longer ensure() that we have a valid PreExistingNode; it's only used for logging when a substitute node is created in response to a conflict with an existing node.
Change 3478485 by Marc.Audy
Eliminate extraneous error messages about orphaned pins on get/set nodes
#jira UE-45749
#rnx
Change 3478756 by Marc.Audy
Fix fallout from changes to DoesDefaultValueMatchAutogenerated for user defined enums
#jira UE-45721
#rnx
Change 3478926 by Marc.Audy
Non-blueprint type structs can no longer be made/broken
Non-blueprint visible properties in structs will no longer have pins created for them
#jira UE-43122
Change 3478988 by Marc.Audy
DeltaTime for a tick function with a tick interval is now correct after disabling and then reenabling the tick function.
#jira UE-45524
Change 3479818 by Marc.Audy
Allow ctrl-drag off of orphan pins
#jira UE-45803
Change 3480214 by Marc.Audy
Modifications to user defined enumerations are now transacted
#jira UE-43866
Change 3480579 by Marc.Audy
Maintain all pin properties through transactions.
#rn Reference pins that are removed and then restored via undo now correctly have the diamond icon instead of the standard circle.
Change 3481043 by Marc.Audy
Make/Break of structs does not depend on having blueprint exposed properties.
Splitting of a struct pin still requires blueprint exposed properties.
#jira UE-45840
#jira UE-45831
Change 3481271 by Ben.Zeigler
Fix the AssetManager chunking code to use ChunkDependencyInfo instead of a hardcoded check for chunk 0
Clean up ChunkDependencyInfo and make it properly public
Move ShouldSetManager to be WITH_EDITOR
Ported from WEX branch
#RB peter.sauerbrei
Change 3481373 by Dan.Oconnor
Reduce reliance on expensive FindDelegateSignature. 3275922 made warnings about a ambiguous search more likely as it preserved names of members on the REINST_ classes
#jira UE-45704
Change 3481380 by Ben.Zeigler
Change it so Struct and Object AssetRegistrySearchable properties do not show up in content browser, they are not helpful
Change 3482362 by Marc.Audy
Fix properties not exposed to blueprint warnings for input properties on function graphs.
#jira UE-45824
Change 3482406 by Ben.Zeigler
#jira UE-45883 Fix Switch On Gameplay Tag Container node, and add switch nodes to TagCheck map
Change 3482498 by Ben.Zeigler
Attempt to fix hot reload issues with Asset Manager. We need to reset and re-acquire the asset classes when rescanning, as they may be pointing to the replaced class
Change 3482517 by Lukasz.Furman
fixed smart navlink update functions removing important flag
#jira UE-45875
Change 3482538 by Marc.Audy
When comparing float, vector, and rotator values for whether the the default matches the autogenerated do not use the string compare because differences in use of decimal or number of 0s after decimal are then considered not the same float
#jira UE-45846
Change 3482773 by Marc.Audy
Don't show default value or pass by reference for exec pins
#jira UE-45868
Change 3482791 by Ben.Zeigler
#jira UE-45800 Correctly dirty game mode blueprint when changing player controller/etc classes from game mode customization
Fix it so MarkBlueprintAsStructurallyModified calls MarkBlueprintAsModified as several fixes were only in the second function
Change 3483131 by Zak.Middleton
#ue4 - InterpToMovementComponent:
- Fix velocity not zeroed when interpolation stops.
- Various fixes when calculating velocity and time when substepping is enabled.
- Improve accuracy of interpolation when looping and there is time remaining after the loop event is hit. Consume the remainder of the time after the event back in the loop (similar to handling a blocking impact).
#jira UE-45690
Change 3483146 by Phillip.Kavan
#jira UE-38358 - Propagate 'const' function flag from interface Blueprint to implementing Blueprints.
Change summary:
- Modified FBlueprintEditorUtils::MarkBlueprintAsStructurallyModified() to call SkeletalRecompileChildren() on dependent BPs when the target is an interface BP.
- Modified FBlueprintEditorUtils::MarkBlueprintAsStructurallyModified::FRefreshHelper::SkeletalRecompileChildren() to set child BP status to BS_Dirty after compiling.
- Modified ConformInterfaceByName() (FBlueprintEditorUtils) to use the interface's skeleton class for function iteration as well as to match the Function Entry node's 'const' setting to the interface UFunction's signature.
Change 3483340 by Ben.Zeigler
Fix issue querying asset registry after a hot reload, make sure pending kill objects are never considered to be Assets
Change 3483548 by Michael.Noland
Epic Friday: Playing around with some prototype traps
Change 3483700 by Phillip.Kavan
Fix CIS cook crash introduced by last submit.
#rnx
Change 3485217 by Ben.Zeigler
#jira UE-45519 Fix regression introduced in 4.16 where it would no longer cook all maps when no explicit maps were specified in ini or game callback. Moved the code that detects changes before culture/default map code and hardened it to deal with the case where some engine packages were already in the list before it entered the function
Change 3485367 by Dan.Oconnor
Avoid adding mappings to anim node when creating variables on the skeleton class and using the compilation manager
#jira UE-45756
Change 3485565 by Ben.Zeigler
#jira UE-45948 Fix compilation manager to properly reset variable default values after promoting a pin to local variable
Change 3485566 by Marc.Audy
Fix crashes caused by undo/redo of user defined struct changes
#jira UE-45775
#jira UE-45781
Change 3485805 by Michael.Noland
PR #3459: Fix for world origin shifting and SpringArmComponent location lag (Contributed by michail-nikolaev)
#jira UE-43747
Change 3485807 by Michael.Noland
PR #3485: Added additional textures field to paper 2d tileset class (Contributed by gryphonmyers)
#jira UE-44041
Change 3485811 by Michael.Noland
Framework: Fixed a bug in FStreamLevelAction::MakeSafeLevelName to avoid appending the PIE prefix multiple times (fixes functions like Unload Streaming Level when passed a full package name from an instanced streaming level)
Change 3485829 by Michael.Noland
Framework: Made GetWorldAssetPackageFName BlueprintCallable so instanced levels can be unloaded
Change 3485830 by Michael.Noland
PR #3568: add API declarations to ALevelStreamingVolume methods (Contributed by kayama-shift)
#jira UE-45002
Change 3486039 by Michael.Noland
PR #3495: UE-44014: Refreshing node error fixes (Contributed by projectgheist)
- Empty out the ErrorMsg when a node gets refreshed to prevent the same error messages from compounding
- Added support for split pins in UK2Node_Event::IsFunctionEntryCompatible
- Added a missing check for the delegate pin name on the entry node part of UK2Node_Event::IsFunctionEntryCompatible
#jira UE-44014
Change 3486093 by Michael.Noland
PR #3379: Added GAMEPLAYABILITIES_API to all Ability Tasks. (Contributed by ryanjon2040)
#jira UE-42903
Change 3486139 by Michael.Noland
Blueprints: Added new config options for execution wire thickness when not debugging (DefaultExecutionWireThickness) and data wire thicknesses (DefaultDataWireThickness) to the Graph Editor Settings page
#rn
Change 3486154 by Michael.Noland
Framework: Speculative fix for CIS error about FStructOnScope
#rnx
Change 3486180 by Dan.Oconnor
Better match old logic for determining when to skip data only compile
#jira UE-45830
Change 3487276 by Marc.Audy
Fix crash when using Setter with a locally scoped variable
#rnx
Change 3487278 by Marc.Audy
Ensure that pin change notifications occur on all pin breaks unless it is part of a node being garbage collected
Change 3487658 by Marc.Audy
Ensure that child actor template is created for subclasses
#jira UE-45985
Change 3487699 by Marc.Audy
Move non-templated elements out of FArchiveReplaceObjectRef and put them in FArchiveReplaceObjectRefBase
Change 3487813 by Dan.Oconnor
Asset demonstrating a crash
Change 3488101 by Marc.Audy
Fix crash with spawn/construct actor/object from class nodes when they no longer had any pins.
Correctly orphan pins when a node goes to 0 pins.
Change 3488337 by Marc.Audy
Editable pin base should not manually remove pin and let reconstruct node and rewire pins do their job
#jira UE-46020
Change 3488512 by Dan.Oconnor
ConstructObject nodes and SubInstances nodes use skeleton class when compilation manager can provide it
#jira UE-45830, UE-45965
#rnx
Change 3488631 by Michael.Noland
Framework: Fixed a crash when loading a blueprint with a parent class of ALevelBounds caused by trying to register the class default object with a non-existent level
#jira UE-45630
Change 3488665 by Michael.Noland
Blueprints: Improve the details panel customization for optional pin nodes like Struct Member Get/Set
- The category, raw name, and tooltip of the property are now included as part of the filter text as well
- The property tooltip is now displayed when hovering over the property name
- Code updated to use GET_MEMBER_NAME_CHECKED() where appropriate
Change 3489324 by Marc.Audy
Fix recursion causing stack crash
#jira UE-46038
#rnx
Change 3489326 by Marc.Audy
Fix cooking crash
#jira UE-46031
#rnx
Change 3489687 by mason.seay
Assets for testing orphan pins
Change 3489701 by Marc.Audy
Back out changelist 3487278 and 3489443 and make targetted changes for fixing up orphan pin cases where changing connections doesn't remove the pin.
#jira UE-46051
#jira UE-46052
#rnx
Change 3490352 by Dan.Oconnor
Fix for missing WidgetTree on Skeleton class - just look directly at the WidgetBlueprint
#jira UE-46062
Change 3490814 by Marc.Audy
Make callfunction/macro instances save all pins in orphan state more similar to previous behavior
#rnx
Change 3491022 by Dan.Oconnor
Properly clean up 'Key' property when we fail to create a value property
#jira UE-45279
Change 3491071 by Ben.Zeigler
#jira UE-45981 Fix rotation issues, vector/rotator pins with empty strings were not matching due to uninitialized memory.
Change 3491244 by Michael.Noland
Blueprints: Add compile time message back to the output log (will not auto-open the output log if there were no warnings/errors)
#jira UE-32948
Change 3491276 by Michael.Noland
Blueprints: Fixed some bugs where a newly added item would fail show up in the "My Blueprints" tree if there was a filter active (e.g., when promoting a variable)
- Centralized the logic for clearing the filter so it happens when we try and fail to select the item, rather than ad hoc in various other places
- Made it only clear the filter if necessary, rather than (almost) always clearing it when adding an item
#jira UE-43372
Change 3491562 by Marc.Audy
Put back pin removal in to editable pin base and instead modify the pin destroy implementation to take down child split pins with it
#jira UE-46020
#rnx
Change 3491658 by Marc.Audy
Unify RemoveUserDefinedPin implementations. Use version that has break to avoid size change assert
#rnx
Change 3491946 by Marc.Audy
ReconstructSinglePin no longer destroys OldPin (avoids oprhaned sub pins being destroyed before reparented)
RewireOldPinsToNewPins now destroys OldPins at the end (calling code no longer reponsible)
DestroyImpl now prunes out SubPins that had already been trashed
#rnx
Change 3492040 by Marc.Audy
Discard exec/then pins from a callfunction that has been converted to a pure node
#rnx
Change 3492200 by Zak.Middleton
#ue4 - Always reset the input array in AActor::GetComponents(), but do so without affecting allocated size.
Fixes possible regression from CL 3359561 that removed the Reset(...) entirely.
#jira UE-46012
Change 3492290 by Ben.Zeigler
#jira UE-46108 Fix StringLibrary Mid to never crash, Substring had already been fixed
Change 3492311 by Marc.Audy
Don't clear the pin type if what you're connecting to's pin type is wildcard
#rnx
Change 3492680 by Dan.Oconnor
Handle missing generated class when using compilation manager - tested by forcing compile of BP_ParentClassIsMissingType.uasset
Change 3492826 by Marc.Audy
Don't do pin connection list change notifications from DestroyPins while regenerating on load
#jira UE-46112
#rnx
Change 3492851 by Michael.Noland
Core: Fixed various crashes when using UObject::CallFunctionByNameWithArguments with non-trivial argument types by properly initializing the allocated parameters
Change 3492852 by Michael.Noland
Framework: Fixed a crash if ACharacter::FindComponentByClass was passed a nullptr class
Change 3492934 by Marc.Audy
Fix ensure and crash delete macro containing orphaned pin
#rnx
Change 3493079 by Dan.Oconnor
Fix for crash when opening ThirdPersonAnimBlueprint and ThirdPersonAnimBlueprint_Perf then clicking 'Compile' button in ThirdPersonAnimBlueprint editor. Make sure the convenience members in the derived compilers get set when we relink child classes (which requires making cdos, which requires PropagateValuesToCDO..)
#rnx
Change 3493346 by Phillip.Kavan
#jira UE-40560 - Fix a reported crash when pasting nodes between unrelated Blueprint graphs.
Change summary:
- Modified FEdGraphUtilities::PostProcessPastedNodes() to ensure() on a NULL pin entry; this will allow execution to continue while still alerting us since it is an unexpected result. Also added an 'else' case to then remove the NULL entry so that PostPasteNode() implementations don't all have to guard against NULL pin entries. When the node is reconstructed, the NULL entry will be replaced with the correct pin initialized to its default values.
- Modified UEdGraphPin::ImportTextItem() to add some additional logging to parse error cases when importing pin properties from source T3D text. Hopefully this gives us more information when this is encountered in the future.
Change 3493938 by Michael.Noland
Blueprints: Prevent issues with renaming event dispatchers to contain periods (this may be disallowed in the future, but they no longer become uneditable)
#jira UE-45780
Change 3493945 by Michael.Noland
Blueprints: Fixed GetDelegatePoperty typos
#rnx
Change 3493997 by Michael.Noland
Blueprints: Partially reverting changes from CL# 3319966 to reroute nodes, restoring their alignment but losing the symmetrical grab handle changes
#jira UE-45760
Change 3493998 by Dan.Oconnor
Fix rare crash in RefreshStandAloneDefaultsEditor when the blueprint editor is opened and a blueprint had errors in it
Note: I stumbled across this by running a unit test and then opening a blueprint in the BPE. CrashReporter indicates 3 crashes in the last 3 days
Change 3494025 by Michael.Noland
Engine: Deleted some dead code (DEBUGGING_VIEWPORT_SIZES)
#rnx
Change 3494026 by Michael.Noland
Blueprints: V0 of a BlueprintCallable/BlueprintPure function fuzzer
- Calls exposed methods with default parameters on classes it is able to spawn for now, which catches crashes due to null and /0 but not out of bounds issues or ones on classes it can't spawn due to classwithin, abstract, etc...
- Can be called using Test.ScriptFuzzing, won't be integrated into automated tests until it is more fully fleshed out and all known issues are addressed
#rnx
Change 3496382 by Ben.Zeigler
Fix ensure when launching editor with cook on the side and incremental cooking enabled. It now flushes the background asset gather when calling the sync load all assets if one is in progress
Change 3496688 by Marc.Audy
Avoid crashing in component instance data if (for some reason) the Actor's root component isn't properly set up
#jira UE-46073
Change 3496830 by Michael.Noland
Editor: Change FEditorCategoryUtils methods to take UStruct* instead of UClass*, as they are just reading metadata
#rnx
Change 3496840 by Michael.Noland
Framework: Remove the requirement for a local player in UCheatManager::CheatScript, so it can be be started from the server side (doesn't change the availability of the cheat manager, just allows things like the redundant "cheat cheatscript scriptname" to work)
Change 3497038 by Michael.Noland
Fortnite: Added UFortDeveloperSettings to allow developers to auto-run cheats in PIE (does not occur in -game or outside of WITH_EDITOR builds)
- You can specify a list of cheat commands to run when a pawn is possessed (also needs CL# 3496840 for cheatscripts)
- You can also specify a set of items to grant to your local inventory when it is created
Change 3497204 by Marc.Audy
Fix AbilitySystemComponent not being blueprint readable.
#rnx
Change 3497668 by Mieszko.Zielinski
Fixed a crash in BT editor when dealing with enum-typed Blackboard-keys pointing to enum values that have been deleted #UE4
#jira UE-43659
Change 3497677 by Mieszko.Zielinski
Added a community-suggested working solution to patching up dynamic navmesh after world offset #UE4
Also, fixed a crash related to navmesh rebuilding if generation was configured to lazily gather navigatble geometry
#jira UE-41293
Change 3497678 by Mieszko.Zielinski
Marked AbstractNavData class as transient #UE4
We never want to save it to levels
Change 3497679 by Mieszko.Zielinski
Made NavModifierVolume responsive to editor-time property changes #UE4
#jira UE-32831
Change 3497900 by Dan.Oconnor
Fix bad skel reference when using construct object from class, just limiting scope of 3491946. To reproduce the bug just nativize QA Game, including the TM-Gameplay level
#rnx
Change 3497904 by Dan.Oconnor
Use K2Node_Event::FindEventSignatureFunction in order when directly generating the skeleton generated class to get event params correct
#jira UE-46153
#rnx
Change 3497907 by Dan.Oconnor
Correctly set blueprint visibility flags on params for inherited functions when generating the skeleton class
#rnx
#jira UE-46186
Change 3498218 by mason.seay
Updates to pin testing BP's
Change 3498323 by Mieszko.Zielinski
Made UNavCollision instance assigned to StaticMesh not get re-created from scratch every single time any StaticMesh property changes #UE4
Recreation was resulting in some of the UNavCollision's properties not getting saved and the way we were recreating the nav collision could also interfere with undo buffers
#jira UE-44891
Change 3499007 by Marc.Audy
Allow systems to hook Pre and PostCompile to do custom behaviors
Change 3499013 by Mieszko.Zielinski
Made AbstractNavData class non-transient again #UE4
Implemented AbstractNavData instances' transientness in a different manner.
#jira UE-46194
Change 3499204 by Mieszko.Zielinski
Introduced CrowdManagerBase, an engine-level class that can be extended to implement custom crowd management #Orion
Extracted FRecastQueryFilter into a separate file, which will break some peoples' compilation.
#jira UE-43799
Change 3499321 by mason.seay
Updated bp for struct testing
Change 3499388 by Marc.Audy
Allow the compiler log to store off potential messages from earlier in the compile cycle (early validation), that can be committed later (for example once pruning is completed).
Change 3499390 by Marc.Audy
Generate the orphan pin error messages during EarlyValidation, but cache until the regular validation phase. This ensures all are generated, but only those that aren't pruned will be emitted.
#rnx
Change 3499420 by Michael.Noland
Engine: Introduced a new version of UEngine::GetWorldFromContextObject which takes an enum specifying the behavior on failures and updated all existing uses
The new version intentionally does not have a default value for ErrorMode, callers need to think about which variant of behavior they want:
- ReturnNull: Silently returns nullptr, the calling code is expected to handle this gracefully
- LogAndReturnNull: Raises a runtime error but still returns nullptr, the calling code is expected to handle this gracefully
- Assert: Asserts, the calling code is not expecting to handle a failure gracefully
- Deprecated UEngine::GetWorldFromContextObject(object, boolean) and changed the default behavior for the deprecated instances to do LogAndReturnNull rather than Assert, based on the real-world call pattern
- Introduced GetWorldFromContextObjectChecked(object) as a shorthand for passing in EGetWorldErrorMode::Assert
- Made UObject::GetWorldChecked() actually assert if it would return nullptr (under some cases the old function could silently return nullptr while reporting bSupported = true, so it neither ensured nor checked)
- Fixed a race condition in the 'is implemented' bookkeeping logic in GetWorld()/GetWorldChecked() by confining it to the game thread and added a check() to ImplementsGetWorld() to make it clear that it only works on the game thread
The typical recommended call pattern is to use something like:
if (UWorld* World = GEngine->GetWorldFromContextObject(WorldContextObject, EGetWorldErrorMode::LogAndReturnNull))
{
... Do something with World
}
Handling the failure case but requesting a log message (with BP call stack printed out) if it failed. This is now also the default behavior for old calls to UEngine::GetWorldFromContextObject(Object) (using the default value of bChecked=true), which is a behavior change but it matches how the function was being used in practice; the vast majority of call sites actually expected it to potentially fail and handled the nullptr case gracefully; very few places used the return value unguarded and wanted it to assert when passed a nullptr.
#jira UE-42458
Change 3499429 by Michael.Noland
Engine: Removed a bogus TODO (the problematic code had already been reworked)
#rnx
Change 3499470 by Michael.Noland
Core: Improved and corrected the comment for ensure()
- It doesn't crash when checking is disabled (and hasn't since UE3, maybe ever?)
- It now only fires once per ensure() by default, added a note about ensureAlways()
#rnx
Change 3499643 by Marc.Audy
Use TGuardValue instead of manually managing it
#rnx
Change 3499874 by Marc.Audy
Display <Unnamed> instead of nothing for Pins with blank display name in the compiler log
Change 3499875 by Marc.Audy
When changing function parameter types, don't orphan a pin on the function entry/exit nodes (but do at the call sites)
#jira UE-46224
Change 3499927 by Dan.Oconnor
UField::Serialize no longer serialize's its next ptr, UStruct::Serialize serializes all Children properties instead. This resolves a hard circular dependency between function libraries that EDL detected. It was resolved in an ad hoc way by the old linker
#jira UE-43458
Change 3499953 by Michael.Noland
Core: Created a variant of ensure that does runtime error logging without stopping in the debugger and some related functions that print a warning or error and may trigger a BP callstack (under the same rules as FFrame::KismetExecutionMessage)
- These are WIP and the API may change in the future, but are being used to fix various crashes found by fuzzing BP exposed functions
Change 3499957 by Michael.Noland
Animation: Added runtime errors for nullptr ControlRigs passed into BP methods
#rnx
Change 3499958 by Michael.Noland
Blueprints: Changed an ensure in UKismetNodeHelperLibrary::GetValidValue to a runtime error
#rnx
Change 3499959 by Michael.Noland
Engine: Downgrade various checks() to ensures() in the runtime asset cache functions exposed to Blueprints
Change 3499960 by Michael.Noland
AI: Changed UBTFunctionLibrary to not check/ensure if passed a null world context object
Change 3499968 by Michael.Noland
Editor: Fixed a couple of crashes in UEditorLevelUtils when passed nullptr arguments, and reformatted the entire file to fix widespread indentation issues
#rnx
Change 3499969 by Michael.Noland
Engine: Changed the verbosity of the failure log message of UEngine::GetWorldFromContextObject(..., LogAndReturnNull) from Warning to Error, so it always prints out a BP callstack
#rnx
Change 3499973 by Michael.Noland
Rendering: Fixed asserts in various UKismetRenderingLibrary methods if passed a nullptr for the WorldContextObject
- Also fixed flipped warnings in the failure cases for EndDrawCanvasToRenderTarget
Change 3499979 by Michael.Noland
Editor: Prevented a crash in UMaterialEditingLibrary::RecompileMaterial when passed a nullptr material
Change 3499984 by Michael.Noland
Physics: Prevented a crash in UTraceQueryTestResults::AssertEqual when passed in nullptr for Expected
Change 3499993 by Michael.Noland
Blueprints: Added validation when renaming variables, functions, components, multicast delegates, etc... to prevent names from containing some unacceptable characters
- This validation only kicks in when trying to rename an item, so bad names in existing content are 'grandfathered in'
- These bad names can cause bugs when working with content that contains these characters (e.g., names that contain a period cannot be found via FindObject<T>)
- Currently only . is banned, but eventually we may expand it to include all of INVALID_OBJECTNAME_CHARACTERS
Change 3500009 by Michael.Noland
Blueprints: Made the fuzzer skip classes declared in UnrealEd for now (some of the exposed methods change global state that can cause other tests to fail as the fuzzer isn't particularly sandboxed ATM)
#rnx
Change 3500011 by Michael.Noland
Android: Fixed a crash in UAndroidPermissionFunctionLibrary::AcquirePermissions when called with an empty array on non-Android platforms
Change 3500012 by Michael.Noland
Editor: Prevent a crash in UEditorTutorial::OpenAsset when passed a nullptr Asset
Change 3500014 by Michael.Noland
Engine: Changed FRuntimeAssetCacheFilesystemBackend::ClearCache(NAME_None) to not try to clear all cache directories (there is a separate no-args method for that)
Change 3500019 by Michael.Noland
Core: Fixed some more issues with CallFunctionByNameWithArguments and initializing / destroying parameters
- It was skipping the return value and incorrectly relying on the FirstPropertyToInit list which isn't set for by ref arguments
Change 3500020 by Michael.Noland
Automation: Prevent UFunctionalTestingManager::RunAllFunctionalTests and UFunctionalTestingManager* UFunctionalTestingManager::GetManager from crashing when a manager cannot be created (because we can't route to a world)
Change 3501062 by Marc.Audy
MakeArray AddInputPin is often used as part of node expansion, so need to move the transaction out of the function
Fix inability to undo/redo pin additions to sequence node
Add a K2Node_AddPinInterface to generalize the interface that K2Nodes implement to interact with SGraphNodeK2Sequence so it can be more generally used
#jira UE-46164
#jira UE-46270
Change 3501330 by Michael.Noland
AI: Fix an error on shutdown when the CDO of UAIPerceptionComponent tries to clean up (as it was never registered in the first place)
#jira UE-46271
Change 3501356 by Marc.Audy
Fix crash when multi-editing actor blueprints
#jira UE-46248
Change 3501408 by Michael.Noland
Core: Improve the print-out of FFrame::GetStackTrace() / FFrame::GetScriptCallstack() when there is no script stack (e.g., when FFrame::KismetExecutionMessage is called by native code with no BP above in the call stack)
Change 3501457 by Phillip.Kavan
#jira UE-46054 - Fix crash when launching a packaged build that includes a nativized Blueprint instance with a ChildActorComponent instanced via an AddComponent node.
Change summary:
- Removed UK2Node_AddComponent::PostDuplicate(). This eliminates the creation of redundant component templates that were being unnecessarily created during the Blueprint duplication that precedes the nativization pass.
- Modified SMyBlueprint::OnDuplicateAction() to call MakeNewComponentTemplate() in response to a graph duplication action within the same Blueprint context (replaces previous UK2Node_AddComponent::PostDuplicate() impl).
- Modified FEmitDefaultValueHelper::HandleSpecialTypes() to force AddComponent-based CAC-owned template objects in the emitted codegen to use the UDynamicClass as the Outer when instancing. This matches what we already do for SCS-based CAC-owned template objects - that logic was added in CL# 3270456, and this matches up with FBlueprintNativeCodeGenModule::FindReplacedNameAndOuter(), where we specifically handle CAC-owned template objects.
Change 3502741 by Phillip.Kavan
#jira UE-45782 - Fix undo for index pin type changes.
Change summary:
- Modified SGraphPinIndex::OnTypeChanged() to call Modify() on the pin that was changed.
Change 3502939 by Michael.Noland
Back out changelist 3499927
Change 3503087 by Marc.Audy
Re-fixed ocean content as editor had also changed so had to take theirs and redo
#rnx
Change 3503266 by Ben.Zeigler
#jira UE-46335 Fix regression added in 4.16 where AssetRegistry GetAncesorClassNames/GetDerivedClassNames were not working properly in cooked builds for classes not in memory
Change 3503325 by mason.seay
updated Anim BP to prep for pin testing
Change 3503445 by Marc.Audy
Fix crash caused by OldPins being destroyed before rewiring
#rnx
Change 3505024 by Marc.Audy
Fix NodeEffectsPanel blueprint as it was using pins that no longer existed
#rnx
Change 3505254 by Marc.Audy
Don't include orphan pins when gather source property names
If a property doesn't exist for a source property name just skip the property rather than crashing
#jira UE-46345
#rnx
Change 3506125 by Ben.Zeigler
#jira UE-46311 Fix issues when blueprints are reloaded in place, it needs to remove them from root properly and sanitize the old class. It's still not clear why they are being reloaded in place
Change 3506334 by Dan.Oconnor
Move UAnimGraphNode_Base::PreloadRequiredAssets up to K2Node, make sure nodes get a chance to preload data before compilation manager compiles newly loaded blueprints
#jira UE-46411
Change 3506439 by Dan.Oconnor
Return to pre 3488512 behavior for construct object nodes. This means that we can still get warnings on load when users compile after saving a blueprint, but the current behavior loses default values because it's lookng at the skeleton cdo
#jira UE-46308
Change 3506468 by Dan.Oconnor
Return to pre 3488512 behavior, as it causes bad default values
#jira UE-46414
#rnx
Change 3506733 by Marc.Audy
Use the most up to date class to determine whether a property still exists when adding pins during reconstruction
#jira UE-45965
#author Dan.OConnor
#rnx
Change 3507531 by Ben.Zeigler
#jira UE-46449 Better fix to flush the asset registry queue when the editor requests a synchronous scan at startup. Sometimes it can take a few frames because of file handle delays
Change 3507924 by mason.seay
Sanity save of TM-Gameplay and sublevels to maybe resolve level streaming issues
Change 3507962 by Marc.Audy
Remake changes from CL# 3150796 wiped out by WEX-Staging merge to Main in CL# 3479958
#rnx
Change 3509131 by Dan.Oconnor
Compilation manager compile on load flow never called FindExportsInMemoryFirst, which is critical to prevent reloading of UBlueprintGeneratedClasses when Rename clears the export table
#jira UE-46311
Change 3509345 by Marc.Audy
CVar to disable orphan pins if necessary
#rnx
Change 3509959 by Marc.Audy
Protect against crashing due to large values in Timespan From functions
#jira UE-43840
Change 3510040 by Marc.Audy
Remove all the old unneeded ShooterGame test maps
#rnx
[CL 3510073 by Marc Audy in Main branch]
2017-06-26 15:07:18 -04:00
for ( const FWorldContext & Context : WorldContexts )
2015-04-11 10:23:56 -04:00
{
if ( Context . WorldType = = EWorldType : : Editor )
{
if ( UWorld * CurrentWorld = Context . World ( ) )
{
RefreshAssetActions ( ( UObject * ) CurrentWorld ) ;
}
}
}
2014-07-09 12:17:42 -04:00
}
//------------------------------------------------------------------------------
void FBlueprintActionDatabase : : RefreshClassActions ( UClass * const Class )
{
2014-08-08 15:35:56 -04:00
using namespace BlueprintActionDatabaseImpl ;
2014-07-09 12:17:42 -04:00
check ( Class ! = nullptr ) ;
2014-08-11 12:21:42 -04:00
2014-08-23 20:16:29 -04:00
bool const bOutOfDateClass = Class - > HasAnyClassFlags ( CLASS_NewerVersionExists ) ;
2021-11-11 11:47:13 -05:00
bool const bHiddenClass = Class - > HasAnyClassFlags ( CLASS_Hidden ) ;
2015-04-11 10:23:56 -04:00
bool const bIsBlueprintClass = ( Cast < UBlueprintGeneratedClass > ( Class ) ! = nullptr ) ;
bool const bIsLevelScript = Class - > ClassGeneratedBy & & Cast < UBlueprint > ( Class - > ClassGeneratedBy ) - > BlueprintType = = EBlueprintType : : BPTYPE_LevelScript ;
2014-08-23 20:16:29 -04:00
2021-11-11 11:47:13 -05:00
if ( bOutOfDateClass | | bIsLevelScript | | bHiddenClass )
2014-07-09 12:17:42 -04:00
{
2014-08-23 20:16:29 -04:00
ActionRegistry . Remove ( Class ) ;
return ;
}
else if ( bIsBlueprintClass )
{
2014-09-19 18:20:43 -04:00
UBlueprint * Blueprint = Cast < UBlueprint > ( Class - > ClassGeneratedBy ) ;
2014-09-17 16:02:23 -04:00
if ( ( Blueprint ! = nullptr ) & & BlueprintActionDatabaseImpl : : IsObjectValidForDatabase ( Blueprint ) )
2014-07-09 12:17:42 -04:00
{
2014-08-23 20:16:29 -04:00
// to prevent us from hitting this twice on init (once for the skel
// class, again for the generated class)
bool const bRefresh = ! bIsInitializing | | ( Blueprint - > SkeletonGeneratedClass = = nullptr ) | |
( Blueprint - > SkeletonGeneratedClass = = Class ) ;
2014-07-09 12:17:42 -04:00
2014-08-23 20:16:29 -04:00
if ( bRefresh )
{
RefreshAssetActions ( Blueprint ) ;
}
}
}
// here we account for "autonomous" standalone nodes, and any nodes that
// exist in a separate module; each UK2Node has a chance to append its
// own actions (presumably ones that would spawn that node)...
else if ( Class - > IsChildOf < UEdGraphNode > ( ) )
{
FActionList & ClassActionList = ActionRegistry . FindOrAdd ( Class ) ;
2014-09-10 17:09:26 -04:00
if ( ! bIsInitializing )
{
ClassActionList . Empty ( ) ;
}
2014-08-23 20:16:29 -04:00
2014-09-26 11:31:34 -04:00
FBlueprintActionDatabaseRegistrar Registrar ( ActionRegistry , UnloadedActionRegistry , ActionPrimingQueue , Class ) ;
2014-08-23 20:16:29 -04:00
if ( ! bIsInitializing )
{
// if this a call to RefreshClassActions() from somewhere other than
// RefreshAll(), then we should only add actions for this class (the
// node could be adding actions, probably duplicate ones for assets)
Registrar . ActionKeyFilter = Class ;
}
// also, should catch any actions dealing with global UFields (like
2014-07-09 12:17:42 -04:00
// global structs, enums, etc.; elements that wouldn't be caught
2014-08-23 20:16:29 -04:00
// normally when sifting through fields on all known classes)
GetNodeSpecificActions ( Class , Registrar ) ;
// don't worry, the registrar marks new actions for priming
}
Copying //UE4/Dev-AnimPhys to //UE4/Dev-Main (Source: //UE4/Dev-AnimPhys @ 4062005)
#lockdown Nick.Penwarden
============================
MAJOR FEATURES & CHANGES
============================
Change 4005617 by Danny.Bouimad
Fixing TM-AnimPhys lighting so it works on all platforms
#jira UEENGQA-19924
Change 4014898 by Aaron.McLeran
Adding simple delay feature
Change 4025071 by Lina.Halper
Fix and more potential fix for invalid bone index issue
http://crashreporter/Buggs/Show/2052839
http://crashreporter/Crashes/Show/46656562
#jira: UE-51931
Change 4042493 by Lina.Halper
Fix issue with sequence evaluator to handle properly when jumps from end to front or front to end
#jira: UE-58429
Change 4042892 by Lina.Halper
Fix issue with being able to drag/drop montage onto anim track in sequencer
#jira: UE-57863
Change 4043553 by Ethan.Geller
#jira UE-58340 Handle calls to FVoiceCaptureWindows::GetVoiceData outside of existing data calls. #rb none
Change 4043613 by Lina.Halper
Fix issue with incorrect usage of staticclass
#jira: UE-54413
Change 4044069 by James.Golding
PR #4455: Add FAnimNode_StateMachine subclassing support. (Contributed by redfeatherplusplus)
#jira UE-54599
Change 4044070 by James.Golding
PR #4349: Final points on a line test were broken, changed Plane.PlaneDot to FM. (Contributed by DSDambuster)
#jira UE-53554
Change 4044072 by James.Golding
Add ENGINE_API to UPhysicsHandleComponent so it can be subclassed
#jira UE-56397
Change 4044073 by James.Golding
PR #4611: Expose a few API's so it's possible to make custom anim graph nodes using these objects. (Contributed by ill)
#jira UE-57004
Change 4044075 by James.Golding
PR #4618: Bugfix: typo in path for CustomMeshComponent (case error) (Contributed by malavon)
#jira UE-57077
Change 4044077 by James.Golding
Add ClassGroup to some components
#jira UE-57587, UE-57609
Change 4044080 by James.Golding
PR #4515: Adding API export macro to ACableActor (Contributed by maxtunel)
#jira UE-55515
Change 4044082 by James.Golding
Remove unused CopySkinnedModelData function
#jira UE-57623
Change 4044083 by James.Golding
Fix per-poly collision for skel meshes. Make sure to call UpdateKinematicBonesToAnim if bEnablePerPolyCollision is set, even if no bodies
Integration of CL 3971421 from Release-4.19 stream
#jira UE-56405
Change 4044084 by James.Golding
Add option to preview 'fixed bounds' in SkelMesh editors.
Change 4044086 by James.Golding
Remove unused RigidInfluenceIndex from CPU skinning code
Change 4044310 by James.Golding
Roll back changes to make PhysX cool fails a log instead of warning (CL 3995372, UE-56466), now that content is fixed
Change 4044416 by Lina.Halper
Provide BP interface to get curve list of names
#jira: UE-52623
Change 4044419 by Lina.Halper
added notification for updating pose asset
#jira: UE-56233
Change 4046929 by Ethan.Geller
#jira none add my developer folder to QAGame. #fyi dan.reynolds
Change 4047064 by Ethan.Geller
[Dev-AnimPhys] #jira UE-57890 add additional binaries for Steam Audio to LibPhonon.Build.cs. #rb none
Change 4047564 by Lina.Halper
Fix issue of not regenerating when reimport mesh
#jira: UE-58284
Change 4047630 by Ethan.Geller
Fix syntax error in libPhonon. #jira none #rb none
Change 4048050 by Thomas.Sarkanen
Allowed "Follow Bone" to be popped out of the menu into the viewport
This allows for quick re-selection of the bone to follow, avoiding multiple clicks
Tweaks and extends the "pinned command list" system to allow dynamic text in labels and labels to be hidden.
#jira UE-53070 - Follow bone - Follow selected bone
Change 4048064 by Thomas.Sarkanen
Validate any bone references during compilation
Bone references that are set to something other than NAME_None will be verified against the skeleton.
Updated various anim nodes to call the base class ValidateAnimNodeDuringCompilation
#jira UE-55680 - Anim graph nodes that use FBoneReference all need validation in ValidateAnimNodeDuringCompilation
Change 4048468 by James.Golding
PR #4319: Allow UAnimNotify_PlayMontageNotify to be inherited by other dlls (Contributed by DSDambuster)
#jira UE-53390
Change 4048470 by James.Golding
Implement ApplyWorldOffset to CableComponent, to handle origin shifting
#jira UE-53560
Change 4048471 by James.Golding
PR #4396: fix cachebones for subclasses of FAnimNode_SkeletalControlBase (Contributed by tmiv)
#jira UE-53799
Change 4048474 by James.Golding
PR #4423: Rename confusing argument in LineBoxIntersection (Contributed by Hybrid0)
#jira UE-54145
Change 4048485 by James.Golding
Fix compile error display from PoseDriver node
#jira UE-58306
Change 4048489 by James.Golding
Finish support for ProceduralMeshComponent supporting multiple UV channels
#jira UE-54049
Change 4048678 by Thomas.Sarkanen
Allowing blend space samples to be optionally moved off-grid
Grid samples are now each optionally snapped.
#jira UE-56116 - Allow blend spaces to optionally use off-grid sample points
Change 4048773 by Lina.Halper
Support pose factory with name input
#jira: UE-55859
Change 4048844 by David.Hill
Material Proxy Settings
Updating the max on the material proxy texture size - old value could cause int32 overflow.
#jira: UE-55441
Change 4049464 by Lina.Halper
update curve is expensive, and we're doing multiple times with same curve sets. I'm changing it so that it only updates main, and copy from main instance to sub/post.
#jira: UE-58459
Change 4050939 by Aaron.McLeran
PR #4649: Activated reverbs will now take priority when world settings are used (i.e. no volume proxy is in use) (Contributed by Brandon-Wilson)
#jira UE-57546
Change 4050954 by Aaron.McLeran
PR #4594: Added class type to allow inherited versions of UAudioComponents to be created (Contributed by korypostma)
#jira UE-56454
Change 4050960 by Aaron.McLeran
Attempt to fix linux build.
Change 4051247 by James.Golding
Fix ProcMeshComp UpdateSection not copying all UV sets
Add test case for ProcMeshComp with multiple UVs
#jira UE-54049
Change 4051250 by James.Golding
Add bUseHighPrecisionTangentBasis option to SkeletalMesh
Change SkeletalMesh source data to store tangents at higher precision
#jira UE-58525
Change 4051616 by Thomas.Sarkanen
Mass scale is no longer incorrectly clamped
This now allows mass scales below 0.01 and above 100.
#jira UE-49572 - MassScale has some edge cases for skeletal mesh component and small numbers
Change 4051619 by Thomas.Sarkanen
Fixed notify drag/drop on high DPI displays
#jira UE-55690 - Animation Notifies Do Not Move Past the Center of Timeline On a High DPI Display
Change 4051626 by Thomas.Sarkanen
Fix anim dynamics debug rendering
#jira UE-53902 - Anim Dynamics node is missing wireframe simulation box in preview
#jira UE-57983 - GitHub 4674 : UE-57910 Fix the angular limits display issue while selecting the AnimDynamics node
Change 4051628 by Thomas.Sarkanen
Constraints and bodies now rotate in their own local space in the physics asset editor
When local coordinate system is applied
#jira UE-50345 - rotating constraints or bodies in Phat with local axis
Change 4051634 by Thomas.Sarkanen
Automatic rules for state transitions are now shown in tooltips
#jira UE-57689 - Animation State Machine Transitions that use bAutomaticRuleBasedOnSequencePlayerInState, should indicate that in the transition
Change 4051636 by Thomas.Sarkanen
NotifyTriggerChance is now hidden for nodify states as it has no effect
#jira UE-55351 - NotifyTriggerChance should be grayed out for UAnimNotifyState
Change 4051669 by Thomas.Sarkanen
Fixed accidental operation of pinned commands when closing them
#jira UE-54051 - Unpinning settings will toggle the next setting
Change 4051671 by Thomas.Sarkanen
Fix crash importing skeletal mesh with no vertices
Not a fix for the jira, but found while investigating
#jira UE-56330 - FBX Files Do Not Import After Using the Facial Anim Importer Unless Project is Reopened
Change 4051684 by James.Golding
Fix high precision tangents when CPU skinning and mesh merging
Remember bExistingUseHighPrecisionTangentBasis when re-importing SkelMesh
#jira UE-58525
Change 4051686 by James.Golding
PR #4297: Output animation name with ensure() - useful when debugging (Contributed by DSDambuster)
#jira UE-53259
Change 4051801 by Jurre.deBaare
A BlendSpace that puts the same asset on samples can stop its own animation on Switch
#fix Ensure that we don't cause divide-by-zero situations when sampling blendspace data
#jira UE-54030
Change 4051806 by Jurre.deBaare
Fix geometry cache reimport + serialization issues
Change 4051807 by Jurre.deBaare
Currently, it's not possible to assigned a material to a Geometry Cache .uasset
#fix EditAnywhere rather than VisibleAnywhere
#jira UE-58212
Change 4051809 by Jurre.deBaare
GeomCache: Crash/Bug: When importing file
#fix Ensure that we have a valid first frame when trying to import a sequence, if not error-out
#jira UE-58285
Change 4051813 by Jurre.deBaare
GeomCache: Bug: Normals Broken
#jira UE-58287
GeomCache - Normals are Bad on Import
#jira UE-58283
#fix ensure that we triangulate mesh attributes when necessary
#misc per-attribute indices check
Change 4051816 by Jurre.deBaare
Alembic QOL
- Fix issue with reimport object flags not being applied
- Now also store sampling data as part of Alembic asset import data
Change 4051817 by Jurre.deBaare
PR #4550: Fixes bug where "Merge Actors" or HLOD proxies result in too many mesh sections (Contributed by trond)
#fix Integrated pull-request in different form
#jira UE-55976
Change 4051818 by Jurre.deBaare
Emissive isn't baked correctly in TM-MeshbakeMap
#fix ensure that we OR and Max the material flags and emissive scale
#jira UE-54889
Change 4051819 by Jurre.deBaare
Crash on project load when GeometryCache plugin is disabled
#fix No longer force-load the geometry cache module as it was moved to be a plugin
#jira UE-57875
Change 4051820 by Jurre.deBaare
CLONE - Editor crash when Propagating Vertex Colors to Asset's source mesh
#fix IsValidIndex check
#jira UE-57127
Vertex painting
Change 4051828 by Jurre.deBaare
Merging negative-scaled actors breaks materials
#fix Make sure we also reverse the section indices when a static mesh has a mirrored transform
#jira UE-56953
Change 4051834 by Jurre.deBaare
Unclear warnings when generating clusters in persistent level when sublevels have HLOD disabled
#fix improved warning text + added uobject link to level in content browser
#jira UE-55734
Change 4051993 by Jurre.deBaare
Update Alembic automated test ground truth
#jira none
Change 4052937 by James.Golding
Remove now-unused version (merged change to skel source data from Main instead)
Change 4053291 by Aaron.McLeran
Fix for CIS
#jira none
Change 4053375 by Aaron.McLeran
#jira UE-58716 Allow ability to bypass volume-weighting with using sound wave priority
Change 4057170 by Thomas.Sarkanen
Fix shadow variable warning
#jira UE-58806 - Linux: Shadow Variable Warnings building Editor - PhysicsAssetEditorEditMode.cpp
Change 4057653 by Lina.Halper
Fix the issue with showing same item multiple times when opening control rig blueprint many times
#jira: UE-58107
Change 4057701 by Jurre.deBaare
//UE4/Dev-AnimPhys - Step 'Run Automated Tests' has completed with 13 Errors
#fix reupdate alembic ground truths, little bit of a weird state
#jira UE-58818
Change 4057710 by Ethan.Geller
[Dev-AnimPhys] #jira UE-58004 Early exit if finish was called before StartSubmixRecording. #rb Aaron.McLeran
Change 4059295 by Ethan.Geller
#jira UE-58004 Reduce logs from fatal to error, fix serialize crash. #rb aaron.mcleran
Change 4061061 by Aaron.McLeran
Fixing animphys build from recent merge from main.
#jira UE-58909
Change 4053154 by Aaron.McLeran
#jira UE-58708 Fix to mic component to reduce clicks/pops on mic input.
Fix was to simplify the way audio is copied from mic input. This change was used on the GDC demo floor for a number of features.
[CL 4062611 by Aaron McLeran in Main branch]
2018-05-09 18:45:58 -04:00
else if ( Class - > IsChildOf < UBlueprint > ( ) )
{
FBlueprintActionDatabaseRegistrar Registrar ( ActionRegistry , UnloadedActionRegistry , ActionPrimingQueue ) ;
Cast < UBlueprint > ( Class - > ClassDefaultObject ) - > GetTypeActions ( Registrar ) ;
}
2014-08-23 20:16:29 -04:00
else
{
FActionList & ClassActionList = ActionRegistry . FindOrAdd ( Class ) ;
if ( ! bIsInitializing )
{
ClassActionList . Empty ( ) ;
// if we're only refreshing this class (and not init'ing the whole
// database), then we have to reach out to individual nodes in case
// they'd add entries for this as well
2014-09-26 11:31:34 -04:00
FBlueprintActionDatabaseRegistrar Registrar ( ActionRegistry , UnloadedActionRegistry , ActionPrimingQueue ) ;
2014-08-23 20:16:29 -04:00
Registrar . ActionKeyFilter = Class ; // only want actions for this class
RegisterAllNodeActions ( Registrar ) ;
}
GetClassMemberActions ( Class , ClassActionList ) ;
2014-08-08 15:35:56 -04:00
2014-08-08 18:01:38 -04:00
// queue the newly added actions for priming
if ( ClassActionList . Num ( ) > 0 )
2014-08-08 15:35:56 -04:00
{
2014-08-11 18:39:28 -04:00
ActionPrimingQueue . Add ( Class , 0 ) ;
2014-08-08 15:35:56 -04:00
}
2014-08-23 20:16:29 -04:00
else
{
ActionRegistry . Remove ( Class ) ;
}
2014-07-09 12:17:42 -04:00
}
2014-10-10 17:48:56 -04:00
// blueprints are handled in RefreshAssetActions()
if ( ! bIsInitializing & & ! bIsBlueprintClass )
{
EntryRefreshDelegate . Broadcast ( Class ) ;
}
2014-07-09 12:17:42 -04:00
}
2014-08-11 18:39:28 -04:00
//------------------------------------------------------------------------------
2014-09-19 18:20:43 -04:00
void FBlueprintActionDatabase : : RefreshAssetActions ( UObject * const AssetObject )
2014-08-11 18:39:28 -04:00
{
2014-08-23 20:16:29 -04:00
using namespace BlueprintActionDatabaseImpl ;
2018-05-23 21:04:31 -04:00
// this method is very expensive and is only for blueprint editor functionality
// it should remain that way as *greatly* increases cook times, etc!
if ( IsRunningCommandlet ( ) )
{
return ;
}
2014-08-23 20:16:29 -04:00
FActionList & AssetActionList = ActionRegistry . FindOrAdd ( AssetObject ) ;
2015-02-02 13:08:06 -05:00
for ( UBlueprintNodeSpawner * Action : AssetActionList )
{
// because some asserts expect everything to be cleaned up in a
// single GC pass, we need to ensure that any previously cached node templates
// are cleaned up here before we add any new node spawners.
Action - > ClearCachedTemplateNode ( ) ;
}
2014-08-23 20:16:29 -04:00
AssetActionList . Empty ( ) ;
2018-11-14 19:05:13 -05:00
if ( ! IsObjectValidForDatabase ( AssetObject ) )
2015-04-01 15:47:23 -04:00
{
return ;
}
2014-09-23 16:40:48 -04:00
if ( const USkeleton * Skeleton = Cast < USkeleton > ( AssetObject ) )
{
AddSkeletonActions ( * Skeleton , AssetActionList ) ;
}
2014-09-19 18:20:43 -04:00
UBlueprint * BlueprintAsset = Cast < UBlueprint > ( AssetObject ) ;
if ( BlueprintAsset ! = nullptr )
2014-08-23 20:16:29 -04:00
{
2014-09-19 18:20:43 -04:00
AddBlueprintGraphActions ( BlueprintAsset , AssetActionList ) ;
if ( UClass * SkeletonClass = BlueprintAsset - > SkeletonGeneratedClass )
2014-08-23 20:16:29 -04:00
{
GetClassMemberActions ( SkeletonClass , AssetActionList ) ;
}
2014-09-19 18:20:43 -04:00
2014-09-23 17:40:49 -04:00
if ( const UAnimBlueprint * AnimBlueprint = Cast < UAnimBlueprint > ( BlueprintAsset ) )
{
AddAnimBlueprintGraphActions ( AnimBlueprint , AssetActionList ) ;
}
Copying //UE4/Dev-AnimPhys to //UE4/Dev-Main (Source: //UE4/Dev-AnimPhys @ 4062005)
#lockdown Nick.Penwarden
============================
MAJOR FEATURES & CHANGES
============================
Change 4005617 by Danny.Bouimad
Fixing TM-AnimPhys lighting so it works on all platforms
#jira UEENGQA-19924
Change 4014898 by Aaron.McLeran
Adding simple delay feature
Change 4025071 by Lina.Halper
Fix and more potential fix for invalid bone index issue
http://crashreporter/Buggs/Show/2052839
http://crashreporter/Crashes/Show/46656562
#jira: UE-51931
Change 4042493 by Lina.Halper
Fix issue with sequence evaluator to handle properly when jumps from end to front or front to end
#jira: UE-58429
Change 4042892 by Lina.Halper
Fix issue with being able to drag/drop montage onto anim track in sequencer
#jira: UE-57863
Change 4043553 by Ethan.Geller
#jira UE-58340 Handle calls to FVoiceCaptureWindows::GetVoiceData outside of existing data calls. #rb none
Change 4043613 by Lina.Halper
Fix issue with incorrect usage of staticclass
#jira: UE-54413
Change 4044069 by James.Golding
PR #4455: Add FAnimNode_StateMachine subclassing support. (Contributed by redfeatherplusplus)
#jira UE-54599
Change 4044070 by James.Golding
PR #4349: Final points on a line test were broken, changed Plane.PlaneDot to FM. (Contributed by DSDambuster)
#jira UE-53554
Change 4044072 by James.Golding
Add ENGINE_API to UPhysicsHandleComponent so it can be subclassed
#jira UE-56397
Change 4044073 by James.Golding
PR #4611: Expose a few API's so it's possible to make custom anim graph nodes using these objects. (Contributed by ill)
#jira UE-57004
Change 4044075 by James.Golding
PR #4618: Bugfix: typo in path for CustomMeshComponent (case error) (Contributed by malavon)
#jira UE-57077
Change 4044077 by James.Golding
Add ClassGroup to some components
#jira UE-57587, UE-57609
Change 4044080 by James.Golding
PR #4515: Adding API export macro to ACableActor (Contributed by maxtunel)
#jira UE-55515
Change 4044082 by James.Golding
Remove unused CopySkinnedModelData function
#jira UE-57623
Change 4044083 by James.Golding
Fix per-poly collision for skel meshes. Make sure to call UpdateKinematicBonesToAnim if bEnablePerPolyCollision is set, even if no bodies
Integration of CL 3971421 from Release-4.19 stream
#jira UE-56405
Change 4044084 by James.Golding
Add option to preview 'fixed bounds' in SkelMesh editors.
Change 4044086 by James.Golding
Remove unused RigidInfluenceIndex from CPU skinning code
Change 4044310 by James.Golding
Roll back changes to make PhysX cool fails a log instead of warning (CL 3995372, UE-56466), now that content is fixed
Change 4044416 by Lina.Halper
Provide BP interface to get curve list of names
#jira: UE-52623
Change 4044419 by Lina.Halper
added notification for updating pose asset
#jira: UE-56233
Change 4046929 by Ethan.Geller
#jira none add my developer folder to QAGame. #fyi dan.reynolds
Change 4047064 by Ethan.Geller
[Dev-AnimPhys] #jira UE-57890 add additional binaries for Steam Audio to LibPhonon.Build.cs. #rb none
Change 4047564 by Lina.Halper
Fix issue of not regenerating when reimport mesh
#jira: UE-58284
Change 4047630 by Ethan.Geller
Fix syntax error in libPhonon. #jira none #rb none
Change 4048050 by Thomas.Sarkanen
Allowed "Follow Bone" to be popped out of the menu into the viewport
This allows for quick re-selection of the bone to follow, avoiding multiple clicks
Tweaks and extends the "pinned command list" system to allow dynamic text in labels and labels to be hidden.
#jira UE-53070 - Follow bone - Follow selected bone
Change 4048064 by Thomas.Sarkanen
Validate any bone references during compilation
Bone references that are set to something other than NAME_None will be verified against the skeleton.
Updated various anim nodes to call the base class ValidateAnimNodeDuringCompilation
#jira UE-55680 - Anim graph nodes that use FBoneReference all need validation in ValidateAnimNodeDuringCompilation
Change 4048468 by James.Golding
PR #4319: Allow UAnimNotify_PlayMontageNotify to be inherited by other dlls (Contributed by DSDambuster)
#jira UE-53390
Change 4048470 by James.Golding
Implement ApplyWorldOffset to CableComponent, to handle origin shifting
#jira UE-53560
Change 4048471 by James.Golding
PR #4396: fix cachebones for subclasses of FAnimNode_SkeletalControlBase (Contributed by tmiv)
#jira UE-53799
Change 4048474 by James.Golding
PR #4423: Rename confusing argument in LineBoxIntersection (Contributed by Hybrid0)
#jira UE-54145
Change 4048485 by James.Golding
Fix compile error display from PoseDriver node
#jira UE-58306
Change 4048489 by James.Golding
Finish support for ProceduralMeshComponent supporting multiple UV channels
#jira UE-54049
Change 4048678 by Thomas.Sarkanen
Allowing blend space samples to be optionally moved off-grid
Grid samples are now each optionally snapped.
#jira UE-56116 - Allow blend spaces to optionally use off-grid sample points
Change 4048773 by Lina.Halper
Support pose factory with name input
#jira: UE-55859
Change 4048844 by David.Hill
Material Proxy Settings
Updating the max on the material proxy texture size - old value could cause int32 overflow.
#jira: UE-55441
Change 4049464 by Lina.Halper
update curve is expensive, and we're doing multiple times with same curve sets. I'm changing it so that it only updates main, and copy from main instance to sub/post.
#jira: UE-58459
Change 4050939 by Aaron.McLeran
PR #4649: Activated reverbs will now take priority when world settings are used (i.e. no volume proxy is in use) (Contributed by Brandon-Wilson)
#jira UE-57546
Change 4050954 by Aaron.McLeran
PR #4594: Added class type to allow inherited versions of UAudioComponents to be created (Contributed by korypostma)
#jira UE-56454
Change 4050960 by Aaron.McLeran
Attempt to fix linux build.
Change 4051247 by James.Golding
Fix ProcMeshComp UpdateSection not copying all UV sets
Add test case for ProcMeshComp with multiple UVs
#jira UE-54049
Change 4051250 by James.Golding
Add bUseHighPrecisionTangentBasis option to SkeletalMesh
Change SkeletalMesh source data to store tangents at higher precision
#jira UE-58525
Change 4051616 by Thomas.Sarkanen
Mass scale is no longer incorrectly clamped
This now allows mass scales below 0.01 and above 100.
#jira UE-49572 - MassScale has some edge cases for skeletal mesh component and small numbers
Change 4051619 by Thomas.Sarkanen
Fixed notify drag/drop on high DPI displays
#jira UE-55690 - Animation Notifies Do Not Move Past the Center of Timeline On a High DPI Display
Change 4051626 by Thomas.Sarkanen
Fix anim dynamics debug rendering
#jira UE-53902 - Anim Dynamics node is missing wireframe simulation box in preview
#jira UE-57983 - GitHub 4674 : UE-57910 Fix the angular limits display issue while selecting the AnimDynamics node
Change 4051628 by Thomas.Sarkanen
Constraints and bodies now rotate in their own local space in the physics asset editor
When local coordinate system is applied
#jira UE-50345 - rotating constraints or bodies in Phat with local axis
Change 4051634 by Thomas.Sarkanen
Automatic rules for state transitions are now shown in tooltips
#jira UE-57689 - Animation State Machine Transitions that use bAutomaticRuleBasedOnSequencePlayerInState, should indicate that in the transition
Change 4051636 by Thomas.Sarkanen
NotifyTriggerChance is now hidden for nodify states as it has no effect
#jira UE-55351 - NotifyTriggerChance should be grayed out for UAnimNotifyState
Change 4051669 by Thomas.Sarkanen
Fixed accidental operation of pinned commands when closing them
#jira UE-54051 - Unpinning settings will toggle the next setting
Change 4051671 by Thomas.Sarkanen
Fix crash importing skeletal mesh with no vertices
Not a fix for the jira, but found while investigating
#jira UE-56330 - FBX Files Do Not Import After Using the Facial Anim Importer Unless Project is Reopened
Change 4051684 by James.Golding
Fix high precision tangents when CPU skinning and mesh merging
Remember bExistingUseHighPrecisionTangentBasis when re-importing SkelMesh
#jira UE-58525
Change 4051686 by James.Golding
PR #4297: Output animation name with ensure() - useful when debugging (Contributed by DSDambuster)
#jira UE-53259
Change 4051801 by Jurre.deBaare
A BlendSpace that puts the same asset on samples can stop its own animation on Switch
#fix Ensure that we don't cause divide-by-zero situations when sampling blendspace data
#jira UE-54030
Change 4051806 by Jurre.deBaare
Fix geometry cache reimport + serialization issues
Change 4051807 by Jurre.deBaare
Currently, it's not possible to assigned a material to a Geometry Cache .uasset
#fix EditAnywhere rather than VisibleAnywhere
#jira UE-58212
Change 4051809 by Jurre.deBaare
GeomCache: Crash/Bug: When importing file
#fix Ensure that we have a valid first frame when trying to import a sequence, if not error-out
#jira UE-58285
Change 4051813 by Jurre.deBaare
GeomCache: Bug: Normals Broken
#jira UE-58287
GeomCache - Normals are Bad on Import
#jira UE-58283
#fix ensure that we triangulate mesh attributes when necessary
#misc per-attribute indices check
Change 4051816 by Jurre.deBaare
Alembic QOL
- Fix issue with reimport object flags not being applied
- Now also store sampling data as part of Alembic asset import data
Change 4051817 by Jurre.deBaare
PR #4550: Fixes bug where "Merge Actors" or HLOD proxies result in too many mesh sections (Contributed by trond)
#fix Integrated pull-request in different form
#jira UE-55976
Change 4051818 by Jurre.deBaare
Emissive isn't baked correctly in TM-MeshbakeMap
#fix ensure that we OR and Max the material flags and emissive scale
#jira UE-54889
Change 4051819 by Jurre.deBaare
Crash on project load when GeometryCache plugin is disabled
#fix No longer force-load the geometry cache module as it was moved to be a plugin
#jira UE-57875
Change 4051820 by Jurre.deBaare
CLONE - Editor crash when Propagating Vertex Colors to Asset's source mesh
#fix IsValidIndex check
#jira UE-57127
Vertex painting
Change 4051828 by Jurre.deBaare
Merging negative-scaled actors breaks materials
#fix Make sure we also reverse the section indices when a static mesh has a mirrored transform
#jira UE-56953
Change 4051834 by Jurre.deBaare
Unclear warnings when generating clusters in persistent level when sublevels have HLOD disabled
#fix improved warning text + added uobject link to level in content browser
#jira UE-55734
Change 4051993 by Jurre.deBaare
Update Alembic automated test ground truth
#jira none
Change 4052937 by James.Golding
Remove now-unused version (merged change to skel source data from Main instead)
Change 4053291 by Aaron.McLeran
Fix for CIS
#jira none
Change 4053375 by Aaron.McLeran
#jira UE-58716 Allow ability to bypass volume-weighting with using sound wave priority
Change 4057170 by Thomas.Sarkanen
Fix shadow variable warning
#jira UE-58806 - Linux: Shadow Variable Warnings building Editor - PhysicsAssetEditorEditMode.cpp
Change 4057653 by Lina.Halper
Fix the issue with showing same item multiple times when opening control rig blueprint many times
#jira: UE-58107
Change 4057701 by Jurre.deBaare
//UE4/Dev-AnimPhys - Step 'Run Automated Tests' has completed with 13 Errors
#fix reupdate alembic ground truths, little bit of a weird state
#jira UE-58818
Change 4057710 by Ethan.Geller
[Dev-AnimPhys] #jira UE-58004 Early exit if finish was called before StartSubmixRecording. #rb Aaron.McLeran
Change 4059295 by Ethan.Geller
#jira UE-58004 Reduce logs from fatal to error, fix serialize crash. #rb aaron.mcleran
Change 4061061 by Aaron.McLeran
Fixing animphys build from recent merge from main.
#jira UE-58909
Change 4053154 by Aaron.McLeran
#jira UE-58708 Fix to mic component to reduce clicks/pops on mic input.
Fix was to simplify the way audio is copied from mic input. This change was used on the GDC demo floor for a number of features.
[CL 4062611 by Aaron McLeran in Main branch]
2018-05-09 18:45:58 -04:00
FBlueprintActionDatabaseRegistrar Registrar ( ActionRegistry , UnloadedActionRegistry , ActionPrimingQueue ) ;
if ( ! bIsInitializing )
{
// if this a call to RefreshAssetActions() from somewhere other than
// RefreshAll(), then we should only add actions for this class (the
// node could be adding actions, probably duplicate ones for assets)
Registrar . ActionKeyFilter = BlueprintAsset - > GeneratedClass ;
}
BlueprintAsset - > GetInstanceActions ( Registrar ) ;
2015-07-22 18:27:12 -04:00
UBlueprint : : FChangedEvent & OnBPChanged = BlueprintAsset - > OnChanged ( ) ;
UBlueprint : : FCompiledEvent & OnBPCompiled = BlueprintAsset - > OnCompiled ( ) ;
2014-09-19 18:20:43 -04:00
// have to be careful not to register this callback twice for the
// blueprint
2015-07-22 18:27:12 -04:00
if ( ! OnBPChanged . IsBoundToObject ( this ) )
2014-09-19 18:20:43 -04:00
{
2015-07-22 18:27:12 -04:00
OnBPChanged . AddRaw ( this , & FBlueprintActionDatabase : : OnBlueprintChanged ) ;
}
if ( ! OnBPCompiled . IsBoundToObject ( this ) )
{
OnBPCompiled . AddRaw ( this , & FBlueprintActionDatabase : : OnBlueprintChanged ) ;
2014-09-19 18:20:43 -04:00
}
2014-08-23 20:16:29 -04:00
}
2015-04-14 09:16:22 -04:00
UWorld * WorldAsset = Cast < UWorld > ( AssetObject ) ;
if ( WorldAsset & & WorldAsset - > WorldType = = EWorldType : : Editor )
2015-04-11 10:23:56 -04:00
{
Copying //UE4/Dev-Framework to //UE4/Dev-Main (Source: //UE4/Dev-Framework @ 3510040)
#lockdown Nick.Penwarden
=====================================
MAJOR FEATURES + CHANGES
=====================================
Change 3459524 by Marc.Audy
Get/Set of properties that were previously BPRW/BPRO should error when used
#jira UE-20993
Change 3460004 by Phillip.Kavan
#jira UE-45171 - Fix C++ compilation failures during packaging caused by nativizing a Blueprint that overrides a native function with a 'TSubclassOf' parameter or return value.
Change summary:
- Modified FKismetCompilerContext::CreateParametersForFunction() to pass the 'CPF_UObjectWrapper' flag through to new function parameter properties during Blueprint compilation.
Change 3461210 by Phillip.Kavan
#jira UE-44505 - Fix occasional Blueprint editor crashes that could occur while rebuilding the context menu from the action registry.
Change summary:
- Modified FBlueprintActionDatabase::FActionRegistry to use an FObjectKey as the key type. This allows us to test entries for UObject validity before rebuilding context menu items based on the action database.
- Changed FBlueprintActionInfo::CachedOwnerClass to be a TWeakObjectPtr rather than a raw UClass* since it's based on the ActionOwner, which could potentially become invalid after the OwnerClass has been cached.
- Modified FBlueprintActionDatabase::RefreshAssetActions() to exclude World assets if the WorldType is not EWorldType::Editor. This eliminates an issue with unreferenced "inactive" GC'd world objects being left in the BP action registry after cooking, at which point the keys could become invalid.
- Added FBlueprintActionDatabase::DeferredRemoveEntry() to allow for scheduling removal of entries from outside of the database if they are known to be invalid.
- Modified FBlueprintActionDatabase::Tick() to handle deferred entry removals.
- Modified FBlueprintActionMenuBuilder::RebuildActionList() to both test actions for validity before building menu items and schedule removal of invalid actions on the next tick.
Notes:
- Alternatively we could just include UObject keys in the database's AddReferencedObject impl, but that would then prevent objects from ever being GC'd if they are not explicitly removed. For most entries the action database takes the approach of explicitly removing entries via delegate when the UObject is destroyed, so I chose to use a TWeakObjectPtr instead so that any entries that may not be getting explicitly removed via delegate will now simply become invalidated if the UObject key is GC'd due to not being referenced. I also set it up to clean and remove any entries (along with any associated node spawners) that are found to be invalid the next time we open the BP editor.
Change 3461373 by Lukasz.Furman
fixed async navmesh rebuilds not kicking in for requests from navdata.bForceRebuildOnLoad
#jira UE-44231
Change 3461409 by Lukasz.Furman
fixed reenabling automatic navmesh generation in Editor Preferences
#ue4
Change 3461550 by Ben.Zeigler
#jira UE-45328 Fix local variable support for Redirectors and other save-time validation. We need to run the local variables to UProperty and back at save time
Add new flag PPF_SerializedAsImportText which is used for BP pins/default values and indicates that something has been serialized as import text and so needs to handle string asset redirectors
Change 3462625 by Zak.Middleton
#ue4 - Fix InterpToMovementComponent not setting velocity on the object it moves. Fix movement rate when substepping enabled (other related fixes to come).
github PR #3620
Change 3462796 by Dan.Oconnor
Fix for spamming BroadcastBlueprintReinstanced and for creating CDO at wrong time when compiling FrontEnd.uasset in OrionGame
#jira UE-45434
Change 3462995 by Ben.Zeigler
#jira UE-16941 Fix it so Load Asset node works with a literal value as well as a connected pin
Change 3463099 by Ben.Zeigler
#jira UE-45471 Allow abstract base classes for primary assets
Change 3464809 by Marc.Audy
Expose FVector2D / FVector2D to blueprints
#jira UE-45427
Change 3467254 by Mieszko.Zielinski
Added an AI helper BP function that supplies caller with a copy of navigation path given controller is currently following #UE4
Change 3467644 by Dan.Oconnor
Fix for cook issues in ocean when using compilation manager, one issue caused by bad dependencies list, one issue caused by lack of subobject mapping in archetype reinstancing.
#jira UE-45443, UE-45444
Change 3468176 by Dan.Oconnor
Fix dependent blueprints being marked dirty when a blueprint is compiled
Change 3468353 by Michael.Noland
UnrealHeaderTool: Improved the warning generated when missing Category= on a function or property declared in an engine module, and centralized the logic that determines if the module is engine or game
Change 3470532 by Dan.Oconnor
Re-enable compilation manager
Change 3470572 by Dan.Oconnor
Fix for pin paramters resetting when an archetype was reinstanced
#jira UE-45619
#rnx
Change 3471949 by Mason.Seay
Adding Primary Assets for testing
Change 3472074 by Ben.Zeigler
#jira UE-45140 Convert iterative cooking to use the Asset Registry as it's only mode, remove old hash and timestamp versions. This allows deleting the entire PackageDependencyInfo module
Change the asset registry iteration to not compute a hash at all, and instead store the script package guids in it's cache.
Expose bIgnoreIniSettingsOutOfDateForIteration and bIgnoreScriptPackagesOutOfDateForIteration in cooker settings, affects rather to listen to ini/script changes when doing iterative cooking
Change 3472079 by Ben.Zeigler
With new incremental cook options, change Fortnite to never care about ini settings, but do care about code changes. This can be changed but from previous discussions we wanted to be more safe than fast here
Change 3473429 by Lukasz.Furman
changed path following update tick to allow working on "invalid, update pending" paths, solves AI getting stuck when navigation is rebuild very frequently (e.g. every tick from moving mesh)
#jira UE-41884
Change 3473476 by Lukasz.Furman
changed crowd simulation path update tick to allow working on "invalid, update pending" paths, solves AI getting stuck when navigation is rebuild very frequently (e.g. every tick from moving mesh)
#jira UE-41884
Change 3473663 by Ben.Zeigler
Fix it so base k2node registers framework version, this is needed for the assetptr fixup I previously added
Change 3473679 by Mason.Seay
Slight cleanup of test map and added ability to teleport across level for easy navigation
Change 3473712 by Marc.Audy
Do default value validation against the actual value of the default entry of an enum rather than the serialized empty autogenerated default value
Change 3474055 by Marc.Audy
When nodes are reconstructed any pins that were previously linked or set to non-default values that have been removed will no longer simply vanish, but instead will remain in an Orphaned state until dealt with.
#jira UE-41828
Change 3474119 by mason.seay
Tweaked Force Feedback test
Change 3474156 by Marc.Audy
Actually enable orphan pin retention
Change 3474382 by Ben.Zeigler
Class.h Header and comment cleanup. Started this because IsChildOf did not have a comment and it's usage is a bit confusing
Change 3474386 by Ben.Zeigler
Close popup window when adding asset class to audit window
Change 3474491 by Ben.Zeigler
Remove ability for Worlds to not be saved as assets, this has been the default since 2014.
Change 3475363 by Marc.Audy
Alt-click now works with orphaned pins
#jira UE-45699
Change 3475523 by Marc.Audy
Fixup Fortnite and Paragon content for orphaned pin errors and warnings
Change 3475623 by Phillip.Kavan
#jira UE-45477 - Fix an EDL assertion on load in a nativized build with one or more Actor subobjects instanced via the EditInlineNew UI in the BP class defaults property editor.
Change summary:
- Modified FEmitDefaultValueHelper::OuterGenerate() to emit code to construct/initialize instanced subobject values that do not have the RF_DefaultSubObject flag set, and also to recursively handle nested subobjects for those values.
- Modified FEmitDefaultValueHelper::HandleInstancedSubobject() to alternatively emit a 'NewObject' assignment statement rather than a 'CreateDefaultSubobject' statement if only RF_ArchetypeObject is set on the source object value.
Change 3476008 by Dan.Oconnor
Fix for failing to preload our super class's subobjects. Effectively moving UBlueprint::ForceLoad calls earlier in loading process. This only results in data resetting to your parent's parent's default value from your parent's default value.
#jira UE-18765
Change 3476115 by Dan.Oconnor
Fix missing category information for inherited functions when using compilation manager
#jira UE-45660
#rnx
Change 3476577 by Lukasz.Furman
added early outs from navmesh layer generation when there's no walkable cells or contours to avoid allocating 0 bytes by next generation steps (behavior differs between platforms)
#ue4
Change 3476587 by Phillip.Kavan
#jira UE-45517 - Fix a regression in which dragging UMG widgets around in the designer view results in redundantly-compounded BP class properties and context menu actions.
Change summary:
- Modified SDesignerView::ClearDropPreviews() to move the widget that was removed from the tree into the transient package. This ensures that FWidgetBlueprintCompiler::CreateClassVariablesFromBlueprint() won't pick them up.
- Modified SDesignerView::ProcessDropAndAddWidget() to also consider any widgets not added to the 'DropPreviews' array as being transient (i.e. also move them into the transient package since they were not added to the tree).
Notes:
- The regression was introduced by the changes in CL# 3410168, and was merged to Main at CL# 3431398.
#rnx
Change 3476723 by Dan.Oconnor
Match old behavior wrt updating implemented interfaces in blueprints - this logic from FKismetEditorUtilities::CompileBlueprint was missing in compilation manager
#jira UE-45468
#rnx
Change 3476948 by Michael.Noland
Framework: Changed AActor::FindComponentByClass (and AActor::GetComponentByClass by extension) to return nullptr when passed a nullptr class, rather than crashing
Change 3476970 by Ben.Zeigler
Fix bug I introduced in 4.16 where assigning assets to multiple chunks did not work properly
Change 3477536 by Marc.Audy
Don't display default value box on linked orphaned input pins
Change 3477835 by Marc.Audy
Fix pins orphaned by deletion of an entry in a user-defined enum disappearing instead of remaining connected
#jira UE-45754
Change 3478027 by Marc.Audy
Minor performance optimization
#rnx
Change 3478198 by Phillip.Kavan
#jira UE-42431 - Remove an unnecessary ensure() when pasting an event node.
Change summary:
- Modified UEdGraphSchema_K2::CreateSubstituteNode() to no longer ensure() that we have a valid PreExistingNode; it's only used for logging when a substitute node is created in response to a conflict with an existing node.
Change 3478485 by Marc.Audy
Eliminate extraneous error messages about orphaned pins on get/set nodes
#jira UE-45749
#rnx
Change 3478756 by Marc.Audy
Fix fallout from changes to DoesDefaultValueMatchAutogenerated for user defined enums
#jira UE-45721
#rnx
Change 3478926 by Marc.Audy
Non-blueprint type structs can no longer be made/broken
Non-blueprint visible properties in structs will no longer have pins created for them
#jira UE-43122
Change 3478988 by Marc.Audy
DeltaTime for a tick function with a tick interval is now correct after disabling and then reenabling the tick function.
#jira UE-45524
Change 3479818 by Marc.Audy
Allow ctrl-drag off of orphan pins
#jira UE-45803
Change 3480214 by Marc.Audy
Modifications to user defined enumerations are now transacted
#jira UE-43866
Change 3480579 by Marc.Audy
Maintain all pin properties through transactions.
#rn Reference pins that are removed and then restored via undo now correctly have the diamond icon instead of the standard circle.
Change 3481043 by Marc.Audy
Make/Break of structs does not depend on having blueprint exposed properties.
Splitting of a struct pin still requires blueprint exposed properties.
#jira UE-45840
#jira UE-45831
Change 3481271 by Ben.Zeigler
Fix the AssetManager chunking code to use ChunkDependencyInfo instead of a hardcoded check for chunk 0
Clean up ChunkDependencyInfo and make it properly public
Move ShouldSetManager to be WITH_EDITOR
Ported from WEX branch
#RB peter.sauerbrei
Change 3481373 by Dan.Oconnor
Reduce reliance on expensive FindDelegateSignature. 3275922 made warnings about a ambiguous search more likely as it preserved names of members on the REINST_ classes
#jira UE-45704
Change 3481380 by Ben.Zeigler
Change it so Struct and Object AssetRegistrySearchable properties do not show up in content browser, they are not helpful
Change 3482362 by Marc.Audy
Fix properties not exposed to blueprint warnings for input properties on function graphs.
#jira UE-45824
Change 3482406 by Ben.Zeigler
#jira UE-45883 Fix Switch On Gameplay Tag Container node, and add switch nodes to TagCheck map
Change 3482498 by Ben.Zeigler
Attempt to fix hot reload issues with Asset Manager. We need to reset and re-acquire the asset classes when rescanning, as they may be pointing to the replaced class
Change 3482517 by Lukasz.Furman
fixed smart navlink update functions removing important flag
#jira UE-45875
Change 3482538 by Marc.Audy
When comparing float, vector, and rotator values for whether the the default matches the autogenerated do not use the string compare because differences in use of decimal or number of 0s after decimal are then considered not the same float
#jira UE-45846
Change 3482773 by Marc.Audy
Don't show default value or pass by reference for exec pins
#jira UE-45868
Change 3482791 by Ben.Zeigler
#jira UE-45800 Correctly dirty game mode blueprint when changing player controller/etc classes from game mode customization
Fix it so MarkBlueprintAsStructurallyModified calls MarkBlueprintAsModified as several fixes were only in the second function
Change 3483131 by Zak.Middleton
#ue4 - InterpToMovementComponent:
- Fix velocity not zeroed when interpolation stops.
- Various fixes when calculating velocity and time when substepping is enabled.
- Improve accuracy of interpolation when looping and there is time remaining after the loop event is hit. Consume the remainder of the time after the event back in the loop (similar to handling a blocking impact).
#jira UE-45690
Change 3483146 by Phillip.Kavan
#jira UE-38358 - Propagate 'const' function flag from interface Blueprint to implementing Blueprints.
Change summary:
- Modified FBlueprintEditorUtils::MarkBlueprintAsStructurallyModified() to call SkeletalRecompileChildren() on dependent BPs when the target is an interface BP.
- Modified FBlueprintEditorUtils::MarkBlueprintAsStructurallyModified::FRefreshHelper::SkeletalRecompileChildren() to set child BP status to BS_Dirty after compiling.
- Modified ConformInterfaceByName() (FBlueprintEditorUtils) to use the interface's skeleton class for function iteration as well as to match the Function Entry node's 'const' setting to the interface UFunction's signature.
Change 3483340 by Ben.Zeigler
Fix issue querying asset registry after a hot reload, make sure pending kill objects are never considered to be Assets
Change 3483548 by Michael.Noland
Epic Friday: Playing around with some prototype traps
Change 3483700 by Phillip.Kavan
Fix CIS cook crash introduced by last submit.
#rnx
Change 3485217 by Ben.Zeigler
#jira UE-45519 Fix regression introduced in 4.16 where it would no longer cook all maps when no explicit maps were specified in ini or game callback. Moved the code that detects changes before culture/default map code and hardened it to deal with the case where some engine packages were already in the list before it entered the function
Change 3485367 by Dan.Oconnor
Avoid adding mappings to anim node when creating variables on the skeleton class and using the compilation manager
#jira UE-45756
Change 3485565 by Ben.Zeigler
#jira UE-45948 Fix compilation manager to properly reset variable default values after promoting a pin to local variable
Change 3485566 by Marc.Audy
Fix crashes caused by undo/redo of user defined struct changes
#jira UE-45775
#jira UE-45781
Change 3485805 by Michael.Noland
PR #3459: Fix for world origin shifting and SpringArmComponent location lag (Contributed by michail-nikolaev)
#jira UE-43747
Change 3485807 by Michael.Noland
PR #3485: Added additional textures field to paper 2d tileset class (Contributed by gryphonmyers)
#jira UE-44041
Change 3485811 by Michael.Noland
Framework: Fixed a bug in FStreamLevelAction::MakeSafeLevelName to avoid appending the PIE prefix multiple times (fixes functions like Unload Streaming Level when passed a full package name from an instanced streaming level)
Change 3485829 by Michael.Noland
Framework: Made GetWorldAssetPackageFName BlueprintCallable so instanced levels can be unloaded
Change 3485830 by Michael.Noland
PR #3568: add API declarations to ALevelStreamingVolume methods (Contributed by kayama-shift)
#jira UE-45002
Change 3486039 by Michael.Noland
PR #3495: UE-44014: Refreshing node error fixes (Contributed by projectgheist)
- Empty out the ErrorMsg when a node gets refreshed to prevent the same error messages from compounding
- Added support for split pins in UK2Node_Event::IsFunctionEntryCompatible
- Added a missing check for the delegate pin name on the entry node part of UK2Node_Event::IsFunctionEntryCompatible
#jira UE-44014
Change 3486093 by Michael.Noland
PR #3379: Added GAMEPLAYABILITIES_API to all Ability Tasks. (Contributed by ryanjon2040)
#jira UE-42903
Change 3486139 by Michael.Noland
Blueprints: Added new config options for execution wire thickness when not debugging (DefaultExecutionWireThickness) and data wire thicknesses (DefaultDataWireThickness) to the Graph Editor Settings page
#rn
Change 3486154 by Michael.Noland
Framework: Speculative fix for CIS error about FStructOnScope
#rnx
Change 3486180 by Dan.Oconnor
Better match old logic for determining when to skip data only compile
#jira UE-45830
Change 3487276 by Marc.Audy
Fix crash when using Setter with a locally scoped variable
#rnx
Change 3487278 by Marc.Audy
Ensure that pin change notifications occur on all pin breaks unless it is part of a node being garbage collected
Change 3487658 by Marc.Audy
Ensure that child actor template is created for subclasses
#jira UE-45985
Change 3487699 by Marc.Audy
Move non-templated elements out of FArchiveReplaceObjectRef and put them in FArchiveReplaceObjectRefBase
Change 3487813 by Dan.Oconnor
Asset demonstrating a crash
Change 3488101 by Marc.Audy
Fix crash with spawn/construct actor/object from class nodes when they no longer had any pins.
Correctly orphan pins when a node goes to 0 pins.
Change 3488337 by Marc.Audy
Editable pin base should not manually remove pin and let reconstruct node and rewire pins do their job
#jira UE-46020
Change 3488512 by Dan.Oconnor
ConstructObject nodes and SubInstances nodes use skeleton class when compilation manager can provide it
#jira UE-45830, UE-45965
#rnx
Change 3488631 by Michael.Noland
Framework: Fixed a crash when loading a blueprint with a parent class of ALevelBounds caused by trying to register the class default object with a non-existent level
#jira UE-45630
Change 3488665 by Michael.Noland
Blueprints: Improve the details panel customization for optional pin nodes like Struct Member Get/Set
- The category, raw name, and tooltip of the property are now included as part of the filter text as well
- The property tooltip is now displayed when hovering over the property name
- Code updated to use GET_MEMBER_NAME_CHECKED() where appropriate
Change 3489324 by Marc.Audy
Fix recursion causing stack crash
#jira UE-46038
#rnx
Change 3489326 by Marc.Audy
Fix cooking crash
#jira UE-46031
#rnx
Change 3489687 by mason.seay
Assets for testing orphan pins
Change 3489701 by Marc.Audy
Back out changelist 3487278 and 3489443 and make targetted changes for fixing up orphan pin cases where changing connections doesn't remove the pin.
#jira UE-46051
#jira UE-46052
#rnx
Change 3490352 by Dan.Oconnor
Fix for missing WidgetTree on Skeleton class - just look directly at the WidgetBlueprint
#jira UE-46062
Change 3490814 by Marc.Audy
Make callfunction/macro instances save all pins in orphan state more similar to previous behavior
#rnx
Change 3491022 by Dan.Oconnor
Properly clean up 'Key' property when we fail to create a value property
#jira UE-45279
Change 3491071 by Ben.Zeigler
#jira UE-45981 Fix rotation issues, vector/rotator pins with empty strings were not matching due to uninitialized memory.
Change 3491244 by Michael.Noland
Blueprints: Add compile time message back to the output log (will not auto-open the output log if there were no warnings/errors)
#jira UE-32948
Change 3491276 by Michael.Noland
Blueprints: Fixed some bugs where a newly added item would fail show up in the "My Blueprints" tree if there was a filter active (e.g., when promoting a variable)
- Centralized the logic for clearing the filter so it happens when we try and fail to select the item, rather than ad hoc in various other places
- Made it only clear the filter if necessary, rather than (almost) always clearing it when adding an item
#jira UE-43372
Change 3491562 by Marc.Audy
Put back pin removal in to editable pin base and instead modify the pin destroy implementation to take down child split pins with it
#jira UE-46020
#rnx
Change 3491658 by Marc.Audy
Unify RemoveUserDefinedPin implementations. Use version that has break to avoid size change assert
#rnx
Change 3491946 by Marc.Audy
ReconstructSinglePin no longer destroys OldPin (avoids oprhaned sub pins being destroyed before reparented)
RewireOldPinsToNewPins now destroys OldPins at the end (calling code no longer reponsible)
DestroyImpl now prunes out SubPins that had already been trashed
#rnx
Change 3492040 by Marc.Audy
Discard exec/then pins from a callfunction that has been converted to a pure node
#rnx
Change 3492200 by Zak.Middleton
#ue4 - Always reset the input array in AActor::GetComponents(), but do so without affecting allocated size.
Fixes possible regression from CL 3359561 that removed the Reset(...) entirely.
#jira UE-46012
Change 3492290 by Ben.Zeigler
#jira UE-46108 Fix StringLibrary Mid to never crash, Substring had already been fixed
Change 3492311 by Marc.Audy
Don't clear the pin type if what you're connecting to's pin type is wildcard
#rnx
Change 3492680 by Dan.Oconnor
Handle missing generated class when using compilation manager - tested by forcing compile of BP_ParentClassIsMissingType.uasset
Change 3492826 by Marc.Audy
Don't do pin connection list change notifications from DestroyPins while regenerating on load
#jira UE-46112
#rnx
Change 3492851 by Michael.Noland
Core: Fixed various crashes when using UObject::CallFunctionByNameWithArguments with non-trivial argument types by properly initializing the allocated parameters
Change 3492852 by Michael.Noland
Framework: Fixed a crash if ACharacter::FindComponentByClass was passed a nullptr class
Change 3492934 by Marc.Audy
Fix ensure and crash delete macro containing orphaned pin
#rnx
Change 3493079 by Dan.Oconnor
Fix for crash when opening ThirdPersonAnimBlueprint and ThirdPersonAnimBlueprint_Perf then clicking 'Compile' button in ThirdPersonAnimBlueprint editor. Make sure the convenience members in the derived compilers get set when we relink child classes (which requires making cdos, which requires PropagateValuesToCDO..)
#rnx
Change 3493346 by Phillip.Kavan
#jira UE-40560 - Fix a reported crash when pasting nodes between unrelated Blueprint graphs.
Change summary:
- Modified FEdGraphUtilities::PostProcessPastedNodes() to ensure() on a NULL pin entry; this will allow execution to continue while still alerting us since it is an unexpected result. Also added an 'else' case to then remove the NULL entry so that PostPasteNode() implementations don't all have to guard against NULL pin entries. When the node is reconstructed, the NULL entry will be replaced with the correct pin initialized to its default values.
- Modified UEdGraphPin::ImportTextItem() to add some additional logging to parse error cases when importing pin properties from source T3D text. Hopefully this gives us more information when this is encountered in the future.
Change 3493938 by Michael.Noland
Blueprints: Prevent issues with renaming event dispatchers to contain periods (this may be disallowed in the future, but they no longer become uneditable)
#jira UE-45780
Change 3493945 by Michael.Noland
Blueprints: Fixed GetDelegatePoperty typos
#rnx
Change 3493997 by Michael.Noland
Blueprints: Partially reverting changes from CL# 3319966 to reroute nodes, restoring their alignment but losing the symmetrical grab handle changes
#jira UE-45760
Change 3493998 by Dan.Oconnor
Fix rare crash in RefreshStandAloneDefaultsEditor when the blueprint editor is opened and a blueprint had errors in it
Note: I stumbled across this by running a unit test and then opening a blueprint in the BPE. CrashReporter indicates 3 crashes in the last 3 days
Change 3494025 by Michael.Noland
Engine: Deleted some dead code (DEBUGGING_VIEWPORT_SIZES)
#rnx
Change 3494026 by Michael.Noland
Blueprints: V0 of a BlueprintCallable/BlueprintPure function fuzzer
- Calls exposed methods with default parameters on classes it is able to spawn for now, which catches crashes due to null and /0 but not out of bounds issues or ones on classes it can't spawn due to classwithin, abstract, etc...
- Can be called using Test.ScriptFuzzing, won't be integrated into automated tests until it is more fully fleshed out and all known issues are addressed
#rnx
Change 3496382 by Ben.Zeigler
Fix ensure when launching editor with cook on the side and incremental cooking enabled. It now flushes the background asset gather when calling the sync load all assets if one is in progress
Change 3496688 by Marc.Audy
Avoid crashing in component instance data if (for some reason) the Actor's root component isn't properly set up
#jira UE-46073
Change 3496830 by Michael.Noland
Editor: Change FEditorCategoryUtils methods to take UStruct* instead of UClass*, as they are just reading metadata
#rnx
Change 3496840 by Michael.Noland
Framework: Remove the requirement for a local player in UCheatManager::CheatScript, so it can be be started from the server side (doesn't change the availability of the cheat manager, just allows things like the redundant "cheat cheatscript scriptname" to work)
Change 3497038 by Michael.Noland
Fortnite: Added UFortDeveloperSettings to allow developers to auto-run cheats in PIE (does not occur in -game or outside of WITH_EDITOR builds)
- You can specify a list of cheat commands to run when a pawn is possessed (also needs CL# 3496840 for cheatscripts)
- You can also specify a set of items to grant to your local inventory when it is created
Change 3497204 by Marc.Audy
Fix AbilitySystemComponent not being blueprint readable.
#rnx
Change 3497668 by Mieszko.Zielinski
Fixed a crash in BT editor when dealing with enum-typed Blackboard-keys pointing to enum values that have been deleted #UE4
#jira UE-43659
Change 3497677 by Mieszko.Zielinski
Added a community-suggested working solution to patching up dynamic navmesh after world offset #UE4
Also, fixed a crash related to navmesh rebuilding if generation was configured to lazily gather navigatble geometry
#jira UE-41293
Change 3497678 by Mieszko.Zielinski
Marked AbstractNavData class as transient #UE4
We never want to save it to levels
Change 3497679 by Mieszko.Zielinski
Made NavModifierVolume responsive to editor-time property changes #UE4
#jira UE-32831
Change 3497900 by Dan.Oconnor
Fix bad skel reference when using construct object from class, just limiting scope of 3491946. To reproduce the bug just nativize QA Game, including the TM-Gameplay level
#rnx
Change 3497904 by Dan.Oconnor
Use K2Node_Event::FindEventSignatureFunction in order when directly generating the skeleton generated class to get event params correct
#jira UE-46153
#rnx
Change 3497907 by Dan.Oconnor
Correctly set blueprint visibility flags on params for inherited functions when generating the skeleton class
#rnx
#jira UE-46186
Change 3498218 by mason.seay
Updates to pin testing BP's
Change 3498323 by Mieszko.Zielinski
Made UNavCollision instance assigned to StaticMesh not get re-created from scratch every single time any StaticMesh property changes #UE4
Recreation was resulting in some of the UNavCollision's properties not getting saved and the way we were recreating the nav collision could also interfere with undo buffers
#jira UE-44891
Change 3499007 by Marc.Audy
Allow systems to hook Pre and PostCompile to do custom behaviors
Change 3499013 by Mieszko.Zielinski
Made AbstractNavData class non-transient again #UE4
Implemented AbstractNavData instances' transientness in a different manner.
#jira UE-46194
Change 3499204 by Mieszko.Zielinski
Introduced CrowdManagerBase, an engine-level class that can be extended to implement custom crowd management #Orion
Extracted FRecastQueryFilter into a separate file, which will break some peoples' compilation.
#jira UE-43799
Change 3499321 by mason.seay
Updated bp for struct testing
Change 3499388 by Marc.Audy
Allow the compiler log to store off potential messages from earlier in the compile cycle (early validation), that can be committed later (for example once pruning is completed).
Change 3499390 by Marc.Audy
Generate the orphan pin error messages during EarlyValidation, but cache until the regular validation phase. This ensures all are generated, but only those that aren't pruned will be emitted.
#rnx
Change 3499420 by Michael.Noland
Engine: Introduced a new version of UEngine::GetWorldFromContextObject which takes an enum specifying the behavior on failures and updated all existing uses
The new version intentionally does not have a default value for ErrorMode, callers need to think about which variant of behavior they want:
- ReturnNull: Silently returns nullptr, the calling code is expected to handle this gracefully
- LogAndReturnNull: Raises a runtime error but still returns nullptr, the calling code is expected to handle this gracefully
- Assert: Asserts, the calling code is not expecting to handle a failure gracefully
- Deprecated UEngine::GetWorldFromContextObject(object, boolean) and changed the default behavior for the deprecated instances to do LogAndReturnNull rather than Assert, based on the real-world call pattern
- Introduced GetWorldFromContextObjectChecked(object) as a shorthand for passing in EGetWorldErrorMode::Assert
- Made UObject::GetWorldChecked() actually assert if it would return nullptr (under some cases the old function could silently return nullptr while reporting bSupported = true, so it neither ensured nor checked)
- Fixed a race condition in the 'is implemented' bookkeeping logic in GetWorld()/GetWorldChecked() by confining it to the game thread and added a check() to ImplementsGetWorld() to make it clear that it only works on the game thread
The typical recommended call pattern is to use something like:
if (UWorld* World = GEngine->GetWorldFromContextObject(WorldContextObject, EGetWorldErrorMode::LogAndReturnNull))
{
... Do something with World
}
Handling the failure case but requesting a log message (with BP call stack printed out) if it failed. This is now also the default behavior for old calls to UEngine::GetWorldFromContextObject(Object) (using the default value of bChecked=true), which is a behavior change but it matches how the function was being used in practice; the vast majority of call sites actually expected it to potentially fail and handled the nullptr case gracefully; very few places used the return value unguarded and wanted it to assert when passed a nullptr.
#jira UE-42458
Change 3499429 by Michael.Noland
Engine: Removed a bogus TODO (the problematic code had already been reworked)
#rnx
Change 3499470 by Michael.Noland
Core: Improved and corrected the comment for ensure()
- It doesn't crash when checking is disabled (and hasn't since UE3, maybe ever?)
- It now only fires once per ensure() by default, added a note about ensureAlways()
#rnx
Change 3499643 by Marc.Audy
Use TGuardValue instead of manually managing it
#rnx
Change 3499874 by Marc.Audy
Display <Unnamed> instead of nothing for Pins with blank display name in the compiler log
Change 3499875 by Marc.Audy
When changing function parameter types, don't orphan a pin on the function entry/exit nodes (but do at the call sites)
#jira UE-46224
Change 3499927 by Dan.Oconnor
UField::Serialize no longer serialize's its next ptr, UStruct::Serialize serializes all Children properties instead. This resolves a hard circular dependency between function libraries that EDL detected. It was resolved in an ad hoc way by the old linker
#jira UE-43458
Change 3499953 by Michael.Noland
Core: Created a variant of ensure that does runtime error logging without stopping in the debugger and some related functions that print a warning or error and may trigger a BP callstack (under the same rules as FFrame::KismetExecutionMessage)
- These are WIP and the API may change in the future, but are being used to fix various crashes found by fuzzing BP exposed functions
Change 3499957 by Michael.Noland
Animation: Added runtime errors for nullptr ControlRigs passed into BP methods
#rnx
Change 3499958 by Michael.Noland
Blueprints: Changed an ensure in UKismetNodeHelperLibrary::GetValidValue to a runtime error
#rnx
Change 3499959 by Michael.Noland
Engine: Downgrade various checks() to ensures() in the runtime asset cache functions exposed to Blueprints
Change 3499960 by Michael.Noland
AI: Changed UBTFunctionLibrary to not check/ensure if passed a null world context object
Change 3499968 by Michael.Noland
Editor: Fixed a couple of crashes in UEditorLevelUtils when passed nullptr arguments, and reformatted the entire file to fix widespread indentation issues
#rnx
Change 3499969 by Michael.Noland
Engine: Changed the verbosity of the failure log message of UEngine::GetWorldFromContextObject(..., LogAndReturnNull) from Warning to Error, so it always prints out a BP callstack
#rnx
Change 3499973 by Michael.Noland
Rendering: Fixed asserts in various UKismetRenderingLibrary methods if passed a nullptr for the WorldContextObject
- Also fixed flipped warnings in the failure cases for EndDrawCanvasToRenderTarget
Change 3499979 by Michael.Noland
Editor: Prevented a crash in UMaterialEditingLibrary::RecompileMaterial when passed a nullptr material
Change 3499984 by Michael.Noland
Physics: Prevented a crash in UTraceQueryTestResults::AssertEqual when passed in nullptr for Expected
Change 3499993 by Michael.Noland
Blueprints: Added validation when renaming variables, functions, components, multicast delegates, etc... to prevent names from containing some unacceptable characters
- This validation only kicks in when trying to rename an item, so bad names in existing content are 'grandfathered in'
- These bad names can cause bugs when working with content that contains these characters (e.g., names that contain a period cannot be found via FindObject<T>)
- Currently only . is banned, but eventually we may expand it to include all of INVALID_OBJECTNAME_CHARACTERS
Change 3500009 by Michael.Noland
Blueprints: Made the fuzzer skip classes declared in UnrealEd for now (some of the exposed methods change global state that can cause other tests to fail as the fuzzer isn't particularly sandboxed ATM)
#rnx
Change 3500011 by Michael.Noland
Android: Fixed a crash in UAndroidPermissionFunctionLibrary::AcquirePermissions when called with an empty array on non-Android platforms
Change 3500012 by Michael.Noland
Editor: Prevent a crash in UEditorTutorial::OpenAsset when passed a nullptr Asset
Change 3500014 by Michael.Noland
Engine: Changed FRuntimeAssetCacheFilesystemBackend::ClearCache(NAME_None) to not try to clear all cache directories (there is a separate no-args method for that)
Change 3500019 by Michael.Noland
Core: Fixed some more issues with CallFunctionByNameWithArguments and initializing / destroying parameters
- It was skipping the return value and incorrectly relying on the FirstPropertyToInit list which isn't set for by ref arguments
Change 3500020 by Michael.Noland
Automation: Prevent UFunctionalTestingManager::RunAllFunctionalTests and UFunctionalTestingManager* UFunctionalTestingManager::GetManager from crashing when a manager cannot be created (because we can't route to a world)
Change 3501062 by Marc.Audy
MakeArray AddInputPin is often used as part of node expansion, so need to move the transaction out of the function
Fix inability to undo/redo pin additions to sequence node
Add a K2Node_AddPinInterface to generalize the interface that K2Nodes implement to interact with SGraphNodeK2Sequence so it can be more generally used
#jira UE-46164
#jira UE-46270
Change 3501330 by Michael.Noland
AI: Fix an error on shutdown when the CDO of UAIPerceptionComponent tries to clean up (as it was never registered in the first place)
#jira UE-46271
Change 3501356 by Marc.Audy
Fix crash when multi-editing actor blueprints
#jira UE-46248
Change 3501408 by Michael.Noland
Core: Improve the print-out of FFrame::GetStackTrace() / FFrame::GetScriptCallstack() when there is no script stack (e.g., when FFrame::KismetExecutionMessage is called by native code with no BP above in the call stack)
Change 3501457 by Phillip.Kavan
#jira UE-46054 - Fix crash when launching a packaged build that includes a nativized Blueprint instance with a ChildActorComponent instanced via an AddComponent node.
Change summary:
- Removed UK2Node_AddComponent::PostDuplicate(). This eliminates the creation of redundant component templates that were being unnecessarily created during the Blueprint duplication that precedes the nativization pass.
- Modified SMyBlueprint::OnDuplicateAction() to call MakeNewComponentTemplate() in response to a graph duplication action within the same Blueprint context (replaces previous UK2Node_AddComponent::PostDuplicate() impl).
- Modified FEmitDefaultValueHelper::HandleSpecialTypes() to force AddComponent-based CAC-owned template objects in the emitted codegen to use the UDynamicClass as the Outer when instancing. This matches what we already do for SCS-based CAC-owned template objects - that logic was added in CL# 3270456, and this matches up with FBlueprintNativeCodeGenModule::FindReplacedNameAndOuter(), where we specifically handle CAC-owned template objects.
Change 3502741 by Phillip.Kavan
#jira UE-45782 - Fix undo for index pin type changes.
Change summary:
- Modified SGraphPinIndex::OnTypeChanged() to call Modify() on the pin that was changed.
Change 3502939 by Michael.Noland
Back out changelist 3499927
Change 3503087 by Marc.Audy
Re-fixed ocean content as editor had also changed so had to take theirs and redo
#rnx
Change 3503266 by Ben.Zeigler
#jira UE-46335 Fix regression added in 4.16 where AssetRegistry GetAncesorClassNames/GetDerivedClassNames were not working properly in cooked builds for classes not in memory
Change 3503325 by mason.seay
updated Anim BP to prep for pin testing
Change 3503445 by Marc.Audy
Fix crash caused by OldPins being destroyed before rewiring
#rnx
Change 3505024 by Marc.Audy
Fix NodeEffectsPanel blueprint as it was using pins that no longer existed
#rnx
Change 3505254 by Marc.Audy
Don't include orphan pins when gather source property names
If a property doesn't exist for a source property name just skip the property rather than crashing
#jira UE-46345
#rnx
Change 3506125 by Ben.Zeigler
#jira UE-46311 Fix issues when blueprints are reloaded in place, it needs to remove them from root properly and sanitize the old class. It's still not clear why they are being reloaded in place
Change 3506334 by Dan.Oconnor
Move UAnimGraphNode_Base::PreloadRequiredAssets up to K2Node, make sure nodes get a chance to preload data before compilation manager compiles newly loaded blueprints
#jira UE-46411
Change 3506439 by Dan.Oconnor
Return to pre 3488512 behavior for construct object nodes. This means that we can still get warnings on load when users compile after saving a blueprint, but the current behavior loses default values because it's lookng at the skeleton cdo
#jira UE-46308
Change 3506468 by Dan.Oconnor
Return to pre 3488512 behavior, as it causes bad default values
#jira UE-46414
#rnx
Change 3506733 by Marc.Audy
Use the most up to date class to determine whether a property still exists when adding pins during reconstruction
#jira UE-45965
#author Dan.OConnor
#rnx
Change 3507531 by Ben.Zeigler
#jira UE-46449 Better fix to flush the asset registry queue when the editor requests a synchronous scan at startup. Sometimes it can take a few frames because of file handle delays
Change 3507924 by mason.seay
Sanity save of TM-Gameplay and sublevels to maybe resolve level streaming issues
Change 3507962 by Marc.Audy
Remake changes from CL# 3150796 wiped out by WEX-Staging merge to Main in CL# 3479958
#rnx
Change 3509131 by Dan.Oconnor
Compilation manager compile on load flow never called FindExportsInMemoryFirst, which is critical to prevent reloading of UBlueprintGeneratedClasses when Rename clears the export table
#jira UE-46311
Change 3509345 by Marc.Audy
CVar to disable orphan pins if necessary
#rnx
Change 3509959 by Marc.Audy
Protect against crashing due to large values in Timespan From functions
#jira UE-43840
Change 3510040 by Marc.Audy
Remove all the old unneeded ShooterGame test maps
#rnx
[CL 3510073 by Marc Audy in Main branch]
2017-06-26 15:07:18 -04:00
for ( ULevel * Level : WorldAsset - > GetLevels ( ) )
2015-04-11 10:23:56 -04:00
{
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3620134)
#lockdown Nick.Penwarden
#rb none
============================
MAJOR FEATURES & CHANGES
============================
Change 3550452 by Ben.Marsh
UAT: Improve readability of error message when an editor commandlet fails with an error code.
Change 3551179 by Ben.Marsh
Add methods for reading text files into an array of strings.
Change 3551260 by Ben.Marsh
Core: Change FFileHelper routines to use enum classes for flags.
Change 3555697 by Gil.Gribb
Fixed a rare crash when the asset registry scanner found old cooked files with package level compression.
#jira UE-47668
Change 3556464 by Ben.Marsh
UGS: If working in a virtual stream, use the name of the first non-virtual ancestor for writing version files.
Change 3557630 by Ben.Marsh
Allow the network version to be set via Build.version if it's not overriden from Version.h.
Change 3561357 by Gil.Gribb
Fixed crashes related to loading old unversioned files in the editor.
#jira UE-47806
Change 3565711 by Graeme.Thornton
PR #3839: Make non-encoding specific Base64 functions accessible (Contributed by stfx)
Change 3565864 by Robert.Manuszewski
Temp fix for a race condition with the async loading thread enabled - caching the linker in case it gets removed (but not deleted) from super class object.
Change 3569022 by Ben.Marsh
PR #3849: Update gitignore (Contributed by mhutch)
Change 3569113 by Ben.Marsh
Fix Japanese errors not displaying correctly in the cook output log.
#jira UE-47746
Change 3569486 by Ben.Marsh
UGS: Always sync the Enterprise folder if the selected .uproject file has the "Enterprise" flag set.
Change 3570483 by Graeme.Thornton
Minor C# cleanups. Removing some redundant "using" calls which also cause dotnetcore compile errors
Change 3570513 by Robert.Manuszewski
Fix for a race condition with async loading thread enabled.
Change 3570664 by Ben.Marsh
UBT: Use P/Invoke to determine number of physical processors on Windows rather than using WMI. Starting up WMIC adds 2.5 seconds to build times, and is not compatible with .NET core.
Change 3570708 by Robert.Manuszewski
Added ENABLE_GC_OBJECT_CHECKS macro to be able to quickly toggle UObject pointer checks in shipping builds when the garbage collector is running.
Change 3571592 by Ben.Marsh
UBT: Allow running with -installed without creating [InstalledPlatforms] entries in BaseEngine.ini. If there is no HasInstalledPlatformInfo=true setting, assume that all platforms are still available.
Change 3572215 by Graeme.Thornton
UBT
- Remove some unnecessary using directives
- Point SN-DBS code at the new Utils.GetPhysicalProcessorCount call, rather than trying to calculate it itself
Change 3572437 by Robert.Manuszewski
Game-specific fix for lazy object pointer issues in one of the test levels. The previous fix had to be partially reverted due to side-effects.
#jira UE-44996
Change 3572480 by Robert.Manuszewski
MaterialInstanceCollections will no longer be added to GC clusters to prevent materials staying around in memory for too long
Change 3573547 by Ben.Marsh
Add support for displaying log timestamps in local time. Set LogTimes=Local in *Engine.ini, or pass -LocalLogTimes on the command line.
Change 3574562 by Robert.Manuszewski
PR #3847: Add GC callbacks for script integrations (Contributed by mhutch)
Change 3575017 by Ben.Marsh
Move some functions related to generating window resolutions out of Core (FParse::Resolution, GenerateConvenientWindowedResolutions). Also remove a few headers from shared PCHs prior to splitting application functionality out of Core.
Change 3575689 by Ben.Marsh
Add a fixed URL for opening the API documentation, so it works correctly in "internal" and "perforce" builds.
Change 3575934 by Steve.Robb
Fix for nested preprocessor definitions.
Change 3575961 by Steve.Robb
Fix for nested zeros.
Change 3576297 by Robert.Manuszewski
Material resources will now be discarded in PostLoad (Game Thread) instead of in Serialize (potentially Async Loading Thread) so that shader deregistration doesn't assert when done from a different thread than the game thread.
#jira FORT-38977
Change 3576366 by Ben.Marsh
Add shim functions to allow redirecting FPlatformMisc::ClipboardCopy()/ClipboardPaste() to FPlatformApplicationMisc::ClipboardCopy()/ClipboardPaste() while they are deprecated.
Change 3578290 by Graeme.Thornton
Changes to Ionic zip library to allow building on dot net core
Change 3578291 by Graeme.Thornton
Ionic zip library binaries built for .NET Core
Change 3578354 by Graeme.Thornton
Added FBase64::GetDecodedDataSize() to determine the size of bytes of a decoded base64 string
Change 3578674 by Robert.Manuszewski
After loading packages flush linker cache on uncooked platforms to free precache memory
Change 3579068 by Steve.Robb
Fix for CLASS_Intrinsic getting stomped.
Fix to EClassFlags so that they are visible in the debugger.
Re-added mysteriously-removed comments.
Change 3579228 by Steve.Robb
BOM removed.
Change 3579297 by Ben.Marsh
Fix exception if a plugin lists the same module twice.
#jira UE-48232
Change 3579898 by Robert.Manuszewski
When creating GC clusters and asserting due to objects still being pending load, the object name and cluster name will now be logged with the assert.
Change 3579983 by Robert.Manuszewski
More fixes for freeing linker cache memory in the editor.
Change 3580012 by Graeme.Thornton
Remove redundant copy of FileReference.cs
Change 3580408 by Ben.Marsh
Validate that arguments passed to the checkf macro are valid sprintf types, and fix up a few places which are currently incorrect.
Change 3582104 by Graeme.Thornton
Added a dynamic compilation path that uses the latest roslyn apis. Currently only used by the .NET Core path.
Change 3582131 by Graeme.Thornton
#define out some PerformanceCounter calls that don't exist in .NET Core. They're only used by mono-specific calls anyway.
Change 3582645 by Ben.Marsh
PR #3879: fix bug when creating a new VS2017 C++ project (Contributed by mnannola)
#jira UE-48192
Change 3583955 by Robert.Manuszewski
Support for EDL cooked packages in the editor
Change 3584035 by Graeme.Thornton
Split RunExternalExecutable into RunExternaNativelExecutable and RunExternalDotNETExecutable. When running under .NET Core, externally launched DotNET utilities must be launched via the 'dotnet' proxy to work correctly.
Change 3584177 by Robert.Manuszewski
Removed unused member variable (FArchiveAsync2::bKeepRestOfFilePrecached)
Change 3584315 by Ben.Marsh
Move Android JNI accessor functions into separate header, to decouple it from the FAndroidApplication class.
Change 3584370 by Ben.Marsh
Move hooks which allow platforms to load any modules into the FPlatformApplicationMisc classes.
Change 3584498 by Ben.Marsh
Move functions for getting and setting the hardware window pointer onto the appropriate platform window classes.
Change 3585003 by Steve.Robb
Fix for TChunkedArray ranged-for iteration.
#jira UE-48297
Change 3585235 by Ben.Marsh
Remove LogEngine extern from Core; use the platform log channels instead.
Change 3585942 by Ben.Marsh
Move MessageBoxExt() implementation into application layer for platforms that require it.
Change 3587071 by Ben.Marsh
Move Linux's UngrabAllInput() function into a callback, so DebugBreak still works without SDL.
Change 3587161 by Ben.Marsh
Remove headers which will be stripped out of the Core module from Core.h and PlatformIncludes.h.
Change 3587579 by Steve.Robb
Fix for Children list not being rebuilt after hot reload.
Change 3587584 by Graeme.Thornton
Logging improvements for pak signature check failures
- Added "PakCorrupt" console command which corrupts the master signature table
- Added some extra log information about which block failed
- Re-hash the master signature table and to make sure that it hasn't changed since startup
- Moved the ensure around so that some extra logging messages can make it out before the ensure is hit
- Added PAK_SIGNATURE_CHECK_FAILS_ARE_FATAL to IPlatformFilePak.h so we have a single place to make signature check failures fatal again
Change 3587586 by Graeme.Thornton
Changes to make UBT build and run on .NET Core
- Added *_DNC csproj files for DotNETUtilities and UnrealBuildTool projects which contain the .NET Core build setups
- VCSharpProjectFile can no be asked for the CsProjectInfo for a particular configuration, which is cached for future use
- After loading VCSharpProjectFiles, .NET Core based projects will be excluded unless generating VSCode projects
Change 3587953 by Steve.Robb
Allow arbitrary UENUM initializers for enumerators.
Editor-only data UENUM support.
Enumerators named MAX are now treated as the UENUM's maximum, and will not cause a MAX+1 value to be generated.
#jira UE-46274
Change 3589827 by Graeme.Thornton
More fixes for VSCode project generation and for UBT running on .NET Core
- Use a different file extension for rules assemblies when build on .NET Core, so they never get used by their counterparts
- UEConsoleTraceListener supports stdout/stderror constructor parameter and outputs to the appropriate channel
- Added documentation for UEConsoleTraceListener
- All platforms .NET project compilation tasks/launch configs now use "dotnet" and not the normal batch files
- Restored the default UBT log verbosity to "Log" rather than "VeryVeryVerbose"
- Renamed assemblies for .NETCore versions of DotNETUtilities and UnrealBuildTool so they don't conflict with the output of the existing .NET Desktop Framework stuff
Change 3589868 by Graeme.Thornton
Separate .NET Core projects for UBT and DotNETCommon out into their own directories so that their intermediates don't overlap with the standard .NET builds, causing failures.
UBT registers ONLY .NET Core C# projects when generating VSCode solutions, and ONLY standard C# projects in all other cases
Change 3589919 by Robert.Manuszewski
Fixing crash when cooking textures that have already been cooked for EDL (support for cooked content in the editor)
Change 3589940 by Graeme.Thornton
Force UBT to think it's running on mono when actually running on .NET Core. Disables a lot of windows specific code paths.
Change 3590078 by Graeme.Thornton
Fully disable automatic assembly info generation in .NET Core projects
Change 3590534 by Robert.Manuszewski
Marking UObject as intrinsic clas to fix a crash on UFE startup.
Change 3591498 by Gil.Gribb
UE4 - Fixed several edge cases in the low level async loading code, especially around cancellation. Also PakFileTest is a console command which can be used to stress test pak file loading.
Change 3591605 by Gil.Gribb
UE4 - Follow up to fixing several edge cases in the low level async loading code.
Change 3592577 by Graeme.Thornton
.NET Core C# projects now reference source files explicitly, to stop it accidentally compiling various intermediates
Change 3592684 by Steve.Robb
Fix for EObjectFlags being passed as the wrong argument to csgCopyBrush.
Change 3592710 by Steve.Robb
Fix for invalid casts in ListProps command.
Some name changes in command output.
Change 3592715 by Ben.Marsh
Move Windows event log code into cpp file, and expose it to other modules even if it's not enabled by default.
Change 3592767 by Gil.Gribb
UE4 - Changed the logic so that engine UObjects boot before anything else. The engine classes are known to be cycle-free, so we will get them done before moving onto game modules.
Change 3592770 by Gil.Gribb
UE4 - Fixed a race condition with async read completion in the prescence of cancels.
Change 3593090 by Steve.Robb
Better error message when there two clashing type names are found.
Change 3593697 by Steve.Robb
VisitTupleElements function, which calls a functor for each element in the tuple.
Change 3595206 by Ben.Marsh
Include additional diagnostics for missing imports when a module load fails.
Change 3596140 by Graeme.Thornton
Batch file for running MSBuild
Change 3596267 by Steve.Robb
Thread safety fix to FPaths::GetProjectFilePath().
Change 3596271 by Robert.Manuszewski
Added code to verify compression flags in package file summary to avoid cases where corrupt packages are crashing the editor
#jira UE-47535
Change 3596283 by Steve.Robb
Redundant casts removed from UHT.
Change 3596303 by Ben.Marsh
EC: Improve parsing of Android Clang errors and warnings, which are formatted as MSVC diagnostics to allow go-to-line clicking in the Output Window.
Change 3596337 by Ben.Marsh
UBT: Format messages about incorrect headers in a way that makes them clickable from Visual Studio.
Change 3596367 by Steve.Robb
Iterator checks in ranged-for on TMap, TSet and TSparseArray.
Change 3596410 by Gil.Gribb
UE4 - Improved some error messages on runtime failures in the EDL.
Change 3596532 by Ben.Marsh
UnrealVS: Fix setting command line to empty not affecting property sheet. Also remove support for VS2013.
#jira UE-48119
Change 3596631 by Steve.Robb
Tool which takes a .map file and a .objmap file (from UBT) and creates a report which shows the size of all the symbols contributed by the source code per-folder.
Change 3596807 by Ben.Marsh
Improve Intellisense when generated headers are missing or out of date (eg. line numbers changed, etc...). These errors seem to be masked by VAX, but are present when using the default Visual Studio Intellisense.
* UCLASS macro is defined to empty when __INTELLISENSE__ is defined. Previous macro was preventing any following class declaration being parsed correctly if generated code was out of date, causing squiggles over all class methods/variables.
* Insert a semicolon after each expanded GENERATED_BODY macro, so that if it parses incorrectly, the compiler can still continue parsing the next declaration.
Change 3596957 by Steve.Robb
UBT can be used to write out an .objsrcmap file for use with the MapFileParser.
Renaming of ObjMap to ObjSrcMap in MapFileParser.
Change 3597213 by Ben.Marsh
Remove AutoReporter. We don't support this any more.
Change 3597558 by Ben.Marsh
UGS: Allow adding custom actions to the context menu for right clicking on a changelist. Actions are specified in the project's UnrealEngine.ini file, with the following syntax:
+ContextMenu=(Label="This is the menu item", Execute="foo.exe", Arguments="bar")
The standard set of variables for custom tools is expanded in each parameter (eg. $(ProjectDir), $(EditorConfig), etc...), plus the $(Change) variable.
Change 3597982 by Ben.Marsh
Add an option to allow overriding the local DDC path from the editor (under Editor Preferences > Global > Local Derived Data Cache).
#jira UE-47173
Change 3598045 by Ben.Marsh
UGS: Add variables for stream and client name, and the ability to escape any variables for URIs using the syntax $(VariableName:URI).
Change 3599214 by Ben.Marsh
Avoid string duplication when comparing extensions.
Change 3600038 by Steve.Robb
Fix for maps being modified during iteration in cache compaction.
Change 3600136 by Steve.Robb
GitHub #3538 : Fixed a bug with the handling of 'TMap' key/value types in the UnrealHeaderTool
Change 3600214 by Steve.Robb
More accurate error message when unsupported template parameters are provided in a TSet property.
Change 3600232 by Ben.Marsh
UBT: Force UHT to run again if the .build.cs file for a module has changed.
#jira UE-46119
Change 3600246 by Steve.Robb
GitHub #3045 : allow multiple interface definition in a file
Change 3600645 by Ben.Marsh
Convert QAGame to Include-What-You-Use.
Change 3600897 by Ben.Marsh
Fix invalid path (multiple slashes) in LibCurl.build.cs. Causes exception when scanning for includes.
Change 3601558 by Graeme.Thornton
Simple first pass VSCode editor integration plugin
Change 3601658 by Graeme.Thornton
Enable intellisense generation for VS Code project files and setup include paths properly
Change 3601762 by Ben.Marsh
UBT: Add support for adaptive non-unity builds when working from a Git repository.
The ISourceFileWorkingSet interface is now used to query files belonging to the working set, and has separate implementations for Perforce (PerforceSourceFileWorkingSet) and Git (GitSourceFileWorkingSet). The Git implementation is used if a .git directory is found in the directory containing the Engine folder, the directory containing the project file, or the parent directory of the project file, and spawns a "git status" process in the background to determine which files are untracked or staged.
Several new settings are supported in BuildConfiguration.xml to allow modifying default behavior:
<SourceFileWorkingSet>
<Provider>Default</Provider> <!-- May be None, Default, Git or Perforce -->
<RepositoryPath></RepositoryPath> <!-- Specifies the path to the repository, relative to the directory containing the Engine folder. If not set, tries to find a .git directory in the locations listed above. -->
<GitPath>git</GitPath> <!-- Specifies the path to the Git executable. Defaults to "git", which assumes that it will be on the PATH -->
</SourceFileWorkingSet>
Change 3604032 by Graeme.Thornton
First attempt at automatically detecting the existance and location of visual studio code in the source code accessor module. Only works for windows.
Change 3604038 by Graeme.Thornton
Added FSourceCodeNavigation::GetSelectedSourceCodeIDE() which returns the name of the selected source code accessor.
Replaced all usages of FSourceCodeNavigation::GetSuggestedSourceCodeIDE() with GetSelectedSourceCodeIDE(), where the message is referring to the opening or editing of code.
Change 3604106 by Steve.Robb
GitHub #3561 : UE-44950: Don't see all caps struct constructor as macro
Change 3604192 by Steve.Robb
GitHub #3911 : Improving ToUpper/ToLower efficiency
Change 3604273 by Graeme.Thornton
IWYU build fixes when malloc profiler is enabled
Change 3605457 by Ben.Marsh
Fix race for intiialization of ThreadID variable on FRunnableThreadWin, and restore a previous check that was working around it.
Change 3606720 by James.Hopkin
Dave Ratti's fix to character base recursion protection code - was missing a GetOwner call, instead attempting to cast a component to a pawn.
Change 3606807 by Graeme.Thornton
Disabled optimizations around FShooterStyle::Create(), which was crashing in Win64 shipping game builds due to some known compiler issue. Same variety of fix as BenZ did in CL 3567741.
Change 3607026 by James.Hopkin
Fixed incorrect ABrush cast - was attempting to cast a UModel to ABrush, which can never succeed
Change 3607142 by Graeme.Thornton
UBT - Minor refactor of BackgroundProcess shutdown in SourceFileWorkingSet. Check whether the process has already exited before trying to kill it during Dispose.
Change 3607146 by Ben.Marsh
UGS: Fix exception due to formatting string when Perforce throws an error.
Change 3607147 by Steve.Robb
Efficiency fix for integer properties, which were causing a property mismatch and thus a tag lookup every time.
Float and double conversion support added to int properties.
NAME_DoubleProperty added.
Fix for converting enum class enumerators > 255 to int properties.
Change 3607516 by Ben.Marsh
PR #3935: Fix DECLARE_DELEGATE_NineParams, DECLARE_MULTICAST_DELEGATE_NineParams. (Contributed by enginevividgames)
Change 3610421 by Ben.Marsh
UAT: Move help for RebuildLightMapsCommand into attributes, so they display when running with -help.
Change 3610657 by Ben.Marsh
UAT: Unify initialization of command environment for build machines and local execution. Always derive parameters which aren't manually set via environment variables.
Change 3611000 by Ben.Marsh
UAT: Remove the -ForceLocal command line option. Settings are now determined automatically, independently of the -Buildmachine argument.
Change 3612471 by Ben.Marsh
UBT: Move FastJSON into DotNETUtilities.
Change 3613479 by Ben.Marsh
UBT: Remove the bIsCodeProject flag from UProjectInfo. This was only really being used to determine which projects to generate an IDE project for, so it is now checked in the project file generator.
Change 3613910 by Ben.Marsh
UBT: Remove unnecessary code to guess a project from the target name; doesn't work due to init order, actual project is determined later.
Change 3614075 by Ben.Marsh
UBT: Remove hacks for testing project file attributes by name.
Change 3614090 by Ben.Marsh
UBT: Remove global lookup of project by name. Projects should be explicitly specified by path when necessary.
Change 3614488 by Ben.Marsh
UBT: Prevent annoying (but handled) exception when constructing SQLiteModuleSupport objects with -precompile enabled.
Change 3614490 by Ben.Marsh
UBT: Simplify generation of arguments for building intellisense; determine the platform/configuration to build from the project file generation code, rather than inside the target itself.
Change 3614962 by Ben.Marsh
UBT: Move the VS2017 strict conformance mode (/permissive-) behind a command line option (-Strict), and disable it by default. Building with this mode is not guaranteed to work correctly without updated Windows headers.
Change 3615416 by Ben.Marsh
EC: Include an icon showing the overall status of a build in the grid view.
Change 3615713 by Ben.Marsh
UBT: Delete any files in output directories which match output files in other directories. Allows automatically deleting build products which are moved into another folder.
#jira UE-48987
Change 3616652 by Ben.Marsh
Plugins: Fix incorrect dialog when binaries for a plugin are missing. Should only prompt to disable if starting a content-only project.
#jira UE-49007
Change 3616680 by Ben.Marsh
Add the CodeAPI-HTML.tgz file into the installed engine build.
Change 3616767 by Ben.Marsh
Plugins: Tweak error message if the FModuleManager::IsUpToDate() function returns false for a plugin module; the module may be missing, not just incompatible.
Change 3616864 by Ben.Marsh
Cap the length of the temporary package name during save, to prevent excessively long filenames going over the limit once a GUID is appended.
#jira UE-48711
Change 3619964 by Ben.Marsh
UnrealVS: Fix single file compile for foreign projects, where the command line contains $(SolutionDir) and $(ProjectName) variables.
Change 3548930 by Ben.Marsh
UBT: Remove UEBuildModuleCSDLL; there is no codepath that still supports creating them. Remove the remaining UEBuildModule/UEBuildModuleCPP abstraction.
Change 3558056 by Ben.Marsh
Deprecate FString::Trim() and FString::TrimTrailing(), and replace them with separate versions to mutate (TrimStartInline(), TrimEndInline()) or return by copy (TrimStart(), TrimEnd()). Also add a functions to trim whitespace from both ends of a string (TrimStartAndEnd(), TrimStartAndEndInline()).
Change 3563309 by Graeme.Thornton
Moved some common C# classes into the DotNETCommon assembly
Change 3570283 by Graeme.Thornton
Move some code out of RPCUtility and into DotNETCommon, removing the dependency between the two projects
Added UEConsoleTraceListener to replace ConsoleTraceListener, which doesn't exist in DotNetCore
Change 3572811 by Ben.Marsh
UBT: Add -enableasan / -enabletsan command line options and bEnableAddressSanitizer / bEnableThreadSanitizer settings in BuildConfiguration.xml (and remove environment variables).
Change 3573397 by Ben.Marsh
UBT: Create a <ExeName>.version file for every target built by UBT, in the same JSON format as Engine/Build/Build.version. This allows monolithic targets to read a version number at runtime, unlike when it's embedded in a modules file, and allows creating versioned client executables that will work with versioned servers when syncing through UGS.
Change 3575659 by Ben.Marsh
Remove CHM API documentation.
Change 3582103 by Graeme.Thornton
Simple ResX writer implemetation that the xbox deloyment code can use instead of the one from the windows forms assembly, which isn't supported on .NET Core
Removed reference to System.Windows.Form from UBT.
Change 3584113 by Ben.Marsh
Move key-mapping functionality into the InputCore module.
Change 3584278 by Ben.Marsh
Move FPlatformMisc::RequestMinimize() into FPlatformApplicationMisc.
Change 3584453 by Ben.Marsh
Move functionality for querying device display density to FApplicationMisc, due to dependence on application-level functionality on mobile platforms.
Change 3585301 by Ben.Marsh
Move PlatformPostInit() into an FPlatformApplicationMisc function.
Change 3587050 by Ben.Marsh
Move IsThisApplicationForeground() into FPlatformApplicationMisc.
Change 3587059 by Ben.Marsh
Move RequiresVirtualKeyboard() into FPlatformApplicationMisc.
Change 3587119 by Ben.Marsh
Move GetAbsoluteLogFilename() into FPlatformMisc.
Change 3587800 by Steve.Robb
Fixes to container visualizers for types whose pointer type isn't simply Type*.
Change 3588393 by Ben.Marsh
Move platform output devices into their own headers.
Change 3588868 by Ben.Marsh
Move creation of console, error and warning output devices int PlatformApplicationMisc.
Change 3589879 by Graeme.Thornton
All automation projects now have a reference to DotNETUtilities
Fixed a build error in the WEX automation library
Change 3590034 by Ben.Marsh
Move functionality related to windowing and input out of the Core module and into an ApplicationCore module, so it is possible to build utilities with Core without adding dependencies on XInput (Windows), SDL (Linux), and OpenGL (Mac).
Change 3593754 by Steve.Robb
Fix for tuple debugger visualization.
Change 3597208 by Ben.Marsh
Move CrashReporter out of a public folder; it's not in a form that is usable by subscribers and licensees.
Change 3600163 by Ben.Marsh
UBT: Simplify how targets are cleaned. Delete all intermediate folders for a platform/configuration, and delete any build products matching the UE4 naming convention for that target, rather than relying on the current build configuration or list of previous build products. This will ensure that build products which are no longer being generated will also be cleaned.
#jira UE-46725
Change 3604279 by Graeme.Thornton
Move pre/post garbage collection delegates into accessor functions so they can be used by globally constructed objects
Change 3606685 by James.Hopkin
Removed redundant 'Cast's (casting to either the same type or a base).
In SClassViewer, replaced cast with TAssetPtr::operator* call to get the wrapped UClass.
Also removed redundant 'IsA's from AnimationRetargetContent::AddRemappedAsset in EditorAnimUtils.cpp.
Change 3610950 by Ben.Marsh
UAT: Simplify logic for detecting Perforce settings, using environment variables if they are set, otherwise falling back to detecting them. Removes special cases for build machines, and makes it simpler to set up UAT commands on builders outside Epic.
Change 3610991 by Ben.Marsh
UAT: Use the correct P4 settings to detect settings if only some parameters are specified on the command line.
Change 3612342 by Ben.Marsh
UBT: Change JsonObject.Read() to take a FileReference parameter.
Change 3612362 by Ben.Marsh
UBT: Remove some more cases of paths being passed as strings rather than using FileReference objects.
Change 3619128 by Ben.Marsh
Include builder warnings and errors in the notification emails for automated tests, otherwise it's difficult to track down non-test failures.
[CL 3620189 by Ben Marsh in Main branch]
2017-08-31 12:08:38 -04:00
UBlueprint * LevelScript = Level - > GetLevelScriptBlueprint ( true ) ;
Copying //UE4/Dev-Blueprints to //UE4/Dev-Main (Source: //UE4/Dev-Blueprints @ 3152873)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3131279 on 2016/09/19 by Mike.Beach
Fixing FText::Format warning for the Sub-Level Blueprints menu - Was using {LevelName} tag when there was no value for {LevelName} (defaulted to the first argument).
#jira UE-36097
Change 3131318 on 2016/09/19 by Phillip.Kavan
[UE-35690] Minor revisions to Blueprint SCS execution to improve efficiency and address an out-of-order registration issue.
change summary:
- modified AActor::PostSpawnInitialize() to defer native component registration if there is no native scene root component set and if the actor is a BP type (i.e. will invoke SCS). this means that native actor classes with only non-scene components will now defer registration/post-registration until after SCS execution has established a valid scene root.
- modified AActor::ExecuteConstruction() to gather the set of native scene components that SCS nodes can attach to before invoking the SCS. this was previously being done redundantly within the SCS itself at each level of the BP class inheritance hierarchy.
- modified AActor::ExecuteConstruction() to do a final registration pass over all components after the all SCS levels have been executed. this was also previously being done within the SCS at each level. this avoids some extra redundancy.
- modified USCS_Node::ExecuteNodeOnActor() to call RegisterAllComponents() on the given actor instance after establishing a valid scene root component if it was previously deferred at spawn time.
- modified USCS_Node::ExecuteNodeOnActor() to now register components after they're created. since SCS execution goes from parent to child, parent scene components will always be registered before their children. non-native, non-scene component registration will also be deferred until a scene root component has been established.
- added AActor::HasDeferredComponentRegistration()
- modified AActor::RegisterAllComponents() to reset the actor's deferred component registration flag when called
- modified AActor::AddComponent() to check the 'bAutoRegister' flag before calling RegisterComponent() (for consistency)
- moved the RegisterInstancedComponent() utility method into USimpleConstructionScript and modified it to ensure that parent attachments are registered before their children.
- modified USimpleConstructionScript::ExecuteScriptOnActor() to include an additional input parameter for passing in the set of native scene components that can be attached to.
- modified USimpleConstructionScript::ExecuteScriptOnActor() to remove redundant/unnecessary work as noted above.
#jira UE-35690
Change 3131842 on 2016/09/20 by Maciej.Mroz
#jira UE-34984 Broken (weak) object params on Blueprint function (cannot add plain reference)
Change 3131847 on 2016/09/20 by Maciej.Mroz
SPropertyEditorAsset doesn't display UClass with "_C" prefix anymore.
Change 3131923 on 2016/09/20 by Maciej.Mroz
#jira UE-33812 Crash while closing Create Blank New Blueprint window after attempting to name blueprint the same name as another blueprint
Change 3132348 on 2016/09/20 by Phillip.Kavan
Fix CIS build issue (SA).
Change 3132383 on 2016/09/20 by Maciej.Mroz
#jira UE-35830 Float Curve that is set as a local variable in an actor's function is garbage collected when in Standalone, causing a crash
Array UStruct::ScriptObjectReferences is filled while compilation. GC doesn't serialize script bytecode in editor anymore.
Change 3133072 on 2016/09/20 by Maciej.Mroz
#jira UE-34388 Crash upon deleting Blueprints folder
Change 3133216 on 2016/09/20 by Dan.Oconnor
+ BlueprintSetLibrary (add, remove, find, etc)
+ HasGetTypeHash compile time function for detecting types that have GetTypeHish (modeled after HasOperatorEquals)
= SPinTypeSelector can now disable container types based on current primary type, required transition to SComboButtton/SListView from SComboBox
= Hide blueprint set library via BaseEditor.ini
#jira UE-2114
Change 3133227 on 2016/09/20 by Dan.Oconnor
Test assets for TSet
Change 3133804 on 2016/09/21 by Maciej.Mroz
#jira UE-34069 ObjectLibrary stores UBlueprint instead of BPGC
In UObjectLibrary, when bHasBlueprintClasses is true, BP references are automatically replaced by BPGC references.
Change 3133817 on 2016/09/21 by Maciej.Mroz
Fixed static Static Analysis warning
Change 3134377 on 2016/09/21 by Dan.Oconnor
ShowWorldContextObject is now inherited
#jira UE-35674
Change 3134955 on 2016/09/21 by Mike.Beach
Making it so AdvancedDisplay metadata is taken into consideration and used in MakeStruct nodes.
Change 3134965 on 2016/09/21 by Dan.Oconnor
Fix for crash in FCDODiffControl when CDOs have different numbers of properties. First branch in the while loop would incorrectly advance Iter past the end of the array. Comments courtesy of Jon.Nabozny
#jira UE-36263
Change 3135523 on 2016/09/22 by Dan.Oconnor
PR #2755: Master (Contributed by jeremyyeung)
Notable change: searching for Vector in BP editor context menu now gives different default result, prior result was mediocre, though (vector - vector)
#jira UE-35450
Change 3136508 on 2016/09/22 by Mike.Beach
Removing a bIsVisible guard for level Blueprint menu actions - this was causing level BP options to disappear when you hid sub-levels. The guard doesn't seem to matter, as those actions will be removed with the world (when it is updated, or unloaded).
#jira UE-34019
Change 3137587 on 2016/09/23 by Maciej.Mroz
#jira ODIN-1017 [Nativization] Crash while loading Hub_env level
Merged cl#3137578 from Odin branch
Change 3137666 on 2016/09/23 by Ben.Cosh
This adds the ability to map composite graph instances in the same way we map macro instances for blueprint debug data and improves the quality of the debug data providing correct information for nested macro/composite instances at any script location in instrumented blueprint compilations.
#Jira UE-33396 - Nested macro nodes don't map correctly if you place multiple instances in the same graph
#Proj KismetCompiler, BlueprintGraph, UnrealEd
- This is the first part of a two part change, the subsequent change will make use of the debug output to resolve complex trees of tunnel instances in the blueprint profiler.
Change 3137800 on 2016/09/23 by Phillip.Kavan
[UE-34896] Properties are now generated for client-only Blueprint components in an uncooked server-only context.
change summary:
- bumped BlueprintObjectsVersion
- added a new 'ComponentClass' property to USCS_Node
- added a new 'ComponentClass' field to the FComponentOverrideRecord struct (UInheritableComponentHandler)
- added a USCS_Node::Serialize() override to fix up 'ComponentClass' on load (so that it's set prior to compile-on-load)
- modified USimpleConstructionScript::CreateNodeImpl() to set the ComponentClass property in a new SCS node
- modified USimpleConstructionScript::ValidateNodeTemplates() to consider the node to be valid if ComponentClass is set and is known to be filtered (i.e. the node will not be removed in this case)
- modified USimpleConstructionScript::ValidateNodeTemplates() to emit a warning message in an uncooked client-only or server-only context if the ComponentClass could not be set in an existing package (i.e. if a resave is needed)
- modified UInheritableComponentHandler::PostLoad() to fix up 'ComponentClass' on load
- modified UInheritableComponentHandler::CreateOverridenComponentTemplate() to set the ComponentClass field in a new override record
- modified UInheritableComponentHandler::IsRecordValid() to consider the record to be valid if ComponentClass is set (when ComponentTemplate is NULL)
- modified UInheritableComponentHandler::IsRecordNecessary() to consider the record to be necessary if ComponentClass is set and is known to be filtered
- modified FKismetCompilerContext::CreateClassVariablesFromBlueprint() to use 'ComponentClass' rather than 'ComponentTemplate' to infer the property subtype
#jira UE-34896
Change 3137851 on 2016/09/23 by Phillip.Kavan
[UE-36079] Component overrides in a child blueprint will no longer trigger a warning message when the original component is removed from its parent.
change summary:
- modified UInheritableComponentHandler::IsRecordValid() to no longer consider a NULL OriginalTemplate to be invalid (so that the warning message is suppressed)
- modified UInheritableComponentHandler::IsRecordNecessary() to consider a NULL OriginalTemplate to be unnecessary (so that the record is still removed in this case)
#jira UE-36079
Change 3137948 on 2016/09/23 by Ben.Cosh
CIS warning fix on mac for out of order initialisation.
Change 3139351 on 2016/09/25 by Ben.Cosh
Updates the blueprint profiler to make use of the recent changes to macro/composite tunnel mapping and enhanced debug data.
#Jira UE-33396 - Nested macro nodes don't map correctly if you place multiple instances in the same graph
#Proj BlueprintProfiler, Engine
- This is the second part of a two part change enabling multiple instances of nested macro/composite graphs in the blueprint profiler.
Change 3139376 on 2016/09/25 by Ben.Cosh
CIS static analysis fix for CL 3137666
Change 3139377 on 2016/09/25 by Ben.Cosh
Adding script code location checking for pure nodes that was missed in CL 3139351
#Jira UE-33396 - Nested macro nodes don't map correctly if you place multiple instances in the same graph
#Proj BlueprintProfiler
- Fixes a missed issue with pure nodes inside macros/tunnels
Change 3139624 on 2016/09/26 by Maciej.Mroz
Fixed const local variables in Nativized code
Merged cl#3139622 from Odin branch.
Change 3139641 on 2016/09/26 by Maciej.Mroz
#jira UE-31099 Renaming an input mapping does not generate a warning when compile a blueprint using that input
Since we cannot distinguish which nodes are isolated by users (and shouldn't be validated) and which nodes are isolated during expansion step (and should be validated), the isolated nodes are pruned both before and after expantion step (and validation).
Change 3139961 on 2016/09/26 by Ben.Cosh
CIS static analysis fix for CL 3137666
- missed one of the warnings in a previous attempt.
Change 3140143 on 2016/09/26 by Dan.Oconnor
Fix for component property clearing on load, submitted on behalf of Mike.Beach
#jira UE-36395
Change 3140694 on 2016/09/26 by Dan.Oconnor
Fix for GLEO when duplicating levels that have knots that reference delegates (specifically custom events)
#jira UE-34954
Change 3140772 on 2016/09/26 by Dan.Oconnor
Further hardening SGraphPin::GraphPinObj access
#jira UE-36280
Change 3140812 on 2016/09/26 by Dan.Oconnor
Corrected overzealous warning. Codepath is expected when functions are deleted but breakpoints aren't updated
#jira UE-32736
Change 3140869 on 2016/09/26 by Dan.Oconnor
Update check to handle nested DSOs
#jira UE-34568
Change 3141125 on 2016/09/27 by Maciej.Mroz
#jira UE-36326 Attempting to generate abstract class from blueprint crashes editor on compile
While reinstancing the CLASS_Abstract is cleared (just like the CLASS_Deprecated flag)
Change 3142715 on 2016/09/27 by Dan.Oconnor
Fix for crash when pasting nodes that have connections to nodes that aren't in the clipboard from one graph into another
#jira OR-29584
Change 3143469 on 2016/09/28 by Ryan.Rauschkolb
BP Profiler: Fixed Assert when profiling parent/child Blueprint
#jira UE-35487
Change 3145215 on 2016/09/29 by Maciej.Mroz
#jira UE-36494 [CrashReport] UE4Editor_KismetCompiler!FKismetCompilerContext::CreatePinEventNodeForTimelineFunction() [kismetcompiler.cpp:2062]
Change 3145580 on 2016/09/29 by Dan.Oconnor
Collapse secondary image instead of hiding it, allowing x button to be closer to primary image when secondary type image isn't present
#jira UE-36577
Change 3146470 on 2016/09/30 by Maciej.Mroz
#jira UE-36655 Failed ensure when TIleline is pasted
Restored cl#3085572 - it was lost while merging.
Change 3147046 on 2016/09/30 by Maciej.Mroz
#jira UE-34961 Assert when calling BP function with weak object parameter.
BP doesn;t support weak obj ptr as parameters - Validation added. Function, created from colappsed nodes, cannot have a parameter of weakptr type.
Change 3148022 on 2016/10/01 by Phillip.Kavan
[UE-21109] Fix component instance data loss after renaming SCS component nodes at the Blueprint class level.
change summary:
- deprecated the public USCS_Node::VariableName member and replaced it with an internal-only member accessible via Get/Set method (i need to be in control of the set logic)
- changed all occurrences of direct access to USCS_Node::VariableName to use a GetVariableName() call (since it's now internal)
- simplified USCS_Node::GetVariableName() as what it used to do was legacy and thus is no longer necessary (it's been handled by USimpleConstructionScript::PostLoad for awhile now)
- added USCS_Node::SetVariableName(); this now renames the component template (if valid) and all instances of it prior to changing the internal variable name. this ensures that archetype lookups will continue to function after a rename.
- added USCS_Node::RenameComponentTemplate() to handle SCS node component template rename logic on a variable name change
- switched the AActor::CheckComponentInstanceName() API to be publically-accessible; need to call this when renaming instanced components to match a new variable name in order to ensure that we rename any instance-only components out of the way first (this is the same logic that we run when constructing component instances on map load/RRCS, so it's consistent)
- modified UInheritableComponentHandler::PostLoad() to fix up the component template within each record to match the original template object name. this ensures that ICH-specific archetype lookups will continue to function after a rename. it also ensures that any mismatched template names in existing assets will now be fixed up on load.
- moved UActorComponent::ComponentTemplateSuffixName into the USimpleConstructionScript class (since the association is tied to templates created by that class specifically). note: this revises a change from a recent PR submission.
- modified UpdateAttachedIsEditorOnly() to check the RF_ArchetypeObject flag rather than the ComponentTemplateSuffixName (part of the revision to the recent PR submission noted above)
#jira UE-21109
Change 3148023 on 2016/10/01 by Phillip.Kavan
[UE-35562] Fix inherited Blueprinted component template defaults data loss in child Blueprint classes after recompiling the Blueprinted component class.
change summary:
- added a local FArchetypeReinstanceHelper struct + GetArchetypeObjects()/FindUniqueArchetypeObjectName() utility method implementations to KismetReinstanceUtilities.cpp
- modified FBlueprintCompileReinstancer::ReplaceInstancesOfClass_Inner() to ensure that the full inherited component template (archetype) ancestry is renamed along with the base template when we rename the base template object away from its original name in order to make way for the new (reinstanced) template. the names must match the base template along the entire inheritance hierarchy in order for forward/reverse inherited component archetype lookups to succeed.
notes:
- BP (non-native) component templates (e.g. SCS/AddComponent nodes) that belong to the class being reinstanced (i.e. whose templates are not inherited from a parent BP) always inherit directly from the component CDO, and thus do not require this code path (that is, archetype lookups are not dependent on matching the CDO by name). similarly, native components (defined in C++) are included as part of the CDO defaults data, and thus also do not require this code path.
#jira UE-35562
Change 3148030 on 2016/10/01 by Phillip.Kavan
UT fixes for CIS warnings related to SCS node API changes.
Change 3148256 on 2016/10/02 by Ben.Cosh
This change adds the ability to filter debug/wire trace instrumenation and tracks expansion nodes for future use.
#Jira UE-34866 - No profiler timings listed for nodes executed after an interface message
#Proj KismetCompiler, BlueprintGraph, UnrealEd
Change 3148261 on 2016/10/02 by Ben.Cosh
CIS fix, some code from another changelist leaked into CL 3148256
Change 3148480 on 2016/10/03 by Ben.Cosh
This change attempts to address some profiler issues with class function context switching in the blueprint profiler.
#Jira UE-35819 - Crash occurs when instrumenting an event from a member actor
#Proj BlueprintProfiler, BlueprintGraph
Change 3148545 on 2016/10/03 by Phillip.Kavan
Skip unnecessary component validation work to fix invalid warnings when duplicating a BP class for reinstancing.
Change 3149001 on 2016/10/03 by Ben.Cosh
This fixes an issue found with the instrumented blueprint compilations in which a certain compilation path would not provide the extended composite tunnel node heararchy in debug data and removes an unneceassary check that was causing problems.
#Jira UE-36704 - Crash on PIE while profiling TestBP_ProfilerEvents in QAGame
#Proj KismetCompiler, BlueprintProfiler
Change 3149031 on 2016/10/03 by Maciej.Mroz
#jira UE-36687, UE-36691
Tunnel nodes without exec pin are not pruned before expansion.
Change 3149150 on 2016/10/03 by Maciej.Mroz
#jira UE-36685
UGameplayTagsK2Node_LiteralGameplayTag is pure.
Change 3149290 on 2016/10/03 by Maciej.Mroz
#jira UE-36750
GetBlueprintContext node is Pure.
Change 3149595 on 2016/10/03 by Mike.Beach
Fixing up some Orion content errors/warnings that should have been issues a while ago (error reporting was broken for a time, now fixed).
#jira UE-36758, UE-36759
Change 3149667 on 2016/10/03 by Mike.Beach
Fixing up some Ocean content errors as fallout from a change in Dev-Blueprints - the errors properly identified a node that was using a culled input that was uninitialized.
#jira UE-36770
Change 3149777 on 2016/10/03 by Mike.Beach
Fixing up an Orion content warning - disconnecting a cast path in Hero_Automation, now that the node is producing a warning (the cast is impossible, and therefore the path is superfluous).
#jira UE-36759
Change 3149988 on 2016/10/04 by Maciej.Mroz
#jira UE-36750, UE-36685
Fixed IsNodePure functions.
Change 3150146 on 2016/10/04 by Maciej.Mroz
#jira UE-36759
First pruning pass in done after ExpandTunnelsAndMacros is called.
Isolated tunnels are pruned just like regular nodes.
Change 3150743 on 2016/10/04 by Mike.Beach
Mirroring CL 3150661 from Dev-VREditor
Fix for crash on editor close after VR Foliage Editing.
#jira UE-36754
Change 3151104 on 2016/10/04 by Maciej.Mroz
Added comment.
Change 3151979 on 2016/10/05 by Mike.Beach
Adding the keyword "custom" to K2Node_CustomEvent, so that it is prioritized when searching the Blueprint menu.
#jira UE-35512
Change 3152286 on 2016/10/05 by Maciej.Mroz
Make sure, that an isolated node, that should be pure (but is not) won't be pruned.
[CL 3152997 by Mike Beach in Main branch]
2016-10-05 23:32:35 -04:00
if ( LevelScript ! = nullptr )
2015-04-11 10:23:56 -04:00
{
AddBlueprintGraphActions ( LevelScript , AssetActionList ) ;
if ( UClass * SkeletonClass = LevelScript - > SkeletonGeneratedClass )
{
GetClassMemberActions ( SkeletonClass , AssetActionList ) ;
}
// Register for change and compilation notifications
2015-04-14 09:16:22 -04:00
if ( ! LevelScript - > OnChanged ( ) . IsBoundToObject ( this ) )
2015-04-11 10:23:56 -04:00
{
LevelScript - > OnChanged ( ) . AddRaw ( this , & FBlueprintActionDatabase : : OnBlueprintChanged ) ;
}
2015-04-14 09:16:22 -04:00
if ( ! LevelScript - > OnCompiled ( ) . IsBoundToObject ( this ) )
2015-04-11 10:23:56 -04:00
{
LevelScript - > OnCompiled ( ) . AddRaw ( this , & FBlueprintActionDatabase : : OnBlueprintChanged ) ;
}
}
}
}
2014-09-26 11:31:34 -04:00
FBlueprintActionDatabaseRegistrar Registrar ( ActionRegistry , UnloadedActionRegistry , ActionPrimingQueue ) ;
2014-08-23 20:16:29 -04:00
Registrar . ActionKeyFilter = AssetObject ; // make sure actions only associated with this asset get added
// nodes may have actions they wish to add actions for this asset
RegisterAllNodeActions ( Registrar ) ;
2014-09-26 11:31:34 -04:00
// Will clear up any unloaded asset actions associated with this object, if any
ClearUnloadedAssetActions ( * AssetObject - > GetPathName ( ) ) ;
2021-09-06 12:23:53 -04:00
if ( ! IsValid ( AssetObject ) )
2014-12-01 19:02:24 -05:00
{
ClearAssetActions ( AssetObject ) ;
}
else if ( AssetActionList . Num ( ) > 0 )
2014-08-23 20:16:29 -04:00
{
// queue these assets for priming
ActionPrimingQueue . Add ( AssetObject , 0 ) ;
}
2014-09-19 18:20:43 -04:00
// we don't want to clear entries for blueprints, mainly because we
// use the presence of an entry to know if we've set the blueprint's
// OnChanged(), but also because most blueprints will have actions at some
Copying //UE4/Dev-Framework to //UE4/Dev-Main (Source: //UE4/Dev-Framework @ 3510040)
#lockdown Nick.Penwarden
=====================================
MAJOR FEATURES + CHANGES
=====================================
Change 3459524 by Marc.Audy
Get/Set of properties that were previously BPRW/BPRO should error when used
#jira UE-20993
Change 3460004 by Phillip.Kavan
#jira UE-45171 - Fix C++ compilation failures during packaging caused by nativizing a Blueprint that overrides a native function with a 'TSubclassOf' parameter or return value.
Change summary:
- Modified FKismetCompilerContext::CreateParametersForFunction() to pass the 'CPF_UObjectWrapper' flag through to new function parameter properties during Blueprint compilation.
Change 3461210 by Phillip.Kavan
#jira UE-44505 - Fix occasional Blueprint editor crashes that could occur while rebuilding the context menu from the action registry.
Change summary:
- Modified FBlueprintActionDatabase::FActionRegistry to use an FObjectKey as the key type. This allows us to test entries for UObject validity before rebuilding context menu items based on the action database.
- Changed FBlueprintActionInfo::CachedOwnerClass to be a TWeakObjectPtr rather than a raw UClass* since it's based on the ActionOwner, which could potentially become invalid after the OwnerClass has been cached.
- Modified FBlueprintActionDatabase::RefreshAssetActions() to exclude World assets if the WorldType is not EWorldType::Editor. This eliminates an issue with unreferenced "inactive" GC'd world objects being left in the BP action registry after cooking, at which point the keys could become invalid.
- Added FBlueprintActionDatabase::DeferredRemoveEntry() to allow for scheduling removal of entries from outside of the database if they are known to be invalid.
- Modified FBlueprintActionDatabase::Tick() to handle deferred entry removals.
- Modified FBlueprintActionMenuBuilder::RebuildActionList() to both test actions for validity before building menu items and schedule removal of invalid actions on the next tick.
Notes:
- Alternatively we could just include UObject keys in the database's AddReferencedObject impl, but that would then prevent objects from ever being GC'd if they are not explicitly removed. For most entries the action database takes the approach of explicitly removing entries via delegate when the UObject is destroyed, so I chose to use a TWeakObjectPtr instead so that any entries that may not be getting explicitly removed via delegate will now simply become invalidated if the UObject key is GC'd due to not being referenced. I also set it up to clean and remove any entries (along with any associated node spawners) that are found to be invalid the next time we open the BP editor.
Change 3461373 by Lukasz.Furman
fixed async navmesh rebuilds not kicking in for requests from navdata.bForceRebuildOnLoad
#jira UE-44231
Change 3461409 by Lukasz.Furman
fixed reenabling automatic navmesh generation in Editor Preferences
#ue4
Change 3461550 by Ben.Zeigler
#jira UE-45328 Fix local variable support for Redirectors and other save-time validation. We need to run the local variables to UProperty and back at save time
Add new flag PPF_SerializedAsImportText which is used for BP pins/default values and indicates that something has been serialized as import text and so needs to handle string asset redirectors
Change 3462625 by Zak.Middleton
#ue4 - Fix InterpToMovementComponent not setting velocity on the object it moves. Fix movement rate when substepping enabled (other related fixes to come).
github PR #3620
Change 3462796 by Dan.Oconnor
Fix for spamming BroadcastBlueprintReinstanced and for creating CDO at wrong time when compiling FrontEnd.uasset in OrionGame
#jira UE-45434
Change 3462995 by Ben.Zeigler
#jira UE-16941 Fix it so Load Asset node works with a literal value as well as a connected pin
Change 3463099 by Ben.Zeigler
#jira UE-45471 Allow abstract base classes for primary assets
Change 3464809 by Marc.Audy
Expose FVector2D / FVector2D to blueprints
#jira UE-45427
Change 3467254 by Mieszko.Zielinski
Added an AI helper BP function that supplies caller with a copy of navigation path given controller is currently following #UE4
Change 3467644 by Dan.Oconnor
Fix for cook issues in ocean when using compilation manager, one issue caused by bad dependencies list, one issue caused by lack of subobject mapping in archetype reinstancing.
#jira UE-45443, UE-45444
Change 3468176 by Dan.Oconnor
Fix dependent blueprints being marked dirty when a blueprint is compiled
Change 3468353 by Michael.Noland
UnrealHeaderTool: Improved the warning generated when missing Category= on a function or property declared in an engine module, and centralized the logic that determines if the module is engine or game
Change 3470532 by Dan.Oconnor
Re-enable compilation manager
Change 3470572 by Dan.Oconnor
Fix for pin paramters resetting when an archetype was reinstanced
#jira UE-45619
#rnx
Change 3471949 by Mason.Seay
Adding Primary Assets for testing
Change 3472074 by Ben.Zeigler
#jira UE-45140 Convert iterative cooking to use the Asset Registry as it's only mode, remove old hash and timestamp versions. This allows deleting the entire PackageDependencyInfo module
Change the asset registry iteration to not compute a hash at all, and instead store the script package guids in it's cache.
Expose bIgnoreIniSettingsOutOfDateForIteration and bIgnoreScriptPackagesOutOfDateForIteration in cooker settings, affects rather to listen to ini/script changes when doing iterative cooking
Change 3472079 by Ben.Zeigler
With new incremental cook options, change Fortnite to never care about ini settings, but do care about code changes. This can be changed but from previous discussions we wanted to be more safe than fast here
Change 3473429 by Lukasz.Furman
changed path following update tick to allow working on "invalid, update pending" paths, solves AI getting stuck when navigation is rebuild very frequently (e.g. every tick from moving mesh)
#jira UE-41884
Change 3473476 by Lukasz.Furman
changed crowd simulation path update tick to allow working on "invalid, update pending" paths, solves AI getting stuck when navigation is rebuild very frequently (e.g. every tick from moving mesh)
#jira UE-41884
Change 3473663 by Ben.Zeigler
Fix it so base k2node registers framework version, this is needed for the assetptr fixup I previously added
Change 3473679 by Mason.Seay
Slight cleanup of test map and added ability to teleport across level for easy navigation
Change 3473712 by Marc.Audy
Do default value validation against the actual value of the default entry of an enum rather than the serialized empty autogenerated default value
Change 3474055 by Marc.Audy
When nodes are reconstructed any pins that were previously linked or set to non-default values that have been removed will no longer simply vanish, but instead will remain in an Orphaned state until dealt with.
#jira UE-41828
Change 3474119 by mason.seay
Tweaked Force Feedback test
Change 3474156 by Marc.Audy
Actually enable orphan pin retention
Change 3474382 by Ben.Zeigler
Class.h Header and comment cleanup. Started this because IsChildOf did not have a comment and it's usage is a bit confusing
Change 3474386 by Ben.Zeigler
Close popup window when adding asset class to audit window
Change 3474491 by Ben.Zeigler
Remove ability for Worlds to not be saved as assets, this has been the default since 2014.
Change 3475363 by Marc.Audy
Alt-click now works with orphaned pins
#jira UE-45699
Change 3475523 by Marc.Audy
Fixup Fortnite and Paragon content for orphaned pin errors and warnings
Change 3475623 by Phillip.Kavan
#jira UE-45477 - Fix an EDL assertion on load in a nativized build with one or more Actor subobjects instanced via the EditInlineNew UI in the BP class defaults property editor.
Change summary:
- Modified FEmitDefaultValueHelper::OuterGenerate() to emit code to construct/initialize instanced subobject values that do not have the RF_DefaultSubObject flag set, and also to recursively handle nested subobjects for those values.
- Modified FEmitDefaultValueHelper::HandleInstancedSubobject() to alternatively emit a 'NewObject' assignment statement rather than a 'CreateDefaultSubobject' statement if only RF_ArchetypeObject is set on the source object value.
Change 3476008 by Dan.Oconnor
Fix for failing to preload our super class's subobjects. Effectively moving UBlueprint::ForceLoad calls earlier in loading process. This only results in data resetting to your parent's parent's default value from your parent's default value.
#jira UE-18765
Change 3476115 by Dan.Oconnor
Fix missing category information for inherited functions when using compilation manager
#jira UE-45660
#rnx
Change 3476577 by Lukasz.Furman
added early outs from navmesh layer generation when there's no walkable cells or contours to avoid allocating 0 bytes by next generation steps (behavior differs between platforms)
#ue4
Change 3476587 by Phillip.Kavan
#jira UE-45517 - Fix a regression in which dragging UMG widgets around in the designer view results in redundantly-compounded BP class properties and context menu actions.
Change summary:
- Modified SDesignerView::ClearDropPreviews() to move the widget that was removed from the tree into the transient package. This ensures that FWidgetBlueprintCompiler::CreateClassVariablesFromBlueprint() won't pick them up.
- Modified SDesignerView::ProcessDropAndAddWidget() to also consider any widgets not added to the 'DropPreviews' array as being transient (i.e. also move them into the transient package since they were not added to the tree).
Notes:
- The regression was introduced by the changes in CL# 3410168, and was merged to Main at CL# 3431398.
#rnx
Change 3476723 by Dan.Oconnor
Match old behavior wrt updating implemented interfaces in blueprints - this logic from FKismetEditorUtilities::CompileBlueprint was missing in compilation manager
#jira UE-45468
#rnx
Change 3476948 by Michael.Noland
Framework: Changed AActor::FindComponentByClass (and AActor::GetComponentByClass by extension) to return nullptr when passed a nullptr class, rather than crashing
Change 3476970 by Ben.Zeigler
Fix bug I introduced in 4.16 where assigning assets to multiple chunks did not work properly
Change 3477536 by Marc.Audy
Don't display default value box on linked orphaned input pins
Change 3477835 by Marc.Audy
Fix pins orphaned by deletion of an entry in a user-defined enum disappearing instead of remaining connected
#jira UE-45754
Change 3478027 by Marc.Audy
Minor performance optimization
#rnx
Change 3478198 by Phillip.Kavan
#jira UE-42431 - Remove an unnecessary ensure() when pasting an event node.
Change summary:
- Modified UEdGraphSchema_K2::CreateSubstituteNode() to no longer ensure() that we have a valid PreExistingNode; it's only used for logging when a substitute node is created in response to a conflict with an existing node.
Change 3478485 by Marc.Audy
Eliminate extraneous error messages about orphaned pins on get/set nodes
#jira UE-45749
#rnx
Change 3478756 by Marc.Audy
Fix fallout from changes to DoesDefaultValueMatchAutogenerated for user defined enums
#jira UE-45721
#rnx
Change 3478926 by Marc.Audy
Non-blueprint type structs can no longer be made/broken
Non-blueprint visible properties in structs will no longer have pins created for them
#jira UE-43122
Change 3478988 by Marc.Audy
DeltaTime for a tick function with a tick interval is now correct after disabling and then reenabling the tick function.
#jira UE-45524
Change 3479818 by Marc.Audy
Allow ctrl-drag off of orphan pins
#jira UE-45803
Change 3480214 by Marc.Audy
Modifications to user defined enumerations are now transacted
#jira UE-43866
Change 3480579 by Marc.Audy
Maintain all pin properties through transactions.
#rn Reference pins that are removed and then restored via undo now correctly have the diamond icon instead of the standard circle.
Change 3481043 by Marc.Audy
Make/Break of structs does not depend on having blueprint exposed properties.
Splitting of a struct pin still requires blueprint exposed properties.
#jira UE-45840
#jira UE-45831
Change 3481271 by Ben.Zeigler
Fix the AssetManager chunking code to use ChunkDependencyInfo instead of a hardcoded check for chunk 0
Clean up ChunkDependencyInfo and make it properly public
Move ShouldSetManager to be WITH_EDITOR
Ported from WEX branch
#RB peter.sauerbrei
Change 3481373 by Dan.Oconnor
Reduce reliance on expensive FindDelegateSignature. 3275922 made warnings about a ambiguous search more likely as it preserved names of members on the REINST_ classes
#jira UE-45704
Change 3481380 by Ben.Zeigler
Change it so Struct and Object AssetRegistrySearchable properties do not show up in content browser, they are not helpful
Change 3482362 by Marc.Audy
Fix properties not exposed to blueprint warnings for input properties on function graphs.
#jira UE-45824
Change 3482406 by Ben.Zeigler
#jira UE-45883 Fix Switch On Gameplay Tag Container node, and add switch nodes to TagCheck map
Change 3482498 by Ben.Zeigler
Attempt to fix hot reload issues with Asset Manager. We need to reset and re-acquire the asset classes when rescanning, as they may be pointing to the replaced class
Change 3482517 by Lukasz.Furman
fixed smart navlink update functions removing important flag
#jira UE-45875
Change 3482538 by Marc.Audy
When comparing float, vector, and rotator values for whether the the default matches the autogenerated do not use the string compare because differences in use of decimal or number of 0s after decimal are then considered not the same float
#jira UE-45846
Change 3482773 by Marc.Audy
Don't show default value or pass by reference for exec pins
#jira UE-45868
Change 3482791 by Ben.Zeigler
#jira UE-45800 Correctly dirty game mode blueprint when changing player controller/etc classes from game mode customization
Fix it so MarkBlueprintAsStructurallyModified calls MarkBlueprintAsModified as several fixes were only in the second function
Change 3483131 by Zak.Middleton
#ue4 - InterpToMovementComponent:
- Fix velocity not zeroed when interpolation stops.
- Various fixes when calculating velocity and time when substepping is enabled.
- Improve accuracy of interpolation when looping and there is time remaining after the loop event is hit. Consume the remainder of the time after the event back in the loop (similar to handling a blocking impact).
#jira UE-45690
Change 3483146 by Phillip.Kavan
#jira UE-38358 - Propagate 'const' function flag from interface Blueprint to implementing Blueprints.
Change summary:
- Modified FBlueprintEditorUtils::MarkBlueprintAsStructurallyModified() to call SkeletalRecompileChildren() on dependent BPs when the target is an interface BP.
- Modified FBlueprintEditorUtils::MarkBlueprintAsStructurallyModified::FRefreshHelper::SkeletalRecompileChildren() to set child BP status to BS_Dirty after compiling.
- Modified ConformInterfaceByName() (FBlueprintEditorUtils) to use the interface's skeleton class for function iteration as well as to match the Function Entry node's 'const' setting to the interface UFunction's signature.
Change 3483340 by Ben.Zeigler
Fix issue querying asset registry after a hot reload, make sure pending kill objects are never considered to be Assets
Change 3483548 by Michael.Noland
Epic Friday: Playing around with some prototype traps
Change 3483700 by Phillip.Kavan
Fix CIS cook crash introduced by last submit.
#rnx
Change 3485217 by Ben.Zeigler
#jira UE-45519 Fix regression introduced in 4.16 where it would no longer cook all maps when no explicit maps were specified in ini or game callback. Moved the code that detects changes before culture/default map code and hardened it to deal with the case where some engine packages were already in the list before it entered the function
Change 3485367 by Dan.Oconnor
Avoid adding mappings to anim node when creating variables on the skeleton class and using the compilation manager
#jira UE-45756
Change 3485565 by Ben.Zeigler
#jira UE-45948 Fix compilation manager to properly reset variable default values after promoting a pin to local variable
Change 3485566 by Marc.Audy
Fix crashes caused by undo/redo of user defined struct changes
#jira UE-45775
#jira UE-45781
Change 3485805 by Michael.Noland
PR #3459: Fix for world origin shifting and SpringArmComponent location lag (Contributed by michail-nikolaev)
#jira UE-43747
Change 3485807 by Michael.Noland
PR #3485: Added additional textures field to paper 2d tileset class (Contributed by gryphonmyers)
#jira UE-44041
Change 3485811 by Michael.Noland
Framework: Fixed a bug in FStreamLevelAction::MakeSafeLevelName to avoid appending the PIE prefix multiple times (fixes functions like Unload Streaming Level when passed a full package name from an instanced streaming level)
Change 3485829 by Michael.Noland
Framework: Made GetWorldAssetPackageFName BlueprintCallable so instanced levels can be unloaded
Change 3485830 by Michael.Noland
PR #3568: add API declarations to ALevelStreamingVolume methods (Contributed by kayama-shift)
#jira UE-45002
Change 3486039 by Michael.Noland
PR #3495: UE-44014: Refreshing node error fixes (Contributed by projectgheist)
- Empty out the ErrorMsg when a node gets refreshed to prevent the same error messages from compounding
- Added support for split pins in UK2Node_Event::IsFunctionEntryCompatible
- Added a missing check for the delegate pin name on the entry node part of UK2Node_Event::IsFunctionEntryCompatible
#jira UE-44014
Change 3486093 by Michael.Noland
PR #3379: Added GAMEPLAYABILITIES_API to all Ability Tasks. (Contributed by ryanjon2040)
#jira UE-42903
Change 3486139 by Michael.Noland
Blueprints: Added new config options for execution wire thickness when not debugging (DefaultExecutionWireThickness) and data wire thicknesses (DefaultDataWireThickness) to the Graph Editor Settings page
#rn
Change 3486154 by Michael.Noland
Framework: Speculative fix for CIS error about FStructOnScope
#rnx
Change 3486180 by Dan.Oconnor
Better match old logic for determining when to skip data only compile
#jira UE-45830
Change 3487276 by Marc.Audy
Fix crash when using Setter with a locally scoped variable
#rnx
Change 3487278 by Marc.Audy
Ensure that pin change notifications occur on all pin breaks unless it is part of a node being garbage collected
Change 3487658 by Marc.Audy
Ensure that child actor template is created for subclasses
#jira UE-45985
Change 3487699 by Marc.Audy
Move non-templated elements out of FArchiveReplaceObjectRef and put them in FArchiveReplaceObjectRefBase
Change 3487813 by Dan.Oconnor
Asset demonstrating a crash
Change 3488101 by Marc.Audy
Fix crash with spawn/construct actor/object from class nodes when they no longer had any pins.
Correctly orphan pins when a node goes to 0 pins.
Change 3488337 by Marc.Audy
Editable pin base should not manually remove pin and let reconstruct node and rewire pins do their job
#jira UE-46020
Change 3488512 by Dan.Oconnor
ConstructObject nodes and SubInstances nodes use skeleton class when compilation manager can provide it
#jira UE-45830, UE-45965
#rnx
Change 3488631 by Michael.Noland
Framework: Fixed a crash when loading a blueprint with a parent class of ALevelBounds caused by trying to register the class default object with a non-existent level
#jira UE-45630
Change 3488665 by Michael.Noland
Blueprints: Improve the details panel customization for optional pin nodes like Struct Member Get/Set
- The category, raw name, and tooltip of the property are now included as part of the filter text as well
- The property tooltip is now displayed when hovering over the property name
- Code updated to use GET_MEMBER_NAME_CHECKED() where appropriate
Change 3489324 by Marc.Audy
Fix recursion causing stack crash
#jira UE-46038
#rnx
Change 3489326 by Marc.Audy
Fix cooking crash
#jira UE-46031
#rnx
Change 3489687 by mason.seay
Assets for testing orphan pins
Change 3489701 by Marc.Audy
Back out changelist 3487278 and 3489443 and make targetted changes for fixing up orphan pin cases where changing connections doesn't remove the pin.
#jira UE-46051
#jira UE-46052
#rnx
Change 3490352 by Dan.Oconnor
Fix for missing WidgetTree on Skeleton class - just look directly at the WidgetBlueprint
#jira UE-46062
Change 3490814 by Marc.Audy
Make callfunction/macro instances save all pins in orphan state more similar to previous behavior
#rnx
Change 3491022 by Dan.Oconnor
Properly clean up 'Key' property when we fail to create a value property
#jira UE-45279
Change 3491071 by Ben.Zeigler
#jira UE-45981 Fix rotation issues, vector/rotator pins with empty strings were not matching due to uninitialized memory.
Change 3491244 by Michael.Noland
Blueprints: Add compile time message back to the output log (will not auto-open the output log if there were no warnings/errors)
#jira UE-32948
Change 3491276 by Michael.Noland
Blueprints: Fixed some bugs where a newly added item would fail show up in the "My Blueprints" tree if there was a filter active (e.g., when promoting a variable)
- Centralized the logic for clearing the filter so it happens when we try and fail to select the item, rather than ad hoc in various other places
- Made it only clear the filter if necessary, rather than (almost) always clearing it when adding an item
#jira UE-43372
Change 3491562 by Marc.Audy
Put back pin removal in to editable pin base and instead modify the pin destroy implementation to take down child split pins with it
#jira UE-46020
#rnx
Change 3491658 by Marc.Audy
Unify RemoveUserDefinedPin implementations. Use version that has break to avoid size change assert
#rnx
Change 3491946 by Marc.Audy
ReconstructSinglePin no longer destroys OldPin (avoids oprhaned sub pins being destroyed before reparented)
RewireOldPinsToNewPins now destroys OldPins at the end (calling code no longer reponsible)
DestroyImpl now prunes out SubPins that had already been trashed
#rnx
Change 3492040 by Marc.Audy
Discard exec/then pins from a callfunction that has been converted to a pure node
#rnx
Change 3492200 by Zak.Middleton
#ue4 - Always reset the input array in AActor::GetComponents(), but do so without affecting allocated size.
Fixes possible regression from CL 3359561 that removed the Reset(...) entirely.
#jira UE-46012
Change 3492290 by Ben.Zeigler
#jira UE-46108 Fix StringLibrary Mid to never crash, Substring had already been fixed
Change 3492311 by Marc.Audy
Don't clear the pin type if what you're connecting to's pin type is wildcard
#rnx
Change 3492680 by Dan.Oconnor
Handle missing generated class when using compilation manager - tested by forcing compile of BP_ParentClassIsMissingType.uasset
Change 3492826 by Marc.Audy
Don't do pin connection list change notifications from DestroyPins while regenerating on load
#jira UE-46112
#rnx
Change 3492851 by Michael.Noland
Core: Fixed various crashes when using UObject::CallFunctionByNameWithArguments with non-trivial argument types by properly initializing the allocated parameters
Change 3492852 by Michael.Noland
Framework: Fixed a crash if ACharacter::FindComponentByClass was passed a nullptr class
Change 3492934 by Marc.Audy
Fix ensure and crash delete macro containing orphaned pin
#rnx
Change 3493079 by Dan.Oconnor
Fix for crash when opening ThirdPersonAnimBlueprint and ThirdPersonAnimBlueprint_Perf then clicking 'Compile' button in ThirdPersonAnimBlueprint editor. Make sure the convenience members in the derived compilers get set when we relink child classes (which requires making cdos, which requires PropagateValuesToCDO..)
#rnx
Change 3493346 by Phillip.Kavan
#jira UE-40560 - Fix a reported crash when pasting nodes between unrelated Blueprint graphs.
Change summary:
- Modified FEdGraphUtilities::PostProcessPastedNodes() to ensure() on a NULL pin entry; this will allow execution to continue while still alerting us since it is an unexpected result. Also added an 'else' case to then remove the NULL entry so that PostPasteNode() implementations don't all have to guard against NULL pin entries. When the node is reconstructed, the NULL entry will be replaced with the correct pin initialized to its default values.
- Modified UEdGraphPin::ImportTextItem() to add some additional logging to parse error cases when importing pin properties from source T3D text. Hopefully this gives us more information when this is encountered in the future.
Change 3493938 by Michael.Noland
Blueprints: Prevent issues with renaming event dispatchers to contain periods (this may be disallowed in the future, but they no longer become uneditable)
#jira UE-45780
Change 3493945 by Michael.Noland
Blueprints: Fixed GetDelegatePoperty typos
#rnx
Change 3493997 by Michael.Noland
Blueprints: Partially reverting changes from CL# 3319966 to reroute nodes, restoring their alignment but losing the symmetrical grab handle changes
#jira UE-45760
Change 3493998 by Dan.Oconnor
Fix rare crash in RefreshStandAloneDefaultsEditor when the blueprint editor is opened and a blueprint had errors in it
Note: I stumbled across this by running a unit test and then opening a blueprint in the BPE. CrashReporter indicates 3 crashes in the last 3 days
Change 3494025 by Michael.Noland
Engine: Deleted some dead code (DEBUGGING_VIEWPORT_SIZES)
#rnx
Change 3494026 by Michael.Noland
Blueprints: V0 of a BlueprintCallable/BlueprintPure function fuzzer
- Calls exposed methods with default parameters on classes it is able to spawn for now, which catches crashes due to null and /0 but not out of bounds issues or ones on classes it can't spawn due to classwithin, abstract, etc...
- Can be called using Test.ScriptFuzzing, won't be integrated into automated tests until it is more fully fleshed out and all known issues are addressed
#rnx
Change 3496382 by Ben.Zeigler
Fix ensure when launching editor with cook on the side and incremental cooking enabled. It now flushes the background asset gather when calling the sync load all assets if one is in progress
Change 3496688 by Marc.Audy
Avoid crashing in component instance data if (for some reason) the Actor's root component isn't properly set up
#jira UE-46073
Change 3496830 by Michael.Noland
Editor: Change FEditorCategoryUtils methods to take UStruct* instead of UClass*, as they are just reading metadata
#rnx
Change 3496840 by Michael.Noland
Framework: Remove the requirement for a local player in UCheatManager::CheatScript, so it can be be started from the server side (doesn't change the availability of the cheat manager, just allows things like the redundant "cheat cheatscript scriptname" to work)
Change 3497038 by Michael.Noland
Fortnite: Added UFortDeveloperSettings to allow developers to auto-run cheats in PIE (does not occur in -game or outside of WITH_EDITOR builds)
- You can specify a list of cheat commands to run when a pawn is possessed (also needs CL# 3496840 for cheatscripts)
- You can also specify a set of items to grant to your local inventory when it is created
Change 3497204 by Marc.Audy
Fix AbilitySystemComponent not being blueprint readable.
#rnx
Change 3497668 by Mieszko.Zielinski
Fixed a crash in BT editor when dealing with enum-typed Blackboard-keys pointing to enum values that have been deleted #UE4
#jira UE-43659
Change 3497677 by Mieszko.Zielinski
Added a community-suggested working solution to patching up dynamic navmesh after world offset #UE4
Also, fixed a crash related to navmesh rebuilding if generation was configured to lazily gather navigatble geometry
#jira UE-41293
Change 3497678 by Mieszko.Zielinski
Marked AbstractNavData class as transient #UE4
We never want to save it to levels
Change 3497679 by Mieszko.Zielinski
Made NavModifierVolume responsive to editor-time property changes #UE4
#jira UE-32831
Change 3497900 by Dan.Oconnor
Fix bad skel reference when using construct object from class, just limiting scope of 3491946. To reproduce the bug just nativize QA Game, including the TM-Gameplay level
#rnx
Change 3497904 by Dan.Oconnor
Use K2Node_Event::FindEventSignatureFunction in order when directly generating the skeleton generated class to get event params correct
#jira UE-46153
#rnx
Change 3497907 by Dan.Oconnor
Correctly set blueprint visibility flags on params for inherited functions when generating the skeleton class
#rnx
#jira UE-46186
Change 3498218 by mason.seay
Updates to pin testing BP's
Change 3498323 by Mieszko.Zielinski
Made UNavCollision instance assigned to StaticMesh not get re-created from scratch every single time any StaticMesh property changes #UE4
Recreation was resulting in some of the UNavCollision's properties not getting saved and the way we were recreating the nav collision could also interfere with undo buffers
#jira UE-44891
Change 3499007 by Marc.Audy
Allow systems to hook Pre and PostCompile to do custom behaviors
Change 3499013 by Mieszko.Zielinski
Made AbstractNavData class non-transient again #UE4
Implemented AbstractNavData instances' transientness in a different manner.
#jira UE-46194
Change 3499204 by Mieszko.Zielinski
Introduced CrowdManagerBase, an engine-level class that can be extended to implement custom crowd management #Orion
Extracted FRecastQueryFilter into a separate file, which will break some peoples' compilation.
#jira UE-43799
Change 3499321 by mason.seay
Updated bp for struct testing
Change 3499388 by Marc.Audy
Allow the compiler log to store off potential messages from earlier in the compile cycle (early validation), that can be committed later (for example once pruning is completed).
Change 3499390 by Marc.Audy
Generate the orphan pin error messages during EarlyValidation, but cache until the regular validation phase. This ensures all are generated, but only those that aren't pruned will be emitted.
#rnx
Change 3499420 by Michael.Noland
Engine: Introduced a new version of UEngine::GetWorldFromContextObject which takes an enum specifying the behavior on failures and updated all existing uses
The new version intentionally does not have a default value for ErrorMode, callers need to think about which variant of behavior they want:
- ReturnNull: Silently returns nullptr, the calling code is expected to handle this gracefully
- LogAndReturnNull: Raises a runtime error but still returns nullptr, the calling code is expected to handle this gracefully
- Assert: Asserts, the calling code is not expecting to handle a failure gracefully
- Deprecated UEngine::GetWorldFromContextObject(object, boolean) and changed the default behavior for the deprecated instances to do LogAndReturnNull rather than Assert, based on the real-world call pattern
- Introduced GetWorldFromContextObjectChecked(object) as a shorthand for passing in EGetWorldErrorMode::Assert
- Made UObject::GetWorldChecked() actually assert if it would return nullptr (under some cases the old function could silently return nullptr while reporting bSupported = true, so it neither ensured nor checked)
- Fixed a race condition in the 'is implemented' bookkeeping logic in GetWorld()/GetWorldChecked() by confining it to the game thread and added a check() to ImplementsGetWorld() to make it clear that it only works on the game thread
The typical recommended call pattern is to use something like:
if (UWorld* World = GEngine->GetWorldFromContextObject(WorldContextObject, EGetWorldErrorMode::LogAndReturnNull))
{
... Do something with World
}
Handling the failure case but requesting a log message (with BP call stack printed out) if it failed. This is now also the default behavior for old calls to UEngine::GetWorldFromContextObject(Object) (using the default value of bChecked=true), which is a behavior change but it matches how the function was being used in practice; the vast majority of call sites actually expected it to potentially fail and handled the nullptr case gracefully; very few places used the return value unguarded and wanted it to assert when passed a nullptr.
#jira UE-42458
Change 3499429 by Michael.Noland
Engine: Removed a bogus TODO (the problematic code had already been reworked)
#rnx
Change 3499470 by Michael.Noland
Core: Improved and corrected the comment for ensure()
- It doesn't crash when checking is disabled (and hasn't since UE3, maybe ever?)
- It now only fires once per ensure() by default, added a note about ensureAlways()
#rnx
Change 3499643 by Marc.Audy
Use TGuardValue instead of manually managing it
#rnx
Change 3499874 by Marc.Audy
Display <Unnamed> instead of nothing for Pins with blank display name in the compiler log
Change 3499875 by Marc.Audy
When changing function parameter types, don't orphan a pin on the function entry/exit nodes (but do at the call sites)
#jira UE-46224
Change 3499927 by Dan.Oconnor
UField::Serialize no longer serialize's its next ptr, UStruct::Serialize serializes all Children properties instead. This resolves a hard circular dependency between function libraries that EDL detected. It was resolved in an ad hoc way by the old linker
#jira UE-43458
Change 3499953 by Michael.Noland
Core: Created a variant of ensure that does runtime error logging without stopping in the debugger and some related functions that print a warning or error and may trigger a BP callstack (under the same rules as FFrame::KismetExecutionMessage)
- These are WIP and the API may change in the future, but are being used to fix various crashes found by fuzzing BP exposed functions
Change 3499957 by Michael.Noland
Animation: Added runtime errors for nullptr ControlRigs passed into BP methods
#rnx
Change 3499958 by Michael.Noland
Blueprints: Changed an ensure in UKismetNodeHelperLibrary::GetValidValue to a runtime error
#rnx
Change 3499959 by Michael.Noland
Engine: Downgrade various checks() to ensures() in the runtime asset cache functions exposed to Blueprints
Change 3499960 by Michael.Noland
AI: Changed UBTFunctionLibrary to not check/ensure if passed a null world context object
Change 3499968 by Michael.Noland
Editor: Fixed a couple of crashes in UEditorLevelUtils when passed nullptr arguments, and reformatted the entire file to fix widespread indentation issues
#rnx
Change 3499969 by Michael.Noland
Engine: Changed the verbosity of the failure log message of UEngine::GetWorldFromContextObject(..., LogAndReturnNull) from Warning to Error, so it always prints out a BP callstack
#rnx
Change 3499973 by Michael.Noland
Rendering: Fixed asserts in various UKismetRenderingLibrary methods if passed a nullptr for the WorldContextObject
- Also fixed flipped warnings in the failure cases for EndDrawCanvasToRenderTarget
Change 3499979 by Michael.Noland
Editor: Prevented a crash in UMaterialEditingLibrary::RecompileMaterial when passed a nullptr material
Change 3499984 by Michael.Noland
Physics: Prevented a crash in UTraceQueryTestResults::AssertEqual when passed in nullptr for Expected
Change 3499993 by Michael.Noland
Blueprints: Added validation when renaming variables, functions, components, multicast delegates, etc... to prevent names from containing some unacceptable characters
- This validation only kicks in when trying to rename an item, so bad names in existing content are 'grandfathered in'
- These bad names can cause bugs when working with content that contains these characters (e.g., names that contain a period cannot be found via FindObject<T>)
- Currently only . is banned, but eventually we may expand it to include all of INVALID_OBJECTNAME_CHARACTERS
Change 3500009 by Michael.Noland
Blueprints: Made the fuzzer skip classes declared in UnrealEd for now (some of the exposed methods change global state that can cause other tests to fail as the fuzzer isn't particularly sandboxed ATM)
#rnx
Change 3500011 by Michael.Noland
Android: Fixed a crash in UAndroidPermissionFunctionLibrary::AcquirePermissions when called with an empty array on non-Android platforms
Change 3500012 by Michael.Noland
Editor: Prevent a crash in UEditorTutorial::OpenAsset when passed a nullptr Asset
Change 3500014 by Michael.Noland
Engine: Changed FRuntimeAssetCacheFilesystemBackend::ClearCache(NAME_None) to not try to clear all cache directories (there is a separate no-args method for that)
Change 3500019 by Michael.Noland
Core: Fixed some more issues with CallFunctionByNameWithArguments and initializing / destroying parameters
- It was skipping the return value and incorrectly relying on the FirstPropertyToInit list which isn't set for by ref arguments
Change 3500020 by Michael.Noland
Automation: Prevent UFunctionalTestingManager::RunAllFunctionalTests and UFunctionalTestingManager* UFunctionalTestingManager::GetManager from crashing when a manager cannot be created (because we can't route to a world)
Change 3501062 by Marc.Audy
MakeArray AddInputPin is often used as part of node expansion, so need to move the transaction out of the function
Fix inability to undo/redo pin additions to sequence node
Add a K2Node_AddPinInterface to generalize the interface that K2Nodes implement to interact with SGraphNodeK2Sequence so it can be more generally used
#jira UE-46164
#jira UE-46270
Change 3501330 by Michael.Noland
AI: Fix an error on shutdown when the CDO of UAIPerceptionComponent tries to clean up (as it was never registered in the first place)
#jira UE-46271
Change 3501356 by Marc.Audy
Fix crash when multi-editing actor blueprints
#jira UE-46248
Change 3501408 by Michael.Noland
Core: Improve the print-out of FFrame::GetStackTrace() / FFrame::GetScriptCallstack() when there is no script stack (e.g., when FFrame::KismetExecutionMessage is called by native code with no BP above in the call stack)
Change 3501457 by Phillip.Kavan
#jira UE-46054 - Fix crash when launching a packaged build that includes a nativized Blueprint instance with a ChildActorComponent instanced via an AddComponent node.
Change summary:
- Removed UK2Node_AddComponent::PostDuplicate(). This eliminates the creation of redundant component templates that were being unnecessarily created during the Blueprint duplication that precedes the nativization pass.
- Modified SMyBlueprint::OnDuplicateAction() to call MakeNewComponentTemplate() in response to a graph duplication action within the same Blueprint context (replaces previous UK2Node_AddComponent::PostDuplicate() impl).
- Modified FEmitDefaultValueHelper::HandleSpecialTypes() to force AddComponent-based CAC-owned template objects in the emitted codegen to use the UDynamicClass as the Outer when instancing. This matches what we already do for SCS-based CAC-owned template objects - that logic was added in CL# 3270456, and this matches up with FBlueprintNativeCodeGenModule::FindReplacedNameAndOuter(), where we specifically handle CAC-owned template objects.
Change 3502741 by Phillip.Kavan
#jira UE-45782 - Fix undo for index pin type changes.
Change summary:
- Modified SGraphPinIndex::OnTypeChanged() to call Modify() on the pin that was changed.
Change 3502939 by Michael.Noland
Back out changelist 3499927
Change 3503087 by Marc.Audy
Re-fixed ocean content as editor had also changed so had to take theirs and redo
#rnx
Change 3503266 by Ben.Zeigler
#jira UE-46335 Fix regression added in 4.16 where AssetRegistry GetAncesorClassNames/GetDerivedClassNames were not working properly in cooked builds for classes not in memory
Change 3503325 by mason.seay
updated Anim BP to prep for pin testing
Change 3503445 by Marc.Audy
Fix crash caused by OldPins being destroyed before rewiring
#rnx
Change 3505024 by Marc.Audy
Fix NodeEffectsPanel blueprint as it was using pins that no longer existed
#rnx
Change 3505254 by Marc.Audy
Don't include orphan pins when gather source property names
If a property doesn't exist for a source property name just skip the property rather than crashing
#jira UE-46345
#rnx
Change 3506125 by Ben.Zeigler
#jira UE-46311 Fix issues when blueprints are reloaded in place, it needs to remove them from root properly and sanitize the old class. It's still not clear why they are being reloaded in place
Change 3506334 by Dan.Oconnor
Move UAnimGraphNode_Base::PreloadRequiredAssets up to K2Node, make sure nodes get a chance to preload data before compilation manager compiles newly loaded blueprints
#jira UE-46411
Change 3506439 by Dan.Oconnor
Return to pre 3488512 behavior for construct object nodes. This means that we can still get warnings on load when users compile after saving a blueprint, but the current behavior loses default values because it's lookng at the skeleton cdo
#jira UE-46308
Change 3506468 by Dan.Oconnor
Return to pre 3488512 behavior, as it causes bad default values
#jira UE-46414
#rnx
Change 3506733 by Marc.Audy
Use the most up to date class to determine whether a property still exists when adding pins during reconstruction
#jira UE-45965
#author Dan.OConnor
#rnx
Change 3507531 by Ben.Zeigler
#jira UE-46449 Better fix to flush the asset registry queue when the editor requests a synchronous scan at startup. Sometimes it can take a few frames because of file handle delays
Change 3507924 by mason.seay
Sanity save of TM-Gameplay and sublevels to maybe resolve level streaming issues
Change 3507962 by Marc.Audy
Remake changes from CL# 3150796 wiped out by WEX-Staging merge to Main in CL# 3479958
#rnx
Change 3509131 by Dan.Oconnor
Compilation manager compile on load flow never called FindExportsInMemoryFirst, which is critical to prevent reloading of UBlueprintGeneratedClasses when Rename clears the export table
#jira UE-46311
Change 3509345 by Marc.Audy
CVar to disable orphan pins if necessary
#rnx
Change 3509959 by Marc.Audy
Protect against crashing due to large values in Timespan From functions
#jira UE-43840
Change 3510040 by Marc.Audy
Remove all the old unneeded ShooterGame test maps
#rnx
[CL 3510073 by Marc Audy in Main branch]
2017-06-26 15:07:18 -04:00
// later point. Same goes for in-editor world assets because they are used to manage level script blueprints.
else if ( ! BlueprintAsset & & ( ! WorldAsset | | WorldAsset - > WorldType ! = EWorldType : : Editor ) )
2014-08-23 20:16:29 -04:00
{
ClearAssetActions ( AssetObject ) ;
}
2014-10-10 17:48:56 -04:00
if ( ! bIsInitializing )
{
EntryRefreshDelegate . Broadcast ( AssetObject ) ;
}
2014-08-11 18:39:28 -04:00
}
2015-02-16 03:50:03 -05:00
//------------------------------------------------------------------------------
void FBlueprintActionDatabase : : RefreshComponentActions ( )
{
check ( ComponentTypes ) ;
FActionList & ClassActionList = ActionRegistry . FindOrAdd ( UBlueprintComponentNodeSpawner : : StaticClass ( ) ) ;
ClassActionList . Empty ( ComponentTypes - > Num ( ) ) ;
Copying //UE4/Dev-Framework to //UE4/Dev-Main (Source: //UE4/Dev-Framework @ 3510040)
#lockdown Nick.Penwarden
=====================================
MAJOR FEATURES + CHANGES
=====================================
Change 3459524 by Marc.Audy
Get/Set of properties that were previously BPRW/BPRO should error when used
#jira UE-20993
Change 3460004 by Phillip.Kavan
#jira UE-45171 - Fix C++ compilation failures during packaging caused by nativizing a Blueprint that overrides a native function with a 'TSubclassOf' parameter or return value.
Change summary:
- Modified FKismetCompilerContext::CreateParametersForFunction() to pass the 'CPF_UObjectWrapper' flag through to new function parameter properties during Blueprint compilation.
Change 3461210 by Phillip.Kavan
#jira UE-44505 - Fix occasional Blueprint editor crashes that could occur while rebuilding the context menu from the action registry.
Change summary:
- Modified FBlueprintActionDatabase::FActionRegistry to use an FObjectKey as the key type. This allows us to test entries for UObject validity before rebuilding context menu items based on the action database.
- Changed FBlueprintActionInfo::CachedOwnerClass to be a TWeakObjectPtr rather than a raw UClass* since it's based on the ActionOwner, which could potentially become invalid after the OwnerClass has been cached.
- Modified FBlueprintActionDatabase::RefreshAssetActions() to exclude World assets if the WorldType is not EWorldType::Editor. This eliminates an issue with unreferenced "inactive" GC'd world objects being left in the BP action registry after cooking, at which point the keys could become invalid.
- Added FBlueprintActionDatabase::DeferredRemoveEntry() to allow for scheduling removal of entries from outside of the database if they are known to be invalid.
- Modified FBlueprintActionDatabase::Tick() to handle deferred entry removals.
- Modified FBlueprintActionMenuBuilder::RebuildActionList() to both test actions for validity before building menu items and schedule removal of invalid actions on the next tick.
Notes:
- Alternatively we could just include UObject keys in the database's AddReferencedObject impl, but that would then prevent objects from ever being GC'd if they are not explicitly removed. For most entries the action database takes the approach of explicitly removing entries via delegate when the UObject is destroyed, so I chose to use a TWeakObjectPtr instead so that any entries that may not be getting explicitly removed via delegate will now simply become invalidated if the UObject key is GC'd due to not being referenced. I also set it up to clean and remove any entries (along with any associated node spawners) that are found to be invalid the next time we open the BP editor.
Change 3461373 by Lukasz.Furman
fixed async navmesh rebuilds not kicking in for requests from navdata.bForceRebuildOnLoad
#jira UE-44231
Change 3461409 by Lukasz.Furman
fixed reenabling automatic navmesh generation in Editor Preferences
#ue4
Change 3461550 by Ben.Zeigler
#jira UE-45328 Fix local variable support for Redirectors and other save-time validation. We need to run the local variables to UProperty and back at save time
Add new flag PPF_SerializedAsImportText which is used for BP pins/default values and indicates that something has been serialized as import text and so needs to handle string asset redirectors
Change 3462625 by Zak.Middleton
#ue4 - Fix InterpToMovementComponent not setting velocity on the object it moves. Fix movement rate when substepping enabled (other related fixes to come).
github PR #3620
Change 3462796 by Dan.Oconnor
Fix for spamming BroadcastBlueprintReinstanced and for creating CDO at wrong time when compiling FrontEnd.uasset in OrionGame
#jira UE-45434
Change 3462995 by Ben.Zeigler
#jira UE-16941 Fix it so Load Asset node works with a literal value as well as a connected pin
Change 3463099 by Ben.Zeigler
#jira UE-45471 Allow abstract base classes for primary assets
Change 3464809 by Marc.Audy
Expose FVector2D / FVector2D to blueprints
#jira UE-45427
Change 3467254 by Mieszko.Zielinski
Added an AI helper BP function that supplies caller with a copy of navigation path given controller is currently following #UE4
Change 3467644 by Dan.Oconnor
Fix for cook issues in ocean when using compilation manager, one issue caused by bad dependencies list, one issue caused by lack of subobject mapping in archetype reinstancing.
#jira UE-45443, UE-45444
Change 3468176 by Dan.Oconnor
Fix dependent blueprints being marked dirty when a blueprint is compiled
Change 3468353 by Michael.Noland
UnrealHeaderTool: Improved the warning generated when missing Category= on a function or property declared in an engine module, and centralized the logic that determines if the module is engine or game
Change 3470532 by Dan.Oconnor
Re-enable compilation manager
Change 3470572 by Dan.Oconnor
Fix for pin paramters resetting when an archetype was reinstanced
#jira UE-45619
#rnx
Change 3471949 by Mason.Seay
Adding Primary Assets for testing
Change 3472074 by Ben.Zeigler
#jira UE-45140 Convert iterative cooking to use the Asset Registry as it's only mode, remove old hash and timestamp versions. This allows deleting the entire PackageDependencyInfo module
Change the asset registry iteration to not compute a hash at all, and instead store the script package guids in it's cache.
Expose bIgnoreIniSettingsOutOfDateForIteration and bIgnoreScriptPackagesOutOfDateForIteration in cooker settings, affects rather to listen to ini/script changes when doing iterative cooking
Change 3472079 by Ben.Zeigler
With new incremental cook options, change Fortnite to never care about ini settings, but do care about code changes. This can be changed but from previous discussions we wanted to be more safe than fast here
Change 3473429 by Lukasz.Furman
changed path following update tick to allow working on "invalid, update pending" paths, solves AI getting stuck when navigation is rebuild very frequently (e.g. every tick from moving mesh)
#jira UE-41884
Change 3473476 by Lukasz.Furman
changed crowd simulation path update tick to allow working on "invalid, update pending" paths, solves AI getting stuck when navigation is rebuild very frequently (e.g. every tick from moving mesh)
#jira UE-41884
Change 3473663 by Ben.Zeigler
Fix it so base k2node registers framework version, this is needed for the assetptr fixup I previously added
Change 3473679 by Mason.Seay
Slight cleanup of test map and added ability to teleport across level for easy navigation
Change 3473712 by Marc.Audy
Do default value validation against the actual value of the default entry of an enum rather than the serialized empty autogenerated default value
Change 3474055 by Marc.Audy
When nodes are reconstructed any pins that were previously linked or set to non-default values that have been removed will no longer simply vanish, but instead will remain in an Orphaned state until dealt with.
#jira UE-41828
Change 3474119 by mason.seay
Tweaked Force Feedback test
Change 3474156 by Marc.Audy
Actually enable orphan pin retention
Change 3474382 by Ben.Zeigler
Class.h Header and comment cleanup. Started this because IsChildOf did not have a comment and it's usage is a bit confusing
Change 3474386 by Ben.Zeigler
Close popup window when adding asset class to audit window
Change 3474491 by Ben.Zeigler
Remove ability for Worlds to not be saved as assets, this has been the default since 2014.
Change 3475363 by Marc.Audy
Alt-click now works with orphaned pins
#jira UE-45699
Change 3475523 by Marc.Audy
Fixup Fortnite and Paragon content for orphaned pin errors and warnings
Change 3475623 by Phillip.Kavan
#jira UE-45477 - Fix an EDL assertion on load in a nativized build with one or more Actor subobjects instanced via the EditInlineNew UI in the BP class defaults property editor.
Change summary:
- Modified FEmitDefaultValueHelper::OuterGenerate() to emit code to construct/initialize instanced subobject values that do not have the RF_DefaultSubObject flag set, and also to recursively handle nested subobjects for those values.
- Modified FEmitDefaultValueHelper::HandleInstancedSubobject() to alternatively emit a 'NewObject' assignment statement rather than a 'CreateDefaultSubobject' statement if only RF_ArchetypeObject is set on the source object value.
Change 3476008 by Dan.Oconnor
Fix for failing to preload our super class's subobjects. Effectively moving UBlueprint::ForceLoad calls earlier in loading process. This only results in data resetting to your parent's parent's default value from your parent's default value.
#jira UE-18765
Change 3476115 by Dan.Oconnor
Fix missing category information for inherited functions when using compilation manager
#jira UE-45660
#rnx
Change 3476577 by Lukasz.Furman
added early outs from navmesh layer generation when there's no walkable cells or contours to avoid allocating 0 bytes by next generation steps (behavior differs between platforms)
#ue4
Change 3476587 by Phillip.Kavan
#jira UE-45517 - Fix a regression in which dragging UMG widgets around in the designer view results in redundantly-compounded BP class properties and context menu actions.
Change summary:
- Modified SDesignerView::ClearDropPreviews() to move the widget that was removed from the tree into the transient package. This ensures that FWidgetBlueprintCompiler::CreateClassVariablesFromBlueprint() won't pick them up.
- Modified SDesignerView::ProcessDropAndAddWidget() to also consider any widgets not added to the 'DropPreviews' array as being transient (i.e. also move them into the transient package since they were not added to the tree).
Notes:
- The regression was introduced by the changes in CL# 3410168, and was merged to Main at CL# 3431398.
#rnx
Change 3476723 by Dan.Oconnor
Match old behavior wrt updating implemented interfaces in blueprints - this logic from FKismetEditorUtilities::CompileBlueprint was missing in compilation manager
#jira UE-45468
#rnx
Change 3476948 by Michael.Noland
Framework: Changed AActor::FindComponentByClass (and AActor::GetComponentByClass by extension) to return nullptr when passed a nullptr class, rather than crashing
Change 3476970 by Ben.Zeigler
Fix bug I introduced in 4.16 where assigning assets to multiple chunks did not work properly
Change 3477536 by Marc.Audy
Don't display default value box on linked orphaned input pins
Change 3477835 by Marc.Audy
Fix pins orphaned by deletion of an entry in a user-defined enum disappearing instead of remaining connected
#jira UE-45754
Change 3478027 by Marc.Audy
Minor performance optimization
#rnx
Change 3478198 by Phillip.Kavan
#jira UE-42431 - Remove an unnecessary ensure() when pasting an event node.
Change summary:
- Modified UEdGraphSchema_K2::CreateSubstituteNode() to no longer ensure() that we have a valid PreExistingNode; it's only used for logging when a substitute node is created in response to a conflict with an existing node.
Change 3478485 by Marc.Audy
Eliminate extraneous error messages about orphaned pins on get/set nodes
#jira UE-45749
#rnx
Change 3478756 by Marc.Audy
Fix fallout from changes to DoesDefaultValueMatchAutogenerated for user defined enums
#jira UE-45721
#rnx
Change 3478926 by Marc.Audy
Non-blueprint type structs can no longer be made/broken
Non-blueprint visible properties in structs will no longer have pins created for them
#jira UE-43122
Change 3478988 by Marc.Audy
DeltaTime for a tick function with a tick interval is now correct after disabling and then reenabling the tick function.
#jira UE-45524
Change 3479818 by Marc.Audy
Allow ctrl-drag off of orphan pins
#jira UE-45803
Change 3480214 by Marc.Audy
Modifications to user defined enumerations are now transacted
#jira UE-43866
Change 3480579 by Marc.Audy
Maintain all pin properties through transactions.
#rn Reference pins that are removed and then restored via undo now correctly have the diamond icon instead of the standard circle.
Change 3481043 by Marc.Audy
Make/Break of structs does not depend on having blueprint exposed properties.
Splitting of a struct pin still requires blueprint exposed properties.
#jira UE-45840
#jira UE-45831
Change 3481271 by Ben.Zeigler
Fix the AssetManager chunking code to use ChunkDependencyInfo instead of a hardcoded check for chunk 0
Clean up ChunkDependencyInfo and make it properly public
Move ShouldSetManager to be WITH_EDITOR
Ported from WEX branch
#RB peter.sauerbrei
Change 3481373 by Dan.Oconnor
Reduce reliance on expensive FindDelegateSignature. 3275922 made warnings about a ambiguous search more likely as it preserved names of members on the REINST_ classes
#jira UE-45704
Change 3481380 by Ben.Zeigler
Change it so Struct and Object AssetRegistrySearchable properties do not show up in content browser, they are not helpful
Change 3482362 by Marc.Audy
Fix properties not exposed to blueprint warnings for input properties on function graphs.
#jira UE-45824
Change 3482406 by Ben.Zeigler
#jira UE-45883 Fix Switch On Gameplay Tag Container node, and add switch nodes to TagCheck map
Change 3482498 by Ben.Zeigler
Attempt to fix hot reload issues with Asset Manager. We need to reset and re-acquire the asset classes when rescanning, as they may be pointing to the replaced class
Change 3482517 by Lukasz.Furman
fixed smart navlink update functions removing important flag
#jira UE-45875
Change 3482538 by Marc.Audy
When comparing float, vector, and rotator values for whether the the default matches the autogenerated do not use the string compare because differences in use of decimal or number of 0s after decimal are then considered not the same float
#jira UE-45846
Change 3482773 by Marc.Audy
Don't show default value or pass by reference for exec pins
#jira UE-45868
Change 3482791 by Ben.Zeigler
#jira UE-45800 Correctly dirty game mode blueprint when changing player controller/etc classes from game mode customization
Fix it so MarkBlueprintAsStructurallyModified calls MarkBlueprintAsModified as several fixes were only in the second function
Change 3483131 by Zak.Middleton
#ue4 - InterpToMovementComponent:
- Fix velocity not zeroed when interpolation stops.
- Various fixes when calculating velocity and time when substepping is enabled.
- Improve accuracy of interpolation when looping and there is time remaining after the loop event is hit. Consume the remainder of the time after the event back in the loop (similar to handling a blocking impact).
#jira UE-45690
Change 3483146 by Phillip.Kavan
#jira UE-38358 - Propagate 'const' function flag from interface Blueprint to implementing Blueprints.
Change summary:
- Modified FBlueprintEditorUtils::MarkBlueprintAsStructurallyModified() to call SkeletalRecompileChildren() on dependent BPs when the target is an interface BP.
- Modified FBlueprintEditorUtils::MarkBlueprintAsStructurallyModified::FRefreshHelper::SkeletalRecompileChildren() to set child BP status to BS_Dirty after compiling.
- Modified ConformInterfaceByName() (FBlueprintEditorUtils) to use the interface's skeleton class for function iteration as well as to match the Function Entry node's 'const' setting to the interface UFunction's signature.
Change 3483340 by Ben.Zeigler
Fix issue querying asset registry after a hot reload, make sure pending kill objects are never considered to be Assets
Change 3483548 by Michael.Noland
Epic Friday: Playing around with some prototype traps
Change 3483700 by Phillip.Kavan
Fix CIS cook crash introduced by last submit.
#rnx
Change 3485217 by Ben.Zeigler
#jira UE-45519 Fix regression introduced in 4.16 where it would no longer cook all maps when no explicit maps were specified in ini or game callback. Moved the code that detects changes before culture/default map code and hardened it to deal with the case where some engine packages were already in the list before it entered the function
Change 3485367 by Dan.Oconnor
Avoid adding mappings to anim node when creating variables on the skeleton class and using the compilation manager
#jira UE-45756
Change 3485565 by Ben.Zeigler
#jira UE-45948 Fix compilation manager to properly reset variable default values after promoting a pin to local variable
Change 3485566 by Marc.Audy
Fix crashes caused by undo/redo of user defined struct changes
#jira UE-45775
#jira UE-45781
Change 3485805 by Michael.Noland
PR #3459: Fix for world origin shifting and SpringArmComponent location lag (Contributed by michail-nikolaev)
#jira UE-43747
Change 3485807 by Michael.Noland
PR #3485: Added additional textures field to paper 2d tileset class (Contributed by gryphonmyers)
#jira UE-44041
Change 3485811 by Michael.Noland
Framework: Fixed a bug in FStreamLevelAction::MakeSafeLevelName to avoid appending the PIE prefix multiple times (fixes functions like Unload Streaming Level when passed a full package name from an instanced streaming level)
Change 3485829 by Michael.Noland
Framework: Made GetWorldAssetPackageFName BlueprintCallable so instanced levels can be unloaded
Change 3485830 by Michael.Noland
PR #3568: add API declarations to ALevelStreamingVolume methods (Contributed by kayama-shift)
#jira UE-45002
Change 3486039 by Michael.Noland
PR #3495: UE-44014: Refreshing node error fixes (Contributed by projectgheist)
- Empty out the ErrorMsg when a node gets refreshed to prevent the same error messages from compounding
- Added support for split pins in UK2Node_Event::IsFunctionEntryCompatible
- Added a missing check for the delegate pin name on the entry node part of UK2Node_Event::IsFunctionEntryCompatible
#jira UE-44014
Change 3486093 by Michael.Noland
PR #3379: Added GAMEPLAYABILITIES_API to all Ability Tasks. (Contributed by ryanjon2040)
#jira UE-42903
Change 3486139 by Michael.Noland
Blueprints: Added new config options for execution wire thickness when not debugging (DefaultExecutionWireThickness) and data wire thicknesses (DefaultDataWireThickness) to the Graph Editor Settings page
#rn
Change 3486154 by Michael.Noland
Framework: Speculative fix for CIS error about FStructOnScope
#rnx
Change 3486180 by Dan.Oconnor
Better match old logic for determining when to skip data only compile
#jira UE-45830
Change 3487276 by Marc.Audy
Fix crash when using Setter with a locally scoped variable
#rnx
Change 3487278 by Marc.Audy
Ensure that pin change notifications occur on all pin breaks unless it is part of a node being garbage collected
Change 3487658 by Marc.Audy
Ensure that child actor template is created for subclasses
#jira UE-45985
Change 3487699 by Marc.Audy
Move non-templated elements out of FArchiveReplaceObjectRef and put them in FArchiveReplaceObjectRefBase
Change 3487813 by Dan.Oconnor
Asset demonstrating a crash
Change 3488101 by Marc.Audy
Fix crash with spawn/construct actor/object from class nodes when they no longer had any pins.
Correctly orphan pins when a node goes to 0 pins.
Change 3488337 by Marc.Audy
Editable pin base should not manually remove pin and let reconstruct node and rewire pins do their job
#jira UE-46020
Change 3488512 by Dan.Oconnor
ConstructObject nodes and SubInstances nodes use skeleton class when compilation manager can provide it
#jira UE-45830, UE-45965
#rnx
Change 3488631 by Michael.Noland
Framework: Fixed a crash when loading a blueprint with a parent class of ALevelBounds caused by trying to register the class default object with a non-existent level
#jira UE-45630
Change 3488665 by Michael.Noland
Blueprints: Improve the details panel customization for optional pin nodes like Struct Member Get/Set
- The category, raw name, and tooltip of the property are now included as part of the filter text as well
- The property tooltip is now displayed when hovering over the property name
- Code updated to use GET_MEMBER_NAME_CHECKED() where appropriate
Change 3489324 by Marc.Audy
Fix recursion causing stack crash
#jira UE-46038
#rnx
Change 3489326 by Marc.Audy
Fix cooking crash
#jira UE-46031
#rnx
Change 3489687 by mason.seay
Assets for testing orphan pins
Change 3489701 by Marc.Audy
Back out changelist 3487278 and 3489443 and make targetted changes for fixing up orphan pin cases where changing connections doesn't remove the pin.
#jira UE-46051
#jira UE-46052
#rnx
Change 3490352 by Dan.Oconnor
Fix for missing WidgetTree on Skeleton class - just look directly at the WidgetBlueprint
#jira UE-46062
Change 3490814 by Marc.Audy
Make callfunction/macro instances save all pins in orphan state more similar to previous behavior
#rnx
Change 3491022 by Dan.Oconnor
Properly clean up 'Key' property when we fail to create a value property
#jira UE-45279
Change 3491071 by Ben.Zeigler
#jira UE-45981 Fix rotation issues, vector/rotator pins with empty strings were not matching due to uninitialized memory.
Change 3491244 by Michael.Noland
Blueprints: Add compile time message back to the output log (will not auto-open the output log if there were no warnings/errors)
#jira UE-32948
Change 3491276 by Michael.Noland
Blueprints: Fixed some bugs where a newly added item would fail show up in the "My Blueprints" tree if there was a filter active (e.g., when promoting a variable)
- Centralized the logic for clearing the filter so it happens when we try and fail to select the item, rather than ad hoc in various other places
- Made it only clear the filter if necessary, rather than (almost) always clearing it when adding an item
#jira UE-43372
Change 3491562 by Marc.Audy
Put back pin removal in to editable pin base and instead modify the pin destroy implementation to take down child split pins with it
#jira UE-46020
#rnx
Change 3491658 by Marc.Audy
Unify RemoveUserDefinedPin implementations. Use version that has break to avoid size change assert
#rnx
Change 3491946 by Marc.Audy
ReconstructSinglePin no longer destroys OldPin (avoids oprhaned sub pins being destroyed before reparented)
RewireOldPinsToNewPins now destroys OldPins at the end (calling code no longer reponsible)
DestroyImpl now prunes out SubPins that had already been trashed
#rnx
Change 3492040 by Marc.Audy
Discard exec/then pins from a callfunction that has been converted to a pure node
#rnx
Change 3492200 by Zak.Middleton
#ue4 - Always reset the input array in AActor::GetComponents(), but do so without affecting allocated size.
Fixes possible regression from CL 3359561 that removed the Reset(...) entirely.
#jira UE-46012
Change 3492290 by Ben.Zeigler
#jira UE-46108 Fix StringLibrary Mid to never crash, Substring had already been fixed
Change 3492311 by Marc.Audy
Don't clear the pin type if what you're connecting to's pin type is wildcard
#rnx
Change 3492680 by Dan.Oconnor
Handle missing generated class when using compilation manager - tested by forcing compile of BP_ParentClassIsMissingType.uasset
Change 3492826 by Marc.Audy
Don't do pin connection list change notifications from DestroyPins while regenerating on load
#jira UE-46112
#rnx
Change 3492851 by Michael.Noland
Core: Fixed various crashes when using UObject::CallFunctionByNameWithArguments with non-trivial argument types by properly initializing the allocated parameters
Change 3492852 by Michael.Noland
Framework: Fixed a crash if ACharacter::FindComponentByClass was passed a nullptr class
Change 3492934 by Marc.Audy
Fix ensure and crash delete macro containing orphaned pin
#rnx
Change 3493079 by Dan.Oconnor
Fix for crash when opening ThirdPersonAnimBlueprint and ThirdPersonAnimBlueprint_Perf then clicking 'Compile' button in ThirdPersonAnimBlueprint editor. Make sure the convenience members in the derived compilers get set when we relink child classes (which requires making cdos, which requires PropagateValuesToCDO..)
#rnx
Change 3493346 by Phillip.Kavan
#jira UE-40560 - Fix a reported crash when pasting nodes between unrelated Blueprint graphs.
Change summary:
- Modified FEdGraphUtilities::PostProcessPastedNodes() to ensure() on a NULL pin entry; this will allow execution to continue while still alerting us since it is an unexpected result. Also added an 'else' case to then remove the NULL entry so that PostPasteNode() implementations don't all have to guard against NULL pin entries. When the node is reconstructed, the NULL entry will be replaced with the correct pin initialized to its default values.
- Modified UEdGraphPin::ImportTextItem() to add some additional logging to parse error cases when importing pin properties from source T3D text. Hopefully this gives us more information when this is encountered in the future.
Change 3493938 by Michael.Noland
Blueprints: Prevent issues with renaming event dispatchers to contain periods (this may be disallowed in the future, but they no longer become uneditable)
#jira UE-45780
Change 3493945 by Michael.Noland
Blueprints: Fixed GetDelegatePoperty typos
#rnx
Change 3493997 by Michael.Noland
Blueprints: Partially reverting changes from CL# 3319966 to reroute nodes, restoring their alignment but losing the symmetrical grab handle changes
#jira UE-45760
Change 3493998 by Dan.Oconnor
Fix rare crash in RefreshStandAloneDefaultsEditor when the blueprint editor is opened and a blueprint had errors in it
Note: I stumbled across this by running a unit test and then opening a blueprint in the BPE. CrashReporter indicates 3 crashes in the last 3 days
Change 3494025 by Michael.Noland
Engine: Deleted some dead code (DEBUGGING_VIEWPORT_SIZES)
#rnx
Change 3494026 by Michael.Noland
Blueprints: V0 of a BlueprintCallable/BlueprintPure function fuzzer
- Calls exposed methods with default parameters on classes it is able to spawn for now, which catches crashes due to null and /0 but not out of bounds issues or ones on classes it can't spawn due to classwithin, abstract, etc...
- Can be called using Test.ScriptFuzzing, won't be integrated into automated tests until it is more fully fleshed out and all known issues are addressed
#rnx
Change 3496382 by Ben.Zeigler
Fix ensure when launching editor with cook on the side and incremental cooking enabled. It now flushes the background asset gather when calling the sync load all assets if one is in progress
Change 3496688 by Marc.Audy
Avoid crashing in component instance data if (for some reason) the Actor's root component isn't properly set up
#jira UE-46073
Change 3496830 by Michael.Noland
Editor: Change FEditorCategoryUtils methods to take UStruct* instead of UClass*, as they are just reading metadata
#rnx
Change 3496840 by Michael.Noland
Framework: Remove the requirement for a local player in UCheatManager::CheatScript, so it can be be started from the server side (doesn't change the availability of the cheat manager, just allows things like the redundant "cheat cheatscript scriptname" to work)
Change 3497038 by Michael.Noland
Fortnite: Added UFortDeveloperSettings to allow developers to auto-run cheats in PIE (does not occur in -game or outside of WITH_EDITOR builds)
- You can specify a list of cheat commands to run when a pawn is possessed (also needs CL# 3496840 for cheatscripts)
- You can also specify a set of items to grant to your local inventory when it is created
Change 3497204 by Marc.Audy
Fix AbilitySystemComponent not being blueprint readable.
#rnx
Change 3497668 by Mieszko.Zielinski
Fixed a crash in BT editor when dealing with enum-typed Blackboard-keys pointing to enum values that have been deleted #UE4
#jira UE-43659
Change 3497677 by Mieszko.Zielinski
Added a community-suggested working solution to patching up dynamic navmesh after world offset #UE4
Also, fixed a crash related to navmesh rebuilding if generation was configured to lazily gather navigatble geometry
#jira UE-41293
Change 3497678 by Mieszko.Zielinski
Marked AbstractNavData class as transient #UE4
We never want to save it to levels
Change 3497679 by Mieszko.Zielinski
Made NavModifierVolume responsive to editor-time property changes #UE4
#jira UE-32831
Change 3497900 by Dan.Oconnor
Fix bad skel reference when using construct object from class, just limiting scope of 3491946. To reproduce the bug just nativize QA Game, including the TM-Gameplay level
#rnx
Change 3497904 by Dan.Oconnor
Use K2Node_Event::FindEventSignatureFunction in order when directly generating the skeleton generated class to get event params correct
#jira UE-46153
#rnx
Change 3497907 by Dan.Oconnor
Correctly set blueprint visibility flags on params for inherited functions when generating the skeleton class
#rnx
#jira UE-46186
Change 3498218 by mason.seay
Updates to pin testing BP's
Change 3498323 by Mieszko.Zielinski
Made UNavCollision instance assigned to StaticMesh not get re-created from scratch every single time any StaticMesh property changes #UE4
Recreation was resulting in some of the UNavCollision's properties not getting saved and the way we were recreating the nav collision could also interfere with undo buffers
#jira UE-44891
Change 3499007 by Marc.Audy
Allow systems to hook Pre and PostCompile to do custom behaviors
Change 3499013 by Mieszko.Zielinski
Made AbstractNavData class non-transient again #UE4
Implemented AbstractNavData instances' transientness in a different manner.
#jira UE-46194
Change 3499204 by Mieszko.Zielinski
Introduced CrowdManagerBase, an engine-level class that can be extended to implement custom crowd management #Orion
Extracted FRecastQueryFilter into a separate file, which will break some peoples' compilation.
#jira UE-43799
Change 3499321 by mason.seay
Updated bp for struct testing
Change 3499388 by Marc.Audy
Allow the compiler log to store off potential messages from earlier in the compile cycle (early validation), that can be committed later (for example once pruning is completed).
Change 3499390 by Marc.Audy
Generate the orphan pin error messages during EarlyValidation, but cache until the regular validation phase. This ensures all are generated, but only those that aren't pruned will be emitted.
#rnx
Change 3499420 by Michael.Noland
Engine: Introduced a new version of UEngine::GetWorldFromContextObject which takes an enum specifying the behavior on failures and updated all existing uses
The new version intentionally does not have a default value for ErrorMode, callers need to think about which variant of behavior they want:
- ReturnNull: Silently returns nullptr, the calling code is expected to handle this gracefully
- LogAndReturnNull: Raises a runtime error but still returns nullptr, the calling code is expected to handle this gracefully
- Assert: Asserts, the calling code is not expecting to handle a failure gracefully
- Deprecated UEngine::GetWorldFromContextObject(object, boolean) and changed the default behavior for the deprecated instances to do LogAndReturnNull rather than Assert, based on the real-world call pattern
- Introduced GetWorldFromContextObjectChecked(object) as a shorthand for passing in EGetWorldErrorMode::Assert
- Made UObject::GetWorldChecked() actually assert if it would return nullptr (under some cases the old function could silently return nullptr while reporting bSupported = true, so it neither ensured nor checked)
- Fixed a race condition in the 'is implemented' bookkeeping logic in GetWorld()/GetWorldChecked() by confining it to the game thread and added a check() to ImplementsGetWorld() to make it clear that it only works on the game thread
The typical recommended call pattern is to use something like:
if (UWorld* World = GEngine->GetWorldFromContextObject(WorldContextObject, EGetWorldErrorMode::LogAndReturnNull))
{
... Do something with World
}
Handling the failure case but requesting a log message (with BP call stack printed out) if it failed. This is now also the default behavior for old calls to UEngine::GetWorldFromContextObject(Object) (using the default value of bChecked=true), which is a behavior change but it matches how the function was being used in practice; the vast majority of call sites actually expected it to potentially fail and handled the nullptr case gracefully; very few places used the return value unguarded and wanted it to assert when passed a nullptr.
#jira UE-42458
Change 3499429 by Michael.Noland
Engine: Removed a bogus TODO (the problematic code had already been reworked)
#rnx
Change 3499470 by Michael.Noland
Core: Improved and corrected the comment for ensure()
- It doesn't crash when checking is disabled (and hasn't since UE3, maybe ever?)
- It now only fires once per ensure() by default, added a note about ensureAlways()
#rnx
Change 3499643 by Marc.Audy
Use TGuardValue instead of manually managing it
#rnx
Change 3499874 by Marc.Audy
Display <Unnamed> instead of nothing for Pins with blank display name in the compiler log
Change 3499875 by Marc.Audy
When changing function parameter types, don't orphan a pin on the function entry/exit nodes (but do at the call sites)
#jira UE-46224
Change 3499927 by Dan.Oconnor
UField::Serialize no longer serialize's its next ptr, UStruct::Serialize serializes all Children properties instead. This resolves a hard circular dependency between function libraries that EDL detected. It was resolved in an ad hoc way by the old linker
#jira UE-43458
Change 3499953 by Michael.Noland
Core: Created a variant of ensure that does runtime error logging without stopping in the debugger and some related functions that print a warning or error and may trigger a BP callstack (under the same rules as FFrame::KismetExecutionMessage)
- These are WIP and the API may change in the future, but are being used to fix various crashes found by fuzzing BP exposed functions
Change 3499957 by Michael.Noland
Animation: Added runtime errors for nullptr ControlRigs passed into BP methods
#rnx
Change 3499958 by Michael.Noland
Blueprints: Changed an ensure in UKismetNodeHelperLibrary::GetValidValue to a runtime error
#rnx
Change 3499959 by Michael.Noland
Engine: Downgrade various checks() to ensures() in the runtime asset cache functions exposed to Blueprints
Change 3499960 by Michael.Noland
AI: Changed UBTFunctionLibrary to not check/ensure if passed a null world context object
Change 3499968 by Michael.Noland
Editor: Fixed a couple of crashes in UEditorLevelUtils when passed nullptr arguments, and reformatted the entire file to fix widespread indentation issues
#rnx
Change 3499969 by Michael.Noland
Engine: Changed the verbosity of the failure log message of UEngine::GetWorldFromContextObject(..., LogAndReturnNull) from Warning to Error, so it always prints out a BP callstack
#rnx
Change 3499973 by Michael.Noland
Rendering: Fixed asserts in various UKismetRenderingLibrary methods if passed a nullptr for the WorldContextObject
- Also fixed flipped warnings in the failure cases for EndDrawCanvasToRenderTarget
Change 3499979 by Michael.Noland
Editor: Prevented a crash in UMaterialEditingLibrary::RecompileMaterial when passed a nullptr material
Change 3499984 by Michael.Noland
Physics: Prevented a crash in UTraceQueryTestResults::AssertEqual when passed in nullptr for Expected
Change 3499993 by Michael.Noland
Blueprints: Added validation when renaming variables, functions, components, multicast delegates, etc... to prevent names from containing some unacceptable characters
- This validation only kicks in when trying to rename an item, so bad names in existing content are 'grandfathered in'
- These bad names can cause bugs when working with content that contains these characters (e.g., names that contain a period cannot be found via FindObject<T>)
- Currently only . is banned, but eventually we may expand it to include all of INVALID_OBJECTNAME_CHARACTERS
Change 3500009 by Michael.Noland
Blueprints: Made the fuzzer skip classes declared in UnrealEd for now (some of the exposed methods change global state that can cause other tests to fail as the fuzzer isn't particularly sandboxed ATM)
#rnx
Change 3500011 by Michael.Noland
Android: Fixed a crash in UAndroidPermissionFunctionLibrary::AcquirePermissions when called with an empty array on non-Android platforms
Change 3500012 by Michael.Noland
Editor: Prevent a crash in UEditorTutorial::OpenAsset when passed a nullptr Asset
Change 3500014 by Michael.Noland
Engine: Changed FRuntimeAssetCacheFilesystemBackend::ClearCache(NAME_None) to not try to clear all cache directories (there is a separate no-args method for that)
Change 3500019 by Michael.Noland
Core: Fixed some more issues with CallFunctionByNameWithArguments and initializing / destroying parameters
- It was skipping the return value and incorrectly relying on the FirstPropertyToInit list which isn't set for by ref arguments
Change 3500020 by Michael.Noland
Automation: Prevent UFunctionalTestingManager::RunAllFunctionalTests and UFunctionalTestingManager* UFunctionalTestingManager::GetManager from crashing when a manager cannot be created (because we can't route to a world)
Change 3501062 by Marc.Audy
MakeArray AddInputPin is often used as part of node expansion, so need to move the transaction out of the function
Fix inability to undo/redo pin additions to sequence node
Add a K2Node_AddPinInterface to generalize the interface that K2Nodes implement to interact with SGraphNodeK2Sequence so it can be more generally used
#jira UE-46164
#jira UE-46270
Change 3501330 by Michael.Noland
AI: Fix an error on shutdown when the CDO of UAIPerceptionComponent tries to clean up (as it was never registered in the first place)
#jira UE-46271
Change 3501356 by Marc.Audy
Fix crash when multi-editing actor blueprints
#jira UE-46248
Change 3501408 by Michael.Noland
Core: Improve the print-out of FFrame::GetStackTrace() / FFrame::GetScriptCallstack() when there is no script stack (e.g., when FFrame::KismetExecutionMessage is called by native code with no BP above in the call stack)
Change 3501457 by Phillip.Kavan
#jira UE-46054 - Fix crash when launching a packaged build that includes a nativized Blueprint instance with a ChildActorComponent instanced via an AddComponent node.
Change summary:
- Removed UK2Node_AddComponent::PostDuplicate(). This eliminates the creation of redundant component templates that were being unnecessarily created during the Blueprint duplication that precedes the nativization pass.
- Modified SMyBlueprint::OnDuplicateAction() to call MakeNewComponentTemplate() in response to a graph duplication action within the same Blueprint context (replaces previous UK2Node_AddComponent::PostDuplicate() impl).
- Modified FEmitDefaultValueHelper::HandleSpecialTypes() to force AddComponent-based CAC-owned template objects in the emitted codegen to use the UDynamicClass as the Outer when instancing. This matches what we already do for SCS-based CAC-owned template objects - that logic was added in CL# 3270456, and this matches up with FBlueprintNativeCodeGenModule::FindReplacedNameAndOuter(), where we specifically handle CAC-owned template objects.
Change 3502741 by Phillip.Kavan
#jira UE-45782 - Fix undo for index pin type changes.
Change summary:
- Modified SGraphPinIndex::OnTypeChanged() to call Modify() on the pin that was changed.
Change 3502939 by Michael.Noland
Back out changelist 3499927
Change 3503087 by Marc.Audy
Re-fixed ocean content as editor had also changed so had to take theirs and redo
#rnx
Change 3503266 by Ben.Zeigler
#jira UE-46335 Fix regression added in 4.16 where AssetRegistry GetAncesorClassNames/GetDerivedClassNames were not working properly in cooked builds for classes not in memory
Change 3503325 by mason.seay
updated Anim BP to prep for pin testing
Change 3503445 by Marc.Audy
Fix crash caused by OldPins being destroyed before rewiring
#rnx
Change 3505024 by Marc.Audy
Fix NodeEffectsPanel blueprint as it was using pins that no longer existed
#rnx
Change 3505254 by Marc.Audy
Don't include orphan pins when gather source property names
If a property doesn't exist for a source property name just skip the property rather than crashing
#jira UE-46345
#rnx
Change 3506125 by Ben.Zeigler
#jira UE-46311 Fix issues when blueprints are reloaded in place, it needs to remove them from root properly and sanitize the old class. It's still not clear why they are being reloaded in place
Change 3506334 by Dan.Oconnor
Move UAnimGraphNode_Base::PreloadRequiredAssets up to K2Node, make sure nodes get a chance to preload data before compilation manager compiles newly loaded blueprints
#jira UE-46411
Change 3506439 by Dan.Oconnor
Return to pre 3488512 behavior for construct object nodes. This means that we can still get warnings on load when users compile after saving a blueprint, but the current behavior loses default values because it's lookng at the skeleton cdo
#jira UE-46308
Change 3506468 by Dan.Oconnor
Return to pre 3488512 behavior, as it causes bad default values
#jira UE-46414
#rnx
Change 3506733 by Marc.Audy
Use the most up to date class to determine whether a property still exists when adding pins during reconstruction
#jira UE-45965
#author Dan.OConnor
#rnx
Change 3507531 by Ben.Zeigler
#jira UE-46449 Better fix to flush the asset registry queue when the editor requests a synchronous scan at startup. Sometimes it can take a few frames because of file handle delays
Change 3507924 by mason.seay
Sanity save of TM-Gameplay and sublevels to maybe resolve level streaming issues
Change 3507962 by Marc.Audy
Remake changes from CL# 3150796 wiped out by WEX-Staging merge to Main in CL# 3479958
#rnx
Change 3509131 by Dan.Oconnor
Compilation manager compile on load flow never called FindExportsInMemoryFirst, which is critical to prevent reloading of UBlueprintGeneratedClasses when Rename clears the export table
#jira UE-46311
Change 3509345 by Marc.Audy
CVar to disable orphan pins if necessary
#rnx
Change 3509959 by Marc.Audy
Protect against crashing due to large values in Timespan From functions
#jira UE-43840
Change 3510040 by Marc.Audy
Remove all the old unneeded ShooterGame test maps
#rnx
[CL 3510073 by Marc Audy in Main branch]
2017-06-26 15:07:18 -04:00
for ( const FComponentTypeEntry & ComponentType : * ComponentTypes )
2015-02-16 03:50:03 -05:00
{
if ( UBlueprintComponentNodeSpawner * NodeSpawner = UBlueprintComponentNodeSpawner : : Create ( ComponentType ) )
{
ClassActionList . Add ( NodeSpawner ) ;
}
}
}
2014-07-09 12:17:42 -04:00
//------------------------------------------------------------------------------
2015-04-01 15:47:23 -04:00
bool FBlueprintActionDatabase : : ClearAssetActions ( UObject * const AssetObject )
2014-08-23 20:16:29 -04:00
{
2019-10-18 16:15:19 -04:00
FObjectKey ObjectKey ( AssetObject ) ;
return ClearAssetActions ( ObjectKey ) ;
}
//------------------------------------------------------------------------------
bool FBlueprintActionDatabase : : ClearAssetActions ( const FObjectKey & AssetObjectKey )
{
FActionList * ActionList = ActionRegistry . Find ( AssetObjectKey ) ;
2014-10-10 17:48:56 -04:00
bool const bHasEntry = ( ActionList ! = nullptr ) ;
if ( bHasEntry )
{
for ( UBlueprintNodeSpawner * Action : * ActionList )
{
2019-10-18 16:15:19 -04:00
if ( Action ! = nullptr )
{
2019-12-13 11:07:03 -05:00
// because some asserts expect everything to be cleaned up in a
// single GC pass, we can't wait for the GC'd Action to release its
// template node from the cache
Action - > ClearCachedTemplateNode ( ) ;
}
2014-10-10 17:48:56 -04:00
}
2019-10-18 16:15:19 -04:00
ActionRegistry . Remove ( AssetObjectKey ) ;
2014-10-10 17:48:56 -04:00
}
2014-09-19 18:20:43 -04:00
2019-10-18 16:15:19 -04:00
if ( UObject * AssetObject = AssetObjectKey . ResolveObjectPtr ( ) )
2014-09-19 18:20:43 -04:00
{
2019-12-13 11:07:03 -05:00
if ( UBlueprint * BlueprintAsset = Cast < UBlueprint > ( AssetObject ) )
{
BlueprintAsset - > OnChanged ( ) . RemoveAll ( this ) ;
BlueprintAsset - > OnCompiled ( ) . RemoveAll ( this ) ;
}
2014-10-10 17:48:56 -04:00
2019-12-13 11:07:03 -05:00
if ( bHasEntry & & ( ActionList - > Num ( ) > 0 ) & & ! BlueprintActionDatabaseImpl : : bIsInitializing )
{
EntryRemovedDelegate . Broadcast ( AssetObject ) ;
}
2014-10-10 17:48:56 -04:00
}
2019-10-18 16:15:19 -04:00
2015-04-01 15:47:23 -04:00
return bHasEntry ;
2014-08-23 20:16:29 -04:00
}
2014-09-26 11:31:34 -04:00
//------------------------------------------------------------------------------
void FBlueprintActionDatabase : : ClearUnloadedAssetActions ( FName ObjectPath )
{
// Check if the asset can be found in the unloaded action registry, if it can, we need to remove it
if ( TArray < UBlueprintNodeSpawner * > * UnloadedActionList = UnloadedActionRegistry . Find ( ObjectPath ) )
{
for ( UBlueprintNodeSpawner * NodeSpawner : * UnloadedActionList )
{
Copying //UE4/Dev-Framework to //UE4/Dev-Main (Source: //UE4/Dev-Framework @ 3510040)
#lockdown Nick.Penwarden
=====================================
MAJOR FEATURES + CHANGES
=====================================
Change 3459524 by Marc.Audy
Get/Set of properties that were previously BPRW/BPRO should error when used
#jira UE-20993
Change 3460004 by Phillip.Kavan
#jira UE-45171 - Fix C++ compilation failures during packaging caused by nativizing a Blueprint that overrides a native function with a 'TSubclassOf' parameter or return value.
Change summary:
- Modified FKismetCompilerContext::CreateParametersForFunction() to pass the 'CPF_UObjectWrapper' flag through to new function parameter properties during Blueprint compilation.
Change 3461210 by Phillip.Kavan
#jira UE-44505 - Fix occasional Blueprint editor crashes that could occur while rebuilding the context menu from the action registry.
Change summary:
- Modified FBlueprintActionDatabase::FActionRegistry to use an FObjectKey as the key type. This allows us to test entries for UObject validity before rebuilding context menu items based on the action database.
- Changed FBlueprintActionInfo::CachedOwnerClass to be a TWeakObjectPtr rather than a raw UClass* since it's based on the ActionOwner, which could potentially become invalid after the OwnerClass has been cached.
- Modified FBlueprintActionDatabase::RefreshAssetActions() to exclude World assets if the WorldType is not EWorldType::Editor. This eliminates an issue with unreferenced "inactive" GC'd world objects being left in the BP action registry after cooking, at which point the keys could become invalid.
- Added FBlueprintActionDatabase::DeferredRemoveEntry() to allow for scheduling removal of entries from outside of the database if they are known to be invalid.
- Modified FBlueprintActionDatabase::Tick() to handle deferred entry removals.
- Modified FBlueprintActionMenuBuilder::RebuildActionList() to both test actions for validity before building menu items and schedule removal of invalid actions on the next tick.
Notes:
- Alternatively we could just include UObject keys in the database's AddReferencedObject impl, but that would then prevent objects from ever being GC'd if they are not explicitly removed. For most entries the action database takes the approach of explicitly removing entries via delegate when the UObject is destroyed, so I chose to use a TWeakObjectPtr instead so that any entries that may not be getting explicitly removed via delegate will now simply become invalidated if the UObject key is GC'd due to not being referenced. I also set it up to clean and remove any entries (along with any associated node spawners) that are found to be invalid the next time we open the BP editor.
Change 3461373 by Lukasz.Furman
fixed async navmesh rebuilds not kicking in for requests from navdata.bForceRebuildOnLoad
#jira UE-44231
Change 3461409 by Lukasz.Furman
fixed reenabling automatic navmesh generation in Editor Preferences
#ue4
Change 3461550 by Ben.Zeigler
#jira UE-45328 Fix local variable support for Redirectors and other save-time validation. We need to run the local variables to UProperty and back at save time
Add new flag PPF_SerializedAsImportText which is used for BP pins/default values and indicates that something has been serialized as import text and so needs to handle string asset redirectors
Change 3462625 by Zak.Middleton
#ue4 - Fix InterpToMovementComponent not setting velocity on the object it moves. Fix movement rate when substepping enabled (other related fixes to come).
github PR #3620
Change 3462796 by Dan.Oconnor
Fix for spamming BroadcastBlueprintReinstanced and for creating CDO at wrong time when compiling FrontEnd.uasset in OrionGame
#jira UE-45434
Change 3462995 by Ben.Zeigler
#jira UE-16941 Fix it so Load Asset node works with a literal value as well as a connected pin
Change 3463099 by Ben.Zeigler
#jira UE-45471 Allow abstract base classes for primary assets
Change 3464809 by Marc.Audy
Expose FVector2D / FVector2D to blueprints
#jira UE-45427
Change 3467254 by Mieszko.Zielinski
Added an AI helper BP function that supplies caller with a copy of navigation path given controller is currently following #UE4
Change 3467644 by Dan.Oconnor
Fix for cook issues in ocean when using compilation manager, one issue caused by bad dependencies list, one issue caused by lack of subobject mapping in archetype reinstancing.
#jira UE-45443, UE-45444
Change 3468176 by Dan.Oconnor
Fix dependent blueprints being marked dirty when a blueprint is compiled
Change 3468353 by Michael.Noland
UnrealHeaderTool: Improved the warning generated when missing Category= on a function or property declared in an engine module, and centralized the logic that determines if the module is engine or game
Change 3470532 by Dan.Oconnor
Re-enable compilation manager
Change 3470572 by Dan.Oconnor
Fix for pin paramters resetting when an archetype was reinstanced
#jira UE-45619
#rnx
Change 3471949 by Mason.Seay
Adding Primary Assets for testing
Change 3472074 by Ben.Zeigler
#jira UE-45140 Convert iterative cooking to use the Asset Registry as it's only mode, remove old hash and timestamp versions. This allows deleting the entire PackageDependencyInfo module
Change the asset registry iteration to not compute a hash at all, and instead store the script package guids in it's cache.
Expose bIgnoreIniSettingsOutOfDateForIteration and bIgnoreScriptPackagesOutOfDateForIteration in cooker settings, affects rather to listen to ini/script changes when doing iterative cooking
Change 3472079 by Ben.Zeigler
With new incremental cook options, change Fortnite to never care about ini settings, but do care about code changes. This can be changed but from previous discussions we wanted to be more safe than fast here
Change 3473429 by Lukasz.Furman
changed path following update tick to allow working on "invalid, update pending" paths, solves AI getting stuck when navigation is rebuild very frequently (e.g. every tick from moving mesh)
#jira UE-41884
Change 3473476 by Lukasz.Furman
changed crowd simulation path update tick to allow working on "invalid, update pending" paths, solves AI getting stuck when navigation is rebuild very frequently (e.g. every tick from moving mesh)
#jira UE-41884
Change 3473663 by Ben.Zeigler
Fix it so base k2node registers framework version, this is needed for the assetptr fixup I previously added
Change 3473679 by Mason.Seay
Slight cleanup of test map and added ability to teleport across level for easy navigation
Change 3473712 by Marc.Audy
Do default value validation against the actual value of the default entry of an enum rather than the serialized empty autogenerated default value
Change 3474055 by Marc.Audy
When nodes are reconstructed any pins that were previously linked or set to non-default values that have been removed will no longer simply vanish, but instead will remain in an Orphaned state until dealt with.
#jira UE-41828
Change 3474119 by mason.seay
Tweaked Force Feedback test
Change 3474156 by Marc.Audy
Actually enable orphan pin retention
Change 3474382 by Ben.Zeigler
Class.h Header and comment cleanup. Started this because IsChildOf did not have a comment and it's usage is a bit confusing
Change 3474386 by Ben.Zeigler
Close popup window when adding asset class to audit window
Change 3474491 by Ben.Zeigler
Remove ability for Worlds to not be saved as assets, this has been the default since 2014.
Change 3475363 by Marc.Audy
Alt-click now works with orphaned pins
#jira UE-45699
Change 3475523 by Marc.Audy
Fixup Fortnite and Paragon content for orphaned pin errors and warnings
Change 3475623 by Phillip.Kavan
#jira UE-45477 - Fix an EDL assertion on load in a nativized build with one or more Actor subobjects instanced via the EditInlineNew UI in the BP class defaults property editor.
Change summary:
- Modified FEmitDefaultValueHelper::OuterGenerate() to emit code to construct/initialize instanced subobject values that do not have the RF_DefaultSubObject flag set, and also to recursively handle nested subobjects for those values.
- Modified FEmitDefaultValueHelper::HandleInstancedSubobject() to alternatively emit a 'NewObject' assignment statement rather than a 'CreateDefaultSubobject' statement if only RF_ArchetypeObject is set on the source object value.
Change 3476008 by Dan.Oconnor
Fix for failing to preload our super class's subobjects. Effectively moving UBlueprint::ForceLoad calls earlier in loading process. This only results in data resetting to your parent's parent's default value from your parent's default value.
#jira UE-18765
Change 3476115 by Dan.Oconnor
Fix missing category information for inherited functions when using compilation manager
#jira UE-45660
#rnx
Change 3476577 by Lukasz.Furman
added early outs from navmesh layer generation when there's no walkable cells or contours to avoid allocating 0 bytes by next generation steps (behavior differs between platforms)
#ue4
Change 3476587 by Phillip.Kavan
#jira UE-45517 - Fix a regression in which dragging UMG widgets around in the designer view results in redundantly-compounded BP class properties and context menu actions.
Change summary:
- Modified SDesignerView::ClearDropPreviews() to move the widget that was removed from the tree into the transient package. This ensures that FWidgetBlueprintCompiler::CreateClassVariablesFromBlueprint() won't pick them up.
- Modified SDesignerView::ProcessDropAndAddWidget() to also consider any widgets not added to the 'DropPreviews' array as being transient (i.e. also move them into the transient package since they were not added to the tree).
Notes:
- The regression was introduced by the changes in CL# 3410168, and was merged to Main at CL# 3431398.
#rnx
Change 3476723 by Dan.Oconnor
Match old behavior wrt updating implemented interfaces in blueprints - this logic from FKismetEditorUtilities::CompileBlueprint was missing in compilation manager
#jira UE-45468
#rnx
Change 3476948 by Michael.Noland
Framework: Changed AActor::FindComponentByClass (and AActor::GetComponentByClass by extension) to return nullptr when passed a nullptr class, rather than crashing
Change 3476970 by Ben.Zeigler
Fix bug I introduced in 4.16 where assigning assets to multiple chunks did not work properly
Change 3477536 by Marc.Audy
Don't display default value box on linked orphaned input pins
Change 3477835 by Marc.Audy
Fix pins orphaned by deletion of an entry in a user-defined enum disappearing instead of remaining connected
#jira UE-45754
Change 3478027 by Marc.Audy
Minor performance optimization
#rnx
Change 3478198 by Phillip.Kavan
#jira UE-42431 - Remove an unnecessary ensure() when pasting an event node.
Change summary:
- Modified UEdGraphSchema_K2::CreateSubstituteNode() to no longer ensure() that we have a valid PreExistingNode; it's only used for logging when a substitute node is created in response to a conflict with an existing node.
Change 3478485 by Marc.Audy
Eliminate extraneous error messages about orphaned pins on get/set nodes
#jira UE-45749
#rnx
Change 3478756 by Marc.Audy
Fix fallout from changes to DoesDefaultValueMatchAutogenerated for user defined enums
#jira UE-45721
#rnx
Change 3478926 by Marc.Audy
Non-blueprint type structs can no longer be made/broken
Non-blueprint visible properties in structs will no longer have pins created for them
#jira UE-43122
Change 3478988 by Marc.Audy
DeltaTime for a tick function with a tick interval is now correct after disabling and then reenabling the tick function.
#jira UE-45524
Change 3479818 by Marc.Audy
Allow ctrl-drag off of orphan pins
#jira UE-45803
Change 3480214 by Marc.Audy
Modifications to user defined enumerations are now transacted
#jira UE-43866
Change 3480579 by Marc.Audy
Maintain all pin properties through transactions.
#rn Reference pins that are removed and then restored via undo now correctly have the diamond icon instead of the standard circle.
Change 3481043 by Marc.Audy
Make/Break of structs does not depend on having blueprint exposed properties.
Splitting of a struct pin still requires blueprint exposed properties.
#jira UE-45840
#jira UE-45831
Change 3481271 by Ben.Zeigler
Fix the AssetManager chunking code to use ChunkDependencyInfo instead of a hardcoded check for chunk 0
Clean up ChunkDependencyInfo and make it properly public
Move ShouldSetManager to be WITH_EDITOR
Ported from WEX branch
#RB peter.sauerbrei
Change 3481373 by Dan.Oconnor
Reduce reliance on expensive FindDelegateSignature. 3275922 made warnings about a ambiguous search more likely as it preserved names of members on the REINST_ classes
#jira UE-45704
Change 3481380 by Ben.Zeigler
Change it so Struct and Object AssetRegistrySearchable properties do not show up in content browser, they are not helpful
Change 3482362 by Marc.Audy
Fix properties not exposed to blueprint warnings for input properties on function graphs.
#jira UE-45824
Change 3482406 by Ben.Zeigler
#jira UE-45883 Fix Switch On Gameplay Tag Container node, and add switch nodes to TagCheck map
Change 3482498 by Ben.Zeigler
Attempt to fix hot reload issues with Asset Manager. We need to reset and re-acquire the asset classes when rescanning, as they may be pointing to the replaced class
Change 3482517 by Lukasz.Furman
fixed smart navlink update functions removing important flag
#jira UE-45875
Change 3482538 by Marc.Audy
When comparing float, vector, and rotator values for whether the the default matches the autogenerated do not use the string compare because differences in use of decimal or number of 0s after decimal are then considered not the same float
#jira UE-45846
Change 3482773 by Marc.Audy
Don't show default value or pass by reference for exec pins
#jira UE-45868
Change 3482791 by Ben.Zeigler
#jira UE-45800 Correctly dirty game mode blueprint when changing player controller/etc classes from game mode customization
Fix it so MarkBlueprintAsStructurallyModified calls MarkBlueprintAsModified as several fixes were only in the second function
Change 3483131 by Zak.Middleton
#ue4 - InterpToMovementComponent:
- Fix velocity not zeroed when interpolation stops.
- Various fixes when calculating velocity and time when substepping is enabled.
- Improve accuracy of interpolation when looping and there is time remaining after the loop event is hit. Consume the remainder of the time after the event back in the loop (similar to handling a blocking impact).
#jira UE-45690
Change 3483146 by Phillip.Kavan
#jira UE-38358 - Propagate 'const' function flag from interface Blueprint to implementing Blueprints.
Change summary:
- Modified FBlueprintEditorUtils::MarkBlueprintAsStructurallyModified() to call SkeletalRecompileChildren() on dependent BPs when the target is an interface BP.
- Modified FBlueprintEditorUtils::MarkBlueprintAsStructurallyModified::FRefreshHelper::SkeletalRecompileChildren() to set child BP status to BS_Dirty after compiling.
- Modified ConformInterfaceByName() (FBlueprintEditorUtils) to use the interface's skeleton class for function iteration as well as to match the Function Entry node's 'const' setting to the interface UFunction's signature.
Change 3483340 by Ben.Zeigler
Fix issue querying asset registry after a hot reload, make sure pending kill objects are never considered to be Assets
Change 3483548 by Michael.Noland
Epic Friday: Playing around with some prototype traps
Change 3483700 by Phillip.Kavan
Fix CIS cook crash introduced by last submit.
#rnx
Change 3485217 by Ben.Zeigler
#jira UE-45519 Fix regression introduced in 4.16 where it would no longer cook all maps when no explicit maps were specified in ini or game callback. Moved the code that detects changes before culture/default map code and hardened it to deal with the case where some engine packages were already in the list before it entered the function
Change 3485367 by Dan.Oconnor
Avoid adding mappings to anim node when creating variables on the skeleton class and using the compilation manager
#jira UE-45756
Change 3485565 by Ben.Zeigler
#jira UE-45948 Fix compilation manager to properly reset variable default values after promoting a pin to local variable
Change 3485566 by Marc.Audy
Fix crashes caused by undo/redo of user defined struct changes
#jira UE-45775
#jira UE-45781
Change 3485805 by Michael.Noland
PR #3459: Fix for world origin shifting and SpringArmComponent location lag (Contributed by michail-nikolaev)
#jira UE-43747
Change 3485807 by Michael.Noland
PR #3485: Added additional textures field to paper 2d tileset class (Contributed by gryphonmyers)
#jira UE-44041
Change 3485811 by Michael.Noland
Framework: Fixed a bug in FStreamLevelAction::MakeSafeLevelName to avoid appending the PIE prefix multiple times (fixes functions like Unload Streaming Level when passed a full package name from an instanced streaming level)
Change 3485829 by Michael.Noland
Framework: Made GetWorldAssetPackageFName BlueprintCallable so instanced levels can be unloaded
Change 3485830 by Michael.Noland
PR #3568: add API declarations to ALevelStreamingVolume methods (Contributed by kayama-shift)
#jira UE-45002
Change 3486039 by Michael.Noland
PR #3495: UE-44014: Refreshing node error fixes (Contributed by projectgheist)
- Empty out the ErrorMsg when a node gets refreshed to prevent the same error messages from compounding
- Added support for split pins in UK2Node_Event::IsFunctionEntryCompatible
- Added a missing check for the delegate pin name on the entry node part of UK2Node_Event::IsFunctionEntryCompatible
#jira UE-44014
Change 3486093 by Michael.Noland
PR #3379: Added GAMEPLAYABILITIES_API to all Ability Tasks. (Contributed by ryanjon2040)
#jira UE-42903
Change 3486139 by Michael.Noland
Blueprints: Added new config options for execution wire thickness when not debugging (DefaultExecutionWireThickness) and data wire thicknesses (DefaultDataWireThickness) to the Graph Editor Settings page
#rn
Change 3486154 by Michael.Noland
Framework: Speculative fix for CIS error about FStructOnScope
#rnx
Change 3486180 by Dan.Oconnor
Better match old logic for determining when to skip data only compile
#jira UE-45830
Change 3487276 by Marc.Audy
Fix crash when using Setter with a locally scoped variable
#rnx
Change 3487278 by Marc.Audy
Ensure that pin change notifications occur on all pin breaks unless it is part of a node being garbage collected
Change 3487658 by Marc.Audy
Ensure that child actor template is created for subclasses
#jira UE-45985
Change 3487699 by Marc.Audy
Move non-templated elements out of FArchiveReplaceObjectRef and put them in FArchiveReplaceObjectRefBase
Change 3487813 by Dan.Oconnor
Asset demonstrating a crash
Change 3488101 by Marc.Audy
Fix crash with spawn/construct actor/object from class nodes when they no longer had any pins.
Correctly orphan pins when a node goes to 0 pins.
Change 3488337 by Marc.Audy
Editable pin base should not manually remove pin and let reconstruct node and rewire pins do their job
#jira UE-46020
Change 3488512 by Dan.Oconnor
ConstructObject nodes and SubInstances nodes use skeleton class when compilation manager can provide it
#jira UE-45830, UE-45965
#rnx
Change 3488631 by Michael.Noland
Framework: Fixed a crash when loading a blueprint with a parent class of ALevelBounds caused by trying to register the class default object with a non-existent level
#jira UE-45630
Change 3488665 by Michael.Noland
Blueprints: Improve the details panel customization for optional pin nodes like Struct Member Get/Set
- The category, raw name, and tooltip of the property are now included as part of the filter text as well
- The property tooltip is now displayed when hovering over the property name
- Code updated to use GET_MEMBER_NAME_CHECKED() where appropriate
Change 3489324 by Marc.Audy
Fix recursion causing stack crash
#jira UE-46038
#rnx
Change 3489326 by Marc.Audy
Fix cooking crash
#jira UE-46031
#rnx
Change 3489687 by mason.seay
Assets for testing orphan pins
Change 3489701 by Marc.Audy
Back out changelist 3487278 and 3489443 and make targetted changes for fixing up orphan pin cases where changing connections doesn't remove the pin.
#jira UE-46051
#jira UE-46052
#rnx
Change 3490352 by Dan.Oconnor
Fix for missing WidgetTree on Skeleton class - just look directly at the WidgetBlueprint
#jira UE-46062
Change 3490814 by Marc.Audy
Make callfunction/macro instances save all pins in orphan state more similar to previous behavior
#rnx
Change 3491022 by Dan.Oconnor
Properly clean up 'Key' property when we fail to create a value property
#jira UE-45279
Change 3491071 by Ben.Zeigler
#jira UE-45981 Fix rotation issues, vector/rotator pins with empty strings were not matching due to uninitialized memory.
Change 3491244 by Michael.Noland
Blueprints: Add compile time message back to the output log (will not auto-open the output log if there were no warnings/errors)
#jira UE-32948
Change 3491276 by Michael.Noland
Blueprints: Fixed some bugs where a newly added item would fail show up in the "My Blueprints" tree if there was a filter active (e.g., when promoting a variable)
- Centralized the logic for clearing the filter so it happens when we try and fail to select the item, rather than ad hoc in various other places
- Made it only clear the filter if necessary, rather than (almost) always clearing it when adding an item
#jira UE-43372
Change 3491562 by Marc.Audy
Put back pin removal in to editable pin base and instead modify the pin destroy implementation to take down child split pins with it
#jira UE-46020
#rnx
Change 3491658 by Marc.Audy
Unify RemoveUserDefinedPin implementations. Use version that has break to avoid size change assert
#rnx
Change 3491946 by Marc.Audy
ReconstructSinglePin no longer destroys OldPin (avoids oprhaned sub pins being destroyed before reparented)
RewireOldPinsToNewPins now destroys OldPins at the end (calling code no longer reponsible)
DestroyImpl now prunes out SubPins that had already been trashed
#rnx
Change 3492040 by Marc.Audy
Discard exec/then pins from a callfunction that has been converted to a pure node
#rnx
Change 3492200 by Zak.Middleton
#ue4 - Always reset the input array in AActor::GetComponents(), but do so without affecting allocated size.
Fixes possible regression from CL 3359561 that removed the Reset(...) entirely.
#jira UE-46012
Change 3492290 by Ben.Zeigler
#jira UE-46108 Fix StringLibrary Mid to never crash, Substring had already been fixed
Change 3492311 by Marc.Audy
Don't clear the pin type if what you're connecting to's pin type is wildcard
#rnx
Change 3492680 by Dan.Oconnor
Handle missing generated class when using compilation manager - tested by forcing compile of BP_ParentClassIsMissingType.uasset
Change 3492826 by Marc.Audy
Don't do pin connection list change notifications from DestroyPins while regenerating on load
#jira UE-46112
#rnx
Change 3492851 by Michael.Noland
Core: Fixed various crashes when using UObject::CallFunctionByNameWithArguments with non-trivial argument types by properly initializing the allocated parameters
Change 3492852 by Michael.Noland
Framework: Fixed a crash if ACharacter::FindComponentByClass was passed a nullptr class
Change 3492934 by Marc.Audy
Fix ensure and crash delete macro containing orphaned pin
#rnx
Change 3493079 by Dan.Oconnor
Fix for crash when opening ThirdPersonAnimBlueprint and ThirdPersonAnimBlueprint_Perf then clicking 'Compile' button in ThirdPersonAnimBlueprint editor. Make sure the convenience members in the derived compilers get set when we relink child classes (which requires making cdos, which requires PropagateValuesToCDO..)
#rnx
Change 3493346 by Phillip.Kavan
#jira UE-40560 - Fix a reported crash when pasting nodes between unrelated Blueprint graphs.
Change summary:
- Modified FEdGraphUtilities::PostProcessPastedNodes() to ensure() on a NULL pin entry; this will allow execution to continue while still alerting us since it is an unexpected result. Also added an 'else' case to then remove the NULL entry so that PostPasteNode() implementations don't all have to guard against NULL pin entries. When the node is reconstructed, the NULL entry will be replaced with the correct pin initialized to its default values.
- Modified UEdGraphPin::ImportTextItem() to add some additional logging to parse error cases when importing pin properties from source T3D text. Hopefully this gives us more information when this is encountered in the future.
Change 3493938 by Michael.Noland
Blueprints: Prevent issues with renaming event dispatchers to contain periods (this may be disallowed in the future, but they no longer become uneditable)
#jira UE-45780
Change 3493945 by Michael.Noland
Blueprints: Fixed GetDelegatePoperty typos
#rnx
Change 3493997 by Michael.Noland
Blueprints: Partially reverting changes from CL# 3319966 to reroute nodes, restoring their alignment but losing the symmetrical grab handle changes
#jira UE-45760
Change 3493998 by Dan.Oconnor
Fix rare crash in RefreshStandAloneDefaultsEditor when the blueprint editor is opened and a blueprint had errors in it
Note: I stumbled across this by running a unit test and then opening a blueprint in the BPE. CrashReporter indicates 3 crashes in the last 3 days
Change 3494025 by Michael.Noland
Engine: Deleted some dead code (DEBUGGING_VIEWPORT_SIZES)
#rnx
Change 3494026 by Michael.Noland
Blueprints: V0 of a BlueprintCallable/BlueprintPure function fuzzer
- Calls exposed methods with default parameters on classes it is able to spawn for now, which catches crashes due to null and /0 but not out of bounds issues or ones on classes it can't spawn due to classwithin, abstract, etc...
- Can be called using Test.ScriptFuzzing, won't be integrated into automated tests until it is more fully fleshed out and all known issues are addressed
#rnx
Change 3496382 by Ben.Zeigler
Fix ensure when launching editor with cook on the side and incremental cooking enabled. It now flushes the background asset gather when calling the sync load all assets if one is in progress
Change 3496688 by Marc.Audy
Avoid crashing in component instance data if (for some reason) the Actor's root component isn't properly set up
#jira UE-46073
Change 3496830 by Michael.Noland
Editor: Change FEditorCategoryUtils methods to take UStruct* instead of UClass*, as they are just reading metadata
#rnx
Change 3496840 by Michael.Noland
Framework: Remove the requirement for a local player in UCheatManager::CheatScript, so it can be be started from the server side (doesn't change the availability of the cheat manager, just allows things like the redundant "cheat cheatscript scriptname" to work)
Change 3497038 by Michael.Noland
Fortnite: Added UFortDeveloperSettings to allow developers to auto-run cheats in PIE (does not occur in -game or outside of WITH_EDITOR builds)
- You can specify a list of cheat commands to run when a pawn is possessed (also needs CL# 3496840 for cheatscripts)
- You can also specify a set of items to grant to your local inventory when it is created
Change 3497204 by Marc.Audy
Fix AbilitySystemComponent not being blueprint readable.
#rnx
Change 3497668 by Mieszko.Zielinski
Fixed a crash in BT editor when dealing with enum-typed Blackboard-keys pointing to enum values that have been deleted #UE4
#jira UE-43659
Change 3497677 by Mieszko.Zielinski
Added a community-suggested working solution to patching up dynamic navmesh after world offset #UE4
Also, fixed a crash related to navmesh rebuilding if generation was configured to lazily gather navigatble geometry
#jira UE-41293
Change 3497678 by Mieszko.Zielinski
Marked AbstractNavData class as transient #UE4
We never want to save it to levels
Change 3497679 by Mieszko.Zielinski
Made NavModifierVolume responsive to editor-time property changes #UE4
#jira UE-32831
Change 3497900 by Dan.Oconnor
Fix bad skel reference when using construct object from class, just limiting scope of 3491946. To reproduce the bug just nativize QA Game, including the TM-Gameplay level
#rnx
Change 3497904 by Dan.Oconnor
Use K2Node_Event::FindEventSignatureFunction in order when directly generating the skeleton generated class to get event params correct
#jira UE-46153
#rnx
Change 3497907 by Dan.Oconnor
Correctly set blueprint visibility flags on params for inherited functions when generating the skeleton class
#rnx
#jira UE-46186
Change 3498218 by mason.seay
Updates to pin testing BP's
Change 3498323 by Mieszko.Zielinski
Made UNavCollision instance assigned to StaticMesh not get re-created from scratch every single time any StaticMesh property changes #UE4
Recreation was resulting in some of the UNavCollision's properties not getting saved and the way we were recreating the nav collision could also interfere with undo buffers
#jira UE-44891
Change 3499007 by Marc.Audy
Allow systems to hook Pre and PostCompile to do custom behaviors
Change 3499013 by Mieszko.Zielinski
Made AbstractNavData class non-transient again #UE4
Implemented AbstractNavData instances' transientness in a different manner.
#jira UE-46194
Change 3499204 by Mieszko.Zielinski
Introduced CrowdManagerBase, an engine-level class that can be extended to implement custom crowd management #Orion
Extracted FRecastQueryFilter into a separate file, which will break some peoples' compilation.
#jira UE-43799
Change 3499321 by mason.seay
Updated bp for struct testing
Change 3499388 by Marc.Audy
Allow the compiler log to store off potential messages from earlier in the compile cycle (early validation), that can be committed later (for example once pruning is completed).
Change 3499390 by Marc.Audy
Generate the orphan pin error messages during EarlyValidation, but cache until the regular validation phase. This ensures all are generated, but only those that aren't pruned will be emitted.
#rnx
Change 3499420 by Michael.Noland
Engine: Introduced a new version of UEngine::GetWorldFromContextObject which takes an enum specifying the behavior on failures and updated all existing uses
The new version intentionally does not have a default value for ErrorMode, callers need to think about which variant of behavior they want:
- ReturnNull: Silently returns nullptr, the calling code is expected to handle this gracefully
- LogAndReturnNull: Raises a runtime error but still returns nullptr, the calling code is expected to handle this gracefully
- Assert: Asserts, the calling code is not expecting to handle a failure gracefully
- Deprecated UEngine::GetWorldFromContextObject(object, boolean) and changed the default behavior for the deprecated instances to do LogAndReturnNull rather than Assert, based on the real-world call pattern
- Introduced GetWorldFromContextObjectChecked(object) as a shorthand for passing in EGetWorldErrorMode::Assert
- Made UObject::GetWorldChecked() actually assert if it would return nullptr (under some cases the old function could silently return nullptr while reporting bSupported = true, so it neither ensured nor checked)
- Fixed a race condition in the 'is implemented' bookkeeping logic in GetWorld()/GetWorldChecked() by confining it to the game thread and added a check() to ImplementsGetWorld() to make it clear that it only works on the game thread
The typical recommended call pattern is to use something like:
if (UWorld* World = GEngine->GetWorldFromContextObject(WorldContextObject, EGetWorldErrorMode::LogAndReturnNull))
{
... Do something with World
}
Handling the failure case but requesting a log message (with BP call stack printed out) if it failed. This is now also the default behavior for old calls to UEngine::GetWorldFromContextObject(Object) (using the default value of bChecked=true), which is a behavior change but it matches how the function was being used in practice; the vast majority of call sites actually expected it to potentially fail and handled the nullptr case gracefully; very few places used the return value unguarded and wanted it to assert when passed a nullptr.
#jira UE-42458
Change 3499429 by Michael.Noland
Engine: Removed a bogus TODO (the problematic code had already been reworked)
#rnx
Change 3499470 by Michael.Noland
Core: Improved and corrected the comment for ensure()
- It doesn't crash when checking is disabled (and hasn't since UE3, maybe ever?)
- It now only fires once per ensure() by default, added a note about ensureAlways()
#rnx
Change 3499643 by Marc.Audy
Use TGuardValue instead of manually managing it
#rnx
Change 3499874 by Marc.Audy
Display <Unnamed> instead of nothing for Pins with blank display name in the compiler log
Change 3499875 by Marc.Audy
When changing function parameter types, don't orphan a pin on the function entry/exit nodes (but do at the call sites)
#jira UE-46224
Change 3499927 by Dan.Oconnor
UField::Serialize no longer serialize's its next ptr, UStruct::Serialize serializes all Children properties instead. This resolves a hard circular dependency between function libraries that EDL detected. It was resolved in an ad hoc way by the old linker
#jira UE-43458
Change 3499953 by Michael.Noland
Core: Created a variant of ensure that does runtime error logging without stopping in the debugger and some related functions that print a warning or error and may trigger a BP callstack (under the same rules as FFrame::KismetExecutionMessage)
- These are WIP and the API may change in the future, but are being used to fix various crashes found by fuzzing BP exposed functions
Change 3499957 by Michael.Noland
Animation: Added runtime errors for nullptr ControlRigs passed into BP methods
#rnx
Change 3499958 by Michael.Noland
Blueprints: Changed an ensure in UKismetNodeHelperLibrary::GetValidValue to a runtime error
#rnx
Change 3499959 by Michael.Noland
Engine: Downgrade various checks() to ensures() in the runtime asset cache functions exposed to Blueprints
Change 3499960 by Michael.Noland
AI: Changed UBTFunctionLibrary to not check/ensure if passed a null world context object
Change 3499968 by Michael.Noland
Editor: Fixed a couple of crashes in UEditorLevelUtils when passed nullptr arguments, and reformatted the entire file to fix widespread indentation issues
#rnx
Change 3499969 by Michael.Noland
Engine: Changed the verbosity of the failure log message of UEngine::GetWorldFromContextObject(..., LogAndReturnNull) from Warning to Error, so it always prints out a BP callstack
#rnx
Change 3499973 by Michael.Noland
Rendering: Fixed asserts in various UKismetRenderingLibrary methods if passed a nullptr for the WorldContextObject
- Also fixed flipped warnings in the failure cases for EndDrawCanvasToRenderTarget
Change 3499979 by Michael.Noland
Editor: Prevented a crash in UMaterialEditingLibrary::RecompileMaterial when passed a nullptr material
Change 3499984 by Michael.Noland
Physics: Prevented a crash in UTraceQueryTestResults::AssertEqual when passed in nullptr for Expected
Change 3499993 by Michael.Noland
Blueprints: Added validation when renaming variables, functions, components, multicast delegates, etc... to prevent names from containing some unacceptable characters
- This validation only kicks in when trying to rename an item, so bad names in existing content are 'grandfathered in'
- These bad names can cause bugs when working with content that contains these characters (e.g., names that contain a period cannot be found via FindObject<T>)
- Currently only . is banned, but eventually we may expand it to include all of INVALID_OBJECTNAME_CHARACTERS
Change 3500009 by Michael.Noland
Blueprints: Made the fuzzer skip classes declared in UnrealEd for now (some of the exposed methods change global state that can cause other tests to fail as the fuzzer isn't particularly sandboxed ATM)
#rnx
Change 3500011 by Michael.Noland
Android: Fixed a crash in UAndroidPermissionFunctionLibrary::AcquirePermissions when called with an empty array on non-Android platforms
Change 3500012 by Michael.Noland
Editor: Prevent a crash in UEditorTutorial::OpenAsset when passed a nullptr Asset
Change 3500014 by Michael.Noland
Engine: Changed FRuntimeAssetCacheFilesystemBackend::ClearCache(NAME_None) to not try to clear all cache directories (there is a separate no-args method for that)
Change 3500019 by Michael.Noland
Core: Fixed some more issues with CallFunctionByNameWithArguments and initializing / destroying parameters
- It was skipping the return value and incorrectly relying on the FirstPropertyToInit list which isn't set for by ref arguments
Change 3500020 by Michael.Noland
Automation: Prevent UFunctionalTestingManager::RunAllFunctionalTests and UFunctionalTestingManager* UFunctionalTestingManager::GetManager from crashing when a manager cannot be created (because we can't route to a world)
Change 3501062 by Marc.Audy
MakeArray AddInputPin is often used as part of node expansion, so need to move the transaction out of the function
Fix inability to undo/redo pin additions to sequence node
Add a K2Node_AddPinInterface to generalize the interface that K2Nodes implement to interact with SGraphNodeK2Sequence so it can be more generally used
#jira UE-46164
#jira UE-46270
Change 3501330 by Michael.Noland
AI: Fix an error on shutdown when the CDO of UAIPerceptionComponent tries to clean up (as it was never registered in the first place)
#jira UE-46271
Change 3501356 by Marc.Audy
Fix crash when multi-editing actor blueprints
#jira UE-46248
Change 3501408 by Michael.Noland
Core: Improve the print-out of FFrame::GetStackTrace() / FFrame::GetScriptCallstack() when there is no script stack (e.g., when FFrame::KismetExecutionMessage is called by native code with no BP above in the call stack)
Change 3501457 by Phillip.Kavan
#jira UE-46054 - Fix crash when launching a packaged build that includes a nativized Blueprint instance with a ChildActorComponent instanced via an AddComponent node.
Change summary:
- Removed UK2Node_AddComponent::PostDuplicate(). This eliminates the creation of redundant component templates that were being unnecessarily created during the Blueprint duplication that precedes the nativization pass.
- Modified SMyBlueprint::OnDuplicateAction() to call MakeNewComponentTemplate() in response to a graph duplication action within the same Blueprint context (replaces previous UK2Node_AddComponent::PostDuplicate() impl).
- Modified FEmitDefaultValueHelper::HandleSpecialTypes() to force AddComponent-based CAC-owned template objects in the emitted codegen to use the UDynamicClass as the Outer when instancing. This matches what we already do for SCS-based CAC-owned template objects - that logic was added in CL# 3270456, and this matches up with FBlueprintNativeCodeGenModule::FindReplacedNameAndOuter(), where we specifically handle CAC-owned template objects.
Change 3502741 by Phillip.Kavan
#jira UE-45782 - Fix undo for index pin type changes.
Change summary:
- Modified SGraphPinIndex::OnTypeChanged() to call Modify() on the pin that was changed.
Change 3502939 by Michael.Noland
Back out changelist 3499927
Change 3503087 by Marc.Audy
Re-fixed ocean content as editor had also changed so had to take theirs and redo
#rnx
Change 3503266 by Ben.Zeigler
#jira UE-46335 Fix regression added in 4.16 where AssetRegistry GetAncesorClassNames/GetDerivedClassNames were not working properly in cooked builds for classes not in memory
Change 3503325 by mason.seay
updated Anim BP to prep for pin testing
Change 3503445 by Marc.Audy
Fix crash caused by OldPins being destroyed before rewiring
#rnx
Change 3505024 by Marc.Audy
Fix NodeEffectsPanel blueprint as it was using pins that no longer existed
#rnx
Change 3505254 by Marc.Audy
Don't include orphan pins when gather source property names
If a property doesn't exist for a source property name just skip the property rather than crashing
#jira UE-46345
#rnx
Change 3506125 by Ben.Zeigler
#jira UE-46311 Fix issues when blueprints are reloaded in place, it needs to remove them from root properly and sanitize the old class. It's still not clear why they are being reloaded in place
Change 3506334 by Dan.Oconnor
Move UAnimGraphNode_Base::PreloadRequiredAssets up to K2Node, make sure nodes get a chance to preload data before compilation manager compiles newly loaded blueprints
#jira UE-46411
Change 3506439 by Dan.Oconnor
Return to pre 3488512 behavior for construct object nodes. This means that we can still get warnings on load when users compile after saving a blueprint, but the current behavior loses default values because it's lookng at the skeleton cdo
#jira UE-46308
Change 3506468 by Dan.Oconnor
Return to pre 3488512 behavior, as it causes bad default values
#jira UE-46414
#rnx
Change 3506733 by Marc.Audy
Use the most up to date class to determine whether a property still exists when adding pins during reconstruction
#jira UE-45965
#author Dan.OConnor
#rnx
Change 3507531 by Ben.Zeigler
#jira UE-46449 Better fix to flush the asset registry queue when the editor requests a synchronous scan at startup. Sometimes it can take a few frames because of file handle delays
Change 3507924 by mason.seay
Sanity save of TM-Gameplay and sublevels to maybe resolve level streaming issues
Change 3507962 by Marc.Audy
Remake changes from CL# 3150796 wiped out by WEX-Staging merge to Main in CL# 3479958
#rnx
Change 3509131 by Dan.Oconnor
Compilation manager compile on load flow never called FindExportsInMemoryFirst, which is critical to prevent reloading of UBlueprintGeneratedClasses when Rename clears the export table
#jira UE-46311
Change 3509345 by Marc.Audy
CVar to disable orphan pins if necessary
#rnx
Change 3509959 by Marc.Audy
Protect against crashing due to large values in Timespan From functions
#jira UE-43840
Change 3510040 by Marc.Audy
Remove all the old unneeded ShooterGame test maps
#rnx
[CL 3510073 by Marc Audy in Main branch]
2017-06-26 15:07:18 -04:00
FActionList * ActionList = ActionRegistry . Find ( NodeSpawner - > NodeClass . Get ( ) ) ;
2014-09-26 11:31:34 -04:00
// Remove the NodeSpawner from the main registry, it will be replaced with the loaded version of the action
ActionList - > Remove ( NodeSpawner ) ;
}
// Remove the asset's path from the unloaded registry, it is no longer needed
UnloadedActionRegistry . Remove ( ObjectPath ) ;
}
}
//------------------------------------------------------------------------------
void FBlueprintActionDatabase : : MoveUnloadedAssetActions ( FName SourceObjectPath , FName TargetObjectPath )
{
// Check if the asset can be found in the unloaded action registry, if it can, we need to remove it and re-add under the new name
if ( TArray < UBlueprintNodeSpawner * > * UnloadedActionList = UnloadedActionRegistry . Find ( SourceObjectPath ) )
{
check ( ! UnloadedActionRegistry . Find ( TargetObjectPath ) ) ;
// Add the entire array to the database under the new path
UnloadedActionRegistry . Add ( TargetObjectPath , * UnloadedActionList ) ;
// Remove the old asset's path from the unloaded registry, it is no longer needed
UnloadedActionRegistry . Remove ( SourceObjectPath ) ;
}
}
2014-08-23 20:16:29 -04:00
//------------------------------------------------------------------------------
FBlueprintActionDatabase : : FActionRegistry const & FBlueprintActionDatabase : : GetAllActions ( )
2014-07-09 12:17:42 -04:00
{
// if this is the first time that we're querying for actions, generate the
// list before returning it
2014-08-23 20:16:29 -04:00
if ( ActionRegistry . Num ( ) = = 0 )
2014-07-09 12:17:42 -04:00
{
RefreshAll ( ) ;
}
2014-08-23 20:16:29 -04:00
return ActionRegistry ;
2014-07-09 12:17:42 -04:00
}
2014-08-13 16:29:51 -04:00
2014-08-23 20:16:29 -04:00
//------------------------------------------------------------------------------
void FBlueprintActionDatabase : : RegisterAllNodeActions ( FBlueprintActionDatabaseRegistrar & Registrar )
{
// nodes may have actions they wish to add for this asset
2018-05-30 14:47:08 -04:00
TArray < UClass * > NodeClassList ;
GetDerivedClasses ( UK2Node : : StaticClass ( ) , NodeClassList ) ;
2014-08-23 20:16:29 -04:00
2018-05-30 14:47:08 -04:00
for ( UClass * NodeClass : NodeClassList )
{
2014-08-23 20:16:29 -04:00
TGuardValue < TSubclassOf < UEdGraphNode > > ScopedNodeClass ( Registrar . GeneratingClass , NodeClass ) ;
BlueprintActionDatabaseImpl : : GetNodeSpecificActions ( NodeClass , Registrar ) ;
}
}
2015-01-15 15:57:51 -05:00
void FBlueprintActionDatabase : : OnBlueprintChanged ( UBlueprint * InBlueprint )
{
2015-04-11 10:23:56 -04:00
if ( InBlueprint - > BlueprintType = = BPTYPE_LevelScript )
{
// Levelscript blueprints are managed through their owning worlds.
RefreshWorlds ( ) ;
}
else
{
BlueprintActionDatabaseImpl : : OnBlueprintChanged ( InBlueprint ) ;
}
2015-01-15 15:57:51 -05:00
}
2014-08-13 16:29:51 -04:00
# undef LOCTEXT_NAMESPACE