Commit Graph

19 Commits

Author SHA1 Message Date
Ben Marsh
111ec7adc5 Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3314870)
#lockdown Nick.Penwarden

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

Change 3284872 on 2017/02/03 by Graeme.Thornton

	Seperate pak cache granularity from pak signing chunk size

Change 3285765 on 2017/02/03 by Graeme.Thornton

	Fix stats warnings because each slate new loading screen thread has the same stat name, but is assigned to a different thread

	#jira UE-41478

Change 3286913 on 2017/02/04 by Ben.Marsh

	IncludeTool: Merging fixes.

	* Don't remove existing forward declarations unless explicitly instructed to do so. Files are optimized with these declarations in place, so removing them can cause output files to fail to build. It can be a useful separate step though, so expose it as a command-line option instead.
	* Add a specific option for which files should be output by the tool. Any files which are excluded from this list are treated specially when generating output files, so as to prevent them from causing files to be omitted from other files that include them. Also add an option to force this mode for all headers, for use when testing formatting/include path generation.

Change 3287100 on 2017/02/05 by Ben.Marsh

	UBT: Move platform settings into platform-specific TargetRules objects.

Change 3287106 on 2017/02/05 by Ben.Marsh

	Merge UEBuildPlatformContext into UEBuildPlatform. Now that targets can have platform-specific settings, there is no need to separate a platform class which contains target-specific information.

Change 3287398 on 2017/02/06 by Steve.Robb

	Fix for UHT failing when -WarningsAsErrors and -Verbose are specified together.

Change 3287399 on 2017/02/06 by Steve.Robb

	Log verbosities made more readable in the debugger.

Change 3287410 on 2017/02/06 by Steve.Robb

	Fix for TStructOpsTypeTraits where WithCopy gives a different result between specializing the traits and not providing WithCopy and not specializing the traits at all.

	#fyi marc.audy

Change 3288020 on 2017/02/06 by Ben.Marsh

	Prevent forward declaration of the ITextData class. We need to include the header for the debugger visualizers to work correctly.

Change 3291817 on 2017/02/08 by Steve.Robb

	New EBlueprintCompileReinstancerFlags used to construct FBlueprintCompileReinstancer, instead of lots of bools.

Change 3292090 on 2017/02/08 by Graeme.Thornton

	Crash fix - don't update font engine services if it was never created

	#jira UE-33953

Change 3292993 on 2017/02/08 by Ben.Marsh

	Add an option to disable force-including PCHs for files in the non-unity working set. (bAdaptiveUnityDisablesPCH)

Change 3293231 on 2017/02/08 by Ben.Marsh

	BuildGraph: Allow overriding the changelist that a badge should be displayed for (with the Change="" attribute on the Badge declaration in XML), so the code changelist can be used if necessary. Also link to the failed step if only one has failed.

Change 3294213 on 2017/02/09 by Ben.Marsh

	EC: Allow setting a property on frequent CI jobs that allows us to exclude it from job searches for generating the dashboard. Filtering on the client side is causing dashboard pages to be almost empty.

Change 3294753 on 2017/02/09 by Ben.Zeigler

	#jira UE-41151 Fix UObjectLibrary::RemoveObject to remove from the correct array, and add comment mentioning that the dynamic use of Object Library is semi-deprecated

Change 3296070 on 2017/02/09 by Ben.Zeigler

	Explicitly turn off Copy for a struct that has a linked list internally. I think turning Copy on by default for all non POD Types is pretty risky and is likely to crash for other games. In this case it was being copied for network replication, and it didn't have one defined so the default C++ one copied the linked list and crashed on destruction.

Change 3296420 on 2017/02/10 by Graeme.Thornton

	Remove remaining references to AES_KEY, instead using the encryption key delegates to access the key where needed
	Refactored encryption and signing key access in unrealpak to make it easier to use

Change 3296609 on 2017/02/10 by Ben.Marsh

	BuildGraph: Fix error running the <Copy> task with an empty "From" argument.

	* FileSystemReference.IsUnderDirectory() was not correctly handling cases where the directory was a root directory (and has to end in a path separator)
	* FilePattern.AsDirectoryReference() with an empty token would append a path separator to an empty string, resulting in it referencing the root directory rather than the given base directory.

Change 3297440 on 2017/02/10 by Ben.Marsh

	UBT: Move the FileFilter class into UnrealBuildTool.

Change 3297725 on 2017/02/10 by Ben.Zeigler

	#jira UE-39199 Fix issue with enum value redirects using the wrong short or long name, it now fully supports both.
	Clean up a lot of confusingly named and broken functions on UEnum:
	#jira UE-41348 Deprecate FindEnumIndex, GetEnum, GetEnumName, replace with GetIndexByName, GetNameByIndex, and GetNameStringByIndex and clean up warnings
	#jira UE-38187 Deprecate GetDisplayNameText and GetEnumText, replaced both with GetDisplayNameTextAtIndex which is now callable outside the editor and has a better comment
	Deprecate FindEnumRedirects and replace with GetIndexByNameString. Fix code to not check the redirects array 5 times per enum lookup
	Fix GetValueAsString to actually act on a value, not an index. This matches common usage and the function's name
	While fixing deprecation warnings on internal games, fixed dozens of cases where it was using Index functions when it should have been using Value functions
	Delete some now redundant enum editor code and pipe everything through UEnum

Change 3297979 on 2017/02/10 by Ben.Zeigler

	Fix issues parsing Enums that are literally the string "None", which is allowed but leads to some odd behavior

Change 3298299 on 2017/02/10 by Steve.Robb

	TTuple improvements:
	- equality comparable
	- serializable
	- in the correct folder

	2-tuples are specialized to be syntactically compatible with both TPair and TTuple.
	TPair is now an alias for a 2-tuple and is no longer bound to TPairInitializer.

	#fyi robert.manuszewski,ben.marsh

Change 3298460 on 2017/02/11 by Ben.Marsh

	UGS: Set the correct result from running custom tasks.

Change 3298462 on 2017/02/11 by Ben.Marsh

	UBT: Fix some deprecated messages that have the wrong release version, and add a better message for how ModuleRules constructors need to be updated.

