Commit Graph

31 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
Matt Kuhlenschmidt
37a47c18d0 Copying //UE4/Dev-Editor to //UE4/Dev-Main (Source: //UE4/Dev-Editor @ 3228984)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================

Change 3168749 on 2016/10/20 by Richard.TalbotWatkin

	Fixed bug in csgRebuild where dynamic brushes from the whole world are rebuilt instead of just those from the current level. csgRebuild is supposed to act only on the current level's geometry.
	#jira UE-37376 - csgRebuild builds dynamic brushes from the whole world, instead of just the current level

Change 3169740 on 2016/10/20 by Nick.Darnell

	Automation - Removing old screenshots, working on new naming convention.

Change 3169796 on 2016/10/20 by Nick.Darnell

	Automation - Adding new screenshots.

Change 3169800 on 2016/10/20 by Nick.Darnell

	Automation - Working on improvements to screenshot comparions, now using the Unique device id instead of adapter name.  Working on better metadata based matching for which screenshot to use, stubbing in support for adding alternative versions of screenshots.

Change 3169901 on 2016/10/20 by Nick.Darnell

	Automation - More fixes / refinements to the way we add alternatives and replace old versions of screenshots.

Change 3169926 on 2016/10/20 by Cody.Albert

	Added extension point for level editor viewport's Show and Camera menus

Change 3170053 on 2016/10/20 by Cody.Albert

	Back out changelist 3169926

Change 3170067 on 2016/10/20 by Cody.Albert

	Added extension point for level editor viewport's Show and Camera menus

Change 3170382 on 2016/10/21 by Michael.Dupuis

	#jira UE-36585 Added Copy/Paste to Material list/item, section list/item to StaticMeshEditor and Persona Editor

Change 3170520 on 2016/10/21 by Alex.Delesky

	#jira UE-36510 - You can now toggle if combo boxes can receive keyboard focus from the Widget Blueprint

Change 3170522 on 2016/10/21 by Alex.Delesky

	#jira UE-33031 - Buttons will no longer remained in a hovered state on mobile devices if the user drags their finger into a button, and then lifts their finger without dragging it outside of the button.

Change 3170524 on 2016/10/21 by Alex.Delesky

	#jira UE-25591 - Static Mesh LODs can now be removed from the editor without a mesh reduction tool like Simplygon configured for use in the editor.

Change 3170530 on 2016/10/21 by Alex.Delesky

	Moved the HasKey method from UMapProperty to FScriptMapHelper, and moved the HasElement property from USetProperty to FScriptSetHelper

	#jira none

Change 3170768 on 2016/10/21 by Cody.Albert

	Back out changelist 3170067

Change 3170795 on 2016/10/21 by Nick.Darnell

	JsonObjectConverter - By default UStructToJsonAttributes now skips transient properties.

Change 3170797 on 2016/10/21 by Nick.Darnell

	Automation - Fixing several warnings dealing with fbx testing.

Change 3170921 on 2016/10/21 by Nick.Darnell

	Automation - Fixing more warnings with FBX tests.

Change 3171109 on 2016/10/21 by Cody.Albert

	Added extension point for level editor viewport Show menu

Change 3171812 on 2016/10/24 by Jamie.Dale

	Back out changelist 3163044

	This broke wrapping for Japanese and Chinese.

Change 3171842 on 2016/10/24 by Michael.Dupuis

	#jira UE-36400
	Name each Parameter uniquely either from copy/paste of any creation menu
	Changed the default value for Scalar and Vector Parameter to 1 and 1,1,1,1
	Added a Promote To Parameter when clicking on an Input pin that will generate proper node type based on type pin type
	When editing a color property update the material expression preview

Change 3171958 on 2016/10/24 by Alex.Delesky

	#jira UE-37444 - The Primitive Stats browser (and other statistics browsers) can now sort columns based on singular objects or object types as well as texture dimensions.

Change 3171969 on 2016/10/24 by Nick.Darnell

	Slate - Adding some code to prevent crashes if bogus user indexes are passed into SlateApplications GetUser functions.

Change 3171970 on 2016/10/24 by Matt.Kuhlenschmidt

	PR #2885: Fixed Stretched Landscape Editor Icons (Contributed by teessider)

Change 3172035 on 2016/10/24 by Alex.Delesky

	Fix to build warning for 3171970

	#jira none

Change 3172078 on 2016/10/24 by Michael.Dupuis

	#jira UE-37626 Fetch property node from property handle if there is no property editor

Change 3172143 on 2016/10/24 by Jamie.Dale

	Line-break iterators will now avoid breaking words in Hangul

	The default behavior for wrapping Hangul is to use Western-style wrapping (where words are kept as-is) rather than East Asian-style (where words are broken by syllables). This behavior can be controlled by the Localization.HangulTextWrappingMethod CVar in-case you were dependant on the old behavior, but since modern Hangul uses spaces, the per-word wrapping is preferred by native speakers.

Change 3172418 on 2016/10/24 by Michael.Dupuis

	Fixed Static Analysis error

Change 3173389 on 2016/10/25 by Michael.Dupuis

	#jira UE-9284 Make the UI appear only on hover and change icons size

Change 3173918 on 2016/10/25 by Alex.Delesky

	#jira UE-37753 - WidgetBlueprints saved without a root widget (e.g., by deleting the starting Canvas panel) will no longer set a Canvas panel as the root widget. New WidgetBlueprints will still contain a Canvas Panel when created.

Change 3173966 on 2016/10/25 by Alex.Delesky

	#jira UE-20891 - SpinBox now receives MouseMove events while simulating touch events using the mouse.

Change 3174847 on 2016/10/26 by Alex.Delesky

	#jira UE-36371 - Windowed Fullscreen will now expand to fit the entirety of the current window and will not be displaced when the Windows taskbar is docked on the top or left sides of the screen.

Change 3174916 on 2016/10/26 by Alexis.Matte

	When re-importing fbx file, always log to the message log.
	#jira UE-37639

Change 3174940 on 2016/10/26 by Alex.Delesky

	Back out changelist 3174847 at request of platforms team. Was fixed on Main.

Change 3174995 on 2016/10/26 by Matt.Kuhlenschmidt

	Import commandlet fixes

	- Fixed crash when source control could not be contacted
	- Fixed assets not importing correctly if they depended on other assets in a previous import group within the automated import

Change 3175217 on 2016/10/26 by Alexis.Matte

	The FBX reimport animation code now return false if there was an error when importing
	#jira UE-37755

Change 3175728 on 2016/10/26 by Alexis.Matte

	Log a message when importing a skeletal mesh with more bone influence then the maximum supported
	#2875
	#jira UE-37613

Change 3177997 on 2016/10/28 by Nick.Darnell

	Editor - Prevent re-entrant calls when EndPlayMap is called.

Change 3178429 on 2016/10/28 by Nick.Darnell

	Engine - Bumping BaseEngine.ini to IOS_8, MinimumiOSVersion, as that is now the minimum allowed to fix an error on startup.  Tweaking the location of where some importing files go when they're imported.

Change 3179774 on 2016/10/31 by Matt.Kuhlenschmidt

	Guard against bad render targets in Slate RHI

	#jira UE-37905

Change 3179900 on 2016/10/31 by Matt.Kuhlenschmidt

	Added logging to track https://jira.it.epicgames.net/browse/UE-37900

	#jira UE-37900

Change 3179920 on 2016/10/31 by Alex.Delesky

	Removing LODs from skeletal meshes is now a transacted action and can be undone. Related to UE-25591.

	#jira none

Change 3179921 on 2016/10/31 by Alex.Delesky

	#jira UE-37725 - Adding safeguard against a potential crash in FTextureEditorViewportClient caused by a texture not having a valid texture resource

Change 3180119 on 2016/10/31 by Alexis.Matte

	fbx importer avoid asset creation name clash
	#jira UE-35100

Change 3181905 on 2016/11/01 by Alexis.Matte

	Paint tool now allow users to paint on any vertex if they need it.
	#jira UE-8372

Change 3182355 on 2016/11/01 by Alexis.Matte

	We now support FBX LODs export for the asset exporter from the content browser.
	#jira UE-35302

Change 3183286 on 2016/11/02 by Alexis.Matte

	Make sure static mesh build settings are set properly when we re-import with different options. Specifically the normals, tangents and tangent space are dependent on the import options.
	#jira UE-37520

Change 3183567 on 2016/11/02 by Shaun.Kime

	#jira UE-38019
	The Content Browser's View Options originally included both Engine and GameProject plugins only when clicking Show Plugin Content. Since there are quite a few Engine plugins, this produces quite a bit of content in the Folders panel. Most of the Engine plugins have classes or content that isn't really meant to be user-facing, so the experience of hunting for a game plugin-in's content is poor.

	The new behavior is that GameProject plugins are controlled by the "View Plugin Content" option. In order to see the Engine plugins you'll need both Engine Content and Plugin Content checkboxes enabled. By default, the editor should enable the "View Plugin Content" checkbox since it should be limited to just the content in the game's Plugins folder.

Change 3184002 on 2016/11/02 by Jamie.Dale

	Fixed crash during TSF IME shutdown

	#jira UE-38073

Change 3185126 on 2016/11/03 by Shaun.Kime

	Some of the plugin templates define Editor specific plugins. If created and a Standalone build is run, the application will attempt to link in editor libraries in game mode and will run into issues when you hit any key. The fix is to specify an Editor module description for these plugins.
	Additionally, there appears to be a mismatch in pathing types when dealing with plugin path and GameDir. Plugin path is absolute and GameDir is relative by default. We check to see if the gameDir is a subset of the plugin path, but this fails due to the mismatch. The fix is to force both to be absolute (enforcing normalization of both paths as well).

	#jira UE-38065
	#jira UE-37645

Change 3185278 on 2016/11/03 by Nick.Darnell

	UMG - Fixing some issues with HDPI mode in the widget designer.

Change 3185355 on 2016/11/03 by Nick.Darnell

	UMG - Widget Component's Draw At Desired size now should also work correctly if it's in screenspace.

Change 3185510 on 2016/11/03 by Nick.Darnell

	UMG - Restoring the ability of the Widget Component to directly recieve hardware input.  The Widget Interaction Component is great for just about every interaction use case - the one it's not is when you actually want the 3D widgets to take focus, and to be able to be typed directly into by the user.  The kind of situation where you might want to use them as a 3D menu, in a non-VR environment.  By default - Widget Components will not behave in this manner, but you can now use the option bReceiveHardwareInput to enable the ability for Widget Components to function more like a widget in the screenspace of the viewport.

	Slate - The scene viewport now correctly takes scale into account when drawing the 'software cursor', this fixes an issue with HDPI mode, and the cursor not being restored to the same location after moving a gizmo.

Change 3185514 on 2016/11/03 by Nick.Darnell

	UMG - Fixing some HDPI mode problems with widget position calculation when projecting world to viewport / screen, absolute spaces.

Change 3185652 on 2016/11/03 by Nick.Darnell

	Slate - Exposing a cached version of the widget geometry that comes in during Tick.  Also performed a bit of optimization work on the class to make some space for the geometry object we now cache, by compacting the pointer event delegates we were storing.

Change 3185952 on 2016/11/03 by Nick.Darnell

	UMG - Fixing another build error relating to local widget geometry.

Change 3185953 on 2016/11/03 by Nick.Darnell

	UMG - Fixing a mac compiler warning.

Change 3186886 on 2016/11/04 by Matt.Kuhlenschmidt

	Fixed collapse all hiding everything in the settings editors

	#jira UE-38151

Change 3187014 on 2016/11/04 by Matt.Kuhlenschmidt

	Fixed new assets opening in a minimized window not restoring that window.

Change 3187026 on 2016/11/04 by Shaun.Kime

	UUnrealEdEngine::edactDeleteSelected calls out to FBlueprintEditorUtils::FindActorsThatReferenceActor. This checks the entire world for each actor to be deleted. When you have tens of thousands of actors  in the world and are deleting tens of thousands of actors, this can take minutes. This change amortizes the cost of finding the actor references once for the world and for each actor to be deleted, we query the cached list of references. This brings the deletion time down to seconds.

	#jira UE-38094

Change 3187073 on 2016/11/04 by Nick.Darnell

	Automation - Changing the code that writes out json to force no BOM as is the json standard.

Change 3187113 on 2016/11/04 by Jamie.Dale

	Removed double look-up in UTextProperty::SerializeItem

Change 3187114 on 2016/11/04 by Jamie.Dale

	Feedback context now uses culture correct percentage formatting

Change 3187273 on 2016/11/04 by Alexis.Matte

	Fbx importer for static mesh, make sure that we order the materials array to follow the section order.
	Add also some fbx automation test
	#jira UE-38242

Change 3187276 on 2016/11/04 by Matt.Kuhlenschmidt

	Fix crash when an actor picker shows up in the struct editor.  Structs do not have root property nodes

	#jira UE-38268

Change 3187463 on 2016/11/04 by Nick.Darnell

	Automation - Updating the blessed screenshots, and fixing the BOM issues with the json.

Change 3188638 on 2016/11/07 by Shaun.Kime

	Making the UI for adding/removing parameters in custom blueprint functions behave similarly to the struct creation dialog in the content browser. There are no longer "New" buttons at the bottom of the panel and the parameter moving controls have been moved onto the main parameter row instead of being nested inside the collapse panel. A tooltip will now let you know the full parameter name and type when you hover over the editable name field. Made the move up/down icons more legible by increasing contrast between the arrow and the light grey background.
	#jira UE-38240

Change 3189056 on 2016/11/07 by Nick.Darnell

	Core/Editor - UObject::IsAsset() now returns false if the outermost package is RF_Transient.  Also updating the creation of the transient package to be RF_Transient.  This makes it so transient packages created by UMG or some other editor for things like previewing a streamed in level instance, no longer show up in the content browser.

Change 3189147 on 2016/11/07 by Jamie.Dale

	Fixed potential race-condition where a UFont object could be GC'd while the loading screen was using the font cache

	This queues up the pending removal until it's safe to execute it (by a thread that fully owns Slate rendering).

	#jira UE-38309

Change 3189344 on 2016/11/07 by Matt.Kuhlenschmidt

	Merging //UE4/Dev-Main to Dev-Editor (//UE4/Dev-Editor)

Change 3189380 on 2016/11/07 by Matt.Kuhlenschmidt

	Guard against null object when creating details panel

Change 3190017 on 2016/11/08 by Alexis.Matte

	FrontX support for scene importer
	#jira UETOOL-1061

Change 3190058 on 2016/11/08 by Matt.Kuhlenschmidt

	Fixed misaligned button in the new blueprint class dialog

Change 3190086 on 2016/11/08 by Nick.Darnell

	UMG - Fixing the calculation for widget componets screen position if the camera aspect is constrained.

Change 3190159 on 2016/11/08 by Nick.Darnell

	UMG - We no longer also take the platform DPI scale into account when applying UMG's UI scale.  Since UMG already provides a DPI scaling system, compounding it with the native OSes produces undesirable results, since the DPI scale curve does not take into account some unknown platform scale set by a user.

Change 3190161 on 2016/11/08 by Nick.Darnell

	UMG - UWidget is now Blueprintable.  Improving some doc.

Change 3190545 on 2016/11/08 by Alexis.Matte

	Support scaling when exporting skeleton (bind pose) to FBX
	#jira UE-36120

Change 3191614 on 2016/11/09 by Simon.Tourangeau

	Fix cooking crash after fbx import of a scene without meshes

	#jira UE-38264

Change 3191659 on 2016/11/09 by Simon.Tourangeau

	Cleanup Persona LOD section button layout

	#jira UE-38339

Change 3191882 on 2016/11/09 by Jamie.Dale

	Changed FBlackboardKeySelector::AddObjectFilter to use MakeUniqueObjectName so it generates more stable names, rather than relying on a static counter.

	Also updated FBlackboardKeySelector::AddClassFilter, FBlackboardKeySelector::AddEnumFilter, and FBlackboardKeySelector::AddNativeEnumFilter to use MakeUniqueObjectName to ensure they don't conflict.

Change 3192092 on 2016/11/09 by Jamie.Dale

	Deleting some test assets that were accidentally checked in, some of which no longer load

Change 3192281 on 2016/11/09 by Alex.Delesky

	#jira UE-31866 - Widget Blueprints will no longer experience compile issues when dragging widgets between the hierarchy views of different Widget Blueprints.

Change 3192365 on 2016/11/09 by Shaun.Kime

	Adding support for MaterialParameterCollections to Slate UI objects. For reasons of Blueprint controls amongst other things, MPC's are owned by individual UWorlds and transferred over to their respective Scenes. Since we want the latest values from those in-UWorld representations, Slate needs to know about the Scene on the render thread to properly map the materials to their MPC inputs. This involved keeping Scene arrays synchronized between the game logic thread and render thread, and adding a Scene index field to each batched draw element in Slate. SceneViewports are now responsible for registering their associated Scenes with the SlateRenderer. Since RetainerBoxes also draw their content as well, they too need to register their Scenes.

	#jira UE-19022

Change 3192494 on 2016/11/09 by Alex.Delesky

	#jira UE-37829 - Dynamically changing an option in the style for an Editable Text Box or Multiline Editable Text Box will now update it correctly.

Change 3193183 on 2016/11/10 by Alexis.Matte

	When doing FBX scene re-import, the new staticmesh asset was not mark as dirty. So the system was not saving the new asset.
	#jira UE-38450

Change 3193419 on 2016/11/10 by Alex.Delesky

	Fixing UnrealTournament build error in SUTChatEditBox

	#jira none

Change 3193456 on 2016/11/10 by Alex.Delesky

	Fix to build warning C6011 in SWidgetHierarchyItem

	#jira none

Change 3193704 on 2016/11/10 by Simon.Tourangeau

	Create Cinematic Camera when importing camera from fbx

	#jira UE-37764

Change 3194593 on 2016/11/11 by Nick.Darnell

	Slate - Fixing the window reshaping logic to avoid work if we don't need to do it, rather than external calls attempting to do the check (poorly).  This appears to fix the problem with popup menus being slightly off in size, creating scrollbars.  This also prevents constant reshaping of windows, due to people performing the wrong checks over and over, because they were comparing against non-truncated or rounded values against truncated/rounded values.

Change 3194595 on 2016/11/11 by Nick.Darnell

	Slate - Simplifying the Menu Anchor popup code for new Windows, and correcting it so that it does not take non-DPI scale into account when calculating the size of the window.  Otherwise, popup menus on say, the blueprint editor change size depending upon the scale of the area.

Change 3194830 on 2016/11/11 by Richard.TalbotWatkin

	Optimized pasting brushes, so geometry is not constantly rebuilt for every brush that's added.  This improves performance by a couple of orders of magnitude!
	#jira UE-38524 - Moving many brushes to another level is very slow

Change 3194859 on 2016/11/11 by Alexis.Matte

	Fix fbx skeletal mesh cleanup material crash
	#jira UE-38525

Change 3195199 on 2016/11/11 by Nick.Darnell

	UMG - Updating the bindable widget searching code in sequencer to use the WidgetTree traversing code, instead of something custom.  This fixes the issue where it wasn't finding widgets inside of named slots.

	#jira UE-38536

Change 3196579 on 2016/11/14 by Matt.Kuhlenschmidt

	Guard against rendering crashes when a mesh with no lod resources is opened.

	#jira UE-38520

Change 3196614 on 2016/11/14 by Nick.Darnell

	Slate - The ignore incoming scale option for the scale box should now behave as expected in more cases.  It required modifying the GetRelativeLayoutScale function to also pass down the prepass scale, otherwise it can't extract out the incoming scale ahead of time before text is measured ahead of time.

Change 3196624 on 2016/11/14 by Matt.Kuhlenschmidt

	PR #2927: UE-38473: Shadow outline color uses shadow color (Contributed by projectgheist)

Change 3196770 on 2016/11/14 by Matt.Kuhlenschmidt

	Ensure instead of crash when updating the selection pivot if a component's actor is not selected (this is non fatal)

	#jira UE-38544

Change 3196863 on 2016/11/14 by Nick.Darnell

	Slate - Allowing font outline settings to be specified in native code when constructing a SlateFontInfo via a ctor.

Change 3196900 on 2016/11/14 by Nick.Darnell

	Slate - Upgrading some cases that were using the older version of GetRelativeLayoutScale.

Change 3196947 on 2016/11/14 by Matt.Kuhlenschmidt

	Guard against crashes in the details panel when an OS message causes the tree to refresh when a previous event has invalidate the contents of the details panel.

	#jira UE-36499, UE-38497

Change 3197028 on 2016/11/14 by Alexis.Matte

	Shift Drag is not moving the camera when the user is dragging the 3 axis in same time.
	#jira UE-38382

Change 3197167 on 2016/11/14 by Matt.Kuhlenschmidt

	Removed pivot updating code per frame for now.  It changes on selection so I cant see a reason why it is needed every frame

Change 3197227 on 2016/11/14 by Nick.Darnell

	UMG/Blueprint - Exposing a way to set the default schema a blueprint editor derivation uses.  Updating all widget blueprints to finally use the WidgetGraphSchema.

Change 3197239 on 2016/11/14 by Nick.Darnell

	UMG - Improving the ReceiveHardwareInput option to limit exposure of widgets to hit testing that did not register for it.

Change 3197538 on 2016/11/14 by Nick.Darnell

	UMG - Making some progress on converting the schema over on load, now appear to correctly be loading it in time to be able to perform node conversions to convert older nodes to newer nodes.  Required changing the UBlueprint interface to have a virtual for upgrading nodes, that could be overriden in WidgetBlueprint to make sure the schemas have all been updated, as Serialize is too early, and PostLoad is too late.

Change 3198211 on 2016/11/15 by Matt.Kuhlenschmidt

	Guard against reimport factories being deleted while in use

	#jira UE-37577

Change 3198589 on 2016/11/15 by Alex.Delesky

	#jira UE-38527 - Curves editors will no longer crash when trying to scale to fit after resetting the curve to its default values. This also fixes an issue where selecting a key before resetting the curve to default would sometimes cause the timestamp to display for a now-invalid key.

Change 3198783 on 2016/11/15 by Nick.Darnell

	The Widget Component's Allow Hardware Input should now correctly convert coordinates coming from a viewport scaled up by the OS DPI scaling code.

Change 3198933 on 2016/11/15 by Jamie.Dale

	Changing the package localization ID used by a package now marks the package as dirty

Change 3198942 on 2016/11/15 by Jamie.Dale

	Clearing the package localization ID used by a package now marks the package as dirty

Change 3200241 on 2016/11/16 by Shaun.Kime

	Now allowing users to customize the Class Browser/Picker to filter out developer folders as well as hide internal use classes via INI settings. A ViewOptions button has been added to allow users to choose whether or not these filters are enabled.
	By default, internal only classes will be hidden and you will be limited to your own developer folder.

	Example change to DefaultEngine.ini or BaseEngine.ini to hide some classes as internal use
	[/Script/ClassViewer.ClassViewerProjectSettings]
	+InternalOnlyPaths=(Path="/Engine/VREditor")
	+InternalOnlyClasses=/Script/VREditor.VREditorBaseUserWidget

	The InternalOnlyPaths example will hide any classes in the VREditor folder or subfolders.
	The InternalOnlyClasses example will hide any classes that derive from VREditorBaseUserWidget.

	Both can be edited by the project settings UI so no manual INI tweaking is required. Please go to Project Settings->Class Viewer->Class Visibility Management

	#jira UE-38313

Change 3200621 on 2016/11/16 by Matt.Kuhlenschmidt

	Adding missing change needed post merge from main

Change 3200968 on 2016/11/16 by Jamie.Dale

	Fixed localization gather including texts that were instanced or otherwise unchanged

	- It now uses the archetype when exporting to diff against the default property value, and will only gather text that has changed from the default.
	- UMG widgets that are instanced from another UMG asset now only gather overridden values, and skip all child instances.

Change 3201033 on 2016/11/16 by Cody.Albert

	Fixed source control to properly notify when files need to be checked out if a blueprint node is dragged

Change 3201829 on 2016/11/17 by Shaun.Kime

	Fixing issue where GEngine is null in early game loading, potentially causing a crash.

Change 3201832 on 2016/11/17 by Matt.Kuhlenschmidt

	Fix build warning

Change 3201835 on 2016/11/17 by Nick.Darnell

	Slate - Making it so explictly focusing a slate user that does not yet exist, creates the slate user so that the state is properly maintained in prepartion for that user's arrival / input.

Change 3201947 on 2016/11/17 by Matt.Kuhlenschmidt

	Fix streaming pause rendering starting a movie if a movie was already playing

Change 3202089 on 2016/11/17 by Nick.Darnell

	Editor - When replacing references, code that was added in 2729702, was allowing redirectors to be created that then might be abandoned and not renamed later if there was a collision on object name.  There's no problem if two objects have the same name, as long as they have different paths (except for classes).  So now the code records object paths in a seperate set, and avoids reprocessing / and creating multiple redirectors for the same objects, instead of just using object name.

Change 3202139 on 2016/11/17 by Jamie.Dale

	Fix for adjusting text spacing when lines are removed from TextLayouts

Change 3202398 on 2016/11/17 by Cody.Albert

	Updated UMG Sequencer to properly fire events once per loop

Change 3202591 on 2016/11/17 by Shaun.Kime

	Fixing coding standards violations.

Change 3202744 on 2016/11/17 by Shaun.Kime

	StaticMeshComponent's OverriddenLightMapRes current displays the value it was set to, even when the bOverrideLightMapRes is false. The behavior within  UStaticMeshComponent::GetLightMapResolution is to use the LightMapResolution on the StaticMesh member instead when bOverrideLightMapRes is false. The UI was adjusted to reflect the more accurate behavior.

	#jira UE-38315

Change 3203009 on 2016/11/17 by Alex.Delesky

	Backing out changelist 3170522 per request

	#jira UE-33031

Change 3204077 on 2016/11/18 by Nick.Darnell

	Automation - Updating several bits of the screenshot automation piece to work a bit better, show names if we have them, and show preview dialogs for images.

Change 3204086 on 2016/11/18 by Jamie.Dale

	Added FGCObjectScopeGuard and TStrongObjectPtr as a convenient way to keep a UObject alive without having to add it to the root-set

	Both use FGCObject internally to reference the object and keep it alive.

	FGCObjectScopeGuard is designed to be lean and used as a guard for an existing pointer, whereas TStrongObjectPtr is more "full-fat" and designed to be a replacement for a raw-pointer.

	You should prefer FGCObjectScopeGuard where possible. Also note that TStrongObjectPtr isn't supported by UHT/UPROPERTY as you should just use a raw-pointer in that case (it would do the same thing).

Change 3204189 on 2016/11/18 by Alex.Delesky

	Removing content from dev folder

Change 3204205 on 2016/11/18 by Jamie.Dale

	Fix for being unable to delete folders that still have sub-folders in the Content Browser

	#jira UE-38752

Change 3204270 on 2016/11/18 by Simon.Tourangeau

	Fix StaticMesh socket reimports
	- socket transforms are now updated correctly on reimport
	- deleted socket from source will be removed on reimport
	- fix SocketManager refresh after import

	#jira UE-38195

Change 3204283 on 2016/11/18 by Alex.Delesky

	#jira UE-38314 - Undoing a change in the Preview Scene Viewer in Static Mesh Editor will now properly update changes within the scene itself.

Change 3205757 on 2016/11/21 by Jamie.Dale

	PR #2923: Slate: Fixed bug where NumCharactersInGlyph was set incorrectly for TAB characters (Contributed by pluranium)

Change 3205759 on 2016/11/21 by Matt.Kuhlenschmidt

	PR #2958: Handle legacy Windows exe icon location (Contributed by projectgheist)

Change 3205816 on 2016/11/21 by Matt.Kuhlenschmidt

	PR #2956: Add plane to basicshapes (Contributed by tommybear)

Change 3205831 on 2016/11/21 by Jamie.Dale

	Speculative fix for UE-38492

	This guards against null objects being passed to FAssetDeleteModel, as well as objects that become null due to the GC that happens in FAssetDeleteModel.

	#jira UE-38492

Change 3205869 on 2016/11/21 by Alex.Delesky

	#jira UE-38227 - Trying to transform a component on a blueprint while a spline mesh actor has the transform gizmo active in the editor will no longer modify the spline mesh actor

Change 3205873 on 2016/11/21 by Alex.Delesky

	#jira UE-38379 - When editing a row in the data table, clicking on a different row before committing changes will now switch to that row. This also fixes the issue of data tables constantly regenerating cell widgets on data changes.

	Should also address the issue mentioned in #jira UE-32965

Change 3205954 on 2016/11/21 by Shaun.Kime

	Reverting changes from 3202744 that allowed override properties to show up as real properties in the list. There are several detail panel customizations that don't deal with this properly and rather than force everyone to upgrade, we'll just modify the static mesh detail customization to do the work.

	#jira UE-38315

Change 3205965 on 2016/11/21 by Alex.Delesky

	#jira UE-38749, UE-38755 - Space and Enter should now fire button OnClicked events when a button is focused

	PR #2942

Change 3207157 on 2016/11/22 by Chris.Wood

	Added UnrealWatchdog tool, run by the Editor, to improve abnormal shutdown tracking.
	[UE-32952] - Watchdog - Show CRC when reporting abnormal shutdowns in internal builds

Change 3207344 on 2016/11/22 by Matthew.Griffin

	Added UnrealWatchdog to the Binary Release

Change 3207396 on 2016/11/22 by Ben.Marsh

	Add UnrealWatchdog to UGS precompiled binaries for Odin and Orion.

