Files
UnrealEngineUWP/Engine/Source/Editor/BlueprintGraph/Private/BlueprintComponentNodeSpawner.cpp

323 lines
13 KiB
C++
Raw Normal View History

// Copyright Epic Games, Inc. All Rights Reserved.
#include "BlueprintComponentNodeSpawner.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/Blueprint.h"
#include "GameFramework/Actor.h"
#include "Engine/BlueprintGeneratedClass.h"
#include "EdGraphSchema_K2.h"
#include "K2Node_AddComponent.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/BlueprintEditorUtils.h"
#include "Kismet2/KismetEditorUtilities.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 "Styling/SlateIconFinder.h"
#include "BlueprintNodeTemplateCache.h"
#include "ComponentAssetBroker.h"
#include "ComponentTypeRegistry.h"
Exclude node spawner actions for non-imported component types from the Blueprint graph context menu when Blueprint namespace editor features are enabled. Change summary: - Extended FBlueprintActionContext to include a weak ptr to the current IBlueprintEditor context. - Added ENUM_CLASS_FLAGS() for the FBlueprintActionFilter::EFlags enumeration (for use as bitflags). - Deprecated the current FBlueprintActionFilter constructor, replaced with a more explicitly-typed EFlags param. - FBlueprintActionFilter now internally stores its filter flags. Also added FBlueprintActionFilter::HasAnyFlags/HasAllFlags(). - Minor refactor to a few action filter delegates to query the filter flags locally rather than add bool flags to delegate payloads. - The FBlueprintActionFilter constructor now unsets the non-imported filter flag if Blueprint namespace editor settings are disabled. - BlueprintActionFilterImpl::IsNonImportedObject() now utilizes the filter context rather than iterate the Blueprints array to find open asset editors. - Added an override for UBlueprintComponentNodeSpawner::IsTemplateNodeFilteredOut(). This is now used to filter out any loaded or unloaded BP component types from the context menu. - Cleaned up display inconsistencies in the menu UI spec between loaded vs. unloaded "Add Component" node spawner actions in the context menu. - Added an FSoftObjectPath variant of IBlueprintEditor::IsNonImportedObject() (to support unloaded non-native component type entries which store the class object path). Implemented as FBlueprintEditor::IsNonImportedObject(FSoftObjectPath). - Added an override for UK2Node_DynamicCast::IsActionFilteredOut() to exclude cast operator actions for non-native component types if they are not imported into the current editor context. - Modified SBlueprintActionMenu, SBlueprintFavoritesPalette and SBlueprintLibraryPalette to include the current editor context in applicable action filter context(s). #jira UE-149760 #rb Ben.Hoffman #preflight 62753dd9e31cfc52d5bd0539 [CL 20077282 by Phillip Kavan in ue5-main branch]
2022-05-06 11:49:20 -04:00
#include "BlueprintEditorModule.h"
#define LOCTEXT_NAMESPACE "BlueprintComponenetNodeSpawner"
/*******************************************************************************
* Static UBlueprintComponentNodeSpawner Helpers
******************************************************************************/
namespace BlueprintComponentNodeSpawnerImpl
{
Exclude node spawner actions for non-imported component types from the Blueprint graph context menu when Blueprint namespace editor features are enabled. Change summary: - Extended FBlueprintActionContext to include a weak ptr to the current IBlueprintEditor context. - Added ENUM_CLASS_FLAGS() for the FBlueprintActionFilter::EFlags enumeration (for use as bitflags). - Deprecated the current FBlueprintActionFilter constructor, replaced with a more explicitly-typed EFlags param. - FBlueprintActionFilter now internally stores its filter flags. Also added FBlueprintActionFilter::HasAnyFlags/HasAllFlags(). - Minor refactor to a few action filter delegates to query the filter flags locally rather than add bool flags to delegate payloads. - The FBlueprintActionFilter constructor now unsets the non-imported filter flag if Blueprint namespace editor settings are disabled. - BlueprintActionFilterImpl::IsNonImportedObject() now utilizes the filter context rather than iterate the Blueprints array to find open asset editors. - Added an override for UBlueprintComponentNodeSpawner::IsTemplateNodeFilteredOut(). This is now used to filter out any loaded or unloaded BP component types from the context menu. - Cleaned up display inconsistencies in the menu UI spec between loaded vs. unloaded "Add Component" node spawner actions in the context menu. - Added an FSoftObjectPath variant of IBlueprintEditor::IsNonImportedObject() (to support unloaded non-native component type entries which store the class object path). Implemented as FBlueprintEditor::IsNonImportedObject(FSoftObjectPath). - Added an override for UK2Node_DynamicCast::IsActionFilteredOut() to exclude cast operator actions for non-native component types if they are not imported into the current editor context. - Modified SBlueprintActionMenu, SBlueprintFavoritesPalette and SBlueprintLibraryPalette to include the current editor context in applicable action filter context(s). #jira UE-149760 #rb Ben.Hoffman #preflight 62753dd9e31cfc52d5bd0539 [CL 20077282 by Phillip Kavan in ue5-main branch]
2022-05-06 11:49:20 -04:00
//------------------------------------------------------------------------------
static FText GetMenuCategoryFormat()
{
Exclude node spawner actions for non-imported component types from the Blueprint graph context menu when Blueprint namespace editor features are enabled. Change summary: - Extended FBlueprintActionContext to include a weak ptr to the current IBlueprintEditor context. - Added ENUM_CLASS_FLAGS() for the FBlueprintActionFilter::EFlags enumeration (for use as bitflags). - Deprecated the current FBlueprintActionFilter constructor, replaced with a more explicitly-typed EFlags param. - FBlueprintActionFilter now internally stores its filter flags. Also added FBlueprintActionFilter::HasAnyFlags/HasAllFlags(). - Minor refactor to a few action filter delegates to query the filter flags locally rather than add bool flags to delegate payloads. - The FBlueprintActionFilter constructor now unsets the non-imported filter flag if Blueprint namespace editor settings are disabled. - BlueprintActionFilterImpl::IsNonImportedObject() now utilizes the filter context rather than iterate the Blueprints array to find open asset editors. - Added an override for UBlueprintComponentNodeSpawner::IsTemplateNodeFilteredOut(). This is now used to filter out any loaded or unloaded BP component types from the context menu. - Cleaned up display inconsistencies in the menu UI spec between loaded vs. unloaded "Add Component" node spawner actions in the context menu. - Added an FSoftObjectPath variant of IBlueprintEditor::IsNonImportedObject() (to support unloaded non-native component type entries which store the class object path). Implemented as FBlueprintEditor::IsNonImportedObject(FSoftObjectPath). - Added an override for UK2Node_DynamicCast::IsActionFilteredOut() to exclude cast operator actions for non-native component types if they are not imported into the current editor context. - Modified SBlueprintActionMenu, SBlueprintFavoritesPalette and SBlueprintLibraryPalette to include the current editor context in applicable action filter context(s). #jira UE-149760 #rb Ben.Hoffman #preflight 62753dd9e31cfc52d5bd0539 [CL 20077282 by Phillip Kavan in ue5-main branch]
2022-05-06 11:49:20 -04:00
return LOCTEXT("ComponentCategory", "Add Component|{0}");
}
Exclude node spawner actions for non-imported component types from the Blueprint graph context menu when Blueprint namespace editor features are enabled. Change summary: - Extended FBlueprintActionContext to include a weak ptr to the current IBlueprintEditor context. - Added ENUM_CLASS_FLAGS() for the FBlueprintActionFilter::EFlags enumeration (for use as bitflags). - Deprecated the current FBlueprintActionFilter constructor, replaced with a more explicitly-typed EFlags param. - FBlueprintActionFilter now internally stores its filter flags. Also added FBlueprintActionFilter::HasAnyFlags/HasAllFlags(). - Minor refactor to a few action filter delegates to query the filter flags locally rather than add bool flags to delegate payloads. - The FBlueprintActionFilter constructor now unsets the non-imported filter flag if Blueprint namespace editor settings are disabled. - BlueprintActionFilterImpl::IsNonImportedObject() now utilizes the filter context rather than iterate the Blueprints array to find open asset editors. - Added an override for UBlueprintComponentNodeSpawner::IsTemplateNodeFilteredOut(). This is now used to filter out any loaded or unloaded BP component types from the context menu. - Cleaned up display inconsistencies in the menu UI spec between loaded vs. unloaded "Add Component" node spawner actions in the context menu. - Added an FSoftObjectPath variant of IBlueprintEditor::IsNonImportedObject() (to support unloaded non-native component type entries which store the class object path). Implemented as FBlueprintEditor::IsNonImportedObject(FSoftObjectPath). - Added an override for UK2Node_DynamicCast::IsActionFilteredOut() to exclude cast operator actions for non-native component types if they are not imported into the current editor context. - Modified SBlueprintActionMenu, SBlueprintFavoritesPalette and SBlueprintLibraryPalette to include the current editor context in applicable action filter context(s). #jira UE-149760 #rb Ben.Hoffman #preflight 62753dd9e31cfc52d5bd0539 [CL 20077282 by Phillip Kavan in ue5-main branch]
2022-05-06 11:49:20 -04:00
//------------------------------------------------------------------------------
static FText GetDefaultMenuCategory(const TSubclassOf<UActorComponent> ComponentClass)
{
Exclude node spawner actions for non-imported component types from the Blueprint graph context menu when Blueprint namespace editor features are enabled. Change summary: - Extended FBlueprintActionContext to include a weak ptr to the current IBlueprintEditor context. - Added ENUM_CLASS_FLAGS() for the FBlueprintActionFilter::EFlags enumeration (for use as bitflags). - Deprecated the current FBlueprintActionFilter constructor, replaced with a more explicitly-typed EFlags param. - FBlueprintActionFilter now internally stores its filter flags. Also added FBlueprintActionFilter::HasAnyFlags/HasAllFlags(). - Minor refactor to a few action filter delegates to query the filter flags locally rather than add bool flags to delegate payloads. - The FBlueprintActionFilter constructor now unsets the non-imported filter flag if Blueprint namespace editor settings are disabled. - BlueprintActionFilterImpl::IsNonImportedObject() now utilizes the filter context rather than iterate the Blueprints array to find open asset editors. - Added an override for UBlueprintComponentNodeSpawner::IsTemplateNodeFilteredOut(). This is now used to filter out any loaded or unloaded BP component types from the context menu. - Cleaned up display inconsistencies in the menu UI spec between loaded vs. unloaded "Add Component" node spawner actions in the context menu. - Added an FSoftObjectPath variant of IBlueprintEditor::IsNonImportedObject() (to support unloaded non-native component type entries which store the class object path). Implemented as FBlueprintEditor::IsNonImportedObject(FSoftObjectPath). - Added an override for UK2Node_DynamicCast::IsActionFilteredOut() to exclude cast operator actions for non-native component types if they are not imported into the current editor context. - Modified SBlueprintActionMenu, SBlueprintFavoritesPalette and SBlueprintLibraryPalette to include the current editor context in applicable action filter context(s). #jira UE-149760 #rb Ben.Hoffman #preflight 62753dd9e31cfc52d5bd0539 [CL 20077282 by Phillip Kavan in ue5-main branch]
2022-05-06 11:49:20 -04:00
TArray<FString> ClassGroupNames;
ComponentClass->GetClassGroupNames(ClassGroupNames);
static const FText DefaultClassGroup(LOCTEXT("DefaultClassGroup", "Common"));
// 'Common' takes priority over other class groups
if (ClassGroupNames.Contains(DefaultClassGroup.ToString()) || (ClassGroupNames.Num() == 0))
{
return DefaultClassGroup;
}
return FText::FromString(ClassGroupNames[0]);
}
}
/*******************************************************************************
* UBlueprintComponentNodeSpawner
******************************************************************************/
//------------------------------------------------------------------------------
UBlueprintComponentNodeSpawner* UBlueprintComponentNodeSpawner::Create(const FComponentTypeEntry& Entry)
{
Exclude node spawner actions for non-imported component types from the Blueprint graph context menu when Blueprint namespace editor features are enabled. Change summary: - Extended FBlueprintActionContext to include a weak ptr to the current IBlueprintEditor context. - Added ENUM_CLASS_FLAGS() for the FBlueprintActionFilter::EFlags enumeration (for use as bitflags). - Deprecated the current FBlueprintActionFilter constructor, replaced with a more explicitly-typed EFlags param. - FBlueprintActionFilter now internally stores its filter flags. Also added FBlueprintActionFilter::HasAnyFlags/HasAllFlags(). - Minor refactor to a few action filter delegates to query the filter flags locally rather than add bool flags to delegate payloads. - The FBlueprintActionFilter constructor now unsets the non-imported filter flag if Blueprint namespace editor settings are disabled. - BlueprintActionFilterImpl::IsNonImportedObject() now utilizes the filter context rather than iterate the Blueprints array to find open asset editors. - Added an override for UBlueprintComponentNodeSpawner::IsTemplateNodeFilteredOut(). This is now used to filter out any loaded or unloaded BP component types from the context menu. - Cleaned up display inconsistencies in the menu UI spec between loaded vs. unloaded "Add Component" node spawner actions in the context menu. - Added an FSoftObjectPath variant of IBlueprintEditor::IsNonImportedObject() (to support unloaded non-native component type entries which store the class object path). Implemented as FBlueprintEditor::IsNonImportedObject(FSoftObjectPath). - Added an override for UK2Node_DynamicCast::IsActionFilteredOut() to exclude cast operator actions for non-native component types if they are not imported into the current editor context. - Modified SBlueprintActionMenu, SBlueprintFavoritesPalette and SBlueprintLibraryPalette to include the current editor context in applicable action filter context(s). #jira UE-149760 #rb Ben.Hoffman #preflight 62753dd9e31cfc52d5bd0539 [CL 20077282 by Phillip Kavan in ue5-main branch]
2022-05-06 11:49:20 -04:00
using namespace BlueprintComponentNodeSpawnerImpl;
UClass* ComponentClass = Entry.ComponentClass;
if (ComponentClass == nullptr)
{
// unloaded class, must be blueprint created. Create an entry. We'll load the class when we spawn the node:
UBlueprintComponentNodeSpawner* NodeSpawner = NewObject<UBlueprintComponentNodeSpawner>(GetTransientPackage());
NodeSpawner->ComponentClass = nullptr;
NodeSpawner->NodeClass = UK2Node_AddComponent::StaticClass();
NodeSpawner->ComponentName = Entry.ComponentName;
NodeSpawner->ComponentAssetName = Entry.ComponentAssetName;
FBlueprintActionUiSpec& MenuSignature = NodeSpawner->DefaultMenuSignature;
FText const ComponentTypeName = FText::FromString(Entry.ComponentName);
MenuSignature.MenuName = FText::Format(LOCTEXT("AddComponentMenuName", "Add {0}"), ComponentTypeName);
Exclude node spawner actions for non-imported component types from the Blueprint graph context menu when Blueprint namespace editor features are enabled. Change summary: - Extended FBlueprintActionContext to include a weak ptr to the current IBlueprintEditor context. - Added ENUM_CLASS_FLAGS() for the FBlueprintActionFilter::EFlags enumeration (for use as bitflags). - Deprecated the current FBlueprintActionFilter constructor, replaced with a more explicitly-typed EFlags param. - FBlueprintActionFilter now internally stores its filter flags. Also added FBlueprintActionFilter::HasAnyFlags/HasAllFlags(). - Minor refactor to a few action filter delegates to query the filter flags locally rather than add bool flags to delegate payloads. - The FBlueprintActionFilter constructor now unsets the non-imported filter flag if Blueprint namespace editor settings are disabled. - BlueprintActionFilterImpl::IsNonImportedObject() now utilizes the filter context rather than iterate the Blueprints array to find open asset editors. - Added an override for UBlueprintComponentNodeSpawner::IsTemplateNodeFilteredOut(). This is now used to filter out any loaded or unloaded BP component types from the context menu. - Cleaned up display inconsistencies in the menu UI spec between loaded vs. unloaded "Add Component" node spawner actions in the context menu. - Added an FSoftObjectPath variant of IBlueprintEditor::IsNonImportedObject() (to support unloaded non-native component type entries which store the class object path). Implemented as FBlueprintEditor::IsNonImportedObject(FSoftObjectPath). - Added an override for UK2Node_DynamicCast::IsActionFilteredOut() to exclude cast operator actions for non-native component types if they are not imported into the current editor context. - Modified SBlueprintActionMenu, SBlueprintFavoritesPalette and SBlueprintLibraryPalette to include the current editor context in applicable action filter context(s). #jira UE-149760 #rb Ben.Hoffman #preflight 62753dd9e31cfc52d5bd0539 [CL 20077282 by Phillip Kavan in ue5-main branch]
2022-05-06 11:49:20 -04:00
// Note: Non-native (i.e. BP) component types are automatically assigned to the "Custom" group name.
// => @see FBlueprintEditorUtils::RecreateClassMetaData()
MenuSignature.Category = FText::Format(GetMenuCategoryFormat(), LOCTEXT("BlueprintComponentCategory", "Custom"));
MenuSignature.Tooltip = FText::Format(LOCTEXT("AddComponentTooltip", "Spawn a {0}"), ComponentTypeName);
// add at least one character, so that PrimeDefaultUiSpec() doesn't
// attempt to query the template node
if (MenuSignature.Keywords.IsEmpty())
{
MenuSignature.Keywords = FText::FromString(TEXT(" "));
}
Exclude node spawner actions for non-imported component types from the Blueprint graph context menu when Blueprint namespace editor features are enabled. Change summary: - Extended FBlueprintActionContext to include a weak ptr to the current IBlueprintEditor context. - Added ENUM_CLASS_FLAGS() for the FBlueprintActionFilter::EFlags enumeration (for use as bitflags). - Deprecated the current FBlueprintActionFilter constructor, replaced with a more explicitly-typed EFlags param. - FBlueprintActionFilter now internally stores its filter flags. Also added FBlueprintActionFilter::HasAnyFlags/HasAllFlags(). - Minor refactor to a few action filter delegates to query the filter flags locally rather than add bool flags to delegate payloads. - The FBlueprintActionFilter constructor now unsets the non-imported filter flag if Blueprint namespace editor settings are disabled. - BlueprintActionFilterImpl::IsNonImportedObject() now utilizes the filter context rather than iterate the Blueprints array to find open asset editors. - Added an override for UBlueprintComponentNodeSpawner::IsTemplateNodeFilteredOut(). This is now used to filter out any loaded or unloaded BP component types from the context menu. - Cleaned up display inconsistencies in the menu UI spec between loaded vs. unloaded "Add Component" node spawner actions in the context menu. - Added an FSoftObjectPath variant of IBlueprintEditor::IsNonImportedObject() (to support unloaded non-native component type entries which store the class object path). Implemented as FBlueprintEditor::IsNonImportedObject(FSoftObjectPath). - Added an override for UK2Node_DynamicCast::IsActionFilteredOut() to exclude cast operator actions for non-native component types if they are not imported into the current editor context. - Modified SBlueprintActionMenu, SBlueprintFavoritesPalette and SBlueprintLibraryPalette to include the current editor context in applicable action filter context(s). #jira UE-149760 #rb Ben.Hoffman #preflight 62753dd9e31cfc52d5bd0539 [CL 20077282 by Phillip Kavan in ue5-main branch]
2022-05-06 11:49:20 -04:00
// Note: Currently using whatever styling is in place for UActorComponent. Note that the actual
// class when loaded could be a USceneComponent derivative, in which case it might end up having
// an alternate styling. For now just going with this as the placeholder to match the basic type.
MenuSignature.Icon = FSlateIconFinder::FindIconForClass(UActorComponent::StaticClass());
MenuSignature.DocLink = TEXT("Shared/GraphNodes/Blueprint/UK2Node_AddComponent");
MenuSignature.DocExcerptTag = TEXT("AddComponent");
return NodeSpawner;
}
if (!FKismetEditorUtilities::IsClassABlueprintSpawnableComponent(ComponentClass))
{
// loaded class that is marked as abstract or not spawnable, don't create an entry:
return nullptr;
}
Copying //UE4/Release-Staging-4.12 to //UE4/Main (Source: //UE4/Release-4.12 @ 2992821) ========================== MAJOR FEATURES + CHANGES ========================== Change 2992821 on 2016/05/27 by Max.Chen Subway Sequencer: Add "Assets" and "Character" to the list of additional directories to cook. #jira UE-31279 #lockdown Cristina.Riveron Change 2992761 on 2016/05/27 by Max.Chen Add assets from "Directories to Always Cook". #jira UE-31279 #lockdown Cristina.Riveron Change 2992371 on 2016/05/26 by Dmitry.Rekman Fix GUBP Tools node (UE-31378). #jira UE-31378 #lockdown Josh.Adams Change 2992279 on 2016/05/26 by Dmitry.Rekman One more fix for UAT compilation failure (UE-31312). - Make EnvVarsToXML target framework v4.5. #lockdown Josh.Adams #jira UE-31312 Change 2992060 on 2016/05/26 by Josh.Adams - Reset PVRTC compression quality to default, so cooks don't take forever for IOS. We shipped with PVRTC Quality 4 for the App Store version. This is set in the Cooker Settings in the Project Settings window. #lockdown cristina.riveron #jira UE-31373 Change 2992009 on 2016/05/26 by Dmitry.Rekman Fix packaging on Linux (UE-31312). - System.Xml was spelled as System.XML. #jira UE-31312 #lockdown Josh.Adams Change 2991784 on 2016/05/26 by Martin.Wilson Fix for RecalcRequiredBones crashing when there is no lod data #jira UE-30028 #lockdown cristina.riveron Change 2991744 on 2016/05/26 by Dmitry.Rekman Fix Linux code project generation (UE-31322). - Also fixes UE-31318 (not reopening when creating BP project). - Apparently, we cannot reset all signals to default, this makes posix_spawn() fail after fork (child exits with 127). - Added logging of child's return code. #lockdown Josh.Adams #jira UE-31322 #jira UE-31318 Change 2991448 on 2016/05/26 by Nick.Darnell Disabling the logging in the git module that was added from the previous commit. #jira UE-30781 #lockdown cristina.riveron Change 2991352 on 2016/05/26 by Max.Chen Subway Sequencer: Add "Sequencer" to the list of additional directories to cook. #jira UE-31279 #lockdown Cristina.Riveron Change 2991121 on 2016/05/26 by Ben.Marsh Fix ShooterGame warnings on XboxOne. #lockdown cristina.riveron Change 2991097 on 2016/05/26 by Nick.Darnell PR #2386: Git Plugin: fix initialization of a new repository broken by new "migrate" support 4.12 (Contributed by SRombauts) #jira UE-30781 #lockdown cristina.riveron Change 2991095 on 2016/05/26 by Dmitry.Rekman Fix packaging on Linux (UE-31312). - Excludes UAT modules unsupported on the platform (e.g. TVOS). #jira UE-31312 #lockdown Josh.Adams Change 2990806 on 2016/05/25 by Michael.Gay Last minute adjustments to SubwaySequencer shots. Fixed Fade track on master and moved Event tracks to shots. #jira UE-30804 #lockdown Cristina.Riveron Change 2990739 on 2016/05/25 by Dan.Oconnor Fix for transaction buffer failing to restore preview widget trees, these are regenerated post undo/redo and should not be tagged as transactional #jira UE-31155 #lockdown cristina.riveron Change 2990657 on 2016/05/25 by Dmitry.Rekman Fix crash in mono when invoked by the engine (UE-31312). - Reset signal mask on spawning a subprocess. We mask out all signals except explicitly handled, which does not play well with mono. - See also https://answers.unrealengine.com/questions/420161/mono-process-crash.html #jira UE-31312 #lockdown Josh.Adams Change 2990564 on 2016/05/25 by Marc.Audy Undo 4.12 change to DetachFromParent when AttachTo is called with a null parent. #jira UE-00000 #lockdown Cristina.Riveron Change 2990429 on 2016/05/25 by Max.Chen Movie Capture: Fix initialization order warning. Follow up to CL #2990314 #jira UE-31285 #lockdown Nick.Penwarden Change 2990338 on 2016/05/25 by Zabir.Hoque TEMP Fix: On server enqued render thread work is dropped. So on server release Reflection capture resouce immediately instead of trying to defer enque. #jira UE-28838 #lockdown cristina.riveron Change 2990314 on 2016/05/25 by Max.Chen Movie Capture: Flush the viewport when grabbing frames. This fixes more frame accuracy issues. #jira UE-31285 #lockdown Nick.Penwarden Change 2990249 on 2016/05/25 by Max.Chen Sequencer: Fix tick prerequisites getting removed on stop and not re-set on play. This fixes frame accuracies when rendering in a separate process. #jira UE-31285 #lockdown Nick.Penwarden Change 2990243 on 2016/05/25 by Lukasz.Furman Fixed behavior tree observers not being applied correctly #jira UE-31307 #lockdown Cristina.Riveron Change 2990206 on 2016/05/25 by Daniel.Lamb Make sure min number of threads in the large thread pool is at least 2. #jira UE-31253 #lockdown Cristina.Riveron Change 2990182 on 2016/05/25 by Max.Chen Sequencer: Fix null ptr crash on trying to record from current player. This is a regression from the off by one frame fixes. #jira UE-31304 #lockdown Nick.Penwarden Change 2990124 on 2016/05/25 by Chris.Bunner Avoid creating additional inline code fragment casting matching uniform types. #lockdown cristina.riveron #jira UE-29089 Change 2989978 on 2016/05/25 by Uriel.Doyon Merged fix for issue with resolution scale in PostProcessVisualizeComplexity #jira UE-29473 #lockdown cristina.riveron Change 2989970 on 2016/05/25 by Taizyd.Korambayil #lockdown cristina.riveron #jira UE-31293 Added TestMaps Folder and moved all Non-Relevant Maps into it. Change 2989911 on 2016/05/25 by Chris.Babcock Remove warning about Android debugging since CodeWorks for Android Nsight supports VS2015 #jira UE-31292 #ue4 #android #lockdown cristina.riveron Change 2989898 on 2016/05/25 by Robert.Manuszewski Splitting inline shader registration from serialization. Serialization can happen on the async loading thread but registration should only happen on the game thread. Removed a lot of critical section locks. Reimplementing CL #2952596 #jira UE-29245 #lockdown Nick.Penwarden Change 2989849 on 2016/05/25 by Max.Preussner Sequencer: Fixed Crash when playing UMG sequence with audio tracks (UE-31289) #jira UE-31289 #lockdown nick.penwarden Change 2989793 on 2016/05/25 by Max.Chen Sequencer: Change automated capture so it captures in response to a sequence update to fix off by one frames. #jira UE-30755 #lockdown Nick.Penwarden Change 2989792 on 2016/05/25 by Max.Chen Sequencer: Put back setting MaxFPS when forcing fixed frame interval playback to fix motion blur in editor. #jira UE-30755 #lockdown Nick.Penwarden Change 2989774 on 2016/05/25 by Mike.Beach Mirroring CL 2946932 Guarding against invalid EdGraphPins (ones that have been moved to the transient package) when constructing the widget - prevents a crash that we've been unable to repro or determine the cause of (turns it instead into an ensure, so we can collect more contextual information on the issue). #lockdown cristina.riveron #jira UE-26998 Change 2989765 on 2016/05/25 by Olaf.Piesche Moivng CL 2967970 from Dev-Rendering - fix for #jira UE-27297 #lockdown nick.penwarden Change 2989481 on 2016/05/25 by Marc.Audy Properly route AttachToComponent to SetupAttachment if called from the constructor #jira UE-31055 #lockdown Cristina.Riveron Change 2989369 on 2016/05/25 by Robert.Manuszewski Don't create asset import data for archetype TileMap. Propagate component flags to TileMap if the component is an archetype. #jira UE-31033 #lockdown Nick.Penwarden Change 2988975 on 2016/05/24 by Max.Preussner Sequencer: Fixed Cinematic Camera look at tool crashes on auto save (UE-31195) #jira UE-31195 #lockdown nick.penwarden Change 2988834 on 2016/05/24 by Max.Chen Movie Capture: Crash fix - Protect against null encoding filter. #jira UE-31233 #lockdown Nick.Penwarden Change 2988764 on 2016/05/24 by Peter.Sauerbrei fix for exception when deploying to tvOS from PC #jira UE-30318 #lockdown cristina.riveron Change 2988540 on 2016/05/24 by Jeff.Campeau Disable incompatible OpenVR for Windows XP builds. Gut SteamVR and SteamVRController for Windows XP builds (rely on OpenVR). #lockdown Nick.Penwarden #jira UE-30823 Change 2988491 on 2016/05/24 by Zak.Middleton #ue4 - (4.12) Remove version check from serialization logic that fixes up stale transient properties. They would still loaded for archetypes and we always want to prevent that in the future. #lockdown cristina.riveron #jira UE-30625 Change 2988427 on 2016/05/24 by Aaron.McLeran #jira UE-31028 Stop Quietest Concurrency does not remove the quietest sound Fix is to not re-add the sound once its stopped due to max concurrency. #tests ran the QA test map that demonstrated the problem #lockdown cristina.riveron Change 2988391 on 2016/05/24 by Taizyd.Korambayil #lockdown cristina.riveron #jira UE-30301 Rebuilt Ligthing for all Content Example Maps Change 2988315 on 2016/05/24 by Allan.Bentham Re-enabled FLUTBlenderPS on vulkan devices. (it's required for protostar) #jira UE-31079 Change 2988227 on 2016/05/24 by Frank.Fella Sequencer - Add support for forcing editor and runtime evaluation to happen on exact fixed frame intervals. Updated the subway sequencer sample to work with these changes. Change missed in first checkin. #Jira UE-30755 Change 2988200 on 2016/05/24 by Robert.Manuszewski Assert if MaxObjectsInEditor or MaxObjectsInGame are too big and collide with EInternalObjectFlags #jira UE-31218 Change 2988181 on 2016/05/24 by Peter.Sauerbrei revert out the last fix and add more logging as I can't reproduce this bug #jira UE-30813 Change 2988140 on 2016/05/24 by Frank.Fella Sequencer - Add support for forcing editor and runtime evaluation to happen on exact fixed frame intervals. Updated the subway sequencer sample to work with these changes. #Jira UE-30755 Change 2988081 on 2016/05/24 by Jamie.Dale Better fix for UE-29651 that will also work with packages saved from a build without an engine version There was no version bump for the change to FFormatArgumentData, but VER_UE4_K2NODE_VAR_REFERENCEGUIDS was added at almost the same time so testing that should handle the vast majority of packages that we have internally, and will handle all external packages. #jira UE-29651 Change 2987964 on 2016/05/24 by Lee.Clark Fix empty ENV path when compiling PS4 targets. #jira UE-31210 Change 2987721 on 2016/05/23 by Dan.Oconnor Reworking node validation change done in 2910382 so that nodes that are going to spawn other nodes in the expansion step are still validated. #jira UE-31099 Change 2987696 on 2016/05/23 by Chris.Babcock Update AndroidWorks 1R1 to CodeWorks for Android 1R4 #jira UEPLAT-1312 #ue4 #android Change 2987624 on 2016/05/23 by Jeff.Campeau Fix a define protection for WinXP stack walking support. #jira UE-30823 Change 2987607 on 2016/05/23 by Jeff.Campeau Windows Stack Walk fixed to work with Windows XP. Use the ASCII calls where needed. Symbol server is unsupported and is disabled when building for Windows XP. #jira UE-30823 Change 2987593 on 2016/05/23 by Zak.Middleton #ue4 - (4.12) Reject old serialized values of UMovementComponent::UpdatedComponent and UpdatedPrimitive that were saved before those were marked transient. Mark UPawnMovementComponent::PawnOwner and UCharacterMovementComponent::CharacterOwner as transient, and similarly reject old saved values. #jira UE-30625 Change 2987548 on 2016/05/23 by Lukasz.Furman Moved newly added gameplay debugger's code out of perception component #jira UE-31090 Change 2987510 on 2016/05/23 by Lukasz.Furman Restored perception category in old gameplay debugger tool #jira UE-31090 Change 2987278 on 2016/05/23 by Ben.Marsh Rocket: Add Mac GenerateProjectFiles.sh script into installed engine distro. #jira UE-31109 Change 2987156 on 2016/05/23 by Chris.Babcock Added GoogleVR to InstalledEngineFilters.ini #jira UE-31186 #ue4 #android Change 2987129 on 2016/05/23 by Mieszko.Zielinski Fixed FNavigationFilterArea not zeroing its properties in default constuctor #UE4 #jira UE-31185 Change 2987100 on 2016/05/23 by Peter.Sauerbrei fix for crash in DeploymentServer when attempting to copy a file with a space in the path or name #jira UE-30813 Change 2987064 on 2016/05/23 by Dmitry.Rekman PR #2164: [Linux] Fix clang '&&' within '||' error (Contributed by slonopotamus) #jira UE-28537 Change 2987002 on 2016/05/23 by Aaron.McLeran #jira UE-31036 Sound volume does not change when moving past the Non Focus Azimuth range if set to greater than 90 degrees Fix was to remove the clamp on the dot-product #tests ran test map with focus factors greater than 90 degrees Change 2986880 on 2016/05/23 by Mark.Satterthwaite Fix UE-31124 due to bad array iteration logic - amazing that this hadn't been seen earlier. #jira UE-31124 Change 2986873 on 2016/05/23 by Lina.Halper #fix issue with morphtarget importings for LODs - this was caused by option not being set correctly #jira: UE-30955 #code review: Alexis.Matte Change 2986804 on 2016/05/23 by Taizyd.Korambayil #jira UE-31132 Added Missing Function to Blueprint. Change 2986801 on 2016/05/23 by Jamie.Dale SSearchBox will now only delay text changes while it has focus A text changed event when it doesn't have focus is usually triggered by code (rather than the user typing), so we need to process it immediately to avoid other operational ordering issues. #jira UE-31101 Change 2986793 on 2016/05/23 by Martin.Wilson Fix for morph curves not getting applied to meshes in cooked builds (smart names were not being corrected). (brought from dev-rendering 2983747) #Jira UE-31166 Change 2986772 on 2016/05/23 by Benn.Gallagher Fixed montage single node instances with negative rate scales only repeating the final section when looping #jira UE-31164 Change 2986766 on 2016/05/23 by Martin.Wilson Fix for preview not updating when tranform curve flags are changed. #Jira UE-31119 Change 2986569 on 2016/05/23 by Robert.Manuszewski Making hang detection disabled bu default and an opt-in for games. #jira UE-31151 Change 2986564 on 2016/05/23 by Martin.Wilson Fix for being able to set montages on an anim track segment. #jira UE-31039 Change 2986205 on 2016/05/21 by Zabir.Hoque Add new instrumentation to bucketize why we are seeing device lost so often. #jira UE-20434 Change 2986071 on 2016/05/20 by Dan.Oconnor Fix for TRASHCLASS sneaking into property list when recompiling a blueprint that has a dependency that is dirty and requires bytecode recompilation of its dependencies. Make sure that the dirty blueprint itself is part of the bytecode recompilation process and make sure that blueprints compiled in this way are compiled after their parent classes #jira UE-30411 Change 2986068 on 2016/05/20 by Dan.Oconnor Fix for blueprint change/compile delegates leaking #jira UE-31118 Change 2986044 on 2016/05/20 by Zabir.Hoque Make OpenGL VB allocation support alignment (16 by default). Future work should expose this up through the RHI layers. #CodeReview: Olaf.Piesche, Simon.Tovey #jira UE-29231 Change 2985934 on 2016/05/20 by Mark.Satterthwaite Further changes to ensure that UE-30710 really is fixed while also not live-leaking memory in MetalRHI. #jira UE-30710 Change 2985852 on 2016/05/20 by Max.Chen Subway Sequencer: Remove level sequence editor from plugin list since it's on by default. #jira UE-31106 Change 2985821 on 2016/05/20 by Phillip.Kavan [UE-22874] Fix UObject duplication to preserve default subobjects created by the native class ctor when the root object is duplicated. change summary: - added FObjectDuplicationHelperMethods::GatherDefaultSubobjectsForDuplication() - modified StaticDuplicateObjectEx() to map default subobjects created in the duplicated root object's ctor before entering the serialization pass. this preserves those instances instead of causing StaticConstructObject to destroy/recreate them during serialization as part of the UObject reference duplication logic. #jira UE-22874 Change 2985750 on 2016/05/20 by Michael.Gay Default Game map set to SubwaySequencer_P #jira UE-31108 Change 2985660 on 2016/05/20 by Michael.Gay Removing unused track animation #jira UE-30804 Change 2985349 on 2016/05/20 by Dan.Oconnor Fix for crash that occurs when repeatedly pasting and undoing an object with subobjects. We were not clearing the internal flags when recycling an object #jira UE-30954 Change 2985346 on 2016/05/20 by Leslie.Nivison Updating 4.12 credit #jira UEPROD-820 Change 2985297 on 2016/05/20 by Jamie.Dale Fixed VS version detection It was checking the file version (which is 12), rather than the VS version (which is 12 for 2013, and 14 for 2015). #jira UE-30977 Change 2985233 on 2016/05/20 by Gareth.Martin Fixed crash when building lighting when using "Use Landscape Lightmap" on landscape grass #jira UE-30975 Change 2985184 on 2016/05/20 by Chris.Babcock Move audio warning to show proper error result code #jira UE-31085 #ue4 #android Change 2985183 on 2016/05/20 by Chad.Taylor GoogleVR disabled by default #jira UE-30921 Change 2985145 on 2016/05/20 by Jack.Porter Fix for precision issue causing blocky landscape LOD on iPad Pro and several other iOS devices #jira UE-24792 Change 2985124 on 2016/05/20 by Alex.Delesky #jira UE-29794 If the editor cannot find the SSL DLLs when enabling the Perforce source control plugin, it will now display a warning in the Source Control log instead of crashing. Change 2985066 on 2016/05/20 by Lee.Clark Fix r.SelectiveBasePassOutputs so that it defaults to off #jira UE-30133 Change 2985063 on 2016/05/20 by Allan.Bentham Fix for modulated shadow precision issues on low end android hardware. #jira UE-29083 Change 2985061 on 2016/05/20 by Max.Chen Viewport: Fix crash when the viewport widget is null. #jira UE-31050 Change 2985059 on 2016/05/20 by Rolando.Caloca UE4.12 - Workaround for crash trying to track down other crash #jira UE-30875 Change 2984876 on 2016/05/20 by Richard.TalbotWatkin Made SceneOutliner visibility code safer, to avoid a potential crash. #jira UE-30831 - [CrashReport] UE4Editor_SceneOutliner!SceneOutliner::FGetVisibilityVisitor::RecurseChildren() [sceneoutlinergutter.cpp:24] Change 2984873 on 2016/05/20 by Richard.TalbotWatkin Clipped selection box bounds in Matinee viewport to prevent crash when reading outside of the viewport area. #jira UE-30968 - Ctrl+Alt selection drag inside to outside of Matinee window will crash the editor Change 2984844 on 2016/05/20 by Matthew.Griffin Fixing compile error in mono games Change 2984825 on 2016/05/20 by Robert.Manuszewski When the application crashes becaused the GPU driver was disabled, make sure the CrashReporterClient window gets the updated screen metrics after the driver is restored. #jira UE-30556 Change 2984693 on 2016/05/20 by Phillip.Kavan [UE-30495] Fix BP editor crash on component rename following undo of component add action. change summary: - modified USimpleConstructionScript::CreateNode() to create the initial component template object in the transient package, so that subsequent undo actions restore to that state rather than to a valid BPGC-owned state. - modified StaticConstructObject_Internal() to restore the inclusion of RF_ArchetypeObject-flagged objects in the logic that sets new objects to 'PendingKill' state before recording them into the transaction buffer. this ensures that they can be GC'd when construction is undone in the editor. Tested against sample/repro steps in UE-21240 to ensure that it no longer crashes even with the original change from CL# 2832225 reverted (that fix has since been superceded). #jira UE-30495 Change 2984684 on 2016/05/20 by Phillip.Kavan [UE-30852] Fix BPGC custom property list delta generation & post-construct initialization/serialization to properly handle array values that differ from default in length but not inner element values. change summary: - modified UBlueprintGeneratedClass::BuildCustomPropertyListForPostConstruction()/BuildCustomArrayPropertyListForPostConstruction() to return a boolean value indicating whether or not a delta value was detected. - modified UBlueprintGeneratedClass::BuildCustomArrayPropertyListForPostConstruction() and FBlueprintEditorUtils::BuildComponentInstancingData() to ensure that array properties are emitted to delta property lists if the size differs from default, even if none of the elements actually differ from the default value - removed the ensure() for the array property case in FObjectInitializer::InitPropertiesFromCustomList(), as it is now a valid case to encounter an array property delta value without any actual delta element value overrides following it in the custom property stream - restored the bCanUsePostConstructLink optimization for non-native class types in FObjectInitializer::InitProperties() - modified UArrayProperty::SerializeItem() for the ArUseCustomPropertyList case to not empty the array when a resize is needed on load (read) - this fixes an edge case in the cooked BP component data stream when array size differed from default but only one or more of the inner values actually differed, in which case all the array slots were being reset (constructed/zeroed) but only the overridden value was being serialized (loaded) from the template data stream #jira UE-30852 Change 2984651 on 2016/05/19 by Zabir.Hoque Forcing GoogleVR plugin to disabled by default since its causing even non HDM machines to render split foveated viewports. #CodeReview: Chad.Taylor, Nick.Whiting #jira UE-30921 Change 2984636 on 2016/05/19 by Zabir.Hoque Explicitly store the cubemap resolution in encoded reflection data. #CodeReview Daniel.Wright, Marcus.Wassmer #jira UE-30341 Change 2984454 on 2016/05/19 by Rolando.Caloca UE4.12 - Fix for vulkan failing to load shader Integration mirroring changelist 2984432 #jira UE-28140 Change 2984452 on 2016/05/19 by Marcus.Wassmer #jira UE-31054 Remove autocompletion for ToggleRHIThread and ShowMaterialDrawEvents as they no longer do anything Change 2984415 on 2016/05/19 by Dan.Oconnor Fix for crash when we fail to spawn the preview actor because the desired class is deprecated #jira UE-31027 Change 2984376 on 2016/05/19 by Dan.Oconnor Fix for regression in GetClassDefaults - we were not handling the 'None' case #jira UE-31034 Change 2984316 on 2016/05/19 by Aaron.McLeran #jira UE-31049 Updating the Oculus Audio SDK to vs 1.02 #tests Ran updated SDK in several test maps, confirmed HRTF spatialization is working. Change 2984315 on 2016/05/19 by Lina.Halper Fix issue with importing morphtarget LOD when it's missing between #jira: UE-30949 Change 2984237 on 2016/05/19 by Dan.Oconnor Fix for ensure/possible stale memory access in UpdateOverlaps #jira UE-30919 Change 2984170 on 2016/05/19 by Max.Chen Movie Capture: Another pass at texture streaming fix for movie capture. #jira UE-30986 Change 2984134 on 2016/05/19 by Chad.Taylor Mac compiler warning fix #jira UE-30921 Change 2983903 on 2016/05/19 by Taizyd.Korambayil #jira UE-30562 Replaced cube With BSP for Floor Change 2983840 on 2016/05/19 by Taizyd.Korambayil #jira UE-30979 Fixed Typo in one of the Stands Change 2983662 on 2016/05/19 by Ben.Marsh GitHub: Add an exception to allow GoogleVR files to be mirrored to GitHub Change 2983653 on 2016/05/19 by Chris.Bunner Modifed previous change to fixup incorrect ensures. #jira UE-30877 Change 2983599 on 2016/05/19 by Chris.Bunner Added ensure and null ptr check to canvas flush. #jira UE-30877 Change 2983596 on 2016/05/19 by Chad.Taylor FluffyBunny #jira UE-30921 Change 2983534 on 2016/05/19 by Brian.Karis 4.12 fix per pixel translucency #jira UE-30902 Change 2983530 on 2016/05/19 by Chris.Babcock Broadcast EMediaEvent::MediaOpened when media opened successfully #jira UE-31006 #ue4 #android Change 2983427 on 2016/05/19 by Richard.TalbotWatkin Conflated "Import" and "Import Scene" in the File menu; the new action is called "Import Into Level". Limited the allowed file types to .t3d and .fbx. #jira UE-30891 - CRASH: Editor crashes when Importing Actors via File > Import Change 2983386 on 2016/05/19 by Michael.Gay minor last tweaks #jira UE-30804 Change 2983280 on 2016/05/19 by Gil.Gribb UE4 - Fixed crash in FHierarchicalStaticMeshSceneProxy related to reflection captures and foliage. #jira UE-30837 Change 2983079 on 2016/05/18 by Max.Chen Movie Capture: Fix so that texture streaming option for movie capture is set when capturing in editor. #jira UE-30986 Change 2983078 on 2016/05/18 by Dmitriy.Dyomin Added more logging to track UE-30878 #jira UE-30878 Change 2983067 on 2016/05/18 by Dmitriy.Dyomin Fixed: Mobile HDR Path doesn't work on GearVR #jira UE-11846 Change 2983049 on 2016/05/18 by Max.Chen Movie Capture: Fix crash on movie rendering when in HDR mode. #jira UE-30978 Change 2982825 on 2016/05/18 by Mark.Satterthwaite Correctly wait for the dispatch semaphore when clearing the Metal resource free lists. #jira UE-30710 Change 2982697 on 2016/05/18 by Marc.Audy Fix Orion DataProvider use of AddReferencedObjects in light of CL# 2982607 #jira UE-00000 Change 2982546 on 2016/05/18 by Taizyd.Korambayil #jira UE-30862 resaved A bunc hof assets to Fix to attempt to fix Build Warnings Change 2982533 on 2016/05/18 by Daniel.Lamb When you package if you haven't saved the changes will not be reflected in the game. #jira UE-30904 Change 2982415 on 2016/05/18 by Marc.Audy Bring forgotten 4.11 CL# 2928377 to 4.12 Ensure that the compiler will throw an error when passing a non-UObject* TArray to AddReferencedObjects #jira UE-28933 Change 2982358 on 2016/05/18 by Taizyd.Korambayil #jira UE-30546 Updated TP_VehicleAdvPawn Chase Camera Location Change 2982280 on 2016/05/18 by Martin.Mittring UE-26409 Crash when Light Propagation Volume Plugin is disabled on a Project #jira:UE-26409 Change 2982229 on 2016/05/18 by Max.Chen Sequencer: Add tick prerequisites so that the level sequence actor ticks before all of the actors that it controls. This fixes some inconsistencies in the movie rendered frames not matching what's in editor. #jira UE-30755 Change 2982080 on 2016/05/18 by Max.Chen Sequence Recorder: Fix crash when component class to record is null. #jira UE-30944 Change 2982041 on 2016/05/18 by Marcus.Wassmer Protect against crashes reading from a null texture. #jira UE-30834 Change 2981915 on 2016/05/18 by Allan.Bentham Do not mosaic encode for modulate blend operations. Fixes dark 'halos' around mod shadows. #jira UE-29083 Change 2981911 on 2016/05/18 by michael.gay Set framing in sequencer, set start to 200 #jira UE-30633 Change 2981904 on 2016/05/18 by Chase.McAllister #jira UE-30943 Removing unused asset to fix DDC compiling bug Change 2981894 on 2016/05/18 by Michael.Gay removed old cameras, changed start frame to remove black at head of sequence #jira UE-30633 Change 2981827 on 2016/05/18 by Gareth.Martin Fixed crash when entering landscape mode while a landscape is selected while simulating - Landscape infos no longer get created for PIE/Simulate landscapes (they were empty anyway) #jira UE-30917 Change 2981725 on 2016/05/18 by Keith.Judge Xbox One - Fix issues with DFAO/DF Shadowing. Problems were in RHIUpdateTexture3D(). Needed to ensure temp texture had the correct bind flags, etc, and also use the graphics context rather than the DMA context to do the copying, as for some reason the DMA engine corrupts some pixels of the distance field atlas texture. #jira UE-27591 Change 2981466 on 2016/05/17 by Max.Chen Merge from Chris Bunner from Dev-SequencerGDC - Frame state fixes when Sequencer is paused; No velocity in AA, Clamp motion blur scale, Clamp to scatter blur method. #jira UE-30576 Change 2981403 on 2016/05/17 by Dan.Oconnor Fix for overzealous filtering of classes with Within markup #jira UE-29878 Change 2981342 on 2016/05/17 by Dan.Oconnor Removing overzealous check. In Dev-BP this has already been downgraded to an ensure, but no reason to ensure now that we understand why it happens. #jira UE-30792 Change 2981318 on 2016/05/17 by Max.Preussner Sequencer: Fixed crash when scrubbing attached audio tracks; reduced nesting (UE-30923) #jira: UE-30923 Change 2981221 on 2016/05/17 by Dan.Oconnor Preventing spawning components with 'Within' markup specified, it is unsupported by the SCSEditor and Core UObject logic at this time. Likely logic is CoreUObject needs to avoid type checking for RF_ArchetypeObject instances and the SCSEditor needs to be more consistent about using that flag on its template objects #jira UE-29878 Change 2981169 on 2016/05/17 by Marc.Audy Gracefully handle invalid GameSingleton class name in ini file Remove unused DefaultPreviewPawnClass and ClassName from Engine #jira UE-30829 Change 2981104 on 2016/05/17 by Mieszko.Zielinski Made AISenses not send information to listeners that are not registered for given sense #UE4 #jira UE-29939 Change 2981086 on 2016/05/17 by Taizyd.Korambayil #jira UE-30568 Added a check to make sure index being accessed was valid (BP_DemoRoom) Change 2980755 on 2016/05/17 by Taizyd.Korambayil #jira UE-30706 Set material to use Translucent Blend Change 2980753 on 2016/05/17 by Jon.Nabozny Initialize FBox used to store result for CalculateQuatACF96Bounds (bump from //UE4/Dev-Framework). #JIRA UE-30846 Change 2980682 on 2016/05/17 by Taizyd.Korambayil #jira UE-30570, UE-30575 Corrected Some Spellings Change 2980559 on 2016/05/17 by Mieszko.Zielinski Changed UNavigationSystem.AgentToNavDataMap to store weak object pointers rather than raw painters #UE4 This should make it immune to navigation data beging destroyed and not removed from AgentToNavDataMap. #jira UE-30836 Change 2980504 on 2016/05/17 by Daniel.Wright Integrate - Movable skylight now matches stationary for subsurface shading models * Two sided was broken in 4.11, Subsurface had never been handled #jira UE-30855 Change 2980467 on 2016/05/17 by Jamie.Dale Added some checks to avoid temporary worlds being added as favorites #jira UE-30613 Change 2980379 on 2016/05/17 by Jurre.deBaare Fix for static mesh merging, little too eager with changes. #jira UE-30808 Change 2980373 on 2016/05/17 by Gareth.Martin Fixed shader compile errors when applying a speedtree material to a landscape spline #jira UE-25820 Change 2980318 on 2016/05/17 by Gareth.Martin Fixed crash when calling EditorApplySpline with a null spline component Also stopped it doing anything in PIE (it's for blutilities, not runtime) #jira UE-30830 Change 2980300 on 2016/05/17 by Marc.Audy Treat Unreachable components the same as BeginDestroyed for endplay/cleanup purposes #jira UE-30839 Change 2980298 on 2016/05/17 by Gareth.Martin Fixed crash when loading landscape projects that used tessellation #jira UE-30742 Change 2980296 on 2016/05/17 by Martin.Wilson Fix crash accessing sync names from a child anim bp #jira UE-30811 Change 2980289 on 2016/05/17 by Jurre.deBaare Fix for regression with merge actor tab #jira UE-30809 Change 2980272 on 2016/05/17 by Ori.Cohen Make sure that root components do not get attached to non root components in the same actor. Fixes crash in scene outliner and other weird issues. #JIRA UE-30876 Change 2980206 on 2016/05/17 by Keith.Judge Xbox One - Bit the bullet and rewrote the occlusion query buffer handling so that we're not reliant on a finite ring buffer. Instead, each query has a small buffer of its own. removing the dependency of ordering when reading back the results. This should save memory on smaller maps too! #jira UE-30581 #jira UEPLAT-623 Change 2980094 on 2016/05/17 by Matthew.Griffin Added OSVR dlls to InstalledEngineFilters.ini so that they are included in Launcher build even though the plugin is disabled by default #jira UE-30611 Change 2979935 on 2016/05/17 by Aaron.Herzog #jira UE-30619 updating owen sk mesh with proper morph Change 2979816 on 2016/05/16 by Chad.Taylor Fix to address a crash related to multiple player VR Preview #jira UE-20109 Change 2979744 on 2016/05/16 by Mike.Beach Disabling Blueprint spawning, InitProperties() optimization until we can figure out why it is not filling out array properties properly. #jira UE-30745 Change 2979743 on 2016/05/16 by Mike.Beach Mirroring CL 2977497 Clearing property nodes and cached read-addresses when changing the details view object (so any queued actions will not operate on invalid properties). #jira UE-26392 Change 2979544 on 2016/05/16 by Daniel.Wright Fixed crash with RTDF shadows when r.DistanceFieldAO was disabled #jira UE-26319 Change 2979477 on 2016/05/16 by michael.gay Remove errant Play Rate track. #jira UE-30633 Change 2979464 on 2016/05/16 by Mark.Satterthwaite Duplicate CL #2945444: Cache the Metal fallback depth-stencil surface for the canvas tile rendering so that we only ever keep one spare depth-stencil surface around. This costs us a little more permanent memory but reduces churn. #jira UE-30849 Change 2979441 on 2016/05/16 by Rolando.Caloca UE4.12 - vk - Fix quitting taking a long time #jira UE-28239 Change 2979315 on 2016/05/16 by Michael.Trepka Rollback //UE4/Release-4.12/Engine/Source/Programs/UnrealBuildTool/System/XcodeProject.cs to revision 1 #jira UE-28016 Change 2979304 on 2016/05/16 by Jamie.Dale Backing out some changes from CL# 2976673 These caused an issue with Slate hit-testing. The more correct fix here is to make the Slate Windows OS layer treat window positions as relative to the top-left of the window client area, rather than relative to the top-left of the window itself (which includes the OS border). This now matches what other platforms do. To this end, FWindowsWindow::Initialize, FWindowsWindow::MoveWindowTo, and FWindowsWindow::ReshapeWindow all now consider the given window position to be relative to the window client area, and will consistently adjust it to relative to the window before moving/creating the OS window. This only impacts windows with OS borders (aka, non-fullscreen and non-Slate drawn windows). #jira UE-30276 #jira UE-30677 #jira UE-30771 Change 2979077 on 2016/05/16 by Maciej.Mroz #jira UE-28536 Attached Project Crashes on Attempting to Play in Standalone merged from 2979069 Change 2979052 on 2016/05/16 by Chase.McAllister #jira UE-30789 Resaving Maps to fix project warning Change 2978984 on 2016/05/16 by Chase.McAllister #jira UE-30789 Resaving start video assests that contained empty engine version Change 2978806 on 2016/05/16 by Mieszko.Zielinski Fixed EQS tests' scoring equation value getting reset on load #UE4 #jira UE-30470 Change 2978670 on 2016/05/16 by Max.Preussner Media: Workaround for changing Media asset path can cause crash (UE-22691) #jira: UE-22691 Change 2978638 on 2016/05/16 by Michael.Gay Cleanup of old maps in SubwaySequencer project #jira UE-30633 Change 2978636 on 2016/05/16 by Jamie.Dale Added guard against a crash navigating through a menu #jira UE-30698 Change 2978611 on 2016/05/16 by Lee.Clark PS4 - Fix RenderTargetOutputFormat using the wrong output index for velocity rendering when using r.BasePassOutputsVelocity=True #jira UE-30133 Change 2978596 on 2016/05/16 by Allan.Bentham Extend iOS metal Z bias offset to all iOS (metal+gles) depth only shaders. #jira UE-27530 Change 2978566 on 2016/05/16 by Jamie.Dale Downgraded some checks to ensures and added more logging #jira UE-30613 Change 2978399 on 2016/05/16 by Keith.Judge Xbox One - Fix check() firing when we run out of occlusion buffer space. Also added occlusion query result caching (perf gain!). #jira UE-30581 Change 2978323 on 2016/05/16 by Jurre.deBaare Merge actor panel crashes when selecting a mesh component without static mesh #fix display 'No Static Mesh' when none is available #jira UE-30809 Change 2978322 on 2016/05/16 by Jurre.deBaare Issue with merging meshes resulting data saved across different LOD levels #fix use correct target LOD index for all source LODs #jira UE-30808 #lockdown Nick.Penwarden [CL 2999693 by Ben Marsh in Main branch]
2016-06-03 11:49:20 -04:00
if (ComponentClass->ClassWithin && ComponentClass->ClassWithin != UObject::StaticClass())
{
// we can't support 'Within' markup on components at this time (core needs to be aware of non-CDO archetypes
// that have within markup, and BP system needs to property use RF_ArchetypeObject on template objects)
return nullptr;
}
UClass* const AuthoritativeClass = ComponentClass->GetAuthoritativeClass();
UBlueprintComponentNodeSpawner* NodeSpawner = NewObject<UBlueprintComponentNodeSpawner>(GetTransientPackage());
NodeSpawner->ComponentClass = AuthoritativeClass;
NodeSpawner->NodeClass = UK2Node_AddComponent::StaticClass();
FBlueprintActionUiSpec& MenuSignature = NodeSpawner->DefaultMenuSignature;
FText const ComponentTypeName = AuthoritativeClass->GetDisplayNameText();
MenuSignature.MenuName = FText::Format(LOCTEXT("AddComponentMenuName", "Add {0}"), ComponentTypeName);
Exclude node spawner actions for non-imported component types from the Blueprint graph context menu when Blueprint namespace editor features are enabled. Change summary: - Extended FBlueprintActionContext to include a weak ptr to the current IBlueprintEditor context. - Added ENUM_CLASS_FLAGS() for the FBlueprintActionFilter::EFlags enumeration (for use as bitflags). - Deprecated the current FBlueprintActionFilter constructor, replaced with a more explicitly-typed EFlags param. - FBlueprintActionFilter now internally stores its filter flags. Also added FBlueprintActionFilter::HasAnyFlags/HasAllFlags(). - Minor refactor to a few action filter delegates to query the filter flags locally rather than add bool flags to delegate payloads. - The FBlueprintActionFilter constructor now unsets the non-imported filter flag if Blueprint namespace editor settings are disabled. - BlueprintActionFilterImpl::IsNonImportedObject() now utilizes the filter context rather than iterate the Blueprints array to find open asset editors. - Added an override for UBlueprintComponentNodeSpawner::IsTemplateNodeFilteredOut(). This is now used to filter out any loaded or unloaded BP component types from the context menu. - Cleaned up display inconsistencies in the menu UI spec between loaded vs. unloaded "Add Component" node spawner actions in the context menu. - Added an FSoftObjectPath variant of IBlueprintEditor::IsNonImportedObject() (to support unloaded non-native component type entries which store the class object path). Implemented as FBlueprintEditor::IsNonImportedObject(FSoftObjectPath). - Added an override for UK2Node_DynamicCast::IsActionFilteredOut() to exclude cast operator actions for non-native component types if they are not imported into the current editor context. - Modified SBlueprintActionMenu, SBlueprintFavoritesPalette and SBlueprintLibraryPalette to include the current editor context in applicable action filter context(s). #jira UE-149760 #rb Ben.Hoffman #preflight 62753dd9e31cfc52d5bd0539 [CL 20077282 by Phillip Kavan in ue5-main branch]
2022-05-06 11:49:20 -04:00
MenuSignature.Category = FText::Format(GetMenuCategoryFormat(), GetDefaultMenuCategory(AuthoritativeClass));
MenuSignature.Tooltip = FText::Format(LOCTEXT("AddComponentTooltip", "Spawn a {0}"), ComponentTypeName);
MenuSignature.Keywords = AuthoritativeClass->GetMetaDataText(*FBlueprintMetadata::MD_FunctionKeywords.ToString(), TEXT("UObjectKeywords"), AuthoritativeClass->GetFullGroupName(false));
// add at least one character, so that PrimeDefaultUiSpec() doesn't
// attempt to query the template node
if (MenuSignature.Keywords.IsEmpty())
{
MenuSignature.Keywords = FText::FromString(TEXT(" "));
}
Copying //UE4/Dev-Editor to //UE4/Dev-Main (Source: //UE4/Dev-Editor @ 2973866) #lockdown Nick.Penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2937390 on 2016/04/07 by Cody.Albert #jira UE-29211 Fixed slider to properly bubble unhandled OnKeyDown events Change 2939672 on 2016/04/11 by Richard.TalbotWatkin Made a change to how file check out notifications work. Now the dirty package state is processed at the end of every tick, meaning that packages which are dirtied and then cleaned again are not processed. This fixes an issue where a number of child blueprints were flagged as needing checkout when a parent blueprint was compiled. This also allows multiple packages which are dirtied at the same time to be treated as one transaction. #jira UE-29193 - "Files need check-out" prompt spams Blueprint users Change 2939686 on 2016/04/11 by Richard.TalbotWatkin A number of further improvements to mesh vertex color painting: * Lower LODs are now automatically fixed up for instances which were created in a previous bugged version of the engine. * Since lower LODs cannot currently have their vertex colors edited, their vertex colors are always derived from LOD0. * Fixed a bug when building lower LODs so that vertices in neighboring octree nodes are considered when looking for the nearest vertex from LOD0 which corresponds. * Fixed issue where static meshes with imported LODs would not have the lower LODs' override colors set when "Copy instance vertex colors to source mesh" was used (static meshes with generated LODs were always getting correct override colors). #jira UE-28563 - Incorrectly displayed LOD VertexColor until paint mode is selected Change 2939906 on 2016/04/11 by Nick.Darnell Automation - Adding several enhancements to the automation framework and improving the UI. * Tests in the UI now have a link to the source and line where they orginate. * There's now a general purpose latent lambda command you can use to run arbitrary code latently. * Added Inlined AddCommand for regular and networked commands to the base automation class, to avoid the use of the macro, which prevents breakpoints from working in lambda code. * Front end now has better column displays offering more room to the test name * Changed several events to the automation controller to multicast delegates so that many could hook them. * The UI now refreshes the selection after tests finish so that the output log updates. Change 2939908 on 2016/04/11 by Nick.Darnell Automation - The editor import/export tests are now a complex test and actually sperate out all the tests that can be run, some trickiness was required on the filenames so that they didn't expand into more child tests in the UI. (replacing .'s with _'s) Change 2940028 on 2016/04/11 by Nick.Darnell Automation - Removing the search box from the toolbar. It's now inlined above the test tree. Tweaking the padding to make it look more other windows and make everything not look so squished. Recursive expansion now works on tests. Change 2940066 on 2016/04/11 by Nick.Darnell Automation - Moving the filter group dropdown out of the toolbar and onto the line with the search box above the treeview - additional tweaks to it. Change 2940092 on 2016/04/11 by Jamie.Dale PR #2248: Datatable select next row (Contributed by FineRedMist) Change 2940093 on 2016/04/11 by Jamie.Dale PR #2248: Datatable select next row (Contributed by FineRedMist) Change 2940157 on 2016/04/11 by Jamie.Dale Fixing FTextTest due to some changes made to how currency is formatted Change 2940694 on 2016/04/12 by Richard.TalbotWatkin Fixed issue where vertex override colors were not being propagated correctly for generated lower LODs. #jira UE-29360 - Override Colors not propagated correctly to generated lower LODs Change 2942379 on 2016/04/13 by Richard.TalbotWatkin Fixed issue where entering PIE while selecting an actor in Mesh Paint mode could lead to a MeshPaintStaticMeshAdapter holding onto an invalid pointer to an old mesh component, and causing a crash upon leaving the mode. This can happen because, when loading a new streaming level, the proxy actor can be selected when starting PIE, which will subsequently be added to the tool's internal lists. This needs to be added as a GC reference so that it can be NULLed when forcibly destroyed. #jira UE-29345 - Crash occurs exiting the editor after enabling mesh paint mode and PIEing Change 2942947 on 2016/04/13 by Richard.TalbotWatkin Fixed crash when pasting a material function call node from one project to another in which it is not defined. #jira UE-27087 - Crash when pasting MaterialFunctionCall expressions into the material editor between projects Change 2943452 on 2016/04/14 by Richard.TalbotWatkin Updated F4 debug key binding to match what's in ShowFlags.cpp PR #2197 (contributed by mfortin-bhvr) Change 2943824 on 2016/04/14 by Alexis.Matte #jira UE-29090 Make sure we cannot open the color picker when a property is edit const Change 2943841 on 2016/04/14 by Alexis.Matte #jira UE-28924 tooltip was add for every hierarchy import option Change 2943927 on 2016/04/14 by Alexis.Matte #jira UE-29423 Add Obj support for scene importer Github PR #2272 Change 2943967 on 2016/04/14 by Richard.TalbotWatkin Added relevant fields from FBodyInstance to the FoliageType customizations. #jira UE-20138 - FoliageType has a FBodyInstance but only shows Collision Presets and not other FBodyInstance properties Change 2948397 on 2016/04/19 by Andrew.Rodham Moved FSlateIcon definition to SlateCore It was previously declared as SLATE_API, despite its header residing inside SlateCore. Reviewed by Jamie Dale. Change 2948805 on 2016/04/19 by Andrew.Rodham Editor: Deprecated FName UEdGraphNode::GetPaletteIcon(FLinearColor&); in favor of FSlateIcon UEdGraphNode::GetIconAndTint(FLinearColor&); to allow for icons in external style sets to be used. - Previously, all icons were assumed to reside within FEditorStyle, which is not the case and would create broken icons in the graph editor. All relevant code has been updated to use FSlateIcon structures instead of a simple name. - This change required a significant overhaul to FClassIconFinder to support FSlateIcons. To keep the API clean, FSlateIconFinder now deals with FSlateIcon class icon finding operations, and FClassIconFinder for the most part just adds actor specific logic. #jira UE-26502 Change 2950658 on 2016/04/20 by Alexis.Matte #jira UE-24333 Skinxx workflow, we now output an error if there is mix of material with skinxx and some with no skinxx suffix Change 2950663 on 2016/04/20 by Alexis.Matte #jira UE-29582 When exporting to fbx we have to export each material instance as one fbx material Change 2951240 on 2016/04/21 by Alexis.Matte #jira UE-28473 Make sure light are render properly after importing a fbx scene Change 2951421 on 2016/04/21 by Alexis.Matte #jira UE-29773 fbx skeletalmesh import now support mesh hierarchy Change 2955873 on 2016/04/26 by Richard.TalbotWatkin PR #2225: Fix working package directory from the launch profiles (Contributed by projectgheist) Change 2955965 on 2016/04/26 by Nick.Darnell Merging //UE4/Dev-Main to Dev-Editor (//UE4/Dev-Editor) Change 2956717 on 2016/04/26 by Andrew.Rodham Editor: World Outliner now correctly calls ProcessEditDelete on editor modes that have asked to process delete operations #jira UE-26968 Change 2956822 on 2016/04/26 by Andrew.Rodham Editor: Fixed actors not being removed from the scene outliner when they are added and removed on the same frame #jira UE-7777 Change 2956931 on 2016/04/26 by Nick.Darnell New Module - UATHelper - Moving the UAT launching code from the MainFrame module into a reusable module other modules can trigger. Change 2956932 on 2016/04/26 by Nick.Darnell Plugins - Now allowing you to package a plugin from the plugin browsing view. Still work in progress. Change 2957164 on 2016/04/26 by Nick.Darnell Hot Reload - Fixing hot reload, it no longer creates a temporary copy of the module manager. Making the copy constructor private on the module manager to prevent this in the future. Change 2957165 on 2016/04/26 by Nick.Darnell Fixing the Editor Mode plugin sample, it no longer provides a bad starting example for where to create your widgets. #jira UE-28456 Change 2957510 on 2016/04/27 by Nick.Darnell PR #2198: Git Plugin implement the Sync operation to update local files using the git pull --rebase command (Contributed by SRombauts) #jira UE-28763 Change 2957511 on 2016/04/27 by Andrew.Rodham Editor: Make favorites button on details panel non-focusable - This was preventing users being able to tab between value fields on the details panel Change 2957610 on 2016/04/27 by Nick.Darnell PR #1836: Git plugin: make initial commit when initializing new project (Contributed by SRombauts) #jira UE-24190 Change 2957667 on 2016/04/27 by Jamie.Dale Fixed crash that could happen in FTextLayout::GetLineViewIndexForTextLocation if passed a bad location #jira OR-18634 Change 2958035 on 2016/04/27 by Nick.Darnell Fixing the DesignerRebuild flag detection so that we can just refresh the slate widget without recreating the preview UObject, which causes the destruction of the details panel, and the slate widget recreation was the only part that was required. Change 2958272 on 2016/04/27 by Jamie.Dale Added FAssetData::GetTagValue to handle getting asset tag values in a type-correct way This allows type-conversion using LexicalConversion, and also has specializations for FString, FText, and FName. #jira UE-12096 Change 2958348 on 2016/04/27 by Jamie.Dale PR #2282: Slate font shutdown order fix (Contributed by FineRedMist) Change 2958352 on 2016/04/27 by Jamie.Dale Fixed the subtitle manager updating the wrong list of subtitles #jira UE-29511 Change 2958390 on 2016/04/27 by Jamie.Dale Removed some old placement-new style array insertions Change 2959360 on 2016/04/28 by Richard.TalbotWatkin Fixed potential crash when mesh painting actors whose geometry adapters are no longer registered. #jira UE-29615 - [CrashReport] UE4Editor_MeshPaint!FEdModeMeshPaint::DoPaint() [meshpaintedmode.cpp:1127] Change 2959724 on 2016/04/28 by Cody.Albert Merging hardware survey gating logic from 4.10 #jira UE-28666 Change 2959807 on 2016/04/28 by Cody.Albert Removed deprecated function call #jira UE-28666 Change 2959894 on 2016/04/28 by Cody.Albert Fix for scroll offset being clamped by content size, not scroll max #jira UE-20676 Change 2960048 on 2016/04/28 by Jamie.Dale Added FAssetData::GetTagValueRef to go along with FAssetData::GetTagValue #jira UE-12096 Change 2960782 on 2016/04/29 by Jamie.Dale Updating code to use the new FText aware asset registry tag functions #jira UE-12096 Change 2960885 on 2016/04/29 by Jamie.Dale Updating code to use the new FText aware asset registry tag functions #jira UE-12096 Change 2961170 on 2016/04/29 by Jamie.Dale Updating code to use the new FText aware asset registry tag functions #jira UE-12096 Change 2961171 on 2016/04/29 by Jamie.Dale Updating code to use the new FText aware asset registry tag functions #jira UE-12096 Change 2961173 on 2016/04/29 by Jamie.Dale Removed some inline duplication on the specialized template functions #jira UE-12096 Change 2963124 on 2016/05/02 by Jamie.Dale FExternalDragOperation can now contain both text and file data at the same time This better mirrors what the OS level drag-and-drop operations are capable of, and some applications will actually give you both bits of data at the same time. #jira UE-26585 Change 2963175 on 2016/05/02 by Jamie.Dale Updated some font editor tooltips to be more descriptive #jira UE-17429 Change 2963290 on 2016/05/02 by Jamie.Dale The Localise UAT command can now be run with a null localisation provider Change 2963305 on 2016/05/02 by Jamie.Dale Fixed minor typo Change 2963402 on 2016/05/02 by Jamie.Dale Cleaned up all the current localization key conflicts and warnings from gathering Engine code #jira UE-25833 Change 2963415 on 2016/05/02 by Jamie.Dale Rephrased a message that could generate a CIS warning #jira UE-25833 Change 2964184 on 2016/05/03 by Jamie.Dale Fixed duplicate "Font" entry in asset picker menu This was caused by PropertyCustomizationHelpers::GetNewAssetFactoriesForClasses using CanCreateNew rather than ShouldShowInNewMenu, as UFont has two factories, but one is supposed to be hidden from the UI. We also now make sure the factories are sorted by display name before being shown in the UI. #jira UE-24903 Change 2966108 on 2016/05/04 by Nick.Darnell Engine - Rearranging the order of ELoadingPhase's enums so that they match the loading order of modules. Change 2966113 on 2016/05/04 by Nick.Darnell [Engine Loop Change] UEngine now defines a Start() function, that subclasses can use to start game related things after initialization of the engine. This is done so that after the Init() call on UEngine, we can then perform a module load for the ELoadingPhase::PostEngineInit phase of loading, then inform the UEngine that it's time to start the game. Therefore, UGameEngine now tells the GameInstance to Start during this phase now. Change 2966121 on 2016/05/04 by Jamie.Dale Config writing improvements when dealing with property values This updates FConfigFile::ShouldExportQuotedString to make sure that a property value containing any characters that FParse::LineExtended will consume when parsing back in the config file (such as { and }, or a trailing \) cause the string to be quoted. This also adds FConfigFile::GenerateExportedPropertyLine to generate the INI key->value lines in a consistent and correctly escaped way, and makes sure that everything that writes out lines to a config file uses it. FConfigCacheIni::SetString and FConfigCacheIni::SetText have been updated to update the value even if it only differs by case. UObject::SaveConfig and UObject::LoadConfig have had some code whitespace fix-up (from a bad merge). Change 2966122 on 2016/05/04 by Jamie.Dale Added a setting to control dialogue wave audio filenames Change 2966481 on 2016/05/04 by Jamie.Dale PR #2336: BUGFIX: Selection of objects in the Content browser from WorldSettings (Contributed by projectgheist) Change 2966887 on 2016/05/04 by Jamie.Dale PR #2336: BUGFIX: Selection of objects in the Content browser from WorldSettings (Contributed by projectgheist) Change 2967488 on 2016/05/05 by Ben.Marsh Changes to support packaging plugins from the editor. * UBT now has an option to explicitly disable hot-reloading in any circumstances. * When running with -module arguments for a monolithic target, UBT will no longer try to relink the executable in source builds (so it's possible to compile plugin libs outside of an installed engine build without having already built UE4Game). * When packaging, a temporary host project is always generated in the output directory to avoid invalidating intermediates in the source directory. * An empty Config\FilterPlugin.ini file is written out with instructions on how to list additional files to package if it is not already present. Change 2967947 on 2016/05/05 by Nick.Darnell PR #2358: Properly display Mip Level Count and Format for UTexture2DDynamic Textures (Contributed by Allegorithmic) #jira UE-30371 Change 2968333 on 2016/05/05 by Jamie.Dale Fixed MultiLine not working with arrays of string or text properties - The detail customizations for FString and FText properties now read the meta-data off the correct property. - The UDS editor now lets you set the "MultiLine" meta-data on arrays of FString and FText properties. - Fixed changing the "MultiLine" flag on a UDS property not rebuilding the default value editor. - Fixed the default values panel in the UDS editor having a title area. #jira UE-30392 Change 2968999 on 2016/05/06 by Jamie.Dale Fixed infinite loop in the editor if a directory that is being watched is deleted #jira UE-30172 Change 2969105 on 2016/05/06 by Richard.TalbotWatkin Fixed issue where opening a submenu while the parent menu had a text box focused would lead to a crash. The graph node comment text widget now only dismisses all menus if the text commit info implies that it was committed by some user action. #jira UE-29086 - Crash When Typing a Node Comment and Hovering Over the Alignment Option Change 2969440 on 2016/05/06 by Jamie.Dale Significant performance improvements when pasting a large amount of text #jira UE-19712 Change 2969619 on 2016/05/06 by Andrew.Rodham Auto-reimport is now disabled inside an editor running in unattended mode Change 2969621 on 2016/05/06 by Jamie.Dale Added the ability to override the subtitle used on a dialogue wave This is useful for effort sounds, plus some other cases, such as characters speaking in a foreign language not known to the player. #jira UETOOL-795 Change 2970588 on 2016/05/09 by Chris.Wood Fix typo in operator expression in UEndUserSettings::SetSendAnonymousUsageDataToEpic() [UE-26958] - GitHub 2056 : Fixing typo in the operator #2056 Change 2971151 on 2016/05/09 by Chris.Wood Logging ensure fails as errors. Automated tests with ensure fails will be unsuccessful. [UE-19579] - If an ensure() fails within an automated test, the test can still show a positive result. [UE-26575] - GitHub 2030 : Add error-severity message to log on ensure. PR #2030 Change 2971267 on 2016/05/09 by Alexis.Matte Wrong parameter when calling GetImportOptions #jira UE-30299 Change 2972073 on 2016/05/10 by Richard.TalbotWatkin Fixed UModel methods which make surfaces as modified. #jira UE-28831 - Unable to undo material placement on BSP Change 2972329 on 2016/05/10 by Nick.Darnell Merging //UE4/Dev-Main to Dev-Editor (//UE4/Dev-Editor) Change 2972887 on 2016/05/10 by Alexis.Matte #jira UE-30167 We now import the geometric transform also when we uncheck the absolute transform in the vertex. Change 2973664 on 2016/05/11 by Nick.Darnell Merging //UE4/Dev-Main to Dev-Editor (//UE4/Dev-Editor) Change 2973717 on 2016/05/11 by Nick.Darnell Fixing compiler issues from main merge. #jira UE-30590 Change 2973846 on 2016/05/11 by Jamie.Dale Exposed FConfigValue::ExpandValue and added FConfigValue::CollapseValue These are both static and can be used to expand or collapse the macros used in our config files (mostly when dealing with paths), in code that has to deal with the config system, but isn't internal to the config system (mostly things that deal with default configs outside of UObjects). The old non-static version of FConfigValue::ExpandValue is now FConfigValue::ExpandValueInternal, which just calls FConfigValue::ExpandValue on SavedValue and ExpandedValue. This also changes some code that was using FString.Replace to use FString.ReplaceInline. This reduces allocations, and also allows us to avoid another string comparison to see whether the strings are identical (as ReplaceInline returns the number of replacements that were made). Change 2973847 on 2016/05/11 by Jamie.Dale Changing the loading phase in the localization dashboard now writes to the default config #jira UE-30482 Change 2973866 on 2016/05/11 by Jamie.Dale Deprecated some functions that were taking an unused position. These unused parameters caused confusion and lead to UE-30276. The old versions have been deprecated, and new versions without those parameters have been added. Existing code has been updated to call the non-deprecated version. - FViewportFrame::ResizeFrame - FSceneViewport::ResizeFrame - FSceneViewport::ResizeViewport [CL 2973886 by Nick Darnell in Main branch]
2016-05-11 11:05:13 -04:00
MenuSignature.Icon = FSlateIconFinder::FindIconForClass(AuthoritativeClass);
MenuSignature.DocLink = TEXT("Shared/GraphNodes/Blueprint/UK2Node_AddComponent");
MenuSignature.DocExcerptTag = AuthoritativeClass->GetName();
return NodeSpawner;
}
//------------------------------------------------------------------------------
UBlueprintComponentNodeSpawner::UBlueprintComponentNodeSpawner(FObjectInitializer const& ObjectInitializer)
: Super(ObjectInitializer)
{
}
//------------------------------------------------------------------------------
FBlueprintNodeSignature UBlueprintComponentNodeSpawner::GetSpawnerSignature() const
{
FBlueprintNodeSignature SpawnerSignature(NodeClass);
SpawnerSignature.AddSubObject(ComponentClass.Get());
return SpawnerSignature;
}
//------------------------------------------------------------------------------
// Evolved from a combination of FK2ActionMenuBuilder::CreateAddComponentAction()
// and FEdGraphSchemaAction_K2AddComponent::PerformAction().
UEdGraphNode* UBlueprintComponentNodeSpawner::Invoke(UEdGraph* ParentGraph, FBindingSet const& Bindings, FVector2D const Location) const
{
Copying //UE4/Dev-Blueprints to //UE4/Dev-Main (Source: //UE4/Dev-Blueprints @ 3235800) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3194900 on 2016/11/11 by Ryan.Rauschkolb Fixed issue where Reroute node pins weren't mirroring data properly. #jira UE-33717 Change 3195081 on 2016/11/11 by Dan.Oconnor This @todo was addressed Change 3196368 on 2016/11/14 by Maciej.Mroz Results of FBlueprintNativeCodeGenModule::IsTargetedForReplacement are cashed - optimization (cooking time). Change 3196369 on 2016/11/14 by Maciej.Mroz CompileDisplaysBinaryBackend, CompileDisplaysTextBackend and bDisplaysLayout features (in [Kismet] in Engine.ini) are disabled in commandlets. They slow down BP compilation. Change 3196398 on 2016/11/14 by Ben.Cosh Reworked the tracking of latent and expansion event tracking in the blueprint compiler for use with the blueprint profiler. #Jira - UE-37364 - Crash: PIE with instrumented PlayerPawn_Generic added to AITestbed scene #Proj BlueprintProfiler, KismetCompiler. BlueprintGraph, Engine Change 3196410 on 2016/11/14 by Maciej.Mroz Fixed crash in UK2Node_Knot::PropagatePinTypeFromInput Change 3196852 on 2016/11/14 by Maciej.Mroz Fixed static analysis warning. Change 3196874 on 2016/11/14 by Maciej.Mroz #jira UE-37778 (the issue was already fixed, but it was reintroduced, when EDL support was added). ObjectImport->XObject is not filled prematurelly, so CreateExport is properly called each dynamic class. Change 3197469 on 2016/11/14 by Dan.Oconnor Fix for being able to make Sets and Maps of user defined structs that contained unhashable types (e.g. Rotator) Change 3197703 on 2016/11/14 by Dan.Oconnor Updated documentation comment to reflect current behavior Change 3198167 on 2016/11/15 by Maciej.Mroz Merged 3196582 from Dev-Core UE4 - Changed a check to a warning related to detaching linekrs twice. Seen in nativized BP version of platformer game. Change 3198433 on 2016/11/15 by Ryan.Rauschkolb Fixed Copy/pasting variable nodes hides them from a reference search #UE-31606 Change 3198811 on 2016/11/15 by Maciej.Mroz Fixed Knot node - it will use/propagate the type from input connection, if it's possible (intstead of the type from output connection). Change 3198866 on 2016/11/15 by Maciej.Mroz #jira UE-38578 Fixed infinite loading of DynamicClass in EDL. Change 3199045 on 2016/11/15 by Phillip.Kavan [UE-27402] Fix attached Actor-based Blueprint instance root component relative transform values after reconstruction. change summary: - modified FActorComponentInstanceData's ctor to exclude relative transform properties when caching root component values. #jira UE-27402 Change 3200703 on 2016/11/16 by Mike.Beach Marking the ease node explicitly as pure, which makes it so we can prune it from graphs when it is unused. #jira UE-38453 Change 3201115 on 2016/11/16 by Maciej.Mroz Nativization + EDL: "Dynamic" objects are processed by FAsyncPackage::PostLoadDeferredObjects, so the EInternalObjectFlags::AsyncLoading flag is properly cleared. Change 3201749 on 2016/11/17 by Maciej.Mroz In EDL a package containig a dynamic class has PKG_CompiledIn flag (the same like without EDL). Change 3202577 on 2016/11/17 by Mike.Beach Accounting for a change in our intermediate node mapping - the old list no longer maps expanded nodes to macro instances (instead it maps to the corresponding node in the macro graph), so we had to use a new mapping meant for this. #jira UE-35609 Change 3204803 on 2016/11/18 by Phillip.Kavan [UE-38607] Implicitly turn on Blueprint class nativization for dependencies. change summary: - added a UBlueprint::PostEditChangeProperty() override method to handle this. #jira UE-38607 Change 3204812 on 2016/11/18 by Phillip.Kavan [UE-38580] Implicitly turn on the "nativize" project setting when enabling nativize for any Blueprint class. change summary: - modified UBlueprint::PostEditChangeProperty() to update project packaging settings if necessary #jira UE-38580 Change 3204818 on 2016/11/18 by Phillip.Kavan [UE-38725] Interface class dependencies that are not enabled for nativization will now raise an error during nativized cooks. change summary: - modified FBlueprintNativeCodeGenModule::IsTargetedForReplacement() to check interface class dependencies in addition to parent class dependencies. #jira UE-38725 Change 3204963 on 2016/11/18 by Dan.Oconnor Create a transaction when using UBlueprintFunctionNodeSpawner* directly #jira UE-36439 Change 3206510 on 2016/11/21 by Mike.Beach Adding math-expression aliases for dot and cross functions ("dot" and "cross" respectively). #jira UEBP-71 Change 3206547 on 2016/11/21 by Mike.Beach Exposing GetReflectionVector() to Blueprints. #jira UEBP-70 Change 3206658 on 2016/11/21 by Dan.Oconnor Fix for compile error, digging out authorative class from trash class. Mirror of 3206638 from Odin #jira None Change 3207579 on 2016/11/22 by Mike.Beach No longer enforcing the requirement that game UFunctions have to have a category (making writing of game code easier). #jira UE-18093 Change 3207956 on 2016/11/22 by Phillip.Kavan [UE-38690] Fix a regression in which nested scene component subobjects would no longer be registered after construction of an instance-added component in IWCE. change summary: - modified the IWCE path in SSCSEditor::AddNewComponent() to ensure that any components added as a result of instancing the newly-added component are also registered. - modified AActor::ExecuteConstruction() to ensure that non-scene, native nested component subobjects that might be created as a result of SCS execution are also registered (previously it was only considering non-scene components that were explicitly created by the SCS, or that inherited the creation method of the instance that created it). #jira UE-38690 Change 3208217 on 2016/11/22 by Mike.Beach Modified fix (originally from Ryan.Rauschkolb, CL 3186023): Fixed unable to set struct variable name if name includes space #jira UE-28435 Change 3208347 on 2016/11/22 by Mike.Beach Merging //UE4/Dev-Main to Dev-Blueprints (//UE4/Dev-Blueprints) Change 3208688 on 2016/11/23 by Ben.Cosh Made a minor change that forces debugging references to the PIE world when the play in editor world is changed. This is intended to better handle mutliple game instance/world debugging scenarios. #Jira UE-26386 - Can't hit breakpoints in blueprints for level script for server instances #Proj Engine, UnrealEd Change 3208712 on 2016/11/23 by Ben.Cosh Improved handling of unwired transform struct terminal expression's in the blueprint VM compiler to remove an errant warning. #Jira UE-32401 - "ImportText: Missing opening parenthesis" message, when a function returns Transform #Proj KismetCompiler Change 3209457 on 2016/11/23 by Phillip.Kavan [UE-30479] Fix inability to edit the ISMC instance array on Actor instances when the ISMC is inherited from a Blueprint class. change summary: - added PPF_ForceTaggedSerialization as a means to override the CPF_SkipSerialization flag when explicit serialization of the property value is needed - modified UProperty::ShouldSerializeValue() to check for and handle the PPF_ForceTaggedSerialization flag when the CPF_SkipSerialization flag is present - modified UActorComponent::DetermineUCSModifiedProperties() to add the PPF_ForceTaggedSerialization flag to the custom FArchive impl - modified FActorComponentInstanceData::FActorComponentInstanceData() to add the PPF_ForceTaggedSerialization flag to the custom FObjectWriter impl - modified FActorComponentInstanceData::ApplyToComponent() to add the PPF_ForceTaggedSerialization flag to the custom FObjectReader impl #jira UE-30479 Change 3209758 on 2016/11/24 by Maciej.Mroz #jira UE-38979 Nativization: fixed error when a BP implements a native interface. FBlueprintNativeCodeGenModule::IsTargetedForReplacement will return "DontReplace" for native class. Change 3210376 on 2016/11/25 by Maciej.Mroz #jira UE-39028 Fixed FBlueprintNativeCodeGenModule::FindReplacedNameAndOuter Components in nativized BPCG SCS have replaced outer object and name while cooking. Change 3210936 on 2016/11/28 by Phillip.Kavan Minor revision to try and avoid a potentially expensive Contains() call when possible. Change 3211527 on 2016/11/28 by Maciej.Mroz Fixed map of names cooked in packages in nativized build. Change 3211969 on 2016/11/28 by Mike.Beach Merging //UE4/Dev-Main to Dev-Blueprints (//UE4/Dev-Blueprints) Change 3212328 on 2016/11/28 by Dan.Oconnor Enum, pointer and arithmetic specializations for THasGetTypeHash, as VC doesn't detect them properly. TIsEnum moved to its own header. Submitted on behalf of steve.robb Change 3212398 on 2016/11/28 by Dan.Oconnor Build fix, this function is part of another change Change 3212442 on 2016/11/28 by Dan.Oconnor UHT now supports structs in TMap and TSet, misc. fixes to PropertyStruct's PropertyFlags detecting whether the struct type is hashable (all HasGetTypeHash flags are now computed from THasGetTypeHash). Various fixes for generating TMap/TSet code from blueprints Change 3212578 on 2016/11/28 by Dan.Oconnor Rename RegisterClass to avoid collsion with RegistClass macro in generated code Change 3213668 on 2016/11/29 by Dan.Oconnor Fix for missing CDO when instatiating some subobjects in nativized BPs #jira UE-34980 Change 3213737 on 2016/11/29 by Dan.Oconnor Added GetTypeHash implementation to UEnumProperty #jira UE-39091 Change 3215225 on 2016/11/30 by Maciej.Mroz Bunch of changes required for nativized Orion to work with EDL. - ClientOnly, ServerOnly and EditorOnly assets are properly distinguished and handled - Introduced FCompilerNativizationOptions - fixed inproper references to BP instead of BPGC - fixed generated delegate name - hack for DefaultRootNode UE-39168 - improved NativeCodeGenrationTool - various minor improvements Change 3216363 on 2016/11/30 by Dan.Oconnor Better fix for discrepency between UUserDefinedEnum::GetEnumText and UEnum::GetEnumText. Without meta data we could not look up display names, so I'm writing out the display names into a function in the BP cpp backend. This function could be generated by UHT if we wanted to correct this odd behavior for native enums #jira UE-27735 Change 3217168 on 2016/12/01 by Maciej.Mroz #jira UE-35390 Nativization: Fixed compilation warning C4458: declaration of 'CurrentState' hides class member Disabled warning C4996 (deprecated) in nativized code. Change 3217320 on 2016/12/01 by Phillip.Kavan [UE-38652] Selecting Blueprint assets for nativization is now integrated into the project's configuration. change summary: - added EProjectPackagingBlueprintNativizationMethod - deprecated the 'bNativizeBlueprintAssets' and 'bNativizeOnlySelectedBlueprints' flags in favor of a new 'BlueprintNativizationMethod' config property in UProjectPackagingSettings - added a new 'NativizeBlueprintAssets' config property to UProjectPackagingSettings to track/store the list of Blueprints to be nativized when the exclusive method (whitelist) is selected - added a PostInitProperties() override to UProjectPackagingSettings; implemented to migrate from the deprecated config properties to the new method enum type - updated FMainFrameActionCallbacks::PackageProject() to migrate to checking the enum type - updated FBlueprintNativeCodeGenModule::IsTargetedForReplacement() to migrate to checking the enum type - modified UProjectPackagingSettings::CanEditChange() to enable editing of the nativization whitelist only when the "exclusive" method is active - modified UProjectPackagingSettings::PostEditChangeProperty() to add a new case for handling changes to the whitelist; changes are propagated to any Blueprint assets that are loaded - added new Add/RemoveBlueprintAssetFromNativizationList() APIs to UProjectPackagingSettings for assisting with adding/removing Blueprint assets to/from the exclusive list (whitelist) - deprecated the 'bNativize' flag in UBlueprint in favor of a new transient 'bSelectedForNativization' flag that is no longer serialized; this now caches whether or not the asset is present in the whitelist in the project config - modified UBlueprint::Serialize() to both migrate from the deprecated flag to the project config/transient flag on load, as well as to propagate the value of the transient flag back to the project config on save. this means that if the user changes the value of the transient flag through the Details view, that change won't be reflected back to the project config until the Blueprint is actually saved (saving the value to the config rather than serializing to the asset) - modified UBlueprint::PostEditChangeProperty() to remove code that was previously updating the project configuration at edit time. this functionality has been relocated to Serialize() (save time) instead. notes: - also completes UE-38636 (task: consolidate config options into a single drop-down) #jira UE-38652 Change 3218124 on 2016/12/01 by Dan.Oconnor CPF_HasGetValueTypeHash flag was not set on native UEnumProperties #jira UE-39181 Change 3218168 on 2016/12/01 by Phillip.Kavan Fix local var name that shadows a function param (CIS fix). Change 3219117 on 2016/12/02 by Maciej.Mroz #jira UE-39241 "warning C4458: declaration of XXX hides class member" In Nativized Code Nativization: Fixed compilation warning C4458: when local function variable hides a class variable. Names of local variables in funvtions have prefix "bpfv__". Change 3219201 on 2016/12/02 by Mike.Beach Keeping the "Select All Input Nodes" option from infinitely recurssing by blocking on nodes it has already selected. #jira UE-38988 Change 3219247 on 2016/12/02 by Mike.Beach Fixing CIS shadow variable warning from my last check in (CL 3219201). Change 3219332 on 2016/12/02 by Maciej.Mroz #jira HeaderParser: "private:" specifier is lost in FGameplayTag::TagName Workaround for UE-38231 Change 3219381 on 2016/12/02 by Mike.Beach Accounting for cyclic compile issues in cast-node's validate function, making it check the authoratative class instead of the current type. Also down grading some of the warnings to notes (suggesting the users don't need the cast). #jira UE-39272 Change 3220224 on 2016/12/02 by Dan.Oconnor Reduce font size for compact nodes Change 3220476 on 2016/12/03 by Maciej.Mroz #jira UE-35390 Better fix for UE-35390 Disabled deprecation warnings in nativized code. Change 3221637 on 2016/12/05 by Maciej.Mroz #jira UEBP-245 Nativization: Forced ImportCreation while InitialLoad for DynamicClasses. Change 3222306 on 2016/12/05 by Dan.Oconnor Support for default values of TMap and TSet local variables #jira UE-39239 Change 3222383 on 2016/12/05 by Dan.Oconnor Fixed bug in Blueprint TMap function for getting values out of a TMap Change 3222427 on 2016/12/05 by Mike.Beach Preventing ChildActorTemplate fixups from occuring on component load, when they may instead be a placeholder object (a byproduct of deferred Blueprint loading - a guard against cyclic load problems). #jira UE-39323 Change 3222679 on 2016/12/05 by Dan.Oconnor Remove unused code. Had no sideeffects, other than potential for leak when struct with non-trivial dtor was allocated here. Change 3222719 on 2016/12/05 by Dan.Oconnor Earlier detection of invalid native map/set properties. These generate a compile error if any TMap/TSet functions are used, but will slip by undetected if not used. Working on static assert to catch them. #jira UE-39338 Change 3224375 on 2016/12/06 by Dan.Oconnor Add tags for testing of array diffing Change 3224507 on 2016/12/07 by Phillip.Kavan [UE-39055] Fix a crash caused by an object name collision that could occur when loading some older Blueprint assets. change summary: - added UInheritableComponentHandler::FixComponentTemplateName() - modified UInheritableComponentHandler::PostLoad() to check for and correct stale records that cause a collision with the corrected name - added a UInheritableComponentHandler::Serialize() override to ensure that UsingCustomVersion() is called for the asset containing the ICH (already happening in UBlueprint::Serialize(), but added for consistency with other usage) - modified USimpleConstructionScript::Serialize() to ensure that UsingCustomVersion() is called for the asset containing the SCS (same reason as above) #jira UE-39055 Change 3225572 on 2016/12/07 by Samuel.Proctor Test assets for TSet/TMap testing. Includes new native class for testing containers. #rb none Change 3225577 on 2016/12/07 by Samuel.Proctor New test map for Array, TSet and Tmap testing. Change 3226281 on 2016/12/07 by Dan.Oconnor Container test asset, needs to be in p4 for diff tool tests. Change 3226345 on 2016/12/07 by Dan.Oconnor Another revision of test data 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 3230120 on 2016/12/09 by Dan.Oconnor Merging //UE4/Dev-Main to Dev-Blueprints (//UE4/Dev-Blueprints) Change 3230700 on 2016/12/12 by Samuel.Proctor Removing some array test properties from container test class that were not needed. Also updated struct element to better reflect testing purpose. #rb none Change 3230926 on 2016/12/12 by Samuel.Proctor Missed a file on previous container test native QA asset checkin. #rb none Change 3231246 on 2016/12/12 by Dan.Oconnor PR #3003: New Feature: In-editor diff of arrays and structs now highlights diff. (Contributed by CA-ADuran). I've added TSet and TMap support as well. Change 3231311 on 2016/12/12 by Dan.Oconnor Handle class load failure #jira UE-39480 Change 3231387 on 2016/12/12 by Dan.Oconnor Shadow variable fixes Change 3231501 on 2016/12/12 by Dan.Oconnor More shadow fixes Change 3231584 on 2016/12/12 by Maciej.Mroz #jira UE-39636 Replaced obsolate macro usage. #fyi Dan.Oconnor Change 3231685 on 2016/12/12 by Mike.Beach PR #3032: Fixed category for IsValidIndex (Contributed by elFarto) #jira UE-39660 Change 3231689 on 2016/12/12 by Maciej.Mroz Nativization: Fixed Dependency list generation. Change 3231765 on 2016/12/12 by Phillip.Kavan [UE-38903] Auto-enable exclusive Blueprint nativization only after explicitly selecting the first asset. change summary: - fixed up the auto-enable logic on save in UBlueprint::Serialize() #jira UE-38903 #fyi Maciej.Mroz Change 3231837 on 2016/12/12 by Dan.Oconnor Restore hack to keep objects referenced by bytecode alive while in editor #jira UE-38486 Change 3232085 on 2016/12/13 by Phillip.Kavan Compile fix. 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 3232437 on 2016/12/13 by Maciej.Mroz #jira UE-33021 Remove an obsolete warning. Change 3232564 on 2016/12/13 by Ben.Cosh This adds extra component template renaming propagation and checking for the blueprint generated class and blueprint skeleton class. #Jira UE-39623 - Unknown template referenced by Add Component Node #Proj BlueprintGraph - Implementing a bit of review feedback and some safety checking. Change 3232598 on 2016/12/13 by Maciej.Mroz Nativization: stati functions cannot be const, so no workaound (_Inner function) specyfic to const functions is necessary #jira UE-39518 Change 3232601 on 2016/12/13 by Phillip.Kavan [UE-38975] Warn on BuildCookRun or a standalone cook when the -nativizeAssets flag is omitted from the command line for a nativization-enabled project. change summary: - added 'bWarnIfPackagedWithoutNativizationFlag' to UProjectPackagingSettings (default = true) - modified UCookOnTheFlyServer::StartCookByTheBook() to check for the presence of the -nativizeAssets flag and emit a warning for unexpected omission from the command line - modified UAT to include a warning for the BuildCookRun command when -build is specified with the same unexpected omission of the -nativizeAssets flag on the UAT command line #jira UE-38975 Change 3232749 on 2016/12/13 by Mike.Beach Moving Blueprint nativization out of the experimental category. #jira UE-39358 Change 3233043 on 2016/12/13 by Dan.Oconnor Various fixes for TSet/TMap nativization issues #jira UE-39634 Change 3233086 on 2016/12/13 by Dan.Oconnor Advanced Containers (TSet/TMap) no longer experimental Change 3233175 on 2016/12/13 by Mike.Beach Whitelising "Packaging" as an acceptable BP settings category (follow up to CL 3232749). #jira UE-39358 Change 3233182 on 2016/12/13 by Mike.Beach Exposing the editor setting "Show Action Menu Item Signatures" through the Blueprint Developer menu (for ease of access). Change 3233662 on 2016/12/13 by Phillip.Kavan [UE-39722] Fix a typo that led to a UAT runtime failure. #jira UE-39722 Change 3233710 on 2016/12/13 by Dan.Oconnor Clang template useage fix #jira UE-39742 Change 3233895 on 2016/12/13 by Dan.Oconnor Several fixes to crashes that occur when you delete a blueprint asset when its children are not loaded. #jira UE-39558 Change 3234443 on 2016/12/14 by Phillip.Kavan [UE-39354] Fix script VM crash on assignment to TSet/TMap variables. change summary: - modified FScriptBuilderBase::EmitDestinationExpression() to consider TSet/TMap value types in addition to TArray terms #jira UE-39354 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 3234729 on 2016/12/14 by Mike.Beach Making it so AddComponent nodes now track the component (class) type that they represent (in case the template cannot be spawned, like in -server w/ client-only components). #jira UE-38842 Change 3234805 on 2016/12/14 by Mike.Beach Fixing CIS shadowed variable warning. Change 3234830 on 2016/12/14 by Nick.Atamas Added extra debugging mechanisms to help track down duplicate item issues with TableViews. Change 3235075 on 2016/12/14 by Mike.Beach Creating a helper to better manage nested scope blocks added in generated code - on close, clears out cached local accessor variables that were added, so we don't use one that was declared inside the nested scope. #jira UE-39769 Change 3235213 on 2016/12/14 by Phillip.Kavan [UE-39790] Fix UAT compile issue after latest merge from Main. change summary: - migrated the BuildCookRun command's usage of the (deprecated) ConfigCacheIni to the new ConfigHierarchy API #jira UE-39790 Change 3235384 on 2016/12/14 by Mike.Beach Defaulting to excluding data-only Blueprints from nativization. Change 3235675 on 2016/12/14 by Nick.Atamas Hopefully fixed build. Added OnEnteredBadState delegate that lets users add arbitrary logging info when the List/Tree enters a bad state. Change 3235761 on 2016/12/14 by Mike.Beach Hopefully resolving CIS mac/ps4 build failures in Dev-BP for 4.15 integration. #jira UE-39800 Change 3235800 on 2016/12/14 by Mike.Beach More hopeful CIS mac/ps4 fixes for 4.15 integration. #jira UE-39800 [CL 3236017 by Mike Beach in Main branch]
2016-12-14 22:10:20 -05:00
UClass* ComponentType = ComponentClass;
auto PostSpawnLambda = [ComponentType](UEdGraphNode* NewNode, bool bIsTemplateNode, FCustomizeNodeDelegate UserDelegate)
{
UK2Node_AddComponent* AddCompNode = CastChecked<UK2Node_AddComponent>(NewNode);
UBlueprint* Blueprint = AddCompNode->GetBlueprint();
UFunction* AddComponentFunc = FindFieldChecked<UFunction>(AActor::StaticClass(), UK2Node_AddComponent::GetAddComponentFunctionName());
AddCompNode->FunctionReference.SetFromField<UFunction>(AddComponentFunc, !bIsTemplateNode && FBlueprintEditorUtils::IsActorBased(Blueprint));
Copying //UE4/Dev-Blueprints to //UE4/Dev-Main (Source: //UE4/Dev-Blueprints @ 3235800) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3194900 on 2016/11/11 by Ryan.Rauschkolb Fixed issue where Reroute node pins weren't mirroring data properly. #jira UE-33717 Change 3195081 on 2016/11/11 by Dan.Oconnor This @todo was addressed Change 3196368 on 2016/11/14 by Maciej.Mroz Results of FBlueprintNativeCodeGenModule::IsTargetedForReplacement are cashed - optimization (cooking time). Change 3196369 on 2016/11/14 by Maciej.Mroz CompileDisplaysBinaryBackend, CompileDisplaysTextBackend and bDisplaysLayout features (in [Kismet] in Engine.ini) are disabled in commandlets. They slow down BP compilation. Change 3196398 on 2016/11/14 by Ben.Cosh Reworked the tracking of latent and expansion event tracking in the blueprint compiler for use with the blueprint profiler. #Jira - UE-37364 - Crash: PIE with instrumented PlayerPawn_Generic added to AITestbed scene #Proj BlueprintProfiler, KismetCompiler. BlueprintGraph, Engine Change 3196410 on 2016/11/14 by Maciej.Mroz Fixed crash in UK2Node_Knot::PropagatePinTypeFromInput Change 3196852 on 2016/11/14 by Maciej.Mroz Fixed static analysis warning. Change 3196874 on 2016/11/14 by Maciej.Mroz #jira UE-37778 (the issue was already fixed, but it was reintroduced, when EDL support was added). ObjectImport->XObject is not filled prematurelly, so CreateExport is properly called each dynamic class. Change 3197469 on 2016/11/14 by Dan.Oconnor Fix for being able to make Sets and Maps of user defined structs that contained unhashable types (e.g. Rotator) Change 3197703 on 2016/11/14 by Dan.Oconnor Updated documentation comment to reflect current behavior Change 3198167 on 2016/11/15 by Maciej.Mroz Merged 3196582 from Dev-Core UE4 - Changed a check to a warning related to detaching linekrs twice. Seen in nativized BP version of platformer game. Change 3198433 on 2016/11/15 by Ryan.Rauschkolb Fixed Copy/pasting variable nodes hides them from a reference search #UE-31606 Change 3198811 on 2016/11/15 by Maciej.Mroz Fixed Knot node - it will use/propagate the type from input connection, if it's possible (intstead of the type from output connection). Change 3198866 on 2016/11/15 by Maciej.Mroz #jira UE-38578 Fixed infinite loading of DynamicClass in EDL. Change 3199045 on 2016/11/15 by Phillip.Kavan [UE-27402] Fix attached Actor-based Blueprint instance root component relative transform values after reconstruction. change summary: - modified FActorComponentInstanceData's ctor to exclude relative transform properties when caching root component values. #jira UE-27402 Change 3200703 on 2016/11/16 by Mike.Beach Marking the ease node explicitly as pure, which makes it so we can prune it from graphs when it is unused. #jira UE-38453 Change 3201115 on 2016/11/16 by Maciej.Mroz Nativization + EDL: "Dynamic" objects are processed by FAsyncPackage::PostLoadDeferredObjects, so the EInternalObjectFlags::AsyncLoading flag is properly cleared. Change 3201749 on 2016/11/17 by Maciej.Mroz In EDL a package containig a dynamic class has PKG_CompiledIn flag (the same like without EDL). Change 3202577 on 2016/11/17 by Mike.Beach Accounting for a change in our intermediate node mapping - the old list no longer maps expanded nodes to macro instances (instead it maps to the corresponding node in the macro graph), so we had to use a new mapping meant for this. #jira UE-35609 Change 3204803 on 2016/11/18 by Phillip.Kavan [UE-38607] Implicitly turn on Blueprint class nativization for dependencies. change summary: - added a UBlueprint::PostEditChangeProperty() override method to handle this. #jira UE-38607 Change 3204812 on 2016/11/18 by Phillip.Kavan [UE-38580] Implicitly turn on the "nativize" project setting when enabling nativize for any Blueprint class. change summary: - modified UBlueprint::PostEditChangeProperty() to update project packaging settings if necessary #jira UE-38580 Change 3204818 on 2016/11/18 by Phillip.Kavan [UE-38725] Interface class dependencies that are not enabled for nativization will now raise an error during nativized cooks. change summary: - modified FBlueprintNativeCodeGenModule::IsTargetedForReplacement() to check interface class dependencies in addition to parent class dependencies. #jira UE-38725 Change 3204963 on 2016/11/18 by Dan.Oconnor Create a transaction when using UBlueprintFunctionNodeSpawner* directly #jira UE-36439 Change 3206510 on 2016/11/21 by Mike.Beach Adding math-expression aliases for dot and cross functions ("dot" and "cross" respectively). #jira UEBP-71 Change 3206547 on 2016/11/21 by Mike.Beach Exposing GetReflectionVector() to Blueprints. #jira UEBP-70 Change 3206658 on 2016/11/21 by Dan.Oconnor Fix for compile error, digging out authorative class from trash class. Mirror of 3206638 from Odin #jira None Change 3207579 on 2016/11/22 by Mike.Beach No longer enforcing the requirement that game UFunctions have to have a category (making writing of game code easier). #jira UE-18093 Change 3207956 on 2016/11/22 by Phillip.Kavan [UE-38690] Fix a regression in which nested scene component subobjects would no longer be registered after construction of an instance-added component in IWCE. change summary: - modified the IWCE path in SSCSEditor::AddNewComponent() to ensure that any components added as a result of instancing the newly-added component are also registered. - modified AActor::ExecuteConstruction() to ensure that non-scene, native nested component subobjects that might be created as a result of SCS execution are also registered (previously it was only considering non-scene components that were explicitly created by the SCS, or that inherited the creation method of the instance that created it). #jira UE-38690 Change 3208217 on 2016/11/22 by Mike.Beach Modified fix (originally from Ryan.Rauschkolb, CL 3186023): Fixed unable to set struct variable name if name includes space #jira UE-28435 Change 3208347 on 2016/11/22 by Mike.Beach Merging //UE4/Dev-Main to Dev-Blueprints (//UE4/Dev-Blueprints) Change 3208688 on 2016/11/23 by Ben.Cosh Made a minor change that forces debugging references to the PIE world when the play in editor world is changed. This is intended to better handle mutliple game instance/world debugging scenarios. #Jira UE-26386 - Can't hit breakpoints in blueprints for level script for server instances #Proj Engine, UnrealEd Change 3208712 on 2016/11/23 by Ben.Cosh Improved handling of unwired transform struct terminal expression's in the blueprint VM compiler to remove an errant warning. #Jira UE-32401 - "ImportText: Missing opening parenthesis" message, when a function returns Transform #Proj KismetCompiler Change 3209457 on 2016/11/23 by Phillip.Kavan [UE-30479] Fix inability to edit the ISMC instance array on Actor instances when the ISMC is inherited from a Blueprint class. change summary: - added PPF_ForceTaggedSerialization as a means to override the CPF_SkipSerialization flag when explicit serialization of the property value is needed - modified UProperty::ShouldSerializeValue() to check for and handle the PPF_ForceTaggedSerialization flag when the CPF_SkipSerialization flag is present - modified UActorComponent::DetermineUCSModifiedProperties() to add the PPF_ForceTaggedSerialization flag to the custom FArchive impl - modified FActorComponentInstanceData::FActorComponentInstanceData() to add the PPF_ForceTaggedSerialization flag to the custom FObjectWriter impl - modified FActorComponentInstanceData::ApplyToComponent() to add the PPF_ForceTaggedSerialization flag to the custom FObjectReader impl #jira UE-30479 Change 3209758 on 2016/11/24 by Maciej.Mroz #jira UE-38979 Nativization: fixed error when a BP implements a native interface. FBlueprintNativeCodeGenModule::IsTargetedForReplacement will return "DontReplace" for native class. Change 3210376 on 2016/11/25 by Maciej.Mroz #jira UE-39028 Fixed FBlueprintNativeCodeGenModule::FindReplacedNameAndOuter Components in nativized BPCG SCS have replaced outer object and name while cooking. Change 3210936 on 2016/11/28 by Phillip.Kavan Minor revision to try and avoid a potentially expensive Contains() call when possible. Change 3211527 on 2016/11/28 by Maciej.Mroz Fixed map of names cooked in packages in nativized build. Change 3211969 on 2016/11/28 by Mike.Beach Merging //UE4/Dev-Main to Dev-Blueprints (//UE4/Dev-Blueprints) Change 3212328 on 2016/11/28 by Dan.Oconnor Enum, pointer and arithmetic specializations for THasGetTypeHash, as VC doesn't detect them properly. TIsEnum moved to its own header. Submitted on behalf of steve.robb Change 3212398 on 2016/11/28 by Dan.Oconnor Build fix, this function is part of another change Change 3212442 on 2016/11/28 by Dan.Oconnor UHT now supports structs in TMap and TSet, misc. fixes to PropertyStruct's PropertyFlags detecting whether the struct type is hashable (all HasGetTypeHash flags are now computed from THasGetTypeHash). Various fixes for generating TMap/TSet code from blueprints Change 3212578 on 2016/11/28 by Dan.Oconnor Rename RegisterClass to avoid collsion with RegistClass macro in generated code Change 3213668 on 2016/11/29 by Dan.Oconnor Fix for missing CDO when instatiating some subobjects in nativized BPs #jira UE-34980 Change 3213737 on 2016/11/29 by Dan.Oconnor Added GetTypeHash implementation to UEnumProperty #jira UE-39091 Change 3215225 on 2016/11/30 by Maciej.Mroz Bunch of changes required for nativized Orion to work with EDL. - ClientOnly, ServerOnly and EditorOnly assets are properly distinguished and handled - Introduced FCompilerNativizationOptions - fixed inproper references to BP instead of BPGC - fixed generated delegate name - hack for DefaultRootNode UE-39168 - improved NativeCodeGenrationTool - various minor improvements Change 3216363 on 2016/11/30 by Dan.Oconnor Better fix for discrepency between UUserDefinedEnum::GetEnumText and UEnum::GetEnumText. Without meta data we could not look up display names, so I'm writing out the display names into a function in the BP cpp backend. This function could be generated by UHT if we wanted to correct this odd behavior for native enums #jira UE-27735 Change 3217168 on 2016/12/01 by Maciej.Mroz #jira UE-35390 Nativization: Fixed compilation warning C4458: declaration of 'CurrentState' hides class member Disabled warning C4996 (deprecated) in nativized code. Change 3217320 on 2016/12/01 by Phillip.Kavan [UE-38652] Selecting Blueprint assets for nativization is now integrated into the project's configuration. change summary: - added EProjectPackagingBlueprintNativizationMethod - deprecated the 'bNativizeBlueprintAssets' and 'bNativizeOnlySelectedBlueprints' flags in favor of a new 'BlueprintNativizationMethod' config property in UProjectPackagingSettings - added a new 'NativizeBlueprintAssets' config property to UProjectPackagingSettings to track/store the list of Blueprints to be nativized when the exclusive method (whitelist) is selected - added a PostInitProperties() override to UProjectPackagingSettings; implemented to migrate from the deprecated config properties to the new method enum type - updated FMainFrameActionCallbacks::PackageProject() to migrate to checking the enum type - updated FBlueprintNativeCodeGenModule::IsTargetedForReplacement() to migrate to checking the enum type - modified UProjectPackagingSettings::CanEditChange() to enable editing of the nativization whitelist only when the "exclusive" method is active - modified UProjectPackagingSettings::PostEditChangeProperty() to add a new case for handling changes to the whitelist; changes are propagated to any Blueprint assets that are loaded - added new Add/RemoveBlueprintAssetFromNativizationList() APIs to UProjectPackagingSettings for assisting with adding/removing Blueprint assets to/from the exclusive list (whitelist) - deprecated the 'bNativize' flag in UBlueprint in favor of a new transient 'bSelectedForNativization' flag that is no longer serialized; this now caches whether or not the asset is present in the whitelist in the project config - modified UBlueprint::Serialize() to both migrate from the deprecated flag to the project config/transient flag on load, as well as to propagate the value of the transient flag back to the project config on save. this means that if the user changes the value of the transient flag through the Details view, that change won't be reflected back to the project config until the Blueprint is actually saved (saving the value to the config rather than serializing to the asset) - modified UBlueprint::PostEditChangeProperty() to remove code that was previously updating the project configuration at edit time. this functionality has been relocated to Serialize() (save time) instead. notes: - also completes UE-38636 (task: consolidate config options into a single drop-down) #jira UE-38652 Change 3218124 on 2016/12/01 by Dan.Oconnor CPF_HasGetValueTypeHash flag was not set on native UEnumProperties #jira UE-39181 Change 3218168 on 2016/12/01 by Phillip.Kavan Fix local var name that shadows a function param (CIS fix). Change 3219117 on 2016/12/02 by Maciej.Mroz #jira UE-39241 "warning C4458: declaration of XXX hides class member" In Nativized Code Nativization: Fixed compilation warning C4458: when local function variable hides a class variable. Names of local variables in funvtions have prefix "bpfv__". Change 3219201 on 2016/12/02 by Mike.Beach Keeping the "Select All Input Nodes" option from infinitely recurssing by blocking on nodes it has already selected. #jira UE-38988 Change 3219247 on 2016/12/02 by Mike.Beach Fixing CIS shadow variable warning from my last check in (CL 3219201). Change 3219332 on 2016/12/02 by Maciej.Mroz #jira HeaderParser: "private:" specifier is lost in FGameplayTag::TagName Workaround for UE-38231 Change 3219381 on 2016/12/02 by Mike.Beach Accounting for cyclic compile issues in cast-node's validate function, making it check the authoratative class instead of the current type. Also down grading some of the warnings to notes (suggesting the users don't need the cast). #jira UE-39272 Change 3220224 on 2016/12/02 by Dan.Oconnor Reduce font size for compact nodes Change 3220476 on 2016/12/03 by Maciej.Mroz #jira UE-35390 Better fix for UE-35390 Disabled deprecation warnings in nativized code. Change 3221637 on 2016/12/05 by Maciej.Mroz #jira UEBP-245 Nativization: Forced ImportCreation while InitialLoad for DynamicClasses. Change 3222306 on 2016/12/05 by Dan.Oconnor Support for default values of TMap and TSet local variables #jira UE-39239 Change 3222383 on 2016/12/05 by Dan.Oconnor Fixed bug in Blueprint TMap function for getting values out of a TMap Change 3222427 on 2016/12/05 by Mike.Beach Preventing ChildActorTemplate fixups from occuring on component load, when they may instead be a placeholder object (a byproduct of deferred Blueprint loading - a guard against cyclic load problems). #jira UE-39323 Change 3222679 on 2016/12/05 by Dan.Oconnor Remove unused code. Had no sideeffects, other than potential for leak when struct with non-trivial dtor was allocated here. Change 3222719 on 2016/12/05 by Dan.Oconnor Earlier detection of invalid native map/set properties. These generate a compile error if any TMap/TSet functions are used, but will slip by undetected if not used. Working on static assert to catch them. #jira UE-39338 Change 3224375 on 2016/12/06 by Dan.Oconnor Add tags for testing of array diffing Change 3224507 on 2016/12/07 by Phillip.Kavan [UE-39055] Fix a crash caused by an object name collision that could occur when loading some older Blueprint assets. change summary: - added UInheritableComponentHandler::FixComponentTemplateName() - modified UInheritableComponentHandler::PostLoad() to check for and correct stale records that cause a collision with the corrected name - added a UInheritableComponentHandler::Serialize() override to ensure that UsingCustomVersion() is called for the asset containing the ICH (already happening in UBlueprint::Serialize(), but added for consistency with other usage) - modified USimpleConstructionScript::Serialize() to ensure that UsingCustomVersion() is called for the asset containing the SCS (same reason as above) #jira UE-39055 Change 3225572 on 2016/12/07 by Samuel.Proctor Test assets for TSet/TMap testing. Includes new native class for testing containers. #rb none Change 3225577 on 2016/12/07 by Samuel.Proctor New test map for Array, TSet and Tmap testing. Change 3226281 on 2016/12/07 by Dan.Oconnor Container test asset, needs to be in p4 for diff tool tests. Change 3226345 on 2016/12/07 by Dan.Oconnor Another revision of test data 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 3230120 on 2016/12/09 by Dan.Oconnor Merging //UE4/Dev-Main to Dev-Blueprints (//UE4/Dev-Blueprints) Change 3230700 on 2016/12/12 by Samuel.Proctor Removing some array test properties from container test class that were not needed. Also updated struct element to better reflect testing purpose. #rb none Change 3230926 on 2016/12/12 by Samuel.Proctor Missed a file on previous container test native QA asset checkin. #rb none Change 3231246 on 2016/12/12 by Dan.Oconnor PR #3003: New Feature: In-editor diff of arrays and structs now highlights diff. (Contributed by CA-ADuran). I've added TSet and TMap support as well. Change 3231311 on 2016/12/12 by Dan.Oconnor Handle class load failure #jira UE-39480 Change 3231387 on 2016/12/12 by Dan.Oconnor Shadow variable fixes Change 3231501 on 2016/12/12 by Dan.Oconnor More shadow fixes Change 3231584 on 2016/12/12 by Maciej.Mroz #jira UE-39636 Replaced obsolate macro usage. #fyi Dan.Oconnor Change 3231685 on 2016/12/12 by Mike.Beach PR #3032: Fixed category for IsValidIndex (Contributed by elFarto) #jira UE-39660 Change 3231689 on 2016/12/12 by Maciej.Mroz Nativization: Fixed Dependency list generation. Change 3231765 on 2016/12/12 by Phillip.Kavan [UE-38903] Auto-enable exclusive Blueprint nativization only after explicitly selecting the first asset. change summary: - fixed up the auto-enable logic on save in UBlueprint::Serialize() #jira UE-38903 #fyi Maciej.Mroz Change 3231837 on 2016/12/12 by Dan.Oconnor Restore hack to keep objects referenced by bytecode alive while in editor #jira UE-38486 Change 3232085 on 2016/12/13 by Phillip.Kavan Compile fix. 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 3232437 on 2016/12/13 by Maciej.Mroz #jira UE-33021 Remove an obsolete warning. Change 3232564 on 2016/12/13 by Ben.Cosh This adds extra component template renaming propagation and checking for the blueprint generated class and blueprint skeleton class. #Jira UE-39623 - Unknown template referenced by Add Component Node #Proj BlueprintGraph - Implementing a bit of review feedback and some safety checking. Change 3232598 on 2016/12/13 by Maciej.Mroz Nativization: stati functions cannot be const, so no workaound (_Inner function) specyfic to const functions is necessary #jira UE-39518 Change 3232601 on 2016/12/13 by Phillip.Kavan [UE-38975] Warn on BuildCookRun or a standalone cook when the -nativizeAssets flag is omitted from the command line for a nativization-enabled project. change summary: - added 'bWarnIfPackagedWithoutNativizationFlag' to UProjectPackagingSettings (default = true) - modified UCookOnTheFlyServer::StartCookByTheBook() to check for the presence of the -nativizeAssets flag and emit a warning for unexpected omission from the command line - modified UAT to include a warning for the BuildCookRun command when -build is specified with the same unexpected omission of the -nativizeAssets flag on the UAT command line #jira UE-38975 Change 3232749 on 2016/12/13 by Mike.Beach Moving Blueprint nativization out of the experimental category. #jira UE-39358 Change 3233043 on 2016/12/13 by Dan.Oconnor Various fixes for TSet/TMap nativization issues #jira UE-39634 Change 3233086 on 2016/12/13 by Dan.Oconnor Advanced Containers (TSet/TMap) no longer experimental Change 3233175 on 2016/12/13 by Mike.Beach Whitelising "Packaging" as an acceptable BP settings category (follow up to CL 3232749). #jira UE-39358 Change 3233182 on 2016/12/13 by Mike.Beach Exposing the editor setting "Show Action Menu Item Signatures" through the Blueprint Developer menu (for ease of access). Change 3233662 on 2016/12/13 by Phillip.Kavan [UE-39722] Fix a typo that led to a UAT runtime failure. #jira UE-39722 Change 3233710 on 2016/12/13 by Dan.Oconnor Clang template useage fix #jira UE-39742 Change 3233895 on 2016/12/13 by Dan.Oconnor Several fixes to crashes that occur when you delete a blueprint asset when its children are not loaded. #jira UE-39558 Change 3234443 on 2016/12/14 by Phillip.Kavan [UE-39354] Fix script VM crash on assignment to TSet/TMap variables. change summary: - modified FScriptBuilderBase::EmitDestinationExpression() to consider TSet/TMap value types in addition to TArray terms #jira UE-39354 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 3234729 on 2016/12/14 by Mike.Beach Making it so AddComponent nodes now track the component (class) type that they represent (in case the template cannot be spawned, like in -server w/ client-only components). #jira UE-38842 Change 3234805 on 2016/12/14 by Mike.Beach Fixing CIS shadowed variable warning. Change 3234830 on 2016/12/14 by Nick.Atamas Added extra debugging mechanisms to help track down duplicate item issues with TableViews. Change 3235075 on 2016/12/14 by Mike.Beach Creating a helper to better manage nested scope blocks added in generated code - on close, clears out cached local accessor variables that were added, so we don't use one that was declared inside the nested scope. #jira UE-39769 Change 3235213 on 2016/12/14 by Phillip.Kavan [UE-39790] Fix UAT compile issue after latest merge from Main. change summary: - migrated the BuildCookRun command's usage of the (deprecated) ConfigCacheIni to the new ConfigHierarchy API #jira UE-39790 Change 3235384 on 2016/12/14 by Mike.Beach Defaulting to excluding data-only Blueprints from nativization. Change 3235675 on 2016/12/14 by Nick.Atamas Hopefully fixed build. Added OnEnteredBadState delegate that lets users add arbitrary logging info when the List/Tree enters a bad state. Change 3235761 on 2016/12/14 by Mike.Beach Hopefully resolving CIS mac/ps4 build failures in Dev-BP for 4.15 integration. #jira UE-39800 Change 3235800 on 2016/12/14 by Mike.Beach More hopeful CIS mac/ps4 fixes for 4.15 integration. #jira UE-39800 [CL 3236017 by Mike Beach in Main branch]
2016-12-14 22:10:20 -05:00
AddCompNode->TemplateType = ComponentType;
UserDelegate.ExecuteIfBound(NewNode, bIsTemplateNode);
};
Copying //UE4/Dev-Blueprints to //UE4/Dev-Main (Source: //UE4/Dev-Blueprints @ 3235800) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3194900 on 2016/11/11 by Ryan.Rauschkolb Fixed issue where Reroute node pins weren't mirroring data properly. #jira UE-33717 Change 3195081 on 2016/11/11 by Dan.Oconnor This @todo was addressed Change 3196368 on 2016/11/14 by Maciej.Mroz Results of FBlueprintNativeCodeGenModule::IsTargetedForReplacement are cashed - optimization (cooking time). Change 3196369 on 2016/11/14 by Maciej.Mroz CompileDisplaysBinaryBackend, CompileDisplaysTextBackend and bDisplaysLayout features (in [Kismet] in Engine.ini) are disabled in commandlets. They slow down BP compilation. Change 3196398 on 2016/11/14 by Ben.Cosh Reworked the tracking of latent and expansion event tracking in the blueprint compiler for use with the blueprint profiler. #Jira - UE-37364 - Crash: PIE with instrumented PlayerPawn_Generic added to AITestbed scene #Proj BlueprintProfiler, KismetCompiler. BlueprintGraph, Engine Change 3196410 on 2016/11/14 by Maciej.Mroz Fixed crash in UK2Node_Knot::PropagatePinTypeFromInput Change 3196852 on 2016/11/14 by Maciej.Mroz Fixed static analysis warning. Change 3196874 on 2016/11/14 by Maciej.Mroz #jira UE-37778 (the issue was already fixed, but it was reintroduced, when EDL support was added). ObjectImport->XObject is not filled prematurelly, so CreateExport is properly called each dynamic class. Change 3197469 on 2016/11/14 by Dan.Oconnor Fix for being able to make Sets and Maps of user defined structs that contained unhashable types (e.g. Rotator) Change 3197703 on 2016/11/14 by Dan.Oconnor Updated documentation comment to reflect current behavior Change 3198167 on 2016/11/15 by Maciej.Mroz Merged 3196582 from Dev-Core UE4 - Changed a check to a warning related to detaching linekrs twice. Seen in nativized BP version of platformer game. Change 3198433 on 2016/11/15 by Ryan.Rauschkolb Fixed Copy/pasting variable nodes hides them from a reference search #UE-31606 Change 3198811 on 2016/11/15 by Maciej.Mroz Fixed Knot node - it will use/propagate the type from input connection, if it's possible (intstead of the type from output connection). Change 3198866 on 2016/11/15 by Maciej.Mroz #jira UE-38578 Fixed infinite loading of DynamicClass in EDL. Change 3199045 on 2016/11/15 by Phillip.Kavan [UE-27402] Fix attached Actor-based Blueprint instance root component relative transform values after reconstruction. change summary: - modified FActorComponentInstanceData's ctor to exclude relative transform properties when caching root component values. #jira UE-27402 Change 3200703 on 2016/11/16 by Mike.Beach Marking the ease node explicitly as pure, which makes it so we can prune it from graphs when it is unused. #jira UE-38453 Change 3201115 on 2016/11/16 by Maciej.Mroz Nativization + EDL: "Dynamic" objects are processed by FAsyncPackage::PostLoadDeferredObjects, so the EInternalObjectFlags::AsyncLoading flag is properly cleared. Change 3201749 on 2016/11/17 by Maciej.Mroz In EDL a package containig a dynamic class has PKG_CompiledIn flag (the same like without EDL). Change 3202577 on 2016/11/17 by Mike.Beach Accounting for a change in our intermediate node mapping - the old list no longer maps expanded nodes to macro instances (instead it maps to the corresponding node in the macro graph), so we had to use a new mapping meant for this. #jira UE-35609 Change 3204803 on 2016/11/18 by Phillip.Kavan [UE-38607] Implicitly turn on Blueprint class nativization for dependencies. change summary: - added a UBlueprint::PostEditChangeProperty() override method to handle this. #jira UE-38607 Change 3204812 on 2016/11/18 by Phillip.Kavan [UE-38580] Implicitly turn on the "nativize" project setting when enabling nativize for any Blueprint class. change summary: - modified UBlueprint::PostEditChangeProperty() to update project packaging settings if necessary #jira UE-38580 Change 3204818 on 2016/11/18 by Phillip.Kavan [UE-38725] Interface class dependencies that are not enabled for nativization will now raise an error during nativized cooks. change summary: - modified FBlueprintNativeCodeGenModule::IsTargetedForReplacement() to check interface class dependencies in addition to parent class dependencies. #jira UE-38725 Change 3204963 on 2016/11/18 by Dan.Oconnor Create a transaction when using UBlueprintFunctionNodeSpawner* directly #jira UE-36439 Change 3206510 on 2016/11/21 by Mike.Beach Adding math-expression aliases for dot and cross functions ("dot" and "cross" respectively). #jira UEBP-71 Change 3206547 on 2016/11/21 by Mike.Beach Exposing GetReflectionVector() to Blueprints. #jira UEBP-70 Change 3206658 on 2016/11/21 by Dan.Oconnor Fix for compile error, digging out authorative class from trash class. Mirror of 3206638 from Odin #jira None Change 3207579 on 2016/11/22 by Mike.Beach No longer enforcing the requirement that game UFunctions have to have a category (making writing of game code easier). #jira UE-18093 Change 3207956 on 2016/11/22 by Phillip.Kavan [UE-38690] Fix a regression in which nested scene component subobjects would no longer be registered after construction of an instance-added component in IWCE. change summary: - modified the IWCE path in SSCSEditor::AddNewComponent() to ensure that any components added as a result of instancing the newly-added component are also registered. - modified AActor::ExecuteConstruction() to ensure that non-scene, native nested component subobjects that might be created as a result of SCS execution are also registered (previously it was only considering non-scene components that were explicitly created by the SCS, or that inherited the creation method of the instance that created it). #jira UE-38690 Change 3208217 on 2016/11/22 by Mike.Beach Modified fix (originally from Ryan.Rauschkolb, CL 3186023): Fixed unable to set struct variable name if name includes space #jira UE-28435 Change 3208347 on 2016/11/22 by Mike.Beach Merging //UE4/Dev-Main to Dev-Blueprints (//UE4/Dev-Blueprints) Change 3208688 on 2016/11/23 by Ben.Cosh Made a minor change that forces debugging references to the PIE world when the play in editor world is changed. This is intended to better handle mutliple game instance/world debugging scenarios. #Jira UE-26386 - Can't hit breakpoints in blueprints for level script for server instances #Proj Engine, UnrealEd Change 3208712 on 2016/11/23 by Ben.Cosh Improved handling of unwired transform struct terminal expression's in the blueprint VM compiler to remove an errant warning. #Jira UE-32401 - "ImportText: Missing opening parenthesis" message, when a function returns Transform #Proj KismetCompiler Change 3209457 on 2016/11/23 by Phillip.Kavan [UE-30479] Fix inability to edit the ISMC instance array on Actor instances when the ISMC is inherited from a Blueprint class. change summary: - added PPF_ForceTaggedSerialization as a means to override the CPF_SkipSerialization flag when explicit serialization of the property value is needed - modified UProperty::ShouldSerializeValue() to check for and handle the PPF_ForceTaggedSerialization flag when the CPF_SkipSerialization flag is present - modified UActorComponent::DetermineUCSModifiedProperties() to add the PPF_ForceTaggedSerialization flag to the custom FArchive impl - modified FActorComponentInstanceData::FActorComponentInstanceData() to add the PPF_ForceTaggedSerialization flag to the custom FObjectWriter impl - modified FActorComponentInstanceData::ApplyToComponent() to add the PPF_ForceTaggedSerialization flag to the custom FObjectReader impl #jira UE-30479 Change 3209758 on 2016/11/24 by Maciej.Mroz #jira UE-38979 Nativization: fixed error when a BP implements a native interface. FBlueprintNativeCodeGenModule::IsTargetedForReplacement will return "DontReplace" for native class. Change 3210376 on 2016/11/25 by Maciej.Mroz #jira UE-39028 Fixed FBlueprintNativeCodeGenModule::FindReplacedNameAndOuter Components in nativized BPCG SCS have replaced outer object and name while cooking. Change 3210936 on 2016/11/28 by Phillip.Kavan Minor revision to try and avoid a potentially expensive Contains() call when possible. Change 3211527 on 2016/11/28 by Maciej.Mroz Fixed map of names cooked in packages in nativized build. Change 3211969 on 2016/11/28 by Mike.Beach Merging //UE4/Dev-Main to Dev-Blueprints (//UE4/Dev-Blueprints) Change 3212328 on 2016/11/28 by Dan.Oconnor Enum, pointer and arithmetic specializations for THasGetTypeHash, as VC doesn't detect them properly. TIsEnum moved to its own header. Submitted on behalf of steve.robb Change 3212398 on 2016/11/28 by Dan.Oconnor Build fix, this function is part of another change Change 3212442 on 2016/11/28 by Dan.Oconnor UHT now supports structs in TMap and TSet, misc. fixes to PropertyStruct's PropertyFlags detecting whether the struct type is hashable (all HasGetTypeHash flags are now computed from THasGetTypeHash). Various fixes for generating TMap/TSet code from blueprints Change 3212578 on 2016/11/28 by Dan.Oconnor Rename RegisterClass to avoid collsion with RegistClass macro in generated code Change 3213668 on 2016/11/29 by Dan.Oconnor Fix for missing CDO when instatiating some subobjects in nativized BPs #jira UE-34980 Change 3213737 on 2016/11/29 by Dan.Oconnor Added GetTypeHash implementation to UEnumProperty #jira UE-39091 Change 3215225 on 2016/11/30 by Maciej.Mroz Bunch of changes required for nativized Orion to work with EDL. - ClientOnly, ServerOnly and EditorOnly assets are properly distinguished and handled - Introduced FCompilerNativizationOptions - fixed inproper references to BP instead of BPGC - fixed generated delegate name - hack for DefaultRootNode UE-39168 - improved NativeCodeGenrationTool - various minor improvements Change 3216363 on 2016/11/30 by Dan.Oconnor Better fix for discrepency between UUserDefinedEnum::GetEnumText and UEnum::GetEnumText. Without meta data we could not look up display names, so I'm writing out the display names into a function in the BP cpp backend. This function could be generated by UHT if we wanted to correct this odd behavior for native enums #jira UE-27735 Change 3217168 on 2016/12/01 by Maciej.Mroz #jira UE-35390 Nativization: Fixed compilation warning C4458: declaration of 'CurrentState' hides class member Disabled warning C4996 (deprecated) in nativized code. Change 3217320 on 2016/12/01 by Phillip.Kavan [UE-38652] Selecting Blueprint assets for nativization is now integrated into the project's configuration. change summary: - added EProjectPackagingBlueprintNativizationMethod - deprecated the 'bNativizeBlueprintAssets' and 'bNativizeOnlySelectedBlueprints' flags in favor of a new 'BlueprintNativizationMethod' config property in UProjectPackagingSettings - added a new 'NativizeBlueprintAssets' config property to UProjectPackagingSettings to track/store the list of Blueprints to be nativized when the exclusive method (whitelist) is selected - added a PostInitProperties() override to UProjectPackagingSettings; implemented to migrate from the deprecated config properties to the new method enum type - updated FMainFrameActionCallbacks::PackageProject() to migrate to checking the enum type - updated FBlueprintNativeCodeGenModule::IsTargetedForReplacement() to migrate to checking the enum type - modified UProjectPackagingSettings::CanEditChange() to enable editing of the nativization whitelist only when the "exclusive" method is active - modified UProjectPackagingSettings::PostEditChangeProperty() to add a new case for handling changes to the whitelist; changes are propagated to any Blueprint assets that are loaded - added new Add/RemoveBlueprintAssetFromNativizationList() APIs to UProjectPackagingSettings for assisting with adding/removing Blueprint assets to/from the exclusive list (whitelist) - deprecated the 'bNativize' flag in UBlueprint in favor of a new transient 'bSelectedForNativization' flag that is no longer serialized; this now caches whether or not the asset is present in the whitelist in the project config - modified UBlueprint::Serialize() to both migrate from the deprecated flag to the project config/transient flag on load, as well as to propagate the value of the transient flag back to the project config on save. this means that if the user changes the value of the transient flag through the Details view, that change won't be reflected back to the project config until the Blueprint is actually saved (saving the value to the config rather than serializing to the asset) - modified UBlueprint::PostEditChangeProperty() to remove code that was previously updating the project configuration at edit time. this functionality has been relocated to Serialize() (save time) instead. notes: - also completes UE-38636 (task: consolidate config options into a single drop-down) #jira UE-38652 Change 3218124 on 2016/12/01 by Dan.Oconnor CPF_HasGetValueTypeHash flag was not set on native UEnumProperties #jira UE-39181 Change 3218168 on 2016/12/01 by Phillip.Kavan Fix local var name that shadows a function param (CIS fix). Change 3219117 on 2016/12/02 by Maciej.Mroz #jira UE-39241 "warning C4458: declaration of XXX hides class member" In Nativized Code Nativization: Fixed compilation warning C4458: when local function variable hides a class variable. Names of local variables in funvtions have prefix "bpfv__". Change 3219201 on 2016/12/02 by Mike.Beach Keeping the "Select All Input Nodes" option from infinitely recurssing by blocking on nodes it has already selected. #jira UE-38988 Change 3219247 on 2016/12/02 by Mike.Beach Fixing CIS shadow variable warning from my last check in (CL 3219201). Change 3219332 on 2016/12/02 by Maciej.Mroz #jira HeaderParser: "private:" specifier is lost in FGameplayTag::TagName Workaround for UE-38231 Change 3219381 on 2016/12/02 by Mike.Beach Accounting for cyclic compile issues in cast-node's validate function, making it check the authoratative class instead of the current type. Also down grading some of the warnings to notes (suggesting the users don't need the cast). #jira UE-39272 Change 3220224 on 2016/12/02 by Dan.Oconnor Reduce font size for compact nodes Change 3220476 on 2016/12/03 by Maciej.Mroz #jira UE-35390 Better fix for UE-35390 Disabled deprecation warnings in nativized code. Change 3221637 on 2016/12/05 by Maciej.Mroz #jira UEBP-245 Nativization: Forced ImportCreation while InitialLoad for DynamicClasses. Change 3222306 on 2016/12/05 by Dan.Oconnor Support for default values of TMap and TSet local variables #jira UE-39239 Change 3222383 on 2016/12/05 by Dan.Oconnor Fixed bug in Blueprint TMap function for getting values out of a TMap Change 3222427 on 2016/12/05 by Mike.Beach Preventing ChildActorTemplate fixups from occuring on component load, when they may instead be a placeholder object (a byproduct of deferred Blueprint loading - a guard against cyclic load problems). #jira UE-39323 Change 3222679 on 2016/12/05 by Dan.Oconnor Remove unused code. Had no sideeffects, other than potential for leak when struct with non-trivial dtor was allocated here. Change 3222719 on 2016/12/05 by Dan.Oconnor Earlier detection of invalid native map/set properties. These generate a compile error if any TMap/TSet functions are used, but will slip by undetected if not used. Working on static assert to catch them. #jira UE-39338 Change 3224375 on 2016/12/06 by Dan.Oconnor Add tags for testing of array diffing Change 3224507 on 2016/12/07 by Phillip.Kavan [UE-39055] Fix a crash caused by an object name collision that could occur when loading some older Blueprint assets. change summary: - added UInheritableComponentHandler::FixComponentTemplateName() - modified UInheritableComponentHandler::PostLoad() to check for and correct stale records that cause a collision with the corrected name - added a UInheritableComponentHandler::Serialize() override to ensure that UsingCustomVersion() is called for the asset containing the ICH (already happening in UBlueprint::Serialize(), but added for consistency with other usage) - modified USimpleConstructionScript::Serialize() to ensure that UsingCustomVersion() is called for the asset containing the SCS (same reason as above) #jira UE-39055 Change 3225572 on 2016/12/07 by Samuel.Proctor Test assets for TSet/TMap testing. Includes new native class for testing containers. #rb none Change 3225577 on 2016/12/07 by Samuel.Proctor New test map for Array, TSet and Tmap testing. Change 3226281 on 2016/12/07 by Dan.Oconnor Container test asset, needs to be in p4 for diff tool tests. Change 3226345 on 2016/12/07 by Dan.Oconnor Another revision of test data 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 3230120 on 2016/12/09 by Dan.Oconnor Merging //UE4/Dev-Main to Dev-Blueprints (//UE4/Dev-Blueprints) Change 3230700 on 2016/12/12 by Samuel.Proctor Removing some array test properties from container test class that were not needed. Also updated struct element to better reflect testing purpose. #rb none Change 3230926 on 2016/12/12 by Samuel.Proctor Missed a file on previous container test native QA asset checkin. #rb none Change 3231246 on 2016/12/12 by Dan.Oconnor PR #3003: New Feature: In-editor diff of arrays and structs now highlights diff. (Contributed by CA-ADuran). I've added TSet and TMap support as well. Change 3231311 on 2016/12/12 by Dan.Oconnor Handle class load failure #jira UE-39480 Change 3231387 on 2016/12/12 by Dan.Oconnor Shadow variable fixes Change 3231501 on 2016/12/12 by Dan.Oconnor More shadow fixes Change 3231584 on 2016/12/12 by Maciej.Mroz #jira UE-39636 Replaced obsolate macro usage. #fyi Dan.Oconnor Change 3231685 on 2016/12/12 by Mike.Beach PR #3032: Fixed category for IsValidIndex (Contributed by elFarto) #jira UE-39660 Change 3231689 on 2016/12/12 by Maciej.Mroz Nativization: Fixed Dependency list generation. Change 3231765 on 2016/12/12 by Phillip.Kavan [UE-38903] Auto-enable exclusive Blueprint nativization only after explicitly selecting the first asset. change summary: - fixed up the auto-enable logic on save in UBlueprint::Serialize() #jira UE-38903 #fyi Maciej.Mroz Change 3231837 on 2016/12/12 by Dan.Oconnor Restore hack to keep objects referenced by bytecode alive while in editor #jira UE-38486 Change 3232085 on 2016/12/13 by Phillip.Kavan Compile fix. 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 3232437 on 2016/12/13 by Maciej.Mroz #jira UE-33021 Remove an obsolete warning. Change 3232564 on 2016/12/13 by Ben.Cosh This adds extra component template renaming propagation and checking for the blueprint generated class and blueprint skeleton class. #Jira UE-39623 - Unknown template referenced by Add Component Node #Proj BlueprintGraph - Implementing a bit of review feedback and some safety checking. Change 3232598 on 2016/12/13 by Maciej.Mroz Nativization: stati functions cannot be const, so no workaound (_Inner function) specyfic to const functions is necessary #jira UE-39518 Change 3232601 on 2016/12/13 by Phillip.Kavan [UE-38975] Warn on BuildCookRun or a standalone cook when the -nativizeAssets flag is omitted from the command line for a nativization-enabled project. change summary: - added 'bWarnIfPackagedWithoutNativizationFlag' to UProjectPackagingSettings (default = true) - modified UCookOnTheFlyServer::StartCookByTheBook() to check for the presence of the -nativizeAssets flag and emit a warning for unexpected omission from the command line - modified UAT to include a warning for the BuildCookRun command when -build is specified with the same unexpected omission of the -nativizeAssets flag on the UAT command line #jira UE-38975 Change 3232749 on 2016/12/13 by Mike.Beach Moving Blueprint nativization out of the experimental category. #jira UE-39358 Change 3233043 on 2016/12/13 by Dan.Oconnor Various fixes for TSet/TMap nativization issues #jira UE-39634 Change 3233086 on 2016/12/13 by Dan.Oconnor Advanced Containers (TSet/TMap) no longer experimental Change 3233175 on 2016/12/13 by Mike.Beach Whitelising "Packaging" as an acceptable BP settings category (follow up to CL 3232749). #jira UE-39358 Change 3233182 on 2016/12/13 by Mike.Beach Exposing the editor setting "Show Action Menu Item Signatures" through the Blueprint Developer menu (for ease of access). Change 3233662 on 2016/12/13 by Phillip.Kavan [UE-39722] Fix a typo that led to a UAT runtime failure. #jira UE-39722 Change 3233710 on 2016/12/13 by Dan.Oconnor Clang template useage fix #jira UE-39742 Change 3233895 on 2016/12/13 by Dan.Oconnor Several fixes to crashes that occur when you delete a blueprint asset when its children are not loaded. #jira UE-39558 Change 3234443 on 2016/12/14 by Phillip.Kavan [UE-39354] Fix script VM crash on assignment to TSet/TMap variables. change summary: - modified FScriptBuilderBase::EmitDestinationExpression() to consider TSet/TMap value types in addition to TArray terms #jira UE-39354 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 3234729 on 2016/12/14 by Mike.Beach Making it so AddComponent nodes now track the component (class) type that they represent (in case the template cannot be spawned, like in -server w/ client-only components). #jira UE-38842 Change 3234805 on 2016/12/14 by Mike.Beach Fixing CIS shadowed variable warning. Change 3234830 on 2016/12/14 by Nick.Atamas Added extra debugging mechanisms to help track down duplicate item issues with TableViews. Change 3235075 on 2016/12/14 by Mike.Beach Creating a helper to better manage nested scope blocks added in generated code - on close, clears out cached local accessor variables that were added, so we don't use one that was declared inside the nested scope. #jira UE-39769 Change 3235213 on 2016/12/14 by Phillip.Kavan [UE-39790] Fix UAT compile issue after latest merge from Main. change summary: - migrated the BuildCookRun command's usage of the (deprecated) ConfigCacheIni to the new ConfigHierarchy API #jira UE-39790 Change 3235384 on 2016/12/14 by Mike.Beach Defaulting to excluding data-only Blueprints from nativization. Change 3235675 on 2016/12/14 by Nick.Atamas Hopefully fixed build. Added OnEnteredBadState delegate that lets users add arbitrary logging info when the List/Tree enters a bad state. Change 3235761 on 2016/12/14 by Mike.Beach Hopefully resolving CIS mac/ps4 build failures in Dev-BP for 4.15 integration. #jira UE-39800 Change 3235800 on 2016/12/14 by Mike.Beach More hopeful CIS mac/ps4 fixes for 4.15 integration. #jira UE-39800 [CL 3236017 by Mike Beach in Main branch]
2016-12-14 22:10:20 -05:00
FCustomizeNodeDelegate PostSpawnDelegate = FCustomizeNodeDelegate::CreateLambda(PostSpawnLambda, CustomizeNodeDelegate);
// let SpawnNode() allocate default pins (so we can modify them)
UK2Node_AddComponent* NewNode = Super::SpawnNode<UK2Node_AddComponent>(NodeClass, ParentGraph, FBindingSet(), Location, PostSpawnDelegate);
Copying //UE4/Dev-Blueprints to //UE4/Dev-Main (Source: //UE4/Dev-Blueprints @ 3042808) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3026763 on 2016/06/24 by Phillip.Kavan [UE-32259] Fix missing heat map coloration on pure nodes. change summary: - modified FScriptExecutionNode::RefreshStats() to ensure that child nodes are updated for 'standard' exec node types. #jira UE-32259 Change 3026829 on 2016/06/24 by Mike.Beach Mirroring CL 3025832 from Release-4.12 Guarding GetClassDefault nodes against asserts while loading cyclically dependent content. Regenerating one Blueprint could trigger a ReconstructNode() in a separate Blueprint (that had already been regenerated). However, not all objects in that Blueprint's package have been post-loaded, so object Rename() will assert is you try to reset loaders with it. #jira UE-32356 Change 3026888 on 2016/06/24 by Mike.Beach PR #2460: Functionality to flag blueprint as abstract (Contributed by Pierdek) Change 3027245 on 2016/06/24 by Phillip.Kavan [UEBP-180] Alternate treatment for Blueprint profiler tree view node expander icon (to differentiate from exec pin icons). change summary: - added SProfilerStatExpander (from BenC) - modified original to replace indicator icons w/ FontAwesome glyphs (they're a bit clearer) - see screenshot attached to JIRA #jira UEBP-180 Change 3027279 on 2016/06/24 by Ryan.Rauschkolb Fixed issue where unsupported pins could be added to custom Event nodes which can lead to a crash #jira UE-31148 Change 3027606 on 2016/06/25 by Dan.Oconnor Back out changelist 3027279, this change breaks custom events coupled to multicast delegate nodes (see ProjRocket.uasset in shooter game for an example) Change 3028731 on 2016/06/27 by Ben.Cosh Minor change to the spacing around the new expander icons for the blueprint profiler. #Jira UEBP-180 - Pin icons are too similar to the tree expander icons in the node execution graph display. #Proj Kismet Change 3028740 on 2016/06/27 by Ben.Cosh This change modifies the way the blueprint profiler detects and maps delegate events that are created at blueprint compile time. #Jira UE-32055 - Assert when profiling timelines in the blueprint profiler #Proj BlueprintProfiler, KismetCompiler, BlueprintGraph, LiveEditor, Kismet, Engine Change 3028844 on 2016/06/27 by Maciej.Mroz #jira UE-32470 Nativized Orion: Sparrow has no Rentless ability. Better way to find Placeholder classes in BlueprintNativeCodeGenModule. Change 3029573 on 2016/06/27 by Ryan.Rauschkolb Fixed issue where Preview Connection would be drawn incorrectly when an input and output pin share the same name #jira UE-32211 Change 3030335 on 2016/06/28 by Maciej.Mroz #jira UE-30858 Nativized Orion - Some particle effects are not rendering List of AssetRegistrySearchable properties, that should be stored for DynamicClasses in moved to .ini file. Added SearchDynamicClassCues function in GameplayCueManager.cpp Change 3030492 on 2016/06/28 by Ben.Cosh CIS Mac Build fix Change 3030494 on 2016/06/28 by Ben.Cosh This change reworks the way the blueprint profiler maps latent re-entry points to address problems that could be triggered when multiple re-entries happenned within close proximity. #Jira UE-32452 - Blueprint profiler asserts when a second latent entry is triggered #Proj BlueprintProfiler, CoreUObject, Engine, Kismet Change 3030612 on 2016/06/28 by Maciej.Mroz typo fixed Change 3031461 on 2016/06/28 by Dan.Oconnor Fixed for crash involving a stale UEdGraphPin after performing an undo/redo operation inolving UEdGraphNode(s) #jira UE-32553 Change 3031537 on 2016/06/28 by Ben.Cosh Fix for a problem introduced in CL 3030494 and recent graph pin changes that caused problems uniquely naming tunnel entry/exit pins. #Jira UE-32578 - Crash when profiling blueprint containing a for-loop #Proj BlueprintProfiler Change 3031556 on 2016/06/28 by Ben.Cosh This fixes a problem with the profiler tracking of PIE actor instances adding a mechanism to refresh the actor references when a subsequent PIE session is started. #Jira UE-32595 - Running two subsequent PIE sessions with a latent entry point causes an assert. #Proj BlueprintProfiler, Kismet Change 3031588 on 2016/06/28 by Ryan.Rauschkolb Fixed issue where unsupported pins could be added to custom Event nodes which can lead to a crash #jira UE-31148 Change 3031887 on 2016/06/28 by Dan.Oconnor Fix for crash caused by stale pin access in SGraphPin, also fixes 'double opacity' effect when ctrl+dragging off of a macro #jira UE-32604 Change 3031932 on 2016/06/28 by Dan.Oconnor Fix for major regression in pin value visibility #jira UE-32614 Change 3032568 on 2016/06/29 by Phillip.Kavan [UE-31681] Ensure that cached component data cache template objects are referenced during garbage collection. change summary: - modified AActor::AddReferencedObjects() to include CurrentTransactionAnnotation - added UChildActorComponent::AddReferencedObjects() to include CachedInstanceData - also added FChildActorComponentInstanceData::AddReferencedObjects() to include ComponentInstanceData (just in case some future task happens to trigger a reference gather during its lifetime) additional notes: - should also resolve UE-32558 #jira UE-31681 Change 3032998 on 2016/06/29 by Dan.Oconnor Fixing shutdown crash after LinkedTo lists are corrupted. An ensure couldn't fire when a node had already been destroyed. UE-32631 tracks the actual ensure. #jira UE-32634 Change 3033448 on 2016/06/29 by Ryan.Rauschkolb Discard Return Nodes that have no outputs when collapsing to function #jira UE-23381 Change 3034407 on 2016/06/30 by Phillip.Kavan [UE-32675] Fix no-editor compile issue. Change 3034691 on 2016/06/30 by Ryan.Rauschkolb Fixed issue where Macro nodes with ambiguous links could be collapsed into a function Change 3034701 on 2016/06/30 by Ryan.Rauschkolb Cleaned up UEdGraphSchema_K2::GetVariableTypeTree to use a filter rather than several booleans Change 3035093 on 2016/06/30 by Maciej.Mroz #jira UE-32683 BP_Hero Blueprint failing to compile in Orion - K2Node_CustomEvent_1050 is out of date Temporary fix. Change 3035440 on 2016/07/01 by Maciej.Mroz #jira UE-32706 Nativized Orion crash - Cannot find "Root" subobject in ABP_HeroPedestal_C... Make sure, the CDO of DynamicClass (and its subobjects) have AsyncLoading flag cleared. Change 3035442 on 2016/07/01 by Maciej.Mroz Added UDynamicClass::FindArchetype #jira UE-30667 Ground material in Agora incorrect in Nativized Orion Change 3036233 on 2016/07/01 by Dan.Oconnor Proper handling of null pin references in compiler results logs Change 3036541 on 2016/07/01 by Dan.Oconnor Fix for more assymetry in LinkedTo after undo/redo. This solution addresses both UE-32645 and UE-32553. The key to correct behavior is to explictly detect the case where only one of the two nodes in a peer (LinkedTo) relationship are in the transaction buffer. Added IsObjectTransacting to transaction interface to detect this. #jira UE-32645 Change 3036581 on 2016/07/02 by Dan.Oconnor Non-editor fix Change 3036632 on 2016/07/02 by Maciej.Mroz Removed too strict check in BlueprintNativeCodeGenModule Change 3036715 on 2016/07/02 by Maciej.Mroz #jira UE-32612 Odin emits a error when nativized - attempting to access a hidden boolean bitfield property - Private bitfield can be used as LHS expression in generated code. - Refactoring. Introduced ENativizedTermUsage. Change 3037014 on 2016/07/04 by Maciej.Mroz #jira UE-32729 Orion failing to package for PS4 with Nativization Make sure that temporary variable used in ternary operator: "context ? context->variable : temp-variable", has exactly the same type as the wanted variable. Change 3037300 on 2016/07/05 by Maciej.Mroz #jira UE-31756 Fixup hardcoded function names in BP=>Cpp backend Change 3037303 on 2016/07/05 by Maciej.Mroz #jira UE-31756 Nativization - fixed hardcoded string. Change 3037307 on 2016/07/05 by Maciej.Mroz AutomationTool: Fixed issue: A nativized client was compiled with both client and server NativizedAssets plugins. Paths to nativized BP plugin is stored in a map. Change 3037712 on 2016/07/05 by Mike.Beach Adding a non-const version of MultiFindPointer() for TMultiMap. Change 3037790 on 2016/07/05 by Mike.Beach Fixing a bug where overridden components in Blueprints could load with cleared properties - this could happen in cyclically dependent parent/child Blueprints (where the child's component would be zeroed). In this case, the Blueprint's CDO would be deferred, so to solve this new issue we now defer the Blueprint's sub-object overrides as well. #jira UE-32693 Change 3038014 on 2016/07/05 by Ben.Cosh Refactor of the blueprint profiler tunnel mapping and playback to address issues blocking MVP #Jira UE-32056 - The blueprint profiler can still get hung up with cyclic links in the graph #Proj Kismet, BlueprintProfiler, KismetCompiler, BlueprintGraph, UnrealEd Change 3038533 on 2016/07/05 by Mike.Beach PR #2558: Stopping Zoom-to-Fit On User Input (Fixed) (Contributed by MichaelSchoell) Change 3038608 on 2016/07/05 by Dan.Oconnor Fix for crash when altering ConstructObjectFromClass nodes, removed now unused InvalidateAndTrash function from UEdGraphPin, removed subpin leak counter #jira FORT-26495 Change 3038770 on 2016/07/05 by Dan.Oconnor Hiding TThreadSingleton<FBlueprintExceptionTracker>::Get() to fix clang for windows link error #jira UE-31935 Change 3038841 on 2016/07/05 by Dan.Oconnor Simple null check to prevent crash after loading a blueprint to diff. The diff'd blueprint is ending up in other blueprint's DependentBlueprintsToRecompile, for now this is the safest fix #jira UE-31115 Change 3039179 on 2016/07/06 by Maciej.Mroz #jira UE-31987 Editor crashes when transforming actor after applying instances changes Selected (in Level editor) instance components are still selected after they are converted to regular components. Change 3039216 on 2016/07/06 by Maciej.Mroz #jira UE-31767 [CrashReport] UE4Editor_Engine!AActor::GetLevel() [actor.cpp:1663] FIxed unsafe code. Change 3040046 on 2016/07/06 by Ben.Cosh This fixes a problem found where tunnel instances inside tunnel graphs fail to map correctly in the blueprint profiler #Jira UE-32862 - Tunnel instances inside tunnels do not map correctly in the blueprint profiler #Proj BlueprintProfiler Change 3040061 on 2016/07/06 by Ben.Cosh fix for bad unshelve before submit in CL 3040046 - Phillip already reviewed this version of the file and not what was actually submitted. Change 3040346 on 2016/07/06 by Maciej.Mroz #jira UE-32840 //UE4/Dev-Blueprints: UE4_StaticAnalysis completed with Warnings - 2 Warnings Fix(?) for warning C28182 Change 3040349 on 2016/07/06 by Dan.Oconnor Updating test data Change 3040473 on 2016/07/06 by Dan.Oconnor Fix SMyBlueprint in blueprint diff tool so that kismet inspector is updated with the object selected in SMyBlueprint, needed to investigate UE-18200 Change 3040536 on 2016/07/06 by Dan.Oconnor Call to APITestFunction Change 3040565 on 2016/07/06 by Dan.Oconnor Clone saved GeneratedClass when not doing COL. Groundwork to fix for UE-17268. Change 3040603 on 2016/07/06 by Dan.Oconnor PR #2539: Option to disable Grid in the blueprint and material editor and change grid colors (Contributed by CelPlays) #jira UE-32497 Change 3040798 on 2016/07/07 by Maciej.Mroz Fixed warning C6011: Dereferencing NULL pointer 'Object'. Added some comments. #jira UE-32840 Change 3041185 on 2016/07/07 by Ben.Cosh This fixes problems with the blueprint profiler with name collisions for nodes in different graphs and improves nested tunnel detection. #Jira UE-32862 - Tunnel instances inside tunnels do not map correctly in the blueprint profiler #Jira UE-32889 - Name collisions can now occur in the blueprint profiler for stat nodes. #Proj BlueprintProfiler, Kismet Notes: This attempts to continue to address fall out from CL 3040046 to improve stability. Previously execution nodes were patched into the function contexts that called a tunnel instance. However this proved problematic after spotting a rare case where node names collide between between event and tunnel graphs and caused havok in the node mapping. This change moves to an approach that patches in tunnel contexts and any dependent contexts and instead attempts to locate critical path nodes using a new node search system making use of these child function contexts. CL 3040046 also modified TunnelContext's to be actually more representative of a tunnel instance context, I have updated naming conventions to reflect this for clarity. The changes here also add a single function context for tunnel graphs which contain the bulk of the nodes in the graph and the tunnel instance contexts reference this and make use of it to create non boundary / tunnel instance nodes so they are located in a single place for all instances of that tunnel graph. Change 3041603 on 2016/07/07 by Dan.Oconnor Fix for check failure: PreviousCDO != nullptr, when loading blueprints that have circularly dependent interfaces #jira UE-31639 Change 3042058 on 2016/07/07 by Dan.Oconnor Ensures that the correct ComponentClass is assigned to our template node. This pins are normally allocated lazilly in BlueprintActionFilterImpl::HasMatchingPin, so not a huge change #jira UE-32769 Change 3042468 on 2016/07/08 by Maciej.Mroz #jira UE-32882, UE-32887 Fixed Crash in UHT. Fixed "Ambiguous search" error, when delegate has owner class declared. Change 3042739 on 2016/07/08 by Maciej.Mroz Nativization. Included headers for native subobjects. Change 3042747 on 2016/07/08 by Maciej.Mroz Minor changes in Orion code, necessary to compile the project with nativized Blueprints Change 3042758 on 2016/07/08 by Maciej.Mroz "OrionGame.h" is included in NativizedAssets module. [CL 3043181 by Mike Beach in Main branch]
2016-07-08 14:59:19 -04:00
if (NewNode->Pins.Num() == 0)
{
NewNode->AllocateDefaultPins();
}
// set the return type to be the type of the template
UEdGraphPin* ReturnPin = NewNode->GetReturnValuePin();
if (ReturnPin != nullptr)
{
if (ComponentClass != nullptr)
{
Copying //UE4/Dev-Blueprints to //UE4/Dev-Main (Source: //UE4/Dev-Blueprints @ 3235800) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3194900 on 2016/11/11 by Ryan.Rauschkolb Fixed issue where Reroute node pins weren't mirroring data properly. #jira UE-33717 Change 3195081 on 2016/11/11 by Dan.Oconnor This @todo was addressed Change 3196368 on 2016/11/14 by Maciej.Mroz Results of FBlueprintNativeCodeGenModule::IsTargetedForReplacement are cashed - optimization (cooking time). Change 3196369 on 2016/11/14 by Maciej.Mroz CompileDisplaysBinaryBackend, CompileDisplaysTextBackend and bDisplaysLayout features (in [Kismet] in Engine.ini) are disabled in commandlets. They slow down BP compilation. Change 3196398 on 2016/11/14 by Ben.Cosh Reworked the tracking of latent and expansion event tracking in the blueprint compiler for use with the blueprint profiler. #Jira - UE-37364 - Crash: PIE with instrumented PlayerPawn_Generic added to AITestbed scene #Proj BlueprintProfiler, KismetCompiler. BlueprintGraph, Engine Change 3196410 on 2016/11/14 by Maciej.Mroz Fixed crash in UK2Node_Knot::PropagatePinTypeFromInput Change 3196852 on 2016/11/14 by Maciej.Mroz Fixed static analysis warning. Change 3196874 on 2016/11/14 by Maciej.Mroz #jira UE-37778 (the issue was already fixed, but it was reintroduced, when EDL support was added). ObjectImport->XObject is not filled prematurelly, so CreateExport is properly called each dynamic class. Change 3197469 on 2016/11/14 by Dan.Oconnor Fix for being able to make Sets and Maps of user defined structs that contained unhashable types (e.g. Rotator) Change 3197703 on 2016/11/14 by Dan.Oconnor Updated documentation comment to reflect current behavior Change 3198167 on 2016/11/15 by Maciej.Mroz Merged 3196582 from Dev-Core UE4 - Changed a check to a warning related to detaching linekrs twice. Seen in nativized BP version of platformer game. Change 3198433 on 2016/11/15 by Ryan.Rauschkolb Fixed Copy/pasting variable nodes hides them from a reference search #UE-31606 Change 3198811 on 2016/11/15 by Maciej.Mroz Fixed Knot node - it will use/propagate the type from input connection, if it's possible (intstead of the type from output connection). Change 3198866 on 2016/11/15 by Maciej.Mroz #jira UE-38578 Fixed infinite loading of DynamicClass in EDL. Change 3199045 on 2016/11/15 by Phillip.Kavan [UE-27402] Fix attached Actor-based Blueprint instance root component relative transform values after reconstruction. change summary: - modified FActorComponentInstanceData's ctor to exclude relative transform properties when caching root component values. #jira UE-27402 Change 3200703 on 2016/11/16 by Mike.Beach Marking the ease node explicitly as pure, which makes it so we can prune it from graphs when it is unused. #jira UE-38453 Change 3201115 on 2016/11/16 by Maciej.Mroz Nativization + EDL: "Dynamic" objects are processed by FAsyncPackage::PostLoadDeferredObjects, so the EInternalObjectFlags::AsyncLoading flag is properly cleared. Change 3201749 on 2016/11/17 by Maciej.Mroz In EDL a package containig a dynamic class has PKG_CompiledIn flag (the same like without EDL). Change 3202577 on 2016/11/17 by Mike.Beach Accounting for a change in our intermediate node mapping - the old list no longer maps expanded nodes to macro instances (instead it maps to the corresponding node in the macro graph), so we had to use a new mapping meant for this. #jira UE-35609 Change 3204803 on 2016/11/18 by Phillip.Kavan [UE-38607] Implicitly turn on Blueprint class nativization for dependencies. change summary: - added a UBlueprint::PostEditChangeProperty() override method to handle this. #jira UE-38607 Change 3204812 on 2016/11/18 by Phillip.Kavan [UE-38580] Implicitly turn on the "nativize" project setting when enabling nativize for any Blueprint class. change summary: - modified UBlueprint::PostEditChangeProperty() to update project packaging settings if necessary #jira UE-38580 Change 3204818 on 2016/11/18 by Phillip.Kavan [UE-38725] Interface class dependencies that are not enabled for nativization will now raise an error during nativized cooks. change summary: - modified FBlueprintNativeCodeGenModule::IsTargetedForReplacement() to check interface class dependencies in addition to parent class dependencies. #jira UE-38725 Change 3204963 on 2016/11/18 by Dan.Oconnor Create a transaction when using UBlueprintFunctionNodeSpawner* directly #jira UE-36439 Change 3206510 on 2016/11/21 by Mike.Beach Adding math-expression aliases for dot and cross functions ("dot" and "cross" respectively). #jira UEBP-71 Change 3206547 on 2016/11/21 by Mike.Beach Exposing GetReflectionVector() to Blueprints. #jira UEBP-70 Change 3206658 on 2016/11/21 by Dan.Oconnor Fix for compile error, digging out authorative class from trash class. Mirror of 3206638 from Odin #jira None Change 3207579 on 2016/11/22 by Mike.Beach No longer enforcing the requirement that game UFunctions have to have a category (making writing of game code easier). #jira UE-18093 Change 3207956 on 2016/11/22 by Phillip.Kavan [UE-38690] Fix a regression in which nested scene component subobjects would no longer be registered after construction of an instance-added component in IWCE. change summary: - modified the IWCE path in SSCSEditor::AddNewComponent() to ensure that any components added as a result of instancing the newly-added component are also registered. - modified AActor::ExecuteConstruction() to ensure that non-scene, native nested component subobjects that might be created as a result of SCS execution are also registered (previously it was only considering non-scene components that were explicitly created by the SCS, or that inherited the creation method of the instance that created it). #jira UE-38690 Change 3208217 on 2016/11/22 by Mike.Beach Modified fix (originally from Ryan.Rauschkolb, CL 3186023): Fixed unable to set struct variable name if name includes space #jira UE-28435 Change 3208347 on 2016/11/22 by Mike.Beach Merging //UE4/Dev-Main to Dev-Blueprints (//UE4/Dev-Blueprints) Change 3208688 on 2016/11/23 by Ben.Cosh Made a minor change that forces debugging references to the PIE world when the play in editor world is changed. This is intended to better handle mutliple game instance/world debugging scenarios. #Jira UE-26386 - Can't hit breakpoints in blueprints for level script for server instances #Proj Engine, UnrealEd Change 3208712 on 2016/11/23 by Ben.Cosh Improved handling of unwired transform struct terminal expression's in the blueprint VM compiler to remove an errant warning. #Jira UE-32401 - "ImportText: Missing opening parenthesis" message, when a function returns Transform #Proj KismetCompiler Change 3209457 on 2016/11/23 by Phillip.Kavan [UE-30479] Fix inability to edit the ISMC instance array on Actor instances when the ISMC is inherited from a Blueprint class. change summary: - added PPF_ForceTaggedSerialization as a means to override the CPF_SkipSerialization flag when explicit serialization of the property value is needed - modified UProperty::ShouldSerializeValue() to check for and handle the PPF_ForceTaggedSerialization flag when the CPF_SkipSerialization flag is present - modified UActorComponent::DetermineUCSModifiedProperties() to add the PPF_ForceTaggedSerialization flag to the custom FArchive impl - modified FActorComponentInstanceData::FActorComponentInstanceData() to add the PPF_ForceTaggedSerialization flag to the custom FObjectWriter impl - modified FActorComponentInstanceData::ApplyToComponent() to add the PPF_ForceTaggedSerialization flag to the custom FObjectReader impl #jira UE-30479 Change 3209758 on 2016/11/24 by Maciej.Mroz #jira UE-38979 Nativization: fixed error when a BP implements a native interface. FBlueprintNativeCodeGenModule::IsTargetedForReplacement will return "DontReplace" for native class. Change 3210376 on 2016/11/25 by Maciej.Mroz #jira UE-39028 Fixed FBlueprintNativeCodeGenModule::FindReplacedNameAndOuter Components in nativized BPCG SCS have replaced outer object and name while cooking. Change 3210936 on 2016/11/28 by Phillip.Kavan Minor revision to try and avoid a potentially expensive Contains() call when possible. Change 3211527 on 2016/11/28 by Maciej.Mroz Fixed map of names cooked in packages in nativized build. Change 3211969 on 2016/11/28 by Mike.Beach Merging //UE4/Dev-Main to Dev-Blueprints (//UE4/Dev-Blueprints) Change 3212328 on 2016/11/28 by Dan.Oconnor Enum, pointer and arithmetic specializations for THasGetTypeHash, as VC doesn't detect them properly. TIsEnum moved to its own header. Submitted on behalf of steve.robb Change 3212398 on 2016/11/28 by Dan.Oconnor Build fix, this function is part of another change Change 3212442 on 2016/11/28 by Dan.Oconnor UHT now supports structs in TMap and TSet, misc. fixes to PropertyStruct's PropertyFlags detecting whether the struct type is hashable (all HasGetTypeHash flags are now computed from THasGetTypeHash). Various fixes for generating TMap/TSet code from blueprints Change 3212578 on 2016/11/28 by Dan.Oconnor Rename RegisterClass to avoid collsion with RegistClass macro in generated code Change 3213668 on 2016/11/29 by Dan.Oconnor Fix for missing CDO when instatiating some subobjects in nativized BPs #jira UE-34980 Change 3213737 on 2016/11/29 by Dan.Oconnor Added GetTypeHash implementation to UEnumProperty #jira UE-39091 Change 3215225 on 2016/11/30 by Maciej.Mroz Bunch of changes required for nativized Orion to work with EDL. - ClientOnly, ServerOnly and EditorOnly assets are properly distinguished and handled - Introduced FCompilerNativizationOptions - fixed inproper references to BP instead of BPGC - fixed generated delegate name - hack for DefaultRootNode UE-39168 - improved NativeCodeGenrationTool - various minor improvements Change 3216363 on 2016/11/30 by Dan.Oconnor Better fix for discrepency between UUserDefinedEnum::GetEnumText and UEnum::GetEnumText. Without meta data we could not look up display names, so I'm writing out the display names into a function in the BP cpp backend. This function could be generated by UHT if we wanted to correct this odd behavior for native enums #jira UE-27735 Change 3217168 on 2016/12/01 by Maciej.Mroz #jira UE-35390 Nativization: Fixed compilation warning C4458: declaration of 'CurrentState' hides class member Disabled warning C4996 (deprecated) in nativized code. Change 3217320 on 2016/12/01 by Phillip.Kavan [UE-38652] Selecting Blueprint assets for nativization is now integrated into the project's configuration. change summary: - added EProjectPackagingBlueprintNativizationMethod - deprecated the 'bNativizeBlueprintAssets' and 'bNativizeOnlySelectedBlueprints' flags in favor of a new 'BlueprintNativizationMethod' config property in UProjectPackagingSettings - added a new 'NativizeBlueprintAssets' config property to UProjectPackagingSettings to track/store the list of Blueprints to be nativized when the exclusive method (whitelist) is selected - added a PostInitProperties() override to UProjectPackagingSettings; implemented to migrate from the deprecated config properties to the new method enum type - updated FMainFrameActionCallbacks::PackageProject() to migrate to checking the enum type - updated FBlueprintNativeCodeGenModule::IsTargetedForReplacement() to migrate to checking the enum type - modified UProjectPackagingSettings::CanEditChange() to enable editing of the nativization whitelist only when the "exclusive" method is active - modified UProjectPackagingSettings::PostEditChangeProperty() to add a new case for handling changes to the whitelist; changes are propagated to any Blueprint assets that are loaded - added new Add/RemoveBlueprintAssetFromNativizationList() APIs to UProjectPackagingSettings for assisting with adding/removing Blueprint assets to/from the exclusive list (whitelist) - deprecated the 'bNativize' flag in UBlueprint in favor of a new transient 'bSelectedForNativization' flag that is no longer serialized; this now caches whether or not the asset is present in the whitelist in the project config - modified UBlueprint::Serialize() to both migrate from the deprecated flag to the project config/transient flag on load, as well as to propagate the value of the transient flag back to the project config on save. this means that if the user changes the value of the transient flag through the Details view, that change won't be reflected back to the project config until the Blueprint is actually saved (saving the value to the config rather than serializing to the asset) - modified UBlueprint::PostEditChangeProperty() to remove code that was previously updating the project configuration at edit time. this functionality has been relocated to Serialize() (save time) instead. notes: - also completes UE-38636 (task: consolidate config options into a single drop-down) #jira UE-38652 Change 3218124 on 2016/12/01 by Dan.Oconnor CPF_HasGetValueTypeHash flag was not set on native UEnumProperties #jira UE-39181 Change 3218168 on 2016/12/01 by Phillip.Kavan Fix local var name that shadows a function param (CIS fix). Change 3219117 on 2016/12/02 by Maciej.Mroz #jira UE-39241 "warning C4458: declaration of XXX hides class member" In Nativized Code Nativization: Fixed compilation warning C4458: when local function variable hides a class variable. Names of local variables in funvtions have prefix "bpfv__". Change 3219201 on 2016/12/02 by Mike.Beach Keeping the "Select All Input Nodes" option from infinitely recurssing by blocking on nodes it has already selected. #jira UE-38988 Change 3219247 on 2016/12/02 by Mike.Beach Fixing CIS shadow variable warning from my last check in (CL 3219201). Change 3219332 on 2016/12/02 by Maciej.Mroz #jira HeaderParser: "private:" specifier is lost in FGameplayTag::TagName Workaround for UE-38231 Change 3219381 on 2016/12/02 by Mike.Beach Accounting for cyclic compile issues in cast-node's validate function, making it check the authoratative class instead of the current type. Also down grading some of the warnings to notes (suggesting the users don't need the cast). #jira UE-39272 Change 3220224 on 2016/12/02 by Dan.Oconnor Reduce font size for compact nodes Change 3220476 on 2016/12/03 by Maciej.Mroz #jira UE-35390 Better fix for UE-35390 Disabled deprecation warnings in nativized code. Change 3221637 on 2016/12/05 by Maciej.Mroz #jira UEBP-245 Nativization: Forced ImportCreation while InitialLoad for DynamicClasses. Change 3222306 on 2016/12/05 by Dan.Oconnor Support for default values of TMap and TSet local variables #jira UE-39239 Change 3222383 on 2016/12/05 by Dan.Oconnor Fixed bug in Blueprint TMap function for getting values out of a TMap Change 3222427 on 2016/12/05 by Mike.Beach Preventing ChildActorTemplate fixups from occuring on component load, when they may instead be a placeholder object (a byproduct of deferred Blueprint loading - a guard against cyclic load problems). #jira UE-39323 Change 3222679 on 2016/12/05 by Dan.Oconnor Remove unused code. Had no sideeffects, other than potential for leak when struct with non-trivial dtor was allocated here. Change 3222719 on 2016/12/05 by Dan.Oconnor Earlier detection of invalid native map/set properties. These generate a compile error if any TMap/TSet functions are used, but will slip by undetected if not used. Working on static assert to catch them. #jira UE-39338 Change 3224375 on 2016/12/06 by Dan.Oconnor Add tags for testing of array diffing Change 3224507 on 2016/12/07 by Phillip.Kavan [UE-39055] Fix a crash caused by an object name collision that could occur when loading some older Blueprint assets. change summary: - added UInheritableComponentHandler::FixComponentTemplateName() - modified UInheritableComponentHandler::PostLoad() to check for and correct stale records that cause a collision with the corrected name - added a UInheritableComponentHandler::Serialize() override to ensure that UsingCustomVersion() is called for the asset containing the ICH (already happening in UBlueprint::Serialize(), but added for consistency with other usage) - modified USimpleConstructionScript::Serialize() to ensure that UsingCustomVersion() is called for the asset containing the SCS (same reason as above) #jira UE-39055 Change 3225572 on 2016/12/07 by Samuel.Proctor Test assets for TSet/TMap testing. Includes new native class for testing containers. #rb none Change 3225577 on 2016/12/07 by Samuel.Proctor New test map for Array, TSet and Tmap testing. Change 3226281 on 2016/12/07 by Dan.Oconnor Container test asset, needs to be in p4 for diff tool tests. Change 3226345 on 2016/12/07 by Dan.Oconnor Another revision of test data 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 3230120 on 2016/12/09 by Dan.Oconnor Merging //UE4/Dev-Main to Dev-Blueprints (//UE4/Dev-Blueprints) Change 3230700 on 2016/12/12 by Samuel.Proctor Removing some array test properties from container test class that were not needed. Also updated struct element to better reflect testing purpose. #rb none Change 3230926 on 2016/12/12 by Samuel.Proctor Missed a file on previous container test native QA asset checkin. #rb none Change 3231246 on 2016/12/12 by Dan.Oconnor PR #3003: New Feature: In-editor diff of arrays and structs now highlights diff. (Contributed by CA-ADuran). I've added TSet and TMap support as well. Change 3231311 on 2016/12/12 by Dan.Oconnor Handle class load failure #jira UE-39480 Change 3231387 on 2016/12/12 by Dan.Oconnor Shadow variable fixes Change 3231501 on 2016/12/12 by Dan.Oconnor More shadow fixes Change 3231584 on 2016/12/12 by Maciej.Mroz #jira UE-39636 Replaced obsolate macro usage. #fyi Dan.Oconnor Change 3231685 on 2016/12/12 by Mike.Beach PR #3032: Fixed category for IsValidIndex (Contributed by elFarto) #jira UE-39660 Change 3231689 on 2016/12/12 by Maciej.Mroz Nativization: Fixed Dependency list generation. Change 3231765 on 2016/12/12 by Phillip.Kavan [UE-38903] Auto-enable exclusive Blueprint nativization only after explicitly selecting the first asset. change summary: - fixed up the auto-enable logic on save in UBlueprint::Serialize() #jira UE-38903 #fyi Maciej.Mroz Change 3231837 on 2016/12/12 by Dan.Oconnor Restore hack to keep objects referenced by bytecode alive while in editor #jira UE-38486 Change 3232085 on 2016/12/13 by Phillip.Kavan Compile fix. 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 3232437 on 2016/12/13 by Maciej.Mroz #jira UE-33021 Remove an obsolete warning. Change 3232564 on 2016/12/13 by Ben.Cosh This adds extra component template renaming propagation and checking for the blueprint generated class and blueprint skeleton class. #Jira UE-39623 - Unknown template referenced by Add Component Node #Proj BlueprintGraph - Implementing a bit of review feedback and some safety checking. Change 3232598 on 2016/12/13 by Maciej.Mroz Nativization: stati functions cannot be const, so no workaound (_Inner function) specyfic to const functions is necessary #jira UE-39518 Change 3232601 on 2016/12/13 by Phillip.Kavan [UE-38975] Warn on BuildCookRun or a standalone cook when the -nativizeAssets flag is omitted from the command line for a nativization-enabled project. change summary: - added 'bWarnIfPackagedWithoutNativizationFlag' to UProjectPackagingSettings (default = true) - modified UCookOnTheFlyServer::StartCookByTheBook() to check for the presence of the -nativizeAssets flag and emit a warning for unexpected omission from the command line - modified UAT to include a warning for the BuildCookRun command when -build is specified with the same unexpected omission of the -nativizeAssets flag on the UAT command line #jira UE-38975 Change 3232749 on 2016/12/13 by Mike.Beach Moving Blueprint nativization out of the experimental category. #jira UE-39358 Change 3233043 on 2016/12/13 by Dan.Oconnor Various fixes for TSet/TMap nativization issues #jira UE-39634 Change 3233086 on 2016/12/13 by Dan.Oconnor Advanced Containers (TSet/TMap) no longer experimental Change 3233175 on 2016/12/13 by Mike.Beach Whitelising "Packaging" as an acceptable BP settings category (follow up to CL 3232749). #jira UE-39358 Change 3233182 on 2016/12/13 by Mike.Beach Exposing the editor setting "Show Action Menu Item Signatures" through the Blueprint Developer menu (for ease of access). Change 3233662 on 2016/12/13 by Phillip.Kavan [UE-39722] Fix a typo that led to a UAT runtime failure. #jira UE-39722 Change 3233710 on 2016/12/13 by Dan.Oconnor Clang template useage fix #jira UE-39742 Change 3233895 on 2016/12/13 by Dan.Oconnor Several fixes to crashes that occur when you delete a blueprint asset when its children are not loaded. #jira UE-39558 Change 3234443 on 2016/12/14 by Phillip.Kavan [UE-39354] Fix script VM crash on assignment to TSet/TMap variables. change summary: - modified FScriptBuilderBase::EmitDestinationExpression() to consider TSet/TMap value types in addition to TArray terms #jira UE-39354 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 3234729 on 2016/12/14 by Mike.Beach Making it so AddComponent nodes now track the component (class) type that they represent (in case the template cannot be spawned, like in -server w/ client-only components). #jira UE-38842 Change 3234805 on 2016/12/14 by Mike.Beach Fixing CIS shadowed variable warning. Change 3234830 on 2016/12/14 by Nick.Atamas Added extra debugging mechanisms to help track down duplicate item issues with TableViews. Change 3235075 on 2016/12/14 by Mike.Beach Creating a helper to better manage nested scope blocks added in generated code - on close, clears out cached local accessor variables that were added, so we don't use one that was declared inside the nested scope. #jira UE-39769 Change 3235213 on 2016/12/14 by Phillip.Kavan [UE-39790] Fix UAT compile issue after latest merge from Main. change summary: - migrated the BuildCookRun command's usage of the (deprecated) ConfigCacheIni to the new ConfigHierarchy API #jira UE-39790 Change 3235384 on 2016/12/14 by Mike.Beach Defaulting to excluding data-only Blueprints from nativization. Change 3235675 on 2016/12/14 by Nick.Atamas Hopefully fixed build. Added OnEnteredBadState delegate that lets users add arbitrary logging info when the List/Tree enters a bad state. Change 3235761 on 2016/12/14 by Mike.Beach Hopefully resolving CIS mac/ps4 build failures in Dev-BP for 4.15 integration. #jira UE-39800 Change 3235800 on 2016/12/14 by Mike.Beach More hopeful CIS mac/ps4 fixes for 4.15 integration. #jira UE-39800 [CL 3236017 by Mike Beach in Main branch]
2016-12-14 22:10:20 -05:00
ReturnPin->PinType.PinSubCategoryObject = ComponentType;
}
else
{
ReturnPin->PinType.PinSubCategoryObject = UActorComponent::StaticClass();
}
}
bool const bIsTemplateNode = FBlueprintNodeTemplateCache::IsTemplateOuter(ParentGraph);
if (!bIsTemplateNode)
{
TSubclassOf<UActorComponent> Class = ComponentClass;
if (Class == nullptr)
{
const ELoadFlags LoadFlags = LOAD_None;
UObject* LoadedObject = LoadObject<UObject>(/*Outer =*/ nullptr, *ComponentAssetName, /*Filename =*/ nullptr, LoadFlags);
if (LoadedObject == nullptr)
{
return nullptr;
}
// Note: The asset name may refer to either the generated class or the outer BP asset.
if (const UBlueprint* LoadedObjectAsBlueprint = Cast<UBlueprint>(LoadedObject))
{
Class = TSubclassOf<UActorComponent>(LoadedObjectAsBlueprint->GeneratedClass);
}
else
{
Class = TSubclassOf<UActorComponent>(Cast<UBlueprintGeneratedClass>(LoadedObject));
}
if (Class == nullptr)
{
return nullptr;
}
// Since the node has already been spawned, we need to update its template type.
// Note that the return pin's type will be updated when we reconstruct the node below.
NewNode->TemplateType = Class;
}
UBlueprint* Blueprint = NewNode->GetBlueprint();
FName DesiredComponentName = NewNode->MakeNewComponentTemplateName(Blueprint->GeneratedClass, Class);
Merging //UE4/Release-4.11 to //UE4/Main (up to CL#2852902) ========================== MAJOR FEATURES + CHANGES ========================== Change 2835191 on 2016/01/19 by Nick.Whiting Invert the y-axis on the SteamVR controllers to match the convention of the engine and the rest of the gamepads #jira UE-22705 Change 2835686 on 2016/01/20 by Gareth.Martin Fixed landscape material instances not being updated if holes are painted on a landscape that doesn't have the landscape visibility mask node in the material and then the visibility mask node is added to the material later. #jira UE-18187 Change 2835767 on 2016/01/20 by Richard.Hinckley #jira UE-25499 Added a cursor to TopDown template (C++ version) to match the BP version. Change 2835772 on 2016/01/20 by Richard.Hinckley #jira UE-25499 Adding the material asset for the C++ TopDown template's cursor. Change 2835811 on 2016/01/20 by Taizyd.Korambayil #jira UE-25699 Added Validity Checks in BP logic, unchecked CDO for Pixel Ship, to Fix Log Warnings #jira UE-25704 Adjusted Matinee to happen at Box Location #jira UE-25688 Adjusted Player Starts #jira UE-25693 Adjusted Player Starts Change 2835863 on 2016/01/20 by Gareth.Martin Fixed crash in the landscape ramp and mirror tools if the streaming level containing the landscape is hidden (or possibly if the landscape actor is deleted) #jira UE-24883 Change 2835889 on 2016/01/20 by Taizyd.Korambayil #jira UE-25698 Enabled V-sync, also fixed up player Respawn Issue Change 2835995 on 2016/01/20 by Jamie.Dale The output log now hard-wraps lines to prevent long lines causing performance issues #jira UE-24187 Change 2836052 on 2016/01/20 by Taizyd.Korambayil #jira UE-25675 Added Blocking Volume to prevent Player from Falling off map #jira UE-25676 Added Blocking Volumes so that the Player doesn't get stucl at awkward corners under the Bridge Change 2836137 on 2016/01/20 by Chad.Taylor Vehicle and VehicleAdv template content fixes for new VR camera #jira UE-25507 Change 2836166 on 2016/01/20 by Gareth.Martin Fixed hiding a streaming level containing a landscape causing the landscape editor to switch to the "New Landscape" tool instead of exiting #jira UE-25093 Change 2836174 on 2016/01/20 by Chad.Taylor IHeadMountedDisplay crash fix associated with accessing a dangling pointer. #jira UE-25272 Change 2836179 on 2016/01/20 by Jamie.Dale Optimized FShapedGlyphSequence reverse look-up There's now a reverse look-up map of cluster indices to their glyph data in order to avoid brute force looping #jira UE-24187 Change 2836286 on 2016/01/20 by Chris.Babcock Update Qualcomm TextureConverter for OSX #jira UE-22092 #ue4 #android Change 2836328 on 2016/01/20 by Nick.Darnell Fixing a problem with widget components crashing on destruction with the render commands to pre/post render for window render commands needing access to the policy, but it potentially being deleted. Inserting a NoOp command that keeps the shared ptr alive through the RHI render process. #jira UE-25752 Change 2836342 on 2016/01/20 by Nick.Darnell Depending on shutdown order, the Slate Renderer may go away, and then render data handles may not be collected correctly because they are trying to reference a pointer that's no longer valid and cause a crash on exit. The correct approach would be to have render handles actually have a pointer back to who owns them, in this case the RHI Resource Manager, which is still alive and well at this point in the pipeline. Then if the resource manager is collected, it forces all handles to get cleaned up correctly, or if the handles are collected first, they can be sure they've got a valid pointer back to the resource manager. #jira UE-25753 Change 2836358 on 2016/01/20 by Taizyd.Korambayil #jira UE-25710 Replaced Deprecated Nodes Change 2836510 on 2016/01/20 by Taizyd.Korambayil #jira UE-25718 Adjsuted BP to make pointer decal rotate in the direction of surface Change 2836564 on 2016/01/20 by Taizyd.Korambayil #jira UE-25716 Added bool to store last Moved Direction Change 2836697 on 2016/01/20 by Taizyd.Korambayil #jira UE-25740 Removed unused VR Nodes to remove Log errors on Mac Change 2836725 on 2016/01/20 by Peter.Sauerbrei workaround for thread race when trying to release the TargetDeviceService endpoint after an unclaim message is sent #jira UE-25123 Change 2836782 on 2016/01/20 by Jamie.Dale Added FTextLayout::AddLines This is similar to AddLine, however it allows you to add multiple lines in a single call, thus avoiding the re-justification cost associated with each call to AddLine. AddLine has also been changed to take the same structure type as AddLines (which takes an array of these structures), and the existing version of AddLine has been deprecated. #jira UE-24187 Change 2836801 on 2016/01/20 by Jeff.Campeau [CL 2857187 by Matthew Griffin in Main branch]
2016-02-05 11:54:00 -05:00
UActorComponent* ComponentTemplate = NewObject<UActorComponent>(Blueprint->GeneratedClass, Class, DesiredComponentName, RF_ArchetypeObject | RF_Public | RF_Transactional);
Blueprint->ComponentTemplates.Add(ComponentTemplate);
// set the name of the template as the default for the TemplateName param
UEdGraphPin* TemplateNamePin = NewNode->GetTemplateNamePinChecked();
if (TemplateNamePin != nullptr)
{
TemplateNamePin->DefaultValue = ComponentTemplate->GetName();
}
NewNode->ReconstructNode();
}
// apply bindings, after we've setup the template pin
ApplyBindings(NewNode, Bindings);
return NewNode;
}
//------------------------------------------------------------------------------
FBlueprintActionUiSpec UBlueprintComponentNodeSpawner::GetUiSpec(FBlueprintActionContext const& Context, FBindingSet const& Bindings) const
{
UEdGraph* TargetGraph = (Context.Graphs.Num() > 0) ? Context.Graphs[0] : nullptr;
FBlueprintActionUiSpec MenuSignature = PrimeDefaultUiSpec(TargetGraph);
if (Bindings.Num() > 0)
{
FText AssetName;
{
FBindingObject Binding = *Bindings.CreateConstIterator();
if (Binding.IsValid())
{
AssetName = FText::FromName(Binding.GetFName());
}
}
FText const ComponentTypeName = FText::FromName(ComponentClass->GetFName());
MenuSignature.MenuName = FText::Format(LOCTEXT("AddBoundComponentMenuName", "Add {0} (as {1})"), AssetName, ComponentTypeName);
MenuSignature.Tooltip = FText::Format(LOCTEXT("AddBoundComponentTooltip", "Spawn {0} using {1}"), ComponentTypeName, AssetName);
}
DynamicUiSignatureGetter.ExecuteIfBound(Context, Bindings, &MenuSignature);
return MenuSignature;
}
//------------------------------------------------------------------------------
bool UBlueprintComponentNodeSpawner::IsBindingCompatible(FBindingObject BindingCandidate) const
{
bool bCanBindWith = false;
if (BindingCandidate.IsUObject() && BindingCandidate.Get<UObject>()->IsAsset())
{
TArray< TSubclassOf<UActorComponent> > ComponentClasses = FComponentAssetBrokerage::GetComponentsForAsset(BindingCandidate.Get<UObject>());
bCanBindWith = ComponentClasses.Contains(ComponentClass);
}
return bCanBindWith;
}
//------------------------------------------------------------------------------
bool UBlueprintComponentNodeSpawner::BindToNode(UEdGraphNode* Node, FBindingObject Binding) const
{
bool bSuccessfulBinding = false;
UK2Node_AddComponent* AddCompNode = CastChecked<UK2Node_AddComponent>(Node);
UActorComponent* ComponentTemplate = AddCompNode->GetTemplateFromNode();
if (ComponentTemplate != nullptr)
{
check(!Binding.IsValid() || Binding.IsUObject()); // FProp
bSuccessfulBinding = FComponentAssetBrokerage::AssignAssetToComponent(ComponentTemplate, Binding.Get<UObject>());
AddCompNode->ReconstructNode();
}
return bSuccessfulBinding;
}
//------------------------------------------------------------------------------
TSubclassOf<UActorComponent> UBlueprintComponentNodeSpawner::GetComponentClass() const
{
return ComponentClass;
}
Exclude node spawner actions for non-imported component types from the Blueprint graph context menu when Blueprint namespace editor features are enabled. Change summary: - Extended FBlueprintActionContext to include a weak ptr to the current IBlueprintEditor context. - Added ENUM_CLASS_FLAGS() for the FBlueprintActionFilter::EFlags enumeration (for use as bitflags). - Deprecated the current FBlueprintActionFilter constructor, replaced with a more explicitly-typed EFlags param. - FBlueprintActionFilter now internally stores its filter flags. Also added FBlueprintActionFilter::HasAnyFlags/HasAllFlags(). - Minor refactor to a few action filter delegates to query the filter flags locally rather than add bool flags to delegate payloads. - The FBlueprintActionFilter constructor now unsets the non-imported filter flag if Blueprint namespace editor settings are disabled. - BlueprintActionFilterImpl::IsNonImportedObject() now utilizes the filter context rather than iterate the Blueprints array to find open asset editors. - Added an override for UBlueprintComponentNodeSpawner::IsTemplateNodeFilteredOut(). This is now used to filter out any loaded or unloaded BP component types from the context menu. - Cleaned up display inconsistencies in the menu UI spec between loaded vs. unloaded "Add Component" node spawner actions in the context menu. - Added an FSoftObjectPath variant of IBlueprintEditor::IsNonImportedObject() (to support unloaded non-native component type entries which store the class object path). Implemented as FBlueprintEditor::IsNonImportedObject(FSoftObjectPath). - Added an override for UK2Node_DynamicCast::IsActionFilteredOut() to exclude cast operator actions for non-native component types if they are not imported into the current editor context. - Modified SBlueprintActionMenu, SBlueprintFavoritesPalette and SBlueprintLibraryPalette to include the current editor context in applicable action filter context(s). #jira UE-149760 #rb Ben.Hoffman #preflight 62753dd9e31cfc52d5bd0539 [CL 20077282 by Phillip Kavan in ue5-main branch]
2022-05-06 11:49:20 -04:00
//------------------------------------------------------------------------------
bool UBlueprintComponentNodeSpawner::IsTemplateNodeFilteredOut(const FBlueprintActionFilter& Filter) const
{
bool bIsFilteredOut = false;
if (Filter.HasAnyFlags(FBlueprintActionFilter::BPFILTER_RejectNonImportedFields))
{
TSharedPtr<IBlueprintEditor> BlueprintEditor = Filter.Context.EditorPtr.Pin();
if (BlueprintEditor.IsValid())
{
if (ComponentClass)
{
bIsFilteredOut = BlueprintEditor->IsNonImportedObject(ComponentClass);
}
else if(FPackageName::IsValidObjectPath(ComponentAssetName))
{
bIsFilteredOut = BlueprintEditor->IsNonImportedObject(ComponentAssetName);
}
}
}
return bIsFilteredOut || UBlueprintNodeSpawner::IsTemplateNodeFilteredOut(Filter);
}
#undef LOCTEXT_NAMESPACE