Change 3299447 on 2017/02/13 by Graeme.Thornton

	Fix AES and pak signing key embedding for content only projects
	 - Force temp target when any keys are specified by project config

Change 3299649 on 2017/02/13 by Steve.Robb

	PLATFORM_HAS_DEFAULTED_OPERATORS fixed.
	Other obsolete compiler switches removed.

Change 3299787 on 2017/02/13 by Steve.Robb

	IsAbstract() for testing if a reflected native type contains pure virtual functions.  Needed for BP nativization.

	#fyi robert.manuszewski

Change 3300576 on 2017/02/13 by Ben.Marsh

	EC: Add support for starting builds on any agent type. Mapping from agent types to resource pools is stored in an EC property sheet (/Generated/<Stream>/AgentTypes), allowing EC procedures to map it to a resource pool from a parameter.

Change 3300600 on 2017/02/13 by Ben.Marsh

	EC: Add the -ClearHistory argument to UAT run to export BuildGraph settings, to allow running on incremental workspaces.

Change 3300624 on 2017/02/13 by Ben.Marsh

	Switch incremental builds for all streams to start up on the incremental agent.

Change 3302134 on 2017/02/14 by Steve.Robb

	UnrealCodeAnalyzer removed.

	#fyi ben.marsh,robert.manuszewski

Change 3302639 on 2017/02/14 by Ben.Zeigler

	Fix crash cooking odin with default command line
	#jira UE-41952 Delete StealthTeleport map that crashes on load, and update default cook list that gets used if nothing specified

Change 3303002 on 2017/02/14 by Ben.Zeigler

	#jira UE-41061 Fix it so editor only filtering on savepackage is uniformly applied regardless of if it's at package or object level
	#jira UE-41880 Rewrite editor/client/server only filtering logic in SavePackage to fix various bugs. It now does all of the filtering up front, and won't process any filtered objects for imports or exports
	Rename NotForEditorGame to NotAlwaysLoadedForEditorGame and improve comments, this flag says that the asset should be loaded EVEN IF it is editor only, it does not affect loading for normal objects
	Change the non-map cook flags to RF_Public instead of RF_Standalone. Blueprint classes aren't RF_Standalone so were only being cooked before due to an accident of the dependency checker
	Change it so anything with a Transient outer is marked transient at save time. These objects would not save out properly anyway
	Fix it so -cooksinglepackage works properly again and excludes localization and startup packages
	Tested with Fortnite and Odin, Odin works but with lots of warnings with nativization on which I need to investigate

Change 3303084 on 2017/02/14 by Ben.Zeigler

	Attempt to get Nativization and EDL working without warnings

	Change 3305153 on 2017/02/15 by Ben.Zeigler

	Fix Fortnite and Orion cook, I don't understand why this passed my local testing
	Fix the CDO subobject finder to actually return things instead of doing nothing, and fix a shadow variable warning

Change 3305959 on 2017/02/16 by Gil.Gribb

	UE4 - Tweaked out the EDL loader for the switch with benefits to all platforms.

Change 3306159 on 2017/02/16 by Ben.Marsh

	Fix path to target binaries when building non-monolithic in a unique build environment.

Change 3306584 on 2017/02/16 by Steve.Robb

	UEnum internal functions renamed from Index to Value.
	GetValueAsString_Internal() parameter now takes an int64, as is expected for enum values.

	#fyi ben.zeigler

Change 3307836 on 2017/02/16 by Ben.Zeigler

	#jira UE-42055 Load very old redirects in cooked builds. Matinee has no way of resaving redirects, so as long as matinee exists we need to keep them around forever, or fix matinee manually
	Fixes lighting in Infiltrator demo

Change 3307929 on 2017/02/16 by Ben.Zeigler

	#jira UE-42055 Second half of matinee redirector fix

Change 3308840 on 2017/02/17 by Matthew.Griffin

	Reimplementing CL#3305808 from 4.15

		Changed QA label build process so that it only allows version with 3 components (we always add the .0 for initial releases)

Change 3309115 on 2017/02/17 by Ben.Marsh

	Windows: Fix the GetModulesDirectory() function always returning the engine binaries directory. It's possible to build non-monolithic targets which output all engine binaries to the game binaries directory - a requirement to being able to set game-specific defines or build settings, because we don't want shared engine binaries to be tainted with them. The module manager needs to be able to operate early on,  before many of the game settings have been initialized, so just return the directory containing the Core module instead.

Change 3309120 on 2017/02/17 by Ben.Marsh

	Fix support for creating modular builds which don't use the shared build environment.

Change 3309125 on 2017/02/17 by Ben.Marsh

	Require that -CookDir arguments are specified separately on the command line. '+' is a valid path character (and common in build versions), so we shouldn't treat it as an argument separator.

Change 3309128 on 2017/02/17 by Ben.Marsh

	Fix UnrealPak failures when enumerating all files from a source directory, if that directory happens to contain spaces.

Change 3309131 on 2017/02/17 by Ben.Marsh

	Fix list of discovered assets being cleared by second call to FindFilesRecursive() when building DDC. Disable the -cookdir parameter again.

Change 3309140 on 2017/02/17 by Ben.Marsh

	UAT: Fix exception moving a file from one location to another if the target directory does not exist.

Change 3309212 on 2017/02/17 by Ben.Marsh

	Fixes/improvements for mod editor and code mods:

	* A separate top-level project is generated for each code mod in the Visual Studio solution.
	* Plugin descriptors now have a flag to identify themselves as mod as opposed to a regular game plugin, which prevents project plugins from getting their own VS project. New mods created with the mod editor will have this set by default, as do the three existing sample mods.
	* Cleaning and building code mods will never modify engine binaries. Presence of the Engine/Build/InstalledProjectBuild.txt file is used to indicate running in this environment. This flag also disables options to edit metadata for non-mod plugins in installed builds.
	* Plugin browser now includes a separate category for mods.
	* Mod editor now behaves as an "installed" program by default, and will use the user's home folder for storing settings.

Change 3309231 on 2017/02/17 by Steve.Robb

	Fix for Ar << bSomeBool where Ar is a derived class which overrides an operator<<.

	#jira UE-42052

