Commit Graph

93 Commits

Author SHA1 Message Date
Rolando Caloca
5b82f15def Copying //UE4/Dev-RenderPlat-Staging@11388153 to //UE4/Main
#rb none
#rnx

[CL 11388545 by Rolando Caloca in Main branch]
2020-02-12 13:27:19 -05:00
Juan Canada
2ecf4f9708 Merging //UE4/Dev-Main@10877709 to Dev-RenderPlat-Staging(//UE4/Dev-Rendering)
#rnx
#rb none

[CL 10895568 by Juan Canada in Dev-RenderPlat-Staging branch]
2020-01-07 13:45:01 -05:00
ryan durand
471d972e62 Updating copyright for Engine Developer.
#rnx
#rb none


#ROBOMERGE-SOURCE: CL 10869240 via CL 10869516 via CL 10869902
#ROBOMERGE-BOT: (v613-10869866)

[CL 10870584 by ryan durand in Main branch]
2019-12-26 15:32:37 -05:00
Marcus Wassmer
6517c68ef5 Copying //UE4/Dev-RenderPlat-Staging@8684824 to Dev-Main (//UE4/Dev-Main)
#rb none

[CL 8684840 by Marcus Wassmer in Main branch]
2019-09-14 09:45:25 -04:00
Michael Sartain
a65c919c15 Add LinuxAArch64 platform and Linux platform group
#jira none
#rb Brandon.Schaefer, Arciel.Rekman, Ben.Marsh

[CL 8175700 by Michael Sartain in Dev-Rendering branch]
2019-08-21 11:42:07 -04:00
Juan Canada
c33df2efd0 Merging //UE4/Dev-Main@6856949 to Dev-Rendering (//UE4/Dev-Rendering)
#lockdown marcus.wassmer
#rb none

[CL 6863606 by Juan Canada in Dev-Rendering branch]
2019-06-06 13:30:16 -04:00
Brandon Schaefer
e330479d73 Symbols are now hidden by default for Linux/Mac
Add support for MODULE_VTABLE for exposing the VTable (Also optionally if enabled RTTI) info for a given type for clang (Linux/Mac)

Rename command line arg bHideSymbolsByDefault to bPublicSymbolsByDefault, as well as now add support for setting this change the BuildConfiguration.xml file

Started from Github PR #3351 though a different way to go about it

#jira UE-42635
#rb Arciel.Rekman, Steve.Robb, Ben.Marsh, Michael.Trepka
#fyi Chris.Bunner, Chris.Gagnon

[CL 4923631 by Brandon Schaefer in Dev-Editor branch]
2019-02-06 14:44:31 -05:00
Chris Gagnon
1dd3e0189f Merging //UE4/Dev-Main to Dev-Editor (//UE4/Dev-Editor)
#rb none

[CL 4730305 by Chris Gagnon in Dev-Editor branch]
2019-01-15 18:47:22 -05:00
Marcus Wassmer
fee98d3ca5 Merging //UE4/Dev-Main@4729937 to Dev-Rendering (//UE4/Dev-Rendering)
#rb none

[CL 4730169 by Marcus Wassmer in Dev-Rendering branch]
2019-01-15 18:30:06 -05:00
Marcus Wassmer
834e95f3d3 Merging //UE4/Dev-Main@4680011 to Dev-Rendering (//UE4/Dev-Rendering)
#rb none

[CL 4680455 by Marcus Wassmer in Dev-Rendering branch]
2019-01-03 19:28:34 -05:00
Marcus Wassmer
cbfcbbb93b Merging //UE4/Dev-Main@4662404 to Dev-Rendering (//UE4/Dev-Rendering)
#rb none
Should be just copyright updates

[CL 4680440 by Marcus Wassmer in Dev-Rendering branch]
2019-01-03 19:16:26 -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
jamie dale
925a5c9aa8 Fixing localization warnings
#jira
#rb none

#ROBOMERGE-SOURCE: CL 4421191 in //UE4/Release-4.21/...
#ROBOMERGE-BOT: RELEASE (Release-4.21 -> Release-Staging-4.21)

[CL 4421299 by jamie dale in Staging-4.21 branch]
2018-10-03 11:50:30 -04: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