Change 3207418 on 2016/11/22 by Matt.Kuhlenschmidt

	Redid blur changes from Paragon Dev-General

	Blur widget updates
	- Renamed to SBackgroundBlur/UBackgroundBlur
	- Split SBackgroundBlur out into its own file
	- Added bApplyAlphaToBlur - when true, the strength of the blur is modulated by the widget alpha
	- Updated BlurRadius to be TOptional, so we auto-calculate radius when it isn't set
	- Added a UBackgroundBlurSlot, but left it unattached so it can be done in dev-editor (and update based on the engine version)
	- Updated OrionBlurWidget to export dll symbols and set up default low quality fallback image

Change 3207443 on 2016/11/22 by Chris.Wood

	Fix CIS error on Mac from my change CL 3207157

Change 3207702 on 2016/11/22 by Matt.Kuhlenschmidt

	Added missing files

Change 3207958 on 2016/11/22 by Matt.Kuhlenschmidt

	Guard against crash clearing scenes from the slate RHI renderer during movie loading code.

Change 3207962 on 2016/11/22 by Matt.Kuhlenschmidt

	Added a guard against the rendering thread timing out while on a breakpoint by checking if the debugger is present before performing the timeout check

Change 3208194 on 2016/11/22 by Matt.Kuhlenschmidt

	Actually call correct method of checking for a debugger

Change 3209139 on 2016/11/23 by Cody.Albert

	Adding support for "Show Only Modified Properties" filter to DetailWidgetRow

Change 3209206 on 2016/11/23 by Jamie.Dale

	Moving folders now removes the old folder from disk if it's empty

	This had already been done for deleting folders, but moving them was missed.

	#jira UE-11796

Change 3209281 on 2016/11/23 by Jamie.Dale

	PR #2932: Fix crash while updating cursor highlight (Contributed by nakosung)

Change 3210383 on 2016/11/25 by Chris.Wood

	Documented Crash Report Client analytics events
	[UE-32787] - Document Crash Report Client analytics events in code

Change 3210385 on 2016/11/25 by Alexis.Matte

	Make sure the combine mesh option of the staticmesh import is stored in staticmeshimportdata so the re-import know if it must re-import in combined or not
	#jira UE-38925

Change 3210983 on 2016/11/28 by Matt.Kuhlenschmidt

	Merging //UE4/Dev-Main to Dev-Editor (//UE4/Dev-Editor)

Change 3211001 on 2016/11/28 by Matt.Kuhlenschmidt

	Fix build errors

Change 3211009 on 2016/11/28 by Matt.Kuhlenschmidt

	PR #2960: Git plugin: multiline initial commit message and other connect screen cleanup (Contributed by SRombauts)

Change 3211017 on 2016/11/28 by Matt.Kuhlenschmidt

	Fix ATSC texture compression quality tooltip

	#jira UE-38996

Change 3211045 on 2016/11/28 by Matt.Kuhlenschmidt

	Fix compile errors

Change 3211081 on 2016/11/28 by Matt.Kuhlenschmidt

	Fix post process anim blueprints on skeletal meshes not being clearable

	#jira UE-39017

Change 3211094 on 2016/11/28 by Matt.Kuhlenschmidt

	Added more logging for jira UE-39000

	#jira UE-39000

Change 3211284 on 2016/11/28 by Matt.Kuhlenschmidt

	Redid fix for UE-35822 in dev-editor

Change 3211544 on 2016/11/28 by Matt.Kuhlenschmidt

	Fix deprecation warning

Change 3211769 on 2016/11/28 by Matt.Kuhlenschmidt

	Disable motion blur in editor views by default

	#jira 38424

Change 3211776 on 2016/11/28 by Matt.Kuhlenschmidt

	Fix PS4 compile errors

Change 3211949 on 2016/11/28 by Matt.Kuhlenschmidt

	Details panels changes
	- Added the ability to create groups within groups in details panel customizations
	- Added the ability for struct customizations to add categories to the parent

Change 3211954 on 2016/11/28 by Matt.Kuhlenschmidt

	Reorganized the post process settings so they appear as categories in the parent and so that they have better categories to make it clear what all the settings do.

Change 3213158 on 2016/11/29 by Jamie.Dale

	Updated User Defined Enum display names to use real FText instances so they can have stable keys

	This avoids the issue where the FText display names were cached from an FString, resulting in them having a different identity each time they were re-cached, which lead to localization and deterministic cooking issues.

	User Defined Enums no longer use meta-data to store their display names, and instead use a TMap in UUserDefinedEnum to map the raw enum entry name to its friendly display name. In addition to this, the enum editor has been updated to use STextPropertyEditableTextBox, which will keep the keys used by the display names stable where possible (allowing for delta-localization and historic tracking).

	#jira UE-26274

Change 3213172 on 2016/11/29 by Jamie.Dale

	Adding experimental support for content hot-reloading

	The underlying support for this is in CoreUObject (see ReloadPackage and ReloadPackages in UObjectGlobals.h/.cpp), with editor specific support being added via PackageTools::ReloadPackages, and also hooks registered with FCoreUObjectDelegates::OnPackageReloaded (eg, UEditorEngine::HandlePackageReloaded).

	The basic workflow for package reloading is as follows:
	 1) The current package is renamed, and the RF_NewerVersionExists flag is added to it and all its sub-objects.
	 2) The new package is loaded. Should this fail the old package is renamed back, and the RF_NewerVersionExists flag is removed.
	 3) We generate a mapping between objects in the old package and objects in the new package (see UObject::BuildSubobjectMapping).
	 4) We enumerate every object in memory, and fix-up any serialized or ARO object pointers referencing something from the old package, to reference the equivalent object from the new package (or null if no object could be found).
	 5) We run a GC, and verify that the old package was purged (printing any lingering references if it wasn't).

	For efficiency reasons package reloading may be run in batches (the editor uses batches of 500), as this allows package reloading to happen faster (as the reference fix-up and GC only happens once per-batch) at the cost of consuming more memory.

	In-editor there is an experimental setting to enable content hot-reloading. When this is enabled the SCC operations in the Content Browser will use content hot-reloading, rather than attempt to unload the reload the package as separate operations (which often fails). In order to allow the external SCC program to overwrite the files on disk, the linkers are detached from any packages that will be replaced prior to invoking the internal SCC operation.

Change 3213428 on 2016/11/29 by Jamie.Dale

	Implemented clamping on FTextInputMethodContext::SetSelectionRange to fix an issue where composition could provide an invalid range if the text was changed while composing

	#jira UE-37746

Change 3213442 on 2016/11/29 by Jamie.Dale

	Workaround for a bug in TSF based MS IMEs on Windows 8+

	They omit calling GetSelection and instead expect QueryInsert to return the current selection range. This also seems to fix an issue where composition no longer worked once some text had been deleted.

	#jira UE-37309

Change 3213603 on 2016/11/29 by Cody.Albert

	Changed PanelWidget::RemoveChildAt to not release slate resources if the child is a UserWidget

	#jira UE-39106

Change 3213633 on 2016/11/29 by Matt.Kuhlenschmidt

	Attempt to fix includetool cis warning

Change 3215159 on 2016/11/30 by Jamie.Dale

	Fixing MakeShared forward declaration

Change 3215220 on 2016/11/30 by Alex.Delesky

	#jira UE-38698 - Deleting a widget from the Widget Blueprint Hierarchy (or adding a new widget to the hierarchy directly) will no longer cause the scroll bar to return to the top of the hierarchy view.

Change 3215390 on 2016/11/30 by Jamie.Dale

	Maps now end a hot-reload batch

Change 3215394 on 2016/11/30 by Matt.Kuhlenschmidt

	Updating guard to track down worlds that have no package as an outer

	#jira UE-35712

Change 3215500 on 2016/11/30 by Alexis.Matte

	Color grading widget customization
	#jira UETOOL-1070

Change 3215519 on 2016/11/30 by Jamie.Dale

	Fixed crash caused by using TextNamespaceUtil::EnsurePackageNamespace in 'game' mode

Change 3215556 on 2016/11/30 by Cody.Albert

	Fixed issue where check-out toast would not disappear

	#jira UE-39146

Change 3215585 on 2016/11/30 by Jamie.Dale

	Adding an explicit ESPMode to MakeShared to try and placate Android

Change 3215737 on 2016/11/30 by Alexis.Matte

	Fix build warning

Change 3215748 on 2016/11/30 by Matt.Kuhlenschmidt

	Guard against crashes due to duplicate items in the scene outliner if actors somehow end up attached to themselves

	#jira UE-35935

Change 3215758 on 2016/11/30 by Ben.Marsh

	Add a 'Custom...' build type for Dev-Editor.

Change 3216183 on 2016/11/30 by Alexis.Matte

	Fix win32 build error

Change 3216362 on 2016/11/30 by Matt.Kuhlenschmidt

	Fix mac build error.

Change 3216828 on 2016/12/01 by Jamie.Dale

	Fixing MakeShared on Android

	#jira UE-39204

Change 3216839 on 2016/12/01 by Matt.Kuhlenschmidt

	PR #2997: Spelling fix for Actor.h's description of bEnableAutoLODGeneration. (Contributed by hgamiel)

Change 3216842 on 2016/12/01 by Matt.Kuhlenschmidt

	Remove the ensure when pushing absolute transforms onto a canvas matrix stack.  We can handle this properly now by just adding the transform to the stack if the stack is empty

	#jira UE-36496

Change 3216874 on 2016/12/01 by Matt.Kuhlenschmidt

	Fix a number of keybindings problems
	- Removed editor keybindings from project settings.  It should not have been in there (already in editor settings)
	- Removed duplicate registration of editor keybindings from editor settings
	- Fixed memory leak regenerating keybinding widgets when ending PIE world.
	- Cleaned up styling a bit to make keybindings widgets clearer.

	#jira UE-39211, UE-38718

Change 3216881 on 2016/12/01 by Shaun.Kime

	Added support for reroute nodes to the material editor. These nodes should function identically to their counterparts in Blueprints. A new UMaterialExpression, UMaterialExpressionReroute has been added. It inserts no HLSL code, and instead just moves along its input to find the real UMaterialExpression that it is ultimately bound to.
	Since the material system serializes its data as UMaterialExpressions, a more generalized approach across graph types isn't available as only the visual UI layer is shared between blueprints and material graphs.

	Also modified the material palette and popup material expression menu to allow for c++ based material name and description customization. If we choose to expand this, it would make the C++ material nodes more discoverable and understandable.

	Manually pulled in CL 3200823 and 3208490 to get bugfixes around material attribute usage.

	Adding an reroute node should function identically to Blueprints (ie double-click on connection to add or Utility\Add Reroute Node from palette). You should be able to add as many reroute nodes as you want in a chain. A reroute node that only has a connected output and not an input should behave as if there were no reroute node present (i.e. triggering constants on Add). It should be possible to use reroute nodes between any two supported node types if they are connectable in isolation. Where possible, we should show the same type mismatch errors that you'd see if connecting nodes directly (ie dragging a boolean constant into a reroute node connected to an Add should result in a Float/Bool mismatch). A reroute node is purely visual, it should have no impact on the final instruction count.

	In the event that an incomplete reroute input was completed by dragging to an invalid type, I tried to guarantee that the compiler would generate the appropriate errors. This can happen because we only know the inputs to a given node in code. If a reroute node doesn't have an input, it does not know what type it should be. However, the compiler should still detect these bad cases and error out.

	#jira UE-6882

Change 3216968 on 2016/12/01 by Jamie.Dale

	Syncing via source control now unloads (rather than reloads) packages that have been deleted from disk

Change 3216970 on 2016/12/01 by Jamie.Dale

	Reverting files now uses hot-reloading (if enabled)

Change 3217233 on 2016/12/01 by Jamie.Dale

	You can now choose to reload dirty packages via content hot-reloading

	This will revert any in-memory changes to the asset, which may be useful when you want to roll it back to its initial state without restarting the editor.

Change 3217244 on 2016/12/01 by Matt.Kuhlenschmidt

	WindowsMoviePlayer:  Initialize the movie player texture on first frame regardless of whether or not the decoder has a sample ready.  This prevents a white texture from showing up for a frame.

Change 3217466 on 2016/12/01 by Jamie.Dale

	Fixed a bug where FTextFormatData::ConditionalCompile_NoLock would always compile the text even if it was up-to-date

Change 3217572 on 2016/12/01 by Jamie.Dale

	Using FText::Format with an invalid argument no longer strips any associated argument modifier data from the resultant formatted text

Change 3217688 on 2016/12/01 by Jamie.Dale

	Fixed crash reloading the active world package when it was dirty

	#jira UE-39250

Change 3217978 on 2016/12/01 by Matt.Kuhlenschmidt

	Fixed crash where the slate renderer holds into scenes during maps are loaded causing access to deleted data after the load is complete.  We clean up cached scenes each frame but if slate doesnt tick the scenes are not cleaned up.  This change moves the CleanupScenes code to a location that is called each tick and during map loads

	#jira UE-39243

Change 3218834 on 2016/12/02 by Alexis.Matte

	move some scene conversion import fbx options to staticmesh, skeletalmesh and animation import data so the re-import will have acces to those import options
	#jira UE-38672

Change 3218838 on 2016/12/02 by Matt.Kuhlenschmidt

	Fixed editing static mesh settings manually in the details panel not visually refreshing the collision primitives

	#jira UE-39246

Change 3218864 on 2016/12/02 by Matt.Kuhlenschmidt

	Fixed basic cube shape having a convex hull instead of a box for collision

Change 3218900 on 2016/12/02 by Matt.Kuhlenschmidt

	Move static mesh collision properties to the collision category

Change 3219143 on 2016/12/02 by Michael.Dupuis

	#jira UE-39124 We can now place single mesh at a time
	#jira UE-39125 We can paint on the current level of the level containing the mesh we're painting on
	Change the way GetRandomVectorInBrush generate the Start/end position to use the BrushNormal instead of the BrushDirection

Change 3219199 on 2016/12/02 by Matt.Kuhlenschmidt

	Fixed a crash when changing Physical Surface Name and reassigning it on a physical material that uses it

	#jira UE-37452

Change 3219358 on 2016/12/02 by Alexis.Matte

	Fix fbx automation tests

Change 3219362 on 2016/12/02 by Alexis.Matte

	Support for MAX multisub material
	#jira UE-38467
	#jira UE-38471

Change 3219774 on 2016/12/02 by Jamie.Dale

	PR #2888: Add a setting to allow the Sources Panel to expand by default (Contributed by BhaaLseN)

Change 3219793 on 2016/12/02 by Jamie.Dale

	SWindow now restores focus back to the widget that last had focus when it was deactivated

	#jira UE-38965

Change 3221272 on 2016/12/05 by Matt.Kuhlenschmidt

	UI background blur tweaks
	- Adjust the downsample amount for lower kernel sizes
	- Flush post process memory used by the blur when switching levels

Change 3221273 on 2016/12/05 by Matt.Kuhlenschmidt

	Added guards against accesing scene caching methods of the slate resource manager on the rendering thread

Change 3221392 on 2016/12/05 by Matt.Kuhlenschmidt

	Added basic support for playing safe movies very early in the engine startup sequence.  A movie is considered safe to play very early if it is just a movie file and not some complex slate based UI loading screen

	no platform actually supports this yet as none of the movie streamer modules are loaded early enough and many platforms cant render this early

	Set PLATFORM_SUPPORTS_EARLY_MOVIE_PLAYBACK to 1 for your platform if it supports early loading

Change 3221831 on 2016/12/05 by Jamie.Dale

	Fixed UNumericProperty::ReadEnumAsUint8 not considering enum redirects when resolving the name

Change 3221986 on 2016/12/05 by Jamie.Dale

	Added an "Inline" font loading method

	This can be used in a cooked build to store the font data within the Font Face asset itself (rather than a separate .ufont file) in order to guarantee a hitch free load, at the cost of potentially using more memory up-front.

	The existing "PreLoad" loading method has been renamed to "LazyLoad" to better reflect what it actually does.

	This also fixes a bug where FFontData::Serialize could try and use the referenced Font Face asset before it had been fully loaded.

Change 3222065 on 2016/12/05 by Jamie.Dale

	Added log warning to detect hitches when lazily loading fonts

Change 3222225 on 2016/12/05 by Jamie.Dale

	Fixing style-set typo

	#jira UE-39333

Change 3223169 on 2016/12/06 by Matt.Kuhlenschmidt

	Fix autosaving prompting to check out built data if the built data asset was dirty during autosave

	#jira UE-39295

Change 3223184 on 2016/12/06 by Alexis.Matte

	Support LOD group and combine mesh
	#jira UE-1088

Change 3223212 on 2016/12/06 by Alex.Delesky

	#jira UE-39260 - TMap and TSet struct values should now be editable when editing a component's properties.

Change 3223215 on 2016/12/06 by Alex.Delesky

	#jira UE-38594 - The Widget Interaction Component will now default to tick while paused. Widget Components now contain a flag that will either allow or disallow interacting with them while the game is paused, which defaults to false.

Change 3223249 on 2016/12/06 by Matt.Kuhlenschmidt

	Added back in missing code that was lost in a merge

Change 3223271 on 2016/12/06 by Alex.Delesky

	#jira UE-38786 - The Color Picker will no longer stretch across the screen when exceptionally long strings are either entered or pasted inside one of the spin boxes. This also fixes an issue with editable text fields not validating string input on paste and will now prevent invalid data from being pasted inside a editable text block (e.g., pasting the string "I am a float" inside a spin box).

Change 3223275 on 2016/12/06 by Matt.Kuhlenschmidt

	Fixed a race condition in WEX where the loading screen would render an external UI window that was referencing deleted materials

Change 3223276 on 2016/12/06 by Alexis.Matte

	Staticmesh socket fbx import.
	#jira UE-38284

Change 3223363 on 2016/12/06 by Alexis.Matte

	Reimport must ask for missing file when re-importing a old asset that has no source files
	#jira UE-39356

Change 3223423 on 2016/12/06 by Chris.Wood

	Added option to place canvas panel children in same layer using explicit ZOrder setting.
	[UETOOL-935] - Figure out a solution for canvas panel batching

Change 3223551 on 2016/12/06 by Alexis.Matte

	UI mesh paint optimization, the slider now do not destroy the paint geometry adapter if the painted LOD has not change
	#jira UE-39383

Change 3223844 on 2016/12/06 by Matt.Kuhlenschmidt

	Back out change to change the defaults on vector and scalar expressions because this affects existing expressions that have not overridden the default

Change 3223880 on 2016/12/06 by Matt.Kuhlenschmidt

	Update doc links for maps and sets

Change 3224746 on 2016/12/07 by Michael.Dupuis

	#jira UE-39409 : Was'nt calling EndFoliageBrushTrace causing the transaction to never finish causing both jiras
	#jira UE-39410 : Was'nt calling EndFoliageBrushTrace causing the transaction to never finish causing both jiras

Change 3224826 on 2016/12/07 by Michael.Dupuis

	#jira UE-39095 : If a tool is active we simply consider inputs as handled to prevent this kind of behavior

Change 3224827 on 2016/12/07 by Simon.Tourangeau

	Improve search for material match on fbx mesh import
	- Add option to specify material search locations on mesh import
	- On Import it will now perform a first match material search in the following order	(suppose we are importing into /Game/Content/Assets/Meshes/MyMesh)
	   - Using Local as a search location will provide same behavior as before	(search non recursively in /Game/Content/Assets/Meshes)
	   - If option is UnderParent or more, search recursively in destination folder	(search recursively in /Game/Content/Assets/Meshes)
	   - If option is UnderParent or more, then recursively from parent folder	(search recursively in /Game/Content/Assets)
	   - If option is UnderRoot or more, search recursively from root folder	(search recursively in /Game)
	   - If option is AllAssets, search in every asset folder		(Search recursively everywhere)

	#jira UE-39020

Change 3224989 on 2016/12/07 by Chris.Wood

	Fixed black callstack text in CrashReportClient.
	[UE-38987] - CrashReportClient Callstack text is rendering Black

Change 3225142 on 2016/12/07 by Jamie.Dale

	Added collapsing methods when exporting text for translation

	You can now choose how to collapse your text for translation from three export modes:
	 - ELocalizedTextCollapseMode::IdenticalTextIdAndSource - Collapse texts with the same text identity (namespace + key) and source text (default 4.15+ behavior).
	 - ELocalizedTextCollapseMode::IdenticalPackageIdTextIdAndSource - Collapse texts with the same package ID, text identity (namespace + key), and source text (4.14 behavior).
	 - ELocalizedTextCollapseMode::IdenticalNamespaceAndSource - Collapse texts with the same namespace and source text (legacy pre-4.14 behavior).

	The new default allows you to re-use the same text identity in different packages without having to translate the same text multiple times, and you can also now opt to get back to the legacy pre-4.14 behavior of collapsing all identical texts within the same namespace (in case you were reliant on that behavior).

	You can change this setting via the Localization Dashboard, or add it to your gather configs as "LocalizedTextCollapseMode" (this needs to go into any configs that deal with exporting or importing PO files - the default if nothing is specified is "ELocalizedTextCollapseMode::IdenticalTextIdAndSource").

Change 3225509 on 2016/12/07 by Simon.Tourangeau

	Static analysis fix, false positive

Change 3225859 on 2016/12/07 by Matt.Kuhlenschmidt

	Fix broken physical surface details customization
	- Scrolling now works properly
	- Edit boxes dont change size while editing
	- properly checks out or makes file writable once an edit has been made

	#jira UE-39279

Change 3226840 on 2016/12/08 by Jamie.Dale

	Fixing a bug in FText formatting where it would ignore the rebuild and Rebuild as Source arguments for the format string itself

	#jira OPP-6485

Change 3226940 on 2016/12/08 by Alexis.Matte

	Avoid changing the W value when playing with the color grading wheel.
	#jira UE-39473

Change 3227814 on 2016/12/08 by Matt.Kuhlenschmidt

	 Temp disable lazy load font warnings to prevent infinite  recursion crashes at startup

Change 3228010 on 2016/12/08 by Matt.Kuhlenschmidt

	Fix for iOS compiling

Change 3228597 on 2016/12/09 by Jamie.Dale

	Removed hard dependency between UFont and UFontFace during struct serialization as it doesn't work with the EDL

	#jira UE-39529

Change 3228607 on 2016/12/09 by Jamie.Dale

	Fixed infinite recursion caused by logging while the output log font was still being loaded

	#jira UE-39523

Change 3228770 on 2016/12/09 by Jamie.Dale

	Fixed UUserDefinedEnum::GetEnumText

	it was using GetNameByIndex (which includes C++ scoping), rather than GetEnumName (which doesn't). This was causing all name look-ups to fail.

	#jira UE-39531

Change 3228785 on 2016/12/09 by Matt.Kuhlenschmidt

	Fix static analysis warning

[CL 3229477 by Matt Kuhlenschmidt in Main branch]
2016-12-09 15:05:28 -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
Ben Zeigler
24a8d60723 Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3208226)
#lockdown Nick.Penwarden
#rb None

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

Change 3173153 on 2016/10/25 by Graeme.Thornton

	Pak signing changes
	 - Integrated into EDL loader
	 - Changed to not encrypt each CRC in the sig file, rather just store a single encryped signature of the entire sig file. Removes need to decrypt thousands of signatures at startup.

Change 3173531 on 2016/10/25 by Steven.Hutton

	Removing unused j query packages.

Change 3174743 on 2016/10/26 by Gil.Gribb

	UE4 - fixed COTF with EDL

Change 3177896 on 2016/10/28 by Steve.Robb

	TSharedPtr and TSharedRef aliasing constructors.
	Removal of static_asserts for TSharedPtr<UObject>.

Change 3180343 on 2016/10/31 by Steve.Robb

	Reimplementation of changes from CL#s 3050329 and 3105715 that were lost in merges 3094597 and 3105741.

Change 3181382 on 2016/11/01 by Steve.Robb

	Visual Studio debugger visualizers for delegates.

Change 3182738 on 2016/11/02 by Graeme.Thornton

	Re-enable signed archive reader so non-pakpreacher based reads still get signature checked

Change 3183420 on 2016/11/02 by Steve.Robb

	Fix to TIsZeroConstructType for TScriptDelegate.

Change 3184872 on 2016/11/03 by Robert.Manuszewski

	Fixing memory stomps in SSL certificate initialization (found with mallocstomp)

Change 3184873 on 2016/11/03 by Robert.Manuszewski

	Adding thread safety checks to async loading code

Change 3185535 on 2016/11/03 by Ben.Zeigler

	Fix it so calling CreateDefaultSubobject with bTransient = true sets the object transient flag. This fixes EDL Crashes involving components.

Change 3186636 on 2016/11/04 by Graeme.Thornton

	AES encryption integrated into EDL system
	Pak signing and AES encryption now configurable by ini files rather than magical text files

Change 3186637 on 2016/11/04 by Graeme.Thornton

	Configured pak signing and encryption in ShooterGame for reference

Change 3186639 on 2016/11/04 by Graeme.Thornton

	Encryption changes for Orion
	* Move pak signing keys into new INI format
	* Add AES key and enable INI file encryption

Change 3186661 on 2016/11/04 by Graeme.Thornton

	Change unrealpak command line params to accept AES key as a separete parameter

Change 3186670 on 2016/11/04 by Robert.Manuszewski

	Adding a null check before using a package pointer in Linker code

	#jira UE-38237

Change 3186775 on 2016/11/04 by Graeme.Thornton

	Fix UBT defines that come in as quoted strings, losing the quotes when passed to the compiler
	 - PS4 and Mac fixes. Other platforms might need fixing too!

Change 3186823 on 2016/11/04 by Graeme.Thornton

	Fixed an incorrect size check in the EDL pak signing code

Change 3186925 on 2016/11/04 by Graeme.Thornton

	Allow UnrealPak to read encryption settings from project ini files

Change 3189885 on 2016/11/08 by Graeme.Thornton

	Static analysis warning fix

Change 3190015 on 2016/11/08 by Robert.Manuszewski

	Thread safety fix for UBlueprintGeneratedClass::PostLoadDefaultObject while UBlueprintGeneratedClass::SerializeDefaultObject runs on the async loading thread

Change 3190253 on 2016/11/08 by Chris.Wood

	Improved MDD performance for on the CR server.
	[UE-37566] - Improve MDD performance on CR server

	Blocked MDD init'ing the crash handling code as it isn't desirable on the server.
	Removed redundant call to SetSymbolPathsFromModules() from CrashDebugHelper.

Change 3192993 on 2016/11/10 by Robert.Manuszewski

	Thread Heartbeat will no longer report the same hang multiple times.

Change 3193111 on 2016/11/10 by Robert.Manuszewski

	Minor change in the condition that detects the same hangs - allow the same callstacks from different threads

Change 3193168 on 2016/11/10 by Steve.Robb

	TSparseArray now reserves space in reverse so that new elements get added to the front of the allocation rather than the back, which is better for memory traversal and meets expectations more closely.

Change 3193171 on 2016/11/10 by Steve.Robb

	Easier debugging of FPendingRegistrantInfo map.

Change 3193188 on 2016/11/10 by Steve.Robb

	TAutoPointer deprecated.

Change 3193796 on 2016/11/10 by Graeme.Thornton

	Fix pak creation failure when no pak signing keys are supplied

Change 3194524 on 2016/11/11 by Graeme.Thornton

	Another static analysis warning fix

Change 3195119 on 2016/11/11 by Steve.Robb

	TAutoPtr deprecated.
	Fixes to use of TAutoPtr with incompatible memory deallocations (TAutoPtr with FMemory::Malloc and new[]).
	Some large headers moved into .cpp files.

Change 3196582 on 2016/11/14 by Gil.Gribb

	UE4 - Changed a check to a warning related to detaching linekrs twice. Seen in nativized BP version of platformer game.

Change 3196878 on 2016/11/14 by Steve.Robb

	TScopedPointer deprecated.

Change 3198061 on 2016/11/15 by Steve.Robb

	Class array is no longer regenerated when saving UClasses.

Change 3198065 on 2016/11/15 by Robert.Manuszewski

	Making AssembleReferenceTokenStream thread safe for blueprints loaded on the async loading thread.

Change 3198199 on 2016/11/15 by Robert.Manuszewski

	Pak platform file will now only be used if pak files exist regardless of command line paraks like -pak, -singedpak and -signed.

Change 3199954 on 2016/11/16 by Graeme.Thornton

	Removing USING_SIGNED_CONTENT

Change 3200221 on 2016/11/16 by Chris.Wood

	CrashReportProcess code cleanup - removing unused using directives

Change 3200232 on 2016/11/16 by Chris.Wood

	Multiple CrashReportProcess updates and improvements (CRP v1.2.6)
	UE-36248 - CRP scalability: All bulk storage or shared data to S3 or suitable network drives

	InvalidCrashReports now saved to S3 instead of local folder
	Removed option tosync MinidumpDiagnostics from Perforce
	Moved MinidumpDiagnostics from old Perforce synched location to its own folder in E:\Services (makes more sense with manual publishing)
	Added improved logging to Slack with option to monitor MDD performance
	Added hourly log folders to MDD logs
	Added support for types of crashes we don't want to symbolicate (using it to skip callstack gen for hang detected ensures)

Change 3200382 on 2016/11/16 by Robert.Manuszewski

	Async Loading code will now detach the linker when resetting async package loader to avoid situations when loading the same asset multiple times results in the following load request finding the old linker after the package has been loading but the async package hasn't been deleted yet (async package for the old request in limbo state but linker exists).

Change 3200562 on 2016/11/16 by Gil.Gribb

	UE4 - Fixed rare issue with reloading nativized blueprints with the EDL and a minor simplication.

Change 3201093 on 2016/11/16 by Ben.Zeigler

	#UE 38654 Fix EDL cooking to correctly search components created directly by UBlueprints, as well as the CDO components it already covered. Also explicitly mark subobject templates as editor only.
	Fix issue where the AssetImportData associated with Blueprint-owned Curves was ending up in the cooked subobject template list. Stopped it from creating those objects, and mark the class editor only.

Change 3201736 on 2016/11/17 by Steve.Robb

	Strtoi64 platform and TCString functions.

	#fyi robert.manuszewski

Change 3201938 on 2016/11/17 by Ben.Woodhouse

	Dummy integrate of the Square render version workaround (CL 3201913) with _accept target_ to prevent it being integrated to dev-core in future.

	Commandline:
	p4 integrate //Tasks/UE4/Dev-LoadTimes/Engine/Source/Runtime/CoreUObject/Private/UObject/LinkerLoad.cpp@3201913,3201913 //UE4/Dev-Core/Engine/Source/Runtime/CoreUObject/Private/UObject/LinkerLoad.cpp

	#fyi robert.manuszewski

Change 3203757 on 2016/11/18 by Robert.Manuszewski

	Removing debug code from async loading code.

Change 3203927 on 2016/11/18 by Robert.Manuszewski

	Fixing comments in the async loading code.

Change 3204851 on 2016/11/18 by Steve.Robb

	Metafunction for testing if a particular operator<< overload exists, e.g. THasInserterOperator<FArchive&, FMyType&>::Value.

Change 3204854 on 2016/11/18 by Steve.Robb

	UEnumProperty.

Change 3205027 on 2016/11/18 by Ben.Zeigler

	Add useful functions to FAssetPtr and TAssetSubclassOf that already existed on TAssetPtr
	Add Get() to TSubclassOf so it matches our other wrappers
	Fix TSubclassOf and TAssetSubclassOf to use the more efficient template method of checking class compatibility
	Comment and template cleanups for AssetPtr, StringAssetReference, LazyPtr, and SubclassOf

Change 3206334 on 2016/11/21 by Ben.Zeigler

	#UE-38773: Fix it so non-component template subobjects of CDOs are not included as creation dependencies for BP classes, also clean up GetPreloadDependencies as it was adding redundant and null entries
	#UE-38799: Fix it so WidgetTrees don't get picked up as subobjects, and add ensure at cook time to find null outers that would crash at runtime. Make sure the instanced widget trees are transient.
	Cook finishes but game is still crashing in some cases, so I might adjust this after other testing

Change 3206353 on 2016/11/21 by Ben.Zeigler

	Fix EnumProperty to handle EDL preload dependencies properly

Change 3206625 on 2016/11/21 by Ben.Zeigler

	Fix enum property crash at runtime by copying what array property does and making sure inner property is not transient

Change 3206937 on 2016/11/21 by Ben.Zeigler

	#jira UE-38905 Fix it so enums inside arrays are migrated properly, the enum tag is lost so use the current one
	Disable other nested enum migrations as they are unlikely to work. Array property tags need to be refactored to be safer
	Correctly save enum tag for enum properties, it was being set but not serialized

Change 3207002 on 2016/11/21 by Ben.Zeigler

	#jira UE-38799
	Fix it so per-widget copy of widget tree and all widgets inside are properly transient, they were being cooked before but never accessed.
	Fix case where non ClientOnly public objects nested instead ClientOnly objects would cook but fail to load, and add ensure to catch these cases in the future.
	If the full outer chain isn't available, it can't be loaded anyway, and this finds issues at cook time instead of load time.
	We should generally outlaw non-transient objects with transient outers, it does not do what people expect.

Change 3207032 on 2016/11/21 by Ben.Zeigler

	#jira UE-38654 Re-Fix EDL cooking with SCS-added components. They used to have the DefaultSubObject flag but no longer do

[CL 3208270 by Ben Zeigler in Main branch]
2016-11-22 18:45:44 -05:00
Robert Manuszewski
5925a19dc9 Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3125172)
#lockdown Nick.Penwarden

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

