Commit Graph

82 Commits

Author SHA1 Message Date
Francis Hurteau
57c677da93 Copying //UE4/Dev-Enterprise@4705006 to Dev-Main (//UE4/Dev-Main)
#rb none
#lockdown Nick.Penwarden

[CL 4705151 by Francis Hurteau in Main branch]
2019-01-10 17:26:53 -05:00
Chris Gagnon
8fc25ea18e Merging //UE4/Dev-Main to Dev-Editor (//UE4/Dev-Editor)
#rb none

[CL 4676797 by Chris Gagnon in Dev-Editor branch]
2019-01-02 14:54:39 -05:00
Rex Hill
bffb512f27 Fix an uninitialized variable in SourceControlOperations.h
#rb none

[CL 4565955 by Rex Hill in Dev-Editor branch]
2018-11-14 14:24:34 -05:00
Matt Kuhlenschmidt
46e3285149 Merging //UE4/Dev-Main to Dev-Editor (//UE4/Dev-Editor)
#rb none

[CL 4543237 by Matt Kuhlenschmidt in Dev-Editor branch]
2018-11-06 10:00:36 -05:00
Marc Audy
d90da4ab1a Merge to Dev-Main for 4.20 @ 4090813
#rb
#rnx
#lockdown Nick.Penwarden

[CL 4091081 by Marc Audy in Main branch]
2018-05-23 21:04:31 -04:00
JeanMichel Dignard
81bc574d4c Copying //UE4/Dev-Enterprise to //UE4/Dev-Main (Source: //UE4/Dev-Enterprise @ 4059031)
#lockdown Nick.Penwarden
#rb none

============================
  MAJOR FEATURES & CHANGES
============================

Change 3974233 by Rex.Hill

	Optimized BuildStaticMeshVertexAndIndexBuffers and TEdgeBuilder

Change 3974234 by Rex.Hill

	Reduced number of calls to SaveRawMesh and LoadRawMesh

Change 3974235 by Rex.Hill

	Optimized SaveRawMesh by pre-allocating buffer

Change 3981370 by Jamie.Dale

	Added support for deprecated (renamed) classes, structs, enums, functions, and properties in Python

	The glue code generation will now use the existing redirects system to build deprecated entries for old names. You can also specify deprecated names to the ScriptName and ScriptMethod meta-data values by adding extra semi-colon separated entries (the first entry is the current name).

	Accessing deprecated objects in Python leads to a deprecation warning when developer mode is enabled.

Change 3983875 by Jamie.Dale

	Exposed some asset registry functions that may be useful in a commandlet environment

Change 3983901 by Jamie.Dale

	Hoisted some AssetData helpers onto the struct in Python

Change 3988367 by Jamie.Dale

	Python now honors EditInstanceOnly and EditDefaultsOnly when setting property values

Change 3988369 by Jamie.Dale

	Exposed generic get_default_object function that takes a type and returns you the CDO

	This is needed for types that aren't natively exposed to Python (such as Blueprint generated types)

Change 3989890 by Jamie.Dale

	Moved BlutilityActor to be Private in EditorScriptingUtils

	This can be removed once it's no longer needed.

Change 3989900 by Jamie.Dale

	Updated EditorScriptingUtilities to use the Public/Private folder structure for source code

Change 3990082 by Anousack.Kitisa

	Added plugin for Shotgun integration in Unreal.

	#jira UEENT-959

Change 3990783 by Anousack.Kitisa

	Changed ShotgunMenuItem to a struct.

Change 3991139 by Jamie.Dale

	Minimized use of GUnrealEd (favoring GEditor) so that this code can be used by commandlets

	Removed redundant usages of GEditor/GUnrealEd from within UEditorEngine itself, and fixed cases where null data was being accessed. Testing that loading, saving, and creating a new blank map will now work in a commandlet without crashing.

Change 3993189 by Jamie.Dale

	Fixed some mismatched return types

Change 3993191 by Jamie.Dale

	Inital support for taking the GIL at key points where external C code calls into Python

Change 3993683 by Patrick.Boutot

	[LTC]
	Add a CustomTimeStep that decode a LinearTimecode from the MediaSource. The MediaPlayer need to support buffering and should not run late since it's used to tick the engine time.
	Update DropTimecode to use the new Timecode structure in TimeManagement.

Change 3994430 by Jamie.Dale

	Adjusted how inline structs work so that types known at compile time can inline allocate without being fully hand-wrapped in Python

	They must now be registered via FPyWrapperTypeRegistry::RegisterInlineStructFactory before we start generating wrapped types

Change 3996083 by Jamie.Dale

	Added a distinct type for generated enum types so that you can query their available enum entries

Change 3998253 by conan.reis

	Remove redundant Perforce error output from the log

Change 4000307 by JeanMichel.Dignard

	Optimized FFbxImporter::ValidateAllMeshesAreReferenceByNodeAttribute()
	- Stored all scene nodes geometry ids in a set instead of looping on all scene nodes for every geometry. O(N) instead of O(N^2).
	- For 38685 scene nodes and 5417 geometry, the time went from 2 min 21.688 s to 0 min 0.098 s.

Change 4000605 by Jamie.Dale

	Added support for constant "hoisting"

	This allows you to tag a helper function that returns a constant with ScriptConstant meta-data (providing a potentially overridden name) to "hoist" that helper function to be a constant of the type it operates on when wrapped for Python (ScriptConstantHost can be used to host the constant on a struct rather than its own object).

Change 4001617 by Jamie.Dale

	Updated ScriptMethod and ScriptConstant to allow hoisting onto other classes as well as structs

	This allows you to have a runtime class be extended via methods in an editor-only module

Change 4005287 by Jamie.Dale

	Added a GIL lock when Slate Tick events call back into Python

Change 4005383 by Andrew.Rodham

	Sequencer: Initial scripting exposure and support

	First pass includes the following:
	  - Find/add/interate master tracks
	  - Find/add/interate bindings (both possessables and spawnables)
	  - Find/add/interate tracks on bindings
	  - Add/interate sections on tracks
	  - Get/Set section ranges

Change 4008609 by Jamie.Dale

	Added some missing native Python types to the documentation

	Native modules now build up a list of types and functions associated with them. This information is then passed through to the document generation to ensure that all exposed native types and functions are documented.

	In addition, any native Python module files are now assimilated into the unreal.py stub file and parsed so that they can be documented too.

Change 4008654 by Jamie.Dale

	Allow math operators to use the base type versions unless overridden

Change 4009740 by Patrick.Boutot

	Add BP function to convert a Timecode into a string.

Change 4009763 by Patrick.Boutot

	Update AudioCapture to retreive the SampleRate. Used by the LinearTimecode. Change the requested format from int16 to float since we converted it into that format later on.

Change 4009768 by Andrew.Rodham

	Removed explicit names from ScriptName methods, expanded sequencer scripting range functionality

Change 4009830 by Jamie.Dale

	Added support for UPARAM(ref) on arguments exposed to Python

	For standard functions, this just produces an input and output for the same argument (we can't mutate the input due to potential coercion).

	For ScriptMethod functions that use it on the 'self' argument, this will mark the function as "inline" and have the function apply the result of the 'self' argument back onto the 'self' instance after calling the function.

Change 4010034 by Jamie.Dale

	Added support for init_unreal.py start-up scripts

	These can be placed in any known sys.path in Python, including the Content/Python folders we automatically add, and the UnrealEngine/Python directory under the users home directory.

Change 4010422 by Jamie.Dale

	Improved errror reporting during Python generation

	It will now ensure if a debugger is attached to draw programmer attention to an error.

Change 4010498 by Patrick.Boutot

	Remove unnecessary loop Timecode.ToFrameNumber()

Change 4011312 by Jamie.Dale

	Duplicate deprecated names will no longer assert during Python glue generation

	They will now log a warning and continue

Change 4012068 by JeanMichel.Dignard

	Allow to render thumbnails for newly created packages.
	- To render a thumbnail, you either need a customer thumbnail renderer or a cached thumbnail. Querying cached thumbnails fails for newly created packages because it calls DoesPackageExist which check on disk. This call is unnecessary since we're relying on FindPackage which only works for packages that are loaded in memory.

Change 4013781 by Jamie.Dale

	FFrame::KismetExecutionMessage (or LogRuntimeError or LogRuntimeWarning) will now produce Python exceptions

	You can use these to emit warnings or errors from UFunctions wrapped for scripting, and when called from Python they will produce a Python exception (for errors), or Python warning (for warnings).

Change 4014337 by Jamie.Dale

	Struct coercion now errors if you provide a sequence with too many elements

	This also makes sure that PyConversion doesn't set an error state if ESetErrorState::No is passed (which could have previously happened from type casting calls).

Change 4015290 by Andrew.Rodham

	Sequencer: Moved runtime functionality from ISequencerChannelInterface to IMovieSceneChannelInterface

	  - Rename IBatchChannelInterface to IMovieSceneChannelInterface
	  - Removed MovieScene::Dilate()
	  - Added TMovieSceneChannelTraits::SupportsDefaults to automatically stub out functions relating to channel defaults

Change 4015664 by Jamie.Dale

	Renamed ScriptMathOp meta-data to ScriptOperator

Change 4016230 by Jamie.Dale

	Fixed incorrect make/break path in Importance Sampling Library (for Importance Texture)

Change 4017326 by Jamie.Dale

	Added make and break support in Python

	Structs that have a native make function will now use this as their constructor. This also adds support for breaking a struct into a tuple, either via a native break function, or via generic property enumeration.

Change 4017551 by Jamie.Dale

	Removed redundant outer parameter from find/load_asset/package

Change 4018594 by Jamie.Dale

	Added ScriptMethodSelfReturn as an alternative to UPARAM(ref)

	These two function signatures produce the same behavior and have the same cost in Python, the only difference is how they appear to Blueprints (and Blueprints seem to favor non-reference functions).

	UFUNCTION(..., meta=(ScriptMethod))
	static void DoThing(UPARAM(ref) FThingType&, int32);

	UFUNCTION(..., meta=(ScriptMethod, ScriptMethodSelfReturn))
	static FThingType DoThing(FThingType, int32);

Change 4020956 by Anousack.Kitisa

	Added Shotgun to the Level Editor/World Outliner and Content Browser context menus when there's a selected actor or asset.

	#jira UEENT-1219

Change 4021986 by Anousack.Kitisa

	Used the Python startup scripts mechanism to launch the Shotgun bootstrap script.

	Related to Jira UE-57896.

Change 4022993 by Jamie.Dale

	Added support for extra operators on Python structs

	You can now expose bool conversion and comparison operators (==, !=, <, <=, >, >=) in addition to the previous set of math operators. As part of this there is now stricter signature validation when generating the Python binding.

Change 4023226 by Jamie.Dale

	Added Make and Break function for FSoftClassPath

Change 4023348 by Jamie.Dale

	Exposed some methods and operators for PrimaryAssetId and PrimaryAssetType

Change 4027911 by Jamie.Dale

	Cross-outer redirects are no longer applied in Python

	#jira UETOOL-1382

Change 4029618 by JeanMichel.Dignard

	Unreal Studio UX
	- Made "Unreal Studio" the default tab in the new project wizard if we're using an installed enterprise build.
	- Create new projects as enterprise projects if we're using an insalled enterprise build.

	#jira UEENT-1231, UEENT-796

Change 4030217 by Jamie.Dale

	Exposed ScopedSlowTask to Python

	#jira UETOOL-1375

Change 4030784 by Matt.Hoffman

	Sequencer curve editor now shows vertical axis labels.

	#jira UE-58160

Change 4030858 by JeanLuc.Corenthin

	Expose LOD creation thru Python:
	- Create one struct to hold onto reduction settings per LOD
	- Create one struct to hold onto an array of reduction settings and a parameter to enable of disable automatic computation of screen size
	- Create new method to apply reduction settings to an array of StaticMeshActors

	#jira UEENT-1232

Change 4032239 by Jamie.Dale

	Cleanup pass over wrapped structs

	- Code dealing with reflected structs now uses UScriptStruct rather than UStruct.
	- The old PyConversion::NativizeStruct and PyConversion::PythonizeStruct have been renamed to PyConversion::NativizeStructInstance and PyConversion::PythonizeStructInstance.
	- New PyConversion::NativizeStruct and PyConversion::PythonizeStruct functions have been added to convert an object (or Python type) to a UScriptStruct (akin to what PyConversion::NativizeClass and PyConversion::PythonizeClass does for UClass).

Change 4032247 by Jamie.Dale

	Cleaned up some Python slow task code

Change 4032251 by Jamie.Dale

	Added functions to get the Python type associated with an Unreal class, struct, or enum

Change 4032258 by Jamie.Dale

	Added Python iterators for Unreal objects, classes, and structs, as well as the Python types wrapped by Unreal classes or structs

	#jira UETOOL-1380

Change 4032320 by Jamie.Dale

	Fixed Python object iterators skipping their first item

Change 4032321 by Jamie.Dale

	Added Python iterators for actors and selected actors

	#jira UETOOL-1380

Change 4033908 by Anousack.Kitisa

	Added Shotgun settings for metadata tags.

	#jira UEENT-1175

Change 4033909 by Anousack.Kitisa

	Added wrapper function to sync Content Browser to assets for scripting.

	#jira UEENT-1218

Change 4034951 by Matt.Hoffman

	Media Tracks now highlight when added to a Sequence/UMG animation.

Change 4034966 by Jamie.Dale

	Added GIL locks around post_init code that can be called from C++

Change 4035019 by Matt.Hoffman

	UMG Render Transforms + Margins now support infinite sections.

Change 4035470 by Andrew.Rodham

	Introduced a common base class for all movie scene channel data, FMovieSceneChannel.
	Removed IMovieSceneChannelInterface.
	Renamed FMovieSceneChannelEditorData to FMovieSceneChannelMetaData.
	Renamed FMovieSceneChannel and TMovieSceneChannel to FMovieSceneChannelData and TMovieSceneChannelData, to make way for common channel base class.
	Renamed instances of 'specialized' channel editor data to 'extended' channel editor data.
	Introduced non-templated FMovieSceneChannelHandle and a templated version. Changed internal implementation to use a lookup rather than a directly resolved weak ptr.
	Various pieces of documentation and cleanup.

Change 4037112 by Max.Chen

	Sequencer: Added some missing RF_Transactional flags to newly created sections.

Change 4037121 by Max.Chen

	Sequence Recorder: Timecode recording

	Introduced an FSourceTimecode which is saved as editor only data to the MovieSceneSection and MovieScene. FSourceTimecode consists of an FFrameNumber delta that correlates the section's initial start time to an FTimecode. The FFrameNumber is adjusted whenever the section is moved.

	One use case for this is through sequence recorder, which captures the timecode at the start of recording and saves an FSourceTimecode per movie scene section it creates. If the section is moved, it can always be returned to its source timecode by the section's right click menu, "Sync to Source Timecode".

	#jira UESEQ-406

Change 4038462 by Jamie.Dale

	Added support for using Python callables with delegates

	All the "x_function" methods on delegates and multicast delegates now have an "x_callable" equivalent that take a Python callable (we attempt basic validation of the signature, but that only allows us to check the input argument count is what we expect).

	Internally the callable is wrapped in a UObject, so certain GC restrictions are present (and is why coercion is disabled for callables). Delegates wrapped in Python (including as a direct property of an object or struct, or inside a container) will be kept alive via the Python reference collection, however once there are no Python references left the proxy object will be allowed to die unless something external has taken a reference to the proxy object.

Change 4039123 by James.McNatton

	Remove dependency on SteamController in VirtualCamera #rb none

Change 4039162 by Jamie.Dale

	Fixed linter warnings about unescaped backslashes in docstrings

Change 4039170 by Jamie.Dale

	No longer expose deprecated functions or properties if they clash with another Python exposed item

Change 4039429 by Max.Chen

	Sequence Recorder: Swap to editor actors on end PIE if the actors to record were set to the PIE actors

Change 4039442 by Max.Chen

	Sequence Recorder: Find the existing object binding and record into it if it exists. When recording to an existing object binding, if the track exists, remove all animation data and reuse the track.

Change 4039477 by Jamie.Dale

	Added warnings for conflicting Python type and field names

Change 4039478 by Jamie.Dale

	Fixed warnings for conflicting Python type and field names

Change 4039511 by Max.Chen

	Sequencer: Remove all animation data for spawn track

Change 4040649 by James.McNatton

	Multiple Virtual Camera bug fixes
	- Removed QAGame mannequin from test map
	- Fixed errors being generated when trying to load preset
	- Presets now properly load and save axis settings
	- Deleted presets should no longer linger in menus
	- Presets now save and load favorite status

Change 4041356 by Max.Chen

	Sequence Recorder: Takes system

	#jira UESP-544

Change 4041589 by Jamie.Dale

	Added C++ source information (plugin, module, and file) to the Python doc string

Change 4041746 by Jamie.Dale

	Made ScriptOperator more relaxed about its signature validation as long as the additional input parameters are defaulted

Change 4041757 by James.McNatton

	Virtual Camera Bug Fixes
	- The Input Source dropdown now accurately reflects user selection
	- Input source changed to EditDefaultsOnly
	- Focus should no longer be set when the settings menu is open

Change 4041823 by Jamie.Dale

	Made ScriptOperator more relaxed about its signature validation for defaulted input parameters

	Existing Blueprint exposed operator functions may both default required arguments, and add additional default arguments. ScriptOperator will now accept both of these as long as there are enough arguments, but not too many non-defaulted arguments.


Change 4042956 by James.McNatton

	VirtualCamera bug fixes related to focus plane visualization
	- Removed extra focus plane that was being displayed
	- Added logic to adjust for nonuniform scaling of objects when settings up tracking focus

Change 4043400 by James.McNatton

	Multiple bug fixes related to saving various values
	- Now saves matte opacity and updates on load
	- Now saves filmback format name and updates on load
	- Now saves desired distance units and updates on load

Change 4043481 by James.McNatton

	Fixed issue in Virtual Camera where joystick movement would not properly apply locks after rotating #rb none

Change 4044358 by Jamie.Dale

	Fixed some cases where empty default values would be lost from UHT

	Eg, empty strings, null objects

Change 4044362 by Jamie.Dale

	Fixed old-style enums being missed by the Python glue generation if they're only referenced by a property of function

Change 4044371 by Jamie.Dale

	Fixed default value application for some struct types that use a custom default value format when exported by UHT

Change 4044417 by Max.Chen

	Sequence Recorder: Better default group names with an underscore separator for letters

Change 4045164 by Jamie.Dale

	Hardened usage of CopyScriptStruct to ensure that the source type is a child of the destination type, and that the destination type is used to copy (to still allow slicing of derived data)

Change 4045195 by Jamie.Dale

	Updated FPropValueOnScope::GetValue to be able to return the value for a particular array index

Change 4045589 by James.McNatton

	Fixed packaging error for VirtualCamera plugin
	- Plugin is now a runtime plugin rather than developer
	- Fixed up associated warnings with saving and loading in editor

Change 4046208 by James.McNatton

	Virtual Camera bug fixes
	- Adjusted how mattes and filmback works together
	- Should now always respond properly to changing filmback settings in UI
	- Should now match the correct view size within the matte under all circumstances

Change 4046372 by Max.Chen

	Sequencer: Fix subsequence binding ids.

	#jira UE-55337

Change 4046694 by Max.Chen

	Sequence Recorder: Compile the template before finding the camera sequence id since the precompiled template is not up to date.

Change 4046801 by Jamie.Dale

	Improved default values and return types used in the unreal.py stub file

	 - Object and Struct types generate an __init__ function with the correct signature.
	 - Struct __init__ functions list the correct default values (including when using make/break functions).
	 - Methods now list the correct default values.
	 - Get/Set getters return a value of the correct type.
	 - Get/Set setters are no longer exported for read-only properties.
	 - Constants resolve to the correct type and value.

	#jira UETOOL-1377

Change 4047023 by Jamie.Dale

	Added missing hook-up for % and %= in Python

Change 4047100 by Jamie.Dale

	Operators are now exposed to unreal.py and generate docs stating which overloads are available

Change 4047105 by Jamie.Dale

	String is now "str" in doc strings to match the Python type

Change 4047714 by Max.Chen

	Sequencer: Resolved merge conflicts with Dev-Sequencer

Change 4048150 by Jamie.Dale

	Fixed single-culture PO import/export failing

	#jira UE-47079

Change 4048653 by Andrew.Rodham

	Sequencer: Automatic re-evaluation is now suppressed for external changes that modified only default values on channels

	  - The issue is that moving an object that is partially-keyed in sequencer, with auto-key off, will set default values for the non-keyed channels. Doing so will dirty the sequence, which causes a re-evaluation, which re-evalutes the keyed channels, which effectively undoes the external change.
	  - This is now fixed by suppressing the automatic re-evaluation for a specific signature of a specific sequence, if that is the only thing that has dirtied the sequence. Any subsequent changes to the sequence will cause a re-evaluation, and the suppression to be wiped.

	#jira UE-57519
	#jira UE-58487

Change 4048814 by Jamie.Dale

	Fixed syntax error if an enum had an unknown value

Change 4048819 by Jamie.Dale

	Fixed struct init functions having the wrong default values

Change 4048856 by JeanLuc.Corenthin

	- Removed LOD & collision functions from UEditorLevelLibrary
	- Created a new class, UEditorMeshLibrary, to hold onto functionalities related to StaticMeshes
	  - Added method to set LODs on a static mesh
	  - Added method to remove LODs from a static mesh
	  - Added method to get number of LODs on a static mesh
	  - Added method to get number of simple collisions onto a static mesh
	  - Added method to get number of convex collisions onto a static mesh
	  - Added method to add convex collision onto a static mesh
	  - Added method to remove all collisions onto a static mesh

	#jira UEENT-1232
	#jira UEENT-1233

Change 4048961 by Jamie.Dale

	Improved formatting of output parameters in doc strings

	#jira UETOOL-1376

Change 4048988 by Jamie.Dale

	Fixed context leakage between the console and files, and import "unreal" by default now in the console

	#jira UETOOL-1379

Change 4049912 by Max.Chen

	Sequence Recorder: Minor recording group name improvements.
	- Initialize newly created actor group with existing actor group's base path.
	- When duplicating, use the current group's name as the base.
	- When typing in a name, if it fits the group format, the name should be allowable if it doesn't conflict with existing group names/assets.

Change 4049934 by Andrew.Rodham

	Sequencer: Minor clean-up of sequencer interfaces and overloads

	  - Replaced remaining instances of void* with FMovieSceneChannel* now that we mandate a common base class
	  - Changed remaining explicit calls to SetDefault to SetChannelDefault overload so it works correctly with the SupportsDefaults trait
	  - Exposed ability to manually implement an ISequencerChannelInterface rather than using the default templated one

Change 4050608 by conan.reis

	Was getting link error about use of FFrameTime in  ULevelSequencePlaybackController::PlayFromBeginning() in the VirtualCamera plugin so added TimeManagement to its dependant modules so it compiles again.

Change 4050899 by Max.Chen

	Sequencer: Allow actor components for synchronization

	#jira UE-58468

Change 4050900 by Max.Chen

	Sequence Recorder: Don't create a spawn section if the object is a possessable

	#jira UE-58272

Change 4050904 by Max.Chen

	Curve Editor: Fix for evaluation a section of time when one key is non-weighted and the other is weighted.  What we do is evaluate them both as being weighted, but we don't have the weight value for the non-weighted tangent. The weight of the non-weighted tangent is implicilty 1/3rd the distance between the two points, so we just calculate that if needed.

	#jira UE-58573

Change 4050905 by Max.Chen

	Curve Editor: When calculating vertical extents find feature points where slopes are zero and check them in addition to the keys if the curve is cubic. Curves now fit correclty vertically.

	Also changed fudge to 5% from 10% to match up old editor. Tighter fits seems better.

	#jira UE-58571

Change 4050972 by James.McNatton

	Added functions to ISequenceRecorder
	- Calling StartRecording with an empty array now triggers recording without clearning queued recordings
	- Added function to queue an actor to be recorded
	- Added function to check the next take number for a given actor when using groups

Change 4050994 by James.McNatton

	Bug fixes for Virtual Camera
	- Preset menu now shows dates in the timestamp
	- Resetting offsets now alerts the system to update UI

Change 4051431 by David.Hibbitts

	Added a component and blueprint library to access LiveLink data in blueprints which also works in editor.
	Deprecated LiveLink Driven component

	#jira UESP-577

Change 4051475 by Patrick.Boutot

	Rename EditorMeshLibrary
	Merge AssetScriptingUtilititesEditor with EditorScriptingUtilities. Add Redirects.

Change 4051558 by Patrick.Boutot

	EngineCustomTimeStep returns true when we also want to perform the default engine code.

Change 4052106 by Andrew.Rodham

	Sequencer: Adding an example that creates a sequence out of the current editor selection

Change 4052205 by Anousack.Kitisa

	Fixed selected asset paths referenced by selected actors when using context Shotgun menu.
	Added function to retrieve the work area directory for Shotgun.

	#jira UEENT-1220

Change 4052951 by James.McNatton

	Virtual Camera Sequence Recorder updates to integrate new take system
	- Takes no longer display unless sequence recorder has a group selected
	- Adjusted fix to packaging error
	- FPS value will no longer appear if sequence recorder isn't available

Change 4053130 by mason.seay

	Updated Game Mode Override

Change 4053273 by James.McNatton

	Virtual Camera cleanup adjustments

Change 4053627 by Max.Chen

	Sequencer: Disable bind sequencer to PIE/simulate while recording.

Change 4053628 by Max.Chen

	Sequence Recorder: Fix target animation not persisting

	#jira UE-58508

Change 4053871 by Max.Chen

	Image Plate: Fix icon path

Change 4054370 by Patrick.Boutot

	Remove LiveLink warning. Create base a class for FLiveLinkFrameRate as suggested in GenericPlatformCompilerPreSetup.h

Change 4054447 by Darren.Pegg

	AJA low level device API
	Blackmagic low level API
	MediaIOCore changes to support AJA/Blackmagic changes
	AJA Module converted to use MediaIOCore
	Blackmagic Module changes for MediaIOCore
	Blackmagic/AJA Binary files

Change 4054769 by Patrick.Boutot

	Packaging error issue introduce with CL 4054370.

	#jira UE-58749

Change 4055443 by Max.Chen

	Sequencer: Fix crash in adding filler shot

	#jira UE-58767

Change 4056577 by JeanMichel.Dignard

	Fixed crash with automation tests.
	We would bind the default UEditorEngine to Automation and on map load, it would call PIE on GEditor but with recent changes, PIE is called on this and the default UEditorEngine is not initialized so it would crash with a null GameViewportClass. Now we'll bind Automation on UEditorEngine InitializeObjectReferences so that we're in a good state and it's only called for GEditor.

	#jira UE-58792

Change 4057238 by Jamie.Dale

	Fixed crash when renaming Python generated classes or structs

Change 4058435 by Jamie.Dale

	Fixed lingering exception state when converting a dict to a struct

Change 4058486 by mason.seay

	Removed remote.host call from map

[CL 4060164 by JeanMichel Dignard in Main branch]
2018-05-09 10:24:50 -04:00
Simon Tourangeau
19f8663b5a Copying //UE4/Dev-Enterprise to //UE4/Dev-Main (Source: //UE4/Dev-Enterprise @ 3972172)
#lockdown Nick.Penwarden
#rb none

============================
  MAJOR FEATURES & CHANGES
============================

Change 3821754 by Jamie.Dale

	[Python] Class property conversion now goes through NativizeClass/PythonizeClass

	This allows it to coerce from Python wrapped object types

Change 3833107 by Patrick.Boutot

	Added functions to fill an existing DataTable from an existing CSV/JSON file.

Change 3835044 by Aaron.Carlisle

	Exposure for asset_import_data (editor property) and it's functions: extract_filenames and get_first_filename.

Change 3835466 by Patrick.Boutot

	Hide function from Python that need special compile command to be executed by the VM.

Change 3839237 by Jamie.Dale

	Added a way to inspect the full chain of properties that are currently being serialized by an archive

	You used to only have access to the leaf-most property, and while you could use its outer chain to inspect other properties within the same object/struct, you couldn't always get the full chain (eg, if you had an object containing a struct).

Change 3839974 by Jamie.Dale

	Make sure that SerializedProperty is copied correctly, as SetSerializedPropertyChain may set it to something else

Change 3842311 by Jamie.Dale

	Fixing potential null level assert

Change 3842313 by Jamie.Dale

	Updated settings editor to handle external properties

Change 3842316 by Jamie.Dale

	Allowing a console command to be given to GEditor/GEngine even if there's a player

	CL# 1848982 said it was to prevent multiple execution of stat commands, however that no longer seems to be an issue.

Change 3842867 by Jamie.Dale

	Added a way to generate diffs from editor transactions

	The notifications from these diffs are send to UObject::PostTransacted and FCoreUObjectDelegates::OnObjectTransacted.

	These notifications are typically generated when a transaction is "finalized", but can also be generated from "snapshots" (eg, to trap nodes being dragged in the world). They're also generated from normal undo/redo events.

Change 3844428 by Patrick.Boutot

	Move the SetMaterial code from the StaticMeshEditor to StaticMesh to be reusable by script.

Change 3845966 by Jamie.Dale

	Added support for minimal game RPC worlds

	These can be created in the editor and engine and exist to allow RPC communication via Unreal Networking in a way that is sandboxed from any other worlds that may be loaded (like the main game world)

Change 3848844 by Patrick.Boutot

	Expose EComponentMobility to blueprint.

Change 3854616 by Patrick.Boutot

	Add Custom way time step the engine loop. Will be used by the Synchronization of media for enterprise.

Change 3856650 by Jamie.Dale

	Fixed a bug where transaction finalization could miss changes since the last snapshot

Change 3864951 by Patrick.Boutot

	Fix ghost asset in Content Browser when an asset is added and renamed before the RecentlyAddedAssets list had a chance to be processed.

Change 3867158 by JeanMichel.Dignard

	UBT
	- Added the ability for dll programs to export symbols.

	#jira UEENT-541

Change 3872342 by Jamie.Dale

	Merging static analysis fixes from 4.19

Change 3879305 by Jamie.Dale

	Improved the processing of py files from exec commands

	The old logic used to just test if the entire command was a .py file. The new logic extracts out the first token and sees if that's a .py file, and if it is, treats the remaining data as extra arguments.

Change 3879306 by Jamie.Dale

	Added a minimal commandlet for invoking Python scripts

Change 3881631 by Jamie.Dale

	Added basic RTTI to Python meta-data types

Change 3885384 by Jamie.Dale

	[Python] Prevent glue code using reserved names

Change 3888957 by Patrick.Boutot

	In MediaPlayer, only create a PlayerFacade & Playlist when it's not a ClassDefaultObject.
	The MediaPlayerFacade is a MediaTickable. That trigger the tick thread to be awake even if there is no Media playing.

Change 3888961 by Patrick.Boutot

	Fix FInterval::IsValid return type.

Change 3888980 by Patrick.Boutot

	Modification to Media and MediaAsset to support MediaSmith. The TInterval<int64> will be changed into TTinterval<FTimespan> UEENT-947. MediaSampleQueue's critical section will be change into an atomic operation UEENT-948.

Change 3889165 by Patrick.Boutot

	Fix build. Missing include for Timespan. Introduce with CL 3888980.

Change 3889261 by Jamie.Dale

	[Python] Fixing some more name conflicts in generated code

Change 3889504 by Darren.Pegg

	Add option to change PreferredPixelFormat

Change 3891193 by Patrick.Boutot

	Fix build. Missing include for Interval. Introduce with CL 3888980.

Change 3897108 by Patrick.Boutot

	TTinterval use it own traits. Create a Interval traits for Timespan.
	#jira UEENT-947

Change 3899669 by Jamie.Dale

	Fixed Functions sometimes being exposed to Python as if they were Structs

Change 3900692 by Jamie.Dale

	Removed some boilerplate associated with wrapping a basic type to Python

	You can now derive from TPyWrapperBasic to wrap a type that is simply a value copied into Python (see FPyWrapperName and FPyWrapperText for an example)

Change 3901066 by conan.reis

	UE4 editor script bindings (Cobra) and helper functions for version control
	- exposed SourceControl class with common source control methods and associated SourceControlState structure
	- commands have smart file strings that can convert from any of fully qualified path, relative path, long package name, asset path or export text path (often stored on clipboard)
	- commands store any errors in a shared error text object which is optionally printed to the error log
	- renamed some calls across the UE4 codebase to USourceControlHelpers::CheckOutOrAddFile() from USourceControlHelpers::CheckOutFile()
	- included Python test script for source control commands including that auto-creates test files as needed and passes various types of files to test as command line arguments. Any unexpected results displays error messages.

Change 3901388 by Jamie.Dale

	Minimal Slate hooks for Python

Change 3901456 by Jamie.Dale

	Added missing file

Change 3901549 by Jamie.Dale

	Removing some more Windows defines that were causing build issues

Change 3904518 by conan.reis

	Source Control
	- ensured that "check if modified" flag is set whenver getting source control state in USourceControlHelpers::QueryFileState() which was needed when using Perforce source control provider

Change 3905612 by Francis.Hurteau

	Optimize RemoveDuplicates somewhat using a TSet
	#jira UEENT-217

Change 3912626 by Jamie.Dale

	Fixed ShouldExcludeDerivedClasses option not working

	RecursiveClassesExclusionSet requires a base ClassNames entry to operate on when filtering.

Change 3917739 by Jamie.Dale

	Output Log suggestions list is now clamped to the work area width of the monitor that hosts the widget

Change 3917744 by Jamie.Dale

	Changed generated code to reference the UProperty and UFunction directly, rather than constantly look them up by name

	Names were originally used because UHT couldn't access the objects when it registered the glue code, but now that we generate at runtime via reflection, we already have the relevant objects available, and caching them the glue structs helps performance at both generation time and runtime.

Change 3918832 by Jamie.Dale

	Removed field iteration from Python function calls

	We now cache the input and output parameters for all function calls (methods, get/set, and delegates) and use this rather than iterate the struct fields.

Change 3920648 by Patrick.Boutot

	Remove the bottom right part of the windows border of the grabbed frame when in the editor. Tested in the standalone, windowed and full screen.
	Add option to request a FlushOnDraw on the viewport. Flushing in SDI output flow decreases the performance by ~10ms. SDI output is synchronized and the engine tick follows that synchronization.

Change 3921396 by Jamie.Dale

	Split up the generated type data to correspond to the type being wrapped

	A lot of types can just use the minimal set, but classes and structs have some extra data.

Change 3921619 by conan.reis

	- add delegate to FSourceControlWindows::ChoosePackagesToCheckin() that gives info for result, result description, files added, files checked in and flag indicating whether files were checked out again.
	- also added result info to FSourceControlWindows::PromptForCheckin()

	#jira UE-55255

Change 3921624 by conan.reis

	Removed Source Control common files from pre compiled header
	- main changes are in UnrealEdPrivatePCH.h, UnrealEdSharedPCH.h, SouceControlWindows.h and the added SouceControlWindows.cpp
	- remaining files have includes changed to accomodate

Change 3921958 by conan.reis

	Fix attempt for incude file dependency needed by some build configurations (likely PCH disabled) caused by CL3921619

Change 3922740 by conan.reis

	Included SourceControlOperations.h and SourceControlHelpers.h back in ISourceControlProvider.h though it does not need them since other files that were including ISourceControlProvider.h have come to expect their inclusion.
	They were previously removed in CL3921624

Change 3923375 by Jamie.Dale

	Added optimized FString <-> icu::UnicodeString conversion for platforms using UTF-16 native strings

Change 3926547 by Jamie.Dale

	Added support for struct method "hoisting"

	This allows you to tag a helper function that takes a struct as its first argument with the ScriptMethod meta-data (optionally providing a new name) to "hoist" that helper function to be a method of the struct it operates on when wrapped for Python.

Change 3927050 by conan.reis

	Source control - ensured that  ISourceControlProvider::Execute(FConnect, EConcurrency, FSourceControlOperationComplete) delegate is called on initial connection even if it fails immediately. Modified Perforce, Git and Subversion source control providers

	#JIRA UE-55256

Change 3929268 by conan.reis

	- fixed case in Perforce source control code where the server available flag was set even when the server was not successfully connected
	- removed Perforce error message about file folders outside of the workspace client mappings
	- clarified comments for ISourceControlProvider::IsEnabled() and ISourceControlModule::IsEnabled()

	#JIRA UE-55254

Change 3931024 by Rex.Hill

	Expose FBX and Texture import to python

Change 3931273 by Rex.Hill

	Hide re-import slate notification pop-up during python automated asset import

Change 3931368 by Jamie.Dale

	Stopped bools coercing to numeric types in Python nativization

Change 3931374 by Jamie.Dale

	Added support for struct math operator "hoisting"

	This allows you to tag a helper function that takes a struct as its first argument with the ScriptMathOp meta-data (providing a potentially semi-colon separated list of operators to map to) to "hoist" that helper function to be a math operator of the struct it operates on when wrapped for Python.

Change 3932586 by Rex.Hill

	Removed file read into unused memory buffer during Fbx import

Change 3934308 by Jamie.Dale

	Added a public interface for the Python plugin

	Very basic, just lets you query if Python is compiled in, and lets you execute Python commands like you would via the Output Log.

Change 3935088 by conan.reis

	- Added info/warning and error message storage to all the source control operation structures so additional information can be made available.
	- Added ISourceControlOperation::GetResultInfo() which returns the modified control structures (mentioned above) with appended info/warning messages and error messages and implemented its use in all source control operations in Perforce, Git and Subversion.

	#JIRA UE-55257

Change 3936668 by Rex.Hill

	#jira UE-55985
	Avoid re-allocation of memory buffer holding file bytes during asset import

Change 3940596 by Rex.Hill

	#jira UE-55989 Optimize skeletal mesh import performance scaling

	Overlapping vertex check was O (N^2)
	100k vertex mesh took ~15 seconds to perform overlap step now takes 0.023 seconds

Change 3942629 by Rex.Hill

	#jira UE-55995 Read fbx file only once during import

	Fixes a memory leak of FbxScene and reduces wait time during import.

Change 3942884 by Rex.Hill

	Python asset import can now customize destination asset name

Change 3946278 by Jamie.Dale

	Added stricter conversion for math operator arguments

	PyConversion now returns FPyConversionResult rather than bool, which will tell you not only whether a conversion succeeded or failed, but also whether type coercion was applied during the conversion.

	This allows the operator stack evaluation to run a first pass looking for an exact argument match, before falling back to a coerced match if available. This allows operators to apply correctly to coerced types (eg, int vs float overloads).

Change 3948455 by Jamie.Dale

	Added generic Tick function to FPythonScriptPlugin

	This can also handle init logic for after the engine is fully initialized

Change 3948888 by Jamie.Dale

	Added settings for the Python plugin

	You can now define start-up scripts to execute once the engine is initialized, additional system paths for Python, and whether you want to enable developer mode (which will enable things like deprecation warnings).

Change 3948982 by Jamie.Dale

	Fixed Python 3 build error caused by CObject being removed in Python 3.2

Change 3949614 by Francis.Hurteau

	Create a camera cut track from the camera switcher camera index animation curve when importing a fbx in sequencer
	#jira UEENT-1053

Change 3950829 by Rex.Hill

	Update error message to be more specific when ENGINE_API keyword is found before 'static' keyword for a UFUNCTION

Change 3953452 by Jamie.Dale

	Fixed some dependencies

Change 3953645 by Jamie.Dale

	Fixed Python parameter packing treating bool output paramers as potential return values

	void GetState(bool& OutState) would have previously triggered the code for packing output for a function that returns a bool.

Change 3953850 by Jamie.Dale

	Fixed doc string generation for a function with multiple output paramters and no return value

Change 3954279 by Jamie.Dale

	Initial support for exposing deprecated properties and functions to Python

	This handles properties and functions that are directly deprecated. We still need to handle the cases where they're renamed and a redirector is left.

Change 3954922 by Rex.Hill

	Expose UnloadPackages to python

Change 3955209 by Jamie.Dale

	Initial support for exposing deprecated classes to Python

Change 3955248 by Jamie.Dale

	Added a way to load Unreal modules via Python

	unreal.load_module("modulename")

Change 3955561 by Rex.Hill

	Expose asset export to python

Change 3956068 by Rex.Hill

	Linux compile fix.

Change 3960449 by Rex.Hill

	Fix automated test using bCombineMeshes

Change 3960495 by Patrick.Boutot

	Add a temporary menu to show the MetaData of an asset.
	The menu will need to be updated to have a look and feel of the Detail View and support edition at one point.

Change 3961599 by Rex.Hill

	Reduced peak memory during import of meshes related to duplicate vertex tracking

Change 3962104 by Rex.Hill

	Disable import mesh overlapping corners memory optimization to because it can change uv generation

Change 3962507 by Rex.Hill

	Fix uv generation

Change 3965285 by Rex.Hill

	Add support for FBX export as ASCII
	#jira UE-56465

Change 3965287 by Rex.Hill

	Forgotten file, fbx export as ascii

Change 3966772 by Simon.Tourangeau

	Fix MaterialExpressionFunctions for ExternalTexture support

Change 3967014 by Jamie.Dale

	Added a way to get the CDO in Python

	Wrapped objects now have a get_default_object class method

Change 3967151 by Jamie.Dale

	Added stats to track Python generation time

Change 3968006 by Simon.Therriault

	Media Samples

	- Removed Locks and Min/Max SampleTime from queues
	- Added methods to fetch NextSampleTime and SampleCount in queues
	- Added MediaSource base class for players that want to be time synchronized

	#jira UEENT-948

Change 3969119 by Patrick.Boutot

	Add delay functionnality to MediaPlayer to delay the frame by some time. It will allow more than one player to be start at the same time, played at the same frame but offset in relation to each other.

[CL 3972277 by Simon Tourangeau in Main branch]
2018-03-29 13:32:35 -04:00
Marc Audy
7a0f229e8d Copying //UE4/Fortnite-Staging to //UE4/Dev-Main (Source: //Fortnite/Main/Engine @ 3876564)
#lockdown Nick.Penwarden
#rnx
#rb none

[CL 3903710 by Marc Audy in Main branch]
2018-02-22 11:25:06 -05:00
Ben Marsh
30f891786a Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3847469)
#lockdown Nick.Penwarden
#rb none

============================
  MAJOR FEATURES & CHANGES
============================

Change 3805828 by Gil.Gribb

	UE4 - Fixed a bug in the lock free stalling task queue and adjusted a comment. The code is not current used, so this is not actually change the way the code works.

Change 3806784 by Ben.Marsh

	UAT: Remove code to compile UBT when using UE4Build. It should already be compiled as a dependency of UAT.

Change 3807549 by Graeme.Thornton

	Add a cook timer around VerifyCanCookPackage. A licensee reports this taking a lot of time so it'll be good to account for it.

Change 3807727 by Graeme.Thornton

	Unhide the text asset format experimental editor option

Change 3807746 by Josh.Engebretson

	Remove WER from iOS platform

Change 3807928 by Robert.Manuszewski

	When async loading, GC Clusters will be created after packages have been processed to avoid situations where some of the objects that are being added to a cluster haven't been fully loaded yet

Change 3808221 by Steve.Robb

	GitHub #4307 - Made GetModulePtr() thread safe by not using GetModule()

	^ I'm not convinced by how much thread-safer this is really, but it's tidier anyway.

Change 3809233 by Graeme.Thornton

	TBA: Misc changes to text asset commandlet
	 - Rename mode to "loadsave"
	 - Add -outputFormat option which can be assigned "text" or "binary"
	 - When saving binary, use a differentiated filename so that source assets aren't overwritten

Change 3809518 by Ben.Marsh

	Remove the outdated UnrealSync automation script.

Change 3809643 by Steve.Robb

	GitHub #4277 : fix bug; FMath::FormatIntToHumanReadable 3rd comma and negative value

	#jira UE-53037

Change 3809862 by Steve.Robb

	GitHub #3342 : [FRotator.h] Fix to DecompressAxisFromByte to be more efficient and reflect its intent accurately

	#jira UE-42593

Change 3811190 by Graeme.Thornton

	Add support for writing specific log channels to their own files

Change 3811197 by Graeme.Thornton

	Minor updates to output formatting and timing for the text asset commandlet

Change 3811257 by Robert.Manuszewski

	Cluster creation will now be time-sliced

Change 3811565 by Steve.Robb

	Define out non-monolithic module functions.

Change 3812561 by Steve.Robb

	GitHub #3886 : Enable Brace-Initialization for Declaring Variables

	Incorrect semi-colon search removed after discussion with author.
	Test added.

	#jira UE-48242

Change 3812864 by Steve.Robb

	Removal of some unproven code which was supposed to fix hot reloading BP class functions in plugins.

	See: https://udn.unrealengine.com/questions/376978/aitask-blueprint-nodes-disappear-when-their-module.html

	#jira UE-53089

Change 3820358 by Ben.Marsh

	PR #4358: Incredibuild use ShowAgent by default (Contributed by projectgheist)


Change 3822594 by Ben.Marsh

	UAT: Improvements to log file handling.

	- Always create log files in the final location, rather than writing to a temp directory and copying in later.
	- Now supports -Verbose and -VeryVerbose for increasing log verbosity, rather than -Verbose=XXX.
	- Keep a backlog of log output before the log system is initialized, and flush it to the log file once it is.
	- Allow buildmachines to specify the uebp_FinalLogFolder environment variable, which is used to form paths for display. When build machines copy log files elsewhere after UAT finishes (eg. a network share), this allows error messages to display the right location.

Change 3823695 by Ben.Marsh

	UGS: Fix issue where precompiled binaries would not be shown as available for a change until scrolling the last submitted code change into the buffer (other symptoms, like de-focussing the main window would cause it to go back to an unavailable state, since the changes buffer was shrunk).

	Now always queries changes up to the last change for which zipped binaries are available.

Change 3823845 by Ben.Marsh

	UBT: Exclude C# projects for unsupported platforms when generating project files.

Change 3824180 by Ben.Marsh

	UGS: Add an option to show changes by build machines, and move the "only show reviewed" option in there too (Options > Show Changes).

	#jira

Change 3825777 by Steve.Robb

	Fix to return value of StringToBytes.

Change 3825810 by Ben.Marsh

	UBT: Reduce length of include paths for MSVC toolchain.

Change 3825822 by Robert.Manuszewski

	Optimized PIE lazy pointer fixup. Should be up to 8x faster now.

Change 3826734 by Ben.Marsh

	Remove code to disable TextureFormatAndroid on Linux. It seems to be an editor dependency.

Change 3827730 by Steve.Robb

	Try to avoid decltype(auto) if it's not supported.

	See: https://udn.unrealengine.com/questions/395644/build-417-with-c11-on-linux-ttuple-errors.html

Change 3827745 by Steve.Robb

	Initializer list support for TMap.

Change 3827770 by Steve.Robb

	GitHub #4399 : Added a CONSTEXPR qualifiers to FVariant::GetType()

	#jira UE-53813

Change 3829189 by Ben.Marsh

	UBT: Now always writes a minimal log file. By default, just contains the regular console output and any reasons why actions are outdated and needed to be executed. UAT directs child UBT instances to output logs into its own log folder, so that build machines can save them off.

Change 3830444 by Steve.Robb

	BuildVersion and ModuleManifest moved to Core, and parsing of these files reimplemented to avoid a JSON library.
	This should be revisited when Core has its own JSON library.

Change 3830718 by Ben.Marsh

	Fix incorrect group name being returned by FStatNameAndInfo::GetGroupName() for stat groups.

	The editor populates the viewport stats list by calling this for every registered stat and stat group (via FLevelViewportCommands::HandleNewStatGroup). The menu entry attempts to show the stat name with STAT_XXX stripped from the start as the menu item label, with the free-form text description as a tooltip.

	For stat groups, the it would previously just return the stat group name as "Groups" (due to the raw naming convention of "//Groups//STATGROUP_Foo//..."). Since this didn't match the expected naming convention in FLevelViewportCommands::HandleNewStat (ie. STAT_XXX or STATGROUP_XXX), it would fail to add it.

	When the first actual stat belonging to that group is added, it would add a menu entry for the group based on that, but the stat description no longer makes sense as a tooltip for the group. As a result, all the editor tooltips were junk.

	#jira UE-53845

Change 3831064 by Ben.Marsh

	Fix log file contention when spawning UBT recursively.

Change 3832654 by Ben.Marsh

	UGS: Fix error panel not being selected when opened, and weird alignment/color issues on it.

Change 3832680 by Ben.Marsh

	UGS: Fix failing to detect workspace if synced to a different stream. Seems to be a regression caused by recent P4D upgrade.

Change 3832695 by Ben.Marsh

	UGS: Invert the options in the 'Show Changes' submenu for simplicity.

Change 3833528 by Ben.Marsh

	UAT: Script to rewrite source files with public include paths relative to the 'Public' folder. Usage is: RebasePublicIncludePaths -UpdateDir=<Dir> [-Project=<Dir>] [-Write].

Change 3833543 by Ben.Marsh

	UBT: Allow targets to opt-out of having public include paths added for every dependent module. This reduces the command line length when building a target, which has recently become a problem with larger games (due to Microsoft's compiler embedding the command line into each object file, with a maximum length of 64kb). All engine modules are compiled with this enabled; games may opt into it by setting bLegacyPublicIncludePaths = false; from their .target.cs, as may individual modules.

Change 3834354 by Robert.Manuszewski

	Archetype pointer will now be cached to avoid locking the object tables when acquiring its info. It should also be faster this way regardless of any locks.

	#jira UE-52035

Change 3834400 by Robert.Manuszewski

	Fixing crash on exit caused by cached archetypes not being cleaned up before static exit cleanup.

	#jira UE-52035

Change 3834947 by Steve.Robb

	USE_FORMAT_STRING_TYPE_CHECKING removed from FMsg::Logf and FMsg::Logf_Internal.

Change 3835004 by Ben.Marsh

	Fix code that relies on dubious behavior of requiring referenced "include path only" modules having their _API macros set to be empty, even if the module is actually implemented in a separate DLL.

Change 3835340 by Ben.Marsh

	Fix errors making installed build from directories with spaces in the name.

Change 3835972 by Ben.Marsh

	UBT: Improved diagnostic message for targets which don't need a version file.

Change 3836019 by Ben.Marsh

	UBT: Fix warnings caused by defining linkage macros for third party libraries.

Change 3836269 by Ben.Marsh

	Fix message box larger than the screen height being created when a large number of modules are incompatible on startup.

Change 3836543 by Ben.Marsh

	Enable SoundMod plugin on Linux, since it's already supported through the editor.

Change 3836546 by Ben.Marsh

	PR #4412: fix type mismatch (Contributed by nakapon)


Change 3836805 by Ben.Marsh

	Fix commandlet to compile marketplace plugins.

Change 3836829 by Ben.Marsh

	UBT: Fix ability to precompile plugins from installed engine builds.

Change 3837036 by Ben.Marsh

	UBT: Write the previous and new contents of intermediate files to the log if they change. Makes it easier to debug unexpected rebuilds.

Change 3837037 by Ben.Marsh

	UBT: Fix engine modules having inconsistent definitions depending on whether modules are only referenced for their include paths vs being linked into a binary (due to different _API macro).

Change 3837040 by Ben.Marsh

	UBT: Remove code that initializes members in ModuleRules and TargetRules objects before the constructor is run. This is no longer necessary, now that the backwards-compatible default constructors have been removed.

Change 3837247 by Ben.Marsh

	UBT: Remove UELinkerFixups module, now that plugins and precompiled modules do not require hacks to force initialization (since they're linked in as object files).

	Encryption and signing keys are now set via macros expanded from the IMPLEMENT_PRIMARY_GAME_MODULE macro, via project-specific macros added in the TargetRules constructor.

Change 3837262 by Ben.Marsh

	UBT: Set whether a module is an engine module or not via a default value for the rules assembly. All non-program engine and enterprise modules are created with this flag set to true; program targets and modules are now created from a different assembly that sets it to false. This removes hacks from UEBuildModule needed to adjust behavior for different module types based on the directory containing the module.

	Also add a bUseBackwardsCompatibleDefaults flag to the TargetRules class, also initialized to a default value from a setting passed to the RulesAssembly constructor. This controls whether modules created for the target should be configured to allow breaking changes to default settings, and is set to false for all engine targets, and true for all project targets.

Change 3837343 by Ben.Marsh

	UBT: Remove the OverrideExecutableFileExtension target property. Change the only current use for this (the MayaLiveLinkPlugin target) to use a post build step to copy the file instead.

Change 3837356 by Ben.Marsh

	Fix invalid character encodings.

Change 3837727 by Graeme.Thornton

	UnrealPak: KeyGenerator: Only generate prime table when required, not all the time

Change 3837823 by Ben.Marsh

	UBT: Output warnings and errors when compiling module rules assembly in a way that allows them to be double-clicked in the Visual Studio output window.

Change 3837831 by Graeme.Thornton

	UBT: When parsing crypto settings, always load legacy data first, then allow the new system to override it. Provides the same key backwards compatibility that the editor settings class gives

Change 3837857 by Robert.Manuszewski

	PR #4404: Make FGCArrayPool singleton global instead of per-CU (Contributed by mhutch)


Change 3837943 by Robert.Manuszewski

	PR #4405: Fix FGarbageCollectionTracer (Contributed by mhutch)


Change 3838451 by Ben.Marsh

	UBT: Fix exceptions thrown on a background thread while caching C++ includes not being caught and logged correctly. Now captures exceptions and re-throws on the main thread.

	#jira UE-53996

Change 3839519 by Ben.Marsh

	UBT: Simplify configuring bPrecompile and bUsePrecompile settings for modules. Each rules assembly can now be configured as installed, which defaults the module rules it creates to use precompiled data.

Change 3843790 by Graeme.Thornton

	UnrealPak: Log the size of all encrypted data

Change 3844258 by Ben.Marsh

	Fix plugin compile failure when created via new plugin wizard. Passing -plugin on the command line is unnecessary, and is now reserved for packaging external plugins for the marketplace.

	Also extend the length of time that the error toast stays visible, and don't delete the plugin on failure.

	#jira UE-54157

Change 3845796 by Ben.Marsh

	Workaround for slow performance of String.EndsWith() on Mono.

Change 3845823 by Ben.Marsh

	Fix case sensitive matching of platform names in -TargetPlatform=X argument to BuildCookRun.

	#jira UE-54123

Change 3845901 by Arciel.Rekman

	Linux: fix crash due to lambda lifetime issues (UE-54040).

	- The lambda goes out of scope in FBufferVisualizationMenuCommands::CreateVisualizationCommands, crashing the editor if compiled with a recent clang (5.0+).

	(Edigrating 3819174 to Dev-Core)

Change 3846439 by Ben.Marsh

	Revert CL 3822742 to always call Process.WaitForExit(). The Android target platform module in the editor spawns ADB.EXE, which inherits the editor's stdout/stderr handles and forks itself. Process.WaitForExit() waits for EOF on those pipes, which never occurs because the forked process never terminates.

	Proper fix is probably to have the engine explicitly duplicate stdout/stderr handles for new pipes to output process, but too risky before copying up to Main.

Change 3816608 by Ben.Marsh

	UBT: Use DirectoryReference objects for all include paths.

Change 3816954 by Ben.Marsh

	UBT: Remove bIncludeDependentLibrariesInLibrary option. This is not widely supported by platform toolchains, and is not used anywhere.

Change 3816986 by Ben.Marsh

	UBT: Remove UEBuildBinaryConfig; UEBuildBinary objects are now just created directly.

Change 3816991 by Ben.Marsh

	UBT: Deprecate PlatformSpecificDynamicallyLoadedModules. We no longer have any special behavior for these modules.

Change 3823090 by Ben.Marsh

	UAT: Improve logging for child UAT instances.

	- Calling RunUAT now requires an identifier for prefixing into the parent log, which is also used to determine the name of the log folder.
	- Stdout is no longer written to its own output file, since it's written to the parent stdout, the parent log file, and the child log file anyway.
	- Log folders for child UAT instances are left intact, rather than being copied to the parent folder. The derived names for the copied names were confusing and hard to read.
	- Output from UAT is no longer returned as a string. It should not be parsed anyway (but may be huge!). ProcessResult now supports running without capturing output.

Change 3826082 by Ben.Marsh

	UBT: Add a check to make sure that all modules that are precompiled are correctly marked to enable it, even if they are part of the build target.

Change 3827025 by Ben.Marsh

	UBT: Move the compile output directory into a property on the module, and explicitly pass it to the toolchain when compiling.

Change 3829927 by James.Hopkin

	Made HTTP interface const correct

Change 3833533 by Ben.Marsh

	Rewrite engine source files to base include paths relative to the "Public" directory. This allows reducing the number of public include paths that have to be added for engine modules.

Change 3835826 by Ben.Marsh

	UBT: Precompiled targets now generate a separate manifest for each precompiled module, rather than adding object files to a library. This fixes issues where object files from static libraries would not be linked into a target if a symbol in them was not referenced.

Change 3835969 by Ben.Marsh

	UBT: Fix cases where text is being written directly to the console rather than via logging functions.

Change 3837777 by Steve.Robb

	Format string type checking added to FOutputDevice::Logf.
	Fixes for those.

Change 3838569 by Steve.Robb

	Algo moved up a folder.

[CL 3847482 by Ben Marsh in Main branch]
2018-01-20 11:19:29 -05:00
Ben Marsh
13d012685f Merging copyright update from 4.19 branch.
#rb none
#rnx
#jira

[CL 3818977 by Ben Marsh in Staging-4.19 branch]
2018-01-02 15:30:26 -05:00
Ben Marsh
cfc9f4775f Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3805092)
#lockdown Nick.Penwarden
#rb none

============================
  MAJOR FEATURES & CHANGES
============================

Change 3623004 by Ben.Marsh

	Fix RemoteExecutor not taking the remote machine specs into account.

Change 3623172 by Ben.Marsh

	UGS: Fix "More Info..." button not using P4 server override.

Change 3628820 by Ben.Marsh

	PR #3979: Get working directory from task element, not tool node (Contributed by nullbus)


Change 3630424 by Graeme.Thornton

	Make the AES key parameter const in FAES::EncryptData()

Change 3632786 by Steve.Robb

	FString constructor fixed to not take an ignored void* parameter, which can be misleading.

Change 3639534 by Ben.Marsh

	Remove old P4.NET library. Doesn't seem to be used by anything.

Change 3640536 by Steve.Robb

	GitHub #4007 : Delete unnecessary specialization of MakeArrayView

	#jira UE-49617

Change 3641155 by Gil.Gribb

	UE4 - Speculative fix for problem with summary reading in FAsyncArchive2.

Change 3643932 by Ben.Marsh

	Add an example build script for updating the version number, then compiling and staging the editor and tools to an output directory. Optionally submits at the end (requires -Submit argument).

Change 3644825 by Ben.Marsh

	Use VSWHERE to find the location of MsBuild.exe, if available.

	https://github.com/EpicGames/UnrealEngine/pull/3879#issuecomment-329688645

Change 3647395 by Ben.Marsh

	Allow compiling of monolithic binaries from BuildEditorAndTools.xml, using the -set:GameTarget=FooGame -set:TargetPlatforms=Win32;Win64 options.

Change 3650300 by Ben.Marsh

	UAT: Remove code that deletes cooked data on a failed cook. The engine should write packages out transactionally now (by writing to a temporary file and moving into place), and deleting the cooked data just prevents post-mortem analysis.

Change 3650856 by Robert.Manuszewski

	Adding checks to prevent FlushAsyncLoading and LoadObject/LoadPackage from being called from any threads other than the game thread

Change 3651022 by Gil.Gribb

	UE4 - Possible fix for mysterious ensure indicating problematic recursion in the pak precacher.

Change 3658331 by Steve.Robb

	Fix for the parsing of large integer values.

Change 3661958 by Gil.Gribb

	UE4 - Fixed rare hang in task graph.

Change 3664021 by Robert.Manuszewski

	Fix for a potential GC crash caused by stale pointer in AnimInstanceProxy

	See https://udn.unrealengine.com/questions/392432/gc-issue-uaniminstancemontageinstances-empty-but-u.html

Change 3664254 by Steve.Robb

	Use ANSI allocator when thread sanitizer is enabled.  This allows the generation of more accurate and meaningful reports.

Change 3664436 by Steve.Robb

	Use TUniquePtr instead of a thread-unsafe TSharedPtr to move data between threads.

Change 3666461 by Graeme.Thornton

	Improvements to signing/encryption key embedding and runtime access
	 - Changed method of embedding key into the executable to make it more secure
	 - Added FAESKey class to wrap a 32 byte key

Change 3666462 by Graeme.Thornton

	Cut ShooterGame AES key down to 32 characters

Change 3677560 by Ben.Marsh

	PR #4074: UBT: Add include and library-related fields to module JSON output (Contributed by adamrehn)


Change 3683534 by Steve.Robb

	Refactoring of enum/struct lookup during hot reload.

Change 3683754 by Steve.Robb

	Alignment fixes to allow int64 on 32-bit platforms
	Support for integral types in IsAligned.
	Static asserts so that alignment functions will no longer be called with non-intergal, non-pointer types.
	Some fixes to existing code.

Change 3686670 by Steve.Robb

	Fix for thread-unsafe modification of static array in FString::ParseIntoArrayWS.

Change 3687540 by Ben.Marsh

	Fix all UBT/UAT output going to stderr rather than stdout.

Change 3688931 by Gil.Gribb

	UE4 - Critical fix for a rare race condition in the pak file async IO layer.

Change 3690000 by Graeme.Thornton

	Manual copy of 4.18 CL 3687869

	Make UBT include the destination INI file for a given hierarchy if it exists
	Renamed VSCode enum value to VisualStudioCode, so it matches the source accessor plugin name

Change 3690030 by Graeme.Thornton

	VSCode fixes
	 - Source Code Accessor plugin changes. Add new interface method to open a solution at a given path
	 - GameProjectUtils now uses the source navigation API to open solutions rather than hardcoding which solution file types to look for
	 - Various fixes for vscode project file generation

	#jira UE-50554

Change 3690885 by Steve.Robb

	Atomic reads in FReferenceControllerOps<ESPMode::ThreadSafe>.

Change 3691052 by Steve.Robb

	Free stats thread on shutdown.

Change 3695138 by Steve.Robb

	AsConst helper function added.

Change 3696627 by James.Hopkin

	Changed player controller iterator typedefs to use TWeakObjectPtr rather than the deprecated TAutoWeakObjectPtr

	(review-3606695)

Change 3697099 by Steve.Robb

	GitHub #4105 : Removed redundant class access modifier

Change 3697154 by Steve.Robb

	Removal of deprecated functions in delegates.
	Mutable lambdas to can now be bound to delegates.

Change 3697180 by Steve.Robb

	GitHub #4115 : Incorrect CPPMacroType used for USoftClassProperty

Change 3697239 by Steve.Robb

	Allow TArray::Insert to take an array with any allocator type.

Change 3697269 by Steve.Robb

	RelocateConstructItems instead of MoveConstructItems.

Change 3697558 by Steve.Robb

	New _GetRef functions for TArray, which return a reference to the newly-added element.
	Unit tests for these functions.

Change 3699776 by Steve.Robb

	TSAN warning suppression around IAsyncReadRequest::bCompleteAndCallbackCalled.

Change 3702397 by Steve.Robb

	TIsTrivial type trait.

Change 3702569 by Steve.Robb

	Allow a TGuardValue to be assigned to a different type from the one being guarded.

Change 3706644 by Robert.Manuszewski

	Different stack ingore count for development builds for FArchiveStackTrace

Change 3709272 by Steve.Robb

	Removal of redundant UpdateVertices, which causes a race condition on the renderer thread.

Change 3709452 by Robert.Manuszewski

	Fixed a bug where with async time limit set to a low value the async loading could hang because the linker would keep reloading the preload dependencies

Change 3709454 by Robert.Manuszewski

	Added command line option -NOEDL to disable EDL

Change 3709487 by Steve.Robb

	Remove use of PLATFORM_HAS_64BIT_ATOMICS, which is always 1.

Change 3709645 by Ben.Marsh

	Fix race condition between multiple instances of UBT trying to write out the XML config cache.

Change 3711193 by Ben.Marsh

	Add an editor setting for the shared DDC location to use.

	#jira UE-51487

Change 3713811 by Steve.Robb

	Update .modules files after a hot reload.
	Don't check for directory timestamp changes as a way of detecting new files if hot reloading with a makefile, as this is already done during makefile invalidation checks.
	Pass hotreload flags around in UBT instead of relying on global state.

	This fixes the hot reload iteration speed regression without also regressing the fix to UE-42205.

	#jira UE-51472

Change 3715654 by Steve.Robb

	GitHub #4156 : Fixed not compiling template function Algo::UpperBoundBy.

Change 3718782 by Steve.Robb

	TSharedPtr, TSharedRef and TWeakPtr assignment are now implemented as copy-and-swap to avoid an invalid smart pointer state being visible to any destructors being called.

Change 3720830 by Steve.Robb

	Initial import of TAtomic object wrapper, which guarantees atomic access to an object.

Change 3720881 by Steve.Robb

	FCompression ThreadSanitizer data race fixes.

Change 3722640 by Graeme.Thornton

	Guard network platform file heartbeat function with the socket critical section. Stop heartbeat from causing a crash when firing during async loading.

	#jira UE-51463

Change 3722655 by Steve.Robb

	Don't null name table because it's already zeroed at startup.
	Some tidy-ups.

Change 3722754 by Steve.Robb

	Thread sanitizer fix.
	Small typo fix.

Change 3722849 by Graeme.Thornton

	Improve "caching file" message in networkplatformfile so it says "Requesting file..." and is only output when we actually request the file from the server

Change 3723081 by Steve.Robb

	TAtomic is now aligned to the underlying integer type.
	TAtomic will now static assert with a better error message when given an unsupported type.
	Define added for the maximum platform-supported atomic type, and used instead of a (wrong) hardcoded number.
	Misc renames.

Change 3723270 by Ben.Marsh

	Include /d2cgsummary argument when running UBT with -Timing.

Change 3723683 by Ben.Marsh

	Do not include documentation in the generated project files by default. Suspect that the 30,000 UDN files that get added to the solution take up memory and degrate performance.

Change 3725422 by Robert.Manuszewski

	When serializing compressed archive with multithreaded compression enabled, wait for the oldest async task instead of spinning.

Change 3725735 by Robert.Manuszewski

	Making all CheckDefaultSubobjects related functions const

Change 3726167 by Steve.Robb

	FMinimalName::IsNone added.

Change 3726458 by Steve.Robb

	TAtomic will no longer instantiate for types which are not exactly a size supported by the platform layer.

Change 3726542 by Ben.Marsh

	UGS: Always include the project filename in the editor build command. The project may not be in one of the .uprojectdirs paths.

Change 3726595 by Ben.Marsh

	Allow building multiple game targets in the example BuildEditorAndTools.xml script.

Change 3726724 by Ben.Marsh

	Fix ambiguities in calculating root directory. (GitHub #4172)

Change 3726959 by Ben.Marsh

	Make sure that AutomationTool uses the same list of preprocessor definitions when compiling *.target.cs files as UnrealBuildTool does.

Change 3728437 by Steve.Robb

	VisitTupleElements now supports invocation of a functor taking arguments from multiple tuples in parallel.
	Some improved documentation.

	NOTE: This is a backward-incompatible change to VisitTupleElements.  Any existing calls will need their arguments swapping.

Change 3732262 by Gil.Gribb

	UE4 - Fixed rare hangs in the task graph.

Change 3732755 by Steve.Robb

	Stats TSAN fixes.
	Optimizations to FCycleCounter::Start() to only read the stat name once.

Change 3735000 by Robert.Manuszewski

	Always preload the AssetRegistry module on startup. even if EDL is disabled.

	Even without EDL, if the async loading thread is enabled the AssetRegistryModule will otherwise be loaded from the ASL thread and that will assert.

Change 3735292 by Robert.Manuszewski

	Made sure component visualizer is removed from VisualizersForSelection when UnregisterComponentVisualizer() is called otherwise it may cause crashes when the engine terminates.

Change 3735332 by Steve.Robb

	Refactoring of UDelegateProperty::Identical() to clarify logic.
	Fixed UMulticastDelegateProperty::Identical() to compare the bound function names.
	PPF_DeltaComparison removed, as it doesn't seem useful.

Change 3737960 by Graeme.Thornton

	VSCode - Add launch task for generating project files for the given folder

Change 3738398 by Graeme.Thornton

	Make Visual Studio source code accessor's module hotreload handler pass the 'save all files' message to the current accesor, rather than direct to the visual studio accessor

	#jira UE-51451

Change 3738405 by Graeme.Thornton

	VSCode: Format c/cpp settings strings using comment path formatting function

Change 3738928 by Steve.Robb

	Fix for lack of null conditional operators in some older Monos. (replicated from CL# 3729574 in Release-4.18)

	#jira UE-51842

Change 3739135 by Ben.Marsh

	Fix being unable to package projects in a folder called "Wolf". This is only a restricted folder for Epic's Perforce history.

	#jira UE-51855

Change 3739360 by Ben.Marsh

	UAT: Fix issue with P4PORT setting not being parsed correctly.

Change 3745959 by James.Hopkin

	#core Added ImplicitConv for safe upcasts to a specific required type, e.g. deduced delegate payload types

Change 3746125 by Steve.Robb

	FName ThreadSanitizer fixes.

Change 3747274 by Steve.Robb

	TSAN fix for FMediaTicker::Stopping.

Change 3747618 by Steve.Robb

	ThreadSanitizer data race fix for FShaderCompileThreadRunnableBase::bForceFinish.

Change 3747720 by Steve.Robb

	ThreadSanitizer fix for FMessageRouter::Stopping.

Change 3749207 by Graeme.Thornton

	First pass of CryptoKeys plugin. Allows creation/editing/cycling of AES/RSA keys.

Change 3749323 by Graeme.Thornton

	Fix UAT crash when only -targetplatform is specifiied

Change 3749349 by Steve.Robb

	TSAN_SAFE guards around LockFreeList to silence ThreadSanitizer.

Change 3749617 by Steve.Robb

	Logf static_assert for formatting string enabled.

Change 3749897 by Steve.Robb

	FDebug::LogAssertFailedMessage static assert for formatting string enabled.

Change 3754011 by Steve.Robb

	Static asserts that the allocator supports move.
	Move-enabled our allocators which don't support move.

Change 3754227 by Ben.Marsh

	Fix build command line in generated projects missing a space before the compiler version override.

	#jira UE-52226

Change 3754562 by Ben.Marsh

	PR #4206: Replace deprecated wsprintf with secure swprintf for Bootstrap executable (Contributed by jessicafalk)


Change 3755616 by Graeme.Thornton

	Runtime code for using the new crypto ini files to define signing/encryption keys

	#jira UE-46580

Change 3755666 by James.Hopkin

	Used ImplicitConv to remove Casts being used for up-casts

	#review-3745965

Change 3755671 by Graeme.Thornton

	Add log message in unrealpak to say which config file system it is using for crypto keys

Change 3755672 by Graeme.Thornton

	Updating ShooterGame with new CryptoKeys based security setup

Change 3756778 by Ben.Marsh

	Add support for running multiple jobs simultaneously on a single builder.

	When running job or agent setup, the --num-slots=X parameter defines the number of steps that can run simultaneously (EC procedures pass in the resource step limit). A lock file is created under the workspace root (D:\Build) and a reservation file is created for the first slot that can be allocated (slot-1, slot-2, etc...). The slot number is used to define the workspace name that should be used.

Change 3758498 by Ben.Marsh

	Re-throw exceptions when a file cannot be deleted when cleaning a target.

Change 3758921 by Steve.Robb

	ThreadSanitizer fix to FThreadSafeStaticStatBase::HighPerformanceEnable to do a relaxed atomic load on access.
	DoSetup() now returns the newly-allocated pointer, instead of reloading it from memory.

Change 3760599 by Graeme.Thornton

	Added missing epic header comment to some new source files

Change 3760642 by Steve.Robb

	ThreadSanitizer fix for concurrent access to GMainThreadBlockedOnRenderThread.

Change 3760669 by Graeme.Thornton

	Improvement to OpenSSL based signing key generator. Generate a full RSA key then steal the primes from it, rather than generating the primes manually.

	Added a test mode to the cryptokeys commandlet to test signing key generation

Change 3760711 by Steve.Robb

	ThreadSanitizer fixes to GIsRenderingThreadSuspended.

Change 3760739 by Steve.Robb

	ThreadSanitizer fix for FQueuedThread::TimeToDie.

Change 3760763 by Steve.Robb

	ThreadSanitizer fix for GRunRenderingThreadHeartbeat.
	Removal of unnecessary/dangerous initializer for GMainThreadBlockedOnRenderThread.

Change 3760793 by Steve.Robb

	Some simple refactoring to remove some volatile reads of BufferStartPos and BufferEndPos.

Change 3760817 by Steve.Robb

	ThreadSanitizer fixes for FAsyncWriter::BufferStartPos and BufferEndPos.

Change 3761331 by Josh.Engebretson

	UnrealBuildTool enforcement of Development and Debug configurations in existing .csproj

	#jira UE-52416

Change 3761521 by Steve.Robb

	ThreadSanitizer fixes for FEvent::EventStartCycles and EventUniqueId.

Change 3763117 by Graeme.Thornton

	PR #3722: Optimising FPaths::IsRelative() (Contributed by jovisgCL)


Change 3763358 by Graeme.Thornton

	Ensure that all branches within FGenericPlatformMisc::RootDir() produce an absolute path with no duplicate slashes
	Remove relative->abs conversion of root dir from FPaths::MakeStandardFilename(), now that we know RootDir() always returns an absolute path

	Derived from the content of this PR:
	PR #3742: Treat RootDirectory the same way as Standardized (Contributed by TroutZhang)


Change 3764058 by Graeme.Thornton

	Generate a .code-workspace file for the current workspace. Allows foreign projects to "mount" the UE4 folder so that the engine tasks are avaible, and all engine source is visible to VSCode for searching purposes

	#jira UE-52359

Change 3764705 by Steve.Robb

	Better handling of whitespace in ImportText_Internal() for set and map properties.
	Containers are now emptied upon import failure, to avoid leaving bad container states (unhashed, partial data).
	Fix to USetProperty's temp buffer size to avoid buffer overruns.
	Duplicate map keys are now skipped during import, same as USetProperty's behavior.

Change 3764731 by Steve.Robb

	Don't re-run UHT if only source files have changed in the same folder as headers.  This was already done for hot reload, but there's no reason why it should be limited to that.

Change 3765923 by Graeme.Thornton

	VSCode - "taskName" -> "label" for C# build tasks

Change 3766018 by Steve.Robb

	constexpr constructor for TAtomic.

Change 3766037 by Steve.Robb

	Misc tidyings in HotReload.cpp.

Change 3766046 by Steve.Robb

	ThreadSanitizer fixes to ENamedThreads::RenderThread and ENamedThreads::ENamedThreads_Local.

Change 3766288 by Steve.Robb

	Improved efficiency of adding/removing elements to UGCObjectReferencer::ReferencedObjects.

Change 3766374 by Josh.Engebretson

	Fix issue with ini quoted value comparison

	#jira UE-52066

Change 3766532 by Josh.Engebretson

	PR #3680: Added NetSerialize to FDateTime fixing UE-22533 (Contributed by druhasu)
	#jira UE-46156

Change 3766740 by Steve.Robb

	TMultiMap::Append added.

Change 3767523 by Steve.Robb

	ThreadSanitizer fix for UE4Delegates_Private::GNextID.

Change 3767601 by Steve.Robb

	ThreadSanitizer fix for FStats::GameThreadStatsFrame.

Change 3770567 by Ben.Marsh

	Add a FAnnotatedArchiveFormatter interface which allows querying structural type information that may not be in binary archives.

Change 3770826 by Ben.Marsh

	Move StructuredArchive implementation into Core, so primitive types can implement serialization overloads for it.

Change 3770875 by Steve.Robb

	Redundant UScriptStruct::PostLoad removed, which was causing a race condition in async loading.  This was re-establishing the CppStructOps, but that is unnecessary because native classes cannot change as a result of a load - only BP structs can, and they don't have CppStructOps.

Change 3772167 by Ben.Marsh

	Add a context-free binary formatter that can serialize tagged data. This functions as a lower-overhead binary intermediate format for JSON data.

Change 3772248 by Steve.Robb

	ThreadSanitizer fixes to FMalloc call counters.

Change 3772383 by Ben.Marsh

	Separate archive metadata from FArchive into FArchiveContext, so it can be safely exposed to consumers of FStructuredArchive.

Change 3772906 by Graeme.Thornton

	TextAssetCommandlet - Utility commandlet for testing/converting to text asset format

Change 3772932 by Ben.Marsh

	Fix "String:" prefix not being stripped from escaped string values.

Change 3772942 by Graeme.Thornton

	Add experimental setting to enable in-editor text asset format functionality
	Add "export to text" option into the content browser asset actions context menu

Change 3772955 by Ben.Marsh

	Add a new "stream" compound type to FStructuredArchive, which allows serializing a sequence of elements similarly to an array, but without serializing an explicit size. Allows passing through data to an underlying binary archive without breaking compatibility.

Change 3772963 by Ben.Marsh

	Allow querying record keys and stream lengths from annotated archive formatters, since these archives have markup for field boundaries.

Change 3773010 by Graeme.Thornton

	Added CORE_API to FArchiveFromStructuredArchive
	Gave text asset format experimental option a slightly less random tooltip comment

Change 3773057 by Ben.Marsh

	Add a flag to FArchive to determine whether the archive is text (IsTextFormat()).

	Add support for seeking within FArchiveFromStructuredArchive. For text formats, data is serialized to an in-memory buffer, with names and objects serialized as indices into an array. For non-text formats, data is serialized directly to the underlying archive.

	Also rename FStructuredArchive::TryEnterSlot() to TryEnterField().

Change 3773118 by Steve.Robb

	TSignedIntType and TUnsignedIntType type traits for getting an integer type of a given size.

Change 3773122 by Steve.Robb

	TAtomic fixes for pointer arithmetic.
	TSignedIntType used instead of reimplementing its own trait.

Change 3773123 by Steve.Robb

	Unit tests for TAtomic.

Change 3773138 by Steve.Robb

	Run numeric tests on integer types instead of basic tests.
	Fix for compiler warnings when subtracting from unsigned atomics.

Change 3773166 by Steve.Robb

	Refactoring of arithmetic operations into its own class, then basing the pointer and integral versions on that.

Change 3774216 by Gil.Gribb

	UE4 - Fix rare crash in the pak precacher immediately after unmounting a pak file.

Change 3774426 by Ben.Marsh

	Copy all C# tools to a staging directory before compiling them. This prevents access violations when compiling tools like iPhonePackager that reference DotNETCommon, and ensures we strip NotForLicensees folders out of them all.

	See: https://answers.unrealengine.com/questions/726010/418-will-not-build-from-source.html

Change 3774658 by Ben.Marsh

	Improve error reporting while generating intellisense for project files. Include the name of the target being compiled, and allow project file generation to continue without it.

Change 3775141 by Ben.Marsh

	Always output HTML5 diagnostics at "information" verbosity, to avoid every line being prefixed with "WARNING:" and screwing up the EC postprocessor.

Change 3775459 by Ben.Marsh

	Removing .NET Framework Perforce DLL as runtime dependency of engine third party library. The actual library is linked statically.

Change 3775522 by Ben.Marsh

	UGS: Treat .uproject and .uplugin files as code changes.

Change 3775597 by Ben.Marsh

	Fix post-build steps for plugins not being executed.

	#jira UE-52754

Change 3777895 by Graeme.Thornton

	StructuredArchiveFromArchive - An adapter class for wrapping an existing FArchive with a structured archive

Change 3777931 by Graeme.Thornton

	Refactored FArchiveUObjects serialization code into some static helpers
	Added FArchiveUObjectFromStructuredArchive which allows the adaption of a structured archive into an FArchive that supports the extra UObect serialization functions for weak/soft pointers

Change 3777942 by Graeme.Thornton

	Added missing CORE_API to FStructuredArchive::FStream
	Added FStructuredArchive::FSlot insertion operator for char
	Added specialization of TArray<uint8> serializer for structured archives which serializes the contents as one value

Change 3778084 by Graeme.Thornton

	Adding FPackageName::GetTextAssetPackageExtension() to access the file extension we use for text asset files

Change 3778096 by Graeme.Thornton

	Add a constructor to FArchiveUObjectFromStructuredArchive that takes a slot and passes it to the base class

Change 3778389 by Josh.Engebretson

	Fix an optimization issue with CPU benchmarking
	Add better support for debugging/testing local rocket builds

	UDN Link: https://udn.unrealengine.com/questions/400909/command-scalability-auto-gives-inaccurate-cpu-benc.html

	#jira UE-52192

Change 3778701 by Josh.Engebretson

	Ensure plugin content folders are mounted consistently.  Fixes TryConvertFilenameToLongPackageName failing to work on plugin assets

	UDN Link: https://udn.unrealengine.com/questions/276386/tryconvertfilenametolongpackagename-fails-for-plug.html

	#jira UE-40317

Change 3778832 by Chad.Garyet

	Adding enterprise path support for PCB's for UGS

Change 3780258 by Graeme.Thornton

	TextAssetCommandlet - Accumulate timings for loading packages and saving packages

Change 3780463 by Graeme.Thornton

	CryptoKeys improvements
	 - Enable CryptoKeys plugin by default
	 - Attempt to inherit settings from the old system by default
	 - Hide ini/index encryption settings from packaging settings and just inherit previous values into new system

	Minor UBT change to remove a trailing comma from the end of encryption/signing key binary strings

Change 3780557 by Ben.Marsh

	Fix LoginFlow module not being precompiled for the binary release.

Change 3780846 by Josh.Engebretson

	Improve filename to long package name resolution when provided a relative path

Change 3780863 by Ben.Marsh

	UAT: Add a better error message when a C# project has an invalid reference.

Change 3780911 by Ben.Marsh

	Update the BuildEditorAndTools.xml script to allow submitting archived binaries to Perforce.

	The "Submit To Perforce For UGS" node creates a zip of all the binaries that have been built, and submits it to the stream specified by the 'ArchiveStream' argument.

Change 3780956 by Josh.Engebretson

	Add support for ! (RemoveKey) config command to UBT

	UDN Link: https://udn.unrealengine.com/questions/397267/index.html

	#jira UE-52033

Change 3782957 by Robert.Manuszewski

	UE4 - Fixed a linear search in EDL that caused performance problems for very large maps.

Change 3784503 by Ben.Marsh

	Optimizations for FStructuredArchive:

	* Store the depth explicitly in element objects, to avoid having to loop through the scope stack to find it.
	* Prevent shrinking of arrays when removing elements.
	* Add an inline allocator to the scope and container stacks.

Change 3784700 by Ben.Marsh

	Remove the inline allocator from FStructuredArchive; checking whether the inline or backup allocator is being used is slower than just allocating up-front.

Change 3784989 by Ben.Marsh

	Compile out all the FStructuredArchive validation code when WITH_TEXT_ARCHIVE_SUPPORT = 0.

Change 3786860 by Gil.Gribb

	UE4 - Remove no buffering flag from windows async IO because it disabled the disk cache entirely.

Change 3787159 by Ben.Marsh

	Guard against UE4.0 backwards compatibility path when determining if an engine is a source distribution.

Change 3787493 by Josh.Engebretson

	Parallel pak generation now uses MaxDegreeOfParallelism option which is now set to the number of CPU cores
	Moved cryptography settings parsing out of threaded CreatePak method to avoid concurrency issue in ConfigCache.TryReadFile
	Fix for multiple threads parsing ini keys (PR 3995)

	#PR 3995
	#jira 52913
	#jira 49503

Change 3787773 by Steve.Robb

	Fix for missing final values from FOREACH_ENUM_ macros.

Change 3788287 by Ben.Marsh

	TBA: Add checks in debug builds that key names in maps and records for FStructuredArchive are unique.

Change 3788678 by Ben.Marsh

	Fix compile error due to inability to instantiate TArray<> of forward declared struct. Convert set of key names to an array to avoid including Set.h in public header for FStructuredArchive.

Change 3789353 by Graeme.Thornton

	Removed unused/rotten modes from TextAsset commandlet.
	Used existing "-iterations=n" switch to control a global iteration over the given command. Useful for performance testing.

Change 3789396 by Ben.Marsh

	Move code to validate container keys/sizes into DO_GUARD_SLOW checks, and allocate container metadata instances dynamically to fix problems with references to things not declared in headers that can't be included from StructuredArchive.h

Change 3789772 by Ben.Marsh

	Always strip trailing slashes from the end of paths specified by .build.cs files; they can cause quoted paths to be escaped on the command line.

Change 3790003 by Ben.Marsh

	TBA: Rename FStructuredArchive::EElementType::Object to FStructuredArchive::EElementType::Record.

Change 3790051 by Steve.Robb

	PIE is disabled during a hot reload.
	Hot reload in editor is disabled during PIE.
	Hot reload from IDE is deferred until after PIE is exited.
	Compiling multiple times before a hot reload (e.g. compiling multiple times in PIE) will now load the most recent change.

	#jira UE-20357
	#jira UE-52137

Change 3790709 by Steve.Robb

	Better move support for TVariant.
	EVariantTypes switched over to using an enum class to aid debugger visualization.

Change 3791422 by Ben.Marsh

	TBA: Return the type of a field from an annotated archive formatter at the point that we enter it, rather than querying all the time.

Change 3791489 by Graeme.Thornton

	TBA: Change StructuredArchiveFromArchive adapter to use the archive.Open() result directly, now that it's a slot and not a record

Change 3792344 by Ben.Marsh

	Improvements to base64 encoding library.

	* Now supports encoding and decoding with ANSICHAR and WIDECHAR implementations.
	* Added support for decoding base-64 blobs without padding marks.
	* Added support for decoding into pre-allocated buffer.
	* Added constexpr functions for determining the encoded and maximum decoded size of an input buffer.
	* Prevent writes past the end of allocated buffer (no longer need to manually remove padding bytes).

Change 3792949 by Ben.Marsh

	TBA: Rename FAnnotatedArchiveFormatter to FAnnotatedStructuredArchiveFormatter.

Change 3794078 by Robert.Manuszewski

	Fixing a crash that could happen when FGCObjects were constructed and destructed when shutting down the engine

	#jira UE-52392

Change 3794413 by Ben.Marsh

	TBA: Remove the element type parameter to SetScope(). It isn't really needed; we can just assume the element ID correctly identifies the item on the stack.

Change 3794731 by Ben.Marsh

	TBA: Optimize creation of stack elements for empty slots in FStructuredArchive. This saves a lot of bookkeeping when serializing a large number of individual fields. Since only one slot can be active at a time (and it only exists temporarily, until we write into it), we can just store the element ID assigned to it in a member variable.

Change 3795081 by Ben.Marsh

	UBT: Move LinuxCommon.cs into Platform/Linux folder.

Change 3795137 by Ben.Marsh

	UBT: Allow modules to specify private compiler definitions from the build.cs file, only visible within that module (via the "PrivateDefinitions" property).

Change 3795247 by Ben.Marsh

	Fix missing header when creating a new interface from the editor new code wizard.

	#jira UE-53174

Change 3796025 by Graeme.Thornton

	Fixed some deprecated "Definitions" warnings in OpenCV build files

Change 3796103 by Graeme.Thornton

	Disable experimental text asset option - it does nothing useful yet.

Change 3796157 by Graeme.Thornton

	Fix path type mismatch in visual studio source code accessor meaning that the DTE comms wouldn't identify a running instance of VS as having the current solution open.

	#jira UE-53206

Change 3796315 by Ben.Marsh

	Move Formatter to the correct position for initializer.

	#jira UE-53208

Change 3797082 by Ben.Marsh

	UAT: Work around for exception thrown by launching cook with "-platform=Android_ETC1 -targetplatform=Android -cookflavor=ETC1". Anrdoid_ETC1 is not a valid platform (it's a cook platform), and can't be parsed by UAT.

	#jira UE-53232

Change 3799050 by Ben.Marsh

	Make UnrealPak.version files writable for Mac and Linux.

Change 3801012 by Graeme.Thornton

	VSCode - Update source accessor to use code workspace as it's target, rather than just the project directory

Change 3801214 by Gil.Gribb

	UE4 - Remove assert to work around minor problem with lock free lists.

	#jira UE-49600

Change 3801219 by Steve.Robb

	WeakObjectPtrs now warn when casting away const.

Change 3801299 by Graeme.Thornton

	Fix quote issue with foreign project build tasks on PC

Change 3803292 by Graeme.Thornton

	Fix crash on startup when using cook-on-the-side. Force a flush of the asset registry background scanning when creating the cook-on-the-side platform registries

Change 3803559 by Steve.Robb

	TSAN fix for FMalloc::MaxSingleAlloc.

Change 3803735 by Graeme.Thornton

	Last set of cryptokeys changes
	 - Added some comments for editor exposed settings
	 - Split "encrypt assets" option into "encrypt uassets" and "encrypt all assets"

Change 3803929 by Ben.Marsh

	UGS: Show an in-place error panel when a project fails to open, allowing the user to retry and have their tabs saved instead of creating a modal dialog.

Change 3624590 by Steve.Robb

	AddReferencedObjects now generates a compile error with containers of UObject*s where the UObjectType is forward-declared, as these which won't be added to the reference collector.
	Tidy-up of existing calls to AddReferencedObjects.

Change 3629473 by Ben.Marsh

	Build: Rename the option for embedding source server information in PDB files for installed engine builds.

Change 3632894 by Steve.Robb

	VARARG* macros deprecated and usage replaced with variadic templates.

Change 3640704 by Steve.Robb

	MakeWeakObjectPtr added, which deduces a TWeakObjectPtr type from a raw pointer type.
	Fix to TWeakObjectPtr's constructor which implicitly removed const.
	Fixes to everything which didn't compile as a result.

Change 3650813 by Graeme.Thornton

	Removed FStartupPackages and associated code

Change 3651000 by Ben.Marsh

	Return the stack size from FPlatformStackWalk::CaptureStackBacktrace() rather than checking for the first null pointer, to prevent truncated callstacks if parts of the stack are zeroed out.

	#jira UE-49980

Change 3690842 by Steve.Robb

	FPlatformAtomics::AtomicRead added - needs optimizing.
	AtomicRead() used in FThreadSafeCounter::GetValue().

Change 3699416 by Steve.Robb

	Fix to debugger visualization of TArray with a TInlineAllocator or TFixedAllocator.
	Improved readability of TSparseArray visualization.

Change 3720812 by Steve.Robb

	Atomic functions for 8-bit and 16-bit.
	Android, Linux and Switch implementations now just use the Clang implementation.
	AtomicRead64 deprecated in favor of the int64* AtomicRead overload.

Change 3722698 by Steve.Robb

	VS debugger visualizers for TAtomic.

Change 3732270 by Steve.Robb

	Relaxed stores and loads.

Change 3749315 by Graeme.Thornton

	If UAT is invoked with platforms in both the -platform and -targetplatform command line switches, build using all of them rather than just the ones in -targetplatform

	#jira UE-52034

Change 3750657 by Josh.Engebretson

	Fixed issue when debugging editor cook/package and project launch operations

	#jira UE-52207

Change 3758514 by Steve.Robb

	Fixes to FString::Printf having non-literals being passed as its formatting string.

Change 3763356 by Steve.Robb

	ENamedThreads::RenderThread and ENamedThreads::RenderThread_Local encapsulated by getters and setters.

Change 3770549 by Steve.Robb

	Removal of obsolete PLATFORM_COMPILER_HAS_DEFAULTED_FUNCTIONS and PLATFORM_COMPILER_HAS_AUTO_RETURN_TYPES.
	Tidy up of existing code which uses it.

Change 3770553 by Ben.Marsh

	Adding structured serialization API to Core/CoreUObject for use with text-based assets.

	* FStructuredArchive abstracts an archive which is made up of compound types (records, arrays, and maps). Values are stored in slots within these types.
	* Records are string -> value dictionaries where the key names can be compiled out in non-editor builds or when WITH_TEXT_ARCHIVE_SUPPORT = 0.
	* Maps are string -> value dictionaries where the key names are present regardless of the build type.
	* Proxy objects are defined to express the context for serialization (FStructuredArchive::FRecord, FStructuredArchive::FArray, FStructuredArchive::FMap, FStructuredArchive::FSlot) which allows basic validation through static typing. These objects act as lightweight handles, and can be cheaply constructed and passed around on the stack. Most serialization to and from the archive is done through these objects.
	* Runtime checks perform additional validation to ensure that serialized data is well formed and written in a forward-only manner, regardless of the underlying archive type.
	* The actual input/output format is determined by a separate interface (FArchiveFormatter). Context validation (always causing matching LeaveArray for every EnterArray, etc...) is done by FStructuredArchive, so implementing these classes is fairly trivial. FArchiveFormatter can be de-virtualized in non-editor builds, where WITH_TEXT_ARCHIVE_SUPPORT = 0.
	* Includes implementations of FArchiveFormatter for binary and JSON formats.

Change 3771105 by Steve.Robb

	Deprecation warnings for PLATFORM_COMPILER_HAS_AUTO_RETURN_TYPES and PLATFORM_COMPILER_HAS_DEFAULTED_FUNCTIONS.
	Fix for incorrect warning formatting on Clang platforms.

Change 3771520 by Steve.Robb

	Start moving Clang-using platforms' pre-setup stuff into a Clang-specific header.

Change 3771564 by Steve.Robb

	More common macros moved to the Clang pre-setup header.

Change 3771613 by Steve.Robb

	EMIT_CUSTOM_WARNING_AT_LINE moved to ClangPlatformCompilerPreSetup.h.

Change 3772881 by Ben.Marsh

	Add support for serializing FName and UObject through FStructuredArchive.

	In order to allow custom linker behavior when serializing objects:

	* The constructor to JSON input formatter now takes a delegate to convert a string object name into a UObject pointer.
	* The constructor to tagged binary formatter takes a delegate to serialize a UObject pointer into any form it chooses (likely an integer index into the import table)

	Object and name types are stored as strings in JSON, using an "Object:" or "Name:" prefix to differentiate them from regular strings. Any strings that already contain one of these prefixes are prepended with a "String:" prefix (as is any string that already has a "String:" prefix).

Change 3772941 by Graeme.Thornton

	Make build work when including StructuredArchive.h from core container types
	Added standard header to new files
	Add structured archive serializer for TArray
	Fix bug in structured archive where containers weren't being popped from the scope stack

Change 3772972 by Ben.Marsh

	Add an adapter which presents a legacy FArchive interface to a FStructuredArchive slot.

	Data is serialized into this slot as a stream of elements; raw data is buffered up into fixed size chunks, names and objects are serialized separately.

	When used with FBinaryArchiveFormatter, this should result in all data being passed through to the underlying archive in a backwards compatible way, wiith no additional bookkeeping fields.

Change 3773006 by Ben.Marsh

	Rename FStructuredArchive::FRecord::EnterSlot() to EnterField().

Change 3773013 by Steve.Robb

	bUseInlining target rule added to UnrealBuildTool, which defaults to true, to allow inlining to be disabled for debugging purposes.

Change 3774499 by Ben.Marsh

	Minor fixes for FStructuredArchive related classes:

	* Text-based archive formats are now compiled out when WITH_TEXT_ARCHIVE_SUPPORT = 0.
	* Fixed issue with FTaggedBinaryArchiveFormatter state becoming corrupted when looking ahead at field types.
	* FArchiveFieldName constructor is now explicit, to fix cases where strings were being passed directly to serialize functions.

Change 3774600 by Ben.Marsh

	Add CopyFormattedData() function, which can copy data from one formatter to another. Add a test case to SerializationAPI that converts from data -> JSON -> binary -> JSON -> data.

	This function can be used to implement a generic visitor pattern, by implementing a FArchiveFormatter which receives the deserialized data.

Change 3789721 by Ben.Marsh

	TBA: Split FTaggedBinaryArchiveFormatter into separate classes for reading and writing.

Change 3789920 by Ben.Marsh

	TBA: Support automatic coercion between any numeric types in tagged binary archives. Also report the smallest type that can contain a value, rather than just in32/double.

	#jira UECORE-364

Change 3789982 by Ben.Marsh

	TBA: Change FStructuredArchive::Open() to return a slot, rather than a record, to make it easier to implement a raw FArchive adapter.

Change 3792466 by Ben.Marsh

	TBA: Better handling of raw data in text based assets. Short sequences of binary data are Base64 encoded as a single string. Longer sequences are stored as an array of Base64 encoded lines, push a SHA1 hash to detect cases where the data was merged incorrectly.

	In order to allow inference of the correct type for a field, other fields called "Base64" will be escaped to "_Base64", and any field beginning with "_" will have an additional underscore inserted. Reading files back in reverses these transformations.

Change 3792935 by Ben.Marsh

	TBA: Rename FArchiveFormatter to FStructuredArchiveFormatter for consistency with FStructuredArchive.

Change 3795100 by Ben.Marsh

	UBT: Rename the ModuleRules Definitions property to PublicDefinitions, to make its semantics clearer.

Change 3795106 by Ben.Marsh

	Replace all internal usages of ModuleRules.Definitions, and replace it with ModuleRules.PublicDefinitions.

Change 3796275 by Ben.Marsh

	Fix paths to Version.h includes from resource files.

Change 3800683 by Josh.Engebretson

	Remove WER from Mac and Linux crash reports in favor of unified runtime-xml format
	#jira UE-50073

Change 3803545 by Steve.Robb

	TWeakObjPtr const-dropping assignment fix.
	Fixes to change.

[CL 3805231 by Ben Marsh in Main branch]
2017-12-12 18:32:45 -05:00
Matt Kuhlenschmidt
c72e1e1e70 Copying //UE4/Dev-Editor to //UE4/Dev-Main (Source: //UE4/Dev-Editor @ 3739701)
#lockdown Nick.Penwarden
#rb none

============================
  MAJOR FEATURES & CHANGES
============================

Change 3358367 by tim.gautier

	Submitting resaved QAGame assets - Materials, Material Instances, Material Functions and Parameters

Change 3624848 by Jamie.Dale

	Added a composite font for the editor (and Slate core)

	This is defined in FLegacySlateFontInfoCache::GetDefaultFont and uses our default Roboto fonts (and the culture specific fallback fonts), and is now used as the default font for Slate and the editor.

	This change removes all the manual TTF/OTF file references from the various Slate styles, as well as updating 200+ hard-coded font references to use the new default font.

	This fixes various rendering issues with fonts in the editor when using different languages, and clears a big barrier for removing the legacy localized fallback font support.


Change 3654993 by Jamie.Dale

	'Native' (now called 'FNativeFuncPtr') is now a function pointer that takes a UObject* context, rather than a UObject member function pointer

	This avoids ambiguity when binding a native function pointer to a type that doesn't match the context pointer, as you could end up getting a function called with an incorrect 'this' pointer

	Breaking changes:
	 - Native has been renamed to FNativeFuncPtr.
	 - The signature of a native function has changed (use the DECLARE_FUNCTION and DEFINE_FUNCTION macro pair).
	 - Use P_THIS if you were previously using the 'this' pointer in your native function.

Change 3699591 by Jamie.Dale

	Added support for displaying and editing numbers in a culture correct way

	Numeric input boxes in Slate will now display and accept numbers using the culture correct decimal separators. This is enabled by default, and can be disabled by setting "ShouldUseLocalizedNumericInput" to "False" in XEditorSettings.ini (for the editor), or XGameUserSettings.ini (for a game).

	#jira UE-4028


Change 3719568 by Jamie.Dale

	Allow platforms to override the default ICU timezone calculation


Change 3622366 by Bradut.Palas

	#jira UE-46677

	Don't allow OnLevelRemovedFromWorld to reset the transaction buffer if we're in PIE mode.
	Also, remove one undo barrier in case the event was triggered in PIE mode or else we block the user from undoing previous actions.

Change 3622378 by Bradut.Palas

	#jira UE-46590

	we have a general bug with detecting the size of the last column, but the clamping prevents it from appearing with the other resize modes. The Content Browser is the only one to use fixed width.
	The bug is that the size of the last element is incorrectly reported, after we drag back and forth.
	Fixed by not reading the size real time, but reading it from the SlotInfo structure that is created earlier, which holds the correct value.

Change 3622552 by Jamie.Dale

	Added support for per-culture sub-fonts within a composite font

	This allows you to do things like create a Japanese specific Han sub-font to override the Han characters used in a CJK font (previously you needed to create a localized font asset to achieve this).

Change 3623170 by Jamie.Dale

	Fixing warning

Change 3624846 by Jamie.Dale

	Composite font cache optimizations

	- Converted a typically small sized map to a sorted array + binary search.
	- Converted the already sorted range array to use binary search.
	- Contiguous ranges using the same typeface are now merged in the cache.

Change 3625576 by Cody.Albert

	We now only set the widget tree to transient instead of passing the flag through StaticDuplicateObject. This was causing instanced subobjects to be flagged with RF_DuplicateTransient, preventing them from properly being duplicated when an array of instanced subobjects was modified.

	#jira UE-47971

Change 3626057 by Matt.Kuhlenschmidt

	Expose EUmgSequencePlayMode to blueprints

	#jira UE-49255

Change 3626556 by Matt.Kuhlenschmidt

	Fix window size and position adjustment not accounting for primary monitor not being a high DPI monitor when a secondary monitor is.  Causes flickering and incorrect window positioning.

	#jira UE-48922, UE-48957

Change 3627692 by Matt.Kuhlenschmidt

	PR #3977: Source control submenu menu customization (Contributed by Kryofenix)


Change 3628600 by Arciel.Rekman

	Added AutoCheckout to FAssetRenameManager for commandlet usage.

Change 3630561 by Richard.Hinckley

	Deprecating the version of UFunctionalTestingManager::RunAllFunctionalTests that feature an unused bool parameter, replacing with a new version without that parameter.

Change 3630656 by Richard.Hinckley

	Compile fix.

Change 3630964 by Arciel.Rekman

	Fix CrashReporterClient headless build.

Change 3631050 by Matt.Kuhlenschmidt

	Back out revision 9 from //UE4/Dev-Editor/Engine/Source/Runtime/Slate/Private/Widgets/Layout/SSplitter.cpp

	Causes major problems with resizing splitters in editor

Change 3631140 by Arciel.Rekman

	OpenAL: update Linux version to 1.18.1 (UETOOL-1253)

	- Also remove a hack for RPATH and make it use a generic RPATH mechanism.
	- Bulk of the change from Cengiz.Terzibas

	#jira UETOOL-1253

Change 3632924 by Jamie.Dale

	Added support for a catch-all fallback font within composite fonts

	This allows you to provide broad "font of last resort" behavior on a per-composite font basis, in a way that can also work with different font styles.

Change 3633055 by Jamie.Dale

	Fixed some refresh issues in the font editor

Change 3633062 by Jamie.Dale

	Fixed localization commands being reported as unknown

Change 3633906 by Nick.Darnell

	UMG - You can now store refrences to widgets in the same UserWidget.  If you need to create links between widgets this is valuable.  Will likely introduce new ways to utilize this in the future, for now just getting it working.

Change 3634070 by Arciel.Rekman

	Display actually used values of material overrides.

Change 3634254 by Arciel.Rekman

	Fix ResavePackages working poorly with projects on other drives (UE-49465).

	#jira UE-49465

Change 3635985 by Matt.Kuhlenschmidt

	Fixed typo in function name used by maps

	PR #3975: Add tooltip to Arrays in Editor (Contributed by projectgheist)


Change 3636012 by Matt.Kuhlenschmidt

	PR #3982: Unhide mouse cursor after using Ansel (Contributed by projectgheist)


Change 3636706 by Lauren.Ridge

	Epic Friday: Save parameters to child or sibling  instance functionality

Change 3638706 by Jamie.Dale

	Added an improved Japanese font to the editor

	This is only used when displaying Japanese text when the editor is set to Japanese, and uses a font with Japanese-style unified Han characters (our default fallback font uses Chinese-style unified Han characters).

	#jira UE-33268

Change 3639438 by Arciel.Rekman

	Linux: Repaired ARM server build (UE-49635).

	- Made Steam* plugins compile.
	- Disabled OpenEXR as the libs aren't compiled (need to be done separately).

	(Edigrating CL 3639429 from Release-4.17 to Dev-Editor)

Change 3640625 by Matt.Kuhlenschmidt

	PR #4012: FSlateApplication::ProcessReply use &Reply (Contributed by projectgheist)


Change 3640626 by Matt.Kuhlenschmidt

	PR #4011: Remove space from filename (Contributed by projectgheist)


Change 3640697 by Matt.Kuhlenschmidt

	PR #4010: PNG alpha fix (Contributed by mmdanggg2)


Change 3641137 by Jamie.Dale

	Fixed an issue where a culture specific sub-font could produce incorrect measurements during a culture switch

	It would fallback to the last resort font for a frame or two while the font cache flushed. This has it update the ranges immediately.

Change 3641351 by Jamie.Dale

	Fixing incorrect weights on the Japanese sub-font

Change 3641356 by Jamie.Dale

	Fixing inconsistent font sizes between CoreStyle and EditorStyle

Change 3641710 by Jamie.Dale

	Fixed pure-virtual function call on UMulticastDelegateProperty

Change 3641941 by Lauren.Ridge

	Adding a Parameter Details tab to the Material Editor so users can change default parameter details

Change 3644141 by Jamie.Dale

	Added an improved Korean font to the editor

	This is only used when displaying Korean text when the editor is set to Korean

Change 3644213 by Arciel.Rekman

	Fix the side effects of a fix for UE-49465.

	- Default materials were apparently not being found while building DDC (e.g. making an installed build), now they are
	  and we should not reset loaders on them lest we trigger HasDefaultMaterialsPostLoaded() assert later.

	#jira UE-49465

Change 3644777 by Jamie.Dale

	Reverting Korean editor font back to NanumGothic as NanumBarunGothic looked too squished

Change 3644879 by tim.gautier

	QAGame: Optimized assets for Procedural Foliage testing
	- Added camera bookmarks to Stations in QA-Foliage
	- Renamed QA-FoliageTypeInst assets to ProcFoliage_Shape
	- Fixed up redirectors

Change 3645109 by Matt.Kuhlenschmidt

	PR #3990: Git plugin: fix status of renamed, removed, missing, untracked assets (Contributed by SRombauts)


Change 3645114 by Matt.Kuhlenschmidt

	PR #3991: Git Plugin: Fix RunDumpToFile() leaking Process handles (Contributed by SRombauts)


Change 3645116 by Matt.Kuhlenschmidt

	PR #3996: Git Plugin: run an "UpdateStatus" at "Connect" time to populate the Source Control cache (Contributed by SRombauts)


Change 3645118 by Matt.Kuhlenschmidt

	PR #4005: Git Plugin: Expand the size of the Button "Initialize project with Git" (Contributed by SRombauts)


Change 3645876 by Arciel.Rekman

	Linux: fix submenus of context menu not working (UE-47639).

	- Change by icculus (Ryan Gordon).
	- QA-ClickHUD seems to be not affected by this change (it is already broken alas).

	#jira UE-47639

Change 3648088 by Jamie.Dale

	Fixed some case-sensitivity issues with FText format argument names/pins

	These were originally case-sensitive, but that was lost somewhere along the way. This change restores their original behavior.

	#jira UE-47122

Change 3648097 by Jamie.Dale

	Moved common macOS/iOS localization implementation into FApplePlatformMisc

	#jira UE-49940

Change 3650858 by Arciel.Rekman

	UBT: improve CodeLite project generator (UE-49400).

	- PR #3987 submitted by yaakuro (Cengiz Terzibas).

	#jira UE-49400

Change 3651231 by Arciel.Rekman

	Linux: default to SM5 for Vulkan.

	- Change by Timothee.Bessett.

Change 3653627 by Matt.Kuhlenschmidt

	PR #4020: Source Control Submit Files now interprets Escape key as if the user clicked cancel (Contributed by SRombauts)


Change 3653628 by Matt.Kuhlenschmidt

	PR #4022: Add New C++ Class dialog remember previously selected module. (Contributed by Koderz)


Change 3653984 by Jamie.Dale

	Fixed some redundant string construction

Change 3658528 by Joe.Graf

	UE-45141 - Added CMAKE_CXX_COMPILER and CMAKE_C_COMPILER settings to the generated CMake files

Change 3658594 by Jamie.Dale

	Zipping in UAT now always uses UTF-8 encoding to prevent Unicode issues

	#jira UE-27263

Change 3659643 by Michael.Trepka

	Added a call to FCoreDelegates::ApplicationWillTerminateDelegate.Broadcast(); in Mac RequestExit() to match Windows behavior

	#jira UETOOL-1238

Change 3661908 by Matt.Kuhlenschmidt

	USD asset importing improvements

Change 3664100 by Matt.Kuhlenschmidt

	Fix static analysis

Change 3664107 by Matt.Kuhlenschmidt

	PR #4051: UE-49448: FPropertyChangedEvent to include TopLevelObjects (Contributed by projectgheist)


Change 3664125 by Matt.Kuhlenschmidt

	PR #4036: Add missing GRAPHEDITOR_API (Contributed by projectgheist)


Change 3664340 by Jamie.Dale

	PR #3648: Prevent GatherTextFromSource from failing the commandlet (Contributed by projectgheist)


Change 3664403 by Jamie.Dale

	PR #3769: Fixes UE-46973 - Drag and Dropping Folders with Names (Contributed by LordNed)


Change 3664539 by Jamie.Dale

	PR #3280: Added EditableText functionality (Contributed by projectgheist)


Change 3665433 by Alexis.Matte

	When we finish importing morph target we must re-initialise the render resources since we now use GPU morph target.
	#jira UE-50231

Change 3666747 by Cody.Albert



Change 3669280 by Jamie.Dale

	PR #4060: UE-50455: Verify folder is newly created before removing from tree (Contributed by projectgheist)


Change 3669718 by Jamie.Dale

	PR #4061: Clear Content Browser folder search box on escape key (Contributed by projectgheist)


Change 3670838 by Alexis.Matte

	Fix crash when deleting a skeletal mesh LOD and the mouse is over the "reimport" button.
	#jira UE-50387

Change 3671559 by Matt.Kuhlenschmidt

	Update SimpleUI automation test ground truth

	#jira UE-50325

Change 3671587 by Alexis.Matte

	Fix fbx importer scale not always apply. A cache array was not reset when opening a fbx file.
	#jira UE-50147

Change 3671730 by Jamie.Dale

	Added PostInitInstance to UClass to allow class types to perform construction time initialization of their instances

Change 3672104 by Michael.Dupuis

	#jira UE-50427: Update the volume visibility list of the editor viewport when changing the procedural foliage settings

Change 3674906 by Alexis.Matte

	Make sure the export LOD option is taken in consideration when exporting a level or the current level selection
	#jira UE-50248

Change 3674942 by Matt.Kuhlenschmidt

	Fix static analysis

Change 3675401 by Alexis.Matte

	-fix export animation, do not truncate the last frame anymore
	-fix the import animation, there was a display issue in the progress bar. Also a floorToInt sometime truncate the last valid frame. We also have a better way to calculate the time increment we use to sample the fbx curves.

	#jira UE-48231

Change 3675990 by Alexis.Matte

	Remove morph target when doing a re-import, so morph will be remove if they do not exist anymore in the fbx.
	This is to avoid driving random vertex with old morph target.
	#jira UE-50391

Change 3676169 by Alexis.Matte

	When we re-import with dialog the option, "Override Full Name" was set to false and save with the option dialog. We now not set it to false, since it was not use during re-import.

Change 3676396 by Alexis.Matte

	Make all LOD 0 name consistent in staticmesh editor
	#jira UE-49461

Change 3677730 by Cody.Albert

	Enable locking of Persistent Level in Levels tab

	#jira UE-50686

Change 3677838 by Jamie.Dale

	Replaced broken version of Roboto Light

Change 3679619 by Alexis.Matte

	Integrate GitHub pr #4029 to fix import fbx chunk material assignation.
	#jira UE-50001

Change 3680093 by Alexis.Matte

	Fix the skeletal mesh so the vertex color is part of the vertex equality like with the static mesh.

Change 3680931 by Arciel.Rekman

	SlateDialogs: show image icon for *.tga (UE-25106).

	- Also reworked the logic somewhat.

	#jira UE-25106

Change 3681966 by Yannick.Lange

	MaterialEditor post-process preview.
	#jira UE-45307

Change 3682407 by Lauren.Ridge

	Fixes for material editor compile errors

Change 3682628 by Lauren.Ridge

	Content browser filters for Material Layers, Blends, and their instances

Change 3682725 by Lauren.Ridge

	Adding filter assets and instance assets to Material Layers and Material Layer Blends. Turning Material Layering on by default

Change 3682921 by Lauren.Ridge

	Fix for instance layers not initializing fully

Change 3682954 by Lauren.Ridge

	Creating Material Layer Test Assets

Change 3683582 by Alexis.Matte

	Fix static analysis build

Change 3683614 by Matt.Kuhlenschmidt

	PR #4062: Git Plugin: Fix UE-44637: Deleting an asset is unsuccessful if the asset is marked for add (Contributed by SRombauts)


Change 3684130 by Lauren.Ridge

	Allow visible parameter retrieval to correctly recurse through internally called functions. Previous check was intended to prevent function previews from leaving their graph through unhooked inputs, but unintentionally blocked all function inputs.

Change 3686289 by Arciel.Rekman

	Remove the pessimization (UE-23791).

Change 3686455 by Lauren.Ridge

	Fixes for adding/removing a layer parameter from the parent not updating the child

Change 3686829 by Jamie.Dale

	No longer include trailing whitespace in the justification calculation for soft-wrapped lines

	#jira UE-50266

Change 3686970 by Lauren.Ridge

	Making material parameter preview work for functions as well

Change 3687077 by Jamie.Dale

	Fixed crash using FActorDetails with the struct details panel

Change 3687152 by Jamie.Dale

	Fixed the row structure tag not appearing in the Content Browser for Data Table assets

	The CDO is used to filter these tags, and the CDO was omiting that tag which caused it to be filtered for all Data Tables.

	#jira UE-48691

Change 3687174 by Lauren.Ridge

	Fix for material layer sub-parameters showing up in the default material parameters panel

Change 3688100 by Lauren.Ridge

	Fixing static analysis error

Change 3688317 by Jamie.Dale

	Fixed crash using the widget reflector in a cooked game

	Editor-style isn't available in cooked games. Core-style should be used instead for the widget reflector.

Change 3689054 by Jamie.Dale

	Reference Viewer can now show/copy references lists for nodes with multiple objects, or multiple selected nodes

	#jira UE-45751

Change 3689513 by Jamie.Dale

	Fixed justification bug with RTL text caused by CL# 3686829

	Also implemented the same alignment fix for visually left-aligned RTL text.

	#jira UE-50266

Change 3690231 by Lauren.Ridge

	Added Material Layers Parameters Preview (all editing disabled) panel to the Material Editor

Change 3690234 by Lauren.Ridge

	Adding Material Layers Function Parameter to Static Parameter Compare

Change 3690750 by Chris.Bunner

	Potential nullptr crash.

Change 3690751 by Chris.Bunner

	Fixed logic on overridden vector parameter retrieval for material instances checking a function owned parameter.

Change 3691010 by Jamie.Dale

	Fixed some clipping issues that could occur with right-aligned text

	FTextBlockLayout::OnPaint was passing an unscaled offset to SetVisibleRegion, and it also wasn't correctly adjusting the offset for RTL text with left-alignment (which becomes a visual right-alignment)

	#jira UE-46760

Change 3691091 by Jamie.Dale

	Renamed FTextBlockLayout to FSlateTextBlockLayout to reflect that it's a Slate specific type

Change 3691134 by Alexis.Matte

	Make sure we instance also the collision mesh when exporting a level to fbx file.
	#jira UE-51066

Change 3691157 by Lauren.Ridge

	Fix for reset to default not refreshing sub-parameters

Change 3691192 by Jamie.Dale

	Fixed Content Browser selection resetting when changing certain view settings

	#jira UE-49611

Change 3691204 by Alexis.Matte

	Remove fbx export file version 2010 compatibility. The 2018 fbx sdk refuse to export earlier then 2011.
	#jira UE-51023

Change 3692335 by Lauren.Ridge

	Setting displayed asset to equal filter asset if no instance has been selected

Change 3692479 by Jamie.Dale

	Fixed whitespace

Change 3692508 by Alexis.Matte

	Make sure we warn the user that there is nothing to export when exporting to fbx using "export selected" or "export All" from the file menu.
	We also prevent the export dialog to show
	#jira UE-50973

Change 3692639 by Jamie.Dale

	Translation Editor now shows stale translations as "Untranslated"

Change 3692743 by Lauren.Ridge

	Smaller blend icons, added icon size override to FObjectEntryBox

Change 3692830 by Alexis.Matte

	Fix linux build

Change 3692894 by Lauren.Ridge

	Tooltip on "Parent" in material layers

Change 3693141 by Jamie.Dale

	Removed dead code

	FastDecimalFormat made this redundant

Change 3693580 by Jamie.Dale

	Added AlwaysSign number formatting option

	#jira UE-10310

Change 3693784 by Jamie.Dale

	Fixed assert extracting the number formatting rules for Arabic

	It uses a character outside the BMP for its plus and minus sign, so we need these to be a string to handle that.

	#jira UE-10310

Change 3694428 by Arciel.Rekman

	Linux: make directory watch request a warning so they don't block cooking.

	- See https://answers.unrealengine.com/questions/715206/cook-error-on-linux.html

Change 3694458 by Matt.Kuhlenschmidt

	Made duplicate keybinding warning non-fatal

Change 3694496 by Alexis.Matte

	fix static analysis build

Change 3694515 by Jamie.Dale

	Added support for culture correct parsing of decimal numbers

	#jira UE-4028

Change 3694621 by Jamie.Dale

	Added a variant of FastDecimalFormat::StringToNumber that takes a string length

	This can be useful if you want to convert a number from within a non-null terminated string

	#jira UE-4028

Change 3694958 by Jamie.Dale

	Added a parsed length output to FastDecimalFormat::StringToNumber to allow permissive parsing

	You can test this rather than the result if you want to attempt to parse a number from a string that may have other data after it. This also fixes the sign-suffix causing the parsing to fail.

	#jira UE-4028

Change 3695083 by Alexis.Matte

	Optimisation of the morph target import
	- We now compute only the normal for the shape the tangent are not necessary
	- The async tasks are create when there is some available cpu thread to avoid filling the memory
	- When we re-import the morph target are deleted in bulk avoiding to initialize the morph map for every morphs targets
	#jira UE-50945

Change 3695122 by Jamie.Dale

	GetCultureAgnosticFormattingRules no longer returns a copy

Change 3695835 by Arciel.Rekman

	TestPAL: greatly expanded malloc test.

Change 3695918 by Arciel.Rekman

	TestPAL: Added thread priority test.

Change 3696589 by Arciel.Rekman

	TestPAL: tweak thread priorities test (better readability).

Change 3697345 by Alexis.Matte

	Fix reorder of material when importing a LOD with new material
	#jira UE-51135

Change 3699590 by Jamie.Dale

	Updated SGraphPinNum to use a numeric editor

	#jira UE-4028

Change 3699698 by Matt.Kuhlenschmidt

	Fix crash opening the level viewport context menu if the actor-component selection is out of sync

	#jira UE-48444

Change 3700158 by Arciel.Rekman

	Enable packaging for Android Vulkan on Linux (UETOOL-1232).

	- Change by Cengiz Terzibas

Change 3700224 by Arciel.Rekman

	TestPAL: fixed a memory leak.

Change 3700775 by Cody.Albert

	Don't need to initialize EnvironmentCubeMap twice.

Change 3700866 by Michael.Trepka

	PR #3223: Remove unnecessary reallocation. (Contributed by foollbar)


	#jira UE-41643

Change 3701132 by Michael.Trepka

	Copy of CL 3671538

	Fixed issues with editor's game mode in high DPI on Mac.

	#jira UE-49947, UE-51063

Change 3701421 by Michael.Trepka

	Fixed a crash in FScreenShotManager caused by an attempt to access a deleted FString in async lambda expression

Change 3701495 by Alexis.Matte

	Fix fbx importer "import normals" option when mix with "mikkt" tangent build it was recomputing the normals instead of importing them.
	#jira UE-UE-51359

Change 3702982 by Jamie.Dale

	Cleaned up some localization setting names

	These now have consistent names and avoid double negatives. This also fixes needing to restart the editor when changing the "ShouldUseLocalizedPropertyNames" setting.

Change 3703517 by Arciel.Rekman

	TestPAL: improved thread test.

	- Changed the counter to a normal variable to reduce possible contentions (threads used to share the counter in an early prototype, hence the usage of an atomic).

Change 3704378 by Michael.Trepka

	Disable Zoom button on Mac if project requests a resizeable window without it.

	#jira UE-51335

Change 3706316 by Jamie.Dale

	Fixed the asset search suggestions list closing if you clicked on its scrollbar

	#jira UE-28885

Change 3706855 by Alexis.Matte

	Support importing animation that has some keys with negative time
	#jira UE-51305

Change 3709634 by Matt.Kuhlenschmidt

	PR #4146: Null access check on ForceLOD in FViewport::HighResScreenshot (Contributed by projectgheist)


Change 3711085 by Michael.Trepka

	Reenabled UBT makefiles on Mac

Change 3713049 by Josh.Engebretson

	The ConfigPropertyEditor now generates a unique runtime UClass.  It uses the outer name on the property instead of a unique ID as a unique id would generate a new UClass every time (and these are RF_Standalone).  I also removed some static qualifiers for Section and Property names which were incorrect.

	#jira UE-51319

Change 3713144 by Lauren.Ridge

	Fixing automated test error

	#jira UE-50982

Change 3713395 by Alexis.Matte

	Fix auto import mountpoint
	#jira UE-51524

Change 3713881 by Michael.Trepka

	Added -buildscw to Mac Build.sh script to build ShaderCompileWorker in addition to the requested target. Xcode passes it to the script when building non-program targets.

	#jira UE-31093

Change 3714197 by Michael.Trepka

	Send IMM key down event to the main window instead of Cocoa key window, as that's what the Slate's active window is. This solves problems with IMM not working in context menu text edit fields.

	#jira UE-47915

Change 3714911 by Joe.Graf

	Merge of cmake changes from Dev-Rendering

Change 3715973 by Michael.Trepka

	Disable OS close button on Windows if project settings request that

	#jira UE-45522

Change 3716390 by Lauren.Ridge

	The color picker summoned when double-clicking vector3 nodes now has its intended "do not refresh until OK is clicked" behavior.

	#jira UE-50916

Change 3716529 by Josh.Engebretson

	Content Browser: Clamp "Assets to Load at Once Before Warning" so it cannot be set below 1

	#jira UE-51341

Change 3716885 by Josh.Engebretson

	Tracking transactions such as a duplication operation can modify a selection which differs from the initial one.  Added package state tracking to restore unmodified state when necessary.

	#jira UE-48572

Change 3716929 by Josh.Engebretson

	Unshelved from pending changelist '3364093':

	PR #3420: Exe's icons and properties (Contributed by projectgheist)


Change 3716937 by Josh.Engebretson

	Unshelved from pending changelist '3647428':

	PR #4026: Fixed memory leaks for pipe writes and added data pipe writes (Contributed by Hemofektik)


Change 3717002 by Josh.Engebretson

	Fix FileReference/string conversion

Change 3717355 by Joe.Graf

	Fixed CMake file generation on Windows including Engine/Source/ThirdParty source

Change 3718256 by Arciel.Rekman

	TestPAL: slight mod to the malloc test.

	- Touch the allocated memory to check actual resident usage.

Change 3718290 by Arciel.Rekman

	BAFO: place descriptor after the allocation to save some VIRT memory.

	- We're relying on passing correct "Size" argument to Free() anyway, and this modification makes use of that extra information to save on memory for the descriptor.

Change 3718508 by Michael.Trepka

	Fixed vsnprintf on platforms that use our custom implementation in StandardPlatformString.cpp to ignore length modifier for certain types (floating point, pointer)

	#jira UE-46148

Change 3718855 by Lauren.Ridge

	Adding content browser favorite folders. Add or remove folders from the favorite list in the folder's right-click context menu, and hide or show the favorites list in the Content Browser options.

Change 3718932 by Cody.Albert

	Update ActorSequence plugin loading phase to PreDefault

	#jira UE-51612

Change 3719378 by tim.gautier

	QAGame: Renamed multiTxt_Justification > UMG_TextJustification.
	Added additional Text Widgets for testing

Change 3719413 by Lauren.Ridge

	Resubmit of content browser favorites

Change 3719803 by Yannick.Lange

	VREditor: Fix crash with null GEditor
	#jira UE-50103

Change 3721127 by tim.gautier

	QAGame: Fixed up a ton of redirectors within /Content and /Content/Materials
	- Added M_ParamDefaults and MF_ParamDefaults
	- Moved legacy MeshPaint materials into /Content/Materials/MeshPaint
	- Renamed ColorPulse assets from MatFunction_ > MF_, moved into /Content/Materials/Functions

Change 3721255 by Alexis.Matte

	Replace skeletal mesh import option "keep overlapping vertex" by 3 float thresholds allowing the user to control the welding thresholds.
	#jira UE-51363

Change 3721594 by Lauren.Ridge

	Material Blends now have plane mesh previews in their icons.

Change 3722072 by tim.gautier

	QAGame: Updated MF_ParamDefaults - using red channel as roughness
	Updated M_ParamDefaults - tweaked Scalar values

Change 3722180 by Michael.Trepka

	Updated Xcode project generator to sort projects in the navigator by name (within folders) and also sort the list of schemes so that their order matches the order of projects in the navigator.

	#jira UE-25941

Change 3722220 by Michael.Trepka

	Fixed a problem with Xcode project generator not handling quoted preprocessor definitions correctly

	#jira UE-40246

Change 3722806 by Lauren.Ridge

	Fixing non-editor compiles

Change 3722914 by Alexis.Matte

	Fbx importer: Add new attribute type(eSkeleton) for staticmesh socket import.

	#jira UE-51665

Change 3723446 by Michael.Trepka

	Copy of CL 3688862 from 4.18 + one more fix for a deadlock related to window resizing when using IME

	Don't do anything in Mac window's windowWillResize: if we're simply chaning the z order of windows. This way we avoid a rare dead lock when hiding the window.

	#jira UE-48257

Change 3723505 by Matt.Kuhlenschmidt

	Fix duplicate actors being created for USD primitives that specify a custom actor class

Change 3723555 by Matt.Kuhlenschmidt

	Fix crash loading the gameplayabilities module

	#jira UE-51693

Change 3723557 by Matt.Kuhlenschmidt

	Fixed tooltip on viewport dpi scaling option

Change 3723870 by Lauren.Ridge

	Fixing incorrect reset to default visibility, adding clear behavior to fields

Change 3723917 by Arciel.Rekman

	Linux: fix compilation with glibc 2.26+ (UE-51699).

	- Fixes compilation on Ubuntu 17.10 among others.

	(Merging 3723489 from //UE4/Release-4.18/... to //UE4/Dev-Editor/...)

Change 3723918 by Arciel.Rekman

	Linux: do not test for popcnt presence unnecessarily (UE-51677).

	(Merging 3723904 from //UE4/Release-4.18/... to //UE4/Dev-Editor/...)

Change 3724229 by Arciel.Rekman

	Fix FOutputDeviceStdOutput to use printf() on Unix platforms.

Change 3724261 by Arciel.Rekman

	TestPAL: fix thread priority test (zero the counter).

Change 3724978 by Arciel.Rekman

	Linux: fix priority calculation.

	- Rlimit values are always positive, so this was completely broken when the RLIMIT_NICE is non-0.

Change 3725382 by Matt.Kuhlenschmidt

	Guard against crashes and add more logging when actor creation fails.
	Looks like it could be manual garbage collections triggered before conversion is complete so those have been removed

	#jira UE-47464

Change 3725559 by Matt.Kuhlenschmidt

	Added a setting to enable/disable high dpi support in editor.   This currently only functions in Windows.
	Moved some files around for better consistency

Change 3725640 by Arciel.Rekman

	Fix Linux thread/process priorities.

	- Should also speed up SCW on Linux by deprioritizing them less.

Change 3726101 by Matt.Kuhlenschmidt

	Fix logic bug in USD child "kind" type resolving

Change 3726244 by Joe.Graf

	Added an option to generate a minimal set of targets for cmake files
	Added shader and config files to cmake file generation for searching within IDEs

Change 3726506 by Arciel.Rekman

	Fix compile issue after DPI change.

Change 3726549 by Matt.Kuhlenschmidt

	Remove unnecessary indirection to cached widgets in the hit test grid

Change 3726660 by Arciel.Rekman

	Enable DPI switch on Linux.

Change 3726763 by Arciel.Rekman

	Fix mismatching "noperspective" qualifier (UE-50807).

	- Pull request #4080 by TTimo.

Change 3727080 by Michael.Trepka

	Added support for editor's EnableHighDPIAwareness setting on Mac

Change 3727658 by Matt.Kuhlenschmidt

	Fix shutdown crash if level editor is still referenced after the object system has been gc'd

	#jira UE-51630

Change 3728270 by Matt.Kuhlenschmidt

	Remove propertyeditor dependency from editorstyle

Change 3728291 by Arciel.Rekman

	Linux: fix for a crash on a headless system (UE-51714).

	- Preliminary change before merging to 4.18.

Change 3728293 by Arciel.Rekman

	Linux: remove unneeded dependency on CEF.

	- Old workaround should no longer be needed, while this dependency makes UE4 depend on a ton of external libs.

Change 3728524 by Michael.Trepka

	Copy of CL 3725570

	Removed Enable Fullscreen option from editor's Window menu on Mac. Windowed fullscreen mode is currently unavailable on Mac in editor mode as supporting it properly would require it to work with multiple spaces and split screen, which we currently don't handle (requested in UE-27240)

	#jira UE-51709

Change 3728875 by Michael.Trepka

	Fixed compile error in Mac SlateOpenGLContext.cpp

Change 3728880 by Matt.Kuhlenschmidt

	Guard against invalid worlds in thumbnail renderers

Change 3728924 by Michael.Trepka

	Don't defer MacApplication->CloseWindow() call. This should fix a rare problem with deferred call executing during Slate's PrepassWindowAndChildren call.

	#jira UE-51711

Change 3729288 by Joe.Graf

	Added the .idea/misc.xml file generation to speed up CLion indexing

Change 3729935 by Michael.Dupuis

	#jira UE-51722: Hide from UI invalid enum values

Change 3730234 by Matt.Kuhlenschmidt

	Fix "Game Gets Mouse Control" setting no longer functioning and instead the mouse was always captured.

	#jira UE-51801

Change 3730349 by Michael.Dupuis

	#jira UE-51324: Clear the UI selection when rebuilding the palette, as we destroyed all items and recreate them, so selection is on invalid item

Change 3730438 by Lauren.Ridge

	Cleaning up material layering UI functions

Change 3730723 by Jamie.Dale

	Fixed FastDecimalFormat::StringToNumber incorrectly reporting that number-like sequences that lacked digits had been parsed as numbers

	#jira UE-51799

Change 3731008 by Lauren.Ridge

	Changing Layers and Blends from proxy assets to real assets

Change 3731026 by Arciel.Rekman

	libelf: make elf_end() visible (UE-51843).

	- This repairs compilation for a case when CUDA is being used.
	- Also added some missing files for ARM 32-bit.

Change 3731081 by Lauren.Ridge

	New material layer test assets

Change 3731186 by Josh.Engebretson

	Adding camera speed scalar setting and Toolbar UI to increase range on camera speed presets

	#jira UE-50104

Change 3731188 by Mike.Erwin

	Improve responsiveness of Open Asset dialog.

	On large projects, there's a noticeable delay when opening and searching/filtering assets.

	Stopwatch measurements on my machine (seconds for ~122,000 assets):
		before	with this CL
	ctrl-P	1.4	0.45
	search	1.8	0.55

	CollectionManagerModule was the main culprit for search/filter slowness.

	Open Asset delay was due to filtering out plugin content. We were doing a lot of redundant work for what is essentially a read-only operation.

Change 3731682 by Arciel.Rekman

	UnrealEd: Allow unattended commandlets to rename/save packages.

Change 3732305 by Michael.Dupuis

	#jira UE-48434 : Only register if the foliage type still has a valid mesh

Change 3732361 by Matt.Kuhlenschmidt

	Fix two settings objects being created in the transient package with the same name

	#jira UE-51891

Change 3732895 by Josh.Engebretson

	https://jira.it.epicgames.net/browse/UE-51706

	If a shared DDC is not being used, present a notification to the licensee with a link on how to setup a shared DDC.
	Adds DDC notification events for check/put and query for whether a shared DDC is in use.

	#jira UE-51706

Change 3733025 by Arciel.Rekman

	UBT: make sure new clang versions are invoked.

Change 3733311 by Mike.Erwin

	Fix Linux compile warning from CL 3731188

	It didn't like mixing && and || without parentheses. Reworked logic to do one test at a time, put cheaper tests first to avoid calls to more expensive IsPluginFolder.

Change 3733658 by Josh.Engebretson

	Add a missing #undef LOCTEXT_NAMESPACE

Change 3734003 by Arciel.Rekman

	Fix Windows attempting to use printf %ls and crashing at that (UE-51934).

Change 3734039 by Michael.Trepka

	Fixed a couple of merge issues in Mac ApplicationCore

Change 3734052 by Michael.Trepka

	One more Mac ApplicationCore fix

Change 3734244 by Lauren.Ridge

	Fix for accessing Slate window on render thread

Change 3734950 by Josh.Engebretson

	Fixing clang warning

Change 3734978 by Jamie.Dale

	Relaxed enum property importing to allow valid numeric values to be imported too

	This was previously made more strict which caused a regression in Data Table importing

	#jira UE-51848

Change 3734999 by Arciel.Rekman

	Linux: add LTO support and more.

	- Adds ability to use link-time opitimization (reusing current target property bAllowLTCG).
	- Supports using llvm-ar and lld instead of ar/ranlib and ld.
	- More build information printed (and in a better organized way).
	- Native scripts updated to install packages with the appropriate tools on supported systems
	- AutoSDKs updated to require a new toolchain (already checked in).
	- Required disabling OpenAL due to https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=219089

Change 3735268 by Matt.Kuhlenschmidt

	Added support for canvas based DPI scaling.

	-Scene canvas is by default not scaled as this could severely impact any game using a canvas based UI
	-The debug canvas for stats is always dpi scaled in editor and pie.
	-Eliminated text scaling workaround now that the entire canvas is properly scaled
	-Enabled canvas scaling in cascade UI

Change 3735329 by Matt.Kuhlenschmidt

	Fix potential crash if an asset editor has an object deleted out from under it

	#jira UE-51941



Change 3735502 by Arciel.Rekman

	Fix compile issue (bShouldUpdateScreenPercentage).

Change 3735878 by Jamie.Dale

	Updated FString::SanitizeFloat to allow you to specify the min number of fractional digits to have in the resultant string

	This defaults to 1 as that was the old behavior of FString::SanitizeFloat, but can also be set to 0 to prevent adding .0 to whole numbers.

Change 3735881 by Jamie.Dale

	JsonValue no longer stringifies whole numbers as floats

Change 3735884 by Jamie.Dale

	Only allow enums to import integral values

Change 3735912 by Josh.Engebretson

	Improving cook process error/warning handling including asset warning/error content browser links and manual dismiss for cook error notifications

	#jira UE-48131

Change 3736280 by Matt.Kuhlenschmidt

	Fix 0 dpi scale for canvases

	#jira UE-51995

Change 3736298 by Matt.Kuhlenschmidt

	Force focus of game viewports in vr mode

Change 3736374 by Jamie.Dale

	Fixed some places where input chords were being used without testing that they had a valid key set

	#jira UE-51799

Change 3738543 by Matt.Kuhlenschmidt

	Better fix for edit condition crashes

	#jira UE-51886

Change 3738603 by Lauren.Ridge

	Copy over of drag and drop non-array onto array fix

Change 3739701 by Chris.Babcock

	Fix crashlytics merge error
	#jira UE-52064
	#ue4
	#android

[CL 3739980 by Matt Kuhlenschmidt in Main branch]
2017-11-06 18:22:01 -05:00
Ben Marsh
f461ea68e9 Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3548365)
#lockdown Nick.Penwarden

============================
  MAJOR FEATURES & CHANGES
============================

Change 3494741 by Steve.Robb

	Generated code size savings.

	#jira UE-43048

Change 3495484 by Steve.Robb

	Fix for generated indices of static arrays when saving configs.

Change 3497926 by Robert.Manuszewski

	Removed FPackageFileSummary's CompressedChunks array as it was no longer being used by anything.

Change 3498077 by Robert.Manuszewski

	Only use the recursion guard in async loading code when the event driven loader is enabled.

Change 3498112 by Ben.Marsh

	UBT: Respect the option to not create debug info in the Android toolchain. This option is already being respected by the compiler, but the linker adds debug info of its own.

Change 3500239 by Robert.Manuszewski

	Made sure the Super Class token stream is also locked when assembling Class token stream with async loading thread enabled. This to to prevent race conditions when loading BP classes.

Change 3500395 by Steve.Robb

	Extra codegen savings when not in hot reload.

Change 3501004 by Steve.Robb

	EObjectFlags now have constexpr operators.

Change 3502079 by Ben.Marsh

	UBT: Pad multi-line error messages so that they align under the prefix for the first line, and include the timestamp if necessary.

Change 3502527 by Steve.Robb

	Fix for zero-sized array compile error in generated code when all functions are editor-only.

Change 3502542 by Ben.Marsh

	UAT: Remove the custom source parameter from log functions, and add support for a customizable indent instead.

Change 3502868 by Steve.Robb

	Workaround for inefficient generated code with stateless lambdas on Clang.

Change 3503550 by Steve.Robb

	Another generated code lambda optimization.

Change 3503582 by Ben.Marsh

	BuildGraph: Add support for nullable parameter types.

Change 3504424 by Steve.Robb

	New AllOf, AnyOf and NoneOf algorithms.

Change 3504712 by Ben.Marsh

	UAT: Less spammy log and error output from UAT.

	* Callstacks for AutomationExceptions are suppressed by default but still included in the log (the path to the log is noted in console output with the message from the exception).
	* Add a mechanism for any exceptions to be caught and rethrown with additional lines of context (CommandUtils.AddContext()) that will be appended to the error output by UAT. Avoids decaying the exception type or masking the inner exception message while still adding additional information.
	* AggregateExceptions resulting from exceptions on child threads are automatically unwrapped (full details are still appended to the log)
	* Name of the calling function is not included in console output by default, but still included in the log.

Change 3504808 by Ben.Marsh

	UAT: Suppress P4 output when running a recursive instance of UAT.

Change 3505044 by Steve.Robb

	Code generation improved for TCppClassType code.

Change 3505485 by Ben.Marsh

	Fix deterministic cooking issue; always use a pseudo-random number stream when compiling a module.

Change 3505699 by Ben.Marsh

	Plugins: Store the bEnabledByDefault flag exactly as it was read from disk rather than collapsing it to an absolute value based on the default for the location it was read from. This allows loading/saving plugin descriptors without any knowledge of whether they are game or engine plugins.

Change 3506055 by Ben.Marsh

	UAT: Add a class to apply a log indent for the lifetime of an object (ScopedLogIndent), and use it to apply an indent to MegaXGE/ParallelExecutor output.

Change 3507745 by Robert.Manuszewski

	Moved FSimpleObjectReferenceCollectorArchive and FSimpleObjectReferenceCollectorArchive to be internal archives used only by FReferenceCollector so that they are constructed only once per GC task instead of potentially multiple times per GC (as was the case with UDataTables and BlueprintGeneratedClasses).

Change 3507911 by Ben.Marsh

	Plugins: Minor changes to plugin descriptors.

	* Add a distinct setting for an unspecified EnabledByDefault setting in plugin descriptors.
	* Add a function to IPlugin to determine the effective EnabledByDefault setting, based on where the plugin was loaded from.

Change 3508669 by Ben.Marsh

	EC: Parse multi-line messages from UBT and UAT.

Change 3508691 by Ben.Marsh

	Fix double-spacing of cook stats.

Change 3509245 by Steve.Robb

	UHT makefiles removed.
	Flag audit removed.

Change 3509275 by Steve.Robb

	Fix for mismatched stat categories in AudioMixer.

	#jira UE-46129

Change 3509289 by Robert.Manuszewski

	Custom Version Container will no longer be always constructed in FArchive constructor. This reduces the number of the Custom Version Container allocations considerably.

Change 3509294 by Robert.Manuszewski

	UDataTable::AddReferencedObjects will no longer try to iterate over the RowMap if there's no UObject references in it.

Change 3509312 by Steve.Robb

	GitHub# 3679: Add TArray constructor that takes a raw pointer and a count

	Check improved for Append() to allow nullptr in empty ranges, and added to new constructor too.

	#jira UE-46136

Change 3509396 by Steve.Robb

	GitHub# 3676: Fix TUnion operator<< compile error

	#jira UE-46099

Change 3509633 by Steve.Robb

	Fix for line numbers on multiline macros.

Change 3509938 by Gil.Gribb

	UE4 - Fix rare assert involving cancelled precache requests and non-pak-file loading.

Change 3510593 by Daniel.Lamb

	Fixed up unsoilicited files getting populated with files which aren't finished being created yet.

	#test None

Change 3510594 by Daniel.Lamb

	Fixed up temp files directory for patching.

	Thanks David Yerkess @ Milestone
	#review@Ben.Marsh

Change 3511628 by Ben.Marsh

	PR #3707: Fixed UBT stack size (Contributed by gildor2)


Change 3511808 by Ben.Marsh

	Optimize checks for whether the game project contains source code. Now stops as soon as the first file is found and ignores directories beginning with a '.' character (eg. .git)

	#jira UE-46540

Change 3512017 by Ben.Marsh

	Plugins: Deprecate the QueryStatusForAllPlugins() function; the same functionality is available via the IPlugin interface.

Change 3513935 by Steve.Robb

	Reverted array iteration in FPropertyNode::PropagatePropertyChange as this is now covered in TProperty::InitializeValueInternal() as of CL# 3293477.

Change 3514142 by Steve.Robb

	MemoryProfiler2 added to generated solution.

Change 3516463 by Ben.Marsh

	Plugins: Create a manifest for each PAK file containing all the plugin descriptors in one place. Eliminates need to recurse through directories and read separate multiple files in serial at startup, and allows reading all plugin descriptors with one read. The "Mods" directory is excluded from the manifest, since these are intended to be installed separately by the user.

Change 3517860 by Ben.Marsh

	PR #3727: FString Dereference Fixes (Contributed by jovisgCL)


Change 3517967 by Ben.Marsh

	Suppress additional system error dialogs when loading DLLs if -unnattended is on the command line.

Change 3518070 by Steve.Robb

	Disable Binned2 stats in shipping non-editor builds.

Change 3520079 by Steve.Robb

	Fixed bad codegen TAssetPtrs being passed into BlueprintImplementableEvent functions.

	#jira UE-24034

Change 3520080 by Robert.Manuszewski

	Made max package summary size to be configurable with ini setting

Change 3520083 by Steve.Robb

	Force a GC after hot reload to clean up reinstanced objects which may still tick.

	#jira UE-40421

Change 3520480 by Robert.Manuszewski

	Improved assert message when the initial package read request was too small.

Change 3520590 by Graeme.Thornton

	SignedArchiveReader optimizations
	 - Loads more stats
	 - Stop chunk cache worker from waking up continuously to poll for work. Only wake up when triggered by the archive reader
	 - Signed archive reader just yields when waiting for buffers to finish loading, rather than sleeping for some arbitrary amount of time
	 - Track the number of pending read requests in an atomic counter, to save having to lock the request queue to check for new entries

Change 3521023 by Graeme.Thornton

	Remove spin from signed archive reader. Main thread waits on an event triggered by the chunk worker to indicate that new chunks are ready for processing

Change 3521787 by Ben.Marsh

	PR #3736: Small static code analysis fixes (Contributed by jovisgCL)


Change 3521789 by Ben.Marsh

	PR #3735: Fix case sensitivity issue in FWindowsPlatformProcess::IsApplicationRunning. (Contributed by samhocevar)


Change 3524721 by Ben.Marsh

	Move Linux SDL initialization into FLinuxPlatformApplicationMisc. Attempting to move functionality related to interactive applications (graphics, input, etc...) into a separate place, so it can ultimately be moved out of Core.

Change 3524741 by Ben.Marsh

	Move PumpMessages() into FPlatformApplicationMisc.

Change 3525399 by Ben.Marsh

	UGS: Use the default Perforce server port when opening P4V if there is not one set in the environment.

Change 3525743 by Ben.Marsh

	UAT: Add a parameter to allow updating version files without updating Version.h, to allow faster link times on incremental builds.

Change 3525746 by Ben.Marsh

	EC: Include the clobber option on new workspaces, to allow overriding version files when syncing.

Change 3526453 by Ben.Marsh

	UGS: Do not generate project files when syncing precompiled binaries.

Change 3527045 by Ben.Marsh

	Fix hot reload generating import libraries without DLLs. Now that they are produced by separate actions by default, it was removing DLLs from the action graph due to the bSkipLinkingWhenNothingToCompile setting.

Change 3527420 by Ben.Marsh

	UGS: Add additional search paths for UGS config files, and fix a few cosmetic issues (inability to display ampersands in tools menu, showing changelist -1 when running a tool without syncing).

	Config files are now read from:

	Engine/Programs/UnrealGameSync/UnrealGameSync.ini
	Engine/Programs/UnrealGameSync/NotForLicensees/UnrealGameSync.ini

	If a project is selected:

	<ProjectDir>/Build/UnrealGameSync.ini
	<ProjectDir>/Build/NotForLicensees/UnrealGameSync.ini

	If the .uprojectdirs file is selected:

	Engine/Programs/UnrealGameSync/DefaultProject.ini
	Engine/Programs/UnrealGameSync/NotForLicensees/DefaultProject.ini

Change 3528063 by Ben.Marsh

	Fix non-thread safe construction of FPluginManager singleton. Length of time spent in the constructor resulted in multiple instances being constructed at startup, making the time to enumerate plugins on slow media significantly worse.

Change 3528415 by Ben.Marsh

	UAT: Remove \r characters from the end of multiline log messages.

Change 3528427 by Ben.Marsh

	EC: Fix spaces being converted to tabs at start of line in failure emails (by Gmail), and wrap following lines at the same indent.

Change 3528485 by Ben.Marsh

	EC: Remove zero-width word break characters from slashes in notification emails; can cause really hard to debug problems when copy pasted into other places.

Change 3528505 by Steve.Robb

	PR #3755: MallocProfiler - Remove subfolder from profiling save directory (Contributed by Josef-CL)


	#jira UE-46819

Change 3528772 by Robert.Manuszewski

	Enabling actor and blueprint clustering in ShooterGame

Change 3528786 by Robert.Manuszewski

	PR #3760: Fix typo (Contributed by jesseyeh)


Change 3528792 by Steve.Robb

	PR #3764: MallocProfiler - Refactoring Scopelock (Contributed by Josef-CL)


	#jira UE-46962

Change 3528941 by Robert.Manuszewski

	Fixed lazy object pointers not being updated for streaming sub-levels in PIE. Fixed lazy pointers returning object that is still being loaded which could lead to undefined behavior when client code started modifying the returned object.

	#jira UE-44996

Change 3530241 by Ben.Marsh

	UAT: Only pass -submit or -nosubmit to child instances of UAT if they were specified on the original command line. BuildCookRun uses this flag to determine whether to submit, rather than just whether to allow submitting, so we shouldn't pass an inferred value.

Change 3531377 by Ben.Marsh

	Plugins: Allow plugins to specify a list of supported target platforms, which is propagated to any .uproject file that enables it.

	This has several advantages over the per-module platform whitelist/blacklist:

	* Platform-specific .uplugin files can now be excluded when staging other platforms. Previously, it was only possible to determine which platforms a plugin supports by reading the plugin descriptor itself. Now that information is copied into the .uproject file, so the runtime knows which plugins to ignore.
	* References to dependent plugins from platform-specific plugins can now be eliminated.
	* Plugins containing content can now be unambiguously disabled on a per-platform basis (having no modules for a platform does not confer that a plugin doesn't support that platform; now it is possible to specify supported platforms explicitly).
	* The editor can load any plugins without having to whitelist supported editor host platforms.

	UE4 targets which support loading plugins for target platforms can set TargetRules.bIncludePluginsForTargetPlatforms (true for the editor by default, false for any other target types). This defines the LOAD_PLUGINS_FOR_TARGET_PLATFORMS macro at runtime, which allows the plugin system to filter which plugins to look for at runtime.

	Any .uproject file will be updated at startup to contain the list of supported platforms for each referenced plugin if necessary.

Change 3531502 by Jin.Zhang

	Add support for GPUCrash #rb

Change 3531664 by Ben.Marsh

	UBT: Change output format from C# JSON writer to match output by the engine.

Change 3531848 by Ben.Marsh

	UAT: Add script to resaving all project descriptors under a folder, embedding information for any supported platforms for the plugins they enable.

Change 3531869 by Ben.Marsh

	UAT: Add parameter to the ResaveProjectDescriptors command to update the engine association field.

Change 3532474 by Ben.Marsh

	UBT: Use the same mechanism as UAT for logging exceptions.

Change 3532734 by Graeme.Thornton

	Initial VSCode Support
	 - Tasks generated for building all game/engine/program targets
	 - Debugging support for targets on Win64

Change 3532789 by Steve.Robb

	FScriptSet::Add and TScriptMap::Add now replace the element, matching the behavior of TSet and TMap.
	Set_Add and Map_Add no longer have a return value.
	FScriptSet::Find and FScriptMap::Find functions are now FindIndex.
	FScriptSetHelper::FindElementFromHash is now FindElementIndexFromHash.

Change 3532845 by Steve.Robb

	Obsolete UHT settings deleted.

Change 3532875 by Graeme.Thornton

	VSCode
	 - Add debug targets for different target configurations
	 - Choose between VS debugger (windows) and GDB (mac/linux)

Change 3532906 by Graeme.Thornton

	VSCode
	 - Point all builds directly at UBT rather than the batch files
	 - Adjust mac build tasks to run through mono

Change 3532924 by Ben.Marsh

	UAT: Set the UAT working directory immediately on startup. This ensures that any command line arguments containing paths are resolved consistently to the branch root.

Change 3535234 by Graeme.Thornton

	VSCode - Pass intellisense system a list of paths to use for header resolution

Change 3535247 by Graeme.Thornton

	UBT - Add a ToString to ProjectFile.Source file to help with debugger watch presentation

Change 3535376 by Graeme.Thornton

	VSCode
	 - Added build jobs for C# projects
	 - Linked launch tasks to relevant build task

Change 3537083 by Ben.Marsh

	EC: Change P4 swarm links to start at the changelist for a build.

Change 3537368 by Graeme.Thornton

	Fix for crash in FSignedArchiveReader when multithreading is disabled

Change 3537550 by Graeme.Thornton

	Fixed a crash in the taskgraph when running single threaded

Change 3537922 by Steve.Robb

	Missing PF_ATC_RGBA_I added to FOREACH_ENUM_EPIXELFORMAT.

Change 3539691 by Graeme.Thornton

	VSCode - Various updates to get PC and Mac C++ projects building and debugging.
	 - Some other changes to C# setup to allow compilation. Debugging doesn't work.

Change 3539775 by Ben.Marsh

	Plugins: Various fixes to settings for enabling plugins.

	* Fix crash on startup when trying to disable a missing plugin (was keeping pointers to elements in the project's plugin reference array, which may be modified if a plugin is disabled).
	* Revert fix to set PluginDescriptor.bRequiresBuildPlatform = true by default. This was the originally intended behavior, but it was accidentally defaulted to false during serialization unless specified in the .uplugin file. Many plugins may rely on this behavior (they may not declare asset classes otherwise, for example, which could result in loss of data), so change the default value to false instead. Also fixes popups to disable platform-specific plugins if platform SDKs are not installed.
	* Fix plugins which are referenced but do not exist not showing the appropriate prompt to disable them.

Change 3540788 by Ben.Marsh

	UBT: Add support for declaring custom pre-build steps and post-build steps from .target.cs files. Similarly to the custom build steps configurable from .uproject and .uplugin files, these specify commands which will be executed by the host platform's shell before or after a build. The following variables are expanded within the list of commands before execution: $(EngineDir), $(ProjectDir), $(TargetName), $(TargetPlatform), $(TargetConfiguration), $(TargetType), $(ProjectFile).

	Example usage:

	public class UnrealPakTarget : TargetRules
	{
		public UnrealPakTarget(TargetInfo Target) : base(Target)
		{
			Type = TargetType.Program;
			LinkType = TargetLinkType.Monolithic;
			LaunchModuleName = "UnrealPak";

			if(HostPlatform == UnrealTargetPlatform.Win64)
			{
				PreBuildSteps.Add("echo Before building:");
				PreBuildSteps.Add("echo This is $(TargetName) $(TargetConfiguration) $(TargetPlatform)");

				PostBuildSteps.Add("echo After building!");
				PostBuildSteps.Add("echo This is $(TargetName) $(TargetConfiguration) $(TargetPlatform)");
			}
		}
	}

Change 3541664 by Graeme.Thornton

	VSCode - Add problemMatcher tag to cpp build targets

Change 3541732 by Graeme.Thornton

	VSCode - Change UBT command line switch to "-vscode" for simplicity

Change 3541967 by Graeme.Thornton

	VSCode - Fixes for Mac/Linux build steps

Change 3541968 by Ben.Marsh

	CRP: Pass through the EnabledPlugins element in crash context XML files.

	#jira UE-46912

Change 3542519 by Ben.Marsh

	UBT: Add chain of references to error messages when configuring plugins.

Change 3542523 by Ben.Marsh

	UBT: Add more useful error message when attempt to parse a JSON object fails.

Change 3542658 by Ben.Marsh

	UBT: Include a chain of references when reporting errors instantiating modules.

Change 3543432 by Ben.Marsh

	Plugins: Fix plugins which are enabled by default not being enabled unless a project file is set.

Change 3543436 by Ben.Marsh

	UBT: Prevent recursing through the same module more than once when building out the referenced modules. Produces much shorter reference chains when something fails.

Change 3543536 by Ben.Marsh

	UBT: Downgrade message about redundant plugin references to a warning.

Change 3543871 by Gil.Gribb

	UE4 - Fixed a critical crash bug with non-EDL loading from pak files.

Change 3543924 by Robert.Manuszewski

	Fixed a crash on UnrealFrontend startup caused by re-assembling GC token stream for one of the classes.
	+Small optimization to token stream generation code.

Change 3544469 by Jin.Zhang

	Crashes page displays the list of plugins from the crash context #rb

Change 3544608 by Steve.Robb

	Fix for nativized generated code.

	#jira UE-47452

Change 3544612 by Ben.Marsh

	Add callback into FMacPlatformMisc::PumpMessages() from FMacPlatformApplicationMisc::PumpMessages().

	#jira UE-47449

Change 3545954 by Gil.Gribb

	Fixed a critical crash bug relating to a race condition in async package summary reading.

Change 3545968 by Ben.Marsh

	UAT: Fix incorrect username in BuildGraph <Submit> task. Should use the username from the Perforce environment, not assume the logged in user name is the same.

	#jira UE-47419

Change 3545976 by Ben.Marsh

	EC: Delete the AutoSDK client if the directory doesn't exist. When we format build machines, we need to force everything to be resynced from scratch.

Change 3546185 by Ben.Marsh

	Hacky fix for deployment on IOS/TVOS. Since deployment directly references the NonUFS manifest files that are written out, merge all the SystemNonUFS files back into the NonUFS list after the regular NonUFS files have been remapped.

Change 3547084 by Gil.Gribb

	Fixed a critical race condition in the new async loader. This was only reproducible on IOS, but may affect other platforms.

Change 3547968 by Gil.Gribb

	Fixed critical race which potentially could cause a crash in the pak precacher.

Change 3504722 by Ben.Marsh

	BuildGraph: Improved tracing for error messages. All errors are now propagated as exceptions, and are tagged with additional context information about the task currently being run.

	For example, throwing new AutomationException("Unable to write foo.txt") from SetVersionTask.Execute is now displayed in the log as:

	ERROR: Unable to write to foo.txt
	         while executing <SetVersion Change="0" CompatibleChange="0" Branch="Unknown" Promoted="True" />
	         at Engine\Build\InstalledEngineBuild.xml(91)
	       (see D:\P4 UE4\Engine\Programs\AutomationTool\Saved\Logs\UAT_Log.txt for full exception trace)

Change 3512255 by Ben.Marsh

	Rename FPaths functions with a "Game" prefix (GameDir(), GameContentDir(), etc...) to have a "Project" prefix (ProjectDir(), ProjectContentDir(), etc...) for clarity with non-game uses of UE4. Old functions still exist but are deprecated.

Change 3512332 by Ben.Marsh

	Rename "Game" functions in FApp to be "Project" functions (FApp::GetGameName() -> FApp::GetProjectName(), etc...) for clarity with non-game uses of UE4.

Change 3512393 by Ben.Marsh

	Rename FPaths::GameLogDir() to FPaths::ProjectLogDir().

Change 3513452 by Ben.Marsh

	Plugins: Rename EPluginLoadedFrom::GameProject to EPluginLoadedFrom::Project.

Change 3516262 by Ben.Marsh

	Add support for a "Mods" folder distinct from the project's "Plugins" folder, instead of using the bIsMod flag on the plugin descriptor.

	* Mods are enumerated similarly to regular plugins, but IPlugin::GetType() will return EPluginType::Mod.
	* The DLCName parameter to BuildCookRun and the cooker now correctly finds any plugin in the Plugins or Mods directory (or any subfolders).

Change 3517565 by Ben.Marsh

	Remove fixed engine version numbers from OSS plugins.

Change 3518005 by Ben.Marsh

	UAT: Remove the bUFSFile parameter from DeployLowerCaseFilenames(). Every platform returns false if the argument is false.

Change 3518054 by Ben.Marsh

	UAT: Use an enum to direct whether all directories should be searched when finding files to stage, rather than a bool. Having so many optional boolean arguments makes code unreadable and refactoring hard.

Change 3524496 by Ben.Marsh

	Start moving GUI application code into a separate static platform class, hopefully ultimately removing it from Core.

Change 3524641 by Ben.Marsh

	Move more functionality related to windowed/graphical applications into FPlatformApplicationMisc.

Change 3528723 by Steve.Robb

	MoveTemp now static asserts if passed a const reference or rvalue.
	MoveTempIfPossible still follows the old (std::move) rule, which is useful for templates where the nature of the argument is not obvious.
	Fixes to violations of these new rules.

Change 3528876 by Ben.Marsh

	Move FPlatformMisc::ClipboardCopy and FPlatformMisc::ClipboardPaste to FPlatformApplicationMisc::ClipboardCopy and FPlatformApplicationMisc::ClipboardPaste.

Change 3529073 by Ben.Marsh

	Add script to package ShooterGame for any platforms.

Change 3531493 by Ben.Marsh

	Update platform-specific plugins to declare the target platforms they support.

Change 3531611 by Ben.Marsh

	UAT: Add a ResavePluginDescriptors command, which resaves all plugin descriptors under a given folder, removing any outdated fields and rewrites them in a consistent style. Many plugins in the wild contain redundant or no-longer used fields due to using our plugins as templates.

Change 3531868 by Ben.Marsh

	Resaving project descriptors to remove invalid fields.

Change 3531983 by Ben.Marsh

	UAT: Simplify logic for staging code, and add validation against shipping files in restricted folders.

	* Added a new SystemNonUFS type for staged files, which excludes files from being remapped or renamed by the platform layer.
	* Replaced the DeplyomentContext.StageFiles() function with simpler overloads for particular use cases (options for remapping are replaced with the SystemNonUFS file type)
	* Config entries in the [Staging] category in DefaultGame.ini file allow remapping one directory to another, so restricted content can be made public in packaged builds (Example syntax: +RemapDirectory=(From="Foo/NoRedist", To="Foo"))
	* An error is output if any restricted folder names other than the output platform are in the staged output.

Change 3540315 by Ben.Marsh

	UAT: Moving StreamCopyDescription command into a NotForLicensees folder, since it's only meant to be used by engine developers.

Change 3542410 by Ben.Marsh

	UBT: Deprecate accessing properties through BuildConfiguration.* or UEBuildConfiguration.* from .target.cs files. These have been aliases to the current TargetRules instance for several releases already.

Change 3543018 by Ben.Marsh

	UBT: Deprecate the BuildConfiguration and UEBuildConfiguration aliases from the ModuleRules class. These have been implemented as an alias ot the ReadOnlyTargetRules instance passed to the constructor for several engine versions.

Change 3544371 by Steve.Robb

	Fixes to TSet_Add and TMap_Add BPs.

	#jira UE-47441

[CL 3548391 by Ben Marsh in Main branch]
2017-07-21 12:42:36 -04:00
Matt Kuhlenschmidt
d162beedcc Copying //UE4/Dev-Editor to //UE4/Dev-Main (Source: //UE4/Dev-Editor @ 3431234)
#lockdown Nick.Penwarden

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

Change 3323393 on 2017/02/27 by Ben.Cosh

	This fixes an issue with actor details component selection causing actor selection to get out of sync across undo operations
	#Jira UE-40753 - [CrashReport] UE4Editor_LevelEditor!FLevelEditorActionCallbacks::Paste_CanExecute() [leveleditoractions.cpp:1602]
	#Proj Engine


Change 3379355 on 2017/04/04 by Lauren.Ridge

	Adding sort priorities to Material Parameters and Parameter Groups. If sort priorities are equal, fallback to alphabetical sort. Default sort priority is 0, can be set on the parameter in the base material. Parameters are still sorted within groups.Group sort priority is set on the main material preferences.

Change 3379389 on 2017/04/04 by Nick.Darnell

	Core - Removing several old macros that were referring to EMIT_DEPRECATED_WARNING_MESSAGE, which is no longer defined in the engine, so these macros are double deprecated.

Change 3379551 on 2017/04/04 by Nick.Darnell

	Automation - Adding more logging to the automation controller when generating reports.

Change 3379554 on 2017/04/04 by Nick.Darnell

	UMG - Making the WidgetComponent make more things caneditconst in the editor depending on what the settings are to make it more obvious what works in certain contexts.

Change 3379565 on 2017/04/04 by Nick.Darnell

	UMG - Deprecating OPTIONA_BINDING, moving to PROPERTY_BINDING in place and you'll need to define a PROPERTY_BINDING_IMPLEMENTATION.  Will make bindings safer to call from blueprints.

Change 3379576 on 2017/04/04 by Lauren.Ridge

	Parameter group dropdown now sorts alphabetically

Change 3379592 on 2017/04/04 by JeanMichel.Dignard

	Fbx Morph Targets import optimisation
	- Only reimport the points for each morphs and compute the tangents for the wedges affected by those points.
	- Removed the full skeletal mesh rebuild on each morph target import.
	- Allow MeshUtilities::ComputeTangents_MikkTSpace to only recompute the tangents that are zero.

	Gains around 7.30 mins for 785 morph targets in mikkt space and 1.30 mins using built-in normals, with provided test file.

	#jira UE-34125

Change 3380260 on 2017/04/04 by Nick.Darnell

	UMG - Fixing some OPTIONAL_BINDINGS that needed to be converted.

Change 3380551 on 2017/04/05 by Andrew.Rodham

	Sequencer: Fixed ImplIndex sometimes not relating to the source data index when compiling at the track level

	#jira UE-43446

Change 3380555 on 2017/04/05 by Andrew.Rodham

	Sequencer: Automated unit tests for the segment and track compilers

Change 3380647 on 2017/04/05 by Nick.Darnell

	UMG - Tweaking some stuff on the experimental rich textblock.

Change 3380719 on 2017/04/05 by Yannick.Lange

	Fix  'Compile FortniteClient Mac' and 'Compile Ocean iOS' Failed with Material.cpp errors. Wrapping WITH_EDITOR around ParameterGroupData.

	#jira UE-43667

Change 3380765 on 2017/04/05 by Nick.Darnell

	UMG - Fixing a few more instances of OPTIONAL_BINDING.

Change 3380786 on 2017/04/05 by Yannick.Lange

	Wrap SortPriority in GetParameterSortPriority with  WITH_EDITOR.

Change 3380872 on 2017/04/05 by Matt.Kuhlenschmidt

	PR #3453: UE-43004: YesNo MessageDialog instead of YesNoCancel (Contributed by projectgheist)


Change 3381635 on 2017/04/05 by Matt.Kuhlenschmidt

	Expose static mesh material accessors to blueprints

	#jira UE-43631

Change 3381643 on 2017/04/05 by Matt.Kuhlenschmidt

	Added a way to enable or disable the component transform units display independently from unit display anywhere else.  This is off by default

Change 3381705 on 2017/04/05 by Yannick.Lange

	- Slate application multiple input pre-processors.
	- Remove ViewportWorldInteractionManager, let ViewportWorldInteraction handle it's own input pre-processor.

Change 3381959 on 2017/04/05 by Yannick.Lange

	Back out changelist 3381705. Old changelist.

Change 3382049 on 2017/04/05 by Yannick.Lange

	- Slate application multiple input pre-processors in a wrapper class.
	- Remove ViewportWorldInteractionManager, let ViewportWorldInteraction handle it's own input pre-processor.
	- Deprecated SetInputPreProcessor, but made it work with RegisterInputPreProcessor and UnregisterInputPreProcessor.

Change 3382450 on 2017/04/06 by Andrew.Rodham

	Sequencer: Fixed 'ambiguous' overloaded constructor for UT linux server builds

Change 3382468 on 2017/04/06 by Yannick.Lange

	Rename AllowWorldMovement parameter to bAllow.

Change 3382474 on 2017/04/06 by Yannick.Lange

	Make GetInteractors constant because we dont want it to be possible to change this arrray.

Change 3382492 on 2017/04/06 by Yannick.Lange

	VR Editor: Floating UI's are stored in a map with FNames as key.

Change 3382502 on 2017/04/06 by Yannick.Lange

	VR Editor: Use asset container for auto scaler sound.

Change 3382589 on 2017/04/06 by Nick.Darnell

	Slate - Upgrading usages of SetInputPreprocessor.  Also adjusting the API for the new preprocessor functions to have an option to remove all, which was what several usages expected.  Also updated the deprecated version of SetInputPreprocessor to removeall if null is provided for the remove, mimicing the old functionality.

Change 3382594 on 2017/04/06 by Nick.Darnell

	UMG - Deprecating GetMousePositionScaledByDPI, this function has too many issues, and I don't want to break buggy backwards compatability, so just going to deprecate it instead.  For replacement, you can now access an FGeometry representing the viewport (after DPI scale has been added to the transform stack), and also the FGeometry for a Player's Screen widget host, which might be constrained for splitscreen, or camera aspect.

Change 3382672 on 2017/04/06 by Nick.Darnell

	Build - Fixing incremental build.

Change 3382674 on 2017/04/06 by Nick.Darnell

	Removing a hack added by launcher.

Change 3382697 on 2017/04/06 by Matt.Kuhlenschmidt

	Fixed plugin browser auto-resizing when scrolling.  Gave it a proper splitter

Change 3382875 on 2017/04/06 by Michael.Trepka

	Modified FMacApplication::OnCursorLock() to avoid a thread safety problem with using TSharedPtr/Ref<FMacWindow> of the same window on main and game threads simultaneously.

	#jira FORT-34952

Change 3383303 on 2017/04/06 by Lauren.Ridge

	Adding sort priority to texture parameter code

Change 3383561 on 2017/04/06 by Jamie.Dale

	Fixed MaximumIntegralDigits incorrectly including group separators in its count

Change 3383570 on 2017/04/06 by Jamie.Dale

	Added regression tests for formatting a number with MaximumIntegralDigits and group separators enabled

Change 3384507 on 2017/04/07 by Lauren.Ridge

	Mesh painting no longer paints on invisible components. Toggling visiblity refreshes the selected set.

	#jira UE-21172

Change 3384804 on 2017/04/07 by Joe.Graf

	Fixed a clang error on Linux due to missing virtual destructor when deleting through the interface pointer

	#CodeReview: marc.audy
	#rb: n/a

Change 3385011 on 2017/04/07 by Matt.Kuhlenschmidt

	Fix dirtying levels just by copying actors if the level contains a foliage actor.  The foliage system makes lazy asset pointers

	#jira UE-43750

Change 3385127 on 2017/04/07 by Lauren.Ridge

	Adding WITHEDITOR to OnDragDropCheckOverride

Change 3385241 on 2017/04/07 by Jamie.Dale

	Removing warning if asking for a null or empty localization provider

Change 3385442 on 2017/04/07 by Arciel.Rekman

	Fix a number of problems with Linux splash.

	- Thread safety (UE-40354).
	- Inconsistent font (UE-35000).
	- Change by Cengiz Terzibas.

Change 3385708 on 2017/04/08 by Lauren.Ridge

	Resaving VREditor asset container with engine version

Change 3385711 on 2017/04/08 by Arciel.Rekman

	Speculative fix for a non-unity Linux build.

Change 3386120 on 2017/04/10 by Matt.Kuhlenschmidt

	Fix stats not being enabled when in simulate

Change 3386289 on 2017/04/10 by Matt.Kuhlenschmidt

	PR #3466: Git plugin: add option to autoconfigure Git LFS (Contributed by SRombauts)


Change 3386301 on 2017/04/10 by Matt.Kuhlenschmidt

	PR #3470: Git Plugin: disable "Keep Files Checked Out" checkbox on Submit to Source Control Window (Contributed by SRombauts)


Change 3386381 on 2017/04/10 by Michael.Trepka

	PR #3461: Mac doesn't return the correct exit code (Contributed by projectgheist)


Change 3388223 on 2017/04/11 by matt.kuhlenschmidt

	Deleted collection: MattKTest

Change 3388808 on 2017/04/11 by Lauren.Ridge

	Reset arrows now only display for non-default values in the Material Instance editor. Reset to default arrows now are placed in the correct location for SObjectPropertyEntryBox and SPropertyEditorAsset. SResetToDefaultPropertyEditor now takes a property handle in the constructor, instead of an FPropertyEditor.

	#jira UE-20882

Change 3388843 on 2017/04/11 by Lauren.Ridge

	Forward declaring custom reset override. Fix for incremental build error

Change 3388950 on 2017/04/11 by Nick.Darnell

	PR #3450: UMG "Lock" Feature (Contributed by GBX-ABair).

	Epic Edit: Made some changes to make it work with named slots, added an option not to always recursively itterate the children, also removed the dependency on SWidget changes.


Change 3388996 on 2017/04/11 by Matt.Kuhlenschmidt

	Removed crashtracker

Change 3389004 on 2017/04/11 by Lauren.Ridge

	Fix for automated test error - additional safety check for if the reset button has been successfully created.

Change 3389056 on 2017/04/11 by Matt.Kuhlenschmidt

	Removed editor live streaming

Change 3389077 on 2017/04/11 by Jamie.Dale

	Removing QAGame config change

Change 3389078 on 2017/04/11 by Nick.Darnell

	Fortnite - Fixing an input preprocessor warning.

Change 3389136 on 2017/04/11 by Nick.Darnell

	Slate - Removing deprecated 'aspect ratio' locking box cells, never really worked, deprecated a long time ago.

Change 3389147 on 2017/04/11 by Nick.Darnell

	UMG - Fixing a critical error with the alignment of the lock icon.

	#jira UE-43881

Change 3389401 on 2017/04/11 by Nick.Darnell

	UMG - Adds a designer option to control respecting the locked mode.

Change 3389638 on 2017/04/11 by Nick.Darnell

	UMG - Adding the Widget Reflector button to the widget designer.

Change 3389639 on 2017/04/11 by Nick.Darnell

	UMG - Tweaking the respect lock icon.

Change 3390032 on 2017/04/12 by JeanMichel.Dignard

	Fixed project generation when using subfolders in Target.SolutionDirectory (ie: SolutionDirectory = "Programs\MyProgram")

Change 3390033 on 2017/04/12 by Matt.Kuhlenschmidt

	PR #3472: Exposed Distributions to Game Projects and Plugins (Contributed by StormtideGames)


Change 3390041 on 2017/04/12 by Matt.Kuhlenschmidt

	PR #3446: Add missing TryLock to PThreadCriticalSection and add RAII helper for try locking. (Contributed by Laurie-Hedge)


Change 3390196 on 2017/04/12 by Lauren.Ridge

	Fix for crash on opening assets without reset to default button enable

Change 3390414 on 2017/04/12 by Matt.Kuhlenschmidt

	PR #3300: UE-5528: Added check for empty startup tutorial path (Contributed by projectgheist)


	#jira UE-5528

Change 3390427 on 2017/04/12 by Jamie.Dale

	Fixed not being able to set pure whitespace values on FText properties

	#jira UE-42007

Change 3390712 on 2017/04/12 by Jamie.Dale

	Content Browser search now takes the display names of properties into account

	#jira UE-39564

Change 3390897 on 2017/04/12 by Nick.Darnell

	Slate - Changing the order that the tabs draw in so that the draw front to back, instead of back to front.

Change 3390900 on 2017/04/12 by Nick.Darnell

	Making a Cast CastChecked in UScaleBox.

Change 3390907 on 2017/04/12 by Nick.Darnell

	UMG - Adding GetMousePositionOnPlatform and GetMousePositionOnViewport as other replacements that people can use rather than GetMousePositionScaledByDPI.

Change 3390934 on 2017/04/12 by Cody.Albert

	Fix to set correct draw layer in FSlateElementBatcher::AddElements

Change 3390966 on 2017/04/12 by Nick.Darnell

	Input - Force inline some core input functions.

Change 3391207 on 2017/04/12 by Jamie.Dale

	Fixed moving a folder containing a level not moving the level

	Also removed some redundant usage of ContentBrowserUtils::GetUnloadedAssets

	#jira UE-42091

Change 3391327 on 2017/04/12 by Mike.Fricker

	Removed Twitch support and GameLiveStreaming

Change 3391405 on 2017/04/12 by Mike.Fricker

	Removed Twitch support and GameLiveStreaming (part 2)

Change 3391407 on 2017/04/12 by Mike.Fricker

	Removed some remaining EditorLiveStreaming and CrashTracker code

Change 3392296 on 2017/04/13 by Yannick.Lange

	VR Editor: New assets in asset containers for gizmo rotation.

Change 3392332 on 2017/04/13 by Nick.Darnell

	Slate - Removing delegate hooks from the safezone and scalebox widget when the widgets are cleaned up.

Change 3392349 on 2017/04/13 by Cody.Albert

	Corrected typo

Change 3392688 on 2017/04/13 by Yannick.Lange

	VR Editor: Resaved asset containers

Change 3392905 on 2017/04/13 by Jamie.Dale

	Fixed FPaths::ChangeExtension and FPaths::SetExtension stomping over the path part of a filename if the name part of the had no extension but the path contained a dot, eg) C:/First.Last/file

Change 3393514 on 2017/04/13 by Yannick.Lange

	VR Editor: Temp direct interaction pointer.

Change 3393930 on 2017/04/14 by Yannick.Lange

	VR Editor: Remove unused transform gizmo

Change 3394084 on 2017/04/14 by Max.Chen

	Audio Capture: No longer beta

Change 3394499 on 2017/04/14 by Cody.Albert

	Updated UMovieSceneSpawnTrack::PostLoad to call ConditionalPostLoad on bool track before converting it to a spawn track

	#rnx

Change 3395703 on 2017/04/17 by Yannick.Lange

	Duplicate from Release-4.16 CL 3394172
	Viewport Interaction: Fix disable animation when aiming for gizmo stretch handles.

	#jira UE-43964

Change 3395794 on 2017/04/17 by Mike.Fricker

	#rn Fixed FastXML not loading XML files with attributes delimited by single quote characters

Change 3395945 on 2017/04/17 by Yannick.Lange

	VR Editor: Swap end and start of laser, because they start of laser was using end mesh.

Change 3396253 on 2017/04/17 by Michael.Dupuis

	#jiraUE-43693:
	While moving foliage instance between levels, UI count was'nt updating properly
	Moved MoveSelectedFoliageToLevel to EdModeFoliage as we required more treatment than was done in LevelCollectionModel
	Ask to save foliage type as asset while moving between level foliage instances containing local foliage type

Change 3396291 on 2017/04/17 by Michael.Dupuis

	#jira UE-35029:
	Added a cache for mesh bounds so if the bounds changed we can rebuild the occlusion tree
	Added possibility to register on bounds changed of a static mesh in editor mode
	Rebuild the occlusion tree if the mesh bounds changed
	Rebuild the occlusion tree if we change the mesh associated with a foliage type
	Optimize some operation to not Rebuild the occlusion tree for every instance added/remove instead it's done at the end of the operation

Change 3396293 on 2017/04/17 by Michael.Dupuis

	#jira UE-40685:
	Improve Collision With World algo, to support painting pitch rotated instance or not on a flat terrain or slope respecting the specified ground angles

Change 3397660 on 2017/04/18 by Matt.Kuhlenschmidt

	PR #3480: Git plugin: improve/cleanup init and settings (Contributed by SRombauts)


Change 3397675 on 2017/04/18 by Alex.Delesky

	#jira UE-42383 - Adds a delegate to the placement mode module to allow users to register custom categories and listen to when they should be refreshed.

Change 3397818 on 2017/04/18 by Yannick.Lange

	ViewportInteraction and VR Editor: - Replace GENERATED_UCLASS_BODY with GENERATED_BODY.
	- Remove destructors for uobjects.

Change 3397832 on 2017/04/18 by Yannick.Lange

	VR Editor: Remove unused vreditorbuttoon

Change 3397884 on 2017/04/18 by Yannick.Lange

	VREditor: Addition to 3397832, remove unused vreditorbuttoon.

Change 3397985 on 2017/04/18 by Michael.Trepka

	Another attempt to solve the issue with dsymutil failing with an error saying the input file did not exist. We now check for the input file's existence in a loop 30 times (once a second) before trying to call dsymutil. Also, added a FixDylibDependencies as a prerequisite for dSYM generation.

	#jira UE-43900

Change 3398030 on 2017/04/18 by Jamie.Dale

	Fixed outline changes not automatically updating the text layout used by a text block

	#jira UE-42116

Change 3398039 on 2017/04/18 by Jamie.Dale

	Unified asset drag-and-drop

	FAssetDragDropOp now handles both assets and asset paths, and FAssetPathDragDropOp has been removed. This allows assets and folders to be drag-dropped at the same time in the Content Browser.

	#jira UE-39208

Change 3398074 on 2017/04/18 by Michael.Dupuis

	Fixed crash in cooking fortnite

Change 3398351 on 2017/04/18 by Alex.Delesky

	Fixing PlacementMode module build error

Change 3398513 on 2017/04/18 by Yannick.Lange

	VR Editor: - Remove unused previousvreditor member.
	- Removing extensions when exiting vr mode without having to find the extensions.

Change 3398540 on 2017/04/18 by Alex.Delesky

	Removing a private PlacementMode header that was included in a public one.

Change 3399434 on 2017/04/19 by Matt.Kuhlenschmidt

	Remove uncessary files from p4

Change 3400657 on 2017/04/19 by Jamie.Dale

	Fixed potential underflow when using negative digit ranges with FastDecimalFormat

Change 3400722 on 2017/04/19 by Jamie.Dale

	Removed some check's that could trip with malformed data

Change 3401811 on 2017/04/20 by Jamie.Dale

	Improved the display of asset tags in the Content Browser

	 - Numeric tags are now displayed pretty printed.
	 - Numeric tags can now be displayed as a memory value (the numeric value should be in bytes).
	 - Dimensional tags are now split and each part pretty printed.
	 - Date/Time tags are now stored as a timestamp (which has the side effect of sorting correctly) and displayed as a localized date/time.
	 - The column view now shows the same display values as the tooltips do.
	 - The tooltip now uses the tag meta-data display name (if set).
	 - The tag meta-data display name can now be used as an alias in the Content Browser search.

	#jira UE-34090

Change 3401868 on 2017/04/20 by Cody.Albert

	Add screenshot save directory parameter to editor and project settings

	#rn Added options to the settings menu to specify screenshot save directory

Change 3402107 on 2017/04/20 by Jamie.Dale

	Cleaned up the "View Options" menu in the Content Browser

	Re-organized some of the settings into better groups, and fixed some places where items would still be shown in the asset view when some of these content filter options were disabled (either via a setting, or via the UI).

Change 3402283 on 2017/04/20 by Jamie.Dale

	Creating a folder in the Content Browser now creates the folder on disk, and cancelling a folder naming now removes the temporary folder

	#jira UE-8892

Change 3402572 on 2017/04/20 by Alex.Delesky

	#jira UE-42421

	PR #3311: Improved log messages (Contributed by projectgheist)


Change 3403226 on 2017/04/21 by Yannick.Lange

	VR Editor: - Removed previous quick menu floating UI panel.

	- Added the concept of a info display floating UI panel.

	- Used info display for showing sequencer timer.

Change 3403277 on 2017/04/21 by Yannick.Lange

	VR Editor: - Set window mesh for info display panel.
	- Add option to null out widget when hidden.

Change 3403289 on 2017/04/21 by Yannick.Lange

	VR Editor: Don't load VREditorAssetContainer asset when starting editor.

Change 3403353 on 2017/04/21 by Yannick.Lange

	VR Editor: Fix variable 'RelativeOffset' is uninitialized when used within its own initialization.

Change 3404183 on 2017/04/21 by Matt.Kuhlenschmidt

	Fix typo

Change 3405378 on 2017/04/24 by Alex.Delesky

	#jira UE-42550 - Audio thumbnails should never rerender now, even with real-time thumbnails enabled

Change 3405382 on 2017/04/24 by Alex.Delesky

	#jira UE-42097 - The Main Frame window will no longer steadily grow if it's closed while not maximized

Change 3405384 on 2017/04/24 by Alex.Delesky

	#jira UE-43985 - Duplicating Force Feedback, Sound Wave, or Sound Cue assets from the context menu after right-clicking on the playback controls will now correctly select the newly created asset for rename.

Change 3405386 on 2017/04/24 by Alex.Delesky

	#jire UE-42239 - Blueprints that have been duplicated from another blueprint will now render their thumbnails correctly instead of displaying a flat black thumbnail.

Change 3405388 on 2017/04/24 by Alex.Delesky

	#jira UE-43241 - Blueprint classes that derive from notplaceable classes (such as SpectatorPawn and GameMode) can no longer be placed within the level editor via the right-click Add/Replace menus

Change 3405394 on 2017/04/24 by Alex.Delesky

	#jira UE-42137 - Users can no longer access the widget object of a Widget Component from within actor construction scripts

Change 3405429 on 2017/04/24 by Alex.Delesky

	Fixing a naming issue for CL 3405378

Change 3405579 on 2017/04/24 by Cody.Albert

	Fixed bad include from CL#1401868

	#jira UE-44238

Change 3406716 on 2017/04/24 by Max.Chen

	Sequencer: Add attach/detach rules for attach section.

	#jira UE-40970

Change 3406718 on 2017/04/24 by Max.Chen

	Sequencer: Set component velocity for attached objects

	#jira UE-36337

Change 3406721 on 2017/04/24 by Max.Chen

	Sequencer: Re-evaluate on stop. This fixes a situation where if you set the playback position to the end of a sequence while it's playing, the sequence will stop playing but won't re-evaluate to the end of the sequence.

	#jira UE-43966

Change 3406726 on 2017/04/24 by Max.Chen

	Sequencer: Added StopAndGoToEnd() function to player

	#jira UE-43967

Change 3406727 on 2017/04/24 by Max.Chen

	Sequencer: Add cinematic options to level sequence player

	#jira UE-39388

Change 3407097 on 2017/04/25 by Yannick.Lange

	VR Editor: Temp asset for free rotation handle gizmo.

Change 3407123 on 2017/04/25 by Michael.Dupuis

	#jira UE-44329: Only display the message in attended mode and editor (so user can actually perform the save)

Change 3407135 on 2017/04/25 by Max.Chen

	Sequencer: Load level sequence asynchronously.

	#jira UE-43807

Change 3407137 on 2017/04/25 by Shaun.Kime

	Fixing comments to refer to correct function name.

Change 3407138 on 2017/04/25 by Max.Chen

	Sequencer: Mark actor that the spawnable duplicates as a transient so that the level isn't dirtied. Then clear the transient flag on the object template.

	#jira UE-30007

Change 3407139 on 2017/04/25 by Max.Chen

	Sequencer: Fix active marker in sub, cinematic, control rig sections.

	#jira UE-44235

Change 3407229 on 2017/04/25 by Max.Chen

	Sequencer: Prioritize buttons over label.

	#jira UE-26813

Change 3407343 on 2017/04/25 by Matt.Kuhlenschmidt

	Added a world accessor to blutilties so they can operate on the editor world (spawn,destroy actors etc)

Change 3407401 on 2017/04/25 by Nick.Darnell

	Slate - Adding a Round function to SlateRect.  Also adding a way to convert a Transform2D to a full matrix.

Change 3407842 on 2017/04/25 by Matt.Kuhlenschmidt

	Made AssetTools a uobject interface so it could be access from script.

	A few methods were deprecated and renamed to enforce a consistent UI.  Now all asset tools methods that expose a dialog have "WithDialog" in their name to  differentiate them from methods that do not open dialogs and could be used by scripts for automation.  C++ users may still access IAssetTools but should not ever need to use the UAssetTools  interface class

Change 3407890 on 2017/04/25 by Matt.Kuhlenschmidt

	Removed temp method

Change 3408084 on 2017/04/25 by Matt.Kuhlenschmidt

	Exposed source control helpers to script

Change 3408163 on 2017/04/25 by Matt.Kuhlenschmidt

	Deprecated actor grouping methods on UUnrealEdEngine and moved their functionality into their own class( UActorGroupingUtils).  There is a new editor config setting to set which grouping utils class is used and defaults to the base class.  The new utility methods are exposed to script.

Change 3408220 on 2017/04/25 by Alex.Delesky

	#jira UE-43387 - The Levels window will now support the organization of streaming levels using editor-only folders.

Change 3408239 on 2017/04/25 by Matt.Kuhlenschmidt

	Added a file helpers API to script.  This one is a wrapper around FEditorFileUtils for now to work around some issues exposing legacy methods to script but FEditorFileUtils will be deprecated soon

Change 3408314 on 2017/04/25 by Jamie.Dale

	Fixed typo

Change 3408911 on 2017/04/25 by Max.Chen

	Level Editor: Delegate for when viewport tab content changes.

	#jira UE-37805

Change 3408912 on 2017/04/25 by Max.Chen

	Sequencer: Transport controls are added when viewport content changes and only to viewports that support it (ie. cinematic viewport doesn't allow it since it has its own transport controls). This fixes issues where transport controls wouldn't be visible in newly created viewports and also would get disabled when switching from default to cinematic and back to default.

	#jira UE-37805

Change 3409073 on 2017/04/26 by Yannick.Lange

	VR Editor: Fix starting point of lasers.

Change 3409330 on 2017/04/26 by Matt.Kuhlenschmidt

	Fix CIS

Change 3409497 on 2017/04/26 by Alexis.Matte

	Fix crash importing animation with skeleton that do not match the fbx skeleton.
	#jira UE-43865

Change 3409530 on 2017/04/26 by Michael.Dupuis

	#jira UE-44329: Only display the log if we're not running a commandlet

Change 3409559 on 2017/04/26 by Alex.Delesky

	#jira none - Fixing case of header include for CL 3408220

Change 3409577 on 2017/04/26 by Yannick.Lange

	VR Editor: being able to push/pull along the laser using touchpad or analog stick when transforming object towards laser impact.

Change 3409614 on 2017/04/26 by Max.Chen

	Sequencer: Add Scrub() to movie scene player.

Change 3409658 on 2017/04/26 by Jamie.Dale

	Made the handling of null item selection consistent in SComboBox

	If the selection was initially null and the combo was closed, it would previously pass through the null entry to its child SListView, which would then always think the selection was changing when the combo was opened and cause it to immediately close again.

Change 3409659 on 2017/04/26 by Jamie.Dale

	Added preset Unicode block range selection to the font editor UI

	#jira UE-44312

Change 3409755 on 2017/04/26 by Max.Chen

	Sequencer: Back out bIsUISound for scrubbing.

Change 3410015 on 2017/04/26 by Max.Chen

	Sequencer: Fix crash on asynchronous level sequence player load.

	#jira UE-43807

Change 3410094 on 2017/04/26 by Max.Chen

	Slate: Enter edit mode and return handled if not read only.

Change 3410151 on 2017/04/26 by Michael.Trepka

	Fix for building EngineTest project on Mac

Change 3410930 on 2017/04/27 by Matt.Kuhlenschmidt

	Expose editor visibility methods on Actor to blueprint/script

Change 3411164 on 2017/04/27 by Matt.Kuhlenschmidt

	Fix crash when repeatedly spaming ctrl+s and ctrl+shift+s to save.

	PR #3511: UE-44098: Replace check with if-statement (Contributed by projectgheist)


Change 3411187 on 2017/04/27 by Jamie.Dale

	No longer attempt to use the game culture override in the editor

Change 3411443 on 2017/04/27 by Alex.Delesky

	#jira UE-43730, UE-43703 - Material Instances will now correctly use their preview meshes when being edited, or will use their parent's preview mesh if their preview mesh has not been set and the parent's is valid.

Change 3411809 on 2017/04/27 by Max.Chen

	Sequencer: Prioritize buttons over label.

	#jira UE-26813

Change 3411810 on 2017/04/27 by Cody.Albert

	Scrollbox now properly calls Invalidate while scrolling

Change 3411892 on 2017/04/27 by Alex.Delesky

	#jira UE-40031

	PR #3065: Ignore .vs folder when initializing git projects (Contributed by mattiascibien)


Change 3412002 on 2017/04/27 by Jamie.Dale

	Fixed crash when using an invalid regex pattern

	#jira UE-44340

Change 3412009 on 2017/04/27 by Cody.Albert

	Fixed Invalidation Panel to apply scale only to volatile elements, correcting an issue with Cache Relative Positions

Change 3412631 on 2017/04/27 by Jamie.Dale

	Implemented support for hiding empty folders in the Content Browser

	"Empty" in this case is defined as folders that recursively don't contain assets or classes. Folders that have been created by the user or have at any point contained content during the current editing session are always shown.

	This also fixes some places where the content filters would miss certain folders (usually due to missing checks when processing AssetRegistry events), and allows asset and path views to be synced to folder selections (as well as asset selections), which improves the experience when renaming folders, and navigating the Content Browser history.

	#jira UE-40038

Change 3413023 on 2017/04/27 by Max.Chen

	Sequencer: Fix filtering so that it includes parent nodes only and doesn't recurse through to add their children.

Change 3413309 on 2017/04/28 by Jamie.Dale

	Fixed shadow warning

Change 3413327 on 2017/04/28 by Jamie.Dale

	Added code to sanitize some known strings before passing them to ICU

Change 3413486 on 2017/04/28 by Matt.Kuhlenschmidt

	Allow AssetRenameData to be exposed to blueprints/script

Change 3413630 on 2017/04/28 by Jamie.Dale

	Moved FUnicodeBlockRange into Slate so that it can be used for C++ defined fonts as well as those defined in the font editor

Change 3414164 on 2017/04/28 by Jamie.Dale

	Removing some type-unsafe placement new array additions

Change 3414497 on 2017/04/28 by Yannick.Lange

	ViewportInteraction: - Add arcball sphere asset.
	- Add opacity parameter to translucent gizmo material.

Change 3415021 on 2017/04/28 by Max.Chen

	Sequencer: Remove spacer nodes at the top and bottom of the node tree.

	This fixes the artifact of having spaces at the top and bottom which get selected when you click on the space and when you press Home and End to go to the top or bottom of the tree.

	#jira UE-28931

Change 3415786 on 2017/05/01 by Matt.Kuhlenschmidt

	#rn PR #3518: Allow PaintedVertices to be sized down (Contributed by jasoncalvert)

Change 3415836 on 2017/05/01 by Alex.Delesky

	#jira UE-39203 - You can now summon the reference viewer from the content browser using the keyboard shortcut.

Change 3415837 on 2017/05/01 by Alex.Delesky

	#jira UE-34947 - When the user attempts to download an IDE from within the editor (due to needing one to add a C++ class), the window that hosts the widget will now close if it's a modal window.

Change 3415839 on 2017/05/01 by Alex.Delesky

	#jira UE-42049

	PR #3266: Profiler: added Thread filter (Contributed by StefanoProsperi)


Change 3415842 on 2017/05/01 by Michael.Dupuis

	#jira UE-44514 : Removed the warning as it's causing more issue than it fixes.

Change 3416511 on 2017/05/01 by Matt.Kuhlenschmidt

	Make UHT generate WITH_EDITOR guards around UFunctions generated in a WITH_EDITOR C++ block.  This prevents these functions from being generated in non-editor builds

Change 3416520 on 2017/05/01 by Yannick.Lange

	Viewport Interaction: - Toggle ViewportWorldInteraction with command for desktop testing without having to use VREditor.
	- Add helper function to add a unique extension by subclass.

Change 3416956 on 2017/05/01 by Matt.Kuhlenschmidt

	Exposed EditorLevelUtils to script.  This allows creation of streaming levels, setting the current level and moving actors between levels

Change 3416964 on 2017/05/01 by Matt.Kuhlenschmidt

	Prevent foliage from marking actors dirty as HISM components are added and removed from the scene.

Change 3416988 on 2017/05/01 by Lauren.Ridge

	PR #3122: UE-40262: Color tabs according to asset type (Contributed by projectgheist)

	Changed the highlight style to be around the icon and match the content browser color and style.

	#jira UE-40437


Change 3418014 on 2017/05/02 by Yannick.Lange

	Viewport Interaction: Remove material members from base transform gizmo  and use asset container to get materials.

Change 3418087 on 2017/05/02 by Lauren.Ridge

	Adding minor tab icon surrounds

Change 3418602 on 2017/05/02 by Jamie.Dale

	Fixed a crash that could occur due to bad data in the asset registry

	It was possible for FAssetRegistry::PrioritizeSearchPath to re-order the BackgroundAssetResults in response to callback from FAssetRegistry::AssetSearchDataGathered, which caused integrity issues with the array, and would lead to results being missed, or an existing result being processed twice (which due to certain assumptions would result in it being deleted, and bad data being left in the asset registry).

	These results lists now use a custom type that prevents the mutation of items that have already been processed but not yet trimmed.

Change 3418702 on 2017/05/02 by Matt.Kuhlenschmidt

	Fix USD files that reference other USD files not finding the referenced files by relative path.  Requires USD third party changes only

Change 3419071 on 2017/05/02 by Arciel.Rekman

	UBT: optimize FixDeps step on Linux.

	- Removes the need to re-link unrelated engine libraries when recompiling a code project.
	- Makes builds faster on machines with multiple cores.
	- The module that has circularly referenced dependencies is considered cross-referenced itself.
	- Tested compilation on Linux (native & cross) and Mac (native).

Change 3419240 on 2017/05/02 by Cody.Albert

	Bound widgets in animation tracks can no longer be swapped with widgets from a different widget blueprint, which would lead to a crash

Change 3420011 on 2017/05/02 by Max.Chen

	Sequencer: Fix scrubber hit testing so that the time scrubber is really favored over the playback ranges.

	#jira UE-44569

Change 3420507 on 2017/05/03 by Lauren.Ridge

	Selecting a camera or other preview actor in VR Mode now creates a floating in-world viewport. Also deselect all Actors when moving into and out of VR Mode

Change 3420643 on 2017/05/03 by andrew.porter

	QAGame - Adding test content to QA-Sequencer for using spawnables with override bindings

Change 3420678 on 2017/05/03 by andrew.porter

	QAGame: Updating override binding sequence

Change 3420961 on 2017/05/03 by Jamie.Dale

	Exposed some missing Internationalization functions to BPs

Change 3422767 on 2017/05/04 by Yannick.Lange

	ViewportInteraction: Extensibility for dragging on gizmo handles
	Removed ETransformGizmoInteractionType completely and replaced it with UViewportDragOperation. Using the ETransformGizmoInteractionType enum made external extensibility impossible. Now every gizmo handle group has a component called UViewportDragOperationComponent which holds a  UViewportDragOperation of a certain type. This UViewportDragOperation can be inherited to create a custom method to calculate a new transform for the objects when dragging the gizmo handle.

Change 3422789 on 2017/05/04 by Yannick.Lange

	ViewportInteraction: Fix duplicate console variable.

Change 3422817 on 2017/05/04 by Andrew.Rodham

	Sequencer: Changed level sequence object references to always use a package and object path based lookup

	  - Newly created binding references now consist of a package name and an inner object path for actors, and just an inner object path for components. The package name is fixed up dynamically for PIE, which means it can work correctly for multiplayer PIE, and when levels are streamed in during PIE (functionality previously unavailable to lazy object ptrs)
	  - Added a way of rebinding all possessable objects in the current sequence (Rebind Possessable References)
	  - Level sequence binding references no longer use native serialization now that TMap serialization is fully supported.
	  - Multiple bindings are now supported in the API layer of level sequence references, although this is not yet exposed to the sequencer UI.

	#jira UE-44490

Change 3422826 on 2017/05/04 by Andrew.Rodham

	Removed erroneous braces

Change 3422874 on 2017/05/04 by James.Golding

	Adding MaterialEditingLibrary to allow manipulation of materials within the editor.
	- Refactored code out of MaterialEditor where possible
	Marked some material types as BP-accessible, to allow to editor-Blueprint access.
	Remove unused 'bSkipPrim' property from Set/CheckMaterialUsage

Change 3422942 on 2017/05/04 by Lauren.Ridge

	Tab padding adjustment to allow tabs with icons to be the same height as tabs without

Change 3423090 on 2017/05/04 by Jamie.Dale

	Added a way to get the source package path for a localized package path

	Added tests for the localized package path checks.

Change 3423133 on 2017/05/04 by Jamie.Dale

	Fixed a bug where a trailing quote without a newline at the end of a CSV file would be added to the parsed text rather than converted to a terminator

Change 3423301 on 2017/05/04 by Max.Chen

	Sequencer: Add JumpToPosition which updates to a position in a scrubbing state.

Change 3423344 on 2017/05/04 by Jamie.Dale

	Updated localized asset group caching so that it works in non-cooked builds

Change 3423486 on 2017/05/04 by Lauren.Ridge

	Fixing deselection code in VWI

Change 3423502 on 2017/05/04 by Jamie.Dale

	Adding automated localization tests

Change 3424219 on 2017/05/04 by Yannick.Lange

	- Hide FWidget when ViewportWorldInteraction starts.

	- Added option to EditorViewportClient to not render FWidget without using FWidget::SetDefaultVisibility.

Change 3425116 on 2017/05/05 by Matt.Kuhlenschmidt

	PR #3527: Modified comments (Contributed by projectgheist)



Change 3425239 on 2017/05/05 by Matt.Kuhlenschmidt

	Fix shutdown crash in projects that unregister asset tools in UObjects being destroyed at shutdown.

Change 3425241 on 2017/05/05 by Max.Chen

	Sequencer: Components aren't deselected from the sequencer tree view when they get deselected in the viewport/outliner.

	#jira UE-44559

Change 3425286 on 2017/05/05 by Jamie.Dale

	Text duplicated as part of a widget archetype now maintains its existing key

	#jira UE-44715

Change 3425477 on 2017/05/05 by Andrew.Rodham

	Sequencer: Do not deprecate legacy object references since they still need to be serialized on save
	  - Also re-add identical via equality operator so that serialization works again

Change 3425681 on 2017/05/05 by Jamie.Dale

	Fixed fallback font height/baseline measuring

Change 3426137 on 2017/05/05 by Jamie.Dale

	Removing PPF_Localized

	It's an old UE3-ism that's no longer tested anywhere

Change 3427434 on 2017/05/07 by Yannick.Lange

	ViewportInteraction: Null check for viewport.

Change 3427905 on 2017/05/08 by Matt.Kuhlenschmidt

	Removed the concept of a global selection annotation.  This poses a major problem when more than one selection set is clearing it.  If more than one selection set is in a transaction the last one to be serialized will clear and rebuild the annotation thus causing out of sync issues with component and actor selection sets.  This change introduces the concept of a per-selection set annotation to avoid being out of sync.  Actor and ActorComponent now override IsSelected (editor only) to make use of these selections.

	#jira UE-44655

Change 3428738 on 2017/05/08 by Matt.Kuhlenschmidt

	Fix other usage of USelection not having a selection annotation

	#jira UE-44786

Change 3429562 on 2017/05/08 by Matt.Kuhlenschmidt

	Fix crash on platforms without a cursor

	#jira UE-44815

Change 3429862 on 2017/05/08 by tim.gautier

	QAGame: Enable Include CrashReporter in Project Settings

Change 3430385 on 2017/05/09 by Lauren.Ridge

	Resetting user focus to game viewport after movie finishes playback

	#jira UE-44785

Change 3430695 on 2017/05/09 by Lauren.Ridge

	Fix for crash on leaving in the middle of a loading movie

	#jira UE-44834

Change 3431234 on 2017/05/09 by Matt.Kuhlenschmidt

	Fixed movie player setting all users to focus which breaks VR controllers

[CL 3432852 by Matt Kuhlenschmidt in Main branch]
2017-05-10 11:49:32 -04:00
Ben Marsh
aa969f9931 Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3420477)
#lockdown Nick.Penwarden
#rb none

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

Change 3386262 on 2017/04/10 by Ben.Marsh

	Add app-local deployment of DirectX components that are no longer included with newer versions of Windows by default (XAudio 2.7, XInput 1.3). Also add a one-click button to the packaging settings to include the default app-local dependencies, rather than having to specify the path.

Change 3386999 on 2017/04/10 by Ben.Marsh

	Plugins: Add support for explicit dependencies from one plugin onto another. Required plugins can be configured in an identical manner to project files, by adding a "Plugins" key to the .uplugin file. Dependencies are automatically built and loaded, and the plugin browser will warn if you try to disable a plugin that something else has a dependency on.

Change 3387073 on 2017/04/10 by Ben.Marsh

	Move FLightPropagationRuntimeSettings into the Renderer module, to remove engine dependency on a plugin.

Change 3387988 on 2017/04/11 by Steve.Robb

	Comments added to clarify the role of DestructItem and DestructItems.

Change 3388085 on 2017/04/11 by Ben.Marsh

	UBT: Fix bEnabled flag on plugin references being ignored. Now collect up all the plugin references in order of priority before creating plugin instances for them. Fixes CIS fail for UT.

Change 3390048 on 2017/04/12 by Richard.Hinckley

	#jira UE-43876
	Fixed description of Streaming settings (within Project Settings).

Change 3390697 on 2017/04/12 by Steve.Robb

	CLASS_PointersDefaultToAutoWeak and CLASS_PointersDefaultToWeak removed.

Change 3390711 on 2017/04/12 by Steve.Robb

	AGRESSIVE_ARRAY_FORCEINLINE removed.

Change 3392167 on 2017/04/13 by Robert.Manuszewski

	UObject can be added to GC cluster only if all of its Outers can also be added to it.

	Fixing asserts caused by components that are added to GC clusters even if their owner actors that can't be in GC clusters.

	#jira UE-42948

Change 3392309 on 2017/04/13 by Robert.Manuszewski

	When adding objects to clusters after these clusters have been created it's possible to come across objects that are already in the cluster we're adding the object to so instead of crashing, allow it.

Change 3392620 on 2017/04/13 by Ben.Marsh

	UGS: Only check for updates every 5 minutes.

Change 3392623 on 2017/04/13 by Ben.Marsh

	UGS: Only poll for new changes every 60 seconds.

Change 3392744 on 2017/04/13 by Ben.Marsh

	UGS: Query changelist descriptions individually to determine whether changes affect code or content, to hopefully reduce Perforce server load.

Change 3392874 on 2017/04/13 by Ben.Marsh

	UGS: Allow specifying regexes in the project config file which filters which changes to be displayed. Useful for changes submitted by build machines, updates to collections, etc...

Change 3392878 on 2017/04/13 by Ben.Marsh

	Update UGS to version 1.96

Change 3395635 on 2017/04/17 by Ben.Marsh

	UAT: Prefix log output from executing UAT commands through BuildGraph with the name of that command.

Change 3395655 on 2017/04/17 by Ben.Marsh

	UAT: Add a command for syncing a DDC over the network (SyncDDC). Allows specifying a maximum size to copy, number of days worth of modified files to copy, and time limit not to be exceeded.

Change 3396989 on 2017/04/17 by Wes.Hunt

	CrashReporter configurable tweaks.
	* Added QueueWaitingTimeAlertThreshold (used to be hardcoded to 1 min).
	  - When the queue waiting time gets beyond this many seconds, trigger a slack alert message. Default is 10 min.
	  - Zero means never alert.
	* Added DiskSpaceAvailableAlertInterval (used to be hardcoded to 1 day).
	  - Interval by which to report disk space availability.
	  - Default is never (Zero)
	* Updated config file to match production config.
	#codereview:jin.zhang

Change 3397656 on 2017/04/18 by Ben.Marsh

	UBT: Allow modules to opt-out of getting the default include paths from being added, by setting bAddDefaultIncludePaths = false from their build.cs file.

Change 3397677 on 2017/04/18 by Robert.Manuszewski

	PR #3167 : Adding more descriptive error text to DetatchLinker error check (by rooneym)


Change 3397722 on 2017/04/18 by Robert.Manuszewski

	PR #2252: Increase linker reporting for failed imports (Contributed by FineRedMist)


Change 3397739 on 2017/04/18 by Richard.Hinckley

	#jira UE-44100
	Fixed SanitizePackageName() to remove double-slash, triple-slash, etc. from package names. Also updated CreatePackage() to call SanitizePackageName() before creating.

Change 3398023 on 2017/04/18 by Ben.Marsh

	PR #3105: Cook/package with editor and debugger attached (Contributed by projectgheist)


Change 3398095 on 2017/04/18 by Ben.Marsh

	PR #3051: Generate map file from UAT (Contributed by projectgheist)


Change 3398212 on 2017/04/18 by Ben.Marsh

	PR #2915: UE-38232: Removed duplicate stats (Contributed by projectgheist)


Change 3399304 on 2017/04/19 by Ben.Marsh

	UGS: Prevent editor target files being removed when running custom tools.

Change 3399306 on 2017/04/19 by Robert.Manuszewski

	Moved InitPropertiesFromCustomList to UbLueprintGeneratedClass and made it thread safe

Change 3399729 on 2017/04/19 by Steve.Robb

	Simple optimization to TBitArray::RemoveAt() when all removed bits are at the end of the array.
	RemoveAtSwap() now simply decrements the count instead of calling RemoveAt().
	Checks for a positive count added to RemoveAt() and RemoveAtSwap().

Change 3399750 on 2017/04/19 by Jin.Zhang

	Order branch alphabetically #RB

Change 3400186 on 2017/04/19 by Steve.Robb

	Per-header generated code.

Change 3401458 on 2017/04/20 by Steve.Robb

	Static log categories moved out of headers to prevent duplicates when the header is included multiple times.

	#jira UE-37507

Change 3401657 on 2017/04/20 by Gil.Gribb

	UE4 - Simplified and reworked lock free lists and the task graph bringing all platforms under the same scheme.

Change 3401735 on 2017/04/20 by Gil.Gribb

	UE4 - Updated apple platform atomics with a new clang version which is intended to be shared among all clang platforms.

Change 3403362 on 2017/04/21 by Steve.Robb

	Algo::Sort() fixed to support C arrays.
	Size+count versions of Also::IsSorted() deprecated.
	Algo::IsSortedBy() added.
	Algo::FindBy() added to allow an element to be found by projection.
	Simplifications and generalizations.

Change 3404017 on 2017/04/21 by Ben.Marsh

	Fix issue where referenced plugin descriptors were missing from console builds, and prevent monolithic builds from offering to disable missing plugins.

Change 3405299 on 2017/04/24 by Steve.Robb

	Clarified the class of the incompatible function in the error message about incompatible BP event specifiers.

	#jira UE-35106

Change 3405302 on 2017/04/24 by Ben.Marsh

	UBT: Allow excluding documentation from generated project files, by setting <ProjectFileGenerator><bIncludeDocumentation>false</bIncludeDocumentation></ProjectFileGenerator> in the XML configuration file.

Change 3405629 on 2017/04/24 by Ben.Marsh

	Rename CPPEnvironment to CppCompileEnvironment, to reflect the class name.

Change 3406431 on 2017/04/24 by Ben.Marsh

	UAT: Fix incorrect handling of P4SubmitOptions when multiple values are present.

Change 3406670 on 2017/04/24 by Ben.Marsh

	UBT: Enable warnings for classes with virtual functions and no virtual destructor (C4265 on Windows, -fdelete-non-virtual-dtor on Clang).

Change 3407080 on 2017/04/25 by Gil.Gribb

	UE4 - Critical fix: Propoerly disambiguate imports with the same name and the same outer name. This fixes an assert: LocalExportIndex.IsNull.

Change 3407486 on 2017/04/25 by Gil.Gribb

	UE4 - Made changes so that servers, programs and non-engine executables do not create background or high priority threads.

Change 3407495 on 2017/04/25 by Gil.Gribb

	UE4 - Tweaked out XBox and Windows low level file IO.

Change 3407497 on 2017/04/25 by Gil.Gribb

	UE4 - Fixed bug in the pak precacher that would result in blocks being discarded too soon, which, in turn, resulted in redudnant reads.

Change 3407705 on 2017/04/25 by Ben.Marsh

	Removing most of the junk in DotNETUtilities.

Change 3409701 on 2017/04/26 by Ben.Marsh

	Disable another static analyzer warning for third party libraries.

Change 3410074 on 2017/04/26 by Daniel.Lamb

	Network platform file runs heart beats and responds to modified file changes.
	Cook on the fly server in the editor (COTS) now detects changes to content and notifies client.
	Fixed issue with network platform file not using correct sandbox.

	#test cook on the side shootergame

Change 3411131 on 2017/04/27 by Steve.Robb

	TIsTriviallyDestructible now supports forward-declared enums.

Change 3411186 on 2017/04/27 by Steve.Robb

	Fix for #includes in generated code for Within classes which are in a different module from the generated class.

Change 3411917 on 2017/04/27 by Steve.Robb

	Fixes to pushing/popping the CPP macro.

Change 3411966 on 2017/04/27 by Steve.Robb

	Include spam reduced in generated code.

Change 3412155 on 2017/04/27 by Ben.Marsh

	Fix for PVS Studio warning: VFOVInRadians used instead of HFOVInRadians.

Change 3412223 on 2017/04/27 by Ben.Marsh

	Fix for PVS-Studio warning: Calling SetHelperA.Num() twice.

Change 3412273 on 2017/04/27 by Ben.Marsh

	Fix for PVS-Studio warning: Duplicated variable name.

Change 3412511 on 2017/04/27 by Ben.Marsh

	PR #3462: Fixed PVS-Studio issues (Part 1) (Contributed by PaulEremeeff)


Change 3412582 on 2017/04/27 by Ben.Marsh

	Fix for PVS-Studio warning: Incorrect variable name in copy/pasted code

Change 3413136 on 2017/04/28 by Robert.Manuszewski

	Helper functions for dissolving specific GC clusters

Change 3413310 on 2017/04/28 by Ben.Marsh

	Fix for PVS-Studio warning: Incorrect variable name in copy/pasted code.

Change 3413341 on 2017/04/28 by Gil.Gribb

	UE4 - Add prestream capability to allow us to preload always loaded sublevels. Only turned on for Shootergame.

Change 3413351 on 2017/04/28 by Ben.Marsh

	Include code analysis macros directly from Platform.h, so that macros are available to everything.

Change 3413352 on 2017/04/28 by Ben.Marsh

	Fixing a few more PVS studio warnings.

Change 3413437 on 2017/04/28 by Ben.Marsh

	Fix for PVS-Studio warning: Comparison is always true.

Change 3413759 on 2017/04/28 by Ben.Marsh

	Suppressing warnings for PVS-Studio.

Change 3413784 on 2017/04/28 by Ben.Marsh

	Fix PVS-Studio warning.

Change 3413898 on 2017/04/28 by Ben.Marsh

	Fix PVS-Studio warning: Same conditional is checked twice.

Change 3413915 on 2017/04/28 by Ben.Marsh

	Fix PVS-Studio warning: LHS of expression is identical to RHS.

Change 3413989 on 2017/04/28 by Ben.Marsh

	Fix for PVS-Studio warning: If CurrentGraph->SubGraphs.Num() == 1, it will always enter the first conditional block.

Change 3414053 on 2017/04/28 by Ben.Marsh

	More PVS-Studio fixes.

Change 3414062 on 2017/04/28 by Ben.Marsh

	Fix for PVS-Studio warning: Pointer to object goes out of scope without being freed.

Change 3414070 on 2017/04/28 by Ben.Marsh

	Fix for PVS-Studio warning: Fix incorrect condition.

Change 3414071 on 2017/04/28 by Ben.Marsh

	Fix for PVS-Studio warning: Array index is always zero.

Change 3414116 on 2017/04/28 by Ben.Marsh

	BuildGraph: Allow marking compile tasks as unsuitable for use with the parallel executor, via an AllowParallelExecutor="false" attribute.

Change 3414160 on 2017/04/28 by Ben.Marsh

	Add support for running PVS-Studio through UnrealBuildTool. To use, pass -StaticAnalyzer=PVSStudio to the build command line (similarly, the Visual C++ analyzer can now be invoked using -StaticAnalyzer=VisualCpp). A log file will be written to the Engine/Saved/PVS-Studio or <Project>/Saved/PVS-Studio directory containing diagnostics, which can be opened using the "unparsed output" filter in the PVS-Studio standalone application. High priority warnings are printed to stdout.

Change 3414237 on 2017/04/28 by Ben.Marsh

	EC: Allow disabling and enabling the log preprocessor via special markers in the log.

	To disable: <-- Suspend Log Parsing -->
	To enable: <-- Resume Log Parsing -->

Change 3414343 on 2017/04/28 by Ben.Marsh

	UBT: Exclude ThirdParty folders from PVS output.


Change 3414392 on 2017/04/28 by Ben.Marsh

	Fix regular strings being casted to BSTRs; BSTRs have a hidden length prefix in the two bytes before the first character, so passing a regular TCHAR* is reading random memory.

Change 3414459 on 2017/04/28 by Ben.Marsh

	Fix for PVS-Studio warning: Object goes out of scope without being freed.

Change 3414495 on 2017/04/28 by Ben.Marsh

	Suppress some more PVS-Studio warnings.

Change 3414514 on 2017/04/28 by Ben.Marsh

	Fix for PVS-Studio warning: Testing WorldType being equal to EditorPreview and not equal to Inactive is redundant; changing to match description in comment instead.

Change 3414526 on 2017/04/28 by Ben.Marsh

	Fix for PVS-Studio warning: Variable assigned to itself has no effect.

Change 3415183 on 2017/04/29 by Ben.Marsh

	Fix conflict in macro definitions for ENABLE_HTTP_FOR_NFS - rename the macro defined by NetworkFile to ENABLE_HTTP_FOR_NF. Hopefully fix CIS.

Change 3415765 on 2017/05/01 by Ben.Marsh

	Suppressing PVS-Studio warning to get things building cleanly. Not sure if FContentHelper is being leaked or not.

Change 3415853 on 2017/05/01 by Ben.Marsh

	EC: Fix jobs never completing if a "Sync & Build" step fails. Dependent jobs should evaluate their run conditions as soon as the parent step finishes, rather than waiting for child job steps to be created.

Change 3416138 on 2017/05/01 by Ben.Marsh

	Fix Fortnite cook failures. Not sure what the exact problem is here, but my hunch is that discarded "const" causes blueprint compile failures due to not being able to connect output pins between nodes for overloaded functions, or something like that.

Change 3416309 on 2017/05/01 by Ben.Marsh

	Build: Fix node names for static analysis.

Change 3416360 on 2017/05/01 by Ben.Marsh

	UBT: Remove unused arguments to PrepForUATPackageOrDeploy for Windows.

Change 3416398 on 2017/05/01 by Daniel.Lamb

	Cook on the fly NetworkFileServerConnection Remove FileModifiedCallback delegate when the connection is closed.

	#test Cook on the side shootergame.

Change 3416826 on 2017/05/01 by Daniel.Lamb

	Added callback to game when files are requested reload from networkfileserver.
	Game will need to unload / reload effected objects.
	Working on simple reload capability in shootergame.

	#test Cook on the side shootergame with reloading

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

	EC: Remove warning for lines not matching p4 tag syntax when running preflights; multi-line descriptions in shelved changelists break this pattern.

Change 3418747 on 2017/05/02 by Steve.Robb

	Fix for const pointer properties.
	Fix for UHT debugging manifest.
	Test added for pointer properties.

Change 3420477 on 2017/05/03 by Gil.Gribb

	UE4 - Removed check from windows async IO layer.

[CL 3421020 by Ben Marsh in Main branch]
2017-05-03 14:18:32 -04:00
Nick Darnell
924baec97b Copying //UE4/Dev-Editor to //UE4/Dev-Main (Source: //UE4/Dev-Editor @ 3341527)
#lockdown Nick.Penwarden

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

Change 3280282 on 2017/01/31 by Matt.Kuhlenschmidt

	GitHub 3171 : fix 'memoreport -full' causes ensure condition fail on particle object

Change 3281111 on 2017/02/01 by Michael.Dupuis

	#jira UE-36318 : was'nt notifying that we changed the current level in the case where you add/create new level in the Level window

Change 3281225 on 2017/02/01 by Jamie.Dale

	Several improvements to culture switching and LocRes files

	 - LocRes files now de-duplicate translations when they're generated, which can result in smaller LocRes files.
	 - The localization compilation step now produces a LocNat file, which contains meta-data specifying the native culture during compile, and where the native LocRes file can be found.
	 - Changing cultures now loads the native localization data prior to loading the non-native translations to ensure that translations are always applied to a consistent base.
	 - The "leet" culture (available when localization testing is enabled) is now always applied against the native translation, and correctly restores non-translated text when switching away from the "leet" culture.
	 - "-culture=leet" now works correctly on the command line ("-leet" also works).
	 - LoadLocalizationResourcesForCulture is no longer called multiple times during initialization of the text localization manager.
	 - General clean-up of localization code to favor using LocKeyFuncs with maps and sets, rather than rolling their own key funcs.

Change 3281291 on 2017/02/01 by Alexis.Matte

	Make sure the sections material slot assignation is persist correctly for staticmesh and for skeletal mesh
	#jira UE-39639

Change 3281718 on 2017/02/01 by Michael.Dupuis

	#jira UE-34186: invert processing order of special character, to take into account that key name could be considered a special character and would cause the assumption done to no longer be valid

Change 3281861 on 2017/02/01 by Alexis.Matte

	Fix import of morph target when there is no animation
	#jira UE-41383

Change 3282791 on 2017/02/02 by Chris.Wood

	Split crash analytics methods to fix comment parsing issues.
	[UE-32787] - Document Crash Report Client analytics events in code

Change 3283316 on 2017/02/02 by Alexis.Matte

	Make sure we do not import more then the maximum allowed node
	#jira UE-41405

Change 3283349 on 2017/02/02 by Jamie.Dale

	Updated Portal to stage its .locnat files

Change 3283927 on 2017/02/02 by Matt.Kuhlenschmidt

	Fix component/actor selection becoming out of sync after undo/redo

	#jira UE-41416

Change 3284061 on 2017/02/02 by Alexis.Matte

	Fix the scene importer front x axis import
	#jira UE-41318

Change 3284280 on 2017/02/02 by Alex.Delesky

	#jira UE-41060 - Placing blocking volumes in the level via the Content Menu's "Place Actor" command will now place a blocking volume in the level and not generate an empty warning in the output log

Change 3285053 on 2017/02/03 by Michael.Dupuis

	#jira UE-33777: Handle the global landscape editor ui command  list so specified shortcut will be treated

Change 3285444 on 2017/02/03 by Jamie.Dale

	Updated FastDecimalFormat to support the correct 0-9 numerals for the current locale

	These are typically still Latin, but Middle Eastern languages have some variants.

	This addresses an inconsistency between FText formatting of numbers and dates (since numbers always used Latin, but dates used the culture correct numerals).

Change 3287422 on 2017/02/06 by Michael.Dupuis

	#jira UE-36580: Improved the whole word algo to take into consideration localisation

Change 3287455 on 2017/02/06 by Alexis.Matte

	When swaping the mesh point by the mesh component, we noe clean up the override material instead of empty it.
	#jira UE-41397

Change 3287745 on 2017/02/06 by Alexis.Matte

	Merge from orion dev-general cl:3286668
	Fix a crash when importing a LOD containing different material with less sections

Change 3287996 on 2017/02/06 by Michael.Dupuis

	#jira UE-37290: fixed naming to be "move to level" instead of "move level"

Change 3288090 on 2017/02/06 by Jamie.Dale

	Fixing missing include breaking the FText natvis

Change 3288105 on 2017/02/06 by Jamie.Dale

	FTextStringHelper::ReadFromString_ComplexText now only looks at the start of the buffer when matching the complex text macros

Change 3288150 on 2017/02/06 by Jamie.Dale

	Fixing display names for tutorial categories so that they can be localized

	They were already FText, but the config wasn't defining them in a localizable way.

	#jira UE-37926

Change 3288469 on 2017/02/06 by Alex.Delesky

	#jira UE-35464 - Enables the editor to parse SubRip Subtitles files to create subtitle assets.

	This also introduces the Subtitles module.

Change 3288540 on 2017/02/06 by Alex.Delesky

	Backing out changelist 3288469 due to build issue with module includes

	#jira none

Change 3289074 on 2017/02/06 by Alex.Delesky

	Back out changelist 3288540 - reintroducing Subtitles module to parse SubRip Subtitles files

	#jira UE-35464

Change 3289753 on 2017/02/07 by Michael.Dupuis

	#jira UE-34599: Take into consideration UMaterialExpressionMaterialFunctionCall when getting the GUID

Change 3290097 on 2017/02/07 by Nick.Darnell

	Automation - The automation framework no longer buckets errors, warnings and log statements into a seperate set of buckets.  There is now only one log, and all entries go into it to provide some context when things fail.  Continued working on the styling of the reports.

Change 3290182 on 2017/02/07 by Michael.Trepka

	Added missing initialization for SWindow::bIsMirrorWindow

Change 3290472 on 2017/02/07 by Michael.Dupuis

	#jira UE-37358: Add reference list in the dialog for all delete type

Change 3290513 on 2017/02/07 by Michael.Dupuis

	#jira UE-37958: was testing the trailing number 0 twice and never testing the 1

Change 3290543 on 2017/02/07 by Michael.Dupuis

	#jira UE-35931: Refresh detail panel on selection lost

Change 3290581 on 2017/02/07 by Michael.Dupuis

	Fixed possible crash if we have no level blueprint specified (was crashing during the delete of an actor)

Change 3290721 on 2017/02/07 by Michael.Dupuis

	#jira UE-40360: Pass the custom spawning struct which contain the level override into to the spawn function

Change 3291958 on 2017/02/08 by Alexis.Matte

	Back out revision 26 from //UE4/Dev-Editor/Engine/Source/Developer/AssetTools/Private/AssetTools.cpp

Change 3292017 on 2017/02/08 by Alexis.Matte

	Add some fbx automation tests to validate material re-import

Change 3292030 on 2017/02/08 by Michael.Dupuis

	#jira UE-37958: was testing the trailing number 0 twice and never testing the 1

Change 3293062 on 2017/02/08 by Jamie.Dale

	Reduced the number of allocations that happen when rebuilding text

	This change removes the wasteful FTextHistory::ToText function and replaces it with two more specialized functions; FTextHistory::BuildLocalizedDisplayString and FTextHistory::BuildInvariantDisplayString.

	These new functions return an FString (for the display string), rather than an FText (which was simply mined for its display string). Simply avoiding going via an FText saves at least two allocations per-rebuild.

	Changes:
	 - Removed FTextHistory::ToText and replaced it with FTextHistory::BuildLocalizedDisplayString and FTextHistory::BuildInvariantDisplayString.
	 - Moved the localization aware chronological and transformation implementations into FTextChronoFormatter and FTextTransformer. These return an FString which avoids an FText allocation during rebuild, and is simply passed into an FText during normal FText usage.
	 - Moved FText::AsDate, FText::AsDateTime, FText::AsTime, FText::ToUpper, and FText::ToLower into Text.cpp, and these now use FTextChronoFormatter and FTextTransformer from the common text implementation.
	 - Moved FText::AsTimespan into Text.cpp. This had no dependency on ICU, so this is now the common text implementation.
	 - Added FTextFormatter::FormatStr variants. FTextFormatter::Format calls these FTextFormatter::FormatStr versions internally, and they're also used during text rebuilding (saving not only an FText allocation, but also a container copy).
	 - Removed FText::CreateNumericalText and FText::CreateChronologicalText as they were mostly superfluous.
	 - General update from using MakeShareable to MakeShared (saving 1 allocation).
	 - General clean-up of L10N/I18N class friendship.

	#jira UE-41533

Change 3293292 on 2017/02/08 by Alex.Delesky

	Performing some cleanup in the Subtitles module, and creating a SubtitlesEditor module for the subtitles asset factories since it causes issue in client builds.

Change 3293477 on 2017/02/08 by Jamie.Dale

	Fixed TProperty::InitializeValueInternal and TProperty::DestroyValueInternal mismatch when dealing with fixed size arrays

	#jira UE-41007

Change 3293571 on 2017/02/08 by Matt.Kuhlenschmidt

	Fix lots of outline data being added to the font cache due to wrongly hashing outline material and color data.

Change 3293572 on 2017/02/08 by Matt.Kuhlenschmidt

	Fix details panel categories in the static mesh editor

Change 3294216 on 2017/02/09 by Michael.Dupuis

	#jira UE-40609: manually position the window based on it'S max possible size
	#3128 GitHub

Change 3294430 on 2017/02/09 by Jamie.Dale

	Kerning-only text shaping no longer draws characters to get their metrics

	It now goes via the low-level FT caches like HarfBuzz does.

Change 3294588 on 2017/02/09 by Alexis.Matte

	If we remove a LODGroup from baseengine.ini, the fbx importer UI will now be able to recover in case the last fbx import was done with the just removed LODGroup

Change 3294847 on 2017/02/09 by Matt.Kuhlenschmidt

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

Change 3295093 on 2017/02/09 by Arciel.Rekman

	Linux: fix Setup.sh not working in paths with space (UE-41819).

Change 3295205 on 2017/02/09 by Matt.Kuhlenschmidt

	Fix material UV's no longer working om 9 slice elements

Change 3295816 on 2017/02/09 by Arciel.Rekman

	Linux: fix starting programs from a path with space.

Change 3296129 on 2017/02/09 by Arciel.Rekman

	Linux i686: changes necessary to compile BlankProgram.

	- Added new architecture to UBT.
	- Fixed system headers.
	- Added third party libs for i686:
	  - jemalloc
	  - elftoolchain
	  - zlib
	  - SDL2
	  - libc++

Change 3296564 on 2017/02/10 by Jamie.Dale

	Cleaned up PO comment preservation

Change 3296694 on 2017/02/10 by Jamie.Dale

	AllocateNameEntry now takes TCharType* rather than void* and cast

Change 3296744 on 2017/02/10 by Jamie.Dale

	Moved the PO DOM from UnrealEd to Internationalization

Change 3297250 on 2017/02/10 by Jamie.Dale

	Split the PO import/export pipeline out of the commandlet

Change 3297420 on 2017/02/10 by Alexis.Matte

	Add Isolate and highlight feature for the material panel in the staticmesh and the skeletal editor.
	#jira UE-38985

Change 3297594 on 2017/02/10 by Alexis.Matte

	When importing from fbx a static mesh with find material anywhere, the next LODs import by the user will create new material entries instead of using the existing one.

Change 3297752 on 2017/02/10 by Arciel.Rekman

	i686 support: more third party libs.

	- libcurl
	- OpenSSL
	- libpng
	- libvorbis
	- libogg
	- libopus

Change 3297754 on 2017/02/10 by Arciel.Rekman

	i686 support: PhysX

Change 3297922 on 2017/02/10 by Alexis.Matte

	When importing a new LOD to a staticmesh, the data source file is not anymore wipe or change to the last fbx import filename.

Change 3298330 on 2017/02/10 by Arciel.Rekman

	i686: missing libcurl.

Change 3298620 on 2017/02/11 by Jamie.Dale

	FLocTextHelper improvements

	- It can now support non-standard target layouts (where the native and foreign cultures are in different locations - see FLocTextTargetPaths).
	- The XForeignArchive functions are now more strict, and *only* accept foreign cultures (use the XArchive functions instead if you're using both native and foreign cultures as parameters).

Change 3299293 on 2017/02/13 by Matt.Kuhlenschmidt

	PR #3241: UE-41870: Add quotes when passing through the directory path (Contributed by projectgheist)

Change 3299299 on 2017/02/13 by Matt.Kuhlenschmidt

	PR #3224: Git plugin: fix git autodetection and add error message (Contributed by SRombauts)

Change 3299391 on 2017/02/13 by Matt.Kuhlenschmidt

	Fix material instances being marked dirty when opening

	#jira UE-41721, UE-41719

Change 3299441 on 2017/02/13 by Nick.Darnell

	PR #3243: Fix bug that UWidget::GetOwningPlayer doesn't return (Contributed by yeonseok-yi)

Change 3299567 on 2017/02/13 by Nick.Darnell

	Slate - The Checkbox no longer just passes visibility down to the internal widgets it creates, that prevents future changes to effect it if it starts collapsed.

	#jira UE-41904

Change 3299870 on 2017/02/13 by Jamie.Dale

	Added cycle counters for font rendering/shaping

Change 3300116 on 2017/02/13 by Michael.Dupuis

	#jira UE-41866: Update cache when performing an undo

Change 3300178 on 2017/02/13 by Alexis.Matte

	Fix a crash when re-importing a LOD with more sections then the base LOD

Change 3300191 on 2017/02/13 by Alexis.Matte

	Make sure we do not loose castshadow and recomputetangents section flags when we re-import a skeletal mesh.

Change 3300351 on 2017/02/13 by Alexis.Matte

	Remove the clean up of unused material for the staticmesh editor. Unused material can be delete manually in the UI
	#jira UE-39639

Change 3302138 on 2017/02/14 by Nick.Darnell

	Automation - Adding support for -DeveloperReportOutputPath and -DeveloperReportUrl to permit local runs of the automation tool to generate reports on the report server, and launch the browser window to view them.

Change 3302139 on 2017/02/14 by Nick.Darnell

	UMG - Additional fixes to the way we migrate changes from the preview to the serialized version of the widget tree.  This fixes several issues with edit-inline objects on UWidgets.

Change 3302281 on 2017/02/14 by Nick.Darnell

	Slate - Bringing over changes to the invalidation panel from one of the game streams.  This fixes issues with animations in volatile widgets, as well as some issues with cache relative offset, and offers a method for enabling a different caching method to preserve batching through a commandline, but at the cost of not being able to use GPU buffers, possibly a better option on mobile in some cases.

Change 3302415 on 2017/02/14 by Nick.Darnell

	Disabling the open asset editor test.

Change 3302976 on 2017/02/14 by Nick.Darnell

	Automation - Updating one of the tests to open 70 different known asset types, and ensure that they open without dirtying the package.  AutomationTestSettings are now defaultengine, not sure why they setup to be user specific previously.  Most of these settings need to be removed, or split off into the modules that own them, rather than being in Engine.  TODO.

Change 3303724 on 2017/02/15 by Matt.Kuhlenschmidt

	Removed hard coded list of thumbnails, preventing objects with valid thumbnails from showing up.  Thumbnails are now shown by default.  Use meta=(DisplayThumbnail=false) to remove

	#jira UE-41958

Change 3303729 on 2017/02/15 by Matt.Kuhlenschmidt

	PR #3253: UE-34539: (Bugfix) Allow binary files in git stored via git-fat, git-lfs, etc to be diffed (take 2) (Contributed by rpav)

Change 3303733 on 2017/02/15 by Matt.Kuhlenschmidt

	PR #3248: Fix for TAssetSubClassOf properties reset on undo. (Contributed by StefanoProsperi)

Change 3303823 on 2017/02/15 by Nick.Darnell

	Automation - Continued improvements on screenshots.  Added some fixes to turn off the tonemapper when visualizing buffers.  Fixed several screenshots due to this change.  Adding lightboxes to the reports.  Adding some styling to make things sweeter.

Change 3303937 on 2017/02/15 by Matt.Kuhlenschmidt

	Fix build error

Change 3303982 on 2017/02/15 by Nick.Darnell

	Automation - Making the opening of the image no longer threaded, not really helpful for the IO operation and just makes it harder to follow.

Change 3304058 on 2017/02/15 by Matt.Kuhlenschmidt

	Fix build attempt #2 (not reproducible locally)

Change 3304393 on 2017/02/15 by Matt.Barnes

	Submitting test content for UEQATC-3548

Change 3304517 on 2017/02/15 by Nick.Darnell

	Slate - Making some fixes to the automatic disabling of the pixel snapping code with render transforms.  Sometimes it gets confused, we may want to move to a seperate transform stack for layout and render, and make sure the element drawer has access to both.

Change 3304560 on 2017/02/15 by Nick.Darnell

	UMG - SA fix.

Change 3304890 on 2017/02/15 by Matt.Kuhlenschmidt

	PR #3220: UE-41243: Force resolution in standalone if large than primary workin. (Contributed by projectgheist)

Change 3305360 on 2017/02/15 by Arciel.Rekman

	Linux: fix crash on exit (UE-41907).

	- It is not safe to dereference UAnimGraphNode_PoseDriver::StaticClass during the final shutdown sequence since the instance has already been destroyed in StaticExit().

Change 3306023 on 2017/02/16 by Nick.Darnell

	Paper2D - Adding a method to create SlateBrushes from PaperSprites the same way we can for materials and textures in blueprints.

Change 3306030 on 2017/02/16 by Nick.Darnell

	Slate - Making some additional fixes to invalidation panels from a game branch.  Adding a RoundToVector function to FVector2D, fixing the 3 places we defined a RoundToInt (which wasn't a great name since the convention wasn't meant to be used that way).

Change 3306031 on 2017/02/16 by Nick.Darnell

	Slate - Retainer widgets no longer tick using PreTick on SlateApplication, they now paint during their normal paint.

Change 3306046 on 2017/02/16 by Nick.Darnell

	UMG - Adding CanEditChange to WidgetComponent to gray out the CylinderArcAngle property unless you select the right geometry mode.

Change 3308887 on 2017/02/17 by Matt.Kuhlenschmidt

	Fix crash if blurs are rotated

	#jira UE-42037

Change 3309114 on 2017/02/17 by Jamie.Dale

	Unifying non-shaped text to use the same atlas cache as shaped text

Change 3310044 on 2017/02/17 by Matt.Kuhlenschmidt

	Outline color on text elements is now inherited properly

	#jira UE-40691

Change 3310268 on 2017/02/17 by Matt.Kuhlenschmidt

	Guard against rendering MIDs with potentially no parent in slate.

	#jira UE-42047

Change 3311531 on 2017/02/20 by Michael.Dupuis

	#jira UETOOL-1100:
	Add the possibility to have dynamic min/max slider value
	Synchonize all Color vector together when changing the min/max slider value

Change 3311534 on 2017/02/20 by Michael.Dupuis

	incremental build fix

Change 3311535 on 2017/02/20 by Michael.Dupuis

	incremental build fix take 2...

Change 3311743 on 2017/02/20 by Michael.Dupuis

	buildfix lunix incremental

Change 3312496 on 2017/02/20 by Arciel.Rekman

	Linux: fix PhysX crash in i686.

	- Changed layout to one that works.

Change 3313127 on 2017/02/20 by Jamie.Dale

	Fixed crash when performing a non-async cooked package save

	It isn't safe to call TotalSize on the BulkArchive when it's not a FBufferArchive (as used during async save) once the archive has been closed.

Change 3313990 on 2017/02/21 by Nick.Darnell

	Automation - Added a summary area at the top of the report.

Change 3314034 on 2017/02/21 by Jamie.Dale

	Fixed crash when deleting a streamed font

Change 3314942 on 2017/02/21 by Nick.Darnell

	Automation - More templating styling work.

Change 3315080 on 2017/02/21 by Nick.Darnell

	Automation - Providing a way for users to remove explict events from the event log when automated tests run.  Needed for other systems linked into the automation system like google mock.

Change 3315452 on 2017/02/21 by Nick.Darnell

	Json - Adding support for Map and Set properties to the JsonObjectConverter.  Can now save out map and sets.  No support for loading them yet.

Change 3315614 on 2017/02/21 by Nick.Darnell

	Json - Adding support for loading sets and map json data.

Change 3315924 on 2017/02/21 by Arciel.Rekman

	Vulkan: edigrating various Linux fixes by Josh.

	- This is to make Linux Vulkan work in Dev-Editor easier (for the contractor and myself).

	Original descriptions:

	CL 3313445
	- Various Vulkan fixes:
	  - Compiles in Linux
	  - Many cubemap bugs squashed
	  - Changed the scratch reflection cubemap clear to SetRenderTargestsAndClear, instead of SetRenderTarget() / Clear()
	  - Added compute fences

	CL 3314152
	- Fixed compile error on Mac, but I am pretty sure we can just remote VulkanRHI from Mac building entirely, but needs to be tested.

Change 3316741 on 2017/02/22 by Jamie.Dale

	Ensure that enums used by BP nodes have been PostLoaded so they have the correct display names

	#jira UE-42253

Change 3316800 on 2017/02/22 by Matt.Kuhlenschmidt

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

Change 3317058 on 2017/02/22 by Alexis.Matte

	Fix the scene importer to support correctly the obj file format
	#jira UE-35606

Change 3318039 on 2017/02/22 by Arciel.Rekman

	i686 support: added missing libwebsockets.

Change 3318095 on 2017/02/22 by Arciel.Rekman

	i686 support: Oodle.

Change 3319002 on 2017/02/23 by Michael.Dupuis

	#jira UE-41794 : Do not exit the landscape mode when doing undo from the creation of the landscape

Change 3319012 on 2017/02/23 by Alexis.Matte

	PR #3066: Improve asset import by permitted relative paths and easing editing of mapped mount points. (Contributed by paulevans)
	#jira UE-40039

Change 3319035 on 2017/02/23 by Nick.Darnell

	UMG - Adding a note about the font sizes in UE4 in Slate, using 96 dpi.

	#jira UE-42170

Change 3319040 on 2017/02/23 by Matt.Kuhlenschmidt

	PR #3278: Git plugin: fix revision number for blueprint diff menu (Contributed by SRombauts)

	#jira UE-42129

Change 3319072 on 2017/02/23 by Michael.Dupuis

	#jira UETOOL-1101: Add support for DetailGroup reset to default
	Right now it's only enable for the color grading

Change 3319077 on 2017/02/23 by Nick.Darnell

	Automation - Moving away from most of the templating being done in C++.  Moving to dust.js to just do it in the browser window.  The json report file is now the actual source of the information we use to template the resulting report html.  Maaay have to move to doing the templating server side in the future to stream it to the client better, but avoiding that so we don't have to ship a server.  Disabling several places we were taking editor screenshots, none of that code was actually comparing screenshots, it was a hold-over from earlier days.

	PhysX - Fixing a problem with Physx FillInlinePxShapeArray.  Deprecating it, adding FillInlinePxShapeArray_AssumesLocked, and locking places we were assuming it was already locked in the landscape component.

Change 3319088 on 2017/02/23 by Nick.Darnell

	PR #3245: UE-41707: Re-order includes correctly (Contributed by projectgheist)

	#jira UE-41914

Change 3319104 on 2017/02/23 by Michael.Dupuis

	fix incremental build

Change 3319146 on 2017/02/23 by Matt.Kuhlenschmidt

	PR #3292: Git plugin: fix update status on directories broken since UE4.12 (Contributed by SRombauts)

	#jira UE-42272

Change 3319252 on 2017/02/23 by Michael.Dupuis

	fix warning with missing #undef LOCTEXT_NAMESPACE

Change 3319298 on 2017/02/23 by Alex.Delesky

	Removing the Subtitles and SubtitlesEditor modules (it'll eventually be brought back as the Overlay and OverlayEditor modules)

Change 3319388 on 2017/02/23 by Alexis.Matte

	Fbx Importer now find collision model under fbx LOD Group
	#jira UE-42141

Change 3319528 on 2017/02/23 by Michael.Dupuis

	Fixed Undo/Redo to be consistent with other vector modifcation behavior

Change 3319583 on 2017/02/23 by Alexis.Matte

	Fix the sample rate to use the least common multiplier of all keys
	#jira UE-42012

Change 3319705 on 2017/02/23 by Nick.Darnell

	Static Analysis - Fixing sonobjectconverter.cpp(460) : warning C6011: Dereferencing NULL pointer 'ArrayProperty'.

Change 3319711 on 2017/02/23 by Nick.Darnell

	Editor - Adding some checks to make sure the struct we're accessing is still a valid handle.

	#jira UE-42262

Change 3319736 on 2017/02/23 by Alex.Delesky

	Adding Subtitles and SubtitlesEditor to the JunkManifest file.

Change 3319919 on 2017/02/23 by Nick.Darnell

	Automation - Fixing an issue with moving a location that doesn't exist.

Change 3319932 on 2017/02/23 by Alexis.Matte

	Fbx importer, do not apply more then one time the transform option to the scene node.
	#jira UE-42277

Change 3320105 on 2017/02/23 by Nick.Darnell

	Editor - Adding some additional checks to the margin customization.

	#jira UE-42262

Change 3321577 on 2017/02/24 by Jamie.Dale

	Moving Internationalization module from Runtime to Developer

Change 3321625 on 2017/02/24 by Jamie.Dale

	Moving InternationalizationSettings module from Developer to Editor

Change 3321642 on 2017/02/24 by Jamie.Dale

	Moving SCulturePicker from the Localization module to the InternationalizationSettings module

Change 3321734 on 2017/02/24 by Alexis.Matte

	PR #2979: Fix extra root bone for Blender exported FBX. (Contributed by manmohanbishnoi)
	We fix the extra root only when the file creator is from blender and the root node is named armature. We cannot simply remove all dummy node, since this is use by the rigid mesh workflow.

	#jira UE-39050

Change 3321912 on 2017/02/24 by Jamie.Dale

	Split LocalizationCommandletExecution out of the Localization module to remove some editor dependencies

Change 3322274 on 2017/02/24 by Jamie.Dale

	Moving Localization module from Editor to Developer, and merging the Internationalization module into it

	Removed hard-dependency between Engine and Localization/Internationalization via an interface.

Change 3322774 on 2017/02/25 by Jamie.Dale

	Unifying LocRes and LocNat file format between generation and loading

	This lets the code in Core be shared by Localization, and allows some code that was proxying via archives (due to the code being logically identical, but different C++ types) to use these new types directly.

	#tests Built Debug, Shipping, and Editor. Verified that LocNat and LocRes generation and loading worked as before.

Change 3322795 on 2017/02/25 by Jamie.Dale

	Fixing mismatch between SOURCE_CONTROL_WITH_SLATE and its .Build.cs file

	The define was set to disable Slate for Linux program targets only, but the .Build.cs disabled Slate for all Linux targets.

	Since the define was touched most recently (CL# 2534983), I updated the .Build.cs file to match its logic, and moved the definition of the define to the .Build.cs file so that they stay in sync with one another.

Change 3322853 on 2017/02/25 by Jamie.Dale

	Moved the conflict and word count reporting to FLocTextHelper

Change 3323089 on 2017/02/26 by Jamie.Dale

	Added functions to get the target name and path from FLocTextHelper

Change 3323391 on 2017/02/27 by Ben.Cosh

	This fixes an issue with blueprint config variables having their value destroyed by CDO serialization
	#Jira UE-40586 Blueprint variable defaults set from config files value are overwritten by CDO serialization
	#Proj Engine, CoreUObject

Change 3323406 on 2017/02/27 by Ben.Cosh

	Fixed a problem that caused UK2Node::ExpandSplitPin to destroy pins it didn't own in when expanding a collapsed graph during compilation.
	#jira UE-41211 - Crash when splitting a UDS pin on a collapsed graph
	#Proj BlueprintGraph

Change 3323572 on 2017/02/27 by Nick.Darnell

	Automation - Continued itteration on the style of the automation reports, now with attentional info, like where the log came from.

	Automation - Fixing a bug in the functional actor tests, navigating to the actors sometimes opened other objects in the package, now it only opens the map.  Also improved the way we focus the actor so that the level editor is also brought to the foreground.

	Automation - Fixing a bug in how the automation system was registering for capturing logging.  It was swapping out GWarn for its own version, but GWarn isn't called for anything that isn't an error or warning, meaning that none of the Display/Logging or analytics capture attempts were actually working.  Suddenly a flood of informations started being captured during tests.  For now - only going to capture 'Display' logs instead of 'Log' level.

	Automation - Successful comparisons now print more information so that the automation logs do a better job of tracking the flow of the test.

	Automation - The screenshot comparison test now prints more information even during successful comparisons.

	Editor - The message log no longer emits a SetSelection, just because the selection is updated the categoriry view model.  This was causing things like the automation tool, which sets the selection every time (which may itself be an issue) to completely rebuild the message log every time a new automation message was emited.  The message log now checks if the selection would actually change the viewstate before it does it.

	Domino Test - Adding an arrow to visualize the state of the up vector the test is looking for; playing with idea for test visualizers that may help with debugging in the future.

Change 3323580 on 2017/02/27 by Michael.Trepka

	Fixed some Xcode 8.3 compile errors

Change 3323634 on 2017/02/27 by Nick.Darnell

	Build - Fix incremental build.

Change 3323740 on 2017/02/27 by Jamie.Dale

	Adding #error if the SOURCE_CONTROL_WITH_SLATE define is missing

Change 3323865 on 2017/02/27 by Nick.Darnell

	Automation - Disabling the screenshot from the small editor icons test, until the editor screenshot method starts comparing things, and the screenshots we take are better / more scoped.

Change 3324228 on 2017/02/27 by Jamie.Dale

	Can no longer name assets or folders with a leading underscore

	#jira UE-40541

Change 3324429 on 2017/02/27 by Jamie.Dale

	Removing FLocTextTargetPaths

	It was added to support something that I'm now going to do a different way.

Change 3324473 on 2017/02/27 by Jamie.Dale

	Moved the GatherText SCC utils into the Localization module

Change 3324481 on 2017/02/27 by Jamie.Dale

	Moving the localized asset utils out of GatherText base

Change 3324485 on 2017/02/27 by Jamie.Dale

	Cleaning up some includes now that the localization SCC is no longer in GatherText

Change 3324910 on 2017/02/28 by Nick.Darnell

	Slate - Moving the SlateRotatedRect into its own file, and removing FSlateRotatedClipRectType, since there's no longer a difference and we only use FSlateRotatedRect.

Change 3325329 on 2017/02/28 by Michael.Dupuis

	#jira UE-42083: Removed various Modify(true) that would force user to save the levels even if they did'nt really modified them
	Replace TMap<TLazyObjectPtr,...> as it would dirty the level at every Find performed

Change 3325410 on 2017/02/28 by Michael.Dupuis

	missing include for incremental build

Change 3325415 on 2017/02/28 by Nick.Darnell

	UMG - Adding some setters and getters for RedrawTime to the WidgetComponent.

Change 3325418 on 2017/02/28 by Nick.Darnell

	Automation  - Fixing the warnings on startup about smoke tests taking longer than 2s.  Had to add an option to disable capturing the callstack when running smokes, it adds a bit too much overhead during startup.

Change 3325698 on 2017/02/28 by Alexis.Matte

	Put back the code to isolate material versus section in the skeletal mesh. The code was override by a temporary hack done in paragon branch

Change 3325790 on 2017/02/28 by Michael.Trepka

	Copy of CL 3319588

	Fixed address sanitizer support in MacToolChain (Apple changed the name of the env variable Xcode uses to enable it) and added support for thread sanitizer

Change 3326118 on 2017/02/28 by Alexis.Matte

	Add LOD settings LOD distances to fbx import dialog option. The option are not supported yet by the scene importer
	#jira UE-41291

Change 3326183 on 2017/02/28 by Alexis.Matte

	PR #3298: Import SpecularFactor for Roughness and Shininess for Metallic textures (Contributed by VladimirPobedinskiy)

	#jira UE-42301

Change 3326196 on 2017/02/28 by Jamie.Dale

	Force the correct package localization ID when duplicating a BP for nativization

Change 3327037 on 2017/03/01 by Michael.Dupuis

	fixed fortnite mac non editor build

Change 3327483 on 2017/03/01 by Jamie.Dale

	Renaming LocNat to LocMeta

Change 3327486 on 2017/03/01 by Jamie.Dale

	Renaming LocNat to LocMeta

Change 3327541 on 2017/03/01 by Michael.Trepka

	Removed Mac OpenGL RHI files and disabled building of OpenGL RHI on Mac

Change 3328000 on 2017/03/01 by Nick.Darnell

	Automation - Noisy rendering features are now disabled by default when taking screenshots.

Change 3328323 on 2017/03/01 by Michael.Trepka

	Copy of CL 3307526

	Fixed mouse position issues in fullscreen mode on Mac

Change 3328410 on 2017/03/01 by Alexis.Matte

	Remove unwanted option when importing skeletal mesh
	Make the FBX tests uptodate with the new ImportUI options

	#jira UE-41291

Change 3329586 on 2017/03/02 by Jamie.Dale

	Adding missing includes when running with bUseMallocProfiler enabled

Change 3329999 on 2017/03/02 by Nick.Darnell

	UMG - Removing a deprecated 4.8 function to get the label on UWidget.

Change 3330004 on 2017/03/02 by Nick.Darnell

	UMG - Adding TargetPlatform to the dependencies of UMGEditor module.

Change 3330021 on 2017/03/02 by Nick.Darnell

	UMG - Adding TargetPlatform to the private include path of the UMG module.

Change 3330041 on 2017/03/02 by Nick.Darnell

	Engine - Adding a comment to the PreLoadMap call so people know what the string being passed in is.

Change 3330048 on 2017/03/02 by Nick.Darnell

	Editor - Don't allow querying the cursor in the editor viewport while saving packages.  Depending upon the code that gets triggered, it may cause packages to load, or things to be initialized while saving is occuring.

Change 3330602 on 2017/03/02 by mason.seay

	Map for Functional Screenshot Test Bug

Change 3330632 on 2017/03/02 by Alexis.Matte

	Fix fbx crash when there is only one UVChannel but using the naming convention to place it further then the first index

Change 3330862 on 2017/03/02 by Jamie.Dale

	Adding FPaths::SetExtension

	This is like FPaths::ChangeExtension, but also applies the extension if the file doesn't have one.

Change 3331491 on 2017/03/03 by Nick.Darnell

	Automation - Fixing a threading issue in the SAsyncImage, it was accessing potentially bogus memory if the Widget had been deleted before the task ran.

Change 3331498 on 2017/03/03 by Nick.Darnell

	Build - Fixing a build warning.

Change 3331807 on 2017/03/03 by Nick.Darnell

	Automation - Making the Disable Noisy Rendering Features more robust, disabling a few more markers.  Adding a better way of rolling back the changes.

Change 3331999 on 2017/03/03 by Michael.Trepka

	Fixed a memory leak on texture creation with BulkData in OpenGLTexture.cpp

Change 3332481 on 2017/03/03 by Arciel.Rekman

	Fix building lighting in commandlet (UE-42551).

	- Process task graph while running as commandlet.
	- Also, if for any reason - like the lack of -messaging - local swarm interface fails to initialize or takes too much time to send the message, bail out.

Change 3332606 on 2017/03/04 by Jamie.Dale

	Fixing crash reporting loc word counts when the report is starting empty

Change 3332614 on 2017/03/04 by Jamie.Dale

	Fixed text namespaces being treated as case-insensitive when export to JSON manifests and archives

Change 3332619 on 2017/03/04 by Jamie.Dale

	Fixing CIS error

Change 3333000 on 2017/03/06 by Matt.Kuhlenschmidt

	PR #3295: Non-editable FStringAssetReference using VisibleAnywhere (Contributed by projectgheist)

	#jira UE-42284

Change 3333039 on 2017/03/06 by Alexis.Matte

	Make custom ui for FbxSceneImportData object
	#jira UE-37896

Change 3333047 on 2017/03/06 by Nick.Darnell

	UMG - Removing an extra assignment in WidgetSwitcher.

Change 3333056 on 2017/03/06 by Alexis.Matte

	Build fix

Change 3333073 on 2017/03/06 by Matt.Kuhlenschmidt

	Added more logging for when window creation fails due to too many windows.

	#jira UE-42478

Change 3333081 on 2017/03/06 by Matt.Kuhlenschmidt

	PR #3327: Git Plugin: fix RunDumpToFile() to check git ReturnCode (Contributed by SRombauts)

	#jira UE-42535

Change 3333103 on 2017/03/06 by Matt.Kuhlenschmidt

	PR #3336: UE-42407: using GetWindowMode instead of switching on IsFullscreenViewport (Contributed by stefanzimecki)

	#jira UE-42407, UE-42565

Change 3333142 on 2017/03/06 by Jamie.Dale

	Added a way to view/copy a list references (including those that aren't loaded) to the reference viewer

Change 3333443 on 2017/03/06 by Matt.Kuhlenschmidt

	Eliminate the usage of SWebBrowser to show viewport controls in level viewports. There is an non-trivial startup cost initializing CEF and is not worth paying that cost on editor startup for one tiny control.  The button now opens a web page on click.

	#jira UE-42461
	PR #3314: Drop UE4Editor -> CEF dependency to 2x speedup Linux UE4Editor startup (Contributed by slonopotamus)

Change 3333914 on 2017/03/06 by Matt.Kuhlenschmidt

	Remove double middle mouse click to change to perspective view

	#jira UE-42444

Change 3333936 on 2017/03/06 by Matt.Kuhlenschmidt

	Fixed excessive fname initialization in these files

Change 3334063 on 2017/03/06 by Alexis.Matte

	fix build linux

Change 3334166 on 2017/03/06 by Jamie.Dale

	Adding Data Table export/import support for TMap and TSet

	#jira UE-42415

Change 3334459 on 2017/03/06 by Alexis.Matte

	PR #3334: Respect bForceFrontXAxis option when exporting to FBX (Contributed by rajkosto)

	#jira UE-42563

Change 3335132 on 2017/03/07 by Jamie.Dale

	Fixing typo

Change 3335140 on 2017/03/07 by Jamie.Dale

	Fixing CSV import warnings in GameplayEffects test

Change 3335164 on 2017/03/07 by Alexis.Matte

	Avoid selecting skeletal mesh section in the level when high light them in persona editor
	#jira UE-20151

Change 3335186 on 2017/03/07 by Jamie.Dale

	Fixed CSV parser missing empty cells at the end of the string

Change 3335218 on 2017/03/07 by Arciel.Rekman

	SDL2: delete unused project/build files.

Change 3335222 on 2017/03/07 by Arciel.Rekman

	SDL2: delete more unused project/build files.

Change 3335230 on 2017/03/07 by Matt.Kuhlenschmidt

	Additional fixes for blur and blur slot not propagating padding to each other

	#jira UE-42553

Change 3335896 on 2017/03/07 by Jamie.Dale

	ToolTips and Engine were double gathering the same meta-data

	#jira UE-36480

Change 3336009 on 2017/03/07 by Matt.Kuhlenschmidt

	Fix details panels becoming unusable if "Show only Modified Properties" is enabled and there are no modified properties

Change 3336247 on 2017/03/07 by Jamie.Dale

	Selection height is now the max of the line height and text height to account for negative line scaling

	#jira UE-40673

Change 3336253 on 2017/03/07 by Jamie.Dale

	Added a setting to control whether we should use the font metrics or the bounding box when laying out a font

	#jira UE-41074

Change 3336303 on 2017/03/07 by Arciel.Rekman

	Refactor of OS memory allocation functions.

	- Bring PageSize/OSAllocationGranularity in line with the established definitions.
	  - PageSize is a hardware mapping granularity that is also used for PageProtect() and any other functions that involve setting virtual memory properties.
	  - OSAllocationGranularity is a virtual address allocation granularity that on some platforms may be applied on top of that (notably VirtualAlloc in Windows only returns addresses that are 16 page aligned).
	  - BinnedPageSize and BinnedAllocationGranularity are the values expected by Binned and Binned2 for size and the alignment of OS allocations.

	- Disable the logic in CachedOSPageAllocator that allowed buffers larger than the requested size to be returned.
	   - This caused wrong allocation size to be passed in BinnedFreeToOS() from Binned2.

	- Make Binned2 work on Linux
	    - Addresses returned from BinnedAllocFromOS() need to be BinnedPageSize (minimum 64KB) aligned for Binned2 to work. This results in the need to artificially align mmap()'d addresses, at some performance cost.
	    - The same function can be used on other systems with mmap()/munmap() (Mac, Android, iOS)

	- Switch Linux to Binned2 by default.

	- Add ability to sanity-check OS memory allocations.
	   - Debug and Development build will store a descriptor to check that values passed to BinnedFreeToOS() are the same (mmap-based allocation only).

Change 3337098 on 2017/03/08 by Michael.Dupuis

	#jira UE-42589: Added a guard if the mesh component is not attached, this can happen when moving a component out of the screen

Change 3337183 on 2017/03/08 by Matt.Kuhlenschmidt

	Hide the preview toolbar button, it is not being used

Change 3337801 on 2017/03/08 by Michael.Trepka

	Fixed some module dependencies to make sure we don't build OpenGLDrv on Mac

Change 3338373 on 2017/03/08 by Joe.Graf

	Fixed external plugin cooking and deployment by remapping plugin directories upon cook & deployment
	Tested directory structures:
	    D:\SomePluginDir
	    D:\UE4\AnotherPluginDir
	    D:\UE4\Engine\Plugins
	    D:\UE4\MyProject\Plugins

Change 3338482 on 2017/03/08 by Alexis.Matte

	Remove "BlueprinReadOnly" flag on "WITH_EDITORONLY_DATA" class variable

Change 3338679 on 2017/03/08 by Matt.Kuhlenschmidt

	Fixed arrow keys not working to navigate between elements in the details panel

Change 3339086 on 2017/03/09 by Dmitriy.Dyomin

	Added: Mobile friendly slate settings

Change 3339366 on 2017/03/09 by Nick.Darnell

	Build - Attempting to fix build.

	#jira UE-42675

Change 3339506 on 2017/03/09 by Jamie.Dale

	Fixing Linux Server build error

	#jira UE-42675

Change 3340450 on 2017/03/09 by Cody.Albert

	Ensure that the hittest grid is valid before trying to find a focusable widget

Change 3340492 on 2017/03/09 by Arciel.Rekman

	Fix IOS compile error (UE-42695).

Change 3340565 on 2017/03/09 by Arciel.Rekman

	Fix another compile error (UE-42695).

Change 3341527 on 2017/03/10 by Alexis.Matte

	Fix crash when dragging a re-import scene and there is new asset created
	#jira UE-42766

[CL 3341914 by Nick Darnell in Main branch]
2017-03-10 15:37:02 -05:00
Ben Marsh
111ec7adc5 Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3314870)
#lockdown Nick.Penwarden

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

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

	Seperate pak cache granularity from pak signing chunk size

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

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

	#jira UE-41478

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

	IncludeTool: Merging fixes.

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

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

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

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

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

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

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

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

	Log verbosities made more readable in the debugger.

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

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

	#fyi marc.audy

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

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

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

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

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

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

	#jira UE-33953

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

	UBT: Move the FileFilter class into UnrealBuildTool.

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

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

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

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

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

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

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

	#fyi robert.manuszewski,ben.marsh

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

	UGS: Set the correct result from running custom tasks.

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

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

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

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

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

	PLATFORM_HAS_DEFAULTED_OPERATORS fixed.
	Other obsolete compiler switches removed.

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

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

	#fyi robert.manuszewski

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

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

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

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

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

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

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

	UnrealCodeAnalyzer removed.

	#fyi ben.marsh,robert.manuszewski

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

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

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

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

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

	Attempt to get Nativization and EDL working without warnings

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

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

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

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

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

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

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

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

	#fyi ben.zeigler

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

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

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

	#jira UE-42055 Second half of matinee redirector fix

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

	Reimplementing CL#3305808 from 4.15

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

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

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

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

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

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

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

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

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

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

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

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

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

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

	Fixes/improvements for mod editor and code mods:

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

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

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

	#jira UE-42052

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

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

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

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

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

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

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

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

	#jira UE-41951

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

[CL 3315211 by Ben Marsh in Main branch]
2017-02-21 15:51:42 -05:00
Ben Marsh
5275490168 Copying //UE4/Dev-Build to //UE4/Dev-Main (Source: //UE4/Dev-Build @ 3277940)
#lockdown Nick.Penwarden
#rb none

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

Change 3233612 on 2016/12/13 by Ben.Marsh

	UGS: Fix cases where precompiled binaries are submitted for a content change.

Change 3235584 on 2016/12/14 by Ben.Marsh

	UBT: Deprecate the overridable TargetRules.ShouldUseSharedBuildEnvironment() function; targets should specify which build environment to use by setting the BuildEnvironment field in their constructor instead.

Change 3235741 on 2016/12/14 by Ben.Marsh

	UBT: Deprecate the SetupBinaries() callback on the TargetRules class. Instead of overriding this, targets may override their launch module through the "LaunchModuleName" property in their constructor, and add extra modules to the "ExtraModuleNames" field on the TargetRules object itself.

Change 3238176 on 2016/12/16 by Ben.Marsh

	UBT: New XML config file parser. Now reads once at startup and can be applied to instanced objects rather than global fields, and caches parsed output in a binary form for quicker initialization on subsequent runs.

Change 3238249 on 2016/12/16 by Ben.Marsh

	UBT: Add attribute-driven command line parser.

Change 3238462 on 2016/12/16 by Ben.Marsh

	UBT: Include the Platform, Configuration and Architecture on the TargetRules. Add a constructor which takes the TargetInfo object and deprecate the parameterless one; these fields are currently initialized before invoking the constructor in RulesAssembly.

Change 3238564 on 2016/12/16 by Ben.Marsh

	UBT: Deprecate the ModuleRules constructor which takes a TargetInfo argument. Replace it with a read-only wrapper around the target rules instead, so target-specific configuration options can be read without needing to access global static variables. Also require that it's passed to the base class constructor.

Change 3239919 on 2016/12/19 by Ben.Marsh

	UBT: Remove the "PreferredSubPlatform" property. This is only used for Windows XP support, which is being retired anyway. Having the target define its own architecture is an awkward contractiction to maintain support for, since the target rules are constructed after the architecture already has been determined.

Change 3240061 on 2016/12/19 by Ben.Marsh

	UBT: Remove ThirdPartyHeaderFinder. I don't think anything is using this any more.

Change 3240175 on 2016/12/19 by Ben.Marsh

	UBT: Add the target name and project file location to the target rules.

Change 3240490 on 2016/12/19 by Ben.Marsh

	UAT: Remove Mac staging code that requires UAT to compile and construct .target.cs files when packaging, to check bUseSteam and bUseCEF3 flags. libsteam_api.dylib is now staged at build time by adding it as a bundle resource, CEF3 is already marked as a runtime dependency by CEF3.build.cs, and UnrealCEFSubProcess.app is already marked as a runtime dependency from WebBrowser.build.cs.

Change 3240717 on 2016/12/20 by Ben.Marsh

	UAT: Allow configuring UAT to run as if on a build machine by passing the -buildmachine argument on the command line.

Change 3240718 on 2016/12/20 by Ben.Marsh

	UAT: Remove target-specific properties that are no longer used by staging (bUsesSlate, bUsesCEF3, etc...). This stuff should all be handled inside UBT.

Change 3241002 on 2016/12/20 by Ben.Marsh

	UBT: Move most target configuration settings from UEBuildConfiguration to TargetRules. This encapsulates target specific settings that will allow instancing multiple targets in the future. To facilitate migration of settings to their new location, "UEBuildConfiguration" is now a property that returns the current target rules instance.

Change 3241027 on 2016/12/20 by Ben.Marsh

	Only copy the Steamworks dylib into the app bundle for monolithic builds. For all other times, just add it as a runtime dependency.

Change 3241055 on 2016/12/20 by Ben.Marsh

	UBT: Only store a ReadOnlyTargetRules object on the instanced build target; finalize the configuration before it's instantiated.

Change 3241156 on 2016/12/20 by Ben.Marsh

	Update SwarmInterface.csproj to .NET framework 4.5, to match what all other C# tools are using.

Change 3241205 on 2016/12/20 by Ben.Marsh

	Replace all uses of TargetRules.TargetType with TargetType.

Change 3241881 on 2016/12/21 by Ben.Marsh

	UBT: Remove project file information from UEBuildContext base class. As configurable properties are moved on to the TargetRules object, it will no longer be a dependency to instantiate the platform with this path.

Change 3241895 on 2016/12/21 by Ben.Marsh

	UBT: Remove toolchain support for Windows XP.

Change 3241908 on 2016/12/21 by Ben.Marsh

	UBT: Move settings for windows targets into a WindowsTargetRules class, which is exposed for targets to modify via the TargetRules.WindowsPlatform field.

Change 3242835 on 2016/12/22 by Ben.Marsh

	UBT: Fix multiple binaries being created if plugins specify module names more than once. MfMedia.uplugin has MfMediaFactory listed twice.

Change 3242837 on 2016/12/22 by Ben.Marsh

	Change UE4EditorServices to include MacSystemIncludes rather than Cocoa.h directly; causes FVector to be defined incorrectly in non-unity builds.

Change 3242923 on 2016/12/22 by Ben.Marsh

	Build: Fixes for conforming incremental workspaces:

	* P4 have table is now reset before deleting all the files. This prevents Perforce being out of sync if the delete fails for some reason.
	* Incremental workspaces are skipped when running a clean operation, because they do not have a workspace capture file (causing a full re-sync, always). The "P4 Clean" option is still effective for cleaning these workspaces.

Change 3242961 on 2016/12/22 by Ben.Marsh

	UBT: Move entry points from PreBuildSync() and PostBuildSync() from UEToolChain to UEBuildPlatform, and make the original toolchain versions static. These functions are already at odds with the rest of the data flow within UBT because they rely on global state cached outside the toolchain instance, making assumptions that UBT is only ever going to be invoked with one target that's constructed in the same run and that nothing is being cached (eg. UBT makefiles). Moving them onto UEBuildPlatform simplifies the toolchain lifecycle for other platforms without leaving Mac and IOS any more limited than they were before.

Change 3242981 on 2016/12/22 by Ben.Marsh

	UBT: Remove symbol server handling code into UAT's platform library, since it's never needed from inside UBT.

Change 3242999 on 2016/12/22 by Ben.Marsh

	UBT: Remove the StripSymbols() function from the UEToolChain base class. This functionality is only required by UAT, so it's better suited to being exposed through UAT's modular platform classes.

Change 3243022 on 2016/12/22 by Ben.Marsh

	UBT: Require an instance of the target rules to be able to construct a toolchain in UBT. This will allow configuring toolchain-specific options from the target, using reflection from config files, and the command line.

Change 3243083 on 2016/12/22 by Ben.Marsh

	UBT: Move settings for the Windows compiler version to use onto the Windows-specific target rules.

Change 3243090 on 2016/12/22 by Ben.Marsh

	UBT: Change the third party paths in UEBuildConfiguration to constants. Changing these would not work.

Change 3243423 on 2016/12/23 by Ben.Marsh

	UBT: Move a lot of settings from BuildConfiguration to TargetRules. This allows different targets to have different settings, naturally, and moves converts argument parsing and config to be driven by attributes.

Change 3243516 on 2016/12/23 by Ben.Marsh

	UBT: Remove the ValidateUEBuildConfiguration callback, which is no longer used. (XGE settings validation occurs in XGE.cs)

Change 3244020 on 2016/12/28 by Ben.Marsh

	UBT: Remove the BaseIntermediatePath static property. Precursor to removing RelativeEnginePath and IntermediateFolder properties.

Change 3244074 on 2016/12/28 by Ben.Marsh

	UBT: Remove the RelativeEnginePath variable from BuildConfiguration. UnrealBuildTool.EngineDirectory gives the absolute path, and can be used to construct a relative path when necessary.

Change 3244076 on 2016/12/28 by Ben.Marsh

	UBT: Remove BuildConfiguration.BaseIntermediateFolder; just use a fixed directory everywhere instead.

Change 3244083 on 2016/12/28 by Ben.Marsh

	UBT: Replace FileReference and DirectoryReference instance methods for manipulating files and directories with static methods, to mirror the System.IO.File and System.IO.Directory classes.

Change 3244441 on 2016/12/31 by Ben.Marsh

	UBT: Remove code to force PDBs when building with no debug info under XGE. Verified described symptoms (that it causes PCH generation to be serialized) no longer occur.

Change 3244687 on 2017/01/03 by Matthew.Griffin

	Changed Exception to use FirstInclude.IncludeName as PrecompiledHeaderIncludeFilename can be null when this occurs

Change 3246112 on 2017/01/04 by Ben.Marsh

	UBT: Fix UHT failures building some targets with the -useprecompiled option, due to differences in the order that circularly dependent modules are parsed. Precompiled binaries are now kept in the regular AppBinaries list, but are excluded from the build at the last minute. Also change some checks from IsEngineInstalled() to bUsePrecompiled, to prevent headers being overwritten when running in a non-installed precompiled build.

Change 3246223 on 2017/01/04 by Ben.Marsh

	UBT: Prevent version manifests being overridden if a file is not being built as part of the target.

Change 3246387 on 2017/01/04 by Ben.Marsh

	UBT: Remove BuildConfiguration settings for UnrealCodeAnalyzer. This tool isn't used at the moment, but it's configured using global variables accessed from all over the UBT codebase, making it difficult to refactor the build options into an instanced object. If we bring this tool back from the dead in the future, it should be possible to implement it using the exported JSON target definition or the XGE manifest, similarly to how IncludeTool uses it.

Change 3247004 on 2017/01/04 by Ben.Marsh

	UBT: Simplify the logic for cleaning targets in UBT. Now uses FileReference/DirectoryReference objects everywhere, doesn't require the compile/link environment, and does all the checking to avoid deleting precompiled binaries in one place.

Change 3247250 on 2017/01/04 by Ben.Marsh

	UBT: Prevent precompiled binaries being added to the list of app binaries twice.

Change 3247594 on 2017/01/05 by Ben.Marsh

	Build: Run sample and template editors on the same agents as the other incremental builds. Remove ProtoStar, which does not have any non-precompiled editor target to build.

Change 3247763 on 2017/01/05 by Ben.Marsh

	UBT: Allow the toolchain to update the list of build products for each module linked into a binary. Allows Mac to add dylibs and bundle resources specified per-module without having to construct a link environment and try to link them.

Change 3247775 on 2017/01/05 by Ben.Marsh

	UBT: Instance the target compile and link environments when they are required during building, and don't persist them on the UEBuildTarget instance.

Change 3247811 on 2017/01/05 by Ben.Marsh

	EC: Add a batch file for testing postp filters.

Change 3247839 on 2017/01/05 by Ben.Marsh

	EC: Include the name of the file being compiled when parsing MSVC errors and warnings.

Change 3248101 on 2017/01/05 by Ben.Marsh

	UBT: Fix Android support for force included headers.

Change 3248533 on 2017/01/05 by Ben.Marsh

	PR #3097: UBT project supports optional platforms (Contributed by PrimalJohnScott)

Change 3249205 on 2017/01/06 by Ben.Marsh

	UAT: Fix ParseTaggedP4Output throwing an exception if the same key name is specified more than once. This can happen when parsing the output from "P4 INFO", where multiple brokers are present.

Change 3249249 on 2017/01/06 by Ben.Marsh

	UBT: Check for the existance of AndroidManifest.xml within extracted AAR directories, rather than just checking for the existance of the directory itself. Perforce does not remove empty directories when cleaning a workspace unless the rmdir option is on the workspace, so this can cause incremental build failures to fail on build machines.

Change 3249486 on 2017/01/06 by Ben.Marsh

	UBT: Use relative paths in unity files when compiling for Mac/IOS, rather than generating a separate local/remote version of the file for gathering include dependencies. Absolute paths are only used to work around the way that MSVC concatenates paths internally; we don't hit the same problems when checking dependencies.

Change 3249736 on 2017/01/06 by Ben.Marsh

	UBT: Rename CPPEnvironment to CppCompileEnvironment, and remove the separate CPPEnvironmentConfiguration object. All settings are now stored directly on the CppCompileEnvironment object.

Change 3250179 on 2017/01/07 by Ben.Marsh

	Fix creating installed build when root directory contains a space in the name.

Change 3250181 on 2017/01/07 by Ben.Marsh

	UBT: Remove some esoteric (and unused, AFAIK) options for orthogonally building different platforms.

Change 3250223 on 2017/01/07 by Ben.Marsh

	UBT: Merge the LinkEnvironment and LinkEnvironmentConfiguration classes together.

Change 3250233 on 2017/01/07 by Ben.Marsh

	UGS: Allow specifying a workspace-specific sync filter, which is applied on top of the standard filter. Also fix filter being cleared if the cancel button is pressed, and help text being stripped out.

Change 3250241 on 2017/01/07 by Ben.Marsh

	UBT: Move the options for specifying additional Android architectures to target onto an Android-specific object on the TargetRules.

Change 3250400 on 2017/01/08 by Ben.Marsh

	UBT: Move executor config settings onto the executor instances.

Change 3257708 on 2017/01/13 by Ben.Marsh

	UBT: Remove the ThirdPartySourceDirectory constant; there are many places which hard-code or assume this location anyway, and it's not going to change.

Change 3260535 on 2017/01/17 by Ben.Marsh

	Add an optional "RequiredSubmittedChange" setting to EC settings files. Allows a scheduled job to run even if there have been no code changes submitted. Test with the utilization capture job.

Change 3260875 on 2017/01/17 by Ben.Marsh

	EC: Fix workspaces getting out of sync wrt. newly added files when jobs are aborted during a sync. In such cases, the P4 have table indicates the new files have been synced locally, but the workspace is forced back to a state before it had them due to the capture file. When a following sync tries to add them again, P4 believes the workspace already has them synced.

	To work around this, we now write an additional file to the root folder of a workspace containing the last CL that was captured, and sync back to it before doing the reconcile.

Change 3261724 on 2017/01/18 by Ben.Marsh

	Allow filtering job types from the list view in EC. Hide the utilization capture job by default. Also set up notifications for the utilization capture job.

Change 3261756 on 2017/01/18 by Ben.Marsh

	IncludeTool: Prevent matching a full enum declaration as a forward declaration.

Change 3261932 on 2017/01/18 by Ben.Marsh

	EC: Add support for specifying days of the week in schedules. The following syntaxes are supported:

	"Monday, Tuesday and Wednesday at 10:30"
	"Daily except Sunday and Wednesday at 14:30"

	 Also tweak display of dates relative to now to handle dates/times in the future, and include the date when specifying a day name.

	#jira UEB-729

Change 3262676 on 2017/01/18 by Ben.Marsh

	UBT: Split UBTMakefile into its own file. (From PR #3106)

Change 3263893 on 2017/01/19 by Ben.Marsh

	UBT: Stop exporting platform classes from UBT, as well as all the referenced classes that have to be made public as a result. Any platform-specific functionality that needs to be shared with UAT is now exposed through wrappers in separate public classes, eg. WindowsExports.cs, IOSExports.cs, etc...

Change 3264291 on 2017/01/19 by Ben.Marsh

	UBT: Fix errors generating documentation in UBT, and enable it by default. Will catch more errors with new code being added. Originally in PR #3106, but redone due to conflicts.

Change 3264534 on 2017/01/19 by Ben.Marsh

	UBT: Include plugin config files in generated projects.

Change 3264571 on 2017/01/19 by Ben.Marsh

	UBT: Prevent overwriting .modules files if nothing has changed. On builders, it's common to build multiple editors in the same workspace, and changing the last modified timestamp causes BuildGraph to fail due to tampered files.

Change 3265745 on 2017/01/20 by Ben.Marsh

	UGS: Automatically open UGS when running the launcher for a second time, rather than prompting to close the original instance.

Change 3265777 on 2017/01/20 by Ben.Marsh

	UGS: Automatically close and reopen when UGS is re-ran with the shift key held down to switch into unstable mode.

Change 3268314 on 2017/01/23 by Ben.Marsh

	UBT: Make sure version manifests are stable by sorting the list of build products, so they are only touched if the contents have really changed.

Change 3269601 on 2017/01/24 by Ben.Marsh

	UBT: Fix symbol files being added to manifest for some platforms even though debug info is disabled.

Change 3269607 on 2017/01/24 by Ben.Marsh

	UBT: Fix bug where UBT would need to be invoked when switching between two editors sharing the same engine binaries on Mac. The location of the .modules file cannot be guessed on Mac by looking in the same directory as the primary output executable because it's an .app bundle, and the actual modules are nested several directories below that.

Change 3269608 on 2017/01/24 by Ben.Marsh

	UBT: Fix additional files copied into the app bundle always being updated on Mac. Now uses rsync --checksum to make sure only modified files are updated.

Change 3271062 on 2017/01/24 by Ben.Marsh

	UBT: Fixes for bugs detected by PVS Studio (PR #3161)

Change 3272421 on 2017/01/25 by Ben.Marsh

	Fix commends regarding DDC in BaseEngine.ini

	#jira UE-41076

Change 3272810 on 2017/01/25 by Ben.Marsh

	Fix VS2017 being displayed as 'Visual Studio 15' in the Windows target settings panel.

Change 3272935 on 2017/01/25 by Ben.Marsh

	Fix Metal errors launching on Mac due to use of OSX environment settings before they are initialized. Toolchain settings are now constructed on demand in a separate class, for Mac, iOS and TVOS.

Change 3274167 on 2017/01/26 by Ben.Marsh

	Fix resource files not being compiled in installed builds on Windows. Was causing metadata not to be embedded into executables.

	#jira UE-36457

Change 3275557 on 2017/01/27 by Ben.Marsh

	Expand checks for propagation of restricted folder names to include source files, and to ensure that each restricted folder is represented in the output. Also improve messaging to show the dependency chain leading to a restricted folder being referenced, and which folder it is.

Change 3275628 on 2017/01/27 by Ben.Marsh

	UBT: Splitting configuration files into one class per-file.

Change 3276784 on 2017/01/29 by Ben.Marsh

	Add an authoritative list of confidential folder names, and expose it through global BuildGraph properties ($(RestrictedFolderNames) and $(RestrictedFolderFilter)). Also switch existing scripts to use it.

Change 3276792 on 2017/01/29 by Ben.Marsh

	UBT: Use UE4CSharp.prog files to indicate which projects should be included in the solution without having to hard-code a list of them in UBT.

Change 3277263 on 2017/01/30 by Ben.Marsh

	IncludeTool: Merging various fixes.

	* Fix warnings about #include directives after first code block from parsing monolithic headers.
	* Fix exception on startup if the intermediate directory does not already exist.
	* Add a special case for ignoring missing header guards from MonolithicHeaderBoilerplate.h, rather than marking it as an inline header. Marking it as inline prevents parsing include directives, which results in including CoreTypes.h from the wrong location.
	* Create job objects for spawned compiler instances to prevent them trying allocating more memory than the system can spare.
	* Remove (unused) code which makes assumptions about files ending with "Classes.h".
	* Add a verbose per-file output log to aid with debugging.
	* Negate the MakeStandalone command line option, which was added to allow tweaking forward declarations in already optimized files, so the optimized output does not have missing headers by default.
	* Fix missing headers when creating standalone files, due to incorrect list of previous files being passed in to the OutputFile constructor. Now passes the original list of included files, not the output list.
	* Fix initial header for a cpp file sometimes being removed. Forcibly including a header at the start of the file does not use the normal pathway for spidering through includes, so a second include of the same file was being generated. Any includes of that header were being forced into output, and the earlier include was then removed due to being redundant.
	* Prevent forward declaring enums which have to be parsed by UHT. UHT relies on includes to determine a parse order, and will fail if the enum definition has not been parsed first.
	* Use a relative path for private includes in the same module if there are any. Fixes some incorrect paths, and makes it clearer that we're doing something we shouldn't.

Change 3277307 on 2017/01/30 by Ben.Marsh

	UBT: Fix private PCHs not using correct header. Causes custom definitions to be excluded from the command line.

[CL 3278101 by Ben Marsh in Main branch]
2017-01-30 16:52:08 -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
Matt Kuhlenschmidt
e2ba04378b Copying //UE4/Dev-Editor to //UE4/Dev-Main (Source: //UE4/Dev-Editor @ 3133954)
#lockdown Nick.Penwarden
#rb none

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

Change 3077573 on 2016/08/04 by Nick.Darnell

	Removing some unused code, adding additional needed modules to editor tests.

	#rb none

Change 3077580 on 2016/08/04 by Nick.Darnell

	Removing the test plugins, going to be recreating them in EngineTest.

Change 3082659 on 2016/08/09 by Nick.Darnell

	Automation - Presets are now stored in json files stored in Config so they can be shared, and human readable.  Working on screenshot automation, getting it where it needs to be to permit us to have repeatable tests for comarison.  Removing the option to not take full size screenshots, that defeats the purpose of being able to compare them.

	#rb none

Change 3082766 on 2016/08/09 by Jamie.Dale

	Fixed crashes when dealing with code-points outside the BMP on platforms with UTF-32 FStrings

	ICU always deals with its offsets as UTF-16 (as it always uses UTF-16 internally with icu::UnicodeString), so there were a couple of places in code (break iteration, and bidi detection) where we needed to adjust those UTF-16 offsets to UTF-32 offsets in the case where FString is UTF-32.

	#jira UE-33971
	#rb James.Hopkin

Change 3083067 on 2016/08/09 by Nick.Darnell

	Automation - Working on screenshot support, system now allows a lot more customization in terms of how large the shot is.

	#rb none

Change 3084475 on 2016/08/10 by Richard.TalbotWatkin

	Fixed issue with ModelComponent replication in client/server PIE if BSP is rebuilt. ModelComponent now implements IsNameStableForNetworking and always returns true, as a level's model components will never be rebuilt during a game session. Brush poly normals are now only fixed up in Editor builds.
	#jira UE-34391 - No run animation on client that is not focused when running 2 player and dedicated server
	#codereview Matt.Kuhlenschmidt
	#rb none

Change 3084661 on 2016/08/10 by Matt.Kuhlenschmidt

	Added grayscale texture importing support

	#rb none

Change 3084774 on 2016/08/10 by Cody.Albert

	Adding controller support for ComboBox widget

	#jira UE-33826
	#rb nick.darnell

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

	UMG - Taking the Widget Component and Widget Interaction Components out of experimental.  Removed old importing support for upgrading ancient versions of widget components.  Removing parbola distortion, as users can now do whatever they want in their custom MID they can override the widget with.

	#rb none

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

	UMG - Documenting the meta parameters allowed on widgets, like we do for regular UObjects.  For binding widgets from blueprints you can now do BindWidget (unchanged), and to simplify binding widgets optionally, you can now just do (BindWidgetOptional), rather than the combination of BindWidget + OptionalWidget=true.  Made generating the Design time wrapper call a little more efficent, by optimizing it away by force inlining a noop.  Also added some additional checking when we forcefully set focus in UMG, to help people catch cases where they set focus, but didn't make the widget focusable.

	#rb none

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

	Texture - Making GetDefaultMipMapBias a bit more efficent in the common case.

	#rb none

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

	Static Lighting - Warning the user when they build lighting, but have bForceNoPrecomputedLighting set to true on the world settings.

	#rb none

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

	Editor - code organization.

	#rb none

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

	UMG - You can now use 'G' to toggle game mode on the designer so that you can disable and enable the dashed lines around containers.  The option in the settings is now used as the default when you startup a designer.

	#rb none

Change 3086209 on 2016/08/11 by Ben.Salem

	Make our automated test pass reporting more robust and pipe out to JSON in \saved\automation\logs\AutomationReport-{CL}-{Timestamp}.json format.
	#rb adric.worley, william.ewen

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

	Editor - Fixing a crash in the curve table customization.  If the row doesn't exist, it would crash, we now protect against that case.

	#rb Matt.Kuhlenschmidt

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

	Fixed an issue where re-scanning a package file may leave old assets in the asset registry

	We didn't used to clear out anything associated with the old package before scanning the file, which could result in old assets being left if they'd since been removed from the package.

	This also exposes a PackageDeleted function to allow people to manually clear anything associated with a package (if doing some custom asset work).

	#rb Andrew.Rodham

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

	Updated TextRenderComponent to support multiple font pages

	It used to use the correct UV data, but wouldn't set the correct texture page when rendering. It now creates MIDs for all of the texture pages used by the font, and will use these MIDs (which override the font page on the material) when rendering the text (batched on sequential index/vertex buffer data with the same texture page).

	#rb Matt.Kuhlenschmidt

Change 3087308 on 2016/08/12 by Alex.Delesky

	#jira UE-14727  - Support for editing TSet properties in the editor's Details panel has been added.

	#rb Matt.Kuhlenschmidt

Change 3089140 on 2016/08/15 by Jamie.Dale

	We now abort a directory watch if we lose access to the directory in question

	This prevents an infinite loop in the call to MsgWaitForMultipleObjectsEx if a watched directory is deleted.

	#jira UE-30172
	#rb Andrew.Rodham

Change 3089148 on 2016/08/15 by Alexis.Matte

	Allow fbx export of any actor type.
	#rb none
	#codereview dmitriy.dyomin

Change 3089211 on 2016/08/15 by Jamie.Dale

	Unified access to the parent window for external dialogs

	A lot of places used to ad-hoc use the MainFrame window, even when they had access to a widget that may be belong to a different window. This could cause issues where an external dialog could appear behind a modal UE4 window (as it would appear above the MainFrame), and be inaccessible.

	You can now use IMainFrameModule::GetBestParentWindowHandleForDialogs to get the best window handle to use for an external dialog. This will either be the parent window for the given widget (if known), or failing that, the MainFrame window.

	#rb Andrew.Rodham

Change 3089640 on 2016/08/15 by Jamie.Dale

	Wrapped UMaterialExpression::MenuCategories in WITH_EDITORONLY_DATA to avoid gathering it for game-only loc

	#rb none

Change 3089661 on 2016/08/15 by Nick.Darnell

	Editor - There's a new view option "Show C++ Classes" in the content browser.  Lets you hide all those C++ folders most folks probably don't care to see.

	#rb none

Change 3089667 on 2016/08/15 by Cody.Albert

	Updating RoutePointerUpEvent to call OnDrop for touch events when dragging

	#jira UE-34709
	#rb nick.darnell

Change 3089694 on 2016/08/15 by Jamie.Dale

	Applied a fix to the ExcludeClasses setting in the loc gather

	#rb none

Change 3089889 on 2016/08/15 by Nick.Darnell

	Automation - Continued work on the screenshot portion of the automation system.  Going to start using the adapter information in the screenshots taken, otherwise we can't accurately test a plethora of devices sharing the same OS, with different capabilities.

	#rb none

Change 3090256 on 2016/08/16 by Nick.Darnell

	Automation - working on screenshots.
	#rb none

Change 3090322 on 2016/08/16 by Nick.Darnell

	Automation - Adding modified screenshot function.

	#rb none

Change 3090335 on 2016/08/16 by Nick.Darnell

	Automation - The tests were determined to need to be shared afterall, but at least keeping them as plugins.  Moved to Engine plugins.

	#rb none

Change 3090881 on 2016/08/16 by Nick.Darnell

	Automation - Moving the content over and fixing up some code so that the AutoRimport tests work as expected.

	#rb none

Change 3090884 on 2016/08/16 by Nick.Darnell

	Plugins - There's now support for generating a Content Only plugin from the new plugin wizard.

	#rb none

Change 3090911 on 2016/08/16 by Nick.Darnell

	Feature Packs - If there's an error loading a manifest, it's now an error, not a warning.

	#rb none

Change 3090913 on 2016/08/16 by Jamie.Dale

	Optimization and usability improvements of the MemoryProfiler2 tool

	 - Optimized the processing of the Callgraph, Histogram, and Short lived allocations views.
	    - The callgraph view is now using a virtualized tree view mapped to our own internal tree. This allows us to amortize the cost of adding nodes to the TreeView as the user views the nodes in the tree. In my own test, this took callgraph generation from ~45 seconds to ~5 seconds.
	    - The Histogram view was vastly optimized via the use of a HashSet on the callstack filter, and the batch addition of unsorted callstacks that are sorted once at the end. In my own test, this took histogram generation from ~15 minutes to ~2 seconds.
	    - The Short lived allocations view was optimized by avoiding redundant sorting, including maintaining a sorted order while inserting items, and instead doing a final sort at the end. The column selection was also optimized by avoiding copying the entire dataset just to resort it. In my own test, this took short lived allocation generation from ~1 minute to ~3 seconds.

	 - Added a user-configurable list of allocator functions to trim (which now includes FMemory and operator new by default, and produces much cleaner callstacks).

	#jira UETOOL-948
	#jira UETOOL-949
	#rb James.Hopkin

Change 3090962 on 2016/08/16 by Jamie.Dale

	Fixed double assignment of filter functions

	#rb none

Change 3090989 on 2016/08/16 by Nick.Darnell

	Editor - Attempting to fix the build, non-unity issue I suspect.

	#rb none

Change 3091754 on 2016/08/17 by Nick.Darnell

	FbxAutomationTestBuilder is now a plugin.  Users won't see it unless they've enabled the plugin (so primarily internal QA).  Reorganized the automation tools and testing menu to be a bit lower in the main menu, and gave them a more test sounding name.  Additionally made some modifications to the workspace menu structure to allow generating just a subset of a workplace menu so that I could target where I wanted to insert all of the automation tool menu items, rather than just allowing the general placement of them under developer tools...etc.

	#rb none
	#codereview Alexis.Matte

Change 3091758 on 2016/08/17 by Nick.Darnell

	Slate / Editor - Trying to make the editor less focus greedy.  Now when there are notification popups and tabs attempt to grab your attention we now do a few activation ownership checks to ensure that it or a parent window actually owns activation.  Not doing this has the nasty side effect of things like notifications and message log errors that popup while playing the game (if the game is in new window PIE), causing the game to be hidden, and focus returned to the editor.  Ran into this a lot running the automation tests, the new PIE window that's launched to run tests is immediately hidden as soon as the tests log a warning or error or a notification about high res screenshots happens.

	#rb none

	#codereview Nick.Atamas,Matt.Kuhlenschmidt

Change 3091829 on 2016/08/17 by Nick.Darnell

	Build - Attempting to repair the build.

	#rb none

Change 3091920 on 2016/08/17 by Nick.Darnell

	Build - Another attempt at fixing the mac build.

	#rb none

Change 3093380 on 2016/08/18 by Matt.Kuhlenschmidt

	Ignore group actors when checking for references to other actors when deleting.  The check for references is designed for gameplay affecting references which groups are not.  Having this show up for groups is annoying

	#rb none

Change 3094474 on 2016/08/19 by Jamie.Dale

	Fixed PS4 error when building with USE_MALLOC_PROFILER, and optimized symbol name resolution for a build with USE_MALLOC_PROFILER enabled

	#jira UETOOL-951
	#rb James.Hopkin

Change 3094581 on 2016/08/19 by Jamie.Dale

	Added missing allocator filter needed by PS4 profiles

	#rb none

Change 3094681 on 2016/08/19 by Richard.TalbotWatkin

	Fixed issue where painting override vertex colors on a SpeedTree mesh would cause its wind animation to cease. The OverrideVertexColors vertex factory needed to be registered with the SpeedTree renderer.
	#jira UE-32762 - Custom VertexPaint on SpeedTrees interferes with wind animation
	#rb none

Change 3095163 on 2016/08/19 by Trung.Le

	#jira UE-20849: Added tooltips to the inputs of the Material final result node
	#rb matt.kuhlenschmidt

Change 3095285 on 2016/08/19 by Trung.Le

	#jira UE-20849 In SGraphNodeMaterialResult, renamed ToolTip to ToolTipWidget so we're not hiding class member
	#rb none

Change 3095344 on 2016/08/19 by Alexis.Matte

	#jira UE-34690 When using the optionnal matrix to change the scene root node, we have to flush the fbx evaluation engine.
	Add also a new option to allow the user to automatically convert the fbx scene to unreal unit (centimeter).

	#rb none
	#codereview matt.kuhlenschmidt

Change 3096162 on 2016/08/22 by Alexis.Matte

	#jira UE-34763 Remove offending no-action combo box entry when the json file is readonly. Also clean up other combo box menu.
	#rb none
	#codereview matt.kuhlenschmidt

Change 3096261 on 2016/08/22 by Alexis.Matte

	#jira UE-33121 Make sure re-import all and import all fix all the issue before starting the job. So it get not interrupt during the process.

	#rb lina.halper
	#codereview lina.halper

Change 3096344 on 2016/08/22 by Jamie.Dale

	NSString conversion fix for UTF-32 strings containing characters outside of the BMP

	#jira UE-33971
	#rb Peter.Sauerbrei, James.Hopkin

Change 3096605 on 2016/08/22 by Alex.Delesky

	#jira UE-34787 - Dropdown menus in standalone programs will now correctly display tooltips if they have any.

	#rb Matt.Kuhlenschmidt

Change 3096615 on 2016/08/22 by Alex.Delesky

	#jira UE-33334 - Scrolling up on the mouse wheel when using the orbit camera should no longer move away from the orbit point when the camera moves too close to the orbit origin.

	#rb Matt.Kuhlenschmidt

Change 3096619 on 2016/08/22 by Alex.Delesky

	#jira UE-34084 - Structs containing an enum with a value that contains a whitespace character will now serialize correctly when copied from the Details Panel.

	#rb Matt.Kuhlenschmidt

Change 3097644 on 2016/08/23 by Matt.Kuhlenschmidt

	PR #2729: Fix a typo in the comment (Contributed by adcentury)

	#rb none

Change 3097648 on 2016/08/23 by Matt.Kuhlenschmidt

	PR #2726: Undef unused macros (Contributed by shrimpy56)

	#rb none

Change 3097697 on 2016/08/23 by Matt.Kuhlenschmidt

	Guard against crash when details panels rebuild when their customizations have been torn down

	https://jira.ol.epicgames.net/browse/UE-35048

	#rb none

Change 3097757 on 2016/08/23 by Alex.Delesky

	#jira UE-14727  - Support for editing TMap properties in the editor's Details panel has been added. This change also removes the Duplicate option from TSet elements, and disallows entry of duplicates elements into a TSet or duplicate keys into a TMap

	#rb Matt.Kuhlenschmidt

Change 3098164 on 2016/08/23 by Alexis.Matte

	#jira UE-34686 Fbx importer bImportMeshesInBoneHierarchy is used also by the animation.
	#rb none
	#codereview matt.kuhlenschmidt

Change 3098502 on 2016/08/23 by Alexis.Matte

	#jira UE-30951 Fbx option dialog, we disable the option to bake pivot if transform vertex position is true
	#rb none
	#codereview matt.kuhlenschmidt

Change 3099986 on 2016/08/24 by Jamie.Dale

	Fixing non-editor builds

	#rb none

Change 3101138 on 2016/08/25 by Matt.Kuhlenschmidt

	Fixed viewport redraw callback not being called when certian property modifications occur in the details panel (reset to default, array size changes, etc)

	#rb none

Change 3101280 on 2016/08/25 by Jamie.Dale

	Fixed crash when counting memory over internationalization meta-data

	- The serialization code only used to handle loading or saving, now it handles loading or not loading.
	- The Type of the meta-data wasn't set by all constructors. For safety it has been removed and replaced with a virtual function that the derived types override.

	#rb James.Hopkin

Change 3101283 on 2016/08/25 by Jamie.Dale

	MProf2 platform and symbol parsing improvements

	 - Updated ISymbolParser to work with lazy symbol resolution (handled via the UI when looking at full callstacks).
	 - Added a PS4 symbol parser which handles performing full file/line resolution for symbols.
	 - Removed all the V3 file format support and legacy platform handling.
	 - Optimized FStreamInfo.GetNameIndex so it can be used by the lazy symbol fixup.

	#rb James.Hopkin

Change 3101586 on 2016/08/25 by Jamie.Dale

	Small code cleanup and path normalization

	#rb James.Hopkin

Change 3101837 on 2016/08/25 by Alexis.Matte

	#jira UE-35101 we now store the sourceanimationname to retrieve the correct animtrack when re-importing animations
	#rb none
	#codereview matt.kuhlenschmidt

Change 3102537 on 2016/08/26 by Jamie.Dale

	Fix for potential crash in FICUCamelCaseBreakIterator

	In platforms with UTF-32 strings, the index returned by FICUTextCharacterIterator may not be in the same range as FString, so we need to call InternalIndexToSourceIndex to ensure that it is.

	#rb James.Hopkin

Change 3102582 on 2016/08/26 by Matt.Kuhlenschmidt

	Log the freetype version when it starts up (for debugging purposes)

	#rb none

Change 3102657 on 2016/08/26 by Alexis.Matte

	#jira UE-29177 When re-importing a texture we want to notify materials using this texture so they can recompile the shader.
	#review-3101585 @uriel.doyon
	#rb matt.kuhlenschmidt

Change 3102704 on 2016/08/26 by Jamie.Dale

	Added symbol meta-data support to MProf2

	You can now define platform specific meta-data using FPlatformStackWalk::GetSymbolMetaData, which is then stored within the generated .mprof file.

	PS4 uses this meta-data to say where the original .self file can be found, so that MProf2 can usually automatically load the .self file without having to bother the user.

	#rb James.Hopkin

Change 3102878 on 2016/08/26 by Matt.Kuhlenschmidt

	Added support for outline fonts
	- An outline size (in slate units), optional material and optional fill color can be specified with each font info.
	- Outlines do not contribute to measurement directly so the text measuring and shaping methods have been modified to account for outlines
	- Fixed a bug where font materials do not work properly if part of the font's rendered glyphs were in a different atlas

	#rb jamie.dale

Change 3102879 on 2016/08/26 by Jamie.Dale

	Bumped the MProf2 version so we can tell which build of the tool can load v6 mprof files

	#rb none

Change 3102960 on 2016/08/26 by Alexis.Matte

	build fix
	#rb none

Change 3103032 on 2016/08/26 by Jamie.Dale

	Fixed SEditableText and SMultiLineEditableText not setting the correct foreground color when painting

	#jira UE-34936
	#rb Matt.Kuhlenschmidt

Change 3103278 on 2016/08/26 by Jamie.Dale

	Fixing Clang warnings

	#rb none

Change 3104211 on 2016/08/29 by Ben.Marsh

	Add build script for automated tests, and create settings file for Dev-Editor which adds an agent pool for running them.

	#rb none

Change 3104290 on 2016/08/29 by Alex.Delesky

	Adding additional documentation accessible from the editor for TSet and TMap properties, along with a quick clarification on container properties to let the user know what kind of container they're working with.

	#rb Matt.Kuhlenschmidt

Change 3104292 on 2016/08/29 by Alex.Delesky

	#jira UE-35039 - Command/Control user keybindings will no longer flip-flop when the editor is opened on Mac.

	#rb Matt.Kuhlenschmidt

Change 3104294 on 2016/08/29 by Alex.Delesky

	#jira UE-34952 - The user will no longer encounter an ensure when setting the value of Period equal to or less than 0 on the circular throbber widget

	#rb Matt.Kuhlenschmidt

Change 3104295 on 2016/08/29 by Matt.Kuhlenschmidt

	PR #2682: Remove unused bUseDesktopResolutionForFullscreen (Contributed by stfx)

	#rb none

Change 3104296 on 2016/08/29 by Alex.Delesky

	#jira UE-35160 - The Auto Distance Error for LOD meshes can now be set to any value larger than zero.

	#rb Matt.Kuhlenschmidt

Change 3104348 on 2016/08/29 by Matt.Kuhlenschmidt

	Added the ability to clear the preview mesh on a material instance.  Previously there was no way to null it out.

	#rb none

Change 3104355 on 2016/08/29 by Matt.Kuhlenschmidt

	Guard against crash with invalid path to the default physical material.  Just create a new one if it doesnt exist and warn about it.

	#rb none
	#jira UE-31865

Change 3104396 on 2016/08/29 by Ben.Marsh

	Fix incrorrect agent names for running automated tests

Change 3104610 on 2016/08/29 by Alex.Delesky

	Fix for AutomationTool compile editor from changes introduced today.

	#rb None

Change 3104611 on 2016/08/29 by Michael.Dupuis

	#jira UETOOL-253
	#rb Alexis.Matte

Change 3105826 on 2016/08/30 by Gareth.Martin

	Added console variables to discard grass and/or scalable foliage data on load
	#jira UE-35086
	#rb Benn

Change 3106126 on 2016/08/30 by Matt.Kuhlenschmidt

	Eliminated bad code duplication between retainer widgets and element batcher

	#rb none
	#codereview nick.darnell

Change 3106449 on 2016/08/30 by Michael.Dupuis

	#jira UETOOL-229 Added generic command icons used in Edit Menu (including contextual menu)
	#rb Alexis.Matte

Change 3106966 on 2016/08/30 by Jamie.Dale

	Fixed FApp::IsAuthorizedUser not considering the SessionOwner override

	#rb Max.Preussner

Change 3107687 on 2016/08/31 by Michael.Dupuis

	Checkout/Make Writable on proper config file

	#rb Matt Kuhlenschmidt

Change 3107736 on 2016/08/31 by Matt.Kuhlenschmidt

	Fixed mode typos in the lerp instruction

	#rb none

Change 3107830 on 2016/08/31 by Matt.Kuhlenschmidt

	Logging and guard against UEditorEngine::TeardownPlaySession crash.

	#rb none
	https://jira.ol.epicgames.net/browse/UE-35325

Change 3107912 on 2016/08/31 by Alex.Delesky

	#jira UE-35181 - Normalizing paths when retrieving absolute filenames for source control operations.

	#rb Matt.Kuhlenschmidt

Change 3107986 on 2016/08/31 by Matt.Kuhlenschmidt

	Removed PropertyTestObject.h out of UnrealEd.h so you dont have to compile the entire editor when changing this one file.

	#rb none

Change 3108027 on 2016/08/31 by Chris.Wood

	Re-added lost doc comment for analytics event "Engine.AbnormalShutdown".

	#rb none - just a comment in a cpp file
	#codereview wes.hunt

Change 3108580 on 2016/08/31 by Mike.Fricker

	Deleted the "Live Editor" plugins from UE4
	- These were undocumented, buggy and never finished, and we have no plans to complete them
	- Both the "LiveEditor" and "LiveEditorListenServer" plugins were deleted, along with related icon files

	#codereview matt.kuhlenschmidt
	#rb matt.kuhlenschmidt

Change 3108604 on 2016/08/31 by Mike.Fricker

	Added new "MIDI Device" plugin (disabled by default)

	- This is a simple MIDI interface that allows you to receive MIDI events from devices connected to your computer

	- Currently only input is supported.  In the future we might allow for output, as well.

	- In Blueprints, here's how to use it:
	        - Look for "MIDI Device Manager" in the Blueprint RMB menu
	        - Call "Find MIDI Devices" to choose your favorite device.  Break the "Found MIDI Device" struct to see what's available.
	        - Then call "Create MIDI Device Controller" for the device you want.  Store that in a variable.
	        - On your MIDI Device Controller, bind your own Event to the "On MIDI Event" event.  This will be called every game Tick when there is at least one new MIDI event to receive.
	        - Process the data passed into the Event to make your project do stuff!

	- This plugin makes use of the "PortMidi" third party library (which already existed in UE4 -- it was used by the now-deprecated 'LiveEditor' plugin)

	#codereview matt.kuhlenschmidt
	#rb none

Change 3108760 on 2016/08/31 by Alexis.Matte

	#jira UE-25840 Fbx export collision mesh, we now export collision: box, sphere, capsule and convex mesh. There is an option in the editor preference to enable the export of collisions, default value is false.
	#rb none
	#codereview matt.kuhlenschmidt

Change 3109006 on 2016/08/31 by Alex.Delesky

	#ignore Source Control rename test - initial commit

Change 3109044 on 2016/08/31 by Alex.Delesky

	#ignore Testing asset rename from P4 to observe correct behavior.

	#rb none

Change 3109048 on 2016/08/31 by Alex.Delesky

	#ignore Testing P4 rename to identify correct behavior

	#rb none

Change 3110044 on 2016/09/01 by Gareth.Martin

	Fixed painting foliage on blocking "query" actors not working
	#jira UE-33852
	#rb Allan.Bentham

Change 3110133 on 2016/09/01 by Alexis.Matte

	Fix crash in function GetForceRecompileTextureIdsHash
	#rb none
	#codereview jamie.dale

Change 3111848 on 2016/09/02 by Mike.Fricker

	MIDI Device plugin: Fixed compilation error on Clang compilers (Mac, Linux)
	- Fixed bad enum cast
	#rb none

Change 3111995 on 2016/09/02 by Michael.Dupuis

	#jira UE-35263

	Do not try selecting the actor if the actor is in the blueprint
	Properly Refresh the ToopTip & Hyper Link to take into account blueprint recreation process

	#rb Alexis Matte

Change 3112280 on 2016/09/02 by Michael.Dupuis

	Call MakeWritable if source control fail

	#rb Alexis Matte

Change 3112335 on 2016/09/02 by Cody.Albert

	Updating cursor hiding logic to not improperly hide cursor when left clicking in ortho mode

	#jira UE-35306
	#rb none

Change 3112478 on 2016/09/02 by Alexis.Matte

	#jira UE-20059 Use a base material to import fbx material.
	#rb uriel.doyon
	#codereview matt.kuhlenschmidt
	#1468 Github pull request number

Change 3113912 on 2016/09/06 by Michael.Dupuis

	#jira UE-32288 Fixed Console params display
	#rb Alexis Matte

Change 3114026 on 2016/09/06 by Alex.Delesky

	#jira UE-35123 - The Details panel in a Texture editor or Simple Asset editor window will no longer disappear when the inspected asset is imported again.

	#rb Matt.Kuhlenschmidt

Change 3114032 on 2016/09/06 by Alex.Delesky

	PR #2733: Improved the project launcher progress page (Contributed by projectgheist)

	#jira UE-34027
	#rb Matt.Kuhlenschmidt

Change 3114034 on 2016/09/06 by Alex.Delesky

	#jira UE-35265 - Copying a comment node from a Material Function and pasting it inside a Material will no longer render the Material unsaveable

	#rb Matt.Kuhlenschmidt

Change 3114071 on 2016/09/06 by Nick.Darnell

	[AUTOMATED TEST] Automatic checkin, testing functionality.

Change 3114109 on 2016/09/06 by Nick.Darnell

	[AUTOMATED TEST] Automatic checkin, testing functionality.

Change 3114562 on 2016/09/06 by Nick.Darnell

	Adding LevelEditor to the FbxAutomationTestBuilder to fix a compiler issue.

	#rb none

Change 3114701 on 2016/09/06 by Michael.Dupuis

	#jira UE-31988 add const to all usage of TArray<ItemType>* as it was done in SListView
	#rb Alexis Matte

Change 3114861 on 2016/09/06 by Matt.Kuhlenschmidt

	Prevent non-thread safe slate code from running on the slate loading thread

	#rb none

Change 3115698 on 2016/09/07 by Nick.Darnell

	Make sure the commands are available - during functional testing that was found to not always be the case.

	#rb none

Change 3115719 on 2016/09/07 by Nick.Darnell

	Adding an IsRegistered command to commands.

	#rb none

Change 3115721 on 2016/09/07 by Nick.Darnell

	Adding a new built VirtualReality feature pack, this new one contains the update manifest that will parse correctly.

	#rb none

Change 3115722 on 2016/09/07 by Nick.Darnell

	IsBindWidgetProperty now returns false if the property passed in is null.

	#rb none

Change 3115734 on 2016/09/07 by Alexis.Matte

	#jira UE-30166 Support fbx sdk 2017
	#rb none

Change 3115737 on 2016/09/07 by Nick.Darnell

	Adding an image comparer for screenshots.  Removing some content from EngineTest.

	#rb none

Change 3115743 on 2016/09/07 by Nick.Darnell

	Checkpointing a bunch of progress towards a screenshot comparison workflow that allows us to diff screenshots taken on various platforms and hardware.  Disabling many tests that are not passing.  Updating a few tests to log better errors, and fixed a few tests with easy bugs in them so they would start passing again.  All editor tests currently passing!

	#rb none

Change 3115748 on 2016/09/07 by Nick.Darnell

	Making the RuntimeTests plugin a Developer module, so that it doesn't get included in shipping builds.

	#rb none

Change 3115789 on 2016/09/07 by Jamie.Dale

	We now favor Traditional Chinese for Hong Kong and Macau

	#rb James.Hopkin

Change 3115799 on 2016/09/07 by Jamie.Dale

	Removed validity check on source cultures when remapping, as platforms may use invalid cultures that need to be remapped

	#rb James.Hopkin

Change 3115826 on 2016/09/07 by Nick.Darnell

	Adding missing files.

	#rb none

Change 3115838 on 2016/09/07 by Nick.Darnell

	Back out revision 6 from //UE4/Dev-Editor/Engine/Source/Runtime/UMG/Public/Components/WidgetInteractionComponent.h

	#rb none

Change 3116007 on 2016/09/07 by Alexis.Matte

	build fix
	#rb none

Change 3116057 on 2016/09/07 by Jamie.Dale

	Fixed widget snapshot messages so they appear in the message debugger

	#rb none

Change 3116112 on 2016/09/07 by Nick.Darnell

	Removing the FbxAutomationBuilder file that go recreated on a merge from main.

	#rb none

Change 3116365 on 2016/09/07 by Michael.Dupuis

	#jira UE-20765 Added missing class flag to test (CLASS_CONFIG) and change a bit how the checkout/make writable work.
	#codereview Matt.Kuhlenschmidt
	#rb Alexis.Matte

Change 3116622 on 2016/09/07 by Alexis.Matte

	#jira UE-35608 Use the same naming convention when trying to retrieve uv channel by name.
	#rb matt.kuhlenschmidt

Change 3116638 on 2016/09/07 by Jamie.Dale

	Ensured that manifests and archives don't try and load data that they can't parse

	#rb none

Change 3117397 on 2016/09/08 by Gareth.Martin

	Added rotate and blend support to the landscape mirror tool
	#jira UE-34829
	#rb Jack.Porter

Change 3117459 on 2016/09/08 by Gareth.Martin

	Fixed crash saving a hidden landscape level with an offset (cloned from 4.13.1)
	#jira UE-35301
	#rb Jack.Porter

Change 3117462 on 2016/09/08 by Gareth.Martin

	Fixed invisible landscape components and crashes when tessellation is enabled (cloned from 4.13.1)
	#jira UE-35494
	#rb Benn.Gallagher

Change 3117583 on 2016/09/08 by Nick.Darnell

	Continued work on automation support for screenshot comparison, stubbing in a commandlet that can be run after automation tests that would perform the diffing.  Need to finish rigging it up so that deltas and results can be dumped out somewhere and consumed by a tool to approve shots.

	#rb none

Change 3117595 on 2016/09/08 by Nick.Darnell

	Updating the build script for AutomatedTests, going to see if this works!

	#rb none

Change 3117808 on 2016/09/08 by Nick.Darnell

	Adding header includes for async.

	#rb none

Change 3117812 on 2016/09/08 by Matt.Kuhlenschmidt

	Partially taken from Pr 2381

	Fixed Array Properties to handle duplicates properly and fixed Material Parameter Collection duplicate Guid problem.

	#rb none

Change 3117851 on 2016/09/08 by Jamie.Dale

	Silenced some redundant P4 errors that could be generated when running a stat update on a file

	Some of the options produced errors when working with newly added files. These errors are now downgraded to infos like they are for the main stat command.

	#rb Ben.Marsh
	#codereview Thomas.Sarkanen

Change 3117853 on 2016/09/08 by Gareth.Martin

	Clean up landscape includes and PCH
	#rb steve.robb

Change 3117859 on 2016/09/08 by Alex.Delesky

	#jira UE-35321 - Minimized windows will no longer act like they are visible when determining what widgets are currently underneath the mouse.

	#rb Nick.Darnell

Change 3117997 on 2016/09/08 by Nick.Darnell

	Updating the automation tests build script to use Editor-Cmd

	#rb none

Change 3118005 on 2016/09/08 by Matt.Kuhlenschmidt

	Properly reference graph node on material expressions so they are not GC'd while an expression still uses them

	#jira UE-35362
	#rb none

Change 3118043 on 2016/09/08 by Alex.Delesky

	#jira UE-30649 - Removed unnecessary returns from UWidget API.

	PR #2377: fix widget bug. (Contributed by dorgonman)

	#rb none

Change 3118045 on 2016/09/08 by Matt.Kuhlenschmidt

	Guard against crash saving config during level editor shutdown

	#rb none
	#jira UE-35605

Change 3118074 on 2016/09/08 by Matt.Kuhlenschmidt

	PR #2783: Removed #pragme once from CPP files (Contributed by projectgheist)

	#rb none

Change 3118078 on 2016/09/08 by Michael.Dupuis

	#jira UE-32065 Removed the -windows that was added as a default option and add it simply if fullscreen is not specified
	#rb Alexis.Matte

Change 3118080 on 2016/09/08 by Michael.Dupuis

	#jira UE-31131 Do not show a contextual menu if the menu is empty
	#rb Alexis.Matte

Change 3118087 on 2016/09/08 by Matt.Kuhlenschmidt

	Constify this method

	#rb none

Change 3118166 on 2016/09/08 by Nick.Darnell

	Trying additional command options for the build machine for automation.

	#rb none

Change 3118222 on 2016/09/08 by Matt.Kuhlenschmidt

	Fix actor delete during mesh paint not working during undo

	#rb none
	#jira UE-35684

Change 3118298 on 2016/09/08 by Alexis.Matte

	#jira UE-35302 Export all LODs for static mesh when there is no force LOD
	#rb uriel.doyon

Change 3118325 on 2016/09/08 by Matt.Kuhlenschmidt

	Fixed reset to default not appearing for slate brushes

	#rb none
	#jira UE-34958

Change 3119321 on 2016/09/09 by Matt.Kuhlenschmidt

	Guard against crash with an invalid world trying to be opened from the content browser

	#rb none
	https://jira.ol.epicgames.net/browse/UE-35712

Change 3119433 on 2016/09/09 by Nick.Darnell

	Removing a hack added by Paragon that prevents applications from resizing in real time as the user drags the size of the window around.

	#rb Matt.Kuklenschmidt
	#jira UE-35789

Change 3119448 on 2016/09/09 by Alex.Delesky

	When simulating touch events using the mouse, clicking the mouse will no longer let a drag operation continue. This should also allow the finger that started a drag to continue dragging items until it is released from the surface.

	#rb Nick.Darnell

Change 3119522 on 2016/09/09 by Jamie.Dale

	Fixed FDetailCategoryImpl::ShouldBeExpanded not honoring bShouldBeInitiallyCollapsed when bRestoreExpansionState was true

	#rb Matt.Kuhlenschmidt

Change 3119528 on 2016/09/09 by Jamie.Dale

	Some UI re-work to the localization dashboard

	This makes a better use of the available space, and will make it easier to make some other planned changes in the future.

	#rb James.Hopkin

Change 3119861 on 2016/09/09 by Michael.Dupuis

	#jira UE-9284 Added the Play/Stop button on the thumbnail
	#rb Alexis.Matte

Change 3120027 on 2016/09/09 by Alexis.Matte

	incorporate some fixes from licensee for LOD group re-import workflow
	#jira UE-32268
	#rb uriel.doyon
	#codereview matt.kuhlenschmidt

Change 3120845 on 2016/09/12 by Gareth.Martin

	Fixed crash in landscape editor when "Early Z" is enabled (cloned from 4.13.1)
	#jira UE-35850
	#rb Allan.Bentham

Change 3120980 on 2016/09/12 by Nick.Darnell

	Adding a commandlet that is runnable for comparing screenshots.  Adding comparing and exporting capability to the screenshot manager.

	#rb none

Change 3120992 on 2016/09/12 by Alex.Delesky

	#jira UE-35575 - TScriptInterface UProperties now have asset picker support.

	#rb Matt.Kuhlenschmidt

Change 3121074 on 2016/09/12 by Michael.Dupuis

	#jira UE-30092
	Added path length in error message when typing
	Added display of current filepath lenght for cooking

	#rb Alexis.Matte

Change 3121113 on 2016/09/12 by Nick.Darnell

	Adding some placeholder examples to show people how to author tests in EngineTest.

	#rb none

Change 3121152 on 2016/09/12 by Gareth.Martin

	Added TElementType, TIsContiguousContainer traits
	Added GetData(), GetNum() generic functions
	#rb Steve.Robb

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

	Optimized a loop over a sorted list to instead use a binary search

	This speeds up the short-lived allocation view generation.

	We also now dump the exception information to the Trace log when in a non-debug build.

	#rb James.Hopkin

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

	We now set the window mode first when resizing the game viewport to ensure that the work area is correct

	Fullscreen windows can affect the available work area size, which can break centering when moving between fullscreen and windowed mode.

	#jira UE-32842
	#rb Matt.Kuhlenschmidt

Change 3122578 on 2016/09/13 by Jamie.Dale

	Small code clean up

	Removed a use of the placement new style array addition.

	#rb none

Change 3122634 on 2016/09/13 by Jamie.Dale

	We now immediately update DefaultConfigCheckOutNeeded when checking out/making writable the config file, rather than wait for the text tick

	#jira UE-34865
	#rb James.Hopkin

Change 3122656 on 2016/09/13 by Jamie.Dale

	Fixed array combo button not focusing its contents, which prevented the menu closing correctly

	#jira UE-33667
	#rb none

Change 3122661 on 2016/09/13 by Nick.Darnell

	Checkpointing additional work on the screenshot compare dialog, moving some Directory path picker widget into a more common area.  Moving some "Find the best top level window handle for this widget for dialogs' code out of the main frame module and into Slate Application where it probably belongs.

	#rb none

Change 3122678 on 2016/09/13 by Jamie.Dale

	Fixing CIS error on Clang

	CoreUObject needs to be included before USTRUCT can be used.

	#rb none

Change 3122686 on 2016/09/13 by Jamie.Dale

	Fixing CIS error on Clang

	CoreUObject needs to be included before UCLASS can be used.

	#rb none

Change 3122728 on 2016/09/13 by Nick.Darnell

	UMG - Exposing a trace channel for the WIC, defaults to Visibility.  Improving how the WIC handles the cursor moving off the widget, it now maintains the last hit location rather than 0,0 which would cause things like dragged Sliders to reset to the left.  Ideally - the WIC would know the underlying widget has capture and continue to fake collision against an imaginary plane to simulate a continuous surface.

	#jira UE-35167
	#rb none

Change 3122775 on 2016/09/13 by Nick.Darnell

	Automation - Fixing an error with the ScreenshotTools plugin, needed to add an the include for Engine.h to the PCH.

	#rb none

Change 3122779 on 2016/09/13 by Nick.Darnell

	Widgetnimation - Exposing more of the class to C++.

	#rb none

Change 3122793 on 2016/09/13 by Nick.Darnell

	Fixing a crash in UWidgetComponent::UpdateRenderTarget updating a null material instance.

	#jira UE-35796
	#rb none

Change 3122834 on 2016/09/13 by Matt.Kuhlenschmidt

	Fixed crash undoing moves after bsp creation

	https://jira.ol.epicgames.net/browse/UE-35880

	#rb none

Change 3122835 on 2016/09/13 by Nick.Darnell

	Reverting changes to WIdgetAnimation

	#rb none

Change 3122897 on 2016/09/13 by Matt.Kuhlenschmidt

	Fixed non-editor compile error
	#rb none

Change 3122988 on 2016/09/13 by Alexis.Matte

	Material workflow refactor
	#jira UETOOL-774
	#rb matt.kuhlenschmidt

Change 3123006 on 2016/09/13 by Jamie.Dale

	Fixed dynamic collections not returning anything

	#jira UE-35869
	#rb James.Hopkin

Change 3123145 on 2016/09/13 by Alexis.Matte

	Fix fbx automation test. The test found a regression cause by CL: 3120027. In the case where we dont have a LODGroup we dont want to add LODs before the build.
	#jira UE-32268
	#rb none
	#codereview matt.kuhlenschmidt

Change 3123148 on 2016/09/13 by Matt.Kuhlenschmidt

	Fix fortnite compile error

	#rb alexis.matte

Change 3123208 on 2016/09/13 by Jamie.Dale

	The 'find culprit' dialog now honors the user choice

	#rb RichTW

Change 3123545 on 2016/09/13 by Nick.Darnell

	Slate - Adjusting the window dialog host finding code to do a better job of searching for slate windows and excluding popups and non-regular windows.

	#rb none

Change 3124494 on 2016/09/14 by Jamie.Dale

	Added ~ to the list of invalid characters for object/package names

	#jira UE-12908
	#rb Matt.Kuhlenschmidt

Change 3124513 on 2016/09/14 by Gareth.Martin

	Implemented filter to allow painting foliage on other foliage
	- Altered foliage filters so it will no longer paint on object types which don't have a filter, e.g. skeletal meshes
	#rb Allan.Bentham
	#2472

Change 3124523 on 2016/09/14 by Jamie.Dale

	PR #2724: Fix ScrollBox right mouse/touch grab scrolling functionality (Contributed by aarmbruster)

	#jira UE-34811
	#jira UE-32082
	#rb none

Change 3124607 on 2016/09/14 by Nick.Darnell

	UMG - Adding BoundsScale support to the WidgetComponent's CalcBounds function.

	#jira UE-35667
	#rb none

Change 3124785 on 2016/09/14 by Gareth.Martin

	Made some foliage functions editor-only to fix non-editor build
	#rb none

Change 3124795 on 2016/09/14 by Gareth.Martin

	Saved/loaded the new foliage filter
	#rb Allan.Bentham
	#2472

Change 3124915 on 2016/09/14 by Michael.Dupuis

	#jira UE-19511
	Add support for Add to source control on DefaultEditorPerProjectUserSettings file
	Remove CheckoutNotice when not editing a DefaultXXXX.ini file
	Edit proper config file either we're modifying settings from a Default file or Local user file
	#codereview Matt.Kuhlenschmidt Max.Preussner
	#rb Alexis.Matte

Change 3125266 on 2016/09/14 by Jamie.Dale

	Fixed ULocalizationTarget::DeleteFiles not deleting cultures, and using SCC wrong

	#rb none

Change 3125385 on 2016/09/14 by Matt.Kuhlenschmidt

	Fix crash when using SaveAs to save over top of an existing level

	#rb none
	https://jira.ol.epicgames.net/browse/UE-35919
	https://jira.ol.epicgames.net/browse/UE-35921

Change 3125487 on 2016/09/14 by Alexis.Matte

	Fix cook content, regression induce by the material workflow refactor
	#rb matt.kuhlenschmidt

Change 3126217 on 2016/09/15 by Gareth.Martin

	Unset bHasPerInstanceHitProxies on landscape grass components, as they don't have individually editable instances
	#rb Allan.Bentham

Change 3126311 on 2016/09/15 by Jamie.Dale

	Placement mode fixes

	 - The display name is now cached correctly on construction, and the FPlaceableItem instance used with SPlacementAssetEntry is now const.
	 - Ensured that the ID used by FPlaceableItem could never overflow.
	 - Fixed some types being missing from the "All Classes" list.
	 - Fixed the escape key not cancelling the search.

	#jira UE-35972
	#rb James.Hopkin

Change 3126325 on 2016/09/15 by Jamie.Dale

	Made sure that UWorld::GetAssetRegistryTags called its Super function so that properties tagged as AssetRegistrySearchable will be added.

	#rb Andrew.Rodham

Change 3126403 on 2016/09/15 by Gareth.Martin

	Added Find and Contains functions to TBitArray
	#rb Steve.Robb

Change 3126405 on 2016/09/15 by Gareth.Martin

	Allowed instances of Hierarchical Instanced Mesh Components to be moved around with the transform widget in the blueprint editor
	- Just like regular instanced mesh components!
	Also fixed not being able to move instances of an instanced mesh component when it is the root component
	Also also fixed Hierarchical Instanced Mesh Components not flushing their async tree build on saving (this was causing log spam from PostLoad when dragging instances around as the blueprint would constantly reinstance the component before the async tree build had finished)
	#jira UE-29357
	#rb Allan.Bentham

Change 3126444 on 2016/09/15 by Jamie.Dale

	Fixed the loc dashboard configs not working with SCC

	This isn't a great solution, but the whole way the loc dashboard manages its config data is in need of an overhaul.

	#rb none

Change 3126446 on 2016/09/15 by Jamie.Dale

	Fixed loc dashboard game and engine targets sharing the same expansion settting

	#rb none

Change 3126555 on 2016/09/15 by Chris.Wood

	Removed WER from Windows crash handling. Crashes saved to log folder and passed to CRC with explicit path.
	[UE-34470] - Investigate WER settings and if they can conflict with CRC on Windows

	#rb Steve.Robb

Change 3126586 on 2016/09/15 by Gareth.Martin

	Fixed missing landscape components when using a LODBias (cloned from 4.13.1)
	#jira UE-35873
	#rb Jack.Porter

Change 3126610 on 2016/09/15 by Jamie.Dale

	Stopped PS4 from always staging all ICU data files

	#rb Marcus.Wassmer

Change 3126779 on 2016/09/15 by Michael.Dupuis

	#jira UE-32914 Improve the help text to provide usage examples and params
	#rb Alexis.Matte

Change 3126849 on 2016/09/15 by Matt.Kuhlenschmidt

	Fix font material and outline font material not being animatable in sequencer

	#rb frank.fella

Change 3126858 on 2016/09/15 by Matt.Kuhlenschmidt

	File not saved
	#rb none

Change 3127001 on 2016/09/15 by Matt.Kuhlenschmidt

	Fixed reset to default state still not appearing in all cases after changing a property.

	#rb none

Change 3127038 on 2016/09/15 by Nick.Darnell

	UMG - Improving focus setting for users on widgets.  If we're unable to set the focus immediately, possibly because the user is setting focus in the Construct callback before the widget is in the tree, we now update the SlateOperations FReply on LocalPlayer to set focus next frame when it's more likely the widget will become focusable.

	#rb none

Change 3127061 on 2016/09/15 by Nick.Darnell

	Slate - We now have a reentrancy guard in TPanelChildren to avoid the broad cases where users might attempt to remove children while all children are being removed.  Which is an easy case to engineer if you've got widgets spawning children managed by another widget, that all go away at the same time, thus causing the parent to attempt to cleanup children.  The end result is a delete while deleting.  So now TPanelChildren prevents adds/removes while emptying the list of children.

	#jira UE-35726
	#rb Matt.Kuchlenschmidt

Change 3127205 on 2016/09/15 by Alex.Delesky

	#jira UE-18013 - Users can now add Textures, Materials, or Sprites to a Widget Blueprint directly from the content browser. This also fixes a few issues with adding Widget Blueprints to another Widget BP from the content browser, such as adding a widget to itself or creating a circular dependency.

	#rb Nick.Darnell

Change 3127971 on 2016/09/16 by Matt.Kuhlenschmidt

	Fix crash in scene outliner if actors become invalid

	#rb none

	https://jira.ol.epicgames.net/browse/UE-35932

Change 3128011 on 2016/09/16 by Matt.Kuhlenschmidt

	Added guards for crashes accessing slate resources for deleted uobjects

	#rb nick.darnell

Change 3128067 on 2016/09/16 by Michael.Dupuis

	#jira UE-34158 Add an option to auto expand advanced details
	#rb Alexis.Matte

Change 3128073 on 2016/09/16 by Michael.Dupuis

	#jira UE-1145
	Set Save As to Ctrl + Alt + S
	Set Save All to Ctrl + Shift + S
	Set Save Current to Ctrl + S

	#rb Alexis.Matte

Change 3128117 on 2016/09/16 by Jamie.Dale

	Updated the pin-type filter combo to filter on both the localized and source type descriptions

	#jira UE-36081
	#rb none

Change 3128177 on 2016/09/16 by Alexis.Matte

	#jira UE-35946 Remove unnecessary GetReadValue call with bad parameter. The read value call is cache so subsequent call was returning the bad cache value.

	#rb michael.dupuis
	#codereview matt.kuhlenschmidt

Change 3128387 on 2016/09/16 by Gareth.Martin

	Fixed location and rotation of arrow widget in the landscape mirror tool when using one of the new "Rotate" modes
	#jira UE-36093
	#rb none

Change 3128445 on 2016/09/16 by Matt.Kuhlenschmidt

	Guard against scene outliner crash.  Print out tree when items appear twice.
	https://jira.ol.epicgames.net/browse/UE-35935

	#rb none

Change 3128454 on 2016/09/16 by Matt.Kuhlenschmidt

	Remove category for WindowTitleBarArea.  It is very custom for internal use and should not be a top level widget

	#rb none

Change 3128482 on 2016/09/16 by Michael.Dupuis

	Added new key binding for generic Save, Save As
	Added new key binding for Save All for the content browser

	#rb Alexis.Matte (approved by MattK)

Change 3128560 on 2016/09/16 by Matt.Kuhlenschmidt

	Fix build warning

	#codereview nick.darnell
	#rb none

Change 3128642 on 2016/09/16 by Alexis.Matte

	#jira UE-36047 We now convert the light color correctly when importing and exporting fbx files. UE4 is sRGB and FBX is linear
	#rb none
	#codereview matt.kuhlenschmidt

Change 3128733 on 2016/09/16 by Nick.Darnell

	UMG - Fixing a bad merge, some code was removed causing all BindWidget statements to fail to compile correctly.

	#jira UE-36105
	#rb none

Change 3128768 on 2016/09/16 by Matt.Kuhlenschmidt

	Fix selection outline showing around edges of all internal mesh sections of a component instead of around the entire actor

	#rb none

Change 3128779 on 2016/09/16 by Matt.Kuhlenschmidt

	Fix offset characters on some small fonts

	#rb none

Change 3130057 on 2016/09/19 by Jamie.Dale

	Fixing volatility and invalidation issues for text widgets

	#jira UE-33988
	#rb Nick.Darnell

Change 3130064 on 2016/09/19 by Jamie.Dale

	Changed mprof meta-data to allow unicode strings and updated ReadString to deal with them correctly

	#rb James.Hopkin

Change 3130233 on 2016/09/19 by Michael.Dupuis

	#jira UE-32914 Added missing args that the UI supported
	#rb Alexis.Matte

Change 3130265 on 2016/09/19 by Nick.Darnell

	Automation - Cleaning up some API items.

	#rb none

Change 3130378 on 2016/09/19 by Matt.Kuhlenschmidt

	Fix reentrancy saving assets while a prompt for checkout dialog is open

	#rb none

Change 3130398 on 2016/09/19 by Jamie.Dale

	Fixing UHT error when building

	#rb none

Change 3132101 on 2016/09/20 by Nick.Darnell

	UMG - Adding a toolbar option in the designer for the 'G' command, similar to 'Game View' in the level editor, it disables all the dashed lines / future editor visuals.

	#rb none

Change 3132110 on 2016/09/20 by Nick.Darnell

	PR #2792: ShowFlags for WidgetComponents (Contributed by projectgheist)

	#jira UE-13770

	#rb Nick.Darnell

Change 3132111 on 2016/09/20 by Nick.Darnell

	UMG - The retainer now embeds a virtual window into the focus path so that paths are resolved correctly.

	#rb none

Change 3132138 on 2016/09/20 by Michael.Dupuis

	#jira UE-30945 Added missing PostEditComponentMove after drag is finished
	#rb Alexis.Matte

Change 3132147 on 2016/09/20 by Michael.Dupuis

	#jira UE-30866 Fixed the filter to work properly
	#rb Alexis.Matte

Change 3132190 on 2016/09/20 by Matt.Kuhlenschmidt

	Fix static analysis warnings in this file

	#rb none

Change 3132231 on 2016/09/20 by Nick.Darnell

	Slate - Updating the material blend states to match what is expected of Slate rendering, which differs a lot from the scene renderer with the way it treats alpha.  This fixes translucent rendering with the retainer widget, users will need to set their materials to Alpha Composite though for it to behave as expected.

	#jira UE-33285
	#rb none

Change 3132255 on 2016/09/20 by Alex.Delesky

	#jira UE-36048 - TMap and TSet properties are now disallowed from adding more children through the Details panel when they contain the dfault value for a key or element. Reset to Default is also no longer allowed on a Map or Set child when it will result in a second default value existing within the container.

	#rb Matt.Kuhlenschmidt

Change 3132587 on 2016/09/20 by Mike.Fricker

	MIDI Plugin: Fixed a CIS error in shipping configuration (introduced in CL 3108604)
	#rb none
	#lockdown matt.kuhlenschmidt

Change 3132623 on 2016/09/20 by Matt.Kuhlenschmidt

	Fix crash opening the cooker settings

	https://jira.it.epicgames.net/browse/UE-36197

	#rb none
	#lockdown nick.darnell

Change 3133144 on 2016/09/20 by Nick.Darnell

	Build configuration for automation tests.

	#rb none
	#lockdown matt.kuhlenschmidt

Change 3133206 on 2016/09/20 by Matt.Kuhlenschmidt

	Fix default material on odin text

	#rb none
	#lockdown nick.darnell

Change 3133913 on 2016/09/21 by Nick.Darnell

	Back out revision 17 from //UE4/Dev-Editor/Engine/Source/Runtime/UMG/Private/Slate/SRetainerWidget.cpp

	#rb none
	#jira UE-36231
	#lockdown matt.kuhlenschmidt

[CL 3133983 by Matt Kuhlenschmidt in Main branch]
2016-09-21 10:07:18 -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
Ben Marsh
bf66aaa497 Copying //UE4/Release-Staging-4.12 to //UE4/Dev-Main (Source: //UE4/Release-4.12 @ 2955635)
==========================
MAJOR FEATURES + CHANGES
==========================

Change 2955635 on 2016/04/26 by Max.Chen

	Sequencer: Fix filtering so that folders that contain filtered nodes will also appear.

	#jira UE-28213

Change 2955617 on 2016/04/25 by Dmitriy.Dyomin

	Better fix for: Post processing rendering artifacts Nexus 6
	this device on Android 5.0.1 does not support BGRA8888 texture as a color attachment
	#jira: UE-24067

Change 2955522 on 2016/04/25 by Max.Chen

	Sequencer: Fix crash when resolving object guid and context is null.

	#jira UE-29916

Change 2955504 on 2016/04/25 by Alexis.Matte

	#jira UE-29926
	Fix build error for SplineComponent. I just move variable under #if !UE_BUILD_SHIPPING instead #if WITH_EDITORONLY_DATA to fix all build flavor, please feel free to adjust according to what the initial fix was suppose to do.

Change 2955500 on 2016/04/25 by Dan.Oconnor

	Integration of 2955445 from Dev-BP
	#jira UE-29012

Change 2955234 on 2016/04/25 by Lina.Halper

	Fixed tool tip of twist node

	#jira : UE-29907

Change 2955211 on 2016/04/25 by Ben.Marsh

	Exclude all plugins which aren't required for a project (ie. don't have any content or modules for the current target) from its target receipt. Prevents dependencies on .uplugin files whose dependencies are otherwise compiled out. Re-enable PS4Media plugin by default.

	#jira UE-29842

Change 2955155 on 2016/04/25 by Jamie.Dale

	Fixed an issue where text committed via a focus loss might not display the correct text if it was changed during commit

	#jira UE-28756

Change 2955144 on 2016/04/25 by Jamie.Dale

	Fixed a case where editable text controls would fail to select their text when focused

	There was an order of operations issue between the options to select all text and move the cursor to the end of the document, which caused the cursor move to happen after the select all, and undo the selection. The order of these operations has now been flipped.

	#jira UE-29818
	#jira UE-29772

Change 2955136 on 2016/04/25 by Chad.Taylor

	Merging to 4.12:

	Morpheus latency fix. Late update tracking frame was getting unnecessarily buffered an extra frame on the RHI thread. Removed buffering and the issue is fixed.

	#jira UE-22581

Change 2955134 on 2016/04/25 by Lina.Halper

	Removed code that blocks moving actor when they don't have physics asset

	#jira : UE-29796
	#code review: Benn.Gallagher

Change 2955130 on 2016/04/25 by Zak.Middleton

	#ue4 - (4.12) Don't reject low distance MTD, it could cause us to not process some valid overlaps.
	(copy of 2955001 in Main)

	#jira UE-29531
	#lockdown Nick.Penwarden

Change 2955098 on 2016/04/25 by Marc.Audy

	Don't spawn a child actor on the client if the server is going to have created one and be replicating it to the client
	#jira UE-7539

Change 2955049 on 2016/04/25 by Richard.TalbotWatkin

	Changes to how SplineComponents debug render. Added a SetDrawDebug method to control whether a spline is rendered. Also extended the facility to non-editor builds.
	#jira UE-29753 - Add ability to display a SplineComponent in-game

Change 2955040 on 2016/04/25 by Chris.Gagnon

	Fixed Initializer Order Warning in hot reload ctor.

	#jira UE-28811, UE-28960

Change 2954995 on 2016/04/25 by Marc.Audy

	Make USceneComponent::Pre/PostNetReceive and PostRepNotifies protected instead of private so that subclasses can implement replication behaviors
	#jira UE-29909

Change 2954970 on 2016/04/25 by Peter.Sauerbrei

	fix for openwrite with O_APPEND flag
	#jira UE-28417

Change 2954917 on 2016/04/25 by Chris.Gagnon

	Moved a desired change from Main to 4.12

	Added input settings to:
	- control if the viewport locks the mouse on acquire capture.
	- control if the viewport acquires capture on the application launch (first window activate).

	#jira UE-28811, UE-28960
	parity with 4.11 (UE-28811, UE-28960 would be reintroduced without this)

Change 2954908 on 2016/04/25 by Alexis.Matte

	#jira UE-29478
	Prevent modal dialog to use 100% of a core

Change 2954888 on 2016/04/25 by Marcus.Wassmer

	Fix compile issue with chinese locale
	#jira UE-29708

Change 2954813 on 2016/04/25 by Lina.Halper

	Fix when not re-validating the correct asset

	#jira : UE-29789
	#code review: Martin.Wilson

Change 2954810 on 2016/04/25 by mason.seay

	Updated map to improve coverage

	#jira UE-29618

Change 2954785 on 2016/04/25 by Max.Chen

	Sequencer: Always spawn sequencer spawnables. Disregard collision settings.

	#jira UE-29825

Change 2954781 on 2016/04/25 by mason.seay

	Test map for Audio Occlusion trace channels

	#jira UE-29618

Change 2954684 on 2016/04/25 by Marc.Audy

	Add GetIsReplicated accessor to AActor
	Deprecate specific GameplayAbility class implementations that was exposing bReplicates
	#jira UE-29897

Change 2954675 on 2016/04/25 by Alexis.Matte

	#jira UE-25430
	Light Intensity value in FBX is a ratio. So I just multiply the default intensity value by the ratio to have something closer to the look in the DCCs

Change 2954669 on 2016/04/25 by Alexis.Matte

	#jira UE-29507
	Import of rigid mesh animation is broken

Change 2954579 on 2016/04/25 by Ben.Marsh

	Temporarily stop the PS4Media plugin being enabled by default, so the UE4Game built for the binary release doesn't depend on it. Will implement whitelist/blacklist for platforms later.

	#jira UE-29842

Change 2954556 on 2016/04/25 by Taizyd.Korambayil

	#jira UE-29877 Setup ThirdPersonCharacter based on correct Code Class

Change 2954552 on 2016/04/25 by Taizyd.Korambayil

	#jira UE-29877 Deleting BP class

Change 2954498 on 2016/04/25 by Ryan.Gerleve

	Fix for remote player controllers reporting that they're actually local player controllers after a seamless travel on the server.
	Transition actors to the new level in a second pass after non-transitioning actors are handled.

	#jira UE-29213

Change 2954446 on 2016/04/25 by Max.Chen

	Sequencer: Fixed spawning actors with instance or multiple owned components

	  - Also fixed issue where recorded actors were sometimes set as transient, meaning they didn't get saved

	#jira UE-29774, UE-29859

Change 2954430 on 2016/04/25 by Marc.Audy

	Don't schedule a tick function with a tick interval that was disabled while it was pending rescheduling
	#jira UE-29118
	#jira UE-29747

Change 2954292 on 2016/04/25 by Richard.TalbotWatkin

	Replicated from //UE4/Dev-Editor CL 2946363 (by Frank.Fella)

	CurveEditorViewportClient - Bounds check when box selecting.  Prevents crashing when the box is outside the viewport.
	#jira UE-29265 - Crash when drag selecting curve keys in matinee

Change 2954262 on 2016/04/25 by Graeme.Thornton

	Fixed a editor crash when destroying linkers half way through a package EndLoad

	#jira UE-29437

Change 2954239 on 2016/04/25 by Marc.Audy

	Fix error message
	#jira UE-00000

Change 2954177 on 2016/04/25 by Dmitriy.Dyomin

	Fixed: Hidden surface removal is not enabled on PowerVR Android devices
	#jira UE-29871

Change 2954026 on 2016/04/24 by Josh.Adams

	[Somehow most files got unchecked in my previous checkin, grr]
	- ProtoStar content/config updates (enabled TAA in the levels, disabled es2 shaders, hides the Unbuilt lighting warning on Android)
	#lockdown nick.penwarden
	#jira UE-29863

Change 2954025 on 2016/04/24 by Josh.Adams

	- ProtoStar content/config updates (enabled TAA in the levels, disabled es2 shaders, hides the Unbuilt lighting warning on Android)
	#lockdown nick.penwarden
	#jira UE-29863

Change 2953946 on 2016/04/24 by Max.Chen

	Sequencer: Fix crash on undo of a sub section.

	#jira UE-29856

Change 2953898 on 2016/04/23 by mitchell.wilson

	#jira UE-29618 Adding subscene_001 sequence for nonlinear workflow testing

Change 2953859 on 2016/04/23 by Maciej.Mroz

	Merged from Dev-Blueprints 2953858
	#jira UE-29790 Editor crashes when opening KiteDemo

Change 2953764 on 2016/04/23 by Max.Chen

	Sequencer: Remove "Experimental" tag on the Level Sequence Actor

	#jira UETOOl-625

Change 2953763 on 2016/04/23 by Max.Chen

	Cinematics: Change text to "Edit Existing Cinematics"

	#jira UE-29102

Change 2953762 on 2016/04/23 by Max.Chen

	Sequencer: Follow up time slider hit testing fix. Don't hit test the selection range if it's empty. This was causing false positives when hovering close to the ranges.

	#jira UE-29658

Change 2953652 on 2016/04/22 by Rolando.Caloca

	UE4.12 - vk - Workaround driver bugs wrt texture format caps
	#jira UE-28140

Change 2953596 on 2016/04/22 by Marcus.Wassmer

	#jira UE-20276
	Merging dual normal clearcoat shading model.
	2863683
	2871229
	2876362
	2876573
	2884007
	2901595

Change 2953594 on 2016/04/22 by Chris.Babcock

	Disable crash handler for VulkanRHI on Android to prevent sig11 on loading driver
	#jira UE-29851
	#ue4
	#android

Change 2953520 on 2016/04/22 by Rolando.Caloca

	UE4.12 - vk - Enable deferred resource deletion
	- Added one resource heap per memory type
	- Improved DumpMemory()
	- Added ensures for missing format features
	#jira UE-28140

Change 2953459 on 2016/04/22 by Taizyd.Korambayil

	#jira UE-29748 Resaved Maps to Fix EC Build Warnings
	#jira UE-29744

Change 2953448 on 2016/04/22 by Ryan.Gerleve

	Fix Mac/Linux compile.

	#jira UE-29545

Change 2953311 on 2016/04/22 by Ryan.Gerleve

	Fix for infinite hang when loading a replay from within an actor tick while demo.AsyncLoadWorld is false. LoadMap for the replay is now deferred using the existing PendingNetGame mechanism.
	Added virtual UPendingNetGame::LoadMapCompleted function so that the base PendingNetGame and DemoPendingNetGame can have different behavior.
	To keep things simpler, also parse all replay metadata and streaming levels after the LoadMap call.

	#jira UE-29545

Change 2953219 on 2016/04/22 by mason.seay

	Test map for show collision features

	#jira UE-29618

Change 2953199 on 2016/04/22 by Phillip.Kavan

	[UE-29449] Fix InitProperties() optimization for Blueprint class instances when array property values differ in size.

	change summary:
	- improved UBlueprintGeneratedClass::BuildCustomArrayPropertyListForPostConstruction() by continuing to emit only delta entries for array values that exceed the default array value's size; previously we emitted a NULL in this case to signal a need to initialize all remaining array values in InitProperties(), even if they didn't differ from the default value of the inner property (which in most cases would already have been set at construction time, and thus potentially incurred a redundant copy iteration for each entry)
	- modified FObjectInitializer::InitArrayPropertyFromCustomList() to no longer reset the array value on the instance prior to initialization
	    - added code to properly resize the array on the instance prior to initialization (if it differs in size from the default array value)
	    - removed code that handled a NULL property value in the custom property list stream (this is no longer necessary, see above)
	- modified FObjectInitializer::InitProperties() to restore the post-construction optimization for Blueprint class instances (back to being enabled by default)

	#jira UE-29449

Change 2953195 on 2016/04/22 by Max.Chen

	Sequencer: Fix crash in actor reference track in the cached guid to actor map.

	#jira UE-27523

Change 2953124 on 2016/04/22 by Rolando.Caloca

	UE4.12 - vk - Increase temp frame buffer
	#jira UE-28140

Change 2953121 on 2016/04/22 by Chris.Babcock

	Rebuilt lighting for all levels
	#jira UE-29809

Change 2953073 on 2016/04/22 by mason.seay

	Test assets for notifies in animation composites and montages

	#jira UE-29618

Change 2952960 on 2016/04/22 by Richard.TalbotWatkin

	Changed eye dropper operation so that LMB click selects a color, and pressing Esc cancels the selection and restores the old color.
	#jira UE-28410 - Eye dropper selects color without clicking

Change 2952934 on 2016/04/22 by Allan.Bentham

	Ensure pool's refractive index >= 1
	#jira UE-29777

Change 2952881 on 2016/04/22 by Jamie.Dale

	Better fix for UE-28560 that doesn't regress thumbnail rendering

	We now just silence the warning if dealing with an inactive world.

	#jira UE-28560

Change 2952867 on 2016/04/22 by Thomas.Sarkanen

	Fix issues with matinee-controlled anim instances

	Regression caused by us no longer saving off the anim sequence between updates.

	#jira UE-29812 - Protostar Neutrino spawns but does not Animate or move.

Change 2952826 on 2016/04/22 by Maciej.Mroz

	Merged from Dev-Blueprints 2952820

	#jira UE-28895 Nativizing a blueprint project causes the next non-nativizing package attempt to fail

Change 2952819 on 2016/04/22 by Josh.Adams

	- Fixed crash in a Vulkan shader printout
	#lockdown nick.penwarden
	#jira UE-29820

Change 2952817 on 2016/04/22 by Rolando.Caloca

	UE4.12 - vk - Revert back to simple layouts
	#jira UE-28140

Change 2952792 on 2016/04/22 by Jamie.Dale

	Removed some code that caused worlds loaded by the Content Browser to be initialized before they were ready

	Supposedly this code existed for world thumbnail rendering, however only the active editor world generates a thumbnail, so initializing other worlds wasn't having any effect and thumbnails look identical to before.

	#jira UE-28560

Change 2952783 on 2016/04/22 by Taizyd.Korambayil

	#jira UE-28477 Resaved Flying Template Map

Change 2952767 on 2016/04/22 by Taizyd.Korambayil

	#jira UE-29736 Resaved Map to Fix EC Warnings

Change 2952762 on 2016/04/22 by Allan.Bentham

	Update reflection capture to contain only room5 content.
	#jira UE-29777

Change 2952749 on 2016/04/22 by Taizyd.Korambayil

	#jira UE-29740 Resaved Material and Map to Fix Empty Engine Version Error

Change 2952688 on 2016/04/22 by Martin.Wilson

	Fix for BP notifies not displaying when they derive from an abstract base class

	#jira UE-28556

Change 2952685 on 2016/04/22 by Thomas.Sarkanen

	Fix CIS for non-editor builds

	#jira UE-29308 - Fix crash from GC-ed animation asset

Change 2952664 on 2016/04/22 by Thomas.Sarkanen

	Made up/down behaviour for console history consistent and reverted to old ordering by default

	Pressing up or down now brings up history.
	Sorting can now be optionally bottom-to-top or top-to-bottom. Default behaviour is preserved to what it was before the recent changes.

	#jira UE-29595 - Console autocomplete behavior is non-intuitive / frustrating

Change 2952655 on 2016/04/22 by Jamie.Dale

	Changed the class filter to use an expression evaluator

	This makes it consistent with the other filters in the editor

	#jira UE-29811

Change 2952647 on 2016/04/22 by Allan.Bentham

	Back out changelist 2951539
	#jira UE-29777

Change 2952618 on 2016/04/22 by Benn.Gallagher

	Fixed naming error in rotation multiplier node
	#jira UE-29583

Change 2952612 on 2016/04/22 by Thomas.Sarkanen

	Fix garbage collection and undo/redo issues with anim instance proxy

	UObject-based properties are now cached each update on the proxy and nulled-out outside of evaluate/update phases.
	Moved some initialization code for CurrentAsset/CurrentVertexAnim from the proxy back to the instance (as its is encapsulated there now).

	#jira UE-29308 - Fix crash from GC-ed animation asset

Change 2952608 on 2016/04/22 by Richard.TalbotWatkin

	Changed 'Recently Used Levels' and 'Favorite Levels' to hold long package names instead of absolute paths. This means they are now project-relative and will remain valid even if the project location changes.
	#jira UE-29731 - Editor map recent files are not project relative, leading to missing links when moving projects.

Change 2952599 on 2016/04/22 by Dmitriy.Dyomin

	Disabled vulkan pipeline cache as it causes rendering artifacts right now
	#jira UE-29807

Change 2952540 on 2016/04/22 by Maciej.Mroz

	#jira UE-29787 Obsolete nativized files are never removed
	merged from Dev-Blueprints 2952531

Change 2952372 on 2016/04/21 by Josh.Adams

	- Fixed Vk memory allocations when reusing free pages
	#lockdown nick.penwarden
	#jira ue-29802

Change 2952350 on 2016/04/21 by Eric.Newman

	Added support for UEReleaseTesting backends to Orion and Ocean
	#jira op-3640

Change 2952140 on 2016/04/21 by Dan.Oconnor

	Demoted back to warning to fix regressions in content examples, in main we've added the ability to elevate warnings to errors, but no reason to rush that feature into 4.12
	#jira UE-28971

Change 2952135 on 2016/04/21 by Jeff.Farris

	Fixed issue in PlayerCameraManager where the priority-based sorting of CameraModifiers wasn't sorting properly.
	Manual re-implementation of CL 2948123 in 4.12 branch.
	#jira UE-29634

Change 2952121 on 2016/04/21 by Lee.Clark

	PS4 - 4.12 - Fix staging and deploying of system prxs

	#jira UE-29801

Change 2952120 on 2016/04/21 by Rolando.Caloca

	UE4.12 - vk - Move descriptor allocation to BSS
	#jira UE-21840

Change 2952027 on 2016/04/21 by Rolando.Caloca

	UE4.12 - vk - Fix descriptor sets lifetimes
	- Fix crash with null texture
	#jira UE-28140

Change 2951890 on 2016/04/21 by Eric.Newman

	Updating locked common dependencies for OrionService
	#jira OP-3640

Change 2951863 on 2016/04/21 by Eric.Newman

	Updating locked dependencies for UE 4.12 OrionService
	#jira OP-3640

Change 2951852 on 2016/04/21 by Owen.Stupka

	Fixed meteors destruct location
	#jira UE-29714

Change 2951739 on 2016/04/21 by Max.Chen

	Sequencer: Follow up for integral keys.

	#jira UE-29791

Change 2951717 on 2016/04/21 by Rolando.Caloca

	UE4.12 - Fix shader platform names
	#jira UE-28140

Change 2951714 on 2016/04/21 by Max.Chen

	Sequencer: Fix setting a key if it already exists at the current time.

	#jira UE-29791

Change 2951708 on 2016/04/21 by Rolando.Caloca

	UE4.12 - vk - Separate upload cmd buffer
	#jira UE-28140

Change 2951653 on 2016/04/21 by Marc.Audy

	If a child actor component is destroyed during garbage collection, do not rename, instead clear the caching mechanisms so that a new name is chosen if a new child is created in the future
	Remove now unused bRenameRequired parameter
	#jira UE-29612

Change 2951619 on 2016/04/21 by Chris.Babcock

	Move bCreateRenderStateForHiddenComponents out of WITH_EDITOR
	#jira UE-29786
	#ue4

Change 2951603 on 2016/04/21 by Cody.Albert

	#jira UE-29785
	Revert Github readme page back to original

Change 2951599 on 2016/04/21 by Ryan.Gerleve

	Fix assert when attempting to record a replay when the map has a placed actor that writes replay external data (such as ACharacter)

	#jira UE-29778

Change 2951558 on 2016/04/21 by Chris.Babcock

	Always rename destroyed child actor
	#jira UE-29709
	#ue4

Change 2951552 on 2016/04/21 by James.Golding

	Remove old code for handling 'show collision' in game, uses same method as editor now, fixes hidden meshes showing up in game when doing 'show collision'
	#jira UE-29303

Change 2951539 on 2016/04/21 by Allan.Bentham

	Use screenuv for distortion with ES2/31.
	#jira UE-29777

Change 2951535 on 2016/04/21 by Max.Chen

	We need to test if the hmd is enabled if it exists. Otherwise, this will return true even if we aren't rendering in stereo if there's an hmd plugin loaded.

	#jira UE-29711

Change 2951521 on 2016/04/21 by Taizyd.Korambayil

	#jira UE-29746 Replaced Deprecated Time Handler node in GameLevel_GM

Change 2951492 on 2016/04/21 by Jeremiah.Waldron

	Fix for Android IAP information reporting back incorrectly.
	#jira UE-29776

Change 2951486 on 2016/04/21 by Taizyd.Korambayil

	#jira UE-29741 Updated Infiltrator Demo Project to open with the correct Map

Change 2951450 on 2016/04/21 by Gareth.Martin

	Fix non-editor build
	#jira UE-16525

Change 2951380 on 2016/04/21 by Gareth.Martin

	Fix Landscape layer blend nodes not updating connections correctly when an input is changed from weight/alpha (one input) to height blend (two inputs) or vice-versa
	#jira UE-16525

Change 2951357 on 2016/04/21 by Richard.TalbotWatkin

	Fixed a crash when pushing a new menu leads to a window activation change which would result in the old root menu being dismissed.
	#jira UE-27981 - [CrashReport] Crash When Attempting to Select Variable Type After Clearing the Name Field

Change 2951352 on 2016/04/21 by Richard.TalbotWatkin

	Added slider bar thickness as a new property in FSliderStyle.
	#jira UE-19173 - SSlider is not fully stylable

Change 2951344 on 2016/04/21 by Gareth.Martin

	Fix bounds calculation for landscape splines that was causing the first landscape spline point to be invisible and later points to flicker.
	- Also fixes landscape spline lines not showing up on a flat landscape
	#jira UE-25114

Change 2951326 on 2016/04/21 by Taizyd.Korambayil

	#jira UE-28477 Resaving Maps

Change 2951271 on 2016/04/21 by Jamie.Dale

	Fixed a crash when pasting a path containing a class into the asset view of the Content Browser

	#jira UE-29616

Change 2951237 on 2016/04/21 by Jack.Porter

	Fix black screen on PC due to planar reflections

	#jira UE-29664

Change 2951184 on 2016/04/21 by Jamie.Dale

	Fixed crash in FCurveStructCustomization when no objects were selected for editing

	#jira UE-29638

Change 2951177 on 2016/04/21 by Ben.Marsh

	Fix hot reload from IDE failing when project is up to date. UBT returns an exit code of 2, and any non-zero exit code is treated as an error by Visual Studio. Build.bat was not correctly forwarding on the exit code at all prior to CL 2790858.

	#jira UE-29757

Change 2951171 on 2016/04/21 by Matthew.Griffin

	Fixed issue with Rebuild not working when installed in Program Files (x86)
	The brackets seem to cause lots of problems in combination with the if/else ones
	#jira UE-29648

Change 2951163 on 2016/04/21 by Jamie.Dale

	Changed the text customization to use the property handle functions to get/set the text value

	That ensures that it both transacts and notifies correctly.

	Added new functions to deal with multiple objects selection efficiently with the existing IEditableTextProperty API:
	  - FPropertyHandleBase::SetPerObjectValue
	  - FPropertyHandleBase::GetPerObjectValue
	  - FPropertyHandleBase::GetNumPerObjectValues

	These replace the need to cache the raw pointers.

	#jira UE-20223

Change 2951103 on 2016/04/21 by Thomas.Sarkanen

	Un-deprecated blueprint functions for attachment/detachment

	Renamed functions to <FuncName> (Deprecated).
	Hid functions in the BP context menu so new ones cant be added.

	#jira UE-23216 - "Snap to Target, Keep World Scale" when attaching doesn't work properly if parent is scaled.

Change 2951101 on 2016/04/21 by Allan.Bentham

	Enable mobile HQ DoF
	#jira UE-29765

Change 2951097 on 2016/04/21 by Thomas.Sarkanen

	Standalone games now benefit from parallel anim update if possible

	We now simply use the fact we want root motion to determine if we need to run immediately.

	#jira UE-29431 - Parallel anim update does not work in non-multiplayer games

Change 2951036 on 2016/04/21 by Lee.Clark

	PS4 - Fix WinDualShock working with VS2015

	#jira UE-29088

Change 2951034 on 2016/04/21 by Jack.Porter

	ProtoStar: Removed content not needed by remaining maps, resaved all content to fix version 0 issues

	#jira UE-29666

Change 2950995 on 2016/04/21 by Jack.Porter

	ProtoStar - delete unneeded maps

	#jira UE-29665

Change 2950787 on 2016/04/20 by Nick.Darnell

	SuperSearch - Moving the settings object into a seperate plugin to avoid there needing to be a circular dependency between SuperSearch and UnrealEd.

	#jira UE-29749
	#codeview Ben.Marsh

Change 2950786 on 2016/04/20 by Nick.Darnell

	Back out changelist 2950769 - Going to re-enable super search - about to move the settings into a plugin to prevent the circular reference.

	#jira UE-29749

Change 2950769 on 2016/04/20 by Ben.Marsh

	Comment out editor integration for super search to fix problems with the circular dependencies breaking hot reload and compiling QAGame in binary release.

Change 2950724 on 2016/04/20 by Lina.Halper

	Support for negative scaling for mirroring

	- Merging CL 2950718 using //UE4/Dev-Framework_to_//UE4/Release-4.12

	#jira: UE-27453

Change 2950293 on 2016/04/20 by andrew.porter

	Correcting sequencer test content

	#jira UE-29618

Change 2950283 on 2016/04/20 by Marc.Audy

	Don't route FlushPressedKeys on PIE shut down
	#jira UE-28734

Change 2950071 on 2016/04/20 by mason.seay

	Adjusted translation retargeting on head bone of UE4_Mannequin

	-Needed for anim bp test.  Tested animations and did not see any fallout from change.  If there is, it can be reverted.

	#jira UE-29618

Change 2950049 on 2016/04/20 by Mark.Satterthwaite

	Undo CL #2949690 and instead on Mac where we want to be able to capture videos of gameplay we just insert an intermediate texture as the back-buffer and use a manual blit to the drawable prior to present. This also changes the code to enforce that the back-buffer render-target should never be nil as the code & Metal API itself assumes that this situation cannot occur but it would appear from continued crashes inside PrepareToDraw that it actually can in the field. This will address another potential cause of UE-29006.
	#jira UE-29006
	#jira UE-29140

Change 2949977 on 2016/04/20 by Max.Chen

	Sequencer: Add FieldOfView to default tracks for CameraActor. Add FieldOfView to exclusion list for CineCameraActor.

	#jira UE-29660

Change 2949836 on 2016/04/20 by Gareth.Martin

	Fix landscape components flickering when perfectly flat (bounds size is 0)
	- This often happens for newly created landscapes
	#jira UE-29262

Change 2949768 on 2016/04/20 by Thomas.Sarkanen

	Moving parent & grouped child actors now does not result in deltas being applied twice

	Grouping and attachment now interact correctly.
	Also fixed up according to coding standard.

	Discovered and proposed by David.Bliss2 (Rocksteady).

	#jira UE-29233 - Delta applied twice when moving parent and grouped child actors
	From UDN: https://udn.unrealengine.com/questions/286537/moving-parent-grouped-child-actors-results-in-delt.html

Change 2949759 on 2016/04/20 by Thomas.Sarkanen

	Fix split pins not working as anim graph node inputs

	Limit surface area of this change by only modifying the anim BP compiler. A better version might be to move the call in the general blueprint compiler but it is riskier.

	#jira UE-12326 - Splitting a struct in an Anim Blueprint does not work

Change 2949739 on 2016/04/20 by Thomas.Sarkanen

	Fix layered bone per blend accessed from a struct in the fast-path

	Made sure that the fallback event is always built (logic was still split so if PatchFunctionNamesAndCopyRecordsInto aborted because of some unhandled case if might not have an event to call).
	Covered struct source->array dest case.
	Indicator icon is now built from the copy record itself, ensuring it is accurate to actual runtime data.

	#jira UE-29389 - Fast-Path: Layered Blend per Bone node failing to grab updated values from struct.

Change 2949715 on 2016/04/20 by Max.Chen

	Sequencer: Fix mouse wheel zoom so it defaults to zooming in on the current time/frame. This is a toggleable option in the Editor Preferences (Zoom Position = Current Time or Mouse Position)

	#jira UE-29661

Change 2949712 on 2016/04/20 by Taizyd.Korambayil

	#jira UE-28544 adjusted Player crosshair to be centered

Change 2949710 on 2016/04/20 by Alexis.Matte

	#jira UE-29477
	Pixel Inspector, UI get polish and adding "scene color" inspect property

Change 2949706 on 2016/04/20 by Alexis.Matte

	#jira UE-29475
	#jira UE-29476
	Favorite allow all UProperty to be favorite (the FStruct is now supported)
	Favorite scrollig is auto adjust to avoid scrolling when adding/removing a favorite

Change 2949691 on 2016/04/20 by Mark.Satterthwaite

	Fix typo from previous commit - retain not release...
	#jira UE-29140

Change 2949690 on 2016/04/20 by Mark.Satterthwaite

	Double-buffer the Metal viewport's back-buffer so that we can access the contents of the back-buffer after EndDrawingViewport is called until BeginDrawingViewport is called again on this viewport, this makes it possible to capture movies on Metal.
	#jira UE-29140

Change 2949616 on 2016/04/20 by Marc.Audy

	'Merge' latest version of Vulkan from Dev-Rendering to Release-4.12
	#jira UE-00000

Change 2949572 on 2016/04/20 by Jamie.Dale

	Fixed crash undoing a text property changed caused by a null entry in the array

	#jira UE-20223

Change 2949562 on 2016/04/20 by Alexis.Matte

	#jira UE-29447
	Fix the batch fbx import "not show options" dialog where some option can be different.

Change 2949560 on 2016/04/20 by Alexis.Matte

	#jira UE-28898
	Avoid importing multiple static mesh in the same package

Change 2949547 on 2016/04/20 by Mark.Satterthwaite

	You must use STENCIL_COMPONENT_SWIZZLE  to access the stencil component of a texture - not all APIs can swizzle it into .g automatically.
	#jira UE-29672

Change 2949443 on 2016/04/20 by Allan.Bentham

	Disable sRGB textures when ES31 feature level is set.
	Only use vk's sRGB formats when feature level > ES3_1

	#jira UE-29623

Change 2949428 on 2016/04/20 by Allan.Bentham

	Back out changelist 2949405
	#jira UE-29623

Change 2949405 on 2016/04/20 by Allan.Bentham

	Disable sRGB textures when ES31 feature level is set.
	Only use vk's sRGB formats when feature level > ES3_1

	#jira UE-29623

	Merging using Dev-Mobile_->_Release-4.12

Change 2949391 on 2016/04/20 by Richard.TalbotWatkin

	PIE with multiple windows now starts focused on Client 1, or the server if not a dedicated server. Added a new virtual call UEditorEngine::OnLoginPIEAllComplete, called when all clients have been successfully logged in when starting PIE. The default behavior is to set focus to the first client.
	#jira UE-26037 - Cumbersome workflow when running PIE with 2 clients
	#jira UE-26905 - First client window does not gain focus or mouse control when launching two clients

Change 2949389 on 2016/04/20 by Richard.TalbotWatkin

	Fixed regression which was saving the viewport config settings incorrectly.  Viewports are keyed by their layout on the same key as the config key, hence we do not need to prepend the SpecificLayoutString when saving out the config data when iterating through a layout's viewports.
	#jira UE-29058 - Viewport settings are not saved after shutting down editor

Change 2949388 on 2016/04/20 by Richard.TalbotWatkin

	Change auto-reimport settings so that "Detect Changes on Startup" defaults to true. Also removed the warning of potential unwanted behaviour when working in conjunction with source control; this is no longer necessary now that there is a prompt prior to auto-reimport.
	#jira UE-29257 - Auto import does not import assets

Change 2949203 on 2016/04/19 by Max.Chen

	Sequencer: Fix spawnables not getting default tracks.

	#jira UE-29644

Change 2949202 on 2016/04/19 by Max.Chen

	Sequencer: Fix particles not firing on loop.

	#jira UE-27881

Change 2949201 on 2016/04/19 by Max.Chen

	Sequencer: Fix multiple labels support

	#jira UE-26812

Change 2949200 on 2016/04/19 by Max.Chen

	Sequencer: Expose settings sequencer settings in the Editor Preferences page. Note, UMG and Niagara have separate sequencer settings pages.

	#jira UE-29516

Change 2949197 on 2016/04/19 by Max.Chen

	Sequencer: Fix unwind rotation when keying rotation so that rotations are always set to the nearest.

	#jira UE-22228

Change 2949196 on 2016/04/19 by Max.Chen

	Sequencer: Disable selection range drawing if it's empty so that playback range dragging can take precedence when they overlap. This fixes a bug where you can't drag the starting playback range when sequencer starts up.

	#jira UE-29657

Change 2949195 on 2016/04/19 by Max.Chen

	MovieSceneCapture: Default image compression quality to 100 (rather than 75).

	#jira UE-29657

Change 2949194 on 2016/04/19 by Max.Chen

	Sequencer: Matinee to Level Sequence fix for mapping properties correctly. This fixes focus distance not getting set properly on the conversion.

	#jira UETOOL-467

Change 2949193 on 2016/04/19 by Max.Chen

	Sequencer - Fix issues with level visibility.
	+ Don't mark sub-levels as dirty when the track evaluates.
	+ Fix an issue where sequencer gets into a refresh loop because drawing thumbnails causes levels to be added which was rebuilding the tree, which was redrawing thumbnails.
	+ Null check for when an objects world is null but the track is still evaluating.
	+ Remove UnrealEd references.

	#jira UE-25668

Change 2948990 on 2016/04/19 by Aaron.McLeran

	#jira UE-29654 FadeIn invalidates Audio Components in 4.11

Change 2948890 on 2016/04/19 by Jamie.Dale

	Downgraded an assert in SPathView::LoadSettings to avoid a common crash when a saved path no longer exists

	#jira UE-28858

Change 2948860 on 2016/04/19 by Mike.Beach

	Mirroring CL 2940334 (from Dev-Blueprints):
	Bettering CreateEvent node errors, so users are able to recover from API changes (not clearing the function name field, calling out the function by name in the error, etc.)

	#jira UE-28911

Change 2948857 on 2016/04/19 by Jamie.Dale

	Added an Asset Localization context menu to the Content Browser

	This allows you to create, edit, and view localized assets from any source asset, as well as edit and view source assets from any localized asset.

	#jira UE-29493

Change 2948854 on 2016/04/19 by Jamie.Dale

	UAT now stages all project translation targets

	#jira UE-20248

Change 2948831 on 2016/04/19 by Mike.Beach

	Mirroring CL 2945994 (from Dev-Blueprints):
	Pasting EdGraphNodes will no longer query sub-nodes for compatibility if the root cannot be pasted (for things like collapsed graphs, and anim state-machine nodes).

	#jira UE-29035

Change 2948825 on 2016/04/19 by Jamie.Dale

	Fixed shadow warning

	#jira UE-29212

Change 2948812 on 2016/04/19 by Marc.Audy

	Gracefully handle failure to load configurable engine classes
	#jira UE-26527

Change 2948791 on 2016/04/19 by Jamie.Dale

	Fixed regression in SEditableText bIsCaretMovedWhenGainFocus when using auto-complete
	Fixed regression in FSlateEditableTextLayout::SetText that caused it to call OnTextChanged when nothing had changed

	#jira UE-29494
	#jira UE-28886

Change 2948761 on 2016/04/19 by Jamie.Dale

	Sub-fonts are now only used when they contain the character to be rendered

	#jira UE-29212

Change 2948718 on 2016/04/19 by Jamie.Dale

	Fixed an issue where FEnginePackageLocalizationCache could be initialized before CoreUObject was ready

	This is now done lazily, either when the first CDO tries to load an asset (which is after CoreUObject is ready), or after the first call to ProcessNewlyLoadedUObjects (if no CDO loads an asset).

	#jira UE-29649

Change 2948717 on 2016/04/19 by Jamie.Dale

	Removed the AssetRegistry's dependency on MessageLog

	It was only there to add a category that was only ever used by the AssetTools module.

	#jira UE-29649

Change 2948683 on 2016/04/19 by Phillip.Kavan

	[UE-18419] Fix GetClassDefaults nodes to update properly in response to structural BP class changes.

	change summary:
	- modified UK2Node_GetClassDefaults::CreateOutputPins() to bind/unbind delegate handlers for the OnChanged() & OnCompile() events for BP class types.

	#jira UE-18419

Change 2948681 on 2016/04/19 by Phillip.Kavan

	[UE-17794] The "Delete Unused Variable" feature now considers the GetClassDefaults node as well.

	change summary:
	- added external linkage to UK2Node_GetClassDefaults::FindClassPin().
	- added an include for the K2Node_GetClassDefaults header file to BlueprintGraphDefinitions.h.
	- added UK2Node_GetClassDefaults::GetInputClass() as a public API w/ external linkage; moved default 'nullptr' param logic into this impl.
	- modified FBlueprintEditorUtils::IsVariableUsed() to add an extra check for a GetClassDefaults node with a visible output pin for the variable that's also connected.
	- modified UK2Node_GetClassDefaults::GetInputClass() to return the generated skeleton class for Blueprint class types.

	#jira UE-17794

Change 2948638 on 2016/04/19 by Lee.Clark

	PS4 - Fix SDK compile warnings

	#jira UE-29647

Change 2948401 on 2016/04/19 by Taizyd.Korambayil

	#jira UE-29250 Revuilt Lighting for Landscapes Map

Change 2948398 on 2016/04/19 by Mark.Satterthwaite

	Add a Mac Metal ES2 shader platform to allow the various ES2 emulation modes to work in the Editor. Fix various issues with the shader code to ensure that Metal can run with ES2 shader code at least in my limited test cases in QAGame.
	#jira UE-29170

Change 2948366 on 2016/04/19 by Taizyd.Korambayil

	#jira UE-29109 Replaced Box Mesh with BSP Floor

Change 2948360 on 2016/04/19 by Maciej.Mroz

	merged from Dev-Blueprints 2947488

	#jira UE-29115 Nativized BulletTrain - cannot shoot targets in intro tutorial
	#jira UE-28965 Packaging Project with Nativize Blueprint Assets Prevents Overlap Events from Firing
	#jira UE-29559
	- fixed private enum access
	- fixed private bitfield access
	- removed forced PostLoad
	- add BodyInstance.FixupData call to fix ResponseChannels
	- ignored RelativeLocation and RelativeRotation in converted root component
	- fixed AttachToComponent (UE-29559)

Change 2948358 on 2016/04/19 by Maciej.Mroz

	merged from Dev-Blueprints 2947953

	#jira UE-29605 Wrong bullet trails in nativized ShowUp
	Fixed USimpleConstructionScript::GetSceneRootComponentTemplate.

Change 2948357 on 2016/04/19 by Maciej.Mroz

	merged from Dev-Blueprints 2947984

	#jira UE-29374 Crash when hovering over Create Widget node in blueprints

	Safe UK2Node_ConstructObjectFromClass::GetPinHoverText.

Change 2948353 on 2016/04/19 by Maciej.Mroz

	merged from Dev-Blueprints 2948095

	#jira UE-29246 ExpandEnumAsExecs + UMETA(Hidden) Crashes Blueprint Compile
	"Hidden" and "Spacer" elementa from an enum does not generated exec pins for "ExpandEnumAsExecs"

Change 2948332 on 2016/04/19 by Benn.Gallagher

	Fixed old pins being left as non-transactional
	#jira UE-13801

Change 2948203 on 2016/04/19 by Lee.Clark

	PS4 - Use SDK 3.508.031

	#jira UEPLAT-1225

Change 2948168 on 2016/04/19 by mason.seay

	Updating test content:

	-Added Husk AI to level to test placed AI

	-Updated Spawn Husk BP to destroy itself to prevent spawn spamming

	#jira UE-29618

Change 2948153 on 2016/04/19 by Benn.Gallagher

	Missed mesh update for Owen IK fix.

	#jira UE-22540

Change 2948130 on 2016/04/19 by Benn.Gallagher

	Fixed old Owen punch IK setup so it no longer jitters when placing the hands on the surface.

	#jira UE-22540

Change 2948117 on 2016/04/19 by Taizyd.Korambayil

	#jira UE-28477 Resaved Template Map's to fix Warning Toast on Templates

Change 2948063 on 2016/04/19 by Lina.Halper

	- Anim composite notify change for better
	 - Fixed all nested anim notify

	- Merging CL 2944396 using //UE4/Dev-Framework_to_//UE4/Release-4.12

	#jira : UE-29101

Change 2948060 on 2016/04/19 by Lina.Halper

	Fix for composite section metadata saving for montage

	Merging CL 2944397 using //UE4/Dev-Framework_to_//UE4/Release-4.12

	#jira : UE-29228

Change 2948029 on 2016/04/19 by Ben.Marsh

	EC: Prevent automatically pushing CIS builds to the launcher; the changelist might be run more than once.

Change 2947986 on 2016/04/19 by Benn.Gallagher

	Fixed BP callable functions that affect skeletal mesh component transforms not working when simulating physics.
	#jira UE-27783

Change 2947976 on 2016/04/19 by Mark.Satterthwaite

	Duplicate CL #2943702 from 4.11.2: Change the way Metal validates the render-target state so that in FMetalContext::PrepareToDraw it can issue a last-ditch attempt to restore the render-targets. This won't fix the cause of the Mac Metal crashes but it might mitigate some of them and provide more information about why they are occurring.
	#jira UE-29006

Change 2947975 on 2016/04/19 by Mark.Satterthwaite

	Duplicate CL #2945061 from UE4-UT: Address UT issue UE-29150 directly in the UT branch: users without a sufficiently up-to-date Xcode won't have the 'metal' offline shader compiler so will have to use the slower online compiled text shader format.
	#jira UE-29150

Change 2947679 on 2016/04/19 by Jack.Porter

	Fixed 4.12 branch not compiling with the 1.0.8 Vulkan SDK
	#jira UE-29601

Change 2947657 on 2016/04/18 by Jack.Porter

	Update protostar reflection capture contents

	#jira UE-29600

Change 2947301 on 2016/04/18 by Ben.Marsh

	EC: Fix trigger ready emails failing to send due to recipient list being a space-separated list of addresses rather than an array reference.

Change 2947263 on 2016/04/18 by Marc.Audy

	Merging CL# 2945921 //UE4/Release-4.11 to //UE4/Release-4.12

	Ensure that all OwnedComponents in an Actor are duplicated for PIE even if not referenced by a property, unless that component is explicitly transient
	#jira UE-29209

Change 2946984 on 2016/04/18 by Ben.Marsh

	GUBP: Allow Ocean cooks in the release branch (fixes build startup failures)

Change 2946870 on 2016/04/18 by Ben.Marsh

	Remaking CL 2946810 to fix compile error in ShooterGame editor.

Change 2946859 on 2016/04/18 by Ben.Marsh

	GUBP: Don't exclude Ocean from builds in the release branch.

Change 2946847 on 2016/04/18 by Ben.Marsh

	GUBP: Fix warning on every build step due to OrionGame_Win32_Mono no longer existing.

Change 2946771 on 2016/04/18 by Ben.Marsh

	EC: Correct initial agent type for release branches. Causing full branch syncs on all agents.

Change 2946641 on 2016/04/18 by Ben.Marsh

	EC: Remove rogue comma causing branch definition parsing to fail.

Change 2946592 on 2016/04/18 by Ben.Marsh

	EC: Adding branch definition for 4.12 release

#lockdown Nick.Penwarden

[CL 2962354 by Ben Marsh in Main branch]
2016-05-01 17:37:41 -04:00
Nick Darnell
6d921f179a Copying //UE4/Dev-Editor to Dev-Main (//UE4/Dev-Main)
#lockdown Nick.Penwarden

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

Change 2771249 on 2015/11/18 by Joe.Tidmarsh

	Ensure that UCircularThrobber's Radius determines the widget's desired size when a child of UCanvasPanelSlot.
	#jira UE-23186

Change 2794402 on 2015/12/08 by Joe.Tidmarsh

	Reverting recent changes to Circular throbber. It's unintuative to enforce Size To Content. Will find some other solution.

Change 2803507 on 2015/12/15 by Richard.TalbotWatkin

	BSP poly extrusion can now only be done in the normal direction of the poly.
	#jira UE-24168 - BSP face breaks off when extruding on Y or Z axes

Change 2803510 on 2015/12/15 by Richard.TalbotWatkin

	Building new static mesh LODs now initializes override vertex colors based on LOD0.
	#jira UE-23747 - CLONE - if LODs are generated for meshes with vertex colors in a level the vertex colors dont propagate to the LOD in the level

Change 2808877 on 2015/12/18 by Alexis.Matte

	Make sure the delta scale sign is swap when we have multiple axis with different sign current axis value
	#jira UE-21574

	#codereview nick.darnell

Change 2810114 on 2015/12/21 by Alexis.Matte

	#jira UE-23769
	We now expose a message telling the user that we found some mesh that are not reference by any scene node in the fbx file.

	#codereview nick.darnell

Change 2810211 on 2015/12/21 by Richard.TalbotWatkin

	Fixed issue with Show Only Selected not showing members of actor groups.
	#jira UE-24453 - CLONE - Show Selected is broken for certain Orion meshes

Change 2811035 on 2015/12/22 by Alexis.Matte

	#jira UE-24671
	Polish UI

	#codereview nick.darnell

Change 2811123 on 2015/12/22 by Alexis.Matte

	#jira UE-21936
	We now can decide which fbx sdk compatibility version we can use when exportting to a fbx file.

	#codereview nick.darnell

Change 2812830 on 2015/12/28 by Richard.TalbotWatkin

	Prevent engine assets' properties from having project assets assigned to them.
	#jira UE-18215 - Details panel: prevent engine content from referencing game content

Change 2812854 on 2015/12/28 by Richard.TalbotWatkin

	Fixed issue where floating windows were having their border size erroneously added again and again.  Allowed PIE windows to not respect work area bounds if they are created centered, so that they can overlap off the edge of the screen.
	#jira UE-24465 - 10 Pixels Added to Width & Height of Floating Editor Windows Each Time Project is Reopened
	#jira UE-24364 - "Always Center Window to Screen" No Longer Functioning in New Editor Window (PIE)

Change 2812875 on 2015/12/28 by Alexis.Matte

	#jira ue-22237
	first implementation for skeletal mesh scene import and reimport. Small refator to remove duplicate code in different fbx list ui.

	#codereview nick.darnell

Change 2813172 on 2015/12/29 by Alexis.Matte

	#jira ue-21656

	Partial submit, the base code is there to add all light type with there properties.

	#codereview nick.darnell

Change 2813403 on 2015/12/30 by Richard.TalbotWatkin

	PIE in New Editor Window now respects the Game Gets Mouse Control setting.  This provides a workaround for UE-24824 where attempting to drag a PIE window fails due to the viewport capturing and locking the mouse to itself in FSceneViewport::OnFocusReceived.

Change 2813429 on 2015/12/30 by Alexis.Matte

	#jira ue-21656
	-spotlight and point light support fbx attenuation
	-fix the light orientation so now directional and spotlight point to the same direction of the fbx

	#codereview nick.darnell

Change 2813456 on 2015/12/30 by Alexis.Matte

	#jira ue-21656

	-Import the camera from fbx

	#codereview nick.darnell

Change 2813457 on 2015/12/30 by Richard.TalbotWatkin

	Fixed issues with the code which determines whether the user is attempting to assign a game asset/class to an engine asset's property.
	#jira UE-18215 - Details panel: prevent engine content from referencing game content

Change 2813475 on 2015/12/30 by Richard.TalbotWatkin

	Removed erroneous debug code.

Change 2814451 on 2016/01/04 by Joe.Tidmarsh

	Fixed Tint colour for circular throbber.
	#jira UE-24445

Change 2814546 on 2016/01/04 by Richard.TalbotWatkin

	Force Message Log to update its category list if a new category is added while it is open.
	#jira UE-24266 - Message Log not updating Categories in Real-Time

Change 2814613 on 2016/01/04 by Alexis.Matte

[CL 2851481 by Nick Darnell in Main branch]
2016-02-01 14:57:29 -05:00
Bob Tellez
b51555abf7 Copying //UE4/Fortnite-Staging to //UE4/Main
#lockdown nick.penwarden

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

Change 2806454 on 2015/12/16 by Bob.Tellez

	#UE4 Getting crash reporting working again on linux servers. Since -Unattended is now being passed BEFORE the target folder, the cmd line parsing code was failing so now it parses tokens and switches in a more general way. Also, diagnostics.txt had the incorrect case, since the d is supposed to be capitolized and the crash report processor is case sensitive.

	#rb Ben.Zeigler

	#codereview Dmitry.Rekman

Change 2805502 on 2015/12/16 by Ben.Zeigler

	#UE4 Move ValidateEnumProperties into ValidateGeneratedClass, it was happening too early in the generation process so was being called at an invalid time.
	As a result of this ValidateEnumProperties will not be called correctly for compile on load blueprints, that issue is covered in UE-24569
	#codereview mike.beach, bob.tellez

Change 2805288 on 2015/12/16 by David.Nikdel

	#HTTP #HttpRetry
	- Add new Failed_ConnectionError code to EHttpRequestStatus to distinguish between connection errors and protocol errors.
	- Changed HTTP retry logic a little bit
	  * If a response was received, retry on service-specific explicit HTTP codes (defaults to empty)
	  * If a response was not received and we did not send a full request, automatically retry
	  * If a response was not received and a request may have been sent, retry if the verb is GET or HEAD (should be idempotent)
	- Adjusted Curl/IOS/Mac/PS4/WinInet to try and distinguish Failed_ConnectionError where possible
	  * Other systems will default to Failed which is ok (ConnectionError is an opportunistic categorization)
	  * Opened a PS4 ticket to try to improve detection, but unfortunately there's no way (currently) to distinguish between send timeout, connection timeout, and receive timeout, the latter being the problematic case.
	- Removed the concept of global/default HTTP retry status codes. No system has enough knowledge to set those globally.
	  * Individual requests still specify explicit "retryable" codes and McpServiceBase sets that on each request on a per-service basis
	#RB: Sam.Zamani
	#CodeReview: Sam.Zamani, Josh.Markiewicz, Alex.Fennell, Dmitry.Rekman, Sam.Spiro
	#Fixes: FORT-17804

Change 2803864 on 2015/12/15 by Bob.Tellez

	#UE4 Changed usage of !UE_SERVER to !IsRunningDedicatedServer in cases where we are preventing load attempts on UFonts. This is so running an editor build with -server works the same as running a cooked server.

	#rb Dmitry.Rekman

	#codereview Nick.Darnell

Change 2803677 on 2015/12/15 by Billy.Bramer

	- Expose equality and inequality operators for gameplay attributes

	#rb Todd.Eckert

Change 2802881 on 2015/12/14 by Bob.Tellez

	#UE4 InheritableComponentHandler no longer keeps records for components that we are no longer inheriting.

	#rb Phillip.Kavan, Maciej.Mroz

	#codereview Phillip.Kavan, Maciej.Mroz

Change 2801636 on 2015/12/14 by Bob.Tellez

	#UE4 Returning package insert order for non-imports back to being after those of matching priorities unconditionally since this is what you want even when you are not using the asset registry to preload packages.

	#codereview Graeme.Thornton

Change 2800400 on 2015/12/11 by Jonathan.Lindquist

	Submitting a new Pivot Painter Edition
	- now renders to textures
	- improved workflow
	- greater capabilities

Change 2799579 on 2015/12/11 by John.Abercrombie

	[AUTOMERGE]

	Fixed EQS BP query wrappers getting GCed before wrapped query finishes #UE4

	Fixes FORT-18649 - Patrols don't spawn consistently
	- The patrol blueprint was waiting (endlessly) for an EQS query to finish but because the wrapper could be GC-ed while the EQS query was running the delegate would never fire

	#rb me (this code was written by MieszkoZ)
	(removed code review for integration of Mieszko.Zielinski, Phil.Cole, Dominic.Barile)

	--------
	Integrated using branch UE4-Fortnite-To-UE4-FortniteReleases/0.10 (reversed) of change#2799575 by John.Abercrombie on 2015/12/11 09:55:11.

Change 2799018 on 2015/12/10 by Bob.Tellez

	#UE4 The asset registry tags stripped from cooked builds is now a blacklist by default that includes only the FiB tag. You can opt-in to using the whitelist by flipping the bUseAssetRegistryTagsWhitelistInsteadOfBlacklist flag.

	#rb Fred.Kimberley

	#codereview Peter.Knepley

Change 2798926 on 2015/12/10 by Bob.Tellez

	#UE4 Removed some showflags from the list of "Fixed" showflags since they were actually in use at runtime in Fortnite in a scene capture.

	#jira FORT-18514

	#codereview Martin.Mittring

Change 2797758 on 2015/12/10 by Mark.Satterthwaite

	Defer calls to AUGraphUpdate into FCoreAudioDevice::UpdateHardware - this call will synchronise the calling thread with the CoreAudio thread/run-loop so that the CoreAudio graph is safe to modify and this may incur a significant stall. This means it is far more efficient to amortise the cost of all changes to the graph with a single call. To ensure correctness the audio format conversion components are cached and disposed of after the call to AUGraphUpdate so that any existing operations on the CoreAudio thread are completed prior to disposal.

Change 2781204 on 2015/11/25 by Dmitry.Rekman

	Linux: use jemalloc by default if available.

	- Alleviates one of the reasons for player disconnect (FORT-18048), which was machines running OOM.

	#rb Bob.Tellez
	#codereview Bob.Tellez, Ben.Zeigler

Change 2779398 on 2015/11/24 by Mark.Satterthwaite

	Switch the default graphics API on Mac back to OpenGL, but allow Metal to run with -metal (or -metalsm5 for experimental SM5 support).
2016-01-08 19:10:43 -05:00