Change 3309248 on 2017/02/17 by Ben.Marsh

	Add support for hot-reloading game plugin modules from Visual Studio, as long as their module returns IsGameModule() = true.

Change 3309257 on 2017/02/17 by Ben.Marsh

	Prevent game binaries from being renamed for hot reload when working with installed projects.

Change 3309355 on 2017/02/17 by Steven.Hutton

	Changes to make the website compatible with the new database changes.

Change 3309371 on 2017/02/17 by Ben.Marsh

	Fix exception on shutdown when running asset registry with threads disabled.

	#jira UE-41951

Change 3309389 on 2017/02/17 by Ben.Zeigler

	#jira UE-42051 Fix ensure and crash when loading a null asset ID via the LoadAsset BP node

Change 3309570 on 2017/02/17 by Gil.Gribb

	UE4 - Switch load time performace tweaks, plus abstracted the IO tracker and handle manager for other platforms and applied it to the PS4.

Change 3310039 on 2017/02/17 by Ben.Marsh

	BuildGraph: Prevent exception when trying to delete a file that does not exist.

Change 3311484 on 2017/02/20 by Chris.Wood

	CrashReportProcess crash add retry logic improvements (CRP v1.2.16)

Change 3311600 on 2017/02/20 by Matthew.Griffin

	Updated StripSymbols functions so that all platforms can deal with the source and target file being the same

Change 3311675 on 2017/02/20 by Steve.Robb

	FNativeClassHeaderGenerator::CurrentSourceFile stack replaced with C++ stack.

Change 3311893 on 2017/02/20 by Ben.Marsh

	UGS: Add support for notifying users if CIS steps fail for content changes. Badges which test content should be listed in the [Notifications] section of the project-specific INI file, through +ContentBadges= lines.

Change 3313966 on 2017/02/21 by Ben.Marsh

	Fix EC parsing of error messages output by the editor in the form "LogXYZ:Error:". Greedy optional subexpression in regex was matching everything until a space, so terminate a colon too.

Change 3314398 on 2017/02/21 by Ben.Zeigler

	#jira UE-42212 Fix shutdown of AnimGraph module to be safer

[CL 3315211 by Ben Marsh in Main branch]
2017-02-21 15:51:42 -05:00
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
5f72049a23 Copying //UE4/Dev-Blueprints to //UE4/Dev-Main (Source: //UE4/Dev-Blueprints @ 3080732)
#lockdown Nick.Penwarden
#rb none

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

Change 3058607 on 2016/07/20 by Mike.Beach

	Preventing a uneeded FStructOnScope allocation from happening - was causing issues with the memstomp allocator (internally, FStructOnScope was allocating mem of zero size and then asserting on the returned pointer).

Change 3059586 on 2016/07/21 by Maciej.Mroz

	Added comments

Change 3061614 on 2016/07/22 by Ben.Cosh

	Fix for a bug in the blueprint profiler tunnel mapping code that caused asserts when internal pure tunnel pins were linked to each other as pass thru.
	#Jira UE-33654 - Editor crash on compilation when feeding impure data to macros implemented via blueprint while profiling is enabled
	#Jira UE-33138 - BP Profiler: crash when trying to set child actor in profiler
	#Proj BlueprintProfiler

Change 3061686 on 2016/07/22 by Mike.Beach

	Keeping cyclically dependent Blueprints from infinitely trying to recompile each other, when both have an unrelated error that will not be resolved by compiling the other.

Change 3061760 on 2016/07/22 by Ben.Cosh

	Minor refactor of the delegate event code in the profiler to fix some stubborn issues.
	#Jira UE-33466 - Key events still have problems with recording event stats correctly
	#Proj BlueprintProfiler, Kismet

Change 3061819 on 2016/07/22 by Maciej.Mroz

	#jira UE-26676 Blueprint native events give error when output ref params aren't in a specific order

	Force a overriden function to have the same parameter's order as the original one.

Change 3061854 on 2016/07/22 by Bob.Tellez

	Duplicate CL#3058653 //Fortnite/Main

	#UE4 Now actually removing deprecated pins from non-blueprint graphs. Also MarkPendingKill now happens in UEdGraphNode's BeginDestroy instead of its destructor to ensure supporting code can safely access references to other UObjects.