Change 3053250 on 2016/07/18 by Steve.Robb

	TNot metafunction added.

Change 3053252 on 2016/07/18 by Steve.Robb

	New TIsEnumClass trait.

Change 3061345 on 2016/07/22 by Robert.Manuszewski

	Changing FMallocStomp::GetAllocationSize() to return the requested allocation size instead of the physical allocation size to make FMallocStomp work properly with FMallocPoisonProxy

Change 3061377 on 2016/07/22 by Graeme.Thornton

	Added bStripAnimationDataOnDedicatedServer option to UAnimationSettings which will remove all compressed data from cooked server data. Disabled by default

Change 3064592 on 2016/07/26 by Steven.Hutton

	Uploading repository files

Change 3064595 on 2016/07/26 by Steven.Hutton

	Assign crashes to buggs based not just on Callstack but also based on Error message.

	Error messages have "data" masked out and are then compared to a table of  error messages to find similar messages. Ensures are not currently filtered by error message.

Change 3066046 on 2016/07/27 by Graeme.Thornton

	Better dedicated client/server class exclusion during cooking
	 - Add class lists to cooker settings so they can be modified in the editor

Change 3066077 on 2016/07/27 by Graeme.Thornton

	Move Paragon NeedsLoadForServer calls over to the new config based system

Change 3066203 on 2016/07/27 by Chris.Wood

	CrashReportProcess logging and Slack reporting improvements to monitor disk space.
	[UE-31129] - Crash Report server need to alert on Slack when the PDB cache is full

Change 3066276 on 2016/07/27 by Graeme.Thornton

	Move simple NeedsLoadForClient implementations over to new config based system

Change 3068019 on 2016/07/28 by Graeme.Thornton

	Don't call ReleaseResources on UStaticMesh if we never render, and therefore never actually initialize the resources
	 - Corrects some bad stats

Change 3068218 on 2016/07/28 by Chris.Wood

	CrashReportProcess 1.1.18 passes BuildVersion to MinidumpDiagnostics
	[UE-31706] - Add new BuildVersion string to crash context and website

	Also modified command line log file ini settings to stop MDD stalling trying to sort and delete its logs.

Change 3071665 on 2016/08/01 by Robert.Manuszewski

	Moving RemoveNamesFromMasterList from UEnum destructor to BeginDestroy to avoid potential issues when its package has already been destroyed.

Change 3073388 on 2016/08/02 by Graeme.Thornton

	Invalidate string asset reference tags after finishing up loading of an async package

Change 3073745 on 2016/08/02 by Robert.Manuszewski

	Disabling logging to memory in shipping by default. From now on FOutputDeviceMemory will be an opt-in for games.

	#jira FORT-27839

Change 3074866 on 2016/08/03 by Robert.Manuszewski

	PR #2650: Fixed a bug where newline escape sequence wasnt written to the pipe (Contributed by ozturkhakki)

Change 3075128 on 2016/08/03 by Steve.Robb

	Static analysis fixes: error C2065: 'ThisOuterWorld': undeclared identifier

Change 3075130 on 2016/08/03 by Steve.Robb

	Static analysis fix: warning C6011: Dereferencing NULL pointer 'LODLevel'

Change 3075131 on 2016/08/03 by Steve.Robb

	Static analysis fix: warning C6011: Dereferencing NULL pointer 'Owner'

Change 3075235 on 2016/08/03 by Steve.Robb

	Static analysis fix: warning C6011: Dereferencing NULL pointer 'AnimToOperateOn'

Change 3075248 on 2016/08/03 by Steve.Robb

	Static analysis fix: warning C6011: Dereferencing NULL pointer 'ParentProfile'

Change 3075662 on 2016/08/03 by Steve.Robb

	Static analysis/buffer size fix: warning C28020: The expression '_Param_(7)>=sizeof(ICMP_ECHO_REPLY)+_Param_(4)+8' is not true at this call

Change 3075668 on 2016/08/03 by Steve.Robb

	Static analysis fix: warning C6326: Potential comparison of a constant with another constant

Change 3075679 on 2016/08/03 by Chris.Wood

	Added -NoTrimCallstack command line arg to MDD calls from CRP 1.1.19
	[OR-26335] - 29.1 crash reporter generating reports with no callstacks / info

	New MDD has -NoTrimCallstack option to leave possibly irrelevant entires in the stack. Trimming is somewhat arbitrary and based on string matching. I'd rather see the whole thing.

Change 3077070 on 2016/08/04 by Steve.Robb

	Dead array slack tracking code removed.

Change 3077113 on 2016/08/04 by Steve.Robb

	TEnumAsByte is now deprecated for enum classes.
	All current uses fixed (which tidies up that code anyway).
	New FArchive::op<< for enum classes.
	Generated code now never uses TEnumAsByte for enum classes.

Change 3077117 on 2016/08/04 by Steve.Robb

	Static analysis fix: warning C6011: Dereferencing NULL pointer 'DefaultSettings'

Change 3078709 on 2016/08/05 by Steve.Robb

	FUNCTION_NO_NULL_RETURN_* macros added to statically annotate a function to say that it never returns a null pointer.
	TObjectIterator annotated to never return null.
	NewObject annotated to never return null.

Change 3078836 on 2016/08/05 by Graeme.Thornton

	Silently skip creating exports from a package where the outer is also an export and has been filtered at runtime during loading

Change 3082217 on 2016/08/09 by Steve.Robb

	Missing #include for FUniqueNetIdRepl added.

Change 3083679 on 2016/08/10 by Chris.Wood

	CrashReportProcess performance improvements. CRP v1.1.22
	[UE-34402] - Crash Reporter: Improve CRP performance by allowing multiple MDD instances
	[UE-34403] - Crash Reporter: CRP should throw away crashes when backlog is too large to avoid runaway

	Passing lock details to MDD on command line and managing multiple MDD tasks in CRP.
	Configurable values for range of queue sizes that cause us to throw away crashes.

Change 3085362 on 2016/08/11 by Steve.Robb

	Rule-of-three fixes for FAIMessageObserver, to prevent accidents.

	From here: https://udn.unrealengine.com/questions/306507/tstaticarray-doesnt-call-destructor-on-elements-be.html

Change 3085396 on 2016/08/11 by Steve.Robb

	Swap can now be configured via the TUseBitwiseSwap trait to not use Memswap, which can be less optimal for certain types.

Change 3088840 on 2016/08/15 by Steve.Robb

	TRemoveReference moved to its own header.

Change 3088858 on 2016/08/15 by Steve.Robb

	TDecay moved to its own header.

Change 3088963 on 2016/08/15 by Steve.Robb

	Invoke function, for doing a generic call on a generic callable thing.  Equivalent to std::invoke.

Change 3089144 on 2016/08/15 by Steve.Robb

	Algo::Transform updated to use Invoke.  Algorithm tests updated to test the new features.

Change 3089147 on 2016/08/15 by Steve.Robb

	TLess and TGreater moved to their own headers and defaulted to void as a type-deducing version, as per std::.

Change 3090243 on 2016/08/16 by Steve.Robb

	New Algo::Sort and Algo::SortBy algorithms.

Change 3090387 on 2016/08/16 by Steve.Robb

	Improved bitwise swapping for Swap.

	See: https://udn.unrealengine.com/questions/306922/swap-is-painfully-slow.html

Change 3090444 on 2016/08/16 by Steve.Robb

	Ptr+Size overloads removed after discussion - MakeArrayView should be used instead.

Change 3090495 on 2016/08/16 by Steve.Robb

	Assert when FString::Mid is passed a negative count.

	#jira UE-18756

Change 3093455 on 2016/08/18 by Steve.Robb

	Debuggability and efficiency improvements to UScriptStruct::DeferCppStructOps.

Change 3094476 on 2016/08/19 by Steve.Robb

	BOM removed from InvariantCulture.h.

Change 3094697 on 2016/08/19 by Steve.Robb

	Static analysis fix: warning C6237: (<zero> && <expression>) is always zero.  <expression> is never evaluated and might have side effects.

Change 3094702 on 2016/08/19 by Steve.Robb

	Static analysis fix: warning C6011: Dereferencing NULL pointer 'Interactor'.

Change 3094715 on 2016/08/19 by Steve.Robb

	Static analysis fix: warning C6385: Reading invalid data from 'Order':  the readable size is '256' bytes, but '8160' bytes may be read.

Change 3094737 on 2016/08/19 by Steve.Robb

	Static analysis fixes:

	warning C6011: Dereferencing NULL pointer 'OwnedComponent'.
	warning C28182: Dereferencing NULL pointer. 'Child' contains the same NULL value as 'AttachToComponent' did.

Change 3094750 on 2016/08/19 by Steve.Robb

	Static analysis fix: warning C6011: Dereferencing NULL pointer 'Actor'.

Change 3094768 on 2016/08/19 by Steve.Robb

	Static analysis fixes:

	warning C6011: Dereferencing NULL pointer 'LevelSequence'.
	warning C6011: Dereferencing NULL pointer 'Actor'.

Change 3094774 on 2016/08/19 by Steve.Robb

	Static analysis fixes: warning C6011: Dereferencing NULL pointer 'CallFunctionNode'.

Change 3094783 on 2016/08/19 by Steve.Robb

	Static analysis fixes: warning C6011: Dereferencing NULL pointer 'TargetPin'.

Change 3094807 on 2016/08/19 by Steve.Robb

	Static analysis fixes: warning C6011: Dereferencing NULL pointer 'SourceClass'.

Change 3094815 on 2016/08/19 by Steve.Robb

	Static analysis fixes:

	warning C6011: Dereferencing NULL pointer 'VarNode'.
	warning C6011: Dereferencing NULL pointer 'SourceClass'.

Change 3094840 on 2016/08/19 by Steve.Robb

	Static analysis fixes:

	warning C6011: Dereferencing NULL pointer 'TunnelGraph'.
	warning C28182: Dereferencing NULL pointer. 'GraphNode' contains the same NULL value as 'SourceNode' did.

Change 3094864 on 2016/08/19 by Steve.Robb

	Static analysis fixes: warning C6011: Dereferencing NULL pointer 'SpawnClassPin'.

Change 3094880 on 2016/08/19 by Steve.Robb

	Static analysis fix: warning C6011: Dereferencing NULL pointer 'PrevIfIndexMatchesStatement'.

Change 3094886 on 2016/08/19 by Steve.Robb

	Static analysis fix: warning C6011: Dereferencing NULL pointer 'SpawnBlueprintPin'.

Change 3094903 on 2016/08/19 by Steve.Robb

	Static analysis fix: warning C6011: Dereferencing NULL pointer 'K2Node'.

Change 3094916 on 2016/08/19 by Steve.Robb

	Static analysis fix: Dereferencing NULL pointer 'CompilerContext'.

Change 3094931 on 2016/08/19 by Steve.Robb

	Static analysis fix: warning C6011: Dereferencing NULL pointer 'VariablePin'.

Change 3094935 on 2016/08/19 by Steve.Robb

	Static analysis fix: warning C6011: Dereferencing NULL pointer 'CurrentPin'.

Change 3094943 on 2016/08/19 by Steve.Robb

	Static analysis fixes:

	warning C6011: Dereferencing NULL pointer 'Pin'.
	warning C28182: Dereferencing NULL pointer. 'Graph' contains the same NULL value as 'TargetGraph' did.

Change 3094960 on 2016/08/19 by Steve.Robb

	Static analysis fix: warning C6011: Dereferencing NULL pointer 'LastOutPin'.

Change 3095046 on 2016/08/19 by Steve.Robb

	Single parameter version of CastChecked tagged to never return null.

Change 3095054 on 2016/08/19 by Steve.Robb

	Committed wrong version in CL# 3095046.

Change 3095089 on 2016/08/19 by Steve.Robb

	Static analysis fixes:

	warning C6509: Invalid annotation: 'return' cannot be referenced in some contexts
	warning C6101: Returning uninitialized memory '*lpdwExitCode'.

Change 3096035 on 2016/08/22 by Steve.Robb

	Fix for static lighting in pixel inspector.

Change 3096039 on 2016/08/22 by Steve.Robb

	Static analysis fix: warning C6011: Dereferencing NULL pointer 'World'.

Change 3096045 on 2016/08/22 by Steve.Robb

	Static analysis fix: warning C6011: Dereferencing NULL pointer 'Actor'.

Change 3096058 on 2016/08/22 by Steve.Robb

	Static analysis fix: warning C6011: Dereferencing NULL pointer 'OtherPin'.

Change 3096059 on 2016/08/22 by Steve.Robb

	Static analysis fix: warning C6011: Dereferencing NULL pointer 'MainMesh'.

Change 3096066 on 2016/08/22 by Steve.Robb

	Static analysis fix: warning C6011: Dereferencing NULL pointer 'SourceType'.

Change 3096070 on 2016/08/22 by Steve.Robb

	Static analysis fix: warning C6011: Dereferencing NULL pointer 'LastPushStatement'.

Change 3096074 on 2016/08/22 by Steve.Robb

	Static analysis fix: warning C6011: Dereferencing NULL pointer 'OriginalDataTableInPin'.

Change 3096075 on 2016/08/22 by Steve.Robb

	Static analysis fix: warning C6011: Dereferencing NULL pointer 'CurrentPin'.

Change 3096081 on 2016/08/22 by Steve.Robb

	Static analysis fix: warning C6011: Dereferencing NULL pointer 'RunningPlatformData'.

Change 3096156 on 2016/08/22 by Steve.Robb

	Static analysis fixes:

	warning C6011: Dereferencing NULL pointer 'BP'.
	warning C6011: Dereferencing NULL pointer 'Object'.

Change 3096308 on 2016/08/22 by Steve.Robb

	Static analysis fixes:

	warning C6011: Dereferencing NULL pointer 'TopMipData'.
	warning C6011: Dereferencing NULL pointer 'MipCoverageData[0]'.

Change 3096315 on 2016/08/22 by Steve.Robb

	Static analysis fixes:

	warning C6011: Dereferencing NULL pointer 'OldParent'.
	warning C6011: Dereferencing NULL pointer 'TestExecutionInfo'.

Change 3096318 on 2016/08/22 by Steve.Robb

	Static analysis fix: warning C6011: Dereferencing NULL pointer 'OwnerClass'.

Change 3096322 on 2016/08/22 by Steve.Robb

	Static analysis fix: warning C6011: Dereferencing NULL pointer 'StaticMeshInstanceData'.

Change 3096337 on 2016/08/22 by Steve.Robb

	Static analysis fixes:

	warning C6011: Dereferencing NULL pointer 'Pin'.
	warning C6011: Dereferencing NULL pointer 'SpawnVarPin'.

Change 3096345 on 2016/08/22 by Steve.Robb

	Static analysis fixes: warning C6246: Local declaration of 'NumTris' hides declaration of the same name in outer scope.

Change 3096356 on 2016/08/22 by Steve.Robb

	Static analysis fix: warning C6011: Dereferencing NULL pointer 'InWorld'.

Change 3096387 on 2016/08/22 by Steve.Robb

	Static analysis fixes:

	warning C6011: Dereferencing NULL pointer 'ExpressionPreviewMaterial'.
	warning C6011: Dereferencing NULL pointer 'MaterialNode->MaterialExpression'.

Change 3096400 on 2016/08/22 by Steve.Robb

	Static analysis fix: warning C6011: Dereferencing NULL pointer 'FunctionInputs'.

Change 3096413 on 2016/08/22 by Steve.Robb

	Static analysis fix: warning C28182: Dereferencing NULL pointer. 'LODPackage' contains the same NULL value as 'AssetsOuter' did.

Change 3096416 on 2016/08/22 by Steve.Robb

	Static analysis fixes: warning C6237: (<zero> && <expression>) is always zero.  <expression> is never evaluated and might have side effects.

Change 3096423 on 2016/08/22 by Steve.Robb

	Static analysis fix: warning C6011: Dereferencing NULL pointer 'RedirectorRefs.Redirector'.

Change 3096439 on 2016/08/22 by Steve.Robb

	Static analysis fix: warning C6011: Dereferencing NULL pointer 'NewObject'.

Change 3096446 on 2016/08/22 by Steve.Robb

	Static analysis fix: warning C6011: Dereferencing NULL pointer 'BaseClass'.

Change 3096454 on 2016/08/22 by Steve.Robb

	Static analysis fix: warning C6011: Dereferencing NULL pointer 'OldSkeleton'.

Change 3096464 on 2016/08/22 by Steve.Robb

	Static analysis fix: warning C6011: Dereferencing NULL pointer 'MyNode'.

Change 3096469 on 2016/08/22 by Steve.Robb

	Static analysis fix: warning C6011: Dereferencing NULL pointer 'VRInteractor'.

Change 3097559 on 2016/08/23 by Steve.Robb

	Alternate fix to CL# 3096439.

Change 3097583 on 2016/08/23 by Steve.Robb

	Static analysis fixes:

	warning C6011: Dereferencing NULL pointer 'SourceCategoryEnum'.
	warning C6011: Dereferencing NULL pointer 'CurrentWorld'.

Change 3097584 on 2016/08/23 by Steve.Robb

	Static analysis fix: warning C6011: Dereferencing NULL pointer 'LocalizationTarget'.

Change 3097585 on 2016/08/23 by Steve.Robb

	Static analysis fixes:

	warning C28182: Dereferencing NULL pointer. 'VariableSetNode' contains the same NULL value as 'AssignmentNode' did.
	warning C6011: Dereferencing NULL pointer 'FirstNativeClass'.

Change 3097588 on 2016/08/23 by Steve.Robb

	Static analysis fix: warning C6011: Dereferencing NULL pointer 'OutputObjClass'.

Change 3097589 on 2016/08/23 by Steve.Robb

	Static analysis fix: warning C28182: Dereferencing NULL pointer. 'Term' contains the same NULL value as 'RValueTerm' did.

Change 3097591 on 2016/08/23 by Steve.Robb

	Static analysis fix: warning C6011: Dereferencing NULL pointer 'Schema'.

Change 3097597 on 2016/08/23 by Steve.Robb

	Static analysis fix: warning C6011: Dereferencing NULL pointer 'LayerInfo'.

Change 3097598 on 2016/08/23 by Steve.Robb

	Const-correctness fix for ILandscapeEditorModule::GetHeightmapFormatByExtension and ILandscapeEditorModule::GetWeightmapFormatByExtension.

Change 3097600 on 2016/08/23 by Steve.Robb

	Fix for incorrect null check.

Change 3097605 on 2016/08/23 by Steve.Robb

	Spurious static analysis fix: warning C6011: Dereferencing NULL pointer 'TexDataPtr'.

	Bug filed here: https://connect.microsoft.com/VisualStudio/feedback/details/3078125

Change 3097609 on 2016/08/23 by Steve.Robb

	Static analysis fix: warning C28182: Dereferencing NULL pointer. 'ObjClass' contains the same NULL value as 'BaseClass' did.

Change 3097613 on 2016/08/23 by Steve.Robb

	Static analysis fix: warning C6011: Dereferencing NULL pointer 'InEdGraph'.

Change 3097620 on 2016/08/23 by Steve.Robb

	Static analysis fix: warning C6011: Dereferencing NULL pointer 'ThisScalableFloat'.

Change 3097627 on 2016/08/23 by Steve.Robb

	Static analysis fixes: warning C6011: Dereferencing NULL pointer 'AnimBlueprint'.

Change 3097629 on 2016/08/23 by Steve.Robb

	Static analysis fix: warning C28182: Dereferencing NULL pointer. 'Pin' contains the same NULL value as 'PoseNet' did.

Change 3097631 on 2016/08/23 by Steve.Robb

	Static analysis fix: warning C6011: Dereferencing NULL pointer 'IPOverlayInfo.Brush'.

Change 3097634 on 2016/08/23 by Steve.Robb

	Static analysis fix: warning C6011: Dereferencing NULL pointer 'Survey'.

Change 3097639 on 2016/08/23 by Steve.Robb

	Static analysis fixes: warning C6011: Dereferencing NULL pointer 'Settings'.

Change 3097650 on 2016/08/23 by Steve.Robb

	Alternate fix for CL# 3097597.

Change 3097725 on 2016/08/23 by Steve.Robb

	Spurious static analysis fix: warning C6011: Dereferencing NULL pointer 'BodySetup'.

Change 3097764 on 2016/08/23 by Steve.Robb

	Spurious static analysis fix: warning C28182: Dereferencing NULL pointer. 'FoundMode' contains the same NULL value as 'ElementType * FoundMode=LoopModes.FindByPredicate(<lambda>)' did.

Change 3097770 on 2016/08/23 by Steve.Robb

	Static analysis fix: warning C6011: Dereferencing NULL pointer 'Triangle'.

Change 3097775 on 2016/08/23 by Steve.Robb

	Static analysis fix: warning C6011: Dereferencing NULL pointer 'CurGroup'.

Change 3097796 on 2016/08/23 by Steve.Robb

	Static analysis fix: warning C6011: Dereferencing NULL pointer 'SourceComponent'.

Change 3097797 on 2016/08/23 by Steve.Robb

	Spurious static analysis fix: warning C6011: Dereferencing NULL pointer 'HitComponent'.

Change 3097843 on 2016/08/23 by Steve.Robb

	Spurious static analysis fix: Dereferencing NULL pointer. 'MatchingNewPin' contains the same NULL value as 'UEdGraphPin ** MatchingNewPin=this->Pins.FindByPredicate(<lambda>)' did.

Change 3097864 on 2016/08/23 by Steve.Robb

	Static analysis fixes:

	warning C6011: Dereferencing NULL pointer 'ObjectClass'.
	warning C6011: Dereferencing NULL pointer 'Client'.

Change 3097871 on 2016/08/23 by Steve.Robb

	Static analysis fix: warning C28182: Dereferencing NULL pointer. 'SMLightingMesh->StaticMesh' contains the same NULL value as 'StaticMesh' did.

Change 3098015 on 2016/08/23 by Steve.Robb

	Alternative fix for CL# 3094864.

Change 3098024 on 2016/08/23 by Steve.Robb

	Alternative fix for CL# 3094943.

Change 3098052 on 2016/08/23 by Steve.Robb

	Alternative fix for CL# 3094886.

Change 3098080 on 2016/08/23 by Steve.Robb

	Static analysis fix: warning C28182: Dereferencing NULL pointer. 'PrimitiveComponent' contains the same NULL value as 'ReplacementComponent' did.

Change 3098102 on 2016/08/23 by Steve.Robb

	Static analysis fix: warning C6011: Dereferencing NULL pointer 'IndexTermPtr'.

Change 3098148 on 2016/08/23 by Steve.Robb

	Static analysis fixes:

	warning C6011: Dereferencing NULL pointer 'Node'.
	warning C6011: Dereferencing NULL pointer 'OldNode'.
	warning C6011: Dereferencing NULL pointer 'LinkedPin'.
	warning C6011: Dereferencing NULL pointer 'RootNode'.

Change 3098156 on 2016/08/23 by Steve.Robb

	Static analysis fix: warning C6011: Dereferencing NULL pointer 'BTGraphNode'.

Change 3098176 on 2016/08/23 by Steve.Robb

	Static analysis fixes: warning C6011: Dereferencing NULL pointer 'NewSection'.

Change 3098182 on 2016/08/23 by Steve.Robb

	Static analysis fix: warning C6011: Dereferencing NULL pointer 'Sprite'.

Change 3098197 on 2016/08/23 by Steve.Robb

	Static analysis fixes: warning C6011: Dereferencing NULL pointer 'Node'.
	Coding standards fixes.

Change 3098202 on 2016/08/23 by Steve.Robb

	Static analysis fix: warning C6011: Dereferencing NULL pointer 'ExistingEventNode'.

Change 3098208 on 2016/08/23 by Steve.Robb

	Static analysis fixes:

	warning C28182: Dereferencing NULL pointer. 'Graph' contains the same NULL value as 'GraphNew' did.
	warning C28182: Dereferencing NULL pointer. 'GoodGraph' contains the same NULL value as 'GraphNew' did.

Change 3098229 on 2016/08/23 by Steve.Robb

	Static analysis fix: warning C6011: Dereferencing NULL pointer 'Property'.

Change 3099188 on 2016/08/24 by Steve.Robb

	Static analysis fixes: warning C6011: Dereferencing NULL pointer 'SharedBaseClass'.

Change 3099195 on 2016/08/24 by Steve.Robb

	Static analysis fix: warning C6011: Dereferencing NULL pointer 'NodeProperty'.

Change 3099205 on 2016/08/24 by Steve.Robb

	Static analysis fix: warning C6011: Dereferencing NULL pointer 'VarDesc'.

Change 3099228 on 2016/08/24 by Steve.Robb

	Spurious static analysis fix: warning C28182: Dereferencing NULL pointer. 'Node' contains the same NULL value as 'ParentNode' did.

Change 3099539 on 2016/08/24 by Steve.Robb

	Spurious static analysis fixes:

	warning C6011: Dereferencing NULL pointer 'InBlueprint'.
	warning C28182: Dereferencing NULL pointer. 'TestObj' contains the same NULL value as 'TestOuter' did.

	https://connect.microsoft.com/VisualStudio/feedback/details/3082362
	https://connect.microsoft.com/VisualStudio/feedback/details/3082622

Change 3099546 on 2016/08/24 by Steve.Robb

	Static analysis fix: warning C6011: Dereferencing NULL pointer 'OldNode'.

Change 3099561 on 2016/08/24 by Steve.Robb

	Static analysis fix: warning C6011: Dereferencing NULL pointer 'ReferencedObject'.

Change 3099571 on 2016/08/24 by Steve.Robb

	Static analysis fix: Dereferencing NULL pointer. 'ObjClass' contains the same NULL value as 'CommonBaseClass' did.

Change 3099600 on 2016/08/24 by Steve.Robb

	Static analysis fix:

	warning C6385: Reading invalid data from 'this->Packages':  the readable size is '24' bytes, but '32' bytes may be read.
	warning C6385: Reading invalid data from 'Diff.ObjectSets':  the readable size is '24' bytes, but '32' bytes may be read.
	warning C6386: Buffer overrun while writing to 'Objects':  the writable size is '24' bytes, but '32' bytes might be written.

Change 3099912 on 2016/08/24 by Steve.Robb

	Static analysis fixes: warning C6011: Dereferencing NULL pointer 'SharedBaseClass'.

