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

2741 lines
91 KiB
C++
Raw Normal View History

// Copyright 1998-2017 Epic Games, Inc. All Rights Reserved.
Copying //UE4/Dev-Build to //UE4/Dev-Main (Source: //UE4/Dev-Build @ 3209340) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3209340 on 2016/11/23 by Ben.Marsh Convert UE4 codebase to an "include what you use" model - where every header just includes the dependencies it needs, rather than every source file including large monolithic headers like Engine.h and UnrealEd.h. Measured full rebuild times around 2x faster using XGE on Windows, and improvements of 25% or more for incremental builds and full rebuilds on most other platforms. * Every header now includes everything it needs to compile. * There's a CoreMinimal.h header that gets you a set of ubiquitous types from Core (eg. FString, FName, TArray, FVector, etc...). Most headers now include this first. * There's a CoreTypes.h header that sets up primitive UE4 types and build macros (int32, PLATFORM_WIN64, etc...). All headers in Core include this first, as does CoreMinimal.h. * Every .cpp file includes its matching .h file first. * This helps validate that each header is including everything it needs to compile. * No engine code includes a monolithic header such as Engine.h or UnrealEd.h any more. * You will get a warning if you try to include one of these from the engine. They still exist for compatibility with game projects and do not produce warnings when included there. * There have only been minor changes to our internal games down to accommodate these changes. The intent is for this to be as seamless as possible. * No engine code explicitly includes a precompiled header any more. * We still use PCHs, but they're force-included on the compiler command line by UnrealBuildTool instead. This lets us tune what they contain without breaking any existing include dependencies. * PCHs are generated by a tool to get a statistical amount of coverage for the source files using it, and I've seeded the new shared PCHs to contain any header included by > 15% of source files. Tool used to generate this transform is at Engine\Source\Programs\IncludeTool. [CL 3209342 by Ben Marsh in Main branch]
2016-11-23 15:48:37 -05:00
#include "K2Node_CallFunction.h"
#include "UObject/UObjectHash.h"
#include "UObject/Interface.h"
#include "UObject/PropertyPortFlags.h"
#include "Kismet/BlueprintFunctionLibrary.h"
#include "Engine/BlueprintGeneratedClass.h"
#include "GraphEditorSettings.h"
#include "EdGraph/EdGraph.h"
#include "EdGraphSchema_K2.h"
#include "K2Node_Event.h"
#include "K2Node_AssignmentStatement.h"
#include "K2Node_CallArrayFunction.h"
#include "K2Node_CustomEvent.h"
#include "K2Node_FunctionEntry.h"
#include "K2Node_IfThenElse.h"
#include "K2Node_TemporaryVariable.h"
#include "Kismet2/BlueprintEditorUtils.h"
#include "EditorStyleSettings.h"
#include "Editor.h"
#include "EdGraphUtilities.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 "KismetCompiler.h"
#include "CallFunctionHandler.h"
#include "K2Node_SwitchEnum.h"
#include "Kismet/KismetMathLibrary.h"
#include "Kismet/KismetArrayLibrary.h"
#include "Kismet2/KismetDebugUtilities.h"
#include "K2Node_PureAssignmentStatement.h"
#include "BlueprintActionFilter.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 "FindInBlueprintManager.h"
Copying //UE4/Dev-Blueprints to //UE4/Dev-Main (Source: //UE4/Dev-Blueprints @ 3194222) #lockdown Nick.Penwarden #rb None ========================== MAJOR FEATURES + CHANGES ========================== Change 3170086 on 2016/10/20 by Dan.Oconnor PR #2760: UE-35454: Vector2D sets default value (Contributed by projectgheist) #jira UE-35454, UE-35499 Change 3175577 on 2016/10/26 by Dan.Oconnor Back out changelist 3170086 - this change is incompatible with existing default values on EdGraphNodes Change 3178243 on 2016/10/28 by Ryan.Rauschkolb BP Profiler: Fixed crash when profiling InputKeyEvents #jira UE-37392 Change 3178702 on 2016/10/28 by Dan.Oconnor Implement UStructProperty::GetValueTypeHashInternal #jira UE-2114 Change 3178812 on 2016/10/28 by Dan.Oconnor Improved map pin compatabiliity checks (can no longer connect maps to non-container wildcards, connect unrelated map types), properly setting HasGetValueTypeHash for blueprint generated properties, preventing compilation of Set and Map properties that have unhashable members Change 3179999 on 2016/10/31 by Ryan.Rauschkolb BP Profiler: Fixed issue where Tunnel boundaries weren't being created for each entry/exit pin Change 3180700 on 2016/10/31 by Dan.Oconnor Typo fix, referred to as Key, when property in question is a value type for a map Change 3181014 on 2016/11/01 by Mike.Beach Preventing the Blueprint compiler from erroring on missing delegate variables, when the expected member belongs to another Blueprint that hasn't been compiled-on-load yet (the Blueprint was possibly saved without compiling, so the expected delegate may be there). #jira UE-37679 Change 3182378 on 2016/11/01 by Dan.Oconnor Correctly handle non-native structs, which are currently always hashable Change 3182440 on 2016/11/01 by Dan.Oconnor SA fix - introduced by 3178812 Change 3183764 on 2016/11/02 by Ryan.Rauschkolb Collapsing nodes to function now only links gateway pins to the result node if existing links weren't transferred over. #jira UE-23381 Change 3184306 on 2016/11/02 by Dan.Oconnor Fix for TSet pins being connectable to ArrayDependentParams (e.g. Item node on a Add to Array node) Change 3184310 on 2016/11/02 by Dan.Oconnor Add BlueprintMapLibrary. Rename RemoveAt_NeedsRehash functions, as they do properly unlink elements in a Map/Set. Implement FScriptSetHelper::Remove in terms of Find and RemoveAt. Correct iteration of Sets in BlueprintSetLibrary. Change 3185317 on 2016/11/03 by Ryan.Rauschkolb Fixed crash when collapsing nodes Change 3185482 on 2016/11/03 by Dan.Oconnor Remove superfluous branch Change 3185493 on 2016/11/03 by Mike.Beach Guarding against missing variable errors/warnings (when two Blueprints are cyclically dependent and the one with variables was saved without compiling variables in). Change 3185501 on 2016/11/03 by Mike.Beach Remove [EditoronlyBP] settings from the engine. These were old legacy settings which let you use/export editor-only UBlueprint objects in cooked projects (was deprecated in 4.14, now gone for 4.15). #jira UE-37967 Change 3186924 on 2016/11/04 by Maciej.Mroz BP nativization works with EDL. Part 1. Work n progress. Change 3188920 on 2016/11/07 by Phillip.Kavan [UE-30735] Hide 'EditInstanceOnly' properties when viewing/editing SCS component defaults in the Blueprint editor. change summary: - modified SKismetInspector::IsPropertyVisible() to leverage the IsTemplate() API which checks both CDO/archetype flags. #jira UE-30735 Change 3190417 on 2016/11/08 by Dan.Oconnor Unified compact node style, added icons for Set and Map library functions. #jira UE-2114 Change 3190429 on 2016/11/08 by Dan.Oconnor Shadowvariable fixes Change 3190465 on 2016/11/08 by Dan.Oconnor Test asset updates Change 3190984 on 2016/11/08 by Mike.Beach CIS fix for static analysis. Change 3191035 on 2016/11/08 by Dan.Oconnor Disabling changing replication behavior for Set and Map Properties - networking has no near term plan to support this #jira UE-2114 Change 3191059 on 2016/11/08 by Dan.Oconnor UE-27728 test assets Change 3191671 on 2016/11/09 by Maciej.Mroz EDL + Nativization. Fake export for CDO. Work in progress. Change 3192327 on 2016/11/09 by Mike.Beach Fixing up CIS compiler error. Change 3192464 on 2016/11/09 by Mike.Beach More CIS fixes for static analysis. Change 3193467 on 2016/11/10 by Mike.Beach Adding a Blueprint function to get the process's commandline. Change 3193822 on 2016/11/10 by Ben.Marsh Build: Replace Fortnite Win32 compile with UE4Game Win32. Fortnite aren't shipping Win32 any more. Change 3194088 on 2016/11/10 by Dan.Oconnor Disabling SA warning at this scope in order to hopefully improve messaging Change 3194222 on 2016/11/10 by Dan.Oconnor Better fix for SA error after taking a look at crash reporter and finding a rare crash in IsTypeCompatibleWithProperty [CL 3194231 by Dan Oconnor in Main branch]
2016-11-10 21:28:46 -05:00
#include "SPinTypeSelector.h"
#define LOCTEXT_NAMESPACE "K2Node"
/*******************************************************************************
* FCustomStructureParamHelper
******************************************************************************/
Merging UE4-Pretest @ 2042161 to UE4 Change 1996384 by Andrew Brown: 322252 - EDITOR: Asset picker displays incorrect text when there are no filter results. Change 1996385 by Andrew Brown: 321858 - CRASH: Assertion failed: (Index >= 0) Function: STransformViewportToolBar::GetLocationGridLabel() STextBlock::CacheDesiredSize() Change 1996977 by Andrew Brown: 309685 - UE4: Adding an event/renaming an event on an event track in Matinee does not update the MatineeActor node in blueprint Change 2034873 by Jaroslaw Palczynski: More robust VS installation detection. Change 2039693 by Jaroslaw Palczynski: 327268 - RocketGDC: POSTLAUNCH: DEV: Make engine more robust against bad Visual Studio environment variables Change 1978978 by Jaroslaw Surowiec: - Removed obsolete AllowEliminatingReferences from the FArchive Change 2020326 by Maciej Mroz: pretest BP K2Node: RemovePinsFromOldPins function moved from K2Node to RemovePinsFromOldPins Change 2017608 by Maciej Mroz: pretest Some changes in SFortMissionEventSelector caused by FPinTypeTreeInfo Change 2017463 by Maciej Mroz: PinTypeSelector can lins unloaded UDStructs Change 2019979 by Maciej Mroz: pretest BP: Crash when performing Diff against Depot with blueprints containing Format Text nodes Change 2024469 by Maciej Mroz: MemberReference variable added to PinType. It's necessary for delegate's signature. Change 2024049 by Maciej Mroz: HasExternalBlueprintDependencies added to UK2Node_DynamicCast Change 2024586 by Maciej Mroz: FillSimpleMemberReference fix Change 2024472 by Maciej Mroz: workaround for delegates signature in pintype removed. Change 2023997 by Maciej Mroz: BP, UDStruc: Class UserDefinedStructEditorData added. It fixes many problems with undo/redo. Change 2021934 by Maciej Mroz: typo in a comment Change 2020355 by Maciej Mroz: Back out changelist 2020342 Change 2022178 by Maciej Mroz: CRASH: PRETEST: EDITOR: UDS: Crash when undo then redo new variable in struct that is used by blueprint Change 2021958 by Maciej Mroz: CRASH: PRETEST: EDITOR: UDS: Crash using variable of a type of copied struct in blueprint Change 1986247 by Maciej Mroz: User Defined Structures: circle dependency fixed. Early version. Change 1985107 by Maciej Mroz: UserDefinedStruct cannot have a field of a non-native type Change 1986278 by Maciej Mroz: pretest ensureMsgf in Struct::link Change 1986250 by Maciej Mroz: User Defined Struct: Non native classes are accepted types od values in structures. Change 1980955 by Maciej Mroz: Using AssetPtr and LazyPtr as UFunction parameter (intput or return) is explicitly disallowed. Change 2041215 by Maciej Mroz: ttp331249 BLOCKER: PRETEST: UI: Survive the Storm is missing the Mission HUD. Change 1984316 by Maciej Mroz: New User Defined Structure. WIP - there are still problems with circular dependencies. Change 2011616 by Maciej Mroz: UserDefinedStructures - various problems fixed. Change 2011609 by Maciej Mroz: more robust HasExternalBlueprintDependencies implementation Change 2016697 by Maciej Mroz: pretest BP: UDStruct - default value propagation in cooked build Change 2016288 by Maciej Mroz: pretest BP: UDStruct: Renaming variables wont break links from make/break nodes Change 1987637 by Maciej Mroz: CustomStruct icons placeholders Change 1987422 by Maciej Mroz: Better tooltips for variables in MyBlueprint Change 1991387 by Maciej Mroz: UDStructures fixes: Change 2029165 by Maciej Mroz: BP: better comment for incomatible pins Change 2030016 by Maciej Mroz: 8PRETEST: EDITOR: UDS: Defaults values aren't updated in struct type variables in blueprints Change 2030017 by Maciej Mroz: Unused UDStructure code removed (PPF_UseDefaultsForUDStructures) Change 2028856 by Maciej Mroz: BP: Pins with PC_Struct type are compatible only with exactly the same structure. (No derived structures are not handled as compatible). Change 2026701 by Maciej Mroz: k2: odd error on an add item node within a function (see attached image in details) Change 2028160 by Maciej Mroz: PRETEST: EDITOR: UDS: When deleting structures just after creating there is always some references in the memory Change 2028165 by Maciej Mroz: BP: BreakHitResult function has proper icon. Change 2033340 by Maciej Mroz: ttp330786 PRETEST: EDITOR: UDS: Changes of default values aren't apllied to breeak nodes for text type of variables Change 2034255 by Maciej Mroz: EDITOR: UDS: Changes of default values aren't apllied to make nodes for text type of variables ttp#330620 Change 2037682 by Maciej Mroz: ttp331309 BLOCKER: PRETEST: CRASH: EDITOR: Crash occurs when performing Diff Against Depot on any Blueprint Change 2033142 by Maciej Mroz: CreateDelegate Node uses internally FMemberReference. Refactor. Change 2032329 by Maciej Mroz: ttp330608 CRASH: PRETEST: EDITOR: UDS: Crash when trying to use struct named 'Color' in blueprint Change 2032420 by Maciej Mroz: ttp330620 PRETEST: EDITOR: UDS: Changes of default values aren't apllied to make nodes for text type of variables Change 2033139 by Maciej Mroz: Functions generated from CustomEvents can be also identified by GUID Change 2026631 by Maciej Mroz: BP. UDStruct: Invalid structs are handled better. Change 2025344 by Maciej Mroz: UDStruct enabled by default Change 2026672 by Maciej Mroz: EDITOR: BP: Can't easily remove 'pass-by-reference' pins on ReturnNodes Change 2026411 by Maciej Mroz: ExposeOnSpawn updated, it supports UDStructs, custom native Structs, and it throws compiler error. Change 2025342 by Maciej Mroz: GenerateBlueprintSkeleton moved from BLueprint::Serialize to RegenerateBlueprintClass, because SkeletonClass compilation requires all external dependencies to be loaded and linked. Change 2025570 by Steve Robb: Moved dependency processing to its own function. Change 2033235 by Steve Robb: String improvements Change 2035830 by Steve Robb: Workaround for FriendsAndChat crash in Fortnite. Change 2035115 by Steve Robb: UBT build time regression fixes. Change 2034162 by Steve Robb: 312775: UObject improvement: Ensure that *.generated.inl is included somewhere Change 2034181 by Steve Robb: Removal of any references to .generated.inl Change 2020165 by Steve Robb: BuildPublicAndPrivateUObjectHeaders factored out into its own function. Change 2020187 by Steve Robb: CreateModuleCompileEnvironment function factored out. Change 2020055 by Steve Robb: Refactoring of Unity.cs to remove complex and duplicate iteration. Change 2020083 by Steve Robb: Another use of dictionary utilities. Change 2031049 by Steve Robb: 312775: UObject improvement: Ensure that *.generated.inl is included somewhere Change 2025728 by Steve Robb: Refactored the application of a shared PCH file to multiple file into a single ApplySharedPCH function. Change 2020068 by Steve Robb: A couple of helpful utility functions for populating dictionaries. Change 2032307 by Steve Robb: 312775: UObject improvement: Ensure that *.generated.inl is included somewhere [CL 2054495 by Robert Manuszewski in Main branch]
2014-04-23 20:18:55 -04:00
struct FCustomStructureParamHelper
{
static FName GetCustomStructureParamName()
{
static FName Name(TEXT("CustomStructureParam"));
return Name;
}
static void FillCustomStructureParameterNames(const UFunction* Function, TArray<FString>& OutNames)
{
OutNames.Empty();
if (Function)
{
FString MetaDataValue = Function->GetMetaData(GetCustomStructureParamName());
if (!MetaDataValue.IsEmpty())
{
MetaDataValue.ParseIntoArray(OutNames, TEXT(","), true);
Merging UE4-Pretest @ 2042161 to UE4 Change 1996384 by Andrew Brown: 322252 - EDITOR: Asset picker displays incorrect text when there are no filter results. Change 1996385 by Andrew Brown: 321858 - CRASH: Assertion failed: (Index >= 0) Function: STransformViewportToolBar::GetLocationGridLabel() STextBlock::CacheDesiredSize() Change 1996977 by Andrew Brown: 309685 - UE4: Adding an event/renaming an event on an event track in Matinee does not update the MatineeActor node in blueprint Change 2034873 by Jaroslaw Palczynski: More robust VS installation detection. Change 2039693 by Jaroslaw Palczynski: 327268 - RocketGDC: POSTLAUNCH: DEV: Make engine more robust against bad Visual Studio environment variables Change 1978978 by Jaroslaw Surowiec: - Removed obsolete AllowEliminatingReferences from the FArchive Change 2020326 by Maciej Mroz: pretest BP K2Node: RemovePinsFromOldPins function moved from K2Node to RemovePinsFromOldPins Change 2017608 by Maciej Mroz: pretest Some changes in SFortMissionEventSelector caused by FPinTypeTreeInfo Change 2017463 by Maciej Mroz: PinTypeSelector can lins unloaded UDStructs Change 2019979 by Maciej Mroz: pretest BP: Crash when performing Diff against Depot with blueprints containing Format Text nodes Change 2024469 by Maciej Mroz: MemberReference variable added to PinType. It's necessary for delegate's signature. Change 2024049 by Maciej Mroz: HasExternalBlueprintDependencies added to UK2Node_DynamicCast Change 2024586 by Maciej Mroz: FillSimpleMemberReference fix Change 2024472 by Maciej Mroz: workaround for delegates signature in pintype removed. Change 2023997 by Maciej Mroz: BP, UDStruc: Class UserDefinedStructEditorData added. It fixes many problems with undo/redo. Change 2021934 by Maciej Mroz: typo in a comment Change 2020355 by Maciej Mroz: Back out changelist 2020342 Change 2022178 by Maciej Mroz: CRASH: PRETEST: EDITOR: UDS: Crash when undo then redo new variable in struct that is used by blueprint Change 2021958 by Maciej Mroz: CRASH: PRETEST: EDITOR: UDS: Crash using variable of a type of copied struct in blueprint Change 1986247 by Maciej Mroz: User Defined Structures: circle dependency fixed. Early version. Change 1985107 by Maciej Mroz: UserDefinedStruct cannot have a field of a non-native type Change 1986278 by Maciej Mroz: pretest ensureMsgf in Struct::link Change 1986250 by Maciej Mroz: User Defined Struct: Non native classes are accepted types od values in structures. Change 1980955 by Maciej Mroz: Using AssetPtr and LazyPtr as UFunction parameter (intput or return) is explicitly disallowed. Change 2041215 by Maciej Mroz: ttp331249 BLOCKER: PRETEST: UI: Survive the Storm is missing the Mission HUD. Change 1984316 by Maciej Mroz: New User Defined Structure. WIP - there are still problems with circular dependencies. Change 2011616 by Maciej Mroz: UserDefinedStructures - various problems fixed. Change 2011609 by Maciej Mroz: more robust HasExternalBlueprintDependencies implementation Change 2016697 by Maciej Mroz: pretest BP: UDStruct - default value propagation in cooked build Change 2016288 by Maciej Mroz: pretest BP: UDStruct: Renaming variables wont break links from make/break nodes Change 1987637 by Maciej Mroz: CustomStruct icons placeholders Change 1987422 by Maciej Mroz: Better tooltips for variables in MyBlueprint Change 1991387 by Maciej Mroz: UDStructures fixes: Change 2029165 by Maciej Mroz: BP: better comment for incomatible pins Change 2030016 by Maciej Mroz: 8PRETEST: EDITOR: UDS: Defaults values aren't updated in struct type variables in blueprints Change 2030017 by Maciej Mroz: Unused UDStructure code removed (PPF_UseDefaultsForUDStructures) Change 2028856 by Maciej Mroz: BP: Pins with PC_Struct type are compatible only with exactly the same structure. (No derived structures are not handled as compatible). Change 2026701 by Maciej Mroz: k2: odd error on an add item node within a function (see attached image in details) Change 2028160 by Maciej Mroz: PRETEST: EDITOR: UDS: When deleting structures just after creating there is always some references in the memory Change 2028165 by Maciej Mroz: BP: BreakHitResult function has proper icon. Change 2033340 by Maciej Mroz: ttp330786 PRETEST: EDITOR: UDS: Changes of default values aren't apllied to breeak nodes for text type of variables Change 2034255 by Maciej Mroz: EDITOR: UDS: Changes of default values aren't apllied to make nodes for text type of variables ttp#330620 Change 2037682 by Maciej Mroz: ttp331309 BLOCKER: PRETEST: CRASH: EDITOR: Crash occurs when performing Diff Against Depot on any Blueprint Change 2033142 by Maciej Mroz: CreateDelegate Node uses internally FMemberReference. Refactor. Change 2032329 by Maciej Mroz: ttp330608 CRASH: PRETEST: EDITOR: UDS: Crash when trying to use struct named 'Color' in blueprint Change 2032420 by Maciej Mroz: ttp330620 PRETEST: EDITOR: UDS: Changes of default values aren't apllied to make nodes for text type of variables Change 2033139 by Maciej Mroz: Functions generated from CustomEvents can be also identified by GUID Change 2026631 by Maciej Mroz: BP. UDStruct: Invalid structs are handled better. Change 2025344 by Maciej Mroz: UDStruct enabled by default Change 2026672 by Maciej Mroz: EDITOR: BP: Can't easily remove 'pass-by-reference' pins on ReturnNodes Change 2026411 by Maciej Mroz: ExposeOnSpawn updated, it supports UDStructs, custom native Structs, and it throws compiler error. Change 2025342 by Maciej Mroz: GenerateBlueprintSkeleton moved from BLueprint::Serialize to RegenerateBlueprintClass, because SkeletonClass compilation requires all external dependencies to be loaded and linked. Change 2025570 by Steve Robb: Moved dependency processing to its own function. Change 2033235 by Steve Robb: String improvements Change 2035830 by Steve Robb: Workaround for FriendsAndChat crash in Fortnite. Change 2035115 by Steve Robb: UBT build time regression fixes. Change 2034162 by Steve Robb: 312775: UObject improvement: Ensure that *.generated.inl is included somewhere Change 2034181 by Steve Robb: Removal of any references to .generated.inl Change 2020165 by Steve Robb: BuildPublicAndPrivateUObjectHeaders factored out into its own function. Change 2020187 by Steve Robb: CreateModuleCompileEnvironment function factored out. Change 2020055 by Steve Robb: Refactoring of Unity.cs to remove complex and duplicate iteration. Change 2020083 by Steve Robb: Another use of dictionary utilities. Change 2031049 by Steve Robb: 312775: UObject improvement: Ensure that *.generated.inl is included somewhere Change 2025728 by Steve Robb: Refactored the application of a shared PCH file to multiple file into a single ApplySharedPCH function. Change 2020068 by Steve Robb: A couple of helpful utility functions for populating dictionaries. Change 2032307 by Steve Robb: 312775: UObject improvement: Ensure that *.generated.inl is included somewhere [CL 2054495 by Robert Manuszewski in Main branch]
2014-04-23 20:18:55 -04:00
}
}
}
static void HandleSinglePin(UEdGraphPin* Pin)
{
if (Pin)
{
if (Pin->LinkedTo.Num() > 0)
{
UEdGraphPin* LinkedTo = Pin->LinkedTo[0];
check(LinkedTo);
ensure(!LinkedTo->PinType.bIsArray);
Pin->PinType = LinkedTo->PinType;
}
else
{
const UEdGraphSchema_K2* Schema = GetDefault<UEdGraphSchema_K2>();
Pin->PinType.PinCategory = Schema->PC_Wildcard;
Pin->PinType.PinSubCategory = TEXT("");
Pin->PinType.PinSubCategoryObject = NULL;
}
}
}
static void UpdateCustomStructurePins(const UFunction* Function, UK2Node* Node, UEdGraphPin* SinglePin = NULL)
{
if (Function && Node)
{
TArray<FString> Names;
FCustomStructureParamHelper::FillCustomStructureParameterNames(Function, Names);
if (SinglePin)
{
if (Names.Contains(SinglePin->PinName))
{
HandleSinglePin(SinglePin);
}
}
else
{
for (auto& Name : Names)
{
if (auto Pin = Node->FindPin(Name))
{
HandleSinglePin(Pin);
}
}
}
}
}
};
/*******************************************************************************
* FDynamicOutputUtils
******************************************************************************/
struct FDynamicOutputHelper
{
public:
FDynamicOutputHelper(UEdGraphPin* InAlteredPin)
: MutatingPin(InAlteredPin)
{}
/**
* Attempts to change the output pin's type so that it reflects the class
* specified by the input class pin.
*/
void ConformOutputType() const;
/**
* Retrieves the class pin that is used to determine the function's output type.
*
* @return Null if the "DeterminesOutputType" metadata targets an invalid
* param (or if the metadata isn't present), otherwise a class picker pin.
*/
static UEdGraphPin* GetTypePickerPin(const UK2Node_CallFunction* FuncNode);
/**
* Attempts to pull out class info from the supplied pin. Starts with the
* pin's default, and then falls back onto the pin's native type. Will poll
* any connections that the pin may have.
*
* @param Pin The pin you want a class from.
* @return A class that the pin represents (could be null if the pin isn't a class pin).
*/
static UClass* GetPinClass(UEdGraphPin* Pin);
/**
* Intended to be used by ValidateNodeDuringCompilation(). Will check to
* make sure the dynamic output's connections are still valid (they could
* become invalid as the the pin's type changes).
*
* @param FuncNode The node you wish to validate.
* @param MessageLog The log to post errors/warnings to.
*/
static void VerifyNode(const UK2Node_CallFunction* FuncNode, FCompilerResultsLog& MessageLog);
private:
/**
*
*
* @return
*/
UK2Node_CallFunction* GetFunctionNode() const;
/**
*
*
* @return
*/
UFunction* GetTargetFunction() const;
/**
* Checks if the supplied pin is the class picker that governs the
* function's output type.
*
* @param Pin The pin to test.
* @return True if the pin corresponds to the param that was flagged by the "DeterminesOutputType" metadata.
*/
bool IsTypePickerPin(UEdGraphPin* Pin) const;
/**
* Retrieves the object output pin that is altered as the class input is
* changed (favors params flagged by "DynamicOutputParam" metadata).
*
* @return Null if the output param cannot be altered from the class input,
* otherwise a output pin that will mutate type as the class input is changed.
*/
static UEdGraphPin* GetDynamicOutPin(const UK2Node_CallFunction* FuncNode);
/**
* Checks if the specified type is an object type that reflects the picker
* pin's class.
*
* @param TypeToTest The type you want to check.
* @return True if the type is likely the output governed by the class picker pin, otherwise false.
*/
static bool CanConformPinType(const UK2Node_CallFunction* FuncNode, const FEdGraphPinType& TypeToTest);
private:
UEdGraphPin* MutatingPin;
};
void FDynamicOutputHelper::ConformOutputType() const
{
if (IsTypePickerPin(MutatingPin))
{
UClass* PickedClass = GetPinClass(MutatingPin);
UK2Node_CallFunction* FuncNode = GetFunctionNode();
if (UEdGraphPin* DynamicOutPin = GetDynamicOutPin(FuncNode))
{
DynamicOutPin->PinType.PinSubCategoryObject = PickedClass;
// leave the connection, and instead bring the user's attention to
// it via a ValidateNodeDuringCompilation() error
// const UEdGraphSchema* Schema = FuncNode->GetSchema();
// for (int32 LinkIndex = 0; LinkIndex < DynamicOutPin->LinkedTo.Num();)
// {
// UEdGraphPin* Link = DynamicOutPin->LinkedTo[LinkIndex];
// // if this can no longer be linked to the other pin, then we
// // should disconnect it (because the pin's type just changed)
// if (Schema->CanCreateConnection(DynamicOutPin, Link).Response == CONNECT_RESPONSE_DISALLOW)
// {
// DynamicOutPin->BreakLinkTo(Link);
// // @TODO: warn/notify somehow
// }
// else
// {
// ++LinkIndex;
// }
// }
}
}
}
UEdGraphPin* FDynamicOutputHelper::GetTypePickerPin(const UK2Node_CallFunction* FuncNode)
{
UEdGraphPin* TypePickerPin = nullptr;
if (UFunction* Function = FuncNode->GetTargetFunction())
{
FString TypeDeterminingPinName = Function->GetMetaData(FBlueprintMetadata::MD_DynamicOutputType);
if (!TypeDeterminingPinName.IsEmpty())
{
TypePickerPin = FuncNode->FindPin(TypeDeterminingPinName);
}
}
if (TypePickerPin && !ensure(TypePickerPin->Direction == EGPD_Input))
{
TypePickerPin = nullptr;
}
return TypePickerPin;
}
UClass* FDynamicOutputHelper::GetPinClass(UEdGraphPin* Pin)
{
UClass* PinClass = UObject::StaticClass();
bool const bIsClassOrObjectPin = (Pin->PinType.PinCategory == UEdGraphSchema_K2::PC_Class || Pin->PinType.PinCategory == UEdGraphSchema_K2::PC_Object);
if (bIsClassOrObjectPin)
{
if (UClass* DefaultClass = Cast<UClass>(Pin->DefaultObject))
{
PinClass = DefaultClass;
}
else if (UClass* BaseClass = Cast<UClass>(Pin->PinType.PinSubCategoryObject.Get()))
{
PinClass = BaseClass;
}
if (Pin->LinkedTo.Num() > 0)
{
UClass* CommonInputClass = nullptr;
for (UEdGraphPin* LinkedPin : Pin->LinkedTo)
{
const FEdGraphPinType& LinkedPinType = LinkedPin->PinType;
UClass* LinkClass = Cast<UClass>(LinkedPinType.PinSubCategoryObject.Get());
if (LinkClass == nullptr && LinkedPinType.PinSubCategory == UEdGraphSchema_K2::PSC_Self)
{
if (UK2Node* K2Node = Cast<UK2Node>(LinkedPin->GetOwningNode()))
{
LinkClass = K2Node->GetBlueprint()->GeneratedClass;
}
}
if (LinkClass != nullptr)
{
if (CommonInputClass != nullptr)
{
while (!LinkClass->IsChildOf(CommonInputClass))
{
CommonInputClass = CommonInputClass->GetSuperClass();
}
}
else
{
CommonInputClass = LinkClass;
}
}
}
PinClass = CommonInputClass;
}
}
return PinClass;
}
void FDynamicOutputHelper::VerifyNode(const UK2Node_CallFunction* FuncNode, FCompilerResultsLog& MessageLog)
{
if (UEdGraphPin* DynamicOutPin = GetDynamicOutPin(FuncNode))
{
const UEdGraphSchema* Schema = FuncNode->GetSchema();
for (UEdGraphPin* Link : DynamicOutPin->LinkedTo)
{
if (Schema->CanCreateConnection(DynamicOutPin, Link).Response == CONNECT_RESPONSE_DISALLOW)
{
FText const ErrorFormat = LOCTEXT("BadConnection", "Invalid pin connection from '@@' to '@@'. You may have changed the type after the connections were made.");
MessageLog.Error(*ErrorFormat.ToString(), DynamicOutPin, Link);
}
}
}
}
UK2Node_CallFunction* FDynamicOutputHelper::GetFunctionNode() const
{
return CastChecked<UK2Node_CallFunction>(MutatingPin->GetOwningNode());
}
UFunction* FDynamicOutputHelper::GetTargetFunction() const
{
return GetFunctionNode()->GetTargetFunction();
}
bool FDynamicOutputHelper::IsTypePickerPin(UEdGraphPin* Pin) const
{
bool bIsTypeDeterminingPin = false;
if (UFunction* Function = GetTargetFunction())
{
FString TypeDeterminingPinName = Function->GetMetaData(FBlueprintMetadata::MD_DynamicOutputType);
if (!TypeDeterminingPinName.IsEmpty())
{
bIsTypeDeterminingPin = (Pin->PinName == TypeDeterminingPinName);
}
}
bool const bPinIsClassPicker = (Pin->PinType.PinCategory == UEdGraphSchema_K2::PC_Class);
bool const bPinIsObjectPicker = (Pin->PinType.PinCategory == UEdGraphSchema_K2::PC_Object);
return bIsTypeDeterminingPin && (bPinIsClassPicker || bPinIsObjectPicker) && (Pin->Direction == EGPD_Input);
}
UEdGraphPin* FDynamicOutputHelper::GetDynamicOutPin(const UK2Node_CallFunction* FuncNode)
{
UProperty* TaggedOutputParam = nullptr;
if (UFunction* Function = FuncNode->GetTargetFunction())
{
const FString& OutputPinName = Function->GetMetaData(FBlueprintMetadata::MD_DynamicOutputParam);
// we sort through properties, instead of pins, because the pin's type
// could already be modified to some other class (for when we check CanConformPinType)
for (TFieldIterator<UProperty> ParamIt(Function); ParamIt && (ParamIt->PropertyFlags & CPF_Parm); ++ParamIt)
{
if (OutputPinName.IsEmpty() && ParamIt->HasAnyPropertyFlags(CPF_ReturnParm))
{
TaggedOutputParam = *ParamIt;
break;
}
else if (OutputPinName == ParamIt->GetName())
{
TaggedOutputParam = *ParamIt;
break;
}
}
if (TaggedOutputParam != nullptr)
{
const UEdGraphSchema_K2* K2Schema = GetDefault<UEdGraphSchema_K2>();
FEdGraphPinType PropertyPinType;
if (!K2Schema->ConvertPropertyToPinType(TaggedOutputParam, /*out*/PropertyPinType) || !CanConformPinType(FuncNode, PropertyPinType))
{
TaggedOutputParam = nullptr;
}
}
}
UEdGraphPin* DynamicOutPin = nullptr;
if (TaggedOutputParam != nullptr)
{
DynamicOutPin = FuncNode->FindPin(TaggedOutputParam->GetName());
if (DynamicOutPin && (DynamicOutPin->Direction != EGPD_Output))
{
DynamicOutPin = nullptr;
}
}
return DynamicOutPin;
}
bool FDynamicOutputHelper::CanConformPinType(const UK2Node_CallFunction* FuncNode, const FEdGraphPinType& TypeToTest)
{
bool bIsProperType = false;
if (UEdGraphPin* TypePickerPin = GetTypePickerPin(FuncNode))
{
UClass* BasePickerClass = CastChecked<UClass>(TypePickerPin->PinType.PinSubCategoryObject.Get());
const FString& PinCategory = TypeToTest.PinCategory;
if ((PinCategory == UEdGraphSchema_K2::PC_Object) ||
(PinCategory == UEdGraphSchema_K2::PC_Interface) ||
(PinCategory == UEdGraphSchema_K2::PC_Class))
{
if (UClass* TypeClass = Cast<UClass>(TypeToTest.PinSubCategoryObject.Get()))
{
bIsProperType = BasePickerClass->IsChildOf(TypeClass);
}
}
}
return bIsProperType;
}
/*******************************************************************************
* UK2Node_CallFunction
******************************************************************************/
UK2Node_CallFunction::UK2Node_CallFunction(const FObjectInitializer& ObjectInitializer)
: Super(ObjectInitializer)
, bPinTooltipsValid(false)
{
}
bool UK2Node_CallFunction::IsDeprecated() const
{
UFunction* Function = GetTargetFunction();
return (Function != NULL) && Function->HasMetaData(FBlueprintMetadata::MD_DeprecatedFunction);
}
bool UK2Node_CallFunction::ShouldWarnOnDeprecation() const
{
// TEMP: Do not warn in the case of SpawnActor, as we have a special upgrade path for those nodes
return (FunctionReference.GetMemberName() != FName(TEXT("BeginSpawningActorFromBlueprint")));
}
FString UK2Node_CallFunction::GetDeprecationMessage() const
{
UFunction* Function = GetTargetFunction();
if ((Function != NULL) && Function->HasMetaData(FBlueprintMetadata::MD_DeprecationMessage))
{
return FString::Printf(TEXT("%s %s"), *LOCTEXT("CallFunctionDeprecated_Warning", "@@ is deprecated;").ToString(), *Function->GetMetaData(FBlueprintMetadata::MD_DeprecationMessage));
}
return Super::GetDeprecationMessage();
}
FText UK2Node_CallFunction::GetFunctionContextString() const
{
FText ContextString;
// Don't show 'target is' if no target pin!
UEdGraphPin* SelfPin = GetDefault<UEdGraphSchema_K2>()->FindSelfPin(*this, EGPD_Input);
if(SelfPin != NULL && !SelfPin->bHidden)
{
const UFunction* Function = GetTargetFunction();
UClass* CurrentSelfClass = (Function != NULL) ? Function->GetOwnerClass() : NULL;
UClass const* TrueSelfClass = CurrentSelfClass;
if (CurrentSelfClass && CurrentSelfClass->ClassGeneratedBy)
{
TrueSelfClass = CurrentSelfClass->GetAuthoritativeClass();
}
const FText TargetText = FBlueprintEditorUtils::GetFriendlyClassDisplayName(TrueSelfClass);
FFormatNamedArguments Args;
Args.Add(TEXT("TargetName"), TargetText);
ContextString = FText::Format(LOCTEXT("CallFunctionOnDifferentContext", "Target is {TargetName}"), Args);
}
return ContextString;
}
FText UK2Node_CallFunction::GetNodeTitle(ENodeTitleType::Type TitleType) const
{
FText FunctionName;
FText ContextString;
FText RPCString;
if (UFunction* Function = GetTargetFunction())
{
RPCString = UK2Node_Event::GetLocalizedNetString(Function->FunctionFlags, true);
FunctionName = GetUserFacingFunctionName(Function);
ContextString = GetFunctionContextString();
}
else
{
FunctionName = FText::FromName(FunctionReference.GetMemberName());
if ((GEditor != NULL) && (GetDefault<UEditorStyleSettings>()->bShowFriendlyNames))
{
FunctionName = FText::FromString(FName::NameToDisplayString(FunctionName.ToString(), false));
}
}
if(TitleType == ENodeTitleType::FullTitle)
{
FFormatNamedArguments Args;
Args.Add(TEXT("FunctionName"), FunctionName);
Args.Add(TEXT("ContextString"), ContextString);
Args.Add(TEXT("RPCString"), RPCString);
if (ContextString.IsEmpty() && RPCString.IsEmpty())
{
return FText::Format(LOCTEXT("CallFunction_FullTitle", "{FunctionName}"), Args);
}
else if (ContextString.IsEmpty())
{
return FText::Format(LOCTEXT("CallFunction_FullTitle_WithRPCString", "{FunctionName}\n{RPCString}"), Args);
}
else if (RPCString.IsEmpty())
{
return FText::Format(LOCTEXT("CallFunction_FullTitle_WithContextString", "{FunctionName}\n{ContextString}"), Args);
}
else
{
return FText::Format(LOCTEXT("CallFunction_FullTitle_WithContextRPCString", "{FunctionName}\n{ContextString}\n{RPCString}"), Args);
}
}
else
{
return FunctionName;
}
}
void UK2Node_CallFunction::GetPinHoverText(const UEdGraphPin& Pin, FString& HoverTextOut) const
{
if (!bPinTooltipsValid)
{
for (auto& P : Pins)
{
P->PinToolTip.Empty();
GeneratePinTooltip(*P);
}
bPinTooltipsValid = true;
}
return UK2Node::GetPinHoverText(Pin, HoverTextOut);
}
void UK2Node_CallFunction::AllocateDefaultPins()
{
InvalidatePinTooltips();
UBlueprint* MyBlueprint = GetBlueprint();
UFunction* Function = GetTargetFunction();
// favor the skeleton function if possible (in case the signature has
// changed, and not yet compiled).
if (!FunctionReference.IsSelfContext())
{
UClass* FunctionClass = FunctionReference.GetMemberParentClass(MyBlueprint->GeneratedClass);
if (UBlueprintGeneratedClass* BpClassOwner = Cast<UBlueprintGeneratedClass>(FunctionClass))
{
// this function could currently only be a part of some skeleton
// class (the blueprint has not be compiled with it yet), so let's
// check the skeleton class as well, see if we can pull pin data
// from there...
UBlueprint* FunctionBlueprint = CastChecked<UBlueprint>(BpClassOwner->ClassGeneratedBy, ECastCheckedType::NullAllowed);
if (FunctionBlueprint)
{
if (UFunction* SkelFunction = FindField<UFunction>(FunctionBlueprint->SkeletonGeneratedClass, FunctionReference.GetMemberName()))
{
Function = SkelFunction;
}
}
}
}
// First try remap table
if (Function == NULL)
{
UClass* ParentClass = FunctionReference.GetMemberParentClass(GetBlueprintClassFromNode());
if (ParentClass != NULL)
{
if (UFunction* NewFunction = Cast<UFunction>(FMemberReference::FindRemappedField(ParentClass, FunctionReference.GetMemberName())))
{
// Found a remapped property, update the node
Function = NewFunction;
SetFromFunction(NewFunction);
}
}
}
if (Function == NULL)
{
// The function no longer exists in the stored scope
// Try searching inside all function libraries, in case the function got refactored into one of them.
for (TObjectIterator<UClass> ClassIt; ClassIt; ++ClassIt)
{
UClass* TestClass = *ClassIt;
if (TestClass->IsChildOf(UBlueprintFunctionLibrary::StaticClass()))
{
Function = FindField<UFunction>(TestClass, FunctionReference.GetMemberName());
if (Function != NULL)
{
UClass* OldClass = FunctionReference.GetMemberParentClass(GetBlueprintClassFromNode());
Message_Note( FString::Printf(*LOCTEXT("FixedUpFunctionInLibrary", "UK2Node_CallFunction: Fixed up function '%s', originally in '%s', now in library '%s'.").ToString(),
*FunctionReference.GetMemberName().ToString(),
(OldClass != NULL) ? *OldClass->GetName() : TEXT("(null)"), *TestClass->GetName()) );
SetFromFunction(Function);
break;
}
}
}
}
// Now create the pins if we ended up with a valid function to call
if (Function != NULL)
{
CreatePinsForFunctionCall(Function);
}
Merging UE4-Pretest @ 2042161 to UE4 Change 1996384 by Andrew Brown: 322252 - EDITOR: Asset picker displays incorrect text when there are no filter results. Change 1996385 by Andrew Brown: 321858 - CRASH: Assertion failed: (Index >= 0) Function: STransformViewportToolBar::GetLocationGridLabel() STextBlock::CacheDesiredSize() Change 1996977 by Andrew Brown: 309685 - UE4: Adding an event/renaming an event on an event track in Matinee does not update the MatineeActor node in blueprint Change 2034873 by Jaroslaw Palczynski: More robust VS installation detection. Change 2039693 by Jaroslaw Palczynski: 327268 - RocketGDC: POSTLAUNCH: DEV: Make engine more robust against bad Visual Studio environment variables Change 1978978 by Jaroslaw Surowiec: - Removed obsolete AllowEliminatingReferences from the FArchive Change 2020326 by Maciej Mroz: pretest BP K2Node: RemovePinsFromOldPins function moved from K2Node to RemovePinsFromOldPins Change 2017608 by Maciej Mroz: pretest Some changes in SFortMissionEventSelector caused by FPinTypeTreeInfo Change 2017463 by Maciej Mroz: PinTypeSelector can lins unloaded UDStructs Change 2019979 by Maciej Mroz: pretest BP: Crash when performing Diff against Depot with blueprints containing Format Text nodes Change 2024469 by Maciej Mroz: MemberReference variable added to PinType. It's necessary for delegate's signature. Change 2024049 by Maciej Mroz: HasExternalBlueprintDependencies added to UK2Node_DynamicCast Change 2024586 by Maciej Mroz: FillSimpleMemberReference fix Change 2024472 by Maciej Mroz: workaround for delegates signature in pintype removed. Change 2023997 by Maciej Mroz: BP, UDStruc: Class UserDefinedStructEditorData added. It fixes many problems with undo/redo. Change 2021934 by Maciej Mroz: typo in a comment Change 2020355 by Maciej Mroz: Back out changelist 2020342 Change 2022178 by Maciej Mroz: CRASH: PRETEST: EDITOR: UDS: Crash when undo then redo new variable in struct that is used by blueprint Change 2021958 by Maciej Mroz: CRASH: PRETEST: EDITOR: UDS: Crash using variable of a type of copied struct in blueprint Change 1986247 by Maciej Mroz: User Defined Structures: circle dependency fixed. Early version. Change 1985107 by Maciej Mroz: UserDefinedStruct cannot have a field of a non-native type Change 1986278 by Maciej Mroz: pretest ensureMsgf in Struct::link Change 1986250 by Maciej Mroz: User Defined Struct: Non native classes are accepted types od values in structures. Change 1980955 by Maciej Mroz: Using AssetPtr and LazyPtr as UFunction parameter (intput or return) is explicitly disallowed. Change 2041215 by Maciej Mroz: ttp331249 BLOCKER: PRETEST: UI: Survive the Storm is missing the Mission HUD. Change 1984316 by Maciej Mroz: New User Defined Structure. WIP - there are still problems with circular dependencies. Change 2011616 by Maciej Mroz: UserDefinedStructures - various problems fixed. Change 2011609 by Maciej Mroz: more robust HasExternalBlueprintDependencies implementation Change 2016697 by Maciej Mroz: pretest BP: UDStruct - default value propagation in cooked build Change 2016288 by Maciej Mroz: pretest BP: UDStruct: Renaming variables wont break links from make/break nodes Change 1987637 by Maciej Mroz: CustomStruct icons placeholders Change 1987422 by Maciej Mroz: Better tooltips for variables in MyBlueprint Change 1991387 by Maciej Mroz: UDStructures fixes: Change 2029165 by Maciej Mroz: BP: better comment for incomatible pins Change 2030016 by Maciej Mroz: 8PRETEST: EDITOR: UDS: Defaults values aren't updated in struct type variables in blueprints Change 2030017 by Maciej Mroz: Unused UDStructure code removed (PPF_UseDefaultsForUDStructures) Change 2028856 by Maciej Mroz: BP: Pins with PC_Struct type are compatible only with exactly the same structure. (No derived structures are not handled as compatible). Change 2026701 by Maciej Mroz: k2: odd error on an add item node within a function (see attached image in details) Change 2028160 by Maciej Mroz: PRETEST: EDITOR: UDS: When deleting structures just after creating there is always some references in the memory Change 2028165 by Maciej Mroz: BP: BreakHitResult function has proper icon. Change 2033340 by Maciej Mroz: ttp330786 PRETEST: EDITOR: UDS: Changes of default values aren't apllied to breeak nodes for text type of variables Change 2034255 by Maciej Mroz: EDITOR: UDS: Changes of default values aren't apllied to make nodes for text type of variables ttp#330620 Change 2037682 by Maciej Mroz: ttp331309 BLOCKER: PRETEST: CRASH: EDITOR: Crash occurs when performing Diff Against Depot on any Blueprint Change 2033142 by Maciej Mroz: CreateDelegate Node uses internally FMemberReference. Refactor. Change 2032329 by Maciej Mroz: ttp330608 CRASH: PRETEST: EDITOR: UDS: Crash when trying to use struct named 'Color' in blueprint Change 2032420 by Maciej Mroz: ttp330620 PRETEST: EDITOR: UDS: Changes of default values aren't apllied to make nodes for text type of variables Change 2033139 by Maciej Mroz: Functions generated from CustomEvents can be also identified by GUID Change 2026631 by Maciej Mroz: BP. UDStruct: Invalid structs are handled better. Change 2025344 by Maciej Mroz: UDStruct enabled by default Change 2026672 by Maciej Mroz: EDITOR: BP: Can't easily remove 'pass-by-reference' pins on ReturnNodes Change 2026411 by Maciej Mroz: ExposeOnSpawn updated, it supports UDStructs, custom native Structs, and it throws compiler error. Change 2025342 by Maciej Mroz: GenerateBlueprintSkeleton moved from BLueprint::Serialize to RegenerateBlueprintClass, because SkeletonClass compilation requires all external dependencies to be loaded and linked. Change 2025570 by Steve Robb: Moved dependency processing to its own function. Change 2033235 by Steve Robb: String improvements Change 2035830 by Steve Robb: Workaround for FriendsAndChat crash in Fortnite. Change 2035115 by Steve Robb: UBT build time regression fixes. Change 2034162 by Steve Robb: 312775: UObject improvement: Ensure that *.generated.inl is included somewhere Change 2034181 by Steve Robb: Removal of any references to .generated.inl Change 2020165 by Steve Robb: BuildPublicAndPrivateUObjectHeaders factored out into its own function. Change 2020187 by Steve Robb: CreateModuleCompileEnvironment function factored out. Change 2020055 by Steve Robb: Refactoring of Unity.cs to remove complex and duplicate iteration. Change 2020083 by Steve Robb: Another use of dictionary utilities. Change 2031049 by Steve Robb: 312775: UObject improvement: Ensure that *.generated.inl is included somewhere Change 2025728 by Steve Robb: Refactored the application of a shared PCH file to multiple file into a single ApplySharedPCH function. Change 2020068 by Steve Robb: A couple of helpful utility functions for populating dictionaries. Change 2032307 by Steve Robb: 312775: UObject improvement: Ensure that *.generated.inl is included somewhere [CL 2054495 by Robert Manuszewski in Main branch]
2014-04-23 20:18:55 -04:00
FCustomStructureParamHelper::UpdateCustomStructurePins(Function, this);
Super::AllocateDefaultPins();
}
/** Util to find self pin in an array */
UEdGraphPin* FindSelfPin(TArray<UEdGraphPin*>& Pins)
{
const UEdGraphSchema_K2* K2Schema = GetDefault<UEdGraphSchema_K2>();
for(int32 PinIdx=0; PinIdx<Pins.Num(); PinIdx++)
{
if(Pins[PinIdx]->PinName == K2Schema->PN_Self)
{
return Pins[PinIdx];
}
}
return NULL;
}
void UK2Node_CallFunction::ReallocatePinsDuringReconstruction(TArray<UEdGraphPin*>& OldPins)
{
// BEGIN TEMP
// We had a bug where the class was being messed up by copy/paste, but the self pin class was still ok. This code fixes up those cases.
UFunction* Function = GetTargetFunction();
if (Function == NULL)
{
if (UEdGraphPin* SelfPin = FindSelfPin(OldPins))
{
if (UClass* SelfPinClass = Cast<UClass>(SelfPin->PinType.PinSubCategoryObject.Get()))
{
if (UFunction* NewFunction = FindField<UFunction>(SelfPinClass, FunctionReference.GetMemberName()))
{
SetFromFunction(NewFunction);
}
}
}
}
// END TEMP
Super::ReallocatePinsDuringReconstruction(OldPins);
// Connect Execute and Then pins for functions, which became pure.
ReconnectPureExecPins(OldPins);
}
UEdGraphPin* UK2Node_CallFunction::CreateSelfPin(const UFunction* Function)
{
const UEdGraphSchema_K2* K2Schema = GetDefault<UEdGraphSchema_K2>();
// Chase up the function's Super chain, the function can be called on any object that is at least that specific
const UFunction* FirstDeclaredFunction = Function;
while (FirstDeclaredFunction->GetSuperFunction() != NULL)
{
FirstDeclaredFunction = FirstDeclaredFunction->GetSuperFunction();
}
// Create the self pin
UClass* FunctionClass = CastChecked<UClass>(FirstDeclaredFunction->GetOuter());
// we don't want blueprint-function target pins to be formed from the
// skeleton class (otherwise, they could be incompatible with other pins
// that represent the same type)... this here could lead to a compiler
// warning (the GeneratedClass could not have the function yet), but in
// that, the user would be reminded to compile the other blueprint
if (FunctionClass->ClassGeneratedBy)
{
FunctionClass = FunctionClass->GetAuthoritativeClass();
}
UEdGraphPin* SelfPin = NULL;
if (FunctionClass == GetBlueprint()->GeneratedClass)
{
// This means the function is defined within the blueprint, so the pin should be a true "self" pin
SelfPin = CreatePin(EGPD_Input, K2Schema->PC_Object, K2Schema->PSC_Self, NULL, false, false, K2Schema->PN_Self);
}
else if (FunctionClass->IsChildOf(UInterface::StaticClass()))
{
SelfPin = CreatePin(EGPD_Input, K2Schema->PC_Interface, TEXT(""), FunctionClass, false, false, K2Schema->PN_Self);
}
else
{
// This means that the function is declared in an external class, and should reference that class
SelfPin = CreatePin(EGPD_Input, K2Schema->PC_Object, TEXT(""), FunctionClass, false, false, K2Schema->PN_Self);
}
check(SelfPin != NULL);
return SelfPin;
}
void UK2Node_CallFunction::CreateExecPinsForFunctionCall(const UFunction* Function)
{
bool bCreateSingleExecInputPin = true;
bool bCreateThenPin = true;
// If not pure, create exec pins
if (!bIsPureFunc)
{
const UEdGraphSchema_K2* K2Schema = GetDefault<UEdGraphSchema_K2>();
// If we want enum->exec expansion, and it is not disabled, do it now
if(bWantsEnumToExecExpansion)
{
const FString& EnumParamName = Function->GetMetaData(FBlueprintMetadata::MD_ExpandEnumAsExecs);
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3208226) #lockdown Nick.Penwarden #rb None ========================== MAJOR FEATURES + CHANGES ========================== Change 3173153 on 2016/10/25 by Graeme.Thornton Pak signing changes - Integrated into EDL loader - Changed to not encrypt each CRC in the sig file, rather just store a single encryped signature of the entire sig file. Removes need to decrypt thousands of signatures at startup. Change 3173531 on 2016/10/25 by Steven.Hutton Removing unused j query packages. Change 3174743 on 2016/10/26 by Gil.Gribb UE4 - fixed COTF with EDL Change 3177896 on 2016/10/28 by Steve.Robb TSharedPtr and TSharedRef aliasing constructors. Removal of static_asserts for TSharedPtr<UObject>. Change 3180343 on 2016/10/31 by Steve.Robb Reimplementation of changes from CL#s 3050329 and 3105715 that were lost in merges 3094597 and 3105741. Change 3181382 on 2016/11/01 by Steve.Robb Visual Studio debugger visualizers for delegates. Change 3182738 on 2016/11/02 by Graeme.Thornton Re-enable signed archive reader so non-pakpreacher based reads still get signature checked Change 3183420 on 2016/11/02 by Steve.Robb Fix to TIsZeroConstructType for TScriptDelegate. Change 3184872 on 2016/11/03 by Robert.Manuszewski Fixing memory stomps in SSL certificate initialization (found with mallocstomp) Change 3184873 on 2016/11/03 by Robert.Manuszewski Adding thread safety checks to async loading code Change 3185535 on 2016/11/03 by Ben.Zeigler Fix it so calling CreateDefaultSubobject with bTransient = true sets the object transient flag. This fixes EDL Crashes involving components. Change 3186636 on 2016/11/04 by Graeme.Thornton AES encryption integrated into EDL system Pak signing and AES encryption now configurable by ini files rather than magical text files Change 3186637 on 2016/11/04 by Graeme.Thornton Configured pak signing and encryption in ShooterGame for reference Change 3186639 on 2016/11/04 by Graeme.Thornton Encryption changes for Orion * Move pak signing keys into new INI format * Add AES key and enable INI file encryption Change 3186661 on 2016/11/04 by Graeme.Thornton Change unrealpak command line params to accept AES key as a separete parameter Change 3186670 on 2016/11/04 by Robert.Manuszewski Adding a null check before using a package pointer in Linker code #jira UE-38237 Change 3186775 on 2016/11/04 by Graeme.Thornton Fix UBT defines that come in as quoted strings, losing the quotes when passed to the compiler - PS4 and Mac fixes. Other platforms might need fixing too! Change 3186823 on 2016/11/04 by Graeme.Thornton Fixed an incorrect size check in the EDL pak signing code Change 3186925 on 2016/11/04 by Graeme.Thornton Allow UnrealPak to read encryption settings from project ini files Change 3189885 on 2016/11/08 by Graeme.Thornton Static analysis warning fix Change 3190015 on 2016/11/08 by Robert.Manuszewski Thread safety fix for UBlueprintGeneratedClass::PostLoadDefaultObject while UBlueprintGeneratedClass::SerializeDefaultObject runs on the async loading thread Change 3190253 on 2016/11/08 by Chris.Wood Improved MDD performance for on the CR server. [UE-37566] - Improve MDD performance on CR server Blocked MDD init'ing the crash handling code as it isn't desirable on the server. Removed redundant call to SetSymbolPathsFromModules() from CrashDebugHelper. Change 3192993 on 2016/11/10 by Robert.Manuszewski Thread Heartbeat will no longer report the same hang multiple times. Change 3193111 on 2016/11/10 by Robert.Manuszewski Minor change in the condition that detects the same hangs - allow the same callstacks from different threads Change 3193168 on 2016/11/10 by Steve.Robb TSparseArray now reserves space in reverse so that new elements get added to the front of the allocation rather than the back, which is better for memory traversal and meets expectations more closely. Change 3193171 on 2016/11/10 by Steve.Robb Easier debugging of FPendingRegistrantInfo map. Change 3193188 on 2016/11/10 by Steve.Robb TAutoPointer deprecated. Change 3193796 on 2016/11/10 by Graeme.Thornton Fix pak creation failure when no pak signing keys are supplied Change 3194524 on 2016/11/11 by Graeme.Thornton Another static analysis warning fix Change 3195119 on 2016/11/11 by Steve.Robb TAutoPtr deprecated. Fixes to use of TAutoPtr with incompatible memory deallocations (TAutoPtr with FMemory::Malloc and new[]). Some large headers moved into .cpp files. Change 3196582 on 2016/11/14 by Gil.Gribb UE4 - Changed a check to a warning related to detaching linekrs twice. Seen in nativized BP version of platformer game. Change 3196878 on 2016/11/14 by Steve.Robb TScopedPointer deprecated. Change 3198061 on 2016/11/15 by Steve.Robb Class array is no longer regenerated when saving UClasses. Change 3198065 on 2016/11/15 by Robert.Manuszewski Making AssembleReferenceTokenStream thread safe for blueprints loaded on the async loading thread. Change 3198199 on 2016/11/15 by Robert.Manuszewski Pak platform file will now only be used if pak files exist regardless of command line paraks like -pak, -singedpak and -signed. Change 3199954 on 2016/11/16 by Graeme.Thornton Removing USING_SIGNED_CONTENT Change 3200221 on 2016/11/16 by Chris.Wood CrashReportProcess code cleanup - removing unused using directives Change 3200232 on 2016/11/16 by Chris.Wood Multiple CrashReportProcess updates and improvements (CRP v1.2.6) UE-36248 - CRP scalability: All bulk storage or shared data to S3 or suitable network drives InvalidCrashReports now saved to S3 instead of local folder Removed option tosync MinidumpDiagnostics from Perforce Moved MinidumpDiagnostics from old Perforce synched location to its own folder in E:\Services (makes more sense with manual publishing) Added improved logging to Slack with option to monitor MDD performance Added hourly log folders to MDD logs Added support for types of crashes we don't want to symbolicate (using it to skip callstack gen for hang detected ensures) Change 3200382 on 2016/11/16 by Robert.Manuszewski Async Loading code will now detach the linker when resetting async package loader to avoid situations when loading the same asset multiple times results in the following load request finding the old linker after the package has been loading but the async package hasn't been deleted yet (async package for the old request in limbo state but linker exists). Change 3200562 on 2016/11/16 by Gil.Gribb UE4 - Fixed rare issue with reloading nativized blueprints with the EDL and a minor simplication. Change 3201093 on 2016/11/16 by Ben.Zeigler #UE 38654 Fix EDL cooking to correctly search components created directly by UBlueprints, as well as the CDO components it already covered. Also explicitly mark subobject templates as editor only. Fix issue where the AssetImportData associated with Blueprint-owned Curves was ending up in the cooked subobject template list. Stopped it from creating those objects, and mark the class editor only. Change 3201736 on 2016/11/17 by Steve.Robb Strtoi64 platform and TCString functions. #fyi robert.manuszewski Change 3201938 on 2016/11/17 by Ben.Woodhouse Dummy integrate of the Square render version workaround (CL 3201913) with _accept target_ to prevent it being integrated to dev-core in future. Commandline: p4 integrate //Tasks/UE4/Dev-LoadTimes/Engine/Source/Runtime/CoreUObject/Private/UObject/LinkerLoad.cpp@3201913,3201913 //UE4/Dev-Core/Engine/Source/Runtime/CoreUObject/Private/UObject/LinkerLoad.cpp #fyi robert.manuszewski Change 3203757 on 2016/11/18 by Robert.Manuszewski Removing debug code from async loading code. Change 3203927 on 2016/11/18 by Robert.Manuszewski Fixing comments in the async loading code. Change 3204851 on 2016/11/18 by Steve.Robb Metafunction for testing if a particular operator<< overload exists, e.g. THasInserterOperator<FArchive&, FMyType&>::Value. Change 3204854 on 2016/11/18 by Steve.Robb UEnumProperty. Change 3205027 on 2016/11/18 by Ben.Zeigler Add useful functions to FAssetPtr and TAssetSubclassOf that already existed on TAssetPtr Add Get() to TSubclassOf so it matches our other wrappers Fix TSubclassOf and TAssetSubclassOf to use the more efficient template method of checking class compatibility Comment and template cleanups for AssetPtr, StringAssetReference, LazyPtr, and SubclassOf Change 3206334 on 2016/11/21 by Ben.Zeigler #UE-38773: Fix it so non-component template subobjects of CDOs are not included as creation dependencies for BP classes, also clean up GetPreloadDependencies as it was adding redundant and null entries #UE-38799: Fix it so WidgetTrees don't get picked up as subobjects, and add ensure at cook time to find null outers that would crash at runtime. Make sure the instanced widget trees are transient. Cook finishes but game is still crashing in some cases, so I might adjust this after other testing Change 3206353 on 2016/11/21 by Ben.Zeigler Fix EnumProperty to handle EDL preload dependencies properly Change 3206625 on 2016/11/21 by Ben.Zeigler Fix enum property crash at runtime by copying what array property does and making sure inner property is not transient Change 3206937 on 2016/11/21 by Ben.Zeigler #jira UE-38905 Fix it so enums inside arrays are migrated properly, the enum tag is lost so use the current one Disable other nested enum migrations as they are unlikely to work. Array property tags need to be refactored to be safer Correctly save enum tag for enum properties, it was being set but not serialized Change 3207002 on 2016/11/21 by Ben.Zeigler #jira UE-38799 Fix it so per-widget copy of widget tree and all widgets inside are properly transient, they were being cooked before but never accessed. Fix case where non ClientOnly public objects nested instead ClientOnly objects would cook but fail to load, and add ensure to catch these cases in the future. If the full outer chain isn't available, it can't be loaded anyway, and this finds issues at cook time instead of load time. We should generally outlaw non-transient objects with transient outers, it does not do what people expect. Change 3207032 on 2016/11/21 by Ben.Zeigler #jira UE-38654 Re-Fix EDL cooking with SCS-added components. They used to have the DefaultSubObject flag but no longer do [CL 3208270 by Ben Zeigler in Main branch]
2016-11-22 18:45:44 -05:00
UProperty* Prop = nullptr;
UEnum* Enum = nullptr;
if(UByteProperty* ByteProp = FindField<UByteProperty>(Function, FName(*EnumParamName)))
{
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3208226) #lockdown Nick.Penwarden #rb None ========================== MAJOR FEATURES + CHANGES ========================== Change 3173153 on 2016/10/25 by Graeme.Thornton Pak signing changes - Integrated into EDL loader - Changed to not encrypt each CRC in the sig file, rather just store a single encryped signature of the entire sig file. Removes need to decrypt thousands of signatures at startup. Change 3173531 on 2016/10/25 by Steven.Hutton Removing unused j query packages. Change 3174743 on 2016/10/26 by Gil.Gribb UE4 - fixed COTF with EDL Change 3177896 on 2016/10/28 by Steve.Robb TSharedPtr and TSharedRef aliasing constructors. Removal of static_asserts for TSharedPtr<UObject>. Change 3180343 on 2016/10/31 by Steve.Robb Reimplementation of changes from CL#s 3050329 and 3105715 that were lost in merges 3094597 and 3105741. Change 3181382 on 2016/11/01 by Steve.Robb Visual Studio debugger visualizers for delegates. Change 3182738 on 2016/11/02 by Graeme.Thornton Re-enable signed archive reader so non-pakpreacher based reads still get signature checked Change 3183420 on 2016/11/02 by Steve.Robb Fix to TIsZeroConstructType for TScriptDelegate. Change 3184872 on 2016/11/03 by Robert.Manuszewski Fixing memory stomps in SSL certificate initialization (found with mallocstomp) Change 3184873 on 2016/11/03 by Robert.Manuszewski Adding thread safety checks to async loading code Change 3185535 on 2016/11/03 by Ben.Zeigler Fix it so calling CreateDefaultSubobject with bTransient = true sets the object transient flag. This fixes EDL Crashes involving components. Change 3186636 on 2016/11/04 by Graeme.Thornton AES encryption integrated into EDL system Pak signing and AES encryption now configurable by ini files rather than magical text files Change 3186637 on 2016/11/04 by Graeme.Thornton Configured pak signing and encryption in ShooterGame for reference Change 3186639 on 2016/11/04 by Graeme.Thornton Encryption changes for Orion * Move pak signing keys into new INI format * Add AES key and enable INI file encryption Change 3186661 on 2016/11/04 by Graeme.Thornton Change unrealpak command line params to accept AES key as a separete parameter Change 3186670 on 2016/11/04 by Robert.Manuszewski Adding a null check before using a package pointer in Linker code #jira UE-38237 Change 3186775 on 2016/11/04 by Graeme.Thornton Fix UBT defines that come in as quoted strings, losing the quotes when passed to the compiler - PS4 and Mac fixes. Other platforms might need fixing too! Change 3186823 on 2016/11/04 by Graeme.Thornton Fixed an incorrect size check in the EDL pak signing code Change 3186925 on 2016/11/04 by Graeme.Thornton Allow UnrealPak to read encryption settings from project ini files Change 3189885 on 2016/11/08 by Graeme.Thornton Static analysis warning fix Change 3190015 on 2016/11/08 by Robert.Manuszewski Thread safety fix for UBlueprintGeneratedClass::PostLoadDefaultObject while UBlueprintGeneratedClass::SerializeDefaultObject runs on the async loading thread Change 3190253 on 2016/11/08 by Chris.Wood Improved MDD performance for on the CR server. [UE-37566] - Improve MDD performance on CR server Blocked MDD init'ing the crash handling code as it isn't desirable on the server. Removed redundant call to SetSymbolPathsFromModules() from CrashDebugHelper. Change 3192993 on 2016/11/10 by Robert.Manuszewski Thread Heartbeat will no longer report the same hang multiple times. Change 3193111 on 2016/11/10 by Robert.Manuszewski Minor change in the condition that detects the same hangs - allow the same callstacks from different threads Change 3193168 on 2016/11/10 by Steve.Robb TSparseArray now reserves space in reverse so that new elements get added to the front of the allocation rather than the back, which is better for memory traversal and meets expectations more closely. Change 3193171 on 2016/11/10 by Steve.Robb Easier debugging of FPendingRegistrantInfo map. Change 3193188 on 2016/11/10 by Steve.Robb TAutoPointer deprecated. Change 3193796 on 2016/11/10 by Graeme.Thornton Fix pak creation failure when no pak signing keys are supplied Change 3194524 on 2016/11/11 by Graeme.Thornton Another static analysis warning fix Change 3195119 on 2016/11/11 by Steve.Robb TAutoPtr deprecated. Fixes to use of TAutoPtr with incompatible memory deallocations (TAutoPtr with FMemory::Malloc and new[]). Some large headers moved into .cpp files. Change 3196582 on 2016/11/14 by Gil.Gribb UE4 - Changed a check to a warning related to detaching linekrs twice. Seen in nativized BP version of platformer game. Change 3196878 on 2016/11/14 by Steve.Robb TScopedPointer deprecated. Change 3198061 on 2016/11/15 by Steve.Robb Class array is no longer regenerated when saving UClasses. Change 3198065 on 2016/11/15 by Robert.Manuszewski Making AssembleReferenceTokenStream thread safe for blueprints loaded on the async loading thread. Change 3198199 on 2016/11/15 by Robert.Manuszewski Pak platform file will now only be used if pak files exist regardless of command line paraks like -pak, -singedpak and -signed. Change 3199954 on 2016/11/16 by Graeme.Thornton Removing USING_SIGNED_CONTENT Change 3200221 on 2016/11/16 by Chris.Wood CrashReportProcess code cleanup - removing unused using directives Change 3200232 on 2016/11/16 by Chris.Wood Multiple CrashReportProcess updates and improvements (CRP v1.2.6) UE-36248 - CRP scalability: All bulk storage or shared data to S3 or suitable network drives InvalidCrashReports now saved to S3 instead of local folder Removed option tosync MinidumpDiagnostics from Perforce Moved MinidumpDiagnostics from old Perforce synched location to its own folder in E:\Services (makes more sense with manual publishing) Added improved logging to Slack with option to monitor MDD performance Added hourly log folders to MDD logs Added support for types of crashes we don't want to symbolicate (using it to skip callstack gen for hang detected ensures) Change 3200382 on 2016/11/16 by Robert.Manuszewski Async Loading code will now detach the linker when resetting async package loader to avoid situations when loading the same asset multiple times results in the following load request finding the old linker after the package has been loading but the async package hasn't been deleted yet (async package for the old request in limbo state but linker exists). Change 3200562 on 2016/11/16 by Gil.Gribb UE4 - Fixed rare issue with reloading nativized blueprints with the EDL and a minor simplication. Change 3201093 on 2016/11/16 by Ben.Zeigler #UE 38654 Fix EDL cooking to correctly search components created directly by UBlueprints, as well as the CDO components it already covered. Also explicitly mark subobject templates as editor only. Fix issue where the AssetImportData associated with Blueprint-owned Curves was ending up in the cooked subobject template list. Stopped it from creating those objects, and mark the class editor only. Change 3201736 on 2016/11/17 by Steve.Robb Strtoi64 platform and TCString functions. #fyi robert.manuszewski Change 3201938 on 2016/11/17 by Ben.Woodhouse Dummy integrate of the Square render version workaround (CL 3201913) with _accept target_ to prevent it being integrated to dev-core in future. Commandline: p4 integrate //Tasks/UE4/Dev-LoadTimes/Engine/Source/Runtime/CoreUObject/Private/UObject/LinkerLoad.cpp@3201913,3201913 //UE4/Dev-Core/Engine/Source/Runtime/CoreUObject/Private/UObject/LinkerLoad.cpp #fyi robert.manuszewski Change 3203757 on 2016/11/18 by Robert.Manuszewski Removing debug code from async loading code. Change 3203927 on 2016/11/18 by Robert.Manuszewski Fixing comments in the async loading code. Change 3204851 on 2016/11/18 by Steve.Robb Metafunction for testing if a particular operator<< overload exists, e.g. THasInserterOperator<FArchive&, FMyType&>::Value. Change 3204854 on 2016/11/18 by Steve.Robb UEnumProperty. Change 3205027 on 2016/11/18 by Ben.Zeigler Add useful functions to FAssetPtr and TAssetSubclassOf that already existed on TAssetPtr Add Get() to TSubclassOf so it matches our other wrappers Fix TSubclassOf and TAssetSubclassOf to use the more efficient template method of checking class compatibility Comment and template cleanups for AssetPtr, StringAssetReference, LazyPtr, and SubclassOf Change 3206334 on 2016/11/21 by Ben.Zeigler #UE-38773: Fix it so non-component template subobjects of CDOs are not included as creation dependencies for BP classes, also clean up GetPreloadDependencies as it was adding redundant and null entries #UE-38799: Fix it so WidgetTrees don't get picked up as subobjects, and add ensure at cook time to find null outers that would crash at runtime. Make sure the instanced widget trees are transient. Cook finishes but game is still crashing in some cases, so I might adjust this after other testing Change 3206353 on 2016/11/21 by Ben.Zeigler Fix EnumProperty to handle EDL preload dependencies properly Change 3206625 on 2016/11/21 by Ben.Zeigler Fix enum property crash at runtime by copying what array property does and making sure inner property is not transient Change 3206937 on 2016/11/21 by Ben.Zeigler #jira UE-38905 Fix it so enums inside arrays are migrated properly, the enum tag is lost so use the current one Disable other nested enum migrations as they are unlikely to work. Array property tags need to be refactored to be safer Correctly save enum tag for enum properties, it was being set but not serialized Change 3207002 on 2016/11/21 by Ben.Zeigler #jira UE-38799 Fix it so per-widget copy of widget tree and all widgets inside are properly transient, they were being cooked before but never accessed. Fix case where non ClientOnly public objects nested instead ClientOnly objects would cook but fail to load, and add ensure to catch these cases in the future. If the full outer chain isn't available, it can't be loaded anyway, and this finds issues at cook time instead of load time. We should generally outlaw non-transient objects with transient outers, it does not do what people expect. Change 3207032 on 2016/11/21 by Ben.Zeigler #jira UE-38654 Re-Fix EDL cooking with SCS-added components. They used to have the DefaultSubObject flag but no longer do [CL 3208270 by Ben Zeigler in Main branch]
2016-11-22 18:45:44 -05:00
Prop = ByteProp;
Enum = ByteProp->Enum;
}
else if(UEnumProperty* EnumProp = FindField<UEnumProperty>(Function, FName(*EnumParamName)))
{
Prop = EnumProp;
Enum = EnumProp->GetEnum();
}
if(Prop != nullptr && Enum != nullptr)
{
const bool bIsFunctionInput = !Prop->HasAnyPropertyFlags(CPF_ReturnParm) &&
(!Prop->HasAnyPropertyFlags(CPF_OutParm) ||
Prop->HasAnyPropertyFlags(CPF_ReferenceParm));
const EEdGraphPinDirection Direction = bIsFunctionInput ? EGPD_Input : EGPD_Output;
// yay, found it! Now create exec pin for each
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3208226) #lockdown Nick.Penwarden #rb None ========================== MAJOR FEATURES + CHANGES ========================== Change 3173153 on 2016/10/25 by Graeme.Thornton Pak signing changes - Integrated into EDL loader - Changed to not encrypt each CRC in the sig file, rather just store a single encryped signature of the entire sig file. Removes need to decrypt thousands of signatures at startup. Change 3173531 on 2016/10/25 by Steven.Hutton Removing unused j query packages. Change 3174743 on 2016/10/26 by Gil.Gribb UE4 - fixed COTF with EDL Change 3177896 on 2016/10/28 by Steve.Robb TSharedPtr and TSharedRef aliasing constructors. Removal of static_asserts for TSharedPtr<UObject>. Change 3180343 on 2016/10/31 by Steve.Robb Reimplementation of changes from CL#s 3050329 and 3105715 that were lost in merges 3094597 and 3105741. Change 3181382 on 2016/11/01 by Steve.Robb Visual Studio debugger visualizers for delegates. Change 3182738 on 2016/11/02 by Graeme.Thornton Re-enable signed archive reader so non-pakpreacher based reads still get signature checked Change 3183420 on 2016/11/02 by Steve.Robb Fix to TIsZeroConstructType for TScriptDelegate. Change 3184872 on 2016/11/03 by Robert.Manuszewski Fixing memory stomps in SSL certificate initialization (found with mallocstomp) Change 3184873 on 2016/11/03 by Robert.Manuszewski Adding thread safety checks to async loading code Change 3185535 on 2016/11/03 by Ben.Zeigler Fix it so calling CreateDefaultSubobject with bTransient = true sets the object transient flag. This fixes EDL Crashes involving components. Change 3186636 on 2016/11/04 by Graeme.Thornton AES encryption integrated into EDL system Pak signing and AES encryption now configurable by ini files rather than magical text files Change 3186637 on 2016/11/04 by Graeme.Thornton Configured pak signing and encryption in ShooterGame for reference Change 3186639 on 2016/11/04 by Graeme.Thornton Encryption changes for Orion * Move pak signing keys into new INI format * Add AES key and enable INI file encryption Change 3186661 on 2016/11/04 by Graeme.Thornton Change unrealpak command line params to accept AES key as a separete parameter Change 3186670 on 2016/11/04 by Robert.Manuszewski Adding a null check before using a package pointer in Linker code #jira UE-38237 Change 3186775 on 2016/11/04 by Graeme.Thornton Fix UBT defines that come in as quoted strings, losing the quotes when passed to the compiler - PS4 and Mac fixes. Other platforms might need fixing too! Change 3186823 on 2016/11/04 by Graeme.Thornton Fixed an incorrect size check in the EDL pak signing code Change 3186925 on 2016/11/04 by Graeme.Thornton Allow UnrealPak to read encryption settings from project ini files Change 3189885 on 2016/11/08 by Graeme.Thornton Static analysis warning fix Change 3190015 on 2016/11/08 by Robert.Manuszewski Thread safety fix for UBlueprintGeneratedClass::PostLoadDefaultObject while UBlueprintGeneratedClass::SerializeDefaultObject runs on the async loading thread Change 3190253 on 2016/11/08 by Chris.Wood Improved MDD performance for on the CR server. [UE-37566] - Improve MDD performance on CR server Blocked MDD init'ing the crash handling code as it isn't desirable on the server. Removed redundant call to SetSymbolPathsFromModules() from CrashDebugHelper. Change 3192993 on 2016/11/10 by Robert.Manuszewski Thread Heartbeat will no longer report the same hang multiple times. Change 3193111 on 2016/11/10 by Robert.Manuszewski Minor change in the condition that detects the same hangs - allow the same callstacks from different threads Change 3193168 on 2016/11/10 by Steve.Robb TSparseArray now reserves space in reverse so that new elements get added to the front of the allocation rather than the back, which is better for memory traversal and meets expectations more closely. Change 3193171 on 2016/11/10 by Steve.Robb Easier debugging of FPendingRegistrantInfo map. Change 3193188 on 2016/11/10 by Steve.Robb TAutoPointer deprecated. Change 3193796 on 2016/11/10 by Graeme.Thornton Fix pak creation failure when no pak signing keys are supplied Change 3194524 on 2016/11/11 by Graeme.Thornton Another static analysis warning fix Change 3195119 on 2016/11/11 by Steve.Robb TAutoPtr deprecated. Fixes to use of TAutoPtr with incompatible memory deallocations (TAutoPtr with FMemory::Malloc and new[]). Some large headers moved into .cpp files. Change 3196582 on 2016/11/14 by Gil.Gribb UE4 - Changed a check to a warning related to detaching linekrs twice. Seen in nativized BP version of platformer game. Change 3196878 on 2016/11/14 by Steve.Robb TScopedPointer deprecated. Change 3198061 on 2016/11/15 by Steve.Robb Class array is no longer regenerated when saving UClasses. Change 3198065 on 2016/11/15 by Robert.Manuszewski Making AssembleReferenceTokenStream thread safe for blueprints loaded on the async loading thread. Change 3198199 on 2016/11/15 by Robert.Manuszewski Pak platform file will now only be used if pak files exist regardless of command line paraks like -pak, -singedpak and -signed. Change 3199954 on 2016/11/16 by Graeme.Thornton Removing USING_SIGNED_CONTENT Change 3200221 on 2016/11/16 by Chris.Wood CrashReportProcess code cleanup - removing unused using directives Change 3200232 on 2016/11/16 by Chris.Wood Multiple CrashReportProcess updates and improvements (CRP v1.2.6) UE-36248 - CRP scalability: All bulk storage or shared data to S3 or suitable network drives InvalidCrashReports now saved to S3 instead of local folder Removed option tosync MinidumpDiagnostics from Perforce Moved MinidumpDiagnostics from old Perforce synched location to its own folder in E:\Services (makes more sense with manual publishing) Added improved logging to Slack with option to monitor MDD performance Added hourly log folders to MDD logs Added support for types of crashes we don't want to symbolicate (using it to skip callstack gen for hang detected ensures) Change 3200382 on 2016/11/16 by Robert.Manuszewski Async Loading code will now detach the linker when resetting async package loader to avoid situations when loading the same asset multiple times results in the following load request finding the old linker after the package has been loading but the async package hasn't been deleted yet (async package for the old request in limbo state but linker exists). Change 3200562 on 2016/11/16 by Gil.Gribb UE4 - Fixed rare issue with reloading nativized blueprints with the EDL and a minor simplication. Change 3201093 on 2016/11/16 by Ben.Zeigler #UE 38654 Fix EDL cooking to correctly search components created directly by UBlueprints, as well as the CDO components it already covered. Also explicitly mark subobject templates as editor only. Fix issue where the AssetImportData associated with Blueprint-owned Curves was ending up in the cooked subobject template list. Stopped it from creating those objects, and mark the class editor only. Change 3201736 on 2016/11/17 by Steve.Robb Strtoi64 platform and TCString functions. #fyi robert.manuszewski Change 3201938 on 2016/11/17 by Ben.Woodhouse Dummy integrate of the Square render version workaround (CL 3201913) with _accept target_ to prevent it being integrated to dev-core in future. Commandline: p4 integrate //Tasks/UE4/Dev-LoadTimes/Engine/Source/Runtime/CoreUObject/Private/UObject/LinkerLoad.cpp@3201913,3201913 //UE4/Dev-Core/Engine/Source/Runtime/CoreUObject/Private/UObject/LinkerLoad.cpp #fyi robert.manuszewski Change 3203757 on 2016/11/18 by Robert.Manuszewski Removing debug code from async loading code. Change 3203927 on 2016/11/18 by Robert.Manuszewski Fixing comments in the async loading code. Change 3204851 on 2016/11/18 by Steve.Robb Metafunction for testing if a particular operator<< overload exists, e.g. THasInserterOperator<FArchive&, FMyType&>::Value. Change 3204854 on 2016/11/18 by Steve.Robb UEnumProperty. Change 3205027 on 2016/11/18 by Ben.Zeigler Add useful functions to FAssetPtr and TAssetSubclassOf that already existed on TAssetPtr Add Get() to TSubclassOf so it matches our other wrappers Fix TSubclassOf and TAssetSubclassOf to use the more efficient template method of checking class compatibility Comment and template cleanups for AssetPtr, StringAssetReference, LazyPtr, and SubclassOf Change 3206334 on 2016/11/21 by Ben.Zeigler #UE-38773: Fix it so non-component template subobjects of CDOs are not included as creation dependencies for BP classes, also clean up GetPreloadDependencies as it was adding redundant and null entries #UE-38799: Fix it so WidgetTrees don't get picked up as subobjects, and add ensure at cook time to find null outers that would crash at runtime. Make sure the instanced widget trees are transient. Cook finishes but game is still crashing in some cases, so I might adjust this after other testing Change 3206353 on 2016/11/21 by Ben.Zeigler Fix EnumProperty to handle EDL preload dependencies properly Change 3206625 on 2016/11/21 by Ben.Zeigler Fix enum property crash at runtime by copying what array property does and making sure inner property is not transient Change 3206937 on 2016/11/21 by Ben.Zeigler #jira UE-38905 Fix it so enums inside arrays are migrated properly, the enum tag is lost so use the current one Disable other nested enum migrations as they are unlikely to work. Array property tags need to be refactored to be safer Correctly save enum tag for enum properties, it was being set but not serialized Change 3207002 on 2016/11/21 by Ben.Zeigler #jira UE-38799 Fix it so per-widget copy of widget tree and all widgets inside are properly transient, they were being cooked before but never accessed. Fix case where non ClientOnly public objects nested instead ClientOnly objects would cook but fail to load, and add ensure to catch these cases in the future. If the full outer chain isn't available, it can't be loaded anyway, and this finds issues at cook time instead of load time. We should generally outlaw non-transient objects with transient outers, it does not do what people expect. Change 3207032 on 2016/11/21 by Ben.Zeigler #jira UE-38654 Re-Fix EDL cooking with SCS-added components. They used to have the DefaultSubObject flag but no longer do [CL 3208270 by Ben Zeigler in Main branch]
2016-11-22 18:45:44 -05:00
int32 NumExecs = (Enum->NumEnums() - 1);
for(int32 ExecIdx=0; ExecIdx<NumExecs; ExecIdx++)
{
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3208226) #lockdown Nick.Penwarden #rb None ========================== MAJOR FEATURES + CHANGES ========================== Change 3173153 on 2016/10/25 by Graeme.Thornton Pak signing changes - Integrated into EDL loader - Changed to not encrypt each CRC in the sig file, rather just store a single encryped signature of the entire sig file. Removes need to decrypt thousands of signatures at startup. Change 3173531 on 2016/10/25 by Steven.Hutton Removing unused j query packages. Change 3174743 on 2016/10/26 by Gil.Gribb UE4 - fixed COTF with EDL Change 3177896 on 2016/10/28 by Steve.Robb TSharedPtr and TSharedRef aliasing constructors. Removal of static_asserts for TSharedPtr<UObject>. Change 3180343 on 2016/10/31 by Steve.Robb Reimplementation of changes from CL#s 3050329 and 3105715 that were lost in merges 3094597 and 3105741. Change 3181382 on 2016/11/01 by Steve.Robb Visual Studio debugger visualizers for delegates. Change 3182738 on 2016/11/02 by Graeme.Thornton Re-enable signed archive reader so non-pakpreacher based reads still get signature checked Change 3183420 on 2016/11/02 by Steve.Robb Fix to TIsZeroConstructType for TScriptDelegate. Change 3184872 on 2016/11/03 by Robert.Manuszewski Fixing memory stomps in SSL certificate initialization (found with mallocstomp) Change 3184873 on 2016/11/03 by Robert.Manuszewski Adding thread safety checks to async loading code Change 3185535 on 2016/11/03 by Ben.Zeigler Fix it so calling CreateDefaultSubobject with bTransient = true sets the object transient flag. This fixes EDL Crashes involving components. Change 3186636 on 2016/11/04 by Graeme.Thornton AES encryption integrated into EDL system Pak signing and AES encryption now configurable by ini files rather than magical text files Change 3186637 on 2016/11/04 by Graeme.Thornton Configured pak signing and encryption in ShooterGame for reference Change 3186639 on 2016/11/04 by Graeme.Thornton Encryption changes for Orion * Move pak signing keys into new INI format * Add AES key and enable INI file encryption Change 3186661 on 2016/11/04 by Graeme.Thornton Change unrealpak command line params to accept AES key as a separete parameter Change 3186670 on 2016/11/04 by Robert.Manuszewski Adding a null check before using a package pointer in Linker code #jira UE-38237 Change 3186775 on 2016/11/04 by Graeme.Thornton Fix UBT defines that come in as quoted strings, losing the quotes when passed to the compiler - PS4 and Mac fixes. Other platforms might need fixing too! Change 3186823 on 2016/11/04 by Graeme.Thornton Fixed an incorrect size check in the EDL pak signing code Change 3186925 on 2016/11/04 by Graeme.Thornton Allow UnrealPak to read encryption settings from project ini files Change 3189885 on 2016/11/08 by Graeme.Thornton Static analysis warning fix Change 3190015 on 2016/11/08 by Robert.Manuszewski Thread safety fix for UBlueprintGeneratedClass::PostLoadDefaultObject while UBlueprintGeneratedClass::SerializeDefaultObject runs on the async loading thread Change 3190253 on 2016/11/08 by Chris.Wood Improved MDD performance for on the CR server. [UE-37566] - Improve MDD performance on CR server Blocked MDD init'ing the crash handling code as it isn't desirable on the server. Removed redundant call to SetSymbolPathsFromModules() from CrashDebugHelper. Change 3192993 on 2016/11/10 by Robert.Manuszewski Thread Heartbeat will no longer report the same hang multiple times. Change 3193111 on 2016/11/10 by Robert.Manuszewski Minor change in the condition that detects the same hangs - allow the same callstacks from different threads Change 3193168 on 2016/11/10 by Steve.Robb TSparseArray now reserves space in reverse so that new elements get added to the front of the allocation rather than the back, which is better for memory traversal and meets expectations more closely. Change 3193171 on 2016/11/10 by Steve.Robb Easier debugging of FPendingRegistrantInfo map. Change 3193188 on 2016/11/10 by Steve.Robb TAutoPointer deprecated. Change 3193796 on 2016/11/10 by Graeme.Thornton Fix pak creation failure when no pak signing keys are supplied Change 3194524 on 2016/11/11 by Graeme.Thornton Another static analysis warning fix Change 3195119 on 2016/11/11 by Steve.Robb TAutoPtr deprecated. Fixes to use of TAutoPtr with incompatible memory deallocations (TAutoPtr with FMemory::Malloc and new[]). Some large headers moved into .cpp files. Change 3196582 on 2016/11/14 by Gil.Gribb UE4 - Changed a check to a warning related to detaching linekrs twice. Seen in nativized BP version of platformer game. Change 3196878 on 2016/11/14 by Steve.Robb TScopedPointer deprecated. Change 3198061 on 2016/11/15 by Steve.Robb Class array is no longer regenerated when saving UClasses. Change 3198065 on 2016/11/15 by Robert.Manuszewski Making AssembleReferenceTokenStream thread safe for blueprints loaded on the async loading thread. Change 3198199 on 2016/11/15 by Robert.Manuszewski Pak platform file will now only be used if pak files exist regardless of command line paraks like -pak, -singedpak and -signed. Change 3199954 on 2016/11/16 by Graeme.Thornton Removing USING_SIGNED_CONTENT Change 3200221 on 2016/11/16 by Chris.Wood CrashReportProcess code cleanup - removing unused using directives Change 3200232 on 2016/11/16 by Chris.Wood Multiple CrashReportProcess updates and improvements (CRP v1.2.6) UE-36248 - CRP scalability: All bulk storage or shared data to S3 or suitable network drives InvalidCrashReports now saved to S3 instead of local folder Removed option tosync MinidumpDiagnostics from Perforce Moved MinidumpDiagnostics from old Perforce synched location to its own folder in E:\Services (makes more sense with manual publishing) Added improved logging to Slack with option to monitor MDD performance Added hourly log folders to MDD logs Added support for types of crashes we don't want to symbolicate (using it to skip callstack gen for hang detected ensures) Change 3200382 on 2016/11/16 by Robert.Manuszewski Async Loading code will now detach the linker when resetting async package loader to avoid situations when loading the same asset multiple times results in the following load request finding the old linker after the package has been loading but the async package hasn't been deleted yet (async package for the old request in limbo state but linker exists). Change 3200562 on 2016/11/16 by Gil.Gribb UE4 - Fixed rare issue with reloading nativized blueprints with the EDL and a minor simplication. Change 3201093 on 2016/11/16 by Ben.Zeigler #UE 38654 Fix EDL cooking to correctly search components created directly by UBlueprints, as well as the CDO components it already covered. Also explicitly mark subobject templates as editor only. Fix issue where the AssetImportData associated with Blueprint-owned Curves was ending up in the cooked subobject template list. Stopped it from creating those objects, and mark the class editor only. Change 3201736 on 2016/11/17 by Steve.Robb Strtoi64 platform and TCString functions. #fyi robert.manuszewski Change 3201938 on 2016/11/17 by Ben.Woodhouse Dummy integrate of the Square render version workaround (CL 3201913) with _accept target_ to prevent it being integrated to dev-core in future. Commandline: p4 integrate //Tasks/UE4/Dev-LoadTimes/Engine/Source/Runtime/CoreUObject/Private/UObject/LinkerLoad.cpp@3201913,3201913 //UE4/Dev-Core/Engine/Source/Runtime/CoreUObject/Private/UObject/LinkerLoad.cpp #fyi robert.manuszewski Change 3203757 on 2016/11/18 by Robert.Manuszewski Removing debug code from async loading code. Change 3203927 on 2016/11/18 by Robert.Manuszewski Fixing comments in the async loading code. Change 3204851 on 2016/11/18 by Steve.Robb Metafunction for testing if a particular operator<< overload exists, e.g. THasInserterOperator<FArchive&, FMyType&>::Value. Change 3204854 on 2016/11/18 by Steve.Robb UEnumProperty. Change 3205027 on 2016/11/18 by Ben.Zeigler Add useful functions to FAssetPtr and TAssetSubclassOf that already existed on TAssetPtr Add Get() to TSubclassOf so it matches our other wrappers Fix TSubclassOf and TAssetSubclassOf to use the more efficient template method of checking class compatibility Comment and template cleanups for AssetPtr, StringAssetReference, LazyPtr, and SubclassOf Change 3206334 on 2016/11/21 by Ben.Zeigler #UE-38773: Fix it so non-component template subobjects of CDOs are not included as creation dependencies for BP classes, also clean up GetPreloadDependencies as it was adding redundant and null entries #UE-38799: Fix it so WidgetTrees don't get picked up as subobjects, and add ensure at cook time to find null outers that would crash at runtime. Make sure the instanced widget trees are transient. Cook finishes but game is still crashing in some cases, so I might adjust this after other testing Change 3206353 on 2016/11/21 by Ben.Zeigler Fix EnumProperty to handle EDL preload dependencies properly Change 3206625 on 2016/11/21 by Ben.Zeigler Fix enum property crash at runtime by copying what array property does and making sure inner property is not transient Change 3206937 on 2016/11/21 by Ben.Zeigler #jira UE-38905 Fix it so enums inside arrays are migrated properly, the enum tag is lost so use the current one Disable other nested enum migrations as they are unlikely to work. Array property tags need to be refactored to be safer Correctly save enum tag for enum properties, it was being set but not serialized Change 3207002 on 2016/11/21 by Ben.Zeigler #jira UE-38799 Fix it so per-widget copy of widget tree and all widgets inside are properly transient, they were being cooked before but never accessed. Fix case where non ClientOnly public objects nested instead ClientOnly objects would cook but fail to load, and add ensure to catch these cases in the future. If the full outer chain isn't available, it can't be loaded anyway, and this finds issues at cook time instead of load time. We should generally outlaw non-transient objects with transient outers, it does not do what people expect. Change 3207032 on 2016/11/21 by Ben.Zeigler #jira UE-38654 Re-Fix EDL cooking with SCS-added components. They used to have the DefaultSubObject flag but no longer do [CL 3208270 by Ben Zeigler in Main branch]
2016-11-22 18:45:44 -05:00
bool const bShouldBeHidden = Enum->HasMetaData(TEXT("Hidden"), ExecIdx) || Enum->HasMetaData(TEXT("Spacer"), ExecIdx);
Copying //UE4/Release-Staging-4.12 to //UE4/Dev-Main (Source: //UE4/Release-4.12 @ 2955635) ========================== MAJOR FEATURES + CHANGES ========================== Change 2955635 on 2016/04/26 by Max.Chen Sequencer: Fix filtering so that folders that contain filtered nodes will also appear. #jira UE-28213 Change 2955617 on 2016/04/25 by Dmitriy.Dyomin Better fix for: Post processing rendering artifacts Nexus 6 this device on Android 5.0.1 does not support BGRA8888 texture as a color attachment #jira: UE-24067 Change 2955522 on 2016/04/25 by Max.Chen Sequencer: Fix crash when resolving object guid and context is null. #jira UE-29916 Change 2955504 on 2016/04/25 by Alexis.Matte #jira UE-29926 Fix build error for SplineComponent. I just move variable under #if !UE_BUILD_SHIPPING instead #if WITH_EDITORONLY_DATA to fix all build flavor, please feel free to adjust according to what the initial fix was suppose to do. Change 2955500 on 2016/04/25 by Dan.Oconnor Integration of 2955445 from Dev-BP #jira UE-29012 Change 2955234 on 2016/04/25 by Lina.Halper Fixed tool tip of twist node #jira : UE-29907 Change 2955211 on 2016/04/25 by Ben.Marsh Exclude all plugins which aren't required for a project (ie. don't have any content or modules for the current target) from its target receipt. Prevents dependencies on .uplugin files whose dependencies are otherwise compiled out. Re-enable PS4Media plugin by default. #jira UE-29842 Change 2955155 on 2016/04/25 by Jamie.Dale Fixed an issue where text committed via a focus loss might not display the correct text if it was changed during commit #jira UE-28756 Change 2955144 on 2016/04/25 by Jamie.Dale Fixed a case where editable text controls would fail to select their text when focused There was an order of operations issue between the options to select all text and move the cursor to the end of the document, which caused the cursor move to happen after the select all, and undo the selection. The order of these operations has now been flipped. #jira UE-29818 #jira UE-29772 Change 2955136 on 2016/04/25 by Chad.Taylor Merging to 4.12: Morpheus latency fix. Late update tracking frame was getting unnecessarily buffered an extra frame on the RHI thread. Removed buffering and the issue is fixed. #jira UE-22581 Change 2955134 on 2016/04/25 by Lina.Halper Removed code that blocks moving actor when they don't have physics asset #jira : UE-29796 #code review: Benn.Gallagher Change 2955130 on 2016/04/25 by Zak.Middleton #ue4 - (4.12) Don't reject low distance MTD, it could cause us to not process some valid overlaps. (copy of 2955001 in Main) #jira UE-29531 #lockdown Nick.Penwarden Change 2955098 on 2016/04/25 by Marc.Audy Don't spawn a child actor on the client if the server is going to have created one and be replicating it to the client #jira UE-7539 Change 2955049 on 2016/04/25 by Richard.TalbotWatkin Changes to how SplineComponents debug render. Added a SetDrawDebug method to control whether a spline is rendered. Also extended the facility to non-editor builds. #jira UE-29753 - Add ability to display a SplineComponent in-game Change 2955040 on 2016/04/25 by Chris.Gagnon Fixed Initializer Order Warning in hot reload ctor. #jira UE-28811, UE-28960 Change 2954995 on 2016/04/25 by Marc.Audy Make USceneComponent::Pre/PostNetReceive and PostRepNotifies protected instead of private so that subclasses can implement replication behaviors #jira UE-29909 Change 2954970 on 2016/04/25 by Peter.Sauerbrei fix for openwrite with O_APPEND flag #jira UE-28417 Change 2954917 on 2016/04/25 by Chris.Gagnon Moved a desired change from Main to 4.12 Added input settings to: - control if the viewport locks the mouse on acquire capture. - control if the viewport acquires capture on the application launch (first window activate). #jira UE-28811, UE-28960 parity with 4.11 (UE-28811, UE-28960 would be reintroduced without this) Change 2954908 on 2016/04/25 by Alexis.Matte #jira UE-29478 Prevent modal dialog to use 100% of a core Change 2954888 on 2016/04/25 by Marcus.Wassmer Fix compile issue with chinese locale #jira UE-29708 Change 2954813 on 2016/04/25 by Lina.Halper Fix when not re-validating the correct asset #jira : UE-29789 #code review: Martin.Wilson Change 2954810 on 2016/04/25 by mason.seay Updated map to improve coverage #jira UE-29618 Change 2954785 on 2016/04/25 by Max.Chen Sequencer: Always spawn sequencer spawnables. Disregard collision settings. #jira UE-29825 Change 2954781 on 2016/04/25 by mason.seay Test map for Audio Occlusion trace channels #jira UE-29618 Change 2954684 on 2016/04/25 by Marc.Audy Add GetIsReplicated accessor to AActor Deprecate specific GameplayAbility class implementations that was exposing bReplicates #jira UE-29897 Change 2954675 on 2016/04/25 by Alexis.Matte #jira UE-25430 Light Intensity value in FBX is a ratio. So I just multiply the default intensity value by the ratio to have something closer to the look in the DCCs Change 2954669 on 2016/04/25 by Alexis.Matte #jira UE-29507 Import of rigid mesh animation is broken Change 2954579 on 2016/04/25 by Ben.Marsh Temporarily stop the PS4Media plugin being enabled by default, so the UE4Game built for the binary release doesn't depend on it. Will implement whitelist/blacklist for platforms later. #jira UE-29842 Change 2954556 on 2016/04/25 by Taizyd.Korambayil #jira UE-29877 Setup ThirdPersonCharacter based on correct Code Class Change 2954552 on 2016/04/25 by Taizyd.Korambayil #jira UE-29877 Deleting BP class Change 2954498 on 2016/04/25 by Ryan.Gerleve Fix for remote player controllers reporting that they're actually local player controllers after a seamless travel on the server. Transition actors to the new level in a second pass after non-transitioning actors are handled. #jira UE-29213 Change 2954446 on 2016/04/25 by Max.Chen Sequencer: Fixed spawning actors with instance or multiple owned components - Also fixed issue where recorded actors were sometimes set as transient, meaning they didn't get saved #jira UE-29774, UE-29859 Change 2954430 on 2016/04/25 by Marc.Audy Don't schedule a tick function with a tick interval that was disabled while it was pending rescheduling #jira UE-29118 #jira UE-29747 Change 2954292 on 2016/04/25 by Richard.TalbotWatkin Replicated from //UE4/Dev-Editor CL 2946363 (by Frank.Fella) CurveEditorViewportClient - Bounds check when box selecting. Prevents crashing when the box is outside the viewport. #jira UE-29265 - Crash when drag selecting curve keys in matinee Change 2954262 on 2016/04/25 by Graeme.Thornton Fixed a editor crash when destroying linkers half way through a package EndLoad #jira UE-29437 Change 2954239 on 2016/04/25 by Marc.Audy Fix error message #jira UE-00000 Change 2954177 on 2016/04/25 by Dmitriy.Dyomin Fixed: Hidden surface removal is not enabled on PowerVR Android devices #jira UE-29871 Change 2954026 on 2016/04/24 by Josh.Adams [Somehow most files got unchecked in my previous checkin, grr] - ProtoStar content/config updates (enabled TAA in the levels, disabled es2 shaders, hides the Unbuilt lighting warning on Android) #lockdown nick.penwarden #jira UE-29863 Change 2954025 on 2016/04/24 by Josh.Adams - ProtoStar content/config updates (enabled TAA in the levels, disabled es2 shaders, hides the Unbuilt lighting warning on Android) #lockdown nick.penwarden #jira UE-29863 Change 2953946 on 2016/04/24 by Max.Chen Sequencer: Fix crash on undo of a sub section. #jira UE-29856 Change 2953898 on 2016/04/23 by mitchell.wilson #jira UE-29618 Adding subscene_001 sequence for nonlinear workflow testing Change 2953859 on 2016/04/23 by Maciej.Mroz Merged from Dev-Blueprints 2953858 #jira UE-29790 Editor crashes when opening KiteDemo Change 2953764 on 2016/04/23 by Max.Chen Sequencer: Remove "Experimental" tag on the Level Sequence Actor #jira UETOOl-625 Change 2953763 on 2016/04/23 by Max.Chen Cinematics: Change text to "Edit Existing Cinematics" #jira UE-29102 Change 2953762 on 2016/04/23 by Max.Chen Sequencer: Follow up time slider hit testing fix. Don't hit test the selection range if it's empty. This was causing false positives when hovering close to the ranges. #jira UE-29658 Change 2953652 on 2016/04/22 by Rolando.Caloca UE4.12 - vk - Workaround driver bugs wrt texture format caps #jira UE-28140 Change 2953596 on 2016/04/22 by Marcus.Wassmer #jira UE-20276 Merging dual normal clearcoat shading model. 2863683 2871229 2876362 2876573 2884007 2901595 Change 2953594 on 2016/04/22 by Chris.Babcock Disable crash handler for VulkanRHI on Android to prevent sig11 on loading driver #jira UE-29851 #ue4 #android Change 2953520 on 2016/04/22 by Rolando.Caloca UE4.12 - vk - Enable deferred resource deletion - Added one resource heap per memory type - Improved DumpMemory() - Added ensures for missing format features #jira UE-28140 Change 2953459 on 2016/04/22 by Taizyd.Korambayil #jira UE-29748 Resaved Maps to Fix EC Build Warnings #jira UE-29744 Change 2953448 on 2016/04/22 by Ryan.Gerleve Fix Mac/Linux compile. #jira UE-29545 Change 2953311 on 2016/04/22 by Ryan.Gerleve Fix for infinite hang when loading a replay from within an actor tick while demo.AsyncLoadWorld is false. LoadMap for the replay is now deferred using the existing PendingNetGame mechanism. Added virtual UPendingNetGame::LoadMapCompleted function so that the base PendingNetGame and DemoPendingNetGame can have different behavior. To keep things simpler, also parse all replay metadata and streaming levels after the LoadMap call. #jira UE-29545 Change 2953219 on 2016/04/22 by mason.seay Test map for show collision features #jira UE-29618 Change 2953199 on 2016/04/22 by Phillip.Kavan [UE-29449] Fix InitProperties() optimization for Blueprint class instances when array property values differ in size. change summary: - improved UBlueprintGeneratedClass::BuildCustomArrayPropertyListForPostConstruction() by continuing to emit only delta entries for array values that exceed the default array value's size; previously we emitted a NULL in this case to signal a need to initialize all remaining array values in InitProperties(), even if they didn't differ from the default value of the inner property (which in most cases would already have been set at construction time, and thus potentially incurred a redundant copy iteration for each entry) - modified FObjectInitializer::InitArrayPropertyFromCustomList() to no longer reset the array value on the instance prior to initialization - added code to properly resize the array on the instance prior to initialization (if it differs in size from the default array value) - removed code that handled a NULL property value in the custom property list stream (this is no longer necessary, see above) - modified FObjectInitializer::InitProperties() to restore the post-construction optimization for Blueprint class instances (back to being enabled by default) #jira UE-29449 Change 2953195 on 2016/04/22 by Max.Chen Sequencer: Fix crash in actor reference track in the cached guid to actor map. #jira UE-27523 Change 2953124 on 2016/04/22 by Rolando.Caloca UE4.12 - vk - Increase temp frame buffer #jira UE-28140 Change 2953121 on 2016/04/22 by Chris.Babcock Rebuilt lighting for all levels #jira UE-29809 Change 2953073 on 2016/04/22 by mason.seay Test assets for notifies in animation composites and montages #jira UE-29618 Change 2952960 on 2016/04/22 by Richard.TalbotWatkin Changed eye dropper operation so that LMB click selects a color, and pressing Esc cancels the selection and restores the old color. #jira UE-28410 - Eye dropper selects color without clicking Change 2952934 on 2016/04/22 by Allan.Bentham Ensure pool's refractive index >= 1 #jira UE-29777 Change 2952881 on 2016/04/22 by Jamie.Dale Better fix for UE-28560 that doesn't regress thumbnail rendering We now just silence the warning if dealing with an inactive world. #jira UE-28560 Change 2952867 on 2016/04/22 by Thomas.Sarkanen Fix issues with matinee-controlled anim instances Regression caused by us no longer saving off the anim sequence between updates. #jira UE-29812 - Protostar Neutrino spawns but does not Animate or move. Change 2952826 on 2016/04/22 by Maciej.Mroz Merged from Dev-Blueprints 2952820 #jira UE-28895 Nativizing a blueprint project causes the next non-nativizing package attempt to fail Change 2952819 on 2016/04/22 by Josh.Adams - Fixed crash in a Vulkan shader printout #lockdown nick.penwarden #jira UE-29820 Change 2952817 on 2016/04/22 by Rolando.Caloca UE4.12 - vk - Revert back to simple layouts #jira UE-28140 Change 2952792 on 2016/04/22 by Jamie.Dale Removed some code that caused worlds loaded by the Content Browser to be initialized before they were ready Supposedly this code existed for world thumbnail rendering, however only the active editor world generates a thumbnail, so initializing other worlds wasn't having any effect and thumbnails look identical to before. #jira UE-28560 Change 2952783 on 2016/04/22 by Taizyd.Korambayil #jira UE-28477 Resaved Flying Template Map Change 2952767 on 2016/04/22 by Taizyd.Korambayil #jira UE-29736 Resaved Map to Fix EC Warnings Change 2952762 on 2016/04/22 by Allan.Bentham Update reflection capture to contain only room5 content. #jira UE-29777 Change 2952749 on 2016/04/22 by Taizyd.Korambayil #jira UE-29740 Resaved Material and Map to Fix Empty Engine Version Error Change 2952688 on 2016/04/22 by Martin.Wilson Fix for BP notifies not displaying when they derive from an abstract base class #jira UE-28556 Change 2952685 on 2016/04/22 by Thomas.Sarkanen Fix CIS for non-editor builds #jira UE-29308 - Fix crash from GC-ed animation asset Change 2952664 on 2016/04/22 by Thomas.Sarkanen Made up/down behaviour for console history consistent and reverted to old ordering by default Pressing up or down now brings up history. Sorting can now be optionally bottom-to-top or top-to-bottom. Default behaviour is preserved to what it was before the recent changes. #jira UE-29595 - Console autocomplete behavior is non-intuitive / frustrating Change 2952655 on 2016/04/22 by Jamie.Dale Changed the class filter to use an expression evaluator This makes it consistent with the other filters in the editor #jira UE-29811 Change 2952647 on 2016/04/22 by Allan.Bentham Back out changelist 2951539 #jira UE-29777 Change 2952618 on 2016/04/22 by Benn.Gallagher Fixed naming error in rotation multiplier node #jira UE-29583 Change 2952612 on 2016/04/22 by Thomas.Sarkanen Fix garbage collection and undo/redo issues with anim instance proxy UObject-based properties are now cached each update on the proxy and nulled-out outside of evaluate/update phases. Moved some initialization code for CurrentAsset/CurrentVertexAnim from the proxy back to the instance (as its is encapsulated there now). #jira UE-29308 - Fix crash from GC-ed animation asset Change 2952608 on 2016/04/22 by Richard.TalbotWatkin Changed 'Recently Used Levels' and 'Favorite Levels' to hold long package names instead of absolute paths. This means they are now project-relative and will remain valid even if the project location changes. #jira UE-29731 - Editor map recent files are not project relative, leading to missing links when moving projects. Change 2952599 on 2016/04/22 by Dmitriy.Dyomin Disabled vulkan pipeline cache as it causes rendering artifacts right now #jira UE-29807 Change 2952540 on 2016/04/22 by Maciej.Mroz #jira UE-29787 Obsolete nativized files are never removed merged from Dev-Blueprints 2952531 Change 2952372 on 2016/04/21 by Josh.Adams - Fixed Vk memory allocations when reusing free pages #lockdown nick.penwarden #jira ue-29802 Change 2952350 on 2016/04/21 by Eric.Newman Added support for UEReleaseTesting backends to Orion and Ocean #jira op-3640 Change 2952140 on 2016/04/21 by Dan.Oconnor Demoted back to warning to fix regressions in content examples, in main we've added the ability to elevate warnings to errors, but no reason to rush that feature into 4.12 #jira UE-28971 Change 2952135 on 2016/04/21 by Jeff.Farris Fixed issue in PlayerCameraManager where the priority-based sorting of CameraModifiers wasn't sorting properly. Manual re-implementation of CL 2948123 in 4.12 branch. #jira UE-29634 Change 2952121 on 2016/04/21 by Lee.Clark PS4 - 4.12 - Fix staging and deploying of system prxs #jira UE-29801 Change 2952120 on 2016/04/21 by Rolando.Caloca UE4.12 - vk - Move descriptor allocation to BSS #jira UE-21840 Change 2952027 on 2016/04/21 by Rolando.Caloca UE4.12 - vk - Fix descriptor sets lifetimes - Fix crash with null texture #jira UE-28140 Change 2951890 on 2016/04/21 by Eric.Newman Updating locked common dependencies for OrionService #jira OP-3640 Change 2951863 on 2016/04/21 by Eric.Newman Updating locked dependencies for UE 4.12 OrionService #jira OP-3640 Change 2951852 on 2016/04/21 by Owen.Stupka Fixed meteors destruct location #jira UE-29714 Change 2951739 on 2016/04/21 by Max.Chen Sequencer: Follow up for integral keys. #jira UE-29791 Change 2951717 on 2016/04/21 by Rolando.Caloca UE4.12 - Fix shader platform names #jira UE-28140 Change 2951714 on 2016/04/21 by Max.Chen Sequencer: Fix setting a key if it already exists at the current time. #jira UE-29791 Change 2951708 on 2016/04/21 by Rolando.Caloca UE4.12 - vk - Separate upload cmd buffer #jira UE-28140 Change 2951653 on 2016/04/21 by Marc.Audy If a child actor component is destroyed during garbage collection, do not rename, instead clear the caching mechanisms so that a new name is chosen if a new child is created in the future Remove now unused bRenameRequired parameter #jira UE-29612 Change 2951619 on 2016/04/21 by Chris.Babcock Move bCreateRenderStateForHiddenComponents out of WITH_EDITOR #jira UE-29786 #ue4 Change 2951603 on 2016/04/21 by Cody.Albert #jira UE-29785 Revert Github readme page back to original Change 2951599 on 2016/04/21 by Ryan.Gerleve Fix assert when attempting to record a replay when the map has a placed actor that writes replay external data (such as ACharacter) #jira UE-29778 Change 2951558 on 2016/04/21 by Chris.Babcock Always rename destroyed child actor #jira UE-29709 #ue4 Change 2951552 on 2016/04/21 by James.Golding Remove old code for handling 'show collision' in game, uses same method as editor now, fixes hidden meshes showing up in game when doing 'show collision' #jira UE-29303 Change 2951539 on 2016/04/21 by Allan.Bentham Use screenuv for distortion with ES2/31. #jira UE-29777 Change 2951535 on 2016/04/21 by Max.Chen We need to test if the hmd is enabled if it exists. Otherwise, this will return true even if we aren't rendering in stereo if there's an hmd plugin loaded. #jira UE-29711 Change 2951521 on 2016/04/21 by Taizyd.Korambayil #jira UE-29746 Replaced Deprecated Time Handler node in GameLevel_GM Change 2951492 on 2016/04/21 by Jeremiah.Waldron Fix for Android IAP information reporting back incorrectly. #jira UE-29776 Change 2951486 on 2016/04/21 by Taizyd.Korambayil #jira UE-29741 Updated Infiltrator Demo Project to open with the correct Map Change 2951450 on 2016/04/21 by Gareth.Martin Fix non-editor build #jira UE-16525 Change 2951380 on 2016/04/21 by Gareth.Martin Fix Landscape layer blend nodes not updating connections correctly when an input is changed from weight/alpha (one input) to height blend (two inputs) or vice-versa #jira UE-16525 Change 2951357 on 2016/04/21 by Richard.TalbotWatkin Fixed a crash when pushing a new menu leads to a window activation change which would result in the old root menu being dismissed. #jira UE-27981 - [CrashReport] Crash When Attempting to Select Variable Type After Clearing the Name Field Change 2951352 on 2016/04/21 by Richard.TalbotWatkin Added slider bar thickness as a new property in FSliderStyle. #jira UE-19173 - SSlider is not fully stylable Change 2951344 on 2016/04/21 by Gareth.Martin Fix bounds calculation for landscape splines that was causing the first landscape spline point to be invisible and later points to flicker. - Also fixes landscape spline lines not showing up on a flat landscape #jira UE-25114 Change 2951326 on 2016/04/21 by Taizyd.Korambayil #jira UE-28477 Resaving Maps Change 2951271 on 2016/04/21 by Jamie.Dale Fixed a crash when pasting a path containing a class into the asset view of the Content Browser #jira UE-29616 Change 2951237 on 2016/04/21 by Jack.Porter Fix black screen on PC due to planar reflections #jira UE-29664 Change 2951184 on 2016/04/21 by Jamie.Dale Fixed crash in FCurveStructCustomization when no objects were selected for editing #jira UE-29638 Change 2951177 on 2016/04/21 by Ben.Marsh Fix hot reload from IDE failing when project is up to date. UBT returns an exit code of 2, and any non-zero exit code is treated as an error by Visual Studio. Build.bat was not correctly forwarding on the exit code at all prior to CL 2790858. #jira UE-29757 Change 2951171 on 2016/04/21 by Matthew.Griffin Fixed issue with Rebuild not working when installed in Program Files (x86) The brackets seem to cause lots of problems in combination with the if/else ones #jira UE-29648 Change 2951163 on 2016/04/21 by Jamie.Dale Changed the text customization to use the property handle functions to get/set the text value That ensures that it both transacts and notifies correctly. Added new functions to deal with multiple objects selection efficiently with the existing IEditableTextProperty API: - FPropertyHandleBase::SetPerObjectValue - FPropertyHandleBase::GetPerObjectValue - FPropertyHandleBase::GetNumPerObjectValues These replace the need to cache the raw pointers. #jira UE-20223 Change 2951103 on 2016/04/21 by Thomas.Sarkanen Un-deprecated blueprint functions for attachment/detachment Renamed functions to <FuncName> (Deprecated). Hid functions in the BP context menu so new ones cant be added. #jira UE-23216 - "Snap to Target, Keep World Scale" when attaching doesn't work properly if parent is scaled. Change 2951101 on 2016/04/21 by Allan.Bentham Enable mobile HQ DoF #jira UE-29765 Change 2951097 on 2016/04/21 by Thomas.Sarkanen Standalone games now benefit from parallel anim update if possible We now simply use the fact we want root motion to determine if we need to run immediately. #jira UE-29431 - Parallel anim update does not work in non-multiplayer games Change 2951036 on 2016/04/21 by Lee.Clark PS4 - Fix WinDualShock working with VS2015 #jira UE-29088 Change 2951034 on 2016/04/21 by Jack.Porter ProtoStar: Removed content not needed by remaining maps, resaved all content to fix version 0 issues #jira UE-29666 Change 2950995 on 2016/04/21 by Jack.Porter ProtoStar - delete unneeded maps #jira UE-29665 Change 2950787 on 2016/04/20 by Nick.Darnell SuperSearch - Moving the settings object into a seperate plugin to avoid there needing to be a circular dependency between SuperSearch and UnrealEd. #jira UE-29749 #codeview Ben.Marsh Change 2950786 on 2016/04/20 by Nick.Darnell Back out changelist 2950769 - Going to re-enable super search - about to move the settings into a plugin to prevent the circular reference. #jira UE-29749 Change 2950769 on 2016/04/20 by Ben.Marsh Comment out editor integration for super search to fix problems with the circular dependencies breaking hot reload and compiling QAGame in binary release. Change 2950724 on 2016/04/20 by Lina.Halper Support for negative scaling for mirroring - Merging CL 2950718 using //UE4/Dev-Framework_to_//UE4/Release-4.12 #jira: UE-27453 Change 2950293 on 2016/04/20 by andrew.porter Correcting sequencer test content #jira UE-29618 Change 2950283 on 2016/04/20 by Marc.Audy Don't route FlushPressedKeys on PIE shut down #jira UE-28734 Change 2950071 on 2016/04/20 by mason.seay Adjusted translation retargeting on head bone of UE4_Mannequin -Needed for anim bp test. Tested animations and did not see any fallout from change. If there is, it can be reverted. #jira UE-29618 Change 2950049 on 2016/04/20 by Mark.Satterthwaite Undo CL #2949690 and instead on Mac where we want to be able to capture videos of gameplay we just insert an intermediate texture as the back-buffer and use a manual blit to the drawable prior to present. This also changes the code to enforce that the back-buffer render-target should never be nil as the code & Metal API itself assumes that this situation cannot occur but it would appear from continued crashes inside PrepareToDraw that it actually can in the field. This will address another potential cause of UE-29006. #jira UE-29006 #jira UE-29140 Change 2949977 on 2016/04/20 by Max.Chen Sequencer: Add FieldOfView to default tracks for CameraActor. Add FieldOfView to exclusion list for CineCameraActor. #jira UE-29660 Change 2949836 on 2016/04/20 by Gareth.Martin Fix landscape components flickering when perfectly flat (bounds size is 0) - This often happens for newly created landscapes #jira UE-29262 Change 2949768 on 2016/04/20 by Thomas.Sarkanen Moving parent & grouped child actors now does not result in deltas being applied twice Grouping and attachment now interact correctly. Also fixed up according to coding standard. Discovered and proposed by David.Bliss2 (Rocksteady). #jira UE-29233 - Delta applied twice when moving parent and grouped child actors From UDN: https://udn.unrealengine.com/questions/286537/moving-parent-grouped-child-actors-results-in-delt.html Change 2949759 on 2016/04/20 by Thomas.Sarkanen Fix split pins not working as anim graph node inputs Limit surface area of this change by only modifying the anim BP compiler. A better version might be to move the call in the general blueprint compiler but it is riskier. #jira UE-12326 - Splitting a struct in an Anim Blueprint does not work Change 2949739 on 2016/04/20 by Thomas.Sarkanen Fix layered bone per blend accessed from a struct in the fast-path Made sure that the fallback event is always built (logic was still split so if PatchFunctionNamesAndCopyRecordsInto aborted because of some unhandled case if might not have an event to call). Covered struct source->array dest case. Indicator icon is now built from the copy record itself, ensuring it is accurate to actual runtime data. #jira UE-29389 - Fast-Path: Layered Blend per Bone node failing to grab updated values from struct. Change 2949715 on 2016/04/20 by Max.Chen Sequencer: Fix mouse wheel zoom so it defaults to zooming in on the current time/frame. This is a toggleable option in the Editor Preferences (Zoom Position = Current Time or Mouse Position) #jira UE-29661 Change 2949712 on 2016/04/20 by Taizyd.Korambayil #jira UE-28544 adjusted Player crosshair to be centered Change 2949710 on 2016/04/20 by Alexis.Matte #jira UE-29477 Pixel Inspector, UI get polish and adding "scene color" inspect property Change 2949706 on 2016/04/20 by Alexis.Matte #jira UE-29475 #jira UE-29476 Favorite allow all UProperty to be favorite (the FStruct is now supported) Favorite scrollig is auto adjust to avoid scrolling when adding/removing a favorite Change 2949691 on 2016/04/20 by Mark.Satterthwaite Fix typo from previous commit - retain not release... #jira UE-29140 Change 2949690 on 2016/04/20 by Mark.Satterthwaite Double-buffer the Metal viewport's back-buffer so that we can access the contents of the back-buffer after EndDrawingViewport is called until BeginDrawingViewport is called again on this viewport, this makes it possible to capture movies on Metal. #jira UE-29140 Change 2949616 on 2016/04/20 by Marc.Audy 'Merge' latest version of Vulkan from Dev-Rendering to Release-4.12 #jira UE-00000 Change 2949572 on 2016/04/20 by Jamie.Dale Fixed crash undoing a text property changed caused by a null entry in the array #jira UE-20223 Change 2949562 on 2016/04/20 by Alexis.Matte #jira UE-29447 Fix the batch fbx import "not show options" dialog where some option can be different. Change 2949560 on 2016/04/20 by Alexis.Matte #jira UE-28898 Avoid importing multiple static mesh in the same package Change 2949547 on 2016/04/20 by Mark.Satterthwaite You must use STENCIL_COMPONENT_SWIZZLE to access the stencil component of a texture - not all APIs can swizzle it into .g automatically. #jira UE-29672 Change 2949443 on 2016/04/20 by Allan.Bentham Disable sRGB textures when ES31 feature level is set. Only use vk's sRGB formats when feature level > ES3_1 #jira UE-29623 Change 2949428 on 2016/04/20 by Allan.Bentham Back out changelist 2949405 #jira UE-29623 Change 2949405 on 2016/04/20 by Allan.Bentham Disable sRGB textures when ES31 feature level is set. Only use vk's sRGB formats when feature level > ES3_1 #jira UE-29623 Merging using Dev-Mobile_->_Release-4.12 Change 2949391 on 2016/04/20 by Richard.TalbotWatkin PIE with multiple windows now starts focused on Client 1, or the server if not a dedicated server. Added a new virtual call UEditorEngine::OnLoginPIEAllComplete, called when all clients have been successfully logged in when starting PIE. The default behavior is to set focus to the first client. #jira UE-26037 - Cumbersome workflow when running PIE with 2 clients #jira UE-26905 - First client window does not gain focus or mouse control when launching two clients Change 2949389 on 2016/04/20 by Richard.TalbotWatkin Fixed regression which was saving the viewport config settings incorrectly. Viewports are keyed by their layout on the same key as the config key, hence we do not need to prepend the SpecificLayoutString when saving out the config data when iterating through a layout's viewports. #jira UE-29058 - Viewport settings are not saved after shutting down editor Change 2949388 on 2016/04/20 by Richard.TalbotWatkin Change auto-reimport settings so that "Detect Changes on Startup" defaults to true. Also removed the warning of potential unwanted behaviour when working in conjunction with source control; this is no longer necessary now that there is a prompt prior to auto-reimport. #jira UE-29257 - Auto import does not import assets Change 2949203 on 2016/04/19 by Max.Chen Sequencer: Fix spawnables not getting default tracks. #jira UE-29644 Change 2949202 on 2016/04/19 by Max.Chen Sequencer: Fix particles not firing on loop. #jira UE-27881 Change 2949201 on 2016/04/19 by Max.Chen Sequencer: Fix multiple labels support #jira UE-26812 Change 2949200 on 2016/04/19 by Max.Chen Sequencer: Expose settings sequencer settings in the Editor Preferences page. Note, UMG and Niagara have separate sequencer settings pages. #jira UE-29516 Change 2949197 on 2016/04/19 by Max.Chen Sequencer: Fix unwind rotation when keying rotation so that rotations are always set to the nearest. #jira UE-22228 Change 2949196 on 2016/04/19 by Max.Chen Sequencer: Disable selection range drawing if it's empty so that playback range dragging can take precedence when they overlap. This fixes a bug where you can't drag the starting playback range when sequencer starts up. #jira UE-29657 Change 2949195 on 2016/04/19 by Max.Chen MovieSceneCapture: Default image compression quality to 100 (rather than 75). #jira UE-29657 Change 2949194 on 2016/04/19 by Max.Chen Sequencer: Matinee to Level Sequence fix for mapping properties correctly. This fixes focus distance not getting set properly on the conversion. #jira UETOOL-467 Change 2949193 on 2016/04/19 by Max.Chen Sequencer - Fix issues with level visibility. + Don't mark sub-levels as dirty when the track evaluates. + Fix an issue where sequencer gets into a refresh loop because drawing thumbnails causes levels to be added which was rebuilding the tree, which was redrawing thumbnails. + Null check for when an objects world is null but the track is still evaluating. + Remove UnrealEd references. #jira UE-25668 Change 2948990 on 2016/04/19 by Aaron.McLeran #jira UE-29654 FadeIn invalidates Audio Components in 4.11 Change 2948890 on 2016/04/19 by Jamie.Dale Downgraded an assert in SPathView::LoadSettings to avoid a common crash when a saved path no longer exists #jira UE-28858 Change 2948860 on 2016/04/19 by Mike.Beach Mirroring CL 2940334 (from Dev-Blueprints): Bettering CreateEvent node errors, so users are able to recover from API changes (not clearing the function name field, calling out the function by name in the error, etc.) #jira UE-28911 Change 2948857 on 2016/04/19 by Jamie.Dale Added an Asset Localization context menu to the Content Browser This allows you to create, edit, and view localized assets from any source asset, as well as edit and view source assets from any localized asset. #jira UE-29493 Change 2948854 on 2016/04/19 by Jamie.Dale UAT now stages all project translation targets #jira UE-20248 Change 2948831 on 2016/04/19 by Mike.Beach Mirroring CL 2945994 (from Dev-Blueprints): Pasting EdGraphNodes will no longer query sub-nodes for compatibility if the root cannot be pasted (for things like collapsed graphs, and anim state-machine nodes). #jira UE-29035 Change 2948825 on 2016/04/19 by Jamie.Dale Fixed shadow warning #jira UE-29212 Change 2948812 on 2016/04/19 by Marc.Audy Gracefully handle failure to load configurable engine classes #jira UE-26527 Change 2948791 on 2016/04/19 by Jamie.Dale Fixed regression in SEditableText bIsCaretMovedWhenGainFocus when using auto-complete Fixed regression in FSlateEditableTextLayout::SetText that caused it to call OnTextChanged when nothing had changed #jira UE-29494 #jira UE-28886 Change 2948761 on 2016/04/19 by Jamie.Dale Sub-fonts are now only used when they contain the character to be rendered #jira UE-29212 Change 2948718 on 2016/04/19 by Jamie.Dale Fixed an issue where FEnginePackageLocalizationCache could be initialized before CoreUObject was ready This is now done lazily, either when the first CDO tries to load an asset (which is after CoreUObject is ready), or after the first call to ProcessNewlyLoadedUObjects (if no CDO loads an asset). #jira UE-29649 Change 2948717 on 2016/04/19 by Jamie.Dale Removed the AssetRegistry's dependency on MessageLog It was only there to add a category that was only ever used by the AssetTools module. #jira UE-29649 Change 2948683 on 2016/04/19 by Phillip.Kavan [UE-18419] Fix GetClassDefaults nodes to update properly in response to structural BP class changes. change summary: - modified UK2Node_GetClassDefaults::CreateOutputPins() to bind/unbind delegate handlers for the OnChanged() & OnCompile() events for BP class types. #jira UE-18419 Change 2948681 on 2016/04/19 by Phillip.Kavan [UE-17794] The "Delete Unused Variable" feature now considers the GetClassDefaults node as well. change summary: - added external linkage to UK2Node_GetClassDefaults::FindClassPin(). - added an include for the K2Node_GetClassDefaults header file to BlueprintGraphDefinitions.h. - added UK2Node_GetClassDefaults::GetInputClass() as a public API w/ external linkage; moved default 'nullptr' param logic into this impl. - modified FBlueprintEditorUtils::IsVariableUsed() to add an extra check for a GetClassDefaults node with a visible output pin for the variable that's also connected. - modified UK2Node_GetClassDefaults::GetInputClass() to return the generated skeleton class for Blueprint class types. #jira UE-17794 Change 2948638 on 2016/04/19 by Lee.Clark PS4 - Fix SDK compile warnings #jira UE-29647 Change 2948401 on 2016/04/19 by Taizyd.Korambayil #jira UE-29250 Revuilt Lighting for Landscapes Map Change 2948398 on 2016/04/19 by Mark.Satterthwaite Add a Mac Metal ES2 shader platform to allow the various ES2 emulation modes to work in the Editor. Fix various issues with the shader code to ensure that Metal can run with ES2 shader code at least in my limited test cases in QAGame. #jira UE-29170 Change 2948366 on 2016/04/19 by Taizyd.Korambayil #jira UE-29109 Replaced Box Mesh with BSP Floor Change 2948360 on 2016/04/19 by Maciej.Mroz merged from Dev-Blueprints 2947488 #jira UE-29115 Nativized BulletTrain - cannot shoot targets in intro tutorial #jira UE-28965 Packaging Project with Nativize Blueprint Assets Prevents Overlap Events from Firing #jira UE-29559 - fixed private enum access - fixed private bitfield access - removed forced PostLoad - add BodyInstance.FixupData call to fix ResponseChannels - ignored RelativeLocation and RelativeRotation in converted root component - fixed AttachToComponent (UE-29559) Change 2948358 on 2016/04/19 by Maciej.Mroz merged from Dev-Blueprints 2947953 #jira UE-29605 Wrong bullet trails in nativized ShowUp Fixed USimpleConstructionScript::GetSceneRootComponentTemplate. Change 2948357 on 2016/04/19 by Maciej.Mroz merged from Dev-Blueprints 2947984 #jira UE-29374 Crash when hovering over Create Widget node in blueprints Safe UK2Node_ConstructObjectFromClass::GetPinHoverText. Change 2948353 on 2016/04/19 by Maciej.Mroz merged from Dev-Blueprints 2948095 #jira UE-29246 ExpandEnumAsExecs + UMETA(Hidden) Crashes Blueprint Compile "Hidden" and "Spacer" elementa from an enum does not generated exec pins for "ExpandEnumAsExecs" Change 2948332 on 2016/04/19 by Benn.Gallagher Fixed old pins being left as non-transactional #jira UE-13801 Change 2948203 on 2016/04/19 by Lee.Clark PS4 - Use SDK 3.508.031 #jira UEPLAT-1225 Change 2948168 on 2016/04/19 by mason.seay Updating test content: -Added Husk AI to level to test placed AI -Updated Spawn Husk BP to destroy itself to prevent spawn spamming #jira UE-29618 Change 2948153 on 2016/04/19 by Benn.Gallagher Missed mesh update for Owen IK fix. #jira UE-22540 Change 2948130 on 2016/04/19 by Benn.Gallagher Fixed old Owen punch IK setup so it no longer jitters when placing the hands on the surface. #jira UE-22540 Change 2948117 on 2016/04/19 by Taizyd.Korambayil #jira UE-28477 Resaved Template Map's to fix Warning Toast on Templates Change 2948063 on 2016/04/19 by Lina.Halper - Anim composite notify change for better - Fixed all nested anim notify - Merging CL 2944396 using //UE4/Dev-Framework_to_//UE4/Release-4.12 #jira : UE-29101 Change 2948060 on 2016/04/19 by Lina.Halper Fix for composite section metadata saving for montage Merging CL 2944397 using //UE4/Dev-Framework_to_//UE4/Release-4.12 #jira : UE-29228 Change 2948029 on 2016/04/19 by Ben.Marsh EC: Prevent automatically pushing CIS builds to the launcher; the changelist might be run more than once. Change 2947986 on 2016/04/19 by Benn.Gallagher Fixed BP callable functions that affect skeletal mesh component transforms not working when simulating physics. #jira UE-27783 Change 2947976 on 2016/04/19 by Mark.Satterthwaite Duplicate CL #2943702 from 4.11.2: Change the way Metal validates the render-target state so that in FMetalContext::PrepareToDraw it can issue a last-ditch attempt to restore the render-targets. This won't fix the cause of the Mac Metal crashes but it might mitigate some of them and provide more information about why they are occurring. #jira UE-29006 Change 2947975 on 2016/04/19 by Mark.Satterthwaite Duplicate CL #2945061 from UE4-UT: Address UT issue UE-29150 directly in the UT branch: users without a sufficiently up-to-date Xcode won't have the 'metal' offline shader compiler so will have to use the slower online compiled text shader format. #jira UE-29150 Change 2947679 on 2016/04/19 by Jack.Porter Fixed 4.12 branch not compiling with the 1.0.8 Vulkan SDK #jira UE-29601 Change 2947657 on 2016/04/18 by Jack.Porter Update protostar reflection capture contents #jira UE-29600 Change 2947301 on 2016/04/18 by Ben.Marsh EC: Fix trigger ready emails failing to send due to recipient list being a space-separated list of addresses rather than an array reference. Change 2947263 on 2016/04/18 by Marc.Audy Merging CL# 2945921 //UE4/Release-4.11 to //UE4/Release-4.12 Ensure that all OwnedComponents in an Actor are duplicated for PIE even if not referenced by a property, unless that component is explicitly transient #jira UE-29209 Change 2946984 on 2016/04/18 by Ben.Marsh GUBP: Allow Ocean cooks in the release branch (fixes build startup failures) Change 2946870 on 2016/04/18 by Ben.Marsh Remaking CL 2946810 to fix compile error in ShooterGame editor. Change 2946859 on 2016/04/18 by Ben.Marsh GUBP: Don't exclude Ocean from builds in the release branch. Change 2946847 on 2016/04/18 by Ben.Marsh GUBP: Fix warning on every build step due to OrionGame_Win32_Mono no longer existing. Change 2946771 on 2016/04/18 by Ben.Marsh EC: Correct initial agent type for release branches. Causing full branch syncs on all agents. Change 2946641 on 2016/04/18 by Ben.Marsh EC: Remove rogue comma causing branch definition parsing to fail. Change 2946592 on 2016/04/18 by Ben.Marsh EC: Adding branch definition for 4.12 release #lockdown Nick.Penwarden [CL 2962354 by Ben Marsh in Main branch]
2016-05-01 17:37:41 -04:00
if (!bShouldBeHidden)
{
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3208226) #lockdown Nick.Penwarden #rb None ========================== MAJOR FEATURES + CHANGES ========================== Change 3173153 on 2016/10/25 by Graeme.Thornton Pak signing changes - Integrated into EDL loader - Changed to not encrypt each CRC in the sig file, rather just store a single encryped signature of the entire sig file. Removes need to decrypt thousands of signatures at startup. Change 3173531 on 2016/10/25 by Steven.Hutton Removing unused j query packages. Change 3174743 on 2016/10/26 by Gil.Gribb UE4 - fixed COTF with EDL Change 3177896 on 2016/10/28 by Steve.Robb TSharedPtr and TSharedRef aliasing constructors. Removal of static_asserts for TSharedPtr<UObject>. Change 3180343 on 2016/10/31 by Steve.Robb Reimplementation of changes from CL#s 3050329 and 3105715 that were lost in merges 3094597 and 3105741. Change 3181382 on 2016/11/01 by Steve.Robb Visual Studio debugger visualizers for delegates. Change 3182738 on 2016/11/02 by Graeme.Thornton Re-enable signed archive reader so non-pakpreacher based reads still get signature checked Change 3183420 on 2016/11/02 by Steve.Robb Fix to TIsZeroConstructType for TScriptDelegate. Change 3184872 on 2016/11/03 by Robert.Manuszewski Fixing memory stomps in SSL certificate initialization (found with mallocstomp) Change 3184873 on 2016/11/03 by Robert.Manuszewski Adding thread safety checks to async loading code Change 3185535 on 2016/11/03 by Ben.Zeigler Fix it so calling CreateDefaultSubobject with bTransient = true sets the object transient flag. This fixes EDL Crashes involving components. Change 3186636 on 2016/11/04 by Graeme.Thornton AES encryption integrated into EDL system Pak signing and AES encryption now configurable by ini files rather than magical text files Change 3186637 on 2016/11/04 by Graeme.Thornton Configured pak signing and encryption in ShooterGame for reference Change 3186639 on 2016/11/04 by Graeme.Thornton Encryption changes for Orion * Move pak signing keys into new INI format * Add AES key and enable INI file encryption Change 3186661 on 2016/11/04 by Graeme.Thornton Change unrealpak command line params to accept AES key as a separete parameter Change 3186670 on 2016/11/04 by Robert.Manuszewski Adding a null check before using a package pointer in Linker code #jira UE-38237 Change 3186775 on 2016/11/04 by Graeme.Thornton Fix UBT defines that come in as quoted strings, losing the quotes when passed to the compiler - PS4 and Mac fixes. Other platforms might need fixing too! Change 3186823 on 2016/11/04 by Graeme.Thornton Fixed an incorrect size check in the EDL pak signing code Change 3186925 on 2016/11/04 by Graeme.Thornton Allow UnrealPak to read encryption settings from project ini files Change 3189885 on 2016/11/08 by Graeme.Thornton Static analysis warning fix Change 3190015 on 2016/11/08 by Robert.Manuszewski Thread safety fix for UBlueprintGeneratedClass::PostLoadDefaultObject while UBlueprintGeneratedClass::SerializeDefaultObject runs on the async loading thread Change 3190253 on 2016/11/08 by Chris.Wood Improved MDD performance for on the CR server. [UE-37566] - Improve MDD performance on CR server Blocked MDD init'ing the crash handling code as it isn't desirable on the server. Removed redundant call to SetSymbolPathsFromModules() from CrashDebugHelper. Change 3192993 on 2016/11/10 by Robert.Manuszewski Thread Heartbeat will no longer report the same hang multiple times. Change 3193111 on 2016/11/10 by Robert.Manuszewski Minor change in the condition that detects the same hangs - allow the same callstacks from different threads Change 3193168 on 2016/11/10 by Steve.Robb TSparseArray now reserves space in reverse so that new elements get added to the front of the allocation rather than the back, which is better for memory traversal and meets expectations more closely. Change 3193171 on 2016/11/10 by Steve.Robb Easier debugging of FPendingRegistrantInfo map. Change 3193188 on 2016/11/10 by Steve.Robb TAutoPointer deprecated. Change 3193796 on 2016/11/10 by Graeme.Thornton Fix pak creation failure when no pak signing keys are supplied Change 3194524 on 2016/11/11 by Graeme.Thornton Another static analysis warning fix Change 3195119 on 2016/11/11 by Steve.Robb TAutoPtr deprecated. Fixes to use of TAutoPtr with incompatible memory deallocations (TAutoPtr with FMemory::Malloc and new[]). Some large headers moved into .cpp files. Change 3196582 on 2016/11/14 by Gil.Gribb UE4 - Changed a check to a warning related to detaching linekrs twice. Seen in nativized BP version of platformer game. Change 3196878 on 2016/11/14 by Steve.Robb TScopedPointer deprecated. Change 3198061 on 2016/11/15 by Steve.Robb Class array is no longer regenerated when saving UClasses. Change 3198065 on 2016/11/15 by Robert.Manuszewski Making AssembleReferenceTokenStream thread safe for blueprints loaded on the async loading thread. Change 3198199 on 2016/11/15 by Robert.Manuszewski Pak platform file will now only be used if pak files exist regardless of command line paraks like -pak, -singedpak and -signed. Change 3199954 on 2016/11/16 by Graeme.Thornton Removing USING_SIGNED_CONTENT Change 3200221 on 2016/11/16 by Chris.Wood CrashReportProcess code cleanup - removing unused using directives Change 3200232 on 2016/11/16 by Chris.Wood Multiple CrashReportProcess updates and improvements (CRP v1.2.6) UE-36248 - CRP scalability: All bulk storage or shared data to S3 or suitable network drives InvalidCrashReports now saved to S3 instead of local folder Removed option tosync MinidumpDiagnostics from Perforce Moved MinidumpDiagnostics from old Perforce synched location to its own folder in E:\Services (makes more sense with manual publishing) Added improved logging to Slack with option to monitor MDD performance Added hourly log folders to MDD logs Added support for types of crashes we don't want to symbolicate (using it to skip callstack gen for hang detected ensures) Change 3200382 on 2016/11/16 by Robert.Manuszewski Async Loading code will now detach the linker when resetting async package loader to avoid situations when loading the same asset multiple times results in the following load request finding the old linker after the package has been loading but the async package hasn't been deleted yet (async package for the old request in limbo state but linker exists). Change 3200562 on 2016/11/16 by Gil.Gribb UE4 - Fixed rare issue with reloading nativized blueprints with the EDL and a minor simplication. Change 3201093 on 2016/11/16 by Ben.Zeigler #UE 38654 Fix EDL cooking to correctly search components created directly by UBlueprints, as well as the CDO components it already covered. Also explicitly mark subobject templates as editor only. Fix issue where the AssetImportData associated with Blueprint-owned Curves was ending up in the cooked subobject template list. Stopped it from creating those objects, and mark the class editor only. Change 3201736 on 2016/11/17 by Steve.Robb Strtoi64 platform and TCString functions. #fyi robert.manuszewski Change 3201938 on 2016/11/17 by Ben.Woodhouse Dummy integrate of the Square render version workaround (CL 3201913) with _accept target_ to prevent it being integrated to dev-core in future. Commandline: p4 integrate //Tasks/UE4/Dev-LoadTimes/Engine/Source/Runtime/CoreUObject/Private/UObject/LinkerLoad.cpp@3201913,3201913 //UE4/Dev-Core/Engine/Source/Runtime/CoreUObject/Private/UObject/LinkerLoad.cpp #fyi robert.manuszewski Change 3203757 on 2016/11/18 by Robert.Manuszewski Removing debug code from async loading code. Change 3203927 on 2016/11/18 by Robert.Manuszewski Fixing comments in the async loading code. Change 3204851 on 2016/11/18 by Steve.Robb Metafunction for testing if a particular operator<< overload exists, e.g. THasInserterOperator<FArchive&, FMyType&>::Value. Change 3204854 on 2016/11/18 by Steve.Robb UEnumProperty. Change 3205027 on 2016/11/18 by Ben.Zeigler Add useful functions to FAssetPtr and TAssetSubclassOf that already existed on TAssetPtr Add Get() to TSubclassOf so it matches our other wrappers Fix TSubclassOf and TAssetSubclassOf to use the more efficient template method of checking class compatibility Comment and template cleanups for AssetPtr, StringAssetReference, LazyPtr, and SubclassOf Change 3206334 on 2016/11/21 by Ben.Zeigler #UE-38773: Fix it so non-component template subobjects of CDOs are not included as creation dependencies for BP classes, also clean up GetPreloadDependencies as it was adding redundant and null entries #UE-38799: Fix it so WidgetTrees don't get picked up as subobjects, and add ensure at cook time to find null outers that would crash at runtime. Make sure the instanced widget trees are transient. Cook finishes but game is still crashing in some cases, so I might adjust this after other testing Change 3206353 on 2016/11/21 by Ben.Zeigler Fix EnumProperty to handle EDL preload dependencies properly Change 3206625 on 2016/11/21 by Ben.Zeigler Fix enum property crash at runtime by copying what array property does and making sure inner property is not transient Change 3206937 on 2016/11/21 by Ben.Zeigler #jira UE-38905 Fix it so enums inside arrays are migrated properly, the enum tag is lost so use the current one Disable other nested enum migrations as they are unlikely to work. Array property tags need to be refactored to be safer Correctly save enum tag for enum properties, it was being set but not serialized Change 3207002 on 2016/11/21 by Ben.Zeigler #jira UE-38799 Fix it so per-widget copy of widget tree and all widgets inside are properly transient, they were being cooked before but never accessed. Fix case where non ClientOnly public objects nested instead ClientOnly objects would cook but fail to load, and add ensure to catch these cases in the future. If the full outer chain isn't available, it can't be loaded anyway, and this finds issues at cook time instead of load time. We should generally outlaw non-transient objects with transient outers, it does not do what people expect. Change 3207032 on 2016/11/21 by Ben.Zeigler #jira UE-38654 Re-Fix EDL cooking with SCS-added components. They used to have the DefaultSubObject flag but no longer do [CL 3208270 by Ben Zeigler in Main branch]
2016-11-22 18:45:44 -05:00
FString ExecName = Enum->GetEnumName(ExecIdx);
Copying //UE4/Release-Staging-4.12 to //UE4/Dev-Main (Source: //UE4/Release-4.12 @ 2955635) ========================== MAJOR FEATURES + CHANGES ========================== Change 2955635 on 2016/04/26 by Max.Chen Sequencer: Fix filtering so that folders that contain filtered nodes will also appear. #jira UE-28213 Change 2955617 on 2016/04/25 by Dmitriy.Dyomin Better fix for: Post processing rendering artifacts Nexus 6 this device on Android 5.0.1 does not support BGRA8888 texture as a color attachment #jira: UE-24067 Change 2955522 on 2016/04/25 by Max.Chen Sequencer: Fix crash when resolving object guid and context is null. #jira UE-29916 Change 2955504 on 2016/04/25 by Alexis.Matte #jira UE-29926 Fix build error for SplineComponent. I just move variable under #if !UE_BUILD_SHIPPING instead #if WITH_EDITORONLY_DATA to fix all build flavor, please feel free to adjust according to what the initial fix was suppose to do. Change 2955500 on 2016/04/25 by Dan.Oconnor Integration of 2955445 from Dev-BP #jira UE-29012 Change 2955234 on 2016/04/25 by Lina.Halper Fixed tool tip of twist node #jira : UE-29907 Change 2955211 on 2016/04/25 by Ben.Marsh Exclude all plugins which aren't required for a project (ie. don't have any content or modules for the current target) from its target receipt. Prevents dependencies on .uplugin files whose dependencies are otherwise compiled out. Re-enable PS4Media plugin by default. #jira UE-29842 Change 2955155 on 2016/04/25 by Jamie.Dale Fixed an issue where text committed via a focus loss might not display the correct text if it was changed during commit #jira UE-28756 Change 2955144 on 2016/04/25 by Jamie.Dale Fixed a case where editable text controls would fail to select their text when focused There was an order of operations issue between the options to select all text and move the cursor to the end of the document, which caused the cursor move to happen after the select all, and undo the selection. The order of these operations has now been flipped. #jira UE-29818 #jira UE-29772 Change 2955136 on 2016/04/25 by Chad.Taylor Merging to 4.12: Morpheus latency fix. Late update tracking frame was getting unnecessarily buffered an extra frame on the RHI thread. Removed buffering and the issue is fixed. #jira UE-22581 Change 2955134 on 2016/04/25 by Lina.Halper Removed code that blocks moving actor when they don't have physics asset #jira : UE-29796 #code review: Benn.Gallagher Change 2955130 on 2016/04/25 by Zak.Middleton #ue4 - (4.12) Don't reject low distance MTD, it could cause us to not process some valid overlaps. (copy of 2955001 in Main) #jira UE-29531 #lockdown Nick.Penwarden Change 2955098 on 2016/04/25 by Marc.Audy Don't spawn a child actor on the client if the server is going to have created one and be replicating it to the client #jira UE-7539 Change 2955049 on 2016/04/25 by Richard.TalbotWatkin Changes to how SplineComponents debug render. Added a SetDrawDebug method to control whether a spline is rendered. Also extended the facility to non-editor builds. #jira UE-29753 - Add ability to display a SplineComponent in-game Change 2955040 on 2016/04/25 by Chris.Gagnon Fixed Initializer Order Warning in hot reload ctor. #jira UE-28811, UE-28960 Change 2954995 on 2016/04/25 by Marc.Audy Make USceneComponent::Pre/PostNetReceive and PostRepNotifies protected instead of private so that subclasses can implement replication behaviors #jira UE-29909 Change 2954970 on 2016/04/25 by Peter.Sauerbrei fix for openwrite with O_APPEND flag #jira UE-28417 Change 2954917 on 2016/04/25 by Chris.Gagnon Moved a desired change from Main to 4.12 Added input settings to: - control if the viewport locks the mouse on acquire capture. - control if the viewport acquires capture on the application launch (first window activate). #jira UE-28811, UE-28960 parity with 4.11 (UE-28811, UE-28960 would be reintroduced without this) Change 2954908 on 2016/04/25 by Alexis.Matte #jira UE-29478 Prevent modal dialog to use 100% of a core Change 2954888 on 2016/04/25 by Marcus.Wassmer Fix compile issue with chinese locale #jira UE-29708 Change 2954813 on 2016/04/25 by Lina.Halper Fix when not re-validating the correct asset #jira : UE-29789 #code review: Martin.Wilson Change 2954810 on 2016/04/25 by mason.seay Updated map to improve coverage #jira UE-29618 Change 2954785 on 2016/04/25 by Max.Chen Sequencer: Always spawn sequencer spawnables. Disregard collision settings. #jira UE-29825 Change 2954781 on 2016/04/25 by mason.seay Test map for Audio Occlusion trace channels #jira UE-29618 Change 2954684 on 2016/04/25 by Marc.Audy Add GetIsReplicated accessor to AActor Deprecate specific GameplayAbility class implementations that was exposing bReplicates #jira UE-29897 Change 2954675 on 2016/04/25 by Alexis.Matte #jira UE-25430 Light Intensity value in FBX is a ratio. So I just multiply the default intensity value by the ratio to have something closer to the look in the DCCs Change 2954669 on 2016/04/25 by Alexis.Matte #jira UE-29507 Import of rigid mesh animation is broken Change 2954579 on 2016/04/25 by Ben.Marsh Temporarily stop the PS4Media plugin being enabled by default, so the UE4Game built for the binary release doesn't depend on it. Will implement whitelist/blacklist for platforms later. #jira UE-29842 Change 2954556 on 2016/04/25 by Taizyd.Korambayil #jira UE-29877 Setup ThirdPersonCharacter based on correct Code Class Change 2954552 on 2016/04/25 by Taizyd.Korambayil #jira UE-29877 Deleting BP class Change 2954498 on 2016/04/25 by Ryan.Gerleve Fix for remote player controllers reporting that they're actually local player controllers after a seamless travel on the server. Transition actors to the new level in a second pass after non-transitioning actors are handled. #jira UE-29213 Change 2954446 on 2016/04/25 by Max.Chen Sequencer: Fixed spawning actors with instance or multiple owned components - Also fixed issue where recorded actors were sometimes set as transient, meaning they didn't get saved #jira UE-29774, UE-29859 Change 2954430 on 2016/04/25 by Marc.Audy Don't schedule a tick function with a tick interval that was disabled while it was pending rescheduling #jira UE-29118 #jira UE-29747 Change 2954292 on 2016/04/25 by Richard.TalbotWatkin Replicated from //UE4/Dev-Editor CL 2946363 (by Frank.Fella) CurveEditorViewportClient - Bounds check when box selecting. Prevents crashing when the box is outside the viewport. #jira UE-29265 - Crash when drag selecting curve keys in matinee Change 2954262 on 2016/04/25 by Graeme.Thornton Fixed a editor crash when destroying linkers half way through a package EndLoad #jira UE-29437 Change 2954239 on 2016/04/25 by Marc.Audy Fix error message #jira UE-00000 Change 2954177 on 2016/04/25 by Dmitriy.Dyomin Fixed: Hidden surface removal is not enabled on PowerVR Android devices #jira UE-29871 Change 2954026 on 2016/04/24 by Josh.Adams [Somehow most files got unchecked in my previous checkin, grr] - ProtoStar content/config updates (enabled TAA in the levels, disabled es2 shaders, hides the Unbuilt lighting warning on Android) #lockdown nick.penwarden #jira UE-29863 Change 2954025 on 2016/04/24 by Josh.Adams - ProtoStar content/config updates (enabled TAA in the levels, disabled es2 shaders, hides the Unbuilt lighting warning on Android) #lockdown nick.penwarden #jira UE-29863 Change 2953946 on 2016/04/24 by Max.Chen Sequencer: Fix crash on undo of a sub section. #jira UE-29856 Change 2953898 on 2016/04/23 by mitchell.wilson #jira UE-29618 Adding subscene_001 sequence for nonlinear workflow testing Change 2953859 on 2016/04/23 by Maciej.Mroz Merged from Dev-Blueprints 2953858 #jira UE-29790 Editor crashes when opening KiteDemo Change 2953764 on 2016/04/23 by Max.Chen Sequencer: Remove "Experimental" tag on the Level Sequence Actor #jira UETOOl-625 Change 2953763 on 2016/04/23 by Max.Chen Cinematics: Change text to "Edit Existing Cinematics" #jira UE-29102 Change 2953762 on 2016/04/23 by Max.Chen Sequencer: Follow up time slider hit testing fix. Don't hit test the selection range if it's empty. This was causing false positives when hovering close to the ranges. #jira UE-29658 Change 2953652 on 2016/04/22 by Rolando.Caloca UE4.12 - vk - Workaround driver bugs wrt texture format caps #jira UE-28140 Change 2953596 on 2016/04/22 by Marcus.Wassmer #jira UE-20276 Merging dual normal clearcoat shading model. 2863683 2871229 2876362 2876573 2884007 2901595 Change 2953594 on 2016/04/22 by Chris.Babcock Disable crash handler for VulkanRHI on Android to prevent sig11 on loading driver #jira UE-29851 #ue4 #android Change 2953520 on 2016/04/22 by Rolando.Caloca UE4.12 - vk - Enable deferred resource deletion - Added one resource heap per memory type - Improved DumpMemory() - Added ensures for missing format features #jira UE-28140 Change 2953459 on 2016/04/22 by Taizyd.Korambayil #jira UE-29748 Resaved Maps to Fix EC Build Warnings #jira UE-29744 Change 2953448 on 2016/04/22 by Ryan.Gerleve Fix Mac/Linux compile. #jira UE-29545 Change 2953311 on 2016/04/22 by Ryan.Gerleve Fix for infinite hang when loading a replay from within an actor tick while demo.AsyncLoadWorld is false. LoadMap for the replay is now deferred using the existing PendingNetGame mechanism. Added virtual UPendingNetGame::LoadMapCompleted function so that the base PendingNetGame and DemoPendingNetGame can have different behavior. To keep things simpler, also parse all replay metadata and streaming levels after the LoadMap call. #jira UE-29545 Change 2953219 on 2016/04/22 by mason.seay Test map for show collision features #jira UE-29618 Change 2953199 on 2016/04/22 by Phillip.Kavan [UE-29449] Fix InitProperties() optimization for Blueprint class instances when array property values differ in size. change summary: - improved UBlueprintGeneratedClass::BuildCustomArrayPropertyListForPostConstruction() by continuing to emit only delta entries for array values that exceed the default array value's size; previously we emitted a NULL in this case to signal a need to initialize all remaining array values in InitProperties(), even if they didn't differ from the default value of the inner property (which in most cases would already have been set at construction time, and thus potentially incurred a redundant copy iteration for each entry) - modified FObjectInitializer::InitArrayPropertyFromCustomList() to no longer reset the array value on the instance prior to initialization - added code to properly resize the array on the instance prior to initialization (if it differs in size from the default array value) - removed code that handled a NULL property value in the custom property list stream (this is no longer necessary, see above) - modified FObjectInitializer::InitProperties() to restore the post-construction optimization for Blueprint class instances (back to being enabled by default) #jira UE-29449 Change 2953195 on 2016/04/22 by Max.Chen Sequencer: Fix crash in actor reference track in the cached guid to actor map. #jira UE-27523 Change 2953124 on 2016/04/22 by Rolando.Caloca UE4.12 - vk - Increase temp frame buffer #jira UE-28140 Change 2953121 on 2016/04/22 by Chris.Babcock Rebuilt lighting for all levels #jira UE-29809 Change 2953073 on 2016/04/22 by mason.seay Test assets for notifies in animation composites and montages #jira UE-29618 Change 2952960 on 2016/04/22 by Richard.TalbotWatkin Changed eye dropper operation so that LMB click selects a color, and pressing Esc cancels the selection and restores the old color. #jira UE-28410 - Eye dropper selects color without clicking Change 2952934 on 2016/04/22 by Allan.Bentham Ensure pool's refractive index >= 1 #jira UE-29777 Change 2952881 on 2016/04/22 by Jamie.Dale Better fix for UE-28560 that doesn't regress thumbnail rendering We now just silence the warning if dealing with an inactive world. #jira UE-28560 Change 2952867 on 2016/04/22 by Thomas.Sarkanen Fix issues with matinee-controlled anim instances Regression caused by us no longer saving off the anim sequence between updates. #jira UE-29812 - Protostar Neutrino spawns but does not Animate or move. Change 2952826 on 2016/04/22 by Maciej.Mroz Merged from Dev-Blueprints 2952820 #jira UE-28895 Nativizing a blueprint project causes the next non-nativizing package attempt to fail Change 2952819 on 2016/04/22 by Josh.Adams - Fixed crash in a Vulkan shader printout #lockdown nick.penwarden #jira UE-29820 Change 2952817 on 2016/04/22 by Rolando.Caloca UE4.12 - vk - Revert back to simple layouts #jira UE-28140 Change 2952792 on 2016/04/22 by Jamie.Dale Removed some code that caused worlds loaded by the Content Browser to be initialized before they were ready Supposedly this code existed for world thumbnail rendering, however only the active editor world generates a thumbnail, so initializing other worlds wasn't having any effect and thumbnails look identical to before. #jira UE-28560 Change 2952783 on 2016/04/22 by Taizyd.Korambayil #jira UE-28477 Resaved Flying Template Map Change 2952767 on 2016/04/22 by Taizyd.Korambayil #jira UE-29736 Resaved Map to Fix EC Warnings Change 2952762 on 2016/04/22 by Allan.Bentham Update reflection capture to contain only room5 content. #jira UE-29777 Change 2952749 on 2016/04/22 by Taizyd.Korambayil #jira UE-29740 Resaved Material and Map to Fix Empty Engine Version Error Change 2952688 on 2016/04/22 by Martin.Wilson Fix for BP notifies not displaying when they derive from an abstract base class #jira UE-28556 Change 2952685 on 2016/04/22 by Thomas.Sarkanen Fix CIS for non-editor builds #jira UE-29308 - Fix crash from GC-ed animation asset Change 2952664 on 2016/04/22 by Thomas.Sarkanen Made up/down behaviour for console history consistent and reverted to old ordering by default Pressing up or down now brings up history. Sorting can now be optionally bottom-to-top or top-to-bottom. Default behaviour is preserved to what it was before the recent changes. #jira UE-29595 - Console autocomplete behavior is non-intuitive / frustrating Change 2952655 on 2016/04/22 by Jamie.Dale Changed the class filter to use an expression evaluator This makes it consistent with the other filters in the editor #jira UE-29811 Change 2952647 on 2016/04/22 by Allan.Bentham Back out changelist 2951539 #jira UE-29777 Change 2952618 on 2016/04/22 by Benn.Gallagher Fixed naming error in rotation multiplier node #jira UE-29583 Change 2952612 on 2016/04/22 by Thomas.Sarkanen Fix garbage collection and undo/redo issues with anim instance proxy UObject-based properties are now cached each update on the proxy and nulled-out outside of evaluate/update phases. Moved some initialization code for CurrentAsset/CurrentVertexAnim from the proxy back to the instance (as its is encapsulated there now). #jira UE-29308 - Fix crash from GC-ed animation asset Change 2952608 on 2016/04/22 by Richard.TalbotWatkin Changed 'Recently Used Levels' and 'Favorite Levels' to hold long package names instead of absolute paths. This means they are now project-relative and will remain valid even if the project location changes. #jira UE-29731 - Editor map recent files are not project relative, leading to missing links when moving projects. Change 2952599 on 2016/04/22 by Dmitriy.Dyomin Disabled vulkan pipeline cache as it causes rendering artifacts right now #jira UE-29807 Change 2952540 on 2016/04/22 by Maciej.Mroz #jira UE-29787 Obsolete nativized files are never removed merged from Dev-Blueprints 2952531 Change 2952372 on 2016/04/21 by Josh.Adams - Fixed Vk memory allocations when reusing free pages #lockdown nick.penwarden #jira ue-29802 Change 2952350 on 2016/04/21 by Eric.Newman Added support for UEReleaseTesting backends to Orion and Ocean #jira op-3640 Change 2952140 on 2016/04/21 by Dan.Oconnor Demoted back to warning to fix regressions in content examples, in main we've added the ability to elevate warnings to errors, but no reason to rush that feature into 4.12 #jira UE-28971 Change 2952135 on 2016/04/21 by Jeff.Farris Fixed issue in PlayerCameraManager where the priority-based sorting of CameraModifiers wasn't sorting properly. Manual re-implementation of CL 2948123 in 4.12 branch. #jira UE-29634 Change 2952121 on 2016/04/21 by Lee.Clark PS4 - 4.12 - Fix staging and deploying of system prxs #jira UE-29801 Change 2952120 on 2016/04/21 by Rolando.Caloca UE4.12 - vk - Move descriptor allocation to BSS #jira UE-21840 Change 2952027 on 2016/04/21 by Rolando.Caloca UE4.12 - vk - Fix descriptor sets lifetimes - Fix crash with null texture #jira UE-28140 Change 2951890 on 2016/04/21 by Eric.Newman Updating locked common dependencies for OrionService #jira OP-3640 Change 2951863 on 2016/04/21 by Eric.Newman Updating locked dependencies for UE 4.12 OrionService #jira OP-3640 Change 2951852 on 2016/04/21 by Owen.Stupka Fixed meteors destruct location #jira UE-29714 Change 2951739 on 2016/04/21 by Max.Chen Sequencer: Follow up for integral keys. #jira UE-29791 Change 2951717 on 2016/04/21 by Rolando.Caloca UE4.12 - Fix shader platform names #jira UE-28140 Change 2951714 on 2016/04/21 by Max.Chen Sequencer: Fix setting a key if it already exists at the current time. #jira UE-29791 Change 2951708 on 2016/04/21 by Rolando.Caloca UE4.12 - vk - Separate upload cmd buffer #jira UE-28140 Change 2951653 on 2016/04/21 by Marc.Audy If a child actor component is destroyed during garbage collection, do not rename, instead clear the caching mechanisms so that a new name is chosen if a new child is created in the future Remove now unused bRenameRequired parameter #jira UE-29612 Change 2951619 on 2016/04/21 by Chris.Babcock Move bCreateRenderStateForHiddenComponents out of WITH_EDITOR #jira UE-29786 #ue4 Change 2951603 on 2016/04/21 by Cody.Albert #jira UE-29785 Revert Github readme page back to original Change 2951599 on 2016/04/21 by Ryan.Gerleve Fix assert when attempting to record a replay when the map has a placed actor that writes replay external data (such as ACharacter) #jira UE-29778 Change 2951558 on 2016/04/21 by Chris.Babcock Always rename destroyed child actor #jira UE-29709 #ue4 Change 2951552 on 2016/04/21 by James.Golding Remove old code for handling 'show collision' in game, uses same method as editor now, fixes hidden meshes showing up in game when doing 'show collision' #jira UE-29303 Change 2951539 on 2016/04/21 by Allan.Bentham Use screenuv for distortion with ES2/31. #jira UE-29777 Change 2951535 on 2016/04/21 by Max.Chen We need to test if the hmd is enabled if it exists. Otherwise, this will return true even if we aren't rendering in stereo if there's an hmd plugin loaded. #jira UE-29711 Change 2951521 on 2016/04/21 by Taizyd.Korambayil #jira UE-29746 Replaced Deprecated Time Handler node in GameLevel_GM Change 2951492 on 2016/04/21 by Jeremiah.Waldron Fix for Android IAP information reporting back incorrectly. #jira UE-29776 Change 2951486 on 2016/04/21 by Taizyd.Korambayil #jira UE-29741 Updated Infiltrator Demo Project to open with the correct Map Change 2951450 on 2016/04/21 by Gareth.Martin Fix non-editor build #jira UE-16525 Change 2951380 on 2016/04/21 by Gareth.Martin Fix Landscape layer blend nodes not updating connections correctly when an input is changed from weight/alpha (one input) to height blend (two inputs) or vice-versa #jira UE-16525 Change 2951357 on 2016/04/21 by Richard.TalbotWatkin Fixed a crash when pushing a new menu leads to a window activation change which would result in the old root menu being dismissed. #jira UE-27981 - [CrashReport] Crash When Attempting to Select Variable Type After Clearing the Name Field Change 2951352 on 2016/04/21 by Richard.TalbotWatkin Added slider bar thickness as a new property in FSliderStyle. #jira UE-19173 - SSlider is not fully stylable Change 2951344 on 2016/04/21 by Gareth.Martin Fix bounds calculation for landscape splines that was causing the first landscape spline point to be invisible and later points to flicker. - Also fixes landscape spline lines not showing up on a flat landscape #jira UE-25114 Change 2951326 on 2016/04/21 by Taizyd.Korambayil #jira UE-28477 Resaving Maps Change 2951271 on 2016/04/21 by Jamie.Dale Fixed a crash when pasting a path containing a class into the asset view of the Content Browser #jira UE-29616 Change 2951237 on 2016/04/21 by Jack.Porter Fix black screen on PC due to planar reflections #jira UE-29664 Change 2951184 on 2016/04/21 by Jamie.Dale Fixed crash in FCurveStructCustomization when no objects were selected for editing #jira UE-29638 Change 2951177 on 2016/04/21 by Ben.Marsh Fix hot reload from IDE failing when project is up to date. UBT returns an exit code of 2, and any non-zero exit code is treated as an error by Visual Studio. Build.bat was not correctly forwarding on the exit code at all prior to CL 2790858. #jira UE-29757 Change 2951171 on 2016/04/21 by Matthew.Griffin Fixed issue with Rebuild not working when installed in Program Files (x86) The brackets seem to cause lots of problems in combination with the if/else ones #jira UE-29648 Change 2951163 on 2016/04/21 by Jamie.Dale Changed the text customization to use the property handle functions to get/set the text value That ensures that it both transacts and notifies correctly. Added new functions to deal with multiple objects selection efficiently with the existing IEditableTextProperty API: - FPropertyHandleBase::SetPerObjectValue - FPropertyHandleBase::GetPerObjectValue - FPropertyHandleBase::GetNumPerObjectValues These replace the need to cache the raw pointers. #jira UE-20223 Change 2951103 on 2016/04/21 by Thomas.Sarkanen Un-deprecated blueprint functions for attachment/detachment Renamed functions to <FuncName> (Deprecated). Hid functions in the BP context menu so new ones cant be added. #jira UE-23216 - "Snap to Target, Keep World Scale" when attaching doesn't work properly if parent is scaled. Change 2951101 on 2016/04/21 by Allan.Bentham Enable mobile HQ DoF #jira UE-29765 Change 2951097 on 2016/04/21 by Thomas.Sarkanen Standalone games now benefit from parallel anim update if possible We now simply use the fact we want root motion to determine if we need to run immediately. #jira UE-29431 - Parallel anim update does not work in non-multiplayer games Change 2951036 on 2016/04/21 by Lee.Clark PS4 - Fix WinDualShock working with VS2015 #jira UE-29088 Change 2951034 on 2016/04/21 by Jack.Porter ProtoStar: Removed content not needed by remaining maps, resaved all content to fix version 0 issues #jira UE-29666 Change 2950995 on 2016/04/21 by Jack.Porter ProtoStar - delete unneeded maps #jira UE-29665 Change 2950787 on 2016/04/20 by Nick.Darnell SuperSearch - Moving the settings object into a seperate plugin to avoid there needing to be a circular dependency between SuperSearch and UnrealEd. #jira UE-29749 #codeview Ben.Marsh Change 2950786 on 2016/04/20 by Nick.Darnell Back out changelist 2950769 - Going to re-enable super search - about to move the settings into a plugin to prevent the circular reference. #jira UE-29749 Change 2950769 on 2016/04/20 by Ben.Marsh Comment out editor integration for super search to fix problems with the circular dependencies breaking hot reload and compiling QAGame in binary release. Change 2950724 on 2016/04/20 by Lina.Halper Support for negative scaling for mirroring - Merging CL 2950718 using //UE4/Dev-Framework_to_//UE4/Release-4.12 #jira: UE-27453 Change 2950293 on 2016/04/20 by andrew.porter Correcting sequencer test content #jira UE-29618 Change 2950283 on 2016/04/20 by Marc.Audy Don't route FlushPressedKeys on PIE shut down #jira UE-28734 Change 2950071 on 2016/04/20 by mason.seay Adjusted translation retargeting on head bone of UE4_Mannequin -Needed for anim bp test. Tested animations and did not see any fallout from change. If there is, it can be reverted. #jira UE-29618 Change 2950049 on 2016/04/20 by Mark.Satterthwaite Undo CL #2949690 and instead on Mac where we want to be able to capture videos of gameplay we just insert an intermediate texture as the back-buffer and use a manual blit to the drawable prior to present. This also changes the code to enforce that the back-buffer render-target should never be nil as the code & Metal API itself assumes that this situation cannot occur but it would appear from continued crashes inside PrepareToDraw that it actually can in the field. This will address another potential cause of UE-29006. #jira UE-29006 #jira UE-29140 Change 2949977 on 2016/04/20 by Max.Chen Sequencer: Add FieldOfView to default tracks for CameraActor. Add FieldOfView to exclusion list for CineCameraActor. #jira UE-29660 Change 2949836 on 2016/04/20 by Gareth.Martin Fix landscape components flickering when perfectly flat (bounds size is 0) - This often happens for newly created landscapes #jira UE-29262 Change 2949768 on 2016/04/20 by Thomas.Sarkanen Moving parent & grouped child actors now does not result in deltas being applied twice Grouping and attachment now interact correctly. Also fixed up according to coding standard. Discovered and proposed by David.Bliss2 (Rocksteady). #jira UE-29233 - Delta applied twice when moving parent and grouped child actors From UDN: https://udn.unrealengine.com/questions/286537/moving-parent-grouped-child-actors-results-in-delt.html Change 2949759 on 2016/04/20 by Thomas.Sarkanen Fix split pins not working as anim graph node inputs Limit surface area of this change by only modifying the anim BP compiler. A better version might be to move the call in the general blueprint compiler but it is riskier. #jira UE-12326 - Splitting a struct in an Anim Blueprint does not work Change 2949739 on 2016/04/20 by Thomas.Sarkanen Fix layered bone per blend accessed from a struct in the fast-path Made sure that the fallback event is always built (logic was still split so if PatchFunctionNamesAndCopyRecordsInto aborted because of some unhandled case if might not have an event to call). Covered struct source->array dest case. Indicator icon is now built from the copy record itself, ensuring it is accurate to actual runtime data. #jira UE-29389 - Fast-Path: Layered Blend per Bone node failing to grab updated values from struct. Change 2949715 on 2016/04/20 by Max.Chen Sequencer: Fix mouse wheel zoom so it defaults to zooming in on the current time/frame. This is a toggleable option in the Editor Preferences (Zoom Position = Current Time or Mouse Position) #jira UE-29661 Change 2949712 on 2016/04/20 by Taizyd.Korambayil #jira UE-28544 adjusted Player crosshair to be centered Change 2949710 on 2016/04/20 by Alexis.Matte #jira UE-29477 Pixel Inspector, UI get polish and adding "scene color" inspect property Change 2949706 on 2016/04/20 by Alexis.Matte #jira UE-29475 #jira UE-29476 Favorite allow all UProperty to be favorite (the FStruct is now supported) Favorite scrollig is auto adjust to avoid scrolling when adding/removing a favorite Change 2949691 on 2016/04/20 by Mark.Satterthwaite Fix typo from previous commit - retain not release... #jira UE-29140 Change 2949690 on 2016/04/20 by Mark.Satterthwaite Double-buffer the Metal viewport's back-buffer so that we can access the contents of the back-buffer after EndDrawingViewport is called until BeginDrawingViewport is called again on this viewport, this makes it possible to capture movies on Metal. #jira UE-29140 Change 2949616 on 2016/04/20 by Marc.Audy 'Merge' latest version of Vulkan from Dev-Rendering to Release-4.12 #jira UE-00000 Change 2949572 on 2016/04/20 by Jamie.Dale Fixed crash undoing a text property changed caused by a null entry in the array #jira UE-20223 Change 2949562 on 2016/04/20 by Alexis.Matte #jira UE-29447 Fix the batch fbx import "not show options" dialog where some option can be different. Change 2949560 on 2016/04/20 by Alexis.Matte #jira UE-28898 Avoid importing multiple static mesh in the same package Change 2949547 on 2016/04/20 by Mark.Satterthwaite You must use STENCIL_COMPONENT_SWIZZLE to access the stencil component of a texture - not all APIs can swizzle it into .g automatically. #jira UE-29672 Change 2949443 on 2016/04/20 by Allan.Bentham Disable sRGB textures when ES31 feature level is set. Only use vk's sRGB formats when feature level > ES3_1 #jira UE-29623 Change 2949428 on 2016/04/20 by Allan.Bentham Back out changelist 2949405 #jira UE-29623 Change 2949405 on 2016/04/20 by Allan.Bentham Disable sRGB textures when ES31 feature level is set. Only use vk's sRGB formats when feature level > ES3_1 #jira UE-29623 Merging using Dev-Mobile_->_Release-4.12 Change 2949391 on 2016/04/20 by Richard.TalbotWatkin PIE with multiple windows now starts focused on Client 1, or the server if not a dedicated server. Added a new virtual call UEditorEngine::OnLoginPIEAllComplete, called when all clients have been successfully logged in when starting PIE. The default behavior is to set focus to the first client. #jira UE-26037 - Cumbersome workflow when running PIE with 2 clients #jira UE-26905 - First client window does not gain focus or mouse control when launching two clients Change 2949389 on 2016/04/20 by Richard.TalbotWatkin Fixed regression which was saving the viewport config settings incorrectly. Viewports are keyed by their layout on the same key as the config key, hence we do not need to prepend the SpecificLayoutString when saving out the config data when iterating through a layout's viewports. #jira UE-29058 - Viewport settings are not saved after shutting down editor Change 2949388 on 2016/04/20 by Richard.TalbotWatkin Change auto-reimport settings so that "Detect Changes on Startup" defaults to true. Also removed the warning of potential unwanted behaviour when working in conjunction with source control; this is no longer necessary now that there is a prompt prior to auto-reimport. #jira UE-29257 - Auto import does not import assets Change 2949203 on 2016/04/19 by Max.Chen Sequencer: Fix spawnables not getting default tracks. #jira UE-29644 Change 2949202 on 2016/04/19 by Max.Chen Sequencer: Fix particles not firing on loop. #jira UE-27881 Change 2949201 on 2016/04/19 by Max.Chen Sequencer: Fix multiple labels support #jira UE-26812 Change 2949200 on 2016/04/19 by Max.Chen Sequencer: Expose settings sequencer settings in the Editor Preferences page. Note, UMG and Niagara have separate sequencer settings pages. #jira UE-29516 Change 2949197 on 2016/04/19 by Max.Chen Sequencer: Fix unwind rotation when keying rotation so that rotations are always set to the nearest. #jira UE-22228 Change 2949196 on 2016/04/19 by Max.Chen Sequencer: Disable selection range drawing if it's empty so that playback range dragging can take precedence when they overlap. This fixes a bug where you can't drag the starting playback range when sequencer starts up. #jira UE-29657 Change 2949195 on 2016/04/19 by Max.Chen MovieSceneCapture: Default image compression quality to 100 (rather than 75). #jira UE-29657 Change 2949194 on 2016/04/19 by Max.Chen Sequencer: Matinee to Level Sequence fix for mapping properties correctly. This fixes focus distance not getting set properly on the conversion. #jira UETOOL-467 Change 2949193 on 2016/04/19 by Max.Chen Sequencer - Fix issues with level visibility. + Don't mark sub-levels as dirty when the track evaluates. + Fix an issue where sequencer gets into a refresh loop because drawing thumbnails causes levels to be added which was rebuilding the tree, which was redrawing thumbnails. + Null check for when an objects world is null but the track is still evaluating. + Remove UnrealEd references. #jira UE-25668 Change 2948990 on 2016/04/19 by Aaron.McLeran #jira UE-29654 FadeIn invalidates Audio Components in 4.11 Change 2948890 on 2016/04/19 by Jamie.Dale Downgraded an assert in SPathView::LoadSettings to avoid a common crash when a saved path no longer exists #jira UE-28858 Change 2948860 on 2016/04/19 by Mike.Beach Mirroring CL 2940334 (from Dev-Blueprints): Bettering CreateEvent node errors, so users are able to recover from API changes (not clearing the function name field, calling out the function by name in the error, etc.) #jira UE-28911 Change 2948857 on 2016/04/19 by Jamie.Dale Added an Asset Localization context menu to the Content Browser This allows you to create, edit, and view localized assets from any source asset, as well as edit and view source assets from any localized asset. #jira UE-29493 Change 2948854 on 2016/04/19 by Jamie.Dale UAT now stages all project translation targets #jira UE-20248 Change 2948831 on 2016/04/19 by Mike.Beach Mirroring CL 2945994 (from Dev-Blueprints): Pasting EdGraphNodes will no longer query sub-nodes for compatibility if the root cannot be pasted (for things like collapsed graphs, and anim state-machine nodes). #jira UE-29035 Change 2948825 on 2016/04/19 by Jamie.Dale Fixed shadow warning #jira UE-29212 Change 2948812 on 2016/04/19 by Marc.Audy Gracefully handle failure to load configurable engine classes #jira UE-26527 Change 2948791 on 2016/04/19 by Jamie.Dale Fixed regression in SEditableText bIsCaretMovedWhenGainFocus when using auto-complete Fixed regression in FSlateEditableTextLayout::SetText that caused it to call OnTextChanged when nothing had changed #jira UE-29494 #jira UE-28886 Change 2948761 on 2016/04/19 by Jamie.Dale Sub-fonts are now only used when they contain the character to be rendered #jira UE-29212 Change 2948718 on 2016/04/19 by Jamie.Dale Fixed an issue where FEnginePackageLocalizationCache could be initialized before CoreUObject was ready This is now done lazily, either when the first CDO tries to load an asset (which is after CoreUObject is ready), or after the first call to ProcessNewlyLoadedUObjects (if no CDO loads an asset). #jira UE-29649 Change 2948717 on 2016/04/19 by Jamie.Dale Removed the AssetRegistry's dependency on MessageLog It was only there to add a category that was only ever used by the AssetTools module. #jira UE-29649 Change 2948683 on 2016/04/19 by Phillip.Kavan [UE-18419] Fix GetClassDefaults nodes to update properly in response to structural BP class changes. change summary: - modified UK2Node_GetClassDefaults::CreateOutputPins() to bind/unbind delegate handlers for the OnChanged() & OnCompile() events for BP class types. #jira UE-18419 Change 2948681 on 2016/04/19 by Phillip.Kavan [UE-17794] The "Delete Unused Variable" feature now considers the GetClassDefaults node as well. change summary: - added external linkage to UK2Node_GetClassDefaults::FindClassPin(). - added an include for the K2Node_GetClassDefaults header file to BlueprintGraphDefinitions.h. - added UK2Node_GetClassDefaults::GetInputClass() as a public API w/ external linkage; moved default 'nullptr' param logic into this impl. - modified FBlueprintEditorUtils::IsVariableUsed() to add an extra check for a GetClassDefaults node with a visible output pin for the variable that's also connected. - modified UK2Node_GetClassDefaults::GetInputClass() to return the generated skeleton class for Blueprint class types. #jira UE-17794 Change 2948638 on 2016/04/19 by Lee.Clark PS4 - Fix SDK compile warnings #jira UE-29647 Change 2948401 on 2016/04/19 by Taizyd.Korambayil #jira UE-29250 Revuilt Lighting for Landscapes Map Change 2948398 on 2016/04/19 by Mark.Satterthwaite Add a Mac Metal ES2 shader platform to allow the various ES2 emulation modes to work in the Editor. Fix various issues with the shader code to ensure that Metal can run with ES2 shader code at least in my limited test cases in QAGame. #jira UE-29170 Change 2948366 on 2016/04/19 by Taizyd.Korambayil #jira UE-29109 Replaced Box Mesh with BSP Floor Change 2948360 on 2016/04/19 by Maciej.Mroz merged from Dev-Blueprints 2947488 #jira UE-29115 Nativized BulletTrain - cannot shoot targets in intro tutorial #jira UE-28965 Packaging Project with Nativize Blueprint Assets Prevents Overlap Events from Firing #jira UE-29559 - fixed private enum access - fixed private bitfield access - removed forced PostLoad - add BodyInstance.FixupData call to fix ResponseChannels - ignored RelativeLocation and RelativeRotation in converted root component - fixed AttachToComponent (UE-29559) Change 2948358 on 2016/04/19 by Maciej.Mroz merged from Dev-Blueprints 2947953 #jira UE-29605 Wrong bullet trails in nativized ShowUp Fixed USimpleConstructionScript::GetSceneRootComponentTemplate. Change 2948357 on 2016/04/19 by Maciej.Mroz merged from Dev-Blueprints 2947984 #jira UE-29374 Crash when hovering over Create Widget node in blueprints Safe UK2Node_ConstructObjectFromClass::GetPinHoverText. Change 2948353 on 2016/04/19 by Maciej.Mroz merged from Dev-Blueprints 2948095 #jira UE-29246 ExpandEnumAsExecs + UMETA(Hidden) Crashes Blueprint Compile "Hidden" and "Spacer" elementa from an enum does not generated exec pins for "ExpandEnumAsExecs" Change 2948332 on 2016/04/19 by Benn.Gallagher Fixed old pins being left as non-transactional #jira UE-13801 Change 2948203 on 2016/04/19 by Lee.Clark PS4 - Use SDK 3.508.031 #jira UEPLAT-1225 Change 2948168 on 2016/04/19 by mason.seay Updating test content: -Added Husk AI to level to test placed AI -Updated Spawn Husk BP to destroy itself to prevent spawn spamming #jira UE-29618 Change 2948153 on 2016/04/19 by Benn.Gallagher Missed mesh update for Owen IK fix. #jira UE-22540 Change 2948130 on 2016/04/19 by Benn.Gallagher Fixed old Owen punch IK setup so it no longer jitters when placing the hands on the surface. #jira UE-22540 Change 2948117 on 2016/04/19 by Taizyd.Korambayil #jira UE-28477 Resaved Template Map's to fix Warning Toast on Templates Change 2948063 on 2016/04/19 by Lina.Halper - Anim composite notify change for better - Fixed all nested anim notify - Merging CL 2944396 using //UE4/Dev-Framework_to_//UE4/Release-4.12 #jira : UE-29101 Change 2948060 on 2016/04/19 by Lina.Halper Fix for composite section metadata saving for montage Merging CL 2944397 using //UE4/Dev-Framework_to_//UE4/Release-4.12 #jira : UE-29228 Change 2948029 on 2016/04/19 by Ben.Marsh EC: Prevent automatically pushing CIS builds to the launcher; the changelist might be run more than once. Change 2947986 on 2016/04/19 by Benn.Gallagher Fixed BP callable functions that affect skeletal mesh component transforms not working when simulating physics. #jira UE-27783 Change 2947976 on 2016/04/19 by Mark.Satterthwaite Duplicate CL #2943702 from 4.11.2: Change the way Metal validates the render-target state so that in FMetalContext::PrepareToDraw it can issue a last-ditch attempt to restore the render-targets. This won't fix the cause of the Mac Metal crashes but it might mitigate some of them and provide more information about why they are occurring. #jira UE-29006 Change 2947975 on 2016/04/19 by Mark.Satterthwaite Duplicate CL #2945061 from UE4-UT: Address UT issue UE-29150 directly in the UT branch: users without a sufficiently up-to-date Xcode won't have the 'metal' offline shader compiler so will have to use the slower online compiled text shader format. #jira UE-29150 Change 2947679 on 2016/04/19 by Jack.Porter Fixed 4.12 branch not compiling with the 1.0.8 Vulkan SDK #jira UE-29601 Change 2947657 on 2016/04/18 by Jack.Porter Update protostar reflection capture contents #jira UE-29600 Change 2947301 on 2016/04/18 by Ben.Marsh EC: Fix trigger ready emails failing to send due to recipient list being a space-separated list of addresses rather than an array reference. Change 2947263 on 2016/04/18 by Marc.Audy Merging CL# 2945921 //UE4/Release-4.11 to //UE4/Release-4.12 Ensure that all OwnedComponents in an Actor are duplicated for PIE even if not referenced by a property, unless that component is explicitly transient #jira UE-29209 Change 2946984 on 2016/04/18 by Ben.Marsh GUBP: Allow Ocean cooks in the release branch (fixes build startup failures) Change 2946870 on 2016/04/18 by Ben.Marsh Remaking CL 2946810 to fix compile error in ShooterGame editor. Change 2946859 on 2016/04/18 by Ben.Marsh GUBP: Don't exclude Ocean from builds in the release branch. Change 2946847 on 2016/04/18 by Ben.Marsh GUBP: Fix warning on every build step due to OrionGame_Win32_Mono no longer existing. Change 2946771 on 2016/04/18 by Ben.Marsh EC: Correct initial agent type for release branches. Causing full branch syncs on all agents. Change 2946641 on 2016/04/18 by Ben.Marsh EC: Remove rogue comma causing branch definition parsing to fail. Change 2946592 on 2016/04/18 by Ben.Marsh EC: Adding branch definition for 4.12 release #lockdown Nick.Penwarden [CL 2962354 by Ben Marsh in Main branch]
2016-05-01 17:37:41 -04:00
CreatePin(Direction, K2Schema->PC_Exec, TEXT(""), NULL, false, false, ExecName);
}
}
if (bIsFunctionInput)
{
// If using ExpandEnumAsExec for input, don't want to add a input exec pin
bCreateSingleExecInputPin = false;
}
else
{
// If using ExpandEnumAsExec for output, don't want to add a "then" pin
bCreateThenPin = false;
}
}
}
if (bCreateSingleExecInputPin)
{
// Single input exec pin
CreatePin(EGPD_Input, K2Schema->PC_Exec, TEXT(""), NULL, false, false, K2Schema->PN_Execute);
}
if (bCreateThenPin)
{
UEdGraphPin* OutputExecPin = CreatePin(EGPD_Output, K2Schema->PC_Exec, TEXT(""), NULL, false, false, K2Schema->PN_Then);
// Use 'completed' name for output pins on latent functions
if (Function->HasMetaData(FBlueprintMetadata::MD_Latent))
{
OutputExecPin->PinFriendlyName = FText::FromString(K2Schema->PN_Completed);
}
}
}
}
void UK2Node_CallFunction::DetermineWantsEnumToExecExpansion(const UFunction* Function)
{
bWantsEnumToExecExpansion = false;
if (Function->HasMetaData(FBlueprintMetadata::MD_ExpandEnumAsExecs))
{
const FString& EnumParamName = Function->GetMetaData(FBlueprintMetadata::MD_ExpandEnumAsExecs);
UByteProperty* EnumProp = FindField<UByteProperty>(Function, FName(*EnumParamName));
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3208226) #lockdown Nick.Penwarden #rb None ========================== MAJOR FEATURES + CHANGES ========================== Change 3173153 on 2016/10/25 by Graeme.Thornton Pak signing changes - Integrated into EDL loader - Changed to not encrypt each CRC in the sig file, rather just store a single encryped signature of the entire sig file. Removes need to decrypt thousands of signatures at startup. Change 3173531 on 2016/10/25 by Steven.Hutton Removing unused j query packages. Change 3174743 on 2016/10/26 by Gil.Gribb UE4 - fixed COTF with EDL Change 3177896 on 2016/10/28 by Steve.Robb TSharedPtr and TSharedRef aliasing constructors. Removal of static_asserts for TSharedPtr<UObject>. Change 3180343 on 2016/10/31 by Steve.Robb Reimplementation of changes from CL#s 3050329 and 3105715 that were lost in merges 3094597 and 3105741. Change 3181382 on 2016/11/01 by Steve.Robb Visual Studio debugger visualizers for delegates. Change 3182738 on 2016/11/02 by Graeme.Thornton Re-enable signed archive reader so non-pakpreacher based reads still get signature checked Change 3183420 on 2016/11/02 by Steve.Robb Fix to TIsZeroConstructType for TScriptDelegate. Change 3184872 on 2016/11/03 by Robert.Manuszewski Fixing memory stomps in SSL certificate initialization (found with mallocstomp) Change 3184873 on 2016/11/03 by Robert.Manuszewski Adding thread safety checks to async loading code Change 3185535 on 2016/11/03 by Ben.Zeigler Fix it so calling CreateDefaultSubobject with bTransient = true sets the object transient flag. This fixes EDL Crashes involving components. Change 3186636 on 2016/11/04 by Graeme.Thornton AES encryption integrated into EDL system Pak signing and AES encryption now configurable by ini files rather than magical text files Change 3186637 on 2016/11/04 by Graeme.Thornton Configured pak signing and encryption in ShooterGame for reference Change 3186639 on 2016/11/04 by Graeme.Thornton Encryption changes for Orion * Move pak signing keys into new INI format * Add AES key and enable INI file encryption Change 3186661 on 2016/11/04 by Graeme.Thornton Change unrealpak command line params to accept AES key as a separete parameter Change 3186670 on 2016/11/04 by Robert.Manuszewski Adding a null check before using a package pointer in Linker code #jira UE-38237 Change 3186775 on 2016/11/04 by Graeme.Thornton Fix UBT defines that come in as quoted strings, losing the quotes when passed to the compiler - PS4 and Mac fixes. Other platforms might need fixing too! Change 3186823 on 2016/11/04 by Graeme.Thornton Fixed an incorrect size check in the EDL pak signing code Change 3186925 on 2016/11/04 by Graeme.Thornton Allow UnrealPak to read encryption settings from project ini files Change 3189885 on 2016/11/08 by Graeme.Thornton Static analysis warning fix Change 3190015 on 2016/11/08 by Robert.Manuszewski Thread safety fix for UBlueprintGeneratedClass::PostLoadDefaultObject while UBlueprintGeneratedClass::SerializeDefaultObject runs on the async loading thread Change 3190253 on 2016/11/08 by Chris.Wood Improved MDD performance for on the CR server. [UE-37566] - Improve MDD performance on CR server Blocked MDD init'ing the crash handling code as it isn't desirable on the server. Removed redundant call to SetSymbolPathsFromModules() from CrashDebugHelper. Change 3192993 on 2016/11/10 by Robert.Manuszewski Thread Heartbeat will no longer report the same hang multiple times. Change 3193111 on 2016/11/10 by Robert.Manuszewski Minor change in the condition that detects the same hangs - allow the same callstacks from different threads Change 3193168 on 2016/11/10 by Steve.Robb TSparseArray now reserves space in reverse so that new elements get added to the front of the allocation rather than the back, which is better for memory traversal and meets expectations more closely. Change 3193171 on 2016/11/10 by Steve.Robb Easier debugging of FPendingRegistrantInfo map. Change 3193188 on 2016/11/10 by Steve.Robb TAutoPointer deprecated. Change 3193796 on 2016/11/10 by Graeme.Thornton Fix pak creation failure when no pak signing keys are supplied Change 3194524 on 2016/11/11 by Graeme.Thornton Another static analysis warning fix Change 3195119 on 2016/11/11 by Steve.Robb TAutoPtr deprecated. Fixes to use of TAutoPtr with incompatible memory deallocations (TAutoPtr with FMemory::Malloc and new[]). Some large headers moved into .cpp files. Change 3196582 on 2016/11/14 by Gil.Gribb UE4 - Changed a check to a warning related to detaching linekrs twice. Seen in nativized BP version of platformer game. Change 3196878 on 2016/11/14 by Steve.Robb TScopedPointer deprecated. Change 3198061 on 2016/11/15 by Steve.Robb Class array is no longer regenerated when saving UClasses. Change 3198065 on 2016/11/15 by Robert.Manuszewski Making AssembleReferenceTokenStream thread safe for blueprints loaded on the async loading thread. Change 3198199 on 2016/11/15 by Robert.Manuszewski Pak platform file will now only be used if pak files exist regardless of command line paraks like -pak, -singedpak and -signed. Change 3199954 on 2016/11/16 by Graeme.Thornton Removing USING_SIGNED_CONTENT Change 3200221 on 2016/11/16 by Chris.Wood CrashReportProcess code cleanup - removing unused using directives Change 3200232 on 2016/11/16 by Chris.Wood Multiple CrashReportProcess updates and improvements (CRP v1.2.6) UE-36248 - CRP scalability: All bulk storage or shared data to S3 or suitable network drives InvalidCrashReports now saved to S3 instead of local folder Removed option tosync MinidumpDiagnostics from Perforce Moved MinidumpDiagnostics from old Perforce synched location to its own folder in E:\Services (makes more sense with manual publishing) Added improved logging to Slack with option to monitor MDD performance Added hourly log folders to MDD logs Added support for types of crashes we don't want to symbolicate (using it to skip callstack gen for hang detected ensures) Change 3200382 on 2016/11/16 by Robert.Manuszewski Async Loading code will now detach the linker when resetting async package loader to avoid situations when loading the same asset multiple times results in the following load request finding the old linker after the package has been loading but the async package hasn't been deleted yet (async package for the old request in limbo state but linker exists). Change 3200562 on 2016/11/16 by Gil.Gribb UE4 - Fixed rare issue with reloading nativized blueprints with the EDL and a minor simplication. Change 3201093 on 2016/11/16 by Ben.Zeigler #UE 38654 Fix EDL cooking to correctly search components created directly by UBlueprints, as well as the CDO components it already covered. Also explicitly mark subobject templates as editor only. Fix issue where the AssetImportData associated with Blueprint-owned Curves was ending up in the cooked subobject template list. Stopped it from creating those objects, and mark the class editor only. Change 3201736 on 2016/11/17 by Steve.Robb Strtoi64 platform and TCString functions. #fyi robert.manuszewski Change 3201938 on 2016/11/17 by Ben.Woodhouse Dummy integrate of the Square render version workaround (CL 3201913) with _accept target_ to prevent it being integrated to dev-core in future. Commandline: p4 integrate //Tasks/UE4/Dev-LoadTimes/Engine/Source/Runtime/CoreUObject/Private/UObject/LinkerLoad.cpp@3201913,3201913 //UE4/Dev-Core/Engine/Source/Runtime/CoreUObject/Private/UObject/LinkerLoad.cpp #fyi robert.manuszewski Change 3203757 on 2016/11/18 by Robert.Manuszewski Removing debug code from async loading code. Change 3203927 on 2016/11/18 by Robert.Manuszewski Fixing comments in the async loading code. Change 3204851 on 2016/11/18 by Steve.Robb Metafunction for testing if a particular operator<< overload exists, e.g. THasInserterOperator<FArchive&, FMyType&>::Value. Change 3204854 on 2016/11/18 by Steve.Robb UEnumProperty. Change 3205027 on 2016/11/18 by Ben.Zeigler Add useful functions to FAssetPtr and TAssetSubclassOf that already existed on TAssetPtr Add Get() to TSubclassOf so it matches our other wrappers Fix TSubclassOf and TAssetSubclassOf to use the more efficient template method of checking class compatibility Comment and template cleanups for AssetPtr, StringAssetReference, LazyPtr, and SubclassOf Change 3206334 on 2016/11/21 by Ben.Zeigler #UE-38773: Fix it so non-component template subobjects of CDOs are not included as creation dependencies for BP classes, also clean up GetPreloadDependencies as it was adding redundant and null entries #UE-38799: Fix it so WidgetTrees don't get picked up as subobjects, and add ensure at cook time to find null outers that would crash at runtime. Make sure the instanced widget trees are transient. Cook finishes but game is still crashing in some cases, so I might adjust this after other testing Change 3206353 on 2016/11/21 by Ben.Zeigler Fix EnumProperty to handle EDL preload dependencies properly Change 3206625 on 2016/11/21 by Ben.Zeigler Fix enum property crash at runtime by copying what array property does and making sure inner property is not transient Change 3206937 on 2016/11/21 by Ben.Zeigler #jira UE-38905 Fix it so enums inside arrays are migrated properly, the enum tag is lost so use the current one Disable other nested enum migrations as they are unlikely to work. Array property tags need to be refactored to be safer Correctly save enum tag for enum properties, it was being set but not serialized Change 3207002 on 2016/11/21 by Ben.Zeigler #jira UE-38799 Fix it so per-widget copy of widget tree and all widgets inside are properly transient, they were being cooked before but never accessed. Fix case where non ClientOnly public objects nested instead ClientOnly objects would cook but fail to load, and add ensure to catch these cases in the future. If the full outer chain isn't available, it can't be loaded anyway, and this finds issues at cook time instead of load time. We should generally outlaw non-transient objects with transient outers, it does not do what people expect. Change 3207032 on 2016/11/21 by Ben.Zeigler #jira UE-38654 Re-Fix EDL cooking with SCS-added components. They used to have the DefaultSubObject flag but no longer do [CL 3208270 by Ben Zeigler in Main branch]
2016-11-22 18:45:44 -05:00
if((EnumProp != NULL && EnumProp->Enum != NULL) || FindField<UEnumProperty>(Function, FName(*EnumParamName)))
{
bWantsEnumToExecExpansion = true;
}
else
{
if (!bHasCompilerMessage)
{
//put in warning state
bHasCompilerMessage = true;
ErrorType = EMessageSeverity::Warning;
ErrorMsg = FString::Printf(*LOCTEXT("EnumToExecExpansionFailed", "Unable to find enum parameter with name '%s' to expand for @@").ToString(), *EnumParamName);
}
}
}
}
void UK2Node_CallFunction::GeneratePinTooltip(UEdGraphPin& Pin) const
{
ensure(Pin.GetOwningNode() == this);
UEdGraphSchema const* Schema = GetSchema();
check(Schema != NULL);
UEdGraphSchema_K2 const* const K2Schema = Cast<const UEdGraphSchema_K2>(Schema);
if (K2Schema == NULL)
{
Schema->ConstructBasicPinTooltip(Pin, FText::GetEmpty(), Pin.PinToolTip);
return;
}
// get the class function object associated with this node
UFunction* Function = GetTargetFunction();
if (Function == NULL)
{
Schema->ConstructBasicPinTooltip(Pin, FText::GetEmpty(), Pin.PinToolTip);
return;
}
GeneratePinTooltipFromFunction(Pin, Function);
}
bool UK2Node_CallFunction::CreatePinsForFunctionCall(const UFunction* Function)
{
const UEdGraphSchema_K2* K2Schema = GetDefault<UEdGraphSchema_K2>();
UClass* FunctionOwnerClass = Function->GetOuterUClass();
bIsInterfaceCall = FunctionOwnerClass->HasAnyClassFlags(CLASS_Interface);
bIsPureFunc = (Function->HasAnyFunctionFlags(FUNC_BlueprintPure) != false);
bIsConstFunc = (Function->HasAnyFunctionFlags(FUNC_Const) != false);
DetermineWantsEnumToExecExpansion(Function);
// Create input pins
CreateExecPinsForFunctionCall(Function);
UEdGraphPin* SelfPin = CreateSelfPin(Function);
// Renamed self pin to target
SelfPin->PinFriendlyName = LOCTEXT("Target", "Target");
const bool bIsProtectedFunc = Function->GetBoolMetaData(FBlueprintMetadata::MD_Protected);
const bool bIsStaticFunc = Function->HasAllFunctionFlags(FUNC_Static);
[UE-2345] BP - enforce const-correctness in native const class method overrides this change introduces enforcement of 'const-correctness' into implemented function graphs. summary: if you have a function declared in C++ like this: UFUNCTION(BlueprintImplementableEvent) int32 MyFunctionThatReturnsSomeValue() const; if you implement that (BPIE) function in a Blueprint that's parented to that native class, it will now be flagged as 'const'. this makes any properties of 'self' read-only within the context of that graph, which means the compiler will emit an error if you try to set a property or otherwise call a non-const, non-static function with 'self' as the target. if there happens to already be an implemented const function in a Blueprint that was in place prior to this change, the compiler will emit a warning instead of an error, in order to allow existing Blueprints that may currently be "violating" const within the context of a const BPIE function to still compile, while still alerting to issues that should probably be addressed. notes: 1) this also applies to BlueprintNativeEvent (BPNE) implementations, and also when implementing BPIE/BPNE interface methods that are also declared as const 2) a const BPIE/BPNE function with no return value and no output parameters will be implemented as a "normal" impure function, and not as an event as in the non-const case 3) a const BPIE/BPNE function with a return value and/or output parameters will currently be implemented as a pure function, regardless of whether or not BlueprintCallable is specified 4) this CL also retains some consolidation of static function validation code that i had previously done, mostly to allow static functions to more easily be whitelisted for const function graphs #codereview Nick.Whiting, Michael.Noland [CL 2368059 by Phillip Kavan in Main branch]
2014-11-21 17:47:17 -05:00
UEdGraph const* const Graph = GetGraph();
UBlueprint* BP = FBlueprintEditorUtils::FindBlueprintForGraph(Graph);
ensure(BP);
if (BP != nullptr)
{
const bool bIsFunctionCompatibleWithSelf = BP->SkeletonGeneratedClass->IsChildOf(FunctionOwnerClass);
if (bIsStaticFunc)
{
// For static methods, wire up the self to the CDO of the class if it's not us
if (!bIsFunctionCompatibleWithSelf)
{
UClass* AuthoritativeClass = FunctionOwnerClass->GetAuthoritativeClass();
SelfPin->DefaultObject = AuthoritativeClass->GetDefaultObject();
}
// Purity doesn't matter with a static function, we can always hide the self pin since we know how to call the method
SelfPin->bHidden = true;
}
else
{
if (Function->GetBoolMetaData(FBlueprintMetadata::MD_HideSelfPin))
{
SelfPin->bHidden = true;
SelfPin->bNotConnectable = true;
}
else
{
// Hide the self pin if the function is compatible with the blueprint class and pure (the !bIsConstFunc portion should be going away soon too hopefully)
SelfPin->bHidden = (bIsFunctionCompatibleWithSelf && bIsPureFunc && !bIsConstFunc);
}
}
}
// Build a list of the pins that should be hidden for this function (ones that are automagically filled in by the K2 compiler)
TSet<FString> PinsToHide;
TSet<FString> InternalPins;
FBlueprintEditorUtils::GetHiddenPinsForFunction(Graph, Function, PinsToHide, &InternalPins);
Copying //UE4/Dev-Blueprints to //UE4/Dev-Main (Source: //UE4/Dev-Blueprints @ 3152873) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3131279 on 2016/09/19 by Mike.Beach Fixing FText::Format warning for the Sub-Level Blueprints menu - Was using {LevelName} tag when there was no value for {LevelName} (defaulted to the first argument). #jira UE-36097 Change 3131318 on 2016/09/19 by Phillip.Kavan [UE-35690] Minor revisions to Blueprint SCS execution to improve efficiency and address an out-of-order registration issue. change summary: - modified AActor::PostSpawnInitialize() to defer native component registration if there is no native scene root component set and if the actor is a BP type (i.e. will invoke SCS). this means that native actor classes with only non-scene components will now defer registration/post-registration until after SCS execution has established a valid scene root. - modified AActor::ExecuteConstruction() to gather the set of native scene components that SCS nodes can attach to before invoking the SCS. this was previously being done redundantly within the SCS itself at each level of the BP class inheritance hierarchy. - modified AActor::ExecuteConstruction() to do a final registration pass over all components after the all SCS levels have been executed. this was also previously being done within the SCS at each level. this avoids some extra redundancy. - modified USCS_Node::ExecuteNodeOnActor() to call RegisterAllComponents() on the given actor instance after establishing a valid scene root component if it was previously deferred at spawn time. - modified USCS_Node::ExecuteNodeOnActor() to now register components after they're created. since SCS execution goes from parent to child, parent scene components will always be registered before their children. non-native, non-scene component registration will also be deferred until a scene root component has been established. - added AActor::HasDeferredComponentRegistration() - modified AActor::RegisterAllComponents() to reset the actor's deferred component registration flag when called - modified AActor::AddComponent() to check the 'bAutoRegister' flag before calling RegisterComponent() (for consistency) - moved the RegisterInstancedComponent() utility method into USimpleConstructionScript and modified it to ensure that parent attachments are registered before their children. - modified USimpleConstructionScript::ExecuteScriptOnActor() to include an additional input parameter for passing in the set of native scene components that can be attached to. - modified USimpleConstructionScript::ExecuteScriptOnActor() to remove redundant/unnecessary work as noted above. #jira UE-35690 Change 3131842 on 2016/09/20 by Maciej.Mroz #jira UE-34984 Broken (weak) object params on Blueprint function (cannot add plain reference) Change 3131847 on 2016/09/20 by Maciej.Mroz SPropertyEditorAsset doesn't display UClass with "_C" prefix anymore. Change 3131923 on 2016/09/20 by Maciej.Mroz #jira UE-33812 Crash while closing Create Blank New Blueprint window after attempting to name blueprint the same name as another blueprint Change 3132348 on 2016/09/20 by Phillip.Kavan Fix CIS build issue (SA). Change 3132383 on 2016/09/20 by Maciej.Mroz #jira UE-35830 Float Curve that is set as a local variable in an actor's function is garbage collected when in Standalone, causing a crash Array UStruct::ScriptObjectReferences is filled while compilation. GC doesn't serialize script bytecode in editor anymore. Change 3133072 on 2016/09/20 by Maciej.Mroz #jira UE-34388 Crash upon deleting Blueprints folder Change 3133216 on 2016/09/20 by Dan.Oconnor + BlueprintSetLibrary (add, remove, find, etc) + HasGetTypeHash compile time function for detecting types that have GetTypeHish (modeled after HasOperatorEquals) = SPinTypeSelector can now disable container types based on current primary type, required transition to SComboButtton/SListView from SComboBox = Hide blueprint set library via BaseEditor.ini #jira UE-2114 Change 3133227 on 2016/09/20 by Dan.Oconnor Test assets for TSet Change 3133804 on 2016/09/21 by Maciej.Mroz #jira UE-34069 ObjectLibrary stores UBlueprint instead of BPGC In UObjectLibrary, when bHasBlueprintClasses is true, BP references are automatically replaced by BPGC references. Change 3133817 on 2016/09/21 by Maciej.Mroz Fixed static Static Analysis warning Change 3134377 on 2016/09/21 by Dan.Oconnor ShowWorldContextObject is now inherited #jira UE-35674 Change 3134955 on 2016/09/21 by Mike.Beach Making it so AdvancedDisplay metadata is taken into consideration and used in MakeStruct nodes. Change 3134965 on 2016/09/21 by Dan.Oconnor Fix for crash in FCDODiffControl when CDOs have different numbers of properties. First branch in the while loop would incorrectly advance Iter past the end of the array. Comments courtesy of Jon.Nabozny #jira UE-36263 Change 3135523 on 2016/09/22 by Dan.Oconnor PR #2755: Master (Contributed by jeremyyeung) Notable change: searching for Vector in BP editor context menu now gives different default result, prior result was mediocre, though (vector - vector) #jira UE-35450 Change 3136508 on 2016/09/22 by Mike.Beach Removing a bIsVisible guard for level Blueprint menu actions - this was causing level BP options to disappear when you hid sub-levels. The guard doesn't seem to matter, as those actions will be removed with the world (when it is updated, or unloaded). #jira UE-34019 Change 3137587 on 2016/09/23 by Maciej.Mroz #jira ODIN-1017 [Nativization] Crash while loading Hub_env level Merged cl#3137578 from Odin branch Change 3137666 on 2016/09/23 by Ben.Cosh This adds the ability to map composite graph instances in the same way we map macro instances for blueprint debug data and improves the quality of the debug data providing correct information for nested macro/composite instances at any script location in instrumented blueprint compilations. #Jira UE-33396 - Nested macro nodes don't map correctly if you place multiple instances in the same graph #Proj KismetCompiler, BlueprintGraph, UnrealEd - This is the first part of a two part change, the subsequent change will make use of the debug output to resolve complex trees of tunnel instances in the blueprint profiler. Change 3137800 on 2016/09/23 by Phillip.Kavan [UE-34896] Properties are now generated for client-only Blueprint components in an uncooked server-only context. change summary: - bumped BlueprintObjectsVersion - added a new 'ComponentClass' property to USCS_Node - added a new 'ComponentClass' field to the FComponentOverrideRecord struct (UInheritableComponentHandler) - added a USCS_Node::Serialize() override to fix up 'ComponentClass' on load (so that it's set prior to compile-on-load) - modified USimpleConstructionScript::CreateNodeImpl() to set the ComponentClass property in a new SCS node - modified USimpleConstructionScript::ValidateNodeTemplates() to consider the node to be valid if ComponentClass is set and is known to be filtered (i.e. the node will not be removed in this case) - modified USimpleConstructionScript::ValidateNodeTemplates() to emit a warning message in an uncooked client-only or server-only context if the ComponentClass could not be set in an existing package (i.e. if a resave is needed) - modified UInheritableComponentHandler::PostLoad() to fix up 'ComponentClass' on load - modified UInheritableComponentHandler::CreateOverridenComponentTemplate() to set the ComponentClass field in a new override record - modified UInheritableComponentHandler::IsRecordValid() to consider the record to be valid if ComponentClass is set (when ComponentTemplate is NULL) - modified UInheritableComponentHandler::IsRecordNecessary() to consider the record to be necessary if ComponentClass is set and is known to be filtered - modified FKismetCompilerContext::CreateClassVariablesFromBlueprint() to use 'ComponentClass' rather than 'ComponentTemplate' to infer the property subtype #jira UE-34896 Change 3137851 on 2016/09/23 by Phillip.Kavan [UE-36079] Component overrides in a child blueprint will no longer trigger a warning message when the original component is removed from its parent. change summary: - modified UInheritableComponentHandler::IsRecordValid() to no longer consider a NULL OriginalTemplate to be invalid (so that the warning message is suppressed) - modified UInheritableComponentHandler::IsRecordNecessary() to consider a NULL OriginalTemplate to be unnecessary (so that the record is still removed in this case) #jira UE-36079 Change 3137948 on 2016/09/23 by Ben.Cosh CIS warning fix on mac for out of order initialisation. Change 3139351 on 2016/09/25 by Ben.Cosh Updates the blueprint profiler to make use of the recent changes to macro/composite tunnel mapping and enhanced debug data. #Jira UE-33396 - Nested macro nodes don't map correctly if you place multiple instances in the same graph #Proj BlueprintProfiler, Engine - This is the second part of a two part change enabling multiple instances of nested macro/composite graphs in the blueprint profiler. Change 3139376 on 2016/09/25 by Ben.Cosh CIS static analysis fix for CL 3137666 Change 3139377 on 2016/09/25 by Ben.Cosh Adding script code location checking for pure nodes that was missed in CL 3139351 #Jira UE-33396 - Nested macro nodes don't map correctly if you place multiple instances in the same graph #Proj BlueprintProfiler - Fixes a missed issue with pure nodes inside macros/tunnels Change 3139624 on 2016/09/26 by Maciej.Mroz Fixed const local variables in Nativized code Merged cl#3139622 from Odin branch. Change 3139641 on 2016/09/26 by Maciej.Mroz #jira UE-31099 Renaming an input mapping does not generate a warning when compile a blueprint using that input Since we cannot distinguish which nodes are isolated by users (and shouldn't be validated) and which nodes are isolated during expansion step (and should be validated), the isolated nodes are pruned both before and after expantion step (and validation). Change 3139961 on 2016/09/26 by Ben.Cosh CIS static analysis fix for CL 3137666 - missed one of the warnings in a previous attempt. Change 3140143 on 2016/09/26 by Dan.Oconnor Fix for component property clearing on load, submitted on behalf of Mike.Beach #jira UE-36395 Change 3140694 on 2016/09/26 by Dan.Oconnor Fix for GLEO when duplicating levels that have knots that reference delegates (specifically custom events) #jira UE-34954 Change 3140772 on 2016/09/26 by Dan.Oconnor Further hardening SGraphPin::GraphPinObj access #jira UE-36280 Change 3140812 on 2016/09/26 by Dan.Oconnor Corrected overzealous warning. Codepath is expected when functions are deleted but breakpoints aren't updated #jira UE-32736 Change 3140869 on 2016/09/26 by Dan.Oconnor Update check to handle nested DSOs #jira UE-34568 Change 3141125 on 2016/09/27 by Maciej.Mroz #jira UE-36326 Attempting to generate abstract class from blueprint crashes editor on compile While reinstancing the CLASS_Abstract is cleared (just like the CLASS_Deprecated flag) Change 3142715 on 2016/09/27 by Dan.Oconnor Fix for crash when pasting nodes that have connections to nodes that aren't in the clipboard from one graph into another #jira OR-29584 Change 3143469 on 2016/09/28 by Ryan.Rauschkolb BP Profiler: Fixed Assert when profiling parent/child Blueprint #jira UE-35487 Change 3145215 on 2016/09/29 by Maciej.Mroz #jira UE-36494 [CrashReport] UE4Editor_KismetCompiler!FKismetCompilerContext::CreatePinEventNodeForTimelineFunction() [kismetcompiler.cpp:2062] Change 3145580 on 2016/09/29 by Dan.Oconnor Collapse secondary image instead of hiding it, allowing x button to be closer to primary image when secondary type image isn't present #jira UE-36577 Change 3146470 on 2016/09/30 by Maciej.Mroz #jira UE-36655 Failed ensure when TIleline is pasted Restored cl#3085572 - it was lost while merging. Change 3147046 on 2016/09/30 by Maciej.Mroz #jira UE-34961 Assert when calling BP function with weak object parameter. BP doesn;t support weak obj ptr as parameters - Validation added. Function, created from colappsed nodes, cannot have a parameter of weakptr type. Change 3148022 on 2016/10/01 by Phillip.Kavan [UE-21109] Fix component instance data loss after renaming SCS component nodes at the Blueprint class level. change summary: - deprecated the public USCS_Node::VariableName member and replaced it with an internal-only member accessible via Get/Set method (i need to be in control of the set logic) - changed all occurrences of direct access to USCS_Node::VariableName to use a GetVariableName() call (since it's now internal) - simplified USCS_Node::GetVariableName() as what it used to do was legacy and thus is no longer necessary (it's been handled by USimpleConstructionScript::PostLoad for awhile now) - added USCS_Node::SetVariableName(); this now renames the component template (if valid) and all instances of it prior to changing the internal variable name. this ensures that archetype lookups will continue to function after a rename. - added USCS_Node::RenameComponentTemplate() to handle SCS node component template rename logic on a variable name change - switched the AActor::CheckComponentInstanceName() API to be publically-accessible; need to call this when renaming instanced components to match a new variable name in order to ensure that we rename any instance-only components out of the way first (this is the same logic that we run when constructing component instances on map load/RRCS, so it's consistent) - modified UInheritableComponentHandler::PostLoad() to fix up the component template within each record to match the original template object name. this ensures that ICH-specific archetype lookups will continue to function after a rename. it also ensures that any mismatched template names in existing assets will now be fixed up on load. - moved UActorComponent::ComponentTemplateSuffixName into the USimpleConstructionScript class (since the association is tied to templates created by that class specifically). note: this revises a change from a recent PR submission. - modified UpdateAttachedIsEditorOnly() to check the RF_ArchetypeObject flag rather than the ComponentTemplateSuffixName (part of the revision to the recent PR submission noted above) #jira UE-21109 Change 3148023 on 2016/10/01 by Phillip.Kavan [UE-35562] Fix inherited Blueprinted component template defaults data loss in child Blueprint classes after recompiling the Blueprinted component class. change summary: - added a local FArchetypeReinstanceHelper struct + GetArchetypeObjects()/FindUniqueArchetypeObjectName() utility method implementations to KismetReinstanceUtilities.cpp - modified FBlueprintCompileReinstancer::ReplaceInstancesOfClass_Inner() to ensure that the full inherited component template (archetype) ancestry is renamed along with the base template when we rename the base template object away from its original name in order to make way for the new (reinstanced) template. the names must match the base template along the entire inheritance hierarchy in order for forward/reverse inherited component archetype lookups to succeed. notes: - BP (non-native) component templates (e.g. SCS/AddComponent nodes) that belong to the class being reinstanced (i.e. whose templates are not inherited from a parent BP) always inherit directly from the component CDO, and thus do not require this code path (that is, archetype lookups are not dependent on matching the CDO by name). similarly, native components (defined in C++) are included as part of the CDO defaults data, and thus also do not require this code path. #jira UE-35562 Change 3148030 on 2016/10/01 by Phillip.Kavan UT fixes for CIS warnings related to SCS node API changes. Change 3148256 on 2016/10/02 by Ben.Cosh This change adds the ability to filter debug/wire trace instrumenation and tracks expansion nodes for future use. #Jira UE-34866 - No profiler timings listed for nodes executed after an interface message #Proj KismetCompiler, BlueprintGraph, UnrealEd Change 3148261 on 2016/10/02 by Ben.Cosh CIS fix, some code from another changelist leaked into CL 3148256 Change 3148480 on 2016/10/03 by Ben.Cosh This change attempts to address some profiler issues with class function context switching in the blueprint profiler. #Jira UE-35819 - Crash occurs when instrumenting an event from a member actor #Proj BlueprintProfiler, BlueprintGraph Change 3148545 on 2016/10/03 by Phillip.Kavan Skip unnecessary component validation work to fix invalid warnings when duplicating a BP class for reinstancing. Change 3149001 on 2016/10/03 by Ben.Cosh This fixes an issue found with the instrumented blueprint compilations in which a certain compilation path would not provide the extended composite tunnel node heararchy in debug data and removes an unneceassary check that was causing problems. #Jira UE-36704 - Crash on PIE while profiling TestBP_ProfilerEvents in QAGame #Proj KismetCompiler, BlueprintProfiler Change 3149031 on 2016/10/03 by Maciej.Mroz #jira UE-36687, UE-36691 Tunnel nodes without exec pin are not pruned before expansion. Change 3149150 on 2016/10/03 by Maciej.Mroz #jira UE-36685 UGameplayTagsK2Node_LiteralGameplayTag is pure. Change 3149290 on 2016/10/03 by Maciej.Mroz #jira UE-36750 GetBlueprintContext node is Pure. Change 3149595 on 2016/10/03 by Mike.Beach Fixing up some Orion content errors/warnings that should have been issues a while ago (error reporting was broken for a time, now fixed). #jira UE-36758, UE-36759 Change 3149667 on 2016/10/03 by Mike.Beach Fixing up some Ocean content errors as fallout from a change in Dev-Blueprints - the errors properly identified a node that was using a culled input that was uninitialized. #jira UE-36770 Change 3149777 on 2016/10/03 by Mike.Beach Fixing up an Orion content warning - disconnecting a cast path in Hero_Automation, now that the node is producing a warning (the cast is impossible, and therefore the path is superfluous). #jira UE-36759 Change 3149988 on 2016/10/04 by Maciej.Mroz #jira UE-36750, UE-36685 Fixed IsNodePure functions. Change 3150146 on 2016/10/04 by Maciej.Mroz #jira UE-36759 First pruning pass in done after ExpandTunnelsAndMacros is called. Isolated tunnels are pruned just like regular nodes. Change 3150743 on 2016/10/04 by Mike.Beach Mirroring CL 3150661 from Dev-VREditor Fix for crash on editor close after VR Foliage Editing. #jira UE-36754 Change 3151104 on 2016/10/04 by Maciej.Mroz Added comment. Change 3151979 on 2016/10/05 by Mike.Beach Adding the keyword "custom" to K2Node_CustomEvent, so that it is prioritized when searching the Blueprint menu. #jira UE-35512 Change 3152286 on 2016/10/05 by Maciej.Mroz Make sure, that an isolated node, that should be pure (but is not) won't be pruned. [CL 3152997 by Mike Beach in Main branch]
2016-10-05 23:32:35 -04:00
const bool bShowWorldContextPin = ((PinsToHide.Num() > 0) && BP && BP->ParentClass && BP->ParentClass->HasMetaDataHierarchical(FBlueprintMetadata::MD_ShowWorldContextPin));
// Create the inputs and outputs
bool bAllPinsGood = true;
for (TFieldIterator<UProperty> PropIt(Function); PropIt && (PropIt->PropertyFlags & CPF_Parm); ++PropIt)
{
UProperty* Param = *PropIt;
const bool bIsFunctionInput = !Param->HasAnyPropertyFlags(CPF_ReturnParm) && (!Param->HasAnyPropertyFlags(CPF_OutParm) || Param->HasAnyPropertyFlags(CPF_ReferenceParm));
const bool bIsRefParam = Param->HasAnyPropertyFlags(CPF_ReferenceParm) && bIsFunctionInput;
const EEdGraphPinDirection Direction = bIsFunctionInput ? EGPD_Input : EGPD_Output;
UEdGraphPin* Pin = CreatePin(Direction, TEXT(""), TEXT(""), NULL, false, bIsRefParam, Param->GetName());
const bool bPinGood = (Pin != NULL) && K2Schema->ConvertPropertyToPinType(Param, /*out*/ Pin->PinType);
if (bPinGood)
{
// Check for a display name override
const FString PinDisplayName = Param->GetMetaData(FBlueprintMetadata::MD_DisplayName);
if (!PinDisplayName.IsEmpty())
{
Pin->PinFriendlyName = FText::FromString(PinDisplayName);
}
//Flag pin as read only for const reference property
Pin->bDefaultValueIsIgnored = Param->HasAllPropertyFlags(CPF_ConstParm | CPF_ReferenceParm) && (!Function->HasMetaData(FBlueprintMetadata::MD_AutoCreateRefTerm) || Pin->PinType.bIsArray);
const bool bAdvancedPin = Param->HasAllPropertyFlags(CPF_AdvancedDisplay);
Pin->bAdvancedView = bAdvancedPin;
if(bAdvancedPin && (ENodeAdvancedPins::NoPins == AdvancedPinDisplay))
{
AdvancedPinDisplay = ENodeAdvancedPins::Hidden;
}
K2Schema->SetPinDefaultValue(Pin, Function, Param);
if (PinsToHide.Contains(Pin->PinName))
{
FString const DefaultToSelfMetaValue = Function->GetMetaData(FBlueprintMetadata::MD_DefaultToSelf);
FString const WorldContextMetaValue = Function->GetMetaData(FBlueprintMetadata::MD_WorldContext);
bool bIsSelfPin = ((Pin->PinName == DefaultToSelfMetaValue) || (Pin->PinName == WorldContextMetaValue));
if (!bShowWorldContextPin || !bIsSelfPin)
{
Pin->bHidden = true;
Pin->bNotConnectable = InternalPins.Contains(Pin->PinName);
}
}
PostParameterPinCreated(Pin);
}
bAllPinsGood = bAllPinsGood && bPinGood;
}
// If we have an 'enum to exec' parameter, set its default value to something valid so we don't get warnings
if(bWantsEnumToExecExpansion)
{
FString EnumParamName = Function->GetMetaData(FBlueprintMetadata::MD_ExpandEnumAsExecs);
UEdGraphPin* EnumParamPin = FindPin(EnumParamName);
if (UEnum* PinEnum = (EnumParamPin ? Cast<UEnum>(EnumParamPin->PinType.PinSubCategoryObject.Get()) : NULL))
{
EnumParamPin->DefaultValue = PinEnum->GetEnumName(0);
}
}
return bAllPinsGood;
}
void UK2Node_CallFunction::PostReconstructNode()
{
Super::PostReconstructNode();
InvalidatePinTooltips();
Copying //UE4/Dev-Blueprints to //UE4/Dev-Main (Source: //UE4/Dev-Blueprints @ 3130440) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3050029 on 2016/07/14 by Ben.Cosh This modifies the blueprint instrumented compilation chain so only the the blueprint you compile and all dependencies are instrumented and the profiler is notified rather than waiting for event data. #Jira UE-32063 - The blueprint profiler doesn't display any stats in the execution graph if no instance is placed in the current level. #Proj BlueprintProfiler, Kismet, UnrelEd - This also improves the execution graph UI, notifying the user that no instances are available to display data from. Change 3101549 on 2016/08/25 by Maciej.Mroz BP nativization: fixed FEmitDefaultValueHelper::HandleInstancedSubobject https://udn.unrealengine.com/questions/308800/nativized-blueprints-newobject-call-uses-incorrect.html Change 3101811 on 2016/08/25 by Ryan.Rauschkolb BP Profiler: Fixed stack overflow crash when compiling blueprints with nested macros #jira UE-34503 Change 3102478 on 2016/08/26 by Maciej.Mroz #jira UE-35135 - Odin compiles with errors when using Blueprint nativization BP Nativization: - improved native cast - improved bool handling Change 3102944 on 2016/08/26 by Phillip.Kavan [UE-33017] Don't include transient properties when generating property lists at cook time for optimized runtime Blueprint component instancing. Also ensure that deprecated properties are serialized during load/instancing at runtime. change summary: - modified FBlueprintComponentInstanceDataLoader to append 'PPF_UseDeprecatedProperties' to the FArchive port flags. - modified FBlueprintComponentInstanceDataWriter to append both 'PPF_Duplicate' and 'PPF_UseDeprecatedProperties" to the FArchive port flags (to ensure consistency w/ the instancing side). - switched the RecursivePropertyGatherLambda helper to a static class method instead - modified the RecursivePropertyGather utility method to exclude transient properties. notes: - the primary cause of UE-33017 was that UBodySetup can "share" the ShapeBodySetup object across all instances, but the shared object is not owned by the CDO, it's owned by the archetype. this caused the archetype to differ from the CDO, which caused us to emit the transient property at cook time. thsi threw off the serialization offset between read/write FArchive passes at runtime. since transient properties are not serialized as part of the template, there's no need to include them in the generated delta property list, so as a fix, i'm just excluding them altogether. #jira UE-33017 Change 3103692 on 2016/08/27 by Mike.Beach Merging //UE4/Dev-Main to Dev-Blueprints (//UE4/Dev-Blueprints) Change 3104266 on 2016/08/29 by Ben.Marsh Add test script to native assets for QAGame. Change 3104399 on 2016/08/29 by Ben.Marsh Fix missing property warning in build script. Change 3104419 on 2016/08/29 by Maciej.Mroz #jira UE-35135 Odin compiles with errors when using Blueprint nativization - Reduced number of DynamicCLass instance dependencies - Fixed UDS default values dependencies - Improved WeakObjPtr handling - Improved const parameters handling Change 3104474 on 2016/08/29 by Ryan.Rauschkolb BP Profiler: Fixed issue where collapsed nodes that share a name with a parent class collapsed node can cause a stack overflow #jira UE-35245 Change 3105605 on 2016/08/30 by Maciej.Mroz Temp change: CIS Test Change 3105738 on 2016/08/30 by Maciej.Mroz UAT, CIS: testing NoRecompileUAT switch. Change 3105800 on 2016/08/30 by Maciej.Mroz UAT, CIS, Nativization: - reverted NoRecompileUAT switch. - testing nativization with -nocompileeditor flag and without -compile flag Change 3106162 on 2016/08/30 by Maciej.Mroz UAT, CIS, Nativization: -NoSubmit flag added. Otherwise UAT files are singed (when they are used by other process). It causes an error. - Ugly hack removed. Change 3106261 on 2016/08/30 by Phillip.Kavan [UE-34705] Gracefully handle tunnel node entry exec pins that aren't internally linked during BP profiler tunnel boundary mapping. change summary: - added FBlueprintFunctionContext::GetTunnelBoundaryNode() (uncheckedl variant). - moved FBlueprintFunctionContext::GetTunnelBoundaryNodeChecked() impl into GetTunnelBoundaryNode(). - re-implemented FBlueprintFunctionContext::GetTunnelBoundaryNodeChecked() to call GetTunnelBoundaryNode() and then assert on the result. - changed the FBlueprintTunnelInstanceContext::GetTunnelBoundaryNodeChecked() impl to override GetTunnelBoundaryNode() instead. - modified FBlueprintFunctionContext::MapTunnelBoundary() to only process the entry case if the TunnelBoundaryNode result is valid. this way we simply skip tunnel boundary mapping if an entry path was not previously mapped (rather than assert). #jira UE-34705 Change 3106478 on 2016/08/30 by Ben.Marsh Include *.uasset files on builders running the NativizeAssets job. Change 3107514 on 2016/08/31 by Ben.Cosh This set of changes is the result of a full pass on the blueprint profiler heat interface to try and bring them into a usable state. #Jira UE-33465 - Stat heat colors and heat wire traces need a quick pass to ensure they are working as expected. #Jira UE-33309 - FlipFlop node breaks hottest path wire heatmap #Jira UE-33650 - Blueprint heatwire effects do not work when touching user macros #Jira UE-33706 - BP Profiler - Macro instances not colored or reporting time #Jira UE-33701 - BP Profiler: Hottest path wire heatmap doesn't appear to be working #Jira UE-33083 - BP Profiler - (Exclusive) pure node heatmap missing from some nodes #Jira UE-34855 - BP Profiler - Update heatmap coloration when switching between Default/Custom thresholds #Jira UE-32218 - BP Profiler: Clear "inclusive" time entries from "avg. time" row. #Proj GraphEditor, Kismet, BlueprintProfiler, Change 3108268 on 2016/08/31 by Ben.Cosh Minor change from profiler review sessions to move macro timing to average stats. #Jira UE-33706 - BP Profiler - Macro instances not colored or reporting time #Proj Kismet Change 3108991 on 2016/08/31 by Maciej.Mroz UAT, CIS, Nativization: Test separate cooking and compiling Change 3110097 on 2016/09/01 by Ben.Cosh Minor update to the blueprint profiler mapping functionality to ignore disabled nodes and a fix for the max timing white glow bug. #Jira UE-35377 - Blueprint macros highlighting white in profiler #Jira UE-34973 - Remove Ghost Nodes #Proj Kismet, BlueprintProfiler Change 3114553 on 2016/09/06 by Dan.Oconnor Support for TMap/TSet in blueprint variable editor panel #jira UE-2114 Change 3116367 on 2016/09/07 by Dan.Oconnor Fixed Function/Macro inputs/outputs list (had become cramped with my last change) + misc. fixes for new container types, fixes uninitialized members in FTerminalType #jira UE-2114, UE-35676 Change 3116663 on 2016/09/07 by Dan.Oconnor Fix for array functions showing up with TSet and TMap pins #jira UE-2114 Change 3118259 on 2016/09/08 by Ryan.Rauschkolb BP Profiler: Fixed Assert when profiling parent/child Blueprint #jira UE-35487 Change 3119023 on 2016/09/09 by Maciej.Mroz Manually integrated (from Odin branch) recent changes related to BP and nativization: 3115713 UE-35448 3117590 UE-35697 3117742 ODIN-577 Change 3119058 on 2016/09/09 by Maciej.Mroz #jira UE-32841 GitHub 2574 : fix typos #2574 https://github.com/EpicGames/UnrealEngine/pull/2574 Renamed function CustomNativeInitilize to InitializeNativeClassData and made it private. Change 3119302 on 2016/09/09 by Maciej.Mroz #jira UE-35584 Orion - nativized server crashes Global variable for WITH_PERFCOUNTERS definition in UEBuildConfiguration. Previously the same header could be compiled with the WITH_PERFCOUNTERS flag enadles and disabled (during a single compilation) . Change 3119502 on 2016/09/09 by Mike.Beach When building a deterministic UUID for latent nodes, we now use expanded nodes' origin (node) to avoid collisions (latent node in macros, etc.) #jira UE-35609 Change 3119517 on 2016/09/09 by Ryan.Rauschkolb Added blueprint editor settings option to display unique names for blueprint nodes Change 3119602 on 2016/09/09 by Maciej.Mroz #jira UEBP-214 Implement Solution for Nativized AnimBlueprints Size Reduction Added stats about nativized AnimBP Mechanism to exlcude reducible AnimBP Editor config option:[BlueprintNativizationSettings] bNativizeAnimBPOnlyWhenNonReducibleFuncitons=false Change 3119615 on 2016/09/09 by Maciej.Mroz Missing change (should be part of cl#3119602) Change 3119619 on 2016/09/09 by Maciej.Mroz #jira UEBP-214 Implement Solution for Nativized AnimBlueprints Size Reduction Excluding all AnimBP from Orion nativization. Change 3120752 on 2016/09/12 by Maciej.Mroz #jira UE-35051 [CrashReport] UE4Editor_BlueprintNativeCodeGen!FBlueprintNativeCodeGenModule::GenerateSingleAsset() Removed unnecessary ensure Change 3121354 on 2016/09/12 by Dan.Oconnor Fixed variable type width, required for TMap's extra combobox. Change 3121626 on 2016/09/12 by Phillip.Kavan [UE-35456] Fix crash on right-click in components tree view after copying one or more BSP actors to clipboard. Note: This applies to the components tree view in both the Blueprint editor and the Level editor's Actor details panel. change summary: - modified FComponentObjectTextFactory::CanCreateClass() to exclude Actor/Component subtypes that are not Blueprint-compatible (e.g. ABrush). #jira UE-35456 Change 3122712 on 2016/09/13 by Maciej.Mroz #jira UE-35714 [CrashReport] UE4Editor_BlueprintGraph!UK2Node_CallArrayFunction::GetArrayPins() [k2node_callarrayfunction.cpp:141] Replaced "check" with "ensure". Change 3124398 on 2016/09/14 by Maciej.Mroz More strict BP validation in UBlueprintThumbnailRenderer::Draw #jira UE-35705 Change 3124405 on 2016/09/14 by Maciej.Mroz #jira UE-35110 Packaged project crashes when playing sound from blueprint library with enum input after nativizing blueprints Function Libraries are properly added to dependencies list while nativization. Change 3124667 on 2016/09/14 by Maciej.Mroz #jira UE-35262 Incompatible pins give generate warning, when error is necessary. Fixed incompatible pins validation. Change 3125245 on 2016/09/14 by Phillip.Kavan [UE-33674] Fix missing stats for the ForEachElementInEnum node type in the Blueprint profiler tree view. change summary: - modified FScriptEventPlayback::Process() to not allow intermediate node exit pins to pollute the current trace path - modified FBlueprintFunctionContext::DetermineGraphNodeCharacteristics() to handle the UK2Node_ForEachElementInEnum type as a special case and account for extra loop iterations in the sample frequency computed at mapping time - exported UK2Node_ForEachElementInEnum::InsideLoopPinName and EnumOutputPinName string constants #jira UE-33674 Change 3126211 on 2016/09/15 by Maciej.Mroz #jira UE-36016 Struct pin can be connected to Object pin without error Change 3126393 on 2016/09/15 by Maciej.Mroz #jira UE-35936 Replace "check" by "ensure". Change 3126623 on 2016/09/15 by Maciej.Mroz #jira UE-35816 User defined struct array resets to defaults in blueprint after updating the struct STRUCT_SerializeFromMismatchedTag is not necessary to serialize structure when guids match. Anyway STRUCT_SerializeFromMismatchedTag sholud precede SerializeFromMismatchedTag(). Change 3127288 on 2016/09/15 by Mike.Beach Making the script VM overhead and native time stats threadsafe (to account for threaded anim Blueprints in Orion). Change 3127375 on 2016/09/15 by Mike.Beach Making sure Blueprint classes inherit the super's ClassConfigName properly (inherit the ID instead of the filename). Change 3127381 on 2016/09/15 by Mike.Beach Removing an overzealous ensure that certain users were hitting when a loading array property wasn't fully filled out yet (confirmed that it was populated with the proper objects by the end of the load). Change 3127476 on 2016/09/15 by Dan.Oconnor Build fix #jira UE-36073 Change 3128335 on 2016/09/16 by Maciej.Mroz #jira UE-36075 Odin: BP_DefaultHand and BigBotCharacter blueprints fail to compile Fixed broken BP assets. Change 3128589 on 2016/09/16 by Mike.Beach Fixing a static analysis CIS warning (duplicated condition). Change 3128630 on 2016/09/16 by Dan.Oconnor Re-fix with engine version set Change 3129338 on 2016/09/16 by Dan.Oconnor =FScriptSet/FScriptSetHelper fleshed out (Add, Remove, and Find implemented) +SetParam implemented for marking up sets for primitive Set functions (to be checked in once completed as BlueprintSetLibrary) #jira UE-2114 [CL 3131171 by Mike Beach in Main branch]
2016-09-19 16:14:06 -04:00
// conform pins that are marked as SetParam:
ConformContainerPins();
FCustomStructureParamHelper::UpdateCustomStructurePins(GetTargetFunction(), this);
const UEdGraphSchema_K2* K2Schema = GetDefault<UEdGraphSchema_K2>();
// Fixup self node, may have been overridden from old self node
UFunction* Function = GetTargetFunction();
const bool bIsStaticFunc = Function ? Function->HasAllFunctionFlags(FUNC_Static) : false;
UEdGraphPin* SelfPin = FindPin(K2Schema->PN_Self);
if (bIsStaticFunc && SelfPin)
{
// Wire up the self to the CDO of the class if it's not us
if (UBlueprint* BP = GetBlueprint())
{
UClass* FunctionOwnerClass = Function->GetOuterUClass();
if (!BP->SkeletonGeneratedClass->IsChildOf(FunctionOwnerClass))
{
SelfPin->DefaultObject = FunctionOwnerClass->GetDefaultObject();
}
else
{
// In case a non-NULL reference was previously serialized on load, ensure that it's set to NULL here to match what a new node's self pin would be initialized as (see CreatePinsForFunctionCall).
SelfPin->DefaultObject = nullptr;
}
}
}
if (UEdGraphPin* TypePickerPin = FDynamicOutputHelper::GetTypePickerPin(this))
{
FDynamicOutputHelper(TypePickerPin).ConformOutputType();
}
if (IsNodePure())
{
// Remove any pre-existing breakpoint on this node since pure nodes cannot have breakpoints
if (UBreakpoint* ExistingBreakpoint = FKismetDebugUtilities::FindBreakpointForNode(GetBlueprint(), this))
{
// Remove the breakpoint
FKismetDebugUtilities::StartDeletingBreakpoint(ExistingBreakpoint, GetBlueprint());
}
}
}
void UK2Node_CallFunction::NotifyPinConnectionListChanged(UEdGraphPin* Pin)
{
Super::NotifyPinConnectionListChanged(Pin);
Copying //UE4/Dev-Blueprints to //UE4/Dev-Main (Source: //UE4/Dev-Blueprints @ 3130440) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3050029 on 2016/07/14 by Ben.Cosh This modifies the blueprint instrumented compilation chain so only the the blueprint you compile and all dependencies are instrumented and the profiler is notified rather than waiting for event data. #Jira UE-32063 - The blueprint profiler doesn't display any stats in the execution graph if no instance is placed in the current level. #Proj BlueprintProfiler, Kismet, UnrelEd - This also improves the execution graph UI, notifying the user that no instances are available to display data from. Change 3101549 on 2016/08/25 by Maciej.Mroz BP nativization: fixed FEmitDefaultValueHelper::HandleInstancedSubobject https://udn.unrealengine.com/questions/308800/nativized-blueprints-newobject-call-uses-incorrect.html Change 3101811 on 2016/08/25 by Ryan.Rauschkolb BP Profiler: Fixed stack overflow crash when compiling blueprints with nested macros #jira UE-34503 Change 3102478 on 2016/08/26 by Maciej.Mroz #jira UE-35135 - Odin compiles with errors when using Blueprint nativization BP Nativization: - improved native cast - improved bool handling Change 3102944 on 2016/08/26 by Phillip.Kavan [UE-33017] Don't include transient properties when generating property lists at cook time for optimized runtime Blueprint component instancing. Also ensure that deprecated properties are serialized during load/instancing at runtime. change summary: - modified FBlueprintComponentInstanceDataLoader to append 'PPF_UseDeprecatedProperties' to the FArchive port flags. - modified FBlueprintComponentInstanceDataWriter to append both 'PPF_Duplicate' and 'PPF_UseDeprecatedProperties" to the FArchive port flags (to ensure consistency w/ the instancing side). - switched the RecursivePropertyGatherLambda helper to a static class method instead - modified the RecursivePropertyGather utility method to exclude transient properties. notes: - the primary cause of UE-33017 was that UBodySetup can "share" the ShapeBodySetup object across all instances, but the shared object is not owned by the CDO, it's owned by the archetype. this caused the archetype to differ from the CDO, which caused us to emit the transient property at cook time. thsi threw off the serialization offset between read/write FArchive passes at runtime. since transient properties are not serialized as part of the template, there's no need to include them in the generated delta property list, so as a fix, i'm just excluding them altogether. #jira UE-33017 Change 3103692 on 2016/08/27 by Mike.Beach Merging //UE4/Dev-Main to Dev-Blueprints (//UE4/Dev-Blueprints) Change 3104266 on 2016/08/29 by Ben.Marsh Add test script to native assets for QAGame. Change 3104399 on 2016/08/29 by Ben.Marsh Fix missing property warning in build script. Change 3104419 on 2016/08/29 by Maciej.Mroz #jira UE-35135 Odin compiles with errors when using Blueprint nativization - Reduced number of DynamicCLass instance dependencies - Fixed UDS default values dependencies - Improved WeakObjPtr handling - Improved const parameters handling Change 3104474 on 2016/08/29 by Ryan.Rauschkolb BP Profiler: Fixed issue where collapsed nodes that share a name with a parent class collapsed node can cause a stack overflow #jira UE-35245 Change 3105605 on 2016/08/30 by Maciej.Mroz Temp change: CIS Test Change 3105738 on 2016/08/30 by Maciej.Mroz UAT, CIS: testing NoRecompileUAT switch. Change 3105800 on 2016/08/30 by Maciej.Mroz UAT, CIS, Nativization: - reverted NoRecompileUAT switch. - testing nativization with -nocompileeditor flag and without -compile flag Change 3106162 on 2016/08/30 by Maciej.Mroz UAT, CIS, Nativization: -NoSubmit flag added. Otherwise UAT files are singed (when they are used by other process). It causes an error. - Ugly hack removed. Change 3106261 on 2016/08/30 by Phillip.Kavan [UE-34705] Gracefully handle tunnel node entry exec pins that aren't internally linked during BP profiler tunnel boundary mapping. change summary: - added FBlueprintFunctionContext::GetTunnelBoundaryNode() (uncheckedl variant). - moved FBlueprintFunctionContext::GetTunnelBoundaryNodeChecked() impl into GetTunnelBoundaryNode(). - re-implemented FBlueprintFunctionContext::GetTunnelBoundaryNodeChecked() to call GetTunnelBoundaryNode() and then assert on the result. - changed the FBlueprintTunnelInstanceContext::GetTunnelBoundaryNodeChecked() impl to override GetTunnelBoundaryNode() instead. - modified FBlueprintFunctionContext::MapTunnelBoundary() to only process the entry case if the TunnelBoundaryNode result is valid. this way we simply skip tunnel boundary mapping if an entry path was not previously mapped (rather than assert). #jira UE-34705 Change 3106478 on 2016/08/30 by Ben.Marsh Include *.uasset files on builders running the NativizeAssets job. Change 3107514 on 2016/08/31 by Ben.Cosh This set of changes is the result of a full pass on the blueprint profiler heat interface to try and bring them into a usable state. #Jira UE-33465 - Stat heat colors and heat wire traces need a quick pass to ensure they are working as expected. #Jira UE-33309 - FlipFlop node breaks hottest path wire heatmap #Jira UE-33650 - Blueprint heatwire effects do not work when touching user macros #Jira UE-33706 - BP Profiler - Macro instances not colored or reporting time #Jira UE-33701 - BP Profiler: Hottest path wire heatmap doesn't appear to be working #Jira UE-33083 - BP Profiler - (Exclusive) pure node heatmap missing from some nodes #Jira UE-34855 - BP Profiler - Update heatmap coloration when switching between Default/Custom thresholds #Jira UE-32218 - BP Profiler: Clear "inclusive" time entries from "avg. time" row. #Proj GraphEditor, Kismet, BlueprintProfiler, Change 3108268 on 2016/08/31 by Ben.Cosh Minor change from profiler review sessions to move macro timing to average stats. #Jira UE-33706 - BP Profiler - Macro instances not colored or reporting time #Proj Kismet Change 3108991 on 2016/08/31 by Maciej.Mroz UAT, CIS, Nativization: Test separate cooking and compiling Change 3110097 on 2016/09/01 by Ben.Cosh Minor update to the blueprint profiler mapping functionality to ignore disabled nodes and a fix for the max timing white glow bug. #Jira UE-35377 - Blueprint macros highlighting white in profiler #Jira UE-34973 - Remove Ghost Nodes #Proj Kismet, BlueprintProfiler Change 3114553 on 2016/09/06 by Dan.Oconnor Support for TMap/TSet in blueprint variable editor panel #jira UE-2114 Change 3116367 on 2016/09/07 by Dan.Oconnor Fixed Function/Macro inputs/outputs list (had become cramped with my last change) + misc. fixes for new container types, fixes uninitialized members in FTerminalType #jira UE-2114, UE-35676 Change 3116663 on 2016/09/07 by Dan.Oconnor Fix for array functions showing up with TSet and TMap pins #jira UE-2114 Change 3118259 on 2016/09/08 by Ryan.Rauschkolb BP Profiler: Fixed Assert when profiling parent/child Blueprint #jira UE-35487 Change 3119023 on 2016/09/09 by Maciej.Mroz Manually integrated (from Odin branch) recent changes related to BP and nativization: 3115713 UE-35448 3117590 UE-35697 3117742 ODIN-577 Change 3119058 on 2016/09/09 by Maciej.Mroz #jira UE-32841 GitHub 2574 : fix typos #2574 https://github.com/EpicGames/UnrealEngine/pull/2574 Renamed function CustomNativeInitilize to InitializeNativeClassData and made it private. Change 3119302 on 2016/09/09 by Maciej.Mroz #jira UE-35584 Orion - nativized server crashes Global variable for WITH_PERFCOUNTERS definition in UEBuildConfiguration. Previously the same header could be compiled with the WITH_PERFCOUNTERS flag enadles and disabled (during a single compilation) . Change 3119502 on 2016/09/09 by Mike.Beach When building a deterministic UUID for latent nodes, we now use expanded nodes' origin (node) to avoid collisions (latent node in macros, etc.) #jira UE-35609 Change 3119517 on 2016/09/09 by Ryan.Rauschkolb Added blueprint editor settings option to display unique names for blueprint nodes Change 3119602 on 2016/09/09 by Maciej.Mroz #jira UEBP-214 Implement Solution for Nativized AnimBlueprints Size Reduction Added stats about nativized AnimBP Mechanism to exlcude reducible AnimBP Editor config option:[BlueprintNativizationSettings] bNativizeAnimBPOnlyWhenNonReducibleFuncitons=false Change 3119615 on 2016/09/09 by Maciej.Mroz Missing change (should be part of cl#3119602) Change 3119619 on 2016/09/09 by Maciej.Mroz #jira UEBP-214 Implement Solution for Nativized AnimBlueprints Size Reduction Excluding all AnimBP from Orion nativization. Change 3120752 on 2016/09/12 by Maciej.Mroz #jira UE-35051 [CrashReport] UE4Editor_BlueprintNativeCodeGen!FBlueprintNativeCodeGenModule::GenerateSingleAsset() Removed unnecessary ensure Change 3121354 on 2016/09/12 by Dan.Oconnor Fixed variable type width, required for TMap's extra combobox. Change 3121626 on 2016/09/12 by Phillip.Kavan [UE-35456] Fix crash on right-click in components tree view after copying one or more BSP actors to clipboard. Note: This applies to the components tree view in both the Blueprint editor and the Level editor's Actor details panel. change summary: - modified FComponentObjectTextFactory::CanCreateClass() to exclude Actor/Component subtypes that are not Blueprint-compatible (e.g. ABrush). #jira UE-35456 Change 3122712 on 2016/09/13 by Maciej.Mroz #jira UE-35714 [CrashReport] UE4Editor_BlueprintGraph!UK2Node_CallArrayFunction::GetArrayPins() [k2node_callarrayfunction.cpp:141] Replaced "check" with "ensure". Change 3124398 on 2016/09/14 by Maciej.Mroz More strict BP validation in UBlueprintThumbnailRenderer::Draw #jira UE-35705 Change 3124405 on 2016/09/14 by Maciej.Mroz #jira UE-35110 Packaged project crashes when playing sound from blueprint library with enum input after nativizing blueprints Function Libraries are properly added to dependencies list while nativization. Change 3124667 on 2016/09/14 by Maciej.Mroz #jira UE-35262 Incompatible pins give generate warning, when error is necessary. Fixed incompatible pins validation. Change 3125245 on 2016/09/14 by Phillip.Kavan [UE-33674] Fix missing stats for the ForEachElementInEnum node type in the Blueprint profiler tree view. change summary: - modified FScriptEventPlayback::Process() to not allow intermediate node exit pins to pollute the current trace path - modified FBlueprintFunctionContext::DetermineGraphNodeCharacteristics() to handle the UK2Node_ForEachElementInEnum type as a special case and account for extra loop iterations in the sample frequency computed at mapping time - exported UK2Node_ForEachElementInEnum::InsideLoopPinName and EnumOutputPinName string constants #jira UE-33674 Change 3126211 on 2016/09/15 by Maciej.Mroz #jira UE-36016 Struct pin can be connected to Object pin without error Change 3126393 on 2016/09/15 by Maciej.Mroz #jira UE-35936 Replace "check" by "ensure". Change 3126623 on 2016/09/15 by Maciej.Mroz #jira UE-35816 User defined struct array resets to defaults in blueprint after updating the struct STRUCT_SerializeFromMismatchedTag is not necessary to serialize structure when guids match. Anyway STRUCT_SerializeFromMismatchedTag sholud precede SerializeFromMismatchedTag(). Change 3127288 on 2016/09/15 by Mike.Beach Making the script VM overhead and native time stats threadsafe (to account for threaded anim Blueprints in Orion). Change 3127375 on 2016/09/15 by Mike.Beach Making sure Blueprint classes inherit the super's ClassConfigName properly (inherit the ID instead of the filename). Change 3127381 on 2016/09/15 by Mike.Beach Removing an overzealous ensure that certain users were hitting when a loading array property wasn't fully filled out yet (confirmed that it was populated with the proper objects by the end of the load). Change 3127476 on 2016/09/15 by Dan.Oconnor Build fix #jira UE-36073 Change 3128335 on 2016/09/16 by Maciej.Mroz #jira UE-36075 Odin: BP_DefaultHand and BigBotCharacter blueprints fail to compile Fixed broken BP assets. Change 3128589 on 2016/09/16 by Mike.Beach Fixing a static analysis CIS warning (duplicated condition). Change 3128630 on 2016/09/16 by Dan.Oconnor Re-fix with engine version set Change 3129338 on 2016/09/16 by Dan.Oconnor =FScriptSet/FScriptSetHelper fleshed out (Add, Remove, and Find implemented) +SetParam implemented for marking up sets for primitive Set functions (to be checked in once completed as BlueprintSetLibrary) #jira UE-2114 [CL 3131171 by Mike Beach in Main branch]
2016-09-19 16:14:06 -04:00
// conform pins that are marked as SetParam:
ConformContainerPins();
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3125172) #lockdown Nick.Penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 3053250 on 2016/07/18 by Steve.Robb TNot metafunction added. Change 3053252 on 2016/07/18 by Steve.Robb New TIsEnumClass trait. Change 3061345 on 2016/07/22 by Robert.Manuszewski Changing FMallocStomp::GetAllocationSize() to return the requested allocation size instead of the physical allocation size to make FMallocStomp work properly with FMallocPoisonProxy Change 3061377 on 2016/07/22 by Graeme.Thornton Added bStripAnimationDataOnDedicatedServer option to UAnimationSettings which will remove all compressed data from cooked server data. Disabled by default Change 3064592 on 2016/07/26 by Steven.Hutton Uploading repository files Change 3064595 on 2016/07/26 by Steven.Hutton Assign crashes to buggs based not just on Callstack but also based on Error message. Error messages have "data" masked out and are then compared to a table of error messages to find similar messages. Ensures are not currently filtered by error message. Change 3066046 on 2016/07/27 by Graeme.Thornton Better dedicated client/server class exclusion during cooking - Add class lists to cooker settings so they can be modified in the editor Change 3066077 on 2016/07/27 by Graeme.Thornton Move Paragon NeedsLoadForServer calls over to the new config based system Change 3066203 on 2016/07/27 by Chris.Wood CrashReportProcess logging and Slack reporting improvements to monitor disk space. [UE-31129] - Crash Report server need to alert on Slack when the PDB cache is full Change 3066276 on 2016/07/27 by Graeme.Thornton Move simple NeedsLoadForClient implementations over to new config based system Change 3068019 on 2016/07/28 by Graeme.Thornton Don't call ReleaseResources on UStaticMesh if we never render, and therefore never actually initialize the resources - Corrects some bad stats Change 3068218 on 2016/07/28 by Chris.Wood CrashReportProcess 1.1.18 passes BuildVersion to MinidumpDiagnostics [UE-31706] - Add new BuildVersion string to crash context and website Also modified command line log file ini settings to stop MDD stalling trying to sort and delete its logs. Change 3071665 on 2016/08/01 by Robert.Manuszewski Moving RemoveNamesFromMasterList from UEnum destructor to BeginDestroy to avoid potential issues when its package has already been destroyed. Change 3073388 on 2016/08/02 by Graeme.Thornton Invalidate string asset reference tags after finishing up loading of an async package Change 3073745 on 2016/08/02 by Robert.Manuszewski Disabling logging to memory in shipping by default. From now on FOutputDeviceMemory will be an opt-in for games. #jira FORT-27839 Change 3074866 on 2016/08/03 by Robert.Manuszewski PR #2650: Fixed a bug where newline escape sequence wasnt written to the pipe (Contributed by ozturkhakki) Change 3075128 on 2016/08/03 by Steve.Robb Static analysis fixes: error C2065: 'ThisOuterWorld': undeclared identifier Change 3075130 on 2016/08/03 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'LODLevel' Change 3075131 on 2016/08/03 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'Owner' Change 3075235 on 2016/08/03 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'AnimToOperateOn' Change 3075248 on 2016/08/03 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'ParentProfile' Change 3075662 on 2016/08/03 by Steve.Robb Static analysis/buffer size fix: warning C28020: The expression '_Param_(7)>=sizeof(ICMP_ECHO_REPLY)+_Param_(4)+8' is not true at this call Change 3075668 on 2016/08/03 by Steve.Robb Static analysis fix: warning C6326: Potential comparison of a constant with another constant Change 3075679 on 2016/08/03 by Chris.Wood Added -NoTrimCallstack command line arg to MDD calls from CRP 1.1.19 [OR-26335] - 29.1 crash reporter generating reports with no callstacks / info New MDD has -NoTrimCallstack option to leave possibly irrelevant entires in the stack. Trimming is somewhat arbitrary and based on string matching. I'd rather see the whole thing. Change 3077070 on 2016/08/04 by Steve.Robb Dead array slack tracking code removed. Change 3077113 on 2016/08/04 by Steve.Robb TEnumAsByte is now deprecated for enum classes. All current uses fixed (which tidies up that code anyway). New FArchive::op<< for enum classes. Generated code now never uses TEnumAsByte for enum classes. Change 3077117 on 2016/08/04 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'DefaultSettings' Change 3078709 on 2016/08/05 by Steve.Robb FUNCTION_NO_NULL_RETURN_* macros added to statically annotate a function to say that it never returns a null pointer. TObjectIterator annotated to never return null. NewObject annotated to never return null. Change 3078836 on 2016/08/05 by Graeme.Thornton Silently skip creating exports from a package where the outer is also an export and has been filtered at runtime during loading Change 3082217 on 2016/08/09 by Steve.Robb Missing #include for FUniqueNetIdRepl added. Change 3083679 on 2016/08/10 by Chris.Wood CrashReportProcess performance improvements. CRP v1.1.22 [UE-34402] - Crash Reporter: Improve CRP performance by allowing multiple MDD instances [UE-34403] - Crash Reporter: CRP should throw away crashes when backlog is too large to avoid runaway Passing lock details to MDD on command line and managing multiple MDD tasks in CRP. Configurable values for range of queue sizes that cause us to throw away crashes. Change 3085362 on 2016/08/11 by Steve.Robb Rule-of-three fixes for FAIMessageObserver, to prevent accidents. From here: https://udn.unrealengine.com/questions/306507/tstaticarray-doesnt-call-destructor-on-elements-be.html Change 3085396 on 2016/08/11 by Steve.Robb Swap can now be configured via the TUseBitwiseSwap trait to not use Memswap, which can be less optimal for certain types. Change 3088840 on 2016/08/15 by Steve.Robb TRemoveReference moved to its own header. Change 3088858 on 2016/08/15 by Steve.Robb TDecay moved to its own header. Change 3088963 on 2016/08/15 by Steve.Robb Invoke function, for doing a generic call on a generic callable thing. Equivalent to std::invoke. Change 3089144 on 2016/08/15 by Steve.Robb Algo::Transform updated to use Invoke. Algorithm tests updated to test the new features. Change 3089147 on 2016/08/15 by Steve.Robb TLess and TGreater moved to their own headers and defaulted to void as a type-deducing version, as per std::. Change 3090243 on 2016/08/16 by Steve.Robb New Algo::Sort and Algo::SortBy algorithms. Change 3090387 on 2016/08/16 by Steve.Robb Improved bitwise swapping for Swap. See: https://udn.unrealengine.com/questions/306922/swap-is-painfully-slow.html Change 3090444 on 2016/08/16 by Steve.Robb Ptr+Size overloads removed after discussion - MakeArrayView should be used instead. Change 3090495 on 2016/08/16 by Steve.Robb Assert when FString::Mid is passed a negative count. #jira UE-18756 Change 3093455 on 2016/08/18 by Steve.Robb Debuggability and efficiency improvements to UScriptStruct::DeferCppStructOps. Change 3094476 on 2016/08/19 by Steve.Robb BOM removed from InvariantCulture.h. Change 3094697 on 2016/08/19 by Steve.Robb Static analysis fix: warning C6237: (<zero> && <expression>) is always zero. <expression> is never evaluated and might have side effects. Change 3094702 on 2016/08/19 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'Interactor'. Change 3094715 on 2016/08/19 by Steve.Robb Static analysis fix: warning C6385: Reading invalid data from 'Order': the readable size is '256' bytes, but '8160' bytes may be read. Change 3094737 on 2016/08/19 by Steve.Robb Static analysis fixes: warning C6011: Dereferencing NULL pointer 'OwnedComponent'. warning C28182: Dereferencing NULL pointer. 'Child' contains the same NULL value as 'AttachToComponent' did. Change 3094750 on 2016/08/19 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'Actor'. Change 3094768 on 2016/08/19 by Steve.Robb Static analysis fixes: warning C6011: Dereferencing NULL pointer 'LevelSequence'. warning C6011: Dereferencing NULL pointer 'Actor'. Change 3094774 on 2016/08/19 by Steve.Robb Static analysis fixes: warning C6011: Dereferencing NULL pointer 'CallFunctionNode'. Change 3094783 on 2016/08/19 by Steve.Robb Static analysis fixes: warning C6011: Dereferencing NULL pointer 'TargetPin'. Change 3094807 on 2016/08/19 by Steve.Robb Static analysis fixes: warning C6011: Dereferencing NULL pointer 'SourceClass'. Change 3094815 on 2016/08/19 by Steve.Robb Static analysis fixes: warning C6011: Dereferencing NULL pointer 'VarNode'. warning C6011: Dereferencing NULL pointer 'SourceClass'. Change 3094840 on 2016/08/19 by Steve.Robb Static analysis fixes: warning C6011: Dereferencing NULL pointer 'TunnelGraph'. warning C28182: Dereferencing NULL pointer. 'GraphNode' contains the same NULL value as 'SourceNode' did. Change 3094864 on 2016/08/19 by Steve.Robb Static analysis fixes: warning C6011: Dereferencing NULL pointer 'SpawnClassPin'. Change 3094880 on 2016/08/19 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'PrevIfIndexMatchesStatement'. Change 3094886 on 2016/08/19 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'SpawnBlueprintPin'. Change 3094903 on 2016/08/19 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'K2Node'. Change 3094916 on 2016/08/19 by Steve.Robb Static analysis fix: Dereferencing NULL pointer 'CompilerContext'. Change 3094931 on 2016/08/19 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'VariablePin'. Change 3094935 on 2016/08/19 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'CurrentPin'. Change 3094943 on 2016/08/19 by Steve.Robb Static analysis fixes: warning C6011: Dereferencing NULL pointer 'Pin'. warning C28182: Dereferencing NULL pointer. 'Graph' contains the same NULL value as 'TargetGraph' did. Change 3094960 on 2016/08/19 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'LastOutPin'. Change 3095046 on 2016/08/19 by Steve.Robb Single parameter version of CastChecked tagged to never return null. Change 3095054 on 2016/08/19 by Steve.Robb Committed wrong version in CL# 3095046. Change 3095089 on 2016/08/19 by Steve.Robb Static analysis fixes: warning C6509: Invalid annotation: 'return' cannot be referenced in some contexts warning C6101: Returning uninitialized memory '*lpdwExitCode'. Change 3096035 on 2016/08/22 by Steve.Robb Fix for static lighting in pixel inspector. Change 3096039 on 2016/08/22 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'World'. Change 3096045 on 2016/08/22 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'Actor'. Change 3096058 on 2016/08/22 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'OtherPin'. Change 3096059 on 2016/08/22 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'MainMesh'. Change 3096066 on 2016/08/22 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'SourceType'. Change 3096070 on 2016/08/22 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'LastPushStatement'. Change 3096074 on 2016/08/22 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'OriginalDataTableInPin'. Change 3096075 on 2016/08/22 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'CurrentPin'. Change 3096081 on 2016/08/22 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'RunningPlatformData'. Change 3096156 on 2016/08/22 by Steve.Robb Static analysis fixes: warning C6011: Dereferencing NULL pointer 'BP'. warning C6011: Dereferencing NULL pointer 'Object'. Change 3096308 on 2016/08/22 by Steve.Robb Static analysis fixes: warning C6011: Dereferencing NULL pointer 'TopMipData'. warning C6011: Dereferencing NULL pointer 'MipCoverageData[0]'. Change 3096315 on 2016/08/22 by Steve.Robb Static analysis fixes: warning C6011: Dereferencing NULL pointer 'OldParent'. warning C6011: Dereferencing NULL pointer 'TestExecutionInfo'. Change 3096318 on 2016/08/22 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'OwnerClass'. Change 3096322 on 2016/08/22 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'StaticMeshInstanceData'. Change 3096337 on 2016/08/22 by Steve.Robb Static analysis fixes: warning C6011: Dereferencing NULL pointer 'Pin'. warning C6011: Dereferencing NULL pointer 'SpawnVarPin'. Change 3096345 on 2016/08/22 by Steve.Robb Static analysis fixes: warning C6246: Local declaration of 'NumTris' hides declaration of the same name in outer scope. Change 3096356 on 2016/08/22 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'InWorld'. Change 3096387 on 2016/08/22 by Steve.Robb Static analysis fixes: warning C6011: Dereferencing NULL pointer 'ExpressionPreviewMaterial'. warning C6011: Dereferencing NULL pointer 'MaterialNode->MaterialExpression'. Change 3096400 on 2016/08/22 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'FunctionInputs'. Change 3096413 on 2016/08/22 by Steve.Robb Static analysis fix: warning C28182: Dereferencing NULL pointer. 'LODPackage' contains the same NULL value as 'AssetsOuter' did. Change 3096416 on 2016/08/22 by Steve.Robb Static analysis fixes: warning C6237: (<zero> && <expression>) is always zero. <expression> is never evaluated and might have side effects. Change 3096423 on 2016/08/22 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'RedirectorRefs.Redirector'. Change 3096439 on 2016/08/22 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'NewObject'. Change 3096446 on 2016/08/22 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'BaseClass'. Change 3096454 on 2016/08/22 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'OldSkeleton'. Change 3096464 on 2016/08/22 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'MyNode'. Change 3096469 on 2016/08/22 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'VRInteractor'. Change 3097559 on 2016/08/23 by Steve.Robb Alternate fix to CL# 3096439. Change 3097583 on 2016/08/23 by Steve.Robb Static analysis fixes: warning C6011: Dereferencing NULL pointer 'SourceCategoryEnum'. warning C6011: Dereferencing NULL pointer 'CurrentWorld'. Change 3097584 on 2016/08/23 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'LocalizationTarget'. Change 3097585 on 2016/08/23 by Steve.Robb Static analysis fixes: warning C28182: Dereferencing NULL pointer. 'VariableSetNode' contains the same NULL value as 'AssignmentNode' did. warning C6011: Dereferencing NULL pointer 'FirstNativeClass'. Change 3097588 on 2016/08/23 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'OutputObjClass'. Change 3097589 on 2016/08/23 by Steve.Robb Static analysis fix: warning C28182: Dereferencing NULL pointer. 'Term' contains the same NULL value as 'RValueTerm' did. Change 3097591 on 2016/08/23 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'Schema'. Change 3097597 on 2016/08/23 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'LayerInfo'. Change 3097598 on 2016/08/23 by Steve.Robb Const-correctness fix for ILandscapeEditorModule::GetHeightmapFormatByExtension and ILandscapeEditorModule::GetWeightmapFormatByExtension. Change 3097600 on 2016/08/23 by Steve.Robb Fix for incorrect null check. Change 3097605 on 2016/08/23 by Steve.Robb Spurious static analysis fix: warning C6011: Dereferencing NULL pointer 'TexDataPtr'. Bug filed here: https://connect.microsoft.com/VisualStudio/feedback/details/3078125 Change 3097609 on 2016/08/23 by Steve.Robb Static analysis fix: warning C28182: Dereferencing NULL pointer. 'ObjClass' contains the same NULL value as 'BaseClass' did. Change 3097613 on 2016/08/23 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'InEdGraph'. Change 3097620 on 2016/08/23 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'ThisScalableFloat'. Change 3097627 on 2016/08/23 by Steve.Robb Static analysis fixes: warning C6011: Dereferencing NULL pointer 'AnimBlueprint'. Change 3097629 on 2016/08/23 by Steve.Robb Static analysis fix: warning C28182: Dereferencing NULL pointer. 'Pin' contains the same NULL value as 'PoseNet' did. Change 3097631 on 2016/08/23 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'IPOverlayInfo.Brush'. Change 3097634 on 2016/08/23 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'Survey'. Change 3097639 on 2016/08/23 by Steve.Robb Static analysis fixes: warning C6011: Dereferencing NULL pointer 'Settings'. Change 3097650 on 2016/08/23 by Steve.Robb Alternate fix for CL# 3097597. Change 3097725 on 2016/08/23 by Steve.Robb Spurious static analysis fix: warning C6011: Dereferencing NULL pointer 'BodySetup'. Change 3097764 on 2016/08/23 by Steve.Robb Spurious static analysis fix: warning C28182: Dereferencing NULL pointer. 'FoundMode' contains the same NULL value as 'ElementType * FoundMode=LoopModes.FindByPredicate(<lambda>)' did. Change 3097770 on 2016/08/23 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'Triangle'. Change 3097775 on 2016/08/23 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'CurGroup'. Change 3097796 on 2016/08/23 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'SourceComponent'. Change 3097797 on 2016/08/23 by Steve.Robb Spurious static analysis fix: warning C6011: Dereferencing NULL pointer 'HitComponent'. Change 3097843 on 2016/08/23 by Steve.Robb Spurious static analysis fix: Dereferencing NULL pointer. 'MatchingNewPin' contains the same NULL value as 'UEdGraphPin ** MatchingNewPin=this->Pins.FindByPredicate(<lambda>)' did. Change 3097864 on 2016/08/23 by Steve.Robb Static analysis fixes: warning C6011: Dereferencing NULL pointer 'ObjectClass'. warning C6011: Dereferencing NULL pointer 'Client'. Change 3097871 on 2016/08/23 by Steve.Robb Static analysis fix: warning C28182: Dereferencing NULL pointer. 'SMLightingMesh->StaticMesh' contains the same NULL value as 'StaticMesh' did. Change 3098015 on 2016/08/23 by Steve.Robb Alternative fix for CL# 3094864. Change 3098024 on 2016/08/23 by Steve.Robb Alternative fix for CL# 3094943. Change 3098052 on 2016/08/23 by Steve.Robb Alternative fix for CL# 3094886. Change 3098080 on 2016/08/23 by Steve.Robb Static analysis fix: warning C28182: Dereferencing NULL pointer. 'PrimitiveComponent' contains the same NULL value as 'ReplacementComponent' did. Change 3098102 on 2016/08/23 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'IndexTermPtr'. Change 3098148 on 2016/08/23 by Steve.Robb Static analysis fixes: warning C6011: Dereferencing NULL pointer 'Node'. warning C6011: Dereferencing NULL pointer 'OldNode'. warning C6011: Dereferencing NULL pointer 'LinkedPin'. warning C6011: Dereferencing NULL pointer 'RootNode'. Change 3098156 on 2016/08/23 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'BTGraphNode'. Change 3098176 on 2016/08/23 by Steve.Robb Static analysis fixes: warning C6011: Dereferencing NULL pointer 'NewSection'. Change 3098182 on 2016/08/23 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'Sprite'. Change 3098197 on 2016/08/23 by Steve.Robb Static analysis fixes: warning C6011: Dereferencing NULL pointer 'Node'. Coding standards fixes. Change 3098202 on 2016/08/23 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'ExistingEventNode'. Change 3098208 on 2016/08/23 by Steve.Robb Static analysis fixes: warning C28182: Dereferencing NULL pointer. 'Graph' contains the same NULL value as 'GraphNew' did. warning C28182: Dereferencing NULL pointer. 'GoodGraph' contains the same NULL value as 'GraphNew' did. Change 3098229 on 2016/08/23 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'Property'. Change 3099188 on 2016/08/24 by Steve.Robb Static analysis fixes: warning C6011: Dereferencing NULL pointer 'SharedBaseClass'. Change 3099195 on 2016/08/24 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'NodeProperty'. Change 3099205 on 2016/08/24 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'VarDesc'. Change 3099228 on 2016/08/24 by Steve.Robb Spurious static analysis fix: warning C28182: Dereferencing NULL pointer. 'Node' contains the same NULL value as 'ParentNode' did. Change 3099539 on 2016/08/24 by Steve.Robb Spurious static analysis fixes: warning C6011: Dereferencing NULL pointer 'InBlueprint'. warning C28182: Dereferencing NULL pointer. 'TestObj' contains the same NULL value as 'TestOuter' did. https://connect.microsoft.com/VisualStudio/feedback/details/3082362 https://connect.microsoft.com/VisualStudio/feedback/details/3082622 Change 3099546 on 2016/08/24 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'OldNode'. Change 3099561 on 2016/08/24 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'ReferencedObject'. Change 3099571 on 2016/08/24 by Steve.Robb Static analysis fix: Dereferencing NULL pointer. 'ObjClass' contains the same NULL value as 'CommonBaseClass' did. Change 3099600 on 2016/08/24 by Steve.Robb Static analysis fix: warning C6385: Reading invalid data from 'this->Packages': the readable size is '24' bytes, but '32' bytes may be read. warning C6385: Reading invalid data from 'Diff.ObjectSets': the readable size is '24' bytes, but '32' bytes may be read. warning C6386: Buffer overrun while writing to 'Objects': the writable size is '24' bytes, but '32' bytes might be written. Change 3099912 on 2016/08/24 by Steve.Robb Static analysis fixes: warning C6011: Dereferencing NULL pointer 'SharedBaseClass'. Change 3099923 on 2016/08/24 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'ThumbnailInfo'. Change 3100977 on 2016/08/25 by Steve.Robb Static analysis fixes: warning C6001: Using uninitialized memory '*VectorRef'. warning C6001: Using uninitialized memory '*PointRef'. warning C6001: Using uninitialized memory '*PolyRef'. Coding standard fixes. Change 3100985 on 2016/08/25 by Steve.Robb Static analyis fix: warning C6011: Dereferencing NULL pointer 'SpawnClassPin'. Change 3100987 on 2016/08/25 by Steve.Robb Static analysis fixes: warning C28183: 'Resources.BitmapHandle' could be '0', and is a copy of the value found in 'CreateDIBSection()`829': this does not adhere to the specification for the function 'SelectObject'. warning C6387: '_Param_(4)' could be '0': this does not adhere to the specification for the function 'CreateDIBSection'. Change 3100992 on 2016/08/25 by Steve.Robb Static analysis fix: warning C6287: Redundant code: the left and right sub-expressions are identical. Change 3101000 on 2016/08/25 by Steve.Robb Static analysis fixes: warning C6001: Using uninitialized memory 'tmpMemReq'. warning C6001: Using uninitialized memory 'TmpCreateInfo'. Change 3101004 on 2016/08/25 by Steve.Robb warning C28182: Dereferencing NULL pointer. 'FoliageActor' contains the same NULL value as 'Actor' did. Change 3101009 on 2016/08/25 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'StaticMeshComponent'. Change 3101115 on 2016/08/25 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'Canvas'. Change 3101120 on 2016/08/25 by Steve.Robb Fixes to previous fixes. Change 3101128 on 2016/08/25 by Steve.Robb Static analysis fixes: warning C6011: Dereferencing NULL pointer 'Stream'. Change 3101281 on 2016/08/25 by Steve.Robb Static analysis fixes: warning C6262: Function uses '99256' bytes of stack: exceeds /analyze:stacksize '81940'. Consider moving some data to heap. warning C6001: Using uninitialized memory 'Pixel'. Change 3101292 on 2016/08/25 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'BulkDataPointer'. Change 3101299 on 2016/08/25 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'UnrealMaterial'. Change 3101300 on 2016/08/25 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'AssetObject'. Change 3101304 on 2016/08/25 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'MeshRootNode'. Change 3101311 on 2016/08/25 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'Cluster'. Change 3101323 on 2016/08/25 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'StartNode'. Change 3101329 on 2016/08/25 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'Object'. Change 3101333 on 2016/08/25 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'ArrayRef'. Change 3101339 on 2016/08/25 by Steve.Robb Static analysis fixes: warning C6011: Dereferencing NULL pointer 'ImportData'. warning C6011: Dereferencing NULL pointer 'CurveToImport'. Change 3101485 on 2016/08/25 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'ObjectProperty'. Change 3101583 on 2016/08/25 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'UserDefinedStruct'. Change 3105721 on 2016/08/30 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'SpawnClassPin'. Change 3105724 on 2016/08/30 by Steven.Hutton Change users page to more responsive paginated version. Change 3105725 on 2016/08/30 by Steven.Hutton Added field for crash processor failed Change 3105786 on 2016/08/30 by Steve.Robb Reintroduced missing operator<< for enum classes. Change 3105803 on 2016/08/30 by Steve.Robb Removal of obsolete code and state. PrepareCppStructOps() has several unreachable blocks, one of which sets UScriptStruct::bCppStructOpsFromBaseClass which is otherwise never true, so it can be removed too. Change 3106251 on 2016/08/30 by Steve.Robb Switch static analysis node to build editor instead of just the engine. Change 3107556 on 2016/08/31 by Steven.Hutton Added build version data from CRP to DB as part of add crash #rb none Change 3107557 on 2016/08/31 by Steven.Hutton Passed build version data to CRW through crash description #rb none Change 3107634 on 2016/08/31 by Graeme.Thornton Only accept "log=<filename>" and "abslog=<filename>" command line values if the filename has a "log" or "txt" extension #jira UE-20147 Change 3107797 on 2016/08/31 by Steve.Robb Fix for UHT debugging manifest, after paths changed in CL# 3088416. Change 3107964 on 2016/08/31 by Steve.Robb TCString::Strfind renamed to TCString::Strifind, as it is case-insensitive. New case-sensitive TCString::Strfind added, based on GitHub PR #2453. Change 3108023 on 2016/08/31 by Steve.Robb Removal of test code which no longer compiles now that we emit errors on skipped preprocessor blocks. Change 3108160 on 2016/08/31 by Steven.Hutton Update to add new filter to website front page #rb none Change 3109556 on 2016/09/01 by Steven.Hutton Fixing compile warning #rb none Change 3110001 on 2016/09/01 by Steve.Robb PR #2468: Fix for UnrealHeaderTool TArray<TScriptInterface<>> UFUNCTION parameters (Contributed by UnrealEverything) Change 3111835 on 2016/09/02 by Steve.Robb Enforce uint8 on UENUM() enum classes. #jira UE-35224 Change 3111867 on 2016/09/02 by Steve.Robb Static analysis fix: warning C6236: (<expression> || <non-zero constant>) is always a non-zero constant. Change 3111880 on 2016/09/02 by Steve.Robb Static analysis fixes: warning C6386: Buffer overrun while writing to 'Views': the writable size is 'ShaderBindings.ResourceViews.public: int __cdecl TArray<class TSlateD3DTypedShaderParameter<struct ID3D11ShaderResourceView> *,class FDefaultAllocator>::Num(void)const ()*8' bytes, but '16' bytes might be written. warning C6386: Buffer overrun while writing to 'ConstantBuffers': the writable size is 'ShaderBindings.ConstantBuffers.public: int __cdecl TArray<class TSlateD3DTypedShaderParameter<struct ID3D11Buffer> *,class FDefaultAllocator>::Num(void)const ()*8' bytes, but '16' bytes might be written. Change 3111886 on 2016/09/02 by Steve.Robb Static analysis fix: warning C6386: Buffer overrun while writing to 'DistortionMeshIndices': the writable size is 'NumIndices*2' bytes, but '4' bytes might be written. Change 3112025 on 2016/09/02 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'pInputProcessParameters'. warning C6011: Dereferencing NULL pointer 'pOutputProcessParameters'. Change 3112051 on 2016/09/02 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'Command'. Change 3112066 on 2016/09/02 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'CurNetDriver'. Change 3112093 on 2016/09/02 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'byteArray'. Change 3112110 on 2016/09/02 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'PersistentParty'. Change 3112123 on 2016/09/02 by Steve.Robb Static analysis fixes: warning C6011: Dereferencing NULL pointer 'CurDriver'. warning C6011: Dereferencing NULL pointer 'CurNetDriver'. warning C6011: Dereferencing NULL pointer 'CurWorld'. Change 3112157 on 2016/09/02 by Steve.Robb Static analysis fixes: warning C6011: Dereferencing NULL pointer 'UnitTest'. Change 3112283 on 2016/09/02 by Steve.Robb Static analysis fixes: warning C6244: Local declaration of 'None' hides previous declaration at line '173' of 'netcodeunittest.h'. Change 3113455 on 2016/09/05 by Chris.Wood CRP performance improvements (v1.1.25) Change 3113468 on 2016/09/05 by Steve.Robb Reverting unnecessary merge in CL# 3112464. Change 3113508 on 2016/09/05 by Steve.Robb Static analysis fix: warning C6031: Return value ignored: 'CoCreateGuid'. Change 3113588 on 2016/09/05 by Steve.Robb Static analysis fix: warning C6244: Local declaration of 'hInstance' hides previous declaration Change 3113863 on 2016/09/06 by Steve.Robb Fix for this error: Could not find a part of the path 'D:\Build\++UE4+Dev-Core+Compile\Sync\Engine\Plugins\2D\Paper2D\Binaries\Win64\UE4Editor.modules'. Change 3113864 on 2016/09/06 by Steve.Robb Misc static analysis fixes for VS2015 Update 2. Change 3113918 on 2016/09/06 by Ben.Marsh Explicitly check for version manifest existing before trying to delete it, rather than swallowing the exception. Change 3114293 on 2016/09/06 by Steve.Robb Static analysis fixes for Visual Studio Update 2. Change 3115732 on 2016/09/07 by Steve.Robb Static analysis fix: warning C6262: Function uses '121180' bytes of stack: exceeds /analyze:stacksize '81940'. Consider moving some data to heap. Change 3115754 on 2016/09/07 by Steve.Robb GObjectArrayForDebugVisualizers init order fix. Removal of obsolete FName visualizer helper code. Change 3115774 on 2016/09/07 by Steve.Robb Fix for ICE by moving static variables into their own file and removing const return types. #jira UE-35597 Change 3116061 on 2016/09/07 by Steve.Robb Redundant LOCTEXT_NAMESPACE removed - was missed in CL# 3115774. Change 3117478 on 2016/09/08 by Steve.Robb Static analysis fixes in third party code, using a new macro-based system. Change 3119152 on 2016/09/09 by Steve.Robb TArray::RemoveAt and RemoveAtSwap with a bool Count is now a compile error. Change 3119200 on 2016/09/09 by Steve.Robb Fix for destructors not being called in TSparseArray move assignment. Change 3119568 on 2016/09/09 by Steve.Robb Fix for TSparseArray visualizer. Change 3119591 on 2016/09/09 by Steve.Robb New MakeShared function which allocates the object and reference controller in a single block. Change 3120281 on 2016/09/09 by Steve.Robb Fix for ICE on static analysis build. #jira UE-35596 Change 3120786 on 2016/09/12 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'SavedGame'. Change 3120787 on 2016/09/12 by Steve.Robb Removal of TEnumAsByte on enum classes. Change 3120789 on 2016/09/12 by Steve.Robb Static analysis fixes: warning C6385: Reading invalid data from 'D3D11X_CERAM_OFFSET_BY_SET_STAGE': the readable size is '28' bytes, but '64' bytes may be read. warning C6101: Returning uninitialized memory '*pDescriptorDst'. A successful path through the function does not set the named _Out_ parameter. Change 3121234 on 2016/09/12 by Steve.Robb Unused ToBuildInfoString function declaration removed. Change 3122616 on 2016/09/13 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'Compiler'. Change 3123070 on 2016/09/13 by Steve.Robb Static analysis fix: warning C28182: Dereferencing NULL pointer. 'top' contains the same NULL value as 'edge' did. [CL 3126145 by Robert Manuszewski in Main branch]
2016-09-15 00:21:42 -04:00
if (!ensure(Pin))
Merging UE4-Pretest @ 2042161 to UE4 Change 1996384 by Andrew Brown: 322252 - EDITOR: Asset picker displays incorrect text when there are no filter results. Change 1996385 by Andrew Brown: 321858 - CRASH: Assertion failed: (Index >= 0) Function: STransformViewportToolBar::GetLocationGridLabel() STextBlock::CacheDesiredSize() Change 1996977 by Andrew Brown: 309685 - UE4: Adding an event/renaming an event on an event track in Matinee does not update the MatineeActor node in blueprint Change 2034873 by Jaroslaw Palczynski: More robust VS installation detection. Change 2039693 by Jaroslaw Palczynski: 327268 - RocketGDC: POSTLAUNCH: DEV: Make engine more robust against bad Visual Studio environment variables Change 1978978 by Jaroslaw Surowiec: - Removed obsolete AllowEliminatingReferences from the FArchive Change 2020326 by Maciej Mroz: pretest BP K2Node: RemovePinsFromOldPins function moved from K2Node to RemovePinsFromOldPins Change 2017608 by Maciej Mroz: pretest Some changes in SFortMissionEventSelector caused by FPinTypeTreeInfo Change 2017463 by Maciej Mroz: PinTypeSelector can lins unloaded UDStructs Change 2019979 by Maciej Mroz: pretest BP: Crash when performing Diff against Depot with blueprints containing Format Text nodes Change 2024469 by Maciej Mroz: MemberReference variable added to PinType. It's necessary for delegate's signature. Change 2024049 by Maciej Mroz: HasExternalBlueprintDependencies added to UK2Node_DynamicCast Change 2024586 by Maciej Mroz: FillSimpleMemberReference fix Change 2024472 by Maciej Mroz: workaround for delegates signature in pintype removed. Change 2023997 by Maciej Mroz: BP, UDStruc: Class UserDefinedStructEditorData added. It fixes many problems with undo/redo. Change 2021934 by Maciej Mroz: typo in a comment Change 2020355 by Maciej Mroz: Back out changelist 2020342 Change 2022178 by Maciej Mroz: CRASH: PRETEST: EDITOR: UDS: Crash when undo then redo new variable in struct that is used by blueprint Change 2021958 by Maciej Mroz: CRASH: PRETEST: EDITOR: UDS: Crash using variable of a type of copied struct in blueprint Change 1986247 by Maciej Mroz: User Defined Structures: circle dependency fixed. Early version. Change 1985107 by Maciej Mroz: UserDefinedStruct cannot have a field of a non-native type Change 1986278 by Maciej Mroz: pretest ensureMsgf in Struct::link Change 1986250 by Maciej Mroz: User Defined Struct: Non native classes are accepted types od values in structures. Change 1980955 by Maciej Mroz: Using AssetPtr and LazyPtr as UFunction parameter (intput or return) is explicitly disallowed. Change 2041215 by Maciej Mroz: ttp331249 BLOCKER: PRETEST: UI: Survive the Storm is missing the Mission HUD. Change 1984316 by Maciej Mroz: New User Defined Structure. WIP - there are still problems with circular dependencies. Change 2011616 by Maciej Mroz: UserDefinedStructures - various problems fixed. Change 2011609 by Maciej Mroz: more robust HasExternalBlueprintDependencies implementation Change 2016697 by Maciej Mroz: pretest BP: UDStruct - default value propagation in cooked build Change 2016288 by Maciej Mroz: pretest BP: UDStruct: Renaming variables wont break links from make/break nodes Change 1987637 by Maciej Mroz: CustomStruct icons placeholders Change 1987422 by Maciej Mroz: Better tooltips for variables in MyBlueprint Change 1991387 by Maciej Mroz: UDStructures fixes: Change 2029165 by Maciej Mroz: BP: better comment for incomatible pins Change 2030016 by Maciej Mroz: 8PRETEST: EDITOR: UDS: Defaults values aren't updated in struct type variables in blueprints Change 2030017 by Maciej Mroz: Unused UDStructure code removed (PPF_UseDefaultsForUDStructures) Change 2028856 by Maciej Mroz: BP: Pins with PC_Struct type are compatible only with exactly the same structure. (No derived structures are not handled as compatible). Change 2026701 by Maciej Mroz: k2: odd error on an add item node within a function (see attached image in details) Change 2028160 by Maciej Mroz: PRETEST: EDITOR: UDS: When deleting structures just after creating there is always some references in the memory Change 2028165 by Maciej Mroz: BP: BreakHitResult function has proper icon. Change 2033340 by Maciej Mroz: ttp330786 PRETEST: EDITOR: UDS: Changes of default values aren't apllied to breeak nodes for text type of variables Change 2034255 by Maciej Mroz: EDITOR: UDS: Changes of default values aren't apllied to make nodes for text type of variables ttp#330620 Change 2037682 by Maciej Mroz: ttp331309 BLOCKER: PRETEST: CRASH: EDITOR: Crash occurs when performing Diff Against Depot on any Blueprint Change 2033142 by Maciej Mroz: CreateDelegate Node uses internally FMemberReference. Refactor. Change 2032329 by Maciej Mroz: ttp330608 CRASH: PRETEST: EDITOR: UDS: Crash when trying to use struct named 'Color' in blueprint Change 2032420 by Maciej Mroz: ttp330620 PRETEST: EDITOR: UDS: Changes of default values aren't apllied to make nodes for text type of variables Change 2033139 by Maciej Mroz: Functions generated from CustomEvents can be also identified by GUID Change 2026631 by Maciej Mroz: BP. UDStruct: Invalid structs are handled better. Change 2025344 by Maciej Mroz: UDStruct enabled by default Change 2026672 by Maciej Mroz: EDITOR: BP: Can't easily remove 'pass-by-reference' pins on ReturnNodes Change 2026411 by Maciej Mroz: ExposeOnSpawn updated, it supports UDStructs, custom native Structs, and it throws compiler error. Change 2025342 by Maciej Mroz: GenerateBlueprintSkeleton moved from BLueprint::Serialize to RegenerateBlueprintClass, because SkeletonClass compilation requires all external dependencies to be loaded and linked. Change 2025570 by Steve Robb: Moved dependency processing to its own function. Change 2033235 by Steve Robb: String improvements Change 2035830 by Steve Robb: Workaround for FriendsAndChat crash in Fortnite. Change 2035115 by Steve Robb: UBT build time regression fixes. Change 2034162 by Steve Robb: 312775: UObject improvement: Ensure that *.generated.inl is included somewhere Change 2034181 by Steve Robb: Removal of any references to .generated.inl Change 2020165 by Steve Robb: BuildPublicAndPrivateUObjectHeaders factored out into its own function. Change 2020187 by Steve Robb: CreateModuleCompileEnvironment function factored out. Change 2020055 by Steve Robb: Refactoring of Unity.cs to remove complex and duplicate iteration. Change 2020083 by Steve Robb: Another use of dictionary utilities. Change 2031049 by Steve Robb: 312775: UObject improvement: Ensure that *.generated.inl is included somewhere Change 2025728 by Steve Robb: Refactored the application of a shared PCH file to multiple file into a single ApplySharedPCH function. Change 2020068 by Steve Robb: A couple of helpful utility functions for populating dictionaries. Change 2032307 by Steve Robb: 312775: UObject improvement: Ensure that *.generated.inl is included somewhere [CL 2054495 by Robert Manuszewski in Main branch]
2014-04-23 20:18:55 -04:00
{
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3125172) #lockdown Nick.Penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 3053250 on 2016/07/18 by Steve.Robb TNot metafunction added. Change 3053252 on 2016/07/18 by Steve.Robb New TIsEnumClass trait. Change 3061345 on 2016/07/22 by Robert.Manuszewski Changing FMallocStomp::GetAllocationSize() to return the requested allocation size instead of the physical allocation size to make FMallocStomp work properly with FMallocPoisonProxy Change 3061377 on 2016/07/22 by Graeme.Thornton Added bStripAnimationDataOnDedicatedServer option to UAnimationSettings which will remove all compressed data from cooked server data. Disabled by default Change 3064592 on 2016/07/26 by Steven.Hutton Uploading repository files Change 3064595 on 2016/07/26 by Steven.Hutton Assign crashes to buggs based not just on Callstack but also based on Error message. Error messages have "data" masked out and are then compared to a table of error messages to find similar messages. Ensures are not currently filtered by error message. Change 3066046 on 2016/07/27 by Graeme.Thornton Better dedicated client/server class exclusion during cooking - Add class lists to cooker settings so they can be modified in the editor Change 3066077 on 2016/07/27 by Graeme.Thornton Move Paragon NeedsLoadForServer calls over to the new config based system Change 3066203 on 2016/07/27 by Chris.Wood CrashReportProcess logging and Slack reporting improvements to monitor disk space. [UE-31129] - Crash Report server need to alert on Slack when the PDB cache is full Change 3066276 on 2016/07/27 by Graeme.Thornton Move simple NeedsLoadForClient implementations over to new config based system Change 3068019 on 2016/07/28 by Graeme.Thornton Don't call ReleaseResources on UStaticMesh if we never render, and therefore never actually initialize the resources - Corrects some bad stats Change 3068218 on 2016/07/28 by Chris.Wood CrashReportProcess 1.1.18 passes BuildVersion to MinidumpDiagnostics [UE-31706] - Add new BuildVersion string to crash context and website Also modified command line log file ini settings to stop MDD stalling trying to sort and delete its logs. Change 3071665 on 2016/08/01 by Robert.Manuszewski Moving RemoveNamesFromMasterList from UEnum destructor to BeginDestroy to avoid potential issues when its package has already been destroyed. Change 3073388 on 2016/08/02 by Graeme.Thornton Invalidate string asset reference tags after finishing up loading of an async package Change 3073745 on 2016/08/02 by Robert.Manuszewski Disabling logging to memory in shipping by default. From now on FOutputDeviceMemory will be an opt-in for games. #jira FORT-27839 Change 3074866 on 2016/08/03 by Robert.Manuszewski PR #2650: Fixed a bug where newline escape sequence wasnt written to the pipe (Contributed by ozturkhakki) Change 3075128 on 2016/08/03 by Steve.Robb Static analysis fixes: error C2065: 'ThisOuterWorld': undeclared identifier Change 3075130 on 2016/08/03 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'LODLevel' Change 3075131 on 2016/08/03 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'Owner' Change 3075235 on 2016/08/03 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'AnimToOperateOn' Change 3075248 on 2016/08/03 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'ParentProfile' Change 3075662 on 2016/08/03 by Steve.Robb Static analysis/buffer size fix: warning C28020: The expression '_Param_(7)>=sizeof(ICMP_ECHO_REPLY)+_Param_(4)+8' is not true at this call Change 3075668 on 2016/08/03 by Steve.Robb Static analysis fix: warning C6326: Potential comparison of a constant with another constant Change 3075679 on 2016/08/03 by Chris.Wood Added -NoTrimCallstack command line arg to MDD calls from CRP 1.1.19 [OR-26335] - 29.1 crash reporter generating reports with no callstacks / info New MDD has -NoTrimCallstack option to leave possibly irrelevant entires in the stack. Trimming is somewhat arbitrary and based on string matching. I'd rather see the whole thing. Change 3077070 on 2016/08/04 by Steve.Robb Dead array slack tracking code removed. Change 3077113 on 2016/08/04 by Steve.Robb TEnumAsByte is now deprecated for enum classes. All current uses fixed (which tidies up that code anyway). New FArchive::op<< for enum classes. Generated code now never uses TEnumAsByte for enum classes. Change 3077117 on 2016/08/04 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'DefaultSettings' Change 3078709 on 2016/08/05 by Steve.Robb FUNCTION_NO_NULL_RETURN_* macros added to statically annotate a function to say that it never returns a null pointer. TObjectIterator annotated to never return null. NewObject annotated to never return null. Change 3078836 on 2016/08/05 by Graeme.Thornton Silently skip creating exports from a package where the outer is also an export and has been filtered at runtime during loading Change 3082217 on 2016/08/09 by Steve.Robb Missing #include for FUniqueNetIdRepl added. Change 3083679 on 2016/08/10 by Chris.Wood CrashReportProcess performance improvements. CRP v1.1.22 [UE-34402] - Crash Reporter: Improve CRP performance by allowing multiple MDD instances [UE-34403] - Crash Reporter: CRP should throw away crashes when backlog is too large to avoid runaway Passing lock details to MDD on command line and managing multiple MDD tasks in CRP. Configurable values for range of queue sizes that cause us to throw away crashes. Change 3085362 on 2016/08/11 by Steve.Robb Rule-of-three fixes for FAIMessageObserver, to prevent accidents. From here: https://udn.unrealengine.com/questions/306507/tstaticarray-doesnt-call-destructor-on-elements-be.html Change 3085396 on 2016/08/11 by Steve.Robb Swap can now be configured via the TUseBitwiseSwap trait to not use Memswap, which can be less optimal for certain types. Change 3088840 on 2016/08/15 by Steve.Robb TRemoveReference moved to its own header. Change 3088858 on 2016/08/15 by Steve.Robb TDecay moved to its own header. Change 3088963 on 2016/08/15 by Steve.Robb Invoke function, for doing a generic call on a generic callable thing. Equivalent to std::invoke. Change 3089144 on 2016/08/15 by Steve.Robb Algo::Transform updated to use Invoke. Algorithm tests updated to test the new features. Change 3089147 on 2016/08/15 by Steve.Robb TLess and TGreater moved to their own headers and defaulted to void as a type-deducing version, as per std::. Change 3090243 on 2016/08/16 by Steve.Robb New Algo::Sort and Algo::SortBy algorithms. Change 3090387 on 2016/08/16 by Steve.Robb Improved bitwise swapping for Swap. See: https://udn.unrealengine.com/questions/306922/swap-is-painfully-slow.html Change 3090444 on 2016/08/16 by Steve.Robb Ptr+Size overloads removed after discussion - MakeArrayView should be used instead. Change 3090495 on 2016/08/16 by Steve.Robb Assert when FString::Mid is passed a negative count. #jira UE-18756 Change 3093455 on 2016/08/18 by Steve.Robb Debuggability and efficiency improvements to UScriptStruct::DeferCppStructOps. Change 3094476 on 2016/08/19 by Steve.Robb BOM removed from InvariantCulture.h. Change 3094697 on 2016/08/19 by Steve.Robb Static analysis fix: warning C6237: (<zero> && <expression>) is always zero. <expression> is never evaluated and might have side effects. Change 3094702 on 2016/08/19 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'Interactor'. Change 3094715 on 2016/08/19 by Steve.Robb Static analysis fix: warning C6385: Reading invalid data from 'Order': the readable size is '256' bytes, but '8160' bytes may be read. Change 3094737 on 2016/08/19 by Steve.Robb Static analysis fixes: warning C6011: Dereferencing NULL pointer 'OwnedComponent'. warning C28182: Dereferencing NULL pointer. 'Child' contains the same NULL value as 'AttachToComponent' did. Change 3094750 on 2016/08/19 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'Actor'. Change 3094768 on 2016/08/19 by Steve.Robb Static analysis fixes: warning C6011: Dereferencing NULL pointer 'LevelSequence'. warning C6011: Dereferencing NULL pointer 'Actor'. Change 3094774 on 2016/08/19 by Steve.Robb Static analysis fixes: warning C6011: Dereferencing NULL pointer 'CallFunctionNode'. Change 3094783 on 2016/08/19 by Steve.Robb Static analysis fixes: warning C6011: Dereferencing NULL pointer 'TargetPin'. Change 3094807 on 2016/08/19 by Steve.Robb Static analysis fixes: warning C6011: Dereferencing NULL pointer 'SourceClass'. Change 3094815 on 2016/08/19 by Steve.Robb Static analysis fixes: warning C6011: Dereferencing NULL pointer 'VarNode'. warning C6011: Dereferencing NULL pointer 'SourceClass'. Change 3094840 on 2016/08/19 by Steve.Robb Static analysis fixes: warning C6011: Dereferencing NULL pointer 'TunnelGraph'. warning C28182: Dereferencing NULL pointer. 'GraphNode' contains the same NULL value as 'SourceNode' did. Change 3094864 on 2016/08/19 by Steve.Robb Static analysis fixes: warning C6011: Dereferencing NULL pointer 'SpawnClassPin'. Change 3094880 on 2016/08/19 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'PrevIfIndexMatchesStatement'. Change 3094886 on 2016/08/19 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'SpawnBlueprintPin'. Change 3094903 on 2016/08/19 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'K2Node'. Change 3094916 on 2016/08/19 by Steve.Robb Static analysis fix: Dereferencing NULL pointer 'CompilerContext'. Change 3094931 on 2016/08/19 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'VariablePin'. Change 3094935 on 2016/08/19 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'CurrentPin'. Change 3094943 on 2016/08/19 by Steve.Robb Static analysis fixes: warning C6011: Dereferencing NULL pointer 'Pin'. warning C28182: Dereferencing NULL pointer. 'Graph' contains the same NULL value as 'TargetGraph' did. Change 3094960 on 2016/08/19 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'LastOutPin'. Change 3095046 on 2016/08/19 by Steve.Robb Single parameter version of CastChecked tagged to never return null. Change 3095054 on 2016/08/19 by Steve.Robb Committed wrong version in CL# 3095046. Change 3095089 on 2016/08/19 by Steve.Robb Static analysis fixes: warning C6509: Invalid annotation: 'return' cannot be referenced in some contexts warning C6101: Returning uninitialized memory '*lpdwExitCode'. Change 3096035 on 2016/08/22 by Steve.Robb Fix for static lighting in pixel inspector. Change 3096039 on 2016/08/22 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'World'. Change 3096045 on 2016/08/22 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'Actor'. Change 3096058 on 2016/08/22 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'OtherPin'. Change 3096059 on 2016/08/22 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'MainMesh'. Change 3096066 on 2016/08/22 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'SourceType'. Change 3096070 on 2016/08/22 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'LastPushStatement'. Change 3096074 on 2016/08/22 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'OriginalDataTableInPin'. Change 3096075 on 2016/08/22 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'CurrentPin'. Change 3096081 on 2016/08/22 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'RunningPlatformData'. Change 3096156 on 2016/08/22 by Steve.Robb Static analysis fixes: warning C6011: Dereferencing NULL pointer 'BP'. warning C6011: Dereferencing NULL pointer 'Object'. Change 3096308 on 2016/08/22 by Steve.Robb Static analysis fixes: warning C6011: Dereferencing NULL pointer 'TopMipData'. warning C6011: Dereferencing NULL pointer 'MipCoverageData[0]'. Change 3096315 on 2016/08/22 by Steve.Robb Static analysis fixes: warning C6011: Dereferencing NULL pointer 'OldParent'. warning C6011: Dereferencing NULL pointer 'TestExecutionInfo'. Change 3096318 on 2016/08/22 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'OwnerClass'. Change 3096322 on 2016/08/22 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'StaticMeshInstanceData'. Change 3096337 on 2016/08/22 by Steve.Robb Static analysis fixes: warning C6011: Dereferencing NULL pointer 'Pin'. warning C6011: Dereferencing NULL pointer 'SpawnVarPin'. Change 3096345 on 2016/08/22 by Steve.Robb Static analysis fixes: warning C6246: Local declaration of 'NumTris' hides declaration of the same name in outer scope. Change 3096356 on 2016/08/22 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'InWorld'. Change 3096387 on 2016/08/22 by Steve.Robb Static analysis fixes: warning C6011: Dereferencing NULL pointer 'ExpressionPreviewMaterial'. warning C6011: Dereferencing NULL pointer 'MaterialNode->MaterialExpression'. Change 3096400 on 2016/08/22 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'FunctionInputs'. Change 3096413 on 2016/08/22 by Steve.Robb Static analysis fix: warning C28182: Dereferencing NULL pointer. 'LODPackage' contains the same NULL value as 'AssetsOuter' did. Change 3096416 on 2016/08/22 by Steve.Robb Static analysis fixes: warning C6237: (<zero> && <expression>) is always zero. <expression> is never evaluated and might have side effects. Change 3096423 on 2016/08/22 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'RedirectorRefs.Redirector'. Change 3096439 on 2016/08/22 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'NewObject'. Change 3096446 on 2016/08/22 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'BaseClass'. Change 3096454 on 2016/08/22 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'OldSkeleton'. Change 3096464 on 2016/08/22 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'MyNode'. Change 3096469 on 2016/08/22 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'VRInteractor'. Change 3097559 on 2016/08/23 by Steve.Robb Alternate fix to CL# 3096439. Change 3097583 on 2016/08/23 by Steve.Robb Static analysis fixes: warning C6011: Dereferencing NULL pointer 'SourceCategoryEnum'. warning C6011: Dereferencing NULL pointer 'CurrentWorld'. Change 3097584 on 2016/08/23 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'LocalizationTarget'. Change 3097585 on 2016/08/23 by Steve.Robb Static analysis fixes: warning C28182: Dereferencing NULL pointer. 'VariableSetNode' contains the same NULL value as 'AssignmentNode' did. warning C6011: Dereferencing NULL pointer 'FirstNativeClass'. Change 3097588 on 2016/08/23 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'OutputObjClass'. Change 3097589 on 2016/08/23 by Steve.Robb Static analysis fix: warning C28182: Dereferencing NULL pointer. 'Term' contains the same NULL value as 'RValueTerm' did. Change 3097591 on 2016/08/23 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'Schema'. Change 3097597 on 2016/08/23 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'LayerInfo'. Change 3097598 on 2016/08/23 by Steve.Robb Const-correctness fix for ILandscapeEditorModule::GetHeightmapFormatByExtension and ILandscapeEditorModule::GetWeightmapFormatByExtension. Change 3097600 on 2016/08/23 by Steve.Robb Fix for incorrect null check. Change 3097605 on 2016/08/23 by Steve.Robb Spurious static analysis fix: warning C6011: Dereferencing NULL pointer 'TexDataPtr'. Bug filed here: https://connect.microsoft.com/VisualStudio/feedback/details/3078125 Change 3097609 on 2016/08/23 by Steve.Robb Static analysis fix: warning C28182: Dereferencing NULL pointer. 'ObjClass' contains the same NULL value as 'BaseClass' did. Change 3097613 on 2016/08/23 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'InEdGraph'. Change 3097620 on 2016/08/23 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'ThisScalableFloat'. Change 3097627 on 2016/08/23 by Steve.Robb Static analysis fixes: warning C6011: Dereferencing NULL pointer 'AnimBlueprint'. Change 3097629 on 2016/08/23 by Steve.Robb Static analysis fix: warning C28182: Dereferencing NULL pointer. 'Pin' contains the same NULL value as 'PoseNet' did. Change 3097631 on 2016/08/23 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'IPOverlayInfo.Brush'. Change 3097634 on 2016/08/23 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'Survey'. Change 3097639 on 2016/08/23 by Steve.Robb Static analysis fixes: warning C6011: Dereferencing NULL pointer 'Settings'. Change 3097650 on 2016/08/23 by Steve.Robb Alternate fix for CL# 3097597. Change 3097725 on 2016/08/23 by Steve.Robb Spurious static analysis fix: warning C6011: Dereferencing NULL pointer 'BodySetup'. Change 3097764 on 2016/08/23 by Steve.Robb Spurious static analysis fix: warning C28182: Dereferencing NULL pointer. 'FoundMode' contains the same NULL value as 'ElementType * FoundMode=LoopModes.FindByPredicate(<lambda>)' did. Change 3097770 on 2016/08/23 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'Triangle'. Change 3097775 on 2016/08/23 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'CurGroup'. Change 3097796 on 2016/08/23 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'SourceComponent'. Change 3097797 on 2016/08/23 by Steve.Robb Spurious static analysis fix: warning C6011: Dereferencing NULL pointer 'HitComponent'. Change 3097843 on 2016/08/23 by Steve.Robb Spurious static analysis fix: Dereferencing NULL pointer. 'MatchingNewPin' contains the same NULL value as 'UEdGraphPin ** MatchingNewPin=this->Pins.FindByPredicate(<lambda>)' did. Change 3097864 on 2016/08/23 by Steve.Robb Static analysis fixes: warning C6011: Dereferencing NULL pointer 'ObjectClass'. warning C6011: Dereferencing NULL pointer 'Client'. Change 3097871 on 2016/08/23 by Steve.Robb Static analysis fix: warning C28182: Dereferencing NULL pointer. 'SMLightingMesh->StaticMesh' contains the same NULL value as 'StaticMesh' did. Change 3098015 on 2016/08/23 by Steve.Robb Alternative fix for CL# 3094864. Change 3098024 on 2016/08/23 by Steve.Robb Alternative fix for CL# 3094943. Change 3098052 on 2016/08/23 by Steve.Robb Alternative fix for CL# 3094886. Change 3098080 on 2016/08/23 by Steve.Robb Static analysis fix: warning C28182: Dereferencing NULL pointer. 'PrimitiveComponent' contains the same NULL value as 'ReplacementComponent' did. Change 3098102 on 2016/08/23 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'IndexTermPtr'. Change 3098148 on 2016/08/23 by Steve.Robb Static analysis fixes: warning C6011: Dereferencing NULL pointer 'Node'. warning C6011: Dereferencing NULL pointer 'OldNode'. warning C6011: Dereferencing NULL pointer 'LinkedPin'. warning C6011: Dereferencing NULL pointer 'RootNode'. Change 3098156 on 2016/08/23 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'BTGraphNode'. Change 3098176 on 2016/08/23 by Steve.Robb Static analysis fixes: warning C6011: Dereferencing NULL pointer 'NewSection'. Change 3098182 on 2016/08/23 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'Sprite'. Change 3098197 on 2016/08/23 by Steve.Robb Static analysis fixes: warning C6011: Dereferencing NULL pointer 'Node'. Coding standards fixes. Change 3098202 on 2016/08/23 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'ExistingEventNode'. Change 3098208 on 2016/08/23 by Steve.Robb Static analysis fixes: warning C28182: Dereferencing NULL pointer. 'Graph' contains the same NULL value as 'GraphNew' did. warning C28182: Dereferencing NULL pointer. 'GoodGraph' contains the same NULL value as 'GraphNew' did. Change 3098229 on 2016/08/23 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'Property'. Change 3099188 on 2016/08/24 by Steve.Robb Static analysis fixes: warning C6011: Dereferencing NULL pointer 'SharedBaseClass'. Change 3099195 on 2016/08/24 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'NodeProperty'. Change 3099205 on 2016/08/24 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'VarDesc'. Change 3099228 on 2016/08/24 by Steve.Robb Spurious static analysis fix: warning C28182: Dereferencing NULL pointer. 'Node' contains the same NULL value as 'ParentNode' did. Change 3099539 on 2016/08/24 by Steve.Robb Spurious static analysis fixes: warning C6011: Dereferencing NULL pointer 'InBlueprint'. warning C28182: Dereferencing NULL pointer. 'TestObj' contains the same NULL value as 'TestOuter' did. https://connect.microsoft.com/VisualStudio/feedback/details/3082362 https://connect.microsoft.com/VisualStudio/feedback/details/3082622 Change 3099546 on 2016/08/24 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'OldNode'. Change 3099561 on 2016/08/24 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'ReferencedObject'. Change 3099571 on 2016/08/24 by Steve.Robb Static analysis fix: Dereferencing NULL pointer. 'ObjClass' contains the same NULL value as 'CommonBaseClass' did. Change 3099600 on 2016/08/24 by Steve.Robb Static analysis fix: warning C6385: Reading invalid data from 'this->Packages': the readable size is '24' bytes, but '32' bytes may be read. warning C6385: Reading invalid data from 'Diff.ObjectSets': the readable size is '24' bytes, but '32' bytes may be read. warning C6386: Buffer overrun while writing to 'Objects': the writable size is '24' bytes, but '32' bytes might be written. Change 3099912 on 2016/08/24 by Steve.Robb Static analysis fixes: warning C6011: Dereferencing NULL pointer 'SharedBaseClass'. Change 3099923 on 2016/08/24 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'ThumbnailInfo'. Change 3100977 on 2016/08/25 by Steve.Robb Static analysis fixes: warning C6001: Using uninitialized memory '*VectorRef'. warning C6001: Using uninitialized memory '*PointRef'. warning C6001: Using uninitialized memory '*PolyRef'. Coding standard fixes. Change 3100985 on 2016/08/25 by Steve.Robb Static analyis fix: warning C6011: Dereferencing NULL pointer 'SpawnClassPin'. Change 3100987 on 2016/08/25 by Steve.Robb Static analysis fixes: warning C28183: 'Resources.BitmapHandle' could be '0', and is a copy of the value found in 'CreateDIBSection()`829': this does not adhere to the specification for the function 'SelectObject'. warning C6387: '_Param_(4)' could be '0': this does not adhere to the specification for the function 'CreateDIBSection'. Change 3100992 on 2016/08/25 by Steve.Robb Static analysis fix: warning C6287: Redundant code: the left and right sub-expressions are identical. Change 3101000 on 2016/08/25 by Steve.Robb Static analysis fixes: warning C6001: Using uninitialized memory 'tmpMemReq'. warning C6001: Using uninitialized memory 'TmpCreateInfo'. Change 3101004 on 2016/08/25 by Steve.Robb warning C28182: Dereferencing NULL pointer. 'FoliageActor' contains the same NULL value as 'Actor' did. Change 3101009 on 2016/08/25 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'StaticMeshComponent'. Change 3101115 on 2016/08/25 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'Canvas'. Change 3101120 on 2016/08/25 by Steve.Robb Fixes to previous fixes. Change 3101128 on 2016/08/25 by Steve.Robb Static analysis fixes: warning C6011: Dereferencing NULL pointer 'Stream'. Change 3101281 on 2016/08/25 by Steve.Robb Static analysis fixes: warning C6262: Function uses '99256' bytes of stack: exceeds /analyze:stacksize '81940'. Consider moving some data to heap. warning C6001: Using uninitialized memory 'Pixel'. Change 3101292 on 2016/08/25 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'BulkDataPointer'. Change 3101299 on 2016/08/25 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'UnrealMaterial'. Change 3101300 on 2016/08/25 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'AssetObject'. Change 3101304 on 2016/08/25 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'MeshRootNode'. Change 3101311 on 2016/08/25 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'Cluster'. Change 3101323 on 2016/08/25 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'StartNode'. Change 3101329 on 2016/08/25 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'Object'. Change 3101333 on 2016/08/25 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'ArrayRef'. Change 3101339 on 2016/08/25 by Steve.Robb Static analysis fixes: warning C6011: Dereferencing NULL pointer 'ImportData'. warning C6011: Dereferencing NULL pointer 'CurveToImport'. Change 3101485 on 2016/08/25 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'ObjectProperty'. Change 3101583 on 2016/08/25 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'UserDefinedStruct'. Change 3105721 on 2016/08/30 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'SpawnClassPin'. Change 3105724 on 2016/08/30 by Steven.Hutton Change users page to more responsive paginated version. Change 3105725 on 2016/08/30 by Steven.Hutton Added field for crash processor failed Change 3105786 on 2016/08/30 by Steve.Robb Reintroduced missing operator<< for enum classes. Change 3105803 on 2016/08/30 by Steve.Robb Removal of obsolete code and state. PrepareCppStructOps() has several unreachable blocks, one of which sets UScriptStruct::bCppStructOpsFromBaseClass which is otherwise never true, so it can be removed too. Change 3106251 on 2016/08/30 by Steve.Robb Switch static analysis node to build editor instead of just the engine. Change 3107556 on 2016/08/31 by Steven.Hutton Added build version data from CRP to DB as part of add crash #rb none Change 3107557 on 2016/08/31 by Steven.Hutton Passed build version data to CRW through crash description #rb none Change 3107634 on 2016/08/31 by Graeme.Thornton Only accept "log=<filename>" and "abslog=<filename>" command line values if the filename has a "log" or "txt" extension #jira UE-20147 Change 3107797 on 2016/08/31 by Steve.Robb Fix for UHT debugging manifest, after paths changed in CL# 3088416. Change 3107964 on 2016/08/31 by Steve.Robb TCString::Strfind renamed to TCString::Strifind, as it is case-insensitive. New case-sensitive TCString::Strfind added, based on GitHub PR #2453. Change 3108023 on 2016/08/31 by Steve.Robb Removal of test code which no longer compiles now that we emit errors on skipped preprocessor blocks. Change 3108160 on 2016/08/31 by Steven.Hutton Update to add new filter to website front page #rb none Change 3109556 on 2016/09/01 by Steven.Hutton Fixing compile warning #rb none Change 3110001 on 2016/09/01 by Steve.Robb PR #2468: Fix for UnrealHeaderTool TArray<TScriptInterface<>> UFUNCTION parameters (Contributed by UnrealEverything) Change 3111835 on 2016/09/02 by Steve.Robb Enforce uint8 on UENUM() enum classes. #jira UE-35224 Change 3111867 on 2016/09/02 by Steve.Robb Static analysis fix: warning C6236: (<expression> || <non-zero constant>) is always a non-zero constant. Change 3111880 on 2016/09/02 by Steve.Robb Static analysis fixes: warning C6386: Buffer overrun while writing to 'Views': the writable size is 'ShaderBindings.ResourceViews.public: int __cdecl TArray<class TSlateD3DTypedShaderParameter<struct ID3D11ShaderResourceView> *,class FDefaultAllocator>::Num(void)const ()*8' bytes, but '16' bytes might be written. warning C6386: Buffer overrun while writing to 'ConstantBuffers': the writable size is 'ShaderBindings.ConstantBuffers.public: int __cdecl TArray<class TSlateD3DTypedShaderParameter<struct ID3D11Buffer> *,class FDefaultAllocator>::Num(void)const ()*8' bytes, but '16' bytes might be written. Change 3111886 on 2016/09/02 by Steve.Robb Static analysis fix: warning C6386: Buffer overrun while writing to 'DistortionMeshIndices': the writable size is 'NumIndices*2' bytes, but '4' bytes might be written. Change 3112025 on 2016/09/02 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'pInputProcessParameters'. warning C6011: Dereferencing NULL pointer 'pOutputProcessParameters'. Change 3112051 on 2016/09/02 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'Command'. Change 3112066 on 2016/09/02 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'CurNetDriver'. Change 3112093 on 2016/09/02 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'byteArray'. Change 3112110 on 2016/09/02 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'PersistentParty'. Change 3112123 on 2016/09/02 by Steve.Robb Static analysis fixes: warning C6011: Dereferencing NULL pointer 'CurDriver'. warning C6011: Dereferencing NULL pointer 'CurNetDriver'. warning C6011: Dereferencing NULL pointer 'CurWorld'. Change 3112157 on 2016/09/02 by Steve.Robb Static analysis fixes: warning C6011: Dereferencing NULL pointer 'UnitTest'. Change 3112283 on 2016/09/02 by Steve.Robb Static analysis fixes: warning C6244: Local declaration of 'None' hides previous declaration at line '173' of 'netcodeunittest.h'. Change 3113455 on 2016/09/05 by Chris.Wood CRP performance improvements (v1.1.25) Change 3113468 on 2016/09/05 by Steve.Robb Reverting unnecessary merge in CL# 3112464. Change 3113508 on 2016/09/05 by Steve.Robb Static analysis fix: warning C6031: Return value ignored: 'CoCreateGuid'. Change 3113588 on 2016/09/05 by Steve.Robb Static analysis fix: warning C6244: Local declaration of 'hInstance' hides previous declaration Change 3113863 on 2016/09/06 by Steve.Robb Fix for this error: Could not find a part of the path 'D:\Build\++UE4+Dev-Core+Compile\Sync\Engine\Plugins\2D\Paper2D\Binaries\Win64\UE4Editor.modules'. Change 3113864 on 2016/09/06 by Steve.Robb Misc static analysis fixes for VS2015 Update 2. Change 3113918 on 2016/09/06 by Ben.Marsh Explicitly check for version manifest existing before trying to delete it, rather than swallowing the exception. Change 3114293 on 2016/09/06 by Steve.Robb Static analysis fixes for Visual Studio Update 2. Change 3115732 on 2016/09/07 by Steve.Robb Static analysis fix: warning C6262: Function uses '121180' bytes of stack: exceeds /analyze:stacksize '81940'. Consider moving some data to heap. Change 3115754 on 2016/09/07 by Steve.Robb GObjectArrayForDebugVisualizers init order fix. Removal of obsolete FName visualizer helper code. Change 3115774 on 2016/09/07 by Steve.Robb Fix for ICE by moving static variables into their own file and removing const return types. #jira UE-35597 Change 3116061 on 2016/09/07 by Steve.Robb Redundant LOCTEXT_NAMESPACE removed - was missed in CL# 3115774. Change 3117478 on 2016/09/08 by Steve.Robb Static analysis fixes in third party code, using a new macro-based system. Change 3119152 on 2016/09/09 by Steve.Robb TArray::RemoveAt and RemoveAtSwap with a bool Count is now a compile error. Change 3119200 on 2016/09/09 by Steve.Robb Fix for destructors not being called in TSparseArray move assignment. Change 3119568 on 2016/09/09 by Steve.Robb Fix for TSparseArray visualizer. Change 3119591 on 2016/09/09 by Steve.Robb New MakeShared function which allocates the object and reference controller in a single block. Change 3120281 on 2016/09/09 by Steve.Robb Fix for ICE on static analysis build. #jira UE-35596 Change 3120786 on 2016/09/12 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'SavedGame'. Change 3120787 on 2016/09/12 by Steve.Robb Removal of TEnumAsByte on enum classes. Change 3120789 on 2016/09/12 by Steve.Robb Static analysis fixes: warning C6385: Reading invalid data from 'D3D11X_CERAM_OFFSET_BY_SET_STAGE': the readable size is '28' bytes, but '64' bytes may be read. warning C6101: Returning uninitialized memory '*pDescriptorDst'. A successful path through the function does not set the named _Out_ parameter. Change 3121234 on 2016/09/12 by Steve.Robb Unused ToBuildInfoString function declaration removed. Change 3122616 on 2016/09/13 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'Compiler'. Change 3123070 on 2016/09/13 by Steve.Robb Static analysis fix: warning C28182: Dereferencing NULL pointer. 'top' contains the same NULL value as 'edge' did. [CL 3126145 by Robert Manuszewski in Main branch]
2016-09-15 00:21:42 -04:00
return;
}
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3125172) #lockdown Nick.Penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 3053250 on 2016/07/18 by Steve.Robb TNot metafunction added. Change 3053252 on 2016/07/18 by Steve.Robb New TIsEnumClass trait. Change 3061345 on 2016/07/22 by Robert.Manuszewski Changing FMallocStomp::GetAllocationSize() to return the requested allocation size instead of the physical allocation size to make FMallocStomp work properly with FMallocPoisonProxy Change 3061377 on 2016/07/22 by Graeme.Thornton Added bStripAnimationDataOnDedicatedServer option to UAnimationSettings which will remove all compressed data from cooked server data. Disabled by default Change 3064592 on 2016/07/26 by Steven.Hutton Uploading repository files Change 3064595 on 2016/07/26 by Steven.Hutton Assign crashes to buggs based not just on Callstack but also based on Error message. Error messages have "data" masked out and are then compared to a table of error messages to find similar messages. Ensures are not currently filtered by error message. Change 3066046 on 2016/07/27 by Graeme.Thornton Better dedicated client/server class exclusion during cooking - Add class lists to cooker settings so they can be modified in the editor Change 3066077 on 2016/07/27 by Graeme.Thornton Move Paragon NeedsLoadForServer calls over to the new config based system Change 3066203 on 2016/07/27 by Chris.Wood CrashReportProcess logging and Slack reporting improvements to monitor disk space. [UE-31129] - Crash Report server need to alert on Slack when the PDB cache is full Change 3066276 on 2016/07/27 by Graeme.Thornton Move simple NeedsLoadForClient implementations over to new config based system Change 3068019 on 2016/07/28 by Graeme.Thornton Don't call ReleaseResources on UStaticMesh if we never render, and therefore never actually initialize the resources - Corrects some bad stats Change 3068218 on 2016/07/28 by Chris.Wood CrashReportProcess 1.1.18 passes BuildVersion to MinidumpDiagnostics [UE-31706] - Add new BuildVersion string to crash context and website Also modified command line log file ini settings to stop MDD stalling trying to sort and delete its logs. Change 3071665 on 2016/08/01 by Robert.Manuszewski Moving RemoveNamesFromMasterList from UEnum destructor to BeginDestroy to avoid potential issues when its package has already been destroyed. Change 3073388 on 2016/08/02 by Graeme.Thornton Invalidate string asset reference tags after finishing up loading of an async package Change 3073745 on 2016/08/02 by Robert.Manuszewski Disabling logging to memory in shipping by default. From now on FOutputDeviceMemory will be an opt-in for games. #jira FORT-27839 Change 3074866 on 2016/08/03 by Robert.Manuszewski PR #2650: Fixed a bug where newline escape sequence wasnt written to the pipe (Contributed by ozturkhakki) Change 3075128 on 2016/08/03 by Steve.Robb Static analysis fixes: error C2065: 'ThisOuterWorld': undeclared identifier Change 3075130 on 2016/08/03 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'LODLevel' Change 3075131 on 2016/08/03 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'Owner' Change 3075235 on 2016/08/03 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'AnimToOperateOn' Change 3075248 on 2016/08/03 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'ParentProfile' Change 3075662 on 2016/08/03 by Steve.Robb Static analysis/buffer size fix: warning C28020: The expression '_Param_(7)>=sizeof(ICMP_ECHO_REPLY)+_Param_(4)+8' is not true at this call Change 3075668 on 2016/08/03 by Steve.Robb Static analysis fix: warning C6326: Potential comparison of a constant with another constant Change 3075679 on 2016/08/03 by Chris.Wood Added -NoTrimCallstack command line arg to MDD calls from CRP 1.1.19 [OR-26335] - 29.1 crash reporter generating reports with no callstacks / info New MDD has -NoTrimCallstack option to leave possibly irrelevant entires in the stack. Trimming is somewhat arbitrary and based on string matching. I'd rather see the whole thing. Change 3077070 on 2016/08/04 by Steve.Robb Dead array slack tracking code removed. Change 3077113 on 2016/08/04 by Steve.Robb TEnumAsByte is now deprecated for enum classes. All current uses fixed (which tidies up that code anyway). New FArchive::op<< for enum classes. Generated code now never uses TEnumAsByte for enum classes. Change 3077117 on 2016/08/04 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'DefaultSettings' Change 3078709 on 2016/08/05 by Steve.Robb FUNCTION_NO_NULL_RETURN_* macros added to statically annotate a function to say that it never returns a null pointer. TObjectIterator annotated to never return null. NewObject annotated to never return null. Change 3078836 on 2016/08/05 by Graeme.Thornton Silently skip creating exports from a package where the outer is also an export and has been filtered at runtime during loading Change 3082217 on 2016/08/09 by Steve.Robb Missing #include for FUniqueNetIdRepl added. Change 3083679 on 2016/08/10 by Chris.Wood CrashReportProcess performance improvements. CRP v1.1.22 [UE-34402] - Crash Reporter: Improve CRP performance by allowing multiple MDD instances [UE-34403] - Crash Reporter: CRP should throw away crashes when backlog is too large to avoid runaway Passing lock details to MDD on command line and managing multiple MDD tasks in CRP. Configurable values for range of queue sizes that cause us to throw away crashes. Change 3085362 on 2016/08/11 by Steve.Robb Rule-of-three fixes for FAIMessageObserver, to prevent accidents. From here: https://udn.unrealengine.com/questions/306507/tstaticarray-doesnt-call-destructor-on-elements-be.html Change 3085396 on 2016/08/11 by Steve.Robb Swap can now be configured via the TUseBitwiseSwap trait to not use Memswap, which can be less optimal for certain types. Change 3088840 on 2016/08/15 by Steve.Robb TRemoveReference moved to its own header. Change 3088858 on 2016/08/15 by Steve.Robb TDecay moved to its own header. Change 3088963 on 2016/08/15 by Steve.Robb Invoke function, for doing a generic call on a generic callable thing. Equivalent to std::invoke. Change 3089144 on 2016/08/15 by Steve.Robb Algo::Transform updated to use Invoke. Algorithm tests updated to test the new features. Change 3089147 on 2016/08/15 by Steve.Robb TLess and TGreater moved to their own headers and defaulted to void as a type-deducing version, as per std::. Change 3090243 on 2016/08/16 by Steve.Robb New Algo::Sort and Algo::SortBy algorithms. Change 3090387 on 2016/08/16 by Steve.Robb Improved bitwise swapping for Swap. See: https://udn.unrealengine.com/questions/306922/swap-is-painfully-slow.html Change 3090444 on 2016/08/16 by Steve.Robb Ptr+Size overloads removed after discussion - MakeArrayView should be used instead. Change 3090495 on 2016/08/16 by Steve.Robb Assert when FString::Mid is passed a negative count. #jira UE-18756 Change 3093455 on 2016/08/18 by Steve.Robb Debuggability and efficiency improvements to UScriptStruct::DeferCppStructOps. Change 3094476 on 2016/08/19 by Steve.Robb BOM removed from InvariantCulture.h. Change 3094697 on 2016/08/19 by Steve.Robb Static analysis fix: warning C6237: (<zero> && <expression>) is always zero. <expression> is never evaluated and might have side effects. Change 3094702 on 2016/08/19 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'Interactor'. Change 3094715 on 2016/08/19 by Steve.Robb Static analysis fix: warning C6385: Reading invalid data from 'Order': the readable size is '256' bytes, but '8160' bytes may be read. Change 3094737 on 2016/08/19 by Steve.Robb Static analysis fixes: warning C6011: Dereferencing NULL pointer 'OwnedComponent'. warning C28182: Dereferencing NULL pointer. 'Child' contains the same NULL value as 'AttachToComponent' did. Change 3094750 on 2016/08/19 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'Actor'. Change 3094768 on 2016/08/19 by Steve.Robb Static analysis fixes: warning C6011: Dereferencing NULL pointer 'LevelSequence'. warning C6011: Dereferencing NULL pointer 'Actor'. Change 3094774 on 2016/08/19 by Steve.Robb Static analysis fixes: warning C6011: Dereferencing NULL pointer 'CallFunctionNode'. Change 3094783 on 2016/08/19 by Steve.Robb Static analysis fixes: warning C6011: Dereferencing NULL pointer 'TargetPin'. Change 3094807 on 2016/08/19 by Steve.Robb Static analysis fixes: warning C6011: Dereferencing NULL pointer 'SourceClass'. Change 3094815 on 2016/08/19 by Steve.Robb Static analysis fixes: warning C6011: Dereferencing NULL pointer 'VarNode'. warning C6011: Dereferencing NULL pointer 'SourceClass'. Change 3094840 on 2016/08/19 by Steve.Robb Static analysis fixes: warning C6011: Dereferencing NULL pointer 'TunnelGraph'. warning C28182: Dereferencing NULL pointer. 'GraphNode' contains the same NULL value as 'SourceNode' did. Change 3094864 on 2016/08/19 by Steve.Robb Static analysis fixes: warning C6011: Dereferencing NULL pointer 'SpawnClassPin'. Change 3094880 on 2016/08/19 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'PrevIfIndexMatchesStatement'. Change 3094886 on 2016/08/19 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'SpawnBlueprintPin'. Change 3094903 on 2016/08/19 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'K2Node'. Change 3094916 on 2016/08/19 by Steve.Robb Static analysis fix: Dereferencing NULL pointer 'CompilerContext'. Change 3094931 on 2016/08/19 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'VariablePin'. Change 3094935 on 2016/08/19 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'CurrentPin'. Change 3094943 on 2016/08/19 by Steve.Robb Static analysis fixes: warning C6011: Dereferencing NULL pointer 'Pin'. warning C28182: Dereferencing NULL pointer. 'Graph' contains the same NULL value as 'TargetGraph' did. Change 3094960 on 2016/08/19 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'LastOutPin'. Change 3095046 on 2016/08/19 by Steve.Robb Single parameter version of CastChecked tagged to never return null. Change 3095054 on 2016/08/19 by Steve.Robb Committed wrong version in CL# 3095046. Change 3095089 on 2016/08/19 by Steve.Robb Static analysis fixes: warning C6509: Invalid annotation: 'return' cannot be referenced in some contexts warning C6101: Returning uninitialized memory '*lpdwExitCode'. Change 3096035 on 2016/08/22 by Steve.Robb Fix for static lighting in pixel inspector. Change 3096039 on 2016/08/22 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'World'. Change 3096045 on 2016/08/22 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'Actor'. Change 3096058 on 2016/08/22 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'OtherPin'. Change 3096059 on 2016/08/22 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'MainMesh'. Change 3096066 on 2016/08/22 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'SourceType'. Change 3096070 on 2016/08/22 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'LastPushStatement'. Change 3096074 on 2016/08/22 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'OriginalDataTableInPin'. Change 3096075 on 2016/08/22 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'CurrentPin'. Change 3096081 on 2016/08/22 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'RunningPlatformData'. Change 3096156 on 2016/08/22 by Steve.Robb Static analysis fixes: warning C6011: Dereferencing NULL pointer 'BP'. warning C6011: Dereferencing NULL pointer 'Object'. Change 3096308 on 2016/08/22 by Steve.Robb Static analysis fixes: warning C6011: Dereferencing NULL pointer 'TopMipData'. warning C6011: Dereferencing NULL pointer 'MipCoverageData[0]'. Change 3096315 on 2016/08/22 by Steve.Robb Static analysis fixes: warning C6011: Dereferencing NULL pointer 'OldParent'. warning C6011: Dereferencing NULL pointer 'TestExecutionInfo'. Change 3096318 on 2016/08/22 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'OwnerClass'. Change 3096322 on 2016/08/22 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'StaticMeshInstanceData'. Change 3096337 on 2016/08/22 by Steve.Robb Static analysis fixes: warning C6011: Dereferencing NULL pointer 'Pin'. warning C6011: Dereferencing NULL pointer 'SpawnVarPin'. Change 3096345 on 2016/08/22 by Steve.Robb Static analysis fixes: warning C6246: Local declaration of 'NumTris' hides declaration of the same name in outer scope. Change 3096356 on 2016/08/22 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'InWorld'. Change 3096387 on 2016/08/22 by Steve.Robb Static analysis fixes: warning C6011: Dereferencing NULL pointer 'ExpressionPreviewMaterial'. warning C6011: Dereferencing NULL pointer 'MaterialNode->MaterialExpression'. Change 3096400 on 2016/08/22 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'FunctionInputs'. Change 3096413 on 2016/08/22 by Steve.Robb Static analysis fix: warning C28182: Dereferencing NULL pointer. 'LODPackage' contains the same NULL value as 'AssetsOuter' did. Change 3096416 on 2016/08/22 by Steve.Robb Static analysis fixes: warning C6237: (<zero> && <expression>) is always zero. <expression> is never evaluated and might have side effects. Change 3096423 on 2016/08/22 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'RedirectorRefs.Redirector'. Change 3096439 on 2016/08/22 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'NewObject'. Change 3096446 on 2016/08/22 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'BaseClass'. Change 3096454 on 2016/08/22 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'OldSkeleton'. Change 3096464 on 2016/08/22 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'MyNode'. Change 3096469 on 2016/08/22 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'VRInteractor'. Change 3097559 on 2016/08/23 by Steve.Robb Alternate fix to CL# 3096439. Change 3097583 on 2016/08/23 by Steve.Robb Static analysis fixes: warning C6011: Dereferencing NULL pointer 'SourceCategoryEnum'. warning C6011: Dereferencing NULL pointer 'CurrentWorld'. Change 3097584 on 2016/08/23 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'LocalizationTarget'. Change 3097585 on 2016/08/23 by Steve.Robb Static analysis fixes: warning C28182: Dereferencing NULL pointer. 'VariableSetNode' contains the same NULL value as 'AssignmentNode' did. warning C6011: Dereferencing NULL pointer 'FirstNativeClass'. Change 3097588 on 2016/08/23 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'OutputObjClass'. Change 3097589 on 2016/08/23 by Steve.Robb Static analysis fix: warning C28182: Dereferencing NULL pointer. 'Term' contains the same NULL value as 'RValueTerm' did. Change 3097591 on 2016/08/23 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'Schema'. Change 3097597 on 2016/08/23 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'LayerInfo'. Change 3097598 on 2016/08/23 by Steve.Robb Const-correctness fix for ILandscapeEditorModule::GetHeightmapFormatByExtension and ILandscapeEditorModule::GetWeightmapFormatByExtension. Change 3097600 on 2016/08/23 by Steve.Robb Fix for incorrect null check. Change 3097605 on 2016/08/23 by Steve.Robb Spurious static analysis fix: warning C6011: Dereferencing NULL pointer 'TexDataPtr'. Bug filed here: https://connect.microsoft.com/VisualStudio/feedback/details/3078125 Change 3097609 on 2016/08/23 by Steve.Robb Static analysis fix: warning C28182: Dereferencing NULL pointer. 'ObjClass' contains the same NULL value as 'BaseClass' did. Change 3097613 on 2016/08/23 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'InEdGraph'. Change 3097620 on 2016/08/23 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'ThisScalableFloat'. Change 3097627 on 2016/08/23 by Steve.Robb Static analysis fixes: warning C6011: Dereferencing NULL pointer 'AnimBlueprint'. Change 3097629 on 2016/08/23 by Steve.Robb Static analysis fix: warning C28182: Dereferencing NULL pointer. 'Pin' contains the same NULL value as 'PoseNet' did. Change 3097631 on 2016/08/23 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'IPOverlayInfo.Brush'. Change 3097634 on 2016/08/23 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'Survey'. Change 3097639 on 2016/08/23 by Steve.Robb Static analysis fixes: warning C6011: Dereferencing NULL pointer 'Settings'. Change 3097650 on 2016/08/23 by Steve.Robb Alternate fix for CL# 3097597. Change 3097725 on 2016/08/23 by Steve.Robb Spurious static analysis fix: warning C6011: Dereferencing NULL pointer 'BodySetup'. Change 3097764 on 2016/08/23 by Steve.Robb Spurious static analysis fix: warning C28182: Dereferencing NULL pointer. 'FoundMode' contains the same NULL value as 'ElementType * FoundMode=LoopModes.FindByPredicate(<lambda>)' did. Change 3097770 on 2016/08/23 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'Triangle'. Change 3097775 on 2016/08/23 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'CurGroup'. Change 3097796 on 2016/08/23 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'SourceComponent'. Change 3097797 on 2016/08/23 by Steve.Robb Spurious static analysis fix: warning C6011: Dereferencing NULL pointer 'HitComponent'. Change 3097843 on 2016/08/23 by Steve.Robb Spurious static analysis fix: Dereferencing NULL pointer. 'MatchingNewPin' contains the same NULL value as 'UEdGraphPin ** MatchingNewPin=this->Pins.FindByPredicate(<lambda>)' did. Change 3097864 on 2016/08/23 by Steve.Robb Static analysis fixes: warning C6011: Dereferencing NULL pointer 'ObjectClass'. warning C6011: Dereferencing NULL pointer 'Client'. Change 3097871 on 2016/08/23 by Steve.Robb Static analysis fix: warning C28182: Dereferencing NULL pointer. 'SMLightingMesh->StaticMesh' contains the same NULL value as 'StaticMesh' did. Change 3098015 on 2016/08/23 by Steve.Robb Alternative fix for CL# 3094864. Change 3098024 on 2016/08/23 by Steve.Robb Alternative fix for CL# 3094943. Change 3098052 on 2016/08/23 by Steve.Robb Alternative fix for CL# 3094886. Change 3098080 on 2016/08/23 by Steve.Robb Static analysis fix: warning C28182: Dereferencing NULL pointer. 'PrimitiveComponent' contains the same NULL value as 'ReplacementComponent' did. Change 3098102 on 2016/08/23 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'IndexTermPtr'. Change 3098148 on 2016/08/23 by Steve.Robb Static analysis fixes: warning C6011: Dereferencing NULL pointer 'Node'. warning C6011: Dereferencing NULL pointer 'OldNode'. warning C6011: Dereferencing NULL pointer 'LinkedPin'. warning C6011: Dereferencing NULL pointer 'RootNode'. Change 3098156 on 2016/08/23 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'BTGraphNode'. Change 3098176 on 2016/08/23 by Steve.Robb Static analysis fixes: warning C6011: Dereferencing NULL pointer 'NewSection'. Change 3098182 on 2016/08/23 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'Sprite'. Change 3098197 on 2016/08/23 by Steve.Robb Static analysis fixes: warning C6011: Dereferencing NULL pointer 'Node'. Coding standards fixes. Change 3098202 on 2016/08/23 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'ExistingEventNode'. Change 3098208 on 2016/08/23 by Steve.Robb Static analysis fixes: warning C28182: Dereferencing NULL pointer. 'Graph' contains the same NULL value as 'GraphNew' did. warning C28182: Dereferencing NULL pointer. 'GoodGraph' contains the same NULL value as 'GraphNew' did. Change 3098229 on 2016/08/23 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'Property'. Change 3099188 on 2016/08/24 by Steve.Robb Static analysis fixes: warning C6011: Dereferencing NULL pointer 'SharedBaseClass'. Change 3099195 on 2016/08/24 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'NodeProperty'. Change 3099205 on 2016/08/24 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'VarDesc'. Change 3099228 on 2016/08/24 by Steve.Robb Spurious static analysis fix: warning C28182: Dereferencing NULL pointer. 'Node' contains the same NULL value as 'ParentNode' did. Change 3099539 on 2016/08/24 by Steve.Robb Spurious static analysis fixes: warning C6011: Dereferencing NULL pointer 'InBlueprint'. warning C28182: Dereferencing NULL pointer. 'TestObj' contains the same NULL value as 'TestOuter' did. https://connect.microsoft.com/VisualStudio/feedback/details/3082362 https://connect.microsoft.com/VisualStudio/feedback/details/3082622 Change 3099546 on 2016/08/24 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'OldNode'. Change 3099561 on 2016/08/24 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'ReferencedObject'. Change 3099571 on 2016/08/24 by Steve.Robb Static analysis fix: Dereferencing NULL pointer. 'ObjClass' contains the same NULL value as 'CommonBaseClass' did. Change 3099600 on 2016/08/24 by Steve.Robb Static analysis fix: warning C6385: Reading invalid data from 'this->Packages': the readable size is '24' bytes, but '32' bytes may be read. warning C6385: Reading invalid data from 'Diff.ObjectSets': the readable size is '24' bytes, but '32' bytes may be read. warning C6386: Buffer overrun while writing to 'Objects': the writable size is '24' bytes, but '32' bytes might be written. Change 3099912 on 2016/08/24 by Steve.Robb Static analysis fixes: warning C6011: Dereferencing NULL pointer 'SharedBaseClass'. Change 3099923 on 2016/08/24 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'ThumbnailInfo'. Change 3100977 on 2016/08/25 by Steve.Robb Static analysis fixes: warning C6001: Using uninitialized memory '*VectorRef'. warning C6001: Using uninitialized memory '*PointRef'. warning C6001: Using uninitialized memory '*PolyRef'. Coding standard fixes. Change 3100985 on 2016/08/25 by Steve.Robb Static analyis fix: warning C6011: Dereferencing NULL pointer 'SpawnClassPin'. Change 3100987 on 2016/08/25 by Steve.Robb Static analysis fixes: warning C28183: 'Resources.BitmapHandle' could be '0', and is a copy of the value found in 'CreateDIBSection()`829': this does not adhere to the specification for the function 'SelectObject'. warning C6387: '_Param_(4)' could be '0': this does not adhere to the specification for the function 'CreateDIBSection'. Change 3100992 on 2016/08/25 by Steve.Robb Static analysis fix: warning C6287: Redundant code: the left and right sub-expressions are identical. Change 3101000 on 2016/08/25 by Steve.Robb Static analysis fixes: warning C6001: Using uninitialized memory 'tmpMemReq'. warning C6001: Using uninitialized memory 'TmpCreateInfo'. Change 3101004 on 2016/08/25 by Steve.Robb warning C28182: Dereferencing NULL pointer. 'FoliageActor' contains the same NULL value as 'Actor' did. Change 3101009 on 2016/08/25 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'StaticMeshComponent'. Change 3101115 on 2016/08/25 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'Canvas'. Change 3101120 on 2016/08/25 by Steve.Robb Fixes to previous fixes. Change 3101128 on 2016/08/25 by Steve.Robb Static analysis fixes: warning C6011: Dereferencing NULL pointer 'Stream'. Change 3101281 on 2016/08/25 by Steve.Robb Static analysis fixes: warning C6262: Function uses '99256' bytes of stack: exceeds /analyze:stacksize '81940'. Consider moving some data to heap. warning C6001: Using uninitialized memory 'Pixel'. Change 3101292 on 2016/08/25 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'BulkDataPointer'. Change 3101299 on 2016/08/25 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'UnrealMaterial'. Change 3101300 on 2016/08/25 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'AssetObject'. Change 3101304 on 2016/08/25 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'MeshRootNode'. Change 3101311 on 2016/08/25 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'Cluster'. Change 3101323 on 2016/08/25 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'StartNode'. Change 3101329 on 2016/08/25 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'Object'. Change 3101333 on 2016/08/25 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'ArrayRef'. Change 3101339 on 2016/08/25 by Steve.Robb Static analysis fixes: warning C6011: Dereferencing NULL pointer 'ImportData'. warning C6011: Dereferencing NULL pointer 'CurveToImport'. Change 3101485 on 2016/08/25 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'ObjectProperty'. Change 3101583 on 2016/08/25 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'UserDefinedStruct'. Change 3105721 on 2016/08/30 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'SpawnClassPin'. Change 3105724 on 2016/08/30 by Steven.Hutton Change users page to more responsive paginated version. Change 3105725 on 2016/08/30 by Steven.Hutton Added field for crash processor failed Change 3105786 on 2016/08/30 by Steve.Robb Reintroduced missing operator<< for enum classes. Change 3105803 on 2016/08/30 by Steve.Robb Removal of obsolete code and state. PrepareCppStructOps() has several unreachable blocks, one of which sets UScriptStruct::bCppStructOpsFromBaseClass which is otherwise never true, so it can be removed too. Change 3106251 on 2016/08/30 by Steve.Robb Switch static analysis node to build editor instead of just the engine. Change 3107556 on 2016/08/31 by Steven.Hutton Added build version data from CRP to DB as part of add crash #rb none Change 3107557 on 2016/08/31 by Steven.Hutton Passed build version data to CRW through crash description #rb none Change 3107634 on 2016/08/31 by Graeme.Thornton Only accept "log=<filename>" and "abslog=<filename>" command line values if the filename has a "log" or "txt" extension #jira UE-20147 Change 3107797 on 2016/08/31 by Steve.Robb Fix for UHT debugging manifest, after paths changed in CL# 3088416. Change 3107964 on 2016/08/31 by Steve.Robb TCString::Strfind renamed to TCString::Strifind, as it is case-insensitive. New case-sensitive TCString::Strfind added, based on GitHub PR #2453. Change 3108023 on 2016/08/31 by Steve.Robb Removal of test code which no longer compiles now that we emit errors on skipped preprocessor blocks. Change 3108160 on 2016/08/31 by Steven.Hutton Update to add new filter to website front page #rb none Change 3109556 on 2016/09/01 by Steven.Hutton Fixing compile warning #rb none Change 3110001 on 2016/09/01 by Steve.Robb PR #2468: Fix for UnrealHeaderTool TArray<TScriptInterface<>> UFUNCTION parameters (Contributed by UnrealEverything) Change 3111835 on 2016/09/02 by Steve.Robb Enforce uint8 on UENUM() enum classes. #jira UE-35224 Change 3111867 on 2016/09/02 by Steve.Robb Static analysis fix: warning C6236: (<expression> || <non-zero constant>) is always a non-zero constant. Change 3111880 on 2016/09/02 by Steve.Robb Static analysis fixes: warning C6386: Buffer overrun while writing to 'Views': the writable size is 'ShaderBindings.ResourceViews.public: int __cdecl TArray<class TSlateD3DTypedShaderParameter<struct ID3D11ShaderResourceView> *,class FDefaultAllocator>::Num(void)const ()*8' bytes, but '16' bytes might be written. warning C6386: Buffer overrun while writing to 'ConstantBuffers': the writable size is 'ShaderBindings.ConstantBuffers.public: int __cdecl TArray<class TSlateD3DTypedShaderParameter<struct ID3D11Buffer> *,class FDefaultAllocator>::Num(void)const ()*8' bytes, but '16' bytes might be written. Change 3111886 on 2016/09/02 by Steve.Robb Static analysis fix: warning C6386: Buffer overrun while writing to 'DistortionMeshIndices': the writable size is 'NumIndices*2' bytes, but '4' bytes might be written. Change 3112025 on 2016/09/02 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'pInputProcessParameters'. warning C6011: Dereferencing NULL pointer 'pOutputProcessParameters'. Change 3112051 on 2016/09/02 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'Command'. Change 3112066 on 2016/09/02 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'CurNetDriver'. Change 3112093 on 2016/09/02 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'byteArray'. Change 3112110 on 2016/09/02 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'PersistentParty'. Change 3112123 on 2016/09/02 by Steve.Robb Static analysis fixes: warning C6011: Dereferencing NULL pointer 'CurDriver'. warning C6011: Dereferencing NULL pointer 'CurNetDriver'. warning C6011: Dereferencing NULL pointer 'CurWorld'. Change 3112157 on 2016/09/02 by Steve.Robb Static analysis fixes: warning C6011: Dereferencing NULL pointer 'UnitTest'. Change 3112283 on 2016/09/02 by Steve.Robb Static analysis fixes: warning C6244: Local declaration of 'None' hides previous declaration at line '173' of 'netcodeunittest.h'. Change 3113455 on 2016/09/05 by Chris.Wood CRP performance improvements (v1.1.25) Change 3113468 on 2016/09/05 by Steve.Robb Reverting unnecessary merge in CL# 3112464. Change 3113508 on 2016/09/05 by Steve.Robb Static analysis fix: warning C6031: Return value ignored: 'CoCreateGuid'. Change 3113588 on 2016/09/05 by Steve.Robb Static analysis fix: warning C6244: Local declaration of 'hInstance' hides previous declaration Change 3113863 on 2016/09/06 by Steve.Robb Fix for this error: Could not find a part of the path 'D:\Build\++UE4+Dev-Core+Compile\Sync\Engine\Plugins\2D\Paper2D\Binaries\Win64\UE4Editor.modules'. Change 3113864 on 2016/09/06 by Steve.Robb Misc static analysis fixes for VS2015 Update 2. Change 3113918 on 2016/09/06 by Ben.Marsh Explicitly check for version manifest existing before trying to delete it, rather than swallowing the exception. Change 3114293 on 2016/09/06 by Steve.Robb Static analysis fixes for Visual Studio Update 2. Change 3115732 on 2016/09/07 by Steve.Robb Static analysis fix: warning C6262: Function uses '121180' bytes of stack: exceeds /analyze:stacksize '81940'. Consider moving some data to heap. Change 3115754 on 2016/09/07 by Steve.Robb GObjectArrayForDebugVisualizers init order fix. Removal of obsolete FName visualizer helper code. Change 3115774 on 2016/09/07 by Steve.Robb Fix for ICE by moving static variables into their own file and removing const return types. #jira UE-35597 Change 3116061 on 2016/09/07 by Steve.Robb Redundant LOCTEXT_NAMESPACE removed - was missed in CL# 3115774. Change 3117478 on 2016/09/08 by Steve.Robb Static analysis fixes in third party code, using a new macro-based system. Change 3119152 on 2016/09/09 by Steve.Robb TArray::RemoveAt and RemoveAtSwap with a bool Count is now a compile error. Change 3119200 on 2016/09/09 by Steve.Robb Fix for destructors not being called in TSparseArray move assignment. Change 3119568 on 2016/09/09 by Steve.Robb Fix for TSparseArray visualizer. Change 3119591 on 2016/09/09 by Steve.Robb New MakeShared function which allocates the object and reference controller in a single block. Change 3120281 on 2016/09/09 by Steve.Robb Fix for ICE on static analysis build. #jira UE-35596 Change 3120786 on 2016/09/12 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'SavedGame'. Change 3120787 on 2016/09/12 by Steve.Robb Removal of TEnumAsByte on enum classes. Change 3120789 on 2016/09/12 by Steve.Robb Static analysis fixes: warning C6385: Reading invalid data from 'D3D11X_CERAM_OFFSET_BY_SET_STAGE': the readable size is '28' bytes, but '64' bytes may be read. warning C6101: Returning uninitialized memory '*pDescriptorDst'. A successful path through the function does not set the named _Out_ parameter. Change 3121234 on 2016/09/12 by Steve.Robb Unused ToBuildInfoString function declaration removed. Change 3122616 on 2016/09/13 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'Compiler'. Change 3123070 on 2016/09/13 by Steve.Robb Static analysis fix: warning C28182: Dereferencing NULL pointer. 'top' contains the same NULL value as 'edge' did. [CL 3126145 by Robert Manuszewski in Main branch]
2016-09-15 00:21:42 -04:00
FCustomStructureParamHelper::UpdateCustomStructurePins(GetTargetFunction(), this, Pin);
// Refresh the node to hide internal-only pins once the [invalid] connection has been broken
if (Pin->bHidden && Pin->bNotConnectable && Pin->LinkedTo.Num() == 0)
{
GetGraph()->NotifyGraphChanged();
Merging UE4-Pretest @ 2042161 to UE4 Change 1996384 by Andrew Brown: 322252 - EDITOR: Asset picker displays incorrect text when there are no filter results. Change 1996385 by Andrew Brown: 321858 - CRASH: Assertion failed: (Index >= 0) Function: STransformViewportToolBar::GetLocationGridLabel() STextBlock::CacheDesiredSize() Change 1996977 by Andrew Brown: 309685 - UE4: Adding an event/renaming an event on an event track in Matinee does not update the MatineeActor node in blueprint Change 2034873 by Jaroslaw Palczynski: More robust VS installation detection. Change 2039693 by Jaroslaw Palczynski: 327268 - RocketGDC: POSTLAUNCH: DEV: Make engine more robust against bad Visual Studio environment variables Change 1978978 by Jaroslaw Surowiec: - Removed obsolete AllowEliminatingReferences from the FArchive Change 2020326 by Maciej Mroz: pretest BP K2Node: RemovePinsFromOldPins function moved from K2Node to RemovePinsFromOldPins Change 2017608 by Maciej Mroz: pretest Some changes in SFortMissionEventSelector caused by FPinTypeTreeInfo Change 2017463 by Maciej Mroz: PinTypeSelector can lins unloaded UDStructs Change 2019979 by Maciej Mroz: pretest BP: Crash when performing Diff against Depot with blueprints containing Format Text nodes Change 2024469 by Maciej Mroz: MemberReference variable added to PinType. It's necessary for delegate's signature. Change 2024049 by Maciej Mroz: HasExternalBlueprintDependencies added to UK2Node_DynamicCast Change 2024586 by Maciej Mroz: FillSimpleMemberReference fix Change 2024472 by Maciej Mroz: workaround for delegates signature in pintype removed. Change 2023997 by Maciej Mroz: BP, UDStruc: Class UserDefinedStructEditorData added. It fixes many problems with undo/redo. Change 2021934 by Maciej Mroz: typo in a comment Change 2020355 by Maciej Mroz: Back out changelist 2020342 Change 2022178 by Maciej Mroz: CRASH: PRETEST: EDITOR: UDS: Crash when undo then redo new variable in struct that is used by blueprint Change 2021958 by Maciej Mroz: CRASH: PRETEST: EDITOR: UDS: Crash using variable of a type of copied struct in blueprint Change 1986247 by Maciej Mroz: User Defined Structures: circle dependency fixed. Early version. Change 1985107 by Maciej Mroz: UserDefinedStruct cannot have a field of a non-native type Change 1986278 by Maciej Mroz: pretest ensureMsgf in Struct::link Change 1986250 by Maciej Mroz: User Defined Struct: Non native classes are accepted types od values in structures. Change 1980955 by Maciej Mroz: Using AssetPtr and LazyPtr as UFunction parameter (intput or return) is explicitly disallowed. Change 2041215 by Maciej Mroz: ttp331249 BLOCKER: PRETEST: UI: Survive the Storm is missing the Mission HUD. Change 1984316 by Maciej Mroz: New User Defined Structure. WIP - there are still problems with circular dependencies. Change 2011616 by Maciej Mroz: UserDefinedStructures - various problems fixed. Change 2011609 by Maciej Mroz: more robust HasExternalBlueprintDependencies implementation Change 2016697 by Maciej Mroz: pretest BP: UDStruct - default value propagation in cooked build Change 2016288 by Maciej Mroz: pretest BP: UDStruct: Renaming variables wont break links from make/break nodes Change 1987637 by Maciej Mroz: CustomStruct icons placeholders Change 1987422 by Maciej Mroz: Better tooltips for variables in MyBlueprint Change 1991387 by Maciej Mroz: UDStructures fixes: Change 2029165 by Maciej Mroz: BP: better comment for incomatible pins Change 2030016 by Maciej Mroz: 8PRETEST: EDITOR: UDS: Defaults values aren't updated in struct type variables in blueprints Change 2030017 by Maciej Mroz: Unused UDStructure code removed (PPF_UseDefaultsForUDStructures) Change 2028856 by Maciej Mroz: BP: Pins with PC_Struct type are compatible only with exactly the same structure. (No derived structures are not handled as compatible). Change 2026701 by Maciej Mroz: k2: odd error on an add item node within a function (see attached image in details) Change 2028160 by Maciej Mroz: PRETEST: EDITOR: UDS: When deleting structures just after creating there is always some references in the memory Change 2028165 by Maciej Mroz: BP: BreakHitResult function has proper icon. Change 2033340 by Maciej Mroz: ttp330786 PRETEST: EDITOR: UDS: Changes of default values aren't apllied to breeak nodes for text type of variables Change 2034255 by Maciej Mroz: EDITOR: UDS: Changes of default values aren't apllied to make nodes for text type of variables ttp#330620 Change 2037682 by Maciej Mroz: ttp331309 BLOCKER: PRETEST: CRASH: EDITOR: Crash occurs when performing Diff Against Depot on any Blueprint Change 2033142 by Maciej Mroz: CreateDelegate Node uses internally FMemberReference. Refactor. Change 2032329 by Maciej Mroz: ttp330608 CRASH: PRETEST: EDITOR: UDS: Crash when trying to use struct named 'Color' in blueprint Change 2032420 by Maciej Mroz: ttp330620 PRETEST: EDITOR: UDS: Changes of default values aren't apllied to make nodes for text type of variables Change 2033139 by Maciej Mroz: Functions generated from CustomEvents can be also identified by GUID Change 2026631 by Maciej Mroz: BP. UDStruct: Invalid structs are handled better. Change 2025344 by Maciej Mroz: UDStruct enabled by default Change 2026672 by Maciej Mroz: EDITOR: BP: Can't easily remove 'pass-by-reference' pins on ReturnNodes Change 2026411 by Maciej Mroz: ExposeOnSpawn updated, it supports UDStructs, custom native Structs, and it throws compiler error. Change 2025342 by Maciej Mroz: GenerateBlueprintSkeleton moved from BLueprint::Serialize to RegenerateBlueprintClass, because SkeletonClass compilation requires all external dependencies to be loaded and linked. Change 2025570 by Steve Robb: Moved dependency processing to its own function. Change 2033235 by Steve Robb: String improvements Change 2035830 by Steve Robb: Workaround for FriendsAndChat crash in Fortnite. Change 2035115 by Steve Robb: UBT build time regression fixes. Change 2034162 by Steve Robb: 312775: UObject improvement: Ensure that *.generated.inl is included somewhere Change 2034181 by Steve Robb: Removal of any references to .generated.inl Change 2020165 by Steve Robb: BuildPublicAndPrivateUObjectHeaders factored out into its own function. Change 2020187 by Steve Robb: CreateModuleCompileEnvironment function factored out. Change 2020055 by Steve Robb: Refactoring of Unity.cs to remove complex and duplicate iteration. Change 2020083 by Steve Robb: Another use of dictionary utilities. Change 2031049 by Steve Robb: 312775: UObject improvement: Ensure that *.generated.inl is included somewhere Change 2025728 by Steve Robb: Refactored the application of a shared PCH file to multiple file into a single ApplySharedPCH function. Change 2020068 by Steve Robb: A couple of helpful utility functions for populating dictionaries. Change 2032307 by Steve Robb: 312775: UObject improvement: Ensure that *.generated.inl is included somewhere [CL 2054495 by Robert Manuszewski in Main branch]
2014-04-23 20:18:55 -04:00
}
if (bIsBeadFunction)
{
if (Pin->LinkedTo.Num() == 0)
{
// Commit suicide; bead functions must always have an input and output connection
DestroyNode();
}
}
InvalidatePinTooltips();
FDynamicOutputHelper(Pin).ConformOutputType();
}
void UK2Node_CallFunction::PinDefaultValueChanged(UEdGraphPin* Pin)
{
Super::PinDefaultValueChanged(Pin);
InvalidatePinTooltips();
FDynamicOutputHelper(Pin).ConformOutputType();
}
UFunction* UK2Node_CallFunction::GetTargetFunction() const
{
UFunction* Function = FunctionReference.ResolveMember<UFunction>(GetBlueprintClassFromNode());
return Function;
}
UFunction* UK2Node_CallFunction::GetTargetFunctionFromSkeletonClass() const
{
UFunction* TargetFunction = nullptr;
UClass* ParentClass = FunctionReference.GetMemberParentClass( GetBlueprintClassFromNode() );
UBlueprint* OwningBP = ParentClass ? Cast<UBlueprint>( ParentClass->ClassGeneratedBy ) : nullptr;
if( UClass* SkeletonClass = OwningBP ? OwningBP->SkeletonGeneratedClass : nullptr )
{
TargetFunction = SkeletonClass->FindFunctionByName( FunctionReference.GetMemberName() );
}
return TargetFunction;
}
UEdGraphPin* UK2Node_CallFunction::GetThenPin() const
{
const UEdGraphSchema_K2* K2Schema = GetDefault<UEdGraphSchema_K2>();
UEdGraphPin* Pin = FindPin(K2Schema->PN_Then);
check(Pin == NULL || Pin->Direction == EGPD_Output); // If pin exists, it must be output
return Pin;
}
UEdGraphPin* UK2Node_CallFunction::GetReturnValuePin() const
{
const UEdGraphSchema_K2* K2Schema = GetDefault<UEdGraphSchema_K2>();
UEdGraphPin* Pin = FindPin(K2Schema->PN_ReturnValue);
check(Pin == NULL || Pin->Direction == EGPD_Output); // If pin exists, it must be output
return Pin;
}
bool UK2Node_CallFunction::IsLatentFunction() const
{
if (UFunction* Function = GetTargetFunction())
{
if (Function->HasMetaData(FBlueprintMetadata::MD_Latent))
{
return true;
}
}
return false;
}
bool UK2Node_CallFunction::AllowMultipleSelfs(bool bInputAsArray) const
{
if (UFunction* Function = GetTargetFunction())
{
return CanFunctionSupportMultipleTargets(Function);
}
return Super::AllowMultipleSelfs(bInputAsArray);
}
bool UK2Node_CallFunction::CanFunctionSupportMultipleTargets(UFunction const* Function)
{
bool const bIsImpure = !Function->HasAnyFunctionFlags(FUNC_BlueprintPure);
bool const bIsLatent = Function->HasMetaData(FBlueprintMetadata::MD_Latent);
bool const bHasReturnParam = (Function->GetReturnProperty() != nullptr);
return !bHasReturnParam && bIsImpure && !bIsLatent;
}
bool UK2Node_CallFunction::CanPasteHere(const UEdGraph* TargetGraph) const
{
// Basic check for graph compatibility, etc.
bool bCanPaste = Super::CanPasteHere(TargetGraph);
// We check function context for placability only in the base class case; derived classes are typically bound to
// specific functions that should always be placeable, but may not always be explicitly callable (e.g. InternalUseOnly).
if(bCanPaste && GetClass() == StaticClass())
{
const UEdGraphSchema_K2* K2Schema = GetDefault<UEdGraphSchema_K2>();
uint32 AllowedFunctionTypes = UEdGraphSchema_K2::EFunctionType::FT_Pure | UEdGraphSchema_K2::EFunctionType::FT_Const | UEdGraphSchema_K2::EFunctionType::FT_Protected;
if(K2Schema->DoesGraphSupportImpureFunctions(TargetGraph))
{
AllowedFunctionTypes |= UEdGraphSchema_K2::EFunctionType::FT_Imperative;
}
UFunction* TargetFunction = GetTargetFunction();
if( !TargetFunction )
{
TargetFunction = GetTargetFunctionFromSkeletonClass();
}
Copying //UE4/Release-Staging-4.13 to //UE4/Dev-Main (Source: //UE4/Release-4.13 @ 3088355) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3088355 on 2016/08/13 by Max.Preussner Media Player Editor: Fixed Local file paths without file:// open when pressing Enter, but not when clicking Go button (UE-34643) #jira UE-34643 Change 3088331 on 2016/08/13 by Max.Preussner Media: Fixed Failing to load Precached Media Source (UE-34285) #jira UE-34285 Change 3088202 on 2016/08/12 by Zabir.Hoque Porting DX12 Fix from MS: Update D3D12 RHI for 4.13 - Fixed compiler errors with missing RHI methods. Fixed compiler warnings where names were hidding other variables. #jira UE-0 Change 3088149 on 2016/08/12 by Mark.Satterthwaite Duplicate CL #3087991: Initial AVFoundation implementation of Media Framework for Mac, iOS & tvOS. - Slight adaptation of AppleMovieStreamer to pick up movies from inside the GameContentDir on all Apple platforms. - Video playback occurs via AVPlayerItemVideoOutput's attached to the AVPlayerItem's output. This means gathering video samples is trivial. - Metal texture updates occur by wrapping the texture object provided by AVF - for Mac this is simple as it can bind to the IOSurface directly, for iOS/tvOS we have to create a CVMetalTextureCache and allocate our texture from there. - OpenGL and OpenGLES currently have to lock the pixel buffer and upload to a texture the old fashioned way - this should be revisited when there is time. - Subtitles/Captions are captured using AVPlayerItemLegibleOutput which also connects to the AVPlayerItem's output. - On Mac audio samples are returned by manually reading from the stream using an AVAssetReaderTrackOutput, including manual seeking and synching. - On iOS/tvOS the audio is played directly by AVPlayer because the IOSAudio system can't handle procedural buffers - otherwise it could reuse the Mac code. - AVFoundation does not support AVI - that's an obsolete Microsoft/Windows file-format. - Only 'file://' URLs are supported - streaming would require a totally different audio solution (using MTAudioProcessingTap) and has many more edge and failure cases that would need to be handled. #jira UE-34315 Change 3088131 on 2016/08/12 by Chris.Babcock Fix iterative deploy for new ADB #jira UE-34638 #ue4 #android Change 3088106 on 2016/08/12 by Dan.Oconnor Make check less strict, PinIds are only unique within a single node, unfortunately, hence why we use both an OwningNode and a PinId when resolving references #jira UE-34564 Change 3088099 on 2016/08/12 by Zabir.Hoque Move end of frame resource clean up to end of viewport rendering, since EndFrame calls were not consistently coming in when movie was playing but asset loading was done. #Jira UE-27026 Change 3088072 on 2016/08/12 by Max.Chen Sequencer: Level editor camera cut flag is now a one way gate This resolves issues to do with the flag being erroneously reset by external forces. #jira UE-33875 Change 3088031 on 2016/08/12 by Jeff.Campeau Fix WinXP build issues in WmfMedia and SteamVR plugins. #jira UE-32421 Change 3088025 on 2016/08/12 by Tom.Looman Updated VR Template with new VR device ID blueprint node. #jira ue-34592 Change 3088023 on 2016/08/12 by Tom.Looman Added PS Move input handling support to VR Template. #jira UE-34188 Change 3087989 on 2016/08/12 by Michael.Trepka Restored the code that's staging custom icons for Mac, which was accidentally removed when we switched to use build receipts. #jira UE-34581 Change 3087907 on 2016/08/12 by mason.seay New test assets for sub instance testing #jira UE-29618 Change 3087812 on 2016/08/12 by Maciej.Mroz #jira UE-34247 Nativized UMG assets not visible Redone cl#3087726 from Dev-Blueprints Change 3087810 on 2016/08/12 by Jeff.Fisher UEVR-13 PSVR: TCR Requirements : sceHmdReprojectionSetOutputMinColor Exposed sceHmdReprojectionSetOutputMinColor to blueprint via Morpheus Function Library. Allows one to set the minimum output color from reprojection processing. Can be used to mitigate certain artifacts (dark smearing, reprojection edges). See Sony documentation for more information. This setting does persist across switches out of vr mode and hmd disconnection, but it has no effect out of vr modes. #review-3087760 @nick.whiting #jira UEVR-13 Change 3087795 on 2016/08/12 by Mitchell.Wilson Added project thumbnail to subway sequencer. Added thumbnails to subway sequencer levels. Re-saved multiple files to resolve empty engine version and nodeguid warnings. #jira UE-34521 UE-34519 Change 3087730 on 2016/08/12 by Michael.Trepka Made bGeneratedSYMFile true by default and changed some ifs in Mac UBT code so that non-debug configs always build dSYM files on Mac, unless bGeneratedSYMFile is set to false in BuildConfiguration.xml #jira UE-34548 Change 3087699 on 2016/08/12 by Jeff.Campeau Make resource generation fault tolerant of unset config values. #jira UE-34614 Change 3087690 on 2016/08/12 by Mitchell.Wilson Added a thumbnail for the BlueprintRenderToTarget level. #jira UE-34544 Change 3087688 on 2016/08/12 by Marc.Audy Fix headshot crash when tearing down physics when not registered #jira UE-32935 Change 3087615 on 2016/08/12 by Ben.Woodhouse Fix for crash in shadowsetup when frustum is invalid #jira UE-33014 Change 3087607 on 2016/08/12 by Max.Chen Sequencer: Fix Import/Export FBX - Import FBX now maps arbitrary float properties as well as the transform - Import/Export FBX now consistently operates on selected nodes or all nodes - Fixed exported node names so that they're consistent with Sequencer node names #jira UETOOL-534 Change 3087586 on 2016/08/12 by Chris.Babcock Add HUAWEI_Mali device model recognition for Vulkan #jira UE-34610 #ue4 #android Change 3087529 on 2016/08/12 by Jurre.deBaare Fix for crash when start index != 0 and sampling at a different rate #jira UE-34637 Change 3087519 on 2016/08/12 by Ben.Marsh Pass the -ignorejunk flag on to child UBT instance when running a clean. Change 3087455 on 2016/08/12 by Jurre.deBaare Alembic importer plugin needs proper logo #fix Replaced icon with inverted official Alembic logo #jira UE-34474 Change 3087360 on 2016/08/12 by Ben.Marsh Print out the UBT command line before running it, to help diagnose -ignorejunk problem. Change 3087285 on 2016/08/12 by Lina.Halper - Add which animation it fails to compress - Make sure it doesn't go in there unless you have skeleton #jira: UE-34490 Change 3087237 on 2016/08/12 by Alex.Delesky #jira UE-34453 - Fixed an issue where a cast to find specific thumbnail scene info was being erroneously applied to the skeletal mesh thumbnail scene instead of the material thumbnail scene. Change 3087215 on 2016/08/12 by danny.bouimad #jira UE-29618 updated QA-AnimProfiles again... Change 3087212 on 2016/08/12 by Danny.Bouimad #jira UE-29618 updated TM-PhysicalAnimProfiles again Change 3087200 on 2016/08/12 by Robert.Manuszewski Fix for potential deadlock when a worker thread crashes caused by critical section lock in FOutputDeviceRedirector. The engine will no longer attempt to flush log messages in CheckRenderingThreadHealth if a critical error has already occured. Crash handlers flush log anyway. #jira UE-34373 Change 3087188 on 2016/08/12 by Matthew.Griffin Added SignExecutables Option to installed build script, which defaults to false and means most people won't have to pass -nosign anymore Added HostPlatformsOnly Option to installed build script as a way to easily make a build with only your current platform, without having to disable every other platform manually Change 3087160 on 2016/08/12 by Ben.Marsh Propagate the -ignorejunk option when we're building UHT as a child process in UBT. Change 3087148 on 2016/08/12 by Ben.Marsh Fix sample build failure due to intermediate headers being deleted from engine folder. Some modules only have *private* UObject classes which aren't included in the editor zip. UBT detects that there are no longer and UObject classes and deletes the intermediate folder, causing BuildGraph to fail when it detects the change. Change 3087143 on 2016/08/12 by Danny.Bouimad #jira UE-29618 updated QA-AnimProfiles and SK_Mannequin_PhysAssetTest to include constaint profiles for switching, removed old map in wrong folder. Change 3087140 on 2016/08/12 by Steve.Robb GitHub 2256 : Update UnrealCodeAnalyzer.Build.cs I have no evidence that this actually fixes anything, but it doesn't harm anything to add it... #jira UE-29286 Change 3087139 on 2016/08/12 by Steve.Robb Failed link actions during a hot reload now output a 'failed.hotreload' file in the destination folder to indicate that another link attempt is needed. This is because we can't distinguish between a successful compile with a failed link action, and a compile with no changes which requires no new module. #jira UE-31575 Change 3087107 on 2016/08/12 by Jurre.deBaare Alembic Import with empty first frame will cause the editor to crash #jira UE-34515 #fix Reject empty or invalid frames and remove them from the object, output messages are generated for such frames/objects #misc added a static const value indicating the first frame instead of hardcoded 0 array accesors #misc check condition fix in Runnable #misc log now adds new page named after the imported Alembic file Change 3087079 on 2016/08/12 by Dmitriy.Dyomin Fixed: Corrupted level package on loading cooked content #jira UE-34591 Change 3087063 on 2016/08/12 by James.Cobbett #jira UE-29618 Submitting test assets for Alembic Importer Change 3087048 on 2016/08/12 by Matthew.Griffin Changed Launcher Samples to create aggregate from property to avoid error in preflights Only notify about Launcher Samples trigger in non-preflight builds Change 3086985 on 2016/08/12 by Maciej.Mroz #jira UE-34372 [CrashReport] UE4Editor_CoreUObject!StaticAllocateObject() [uobjectglobals.cpp:2102] Redone cl#3083825 from Dev-Blueprints Change 3086960 on 2016/08/12 by Matthew.Griffin Prevent Build DDC command from making DDC for platforms that aren't supported by project #jira UEB-698 Change 3086945 on 2016/08/12 by Dmitriy.Dyomin Fixed: Sub-level layers do not show up in Layers tab when loaded as a part of world composition #jira UE-18291 Change 3086904 on 2016/08/11 by Lina.Halper Reverting the ensure as raw curve track != compressed because it doesn't go to compressed if the value doesn't have anything more than >0.f #jira: UE-34570 Change 3086891 on 2016/08/11 by Lina.Halper DUPEFIX: CL 3086544 from Michael Noland Paper2D: Fixed a crash when mutating grouped sprite components at runtime, and cleaned up how collision rendering is done for grouped sprite components addressing some other issues as well #jira UE-34223 #tests (from Michael N) Tested with repro project from JIRA, as well as adding/removing instances in the editor and with some sprites in the group having collision and others not, clearing collision on the component itself, etc... #tests (from Lina H) started the test project from JIRA and PIE, and no crash. Change 3086837 on 2016/08/11 by Nick.Whiting Modifying IsInGameThread() checks in Oculus positional tracking code to be !IsInActualRenderingThread(). This allows skel controls to use orientation and position with parallel animation #jira UE-32564 Change 3086797 on 2016/08/11 by Dmitry.Rekman Linux: fix crash on editor exit (UE-30795, UE-7519). - FText (stored in ZoomLevels static array) was being destructed during the global destructor phase, and it cannot do that. #jira UE-30795 Change 3086735 on 2016/08/11 by Richard.TalbotWatkin Fixed crash due to entries in the BlueprintCreatedComponents list not being present in the OwnerComponents list in RerunConstructionScript following an Undo. Handled this case explicitly now. #jira UE-34265 - Undo, Redo, Undoing a blueprint actor Replace action causes a crash Change 3086726 on 2016/08/11 by Jeff.Fisher UEVR-13 PSVR: TCR Requirements : 2DVR 2DVR is a way to show a static image on PlayStation VR temporarily, for example as a loading screen. -Implemented 2DVR reprojection mode, exposed Show2DVRSplashScreen and Hide2DVRSplashScreen to blueprint through a new MorpheusFunctionLibrary. #jira UEVR-13 #review-3086004 @chad.taylor @nick.whiting Change 3086652 on 2016/08/11 by Dmitry.Rekman Linux: re-enable ICU (UE-34012). - Built static libs against libc++; disabled using dynamic ones. - Fixes lack of rich text formatting. #jira UE-34012 Change 3086648 on 2016/08/11 by Nick.Whiting Adding support for getting the HMD Device name from code / blueprints #jira UE-31785 Change 3086589 on 2016/08/11 by Chad.Taylor Fixing Vive resolution on packaged builds #jira UE-34535 Change 3086568 on 2016/08/11 by Matt.Kuhlenschmidt Fix skeletal mesh LODs not being imported correctly. All meshes were imported to the base LOD instead. #jira UE-34397 Change 3086529 on 2016/08/11 by Marc.Audy Don't build UE4Game against shipping physx/apex libs causing module mismatches for binary code projects linked against profile libs (which is the default) #jira UE-34287 Change 3086376 on 2016/08/11 by Peter.Sauerbrei remove cached file handle from iOS and Android to save memory during loads #jira UE-31720 Change 3086369 on 2016/08/11 by Matt.Kuhlenschmidt Guard against crash with corrupted editor layouts #jira UE-34364 Change 3086345 on 2016/08/11 by Dan.Oconnor ULevel::Actors is now a TArray instead of a TTransArray. It has been misusing TTransArray for years (by both serializing individual elements and the entire array, TTransArray logic in EditorTransaction.cpp appears to be completely rotten, broken for a very long time) #jira UE-34380 Change 3086272 on 2016/08/11 by Cody.Albert Updating First Person templates to fix cook errors #jira UE-22726 Change 3086259 on 2016/08/11 by Nick.Whiting Added a project setting bStartInVR, which allows projects to specify that they want to default to starting in VR mode, regardless of whether the -vr commandline is used #jira UE-31617 Change 3086202 on 2016/08/11 by Marcus.Wassmer Duplicate 3086176 to fix broken shaderpipelines on PS4 #jira UE-34540 Change 3086080 on 2016/08/11 by mason.seay Test animbp for sub anim instances #jira UE-29618 Change 3086062 on 2016/08/11 by Tom.Looman Migrate from //depot/usr/ into Release-4.13 for VR Template. #jira ue-34533 Change 3086032 on 2016/08/11 by Mike.Beach Bolstering FSceneComponentDetails::MakeTransformDetails()'s null handling (there was one conditional that was missing it). #jira UE-34350 Change 3086025 on 2016/08/11 by Olaf.Piesche #jira UE-32058 Replicating fix from 3050352 Change 3085969 on 2016/08/11 by John.Pollard CIS fix #jira UE-30516 Change 3085819 on 2016/08/11 by Jurre.deBaare bForceOneSmoothingGroup not working for skeletal meshes #fix Added check for forced smoothing group and calculate normals accordingly #misc Spotted some non-referenced const TArrays being passed to CalculateTangents #jira UE-34555 Change 3085799 on 2016/08/11 by Ben.Marsh Pass the -ignorejunk option to UBT when generating code documentation. Since the UE_SDKS_ROOT environment variable is removed (because we don't want documentation for confidential platforms), UBT was deleting Linux target platform DLLs and causing an error when generating blueprint documentation when the files were missing. Change 3085763 on 2016/08/11 by Daniel.Lamb Fix for circular initialization of a singleton on android causing hang when using cook on the fly. #jira UE-34442 Change 3085717 on 2016/08/11 by Dmitry.Rekman Linux: better messaging around Steam initialization (UE-32052). - Also added a standalone test. #jira UE-32052 Change 3085715 on 2016/08/11 by Chris.Bunner Dropped check to an ensure as there's existing handling for invalid assets in that case. #jira UE-23902 Change 3085714 on 2016/08/11 by Olaf.Piesche #jira UE-30398 Fix offset added to particle collision locations. Replicated from 3084645 in Dev-Rendering Change 3085713 on 2016/08/11 by Chris.Babcock Allocate OptionalShadowDepthColorSurface to match DepthStencil dimensions (allow up to 4 resolutions for now) #jira UE-33840 #ue4 #android #ios #opengl Change 3085711 on 2016/08/11 by Olaf.Piesche #jira UE-34106 #jira UE-32784 #jira UE-31198 Reset vertex factories on mesh emitters if mesh has been reimported (if mesh package is dirty) Replicated from 3083909 in Dev-Rendering Change 3085707 on 2016/08/11 by Matthew.Griffin Duplicated CL#3081374 from Dev-Build and another fix to the SlateTextureAtlasInterface issue Change 3085656 on 2016/08/11 by Marc.Audy PR#2620. Make sure the component has its position updated before using it to spawn the child actor (Contributed by pampersrocker) #jira UE-32418 #jira UE-33617 Change 3085641 on 2016/08/11 by Lina.Halper Fixed invalid compressed track data - need a better solution and added ticket for 4.14 - UE-34547 #jira: UE-34077 Change 3085606 on 2016/08/11 by Max.Preussner Media: Attempt to fix Crash after Clearing Sound Wave Asset and Deleting Media Player from Content Browser (UE-34381) #jira UE-34381 Change 3085568 on 2016/08/11 by Maciej.Mroz #jira UE-34436 Ensures when copy/pasting linked anim bp nodes FGraphObjectTextFactory doesn't call compilation (it is called later by FBlueprintEditor::PasteNodesHere, when all nodes are pasted). CallFunction can be pasted even when it's function doesn't exist. The function could be created from a CustomEvent node, that was also pasted (so it wasn't compiled yet). Change 3085532 on 2016/08/11 by Peter.Sauerbrei fix for remote tool chain build issues with items not being built because they were already there and up to date, but are then deleted by the file sync because they are missing on the PC #jira UE-30335 Change 3085528 on 2016/08/11 by Max.Chen Sequence Recorder: Fix crash when actor class to record is null. #jira UE-34543 Change 3085418 on 2016/08/11 by Maciej.Mroz #jira UE-33883 Packaging with Nativize Blueprint Assets Causes Uninitialized Defaults Redone cl#3084313 from Dev-Blueprints Change 3085395 on 2016/08/11 by John.Pollard Don't allow hot-reloading if we're running PIE instances #jira UE-30516 Change 3085377 on 2016/08/11 by Tom.Looman Added StarterMap (WIP) to resolve JIRA. #jira ue-34311 Change 3085364 on 2016/08/11 by Ben.Woodhouse Remove the Shadows of Editor-Hidden Objects showflag. This feature hasn't worked for a long time, and making it work again would add additional complexity and performance overhead which we don't want to incur. #jira UE-28561 Change 3085341 on 2016/08/11 by Dmitriy.Dyomin Fixed: Creating Launcher Profile does not always shows all project available maps #jira UE-33765 Change 3085336 on 2016/08/11 by Andrew.Rodham Sequencer: Runtime instances are no longer updated when bluprints are recompiled This code was not actually necessary to fix UE-31635 since we explicitly update the object binding from the level sequence editor spawn register #jira UE-34499 Change 3085332 on 2016/08/11 by Dmitriy.Dyomin Fixed: UInstancedStaticMeshComponent does not keep its instances on duplication #jira UE-26868 Change 3085331 on 2016/08/11 by Ben.Woodhouse Fix for threading related crash with precomputed lighting volumes #jira UE-34531 Change 3085323 on 2016/08/11 by Allan.Bentham Remove android specific vulkan hack to recreate depth buffer's imageview. #jira UE-33593 #jira UE-33336 Change 3085313 on 2016/08/11 by Thomas.Sarkanen StopRecordingAnimation now uses the same maing logic as RecordAnimation This prevents inconsisten behaviour between record and stop record commands #jira UE-34498 - User is not able to use StopRecordingAnimation command on a single actor Change 3085301 on 2016/08/11 by Allan.Bentham Only allow gaussian DoF on mobile. Disable DoF for all other types. #jira UE-34217 Change 3085292 on 2016/08/11 by Thomas.Sarkanen Revert change to force shipping dlls in shipping builds #jira UE-34287 - Crash when opening a packaged code project for Win64 in shipping configuration Change 3085291 on 2016/08/11 by Matthew.Griffin Added nodes for Linux Editor, DDC and installed build Changed existing Linux nodes to use host platform version of UHT and removed unnecessary tagging of UHT products Change 3084973 on 2016/08/10 by Jeff.Campeau Use relative settings for ShooterGame manifest Package creation checks Xbox One target settings in Engine instead of Game config #jira UE-33808 Change 3084932 on 2016/08/10 by patrickr.donovan #jira UE-29618 SteamVR related test content updates- QA_SteamMoCo -> MotionController Components, fixing up button presses, reworking bounds drawing. Change 3084886 on 2016/08/10 by Daniel.Wright Reverted cl 2938543 "Lightmass now respects owner bHidden, and bCastHiddenShadow" because it did not have backwards compatibility so breaks content using hidden light cards #jira UE-33238 Change 3084878 on 2016/08/10 by Jeff.Campeau UFE launch command is generated with all devices requested instead of just the first. #jira UE-34302 Change 3084860 on 2016/08/10 by Dmitry.Rekman Fix CrashReportClient crashing on start (UE-32976, UE-34451). - Add spaces around -abslog=foo.log parameter to prevent unrelated parameters being concatenated (and missed) sometimes. #jira UE-32976 Change 3084756 on 2016/08/10 by Dmitry.Rekman Linux: clean-up compiler settings logic (UE-22715). - Includes parts of pull request #1704 by zaps166. - Disables exceptions in most builds. #jira UE-22715 Change 3084679 on 2016/08/10 by Richard.TalbotWatkin Duplicated from Dev-Editor, CL 3084475 Fixed issue with ModelComponent replication in client/server PIE if BSP is rebuilt. ModelComponent now implements IsNameStableForNetworking and always returns true, as a level's model components will never be rebuilt during a game session. Brush poly normals are now only fixed up in Editor builds. #jira UE-34391 - No run animation on client that is not focused when running 2 player and dedicated server Change 3084614 on 2016/08/10 by Daniel.Wright Scene capture alpha is now inverted to match DrawMaterialToRenderTarget, and to allow compositing with existing render target contents Added CompositeMode to SceneCapture2D, which can be used to addively accumulate or composite instead of the default overwrite behavior Added bCaptureOnMovement to SceneCapture, which can be disabled so the only source of scene capturing is a manual capture by calling CaptureScene() #jira UE-34321 Change 3084607 on 2016/08/10 by Jeremiah.Waldron Adding AlreadyOwned to EInAppPurchaseState and utilizing this enumeration for GooglePlay IAP Also changing IOS store to return AlreadyOwned when SKErrorClientInvalid is received. This seems to be the correct behavior according to: http://stackoverflow.com/questions/8833970/when-does-skerrorclientinvalid-occur Relates to: #jira UE-34283 Change 3084586 on 2016/08/10 by Jeff.Campeau Chunks don't assume they're done downloading at 100%. #jira UE-34386 Change 3084552 on 2016/08/10 by Lina.Halper Fix GetWorldFromContextObject to be used for another thread safer : Guard to modify static variabls by another thread #jira: UE-34416 Change 3084551 on 2016/08/10 by Mitchell.Wilson Changed AutoPossessPlayer to Disabled in ThirdPersonCharacter BP Changed AutoPossessPlayer to Player0 on the ThirdPersonCharacter Instance in the level. #jira UE-32855 Change 3084535 on 2016/08/10 by Mike.Beach Fix to MathExpression node - recent modifications caused subte changes in behavior (now back in line with how it worked before). Identifiers (variable names) are back to allowing numerical characters, and we properly detect the terminating 0 at the end of a name/string. Also, reserving symbols that currently aren't operators (as they used to be) so users don't start including them in identifier names. #jira UE-34378 Change 3084526 on 2016/08/10 by Jeff.Campeau Update XDK to August 2016 #jira UEPLAT-1374 Change 3084471 on 2016/08/10 by John.Pollard Fix UE-34295: [CrashReport] Crash opening project on network drive - VCRUNTIME140!<Unknown> #jira UE-34295 Change 3084363 on 2016/08/10 by Marc.Audy Make stat soundcues/waves work correctly when spinning up new audio devices and switching focused viewport #jira UE-34101 Change 3084231 on 2016/08/10 by Michael.Trepka Fixed a problem with the search box in blueprint context menu not getting focus on Mac #jira UE-20884 Change 3084229 on 2016/08/10 by Dmitry.Rekman Linux: remove hardcoded staged files (UE-24594). #jira UE-24594 Change 3084215 on 2016/08/10 by Chris.Bunner Moved StationaryLightOverlap vis mode drawing to later in the frame to avoid translucency in the view. #jira UE-31936 Change 3084052 on 2016/08/10 by Jurre.deBaare Alembic skeletal mesh importer does not calculate correct smoothing groups #fix follow same routine as regular smoothing group/normal calculation #jira UE-34493 Change 3084029 on 2016/08/10 by Phillip.Kavan [UE-34458] Fix a crash that can occur while instancing an uncompiled Blueprint class with a modified array property in the native parent class default object. Mirrored from //UE4/Dev-Blueprints (CL# 3082839). #jira UE-34458 Change 3084027 on 2016/08/10 by Ben.Woodhouse Fix for crash when applying BSP materials This was caused by the renderthread dereferencing a reference to a ModelElement object which had previously been destroyed on the game thread. The reference to the ModelElement was solely used to dereference the irrelevant light GUIDs. The fix involves removing the reference and keeping a local copy of this array which is owned by the proxy. This is consistent with other proxies, e.g. Landscape, StaticMesh. #jira UE-31460 Change 3083981 on 2016/08/10 by Matthew.Griffin Set Localization branch for Localise command to release version when running in the Release Branch #jira UE-34471 Change 3083970 on 2016/08/10 by Max.Preussner PS4Media: Fixed Media player does not play the 2nd item in the playlist on PS4 (UE-33481) #jira UE-33481 Change 3083918 on 2016/08/10 by Matthew.Griffin Exclude UBT generated files from the installed build Change 3083910 on 2016/08/10 by Matt.Kuhlenschmidt Fix crash using "Use Selected asset from Content Browser" for font materials when the selected asset is not a material #jira UE-34360 Change 3083890 on 2016/08/10 by Matthew.Griffin Converted Launcher Samples to a full list of sample nodes with individual cook platform settings. Changed unzip nodes to only rely on the produced zip files so that it doesn't copy anything from Temp Storage. Changed BuildLauncherSample command to take the root publish dir and build label so that it can create paths and do copies. Also removed code checking whether monolithic platforms are specified for the project. #jira UE-34401 Change 3083873 on 2016/08/10 by Dmitry.Rekman CMakefileGenerator: Fix compilation on .NET 4.0 and below (UE-34478). #jira UE-34478 Change 3083862 on 2016/08/10 by Mitchell.Wilson Rebuilt lighting on Advanced_Lighting level in Samples Content #jira UE-34383 Change 3083792 on 2016/08/10 by Benn.Gallagher PR #2671: Fix sub instance curve values. (Contributed by tmiv) PR #2668: Sub inst post anim fix (Contributed by tmiv) #jira UE-34162 #jira UE-34121 Change 3083775 on 2016/08/10 by Kevin.Rushin QAGame - Updating VRLatency Testmap, Can freelook #jira UE-29618 Change 3083771 on 2016/08/10 by Robert.Manuszewski Don't attempt to construct CDOs when assembling GC token stream while exiting as a result of an error in PreInit. #jira UE-34371 Change 3083742 on 2016/08/10 by Lee.Clark 4.13 - PS4 - Fix memory allocation sizes #jira UE-33270 Change 3083732 on 2016/08/10 by Ben.Marsh Fix all nodes being exported to JSON file for builder configuration, rather than just those behind the current trigger. Change 3083690 on 2016/08/10 by Dmitriy.Dyomin Fixed: Foliage instances are not included when exporting a scene to FBX #jira UE-34214 Change 3083654 on 2016/08/10 by Keith.Judge Fix analysis warnings. Simple change from Release() to SAFE_RELEASE(). #jira UE-23059 Change 3083646 on 2016/08/10 by Thomas.Sarkanen Use shipping PhysX libs for installed builds Copy fix from UE4Game.Target.cs to apply to all packaged games #jira UE-34287 - Crash when opening a packaged code project for Win64 in shipping configuration Change 3083527 on 2016/08/10 by Dmitriy.Dyomin Fixed: Warning upon Undo/redo-ing of sculpting the landscape #jira UE-34443 Change 3083502 on 2016/08/10 by Dmitriy.Dyomin Fixed: World Composition origin shifting does not account for shifting the Dynamic Directional Light shadow casting #jira UE-34417 Change 3083349 on 2016/08/09 by Daniel.Wright Clamped roughness for simple lights to avoid NaNs from D_GGX with a very narrow roughness range including 0.00316, but not 0 #jira UE-31181 Change 3083167 on 2016/08/09 by Chad.Taylor Null deref crash fix #jira UE-33830 Change 3083144 on 2016/08/09 by Zabir.Hoque Removed bDeviceRemoved flag from RHI and issue erroring hault right away. This allows finding the error reason much closer to the callsite. #jira UE-32980 Change 3083136 on 2016/08/09 by Chad.Taylor Stripping out egregious log spam #jira UE-34181 Change 3083116 on 2016/08/09 by John.Billon Defaulting r.D3D.RemoveUnusedInterpolators to on. #Jira UE-34461 Change 3083114 on 2016/08/09 by John.Billon Fixing static analysis warning in NullRHI. #Jira UE-34462 Change 3083070 on 2016/08/09 by Dmitry.Rekman PR #2516: CMake improvements and fixes (UE-22233, UE-32136). - Contributed by Nihlus. - Contains PR #1668 by mgerhardy Summary of changes (from PR): - Fixed an issue where CMake build files would contain invalid targets - Fixed an issue where CMake build files would generate without code completion data, making them useless in IDEs such as CLion. - Fixed an issue where invalid target platforms could fall through and cause issues with the file generation. - Improved code readability throughout the generator. Can still use some more polish. - Improved CMakeFile generation performance by approximately 25%. Before this patch, generating a CMakeFiles.txt for a small-ish project took 20s - by replacing most string concatenation with StringBuilders, it now takes approximately 15s. This should be more apparent in larger projects. - Improved commenting throughout the generator. As with readability, can still use some more polish. - Removed unused using statements. - Added the inclusion of a fake executable target to the CMake files. Some IDEs do not recognize header files that are not part of either an executable or a library. While this target will not build, it is neccesary in CLion. - Replaced all instances of String.Format with string interpolation expressions from C#6. This greatly improves readability, and helped me catch some bugs with the build targets. #jira UE-22233 Change 3082999 on 2016/08/09 by Jeremiah.Waldron Actually checking the consumePurchase response in the GooglePlayStoreHelper for purchases #jira UE-34457 Change 3082993 on 2016/08/09 by mason.seay Fixed level BP error and updated Reverb asset #jira UE-29618 Change 3082981 on 2016/08/09 by Peter.Sauerbrei disable roughness calculation for iOS metal #jira UE-31815 Change 3082912 on 2016/08/09 by Chris.Babcock Use FMallocAnsi instead of FMallocBinned on Android ARM64 for now #jira UE-34432 #ue4 #android Change 3082875 on 2016/08/09 by Chris.Bunner Lowered verbosity of mesh build warning when using MikkTSpace. #jira UE-23903 Change 3082867 on 2016/08/09 by Trung.Le VREditor: Foliage reapply tool shouldn't auto reapply brush settings without trigger presses #jira UE-34227 Change 3082818 on 2016/08/09 by Mike.Beach Backing out CL 3081020, as it was causing issues with duplicated Blueprint actors (triggering an assert). #jira UE-34430 Change 3082794 on 2016/08/09 by Lukasz.Furman fixed gameplay debugger extensions activating during simulate in editor #jira UE-33343 Change 3082760 on 2016/08/09 by Jamie.Dale Scene viewports are now centered when re-entering windowed mode #jira UE-32842 Change 3082744 on 2016/08/09 by Mitchell.Wilson Resaving assets to resolve empty engine version warnings. #jira UE-29746 Change 3082728 on 2016/08/09 by Ben.Marsh BuildGraph: Use separate arguments to indicate that a trigger should be skipped entirely and its nodes should be executed as part of the parent trigger (-skiptrigger=X+Y, -skiptriggers) versus when we want to execute ONLY nodes behind a certain trigger. Fixes cases where triggering sample builds before the parent job finishes would attempt to execute the remaining nodes belonging to the parent trigger. #jira UE-34329 Change 3082686 on 2016/08/09 by Marc.Audy If the GameMode is not carried over as part of a seamless travel create it. #jira UE-25569 Change 3082663 on 2016/08/09 by John.Billon Fixed SubUVAnimation asset crash when texture source is cleared. #Jira UE-34231 Change 3082650 on 2016/08/09 by John.Billon Changed an ensure the NullRHI dealing with memory allocation to be a log message. #Jira UE-32362 Change 3082644 on 2016/08/09 by Maciej.Mroz #jira UE-34240 Match 3 nativization failure Redone cl3082121 from Dev-Blueprints Change 3082633 on 2016/08/09 by Maciej.Mroz #jira UE-34374 [CrashReport] UE4Editor_Engine!UEdGraphNode::GetGraph() [edgraphnode.cpp:172] Redone cl3082414 from Dev-Blueprints Change 3082606 on 2016/08/09 by Michael.Trepka Changed OuputGamutMappingMatrix in TonemapCommon.usf so it doesn't create a temporary variable to work around a bug in Intel's Mac OpenGL shader compiler. #jira UE-34276 Change 3082579 on 2016/08/09 by Benn.Gallagher CIS fix, missed removing a few #ifs #jira UE-29180 Change 3082525 on 2016/08/09 by Tom.Looman Removed Android from supported platforms in VR Template. #jira UE-34189 Change 3082523 on 2016/08/09 by Tom.Looman Improved HMDLocomotionPawn teleportation (UX of location and material reability/behavior) Fixed typo in level text. #JIRA UE-34422 Change 3082504 on 2016/08/09 by Jurre.deBaare Crash importing alembic asset over itself after saving it in Content Browser #fix Trivial nullptr + isValid fix #jira UE-34418 Change 3082433 on 2016/08/09 by Tom.Looman Updated list of supported platforms. #jira UE-34189 Change 3082423 on 2016/08/09 by Mitchell.Wilson Resaving levels to resolve MikkTSpace warnings Updating collision on SM_Floor_Round #jira UE-30786 Change 3082361 on 2016/08/09 by Keith.Judge Xbox One - Fix a controller disconnection crash. - This would only reproduce in VS2015 Update 3, and only when the controller is connected right from the start, not when a pad is plugged in later, so it seems copying the array of ^ pointers wasn't incrementing the refcounts correctly and causing things to be deleted too early. - Changed it to copy each connected pad object one at a time, which maintains the correct refcount. - Possibly a VS2015 Update 3 bug. #jira UE-33955 Change 3082341 on 2016/08/09 by Mitchell.Wilson Reimporting SM_GodRay_Plane Resaving levels to resolve MikkTSpace warnings Resaving multiple materials to resolve warnings #jira UE-34212 Change 3082313 on 2016/08/09 by Matthew.Griffin Only append BuildLabel to the publish dir if it's been set to something (end up with bad path for local build) Change 3082294 on 2016/08/09 by Jurre.deBaare Crash when importing an Alembic file with Materials as a different asset type than one that already exists #fix Ensure that we have a valid material to assign to the assets #jira UE-34377 Change 3082291 on 2016/08/09 by Jurre.deBaare Unable to save Alembic asset with materials after importing more than once #fix Make sure we delete referenced transient materials if they are not used #jira UE-34400 Change 3082290 on 2016/08/09 by Jurre.deBaare Crash importing abc file as Geometry Cache over another used in level with World Normal view mode on #fix Make sure we always update the GeometryCacheComponents, will change this set-up in 4.14 #jira UE-34392 Change 3082274 on 2016/08/09 by Benn.Gallagher Moved FABRIK debug draw out of the native node into the graph node. It will no longer draw in-game, only in Persona previews. Debug drawing is not supported outside of the game thread currently so we can't do it in EvaluateBoneTransforms. #jira UE-29780 Change 3082273 on 2016/08/09 by Benn.Gallagher Improved anim dynamics chain handling with LODs, now a chain will continue to simulate any bodies that can be reached from the root body instead of disabling the whole chain #jira UE-30827 Change 3082270 on 2016/08/09 by Benn.Gallagher Moved source indices for active transitions out of editor only so we can identify them at runtime. This allows the transition ratio anim getter function to get the correct elapsed time instead of trying to infer it which is incorrect when the transition is interuppted. #jira UE-29180 Change 3082257 on 2016/08/09 by Jurre.deBaare Auto align floor mesh does not work in Persona #fix Readded functionality for the auto alignment :) #jira UE-34404 Change 3082239 on 2016/08/09 by Peter.Sauerbrei make sure IPP and supporting dlls are all 64-bit #jira UE-34408 Change 3082225 on 2016/08/09 by Mitchell.Wilson Removing r.Streaming.PoolSize from DefaultEngine.ini, adding DefaultScalability.ini to set r.StreamingPoolSize Reimporting SM_GodRay_Plane Saving all levels to resolve MikkTSpace warnings. #jira UE-30787 Change 3082222 on 2016/08/09 by Rolando.Caloca UE4.13 - Fix crash on opengl3 - Load proper shader map depending on feature level - int interpolators require nointerpolation modifier #jira UE-33879 Change 3082221 on 2016/08/09 by Benn.Gallagher Fix for stack overflow traversing subinstances for duplicated names when there is a circular loop #jira UE-34384 Change 3082179 on 2016/08/09 by Ben.Woodhouse Fix for default subsurface color for two sided foliage, so it defaults to black instead of white. This requires some additional logic because we don't want to change the default color for other lighting models which use the subsurface material input (e.g. subsurface, skin, hair etc). Bump the shader version so the change is correctly propagated to existing material shaders. #jira UE-31461 Change 3082170 on 2016/08/09 by Graeme.Thornton Manual copy of CL 3078836 from Dev-Core to Release-4.13 Silently skip creating exports from a package where the outer is also an export and has been filtered at runtime during loading #jira UE-33909 Change 3082169 on 2016/08/09 by Graeme.Thornton Make FLauncherTasks have unique names so we don't end up with stat name collisions #jira UE-33849 Change 3082163 on 2016/08/09 by Matthew.Griffin Include Linux Build Tools in Windows Installed Build so that Crash Reporter can be staged from receipts Added Checks for files that might not exist when creating Installed Build from Github etc. Tag the published installed build zips #jira UE-34249 Change 3082139 on 2016/08/09 by Ben.Marsh BuildGraph: Allow writing a schema without passing a script in. Change 3082109 on 2016/08/09 by Thomas.Sarkanen Fixed blendspaces producing bad data when degenerate spaces are present Delaunay triangulations that fail now revert to simple degenerate tesselation. This allows us to build a valid set of grid samples even with degenerate triangulations, so no need for any runtime modifications. #jira UE-34308 - 2DAimOffset mesh skews across viewport when anim sequence is added to offest graph Change 3082080 on 2016/08/09 by Matthew.Griffin Added notifications for available triggers Change 3082054 on 2016/08/09 by Allan.Bentham Quality level override changes to high QL are now correctly picked up. #jira UE-22812 Change 3082049 on 2016/08/09 by Allan.Bentham Update shaders when mobile preview device is changed. #jira UE-22810 Change 3081866 on 2016/08/09 by Max.Chen Fbx Export: Fix build. #jira UETOOL-750 Change 3081863 on 2016/08/09 by Max.Chen Fbx Export: Fix level sequence fbx export. - Fix 3d transform track export so that it does the correct flipping for translation and rotation curves. - Fix setting rich curve tangents and interpolation modes. - Fix camera focal length export. #jira UETOOL-750 Change 3081823 on 2016/08/08 by Dmitriy.Dyomin Fixed: Crash when simulating in editor with a landscape actor selected #jira UE-34367 #coderview Gareth.Martin Change 3081647 on 2016/08/08 by Chad.Taylor OpenVR changed to work with our FSteamVRHMD::VRGetGenericInterfaceFn retrieved from GetDllExport #jira UE-34352 Change 3081645 on 2016/08/08 by Zak.Middleton #ue4 - Fix anim root motion applying too much velocity to CharacterMovement when framerate is low causing moves to be substepped, or when movement mode changes during root motion playback. #jira UE-30178 Change 3081639 on 2016/08/08 by Tyler.Cole Update build scripts for WEX MCP in UE4 Release-4.13 stream. #jira NONE-0 Change 3081616 on 2016/08/08 by Jeff.Fisher UEVR-13 PSVR: TCR Requirements -2dvr support "stereo on" and "stereo off" now switch ps4 from 2d to vr mode. -A new ini setting for morpheus bStartInVR has been added, it defaults to true. #jira UEVR-13 #review-3081284 @chad.taylor @nick.whiting Change 3081597 on 2016/08/08 by Tyler.Cole Update build scripts for Ocean MCP in UE4 Release-4.13 stream. #jira NONE-0 Change 3081476 on 2016/08/08 by Tyler.Cole Update build script for UE4 Release-4.13 stream Fortnite MCP. #jira NONE-0 Change 3081397 on 2016/08/08 by Josh.Adams - Fixing more linux case issues in UT #jira ue-33478 Change 3081391 on 2016/08/08 by Mitchell.Wilson Removed ConstructorHelpers from TP_2DSideScrollerCharacter.cpp. Added Run and Idle animations to BP child of 2dSideScrollerCharacter in 2DSideScrollerExampleMap #jira UE-33843 Change 3081383 on 2016/08/08 by Aaron.McLeran #jira UE-34081 Implementing CL 3076637 into 4.13 #tests run a procedural sound wave object test Change 3081337 on 2016/08/08 by Aaron.McLeran #jira UE-34390 CLONE - CRASH: FXAudio2SoundSource::GetChannelVolumes - Silent Crash during gameplay - OR-26580 - Implementing CL 3071258 to 3.13 #tests ran paragon with change, no crashes Change 3081335 on 2016/08/08 by Max.Preussner WmfMedia: Fixed memory leak in source resolver (UE-34385) #jira UE-34385 Change 3081320 on 2016/08/08 by Max.Preussner WmfMedia: Fixed typo (UE-32421) #jira UE-32421 Change 3081276 on 2016/08/08 by Mitchell.Wilson Resaving asset to resolve MikkTSpace warning. #jira UE-31116 Change 3081269 on 2016/08/08 by Dan.Oconnor Fix for name of blueprint changing when 'accept source' is used. Just caching the original name before unloading the blueprint #jira UE-34324 Change 3081052 on 2016/08/08 by Dan.Oconnor Making a change to test UE-34324 #jira UE-34324 Change 3081026 on 2016/08/08 by Daniel.Wright Added a heightfield painting example to BlueprintRenderToTarget content example #jira UE-34323 Change 3081025 on 2016/08/08 by Daniel.Wright CreateRenderTarget2D uses a world context object as owner, allows use in a construction script #jira UE-34321 Change 3081023 on 2016/08/08 by Aaron.McLeran #jira UE-34325 Implementing 3080958 in 4.13 - When a sound buffer is flushed from audio device manager and tries to stop sounds using a resource, was possible for the async header parse task to be in-flight, which would cause a crash - Fix is to bring back the code to call EnsureCompletion on tasks in the FreeResoruces function of the sound source object. This will potentially encure a slight perf increase when stopping a sound but audio engine is now going to run on a separate thread, so shouldn't have a game-thread impact in non-editor builds. #tests ran repro case described in bug several times without crashing (was 100% repro) Change 3081020 on 2016/08/08 by Dan.Oconnor Revised fix for UMG widgets with instanced properties resetting due to ImportText not copying objects assigned to Instanced properties #jira UE-26310 Change 3081010 on 2016/08/08 by Dan.Oconnor Fix for losing root transform when recycling objects #jira UE-28398 Change 3080972 on 2016/08/08 by Mark.Satterthwaite Duplicate CL #3080684: Flush on close of writable files on Apple platforms - close doesn't guarantee to push outstanding writes to the disk, only to the kernel. They might not make it to the disk prior to program termination. #jira UE-21857 Change 3080971 on 2016/08/08 by Mark.Satterthwaite Workaround a macOS 10.12 Beta bug on some Metal drivers that can't initialise temporary/local variable arrays, only those that are marked threadgroup shared. #jira UE-34355 Change 3080923 on 2016/08/08 by Michael.Trepka When archiving on for Mac delete the dest icon if it exists before trying to call File.Move #jira UE-33304 Change 3080919 on 2016/08/08 by samuel.proctor Revised assets for Blueprint Debugging tests #jira UE-29618 Change 3080878 on 2016/08/08 by Ben.Marsh Fix sample build timeouts due to generating DDC using installed engine builds taking too long. * New version of build script was not copying the DDCUtils module from the NotForLicensees folder to the installed engine directory, so network DDC was not being used. Set it from an environment variable instead. * Generating the installed project PAK was not using the Compressed.ddp file included with the engine, but was looking for a legacy DDC.ddp file instead. Change 3080849 on 2016/08/08 by Marc.Audy Always stop matinee sounds when jumping around, not just if the sound changed. #jira UE-31447 Change 3080843 on 2016/08/08 by Ben.Marsh BuildGraph: Fix compile error due to duplicated variable name. Change 3080840 on 2016/08/08 by Max.Chen Fbx: Fix rich curve export being exported at the incorrect times when baked. #jira UETOOL-750 Change 3080824 on 2016/08/08 by Max.Chen Sequencer: Revert fix root component structure for level sequence actor. #jira UE-34354 Change 3080819 on 2016/08/08 by Chad.Taylor Merging Move and Vive haptic implementation from Dev-VR to Release-4.13 #jira UE-27886 Change 3080818 on 2016/08/08 by Jurre.deBaare Crash when importing the same Alembic file but as a different Asset Type #fix Return the outer package of an imported asset, instead of InParent (which could be deleted/clean up if the import types differed) #misc Typo #jira UE-34293 Change 3080817 on 2016/08/08 by Jurre.deBaare Crash when importing an Alembic file with Materials if it already exists #fix Only create materials if they don't already exist #jira UE-34300 Change 3080814 on 2016/08/08 by Jurre.deBaare Crash when importing Alembic files as Skeletal Mesh #fix Set the NumVertices variable that was re-added :) #misc removed dead code #jira UE-34288 Change 3080813 on 2016/08/08 by Jurre.deBaare [CrashReport] UE4Editor_AlembicLibrary!AbcImporterUtilities::GenerateSmoothingGroupsIndices() #fix found in one of the reports messages that they were importing from 3DS, found that it exports the normals non-indiced but per-vertex, so now added expanding using the index buffer (also pre-emptively added it for UVs) #jira UE-34294 Change 3080797 on 2016/08/08 by Dmitriy.Dyomin Fix: Crash opening levels with landscape in them via the command console in standalone game #jira UE-34348 Change 3080784 on 2016/08/08 by Jamie.Dale We now keep the bulk data for stock engine fonts loaded to avoid attempting to load it on the render thread (from debug canvas rendering) #jira UE-34298 Change 3080734 on 2016/08/08 by Matthew.Griffin Made PDBs optional build products for CsCompile task and added .dll.mdb check for Mac Mono equivalent Change 3080685 on 2016/08/08 by Peter.Sauerbrei fix for crash on tvOS and iOS when launching a project #jira UE-34005 Change 3080683 on 2016/08/08 by Matthew.Griffin Added code to duplicate GUBP behavior when building DDC for samples so that only certain platforms are built Change 3080681 on 2016/08/08 by Matthew.Griffin Corrected path separators for Mac DDC location, which was preventing it from being included in installed build Change 3080675 on 2016/08/08 by Robert.Manuszewski Fixing CIS on Clang platforms #jira UE-34025 Change 3080674 on 2016/08/08 by Ben.Woodhouse Fix for reflection capture crash on autosave (null scene ptr) - integrate fix from fortnite CL 3033507 #jira UE-32651 Change 3080594 on 2016/08/08 by Keith.Judge Xbox One - Fix missing GPU particles when in Fast Semantics mode. SetRasterizerState() shouldn't be cached as it always needs resetting in Fast Semantics. Also enabled Fast Semantics by default, as the last known bug is now fixed. #jira UE-31607 Change 3080573 on 2016/08/08 by Martin.Wilson Fix Root Motion from Everything blending incorrectly when using layered blend per bone #Jira UE-17815 Change 3080517 on 2016/08/08 by James.Golding PR #2678: Fixed ProceduralMeshComponent compile issue, missing ConvexElem.h. (Contributed by ardneran) #jira UE-34299, UE-34279 Change 3080512 on 2016/08/08 by Benn.Gallagher Fix for dangling sub-instance pointers when reinstancing on AnimBP compile #jira UE-34137 Change 3080510 on 2016/08/08 by Max.Preussner WmfMedia: Fixed Packaged Shooter game does not load in Windows XP (UE-32421) #jira UE-32421 Change 3080509 on 2016/08/08 by Robert.Manuszewski Added more detailed message when TArray's BulkSerialize fails. #jira UE-34025 Change 3080506 on 2016/08/08 by Allan.Bentham Do not set render target if there are no modulated shadows. #jira UE-33252 Change 3080498 on 2016/08/08 by Keith.Judge Fix D3D12.x link error. #jira UE-34322 Change 3080493 on 2016/08/08 by Matthew.Griffin Allow symbol files to be skipped when staging build products as they are not essential for the staged project to run. #jira UE-34073 Change 3080490 on 2016/08/08 by Maciej.Mroz #jira UE-28625 Direction of GetOverlapInfos parameter doesn't match Redone cl# 3080484 Change 3080462 on 2016/08/08 by Allan.Bentham Leave FAndroidAppEntry::PlatformInit's ES2 EGL initialised unless vulkan or ES3.1 are required. Fix initialisation errors introduced in CL 3070035. #jira UE-34099 Change 3080242 on 2016/08/07 by Max.Chen Sequencer: Fix to allow deleting spawnables from the viewport #jira UE-28523 Change 3080241 on 2016/08/07 by Dmitriy.Dyomin Fixed: StartCameraFade not fading camera when MobileHDR is off #jira UE-34143 Change 3079990 on 2016/08/06 by andrew.porter Changing defaults on some settings on M_Details for test case. #jira UE-29618 Change 3079989 on 2016/08/06 by andrew.porter Setting two sided off on M_Details material #jira UE-29618 Change 3079986 on 2016/08/06 by phillip.patterson Updated QA-Foliage for test case #jira UE-29618 Change 3079984 on 2016/08/06 by andrew.porter Adding test content for using sprites in UMG #jira UE-29618 Change 3079879 on 2016/08/05 by Dmitry.Rekman Remove HITCHHUNTER logspam from release UE (UE-30959). #tests Compiled the UE4Editor. #jira UE-30959 Change 3079815 on 2016/08/05 by Tyler.Cole Set dependencies for Orion MCP in UE4 Release-4.13 stream. #jira NONE-0 Change 3079808 on 2016/08/05 by Daniel.Wright BlueprintRenderToTarget content example map with interactable fluid surface #jira UE-34323 Change 3079746 on 2016/08/05 by Daniel.Wright Copy - New blueprint function ClearRenderTarget2D, which is the only way to set a render target alpha directly New blueprint function CreateRenderTarget2D #jira UE-34321 Change 3079569 on 2016/08/05 by Mitchell.Wilson Updating template tutorials after assets were moved to new folders #jira UE-34139 Change 3079546 on 2016/08/05 by Ian.Shadden #UE4 #match3 Fixed button UI scaling on all buttons in Match3 (main menu, victory screen, options, notifications, etc...), tested on PC and Android Nexus 6 #jira UE-34316 Change 3079542 on 2016/08/05 by Mark.Satterthwaite Duplicate CL #3079503: Initialise more variable types to 0 in Metal shaders to workaround Xcode 8 toolchain no longer doing this for us for "threadgroup shared" variables. Everything but structs and atomic's will now be initialised. #jira UE-33856 Change 3079472 on 2016/08/05 by Peter.Sauerbrei fix for remote server name being empty stopping a build for a BP project in binary fix for several error messages from platform requirements not stopping a build #jira UE-34213 Change 3079453 on 2016/08/05 by Benjamin.Hyder Updating QA_Materials to include Material Details example #jira UE-29618 Change 3079389 on 2016/08/05 by Gareth.Martin Missing file from CL 3079376: Tessellate Landscape only in highest landscape LOD Fix incorrect UV coordinates when tessellation is enabled #jira UE-14253 #jira UE-20405 Change 3079384 on 2016/08/05 by Michael.Trepka PR #2266: BUGFIX: UBT not building on non HFS partitions on OSX (Contributed by Manny-MADE) #jira UE-29358 Change 3079376 on 2016/08/05 by Gareth.Martin Tessellate Landscape only in highest landscape LOD Fix incorrect UV coordinates when tessellation is enabled #jira UE-14253 #jira UE-20405 Change 3079365 on 2016/08/05 by Peter.Sauerbrei fix for executable name mismatch in plist vs actual executable when project has an underscore in the name #jira UE-34192 Change 3079361 on 2016/08/05 by Ryan.Vance #jira UE-34297 Fixing the screen space position in 3076326 broke an ISR dbuffer decal hack. Now, no longer a hack :) Change 3079349 on 2016/08/05 by Mason.Seay Deleting unneeded assets #jira UE-29618 Change 3079306 on 2016/08/05 by Peter.Sauerbrei IPP is now built as a 64-bit executable #jira UE-26393 Change 3079303 on 2016/08/05 by Peter.Sauerbrei PR2018 - disable user input request from ssh courtesy of Teivaz #jira UE-26393 Change 3079276 on 2016/08/05 by mason.seay Extended Line Trace For Convenient #jira UE-29618 Change 3079274 on 2016/08/05 by Alex.Delesky #jira UE-32396, UE-34103 - Fixed the issue where STextBLock widgets will revert to a gray-ish color in widget blueprints on compilation when set to magenta (#FF00FFFF). This fix does not introduce the side-effects of recoloring the text on editor buttons. Change 3079273 on 2016/08/05 by Max.Chen Sequencer: Fix converting matinee move tracks that have separate pos and euler tracks. #jira UE-34301 Change 3079254 on 2016/08/05 by Ori.Cohen Fix skeletal mesh having bodies in both sync and async scene. Simplifies a lot of code and fixes crash in case of substepping. #JIRA UE-34224 Change 3079242 on 2016/08/05 by Nick.Darnell Slate - Initializing WheelScrollMultiplier in the STableViewBase to avoid problems with subclasses not having an initialized value and the scrollbar misbehaving. #jira UE-34304 Change 3079129 on 2016/08/05 by Jurre.deBaare #jira UE-34278 #fix Changed reimport path to be the same as geometry cache / skeletal mesh Unable to reimport Alembic static meshes #jira UE-34292 #fix Handle cancelled situation during reimport ui interaction Cancelling the reimport of an Alembic file seems to confirm the action #jira UE-34288 #fix Possible fix, flush rendering commands before importing Crash when importing Alembic files as Skeletal Mesh #jira UE-34282 #fix Change import function override signature to include bCancelled and set the value appropriately + early out when cancelled "Failed to Import" message when clicking Cancel on the Alembic Import Message Change 3079127 on 2016/08/05 by Marc.Audy Properly clean up all worlds when ending PIE while a seamless transition is active #jira UE-33863 Change 3079107 on 2016/08/05 by Mike.Beach Reversing the order in which we iterate pins on node resonstruction - making sure we reconstruct split child pins first (to keep the old parent pin chain intact). #jira UE-30548 Change 3079093 on 2016/08/05 by Jurre.deBaare Toggling Vertex Colors on in Static Mesh Editor makes the viewport all white #fix Hide the environment and sky when showing vertex colours #jira UE-34251 Camera Auto exposure in the static mesh editor bleaches everything out when the environment is turned off #fix Turn on / off advanced engine show flags determined by whether or not post processing is enabled in the advanced preview scene settings #jira UE-34206 Change 3079090 on 2016/08/05 by Jurre.deBaare Bad performance when changing (slider) values for the advanced preview scene #fix Could not repro but added some more check if update needed checks #jira UE-33496 Adjusting Lighting Rig Rotation manually only affects the sky and not the lighting #fix Add the rotational delta for the sky to the directional light rotation #jira UE-34108 Change 3079088 on 2016/08/05 by Jurre.deBaare Alembic Cache Importer option for Hard Edge Angle Threshold does not work #fix Changed the condition for an edge to be hard / soft, fixed an issue in the smoothing group generation and changed the flow of normal calculation during importing #jira UE-34127 Change 3079040 on 2016/08/05 by Max.Preussner MediaAssets: Fixed media source asset cannot be inherited in other modules (UE-34290) Also made class properties blueprint read-writable #jira UE-34290 Change 3078958 on 2016/08/05 by Marc.Audy Don't ever reregister child actor components Don't destroy child actors when hiding a level #jira UE-31038 Change 3078954 on 2016/08/05 by ryan.brucks #jira ue-00001 Adding new material functions needed to go along with Noise Blog post requested by DanV and KimL Change 3078952 on 2016/08/05 by Phillip.Kavan [UE-34085] Fix an ensure when force-deleting compiled Blueprint class assets in the Content Browser. change summary: - modified ForceDeleteObjects() to relocate a redundant 'ObjectsToReplace' iteration that recently was converted to a ranged-based for loop; the conversion seems to have caused the iterator to ensure, due to existing code that was modifying the target array inside the loop. #jira UE-34085, UE-34169 Change 3078912 on 2016/08/05 by Andrew.Rodham Editor: When locking an editor viewport to a camera, camera cut flags are now correctly specified #jira UE-33875 Change 3078900 on 2016/08/05 by Lauren.Ridge Fix for small Vive HMD movements entering VR mode #jira UE-33970 Change 3078880 on 2016/08/05 by Jack.Porter Cannot set GenerateOverlapEvents flag on Landscape #jira UE-9055 Change 3078879 on 2016/08/05 by Lee.Clark PS4 - Fix corrupted debuffer decals (CMask wasn't getting decoded correctly) #jira UE-34273 Change 3078871 on 2016/08/05 by Steve.Robb Fix for changes to UObject*s in property boxes. #jira UE-29596 Change 3078857 on 2016/08/05 by Max.Chen Sequencer: Set Fixed frame interval playback to false by default. #jira UE-34272 Change 3078850 on 2016/08/05 by mason.seay Updated map to test physics mesh, added comments to level BP #jira UE-29618 Change 3078795 on 2016/08/05 by Andrew.Rodham Sequencer: Fixed spawnables not responding to blueprint reinstance events This ultimately left spawnable bindings broken, and an unreachable object in the world #jira UE-31635 Change 3078786 on 2016/08/05 by Robert.Manuszewski Reversed the order the UObject delete listeners were notified of UObject deletion to avoid skipping the next listener if the current one removed itself from the array. #jira UE-33872 Change 3078782 on 2016/08/05 by Andrew.Rodham Sequencer: Fixes to "Create Camera Here" functionality Fixed crash when undoing the "Create Camera Here" operation. Enabled RF_Transactional on all spawned instances in the world (to support undo/redo of instance properties properly) Fixed issues when the cursor was outside of the play range #jira UE-33127 Change 3078737 on 2016/08/05 by Andrew.Rodham Sequencer: Changed event and playback contexts to be weak references to ensure no strong GC references, while maintaining safety #jira UE-34256 Change 3078722 on 2016/08/05 by Ben.Woodhouse Fix shader compile error in TP_VirtualRealityBP (disable Morpheus, which was enabled (inadvertently?) in CL 3077481) #jira UE-34269 Change 3078620 on 2016/08/05 by Dmitriy.Dyomin Fixed: SunTemple geometry has rendering artifacts on low end devices [Android_Low] devices will use 'Low' material quality level #jira UE-22455 Change 3078584 on 2016/08/05 by James.Golding Add NumVertices back to FSkelMeshSection, so that info is available in non-editor builds (e.g. for runtime mesh merging) #jira UE-33675 Change 3078565 on 2016/08/05 by Jack.Porter Removed need for LandscapeInfo in GeneratePlatformPixelData which was crashing mobile previewer. #jira UE-33842 Change 3078564 on 2016/08/05 by James.Golding Fix display name for bSupportUVFromHitResults to fix missingspace #jira UE-34248 Change 3078542 on 2016/08/05 by Yannick.Lange VR Editor : Temporary fix to disable the possibility of both controllers having a windows docked. #jira UE-32839 Change 3078541 on 2016/08/05 by Yannick.Lange VR Editor : Fix linux compile error from VREditorAvatarActor #jira UE-34215 Change 3078396 on 2016/08/04 by Max.Chen Sequencer: Invalidate playback context when map changes. #jira UE-34256 Change 3078291 on 2016/08/04 by Jeff.Campeau RHI compress/decompress return success/failure Failure falls back to software method D3D12 for Xbox One still needs implementation #jira UE-31363 Change 3078131 on 2016/08/04 by Chris.Babcock Deal with missing Android movie framerate by defaulting to 30 if not available #jira UE-34208 #ue4 #android Change 3078084 on 2016/08/04 by John.Billon Disabled AMD hacks Cvars that aren't needed anymore. #Jira UE-30772 Change 3078083 on 2016/08/04 by John.Billon Consolidated ensures to detect a crash dealing with unallocated render targets in TranslucentLighting to a single test in DefferedShadingRendere and attempt to recover by reallocating deferred render targets. Added a couple of more ensures when allocating render targets. Added log message when changing feature levels. #Jira UE-32536 #Jira UE-32204 Change 3078039 on 2016/08/04 by Josh.Adams - Fixed a case issue with Linux #jira UE-33478 Change 3078029 on 2016/08/04 by Ryan.Vance #jira UE-30989 We need to disable the hmd mask when down sampling to ensure valid input data for blur passes. Change 3078027 on 2016/08/04 by Lina.Halper Fix sequencer morphtarget displaying issue #code review:Max.Chen #jira: UE-28459 Change 3078012 on 2016/08/04 by mason.seay map and asset updates for testing UV hit detection #jira UE-29618 Change 3078009 on 2016/08/04 by Jamie.Dale Ensured that BULKDATA_SingleUse is only set by UFontBulkData::Serialize when loading This prevents it being incorrectly set by other operations, such as counting memory used by font data. #jira UE-34252 Change 3078006 on 2016/08/04 by Mark.Satterthwaite Duplicate CL #3064008 & CL #3077412: Fix "iOS Metal-based build crashes at launch with sub-levels": - Slate should not bind the null RHI texture from an unitialised texture atlas - atlases only have a valid texture pointer once an entry has been added to them and in the template projects an empty sub-level doesn't add anything. - To prevent this kind of bug resurfacing and being so hard to track down add Metal shader binding validation to our validation layer as Apple's is incomplete on iOS and won't warn us about nil texture usage which causes these GPU restarts. This requires reworking our vertex declaration handling to be more efficient so that we can cache the pipeline reflection data as well as the pipeline objects. - Fix validation error of texture reallocation on loading template projects under Metal. #jira UE-30847 Change 3078002 on 2016/08/04 by John.Billon Fixed LowLightMapQuality warning triggering with wrong conditions. #Jira UE-33237 Change 3078001 on 2016/08/04 by John.Billon Fixed a crash due to particle threading issues in packaged game. #Jira UE-32147 Change 3077989 on 2016/08/04 by Rolando.Caloca UE4.13 - Fix Vulkan crash when compiling shaders on a new project due to running out of descriptor sets. Now we handle fragmentation of sets and multiple pools per RHI contexts. #jira UE-34218 Change 3077940 on 2016/08/04 by Jeff.Campeau Stage applocal dependencies from paths containing $(EngineDir) & $(ProjectDir) Include copies of the VS2015 runtime and UCRT Change -applocaldir parameter to -applocaldirectory Stage to engine and project binaries paths (for crash reporter, etc.) #jira UE-33903 Change 3077936 on 2016/08/04 by Daniel.Wright DrawMaterialToRenderTarget gracefully handles an invalid WorldContextObject #jira UE-34183 Change 3077927 on 2016/08/04 by Lina.Halper Fix issue with morphtarget not working due to invalid guid #jira: UE-34077 Change 3077919 on 2016/08/04 by Daniel.Wright Copy - Lighting channels can now be edited on components with static mobility, since dynamic lights can still affect them #jira UE-34245 Change 3077877 on 2016/08/04 by Ori.Cohen Fix physical animation undo/redo not affecting linked bodies and constraints #JIRA UE-33987 Change 3077823 on 2016/08/04 by Ori.Cohen Disable copy/paste action on physical animation profiles (From Matt.Kuhlenschmidt) #JIRA UE-33985 Change 3077814 on 2016/08/04 by Uriel.Doyon Changed the logs used in the "Texture Streaming Build". Previous warnings are now logged at verbose level. Can be toggled on by running "log texturestreamingbuild all" #jira UE-34120 #review-3077812 Change 3077781 on 2016/08/04 by Max.Chen Sequencer: Fix crash in rotation key struct #jira UE-34155 Change 3077771 on 2016/08/04 by Lina.Halper Added const and removed auto #jira: UE-33023 Change 3077702 on 2016/08/04 by Daniel.Wright Copy - Planar reflection show flags can now be edited #jira UE-34229 Change 3077585 on 2016/08/04 by Ori.Cohen Fix spam when moving simulated skeletal mesh in the editor. #JIRA UE-34164 Change 3077532 on 2016/08/04 by Tom.Looman Fixed error in description of VR Template. #jira ue-33950 Change 3077517 on 2016/08/04 by Tom.Looman Fixed parsing error for FP_VirtualRealityBP #jira UE-34059 Change 3077493 on 2016/08/04 by Tom.Looman Updated Template description to remove GearVR reference and include more clear message on the two available maps. #jira UE-33950 Change 3077492 on 2016/08/04 by Tom.Looman Improvements to VR Template Fixed teleportation issue on both locomotion types (JIRA) Rebuilt navmesh for motioncontrollermap Added new WIP startermap to clarify the difference between the multiple levels. Added more comments and did some cleanup in BPs. #jira UE-33962 Change 3077491 on 2016/08/04 by Jurre.deBaare Crash when attempting to merge two objects using Simplygon - ProxyMaterialUtilities::CreateProxyMaterialInstance #fix Pass in complete path to save material to instead of just the name #jira UE-34211 Change 3077481 on 2016/08/04 by Tom.Looman Workaround for issue in teleport camera fade. (Removing r.MobileHDR from config) #jira ue-34143 Change 3077463 on 2016/08/04 by Ben.Woodhouse Fix for ghosting in the SSR, caused by the SSRTemporal pass not getting velocities passed in. This is only an issue when temporal AA is disabled. There is a performance in this case, because a velocity pass is now required if SSR is enabled and temporalAA/motion blur are off. #jira UE-32843 Change 3077432 on 2016/08/04 by Steve.Robb Removal of Fortnite-specific setting which disables hot reload. #jira UE-33261 Change 3077380 on 2016/08/04 by Keith.Judge Fix for green reflection environment in some maps. - Moved deleting pending resources from EndFrame() to RHIEndDrawingViewport() so it *really* gets called once every time there's a Present() - Fixed a validation error when locking cube map faces which was causing them not to be updated. - Fixed a validated driver error when creating UAVs due to uninitialised parts of the descriptor and fixed the buffer description for occlusion queries to have the correct 256 byte size (another validation error). - Added a GPU/CPU sync at the same point the PS4 code does. #jira UE-32086 Change 3077336 on 2016/08/04 by Mitchell.Wilson removed r.Streaming.PoolSize from DefaultEngine.ini Adding DefaultScalability.ini and adding r.StreamingPoolSize to resolve a warning. #jira UE-30941 Change 3077275 on 2016/08/04 by Phillip.Kavan [UE-29903] Fix a potential infinite loop when replacing variable nodes in a Blueprint graph via drag-and-drop. #jira UE-29903 Change 3077119 on 2016/08/04 by Marc.Audy Use TickType All when in PIE #jira UE-18982 Change 3077108 on 2016/08/04 by Jon.Nabozny Add check to USkeletalMeshComponent::TickClothing to skip updating cloth when SkeletalMesh is null. This can happen when the mesh is cleared between USkeletalMeshComponent::TickComponent and USkeletalMeshComponent::TickClothing. #jira UE-34032 Change 3077073 on 2016/08/04 by Jurre.deBaare bBlendOverlappingNormals does not seem to have an impact for Alembic importing #fix this wasn't being used in the normal calculation anymore so redundant #jira UE-34204 Change 3077059 on 2016/08/04 by Robert.Manuszewski Disabling the assert when MaxObjectsInEditor or MaxObjectsInGame collide with EInternalObjectFlags as this is no longer relevant (since the serial number and object flags were split). #jira UE-34200 Change 3077024 on 2016/08/04 by Thomas.Sarkanen Added GetResourceSize to UDataAsset Data assets now correctly report their size. #jira UE-28851 - Fix mem reporting of DataTables Change 3077001 on 2016/08/04 by Andrew.Rodham Sequencer: Fixed sequencer adding spawnables into recorded worlds twice The issue here is that sequencer was re-evaluating itself with the current play world as the context, which also happened to be the world that it was trying to record. As a result, it ended up with the same sequence being played twice in the recording world. Added the ability to specify a playback context attribute for sequencer to use, and this no longer allows sequencer to play back in any worlds that are being recorded. #jira UE-31422 Change 3076995 on 2016/08/04 by Matthew.Griffin Fixed Shadow Variable warning Change 3076974 on 2016/08/04 by Matthew.Griffin Added Node to build CrashReportClient for Linux that can be used by internal game targets Change 3076820 on 2016/08/04 by Max.Chen Sequencer: Fix EDL export timing so that shot in time always start at 0 since movies are always rendered at their cut length (until shot handle exports exist). #jira UE-34199 Change 3076665 on 2016/08/03 by Dan.Oconnor Quick fix for regression introduced by 3075803. Crashing on load of some games because some tickables don't expect GetTickableGameObjectWorld to be called when IsTickable returns false #jira UE-18982 Change 3076569 on 2016/08/03 by Chad.Taylor SteamVR GetOrthoProjection implementation to fix broken console rendering in VR #jira UE-21424 Change 3076556 on 2016/08/03 by Aaron.McLeran #jira UE-34154 PSVR Stereo assets are spatialized as MONO - All audio was routing through A3D lib regardless of if it was mono/stereo etc. - Fix is to only route audio that is mono and spatialized - Fixed some compile errors/shadow variables - Renamed bIs3dSound to bIsA3dSound to indicate its a bool that flags if it is spatialized through A3D library Change 3076546 on 2016/08/03 by Aaron.McLeran #jira OR-26161 Client hitches indefinitely when using Stat soundcues / soundwaves Implementing 3069092 in Release-4.13 - Not all active sounds have sound classes, was causing a crash #tests Run game with stat soundcues and not crash Change 3076512 on 2016/08/03 by Ben.Marsh Fix warning about UnrealTournament:true argument. Change 3076492 on 2016/08/03 by Daniel.Wright Integrate - Disallowed DrawMaterialToRenderTarget and Begin/EndDrawCanvasToRenderTarget in construction scripts, since they don't work in game. Blutilities can be used to do blueprint rendering in the editor. #jira UE-34177 Change 3076491 on 2016/08/03 by Daniel.Wright Marked the Forward Shading project setting as experimental for 4.13 #jira UE-34176 Change 3076490 on 2016/08/03 by Daniel.Wright Integrate - Fixed crash rendering translucency with translucent shadows which were determined to be invisible #jira UE-34175 Change 3076489 on 2016/08/03 by Daniel.Wright Integrate - Now clamping light MinRoughness to .04 to avoid NaNs from Vis_SmithJointApprox on materials with Roughness 0 #jira UE-34174 Change 3076485 on 2016/08/03 by Daniel.Wright Integrate - Restored DetailMode changes causing a FGlobalComponentRecreateRenderStateContext - accidental removal from cl 2969413 #jira UE-34173 Change 3076440 on 2016/08/03 by Ryan.Vance #jira UE-34184 Merging 3060975, 3061888, 3072758 and 3076270 from devvr to rev Oculus sdk. Adding Oculus 1.6 support. Change 3076399 on 2016/08/03 by Nick.Darnell Slate - The LayoutCache pointer in SWidget is now a WeakPtr. This had to be done to handle edge cases where widgets were used in a pool, and placed into invalidation panels that had been deleted in the past, but were later invalidated with bogus pointers to long gone invalidation panels. Also making a tweak to WidgetCache, to update the lasthittestindex to be the one passed in, which is a bit closer to the intended behavior. #jira UE-34185 Change 3076397 on 2016/08/03 by Rolando.Caloca UE4.13 - hlslcc -Fix for hlsl length(float) #jira UE-32629 Change 3076337 on 2016/08/03 by mason.seay Test assets (and map for ensure bug) #jira UE-29618 Change 3076332 on 2016/08/03 by Peter.Sauerbrei fix for clang build errors #jira UE-34163 Change 3076326 on 2016/08/03 by Ryan.Vance #jira UE-32975 Using the wrong screen position in the base pass pixel shader with ISR. Change 3076309 on 2016/08/03 by Benjamin.Hyder Renaming TEST-LightingFeatures to TM-LightingFeatures #jira UE-29618 Change 3076299 on 2016/08/03 by Chad.Taylor Fix SteamVR lag in late-update fold child renderables. #jira UE-33928 Change 3076214 on 2016/08/03 by Mitchell.Wilson Resaving BluperintOffice level to resolve MikkTSpace warnings. Reimporting SM_GodRay_Plane to resolve cook warning. #jira UE-30064 Change 3076112 on 2016/08/03 by Max.Chen Sequencer: Fix crash when opening multiple UMG assets (multiple map/unmap record selected actors actions) #jira UE-34167 Change 3076090 on 2016/08/03 by Marc.Audy Fix Mac compile error #jira UE-34163 Change 3076075 on 2016/08/03 by Jeremiah.Waldron Fixing comments documenting attribute in deleteFiles node for UPL #jira UE-34161 Change 3076034 on 2016/08/03 by Mitchell.Wilson Resaving Strategy Game maps to resolve MikkTSpace warnings. Resaving material in strategy game to resolve string asset reference warning. #jira UE-29720 Change 3076003 on 2016/08/03 by Mitchell.Wilson Resaving Elemental Demo levels to resolve MikkTSpace warnings. Resaving multiple materials to resolve String asset reference warnings. #jira UE-29679 Change 3075985 on 2016/08/03 by Jeremiah.Waldron Fixing UPL comments misnaming the deleteFiles node #jira UE-34161 Change 3075977 on 2016/08/03 by Maciej.Mroz #jira UE-30473 Moving child component in child blueprint forces parent to become dirty Duplicated from Dev-Blueprints CL 3075793 Change 3075959 on 2016/08/03 by Marc.Audy Don't add WorldSettings to the Actor list twice if it is net relevant (pointed out by PR #2639) #jira UE-33921 Change 3075891 on 2016/08/03 by Chad.Taylor SteamVR crash fixes related to new OpenVR SDK. Some of the DLL export functions were converted to inline. #jira UE-34142 Change 3075882 on 2016/08/03 by Dan.Oconnor Manually integrating 3073939 to address UE-19062 #jira UE-19062 Change 3075805 on 2016/08/03 by Marc.Audy Implement GetTickableGameObjectWorld() for various FTickableGameObject classes. Releated to CL#3075803 #jira UE-18982 Change 3075803 on 2016/08/03 by Marc.Audy Make FTickableGameObject only tick once per frame by associating them with a World, and for those unassociated with a World, ticking them after other levels have ticked #jira UE-18982 Change 3075761 on 2016/08/03 by Max.Preussner MediaAssets: Fixed crash and incorrect re-initialization of media texture resource (UE-34152) #jira UE-34152 Change 3075719 on 2016/08/03 by Chad.Taylor Blocker fix for binary editor crash on incorrectly used dll #jira UE-34142 Change 3075709 on 2016/08/03 by Jeremiah.Waldron Changing InXMLNamespace parameter back to "http://schemas.android.com/apk/res/android" which is what it used to be set to directly within AndroidPluginLanguage before the transition from APL to UPL parameterized it in the constructor #android #jira UE-34149 Change 3075695 on 2016/08/03 by Jurre.deBaare Adding missing debug zlib dll #jira UE-123 Change 3075641 on 2016/08/03 by Jurre.deBaare Crash when re-importing alembic cache file several times #fix Always create a new object when importing #jira UE-34130 Change 3075609 on 2016/08/03 by Danny.Bouimad #jira UE-29618 updating TM-PhysicalAnimProfiles to use both NumKeys and number keys. Tweaked values inline with testcase so very apparent what each Physical Animation setting does. Change 3075578 on 2016/08/03 by Mitchell.Wilson Updating attenuation settings for multiple sounds in Strategy Game. #jira UE-25828 Change 3075529 on 2016/08/03 by Trung.Le VREditor: Fxied foliage lasso select without pressing trigger #jira UE-33689 Change 3075502 on 2016/08/03 by Lee.Clark Copied from cl#3041664 - Removing UpdateActorPosition. This was not needed in a vast majority of use cases and was causing a crash due to multithreading issues during end of frame updates. #jira UE-28549 Change 3075386 on 2016/08/03 by Robert.Manuszewski Fixing bulkdata using source data pointer as an archive instead of raw data when saving #jira UE-34132 Change 3075384 on 2016/08/03 by mason.seay AnimBP for crash bug #jira UE-29618 Change 3075350 on 2016/08/03 by Max.Chen Sequencer: Added support for additive skeletal animations. Evaluate all overlapping skeletal animation sections. #jira UE-30506 Change 3075327 on 2016/08/03 by Max.Chen Sequencer: Fix root component structure for level sequence actor. This fixes an ensure that occurs when double clicking on a level sequence actor sprite in the viewport. #jira UE-34093 Change 3075313 on 2016/08/03 by Matthew.Griffin Tidied up hardcoded installed build includes so that they're all in one file with platform checks Added .dll.config files to CsCompile build products if they exist Change 3075133 on 2016/08/03 by Yannick.Lange VREditor : Original submit in Dev-VREditor = 3064489 - Fix crash when starting VREditor and then changing levels #jira UE-33766 Change 3075124 on 2016/08/03 by Thomas.Sarkanen Fixed undo/redo crash when editing anim blueprint defaults Serializing copy records out of the undo buffer returns them to their initial uninitialized state, with NULL cached container pointers. To address this, we re-initialize the anim blueprint when we undo/redo. #jira UE-34024 - Crash undoing variable change in Animation Blueprint. Change 3075101 on 2016/08/03 by Matthew.Griffin Adding job to selectively build games in release branch Also adding documentation and localization to overnight build #jira UEB-688 Change 3075061 on 2016/08/03 by Yannick.Lange VR Editor : Original submit in Dev-VREditor = 3062883 - Fixed bug that Laser extends beyond UI when hovered over Selection Bar or Close Button #jira UE-33552 - Fixed crash when Closing Editor (Alt F4 while in VR mode) #jira UE-32509 - Fixed crash when enabling VR Editor in editor preferences without a HMD connected - Fixed bug if you "slowly press" over UI selection bars or close buttons, nothing happens #jira UE-33553 - Avatar code refactor to its own actor class #jira UETOOL-812 #jira UE-33552, #jira UE-32509, #jira UE-33553, #jira UETOOL-812 Change 3075059 on 2016/08/03 by Allan.Bentham Fall back to standard shadows when capsule shadows are not supported. #jira UE-33344 Change 3075045 on 2016/08/03 by Matthew.Griffin Added copies of new OpenVR dlls to Binaries/ThirdParty folder to fix warnings in build DDC step Change 3074693 on 2016/08/02 by Dan.Oconnor Manually integrating 3070569 from Dev-Blueprints #jira UE-34119 Change 3074672 on 2016/08/02 by Dan.Oconnor Manually integrating 3061854 into 4.13 from Dev-Blueprints #jira UE-34119 Change 3074646 on 2016/08/02 by Aaron.McLeran #jira UE-34081 Implementing from Dev-Framework CL 3074325 Procedural Sound Wave Fails to Play when returning 0 bytes in GeneratePCMData callback - Returning 0 bytes in GeneratePCMData results in the procedural sound wave not continuing to play audio. Instead of returning 0, this change returns an empty buffer if the procedural sound wave doesn't have audio ready to generate (due to loading or some other issue). - Change also fixes a threading issue with QueueAudio queing audio on game thread but being consumed by audio device thread. - Implementing 3003851 from UT into Dev-Framework. Change 3074630 on 2016/08/02 by Brent.Pease UE-23846 - iOS Movie Player can't handle videos at resolutions that aren't multiples of 16 UE-33200 - A movie isn't played on iOS occasionally. UE-32397 - Error Message displays as Unknown Error when failing to supply a Remote Build server for ios on Windows + Give a more friendly error message when UHT fails with an invalid error code. #jira UE-23846 #jira UE-33200 #jira UE-32397 Change 3074590 on 2016/08/02 by Rolando.Caloca UE4.13 - Fix gpu morph targets text; add support for RWByteBuffer (disabled). #jira UE-33694 Change 3074588 on 2016/08/02 by Chad.Taylor Update OpenVR SDK to v1.0.2 -Hooked up added aspect ratio and sort priority features to SteamVR stereo layers #jira UE-34115 Change 3074481 on 2016/08/02 by Ori.Cohen Make sure that new physical animation data defaults to 0 #JIRA UE-33678 Change 3074395 on 2016/08/02 by Ori.Cohen Fix duplication of physical animation profiles not duplicating data. Also fix undo redo not working for profiles. Fix editor not passing Duplicate change type #JIRA UE-33987, UE-33985 Change 3074392 on 2016/08/02 by Alex.Delesky #jira UE-32396 - Reverting CL 3074177, since it introduced side-effects. Change 3074364 on 2016/08/02 by phillip.patterson Re-created UMG_Optimization for Test Cases #jira UE-29618 Change 3074346 on 2016/08/02 by Jurre.deBaare Potential DDC warning fix, remove non-existing values #jira UE-123 Change 3074289 on 2016/08/02 by Jeff.Fisher UEVR-13 PSVR: TCR Requirement Reprojection problem after Sony PlaystationVR Morpheus HMD reconnect fixed. -When disconnecting and reconnecting the HMD 700+ sets of reprojection data would back up in a queue. After reconnection reprojection would be lagged by 12+ seconds. After some discussion we decided that the queue is not doing anything useful, so I replaced it with a single blob of reprojection data and a dirty flag. #jira UEVR-13 #review-3074209 @chad.taylor @nick.whiting Change 3074196 on 2016/08/02 by Martin.Wilson Mark old anim instances as pending kill so that they dont get grabbed by undo transactions (causes massive slowdown when dragging in spinboxes that modify default values on anim blueprints) #jira UE-23453 Change 3074177 on 2016/08/02 by Alex.Delesky #jira UE-32396 - Setting an STextBlock to magenta (#FF00FFFF) will no longer cause it to turn gray when compiling its parent widget blueprint. Change 3074157 on 2016/08/02 by Ben.Marsh Remove exception checking for a hard-coded CL. Licensees need to be able to use this stuff. Change 3074132 on 2016/08/02 by Trung.Le VREditor: Fixed brush preview present while in foliage mode and hovering at UI #jira UE-33228 Change 3074131 on 2016/08/02 by Tom.Looman Fix for scalability build warnings in VR Template #jira ue-33325 Change 3074089 on 2016/08/02 by Kevin.Rushin QAGame - Added Foliage to TestMap #jira UE-29618 Change 3074067 on 2016/08/02 by Kevin.Rushin QAGame- Rebuilt Lighting #jira UE-29618 Change 3074063 on 2016/08/02 by Kevin.Rushin QAGame - Fix up VREditor Map to have more asset variation #jira UE-29618 Change 3074057 on 2016/08/02 by Andrew.Porter Deleting - UMG_Optimization #jira UE-29618 Change 3074040 on 2016/08/02 by Michael.Trepka On Mac always process child windows when drawing, as they may be on screen even if their parents are minimized. #jira UE-31194 Change 3074008 on 2016/08/02 by Phillip.Patterson Renamed UMG_Invalidation to UMG_Optimization to better match test #jira UE-29618 Change 3073988 on 2016/08/02 by Mitchell.Wilson Updating starting camera location for Paper2d template to be consistant on both BP and Code version. #jira UE-32723 Change 3073966 on 2016/08/02 by Jurre.deBaare Alembic Cache Importer option for propagating matrix transformation does not work #fix Changed the flag combinations and overhauled the matrix retrieval/caching system #misc typo fix #jira UE-34066 Change 3073953 on 2016/08/02 by Lina.Halper Fixed static warning on null reference #jira: UE-33923 Change 3073951 on 2016/08/02 by Lina.Halper Fix GetRelativeTransform for negative scale #jira: UE-33380 Change 3073896 on 2016/08/02 by Alex.Delesky #jira UE-33580 - User can now play in editor or save after editing certain parameters such as colors via the eyedropper tool or by using numeric spinners. Minor usability improvements to the Data Table Row Editor. #jira UE-33867 - User can now play in editor after selecting a color outside of the color picker window using the eyedropper tool Change 3073804 on 2016/08/02 by Jamie.Dale Fixed the detail panel trying to apply class customizations to structs This could happen in the Data Table editor if you made a struct with the same name as a customized class (eg, Actor). #jira UE-32623 Change 3073803 on 2016/08/02 by Jurre.deBaare Morph target vertex mapping can be wrong with multi material caches #fix Changed the way we build the skeletal mesh from the import data and maintain a vertex remapping array to set up the morph targets correctly #jira UE-34074 Change 3073788 on 2016/08/02 by Andrew.Rodham Sequencer: Added support for montage based animation CL#3061714 : Sequencer: Fixed anim trails not playing in full, sequencer-driven animation. There were 2 issues here. Firstly, we were force-handling events and anim notifies in non-preview animation which caused undefined behaviour when the animation was also updated on tick. Secondly, On the very first frame of a game, sequencer can sometimes use the PreviewSetMatineeAnimPositionInner method because the actor it is referencing has not begun play yet. Unfortunately this function left the animation in a state where the 'real' animation update function wouldn't trigger any anim notifies properly. CL#3063015 : Sequencer: Fixed anim notifies not working when playing animation on blueprint-driven skeletal meshes We now inject a new animation position into the animation system, rather than trying to 'fake' events outside of the system. This allows for much more robust event triggering when playing back through sequencer. Previously, anim notifies for trail particles would be reset every frame due to TriggerAnimNotifies being called by the animation system, and sequencer. We now defer this responsibility to the animation system entirely during playback. CL#3068399 : Sequencer: Changed animation tracks to allow more animation types (such as anim montages) - APIs now accept UAnimSequenceBases rather than UAnimSequences to afford more flexibility #jira UE-34046 Change 3073787 on 2016/08/02 by Jurre.deBaare Handle failed Simplygon proxy mesh generation with error message instead of hard checks #fix Added a failed delegate along side the succesful delegate #jira UE-31990 Change 3073786 on 2016/08/02 by Jurre.deBaare Alembic importer crashes when not assets are generated #fix Prevented adding nullptr values to the array (now only contains valid entries) #jira UE-34065 Change 3073777 on 2016/08/02 by Jurre.deBaare User is able to give a Preview Scene Profile the same name as an existing profile #fix check changed profile name and append _duplicatedname if found to be matching an existing profile name #jira UE-34033 Change 3073775 on 2016/08/02 by Mitchell.Wilson Updating VehicleExampleMap for BP and Code templates to have consistant starting locations #jira UE-31281 Change 3073732 on 2016/08/02 by Rolando.Caloca DR - Fix crash when enabling gpu morph targets on non SM5 platforms #jira UE-34011 Change 3073706 on 2016/08/02 by Peter.Sauerbrei fix for no tvOS libraries in binary release for Win64 #jira UE-34076 Change 3073671 on 2016/08/02 by Allan.Bentham High quality mobile reflection captures are now blended in correct (linear) space. #jira UE-33915 Change 3073663 on 2016/08/02 by Peter.Sauerbrei fix for launch on failing for iOS in Binary #jira UE-34014 Change 3073662 on 2016/08/02 by Lee.Clark 4.13 - PS4 - Fix Media Player Audio cutting out #jira UE-33850 Change 3073616 on 2016/08/02 by Mark.Satterthwaite Duplicate CL #3073584 from Dev-Platform: Fix iOS Metal not playing in the background when the phone is locked and there's no drawable texture. #jira UE-32323 Change 3073592 on 2016/08/02 by Max.Chen Curve Editor: End any transactions on mouse down that weren't ended cleanly. This fixes a bug where if you drag with the left mouse button and click with the right mouse button, the transactions are left in an ambiguous state. #jira UE-33993 Change 3073585 on 2016/08/02 by Nick.Darnell Slate/UMG - When you select a paper sprite, or any other implementor of the SlateTextureAtlasInterface the editor will now correctly pick a default size for the brush matching the size of the sprite like it does for textures. #jira UE-34075 Change 3073575 on 2016/08/02 by Richard.TalbotWatkin Duplicating from Dev-Editor, CL 3057645 Fixed single player PIE so the window position is correctly fetched and saved, even when running a dedicated server. This does not interfere with stored positions for multiple PIE, which uses ULevelEditorPlaySettings::MultipleInstancePositions. #jira UE-33416 - New Editor PIE window does not center to screen when running with a dedicated server Change 3073542 on 2016/08/02 by Richard.TalbotWatkin Duplicated from Dev-Editor, CL 3072169. A couple of changes to the BSP code: * Fixed longstanding issue where sometimes BSP geometry is not rebuilt correctly after editing it. This was due to poly normals not being recalculated after translating vertices in Geometry Mode. * Fixed corruption to FPoly::iLink as it is overloaded to have two meanings: when building BSP, it temporarily represents the surface index of the next coplanar surface (and adding a new BSP node uses this to determine whether a new surface needs to be added or not). In other operations it represents an FPoly index, in general this is used more in editor geometry operations. This fixes various crashes which arose from rebuilding BSP resulting in invalid FPoly indices. #jira UE-12157 - BSP brushes break when non-standard subtractive bsp brushes are used #jira UE-32087 - Crash occurs when creating Static Mesh from Trigger Volume Change 3073540 on 2016/08/02 by Matthew.Griffin Added Package Samples script behind a trigger to package samples for QA Removed submitter notifications from Launcher Samples nodes Added submitters of any file in Templates/StarterContent as notified for Feature Pack and DDC nodes Removed any dependencies on Win64 only nodes from the Mac Installed Build so that it can be run locally Added Overnight Build Type to Release Branch to run the Binary Release and Package Samples jobs #jira UEB-689 Change 3073511 on 2016/08/02 by Tom.Looman Removed object redirectors to fix build warning in VR Template #jira ue-33325 Change 3073458 on 2016/08/02 by Jurre.deBaare Update default preview scene ini and assets #fix deleted old sky texture and fixed BaseEditor.ini setup #jira UE-34063 Change 3073427 on 2016/08/02 by Richard.TalbotWatkin Duplicated from Dev-Editor, CL 3068585 Fix to Spline Mesh collision building so that geometry does not default to being auto-inflated in PhysX. #jira UE-34062 - SplineMesh collision can be generated incorrectly Change 3073421 on 2016/08/02 by James.Golding Resave PSD test assets in QAGame with proper version #jira UE-34061 Change 3073419 on 2016/08/02 by James.Golding Rename OrientationDriver to PoseDriver #jira UE-34015 Change 3073404 on 2016/08/02 by Richard.TalbotWatkin Duplicated from Dev-Editor, CL 3057895 Mesh paint bugfixes and improvements. Changes to RerunConstructionScript so that OnObjectsReplaced is called correctly on all components, whether they have been created by the SCS or the UCS. Previously, components created by the UCS were not being handled, and components created by the SCS were not always being matched. Now a serialized index is maintained for UCS-created objects, which is matched after the construction scripts have been executed. This will fix issues with the mesh paint tool, and any other editor tool which hooks into the OnObjectsReplaced callback in order to update its internal cache of component pointers, for example, the component visualizer render list. #jira UE-33010 - Crash changing mesh paint material in blueprint, then changing to a different mode tab #jira UE-32279 - Editor crashes when reselecting a mesh in paint mode #jira UE-31763 - [CrashReport] UE4Editor_MeshPaint!FMulticastDelegateBase<FWeakObjectPtr>::RemoveAll() [multicastdelegatebase.h:75] #jira UE-30661 - Vertex Painting changes collision complexity if the asset is saved while vertex painting Change 3073380 on 2016/08/02 by Richard.TalbotWatkin Fixed build error in unity builds. #jira UE-33049 - Transform widget visible in blueprint viewport when editing spline points in editor viewport #jira UE-9062 - Spline editing: It would be nice to be able to type in a specific value for a point #jira UE-7476 - Add ability to edit SplineComponent in BP editor (not just instance in level) #jira UE-13082 - Users would like a snapping feature for splines #jira UE-13568 - Additional Spline Component Functionality #jira UE-17822 - It would be useful to be able to update a bp spline layout from the editor viewport. Change 3073343 on 2016/08/02 by Matthew.Griffin Whitelisting PS4 and XboxOne plugins for those platforms specifically #jira UE-33866 Change 3073338 on 2016/08/02 by Ben.Marsh When running in unattended mode, write an error refusing to load any missing plugin rather than opening a modal dialog. Fixes ShooterGame build error with missing PS4/XboxOne plugins. Change 3073319 on 2016/08/02 by Maciej.Mroz #jira UE-26676, UE-33027, UE-32806, UE-33460, UE-33423, UE-33860 Manually integrated some fixes from Dev-Blueprints Change 3073311 on 2016/08/02 by Richard.TalbotWatkin Duplicated from Dev-Editor CL 3057868 Spline component improvements, both tools and runtime: - SplineComponentVisualizer now works within the Blueprint editor. This works via a generic extension added to the base ComponentVisualizer class which correctly propagates modified properties from the preview actor to the archetype, and then on to any instances whose properties are at the default value. - The above feature required a breaking change to USplineComponent - namely, the three FInterpCurve properties have been collected together into a struct and added as a single property. This is so that changes to the length of one of the FInterpCurves marks all three as dirty and needing rebuilding. - Added a custom version for SplineComponent and provded serialization fixes. - Added a details customization to SplineComponent to hide the raw FInterpCurve properties. - Added a custom detail builder category which polls the SplineComponentVisualizer each tick and provides numerical editing for spline points which are selected in the visualizer. - Relaxed the limitation that SplineComponent keys need to have an increment of 1.0. Now any SplineComponent key can be set. The details customization enforces that the sequence remains strictly ascending. - Allowed an explicit loop point to be specified for closed splines. - Allowed discontinuous splines by no longer forcing the ArriveTangent and LeaveTangent to be equal. - Added some new Blueprintable methods for building splines with an FSplinePoint struct, which allows all of a spline point's properties to be specified, and added to the FInterpCurves sorted by the input key. - Fixed the logic which determines whether the UCS has modified the spline curves. - Added UActorComponent::RemoveUCSModifiedProperties, which allows a component to remove any properties from the cached list which it doesn't want to be considered as 'modified'. This is used to distinguish the case of properties preserved by the SplineInstanceDataCache from those genuinely modified by the UCS. - Fixed "Apply Instance Changes to Blueprint" so that edited spline data can be applied to the archetype. - Fixed some issues with the spline component visualizer to make it generate appropriate up vectors if scale and rotation are enabled. #jira UETOOL-766 - Spline tool improvements #jira UE-33049 - Transform widget visible in blueprint viewport when editing spline points in editor viewport #jira UE-9062 - Spline editing: It would be nice to be able to type in a specific value for a point #jira UE-7476 - Add ability to edit SplineComponent in BP editor (not just instance in level) #jira UE-13082 - Users would like a snapping feature for splines #jira UE-13568 - Additional Spline Component Functionality #jira UE-17822 - It would be useful to be able to update a bp spline layout from the editor viewport. #jira UE-33049 - Transform widget visible in blueprint viewport when editing spline points in editor viewport #jira UE-33669 - Crash in Dev-Editor Change 3073242 on 2016/08/02 by James.Golding Move physics state create/destroy delegates from BodyInstance to ActorComponent - Rename virtual Create/DestroyPhysicsState on OnCreateDestroyPhysicsState, and make protected. - Create new public Create/DestroyPhysicsState non-virtual to call virtual, and also invoke delegate. #jira UE-32768 Change 3072953 on 2016/08/01 by Uriel.Doyon Texture GUIDs are now included in cooked builds, as they are required by the texture streamer to link build data to in game textures. #jira UE-34045 [CL 3094220 by Ben Marsh in Main branch]
2016-08-18 20:28:33 -04:00
if (!TargetFunction)
{
// If the function doesn't exist and it is from self context, then it could be created from a CustomEvent node, that was also pasted (but wasn't compiled yet).
bCanPaste = FunctionReference.IsSelfContext();
}
else
{
bCanPaste = K2Schema->CanFunctionBeUsedInGraph(FBlueprintEditorUtils::FindBlueprintForGraphChecked(TargetGraph)->GeneratedClass, TargetFunction, TargetGraph, AllowedFunctionTypes, false);
}
}
return bCanPaste;
}
bool UK2Node_CallFunction::IsActionFilteredOut(FBlueprintActionFilter const& Filter)
{
bool bIsFilteredOut = false;
for(UEdGraph* TargetGraph : Filter.Context.Graphs)
{
bIsFilteredOut |= !CanPasteHere(TargetGraph);
}
return bIsFilteredOut;
}
static FLinearColor GetPalletteIconColor(UFunction const* Function)
{
bool const bIsPure = (Function != nullptr) && Function->HasAnyFunctionFlags(FUNC_BlueprintPure);
if (bIsPure)
{
return GetDefault<UGraphEditorSettings>()->PureFunctionCallNodeTitleColor;
}
return GetDefault<UGraphEditorSettings>()->FunctionCallNodeTitleColor;
}
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
FSlateIcon UK2Node_CallFunction::GetPaletteIconForFunction(UFunction const* Function, FLinearColor& OutColor)
{
static const FName NativeMakeFunc(TEXT("NativeMakeFunc"));
static const FName NativeBrakeFunc(TEXT("NativeBreakFunc"));
if (Function && Function->HasMetaData(NativeMakeFunc))
{
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
static FSlateIcon Icon("EditorStyle", "GraphEditor.MakeStruct_16x");
return Icon;
}
else if (Function && Function->HasMetaData(NativeBrakeFunc))
{
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
static FSlateIcon Icon("EditorStyle", "GraphEditor.BreakStruct_16x");
return Icon;
}
// Check to see if the function is calling an function that could be an event, display the event icon instead.
else if (Function && UEdGraphSchema_K2::FunctionCanBePlacedAsEvent(Function))
{
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
static FSlateIcon Icon("EditorStyle", "GraphEditor.Event_16x");
return Icon;
}
else
{
OutColor = GetPalletteIconColor(Function);
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
static FSlateIcon Icon("EditorStyle", "Kismet.AllClasses.FunctionIcon");
return Icon;
}
}
FLinearColor UK2Node_CallFunction::GetNodeTitleColor() const
{
return GetPalletteIconColor(GetTargetFunction());
}
FText UK2Node_CallFunction::GetTooltipText() const
{
FText Tooltip;
UFunction* Function = GetTargetFunction();
if (Function == nullptr)
{
return FText::Format(LOCTEXT("CallUnknownFunction", "Call unknown function {0}"), FText::FromName(FunctionReference.GetMemberName()));
}
else if (CachedTooltip.IsOutOfDate(this))
{
FText BaseTooltip = FText::FromString(GetDefaultTooltipForFunction(Function));
FFormatNamedArguments Args;
Args.Add(TEXT("DefaultTooltip"), BaseTooltip);
if (Function->HasAllFunctionFlags(FUNC_BlueprintAuthorityOnly))
{
Args.Add(
TEXT("ClientString"),
NSLOCTEXT("K2Node", "ServerFunction", "Authority Only. This function will only execute on the server.")
);
// FText::Format() is slow, so we cache this to save on performance
CachedTooltip.SetCachedText(FText::Format(LOCTEXT("CallFunction_SubtitledTooltip", "{DefaultTooltip}\n\n{ClientString}"), Args), this);
}
else if (Function->HasAllFunctionFlags(FUNC_BlueprintCosmetic))
{
Args.Add(
TEXT("ClientString"),
NSLOCTEXT("K2Node", "ClientFunction", "Cosmetic. This event is only for cosmetic, non-gameplay actions.")
);
// FText::Format() is slow, so we cache this to save on performance
CachedTooltip.SetCachedText(FText::Format(LOCTEXT("CallFunction_SubtitledTooltip", "{DefaultTooltip}\n\n{ClientString}"), Args), this);
}
else
{
CachedTooltip.SetCachedText(BaseTooltip, this);
}
}
return CachedTooltip;
}
void UK2Node_CallFunction::GeneratePinTooltipFromFunction(UEdGraphPin& Pin, const UFunction* Function)
{
Copying //UE4/Dev-Blueprints to //UE4/Dev-Main (Source: //UE4/Dev-Blueprints @ 3025888) #rb none #lockdown Nick.Penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2927746 on 2016/03/30 by Michael.Schoell Local variables in function graphs will now store a hard reference to their UObject value. Fixes a crash when a Blueprint is saved before compiling with the local variable's value set. Ensures that the UObject is loaded with the Blueprint. #jira UE-27738 - Local variables in a function that is in a blueprint will somehow become invalid when calling a native Change 2927751 on 2016/03/30 by Michael.Schoell Back out changelist 2927746 Change 2986483 on 2016/05/23 by Maciej.Mroz #jira UE-30976 Editable enum values set on an instance are lost during nativization Added overriden names of Enum keys. Change 2986712 on 2016/05/23 by Phillip.Kavan [UE-21010] Apply updated transform to component template instances when changing the scene root in a Blueprint class. change summary: - modified SSCS_RowWidget::OnMakeNewRootDropAction() to propagate the location/rotation reset to instances of the component template that's becoming the new scene root. Change 2987406 on 2016/05/23 by Ryan.Rauschkolb Fixed Functions filter in Find-In-Blueprints will show components from the SCS #jira UE-30140 Change 2988925 on 2016/05/24 by Ryan.Rauschkolb Fixed Issue where certain primitives would not automatically type cast to Text in Blueprint graph. #jira UE-20232 Change 2989001 on 2016/05/24 by Dan.Oconnor PR #2418: Fixed a typo in Blueprint.h (Contributed by PistonMiner) #jira UE-31142 Change 2989447 on 2016/05/25 by Phillip.Kavan [UE-30807] Propagate edit condition property value changes to instances of template objects. change summary: - modified FPropertyEditor::SetEditConditionState() to propagate an EditConditionProperty value change to all instances if the outer owning object is a template (e.g. CDO) Change 2989804 on 2016/05/25 by Phillip.Kavan [UE-30289] Preserve relative scale on the root scene component when converting an Actor instance to a Blueprint Class. change summary: - modified FKismetEditorUtilities::CreateBlueprintFromActor() to post-copy the relative scale value from the Actor's root component to the new Blueprint CDO's root component Change 2990234 on 2016/05/25 by Ryan.Rauschkolb Fixed issue where including a period ina Blueprint function causes double-click to fail to open its graph #jira UE-4426 Change 2990566 on 2016/05/25 by Mike.Beach Better warn logging to help locate variable nodes that emit a "variable not found" message. Change 2991083 on 2016/05/26 by Maciej.Mroz Blueprint nativization: converted classes have "config" specified. Change 2991363 on 2016/05/26 by Phillip.Kavan [UE-19599] Copy-and-paste of Actor instances from level to Blueprint/IWCE component tree views now adds properly-initialized components. change summary: - modified FCustomizableTextObjectFactory::CanCreateObjectsFromText() to handle "Begin Actor/End Actor" blocks in T3D text - modified FCustomizableTextObjectFactory::ProcessBuffer() to handle "Begin Actor/End Actor" blocks in T3D text (so that Actor-type objects can be processed) - modified FComponentObjectTextFactory::CanCreateClass() to allow Actor-type objects to pass - modified FComponentObjectTextFactory::ProcessConstructedObject() to handle Actor-type objects and pull out owned component instances as constructed objects Change 2992990 on 2016/05/27 by Ryan.Rauschkolb Fixed issue where Connecting Self Reference Pin to a String pin does not fully connect the generated GetDisplayName node #jira UE-21973 Change 2992995 on 2016/05/27 by Ryan.Rauschkolb Fixed issue where GetClass node is not listed in the Context Menu when pulling from a self node and Context Sensitive is checked. #jira UE-30990 Change 2993449 on 2016/05/27 by Phillip.Kavan [UE-31379] Don't instrument "preview" Actor instances during Blueprint profiler script event processing. change summary: - modified FBlueprintProfiler::InstrumentEvent() to check for and bypass Actor instances belonging to a preview or inactive world type. Change 2993531 on 2016/05/27 by Mike.Beach PR #2433: Interface functions inherited from a native base class now appear in . (Contributed by MichaelSchoell) Change 2993969 on 2016/05/30 by Maciej.Mroz UE-30729 Crash in Native Orion when selecting Sword or Tomahawk Clear AsyncLoading in subobjects. Change 2993990 on 2016/05/30 by Phillip.Kavan [UE-30984] Exclude reroute nodes from Blueprint profiler node mapping. change summary: - modified FBlueprintFunctionContext::MapInputPins() to pass through non-relevant nodes when iterating through non-exec input pin links. - modified FBlueprintFunctionContext::MapExecPins() to pass through non-relevant nodes when iterating through output exec pin links. - modified FBlueprintFunctionContext::MapTunnelEntry() to pass through non-relevant nodes when iterating through tunnel node exit points. - modified FBlueprintFunctionContext::MapTunnelInstance() to pass through non-relevant nodes when iterating through tunnel graph entry points. Change 2994591 on 2016/05/31 by Ryan.Rauschkolb Fixed issue where inherited Blueprint variable would not show parent's replications settings #jira UE-18912 Change 2994613 on 2016/05/31 by Ben.Cosh Minor refactor and Various fixes to the blueprint profiler moving towards MVP goal. #Jira UE-27039 - Blueprint Profiler does not lists stats when calling an Event Dispatcher #Jira UE-31396 - Blueprint profiler crashes inside the profiler connection drawing policy #Jira UE-30957 - "Pure Time" does not populate with data in the Blueprint Profiler #Jira UE-30926 - Blueprint profiler - expose heatmap thresholds to user through the profiler tab #Jira UE-30909 - Blueprint Profiler - "compile" icon should denote Blueprint's instrumented status #Jira UE-30911 - Blueprint profiler tab/panel should display warning when Blueprint is uninstrumented #Jira UE-31385 - BP Profiler - Inclusive time column should be entirely filled out #Jira UE-31375 - BP Profiler - Default sample averaging to the "arithmetic mean" #Jira UE-31377 - BP Profiler - Default tree view filtering to off #Jira UE-31387 - BP Profiler - Remove the "view type" button for MVP #Jira UE-31384 - BP Profiler - In the tree view, rename the first time column "Avg. Time (ms)" Notes:- - Sequence node inclusive time fixed - Trace History tidy up - Compile Icon and status messages for instrumentation - Message in the profiler tab for instrumentation - Profiler view tidy up and heat thresholds controls added - fixed the summed execution branch stats - fixed the connection drawing policy to use branch pin stats and fixed the crash from UE-31396 - added hottest path and hottest endpoint wire heatmaps - switched off the graph filter by default - added total time for the heatmaps - fixed issue where initialising mapped functions caused an assert due to changes to the array/map in initialisation code Change 2995058 on 2016/05/31 by Phillip.Kavan [UE-30718] Native/const implementable events will no longer cause a crash at runtime when the Blueprint profiler is running. change summary: - modified UObject::ProcessEvent() to bypass instrumentation for native event functions that are not implemented (overridden) in a BP class. - modified FScriptEventPlayback::Process() to first check for a standalone function match (UCS, implementable events declared as 'const') before settling on the ubergraph function for the target context. Change 2995218 on 2016/05/31 by Phillip.Kavan [UE-30778] Restored non-K2 compact graph nodes (e.g. Material Editor) to previous size. change summary: - modified SGraphNode::GetNodeIndicatorOverlayVisibility() default impl to return 'Collapsed' by default, so it doesn't affect layout. Change 2996417 on 2016/06/01 by Phillip.Kavan [UE-16073] Basic shape components (cube etc.) will now apply the correct override material to instances after being added through the component tree in the Blueprint editor. change summary: - modified the 'OnBasicShapeCreated' lambda in FComponentTypeRegistryData::AddBasicShapeComponents() to propagate the material override to all instances when the given component is an archetype (template) object. Change 2997001 on 2016/06/01 by Ryan.Rauschkolb Fixed Double Clicking a component in the results of Find-In-Blueprints does not select the component #jira UE-30143 Change 2997521 on 2016/06/02 by Maciej.Mroz [Blueprint Nativization] - Added FilesToIncludeInModuleHeader config variable in BlueprintNativizationSettings. So some headers can be included in NativizedAssets.h - Guids of nodes are no longer recreated when Blueprint is duplicated for "C++ compilation". Previously child bp used variable names based on original parent class, but nativized parent class had guids recreated. Change 2997522 on 2016/06/02 by Maciej.Mroz Native implementation of NOEXPORT FInterpCurvePoint structures. (It's necessary for Blueprint nativization) Change 2997638 on 2016/06/02 by Maciej.Mroz Improvements for Blueprint Nativization: - Overridden names in nativized code have proper escape characters (in generated code). - OnlyDefaultConstructorDeclared metadata is replaced by ObjectInitializerConstructorDeclared - Arrays of nativized anum have the following form: TArray<Enum> (previously it was TArray<TEnumAsByte<Enum>>) - warning C4883 is disabled in .generated.cpp files for nativized module Change 2997639 on 2016/06/02 by Maciej.Mroz Minor improvements in Ocean gameplay code. Required for Blueprint Nativization. #jira UE-28945 Failure packaging Nativized Ocean Change 2997656 on 2016/06/02 by Maciej.Mroz Various improvements in BlueprintCompilerCppBackend: - Fixed interface cast - Fixed TSwitchValue issue (when used with literals) - Fixed improper name for NativeBlueprintEvent (when calling parent's implementation) - Fixed bitfield getter code. - Reduce code size (less UsedAssets, less ReferencedConvertedFields, cached UEnums) - operator == is generated for nativized structs - Fixed AssedId (AssetPtr) constructor in nativized code. - Fixed arrays of noexport struct - Fixed missing headers for native single cast delegate signature. - Fixed issue when default constructor (in native) is missing (constructor with FObjectInitialized, wont be used automatically). See "ObjectInitializerConstructorDeclared" metadata. Change 2997691 on 2016/06/02 by Maciej.Mroz operator == in FText. It is required for some functions in TArray<FText> Change 2997793 on 2016/06/02 by Ben.Cosh Added support for BaseAsyncTask nodes, fixed a problem with instance mapping and turned off the debug instance filter #Jira UE-30703 - Crash using blueprint profiler on AI pawn using nav mesh #Proj BlueprintProfiler, Kismet Change 2997901 on 2016/06/02 by Maciej.Mroz Back out changelist 2997691 Change 2998038 on 2016/06/02 by Mike.Beach Merging //UE4/Dev-Main to Dev-Blueprints (//UE4/Dev-Blueprints) Change 2998052 on 2016/06/02 by Ryan.Rauschkolb Fixed Comment bubbles not remembering changes after losing focus #jira UE-20012 Change 2998450 on 2016/06/02 by Phillip.Kavan [UE-31550] Fix crash on load of a Blueprint class containing a bitmask variable with missing enum type metadata. change summary: - modified FBlueprintEditorUtils::ValidateBlueprintVariableMetadata() to check for presence of bitmask enum type metadata on a variable before trying to validate it. Change 2999763 on 2016/06/03 by Mike.Beach Guarding against a crash with an ensure - attempting to catch why this is happening by logging more info, as we're unable to repro it. Guarding against nodes which reference malformed (TRASH) classes. #jira UE-26761 Change 2999768 on 2016/06/03 by Maciej.Mroz #jira UE-31592, UE-31593 This is just workaound. FReferenceFinder::FindReferences doesn;t find Enum variable in UByteProperty. Change 2999770 on 2016/06/03 by Maciej.Mroz [Blueprint Nativization] Workaround for missing ==operator in native structures. The generated code uses special version of array funtions. Change 2999798 on 2016/06/03 by Mike.Beach Guarding against malformed Blueprints (ones without valid "authoratative" class) used as context for the node menu. Baffling how we'd get into this scenario, but this adds ensures to hopefully give us clues and stabalize the editor. #jira UE-31522 Change 2999941 on 2016/06/03 by Mike.Beach Correcting mistake in previously attempted fix (CL 2781229). Now using weak ptr IsValid checks to guard against destroyed nodes in deferred graph actions (TWeakObjectPtr::Get() does not check IsValid before returning). #jira UE-23371 Change 3001731 on 2016/06/06 by Phillip.Kavan [UE-30638] BP profiler will no longer crash at runtime while profiling events that call functions on an external target. change summary: - modified FBlueprintProfiler::ProcessEventProfilingData() to only remove 'Class' and 'Instance' signals on new events. - modified FScriptEventPlayback::NodeSignalHelper struct to include a new 'BlueprintContext' field. - modified FScriptEventPlayback::Process() to handle midstream context switches by updating the Blueprint/Function context on 'Class' and/or 'Instance' signals. - modified FScriptEventPlayback::Process() to cache and reference the current Blueprint context within the cached NodeSignalHelper while handling processed events. Change 3002075 on 2016/06/06 by Maciej.Mroz Improved FScriptBuilderBase::EmitTermExpr in KismetCompilerVMBackend. Literal expression can be emitted without known desitination property. #jira UE-28443 Set Boolean (by ref) crashes the editor on compile Change 3002096 on 2016/06/06 by Ben.Cosh This change expands the way that the blueprint profiler detects event nodes during mapping to include other non function graphs. #Jira UE-30716 - Blueprint Profiler crashes if function in another graph is called #Proj BlueprintProfiler Change 3002108 on 2016/06/06 by Ben.Cosh Adds a new default option to average the blueprint level stats in the profiler. #Jira UE-31386 - BP Profiler - Timings reported with "Show Instances" off (in the tree view) are not averaged #Proj Kismet, BlueprintProfiler - The controls were also getting a bit messy so I tidied them all up into a re-usable toolbar for convenience going forward. Change 3002782 on 2016/06/06 by samuel.proctor Test assets for Interface testing Change 3003826 on 2016/06/07 by Ben.Cosh A few minor visual improvements for the blueprint profiler. #Proj Kismet, BlueprintProfiler, EditorStyle - Updated the actor icon to match the world outliner and added some functionality to draw attention to stale/deleted actors. - Updated the pure node icon. Change 3004067 on 2016/06/07 by samuel.proctor New test asset for blueprint interfaces Change 3004069 on 2016/06/07 by samuel.proctor Updating asset for Interface testing Change 3004275 on 2016/06/07 by Ryan.Rauschkolb Fixed issue where Toggle Comment Bubble button for Reroute nodes would not rever tthe comment bubble to constant visibility #jira UE-23733 Change 3004329 on 2016/06/07 by Dan.Oconnor EdGraphPin is no longer a UObject, this will improve load times significantly on projects with large number of blueprints, but content does need to be resaved in order to see the improvement in load time. UObject counts are also greatly reduced. Change 3004418 on 2016/06/07 by Maciej.Mroz KismetCompilerVMBackend: Fixed issue, when a byte property has no enum specified (for examle parameter from EqualEqual_ByteByte) but the enum is needed to parse a literal value. Change 3004496 on 2016/06/07 by Dan.Oconnor Disabling expensive pin allocation tracking Change 3004649 on 2016/06/07 by Mike.Beach Preventing a new warning from being generated on trace point exceptions (trace point exceptions are used to hook into the debugger, and don't represent errors). #jira UE-31236 Change 3004667 on 2016/06/07 by Dan.Oconnor Removed my debugging logic Change 3004848 on 2016/06/07 by Dan.Oconnor Fix spammy ensure Change 3004871 on 2016/06/07 by Phillip.Kavan [UE-24950] No longer including components instanced as default subobjects of and attached to components instanced by construction script in the IWCE component tree view. change summary: - modified SSCSEditor::UpdateTree() to exclude child components instanced in native code as "nested" DSOs and parented to non-natively-constructed (e.g. Blueprint) components; these instances are no longer being shown in IWCE in order to avoid confusion, as they're not currently mutable at the instance level, will always be parented to something that is visible in the tree, and they're also not currently shown in the Blueprint editor's component tree view (because they're not stored in the CDO). - modified FSceneComponentData's ctor to exclude child components instanced in native code as nested DSOs from the AttachedInstancedComponents array; this allows child components instanced as nested DSOs to be disposed of along with the constructed parent instance when re-running construction scripts. Change 3005203 on 2016/06/07 by Dan.Oconnor Fix for undo/redo/serialization issues with ed graph pin change. When serialization logic was applied incrementally our attempts to keep LinkedTo symetrical and aggressively clear destroyed nodes caused problems #jira UE-31750 Change 3005441 on 2016/06/08 by Maciej.Mroz #jira UE-31625 Crash in nativized Orion AssembleReferenceTokenStream is called for Dynamic Classes: - in ConstructDynamicType() (when class is explicitly loaded) - in __CustomDynamicClassInitialization() (when CDO is created) Change 3005540 on 2016/06/08 by Ben.Cosh This adds the ability to track profiler instances between editor and PIE instances and displays the current status through the icon coloring. #Jira UE-30705 - Blueprint profiler stats lost if instance destroyed during PIE #Proj BlueprintProfiler, Kismet - The jira was already fixed but I think this change improves the instance status clarity Change 3006196 on 2016/06/08 by Dan.Oconnor Copy/paste logic for pin connections got lost in the shuffle #jira UE-31747 Change 3006416 on 2016/06/08 by Phillip.Kavan [UE-31735] Fix potential loss of GetClassDefaults node output pin links on load (due to dependency load order). change summary: - modified UK2Node_GetClassDefaults::GetInputClass() to redirect to the generated skeleton class only if it's valid. this ensures that output pins will be reallocated during node reconstruction even if the dependent Blueprint's skeleton class has not yet been generated on load. Change 3006522 on 2016/06/08 by Dan.Oconnor Under rare circumstances a deprecated pin comes in that is outered to the transient package #jira UE-31779 Change 3006576 on 2016/06/08 by Dan.Oconnor Fix for non-editor builds #jira UE-31796 Change 3006610 on 2016/06/08 by Phillip.Kavan [UE-31743] Fix data loss issue when loading a serialized non-native component class instance that's owned by an Actor-based Blueprint class instance. change summary: - modified FObjectInitializer::InitProperties() to disable fast path initialization for non-native class types when the default data does not equate to the non-native CDO (as is also done within the native path). this is necessary because the optimized property list that we generate at load time to support fast path initialization of Blueprint class instances is only applicable to the generated CDO. Change 3006824 on 2016/06/08 by Dan.Oconnor More undo/redo fixes, this time fixes for when transaction buffer changes # of pins, thus destabalizing the LinkedTo arrays #jira UE-31794 Change 3006828 on 2016/06/08 by Dan.Oconnor Fix for non-editor builds Change 3006857 on 2016/06/08 by Dan.Oconnor Investigating shutdown ensure, traced back to a static UEdGraphPin Change 3006907 on 2016/06/08 by Dan.Oconnor Noneditor build fix Change 3006929 on 2016/06/08 by Dan.Oconnor Deferring DeprecatedPins destruction until after UBlueprint has had a chance to fix up its watched pins, this is a better fix for #jira UE-31779 Change 3007133 on 2016/06/09 by Ben.Cosh Fix for issue in the profiler asserting creating pins that don't have unique names. #Jira UE-31752 - Crash compiling various Orion assets for blueprints profiling, ScriptExecNode.IsValid() failed #Proj BlueprintProfiler - I believe this was recently introduced with the changes to UEdGraphPin's Change 3007964 on 2016/06/09 by Dan.Oconnor Fix for PinHelpers::UnresolvedPins being left with stale entries by undo/redo #jira UE-31829 Change 3007996 on 2016/06/09 by Ryan.Rauschkolb Added 'empty' keyword to Array Clear Node. #jira UE-12356 Change 3008007 on 2016/06/09 by Ryan.Rauschkolb Added 'negate' keyword to boolean NOT node #jira UE-12490 Change 3008011 on 2016/06/09 by Ryan.Rauschkolb Added Vector2D * Vector2D multiplication node #jira UE-31503 Change 3008014 on 2016/06/09 by Ryan.Rauschkolb Fixed Cannot connect Make Array node output to MakeArray input with split pins #jira UE-28530 Change 3008243 on 2016/06/09 by Dan.Oconnor Fix for creation of FWeakGraphPinPtr from a pin that had been destroyed, client logic is still a bit broken in the case of the ClassDefaults node, but we're back to 'safe' #jira UE-31841 Change 3008289 on 2016/06/09 by Dan.Oconnor Editor transaction saves all state before applying undo/redo buffers when using 'bFlip' flow. This prevents messing with the object graph in the middle of saving state that will be restored later #jira UE-31794 Change 3008422 on 2016/06/09 by Dan.Oconnor Correct usage of GIsTransacting, replaced with Ar.IsTransacting() to correctly handle the case where we serialize after transacting but during the transaction (for instance, recompile blueprint in post undo, which we do quite a bit it turns out) #jira UE-31857 Change 3009164 on 2016/06/10 by Ryan.Rauschkolb Making changes to default values in the structure editor will now make changes to the structure without rebuilding the default values panel. #jira UE-21141,UE-23723 Change 3009165 on 2016/06/10 by Ryan.Rauschkolb Fixed Structure Default value editor collapses after undoing an alteration of a default value #jira UE-31741 Change 3009181 on 2016/06/10 by Ryan.Rauschkolb Fixed issue where modifying a default value in a Widget Blueprint would cause the Details Panel to refresh #jira UE-30014 Change 3009313 on 2016/06/10 by Mike.Beach Addressing issues with function return nodes in multiple ways: - Preventing users from deleting return nodes for overriden/inherited functions. - Also making sure that we create terminals for out params when the return node is disconnected (and pruned). - Lastly, ensuring that new return nodes adhere to the function's signature (for cases, like where you copy/paste a return node from a different function). #jira UE-31418 Change 3009595 on 2016/06/10 by Dan.Oconnor EdGraphPinReference using PinId to resolve itself again, may create issues resolving pins created in compile #jira UE-31879 Change 3009774 on 2016/06/10 by Dan.Oconnor Fix for bad logic in RemovePin introduced in 3004329, just a bad reading of the logic, missed an early return #jira UE-31906 Change 3009988 on 2016/06/10 by Dan.Oconnor Prefer to use existing pins (based on PinId) when undoing/redoing pin serialization #jira UE-31888 Change 3010050 on 2016/06/10 by Dan.Oconnor Fixed missing call to ssuper class's PostEditUndo, fixed UBehaviorTreeGraph::PostEditUndo accessing Pins before they have been resolved #jira UE-31892 Change 3010071 on 2016/06/10 by Dan.Oconnor Fix for pasting when owning node has whitespace in result of GetPathName #jira UE-31898 #coderview Bob.Tellez Change 3010244 on 2016/06/11 by Dan.Oconnor Fix for trivial copy/paste error, causes crash when copying/pasting nodes with text default values, part of UE-31870 Change 3010630 on 2016/06/13 by Dan.Oconnor No longer relying on path name for pin resolution, path is unstable across graphs #jira UE-31870 Change 3010647 on 2016/06/13 by Dan.Oconnor PR #2496: Updated KismetMathLibrary comparison descriptions for FDateTime and FTimespan. (Contributed by CelPlays) #jira UE-31928 Change 3011175 on 2016/06/13 by Ben.Cosh Updates the Blueprint Profiler so that it can correctly map entry/exit from tunnels based on instance. #Jira UE-30106 - Compiling QA_PhysVelocitySettleTest with the blueprint profiler results in a crash/assert #Proj Kismet, BlueprintProfiler - Ensured that the trace paths contain the macro instance exec nodes - Selectively update stats in the tunnel exit site nodes based on valid exit sites to prevent cyclic updates. - Updated the comments in map tunnel entry to spare peoples sanity when trying to understand what that function does. Change 3011271 on 2016/06/13 by Ben.Cosh This adds support for inherited blueprint classes to the blueprint profiler. #Jira UE-31833 - The Blueprint profiler asserts when using a FlipFlop macro. #Jira UE-31752 - Crash compiling various Orion assets for blueprints profiling, ScriptExecNode.IsValid() failed #Proj BlueprintProfiler Change 3011556 on 2016/06/13 by Ryan.Rauschkolb Fixed Crash when breaking link to a split pin in MakeArray that is an array type #jira UE-31919 Change 3011624 on 2016/06/13 by Dan.Oconnor Fix for missing entries in MessageLog's source pin identification map. Bob T had originally populated this correctly, but somehow i lost it while iterating. #jira UE-31955 Change 3011984 on 2016/06/13 by Dan.Oconnor Sanitizing parentpin's subpins when destroying a pin #jira UE-21392 Change 3012894 on 2016/06/14 by Phillip.Kavan [UE-30922] Ensure that customized defaults are propagated to new instances at construction time during non-Actor-based Blueprint class reinstancing. change summary: - modified FBlueprintCompileReinstancer::ReplaceInstancesOfClass_Inner() to use the reinstanced archetype object as the template object during construction of the new instance for non-Actor-based Blueprint class types. #jira UE-30922 Change 3013037 on 2016/06/14 by Ryan.Rauschkolb Fixed Crash when connecting to a split pin in a MakeArray node that has no connections #jira UE-31917 Change 3014846 on 2016/06/15 by Dan.Oconnor No longer using FText::IsLetter to parse math expression nodes, that function is very slow. $x is now a valid math expression variable name (genereated a compile error prior to this change) #jira FORT-23753 Change 3015014 on 2016/06/15 by Dan.Oconnor Removing poorly implement IsLetter function Change 3015142 on 2016/06/15 by Dan.Oconnor More intentional about removing subpins, prevents stale iterator on split pin collapse #jira UE-32072 Change 3016326 on 2016/06/16 by Ryan.Rauschkolb Fixed MakeArray node does not reset to wildcard when breaking links with split struct pins that have default values #jira UE-32016 Change 3016494 on 2016/06/16 by Ryan.Rauschkolb Fixed Crash when dragging a component into the Event Graph that's inherited from a C++ class #jira UE-31876 Change 3016557 on 2016/06/16 by Dan.Oconnor Explicit copy/move of string data for FText, removes some redundant copying and object construction/destruction [which could be optimzed away], saves 2-3 seconds in my 80s load asset benchmark #jira FORT-23753 Change 3016577 on 2016/06/16 by Ryan.Rauschkolb Fixed compiler warning for hidden member variable in FBlueprintVarActionDetails::GetVariableReplicationType Change 3016906 on 2016/06/16 by Dan.Oconnor Back out changelist 3016557 This will be done by Jamie.Dale in Dev-Editor Change 3018081 on 2016/06/17 by Phillip.Kavan [UE-31832] PR #2486: Expose UInheritableComponentHandler::GetAllTemplates() outside of editor (Contributed by Bogustus) #jira UE-31832 Change 3018402 on 2016/06/17 by Dan.Oconnor Missing include Change 3018426 on 2016/06/17 by Ryan.Rauschkolb Fixed MakeArray node with split pins and no connections does not paste correctly #jira UE-32148 Change 3018452 on 2016/06/17 by Mike.Beach Moving the patching of instanced sub-objects out of CPFUO (where you can't rely on the target to be a replacement for the source) to FBlueprintEditorUtils::PatchCDOSubobjectsIntoExport(), and making it so PatchCDOSubobjectsIntoExport() is called regularly for Blueprint regeneration (on load). #jira UE-32158 Change 3018456 on 2016/06/17 by Dan.Oconnor Fix for static analysis warning, this null check does nothing Change 3018595 on 2016/06/17 by Mike.Beach Fix for shadowed variable warning in CIS. Change 3018699 on 2016/06/17 by Mike.Beach Making MinimumAreaRectangle callable in Blueprints without world context (which is only needed for debug drawing). Change 3019734 on 2016/06/20 by Phillip.Kavan [UE-32064] Clone associated component template(s) when duplicating Blueprint function graphs containing one or more Add Component nodes. change summary: - added a UK2Node_AddComponent::PostDuplicate() override - moved UK2Node_AddComponent::PostPasteNode() logic into a helper method that's now called from both PostDuplicate() and PostPasteNode() overrides. notes: - will prevent getting into the scenario described in UE-31831 #jira UE-32064 Change 3020635 on 2016/06/20 by Dan.Oconnor Fix for bad cast in FCompilerResultsLog::Append, could cause crashes in clients of this function (math expressions nodes occasionally do when they fail to compile) Change 3020894 on 2016/06/21 by Maciej.Mroz #2522: Interface UProperties can ExposeOnSpawn (in Blueprints) (Contributed by MichaelSchoell) Change 3020958 on 2016/06/21 by Ben.Cosh This improves the way key events are detected in the blueprint profiler, preventing duplicate event entries when pressed and released are both wired. It also catches a bug with the compiler instrumentation flag when compiling. #Jira UE-32270 - Input key events generate extra instrumentation data per key press #Jira UE-32266 - Recompiling blueprints with instrumentation can fail to add instrumentation. #Proj BlueprintProfiler, UnrealEd Change 3021316 on 2016/06/21 by Ryan.Rauschkolb Fixed issue where Copy/Paste of event nodes would not retain link information Change 3021826 on 2016/06/21 by Phillip.Kavan [UE-31831] Fix up AddComponent nodes on load if they are not associated with a unique template object. change summary: - added external linkage to UK2Node_AddComponent::MakeNewComponentTemplate(), and switched it to be a public API - modified FBlueprintEditorUtils::UpdateComponentTemplates() (as this is already called on Blueprint load) to detect/warn and correct non-unique templates #jira UE-31831 Change 3022047 on 2016/06/21 by Ryan.Rauschkolb Fixed issue where copy/paste of return nodes would not preserve value or link data #jira UE-26937 Change 3022619 on 2016/06/22 by Maciej.Mroz #jira UE-30858 Nativized Orion - Some particle effects are not rendering A static/persistent information (the mechanism is similar to AssetRegistrySearchable) about DynamicClass is added. It's necessary since DynamicClasses are not handled as regular assets by AssetRegistry. Fixed GameplayCueManager. Nativized cues can be found. This is an early version of the feature. Amount of stored persistent data can be extended (but it would increase memory-usage). Change 3022654 on 2016/06/22 by Maciej.Mroz FBackendHelperStaticSearchableValues -fixed too strict ensure Change 3023067 on 2016/06/22 by Maciej.Mroz #jira UE-32083 Nativize Blueprints removes blueprint functionality in packaged project Config settings from super class are not applied (at runtime) to nativized Blueprints . So all "config" properties are filled in constructor. Change 3023222 on 2016/06/22 by Ryan.Rauschkolb Fixed MakeArray node elements break when editing struct elements #jira UE-21392 Change 3023405 on 2016/06/22 by Mike.Beach Making sure sub-objects get instanced for Blueprint CDOs that had their FObjectInitializer deferred (happens when the super CDO hasn't been fully serialized). By the time the deferred FObjectInitializer is ran, the sub-objects have been assigned a RF_NeedLoad flag (where they normally wouldn't have one right after construction, when the initialization is usually ran). #jira UE-31897 Change 3023992 on 2016/06/22 by Mike.Beach Fixed an issue where hovering on/off a reroute node (toggling the comment bubble visibility) would create extraneous undo transactions. #jira UE-31859 [CL 3025946 by Mike Beach in Main branch]
2016-06-23 19:35:24 -04:00
if (Pin.bWasTrashed)
{
return;
}
// figure what tag we should be parsing for (is this a return-val pin, or a parameter?)
FString ParamName;
FString TagStr = TEXT("@param");
const bool bReturnPin = Pin.PinName == UEdGraphSchema_K2::PN_ReturnValue;
if (bReturnPin)
{
TagStr = TEXT("@return");
}
else
{
ParamName = Pin.PinName.ToLower();
}
// grab the the function's comment block for us to parse
FString FunctionToolTipText = Function->GetToolTipText().ToString();
int32 CurStrPos = INDEX_NONE;
int32 FullToolTipLen = FunctionToolTipText.Len();
// parse the full function tooltip text, looking for tag lines
do
{
CurStrPos = FunctionToolTipText.Find(TagStr, ESearchCase::IgnoreCase, ESearchDir::FromStart, CurStrPos);
if (CurStrPos == INDEX_NONE) // if the tag wasn't found
{
break;
}
// advance past the tag
CurStrPos += TagStr.Len();
// handle people having done @returns instead of @return
if (bReturnPin && CurStrPos < FullToolTipLen && FunctionToolTipText[CurStrPos] == TEXT('s'))
{
++CurStrPos;
}
// advance past whitespace
while(CurStrPos < FullToolTipLen && FChar::IsWhitespace(FunctionToolTipText[CurStrPos]))
{
++CurStrPos;
}
// if this is a parameter pin
if (!ParamName.IsEmpty())
{
FString TagParamName;
// copy the parameter name
while (CurStrPos < FullToolTipLen && !FChar::IsWhitespace(FunctionToolTipText[CurStrPos]))
{
TagParamName.AppendChar(FunctionToolTipText[CurStrPos++]);
}
// if this @param tag doesn't match the param we're looking for
if (TagParamName != ParamName)
{
continue;
}
}
// advance past whitespace (get to the meat of the comment)
// since many doxygen style @param use the format "@param <param name> - <comment>" we also strip - if it is before we get to any other non-whitespace
while(CurStrPos < FullToolTipLen && (FChar::IsWhitespace(FunctionToolTipText[CurStrPos]) || FunctionToolTipText[CurStrPos] == '-'))
{
++CurStrPos;
}
FString ParamDesc;
// collect the param/return-val description
while (CurStrPos < FullToolTipLen && FunctionToolTipText[CurStrPos] != TEXT('@'))
{
// advance past newline
while(CurStrPos < FullToolTipLen && FChar::IsLinebreak(FunctionToolTipText[CurStrPos]))
{
++CurStrPos;
// advance past whitespace at the start of a new line
while(CurStrPos < FullToolTipLen && FChar::IsWhitespace(FunctionToolTipText[CurStrPos]))
{
++CurStrPos;
}
// replace the newline with a single space
if(!FChar::IsLinebreak(FunctionToolTipText[CurStrPos]))
{
ParamDesc.AppendChar(TEXT(' '));
}
}
if (FunctionToolTipText[CurStrPos] != TEXT('@'))
{
ParamDesc.AppendChar(FunctionToolTipText[CurStrPos++]);
}
}
// trim any trailing whitespace from the descriptive text
ParamDesc.TrimTrailing();
// if we came up with a valid description for the param/return-val
if (!ParamDesc.IsEmpty())
{
Pin.PinToolTip += ParamDesc;
break; // we found a match, so there's no need to continue
}
} while (CurStrPos < FullToolTipLen);
GetDefault<UEdGraphSchema_K2>()->ConstructBasicPinTooltip(Pin, FText::FromString(Pin.PinToolTip), Pin.PinToolTip);
}
FText UK2Node_CallFunction::GetUserFacingFunctionName(const UFunction* Function)
{
FText ReturnDisplayName;
Copying //UE4/Ocean-Staging to //UE4/Dev-Main (Source: //Ocean/Main @ 3039233) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3035988 on 2016/07/01 by James.Brinkerhoff Hotfix from CL 3032831 for UHT compile error on Windows 10 machines Change 3034711 on 2016/06/30 by Peter.Sauerbrei latest provision to go with latest certificate Change 3032018 on 2016/06/28 by Shon.Love #ocn, #mcp: Fixed create clan call. Change 3031372 on 2016/06/28 by David.Nikdel #Ocean: Post-Integration fixup commit Change 3030867 on 2016/06/28 by Scott.Bowen #ocean - Integrate changes from //WEX/... to allow importing Json attributes to apply to an item when created on Mcp. Change 3030859 on 2016/06/28 by Shon.Love #ocn, #mcp: Fixed Mac compiler errors. Change 3030595 on 2016/06/28 by Shon.Love #ocn, #mcp: Updated Groups implementation to interact with latest API. Change 3030549 on 2016/06/28 by Shon.Love #ocn, #mcp: Fixed nullptr-dereference if an async method disappeared/changed while still referenced by a blueprint. Crash would happen if you put your mouse of the 'missing async method' node in the blueprint editor. Change 3028705 on 2016/06/27 by Ian.Fox Duplicating 3027482 from //Orion/Main Read TaggedPropertyRedirects from all config files to allow plugins to register property redirectors You'll need this before you grab the latest OGF or your catalog prices will go away, so here it is now #ue4 #tests none Change 2993102 on 2016/05/27 by James.Brinkerhoff Hotfix from CL 2985226 for UE-30995 - Player built walls have default material (for Orlando's material error X8000) Change 2989818 on 2016/05/25 by James.Brinkerhoff Hotfix from 2989681 for UHT rebuilding when it doesn't need to Change 2984539 on 2016/05/19 by James.Brinkerhoff Making some changes to the script to generate the changelist description for copying up streams to UE4 Main based on game dev stream needs - Adding a lockdown parameter - Calculating the last changelist for game dev streams from the second of the input changelist range - Ignoring case for CodeReview and RB tags - Defining a separate source stream for game dev streams Change 2984055 on 2016/05/19 by James.Brinkerhoff Merging //UE4/Ocean-Staging to //Ocean/Main [CL 3040652 by James Brinkerhoff in Main branch]
2016-07-06 22:10:20 -04:00
if (Function != NULL)
{
Copying //UE4/Ocean-Staging to //UE4/Dev-Main (Source: //Ocean/Main @ 3039233) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3035988 on 2016/07/01 by James.Brinkerhoff Hotfix from CL 3032831 for UHT compile error on Windows 10 machines Change 3034711 on 2016/06/30 by Peter.Sauerbrei latest provision to go with latest certificate Change 3032018 on 2016/06/28 by Shon.Love #ocn, #mcp: Fixed create clan call. Change 3031372 on 2016/06/28 by David.Nikdel #Ocean: Post-Integration fixup commit Change 3030867 on 2016/06/28 by Scott.Bowen #ocean - Integrate changes from //WEX/... to allow importing Json attributes to apply to an item when created on Mcp. Change 3030859 on 2016/06/28 by Shon.Love #ocn, #mcp: Fixed Mac compiler errors. Change 3030595 on 2016/06/28 by Shon.Love #ocn, #mcp: Updated Groups implementation to interact with latest API. Change 3030549 on 2016/06/28 by Shon.Love #ocn, #mcp: Fixed nullptr-dereference if an async method disappeared/changed while still referenced by a blueprint. Crash would happen if you put your mouse of the 'missing async method' node in the blueprint editor. Change 3028705 on 2016/06/27 by Ian.Fox Duplicating 3027482 from //Orion/Main Read TaggedPropertyRedirects from all config files to allow plugins to register property redirectors You'll need this before you grab the latest OGF or your catalog prices will go away, so here it is now #ue4 #tests none Change 2993102 on 2016/05/27 by James.Brinkerhoff Hotfix from CL 2985226 for UE-30995 - Player built walls have default material (for Orlando's material error X8000) Change 2989818 on 2016/05/25 by James.Brinkerhoff Hotfix from 2989681 for UHT rebuilding when it doesn't need to Change 2984539 on 2016/05/19 by James.Brinkerhoff Making some changes to the script to generate the changelist description for copying up streams to UE4 Main based on game dev stream needs - Adding a lockdown parameter - Calculating the last changelist for game dev streams from the second of the input changelist range - Ignoring case for CodeReview and RB tags - Defining a separate source stream for game dev streams Change 2984055 on 2016/05/19 by James.Brinkerhoff Merging //UE4/Ocean-Staging to //Ocean/Main [CL 3040652 by James Brinkerhoff in Main branch]
2016-07-06 22:10:20 -04:00
if (GEditor && GetDefault<UEditorStyleSettings>()->bShowFriendlyNames)
{
ReturnDisplayName = Function->GetDisplayNameText();
}
else
{
static const FString Namespace = TEXT("UObjectDisplayNames");
const FString Key = Function->GetFullGroupName(false);
Copying //UE4/Ocean-Staging to //UE4/Dev-Main (Source: //Ocean/Main @ 3039233) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3035988 on 2016/07/01 by James.Brinkerhoff Hotfix from CL 3032831 for UHT compile error on Windows 10 machines Change 3034711 on 2016/06/30 by Peter.Sauerbrei latest provision to go with latest certificate Change 3032018 on 2016/06/28 by Shon.Love #ocn, #mcp: Fixed create clan call. Change 3031372 on 2016/06/28 by David.Nikdel #Ocean: Post-Integration fixup commit Change 3030867 on 2016/06/28 by Scott.Bowen #ocean - Integrate changes from //WEX/... to allow importing Json attributes to apply to an item when created on Mcp. Change 3030859 on 2016/06/28 by Shon.Love #ocn, #mcp: Fixed Mac compiler errors. Change 3030595 on 2016/06/28 by Shon.Love #ocn, #mcp: Updated Groups implementation to interact with latest API. Change 3030549 on 2016/06/28 by Shon.Love #ocn, #mcp: Fixed nullptr-dereference if an async method disappeared/changed while still referenced by a blueprint. Crash would happen if you put your mouse of the 'missing async method' node in the blueprint editor. Change 3028705 on 2016/06/27 by Ian.Fox Duplicating 3027482 from //Orion/Main Read TaggedPropertyRedirects from all config files to allow plugins to register property redirectors You'll need this before you grab the latest OGF or your catalog prices will go away, so here it is now #ue4 #tests none Change 2993102 on 2016/05/27 by James.Brinkerhoff Hotfix from CL 2985226 for UE-30995 - Player built walls have default material (for Orlando's material error X8000) Change 2989818 on 2016/05/25 by James.Brinkerhoff Hotfix from 2989681 for UHT rebuilding when it doesn't need to Change 2984539 on 2016/05/19 by James.Brinkerhoff Making some changes to the script to generate the changelist description for copying up streams to UE4 Main based on game dev stream needs - Adding a lockdown parameter - Calculating the last changelist for game dev streams from the second of the input changelist range - Ignoring case for CodeReview and RB tags - Defining a separate source stream for game dev streams Change 2984055 on 2016/05/19 by James.Brinkerhoff Merging //UE4/Ocean-Staging to //Ocean/Main [CL 3040652 by James Brinkerhoff in Main branch]
2016-07-06 22:10:20 -04:00
ReturnDisplayName = Function->GetMetaDataText(TEXT("DisplayName"), Namespace, Key);
}
}
return ReturnDisplayName;
}
FString UK2Node_CallFunction::GetDefaultTooltipForFunction(const UFunction* Function)
{
FString Tooltip;
if (Function != NULL)
{
Tooltip = Function->GetToolTipText().ToString();
}
if (!Tooltip.IsEmpty())
{
// Strip off the doxygen nastiness
static const FString DoxygenParam(TEXT("@param"));
static const FString DoxygenReturn(TEXT("@return"));
static const FString DoxygenSee(TEXT("@see"));
static const FString TooltipSee(TEXT("See:"));
static const FString DoxygenNote(TEXT("@note"));
static const FString TooltipNote(TEXT("Note:"));
Tooltip.Split(DoxygenParam, &Tooltip, nullptr, ESearchCase::IgnoreCase, ESearchDir::FromStart);
Tooltip.Split(DoxygenReturn, &Tooltip, nullptr, ESearchCase::IgnoreCase, ESearchDir::FromStart);
Tooltip.ReplaceInline(*DoxygenSee, *TooltipSee);
Tooltip.ReplaceInline(*DoxygenNote, *TooltipNote);
Tooltip.Trim();
Tooltip.TrimTrailing();
UClass* CurrentSelfClass = (Function != NULL) ? Function->GetOwnerClass() : NULL;
UClass const* TrueSelfClass = CurrentSelfClass;
if (CurrentSelfClass && CurrentSelfClass->ClassGeneratedBy)
{
TrueSelfClass = CurrentSelfClass->GetAuthoritativeClass();
}
FText TargetDisplayText = (TrueSelfClass != NULL) ? TrueSelfClass->GetDisplayNameText() : LOCTEXT("None", "None");
FFormatNamedArguments Args;
Args.Add(TEXT("TargetName"), TargetDisplayText);
Args.Add(TEXT("Tooltip"), FText::FromString(Tooltip));
return FText::Format(LOCTEXT("CallFunction_Tooltip", "{Tooltip}\n\nTarget is {TargetName}"), Args).ToString();
}
else
{
return GetUserFacingFunctionName(Function).ToString();
}
}
FText UK2Node_CallFunction::GetDefaultCategoryForFunction(const UFunction* Function, const FText& BaseCategory)
{
FText NodeCategory = BaseCategory;
if( Function->HasMetaData(FBlueprintMetadata::MD_FunctionCategory) )
{
FText FuncCategory;
// If we are not showing friendly names, return the metadata stored, without localization
if( GEditor && !GetDefault<UEditorStyleSettings>()->bShowFriendlyNames )
{
FuncCategory = FText::FromString(Function->GetMetaData(FBlueprintMetadata::MD_FunctionCategory));
}
else
{
// Look for localized metadata
FuncCategory = Function->GetMetaDataText(FBlueprintMetadata::MD_FunctionCategory, TEXT("UObjectCategory"), Function->GetFullGroupName(false));
// If the result is culture invariant, force it into a display string
if (FuncCategory.IsCultureInvariant())
{
FuncCategory = FText::FromString(FName::NameToDisplayString(FuncCategory.ToString(), false));
}
}
// Combine with the BaseCategory to form the full category, delimited by "|"
if (!FuncCategory.IsEmpty() && !NodeCategory.IsEmpty())
{
NodeCategory = FText::Format(FText::FromString(TEXT("{0}|{1}")), NodeCategory, FuncCategory);
}
else if (NodeCategory.IsEmpty())
{
NodeCategory = FuncCategory;
}
}
return NodeCategory;
}
FText UK2Node_CallFunction::GetKeywordsForFunction(const UFunction* Function)
{
// If the friendly name and real function name do not match add the real function name friendly name as a keyword.
FString Keywords;
if( Function->GetName() != GetUserFacingFunctionName(Function).ToString() )
{
Keywords = Function->GetName();
}
if (ShouldDrawCompact(Function))
{
Keywords.AppendChar(TEXT(' '));
Keywords += GetCompactNodeTitle(Function);
}
FText MetadataKeywords = Function->GetMetaDataText(FBlueprintMetadata::MD_FunctionKeywords, TEXT("UObjectKeywords"), Function->GetFullGroupName(false));
FText ResultKeywords;
if (!MetadataKeywords.IsEmpty())
{
FFormatNamedArguments Args;
Args.Add(TEXT("Name"), FText::FromString(Keywords));
Args.Add(TEXT("MetadataKeywords"), MetadataKeywords);
ResultKeywords = FText::Format(FText::FromString("{Name} {MetadataKeywords}"), Args);
}
else
{
ResultKeywords = FText::FromString(Keywords);
}
return ResultKeywords;
}
void UK2Node_CallFunction::SetFromFunction(const UFunction* Function)
{
if (Function != NULL)
{
bIsPureFunc = Function->HasAnyFunctionFlags(FUNC_BlueprintPure);
bIsConstFunc = Function->HasAnyFunctionFlags(FUNC_Const);
DetermineWantsEnumToExecExpansion(Function);
FunctionReference.SetFromField<UFunction>(Function, GetBlueprintClassFromNode());
}
}
FString UK2Node_CallFunction::GetDocumentationLink() const
{
UClass* ParentClass = NULL;
if (FunctionReference.IsSelfContext())
{
if (HasValidBlueprint())
{
UFunction* Function = FindField<UFunction>(GetBlueprint()->GeneratedClass, FunctionReference.GetMemberName());
if (Function != NULL)
{
ParentClass = Function->GetOwnerClass();
}
}
}
else
{
ParentClass = FunctionReference.GetMemberParentClass(GetBlueprintClassFromNode());
}
if (ParentClass != NULL)
{
return FString::Printf(TEXT("Shared/GraphNodes/Blueprint/%s%s"), ParentClass->GetPrefixCPP(), *ParentClass->GetName());
}
return FString("Shared/GraphNodes/Blueprint/UK2Node_CallFunction");
}
FString UK2Node_CallFunction::GetDocumentationExcerptName() const
{
return FunctionReference.GetMemberName().ToString();
}
FString UK2Node_CallFunction::GetDescriptiveCompiledName() const
{
return FString(TEXT("CallFunc_")) + FunctionReference.GetMemberName().ToString();
}
bool UK2Node_CallFunction::ShouldDrawCompact(const UFunction* Function)
{
return (Function != NULL) && Function->HasMetaData(FBlueprintMetadata::MD_CompactNodeTitle);
}
bool UK2Node_CallFunction::ShouldDrawCompact() const
{
UFunction* Function = GetTargetFunction();
return ShouldDrawCompact(Function);
}
bool UK2Node_CallFunction::ShouldDrawAsBead() const
{
return bIsBeadFunction;
}
bool UK2Node_CallFunction::ShouldShowNodeProperties() const
{
// Show node properties if this corresponds to a function graph
if (FunctionReference.GetMemberName() != NAME_None)
{
return FindObject<UEdGraph>(GetBlueprint(), *(FunctionReference.GetMemberName().ToString())) != NULL;
}
return false;
}
FString UK2Node_CallFunction::GetCompactNodeTitle(const UFunction* Function)
{
static const FString ProgrammerMultiplicationSymbol = TEXT("*");
static const FString CommonMultiplicationSymbol = TEXT("\xD7");
static const FString ProgrammerDivisionSymbol = TEXT("/");
static const FString CommonDivisionSymbol = TEXT("\xF7");
static const FString ProgrammerConversionSymbol = TEXT("->");
static const FString CommonConversionSymbol = TEXT("\x2022");
const FString OperatorTitle = Function->GetMetaData(FBlueprintMetadata::MD_CompactNodeTitle);
if (!OperatorTitle.IsEmpty())
{
if (OperatorTitle == ProgrammerMultiplicationSymbol)
{
return CommonMultiplicationSymbol;
}
else if (OperatorTitle == ProgrammerDivisionSymbol)
{
return CommonDivisionSymbol;
}
else if (OperatorTitle == ProgrammerConversionSymbol)
{
return CommonConversionSymbol;
}
else
{
return OperatorTitle;
}
}
return Function->GetName();
}
FText UK2Node_CallFunction::GetCompactNodeTitle() const
{
UFunction* Function = GetTargetFunction();
if (Function != NULL)
{
return FText::FromString(GetCompactNodeTitle(Function));
}
else
{
return Super::GetCompactNodeTitle();
}
}
void UK2Node_CallFunction::GetRedirectPinNames(const UEdGraphPin& Pin, TArray<FString>& RedirectPinNames) const
{
Super::GetRedirectPinNames(Pin, RedirectPinNames);
if (RedirectPinNames.Num() > 0)
{
const FString OldPinName = RedirectPinNames[0];
// first add functionname.param
RedirectPinNames.Add(FString::Printf(TEXT("%s.%s"), *FunctionReference.GetMemberName().ToString(), *OldPinName));
// if there is class, also add an option for class.functionname.param
UClass* FunctionClass = FunctionReference.GetMemberParentClass(GetBlueprintClassFromNode());
while (FunctionClass)
{
RedirectPinNames.Add(FString::Printf(TEXT("%s.%s.%s"), *FunctionClass->GetName(), *FunctionReference.GetMemberName().ToString(), *OldPinName));
FunctionClass = FunctionClass->GetSuperClass();
}
}
}
Copying //UE4/Dev-Blueprints to Dev-Main (//UE4/Dev-Main) @ 2781164 #lockdown Nick.Penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2716841 on 2015/10/05 by Mike.Beach (WIP) Cleaning up how we setup script assets for replacement on cook (aligning more with the Blueprint conversion tool). #codereview Maciej.Mroz Change 2719089 on 2015/10/07 by Maciej.Mroz ToValidCPPIdentifierChars handles propertly '?' char. #codereview Dan.Oconnor Change 2719361 on 2015/10/07 by Maciej.Mroz Generated native code for AnimBPGC - some preliminary changes. Refactor: UAnimBlueprintGeneratedClass is not accessed directly in runtime. It is accessed via UAnimClassInterface interface. Properties USkeletalMeshComponent::AnimBlueprintGeneratedClass and UInterpTrackFloatAnimBPParam::AnimBlueprintClass were changed into "TSubclassOf<UAnimInstance> AnimClass" The UDynamicClass also can deliver the IAnimClassInterface interface. See UAnimClassData, IAnimClassInterface::GetFromClass and UDynamicClass::AnimClassImplementation. #codereview Lina.Halper, Thomas.Sarkanen Change 2719383 on 2015/10/07 by Maciej.Mroz Debug-only code removed Change 2720528 on 2015/10/07 by Dan.Oconnor Fix for determinsitc cooking of async tasks and load asset nodes #codereview Mike.Beach, Maciej.Mroz Change 2721273 on 2015/10/08 by Maciej.Mroz Blueprint Compiler Cpp Backend - Anim Blueprints can be converted - Various fixes/improvements Change 2721310 on 2015/10/08 by Maciej.Mroz refactor (cl#2719361) - no "auto" keyword Change 2721727 on 2015/10/08 by Mike.Beach (WIP) Setup the cook commandlet so it handles converted assets, replacing them with generated classes. - Refactored the conversion manifest (using a map over an array) - Centralized destination paths into a helper struct (for the manifest) - Generating an Editor module that automatically hooks into the cook process when enabled - Loading and applying native replacments for the cook Change 2723276 on 2015/10/09 by Michael.Schoell Blueprints duplicated for PIE will no longer register as dependencies to other Blueprint. #jira UE-16695 - Editor freezes then crashes while attempting to save during PIE #jira UE-21614 - [CrashReport] Crash while saving during PIE - FKismetEditorUtilities::CompileBlueprint() kismet2.cpp:736 Change 2724345 on 2015/10/11 by Ben.Cosh Blueprint profiler at first pass, this includes the ability to instrument specific blueprints with realtime editor stat display. #UEBP-21 - Profiling data capture and storage #UEBP-13 - Performance capture landing page #Branch UE4 #Proj BlueprintProfiler, BlueprintGraph, EditorStyle, Kismet, UnrealEd, CoreUObject, Engine Change 2724613 on 2015/10/12 by Ben.Cosh Incremental update for blueprint profiler to fix the way some of the reported stats cascade through events and branches and additionally some missed bits of code are refactored/removed. #Branch UE4 #Proj BlueprintProfiler #info Whilst looking into this I spotted the reason why the stats seem so erratic, There appears to be an issue with FText's use of EXPERIMENTAL_TEXT_FAST_DECIMAL_FORMAT which I have reported, but ideally disable this locally until a fix is integrated. Change 2724723 on 2015/10/12 by Maciej.Mroz Constructor of a dynamic class creates CDO. #codereview Robert.Manuszewski Change 2725108 on 2015/10/12 by Mike.Beach [UE-21891] Minor fix to the array shuffle() function; now processes the last entry like all the others. Change 2726358 on 2015/10/13 by Maciej.Mroz UDataTable is properly saved even if its RowStruct is null. https://udn.unrealengine.com/questions/264064/crash-using-hotreload-in-custom-datatable-cdo-clas.html Change 2727395 on 2015/10/13 by Mike.Beach (WIP) Second pass on the Blueprint conversion pipeline; setting it up for more optimal (speedier) performance. * Using stubs for replacements (rather than loading dynamic replacement). * Giving the cook commandlet more control (so a conversion could be ran directly). * Now logging replacements by old object path (to account for UPackage replacement queries). * Fix for [UE-21947], unshelved from CL 2724944 (by Maciej.Mroz). #codereview Maciej.Mroz Change 2727484 on 2015/10/13 by Mike.Beach [UE-22008] Fixing up comment/tooltip typo for UActorComponent::bAutoActivate. Change 2727527 on 2015/10/13 by Mike.Beach Downgrading an inactionable EdGraph warning, while adding more info so we could possibly determine what's happening. Change 2727702 on 2015/10/13 by Dan.Oconnor Fix for crash in UDelegateProperty::GetCPPType when called on a function with no OwnerClass (events) Change 2727968 on 2015/10/14 by Maciej.Mroz Since ConstructorHelpers::FClassFinder is usually static, the loaded class should be in root set, to prevent the pointer stored in ConstructorHelpers::FClassFinder from being obsolete. FindOrLoadClass behaves now like FindOrLoadObject. #codereview Robert.Manuszewski, Nick.Whiting Change 2728139 on 2015/10/14 by Phillip.Kavan
2015-11-25 18:47:20 -05:00
void UK2Node_CallFunction::FixupSelfMemberContext()
{
Copying //UE4/Dev-Blueprints to Dev-Main (//UE4/Dev-Main) @ 2781164 #lockdown Nick.Penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2716841 on 2015/10/05 by Mike.Beach (WIP) Cleaning up how we setup script assets for replacement on cook (aligning more with the Blueprint conversion tool). #codereview Maciej.Mroz Change 2719089 on 2015/10/07 by Maciej.Mroz ToValidCPPIdentifierChars handles propertly '?' char. #codereview Dan.Oconnor Change 2719361 on 2015/10/07 by Maciej.Mroz Generated native code for AnimBPGC - some preliminary changes. Refactor: UAnimBlueprintGeneratedClass is not accessed directly in runtime. It is accessed via UAnimClassInterface interface. Properties USkeletalMeshComponent::AnimBlueprintGeneratedClass and UInterpTrackFloatAnimBPParam::AnimBlueprintClass were changed into "TSubclassOf<UAnimInstance> AnimClass" The UDynamicClass also can deliver the IAnimClassInterface interface. See UAnimClassData, IAnimClassInterface::GetFromClass and UDynamicClass::AnimClassImplementation. #codereview Lina.Halper, Thomas.Sarkanen Change 2719383 on 2015/10/07 by Maciej.Mroz Debug-only code removed Change 2720528 on 2015/10/07 by Dan.Oconnor Fix for determinsitc cooking of async tasks and load asset nodes #codereview Mike.Beach, Maciej.Mroz Change 2721273 on 2015/10/08 by Maciej.Mroz Blueprint Compiler Cpp Backend - Anim Blueprints can be converted - Various fixes/improvements Change 2721310 on 2015/10/08 by Maciej.Mroz refactor (cl#2719361) - no "auto" keyword Change 2721727 on 2015/10/08 by Mike.Beach (WIP) Setup the cook commandlet so it handles converted assets, replacing them with generated classes. - Refactored the conversion manifest (using a map over an array) - Centralized destination paths into a helper struct (for the manifest) - Generating an Editor module that automatically hooks into the cook process when enabled - Loading and applying native replacments for the cook Change 2723276 on 2015/10/09 by Michael.Schoell Blueprints duplicated for PIE will no longer register as dependencies to other Blueprint. #jira UE-16695 - Editor freezes then crashes while attempting to save during PIE #jira UE-21614 - [CrashReport] Crash while saving during PIE - FKismetEditorUtilities::CompileBlueprint() kismet2.cpp:736 Change 2724345 on 2015/10/11 by Ben.Cosh Blueprint profiler at first pass, this includes the ability to instrument specific blueprints with realtime editor stat display. #UEBP-21 - Profiling data capture and storage #UEBP-13 - Performance capture landing page #Branch UE4 #Proj BlueprintProfiler, BlueprintGraph, EditorStyle, Kismet, UnrealEd, CoreUObject, Engine Change 2724613 on 2015/10/12 by Ben.Cosh Incremental update for blueprint profiler to fix the way some of the reported stats cascade through events and branches and additionally some missed bits of code are refactored/removed. #Branch UE4 #Proj BlueprintProfiler #info Whilst looking into this I spotted the reason why the stats seem so erratic, There appears to be an issue with FText's use of EXPERIMENTAL_TEXT_FAST_DECIMAL_FORMAT which I have reported, but ideally disable this locally until a fix is integrated. Change 2724723 on 2015/10/12 by Maciej.Mroz Constructor of a dynamic class creates CDO. #codereview Robert.Manuszewski Change 2725108 on 2015/10/12 by Mike.Beach [UE-21891] Minor fix to the array shuffle() function; now processes the last entry like all the others. Change 2726358 on 2015/10/13 by Maciej.Mroz UDataTable is properly saved even if its RowStruct is null. https://udn.unrealengine.com/questions/264064/crash-using-hotreload-in-custom-datatable-cdo-clas.html Change 2727395 on 2015/10/13 by Mike.Beach (WIP) Second pass on the Blueprint conversion pipeline; setting it up for more optimal (speedier) performance. * Using stubs for replacements (rather than loading dynamic replacement). * Giving the cook commandlet more control (so a conversion could be ran directly). * Now logging replacements by old object path (to account for UPackage replacement queries). * Fix for [UE-21947], unshelved from CL 2724944 (by Maciej.Mroz). #codereview Maciej.Mroz Change 2727484 on 2015/10/13 by Mike.Beach [UE-22008] Fixing up comment/tooltip typo for UActorComponent::bAutoActivate. Change 2727527 on 2015/10/13 by Mike.Beach Downgrading an inactionable EdGraph warning, while adding more info so we could possibly determine what's happening. Change 2727702 on 2015/10/13 by Dan.Oconnor Fix for crash in UDelegateProperty::GetCPPType when called on a function with no OwnerClass (events) Change 2727968 on 2015/10/14 by Maciej.Mroz Since ConstructorHelpers::FClassFinder is usually static, the loaded class should be in root set, to prevent the pointer stored in ConstructorHelpers::FClassFinder from being obsolete. FindOrLoadClass behaves now like FindOrLoadObject. #codereview Robert.Manuszewski, Nick.Whiting Change 2728139 on 2015/10/14 by Phillip.Kavan
2015-11-25 18:47:20 -05:00
UBlueprint* Blueprint = FBlueprintEditorUtils::FindBlueprintForNode(this);
auto IsBlueprintOfType = [Blueprint](UClass* ClassType)->bool
{
Copying //UE4/Dev-Blueprints to Dev-Main (//UE4/Dev-Main) @ 2781164 #lockdown Nick.Penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2716841 on 2015/10/05 by Mike.Beach (WIP) Cleaning up how we setup script assets for replacement on cook (aligning more with the Blueprint conversion tool). #codereview Maciej.Mroz Change 2719089 on 2015/10/07 by Maciej.Mroz ToValidCPPIdentifierChars handles propertly '?' char. #codereview Dan.Oconnor Change 2719361 on 2015/10/07 by Maciej.Mroz Generated native code for AnimBPGC - some preliminary changes. Refactor: UAnimBlueprintGeneratedClass is not accessed directly in runtime. It is accessed via UAnimClassInterface interface. Properties USkeletalMeshComponent::AnimBlueprintGeneratedClass and UInterpTrackFloatAnimBPParam::AnimBlueprintClass were changed into "TSubclassOf<UAnimInstance> AnimClass" The UDynamicClass also can deliver the IAnimClassInterface interface. See UAnimClassData, IAnimClassInterface::GetFromClass and UDynamicClass::AnimClassImplementation. #codereview Lina.Halper, Thomas.Sarkanen Change 2719383 on 2015/10/07 by Maciej.Mroz Debug-only code removed Change 2720528 on 2015/10/07 by Dan.Oconnor Fix for determinsitc cooking of async tasks and load asset nodes #codereview Mike.Beach, Maciej.Mroz Change 2721273 on 2015/10/08 by Maciej.Mroz Blueprint Compiler Cpp Backend - Anim Blueprints can be converted - Various fixes/improvements Change 2721310 on 2015/10/08 by Maciej.Mroz refactor (cl#2719361) - no "auto" keyword Change 2721727 on 2015/10/08 by Mike.Beach (WIP) Setup the cook commandlet so it handles converted assets, replacing them with generated classes. - Refactored the conversion manifest (using a map over an array) - Centralized destination paths into a helper struct (for the manifest) - Generating an Editor module that automatically hooks into the cook process when enabled - Loading and applying native replacments for the cook Change 2723276 on 2015/10/09 by Michael.Schoell Blueprints duplicated for PIE will no longer register as dependencies to other Blueprint. #jira UE-16695 - Editor freezes then crashes while attempting to save during PIE #jira UE-21614 - [CrashReport] Crash while saving during PIE - FKismetEditorUtilities::CompileBlueprint() kismet2.cpp:736 Change 2724345 on 2015/10/11 by Ben.Cosh Blueprint profiler at first pass, this includes the ability to instrument specific blueprints with realtime editor stat display. #UEBP-21 - Profiling data capture and storage #UEBP-13 - Performance capture landing page #Branch UE4 #Proj BlueprintProfiler, BlueprintGraph, EditorStyle, Kismet, UnrealEd, CoreUObject, Engine Change 2724613 on 2015/10/12 by Ben.Cosh Incremental update for blueprint profiler to fix the way some of the reported stats cascade through events and branches and additionally some missed bits of code are refactored/removed. #Branch UE4 #Proj BlueprintProfiler #info Whilst looking into this I spotted the reason why the stats seem so erratic, There appears to be an issue with FText's use of EXPERIMENTAL_TEXT_FAST_DECIMAL_FORMAT which I have reported, but ideally disable this locally until a fix is integrated. Change 2724723 on 2015/10/12 by Maciej.Mroz Constructor of a dynamic class creates CDO. #codereview Robert.Manuszewski Change 2725108 on 2015/10/12 by Mike.Beach [UE-21891] Minor fix to the array shuffle() function; now processes the last entry like all the others. Change 2726358 on 2015/10/13 by Maciej.Mroz UDataTable is properly saved even if its RowStruct is null. https://udn.unrealengine.com/questions/264064/crash-using-hotreload-in-custom-datatable-cdo-clas.html Change 2727395 on 2015/10/13 by Mike.Beach (WIP) Second pass on the Blueprint conversion pipeline; setting it up for more optimal (speedier) performance. * Using stubs for replacements (rather than loading dynamic replacement). * Giving the cook commandlet more control (so a conversion could be ran directly). * Now logging replacements by old object path (to account for UPackage replacement queries). * Fix for [UE-21947], unshelved from CL 2724944 (by Maciej.Mroz). #codereview Maciej.Mroz Change 2727484 on 2015/10/13 by Mike.Beach [UE-22008] Fixing up comment/tooltip typo for UActorComponent::bAutoActivate. Change 2727527 on 2015/10/13 by Mike.Beach Downgrading an inactionable EdGraph warning, while adding more info so we could possibly determine what's happening. Change 2727702 on 2015/10/13 by Dan.Oconnor Fix for crash in UDelegateProperty::GetCPPType when called on a function with no OwnerClass (events) Change 2727968 on 2015/10/14 by Maciej.Mroz Since ConstructorHelpers::FClassFinder is usually static, the loaded class should be in root set, to prevent the pointer stored in ConstructorHelpers::FClassFinder from being obsolete. FindOrLoadClass behaves now like FindOrLoadObject. #codereview Robert.Manuszewski, Nick.Whiting Change 2728139 on 2015/10/14 by Phillip.Kavan
2015-11-25 18:47:20 -05:00
bool bIsChildOf = Blueprint && (Blueprint->GeneratedClass != nullptr) && Blueprint->GeneratedClass->IsChildOf(ClassType);
if (!bIsChildOf && Blueprint && (Blueprint->SkeletonGeneratedClass))
{
Copying //UE4/Dev-Blueprints to Dev-Main (//UE4/Dev-Main) @ 2781164 #lockdown Nick.Penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2716841 on 2015/10/05 by Mike.Beach (WIP) Cleaning up how we setup script assets for replacement on cook (aligning more with the Blueprint conversion tool). #codereview Maciej.Mroz Change 2719089 on 2015/10/07 by Maciej.Mroz ToValidCPPIdentifierChars handles propertly '?' char. #codereview Dan.Oconnor Change 2719361 on 2015/10/07 by Maciej.Mroz Generated native code for AnimBPGC - some preliminary changes. Refactor: UAnimBlueprintGeneratedClass is not accessed directly in runtime. It is accessed via UAnimClassInterface interface. Properties USkeletalMeshComponent::AnimBlueprintGeneratedClass and UInterpTrackFloatAnimBPParam::AnimBlueprintClass were changed into "TSubclassOf<UAnimInstance> AnimClass" The UDynamicClass also can deliver the IAnimClassInterface interface. See UAnimClassData, IAnimClassInterface::GetFromClass and UDynamicClass::AnimClassImplementation. #codereview Lina.Halper, Thomas.Sarkanen Change 2719383 on 2015/10/07 by Maciej.Mroz Debug-only code removed Change 2720528 on 2015/10/07 by Dan.Oconnor Fix for determinsitc cooking of async tasks and load asset nodes #codereview Mike.Beach, Maciej.Mroz Change 2721273 on 2015/10/08 by Maciej.Mroz Blueprint Compiler Cpp Backend - Anim Blueprints can be converted - Various fixes/improvements Change 2721310 on 2015/10/08 by Maciej.Mroz refactor (cl#2719361) - no "auto" keyword Change 2721727 on 2015/10/08 by Mike.Beach (WIP) Setup the cook commandlet so it handles converted assets, replacing them with generated classes. - Refactored the conversion manifest (using a map over an array) - Centralized destination paths into a helper struct (for the manifest) - Generating an Editor module that automatically hooks into the cook process when enabled - Loading and applying native replacments for the cook Change 2723276 on 2015/10/09 by Michael.Schoell Blueprints duplicated for PIE will no longer register as dependencies to other Blueprint. #jira UE-16695 - Editor freezes then crashes while attempting to save during PIE #jira UE-21614 - [CrashReport] Crash while saving during PIE - FKismetEditorUtilities::CompileBlueprint() kismet2.cpp:736 Change 2724345 on 2015/10/11 by Ben.Cosh Blueprint profiler at first pass, this includes the ability to instrument specific blueprints with realtime editor stat display. #UEBP-21 - Profiling data capture and storage #UEBP-13 - Performance capture landing page #Branch UE4 #Proj BlueprintProfiler, BlueprintGraph, EditorStyle, Kismet, UnrealEd, CoreUObject, Engine Change 2724613 on 2015/10/12 by Ben.Cosh Incremental update for blueprint profiler to fix the way some of the reported stats cascade through events and branches and additionally some missed bits of code are refactored/removed. #Branch UE4 #Proj BlueprintProfiler #info Whilst looking into this I spotted the reason why the stats seem so erratic, There appears to be an issue with FText's use of EXPERIMENTAL_TEXT_FAST_DECIMAL_FORMAT which I have reported, but ideally disable this locally until a fix is integrated. Change 2724723 on 2015/10/12 by Maciej.Mroz Constructor of a dynamic class creates CDO. #codereview Robert.Manuszewski Change 2725108 on 2015/10/12 by Mike.Beach [UE-21891] Minor fix to the array shuffle() function; now processes the last entry like all the others. Change 2726358 on 2015/10/13 by Maciej.Mroz UDataTable is properly saved even if its RowStruct is null. https://udn.unrealengine.com/questions/264064/crash-using-hotreload-in-custom-datatable-cdo-clas.html Change 2727395 on 2015/10/13 by Mike.Beach (WIP) Second pass on the Blueprint conversion pipeline; setting it up for more optimal (speedier) performance. * Using stubs for replacements (rather than loading dynamic replacement). * Giving the cook commandlet more control (so a conversion could be ran directly). * Now logging replacements by old object path (to account for UPackage replacement queries). * Fix for [UE-21947], unshelved from CL 2724944 (by Maciej.Mroz). #codereview Maciej.Mroz Change 2727484 on 2015/10/13 by Mike.Beach [UE-22008] Fixing up comment/tooltip typo for UActorComponent::bAutoActivate. Change 2727527 on 2015/10/13 by Mike.Beach Downgrading an inactionable EdGraph warning, while adding more info so we could possibly determine what's happening. Change 2727702 on 2015/10/13 by Dan.Oconnor Fix for crash in UDelegateProperty::GetCPPType when called on a function with no OwnerClass (events) Change 2727968 on 2015/10/14 by Maciej.Mroz Since ConstructorHelpers::FClassFinder is usually static, the loaded class should be in root set, to prevent the pointer stored in ConstructorHelpers::FClassFinder from being obsolete. FindOrLoadClass behaves now like FindOrLoadObject. #codereview Robert.Manuszewski, Nick.Whiting Change 2728139 on 2015/10/14 by Phillip.Kavan
2015-11-25 18:47:20 -05:00
bIsChildOf = Blueprint->SkeletonGeneratedClass->IsChildOf(ClassType);
}
return bIsChildOf;
};
Copying //UE4/Dev-Blueprints to Dev-Main (//UE4/Dev-Main) @ 2781164 #lockdown Nick.Penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2716841 on 2015/10/05 by Mike.Beach (WIP) Cleaning up how we setup script assets for replacement on cook (aligning more with the Blueprint conversion tool). #codereview Maciej.Mroz Change 2719089 on 2015/10/07 by Maciej.Mroz ToValidCPPIdentifierChars handles propertly '?' char. #codereview Dan.Oconnor Change 2719361 on 2015/10/07 by Maciej.Mroz Generated native code for AnimBPGC - some preliminary changes. Refactor: UAnimBlueprintGeneratedClass is not accessed directly in runtime. It is accessed via UAnimClassInterface interface. Properties USkeletalMeshComponent::AnimBlueprintGeneratedClass and UInterpTrackFloatAnimBPParam::AnimBlueprintClass were changed into "TSubclassOf<UAnimInstance> AnimClass" The UDynamicClass also can deliver the IAnimClassInterface interface. See UAnimClassData, IAnimClassInterface::GetFromClass and UDynamicClass::AnimClassImplementation. #codereview Lina.Halper, Thomas.Sarkanen Change 2719383 on 2015/10/07 by Maciej.Mroz Debug-only code removed Change 2720528 on 2015/10/07 by Dan.Oconnor Fix for determinsitc cooking of async tasks and load asset nodes #codereview Mike.Beach, Maciej.Mroz Change 2721273 on 2015/10/08 by Maciej.Mroz Blueprint Compiler Cpp Backend - Anim Blueprints can be converted - Various fixes/improvements Change 2721310 on 2015/10/08 by Maciej.Mroz refactor (cl#2719361) - no "auto" keyword Change 2721727 on 2015/10/08 by Mike.Beach (WIP) Setup the cook commandlet so it handles converted assets, replacing them with generated classes. - Refactored the conversion manifest (using a map over an array) - Centralized destination paths into a helper struct (for the manifest) - Generating an Editor module that automatically hooks into the cook process when enabled - Loading and applying native replacments for the cook Change 2723276 on 2015/10/09 by Michael.Schoell Blueprints duplicated for PIE will no longer register as dependencies to other Blueprint. #jira UE-16695 - Editor freezes then crashes while attempting to save during PIE #jira UE-21614 - [CrashReport] Crash while saving during PIE - FKismetEditorUtilities::CompileBlueprint() kismet2.cpp:736 Change 2724345 on 2015/10/11 by Ben.Cosh Blueprint profiler at first pass, this includes the ability to instrument specific blueprints with realtime editor stat display. #UEBP-21 - Profiling data capture and storage #UEBP-13 - Performance capture landing page #Branch UE4 #Proj BlueprintProfiler, BlueprintGraph, EditorStyle, Kismet, UnrealEd, CoreUObject, Engine Change 2724613 on 2015/10/12 by Ben.Cosh Incremental update for blueprint profiler to fix the way some of the reported stats cascade through events and branches and additionally some missed bits of code are refactored/removed. #Branch UE4 #Proj BlueprintProfiler #info Whilst looking into this I spotted the reason why the stats seem so erratic, There appears to be an issue with FText's use of EXPERIMENTAL_TEXT_FAST_DECIMAL_FORMAT which I have reported, but ideally disable this locally until a fix is integrated. Change 2724723 on 2015/10/12 by Maciej.Mroz Constructor of a dynamic class creates CDO. #codereview Robert.Manuszewski Change 2725108 on 2015/10/12 by Mike.Beach [UE-21891] Minor fix to the array shuffle() function; now processes the last entry like all the others. Change 2726358 on 2015/10/13 by Maciej.Mroz UDataTable is properly saved even if its RowStruct is null. https://udn.unrealengine.com/questions/264064/crash-using-hotreload-in-custom-datatable-cdo-clas.html Change 2727395 on 2015/10/13 by Mike.Beach (WIP) Second pass on the Blueprint conversion pipeline; setting it up for more optimal (speedier) performance. * Using stubs for replacements (rather than loading dynamic replacement). * Giving the cook commandlet more control (so a conversion could be ran directly). * Now logging replacements by old object path (to account for UPackage replacement queries). * Fix for [UE-21947], unshelved from CL 2724944 (by Maciej.Mroz). #codereview Maciej.Mroz Change 2727484 on 2015/10/13 by Mike.Beach [UE-22008] Fixing up comment/tooltip typo for UActorComponent::bAutoActivate. Change 2727527 on 2015/10/13 by Mike.Beach Downgrading an inactionable EdGraph warning, while adding more info so we could possibly determine what's happening. Change 2727702 on 2015/10/13 by Dan.Oconnor Fix for crash in UDelegateProperty::GetCPPType when called on a function with no OwnerClass (events) Change 2727968 on 2015/10/14 by Maciej.Mroz Since ConstructorHelpers::FClassFinder is usually static, the loaded class should be in root set, to prevent the pointer stored in ConstructorHelpers::FClassFinder from being obsolete. FindOrLoadClass behaves now like FindOrLoadObject. #codereview Robert.Manuszewski, Nick.Whiting Change 2728139 on 2015/10/14 by Phillip.Kavan
2015-11-25 18:47:20 -05:00
UClass* MemberClass = FunctionReference.GetMemberParentClass();
Copying //UE4/Dev-Blueprints to Dev-Main (//UE4/Dev-Main) #lockdown Nick.Penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2884592 on 2016/02/27 by Maciej.Mroz Packages containing Dynamic Types are listed as dependencies in FAsyncPackage::LoadImports #codereview Robert.Manuszewski Change 2884607 on 2016/02/27 by Maciej.Mroz CDO of DynamicClass is postponed as a regular CDO creation. This change is risky (it still requires some tests), but it seems to be necessary for solving (cyclic) dependencies while Async Loading. #codereview Robert.Manuszewski, Mike.Beach Change 2885915 on 2016/02/29 by Michael.Schoell Struct pins on exposed on spawn properties will no longer error on compile if they do not have a pin connected to them. UKismetSystemLibrary::SetStructurePropertyByName's Value pin is now marked as a AutoCreateRefTerm so literals can be used on the auto-generated node. Modified FKismetCompilerUtilities::GenerateAssignmentNodes to assign the literal value into the pin, which in turn allows it to expand into an auto-ref term. #jira UE-23130 - ExposeOnSpawn struct properties are not handled correctly Change 2887269 on 2016/03/01 by Maciej.Mroz Fixes related to DisregardForGC: - merged 2885687 from Dev-Core branch - ensure CDO of newly added class is created in CloseDisregardForGC Change 2887273 on 2016/03/01 by Maciej.Mroz GUObjectArray.CloseDisregardForGC(); is called before GUObjectArray.DisableDisregardForGC(); Change 2892502 on 2016/03/03 by Maciej.Mroz More descriptive ensures. Change 2892509 on 2016/03/03 by Maciej.Mroz Minor changes in Orion code, necessary to compile the project with nativized Blueprints #codereview David.Ratti Change 2892513 on 2016/03/03 by Maciej.Mroz Blueprint C++ Conversion: there is no crash when a asset used by a nativized class wasn't loaded. Change 2894347 on 2016/03/04 by Michael.Schoell Fixed crash with the Array Item Get node in the disassembler. #jira UE-27734 - Error in TeamLobby Change 2895311 on 2016/03/04 by Michael.Schoell Right click and using "Find References" on an event node in either the MyBlueprint window or a graph panel, will search the function's name, not the node's title (drops the Event text). #jira UE-27335 - GitHub 2092 : Skip "Event " Prefix when Finding References for Events PR #2092: Skip "Event " Prefix when Finding References for Events (Contributed by mollstam) Change 2896714 on 2016/03/07 by Ben.Cosh Fixes for a few related crash/assert issues when profiling blueprints that use event dispatchers/call event functions and latent nodes. #UE-27090 - Crash when calling an Event Dispatcher within a Sequence node with the Blueprint Profiler on #Proj KismetCompiler, BlueprintProfiler, BlueprintGraph, Kismet, CoreUObject #codereview Phillip.Kavan Change 2897335 on 2016/03/07 by Dan.Oconnor Unshelved from pending changelist '2889006': We now copy UObjects that are assigned to Instance properties via UObjectPropertyBase::ImportText_Internal #jira UE-26310 Change 2899151 on 2016/03/08 by Phillip.Kavan [UEBP-112] BP profiler - pure node timings change summary: - first-pass revisions for tracking/visualizing pure node execution timings while profiling - trace path debugging support (default: off) #codereview Ben.Cosh Change 2901763 on 2016/03/09 by Michael.Schoell Can undo/redo nodes added using shortcuts. Also fixed issue with macro nodes added using shortcuts not being selected. #jira UE-28027 - Cannot Undo Blueprint Nodes Placed Using Shortcuts Change 2902762 on 2016/03/10 by Phillip.Kavan [UE-28167] Fix compile-time crash caused by intermediate pure nodes when the BP profiler view is active. change summary: - modified FBlueprintExecutionContext::MapNodeExecution() to avoid impure nodes when mapping the pure node execution chain. #codereview Ben.Cosh Change 2907961 on 2016/03/14 by Maciej.Mroz #jira UE-28249 Cooked win32 Fortnite server crash loading in to FastCook map Manually integrated CL#2906835 from Dev-Core - Reset last non-gc index when disabling disregard for GC pool Change 2908013 on 2016/03/14 by Maciej.Mroz EmptyLinkFunctionForGeneratedCode function for all .generated.*.cpp files Fixed problem when stuff from some .generated.*.cpp files for nativized Blueprints plugin were not linked at all. #codereview Robert.Manuszewski, Steve.Robb Change 2908033 on 2016/03/14 by Maciej.Mroz Various fixes and improvements related to initialization sequence of converted Dynamic Classes. [CL 2910931 by Mike Beach in Main branch]
2016-03-15 19:07:47 -04:00
const bool bIsLocalMacro = Blueprint && Blueprint->MacroGraphs.Contains(GetGraph());
ensureMsgf(FunctionReference.IsSelfContext() || (MemberClass != nullptr) || bIsLocalMacro, TEXT("Unknown member class in %s"), *GetPathName());
Copying //UE4/Dev-Blueprints to Dev-Main (//UE4/Dev-Main) @ 2781164 #lockdown Nick.Penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2716841 on 2015/10/05 by Mike.Beach (WIP) Cleaning up how we setup script assets for replacement on cook (aligning more with the Blueprint conversion tool). #codereview Maciej.Mroz Change 2719089 on 2015/10/07 by Maciej.Mroz ToValidCPPIdentifierChars handles propertly '?' char. #codereview Dan.Oconnor Change 2719361 on 2015/10/07 by Maciej.Mroz Generated native code for AnimBPGC - some preliminary changes. Refactor: UAnimBlueprintGeneratedClass is not accessed directly in runtime. It is accessed via UAnimClassInterface interface. Properties USkeletalMeshComponent::AnimBlueprintGeneratedClass and UInterpTrackFloatAnimBPParam::AnimBlueprintClass were changed into "TSubclassOf<UAnimInstance> AnimClass" The UDynamicClass also can deliver the IAnimClassInterface interface. See UAnimClassData, IAnimClassInterface::GetFromClass and UDynamicClass::AnimClassImplementation. #codereview Lina.Halper, Thomas.Sarkanen Change 2719383 on 2015/10/07 by Maciej.Mroz Debug-only code removed Change 2720528 on 2015/10/07 by Dan.Oconnor Fix for determinsitc cooking of async tasks and load asset nodes #codereview Mike.Beach, Maciej.Mroz Change 2721273 on 2015/10/08 by Maciej.Mroz Blueprint Compiler Cpp Backend - Anim Blueprints can be converted - Various fixes/improvements Change 2721310 on 2015/10/08 by Maciej.Mroz refactor (cl#2719361) - no "auto" keyword Change 2721727 on 2015/10/08 by Mike.Beach (WIP) Setup the cook commandlet so it handles converted assets, replacing them with generated classes. - Refactored the conversion manifest (using a map over an array) - Centralized destination paths into a helper struct (for the manifest) - Generating an Editor module that automatically hooks into the cook process when enabled - Loading and applying native replacments for the cook Change 2723276 on 2015/10/09 by Michael.Schoell Blueprints duplicated for PIE will no longer register as dependencies to other Blueprint. #jira UE-16695 - Editor freezes then crashes while attempting to save during PIE #jira UE-21614 - [CrashReport] Crash while saving during PIE - FKismetEditorUtilities::CompileBlueprint() kismet2.cpp:736 Change 2724345 on 2015/10/11 by Ben.Cosh Blueprint profiler at first pass, this includes the ability to instrument specific blueprints with realtime editor stat display. #UEBP-21 - Profiling data capture and storage #UEBP-13 - Performance capture landing page #Branch UE4 #Proj BlueprintProfiler, BlueprintGraph, EditorStyle, Kismet, UnrealEd, CoreUObject, Engine Change 2724613 on 2015/10/12 by Ben.Cosh Incremental update for blueprint profiler to fix the way some of the reported stats cascade through events and branches and additionally some missed bits of code are refactored/removed. #Branch UE4 #Proj BlueprintProfiler #info Whilst looking into this I spotted the reason why the stats seem so erratic, There appears to be an issue with FText's use of EXPERIMENTAL_TEXT_FAST_DECIMAL_FORMAT which I have reported, but ideally disable this locally until a fix is integrated. Change 2724723 on 2015/10/12 by Maciej.Mroz Constructor of a dynamic class creates CDO. #codereview Robert.Manuszewski Change 2725108 on 2015/10/12 by Mike.Beach [UE-21891] Minor fix to the array shuffle() function; now processes the last entry like all the others. Change 2726358 on 2015/10/13 by Maciej.Mroz UDataTable is properly saved even if its RowStruct is null. https://udn.unrealengine.com/questions/264064/crash-using-hotreload-in-custom-datatable-cdo-clas.html Change 2727395 on 2015/10/13 by Mike.Beach (WIP) Second pass on the Blueprint conversion pipeline; setting it up for more optimal (speedier) performance. * Using stubs for replacements (rather than loading dynamic replacement). * Giving the cook commandlet more control (so a conversion could be ran directly). * Now logging replacements by old object path (to account for UPackage replacement queries). * Fix for [UE-21947], unshelved from CL 2724944 (by Maciej.Mroz). #codereview Maciej.Mroz Change 2727484 on 2015/10/13 by Mike.Beach [UE-22008] Fixing up comment/tooltip typo for UActorComponent::bAutoActivate. Change 2727527 on 2015/10/13 by Mike.Beach Downgrading an inactionable EdGraph warning, while adding more info so we could possibly determine what's happening. Change 2727702 on 2015/10/13 by Dan.Oconnor Fix for crash in UDelegateProperty::GetCPPType when called on a function with no OwnerClass (events) Change 2727968 on 2015/10/14 by Maciej.Mroz Since ConstructorHelpers::FClassFinder is usually static, the loaded class should be in root set, to prevent the pointer stored in ConstructorHelpers::FClassFinder from being obsolete. FindOrLoadClass behaves now like FindOrLoadObject. #codereview Robert.Manuszewski, Nick.Whiting Change 2728139 on 2015/10/14 by Phillip.Kavan
2015-11-25 18:47:20 -05:00
if (FunctionReference.IsSelfContext())
{
if (MemberClass == nullptr)
{
// the self pin may have type information stored on it
if (UEdGraphPin* SelfPin = GetDefault<UEdGraphSchema_K2>()->FindSelfPin(*this, EGPD_Input))
{
Copying //UE4/Dev-Blueprints to Dev-Main (//UE4/Dev-Main) @ 2781164 #lockdown Nick.Penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2716841 on 2015/10/05 by Mike.Beach (WIP) Cleaning up how we setup script assets for replacement on cook (aligning more with the Blueprint conversion tool). #codereview Maciej.Mroz Change 2719089 on 2015/10/07 by Maciej.Mroz ToValidCPPIdentifierChars handles propertly '?' char. #codereview Dan.Oconnor Change 2719361 on 2015/10/07 by Maciej.Mroz Generated native code for AnimBPGC - some preliminary changes. Refactor: UAnimBlueprintGeneratedClass is not accessed directly in runtime. It is accessed via UAnimClassInterface interface. Properties USkeletalMeshComponent::AnimBlueprintGeneratedClass and UInterpTrackFloatAnimBPParam::AnimBlueprintClass were changed into "TSubclassOf<UAnimInstance> AnimClass" The UDynamicClass also can deliver the IAnimClassInterface interface. See UAnimClassData, IAnimClassInterface::GetFromClass and UDynamicClass::AnimClassImplementation. #codereview Lina.Halper, Thomas.Sarkanen Change 2719383 on 2015/10/07 by Maciej.Mroz Debug-only code removed Change 2720528 on 2015/10/07 by Dan.Oconnor Fix for determinsitc cooking of async tasks and load asset nodes #codereview Mike.Beach, Maciej.Mroz Change 2721273 on 2015/10/08 by Maciej.Mroz Blueprint Compiler Cpp Backend - Anim Blueprints can be converted - Various fixes/improvements Change 2721310 on 2015/10/08 by Maciej.Mroz refactor (cl#2719361) - no "auto" keyword Change 2721727 on 2015/10/08 by Mike.Beach (WIP) Setup the cook commandlet so it handles converted assets, replacing them with generated classes. - Refactored the conversion manifest (using a map over an array) - Centralized destination paths into a helper struct (for the manifest) - Generating an Editor module that automatically hooks into the cook process when enabled - Loading and applying native replacments for the cook Change 2723276 on 2015/10/09 by Michael.Schoell Blueprints duplicated for PIE will no longer register as dependencies to other Blueprint. #jira UE-16695 - Editor freezes then crashes while attempting to save during PIE #jira UE-21614 - [CrashReport] Crash while saving during PIE - FKismetEditorUtilities::CompileBlueprint() kismet2.cpp:736 Change 2724345 on 2015/10/11 by Ben.Cosh Blueprint profiler at first pass, this includes the ability to instrument specific blueprints with realtime editor stat display. #UEBP-21 - Profiling data capture and storage #UEBP-13 - Performance capture landing page #Branch UE4 #Proj BlueprintProfiler, BlueprintGraph, EditorStyle, Kismet, UnrealEd, CoreUObject, Engine Change 2724613 on 2015/10/12 by Ben.Cosh Incremental update for blueprint profiler to fix the way some of the reported stats cascade through events and branches and additionally some missed bits of code are refactored/removed. #Branch UE4 #Proj BlueprintProfiler #info Whilst looking into this I spotted the reason why the stats seem so erratic, There appears to be an issue with FText's use of EXPERIMENTAL_TEXT_FAST_DECIMAL_FORMAT which I have reported, but ideally disable this locally until a fix is integrated. Change 2724723 on 2015/10/12 by Maciej.Mroz Constructor of a dynamic class creates CDO. #codereview Robert.Manuszewski Change 2725108 on 2015/10/12 by Mike.Beach [UE-21891] Minor fix to the array shuffle() function; now processes the last entry like all the others. Change 2726358 on 2015/10/13 by Maciej.Mroz UDataTable is properly saved even if its RowStruct is null. https://udn.unrealengine.com/questions/264064/crash-using-hotreload-in-custom-datatable-cdo-clas.html Change 2727395 on 2015/10/13 by Mike.Beach (WIP) Second pass on the Blueprint conversion pipeline; setting it up for more optimal (speedier) performance. * Using stubs for replacements (rather than loading dynamic replacement). * Giving the cook commandlet more control (so a conversion could be ran directly). * Now logging replacements by old object path (to account for UPackage replacement queries). * Fix for [UE-21947], unshelved from CL 2724944 (by Maciej.Mroz). #codereview Maciej.Mroz Change 2727484 on 2015/10/13 by Mike.Beach [UE-22008] Fixing up comment/tooltip typo for UActorComponent::bAutoActivate. Change 2727527 on 2015/10/13 by Mike.Beach Downgrading an inactionable EdGraph warning, while adding more info so we could possibly determine what's happening. Change 2727702 on 2015/10/13 by Dan.Oconnor Fix for crash in UDelegateProperty::GetCPPType when called on a function with no OwnerClass (events) Change 2727968 on 2015/10/14 by Maciej.Mroz Since ConstructorHelpers::FClassFinder is usually static, the loaded class should be in root set, to prevent the pointer stored in ConstructorHelpers::FClassFinder from being obsolete. FindOrLoadClass behaves now like FindOrLoadObject. #codereview Robert.Manuszewski, Nick.Whiting Change 2728139 on 2015/10/14 by Phillip.Kavan
2015-11-25 18:47:20 -05:00
MemberClass = Cast<UClass>(SelfPin->PinType.PinSubCategoryObject.Get());
}
}
Copying //UE4/Dev-Blueprints to Dev-Main (//UE4/Dev-Main) @ 2781164 #lockdown Nick.Penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2716841 on 2015/10/05 by Mike.Beach (WIP) Cleaning up how we setup script assets for replacement on cook (aligning more with the Blueprint conversion tool). #codereview Maciej.Mroz Change 2719089 on 2015/10/07 by Maciej.Mroz ToValidCPPIdentifierChars handles propertly '?' char. #codereview Dan.Oconnor Change 2719361 on 2015/10/07 by Maciej.Mroz Generated native code for AnimBPGC - some preliminary changes. Refactor: UAnimBlueprintGeneratedClass is not accessed directly in runtime. It is accessed via UAnimClassInterface interface. Properties USkeletalMeshComponent::AnimBlueprintGeneratedClass and UInterpTrackFloatAnimBPParam::AnimBlueprintClass were changed into "TSubclassOf<UAnimInstance> AnimClass" The UDynamicClass also can deliver the IAnimClassInterface interface. See UAnimClassData, IAnimClassInterface::GetFromClass and UDynamicClass::AnimClassImplementation. #codereview Lina.Halper, Thomas.Sarkanen Change 2719383 on 2015/10/07 by Maciej.Mroz Debug-only code removed Change 2720528 on 2015/10/07 by Dan.Oconnor Fix for determinsitc cooking of async tasks and load asset nodes #codereview Mike.Beach, Maciej.Mroz Change 2721273 on 2015/10/08 by Maciej.Mroz Blueprint Compiler Cpp Backend - Anim Blueprints can be converted - Various fixes/improvements Change 2721310 on 2015/10/08 by Maciej.Mroz refactor (cl#2719361) - no "auto" keyword Change 2721727 on 2015/10/08 by Mike.Beach (WIP) Setup the cook commandlet so it handles converted assets, replacing them with generated classes. - Refactored the conversion manifest (using a map over an array) - Centralized destination paths into a helper struct (for the manifest) - Generating an Editor module that automatically hooks into the cook process when enabled - Loading and applying native replacments for the cook Change 2723276 on 2015/10/09 by Michael.Schoell Blueprints duplicated for PIE will no longer register as dependencies to other Blueprint. #jira UE-16695 - Editor freezes then crashes while attempting to save during PIE #jira UE-21614 - [CrashReport] Crash while saving during PIE - FKismetEditorUtilities::CompileBlueprint() kismet2.cpp:736 Change 2724345 on 2015/10/11 by Ben.Cosh Blueprint profiler at first pass, this includes the ability to instrument specific blueprints with realtime editor stat display. #UEBP-21 - Profiling data capture and storage #UEBP-13 - Performance capture landing page #Branch UE4 #Proj BlueprintProfiler, BlueprintGraph, EditorStyle, Kismet, UnrealEd, CoreUObject, Engine Change 2724613 on 2015/10/12 by Ben.Cosh Incremental update for blueprint profiler to fix the way some of the reported stats cascade through events and branches and additionally some missed bits of code are refactored/removed. #Branch UE4 #Proj BlueprintProfiler #info Whilst looking into this I spotted the reason why the stats seem so erratic, There appears to be an issue with FText's use of EXPERIMENTAL_TEXT_FAST_DECIMAL_FORMAT which I have reported, but ideally disable this locally until a fix is integrated. Change 2724723 on 2015/10/12 by Maciej.Mroz Constructor of a dynamic class creates CDO. #codereview Robert.Manuszewski Change 2725108 on 2015/10/12 by Mike.Beach [UE-21891] Minor fix to the array shuffle() function; now processes the last entry like all the others. Change 2726358 on 2015/10/13 by Maciej.Mroz UDataTable is properly saved even if its RowStruct is null. https://udn.unrealengine.com/questions/264064/crash-using-hotreload-in-custom-datatable-cdo-clas.html Change 2727395 on 2015/10/13 by Mike.Beach (WIP) Second pass on the Blueprint conversion pipeline; setting it up for more optimal (speedier) performance. * Using stubs for replacements (rather than loading dynamic replacement). * Giving the cook commandlet more control (so a conversion could be ran directly). * Now logging replacements by old object path (to account for UPackage replacement queries). * Fix for [UE-21947], unshelved from CL 2724944 (by Maciej.Mroz). #codereview Maciej.Mroz Change 2727484 on 2015/10/13 by Mike.Beach [UE-22008] Fixing up comment/tooltip typo for UActorComponent::bAutoActivate. Change 2727527 on 2015/10/13 by Mike.Beach Downgrading an inactionable EdGraph warning, while adding more info so we could possibly determine what's happening. Change 2727702 on 2015/10/13 by Dan.Oconnor Fix for crash in UDelegateProperty::GetCPPType when called on a function with no OwnerClass (events) Change 2727968 on 2015/10/14 by Maciej.Mroz Since ConstructorHelpers::FClassFinder is usually static, the loaded class should be in root set, to prevent the pointer stored in ConstructorHelpers::FClassFinder from being obsolete. FindOrLoadClass behaves now like FindOrLoadObject. #codereview Robert.Manuszewski, Nick.Whiting Change 2728139 on 2015/10/14 by Phillip.Kavan
2015-11-25 18:47:20 -05:00
// if we happened to retain the ParentClass for a self reference
// (unlikely), then we know where this node came from... let's keep it
// referencing that function
if (MemberClass != nullptr)
{
if (!IsBlueprintOfType(MemberClass))
{
FunctionReference.SetExternalMember(FunctionReference.GetMemberName(), MemberClass);
}
}
// else, there is nothing we can do... if there is an function matching
// the member name in this Blueprint, then it will reference that
// function (even if it came from a different Blueprint, one with an
// identically named function)... if there is no function matching this
// reference, then the node will produce an error later during compilation
}
Copying //UE4/Dev-Blueprints to Dev-Main (//UE4/Dev-Main) #lockdown Nick.Penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2884592 on 2016/02/27 by Maciej.Mroz Packages containing Dynamic Types are listed as dependencies in FAsyncPackage::LoadImports #codereview Robert.Manuszewski Change 2884607 on 2016/02/27 by Maciej.Mroz CDO of DynamicClass is postponed as a regular CDO creation. This change is risky (it still requires some tests), but it seems to be necessary for solving (cyclic) dependencies while Async Loading. #codereview Robert.Manuszewski, Mike.Beach Change 2885915 on 2016/02/29 by Michael.Schoell Struct pins on exposed on spawn properties will no longer error on compile if they do not have a pin connected to them. UKismetSystemLibrary::SetStructurePropertyByName's Value pin is now marked as a AutoCreateRefTerm so literals can be used on the auto-generated node. Modified FKismetCompilerUtilities::GenerateAssignmentNodes to assign the literal value into the pin, which in turn allows it to expand into an auto-ref term. #jira UE-23130 - ExposeOnSpawn struct properties are not handled correctly Change 2887269 on 2016/03/01 by Maciej.Mroz Fixes related to DisregardForGC: - merged 2885687 from Dev-Core branch - ensure CDO of newly added class is created in CloseDisregardForGC Change 2887273 on 2016/03/01 by Maciej.Mroz GUObjectArray.CloseDisregardForGC(); is called before GUObjectArray.DisableDisregardForGC(); Change 2892502 on 2016/03/03 by Maciej.Mroz More descriptive ensures. Change 2892509 on 2016/03/03 by Maciej.Mroz Minor changes in Orion code, necessary to compile the project with nativized Blueprints #codereview David.Ratti Change 2892513 on 2016/03/03 by Maciej.Mroz Blueprint C++ Conversion: there is no crash when a asset used by a nativized class wasn't loaded. Change 2894347 on 2016/03/04 by Michael.Schoell Fixed crash with the Array Item Get node in the disassembler. #jira UE-27734 - Error in TeamLobby Change 2895311 on 2016/03/04 by Michael.Schoell Right click and using "Find References" on an event node in either the MyBlueprint window or a graph panel, will search the function's name, not the node's title (drops the Event text). #jira UE-27335 - GitHub 2092 : Skip "Event " Prefix when Finding References for Events PR #2092: Skip "Event " Prefix when Finding References for Events (Contributed by mollstam) Change 2896714 on 2016/03/07 by Ben.Cosh Fixes for a few related crash/assert issues when profiling blueprints that use event dispatchers/call event functions and latent nodes. #UE-27090 - Crash when calling an Event Dispatcher within a Sequence node with the Blueprint Profiler on #Proj KismetCompiler, BlueprintProfiler, BlueprintGraph, Kismet, CoreUObject #codereview Phillip.Kavan Change 2897335 on 2016/03/07 by Dan.Oconnor Unshelved from pending changelist '2889006': We now copy UObjects that are assigned to Instance properties via UObjectPropertyBase::ImportText_Internal #jira UE-26310 Change 2899151 on 2016/03/08 by Phillip.Kavan [UEBP-112] BP profiler - pure node timings change summary: - first-pass revisions for tracking/visualizing pure node execution timings while profiling - trace path debugging support (default: off) #codereview Ben.Cosh Change 2901763 on 2016/03/09 by Michael.Schoell Can undo/redo nodes added using shortcuts. Also fixed issue with macro nodes added using shortcuts not being selected. #jira UE-28027 - Cannot Undo Blueprint Nodes Placed Using Shortcuts Change 2902762 on 2016/03/10 by Phillip.Kavan [UE-28167] Fix compile-time crash caused by intermediate pure nodes when the BP profiler view is active. change summary: - modified FBlueprintExecutionContext::MapNodeExecution() to avoid impure nodes when mapping the pure node execution chain. #codereview Ben.Cosh Change 2907961 on 2016/03/14 by Maciej.Mroz #jira UE-28249 Cooked win32 Fortnite server crash loading in to FastCook map Manually integrated CL#2906835 from Dev-Core - Reset last non-gc index when disabling disregard for GC pool Change 2908013 on 2016/03/14 by Maciej.Mroz EmptyLinkFunctionForGeneratedCode function for all .generated.*.cpp files Fixed problem when stuff from some .generated.*.cpp files for nativized Blueprints plugin were not linked at all. #codereview Robert.Manuszewski, Steve.Robb Change 2908033 on 2016/03/14 by Maciej.Mroz Various fixes and improvements related to initialization sequence of converted Dynamic Classes. [CL 2910931 by Mike Beach in Main branch]
2016-03-15 19:07:47 -04:00
else if (MemberClass != nullptr)
Copying //UE4/Dev-Blueprints to Dev-Main (//UE4/Dev-Main) @ 2781164 #lockdown Nick.Penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2716841 on 2015/10/05 by Mike.Beach (WIP) Cleaning up how we setup script assets for replacement on cook (aligning more with the Blueprint conversion tool). #codereview Maciej.Mroz Change 2719089 on 2015/10/07 by Maciej.Mroz ToValidCPPIdentifierChars handles propertly '?' char. #codereview Dan.Oconnor Change 2719361 on 2015/10/07 by Maciej.Mroz Generated native code for AnimBPGC - some preliminary changes. Refactor: UAnimBlueprintGeneratedClass is not accessed directly in runtime. It is accessed via UAnimClassInterface interface. Properties USkeletalMeshComponent::AnimBlueprintGeneratedClass and UInterpTrackFloatAnimBPParam::AnimBlueprintClass were changed into "TSubclassOf<UAnimInstance> AnimClass" The UDynamicClass also can deliver the IAnimClassInterface interface. See UAnimClassData, IAnimClassInterface::GetFromClass and UDynamicClass::AnimClassImplementation. #codereview Lina.Halper, Thomas.Sarkanen Change 2719383 on 2015/10/07 by Maciej.Mroz Debug-only code removed Change 2720528 on 2015/10/07 by Dan.Oconnor Fix for determinsitc cooking of async tasks and load asset nodes #codereview Mike.Beach, Maciej.Mroz Change 2721273 on 2015/10/08 by Maciej.Mroz Blueprint Compiler Cpp Backend - Anim Blueprints can be converted - Various fixes/improvements Change 2721310 on 2015/10/08 by Maciej.Mroz refactor (cl#2719361) - no "auto" keyword Change 2721727 on 2015/10/08 by Mike.Beach (WIP) Setup the cook commandlet so it handles converted assets, replacing them with generated classes. - Refactored the conversion manifest (using a map over an array) - Centralized destination paths into a helper struct (for the manifest) - Generating an Editor module that automatically hooks into the cook process when enabled - Loading and applying native replacments for the cook Change 2723276 on 2015/10/09 by Michael.Schoell Blueprints duplicated for PIE will no longer register as dependencies to other Blueprint. #jira UE-16695 - Editor freezes then crashes while attempting to save during PIE #jira UE-21614 - [CrashReport] Crash while saving during PIE - FKismetEditorUtilities::CompileBlueprint() kismet2.cpp:736 Change 2724345 on 2015/10/11 by Ben.Cosh Blueprint profiler at first pass, this includes the ability to instrument specific blueprints with realtime editor stat display. #UEBP-21 - Profiling data capture and storage #UEBP-13 - Performance capture landing page #Branch UE4 #Proj BlueprintProfiler, BlueprintGraph, EditorStyle, Kismet, UnrealEd, CoreUObject, Engine Change 2724613 on 2015/10/12 by Ben.Cosh Incremental update for blueprint profiler to fix the way some of the reported stats cascade through events and branches and additionally some missed bits of code are refactored/removed. #Branch UE4 #Proj BlueprintProfiler #info Whilst looking into this I spotted the reason why the stats seem so erratic, There appears to be an issue with FText's use of EXPERIMENTAL_TEXT_FAST_DECIMAL_FORMAT which I have reported, but ideally disable this locally until a fix is integrated. Change 2724723 on 2015/10/12 by Maciej.Mroz Constructor of a dynamic class creates CDO. #codereview Robert.Manuszewski Change 2725108 on 2015/10/12 by Mike.Beach [UE-21891] Minor fix to the array shuffle() function; now processes the last entry like all the others. Change 2726358 on 2015/10/13 by Maciej.Mroz UDataTable is properly saved even if its RowStruct is null. https://udn.unrealengine.com/questions/264064/crash-using-hotreload-in-custom-datatable-cdo-clas.html Change 2727395 on 2015/10/13 by Mike.Beach (WIP) Second pass on the Blueprint conversion pipeline; setting it up for more optimal (speedier) performance. * Using stubs for replacements (rather than loading dynamic replacement). * Giving the cook commandlet more control (so a conversion could be ran directly). * Now logging replacements by old object path (to account for UPackage replacement queries). * Fix for [UE-21947], unshelved from CL 2724944 (by Maciej.Mroz). #codereview Maciej.Mroz Change 2727484 on 2015/10/13 by Mike.Beach [UE-22008] Fixing up comment/tooltip typo for UActorComponent::bAutoActivate. Change 2727527 on 2015/10/13 by Mike.Beach Downgrading an inactionable EdGraph warning, while adding more info so we could possibly determine what's happening. Change 2727702 on 2015/10/13 by Dan.Oconnor Fix for crash in UDelegateProperty::GetCPPType when called on a function with no OwnerClass (events) Change 2727968 on 2015/10/14 by Maciej.Mroz Since ConstructorHelpers::FClassFinder is usually static, the loaded class should be in root set, to prevent the pointer stored in ConstructorHelpers::FClassFinder from being obsolete. FindOrLoadClass behaves now like FindOrLoadObject. #codereview Robert.Manuszewski, Nick.Whiting Change 2728139 on 2015/10/14 by Phillip.Kavan
2015-11-25 18:47:20 -05:00
{
if (IsBlueprintOfType(MemberClass))
{
FunctionReference.SetSelfMember(FunctionReference.GetMemberName());
}
}
}
void UK2Node_CallFunction::PostPasteNode()
{
Super::PostPasteNode();
Copying //UE4/Dev-Blueprints to Dev-Main (//UE4/Dev-Main) @ 2781164 #lockdown Nick.Penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2716841 on 2015/10/05 by Mike.Beach (WIP) Cleaning up how we setup script assets for replacement on cook (aligning more with the Blueprint conversion tool). #codereview Maciej.Mroz Change 2719089 on 2015/10/07 by Maciej.Mroz ToValidCPPIdentifierChars handles propertly '?' char. #codereview Dan.Oconnor Change 2719361 on 2015/10/07 by Maciej.Mroz Generated native code for AnimBPGC - some preliminary changes. Refactor: UAnimBlueprintGeneratedClass is not accessed directly in runtime. It is accessed via UAnimClassInterface interface. Properties USkeletalMeshComponent::AnimBlueprintGeneratedClass and UInterpTrackFloatAnimBPParam::AnimBlueprintClass were changed into "TSubclassOf<UAnimInstance> AnimClass" The UDynamicClass also can deliver the IAnimClassInterface interface. See UAnimClassData, IAnimClassInterface::GetFromClass and UDynamicClass::AnimClassImplementation. #codereview Lina.Halper, Thomas.Sarkanen Change 2719383 on 2015/10/07 by Maciej.Mroz Debug-only code removed Change 2720528 on 2015/10/07 by Dan.Oconnor Fix for determinsitc cooking of async tasks and load asset nodes #codereview Mike.Beach, Maciej.Mroz Change 2721273 on 2015/10/08 by Maciej.Mroz Blueprint Compiler Cpp Backend - Anim Blueprints can be converted - Various fixes/improvements Change 2721310 on 2015/10/08 by Maciej.Mroz refactor (cl#2719361) - no "auto" keyword Change 2721727 on 2015/10/08 by Mike.Beach (WIP) Setup the cook commandlet so it handles converted assets, replacing them with generated classes. - Refactored the conversion manifest (using a map over an array) - Centralized destination paths into a helper struct (for the manifest) - Generating an Editor module that automatically hooks into the cook process when enabled - Loading and applying native replacments for the cook Change 2723276 on 2015/10/09 by Michael.Schoell Blueprints duplicated for PIE will no longer register as dependencies to other Blueprint. #jira UE-16695 - Editor freezes then crashes while attempting to save during PIE #jira UE-21614 - [CrashReport] Crash while saving during PIE - FKismetEditorUtilities::CompileBlueprint() kismet2.cpp:736 Change 2724345 on 2015/10/11 by Ben.Cosh Blueprint profiler at first pass, this includes the ability to instrument specific blueprints with realtime editor stat display. #UEBP-21 - Profiling data capture and storage #UEBP-13 - Performance capture landing page #Branch UE4 #Proj BlueprintProfiler, BlueprintGraph, EditorStyle, Kismet, UnrealEd, CoreUObject, Engine Change 2724613 on 2015/10/12 by Ben.Cosh Incremental update for blueprint profiler to fix the way some of the reported stats cascade through events and branches and additionally some missed bits of code are refactored/removed. #Branch UE4 #Proj BlueprintProfiler #info Whilst looking into this I spotted the reason why the stats seem so erratic, There appears to be an issue with FText's use of EXPERIMENTAL_TEXT_FAST_DECIMAL_FORMAT which I have reported, but ideally disable this locally until a fix is integrated. Change 2724723 on 2015/10/12 by Maciej.Mroz Constructor of a dynamic class creates CDO. #codereview Robert.Manuszewski Change 2725108 on 2015/10/12 by Mike.Beach [UE-21891] Minor fix to the array shuffle() function; now processes the last entry like all the others. Change 2726358 on 2015/10/13 by Maciej.Mroz UDataTable is properly saved even if its RowStruct is null. https://udn.unrealengine.com/questions/264064/crash-using-hotreload-in-custom-datatable-cdo-clas.html Change 2727395 on 2015/10/13 by Mike.Beach (WIP) Second pass on the Blueprint conversion pipeline; setting it up for more optimal (speedier) performance. * Using stubs for replacements (rather than loading dynamic replacement). * Giving the cook commandlet more control (so a conversion could be ran directly). * Now logging replacements by old object path (to account for UPackage replacement queries). * Fix for [UE-21947], unshelved from CL 2724944 (by Maciej.Mroz). #codereview Maciej.Mroz Change 2727484 on 2015/10/13 by Mike.Beach [UE-22008] Fixing up comment/tooltip typo for UActorComponent::bAutoActivate. Change 2727527 on 2015/10/13 by Mike.Beach Downgrading an inactionable EdGraph warning, while adding more info so we could possibly determine what's happening. Change 2727702 on 2015/10/13 by Dan.Oconnor Fix for crash in UDelegateProperty::GetCPPType when called on a function with no OwnerClass (events) Change 2727968 on 2015/10/14 by Maciej.Mroz Since ConstructorHelpers::FClassFinder is usually static, the loaded class should be in root set, to prevent the pointer stored in ConstructorHelpers::FClassFinder from being obsolete. FindOrLoadClass behaves now like FindOrLoadObject. #codereview Robert.Manuszewski, Nick.Whiting Change 2728139 on 2015/10/14 by Phillip.Kavan
2015-11-25 18:47:20 -05:00
FixupSelfMemberContext();
UFunction* Function = GetTargetFunction();
if(Function != NULL)
{
// After pasting we need to go through and ensure the hidden the self pins is correct in case the source blueprint had different metadata
TSet<FString> PinsToHide;
[UE-2345] BP - enforce const-correctness in native const class method overrides this change introduces enforcement of 'const-correctness' into implemented function graphs. summary: if you have a function declared in C++ like this: UFUNCTION(BlueprintImplementableEvent) int32 MyFunctionThatReturnsSomeValue() const; if you implement that (BPIE) function in a Blueprint that's parented to that native class, it will now be flagged as 'const'. this makes any properties of 'self' read-only within the context of that graph, which means the compiler will emit an error if you try to set a property or otherwise call a non-const, non-static function with 'self' as the target. if there happens to already be an implemented const function in a Blueprint that was in place prior to this change, the compiler will emit a warning instead of an error, in order to allow existing Blueprints that may currently be "violating" const within the context of a const BPIE function to still compile, while still alerting to issues that should probably be addressed. notes: 1) this also applies to BlueprintNativeEvent (BPNE) implementations, and also when implementing BPIE/BPNE interface methods that are also declared as const 2) a const BPIE/BPNE function with no return value and no output parameters will be implemented as a "normal" impure function, and not as an event as in the non-const case 3) a const BPIE/BPNE function with a return value and/or output parameters will currently be implemented as a pure function, regardless of whether or not BlueprintCallable is specified 4) this CL also retains some consolidation of static function validation code that i had previously done, mostly to allow static functions to more easily be whitelisted for const function graphs #codereview Nick.Whiting, Michael.Noland [CL 2368059 by Phillip Kavan in Main branch]
2014-11-21 17:47:17 -05:00
FBlueprintEditorUtils::GetHiddenPinsForFunction(GetGraph(), Function, PinsToHide);
Copying //UE4/Dev-Blueprints to //UE4/Dev-Main (Source: //UE4/Dev-Blueprints @ 3152873) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3131279 on 2016/09/19 by Mike.Beach Fixing FText::Format warning for the Sub-Level Blueprints menu - Was using {LevelName} tag when there was no value for {LevelName} (defaulted to the first argument). #jira UE-36097 Change 3131318 on 2016/09/19 by Phillip.Kavan [UE-35690] Minor revisions to Blueprint SCS execution to improve efficiency and address an out-of-order registration issue. change summary: - modified AActor::PostSpawnInitialize() to defer native component registration if there is no native scene root component set and if the actor is a BP type (i.e. will invoke SCS). this means that native actor classes with only non-scene components will now defer registration/post-registration until after SCS execution has established a valid scene root. - modified AActor::ExecuteConstruction() to gather the set of native scene components that SCS nodes can attach to before invoking the SCS. this was previously being done redundantly within the SCS itself at each level of the BP class inheritance hierarchy. - modified AActor::ExecuteConstruction() to do a final registration pass over all components after the all SCS levels have been executed. this was also previously being done within the SCS at each level. this avoids some extra redundancy. - modified USCS_Node::ExecuteNodeOnActor() to call RegisterAllComponents() on the given actor instance after establishing a valid scene root component if it was previously deferred at spawn time. - modified USCS_Node::ExecuteNodeOnActor() to now register components after they're created. since SCS execution goes from parent to child, parent scene components will always be registered before their children. non-native, non-scene component registration will also be deferred until a scene root component has been established. - added AActor::HasDeferredComponentRegistration() - modified AActor::RegisterAllComponents() to reset the actor's deferred component registration flag when called - modified AActor::AddComponent() to check the 'bAutoRegister' flag before calling RegisterComponent() (for consistency) - moved the RegisterInstancedComponent() utility method into USimpleConstructionScript and modified it to ensure that parent attachments are registered before their children. - modified USimpleConstructionScript::ExecuteScriptOnActor() to include an additional input parameter for passing in the set of native scene components that can be attached to. - modified USimpleConstructionScript::ExecuteScriptOnActor() to remove redundant/unnecessary work as noted above. #jira UE-35690 Change 3131842 on 2016/09/20 by Maciej.Mroz #jira UE-34984 Broken (weak) object params on Blueprint function (cannot add plain reference) Change 3131847 on 2016/09/20 by Maciej.Mroz SPropertyEditorAsset doesn't display UClass with "_C" prefix anymore. Change 3131923 on 2016/09/20 by Maciej.Mroz #jira UE-33812 Crash while closing Create Blank New Blueprint window after attempting to name blueprint the same name as another blueprint Change 3132348 on 2016/09/20 by Phillip.Kavan Fix CIS build issue (SA). Change 3132383 on 2016/09/20 by Maciej.Mroz #jira UE-35830 Float Curve that is set as a local variable in an actor's function is garbage collected when in Standalone, causing a crash Array UStruct::ScriptObjectReferences is filled while compilation. GC doesn't serialize script bytecode in editor anymore. Change 3133072 on 2016/09/20 by Maciej.Mroz #jira UE-34388 Crash upon deleting Blueprints folder Change 3133216 on 2016/09/20 by Dan.Oconnor + BlueprintSetLibrary (add, remove, find, etc) + HasGetTypeHash compile time function for detecting types that have GetTypeHish (modeled after HasOperatorEquals) = SPinTypeSelector can now disable container types based on current primary type, required transition to SComboButtton/SListView from SComboBox = Hide blueprint set library via BaseEditor.ini #jira UE-2114 Change 3133227 on 2016/09/20 by Dan.Oconnor Test assets for TSet Change 3133804 on 2016/09/21 by Maciej.Mroz #jira UE-34069 ObjectLibrary stores UBlueprint instead of BPGC In UObjectLibrary, when bHasBlueprintClasses is true, BP references are automatically replaced by BPGC references. Change 3133817 on 2016/09/21 by Maciej.Mroz Fixed static Static Analysis warning Change 3134377 on 2016/09/21 by Dan.Oconnor ShowWorldContextObject is now inherited #jira UE-35674 Change 3134955 on 2016/09/21 by Mike.Beach Making it so AdvancedDisplay metadata is taken into consideration and used in MakeStruct nodes. Change 3134965 on 2016/09/21 by Dan.Oconnor Fix for crash in FCDODiffControl when CDOs have different numbers of properties. First branch in the while loop would incorrectly advance Iter past the end of the array. Comments courtesy of Jon.Nabozny #jira UE-36263 Change 3135523 on 2016/09/22 by Dan.Oconnor PR #2755: Master (Contributed by jeremyyeung) Notable change: searching for Vector in BP editor context menu now gives different default result, prior result was mediocre, though (vector - vector) #jira UE-35450 Change 3136508 on 2016/09/22 by Mike.Beach Removing a bIsVisible guard for level Blueprint menu actions - this was causing level BP options to disappear when you hid sub-levels. The guard doesn't seem to matter, as those actions will be removed with the world (when it is updated, or unloaded). #jira UE-34019 Change 3137587 on 2016/09/23 by Maciej.Mroz #jira ODIN-1017 [Nativization] Crash while loading Hub_env level Merged cl#3137578 from Odin branch Change 3137666 on 2016/09/23 by Ben.Cosh This adds the ability to map composite graph instances in the same way we map macro instances for blueprint debug data and improves the quality of the debug data providing correct information for nested macro/composite instances at any script location in instrumented blueprint compilations. #Jira UE-33396 - Nested macro nodes don't map correctly if you place multiple instances in the same graph #Proj KismetCompiler, BlueprintGraph, UnrealEd - This is the first part of a two part change, the subsequent change will make use of the debug output to resolve complex trees of tunnel instances in the blueprint profiler. Change 3137800 on 2016/09/23 by Phillip.Kavan [UE-34896] Properties are now generated for client-only Blueprint components in an uncooked server-only context. change summary: - bumped BlueprintObjectsVersion - added a new 'ComponentClass' property to USCS_Node - added a new 'ComponentClass' field to the FComponentOverrideRecord struct (UInheritableComponentHandler) - added a USCS_Node::Serialize() override to fix up 'ComponentClass' on load (so that it's set prior to compile-on-load) - modified USimpleConstructionScript::CreateNodeImpl() to set the ComponentClass property in a new SCS node - modified USimpleConstructionScript::ValidateNodeTemplates() to consider the node to be valid if ComponentClass is set and is known to be filtered (i.e. the node will not be removed in this case) - modified USimpleConstructionScript::ValidateNodeTemplates() to emit a warning message in an uncooked client-only or server-only context if the ComponentClass could not be set in an existing package (i.e. if a resave is needed) - modified UInheritableComponentHandler::PostLoad() to fix up 'ComponentClass' on load - modified UInheritableComponentHandler::CreateOverridenComponentTemplate() to set the ComponentClass field in a new override record - modified UInheritableComponentHandler::IsRecordValid() to consider the record to be valid if ComponentClass is set (when ComponentTemplate is NULL) - modified UInheritableComponentHandler::IsRecordNecessary() to consider the record to be necessary if ComponentClass is set and is known to be filtered - modified FKismetCompilerContext::CreateClassVariablesFromBlueprint() to use 'ComponentClass' rather than 'ComponentTemplate' to infer the property subtype #jira UE-34896 Change 3137851 on 2016/09/23 by Phillip.Kavan [UE-36079] Component overrides in a child blueprint will no longer trigger a warning message when the original component is removed from its parent. change summary: - modified UInheritableComponentHandler::IsRecordValid() to no longer consider a NULL OriginalTemplate to be invalid (so that the warning message is suppressed) - modified UInheritableComponentHandler::IsRecordNecessary() to consider a NULL OriginalTemplate to be unnecessary (so that the record is still removed in this case) #jira UE-36079 Change 3137948 on 2016/09/23 by Ben.Cosh CIS warning fix on mac for out of order initialisation. Change 3139351 on 2016/09/25 by Ben.Cosh Updates the blueprint profiler to make use of the recent changes to macro/composite tunnel mapping and enhanced debug data. #Jira UE-33396 - Nested macro nodes don't map correctly if you place multiple instances in the same graph #Proj BlueprintProfiler, Engine - This is the second part of a two part change enabling multiple instances of nested macro/composite graphs in the blueprint profiler. Change 3139376 on 2016/09/25 by Ben.Cosh CIS static analysis fix for CL 3137666 Change 3139377 on 2016/09/25 by Ben.Cosh Adding script code location checking for pure nodes that was missed in CL 3139351 #Jira UE-33396 - Nested macro nodes don't map correctly if you place multiple instances in the same graph #Proj BlueprintProfiler - Fixes a missed issue with pure nodes inside macros/tunnels Change 3139624 on 2016/09/26 by Maciej.Mroz Fixed const local variables in Nativized code Merged cl#3139622 from Odin branch. Change 3139641 on 2016/09/26 by Maciej.Mroz #jira UE-31099 Renaming an input mapping does not generate a warning when compile a blueprint using that input Since we cannot distinguish which nodes are isolated by users (and shouldn't be validated) and which nodes are isolated during expansion step (and should be validated), the isolated nodes are pruned both before and after expantion step (and validation). Change 3139961 on 2016/09/26 by Ben.Cosh CIS static analysis fix for CL 3137666 - missed one of the warnings in a previous attempt. Change 3140143 on 2016/09/26 by Dan.Oconnor Fix for component property clearing on load, submitted on behalf of Mike.Beach #jira UE-36395 Change 3140694 on 2016/09/26 by Dan.Oconnor Fix for GLEO when duplicating levels that have knots that reference delegates (specifically custom events) #jira UE-34954 Change 3140772 on 2016/09/26 by Dan.Oconnor Further hardening SGraphPin::GraphPinObj access #jira UE-36280 Change 3140812 on 2016/09/26 by Dan.Oconnor Corrected overzealous warning. Codepath is expected when functions are deleted but breakpoints aren't updated #jira UE-32736 Change 3140869 on 2016/09/26 by Dan.Oconnor Update check to handle nested DSOs #jira UE-34568 Change 3141125 on 2016/09/27 by Maciej.Mroz #jira UE-36326 Attempting to generate abstract class from blueprint crashes editor on compile While reinstancing the CLASS_Abstract is cleared (just like the CLASS_Deprecated flag) Change 3142715 on 2016/09/27 by Dan.Oconnor Fix for crash when pasting nodes that have connections to nodes that aren't in the clipboard from one graph into another #jira OR-29584 Change 3143469 on 2016/09/28 by Ryan.Rauschkolb BP Profiler: Fixed Assert when profiling parent/child Blueprint #jira UE-35487 Change 3145215 on 2016/09/29 by Maciej.Mroz #jira UE-36494 [CrashReport] UE4Editor_KismetCompiler!FKismetCompilerContext::CreatePinEventNodeForTimelineFunction() [kismetcompiler.cpp:2062] Change 3145580 on 2016/09/29 by Dan.Oconnor Collapse secondary image instead of hiding it, allowing x button to be closer to primary image when secondary type image isn't present #jira UE-36577 Change 3146470 on 2016/09/30 by Maciej.Mroz #jira UE-36655 Failed ensure when TIleline is pasted Restored cl#3085572 - it was lost while merging. Change 3147046 on 2016/09/30 by Maciej.Mroz #jira UE-34961 Assert when calling BP function with weak object parameter. BP doesn;t support weak obj ptr as parameters - Validation added. Function, created from colappsed nodes, cannot have a parameter of weakptr type. Change 3148022 on 2016/10/01 by Phillip.Kavan [UE-21109] Fix component instance data loss after renaming SCS component nodes at the Blueprint class level. change summary: - deprecated the public USCS_Node::VariableName member and replaced it with an internal-only member accessible via Get/Set method (i need to be in control of the set logic) - changed all occurrences of direct access to USCS_Node::VariableName to use a GetVariableName() call (since it's now internal) - simplified USCS_Node::GetVariableName() as what it used to do was legacy and thus is no longer necessary (it's been handled by USimpleConstructionScript::PostLoad for awhile now) - added USCS_Node::SetVariableName(); this now renames the component template (if valid) and all instances of it prior to changing the internal variable name. this ensures that archetype lookups will continue to function after a rename. - added USCS_Node::RenameComponentTemplate() to handle SCS node component template rename logic on a variable name change - switched the AActor::CheckComponentInstanceName() API to be publically-accessible; need to call this when renaming instanced components to match a new variable name in order to ensure that we rename any instance-only components out of the way first (this is the same logic that we run when constructing component instances on map load/RRCS, so it's consistent) - modified UInheritableComponentHandler::PostLoad() to fix up the component template within each record to match the original template object name. this ensures that ICH-specific archetype lookups will continue to function after a rename. it also ensures that any mismatched template names in existing assets will now be fixed up on load. - moved UActorComponent::ComponentTemplateSuffixName into the USimpleConstructionScript class (since the association is tied to templates created by that class specifically). note: this revises a change from a recent PR submission. - modified UpdateAttachedIsEditorOnly() to check the RF_ArchetypeObject flag rather than the ComponentTemplateSuffixName (part of the revision to the recent PR submission noted above) #jira UE-21109 Change 3148023 on 2016/10/01 by Phillip.Kavan [UE-35562] Fix inherited Blueprinted component template defaults data loss in child Blueprint classes after recompiling the Blueprinted component class. change summary: - added a local FArchetypeReinstanceHelper struct + GetArchetypeObjects()/FindUniqueArchetypeObjectName() utility method implementations to KismetReinstanceUtilities.cpp - modified FBlueprintCompileReinstancer::ReplaceInstancesOfClass_Inner() to ensure that the full inherited component template (archetype) ancestry is renamed along with the base template when we rename the base template object away from its original name in order to make way for the new (reinstanced) template. the names must match the base template along the entire inheritance hierarchy in order for forward/reverse inherited component archetype lookups to succeed. notes: - BP (non-native) component templates (e.g. SCS/AddComponent nodes) that belong to the class being reinstanced (i.e. whose templates are not inherited from a parent BP) always inherit directly from the component CDO, and thus do not require this code path (that is, archetype lookups are not dependent on matching the CDO by name). similarly, native components (defined in C++) are included as part of the CDO defaults data, and thus also do not require this code path. #jira UE-35562 Change 3148030 on 2016/10/01 by Phillip.Kavan UT fixes for CIS warnings related to SCS node API changes. Change 3148256 on 2016/10/02 by Ben.Cosh This change adds the ability to filter debug/wire trace instrumenation and tracks expansion nodes for future use. #Jira UE-34866 - No profiler timings listed for nodes executed after an interface message #Proj KismetCompiler, BlueprintGraph, UnrealEd Change 3148261 on 2016/10/02 by Ben.Cosh CIS fix, some code from another changelist leaked into CL 3148256 Change 3148480 on 2016/10/03 by Ben.Cosh This change attempts to address some profiler issues with class function context switching in the blueprint profiler. #Jira UE-35819 - Crash occurs when instrumenting an event from a member actor #Proj BlueprintProfiler, BlueprintGraph Change 3148545 on 2016/10/03 by Phillip.Kavan Skip unnecessary component validation work to fix invalid warnings when duplicating a BP class for reinstancing. Change 3149001 on 2016/10/03 by Ben.Cosh This fixes an issue found with the instrumented blueprint compilations in which a certain compilation path would not provide the extended composite tunnel node heararchy in debug data and removes an unneceassary check that was causing problems. #Jira UE-36704 - Crash on PIE while profiling TestBP_ProfilerEvents in QAGame #Proj KismetCompiler, BlueprintProfiler Change 3149031 on 2016/10/03 by Maciej.Mroz #jira UE-36687, UE-36691 Tunnel nodes without exec pin are not pruned before expansion. Change 3149150 on 2016/10/03 by Maciej.Mroz #jira UE-36685 UGameplayTagsK2Node_LiteralGameplayTag is pure. Change 3149290 on 2016/10/03 by Maciej.Mroz #jira UE-36750 GetBlueprintContext node is Pure. Change 3149595 on 2016/10/03 by Mike.Beach Fixing up some Orion content errors/warnings that should have been issues a while ago (error reporting was broken for a time, now fixed). #jira UE-36758, UE-36759 Change 3149667 on 2016/10/03 by Mike.Beach Fixing up some Ocean content errors as fallout from a change in Dev-Blueprints - the errors properly identified a node that was using a culled input that was uninitialized. #jira UE-36770 Change 3149777 on 2016/10/03 by Mike.Beach Fixing up an Orion content warning - disconnecting a cast path in Hero_Automation, now that the node is producing a warning (the cast is impossible, and therefore the path is superfluous). #jira UE-36759 Change 3149988 on 2016/10/04 by Maciej.Mroz #jira UE-36750, UE-36685 Fixed IsNodePure functions. Change 3150146 on 2016/10/04 by Maciej.Mroz #jira UE-36759 First pruning pass in done after ExpandTunnelsAndMacros is called. Isolated tunnels are pruned just like regular nodes. Change 3150743 on 2016/10/04 by Mike.Beach Mirroring CL 3150661 from Dev-VREditor Fix for crash on editor close after VR Foliage Editing. #jira UE-36754 Change 3151104 on 2016/10/04 by Maciej.Mroz Added comment. Change 3151979 on 2016/10/05 by Mike.Beach Adding the keyword "custom" to K2Node_CustomEvent, so that it is prioritized when searching the Blueprint menu. #jira UE-35512 Change 3152286 on 2016/10/05 by Maciej.Mroz Make sure, that an isolated node, that should be pure (but is not) won't be pruned. [CL 3152997 by Mike Beach in Main branch]
2016-10-05 23:32:35 -04:00
const bool bShowWorldContextPin = ((PinsToHide.Num() > 0) && GetBlueprint()->ParentClass->HasMetaDataHierarchical(FBlueprintMetadata::MD_ShowWorldContextPin));
FString const DefaultToSelfMetaValue = Function->GetMetaData(FBlueprintMetadata::MD_DefaultToSelf);
FString const WorldContextMetaValue = Function->GetMetaData(FBlueprintMetadata::MD_WorldContext);
const UEdGraphSchema_K2* K2Schema = GetDefault<UEdGraphSchema_K2>();
for (int32 PinIndex = 0; PinIndex < Pins.Num(); ++PinIndex)
{
UEdGraphPin* Pin = Pins[PinIndex];
bool bIsSelfPin = ((Pin->PinName == DefaultToSelfMetaValue) || (Pin->PinName == WorldContextMetaValue));
bool bPinShouldBeHidden = PinsToHide.Contains(Pin->PinName) && (!bShowWorldContextPin || !bIsSelfPin);
if (bPinShouldBeHidden && !Pin->bHidden)
{
Pin->BreakAllPinLinks();
K2Schema->SetPinDefaultValueBasedOnType(Pin);
}
Pin->bHidden = bPinShouldBeHidden;
}
}
}
void UK2Node_CallFunction::PostDuplicate(bool bDuplicateForPIE)
{
Super::PostDuplicate(bDuplicateForPIE);
if (!bDuplicateForPIE && (!this->HasAnyFlags(RF_Transient)))
{
Copying //UE4/Dev-Blueprints to Dev-Main (//UE4/Dev-Main) @ 2781164 #lockdown Nick.Penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2716841 on 2015/10/05 by Mike.Beach (WIP) Cleaning up how we setup script assets for replacement on cook (aligning more with the Blueprint conversion tool). #codereview Maciej.Mroz Change 2719089 on 2015/10/07 by Maciej.Mroz ToValidCPPIdentifierChars handles propertly '?' char. #codereview Dan.Oconnor Change 2719361 on 2015/10/07 by Maciej.Mroz Generated native code for AnimBPGC - some preliminary changes. Refactor: UAnimBlueprintGeneratedClass is not accessed directly in runtime. It is accessed via UAnimClassInterface interface. Properties USkeletalMeshComponent::AnimBlueprintGeneratedClass and UInterpTrackFloatAnimBPParam::AnimBlueprintClass were changed into "TSubclassOf<UAnimInstance> AnimClass" The UDynamicClass also can deliver the IAnimClassInterface interface. See UAnimClassData, IAnimClassInterface::GetFromClass and UDynamicClass::AnimClassImplementation. #codereview Lina.Halper, Thomas.Sarkanen Change 2719383 on 2015/10/07 by Maciej.Mroz Debug-only code removed Change 2720528 on 2015/10/07 by Dan.Oconnor Fix for determinsitc cooking of async tasks and load asset nodes #codereview Mike.Beach, Maciej.Mroz Change 2721273 on 2015/10/08 by Maciej.Mroz Blueprint Compiler Cpp Backend - Anim Blueprints can be converted - Various fixes/improvements Change 2721310 on 2015/10/08 by Maciej.Mroz refactor (cl#2719361) - no "auto" keyword Change 2721727 on 2015/10/08 by Mike.Beach (WIP) Setup the cook commandlet so it handles converted assets, replacing them with generated classes. - Refactored the conversion manifest (using a map over an array) - Centralized destination paths into a helper struct (for the manifest) - Generating an Editor module that automatically hooks into the cook process when enabled - Loading and applying native replacments for the cook Change 2723276 on 2015/10/09 by Michael.Schoell Blueprints duplicated for PIE will no longer register as dependencies to other Blueprint. #jira UE-16695 - Editor freezes then crashes while attempting to save during PIE #jira UE-21614 - [CrashReport] Crash while saving during PIE - FKismetEditorUtilities::CompileBlueprint() kismet2.cpp:736 Change 2724345 on 2015/10/11 by Ben.Cosh Blueprint profiler at first pass, this includes the ability to instrument specific blueprints with realtime editor stat display. #UEBP-21 - Profiling data capture and storage #UEBP-13 - Performance capture landing page #Branch UE4 #Proj BlueprintProfiler, BlueprintGraph, EditorStyle, Kismet, UnrealEd, CoreUObject, Engine Change 2724613 on 2015/10/12 by Ben.Cosh Incremental update for blueprint profiler to fix the way some of the reported stats cascade through events and branches and additionally some missed bits of code are refactored/removed. #Branch UE4 #Proj BlueprintProfiler #info Whilst looking into this I spotted the reason why the stats seem so erratic, There appears to be an issue with FText's use of EXPERIMENTAL_TEXT_FAST_DECIMAL_FORMAT which I have reported, but ideally disable this locally until a fix is integrated. Change 2724723 on 2015/10/12 by Maciej.Mroz Constructor of a dynamic class creates CDO. #codereview Robert.Manuszewski Change 2725108 on 2015/10/12 by Mike.Beach [UE-21891] Minor fix to the array shuffle() function; now processes the last entry like all the others. Change 2726358 on 2015/10/13 by Maciej.Mroz UDataTable is properly saved even if its RowStruct is null. https://udn.unrealengine.com/questions/264064/crash-using-hotreload-in-custom-datatable-cdo-clas.html Change 2727395 on 2015/10/13 by Mike.Beach (WIP) Second pass on the Blueprint conversion pipeline; setting it up for more optimal (speedier) performance. * Using stubs for replacements (rather than loading dynamic replacement). * Giving the cook commandlet more control (so a conversion could be ran directly). * Now logging replacements by old object path (to account for UPackage replacement queries). * Fix for [UE-21947], unshelved from CL 2724944 (by Maciej.Mroz). #codereview Maciej.Mroz Change 2727484 on 2015/10/13 by Mike.Beach [UE-22008] Fixing up comment/tooltip typo for UActorComponent::bAutoActivate. Change 2727527 on 2015/10/13 by Mike.Beach Downgrading an inactionable EdGraph warning, while adding more info so we could possibly determine what's happening. Change 2727702 on 2015/10/13 by Dan.Oconnor Fix for crash in UDelegateProperty::GetCPPType when called on a function with no OwnerClass (events) Change 2727968 on 2015/10/14 by Maciej.Mroz Since ConstructorHelpers::FClassFinder is usually static, the loaded class should be in root set, to prevent the pointer stored in ConstructorHelpers::FClassFinder from being obsolete. FindOrLoadClass behaves now like FindOrLoadObject. #codereview Robert.Manuszewski, Nick.Whiting Change 2728139 on 2015/10/14 by Phillip.Kavan
2015-11-25 18:47:20 -05:00
FixupSelfMemberContext();
}
}
Copying //UE4/Dev-Blueprints to //UE4/Dev-Main (Source: //UE4/Dev-Blueprints @ 3152873) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3131279 on 2016/09/19 by Mike.Beach Fixing FText::Format warning for the Sub-Level Blueprints menu - Was using {LevelName} tag when there was no value for {LevelName} (defaulted to the first argument). #jira UE-36097 Change 3131318 on 2016/09/19 by Phillip.Kavan [UE-35690] Minor revisions to Blueprint SCS execution to improve efficiency and address an out-of-order registration issue. change summary: - modified AActor::PostSpawnInitialize() to defer native component registration if there is no native scene root component set and if the actor is a BP type (i.e. will invoke SCS). this means that native actor classes with only non-scene components will now defer registration/post-registration until after SCS execution has established a valid scene root. - modified AActor::ExecuteConstruction() to gather the set of native scene components that SCS nodes can attach to before invoking the SCS. this was previously being done redundantly within the SCS itself at each level of the BP class inheritance hierarchy. - modified AActor::ExecuteConstruction() to do a final registration pass over all components after the all SCS levels have been executed. this was also previously being done within the SCS at each level. this avoids some extra redundancy. - modified USCS_Node::ExecuteNodeOnActor() to call RegisterAllComponents() on the given actor instance after establishing a valid scene root component if it was previously deferred at spawn time. - modified USCS_Node::ExecuteNodeOnActor() to now register components after they're created. since SCS execution goes from parent to child, parent scene components will always be registered before their children. non-native, non-scene component registration will also be deferred until a scene root component has been established. - added AActor::HasDeferredComponentRegistration() - modified AActor::RegisterAllComponents() to reset the actor's deferred component registration flag when called - modified AActor::AddComponent() to check the 'bAutoRegister' flag before calling RegisterComponent() (for consistency) - moved the RegisterInstancedComponent() utility method into USimpleConstructionScript and modified it to ensure that parent attachments are registered before their children. - modified USimpleConstructionScript::ExecuteScriptOnActor() to include an additional input parameter for passing in the set of native scene components that can be attached to. - modified USimpleConstructionScript::ExecuteScriptOnActor() to remove redundant/unnecessary work as noted above. #jira UE-35690 Change 3131842 on 2016/09/20 by Maciej.Mroz #jira UE-34984 Broken (weak) object params on Blueprint function (cannot add plain reference) Change 3131847 on 2016/09/20 by Maciej.Mroz SPropertyEditorAsset doesn't display UClass with "_C" prefix anymore. Change 3131923 on 2016/09/20 by Maciej.Mroz #jira UE-33812 Crash while closing Create Blank New Blueprint window after attempting to name blueprint the same name as another blueprint Change 3132348 on 2016/09/20 by Phillip.Kavan Fix CIS build issue (SA). Change 3132383 on 2016/09/20 by Maciej.Mroz #jira UE-35830 Float Curve that is set as a local variable in an actor's function is garbage collected when in Standalone, causing a crash Array UStruct::ScriptObjectReferences is filled while compilation. GC doesn't serialize script bytecode in editor anymore. Change 3133072 on 2016/09/20 by Maciej.Mroz #jira UE-34388 Crash upon deleting Blueprints folder Change 3133216 on 2016/09/20 by Dan.Oconnor + BlueprintSetLibrary (add, remove, find, etc) + HasGetTypeHash compile time function for detecting types that have GetTypeHish (modeled after HasOperatorEquals) = SPinTypeSelector can now disable container types based on current primary type, required transition to SComboButtton/SListView from SComboBox = Hide blueprint set library via BaseEditor.ini #jira UE-2114 Change 3133227 on 2016/09/20 by Dan.Oconnor Test assets for TSet Change 3133804 on 2016/09/21 by Maciej.Mroz #jira UE-34069 ObjectLibrary stores UBlueprint instead of BPGC In UObjectLibrary, when bHasBlueprintClasses is true, BP references are automatically replaced by BPGC references. Change 3133817 on 2016/09/21 by Maciej.Mroz Fixed static Static Analysis warning Change 3134377 on 2016/09/21 by Dan.Oconnor ShowWorldContextObject is now inherited #jira UE-35674 Change 3134955 on 2016/09/21 by Mike.Beach Making it so AdvancedDisplay metadata is taken into consideration and used in MakeStruct nodes. Change 3134965 on 2016/09/21 by Dan.Oconnor Fix for crash in FCDODiffControl when CDOs have different numbers of properties. First branch in the while loop would incorrectly advance Iter past the end of the array. Comments courtesy of Jon.Nabozny #jira UE-36263 Change 3135523 on 2016/09/22 by Dan.Oconnor PR #2755: Master (Contributed by jeremyyeung) Notable change: searching for Vector in BP editor context menu now gives different default result, prior result was mediocre, though (vector - vector) #jira UE-35450 Change 3136508 on 2016/09/22 by Mike.Beach Removing a bIsVisible guard for level Blueprint menu actions - this was causing level BP options to disappear when you hid sub-levels. The guard doesn't seem to matter, as those actions will be removed with the world (when it is updated, or unloaded). #jira UE-34019 Change 3137587 on 2016/09/23 by Maciej.Mroz #jira ODIN-1017 [Nativization] Crash while loading Hub_env level Merged cl#3137578 from Odin branch Change 3137666 on 2016/09/23 by Ben.Cosh This adds the ability to map composite graph instances in the same way we map macro instances for blueprint debug data and improves the quality of the debug data providing correct information for nested macro/composite instances at any script location in instrumented blueprint compilations. #Jira UE-33396 - Nested macro nodes don't map correctly if you place multiple instances in the same graph #Proj KismetCompiler, BlueprintGraph, UnrealEd - This is the first part of a two part change, the subsequent change will make use of the debug output to resolve complex trees of tunnel instances in the blueprint profiler. Change 3137800 on 2016/09/23 by Phillip.Kavan [UE-34896] Properties are now generated for client-only Blueprint components in an uncooked server-only context. change summary: - bumped BlueprintObjectsVersion - added a new 'ComponentClass' property to USCS_Node - added a new 'ComponentClass' field to the FComponentOverrideRecord struct (UInheritableComponentHandler) - added a USCS_Node::Serialize() override to fix up 'ComponentClass' on load (so that it's set prior to compile-on-load) - modified USimpleConstructionScript::CreateNodeImpl() to set the ComponentClass property in a new SCS node - modified USimpleConstructionScript::ValidateNodeTemplates() to consider the node to be valid if ComponentClass is set and is known to be filtered (i.e. the node will not be removed in this case) - modified USimpleConstructionScript::ValidateNodeTemplates() to emit a warning message in an uncooked client-only or server-only context if the ComponentClass could not be set in an existing package (i.e. if a resave is needed) - modified UInheritableComponentHandler::PostLoad() to fix up 'ComponentClass' on load - modified UInheritableComponentHandler::CreateOverridenComponentTemplate() to set the ComponentClass field in a new override record - modified UInheritableComponentHandler::IsRecordValid() to consider the record to be valid if ComponentClass is set (when ComponentTemplate is NULL) - modified UInheritableComponentHandler::IsRecordNecessary() to consider the record to be necessary if ComponentClass is set and is known to be filtered - modified FKismetCompilerContext::CreateClassVariablesFromBlueprint() to use 'ComponentClass' rather than 'ComponentTemplate' to infer the property subtype #jira UE-34896 Change 3137851 on 2016/09/23 by Phillip.Kavan [UE-36079] Component overrides in a child blueprint will no longer trigger a warning message when the original component is removed from its parent. change summary: - modified UInheritableComponentHandler::IsRecordValid() to no longer consider a NULL OriginalTemplate to be invalid (so that the warning message is suppressed) - modified UInheritableComponentHandler::IsRecordNecessary() to consider a NULL OriginalTemplate to be unnecessary (so that the record is still removed in this case) #jira UE-36079 Change 3137948 on 2016/09/23 by Ben.Cosh CIS warning fix on mac for out of order initialisation. Change 3139351 on 2016/09/25 by Ben.Cosh Updates the blueprint profiler to make use of the recent changes to macro/composite tunnel mapping and enhanced debug data. #Jira UE-33396 - Nested macro nodes don't map correctly if you place multiple instances in the same graph #Proj BlueprintProfiler, Engine - This is the second part of a two part change enabling multiple instances of nested macro/composite graphs in the blueprint profiler. Change 3139376 on 2016/09/25 by Ben.Cosh CIS static analysis fix for CL 3137666 Change 3139377 on 2016/09/25 by Ben.Cosh Adding script code location checking for pure nodes that was missed in CL 3139351 #Jira UE-33396 - Nested macro nodes don't map correctly if you place multiple instances in the same graph #Proj BlueprintProfiler - Fixes a missed issue with pure nodes inside macros/tunnels Change 3139624 on 2016/09/26 by Maciej.Mroz Fixed const local variables in Nativized code Merged cl#3139622 from Odin branch. Change 3139641 on 2016/09/26 by Maciej.Mroz #jira UE-31099 Renaming an input mapping does not generate a warning when compile a blueprint using that input Since we cannot distinguish which nodes are isolated by users (and shouldn't be validated) and which nodes are isolated during expansion step (and should be validated), the isolated nodes are pruned both before and after expantion step (and validation). Change 3139961 on 2016/09/26 by Ben.Cosh CIS static analysis fix for CL 3137666 - missed one of the warnings in a previous attempt. Change 3140143 on 2016/09/26 by Dan.Oconnor Fix for component property clearing on load, submitted on behalf of Mike.Beach #jira UE-36395 Change 3140694 on 2016/09/26 by Dan.Oconnor Fix for GLEO when duplicating levels that have knots that reference delegates (specifically custom events) #jira UE-34954 Change 3140772 on 2016/09/26 by Dan.Oconnor Further hardening SGraphPin::GraphPinObj access #jira UE-36280 Change 3140812 on 2016/09/26 by Dan.Oconnor Corrected overzealous warning. Codepath is expected when functions are deleted but breakpoints aren't updated #jira UE-32736 Change 3140869 on 2016/09/26 by Dan.Oconnor Update check to handle nested DSOs #jira UE-34568 Change 3141125 on 2016/09/27 by Maciej.Mroz #jira UE-36326 Attempting to generate abstract class from blueprint crashes editor on compile While reinstancing the CLASS_Abstract is cleared (just like the CLASS_Deprecated flag) Change 3142715 on 2016/09/27 by Dan.Oconnor Fix for crash when pasting nodes that have connections to nodes that aren't in the clipboard from one graph into another #jira OR-29584 Change 3143469 on 2016/09/28 by Ryan.Rauschkolb BP Profiler: Fixed Assert when profiling parent/child Blueprint #jira UE-35487 Change 3145215 on 2016/09/29 by Maciej.Mroz #jira UE-36494 [CrashReport] UE4Editor_KismetCompiler!FKismetCompilerContext::CreatePinEventNodeForTimelineFunction() [kismetcompiler.cpp:2062] Change 3145580 on 2016/09/29 by Dan.Oconnor Collapse secondary image instead of hiding it, allowing x button to be closer to primary image when secondary type image isn't present #jira UE-36577 Change 3146470 on 2016/09/30 by Maciej.Mroz #jira UE-36655 Failed ensure when TIleline is pasted Restored cl#3085572 - it was lost while merging. Change 3147046 on 2016/09/30 by Maciej.Mroz #jira UE-34961 Assert when calling BP function with weak object parameter. BP doesn;t support weak obj ptr as parameters - Validation added. Function, created from colappsed nodes, cannot have a parameter of weakptr type. Change 3148022 on 2016/10/01 by Phillip.Kavan [UE-21109] Fix component instance data loss after renaming SCS component nodes at the Blueprint class level. change summary: - deprecated the public USCS_Node::VariableName member and replaced it with an internal-only member accessible via Get/Set method (i need to be in control of the set logic) - changed all occurrences of direct access to USCS_Node::VariableName to use a GetVariableName() call (since it's now internal) - simplified USCS_Node::GetVariableName() as what it used to do was legacy and thus is no longer necessary (it's been handled by USimpleConstructionScript::PostLoad for awhile now) - added USCS_Node::SetVariableName(); this now renames the component template (if valid) and all instances of it prior to changing the internal variable name. this ensures that archetype lookups will continue to function after a rename. - added USCS_Node::RenameComponentTemplate() to handle SCS node component template rename logic on a variable name change - switched the AActor::CheckComponentInstanceName() API to be publically-accessible; need to call this when renaming instanced components to match a new variable name in order to ensure that we rename any instance-only components out of the way first (this is the same logic that we run when constructing component instances on map load/RRCS, so it's consistent) - modified UInheritableComponentHandler::PostLoad() to fix up the component template within each record to match the original template object name. this ensures that ICH-specific archetype lookups will continue to function after a rename. it also ensures that any mismatched template names in existing assets will now be fixed up on load. - moved UActorComponent::ComponentTemplateSuffixName into the USimpleConstructionScript class (since the association is tied to templates created by that class specifically). note: this revises a change from a recent PR submission. - modified UpdateAttachedIsEditorOnly() to check the RF_ArchetypeObject flag rather than the ComponentTemplateSuffixName (part of the revision to the recent PR submission noted above) #jira UE-21109 Change 3148023 on 2016/10/01 by Phillip.Kavan [UE-35562] Fix inherited Blueprinted component template defaults data loss in child Blueprint classes after recompiling the Blueprinted component class. change summary: - added a local FArchetypeReinstanceHelper struct + GetArchetypeObjects()/FindUniqueArchetypeObjectName() utility method implementations to KismetReinstanceUtilities.cpp - modified FBlueprintCompileReinstancer::ReplaceInstancesOfClass_Inner() to ensure that the full inherited component template (archetype) ancestry is renamed along with the base template when we rename the base template object away from its original name in order to make way for the new (reinstanced) template. the names must match the base template along the entire inheritance hierarchy in order for forward/reverse inherited component archetype lookups to succeed. notes: - BP (non-native) component templates (e.g. SCS/AddComponent nodes) that belong to the class being reinstanced (i.e. whose templates are not inherited from a parent BP) always inherit directly from the component CDO, and thus do not require this code path (that is, archetype lookups are not dependent on matching the CDO by name). similarly, native components (defined in C++) are included as part of the CDO defaults data, and thus also do not require this code path. #jira UE-35562 Change 3148030 on 2016/10/01 by Phillip.Kavan UT fixes for CIS warnings related to SCS node API changes. Change 3148256 on 2016/10/02 by Ben.Cosh This change adds the ability to filter debug/wire trace instrumenation and tracks expansion nodes for future use. #Jira UE-34866 - No profiler timings listed for nodes executed after an interface message #Proj KismetCompiler, BlueprintGraph, UnrealEd Change 3148261 on 2016/10/02 by Ben.Cosh CIS fix, some code from another changelist leaked into CL 3148256 Change 3148480 on 2016/10/03 by Ben.Cosh This change attempts to address some profiler issues with class function context switching in the blueprint profiler. #Jira UE-35819 - Crash occurs when instrumenting an event from a member actor #Proj BlueprintProfiler, BlueprintGraph Change 3148545 on 2016/10/03 by Phillip.Kavan Skip unnecessary component validation work to fix invalid warnings when duplicating a BP class for reinstancing. Change 3149001 on 2016/10/03 by Ben.Cosh This fixes an issue found with the instrumented blueprint compilations in which a certain compilation path would not provide the extended composite tunnel node heararchy in debug data and removes an unneceassary check that was causing problems. #Jira UE-36704 - Crash on PIE while profiling TestBP_ProfilerEvents in QAGame #Proj KismetCompiler, BlueprintProfiler Change 3149031 on 2016/10/03 by Maciej.Mroz #jira UE-36687, UE-36691 Tunnel nodes without exec pin are not pruned before expansion. Change 3149150 on 2016/10/03 by Maciej.Mroz #jira UE-36685 UGameplayTagsK2Node_LiteralGameplayTag is pure. Change 3149290 on 2016/10/03 by Maciej.Mroz #jira UE-36750 GetBlueprintContext node is Pure. Change 3149595 on 2016/10/03 by Mike.Beach Fixing up some Orion content errors/warnings that should have been issues a while ago (error reporting was broken for a time, now fixed). #jira UE-36758, UE-36759 Change 3149667 on 2016/10/03 by Mike.Beach Fixing up some Ocean content errors as fallout from a change in Dev-Blueprints - the errors properly identified a node that was using a culled input that was uninitialized. #jira UE-36770 Change 3149777 on 2016/10/03 by Mike.Beach Fixing up an Orion content warning - disconnecting a cast path in Hero_Automation, now that the node is producing a warning (the cast is impossible, and therefore the path is superfluous). #jira UE-36759 Change 3149988 on 2016/10/04 by Maciej.Mroz #jira UE-36750, UE-36685 Fixed IsNodePure functions. Change 3150146 on 2016/10/04 by Maciej.Mroz #jira UE-36759 First pruning pass in done after ExpandTunnelsAndMacros is called. Isolated tunnels are pruned just like regular nodes. Change 3150743 on 2016/10/04 by Mike.Beach Mirroring CL 3150661 from Dev-VREditor Fix for crash on editor close after VR Foliage Editing. #jira UE-36754 Change 3151104 on 2016/10/04 by Maciej.Mroz Added comment. Change 3151979 on 2016/10/05 by Mike.Beach Adding the keyword "custom" to K2Node_CustomEvent, so that it is prioritized when searching the Blueprint menu. #jira UE-35512 Change 3152286 on 2016/10/05 by Maciej.Mroz Make sure, that an isolated node, that should be pure (but is not) won't be pruned. [CL 3152997 by Mike Beach in Main branch]
2016-10-05 23:32:35 -04:00
void UK2Node_CallFunction::ValidateNodeDuringCompilation(class FCompilerResultsLog& MessageLog) const
{
Copying //UE4/Dev-Blueprints to //UE4/Dev-Main (Source: //UE4/Dev-Blueprints @ 3152873) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3131279 on 2016/09/19 by Mike.Beach Fixing FText::Format warning for the Sub-Level Blueprints menu - Was using {LevelName} tag when there was no value for {LevelName} (defaulted to the first argument). #jira UE-36097 Change 3131318 on 2016/09/19 by Phillip.Kavan [UE-35690] Minor revisions to Blueprint SCS execution to improve efficiency and address an out-of-order registration issue. change summary: - modified AActor::PostSpawnInitialize() to defer native component registration if there is no native scene root component set and if the actor is a BP type (i.e. will invoke SCS). this means that native actor classes with only non-scene components will now defer registration/post-registration until after SCS execution has established a valid scene root. - modified AActor::ExecuteConstruction() to gather the set of native scene components that SCS nodes can attach to before invoking the SCS. this was previously being done redundantly within the SCS itself at each level of the BP class inheritance hierarchy. - modified AActor::ExecuteConstruction() to do a final registration pass over all components after the all SCS levels have been executed. this was also previously being done within the SCS at each level. this avoids some extra redundancy. - modified USCS_Node::ExecuteNodeOnActor() to call RegisterAllComponents() on the given actor instance after establishing a valid scene root component if it was previously deferred at spawn time. - modified USCS_Node::ExecuteNodeOnActor() to now register components after they're created. since SCS execution goes from parent to child, parent scene components will always be registered before their children. non-native, non-scene component registration will also be deferred until a scene root component has been established. - added AActor::HasDeferredComponentRegistration() - modified AActor::RegisterAllComponents() to reset the actor's deferred component registration flag when called - modified AActor::AddComponent() to check the 'bAutoRegister' flag before calling RegisterComponent() (for consistency) - moved the RegisterInstancedComponent() utility method into USimpleConstructionScript and modified it to ensure that parent attachments are registered before their children. - modified USimpleConstructionScript::ExecuteScriptOnActor() to include an additional input parameter for passing in the set of native scene components that can be attached to. - modified USimpleConstructionScript::ExecuteScriptOnActor() to remove redundant/unnecessary work as noted above. #jira UE-35690 Change 3131842 on 2016/09/20 by Maciej.Mroz #jira UE-34984 Broken (weak) object params on Blueprint function (cannot add plain reference) Change 3131847 on 2016/09/20 by Maciej.Mroz SPropertyEditorAsset doesn't display UClass with "_C" prefix anymore. Change 3131923 on 2016/09/20 by Maciej.Mroz #jira UE-33812 Crash while closing Create Blank New Blueprint window after attempting to name blueprint the same name as another blueprint Change 3132348 on 2016/09/20 by Phillip.Kavan Fix CIS build issue (SA). Change 3132383 on 2016/09/20 by Maciej.Mroz #jira UE-35830 Float Curve that is set as a local variable in an actor's function is garbage collected when in Standalone, causing a crash Array UStruct::ScriptObjectReferences is filled while compilation. GC doesn't serialize script bytecode in editor anymore. Change 3133072 on 2016/09/20 by Maciej.Mroz #jira UE-34388 Crash upon deleting Blueprints folder Change 3133216 on 2016/09/20 by Dan.Oconnor + BlueprintSetLibrary (add, remove, find, etc) + HasGetTypeHash compile time function for detecting types that have GetTypeHish (modeled after HasOperatorEquals) = SPinTypeSelector can now disable container types based on current primary type, required transition to SComboButtton/SListView from SComboBox = Hide blueprint set library via BaseEditor.ini #jira UE-2114 Change 3133227 on 2016/09/20 by Dan.Oconnor Test assets for TSet Change 3133804 on 2016/09/21 by Maciej.Mroz #jira UE-34069 ObjectLibrary stores UBlueprint instead of BPGC In UObjectLibrary, when bHasBlueprintClasses is true, BP references are automatically replaced by BPGC references. Change 3133817 on 2016/09/21 by Maciej.Mroz Fixed static Static Analysis warning Change 3134377 on 2016/09/21 by Dan.Oconnor ShowWorldContextObject is now inherited #jira UE-35674 Change 3134955 on 2016/09/21 by Mike.Beach Making it so AdvancedDisplay metadata is taken into consideration and used in MakeStruct nodes. Change 3134965 on 2016/09/21 by Dan.Oconnor Fix for crash in FCDODiffControl when CDOs have different numbers of properties. First branch in the while loop would incorrectly advance Iter past the end of the array. Comments courtesy of Jon.Nabozny #jira UE-36263 Change 3135523 on 2016/09/22 by Dan.Oconnor PR #2755: Master (Contributed by jeremyyeung) Notable change: searching for Vector in BP editor context menu now gives different default result, prior result was mediocre, though (vector - vector) #jira UE-35450 Change 3136508 on 2016/09/22 by Mike.Beach Removing a bIsVisible guard for level Blueprint menu actions - this was causing level BP options to disappear when you hid sub-levels. The guard doesn't seem to matter, as those actions will be removed with the world (when it is updated, or unloaded). #jira UE-34019 Change 3137587 on 2016/09/23 by Maciej.Mroz #jira ODIN-1017 [Nativization] Crash while loading Hub_env level Merged cl#3137578 from Odin branch Change 3137666 on 2016/09/23 by Ben.Cosh This adds the ability to map composite graph instances in the same way we map macro instances for blueprint debug data and improves the quality of the debug data providing correct information for nested macro/composite instances at any script location in instrumented blueprint compilations. #Jira UE-33396 - Nested macro nodes don't map correctly if you place multiple instances in the same graph #Proj KismetCompiler, BlueprintGraph, UnrealEd - This is the first part of a two part change, the subsequent change will make use of the debug output to resolve complex trees of tunnel instances in the blueprint profiler. Change 3137800 on 2016/09/23 by Phillip.Kavan [UE-34896] Properties are now generated for client-only Blueprint components in an uncooked server-only context. change summary: - bumped BlueprintObjectsVersion - added a new 'ComponentClass' property to USCS_Node - added a new 'ComponentClass' field to the FComponentOverrideRecord struct (UInheritableComponentHandler) - added a USCS_Node::Serialize() override to fix up 'ComponentClass' on load (so that it's set prior to compile-on-load) - modified USimpleConstructionScript::CreateNodeImpl() to set the ComponentClass property in a new SCS node - modified USimpleConstructionScript::ValidateNodeTemplates() to consider the node to be valid if ComponentClass is set and is known to be filtered (i.e. the node will not be removed in this case) - modified USimpleConstructionScript::ValidateNodeTemplates() to emit a warning message in an uncooked client-only or server-only context if the ComponentClass could not be set in an existing package (i.e. if a resave is needed) - modified UInheritableComponentHandler::PostLoad() to fix up 'ComponentClass' on load - modified UInheritableComponentHandler::CreateOverridenComponentTemplate() to set the ComponentClass field in a new override record - modified UInheritableComponentHandler::IsRecordValid() to consider the record to be valid if ComponentClass is set (when ComponentTemplate is NULL) - modified UInheritableComponentHandler::IsRecordNecessary() to consider the record to be necessary if ComponentClass is set and is known to be filtered - modified FKismetCompilerContext::CreateClassVariablesFromBlueprint() to use 'ComponentClass' rather than 'ComponentTemplate' to infer the property subtype #jira UE-34896 Change 3137851 on 2016/09/23 by Phillip.Kavan [UE-36079] Component overrides in a child blueprint will no longer trigger a warning message when the original component is removed from its parent. change summary: - modified UInheritableComponentHandler::IsRecordValid() to no longer consider a NULL OriginalTemplate to be invalid (so that the warning message is suppressed) - modified UInheritableComponentHandler::IsRecordNecessary() to consider a NULL OriginalTemplate to be unnecessary (so that the record is still removed in this case) #jira UE-36079 Change 3137948 on 2016/09/23 by Ben.Cosh CIS warning fix on mac for out of order initialisation. Change 3139351 on 2016/09/25 by Ben.Cosh Updates the blueprint profiler to make use of the recent changes to macro/composite tunnel mapping and enhanced debug data. #Jira UE-33396 - Nested macro nodes don't map correctly if you place multiple instances in the same graph #Proj BlueprintProfiler, Engine - This is the second part of a two part change enabling multiple instances of nested macro/composite graphs in the blueprint profiler. Change 3139376 on 2016/09/25 by Ben.Cosh CIS static analysis fix for CL 3137666 Change 3139377 on 2016/09/25 by Ben.Cosh Adding script code location checking for pure nodes that was missed in CL 3139351 #Jira UE-33396 - Nested macro nodes don't map correctly if you place multiple instances in the same graph #Proj BlueprintProfiler - Fixes a missed issue with pure nodes inside macros/tunnels Change 3139624 on 2016/09/26 by Maciej.Mroz Fixed const local variables in Nativized code Merged cl#3139622 from Odin branch. Change 3139641 on 2016/09/26 by Maciej.Mroz #jira UE-31099 Renaming an input mapping does not generate a warning when compile a blueprint using that input Since we cannot distinguish which nodes are isolated by users (and shouldn't be validated) and which nodes are isolated during expansion step (and should be validated), the isolated nodes are pruned both before and after expantion step (and validation). Change 3139961 on 2016/09/26 by Ben.Cosh CIS static analysis fix for CL 3137666 - missed one of the warnings in a previous attempt. Change 3140143 on 2016/09/26 by Dan.Oconnor Fix for component property clearing on load, submitted on behalf of Mike.Beach #jira UE-36395 Change 3140694 on 2016/09/26 by Dan.Oconnor Fix for GLEO when duplicating levels that have knots that reference delegates (specifically custom events) #jira UE-34954 Change 3140772 on 2016/09/26 by Dan.Oconnor Further hardening SGraphPin::GraphPinObj access #jira UE-36280 Change 3140812 on 2016/09/26 by Dan.Oconnor Corrected overzealous warning. Codepath is expected when functions are deleted but breakpoints aren't updated #jira UE-32736 Change 3140869 on 2016/09/26 by Dan.Oconnor Update check to handle nested DSOs #jira UE-34568 Change 3141125 on 2016/09/27 by Maciej.Mroz #jira UE-36326 Attempting to generate abstract class from blueprint crashes editor on compile While reinstancing the CLASS_Abstract is cleared (just like the CLASS_Deprecated flag) Change 3142715 on 2016/09/27 by Dan.Oconnor Fix for crash when pasting nodes that have connections to nodes that aren't in the clipboard from one graph into another #jira OR-29584 Change 3143469 on 2016/09/28 by Ryan.Rauschkolb BP Profiler: Fixed Assert when profiling parent/child Blueprint #jira UE-35487 Change 3145215 on 2016/09/29 by Maciej.Mroz #jira UE-36494 [CrashReport] UE4Editor_KismetCompiler!FKismetCompilerContext::CreatePinEventNodeForTimelineFunction() [kismetcompiler.cpp:2062] Change 3145580 on 2016/09/29 by Dan.Oconnor Collapse secondary image instead of hiding it, allowing x button to be closer to primary image when secondary type image isn't present #jira UE-36577 Change 3146470 on 2016/09/30 by Maciej.Mroz #jira UE-36655 Failed ensure when TIleline is pasted Restored cl#3085572 - it was lost while merging. Change 3147046 on 2016/09/30 by Maciej.Mroz #jira UE-34961 Assert when calling BP function with weak object parameter. BP doesn;t support weak obj ptr as parameters - Validation added. Function, created from colappsed nodes, cannot have a parameter of weakptr type. Change 3148022 on 2016/10/01 by Phillip.Kavan [UE-21109] Fix component instance data loss after renaming SCS component nodes at the Blueprint class level. change summary: - deprecated the public USCS_Node::VariableName member and replaced it with an internal-only member accessible via Get/Set method (i need to be in control of the set logic) - changed all occurrences of direct access to USCS_Node::VariableName to use a GetVariableName() call (since it's now internal) - simplified USCS_Node::GetVariableName() as what it used to do was legacy and thus is no longer necessary (it's been handled by USimpleConstructionScript::PostLoad for awhile now) - added USCS_Node::SetVariableName(); this now renames the component template (if valid) and all instances of it prior to changing the internal variable name. this ensures that archetype lookups will continue to function after a rename. - added USCS_Node::RenameComponentTemplate() to handle SCS node component template rename logic on a variable name change - switched the AActor::CheckComponentInstanceName() API to be publically-accessible; need to call this when renaming instanced components to match a new variable name in order to ensure that we rename any instance-only components out of the way first (this is the same logic that we run when constructing component instances on map load/RRCS, so it's consistent) - modified UInheritableComponentHandler::PostLoad() to fix up the component template within each record to match the original template object name. this ensures that ICH-specific archetype lookups will continue to function after a rename. it also ensures that any mismatched template names in existing assets will now be fixed up on load. - moved UActorComponent::ComponentTemplateSuffixName into the USimpleConstructionScript class (since the association is tied to templates created by that class specifically). note: this revises a change from a recent PR submission. - modified UpdateAttachedIsEditorOnly() to check the RF_ArchetypeObject flag rather than the ComponentTemplateSuffixName (part of the revision to the recent PR submission noted above) #jira UE-21109 Change 3148023 on 2016/10/01 by Phillip.Kavan [UE-35562] Fix inherited Blueprinted component template defaults data loss in child Blueprint classes after recompiling the Blueprinted component class. change summary: - added a local FArchetypeReinstanceHelper struct + GetArchetypeObjects()/FindUniqueArchetypeObjectName() utility method implementations to KismetReinstanceUtilities.cpp - modified FBlueprintCompileReinstancer::ReplaceInstancesOfClass_Inner() to ensure that the full inherited component template (archetype) ancestry is renamed along with the base template when we rename the base template object away from its original name in order to make way for the new (reinstanced) template. the names must match the base template along the entire inheritance hierarchy in order for forward/reverse inherited component archetype lookups to succeed. notes: - BP (non-native) component templates (e.g. SCS/AddComponent nodes) that belong to the class being reinstanced (i.e. whose templates are not inherited from a parent BP) always inherit directly from the component CDO, and thus do not require this code path (that is, archetype lookups are not dependent on matching the CDO by name). similarly, native components (defined in C++) are included as part of the CDO defaults data, and thus also do not require this code path. #jira UE-35562 Change 3148030 on 2016/10/01 by Phillip.Kavan UT fixes for CIS warnings related to SCS node API changes. Change 3148256 on 2016/10/02 by Ben.Cosh This change adds the ability to filter debug/wire trace instrumenation and tracks expansion nodes for future use. #Jira UE-34866 - No profiler timings listed for nodes executed after an interface message #Proj KismetCompiler, BlueprintGraph, UnrealEd Change 3148261 on 2016/10/02 by Ben.Cosh CIS fix, some code from another changelist leaked into CL 3148256 Change 3148480 on 2016/10/03 by Ben.Cosh This change attempts to address some profiler issues with class function context switching in the blueprint profiler. #Jira UE-35819 - Crash occurs when instrumenting an event from a member actor #Proj BlueprintProfiler, BlueprintGraph Change 3148545 on 2016/10/03 by Phillip.Kavan Skip unnecessary component validation work to fix invalid warnings when duplicating a BP class for reinstancing. Change 3149001 on 2016/10/03 by Ben.Cosh This fixes an issue found with the instrumented blueprint compilations in which a certain compilation path would not provide the extended composite tunnel node heararchy in debug data and removes an unneceassary check that was causing problems. #Jira UE-36704 - Crash on PIE while profiling TestBP_ProfilerEvents in QAGame #Proj KismetCompiler, BlueprintProfiler Change 3149031 on 2016/10/03 by Maciej.Mroz #jira UE-36687, UE-36691 Tunnel nodes without exec pin are not pruned before expansion. Change 3149150 on 2016/10/03 by Maciej.Mroz #jira UE-36685 UGameplayTagsK2Node_LiteralGameplayTag is pure. Change 3149290 on 2016/10/03 by Maciej.Mroz #jira UE-36750 GetBlueprintContext node is Pure. Change 3149595 on 2016/10/03 by Mike.Beach Fixing up some Orion content errors/warnings that should have been issues a while ago (error reporting was broken for a time, now fixed). #jira UE-36758, UE-36759 Change 3149667 on 2016/10/03 by Mike.Beach Fixing up some Ocean content errors as fallout from a change in Dev-Blueprints - the errors properly identified a node that was using a culled input that was uninitialized. #jira UE-36770 Change 3149777 on 2016/10/03 by Mike.Beach Fixing up an Orion content warning - disconnecting a cast path in Hero_Automation, now that the node is producing a warning (the cast is impossible, and therefore the path is superfluous). #jira UE-36759 Change 3149988 on 2016/10/04 by Maciej.Mroz #jira UE-36750, UE-36685 Fixed IsNodePure functions. Change 3150146 on 2016/10/04 by Maciej.Mroz #jira UE-36759 First pruning pass in done after ExpandTunnelsAndMacros is called. Isolated tunnels are pruned just like regular nodes. Change 3150743 on 2016/10/04 by Mike.Beach Mirroring CL 3150661 from Dev-VREditor Fix for crash on editor close after VR Foliage Editing. #jira UE-36754 Change 3151104 on 2016/10/04 by Maciej.Mroz Added comment. Change 3151979 on 2016/10/05 by Mike.Beach Adding the keyword "custom" to K2Node_CustomEvent, so that it is prioritized when searching the Blueprint menu. #jira UE-35512 Change 3152286 on 2016/10/05 by Maciej.Mroz Make sure, that an isolated node, that should be pure (but is not) won't be pruned. [CL 3152997 by Mike Beach in Main branch]
2016-10-05 23:32:35 -04:00
Super::ValidateNodeDuringCompilation(MessageLog);
const UBlueprint* Blueprint = GetBlueprint();
UFunction *Function = GetTargetFunction();
if (Function == NULL)
{
FString OwnerName;
if (Blueprint != nullptr)
{
OwnerName = Blueprint->GetName();
if (UClass* FuncOwnerClass = FunctionReference.GetMemberParentClass(Blueprint->GeneratedClass))
{
OwnerName = FuncOwnerClass->GetName();
}
}
FString const FunctName = FunctionReference.GetMemberName().ToString();
FText const WarningFormat = LOCTEXT("FunctionNotFound", "Could not find a function named \"%s\" in '%s'.\nMake sure '%s' has been compiled for @@");
MessageLog.Error(*FString::Printf(*WarningFormat.ToString(), *FunctName, *OwnerName, *OwnerName), this);
}
else if (Function->HasMetaData(FBlueprintMetadata::MD_ExpandEnumAsExecs) && bWantsEnumToExecExpansion == false)
{
const FString& EnumParamName = Function->GetMetaData(FBlueprintMetadata::MD_ExpandEnumAsExecs);
MessageLog.Warning(*FString::Printf(*LOCTEXT("EnumToExecExpansionFailed", "Unable to find enum parameter with name '%s' to expand for @@").ToString(), *EnumParamName), this);
}
if (Function)
{
// enforce UnsafeDuringActorConstruction keyword
if (Function->HasMetaData(FBlueprintMetadata::MD_UnsafeForConstructionScripts))
{
// emit warning if we are in a construction script
UEdGraph const* const Graph = GetGraph();
UEdGraphSchema_K2 const* const Schema = Cast<const UEdGraphSchema_K2>(GetSchema());
bool bNodeIsInConstructionScript = Schema && Schema->IsConstructionScript(Graph);
if (bNodeIsInConstructionScript == false)
{
// IsConstructionScript() can return false if graph was cloned from the construction script
// in that case, check the function entry
TArray<const UK2Node_FunctionEntry*> EntryPoints;
Graph->GetNodesOfClass(EntryPoints);
if (EntryPoints.Num() == 1)
{
UK2Node_FunctionEntry const* const Node = EntryPoints[0];
if (Node)
{
UFunction* const SignatureFunction = FindField<UFunction>(Node->SignatureClass, Node->SignatureName);
bNodeIsInConstructionScript = SignatureFunction && (SignatureFunction->GetFName() == Schema->FN_UserConstructionScript);
}
}
}
if ( bNodeIsInConstructionScript )
{
MessageLog.Warning(*LOCTEXT("FunctionUnsafeDuringConstruction", "Function '@@' is unsafe to call in a construction script.").ToString(), this);
}
}
// enforce WorldContext restrictions
const bool bInsideBpFuncLibrary = Blueprint && (BPTYPE_FunctionLibrary == Blueprint->BlueprintType);
if (!bInsideBpFuncLibrary &&
Function->HasMetaData(FBlueprintMetadata::MD_WorldContext) &&
!Function->HasMetaData(FBlueprintMetadata::MD_CallableWithoutWorldContext))
{
check(Blueprint);
UClass* ParentClass = Blueprint->ParentClass;
check(ParentClass);
Copying //UE4/Dev-Blueprints to //UE4/Dev-Main (Source: //UE4/Dev-Blueprints @ 3152873) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3131279 on 2016/09/19 by Mike.Beach Fixing FText::Format warning for the Sub-Level Blueprints menu - Was using {LevelName} tag when there was no value for {LevelName} (defaulted to the first argument). #jira UE-36097 Change 3131318 on 2016/09/19 by Phillip.Kavan [UE-35690] Minor revisions to Blueprint SCS execution to improve efficiency and address an out-of-order registration issue. change summary: - modified AActor::PostSpawnInitialize() to defer native component registration if there is no native scene root component set and if the actor is a BP type (i.e. will invoke SCS). this means that native actor classes with only non-scene components will now defer registration/post-registration until after SCS execution has established a valid scene root. - modified AActor::ExecuteConstruction() to gather the set of native scene components that SCS nodes can attach to before invoking the SCS. this was previously being done redundantly within the SCS itself at each level of the BP class inheritance hierarchy. - modified AActor::ExecuteConstruction() to do a final registration pass over all components after the all SCS levels have been executed. this was also previously being done within the SCS at each level. this avoids some extra redundancy. - modified USCS_Node::ExecuteNodeOnActor() to call RegisterAllComponents() on the given actor instance after establishing a valid scene root component if it was previously deferred at spawn time. - modified USCS_Node::ExecuteNodeOnActor() to now register components after they're created. since SCS execution goes from parent to child, parent scene components will always be registered before their children. non-native, non-scene component registration will also be deferred until a scene root component has been established. - added AActor::HasDeferredComponentRegistration() - modified AActor::RegisterAllComponents() to reset the actor's deferred component registration flag when called - modified AActor::AddComponent() to check the 'bAutoRegister' flag before calling RegisterComponent() (for consistency) - moved the RegisterInstancedComponent() utility method into USimpleConstructionScript and modified it to ensure that parent attachments are registered before their children. - modified USimpleConstructionScript::ExecuteScriptOnActor() to include an additional input parameter for passing in the set of native scene components that can be attached to. - modified USimpleConstructionScript::ExecuteScriptOnActor() to remove redundant/unnecessary work as noted above. #jira UE-35690 Change 3131842 on 2016/09/20 by Maciej.Mroz #jira UE-34984 Broken (weak) object params on Blueprint function (cannot add plain reference) Change 3131847 on 2016/09/20 by Maciej.Mroz SPropertyEditorAsset doesn't display UClass with "_C" prefix anymore. Change 3131923 on 2016/09/20 by Maciej.Mroz #jira UE-33812 Crash while closing Create Blank New Blueprint window after attempting to name blueprint the same name as another blueprint Change 3132348 on 2016/09/20 by Phillip.Kavan Fix CIS build issue (SA). Change 3132383 on 2016/09/20 by Maciej.Mroz #jira UE-35830 Float Curve that is set as a local variable in an actor's function is garbage collected when in Standalone, causing a crash Array UStruct::ScriptObjectReferences is filled while compilation. GC doesn't serialize script bytecode in editor anymore. Change 3133072 on 2016/09/20 by Maciej.Mroz #jira UE-34388 Crash upon deleting Blueprints folder Change 3133216 on 2016/09/20 by Dan.Oconnor + BlueprintSetLibrary (add, remove, find, etc) + HasGetTypeHash compile time function for detecting types that have GetTypeHish (modeled after HasOperatorEquals) = SPinTypeSelector can now disable container types based on current primary type, required transition to SComboButtton/SListView from SComboBox = Hide blueprint set library via BaseEditor.ini #jira UE-2114 Change 3133227 on 2016/09/20 by Dan.Oconnor Test assets for TSet Change 3133804 on 2016/09/21 by Maciej.Mroz #jira UE-34069 ObjectLibrary stores UBlueprint instead of BPGC In UObjectLibrary, when bHasBlueprintClasses is true, BP references are automatically replaced by BPGC references. Change 3133817 on 2016/09/21 by Maciej.Mroz Fixed static Static Analysis warning Change 3134377 on 2016/09/21 by Dan.Oconnor ShowWorldContextObject is now inherited #jira UE-35674 Change 3134955 on 2016/09/21 by Mike.Beach Making it so AdvancedDisplay metadata is taken into consideration and used in MakeStruct nodes. Change 3134965 on 2016/09/21 by Dan.Oconnor Fix for crash in FCDODiffControl when CDOs have different numbers of properties. First branch in the while loop would incorrectly advance Iter past the end of the array. Comments courtesy of Jon.Nabozny #jira UE-36263 Change 3135523 on 2016/09/22 by Dan.Oconnor PR #2755: Master (Contributed by jeremyyeung) Notable change: searching for Vector in BP editor context menu now gives different default result, prior result was mediocre, though (vector - vector) #jira UE-35450 Change 3136508 on 2016/09/22 by Mike.Beach Removing a bIsVisible guard for level Blueprint menu actions - this was causing level BP options to disappear when you hid sub-levels. The guard doesn't seem to matter, as those actions will be removed with the world (when it is updated, or unloaded). #jira UE-34019 Change 3137587 on 2016/09/23 by Maciej.Mroz #jira ODIN-1017 [Nativization] Crash while loading Hub_env level Merged cl#3137578 from Odin branch Change 3137666 on 2016/09/23 by Ben.Cosh This adds the ability to map composite graph instances in the same way we map macro instances for blueprint debug data and improves the quality of the debug data providing correct information for nested macro/composite instances at any script location in instrumented blueprint compilations. #Jira UE-33396 - Nested macro nodes don't map correctly if you place multiple instances in the same graph #Proj KismetCompiler, BlueprintGraph, UnrealEd - This is the first part of a two part change, the subsequent change will make use of the debug output to resolve complex trees of tunnel instances in the blueprint profiler. Change 3137800 on 2016/09/23 by Phillip.Kavan [UE-34896] Properties are now generated for client-only Blueprint components in an uncooked server-only context. change summary: - bumped BlueprintObjectsVersion - added a new 'ComponentClass' property to USCS_Node - added a new 'ComponentClass' field to the FComponentOverrideRecord struct (UInheritableComponentHandler) - added a USCS_Node::Serialize() override to fix up 'ComponentClass' on load (so that it's set prior to compile-on-load) - modified USimpleConstructionScript::CreateNodeImpl() to set the ComponentClass property in a new SCS node - modified USimpleConstructionScript::ValidateNodeTemplates() to consider the node to be valid if ComponentClass is set and is known to be filtered (i.e. the node will not be removed in this case) - modified USimpleConstructionScript::ValidateNodeTemplates() to emit a warning message in an uncooked client-only or server-only context if the ComponentClass could not be set in an existing package (i.e. if a resave is needed) - modified UInheritableComponentHandler::PostLoad() to fix up 'ComponentClass' on load - modified UInheritableComponentHandler::CreateOverridenComponentTemplate() to set the ComponentClass field in a new override record - modified UInheritableComponentHandler::IsRecordValid() to consider the record to be valid if ComponentClass is set (when ComponentTemplate is NULL) - modified UInheritableComponentHandler::IsRecordNecessary() to consider the record to be necessary if ComponentClass is set and is known to be filtered - modified FKismetCompilerContext::CreateClassVariablesFromBlueprint() to use 'ComponentClass' rather than 'ComponentTemplate' to infer the property subtype #jira UE-34896 Change 3137851 on 2016/09/23 by Phillip.Kavan [UE-36079] Component overrides in a child blueprint will no longer trigger a warning message when the original component is removed from its parent. change summary: - modified UInheritableComponentHandler::IsRecordValid() to no longer consider a NULL OriginalTemplate to be invalid (so that the warning message is suppressed) - modified UInheritableComponentHandler::IsRecordNecessary() to consider a NULL OriginalTemplate to be unnecessary (so that the record is still removed in this case) #jira UE-36079 Change 3137948 on 2016/09/23 by Ben.Cosh CIS warning fix on mac for out of order initialisation. Change 3139351 on 2016/09/25 by Ben.Cosh Updates the blueprint profiler to make use of the recent changes to macro/composite tunnel mapping and enhanced debug data. #Jira UE-33396 - Nested macro nodes don't map correctly if you place multiple instances in the same graph #Proj BlueprintProfiler, Engine - This is the second part of a two part change enabling multiple instances of nested macro/composite graphs in the blueprint profiler. Change 3139376 on 2016/09/25 by Ben.Cosh CIS static analysis fix for CL 3137666 Change 3139377 on 2016/09/25 by Ben.Cosh Adding script code location checking for pure nodes that was missed in CL 3139351 #Jira UE-33396 - Nested macro nodes don't map correctly if you place multiple instances in the same graph #Proj BlueprintProfiler - Fixes a missed issue with pure nodes inside macros/tunnels Change 3139624 on 2016/09/26 by Maciej.Mroz Fixed const local variables in Nativized code Merged cl#3139622 from Odin branch. Change 3139641 on 2016/09/26 by Maciej.Mroz #jira UE-31099 Renaming an input mapping does not generate a warning when compile a blueprint using that input Since we cannot distinguish which nodes are isolated by users (and shouldn't be validated) and which nodes are isolated during expansion step (and should be validated), the isolated nodes are pruned both before and after expantion step (and validation). Change 3139961 on 2016/09/26 by Ben.Cosh CIS static analysis fix for CL 3137666 - missed one of the warnings in a previous attempt. Change 3140143 on 2016/09/26 by Dan.Oconnor Fix for component property clearing on load, submitted on behalf of Mike.Beach #jira UE-36395 Change 3140694 on 2016/09/26 by Dan.Oconnor Fix for GLEO when duplicating levels that have knots that reference delegates (specifically custom events) #jira UE-34954 Change 3140772 on 2016/09/26 by Dan.Oconnor Further hardening SGraphPin::GraphPinObj access #jira UE-36280 Change 3140812 on 2016/09/26 by Dan.Oconnor Corrected overzealous warning. Codepath is expected when functions are deleted but breakpoints aren't updated #jira UE-32736 Change 3140869 on 2016/09/26 by Dan.Oconnor Update check to handle nested DSOs #jira UE-34568 Change 3141125 on 2016/09/27 by Maciej.Mroz #jira UE-36326 Attempting to generate abstract class from blueprint crashes editor on compile While reinstancing the CLASS_Abstract is cleared (just like the CLASS_Deprecated flag) Change 3142715 on 2016/09/27 by Dan.Oconnor Fix for crash when pasting nodes that have connections to nodes that aren't in the clipboard from one graph into another #jira OR-29584 Change 3143469 on 2016/09/28 by Ryan.Rauschkolb BP Profiler: Fixed Assert when profiling parent/child Blueprint #jira UE-35487 Change 3145215 on 2016/09/29 by Maciej.Mroz #jira UE-36494 [CrashReport] UE4Editor_KismetCompiler!FKismetCompilerContext::CreatePinEventNodeForTimelineFunction() [kismetcompiler.cpp:2062] Change 3145580 on 2016/09/29 by Dan.Oconnor Collapse secondary image instead of hiding it, allowing x button to be closer to primary image when secondary type image isn't present #jira UE-36577 Change 3146470 on 2016/09/30 by Maciej.Mroz #jira UE-36655 Failed ensure when TIleline is pasted Restored cl#3085572 - it was lost while merging. Change 3147046 on 2016/09/30 by Maciej.Mroz #jira UE-34961 Assert when calling BP function with weak object parameter. BP doesn;t support weak obj ptr as parameters - Validation added. Function, created from colappsed nodes, cannot have a parameter of weakptr type. Change 3148022 on 2016/10/01 by Phillip.Kavan [UE-21109] Fix component instance data loss after renaming SCS component nodes at the Blueprint class level. change summary: - deprecated the public USCS_Node::VariableName member and replaced it with an internal-only member accessible via Get/Set method (i need to be in control of the set logic) - changed all occurrences of direct access to USCS_Node::VariableName to use a GetVariableName() call (since it's now internal) - simplified USCS_Node::GetVariableName() as what it used to do was legacy and thus is no longer necessary (it's been handled by USimpleConstructionScript::PostLoad for awhile now) - added USCS_Node::SetVariableName(); this now renames the component template (if valid) and all instances of it prior to changing the internal variable name. this ensures that archetype lookups will continue to function after a rename. - added USCS_Node::RenameComponentTemplate() to handle SCS node component template rename logic on a variable name change - switched the AActor::CheckComponentInstanceName() API to be publically-accessible; need to call this when renaming instanced components to match a new variable name in order to ensure that we rename any instance-only components out of the way first (this is the same logic that we run when constructing component instances on map load/RRCS, so it's consistent) - modified UInheritableComponentHandler::PostLoad() to fix up the component template within each record to match the original template object name. this ensures that ICH-specific archetype lookups will continue to function after a rename. it also ensures that any mismatched template names in existing assets will now be fixed up on load. - moved UActorComponent::ComponentTemplateSuffixName into the USimpleConstructionScript class (since the association is tied to templates created by that class specifically). note: this revises a change from a recent PR submission. - modified UpdateAttachedIsEditorOnly() to check the RF_ArchetypeObject flag rather than the ComponentTemplateSuffixName (part of the revision to the recent PR submission noted above) #jira UE-21109 Change 3148023 on 2016/10/01 by Phillip.Kavan [UE-35562] Fix inherited Blueprinted component template defaults data loss in child Blueprint classes after recompiling the Blueprinted component class. change summary: - added a local FArchetypeReinstanceHelper struct + GetArchetypeObjects()/FindUniqueArchetypeObjectName() utility method implementations to KismetReinstanceUtilities.cpp - modified FBlueprintCompileReinstancer::ReplaceInstancesOfClass_Inner() to ensure that the full inherited component template (archetype) ancestry is renamed along with the base template when we rename the base template object away from its original name in order to make way for the new (reinstanced) template. the names must match the base template along the entire inheritance hierarchy in order for forward/reverse inherited component archetype lookups to succeed. notes: - BP (non-native) component templates (e.g. SCS/AddComponent nodes) that belong to the class being reinstanced (i.e. whose templates are not inherited from a parent BP) always inherit directly from the component CDO, and thus do not require this code path (that is, archetype lookups are not dependent on matching the CDO by name). similarly, native components (defined in C++) are included as part of the CDO defaults data, and thus also do not require this code path. #jira UE-35562 Change 3148030 on 2016/10/01 by Phillip.Kavan UT fixes for CIS warnings related to SCS node API changes. Change 3148256 on 2016/10/02 by Ben.Cosh This change adds the ability to filter debug/wire trace instrumenation and tracks expansion nodes for future use. #Jira UE-34866 - No profiler timings listed for nodes executed after an interface message #Proj KismetCompiler, BlueprintGraph, UnrealEd Change 3148261 on 2016/10/02 by Ben.Cosh CIS fix, some code from another changelist leaked into CL 3148256 Change 3148480 on 2016/10/03 by Ben.Cosh This change attempts to address some profiler issues with class function context switching in the blueprint profiler. #Jira UE-35819 - Crash occurs when instrumenting an event from a member actor #Proj BlueprintProfiler, BlueprintGraph Change 3148545 on 2016/10/03 by Phillip.Kavan Skip unnecessary component validation work to fix invalid warnings when duplicating a BP class for reinstancing. Change 3149001 on 2016/10/03 by Ben.Cosh This fixes an issue found with the instrumented blueprint compilations in which a certain compilation path would not provide the extended composite tunnel node heararchy in debug data and removes an unneceassary check that was causing problems. #Jira UE-36704 - Crash on PIE while profiling TestBP_ProfilerEvents in QAGame #Proj KismetCompiler, BlueprintProfiler Change 3149031 on 2016/10/03 by Maciej.Mroz #jira UE-36687, UE-36691 Tunnel nodes without exec pin are not pruned before expansion. Change 3149150 on 2016/10/03 by Maciej.Mroz #jira UE-36685 UGameplayTagsK2Node_LiteralGameplayTag is pure. Change 3149290 on 2016/10/03 by Maciej.Mroz #jira UE-36750 GetBlueprintContext node is Pure. Change 3149595 on 2016/10/03 by Mike.Beach Fixing up some Orion content errors/warnings that should have been issues a while ago (error reporting was broken for a time, now fixed). #jira UE-36758, UE-36759 Change 3149667 on 2016/10/03 by Mike.Beach Fixing up some Ocean content errors as fallout from a change in Dev-Blueprints - the errors properly identified a node that was using a culled input that was uninitialized. #jira UE-36770 Change 3149777 on 2016/10/03 by Mike.Beach Fixing up an Orion content warning - disconnecting a cast path in Hero_Automation, now that the node is producing a warning (the cast is impossible, and therefore the path is superfluous). #jira UE-36759 Change 3149988 on 2016/10/04 by Maciej.Mroz #jira UE-36750, UE-36685 Fixed IsNodePure functions. Change 3150146 on 2016/10/04 by Maciej.Mroz #jira UE-36759 First pruning pass in done after ExpandTunnelsAndMacros is called. Isolated tunnels are pruned just like regular nodes. Change 3150743 on 2016/10/04 by Mike.Beach Mirroring CL 3150661 from Dev-VREditor Fix for crash on editor close after VR Foliage Editing. #jira UE-36754 Change 3151104 on 2016/10/04 by Maciej.Mroz Added comment. Change 3151979 on 2016/10/05 by Mike.Beach Adding the keyword "custom" to K2Node_CustomEvent, so that it is prioritized when searching the Blueprint menu. #jira UE-35512 Change 3152286 on 2016/10/05 by Maciej.Mroz Make sure, that an isolated node, that should be pure (but is not) won't be pruned. [CL 3152997 by Mike Beach in Main branch]
2016-10-05 23:32:35 -04:00
if (ParentClass && !ParentClass->GetDefaultObject()->ImplementsGetWorld() && !ParentClass->HasMetaDataHierarchical(FBlueprintMetadata::MD_ShowWorldContextPin))
{
MessageLog.Warning(*LOCTEXT("FunctionUnsafeInContext", "Function '@@' is unsafe to call from blueprints of class '@@'.").ToString(), this, ParentClass);
}
}
}
FDynamicOutputHelper::VerifyNode(this, MessageLog);
Copying //UE4/Dev-Blueprints to //UE4/Dev-Main (Source: //UE4/Dev-Blueprints @ 3152873) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3131279 on 2016/09/19 by Mike.Beach Fixing FText::Format warning for the Sub-Level Blueprints menu - Was using {LevelName} tag when there was no value for {LevelName} (defaulted to the first argument). #jira UE-36097 Change 3131318 on 2016/09/19 by Phillip.Kavan [UE-35690] Minor revisions to Blueprint SCS execution to improve efficiency and address an out-of-order registration issue. change summary: - modified AActor::PostSpawnInitialize() to defer native component registration if there is no native scene root component set and if the actor is a BP type (i.e. will invoke SCS). this means that native actor classes with only non-scene components will now defer registration/post-registration until after SCS execution has established a valid scene root. - modified AActor::ExecuteConstruction() to gather the set of native scene components that SCS nodes can attach to before invoking the SCS. this was previously being done redundantly within the SCS itself at each level of the BP class inheritance hierarchy. - modified AActor::ExecuteConstruction() to do a final registration pass over all components after the all SCS levels have been executed. this was also previously being done within the SCS at each level. this avoids some extra redundancy. - modified USCS_Node::ExecuteNodeOnActor() to call RegisterAllComponents() on the given actor instance after establishing a valid scene root component if it was previously deferred at spawn time. - modified USCS_Node::ExecuteNodeOnActor() to now register components after they're created. since SCS execution goes from parent to child, parent scene components will always be registered before their children. non-native, non-scene component registration will also be deferred until a scene root component has been established. - added AActor::HasDeferredComponentRegistration() - modified AActor::RegisterAllComponents() to reset the actor's deferred component registration flag when called - modified AActor::AddComponent() to check the 'bAutoRegister' flag before calling RegisterComponent() (for consistency) - moved the RegisterInstancedComponent() utility method into USimpleConstructionScript and modified it to ensure that parent attachments are registered before their children. - modified USimpleConstructionScript::ExecuteScriptOnActor() to include an additional input parameter for passing in the set of native scene components that can be attached to. - modified USimpleConstructionScript::ExecuteScriptOnActor() to remove redundant/unnecessary work as noted above. #jira UE-35690 Change 3131842 on 2016/09/20 by Maciej.Mroz #jira UE-34984 Broken (weak) object params on Blueprint function (cannot add plain reference) Change 3131847 on 2016/09/20 by Maciej.Mroz SPropertyEditorAsset doesn't display UClass with "_C" prefix anymore. Change 3131923 on 2016/09/20 by Maciej.Mroz #jira UE-33812 Crash while closing Create Blank New Blueprint window after attempting to name blueprint the same name as another blueprint Change 3132348 on 2016/09/20 by Phillip.Kavan Fix CIS build issue (SA). Change 3132383 on 2016/09/20 by Maciej.Mroz #jira UE-35830 Float Curve that is set as a local variable in an actor's function is garbage collected when in Standalone, causing a crash Array UStruct::ScriptObjectReferences is filled while compilation. GC doesn't serialize script bytecode in editor anymore. Change 3133072 on 2016/09/20 by Maciej.Mroz #jira UE-34388 Crash upon deleting Blueprints folder Change 3133216 on 2016/09/20 by Dan.Oconnor + BlueprintSetLibrary (add, remove, find, etc) + HasGetTypeHash compile time function for detecting types that have GetTypeHish (modeled after HasOperatorEquals) = SPinTypeSelector can now disable container types based on current primary type, required transition to SComboButtton/SListView from SComboBox = Hide blueprint set library via BaseEditor.ini #jira UE-2114 Change 3133227 on 2016/09/20 by Dan.Oconnor Test assets for TSet Change 3133804 on 2016/09/21 by Maciej.Mroz #jira UE-34069 ObjectLibrary stores UBlueprint instead of BPGC In UObjectLibrary, when bHasBlueprintClasses is true, BP references are automatically replaced by BPGC references. Change 3133817 on 2016/09/21 by Maciej.Mroz Fixed static Static Analysis warning Change 3134377 on 2016/09/21 by Dan.Oconnor ShowWorldContextObject is now inherited #jira UE-35674 Change 3134955 on 2016/09/21 by Mike.Beach Making it so AdvancedDisplay metadata is taken into consideration and used in MakeStruct nodes. Change 3134965 on 2016/09/21 by Dan.Oconnor Fix for crash in FCDODiffControl when CDOs have different numbers of properties. First branch in the while loop would incorrectly advance Iter past the end of the array. Comments courtesy of Jon.Nabozny #jira UE-36263 Change 3135523 on 2016/09/22 by Dan.Oconnor PR #2755: Master (Contributed by jeremyyeung) Notable change: searching for Vector in BP editor context menu now gives different default result, prior result was mediocre, though (vector - vector) #jira UE-35450 Change 3136508 on 2016/09/22 by Mike.Beach Removing a bIsVisible guard for level Blueprint menu actions - this was causing level BP options to disappear when you hid sub-levels. The guard doesn't seem to matter, as those actions will be removed with the world (when it is updated, or unloaded). #jira UE-34019 Change 3137587 on 2016/09/23 by Maciej.Mroz #jira ODIN-1017 [Nativization] Crash while loading Hub_env level Merged cl#3137578 from Odin branch Change 3137666 on 2016/09/23 by Ben.Cosh This adds the ability to map composite graph instances in the same way we map macro instances for blueprint debug data and improves the quality of the debug data providing correct information for nested macro/composite instances at any script location in instrumented blueprint compilations. #Jira UE-33396 - Nested macro nodes don't map correctly if you place multiple instances in the same graph #Proj KismetCompiler, BlueprintGraph, UnrealEd - This is the first part of a two part change, the subsequent change will make use of the debug output to resolve complex trees of tunnel instances in the blueprint profiler. Change 3137800 on 2016/09/23 by Phillip.Kavan [UE-34896] Properties are now generated for client-only Blueprint components in an uncooked server-only context. change summary: - bumped BlueprintObjectsVersion - added a new 'ComponentClass' property to USCS_Node - added a new 'ComponentClass' field to the FComponentOverrideRecord struct (UInheritableComponentHandler) - added a USCS_Node::Serialize() override to fix up 'ComponentClass' on load (so that it's set prior to compile-on-load) - modified USimpleConstructionScript::CreateNodeImpl() to set the ComponentClass property in a new SCS node - modified USimpleConstructionScript::ValidateNodeTemplates() to consider the node to be valid if ComponentClass is set and is known to be filtered (i.e. the node will not be removed in this case) - modified USimpleConstructionScript::ValidateNodeTemplates() to emit a warning message in an uncooked client-only or server-only context if the ComponentClass could not be set in an existing package (i.e. if a resave is needed) - modified UInheritableComponentHandler::PostLoad() to fix up 'ComponentClass' on load - modified UInheritableComponentHandler::CreateOverridenComponentTemplate() to set the ComponentClass field in a new override record - modified UInheritableComponentHandler::IsRecordValid() to consider the record to be valid if ComponentClass is set (when ComponentTemplate is NULL) - modified UInheritableComponentHandler::IsRecordNecessary() to consider the record to be necessary if ComponentClass is set and is known to be filtered - modified FKismetCompilerContext::CreateClassVariablesFromBlueprint() to use 'ComponentClass' rather than 'ComponentTemplate' to infer the property subtype #jira UE-34896 Change 3137851 on 2016/09/23 by Phillip.Kavan [UE-36079] Component overrides in a child blueprint will no longer trigger a warning message when the original component is removed from its parent. change summary: - modified UInheritableComponentHandler::IsRecordValid() to no longer consider a NULL OriginalTemplate to be invalid (so that the warning message is suppressed) - modified UInheritableComponentHandler::IsRecordNecessary() to consider a NULL OriginalTemplate to be unnecessary (so that the record is still removed in this case) #jira UE-36079 Change 3137948 on 2016/09/23 by Ben.Cosh CIS warning fix on mac for out of order initialisation. Change 3139351 on 2016/09/25 by Ben.Cosh Updates the blueprint profiler to make use of the recent changes to macro/composite tunnel mapping and enhanced debug data. #Jira UE-33396 - Nested macro nodes don't map correctly if you place multiple instances in the same graph #Proj BlueprintProfiler, Engine - This is the second part of a two part change enabling multiple instances of nested macro/composite graphs in the blueprint profiler. Change 3139376 on 2016/09/25 by Ben.Cosh CIS static analysis fix for CL 3137666 Change 3139377 on 2016/09/25 by Ben.Cosh Adding script code location checking for pure nodes that was missed in CL 3139351 #Jira UE-33396 - Nested macro nodes don't map correctly if you place multiple instances in the same graph #Proj BlueprintProfiler - Fixes a missed issue with pure nodes inside macros/tunnels Change 3139624 on 2016/09/26 by Maciej.Mroz Fixed const local variables in Nativized code Merged cl#3139622 from Odin branch. Change 3139641 on 2016/09/26 by Maciej.Mroz #jira UE-31099 Renaming an input mapping does not generate a warning when compile a blueprint using that input Since we cannot distinguish which nodes are isolated by users (and shouldn't be validated) and which nodes are isolated during expansion step (and should be validated), the isolated nodes are pruned both before and after expantion step (and validation). Change 3139961 on 2016/09/26 by Ben.Cosh CIS static analysis fix for CL 3137666 - missed one of the warnings in a previous attempt. Change 3140143 on 2016/09/26 by Dan.Oconnor Fix for component property clearing on load, submitted on behalf of Mike.Beach #jira UE-36395 Change 3140694 on 2016/09/26 by Dan.Oconnor Fix for GLEO when duplicating levels that have knots that reference delegates (specifically custom events) #jira UE-34954 Change 3140772 on 2016/09/26 by Dan.Oconnor Further hardening SGraphPin::GraphPinObj access #jira UE-36280 Change 3140812 on 2016/09/26 by Dan.Oconnor Corrected overzealous warning. Codepath is expected when functions are deleted but breakpoints aren't updated #jira UE-32736 Change 3140869 on 2016/09/26 by Dan.Oconnor Update check to handle nested DSOs #jira UE-34568 Change 3141125 on 2016/09/27 by Maciej.Mroz #jira UE-36326 Attempting to generate abstract class from blueprint crashes editor on compile While reinstancing the CLASS_Abstract is cleared (just like the CLASS_Deprecated flag) Change 3142715 on 2016/09/27 by Dan.Oconnor Fix for crash when pasting nodes that have connections to nodes that aren't in the clipboard from one graph into another #jira OR-29584 Change 3143469 on 2016/09/28 by Ryan.Rauschkolb BP Profiler: Fixed Assert when profiling parent/child Blueprint #jira UE-35487 Change 3145215 on 2016/09/29 by Maciej.Mroz #jira UE-36494 [CrashReport] UE4Editor_KismetCompiler!FKismetCompilerContext::CreatePinEventNodeForTimelineFunction() [kismetcompiler.cpp:2062] Change 3145580 on 2016/09/29 by Dan.Oconnor Collapse secondary image instead of hiding it, allowing x button to be closer to primary image when secondary type image isn't present #jira UE-36577 Change 3146470 on 2016/09/30 by Maciej.Mroz #jira UE-36655 Failed ensure when TIleline is pasted Restored cl#3085572 - it was lost while merging. Change 3147046 on 2016/09/30 by Maciej.Mroz #jira UE-34961 Assert when calling BP function with weak object parameter. BP doesn;t support weak obj ptr as parameters - Validation added. Function, created from colappsed nodes, cannot have a parameter of weakptr type. Change 3148022 on 2016/10/01 by Phillip.Kavan [UE-21109] Fix component instance data loss after renaming SCS component nodes at the Blueprint class level. change summary: - deprecated the public USCS_Node::VariableName member and replaced it with an internal-only member accessible via Get/Set method (i need to be in control of the set logic) - changed all occurrences of direct access to USCS_Node::VariableName to use a GetVariableName() call (since it's now internal) - simplified USCS_Node::GetVariableName() as what it used to do was legacy and thus is no longer necessary (it's been handled by USimpleConstructionScript::PostLoad for awhile now) - added USCS_Node::SetVariableName(); this now renames the component template (if valid) and all instances of it prior to changing the internal variable name. this ensures that archetype lookups will continue to function after a rename. - added USCS_Node::RenameComponentTemplate() to handle SCS node component template rename logic on a variable name change - switched the AActor::CheckComponentInstanceName() API to be publically-accessible; need to call this when renaming instanced components to match a new variable name in order to ensure that we rename any instance-only components out of the way first (this is the same logic that we run when constructing component instances on map load/RRCS, so it's consistent) - modified UInheritableComponentHandler::PostLoad() to fix up the component template within each record to match the original template object name. this ensures that ICH-specific archetype lookups will continue to function after a rename. it also ensures that any mismatched template names in existing assets will now be fixed up on load. - moved UActorComponent::ComponentTemplateSuffixName into the USimpleConstructionScript class (since the association is tied to templates created by that class specifically). note: this revises a change from a recent PR submission. - modified UpdateAttachedIsEditorOnly() to check the RF_ArchetypeObject flag rather than the ComponentTemplateSuffixName (part of the revision to the recent PR submission noted above) #jira UE-21109 Change 3148023 on 2016/10/01 by Phillip.Kavan [UE-35562] Fix inherited Blueprinted component template defaults data loss in child Blueprint classes after recompiling the Blueprinted component class. change summary: - added a local FArchetypeReinstanceHelper struct + GetArchetypeObjects()/FindUniqueArchetypeObjectName() utility method implementations to KismetReinstanceUtilities.cpp - modified FBlueprintCompileReinstancer::ReplaceInstancesOfClass_Inner() to ensure that the full inherited component template (archetype) ancestry is renamed along with the base template when we rename the base template object away from its original name in order to make way for the new (reinstanced) template. the names must match the base template along the entire inheritance hierarchy in order for forward/reverse inherited component archetype lookups to succeed. notes: - BP (non-native) component templates (e.g. SCS/AddComponent nodes) that belong to the class being reinstanced (i.e. whose templates are not inherited from a parent BP) always inherit directly from the component CDO, and thus do not require this code path (that is, archetype lookups are not dependent on matching the CDO by name). similarly, native components (defined in C++) are included as part of the CDO defaults data, and thus also do not require this code path. #jira UE-35562 Change 3148030 on 2016/10/01 by Phillip.Kavan UT fixes for CIS warnings related to SCS node API changes. Change 3148256 on 2016/10/02 by Ben.Cosh This change adds the ability to filter debug/wire trace instrumenation and tracks expansion nodes for future use. #Jira UE-34866 - No profiler timings listed for nodes executed after an interface message #Proj KismetCompiler, BlueprintGraph, UnrealEd Change 3148261 on 2016/10/02 by Ben.Cosh CIS fix, some code from another changelist leaked into CL 3148256 Change 3148480 on 2016/10/03 by Ben.Cosh This change attempts to address some profiler issues with class function context switching in the blueprint profiler. #Jira UE-35819 - Crash occurs when instrumenting an event from a member actor #Proj BlueprintProfiler, BlueprintGraph Change 3148545 on 2016/10/03 by Phillip.Kavan Skip unnecessary component validation work to fix invalid warnings when duplicating a BP class for reinstancing. Change 3149001 on 2016/10/03 by Ben.Cosh This fixes an issue found with the instrumented blueprint compilations in which a certain compilation path would not provide the extended composite tunnel node heararchy in debug data and removes an unneceassary check that was causing problems. #Jira UE-36704 - Crash on PIE while profiling TestBP_ProfilerEvents in QAGame #Proj KismetCompiler, BlueprintProfiler Change 3149031 on 2016/10/03 by Maciej.Mroz #jira UE-36687, UE-36691 Tunnel nodes without exec pin are not pruned before expansion. Change 3149150 on 2016/10/03 by Maciej.Mroz #jira UE-36685 UGameplayTagsK2Node_LiteralGameplayTag is pure. Change 3149290 on 2016/10/03 by Maciej.Mroz #jira UE-36750 GetBlueprintContext node is Pure. Change 3149595 on 2016/10/03 by Mike.Beach Fixing up some Orion content errors/warnings that should have been issues a while ago (error reporting was broken for a time, now fixed). #jira UE-36758, UE-36759 Change 3149667 on 2016/10/03 by Mike.Beach Fixing up some Ocean content errors as fallout from a change in Dev-Blueprints - the errors properly identified a node that was using a culled input that was uninitialized. #jira UE-36770 Change 3149777 on 2016/10/03 by Mike.Beach Fixing up an Orion content warning - disconnecting a cast path in Hero_Automation, now that the node is producing a warning (the cast is impossible, and therefore the path is superfluous). #jira UE-36759 Change 3149988 on 2016/10/04 by Maciej.Mroz #jira UE-36750, UE-36685 Fixed IsNodePure functions. Change 3150146 on 2016/10/04 by Maciej.Mroz #jira UE-36759 First pruning pass in done after ExpandTunnelsAndMacros is called. Isolated tunnels are pruned just like regular nodes. Change 3150743 on 2016/10/04 by Mike.Beach Mirroring CL 3150661 from Dev-VREditor Fix for crash on editor close after VR Foliage Editing. #jira UE-36754 Change 3151104 on 2016/10/04 by Maciej.Mroz Added comment. Change 3151979 on 2016/10/05 by Mike.Beach Adding the keyword "custom" to K2Node_CustomEvent, so that it is prioritized when searching the Blueprint menu. #jira UE-35512 Change 3152286 on 2016/10/05 by Maciej.Mroz Make sure, that an isolated node, that should be pure (but is not) won't be pruned. [CL 3152997 by Mike Beach in Main branch]
2016-10-05 23:32:35 -04:00
for (UEdGraphPin* Pin : Pins)
{
if (Pin && Pin->PinType.bIsWeakPointer && !Pin->PinType.IsContainer())
{
const FString ErrorString = FString::Printf(
*LOCTEXT("WeakPtrNotSupportedError", "Weak prointer is not supported as function parameter. Pin '%s' @@").ToString(),
*Pin->GetName());
MessageLog.Error(*ErrorString, this);
}
}
}
void UK2Node_CallFunction::Serialize(FArchive& Ar)
{
Super::Serialize(Ar);
if (Ar.IsLoading())
{
if (Ar.UE4Ver() < VER_UE4_SWITCH_CALL_NODE_TO_USE_MEMBER_REFERENCE)
{
UFunction* Function = FindField<UFunction>(CallFunctionClass_DEPRECATED, CallFunctionName_DEPRECATED);
const bool bProbablySelfCall = (CallFunctionClass_DEPRECATED == NULL) || ((Function != NULL) && (Function->GetOuterUClass()->ClassGeneratedBy == GetBlueprint()));
FunctionReference.SetDirect(CallFunctionName_DEPRECATED, FGuid(), CallFunctionClass_DEPRECATED, bProbablySelfCall);
}
if(Ar.UE4Ver() < VER_UE4_K2NODE_REFERENCEGUIDS)
{
FGuid FunctionGuid;
if (UBlueprint::GetGuidFromClassByFieldName<UFunction>(GetBlueprint()->GeneratedClass, FunctionReference.GetMemberName(), FunctionGuid))
{
const bool bSelf = FunctionReference.IsSelfContext();
FunctionReference.SetDirect(FunctionReference.GetMemberName(), FunctionGuid, (bSelf ? NULL : FunctionReference.GetMemberParentClass((UClass*)NULL)), bSelf);
}
}
[UE-12263] Add ability to mark BlueprintCallable functions as "DevelopmentOnly" - by default, these nodes will be compiled out of Blueprint class function graphs at cook/package time. change summary: - deprecated the 'UEdGraphNode::bIsNodeEnabled' flag & added fixup code for serialization (load) - added support for pruning "disabled" nodes at compile time w/o breaking existing flow in the source graph. - modified function call nodes to look for new "DevelopmentOnly" UFUNCTION metadata and disable when found. - added UEdGraphNode::IsNodeEnabled(), Enable() and Disable() APIs. also added a new 'bUserSetEnabledState' flag. - added the UEdGraphNode::IsDevelopmentMode() API; subclasses can override to provide additional functionality if necessary. - added a new 'UCookerSettings::bCompileBlueprintsInDevelopmentMode' flag to control whether or not Blueprints are compiled in development mode at cook time (accessible in Project Settings->Cooker); defaults to OFF. - (experimental) added a "Compile Options" section to the Blueprint graph node context menu to allow users to explicitly enable or disable nodes. - (experimental) added a BPGC setting to allow users to optionally override the cooker default setting for the development/release compile switch (UE-12270, WiP). - the experimental features above are gated by a new 'UBlueprintEditorSettings::bAllowExplicitImpureNodeDisabling flag' (accessible in Editor Settings->Blueprint Editor); defaults to OFF for now. [CL 2661302 by Phillip Kavan in Main branch]
2015-08-19 14:13:40 -04:00
if (!Ar.IsObjectReferenceCollector())
[UE-12263] Add ability to mark BlueprintCallable functions as "DevelopmentOnly" - by default, these nodes will be compiled out of Blueprint class function graphs at cook/package time. change summary: - deprecated the 'UEdGraphNode::bIsNodeEnabled' flag & added fixup code for serialization (load) - added support for pruning "disabled" nodes at compile time w/o breaking existing flow in the source graph. - modified function call nodes to look for new "DevelopmentOnly" UFUNCTION metadata and disable when found. - added UEdGraphNode::IsNodeEnabled(), Enable() and Disable() APIs. also added a new 'bUserSetEnabledState' flag. - added the UEdGraphNode::IsDevelopmentMode() API; subclasses can override to provide additional functionality if necessary. - added a new 'UCookerSettings::bCompileBlueprintsInDevelopmentMode' flag to control whether or not Blueprints are compiled in development mode at cook time (accessible in Project Settings->Cooker); defaults to OFF. - (experimental) added a "Compile Options" section to the Blueprint graph node context menu to allow users to explicitly enable or disable nodes. - (experimental) added a BPGC setting to allow users to optionally override the cooker default setting for the development/release compile switch (UE-12270, WiP). - the experimental features above are gated by a new 'UBlueprintEditorSettings::bAllowExplicitImpureNodeDisabling flag' (accessible in Editor Settings->Blueprint Editor); defaults to OFF for now. [CL 2661302 by Phillip Kavan in Main branch]
2015-08-19 14:13:40 -04:00
{
// Don't validate the enabled state if the user has explicitly set it. Also skip validation if we're just duplicating this node.
const bool bIsDuplicating = (Ar.GetPortFlags() & PPF_Duplicate) != 0;
if (!bIsDuplicating && !bUserSetEnabledState)
[UE-12263] Add ability to mark BlueprintCallable functions as "DevelopmentOnly" - by default, these nodes will be compiled out of Blueprint class function graphs at cook/package time. change summary: - deprecated the 'UEdGraphNode::bIsNodeEnabled' flag & added fixup code for serialization (load) - added support for pruning "disabled" nodes at compile time w/o breaking existing flow in the source graph. - modified function call nodes to look for new "DevelopmentOnly" UFUNCTION metadata and disable when found. - added UEdGraphNode::IsNodeEnabled(), Enable() and Disable() APIs. also added a new 'bUserSetEnabledState' flag. - added the UEdGraphNode::IsDevelopmentMode() API; subclasses can override to provide additional functionality if necessary. - added a new 'UCookerSettings::bCompileBlueprintsInDevelopmentMode' flag to control whether or not Blueprints are compiled in development mode at cook time (accessible in Project Settings->Cooker); defaults to OFF. - (experimental) added a "Compile Options" section to the Blueprint graph node context menu to allow users to explicitly enable or disable nodes. - (experimental) added a BPGC setting to allow users to optionally override the cooker default setting for the development/release compile switch (UE-12270, WiP). - the experimental features above are gated by a new 'UBlueprintEditorSettings::bAllowExplicitImpureNodeDisabling flag' (accessible in Editor Settings->Blueprint Editor); defaults to OFF for now. [CL 2661302 by Phillip Kavan in Main branch]
2015-08-19 14:13:40 -04:00
{
UClass* SelfScope = GetBlueprintClassFromNode();
if (!FunctionReference.IsSelfContext() || SelfScope != nullptr)
[UE-12263] Add ability to mark BlueprintCallable functions as "DevelopmentOnly" - by default, these nodes will be compiled out of Blueprint class function graphs at cook/package time. change summary: - deprecated the 'UEdGraphNode::bIsNodeEnabled' flag & added fixup code for serialization (load) - added support for pruning "disabled" nodes at compile time w/o breaking existing flow in the source graph. - modified function call nodes to look for new "DevelopmentOnly" UFUNCTION metadata and disable when found. - added UEdGraphNode::IsNodeEnabled(), Enable() and Disable() APIs. also added a new 'bUserSetEnabledState' flag. - added the UEdGraphNode::IsDevelopmentMode() API; subclasses can override to provide additional functionality if necessary. - added a new 'UCookerSettings::bCompileBlueprintsInDevelopmentMode' flag to control whether or not Blueprints are compiled in development mode at cook time (accessible in Project Settings->Cooker); defaults to OFF. - (experimental) added a "Compile Options" section to the Blueprint graph node context menu to allow users to explicitly enable or disable nodes. - (experimental) added a BPGC setting to allow users to optionally override the cooker default setting for the development/release compile switch (UE-12270, WiP). - the experimental features above are gated by a new 'UBlueprintEditorSettings::bAllowExplicitImpureNodeDisabling flag' (accessible in Editor Settings->Blueprint Editor); defaults to OFF for now. [CL 2661302 by Phillip Kavan in Main branch]
2015-08-19 14:13:40 -04:00
{
if (const UFunction* Function = FunctionReference.ResolveMember<UFunction>(SelfScope))
{
// Enable as development-only if specified in metadata. This way existing functions that have the metadata added to them will get their enabled state fixed up on load.
if (EnabledState == ENodeEnabledState::Enabled && Function->HasMetaData(FBlueprintMetadata::MD_DevelopmentOnly))
{
EnabledState = ENodeEnabledState::DevelopmentOnly;
}
// Ensure that if the metadata is removed, we also fix up the enabled state to avoid leaving it set as development-only in that case.
else if (EnabledState == ENodeEnabledState::DevelopmentOnly && !Function->HasMetaData(FBlueprintMetadata::MD_DevelopmentOnly))
{
EnabledState = ENodeEnabledState::Enabled;
}
}
[UE-12263] Add ability to mark BlueprintCallable functions as "DevelopmentOnly" - by default, these nodes will be compiled out of Blueprint class function graphs at cook/package time. change summary: - deprecated the 'UEdGraphNode::bIsNodeEnabled' flag & added fixup code for serialization (load) - added support for pruning "disabled" nodes at compile time w/o breaking existing flow in the source graph. - modified function call nodes to look for new "DevelopmentOnly" UFUNCTION metadata and disable when found. - added UEdGraphNode::IsNodeEnabled(), Enable() and Disable() APIs. also added a new 'bUserSetEnabledState' flag. - added the UEdGraphNode::IsDevelopmentMode() API; subclasses can override to provide additional functionality if necessary. - added a new 'UCookerSettings::bCompileBlueprintsInDevelopmentMode' flag to control whether or not Blueprints are compiled in development mode at cook time (accessible in Project Settings->Cooker); defaults to OFF. - (experimental) added a "Compile Options" section to the Blueprint graph node context menu to allow users to explicitly enable or disable nodes. - (experimental) added a BPGC setting to allow users to optionally override the cooker default setting for the development/release compile switch (UE-12270, WiP). - the experimental features above are gated by a new 'UBlueprintEditorSettings::bAllowExplicitImpureNodeDisabling flag' (accessible in Editor Settings->Blueprint Editor); defaults to OFF for now. [CL 2661302 by Phillip Kavan in Main branch]
2015-08-19 14:13:40 -04:00
}
}
}
}
}
void UK2Node_CallFunction::PostPlacedNewNode()
{
Super::PostPlacedNewNode();
// Try re-setting the function given our new parent scope, in case it turns an external to an internal, or vis versa
FunctionReference.RefreshGivenNewSelfScope<UFunction>(GetBlueprintClassFromNode());
[UE-12263] Add ability to mark BlueprintCallable functions as "DevelopmentOnly" - by default, these nodes will be compiled out of Blueprint class function graphs at cook/package time. change summary: - deprecated the 'UEdGraphNode::bIsNodeEnabled' flag & added fixup code for serialization (load) - added support for pruning "disabled" nodes at compile time w/o breaking existing flow in the source graph. - modified function call nodes to look for new "DevelopmentOnly" UFUNCTION metadata and disable when found. - added UEdGraphNode::IsNodeEnabled(), Enable() and Disable() APIs. also added a new 'bUserSetEnabledState' flag. - added the UEdGraphNode::IsDevelopmentMode() API; subclasses can override to provide additional functionality if necessary. - added a new 'UCookerSettings::bCompileBlueprintsInDevelopmentMode' flag to control whether or not Blueprints are compiled in development mode at cook time (accessible in Project Settings->Cooker); defaults to OFF. - (experimental) added a "Compile Options" section to the Blueprint graph node context menu to allow users to explicitly enable or disable nodes. - (experimental) added a BPGC setting to allow users to optionally override the cooker default setting for the development/release compile switch (UE-12270, WiP). - the experimental features above are gated by a new 'UBlueprintEditorSettings::bAllowExplicitImpureNodeDisabling flag' (accessible in Editor Settings->Blueprint Editor); defaults to OFF for now. [CL 2661302 by Phillip Kavan in Main branch]
2015-08-19 14:13:40 -04:00
// Re-enable for development only if specified in metadata.
if(EnabledState == ENodeEnabledState::Enabled && !bUserSetEnabledState)
{
const UFunction* Function = GetTargetFunction();
if (Function && Function->HasMetaData(FBlueprintMetadata::MD_DevelopmentOnly))
{
EnabledState = ENodeEnabledState::DevelopmentOnly;
}
}
}
FNodeHandlingFunctor* UK2Node_CallFunction::CreateNodeHandler(FKismetCompilerContext& CompilerContext) const
{
return new FKCHandler_CallFunction(CompilerContext);
}
void UK2Node_CallFunction::ExpandNode(class FKismetCompilerContext& CompilerContext, UEdGraph* SourceGraph)
{
Super::ExpandNode(CompilerContext, SourceGraph);
const UEdGraphSchema_K2* Schema = CompilerContext.GetSchema();
UFunction* Function = GetTargetFunction();
// connect DefaultToSelf and WorldContext inside static functions to proper 'self'
[UE-2345] BP - enforce const-correctness in native const class method overrides this change introduces enforcement of 'const-correctness' into implemented function graphs. summary: if you have a function declared in C++ like this: UFUNCTION(BlueprintImplementableEvent) int32 MyFunctionThatReturnsSomeValue() const; if you implement that (BPIE) function in a Blueprint that's parented to that native class, it will now be flagged as 'const'. this makes any properties of 'self' read-only within the context of that graph, which means the compiler will emit an error if you try to set a property or otherwise call a non-const, non-static function with 'self' as the target. if there happens to already be an implemented const function in a Blueprint that was in place prior to this change, the compiler will emit a warning instead of an error, in order to allow existing Blueprints that may currently be "violating" const within the context of a const BPIE function to still compile, while still alerting to issues that should probably be addressed. notes: 1) this also applies to BlueprintNativeEvent (BPNE) implementations, and also when implementing BPIE/BPNE interface methods that are also declared as const 2) a const BPIE/BPNE function with no return value and no output parameters will be implemented as a "normal" impure function, and not as an event as in the non-const case 3) a const BPIE/BPNE function with a return value and/or output parameters will currently be implemented as a pure function, regardless of whether or not BlueprintCallable is specified 4) this CL also retains some consolidation of static function validation code that i had previously done, mostly to allow static functions to more easily be whitelisted for const function graphs #codereview Nick.Whiting, Michael.Noland [CL 2368059 by Phillip Kavan in Main branch]
2014-11-21 17:47:17 -05:00
if (SourceGraph && Schema->IsStaticFunctionGraph(SourceGraph) && Function)
{
TArray<UK2Node_FunctionEntry*> EntryPoints;
SourceGraph->GetNodesOfClass(EntryPoints);
if (1 != EntryPoints.Num())
{
CompilerContext.MessageLog.Warning(*FString::Printf(*LOCTEXT("WrongEntryPointsNum", "%i entry points found while expanding node @@").ToString(), EntryPoints.Num()), this);
}
else if (auto BetterSelfPin = EntryPoints[0]->GetAutoWorldContextPin())
{
FString const DefaultToSelfMetaValue = Function->GetMetaData(FBlueprintMetadata::MD_DefaultToSelf);
FString const WorldContextMetaValue = Function->GetMetaData(FBlueprintMetadata::MD_WorldContext);
struct FStructConnectHelper
{
static void Connect(const FString& PinName, UK2Node* Node, UEdGraphPin* BetterSelf, const UEdGraphSchema_K2* InSchema, FCompilerResultsLog& MessageLog)
{
auto Pin = Node->FindPin(PinName);
if (!PinName.IsEmpty() && Pin && !Pin->LinkedTo.Num())
{
const bool bConnected = InSchema->TryCreateConnection(Pin, BetterSelf);
if (!bConnected)
{
MessageLog.Warning(*LOCTEXT("DefaultToSelfNotConnected", "DefaultToSelf pin @@ from node @@ cannot be connected to @@").ToString(), Pin, Node, BetterSelf);
}
}
}
};
FStructConnectHelper::Connect(DefaultToSelfMetaValue, this, BetterSelfPin, Schema, CompilerContext.MessageLog);
if (!Function->HasMetaData(FBlueprintMetadata::MD_CallableWithoutWorldContext))
{
FStructConnectHelper::Connect(WorldContextMetaValue, this, BetterSelfPin, Schema, CompilerContext.MessageLog);
}
}
}
// If we have an enum param that is expanded, we handle that first
if(bWantsEnumToExecExpansion)
{
if(Function)
{
// Get the metadata that identifies which param is the enum, and try and find it
const FString& EnumParamName = Function->GetMetaData(FBlueprintMetadata::MD_ExpandEnumAsExecs);
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3208226) #lockdown Nick.Penwarden #rb None ========================== MAJOR FEATURES + CHANGES ========================== Change 3173153 on 2016/10/25 by Graeme.Thornton Pak signing changes - Integrated into EDL loader - Changed to not encrypt each CRC in the sig file, rather just store a single encryped signature of the entire sig file. Removes need to decrypt thousands of signatures at startup. Change 3173531 on 2016/10/25 by Steven.Hutton Removing unused j query packages. Change 3174743 on 2016/10/26 by Gil.Gribb UE4 - fixed COTF with EDL Change 3177896 on 2016/10/28 by Steve.Robb TSharedPtr and TSharedRef aliasing constructors. Removal of static_asserts for TSharedPtr<UObject>. Change 3180343 on 2016/10/31 by Steve.Robb Reimplementation of changes from CL#s 3050329 and 3105715 that were lost in merges 3094597 and 3105741. Change 3181382 on 2016/11/01 by Steve.Robb Visual Studio debugger visualizers for delegates. Change 3182738 on 2016/11/02 by Graeme.Thornton Re-enable signed archive reader so non-pakpreacher based reads still get signature checked Change 3183420 on 2016/11/02 by Steve.Robb Fix to TIsZeroConstructType for TScriptDelegate. Change 3184872 on 2016/11/03 by Robert.Manuszewski Fixing memory stomps in SSL certificate initialization (found with mallocstomp) Change 3184873 on 2016/11/03 by Robert.Manuszewski Adding thread safety checks to async loading code Change 3185535 on 2016/11/03 by Ben.Zeigler Fix it so calling CreateDefaultSubobject with bTransient = true sets the object transient flag. This fixes EDL Crashes involving components. Change 3186636 on 2016/11/04 by Graeme.Thornton AES encryption integrated into EDL system Pak signing and AES encryption now configurable by ini files rather than magical text files Change 3186637 on 2016/11/04 by Graeme.Thornton Configured pak signing and encryption in ShooterGame for reference Change 3186639 on 2016/11/04 by Graeme.Thornton Encryption changes for Orion * Move pak signing keys into new INI format * Add AES key and enable INI file encryption Change 3186661 on 2016/11/04 by Graeme.Thornton Change unrealpak command line params to accept AES key as a separete parameter Change 3186670 on 2016/11/04 by Robert.Manuszewski Adding a null check before using a package pointer in Linker code #jira UE-38237 Change 3186775 on 2016/11/04 by Graeme.Thornton Fix UBT defines that come in as quoted strings, losing the quotes when passed to the compiler - PS4 and Mac fixes. Other platforms might need fixing too! Change 3186823 on 2016/11/04 by Graeme.Thornton Fixed an incorrect size check in the EDL pak signing code Change 3186925 on 2016/11/04 by Graeme.Thornton Allow UnrealPak to read encryption settings from project ini files Change 3189885 on 2016/11/08 by Graeme.Thornton Static analysis warning fix Change 3190015 on 2016/11/08 by Robert.Manuszewski Thread safety fix for UBlueprintGeneratedClass::PostLoadDefaultObject while UBlueprintGeneratedClass::SerializeDefaultObject runs on the async loading thread Change 3190253 on 2016/11/08 by Chris.Wood Improved MDD performance for on the CR server. [UE-37566] - Improve MDD performance on CR server Blocked MDD init'ing the crash handling code as it isn't desirable on the server. Removed redundant call to SetSymbolPathsFromModules() from CrashDebugHelper. Change 3192993 on 2016/11/10 by Robert.Manuszewski Thread Heartbeat will no longer report the same hang multiple times. Change 3193111 on 2016/11/10 by Robert.Manuszewski Minor change in the condition that detects the same hangs - allow the same callstacks from different threads Change 3193168 on 2016/11/10 by Steve.Robb TSparseArray now reserves space in reverse so that new elements get added to the front of the allocation rather than the back, which is better for memory traversal and meets expectations more closely. Change 3193171 on 2016/11/10 by Steve.Robb Easier debugging of FPendingRegistrantInfo map. Change 3193188 on 2016/11/10 by Steve.Robb TAutoPointer deprecated. Change 3193796 on 2016/11/10 by Graeme.Thornton Fix pak creation failure when no pak signing keys are supplied Change 3194524 on 2016/11/11 by Graeme.Thornton Another static analysis warning fix Change 3195119 on 2016/11/11 by Steve.Robb TAutoPtr deprecated. Fixes to use of TAutoPtr with incompatible memory deallocations (TAutoPtr with FMemory::Malloc and new[]). Some large headers moved into .cpp files. Change 3196582 on 2016/11/14 by Gil.Gribb UE4 - Changed a check to a warning related to detaching linekrs twice. Seen in nativized BP version of platformer game. Change 3196878 on 2016/11/14 by Steve.Robb TScopedPointer deprecated. Change 3198061 on 2016/11/15 by Steve.Robb Class array is no longer regenerated when saving UClasses. Change 3198065 on 2016/11/15 by Robert.Manuszewski Making AssembleReferenceTokenStream thread safe for blueprints loaded on the async loading thread. Change 3198199 on 2016/11/15 by Robert.Manuszewski Pak platform file will now only be used if pak files exist regardless of command line paraks like -pak, -singedpak and -signed. Change 3199954 on 2016/11/16 by Graeme.Thornton Removing USING_SIGNED_CONTENT Change 3200221 on 2016/11/16 by Chris.Wood CrashReportProcess code cleanup - removing unused using directives Change 3200232 on 2016/11/16 by Chris.Wood Multiple CrashReportProcess updates and improvements (CRP v1.2.6) UE-36248 - CRP scalability: All bulk storage or shared data to S3 or suitable network drives InvalidCrashReports now saved to S3 instead of local folder Removed option tosync MinidumpDiagnostics from Perforce Moved MinidumpDiagnostics from old Perforce synched location to its own folder in E:\Services (makes more sense with manual publishing) Added improved logging to Slack with option to monitor MDD performance Added hourly log folders to MDD logs Added support for types of crashes we don't want to symbolicate (using it to skip callstack gen for hang detected ensures) Change 3200382 on 2016/11/16 by Robert.Manuszewski Async Loading code will now detach the linker when resetting async package loader to avoid situations when loading the same asset multiple times results in the following load request finding the old linker after the package has been loading but the async package hasn't been deleted yet (async package for the old request in limbo state but linker exists). Change 3200562 on 2016/11/16 by Gil.Gribb UE4 - Fixed rare issue with reloading nativized blueprints with the EDL and a minor simplication. Change 3201093 on 2016/11/16 by Ben.Zeigler #UE 38654 Fix EDL cooking to correctly search components created directly by UBlueprints, as well as the CDO components it already covered. Also explicitly mark subobject templates as editor only. Fix issue where the AssetImportData associated with Blueprint-owned Curves was ending up in the cooked subobject template list. Stopped it from creating those objects, and mark the class editor only. Change 3201736 on 2016/11/17 by Steve.Robb Strtoi64 platform and TCString functions. #fyi robert.manuszewski Change 3201938 on 2016/11/17 by Ben.Woodhouse Dummy integrate of the Square render version workaround (CL 3201913) with _accept target_ to prevent it being integrated to dev-core in future. Commandline: p4 integrate //Tasks/UE4/Dev-LoadTimes/Engine/Source/Runtime/CoreUObject/Private/UObject/LinkerLoad.cpp@3201913,3201913 //UE4/Dev-Core/Engine/Source/Runtime/CoreUObject/Private/UObject/LinkerLoad.cpp #fyi robert.manuszewski Change 3203757 on 2016/11/18 by Robert.Manuszewski Removing debug code from async loading code. Change 3203927 on 2016/11/18 by Robert.Manuszewski Fixing comments in the async loading code. Change 3204851 on 2016/11/18 by Steve.Robb Metafunction for testing if a particular operator<< overload exists, e.g. THasInserterOperator<FArchive&, FMyType&>::Value. Change 3204854 on 2016/11/18 by Steve.Robb UEnumProperty. Change 3205027 on 2016/11/18 by Ben.Zeigler Add useful functions to FAssetPtr and TAssetSubclassOf that already existed on TAssetPtr Add Get() to TSubclassOf so it matches our other wrappers Fix TSubclassOf and TAssetSubclassOf to use the more efficient template method of checking class compatibility Comment and template cleanups for AssetPtr, StringAssetReference, LazyPtr, and SubclassOf Change 3206334 on 2016/11/21 by Ben.Zeigler #UE-38773: Fix it so non-component template subobjects of CDOs are not included as creation dependencies for BP classes, also clean up GetPreloadDependencies as it was adding redundant and null entries #UE-38799: Fix it so WidgetTrees don't get picked up as subobjects, and add ensure at cook time to find null outers that would crash at runtime. Make sure the instanced widget trees are transient. Cook finishes but game is still crashing in some cases, so I might adjust this after other testing Change 3206353 on 2016/11/21 by Ben.Zeigler Fix EnumProperty to handle EDL preload dependencies properly Change 3206625 on 2016/11/21 by Ben.Zeigler Fix enum property crash at runtime by copying what array property does and making sure inner property is not transient Change 3206937 on 2016/11/21 by Ben.Zeigler #jira UE-38905 Fix it so enums inside arrays are migrated properly, the enum tag is lost so use the current one Disable other nested enum migrations as they are unlikely to work. Array property tags need to be refactored to be safer Correctly save enum tag for enum properties, it was being set but not serialized Change 3207002 on 2016/11/21 by Ben.Zeigler #jira UE-38799 Fix it so per-widget copy of widget tree and all widgets inside are properly transient, they were being cooked before but never accessed. Fix case where non ClientOnly public objects nested instead ClientOnly objects would cook but fail to load, and add ensure to catch these cases in the future. If the full outer chain isn't available, it can't be loaded anyway, and this finds issues at cook time instead of load time. We should generally outlaw non-transient objects with transient outers, it does not do what people expect. Change 3207032 on 2016/11/21 by Ben.Zeigler #jira UE-38654 Re-Fix EDL cooking with SCS-added components. They used to have the DefaultSubObject flag but no longer do [CL 3208270 by Ben Zeigler in Main branch]
2016-11-22 18:45:44 -05:00
UEnum* Enum = nullptr;
if (UByteProperty* ByteProp = FindField<UByteProperty>(Function, FName(*EnumParamName)))
{
Enum = ByteProp->Enum;
}
else if (UEnumProperty* EnumProp = FindField<UEnumProperty>(Function, FName(*EnumParamName)))
{
Enum = EnumProp->GetEnum();
}
UEdGraphPin* EnumParamPin = FindPinChecked(EnumParamName);
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3208226) #lockdown Nick.Penwarden #rb None ========================== MAJOR FEATURES + CHANGES ========================== Change 3173153 on 2016/10/25 by Graeme.Thornton Pak signing changes - Integrated into EDL loader - Changed to not encrypt each CRC in the sig file, rather just store a single encryped signature of the entire sig file. Removes need to decrypt thousands of signatures at startup. Change 3173531 on 2016/10/25 by Steven.Hutton Removing unused j query packages. Change 3174743 on 2016/10/26 by Gil.Gribb UE4 - fixed COTF with EDL Change 3177896 on 2016/10/28 by Steve.Robb TSharedPtr and TSharedRef aliasing constructors. Removal of static_asserts for TSharedPtr<UObject>. Change 3180343 on 2016/10/31 by Steve.Robb Reimplementation of changes from CL#s 3050329 and 3105715 that were lost in merges 3094597 and 3105741. Change 3181382 on 2016/11/01 by Steve.Robb Visual Studio debugger visualizers for delegates. Change 3182738 on 2016/11/02 by Graeme.Thornton Re-enable signed archive reader so non-pakpreacher based reads still get signature checked Change 3183420 on 2016/11/02 by Steve.Robb Fix to TIsZeroConstructType for TScriptDelegate. Change 3184872 on 2016/11/03 by Robert.Manuszewski Fixing memory stomps in SSL certificate initialization (found with mallocstomp) Change 3184873 on 2016/11/03 by Robert.Manuszewski Adding thread safety checks to async loading code Change 3185535 on 2016/11/03 by Ben.Zeigler Fix it so calling CreateDefaultSubobject with bTransient = true sets the object transient flag. This fixes EDL Crashes involving components. Change 3186636 on 2016/11/04 by Graeme.Thornton AES encryption integrated into EDL system Pak signing and AES encryption now configurable by ini files rather than magical text files Change 3186637 on 2016/11/04 by Graeme.Thornton Configured pak signing and encryption in ShooterGame for reference Change 3186639 on 2016/11/04 by Graeme.Thornton Encryption changes for Orion * Move pak signing keys into new INI format * Add AES key and enable INI file encryption Change 3186661 on 2016/11/04 by Graeme.Thornton Change unrealpak command line params to accept AES key as a separete parameter Change 3186670 on 2016/11/04 by Robert.Manuszewski Adding a null check before using a package pointer in Linker code #jira UE-38237 Change 3186775 on 2016/11/04 by Graeme.Thornton Fix UBT defines that come in as quoted strings, losing the quotes when passed to the compiler - PS4 and Mac fixes. Other platforms might need fixing too! Change 3186823 on 2016/11/04 by Graeme.Thornton Fixed an incorrect size check in the EDL pak signing code Change 3186925 on 2016/11/04 by Graeme.Thornton Allow UnrealPak to read encryption settings from project ini files Change 3189885 on 2016/11/08 by Graeme.Thornton Static analysis warning fix Change 3190015 on 2016/11/08 by Robert.Manuszewski Thread safety fix for UBlueprintGeneratedClass::PostLoadDefaultObject while UBlueprintGeneratedClass::SerializeDefaultObject runs on the async loading thread Change 3190253 on 2016/11/08 by Chris.Wood Improved MDD performance for on the CR server. [UE-37566] - Improve MDD performance on CR server Blocked MDD init'ing the crash handling code as it isn't desirable on the server. Removed redundant call to SetSymbolPathsFromModules() from CrashDebugHelper. Change 3192993 on 2016/11/10 by Robert.Manuszewski Thread Heartbeat will no longer report the same hang multiple times. Change 3193111 on 2016/11/10 by Robert.Manuszewski Minor change in the condition that detects the same hangs - allow the same callstacks from different threads Change 3193168 on 2016/11/10 by Steve.Robb TSparseArray now reserves space in reverse so that new elements get added to the front of the allocation rather than the back, which is better for memory traversal and meets expectations more closely. Change 3193171 on 2016/11/10 by Steve.Robb Easier debugging of FPendingRegistrantInfo map. Change 3193188 on 2016/11/10 by Steve.Robb TAutoPointer deprecated. Change 3193796 on 2016/11/10 by Graeme.Thornton Fix pak creation failure when no pak signing keys are supplied Change 3194524 on 2016/11/11 by Graeme.Thornton Another static analysis warning fix Change 3195119 on 2016/11/11 by Steve.Robb TAutoPtr deprecated. Fixes to use of TAutoPtr with incompatible memory deallocations (TAutoPtr with FMemory::Malloc and new[]). Some large headers moved into .cpp files. Change 3196582 on 2016/11/14 by Gil.Gribb UE4 - Changed a check to a warning related to detaching linekrs twice. Seen in nativized BP version of platformer game. Change 3196878 on 2016/11/14 by Steve.Robb TScopedPointer deprecated. Change 3198061 on 2016/11/15 by Steve.Robb Class array is no longer regenerated when saving UClasses. Change 3198065 on 2016/11/15 by Robert.Manuszewski Making AssembleReferenceTokenStream thread safe for blueprints loaded on the async loading thread. Change 3198199 on 2016/11/15 by Robert.Manuszewski Pak platform file will now only be used if pak files exist regardless of command line paraks like -pak, -singedpak and -signed. Change 3199954 on 2016/11/16 by Graeme.Thornton Removing USING_SIGNED_CONTENT Change 3200221 on 2016/11/16 by Chris.Wood CrashReportProcess code cleanup - removing unused using directives Change 3200232 on 2016/11/16 by Chris.Wood Multiple CrashReportProcess updates and improvements (CRP v1.2.6) UE-36248 - CRP scalability: All bulk storage or shared data to S3 or suitable network drives InvalidCrashReports now saved to S3 instead of local folder Removed option tosync MinidumpDiagnostics from Perforce Moved MinidumpDiagnostics from old Perforce synched location to its own folder in E:\Services (makes more sense with manual publishing) Added improved logging to Slack with option to monitor MDD performance Added hourly log folders to MDD logs Added support for types of crashes we don't want to symbolicate (using it to skip callstack gen for hang detected ensures) Change 3200382 on 2016/11/16 by Robert.Manuszewski Async Loading code will now detach the linker when resetting async package loader to avoid situations when loading the same asset multiple times results in the following load request finding the old linker after the package has been loading but the async package hasn't been deleted yet (async package for the old request in limbo state but linker exists). Change 3200562 on 2016/11/16 by Gil.Gribb UE4 - Fixed rare issue with reloading nativized blueprints with the EDL and a minor simplication. Change 3201093 on 2016/11/16 by Ben.Zeigler #UE 38654 Fix EDL cooking to correctly search components created directly by UBlueprints, as well as the CDO components it already covered. Also explicitly mark subobject templates as editor only. Fix issue where the AssetImportData associated with Blueprint-owned Curves was ending up in the cooked subobject template list. Stopped it from creating those objects, and mark the class editor only. Change 3201736 on 2016/11/17 by Steve.Robb Strtoi64 platform and TCString functions. #fyi robert.manuszewski Change 3201938 on 2016/11/17 by Ben.Woodhouse Dummy integrate of the Square render version workaround (CL 3201913) with _accept target_ to prevent it being integrated to dev-core in future. Commandline: p4 integrate //Tasks/UE4/Dev-LoadTimes/Engine/Source/Runtime/CoreUObject/Private/UObject/LinkerLoad.cpp@3201913,3201913 //UE4/Dev-Core/Engine/Source/Runtime/CoreUObject/Private/UObject/LinkerLoad.cpp #fyi robert.manuszewski Change 3203757 on 2016/11/18 by Robert.Manuszewski Removing debug code from async loading code. Change 3203927 on 2016/11/18 by Robert.Manuszewski Fixing comments in the async loading code. Change 3204851 on 2016/11/18 by Steve.Robb Metafunction for testing if a particular operator<< overload exists, e.g. THasInserterOperator<FArchive&, FMyType&>::Value. Change 3204854 on 2016/11/18 by Steve.Robb UEnumProperty. Change 3205027 on 2016/11/18 by Ben.Zeigler Add useful functions to FAssetPtr and TAssetSubclassOf that already existed on TAssetPtr Add Get() to TSubclassOf so it matches our other wrappers Fix TSubclassOf and TAssetSubclassOf to use the more efficient template method of checking class compatibility Comment and template cleanups for AssetPtr, StringAssetReference, LazyPtr, and SubclassOf Change 3206334 on 2016/11/21 by Ben.Zeigler #UE-38773: Fix it so non-component template subobjects of CDOs are not included as creation dependencies for BP classes, also clean up GetPreloadDependencies as it was adding redundant and null entries #UE-38799: Fix it so WidgetTrees don't get picked up as subobjects, and add ensure at cook time to find null outers that would crash at runtime. Make sure the instanced widget trees are transient. Cook finishes but game is still crashing in some cases, so I might adjust this after other testing Change 3206353 on 2016/11/21 by Ben.Zeigler Fix EnumProperty to handle EDL preload dependencies properly Change 3206625 on 2016/11/21 by Ben.Zeigler Fix enum property crash at runtime by copying what array property does and making sure inner property is not transient Change 3206937 on 2016/11/21 by Ben.Zeigler #jira UE-38905 Fix it so enums inside arrays are migrated properly, the enum tag is lost so use the current one Disable other nested enum migrations as they are unlikely to work. Array property tags need to be refactored to be safer Correctly save enum tag for enum properties, it was being set but not serialized Change 3207002 on 2016/11/21 by Ben.Zeigler #jira UE-38799 Fix it so per-widget copy of widget tree and all widgets inside are properly transient, they were being cooked before but never accessed. Fix case where non ClientOnly public objects nested instead ClientOnly objects would cook but fail to load, and add ensure to catch these cases in the future. If the full outer chain isn't available, it can't be loaded anyway, and this finds issues at cook time instead of load time. We should generally outlaw non-transient objects with transient outers, it does not do what people expect. Change 3207032 on 2016/11/21 by Ben.Zeigler #jira UE-38654 Re-Fix EDL cooking with SCS-added components. They used to have the DefaultSubObject flag but no longer do [CL 3208270 by Ben Zeigler in Main branch]
2016-11-22 18:45:44 -05:00
if(Enum != nullptr)
{
// Expanded as input execs pins
if (EnumParamPin->Direction == EGPD_Input)
{
// Create normal exec input
UEdGraphPin* ExecutePin = CreatePin(EGPD_Input, Schema->PC_Exec, TEXT(""), NULL, false, false, Schema->PN_Execute);
// Create temp enum variable
UK2Node_TemporaryVariable* TempEnumVarNode = CompilerContext.SpawnIntermediateNode<UK2Node_TemporaryVariable>(this, SourceGraph);
TempEnumVarNode->VariableType.PinCategory = Schema->PC_Byte;
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3208226) #lockdown Nick.Penwarden #rb None ========================== MAJOR FEATURES + CHANGES ========================== Change 3173153 on 2016/10/25 by Graeme.Thornton Pak signing changes - Integrated into EDL loader - Changed to not encrypt each CRC in the sig file, rather just store a single encryped signature of the entire sig file. Removes need to decrypt thousands of signatures at startup. Change 3173531 on 2016/10/25 by Steven.Hutton Removing unused j query packages. Change 3174743 on 2016/10/26 by Gil.Gribb UE4 - fixed COTF with EDL Change 3177896 on 2016/10/28 by Steve.Robb TSharedPtr and TSharedRef aliasing constructors. Removal of static_asserts for TSharedPtr<UObject>. Change 3180343 on 2016/10/31 by Steve.Robb Reimplementation of changes from CL#s 3050329 and 3105715 that were lost in merges 3094597 and 3105741. Change 3181382 on 2016/11/01 by Steve.Robb Visual Studio debugger visualizers for delegates. Change 3182738 on 2016/11/02 by Graeme.Thornton Re-enable signed archive reader so non-pakpreacher based reads still get signature checked Change 3183420 on 2016/11/02 by Steve.Robb Fix to TIsZeroConstructType for TScriptDelegate. Change 3184872 on 2016/11/03 by Robert.Manuszewski Fixing memory stomps in SSL certificate initialization (found with mallocstomp) Change 3184873 on 2016/11/03 by Robert.Manuszewski Adding thread safety checks to async loading code Change 3185535 on 2016/11/03 by Ben.Zeigler Fix it so calling CreateDefaultSubobject with bTransient = true sets the object transient flag. This fixes EDL Crashes involving components. Change 3186636 on 2016/11/04 by Graeme.Thornton AES encryption integrated into EDL system Pak signing and AES encryption now configurable by ini files rather than magical text files Change 3186637 on 2016/11/04 by Graeme.Thornton Configured pak signing and encryption in ShooterGame for reference Change 3186639 on 2016/11/04 by Graeme.Thornton Encryption changes for Orion * Move pak signing keys into new INI format * Add AES key and enable INI file encryption Change 3186661 on 2016/11/04 by Graeme.Thornton Change unrealpak command line params to accept AES key as a separete parameter Change 3186670 on 2016/11/04 by Robert.Manuszewski Adding a null check before using a package pointer in Linker code #jira UE-38237 Change 3186775 on 2016/11/04 by Graeme.Thornton Fix UBT defines that come in as quoted strings, losing the quotes when passed to the compiler - PS4 and Mac fixes. Other platforms might need fixing too! Change 3186823 on 2016/11/04 by Graeme.Thornton Fixed an incorrect size check in the EDL pak signing code Change 3186925 on 2016/11/04 by Graeme.Thornton Allow UnrealPak to read encryption settings from project ini files Change 3189885 on 2016/11/08 by Graeme.Thornton Static analysis warning fix Change 3190015 on 2016/11/08 by Robert.Manuszewski Thread safety fix for UBlueprintGeneratedClass::PostLoadDefaultObject while UBlueprintGeneratedClass::SerializeDefaultObject runs on the async loading thread Change 3190253 on 2016/11/08 by Chris.Wood Improved MDD performance for on the CR server. [UE-37566] - Improve MDD performance on CR server Blocked MDD init'ing the crash handling code as it isn't desirable on the server. Removed redundant call to SetSymbolPathsFromModules() from CrashDebugHelper. Change 3192993 on 2016/11/10 by Robert.Manuszewski Thread Heartbeat will no longer report the same hang multiple times. Change 3193111 on 2016/11/10 by Robert.Manuszewski Minor change in the condition that detects the same hangs - allow the same callstacks from different threads Change 3193168 on 2016/11/10 by Steve.Robb TSparseArray now reserves space in reverse so that new elements get added to the front of the allocation rather than the back, which is better for memory traversal and meets expectations more closely. Change 3193171 on 2016/11/10 by Steve.Robb Easier debugging of FPendingRegistrantInfo map. Change 3193188 on 2016/11/10 by Steve.Robb TAutoPointer deprecated. Change 3193796 on 2016/11/10 by Graeme.Thornton Fix pak creation failure when no pak signing keys are supplied Change 3194524 on 2016/11/11 by Graeme.Thornton Another static analysis warning fix Change 3195119 on 2016/11/11 by Steve.Robb TAutoPtr deprecated. Fixes to use of TAutoPtr with incompatible memory deallocations (TAutoPtr with FMemory::Malloc and new[]). Some large headers moved into .cpp files. Change 3196582 on 2016/11/14 by Gil.Gribb UE4 - Changed a check to a warning related to detaching linekrs twice. Seen in nativized BP version of platformer game. Change 3196878 on 2016/11/14 by Steve.Robb TScopedPointer deprecated. Change 3198061 on 2016/11/15 by Steve.Robb Class array is no longer regenerated when saving UClasses. Change 3198065 on 2016/11/15 by Robert.Manuszewski Making AssembleReferenceTokenStream thread safe for blueprints loaded on the async loading thread. Change 3198199 on 2016/11/15 by Robert.Manuszewski Pak platform file will now only be used if pak files exist regardless of command line paraks like -pak, -singedpak and -signed. Change 3199954 on 2016/11/16 by Graeme.Thornton Removing USING_SIGNED_CONTENT Change 3200221 on 2016/11/16 by Chris.Wood CrashReportProcess code cleanup - removing unused using directives Change 3200232 on 2016/11/16 by Chris.Wood Multiple CrashReportProcess updates and improvements (CRP v1.2.6) UE-36248 - CRP scalability: All bulk storage or shared data to S3 or suitable network drives InvalidCrashReports now saved to S3 instead of local folder Removed option tosync MinidumpDiagnostics from Perforce Moved MinidumpDiagnostics from old Perforce synched location to its own folder in E:\Services (makes more sense with manual publishing) Added improved logging to Slack with option to monitor MDD performance Added hourly log folders to MDD logs Added support for types of crashes we don't want to symbolicate (using it to skip callstack gen for hang detected ensures) Change 3200382 on 2016/11/16 by Robert.Manuszewski Async Loading code will now detach the linker when resetting async package loader to avoid situations when loading the same asset multiple times results in the following load request finding the old linker after the package has been loading but the async package hasn't been deleted yet (async package for the old request in limbo state but linker exists). Change 3200562 on 2016/11/16 by Gil.Gribb UE4 - Fixed rare issue with reloading nativized blueprints with the EDL and a minor simplication. Change 3201093 on 2016/11/16 by Ben.Zeigler #UE 38654 Fix EDL cooking to correctly search components created directly by UBlueprints, as well as the CDO components it already covered. Also explicitly mark subobject templates as editor only. Fix issue where the AssetImportData associated with Blueprint-owned Curves was ending up in the cooked subobject template list. Stopped it from creating those objects, and mark the class editor only. Change 3201736 on 2016/11/17 by Steve.Robb Strtoi64 platform and TCString functions. #fyi robert.manuszewski Change 3201938 on 2016/11/17 by Ben.Woodhouse Dummy integrate of the Square render version workaround (CL 3201913) with _accept target_ to prevent it being integrated to dev-core in future. Commandline: p4 integrate //Tasks/UE4/Dev-LoadTimes/Engine/Source/Runtime/CoreUObject/Private/UObject/LinkerLoad.cpp@3201913,3201913 //UE4/Dev-Core/Engine/Source/Runtime/CoreUObject/Private/UObject/LinkerLoad.cpp #fyi robert.manuszewski Change 3203757 on 2016/11/18 by Robert.Manuszewski Removing debug code from async loading code. Change 3203927 on 2016/11/18 by Robert.Manuszewski Fixing comments in the async loading code. Change 3204851 on 2016/11/18 by Steve.Robb Metafunction for testing if a particular operator<< overload exists, e.g. THasInserterOperator<FArchive&, FMyType&>::Value. Change 3204854 on 2016/11/18 by Steve.Robb UEnumProperty. Change 3205027 on 2016/11/18 by Ben.Zeigler Add useful functions to FAssetPtr and TAssetSubclassOf that already existed on TAssetPtr Add Get() to TSubclassOf so it matches our other wrappers Fix TSubclassOf and TAssetSubclassOf to use the more efficient template method of checking class compatibility Comment and template cleanups for AssetPtr, StringAssetReference, LazyPtr, and SubclassOf Change 3206334 on 2016/11/21 by Ben.Zeigler #UE-38773: Fix it so non-component template subobjects of CDOs are not included as creation dependencies for BP classes, also clean up GetPreloadDependencies as it was adding redundant and null entries #UE-38799: Fix it so WidgetTrees don't get picked up as subobjects, and add ensure at cook time to find null outers that would crash at runtime. Make sure the instanced widget trees are transient. Cook finishes but game is still crashing in some cases, so I might adjust this after other testing Change 3206353 on 2016/11/21 by Ben.Zeigler Fix EnumProperty to handle EDL preload dependencies properly Change 3206625 on 2016/11/21 by Ben.Zeigler Fix enum property crash at runtime by copying what array property does and making sure inner property is not transient Change 3206937 on 2016/11/21 by Ben.Zeigler #jira UE-38905 Fix it so enums inside arrays are migrated properly, the enum tag is lost so use the current one Disable other nested enum migrations as they are unlikely to work. Array property tags need to be refactored to be safer Correctly save enum tag for enum properties, it was being set but not serialized Change 3207002 on 2016/11/21 by Ben.Zeigler #jira UE-38799 Fix it so per-widget copy of widget tree and all widgets inside are properly transient, they were being cooked before but never accessed. Fix case where non ClientOnly public objects nested instead ClientOnly objects would cook but fail to load, and add ensure to catch these cases in the future. If the full outer chain isn't available, it can't be loaded anyway, and this finds issues at cook time instead of load time. We should generally outlaw non-transient objects with transient outers, it does not do what people expect. Change 3207032 on 2016/11/21 by Ben.Zeigler #jira UE-38654 Re-Fix EDL cooking with SCS-added components. They used to have the DefaultSubObject flag but no longer do [CL 3208270 by Ben Zeigler in Main branch]
2016-11-22 18:45:44 -05:00
TempEnumVarNode->VariableType.PinSubCategoryObject = Enum;
TempEnumVarNode->AllocateDefaultPins();
// Get the output pin
UEdGraphPin* TempEnumVarOutput = TempEnumVarNode->GetVariablePin();
// Connect temp enum variable to (hidden) enum pin
Schema->TryCreateConnection(TempEnumVarOutput, EnumParamPin);
// Now we want to iterate over other exec inputs...
for(int32 PinIdx=Pins.Num()-1; PinIdx>=0; PinIdx--)
{
UEdGraphPin* Pin = Pins[PinIdx];
if( Pin != NULL &&
Pin != ExecutePin &&
Pin->Direction == EGPD_Input &&
Pin->PinType.PinCategory == Schema->PC_Exec )
{
// Create node to set the temp enum var
UK2Node_AssignmentStatement* AssignNode = CompilerContext.SpawnIntermediateNode<UK2Node_AssignmentStatement>(this, SourceGraph);
AssignNode->AllocateDefaultPins();
// Move connections from fake 'enum exec' pint to this assignment node
Copying //UE4/Dev-Blueprints to //UE4/Dev-Main (Source: //UE4/Dev-Blueprints @ 3025888) #rb none #lockdown Nick.Penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2927746 on 2016/03/30 by Michael.Schoell Local variables in function graphs will now store a hard reference to their UObject value. Fixes a crash when a Blueprint is saved before compiling with the local variable's value set. Ensures that the UObject is loaded with the Blueprint. #jira UE-27738 - Local variables in a function that is in a blueprint will somehow become invalid when calling a native Change 2927751 on 2016/03/30 by Michael.Schoell Back out changelist 2927746 Change 2986483 on 2016/05/23 by Maciej.Mroz #jira UE-30976 Editable enum values set on an instance are lost during nativization Added overriden names of Enum keys. Change 2986712 on 2016/05/23 by Phillip.Kavan [UE-21010] Apply updated transform to component template instances when changing the scene root in a Blueprint class. change summary: - modified SSCS_RowWidget::OnMakeNewRootDropAction() to propagate the location/rotation reset to instances of the component template that's becoming the new scene root. Change 2987406 on 2016/05/23 by Ryan.Rauschkolb Fixed Functions filter in Find-In-Blueprints will show components from the SCS #jira UE-30140 Change 2988925 on 2016/05/24 by Ryan.Rauschkolb Fixed Issue where certain primitives would not automatically type cast to Text in Blueprint graph. #jira UE-20232 Change 2989001 on 2016/05/24 by Dan.Oconnor PR #2418: Fixed a typo in Blueprint.h (Contributed by PistonMiner) #jira UE-31142 Change 2989447 on 2016/05/25 by Phillip.Kavan [UE-30807] Propagate edit condition property value changes to instances of template objects. change summary: - modified FPropertyEditor::SetEditConditionState() to propagate an EditConditionProperty value change to all instances if the outer owning object is a template (e.g. CDO) Change 2989804 on 2016/05/25 by Phillip.Kavan [UE-30289] Preserve relative scale on the root scene component when converting an Actor instance to a Blueprint Class. change summary: - modified FKismetEditorUtilities::CreateBlueprintFromActor() to post-copy the relative scale value from the Actor's root component to the new Blueprint CDO's root component Change 2990234 on 2016/05/25 by Ryan.Rauschkolb Fixed issue where including a period ina Blueprint function causes double-click to fail to open its graph #jira UE-4426 Change 2990566 on 2016/05/25 by Mike.Beach Better warn logging to help locate variable nodes that emit a "variable not found" message. Change 2991083 on 2016/05/26 by Maciej.Mroz Blueprint nativization: converted classes have "config" specified. Change 2991363 on 2016/05/26 by Phillip.Kavan [UE-19599] Copy-and-paste of Actor instances from level to Blueprint/IWCE component tree views now adds properly-initialized components. change summary: - modified FCustomizableTextObjectFactory::CanCreateObjectsFromText() to handle "Begin Actor/End Actor" blocks in T3D text - modified FCustomizableTextObjectFactory::ProcessBuffer() to handle "Begin Actor/End Actor" blocks in T3D text (so that Actor-type objects can be processed) - modified FComponentObjectTextFactory::CanCreateClass() to allow Actor-type objects to pass - modified FComponentObjectTextFactory::ProcessConstructedObject() to handle Actor-type objects and pull out owned component instances as constructed objects Change 2992990 on 2016/05/27 by Ryan.Rauschkolb Fixed issue where Connecting Self Reference Pin to a String pin does not fully connect the generated GetDisplayName node #jira UE-21973 Change 2992995 on 2016/05/27 by Ryan.Rauschkolb Fixed issue where GetClass node is not listed in the Context Menu when pulling from a self node and Context Sensitive is checked. #jira UE-30990 Change 2993449 on 2016/05/27 by Phillip.Kavan [UE-31379] Don't instrument "preview" Actor instances during Blueprint profiler script event processing. change summary: - modified FBlueprintProfiler::InstrumentEvent() to check for and bypass Actor instances belonging to a preview or inactive world type. Change 2993531 on 2016/05/27 by Mike.Beach PR #2433: Interface functions inherited from a native base class now appear in . (Contributed by MichaelSchoell) Change 2993969 on 2016/05/30 by Maciej.Mroz UE-30729 Crash in Native Orion when selecting Sword or Tomahawk Clear AsyncLoading in subobjects. Change 2993990 on 2016/05/30 by Phillip.Kavan [UE-30984] Exclude reroute nodes from Blueprint profiler node mapping. change summary: - modified FBlueprintFunctionContext::MapInputPins() to pass through non-relevant nodes when iterating through non-exec input pin links. - modified FBlueprintFunctionContext::MapExecPins() to pass through non-relevant nodes when iterating through output exec pin links. - modified FBlueprintFunctionContext::MapTunnelEntry() to pass through non-relevant nodes when iterating through tunnel node exit points. - modified FBlueprintFunctionContext::MapTunnelInstance() to pass through non-relevant nodes when iterating through tunnel graph entry points. Change 2994591 on 2016/05/31 by Ryan.Rauschkolb Fixed issue where inherited Blueprint variable would not show parent's replications settings #jira UE-18912 Change 2994613 on 2016/05/31 by Ben.Cosh Minor refactor and Various fixes to the blueprint profiler moving towards MVP goal. #Jira UE-27039 - Blueprint Profiler does not lists stats when calling an Event Dispatcher #Jira UE-31396 - Blueprint profiler crashes inside the profiler connection drawing policy #Jira UE-30957 - "Pure Time" does not populate with data in the Blueprint Profiler #Jira UE-30926 - Blueprint profiler - expose heatmap thresholds to user through the profiler tab #Jira UE-30909 - Blueprint Profiler - "compile" icon should denote Blueprint's instrumented status #Jira UE-30911 - Blueprint profiler tab/panel should display warning when Blueprint is uninstrumented #Jira UE-31385 - BP Profiler - Inclusive time column should be entirely filled out #Jira UE-31375 - BP Profiler - Default sample averaging to the "arithmetic mean" #Jira UE-31377 - BP Profiler - Default tree view filtering to off #Jira UE-31387 - BP Profiler - Remove the "view type" button for MVP #Jira UE-31384 - BP Profiler - In the tree view, rename the first time column "Avg. Time (ms)" Notes:- - Sequence node inclusive time fixed - Trace History tidy up - Compile Icon and status messages for instrumentation - Message in the profiler tab for instrumentation - Profiler view tidy up and heat thresholds controls added - fixed the summed execution branch stats - fixed the connection drawing policy to use branch pin stats and fixed the crash from UE-31396 - added hottest path and hottest endpoint wire heatmaps - switched off the graph filter by default - added total time for the heatmaps - fixed issue where initialising mapped functions caused an assert due to changes to the array/map in initialisation code Change 2995058 on 2016/05/31 by Phillip.Kavan [UE-30718] Native/const implementable events will no longer cause a crash at runtime when the Blueprint profiler is running. change summary: - modified UObject::ProcessEvent() to bypass instrumentation for native event functions that are not implemented (overridden) in a BP class. - modified FScriptEventPlayback::Process() to first check for a standalone function match (UCS, implementable events declared as 'const') before settling on the ubergraph function for the target context. Change 2995218 on 2016/05/31 by Phillip.Kavan [UE-30778] Restored non-K2 compact graph nodes (e.g. Material Editor) to previous size. change summary: - modified SGraphNode::GetNodeIndicatorOverlayVisibility() default impl to return 'Collapsed' by default, so it doesn't affect layout. Change 2996417 on 2016/06/01 by Phillip.Kavan [UE-16073] Basic shape components (cube etc.) will now apply the correct override material to instances after being added through the component tree in the Blueprint editor. change summary: - modified the 'OnBasicShapeCreated' lambda in FComponentTypeRegistryData::AddBasicShapeComponents() to propagate the material override to all instances when the given component is an archetype (template) object. Change 2997001 on 2016/06/01 by Ryan.Rauschkolb Fixed Double Clicking a component in the results of Find-In-Blueprints does not select the component #jira UE-30143 Change 2997521 on 2016/06/02 by Maciej.Mroz [Blueprint Nativization] - Added FilesToIncludeInModuleHeader config variable in BlueprintNativizationSettings. So some headers can be included in NativizedAssets.h - Guids of nodes are no longer recreated when Blueprint is duplicated for "C++ compilation". Previously child bp used variable names based on original parent class, but nativized parent class had guids recreated. Change 2997522 on 2016/06/02 by Maciej.Mroz Native implementation of NOEXPORT FInterpCurvePoint structures. (It's necessary for Blueprint nativization) Change 2997638 on 2016/06/02 by Maciej.Mroz Improvements for Blueprint Nativization: - Overridden names in nativized code have proper escape characters (in generated code). - OnlyDefaultConstructorDeclared metadata is replaced by ObjectInitializerConstructorDeclared - Arrays of nativized anum have the following form: TArray<Enum> (previously it was TArray<TEnumAsByte<Enum>>) - warning C4883 is disabled in .generated.cpp files for nativized module Change 2997639 on 2016/06/02 by Maciej.Mroz Minor improvements in Ocean gameplay code. Required for Blueprint Nativization. #jira UE-28945 Failure packaging Nativized Ocean Change 2997656 on 2016/06/02 by Maciej.Mroz Various improvements in BlueprintCompilerCppBackend: - Fixed interface cast - Fixed TSwitchValue issue (when used with literals) - Fixed improper name for NativeBlueprintEvent (when calling parent's implementation) - Fixed bitfield getter code. - Reduce code size (less UsedAssets, less ReferencedConvertedFields, cached UEnums) - operator == is generated for nativized structs - Fixed AssedId (AssetPtr) constructor in nativized code. - Fixed arrays of noexport struct - Fixed missing headers for native single cast delegate signature. - Fixed issue when default constructor (in native) is missing (constructor with FObjectInitialized, wont be used automatically). See "ObjectInitializerConstructorDeclared" metadata. Change 2997691 on 2016/06/02 by Maciej.Mroz operator == in FText. It is required for some functions in TArray<FText> Change 2997793 on 2016/06/02 by Ben.Cosh Added support for BaseAsyncTask nodes, fixed a problem with instance mapping and turned off the debug instance filter #Jira UE-30703 - Crash using blueprint profiler on AI pawn using nav mesh #Proj BlueprintProfiler, Kismet Change 2997901 on 2016/06/02 by Maciej.Mroz Back out changelist 2997691 Change 2998038 on 2016/06/02 by Mike.Beach Merging //UE4/Dev-Main to Dev-Blueprints (//UE4/Dev-Blueprints) Change 2998052 on 2016/06/02 by Ryan.Rauschkolb Fixed Comment bubbles not remembering changes after losing focus #jira UE-20012 Change 2998450 on 2016/06/02 by Phillip.Kavan [UE-31550] Fix crash on load of a Blueprint class containing a bitmask variable with missing enum type metadata. change summary: - modified FBlueprintEditorUtils::ValidateBlueprintVariableMetadata() to check for presence of bitmask enum type metadata on a variable before trying to validate it. Change 2999763 on 2016/06/03 by Mike.Beach Guarding against a crash with an ensure - attempting to catch why this is happening by logging more info, as we're unable to repro it. Guarding against nodes which reference malformed (TRASH) classes. #jira UE-26761 Change 2999768 on 2016/06/03 by Maciej.Mroz #jira UE-31592, UE-31593 This is just workaound. FReferenceFinder::FindReferences doesn;t find Enum variable in UByteProperty. Change 2999770 on 2016/06/03 by Maciej.Mroz [Blueprint Nativization] Workaround for missing ==operator in native structures. The generated code uses special version of array funtions. Change 2999798 on 2016/06/03 by Mike.Beach Guarding against malformed Blueprints (ones without valid "authoratative" class) used as context for the node menu. Baffling how we'd get into this scenario, but this adds ensures to hopefully give us clues and stabalize the editor. #jira UE-31522 Change 2999941 on 2016/06/03 by Mike.Beach Correcting mistake in previously attempted fix (CL 2781229). Now using weak ptr IsValid checks to guard against destroyed nodes in deferred graph actions (TWeakObjectPtr::Get() does not check IsValid before returning). #jira UE-23371 Change 3001731 on 2016/06/06 by Phillip.Kavan [UE-30638] BP profiler will no longer crash at runtime while profiling events that call functions on an external target. change summary: - modified FBlueprintProfiler::ProcessEventProfilingData() to only remove 'Class' and 'Instance' signals on new events. - modified FScriptEventPlayback::NodeSignalHelper struct to include a new 'BlueprintContext' field. - modified FScriptEventPlayback::Process() to handle midstream context switches by updating the Blueprint/Function context on 'Class' and/or 'Instance' signals. - modified FScriptEventPlayback::Process() to cache and reference the current Blueprint context within the cached NodeSignalHelper while handling processed events. Change 3002075 on 2016/06/06 by Maciej.Mroz Improved FScriptBuilderBase::EmitTermExpr in KismetCompilerVMBackend. Literal expression can be emitted without known desitination property. #jira UE-28443 Set Boolean (by ref) crashes the editor on compile Change 3002096 on 2016/06/06 by Ben.Cosh This change expands the way that the blueprint profiler detects event nodes during mapping to include other non function graphs. #Jira UE-30716 - Blueprint Profiler crashes if function in another graph is called #Proj BlueprintProfiler Change 3002108 on 2016/06/06 by Ben.Cosh Adds a new default option to average the blueprint level stats in the profiler. #Jira UE-31386 - BP Profiler - Timings reported with "Show Instances" off (in the tree view) are not averaged #Proj Kismet, BlueprintProfiler - The controls were also getting a bit messy so I tidied them all up into a re-usable toolbar for convenience going forward. Change 3002782 on 2016/06/06 by samuel.proctor Test assets for Interface testing Change 3003826 on 2016/06/07 by Ben.Cosh A few minor visual improvements for the blueprint profiler. #Proj Kismet, BlueprintProfiler, EditorStyle - Updated the actor icon to match the world outliner and added some functionality to draw attention to stale/deleted actors. - Updated the pure node icon. Change 3004067 on 2016/06/07 by samuel.proctor New test asset for blueprint interfaces Change 3004069 on 2016/06/07 by samuel.proctor Updating asset for Interface testing Change 3004275 on 2016/06/07 by Ryan.Rauschkolb Fixed issue where Toggle Comment Bubble button for Reroute nodes would not rever tthe comment bubble to constant visibility #jira UE-23733 Change 3004329 on 2016/06/07 by Dan.Oconnor EdGraphPin is no longer a UObject, this will improve load times significantly on projects with large number of blueprints, but content does need to be resaved in order to see the improvement in load time. UObject counts are also greatly reduced. Change 3004418 on 2016/06/07 by Maciej.Mroz KismetCompilerVMBackend: Fixed issue, when a byte property has no enum specified (for examle parameter from EqualEqual_ByteByte) but the enum is needed to parse a literal value. Change 3004496 on 2016/06/07 by Dan.Oconnor Disabling expensive pin allocation tracking Change 3004649 on 2016/06/07 by Mike.Beach Preventing a new warning from being generated on trace point exceptions (trace point exceptions are used to hook into the debugger, and don't represent errors). #jira UE-31236 Change 3004667 on 2016/06/07 by Dan.Oconnor Removed my debugging logic Change 3004848 on 2016/06/07 by Dan.Oconnor Fix spammy ensure Change 3004871 on 2016/06/07 by Phillip.Kavan [UE-24950] No longer including components instanced as default subobjects of and attached to components instanced by construction script in the IWCE component tree view. change summary: - modified SSCSEditor::UpdateTree() to exclude child components instanced in native code as "nested" DSOs and parented to non-natively-constructed (e.g. Blueprint) components; these instances are no longer being shown in IWCE in order to avoid confusion, as they're not currently mutable at the instance level, will always be parented to something that is visible in the tree, and they're also not currently shown in the Blueprint editor's component tree view (because they're not stored in the CDO). - modified FSceneComponentData's ctor to exclude child components instanced in native code as nested DSOs from the AttachedInstancedComponents array; this allows child components instanced as nested DSOs to be disposed of along with the constructed parent instance when re-running construction scripts. Change 3005203 on 2016/06/07 by Dan.Oconnor Fix for undo/redo/serialization issues with ed graph pin change. When serialization logic was applied incrementally our attempts to keep LinkedTo symetrical and aggressively clear destroyed nodes caused problems #jira UE-31750 Change 3005441 on 2016/06/08 by Maciej.Mroz #jira UE-31625 Crash in nativized Orion AssembleReferenceTokenStream is called for Dynamic Classes: - in ConstructDynamicType() (when class is explicitly loaded) - in __CustomDynamicClassInitialization() (when CDO is created) Change 3005540 on 2016/06/08 by Ben.Cosh This adds the ability to track profiler instances between editor and PIE instances and displays the current status through the icon coloring. #Jira UE-30705 - Blueprint profiler stats lost if instance destroyed during PIE #Proj BlueprintProfiler, Kismet - The jira was already fixed but I think this change improves the instance status clarity Change 3006196 on 2016/06/08 by Dan.Oconnor Copy/paste logic for pin connections got lost in the shuffle #jira UE-31747 Change 3006416 on 2016/06/08 by Phillip.Kavan [UE-31735] Fix potential loss of GetClassDefaults node output pin links on load (due to dependency load order). change summary: - modified UK2Node_GetClassDefaults::GetInputClass() to redirect to the generated skeleton class only if it's valid. this ensures that output pins will be reallocated during node reconstruction even if the dependent Blueprint's skeleton class has not yet been generated on load. Change 3006522 on 2016/06/08 by Dan.Oconnor Under rare circumstances a deprecated pin comes in that is outered to the transient package #jira UE-31779 Change 3006576 on 2016/06/08 by Dan.Oconnor Fix for non-editor builds #jira UE-31796 Change 3006610 on 2016/06/08 by Phillip.Kavan [UE-31743] Fix data loss issue when loading a serialized non-native component class instance that's owned by an Actor-based Blueprint class instance. change summary: - modified FObjectInitializer::InitProperties() to disable fast path initialization for non-native class types when the default data does not equate to the non-native CDO (as is also done within the native path). this is necessary because the optimized property list that we generate at load time to support fast path initialization of Blueprint class instances is only applicable to the generated CDO. Change 3006824 on 2016/06/08 by Dan.Oconnor More undo/redo fixes, this time fixes for when transaction buffer changes # of pins, thus destabalizing the LinkedTo arrays #jira UE-31794 Change 3006828 on 2016/06/08 by Dan.Oconnor Fix for non-editor builds Change 3006857 on 2016/06/08 by Dan.Oconnor Investigating shutdown ensure, traced back to a static UEdGraphPin Change 3006907 on 2016/06/08 by Dan.Oconnor Noneditor build fix Change 3006929 on 2016/06/08 by Dan.Oconnor Deferring DeprecatedPins destruction until after UBlueprint has had a chance to fix up its watched pins, this is a better fix for #jira UE-31779 Change 3007133 on 2016/06/09 by Ben.Cosh Fix for issue in the profiler asserting creating pins that don't have unique names. #Jira UE-31752 - Crash compiling various Orion assets for blueprints profiling, ScriptExecNode.IsValid() failed #Proj BlueprintProfiler - I believe this was recently introduced with the changes to UEdGraphPin's Change 3007964 on 2016/06/09 by Dan.Oconnor Fix for PinHelpers::UnresolvedPins being left with stale entries by undo/redo #jira UE-31829 Change 3007996 on 2016/06/09 by Ryan.Rauschkolb Added 'empty' keyword to Array Clear Node. #jira UE-12356 Change 3008007 on 2016/06/09 by Ryan.Rauschkolb Added 'negate' keyword to boolean NOT node #jira UE-12490 Change 3008011 on 2016/06/09 by Ryan.Rauschkolb Added Vector2D * Vector2D multiplication node #jira UE-31503 Change 3008014 on 2016/06/09 by Ryan.Rauschkolb Fixed Cannot connect Make Array node output to MakeArray input with split pins #jira UE-28530 Change 3008243 on 2016/06/09 by Dan.Oconnor Fix for creation of FWeakGraphPinPtr from a pin that had been destroyed, client logic is still a bit broken in the case of the ClassDefaults node, but we're back to 'safe' #jira UE-31841 Change 3008289 on 2016/06/09 by Dan.Oconnor Editor transaction saves all state before applying undo/redo buffers when using 'bFlip' flow. This prevents messing with the object graph in the middle of saving state that will be restored later #jira UE-31794 Change 3008422 on 2016/06/09 by Dan.Oconnor Correct usage of GIsTransacting, replaced with Ar.IsTransacting() to correctly handle the case where we serialize after transacting but during the transaction (for instance, recompile blueprint in post undo, which we do quite a bit it turns out) #jira UE-31857 Change 3009164 on 2016/06/10 by Ryan.Rauschkolb Making changes to default values in the structure editor will now make changes to the structure without rebuilding the default values panel. #jira UE-21141,UE-23723 Change 3009165 on 2016/06/10 by Ryan.Rauschkolb Fixed Structure Default value editor collapses after undoing an alteration of a default value #jira UE-31741 Change 3009181 on 2016/06/10 by Ryan.Rauschkolb Fixed issue where modifying a default value in a Widget Blueprint would cause the Details Panel to refresh #jira UE-30014 Change 3009313 on 2016/06/10 by Mike.Beach Addressing issues with function return nodes in multiple ways: - Preventing users from deleting return nodes for overriden/inherited functions. - Also making sure that we create terminals for out params when the return node is disconnected (and pruned). - Lastly, ensuring that new return nodes adhere to the function's signature (for cases, like where you copy/paste a return node from a different function). #jira UE-31418 Change 3009595 on 2016/06/10 by Dan.Oconnor EdGraphPinReference using PinId to resolve itself again, may create issues resolving pins created in compile #jira UE-31879 Change 3009774 on 2016/06/10 by Dan.Oconnor Fix for bad logic in RemovePin introduced in 3004329, just a bad reading of the logic, missed an early return #jira UE-31906 Change 3009988 on 2016/06/10 by Dan.Oconnor Prefer to use existing pins (based on PinId) when undoing/redoing pin serialization #jira UE-31888 Change 3010050 on 2016/06/10 by Dan.Oconnor Fixed missing call to ssuper class's PostEditUndo, fixed UBehaviorTreeGraph::PostEditUndo accessing Pins before they have been resolved #jira UE-31892 Change 3010071 on 2016/06/10 by Dan.Oconnor Fix for pasting when owning node has whitespace in result of GetPathName #jira UE-31898 #coderview Bob.Tellez Change 3010244 on 2016/06/11 by Dan.Oconnor Fix for trivial copy/paste error, causes crash when copying/pasting nodes with text default values, part of UE-31870 Change 3010630 on 2016/06/13 by Dan.Oconnor No longer relying on path name for pin resolution, path is unstable across graphs #jira UE-31870 Change 3010647 on 2016/06/13 by Dan.Oconnor PR #2496: Updated KismetMathLibrary comparison descriptions for FDateTime and FTimespan. (Contributed by CelPlays) #jira UE-31928 Change 3011175 on 2016/06/13 by Ben.Cosh Updates the Blueprint Profiler so that it can correctly map entry/exit from tunnels based on instance. #Jira UE-30106 - Compiling QA_PhysVelocitySettleTest with the blueprint profiler results in a crash/assert #Proj Kismet, BlueprintProfiler - Ensured that the trace paths contain the macro instance exec nodes - Selectively update stats in the tunnel exit site nodes based on valid exit sites to prevent cyclic updates. - Updated the comments in map tunnel entry to spare peoples sanity when trying to understand what that function does. Change 3011271 on 2016/06/13 by Ben.Cosh This adds support for inherited blueprint classes to the blueprint profiler. #Jira UE-31833 - The Blueprint profiler asserts when using a FlipFlop macro. #Jira UE-31752 - Crash compiling various Orion assets for blueprints profiling, ScriptExecNode.IsValid() failed #Proj BlueprintProfiler Change 3011556 on 2016/06/13 by Ryan.Rauschkolb Fixed Crash when breaking link to a split pin in MakeArray that is an array type #jira UE-31919 Change 3011624 on 2016/06/13 by Dan.Oconnor Fix for missing entries in MessageLog's source pin identification map. Bob T had originally populated this correctly, but somehow i lost it while iterating. #jira UE-31955 Change 3011984 on 2016/06/13 by Dan.Oconnor Sanitizing parentpin's subpins when destroying a pin #jira UE-21392 Change 3012894 on 2016/06/14 by Phillip.Kavan [UE-30922] Ensure that customized defaults are propagated to new instances at construction time during non-Actor-based Blueprint class reinstancing. change summary: - modified FBlueprintCompileReinstancer::ReplaceInstancesOfClass_Inner() to use the reinstanced archetype object as the template object during construction of the new instance for non-Actor-based Blueprint class types. #jira UE-30922 Change 3013037 on 2016/06/14 by Ryan.Rauschkolb Fixed Crash when connecting to a split pin in a MakeArray node that has no connections #jira UE-31917 Change 3014846 on 2016/06/15 by Dan.Oconnor No longer using FText::IsLetter to parse math expression nodes, that function is very slow. $x is now a valid math expression variable name (genereated a compile error prior to this change) #jira FORT-23753 Change 3015014 on 2016/06/15 by Dan.Oconnor Removing poorly implement IsLetter function Change 3015142 on 2016/06/15 by Dan.Oconnor More intentional about removing subpins, prevents stale iterator on split pin collapse #jira UE-32072 Change 3016326 on 2016/06/16 by Ryan.Rauschkolb Fixed MakeArray node does not reset to wildcard when breaking links with split struct pins that have default values #jira UE-32016 Change 3016494 on 2016/06/16 by Ryan.Rauschkolb Fixed Crash when dragging a component into the Event Graph that's inherited from a C++ class #jira UE-31876 Change 3016557 on 2016/06/16 by Dan.Oconnor Explicit copy/move of string data for FText, removes some redundant copying and object construction/destruction [which could be optimzed away], saves 2-3 seconds in my 80s load asset benchmark #jira FORT-23753 Change 3016577 on 2016/06/16 by Ryan.Rauschkolb Fixed compiler warning for hidden member variable in FBlueprintVarActionDetails::GetVariableReplicationType Change 3016906 on 2016/06/16 by Dan.Oconnor Back out changelist 3016557 This will be done by Jamie.Dale in Dev-Editor Change 3018081 on 2016/06/17 by Phillip.Kavan [UE-31832] PR #2486: Expose UInheritableComponentHandler::GetAllTemplates() outside of editor (Contributed by Bogustus) #jira UE-31832 Change 3018402 on 2016/06/17 by Dan.Oconnor Missing include Change 3018426 on 2016/06/17 by Ryan.Rauschkolb Fixed MakeArray node with split pins and no connections does not paste correctly #jira UE-32148 Change 3018452 on 2016/06/17 by Mike.Beach Moving the patching of instanced sub-objects out of CPFUO (where you can't rely on the target to be a replacement for the source) to FBlueprintEditorUtils::PatchCDOSubobjectsIntoExport(), and making it so PatchCDOSubobjectsIntoExport() is called regularly for Blueprint regeneration (on load). #jira UE-32158 Change 3018456 on 2016/06/17 by Dan.Oconnor Fix for static analysis warning, this null check does nothing Change 3018595 on 2016/06/17 by Mike.Beach Fix for shadowed variable warning in CIS. Change 3018699 on 2016/06/17 by Mike.Beach Making MinimumAreaRectangle callable in Blueprints without world context (which is only needed for debug drawing). Change 3019734 on 2016/06/20 by Phillip.Kavan [UE-32064] Clone associated component template(s) when duplicating Blueprint function graphs containing one or more Add Component nodes. change summary: - added a UK2Node_AddComponent::PostDuplicate() override - moved UK2Node_AddComponent::PostPasteNode() logic into a helper method that's now called from both PostDuplicate() and PostPasteNode() overrides. notes: - will prevent getting into the scenario described in UE-31831 #jira UE-32064 Change 3020635 on 2016/06/20 by Dan.Oconnor Fix for bad cast in FCompilerResultsLog::Append, could cause crashes in clients of this function (math expressions nodes occasionally do when they fail to compile) Change 3020894 on 2016/06/21 by Maciej.Mroz #2522: Interface UProperties can ExposeOnSpawn (in Blueprints) (Contributed by MichaelSchoell) Change 3020958 on 2016/06/21 by Ben.Cosh This improves the way key events are detected in the blueprint profiler, preventing duplicate event entries when pressed and released are both wired. It also catches a bug with the compiler instrumentation flag when compiling. #Jira UE-32270 - Input key events generate extra instrumentation data per key press #Jira UE-32266 - Recompiling blueprints with instrumentation can fail to add instrumentation. #Proj BlueprintProfiler, UnrealEd Change 3021316 on 2016/06/21 by Ryan.Rauschkolb Fixed issue where Copy/Paste of event nodes would not retain link information Change 3021826 on 2016/06/21 by Phillip.Kavan [UE-31831] Fix up AddComponent nodes on load if they are not associated with a unique template object. change summary: - added external linkage to UK2Node_AddComponent::MakeNewComponentTemplate(), and switched it to be a public API - modified FBlueprintEditorUtils::UpdateComponentTemplates() (as this is already called on Blueprint load) to detect/warn and correct non-unique templates #jira UE-31831 Change 3022047 on 2016/06/21 by Ryan.Rauschkolb Fixed issue where copy/paste of return nodes would not preserve value or link data #jira UE-26937 Change 3022619 on 2016/06/22 by Maciej.Mroz #jira UE-30858 Nativized Orion - Some particle effects are not rendering A static/persistent information (the mechanism is similar to AssetRegistrySearchable) about DynamicClass is added. It's necessary since DynamicClasses are not handled as regular assets by AssetRegistry. Fixed GameplayCueManager. Nativized cues can be found. This is an early version of the feature. Amount of stored persistent data can be extended (but it would increase memory-usage). Change 3022654 on 2016/06/22 by Maciej.Mroz FBackendHelperStaticSearchableValues -fixed too strict ensure Change 3023067 on 2016/06/22 by Maciej.Mroz #jira UE-32083 Nativize Blueprints removes blueprint functionality in packaged project Config settings from super class are not applied (at runtime) to nativized Blueprints . So all "config" properties are filled in constructor. Change 3023222 on 2016/06/22 by Ryan.Rauschkolb Fixed MakeArray node elements break when editing struct elements #jira UE-21392 Change 3023405 on 2016/06/22 by Mike.Beach Making sure sub-objects get instanced for Blueprint CDOs that had their FObjectInitializer deferred (happens when the super CDO hasn't been fully serialized). By the time the deferred FObjectInitializer is ran, the sub-objects have been assigned a RF_NeedLoad flag (where they normally wouldn't have one right after construction, when the initialization is usually ran). #jira UE-31897 Change 3023992 on 2016/06/22 by Mike.Beach Fixed an issue where hovering on/off a reroute node (toggling the comment bubble visibility) would create extraneous undo transactions. #jira UE-31859 [CL 3025946 by Mike Beach in Main branch]
2016-06-23 19:35:24 -04:00
CompilerContext.MovePinLinksToIntermediate(*Pin, *AssignNode->GetExecPin());
// Connect this to out temp enum var
Schema->TryCreateConnection(AssignNode->GetVariablePin(), TempEnumVarOutput);
// Connect exec output to 'real' exec pin
Schema->TryCreateConnection(AssignNode->GetThenPin(), ExecutePin);
// set the literal enum value to set to
AssignNode->GetValuePin()->DefaultValue = Pin->PinName;
// Finally remove this 'cosmetic' exec pin
Copying //UE4/Dev-Blueprints to //UE4/Dev-Main (Source: //UE4/Dev-Blueprints @ 3025888) #rb none #lockdown Nick.Penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2927746 on 2016/03/30 by Michael.Schoell Local variables in function graphs will now store a hard reference to their UObject value. Fixes a crash when a Blueprint is saved before compiling with the local variable's value set. Ensures that the UObject is loaded with the Blueprint. #jira UE-27738 - Local variables in a function that is in a blueprint will somehow become invalid when calling a native Change 2927751 on 2016/03/30 by Michael.Schoell Back out changelist 2927746 Change 2986483 on 2016/05/23 by Maciej.Mroz #jira UE-30976 Editable enum values set on an instance are lost during nativization Added overriden names of Enum keys. Change 2986712 on 2016/05/23 by Phillip.Kavan [UE-21010] Apply updated transform to component template instances when changing the scene root in a Blueprint class. change summary: - modified SSCS_RowWidget::OnMakeNewRootDropAction() to propagate the location/rotation reset to instances of the component template that's becoming the new scene root. Change 2987406 on 2016/05/23 by Ryan.Rauschkolb Fixed Functions filter in Find-In-Blueprints will show components from the SCS #jira UE-30140 Change 2988925 on 2016/05/24 by Ryan.Rauschkolb Fixed Issue where certain primitives would not automatically type cast to Text in Blueprint graph. #jira UE-20232 Change 2989001 on 2016/05/24 by Dan.Oconnor PR #2418: Fixed a typo in Blueprint.h (Contributed by PistonMiner) #jira UE-31142 Change 2989447 on 2016/05/25 by Phillip.Kavan [UE-30807] Propagate edit condition property value changes to instances of template objects. change summary: - modified FPropertyEditor::SetEditConditionState() to propagate an EditConditionProperty value change to all instances if the outer owning object is a template (e.g. CDO) Change 2989804 on 2016/05/25 by Phillip.Kavan [UE-30289] Preserve relative scale on the root scene component when converting an Actor instance to a Blueprint Class. change summary: - modified FKismetEditorUtilities::CreateBlueprintFromActor() to post-copy the relative scale value from the Actor's root component to the new Blueprint CDO's root component Change 2990234 on 2016/05/25 by Ryan.Rauschkolb Fixed issue where including a period ina Blueprint function causes double-click to fail to open its graph #jira UE-4426 Change 2990566 on 2016/05/25 by Mike.Beach Better warn logging to help locate variable nodes that emit a "variable not found" message. Change 2991083 on 2016/05/26 by Maciej.Mroz Blueprint nativization: converted classes have "config" specified. Change 2991363 on 2016/05/26 by Phillip.Kavan [UE-19599] Copy-and-paste of Actor instances from level to Blueprint/IWCE component tree views now adds properly-initialized components. change summary: - modified FCustomizableTextObjectFactory::CanCreateObjectsFromText() to handle "Begin Actor/End Actor" blocks in T3D text - modified FCustomizableTextObjectFactory::ProcessBuffer() to handle "Begin Actor/End Actor" blocks in T3D text (so that Actor-type objects can be processed) - modified FComponentObjectTextFactory::CanCreateClass() to allow Actor-type objects to pass - modified FComponentObjectTextFactory::ProcessConstructedObject() to handle Actor-type objects and pull out owned component instances as constructed objects Change 2992990 on 2016/05/27 by Ryan.Rauschkolb Fixed issue where Connecting Self Reference Pin to a String pin does not fully connect the generated GetDisplayName node #jira UE-21973 Change 2992995 on 2016/05/27 by Ryan.Rauschkolb Fixed issue where GetClass node is not listed in the Context Menu when pulling from a self node and Context Sensitive is checked. #jira UE-30990 Change 2993449 on 2016/05/27 by Phillip.Kavan [UE-31379] Don't instrument "preview" Actor instances during Blueprint profiler script event processing. change summary: - modified FBlueprintProfiler::InstrumentEvent() to check for and bypass Actor instances belonging to a preview or inactive world type. Change 2993531 on 2016/05/27 by Mike.Beach PR #2433: Interface functions inherited from a native base class now appear in . (Contributed by MichaelSchoell) Change 2993969 on 2016/05/30 by Maciej.Mroz UE-30729 Crash in Native Orion when selecting Sword or Tomahawk Clear AsyncLoading in subobjects. Change 2993990 on 2016/05/30 by Phillip.Kavan [UE-30984] Exclude reroute nodes from Blueprint profiler node mapping. change summary: - modified FBlueprintFunctionContext::MapInputPins() to pass through non-relevant nodes when iterating through non-exec input pin links. - modified FBlueprintFunctionContext::MapExecPins() to pass through non-relevant nodes when iterating through output exec pin links. - modified FBlueprintFunctionContext::MapTunnelEntry() to pass through non-relevant nodes when iterating through tunnel node exit points. - modified FBlueprintFunctionContext::MapTunnelInstance() to pass through non-relevant nodes when iterating through tunnel graph entry points. Change 2994591 on 2016/05/31 by Ryan.Rauschkolb Fixed issue where inherited Blueprint variable would not show parent's replications settings #jira UE-18912 Change 2994613 on 2016/05/31 by Ben.Cosh Minor refactor and Various fixes to the blueprint profiler moving towards MVP goal. #Jira UE-27039 - Blueprint Profiler does not lists stats when calling an Event Dispatcher #Jira UE-31396 - Blueprint profiler crashes inside the profiler connection drawing policy #Jira UE-30957 - "Pure Time" does not populate with data in the Blueprint Profiler #Jira UE-30926 - Blueprint profiler - expose heatmap thresholds to user through the profiler tab #Jira UE-30909 - Blueprint Profiler - "compile" icon should denote Blueprint's instrumented status #Jira UE-30911 - Blueprint profiler tab/panel should display warning when Blueprint is uninstrumented #Jira UE-31385 - BP Profiler - Inclusive time column should be entirely filled out #Jira UE-31375 - BP Profiler - Default sample averaging to the "arithmetic mean" #Jira UE-31377 - BP Profiler - Default tree view filtering to off #Jira UE-31387 - BP Profiler - Remove the "view type" button for MVP #Jira UE-31384 - BP Profiler - In the tree view, rename the first time column "Avg. Time (ms)" Notes:- - Sequence node inclusive time fixed - Trace History tidy up - Compile Icon and status messages for instrumentation - Message in the profiler tab for instrumentation - Profiler view tidy up and heat thresholds controls added - fixed the summed execution branch stats - fixed the connection drawing policy to use branch pin stats and fixed the crash from UE-31396 - added hottest path and hottest endpoint wire heatmaps - switched off the graph filter by default - added total time for the heatmaps - fixed issue where initialising mapped functions caused an assert due to changes to the array/map in initialisation code Change 2995058 on 2016/05/31 by Phillip.Kavan [UE-30718] Native/const implementable events will no longer cause a crash at runtime when the Blueprint profiler is running. change summary: - modified UObject::ProcessEvent() to bypass instrumentation for native event functions that are not implemented (overridden) in a BP class. - modified FScriptEventPlayback::Process() to first check for a standalone function match (UCS, implementable events declared as 'const') before settling on the ubergraph function for the target context. Change 2995218 on 2016/05/31 by Phillip.Kavan [UE-30778] Restored non-K2 compact graph nodes (e.g. Material Editor) to previous size. change summary: - modified SGraphNode::GetNodeIndicatorOverlayVisibility() default impl to return 'Collapsed' by default, so it doesn't affect layout. Change 2996417 on 2016/06/01 by Phillip.Kavan [UE-16073] Basic shape components (cube etc.) will now apply the correct override material to instances after being added through the component tree in the Blueprint editor. change summary: - modified the 'OnBasicShapeCreated' lambda in FComponentTypeRegistryData::AddBasicShapeComponents() to propagate the material override to all instances when the given component is an archetype (template) object. Change 2997001 on 2016/06/01 by Ryan.Rauschkolb Fixed Double Clicking a component in the results of Find-In-Blueprints does not select the component #jira UE-30143 Change 2997521 on 2016/06/02 by Maciej.Mroz [Blueprint Nativization] - Added FilesToIncludeInModuleHeader config variable in BlueprintNativizationSettings. So some headers can be included in NativizedAssets.h - Guids of nodes are no longer recreated when Blueprint is duplicated for "C++ compilation". Previously child bp used variable names based on original parent class, but nativized parent class had guids recreated. Change 2997522 on 2016/06/02 by Maciej.Mroz Native implementation of NOEXPORT FInterpCurvePoint structures. (It's necessary for Blueprint nativization) Change 2997638 on 2016/06/02 by Maciej.Mroz Improvements for Blueprint Nativization: - Overridden names in nativized code have proper escape characters (in generated code). - OnlyDefaultConstructorDeclared metadata is replaced by ObjectInitializerConstructorDeclared - Arrays of nativized anum have the following form: TArray<Enum> (previously it was TArray<TEnumAsByte<Enum>>) - warning C4883 is disabled in .generated.cpp files for nativized module Change 2997639 on 2016/06/02 by Maciej.Mroz Minor improvements in Ocean gameplay code. Required for Blueprint Nativization. #jira UE-28945 Failure packaging Nativized Ocean Change 2997656 on 2016/06/02 by Maciej.Mroz Various improvements in BlueprintCompilerCppBackend: - Fixed interface cast - Fixed TSwitchValue issue (when used with literals) - Fixed improper name for NativeBlueprintEvent (when calling parent's implementation) - Fixed bitfield getter code. - Reduce code size (less UsedAssets, less ReferencedConvertedFields, cached UEnums) - operator == is generated for nativized structs - Fixed AssedId (AssetPtr) constructor in nativized code. - Fixed arrays of noexport struct - Fixed missing headers for native single cast delegate signature. - Fixed issue when default constructor (in native) is missing (constructor with FObjectInitialized, wont be used automatically). See "ObjectInitializerConstructorDeclared" metadata. Change 2997691 on 2016/06/02 by Maciej.Mroz operator == in FText. It is required for some functions in TArray<FText> Change 2997793 on 2016/06/02 by Ben.Cosh Added support for BaseAsyncTask nodes, fixed a problem with instance mapping and turned off the debug instance filter #Jira UE-30703 - Crash using blueprint profiler on AI pawn using nav mesh #Proj BlueprintProfiler, Kismet Change 2997901 on 2016/06/02 by Maciej.Mroz Back out changelist 2997691 Change 2998038 on 2016/06/02 by Mike.Beach Merging //UE4/Dev-Main to Dev-Blueprints (//UE4/Dev-Blueprints) Change 2998052 on 2016/06/02 by Ryan.Rauschkolb Fixed Comment bubbles not remembering changes after losing focus #jira UE-20012 Change 2998450 on 2016/06/02 by Phillip.Kavan [UE-31550] Fix crash on load of a Blueprint class containing a bitmask variable with missing enum type metadata. change summary: - modified FBlueprintEditorUtils::ValidateBlueprintVariableMetadata() to check for presence of bitmask enum type metadata on a variable before trying to validate it. Change 2999763 on 2016/06/03 by Mike.Beach Guarding against a crash with an ensure - attempting to catch why this is happening by logging more info, as we're unable to repro it. Guarding against nodes which reference malformed (TRASH) classes. #jira UE-26761 Change 2999768 on 2016/06/03 by Maciej.Mroz #jira UE-31592, UE-31593 This is just workaound. FReferenceFinder::FindReferences doesn;t find Enum variable in UByteProperty. Change 2999770 on 2016/06/03 by Maciej.Mroz [Blueprint Nativization] Workaround for missing ==operator in native structures. The generated code uses special version of array funtions. Change 2999798 on 2016/06/03 by Mike.Beach Guarding against malformed Blueprints (ones without valid "authoratative" class) used as context for the node menu. Baffling how we'd get into this scenario, but this adds ensures to hopefully give us clues and stabalize the editor. #jira UE-31522 Change 2999941 on 2016/06/03 by Mike.Beach Correcting mistake in previously attempted fix (CL 2781229). Now using weak ptr IsValid checks to guard against destroyed nodes in deferred graph actions (TWeakObjectPtr::Get() does not check IsValid before returning). #jira UE-23371 Change 3001731 on 2016/06/06 by Phillip.Kavan [UE-30638] BP profiler will no longer crash at runtime while profiling events that call functions on an external target. change summary: - modified FBlueprintProfiler::ProcessEventProfilingData() to only remove 'Class' and 'Instance' signals on new events. - modified FScriptEventPlayback::NodeSignalHelper struct to include a new 'BlueprintContext' field. - modified FScriptEventPlayback::Process() to handle midstream context switches by updating the Blueprint/Function context on 'Class' and/or 'Instance' signals. - modified FScriptEventPlayback::Process() to cache and reference the current Blueprint context within the cached NodeSignalHelper while handling processed events. Change 3002075 on 2016/06/06 by Maciej.Mroz Improved FScriptBuilderBase::EmitTermExpr in KismetCompilerVMBackend. Literal expression can be emitted without known desitination property. #jira UE-28443 Set Boolean (by ref) crashes the editor on compile Change 3002096 on 2016/06/06 by Ben.Cosh This change expands the way that the blueprint profiler detects event nodes during mapping to include other non function graphs. #Jira UE-30716 - Blueprint Profiler crashes if function in another graph is called #Proj BlueprintProfiler Change 3002108 on 2016/06/06 by Ben.Cosh Adds a new default option to average the blueprint level stats in the profiler. #Jira UE-31386 - BP Profiler - Timings reported with "Show Instances" off (in the tree view) are not averaged #Proj Kismet, BlueprintProfiler - The controls were also getting a bit messy so I tidied them all up into a re-usable toolbar for convenience going forward. Change 3002782 on 2016/06/06 by samuel.proctor Test assets for Interface testing Change 3003826 on 2016/06/07 by Ben.Cosh A few minor visual improvements for the blueprint profiler. #Proj Kismet, BlueprintProfiler, EditorStyle - Updated the actor icon to match the world outliner and added some functionality to draw attention to stale/deleted actors. - Updated the pure node icon. Change 3004067 on 2016/06/07 by samuel.proctor New test asset for blueprint interfaces Change 3004069 on 2016/06/07 by samuel.proctor Updating asset for Interface testing Change 3004275 on 2016/06/07 by Ryan.Rauschkolb Fixed issue where Toggle Comment Bubble button for Reroute nodes would not rever tthe comment bubble to constant visibility #jira UE-23733 Change 3004329 on 2016/06/07 by Dan.Oconnor EdGraphPin is no longer a UObject, this will improve load times significantly on projects with large number of blueprints, but content does need to be resaved in order to see the improvement in load time. UObject counts are also greatly reduced. Change 3004418 on 2016/06/07 by Maciej.Mroz KismetCompilerVMBackend: Fixed issue, when a byte property has no enum specified (for examle parameter from EqualEqual_ByteByte) but the enum is needed to parse a literal value. Change 3004496 on 2016/06/07 by Dan.Oconnor Disabling expensive pin allocation tracking Change 3004649 on 2016/06/07 by Mike.Beach Preventing a new warning from being generated on trace point exceptions (trace point exceptions are used to hook into the debugger, and don't represent errors). #jira UE-31236 Change 3004667 on 2016/06/07 by Dan.Oconnor Removed my debugging logic Change 3004848 on 2016/06/07 by Dan.Oconnor Fix spammy ensure Change 3004871 on 2016/06/07 by Phillip.Kavan [UE-24950] No longer including components instanced as default subobjects of and attached to components instanced by construction script in the IWCE component tree view. change summary: - modified SSCSEditor::UpdateTree() to exclude child components instanced in native code as "nested" DSOs and parented to non-natively-constructed (e.g. Blueprint) components; these instances are no longer being shown in IWCE in order to avoid confusion, as they're not currently mutable at the instance level, will always be parented to something that is visible in the tree, and they're also not currently shown in the Blueprint editor's component tree view (because they're not stored in the CDO). - modified FSceneComponentData's ctor to exclude child components instanced in native code as nested DSOs from the AttachedInstancedComponents array; this allows child components instanced as nested DSOs to be disposed of along with the constructed parent instance when re-running construction scripts. Change 3005203 on 2016/06/07 by Dan.Oconnor Fix for undo/redo/serialization issues with ed graph pin change. When serialization logic was applied incrementally our attempts to keep LinkedTo symetrical and aggressively clear destroyed nodes caused problems #jira UE-31750 Change 3005441 on 2016/06/08 by Maciej.Mroz #jira UE-31625 Crash in nativized Orion AssembleReferenceTokenStream is called for Dynamic Classes: - in ConstructDynamicType() (when class is explicitly loaded) - in __CustomDynamicClassInitialization() (when CDO is created) Change 3005540 on 2016/06/08 by Ben.Cosh This adds the ability to track profiler instances between editor and PIE instances and displays the current status through the icon coloring. #Jira UE-30705 - Blueprint profiler stats lost if instance destroyed during PIE #Proj BlueprintProfiler, Kismet - The jira was already fixed but I think this change improves the instance status clarity Change 3006196 on 2016/06/08 by Dan.Oconnor Copy/paste logic for pin connections got lost in the shuffle #jira UE-31747 Change 3006416 on 2016/06/08 by Phillip.Kavan [UE-31735] Fix potential loss of GetClassDefaults node output pin links on load (due to dependency load order). change summary: - modified UK2Node_GetClassDefaults::GetInputClass() to redirect to the generated skeleton class only if it's valid. this ensures that output pins will be reallocated during node reconstruction even if the dependent Blueprint's skeleton class has not yet been generated on load. Change 3006522 on 2016/06/08 by Dan.Oconnor Under rare circumstances a deprecated pin comes in that is outered to the transient package #jira UE-31779 Change 3006576 on 2016/06/08 by Dan.Oconnor Fix for non-editor builds #jira UE-31796 Change 3006610 on 2016/06/08 by Phillip.Kavan [UE-31743] Fix data loss issue when loading a serialized non-native component class instance that's owned by an Actor-based Blueprint class instance. change summary: - modified FObjectInitializer::InitProperties() to disable fast path initialization for non-native class types when the default data does not equate to the non-native CDO (as is also done within the native path). this is necessary because the optimized property list that we generate at load time to support fast path initialization of Blueprint class instances is only applicable to the generated CDO. Change 3006824 on 2016/06/08 by Dan.Oconnor More undo/redo fixes, this time fixes for when transaction buffer changes # of pins, thus destabalizing the LinkedTo arrays #jira UE-31794 Change 3006828 on 2016/06/08 by Dan.Oconnor Fix for non-editor builds Change 3006857 on 2016/06/08 by Dan.Oconnor Investigating shutdown ensure, traced back to a static UEdGraphPin Change 3006907 on 2016/06/08 by Dan.Oconnor Noneditor build fix Change 3006929 on 2016/06/08 by Dan.Oconnor Deferring DeprecatedPins destruction until after UBlueprint has had a chance to fix up its watched pins, this is a better fix for #jira UE-31779 Change 3007133 on 2016/06/09 by Ben.Cosh Fix for issue in the profiler asserting creating pins that don't have unique names. #Jira UE-31752 - Crash compiling various Orion assets for blueprints profiling, ScriptExecNode.IsValid() failed #Proj BlueprintProfiler - I believe this was recently introduced with the changes to UEdGraphPin's Change 3007964 on 2016/06/09 by Dan.Oconnor Fix for PinHelpers::UnresolvedPins being left with stale entries by undo/redo #jira UE-31829 Change 3007996 on 2016/06/09 by Ryan.Rauschkolb Added 'empty' keyword to Array Clear Node. #jira UE-12356 Change 3008007 on 2016/06/09 by Ryan.Rauschkolb Added 'negate' keyword to boolean NOT node #jira UE-12490 Change 3008011 on 2016/06/09 by Ryan.Rauschkolb Added Vector2D * Vector2D multiplication node #jira UE-31503 Change 3008014 on 2016/06/09 by Ryan.Rauschkolb Fixed Cannot connect Make Array node output to MakeArray input with split pins #jira UE-28530 Change 3008243 on 2016/06/09 by Dan.Oconnor Fix for creation of FWeakGraphPinPtr from a pin that had been destroyed, client logic is still a bit broken in the case of the ClassDefaults node, but we're back to 'safe' #jira UE-31841 Change 3008289 on 2016/06/09 by Dan.Oconnor Editor transaction saves all state before applying undo/redo buffers when using 'bFlip' flow. This prevents messing with the object graph in the middle of saving state that will be restored later #jira UE-31794 Change 3008422 on 2016/06/09 by Dan.Oconnor Correct usage of GIsTransacting, replaced with Ar.IsTransacting() to correctly handle the case where we serialize after transacting but during the transaction (for instance, recompile blueprint in post undo, which we do quite a bit it turns out) #jira UE-31857 Change 3009164 on 2016/06/10 by Ryan.Rauschkolb Making changes to default values in the structure editor will now make changes to the structure without rebuilding the default values panel. #jira UE-21141,UE-23723 Change 3009165 on 2016/06/10 by Ryan.Rauschkolb Fixed Structure Default value editor collapses after undoing an alteration of a default value #jira UE-31741 Change 3009181 on 2016/06/10 by Ryan.Rauschkolb Fixed issue where modifying a default value in a Widget Blueprint would cause the Details Panel to refresh #jira UE-30014 Change 3009313 on 2016/06/10 by Mike.Beach Addressing issues with function return nodes in multiple ways: - Preventing users from deleting return nodes for overriden/inherited functions. - Also making sure that we create terminals for out params when the return node is disconnected (and pruned). - Lastly, ensuring that new return nodes adhere to the function's signature (for cases, like where you copy/paste a return node from a different function). #jira UE-31418 Change 3009595 on 2016/06/10 by Dan.Oconnor EdGraphPinReference using PinId to resolve itself again, may create issues resolving pins created in compile #jira UE-31879 Change 3009774 on 2016/06/10 by Dan.Oconnor Fix for bad logic in RemovePin introduced in 3004329, just a bad reading of the logic, missed an early return #jira UE-31906 Change 3009988 on 2016/06/10 by Dan.Oconnor Prefer to use existing pins (based on PinId) when undoing/redoing pin serialization #jira UE-31888 Change 3010050 on 2016/06/10 by Dan.Oconnor Fixed missing call to ssuper class's PostEditUndo, fixed UBehaviorTreeGraph::PostEditUndo accessing Pins before they have been resolved #jira UE-31892 Change 3010071 on 2016/06/10 by Dan.Oconnor Fix for pasting when owning node has whitespace in result of GetPathName #jira UE-31898 #coderview Bob.Tellez Change 3010244 on 2016/06/11 by Dan.Oconnor Fix for trivial copy/paste error, causes crash when copying/pasting nodes with text default values, part of UE-31870 Change 3010630 on 2016/06/13 by Dan.Oconnor No longer relying on path name for pin resolution, path is unstable across graphs #jira UE-31870 Change 3010647 on 2016/06/13 by Dan.Oconnor PR #2496: Updated KismetMathLibrary comparison descriptions for FDateTime and FTimespan. (Contributed by CelPlays) #jira UE-31928 Change 3011175 on 2016/06/13 by Ben.Cosh Updates the Blueprint Profiler so that it can correctly map entry/exit from tunnels based on instance. #Jira UE-30106 - Compiling QA_PhysVelocitySettleTest with the blueprint profiler results in a crash/assert #Proj Kismet, BlueprintProfiler - Ensured that the trace paths contain the macro instance exec nodes - Selectively update stats in the tunnel exit site nodes based on valid exit sites to prevent cyclic updates. - Updated the comments in map tunnel entry to spare peoples sanity when trying to understand what that function does. Change 3011271 on 2016/06/13 by Ben.Cosh This adds support for inherited blueprint classes to the blueprint profiler. #Jira UE-31833 - The Blueprint profiler asserts when using a FlipFlop macro. #Jira UE-31752 - Crash compiling various Orion assets for blueprints profiling, ScriptExecNode.IsValid() failed #Proj BlueprintProfiler Change 3011556 on 2016/06/13 by Ryan.Rauschkolb Fixed Crash when breaking link to a split pin in MakeArray that is an array type #jira UE-31919 Change 3011624 on 2016/06/13 by Dan.Oconnor Fix for missing entries in MessageLog's source pin identification map. Bob T had originally populated this correctly, but somehow i lost it while iterating. #jira UE-31955 Change 3011984 on 2016/06/13 by Dan.Oconnor Sanitizing parentpin's subpins when destroying a pin #jira UE-21392 Change 3012894 on 2016/06/14 by Phillip.Kavan [UE-30922] Ensure that customized defaults are propagated to new instances at construction time during non-Actor-based Blueprint class reinstancing. change summary: - modified FBlueprintCompileReinstancer::ReplaceInstancesOfClass_Inner() to use the reinstanced archetype object as the template object during construction of the new instance for non-Actor-based Blueprint class types. #jira UE-30922 Change 3013037 on 2016/06/14 by Ryan.Rauschkolb Fixed Crash when connecting to a split pin in a MakeArray node that has no connections #jira UE-31917 Change 3014846 on 2016/06/15 by Dan.Oconnor No longer using FText::IsLetter to parse math expression nodes, that function is very slow. $x is now a valid math expression variable name (genereated a compile error prior to this change) #jira FORT-23753 Change 3015014 on 2016/06/15 by Dan.Oconnor Removing poorly implement IsLetter function Change 3015142 on 2016/06/15 by Dan.Oconnor More intentional about removing subpins, prevents stale iterator on split pin collapse #jira UE-32072 Change 3016326 on 2016/06/16 by Ryan.Rauschkolb Fixed MakeArray node does not reset to wildcard when breaking links with split struct pins that have default values #jira UE-32016 Change 3016494 on 2016/06/16 by Ryan.Rauschkolb Fixed Crash when dragging a component into the Event Graph that's inherited from a C++ class #jira UE-31876 Change 3016557 on 2016/06/16 by Dan.Oconnor Explicit copy/move of string data for FText, removes some redundant copying and object construction/destruction [which could be optimzed away], saves 2-3 seconds in my 80s load asset benchmark #jira FORT-23753 Change 3016577 on 2016/06/16 by Ryan.Rauschkolb Fixed compiler warning for hidden member variable in FBlueprintVarActionDetails::GetVariableReplicationType Change 3016906 on 2016/06/16 by Dan.Oconnor Back out changelist 3016557 This will be done by Jamie.Dale in Dev-Editor Change 3018081 on 2016/06/17 by Phillip.Kavan [UE-31832] PR #2486: Expose UInheritableComponentHandler::GetAllTemplates() outside of editor (Contributed by Bogustus) #jira UE-31832 Change 3018402 on 2016/06/17 by Dan.Oconnor Missing include Change 3018426 on 2016/06/17 by Ryan.Rauschkolb Fixed MakeArray node with split pins and no connections does not paste correctly #jira UE-32148 Change 3018452 on 2016/06/17 by Mike.Beach Moving the patching of instanced sub-objects out of CPFUO (where you can't rely on the target to be a replacement for the source) to FBlueprintEditorUtils::PatchCDOSubobjectsIntoExport(), and making it so PatchCDOSubobjectsIntoExport() is called regularly for Blueprint regeneration (on load). #jira UE-32158 Change 3018456 on 2016/06/17 by Dan.Oconnor Fix for static analysis warning, this null check does nothing Change 3018595 on 2016/06/17 by Mike.Beach Fix for shadowed variable warning in CIS. Change 3018699 on 2016/06/17 by Mike.Beach Making MinimumAreaRectangle callable in Blueprints without world context (which is only needed for debug drawing). Change 3019734 on 2016/06/20 by Phillip.Kavan [UE-32064] Clone associated component template(s) when duplicating Blueprint function graphs containing one or more Add Component nodes. change summary: - added a UK2Node_AddComponent::PostDuplicate() override - moved UK2Node_AddComponent::PostPasteNode() logic into a helper method that's now called from both PostDuplicate() and PostPasteNode() overrides. notes: - will prevent getting into the scenario described in UE-31831 #jira UE-32064 Change 3020635 on 2016/06/20 by Dan.Oconnor Fix for bad cast in FCompilerResultsLog::Append, could cause crashes in clients of this function (math expressions nodes occasionally do when they fail to compile) Change 3020894 on 2016/06/21 by Maciej.Mroz #2522: Interface UProperties can ExposeOnSpawn (in Blueprints) (Contributed by MichaelSchoell) Change 3020958 on 2016/06/21 by Ben.Cosh This improves the way key events are detected in the blueprint profiler, preventing duplicate event entries when pressed and released are both wired. It also catches a bug with the compiler instrumentation flag when compiling. #Jira UE-32270 - Input key events generate extra instrumentation data per key press #Jira UE-32266 - Recompiling blueprints with instrumentation can fail to add instrumentation. #Proj BlueprintProfiler, UnrealEd Change 3021316 on 2016/06/21 by Ryan.Rauschkolb Fixed issue where Copy/Paste of event nodes would not retain link information Change 3021826 on 2016/06/21 by Phillip.Kavan [UE-31831] Fix up AddComponent nodes on load if they are not associated with a unique template object. change summary: - added external linkage to UK2Node_AddComponent::MakeNewComponentTemplate(), and switched it to be a public API - modified FBlueprintEditorUtils::UpdateComponentTemplates() (as this is already called on Blueprint load) to detect/warn and correct non-unique templates #jira UE-31831 Change 3022047 on 2016/06/21 by Ryan.Rauschkolb Fixed issue where copy/paste of return nodes would not preserve value or link data #jira UE-26937 Change 3022619 on 2016/06/22 by Maciej.Mroz #jira UE-30858 Nativized Orion - Some particle effects are not rendering A static/persistent information (the mechanism is similar to AssetRegistrySearchable) about DynamicClass is added. It's necessary since DynamicClasses are not handled as regular assets by AssetRegistry. Fixed GameplayCueManager. Nativized cues can be found. This is an early version of the feature. Amount of stored persistent data can be extended (but it would increase memory-usage). Change 3022654 on 2016/06/22 by Maciej.Mroz FBackendHelperStaticSearchableValues -fixed too strict ensure Change 3023067 on 2016/06/22 by Maciej.Mroz #jira UE-32083 Nativize Blueprints removes blueprint functionality in packaged project Config settings from super class are not applied (at runtime) to nativized Blueprints . So all "config" properties are filled in constructor. Change 3023222 on 2016/06/22 by Ryan.Rauschkolb Fixed MakeArray node elements break when editing struct elements #jira UE-21392 Change 3023405 on 2016/06/22 by Mike.Beach Making sure sub-objects get instanced for Blueprint CDOs that had their FObjectInitializer deferred (happens when the super CDO hasn't been fully serialized). By the time the deferred FObjectInitializer is ran, the sub-objects have been assigned a RF_NeedLoad flag (where they normally wouldn't have one right after construction, when the initialization is usually ran). #jira UE-31897 Change 3023992 on 2016/06/22 by Mike.Beach Fixed an issue where hovering on/off a reroute node (toggling the comment bubble visibility) would create extraneous undo transactions. #jira UE-31859 [CL 3025946 by Mike Beach in Main branch]
2016-06-23 19:35:24 -04:00
Pins[PinIdx]->MarkPendingKill();
Pins.RemoveAt(PinIdx);
}
}
}
// Expanded as output execs pins
else if (EnumParamPin->Direction == EGPD_Output)
{
// Create normal exec output
UEdGraphPin* ExecutePin = CreatePin(EGPD_Output, Schema->PC_Exec, TEXT(""), NULL, false, false, Schema->PN_Execute);
// Create a SwitchEnum node to switch on the output enum
UK2Node_SwitchEnum* SwitchEnumNode = CompilerContext.SpawnIntermediateNode<UK2Node_SwitchEnum>(this, SourceGraph);
UEnum* EnumObject = Cast<UEnum>(EnumParamPin->PinType.PinSubCategoryObject.Get());
SwitchEnumNode->SetEnum(EnumObject);
SwitchEnumNode->AllocateDefaultPins();
// Hook up execution to the switch node
Schema->TryCreateConnection(ExecutePin, SwitchEnumNode->GetExecPin());
// Connect (hidden) enum pin to switch node's selection pin
Schema->TryCreateConnection(EnumParamPin, SwitchEnumNode->GetSelectionPin());
// Now we want to iterate over other exec outputs
for(int32 PinIdx=Pins.Num()-1; PinIdx>=0; PinIdx--)
{
UEdGraphPin* Pin = Pins[PinIdx];
if( Pin != NULL &&
Pin != ExecutePin &&
Pin->Direction == EGPD_Output &&
Pin->PinType.PinCategory == Schema->PC_Exec )
{
Copying //UE4/Dev-Blueprints to //UE4/Dev-Main (Source: //UE4/Dev-Blueprints @ 3025888) #rb none #lockdown Nick.Penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2927746 on 2016/03/30 by Michael.Schoell Local variables in function graphs will now store a hard reference to their UObject value. Fixes a crash when a Blueprint is saved before compiling with the local variable's value set. Ensures that the UObject is loaded with the Blueprint. #jira UE-27738 - Local variables in a function that is in a blueprint will somehow become invalid when calling a native Change 2927751 on 2016/03/30 by Michael.Schoell Back out changelist 2927746 Change 2986483 on 2016/05/23 by Maciej.Mroz #jira UE-30976 Editable enum values set on an instance are lost during nativization Added overriden names of Enum keys. Change 2986712 on 2016/05/23 by Phillip.Kavan [UE-21010] Apply updated transform to component template instances when changing the scene root in a Blueprint class. change summary: - modified SSCS_RowWidget::OnMakeNewRootDropAction() to propagate the location/rotation reset to instances of the component template that's becoming the new scene root. Change 2987406 on 2016/05/23 by Ryan.Rauschkolb Fixed Functions filter in Find-In-Blueprints will show components from the SCS #jira UE-30140 Change 2988925 on 2016/05/24 by Ryan.Rauschkolb Fixed Issue where certain primitives would not automatically type cast to Text in Blueprint graph. #jira UE-20232 Change 2989001 on 2016/05/24 by Dan.Oconnor PR #2418: Fixed a typo in Blueprint.h (Contributed by PistonMiner) #jira UE-31142 Change 2989447 on 2016/05/25 by Phillip.Kavan [UE-30807] Propagate edit condition property value changes to instances of template objects. change summary: - modified FPropertyEditor::SetEditConditionState() to propagate an EditConditionProperty value change to all instances if the outer owning object is a template (e.g. CDO) Change 2989804 on 2016/05/25 by Phillip.Kavan [UE-30289] Preserve relative scale on the root scene component when converting an Actor instance to a Blueprint Class. change summary: - modified FKismetEditorUtilities::CreateBlueprintFromActor() to post-copy the relative scale value from the Actor's root component to the new Blueprint CDO's root component Change 2990234 on 2016/05/25 by Ryan.Rauschkolb Fixed issue where including a period ina Blueprint function causes double-click to fail to open its graph #jira UE-4426 Change 2990566 on 2016/05/25 by Mike.Beach Better warn logging to help locate variable nodes that emit a "variable not found" message. Change 2991083 on 2016/05/26 by Maciej.Mroz Blueprint nativization: converted classes have "config" specified. Change 2991363 on 2016/05/26 by Phillip.Kavan [UE-19599] Copy-and-paste of Actor instances from level to Blueprint/IWCE component tree views now adds properly-initialized components. change summary: - modified FCustomizableTextObjectFactory::CanCreateObjectsFromText() to handle "Begin Actor/End Actor" blocks in T3D text - modified FCustomizableTextObjectFactory::ProcessBuffer() to handle "Begin Actor/End Actor" blocks in T3D text (so that Actor-type objects can be processed) - modified FComponentObjectTextFactory::CanCreateClass() to allow Actor-type objects to pass - modified FComponentObjectTextFactory::ProcessConstructedObject() to handle Actor-type objects and pull out owned component instances as constructed objects Change 2992990 on 2016/05/27 by Ryan.Rauschkolb Fixed issue where Connecting Self Reference Pin to a String pin does not fully connect the generated GetDisplayName node #jira UE-21973 Change 2992995 on 2016/05/27 by Ryan.Rauschkolb Fixed issue where GetClass node is not listed in the Context Menu when pulling from a self node and Context Sensitive is checked. #jira UE-30990 Change 2993449 on 2016/05/27 by Phillip.Kavan [UE-31379] Don't instrument "preview" Actor instances during Blueprint profiler script event processing. change summary: - modified FBlueprintProfiler::InstrumentEvent() to check for and bypass Actor instances belonging to a preview or inactive world type. Change 2993531 on 2016/05/27 by Mike.Beach PR #2433: Interface functions inherited from a native base class now appear in . (Contributed by MichaelSchoell) Change 2993969 on 2016/05/30 by Maciej.Mroz UE-30729 Crash in Native Orion when selecting Sword or Tomahawk Clear AsyncLoading in subobjects. Change 2993990 on 2016/05/30 by Phillip.Kavan [UE-30984] Exclude reroute nodes from Blueprint profiler node mapping. change summary: - modified FBlueprintFunctionContext::MapInputPins() to pass through non-relevant nodes when iterating through non-exec input pin links. - modified FBlueprintFunctionContext::MapExecPins() to pass through non-relevant nodes when iterating through output exec pin links. - modified FBlueprintFunctionContext::MapTunnelEntry() to pass through non-relevant nodes when iterating through tunnel node exit points. - modified FBlueprintFunctionContext::MapTunnelInstance() to pass through non-relevant nodes when iterating through tunnel graph entry points. Change 2994591 on 2016/05/31 by Ryan.Rauschkolb Fixed issue where inherited Blueprint variable would not show parent's replications settings #jira UE-18912 Change 2994613 on 2016/05/31 by Ben.Cosh Minor refactor and Various fixes to the blueprint profiler moving towards MVP goal. #Jira UE-27039 - Blueprint Profiler does not lists stats when calling an Event Dispatcher #Jira UE-31396 - Blueprint profiler crashes inside the profiler connection drawing policy #Jira UE-30957 - "Pure Time" does not populate with data in the Blueprint Profiler #Jira UE-30926 - Blueprint profiler - expose heatmap thresholds to user through the profiler tab #Jira UE-30909 - Blueprint Profiler - "compile" icon should denote Blueprint's instrumented status #Jira UE-30911 - Blueprint profiler tab/panel should display warning when Blueprint is uninstrumented #Jira UE-31385 - BP Profiler - Inclusive time column should be entirely filled out #Jira UE-31375 - BP Profiler - Default sample averaging to the "arithmetic mean" #Jira UE-31377 - BP Profiler - Default tree view filtering to off #Jira UE-31387 - BP Profiler - Remove the "view type" button for MVP #Jira UE-31384 - BP Profiler - In the tree view, rename the first time column "Avg. Time (ms)" Notes:- - Sequence node inclusive time fixed - Trace History tidy up - Compile Icon and status messages for instrumentation - Message in the profiler tab for instrumentation - Profiler view tidy up and heat thresholds controls added - fixed the summed execution branch stats - fixed the connection drawing policy to use branch pin stats and fixed the crash from UE-31396 - added hottest path and hottest endpoint wire heatmaps - switched off the graph filter by default - added total time for the heatmaps - fixed issue where initialising mapped functions caused an assert due to changes to the array/map in initialisation code Change 2995058 on 2016/05/31 by Phillip.Kavan [UE-30718] Native/const implementable events will no longer cause a crash at runtime when the Blueprint profiler is running. change summary: - modified UObject::ProcessEvent() to bypass instrumentation for native event functions that are not implemented (overridden) in a BP class. - modified FScriptEventPlayback::Process() to first check for a standalone function match (UCS, implementable events declared as 'const') before settling on the ubergraph function for the target context. Change 2995218 on 2016/05/31 by Phillip.Kavan [UE-30778] Restored non-K2 compact graph nodes (e.g. Material Editor) to previous size. change summary: - modified SGraphNode::GetNodeIndicatorOverlayVisibility() default impl to return 'Collapsed' by default, so it doesn't affect layout. Change 2996417 on 2016/06/01 by Phillip.Kavan [UE-16073] Basic shape components (cube etc.) will now apply the correct override material to instances after being added through the component tree in the Blueprint editor. change summary: - modified the 'OnBasicShapeCreated' lambda in FComponentTypeRegistryData::AddBasicShapeComponents() to propagate the material override to all instances when the given component is an archetype (template) object. Change 2997001 on 2016/06/01 by Ryan.Rauschkolb Fixed Double Clicking a component in the results of Find-In-Blueprints does not select the component #jira UE-30143 Change 2997521 on 2016/06/02 by Maciej.Mroz [Blueprint Nativization] - Added FilesToIncludeInModuleHeader config variable in BlueprintNativizationSettings. So some headers can be included in NativizedAssets.h - Guids of nodes are no longer recreated when Blueprint is duplicated for "C++ compilation". Previously child bp used variable names based on original parent class, but nativized parent class had guids recreated. Change 2997522 on 2016/06/02 by Maciej.Mroz Native implementation of NOEXPORT FInterpCurvePoint structures. (It's necessary for Blueprint nativization) Change 2997638 on 2016/06/02 by Maciej.Mroz Improvements for Blueprint Nativization: - Overridden names in nativized code have proper escape characters (in generated code). - OnlyDefaultConstructorDeclared metadata is replaced by ObjectInitializerConstructorDeclared - Arrays of nativized anum have the following form: TArray<Enum> (previously it was TArray<TEnumAsByte<Enum>>) - warning C4883 is disabled in .generated.cpp files for nativized module Change 2997639 on 2016/06/02 by Maciej.Mroz Minor improvements in Ocean gameplay code. Required for Blueprint Nativization. #jira UE-28945 Failure packaging Nativized Ocean Change 2997656 on 2016/06/02 by Maciej.Mroz Various improvements in BlueprintCompilerCppBackend: - Fixed interface cast - Fixed TSwitchValue issue (when used with literals) - Fixed improper name for NativeBlueprintEvent (when calling parent's implementation) - Fixed bitfield getter code. - Reduce code size (less UsedAssets, less ReferencedConvertedFields, cached UEnums) - operator == is generated for nativized structs - Fixed AssedId (AssetPtr) constructor in nativized code. - Fixed arrays of noexport struct - Fixed missing headers for native single cast delegate signature. - Fixed issue when default constructor (in native) is missing (constructor with FObjectInitialized, wont be used automatically). See "ObjectInitializerConstructorDeclared" metadata. Change 2997691 on 2016/06/02 by Maciej.Mroz operator == in FText. It is required for some functions in TArray<FText> Change 2997793 on 2016/06/02 by Ben.Cosh Added support for BaseAsyncTask nodes, fixed a problem with instance mapping and turned off the debug instance filter #Jira UE-30703 - Crash using blueprint profiler on AI pawn using nav mesh #Proj BlueprintProfiler, Kismet Change 2997901 on 2016/06/02 by Maciej.Mroz Back out changelist 2997691 Change 2998038 on 2016/06/02 by Mike.Beach Merging //UE4/Dev-Main to Dev-Blueprints (//UE4/Dev-Blueprints) Change 2998052 on 2016/06/02 by Ryan.Rauschkolb Fixed Comment bubbles not remembering changes after losing focus #jira UE-20012 Change 2998450 on 2016/06/02 by Phillip.Kavan [UE-31550] Fix crash on load of a Blueprint class containing a bitmask variable with missing enum type metadata. change summary: - modified FBlueprintEditorUtils::ValidateBlueprintVariableMetadata() to check for presence of bitmask enum type metadata on a variable before trying to validate it. Change 2999763 on 2016/06/03 by Mike.Beach Guarding against a crash with an ensure - attempting to catch why this is happening by logging more info, as we're unable to repro it. Guarding against nodes which reference malformed (TRASH) classes. #jira UE-26761 Change 2999768 on 2016/06/03 by Maciej.Mroz #jira UE-31592, UE-31593 This is just workaound. FReferenceFinder::FindReferences doesn;t find Enum variable in UByteProperty. Change 2999770 on 2016/06/03 by Maciej.Mroz [Blueprint Nativization] Workaround for missing ==operator in native structures. The generated code uses special version of array funtions. Change 2999798 on 2016/06/03 by Mike.Beach Guarding against malformed Blueprints (ones without valid "authoratative" class) used as context for the node menu. Baffling how we'd get into this scenario, but this adds ensures to hopefully give us clues and stabalize the editor. #jira UE-31522 Change 2999941 on 2016/06/03 by Mike.Beach Correcting mistake in previously attempted fix (CL 2781229). Now using weak ptr IsValid checks to guard against destroyed nodes in deferred graph actions (TWeakObjectPtr::Get() does not check IsValid before returning). #jira UE-23371 Change 3001731 on 2016/06/06 by Phillip.Kavan [UE-30638] BP profiler will no longer crash at runtime while profiling events that call functions on an external target. change summary: - modified FBlueprintProfiler::ProcessEventProfilingData() to only remove 'Class' and 'Instance' signals on new events. - modified FScriptEventPlayback::NodeSignalHelper struct to include a new 'BlueprintContext' field. - modified FScriptEventPlayback::Process() to handle midstream context switches by updating the Blueprint/Function context on 'Class' and/or 'Instance' signals. - modified FScriptEventPlayback::Process() to cache and reference the current Blueprint context within the cached NodeSignalHelper while handling processed events. Change 3002075 on 2016/06/06 by Maciej.Mroz Improved FScriptBuilderBase::EmitTermExpr in KismetCompilerVMBackend. Literal expression can be emitted without known desitination property. #jira UE-28443 Set Boolean (by ref) crashes the editor on compile Change 3002096 on 2016/06/06 by Ben.Cosh This change expands the way that the blueprint profiler detects event nodes during mapping to include other non function graphs. #Jira UE-30716 - Blueprint Profiler crashes if function in another graph is called #Proj BlueprintProfiler Change 3002108 on 2016/06/06 by Ben.Cosh Adds a new default option to average the blueprint level stats in the profiler. #Jira UE-31386 - BP Profiler - Timings reported with "Show Instances" off (in the tree view) are not averaged #Proj Kismet, BlueprintProfiler - The controls were also getting a bit messy so I tidied them all up into a re-usable toolbar for convenience going forward. Change 3002782 on 2016/06/06 by samuel.proctor Test assets for Interface testing Change 3003826 on 2016/06/07 by Ben.Cosh A few minor visual improvements for the blueprint profiler. #Proj Kismet, BlueprintProfiler, EditorStyle - Updated the actor icon to match the world outliner and added some functionality to draw attention to stale/deleted actors. - Updated the pure node icon. Change 3004067 on 2016/06/07 by samuel.proctor New test asset for blueprint interfaces Change 3004069 on 2016/06/07 by samuel.proctor Updating asset for Interface testing Change 3004275 on 2016/06/07 by Ryan.Rauschkolb Fixed issue where Toggle Comment Bubble button for Reroute nodes would not rever tthe comment bubble to constant visibility #jira UE-23733 Change 3004329 on 2016/06/07 by Dan.Oconnor EdGraphPin is no longer a UObject, this will improve load times significantly on projects with large number of blueprints, but content does need to be resaved in order to see the improvement in load time. UObject counts are also greatly reduced. Change 3004418 on 2016/06/07 by Maciej.Mroz KismetCompilerVMBackend: Fixed issue, when a byte property has no enum specified (for examle parameter from EqualEqual_ByteByte) but the enum is needed to parse a literal value. Change 3004496 on 2016/06/07 by Dan.Oconnor Disabling expensive pin allocation tracking Change 3004649 on 2016/06/07 by Mike.Beach Preventing a new warning from being generated on trace point exceptions (trace point exceptions are used to hook into the debugger, and don't represent errors). #jira UE-31236 Change 3004667 on 2016/06/07 by Dan.Oconnor Removed my debugging logic Change 3004848 on 2016/06/07 by Dan.Oconnor Fix spammy ensure Change 3004871 on 2016/06/07 by Phillip.Kavan [UE-24950] No longer including components instanced as default subobjects of and attached to components instanced by construction script in the IWCE component tree view. change summary: - modified SSCSEditor::UpdateTree() to exclude child components instanced in native code as "nested" DSOs and parented to non-natively-constructed (e.g. Blueprint) components; these instances are no longer being shown in IWCE in order to avoid confusion, as they're not currently mutable at the instance level, will always be parented to something that is visible in the tree, and they're also not currently shown in the Blueprint editor's component tree view (because they're not stored in the CDO). - modified FSceneComponentData's ctor to exclude child components instanced in native code as nested DSOs from the AttachedInstancedComponents array; this allows child components instanced as nested DSOs to be disposed of along with the constructed parent instance when re-running construction scripts. Change 3005203 on 2016/06/07 by Dan.Oconnor Fix for undo/redo/serialization issues with ed graph pin change. When serialization logic was applied incrementally our attempts to keep LinkedTo symetrical and aggressively clear destroyed nodes caused problems #jira UE-31750 Change 3005441 on 2016/06/08 by Maciej.Mroz #jira UE-31625 Crash in nativized Orion AssembleReferenceTokenStream is called for Dynamic Classes: - in ConstructDynamicType() (when class is explicitly loaded) - in __CustomDynamicClassInitialization() (when CDO is created) Change 3005540 on 2016/06/08 by Ben.Cosh This adds the ability to track profiler instances between editor and PIE instances and displays the current status through the icon coloring. #Jira UE-30705 - Blueprint profiler stats lost if instance destroyed during PIE #Proj BlueprintProfiler, Kismet - The jira was already fixed but I think this change improves the instance status clarity Change 3006196 on 2016/06/08 by Dan.Oconnor Copy/paste logic for pin connections got lost in the shuffle #jira UE-31747 Change 3006416 on 2016/06/08 by Phillip.Kavan [UE-31735] Fix potential loss of GetClassDefaults node output pin links on load (due to dependency load order). change summary: - modified UK2Node_GetClassDefaults::GetInputClass() to redirect to the generated skeleton class only if it's valid. this ensures that output pins will be reallocated during node reconstruction even if the dependent Blueprint's skeleton class has not yet been generated on load. Change 3006522 on 2016/06/08 by Dan.Oconnor Under rare circumstances a deprecated pin comes in that is outered to the transient package #jira UE-31779 Change 3006576 on 2016/06/08 by Dan.Oconnor Fix for non-editor builds #jira UE-31796 Change 3006610 on 2016/06/08 by Phillip.Kavan [UE-31743] Fix data loss issue when loading a serialized non-native component class instance that's owned by an Actor-based Blueprint class instance. change summary: - modified FObjectInitializer::InitProperties() to disable fast path initialization for non-native class types when the default data does not equate to the non-native CDO (as is also done within the native path). this is necessary because the optimized property list that we generate at load time to support fast path initialization of Blueprint class instances is only applicable to the generated CDO. Change 3006824 on 2016/06/08 by Dan.Oconnor More undo/redo fixes, this time fixes for when transaction buffer changes # of pins, thus destabalizing the LinkedTo arrays #jira UE-31794 Change 3006828 on 2016/06/08 by Dan.Oconnor Fix for non-editor builds Change 3006857 on 2016/06/08 by Dan.Oconnor Investigating shutdown ensure, traced back to a static UEdGraphPin Change 3006907 on 2016/06/08 by Dan.Oconnor Noneditor build fix Change 3006929 on 2016/06/08 by Dan.Oconnor Deferring DeprecatedPins destruction until after UBlueprint has had a chance to fix up its watched pins, this is a better fix for #jira UE-31779 Change 3007133 on 2016/06/09 by Ben.Cosh Fix for issue in the profiler asserting creating pins that don't have unique names. #Jira UE-31752 - Crash compiling various Orion assets for blueprints profiling, ScriptExecNode.IsValid() failed #Proj BlueprintProfiler - I believe this was recently introduced with the changes to UEdGraphPin's Change 3007964 on 2016/06/09 by Dan.Oconnor Fix for PinHelpers::UnresolvedPins being left with stale entries by undo/redo #jira UE-31829 Change 3007996 on 2016/06/09 by Ryan.Rauschkolb Added 'empty' keyword to Array Clear Node. #jira UE-12356 Change 3008007 on 2016/06/09 by Ryan.Rauschkolb Added 'negate' keyword to boolean NOT node #jira UE-12490 Change 3008011 on 2016/06/09 by Ryan.Rauschkolb Added Vector2D * Vector2D multiplication node #jira UE-31503 Change 3008014 on 2016/06/09 by Ryan.Rauschkolb Fixed Cannot connect Make Array node output to MakeArray input with split pins #jira UE-28530 Change 3008243 on 2016/06/09 by Dan.Oconnor Fix for creation of FWeakGraphPinPtr from a pin that had been destroyed, client logic is still a bit broken in the case of the ClassDefaults node, but we're back to 'safe' #jira UE-31841 Change 3008289 on 2016/06/09 by Dan.Oconnor Editor transaction saves all state before applying undo/redo buffers when using 'bFlip' flow. This prevents messing with the object graph in the middle of saving state that will be restored later #jira UE-31794 Change 3008422 on 2016/06/09 by Dan.Oconnor Correct usage of GIsTransacting, replaced with Ar.IsTransacting() to correctly handle the case where we serialize after transacting but during the transaction (for instance, recompile blueprint in post undo, which we do quite a bit it turns out) #jira UE-31857 Change 3009164 on 2016/06/10 by Ryan.Rauschkolb Making changes to default values in the structure editor will now make changes to the structure without rebuilding the default values panel. #jira UE-21141,UE-23723 Change 3009165 on 2016/06/10 by Ryan.Rauschkolb Fixed Structure Default value editor collapses after undoing an alteration of a default value #jira UE-31741 Change 3009181 on 2016/06/10 by Ryan.Rauschkolb Fixed issue where modifying a default value in a Widget Blueprint would cause the Details Panel to refresh #jira UE-30014 Change 3009313 on 2016/06/10 by Mike.Beach Addressing issues with function return nodes in multiple ways: - Preventing users from deleting return nodes for overriden/inherited functions. - Also making sure that we create terminals for out params when the return node is disconnected (and pruned). - Lastly, ensuring that new return nodes adhere to the function's signature (for cases, like where you copy/paste a return node from a different function). #jira UE-31418 Change 3009595 on 2016/06/10 by Dan.Oconnor EdGraphPinReference using PinId to resolve itself again, may create issues resolving pins created in compile #jira UE-31879 Change 3009774 on 2016/06/10 by Dan.Oconnor Fix for bad logic in RemovePin introduced in 3004329, just a bad reading of the logic, missed an early return #jira UE-31906 Change 3009988 on 2016/06/10 by Dan.Oconnor Prefer to use existing pins (based on PinId) when undoing/redoing pin serialization #jira UE-31888 Change 3010050 on 2016/06/10 by Dan.Oconnor Fixed missing call to ssuper class's PostEditUndo, fixed UBehaviorTreeGraph::PostEditUndo accessing Pins before they have been resolved #jira UE-31892 Change 3010071 on 2016/06/10 by Dan.Oconnor Fix for pasting when owning node has whitespace in result of GetPathName #jira UE-31898 #coderview Bob.Tellez Change 3010244 on 2016/06/11 by Dan.Oconnor Fix for trivial copy/paste error, causes crash when copying/pasting nodes with text default values, part of UE-31870 Change 3010630 on 2016/06/13 by Dan.Oconnor No longer relying on path name for pin resolution, path is unstable across graphs #jira UE-31870 Change 3010647 on 2016/06/13 by Dan.Oconnor PR #2496: Updated KismetMathLibrary comparison descriptions for FDateTime and FTimespan. (Contributed by CelPlays) #jira UE-31928 Change 3011175 on 2016/06/13 by Ben.Cosh Updates the Blueprint Profiler so that it can correctly map entry/exit from tunnels based on instance. #Jira UE-30106 - Compiling QA_PhysVelocitySettleTest with the blueprint profiler results in a crash/assert #Proj Kismet, BlueprintProfiler - Ensured that the trace paths contain the macro instance exec nodes - Selectively update stats in the tunnel exit site nodes based on valid exit sites to prevent cyclic updates. - Updated the comments in map tunnel entry to spare peoples sanity when trying to understand what that function does. Change 3011271 on 2016/06/13 by Ben.Cosh This adds support for inherited blueprint classes to the blueprint profiler. #Jira UE-31833 - The Blueprint profiler asserts when using a FlipFlop macro. #Jira UE-31752 - Crash compiling various Orion assets for blueprints profiling, ScriptExecNode.IsValid() failed #Proj BlueprintProfiler Change 3011556 on 2016/06/13 by Ryan.Rauschkolb Fixed Crash when breaking link to a split pin in MakeArray that is an array type #jira UE-31919 Change 3011624 on 2016/06/13 by Dan.Oconnor Fix for missing entries in MessageLog's source pin identification map. Bob T had originally populated this correctly, but somehow i lost it while iterating. #jira UE-31955 Change 3011984 on 2016/06/13 by Dan.Oconnor Sanitizing parentpin's subpins when destroying a pin #jira UE-21392 Change 3012894 on 2016/06/14 by Phillip.Kavan [UE-30922] Ensure that customized defaults are propagated to new instances at construction time during non-Actor-based Blueprint class reinstancing. change summary: - modified FBlueprintCompileReinstancer::ReplaceInstancesOfClass_Inner() to use the reinstanced archetype object as the template object during construction of the new instance for non-Actor-based Blueprint class types. #jira UE-30922 Change 3013037 on 2016/06/14 by Ryan.Rauschkolb Fixed Crash when connecting to a split pin in a MakeArray node that has no connections #jira UE-31917 Change 3014846 on 2016/06/15 by Dan.Oconnor No longer using FText::IsLetter to parse math expression nodes, that function is very slow. $x is now a valid math expression variable name (genereated a compile error prior to this change) #jira FORT-23753 Change 3015014 on 2016/06/15 by Dan.Oconnor Removing poorly implement IsLetter function Change 3015142 on 2016/06/15 by Dan.Oconnor More intentional about removing subpins, prevents stale iterator on split pin collapse #jira UE-32072 Change 3016326 on 2016/06/16 by Ryan.Rauschkolb Fixed MakeArray node does not reset to wildcard when breaking links with split struct pins that have default values #jira UE-32016 Change 3016494 on 2016/06/16 by Ryan.Rauschkolb Fixed Crash when dragging a component into the Event Graph that's inherited from a C++ class #jira UE-31876 Change 3016557 on 2016/06/16 by Dan.Oconnor Explicit copy/move of string data for FText, removes some redundant copying and object construction/destruction [which could be optimzed away], saves 2-3 seconds in my 80s load asset benchmark #jira FORT-23753 Change 3016577 on 2016/06/16 by Ryan.Rauschkolb Fixed compiler warning for hidden member variable in FBlueprintVarActionDetails::GetVariableReplicationType Change 3016906 on 2016/06/16 by Dan.Oconnor Back out changelist 3016557 This will be done by Jamie.Dale in Dev-Editor Change 3018081 on 2016/06/17 by Phillip.Kavan [UE-31832] PR #2486: Expose UInheritableComponentHandler::GetAllTemplates() outside of editor (Contributed by Bogustus) #jira UE-31832 Change 3018402 on 2016/06/17 by Dan.Oconnor Missing include Change 3018426 on 2016/06/17 by Ryan.Rauschkolb Fixed MakeArray node with split pins and no connections does not paste correctly #jira UE-32148 Change 3018452 on 2016/06/17 by Mike.Beach Moving the patching of instanced sub-objects out of CPFUO (where you can't rely on the target to be a replacement for the source) to FBlueprintEditorUtils::PatchCDOSubobjectsIntoExport(), and making it so PatchCDOSubobjectsIntoExport() is called regularly for Blueprint regeneration (on load). #jira UE-32158 Change 3018456 on 2016/06/17 by Dan.Oconnor Fix for static analysis warning, this null check does nothing Change 3018595 on 2016/06/17 by Mike.Beach Fix for shadowed variable warning in CIS. Change 3018699 on 2016/06/17 by Mike.Beach Making MinimumAreaRectangle callable in Blueprints without world context (which is only needed for debug drawing). Change 3019734 on 2016/06/20 by Phillip.Kavan [UE-32064] Clone associated component template(s) when duplicating Blueprint function graphs containing one or more Add Component nodes. change summary: - added a UK2Node_AddComponent::PostDuplicate() override - moved UK2Node_AddComponent::PostPasteNode() logic into a helper method that's now called from both PostDuplicate() and PostPasteNode() overrides. notes: - will prevent getting into the scenario described in UE-31831 #jira UE-32064 Change 3020635 on 2016/06/20 by Dan.Oconnor Fix for bad cast in FCompilerResultsLog::Append, could cause crashes in clients of this function (math expressions nodes occasionally do when they fail to compile) Change 3020894 on 2016/06/21 by Maciej.Mroz #2522: Interface UProperties can ExposeOnSpawn (in Blueprints) (Contributed by MichaelSchoell) Change 3020958 on 2016/06/21 by Ben.Cosh This improves the way key events are detected in the blueprint profiler, preventing duplicate event entries when pressed and released are both wired. It also catches a bug with the compiler instrumentation flag when compiling. #Jira UE-32270 - Input key events generate extra instrumentation data per key press #Jira UE-32266 - Recompiling blueprints with instrumentation can fail to add instrumentation. #Proj BlueprintProfiler, UnrealEd Change 3021316 on 2016/06/21 by Ryan.Rauschkolb Fixed issue where Copy/Paste of event nodes would not retain link information Change 3021826 on 2016/06/21 by Phillip.Kavan [UE-31831] Fix up AddComponent nodes on load if they are not associated with a unique template object. change summary: - added external linkage to UK2Node_AddComponent::MakeNewComponentTemplate(), and switched it to be a public API - modified FBlueprintEditorUtils::UpdateComponentTemplates() (as this is already called on Blueprint load) to detect/warn and correct non-unique templates #jira UE-31831 Change 3022047 on 2016/06/21 by Ryan.Rauschkolb Fixed issue where copy/paste of return nodes would not preserve value or link data #jira UE-26937 Change 3022619 on 2016/06/22 by Maciej.Mroz #jira UE-30858 Nativized Orion - Some particle effects are not rendering A static/persistent information (the mechanism is similar to AssetRegistrySearchable) about DynamicClass is added. It's necessary since DynamicClasses are not handled as regular assets by AssetRegistry. Fixed GameplayCueManager. Nativized cues can be found. This is an early version of the feature. Amount of stored persistent data can be extended (but it would increase memory-usage). Change 3022654 on 2016/06/22 by Maciej.Mroz FBackendHelperStaticSearchableValues -fixed too strict ensure Change 3023067 on 2016/06/22 by Maciej.Mroz #jira UE-32083 Nativize Blueprints removes blueprint functionality in packaged project Config settings from super class are not applied (at runtime) to nativized Blueprints . So all "config" properties are filled in constructor. Change 3023222 on 2016/06/22 by Ryan.Rauschkolb Fixed MakeArray node elements break when editing struct elements #jira UE-21392 Change 3023405 on 2016/06/22 by Mike.Beach Making sure sub-objects get instanced for Blueprint CDOs that had their FObjectInitializer deferred (happens when the super CDO hasn't been fully serialized). By the time the deferred FObjectInitializer is ran, the sub-objects have been assigned a RF_NeedLoad flag (where they normally wouldn't have one right after construction, when the initialization is usually ran). #jira UE-31897 Change 3023992 on 2016/06/22 by Mike.Beach Fixed an issue where hovering on/off a reroute node (toggling the comment bubble visibility) would create extraneous undo transactions. #jira UE-31859 [CL 3025946 by Mike Beach in Main branch]
2016-06-23 19:35:24 -04:00
// Move connections from fake 'enum exec' pin to this switch node
CompilerContext.MovePinLinksToIntermediate(*Pin, *SwitchEnumNode->FindPinChecked(Pin->PinName));
// Finally remove this 'cosmetic' exec pin
Copying //UE4/Dev-Blueprints to //UE4/Dev-Main (Source: //UE4/Dev-Blueprints @ 3025888) #rb none #lockdown Nick.Penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2927746 on 2016/03/30 by Michael.Schoell Local variables in function graphs will now store a hard reference to their UObject value. Fixes a crash when a Blueprint is saved before compiling with the local variable's value set. Ensures that the UObject is loaded with the Blueprint. #jira UE-27738 - Local variables in a function that is in a blueprint will somehow become invalid when calling a native Change 2927751 on 2016/03/30 by Michael.Schoell Back out changelist 2927746 Change 2986483 on 2016/05/23 by Maciej.Mroz #jira UE-30976 Editable enum values set on an instance are lost during nativization Added overriden names of Enum keys. Change 2986712 on 2016/05/23 by Phillip.Kavan [UE-21010] Apply updated transform to component template instances when changing the scene root in a Blueprint class. change summary: - modified SSCS_RowWidget::OnMakeNewRootDropAction() to propagate the location/rotation reset to instances of the component template that's becoming the new scene root. Change 2987406 on 2016/05/23 by Ryan.Rauschkolb Fixed Functions filter in Find-In-Blueprints will show components from the SCS #jira UE-30140 Change 2988925 on 2016/05/24 by Ryan.Rauschkolb Fixed Issue where certain primitives would not automatically type cast to Text in Blueprint graph. #jira UE-20232 Change 2989001 on 2016/05/24 by Dan.Oconnor PR #2418: Fixed a typo in Blueprint.h (Contributed by PistonMiner) #jira UE-31142 Change 2989447 on 2016/05/25 by Phillip.Kavan [UE-30807] Propagate edit condition property value changes to instances of template objects. change summary: - modified FPropertyEditor::SetEditConditionState() to propagate an EditConditionProperty value change to all instances if the outer owning object is a template (e.g. CDO) Change 2989804 on 2016/05/25 by Phillip.Kavan [UE-30289] Preserve relative scale on the root scene component when converting an Actor instance to a Blueprint Class. change summary: - modified FKismetEditorUtilities::CreateBlueprintFromActor() to post-copy the relative scale value from the Actor's root component to the new Blueprint CDO's root component Change 2990234 on 2016/05/25 by Ryan.Rauschkolb Fixed issue where including a period ina Blueprint function causes double-click to fail to open its graph #jira UE-4426 Change 2990566 on 2016/05/25 by Mike.Beach Better warn logging to help locate variable nodes that emit a "variable not found" message. Change 2991083 on 2016/05/26 by Maciej.Mroz Blueprint nativization: converted classes have "config" specified. Change 2991363 on 2016/05/26 by Phillip.Kavan [UE-19599] Copy-and-paste of Actor instances from level to Blueprint/IWCE component tree views now adds properly-initialized components. change summary: - modified FCustomizableTextObjectFactory::CanCreateObjectsFromText() to handle "Begin Actor/End Actor" blocks in T3D text - modified FCustomizableTextObjectFactory::ProcessBuffer() to handle "Begin Actor/End Actor" blocks in T3D text (so that Actor-type objects can be processed) - modified FComponentObjectTextFactory::CanCreateClass() to allow Actor-type objects to pass - modified FComponentObjectTextFactory::ProcessConstructedObject() to handle Actor-type objects and pull out owned component instances as constructed objects Change 2992990 on 2016/05/27 by Ryan.Rauschkolb Fixed issue where Connecting Self Reference Pin to a String pin does not fully connect the generated GetDisplayName node #jira UE-21973 Change 2992995 on 2016/05/27 by Ryan.Rauschkolb Fixed issue where GetClass node is not listed in the Context Menu when pulling from a self node and Context Sensitive is checked. #jira UE-30990 Change 2993449 on 2016/05/27 by Phillip.Kavan [UE-31379] Don't instrument "preview" Actor instances during Blueprint profiler script event processing. change summary: - modified FBlueprintProfiler::InstrumentEvent() to check for and bypass Actor instances belonging to a preview or inactive world type. Change 2993531 on 2016/05/27 by Mike.Beach PR #2433: Interface functions inherited from a native base class now appear in . (Contributed by MichaelSchoell) Change 2993969 on 2016/05/30 by Maciej.Mroz UE-30729 Crash in Native Orion when selecting Sword or Tomahawk Clear AsyncLoading in subobjects. Change 2993990 on 2016/05/30 by Phillip.Kavan [UE-30984] Exclude reroute nodes from Blueprint profiler node mapping. change summary: - modified FBlueprintFunctionContext::MapInputPins() to pass through non-relevant nodes when iterating through non-exec input pin links. - modified FBlueprintFunctionContext::MapExecPins() to pass through non-relevant nodes when iterating through output exec pin links. - modified FBlueprintFunctionContext::MapTunnelEntry() to pass through non-relevant nodes when iterating through tunnel node exit points. - modified FBlueprintFunctionContext::MapTunnelInstance() to pass through non-relevant nodes when iterating through tunnel graph entry points. Change 2994591 on 2016/05/31 by Ryan.Rauschkolb Fixed issue where inherited Blueprint variable would not show parent's replications settings #jira UE-18912 Change 2994613 on 2016/05/31 by Ben.Cosh Minor refactor and Various fixes to the blueprint profiler moving towards MVP goal. #Jira UE-27039 - Blueprint Profiler does not lists stats when calling an Event Dispatcher #Jira UE-31396 - Blueprint profiler crashes inside the profiler connection drawing policy #Jira UE-30957 - "Pure Time" does not populate with data in the Blueprint Profiler #Jira UE-30926 - Blueprint profiler - expose heatmap thresholds to user through the profiler tab #Jira UE-30909 - Blueprint Profiler - "compile" icon should denote Blueprint's instrumented status #Jira UE-30911 - Blueprint profiler tab/panel should display warning when Blueprint is uninstrumented #Jira UE-31385 - BP Profiler - Inclusive time column should be entirely filled out #Jira UE-31375 - BP Profiler - Default sample averaging to the "arithmetic mean" #Jira UE-31377 - BP Profiler - Default tree view filtering to off #Jira UE-31387 - BP Profiler - Remove the "view type" button for MVP #Jira UE-31384 - BP Profiler - In the tree view, rename the first time column "Avg. Time (ms)" Notes:- - Sequence node inclusive time fixed - Trace History tidy up - Compile Icon and status messages for instrumentation - Message in the profiler tab for instrumentation - Profiler view tidy up and heat thresholds controls added - fixed the summed execution branch stats - fixed the connection drawing policy to use branch pin stats and fixed the crash from UE-31396 - added hottest path and hottest endpoint wire heatmaps - switched off the graph filter by default - added total time for the heatmaps - fixed issue where initialising mapped functions caused an assert due to changes to the array/map in initialisation code Change 2995058 on 2016/05/31 by Phillip.Kavan [UE-30718] Native/const implementable events will no longer cause a crash at runtime when the Blueprint profiler is running. change summary: - modified UObject::ProcessEvent() to bypass instrumentation for native event functions that are not implemented (overridden) in a BP class. - modified FScriptEventPlayback::Process() to first check for a standalone function match (UCS, implementable events declared as 'const') before settling on the ubergraph function for the target context. Change 2995218 on 2016/05/31 by Phillip.Kavan [UE-30778] Restored non-K2 compact graph nodes (e.g. Material Editor) to previous size. change summary: - modified SGraphNode::GetNodeIndicatorOverlayVisibility() default impl to return 'Collapsed' by default, so it doesn't affect layout. Change 2996417 on 2016/06/01 by Phillip.Kavan [UE-16073] Basic shape components (cube etc.) will now apply the correct override material to instances after being added through the component tree in the Blueprint editor. change summary: - modified the 'OnBasicShapeCreated' lambda in FComponentTypeRegistryData::AddBasicShapeComponents() to propagate the material override to all instances when the given component is an archetype (template) object. Change 2997001 on 2016/06/01 by Ryan.Rauschkolb Fixed Double Clicking a component in the results of Find-In-Blueprints does not select the component #jira UE-30143 Change 2997521 on 2016/06/02 by Maciej.Mroz [Blueprint Nativization] - Added FilesToIncludeInModuleHeader config variable in BlueprintNativizationSettings. So some headers can be included in NativizedAssets.h - Guids of nodes are no longer recreated when Blueprint is duplicated for "C++ compilation". Previously child bp used variable names based on original parent class, but nativized parent class had guids recreated. Change 2997522 on 2016/06/02 by Maciej.Mroz Native implementation of NOEXPORT FInterpCurvePoint structures. (It's necessary for Blueprint nativization) Change 2997638 on 2016/06/02 by Maciej.Mroz Improvements for Blueprint Nativization: - Overridden names in nativized code have proper escape characters (in generated code). - OnlyDefaultConstructorDeclared metadata is replaced by ObjectInitializerConstructorDeclared - Arrays of nativized anum have the following form: TArray<Enum> (previously it was TArray<TEnumAsByte<Enum>>) - warning C4883 is disabled in .generated.cpp files for nativized module Change 2997639 on 2016/06/02 by Maciej.Mroz Minor improvements in Ocean gameplay code. Required for Blueprint Nativization. #jira UE-28945 Failure packaging Nativized Ocean Change 2997656 on 2016/06/02 by Maciej.Mroz Various improvements in BlueprintCompilerCppBackend: - Fixed interface cast - Fixed TSwitchValue issue (when used with literals) - Fixed improper name for NativeBlueprintEvent (when calling parent's implementation) - Fixed bitfield getter code. - Reduce code size (less UsedAssets, less ReferencedConvertedFields, cached UEnums) - operator == is generated for nativized structs - Fixed AssedId (AssetPtr) constructor in nativized code. - Fixed arrays of noexport struct - Fixed missing headers for native single cast delegate signature. - Fixed issue when default constructor (in native) is missing (constructor with FObjectInitialized, wont be used automatically). See "ObjectInitializerConstructorDeclared" metadata. Change 2997691 on 2016/06/02 by Maciej.Mroz operator == in FText. It is required for some functions in TArray<FText> Change 2997793 on 2016/06/02 by Ben.Cosh Added support for BaseAsyncTask nodes, fixed a problem with instance mapping and turned off the debug instance filter #Jira UE-30703 - Crash using blueprint profiler on AI pawn using nav mesh #Proj BlueprintProfiler, Kismet Change 2997901 on 2016/06/02 by Maciej.Mroz Back out changelist 2997691 Change 2998038 on 2016/06/02 by Mike.Beach Merging //UE4/Dev-Main to Dev-Blueprints (//UE4/Dev-Blueprints) Change 2998052 on 2016/06/02 by Ryan.Rauschkolb Fixed Comment bubbles not remembering changes after losing focus #jira UE-20012 Change 2998450 on 2016/06/02 by Phillip.Kavan [UE-31550] Fix crash on load of a Blueprint class containing a bitmask variable with missing enum type metadata. change summary: - modified FBlueprintEditorUtils::ValidateBlueprintVariableMetadata() to check for presence of bitmask enum type metadata on a variable before trying to validate it. Change 2999763 on 2016/06/03 by Mike.Beach Guarding against a crash with an ensure - attempting to catch why this is happening by logging more info, as we're unable to repro it. Guarding against nodes which reference malformed (TRASH) classes. #jira UE-26761 Change 2999768 on 2016/06/03 by Maciej.Mroz #jira UE-31592, UE-31593 This is just workaound. FReferenceFinder::FindReferences doesn;t find Enum variable in UByteProperty. Change 2999770 on 2016/06/03 by Maciej.Mroz [Blueprint Nativization] Workaround for missing ==operator in native structures. The generated code uses special version of array funtions. Change 2999798 on 2016/06/03 by Mike.Beach Guarding against malformed Blueprints (ones without valid "authoratative" class) used as context for the node menu. Baffling how we'd get into this scenario, but this adds ensures to hopefully give us clues and stabalize the editor. #jira UE-31522 Change 2999941 on 2016/06/03 by Mike.Beach Correcting mistake in previously attempted fix (CL 2781229). Now using weak ptr IsValid checks to guard against destroyed nodes in deferred graph actions (TWeakObjectPtr::Get() does not check IsValid before returning). #jira UE-23371 Change 3001731 on 2016/06/06 by Phillip.Kavan [UE-30638] BP profiler will no longer crash at runtime while profiling events that call functions on an external target. change summary: - modified FBlueprintProfiler::ProcessEventProfilingData() to only remove 'Class' and 'Instance' signals on new events. - modified FScriptEventPlayback::NodeSignalHelper struct to include a new 'BlueprintContext' field. - modified FScriptEventPlayback::Process() to handle midstream context switches by updating the Blueprint/Function context on 'Class' and/or 'Instance' signals. - modified FScriptEventPlayback::Process() to cache and reference the current Blueprint context within the cached NodeSignalHelper while handling processed events. Change 3002075 on 2016/06/06 by Maciej.Mroz Improved FScriptBuilderBase::EmitTermExpr in KismetCompilerVMBackend. Literal expression can be emitted without known desitination property. #jira UE-28443 Set Boolean (by ref) crashes the editor on compile Change 3002096 on 2016/06/06 by Ben.Cosh This change expands the way that the blueprint profiler detects event nodes during mapping to include other non function graphs. #Jira UE-30716 - Blueprint Profiler crashes if function in another graph is called #Proj BlueprintProfiler Change 3002108 on 2016/06/06 by Ben.Cosh Adds a new default option to average the blueprint level stats in the profiler. #Jira UE-31386 - BP Profiler - Timings reported with "Show Instances" off (in the tree view) are not averaged #Proj Kismet, BlueprintProfiler - The controls were also getting a bit messy so I tidied them all up into a re-usable toolbar for convenience going forward. Change 3002782 on 2016/06/06 by samuel.proctor Test assets for Interface testing Change 3003826 on 2016/06/07 by Ben.Cosh A few minor visual improvements for the blueprint profiler. #Proj Kismet, BlueprintProfiler, EditorStyle - Updated the actor icon to match the world outliner and added some functionality to draw attention to stale/deleted actors. - Updated the pure node icon. Change 3004067 on 2016/06/07 by samuel.proctor New test asset for blueprint interfaces Change 3004069 on 2016/06/07 by samuel.proctor Updating asset for Interface testing Change 3004275 on 2016/06/07 by Ryan.Rauschkolb Fixed issue where Toggle Comment Bubble button for Reroute nodes would not rever tthe comment bubble to constant visibility #jira UE-23733 Change 3004329 on 2016/06/07 by Dan.Oconnor EdGraphPin is no longer a UObject, this will improve load times significantly on projects with large number of blueprints, but content does need to be resaved in order to see the improvement in load time. UObject counts are also greatly reduced. Change 3004418 on 2016/06/07 by Maciej.Mroz KismetCompilerVMBackend: Fixed issue, when a byte property has no enum specified (for examle parameter from EqualEqual_ByteByte) but the enum is needed to parse a literal value. Change 3004496 on 2016/06/07 by Dan.Oconnor Disabling expensive pin allocation tracking Change 3004649 on 2016/06/07 by Mike.Beach Preventing a new warning from being generated on trace point exceptions (trace point exceptions are used to hook into the debugger, and don't represent errors). #jira UE-31236 Change 3004667 on 2016/06/07 by Dan.Oconnor Removed my debugging logic Change 3004848 on 2016/06/07 by Dan.Oconnor Fix spammy ensure Change 3004871 on 2016/06/07 by Phillip.Kavan [UE-24950] No longer including components instanced as default subobjects of and attached to components instanced by construction script in the IWCE component tree view. change summary: - modified SSCSEditor::UpdateTree() to exclude child components instanced in native code as "nested" DSOs and parented to non-natively-constructed (e.g. Blueprint) components; these instances are no longer being shown in IWCE in order to avoid confusion, as they're not currently mutable at the instance level, will always be parented to something that is visible in the tree, and they're also not currently shown in the Blueprint editor's component tree view (because they're not stored in the CDO). - modified FSceneComponentData's ctor to exclude child components instanced in native code as nested DSOs from the AttachedInstancedComponents array; this allows child components instanced as nested DSOs to be disposed of along with the constructed parent instance when re-running construction scripts. Change 3005203 on 2016/06/07 by Dan.Oconnor Fix for undo/redo/serialization issues with ed graph pin change. When serialization logic was applied incrementally our attempts to keep LinkedTo symetrical and aggressively clear destroyed nodes caused problems #jira UE-31750 Change 3005441 on 2016/06/08 by Maciej.Mroz #jira UE-31625 Crash in nativized Orion AssembleReferenceTokenStream is called for Dynamic Classes: - in ConstructDynamicType() (when class is explicitly loaded) - in __CustomDynamicClassInitialization() (when CDO is created) Change 3005540 on 2016/06/08 by Ben.Cosh This adds the ability to track profiler instances between editor and PIE instances and displays the current status through the icon coloring. #Jira UE-30705 - Blueprint profiler stats lost if instance destroyed during PIE #Proj BlueprintProfiler, Kismet - The jira was already fixed but I think this change improves the instance status clarity Change 3006196 on 2016/06/08 by Dan.Oconnor Copy/paste logic for pin connections got lost in the shuffle #jira UE-31747 Change 3006416 on 2016/06/08 by Phillip.Kavan [UE-31735] Fix potential loss of GetClassDefaults node output pin links on load (due to dependency load order). change summary: - modified UK2Node_GetClassDefaults::GetInputClass() to redirect to the generated skeleton class only if it's valid. this ensures that output pins will be reallocated during node reconstruction even if the dependent Blueprint's skeleton class has not yet been generated on load. Change 3006522 on 2016/06/08 by Dan.Oconnor Under rare circumstances a deprecated pin comes in that is outered to the transient package #jira UE-31779 Change 3006576 on 2016/06/08 by Dan.Oconnor Fix for non-editor builds #jira UE-31796 Change 3006610 on 2016/06/08 by Phillip.Kavan [UE-31743] Fix data loss issue when loading a serialized non-native component class instance that's owned by an Actor-based Blueprint class instance. change summary: - modified FObjectInitializer::InitProperties() to disable fast path initialization for non-native class types when the default data does not equate to the non-native CDO (as is also done within the native path). this is necessary because the optimized property list that we generate at load time to support fast path initialization of Blueprint class instances is only applicable to the generated CDO. Change 3006824 on 2016/06/08 by Dan.Oconnor More undo/redo fixes, this time fixes for when transaction buffer changes # of pins, thus destabalizing the LinkedTo arrays #jira UE-31794 Change 3006828 on 2016/06/08 by Dan.Oconnor Fix for non-editor builds Change 3006857 on 2016/06/08 by Dan.Oconnor Investigating shutdown ensure, traced back to a static UEdGraphPin Change 3006907 on 2016/06/08 by Dan.Oconnor Noneditor build fix Change 3006929 on 2016/06/08 by Dan.Oconnor Deferring DeprecatedPins destruction until after UBlueprint has had a chance to fix up its watched pins, this is a better fix for #jira UE-31779 Change 3007133 on 2016/06/09 by Ben.Cosh Fix for issue in the profiler asserting creating pins that don't have unique names. #Jira UE-31752 - Crash compiling various Orion assets for blueprints profiling, ScriptExecNode.IsValid() failed #Proj BlueprintProfiler - I believe this was recently introduced with the changes to UEdGraphPin's Change 3007964 on 2016/06/09 by Dan.Oconnor Fix for PinHelpers::UnresolvedPins being left with stale entries by undo/redo #jira UE-31829 Change 3007996 on 2016/06/09 by Ryan.Rauschkolb Added 'empty' keyword to Array Clear Node. #jira UE-12356 Change 3008007 on 2016/06/09 by Ryan.Rauschkolb Added 'negate' keyword to boolean NOT node #jira UE-12490 Change 3008011 on 2016/06/09 by Ryan.Rauschkolb Added Vector2D * Vector2D multiplication node #jira UE-31503 Change 3008014 on 2016/06/09 by Ryan.Rauschkolb Fixed Cannot connect Make Array node output to MakeArray input with split pins #jira UE-28530 Change 3008243 on 2016/06/09 by Dan.Oconnor Fix for creation of FWeakGraphPinPtr from a pin that had been destroyed, client logic is still a bit broken in the case of the ClassDefaults node, but we're back to 'safe' #jira UE-31841 Change 3008289 on 2016/06/09 by Dan.Oconnor Editor transaction saves all state before applying undo/redo buffers when using 'bFlip' flow. This prevents messing with the object graph in the middle of saving state that will be restored later #jira UE-31794 Change 3008422 on 2016/06/09 by Dan.Oconnor Correct usage of GIsTransacting, replaced with Ar.IsTransacting() to correctly handle the case where we serialize after transacting but during the transaction (for instance, recompile blueprint in post undo, which we do quite a bit it turns out) #jira UE-31857 Change 3009164 on 2016/06/10 by Ryan.Rauschkolb Making changes to default values in the structure editor will now make changes to the structure without rebuilding the default values panel. #jira UE-21141,UE-23723 Change 3009165 on 2016/06/10 by Ryan.Rauschkolb Fixed Structure Default value editor collapses after undoing an alteration of a default value #jira UE-31741 Change 3009181 on 2016/06/10 by Ryan.Rauschkolb Fixed issue where modifying a default value in a Widget Blueprint would cause the Details Panel to refresh #jira UE-30014 Change 3009313 on 2016/06/10 by Mike.Beach Addressing issues with function return nodes in multiple ways: - Preventing users from deleting return nodes for overriden/inherited functions. - Also making sure that we create terminals for out params when the return node is disconnected (and pruned). - Lastly, ensuring that new return nodes adhere to the function's signature (for cases, like where you copy/paste a return node from a different function). #jira UE-31418 Change 3009595 on 2016/06/10 by Dan.Oconnor EdGraphPinReference using PinId to resolve itself again, may create issues resolving pins created in compile #jira UE-31879 Change 3009774 on 2016/06/10 by Dan.Oconnor Fix for bad logic in RemovePin introduced in 3004329, just a bad reading of the logic, missed an early return #jira UE-31906 Change 3009988 on 2016/06/10 by Dan.Oconnor Prefer to use existing pins (based on PinId) when undoing/redoing pin serialization #jira UE-31888 Change 3010050 on 2016/06/10 by Dan.Oconnor Fixed missing call to ssuper class's PostEditUndo, fixed UBehaviorTreeGraph::PostEditUndo accessing Pins before they have been resolved #jira UE-31892 Change 3010071 on 2016/06/10 by Dan.Oconnor Fix for pasting when owning node has whitespace in result of GetPathName #jira UE-31898 #coderview Bob.Tellez Change 3010244 on 2016/06/11 by Dan.Oconnor Fix for trivial copy/paste error, causes crash when copying/pasting nodes with text default values, part of UE-31870 Change 3010630 on 2016/06/13 by Dan.Oconnor No longer relying on path name for pin resolution, path is unstable across graphs #jira UE-31870 Change 3010647 on 2016/06/13 by Dan.Oconnor PR #2496: Updated KismetMathLibrary comparison descriptions for FDateTime and FTimespan. (Contributed by CelPlays) #jira UE-31928 Change 3011175 on 2016/06/13 by Ben.Cosh Updates the Blueprint Profiler so that it can correctly map entry/exit from tunnels based on instance. #Jira UE-30106 - Compiling QA_PhysVelocitySettleTest with the blueprint profiler results in a crash/assert #Proj Kismet, BlueprintProfiler - Ensured that the trace paths contain the macro instance exec nodes - Selectively update stats in the tunnel exit site nodes based on valid exit sites to prevent cyclic updates. - Updated the comments in map tunnel entry to spare peoples sanity when trying to understand what that function does. Change 3011271 on 2016/06/13 by Ben.Cosh This adds support for inherited blueprint classes to the blueprint profiler. #Jira UE-31833 - The Blueprint profiler asserts when using a FlipFlop macro. #Jira UE-31752 - Crash compiling various Orion assets for blueprints profiling, ScriptExecNode.IsValid() failed #Proj BlueprintProfiler Change 3011556 on 2016/06/13 by Ryan.Rauschkolb Fixed Crash when breaking link to a split pin in MakeArray that is an array type #jira UE-31919 Change 3011624 on 2016/06/13 by Dan.Oconnor Fix for missing entries in MessageLog's source pin identification map. Bob T had originally populated this correctly, but somehow i lost it while iterating. #jira UE-31955 Change 3011984 on 2016/06/13 by Dan.Oconnor Sanitizing parentpin's subpins when destroying a pin #jira UE-21392 Change 3012894 on 2016/06/14 by Phillip.Kavan [UE-30922] Ensure that customized defaults are propagated to new instances at construction time during non-Actor-based Blueprint class reinstancing. change summary: - modified FBlueprintCompileReinstancer::ReplaceInstancesOfClass_Inner() to use the reinstanced archetype object as the template object during construction of the new instance for non-Actor-based Blueprint class types. #jira UE-30922 Change 3013037 on 2016/06/14 by Ryan.Rauschkolb Fixed Crash when connecting to a split pin in a MakeArray node that has no connections #jira UE-31917 Change 3014846 on 2016/06/15 by Dan.Oconnor No longer using FText::IsLetter to parse math expression nodes, that function is very slow. $x is now a valid math expression variable name (genereated a compile error prior to this change) #jira FORT-23753 Change 3015014 on 2016/06/15 by Dan.Oconnor Removing poorly implement IsLetter function Change 3015142 on 2016/06/15 by Dan.Oconnor More intentional about removing subpins, prevents stale iterator on split pin collapse #jira UE-32072 Change 3016326 on 2016/06/16 by Ryan.Rauschkolb Fixed MakeArray node does not reset to wildcard when breaking links with split struct pins that have default values #jira UE-32016 Change 3016494 on 2016/06/16 by Ryan.Rauschkolb Fixed Crash when dragging a component into the Event Graph that's inherited from a C++ class #jira UE-31876 Change 3016557 on 2016/06/16 by Dan.Oconnor Explicit copy/move of string data for FText, removes some redundant copying and object construction/destruction [which could be optimzed away], saves 2-3 seconds in my 80s load asset benchmark #jira FORT-23753 Change 3016577 on 2016/06/16 by Ryan.Rauschkolb Fixed compiler warning for hidden member variable in FBlueprintVarActionDetails::GetVariableReplicationType Change 3016906 on 2016/06/16 by Dan.Oconnor Back out changelist 3016557 This will be done by Jamie.Dale in Dev-Editor Change 3018081 on 2016/06/17 by Phillip.Kavan [UE-31832] PR #2486: Expose UInheritableComponentHandler::GetAllTemplates() outside of editor (Contributed by Bogustus) #jira UE-31832 Change 3018402 on 2016/06/17 by Dan.Oconnor Missing include Change 3018426 on 2016/06/17 by Ryan.Rauschkolb Fixed MakeArray node with split pins and no connections does not paste correctly #jira UE-32148 Change 3018452 on 2016/06/17 by Mike.Beach Moving the patching of instanced sub-objects out of CPFUO (where you can't rely on the target to be a replacement for the source) to FBlueprintEditorUtils::PatchCDOSubobjectsIntoExport(), and making it so PatchCDOSubobjectsIntoExport() is called regularly for Blueprint regeneration (on load). #jira UE-32158 Change 3018456 on 2016/06/17 by Dan.Oconnor Fix for static analysis warning, this null check does nothing Change 3018595 on 2016/06/17 by Mike.Beach Fix for shadowed variable warning in CIS. Change 3018699 on 2016/06/17 by Mike.Beach Making MinimumAreaRectangle callable in Blueprints without world context (which is only needed for debug drawing). Change 3019734 on 2016/06/20 by Phillip.Kavan [UE-32064] Clone associated component template(s) when duplicating Blueprint function graphs containing one or more Add Component nodes. change summary: - added a UK2Node_AddComponent::PostDuplicate() override - moved UK2Node_AddComponent::PostPasteNode() logic into a helper method that's now called from both PostDuplicate() and PostPasteNode() overrides. notes: - will prevent getting into the scenario described in UE-31831 #jira UE-32064 Change 3020635 on 2016/06/20 by Dan.Oconnor Fix for bad cast in FCompilerResultsLog::Append, could cause crashes in clients of this function (math expressions nodes occasionally do when they fail to compile) Change 3020894 on 2016/06/21 by Maciej.Mroz #2522: Interface UProperties can ExposeOnSpawn (in Blueprints) (Contributed by MichaelSchoell) Change 3020958 on 2016/06/21 by Ben.Cosh This improves the way key events are detected in the blueprint profiler, preventing duplicate event entries when pressed and released are both wired. It also catches a bug with the compiler instrumentation flag when compiling. #Jira UE-32270 - Input key events generate extra instrumentation data per key press #Jira UE-32266 - Recompiling blueprints with instrumentation can fail to add instrumentation. #Proj BlueprintProfiler, UnrealEd Change 3021316 on 2016/06/21 by Ryan.Rauschkolb Fixed issue where Copy/Paste of event nodes would not retain link information Change 3021826 on 2016/06/21 by Phillip.Kavan [UE-31831] Fix up AddComponent nodes on load if they are not associated with a unique template object. change summary: - added external linkage to UK2Node_AddComponent::MakeNewComponentTemplate(), and switched it to be a public API - modified FBlueprintEditorUtils::UpdateComponentTemplates() (as this is already called on Blueprint load) to detect/warn and correct non-unique templates #jira UE-31831 Change 3022047 on 2016/06/21 by Ryan.Rauschkolb Fixed issue where copy/paste of return nodes would not preserve value or link data #jira UE-26937 Change 3022619 on 2016/06/22 by Maciej.Mroz #jira UE-30858 Nativized Orion - Some particle effects are not rendering A static/persistent information (the mechanism is similar to AssetRegistrySearchable) about DynamicClass is added. It's necessary since DynamicClasses are not handled as regular assets by AssetRegistry. Fixed GameplayCueManager. Nativized cues can be found. This is an early version of the feature. Amount of stored persistent data can be extended (but it would increase memory-usage). Change 3022654 on 2016/06/22 by Maciej.Mroz FBackendHelperStaticSearchableValues -fixed too strict ensure Change 3023067 on 2016/06/22 by Maciej.Mroz #jira UE-32083 Nativize Blueprints removes blueprint functionality in packaged project Config settings from super class are not applied (at runtime) to nativized Blueprints . So all "config" properties are filled in constructor. Change 3023222 on 2016/06/22 by Ryan.Rauschkolb Fixed MakeArray node elements break when editing struct elements #jira UE-21392 Change 3023405 on 2016/06/22 by Mike.Beach Making sure sub-objects get instanced for Blueprint CDOs that had their FObjectInitializer deferred (happens when the super CDO hasn't been fully serialized). By the time the deferred FObjectInitializer is ran, the sub-objects have been assigned a RF_NeedLoad flag (where they normally wouldn't have one right after construction, when the initialization is usually ran). #jira UE-31897 Change 3023992 on 2016/06/22 by Mike.Beach Fixed an issue where hovering on/off a reroute node (toggling the comment bubble visibility) would create extraneous undo transactions. #jira UE-31859 [CL 3025946 by Mike Beach in Main branch]
2016-06-23 19:35:24 -04:00
Pins[PinIdx]->MarkPendingKill();
Pins.RemoveAt(PinIdx);
}
}
}
}
}
}
// AUTO CREATED REFS
{
if ( Function )
{
TArray<FString> AutoCreateRefTermPinNames;
const bool bHasAutoCreateRefTerms = Function->HasMetaData(FBlueprintMetadata::MD_AutoCreateRefTerm);
if ( bHasAutoCreateRefTerms )
{
CompilerContext.GetSchema()->GetAutoEmitTermParameters(Function, AutoCreateRefTermPinNames);
}
for ( auto Pin : Pins )
{
if ( Pin && bHasAutoCreateRefTerms && AutoCreateRefTermPinNames.Contains(Pin->PinName) )
{
const bool bValidAutoRefPin = Pin->PinType.bIsReference
&& !CompilerContext.GetSchema()->IsMetaPin(*Pin)
&& ( Pin->Direction == EGPD_Input )
&& !Pin->LinkedTo.Num();
if ( bValidAutoRefPin )
{
const bool bHasDefaultValue = !Pin->DefaultValue.IsEmpty() || Pin->DefaultObject || !Pin->DefaultTextValue.IsEmpty();
//default values can be reset when the pin is connected
const auto DefaultValue = Pin->DefaultValue;
const auto DefaultObject = Pin->DefaultObject;
const auto DefaultTextValue = Pin->DefaultTextValue;
const auto AutogeneratedDefaultValue = Pin->AutogeneratedDefaultValue;
auto ValuePin = InnerHandleAutoCreateRef(this, Pin, CompilerContext, SourceGraph, bHasDefaultValue);
if ( ValuePin )
{
Copying //UE4/Dev-Editor to Dev-Main (//UE4/Dev-Main) #lockdown Nick.Penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2771249 on 2015/11/18 by Joe.Tidmarsh Ensure that UCircularThrobber's Radius determines the widget's desired size when a child of UCanvasPanelSlot. #jira UE-23186 Change 2794402 on 2015/12/08 by Joe.Tidmarsh Reverting recent changes to Circular throbber. It's unintuative to enforce Size To Content. Will find some other solution. Change 2803507 on 2015/12/15 by Richard.TalbotWatkin BSP poly extrusion can now only be done in the normal direction of the poly. #jira UE-24168 - BSP face breaks off when extruding on Y or Z axes Change 2803510 on 2015/12/15 by Richard.TalbotWatkin Building new static mesh LODs now initializes override vertex colors based on LOD0. #jira UE-23747 - CLONE - if LODs are generated for meshes with vertex colors in a level the vertex colors dont propagate to the LOD in the level Change 2808877 on 2015/12/18 by Alexis.Matte Make sure the delta scale sign is swap when we have multiple axis with different sign current axis value #jira UE-21574 #codereview nick.darnell Change 2810114 on 2015/12/21 by Alexis.Matte #jira UE-23769 We now expose a message telling the user that we found some mesh that are not reference by any scene node in the fbx file. #codereview nick.darnell Change 2810211 on 2015/12/21 by Richard.TalbotWatkin Fixed issue with Show Only Selected not showing members of actor groups. #jira UE-24453 - CLONE - Show Selected is broken for certain Orion meshes Change 2811035 on 2015/12/22 by Alexis.Matte #jira UE-24671 Polish UI #codereview nick.darnell Change 2811123 on 2015/12/22 by Alexis.Matte #jira UE-21936 We now can decide which fbx sdk compatibility version we can use when exportting to a fbx file. #codereview nick.darnell Change 2812830 on 2015/12/28 by Richard.TalbotWatkin Prevent engine assets' properties from having project assets assigned to them. #jira UE-18215 - Details panel: prevent engine content from referencing game content Change 2812854 on 2015/12/28 by Richard.TalbotWatkin Fixed issue where floating windows were having their border size erroneously added again and again. Allowed PIE windows to not respect work area bounds if they are created centered, so that they can overlap off the edge of the screen. #jira UE-24465 - 10 Pixels Added to Width & Height of Floating Editor Windows Each Time Project is Reopened #jira UE-24364 - "Always Center Window to Screen" No Longer Functioning in New Editor Window (PIE) Change 2812875 on 2015/12/28 by Alexis.Matte #jira ue-22237 first implementation for skeletal mesh scene import and reimport. Small refator to remove duplicate code in different fbx list ui. #codereview nick.darnell Change 2813172 on 2015/12/29 by Alexis.Matte #jira ue-21656 Partial submit, the base code is there to add all light type with there properties. #codereview nick.darnell Change 2813403 on 2015/12/30 by Richard.TalbotWatkin PIE in New Editor Window now respects the Game Gets Mouse Control setting. This provides a workaround for UE-24824 where attempting to drag a PIE window fails due to the viewport capturing and locking the mouse to itself in FSceneViewport::OnFocusReceived. Change 2813429 on 2015/12/30 by Alexis.Matte #jira ue-21656 -spotlight and point light support fbx attenuation -fix the light orientation so now directional and spotlight point to the same direction of the fbx #codereview nick.darnell Change 2813456 on 2015/12/30 by Alexis.Matte #jira ue-21656 -Import the camera from fbx #codereview nick.darnell Change 2813457 on 2015/12/30 by Richard.TalbotWatkin Fixed issues with the code which determines whether the user is attempting to assign a game asset/class to an engine asset's property. #jira UE-18215 - Details panel: prevent engine content from referencing game content Change 2813475 on 2015/12/30 by Richard.TalbotWatkin Removed erroneous debug code. Change 2814451 on 2016/01/04 by Joe.Tidmarsh Fixed Tint colour for circular throbber. #jira UE-24445 Change 2814546 on 2016/01/04 by Richard.TalbotWatkin Force Message Log to update its category list if a new category is added while it is open. #jira UE-24266 - Message Log not updating Categories in Real-Time Change 2814613 on 2016/01/04 by Alexis.Matte [CL 2851481 by Nick Darnell in Main branch]
2016-02-01 14:57:29 -05:00
if (!DefaultObject && DefaultTextValue.IsEmpty() && DefaultValue.Equals(AutogeneratedDefaultValue, ESearchCase::CaseSensitive))
{
// Use the latest code to set default value
Schema->SetPinDefaultValueBasedOnType(ValuePin);
}
else
{
ValuePin->DefaultValue = DefaultValue;
ValuePin->DefaultObject = DefaultObject;
ValuePin->DefaultTextValue = DefaultTextValue;
}
}
}
}
}
}
}
// Then we go through and expand out array iteration if necessary
const bool bAllowMultipleSelfs = AllowMultipleSelfs(true);
UEdGraphPin* MultiSelf = Schema->FindSelfPin(*this, EEdGraphPinDirection::EGPD_Input);
if(bAllowMultipleSelfs && MultiSelf && !MultiSelf->PinType.bIsArray)
{
const bool bProperInputToExpandForEach =
(1 == MultiSelf->LinkedTo.Num()) &&
(NULL != MultiSelf->LinkedTo[0]) &&
(MultiSelf->LinkedTo[0]->PinType.bIsArray);
if(bProperInputToExpandForEach)
{
CallForEachElementInArrayExpansion(this, MultiSelf, CompilerContext, SourceGraph);
}
}
}
UEdGraphPin* UK2Node_CallFunction::InnerHandleAutoCreateRef(UK2Node* Node, UEdGraphPin* Pin, FKismetCompilerContext& CompilerContext, UEdGraph* SourceGraph, bool bForceAssignment)
{
const bool bAddAssigment = !Pin->PinType.bIsArray && bForceAssignment;
// ADD LOCAL VARIABLE
UK2Node_TemporaryVariable* LocalVariable = CompilerContext.SpawnIntermediateNode<UK2Node_TemporaryVariable>(Node, SourceGraph);
LocalVariable->VariableType = Pin->PinType;
LocalVariable->VariableType.bIsReference = false;
LocalVariable->AllocateDefaultPins();
if (!bAddAssigment)
{
if (!CompilerContext.GetSchema()->TryCreateConnection(LocalVariable->GetVariablePin(), Pin))
{
CompilerContext.MessageLog.Error(*LOCTEXT("AutoCreateRefTermPin_NotConnected", "AutoCreateRefTerm Expansion: Pin @@ cannot be connected to @@").ToString(), LocalVariable->GetVariablePin(), Pin);
return NULL;
}
}
// ADD ASSIGMENT
else
{
// TODO connect to dest..
UK2Node_PureAssignmentStatement* AssignDefaultValue = CompilerContext.SpawnIntermediateNode<UK2Node_PureAssignmentStatement>(Node, SourceGraph);
AssignDefaultValue->AllocateDefaultPins();
const bool bVariableConnected = CompilerContext.GetSchema()->TryCreateConnection(AssignDefaultValue->GetVariablePin(), LocalVariable->GetVariablePin());
auto AssignInputPit = AssignDefaultValue->GetValuePin();
const bool bPreviousInputSaved = AssignInputPit && CompilerContext.MovePinLinksToIntermediate(*Pin, *AssignInputPit).CanSafeConnect();
const bool bOutputConnected = CompilerContext.GetSchema()->TryCreateConnection(AssignDefaultValue->GetOutputPin(), Pin);
if (!bVariableConnected || !bOutputConnected || !bPreviousInputSaved)
{
CompilerContext.MessageLog.Error(*LOCTEXT("AutoCreateRefTermPin_AssignmentError", "AutoCreateRefTerm Expansion: Assignment Error @@").ToString(), AssignDefaultValue);
return NULL;
}
CompilerContext.GetSchema()->SetPinDefaultValueBasedOnType(AssignDefaultValue->GetValuePin());
return AssignInputPit;
}
return NULL;
}
void UK2Node_CallFunction::CallForEachElementInArrayExpansion(UK2Node* Node, UEdGraphPin* MultiSelf, FKismetCompilerContext& CompilerContext, UEdGraph* SourceGraph)
{
const UEdGraphSchema_K2* Schema = CompilerContext.GetSchema();
check(Node && MultiSelf && SourceGraph && Schema);
const bool bProperInputToExpandForEach =
(1 == MultiSelf->LinkedTo.Num()) &&
(NULL != MultiSelf->LinkedTo[0]) &&
(MultiSelf->LinkedTo[0]->PinType.bIsArray);
ensure(bProperInputToExpandForEach);
UEdGraphPin* ThenPin = Node->FindPinChecked(Schema->PN_Then);
// Create int Iterator
UK2Node_TemporaryVariable* IteratorVar = CompilerContext.SpawnIntermediateNode<UK2Node_TemporaryVariable>(Node, SourceGraph);
IteratorVar->VariableType.PinCategory = Schema->PC_Int;
IteratorVar->AllocateDefaultPins();
// Initialize iterator
UK2Node_AssignmentStatement* InteratorInitialize = CompilerContext.SpawnIntermediateNode<UK2Node_AssignmentStatement>(Node, SourceGraph);
InteratorInitialize->AllocateDefaultPins();
InteratorInitialize->GetValuePin()->DefaultValue = TEXT("0");
Schema->TryCreateConnection(IteratorVar->GetVariablePin(), InteratorInitialize->GetVariablePin());
CompilerContext.MovePinLinksToIntermediate(*Node->GetExecPin(), *InteratorInitialize->GetExecPin());
// Do loop branch
UK2Node_IfThenElse* Branch = CompilerContext.SpawnIntermediateNode<UK2Node_IfThenElse>(Node, SourceGraph);
Branch->AllocateDefaultPins();
Schema->TryCreateConnection(InteratorInitialize->GetThenPin(), Branch->GetExecPin());
CompilerContext.MovePinLinksToIntermediate(*ThenPin, *Branch->GetElsePin());
// Do loop condition
UK2Node_CallFunction* Condition = CompilerContext.SpawnIntermediateNode<UK2Node_CallFunction>(Node, SourceGraph);
Condition->SetFromFunction(UKismetMathLibrary::StaticClass()->FindFunctionByName(GET_FUNCTION_NAME_CHECKED(UKismetMathLibrary, Less_IntInt)));
Condition->AllocateDefaultPins();
Schema->TryCreateConnection(Condition->GetReturnValuePin(), Branch->GetConditionPin());
Schema->TryCreateConnection(Condition->FindPinChecked(TEXT("A")), IteratorVar->GetVariablePin());
// Array size
UK2Node_CallArrayFunction* ArrayLength = CompilerContext.SpawnIntermediateNode<UK2Node_CallArrayFunction>(Node, SourceGraph);
ArrayLength->SetFromFunction(UKismetArrayLibrary::StaticClass()->FindFunctionByName(GET_FUNCTION_NAME_CHECKED(UKismetArrayLibrary, Array_Length)));
ArrayLength->AllocateDefaultPins();
CompilerContext.CopyPinLinksToIntermediate(*MultiSelf, *ArrayLength->GetTargetArrayPin());
ArrayLength->PinConnectionListChanged(ArrayLength->GetTargetArrayPin());
Schema->TryCreateConnection(Condition->FindPinChecked(TEXT("B")), ArrayLength->GetReturnValuePin());
// Get Element
UK2Node_CallArrayFunction* GetElement = CompilerContext.SpawnIntermediateNode<UK2Node_CallArrayFunction>(Node, SourceGraph);
GetElement->SetFromFunction(UKismetArrayLibrary::StaticClass()->FindFunctionByName(GET_FUNCTION_NAME_CHECKED(UKismetArrayLibrary, Array_Get)));
GetElement->AllocateDefaultPins();
CompilerContext.CopyPinLinksToIntermediate(*MultiSelf, *GetElement->GetTargetArrayPin());
GetElement->PinConnectionListChanged(GetElement->GetTargetArrayPin());
Schema->TryCreateConnection(GetElement->FindPinChecked(TEXT("Index")), IteratorVar->GetVariablePin());
// Iterator increment
UK2Node_CallFunction* Increment = CompilerContext.SpawnIntermediateNode<UK2Node_CallFunction>(Node, SourceGraph);
Increment->SetFromFunction(UKismetMathLibrary::StaticClass()->FindFunctionByName(GET_FUNCTION_NAME_CHECKED(UKismetMathLibrary, Add_IntInt)));
Increment->AllocateDefaultPins();
Schema->TryCreateConnection(Increment->FindPinChecked(TEXT("A")), IteratorVar->GetVariablePin());
Increment->FindPinChecked(TEXT("B"))->DefaultValue = TEXT("1");
// Iterator assigned
UK2Node_AssignmentStatement* IteratorAssign = CompilerContext.SpawnIntermediateNode<UK2Node_AssignmentStatement>(Node, SourceGraph);
IteratorAssign->AllocateDefaultPins();
Schema->TryCreateConnection(IteratorAssign->GetVariablePin(), IteratorVar->GetVariablePin());
Schema->TryCreateConnection(IteratorAssign->GetValuePin(), Increment->GetReturnValuePin());
Schema->TryCreateConnection(IteratorAssign->GetThenPin(), Branch->GetExecPin());
// Connect pins from intermediate nodes back in to the original node
Schema->TryCreateConnection(Branch->GetThenPin(), Node->GetExecPin());
Schema->TryCreateConnection(ThenPin, IteratorAssign->GetExecPin());
Schema->TryCreateConnection(GetElement->FindPinChecked(TEXT("Item")), MultiSelf);
}
FName UK2Node_CallFunction::GetCornerIcon() const
{
if (const UFunction* Function = GetTargetFunction())
{
if (Function->HasAllFunctionFlags(FUNC_BlueprintAuthorityOnly))
{
return TEXT("Graph.Replication.AuthorityOnly");
}
else if (Function->HasAllFunctionFlags(FUNC_BlueprintCosmetic))
{
return TEXT("Graph.Replication.ClientEvent");
}
else if(Function->HasMetaData(FBlueprintMetadata::MD_Latent))
{
return TEXT("Graph.Latent.LatentIcon");
}
}
return Super::GetCornerIcon();
}
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
FSlateIcon UK2Node_CallFunction::GetIconAndTint(FLinearColor& OutColor) const
{
return GetPaletteIconForFunction(GetTargetFunction(), OutColor);
}
bool UK2Node_CallFunction::ReconnectPureExecPins(TArray<UEdGraphPin*>& OldPins)
{
if (IsNodePure())
{
// look for an old exec pin
const UEdGraphSchema_K2* K2Schema = GetDefault<UEdGraphSchema_K2>();
UEdGraphPin* PinExec = nullptr;
for (int32 PinIdx = 0; PinIdx < OldPins.Num(); PinIdx++)
{
if (OldPins[PinIdx]->PinName == K2Schema->PN_Execute)
{
PinExec = OldPins[PinIdx];
break;
}
}
if (PinExec)
{
// look for old then pin
UEdGraphPin* PinThen = nullptr;
for (int32 PinIdx = 0; PinIdx < OldPins.Num(); PinIdx++)
{
if (OldPins[PinIdx]->PinName == K2Schema->PN_Then)
{
PinThen = OldPins[PinIdx];
break;
}
}
if (PinThen)
{
// reconnect all incoming links to old exec pin to the far end of the old then pin.
if (PinThen->LinkedTo.Num() > 0)
{
UEdGraphPin* PinThenLinked = PinThen->LinkedTo[0];
while (PinExec->LinkedTo.Num() > 0)
{
UEdGraphPin* PinExecLinked = PinExec->LinkedTo[0];
PinExecLinked->BreakLinkTo(PinExec);
PinExecLinked->MakeLinkTo(PinThenLinked);
}
return true;
}
}
}
}
return false;
}
void UK2Node_CallFunction::InvalidatePinTooltips()
{
bPinTooltipsValid = false;
}
Copying //UE4/Dev-Blueprints to //UE4/Dev-Main (Source: //UE4/Dev-Blueprints @ 3130440) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3050029 on 2016/07/14 by Ben.Cosh This modifies the blueprint instrumented compilation chain so only the the blueprint you compile and all dependencies are instrumented and the profiler is notified rather than waiting for event data. #Jira UE-32063 - The blueprint profiler doesn't display any stats in the execution graph if no instance is placed in the current level. #Proj BlueprintProfiler, Kismet, UnrelEd - This also improves the execution graph UI, notifying the user that no instances are available to display data from. Change 3101549 on 2016/08/25 by Maciej.Mroz BP nativization: fixed FEmitDefaultValueHelper::HandleInstancedSubobject https://udn.unrealengine.com/questions/308800/nativized-blueprints-newobject-call-uses-incorrect.html Change 3101811 on 2016/08/25 by Ryan.Rauschkolb BP Profiler: Fixed stack overflow crash when compiling blueprints with nested macros #jira UE-34503 Change 3102478 on 2016/08/26 by Maciej.Mroz #jira UE-35135 - Odin compiles with errors when using Blueprint nativization BP Nativization: - improved native cast - improved bool handling Change 3102944 on 2016/08/26 by Phillip.Kavan [UE-33017] Don't include transient properties when generating property lists at cook time for optimized runtime Blueprint component instancing. Also ensure that deprecated properties are serialized during load/instancing at runtime. change summary: - modified FBlueprintComponentInstanceDataLoader to append 'PPF_UseDeprecatedProperties' to the FArchive port flags. - modified FBlueprintComponentInstanceDataWriter to append both 'PPF_Duplicate' and 'PPF_UseDeprecatedProperties" to the FArchive port flags (to ensure consistency w/ the instancing side). - switched the RecursivePropertyGatherLambda helper to a static class method instead - modified the RecursivePropertyGather utility method to exclude transient properties. notes: - the primary cause of UE-33017 was that UBodySetup can "share" the ShapeBodySetup object across all instances, but the shared object is not owned by the CDO, it's owned by the archetype. this caused the archetype to differ from the CDO, which caused us to emit the transient property at cook time. thsi threw off the serialization offset between read/write FArchive passes at runtime. since transient properties are not serialized as part of the template, there's no need to include them in the generated delta property list, so as a fix, i'm just excluding them altogether. #jira UE-33017 Change 3103692 on 2016/08/27 by Mike.Beach Merging //UE4/Dev-Main to Dev-Blueprints (//UE4/Dev-Blueprints) Change 3104266 on 2016/08/29 by Ben.Marsh Add test script to native assets for QAGame. Change 3104399 on 2016/08/29 by Ben.Marsh Fix missing property warning in build script. Change 3104419 on 2016/08/29 by Maciej.Mroz #jira UE-35135 Odin compiles with errors when using Blueprint nativization - Reduced number of DynamicCLass instance dependencies - Fixed UDS default values dependencies - Improved WeakObjPtr handling - Improved const parameters handling Change 3104474 on 2016/08/29 by Ryan.Rauschkolb BP Profiler: Fixed issue where collapsed nodes that share a name with a parent class collapsed node can cause a stack overflow #jira UE-35245 Change 3105605 on 2016/08/30 by Maciej.Mroz Temp change: CIS Test Change 3105738 on 2016/08/30 by Maciej.Mroz UAT, CIS: testing NoRecompileUAT switch. Change 3105800 on 2016/08/30 by Maciej.Mroz UAT, CIS, Nativization: - reverted NoRecompileUAT switch. - testing nativization with -nocompileeditor flag and without -compile flag Change 3106162 on 2016/08/30 by Maciej.Mroz UAT, CIS, Nativization: -NoSubmit flag added. Otherwise UAT files are singed (when they are used by other process). It causes an error. - Ugly hack removed. Change 3106261 on 2016/08/30 by Phillip.Kavan [UE-34705] Gracefully handle tunnel node entry exec pins that aren't internally linked during BP profiler tunnel boundary mapping. change summary: - added FBlueprintFunctionContext::GetTunnelBoundaryNode() (uncheckedl variant). - moved FBlueprintFunctionContext::GetTunnelBoundaryNodeChecked() impl into GetTunnelBoundaryNode(). - re-implemented FBlueprintFunctionContext::GetTunnelBoundaryNodeChecked() to call GetTunnelBoundaryNode() and then assert on the result. - changed the FBlueprintTunnelInstanceContext::GetTunnelBoundaryNodeChecked() impl to override GetTunnelBoundaryNode() instead. - modified FBlueprintFunctionContext::MapTunnelBoundary() to only process the entry case if the TunnelBoundaryNode result is valid. this way we simply skip tunnel boundary mapping if an entry path was not previously mapped (rather than assert). #jira UE-34705 Change 3106478 on 2016/08/30 by Ben.Marsh Include *.uasset files on builders running the NativizeAssets job. Change 3107514 on 2016/08/31 by Ben.Cosh This set of changes is the result of a full pass on the blueprint profiler heat interface to try and bring them into a usable state. #Jira UE-33465 - Stat heat colors and heat wire traces need a quick pass to ensure they are working as expected. #Jira UE-33309 - FlipFlop node breaks hottest path wire heatmap #Jira UE-33650 - Blueprint heatwire effects do not work when touching user macros #Jira UE-33706 - BP Profiler - Macro instances not colored or reporting time #Jira UE-33701 - BP Profiler: Hottest path wire heatmap doesn't appear to be working #Jira UE-33083 - BP Profiler - (Exclusive) pure node heatmap missing from some nodes #Jira UE-34855 - BP Profiler - Update heatmap coloration when switching between Default/Custom thresholds #Jira UE-32218 - BP Profiler: Clear "inclusive" time entries from "avg. time" row. #Proj GraphEditor, Kismet, BlueprintProfiler, Change 3108268 on 2016/08/31 by Ben.Cosh Minor change from profiler review sessions to move macro timing to average stats. #Jira UE-33706 - BP Profiler - Macro instances not colored or reporting time #Proj Kismet Change 3108991 on 2016/08/31 by Maciej.Mroz UAT, CIS, Nativization: Test separate cooking and compiling Change 3110097 on 2016/09/01 by Ben.Cosh Minor update to the blueprint profiler mapping functionality to ignore disabled nodes and a fix for the max timing white glow bug. #Jira UE-35377 - Blueprint macros highlighting white in profiler #Jira UE-34973 - Remove Ghost Nodes #Proj Kismet, BlueprintProfiler Change 3114553 on 2016/09/06 by Dan.Oconnor Support for TMap/TSet in blueprint variable editor panel #jira UE-2114 Change 3116367 on 2016/09/07 by Dan.Oconnor Fixed Function/Macro inputs/outputs list (had become cramped with my last change) + misc. fixes for new container types, fixes uninitialized members in FTerminalType #jira UE-2114, UE-35676 Change 3116663 on 2016/09/07 by Dan.Oconnor Fix for array functions showing up with TSet and TMap pins #jira UE-2114 Change 3118259 on 2016/09/08 by Ryan.Rauschkolb BP Profiler: Fixed Assert when profiling parent/child Blueprint #jira UE-35487 Change 3119023 on 2016/09/09 by Maciej.Mroz Manually integrated (from Odin branch) recent changes related to BP and nativization: 3115713 UE-35448 3117590 UE-35697 3117742 ODIN-577 Change 3119058 on 2016/09/09 by Maciej.Mroz #jira UE-32841 GitHub 2574 : fix typos #2574 https://github.com/EpicGames/UnrealEngine/pull/2574 Renamed function CustomNativeInitilize to InitializeNativeClassData and made it private. Change 3119302 on 2016/09/09 by Maciej.Mroz #jira UE-35584 Orion - nativized server crashes Global variable for WITH_PERFCOUNTERS definition in UEBuildConfiguration. Previously the same header could be compiled with the WITH_PERFCOUNTERS flag enadles and disabled (during a single compilation) . Change 3119502 on 2016/09/09 by Mike.Beach When building a deterministic UUID for latent nodes, we now use expanded nodes' origin (node) to avoid collisions (latent node in macros, etc.) #jira UE-35609 Change 3119517 on 2016/09/09 by Ryan.Rauschkolb Added blueprint editor settings option to display unique names for blueprint nodes Change 3119602 on 2016/09/09 by Maciej.Mroz #jira UEBP-214 Implement Solution for Nativized AnimBlueprints Size Reduction Added stats about nativized AnimBP Mechanism to exlcude reducible AnimBP Editor config option:[BlueprintNativizationSettings] bNativizeAnimBPOnlyWhenNonReducibleFuncitons=false Change 3119615 on 2016/09/09 by Maciej.Mroz Missing change (should be part of cl#3119602) Change 3119619 on 2016/09/09 by Maciej.Mroz #jira UEBP-214 Implement Solution for Nativized AnimBlueprints Size Reduction Excluding all AnimBP from Orion nativization. Change 3120752 on 2016/09/12 by Maciej.Mroz #jira UE-35051 [CrashReport] UE4Editor_BlueprintNativeCodeGen!FBlueprintNativeCodeGenModule::GenerateSingleAsset() Removed unnecessary ensure Change 3121354 on 2016/09/12 by Dan.Oconnor Fixed variable type width, required for TMap's extra combobox. Change 3121626 on 2016/09/12 by Phillip.Kavan [UE-35456] Fix crash on right-click in components tree view after copying one or more BSP actors to clipboard. Note: This applies to the components tree view in both the Blueprint editor and the Level editor's Actor details panel. change summary: - modified FComponentObjectTextFactory::CanCreateClass() to exclude Actor/Component subtypes that are not Blueprint-compatible (e.g. ABrush). #jira UE-35456 Change 3122712 on 2016/09/13 by Maciej.Mroz #jira UE-35714 [CrashReport] UE4Editor_BlueprintGraph!UK2Node_CallArrayFunction::GetArrayPins() [k2node_callarrayfunction.cpp:141] Replaced "check" with "ensure". Change 3124398 on 2016/09/14 by Maciej.Mroz More strict BP validation in UBlueprintThumbnailRenderer::Draw #jira UE-35705 Change 3124405 on 2016/09/14 by Maciej.Mroz #jira UE-35110 Packaged project crashes when playing sound from blueprint library with enum input after nativizing blueprints Function Libraries are properly added to dependencies list while nativization. Change 3124667 on 2016/09/14 by Maciej.Mroz #jira UE-35262 Incompatible pins give generate warning, when error is necessary. Fixed incompatible pins validation. Change 3125245 on 2016/09/14 by Phillip.Kavan [UE-33674] Fix missing stats for the ForEachElementInEnum node type in the Blueprint profiler tree view. change summary: - modified FScriptEventPlayback::Process() to not allow intermediate node exit pins to pollute the current trace path - modified FBlueprintFunctionContext::DetermineGraphNodeCharacteristics() to handle the UK2Node_ForEachElementInEnum type as a special case and account for extra loop iterations in the sample frequency computed at mapping time - exported UK2Node_ForEachElementInEnum::InsideLoopPinName and EnumOutputPinName string constants #jira UE-33674 Change 3126211 on 2016/09/15 by Maciej.Mroz #jira UE-36016 Struct pin can be connected to Object pin without error Change 3126393 on 2016/09/15 by Maciej.Mroz #jira UE-35936 Replace "check" by "ensure". Change 3126623 on 2016/09/15 by Maciej.Mroz #jira UE-35816 User defined struct array resets to defaults in blueprint after updating the struct STRUCT_SerializeFromMismatchedTag is not necessary to serialize structure when guids match. Anyway STRUCT_SerializeFromMismatchedTag sholud precede SerializeFromMismatchedTag(). Change 3127288 on 2016/09/15 by Mike.Beach Making the script VM overhead and native time stats threadsafe (to account for threaded anim Blueprints in Orion). Change 3127375 on 2016/09/15 by Mike.Beach Making sure Blueprint classes inherit the super's ClassConfigName properly (inherit the ID instead of the filename). Change 3127381 on 2016/09/15 by Mike.Beach Removing an overzealous ensure that certain users were hitting when a loading array property wasn't fully filled out yet (confirmed that it was populated with the proper objects by the end of the load). Change 3127476 on 2016/09/15 by Dan.Oconnor Build fix #jira UE-36073 Change 3128335 on 2016/09/16 by Maciej.Mroz #jira UE-36075 Odin: BP_DefaultHand and BigBotCharacter blueprints fail to compile Fixed broken BP assets. Change 3128589 on 2016/09/16 by Mike.Beach Fixing a static analysis CIS warning (duplicated condition). Change 3128630 on 2016/09/16 by Dan.Oconnor Re-fix with engine version set Change 3129338 on 2016/09/16 by Dan.Oconnor =FScriptSet/FScriptSetHelper fleshed out (Add, Remove, and Find implemented) +SetParam implemented for marking up sets for primitive Set functions (to be checked in once completed as BlueprintSetLibrary) #jira UE-2114 [CL 3131171 by Mike Beach in Main branch]
2016-09-19 16:14:06 -04:00
void UK2Node_CallFunction::ConformContainerPins()
{
// helper functions for type propagation:
const auto TryReadTypeToPropagate = [](UEdGraphPin* Pin, bool& bOutPropagated, FEdGraphTerminalType& TypeToPropagete)
{
if (Pin && !bOutPropagated)
{
if (Pin->LinkedTo.Num() != 0 || Pin->DefaultValue != Pin->AutogeneratedDefaultValue)
{
bOutPropagated = true;
if (Pin->LinkedTo.Num() != 0)
{
TypeToPropagete = Pin->LinkedTo[0]->GetPrimaryTerminalType();
}
else
{
TypeToPropagete = Pin->GetPrimaryTerminalType();
}
}
}
};
const auto TryReadValueTypeToPropagate = [](UEdGraphPin* Pin, bool& bOutPropagated, FEdGraphTerminalType& TypeToPropagete)
{
if (Pin && !bOutPropagated)
{
if (Pin->LinkedTo.Num() != 0 || Pin->DefaultValue != Pin->AutogeneratedDefaultValue)
{
bOutPropagated = true;
if (Pin->LinkedTo.Num() != 0)
{
TypeToPropagete = Pin->LinkedTo[0]->PinType.PinValueType;
}
else
{
TypeToPropagete = Pin->PinType.PinValueType;
}
}
}
};
const auto TryPropagateType = [](UEdGraphPin* Pin, const FEdGraphTerminalType& TerminalType, bool bTypeIsAvailable)
{
if(Pin)
{
if(bTypeIsAvailable)
{
Pin->PinType.PinCategory = TerminalType.TerminalCategory;
Pin->PinType.PinSubCategory = TerminalType.TerminalSubCategory;
Pin->PinType.PinSubCategoryObject = TerminalType.TerminalSubCategoryObject;
}
else
{
// reset to wildcard:
Pin->PinType.PinCategory = UEdGraphSchema_K2::PC_Wildcard;
Pin->PinType.PinSubCategory.Empty();
Pin->PinType.PinSubCategoryObject = nullptr;
Pin->DefaultValue = TEXT("");
}
}
};
const auto TryPropagateValueType = [](UEdGraphPin* Pin, const FEdGraphTerminalType& TerminalType, bool bTypeIsAvailable)
{
if (Pin)
{
if (bTypeIsAvailable)
{
Pin->PinType.PinValueType.TerminalCategory = TerminalType.TerminalCategory;
Pin->PinType.PinValueType.TerminalSubCategory = TerminalType.TerminalSubCategory;
Pin->PinType.PinValueType.TerminalSubCategoryObject = TerminalType.TerminalSubCategoryObject;
}
else
{
Pin->PinType.PinValueType.TerminalCategory = UEdGraphSchema_K2::PC_Wildcard;
Pin->PinType.PinValueType.TerminalSubCategory.Empty();
Pin->PinType.PinValueType.TerminalSubCategoryObject = nullptr;
}
}
};
Copying //UE4/Dev-Blueprints to //UE4/Dev-Main (Source: //UE4/Dev-Blueprints @ 3130440) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3050029 on 2016/07/14 by Ben.Cosh This modifies the blueprint instrumented compilation chain so only the the blueprint you compile and all dependencies are instrumented and the profiler is notified rather than waiting for event data. #Jira UE-32063 - The blueprint profiler doesn't display any stats in the execution graph if no instance is placed in the current level. #Proj BlueprintProfiler, Kismet, UnrelEd - This also improves the execution graph UI, notifying the user that no instances are available to display data from. Change 3101549 on 2016/08/25 by Maciej.Mroz BP nativization: fixed FEmitDefaultValueHelper::HandleInstancedSubobject https://udn.unrealengine.com/questions/308800/nativized-blueprints-newobject-call-uses-incorrect.html Change 3101811 on 2016/08/25 by Ryan.Rauschkolb BP Profiler: Fixed stack overflow crash when compiling blueprints with nested macros #jira UE-34503 Change 3102478 on 2016/08/26 by Maciej.Mroz #jira UE-35135 - Odin compiles with errors when using Blueprint nativization BP Nativization: - improved native cast - improved bool handling Change 3102944 on 2016/08/26 by Phillip.Kavan [UE-33017] Don't include transient properties when generating property lists at cook time for optimized runtime Blueprint component instancing. Also ensure that deprecated properties are serialized during load/instancing at runtime. change summary: - modified FBlueprintComponentInstanceDataLoader to append 'PPF_UseDeprecatedProperties' to the FArchive port flags. - modified FBlueprintComponentInstanceDataWriter to append both 'PPF_Duplicate' and 'PPF_UseDeprecatedProperties" to the FArchive port flags (to ensure consistency w/ the instancing side). - switched the RecursivePropertyGatherLambda helper to a static class method instead - modified the RecursivePropertyGather utility method to exclude transient properties. notes: - the primary cause of UE-33017 was that UBodySetup can "share" the ShapeBodySetup object across all instances, but the shared object is not owned by the CDO, it's owned by the archetype. this caused the archetype to differ from the CDO, which caused us to emit the transient property at cook time. thsi threw off the serialization offset between read/write FArchive passes at runtime. since transient properties are not serialized as part of the template, there's no need to include them in the generated delta property list, so as a fix, i'm just excluding them altogether. #jira UE-33017 Change 3103692 on 2016/08/27 by Mike.Beach Merging //UE4/Dev-Main to Dev-Blueprints (//UE4/Dev-Blueprints) Change 3104266 on 2016/08/29 by Ben.Marsh Add test script to native assets for QAGame. Change 3104399 on 2016/08/29 by Ben.Marsh Fix missing property warning in build script. Change 3104419 on 2016/08/29 by Maciej.Mroz #jira UE-35135 Odin compiles with errors when using Blueprint nativization - Reduced number of DynamicCLass instance dependencies - Fixed UDS default values dependencies - Improved WeakObjPtr handling - Improved const parameters handling Change 3104474 on 2016/08/29 by Ryan.Rauschkolb BP Profiler: Fixed issue where collapsed nodes that share a name with a parent class collapsed node can cause a stack overflow #jira UE-35245 Change 3105605 on 2016/08/30 by Maciej.Mroz Temp change: CIS Test Change 3105738 on 2016/08/30 by Maciej.Mroz UAT, CIS: testing NoRecompileUAT switch. Change 3105800 on 2016/08/30 by Maciej.Mroz UAT, CIS, Nativization: - reverted NoRecompileUAT switch. - testing nativization with -nocompileeditor flag and without -compile flag Change 3106162 on 2016/08/30 by Maciej.Mroz UAT, CIS, Nativization: -NoSubmit flag added. Otherwise UAT files are singed (when they are used by other process). It causes an error. - Ugly hack removed. Change 3106261 on 2016/08/30 by Phillip.Kavan [UE-34705] Gracefully handle tunnel node entry exec pins that aren't internally linked during BP profiler tunnel boundary mapping. change summary: - added FBlueprintFunctionContext::GetTunnelBoundaryNode() (uncheckedl variant). - moved FBlueprintFunctionContext::GetTunnelBoundaryNodeChecked() impl into GetTunnelBoundaryNode(). - re-implemented FBlueprintFunctionContext::GetTunnelBoundaryNodeChecked() to call GetTunnelBoundaryNode() and then assert on the result. - changed the FBlueprintTunnelInstanceContext::GetTunnelBoundaryNodeChecked() impl to override GetTunnelBoundaryNode() instead. - modified FBlueprintFunctionContext::MapTunnelBoundary() to only process the entry case if the TunnelBoundaryNode result is valid. this way we simply skip tunnel boundary mapping if an entry path was not previously mapped (rather than assert). #jira UE-34705 Change 3106478 on 2016/08/30 by Ben.Marsh Include *.uasset files on builders running the NativizeAssets job. Change 3107514 on 2016/08/31 by Ben.Cosh This set of changes is the result of a full pass on the blueprint profiler heat interface to try and bring them into a usable state. #Jira UE-33465 - Stat heat colors and heat wire traces need a quick pass to ensure they are working as expected. #Jira UE-33309 - FlipFlop node breaks hottest path wire heatmap #Jira UE-33650 - Blueprint heatwire effects do not work when touching user macros #Jira UE-33706 - BP Profiler - Macro instances not colored or reporting time #Jira UE-33701 - BP Profiler: Hottest path wire heatmap doesn't appear to be working #Jira UE-33083 - BP Profiler - (Exclusive) pure node heatmap missing from some nodes #Jira UE-34855 - BP Profiler - Update heatmap coloration when switching between Default/Custom thresholds #Jira UE-32218 - BP Profiler: Clear "inclusive" time entries from "avg. time" row. #Proj GraphEditor, Kismet, BlueprintProfiler, Change 3108268 on 2016/08/31 by Ben.Cosh Minor change from profiler review sessions to move macro timing to average stats. #Jira UE-33706 - BP Profiler - Macro instances not colored or reporting time #Proj Kismet Change 3108991 on 2016/08/31 by Maciej.Mroz UAT, CIS, Nativization: Test separate cooking and compiling Change 3110097 on 2016/09/01 by Ben.Cosh Minor update to the blueprint profiler mapping functionality to ignore disabled nodes and a fix for the max timing white glow bug. #Jira UE-35377 - Blueprint macros highlighting white in profiler #Jira UE-34973 - Remove Ghost Nodes #Proj Kismet, BlueprintProfiler Change 3114553 on 2016/09/06 by Dan.Oconnor Support for TMap/TSet in blueprint variable editor panel #jira UE-2114 Change 3116367 on 2016/09/07 by Dan.Oconnor Fixed Function/Macro inputs/outputs list (had become cramped with my last change) + misc. fixes for new container types, fixes uninitialized members in FTerminalType #jira UE-2114, UE-35676 Change 3116663 on 2016/09/07 by Dan.Oconnor Fix for array functions showing up with TSet and TMap pins #jira UE-2114 Change 3118259 on 2016/09/08 by Ryan.Rauschkolb BP Profiler: Fixed Assert when profiling parent/child Blueprint #jira UE-35487 Change 3119023 on 2016/09/09 by Maciej.Mroz Manually integrated (from Odin branch) recent changes related to BP and nativization: 3115713 UE-35448 3117590 UE-35697 3117742 ODIN-577 Change 3119058 on 2016/09/09 by Maciej.Mroz #jira UE-32841 GitHub 2574 : fix typos #2574 https://github.com/EpicGames/UnrealEngine/pull/2574 Renamed function CustomNativeInitilize to InitializeNativeClassData and made it private. Change 3119302 on 2016/09/09 by Maciej.Mroz #jira UE-35584 Orion - nativized server crashes Global variable for WITH_PERFCOUNTERS definition in UEBuildConfiguration. Previously the same header could be compiled with the WITH_PERFCOUNTERS flag enadles and disabled (during a single compilation) . Change 3119502 on 2016/09/09 by Mike.Beach When building a deterministic UUID for latent nodes, we now use expanded nodes' origin (node) to avoid collisions (latent node in macros, etc.) #jira UE-35609 Change 3119517 on 2016/09/09 by Ryan.Rauschkolb Added blueprint editor settings option to display unique names for blueprint nodes Change 3119602 on 2016/09/09 by Maciej.Mroz #jira UEBP-214 Implement Solution for Nativized AnimBlueprints Size Reduction Added stats about nativized AnimBP Mechanism to exlcude reducible AnimBP Editor config option:[BlueprintNativizationSettings] bNativizeAnimBPOnlyWhenNonReducibleFuncitons=false Change 3119615 on 2016/09/09 by Maciej.Mroz Missing change (should be part of cl#3119602) Change 3119619 on 2016/09/09 by Maciej.Mroz #jira UEBP-214 Implement Solution for Nativized AnimBlueprints Size Reduction Excluding all AnimBP from Orion nativization. Change 3120752 on 2016/09/12 by Maciej.Mroz #jira UE-35051 [CrashReport] UE4Editor_BlueprintNativeCodeGen!FBlueprintNativeCodeGenModule::GenerateSingleAsset() Removed unnecessary ensure Change 3121354 on 2016/09/12 by Dan.Oconnor Fixed variable type width, required for TMap's extra combobox. Change 3121626 on 2016/09/12 by Phillip.Kavan [UE-35456] Fix crash on right-click in components tree view after copying one or more BSP actors to clipboard. Note: This applies to the components tree view in both the Blueprint editor and the Level editor's Actor details panel. change summary: - modified FComponentObjectTextFactory::CanCreateClass() to exclude Actor/Component subtypes that are not Blueprint-compatible (e.g. ABrush). #jira UE-35456 Change 3122712 on 2016/09/13 by Maciej.Mroz #jira UE-35714 [CrashReport] UE4Editor_BlueprintGraph!UK2Node_CallArrayFunction::GetArrayPins() [k2node_callarrayfunction.cpp:141] Replaced "check" with "ensure". Change 3124398 on 2016/09/14 by Maciej.Mroz More strict BP validation in UBlueprintThumbnailRenderer::Draw #jira UE-35705 Change 3124405 on 2016/09/14 by Maciej.Mroz #jira UE-35110 Packaged project crashes when playing sound from blueprint library with enum input after nativizing blueprints Function Libraries are properly added to dependencies list while nativization. Change 3124667 on 2016/09/14 by Maciej.Mroz #jira UE-35262 Incompatible pins give generate warning, when error is necessary. Fixed incompatible pins validation. Change 3125245 on 2016/09/14 by Phillip.Kavan [UE-33674] Fix missing stats for the ForEachElementInEnum node type in the Blueprint profiler tree view. change summary: - modified FScriptEventPlayback::Process() to not allow intermediate node exit pins to pollute the current trace path - modified FBlueprintFunctionContext::DetermineGraphNodeCharacteristics() to handle the UK2Node_ForEachElementInEnum type as a special case and account for extra loop iterations in the sample frequency computed at mapping time - exported UK2Node_ForEachElementInEnum::InsideLoopPinName and EnumOutputPinName string constants #jira UE-33674 Change 3126211 on 2016/09/15 by Maciej.Mroz #jira UE-36016 Struct pin can be connected to Object pin without error Change 3126393 on 2016/09/15 by Maciej.Mroz #jira UE-35936 Replace "check" by "ensure". Change 3126623 on 2016/09/15 by Maciej.Mroz #jira UE-35816 User defined struct array resets to defaults in blueprint after updating the struct STRUCT_SerializeFromMismatchedTag is not necessary to serialize structure when guids match. Anyway STRUCT_SerializeFromMismatchedTag sholud precede SerializeFromMismatchedTag(). Change 3127288 on 2016/09/15 by Mike.Beach Making the script VM overhead and native time stats threadsafe (to account for threaded anim Blueprints in Orion). Change 3127375 on 2016/09/15 by Mike.Beach Making sure Blueprint classes inherit the super's ClassConfigName properly (inherit the ID instead of the filename). Change 3127381 on 2016/09/15 by Mike.Beach Removing an overzealous ensure that certain users were hitting when a loading array property wasn't fully filled out yet (confirmed that it was populated with the proper objects by the end of the load). Change 3127476 on 2016/09/15 by Dan.Oconnor Build fix #jira UE-36073 Change 3128335 on 2016/09/16 by Maciej.Mroz #jira UE-36075 Odin: BP_DefaultHand and BigBotCharacter blueprints fail to compile Fixed broken BP assets. Change 3128589 on 2016/09/16 by Mike.Beach Fixing a static analysis CIS warning (duplicated condition). Change 3128630 on 2016/09/16 by Dan.Oconnor Re-fix with engine version set Change 3129338 on 2016/09/16 by Dan.Oconnor =FScriptSet/FScriptSetHelper fleshed out (Add, Remove, and Find implemented) +SetParam implemented for marking up sets for primitive Set functions (to be checked in once completed as BlueprintSetLibrary) #jira UE-2114 [CL 3131171 by Mike Beach in Main branch]
2016-09-19 16:14:06 -04:00
const UFunction* TargetFunction = GetTargetFunction();
if (TargetFunction == nullptr)
{
return;
}
// find any pins marked as SetParam
const FString& SetPinMetaData = TargetFunction->GetMetaData(FBlueprintMetadata::MD_SetParam);
Copying //UE4/Dev-Blueprints to //UE4/Dev-Main (Source: //UE4/Dev-Blueprints @ 3130440) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3050029 on 2016/07/14 by Ben.Cosh This modifies the blueprint instrumented compilation chain so only the the blueprint you compile and all dependencies are instrumented and the profiler is notified rather than waiting for event data. #Jira UE-32063 - The blueprint profiler doesn't display any stats in the execution graph if no instance is placed in the current level. #Proj BlueprintProfiler, Kismet, UnrelEd - This also improves the execution graph UI, notifying the user that no instances are available to display data from. Change 3101549 on 2016/08/25 by Maciej.Mroz BP nativization: fixed FEmitDefaultValueHelper::HandleInstancedSubobject https://udn.unrealengine.com/questions/308800/nativized-blueprints-newobject-call-uses-incorrect.html Change 3101811 on 2016/08/25 by Ryan.Rauschkolb BP Profiler: Fixed stack overflow crash when compiling blueprints with nested macros #jira UE-34503 Change 3102478 on 2016/08/26 by Maciej.Mroz #jira UE-35135 - Odin compiles with errors when using Blueprint nativization BP Nativization: - improved native cast - improved bool handling Change 3102944 on 2016/08/26 by Phillip.Kavan [UE-33017] Don't include transient properties when generating property lists at cook time for optimized runtime Blueprint component instancing. Also ensure that deprecated properties are serialized during load/instancing at runtime. change summary: - modified FBlueprintComponentInstanceDataLoader to append 'PPF_UseDeprecatedProperties' to the FArchive port flags. - modified FBlueprintComponentInstanceDataWriter to append both 'PPF_Duplicate' and 'PPF_UseDeprecatedProperties" to the FArchive port flags (to ensure consistency w/ the instancing side). - switched the RecursivePropertyGatherLambda helper to a static class method instead - modified the RecursivePropertyGather utility method to exclude transient properties. notes: - the primary cause of UE-33017 was that UBodySetup can "share" the ShapeBodySetup object across all instances, but the shared object is not owned by the CDO, it's owned by the archetype. this caused the archetype to differ from the CDO, which caused us to emit the transient property at cook time. thsi threw off the serialization offset between read/write FArchive passes at runtime. since transient properties are not serialized as part of the template, there's no need to include them in the generated delta property list, so as a fix, i'm just excluding them altogether. #jira UE-33017 Change 3103692 on 2016/08/27 by Mike.Beach Merging //UE4/Dev-Main to Dev-Blueprints (//UE4/Dev-Blueprints) Change 3104266 on 2016/08/29 by Ben.Marsh Add test script to native assets for QAGame. Change 3104399 on 2016/08/29 by Ben.Marsh Fix missing property warning in build script. Change 3104419 on 2016/08/29 by Maciej.Mroz #jira UE-35135 Odin compiles with errors when using Blueprint nativization - Reduced number of DynamicCLass instance dependencies - Fixed UDS default values dependencies - Improved WeakObjPtr handling - Improved const parameters handling Change 3104474 on 2016/08/29 by Ryan.Rauschkolb BP Profiler: Fixed issue where collapsed nodes that share a name with a parent class collapsed node can cause a stack overflow #jira UE-35245 Change 3105605 on 2016/08/30 by Maciej.Mroz Temp change: CIS Test Change 3105738 on 2016/08/30 by Maciej.Mroz UAT, CIS: testing NoRecompileUAT switch. Change 3105800 on 2016/08/30 by Maciej.Mroz UAT, CIS, Nativization: - reverted NoRecompileUAT switch. - testing nativization with -nocompileeditor flag and without -compile flag Change 3106162 on 2016/08/30 by Maciej.Mroz UAT, CIS, Nativization: -NoSubmit flag added. Otherwise UAT files are singed (when they are used by other process). It causes an error. - Ugly hack removed. Change 3106261 on 2016/08/30 by Phillip.Kavan [UE-34705] Gracefully handle tunnel node entry exec pins that aren't internally linked during BP profiler tunnel boundary mapping. change summary: - added FBlueprintFunctionContext::GetTunnelBoundaryNode() (uncheckedl variant). - moved FBlueprintFunctionContext::GetTunnelBoundaryNodeChecked() impl into GetTunnelBoundaryNode(). - re-implemented FBlueprintFunctionContext::GetTunnelBoundaryNodeChecked() to call GetTunnelBoundaryNode() and then assert on the result. - changed the FBlueprintTunnelInstanceContext::GetTunnelBoundaryNodeChecked() impl to override GetTunnelBoundaryNode() instead. - modified FBlueprintFunctionContext::MapTunnelBoundary() to only process the entry case if the TunnelBoundaryNode result is valid. this way we simply skip tunnel boundary mapping if an entry path was not previously mapped (rather than assert). #jira UE-34705 Change 3106478 on 2016/08/30 by Ben.Marsh Include *.uasset files on builders running the NativizeAssets job. Change 3107514 on 2016/08/31 by Ben.Cosh This set of changes is the result of a full pass on the blueprint profiler heat interface to try and bring them into a usable state. #Jira UE-33465 - Stat heat colors and heat wire traces need a quick pass to ensure they are working as expected. #Jira UE-33309 - FlipFlop node breaks hottest path wire heatmap #Jira UE-33650 - Blueprint heatwire effects do not work when touching user macros #Jira UE-33706 - BP Profiler - Macro instances not colored or reporting time #Jira UE-33701 - BP Profiler: Hottest path wire heatmap doesn't appear to be working #Jira UE-33083 - BP Profiler - (Exclusive) pure node heatmap missing from some nodes #Jira UE-34855 - BP Profiler - Update heatmap coloration when switching between Default/Custom thresholds #Jira UE-32218 - BP Profiler: Clear "inclusive" time entries from "avg. time" row. #Proj GraphEditor, Kismet, BlueprintProfiler, Change 3108268 on 2016/08/31 by Ben.Cosh Minor change from profiler review sessions to move macro timing to average stats. #Jira UE-33706 - BP Profiler - Macro instances not colored or reporting time #Proj Kismet Change 3108991 on 2016/08/31 by Maciej.Mroz UAT, CIS, Nativization: Test separate cooking and compiling Change 3110097 on 2016/09/01 by Ben.Cosh Minor update to the blueprint profiler mapping functionality to ignore disabled nodes and a fix for the max timing white glow bug. #Jira UE-35377 - Blueprint macros highlighting white in profiler #Jira UE-34973 - Remove Ghost Nodes #Proj Kismet, BlueprintProfiler Change 3114553 on 2016/09/06 by Dan.Oconnor Support for TMap/TSet in blueprint variable editor panel #jira UE-2114 Change 3116367 on 2016/09/07 by Dan.Oconnor Fixed Function/Macro inputs/outputs list (had become cramped with my last change) + misc. fixes for new container types, fixes uninitialized members in FTerminalType #jira UE-2114, UE-35676 Change 3116663 on 2016/09/07 by Dan.Oconnor Fix for array functions showing up with TSet and TMap pins #jira UE-2114 Change 3118259 on 2016/09/08 by Ryan.Rauschkolb BP Profiler: Fixed Assert when profiling parent/child Blueprint #jira UE-35487 Change 3119023 on 2016/09/09 by Maciej.Mroz Manually integrated (from Odin branch) recent changes related to BP and nativization: 3115713 UE-35448 3117590 UE-35697 3117742 ODIN-577 Change 3119058 on 2016/09/09 by Maciej.Mroz #jira UE-32841 GitHub 2574 : fix typos #2574 https://github.com/EpicGames/UnrealEngine/pull/2574 Renamed function CustomNativeInitilize to InitializeNativeClassData and made it private. Change 3119302 on 2016/09/09 by Maciej.Mroz #jira UE-35584 Orion - nativized server crashes Global variable for WITH_PERFCOUNTERS definition in UEBuildConfiguration. Previously the same header could be compiled with the WITH_PERFCOUNTERS flag enadles and disabled (during a single compilation) . Change 3119502 on 2016/09/09 by Mike.Beach When building a deterministic UUID for latent nodes, we now use expanded nodes' origin (node) to avoid collisions (latent node in macros, etc.) #jira UE-35609 Change 3119517 on 2016/09/09 by Ryan.Rauschkolb Added blueprint editor settings option to display unique names for blueprint nodes Change 3119602 on 2016/09/09 by Maciej.Mroz #jira UEBP-214 Implement Solution for Nativized AnimBlueprints Size Reduction Added stats about nativized AnimBP Mechanism to exlcude reducible AnimBP Editor config option:[BlueprintNativizationSettings] bNativizeAnimBPOnlyWhenNonReducibleFuncitons=false Change 3119615 on 2016/09/09 by Maciej.Mroz Missing change (should be part of cl#3119602) Change 3119619 on 2016/09/09 by Maciej.Mroz #jira UEBP-214 Implement Solution for Nativized AnimBlueprints Size Reduction Excluding all AnimBP from Orion nativization. Change 3120752 on 2016/09/12 by Maciej.Mroz #jira UE-35051 [CrashReport] UE4Editor_BlueprintNativeCodeGen!FBlueprintNativeCodeGenModule::GenerateSingleAsset() Removed unnecessary ensure Change 3121354 on 2016/09/12 by Dan.Oconnor Fixed variable type width, required for TMap's extra combobox. Change 3121626 on 2016/09/12 by Phillip.Kavan [UE-35456] Fix crash on right-click in components tree view after copying one or more BSP actors to clipboard. Note: This applies to the components tree view in both the Blueprint editor and the Level editor's Actor details panel. change summary: - modified FComponentObjectTextFactory::CanCreateClass() to exclude Actor/Component subtypes that are not Blueprint-compatible (e.g. ABrush). #jira UE-35456 Change 3122712 on 2016/09/13 by Maciej.Mroz #jira UE-35714 [CrashReport] UE4Editor_BlueprintGraph!UK2Node_CallArrayFunction::GetArrayPins() [k2node_callarrayfunction.cpp:141] Replaced "check" with "ensure". Change 3124398 on 2016/09/14 by Maciej.Mroz More strict BP validation in UBlueprintThumbnailRenderer::Draw #jira UE-35705 Change 3124405 on 2016/09/14 by Maciej.Mroz #jira UE-35110 Packaged project crashes when playing sound from blueprint library with enum input after nativizing blueprints Function Libraries are properly added to dependencies list while nativization. Change 3124667 on 2016/09/14 by Maciej.Mroz #jira UE-35262 Incompatible pins give generate warning, when error is necessary. Fixed incompatible pins validation. Change 3125245 on 2016/09/14 by Phillip.Kavan [UE-33674] Fix missing stats for the ForEachElementInEnum node type in the Blueprint profiler tree view. change summary: - modified FScriptEventPlayback::Process() to not allow intermediate node exit pins to pollute the current trace path - modified FBlueprintFunctionContext::DetermineGraphNodeCharacteristics() to handle the UK2Node_ForEachElementInEnum type as a special case and account for extra loop iterations in the sample frequency computed at mapping time - exported UK2Node_ForEachElementInEnum::InsideLoopPinName and EnumOutputPinName string constants #jira UE-33674 Change 3126211 on 2016/09/15 by Maciej.Mroz #jira UE-36016 Struct pin can be connected to Object pin without error Change 3126393 on 2016/09/15 by Maciej.Mroz #jira UE-35936 Replace "check" by "ensure". Change 3126623 on 2016/09/15 by Maciej.Mroz #jira UE-35816 User defined struct array resets to defaults in blueprint after updating the struct STRUCT_SerializeFromMismatchedTag is not necessary to serialize structure when guids match. Anyway STRUCT_SerializeFromMismatchedTag sholud precede SerializeFromMismatchedTag(). Change 3127288 on 2016/09/15 by Mike.Beach Making the script VM overhead and native time stats threadsafe (to account for threaded anim Blueprints in Orion). Change 3127375 on 2016/09/15 by Mike.Beach Making sure Blueprint classes inherit the super's ClassConfigName properly (inherit the ID instead of the filename). Change 3127381 on 2016/09/15 by Mike.Beach Removing an overzealous ensure that certain users were hitting when a loading array property wasn't fully filled out yet (confirmed that it was populated with the proper objects by the end of the load). Change 3127476 on 2016/09/15 by Dan.Oconnor Build fix #jira UE-36073 Change 3128335 on 2016/09/16 by Maciej.Mroz #jira UE-36075 Odin: BP_DefaultHand and BigBotCharacter blueprints fail to compile Fixed broken BP assets. Change 3128589 on 2016/09/16 by Mike.Beach Fixing a static analysis CIS warning (duplicated condition). Change 3128630 on 2016/09/16 by Dan.Oconnor Re-fix with engine version set Change 3129338 on 2016/09/16 by Dan.Oconnor =FScriptSet/FScriptSetHelper fleshed out (Add, Remove, and Find implemented) +SetParam implemented for marking up sets for primitive Set functions (to be checked in once completed as BlueprintSetLibrary) #jira UE-2114 [CL 3131171 by Mike Beach in Main branch]
2016-09-19 16:14:06 -04:00
// useless copies/allocates in this code, could be an optimization target...
TArray<FString> SetParamPinGroups;
{
SetPinMetaData.ParseIntoArray(SetParamPinGroups, TEXT(","), true);
Copying //UE4/Dev-Blueprints to //UE4/Dev-Main (Source: //UE4/Dev-Blueprints @ 3130440) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3050029 on 2016/07/14 by Ben.Cosh This modifies the blueprint instrumented compilation chain so only the the blueprint you compile and all dependencies are instrumented and the profiler is notified rather than waiting for event data. #Jira UE-32063 - The blueprint profiler doesn't display any stats in the execution graph if no instance is placed in the current level. #Proj BlueprintProfiler, Kismet, UnrelEd - This also improves the execution graph UI, notifying the user that no instances are available to display data from. Change 3101549 on 2016/08/25 by Maciej.Mroz BP nativization: fixed FEmitDefaultValueHelper::HandleInstancedSubobject https://udn.unrealengine.com/questions/308800/nativized-blueprints-newobject-call-uses-incorrect.html Change 3101811 on 2016/08/25 by Ryan.Rauschkolb BP Profiler: Fixed stack overflow crash when compiling blueprints with nested macros #jira UE-34503 Change 3102478 on 2016/08/26 by Maciej.Mroz #jira UE-35135 - Odin compiles with errors when using Blueprint nativization BP Nativization: - improved native cast - improved bool handling Change 3102944 on 2016/08/26 by Phillip.Kavan [UE-33017] Don't include transient properties when generating property lists at cook time for optimized runtime Blueprint component instancing. Also ensure that deprecated properties are serialized during load/instancing at runtime. change summary: - modified FBlueprintComponentInstanceDataLoader to append 'PPF_UseDeprecatedProperties' to the FArchive port flags. - modified FBlueprintComponentInstanceDataWriter to append both 'PPF_Duplicate' and 'PPF_UseDeprecatedProperties" to the FArchive port flags (to ensure consistency w/ the instancing side). - switched the RecursivePropertyGatherLambda helper to a static class method instead - modified the RecursivePropertyGather utility method to exclude transient properties. notes: - the primary cause of UE-33017 was that UBodySetup can "share" the ShapeBodySetup object across all instances, but the shared object is not owned by the CDO, it's owned by the archetype. this caused the archetype to differ from the CDO, which caused us to emit the transient property at cook time. thsi threw off the serialization offset between read/write FArchive passes at runtime. since transient properties are not serialized as part of the template, there's no need to include them in the generated delta property list, so as a fix, i'm just excluding them altogether. #jira UE-33017 Change 3103692 on 2016/08/27 by Mike.Beach Merging //UE4/Dev-Main to Dev-Blueprints (//UE4/Dev-Blueprints) Change 3104266 on 2016/08/29 by Ben.Marsh Add test script to native assets for QAGame. Change 3104399 on 2016/08/29 by Ben.Marsh Fix missing property warning in build script. Change 3104419 on 2016/08/29 by Maciej.Mroz #jira UE-35135 Odin compiles with errors when using Blueprint nativization - Reduced number of DynamicCLass instance dependencies - Fixed UDS default values dependencies - Improved WeakObjPtr handling - Improved const parameters handling Change 3104474 on 2016/08/29 by Ryan.Rauschkolb BP Profiler: Fixed issue where collapsed nodes that share a name with a parent class collapsed node can cause a stack overflow #jira UE-35245 Change 3105605 on 2016/08/30 by Maciej.Mroz Temp change: CIS Test Change 3105738 on 2016/08/30 by Maciej.Mroz UAT, CIS: testing NoRecompileUAT switch. Change 3105800 on 2016/08/30 by Maciej.Mroz UAT, CIS, Nativization: - reverted NoRecompileUAT switch. - testing nativization with -nocompileeditor flag and without -compile flag Change 3106162 on 2016/08/30 by Maciej.Mroz UAT, CIS, Nativization: -NoSubmit flag added. Otherwise UAT files are singed (when they are used by other process). It causes an error. - Ugly hack removed. Change 3106261 on 2016/08/30 by Phillip.Kavan [UE-34705] Gracefully handle tunnel node entry exec pins that aren't internally linked during BP profiler tunnel boundary mapping. change summary: - added FBlueprintFunctionContext::GetTunnelBoundaryNode() (uncheckedl variant). - moved FBlueprintFunctionContext::GetTunnelBoundaryNodeChecked() impl into GetTunnelBoundaryNode(). - re-implemented FBlueprintFunctionContext::GetTunnelBoundaryNodeChecked() to call GetTunnelBoundaryNode() and then assert on the result. - changed the FBlueprintTunnelInstanceContext::GetTunnelBoundaryNodeChecked() impl to override GetTunnelBoundaryNode() instead. - modified FBlueprintFunctionContext::MapTunnelBoundary() to only process the entry case if the TunnelBoundaryNode result is valid. this way we simply skip tunnel boundary mapping if an entry path was not previously mapped (rather than assert). #jira UE-34705 Change 3106478 on 2016/08/30 by Ben.Marsh Include *.uasset files on builders running the NativizeAssets job. Change 3107514 on 2016/08/31 by Ben.Cosh This set of changes is the result of a full pass on the blueprint profiler heat interface to try and bring them into a usable state. #Jira UE-33465 - Stat heat colors and heat wire traces need a quick pass to ensure they are working as expected. #Jira UE-33309 - FlipFlop node breaks hottest path wire heatmap #Jira UE-33650 - Blueprint heatwire effects do not work when touching user macros #Jira UE-33706 - BP Profiler - Macro instances not colored or reporting time #Jira UE-33701 - BP Profiler: Hottest path wire heatmap doesn't appear to be working #Jira UE-33083 - BP Profiler - (Exclusive) pure node heatmap missing from some nodes #Jira UE-34855 - BP Profiler - Update heatmap coloration when switching between Default/Custom thresholds #Jira UE-32218 - BP Profiler: Clear "inclusive" time entries from "avg. time" row. #Proj GraphEditor, Kismet, BlueprintProfiler, Change 3108268 on 2016/08/31 by Ben.Cosh Minor change from profiler review sessions to move macro timing to average stats. #Jira UE-33706 - BP Profiler - Macro instances not colored or reporting time #Proj Kismet Change 3108991 on 2016/08/31 by Maciej.Mroz UAT, CIS, Nativization: Test separate cooking and compiling Change 3110097 on 2016/09/01 by Ben.Cosh Minor update to the blueprint profiler mapping functionality to ignore disabled nodes and a fix for the max timing white glow bug. #Jira UE-35377 - Blueprint macros highlighting white in profiler #Jira UE-34973 - Remove Ghost Nodes #Proj Kismet, BlueprintProfiler Change 3114553 on 2016/09/06 by Dan.Oconnor Support for TMap/TSet in blueprint variable editor panel #jira UE-2114 Change 3116367 on 2016/09/07 by Dan.Oconnor Fixed Function/Macro inputs/outputs list (had become cramped with my last change) + misc. fixes for new container types, fixes uninitialized members in FTerminalType #jira UE-2114, UE-35676 Change 3116663 on 2016/09/07 by Dan.Oconnor Fix for array functions showing up with TSet and TMap pins #jira UE-2114 Change 3118259 on 2016/09/08 by Ryan.Rauschkolb BP Profiler: Fixed Assert when profiling parent/child Blueprint #jira UE-35487 Change 3119023 on 2016/09/09 by Maciej.Mroz Manually integrated (from Odin branch) recent changes related to BP and nativization: 3115713 UE-35448 3117590 UE-35697 3117742 ODIN-577 Change 3119058 on 2016/09/09 by Maciej.Mroz #jira UE-32841 GitHub 2574 : fix typos #2574 https://github.com/EpicGames/UnrealEngine/pull/2574 Renamed function CustomNativeInitilize to InitializeNativeClassData and made it private. Change 3119302 on 2016/09/09 by Maciej.Mroz #jira UE-35584 Orion - nativized server crashes Global variable for WITH_PERFCOUNTERS definition in UEBuildConfiguration. Previously the same header could be compiled with the WITH_PERFCOUNTERS flag enadles and disabled (during a single compilation) . Change 3119502 on 2016/09/09 by Mike.Beach When building a deterministic UUID for latent nodes, we now use expanded nodes' origin (node) to avoid collisions (latent node in macros, etc.) #jira UE-35609 Change 3119517 on 2016/09/09 by Ryan.Rauschkolb Added blueprint editor settings option to display unique names for blueprint nodes Change 3119602 on 2016/09/09 by Maciej.Mroz #jira UEBP-214 Implement Solution for Nativized AnimBlueprints Size Reduction Added stats about nativized AnimBP Mechanism to exlcude reducible AnimBP Editor config option:[BlueprintNativizationSettings] bNativizeAnimBPOnlyWhenNonReducibleFuncitons=false Change 3119615 on 2016/09/09 by Maciej.Mroz Missing change (should be part of cl#3119602) Change 3119619 on 2016/09/09 by Maciej.Mroz #jira UEBP-214 Implement Solution for Nativized AnimBlueprints Size Reduction Excluding all AnimBP from Orion nativization. Change 3120752 on 2016/09/12 by Maciej.Mroz #jira UE-35051 [CrashReport] UE4Editor_BlueprintNativeCodeGen!FBlueprintNativeCodeGenModule::GenerateSingleAsset() Removed unnecessary ensure Change 3121354 on 2016/09/12 by Dan.Oconnor Fixed variable type width, required for TMap's extra combobox. Change 3121626 on 2016/09/12 by Phillip.Kavan [UE-35456] Fix crash on right-click in components tree view after copying one or more BSP actors to clipboard. Note: This applies to the components tree view in both the Blueprint editor and the Level editor's Actor details panel. change summary: - modified FComponentObjectTextFactory::CanCreateClass() to exclude Actor/Component subtypes that are not Blueprint-compatible (e.g. ABrush). #jira UE-35456 Change 3122712 on 2016/09/13 by Maciej.Mroz #jira UE-35714 [CrashReport] UE4Editor_BlueprintGraph!UK2Node_CallArrayFunction::GetArrayPins() [k2node_callarrayfunction.cpp:141] Replaced "check" with "ensure". Change 3124398 on 2016/09/14 by Maciej.Mroz More strict BP validation in UBlueprintThumbnailRenderer::Draw #jira UE-35705 Change 3124405 on 2016/09/14 by Maciej.Mroz #jira UE-35110 Packaged project crashes when playing sound from blueprint library with enum input after nativizing blueprints Function Libraries are properly added to dependencies list while nativization. Change 3124667 on 2016/09/14 by Maciej.Mroz #jira UE-35262 Incompatible pins give generate warning, when error is necessary. Fixed incompatible pins validation. Change 3125245 on 2016/09/14 by Phillip.Kavan [UE-33674] Fix missing stats for the ForEachElementInEnum node type in the Blueprint profiler tree view. change summary: - modified FScriptEventPlayback::Process() to not allow intermediate node exit pins to pollute the current trace path - modified FBlueprintFunctionContext::DetermineGraphNodeCharacteristics() to handle the UK2Node_ForEachElementInEnum type as a special case and account for extra loop iterations in the sample frequency computed at mapping time - exported UK2Node_ForEachElementInEnum::InsideLoopPinName and EnumOutputPinName string constants #jira UE-33674 Change 3126211 on 2016/09/15 by Maciej.Mroz #jira UE-36016 Struct pin can be connected to Object pin without error Change 3126393 on 2016/09/15 by Maciej.Mroz #jira UE-35936 Replace "check" by "ensure". Change 3126623 on 2016/09/15 by Maciej.Mroz #jira UE-35816 User defined struct array resets to defaults in blueprint after updating the struct STRUCT_SerializeFromMismatchedTag is not necessary to serialize structure when guids match. Anyway STRUCT_SerializeFromMismatchedTag sholud precede SerializeFromMismatchedTag(). Change 3127288 on 2016/09/15 by Mike.Beach Making the script VM overhead and native time stats threadsafe (to account for threaded anim Blueprints in Orion). Change 3127375 on 2016/09/15 by Mike.Beach Making sure Blueprint classes inherit the super's ClassConfigName properly (inherit the ID instead of the filename). Change 3127381 on 2016/09/15 by Mike.Beach Removing an overzealous ensure that certain users were hitting when a loading array property wasn't fully filled out yet (confirmed that it was populated with the proper objects by the end of the load). Change 3127476 on 2016/09/15 by Dan.Oconnor Build fix #jira UE-36073 Change 3128335 on 2016/09/16 by Maciej.Mroz #jira UE-36075 Odin: BP_DefaultHand and BigBotCharacter blueprints fail to compile Fixed broken BP assets. Change 3128589 on 2016/09/16 by Mike.Beach Fixing a static analysis CIS warning (duplicated condition). Change 3128630 on 2016/09/16 by Dan.Oconnor Re-fix with engine version set Change 3129338 on 2016/09/16 by Dan.Oconnor =FScriptSet/FScriptSetHelper fleshed out (Add, Remove, and Find implemented) +SetParam implemented for marking up sets for primitive Set functions (to be checked in once completed as BlueprintSetLibrary) #jira UE-2114 [CL 3131171 by Mike Beach in Main branch]
2016-09-19 16:14:06 -04:00
}
for (FString& Entry : SetParamPinGroups)
{
// split the group:
TArray<FString> GroupEntries;
Entry.ParseIntoArray(GroupEntries, TEXT("|"), true);
// resolve pins
TArray<UEdGraphPin*> ResolvedPins;
for(UEdGraphPin* Pin : Pins)
{
if (GroupEntries.Contains(Pin->GetName()))
{
ResolvedPins.Add(Pin);
}
}
// if nothing is connected (or non-default), reset to wildcard
// else, find the first type and propagate to everyone else::
bool bReadyToPropagatSetType = false;
Copying //UE4/Dev-Blueprints to //UE4/Dev-Main (Source: //UE4/Dev-Blueprints @ 3130440) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3050029 on 2016/07/14 by Ben.Cosh This modifies the blueprint instrumented compilation chain so only the the blueprint you compile and all dependencies are instrumented and the profiler is notified rather than waiting for event data. #Jira UE-32063 - The blueprint profiler doesn't display any stats in the execution graph if no instance is placed in the current level. #Proj BlueprintProfiler, Kismet, UnrelEd - This also improves the execution graph UI, notifying the user that no instances are available to display data from. Change 3101549 on 2016/08/25 by Maciej.Mroz BP nativization: fixed FEmitDefaultValueHelper::HandleInstancedSubobject https://udn.unrealengine.com/questions/308800/nativized-blueprints-newobject-call-uses-incorrect.html Change 3101811 on 2016/08/25 by Ryan.Rauschkolb BP Profiler: Fixed stack overflow crash when compiling blueprints with nested macros #jira UE-34503 Change 3102478 on 2016/08/26 by Maciej.Mroz #jira UE-35135 - Odin compiles with errors when using Blueprint nativization BP Nativization: - improved native cast - improved bool handling Change 3102944 on 2016/08/26 by Phillip.Kavan [UE-33017] Don't include transient properties when generating property lists at cook time for optimized runtime Blueprint component instancing. Also ensure that deprecated properties are serialized during load/instancing at runtime. change summary: - modified FBlueprintComponentInstanceDataLoader to append 'PPF_UseDeprecatedProperties' to the FArchive port flags. - modified FBlueprintComponentInstanceDataWriter to append both 'PPF_Duplicate' and 'PPF_UseDeprecatedProperties" to the FArchive port flags (to ensure consistency w/ the instancing side). - switched the RecursivePropertyGatherLambda helper to a static class method instead - modified the RecursivePropertyGather utility method to exclude transient properties. notes: - the primary cause of UE-33017 was that UBodySetup can "share" the ShapeBodySetup object across all instances, but the shared object is not owned by the CDO, it's owned by the archetype. this caused the archetype to differ from the CDO, which caused us to emit the transient property at cook time. thsi threw off the serialization offset between read/write FArchive passes at runtime. since transient properties are not serialized as part of the template, there's no need to include them in the generated delta property list, so as a fix, i'm just excluding them altogether. #jira UE-33017 Change 3103692 on 2016/08/27 by Mike.Beach Merging //UE4/Dev-Main to Dev-Blueprints (//UE4/Dev-Blueprints) Change 3104266 on 2016/08/29 by Ben.Marsh Add test script to native assets for QAGame. Change 3104399 on 2016/08/29 by Ben.Marsh Fix missing property warning in build script. Change 3104419 on 2016/08/29 by Maciej.Mroz #jira UE-35135 Odin compiles with errors when using Blueprint nativization - Reduced number of DynamicCLass instance dependencies - Fixed UDS default values dependencies - Improved WeakObjPtr handling - Improved const parameters handling Change 3104474 on 2016/08/29 by Ryan.Rauschkolb BP Profiler: Fixed issue where collapsed nodes that share a name with a parent class collapsed node can cause a stack overflow #jira UE-35245 Change 3105605 on 2016/08/30 by Maciej.Mroz Temp change: CIS Test Change 3105738 on 2016/08/30 by Maciej.Mroz UAT, CIS: testing NoRecompileUAT switch. Change 3105800 on 2016/08/30 by Maciej.Mroz UAT, CIS, Nativization: - reverted NoRecompileUAT switch. - testing nativization with -nocompileeditor flag and without -compile flag Change 3106162 on 2016/08/30 by Maciej.Mroz UAT, CIS, Nativization: -NoSubmit flag added. Otherwise UAT files are singed (when they are used by other process). It causes an error. - Ugly hack removed. Change 3106261 on 2016/08/30 by Phillip.Kavan [UE-34705] Gracefully handle tunnel node entry exec pins that aren't internally linked during BP profiler tunnel boundary mapping. change summary: - added FBlueprintFunctionContext::GetTunnelBoundaryNode() (uncheckedl variant). - moved FBlueprintFunctionContext::GetTunnelBoundaryNodeChecked() impl into GetTunnelBoundaryNode(). - re-implemented FBlueprintFunctionContext::GetTunnelBoundaryNodeChecked() to call GetTunnelBoundaryNode() and then assert on the result. - changed the FBlueprintTunnelInstanceContext::GetTunnelBoundaryNodeChecked() impl to override GetTunnelBoundaryNode() instead. - modified FBlueprintFunctionContext::MapTunnelBoundary() to only process the entry case if the TunnelBoundaryNode result is valid. this way we simply skip tunnel boundary mapping if an entry path was not previously mapped (rather than assert). #jira UE-34705 Change 3106478 on 2016/08/30 by Ben.Marsh Include *.uasset files on builders running the NativizeAssets job. Change 3107514 on 2016/08/31 by Ben.Cosh This set of changes is the result of a full pass on the blueprint profiler heat interface to try and bring them into a usable state. #Jira UE-33465 - Stat heat colors and heat wire traces need a quick pass to ensure they are working as expected. #Jira UE-33309 - FlipFlop node breaks hottest path wire heatmap #Jira UE-33650 - Blueprint heatwire effects do not work when touching user macros #Jira UE-33706 - BP Profiler - Macro instances not colored or reporting time #Jira UE-33701 - BP Profiler: Hottest path wire heatmap doesn't appear to be working #Jira UE-33083 - BP Profiler - (Exclusive) pure node heatmap missing from some nodes #Jira UE-34855 - BP Profiler - Update heatmap coloration when switching between Default/Custom thresholds #Jira UE-32218 - BP Profiler: Clear "inclusive" time entries from "avg. time" row. #Proj GraphEditor, Kismet, BlueprintProfiler, Change 3108268 on 2016/08/31 by Ben.Cosh Minor change from profiler review sessions to move macro timing to average stats. #Jira UE-33706 - BP Profiler - Macro instances not colored or reporting time #Proj Kismet Change 3108991 on 2016/08/31 by Maciej.Mroz UAT, CIS, Nativization: Test separate cooking and compiling Change 3110097 on 2016/09/01 by Ben.Cosh Minor update to the blueprint profiler mapping functionality to ignore disabled nodes and a fix for the max timing white glow bug. #Jira UE-35377 - Blueprint macros highlighting white in profiler #Jira UE-34973 - Remove Ghost Nodes #Proj Kismet, BlueprintProfiler Change 3114553 on 2016/09/06 by Dan.Oconnor Support for TMap/TSet in blueprint variable editor panel #jira UE-2114 Change 3116367 on 2016/09/07 by Dan.Oconnor Fixed Function/Macro inputs/outputs list (had become cramped with my last change) + misc. fixes for new container types, fixes uninitialized members in FTerminalType #jira UE-2114, UE-35676 Change 3116663 on 2016/09/07 by Dan.Oconnor Fix for array functions showing up with TSet and TMap pins #jira UE-2114 Change 3118259 on 2016/09/08 by Ryan.Rauschkolb BP Profiler: Fixed Assert when profiling parent/child Blueprint #jira UE-35487 Change 3119023 on 2016/09/09 by Maciej.Mroz Manually integrated (from Odin branch) recent changes related to BP and nativization: 3115713 UE-35448 3117590 UE-35697 3117742 ODIN-577 Change 3119058 on 2016/09/09 by Maciej.Mroz #jira UE-32841 GitHub 2574 : fix typos #2574 https://github.com/EpicGames/UnrealEngine/pull/2574 Renamed function CustomNativeInitilize to InitializeNativeClassData and made it private. Change 3119302 on 2016/09/09 by Maciej.Mroz #jira UE-35584 Orion - nativized server crashes Global variable for WITH_PERFCOUNTERS definition in UEBuildConfiguration. Previously the same header could be compiled with the WITH_PERFCOUNTERS flag enadles and disabled (during a single compilation) . Change 3119502 on 2016/09/09 by Mike.Beach When building a deterministic UUID for latent nodes, we now use expanded nodes' origin (node) to avoid collisions (latent node in macros, etc.) #jira UE-35609 Change 3119517 on 2016/09/09 by Ryan.Rauschkolb Added blueprint editor settings option to display unique names for blueprint nodes Change 3119602 on 2016/09/09 by Maciej.Mroz #jira UEBP-214 Implement Solution for Nativized AnimBlueprints Size Reduction Added stats about nativized AnimBP Mechanism to exlcude reducible AnimBP Editor config option:[BlueprintNativizationSettings] bNativizeAnimBPOnlyWhenNonReducibleFuncitons=false Change 3119615 on 2016/09/09 by Maciej.Mroz Missing change (should be part of cl#3119602) Change 3119619 on 2016/09/09 by Maciej.Mroz #jira UEBP-214 Implement Solution for Nativized AnimBlueprints Size Reduction Excluding all AnimBP from Orion nativization. Change 3120752 on 2016/09/12 by Maciej.Mroz #jira UE-35051 [CrashReport] UE4Editor_BlueprintNativeCodeGen!FBlueprintNativeCodeGenModule::GenerateSingleAsset() Removed unnecessary ensure Change 3121354 on 2016/09/12 by Dan.Oconnor Fixed variable type width, required for TMap's extra combobox. Change 3121626 on 2016/09/12 by Phillip.Kavan [UE-35456] Fix crash on right-click in components tree view after copying one or more BSP actors to clipboard. Note: This applies to the components tree view in both the Blueprint editor and the Level editor's Actor details panel. change summary: - modified FComponentObjectTextFactory::CanCreateClass() to exclude Actor/Component subtypes that are not Blueprint-compatible (e.g. ABrush). #jira UE-35456 Change 3122712 on 2016/09/13 by Maciej.Mroz #jira UE-35714 [CrashReport] UE4Editor_BlueprintGraph!UK2Node_CallArrayFunction::GetArrayPins() [k2node_callarrayfunction.cpp:141] Replaced "check" with "ensure". Change 3124398 on 2016/09/14 by Maciej.Mroz More strict BP validation in UBlueprintThumbnailRenderer::Draw #jira UE-35705 Change 3124405 on 2016/09/14 by Maciej.Mroz #jira UE-35110 Packaged project crashes when playing sound from blueprint library with enum input after nativizing blueprints Function Libraries are properly added to dependencies list while nativization. Change 3124667 on 2016/09/14 by Maciej.Mroz #jira UE-35262 Incompatible pins give generate warning, when error is necessary. Fixed incompatible pins validation. Change 3125245 on 2016/09/14 by Phillip.Kavan [UE-33674] Fix missing stats for the ForEachElementInEnum node type in the Blueprint profiler tree view. change summary: - modified FScriptEventPlayback::Process() to not allow intermediate node exit pins to pollute the current trace path - modified FBlueprintFunctionContext::DetermineGraphNodeCharacteristics() to handle the UK2Node_ForEachElementInEnum type as a special case and account for extra loop iterations in the sample frequency computed at mapping time - exported UK2Node_ForEachElementInEnum::InsideLoopPinName and EnumOutputPinName string constants #jira UE-33674 Change 3126211 on 2016/09/15 by Maciej.Mroz #jira UE-36016 Struct pin can be connected to Object pin without error Change 3126393 on 2016/09/15 by Maciej.Mroz #jira UE-35936 Replace "check" by "ensure". Change 3126623 on 2016/09/15 by Maciej.Mroz #jira UE-35816 User defined struct array resets to defaults in blueprint after updating the struct STRUCT_SerializeFromMismatchedTag is not necessary to serialize structure when guids match. Anyway STRUCT_SerializeFromMismatchedTag sholud precede SerializeFromMismatchedTag(). Change 3127288 on 2016/09/15 by Mike.Beach Making the script VM overhead and native time stats threadsafe (to account for threaded anim Blueprints in Orion). Change 3127375 on 2016/09/15 by Mike.Beach Making sure Blueprint classes inherit the super's ClassConfigName properly (inherit the ID instead of the filename). Change 3127381 on 2016/09/15 by Mike.Beach Removing an overzealous ensure that certain users were hitting when a loading array property wasn't fully filled out yet (confirmed that it was populated with the proper objects by the end of the load). Change 3127476 on 2016/09/15 by Dan.Oconnor Build fix #jira UE-36073 Change 3128335 on 2016/09/16 by Maciej.Mroz #jira UE-36075 Odin: BP_DefaultHand and BigBotCharacter blueprints fail to compile Fixed broken BP assets. Change 3128589 on 2016/09/16 by Mike.Beach Fixing a static analysis CIS warning (duplicated condition). Change 3128630 on 2016/09/16 by Dan.Oconnor Re-fix with engine version set Change 3129338 on 2016/09/16 by Dan.Oconnor =FScriptSet/FScriptSetHelper fleshed out (Add, Remove, and Find implemented) +SetParam implemented for marking up sets for primitive Set functions (to be checked in once completed as BlueprintSetLibrary) #jira UE-2114 [CL 3131171 by Mike Beach in Main branch]
2016-09-19 16:14:06 -04:00
FEdGraphTerminalType TypeToPropagate;
for (UEdGraphPin* Pin : ResolvedPins)
{
TryReadTypeToPropagate(Pin, bReadyToPropagatSetType, TypeToPropagate);
if(bReadyToPropagatSetType)
Copying //UE4/Dev-Blueprints to //UE4/Dev-Main (Source: //UE4/Dev-Blueprints @ 3130440) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3050029 on 2016/07/14 by Ben.Cosh This modifies the blueprint instrumented compilation chain so only the the blueprint you compile and all dependencies are instrumented and the profiler is notified rather than waiting for event data. #Jira UE-32063 - The blueprint profiler doesn't display any stats in the execution graph if no instance is placed in the current level. #Proj BlueprintProfiler, Kismet, UnrelEd - This also improves the execution graph UI, notifying the user that no instances are available to display data from. Change 3101549 on 2016/08/25 by Maciej.Mroz BP nativization: fixed FEmitDefaultValueHelper::HandleInstancedSubobject https://udn.unrealengine.com/questions/308800/nativized-blueprints-newobject-call-uses-incorrect.html Change 3101811 on 2016/08/25 by Ryan.Rauschkolb BP Profiler: Fixed stack overflow crash when compiling blueprints with nested macros #jira UE-34503 Change 3102478 on 2016/08/26 by Maciej.Mroz #jira UE-35135 - Odin compiles with errors when using Blueprint nativization BP Nativization: - improved native cast - improved bool handling Change 3102944 on 2016/08/26 by Phillip.Kavan [UE-33017] Don't include transient properties when generating property lists at cook time for optimized runtime Blueprint component instancing. Also ensure that deprecated properties are serialized during load/instancing at runtime. change summary: - modified FBlueprintComponentInstanceDataLoader to append 'PPF_UseDeprecatedProperties' to the FArchive port flags. - modified FBlueprintComponentInstanceDataWriter to append both 'PPF_Duplicate' and 'PPF_UseDeprecatedProperties" to the FArchive port flags (to ensure consistency w/ the instancing side). - switched the RecursivePropertyGatherLambda helper to a static class method instead - modified the RecursivePropertyGather utility method to exclude transient properties. notes: - the primary cause of UE-33017 was that UBodySetup can "share" the ShapeBodySetup object across all instances, but the shared object is not owned by the CDO, it's owned by the archetype. this caused the archetype to differ from the CDO, which caused us to emit the transient property at cook time. thsi threw off the serialization offset between read/write FArchive passes at runtime. since transient properties are not serialized as part of the template, there's no need to include them in the generated delta property list, so as a fix, i'm just excluding them altogether. #jira UE-33017 Change 3103692 on 2016/08/27 by Mike.Beach Merging //UE4/Dev-Main to Dev-Blueprints (//UE4/Dev-Blueprints) Change 3104266 on 2016/08/29 by Ben.Marsh Add test script to native assets for QAGame. Change 3104399 on 2016/08/29 by Ben.Marsh Fix missing property warning in build script. Change 3104419 on 2016/08/29 by Maciej.Mroz #jira UE-35135 Odin compiles with errors when using Blueprint nativization - Reduced number of DynamicCLass instance dependencies - Fixed UDS default values dependencies - Improved WeakObjPtr handling - Improved const parameters handling Change 3104474 on 2016/08/29 by Ryan.Rauschkolb BP Profiler: Fixed issue where collapsed nodes that share a name with a parent class collapsed node can cause a stack overflow #jira UE-35245 Change 3105605 on 2016/08/30 by Maciej.Mroz Temp change: CIS Test Change 3105738 on 2016/08/30 by Maciej.Mroz UAT, CIS: testing NoRecompileUAT switch. Change 3105800 on 2016/08/30 by Maciej.Mroz UAT, CIS, Nativization: - reverted NoRecompileUAT switch. - testing nativization with -nocompileeditor flag and without -compile flag Change 3106162 on 2016/08/30 by Maciej.Mroz UAT, CIS, Nativization: -NoSubmit flag added. Otherwise UAT files are singed (when they are used by other process). It causes an error. - Ugly hack removed. Change 3106261 on 2016/08/30 by Phillip.Kavan [UE-34705] Gracefully handle tunnel node entry exec pins that aren't internally linked during BP profiler tunnel boundary mapping. change summary: - added FBlueprintFunctionContext::GetTunnelBoundaryNode() (uncheckedl variant). - moved FBlueprintFunctionContext::GetTunnelBoundaryNodeChecked() impl into GetTunnelBoundaryNode(). - re-implemented FBlueprintFunctionContext::GetTunnelBoundaryNodeChecked() to call GetTunnelBoundaryNode() and then assert on the result. - changed the FBlueprintTunnelInstanceContext::GetTunnelBoundaryNodeChecked() impl to override GetTunnelBoundaryNode() instead. - modified FBlueprintFunctionContext::MapTunnelBoundary() to only process the entry case if the TunnelBoundaryNode result is valid. this way we simply skip tunnel boundary mapping if an entry path was not previously mapped (rather than assert). #jira UE-34705 Change 3106478 on 2016/08/30 by Ben.Marsh Include *.uasset files on builders running the NativizeAssets job. Change 3107514 on 2016/08/31 by Ben.Cosh This set of changes is the result of a full pass on the blueprint profiler heat interface to try and bring them into a usable state. #Jira UE-33465 - Stat heat colors and heat wire traces need a quick pass to ensure they are working as expected. #Jira UE-33309 - FlipFlop node breaks hottest path wire heatmap #Jira UE-33650 - Blueprint heatwire effects do not work when touching user macros #Jira UE-33706 - BP Profiler - Macro instances not colored or reporting time #Jira UE-33701 - BP Profiler: Hottest path wire heatmap doesn't appear to be working #Jira UE-33083 - BP Profiler - (Exclusive) pure node heatmap missing from some nodes #Jira UE-34855 - BP Profiler - Update heatmap coloration when switching between Default/Custom thresholds #Jira UE-32218 - BP Profiler: Clear "inclusive" time entries from "avg. time" row. #Proj GraphEditor, Kismet, BlueprintProfiler, Change 3108268 on 2016/08/31 by Ben.Cosh Minor change from profiler review sessions to move macro timing to average stats. #Jira UE-33706 - BP Profiler - Macro instances not colored or reporting time #Proj Kismet Change 3108991 on 2016/08/31 by Maciej.Mroz UAT, CIS, Nativization: Test separate cooking and compiling Change 3110097 on 2016/09/01 by Ben.Cosh Minor update to the blueprint profiler mapping functionality to ignore disabled nodes and a fix for the max timing white glow bug. #Jira UE-35377 - Blueprint macros highlighting white in profiler #Jira UE-34973 - Remove Ghost Nodes #Proj Kismet, BlueprintProfiler Change 3114553 on 2016/09/06 by Dan.Oconnor Support for TMap/TSet in blueprint variable editor panel #jira UE-2114 Change 3116367 on 2016/09/07 by Dan.Oconnor Fixed Function/Macro inputs/outputs list (had become cramped with my last change) + misc. fixes for new container types, fixes uninitialized members in FTerminalType #jira UE-2114, UE-35676 Change 3116663 on 2016/09/07 by Dan.Oconnor Fix for array functions showing up with TSet and TMap pins #jira UE-2114 Change 3118259 on 2016/09/08 by Ryan.Rauschkolb BP Profiler: Fixed Assert when profiling parent/child Blueprint #jira UE-35487 Change 3119023 on 2016/09/09 by Maciej.Mroz Manually integrated (from Odin branch) recent changes related to BP and nativization: 3115713 UE-35448 3117590 UE-35697 3117742 ODIN-577 Change 3119058 on 2016/09/09 by Maciej.Mroz #jira UE-32841 GitHub 2574 : fix typos #2574 https://github.com/EpicGames/UnrealEngine/pull/2574 Renamed function CustomNativeInitilize to InitializeNativeClassData and made it private. Change 3119302 on 2016/09/09 by Maciej.Mroz #jira UE-35584 Orion - nativized server crashes Global variable for WITH_PERFCOUNTERS definition in UEBuildConfiguration. Previously the same header could be compiled with the WITH_PERFCOUNTERS flag enadles and disabled (during a single compilation) . Change 3119502 on 2016/09/09 by Mike.Beach When building a deterministic UUID for latent nodes, we now use expanded nodes' origin (node) to avoid collisions (latent node in macros, etc.) #jira UE-35609 Change 3119517 on 2016/09/09 by Ryan.Rauschkolb Added blueprint editor settings option to display unique names for blueprint nodes Change 3119602 on 2016/09/09 by Maciej.Mroz #jira UEBP-214 Implement Solution for Nativized AnimBlueprints Size Reduction Added stats about nativized AnimBP Mechanism to exlcude reducible AnimBP Editor config option:[BlueprintNativizationSettings] bNativizeAnimBPOnlyWhenNonReducibleFuncitons=false Change 3119615 on 2016/09/09 by Maciej.Mroz Missing change (should be part of cl#3119602) Change 3119619 on 2016/09/09 by Maciej.Mroz #jira UEBP-214 Implement Solution for Nativized AnimBlueprints Size Reduction Excluding all AnimBP from Orion nativization. Change 3120752 on 2016/09/12 by Maciej.Mroz #jira UE-35051 [CrashReport] UE4Editor_BlueprintNativeCodeGen!FBlueprintNativeCodeGenModule::GenerateSingleAsset() Removed unnecessary ensure Change 3121354 on 2016/09/12 by Dan.Oconnor Fixed variable type width, required for TMap's extra combobox. Change 3121626 on 2016/09/12 by Phillip.Kavan [UE-35456] Fix crash on right-click in components tree view after copying one or more BSP actors to clipboard. Note: This applies to the components tree view in both the Blueprint editor and the Level editor's Actor details panel. change summary: - modified FComponentObjectTextFactory::CanCreateClass() to exclude Actor/Component subtypes that are not Blueprint-compatible (e.g. ABrush). #jira UE-35456 Change 3122712 on 2016/09/13 by Maciej.Mroz #jira UE-35714 [CrashReport] UE4Editor_BlueprintGraph!UK2Node_CallArrayFunction::GetArrayPins() [k2node_callarrayfunction.cpp:141] Replaced "check" with "ensure". Change 3124398 on 2016/09/14 by Maciej.Mroz More strict BP validation in UBlueprintThumbnailRenderer::Draw #jira UE-35705 Change 3124405 on 2016/09/14 by Maciej.Mroz #jira UE-35110 Packaged project crashes when playing sound from blueprint library with enum input after nativizing blueprints Function Libraries are properly added to dependencies list while nativization. Change 3124667 on 2016/09/14 by Maciej.Mroz #jira UE-35262 Incompatible pins give generate warning, when error is necessary. Fixed incompatible pins validation. Change 3125245 on 2016/09/14 by Phillip.Kavan [UE-33674] Fix missing stats for the ForEachElementInEnum node type in the Blueprint profiler tree view. change summary: - modified FScriptEventPlayback::Process() to not allow intermediate node exit pins to pollute the current trace path - modified FBlueprintFunctionContext::DetermineGraphNodeCharacteristics() to handle the UK2Node_ForEachElementInEnum type as a special case and account for extra loop iterations in the sample frequency computed at mapping time - exported UK2Node_ForEachElementInEnum::InsideLoopPinName and EnumOutputPinName string constants #jira UE-33674 Change 3126211 on 2016/09/15 by Maciej.Mroz #jira UE-36016 Struct pin can be connected to Object pin without error Change 3126393 on 2016/09/15 by Maciej.Mroz #jira UE-35936 Replace "check" by "ensure". Change 3126623 on 2016/09/15 by Maciej.Mroz #jira UE-35816 User defined struct array resets to defaults in blueprint after updating the struct STRUCT_SerializeFromMismatchedTag is not necessary to serialize structure when guids match. Anyway STRUCT_SerializeFromMismatchedTag sholud precede SerializeFromMismatchedTag(). Change 3127288 on 2016/09/15 by Mike.Beach Making the script VM overhead and native time stats threadsafe (to account for threaded anim Blueprints in Orion). Change 3127375 on 2016/09/15 by Mike.Beach Making sure Blueprint classes inherit the super's ClassConfigName properly (inherit the ID instead of the filename). Change 3127381 on 2016/09/15 by Mike.Beach Removing an overzealous ensure that certain users were hitting when a loading array property wasn't fully filled out yet (confirmed that it was populated with the proper objects by the end of the load). Change 3127476 on 2016/09/15 by Dan.Oconnor Build fix #jira UE-36073 Change 3128335 on 2016/09/16 by Maciej.Mroz #jira UE-36075 Odin: BP_DefaultHand and BigBotCharacter blueprints fail to compile Fixed broken BP assets. Change 3128589 on 2016/09/16 by Mike.Beach Fixing a static analysis CIS warning (duplicated condition). Change 3128630 on 2016/09/16 by Dan.Oconnor Re-fix with engine version set Change 3129338 on 2016/09/16 by Dan.Oconnor =FScriptSet/FScriptSetHelper fleshed out (Add, Remove, and Find implemented) +SetParam implemented for marking up sets for primitive Set functions (to be checked in once completed as BlueprintSetLibrary) #jira UE-2114 [CL 3131171 by Mike Beach in Main branch]
2016-09-19 16:14:06 -04:00
{
break;
}
}
for (UEdGraphPin* Pin : ResolvedPins)
Copying //UE4/Dev-Blueprints to //UE4/Dev-Main (Source: //UE4/Dev-Blueprints @ 3130440) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3050029 on 2016/07/14 by Ben.Cosh This modifies the blueprint instrumented compilation chain so only the the blueprint you compile and all dependencies are instrumented and the profiler is notified rather than waiting for event data. #Jira UE-32063 - The blueprint profiler doesn't display any stats in the execution graph if no instance is placed in the current level. #Proj BlueprintProfiler, Kismet, UnrelEd - This also improves the execution graph UI, notifying the user that no instances are available to display data from. Change 3101549 on 2016/08/25 by Maciej.Mroz BP nativization: fixed FEmitDefaultValueHelper::HandleInstancedSubobject https://udn.unrealengine.com/questions/308800/nativized-blueprints-newobject-call-uses-incorrect.html Change 3101811 on 2016/08/25 by Ryan.Rauschkolb BP Profiler: Fixed stack overflow crash when compiling blueprints with nested macros #jira UE-34503 Change 3102478 on 2016/08/26 by Maciej.Mroz #jira UE-35135 - Odin compiles with errors when using Blueprint nativization BP Nativization: - improved native cast - improved bool handling Change 3102944 on 2016/08/26 by Phillip.Kavan [UE-33017] Don't include transient properties when generating property lists at cook time for optimized runtime Blueprint component instancing. Also ensure that deprecated properties are serialized during load/instancing at runtime. change summary: - modified FBlueprintComponentInstanceDataLoader to append 'PPF_UseDeprecatedProperties' to the FArchive port flags. - modified FBlueprintComponentInstanceDataWriter to append both 'PPF_Duplicate' and 'PPF_UseDeprecatedProperties" to the FArchive port flags (to ensure consistency w/ the instancing side). - switched the RecursivePropertyGatherLambda helper to a static class method instead - modified the RecursivePropertyGather utility method to exclude transient properties. notes: - the primary cause of UE-33017 was that UBodySetup can "share" the ShapeBodySetup object across all instances, but the shared object is not owned by the CDO, it's owned by the archetype. this caused the archetype to differ from the CDO, which caused us to emit the transient property at cook time. thsi threw off the serialization offset between read/write FArchive passes at runtime. since transient properties are not serialized as part of the template, there's no need to include them in the generated delta property list, so as a fix, i'm just excluding them altogether. #jira UE-33017 Change 3103692 on 2016/08/27 by Mike.Beach Merging //UE4/Dev-Main to Dev-Blueprints (//UE4/Dev-Blueprints) Change 3104266 on 2016/08/29 by Ben.Marsh Add test script to native assets for QAGame. Change 3104399 on 2016/08/29 by Ben.Marsh Fix missing property warning in build script. Change 3104419 on 2016/08/29 by Maciej.Mroz #jira UE-35135 Odin compiles with errors when using Blueprint nativization - Reduced number of DynamicCLass instance dependencies - Fixed UDS default values dependencies - Improved WeakObjPtr handling - Improved const parameters handling Change 3104474 on 2016/08/29 by Ryan.Rauschkolb BP Profiler: Fixed issue where collapsed nodes that share a name with a parent class collapsed node can cause a stack overflow #jira UE-35245 Change 3105605 on 2016/08/30 by Maciej.Mroz Temp change: CIS Test Change 3105738 on 2016/08/30 by Maciej.Mroz UAT, CIS: testing NoRecompileUAT switch. Change 3105800 on 2016/08/30 by Maciej.Mroz UAT, CIS, Nativization: - reverted NoRecompileUAT switch. - testing nativization with -nocompileeditor flag and without -compile flag Change 3106162 on 2016/08/30 by Maciej.Mroz UAT, CIS, Nativization: -NoSubmit flag added. Otherwise UAT files are singed (when they are used by other process). It causes an error. - Ugly hack removed. Change 3106261 on 2016/08/30 by Phillip.Kavan [UE-34705] Gracefully handle tunnel node entry exec pins that aren't internally linked during BP profiler tunnel boundary mapping. change summary: - added FBlueprintFunctionContext::GetTunnelBoundaryNode() (uncheckedl variant). - moved FBlueprintFunctionContext::GetTunnelBoundaryNodeChecked() impl into GetTunnelBoundaryNode(). - re-implemented FBlueprintFunctionContext::GetTunnelBoundaryNodeChecked() to call GetTunnelBoundaryNode() and then assert on the result. - changed the FBlueprintTunnelInstanceContext::GetTunnelBoundaryNodeChecked() impl to override GetTunnelBoundaryNode() instead. - modified FBlueprintFunctionContext::MapTunnelBoundary() to only process the entry case if the TunnelBoundaryNode result is valid. this way we simply skip tunnel boundary mapping if an entry path was not previously mapped (rather than assert). #jira UE-34705 Change 3106478 on 2016/08/30 by Ben.Marsh Include *.uasset files on builders running the NativizeAssets job. Change 3107514 on 2016/08/31 by Ben.Cosh This set of changes is the result of a full pass on the blueprint profiler heat interface to try and bring them into a usable state. #Jira UE-33465 - Stat heat colors and heat wire traces need a quick pass to ensure they are working as expected. #Jira UE-33309 - FlipFlop node breaks hottest path wire heatmap #Jira UE-33650 - Blueprint heatwire effects do not work when touching user macros #Jira UE-33706 - BP Profiler - Macro instances not colored or reporting time #Jira UE-33701 - BP Profiler: Hottest path wire heatmap doesn't appear to be working #Jira UE-33083 - BP Profiler - (Exclusive) pure node heatmap missing from some nodes #Jira UE-34855 - BP Profiler - Update heatmap coloration when switching between Default/Custom thresholds #Jira UE-32218 - BP Profiler: Clear "inclusive" time entries from "avg. time" row. #Proj GraphEditor, Kismet, BlueprintProfiler, Change 3108268 on 2016/08/31 by Ben.Cosh Minor change from profiler review sessions to move macro timing to average stats. #Jira UE-33706 - BP Profiler - Macro instances not colored or reporting time #Proj Kismet Change 3108991 on 2016/08/31 by Maciej.Mroz UAT, CIS, Nativization: Test separate cooking and compiling Change 3110097 on 2016/09/01 by Ben.Cosh Minor update to the blueprint profiler mapping functionality to ignore disabled nodes and a fix for the max timing white glow bug. #Jira UE-35377 - Blueprint macros highlighting white in profiler #Jira UE-34973 - Remove Ghost Nodes #Proj Kismet, BlueprintProfiler Change 3114553 on 2016/09/06 by Dan.Oconnor Support for TMap/TSet in blueprint variable editor panel #jira UE-2114 Change 3116367 on 2016/09/07 by Dan.Oconnor Fixed Function/Macro inputs/outputs list (had become cramped with my last change) + misc. fixes for new container types, fixes uninitialized members in FTerminalType #jira UE-2114, UE-35676 Change 3116663 on 2016/09/07 by Dan.Oconnor Fix for array functions showing up with TSet and TMap pins #jira UE-2114 Change 3118259 on 2016/09/08 by Ryan.Rauschkolb BP Profiler: Fixed Assert when profiling parent/child Blueprint #jira UE-35487 Change 3119023 on 2016/09/09 by Maciej.Mroz Manually integrated (from Odin branch) recent changes related to BP and nativization: 3115713 UE-35448 3117590 UE-35697 3117742 ODIN-577 Change 3119058 on 2016/09/09 by Maciej.Mroz #jira UE-32841 GitHub 2574 : fix typos #2574 https://github.com/EpicGames/UnrealEngine/pull/2574 Renamed function CustomNativeInitilize to InitializeNativeClassData and made it private. Change 3119302 on 2016/09/09 by Maciej.Mroz #jira UE-35584 Orion - nativized server crashes Global variable for WITH_PERFCOUNTERS definition in UEBuildConfiguration. Previously the same header could be compiled with the WITH_PERFCOUNTERS flag enadles and disabled (during a single compilation) . Change 3119502 on 2016/09/09 by Mike.Beach When building a deterministic UUID for latent nodes, we now use expanded nodes' origin (node) to avoid collisions (latent node in macros, etc.) #jira UE-35609 Change 3119517 on 2016/09/09 by Ryan.Rauschkolb Added blueprint editor settings option to display unique names for blueprint nodes Change 3119602 on 2016/09/09 by Maciej.Mroz #jira UEBP-214 Implement Solution for Nativized AnimBlueprints Size Reduction Added stats about nativized AnimBP Mechanism to exlcude reducible AnimBP Editor config option:[BlueprintNativizationSettings] bNativizeAnimBPOnlyWhenNonReducibleFuncitons=false Change 3119615 on 2016/09/09 by Maciej.Mroz Missing change (should be part of cl#3119602) Change 3119619 on 2016/09/09 by Maciej.Mroz #jira UEBP-214 Implement Solution for Nativized AnimBlueprints Size Reduction Excluding all AnimBP from Orion nativization. Change 3120752 on 2016/09/12 by Maciej.Mroz #jira UE-35051 [CrashReport] UE4Editor_BlueprintNativeCodeGen!FBlueprintNativeCodeGenModule::GenerateSingleAsset() Removed unnecessary ensure Change 3121354 on 2016/09/12 by Dan.Oconnor Fixed variable type width, required for TMap's extra combobox. Change 3121626 on 2016/09/12 by Phillip.Kavan [UE-35456] Fix crash on right-click in components tree view after copying one or more BSP actors to clipboard. Note: This applies to the components tree view in both the Blueprint editor and the Level editor's Actor details panel. change summary: - modified FComponentObjectTextFactory::CanCreateClass() to exclude Actor/Component subtypes that are not Blueprint-compatible (e.g. ABrush). #jira UE-35456 Change 3122712 on 2016/09/13 by Maciej.Mroz #jira UE-35714 [CrashReport] UE4Editor_BlueprintGraph!UK2Node_CallArrayFunction::GetArrayPins() [k2node_callarrayfunction.cpp:141] Replaced "check" with "ensure". Change 3124398 on 2016/09/14 by Maciej.Mroz More strict BP validation in UBlueprintThumbnailRenderer::Draw #jira UE-35705 Change 3124405 on 2016/09/14 by Maciej.Mroz #jira UE-35110 Packaged project crashes when playing sound from blueprint library with enum input after nativizing blueprints Function Libraries are properly added to dependencies list while nativization. Change 3124667 on 2016/09/14 by Maciej.Mroz #jira UE-35262 Incompatible pins give generate warning, when error is necessary. Fixed incompatible pins validation. Change 3125245 on 2016/09/14 by Phillip.Kavan [UE-33674] Fix missing stats for the ForEachElementInEnum node type in the Blueprint profiler tree view. change summary: - modified FScriptEventPlayback::Process() to not allow intermediate node exit pins to pollute the current trace path - modified FBlueprintFunctionContext::DetermineGraphNodeCharacteristics() to handle the UK2Node_ForEachElementInEnum type as a special case and account for extra loop iterations in the sample frequency computed at mapping time - exported UK2Node_ForEachElementInEnum::InsideLoopPinName and EnumOutputPinName string constants #jira UE-33674 Change 3126211 on 2016/09/15 by Maciej.Mroz #jira UE-36016 Struct pin can be connected to Object pin without error Change 3126393 on 2016/09/15 by Maciej.Mroz #jira UE-35936 Replace "check" by "ensure". Change 3126623 on 2016/09/15 by Maciej.Mroz #jira UE-35816 User defined struct array resets to defaults in blueprint after updating the struct STRUCT_SerializeFromMismatchedTag is not necessary to serialize structure when guids match. Anyway STRUCT_SerializeFromMismatchedTag sholud precede SerializeFromMismatchedTag(). Change 3127288 on 2016/09/15 by Mike.Beach Making the script VM overhead and native time stats threadsafe (to account for threaded anim Blueprints in Orion). Change 3127375 on 2016/09/15 by Mike.Beach Making sure Blueprint classes inherit the super's ClassConfigName properly (inherit the ID instead of the filename). Change 3127381 on 2016/09/15 by Mike.Beach Removing an overzealous ensure that certain users were hitting when a loading array property wasn't fully filled out yet (confirmed that it was populated with the proper objects by the end of the load). Change 3127476 on 2016/09/15 by Dan.Oconnor Build fix #jira UE-36073 Change 3128335 on 2016/09/16 by Maciej.Mroz #jira UE-36075 Odin: BP_DefaultHand and BigBotCharacter blueprints fail to compile Fixed broken BP assets. Change 3128589 on 2016/09/16 by Mike.Beach Fixing a static analysis CIS warning (duplicated condition). Change 3128630 on 2016/09/16 by Dan.Oconnor Re-fix with engine version set Change 3129338 on 2016/09/16 by Dan.Oconnor =FScriptSet/FScriptSetHelper fleshed out (Add, Remove, and Find implemented) +SetParam implemented for marking up sets for primitive Set functions (to be checked in once completed as BlueprintSetLibrary) #jira UE-2114 [CL 3131171 by Mike Beach in Main branch]
2016-09-19 16:14:06 -04:00
{
TryPropagateType( Pin, TypeToPropagate, bReadyToPropagatSetType );
Copying //UE4/Dev-Blueprints to //UE4/Dev-Main (Source: //UE4/Dev-Blueprints @ 3130440) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3050029 on 2016/07/14 by Ben.Cosh This modifies the blueprint instrumented compilation chain so only the the blueprint you compile and all dependencies are instrumented and the profiler is notified rather than waiting for event data. #Jira UE-32063 - The blueprint profiler doesn't display any stats in the execution graph if no instance is placed in the current level. #Proj BlueprintProfiler, Kismet, UnrelEd - This also improves the execution graph UI, notifying the user that no instances are available to display data from. Change 3101549 on 2016/08/25 by Maciej.Mroz BP nativization: fixed FEmitDefaultValueHelper::HandleInstancedSubobject https://udn.unrealengine.com/questions/308800/nativized-blueprints-newobject-call-uses-incorrect.html Change 3101811 on 2016/08/25 by Ryan.Rauschkolb BP Profiler: Fixed stack overflow crash when compiling blueprints with nested macros #jira UE-34503 Change 3102478 on 2016/08/26 by Maciej.Mroz #jira UE-35135 - Odin compiles with errors when using Blueprint nativization BP Nativization: - improved native cast - improved bool handling Change 3102944 on 2016/08/26 by Phillip.Kavan [UE-33017] Don't include transient properties when generating property lists at cook time for optimized runtime Blueprint component instancing. Also ensure that deprecated properties are serialized during load/instancing at runtime. change summary: - modified FBlueprintComponentInstanceDataLoader to append 'PPF_UseDeprecatedProperties' to the FArchive port flags. - modified FBlueprintComponentInstanceDataWriter to append both 'PPF_Duplicate' and 'PPF_UseDeprecatedProperties" to the FArchive port flags (to ensure consistency w/ the instancing side). - switched the RecursivePropertyGatherLambda helper to a static class method instead - modified the RecursivePropertyGather utility method to exclude transient properties. notes: - the primary cause of UE-33017 was that UBodySetup can "share" the ShapeBodySetup object across all instances, but the shared object is not owned by the CDO, it's owned by the archetype. this caused the archetype to differ from the CDO, which caused us to emit the transient property at cook time. thsi threw off the serialization offset between read/write FArchive passes at runtime. since transient properties are not serialized as part of the template, there's no need to include them in the generated delta property list, so as a fix, i'm just excluding them altogether. #jira UE-33017 Change 3103692 on 2016/08/27 by Mike.Beach Merging //UE4/Dev-Main to Dev-Blueprints (//UE4/Dev-Blueprints) Change 3104266 on 2016/08/29 by Ben.Marsh Add test script to native assets for QAGame. Change 3104399 on 2016/08/29 by Ben.Marsh Fix missing property warning in build script. Change 3104419 on 2016/08/29 by Maciej.Mroz #jira UE-35135 Odin compiles with errors when using Blueprint nativization - Reduced number of DynamicCLass instance dependencies - Fixed UDS default values dependencies - Improved WeakObjPtr handling - Improved const parameters handling Change 3104474 on 2016/08/29 by Ryan.Rauschkolb BP Profiler: Fixed issue where collapsed nodes that share a name with a parent class collapsed node can cause a stack overflow #jira UE-35245 Change 3105605 on 2016/08/30 by Maciej.Mroz Temp change: CIS Test Change 3105738 on 2016/08/30 by Maciej.Mroz UAT, CIS: testing NoRecompileUAT switch. Change 3105800 on 2016/08/30 by Maciej.Mroz UAT, CIS, Nativization: - reverted NoRecompileUAT switch. - testing nativization with -nocompileeditor flag and without -compile flag Change 3106162 on 2016/08/30 by Maciej.Mroz UAT, CIS, Nativization: -NoSubmit flag added. Otherwise UAT files are singed (when they are used by other process). It causes an error. - Ugly hack removed. Change 3106261 on 2016/08/30 by Phillip.Kavan [UE-34705] Gracefully handle tunnel node entry exec pins that aren't internally linked during BP profiler tunnel boundary mapping. change summary: - added FBlueprintFunctionContext::GetTunnelBoundaryNode() (uncheckedl variant). - moved FBlueprintFunctionContext::GetTunnelBoundaryNodeChecked() impl into GetTunnelBoundaryNode(). - re-implemented FBlueprintFunctionContext::GetTunnelBoundaryNodeChecked() to call GetTunnelBoundaryNode() and then assert on the result. - changed the FBlueprintTunnelInstanceContext::GetTunnelBoundaryNodeChecked() impl to override GetTunnelBoundaryNode() instead. - modified FBlueprintFunctionContext::MapTunnelBoundary() to only process the entry case if the TunnelBoundaryNode result is valid. this way we simply skip tunnel boundary mapping if an entry path was not previously mapped (rather than assert). #jira UE-34705 Change 3106478 on 2016/08/30 by Ben.Marsh Include *.uasset files on builders running the NativizeAssets job. Change 3107514 on 2016/08/31 by Ben.Cosh This set of changes is the result of a full pass on the blueprint profiler heat interface to try and bring them into a usable state. #Jira UE-33465 - Stat heat colors and heat wire traces need a quick pass to ensure they are working as expected. #Jira UE-33309 - FlipFlop node breaks hottest path wire heatmap #Jira UE-33650 - Blueprint heatwire effects do not work when touching user macros #Jira UE-33706 - BP Profiler - Macro instances not colored or reporting time #Jira UE-33701 - BP Profiler: Hottest path wire heatmap doesn't appear to be working #Jira UE-33083 - BP Profiler - (Exclusive) pure node heatmap missing from some nodes #Jira UE-34855 - BP Profiler - Update heatmap coloration when switching between Default/Custom thresholds #Jira UE-32218 - BP Profiler: Clear "inclusive" time entries from "avg. time" row. #Proj GraphEditor, Kismet, BlueprintProfiler, Change 3108268 on 2016/08/31 by Ben.Cosh Minor change from profiler review sessions to move macro timing to average stats. #Jira UE-33706 - BP Profiler - Macro instances not colored or reporting time #Proj Kismet Change 3108991 on 2016/08/31 by Maciej.Mroz UAT, CIS, Nativization: Test separate cooking and compiling Change 3110097 on 2016/09/01 by Ben.Cosh Minor update to the blueprint profiler mapping functionality to ignore disabled nodes and a fix for the max timing white glow bug. #Jira UE-35377 - Blueprint macros highlighting white in profiler #Jira UE-34973 - Remove Ghost Nodes #Proj Kismet, BlueprintProfiler Change 3114553 on 2016/09/06 by Dan.Oconnor Support for TMap/TSet in blueprint variable editor panel #jira UE-2114 Change 3116367 on 2016/09/07 by Dan.Oconnor Fixed Function/Macro inputs/outputs list (had become cramped with my last change) + misc. fixes for new container types, fixes uninitialized members in FTerminalType #jira UE-2114, UE-35676 Change 3116663 on 2016/09/07 by Dan.Oconnor Fix for array functions showing up with TSet and TMap pins #jira UE-2114 Change 3118259 on 2016/09/08 by Ryan.Rauschkolb BP Profiler: Fixed Assert when profiling parent/child Blueprint #jira UE-35487 Change 3119023 on 2016/09/09 by Maciej.Mroz Manually integrated (from Odin branch) recent changes related to BP and nativization: 3115713 UE-35448 3117590 UE-35697 3117742 ODIN-577 Change 3119058 on 2016/09/09 by Maciej.Mroz #jira UE-32841 GitHub 2574 : fix typos #2574 https://github.com/EpicGames/UnrealEngine/pull/2574 Renamed function CustomNativeInitilize to InitializeNativeClassData and made it private. Change 3119302 on 2016/09/09 by Maciej.Mroz #jira UE-35584 Orion - nativized server crashes Global variable for WITH_PERFCOUNTERS definition in UEBuildConfiguration. Previously the same header could be compiled with the WITH_PERFCOUNTERS flag enadles and disabled (during a single compilation) . Change 3119502 on 2016/09/09 by Mike.Beach When building a deterministic UUID for latent nodes, we now use expanded nodes' origin (node) to avoid collisions (latent node in macros, etc.) #jira UE-35609 Change 3119517 on 2016/09/09 by Ryan.Rauschkolb Added blueprint editor settings option to display unique names for blueprint nodes Change 3119602 on 2016/09/09 by Maciej.Mroz #jira UEBP-214 Implement Solution for Nativized AnimBlueprints Size Reduction Added stats about nativized AnimBP Mechanism to exlcude reducible AnimBP Editor config option:[BlueprintNativizationSettings] bNativizeAnimBPOnlyWhenNonReducibleFuncitons=false Change 3119615 on 2016/09/09 by Maciej.Mroz Missing change (should be part of cl#3119602) Change 3119619 on 2016/09/09 by Maciej.Mroz #jira UEBP-214 Implement Solution for Nativized AnimBlueprints Size Reduction Excluding all AnimBP from Orion nativization. Change 3120752 on 2016/09/12 by Maciej.Mroz #jira UE-35051 [CrashReport] UE4Editor_BlueprintNativeCodeGen!FBlueprintNativeCodeGenModule::GenerateSingleAsset() Removed unnecessary ensure Change 3121354 on 2016/09/12 by Dan.Oconnor Fixed variable type width, required for TMap's extra combobox. Change 3121626 on 2016/09/12 by Phillip.Kavan [UE-35456] Fix crash on right-click in components tree view after copying one or more BSP actors to clipboard. Note: This applies to the components tree view in both the Blueprint editor and the Level editor's Actor details panel. change summary: - modified FComponentObjectTextFactory::CanCreateClass() to exclude Actor/Component subtypes that are not Blueprint-compatible (e.g. ABrush). #jira UE-35456 Change 3122712 on 2016/09/13 by Maciej.Mroz #jira UE-35714 [CrashReport] UE4Editor_BlueprintGraph!UK2Node_CallArrayFunction::GetArrayPins() [k2node_callarrayfunction.cpp:141] Replaced "check" with "ensure". Change 3124398 on 2016/09/14 by Maciej.Mroz More strict BP validation in UBlueprintThumbnailRenderer::Draw #jira UE-35705 Change 3124405 on 2016/09/14 by Maciej.Mroz #jira UE-35110 Packaged project crashes when playing sound from blueprint library with enum input after nativizing blueprints Function Libraries are properly added to dependencies list while nativization. Change 3124667 on 2016/09/14 by Maciej.Mroz #jira UE-35262 Incompatible pins give generate warning, when error is necessary. Fixed incompatible pins validation. Change 3125245 on 2016/09/14 by Phillip.Kavan [UE-33674] Fix missing stats for the ForEachElementInEnum node type in the Blueprint profiler tree view. change summary: - modified FScriptEventPlayback::Process() to not allow intermediate node exit pins to pollute the current trace path - modified FBlueprintFunctionContext::DetermineGraphNodeCharacteristics() to handle the UK2Node_ForEachElementInEnum type as a special case and account for extra loop iterations in the sample frequency computed at mapping time - exported UK2Node_ForEachElementInEnum::InsideLoopPinName and EnumOutputPinName string constants #jira UE-33674 Change 3126211 on 2016/09/15 by Maciej.Mroz #jira UE-36016 Struct pin can be connected to Object pin without error Change 3126393 on 2016/09/15 by Maciej.Mroz #jira UE-35936 Replace "check" by "ensure". Change 3126623 on 2016/09/15 by Maciej.Mroz #jira UE-35816 User defined struct array resets to defaults in blueprint after updating the struct STRUCT_SerializeFromMismatchedTag is not necessary to serialize structure when guids match. Anyway STRUCT_SerializeFromMismatchedTag sholud precede SerializeFromMismatchedTag(). Change 3127288 on 2016/09/15 by Mike.Beach Making the script VM overhead and native time stats threadsafe (to account for threaded anim Blueprints in Orion). Change 3127375 on 2016/09/15 by Mike.Beach Making sure Blueprint classes inherit the super's ClassConfigName properly (inherit the ID instead of the filename). Change 3127381 on 2016/09/15 by Mike.Beach Removing an overzealous ensure that certain users were hitting when a loading array property wasn't fully filled out yet (confirmed that it was populated with the proper objects by the end of the load). Change 3127476 on 2016/09/15 by Dan.Oconnor Build fix #jira UE-36073 Change 3128335 on 2016/09/16 by Maciej.Mroz #jira UE-36075 Odin: BP_DefaultHand and BigBotCharacter blueprints fail to compile Fixed broken BP assets. Change 3128589 on 2016/09/16 by Mike.Beach Fixing a static analysis CIS warning (duplicated condition). Change 3128630 on 2016/09/16 by Dan.Oconnor Re-fix with engine version set Change 3129338 on 2016/09/16 by Dan.Oconnor =FScriptSet/FScriptSetHelper fleshed out (Add, Remove, and Find implemented) +SetParam implemented for marking up sets for primitive Set functions (to be checked in once completed as BlueprintSetLibrary) #jira UE-2114 [CL 3131171 by Mike Beach in Main branch]
2016-09-19 16:14:06 -04:00
}
}
const FString& MapPinMetaData = TargetFunction->GetMetaData(FBlueprintMetadata::MD_MapParam);
const FString& MapKeyPinMetaData = TargetFunction->GetMetaData(FBlueprintMetadata::MD_MapKeyParam);
const FString& MapValuePinMetaData = TargetFunction->GetMetaData(FBlueprintMetadata::MD_MapValueParam);
if(!MapPinMetaData.IsEmpty() || !MapKeyPinMetaData.IsEmpty() || !MapValuePinMetaData.IsEmpty() )
{
// if the map pin has a connection infer from that, otherwise use the information on the key param and value param:
bool bReadyToPropagateKeyType = false;
FEdGraphTerminalType KeyTypeToPropagate;
bool bReadyToPropagateValueType = false;
FEdGraphTerminalType ValueTypeToPropagate;
UEdGraphPin* MapPin = MapPinMetaData.IsEmpty() ? nullptr : FindPin(MapPinMetaData);
UEdGraphPin* MapKeyPin = MapKeyPinMetaData.IsEmpty() ? nullptr : FindPin(MapKeyPinMetaData);
UEdGraphPin* MapValuePin = MapValuePinMetaData.IsEmpty() ? nullptr : FindPin(MapValuePinMetaData);
TryReadTypeToPropagate(MapPin, bReadyToPropagateKeyType, KeyTypeToPropagate);
TryReadValueTypeToPropagate(MapPin, bReadyToPropagateValueType, ValueTypeToPropagate);
TryReadTypeToPropagate(MapKeyPin, bReadyToPropagateKeyType, KeyTypeToPropagate);
TryReadTypeToPropagate(MapValuePin, bReadyToPropagateValueType, ValueTypeToPropagate);
TryPropagateType(MapPin, KeyTypeToPropagate, bReadyToPropagateKeyType);
TryPropagateType(MapKeyPin, KeyTypeToPropagate, bReadyToPropagateKeyType);
TryPropagateValueType(MapPin, ValueTypeToPropagate, bReadyToPropagateValueType);
TryPropagateType(MapValuePin, ValueTypeToPropagate, bReadyToPropagateValueType);
}
Copying //UE4/Dev-Blueprints to //UE4/Dev-Main (Source: //UE4/Dev-Blueprints @ 3130440) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3050029 on 2016/07/14 by Ben.Cosh This modifies the blueprint instrumented compilation chain so only the the blueprint you compile and all dependencies are instrumented and the profiler is notified rather than waiting for event data. #Jira UE-32063 - The blueprint profiler doesn't display any stats in the execution graph if no instance is placed in the current level. #Proj BlueprintProfiler, Kismet, UnrelEd - This also improves the execution graph UI, notifying the user that no instances are available to display data from. Change 3101549 on 2016/08/25 by Maciej.Mroz BP nativization: fixed FEmitDefaultValueHelper::HandleInstancedSubobject https://udn.unrealengine.com/questions/308800/nativized-blueprints-newobject-call-uses-incorrect.html Change 3101811 on 2016/08/25 by Ryan.Rauschkolb BP Profiler: Fixed stack overflow crash when compiling blueprints with nested macros #jira UE-34503 Change 3102478 on 2016/08/26 by Maciej.Mroz #jira UE-35135 - Odin compiles with errors when using Blueprint nativization BP Nativization: - improved native cast - improved bool handling Change 3102944 on 2016/08/26 by Phillip.Kavan [UE-33017] Don't include transient properties when generating property lists at cook time for optimized runtime Blueprint component instancing. Also ensure that deprecated properties are serialized during load/instancing at runtime. change summary: - modified FBlueprintComponentInstanceDataLoader to append 'PPF_UseDeprecatedProperties' to the FArchive port flags. - modified FBlueprintComponentInstanceDataWriter to append both 'PPF_Duplicate' and 'PPF_UseDeprecatedProperties" to the FArchive port flags (to ensure consistency w/ the instancing side). - switched the RecursivePropertyGatherLambda helper to a static class method instead - modified the RecursivePropertyGather utility method to exclude transient properties. notes: - the primary cause of UE-33017 was that UBodySetup can "share" the ShapeBodySetup object across all instances, but the shared object is not owned by the CDO, it's owned by the archetype. this caused the archetype to differ from the CDO, which caused us to emit the transient property at cook time. thsi threw off the serialization offset between read/write FArchive passes at runtime. since transient properties are not serialized as part of the template, there's no need to include them in the generated delta property list, so as a fix, i'm just excluding them altogether. #jira UE-33017 Change 3103692 on 2016/08/27 by Mike.Beach Merging //UE4/Dev-Main to Dev-Blueprints (//UE4/Dev-Blueprints) Change 3104266 on 2016/08/29 by Ben.Marsh Add test script to native assets for QAGame. Change 3104399 on 2016/08/29 by Ben.Marsh Fix missing property warning in build script. Change 3104419 on 2016/08/29 by Maciej.Mroz #jira UE-35135 Odin compiles with errors when using Blueprint nativization - Reduced number of DynamicCLass instance dependencies - Fixed UDS default values dependencies - Improved WeakObjPtr handling - Improved const parameters handling Change 3104474 on 2016/08/29 by Ryan.Rauschkolb BP Profiler: Fixed issue where collapsed nodes that share a name with a parent class collapsed node can cause a stack overflow #jira UE-35245 Change 3105605 on 2016/08/30 by Maciej.Mroz Temp change: CIS Test Change 3105738 on 2016/08/30 by Maciej.Mroz UAT, CIS: testing NoRecompileUAT switch. Change 3105800 on 2016/08/30 by Maciej.Mroz UAT, CIS, Nativization: - reverted NoRecompileUAT switch. - testing nativization with -nocompileeditor flag and without -compile flag Change 3106162 on 2016/08/30 by Maciej.Mroz UAT, CIS, Nativization: -NoSubmit flag added. Otherwise UAT files are singed (when they are used by other process). It causes an error. - Ugly hack removed. Change 3106261 on 2016/08/30 by Phillip.Kavan [UE-34705] Gracefully handle tunnel node entry exec pins that aren't internally linked during BP profiler tunnel boundary mapping. change summary: - added FBlueprintFunctionContext::GetTunnelBoundaryNode() (uncheckedl variant). - moved FBlueprintFunctionContext::GetTunnelBoundaryNodeChecked() impl into GetTunnelBoundaryNode(). - re-implemented FBlueprintFunctionContext::GetTunnelBoundaryNodeChecked() to call GetTunnelBoundaryNode() and then assert on the result. - changed the FBlueprintTunnelInstanceContext::GetTunnelBoundaryNodeChecked() impl to override GetTunnelBoundaryNode() instead. - modified FBlueprintFunctionContext::MapTunnelBoundary() to only process the entry case if the TunnelBoundaryNode result is valid. this way we simply skip tunnel boundary mapping if an entry path was not previously mapped (rather than assert). #jira UE-34705 Change 3106478 on 2016/08/30 by Ben.Marsh Include *.uasset files on builders running the NativizeAssets job. Change 3107514 on 2016/08/31 by Ben.Cosh This set of changes is the result of a full pass on the blueprint profiler heat interface to try and bring them into a usable state. #Jira UE-33465 - Stat heat colors and heat wire traces need a quick pass to ensure they are working as expected. #Jira UE-33309 - FlipFlop node breaks hottest path wire heatmap #Jira UE-33650 - Blueprint heatwire effects do not work when touching user macros #Jira UE-33706 - BP Profiler - Macro instances not colored or reporting time #Jira UE-33701 - BP Profiler: Hottest path wire heatmap doesn't appear to be working #Jira UE-33083 - BP Profiler - (Exclusive) pure node heatmap missing from some nodes #Jira UE-34855 - BP Profiler - Update heatmap coloration when switching between Default/Custom thresholds #Jira UE-32218 - BP Profiler: Clear "inclusive" time entries from "avg. time" row. #Proj GraphEditor, Kismet, BlueprintProfiler, Change 3108268 on 2016/08/31 by Ben.Cosh Minor change from profiler review sessions to move macro timing to average stats. #Jira UE-33706 - BP Profiler - Macro instances not colored or reporting time #Proj Kismet Change 3108991 on 2016/08/31 by Maciej.Mroz UAT, CIS, Nativization: Test separate cooking and compiling Change 3110097 on 2016/09/01 by Ben.Cosh Minor update to the blueprint profiler mapping functionality to ignore disabled nodes and a fix for the max timing white glow bug. #Jira UE-35377 - Blueprint macros highlighting white in profiler #Jira UE-34973 - Remove Ghost Nodes #Proj Kismet, BlueprintProfiler Change 3114553 on 2016/09/06 by Dan.Oconnor Support for TMap/TSet in blueprint variable editor panel #jira UE-2114 Change 3116367 on 2016/09/07 by Dan.Oconnor Fixed Function/Macro inputs/outputs list (had become cramped with my last change) + misc. fixes for new container types, fixes uninitialized members in FTerminalType #jira UE-2114, UE-35676 Change 3116663 on 2016/09/07 by Dan.Oconnor Fix for array functions showing up with TSet and TMap pins #jira UE-2114 Change 3118259 on 2016/09/08 by Ryan.Rauschkolb BP Profiler: Fixed Assert when profiling parent/child Blueprint #jira UE-35487 Change 3119023 on 2016/09/09 by Maciej.Mroz Manually integrated (from Odin branch) recent changes related to BP and nativization: 3115713 UE-35448 3117590 UE-35697 3117742 ODIN-577 Change 3119058 on 2016/09/09 by Maciej.Mroz #jira UE-32841 GitHub 2574 : fix typos #2574 https://github.com/EpicGames/UnrealEngine/pull/2574 Renamed function CustomNativeInitilize to InitializeNativeClassData and made it private. Change 3119302 on 2016/09/09 by Maciej.Mroz #jira UE-35584 Orion - nativized server crashes Global variable for WITH_PERFCOUNTERS definition in UEBuildConfiguration. Previously the same header could be compiled with the WITH_PERFCOUNTERS flag enadles and disabled (during a single compilation) . Change 3119502 on 2016/09/09 by Mike.Beach When building a deterministic UUID for latent nodes, we now use expanded nodes' origin (node) to avoid collisions (latent node in macros, etc.) #jira UE-35609 Change 3119517 on 2016/09/09 by Ryan.Rauschkolb Added blueprint editor settings option to display unique names for blueprint nodes Change 3119602 on 2016/09/09 by Maciej.Mroz #jira UEBP-214 Implement Solution for Nativized AnimBlueprints Size Reduction Added stats about nativized AnimBP Mechanism to exlcude reducible AnimBP Editor config option:[BlueprintNativizationSettings] bNativizeAnimBPOnlyWhenNonReducibleFuncitons=false Change 3119615 on 2016/09/09 by Maciej.Mroz Missing change (should be part of cl#3119602) Change 3119619 on 2016/09/09 by Maciej.Mroz #jira UEBP-214 Implement Solution for Nativized AnimBlueprints Size Reduction Excluding all AnimBP from Orion nativization. Change 3120752 on 2016/09/12 by Maciej.Mroz #jira UE-35051 [CrashReport] UE4Editor_BlueprintNativeCodeGen!FBlueprintNativeCodeGenModule::GenerateSingleAsset() Removed unnecessary ensure Change 3121354 on 2016/09/12 by Dan.Oconnor Fixed variable type width, required for TMap's extra combobox. Change 3121626 on 2016/09/12 by Phillip.Kavan [UE-35456] Fix crash on right-click in components tree view after copying one or more BSP actors to clipboard. Note: This applies to the components tree view in both the Blueprint editor and the Level editor's Actor details panel. change summary: - modified FComponentObjectTextFactory::CanCreateClass() to exclude Actor/Component subtypes that are not Blueprint-compatible (e.g. ABrush). #jira UE-35456 Change 3122712 on 2016/09/13 by Maciej.Mroz #jira UE-35714 [CrashReport] UE4Editor_BlueprintGraph!UK2Node_CallArrayFunction::GetArrayPins() [k2node_callarrayfunction.cpp:141] Replaced "check" with "ensure". Change 3124398 on 2016/09/14 by Maciej.Mroz More strict BP validation in UBlueprintThumbnailRenderer::Draw #jira UE-35705 Change 3124405 on 2016/09/14 by Maciej.Mroz #jira UE-35110 Packaged project crashes when playing sound from blueprint library with enum input after nativizing blueprints Function Libraries are properly added to dependencies list while nativization. Change 3124667 on 2016/09/14 by Maciej.Mroz #jira UE-35262 Incompatible pins give generate warning, when error is necessary. Fixed incompatible pins validation. Change 3125245 on 2016/09/14 by Phillip.Kavan [UE-33674] Fix missing stats for the ForEachElementInEnum node type in the Blueprint profiler tree view. change summary: - modified FScriptEventPlayback::Process() to not allow intermediate node exit pins to pollute the current trace path - modified FBlueprintFunctionContext::DetermineGraphNodeCharacteristics() to handle the UK2Node_ForEachElementInEnum type as a special case and account for extra loop iterations in the sample frequency computed at mapping time - exported UK2Node_ForEachElementInEnum::InsideLoopPinName and EnumOutputPinName string constants #jira UE-33674 Change 3126211 on 2016/09/15 by Maciej.Mroz #jira UE-36016 Struct pin can be connected to Object pin without error Change 3126393 on 2016/09/15 by Maciej.Mroz #jira UE-35936 Replace "check" by "ensure". Change 3126623 on 2016/09/15 by Maciej.Mroz #jira UE-35816 User defined struct array resets to defaults in blueprint after updating the struct STRUCT_SerializeFromMismatchedTag is not necessary to serialize structure when guids match. Anyway STRUCT_SerializeFromMismatchedTag sholud precede SerializeFromMismatchedTag(). Change 3127288 on 2016/09/15 by Mike.Beach Making the script VM overhead and native time stats threadsafe (to account for threaded anim Blueprints in Orion). Change 3127375 on 2016/09/15 by Mike.Beach Making sure Blueprint classes inherit the super's ClassConfigName properly (inherit the ID instead of the filename). Change 3127381 on 2016/09/15 by Mike.Beach Removing an overzealous ensure that certain users were hitting when a loading array property wasn't fully filled out yet (confirmed that it was populated with the proper objects by the end of the load). Change 3127476 on 2016/09/15 by Dan.Oconnor Build fix #jira UE-36073 Change 3128335 on 2016/09/16 by Maciej.Mroz #jira UE-36075 Odin: BP_DefaultHand and BigBotCharacter blueprints fail to compile Fixed broken BP assets. Change 3128589 on 2016/09/16 by Mike.Beach Fixing a static analysis CIS warning (duplicated condition). Change 3128630 on 2016/09/16 by Dan.Oconnor Re-fix with engine version set Change 3129338 on 2016/09/16 by Dan.Oconnor =FScriptSet/FScriptSetHelper fleshed out (Add, Remove, and Find implemented) +SetParam implemented for marking up sets for primitive Set functions (to be checked in once completed as BlueprintSetLibrary) #jira UE-2114 [CL 3131171 by Mike Beach in Main branch]
2016-09-19 16:14:06 -04:00
}
FText UK2Node_CallFunction::GetToolTipHeading() const
{
FText Heading = Super::GetToolTipHeading();
struct FHeadingBuilder
{
FHeadingBuilder(FText InitialHeading) : ConstructedHeading(InitialHeading) {}
void Append(FText HeadingAddOn)
{
if (ConstructedHeading.IsEmpty())
{
ConstructedHeading = HeadingAddOn;
}
else
{
ConstructedHeading = FText::Format(FText::FromString("{0}\n{1}"), HeadingAddOn, ConstructedHeading);
}
}
FText ConstructedHeading;
};
FHeadingBuilder HeadingBuilder(Super::GetToolTipHeading());
if (const UFunction* Function = GetTargetFunction())
{
if (Function->HasAllFunctionFlags(FUNC_BlueprintAuthorityOnly))
{
HeadingBuilder.Append(LOCTEXT("ServerOnlyFunc", "Server Only"));
}
if (Function->HasAllFunctionFlags(FUNC_BlueprintCosmetic))
{
HeadingBuilder.Append(LOCTEXT("ClientOnlyFunc", "Client Only"));
}
if(Function->HasMetaData(FBlueprintMetadata::MD_Latent))
{
HeadingBuilder.Append(LOCTEXT("LatentFunc", "Latent"));
}
}
return HeadingBuilder.ConstructedHeading;
}
void UK2Node_CallFunction::GetNodeAttributes( TArray<TKeyValuePair<FString, FString>>& OutNodeAttributes ) const
{
UFunction* TargetFunction = GetTargetFunction();
const FString TargetFunctionName = TargetFunction ? TargetFunction->GetName() : TEXT( "InvalidFunction" );
OutNodeAttributes.Add( TKeyValuePair<FString, FString>( TEXT( "Type" ), TEXT( "Function" ) ));
OutNodeAttributes.Add( TKeyValuePair<FString, FString>( TEXT( "Class" ), GetClass()->GetName() ));
OutNodeAttributes.Add( TKeyValuePair<FString, FString>( TEXT( "Name" ), TargetFunctionName ));
}
FText UK2Node_CallFunction::GetMenuCategory() const
{
UFunction* TargetFunction = GetTargetFunction();
if (TargetFunction != nullptr)
{
return GetDefaultCategoryForFunction(TargetFunction, FText::GetEmpty());
}
return FText::GetEmpty();
}
bool UK2Node_CallFunction::HasExternalDependencies(TArray<class UStruct*>* OptionalOutput) const
{
UFunction* Function = GetTargetFunction();
const UClass* SourceClass = Function ? Function->GetOwnerClass() : nullptr;
const UBlueprint* SourceBlueprint = GetBlueprint();
bool bResult = (SourceClass != nullptr) && (SourceClass->ClassGeneratedBy != SourceBlueprint);
if (bResult && OptionalOutput)
{
OptionalOutput->AddUnique(Function);
}
// All structures, that are required for the BP compilation, should be gathered
for(auto Pin : Pins)
{
UStruct* DepStruct = Pin ? Cast<UStruct>(Pin->PinType.PinSubCategoryObject.Get()) : nullptr;
UClass* DepClass = Cast<UClass>(DepStruct);
if (DepClass && (DepClass->ClassGeneratedBy == SourceBlueprint))
{
//Don't include self
continue;
}
Copying //UE4/Dev-Core to //UE4/Main ========================== MAJOR FEATURES + CHANGES ========================== Change 2717513 on 2015/10/06 by Robert.Manuszewski@Robert_Manuszewski_EGUK_M1 GC and WeakObjectPtr performance optimizations. - Moved some of the EObjectFlags to EInternalObjectFlags and merged them with FUObjectArray - Moved WeakObjectPtr serial numbersto FUObjectArray - Added pre-allocated UObject array Change 2716517 on 2015/10/05 by Robert.Manuszewski@Robert_Manuszewski_EGUK_M1 Make SavePackage thread safe UObject-wise so that StaticFindObject etc can't run in parallel when packages are being saved. Change 2721142 on 2015/10/08 by Mikolaj.Sieluzycki@Dev-Core_D0920 UHT will now use makefiles to speed up iterative runs. Change 2726320 on 2015/10/13 by Jaroslaw.Palczynski@jaroslaw.palczynski_D1732_2963 Hot-reload performance optimizations: 1. Got rid of redundant touched BPs optimization (which was necessary before major HR fixes submitted earlier). 2. Parallelized search for old CDOs referencers. Change 2759032 on 2015/11/09 by Graeme.Thornton@GThornton_DesktopMaster Dependency preloading improvements - Asset registry dependencies now resolve asset redirectors - Rearrange runtime loading to put dependency preloads within BeginLoad/EndLoad for the source package Change 2754342 on 2015/11/04 by Robert.Manuszewski@Robert_Manuszewski_Stream1 Allow UnfocusedVolumeMultiplier to be set programmatically Change 2764008 on 2015/11/12 by Robert.Manuszewski@Robert_Manuszewski_Stream1 When cooking, don't add imports that are outers of objects excluded from the current cook target. Change 2755562 on 2015/11/05 by Steve.Robb@Dev-Core Inline storage for TFunction. Fix for delegate inline storage on Win64. Some build fixes. Visualizer fixes for new TFunction format. Change 2735084 on 2015/10/20 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec CrashReporter Web - Search by Platform Added initial support for streams (GetBranchesAsListItems, CopyToJira) Change 2762387 on 2015/11/11 by Steve.Robb@Dev-Core Unnecessary allocation removed when loading empty files in FFileHelper::LoadFileToString. Change 2762632 on 2015/11/11 by Steve.Robb@Dev-Core Some TSet function optimisations: Avoiding unnecessary hashing of function arguments if the container is empty (rather than the hash being empty, which is not necessarily equivalent). Taking local copies of HashSize during iterations. Change 2762936 on 2015/11/11 by Steve.Robb@Dev-Core BulkData zero byte allocations are now handled by an RAII object which owns the memory. Change 2765758 on 2015/11/13 by Steve.Robb@Dev-Core FName::operator== and != optimised to be a single comparison. Change 2757195 on 2015/11/06 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec PR #1305: Improvements in CrashReporter for Symbol Server usage (Contributed by bozaro) Change 2760778 on 2015/11/10 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec PR #1725: Fixed typos in ProfilerCommon.h; Added comments (Contributed by BGR360) Also fixed starting condition. Change 2739804 on 2015/10/23 by Robert.Manuszewski@Robert_Manuszewski_Stream1 PR #1470: [UObjectGlobals] Do not overwrite instanced subobjects with ones from CDO (Contributed by slonopotamus) Change 2744733 on 2015/10/28 by Steve.Robb@Dev-Core PR #1540 - Specifying a different Saved folder at launch through a command line parameter Integrated and optimized. #lockdown Nick.Penwarden [CL 2772222 by Robert Manuszewski in Main branch]
2015-11-18 16:20:49 -05:00
if (DepStruct && !DepStruct->IsNative())
{
if (OptionalOutput)
{
OptionalOutput->AddUnique(DepStruct);
}
bResult = true;
}
}
const bool bSuperResult = Super::HasExternalDependencies(OptionalOutput);
return bSuperResult || bResult;
}
UEdGraph* UK2Node_CallFunction::GetFunctionGraph(const UEdGraphNode*& OutGraphNode) const
{
OutGraphNode = NULL;
// Search for the Blueprint owner of the function graph, climbing up through the Blueprint hierarchy
UClass* MemberParentClass = FunctionReference.GetMemberParentClass(GetBlueprintClassFromNode());
if(MemberParentClass != NULL)
{
UBlueprintGeneratedClass* ParentClass = Cast<UBlueprintGeneratedClass>(MemberParentClass);
if(ParentClass != NULL && ParentClass->ClassGeneratedBy != NULL)
{
UBlueprint* Blueprint = Cast<UBlueprint>(ParentClass->ClassGeneratedBy);
while(Blueprint != NULL)
{
Copying //UE4/Dev-Blueprints to //UE4/Dev-Main (Source: //UE4/Dev-Blueprints @ 3025888) #rb none #lockdown Nick.Penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2927746 on 2016/03/30 by Michael.Schoell Local variables in function graphs will now store a hard reference to their UObject value. Fixes a crash when a Blueprint is saved before compiling with the local variable's value set. Ensures that the UObject is loaded with the Blueprint. #jira UE-27738 - Local variables in a function that is in a blueprint will somehow become invalid when calling a native Change 2927751 on 2016/03/30 by Michael.Schoell Back out changelist 2927746 Change 2986483 on 2016/05/23 by Maciej.Mroz #jira UE-30976 Editable enum values set on an instance are lost during nativization Added overriden names of Enum keys. Change 2986712 on 2016/05/23 by Phillip.Kavan [UE-21010] Apply updated transform to component template instances when changing the scene root in a Blueprint class. change summary: - modified SSCS_RowWidget::OnMakeNewRootDropAction() to propagate the location/rotation reset to instances of the component template that's becoming the new scene root. Change 2987406 on 2016/05/23 by Ryan.Rauschkolb Fixed Functions filter in Find-In-Blueprints will show components from the SCS #jira UE-30140 Change 2988925 on 2016/05/24 by Ryan.Rauschkolb Fixed Issue where certain primitives would not automatically type cast to Text in Blueprint graph. #jira UE-20232 Change 2989001 on 2016/05/24 by Dan.Oconnor PR #2418: Fixed a typo in Blueprint.h (Contributed by PistonMiner) #jira UE-31142 Change 2989447 on 2016/05/25 by Phillip.Kavan [UE-30807] Propagate edit condition property value changes to instances of template objects. change summary: - modified FPropertyEditor::SetEditConditionState() to propagate an EditConditionProperty value change to all instances if the outer owning object is a template (e.g. CDO) Change 2989804 on 2016/05/25 by Phillip.Kavan [UE-30289] Preserve relative scale on the root scene component when converting an Actor instance to a Blueprint Class. change summary: - modified FKismetEditorUtilities::CreateBlueprintFromActor() to post-copy the relative scale value from the Actor's root component to the new Blueprint CDO's root component Change 2990234 on 2016/05/25 by Ryan.Rauschkolb Fixed issue where including a period ina Blueprint function causes double-click to fail to open its graph #jira UE-4426 Change 2990566 on 2016/05/25 by Mike.Beach Better warn logging to help locate variable nodes that emit a "variable not found" message. Change 2991083 on 2016/05/26 by Maciej.Mroz Blueprint nativization: converted classes have "config" specified. Change 2991363 on 2016/05/26 by Phillip.Kavan [UE-19599] Copy-and-paste of Actor instances from level to Blueprint/IWCE component tree views now adds properly-initialized components. change summary: - modified FCustomizableTextObjectFactory::CanCreateObjectsFromText() to handle "Begin Actor/End Actor" blocks in T3D text - modified FCustomizableTextObjectFactory::ProcessBuffer() to handle "Begin Actor/End Actor" blocks in T3D text (so that Actor-type objects can be processed) - modified FComponentObjectTextFactory::CanCreateClass() to allow Actor-type objects to pass - modified FComponentObjectTextFactory::ProcessConstructedObject() to handle Actor-type objects and pull out owned component instances as constructed objects Change 2992990 on 2016/05/27 by Ryan.Rauschkolb Fixed issue where Connecting Self Reference Pin to a String pin does not fully connect the generated GetDisplayName node #jira UE-21973 Change 2992995 on 2016/05/27 by Ryan.Rauschkolb Fixed issue where GetClass node is not listed in the Context Menu when pulling from a self node and Context Sensitive is checked. #jira UE-30990 Change 2993449 on 2016/05/27 by Phillip.Kavan [UE-31379] Don't instrument "preview" Actor instances during Blueprint profiler script event processing. change summary: - modified FBlueprintProfiler::InstrumentEvent() to check for and bypass Actor instances belonging to a preview or inactive world type. Change 2993531 on 2016/05/27 by Mike.Beach PR #2433: Interface functions inherited from a native base class now appear in . (Contributed by MichaelSchoell) Change 2993969 on 2016/05/30 by Maciej.Mroz UE-30729 Crash in Native Orion when selecting Sword or Tomahawk Clear AsyncLoading in subobjects. Change 2993990 on 2016/05/30 by Phillip.Kavan [UE-30984] Exclude reroute nodes from Blueprint profiler node mapping. change summary: - modified FBlueprintFunctionContext::MapInputPins() to pass through non-relevant nodes when iterating through non-exec input pin links. - modified FBlueprintFunctionContext::MapExecPins() to pass through non-relevant nodes when iterating through output exec pin links. - modified FBlueprintFunctionContext::MapTunnelEntry() to pass through non-relevant nodes when iterating through tunnel node exit points. - modified FBlueprintFunctionContext::MapTunnelInstance() to pass through non-relevant nodes when iterating through tunnel graph entry points. Change 2994591 on 2016/05/31 by Ryan.Rauschkolb Fixed issue where inherited Blueprint variable would not show parent's replications settings #jira UE-18912 Change 2994613 on 2016/05/31 by Ben.Cosh Minor refactor and Various fixes to the blueprint profiler moving towards MVP goal. #Jira UE-27039 - Blueprint Profiler does not lists stats when calling an Event Dispatcher #Jira UE-31396 - Blueprint profiler crashes inside the profiler connection drawing policy #Jira UE-30957 - "Pure Time" does not populate with data in the Blueprint Profiler #Jira UE-30926 - Blueprint profiler - expose heatmap thresholds to user through the profiler tab #Jira UE-30909 - Blueprint Profiler - "compile" icon should denote Blueprint's instrumented status #Jira UE-30911 - Blueprint profiler tab/panel should display warning when Blueprint is uninstrumented #Jira UE-31385 - BP Profiler - Inclusive time column should be entirely filled out #Jira UE-31375 - BP Profiler - Default sample averaging to the "arithmetic mean" #Jira UE-31377 - BP Profiler - Default tree view filtering to off #Jira UE-31387 - BP Profiler - Remove the "view type" button for MVP #Jira UE-31384 - BP Profiler - In the tree view, rename the first time column "Avg. Time (ms)" Notes:- - Sequence node inclusive time fixed - Trace History tidy up - Compile Icon and status messages for instrumentation - Message in the profiler tab for instrumentation - Profiler view tidy up and heat thresholds controls added - fixed the summed execution branch stats - fixed the connection drawing policy to use branch pin stats and fixed the crash from UE-31396 - added hottest path and hottest endpoint wire heatmaps - switched off the graph filter by default - added total time for the heatmaps - fixed issue where initialising mapped functions caused an assert due to changes to the array/map in initialisation code Change 2995058 on 2016/05/31 by Phillip.Kavan [UE-30718] Native/const implementable events will no longer cause a crash at runtime when the Blueprint profiler is running. change summary: - modified UObject::ProcessEvent() to bypass instrumentation for native event functions that are not implemented (overridden) in a BP class. - modified FScriptEventPlayback::Process() to first check for a standalone function match (UCS, implementable events declared as 'const') before settling on the ubergraph function for the target context. Change 2995218 on 2016/05/31 by Phillip.Kavan [UE-30778] Restored non-K2 compact graph nodes (e.g. Material Editor) to previous size. change summary: - modified SGraphNode::GetNodeIndicatorOverlayVisibility() default impl to return 'Collapsed' by default, so it doesn't affect layout. Change 2996417 on 2016/06/01 by Phillip.Kavan [UE-16073] Basic shape components (cube etc.) will now apply the correct override material to instances after being added through the component tree in the Blueprint editor. change summary: - modified the 'OnBasicShapeCreated' lambda in FComponentTypeRegistryData::AddBasicShapeComponents() to propagate the material override to all instances when the given component is an archetype (template) object. Change 2997001 on 2016/06/01 by Ryan.Rauschkolb Fixed Double Clicking a component in the results of Find-In-Blueprints does not select the component #jira UE-30143 Change 2997521 on 2016/06/02 by Maciej.Mroz [Blueprint Nativization] - Added FilesToIncludeInModuleHeader config variable in BlueprintNativizationSettings. So some headers can be included in NativizedAssets.h - Guids of nodes are no longer recreated when Blueprint is duplicated for "C++ compilation". Previously child bp used variable names based on original parent class, but nativized parent class had guids recreated. Change 2997522 on 2016/06/02 by Maciej.Mroz Native implementation of NOEXPORT FInterpCurvePoint structures. (It's necessary for Blueprint nativization) Change 2997638 on 2016/06/02 by Maciej.Mroz Improvements for Blueprint Nativization: - Overridden names in nativized code have proper escape characters (in generated code). - OnlyDefaultConstructorDeclared metadata is replaced by ObjectInitializerConstructorDeclared - Arrays of nativized anum have the following form: TArray<Enum> (previously it was TArray<TEnumAsByte<Enum>>) - warning C4883 is disabled in .generated.cpp files for nativized module Change 2997639 on 2016/06/02 by Maciej.Mroz Minor improvements in Ocean gameplay code. Required for Blueprint Nativization. #jira UE-28945 Failure packaging Nativized Ocean Change 2997656 on 2016/06/02 by Maciej.Mroz Various improvements in BlueprintCompilerCppBackend: - Fixed interface cast - Fixed TSwitchValue issue (when used with literals) - Fixed improper name for NativeBlueprintEvent (when calling parent's implementation) - Fixed bitfield getter code. - Reduce code size (less UsedAssets, less ReferencedConvertedFields, cached UEnums) - operator == is generated for nativized structs - Fixed AssedId (AssetPtr) constructor in nativized code. - Fixed arrays of noexport struct - Fixed missing headers for native single cast delegate signature. - Fixed issue when default constructor (in native) is missing (constructor with FObjectInitialized, wont be used automatically). See "ObjectInitializerConstructorDeclared" metadata. Change 2997691 on 2016/06/02 by Maciej.Mroz operator == in FText. It is required for some functions in TArray<FText> Change 2997793 on 2016/06/02 by Ben.Cosh Added support for BaseAsyncTask nodes, fixed a problem with instance mapping and turned off the debug instance filter #Jira UE-30703 - Crash using blueprint profiler on AI pawn using nav mesh #Proj BlueprintProfiler, Kismet Change 2997901 on 2016/06/02 by Maciej.Mroz Back out changelist 2997691 Change 2998038 on 2016/06/02 by Mike.Beach Merging //UE4/Dev-Main to Dev-Blueprints (//UE4/Dev-Blueprints) Change 2998052 on 2016/06/02 by Ryan.Rauschkolb Fixed Comment bubbles not remembering changes after losing focus #jira UE-20012 Change 2998450 on 2016/06/02 by Phillip.Kavan [UE-31550] Fix crash on load of a Blueprint class containing a bitmask variable with missing enum type metadata. change summary: - modified FBlueprintEditorUtils::ValidateBlueprintVariableMetadata() to check for presence of bitmask enum type metadata on a variable before trying to validate it. Change 2999763 on 2016/06/03 by Mike.Beach Guarding against a crash with an ensure - attempting to catch why this is happening by logging more info, as we're unable to repro it. Guarding against nodes which reference malformed (TRASH) classes. #jira UE-26761 Change 2999768 on 2016/06/03 by Maciej.Mroz #jira UE-31592, UE-31593 This is just workaound. FReferenceFinder::FindReferences doesn;t find Enum variable in UByteProperty. Change 2999770 on 2016/06/03 by Maciej.Mroz [Blueprint Nativization] Workaround for missing ==operator in native structures. The generated code uses special version of array funtions. Change 2999798 on 2016/06/03 by Mike.Beach Guarding against malformed Blueprints (ones without valid "authoratative" class) used as context for the node menu. Baffling how we'd get into this scenario, but this adds ensures to hopefully give us clues and stabalize the editor. #jira UE-31522 Change 2999941 on 2016/06/03 by Mike.Beach Correcting mistake in previously attempted fix (CL 2781229). Now using weak ptr IsValid checks to guard against destroyed nodes in deferred graph actions (TWeakObjectPtr::Get() does not check IsValid before returning). #jira UE-23371 Change 3001731 on 2016/06/06 by Phillip.Kavan [UE-30638] BP profiler will no longer crash at runtime while profiling events that call functions on an external target. change summary: - modified FBlueprintProfiler::ProcessEventProfilingData() to only remove 'Class' and 'Instance' signals on new events. - modified FScriptEventPlayback::NodeSignalHelper struct to include a new 'BlueprintContext' field. - modified FScriptEventPlayback::Process() to handle midstream context switches by updating the Blueprint/Function context on 'Class' and/or 'Instance' signals. - modified FScriptEventPlayback::Process() to cache and reference the current Blueprint context within the cached NodeSignalHelper while handling processed events. Change 3002075 on 2016/06/06 by Maciej.Mroz Improved FScriptBuilderBase::EmitTermExpr in KismetCompilerVMBackend. Literal expression can be emitted without known desitination property. #jira UE-28443 Set Boolean (by ref) crashes the editor on compile Change 3002096 on 2016/06/06 by Ben.Cosh This change expands the way that the blueprint profiler detects event nodes during mapping to include other non function graphs. #Jira UE-30716 - Blueprint Profiler crashes if function in another graph is called #Proj BlueprintProfiler Change 3002108 on 2016/06/06 by Ben.Cosh Adds a new default option to average the blueprint level stats in the profiler. #Jira UE-31386 - BP Profiler - Timings reported with "Show Instances" off (in the tree view) are not averaged #Proj Kismet, BlueprintProfiler - The controls were also getting a bit messy so I tidied them all up into a re-usable toolbar for convenience going forward. Change 3002782 on 2016/06/06 by samuel.proctor Test assets for Interface testing Change 3003826 on 2016/06/07 by Ben.Cosh A few minor visual improvements for the blueprint profiler. #Proj Kismet, BlueprintProfiler, EditorStyle - Updated the actor icon to match the world outliner and added some functionality to draw attention to stale/deleted actors. - Updated the pure node icon. Change 3004067 on 2016/06/07 by samuel.proctor New test asset for blueprint interfaces Change 3004069 on 2016/06/07 by samuel.proctor Updating asset for Interface testing Change 3004275 on 2016/06/07 by Ryan.Rauschkolb Fixed issue where Toggle Comment Bubble button for Reroute nodes would not rever tthe comment bubble to constant visibility #jira UE-23733 Change 3004329 on 2016/06/07 by Dan.Oconnor EdGraphPin is no longer a UObject, this will improve load times significantly on projects with large number of blueprints, but content does need to be resaved in order to see the improvement in load time. UObject counts are also greatly reduced. Change 3004418 on 2016/06/07 by Maciej.Mroz KismetCompilerVMBackend: Fixed issue, when a byte property has no enum specified (for examle parameter from EqualEqual_ByteByte) but the enum is needed to parse a literal value. Change 3004496 on 2016/06/07 by Dan.Oconnor Disabling expensive pin allocation tracking Change 3004649 on 2016/06/07 by Mike.Beach Preventing a new warning from being generated on trace point exceptions (trace point exceptions are used to hook into the debugger, and don't represent errors). #jira UE-31236 Change 3004667 on 2016/06/07 by Dan.Oconnor Removed my debugging logic Change 3004848 on 2016/06/07 by Dan.Oconnor Fix spammy ensure Change 3004871 on 2016/06/07 by Phillip.Kavan [UE-24950] No longer including components instanced as default subobjects of and attached to components instanced by construction script in the IWCE component tree view. change summary: - modified SSCSEditor::UpdateTree() to exclude child components instanced in native code as "nested" DSOs and parented to non-natively-constructed (e.g. Blueprint) components; these instances are no longer being shown in IWCE in order to avoid confusion, as they're not currently mutable at the instance level, will always be parented to something that is visible in the tree, and they're also not currently shown in the Blueprint editor's component tree view (because they're not stored in the CDO). - modified FSceneComponentData's ctor to exclude child components instanced in native code as nested DSOs from the AttachedInstancedComponents array; this allows child components instanced as nested DSOs to be disposed of along with the constructed parent instance when re-running construction scripts. Change 3005203 on 2016/06/07 by Dan.Oconnor Fix for undo/redo/serialization issues with ed graph pin change. When serialization logic was applied incrementally our attempts to keep LinkedTo symetrical and aggressively clear destroyed nodes caused problems #jira UE-31750 Change 3005441 on 2016/06/08 by Maciej.Mroz #jira UE-31625 Crash in nativized Orion AssembleReferenceTokenStream is called for Dynamic Classes: - in ConstructDynamicType() (when class is explicitly loaded) - in __CustomDynamicClassInitialization() (when CDO is created) Change 3005540 on 2016/06/08 by Ben.Cosh This adds the ability to track profiler instances between editor and PIE instances and displays the current status through the icon coloring. #Jira UE-30705 - Blueprint profiler stats lost if instance destroyed during PIE #Proj BlueprintProfiler, Kismet - The jira was already fixed but I think this change improves the instance status clarity Change 3006196 on 2016/06/08 by Dan.Oconnor Copy/paste logic for pin connections got lost in the shuffle #jira UE-31747 Change 3006416 on 2016/06/08 by Phillip.Kavan [UE-31735] Fix potential loss of GetClassDefaults node output pin links on load (due to dependency load order). change summary: - modified UK2Node_GetClassDefaults::GetInputClass() to redirect to the generated skeleton class only if it's valid. this ensures that output pins will be reallocated during node reconstruction even if the dependent Blueprint's skeleton class has not yet been generated on load. Change 3006522 on 2016/06/08 by Dan.Oconnor Under rare circumstances a deprecated pin comes in that is outered to the transient package #jira UE-31779 Change 3006576 on 2016/06/08 by Dan.Oconnor Fix for non-editor builds #jira UE-31796 Change 3006610 on 2016/06/08 by Phillip.Kavan [UE-31743] Fix data loss issue when loading a serialized non-native component class instance that's owned by an Actor-based Blueprint class instance. change summary: - modified FObjectInitializer::InitProperties() to disable fast path initialization for non-native class types when the default data does not equate to the non-native CDO (as is also done within the native path). this is necessary because the optimized property list that we generate at load time to support fast path initialization of Blueprint class instances is only applicable to the generated CDO. Change 3006824 on 2016/06/08 by Dan.Oconnor More undo/redo fixes, this time fixes for when transaction buffer changes # of pins, thus destabalizing the LinkedTo arrays #jira UE-31794 Change 3006828 on 2016/06/08 by Dan.Oconnor Fix for non-editor builds Change 3006857 on 2016/06/08 by Dan.Oconnor Investigating shutdown ensure, traced back to a static UEdGraphPin Change 3006907 on 2016/06/08 by Dan.Oconnor Noneditor build fix Change 3006929 on 2016/06/08 by Dan.Oconnor Deferring DeprecatedPins destruction until after UBlueprint has had a chance to fix up its watched pins, this is a better fix for #jira UE-31779 Change 3007133 on 2016/06/09 by Ben.Cosh Fix for issue in the profiler asserting creating pins that don't have unique names. #Jira UE-31752 - Crash compiling various Orion assets for blueprints profiling, ScriptExecNode.IsValid() failed #Proj BlueprintProfiler - I believe this was recently introduced with the changes to UEdGraphPin's Change 3007964 on 2016/06/09 by Dan.Oconnor Fix for PinHelpers::UnresolvedPins being left with stale entries by undo/redo #jira UE-31829 Change 3007996 on 2016/06/09 by Ryan.Rauschkolb Added 'empty' keyword to Array Clear Node. #jira UE-12356 Change 3008007 on 2016/06/09 by Ryan.Rauschkolb Added 'negate' keyword to boolean NOT node #jira UE-12490 Change 3008011 on 2016/06/09 by Ryan.Rauschkolb Added Vector2D * Vector2D multiplication node #jira UE-31503 Change 3008014 on 2016/06/09 by Ryan.Rauschkolb Fixed Cannot connect Make Array node output to MakeArray input with split pins #jira UE-28530 Change 3008243 on 2016/06/09 by Dan.Oconnor Fix for creation of FWeakGraphPinPtr from a pin that had been destroyed, client logic is still a bit broken in the case of the ClassDefaults node, but we're back to 'safe' #jira UE-31841 Change 3008289 on 2016/06/09 by Dan.Oconnor Editor transaction saves all state before applying undo/redo buffers when using 'bFlip' flow. This prevents messing with the object graph in the middle of saving state that will be restored later #jira UE-31794 Change 3008422 on 2016/06/09 by Dan.Oconnor Correct usage of GIsTransacting, replaced with Ar.IsTransacting() to correctly handle the case where we serialize after transacting but during the transaction (for instance, recompile blueprint in post undo, which we do quite a bit it turns out) #jira UE-31857 Change 3009164 on 2016/06/10 by Ryan.Rauschkolb Making changes to default values in the structure editor will now make changes to the structure without rebuilding the default values panel. #jira UE-21141,UE-23723 Change 3009165 on 2016/06/10 by Ryan.Rauschkolb Fixed Structure Default value editor collapses after undoing an alteration of a default value #jira UE-31741 Change 3009181 on 2016/06/10 by Ryan.Rauschkolb Fixed issue where modifying a default value in a Widget Blueprint would cause the Details Panel to refresh #jira UE-30014 Change 3009313 on 2016/06/10 by Mike.Beach Addressing issues with function return nodes in multiple ways: - Preventing users from deleting return nodes for overriden/inherited functions. - Also making sure that we create terminals for out params when the return node is disconnected (and pruned). - Lastly, ensuring that new return nodes adhere to the function's signature (for cases, like where you copy/paste a return node from a different function). #jira UE-31418 Change 3009595 on 2016/06/10 by Dan.Oconnor EdGraphPinReference using PinId to resolve itself again, may create issues resolving pins created in compile #jira UE-31879 Change 3009774 on 2016/06/10 by Dan.Oconnor Fix for bad logic in RemovePin introduced in 3004329, just a bad reading of the logic, missed an early return #jira UE-31906 Change 3009988 on 2016/06/10 by Dan.Oconnor Prefer to use existing pins (based on PinId) when undoing/redoing pin serialization #jira UE-31888 Change 3010050 on 2016/06/10 by Dan.Oconnor Fixed missing call to ssuper class's PostEditUndo, fixed UBehaviorTreeGraph::PostEditUndo accessing Pins before they have been resolved #jira UE-31892 Change 3010071 on 2016/06/10 by Dan.Oconnor Fix for pasting when owning node has whitespace in result of GetPathName #jira UE-31898 #coderview Bob.Tellez Change 3010244 on 2016/06/11 by Dan.Oconnor Fix for trivial copy/paste error, causes crash when copying/pasting nodes with text default values, part of UE-31870 Change 3010630 on 2016/06/13 by Dan.Oconnor No longer relying on path name for pin resolution, path is unstable across graphs #jira UE-31870 Change 3010647 on 2016/06/13 by Dan.Oconnor PR #2496: Updated KismetMathLibrary comparison descriptions for FDateTime and FTimespan. (Contributed by CelPlays) #jira UE-31928 Change 3011175 on 2016/06/13 by Ben.Cosh Updates the Blueprint Profiler so that it can correctly map entry/exit from tunnels based on instance. #Jira UE-30106 - Compiling QA_PhysVelocitySettleTest with the blueprint profiler results in a crash/assert #Proj Kismet, BlueprintProfiler - Ensured that the trace paths contain the macro instance exec nodes - Selectively update stats in the tunnel exit site nodes based on valid exit sites to prevent cyclic updates. - Updated the comments in map tunnel entry to spare peoples sanity when trying to understand what that function does. Change 3011271 on 2016/06/13 by Ben.Cosh This adds support for inherited blueprint classes to the blueprint profiler. #Jira UE-31833 - The Blueprint profiler asserts when using a FlipFlop macro. #Jira UE-31752 - Crash compiling various Orion assets for blueprints profiling, ScriptExecNode.IsValid() failed #Proj BlueprintProfiler Change 3011556 on 2016/06/13 by Ryan.Rauschkolb Fixed Crash when breaking link to a split pin in MakeArray that is an array type #jira UE-31919 Change 3011624 on 2016/06/13 by Dan.Oconnor Fix for missing entries in MessageLog's source pin identification map. Bob T had originally populated this correctly, but somehow i lost it while iterating. #jira UE-31955 Change 3011984 on 2016/06/13 by Dan.Oconnor Sanitizing parentpin's subpins when destroying a pin #jira UE-21392 Change 3012894 on 2016/06/14 by Phillip.Kavan [UE-30922] Ensure that customized defaults are propagated to new instances at construction time during non-Actor-based Blueprint class reinstancing. change summary: - modified FBlueprintCompileReinstancer::ReplaceInstancesOfClass_Inner() to use the reinstanced archetype object as the template object during construction of the new instance for non-Actor-based Blueprint class types. #jira UE-30922 Change 3013037 on 2016/06/14 by Ryan.Rauschkolb Fixed Crash when connecting to a split pin in a MakeArray node that has no connections #jira UE-31917 Change 3014846 on 2016/06/15 by Dan.Oconnor No longer using FText::IsLetter to parse math expression nodes, that function is very slow. $x is now a valid math expression variable name (genereated a compile error prior to this change) #jira FORT-23753 Change 3015014 on 2016/06/15 by Dan.Oconnor Removing poorly implement IsLetter function Change 3015142 on 2016/06/15 by Dan.Oconnor More intentional about removing subpins, prevents stale iterator on split pin collapse #jira UE-32072 Change 3016326 on 2016/06/16 by Ryan.Rauschkolb Fixed MakeArray node does not reset to wildcard when breaking links with split struct pins that have default values #jira UE-32016 Change 3016494 on 2016/06/16 by Ryan.Rauschkolb Fixed Crash when dragging a component into the Event Graph that's inherited from a C++ class #jira UE-31876 Change 3016557 on 2016/06/16 by Dan.Oconnor Explicit copy/move of string data for FText, removes some redundant copying and object construction/destruction [which could be optimzed away], saves 2-3 seconds in my 80s load asset benchmark #jira FORT-23753 Change 3016577 on 2016/06/16 by Ryan.Rauschkolb Fixed compiler warning for hidden member variable in FBlueprintVarActionDetails::GetVariableReplicationType Change 3016906 on 2016/06/16 by Dan.Oconnor Back out changelist 3016557 This will be done by Jamie.Dale in Dev-Editor Change 3018081 on 2016/06/17 by Phillip.Kavan [UE-31832] PR #2486: Expose UInheritableComponentHandler::GetAllTemplates() outside of editor (Contributed by Bogustus) #jira UE-31832 Change 3018402 on 2016/06/17 by Dan.Oconnor Missing include Change 3018426 on 2016/06/17 by Ryan.Rauschkolb Fixed MakeArray node with split pins and no connections does not paste correctly #jira UE-32148 Change 3018452 on 2016/06/17 by Mike.Beach Moving the patching of instanced sub-objects out of CPFUO (where you can't rely on the target to be a replacement for the source) to FBlueprintEditorUtils::PatchCDOSubobjectsIntoExport(), and making it so PatchCDOSubobjectsIntoExport() is called regularly for Blueprint regeneration (on load). #jira UE-32158 Change 3018456 on 2016/06/17 by Dan.Oconnor Fix for static analysis warning, this null check does nothing Change 3018595 on 2016/06/17 by Mike.Beach Fix for shadowed variable warning in CIS. Change 3018699 on 2016/06/17 by Mike.Beach Making MinimumAreaRectangle callable in Blueprints without world context (which is only needed for debug drawing). Change 3019734 on 2016/06/20 by Phillip.Kavan [UE-32064] Clone associated component template(s) when duplicating Blueprint function graphs containing one or more Add Component nodes. change summary: - added a UK2Node_AddComponent::PostDuplicate() override - moved UK2Node_AddComponent::PostPasteNode() logic into a helper method that's now called from both PostDuplicate() and PostPasteNode() overrides. notes: - will prevent getting into the scenario described in UE-31831 #jira UE-32064 Change 3020635 on 2016/06/20 by Dan.Oconnor Fix for bad cast in FCompilerResultsLog::Append, could cause crashes in clients of this function (math expressions nodes occasionally do when they fail to compile) Change 3020894 on 2016/06/21 by Maciej.Mroz #2522: Interface UProperties can ExposeOnSpawn (in Blueprints) (Contributed by MichaelSchoell) Change 3020958 on 2016/06/21 by Ben.Cosh This improves the way key events are detected in the blueprint profiler, preventing duplicate event entries when pressed and released are both wired. It also catches a bug with the compiler instrumentation flag when compiling. #Jira UE-32270 - Input key events generate extra instrumentation data per key press #Jira UE-32266 - Recompiling blueprints with instrumentation can fail to add instrumentation. #Proj BlueprintProfiler, UnrealEd Change 3021316 on 2016/06/21 by Ryan.Rauschkolb Fixed issue where Copy/Paste of event nodes would not retain link information Change 3021826 on 2016/06/21 by Phillip.Kavan [UE-31831] Fix up AddComponent nodes on load if they are not associated with a unique template object. change summary: - added external linkage to UK2Node_AddComponent::MakeNewComponentTemplate(), and switched it to be a public API - modified FBlueprintEditorUtils::UpdateComponentTemplates() (as this is already called on Blueprint load) to detect/warn and correct non-unique templates #jira UE-31831 Change 3022047 on 2016/06/21 by Ryan.Rauschkolb Fixed issue where copy/paste of return nodes would not preserve value or link data #jira UE-26937 Change 3022619 on 2016/06/22 by Maciej.Mroz #jira UE-30858 Nativized Orion - Some particle effects are not rendering A static/persistent information (the mechanism is similar to AssetRegistrySearchable) about DynamicClass is added. It's necessary since DynamicClasses are not handled as regular assets by AssetRegistry. Fixed GameplayCueManager. Nativized cues can be found. This is an early version of the feature. Amount of stored persistent data can be extended (but it would increase memory-usage). Change 3022654 on 2016/06/22 by Maciej.Mroz FBackendHelperStaticSearchableValues -fixed too strict ensure Change 3023067 on 2016/06/22 by Maciej.Mroz #jira UE-32083 Nativize Blueprints removes blueprint functionality in packaged project Config settings from super class are not applied (at runtime) to nativized Blueprints . So all "config" properties are filled in constructor. Change 3023222 on 2016/06/22 by Ryan.Rauschkolb Fixed MakeArray node elements break when editing struct elements #jira UE-21392 Change 3023405 on 2016/06/22 by Mike.Beach Making sure sub-objects get instanced for Blueprint CDOs that had their FObjectInitializer deferred (happens when the super CDO hasn't been fully serialized). By the time the deferred FObjectInitializer is ran, the sub-objects have been assigned a RF_NeedLoad flag (where they normally wouldn't have one right after construction, when the initialization is usually ran). #jira UE-31897 Change 3023992 on 2016/06/22 by Mike.Beach Fixed an issue where hovering on/off a reroute node (toggling the comment bubble visibility) would create extraneous undo transactions. #jira UE-31859 [CL 3025946 by Mike Beach in Main branch]
2016-06-23 19:35:24 -04:00
UEdGraph* TargetGraph = NULL;
FName FunctionName = FunctionReference.GetMemberName();
for (UEdGraph* Graph : Blueprint->FunctionGraphs)
{
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3125172) #lockdown Nick.Penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 3053250 on 2016/07/18 by Steve.Robb TNot metafunction added. Change 3053252 on 2016/07/18 by Steve.Robb New TIsEnumClass trait. Change 3061345 on 2016/07/22 by Robert.Manuszewski Changing FMallocStomp::GetAllocationSize() to return the requested allocation size instead of the physical allocation size to make FMallocStomp work properly with FMallocPoisonProxy Change 3061377 on 2016/07/22 by Graeme.Thornton Added bStripAnimationDataOnDedicatedServer option to UAnimationSettings which will remove all compressed data from cooked server data. Disabled by default Change 3064592 on 2016/07/26 by Steven.Hutton Uploading repository files Change 3064595 on 2016/07/26 by Steven.Hutton Assign crashes to buggs based not just on Callstack but also based on Error message. Error messages have "data" masked out and are then compared to a table of error messages to find similar messages. Ensures are not currently filtered by error message. Change 3066046 on 2016/07/27 by Graeme.Thornton Better dedicated client/server class exclusion during cooking - Add class lists to cooker settings so they can be modified in the editor Change 3066077 on 2016/07/27 by Graeme.Thornton Move Paragon NeedsLoadForServer calls over to the new config based system Change 3066203 on 2016/07/27 by Chris.Wood CrashReportProcess logging and Slack reporting improvements to monitor disk space. [UE-31129] - Crash Report server need to alert on Slack when the PDB cache is full Change 3066276 on 2016/07/27 by Graeme.Thornton Move simple NeedsLoadForClient implementations over to new config based system Change 3068019 on 2016/07/28 by Graeme.Thornton Don't call ReleaseResources on UStaticMesh if we never render, and therefore never actually initialize the resources - Corrects some bad stats Change 3068218 on 2016/07/28 by Chris.Wood CrashReportProcess 1.1.18 passes BuildVersion to MinidumpDiagnostics [UE-31706] - Add new BuildVersion string to crash context and website Also modified command line log file ini settings to stop MDD stalling trying to sort and delete its logs. Change 3071665 on 2016/08/01 by Robert.Manuszewski Moving RemoveNamesFromMasterList from UEnum destructor to BeginDestroy to avoid potential issues when its package has already been destroyed. Change 3073388 on 2016/08/02 by Graeme.Thornton Invalidate string asset reference tags after finishing up loading of an async package Change 3073745 on 2016/08/02 by Robert.Manuszewski Disabling logging to memory in shipping by default. From now on FOutputDeviceMemory will be an opt-in for games. #jira FORT-27839 Change 3074866 on 2016/08/03 by Robert.Manuszewski PR #2650: Fixed a bug where newline escape sequence wasnt written to the pipe (Contributed by ozturkhakki) Change 3075128 on 2016/08/03 by Steve.Robb Static analysis fixes: error C2065: 'ThisOuterWorld': undeclared identifier Change 3075130 on 2016/08/03 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'LODLevel' Change 3075131 on 2016/08/03 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'Owner' Change 3075235 on 2016/08/03 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'AnimToOperateOn' Change 3075248 on 2016/08/03 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'ParentProfile' Change 3075662 on 2016/08/03 by Steve.Robb Static analysis/buffer size fix: warning C28020: The expression '_Param_(7)>=sizeof(ICMP_ECHO_REPLY)+_Param_(4)+8' is not true at this call Change 3075668 on 2016/08/03 by Steve.Robb Static analysis fix: warning C6326: Potential comparison of a constant with another constant Change 3075679 on 2016/08/03 by Chris.Wood Added -NoTrimCallstack command line arg to MDD calls from CRP 1.1.19 [OR-26335] - 29.1 crash reporter generating reports with no callstacks / info New MDD has -NoTrimCallstack option to leave possibly irrelevant entires in the stack. Trimming is somewhat arbitrary and based on string matching. I'd rather see the whole thing. Change 3077070 on 2016/08/04 by Steve.Robb Dead array slack tracking code removed. Change 3077113 on 2016/08/04 by Steve.Robb TEnumAsByte is now deprecated for enum classes. All current uses fixed (which tidies up that code anyway). New FArchive::op<< for enum classes. Generated code now never uses TEnumAsByte for enum classes. Change 3077117 on 2016/08/04 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'DefaultSettings' Change 3078709 on 2016/08/05 by Steve.Robb FUNCTION_NO_NULL_RETURN_* macros added to statically annotate a function to say that it never returns a null pointer. TObjectIterator annotated to never return null. NewObject annotated to never return null. Change 3078836 on 2016/08/05 by Graeme.Thornton Silently skip creating exports from a package where the outer is also an export and has been filtered at runtime during loading Change 3082217 on 2016/08/09 by Steve.Robb Missing #include for FUniqueNetIdRepl added. Change 3083679 on 2016/08/10 by Chris.Wood CrashReportProcess performance improvements. CRP v1.1.22 [UE-34402] - Crash Reporter: Improve CRP performance by allowing multiple MDD instances [UE-34403] - Crash Reporter: CRP should throw away crashes when backlog is too large to avoid runaway Passing lock details to MDD on command line and managing multiple MDD tasks in CRP. Configurable values for range of queue sizes that cause us to throw away crashes. Change 3085362 on 2016/08/11 by Steve.Robb Rule-of-three fixes for FAIMessageObserver, to prevent accidents. From here: https://udn.unrealengine.com/questions/306507/tstaticarray-doesnt-call-destructor-on-elements-be.html Change 3085396 on 2016/08/11 by Steve.Robb Swap can now be configured via the TUseBitwiseSwap trait to not use Memswap, which can be less optimal for certain types. Change 3088840 on 2016/08/15 by Steve.Robb TRemoveReference moved to its own header. Change 3088858 on 2016/08/15 by Steve.Robb TDecay moved to its own header. Change 3088963 on 2016/08/15 by Steve.Robb Invoke function, for doing a generic call on a generic callable thing. Equivalent to std::invoke. Change 3089144 on 2016/08/15 by Steve.Robb Algo::Transform updated to use Invoke. Algorithm tests updated to test the new features. Change 3089147 on 2016/08/15 by Steve.Robb TLess and TGreater moved to their own headers and defaulted to void as a type-deducing version, as per std::. Change 3090243 on 2016/08/16 by Steve.Robb New Algo::Sort and Algo::SortBy algorithms. Change 3090387 on 2016/08/16 by Steve.Robb Improved bitwise swapping for Swap. See: https://udn.unrealengine.com/questions/306922/swap-is-painfully-slow.html Change 3090444 on 2016/08/16 by Steve.Robb Ptr+Size overloads removed after discussion - MakeArrayView should be used instead. Change 3090495 on 2016/08/16 by Steve.Robb Assert when FString::Mid is passed a negative count. #jira UE-18756 Change 3093455 on 2016/08/18 by Steve.Robb Debuggability and efficiency improvements to UScriptStruct::DeferCppStructOps. Change 3094476 on 2016/08/19 by Steve.Robb BOM removed from InvariantCulture.h. Change 3094697 on 2016/08/19 by Steve.Robb Static analysis fix: warning C6237: (<zero> && <expression>) is always zero. <expression> is never evaluated and might have side effects. Change 3094702 on 2016/08/19 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'Interactor'. Change 3094715 on 2016/08/19 by Steve.Robb Static analysis fix: warning C6385: Reading invalid data from 'Order': the readable size is '256' bytes, but '8160' bytes may be read. Change 3094737 on 2016/08/19 by Steve.Robb Static analysis fixes: warning C6011: Dereferencing NULL pointer 'OwnedComponent'. warning C28182: Dereferencing NULL pointer. 'Child' contains the same NULL value as 'AttachToComponent' did. Change 3094750 on 2016/08/19 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'Actor'. Change 3094768 on 2016/08/19 by Steve.Robb Static analysis fixes: warning C6011: Dereferencing NULL pointer 'LevelSequence'. warning C6011: Dereferencing NULL pointer 'Actor'. Change 3094774 on 2016/08/19 by Steve.Robb Static analysis fixes: warning C6011: Dereferencing NULL pointer 'CallFunctionNode'. Change 3094783 on 2016/08/19 by Steve.Robb Static analysis fixes: warning C6011: Dereferencing NULL pointer 'TargetPin'. Change 3094807 on 2016/08/19 by Steve.Robb Static analysis fixes: warning C6011: Dereferencing NULL pointer 'SourceClass'. Change 3094815 on 2016/08/19 by Steve.Robb Static analysis fixes: warning C6011: Dereferencing NULL pointer 'VarNode'. warning C6011: Dereferencing NULL pointer 'SourceClass'. Change 3094840 on 2016/08/19 by Steve.Robb Static analysis fixes: warning C6011: Dereferencing NULL pointer 'TunnelGraph'. warning C28182: Dereferencing NULL pointer. 'GraphNode' contains the same NULL value as 'SourceNode' did. Change 3094864 on 2016/08/19 by Steve.Robb Static analysis fixes: warning C6011: Dereferencing NULL pointer 'SpawnClassPin'. Change 3094880 on 2016/08/19 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'PrevIfIndexMatchesStatement'. Change 3094886 on 2016/08/19 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'SpawnBlueprintPin'. Change 3094903 on 2016/08/19 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'K2Node'. Change 3094916 on 2016/08/19 by Steve.Robb Static analysis fix: Dereferencing NULL pointer 'CompilerContext'. Change 3094931 on 2016/08/19 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'VariablePin'. Change 3094935 on 2016/08/19 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'CurrentPin'. Change 3094943 on 2016/08/19 by Steve.Robb Static analysis fixes: warning C6011: Dereferencing NULL pointer 'Pin'. warning C28182: Dereferencing NULL pointer. 'Graph' contains the same NULL value as 'TargetGraph' did. Change 3094960 on 2016/08/19 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'LastOutPin'. Change 3095046 on 2016/08/19 by Steve.Robb Single parameter version of CastChecked tagged to never return null. Change 3095054 on 2016/08/19 by Steve.Robb Committed wrong version in CL# 3095046. Change 3095089 on 2016/08/19 by Steve.Robb Static analysis fixes: warning C6509: Invalid annotation: 'return' cannot be referenced in some contexts warning C6101: Returning uninitialized memory '*lpdwExitCode'. Change 3096035 on 2016/08/22 by Steve.Robb Fix for static lighting in pixel inspector. Change 3096039 on 2016/08/22 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'World'. Change 3096045 on 2016/08/22 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'Actor'. Change 3096058 on 2016/08/22 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'OtherPin'. Change 3096059 on 2016/08/22 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'MainMesh'. Change 3096066 on 2016/08/22 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'SourceType'. Change 3096070 on 2016/08/22 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'LastPushStatement'. Change 3096074 on 2016/08/22 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'OriginalDataTableInPin'. Change 3096075 on 2016/08/22 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'CurrentPin'. Change 3096081 on 2016/08/22 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'RunningPlatformData'. Change 3096156 on 2016/08/22 by Steve.Robb Static analysis fixes: warning C6011: Dereferencing NULL pointer 'BP'. warning C6011: Dereferencing NULL pointer 'Object'. Change 3096308 on 2016/08/22 by Steve.Robb Static analysis fixes: warning C6011: Dereferencing NULL pointer 'TopMipData'. warning C6011: Dereferencing NULL pointer 'MipCoverageData[0]'. Change 3096315 on 2016/08/22 by Steve.Robb Static analysis fixes: warning C6011: Dereferencing NULL pointer 'OldParent'. warning C6011: Dereferencing NULL pointer 'TestExecutionInfo'. Change 3096318 on 2016/08/22 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'OwnerClass'. Change 3096322 on 2016/08/22 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'StaticMeshInstanceData'. Change 3096337 on 2016/08/22 by Steve.Robb Static analysis fixes: warning C6011: Dereferencing NULL pointer 'Pin'. warning C6011: Dereferencing NULL pointer 'SpawnVarPin'. Change 3096345 on 2016/08/22 by Steve.Robb Static analysis fixes: warning C6246: Local declaration of 'NumTris' hides declaration of the same name in outer scope. Change 3096356 on 2016/08/22 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'InWorld'. Change 3096387 on 2016/08/22 by Steve.Robb Static analysis fixes: warning C6011: Dereferencing NULL pointer 'ExpressionPreviewMaterial'. warning C6011: Dereferencing NULL pointer 'MaterialNode->MaterialExpression'. Change 3096400 on 2016/08/22 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'FunctionInputs'. Change 3096413 on 2016/08/22 by Steve.Robb Static analysis fix: warning C28182: Dereferencing NULL pointer. 'LODPackage' contains the same NULL value as 'AssetsOuter' did. Change 3096416 on 2016/08/22 by Steve.Robb Static analysis fixes: warning C6237: (<zero> && <expression>) is always zero. <expression> is never evaluated and might have side effects. Change 3096423 on 2016/08/22 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'RedirectorRefs.Redirector'. Change 3096439 on 2016/08/22 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'NewObject'. Change 3096446 on 2016/08/22 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'BaseClass'. Change 3096454 on 2016/08/22 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'OldSkeleton'. Change 3096464 on 2016/08/22 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'MyNode'. Change 3096469 on 2016/08/22 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'VRInteractor'. Change 3097559 on 2016/08/23 by Steve.Robb Alternate fix to CL# 3096439. Change 3097583 on 2016/08/23 by Steve.Robb Static analysis fixes: warning C6011: Dereferencing NULL pointer 'SourceCategoryEnum'. warning C6011: Dereferencing NULL pointer 'CurrentWorld'. Change 3097584 on 2016/08/23 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'LocalizationTarget'. Change 3097585 on 2016/08/23 by Steve.Robb Static analysis fixes: warning C28182: Dereferencing NULL pointer. 'VariableSetNode' contains the same NULL value as 'AssignmentNode' did. warning C6011: Dereferencing NULL pointer 'FirstNativeClass'. Change 3097588 on 2016/08/23 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'OutputObjClass'. Change 3097589 on 2016/08/23 by Steve.Robb Static analysis fix: warning C28182: Dereferencing NULL pointer. 'Term' contains the same NULL value as 'RValueTerm' did. Change 3097591 on 2016/08/23 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'Schema'. Change 3097597 on 2016/08/23 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'LayerInfo'. Change 3097598 on 2016/08/23 by Steve.Robb Const-correctness fix for ILandscapeEditorModule::GetHeightmapFormatByExtension and ILandscapeEditorModule::GetWeightmapFormatByExtension. Change 3097600 on 2016/08/23 by Steve.Robb Fix for incorrect null check. Change 3097605 on 2016/08/23 by Steve.Robb Spurious static analysis fix: warning C6011: Dereferencing NULL pointer 'TexDataPtr'. Bug filed here: https://connect.microsoft.com/VisualStudio/feedback/details/3078125 Change 3097609 on 2016/08/23 by Steve.Robb Static analysis fix: warning C28182: Dereferencing NULL pointer. 'ObjClass' contains the same NULL value as 'BaseClass' did. Change 3097613 on 2016/08/23 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'InEdGraph'. Change 3097620 on 2016/08/23 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'ThisScalableFloat'. Change 3097627 on 2016/08/23 by Steve.Robb Static analysis fixes: warning C6011: Dereferencing NULL pointer 'AnimBlueprint'. Change 3097629 on 2016/08/23 by Steve.Robb Static analysis fix: warning C28182: Dereferencing NULL pointer. 'Pin' contains the same NULL value as 'PoseNet' did. Change 3097631 on 2016/08/23 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'IPOverlayInfo.Brush'. Change 3097634 on 2016/08/23 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'Survey'. Change 3097639 on 2016/08/23 by Steve.Robb Static analysis fixes: warning C6011: Dereferencing NULL pointer 'Settings'. Change 3097650 on 2016/08/23 by Steve.Robb Alternate fix for CL# 3097597. Change 3097725 on 2016/08/23 by Steve.Robb Spurious static analysis fix: warning C6011: Dereferencing NULL pointer 'BodySetup'. Change 3097764 on 2016/08/23 by Steve.Robb Spurious static analysis fix: warning C28182: Dereferencing NULL pointer. 'FoundMode' contains the same NULL value as 'ElementType * FoundMode=LoopModes.FindByPredicate(<lambda>)' did. Change 3097770 on 2016/08/23 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'Triangle'. Change 3097775 on 2016/08/23 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'CurGroup'. Change 3097796 on 2016/08/23 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'SourceComponent'. Change 3097797 on 2016/08/23 by Steve.Robb Spurious static analysis fix: warning C6011: Dereferencing NULL pointer 'HitComponent'. Change 3097843 on 2016/08/23 by Steve.Robb Spurious static analysis fix: Dereferencing NULL pointer. 'MatchingNewPin' contains the same NULL value as 'UEdGraphPin ** MatchingNewPin=this->Pins.FindByPredicate(<lambda>)' did. Change 3097864 on 2016/08/23 by Steve.Robb Static analysis fixes: warning C6011: Dereferencing NULL pointer 'ObjectClass'. warning C6011: Dereferencing NULL pointer 'Client'. Change 3097871 on 2016/08/23 by Steve.Robb Static analysis fix: warning C28182: Dereferencing NULL pointer. 'SMLightingMesh->StaticMesh' contains the same NULL value as 'StaticMesh' did. Change 3098015 on 2016/08/23 by Steve.Robb Alternative fix for CL# 3094864. Change 3098024 on 2016/08/23 by Steve.Robb Alternative fix for CL# 3094943. Change 3098052 on 2016/08/23 by Steve.Robb Alternative fix for CL# 3094886. Change 3098080 on 2016/08/23 by Steve.Robb Static analysis fix: warning C28182: Dereferencing NULL pointer. 'PrimitiveComponent' contains the same NULL value as 'ReplacementComponent' did. Change 3098102 on 2016/08/23 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'IndexTermPtr'. Change 3098148 on 2016/08/23 by Steve.Robb Static analysis fixes: warning C6011: Dereferencing NULL pointer 'Node'. warning C6011: Dereferencing NULL pointer 'OldNode'. warning C6011: Dereferencing NULL pointer 'LinkedPin'. warning C6011: Dereferencing NULL pointer 'RootNode'. Change 3098156 on 2016/08/23 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'BTGraphNode'. Change 3098176 on 2016/08/23 by Steve.Robb Static analysis fixes: warning C6011: Dereferencing NULL pointer 'NewSection'. Change 3098182 on 2016/08/23 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'Sprite'. Change 3098197 on 2016/08/23 by Steve.Robb Static analysis fixes: warning C6011: Dereferencing NULL pointer 'Node'. Coding standards fixes. Change 3098202 on 2016/08/23 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'ExistingEventNode'. Change 3098208 on 2016/08/23 by Steve.Robb Static analysis fixes: warning C28182: Dereferencing NULL pointer. 'Graph' contains the same NULL value as 'GraphNew' did. warning C28182: Dereferencing NULL pointer. 'GoodGraph' contains the same NULL value as 'GraphNew' did. Change 3098229 on 2016/08/23 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'Property'. Change 3099188 on 2016/08/24 by Steve.Robb Static analysis fixes: warning C6011: Dereferencing NULL pointer 'SharedBaseClass'. Change 3099195 on 2016/08/24 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'NodeProperty'. Change 3099205 on 2016/08/24 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'VarDesc'. Change 3099228 on 2016/08/24 by Steve.Robb Spurious static analysis fix: warning C28182: Dereferencing NULL pointer. 'Node' contains the same NULL value as 'ParentNode' did. Change 3099539 on 2016/08/24 by Steve.Robb Spurious static analysis fixes: warning C6011: Dereferencing NULL pointer 'InBlueprint'. warning C28182: Dereferencing NULL pointer. 'TestObj' contains the same NULL value as 'TestOuter' did. https://connect.microsoft.com/VisualStudio/feedback/details/3082362 https://connect.microsoft.com/VisualStudio/feedback/details/3082622 Change 3099546 on 2016/08/24 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'OldNode'. Change 3099561 on 2016/08/24 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'ReferencedObject'. Change 3099571 on 2016/08/24 by Steve.Robb Static analysis fix: Dereferencing NULL pointer. 'ObjClass' contains the same NULL value as 'CommonBaseClass' did. Change 3099600 on 2016/08/24 by Steve.Robb Static analysis fix: warning C6385: Reading invalid data from 'this->Packages': the readable size is '24' bytes, but '32' bytes may be read. warning C6385: Reading invalid data from 'Diff.ObjectSets': the readable size is '24' bytes, but '32' bytes may be read. warning C6386: Buffer overrun while writing to 'Objects': the writable size is '24' bytes, but '32' bytes might be written. Change 3099912 on 2016/08/24 by Steve.Robb Static analysis fixes: warning C6011: Dereferencing NULL pointer 'SharedBaseClass'. Change 3099923 on 2016/08/24 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'ThumbnailInfo'. Change 3100977 on 2016/08/25 by Steve.Robb Static analysis fixes: warning C6001: Using uninitialized memory '*VectorRef'. warning C6001: Using uninitialized memory '*PointRef'. warning C6001: Using uninitialized memory '*PolyRef'. Coding standard fixes. Change 3100985 on 2016/08/25 by Steve.Robb Static analyis fix: warning C6011: Dereferencing NULL pointer 'SpawnClassPin'. Change 3100987 on 2016/08/25 by Steve.Robb Static analysis fixes: warning C28183: 'Resources.BitmapHandle' could be '0', and is a copy of the value found in 'CreateDIBSection()`829': this does not adhere to the specification for the function 'SelectObject'. warning C6387: '_Param_(4)' could be '0': this does not adhere to the specification for the function 'CreateDIBSection'. Change 3100992 on 2016/08/25 by Steve.Robb Static analysis fix: warning C6287: Redundant code: the left and right sub-expressions are identical. Change 3101000 on 2016/08/25 by Steve.Robb Static analysis fixes: warning C6001: Using uninitialized memory 'tmpMemReq'. warning C6001: Using uninitialized memory 'TmpCreateInfo'. Change 3101004 on 2016/08/25 by Steve.Robb warning C28182: Dereferencing NULL pointer. 'FoliageActor' contains the same NULL value as 'Actor' did. Change 3101009 on 2016/08/25 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'StaticMeshComponent'. Change 3101115 on 2016/08/25 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'Canvas'. Change 3101120 on 2016/08/25 by Steve.Robb Fixes to previous fixes. Change 3101128 on 2016/08/25 by Steve.Robb Static analysis fixes: warning C6011: Dereferencing NULL pointer 'Stream'. Change 3101281 on 2016/08/25 by Steve.Robb Static analysis fixes: warning C6262: Function uses '99256' bytes of stack: exceeds /analyze:stacksize '81940'. Consider moving some data to heap. warning C6001: Using uninitialized memory 'Pixel'. Change 3101292 on 2016/08/25 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'BulkDataPointer'. Change 3101299 on 2016/08/25 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'UnrealMaterial'. Change 3101300 on 2016/08/25 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'AssetObject'. Change 3101304 on 2016/08/25 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'MeshRootNode'. Change 3101311 on 2016/08/25 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'Cluster'. Change 3101323 on 2016/08/25 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'StartNode'. Change 3101329 on 2016/08/25 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'Object'. Change 3101333 on 2016/08/25 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'ArrayRef'. Change 3101339 on 2016/08/25 by Steve.Robb Static analysis fixes: warning C6011: Dereferencing NULL pointer 'ImportData'. warning C6011: Dereferencing NULL pointer 'CurveToImport'. Change 3101485 on 2016/08/25 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'ObjectProperty'. Change 3101583 on 2016/08/25 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'UserDefinedStruct'. Change 3105721 on 2016/08/30 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'SpawnClassPin'. Change 3105724 on 2016/08/30 by Steven.Hutton Change users page to more responsive paginated version. Change 3105725 on 2016/08/30 by Steven.Hutton Added field for crash processor failed Change 3105786 on 2016/08/30 by Steve.Robb Reintroduced missing operator<< for enum classes. Change 3105803 on 2016/08/30 by Steve.Robb Removal of obsolete code and state. PrepareCppStructOps() has several unreachable blocks, one of which sets UScriptStruct::bCppStructOpsFromBaseClass which is otherwise never true, so it can be removed too. Change 3106251 on 2016/08/30 by Steve.Robb Switch static analysis node to build editor instead of just the engine. Change 3107556 on 2016/08/31 by Steven.Hutton Added build version data from CRP to DB as part of add crash #rb none Change 3107557 on 2016/08/31 by Steven.Hutton Passed build version data to CRW through crash description #rb none Change 3107634 on 2016/08/31 by Graeme.Thornton Only accept "log=<filename>" and "abslog=<filename>" command line values if the filename has a "log" or "txt" extension #jira UE-20147 Change 3107797 on 2016/08/31 by Steve.Robb Fix for UHT debugging manifest, after paths changed in CL# 3088416. Change 3107964 on 2016/08/31 by Steve.Robb TCString::Strfind renamed to TCString::Strifind, as it is case-insensitive. New case-sensitive TCString::Strfind added, based on GitHub PR #2453. Change 3108023 on 2016/08/31 by Steve.Robb Removal of test code which no longer compiles now that we emit errors on skipped preprocessor blocks. Change 3108160 on 2016/08/31 by Steven.Hutton Update to add new filter to website front page #rb none Change 3109556 on 2016/09/01 by Steven.Hutton Fixing compile warning #rb none Change 3110001 on 2016/09/01 by Steve.Robb PR #2468: Fix for UnrealHeaderTool TArray<TScriptInterface<>> UFUNCTION parameters (Contributed by UnrealEverything) Change 3111835 on 2016/09/02 by Steve.Robb Enforce uint8 on UENUM() enum classes. #jira UE-35224 Change 3111867 on 2016/09/02 by Steve.Robb Static analysis fix: warning C6236: (<expression> || <non-zero constant>) is always a non-zero constant. Change 3111880 on 2016/09/02 by Steve.Robb Static analysis fixes: warning C6386: Buffer overrun while writing to 'Views': the writable size is 'ShaderBindings.ResourceViews.public: int __cdecl TArray<class TSlateD3DTypedShaderParameter<struct ID3D11ShaderResourceView> *,class FDefaultAllocator>::Num(void)const ()*8' bytes, but '16' bytes might be written. warning C6386: Buffer overrun while writing to 'ConstantBuffers': the writable size is 'ShaderBindings.ConstantBuffers.public: int __cdecl TArray<class TSlateD3DTypedShaderParameter<struct ID3D11Buffer> *,class FDefaultAllocator>::Num(void)const ()*8' bytes, but '16' bytes might be written. Change 3111886 on 2016/09/02 by Steve.Robb Static analysis fix: warning C6386: Buffer overrun while writing to 'DistortionMeshIndices': the writable size is 'NumIndices*2' bytes, but '4' bytes might be written. Change 3112025 on 2016/09/02 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'pInputProcessParameters'. warning C6011: Dereferencing NULL pointer 'pOutputProcessParameters'. Change 3112051 on 2016/09/02 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'Command'. Change 3112066 on 2016/09/02 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'CurNetDriver'. Change 3112093 on 2016/09/02 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'byteArray'. Change 3112110 on 2016/09/02 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'PersistentParty'. Change 3112123 on 2016/09/02 by Steve.Robb Static analysis fixes: warning C6011: Dereferencing NULL pointer 'CurDriver'. warning C6011: Dereferencing NULL pointer 'CurNetDriver'. warning C6011: Dereferencing NULL pointer 'CurWorld'. Change 3112157 on 2016/09/02 by Steve.Robb Static analysis fixes: warning C6011: Dereferencing NULL pointer 'UnitTest'. Change 3112283 on 2016/09/02 by Steve.Robb Static analysis fixes: warning C6244: Local declaration of 'None' hides previous declaration at line '173' of 'netcodeunittest.h'. Change 3113455 on 2016/09/05 by Chris.Wood CRP performance improvements (v1.1.25) Change 3113468 on 2016/09/05 by Steve.Robb Reverting unnecessary merge in CL# 3112464. Change 3113508 on 2016/09/05 by Steve.Robb Static analysis fix: warning C6031: Return value ignored: 'CoCreateGuid'. Change 3113588 on 2016/09/05 by Steve.Robb Static analysis fix: warning C6244: Local declaration of 'hInstance' hides previous declaration Change 3113863 on 2016/09/06 by Steve.Robb Fix for this error: Could not find a part of the path 'D:\Build\++UE4+Dev-Core+Compile\Sync\Engine\Plugins\2D\Paper2D\Binaries\Win64\UE4Editor.modules'. Change 3113864 on 2016/09/06 by Steve.Robb Misc static analysis fixes for VS2015 Update 2. Change 3113918 on 2016/09/06 by Ben.Marsh Explicitly check for version manifest existing before trying to delete it, rather than swallowing the exception. Change 3114293 on 2016/09/06 by Steve.Robb Static analysis fixes for Visual Studio Update 2. Change 3115732 on 2016/09/07 by Steve.Robb Static analysis fix: warning C6262: Function uses '121180' bytes of stack: exceeds /analyze:stacksize '81940'. Consider moving some data to heap. Change 3115754 on 2016/09/07 by Steve.Robb GObjectArrayForDebugVisualizers init order fix. Removal of obsolete FName visualizer helper code. Change 3115774 on 2016/09/07 by Steve.Robb Fix for ICE by moving static variables into their own file and removing const return types. #jira UE-35597 Change 3116061 on 2016/09/07 by Steve.Robb Redundant LOCTEXT_NAMESPACE removed - was missed in CL# 3115774. Change 3117478 on 2016/09/08 by Steve.Robb Static analysis fixes in third party code, using a new macro-based system. Change 3119152 on 2016/09/09 by Steve.Robb TArray::RemoveAt and RemoveAtSwap with a bool Count is now a compile error. Change 3119200 on 2016/09/09 by Steve.Robb Fix for destructors not being called in TSparseArray move assignment. Change 3119568 on 2016/09/09 by Steve.Robb Fix for TSparseArray visualizer. Change 3119591 on 2016/09/09 by Steve.Robb New MakeShared function which allocates the object and reference controller in a single block. Change 3120281 on 2016/09/09 by Steve.Robb Fix for ICE on static analysis build. #jira UE-35596 Change 3120786 on 2016/09/12 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'SavedGame'. Change 3120787 on 2016/09/12 by Steve.Robb Removal of TEnumAsByte on enum classes. Change 3120789 on 2016/09/12 by Steve.Robb Static analysis fixes: warning C6385: Reading invalid data from 'D3D11X_CERAM_OFFSET_BY_SET_STAGE': the readable size is '28' bytes, but '64' bytes may be read. warning C6101: Returning uninitialized memory '*pDescriptorDst'. A successful path through the function does not set the named _Out_ parameter. Change 3121234 on 2016/09/12 by Steve.Robb Unused ToBuildInfoString function declaration removed. Change 3122616 on 2016/09/13 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'Compiler'. Change 3123070 on 2016/09/13 by Steve.Robb Static analysis fix: warning C28182: Dereferencing NULL pointer. 'top' contains the same NULL value as 'edge' did. [CL 3126145 by Robert Manuszewski in Main branch]
2016-09-15 00:21:42 -04:00
CA_SUPPRESS(28182); // warning C28182: Dereferencing NULL pointer. 'Graph' contains the same NULL value as 'TargetGraph' did.
Copying //UE4/Dev-Blueprints to //UE4/Dev-Main (Source: //UE4/Dev-Blueprints @ 3025888) #rb none #lockdown Nick.Penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2927746 on 2016/03/30 by Michael.Schoell Local variables in function graphs will now store a hard reference to their UObject value. Fixes a crash when a Blueprint is saved before compiling with the local variable's value set. Ensures that the UObject is loaded with the Blueprint. #jira UE-27738 - Local variables in a function that is in a blueprint will somehow become invalid when calling a native Change 2927751 on 2016/03/30 by Michael.Schoell Back out changelist 2927746 Change 2986483 on 2016/05/23 by Maciej.Mroz #jira UE-30976 Editable enum values set on an instance are lost during nativization Added overriden names of Enum keys. Change 2986712 on 2016/05/23 by Phillip.Kavan [UE-21010] Apply updated transform to component template instances when changing the scene root in a Blueprint class. change summary: - modified SSCS_RowWidget::OnMakeNewRootDropAction() to propagate the location/rotation reset to instances of the component template that's becoming the new scene root. Change 2987406 on 2016/05/23 by Ryan.Rauschkolb Fixed Functions filter in Find-In-Blueprints will show components from the SCS #jira UE-30140 Change 2988925 on 2016/05/24 by Ryan.Rauschkolb Fixed Issue where certain primitives would not automatically type cast to Text in Blueprint graph. #jira UE-20232 Change 2989001 on 2016/05/24 by Dan.Oconnor PR #2418: Fixed a typo in Blueprint.h (Contributed by PistonMiner) #jira UE-31142 Change 2989447 on 2016/05/25 by Phillip.Kavan [UE-30807] Propagate edit condition property value changes to instances of template objects. change summary: - modified FPropertyEditor::SetEditConditionState() to propagate an EditConditionProperty value change to all instances if the outer owning object is a template (e.g. CDO) Change 2989804 on 2016/05/25 by Phillip.Kavan [UE-30289] Preserve relative scale on the root scene component when converting an Actor instance to a Blueprint Class. change summary: - modified FKismetEditorUtilities::CreateBlueprintFromActor() to post-copy the relative scale value from the Actor's root component to the new Blueprint CDO's root component Change 2990234 on 2016/05/25 by Ryan.Rauschkolb Fixed issue where including a period ina Blueprint function causes double-click to fail to open its graph #jira UE-4426 Change 2990566 on 2016/05/25 by Mike.Beach Better warn logging to help locate variable nodes that emit a "variable not found" message. Change 2991083 on 2016/05/26 by Maciej.Mroz Blueprint nativization: converted classes have "config" specified. Change 2991363 on 2016/05/26 by Phillip.Kavan [UE-19599] Copy-and-paste of Actor instances from level to Blueprint/IWCE component tree views now adds properly-initialized components. change summary: - modified FCustomizableTextObjectFactory::CanCreateObjectsFromText() to handle "Begin Actor/End Actor" blocks in T3D text - modified FCustomizableTextObjectFactory::ProcessBuffer() to handle "Begin Actor/End Actor" blocks in T3D text (so that Actor-type objects can be processed) - modified FComponentObjectTextFactory::CanCreateClass() to allow Actor-type objects to pass - modified FComponentObjectTextFactory::ProcessConstructedObject() to handle Actor-type objects and pull out owned component instances as constructed objects Change 2992990 on 2016/05/27 by Ryan.Rauschkolb Fixed issue where Connecting Self Reference Pin to a String pin does not fully connect the generated GetDisplayName node #jira UE-21973 Change 2992995 on 2016/05/27 by Ryan.Rauschkolb Fixed issue where GetClass node is not listed in the Context Menu when pulling from a self node and Context Sensitive is checked. #jira UE-30990 Change 2993449 on 2016/05/27 by Phillip.Kavan [UE-31379] Don't instrument "preview" Actor instances during Blueprint profiler script event processing. change summary: - modified FBlueprintProfiler::InstrumentEvent() to check for and bypass Actor instances belonging to a preview or inactive world type. Change 2993531 on 2016/05/27 by Mike.Beach PR #2433: Interface functions inherited from a native base class now appear in . (Contributed by MichaelSchoell) Change 2993969 on 2016/05/30 by Maciej.Mroz UE-30729 Crash in Native Orion when selecting Sword or Tomahawk Clear AsyncLoading in subobjects. Change 2993990 on 2016/05/30 by Phillip.Kavan [UE-30984] Exclude reroute nodes from Blueprint profiler node mapping. change summary: - modified FBlueprintFunctionContext::MapInputPins() to pass through non-relevant nodes when iterating through non-exec input pin links. - modified FBlueprintFunctionContext::MapExecPins() to pass through non-relevant nodes when iterating through output exec pin links. - modified FBlueprintFunctionContext::MapTunnelEntry() to pass through non-relevant nodes when iterating through tunnel node exit points. - modified FBlueprintFunctionContext::MapTunnelInstance() to pass through non-relevant nodes when iterating through tunnel graph entry points. Change 2994591 on 2016/05/31 by Ryan.Rauschkolb Fixed issue where inherited Blueprint variable would not show parent's replications settings #jira UE-18912 Change 2994613 on 2016/05/31 by Ben.Cosh Minor refactor and Various fixes to the blueprint profiler moving towards MVP goal. #Jira UE-27039 - Blueprint Profiler does not lists stats when calling an Event Dispatcher #Jira UE-31396 - Blueprint profiler crashes inside the profiler connection drawing policy #Jira UE-30957 - "Pure Time" does not populate with data in the Blueprint Profiler #Jira UE-30926 - Blueprint profiler - expose heatmap thresholds to user through the profiler tab #Jira UE-30909 - Blueprint Profiler - "compile" icon should denote Blueprint's instrumented status #Jira UE-30911 - Blueprint profiler tab/panel should display warning when Blueprint is uninstrumented #Jira UE-31385 - BP Profiler - Inclusive time column should be entirely filled out #Jira UE-31375 - BP Profiler - Default sample averaging to the "arithmetic mean" #Jira UE-31377 - BP Profiler - Default tree view filtering to off #Jira UE-31387 - BP Profiler - Remove the "view type" button for MVP #Jira UE-31384 - BP Profiler - In the tree view, rename the first time column "Avg. Time (ms)" Notes:- - Sequence node inclusive time fixed - Trace History tidy up - Compile Icon and status messages for instrumentation - Message in the profiler tab for instrumentation - Profiler view tidy up and heat thresholds controls added - fixed the summed execution branch stats - fixed the connection drawing policy to use branch pin stats and fixed the crash from UE-31396 - added hottest path and hottest endpoint wire heatmaps - switched off the graph filter by default - added total time for the heatmaps - fixed issue where initialising mapped functions caused an assert due to changes to the array/map in initialisation code Change 2995058 on 2016/05/31 by Phillip.Kavan [UE-30718] Native/const implementable events will no longer cause a crash at runtime when the Blueprint profiler is running. change summary: - modified UObject::ProcessEvent() to bypass instrumentation for native event functions that are not implemented (overridden) in a BP class. - modified FScriptEventPlayback::Process() to first check for a standalone function match (UCS, implementable events declared as 'const') before settling on the ubergraph function for the target context. Change 2995218 on 2016/05/31 by Phillip.Kavan [UE-30778] Restored non-K2 compact graph nodes (e.g. Material Editor) to previous size. change summary: - modified SGraphNode::GetNodeIndicatorOverlayVisibility() default impl to return 'Collapsed' by default, so it doesn't affect layout. Change 2996417 on 2016/06/01 by Phillip.Kavan [UE-16073] Basic shape components (cube etc.) will now apply the correct override material to instances after being added through the component tree in the Blueprint editor. change summary: - modified the 'OnBasicShapeCreated' lambda in FComponentTypeRegistryData::AddBasicShapeComponents() to propagate the material override to all instances when the given component is an archetype (template) object. Change 2997001 on 2016/06/01 by Ryan.Rauschkolb Fixed Double Clicking a component in the results of Find-In-Blueprints does not select the component #jira UE-30143 Change 2997521 on 2016/06/02 by Maciej.Mroz [Blueprint Nativization] - Added FilesToIncludeInModuleHeader config variable in BlueprintNativizationSettings. So some headers can be included in NativizedAssets.h - Guids of nodes are no longer recreated when Blueprint is duplicated for "C++ compilation". Previously child bp used variable names based on original parent class, but nativized parent class had guids recreated. Change 2997522 on 2016/06/02 by Maciej.Mroz Native implementation of NOEXPORT FInterpCurvePoint structures. (It's necessary for Blueprint nativization) Change 2997638 on 2016/06/02 by Maciej.Mroz Improvements for Blueprint Nativization: - Overridden names in nativized code have proper escape characters (in generated code). - OnlyDefaultConstructorDeclared metadata is replaced by ObjectInitializerConstructorDeclared - Arrays of nativized anum have the following form: TArray<Enum> (previously it was TArray<TEnumAsByte<Enum>>) - warning C4883 is disabled in .generated.cpp files for nativized module Change 2997639 on 2016/06/02 by Maciej.Mroz Minor improvements in Ocean gameplay code. Required for Blueprint Nativization. #jira UE-28945 Failure packaging Nativized Ocean Change 2997656 on 2016/06/02 by Maciej.Mroz Various improvements in BlueprintCompilerCppBackend: - Fixed interface cast - Fixed TSwitchValue issue (when used with literals) - Fixed improper name for NativeBlueprintEvent (when calling parent's implementation) - Fixed bitfield getter code. - Reduce code size (less UsedAssets, less ReferencedConvertedFields, cached UEnums) - operator == is generated for nativized structs - Fixed AssedId (AssetPtr) constructor in nativized code. - Fixed arrays of noexport struct - Fixed missing headers for native single cast delegate signature. - Fixed issue when default constructor (in native) is missing (constructor with FObjectInitialized, wont be used automatically). See "ObjectInitializerConstructorDeclared" metadata. Change 2997691 on 2016/06/02 by Maciej.Mroz operator == in FText. It is required for some functions in TArray<FText> Change 2997793 on 2016/06/02 by Ben.Cosh Added support for BaseAsyncTask nodes, fixed a problem with instance mapping and turned off the debug instance filter #Jira UE-30703 - Crash using blueprint profiler on AI pawn using nav mesh #Proj BlueprintProfiler, Kismet Change 2997901 on 2016/06/02 by Maciej.Mroz Back out changelist 2997691 Change 2998038 on 2016/06/02 by Mike.Beach Merging //UE4/Dev-Main to Dev-Blueprints (//UE4/Dev-Blueprints) Change 2998052 on 2016/06/02 by Ryan.Rauschkolb Fixed Comment bubbles not remembering changes after losing focus #jira UE-20012 Change 2998450 on 2016/06/02 by Phillip.Kavan [UE-31550] Fix crash on load of a Blueprint class containing a bitmask variable with missing enum type metadata. change summary: - modified FBlueprintEditorUtils::ValidateBlueprintVariableMetadata() to check for presence of bitmask enum type metadata on a variable before trying to validate it. Change 2999763 on 2016/06/03 by Mike.Beach Guarding against a crash with an ensure - attempting to catch why this is happening by logging more info, as we're unable to repro it. Guarding against nodes which reference malformed (TRASH) classes. #jira UE-26761 Change 2999768 on 2016/06/03 by Maciej.Mroz #jira UE-31592, UE-31593 This is just workaound. FReferenceFinder::FindReferences doesn;t find Enum variable in UByteProperty. Change 2999770 on 2016/06/03 by Maciej.Mroz [Blueprint Nativization] Workaround for missing ==operator in native structures. The generated code uses special version of array funtions. Change 2999798 on 2016/06/03 by Mike.Beach Guarding against malformed Blueprints (ones without valid "authoratative" class) used as context for the node menu. Baffling how we'd get into this scenario, but this adds ensures to hopefully give us clues and stabalize the editor. #jira UE-31522 Change 2999941 on 2016/06/03 by Mike.Beach Correcting mistake in previously attempted fix (CL 2781229). Now using weak ptr IsValid checks to guard against destroyed nodes in deferred graph actions (TWeakObjectPtr::Get() does not check IsValid before returning). #jira UE-23371 Change 3001731 on 2016/06/06 by Phillip.Kavan [UE-30638] BP profiler will no longer crash at runtime while profiling events that call functions on an external target. change summary: - modified FBlueprintProfiler::ProcessEventProfilingData() to only remove 'Class' and 'Instance' signals on new events. - modified FScriptEventPlayback::NodeSignalHelper struct to include a new 'BlueprintContext' field. - modified FScriptEventPlayback::Process() to handle midstream context switches by updating the Blueprint/Function context on 'Class' and/or 'Instance' signals. - modified FScriptEventPlayback::Process() to cache and reference the current Blueprint context within the cached NodeSignalHelper while handling processed events. Change 3002075 on 2016/06/06 by Maciej.Mroz Improved FScriptBuilderBase::EmitTermExpr in KismetCompilerVMBackend. Literal expression can be emitted without known desitination property. #jira UE-28443 Set Boolean (by ref) crashes the editor on compile Change 3002096 on 2016/06/06 by Ben.Cosh This change expands the way that the blueprint profiler detects event nodes during mapping to include other non function graphs. #Jira UE-30716 - Blueprint Profiler crashes if function in another graph is called #Proj BlueprintProfiler Change 3002108 on 2016/06/06 by Ben.Cosh Adds a new default option to average the blueprint level stats in the profiler. #Jira UE-31386 - BP Profiler - Timings reported with "Show Instances" off (in the tree view) are not averaged #Proj Kismet, BlueprintProfiler - The controls were also getting a bit messy so I tidied them all up into a re-usable toolbar for convenience going forward. Change 3002782 on 2016/06/06 by samuel.proctor Test assets for Interface testing Change 3003826 on 2016/06/07 by Ben.Cosh A few minor visual improvements for the blueprint profiler. #Proj Kismet, BlueprintProfiler, EditorStyle - Updated the actor icon to match the world outliner and added some functionality to draw attention to stale/deleted actors. - Updated the pure node icon. Change 3004067 on 2016/06/07 by samuel.proctor New test asset for blueprint interfaces Change 3004069 on 2016/06/07 by samuel.proctor Updating asset for Interface testing Change 3004275 on 2016/06/07 by Ryan.Rauschkolb Fixed issue where Toggle Comment Bubble button for Reroute nodes would not rever tthe comment bubble to constant visibility #jira UE-23733 Change 3004329 on 2016/06/07 by Dan.Oconnor EdGraphPin is no longer a UObject, this will improve load times significantly on projects with large number of blueprints, but content does need to be resaved in order to see the improvement in load time. UObject counts are also greatly reduced. Change 3004418 on 2016/06/07 by Maciej.Mroz KismetCompilerVMBackend: Fixed issue, when a byte property has no enum specified (for examle parameter from EqualEqual_ByteByte) but the enum is needed to parse a literal value. Change 3004496 on 2016/06/07 by Dan.Oconnor Disabling expensive pin allocation tracking Change 3004649 on 2016/06/07 by Mike.Beach Preventing a new warning from being generated on trace point exceptions (trace point exceptions are used to hook into the debugger, and don't represent errors). #jira UE-31236 Change 3004667 on 2016/06/07 by Dan.Oconnor Removed my debugging logic Change 3004848 on 2016/06/07 by Dan.Oconnor Fix spammy ensure Change 3004871 on 2016/06/07 by Phillip.Kavan [UE-24950] No longer including components instanced as default subobjects of and attached to components instanced by construction script in the IWCE component tree view. change summary: - modified SSCSEditor::UpdateTree() to exclude child components instanced in native code as "nested" DSOs and parented to non-natively-constructed (e.g. Blueprint) components; these instances are no longer being shown in IWCE in order to avoid confusion, as they're not currently mutable at the instance level, will always be parented to something that is visible in the tree, and they're also not currently shown in the Blueprint editor's component tree view (because they're not stored in the CDO). - modified FSceneComponentData's ctor to exclude child components instanced in native code as nested DSOs from the AttachedInstancedComponents array; this allows child components instanced as nested DSOs to be disposed of along with the constructed parent instance when re-running construction scripts. Change 3005203 on 2016/06/07 by Dan.Oconnor Fix for undo/redo/serialization issues with ed graph pin change. When serialization logic was applied incrementally our attempts to keep LinkedTo symetrical and aggressively clear destroyed nodes caused problems #jira UE-31750 Change 3005441 on 2016/06/08 by Maciej.Mroz #jira UE-31625 Crash in nativized Orion AssembleReferenceTokenStream is called for Dynamic Classes: - in ConstructDynamicType() (when class is explicitly loaded) - in __CustomDynamicClassInitialization() (when CDO is created) Change 3005540 on 2016/06/08 by Ben.Cosh This adds the ability to track profiler instances between editor and PIE instances and displays the current status through the icon coloring. #Jira UE-30705 - Blueprint profiler stats lost if instance destroyed during PIE #Proj BlueprintProfiler, Kismet - The jira was already fixed but I think this change improves the instance status clarity Change 3006196 on 2016/06/08 by Dan.Oconnor Copy/paste logic for pin connections got lost in the shuffle #jira UE-31747 Change 3006416 on 2016/06/08 by Phillip.Kavan [UE-31735] Fix potential loss of GetClassDefaults node output pin links on load (due to dependency load order). change summary: - modified UK2Node_GetClassDefaults::GetInputClass() to redirect to the generated skeleton class only if it's valid. this ensures that output pins will be reallocated during node reconstruction even if the dependent Blueprint's skeleton class has not yet been generated on load. Change 3006522 on 2016/06/08 by Dan.Oconnor Under rare circumstances a deprecated pin comes in that is outered to the transient package #jira UE-31779 Change 3006576 on 2016/06/08 by Dan.Oconnor Fix for non-editor builds #jira UE-31796 Change 3006610 on 2016/06/08 by Phillip.Kavan [UE-31743] Fix data loss issue when loading a serialized non-native component class instance that's owned by an Actor-based Blueprint class instance. change summary: - modified FObjectInitializer::InitProperties() to disable fast path initialization for non-native class types when the default data does not equate to the non-native CDO (as is also done within the native path). this is necessary because the optimized property list that we generate at load time to support fast path initialization of Blueprint class instances is only applicable to the generated CDO. Change 3006824 on 2016/06/08 by Dan.Oconnor More undo/redo fixes, this time fixes for when transaction buffer changes # of pins, thus destabalizing the LinkedTo arrays #jira UE-31794 Change 3006828 on 2016/06/08 by Dan.Oconnor Fix for non-editor builds Change 3006857 on 2016/06/08 by Dan.Oconnor Investigating shutdown ensure, traced back to a static UEdGraphPin Change 3006907 on 2016/06/08 by Dan.Oconnor Noneditor build fix Change 3006929 on 2016/06/08 by Dan.Oconnor Deferring DeprecatedPins destruction until after UBlueprint has had a chance to fix up its watched pins, this is a better fix for #jira UE-31779 Change 3007133 on 2016/06/09 by Ben.Cosh Fix for issue in the profiler asserting creating pins that don't have unique names. #Jira UE-31752 - Crash compiling various Orion assets for blueprints profiling, ScriptExecNode.IsValid() failed #Proj BlueprintProfiler - I believe this was recently introduced with the changes to UEdGraphPin's Change 3007964 on 2016/06/09 by Dan.Oconnor Fix for PinHelpers::UnresolvedPins being left with stale entries by undo/redo #jira UE-31829 Change 3007996 on 2016/06/09 by Ryan.Rauschkolb Added 'empty' keyword to Array Clear Node. #jira UE-12356 Change 3008007 on 2016/06/09 by Ryan.Rauschkolb Added 'negate' keyword to boolean NOT node #jira UE-12490 Change 3008011 on 2016/06/09 by Ryan.Rauschkolb Added Vector2D * Vector2D multiplication node #jira UE-31503 Change 3008014 on 2016/06/09 by Ryan.Rauschkolb Fixed Cannot connect Make Array node output to MakeArray input with split pins #jira UE-28530 Change 3008243 on 2016/06/09 by Dan.Oconnor Fix for creation of FWeakGraphPinPtr from a pin that had been destroyed, client logic is still a bit broken in the case of the ClassDefaults node, but we're back to 'safe' #jira UE-31841 Change 3008289 on 2016/06/09 by Dan.Oconnor Editor transaction saves all state before applying undo/redo buffers when using 'bFlip' flow. This prevents messing with the object graph in the middle of saving state that will be restored later #jira UE-31794 Change 3008422 on 2016/06/09 by Dan.Oconnor Correct usage of GIsTransacting, replaced with Ar.IsTransacting() to correctly handle the case where we serialize after transacting but during the transaction (for instance, recompile blueprint in post undo, which we do quite a bit it turns out) #jira UE-31857 Change 3009164 on 2016/06/10 by Ryan.Rauschkolb Making changes to default values in the structure editor will now make changes to the structure without rebuilding the default values panel. #jira UE-21141,UE-23723 Change 3009165 on 2016/06/10 by Ryan.Rauschkolb Fixed Structure Default value editor collapses after undoing an alteration of a default value #jira UE-31741 Change 3009181 on 2016/06/10 by Ryan.Rauschkolb Fixed issue where modifying a default value in a Widget Blueprint would cause the Details Panel to refresh #jira UE-30014 Change 3009313 on 2016/06/10 by Mike.Beach Addressing issues with function return nodes in multiple ways: - Preventing users from deleting return nodes for overriden/inherited functions. - Also making sure that we create terminals for out params when the return node is disconnected (and pruned). - Lastly, ensuring that new return nodes adhere to the function's signature (for cases, like where you copy/paste a return node from a different function). #jira UE-31418 Change 3009595 on 2016/06/10 by Dan.Oconnor EdGraphPinReference using PinId to resolve itself again, may create issues resolving pins created in compile #jira UE-31879 Change 3009774 on 2016/06/10 by Dan.Oconnor Fix for bad logic in RemovePin introduced in 3004329, just a bad reading of the logic, missed an early return #jira UE-31906 Change 3009988 on 2016/06/10 by Dan.Oconnor Prefer to use existing pins (based on PinId) when undoing/redoing pin serialization #jira UE-31888 Change 3010050 on 2016/06/10 by Dan.Oconnor Fixed missing call to ssuper class's PostEditUndo, fixed UBehaviorTreeGraph::PostEditUndo accessing Pins before they have been resolved #jira UE-31892 Change 3010071 on 2016/06/10 by Dan.Oconnor Fix for pasting when owning node has whitespace in result of GetPathName #jira UE-31898 #coderview Bob.Tellez Change 3010244 on 2016/06/11 by Dan.Oconnor Fix for trivial copy/paste error, causes crash when copying/pasting nodes with text default values, part of UE-31870 Change 3010630 on 2016/06/13 by Dan.Oconnor No longer relying on path name for pin resolution, path is unstable across graphs #jira UE-31870 Change 3010647 on 2016/06/13 by Dan.Oconnor PR #2496: Updated KismetMathLibrary comparison descriptions for FDateTime and FTimespan. (Contributed by CelPlays) #jira UE-31928 Change 3011175 on 2016/06/13 by Ben.Cosh Updates the Blueprint Profiler so that it can correctly map entry/exit from tunnels based on instance. #Jira UE-30106 - Compiling QA_PhysVelocitySettleTest with the blueprint profiler results in a crash/assert #Proj Kismet, BlueprintProfiler - Ensured that the trace paths contain the macro instance exec nodes - Selectively update stats in the tunnel exit site nodes based on valid exit sites to prevent cyclic updates. - Updated the comments in map tunnel entry to spare peoples sanity when trying to understand what that function does. Change 3011271 on 2016/06/13 by Ben.Cosh This adds support for inherited blueprint classes to the blueprint profiler. #Jira UE-31833 - The Blueprint profiler asserts when using a FlipFlop macro. #Jira UE-31752 - Crash compiling various Orion assets for blueprints profiling, ScriptExecNode.IsValid() failed #Proj BlueprintProfiler Change 3011556 on 2016/06/13 by Ryan.Rauschkolb Fixed Crash when breaking link to a split pin in MakeArray that is an array type #jira UE-31919 Change 3011624 on 2016/06/13 by Dan.Oconnor Fix for missing entries in MessageLog's source pin identification map. Bob T had originally populated this correctly, but somehow i lost it while iterating. #jira UE-31955 Change 3011984 on 2016/06/13 by Dan.Oconnor Sanitizing parentpin's subpins when destroying a pin #jira UE-21392 Change 3012894 on 2016/06/14 by Phillip.Kavan [UE-30922] Ensure that customized defaults are propagated to new instances at construction time during non-Actor-based Blueprint class reinstancing. change summary: - modified FBlueprintCompileReinstancer::ReplaceInstancesOfClass_Inner() to use the reinstanced archetype object as the template object during construction of the new instance for non-Actor-based Blueprint class types. #jira UE-30922 Change 3013037 on 2016/06/14 by Ryan.Rauschkolb Fixed Crash when connecting to a split pin in a MakeArray node that has no connections #jira UE-31917 Change 3014846 on 2016/06/15 by Dan.Oconnor No longer using FText::IsLetter to parse math expression nodes, that function is very slow. $x is now a valid math expression variable name (genereated a compile error prior to this change) #jira FORT-23753 Change 3015014 on 2016/06/15 by Dan.Oconnor Removing poorly implement IsLetter function Change 3015142 on 2016/06/15 by Dan.Oconnor More intentional about removing subpins, prevents stale iterator on split pin collapse #jira UE-32072 Change 3016326 on 2016/06/16 by Ryan.Rauschkolb Fixed MakeArray node does not reset to wildcard when breaking links with split struct pins that have default values #jira UE-32016 Change 3016494 on 2016/06/16 by Ryan.Rauschkolb Fixed Crash when dragging a component into the Event Graph that's inherited from a C++ class #jira UE-31876 Change 3016557 on 2016/06/16 by Dan.Oconnor Explicit copy/move of string data for FText, removes some redundant copying and object construction/destruction [which could be optimzed away], saves 2-3 seconds in my 80s load asset benchmark #jira FORT-23753 Change 3016577 on 2016/06/16 by Ryan.Rauschkolb Fixed compiler warning for hidden member variable in FBlueprintVarActionDetails::GetVariableReplicationType Change 3016906 on 2016/06/16 by Dan.Oconnor Back out changelist 3016557 This will be done by Jamie.Dale in Dev-Editor Change 3018081 on 2016/06/17 by Phillip.Kavan [UE-31832] PR #2486: Expose UInheritableComponentHandler::GetAllTemplates() outside of editor (Contributed by Bogustus) #jira UE-31832 Change 3018402 on 2016/06/17 by Dan.Oconnor Missing include Change 3018426 on 2016/06/17 by Ryan.Rauschkolb Fixed MakeArray node with split pins and no connections does not paste correctly #jira UE-32148 Change 3018452 on 2016/06/17 by Mike.Beach Moving the patching of instanced sub-objects out of CPFUO (where you can't rely on the target to be a replacement for the source) to FBlueprintEditorUtils::PatchCDOSubobjectsIntoExport(), and making it so PatchCDOSubobjectsIntoExport() is called regularly for Blueprint regeneration (on load). #jira UE-32158 Change 3018456 on 2016/06/17 by Dan.Oconnor Fix for static analysis warning, this null check does nothing Change 3018595 on 2016/06/17 by Mike.Beach Fix for shadowed variable warning in CIS. Change 3018699 on 2016/06/17 by Mike.Beach Making MinimumAreaRectangle callable in Blueprints without world context (which is only needed for debug drawing). Change 3019734 on 2016/06/20 by Phillip.Kavan [UE-32064] Clone associated component template(s) when duplicating Blueprint function graphs containing one or more Add Component nodes. change summary: - added a UK2Node_AddComponent::PostDuplicate() override - moved UK2Node_AddComponent::PostPasteNode() logic into a helper method that's now called from both PostDuplicate() and PostPasteNode() overrides. notes: - will prevent getting into the scenario described in UE-31831 #jira UE-32064 Change 3020635 on 2016/06/20 by Dan.Oconnor Fix for bad cast in FCompilerResultsLog::Append, could cause crashes in clients of this function (math expressions nodes occasionally do when they fail to compile) Change 3020894 on 2016/06/21 by Maciej.Mroz #2522: Interface UProperties can ExposeOnSpawn (in Blueprints) (Contributed by MichaelSchoell) Change 3020958 on 2016/06/21 by Ben.Cosh This improves the way key events are detected in the blueprint profiler, preventing duplicate event entries when pressed and released are both wired. It also catches a bug with the compiler instrumentation flag when compiling. #Jira UE-32270 - Input key events generate extra instrumentation data per key press #Jira UE-32266 - Recompiling blueprints with instrumentation can fail to add instrumentation. #Proj BlueprintProfiler, UnrealEd Change 3021316 on 2016/06/21 by Ryan.Rauschkolb Fixed issue where Copy/Paste of event nodes would not retain link information Change 3021826 on 2016/06/21 by Phillip.Kavan [UE-31831] Fix up AddComponent nodes on load if they are not associated with a unique template object. change summary: - added external linkage to UK2Node_AddComponent::MakeNewComponentTemplate(), and switched it to be a public API - modified FBlueprintEditorUtils::UpdateComponentTemplates() (as this is already called on Blueprint load) to detect/warn and correct non-unique templates #jira UE-31831 Change 3022047 on 2016/06/21 by Ryan.Rauschkolb Fixed issue where copy/paste of return nodes would not preserve value or link data #jira UE-26937 Change 3022619 on 2016/06/22 by Maciej.Mroz #jira UE-30858 Nativized Orion - Some particle effects are not rendering A static/persistent information (the mechanism is similar to AssetRegistrySearchable) about DynamicClass is added. It's necessary since DynamicClasses are not handled as regular assets by AssetRegistry. Fixed GameplayCueManager. Nativized cues can be found. This is an early version of the feature. Amount of stored persistent data can be extended (but it would increase memory-usage). Change 3022654 on 2016/06/22 by Maciej.Mroz FBackendHelperStaticSearchableValues -fixed too strict ensure Change 3023067 on 2016/06/22 by Maciej.Mroz #jira UE-32083 Nativize Blueprints removes blueprint functionality in packaged project Config settings from super class are not applied (at runtime) to nativized Blueprints . So all "config" properties are filled in constructor. Change 3023222 on 2016/06/22 by Ryan.Rauschkolb Fixed MakeArray node elements break when editing struct elements #jira UE-21392 Change 3023405 on 2016/06/22 by Mike.Beach Making sure sub-objects get instanced for Blueprint CDOs that had their FObjectInitializer deferred (happens when the super CDO hasn't been fully serialized). By the time the deferred FObjectInitializer is ran, the sub-objects have been assigned a RF_NeedLoad flag (where they normally wouldn't have one right after construction, when the initialization is usually ran). #jira UE-31897 Change 3023992 on 2016/06/22 by Mike.Beach Fixed an issue where hovering on/off a reroute node (toggling the comment bubble visibility) would create extraneous undo transactions. #jira UE-31859 [CL 3025946 by Mike Beach in Main branch]
2016-06-23 19:35:24 -04:00
if (Graph->GetFName() == FunctionName)
{
TargetGraph = Graph;
break;
}
}
if((TargetGraph != NULL) && !TargetGraph->HasAnyFlags(RF_Transient))
{
// Found the function graph in a Blueprint, return that graph
return TargetGraph;
}
else
{
// Did not find the function call as a graph, it may be a custom event
UK2Node_CustomEvent* CustomEventNode = NULL;
TArray<UK2Node_CustomEvent*> CustomEventNodes;
FBlueprintEditorUtils::GetAllNodesOfClass(Blueprint, CustomEventNodes);
for (UK2Node_CustomEvent* CustomEvent : CustomEventNodes)
{
if(CustomEvent->CustomFunctionName == FunctionReference.GetMemberName())
{
OutGraphNode = CustomEvent;
return CustomEvent->GetGraph();
}
}
}
ParentClass = Cast<UBlueprintGeneratedClass>(Blueprint->ParentClass);
Blueprint = ParentClass != NULL ? Cast<UBlueprint>(ParentClass->ClassGeneratedBy) : NULL;
}
}
}
return NULL;
}
Merging UE4-Pretest @ 2042161 to UE4 Change 1996384 by Andrew Brown: 322252 - EDITOR: Asset picker displays incorrect text when there are no filter results. Change 1996385 by Andrew Brown: 321858 - CRASH: Assertion failed: (Index >= 0) Function: STransformViewportToolBar::GetLocationGridLabel() STextBlock::CacheDesiredSize() Change 1996977 by Andrew Brown: 309685 - UE4: Adding an event/renaming an event on an event track in Matinee does not update the MatineeActor node in blueprint Change 2034873 by Jaroslaw Palczynski: More robust VS installation detection. Change 2039693 by Jaroslaw Palczynski: 327268 - RocketGDC: POSTLAUNCH: DEV: Make engine more robust against bad Visual Studio environment variables Change 1978978 by Jaroslaw Surowiec: - Removed obsolete AllowEliminatingReferences from the FArchive Change 2020326 by Maciej Mroz: pretest BP K2Node: RemovePinsFromOldPins function moved from K2Node to RemovePinsFromOldPins Change 2017608 by Maciej Mroz: pretest Some changes in SFortMissionEventSelector caused by FPinTypeTreeInfo Change 2017463 by Maciej Mroz: PinTypeSelector can lins unloaded UDStructs Change 2019979 by Maciej Mroz: pretest BP: Crash when performing Diff against Depot with blueprints containing Format Text nodes Change 2024469 by Maciej Mroz: MemberReference variable added to PinType. It's necessary for delegate's signature. Change 2024049 by Maciej Mroz: HasExternalBlueprintDependencies added to UK2Node_DynamicCast Change 2024586 by Maciej Mroz: FillSimpleMemberReference fix Change 2024472 by Maciej Mroz: workaround for delegates signature in pintype removed. Change 2023997 by Maciej Mroz: BP, UDStruc: Class UserDefinedStructEditorData added. It fixes many problems with undo/redo. Change 2021934 by Maciej Mroz: typo in a comment Change 2020355 by Maciej Mroz: Back out changelist 2020342 Change 2022178 by Maciej Mroz: CRASH: PRETEST: EDITOR: UDS: Crash when undo then redo new variable in struct that is used by blueprint Change 2021958 by Maciej Mroz: CRASH: PRETEST: EDITOR: UDS: Crash using variable of a type of copied struct in blueprint Change 1986247 by Maciej Mroz: User Defined Structures: circle dependency fixed. Early version. Change 1985107 by Maciej Mroz: UserDefinedStruct cannot have a field of a non-native type Change 1986278 by Maciej Mroz: pretest ensureMsgf in Struct::link Change 1986250 by Maciej Mroz: User Defined Struct: Non native classes are accepted types od values in structures. Change 1980955 by Maciej Mroz: Using AssetPtr and LazyPtr as UFunction parameter (intput or return) is explicitly disallowed. Change 2041215 by Maciej Mroz: ttp331249 BLOCKER: PRETEST: UI: Survive the Storm is missing the Mission HUD. Change 1984316 by Maciej Mroz: New User Defined Structure. WIP - there are still problems with circular dependencies. Change 2011616 by Maciej Mroz: UserDefinedStructures - various problems fixed. Change 2011609 by Maciej Mroz: more robust HasExternalBlueprintDependencies implementation Change 2016697 by Maciej Mroz: pretest BP: UDStruct - default value propagation in cooked build Change 2016288 by Maciej Mroz: pretest BP: UDStruct: Renaming variables wont break links from make/break nodes Change 1987637 by Maciej Mroz: CustomStruct icons placeholders Change 1987422 by Maciej Mroz: Better tooltips for variables in MyBlueprint Change 1991387 by Maciej Mroz: UDStructures fixes: Change 2029165 by Maciej Mroz: BP: better comment for incomatible pins Change 2030016 by Maciej Mroz: 8PRETEST: EDITOR: UDS: Defaults values aren't updated in struct type variables in blueprints Change 2030017 by Maciej Mroz: Unused UDStructure code removed (PPF_UseDefaultsForUDStructures) Change 2028856 by Maciej Mroz: BP: Pins with PC_Struct type are compatible only with exactly the same structure. (No derived structures are not handled as compatible). Change 2026701 by Maciej Mroz: k2: odd error on an add item node within a function (see attached image in details) Change 2028160 by Maciej Mroz: PRETEST: EDITOR: UDS: When deleting structures just after creating there is always some references in the memory Change 2028165 by Maciej Mroz: BP: BreakHitResult function has proper icon. Change 2033340 by Maciej Mroz: ttp330786 PRETEST: EDITOR: UDS: Changes of default values aren't apllied to breeak nodes for text type of variables Change 2034255 by Maciej Mroz: EDITOR: UDS: Changes of default values aren't apllied to make nodes for text type of variables ttp#330620 Change 2037682 by Maciej Mroz: ttp331309 BLOCKER: PRETEST: CRASH: EDITOR: Crash occurs when performing Diff Against Depot on any Blueprint Change 2033142 by Maciej Mroz: CreateDelegate Node uses internally FMemberReference. Refactor. Change 2032329 by Maciej Mroz: ttp330608 CRASH: PRETEST: EDITOR: UDS: Crash when trying to use struct named 'Color' in blueprint Change 2032420 by Maciej Mroz: ttp330620 PRETEST: EDITOR: UDS: Changes of default values aren't apllied to make nodes for text type of variables Change 2033139 by Maciej Mroz: Functions generated from CustomEvents can be also identified by GUID Change 2026631 by Maciej Mroz: BP. UDStruct: Invalid structs are handled better. Change 2025344 by Maciej Mroz: UDStruct enabled by default Change 2026672 by Maciej Mroz: EDITOR: BP: Can't easily remove 'pass-by-reference' pins on ReturnNodes Change 2026411 by Maciej Mroz: ExposeOnSpawn updated, it supports UDStructs, custom native Structs, and it throws compiler error. Change 2025342 by Maciej Mroz: GenerateBlueprintSkeleton moved from BLueprint::Serialize to RegenerateBlueprintClass, because SkeletonClass compilation requires all external dependencies to be loaded and linked. Change 2025570 by Steve Robb: Moved dependency processing to its own function. Change 2033235 by Steve Robb: String improvements Change 2035830 by Steve Robb: Workaround for FriendsAndChat crash in Fortnite. Change 2035115 by Steve Robb: UBT build time regression fixes. Change 2034162 by Steve Robb: 312775: UObject improvement: Ensure that *.generated.inl is included somewhere Change 2034181 by Steve Robb: Removal of any references to .generated.inl Change 2020165 by Steve Robb: BuildPublicAndPrivateUObjectHeaders factored out into its own function. Change 2020187 by Steve Robb: CreateModuleCompileEnvironment function factored out. Change 2020055 by Steve Robb: Refactoring of Unity.cs to remove complex and duplicate iteration. Change 2020083 by Steve Robb: Another use of dictionary utilities. Change 2031049 by Steve Robb: 312775: UObject improvement: Ensure that *.generated.inl is included somewhere Change 2025728 by Steve Robb: Refactored the application of a shared PCH file to multiple file into a single ApplySharedPCH function. Change 2020068 by Steve Robb: A couple of helpful utility functions for populating dictionaries. Change 2032307 by Steve Robb: 312775: UObject improvement: Ensure that *.generated.inl is included somewhere [CL 2054495 by Robert Manuszewski in Main branch]
2014-04-23 20:18:55 -04:00
bool UK2Node_CallFunction::IsStructureWildcardProperty(const UFunction* Function, const FString& PropertyName)
{
if (Function && !PropertyName.IsEmpty())
{
TArray<FString> Names;
FCustomStructureParamHelper::FillCustomStructureParameterNames(Function, Names);
if (Names.Contains(PropertyName))
{
return true;
}
}
return false;
}
Copying //UE4/Dev-Blueprints to //UE4/Dev-Main (Source: //UE4/Dev-Blueprints @ 3130440) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3050029 on 2016/07/14 by Ben.Cosh This modifies the blueprint instrumented compilation chain so only the the blueprint you compile and all dependencies are instrumented and the profiler is notified rather than waiting for event data. #Jira UE-32063 - The blueprint profiler doesn't display any stats in the execution graph if no instance is placed in the current level. #Proj BlueprintProfiler, Kismet, UnrelEd - This also improves the execution graph UI, notifying the user that no instances are available to display data from. Change 3101549 on 2016/08/25 by Maciej.Mroz BP nativization: fixed FEmitDefaultValueHelper::HandleInstancedSubobject https://udn.unrealengine.com/questions/308800/nativized-blueprints-newobject-call-uses-incorrect.html Change 3101811 on 2016/08/25 by Ryan.Rauschkolb BP Profiler: Fixed stack overflow crash when compiling blueprints with nested macros #jira UE-34503 Change 3102478 on 2016/08/26 by Maciej.Mroz #jira UE-35135 - Odin compiles with errors when using Blueprint nativization BP Nativization: - improved native cast - improved bool handling Change 3102944 on 2016/08/26 by Phillip.Kavan [UE-33017] Don't include transient properties when generating property lists at cook time for optimized runtime Blueprint component instancing. Also ensure that deprecated properties are serialized during load/instancing at runtime. change summary: - modified FBlueprintComponentInstanceDataLoader to append 'PPF_UseDeprecatedProperties' to the FArchive port flags. - modified FBlueprintComponentInstanceDataWriter to append both 'PPF_Duplicate' and 'PPF_UseDeprecatedProperties" to the FArchive port flags (to ensure consistency w/ the instancing side). - switched the RecursivePropertyGatherLambda helper to a static class method instead - modified the RecursivePropertyGather utility method to exclude transient properties. notes: - the primary cause of UE-33017 was that UBodySetup can "share" the ShapeBodySetup object across all instances, but the shared object is not owned by the CDO, it's owned by the archetype. this caused the archetype to differ from the CDO, which caused us to emit the transient property at cook time. thsi threw off the serialization offset between read/write FArchive passes at runtime. since transient properties are not serialized as part of the template, there's no need to include them in the generated delta property list, so as a fix, i'm just excluding them altogether. #jira UE-33017 Change 3103692 on 2016/08/27 by Mike.Beach Merging //UE4/Dev-Main to Dev-Blueprints (//UE4/Dev-Blueprints) Change 3104266 on 2016/08/29 by Ben.Marsh Add test script to native assets for QAGame. Change 3104399 on 2016/08/29 by Ben.Marsh Fix missing property warning in build script. Change 3104419 on 2016/08/29 by Maciej.Mroz #jira UE-35135 Odin compiles with errors when using Blueprint nativization - Reduced number of DynamicCLass instance dependencies - Fixed UDS default values dependencies - Improved WeakObjPtr handling - Improved const parameters handling Change 3104474 on 2016/08/29 by Ryan.Rauschkolb BP Profiler: Fixed issue where collapsed nodes that share a name with a parent class collapsed node can cause a stack overflow #jira UE-35245 Change 3105605 on 2016/08/30 by Maciej.Mroz Temp change: CIS Test Change 3105738 on 2016/08/30 by Maciej.Mroz UAT, CIS: testing NoRecompileUAT switch. Change 3105800 on 2016/08/30 by Maciej.Mroz UAT, CIS, Nativization: - reverted NoRecompileUAT switch. - testing nativization with -nocompileeditor flag and without -compile flag Change 3106162 on 2016/08/30 by Maciej.Mroz UAT, CIS, Nativization: -NoSubmit flag added. Otherwise UAT files are singed (when they are used by other process). It causes an error. - Ugly hack removed. Change 3106261 on 2016/08/30 by Phillip.Kavan [UE-34705] Gracefully handle tunnel node entry exec pins that aren't internally linked during BP profiler tunnel boundary mapping. change summary: - added FBlueprintFunctionContext::GetTunnelBoundaryNode() (uncheckedl variant). - moved FBlueprintFunctionContext::GetTunnelBoundaryNodeChecked() impl into GetTunnelBoundaryNode(). - re-implemented FBlueprintFunctionContext::GetTunnelBoundaryNodeChecked() to call GetTunnelBoundaryNode() and then assert on the result. - changed the FBlueprintTunnelInstanceContext::GetTunnelBoundaryNodeChecked() impl to override GetTunnelBoundaryNode() instead. - modified FBlueprintFunctionContext::MapTunnelBoundary() to only process the entry case if the TunnelBoundaryNode result is valid. this way we simply skip tunnel boundary mapping if an entry path was not previously mapped (rather than assert). #jira UE-34705 Change 3106478 on 2016/08/30 by Ben.Marsh Include *.uasset files on builders running the NativizeAssets job. Change 3107514 on 2016/08/31 by Ben.Cosh This set of changes is the result of a full pass on the blueprint profiler heat interface to try and bring them into a usable state. #Jira UE-33465 - Stat heat colors and heat wire traces need a quick pass to ensure they are working as expected. #Jira UE-33309 - FlipFlop node breaks hottest path wire heatmap #Jira UE-33650 - Blueprint heatwire effects do not work when touching user macros #Jira UE-33706 - BP Profiler - Macro instances not colored or reporting time #Jira UE-33701 - BP Profiler: Hottest path wire heatmap doesn't appear to be working #Jira UE-33083 - BP Profiler - (Exclusive) pure node heatmap missing from some nodes #Jira UE-34855 - BP Profiler - Update heatmap coloration when switching between Default/Custom thresholds #Jira UE-32218 - BP Profiler: Clear "inclusive" time entries from "avg. time" row. #Proj GraphEditor, Kismet, BlueprintProfiler, Change 3108268 on 2016/08/31 by Ben.Cosh Minor change from profiler review sessions to move macro timing to average stats. #Jira UE-33706 - BP Profiler - Macro instances not colored or reporting time #Proj Kismet Change 3108991 on 2016/08/31 by Maciej.Mroz UAT, CIS, Nativization: Test separate cooking and compiling Change 3110097 on 2016/09/01 by Ben.Cosh Minor update to the blueprint profiler mapping functionality to ignore disabled nodes and a fix for the max timing white glow bug. #Jira UE-35377 - Blueprint macros highlighting white in profiler #Jira UE-34973 - Remove Ghost Nodes #Proj Kismet, BlueprintProfiler Change 3114553 on 2016/09/06 by Dan.Oconnor Support for TMap/TSet in blueprint variable editor panel #jira UE-2114 Change 3116367 on 2016/09/07 by Dan.Oconnor Fixed Function/Macro inputs/outputs list (had become cramped with my last change) + misc. fixes for new container types, fixes uninitialized members in FTerminalType #jira UE-2114, UE-35676 Change 3116663 on 2016/09/07 by Dan.Oconnor Fix for array functions showing up with TSet and TMap pins #jira UE-2114 Change 3118259 on 2016/09/08 by Ryan.Rauschkolb BP Profiler: Fixed Assert when profiling parent/child Blueprint #jira UE-35487 Change 3119023 on 2016/09/09 by Maciej.Mroz Manually integrated (from Odin branch) recent changes related to BP and nativization: 3115713 UE-35448 3117590 UE-35697 3117742 ODIN-577 Change 3119058 on 2016/09/09 by Maciej.Mroz #jira UE-32841 GitHub 2574 : fix typos #2574 https://github.com/EpicGames/UnrealEngine/pull/2574 Renamed function CustomNativeInitilize to InitializeNativeClassData and made it private. Change 3119302 on 2016/09/09 by Maciej.Mroz #jira UE-35584 Orion - nativized server crashes Global variable for WITH_PERFCOUNTERS definition in UEBuildConfiguration. Previously the same header could be compiled with the WITH_PERFCOUNTERS flag enadles and disabled (during a single compilation) . Change 3119502 on 2016/09/09 by Mike.Beach When building a deterministic UUID for latent nodes, we now use expanded nodes' origin (node) to avoid collisions (latent node in macros, etc.) #jira UE-35609 Change 3119517 on 2016/09/09 by Ryan.Rauschkolb Added blueprint editor settings option to display unique names for blueprint nodes Change 3119602 on 2016/09/09 by Maciej.Mroz #jira UEBP-214 Implement Solution for Nativized AnimBlueprints Size Reduction Added stats about nativized AnimBP Mechanism to exlcude reducible AnimBP Editor config option:[BlueprintNativizationSettings] bNativizeAnimBPOnlyWhenNonReducibleFuncitons=false Change 3119615 on 2016/09/09 by Maciej.Mroz Missing change (should be part of cl#3119602) Change 3119619 on 2016/09/09 by Maciej.Mroz #jira UEBP-214 Implement Solution for Nativized AnimBlueprints Size Reduction Excluding all AnimBP from Orion nativization. Change 3120752 on 2016/09/12 by Maciej.Mroz #jira UE-35051 [CrashReport] UE4Editor_BlueprintNativeCodeGen!FBlueprintNativeCodeGenModule::GenerateSingleAsset() Removed unnecessary ensure Change 3121354 on 2016/09/12 by Dan.Oconnor Fixed variable type width, required for TMap's extra combobox. Change 3121626 on 2016/09/12 by Phillip.Kavan [UE-35456] Fix crash on right-click in components tree view after copying one or more BSP actors to clipboard. Note: This applies to the components tree view in both the Blueprint editor and the Level editor's Actor details panel. change summary: - modified FComponentObjectTextFactory::CanCreateClass() to exclude Actor/Component subtypes that are not Blueprint-compatible (e.g. ABrush). #jira UE-35456 Change 3122712 on 2016/09/13 by Maciej.Mroz #jira UE-35714 [CrashReport] UE4Editor_BlueprintGraph!UK2Node_CallArrayFunction::GetArrayPins() [k2node_callarrayfunction.cpp:141] Replaced "check" with "ensure". Change 3124398 on 2016/09/14 by Maciej.Mroz More strict BP validation in UBlueprintThumbnailRenderer::Draw #jira UE-35705 Change 3124405 on 2016/09/14 by Maciej.Mroz #jira UE-35110 Packaged project crashes when playing sound from blueprint library with enum input after nativizing blueprints Function Libraries are properly added to dependencies list while nativization. Change 3124667 on 2016/09/14 by Maciej.Mroz #jira UE-35262 Incompatible pins give generate warning, when error is necessary. Fixed incompatible pins validation. Change 3125245 on 2016/09/14 by Phillip.Kavan [UE-33674] Fix missing stats for the ForEachElementInEnum node type in the Blueprint profiler tree view. change summary: - modified FScriptEventPlayback::Process() to not allow intermediate node exit pins to pollute the current trace path - modified FBlueprintFunctionContext::DetermineGraphNodeCharacteristics() to handle the UK2Node_ForEachElementInEnum type as a special case and account for extra loop iterations in the sample frequency computed at mapping time - exported UK2Node_ForEachElementInEnum::InsideLoopPinName and EnumOutputPinName string constants #jira UE-33674 Change 3126211 on 2016/09/15 by Maciej.Mroz #jira UE-36016 Struct pin can be connected to Object pin without error Change 3126393 on 2016/09/15 by Maciej.Mroz #jira UE-35936 Replace "check" by "ensure". Change 3126623 on 2016/09/15 by Maciej.Mroz #jira UE-35816 User defined struct array resets to defaults in blueprint after updating the struct STRUCT_SerializeFromMismatchedTag is not necessary to serialize structure when guids match. Anyway STRUCT_SerializeFromMismatchedTag sholud precede SerializeFromMismatchedTag(). Change 3127288 on 2016/09/15 by Mike.Beach Making the script VM overhead and native time stats threadsafe (to account for threaded anim Blueprints in Orion). Change 3127375 on 2016/09/15 by Mike.Beach Making sure Blueprint classes inherit the super's ClassConfigName properly (inherit the ID instead of the filename). Change 3127381 on 2016/09/15 by Mike.Beach Removing an overzealous ensure that certain users were hitting when a loading array property wasn't fully filled out yet (confirmed that it was populated with the proper objects by the end of the load). Change 3127476 on 2016/09/15 by Dan.Oconnor Build fix #jira UE-36073 Change 3128335 on 2016/09/16 by Maciej.Mroz #jira UE-36075 Odin: BP_DefaultHand and BigBotCharacter blueprints fail to compile Fixed broken BP assets. Change 3128589 on 2016/09/16 by Mike.Beach Fixing a static analysis CIS warning (duplicated condition). Change 3128630 on 2016/09/16 by Dan.Oconnor Re-fix with engine version set Change 3129338 on 2016/09/16 by Dan.Oconnor =FScriptSet/FScriptSetHelper fleshed out (Add, Remove, and Find implemented) +SetParam implemented for marking up sets for primitive Set functions (to be checked in once completed as BlueprintSetLibrary) #jira UE-2114 [CL 3131171 by Mike Beach in Main branch]
2016-09-19 16:14:06 -04:00
bool UK2Node_CallFunction::IsWildcardProperty(const UFunction* InFunction, const UProperty* InProperty)
{
if (InProperty)
{
return FEdGraphUtilities::IsSetParam(InFunction, InProperty->GetName()) || FEdGraphUtilities::IsMapParam(InFunction, InProperty->GetName());
Copying //UE4/Dev-Blueprints to //UE4/Dev-Main (Source: //UE4/Dev-Blueprints @ 3130440) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3050029 on 2016/07/14 by Ben.Cosh This modifies the blueprint instrumented compilation chain so only the the blueprint you compile and all dependencies are instrumented and the profiler is notified rather than waiting for event data. #Jira UE-32063 - The blueprint profiler doesn't display any stats in the execution graph if no instance is placed in the current level. #Proj BlueprintProfiler, Kismet, UnrelEd - This also improves the execution graph UI, notifying the user that no instances are available to display data from. Change 3101549 on 2016/08/25 by Maciej.Mroz BP nativization: fixed FEmitDefaultValueHelper::HandleInstancedSubobject https://udn.unrealengine.com/questions/308800/nativized-blueprints-newobject-call-uses-incorrect.html Change 3101811 on 2016/08/25 by Ryan.Rauschkolb BP Profiler: Fixed stack overflow crash when compiling blueprints with nested macros #jira UE-34503 Change 3102478 on 2016/08/26 by Maciej.Mroz #jira UE-35135 - Odin compiles with errors when using Blueprint nativization BP Nativization: - improved native cast - improved bool handling Change 3102944 on 2016/08/26 by Phillip.Kavan [UE-33017] Don't include transient properties when generating property lists at cook time for optimized runtime Blueprint component instancing. Also ensure that deprecated properties are serialized during load/instancing at runtime. change summary: - modified FBlueprintComponentInstanceDataLoader to append 'PPF_UseDeprecatedProperties' to the FArchive port flags. - modified FBlueprintComponentInstanceDataWriter to append both 'PPF_Duplicate' and 'PPF_UseDeprecatedProperties" to the FArchive port flags (to ensure consistency w/ the instancing side). - switched the RecursivePropertyGatherLambda helper to a static class method instead - modified the RecursivePropertyGather utility method to exclude transient properties. notes: - the primary cause of UE-33017 was that UBodySetup can "share" the ShapeBodySetup object across all instances, but the shared object is not owned by the CDO, it's owned by the archetype. this caused the archetype to differ from the CDO, which caused us to emit the transient property at cook time. thsi threw off the serialization offset between read/write FArchive passes at runtime. since transient properties are not serialized as part of the template, there's no need to include them in the generated delta property list, so as a fix, i'm just excluding them altogether. #jira UE-33017 Change 3103692 on 2016/08/27 by Mike.Beach Merging //UE4/Dev-Main to Dev-Blueprints (//UE4/Dev-Blueprints) Change 3104266 on 2016/08/29 by Ben.Marsh Add test script to native assets for QAGame. Change 3104399 on 2016/08/29 by Ben.Marsh Fix missing property warning in build script. Change 3104419 on 2016/08/29 by Maciej.Mroz #jira UE-35135 Odin compiles with errors when using Blueprint nativization - Reduced number of DynamicCLass instance dependencies - Fixed UDS default values dependencies - Improved WeakObjPtr handling - Improved const parameters handling Change 3104474 on 2016/08/29 by Ryan.Rauschkolb BP Profiler: Fixed issue where collapsed nodes that share a name with a parent class collapsed node can cause a stack overflow #jira UE-35245 Change 3105605 on 2016/08/30 by Maciej.Mroz Temp change: CIS Test Change 3105738 on 2016/08/30 by Maciej.Mroz UAT, CIS: testing NoRecompileUAT switch. Change 3105800 on 2016/08/30 by Maciej.Mroz UAT, CIS, Nativization: - reverted NoRecompileUAT switch. - testing nativization with -nocompileeditor flag and without -compile flag Change 3106162 on 2016/08/30 by Maciej.Mroz UAT, CIS, Nativization: -NoSubmit flag added. Otherwise UAT files are singed (when they are used by other process). It causes an error. - Ugly hack removed. Change 3106261 on 2016/08/30 by Phillip.Kavan [UE-34705] Gracefully handle tunnel node entry exec pins that aren't internally linked during BP profiler tunnel boundary mapping. change summary: - added FBlueprintFunctionContext::GetTunnelBoundaryNode() (uncheckedl variant). - moved FBlueprintFunctionContext::GetTunnelBoundaryNodeChecked() impl into GetTunnelBoundaryNode(). - re-implemented FBlueprintFunctionContext::GetTunnelBoundaryNodeChecked() to call GetTunnelBoundaryNode() and then assert on the result. - changed the FBlueprintTunnelInstanceContext::GetTunnelBoundaryNodeChecked() impl to override GetTunnelBoundaryNode() instead. - modified FBlueprintFunctionContext::MapTunnelBoundary() to only process the entry case if the TunnelBoundaryNode result is valid. this way we simply skip tunnel boundary mapping if an entry path was not previously mapped (rather than assert). #jira UE-34705 Change 3106478 on 2016/08/30 by Ben.Marsh Include *.uasset files on builders running the NativizeAssets job. Change 3107514 on 2016/08/31 by Ben.Cosh This set of changes is the result of a full pass on the blueprint profiler heat interface to try and bring them into a usable state. #Jira UE-33465 - Stat heat colors and heat wire traces need a quick pass to ensure they are working as expected. #Jira UE-33309 - FlipFlop node breaks hottest path wire heatmap #Jira UE-33650 - Blueprint heatwire effects do not work when touching user macros #Jira UE-33706 - BP Profiler - Macro instances not colored or reporting time #Jira UE-33701 - BP Profiler: Hottest path wire heatmap doesn't appear to be working #Jira UE-33083 - BP Profiler - (Exclusive) pure node heatmap missing from some nodes #Jira UE-34855 - BP Profiler - Update heatmap coloration when switching between Default/Custom thresholds #Jira UE-32218 - BP Profiler: Clear "inclusive" time entries from "avg. time" row. #Proj GraphEditor, Kismet, BlueprintProfiler, Change 3108268 on 2016/08/31 by Ben.Cosh Minor change from profiler review sessions to move macro timing to average stats. #Jira UE-33706 - BP Profiler - Macro instances not colored or reporting time #Proj Kismet Change 3108991 on 2016/08/31 by Maciej.Mroz UAT, CIS, Nativization: Test separate cooking and compiling Change 3110097 on 2016/09/01 by Ben.Cosh Minor update to the blueprint profiler mapping functionality to ignore disabled nodes and a fix for the max timing white glow bug. #Jira UE-35377 - Blueprint macros highlighting white in profiler #Jira UE-34973 - Remove Ghost Nodes #Proj Kismet, BlueprintProfiler Change 3114553 on 2016/09/06 by Dan.Oconnor Support for TMap/TSet in blueprint variable editor panel #jira UE-2114 Change 3116367 on 2016/09/07 by Dan.Oconnor Fixed Function/Macro inputs/outputs list (had become cramped with my last change) + misc. fixes for new container types, fixes uninitialized members in FTerminalType #jira UE-2114, UE-35676 Change 3116663 on 2016/09/07 by Dan.Oconnor Fix for array functions showing up with TSet and TMap pins #jira UE-2114 Change 3118259 on 2016/09/08 by Ryan.Rauschkolb BP Profiler: Fixed Assert when profiling parent/child Blueprint #jira UE-35487 Change 3119023 on 2016/09/09 by Maciej.Mroz Manually integrated (from Odin branch) recent changes related to BP and nativization: 3115713 UE-35448 3117590 UE-35697 3117742 ODIN-577 Change 3119058 on 2016/09/09 by Maciej.Mroz #jira UE-32841 GitHub 2574 : fix typos #2574 https://github.com/EpicGames/UnrealEngine/pull/2574 Renamed function CustomNativeInitilize to InitializeNativeClassData and made it private. Change 3119302 on 2016/09/09 by Maciej.Mroz #jira UE-35584 Orion - nativized server crashes Global variable for WITH_PERFCOUNTERS definition in UEBuildConfiguration. Previously the same header could be compiled with the WITH_PERFCOUNTERS flag enadles and disabled (during a single compilation) . Change 3119502 on 2016/09/09 by Mike.Beach When building a deterministic UUID for latent nodes, we now use expanded nodes' origin (node) to avoid collisions (latent node in macros, etc.) #jira UE-35609 Change 3119517 on 2016/09/09 by Ryan.Rauschkolb Added blueprint editor settings option to display unique names for blueprint nodes Change 3119602 on 2016/09/09 by Maciej.Mroz #jira UEBP-214 Implement Solution for Nativized AnimBlueprints Size Reduction Added stats about nativized AnimBP Mechanism to exlcude reducible AnimBP Editor config option:[BlueprintNativizationSettings] bNativizeAnimBPOnlyWhenNonReducibleFuncitons=false Change 3119615 on 2016/09/09 by Maciej.Mroz Missing change (should be part of cl#3119602) Change 3119619 on 2016/09/09 by Maciej.Mroz #jira UEBP-214 Implement Solution for Nativized AnimBlueprints Size Reduction Excluding all AnimBP from Orion nativization. Change 3120752 on 2016/09/12 by Maciej.Mroz #jira UE-35051 [CrashReport] UE4Editor_BlueprintNativeCodeGen!FBlueprintNativeCodeGenModule::GenerateSingleAsset() Removed unnecessary ensure Change 3121354 on 2016/09/12 by Dan.Oconnor Fixed variable type width, required for TMap's extra combobox. Change 3121626 on 2016/09/12 by Phillip.Kavan [UE-35456] Fix crash on right-click in components tree view after copying one or more BSP actors to clipboard. Note: This applies to the components tree view in both the Blueprint editor and the Level editor's Actor details panel. change summary: - modified FComponentObjectTextFactory::CanCreateClass() to exclude Actor/Component subtypes that are not Blueprint-compatible (e.g. ABrush). #jira UE-35456 Change 3122712 on 2016/09/13 by Maciej.Mroz #jira UE-35714 [CrashReport] UE4Editor_BlueprintGraph!UK2Node_CallArrayFunction::GetArrayPins() [k2node_callarrayfunction.cpp:141] Replaced "check" with "ensure". Change 3124398 on 2016/09/14 by Maciej.Mroz More strict BP validation in UBlueprintThumbnailRenderer::Draw #jira UE-35705 Change 3124405 on 2016/09/14 by Maciej.Mroz #jira UE-35110 Packaged project crashes when playing sound from blueprint library with enum input after nativizing blueprints Function Libraries are properly added to dependencies list while nativization. Change 3124667 on 2016/09/14 by Maciej.Mroz #jira UE-35262 Incompatible pins give generate warning, when error is necessary. Fixed incompatible pins validation. Change 3125245 on 2016/09/14 by Phillip.Kavan [UE-33674] Fix missing stats for the ForEachElementInEnum node type in the Blueprint profiler tree view. change summary: - modified FScriptEventPlayback::Process() to not allow intermediate node exit pins to pollute the current trace path - modified FBlueprintFunctionContext::DetermineGraphNodeCharacteristics() to handle the UK2Node_ForEachElementInEnum type as a special case and account for extra loop iterations in the sample frequency computed at mapping time - exported UK2Node_ForEachElementInEnum::InsideLoopPinName and EnumOutputPinName string constants #jira UE-33674 Change 3126211 on 2016/09/15 by Maciej.Mroz #jira UE-36016 Struct pin can be connected to Object pin without error Change 3126393 on 2016/09/15 by Maciej.Mroz #jira UE-35936 Replace "check" by "ensure". Change 3126623 on 2016/09/15 by Maciej.Mroz #jira UE-35816 User defined struct array resets to defaults in blueprint after updating the struct STRUCT_SerializeFromMismatchedTag is not necessary to serialize structure when guids match. Anyway STRUCT_SerializeFromMismatchedTag sholud precede SerializeFromMismatchedTag(). Change 3127288 on 2016/09/15 by Mike.Beach Making the script VM overhead and native time stats threadsafe (to account for threaded anim Blueprints in Orion). Change 3127375 on 2016/09/15 by Mike.Beach Making sure Blueprint classes inherit the super's ClassConfigName properly (inherit the ID instead of the filename). Change 3127381 on 2016/09/15 by Mike.Beach Removing an overzealous ensure that certain users were hitting when a loading array property wasn't fully filled out yet (confirmed that it was populated with the proper objects by the end of the load). Change 3127476 on 2016/09/15 by Dan.Oconnor Build fix #jira UE-36073 Change 3128335 on 2016/09/16 by Maciej.Mroz #jira UE-36075 Odin: BP_DefaultHand and BigBotCharacter blueprints fail to compile Fixed broken BP assets. Change 3128589 on 2016/09/16 by Mike.Beach Fixing a static analysis CIS warning (duplicated condition). Change 3128630 on 2016/09/16 by Dan.Oconnor Re-fix with engine version set Change 3129338 on 2016/09/16 by Dan.Oconnor =FScriptSet/FScriptSetHelper fleshed out (Add, Remove, and Find implemented) +SetParam implemented for marking up sets for primitive Set functions (to be checked in once completed as BlueprintSetLibrary) #jira UE-2114 [CL 3131171 by Mike Beach in Main branch]
2016-09-19 16:14:06 -04:00
}
return false;
}
void UK2Node_CallFunction::AddSearchMetaDataInfo(TArray<struct FSearchTagDataPair>& OutTaggedMetaData) const
{
Super::AddSearchMetaDataInfo(OutTaggedMetaData);
if (UFunction* TargetFunction = GetTargetFunction())
{
OutTaggedMetaData.Add(FSearchTagDataPair(FFindInBlueprintSearchTags::FiB_NativeName, FText::FromString(TargetFunction->GetName())));
}
}
Copying //UE4/Dev-Blueprints to //UE4/Dev-Main (Source: //UE4/Dev-Blueprints @ 3194222) #lockdown Nick.Penwarden #rb None ========================== MAJOR FEATURES + CHANGES ========================== Change 3170086 on 2016/10/20 by Dan.Oconnor PR #2760: UE-35454: Vector2D sets default value (Contributed by projectgheist) #jira UE-35454, UE-35499 Change 3175577 on 2016/10/26 by Dan.Oconnor Back out changelist 3170086 - this change is incompatible with existing default values on EdGraphNodes Change 3178243 on 2016/10/28 by Ryan.Rauschkolb BP Profiler: Fixed crash when profiling InputKeyEvents #jira UE-37392 Change 3178702 on 2016/10/28 by Dan.Oconnor Implement UStructProperty::GetValueTypeHashInternal #jira UE-2114 Change 3178812 on 2016/10/28 by Dan.Oconnor Improved map pin compatabiliity checks (can no longer connect maps to non-container wildcards, connect unrelated map types), properly setting HasGetValueTypeHash for blueprint generated properties, preventing compilation of Set and Map properties that have unhashable members Change 3179999 on 2016/10/31 by Ryan.Rauschkolb BP Profiler: Fixed issue where Tunnel boundaries weren't being created for each entry/exit pin Change 3180700 on 2016/10/31 by Dan.Oconnor Typo fix, referred to as Key, when property in question is a value type for a map Change 3181014 on 2016/11/01 by Mike.Beach Preventing the Blueprint compiler from erroring on missing delegate variables, when the expected member belongs to another Blueprint that hasn't been compiled-on-load yet (the Blueprint was possibly saved without compiling, so the expected delegate may be there). #jira UE-37679 Change 3182378 on 2016/11/01 by Dan.Oconnor Correctly handle non-native structs, which are currently always hashable Change 3182440 on 2016/11/01 by Dan.Oconnor SA fix - introduced by 3178812 Change 3183764 on 2016/11/02 by Ryan.Rauschkolb Collapsing nodes to function now only links gateway pins to the result node if existing links weren't transferred over. #jira UE-23381 Change 3184306 on 2016/11/02 by Dan.Oconnor Fix for TSet pins being connectable to ArrayDependentParams (e.g. Item node on a Add to Array node) Change 3184310 on 2016/11/02 by Dan.Oconnor Add BlueprintMapLibrary. Rename RemoveAt_NeedsRehash functions, as they do properly unlink elements in a Map/Set. Implement FScriptSetHelper::Remove in terms of Find and RemoveAt. Correct iteration of Sets in BlueprintSetLibrary. Change 3185317 on 2016/11/03 by Ryan.Rauschkolb Fixed crash when collapsing nodes Change 3185482 on 2016/11/03 by Dan.Oconnor Remove superfluous branch Change 3185493 on 2016/11/03 by Mike.Beach Guarding against missing variable errors/warnings (when two Blueprints are cyclically dependent and the one with variables was saved without compiling variables in). Change 3185501 on 2016/11/03 by Mike.Beach Remove [EditoronlyBP] settings from the engine. These were old legacy settings which let you use/export editor-only UBlueprint objects in cooked projects (was deprecated in 4.14, now gone for 4.15). #jira UE-37967 Change 3186924 on 2016/11/04 by Maciej.Mroz BP nativization works with EDL. Part 1. Work n progress. Change 3188920 on 2016/11/07 by Phillip.Kavan [UE-30735] Hide 'EditInstanceOnly' properties when viewing/editing SCS component defaults in the Blueprint editor. change summary: - modified SKismetInspector::IsPropertyVisible() to leverage the IsTemplate() API which checks both CDO/archetype flags. #jira UE-30735 Change 3190417 on 2016/11/08 by Dan.Oconnor Unified compact node style, added icons for Set and Map library functions. #jira UE-2114 Change 3190429 on 2016/11/08 by Dan.Oconnor Shadowvariable fixes Change 3190465 on 2016/11/08 by Dan.Oconnor Test asset updates Change 3190984 on 2016/11/08 by Mike.Beach CIS fix for static analysis. Change 3191035 on 2016/11/08 by Dan.Oconnor Disabling changing replication behavior for Set and Map Properties - networking has no near term plan to support this #jira UE-2114 Change 3191059 on 2016/11/08 by Dan.Oconnor UE-27728 test assets Change 3191671 on 2016/11/09 by Maciej.Mroz EDL + Nativization. Fake export for CDO. Work in progress. Change 3192327 on 2016/11/09 by Mike.Beach Fixing up CIS compiler error. Change 3192464 on 2016/11/09 by Mike.Beach More CIS fixes for static analysis. Change 3193467 on 2016/11/10 by Mike.Beach Adding a Blueprint function to get the process's commandline. Change 3193822 on 2016/11/10 by Ben.Marsh Build: Replace Fortnite Win32 compile with UE4Game Win32. Fortnite aren't shipping Win32 any more. Change 3194088 on 2016/11/10 by Dan.Oconnor Disabling SA warning at this scope in order to hopefully improve messaging Change 3194222 on 2016/11/10 by Dan.Oconnor Better fix for SA error after taking a look at crash reporter and finding a rare crash in IsTypeCompatibleWithProperty [CL 3194231 by Dan Oconnor in Main branch]
2016-11-10 21:28:46 -05:00
TSharedPtr<SWidget> UK2Node_CallFunction::CreateNodeImage() const
{
// For set, map and array functions we have a cool icon. This helps users quickly
// identify container types:
if (UFunction* TargetFunction = GetTargetFunction())
{
UEdGraphPin* NodeImagePin = FEdGraphUtilities::FindArrayParamPin(TargetFunction, this);
NodeImagePin = NodeImagePin ? NodeImagePin : FEdGraphUtilities::FindSetParamPin(TargetFunction, this);
NodeImagePin = NodeImagePin ? NodeImagePin : FEdGraphUtilities::FindMapParamPin(TargetFunction, this);
if(NodeImagePin)
{
// Find the first array param pin and bind that to our array image:
return SPinTypeSelector::ConstructPinTypeImage(NodeImagePin);
}
}
return TSharedPtr<SWidget>();
}
bool UK2Node_CallFunction::IsConnectionDisallowed(const UEdGraphPin* MyPin, const UEdGraphPin* OtherPin, FString& OutReason) const
{
bool bIsDisallowed = Super::IsConnectionDisallowed(MyPin, OtherPin, OutReason);
if (!bIsDisallowed && MyPin != nullptr)
{
if (MyPin->bNotConnectable)
{
bIsDisallowed = true;
OutReason = LOCTEXT("PinConnectionDisallowed", "This parameter is for internal use only.").ToString();
}
else if (UFunction* TargetFunction = GetTargetFunction())
{
if(
// Strictly speaking this first check is not needed, but by not disabling the connection here we get a better reason later:
( ( FEdGraphUtilities::IsSetParam(TargetFunction, MyPin->PinName) &&
(OtherPin->PinType.IsContainer() && !MyPin->PinType.bIsSet) ) ||
( FEdGraphUtilities::IsMapParam(TargetFunction, MyPin->PinName) &&
Copying //UE4/Dev-Blueprints to //UE4/Dev-Main (Source: //UE4/Dev-Blueprints @ 3194222) #lockdown Nick.Penwarden #rb None ========================== MAJOR FEATURES + CHANGES ========================== Change 3170086 on 2016/10/20 by Dan.Oconnor PR #2760: UE-35454: Vector2D sets default value (Contributed by projectgheist) #jira UE-35454, UE-35499 Change 3175577 on 2016/10/26 by Dan.Oconnor Back out changelist 3170086 - this change is incompatible with existing default values on EdGraphNodes Change 3178243 on 2016/10/28 by Ryan.Rauschkolb BP Profiler: Fixed crash when profiling InputKeyEvents #jira UE-37392 Change 3178702 on 2016/10/28 by Dan.Oconnor Implement UStructProperty::GetValueTypeHashInternal #jira UE-2114 Change 3178812 on 2016/10/28 by Dan.Oconnor Improved map pin compatabiliity checks (can no longer connect maps to non-container wildcards, connect unrelated map types), properly setting HasGetValueTypeHash for blueprint generated properties, preventing compilation of Set and Map properties that have unhashable members Change 3179999 on 2016/10/31 by Ryan.Rauschkolb BP Profiler: Fixed issue where Tunnel boundaries weren't being created for each entry/exit pin Change 3180700 on 2016/10/31 by Dan.Oconnor Typo fix, referred to as Key, when property in question is a value type for a map Change 3181014 on 2016/11/01 by Mike.Beach Preventing the Blueprint compiler from erroring on missing delegate variables, when the expected member belongs to another Blueprint that hasn't been compiled-on-load yet (the Blueprint was possibly saved without compiling, so the expected delegate may be there). #jira UE-37679 Change 3182378 on 2016/11/01 by Dan.Oconnor Correctly handle non-native structs, which are currently always hashable Change 3182440 on 2016/11/01 by Dan.Oconnor SA fix - introduced by 3178812 Change 3183764 on 2016/11/02 by Ryan.Rauschkolb Collapsing nodes to function now only links gateway pins to the result node if existing links weren't transferred over. #jira UE-23381 Change 3184306 on 2016/11/02 by Dan.Oconnor Fix for TSet pins being connectable to ArrayDependentParams (e.g. Item node on a Add to Array node) Change 3184310 on 2016/11/02 by Dan.Oconnor Add BlueprintMapLibrary. Rename RemoveAt_NeedsRehash functions, as they do properly unlink elements in a Map/Set. Implement FScriptSetHelper::Remove in terms of Find and RemoveAt. Correct iteration of Sets in BlueprintSetLibrary. Change 3185317 on 2016/11/03 by Ryan.Rauschkolb Fixed crash when collapsing nodes Change 3185482 on 2016/11/03 by Dan.Oconnor Remove superfluous branch Change 3185493 on 2016/11/03 by Mike.Beach Guarding against missing variable errors/warnings (when two Blueprints are cyclically dependent and the one with variables was saved without compiling variables in). Change 3185501 on 2016/11/03 by Mike.Beach Remove [EditoronlyBP] settings from the engine. These were old legacy settings which let you use/export editor-only UBlueprint objects in cooked projects (was deprecated in 4.14, now gone for 4.15). #jira UE-37967 Change 3186924 on 2016/11/04 by Maciej.Mroz BP nativization works with EDL. Part 1. Work n progress. Change 3188920 on 2016/11/07 by Phillip.Kavan [UE-30735] Hide 'EditInstanceOnly' properties when viewing/editing SCS component defaults in the Blueprint editor. change summary: - modified SKismetInspector::IsPropertyVisible() to leverage the IsTemplate() API which checks both CDO/archetype flags. #jira UE-30735 Change 3190417 on 2016/11/08 by Dan.Oconnor Unified compact node style, added icons for Set and Map library functions. #jira UE-2114 Change 3190429 on 2016/11/08 by Dan.Oconnor Shadowvariable fixes Change 3190465 on 2016/11/08 by Dan.Oconnor Test asset updates Change 3190984 on 2016/11/08 by Mike.Beach CIS fix for static analysis. Change 3191035 on 2016/11/08 by Dan.Oconnor Disabling changing replication behavior for Set and Map Properties - networking has no near term plan to support this #jira UE-2114 Change 3191059 on 2016/11/08 by Dan.Oconnor UE-27728 test assets Change 3191671 on 2016/11/09 by Maciej.Mroz EDL + Nativization. Fake export for CDO. Work in progress. Change 3192327 on 2016/11/09 by Mike.Beach Fixing up CIS compiler error. Change 3192464 on 2016/11/09 by Mike.Beach More CIS fixes for static analysis. Change 3193467 on 2016/11/10 by Mike.Beach Adding a Blueprint function to get the process's commandline. Change 3193822 on 2016/11/10 by Ben.Marsh Build: Replace Fortnite Win32 compile with UE4Game Win32. Fortnite aren't shipping Win32 any more. Change 3194088 on 2016/11/10 by Dan.Oconnor Disabling SA warning at this scope in order to hopefully improve messaging Change 3194222 on 2016/11/10 by Dan.Oconnor Better fix for SA error after taking a look at crash reporter and finding a rare crash in IsTypeCompatibleWithProperty [CL 3194231 by Dan Oconnor in Main branch]
2016-11-10 21:28:46 -05:00
(OtherPin->PinType.IsContainer() && !MyPin->PinType.bIsMap) ) ||
( FEdGraphUtilities::IsArrayDependentParam(TargetFunction, MyPin->PinName) &&
(OtherPin->PinType.IsContainer() && !MyPin->PinType.bIsArray) )
)
&&
// make sure we don't allow connections of mismatched container types (e.g. maps to arrays)
(
OtherPin->PinType.bIsMap != MyPin->PinType.bIsMap ||
OtherPin->PinType.bIsSet != MyPin->PinType.bIsSet ||
OtherPin->PinType.bIsArray != MyPin->PinType.bIsArray
)
)
{
bIsDisallowed = true;
OutReason = LOCTEXT("PinSetConnectionDisallowed", "Containers of containers are not supported - consider wrapping a container in a Structure object").ToString();
}
}
}
return bIsDisallowed;
}
#undef LOCTEXT_NAMESPACE