Change 3062634 on 2016/07/23 by Mike.Beach

	Accounting for EditablePinBase nodes whose UserDefinedPins have the wrong direction assigned to them (we now validate the direction, and expect it to reflect the EdGraphPin's). We already had made this fixup in CustomEvent nodes, but others (like collapsed tunnels, and math expression nodes) needed the fixup as well.

Change 3062926 on 2016/07/25 by Ben.Cosh

	Added functionality to the blueprint compiler to detect local event function calls and handle them better in profiling conditions.
	#Jira UE-32869 - Nodes called after a custom event call do not record stats in the profiler
	#Proj CoreUObject, BlueprintProfiler, UnrealEd, KismetCompiler, BlueprintGraph

	- Added script emitted inline event start/stop calls for inline events so we can pull out and process these events discretely
	- Looked into adding something similar for all events but couldn't find a good place to put it/get it operational so it caught more standard events.

Change 3063406 on 2016/07/25 by Ben.Cosh

	Modifying the execution graph selection highlight coloring.
	#Jira none
	#Proj EditorStyle

Change 3063505 on 2016/07/25 by Ben.Cosh

	The blueprint profiler tunnel mapping was missing a call seek past reroute nodes
	#Jira UE-33670 - Reroute nodes used in 'for' loops break profiler communication
	#Proj BlueprintProfiler

Change 3063508 on 2016/07/25 by Ben.Cosh

	Fixed a minor bug in the stat creation code that reported tunnel pure timings twice.
	#Jira UE-33707 - BP Profiler - Pure nodes internal to macro reported twice in tree view
	#Proj Kismet

Change 3063511 on 2016/07/25 by Ben.Cosh

	Fix for a bug introduced that caused pie instances to mapped twice in the blueprint profiler.
	#Jira UE-33697 - BP Profiler: Extra instance showing up in the tree view
	#Proj BlueprintProfiler

Change 3063627 on 2016/07/25 by Maciej.Mroz

	#jira UE-33027 Crash when implementing interface to child blueprint and then implementing it with parent blueprint

	Removed premature validation.

Change 3064349 on 2016/07/26 by Maciej.Mroz

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

	Enabled and fixed local variables on event graph. Local variable can be only created as return value (so we're sure it doesn't require any resistency between calls.)
	It reduces size of executable file (2MB in Orion.exe dev config).
	It reduces number of member variables in nativized class (local varaibles in functions are not uproperties, so the number of generated of objects decreases).

Change 3064788 on 2016/07/26 by Ryan.Rauschkolb

	Fixed Splitting a Rotation input struct pin results in any previously entered values shifting to a different axis
	#UE-31931

Change 3064828 on 2016/07/26 by Ryan.Rauschkolb

	Removed flag to disable Single Layout Blueprint Editor (no longer experimental feature)
	#jira UE-32038

Change 3064966 on 2016/07/26 by Ryan.Rauschkolb

	Fixed Comment bubbles don't handle widget visibility correctly
	#UE-21278

Change 3068095 on 2016/07/28 by Maciej.Mroz

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

	Private and protected properties have PrivatePropertyOffset (PPO) function in .generated.h. This function allows the nativized code to access the property without using UProperty.
	-It reduces the size of executable file (added by nativized plugin) about 10%. The OrionGame.exe (development config) is 6MB smaller.
	-It reduces the number of FindField function calls and stativ variables in the nativized code.

	List of inaccessible properties (that cannot be accessed using PPO) is logged while cooking (with nativization enabled).

Change 3068122 on 2016/07/28 by Maciej.Mroz

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

	Hardcoded asset paths are split, so string literals can be better reused.
	Added UDynamicClass::FindStructPropertyChecked. It replaces FindFieldChecked<UStructProperty>, without inlining, and implicit FName constructor.

	It reduced the size of OrionGame.exe 1MB.

Change 3068159 on 2016/07/28 by Maciej.Mroz

	#jira UE-32806 GitHub 2569 : Exposed GetComponentByClass to blueprint
	#2569: Exposed GetComponentByClass to blueprint (Contributed by Koderz)

Change 3069715 on 2016/07/29 by Maciej.Mroz

	#jira UE-33460 [CrashReport] UE4Editor_CoreUObject!UObjectPropertyBase::ParseObjectPropertyValue() [propertybaseobject.cpp:237]

	UObjectPropertyBase::ParseObjectPropertyValue won;t crash when property is invalid.
	Property validation in UserDefinedStruct. THe struct is not recompiled on load, so it must be validated after serialization.

Change 3070569 on 2016/07/29 by Bob.Tellez

	Duplicating CL#3070518 from //Fortnite/Main

	#UE4 Deprecated pin removal logic is now exclusively in UEdGraphNode::PostLoad. DeprecatedPinWatches fixup is now done in K2Node::PostLoad.

Change 3071292 on 2016/07/30 by Mike.Beach

	Preventing the Blueprint reinstancer's Function/PropertyMap from being GC'd during compile. This was causing issues where new functions/properties were being allocated in the same pointer location, and UpdateBytecodeReferences() was replacing those references as well (specifically in unrelated class's Children->Next chain, linking in functions/properties that did not belong to that class). This was causing a multitude of problems (mainly bad property offset read/writes and endless field iterator loops).

	#jira UE-29631

Change 3072078 on 2016/08/01 by Maciej.Mroz

	#jira UE-33423, UE-33860

	Removed too strint ensures.
	Fixed FGraphObjectTextFactory - After Custom Event nodes are pased, Skel Class is recompiled, because other pasted nodes may require its signature.

Change 3072166 on 2016/08/01 by Dan.Oconnor

	PR #2589: fix EaseIn / EaseOut descriptions (Contributed by dsine-de)

	#jira UE-32997

Change 3072614 on 2016/08/01 by Mike.Beach

	Fixing an issue where hot-reloading a Blueprint parent class was not reinstancing skeleton CDOs. This caused problems later where the skel class layout didn't reflect the CDO object.

	#jira UE-29613
	#codreview Maciej.Mroz, Phillip.Kavan

Change 3073939 on 2016/08/02 by Dan.Oconnor

	Final fix for function graphs that cannot be deleted (bAllowDeletion erroneously set to false). Issue only manifests with assets created before 4.11, as the original bug was fixed in 2842578
	#jira UE-19062

Change 3075793 on 2016/08/03 by Maciej.Mroz

	#jira UE-30473 Moving child component in child blueprint forces parent to become dirty

	Don't make parent BP package dirty, when a component in child BP was modified.

Change 3076990 on 2016/08/04 by Ben.Cosh

	This fixes issues with mapping tunnel boundary pure nodes and addresses some asserts recently introduced.
	#Jira UE-33691 - Assert when compiling Blueprint with profiler instrumentation
	#Jira UE-33138 - BP Profiler: crash when trying to set child actor in profiler
	#Jira UE-33654 - Editor crash on compilation when feeding impure data to macros implemented via blueprint while profiling is enabled
	#Proj Kismet, BlueprintProfiler, BlueprintGraph

	- Fixed inline event detection ( it was causing function stats to fail, happened across it )
	- Updated pure node lookup to use the entry pin, this was required because pure nodes span function contexts and lookup is a problem in nested tunnels.
	- Updated tunnel pure node code, added a stubbed pure chain early on external pure links add this and it maps at an appropriate time.
	- Changed the way nested tunnels are mapped, now only top level tunnels are gathered mapping the blueprint and these map nested tunnels and register them.
	- Updated pure node stat refreshes and heat level updates ( this was causing a bunch of extra cost with my changes )
	- Fixed an issue with script perf data that caused nan's with no samples.
	- Updated pure node playback to cache pure nodes and avoid a second involved lookup when applying timings.
	- Renamed FScriptExecutionPureNode to FScriptExecutionPureChainNode to better reflect it's updated role.
	- Added extra editor stat collection for checking the cost breakdown of the profiler ( hottest path and heat level calcs now have discreet timings )

Change 3079235 on 2016/08/05 by Phillip.Kavan

	Fix for a bug in pi to pure node lookup functionality that caused pure nodes to be mapped more than once.
	#Jira UE-34254 - Crash compiling blueprint with instrumentation - !ScriptExecNode.IsValid()
	#Proj BlueprintProfiler, Kismet

	- Fixed the code to focus observed pins
	- Fixed event pin mapping code that was failing when linked directly to a tunnel node.

	Note: Submitting on behalf of BenC (per MikeB).

Change 3080417 on 2016/08/08 by Ben.Cosh

	This fixes the way execution path stats are calculated.
	#Jira UE-34150 - Exec pin containers in the profiler are accumulating time incorrectly.
	#Proj Kismet

Change 3080484 on 2016/08/08 by Maciej.Mroz

	#jira UE-28625 Direction of GetOverlapInfos parameter doesn't match

Change 3080571 on 2016/08/08 by Ben.Cosh

	This addresses some flaws in the fix submitted in CL 3080417 that were discovered after submission.
	#Jira UE-34150 - Exec pin containers in the profiler are accumulating time incorrectly.
	#Proj Kismet

[CL 3080751 by Mike Beach in Main branch]
2016-08-08 11:42:16 -04:00
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
4578fc38d7 Copying //UE4/Dev-Blueprints to //UE4/Dev-Main (Source: //UE4/Dev-Blueprints @ 3042808)
#lockdown Nick.Penwarden
#rb none

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

Change 3026763 on 2016/06/24 by Phillip.Kavan

	[UE-32259] Fix missing heat map coloration on pure nodes.

	change summary:
	- modified FScriptExecutionNode::RefreshStats() to ensure that child nodes are updated for 'standard' exec node types.

	#jira UE-32259

Change 3026829 on 2016/06/24 by Mike.Beach

	Mirroring CL 3025832 from Release-4.12

	Guarding GetClassDefault nodes against asserts while loading cyclically dependent content. Regenerating one Blueprint could trigger a ReconstructNode() in a separate Blueprint (that had already been regenerated). However, not all objects in that Blueprint's package have been post-loaded, so object Rename() will assert is you try to reset loaders with it.

	#jira UE-32356

Change 3026888 on 2016/06/24 by Mike.Beach

	PR #2460: Functionality to flag blueprint as abstract (Contributed by Pierdek)

Change 3027245 on 2016/06/24 by Phillip.Kavan

	[UEBP-180] Alternate treatment for Blueprint profiler tree view node expander icon (to differentiate from exec pin icons).

	change summary:
	- added SProfilerStatExpander (from BenC)
	- modified original to replace indicator icons w/ FontAwesome glyphs (they're a bit clearer) - see screenshot attached to JIRA

	#jira UEBP-180

Change 3027279 on 2016/06/24 by Ryan.Rauschkolb

	Fixed issue where unsupported pins could be added to custom Event nodes which can lead to a crash
	#jira UE-31148

Change 3027606 on 2016/06/25 by Dan.Oconnor

	Back out changelist 3027279, this change breaks custom events coupled to multicast delegate nodes (see ProjRocket.uasset in shooter game for an example)

Change 3028731 on 2016/06/27 by Ben.Cosh

	Minor change to the spacing around the new expander icons for the blueprint profiler.
	#Jira UEBP-180 - Pin icons are too similar to the tree expander icons in the node execution graph display.
	#Proj Kismet

Change 3028740 on 2016/06/27 by Ben.Cosh

	This change modifies the way the blueprint profiler detects and maps delegate events that are created at blueprint compile time.
	#Jira UE-32055 - Assert when profiling timelines in the blueprint profiler
	#Proj BlueprintProfiler, KismetCompiler, BlueprintGraph, LiveEditor, Kismet, Engine

Change 3028844 on 2016/06/27 by Maciej.Mroz

	#jira UE-32470 Nativized Orion: Sparrow has no Rentless ability.

	Better way to find Placeholder classes in BlueprintNativeCodeGenModule.

Change 3029573 on 2016/06/27 by Ryan.Rauschkolb

	Fixed issue where Preview Connection would be drawn incorrectly when an input and output pin share the same name
	#jira UE-32211

Change 3030335 on 2016/06/28 by Maciej.Mroz

	#jira UE-30858 Nativized Orion - Some particle effects are not rendering

	List of AssetRegistrySearchable properties, that should be stored for DynamicClasses in moved to .ini file.
	Added SearchDynamicClassCues function in GameplayCueManager.cpp

Change 3030492 on 2016/06/28 by Ben.Cosh

	CIS Mac Build fix

Change 3030494 on 2016/06/28 by Ben.Cosh

	This change reworks the way the blueprint profiler maps latent re-entry points to address problems that could be triggered when multiple re-entries happenned within close proximity.
	#Jira UE-32452 - Blueprint profiler asserts when a second latent entry is triggered
	#Proj BlueprintProfiler, CoreUObject, Engine, Kismet

Change 3030612 on 2016/06/28 by Maciej.Mroz

	typo fixed

Change 3031461 on 2016/06/28 by Dan.Oconnor

	Fixed for crash involving a stale UEdGraphPin after performing an undo/redo operation inolving UEdGraphNode(s)
	#jira UE-32553

Change 3031537 on 2016/06/28 by Ben.Cosh

	Fix for a problem introduced in CL 3030494 and recent graph pin changes that caused problems uniquely naming tunnel entry/exit pins.
	#Jira UE-32578 - Crash when profiling blueprint containing a for-loop
	#Proj BlueprintProfiler

Change 3031556 on 2016/06/28 by Ben.Cosh

	This fixes a problem with the profiler tracking of PIE actor instances adding a mechanism to refresh the actor references when a subsequent PIE session is started.
	#Jira UE-32595 - Running two subsequent PIE sessions with a latent entry point causes an assert.
	#Proj BlueprintProfiler, Kismet

Change 3031588 on 2016/06/28 by Ryan.Rauschkolb

	Fixed issue where unsupported pins could be added to custom Event nodes which can lead to a crash
	#jira UE-31148

Change 3031887 on 2016/06/28 by Dan.Oconnor

	Fix for crash caused by stale pin access in SGraphPin, also fixes 'double opacity' effect when ctrl+dragging off of a macro
	#jira UE-32604

Change 3031932 on 2016/06/28 by Dan.Oconnor

	Fix for major regression in pin value visibility
	#jira UE-32614

Change 3032568 on 2016/06/29 by Phillip.Kavan

	[UE-31681] Ensure that cached component data cache template objects are referenced during garbage collection.

	change summary:
	- modified AActor::AddReferencedObjects() to include CurrentTransactionAnnotation
	- added UChildActorComponent::AddReferencedObjects() to include CachedInstanceData
	- also added FChildActorComponentInstanceData::AddReferencedObjects() to include ComponentInstanceData (just in case some future task happens to trigger a reference gather during its lifetime)

	additional notes:
	- should also resolve UE-32558

	#jira UE-31681

Change 3032998 on 2016/06/29 by Dan.Oconnor

	Fixing shutdown crash after LinkedTo lists are corrupted. An ensure couldn't fire when a node had already been destroyed. UE-32631 tracks the actual ensure.
	#jira UE-32634

Change 3033448 on 2016/06/29 by Ryan.Rauschkolb

	Discard Return Nodes that have no outputs when collapsing to function
	#jira UE-23381

Change 3034407 on 2016/06/30 by Phillip.Kavan

	[UE-32675] Fix no-editor compile issue.

Change 3034691 on 2016/06/30 by Ryan.Rauschkolb

	Fixed issue where Macro nodes with ambiguous links could be collapsed into a function

Change 3034701 on 2016/06/30 by Ryan.Rauschkolb

	Cleaned up UEdGraphSchema_K2::GetVariableTypeTree to use a filter rather than several booleans

Change 3035093 on 2016/06/30 by Maciej.Mroz

	#jira UE-32683 BP_Hero Blueprint failing to compile in Orion - K2Node_CustomEvent_1050 is out of date

	Temporary fix.

Change 3035440 on 2016/07/01 by Maciej.Mroz

	#jira UE-32706 Nativized Orion crash - Cannot find "Root" subobject in ABP_HeroPedestal_C...

	Make sure, the CDO of DynamicClass (and its subobjects) have AsyncLoading flag cleared.

Change 3035442 on 2016/07/01 by Maciej.Mroz

	Added UDynamicClass::FindArchetype

	#jira UE-30667 Ground material in Agora incorrect in Nativized Orion

Change 3036233 on 2016/07/01 by Dan.Oconnor

	Proper handling of null pin references in compiler results logs

Change 3036541 on 2016/07/01 by Dan.Oconnor

	Fix for more assymetry in LinkedTo after undo/redo. This solution addresses both UE-32645 and UE-32553. The key to correct behavior is to explictly detect the case where only one of the two nodes in a peer (LinkedTo) relationship are in the transaction buffer. Added IsObjectTransacting to transaction interface to detect this.
	#jira UE-32645

Change 3036581 on 2016/07/02 by Dan.Oconnor

	Non-editor fix

Change 3036632 on 2016/07/02 by Maciej.Mroz

	Removed too strict check in BlueprintNativeCodeGenModule

Change 3036715 on 2016/07/02 by Maciej.Mroz

	#jira UE-32612 Odin emits a error when nativized - attempting to access a hidden boolean bitfield property

	- Private bitfield can be used as LHS expression in generated code.
	- Refactoring. Introduced ENativizedTermUsage.

Change 3037014 on 2016/07/04 by Maciej.Mroz

	#jira UE-32729 Orion failing to package for PS4 with Nativization

	Make sure that temporary variable used in ternary operator: "context ? context->variable : temp-variable", has exactly the same type as the wanted variable.

Change 3037300 on 2016/07/05 by Maciej.Mroz

	#jira UE-31756 Fixup hardcoded function names in BP=>Cpp backend

Change 3037303 on 2016/07/05 by Maciej.Mroz

	#jira UE-31756
	Nativization - fixed hardcoded string.

Change 3037307 on 2016/07/05 by Maciej.Mroz

	AutomationTool:
	Fixed issue: A nativized client was compiled with both client and server NativizedAssets plugins.

	Paths to nativized BP plugin is stored in a map.

Change 3037712 on 2016/07/05 by Mike.Beach

	Adding a non-const version of MultiFindPointer() for TMultiMap.

Change 3037790 on 2016/07/05 by Mike.Beach

	Fixing a bug where overridden components in Blueprints could load with cleared properties - this could happen in cyclically dependent parent/child Blueprints (where the child's component would be zeroed). In this case, the Blueprint's CDO would be deferred, so to solve this new issue we now defer the Blueprint's sub-object overrides as well.

	#jira UE-32693

Change 3038014 on 2016/07/05 by Ben.Cosh

	Refactor of the blueprint profiler tunnel mapping and playback to address issues blocking MVP
	#Jira UE-32056 - The blueprint profiler can still get hung up with cyclic links in the graph
	#Proj Kismet, BlueprintProfiler, KismetCompiler, BlueprintGraph, UnrealEd

Change 3038533 on 2016/07/05 by Mike.Beach

	PR #2558: Stopping Zoom-to-Fit On User Input (Fixed) (Contributed by MichaelSchoell)

Change 3038608 on 2016/07/05 by Dan.Oconnor

	Fix for crash when altering ConstructObjectFromClass nodes, removed now unused InvalidateAndTrash function from UEdGraphPin, removed subpin leak counter
	#jira FORT-26495

Change 3038770 on 2016/07/05 by Dan.Oconnor

	Hiding  TThreadSingleton<FBlueprintExceptionTracker>::Get() to fix clang for windows link error
	#jira UE-31935

Change 3038841 on 2016/07/05 by Dan.Oconnor

	Simple null check to prevent crash after loading a blueprint to diff. The diff'd blueprint is ending up in other blueprint's DependentBlueprintsToRecompile, for now this is the safest fix
	#jira UE-31115

Change 3039179 on 2016/07/06 by Maciej.Mroz

	#jira UE-31987 Editor crashes when transforming actor after applying instances changes

	Selected (in Level editor) instance components are still selected after they are converted to regular components.

Change 3039216 on 2016/07/06 by Maciej.Mroz

	#jira UE-31767 [CrashReport] UE4Editor_Engine!AActor::GetLevel() [actor.cpp:1663]

	FIxed unsafe code.

Change 3040046 on 2016/07/06 by Ben.Cosh

	This fixes a problem found where tunnel instances inside tunnel graphs fail to map correctly in the blueprint profiler
	#Jira UE-32862 - Tunnel instances inside tunnels do not map correctly in the blueprint profiler
	#Proj BlueprintProfiler

Change 3040061 on 2016/07/06 by Ben.Cosh

	fix for bad unshelve before submit in CL 3040046

	- Phillip already reviewed this version of the file and not what was actually submitted.

Change 3040346 on 2016/07/06 by Maciej.Mroz

	#jira UE-32840 //UE4/Dev-Blueprints: UE4_StaticAnalysis completed with Warnings - 2 Warnings

	Fix(?)  for warning C28182

Change 3040349 on 2016/07/06 by Dan.Oconnor

	Updating test data

Change 3040473 on 2016/07/06 by Dan.Oconnor

	Fix SMyBlueprint in blueprint diff tool so that kismet inspector is updated with the object selected in SMyBlueprint, needed to investigate UE-18200

Change 3040536 on 2016/07/06 by Dan.Oconnor

	Call to APITestFunction

Change 3040565 on 2016/07/06 by Dan.Oconnor

	Clone saved GeneratedClass when not doing COL. Groundwork to fix for UE-17268.

Change 3040603 on 2016/07/06 by Dan.Oconnor

	PR #2539: Option to disable Grid in the blueprint and material editor and change grid colors (Contributed by CelPlays)

	#jira UE-32497

Change 3040798 on 2016/07/07 by Maciej.Mroz

	Fixed warning C6011: Dereferencing NULL pointer 'Object'.
	Added some comments.

	#jira UE-32840

Change 3041185 on 2016/07/07 by Ben.Cosh

	This fixes problems with the blueprint profiler with name collisions for nodes in different graphs and improves nested tunnel detection.
	#Jira UE-32862 - Tunnel instances inside tunnels do not map correctly in the blueprint profiler
	#Jira UE-32889 - Name collisions can now occur in the blueprint profiler for stat nodes.
	#Proj BlueprintProfiler, Kismet

	Notes:

	This attempts to continue to address fall out from CL 3040046 to improve stability.
	Previously execution nodes were patched into the function contexts that called a tunnel instance. However this proved problematic after spotting a rare case where node names collide between
	between event and tunnel graphs and caused havok in the node mapping. This change moves to an approach that patches in tunnel contexts and any dependent contexts and instead attempts
	to locate critical path nodes using a new node search system making use of these child function contexts.

	CL 3040046 also modified TunnelContext's to be actually more representative of a tunnel instance context, I have updated naming conventions to reflect this for clarity.
	The changes here also add a single function context for tunnel graphs which contain the bulk of the nodes in the graph and the tunnel instance contexts reference this and make use of it to create
	non boundary / tunnel instance nodes so they are located in a single place for all instances of that tunnel graph.

Change 3041603 on 2016/07/07 by Dan.Oconnor

	Fix for check failure: PreviousCDO != nullptr, when loading blueprints that have circularly dependent interfaces
	#jira UE-31639

Change 3042058 on 2016/07/07 by Dan.Oconnor

	Ensures that the correct ComponentClass is assigned to our template node. This pins are normally allocated lazilly in BlueprintActionFilterImpl::HasMatchingPin, so not a huge change
	#jira UE-32769

Change 3042468 on 2016/07/08 by Maciej.Mroz

	#jira UE-32882, UE-32887

	Fixed Crash in UHT.
	Fixed "Ambiguous search" error, when delegate has owner class declared.

Change 3042739 on 2016/07/08 by Maciej.Mroz

	Nativization. Included headers for native subobjects.

Change 3042747 on 2016/07/08 by Maciej.Mroz

	Minor changes in Orion code, necessary to compile the project with nativized Blueprints

Change 3042758 on 2016/07/08 by Maciej.Mroz

	"OrionGame.h" is included in NativizedAssets module.

[CL 3043181 by Mike Beach in Main branch]
2016-07-08 14:59:19 -04:00
Mike Beach
24ef33a9fa 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
Matthew Griffin
755f725131 Merging //UE4/Release-4.11 to //UE4/Main (up to CL#2852902)
==========================
MAJOR FEATURES + CHANGES
==========================

Change 2835191 on 2016/01/19 by Nick.Whiting

	Invert the y-axis on the SteamVR controllers to match the convention of the engine and the rest of the gamepads

	#jira UE-22705

Change 2835686 on 2016/01/20 by Gareth.Martin

	Fixed landscape material instances not being updated if holes are painted on a landscape that doesn't have the landscape visibility mask node in the material and then the visibility mask node is added to the material later.
	#jira UE-18187

Change 2835767 on 2016/01/20 by Richard.Hinckley

	#jira UE-25499 Added a cursor to TopDown template (C++ version) to match the BP version.

Change 2835772 on 2016/01/20 by Richard.Hinckley

	#jira UE-25499 Adding the material asset for the C++ TopDown template's cursor.

Change 2835811 on 2016/01/20 by Taizyd.Korambayil

	#jira UE-25699 Added Validity Checks in BP logic, unchecked CDO for Pixel Ship, to Fix Log Warnings
	#jira UE-25704 Adjusted Matinee to happen at Box Location
	#jira UE-25688 Adjusted Player Starts
	#jira UE-25693 Adjusted Player Starts

Change 2835863 on 2016/01/20 by Gareth.Martin

	Fixed crash in the landscape ramp and mirror tools if the streaming level containing the landscape is hidden (or possibly if the landscape actor is deleted)
	#jira UE-24883

Change 2835889 on 2016/01/20 by Taizyd.Korambayil

	#jira UE-25698 Enabled V-sync, also fixed up player Respawn Issue

Change 2835995 on 2016/01/20 by Jamie.Dale

	The output log now hard-wraps lines to prevent long lines causing performance issues

	#jira UE-24187

Change 2836052 on 2016/01/20 by Taizyd.Korambayil

	#jira UE-25675 Added Blocking Volume to prevent Player from Falling off map
	#jira UE-25676 Added Blocking Volumes so that the Player doesn't get stucl at awkward corners under the Bridge

Change 2836137 on 2016/01/20 by Chad.Taylor

	Vehicle and VehicleAdv template content fixes for new VR camera

	#jira UE-25507

Change 2836166 on 2016/01/20 by Gareth.Martin

	Fixed hiding a streaming level containing a landscape causing the landscape editor to switch to the "New Landscape" tool instead of exiting
	#jira UE-25093

Change 2836174 on 2016/01/20 by Chad.Taylor

	IHeadMountedDisplay crash fix associated with accessing a dangling pointer.

	#jira UE-25272

Change 2836179 on 2016/01/20 by Jamie.Dale

	Optimized FShapedGlyphSequence reverse look-up

	There's now a reverse look-up map of cluster indices to their glyph data in order to avoid brute force looping

	#jira UE-24187

Change 2836286 on 2016/01/20 by Chris.Babcock

	Update Qualcomm TextureConverter for OSX
	#jira UE-22092
	#ue4
	#android

Change 2836328 on 2016/01/20 by Nick.Darnell

	Fixing a problem with widget components crashing on destruction with the render commands to pre/post render for window render commands needing access to the policy, but it potentially being deleted.  Inserting a NoOp command that keeps the shared ptr alive through the RHI render process.

	#jira UE-25752

Change 2836342 on 2016/01/20 by Nick.Darnell

	Depending on shutdown order, the Slate Renderer may go away, and then render data handles may not be collected correctly because they are trying to reference a pointer that's no longer valid and cause a crash on exit. The correct approach would be to have render handles actually have a pointer back to who owns them, in this case the RHI Resource Manager, which is still alive and well at this point in the pipeline.  Then if the resource manager is collected, it forces all handles to get cleaned up correctly, or if the handles are collected first, they can be sure they've got a valid pointer back to the resource manager.

	#jira UE-25753

Change 2836358 on 2016/01/20 by Taizyd.Korambayil

	#jira UE-25710 Replaced Deprecated Nodes

Change 2836510 on 2016/01/20 by Taizyd.Korambayil

	#jira UE-25718 Adjsuted BP to make pointer decal rotate in the direction of surface

Change 2836564 on 2016/01/20 by Taizyd.Korambayil

	#jira UE-25716 Added bool to store last Moved Direction

Change 2836697 on 2016/01/20 by Taizyd.Korambayil

	#jira UE-25740 Removed unused VR Nodes to remove Log errors on Mac

Change 2836725 on 2016/01/20 by Peter.Sauerbrei

	workaround for thread race when trying to release the TargetDeviceService endpoint after an unclaim message is sent
	#jira UE-25123

Change 2836782 on 2016/01/20 by Jamie.Dale

	Added FTextLayout::AddLines

	This is similar to AddLine, however it allows you to add multiple lines in a single call, thus avoiding the re-justification cost associated with each call to AddLine.

	AddLine has also been changed to take the same structure type as AddLines (which takes an array of these structures), and the existing version of AddLine has been deprecated.

	#jira UE-24187

Change 2836801 on 2016/01/20 by Jeff.Campeau

[CL 2857187 by Matthew Griffin in Main branch]
2016-02-05 11:54:00 -05:00
Matthew Griffin
bb70b349ce Merging CL 2804086 from //UE4/Release-4.11 to Dev-Main (//UE4/Dev-Main) to isolate copyright update
#lockdown Nick.Penwarden

[CL 2819020 by Matthew Griffin in Main branch]
2016-01-07 08:17:16 -05:00
Jaroslaw Palczynski
9703d22f63 Major HotReload fix.
[CL 2710850 by Jaroslaw Palczynski in Main branch]
2015-09-30 05:26:51 -04:00
Maciej Mroz
22b3cfb286 BP - return node improvements:
- UE-14092 Cannot create a return node with an execution pin only for a function
- UE-7849 Being able to have multiple return nodes for a function
- minor fixes

#codereview Nick.Whiting, Mike.Beach

[CL 2595496 by Maciej Mroz in Main branch]
2015-06-22 11:19:37 -04:00
Mike Beach
1fa11b9410 [UE-16996] Properly removing pin watches for params that are being deleted from a custom event node.
[CL 2586299 by Mike Beach in Main branch]
2015-06-12 16:00:56 -04:00
Michael Schoell
5f3f433198 Can drag and drop pins onto a variety of K2Node_EditablePinBase nodes to add pins to them.
Shifted a lot of pin adding functionality from Blueprint Details customizion to the nodes themselves or BlueprintEditorUtils.

#jira UE-11334 - Dragging a pin to a node that can add pins (function entry/exit, custom events...) should add a pin of the type to the node.

[CL 2497224 by Michael Schoell in Main branch]
2015-03-31 10:32:10 -04:00
Michael Schoell
20e24bb0b0 Copy and pasting custom events that have pins with spaces in their name will no longer create individual pins for each word.
#jira UE-9106 - Copy/pasting a Custom Event that has input names containing spaces will create a Custom Event with extra inputs

[CL 2453417 by Michael Schoell in Main branch]
2015-02-20 12:28:58 -05:00
Ben Marsh
149375b14b Update copyright notices to 2015.
[CL 2379638 by Ben Marsh in Main branch]
2014-12-07 19:09:38 -05:00
Mike Beach
7590976480 [UE-4609] Marking user-defined pins that are removed as pending kill (so that they avoid being flagged by a ReconstructNode error from CL 2238282)
#codereview Maciej.Mroz

[CL 2365385 by Mike Beach in Main branch]
2014-11-19 15:25:50 -05:00
Jaroslaw Palczynski
7c41927cf4 Rename FPostConstructInitializeProperties to something simpler
Changed it with FObjectInitializer.

UECORE-7

[CL 2328384 by Jaroslaw Palczynski in Main branch]
2014-10-14 10:29:11 -04:00
Nick Darnell
11e06b2d55 UMG - Prototype support for single handler event delegates. Fixing a bug with generated binding functions not having pins created as user pins.
[CL 2068592 by Nick Darnell in Main branch]
2014-05-09 16:33:22 -04:00
Tim Sweeney
324683ce78 Engine source (Main branch up to CL 2026164) 2014-03-14 14:13:41 -04:00