Change 3099923 on 2016/08/24 by Steve.Robb

	Static analysis fix: warning C6011: Dereferencing NULL pointer 'ThumbnailInfo'.

Change 3100977 on 2016/08/25 by Steve.Robb

	Static analysis fixes:

	warning C6001: Using uninitialized memory '*VectorRef'.
	warning C6001: Using uninitialized memory '*PointRef'.
	warning C6001: Using uninitialized memory '*PolyRef'.

	Coding standard fixes.

Change 3100985 on 2016/08/25 by Steve.Robb

	Static analyis fix: warning C6011: Dereferencing NULL pointer 'SpawnClassPin'.

Change 3100987 on 2016/08/25 by Steve.Robb

	Static analysis fixes:

	warning C28183: 'Resources.BitmapHandle' could be '0', and is a copy of the value found in 'CreateDIBSection()`829':  this does not adhere to the specification for the function 'SelectObject'.
	warning C6387: '_Param_(4)' could be '0':  this does not adhere to the specification for the function 'CreateDIBSection'.

Change 3100992 on 2016/08/25 by Steve.Robb

	Static analysis fix: warning C6287: Redundant code:  the left and right sub-expressions are identical.

Change 3101000 on 2016/08/25 by Steve.Robb

	Static analysis fixes:

	warning C6001: Using uninitialized memory 'tmpMemReq'.
	warning C6001: Using uninitialized memory 'TmpCreateInfo'.

Change 3101004 on 2016/08/25 by Steve.Robb

	warning C28182: Dereferencing NULL pointer. 'FoliageActor' contains the same NULL value as 'Actor' did.

Change 3101009 on 2016/08/25 by Steve.Robb

	Static analysis fix: warning C6011: Dereferencing NULL pointer 'StaticMeshComponent'.

Change 3101115 on 2016/08/25 by Steve.Robb

	Static analysis fix: warning C6011: Dereferencing NULL pointer 'Canvas'.

Change 3101120 on 2016/08/25 by Steve.Robb

	Fixes to previous fixes.

Change 3101128 on 2016/08/25 by Steve.Robb

	Static analysis fixes: warning C6011: Dereferencing NULL pointer 'Stream'.

Change 3101281 on 2016/08/25 by Steve.Robb

	Static analysis fixes:

	warning C6262: Function uses '99256' bytes of stack:  exceeds /analyze:stacksize '81940'.  Consider moving some data to heap.
	warning C6001: Using uninitialized memory 'Pixel'.

Change 3101292 on 2016/08/25 by Steve.Robb

	Static analysis fix: warning C6011: Dereferencing NULL pointer 'BulkDataPointer'.

Change 3101299 on 2016/08/25 by Steve.Robb

	Static analysis fix: warning C6011: Dereferencing NULL pointer 'UnrealMaterial'.

Change 3101300 on 2016/08/25 by Steve.Robb

	Static analysis fix: warning C6011: Dereferencing NULL pointer 'AssetObject'.

Change 3101304 on 2016/08/25 by Steve.Robb

	Static analysis fix: warning C6011: Dereferencing NULL pointer 'MeshRootNode'.

Change 3101311 on 2016/08/25 by Steve.Robb

	Static analysis fix: warning C6011: Dereferencing NULL pointer 'Cluster'.

Change 3101323 on 2016/08/25 by Steve.Robb

	Static analysis fix: warning C6011: Dereferencing NULL pointer 'StartNode'.

Change 3101329 on 2016/08/25 by Steve.Robb

	Static analysis fix: warning C6011: Dereferencing NULL pointer 'Object'.

Change 3101333 on 2016/08/25 by Steve.Robb

	Static analysis fix: warning C6011: Dereferencing NULL pointer 'ArrayRef'.

Change 3101339 on 2016/08/25 by Steve.Robb

	Static analysis fixes:

	warning C6011: Dereferencing NULL pointer 'ImportData'.
	warning C6011: Dereferencing NULL pointer 'CurveToImport'.

Change 3101485 on 2016/08/25 by Steve.Robb

	Static analysis fix: warning C6011: Dereferencing NULL pointer 'ObjectProperty'.

Change 3101583 on 2016/08/25 by Steve.Robb

	Static analysis fix: warning C6011: Dereferencing NULL pointer 'UserDefinedStruct'.

Change 3105721 on 2016/08/30 by Steve.Robb

	Static analysis fix: warning C6011: Dereferencing NULL pointer 'SpawnClassPin'.

Change 3105724 on 2016/08/30 by Steven.Hutton

	Change users page to more responsive paginated version.

Change 3105725 on 2016/08/30 by Steven.Hutton

	Added field for crash processor failed

Change 3105786 on 2016/08/30 by Steve.Robb

	Reintroduced missing operator<< for enum classes.

Change 3105803 on 2016/08/30 by Steve.Robb

	Removal of obsolete code and state.  PrepareCppStructOps() has several unreachable blocks, one of which sets UScriptStruct::bCppStructOpsFromBaseClass which is otherwise never true, so it can be removed too.

Change 3106251 on 2016/08/30 by Steve.Robb

	Switch static analysis node to build editor instead of just the engine.

Change 3107556 on 2016/08/31 by Steven.Hutton

	Added build version data from CRP to DB as part of add crash #rb none

Change 3107557 on 2016/08/31 by Steven.Hutton

	Passed build version data to CRW through crash description #rb none

Change 3107634 on 2016/08/31 by Graeme.Thornton

	Only accept "log=<filename>" and "abslog=<filename>" command line values if the filename has a "log" or "txt" extension

	#jira UE-20147

Change 3107797 on 2016/08/31 by Steve.Robb

	Fix for UHT debugging manifest, after paths changed in CL# 3088416.

Change 3107964 on 2016/08/31 by Steve.Robb

	TCString::Strfind renamed to TCString::Strifind, as it is case-insensitive.
	New case-sensitive TCString::Strfind added, based on GitHub PR #2453.

Change 3108023 on 2016/08/31 by Steve.Robb

	Removal of test code which no longer compiles now that we emit errors on skipped preprocessor blocks.

Change 3108160 on 2016/08/31 by Steven.Hutton

	Update to add new filter to website front page #rb none

Change 3109556 on 2016/09/01 by Steven.Hutton

	Fixing compile warning #rb none

Change 3110001 on 2016/09/01 by Steve.Robb

	PR #2468: Fix for UnrealHeaderTool TArray<TScriptInterface<>> UFUNCTION parameters (Contributed by UnrealEverything)

Change 3111835 on 2016/09/02 by Steve.Robb

	Enforce uint8 on UENUM() enum classes.

	#jira UE-35224

Change 3111867 on 2016/09/02 by Steve.Robb

	Static analysis fix: warning C6236: (<expression> || <non-zero constant>) is always a non-zero constant.

Change 3111880 on 2016/09/02 by Steve.Robb

	Static analysis fixes:

	warning C6386: Buffer overrun while writing to 'Views':  the writable size is 'ShaderBindings.ResourceViews.public: int __cdecl TArray<class TSlateD3DTypedShaderParameter<struct ID3D11ShaderResourceView> *,class FDefaultAllocator>::Num(void)const ()*8' bytes, but '16' bytes might be written.
	warning C6386: Buffer overrun while writing to 'ConstantBuffers':  the writable size is 'ShaderBindings.ConstantBuffers.public: int __cdecl TArray<class TSlateD3DTypedShaderParameter<struct ID3D11Buffer> *,class FDefaultAllocator>::Num(void)const ()*8' bytes, but '16' bytes might be written.

Change 3111886 on 2016/09/02 by Steve.Robb

	Static analysis fix: warning C6386: Buffer overrun while writing to 'DistortionMeshIndices':  the writable size is 'NumIndices*2' bytes, but '4' bytes might be written.

Change 3112025 on 2016/09/02 by Steve.Robb

	Static analysis fix:

	warning C6011: Dereferencing NULL pointer 'pInputProcessParameters'.
	warning C6011: Dereferencing NULL pointer 'pOutputProcessParameters'.

Change 3112051 on 2016/09/02 by Steve.Robb

	Static analysis fix: warning C6011: Dereferencing NULL pointer 'Command'.

Change 3112066 on 2016/09/02 by Steve.Robb

	Static analysis fix: warning C6011: Dereferencing NULL pointer 'CurNetDriver'.

Change 3112093 on 2016/09/02 by Steve.Robb

	Static analysis fix: warning C6011: Dereferencing NULL pointer 'byteArray'.

Change 3112110 on 2016/09/02 by Steve.Robb

	Static analysis fix: warning C6011: Dereferencing NULL pointer 'PersistentParty'.

Change 3112123 on 2016/09/02 by Steve.Robb

	Static analysis fixes:

	warning C6011: Dereferencing NULL pointer 'CurDriver'.
	warning C6011: Dereferencing NULL pointer 'CurNetDriver'.
	warning C6011: Dereferencing NULL pointer 'CurWorld'.

Change 3112157 on 2016/09/02 by Steve.Robb

	Static analysis fixes: warning C6011: Dereferencing NULL pointer 'UnitTest'.

Change 3112283 on 2016/09/02 by Steve.Robb

	Static analysis fixes:

	warning C6244: Local declaration of 'None' hides previous declaration at line '173' of 'netcodeunittest.h'.

Change 3113455 on 2016/09/05 by Chris.Wood

	CRP performance improvements (v1.1.25)

Change 3113468 on 2016/09/05 by Steve.Robb

	Reverting unnecessary merge in CL# 3112464.

Change 3113508 on 2016/09/05 by Steve.Robb

	Static analysis fix: warning C6031: Return value ignored: 'CoCreateGuid'.

Change 3113588 on 2016/09/05 by Steve.Robb

	Static analysis fix: warning C6244: Local declaration of 'hInstance' hides previous declaration

Change 3113863 on 2016/09/06 by Steve.Robb

	Fix for this error:

	Could not find a part of the path 'D:\Build\++UE4+Dev-Core+Compile\Sync\Engine\Plugins\2D\Paper2D\Binaries\Win64\UE4Editor.modules'.

Change 3113864 on 2016/09/06 by Steve.Robb

	Misc static analysis fixes for VS2015 Update 2.

Change 3113918 on 2016/09/06 by Ben.Marsh

	Explicitly check for version manifest existing before trying to delete it, rather than swallowing the exception.

Change 3114293 on 2016/09/06 by Steve.Robb

	Static analysis fixes for Visual Studio Update 2.

Change 3115732 on 2016/09/07 by Steve.Robb

	Static analysis fix: warning C6262: Function uses '121180' bytes of stack:  exceeds /analyze:stacksize '81940'.  Consider moving some data to heap.

Change 3115754 on 2016/09/07 by Steve.Robb

	GObjectArrayForDebugVisualizers init order fix.
	Removal of obsolete FName visualizer helper code.

Change 3115774 on 2016/09/07 by Steve.Robb

	Fix for ICE by moving static variables into their own file and removing const return types.

	#jira UE-35597

Change 3116061 on 2016/09/07 by Steve.Robb

	Redundant LOCTEXT_NAMESPACE removed - was missed in CL# 3115774.

Change 3117478 on 2016/09/08 by Steve.Robb

	Static analysis fixes in third party code, using a new macro-based system.

Change 3119152 on 2016/09/09 by Steve.Robb

	TArray::RemoveAt and RemoveAtSwap with a bool Count is now a compile error.

Change 3119200 on 2016/09/09 by Steve.Robb

	Fix for destructors not being called in TSparseArray move assignment.

Change 3119568 on 2016/09/09 by Steve.Robb

	Fix for TSparseArray visualizer.

Change 3119591 on 2016/09/09 by Steve.Robb

	New MakeShared function which allocates the object and reference controller in a single block.

Change 3120281 on 2016/09/09 by Steve.Robb

	Fix for ICE on static analysis build.

	#jira UE-35596

Change 3120786 on 2016/09/12 by Steve.Robb

	Static analysis fix: warning C6011: Dereferencing NULL pointer 'SavedGame'.

Change 3120787 on 2016/09/12 by Steve.Robb

	Removal of TEnumAsByte on enum classes.

Change 3120789 on 2016/09/12 by Steve.Robb

	Static analysis fixes:

	warning C6385: Reading invalid data from 'D3D11X_CERAM_OFFSET_BY_SET_STAGE':  the readable size is '28' bytes, but '64' bytes may be read.
	warning C6101: Returning uninitialized memory '*pDescriptorDst'.  A successful path through the function does not set the named _Out_ parameter.

Change 3121234 on 2016/09/12 by Steve.Robb

	Unused ToBuildInfoString function declaration removed.

Change 3122616 on 2016/09/13 by Steve.Robb

	Static analysis fix: warning C6011: Dereferencing NULL pointer 'Compiler'.

Change 3123070 on 2016/09/13 by Steve.Robb

	Static analysis fix: warning C28182: Dereferencing NULL pointer. 'top' contains the same NULL value as 'edge' did.

[CL 3126145 by Robert Manuszewski in Main branch]
2016-09-15 00:21:42 -04:00
Matt Kuhlenschmidt
67a0d73fa0 Copying //UE4/Dev-Editor to //UE4/Dev-Main (Source: //UE4/Dev-Editor @ 3082391)
#lockdown Nick.Penwarden
#rb none

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

Change 3051464 on 2016/07/15 by Nick.Darnell

	Regression Testing - Several upgrades to the functional testing system, better tracking of failure cases, some source line failure detection, trying to make it easier to run a specific test on a map.  Some UI improvements, easier access to the automation system.  Lots more refactoring to come, lots of improvements are still needed in transmitting screenshots and just generally building a automation report we could dump from the build machines.

Change 3051465 on 2016/07/15 by Nick.Darnell

	Adding the "Engine Test" project our one stop shope for running automation tests in the engine to try and reduce regressions.

Change 3051847 on 2016/07/15 by Matt.Kuhlenschmidt

	Fixed material editor viewport messages being blocked by viewport toolbar

Change 3052025 on 2016/07/15 by Nick.Darnell

	Moving the placement mode hooks out of functional testing module, moving them into the editor automation module.

Change 3053508 on 2016/07/18 by Stephan.Jiang

	Copy,Cut,Paste tracks, not for mastertracks yet.

	#UE-31808

Change 3054723 on 2016/07/18 by Stephan.Jiang

	Small fixes for typo & comments

Change 3055996 on 2016/07/19 by Trung.Le

	PIE: No longer auto resume game in PIE on focus received

Change 3056106 on 2016/07/19 by Trung.Le

	Back out changelist 3055996. Build break.

Change 3056108 on 2016/07/19 by Stephan.Jiang

	Updating "SoundConcurrency" asseticon

Change 3056389 on 2016/07/19 by Trung.Le

	PIE: No longer auto resume game in PIE on focus received
	#jira UE-33339

Change 3056396 on 2016/07/19 by Matt.Kuhlenschmidt

	More perf selection improvements:
	- Static meshes now go through the static draw path when rendered for selection outline instead of just rendering using the dynamic path

Change 3056758 on 2016/07/19 by Stephan.Jiang

	Update SelectedWidgets in WidgetblueprintEditor to match the selected tracks in sequencer.

Change 3057519 on 2016/07/20 by Matt.Kuhlenschmidt

	Another fix for selecting lots of objects taking forever.  This one is due to repeated Modify calls if there are groups in the selection.  Each group actor selected iterates through each object selected during USelection::Modify!

Change 3057635 on 2016/07/20 by Stephan.Jiang

	Updating visual logger icon UI

Change 3057645 on 2016/07/20 by Richard.TalbotWatkin

	Fixed single player PIE so the window position is correctly fetched and saved, even when running a dedicated server. This does not interfere with stored positions for multiple PIE, which uses ULevelEditorPlaySettings::MultipleInstancePositions.
	#jira UE-33416 - New Editor PIE window does not center to screen when running with a dedicated server

Change 3057868 on 2016/07/20 by Richard.TalbotWatkin

	Spline component improvements, both tools and runtime:

	- SplineComponentVisualizer now works within the Blueprint editor. This works via a generic extension added to the base ComponentVisualizer class which correctly propagates modified properties from the preview actor to the archetype, and then on to any instances whose properties are at the default value.

	- The above feature required a breaking change to USplineComponent - namely, the three FInterpCurve properties have been collected together into a struct and added as a single property. This is so that changes to the length of one of the FInterpCurves marks all three as dirty and needing rebuilding.

	- Added a custom version for SplineComponent and provded serialization fixes.

	- Added a details customization to SplineComponent to hide the raw FInterpCurve properties.

	- Added a custom detail builder category which polls the SplineComponentVisualizer each tick and provides numerical editing for spline points which are selected in the visualizer.

	- Relaxed the limitation that SplineComponent keys need to have an increment of 1.0.  Now any SplineComponent key can be set.  The details customization enforces that the sequence remains strictly ascending.

	- Allowed an explicit loop point to be specified for closed splines.

	- Allowed discontinuous splines by no longer forcing the ArriveTangent and LeaveTangent to be equal.

	- Added some new Blueprintable methods for building splines with an FSplinePoint struct, which allows all of a spline point's properties to be specified, and added to the FInterpCurves sorted by the input key.

	- Fixed the logic which determines whether the UCS has modified the spline curves.

	- Added UActorComponent::RemoveUCSModifiedProperties, which allows a component to remove any properties from the cached list which it doesn't want to be considered as 'modified'. This is used to distinguish the case of properties preserved by the SplineInstanceDataCache from those genuinely modified by the UCS.

	- Fixed "Apply Instance Changes to Blueprint" so that edited spline data can be applied to the archetype.

	- Fixed some issues with the spline component visualizer to make it generate appropriate up vectors if scale and rotation are enabled.

	#jira UETOOL-766 - Spline tool improvements
	#jira UE-33049 - Transform widget visible in blueprint viewport when editing spline points in editor viewport
	#jira UE-9062 - Spline editing: It would be nice to be able to type in a specific value for a point
	#jira UE-7476 - Add ability to edit SplineComponent in BP editor (not just instance in level)
	#jira UE-13082 - Users would like a snapping feature for splines
	#jira UE-13568 - Additional Spline Component Functionality
	#jira UE-17822 - It would be useful to be able to update a bp spline layout from the editor viewport.

Change 3057895 on 2016/07/20 by Richard.TalbotWatkin

	Mesh paint bugfixes and improvements.

	Changes to RerunConstructionScript so that OnObjectsReplaced is called correctly on all components, whether they have been created by the SCS or the UCS. Previously, components created by the UCS were not being handled, and components created by the SCS were not always being matched.  Now a serialized index is maintained for UCS-created objects, which is matched after the construction scripts have been executed.

	This will fix issues with the mesh paint tool, and any other editor tool which hooks into the OnObjectsReplaced callback in order to update its internal cache of component pointers, for example, the component visualizer render list.

	#jira UE-33010 - Crash changing mesh paint material in blueprint, then changing to a different mode tab
	#jira UE-32279 - Editor crashes when reselecting a mesh in paint mode
	#jira UE-31763 - [CrashReport] UE4Editor_MeshPaint!FMulticastDelegateBase<FWeakObjectPtr>::RemoveAll() [multicastdelegatebase.h:75]
	#jira UE-30661 - Vertex Painting changes collision complexity if the asset is saved while vertex painting

Change 3057966 on 2016/07/20 by Richard.TalbotWatkin

	Renamed IsEditingArchetype to IsVisualizingArchetype in the ComponentVisualizer API.
	#jira UE-33049 - Transform widget visible in blueprint viewport when editing spline points in editor viewport

Change 3058009 on 2016/07/20 by Richard.TalbotWatkin

	Fixed build failure due to changes to FComponentVisualizer API, as of CL 3057868.

Change 3058047 on 2016/07/20 by Stephan.Jiang

	Fixing error on previous CL: 3056758
	(extra qualification)

Change 3058266 on 2016/07/20 by Nick.Darnell

	Automation - Work continues on automation integrating some ideas form a licensee.  Continuing to work on the usability aspects, I've made it possible for tests to provide custom open commands, as well as have complex subclasses that do different things.  The functional tests now have a custom open command they emit that makes it so clicking on a test opens not the C++ location where the functional test macro lives, but instead the map, AND focuses the functional test actor.

Change 3058282 on 2016/07/20 by Matt.Kuhlenschmidt

	PR #2611: Fix spurious component diff when properties are in subcategories (Contributed by CA-ADuran)

Change 3059214 on 2016/07/21 by Richard.TalbotWatkin

	Further fixes to visualizers following Component Visualizer API change.

Change 3059260 on 2016/07/21 by Richard.TalbotWatkin

	Template specialization not allowed in class scope, but Visual Studio allows it anyway.  Fixed for clang.

Change 3059543 on 2016/07/21 by Stephan.Jiang

	Changeing level details icon

Change 3059732 on 2016/07/21 by Stephan.Jiang

	Directional Light icon update

Change 3060095 on 2016/07/21 by Stephan.Jiang

	Directional Light editor icon asset changed

Change 3060129 on 2016/07/21 by Nick.Darnell

	Automation - The session browser now attempts to select the app instance if no other thing is selected when it refreshes.  This is to try and make it easier to use when you first bring it up and nothing is selected when most of the time you're going to use it on your own instance.

Change 3061735 on 2016/07/22 by Stephan.Jiang

	Improve UMG replace with in HierarchyView function

	#UE-33582

Change 3062059 on 2016/07/22 by Stephan.Jiang

	Strip off "b" in propertyname in replace with function for tracks.

Change 3062146 on 2016/07/22 by Stephan.Jiang

	checkin with CL: 3061735

Change 3062182 on 2016/07/22 by Stephan.Jiang

	Change both animation bindings' widget name when renameing the widget so the slot content is still valid

Change 3062257 on 2016/07/22 by Stephan.Jiang

	comments

Change 3062381 on 2016/07/22 by Nick.Darnell

	Build - Adding #undef LOCTEXT_NAMESPACE to try and fix the build.

Change 3062924 on 2016/07/25 by Chris.Wood

	Fix a crash in CrashReportClient that happens when the CrashReportReceiver is not responding to pings and there are no PendingReportDirectories.

	This is a change in the UE4 stream depot based on a fix in the Fortnite stream depot -> JIRA FORT-27570

Change 3063017 on 2016/07/25 by Matt.Kuhlenschmidt

	PR #2618: DebuggerCommand not recording PlayLocationString (Contributed by ungalyant)

Change 3063021 on 2016/07/25 by Matt.Kuhlenschmidt

	PR #2619: added a search box to ModuleUI (Contributed by straymist)

Change 3063084 on 2016/07/25 by Matt.Kuhlenschmidt

	Fix "YesToAll" when deleting referenced actors overriding the "YesToAll" state for other referenced messages.

	https://jira.ol.epicgames.net/browse/UE-33651
	#jira UE-33651

Change 3063091 on 2016/07/25 by Alex.Delesky

	#jira UE-32949 - Truncating the hue inside the theme color block tooltip to only display whole numbers, to match how the color picker displays the hue value inside the hue scrubber.

Change 3063388 on 2016/07/25 by Matt.Kuhlenschmidt

	Selection Perf:
	- Fix large FName creation time when selecting thousands of objects

Change 3063568 on 2016/07/25 by Matt.Kuhlenschmidt

	Selection Perf:
	- Modified how USelection stores classes.  Classes are now in a  TSet and can be accessed efficiently using IsClassSelected.  The old unused way of checking if a selection has a class by iterating through them is deprecated
	- USelection no longer directly checks if an item is already selected with a costly n^2 search.  The check is done by using the already existing UObject selected annotation
	- Object property nodes no longer perform an n^2 check for object uniqueness when objects are added to details panels.  This is now left up to the caller to avoid
	- Eliminated useless work on FObjectPropertyNode::GetReadAddressUncached.  If a read address list is not passed in we'll not attempt to the work to populate it
	- Removed expensive checking for brush actors when any actor is selected

Change 3063749 on 2016/07/25 by Stephan.Jiang

	Disallow naming the widgetanimation to the same name with a override function in uuserwidget, because it will trigger a breakpoint in Rename()

	#jira UE-33711

Change 3064585 on 2016/07/26 by Matt.Kuhlenschmidt

	Merging //UE4/Dev-Main to Dev-Editor (//UE4/Dev-Editor)

Change 3064612 on 2016/07/26 by Alex.Delesky

	#jira UE-33712 - Deleting many assets at once will now batch SourceControl commands rather than executing one for each asset.

Change 3064647 on 2016/07/26 by Alexis.Matte

	#jira UE-33274 dont hash the same file over and over when importing multiple asset from one fbx file.

Change 3064739 on 2016/07/26 by Matt.Kuhlenschmidt

	Fixed typo

Change 3064795 on 2016/07/26 by Jamie.Dale

	Fixed typo in FLocalizationModule::GetLocalizationTargetByName

	#jira UE-32961

Change 3066461 on 2016/07/27 by Jamie.Dale

	Enabled stable localization keys

Change 3066463 on 2016/07/27 by Jamie.Dale

	Set "Build Engine Localization" to upload all cultures to ensure we don't lose translation due to the archive keying changes

Change 3066467 on 2016/07/27 by Jamie.Dale

	Updated internationalization archives to store translations per-identity

	This allows translators to translate each instance of a piece of text based upon their context, rather than requiring a content producer to go back and give the entry a unique namespace. It also allows us to optionally compile out-of-date translations, as they are now mapped to their source identity (namespace + key) rather than their source text.

	Major changes:
	 - Added FLocTextHelper. This acts as a high-level API for uncompiled localized text, and replaces all the old ad-hoc loading/saving of manifests and archives, ensuring that everything is consistently using source control, and that older archives can be upgraded correctly to the new format. It also takes care of some of the quirks of our archives, such as native translations. All major localization commandlets have been updated to use FLocTextHelper.
	 - Moved FTextLocalizationResourceGenerator from Core to Internationalization. This also allows IJsonInternationalizationManifestSerializer and IJsonInternationalizationArchiveSerializer to be removed, and for FJsonInternationalizationManifestSerializer and FJsonInternationalizationArchiveSerializer to have all their functions become static.
	 - FTextLocalizationResourceGenerator being moved from Core meant that FTextLocalizationManager::LoadFromManifestAndArchives was also removed. This functionality is now handled by FTextLocalizationResourceGenerator::GenerateAndUpdateLiveEntriesFromConfig.
	 - The RepairLocalizationData commandlet has been removed. This existed to fix a change that pre-dated 4.0 so no such data should exist in the wild, and the commandlet couldn't be updated to work with the new API (we handle format upgrades in-place now).
	 - Removed FInternationalizationArchive::FindEntryBySource as it is no-longer safe to use. All existing code has been updated to use FInternationalizationArchive::FindEntryByKey instead.

	Workflow changes:
	 - Archive conditioning now only adds new entries if they don't exist in the archive. This allows us to persist any existing translations, even if they're for old source text (caveat: native archives still update existing entries if the source is changed).
	 - PO export now sets the msgctx for each entry to be "namespace,key", rather than only doing it when the entry had key meta-data.
	 - PO import will now update both the source and translation stored in the archive to match the current PO data. This is the primary method by which stale source->translation pairs are updated.
	 - LocRes compilation may now optionally compile stale translations. There's an option controlling this (defaulted to off) that can be changed via the Localization Dashboard (or added to an existing config file).

	Format changes:
	 - The archive version was bumped to 2.
	 - Archive entries now use the "Key" entry to store the key from the source text. Previously this "Key" entry was used to store the key meta-data, but that now exists within a "MetaData" sub-object. Loading handles this correctly based upon the archive version.

	#jira UETOOL-897
	#jira UETOOL-898
	#jira UE-29481

Change 3066487 on 2016/07/27 by Matt.Kuhlenschmidt

	Attempt to fix linux compilation

Change 3066504 on 2016/07/27 by Matt.Kuhlenschmidt

	Fixed data tables with structs crashing due to recent editor selection optimizations

Change 3066886 on 2016/07/27 by Jamie.Dale

	Added required data to accurately detect TZ (needed for DST)

	#jira UE-28511

Change 3067122 on 2016/07/27 by Jamie.Dale

	Added AsTime, AsDateTime, and AsDate overrides to BP to let you format a UTC time in a given timezone (default is the local timezone).

	Previously you could only format times using the "invariant" timezone, which assumed that the time was already specified in the correct timezone for display.

Change 3067227 on 2016/07/27 by Jamie.Dale

	Added a test to verify that the ICU timezone is set correctly to produce local time (including DST)

Change 3067313 on 2016/07/27 by Richard.TalbotWatkin

	Fixed SplineComponent constructor so that old assets (prior to the property changes) load correctly if they had properties at default values.
	#jira UE-33669 - Crash in Dev-Editor

Change 3067736 on 2016/07/27 by Stephan.Jiang

	Border changes for experimental classes warning

Change 3067769 on 2016/07/27 by Stephan.Jiang

	HERE BE DRAGONS

	for experimental class warning

	#UE-33780

Change 3068192 on 2016/07/28 by Alexis.Matte

	#jira UE-33586 make sure we remove any false warning when running fbx automation test.

Change 3068264 on 2016/07/28 by Jamie.Dale

	Removed some code that was no longer needed and could cause a crash

	#jira UE-33342

Change 3068293 on 2016/07/28 by Alex.Delesky

	#jira UE-33620 - Comments on constant and parameter nodes in the Material Editor will now persist when converting them.

Change 3068481 on 2016/07/28 by Stephan.Jiang

	Adding Options to show/hide soft & hard references & dependencies in References Viewer

	#jira UE-33746

Change 3068585 on 2016/07/28 by Richard.TalbotWatkin

	Fix to Spline Mesh collision building so that geometry does not default to being auto-inflated in PhysX.

Change 3068701 on 2016/07/28 by Matt.Kuhlenschmidt

	Fixed some issues with the selected classes not updating when objects are deselected

Change 3069335 on 2016/07/28 by Jamie.Dale

	Fixed unintended error when trying to load a manifest/archive that didn't exist
	Fixed a warning when trying to load a PO file that didn't exist

