Commit Graph

6 Commits

Author SHA1 Message Date
Ben Marsh
20bf0eb6a1 Updating copyright notices to 2017 (copying from //Tasks/UE4/Dev-Copyright-2017).
#rb none
#lockdown Nick.Penwarden

[CL 3226823 by Ben Marsh in Main branch]
2016-12-08 08:52:44 -05:00
Ben Marsh
4ba423868f 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
Mike Beach
f64d552970 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
Mike Beach
c4a189cd30 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
Mike Beach
e8b0edbafc Copying //UE4/Dev-Blueprints to //UE4/Dev-Main (Source: //UE4/Dev-Blueprints @ 3057841)
#lockdown Nick.Penwarden
#rb none

==========================
MAJOR FEATURES + CHANGES
==========================

Change 3043219 on 2016/07/08 by Dan.Oconnor

	SKismetInspector was incoherently using it's property view's EditingEnabledDelegate. Now assigning it only in one place. This causes the kismet inspector in the diff tool to be read only as client code intends
	#jira UE-32932

Change 3044844 on 2016/07/11 by Ryan.Rauschkolb

	Fixed issue where older CustomEvents had incorrect UserDefinedPin directions associated with them
	#jira UE-32683

Change 3045508 on 2016/07/11 by Mike.Beach

	Ensuring the order in which we reinstance Blueprint components is correct (SCS templates need to come before their instances).

	#jira UE-32985

Change 3045986 on 2016/07/12 by Maciej.Mroz

	#jira UE-32942 BP Nativization: Reduce the size of executable files

	Reuse hardcoded paths. Reduce amount of generated strings.

Change 3046188 on 2016/07/12 by Maciej.Mroz

	#jira UE-32942 BP Nativization: Reduce the size of executable files

	Reduce number of TArray::operator[] calls.

Change 3046412 on 2016/07/12 by Maciej.Mroz

	#jira UE-32942 BP Nativization: Reduce the size of executable files

	Reduced size of FBlueprintDependencyData constructor (no inlined code). Reducednumber of TArray.Add calls.

Change 3046608 on 2016/07/12 by Ryan.Rauschkolb

	Fixed crash when breaking all links when pins are split pins with an array type
	#jira UE-31919

Change 3046755 on 2016/07/12 by Ben.Cosh

	This improves handling of inherited functions and events in the blueprint profiler and adds the concept of class scope to the instrumented signals.
	#Jira UE-32873 - Crash profiling blueprint that has a child blueprint with an instance in the level
	#Proj BlueprintProfiler, Kismet

	- Renamed EScriptInstrumentationEvent to EScriptInstrumentationSignal for improved clarity
	- Minor tidy up/refactor in EScriptInstrumentationSignal, moved some of the code to scripcore.cpp for visibility of other object types and exported it under COREUOBJECT_API.
	- Added class scope tracking to capture context and EScriptInstrumentationSignal so we can emit signals when the scope changes.
	- Modified LatentActionManager to implement new EScriptInstrumentationSignal interfaces.
	- Added code in the blueprint profiler to create sub class contexts when a class scope switch is emitted.
	- Added option in the blueprint profiler toolbar to hide.show inherited events
	- Removed the code for expand all option from the blueprint profiler toolbar and ExecutionStatDisplay
	- Modified the node colors to use preferences where applicable and added new code to discover graphnode flags before exec node creation
	- Added Scoped function name and event name calls to FBlueprintExecutionContext and FBlueprintFunctionContext
	- Modified the compiler module to rebuild inherited classes with instumentation when a child is built.

Change 3047035 on 2016/07/12 by Ben.Cosh

	This adds some functionality to correctly map nested tunnels and macro's in the blueprint compiler so that correct source nodes and tunnels can be identified from the blueprint debug data.
	#Jira UE-33114 - The blueprint compiler fails to create correct debug information for nested macros
	#Proj BlueprintGraph, KismetCompiler, UnrealEd, Engine

	- Modified FEdGraphUtilities::MergeChildrenGraphsIn to optionally create boundary nodes when recursively merging graphs, this is only active during instrumented blueprint compilation and will be refactored later as a more general solution.
	- Modified UK2Node_TunnelBoundary to find source node guids for the current graph and cache them away for use in the VM backend
	- Modified UK2Node_TunnelBoundary to locate the source tunnel instance (Macro or Composite Node) and cache away for use in the VM backend.
	- Removed some potentially problematic checks added into the KismetCompiler before 4.13 branch to avoid fallout, these will be added back in with care later.
	- Added some extra data into the CompilerResults log to make the above work and not get stomped on by recursive macro node injection, again will be refactored out later.

Change 3047206 on 2016/07/12 by Ben.Cosh

	This updates the blueprint profiler to make use of the new boundary node code to get the nested tunnel stats working.
	#Jira UE-32863 - Timings inside nested tunnels are still not working 100%
	#Proj BlueprintProfiler

	- This should be the final piece bar a few minor issues. Updated the macro/tunnel mapping code and the event processing to make use of the new tunnel data brought in with CL 3047035
	- Still a problem that needs to be looked at regarding tracepaths in the widgets and tunnels, it might actually be more general than that but I don't think it's a huge concern/will be difficult to fix

Change 3047468 on 2016/07/13 by Phillip.Kavan

	[UE-32254] Add a normalized heatmap view mode to the Blueprint profiler.

	change summary:
	- added EBlueprintProfilerHeatLevelMetricsType and changed EBlueprintProfilerHeatMapDisplayMode to an enum class
	- renamed GetNodeHeat*() methods to GetExclusiveHeat*()
	- added UBlueprintProfilerSettings and relocated heat map display settings from IBlueprintProfilerInterface/FBlueprintProfiler
	- changed access to heat map display settings to route through UBlueprintProfilerSettings instead of FBlueprintProfiler
	- modified UEditorExperimentalSettings::PostEditChangeProperty() to remove calls to set static heat level threshold limits; this is being handled elsewhere
	- modified FBlueprintProfiler ctor to remove calls to set static heat level threshold limits; this is now being handled elsewhere
	- modified SBlueprintProfilerToolbar to include a toggle switch for heat level metrics type; user ability to customize threshold settings is now tied to the toggle switch
	- added IBlueprintProfilerInterface::GetProfilerDataForBlueprint() API and implementation in FBlueprintProfiler
	- modified FScriptPerfData to include fields for caching calculated heat level values (now returned by the Get*() accessor methods, rather than calculating on each access)
	- added FScriptHeatLevelMetrics struct
	- added FScriptPerfData::SetHeatLevels()
	- added FScriptExecutionNode::CalculateHeatLevelStats()
	- added FScriptExecutionBlueprint::UpdateHeatLevelMetrics(), now being called from FScriptExecutionBlueprint::RefreshStats() to update heat level thresholds based on user-selected type
	- now calling CalculateHeatLevelStats() on BP/instance exec nodes as part of FScriptExecutionBlueprint::RefreshStats() (i.e. heat levels are now precalculated and cached after updating stats)
	- modified SGraphNodeK2Base::GetNodeIndicatorOverlayColor() to calculate the appropriate heat levels for the local aggregated PerfNode based on the current toggle switch setting (relative or custom)

	#jira UE-32254

Change 3047513 on 2016/07/13 by Phillip.Kavan

	[UE-32254] Fix code merge oversight causing compile error.

	#jira UE-32254

Change 3048638 on 2016/07/13 by Phillip.Kavan

	[UE-33131] Fix crash when compiling a Blueprint with multiple event graphs with instrumentation enabled.

	change summary:
	- added FBlueprintEditorUtils::IsEventGraph()
	- modified FBlueprintExecutionContext::MapBlueprintExecution() to avoid stomping the ubergraph entry
	- modified FBlueprintExecutionContext::GetFunctionNameFromGraph() to map secondary event graphs to the ubergraph function name
	- modified FBlueprintExecutionContext::GetScopedFunctionNameFromGraph() to map secondary event graphs to the ubergraph function name

	notes:
	- will also address UE-33133

	#jira UE-33131

Change 3048796 on 2016/07/13 by Maciej.Mroz

	FAnimNode_BlendListByBool constructor works the same way both  in runtime and in editor.

	It is necessary for BP->C++ converter. To reduce size of code construction, a diff between a "default" structure instance is used (so the default instance must be the same in runtime).

Change 3048797 on 2016/07/13 by Ryan.Rauschkolb

	Fixed issue where output nodes sometimes weren't being created when collapsing nodes to macros
	#jira UE-33124

Change 3048805 on 2016/07/13 by Maciej.Mroz

	#jira UE-32942 BP Nativization: Reduce the size of executable files

	Reduce size of struct construction.
	While generating code, structures are diff with default instances.
	FLatentActionInfo and FBodyInstance are handled in a special way.

Change 3048988 on 2016/07/13 by Ben.Cosh

	Some fixes to the pure node stat code to start to adress asserts recently introduced and re-enable the profiler widgets for pure nodes.
	#Jira UE-33141 - Crash processing pure nodes in the blueprint profiler
	#Proj BlueprintProfiler, Kismet

	- Part 1 of these changes, this addresses standard pure node asserts in the profiler.
	- The second part which is underway will address problems inside macro and tunnel instances.

Change 3050027 on 2016/07/14 by Ben.Cosh

	This fixes an issue adding instrumentation to blueprints that don't implement events
	#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

	- The profiler made an assumption that a blueprint has an ubergraph function, whicn apparently is incorrect.
	- Removed some stale ubergraph code and added some extra checks when looking up function names.

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 3050275 on 2016/07/14 by Ben.Cosh

	Updating the blueprint profiler connection policy to handle scoped function names and fix the wire heatmaps.
	#Jira UE-33287 - BP Profiler - Enabling wire heatmap crashes editor
	#Proj BlueprintProfiler

Change 3050513 on 2016/07/14 by Ryan.Rauschkolb

	BP Profiler: Distinguish (by name) the top level event and the nested event node in the tree-view
	#jira UE-32293

Change 3050624 on 2016/07/14 by Ben.Cosh

	This switches off some blueprint profiler debug defines checked in errantly in CL 3048988
	#Jira UE-33141 - Crash processing pure nodes in the blueprint profiler
	#Proj Kismet

Change 3052034 on 2016/07/15 by Ben.Cosh

	This fixes some incorrect wording on a UI notification message warning about profiling data not being available because no instances are placed in the current level
	#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 Kismet

Change 3052037 on 2016/07/15 by Mike.Beach

	To maintain functionality, and address fallout from CL 3041603 - removing a callback that was previously never used (not until CL 3041603). If a Blueprint graph is read-only, that is not enough to block us from editing properties when inside that graph (think interfaces, math experssion graphs, etc.).

	#jira UE-33330

Change 3052271 on 2016/07/15 by Ryan.Rauschkolb

	BP Profiler: Added persistence for display settings
	#jira UE-32929

Change 3052416 on 2016/07/15 by Ben.Cosh

	This change adds new functionality to map pure links through tunnel boundaries and fixes some asserts caused by missing profiler nodes.
	#Jira UE-33254 - Crash processing pure nodes on tunnel boundaries
	#Proj BlueprintProfiler, Kismet

	- Added map through tunnel functionality for pure nodes
	- Added some code to patch in pure exec nodes to the tunnel calling context, this is to support pure nodes wired to tunnel pure pins which are mapped by the tunnel but really in the calling function.
	- Changed the way simple tunnel entry nodes create child widgets to get rid of a visual error.
	- Changed the blueprint compiler to use the updated true source nodes when registering pure ranges for impure nodes.

Change 3052791 on 2016/07/16 by Ben.Cosh

	Fix for the internal function appearance for profiler stats, it was failing to display function inner stats.
	#Jira UE-33085 - BP Profiler - Internal function not listed nor heatmapped
	#Proj BlueprintProfiler

Change 3052794 on 2016/07/16 by Ben.Cosh

	This fixes function return stats to be colored correctly in the blueprint profiler
	#Jira UE-32635 - BP Profiler: Pure node chains wired to a result node in a function graph don't appear in the profiler view.
	#Proj BlueprintProfiler

Change 3052957 on 2016/07/17 by Ben.Cosh

	Removing Sample Bias settings and the ability to disable pure node times in the blueprint profiler
	#Jira UE-32260 - BP Profiler: Remove "Pure Timings" option from profiler window
	#Jira UE-33366 - BP Profiler: Remove "Recent Sample Bias" options from profiler window
	#Proj BlueprintProfiler, Kismet, UnrealEd

Change 3052964 on 2016/07/17 by Ben.Cosh

	Renaming exclusive timings internally inside the blueprint profiler.
	#Jira UE-32264 - BP Profiler: Clarify and polish language used in the profiler settings
	#Proj GraphEditor, Kismet, UnrealEd, BlueprintProfiler

	- Doesn't resolve UE-32264, its more of a supporting change
	- Refactoring node exclusive API naming conventions to reflect the decision to go with average.

Change 3052979 on 2016/07/17 by Ben.Cosh

	This fixes problems with sequence and tunnel instances with sequences inside them showing extra samples in the blueprint profiler
	#Jira UE-33365 - Tunnel instances with sequence nodes wired to the tunnel exit show extra samples
	#Jira UE-32271 - Sequence node stats are recording a sample for every output pin.
	#Proj BlueprintProfiler, Kismet

	- Added SampleBase so the perfdata can account for re-entrant samples.
	- Fixed sequence node re-entrant/sample count stats
	- Added a second number format for times and made times work and display in Millisecs rather than seconds.
	- Added trace histories for the tunnel entry/exit sites.

Change 3052986 on 2016/07/17 by Ben.Cosh

	This updates support for heatwires in the blueprint profiler connection drawing policy to support changes in the tunnel mapping.
	#Jia UE-30591 - Profiler Heatwires fail at times around macro nodes
	#Jira UE-33309 - FlipFlop node breaks hottest path wire heatmap
	#Proj BlueprintProfiler

Change 3053027 on 2016/07/17 by Ben.Cosh

	Fix for some missing pure node entries that were causing and assert in certain blueprints when profiling.
	#Jira UE-30106 - Compiling QA_PhysVelocitySettleTest with the blueprint profiler results in a crash/assert
	#Proj BlueprintProfiler, Kismet

	- Fixes to the way we gather tunnel instance pure nodes and the way we patch them into calling function contexts.

Change 3053886 on 2016/07/18 by Maciej.Mroz

	#jira UE-33389 Error Event node K2.. is out-of-date. Please refresh it. from Source: /Game/Maps/Menu/CharacterScreen..

	Class- and asset-types are listed in UEdGraphSchema_K2::GetVariableTypeTree.

Change 3053904 on 2016/07/18 by Ben.Cosh

	This fixes an issue found when mapping nested tunnels in the blueprint profiler that caused them to display incorrectly.
	#Jira UE-33399 - Nested tunnels do not display correctly, the exit sites are displayed incorrectly.
	#Proj BlueprintProfiler, Kismet

	- A minor update to the exit site mapping of tunnels to avoid the issue.

Change 3053920 on 2016/07/18 by Ben.Cosh

	Disabling the heat display for the max time column in the blueprint profiler.
	#Jira UE-32290 - BP Profiler: Max time column should not be colored (it's too noisy)
	#Proj Kismet

Change 3053985 on 2016/07/18 by Maciej.Mroz

	#jira UE-33035, UE-32951

	BP Nativization:
	- Dependencies for UserDefinedStruct default values
	- Fixed array of class declaration.

Change 3054266 on 2016/07/18 by Ben.Cosh

	Missed something in CL 3053904 that caused the tunnel exit mapping to cause asserts. This just corrects the oversight ( bad check )
	#Jira UE-33399 - Nested tunnels do not display correctly, the exit sites are displayed incorrectly.
	#Proj BlueprintProfiler

Change 3054357 on 2016/07/18 by Phillip.Kavan

	BP Profiler - misc. UI polish

	change summary:
	- stat columns are now right-justified; stats centered vertically within cells; samples column is centered
	- darkened the profiler view's content area a bit to help hotspot stats stand out a bit better
	- made it so that the columns will stretch to fill the content area when the BP editor window is maximized
	- exec node name column text now remains white when selected (to be consistent w/ stat text)
	- desaturated the tree view highlight to work better w/ the darker content area and light stat/name text

Change 3054504 on 2016/07/18 by Ben.Cosh

	Removing the hottest endpoint profiler wire option from the blueprint profiler.
	#Jira UE-32258 - BP Profiler: Remove "Hottest Endpoints" wire heatmap visualization
	#Proj BlueprintProfiler, Kismet

Change 3055145 on 2016/07/19 by Maciej.Mroz

	Fixed a missing header problem when "bDontNativizeDataOnlyBP=false"

Change 3055187 on 2016/07/19 by Maciej.Mroz

	#jira UE-28448 Ensure occurs dragging a level from Levels window into Blueprint event graph

Change 3055366 on 2016/07/19 by Maciej.Mroz

	#jira UE-30063 Compiling specific blueprints in user projects cause editor to freeze and become unresponsive

	Fixed FBlueprintEditorUtils::GetDependentBlueprints. BP is not dependent on itself.

Change 3055415 on 2016/07/19 by Ben.Cosh

	Fixing up some average timing namings that regressed/were missed to exclusive.
	#Jira  UE-32264 - BP Profiler: Clarify and polish language used in the profiler settings
	#Proj BlueprintProfiler, GraphEditor, Kismet

Change 3055708 on 2016/07/19 by Phillip.Kavan

	[UE-32929] BP profiler tool - display/threshold options are now being saved.

	change summary:
	- added properties for stat display options to BP profiler settings.
	- moved custom threshold values from experimental editor settings to BP profiler settings object.
	- removed BP profiler settings accessor methods in favor of a direct get/set (to be consistent w/ other usages).
	- modified FBlueprintProfilerStatOptions ctor to sync display option flags w/ BP profiler settings (from config).
	- modified FBlueprintProfilerStatOptions::OnChecked() to sync BP profiler settings w/ display option flags (to config).
	- consolidated custom heat threshold value get/set UI delegate methods + added internal ECustomPerformanceThreshold type.
	- added global defaults for custom heat thresholds to BP profiler settings; these are currently being used to determine whether or not to show the "reset to default" button in the UI (previously was mirroring hard-coded values in the delegate methods).

	#jira UE-32929

Change 3055801 on 2016/07/19 by Mike.Beach

	Reverting a SButton change from WEX merge, as it caused noticable problems when repeatedly clicking certain buttons in the editor.

	#jira UE-33328

Change 3056088 on 2016/07/19 by Ben.Cosh

	This is a general update on the stat calculations for blueprint to bring them into line with recent changes. ( and fix them )
	#Jira UE-30957 - "Pure Time" does not populate with data in the Blueprint Profiler
	#Jira UE-33451 - Stats issues with Sequence nodes
	#Jira UE-33105 - Stats issues with Sequence nodes
	#Proj BlueprintProfiler, Kismet

	- Did a pass through tunnel stats and got them working in the non instance view
	- Made tunnel stats inclusive rather than average and updated the code a little ( set average as 0.0, so the samples work but with no discrete timings )
	- Fixed complex tunnel widget generation ( it was missig the input pin links )
	- Fixed simple tunnel widget generation
	- Moved pure chain exec nodes over to being FScriptExecutionPureNode's
	- Fixed blueprint pure timings
	- Renamed the BaseSample in the scriptperfdata to SampleFrequency ( I couldn't think of a good name the other day )
	- Fixed a couple of issues I introduced into the FScriptPerfData updates that blocked blueprint stat updates working.
	- Made average stats always show when samples are present.

Change 3056373 on 2016/07/19 by Maciej.Mroz

	#jira UE-33464 Several Fornite assets fail to compile, Custom events out-of-date, array inputs must have input wired into them

Change 3057320 on 2016/07/20 by Maciej.Mroz

	#jira UE-32305 Trying to compile a complex blueprint that has been upgraded from an older version of the engine could cause a stack overflow

	FArchiveReplaceObjectRef works without recursion (it caused Stack overflow for very big BP).

Change 3057341 on 2016/07/20 by Maciej.Mroz

	#jira UE-33474 QAGame fails to package with Nativization - UMG_AllPaletteWidgets fails to compile after conversion

Change 3057448 on 2016/07/20 by Maciej.Mroz

	#jira UE-28941 Contains node giving incorrect result with literal Enum

	Any literal, passed as parameter to any Custom Thunk function, will have a proper type.

Change 3057764 on 2016/07/20 by Ben.Cosh

	This fixes a problem with the blueprint profiler mapping actor instances created at runtime to fail mapping and assert.
	#Jira UE-33444 - Crash spawning a new instance of a blueprint with a delay node attached to BeginPlay at runtime while profiling that blueprint
	#Proj BlueprintProfiler

[CL 3058256 by Mike Beach in Main branch]
2016-07-20 15:38:03 -04:00
Mike Beach
02ac030a91 Copying //UE4/Dev-Blueprints to Dev-Main (//UE4/Dev-Main)
#lockdown Nick.Penwarden

==========================
MAJOR FEATURES + CHANGES
==========================

Change 2865817 on 2016/02/12 by Mike.Beach

	Handling deferred (cyclic) dependency issues that arrise from imports not found within the linker's ImportMap (imports loaded from config files and UProperty::ImportText).

	#jira UE-26756
	#codereview Robert.Manuszewski

Change 2866282 on 2016/02/13 by Maciej.Mroz

	Blueprint C++ Conversion:
	- Added CustomDynamicClassInitialization meta data and function
	- References to other converted fields are gathered before CDO is created (it solves many dependencies)

	#codereview Robert.Manuszewski

Change 2867921 on 2016/02/15 by Mike.Beach

	Fixing (CIS error) typo - Accidently assigning uninitialized variable to itself.

Change 2867970 on 2016/02/15 by Mike.Beach

	Removing "static" keyword on template specializations (CIS error).

Change 2868401 on 2016/02/16 by Maciej.Mroz

	TBaseStructure for more noexport structures

Change 2868404 on 2016/02/16 by Maciej.Mroz

	Blueprint C++ Conversion:
	- Fixed some issues related to NOEXPORT structures
	- Added  FEmitDefaultValueHelper::SpecialStructureConstructor

Change 2868461 on 2016/02/16 by Maciej.Mroz

	Blueprint C++ Conversion:
	- Fixed component initialization in actors, based on a DynamicClass

Change 2868481 on 2016/02/16 by Maciej.Mroz

	Blueprint C++ Conversion: (Work in progress.)
	In BPGC templates cor SCS components are owned by the class. In DynamicClass the templates are owned by CDO. It requires to update the import path, when a component template is referenced by an extern object.

	#codereview Robert.Manuszewski, Dan.Oconnor

Change 2868769 on 2016/02/16 by Maciej.Mroz

	Improved parsing for multi-parameter AutoCreateRefTerm meta data

Change 2870310 on 2016/02/17 by Ben.Cosh

	Incremental refactor and update for the blueprint profiler.

	- Shuffled files around and renamed to make the layout more informational
	- Added profiler capture and playback contexts
	- Added blueprint and function contexts, this enables rapid stat discards in situations such as blueprint compilation.
	- Moved the blueprint execution mapping out of the profiler and into the blueprint contexts
	- Refactored the event playback so it processes with one event at a time.

	#CodeReview Phillip.Kavan

Change 2870386 on 2016/02/17 by Maciej.Mroz

	Improved  UProperty::ExportCppDeclaration - Const reference to a pointer should be: "Type* const &" , not "const Type* &".

	#codereview Steve.Robb

Change 2870686 on 2016/02/17 by Nick.Whiting

	Engine changes needed for Bullet Train compatibility:
	- Adding BP-exposed GetClosestBone function, with ability to optionally filter only bones associated with physics assets
	- Exposing GetRemoteRole to BPs

Change 2871419 on 2016/02/17 by Mike.Beach

	Fixing CIS incude error.

	#codereview Ben.Cosh

Change 2872190 on 2016/02/18 by Mike.Beach

	Another CIS fix - forward declaring a class that wasn't included.

	#codereview Ben.Cosh

Change 2872285 on 2016/02/18 by Maciej.Mroz

	added bDontNativizeDataOnlyBP in Editor.ini

Change 2872826 on 2016/02/18 by Ben.Cosh

	CIS fixes for mac builds

	#codereview Dan.Oconnor, Mike.Beach

Change 2874284 on 2016/02/19 by Mike.Beach

	Supporting nested struct properties that are filled out through text imports during deferred dependency loading.

	#codereview Robert.Manuszewski

Change 2874299 on 2016/02/19 by Mike.Beach

	CIS fix - macro typo in non-debug build.

Change 2875571 on 2016/02/22 by Maciej.Mroz

	Blueprint C++ Conversion:
	Fixed generated FCompiledInDeferStruct instance for nativized structs. It has a proper overriden name.

Change 2875574 on 2016/02/22 by Maciej.Mroz

	Blueprint C++ Conversion:
	Class type of unconverted asset is not replaced in import map while cooking.

Change 2875741 on 2016/02/22 by Michael.Schoell

	Array Item Get nodes now return by-ref.

	All use cases of the node, as well as use cases of ForEachLoop and ForEachLoopWithBreaks, have been updated to use a Copy node on the output to maintain any existing functionality.

[CL 2884111 by Mike Beach in Main branch]
2016-02-26 16:58:26 -05:00