Change 3069408 on 2016/07/28 by Alex.Delesky

	#jira UE-33429 - The editor should no longer hit an ensure if the user attempts to drop a tab into a tab well before the tab well has a chance to acknowledge its been dragged into a tab well.

Change 3069878 on 2016/07/29 by Jamie.Dale

	Fixed include casing

	#jira UE-33910

Change 3071807 on 2016/08/01 by Matt.Kuhlenschmidt

	PR #2654: Fix the spell'ing of "diff'ing" and "diff'd". (Contributed by geary)

Change 3071813 on 2016/08/01 by Jamie.Dale

	Fixed include casing

	#jira UE-33936

Change 3072043 on 2016/08/01 by Jamie.Dale

	Fixed FText formatting of pre-Gregorian dates

	We now convert to an ICU UDate via an ICU GregorianCalendar, as UE4 and ICU have a different time scale for pre-Gregorian dates.

	#jira UE-14504

Change 3072066 on 2016/08/01 by Jamie.Dale

	PR #2590: FEATURE: Collapse/expand folders in the outliner (Contributed by projectgheist)

Change 3072149 on 2016/08/01 by Jamie.Dale

	We no longer use the editor culture when running with -game

Change 3072169 on 2016/08/01 by Richard.TalbotWatkin

	A couple of changes to the BSP code:
	* Fixed longstanding issue where sometimes BSP geometry is not rebuilt correctly after editing it.  This was due to poly normals not being recalculated after translating vertices in Geometry Mode.
	* Fixed corruption to FPoly::iLink as it is overloaded to have two meanings: when building BSP, it represents the surface index of the next coplanar surface (and adding a new BSP node uses this to determine whether a new surface needs to be added or not). In other operations it represents an FPoly index, in general this is used more in editor geometry operations.  This fixes various crashes which arose from rebuilding BSP resulting in invalid FPoly indices.

	#jira UE-12157 - BSP brushes break when non-standard subtractive bsp brushes are used
	#jira UE-32087 - Crash occurs when creating Static Mesh from Trigger Volume

Change 3072221 on 2016/08/01 by Jamie.Dale

	Fixed "Launch On" not providing the correct cultures to StartCookByTheBookInEditor

	#jira UE-33001

Change 3073389 on 2016/08/02 by Matt.Kuhlenschmidt

	Added ability to vsync the editor.  Disabled by default.  Set r.VSyncEditor to 1 to enable it.

	Reimplemented this change from the siggraph demo stream

Change 3073396 on 2016/08/02 by Matt.Kuhlenschmidt

	Removed unused code as suggested by a pull request

Change 3073750 on 2016/08/02 by Richard.TalbotWatkin

	Fixed formatting (broken in CL 3057895) in anticipation of merge from Main.

Change 3073789 on 2016/08/02 by Jamie.Dale

	Added a way to mark text in text properties as culture invariant

	This allows you to flag properties containing text that doesn't need to be gathered.

	#jira UE-33713

Change 3073825 on 2016/08/02 by Stephan.Jiang

	Material Editor: Highligh all Nodes connect to an input.

	#jira UE-32502

Change 3073947 on 2016/08/02 by Stephan.Jiang

	UMG Project settings to show/hide different classes and categories in Palette view.

	--under Project Settings ->Editor->UMG Editor

Change 3074012 on 2016/08/02 by Stephan.Jiang

	Minor changes and comments for CL: 3073947

Change 3074029 on 2016/08/02 by Jamie.Dale

	Deleting folders in the Content Browser now removes the folder from disk

	#jira UE-24303

Change 3074054 on 2016/08/02 by Matt.Kuhlenschmidt

	Added missing stats to track pooled vertex and index buffer cpu memory
	A new slate allocator was added to track memory usage for this case.

Change 3074056 on 2016/08/02 by Matt.Kuhlenschmidt

	Renamed a few slate stats for consistency

Change 3074810 on 2016/08/02 by Matt.Kuhlenschmidt

	Moved geometry cache asset type to the animation category.  It is not a basic asset type

Change 3074826 on 2016/08/02 by Matt.Kuhlenschmidt

	Fix a few padding and sizing issues

Change 3075322 on 2016/08/03 by Matt.Kuhlenschmidt

	Settings UI improvements
	* Added the ability to search through all settings at once
	* Settings files which are not checked out are no longer grayed out.  The editor now attempts to check out the file automatically if connected to source control and if that fails it marks the settings file writiable so it can save the setting properly

	-------
	* This change adds a refactor to the details panel to support multiple top level objects existing in the details panel at once instead of combining all passed in objects to a single common base class.  This is disabled by default but can be turned on setting bAllowMultipleTopLevelObjects to true in FDetailsViewArgs when creating a details panel.
	*  Each top level object in a details panel will get their own customization instance.  This made it necessary to deprecate a IDetailsView::GetBaseClass since there is no longer guaranteed to be one base class.
	*Details panels can have their own customization for each "root object header" in order to customize the look of having multiple top level objects in the details panel.

Change 3075369 on 2016/08/03 by Matt.Kuhlenschmidt

	Removed FBX scene as a top level option in asset filter menu in the content browser.

Change 3075556 on 2016/08/03 by Matt.Kuhlenschmidt

	Mac warning fix

Change 3075603 on 2016/08/03 by Nick.Darnell

	Adding two new plugins to engine, one for editor and one for runtime based testing.  Currently the only consumer of these plugins is going to be the EngineTest project.

Change 3075605 on 2016/08/03 by Nick.Darnell

	Functional Testing - Continued work on cleanup, reorganization, trying to improve the workflow for using the session browser.

Change 3076084 on 2016/08/03 by Jamie.Dale

	Added basic support for localizing plugins

	You can now localize plugins! There's no localization dashboard integration for this so it has to be done manually.

	You need to define the localization targets your plugin uses in its .uplugin file, eg)

		"LocalizationTargets": [
			{
				"Name": "Paper2D",
				"LoadingPolicy": "Always"
			}
		]

	"Name" should match a localization config under the Config/Localization folder for your plugin. These configs are set-up the same as any other localization config.

	"LoadingPolicy" may be one of Never, Always, Editor, Game, PropertyNames, or ToolTips. This allows you to control under what conditions your localizations should be loaded (eg, if your plugin has both game and editor data, you can separate the editor data off into its own localization target that's only loaded by the editor).

	UAT has been updated to support gathering from plugins. You can use the "IncludePlugins" flag to have it gather all plugins, or you can specify a whitelist of plugins to gather as an argument to "IncludePlugins", or alternatively, may blacklist certain plugins via "ExcludePlugins". It can now also support out-of-source gathering via the "UEProjectRoot" argument (previously it assumed that everything would be under the UE4 install/checkout directory).

	UAT has been updated to support staging plugin LocRes files. It will stage any plugin targets that are enabled for a game/client build, and are also from a plugin that's enabled for your project.

	#jira UE-4217

Change 3076123 on 2016/08/03 by Stephan.Jiang

	Extend "Select all input nodes" function to general blueprint editor

Change 3077103 on 2016/08/04 by Jamie.Dale

	Added support for underlined text rendering (including with drop-shadows)

	FTextBlockStyle can now specify a brush to use to draw an underline for text (a suitable default would be "DefaultTextUnderline" from FCoreStyle). When a brush is specified here, we inject FSlateTextUnderlineLineHighlighter highlights into the text layout to draw the underline under the relevant pieces of text, using the correct color, position, and thickness.

	FSlateFontCache::GetUnderlineMetrics and FSlateFontRenderer::GetUnderlineMetrics have been added to handle getting the underline metrics (which are slightly different to the baseline).

	This change also adds FTextLayout::RemoveRunRenderer and FTextLayout::RemoveLineHighlight to fix some bad assumptions that FSlateEditableTextLayout and FTextBlockLayout were making about ownership of run renderers and line highlighters that could cause them to remove instances they didn't own (such as the new underline highlighter) when updating things like the cursor position or highlight.

Change 3077842 on 2016/08/04 by Jamie.Dale

	Fixed fallout from API changes

Change 3077999 on 2016/08/04 by Jamie.Dale

	Ensured that BULKDATA_SingleUse is only set by UFontBulkData::Serialize when loading

	This prevents it being incorrectly set by other operations, such as counting memory used by font data.

	#jira UE-34252

Change 3078000 on 2016/08/04 by Trung.Le

	Categories VREditor-specific UMG widget assets as "VR Editor"
	#jira UE-34134

Change 3078056 on 2016/08/04 by Nick.Darnell

	Build - Fixing a mac compiler warning, reodering constructor initializers.

Change 3078813 on 2016/08/05 by Nick.Darnell

	Reorganizing editor tests, establishing plugins in the EditorTest project that will house the tests.

Change 3078818 on 2016/08/05 by Nick.Darnell

	Additional rename and cleanup associated with test moving.

Change 3078819 on 2016/08/05 by Nick.Darnell

	Removing the Oculus performance automation test, not running, and was unclaimed.

Change 3078842 on 2016/08/05 by Nick.Darnell

	Continued reorganizing tests.

Change 3078897 on 2016/08/05 by Nick.Darnell

	Additional changes to get some moved tests compiling

Change 3079157 on 2016/08/05 by Nick.Darnell

	Making it possible to browse provider names thorugh the source control module interface.

Change 3079176 on 2016/08/05 by Stephan.Jiang

	Add shortcut Ctrl+Shift+Space to rotate through different viewport options

	#jira UE-34140

Change 3079208 on 2016/08/05 by Stephan.Jiang

	Fix new animation name check in UMG

Change 3079278 on 2016/08/05 by Nick.Darnell

	Fixing the build

Change 3080555 on 2016/08/08 by Matt.Kuhlenschmidt

	Merging //UE4/Dev-Main to Dev-Editor (//UE4/Dev-Editor)

Change 3081155 on 2016/08/08 by Nick.Darnell

	Fixing some issues with the editor tests / runtime tests under certain build configs.

Change 3081243 on 2016/08/08 by Stephan.Jiang

	Add gesture in LevelViewport to switch between Top/Bottom...etc.

Change 3082226 on 2016/08/09 by Matt.Kuhlenschmidt

	Work around animations not playing in paragon due to bsp rebuilds (UE-34391)

Change 3082254 on 2016/08/09 by Stephan.Jiang

	DragTool_ViewportChange init changes

[CL 3082411 by Matt Kuhlenschmidt in Main branch]
2016-08-09 11:28:56 -04:00
Matt Kuhlenschmidt
1da24c4701 Copying //UE4/Dev-Editor to //UE4/Dev-Main (Source: //UE4/Dev-Editor @ 3050373)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================

Change 2973846 on 2016/05/11 by Jamie.Dale

	Exposed FConfigValue::ExpandValue and added FConfigValue::CollapseValue

	These are both static and can be used to expand or collapse the macros used in our config files (mostly when dealing with paths), in code that has to deal with the config system, but isn't internal to the config system (mostly things that deal with default configs outside of UObjects).

	The old non-static version of FConfigValue::ExpandValue is now FConfigValue::ExpandValueInternal, which just calls FConfigValue::ExpandValue on SavedValue and ExpandedValue.

	This also changes some code that was using FString.Replace to use FString.ReplaceInline. This reduces allocations, and also allows us to avoid another string comparison to see whether the strings are identical (as ReplaceInline returns the number of replacements that were made).

Change 2973847 on 2016/05/11 by Jamie.Dale

	Changing the loading phase in the localization dashboard now writes to the default config

	#jira UE-30482

Change 2973866 on 2016/05/11 by Jamie.Dale

	Deprecated some functions that were taking an unused position.

	These unused parameters caused confusion and lead to UE-30276. The old versions have been deprecated, and new versions without those parameters have been added. Existing code has been updated to call the non-deprecated version.

	- FViewportFrame::ResizeFrame
	- FSceneViewport::ResizeFrame
	- FSceneViewport::ResizeViewport

Change 2974505 on 2016/05/11 by Nick.Darnell

	PR #2309: Added Combobox styling (Contributed by Chris528)

Change 2975241 on 2016/05/12 by Richard.TalbotWatkin

	Made sRGB Preview the default in the Color Picker.

Change 2975390 on 2016/05/12 by Jamie.Dale

	Made sure that en-US-POSIX is in our list of available cultures

	Some people use machine tags as their native text, so they need an invariant machine like culture to use as their native culture. en-US-POSIX is perfect for this.

Change 2975411 on 2016/05/12 by Jamie.Dale

	PR #2237: Fixed formatting of Error_TooManyMaterials message (Contributed by pfranz)

Change 2975559 on 2016/05/12 by Jamie.Dale

	Dialogue Wave VO direction can now be localized

	This is gathered as editor-only data.

	#jira UE-28715

Change 2975710 on 2016/05/12 by Jamie.Dale

	Implemented UObject::IsLocalizedResource to test whether the object belongs to a localized package

Change 2975728 on 2016/05/12 by Jamie.Dale

	Exported dialogue scripts now include a column that says whether they have a localized recording of that line of dialogue

	#jira UETOOL-794

Change 2975763 on 2016/05/12 by Jamie.Dale

	We no longer warn if asked to check out a UNC path when running the GatherText commandlets

	#jira UE-25833

Change 2975766 on 2016/05/12 by Jamie.Dale

	Resolved some loc key conflicts

	#jira UE-25833

Change 2975774 on 2016/05/12 by Jamie.Dale

	PO files now only contain a single entry in the case of a native translation being exported

	They used to contain the original entry, as well as an entry for the native translation, however the original entry would never be used.

	This change also cleans up some directory walking code that was looking for archive files, and replaces it with code to load the specific archive file.

Change 2975776 on 2016/05/12 by Jamie.Dale

	Downgraded a PO file import warning that isn't really an issue

	#jira UE-25833

Change 2976675 on 2016/05/13 by Jamie.Dale

	Fixed some more fallout from changes to use the window position when changing the game viewport mode

	- FSceneViewport::ResizeFrame:
	  - Fixed the HMD monitor info setting the wrong variables.
	  - Fixed SetWindowMode and ResizeViewport potentially being passed two different modes.
	  - We now only move the window if we need to (this avoids issues with WindowedFullscreen window positioning).

	- FWindowsWindow::MoveWindowTo:
	  - Now treats the screen space position it's given as relative to the top-left of the window, rather than the top-left of the windows' client area.

	- FWindowsApplication:
	  - WM_MOVE was passing a screen space position relative to the top-left of the windows' client area, rather than its window area like Slate expected.

	#jira UE-30276
	#jira UE-30677

Change 2976804 on 2016/05/13 by Jamie.Dale

	Slight optimization to FICUInternationalization::FindOrMakeCulture to avoid hitting the filesystem until we know we need to

Change 2976967 on 2016/05/13 by Alexis.Matte

	#jira UE-30687 Cannot import a skeletal mesh scale to zero

Change 2977042 on 2016/05/13 by Alexis.Matte

	#jira UE-29952 log a warning if fbx exceed the maximum number of LOD.

	#2326 Github PR

	#code review matt.kuhlenschmidt

Change 2977074 on 2016/05/13 by Jamie.Dale

	Follow up to CL# 2976804 to avoid a potential change in behavior

Change 2977076 on 2016/05/13 by Jamie.Dale

	Some tidy up and optimization to SCulturePicker

Change 2977327 on 2016/05/13 by Alex.Delesky

	Now deleting the Redirector package on Redirector Fix Up rather than simply removing it from the Content Browser.

	#jira UE-30423

Change 2977499 on 2016/05/13 by Alexis.Matte

	#jira UE-29475
	Enable UStruct child property to be favorite

Change 2978415 on 2016/05/16 by Jamie.Dale

	We now pre-load all the culture data when starting the editor to avoid a UI hitch later

Change 2978517 on 2016/05/16 by Alex.Delesky

	#jira UE-29406

	Creating a static mesh from a geometry brush and then attempting to reimport the mesh will no longer crash the editor.

Change 2978518 on 2016/05/16 by Alex.Delesky

	#jira UE-28210

	The FBX Importer no longer runs cleanup upon failing to import an FBX file and won't crash the engine the next time an FBX is imported within the same editor session.

Change 2978556 on 2016/05/16 by Alexis.Matte

	Fbx tests automation
	#jira UE-29635

Change 2978797 on 2016/05/16 by Alexis.Matte

	#jira UE-30774
	- prevent baking the pivot if we transform the vertex with the absolute transform.
	- Also make sure we set the identity for the Max puivot in case we dont bake the pivot and we dont transform the vertex with the absolute transform.

	#code review matt.kuhlenschmidt

Change 2978965 on 2016/05/16 by Alexis.Matte

	FBX importer, fix the socket rotation.
	#jira UE-30094

Change 2980613 on 2016/05/17 by Jamie.Dale

	Moved the XLOC UAT localization provider to be publicly accessible

Change 2980614 on 2016/05/17 by Jamie.Dale

	Reference update for project move

Change 2980633 on 2016/05/17 by Jamie.Dale

	Made the culture mapping used between XLOC and UE4 configurable on a per-project basis

	You can now override GetEpicCultureToXLocLanguageId in your custom localization provider in order to change the default mappings.

Change 2980836 on 2016/05/17 by Jamie.Dale

	Added -LocalizationSteps flag to allow you to only run a subset of the UAT "Localise" command

	You can pass any of the following steps: Download, Gather, Import, Export, Compile, GenerateReports, Upload

Change 2982700 on 2016/05/18 by Jamie.Dale

	Fixed the loc package gather potentially adding the same source location multiple times

Change 2983906 on 2016/05/19 by Jamie.Dale

	Slight cleanup of the way we register localization gatherer callbacks

Change 2984356 on 2016/05/19 by Chris.Wood

	Removed temporary analytics API change needed for earlier hot fix
	[UE-31005] - Undo temp Hardware Survey API change from 4.10 - CL 2782817

Change 2986679 on 2016/05/23 by Alex.Delesky

	#jira UE-24747 - Importing FBX files that contain meshes that do not have non-degenerate triangles will no longer crash the editor on import, and will warn the user that the meshes are bad.

Change 2986798 on 2016/05/23 by Alex.Delesky

	#jira UE-31136 - Chord Input fields will no longer display the blinking edit cursor if they do not have focus.

Change 2987106 on 2016/05/23 by Alexis.Matte

	Fbx importer, fail import must not create a package in the content browser
	#jira UE-31154

Change 2987563 on 2016/05/23 by Alex.Delesky

	#jira UE-30988 - Changed the default window mode when launching a game from the .uproject file to Windowed

Change 2987564 on 2016/05/23 by Alex.Delesky

	#jira UE-28856 - Fixed a crash that could potentially occur when starting up PIE while dragging objects like widgets in the editor.

Change 2988321 on 2016/05/24 by Jamie.Dale

	Added a way to backup and restore the selection state of a level (its actors and components) in a way that can be reapplied even if the level is reloaded

Change 2988708 on 2016/05/24 by Jamie.Dale

	Fix for crash when missing the fallback/last resort font

Change 2988782 on 2016/05/24 by Jamie.Dale

	Added the ability to version each localized string individually when loaded into the localization manager

	The single 32-bit global history has now been replaced with two 16-bit histories. One is global, and is updated whenever the culture is changed (or a LocRes file is loaded), and the other is local to each string, and is updated if the display string is changed outside of a culture update (to handle cases where the display string is changed, but the key is preserved). Changing the global history will reset all local histories.

	Because of the change from an int32 to a uint16, 0, rather than INDEX_NONE, is now considered the "unset" value for a history.

Change 2988856 on 2016/05/24 by Jamie.Dale

	Added a way to get the package(s) of the object(s) being edited by a property panel

	Typically the package is just the outermost of the object being edited, however there are some cases where this may not be the case:
	  - UMG widgets edit a transient copy of the real data, so we use the SetObjectPackageOverrides to override the package these objects should use to be the real asset package.
	  - Structs (UDS, Data Table, etc) don't have a way to get to their package, so you have to specify it on their FStructOnScope instance (see FStructOnScope::GetPackage and FStructOnScope::SetPackage). This has been hooked up for the UDS and Data Table editors.

Change 2988955 on 2016/05/24 by Alex.Delesky

	#jira UE-30645 - Adding in support for splash images to support .png and .jpg files. In general, this adds multi-extension support for external image references and external image picker modules.

	Git Request #2376

Change 2989418 on 2016/05/25 by Jamie.Dale

	Added a way to count text references within a package that match the given search criteria

	This can be used to detect whether a localization ID is unique within its package.

	The following search modes are available:
	  - MatchId: Detect a reference if it matches the given ID (ignoring the source text)
	  - MatchSource: Detect a reference if it matches the given ID and source string
	  - MismatchSource: Detect a reference if it matches the given ID but has a different source string

Change 2989436 on 2016/05/25 by Jamie.Dale

	Added "root-level" meta-data (meta-data associated with the package rather than an object within it)

Change 2989471 on 2016/05/25 by Alexis.Matte

	Fbx scene importer, fix naming clash when creating package we now also look in memory to find existing package not just on disk

Change 2989639 on 2016/05/25 by Jamie.Dale

	Added static version of FName::IsValidXName

	This allows you to verify name-like strings without having to convert them to an FName (and thus add them to the name table)

Change 2989716 on 2016/05/25 by Alex.Delesky

	#jira UE-30828 - The Standalone Session Frontend will now render the names of automation tests correctly instead of as solid white blocks.

Change 2990100 on 2016/05/25 by Alexis.Matte

	Fix crash when reimporting a mesh that originaly exceed the maximum number of LOD

	#jira UE-30907

Change 2991442 on 2016/05/26 by Bob.Tellez

	#UE4 Fix components in world not rendering when saved without a physics scene.

Change 2991736 on 2016/05/26 by Bob.Tellez

	#UE4 Fix duplicated worlds not being initialized when inactive. Re-enabled duplication of worlds in the content browser.

Change 2991942 on 2016/05/26 by Alex.Delesky

	#jira UE-31012 - Setting a Decimal Grid Interval value to 0 and using it will no longer crash the editor or cause an editor crash on startup.

Change 2991994 on 2016/05/26 by Alex.Delesky

	#jira UE-31177 - Attempting to export an entire level as an object file and choosing to export all materials as images will no longer crash the editor.

Change 2994037 on 2016/05/30 by Alexis.Matte

	Add Fbx Automation Tests
	- static mesh import reimport (sections and materials)
	- skeletal mesh import and reimport (sections and materials also bone position)
	- static/skeletal mesh LODs (import, add, reimport)
	- rigid mesh (import, reimport)

Change 2994253 on 2016/05/31 by Alexis.Matte

	Mikkt crash when computing the normals if there is more vertex then the number of wedge

	#jira UE-29143

Change 2994260 on 2016/05/31 by Alexis.Matte

	Make sure we cannot modify fbx test plan when json file is read only

Change 2994431 on 2016/05/31 by Alex.Delesky

	#jira UE-21900 - The scale widget should now render all axes when using an orthographic camera.

Change 2994432 on 2016/05/31 by Alex.Delesky

	#jira UE-31328 - New objects dragged into the scene will now comply with the Surface Snapping option in the viewport, and will not use the Surface Offset if snapping is disabled.

Change 2994537 on 2016/05/31 by Richard.TalbotWatkin

	Fixed potential crash in the Mesh Paint tool when non-transactable actors are in the SelectedActors list following a Redo.
	#jira UE-31172 - Crash related to Vertex Painting - MeshPaint!CastChecked<AActor,UObject>()

Change 2994983 on 2016/05/31 by Richard.TalbotWatkin

	Added some guard code to protect against a crash when editing geometry. Repro currently unknown, ensure was added in order to try to get more information.
	#jira UE-30820 - UT EDITOR: CRASH: Crash in Public Release CL#2973693

Change 2995022 on 2016/05/31 by Jamie.Dale

	PR #2428: Added missing END_OPTIMIZATION macro to SOutputLog (Contributed by MatzeOGH)

Change 2995027 on 2016/05/31 by Jamie.Dale

	PR #2409: fixed a small typo in GraphEditor.h (Contributed by MatzeOGH)

Change 2995963 on 2016/06/01 by Alex.Delesky

	#jira UE-31317 -  The transform gizmo will no longer block the placement of a material onto a mesh.

Change 2997002 on 2016/06/01 by Cody.Albert

	Fix to ensure ActiveTopLevelWindow is properly set after a window is destroyed

	#jira UE-31448

Change 2998013 on 2016/06/02 by Alexis.Matte

	Prevent static mesh materials array to grow when using the reset button in the staticmesh editor.

	#jira UE-12931

Change 2998370 on 2016/06/02 by Alexis.Matte

	Fbx Automation, add some import LOD test in case the options are not ok

Change 2999709 on 2016/06/03 by Jamie.Dale

	Fixed some issues with gathering text from BP bytecode

	Bytecode in Blueprints is very volatile, and can only be safely gathered after it's been compiled (which is not guaranteed to have happened by the time we save the package). This change avoids caching any assets that contain scripts (non-data-only Blueprints), and instead will always load them to perform a gather (which will ensure the Blueprint bytecode is up-to-date due to compile-on-load).

Change 2999755 on 2016/06/03 by Richard.TalbotWatkin

	Fixes to Spline Mesh collision generation.
	- Fixed a serious issue with DDC ID generation, in that the static mesh wasn't forming a part of the key, hence any two spline meshes with identical properties but different meshes would yield the same cache entry.
	- Fixed how different collision boxes are transformed when rebuilding physics meshes. Convex collision transforms are now correctly taken into account, and spherical and capsule collision now gets correctly translated when a scale is applied to the start or end of the spline mesh.
	- Optimized physics rebuilding.  A new BodySetup object is now only created when needed, otherwise it is reused.

	#jira UE-31361 - Splines handle box collision and collision from other shapes differently

Change 2999973 on 2016/06/03 by Jamie.Dale

	We now skip bulk data when detecting text references

	#jira UE-31596

Change 3000159 on 2016/06/03 by Alex.Delesky

	#jira UE-30244 - Added a safeguard against a potential crash when editing BSP brushes before placing another BSP brush into the level.

Change 3001814 on 2016/06/06 by Alexis.Matte

	Make sure the staticmesh Materials list dont grow when we reimport or override a LOD other then the base mesh.
	Add a fbx test to make sure the problem is flag by automation test

	#jira UE-1394

Change 3001820 on 2016/06/06 by Alex.Delesky

	#jira UE-19079 - Widget Blueprints should no longer crash when dragging widgets from one blueprint to a second and then compiling the second blueprint.

Change 3001915 on 2016/06/06 by Alexis.Matte

	Make sure we check attribute type before checking attribute unique ID in case of unique id clash.

	#jira UE-31214

Change 3002026 on 2016/06/06 by Alexis.Matte

	Importing morph target should not import textures like materials since the base mesh already import thoses.

	UDN Question:
	https://udn.unrealengine.com/questions/293973/does-importing-an-fbx-with-morph-targets-cause-a-m.html

Change 3002623 on 2016/06/06 by Jamie.Dale

	Fixing more loc conflicts

Change 3002883 on 2016/06/06 by Jamie.Dale

	Adding retry when dealing with OneSky

	This is attempting to compensate for some timeouts with OneSky, which were also noticed when testing UE-31413

Change 3003004 on 2016/06/06 by Trung.Le

	#jira UE-13101 - Make "Description" field for a BluePrint Function multiline

Change 3003859 on 2016/06/07 by Alexis.Matte

	#jira UE-30436 Refresh the property editor when a array element is added, remove, insert, delete and the property is favorite

Change 3004132 on 2016/06/07 by Jamie.Dale

	Fixed a hash conflict that could occur when both the case-sensitive and case-insensitive FName hashes were identical

	This resulted in the case-preserving FName being added to the head of the linked list for the bucket, which caused any subsequent name lookups to return that name index for the comparison index (since it matched an insensitive string comparison), rather than the name index of the first case-variant of that name that was added to the bucket.

	This change has new entries be inserted at the tail of the list, which ensures that enumeration for a case-insensitive name will always find the same entry in the bucket (the first one that was ever added) and will continue to compare correctly.

Change 3004286 on 2016/06/07 by Jamie.Dale

	Ensured that assignments that publish new names to the bucket are atomic

Change 3004310 on 2016/06/07 by Jamie.Dale

	Ensured FName internal hashes are returned as uint16

Change 3004381 on 2016/06/07 by Jamie.Dale

	FAsyncPackage now creates the meta-data before processing the remaining exports

	This matches the behavior of FLinkerLoad::LoadAllObjects, as other objects may depend on the meta-data being loaded before them.

Change 3004765 on 2016/06/07 by Alex.Delesky

	#jira UE-31498 - Material thumbnails will now render the full sphere rather than an extreme close-up of the material.

Change 3005754 on 2016/06/08 by Trung.Le

	Allow whitespace for meta class names
	#jira UE-31668

Change 3005755 on 2016/06/08 by Stephan.Jiang

	UMGSequencePlayer implements GetPlaybackContext() and return UserWidget->GetWorld() if it's valid

	#jira UE-31299

Change 3006512 on 2016/06/08 by Alex.Delesky

	#jira UE-31572 - The "All Classes" tab in the Modes panel will now refresh when a placeable asset is created, renamed, or deleted without needed to navigate away from the tab first.

Change 3006760 on 2016/06/08 by Jamie.Dale

	Added support for stable localization keys

	This feature adds support for preserving the existing key of an FText property when editing the source string, providing that it is the only reference to that string within the package. A side effect of this is that you're now able to specify custom keys for FText properties since we can now verify that the custom key won't cause an identity conflict.

	In order to limit the search domain for uniqueness to a single package, we've added the concept of a "localization namespace" to packages (stored in the meta-data). Each package is given a unique namespace, which is appended to the user-defined namespace of the text when it is modified, saved, or duplicated. This package namespace ensures that the same user-defined namespace and key may be used in different packages without causing an identity conflict.

	In order to access the package namespace within the Core code that hosts FText (which doesn't know about UPackage), FArchive now provides a GetLocalizationNamespace function to access the package namespace within the Core code, and a SetLocalizationNamespace function for CoreUObject and Engine code to pass down the package namespace from their packages.

	If you have an archive that handles duplicating objects into a different package, or duplicating packages themselves, then you'll want to make sure it's setting the package namespace correctly. FObjectReader and FObjectWriter have been updated to do this, and serve as a good example. FDuplicateDataReader (used by StaticDuplicateObject), and FCopyPropertiesArchiveObjectWriter (used when compiling Blueprints) have also been updated to set the package namespace, as they both handle copying objects between packages. TextNamespaceUtil provides a suite of functions for getting at (or setting) the namespace for a package.

	Keys will start to stabilize naturally over time once this feature is enabled, however the StabilizeLocalizationKeys commandlet may also be used to stabilize all the keys for a game at once. Running it for a game under source control would look something like this:
	  MyGame -run=StabilizeLocalizationKeys -IncludeGame -NativeCulture=en -EnableSCC

	This commandlet also updates your localization archives to use the new text identities, however you'll still need to run a localization gather and localization compile before the updated translations will be available for your game.

	Note: This feature is currently disabled via the USE_STABLE_LOCALIZATION_KEYS define. It will be enabled at a later date.

	#jira UETOOL-796

Change 3007501 on 2016/06/09 by Trung.Le

	#jira UE-31722
	Fix MaterialFunctions crash when editing text in Libraries Category Text field. Solution: Removed PredEdit and PostEdit from IEditableTextProperty, its derived types and other code that was calling them. The new SetText method already calls NotifyPreChange and NotifyPostChange to properly create/destroy ScopedTransaction.

Change 3007524 on 2016/06/09 by Jamie.Dale

	Added some additional checks to avoid re-keying text when duplicating for PIE

Change 3007564 on 2016/06/09 by Jamie.Dale

	PR #2401: DataTable import/export improvements (Contributed by bozaro)

Change 3007653 on 2016/06/09 by Jamie.Dale

	PR #2459: Generate JSON for nested structs in DataTable rows (Contributed by jorgenpt)

Change 3008019 on 2016/06/09 by Jamie.Dale

	Updated structs to export as JSON when displaying them in the Data Table editor

	This produces much cleaner results than using the text export method (which will use the internal names for user defined structs).

	This also cleans up the FDataTableExporterCSV and FDataTableExporterJSON APIs so that you don't need to pass in a UDataTable if you're not going to use it.

	#jira UE-29958

Change 3008052 on 2016/06/09 by Jamie.Dale

	Fixed bug importing an array inside a JSON Data Table

	This was noticed when testing a GitHub PR, but the JSON importer for a Data Table was appending the new data to the array rather than replacing it. It now clears the array prior to importing.

Change 3008875 on 2016/06/10 by Jamie.Dale

	PR #2406: Git plugin: Fix for Git diff not working in UE 4.12 (and master) (Contributed by SRombauts)

Change 3008879 on 2016/06/10 by Jamie.Dale

	PR #2484: Git Plugin: fix the Submit To Source Control menu broken by new "migrate" support in 4.12 (and master) (Contributed by SRombauts)

Change 3008990 on 2016/06/10 by Alex.Delesky

	#jira UE-15699 - Submitting to source control via the editor should now check for current asset status before prompting the user to submit their changes. This should prevent files that had been previously deleted from being readded to source.

Change 3008991 on 2016/06/10 by Alex.Delesky

	#jira UE-31688 - The Output Log will now automatically anchor to the bottom of the scroll bar when the user scrolls all the way down using the mouse wheel or clicking and dragging the content window.

Change 3010856 on 2016/06/13 by Alexis.Matte

	#jira UE-31713 Fix a serialize issue for skeletal mesh with apex cloth.

Change 3011736 on 2016/06/13 by Jamie.Dale

	Adding missing plurals.res file

	This is needed to get plural form information from ICU.

	#jira UETOOL-875

Change 3012387 on 2016/06/14 by Richard.TalbotWatkin

	Disabled the Paste context menu action if the property is marked as EditConst.
	#jira UE-27469 - User is able to paste values into a read-only setting

Change 3012971 on 2016/06/14 by Stephan.Jiang

	Editor Preferences->Widget Designer now have two options to toggle the visibilities of widgets created from Engine content folder and Developers folder.

	By default, visibility for engine content is off and developers is on

	#jira UE-31657

Change 3013111 on 2016/06/14 by Jamie.Dale

	Unified the number, percentage, and currency formatting between the ICU and Legacy text implementations

	Removed all the old legacy number formatting code, and removed the calls to the ICU specific number formatting. Everything is now using FastDecimalFormat as this will allow some optimizations later when formatting numbers in FText::Format.

Change 3015438 on 2016/06/15 by Cody.Albert

	Fixing ScrollBy function to calculate new scroll offset based on the current scroll offset and not the current desired scroll offset (which may not be the same during an animation)

	#jira UE-32082

Change 3016782 on 2016/06/16 by Richard.TalbotWatkin

	Corrected ConvexHull2D so that it returns an empty set of indices when passed an empty points array.

Change 3016949 on 2016/06/16 by Jamie.Dale

	Added FastDecimalFormat overloads to write into an existing string

	This helps avoid an extra allocation if you already have a pre-sized string that you're writing the number to (as is the case in FText::Format).

Change 3016952 on 2016/06/16 by Jamie.Dale

	Changed an Add for an Emplace to avoid moving a temporary

Change 3016954 on 2016/06/16 by Jamie.Dale

	Updated some FText code to avoid creating temporary objects just to move data through a hierarchy

	There was some code in FText and its internal types that were using pass-by-value as a marshaller to move data through a hierarchy. This resulted in temporary objects being created and destroyed to facilitate the movement of data.

	This change has all the internal FText code (private FText constructors, internal text data, and internal text history) take its movable types as an r-value reference. This avoids the temporary objects, but also makes it impossible to accidentally copy a construction argument when you meant to move it (you can still copy, but the copy must be explicit).

	In addition to this, FText::FromString and FText::AsCultureInvariant now have two overloads, const FString& and FString&&, to avoid them creating a temporary when you're invoking a move. FText::ChangeKey now takes its parameters by const& as their data wasn't being moved further down the chain, so the by-value copy was wasteful.

Change 3019021 on 2016/06/19 by Richard.TalbotWatkin

	When deleting a brush, ensure geometry is rebuilt before updating the details panel according to the selection change, so that the old Surface Properties don't continue to appear.
	#jira UE-8966 - Surface Properties of a BSP remain in the details panel after the BSP is deleted

Change 3019022 on 2016/06/19 by Richard.TalbotWatkin

	Fixed issue where the Surface Properties category in the Details panel doesn't appear after selecting a surface on a Brush which has just been placed.
	#jira UE-31916 - Selecting an edge of BSP geometry then a face does not show Surface Properties while in Place mode
	#jira UE-31915 - Selecting BSP face does not show Surface Properties in Details

Change 3019025 on 2016/06/19 by Richard.TalbotWatkin

	Fixed issue which was stopping 'Cancel' from correctly returning a 'Cancelled' result during P4 asynchronous ops.
	#jira UE-28595 - Submit to Source Control: "Checking for assets to check in..." cancel button does not cancel operation, editor becomes unresponsive

Change 3020050 on 2016/06/20 by Cody.Albert

	Changed window centering logic to correctly work when monitor 1 isn't set to primary monitor.

	#jira UE-32173

Change 3021145 on 2016/06/21 by Jamie.Dale

	Added support for text format argument modifiers

	These can be used to mutate a format argument before appending it to the resultant formatted string, and are applied to the preceding argument via a pipe, eg) "{Arg}|plural(one=is,other=are)".

	We provide a few of these by default:
	 - |plural(key=val,...)
	 - |ordinal(key=val,...)
	   Provides support for cardinal and ordinal plural forms, where key may be any of "one", "two", "few", "many", or "other", and val may be any optionally quoted string.
	 - |gender(masculine,feminine,[neuter])
	   Provides support for gender forms, where the 0th item is the masculine version, the 1st item is the feminine version, and the 2nd item is an optional neuter version. The values may be any optionally quoted string.
	 - |hpp(consonant,vowel)
	   Provides support for Hangul post-positions, where the 0th item is the consonant suffix, and the 1st item is the verb suffix. The values may be any optionally quoted string.

	Major changes:
	 - Exposed the ICU plural form handling via FCulture::GetPluralForm.
	 - Updated the FText formatting code to use an expression evaluator (to support the more complex expressions needed for the argument modifiers).
	 - Added FTextFormat to store a pre-compiled format expression. Re-using one of these if you're performing a lot of formats with the same FText will increase your performance (as around half of the FText::Format cost can be compilation, via an implicit construction of FTextFormat).
	 - Updated the FText::Format(...) family of functions to take their format string as FTextFormat, and take their arguments as FFormatArgumentValue. This allows us access to the real numeric types within the format code, but doesn't break the existing API as these types are implicitly constructible from the old parameters (FText).
	 - Converted text history to store their format string as an FTextFormat in-case they need to perform a re-format (this is still saved as an FText).

	Breaking changes:
	 - The rules for the escape token have been simplified, and there is an incredibly unlikely chance that this may affect some text:
	   - The ` character will now only escape a valid character (producing only the escaped character in the final string), or it will be ignored and inserted as a literal character, eg) "`{F" -> "{F", and "`F" -> "`F".
	   - Previously it would also remove the escape character when it followed { or }, eg) "{`" -> "{" and "}`" -> "}", rather than "{`" and "}`" like you might expect. It would also have previously removed a ` at the end of a string due to a parser bug.

Change 3021156 on 2016/06/21 by Jamie.Dale

	Updated LinuxToolChain to use the same output delegate for all of its actions when cross-compiling

	This avoids the compile and link actions being split into different batches.

Change 3021280 on 2016/06/21 by Richard.TalbotWatkin

	Fixed bug in parsing LOD in UStaticMeshComponent::ImportCustomProperties (thanks to Aurelien Cordonnier).
	#jira UE-31937 - UDN code submission for UStaticMeshComponent::ImportCustomProperties parsing bug

Change 3022949 on 2016/06/22 by Alex.Delesky

	#jira UE-31944 - Upgrading Subversion binaries to version 1.9.4.

Change 3023092 on 2016/06/22 by Jamie.Dale

	Downgraded some checks to ensures and added an early out

	#jira UE-32009

Change 3023154 on 2016/06/22 by Jamie.Dale

	Ported over CL# 3018771 to the UE automation

	This fixes an issue where a downloaded PO file smaller than the one already on disk leaving a mix of both files on disk (rather than the existing file on disk being truncated).

Change 3023579 on 2016/06/22 by Jamie.Dale

	Expanded the Blueprint FormatText node to support numeric and gender types

	These are needed to correctly support the new plural and gender forms that can be used in format strings, as these require actual numeric/enum data to be passed into the format arguments, rather than pre-formatted text.

	Major changes:
	 - The FormatText node for Blueprints now uses PC_Wildcard as its pin type for format arguments instead of PC_Text.
	   - Any existing literal text argument data in the pin is hoisted out into a "Make Literal Text" node which is then connected to the pin.
	 - FFormatArgumentData has been updated to be variant on the data needed by Blueprints. It's now a less comprehensive and non-unioned version of FFormatArgumentValue.
	 - The version of FText::Format taking FFormatArgumentData has been deprecated as its usage was internal to Blueprints and we have much better ways to format text in C++. Any existing C++ using that (of which we have none internally) should be updated to use FFormatArgumentValue instead.

Change 3023915 on 2016/06/22 by Jamie.Dale

	Cleaned up some of the UK2Node_FormatText expansion code to avoid unchecked literals

Change 3024813 on 2016/06/23 by Jamie.Dale

	Renamed FContext to FManifestContext to better reflect its purpose and avoid naming conflicts with other code

Change 3024852 on 2016/06/23 by Nick.Darnell

	FBX - Updating automation tests with the changes to chunk  and chunk index removal and them being merged with sections.

Change 3024994 on 2016/06/23 by Nick.Darnell

	UMG - Removing the DesignerWidgetTree, instead going to directly inject the widget tree into the partially constructed UUserWidget during design time, when refreshing the preview.  This avoids doing something a little dangerous and sketchy like updating the living class instance with a new designer tree that all new instances will begin biasing using.  Also making the preview widget explictly non-transactional as there's no reason to track changes to the preview, all the changes that need to be tracked should be on the template widget.  This should fix the crash in the widget designer when you Undo just after compiling the widget blueprint.

	#jira UE-31155

Change 3025194 on 2016/06/23 by Alex.Delesky

	#jira UE-31155 - Compilation error fix.

Change 3025255 on 2016/06/23 by Alex.Delesky

	#jira UE-21900 - Redoing changes done in CL 2994431 since it got stomped. Reinstates the grabber handles and ensures consistent scaling on the scale widget in orthographic viewports.

Change 3025460 on 2016/06/23 by Cody.Albert

	Fixed issue where widget components would misalign when aspect ratio was being constrained

	#jira UE-29637

Change 3025508 on 2016/06/23 by Cody.Albert

	Adding support for adjusting animation playback speed

	#jira UE-32222

Change 3026444 on 2016/06/24 by Jamie.Dale

	Fixed crash caused by bad access of shared this when closing an active IME context

	This was only needed to get the owner window, which we now cache when the IME context is created.

	#jira UE-32240

Change 3028358 on 2016/06/27 by Jamie.Dale

	Fixed IMEs not working due to no window being cached

	#jira UE-32240

Change 3028464 on 2016/06/27 by Alex.Delesky

	#jira UE-31873 - A single "Files need check-out" notification will now be shown instead of multiple notifications if multiple files need to be checked out, and updated as more files need to be checked out.

Change 3028524 on 2016/06/27 by Chris.Wood

	Switched off uploads to legacy Crash Report Receiver.
	[UE-31252] - Switch off deprecated CRR upload in Crash Report Client

	Also added CRC version string, added to crash context from CRC config

Change 3028840 on 2016/06/27 by Alexis.Matte

	#jira UE-32306 replace material bad name character by an underscore when doing a scen import.

Change 3028924 on 2016/06/27 by Alexis.Matte

	#jira UE-32125 Make sure we can add a plan when a fbx file is drop in the fbx automation test folder

Change 3029044 on 2016/06/27 by Alex.Delesky

	#jira UE-31944  - Updating SVN binaries for Mac to 1.9.4

Change 3029276 on 2016/06/27 by Alex.Delesky

	#jira UE-31531 - A user can now select the base class when creating a new physical material.

	PR #2462: added dialog, which enables picking base class for asset (Contributed by iniside)

Change 3029459 on 2016/06/27 by Alexis.Matte

	#jira UE-32354 Make sure we set all blueprint component to the correct mobility set in the scene import options.

Change 3030577 on 2016/06/28 by Nick.Darnell

	PR #2531: Git plugin: fix wrong status icons (Contributed by SRombauts)

Change 3030587 on 2016/06/28 by Alexis.Matte

	#jira UE-32251 add missing body setup variables when restoring the body setup value after a re-import of a staticmesh

Change 3030946 on 2016/06/28 by Alexis.Matte

	#jira UE-32515 prevent crash when re-import staticmesh userdata

Change 3031115 on 2016/06/28 by Jamie.Dale

	The DDC builder now gives the shader compile worker a chance to catch up when it pauses to run a GC pass

	This prevents an issue where the shader backlog could cause massive amounts of memory to be consumed.

Change 3031146 on 2016/06/28 by Jamie.Dale

	Fixed errors when building with USE_STABLE_LOCALIZATION_KEYS enabled caused by UEdGraphPin no longer being a UObject

Change 3031357 on 2016/06/28 by Nick.Darnell

	PR #2431: Add plugin support to the editor class wizard. (Contributed by Koderz)

Change 3031515 on 2016/06/28 by Jamie.Dale

	Fixed game targets not being able to depend on other game targets

Change 3031520 on 2016/06/28 by Jamie.Dale

	Localization compilation now specifies an ArchiveName to use

Change 3031671 on 2016/06/28 by Nick.Darnell

	Editor - Checking to see if a weak variable is valid before using it in the editor build window.

Change 3032013 on 2016/06/28 by Matt.Kuhlenschmidt

	Added ability to invert the Y axis in editor viewports for mouse look and orbit

Change 3032495 on 2016/06/29 by Jamie.Dale

	Fixed some measuring issues with bi-directional text within a right-flowed document

	There were three main issues:
	  1) Measuring blocks was measuring visual glyphs rather than logical glyphs (this caused bad measures/wrapping and overlapped rendering).
	  2) The text layout would consider blocks visually contiguous without making sure the block flow direction matched the line flow direction (this caused bad highlights).
	  3) The text layout would fail to compensate for a non-contiguous block that had a flow direction different to the line flow direction (it was hard-coded for RTL in LTR, so broke for LTR in RTL - this caused bad highlights).

	#jira UE-32526

Change 3032533 on 2016/06/29 by Nick.Darnell

	UMG - The widget component now extends from UMeshComponent, it can have a custom material applied to it, in order to achieve cooler effects - like ignoring the depth buffer.  Users who use this option are encouraged to start with the widget components default material and work from there.  The widget component now offers the ability to automatically size the render target to be the desired size of the widget - note that this can go real bad if your widget wants to be really big.

Change 3032855 on 2016/06/29 by Alexis.Matte

	#jira UE-32508 Remove the cachewindow from the FTextInputMethodContext constructor since it will be cache only when the IME is activated

	#test please re-test also UE-32240

Change 3033145 on 2016/06/29 by Alex.Delesky

	#jira UE-32239 - The PropertyEditorModule will no longer cause a crash on editor shutdown if a SDetailsView widget tries to force refresh itself when the Slate application is no longer initialized.

Change 3033147 on 2016/06/29 by Alex.Delesky

	#jira UE-32326 - Clicking on the "Install {compiler}" button when trying to create a new code class or code project will now not crash the engine if it fails to open the installation file for write, nor will it create multiple notifications if the button is pressed repeatedly.

	This also addresses a potential issue with static initialization order when it comes to adding TickableEditorObjects to its corresponding array, since it was wholly possible for a statically initialized TickableEditorObject to initialize itself and add itself to the tickable objects arra before the tickable objects array was initialized, causing that object to not get ticked at runtime and causing a crash when the editor was closed.

Change 3033162 on 2016/06/29 by Alex.Delesky

	#jira UE-31827 - Undo/redo now works in the Material function editor.

Change 3033391 on 2016/06/29 by Matt.Kuhlenschmidt

	Fix post process settings blendable picker not being readable in the details panel

Change 3033498 on 2016/06/29 by Matt.Kuhlenschmidt

	Fixed huge number of redundant calls to CanEditChange and
	DiffersFromDefault that were causing massive performance loss when
	thousands of objects are selected. CanEditChange and DiffersFromDefault
	are now cached each time a property value changes.

	Fixed redundant calls for getting visualizers for each selected
	object.  This is now cached on selection

Change 3033504 on 2016/06/29 by Matt.Kuhlenschmidt

	Fix Mass customization on the body instance not working with undo/redo or reset to default

Change 3034357 on 2016/06/30 by Alex.Delesky

	#jira UE-31184 - Renamed the multiple collision components in the cascade particle system to more accurately reflect what they represent.

Change 3035915 on 2016/07/01 by Richard.TalbotWatkin

	Fix to SListPanel so that those with horizontal arrangement (i.e. from STileView) use the number of desired items instead of the number of actual items in order to calculate the desired size of the geometry.  This fixes the case where an STileView is contained within an SScrollBox.
	#jira UE-32195 - STileView no longer works correctly when placed inside of a SScrollBox

Change 3035951 on 2016/07/01 by Richard.TalbotWatkin

	Fixed issue when importing a brush, so that the brush is always validated (relinked), whether it be a static or dynamic brush. This is because the process of rebuilding a dynamic brush sets the link indices to signify FBspSurf indices from the UModel instead of FPoly indices (the FPoly::iLink member is overloaded in its meaning). Always forcing a relink correctly sets the linked list of coplanars.
	#jira UE-32087 - Crash occurs when creating Static Mesh from Trigger Volume

Change 3036991 on 2016/07/04 by Alexis.Matte

	#jira UETOOL-901 Scene importer now support the rigid mesh animation

Change 3037037 on 2016/07/04 by Jamie.Dale

	Fixed regression in editable text box alignment

	Text was no longer vertically aligned center since SEditableText was converted to use a text layout. This vertical alignment is now handled by the outer SEditableTextBox instead.

Change 3037057 on 2016/07/04 by Richard.TalbotWatkin

	Fixed screenshots when running automation tests so that they are saved locally when a FAutomationWorkerScreenMessage is received.
	#jira UE-29815 - In-game screenshot isn't working under certain circumstances

Change 3037082 on 2016/07/04 by Chris.Wood

	Added detection of asserts and passing assert flag and crash type string to crash reports.
	[UE-30592] - Crash Reporter should determine crash type on client and pass string to server

	Reviewe by Steve with reservations about the static variable for setting asserted state. While not thread-aware, this is probably accurate enough for the purpose of crash reporting, certainly for now. I'm submitting it like this because the work required to add fully thread-aware fix is not necessary at this point.

Change 3037095 on 2016/07/04 by Alexis.Matte

	Fix the bone name when duplicating a socket.

Change 3037453 on 2016/07/05 by Stephan.Jiang

	Adding ability to animate the root wigdet #2
	FHierarchyRoot adds the preview widget instead of CDO to selectedobjects in widgetblueprint
	the properties are then migrated back to the CDO

	#UE 31810

Change 3037487 on 2016/07/05 by Jamie.Dale

	Fixed crash caused by stale BP pointer

	#jira UE-32325

Change 3037488 on 2016/07/05 by Jamie.Dale

	Fixed a crash that could occur when a class and a folder had the same name

Change 3037526 on 2016/07/05 by Jamie.Dale

	Speculative fix for a potential race condition when shutting down the editor while a "launch" was in progress

	The launch-thread could potentially queue up a request after the game-thread had requested it cancel, and cleared out any queued tasks. This change has the game-thread wait for the launch-thread to acknowledge its cancellation before continuing with editor shutdown.

	#jira UE-17688

Change 3037557 on 2016/07/05 by Alex.Delesky

	#jira UE-32424 - Added a safeguard to ensure that renaming a world that was duplicated from another world would not crash the editor if both worlds' lightmaps and shadowmaps were still active in memory, due to the editor attempting to rename identical textures from different packages to the same location.

	The actual fix to this issue was performed in an earlier CL, but this should prevent the editor from crashing if the issue returns.

Change 3037558 on 2016/07/05 by Alex.Delesky

	#jira UE-32285 - Importing assets to the Content Browser via drag and drop operations are no longer permitted while the UI file picker dialog is opened.

Change 3037559 on 2016/07/05 by Alex.Delesky

	#jira UE-32075 - The user can no longer attempt to import non-FBX and non-OBJ files when importing into a level.

Change 3037593 on 2016/07/05 by Stephan.Jiang

	GitHub #2549: Add function for setting the playback rate of UMG animations
	original code shelved in CL 3033449

	#UE-32653

Change 3037605 on 2016/07/05 by Jamie.Dale

	Fixed infinite recursion that could happen when gather loc from an object with a custom callback

	#jira UE-32670

Change 3037649 on 2016/07/05 by Nick.Darnell

	PR #2538: [WidgetBlueprintLibrary] GetAllWidgetsOfClass, Added META ~ DeterminesOutputType, DynamicOutputParam, removes the need for extra cast,   Rama (Contributed by EverNewJoy)

Change 3037652 on 2016/07/05 by Nick.Darnell

	Clean - Removing commented out code.

Change 3037658 on 2016/07/05 by Matt.Kuhlenschmidt

	Fix initial hitch when dragging around in a color picker opened from a material expression node.

Change 3037679 on 2016/07/05 by Nick.Darnell

	Engine - Texture2D no longer forces the MIP level to 0 for TextureGroup_UI textures.

Change 3037757 on 2016/07/05 by Nick.Darnell

	PR #2447: WebBrowser widget: Added GetUrl method and OnUrlChanged property (Contributed by nelbok)

Change 3037840 on 2016/07/05 by Nick.Darnell

	UMG - Now allowing for spirtes to be used just like textures and materials on UMG widgets anywhere that takes a brush, can now also take a Sprite.  There is now a ISlateTextureAtlasInterface interface that any UObject may now implement if it wishes to integrate with UMG to provide its atlas data in a form Slate can understand.

Change 3037924 on 2016/07/05 by Jamie.Dale

	Re-ordered variable initialization to appease a warning on Mac

Change 3037981 on 2016/07/05 by Jamie.Dale

	Fixed crash where FColorStructCustomization could call SetPerObjectValues with an empty array

	#jira UE-32639

Change 3038075 on 2016/07/05 by Cody.Albert

	Removed misleading error message in HandleCECommand

	#jira 28007

Change 3038231 on 2016/07/05 by Alexis.Matte

	#jira UE-30694 We set the section collision only if there is an imported collision or a generated one. If there is no collision we do not set the collision flag.

Change 3038275 on 2016/07/05 by Alex.Delesky

	#jira UE-32689 - "Game Gets Mouse Control" will now override the Capture Mouse on Launch setting when launching the game from within a Level Viewport (i.e., within the editor window itself).

Change 3039310 on 2016/07/06 by Trung.Le

	#jira UE-25005 Change PIE Key Bindings
	- Removed Shift+F1 and Esc from BaseInput.ini
	- Created new customizable key binding for
	   + Shift+F1: same functionality.
	   + Esc: now will pause the play session and bring back the mouse cursor. Clicking the mouse on the viewport should resume play session.
	   + Shift+Esc: now will stop the play session

Change 3039458 on 2016/07/06 by Trung.Le

	Removed unused code in StaticMeshLight.cpp

Change 3039827 on 2016/07/06 by Frank.Fella

	FString - Fix divide overload path concatenation for empty paths since there are several places in the engine that expect using that doing { path / "" } will append a / onto path.

	#jira UE-31959

Change 3041094 on 2016/07/07 by Nick.Darnell

	WebBrowser - Fixing an issue where the web browser widget plugin wasn't loading soon enough to be properly loaded in time if it was referenced by game nessesary content thatloads in the Default stage of the pipeline, so moving it to PreDefault.

	#jira UE-32694

Change 3041110 on 2016/07/07 by Matt.Kuhlenschmidt

	Fix visualizers on blueprint actors not working when the internal components are trashed and replaced

Change 3041302 on 2016/07/07 by Chris.Wood

	Increased buffer size for crash uploads.
	[UE-32151] - High number of crashes read from S3 by Crash Report Process are failing to unpack

	Trivial change in dev branch - no code review

Change 3041969 on 2016/07/07 by Nick.Darnell

	UMG - Input Key Selector now no longer adds a bogus Selected Key property to the details panel.

Change 3041971 on 2016/07/07 by Nick.Darnell

	UMG - Not using separate settings for the Engine/Developer folders visible in the UMG palette, now just using the same setting that powers the content browser.

Change 3042612 on 2016/07/08 by Trung.Le

	#jira UE-25005, set Shift+Esc defaults to toggle play/pause and Esc remains defaults to quit

Change 3042732 on 2016/07/08 by mitchell.wilson

	Adding test content for UMG Paper 2d Atlas test

Change 3042780 on 2016/07/08 by mitchell.wilson

	Updating UMG_Paper2d test content for UMG Paper 2d Atlas testing

Change 3042870 on 2016/07/08 by mitchell.wilson

	Renaming UMG_Paper2d to UMG_Sprite

Change 3044104 on 2016/07/10 by Nick.Darnell

	PR #2104: Improved widget input support (Contributed by projectgheist)

Change 3044107 on 2016/07/10 by Nick.Darnell

	Slate - Fixing the slider handle rendering to no longer run off the edge and get cut off.

	#jira UE-25750

Change 3044377 on 2016/07/11 by Chris.Wood

	Add Slack messaging module - Epic Friday

Change 3044536 on 2016/07/11 by Alex.Delesky

	#jira UE-7293 - Mouse locking to viewport is now determined off an enum instead of a boolean, to allow for more flexibility when upgrading with new features.

Change 3044922 on 2016/07/11 by Nick.Darnell

	Slate/UMG - Working on better support for VR interactions with Slate widgets.  This change fixes a lot of issues with the way interaction works with slate widgets rendered in the virtual world.  Breakages, direct mouse interaction with widgets in the virtual world is no longer supported.  Those kinds of interactions must all use the WidgetInteractionComponent now, which by default works similar to the lasers in VREditor for interaction.  However - you can disable automatic hittesting, and instead provide a custom hitresult instead if you want to use screen tracing and act like you're just a mouse cursor that is supported.  Menu anchors now properly function inside of widgets in the virtual world.  Performance improvements - the viewport no longer arranges all 3d widgets every frame.  Additionally, Widget Components now support a whole bunch of methods for reducing how often they redraw to help control performance, they also support manual refresh.  This automatically works in tandem with the widget interaction component to request refresh whenever the widget interaction component is interacting with the widget, thus giving you a simple way to only redraw widgets that the user is hovering on top of.  Unrelated - this change also fixes Stop navigation commands not working with Next/Prev navigation - Wrap is still unsupported.

Change 3045157 on 2016/07/11 by Nick.Darnell

	Slate - Always consume the bottom face button of the analog cursor, even if it's a repeat.

Change 3045355 on 2016/07/11 by Matt.Kuhlenschmidt

	Added logging for unreproducible top 10 crash in matinee when a track ends up not being able to add a keyframe

Change 3045358 on 2016/07/11 by Alex.Delesky

	#jira UE-31179 - The editor should now log additional information and hit an assertion if the editor tries to construct FObjectOrAssetData using invalid data. This doesn't stop the crash, but should help get some extra info when it does break.

Change 3045371 on 2016/07/11 by Matt.Kuhlenschmidt

	Enable the widget reflector from the editor console by typing "widgetreflector"

Change 3045387 on 2016/07/11 by Stephan.Jiang

	Stripping off 'b' in the propertyname so that "Is Enabled" is animated properly.

	#UE-31874

Change 3046093 on 2016/07/12 by Nick.Darnell

	UMG - The Slider now exposes the IsFocusable option from Slate.

	#jira UE-32960

Change 3046094 on 2016/07/12 by Alexis.Matte

	#jira UE-32807 scene re-import blueprint hierarchy kept some part of old blueprint component value.

Change 3046104 on 2016/07/12 by Stephan.Jiang

	typo "Syc" causing the "Sync" button doesn't show Slateicon

	#UE-31409

Change 3046142 on 2016/07/12 by Nick.Darnell

	Orion - Upgrading more code to use the new input mode functions and not the deprecated ones.

Change 3046165 on 2016/07/12 by Nick.Darnell

	UMG - Fixing a crash on the widget component if the render target is null when reapplied through widget component data.

	#jira UE-32844

Change 3046255 on 2016/07/12 by Nick.Darnell

	UT - More build warning fixes for the new Input Mode methods.

Change 3046604 on 2016/07/12 by Richard.Hinckley

	Adding a template file and code to support creating a UInterface directly from the New C++ Class wizard.

Change 3047071 on 2016/07/12 by Matt.Kuhlenschmidt

	Better way of summoning the widget reflector from the console

Change 3047842 on 2016/07/13 by Matt.Kuhlenschmidt

	Mark Subdivision surface setting as advanced since it is experimental and definitely for advanced users only

Change 3048754 on 2016/07/13 by Trung.Le

	#jira UE-32159 Automatically regain focus after user gets mouse control during PIE session so we can continue process PIE keybinding commands

Change 3048756 on 2016/07/13 by Trung.Le

	Removed default toggle pause/play keybinding from BaseInput.ini, instead we should use the action defined in DebuggerCommands that is customizable

Change 3048865 on 2016/07/13 by Trung.Le

	#jira UE-32159 SGlobalPlayWorldActions widget shouldn't clear out active widget pointer when it's being handled properly

Change 3048892 on 2016/07/13 by Nick.Darnell

	UMG - Fixing a problem with the interaction component, it now does some basic intelligent ignoring of anything it's attached to - excluding widget components.  So it's easier to attach it to things that might be inside of a say a player collision capsule.  Also removing the 'Max Interaction Distance' from the widget component as that is no longer the arbitor of interaction distance.

	#jira UE-33250

Change 3049096 on 2016/07/13 by Trung.Le

	Wrap SGlobalPlayActions around ViewportWidget instead of making it a child of ViewportWidget. This was causing PIE to stop working when there are other UMG in game.
	#jira UE-33259

Change 3049177 on 2016/07/13 by Stephan.Jiang

	Fixing the "No Animation Selected" tag shows up after switching back from Graph to Designer.

	#UE-33016

Change 3049726 on 2016/07/14 by Stephan.Jiang

	Adding icons for terrain mirror tool

	#UE-20588

Change 3049957 on 2016/07/14 by Nick.Darnell

	Slate - Fixing a small bug in the virtual user function - was preventing getting the same virtual user multiple times if it had already been created.  Adding an option to the widget component to control the focusabilty of the underlying slate window that's created to host the widget content.  Adding an option to the widget interaction component to control if it should be simulating mouse input at all - use this to effectively disable hit testing, and changing hover states and the like.

Change 3049994 on 2016/07/14 by Stephan.Jiang

	Set viewed animtion to current animtion after switching from Graph to Designer
	(This is for "No Animation Selected" showing up when switching)

	#UE-33016

Change 3050194 on 2016/07/14 by Stephan.Jiang

	Added ability to replace the widget the track is currently bound to
	Also includes changes in WidgetBlueprintEditor to send delegate to AnimationtabSummoner when switching from Graph to Designer

	#UE-31809

[CL 3050870 by Matt Kuhlenschmidt in Main branch]
2016-07-14 19:07:16 -04:00
Bob Tellez
c747634240 Copying //UE4/Fortnite-Staging to //UE4/Dev-Main (Source: //UE4/Fortnite-Staging @ 3026859)
#rb none
#lockdown Nick.Penwarden

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

Change 3016173 on 2016/06/16 by Lukasz.Furman

	fixed path updates in nested move tasks
	#jira FORT-25742

Change 3015722 on 2016/06/15 by Bob.Tellez

	#UE4 Avoiding a crash in FOnlinePartySystemMcp::PublishPartyInfoToPresence

	#JIRA OR-14102

Change 3015626 on 2016/06/15 by Bob.Tellez

	#UE4 Experimental fix for hitches involving spinlocks in windows.

	#JIRA FORT-25253

Change 3015473 on 2016/06/15 by Bob.Tellez

	#UE4 Compiling CrashReportClient in VS2013 instead of 2015 until we can figure out the appropriate way to install the redist on end-user machines.

	#JIRA FORT-25748

Change 3014721 on 2016/06/15 by Bob.Tellez

	#UE4 Returning false in cases where we want to skip replication of GameplayAbilities structures in NetDeltaSerialize. This fixes a bug where actors trying to become net dormant were not allowed because they were continuously reporting that they had data to replicate.

	#JIRA FORT-25689

Change 3014323 on 2016/06/15 by Rob.Cannaday

	When kicked from lobby beacon, restore the persistent party after leaving the previous persistent party
	#jira FORT-25407
	#tests front end parties, being kicked from outpost lobby

Change 3013712 on 2016/06/14 by Bob.Tellez

	#UE4 Fix DrawNetDriverDebug crash during map transitions

Change 3013418 on 2016/06/14 by Mark.Satterthwaite

	Don't release Metal buffers directly into the buffer pool, instead defer this until the command-buffer is known to have finished. This prevents the CPU from trying to modify the buffer while the GPU is still reading it if the GPU has fallen so far behind the CPU and therefore eliminates one possible cause of invalid access on the GPU.
	#jira FORT-24510

Change 3013394 on 2016/06/14 by Mark.Satterthwaite

	Report Metal command-buffer failures in MetalQuery in the same way as MetalCommandList and make them fatal as well. This ensures that the game doesn't try to continue if the commands failed as that is unsafe.
	#jira FORT-24808

Change 3012977 on 2016/06/14 by Fred.Kimberley

	Add a blueprint exposed function to evaluate an attribute from a given base value.

Change 3012755 on 2016/06/14 by Bob.Tellez

	#UE4 ExclusiveInternalFlags is now respected when passing in a null ObjectPackage in StaticFindObjectFastInternalThreadSafe

	#JIRA FORT-113

Change 3011948 on 2016/06/13 by Mark.Satterthwaite

	Workaround a Fortnite crash on launch for Mac OpenGL - one or more shaders are using the bit-cast operators (asuint(), asfloat()) that aren't available with GLSL version 150. In order to use them the GLSL version must be 330 which means switching the version tag at runtime. There will be Mac GPUs on 10.10.5 which don't correctly implement these instructions so this really isn't a fix - that would be to change shaders to not use SM5-level instructions.

Change 3011659 on 2016/06/13 by Bob.Tellez

	#UE4 Better handling of checked state in SGameplayTagWidget::IsTagChecked. Checking direct child tags was not sufficient and also not needed since HasTag allows you to follow parent tags when checking for an explicit tag.

Change 3011647 on 2016/06/13 by Rob.Cannaday

	Fix for multiple account login not kicking previous logins
	Client was not parsing response from backend.  Client was expecting content-type to be "application/json" (using FString::Equals).  Backend was returning "application/json;charset=UTF-8".  Changed usage from FString::Equals to FString::StartsWith
	#jira FORT-25452
	#tests multiple account login, frontend only

Change 3011436 on 2016/06/13 by Nick.Cooper

	#UE4 - Added bRelativeToInitialFOV option to UCameraAnim, defaulting to true. If turned off, camera anims will use the camera's current FOV as the initial FOV for the animation

	#jira FORT-23606

Change 3010411 on 2016/06/12 by Bob.Tellez

	#UE4 Fix for a possible case where a reference to an async loading package that would contain a level gets replicated before the level it contains is fully serialized, causing network loading code client side to attempt to load the package even though it is not allowed to load maps.

	#jira FORT-113, FORT-22222

Change 3009885 on 2016/06/10 by Billy.Bramer

	#jira FORT-25361
	[FORT-25361] Health and shield values are incorrect when slotting survivors with bonuses
	- Fix some resultant bugs from swapping attributes to be struct-based:
	   - Fix issue wherein the initial creation of the client-side aggregator could be initialized with the computed final value from the server, resulting in incorrect client-side math
	   - Fix issue where subsequent changes to the aggregator's base value on the client would be lost

Change 3009514 on 2016/06/10 by Bob.Tellez

	#UE4 Remove final usage of the task graph in WmfMediaPlayer to dodge shutdown crashes.

Change 3009197 on 2016/06/10 by Michael.Trepka

	Disabled reverb on Mac again. It's too expensive and doesn't fix FORT-22090 anyway

Change 3008392 on 2016/06/09 by Ben.Zeigler

	#jira FORT-25244
	Change it so application error codes like 400/404 do not cause the mcp to think it is disconnected from the backend. Only 408, 501, 502, and 504 now result in ServiceUnavailable.

Change 3008106 on 2016/06/09 by Lukasz.Furman

	fixed cutting corners near navmesh obstacles in detour crowd's string pulling
	#jira FORT-24981

Change 3008039 on 2016/06/09 by Bob.Tellez

	#UE4 Fixed conversion of TAssetPtr to UObject* properties for the case where the referenced object is not already loaded.

Change 3007864 on 2016/06/09 by Fred.Kimberley

	Updates to supporting attributes as structs. Adding functionality that makes them easier to use and override in projects.

Change 3007682 on 2016/06/09 by Michael.Trepka

	Re-enabled reverb on Mac

Change 3006971 on 2016/06/08 by Saul.Abreu

	#fortnite
	#jira FORT-25169
	Added node costs types, cost amounts, and remaining balance for each cost type to the NodePurchase analytics event.

Change 3006933 on 2016/06/08 by Chris.Gagnon

	Fixed up all the Power levle widget use cases.

	#Jira FORT-23472, FORT-24132, FORT-24144, FORT-24952, FORT-24924

Change 3006633 on 2016/06/08 by Dmitry.Rekman

	Linux: propagate ensure message to the CR (FORT-23030).

	- Without this, ensure() has a generic "SIGTRAP" error message, which is misleading for QA.

	#tests Tried "debug ensure" a few times, observed crash report (on the website) with the proper message
	#jira FORT-23030

Change 3006036 on 2016/06/08 by Rob.Cannaday

	Remove warning about missing "recentplayers" field.  The absence of the field is gracefully handled in the client and is only absent if the list is absent on the server.
	#jira FORT-18687

Change 3005216 on 2016/06/07 by Bob.Tellez

	#UE4 Avoiding layout invalidation if you use SetEnabled to set an identical enabled state. This is the same as how SetVisibility works.

Change 3004857 on 2016/06/07 by Rob.Cannaday

	Fix for incorrect reason displayed for inability to join party
	#jira FORT-13517

Change 3004811 on 2016/06/07 by Michael.Trepka

	Increased the number of input buses for CoreAudio 3D Mixer to support 64 audio channels. Also, added a warning to FAudioDevice::StartSources so it doesn't silently ignore sound source initialization failures.

Change 3004553 on 2016/06/07 by Lukasz.Furman

	fixed AnySpawners activating before navmesh unlock & rebuild
	#jira FORT-25067

Change 3004083 on 2016/06/07 by Bob.Tellez

	#UE4 Fixing GenerateApplicationPath for monolithic games.

Change 3003457 on 2016/06/06 by Bob.Tellez

	#UE4 Add a little info to a warning about failing to load a file for streaming.

Change 3003256 on 2016/06/06 by Bob.Tellez

	#UE4 Fixed a bug where not having a crash report would cause CrashReportClient not not properly exit on Mac

Change 3003146 on 2016/06/06 by jonathan.lindquist

	switching from a ceil and lerp technique to an if statement to provide better transform results.

Change 3002048 on 2016/06/06 by Daniel.Broder

	Support for setting Scalar and Vector Materials by Index rather than by name on MIDs.

	This feature allows much better performance in cases where large numbers of parameters are being set per frame and where the indices can be cached by the calling code in an initialization step.

	#RB Stephan.Delmer

	#CodeReview Bob.Tellez

	#UE4 #ReleaseNote

Change 3001315 on 2016/06/05 by Daniel.Broder

	Fixed crash that could occur when the FPhysScene* was null (the world has no PhysicsScene) in USkeletalMeshComponent::TermArticulated().  That could happen when loading a world without fully instantiating it, such as when right-clicking a world in the context browser rather than opening the world directly.

	#RB Stephan.Delmer

	Ori, I wasn't sure if the whole line (and the line below it using PScene) should be moved within the if (PhysScene) block or not, but this change seems to fix it.  If they can safely be moved, that would be presumably more efficeint though (since we'd only compare vs. nullptr once).

	#CodeReview Ori.Cohen

	#UE4 #Fortnite #BugFix

Change 3001001 on 2016/06/04 by Fred.Kimberley

	Added meta data about attributes and a post serialize function so we can recover attributes that have changed their type.

	Adding Fortnite specific attribute type specialization. This type enforces minimum and maximum values for attributes.

Change 3000613 on 2016/06/03 by Sam.Spiro

	#fort online 24747
	Take change from SamZ to get connection change delegates firing correctly
	Add a delegate to the frontend player controller to logout if the connection goes bad (when all retries have failed)

	#RB Ben.Zeigler

Change 3000482 on 2016/06/03 by Rob.Cannaday

	Fix problem where newly added friends don't recognize party invitations
	#jira FORT-19415

	From CL 2953432:
	Ignore presence updates for local user with different resources
	#jira OR-19929
	#tests front end party invites

Change 2998044 on 2016/06/02 by Lukasz.Furman

	fixed path box intersection test used to verify if hotspot is still required for updated path
	#jira FORT-24422

Change 2997948 on 2016/06/02 by Eric.Newman

	Moved ProdCom to bottom of file w/ deprecation comment, and clarified deprecation criteria.  Will probably need to be removed in //UE4 first and check for any fallout from EC jobs failing

Change 2997660 on 2016/06/02 by Chris.Wood

	Changed Linux server crash handler to force CRC log paths to match main engine log.
	[UE-30259] - Some server crashes are missing from crashreporter database

	Should allow us to have CRC logs uploaded to S3 along with main logs easily.

Change 2996702 on 2016/06/01 by Bob.Tellez

	#UE4 You can now use Edit Asset on Level assets in the reference viewer.

Change 2996683 on 2016/06/01 by Tim.Tillotson

	#fortnite
	Fix analytics comments, changed a few NULL to nullptr, and removed stale code.
	#JIRA FORT-23833

Change 2996548 on 2016/06/01 by Bob.Tellez

	#Fortnite Fixing up or deleting remaining references to homebase buildings. HBOnboarding_BuildHeroBuilding is the last reference now and it will be removed soon.

Change 2996322 on 2016/06/01 by Bob.Tellez

	#UE4 Fix for specifying more than one ini override on the command line

Change 2996306 on 2016/06/01 by Bob.Tellez

	#UE4 Delete unneeded and broken script to unlock files in xcode. Does not work since XCode 6.3.

Change 2995634 on 2016/06/01 by Jonathan.Lindquist

	imrpoving the wind magnitude and noise texture

Change 2995249 on 2016/05/31 by Bob.Tellez

	#UE4 Importing "INVALID" in FUniqueNetIdRepl no longer triggers the warning about using ImportText during cook.

Change 2992135 on 2016/05/26 by Bob.Tellez

	#UE4 extern for GuardedMain in LaunchLinux to fix nonunity

Change 2991912 on 2016/05/26 by jonathan.lindquist

	moved a texture sample into a new grouping

Change 2991738 on 2016/05/26 by Bob.Tellez

	#UE4 Level SaveAs now duplicates the world before saving it. This fixes a problem where level assets had the same guids for objects saved in them, which causes LazyObjectPtr issues when they are both in memory at the same time since they can not be uniquely identified.

Change 2991449 on 2016/05/26 by Lukasz.Furman

	AI Ftests will now delay spawning until navmesh is ready
	#fortnite

Change 2990705 on 2016/05/25 by Chris.Gagnon

	New stats panel, upon stat changes there is a delta pop up.
	New Squads Tab.
	Navigation from nodes to squad slots working.

	Added GetAnimationCurrentTime() to UMG Animation API.

	#RB Fred.Kimberley, Saul.Abreu

Change 2990286 on 2016/05/25 by Bob.Tellez

	#UE4 Fix logging error regarding max tag container replication size

Change 2990285 on 2016/05/25 by Bob.Tellez

	#UE4 Fix for crash when using "ShowDebug Game" client side

Change 2989977 on 2016/05/25 by Lukasz.Furman

	auto generating navigation bounds from building grid data, UnitNavMeshBounds volume is no longer required
	#fortnite

Change 2989174 on 2016/05/24 by Bob.Tellez

	#UE4 Added GC reason to the log message declaring that we are doing a GC during the cook commandlet.

Change 2988571 on 2016/05/24 by Jonathan.Lindquist

	submitting a fix for grass-like hierarchy layouts

Change 2985428 on 2016/05/20 by Bob.Tellez

	Experimenting with making UGS CIS not rebuild UBT when incremental building.

Change 2985319 on 2016/05/20 by Bob.Tellez

	#UE4 Removing NumActorChannelsReadyDormant stat as it is somewhat expensive to calculate.

Change 2985258 on 2016/05/20 by Billy.Bramer

	- Add GetFloatAttributeBase and GetFloatAttributeBaseFromAbilitySystemComponent to AbilitySystemBlueprintLibrary, allows querying for a base value of an attribute

Change 2985157 on 2016/05/20 by Bob.Tellez

	Experimenting with non-unity CIS

Change 2984664 on 2016/05/19 by Bob.Tellez

	#UE4 Pasting multiple cells into the property matrix no longer depends on your selected tiles, only your target cell. This is to match the behavior in Excel. Pasting a single cell into multiple cells remains unchanged.

Change 2984663 on 2016/05/19 by Bob.Tellez

	#UE4 Fixed a crash in the property matrix involving going into edit mode on rows that include widgets that are not editable.

Change 2984613 on 2016/05/19 by Bob.Tellez

	#UE4 You can now text import gameplay tags by directly using the tag string (i.e. Evolution.Hero.Soldier). This allows pasting these strings directly into the property matrix or other property-based editors.

Change 2984508 on 2016/05/19 by Billy.Bramer

	- Add constructors for the new struct based attribute

Change 2983883 on 2016/05/19 by Lukasz.Furman

	disabled movement mode in EQS testing pawn to prevent it from falling at PIE start
	#ue4

Change 2983770 on 2016/05/19 by Bob.Tellez

	#UE4 Fixed a bug where "OutputToScreen" BP messages would get stuck disabled after a screenshot (using a number of different codepaths). All screenshots now preserve the state of the "suppress messages" bool.

	#JIRA FORT-24303

Change 2982306 on 2016/05/18 by Bob.Tellez

	Also experimenting with not updating version files in UGS CIS.

Change 2982154 on 2016/05/18 by Lukasz.Furman

	changed navwalking geometry conforming to use building prop special case
	#jira FORT-24215

Change 2982019 on 2016/05/18 by Bob.Tellez

	Trying out incremental CIS builds

Change 2981192 on 2016/05/17 by Bob.Tellez

	#UE4 No longer staging movie files for dedicated server builds.

Change 2981023 on 2016/05/17 by Lukasz.Furman

	added new mode for NavWalking geometry conforming: prefer height closer to current one
	this should allow standing on top of props or walking off them in lower LOD, instead of moving at ground level - needed for survivors on low cars

Change 2980578 on 2016/05/17 by Lukasz.Furman

	added option for disabling path replan in crowd manager, turned it off in fortnite
	this must be handled through path update events and corridor assignment or else hotspot detection will break
	#jira FORT-24116

Change 2980364 on 2016/05/17 by Lukasz.Furman

	unified bounds tests for applying navmesh modifiers, always expanding bounds one cell height on Z axis to cover for voxelization roundings
	#jira FORT-24045

Change 2980360 on 2016/05/17 by Lukasz.Furman

	more detailed logs for using custom navlinks
	#jira FORT-23990

Change 2979880 on 2016/05/16 by Bob.Tellez

	#UE4 Raising scalability threshold for high end machines to adjust for modern hardware.

Change 2979522 on 2016/05/16 by Saul.Abreu

	#fortnite
	Added IsValid BP-exposed method for FGameplayAttribute (which is already a BP-exposed struct type), as there is no existing method of validating a gameplay attribute from blueprints. Useful for UI that represents an attribute.

Change 2977690 on 2016/05/13 by Daniel.Broder

	Made most FBox functions FORCEINLINE to improve DebugGame performance.

	#Fortnite: This change (just on IsInsideOrOn()) improved DebugGame performance for one part of Wind performance in Fortnite by ~18%.

	#CodeReview Bob.Tellez

	#UE4 #ReleaseNotes

Change 2977517 on 2016/05/13 by Daniel.Broder

	Added ForceInline to TIndexedContainerIterator<...>::operator!=(...).  This change improved DebugGame performance of a for loop using ranged-based syntax by ~27%!

	#CodeReview Bob.Tellez

	#Fortnite Wind perf improvement in DebugGame builds.

	#UE4 #ReleaseNote

Change 2974910 on 2016/05/11 by Bob.Tellez

	#UE4 More graceful handling of export class names in string asset references.

Change 2974095 on 2016/05/11 by Bob.Tellez

	#UE4 Fixed a bug where the RenderTargetOutputFormat for velocity rendering when using r.BasePassOutputsVelocity=True was using the wrong output index.

Change 2973663 on 2016/05/11 by John.Abercrombie

	[implemented by Ben.Marsh]

	UBT: Add a config setting to allow overriding the output directory for PCH files. To use, edit Engine\Saved\UnrealBuildTool\BuildConfiguration.xml and add:

		<BuildConfiguration>
			<PCHOutputDirectory>D:\TestOutputDir</PCHOutputDirectory>
		</BuildConfiguration>

Change 2972603 on 2016/05/10 by Saad.Nader

	#Fort Added the catalyst to the requirements of an evolvable item. It will only disable the evolution button if there is a catalyst.

Change 2971741 on 2016/05/09 by Bob.Tellez

	#UE4 Adding more context to an error message about serializing FUniqueNetIdRepl during cook.

Change 2969838 on 2016/05/06 by Bob.Tellez

	#Fortnite Added FN PS4 to build scripts

Change 2969542 on 2016/05/06 by Bob.Tellez

	#UE4 Fixed a crash that involved renaming SCS nodes during compile on load.

	#JIRA FORT-23754

Change 2969520 on 2016/05/06 by Billy.Bramer

	- Fix missing virtual destructor now that the initter struct has virtual members

Change 2969467 on 2016/05/06 by Billy.Bramer

	- Change FAttributeSetInitter to only contain pure virtual functions in preparation for making it easier to provide a custom implementation per game
	- Change the existing example FAttributeSetInitter to be called FAttributeSetInitterDiscreteLevels, make it derive from FAttributeSetInitter (DiscreteLevels is now allocated by default for now)
	- Add support for the new struct-based attribute type to FAttributeSetInitterDiscreteLevels
	- Fix typos in the initter
	- Convert usages of FString in AbilitySystemGlobals to FStringAssetReference, where appropriate
	- Allow attribute init data to come from several curve tables instead of just one
	- Remove reimport bindings from attribute metadata and global curve table, as neither was in use

Change 2969279 on 2016/05/06 by John.Abercrombie

	Behavior tree auxilary nodes, parallel tasks, active tasks, and aborting tasks shouldn't be ticked while the behavior tree is paused

Change 2966311 on 2016/05/04 by Rob.Cannaday

	Fix PS4 Orion players being able to whisper chat with non-Orion players
	#jira OR-20626
	#tests chat with launcher, fortnite
	(From //Orion/Dev-General CL 2963555)

Change 2966255 on 2016/05/04 by Bob.Tellez

	#UE4 Added an ensure to track down the cause of FORT-23604 and to gracefully recover from what would have been a crash.

	#JIRA FORT-23604

Change 2966083 on 2016/05/04 by Bob.Tellez

	#UE4 Adjusted material quality level for "Medium" settings to medium quality. High quality is still used in High and Epic scalability levels.

Change 2965669 on 2016/05/04 by Nicholas.Davies

	Change the restricted platform ID to PSN to prevent Fortnite > PS4 paragon whisper chat
	#OPP-5268 Integrate PS4 Chat block Social and OSS code to Fortnite, UT, and Launcher
	#RB Antony.Carter

Change 2965316 on 2016/05/03 by Ben.Zeigler

	#jira FORT-23600 Fix issue where stalled mcp queries never finished. This causes the query to properly fail
	Manual merge of CL #2907874:
	When MCP cancels a request due to its required auth failing, the http retry system would never kick off the complete delegates.
	This was due to the system only adding a request to its list once ProcessRequest was called, which does not happen in the above case.
	The fix is to add the request to the list when it is cancelled if we did not find it.

Change 2965164 on 2016/05/03 by Bob.Tellez

	#UE4 Fix for Crash in WmfMedia for when the player is destroyed while loading media. Thanks MaxP!

Change 2963754 on 2016/05/02 by Billy.Bramer

	- Switch ability system from binding to OnPostWorldCreation to PreLoadMap for its cleanup functions, as OnPostWorldCreation is called repeatedly with sublevels and can cause data loss
	- This is a bit of a stopgap, as where and when this happens should probably be configured per game (example: a long session game like an MMO would want to trigger these on something other than a map transition possibly)

Change 2962922 on 2016/05/02 by Lukasz.Furman

	fixed gameplay debugger in "simulate in editor" mode

Change 2959860 on 2016/04/28 by David.Nikdel

	#OGF #McpProfile
	- Add Profile Write Lock support to client API
	NOTE: Still need to finish backend support so haven't been able to test yet but this is enough for API hookup
	NOTE2: You may see a log message about "write lock unexpectedly released" when you do your first command after locking. This is expected because the backend isn't sending down the write lock timeout yet.
	#CodeReview: Ben.Zeigler

Change 2959810 on 2016/04/28 by Jonathan.Lindquist

	A few more saftey measures to warn the user of incorrect settings and faulty meshes. (In response a licensee's question)

Change 2959336 on 2016/04/28 by Bob.Tellez

	#UE4 Some improvements to asset save time: Added an early-out in PackageBackup to avoid inspecting files in cases where we don't care about the resutls. Also now using GetObjectsWithOuter when passing in a package list to GetObjectsInPackages (which probably should be renamed to GetAssetsInPackage)

Change 2958942 on 2016/04/28 by Jonathan.Lindquist

	Wrote a new portion of pivot painter 2 that unifies edge normals across multiple static meshes

Change 2958644 on 2016/04/27 by Jonathan.Lindquist

	lowering default recursive steps

Change 2956612 on 2016/04/26 by Jonathan.Lindquist

	A few new saftey measures

Change 2956197 on 2016/04/26 by Fred.Kimberley

	Fix a bug where a delegate won't be fired if the base value of an attribute has been changed and the attribute is the new type and doesn't have an aggregator.

	Fix a bug in gameplay effect tag matching where the deprecated tag is being checked but not the current one.

Change 2955386 on 2016/04/25 by Jonathan.Lindquist

	Fixed a ui bug related to the first time path geo generator is run
	Pivot painter 2 has a new feature. It duplicates each model in a hierarchy, combines them and then welds their verts.

Change 2955230 on 2016/04/25 by Billy.Bramer

	- Add a debug gameplay tag to string blueprint function, should only be used for debugging purposes

Change 2954899 on 2016/04/25 by Fred.Kimberley

	Added a new backing data type for gameplay attributes. The new type holds both the current and base values. Currently, this new type can coexist with numeric types for gameplay attributes.

Change 2953511 on 2016/04/22 by Bob.Tellez

	#UE4 Bumping up texture streaming pool allowance for min spec and redistributing mid an high to match. Also reduced mip bias at min spec.

Change 2953496 on 2016/04/22 by Chris.Gagnon

	When the console closes it now properly restores the viewports input state (both focus and capture).

Change 2952930 on 2016/04/22 by Lukasz.Furman

	fixed behavior tree getting stuck on instantly finished gameplay tasks
	#jira FORT-23041

Change 2951765 on 2016/04/21 by John.Abercrombie

	Removed unused code when initializing attribute sets

Change 2951617 on 2016/04/21 by Jonathan.Lindquist

	new elements to the grass shader to include wind influence

	also adding a test model

	and the latest version of canopy creator

Change 2950861 on 2016/04/21 by Jonathan.Lindquist

	Submitting a new material for grass so that it may react to the wind
	New wind test maps
	Functions to support global wind
	a new "fuzzy" mat functions
	Adding wind to the rift portals

Change 2950725 on 2016/04/20 by Bob.Tellez

	Fixups for non NewEC in GetLastSucceededCL

Change 2950695 on 2016/04/20 by Bob.Tellez

	Adding a small helper function to get the last succeeded CL of a given node.

Change 2950616 on 2016/04/20 by Maury.Mountain

	hook up the pivot (+ (0,-1,0)) section of material function that was causing offset motion from pivots

Change 2950207 on 2016/04/20 by Bob.Tellez

	#UE4 NoTimeouts is now respected even in the initial connection timeout. This fixes a bug where a large stall when starting pie causes you to transition to the entry map.

Change 2950162 on 2016/04/20 by Lukasz.Furman

	fixed processing of repath requests, added infinite loop protection
	#jira FORT-23090

Change 2949974 on 2016/04/20 by Lukasz.Furman

	another batch of fixes for hotspot tasks getting out of sync:
	abort move is now ignored if instigated by new task at goal, clearing hotspot data on dying while gameplay tasks are still accessible, ignoring move resume when controller is being destroyed

Change 2949923 on 2016/04/20 by Rob.Cannaday

	FOnlineIdentityMcp:  Cancel ClientAuthRequests and ExternalAuthRequests on shutdown
	#tests PIE start game / shutdown

Change 2949210 on 2016/04/19 by Bob.Tellez

	#UE4 Removing all local players from the game instance when it is shut down. This ensures that local players are properly torn down and events related to the lifespan of the player or controller are fired when exiting the game normally.

	#JIRA FORT-23024

Change 2947381 on 2016/04/18 by Rob.Cannaday

	Change XMPP presence, pubsub, messages, multi user chat, and chat's ref counting to be thread safe
	#jira FORT-22861
	#tests front end partying

Change 2945301 on 2016/04/15 by Michael.Trepka

	Reset SyncStatus in FAvfMediaVideoTrack::SeekToTime to fix issues with video not updating after rewind

Change 2944422 on 2016/04/14 by Michael.Trepka

	Fixed Mono compile errors in UAT

Change 2944375 on 2016/04/14 by Fred.Kimberley

	Changed how we handle missing gameplay tags so we now ensure once per missing tag instead of only ensuring on the first missing gameplay tag.

Change 2944040 on 2016/04/14 by Michael.Trepka

	Fixed a problem with CoreAudio AudioUnitGraph update caused by adding and deleting the same node in a single tick

Change 2943864 on 2016/04/14 by Lukasz.Furman

	fixed initialization order of gameplay debugger replicators on client
	#jira FORT-22885

Change 2943228 on 2016/04/13 by Bob.Tellez

	#UE4 Moved the addition of the IsDataOnly tag out of the if (ParentClass) block. Tags should not be dynamically added like this or else they can not be discovered by the editor which relies on asking the CDO for the tags relevant to an asset type.

Change 2942303 on 2016/04/13 by Daniel.Broder

	Added support to be able to set a CanvasRenderTarget2D NOT to clear to green whenever it's updated (so you can just draw pixels that have changed instead of always having to redraw everything.

	#RB Bob.Tellez

	#UE4

Change 2941919 on 2016/04/13 by Jonathan.Lindquist

	Adding a new maxscript that allows artists to procedurally generate trees.

Change 2941816 on 2016/04/13 by Saul.Abreu

	Demoted errors regarding widget-bound properties when first compling a new created widget blueprint - otherwise an ensure occurs.

Change 2941752 on 2016/04/12 by jonathan.lindquist

	adding a new function to optimize trees and fix a few issues

Change 2941519 on 2016/04/12 by Jonathan.Lindquist

	submitting a new warning regarding file unit types

Change 2940980 on 2016/04/12 by John.Abercrombie

	Turned Graphs off by default in the Visual Logger

Change 2940134 on 2016/04/11 by Billy.Bramer

	- Add support for new overrideable function OnPostDataImport to FTableRowBase; Can be override to perform custom parsing, fix-up, etc. per struct type whenever a data table is imported or reimported
	- Change row struct combo box on the data table importer to be sorted alphabetically

Change 2938828 on 2016/04/08 by David.Hunt

	#FN || Economy Rebuild
	Updating several code references to items and item paths that no longer exist, with Bob's help.

	This fixes FORT-22784 (hopefully for real) and several other build and item errors. It also indicates that the various redirector issues I have been experiencing were likely red herrings - they were C++ defaults that were showing up on items that had nothing set, as opposed to redirects that failed.

	#CodeReview Bob.Tellez, Ben.Zeigler, William.Ewen, Carlos.Cuello

Change 2938675 on 2016/04/08 by Lukasz.Furman

	fixed gameplay debugger displaying paths of killed pawns
	#fortnite

Change 2938426 on 2016/04/08 by Rob.Cannaday

	Implement new command line party invitation format into Fortnite
	#jira FORT-22685
	#tests launch with command line party invite
	Integrate CLs 2908339 and 2917498 from Orion

Change 2938367 on 2016/04/08 by Billy.Bramer

	- Mark the reimport data table factory with UNREALED_API for external use
	- Change CSVImportFactory to respect the class of existing data being reimported upon

Change 2937319 on 2016/04/07 by Lukasz.Furman

	improved gameplay task info in gameplay debugger tool

Change 2937178 on 2016/04/07 by Lukasz.Furman

	fixed aborting undermine tasks when player becomes reachable
	#jira FORT-22240, FORT-22077

Change 2937166 on 2016/04/07 by Saul.Abreu

	Fixed redundant typename in TPair that was causing clang compilation errors.

Change 2937093 on 2016/04/07 by Saul.Abreu

	#fortnite
	Made ElementSetType protected again in the Map family.

Change 2937044 on 2016/04/07 by Saul.Abreu

	Tweaked Set/Map family of data structures to expose the typedefs for their key, value, and pair types.

Change 2936940 on 2016/04/07 by Bob.Tellez

	#UE4 Fixed a bug that prevented the log summary from being printed after a blueprint compile.

Change 2936696 on 2016/04/07 by Bob.Tellez

	#UE4 Blueprint names are once again part of Blueprint compile log messages.

Change 2936572 on 2016/04/07 by Lukasz.Furman

	added more debug logs for tracking rare NaN error in player movement
	#jira FORT-19426

Change 2934892 on 2016/04/06 by Lukasz.Furman

	fixed updating hotspot information after all tasks instigated by it are finished
	#jira FORT-22515

Change 2933664 on 2016/04/05 by Michael.Trepka

	Fixed a rare crash in USoundNodeLooping::NotifyWaveInstanceFinished

Change 2933554 on 2016/04/05 by Lukasz.Furman

	fixed taker's portal move (priorities of gameplay tasks spawned by path following)
	#jira FORT-22482

Change 2933343 on 2016/04/05 by John.Abercrombie

	Changed FGameplayAbilityActorInfo's AnimInstance property to a SkeletalMeshComponent in case AnimInstances are ever changed on a SkeletalMeshComponent
	- AnimInstance can be used through an accessor

Change 2933300 on 2016/04/05 by Lukasz.Furman

	fixed number of spawned AI in FTests using PreSpawnDelay
	#fortnite

Change 2933171 on 2016/04/05 by Lukasz.Furman

	added PreSpawnDelay param to function test spawn sets
	#fortnite

Change 2931072 on 2016/04/01 by Lukasz.Furman

	changed pawn actions to gameplay tasks
	#jira FORT-21314

Change 2930987 on 2016/04/01 by Billy.Bramer

	- Add method to data table to get all rows as a type
	- Add metadata tag for data table rows to report columns as DataTableImportOptional, at which point they will not be warned against if missing during import (this allows games to do custom post-import fix-up or synthesis of data w/o expecting it to be imported)
	- Use new method for getting all tags to fix FORT-20563 "Gameplay tag table import checks by numerical row name for no reason"

Change 2929651 on 2016/03/31 by Nick.Cooper

	#Fortnite - Fixed Actor AttachmentReplication not being cleared on detachment, which would cause issues with the actor's location for clients joining in progress

	#jira FORT-21330
	#RB ben.zeigler

Change 2929360 on 2016/03/31 by Daniel.Broder

	Fixed bug where CanvasRenderTarget2D assets would crash on load in editor due to trying to update the asset during post-load.

	Thanks to Bob for what I needed to check to early-out and avoid the crash.

	#RB Bob.Tellez

	#UE4

Change 2928845 on 2016/03/31 by Nicholas.Davies

	Add fix for chat text not clearing
	#jira FORT-22049 Textbox does not clear when text is sent through chat

Change 2928574 on 2016/03/30 by Ben.Zeigler

	Fix issue with redirectors not working properly for blueprint function libraries. When a blueprint got regenerated it patched the old export, but failed to clear the "load failed" flag, so it would fail to find it when later pointed to by a redirect

Change 2928572 on 2016/03/30 by Ben.Zeigler

	#Jira FORT-20763
	Fix issue with "Server re-loading object" warning going off for deleted actors. It now only logs, and only for things that are going to successfully load

Change 2928436 on 2016/03/30 by Bob.Tellez

	#UE4 Added Canvas Render Target factory and asset type actions so you can create them in the content browser and search for them after they are created.

Change 2928372 on 2016/03/30 by Bob.Tellez

	#UE4 Added verbose message about animation assets that need to be resaved due to resetting the skeleton.

Change 2926805 on 2016/03/29 by Bob.Tellez

	#UE4 Made SetOverallScalabilityLevel virtual so game-specific features can be updated based on a single-value level.

Change 2926752 on 2016/03/29 by Bob.Tellez

	#UE4 Using DesiredScreenHeight is now optional. Often games use ResolutionQuality as purely a way to run better on slower machines so it should be controlled entirely by scalability.

Change 2926189 on 2016/03/29 by Rob.Cannaday

	Change storing HTTP requests as raw pointers to weak pointers with validity being checked via Pinning it
	#jira FORT-18947
	#jira OR-17695
	#tests golden path

Change 2924921 on 2016/03/28 by Lukasz.Furman

	removed log message showing as navmesh generation error when it skips over degenerated poly
	#fortnite

Change 2924843 on 2016/03/28 by Lukasz.Furman

	added more debug logs for navmesh's failed triangulate()
	#jira FORT-22186

Change 2924719 on 2016/03/28 by Lukasz.Furman

	fixed offmesh link connection issue causing path portal edges to have duplicated data and breaking hotspot detection traces
	#jira FORT-22132

Change 2921698 on 2016/03/24 by Lukasz.Furman

	fixed EQS instancing queries by debug name instead of using unique one, fixed debug name on asset duplication
	#fortnite

Change 2920395 on 2016/03/23 by Bob.Tellez

	#UE4 Added a call to FBaseServiceMcp::Shutdown() in FOnlineServiceAvailabilityMcp::Shutdown. The parent class doesnt do anything today, but this may fix a bug in the future.

Change 2920343 on 2016/03/23 by Ben.Zeigler

	In ConvertScalarUPropertyToJsonValue, move the execution of the custom callback up above the specific property types. This is needed to allow us to override the TextProperty export, and allows overriding in general. It can have a performance implication if the custom callback is very slow
	#RB josh.markiewicz

Change 2920310 on 2016/03/23 by Bob.Tellez

	#UE4 FOnlineServiceAvailabilityMcp::Init was not invoking the Superclass' Init

Change 2920254 on 2016/03/23 by Aaron.McLeran

	FORT-22090 Re-disabling reverb.

	Will add an ini-based disabling ability but this CL quickly re-disables to resolve volume issue on FN and (hopefully) bypass crash mentioned in FORT-22037

Change 2920249 on 2016/03/23 by Rob.Cannaday

	Fix for crash in FOnlinePartySystemMcp::InternalCleanUpPartyMember
	Don't trigger "member left" type events if we are leaving the party
	#jira FORT-20422
	#jira FORT-21726

Change 2920178 on 2016/03/23 by Bob.Tellez

	#UE4 Calling the platform-specific implementation of StackWalkAndDump when invoking StackWalkAndDumpEx. This fixes a bug in Windows where the first ensure does not produce a callstack.

Change 2919858 on 2016/03/23 by Bob.Tellez

	#UE4 Fix for ensure about accessing a CVar in UParticleModuleLight on a non-game thread using GetValueOnGameThread. I changed this to GetValueOnAnyThread.

Change 2919775 on 2016/03/23 by Bob.Tellez

	#UE4 Restoring enforced uniqueness in FUObjectAnnotationSparseSearchable and put all manipulations of InverseAnnotationMap in critical sections. This will make RemoveAnnotation fast again.

Change 2919233 on 2016/03/22 by Bob.Tellez

	#UE4 Removing a warning that is pretty chatty in our cooked logs.

Change 2919125 on 2016/03/22 by Bob.Tellez

	#UE4 Added ParticleLightQuality scalability setting since lower-end machines have trouble with particle lights. They are disabled on low and medium spec machines. HQ lights are only allowed on high-end machines.

Change 2918831 on 2016/03/22 by Bob.Tellez

	#UE4 Fixed a bug where WinInet response headers were not properly being trimmed.

	#JIRA FORT-22054

Change 2917722 on 2016/03/21 by Ben.Zeigler

	Remove FortniteServer module and move those classes to FortniteGame. The engine doesn't support classes that only exist on servers but not clients, so this fixes a lot of error spam bugs, and should improve compile times
	Resave assets that directly referenced FortniteServer

Change 2917588 on 2016/03/21 by Bob.Tellez

	#UE4 Fixed shadow variable that I introduced

Change 2914169 on 2016/03/17 by Ben.Zeigler

	Disable extra logging that was added to track down Auth issues, they look to be resolved

Change 2912626 on 2016/03/16 by Bob.Tellez

	#UE4 Success messages should not be warnings.

Change 2911171 on 2016/03/15 by Bob.Tellez

	#UE4 Minor fix to correctly display GetBulkDataSize in the warning in FUntypedBulkData::WaitForAsyncLoading

Change 2911170 on 2016/03/15 by Billy.Bramer

	#jira [FORT-6139]
	Trap models persist after destroying supporting structure in Outpost
	- Root issue was caused by error within network dormancy and queued bunches: If a dormant actor's open bunch ended up queued and a close bunch came in before the bunch was processed, the actor would never be properly destroyed client side as a result of not re-establishing the channel's actor pointer
	- Fix issue by changing close bunches to not be fully processed until their appropriate place in the queue. While this could cause superfluous execution (i.e. actor recreated just to be immediately destroyed), it should respect gameplay programming intent in regards to RPCs

Change 2911009 on 2016/03/15 by Bob.Tellez

	#UE4 Fixed a bug in UHierarchicalInstancedStaticMeshComponent where RemoveInstances would not rebuild the ClusterTree, causing SortedInstances to contain incorect indices in GetInstancesOverlappingBox. This is the behavior of the singular RemoveInstance so this is what should also be done in the plural RemoveInstances.

	#JIRA FORT-21605

Change 2910295 on 2016/03/15 by Bob.Tellez

	#UE4 World thumbnails no longer cull primitives. This is because the camera is very far away and if terrain pieces are culled, the level is not visible.

Change 2909324 on 2016/03/14 by Bob.Tellez

	#UE4 Since empty headers values cause GenerateHeaderBuffer to emit ERROR_HTTP_HEADER_NOT_FOUND, they are now omitted from the header buffer in WinInet.

Change 2905920 on 2016/03/11 by Lukasz.Furman

	fixed crowd simulation getting stuck with invalid velocity (moonwalking husks)
	#fortnite

Change 2905612 on 2016/03/11 by Bob.Tellez

	#UE4 Made the minimum quadtree size configurable in ProceduralFoliageSpawner. You need to reduce the minimum size a little if you are spawning very many small foliage meshes.

[CL 3027184 by Bob Tellez in Main branch]
2016-06-24 16:58:12 -04:00
Bob Tellez
4b28d78a10 Copying up to CL#2909284 //UE4/Fortnite-Staging to //UE4/Main
This is CL#2904759 from //Fortnite/Main

#lockdown Nick.Penwarden

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

Change 2904398 on 2016/03/10 by Bob.Tellez

	#UE4 OnlineBeaconClients are now destroyed when net cleanup happens instead of normal destruction time so the behave more like PlayerControllers. Also added some low level protection from closing already closed beacons.

	#rb Josh.Markiewicz
	#codreview Josh.Markiewicz
	#JIRA FORT-20703

Change 2904339 on 2016/03/10 by Daniel.Broder

	Added support for allowing an actor to determine whether it is selectable or not (rather than relying purely on editor modes).

	One example use-case is a Transient actor created by WorldSettings for Fortnite which can otherwise be selected, edited, and even copied and pasted to a non-Transient form (which can be done accidentally and cause bugs).

	Change made after discussion with Bob.

	#CodeReview Bob.Tellez

	#UE4

Change 2903020 on 2016/03/10 by John.Abercrombie

	Added blueprint function to set named params for use when running an EQS query from BP
	- Phil is going to test this out for me.

	#rb me (Mieszko wrote this)
	#codereview Phil.Cole, Mieszko.Zielinski

Change 2902440 on 2016/03/09 by Ben.Zeigler

	#Jira FORT-20149
	Fix package map issue where if the client package map received a reference to a package that was already in the async loading queue due to an unrelated async load call, it would not register it correctly, which would lead to error messages and actors potentially not being initialized.
	#codereview john.pollard
	#RB bob.tellez

Change 2900138 on 2016/03/08 by Bob.Tellez

	#UE4 Updated the following Parameter value functions to respect the bOverride flag

	GetStaticSwitchParameterValue
	GetStaticComponentMaskParameterValue
	GetTerrainLayerWeightParameterValue

	#rb Nick.Penwarden

Change 2899839 on 2016/03/08 by Lukasz.Furman

	fixed navmesh projection on actors with overlap response to world channels
	#rb Mieszko.Zielinski
	#codereview Zak.Middleton

Change 2899743 on 2016/03/08 by Lukasz.Furman

	fixed handling multiple blocking hits in navwalking's geometry conforming
	blocking response was used in previous implementation accepting first hit, scoring mutliple points requires getting them all with overlap response
	#fortnite FORT-21546
	#rb Mieszko.Zielinski
	#codereview Zak.Middleton

Change 2898194 on 2016/03/07 by Chris.Gagnon

	Added the ability to filter DataTable Assets by their row using the metadata.
	meta = (RowType=MyRowName)

	#RB Saad.Nader
	#codereview Saad.Nader, Jamie.Dale

Change 2895102 on 2016/03/04 by Ben.Zeigler

	#JIRA FORT-20290
	Fix issue where if a server received a 408 on a verify auth call, it would get stuck in the "in progress" state, and would never try to verify auth again until the auth timed out
	Add additional logging to auth queries, to track this and other issues. The new log lines are permanent, but StartExtraLogging should be disabled before merging back to main
	#codereview josh.markiewicz

Change 2891302 on 2016/03/02 by Bob.Tellez

	#UE4 The spawned NavGraph actors in CreateNavigationDataInstance were getting immediately marked pending kill due to the existance of the FortNavGraph actors placed in the NavMeshBounds map. Marking an actor pending kill instead of calling destroy actor is dangerous since DestroyActor does many other things including removing the actor from the networked actors list. Failure to remove from this list caused FORT-21458. This change both removes the existing FortNavGraph actors from the registered list and better handles cleaning up NavigationData removed for this reason.

	#rb Ben.Zeigler
	#codereview Lukasz.Furman

Change 2887908 on 2016/03/01 by Chris.Gagnon

	Added Event Track to UMG Sequencer.
	Added PlayTo functionality for targeting the end point of a played animation.

	#RB Frank.Fella
	#codereview Frank.Fella, Nick.Darnell

Change 2887686 on 2016/03/01 by Joel.Crabbe

	Fixed issue with replication comparison object not necessarily being the correct, blueprint-defined, defaults-edited version. Changed GetClass()->GetDefaultObject to GetArchetype() for comparison value.

	#codereview Ben.Zeigler

Change 2886847 on 2016/02/29 by Bob.Tellez

	#UE4 Fixed a bug where pasting multiple lines of text into the property matrix would leave the \\r character in the string in windows platforms.

	#codereview Richard.TalbotWatkin

Change 2886414 on 2016/02/29 by Lukasz.Furman

	fixed start point of composite path's update
	#fortnite FORT-21380
	#rb Mieszko.Zielinski

Change 2886250 on 2016/02/29 by Bob.Tellez

	#UE4 Adding !IsInSlateThread to assert in SuspendLoading/ResumeLoading. I suspect this may be the cause of a race condition involving flushing async loading during startup.

	#codereview Robert.Manuszewski

Change 2885942 on 2016/02/29 by Bob.Tellez

	#UE4 Disabling per-instance mesh painting on instanced static mesh components.

	#rb Jack.Porter

[CL 2909292 by Bob Tellez in Main branch]
2016-03-14 21:21:09 -04: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
Jamie Dale
2041b5f780 Fixed some places that were surrounding FName properties in quotes, but weren't providing the PPF_Delimited flag
UE-21078 - FBoneReference text import no longer works correctly.

Some property editing code used to forcibly surround FName properties in quotes, as UNameProperty::ImportText_Internal didn't handle the PPF_Delimited correctly prior to CL# 2682467, so this was the only way to ensure that names containing spaces would be imported.

This change removes those places that were forcibly adding quotes, as UNameProperty::ImportText_Internal will now do the correct thing as the default import flags do not contain PPF_Delimited.

#codereview Benn.Gallagher

[CL 2691572 by Jamie Dale in Main branch]
2015-09-15 07:42:10 -04:00
Richard Hinckley
6ceaa5aba7 Cleaning out programmer-only comments that were harvested by Doxygen.
#platformnotify Josh.Adams

[CL 2690143 by Richard Hinckley in Main branch]
2015-09-14 09:25:39 -04:00
Andrew Rodham
8ff0d8b98b Added config migration path for newer versions of the engine.
Newly installed versions of the engine will now attempt to copy the project-agnostic config settings from a previous engine installation. This happens by way of a versioned manifest that copies old versions when the manifest does not exist, or is a different version. This code path is benign for non-installed versions of the engine (or FPaths::ShouldSaveToUserDir() is false).

EditorGameAgnosticSettings and EditorUserSettings ini paths have been renamed to EditorSettings and EditorPerProjectUserSettings respectively to better convey their purpose. In general, most settings should be saved in EditorSettings (project-agnostic) so that they apply regardless of which project is open. We have some way to go migrating existing settings for this to be the case, however.

Some previously per-project configuration files are now project-agnostic (such as Editor.ini, EditorKeyBindings.ini, and EditorLayout.ini)

GEditor->Access...Settings and GEditor->Get...Settings have been removed in favor of direct access of the CDO through GetMutableDefault<> and GetDefault<> respectively. Global config ini filenames that are not set up are now neither loaded nor saved on build machines, to handle the problem of indeterminate state more generically.

This addresses UETOOL-270 (Most editor preferences should be project-agnostic)

[CL 2517558 by Andrew Rodham in Main branch]
2015-04-20 10:12:55 -04:00
Mike Fricker
114458bf0f Clang warning fixes: Fixed missing 'override' specifiers
- Also removed some unreferenced functions that adding 'override' revealed

PR #1002 -- Thank you, Omar007!

[CL 2498415 by Mike Fricker in Main branch]
2015-04-01 07:20:55 -04:00
Saul Abreu
79a26091bf Fixed behavior on FString::ParseIntoArray (muliple delimiters overload) functionality to support optionally culling empty strings. Greatly simplified implementation logic. Output parameter now properly named and taken by reference.
#codereview Steve.Robb, Robert.Manuszewski

[CL 2466824 by Saul Abreu in Main branch]
2015-03-02 15:51:37 -05:00
Steve Robb
0756ef15b9 Delegate comparisons deprecated, lots of other associated code deprecated, and lots of warning fixups:
* Multicast delegate Add* calls now return FDelegateHandles, and Remove* calls are now all deprecated, except for a new Remove function which takes a FDelegateHandle.
* New FConsoleManager::RegisterConsoleVariableSink_Handle and UnregisterConsoleVariableSink_Handle functions which work in terms of FConsoleVariableSinkHandle.
* Timer calls which don't take FTimerHandles are deprecated.
* FTicker::AddTicker now returns an FDelegateHandle and is removed by an overloaded Remove function.
* DEFINE_ONLINE_DELEGATE* macros now define _Handle variants of the Add/Remove functions which return/take handles.
* Various other handle-based registration changes.
* Some unity build fixes.
* Some simplification of delegate code.
* Fixes for lots of existing code to use handle-based registration and unregistration.

#codereview robert.manuszewski

[CL 2400883 by Steve Robb in Main branch]
2015-01-08 09:29:27 -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
Ben Marsh
ae11a5d621 Various fixes for include patterns that rely on delayed function instantiation to compile, which prevents including them in isolation. Tidy up some other include patterns.
[CL 2374720 by Ben Marsh in Main branch]
2014-12-03 09:26:36 -05:00
Mikolaj Sieluzycki
d43e69c4b9 Prepare cpp files for header cleanup.
#codereview Robert.Manuszewski

[CL 2356854 by Mikolaj Sieluzycki in Main branch]
2014-11-12 04:43:54 -05:00
Jamie Dale
b1076751ff Made FName case-preserving by storing case-variant strings in its string table
This is controlled by the macro "WITH_CASE_PRESERVING_NAME", which is currently just set to "WITH_EDITORONLY_DATA" so that it works in editor builds (and UHT).

Added an extra NAME_INDEX entry to FName to store a second string table index for a case-variant string. The previous Index value (now called ComparisonIndex) is still used for comparison purposes (as FNames are still case-insensitive).

The Init process for an FName now works like this:
 1) It will find or add a string table entry for the given string (not matching case) - this entry index is stored in ComparisonIndex.
 2) It will then compare the string table entry string against the given string (matching case) to see if it also needs to add a case-variant entry for the FName.
 3) If it does, it finds or adds a second string table entry (matching case) for the string - this entry index is stored in DisplayIndex.

Hard-coded FNames (those listed in UnrealNames.h) do not support case-variants (due to existing network replication rules for hard-coded FNames), so they skip steps 2 and 3.

I added FMinimalName, which is the same size as FName was previously. This shouldn't really be used (and as such, is deliberately awkward to make/use) as it loses the case-preserving behaviour of FName, however it was required for some things (like stats) that had a hard-coded upper limit on FName size.

I added FScriptName, which always contains the extra display index (even when WITH_CASE_PRESERVING_NAME is disabled). This is used by Blueprint bytecode, as the types used by Blueprint bytecode must be a consistent size between all build configurations.

Other changes:

 - Fixed up any places that were passing an Index into the FName constructor which was supposed to take an EName.
     - Some places were doing this to make the number unique when replicating an object, but this was losing the case-variant information, so I had to fix them.
     - FName will now assert if the EName constructor is used with an value outside the range of hard-coded FNames.

 - Ensured that assets, actors, and blueprint components could all be renamed in a way that only changed their case, and that these changes were correctly persisted.

 - Added FLinkerNamePairKeyFuncs and TLinkerNameMapKeyFuncs for use with TSet and TMap.
     - These allow ULinkerSave and ULinkerLoad to correctly write out case-variants for FNames, and also fixes an issue where the linker would erroneously write out duplicate string table entries for FNames which had a different number (causing package bloat).

 - Bumped VER_MIN_SCRIPTVM_UE4 so that all Blueprint bytecode is recompiled using FScriptName.

ReviewedBy Robert.Manuszewski, Gil.Gribb

[CL 2300730 by Jamie Dale in Main branch]
2014-09-17 05:24:55 -04:00
Michael Trepka
5bd6255fde More Clang compile warning fixes
[CL 2237347 by Michael Trepka in Main branch]
2014-07-30 14:51:27 -04:00
Andrew Brown
97baebcdae Asset View now supports secondary sorting
#UDN: Feature suggestion; Content browser can sort by a second column

#branch UE4

#change
Added two new images for secondary sort ascending and descending.
(Updated styles where needed).

Added new enum EColumnSortPriority: currently only lists Primary and Secondary, but can easily accommodate more*.
(FOnSortModeChanged was modified to also have the priority as a param, fixedup existing usage).

SHeaderRow now also has a SortPriority attribute to specify the SortMode order
(Defaults to Primary if unused).

Modified TUniquePtr so that assigning one from another worked correctly.
(Reviewed by Steve Robb).

SAssetView is the only table that has been modified, so far, to take advantage of the secondary sort. SetMajorityAssetType has been updated to correctly filter out all those sorts which are no longer relevant and bump the priority of the remaining sorts to fill in the ægapsÆ made by non-longer-relevant ones.

FAssetViewSortManager has been overhauled to take SortPriority into consideration when sortingà
Firstly, duplicate comparison structs were removed in favour of single structs which have æascendingÆ as a paramà any remaining duplicate code was removed in favour of an inherited usage. The base struct has an array of æfurther methodsÆ to employ in the result of a tie. Should a tie occur the ænextÆ comparison is done, and so on until itÆs not a tie or we run out of comparisons to perform.*
The manager defaults to having no secondary sort, so it relies on the interface thatÆs using it to provide it.
Whenever a column is assign the code makes sure that itÆs not already assigned to another column and corrects the order to take this into account.

Fixed a bug in FCompareFAssetItemByTagNumericalAscending comparing A with A (instead of B).
Various optimizations to the sort to descrease times

*The only places æSecondaryÆ is referred to in code is in GetSortingBrush (so it can display the correct icon for the sort), and OnTitleClicked (so it can set to correct sort based on input). The sorting code itself has no concept as to a secondary sort, it can support any number of sorting levels so if in future a tertiary (or more) is added, it is only these two function which should need updating as the sort will automatically accommodate it.

reviewed by Thomas.Sarkanen, Bob.Tellez

[CL 2119201 by Andrew Brown in Main branch]
2014-06-27 04:30:08 -04:00
Steve Robb
cd27f589b6 Some static analysis fixes.
From here: https://udn.unrealengine.com/questions/210807/static-code-analysis.html

#fix Redundant comparison of RootEdNode removed.
#fix Incorrect operator used to test FPropertyTable::SelectionUnit flags.
#fix Missing comparison used for testing FSlateColor::ColorUseRule

#codereview robert.manuszewski,matt.kuhlenschmidt,nick.atamas

[CL 2115454 by Steve Robb in Main branch]
2014-06-24 13:06:53 -04:00
Maciej Mroz
7756bdf54e PropertyEditor: PropertyUtilities has new DontUpdateWhileEditing function. Used by standalone customization widgets.
#codereview Matt.Kuhlenschmidt

[CL 2109092 by Maciej Mroz in Main branch]
2014-06-18 06:40:19 -04:00