Commit Graph

85 Commits

Author SHA1 Message Date
lauren ridge
f2076e926d Blutility updates to add more generic base classes and libraries for editor scripting
#rb Chris.Gagnon
#rnx

#ROBOMERGE-OWNER: ryan.vance
#ROBOMERGE-AUTHOR: lauren.ridge
#ROBOMERGE-SOURCE: CL 5808467 via CL 5811585 via CL 5811826
#ROBOMERGE-BOT: DEVVR (Main -> Dev-VR)

[CL 5841149 by lauren ridge in Dev-VR branch]
2019-04-12 12:56:41 -04:00
chris gagnon
632b923945 Copying //UE4/Dev-Editor to Dev-Main (//UE4/Dev-Main)
#rb none
#lockdown Nick.Penwarden

#ROBOMERGE-OWNER: ryan.vance
#ROBOMERGE-AUTHOR: chris.gagnon
#ROBOMERGE-SOURCE: CL 4837001 in //UE4/Main/...
#ROBOMERGE-BOT: DEVVR (Main -> Dev-VR)

[CL 4837006 by chris gagnon in Dev-VR branch]
2019-01-29 19:23:19 -05:00
Ryan Vance
7c51ff94af Merging //UE4/Dev-Main to Dev-VR (//UE4/Dev-VR)
CL 1 of 8
#rb integration

[CL 4748712 by Ryan Vance in Dev-VR branch]
2019-01-17 18:54:05 -05:00
Jason Bestimt
e7ed7cd3ff Unblock robomerge from Main
#RB:none

[CL 4604382 by Jason Bestimt in Dev-VR branch]
2018-11-28 15:05:11 -05:00
ben marsh
5a701625db Copying //UE4/Release-Staging-4.21 to Dev-Main (//UE4/Dev-Main)
#rb none
#lockdown Nick.Penwarden

#ROBOMERGE-OWNER: jason.bestimt
#ROBOMERGE-AUTHOR: ben.marsh
#ROBOMERGE-SOURCE: CL 4502288 in //UE4/Main/...
#ROBOMERGE-BOT: DEVVR (Main -> Dev-VR)

[CL 4502301 by ben marsh in Dev-VR branch]
2018-10-24 11:55:58 -04:00
Jason Bestimt
e2eb3c2b71 Merging //UE4/Dev-Main to Dev-VR (//UE4/Dev-VR) [to get Dev-Anim changes]
#lockdown: nick.whiting
#RB:none

[CL 4294132 by Jason Bestimt in Dev-VR branch]
2018-08-16 16:53:31 -04:00
jeanmichel dignard
cc05d78f2e Copying //UE4/Dev-Enterprise to //UE4/Dev-Main (Source: //UE4/Dev-Enterprise [at] 4279600)
#rb none
#lockdown Nick.Penwarden

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

Change 4073383 by Patrick.Boutot

	[AJA] Set base timecode for AJA TimecodeProvider

Change 4075631 by Patrick.Boutot

	Change icon for TimecodeSynchronizer.
	Update TimecodeSynchronizer with the new AJA delayed open sources.
	Add TimecodeProvider to TimecodeSynchronizer. Can now sync with TimecodeProvider or a master.
	Make sure the source are ready before viewing them.
	Remove PreRoll command.

Change 4077328 by JeanMichel.Dignard

	Fixed SoftObjectPtr/Paths becoming invalid when saving a new world since it's being moved from /Temp/Untitled to its own package.

	#jira UEENT-1423

Change 4077338 by Rex.Hill

	USD plugin updated to v8.4 with python support

Change 4079063 by Rex.Hill

	USD sdk recompiled as vs2015 targeting older version of CRT, also dependency added for PythonScriptPlugin

Change 4079911 by Rex.Hill

	USD pyd files recompiled

Change 4080058 by Rex.Hill

	Fix usd plugin loading, added missing libtrace.dll

Change 4080376 by Matt.Hoffman

	Improvements to Sequence Recorder's public API to expose more functionality for third parties.

Change 4084984 by Matt.Hoffman

	Sequence Recorder can now set a global time dilation when recording starts, optionally ignoring the dilation when recording keys. This is useful for recording objects in your scene that move too fast to track with a camera but still ending up with the same length recording in the end.

	#jira UESP-670

Change 4086688 by Matt.Hoffman

	Exposes getting and setting keys from sequencer sections via the scripting layer. Examples for how to work with Python and key data can be found in /Plugins/MovieScene/SequencerScripting/Content/Python in the form of "sequencer_examples.py" and "sequencer_key_examples.py". Documentation on how to use these examples is included in the python file.

	#jira UESP-547

Change 4088904 by Max.Chen

	Sequence Recorder: Set actor tags as unique

Change 4089176 by Max.Chen

	Sequence Recorder: Add option to record to the target level sequence playback range length.

Change 4089180 by Max.Chen

	Sequence Recorder: Add protection agains null movie scene sections

Change 4089205 by Max.Chen

	Sequence Recorder: Save recorded audio files if auto save is on.

	#jira UESP-660

Change 4089206 by Max.Chen

	Sequencer: When importing fbx, if a camera is created, force mapping to be by name matching only so that other nodes in the fbx file do not get mapped onto the newly created camera.

	#jira UE-59347

Change 4089214 by Max.Chen

	Sequence Recorder: Add support for looping/rolling takes

	#jira UESP-658

Change 4089280 by Max.Chen

	Sequence Recorder: Added support to specify properties from actor classes (camera rig rail - current position on rail)

Change 4093824 by Andrew.Rodham

	Editor: Added option to class pickers to force use of class Display Names

Change 4093826 by Andrew.Rodham

	Removed implicit gamma to linear conversion from EXR writer

	  - This was only implemented for exr data that was supplied as 8 bits per channel (ie. uint8), but there is no way of communicating with the Image Writer API to tell it whether you want it to do that conversion. This code is too low level to be making assumptions about what color-space the data is in.
	  - This ensures that R8G8B8A8 render targets exported as EXR are exported as-is without any modification

	#jira UESP-545

Change 4093830 by Andrew.Rodham

	Fixed shutdown crash when destroying a media player that was still playing

Change 4093831 by Andrew.Rodham

	Fixed exception handling in png image wrapper

Change 4093833 by Andrew.Rodham

	Slate: Fixed not being able to set a hyperlink on notifications with unbound attributes that had explicit values set

Change 4093841 by Andrew.Rodham

	Added a utility struct for dealing with editor actor layers from within Blueprints

Change 4093867 by Andrew.Rodham

	Sequencer: Added the ability to implement custom capture protocols for movie scene captures

	  - Converted capture protocol settings and instances to be single UObjects. This unifies the two concepts, and allows for Blueprint implementations.
	  - Removed capture protocol registry since it is no longer required.
	  - Removed FCaptureProtocolID in favor of class discovery at runtime.
	  - Added new module "ImageWriteQueue", responsible for asynchronously managing a queue of image file write operations.
	  - Added new capture protocol for capturing final pixels to EXR (including burn-ins)
	  - Added a new BP function, ExportToDisk, accessible on all UTexture properties for writing texture and render target data to image files
	  - New global BP nodes for querying movie capture status: IsCaptureInProgress, FindCaptureProtocol
	  - Removed Flush On Draw functionality from viewports and frame grabber since it is unnecessary.

	#jira UESP-545

Change 4094239 by Rex.Hill

	Export sequence to usd
	#jira UESP-563

Change 4094393 by Andrew.Rodham

	Renamed references of 'BufferName' to 'StreamName' for user defined capture protocols

Change 4094622 by Patrick.Boutot

	Add MediaFrameworkUtilitites plugin.
	Add MediaBundle. An asset that create a MediaPlayer, MediaSource, MediaTexture and MaterialInstance.
	Add MediaBundleActor. Can auto play a MediaBundle when click & drag in the viewport.
	Add the Media category in placement mode.
	Add flag on the MediaPlayer that prevent it from closing when PIE is started or closed.

Change 4094673 by Anousack.Kitisa

	Created widget to display metadata as list view of tags/values.

	#jira UEENT-1296

Change 4094795 by Simon.Therriault

	MediaFrameworkUtilities

	- Adding default media texture for default media bundle material
	- Changed default material to unlit

Change 4094867 by Rex.Hill

	Usd sequence exporter camera rotation corrected

Change 4096426 by JeanLuc.Corenthin

	- Fixed logic of FLayoutUV::FindCharts to properly extract the list of triangles based on a mesh description.
	- Fixed logic in FMeshDescriptionOperations::ConverToRawMesh & FMeshDescriptionOperations::ConvertHardEdgesToSmoothGroup to take in account the fact that the arrays are sparse arrays
	- Fixed logic in FQuadricSimplifierMeshReduction::ReduceMeshDescription which wrongly assumed that number of vertex instances equals three times the number of triangles.
	- Added early-out in UMeshDescription::ComputePolygonTriangulation when perimeter has 3 vertex indices
	- Changed version of static mesh and mesh description
	- Fixed issue with mismatching attribute set when generating LOD meshes

	#jira UEENT-887, UE-59474, UE-59471

Change 4097101 by Patrick.Boutot

	Remove warning in PropertyEditorClass when trying to load the "None" class.

Change 4097443 by Rex.Hill

	USD export bake keys

Change 4097468 by Patrick.Boutot

	Edit and initialize the timecode provider of the editor.

Change 4097479 by Anousack.Kitisa

	Added support for commandlet and unattended script modes to Plugin Warden.

	#jira UE-57333

Change 4097578 by Rex.Hill

	USD export tweaks

Change 4098257 by Simon.Therriault

	GarbageMatteCaptureComponent

	- Adding spawned actor tracking to be able to use GarbageMatteActor spawned in editor.

Change 4100072 by Jamie.Dale

	Updated wrapped enums to be more consistent with native Python enums

	 - Wrapped enums now generate values that are instances of the enum type itself, containing a name and value field (like native Python enums).
	 - Wrapped enums are now strongly typed and do not allow implicit conversion from numbers (explicit casting is available, but throws if the value is unknown).
	 - Wrapped enum entries may be compared against numbers (even numbers that don't have valid values) via the == and != operators (like IntEnum in Python).
	 - Wrapped enums may now be iterated (like native Python enums).
	 - Wrapped enums now return a length based on their number of entries (like native Python enums).
	 - ScriptName meta-data can now be used with enum entries.

Change 4100255 by Patrick.Boutot

	[MediaBundle] Modify the base shader to support "failed texture"

Change 4103838 by Simon.Therriault

	MR Garbage Matte Component

	- Adding FocalDriver interface to be able to poll focal information from outside (cinecamera). Could be updated to be event driven.

Change 4115616 by Rex.Hill

	USD Exporter now exposed to UI

Change 4116333 by Simon.Therriault

	MediaBundle

	- Updated default media bundle to include lens distortion and chromakeying
	- Added possibility to spawn material editor for MediaBundle inner material
	- Fix for inner objects flags preventing asset deletion
	- Fix for CloseMedia not being called when changing map

	Lens Distortion
	- Fix for not being able to generate a Identity lens displacement map

Change 4117952 by Rex.Hill

	Expose OpenEditorForAssets to python

Change 4118498 by Rex.Hill

	Sequencer USD export can now export properties of actors in levels

Change 4118515 by Rex.Hill

	Update sequencer export task comment

Change 4118706 by Rex.Hill

	Sequencer USD updates

Change 4118968 by Rex.Hill

	Sequencer USD export now supports visibility

Change 4119702 by Simon.Therriault

	MediaBundle

	- Fix crash when changing MediaBundle on Actor multiple times.
	- Fix crash when Undoing after placing a MediaBundle and pressing Stop then Undo.
	- Fixed bad reference count in MediaBundle when undo/redo of MediaBundle setting changed on MediaBundleActor
	- Added PostEditChange after setting MaterialProperty to fix potential propagation.

Change 4120060 by Patrick.Boutot

	Fix typo for TimecodeProviderClassName.
	Add "Config required restart"
	Add a button to reapply the CustomTimeStep or TimecodeProvider

Change 4122062 by Krzysztof.Narkowicz

	Fixed movie burnout fixed timestep. Engine didn't use a fixed time step due to a following bug:
	1. UAutomatedLevelSequenceCapture::Initialize calls UMovieSceneCapture::Initialize.
	2. UMovieSceneCapture::Initialize creates FRealTimeCaptureStrategy and calls CaptureStrategy->OnInitialize().
	3. UAutomatedLevelSequenceCapture::Initialize changes CaptureStrategy to FFixedTimeStepCaptureStrategy, but no one calls CaptureStrategy->OnInitialize(); after that and this function is required to set the fixed time step.
	4. Result: movies are burned out with variable time step, causing different inconsistencies between frames, settings and HW configurations.

	#jira none

Change 4122236 by Anousack.Kitisa

	Made the "Import Into Level..." File menu action follow the EditorImport flag of a SceneImportFactory.

	#jira UE-57612
	#jira UEENT-762

Change 4122588 by Rex.Hill

	Sequencer Export USD lights now supported

Change 4122822 by JeanMichel.Dignard

	Fix for UV packing FlipX. Don't flip the empty columns at the end since they are always expected to be on the right side. The same was already done for FlipY.

	#jira UE-56664

Change 4123009 by JeanMichel.Dignard

	Copied fixes from MeshUtilities LayoutUV to MeshDescription LayoutUV

Change 4123517 by JeanLuc.Corenthin

	Fixed crash when running cooked game crash with asset imported from datasmith

	#jira UE-60173

Change 4124569 by Patrick.Boutot

	[AJA]
	When the CustomTimeStep & TimecodeProvider signal is lost in the editor (not in PIE), try to re-synchronize every second.

Change 4126421 by Max.Chen

	Sequencer: Add the ability to switch the takes of all the selected shots/subsections.

	#jira UESP-761

Change 4133010 by Simon.Therriault

	MediaBundle

	- Made assets in the bundle visible in the content browser (different package per asset) and updated to support duplication correctly
	- Quick fix for MaterialDynamicInstance garbage matte parameter not going back to default value when cleared.
	- Added looping option on the bundle

	Keyer and lens materials

	- Renamed some parameter groups to Keyer_XX

Change 4135728 by Rex.Hill

	MovieSceneCapture crash fix when iteration on classes defined in python

Change 4135732 by Rex.Hill

	Sequencer scripting: expose get playback range, sub sequence get sequence

Change 4135734 by Rex.Hill

	USD python code refactored

Change 4136017 by Matt.Hoffman

	Fixes FrameNumber nodes tripping an ensure when using them via Blueprints and fixes FrameNumbers & friends not being properly breakable in BP.

	#jira UE-60188

Change 4147959 by Patrick.Boutot

	Media Output Architecture. Support 8bits & 10bits color. Capture the buffer as is with the correct pixel format and the corredt target size.

Change 4147962 by Patrick.Boutot

	Remove AjaMediaViewportOutput && AjaMediaViewportOutputImpl.
	Refactor AjaMediaOutput to extend MediaOutput.
	Refactor AjaMediaGrameGrabberProtocol to use AjaMediaCapture.
	Create AjaMediaCapture.

Change 4148395 by Rex.Hill

	USD python code cleanup

Change 4152901 by Rex.Hill

	Fix crash when recompiling blueprint or script class that serializes an object reference manually

Change 4152906 by Rex.Hill

	USD level import/export exposed to UI

Change 4152956 by Rex.Hill

	Rename unreal_usd to usd_unreal to avoid future module name conflicts

Change 4153331 by Rex.Hill

	Simplify USD attribute definitions

Change 4155472 by Rex.Hill

	USD level import now handles cameras and lights

Change 4155832 by Patrick.Boutot

	Fix Packaging for MediaFrameworkUtilities
	Fix MediaPlayer that crash on close when the engine is closing.

Change 4156020 by Mike.Zyracki

	LIVE LINK Sequencer Recording and Playback

	#jira UESP-714
	#jira UESP-715
	Support for Live Link Recording/Playback with Sequencer.
	Basically if we see a MotionController controlled by a LiveLink Subject or a LiveLink Component on a Actor we create a LiveLinkTrack for it that will record raw sequencer data into. We currently do that at the end of recording but will investigate saving it as we record.
	For Playback we create a Live Link Subject per recorded track and push up interpolated data per Engine Tick on Evaluate. We need to see if we need to send out raw data but that's complicated due to the fact that sequencer time may not be sequential but random,

	Moved FLiveLinkTimeFrame to LiveLinkTypes so we can grab raw data. Added functions to LiveLinkClient/Subject to get raw data so we dont' need to do expensive searches.

	Also changed that code so that we can only save the LiveLinkData when specified. We decided to have the sequencer own saving of the live link data so we explicilty turn on saving when we start to record and then turn if off at the end. Without this it's possible to easily run out of memory while LiveLink records.

	In order to record LiveLinkComponents under Actors we had to change ActorRecording to record ActorComponents and not jus SceneComponents.  Not sure of any drawbacks with this but it seems to work well.  Had to make sure we stll keeped attach/parent/child logic when recording.

Change 4158488 by Rex.Hill

	USD scene import/export now uses UsdLux lights

Change 4158742 by Rex.Hill

	USD: Add test for level export and import

Change 4161645 by Patrick.Boutot

	Update MediaRecorder to use the ImageWriteQueue.
	Add flag in IImageWriteQueue.Enqueue to prevent block if the queue is full.

Change 4161651 by Patrick.Boutot

	Modify MediaCompositing to use an existing MediaPlayer

Change 4161657 by Patrick.Boutot

	Extend the SequenceRecorder to support additional object to record from other plugins.
	Add SequenceRecorder for MediaPlayer. Will record every frame to disk that the MediaPlayer produce.

Change 4162699 by Rex.Hill

	USD export sequence updates

Change 4163138 by Rex.Hill

	USD sequence export test added

Change 4163426 by Mike.Zyracki

	Fix for Curve Names being kept and AutoSetting Tangents on Live Link Recording

Change 4165714 by Patrick.Boutot

	[MediaCapture]
	Remove color box that tell the status of the MediaCapture.
	Add MediaCapture's name and use an image to represent the status.
	Use a ScrollBox around the "preview" output.
	Can select any actors.
	Only show the selectable camera grid when there is more than one camera.

Change 4166652 by Rex.Hill

	Expose SetMobility to scripting

Change 4167292 by Mike.Zyracki

	Make sure we call Finalize Evaluation when closing or deleting the Sequencer. This will make sure TearDown is called on sections which fixes issues with LiveLink Sources not getting deleted and probably also issues with MovieScenePlayers not getting released correctly.

	Also includes addition to show the SubjectName next to the Sequencer Source in the LiveLinkClient UI.

Change 4170578 by Rex.Hill

	PackageTools exposed to scripting

Change 4170619 by Rex.Hill

	Fix ReversePolygonFacing crash

Change 4170621 by Rex.Hill

	USD mesh import can now be given list of individual meshes

Change 4172495 by Matt.Hoffman

	Fixes some flipped logic in Sequencer Media Track that was preventing it from working as expected.
	Slightly simplifies the logic on setting up movie data, and ensures that the external movie player has a callback registered so that SeekTo calls will work. Makes it so that you can specify your own sound component with an external media player as a media player can have multiple sound components listening to it. Adds support for flagging the media player to loop to help cue some media sources like EXR to handle loop points better.

	#jira None

Change 4173387 by Jon.Nabozny

	Bookmark usability and extensibility improvements

Change 4173755 by Rex.Hill

	PackageTools namespace deprecation

Change 4181799 by Patrick.Boutot

	Fix precesion error when importing a camera switcher in sequencer
	#jira UE-61212

Change 4184435 by Patrick.Boutot

	Only show the MediaCapture tab spawner in the level editor.
	Make sure the Material used to draw the render target is GCed.

Change 4195803 by Patrick.Boutot

	Warn user if the AJA CustomTimeStep is used with VSync enabled.

Change 4195866 by Patrick.Boutot

	Remove mention of CharBGR10A2 in AJA. The feature is not yet ready.

Change 4196059 by Rex.Hill

	Fix linux compile due to a .cpp including BookMarkBase.h instead of BookmarkBase.h

Change 4196380 by Patrick.Boutot

	MediaCapture capture the backbuffer when the Viewport don't use an internal texture.
	#jira UE-61601

Change 4199378 by Patrick.Boutot

	For MediaFramework, add support for 10bits RGB texture

Change 4199380 by Patrick.Boutot

	[AJA] Add support for 10bits RGB texture in input
	Fix interlaced format that wasn't using the proper Stride value.

Change 4200359 by Jamie.Dale

	Renamed some "K2_" prefixed functions for Python

Change 4203016 by Max.Chen

	Sequencer: Add movie scene locking/read only.

	Fixed a few bugs with locked sections - shouldn't be able to create or move keys on locked sections

	#jira UESP-867

Change 4203018 by Max.Chen

	Sequencer: Test for movie scene read only before calling modify/transactions.

	#jira UESP-867

Change 4203622 by Simon.Therriault

	Bringing Aja MediaOutput MediaMode fix from Release 4.20

Change 4204895 by Rex.Hill

	Expose several file path functions to scripting

Change 4206747 by Rex.Hill

	USD level import and export updates

Change 4206783 by Rex.Hill

	USD updates

Change 4207021 by Rex.Hill

	USD, fix rotation on level import when there is non-uniform scale

Change 4207414 by Rex.Hill

	USD import static mesh material improvements

Change 4209733 by Patrick.Boutot

	Change the log time to use the current frame Timecode

	#jira UEENT-1107

Change 4209738 by Patrick.Boutot

	Option to automatically try to reopen the MediaSource again if an error is detected

Change 4210385 by Max.Chen

	Sequencer: Fix CurrentShot LocalTime computation by using sequence time in playback resolution to compute the local shot time.

	Also, fixed the burnin asset so that CurrentShotLocalTime is hooked up to ShotFrame instead of MasterTime.

	This fixes a bug where the burnin's {ShotFrame} is not reporting the local shot frame number.

	#jira UE-61728


Change 4219824 by Patrick.Boutot

	Use the correct EditorCondition for property MaxNumAncillaryFrameBuffe

Change 4220706 by Louise.Rasmussen

	Sequencer: Syncronizes Sections using Source Timecode Relative to the first Selected Section

	#JIRA UESP-826

Change 4220708 by Louise.Rasmussen

	Sequencer: Adds SourceTimecode option to the Render Movie Settings Burn In

	#JIRA UESP-826

Change 4226970 by Patrick.Boutot

	Add a Timecode widget, TimecodeProvider widget and a TimecodeProvider Tab

Change 4227333 by Rex.Hill

	USD Sequencer export now supports deltas

Change 4227455 by Matt.Hoffman

	Adds support to the Audio Mixer Submix to pause and resume a recording.

	#jira UESEQ-77

Change 4230963 by Patrick.Boutot

	Make the namespace an import option

Change 4234208 by Jon.Nabozny

	Fixed crash when 5 or more LiveLink sources were connected at the same time

Change 4234273 by Jon.Nabozny

	Add methods in FApp to get the current Timecode FrameRate.

Change 4237170 by Simon.Therriault

	MediaCapture

	Fix for MediaCapture panel not working in PIE

Change 4243758 by Andrew.Rodham

	It's now possible to resolve pixel data from a render target whose texture resource is still pending creation

Change 4244790 by Matt.Hoffman

	This adds experimental support to Sequencer's Render to Movie for exporting audio via rendering a second pass.
	This requires the new audio mixer (launch editor with "-audiomixer") and currently supports exporting to .wav. The second pass disables rendering in the Viewport and disables capturing frames during this pass which removes the overhead caused by rendering the scene. Complex scenes still evaluate the sequence which may impact performance in complex situations (such as the Fortnite Launch Trailer).

	Current Limitations:
	Requires the new audio mixer ("-audiomixer")
	The second pass must acheive real time framerates. The audio engine is only built to handle real time situations (due to the high precision needed, gotten via the platform clock) so any drops in engine framerate during the second pass will cause a desync of the audio (as there will be more samples captured than frames of video).
	The editor has significant overhead which often prevents achieving consistent real-time rates. Using "Capture in New Process" alleviates this issue, even without closing the Editor.
	Audio has been enabled for both image capture and audio capture passes, which means stuttery audio now plays back during image capture. Attempts to alleviate this issue ended up conflicting with some editor code that forces the audio multiplier to 1.0 each Tick(), so audio has to play on both image and audio passes. Forces background audio (otherwise your output audio wav will be blank!) when app is not in focus, though users should leave the app in focus for best performance.

	#jira UESEQ-77, UESP-669

Change 4246443 by Simon.Tourangeau

	Remove Beta flag from nDisplay plugin

	#jira UEENT-1716

Change 4246480 by Simon.Tourangeau

	Fix nDisplay plugin icon

	#jira UEENT-1715

Change 4246571 by Simon.Tourangeau

	Merging Lauren's VR Editor fixes

	4085915 Gamma correction fixes for VR Mode Content Browser icons and camera previews
	4087955 Adding a third looping option to the Sequencer Radial Menu. Selecting the Looping option now cycles through No Looping > Loop All > Loop Range
	4089914 Adding set start/end range buttons to radial menu
	4090502 Fixing sequencer looping not being set correctly
	4092824 Cameras are now visible in VR Mode - interim implementation until Game Mode works entirely
	4095161 Fix for opening a sequence blocking level editor tab drag and drop
	4096999 Making a VR Edit show flags mode that is similar to Game Mode but without the Game flag set to true, does hide billboards. Camera hide/show behavior is now correct.
	4097286 Placing cameras now only summons the preview panel once you release
	4100941 New spawn location for camera preview window (in front and to the side, on whichever side matches your UI hand)
	4102732 Hiding VR editor elements from camera preview
	4103378 Added camera burnin text on preview windows as well.
	4103466 Fixes for camera text
	4103779 Fix for the actor previews not unpinning when entering VR mode.
	4105722 Adding support for multiple viewport previews in VR mode, and not creating a new viewport interaction if one already exists when getting it.
	4106982 Any dockable window can now be placed in the world.
	4107298 Fix for crash when closing multiple camera previews
	4107426 Fix for crash when connecting node with no texture set
	4136343 UI windows docked "to the world" no longer scale with you and stay the size they are docked at.
	4136345 Settings for tweaking VR mode movement
	4147473 Fix for controllers not showing up
	4147734 Sequencer scrubbing will now pause when removing your thumb from a Vive touchpad
	4171489 Added external UI panel support to VREditor module. Created an example camera-adjusting UI
	4186392 Second fix for sequencer scrubbing on the radial menu

Change 4247984 by Jamie.Dale

	Fixed potential memory corruption caused by Python glue code generation

	#jira UE-62397

Change 4255471 by Anousack.Kitisa

	Added functionalities to add/insert/remove UV channel from a StaticMesh accessible through the StaticMeshEditor and scripting.

	#jira UEENT-1592
	#jira UEENT-1597
	#jira UEENT-1660

Change 4256323 by Anousack.Kitisa

	Added Polygon Selection Mode by smoothing group in the MeshEditor.

	#jira UEENT-1594

Change 4258012 by Homam.Bahnassi

	Extending UVEdit material function to support mirroring. #jira UE-57306

Change 4258231 by Jamie.Dale

	Fixed GetHostName failing to convert UTF-8 data correctly

Change 4258579 by Jamie.Dale

	Ensure that packages re-created after deleting their only asset are marked as fully loaded

Change 4258652 by Jamie.Dale

	Added script exposed method to convert an Unreal relative path to absolute

Change 4259124 by Patrick.Boutot

	For MediaBundle, show or hide the failed texture on console.

	#jira UE-61672

Change 4259264 by Jamie.Dale

	Show an error if trying to use ExecutePythonScript without Python enabled

	#jira UE-62318

Change 4259451 by Jamie.Dale

	No longer use stale subtitles in dialogue waves

	#jira UE-61500

Change 4259511 by Jamie.Dale

	Fix crash when passing None as the class for find/load_asset

	#jira UE-62130

Change 4259542 by Patrick.Boutot

	Can select the TimecodeSynchronizer from the Toolbar menu. Add option to show it in the toolbar. Can be defaulted by user/machine.

Change 4259582 by Patrick.Boutot

	Hide Edit & Paste from PropertyMenuAssetPicker

Change 4260760 by Max.Chen

	Sequencer: Fix dereferencing null pointer - CameraNode

Change 4260895 by Jamie.Dale

	Changing localization target settings now updates the gather INI files immediately

Change 4262166 by Patrick.Boutot

	Add support for MediaSourceProxy and MediaOutputProxy.

Change 4262535 by Andrew.Rodham

	Sequencer: Added a method for user-defined capture protocols to resolve a buffer and pass it directly to a bound delegate handler

	Originating source CL#4261391

Change 4262669 by Patrick.Boutot

	Add MediaProfile. It let the user select their media sources and media outputs by machine by user.

Change 4264577 by Patrick.Boutot

	Change the type of FMediaFrameworkCaptureCameraViewportCameraOutputInfo.LockedCameraActors to LazyObject to enable cross level reference.
	#jira UE-62438

	Include dependence to settings

Change 4265750 by JeanLuc.Corenthin

	Fix array's size issues with MeshDescription utility functions

	#jira UEENT-1574

Change 4268181 by Patrick.Boutot

	Mark LockedCameraActors as deprecated.

#ROBOMERGE-OWNER: jason.bestimt
#ROBOMERGE-SOURCE: CL 4279869 in //UE4/Main/...
#ROBOMERGE-BOT: DEVVR (Main -> Dev-VR)

[CL 4280409 by jeanmichel dignard in Dev-VR branch]
2018-08-13 14:05:42 -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
Dan Oconnor
2c80e4ea2e Copying //UE4/Dev-Framework to //UE4/Dev-Main (Source: //UE4/Dev-Framework @ 4006870)
#lockdown Nick.Penwarden
#rb None
#rnx

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

Change 3967603 by Marc.Audy

	Fix force feedback events being played on the correct controller if the OffsetPlayerGamepadIds feature is in use
	#jira UE-56077

Change 3969399 by Phillip.Kavan

	Partially fix runtime failures for converted circular dependency test actors in a nativized QAGame.

	#jira UE-56287

Change 3970181 by Phillip.Kavan

	Improved handling of circular dependencies during Blueprint nativization between converted and unconverted assets.

	Change summary:
	- Removed FGatherConvertedClassDependencies::MarkUnconvertedClassAsNecessary(); no longer in use.
	- Modified FFindAssetsToInclude::MaybeIncludeObjectAsDependency() to remove the case that was marking assets for stub class generation; no longer needed.
	- Modified FBlueprintNativeCodeGenModule::IsTargetedForReplacement() to detect, report on and handle circular references between converted and unconverted assets (ensuring that both sides are converted).

	#jira UE-56292

Change 3970185 by Phillip.Kavan

	Fix initialization of special UMG struct types in nativized Blueprint ctor code.

	Change summary:
	- Modified FBackendHelperUMG::SpecialStructureConstructorUMG() to emit the proper constructor call based on the value of the 'ForcedTime' field. Also modified to emit updated constructor code for the FMovieSceneSegment struct's 'Range' member, which is now a TRange<> type.
	- Fixed a typo in the TBaseStructure<FInt32Range> case in FEmitDefaultValueHelper::SpecialStructureConstructor().

	#jira UE-56487

Change 3971520 by mason.seay

	Adjusted widget anchor to fix screen positioning

Change 3972611 by Mieszko.Zielinski

	Fixed some of the vislogger macros using old 'Actor' rather than new 'LogOwner' parameter #UE4

	#jira UE-56978

Change 3973564 by Phillip.Kavan

	Fix missing dependency on linker response file. Prevents target being relinked when build environment changes.

	- Mirrored from //UE4/Dev-Core (3973331).

	#jira UE-56277

Change 3974308 by Phillip.Kavan

	Fix crash when choosing to delete multiple bookmarks selected in the Bookmarks tree view.

	Change summary:
	- Modified SBlueprintBookmarks::OnDeleteSelectedTreeViewItems() to make a local copy of the reference to the entry in the source array.
	- Modified FBlueprintEditor::RemoveBookmark() to save local config settings *after* modifying the persistent Bookmarks array (it was previously happening before).

	#jira UE-55598

Change 3975506 by Mason.Seay

	Code and blueprints for subobject testing

Change 3977558 by Mason.Seay

	Checking in missed header file

Change 3978137 by Ben.Zeigler

	#jira UE-57154 Fix crash where component instance data cache would duplicate external objects during the null component pre serialize

Change 3978326 by Ben.Zeigler

	#jira UE-57062 Only look for class redirects for soft object paths if the string starts with /script, some of the class redirect match strings are overly broad and were catching assets

Change 3978393 by Ben.Zeigler

	Fix FAssetData::IsUAsset comment to match what it actually does, old comment implied it was false for maps which is wrong

Change 3978837 by Marc.Audy

	Make GetAutoEmitTermParameters and IsAutoCreateRefTerm static and optimize both

Change 3978838 by Marc.Audy

	(4.19.1) PR #4480: Crash fix trying to open the console command on Windows (Contributed by bakjos)
	#jira UE-54908
	#jira UE-54215

Change 3979156 by Marc.Audy

	PR #4615: Update WindDirectionalSourceComponent.h (Contributed by c4tnt)
	#jira UE-57071

Change 3982289 by Ben.Zeigler

	Fix several issues with unloaded blueprints and the class picker/viewer
	#jira UE-53646 Reimplement CR #4369 so setting a Class blueprint variable to a blueprint class will correctly allow unloaded blueprint children to be selected in the picker
	Added FName defines to FBlueprintTags for the asset registry tags used for unloaded blueprints, and removed the ParentClassPackage tag as it was redundant with ParentClass
	Fixed it so Soft Class Reference properties can be set back to none with the picker
	Removed FUnloadedClassDragDropOp as it did not work correctly and replaced uses with FAssetDragDrop, which was already used for content browser drags
	Changed internals of class viewer to properly store and use the paths to the actual generated class

Change 3982684 by Ben.Zeigler

	Add DevelopmentAlwaysCook setting to the asset manager cook rule, this works like AlwaysCook in development and like NeverCook in production. DevelopmentCook works like Unknown in development

Change 3982762 by Mieszko.Zielinski

	PR #4614: Fix UBTTask_RotateToFaceBBEntry when trying to face a position where i. (Contributed by Goutye)

	I've improved the original PR by relaxing condition constraints, and removing some unnecessary vector normalization (since FVecotr::CosineAngle2D normalizes the input parameters anyway).


	#jira UE-57070

Change 3982866 by Marc.Audy

	Defer Destroying an Actor if it is in the process of beginning play
	#jira UE-57091

Change 3982965 by Mieszko.Zielinski

	PR #3567: add API declarations to BlueprintNodeHelpers (Contributed by kayama-shift)


Change 3987399 by Dan.Oconnor

	Remove unused ReloadObjectArc and unimplemented ArchiveReplaceArchetype

	#jira None

Change 3987956 by Mieszko.Zielinski

	Fixed inconsistincies in BT category naming in BP #UE4

	#jira UE-57262

Change 3988308 by Mieszko.Zielinski

	Fixed 'navmesh needs to be rebuild' displaying even after navigation building with navmesh auto building disabled #UE4

	#jira UE-57286

Change 3989309 by Mieszko.Zielinski

	A support AI pluggin that links the aimodules #UE4

Change 3989311 by Mieszko.Zielinski

	Moved the HTNPlanner plugin into the newly created Plugins/AI subfolder #UE4

Change 3989506 by mason.seay

	WIP Navigation Test Map

Change 3990826 by Phillip.Kavan

	Fix existing placements of nativized Blueprint actors with a nonzero (legacy) root component scene transform at the CDO level.

	This corrects a long-standing issue that was introduced back in 2947488.

	Change summary:
	- Modified AActor::PostSpawnInitialize() to zero out RelativeLocation and RelativeRotation when spawning actors with a native scene root inherited from a converted Blueprint class.
	- Modified FNonativeComponentData to remove the HandledAsSpecialProperty() override for skipping the RelativeLocation and RelativeRotation properties on root components when emitting code to initialize the CDO for a converted Actor BP with a non-native root component.

	#jira UE-50452

Change 3993174 by mason.seay

	Cleared out unnecessary BP logic

Change 3994370 by Ben.Zeigler

	Remove manual AI includes, the AI support plugin correctly pulls in those references now

Change 3995399 by Marc.Audy

	When destroying the world clear out level collections
	#jira UE-57257

Change 3995731 by Marc.Audy

	Fix UEngine::CommitMapChange issues with new streaming level state machine
	* Level needs to be added to array before determining current state
	* Should be adding, not setting streaming levels from fake world

	#jira UE-57424

Change 3996917 by Ben.Zeigler

	ObjectWriter should not reset the soft object weak pointer, it should be a const operation

Change 3996921 by Ben.Zeigler

	#jira UE-57288 Improve ensures for invalid primary asset types, it only complains if type is set and gives a better error

Change 3997164 by Dan.Oconnor

	Don't purge classes until they are recompiled and relink all child classes immediately after a blueprint generated class has changed. This allows iterative compilation logic to behave as it did before the compilation manager
	#jira UE-55667

Change 3997674 by paulo.souza

	Reverting camera setup changes from the renaming

Change 3997901 by mason.seay

	Updates to subobject test bp's

Change 3998028 by mason.seay

	Move logic to Event Graph

Change 3998051 by Mason.Seay

	Adding QAGame ClassGroup to actively tested QAGame components for organization

Change 3999438 by Dan.Oconnor

	Fix deterministic cooking issues by avoiding use of MakeUniqueObjectName when instantiating component templates
	#jira FORT-81409

Change 4000265 by Mason.Seay

	Checking in QAGame classes again to (hopefully) fix property issues

Change 4000339 by Marc.Audy

	PR #4652: AttachComponent Message Fix (Contributed by nonlin)
	#jira UE-57656

Change 4001338 by Dan.Oconnor

	Fix reinstancing bug introduced in 3591939 which could cause some reinstanced objects to have references within them replaced. If the object in question was an actor it could take ownership of components owned by another actor and destroy them, resulting in a crash when the other actor tried to use its components

	#jira UE-57335

Change 4001400 by Marc.Audy

	Per https://udn.unrealengine.com/questions/407745/childactorcomponent-and-modifications-to-component.html don't redirect or reset loaders when renaming components as part of the component instance data cache.

Change 4001530 by Marc.Audy

	Use a clean default object to calculate the empty archive size.

Change 4002791 by Marc.Audy

	Fix ensure when loading sublevel that has been redirected
	#jira UE-57516

Change 4002812 by mason.seay

	Added BP code to test Watching Sets and Maps

Change 4002947 by mason.seay

	More code for watch values testing

Change 4003059 by paulo.souza

	Fixes to volumetric lighting and sphere capture bakes

Change 4003509 by Dan.Oconnor

	Reset bIsFakingTouched and bIsGameFakingTouch when the game viewport is unregistered. This prevents the PIE session from tainting editor session behavior when UInputSettings::bUseMouseForTouch is set
	#jira UE-57724

Change 4005596 by Phillip.Kavan

	Fix random crashes when running multiple global blueprint search tabs in parallel just after editor launch.

	Change summary:
	- Refactored global FiB APIs to use thread-safe shared pointer types when referencing imaginary Blueprint data, which is a shared resource.
	- Modified FFindInBlueprintSearchManager::ContinueSearchQuery() to ensure that parsing imaginary Blueprint data only happens on a single thread.

	#jira UE-57046

Change 4005657 by Dan.Oconnor

	Don't attach OldRoot component if it's not outered to the current actor
	#jira UE-55300

Change 4005709 by Phillip.Kavan

	Ensure rather than assert on failed child promotion when destroying a non-root scene component within an Actor's scene component hierarchy.

	#jira UE-52921

Change 4005825 by paulo.souza

	New camera angle + touch rotation tests + "Action RPG" logos

Change 4006058 by Sam.Deiter

	Removing this as it is not needed.

Change 3980745 by Marc.Audy

	Apply CL# 3977198 from Dev-Core
	#author Ben.Marsh
	Remove INI file override for editor stack size on Windows. This is rarely valid since editor targets share build products with other games by deafult. Fix to add linker response file as prerequisite exposed targets overriding this as a bug.

[CL 4006923 by Dan Oconnor in Main branch]
2018-04-16 20:19:04 -04: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
bb08e8c000 Copying //UE4/Dev-Editor to //UE4/Dev-Main (Source: //UE4/Dev-Editor @ 3621452)
#lockdown Nick.Penwarden
#rb none
============================
  MAJOR FEATURES & CHANGES
============================

Change 3567301 by Arciel.Rekman

	Linux: fix for importing failure when clicking shortcuts (UE-47932).

	- Slate dialog would return incorrect relative paths (not matching CWD) if Engine or Project shortcuts were used.

	#jira UE-47932

Change 3567687 by Arciel.Rekman

	Minor fixes to gdb pretty printers by icculus.

Change 3568024 by Arciel.Rekman

	Made SDL_SetWindowInputFocus() wait until window is viewable (UE-33369).

	- Pull request #2608 contributed by Ereski.
	- Updated x86_64 lib only (anticipating more changes to SDL).

	#coderview Cengiz.Terzibas, Ryan.Gordon

Change 3568173 by Max.Chen

	Movie Scene Capture: Delay on shot boundaries by setting the sequencer play rate to 0.

	This allows particles, TAA, and other effects to settle on the shot cuts.

	#jira UE-44598

Change 3568174 by Max.Chen

	Sequencer: Added option to rerun construction scripts on bound actors in the sequence every frame.

	#jira UE-31193

Change 3568331 by Matt.Kuhlenschmidt

	PR #3850: Add extensible source navigation service (Contributed by mhutch)


Change 3568350 by Matt.Kuhlenschmidt

	PR #3851: Add argument to pass params to standalone play session (Contributed by mhutch)


Change 3568387 by Matt.Kuhlenschmidt

	PR #3852: Add FEditorDelegates::BeginLocalPlay event (Contributed by mhutch)


Change 3568541 by Arciel.Rekman

	Merged Icculus' patch for copy-paste (UE-40071).

	- Alas does not seem to fix inability to copy/paste between Output log and kate.
	- Updated x86_64 lib only (anticipating more changes).

Change 3568547 by Arciel.Rekman

	Fix OpenGL queries reused after deletion.

Change 3568790 by Matt.Kuhlenschmidt

	PR #3857: Loading screen widgets not scaled correctly (Contributed by projectgheist)


Change 3568900 by Alexis.Matte

	Fix the fbx re-import factory handler to say failed in case there was no geometry to import.
	#jira UE-47506

Change 3568902 by Alexis.Matte

	Reduce memory footprint when importing large FBX scene PR #3834
	#jira UE-47833

Change 3569061 by Arciel.Rekman

	Linux: remove unnecessary symbols for MSVC visualizers.

	- Reported by ASan as collision because they exist in each DSO.

Change 3569782 by Cody.Albert

	Updated ImportAssets Commandlet help text to properly reflect supported features.

Change 3569843 by Arciel.Rekman

	SDL: add logic to select headless EGL device.

	- SDL will try to guess which device is GPU using CUDA device id (can also be hinted explicitly).
	- Also fixes the problem of engine not starting on some drivers that don't support the necessary EGL extensions.

Change 3570234 by Max.Chen

	Sequencer: Import FBX settings. Added settings to toggle force front x axis and whether to create cameras that don't already exist in the level.

	#jira UE-46754

Change 3570578 by Arciel.Rekman

	Linux: make FAnsiMalloc compatible with malloc()/free().

	- Prerequisite for ASan. Also helps fringe cases when we have to use FAnsiMalloc.

Change 3571015 by Alexis.Matte

	Issue warning when we found zero normal, tangent or binormal
	#jira UE-46419

Change 3571376 by Jamie.Dale

	Force a unique package localization ID when loading packages for diffing

Change 3571412 by Jamie.Dale

	Removed unused setting

Change 3571487 by Alexis.Matte

	fix speed tree import cancel workflow
	#jira UE-47482

Change 3571614 by Jamie.Dale

	Games now use the native culture of any of the game targets as the fallback (rather than always using English)

	This replaces the previously removed redundant setting from CL# 3571412

Change 3572649 by Jamie.Dale

	SavePackageHelper now always honors KeepObjectFlags

Change 3572730 by Matt.Kuhlenschmidt

	Guard against crash in the details panel when there is a message in the queue and something scrolls into view when the list has been invalidated

	#jira UE-48037

Change 3572773 by Matt.Kuhlenschmidt

	Guard against high res screenshot crashing if the requested image size doesnt match the image data size

	#jira UE-47765

Change 3572813 by Michael.Trepka

	Workaround for a mysterious issue in Xcode 9 beta 3 and 4 which makes it generate -Wnullability-inferred-on-nested-type warnings/errors in MetalDebugCommandEncoder.h even though we tell Clang to ignore them in MacPlatformCompilerPreSetup.h

Change 3573043 by Arciel.Rekman

	FAnsiMalloc: fix compile issue (UE-48066).

	#jira UE-48066

Change 3573236 by Arciel.Rekman

	Linux: add UnrealLightmass to the installed build.

	- Was also requested by a licensee on UDN.

Change 3573705 by Arciel.Rekman

	SDL: update UE4 fork to the latest trunk (UETOOL-1242).

	- Revision 11184 form 2017-08-04: http://hg.libsdl.org/SDL/rev/04063928c4a8
	- Change by icculus (Ryan Gordon).
	- Rebuilt x86_64 library only for now.

Change 3573741 by Arciel.Rekman

	Fix crash when capturing a movie (UE-48093).

	#jira UE-48093

Change 3574389 by Max.Chen

	Sequencer: Array bounds check.

	#jira UE-48095

Change 3574399 by Max.Chen

	Sequencer: Fix crash in removing delegate

	#jira UE-47461

Change 3574415 by Max.Chen

	Sequencer: Put level visibility tracks in the SpawnObjects evaluation group to ensure levels are streamed before any possessable bindings are resolved

Change 3574416 by Max.Chen

	Prevent slow task feedback from performing slow operations (flushing rendering commands, checking if shaders are initialized) when there are no modal dialogs open

Change 3574726 by Matt.Kuhlenschmidt

	Focus the details view when actor selection changes if it is not focused

Change 3574922 by Michael.Trepka

	Copy of CL 3574653 by Richard.Wallis

	XCode Beta 4 Compile fixes. "Inferring '_Nonnull' for pointer type within array is deprecated "

Change 3576525 by Nick.Darnell

	Editor - Data table rows names sort correctly in the property customization.
	Blueprint - Fixing some crashes due to holding onto raw pointers instead of TWeakObjectPtrs.
	UMG - SetWidgetClass now reinstances the widget if you change it at runtime.
	Editor - Deleting actors that are still referenced now at least logs to the console what still references it.

Change 3576714 by Nick.Darnell

	Editor - Build fix.

Change 3576770 by Jamie.Dale

	Removed some dead code

	It seems to be left over from the first attempt at stable localization keys

Change 3578433 by Matt.Kuhlenschmidt

	Fix content browser settings being per project and having created a "Global" category for one setting

Change 3578556 by Max.Chen

	Editor: Fix toolbar shared ref which was keeping the viewport toolbar around when switching between default and cinematic viewports.

	#jira UE-48125

Change 3578561 by Matt.Kuhlenschmidt

	Fix USD importing not respecting DestinationPath for automated import

Change 3580124 by Matt.Kuhlenschmidt

	Fix bogus warning message when a property has an editcondition that is not marked edit aynwhere.  This has always been supported and is the correct way to make an editcondition

Change 3581936 by Jamie.Dale

	Restoring defaults for UContentBrowserSettings

Change 3582039 by Matt.Kuhlenschmidt

	High DPI mode changes
	- Editor viewport screen percentage is now adjusted automatically to account for DPI scaling.  By default the scene will be rendered at a lower resolution based on screen percentage calculated based on 100/DPIScale. Users can override this automatic calcuation in the performance options if desired.

	- DPI awareness is only set on windows in the editor now (still disabled by default)

	- Fixed hit proxy calculation not working properly with screen percentage

	- Developers can now register a delegate with SlateApplication to tell when a window's DPI changes

Change 3582049 by Matt.Kuhlenschmidt

	Fix color picker not properly converting FColor properties back to gamma space

Change 3582054 by Matt.Kuhlenschmidt

	Fix mac menus updating during unsafe times such as modal windows and slow tasks

	#jira UE-47874

Change 3582084 by Jamie.Dale

	Make sure to update the rendering resources for the active world if reloading its map build data

	This prevents a crash in the renderer due to it holding onto stale data

Change 3582257 by Matt.Kuhlenschmidt

	Fix widget component spawning widgets on cook

	#jira UE-48201

Change 3582655 by Matt.Kuhlenschmidt

	Fix DPI scale not being accounted for when entering immersive.

Change 3582706 by Matt.Kuhlenschmidt

	Fix automation tests

Change 3582728 by Matt.Kuhlenschmidt

	Turn on high dpi by default for windows editor

Change 3582732 by Matt.Kuhlenschmidt

	Turn on high DPI by default for mac editor

Change 3583112 by Max.Chen

	Sequencer: Add OnPlayReverse() event for when playback is in reverse

Change 3584130 by Matt.Kuhlenschmidt

	PR #3897: Git plugin: fix action icon in history window (Contributed by SRombauts)


Change 3584237 by Matt.Kuhlenschmidt

	Added the beginnings of a way to extend the usd importer with a custom resolver class that optionally handles prim identification and mesh and actor spawning.

	Added a test resolver that handles prims based on usd "kind" metadata.

Change 3584535 by Matt.Kuhlenschmidt

	Fix LOD identification in USD files

Change 3587703 by Matt.Kuhlenschmidt

	Fix tooltip

Change 3587901 by Matt.Kuhlenschmidt

	Fixed USD importing not finding and importing LODs properly

Change 3588380 by Matt.Kuhlenschmidt

	Fix ctrl+w not duplicating on mac

	#jira UE-46573

Change 3590435 by Jamie.Dale

	Added support for in-editor previews of localized game text

	This is configured by the "Preview Game Culture" setting, and will automatically be active when PIE is running (the preview language is also passed to any standalone games that are launched via the editor). This preview can also be used in the UMG editor to preview widgets in different languages.

	While a preview is running, all editable FText fields are locked-down (read-only) to prevent accidentally clobbering source data with translation data. You can also use this new lock-down feature to prevent any localization changes in your project (set "LockLocalization" to "True" under the "Internationalization" section of either your DefaultGame or DefaultEngine INI).

	In order to allow the game translations to be used in the editor, we now map the translation to any package localization ID variants when the LocRes data is loaded (or when looking up a specific piece of text). This is needed as the LocRes files only ever contain the "clean" versions of the IDs (without the package localization ID the editor uses), and also means that we no longer need to gather the "editor-only" variants of the text within assets.


Change 3592131 by Matt.Kuhlenschmidt

	Log for newly converted actors being pending kill

	#jira UE-47464

Change 3592200 by Matt.Kuhlenschmidt

	Made the class viewer menu function properly on mac.  Since it as a nomad tab it wasnt properly inserting itself into the top level menu on mac nor should it since it could be docked anywhere.  The filters menu is now consistent with other filters menus

Change 3592227 by Matt.Kuhlenschmidt

	Fix drag drop of actors being offset with high dpi monitors.

Change 3592719 by Bradut.Palas

	#jira UE-45632 - dual key bindings feature

	My approach was transforming the ActiveChord and DefaultChord into arrays and accessing them through an enum class called EMultipleKeyBindingIndex. A lot of connecting code, function prototypes, and data structures had to be changed to accomodate this. Most menus and tooltip texts are generated using the first valid active shortcut.

Change 3592793 by Bradut.Palas

	Fix compile warnings for InputBindingManager (there were actually hidden bugs among them)

Change 3593128 by Matt.Kuhlenschmidt

	Force low quality mode for background blurs by default on android

Change 3593579 by Michael.Dupuis

	#jira UE-47223 :
	If we have no world simply return null when GetLandscapeInfo is called
	Handle the cases in PostEditChange to handle null returned from GetLandscapeInfo

Change 3593580 by Michael.Dupuis

	Added missing shaders while generating thumbnails

Change 3593582 by Michael.Dupuis

	#jira UE-47492 : Make sure LayerInfo is valid before accessing data

Change 3593584 by Michael.Dupuis

	#jira UE-47253: Do not recreate the scene info in simulation mode

Change 3593585 by Michael.Dupuis

	#jira UE-48484: no longer mark the package dirty while generating the GrassMap if they were not existing

Change 3593586 by Michael.Dupuis

	#jira UE-48483 : hide the Rendering property group so user can't by mistake change the actor visibility

Change 3593593 by Michael.Dupuis

	#jira UE-48327: Added guard to prevent crash when using CVarFoliageDiscardDataOnLoad and having invalid foliage in your map

Change 3593597 by Michael.Dupuis

	#jira UE-48309: Do not build the tree if the static mesh is not even loaded yet
	#jira UE-48340: Properly support the Random stream and partial buffer update
	#jira UE-48228: Instance from blueprint are now visible in standalone game
	#jira UE-45854: Crash probably linked to post load called on not loaded static mesh
	#jira UE-48035: Properly init the per instance render data when creating a new component

	Only update instance in non archetype or CDO.

Change 3594060 by Matt.Kuhlenschmidt

	Fix high DPI mode being set for non-editor.  Also prevent possible crashes due to dll handle for high DPI method being freed before called

Change 3594355 by Matt.Kuhlenschmidt

	Change API help link to point to a website since offline CHM based docs are no longer used

	#jira UE-48230

Change 3595358 by Matt.Kuhlenschmidt

	Fixed bad initial window position and sizes for editor windows
	By default SWindow.ClientSize will assume unscaled window size and will scale it based on DPI as needed.  AdjustInitialSizeAndPositionForDPIScale argument can be used to disable this if needed
	Fixed a dock tabs and the main frame not taking into account dpi scale when saving their layout.  Now we always save window size at 1.0 scale and auto scale it based on DPI of the monitor it opens on.

	#jira UE-48446

Change 3595590 by Matt.Kuhlenschmidt

	Fix missing includes

Change 3595792 by Matt.Kuhlenschmidt

	Fix style warnings

Change 3596418 by Bradut.Palas

	fixing initial issue with dual keybinds (removed ensure macro to speedup first use of alternate key)

Change 3598679 by Max.Chen

	PR #3872: Fix small typo in ImagePlate Plugin (Contributed by TheCodez)

	#jira UE-48141


Change 3598720 by Max.Chen

	Cine Camera: Add toggle to disable constraining the roll when look at tracking is enabled. This allows the user to animate the roll while tracking an object.

	#jira UE-48316

Change 3600236 by Alexis.Matte

	Create a LOD Custom Mode in the meshes editor UI. This allow user to compare details values between LODs
	#jira UE-46822

Change 3600260 by Alexis.Matte

	Make sure temporary rename do not create redirector
	#jira UE-48364

Change 3600671 by Lauren.Ridge

	PR #3913: Fixed 3D preview issue in the material editor (Contributed by YuchenMei)


	#jira UE-48539
	#jira UE-48180
	#jira UE-48182

Change 3600812 by Jamie.Dale

	We now defer the registration of IME contexts until an editable text first gains focus

	Certain IMEs can have very high per-context costs, so this avoids that cost until we know that we definitely need to use the context

	#jira UE-48100

Change 3601839 by Matt.Kuhlenschmidt

	Fix USD import crash with "facevarying" normals

Change 3602434 by Jamie.Dale

	Removing dead code

	These flags were never being tested or used in any meaningul way

Change 3602611 by Jamie.Dale

	Ensure PackageToReload is non-null

	#jira UE-46655

Change 3602648 by Jamie.Dale

	Fixed custom columns with the same name as fixed columns causing infinite duplications in the content browser

	#jira UE-47392

Change 3602651 by Lauren.Ridge

	Fix for parameter tooltips not being found

	#jira UE-47417

Change 3604172 by Bradut.Palas

	#jira UE-48449
	#jira UE-48380
	#jira UE-48381
	#jira UE-48423

	I moved the IsFilenameValidForSaving()  function from FEditorFileUtils to FFileHelper so that it is accessible from CollectionManager.cpp in order to validate collection names as file names and no longer trigger any of the bugs.

Change 3604210 by Bradut.Palas

	#jira UE-48718

	Regression issue appeared from fixing a crash when using console command "open"
	Reworked by only refusing to open local URLs in case of client mode and multiprocess being active simultaneously.

Change 3604258 by Jamie.Dale

	IME contexts can now flag themselves as dead to avoid latent IME callbacks trying to access a deleted widget

	#jira UE-46815
	#jira UE-47295

Change 3604312 by Matt.Kuhlenschmidt

	PR #3931: Fixing a few obvious copy & paste errors. (Contributed by DaveC79)


Change 3604352 by Matt.Kuhlenschmidt

	Fix crash accessing potentially invalid parent layout from a detail category

	#jira UE-48729


Change 3604402 by Lauren.Ridge

	Epic Friday - array drag and drop

Change 3605228 by Cody.Albert

	TSets and TMaps should now properly rehash if a key is modified in the details panel.

Change 3605275 by Alexis.Matte

	Merge actor do not keep the material slot name

	#jira UE-43246

Change 3605715 by Max.Chen

	Sequencer: Fix cinematic mode getting activated on BeginPlay() instead of OnStartedPlaying().

	#jira UE-48770

Change 3606411 by Max.Chen

	Sequencer: Fix a few player state issues. When paused, calling stop now tears down properly (spawnables are removed, etc). When a level sequence  is deleted, tears down properly as well.

	#jira UE-42008

Change 3606440 by Max.Chen

	Sequencer: Update spawanble name when the spawnable actor name is changed.

	#jira UE-47815

Change 3606899 by Lauren.Ridge

	Disabling enum-based arrays from reordering

Change 3606958 by Lauren.Ridge

	Visual polish on array handles

Change 3607733 by Max.Chen

	Sequencer: Check null in camera cut

Change 3607849 by Max.Chen

	Sequencer: Clip transport controls.

	#jira UE-48812

Change 3608181 by Max.Chen

	#jira UE-48813 Correctly set GPlayInEditorID when initializing the PIE gameinstance, which does the initial tick. This fixes autoplay sequences
	Copy from Dev-Framework

Change 3608361 by christopher.biancard

	QAGame: Submitting test content for Array Element Reorder testing

Change 3608512 by Alexis.Matte

	Add fbx exporter option dialog, support export all and cancel all functionality when doing bulk export.
	#jira UE-48058

Change 3608629 by Max.Chen

	Camera Rig: Fix crane and rail not being packaged properly.

	#jira UE-48829

Change 3609217 by Matt.Kuhlenschmidt

	Added a lock around access to slate active timers to protect it against race conditions when accessed on the slate movie thread and the game thread

Change 3609722 by Alexis.Matte

	Make sure a warning is log when we cannot export an animation sequence.
	#jira UE-48390

Change 3609774 by Alexis.Matte

	Fix the merge actor build LOD scale again, a previous merge erase the fix
	#jira UE-48156

Change 3609891 by christopher.biancard

	QAGame: Minor additions for test coverage on Array Element Reorder

Change 3610171 by Lauren.Ridge

	Fixes for reordering metadata, creating actual swap function out of three element functions

	#jira UE-48823

Change 3610407 by Lauren.Ridge

	Fixing highlighting and behavior to place dragged row in the spot you release (not below)

Change 3610472 by Lauren.Ridge

	Moving final location logic

Change 3610797 by Lauren.Ridge

	Disabling dragging handles during PIE

Change 3611089 by Lauren.Ridge

	Disabling handles when overall tree is disabled

Change 3612479 by Lauren.Ridge

	Fix for asset contex menu warning

	#jira UE-46667

Change 3612791 by Michael.Dupuis

	#jira UE-48914 : Add the possibility to specify if we need CPU access to the instance buffer depending on the usage.
	Grass should always have CPU access.

Change 3612802 by Michael.Dupuis

	missing file from checkin 3612791

Change 3612805 by Max.Chen

	Sequencer: Fix crash with null GEditor

	Copy from Release-4.17

	#jira UE-48443

Change 3612806 by Max.Chen

	Sequencer: Fix crash when capturing a movie with options enabling separate process and close editor.

	Copy from Release-4.17

	#jira UE-48487

Change 3612807 by Max.Chen

	Sequencer: Fix crash upgrading the time range of a null track.

	Copy from Release-4.17

	#jira UE-48490

Change 3612808 by Max.Chen

	Sequencer: Fixed dragging skeletal animations causing them to revert back to t-pose

	Copy from Release-4.17

	#jira UE-48367

Change 3612849 by Arciel.Rekman

	Fix tesselation in packaged Linux projects (UE-24301).

	- Change by Cengiz.Terzibas.

	#jira UE-24301

Change 3613022 by Nick.Darnell

	Editor - Fixing a crash on load with a null CoordIndex json node.

Change 3613030 by Matt.Kuhlenschmidt

	PR #3932: UE-48693: if instead of while statement (Contributed by projectgheist)

	#jira UE-48747

Change 3613047 by Matt.Kuhlenschmidt

	PR #3933: Git plugin: add "branch source" in history window (Contributed by SRombauts)


Change 3613050 by Matt.Kuhlenschmidt

	PR #3942: Sort Data Table Structures Alphabetically (Contributed by Nick-Pearson)


Change 3613062 by Matt.Kuhlenschmidt

	PR #3939: Fix a typo in RecordQualityLevelsAnalytics(). (Contributed by samhocevar)


Change 3613241 by Nick.Darnell

	Editor - Fixing the content browser's view settings to be project agnostic, and they will start saving again.

Change 3613329 by Lauren.Ridge

	Moving favorite levels to a standard submenu so they also work on Mac

Change 3613344 by Nick.Darnell

	Editor - Fixing the achorgrid show up as white in HDPI mode, seems because we were upsampling the image, the blend was between dark and a transparent white, so that caused everything to turn white in HDPI mode.

	#jira UE-48921

Change 3613380 by Matt.Kuhlenschmidt

	Fix FBX window being off the screen in high DPI

	#jira UE-48872

Change 3614598 by Matt.Kuhlenschmidt

	Fixed Sequencer Keyframes appearing out of place on High DPI Monitors

	#jira UE-48915

Change 3614625 by Matt.Kuhlenschmidt

	Fixed not being able to click on BSP correctly in high dpi

	#jira UE-48947

Change 3614672 by Matt.Kuhlenschmidt

	Fix combo box windows being larger than necessary on high dpi monitors

	#jira UE-48908

Change 3614699 by Matt.Kuhlenschmidt

	Fix typo

	#jira UE-48941

Change 3615011 by Matt.Kuhlenschmidt

	Fix color picker calculation appearing offscreen for high dpi

Change 3615013 by Michael.Dupuis

	#jira UE-48897: Properly rebuild the tree when reapplying instance to the component

Change 3615014 by Colin.Benoit

	Sequencer Recorder test content

Change 3615048 by Colin.Benoit

	Sequencer Recorder: more test content

Change 3615118 by Lauren.Ridge

	Updating realtime state of viewports to also change when settings toggled

	#jira UE-48884

Change 3615127 by Lauren.Ridge

	Remove delegate binding on viewport destruction

Change 3615180 by Bradut.Palas

	#jira UE-48167 profiler crash

	Don't duplicate the graph data when rebuilding because that completely voids the OneToOneMapping mechanism, resulting in the crash. Looking up objects in the mapping would always return null because the mapping contains the old addresses, before the rebuild.

	One option would have been to completely rebuild the mapping according to the duplicate graph, which would be dubious because the duplicate method isn't specifically designed so that the result would replace the source.

	But it looks like duplicating the data is not needed, it's safe to rebuild in-place, RebuildForFilter() doesn't do anything illegal with the objects. This is also the only purpose and the only reference of the function.

Change 3615232 by Lauren.Ridge

	Adding input handling to the material editor viewport client

	#jira UE-48909

Change 3615703 by Jamie.Dale

	Fixed crash when fixing up references after a package rename failed

	#jira UE-48856

Change 3615752 by Matt.Kuhlenschmidt

	More generic fix for color picker and other windows that use CalculatePopupWindowPostion not accounting for DPI scale

Change 3615907 by Jamie.Dale

	Fixed some crashes caused by CL# 3600812

Change 3616031 by Matt.Kuhlenschmidt

	Added guard against invalid blueprints (ones without a generated class) being trying to be opened in the property matrix and failing

	#jira UE-48986

Change 3616151 by Arciel.Rekman

	Fixing adding array elements in config.

	- "+Blah=Foo" will do Blah.AddUnique(Foo)
	- ".Blah=Foo" will do Blah.Add(Foo)
	- See JoshA re: why (also see: https://udn.unrealengine.com/questions/388157/incorrect-behavior-in-configcacheinicpp.html?childToView=389307)

Change 3616439 by Andrew.Porter

	QAGame: Updating level visibility content in sequencer smoke map

Change 3616441 by Matt.Kuhlenschmidt

	Fix more sequencer track offsetting with DPI scale

	#jira UE-48981

Change 3617263 by Max.Chen

	Sequencer: Fix crash in level visibility teardown. Null playback context.

	#jira UE-49012

Change 3617316 by Max.Chen

	Sequencer: Fixed a regression where the frame rate isn't getting initialized for a movie scene.

Change 3617648 by Matt.Kuhlenschmidt

	Adding some windows specific logging around setting or failing to set process dpi awareness

Change 3617665 by Matt.Kuhlenschmidt

	Guard against layers module not being loaded in keybinding automation test

Change 3617731 by Arciel.Rekman

	Fix crashes on AMD Mesa drivers (UE-48374).

	- Do not expose unnecessary symbols from libelf.a to avoid symbol collision with system library used by drivers.

Change 3617923 by Bradut.Palas

	#jira UE-47072

	Editor was crashing because deleted actor was not cleaned properly from asset editors. Changed  IAssetEditorInstance to offer a function for deleting an object from the editor.

Change 3618088 by Matt.Kuhlenschmidt

	Guard against crash with potentially invalid worlds in preview scenes

	#jira UE-48997

Change 3618373 by Matt.Kuhlenschmidt

	Force worldsettings to be hidden in editor so that it is not considered for selection

	#jira UE-48996

Change 3618464 by Max.Chen

	Sequencer: Fix regression where spawnables don't play because they're defined as temporary editor actors.

	#jira UE-48923

Change 3619789 by Matt.Kuhlenschmidt

	Fix DPI scale warnings in any kind of headless editor mode

Change 3619802 by Jamie.Dale

	Fixed deprecation warning in malloc profiler

Change 3619841 by Matt.Kuhlenschmidt

	Fix missing icons in the package project menu

	#jira UE-48674

Change 3619991 by Lauren.Ridge

	Fix typo in transaction message

	#jira UE-48993

Change 3620086 by Lauren.Ridge

	Moving realtime viewport logic to refresh instead of construct so it is always triggered upon opening a new material editor

	#jira UE-48884

Change 3620616 by Matt.Kuhlenschmidt

	Fix up file

Change 3621002 by Matt.Kuhlenschmidt

	Back out change to apply scaling rules in loading screens since blueprint based DPI scaling rule classes will not have been created yet

	#jira UE-49125

Change 3621049 by Arciel.Rekman

	Fix a build error.

	- Also make sure that we don't print confusing message when no messagebox can be shown
	  (this code changed during the merge).

Change 3621064 by Arciel.Rekman

	Deleted too much in the previous changelist.

Change 3621369 by Matt.Kuhlenschmidt

	Fix keybindings automation test failing due to multiple entries in the active choords array pointing to the same thing

	#jira UE-49131

[CL 3621569 by Matt Kuhlenschmidt in Main branch]
2017-08-31 21:51:42 -04:00
Ben Marsh
fedc653232 Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3620134)
#lockdown Nick.Penwarden
#rb none

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

Change 3550452 by Ben.Marsh

	UAT: Improve readability of error message when an editor commandlet fails with an error code.

Change 3551179 by Ben.Marsh

	Add methods for reading text files into an array of strings.

Change 3551260 by Ben.Marsh

	Core: Change FFileHelper routines to use enum classes for flags.

Change 3555697 by Gil.Gribb

	Fixed a rare crash when the asset registry scanner found old cooked files with package level compression.

	#jira UE-47668

Change 3556464 by Ben.Marsh

	UGS: If working in a virtual stream, use the name of the first non-virtual ancestor for writing version files.

Change 3557630 by Ben.Marsh

	Allow the network version to be set via Build.version if it's not overriden from Version.h.

Change 3561357 by Gil.Gribb

	Fixed crashes related to loading old unversioned files in the editor.

	#jira UE-47806

Change 3565711 by Graeme.Thornton

	PR #3839: Make non-encoding specific Base64 functions accessible (Contributed by stfx)


Change 3565864 by Robert.Manuszewski

	Temp fix for a race condition with the async loading thread enabled - caching the linker in case it gets removed (but not deleted) from super class object.

Change 3569022 by Ben.Marsh

	PR #3849: Update gitignore (Contributed by mhutch)


Change 3569113 by Ben.Marsh

	Fix Japanese errors not displaying correctly in the cook output log.

	#jira UE-47746

Change 3569486 by Ben.Marsh

	UGS: Always sync the Enterprise folder if the selected .uproject file has the "Enterprise" flag set.

Change 3570483 by Graeme.Thornton

	Minor C# cleanups. Removing some redundant "using" calls which also cause dotnetcore compile errors

Change 3570513 by Robert.Manuszewski

	Fix for a race condition with async loading thread enabled.

Change 3570664 by Ben.Marsh

	UBT: Use P/Invoke to determine number of physical processors on Windows rather than using WMI. Starting up WMIC adds 2.5 seconds to build times, and is not compatible with .NET core.

Change 3570708 by Robert.Manuszewski

	Added ENABLE_GC_OBJECT_CHECKS macro to be able to quickly toggle UObject pointer checks in shipping builds when the garbage collector is running.

Change 3571592 by Ben.Marsh

	UBT: Allow running with -installed without creating [InstalledPlatforms] entries in BaseEngine.ini. If there is no HasInstalledPlatformInfo=true setting, assume that all platforms are still available.

Change 3572215 by Graeme.Thornton

	UBT
	- Remove some unnecessary using directives
	- Point SN-DBS code at the new Utils.GetPhysicalProcessorCount call, rather than trying to calculate it itself

Change 3572437 by Robert.Manuszewski

	Game-specific fix for lazy object pointer issues in one of the test levels. The previous fix had to be partially reverted due to side-effects.

	#jira UE-44996

Change 3572480 by Robert.Manuszewski

	MaterialInstanceCollections will no longer be added to GC clusters to prevent materials staying around in memory for too long

Change 3573547 by Ben.Marsh

	Add support for displaying log timestamps in local time. Set LogTimes=Local in *Engine.ini, or pass -LocalLogTimes on the command line.

Change 3574562 by Robert.Manuszewski

	PR #3847: Add GC callbacks for script integrations (Contributed by mhutch)


Change 3575017 by Ben.Marsh

	Move some functions related to generating window resolutions out of Core (FParse::Resolution, GenerateConvenientWindowedResolutions). Also remove a few headers from shared PCHs prior to splitting application functionality out of Core.

Change 3575689 by Ben.Marsh

	Add a fixed URL for opening the API documentation, so it works correctly in "internal" and "perforce" builds.

Change 3575934 by Steve.Robb

	Fix for nested preprocessor definitions.

Change 3575961 by Steve.Robb

	Fix for nested zeros.

Change 3576297 by Robert.Manuszewski

	Material resources will now be discarded in PostLoad (Game Thread) instead of in Serialize (potentially Async Loading Thread) so that shader deregistration doesn't assert when done from a different thread than the game thread.

	#jira FORT-38977

Change 3576366 by Ben.Marsh

	Add shim functions to allow redirecting FPlatformMisc::ClipboardCopy()/ClipboardPaste() to FPlatformApplicationMisc::ClipboardCopy()/ClipboardPaste() while they are deprecated.

Change 3578290 by Graeme.Thornton

	Changes to Ionic zip library to allow building on dot net core

Change 3578291 by Graeme.Thornton

	Ionic zip library binaries built for .NET Core

Change 3578354 by Graeme.Thornton

	Added FBase64::GetDecodedDataSize() to determine the size of bytes of a decoded base64 string

Change 3578674 by Robert.Manuszewski

	After loading packages flush linker cache on uncooked platforms to free precache memory

Change 3579068 by Steve.Robb

	Fix for CLASS_Intrinsic getting stomped.
	Fix to EClassFlags so that they are visible in the debugger.
	Re-added mysteriously-removed comments.

Change 3579228 by Steve.Robb

	BOM removed.

Change 3579297 by Ben.Marsh

	Fix exception if a plugin lists the same module twice.

	#jira UE-48232

Change 3579898 by Robert.Manuszewski

	When creating GC clusters and asserting due to objects still being pending load, the object name and cluster name will now be logged with the assert.

Change 3579983 by Robert.Manuszewski

	More fixes for freeing linker cache memory in the editor.

Change 3580012 by Graeme.Thornton

	Remove redundant copy of FileReference.cs

Change 3580408 by Ben.Marsh

	Validate that arguments passed to the checkf macro are valid sprintf types, and fix up a few places which are currently incorrect.

Change 3582104 by Graeme.Thornton

	Added a dynamic compilation path that uses the latest roslyn apis. Currently only used by the .NET Core path.

Change 3582131 by Graeme.Thornton

	#define out some PerformanceCounter calls that don't exist in .NET Core. They're only used by mono-specific calls anyway.

Change 3582645 by Ben.Marsh

	PR #3879: fix bug when creating a new VS2017 C++ project (Contributed by mnannola)

	#jira UE-48192

Change 3583955 by Robert.Manuszewski

	Support for EDL cooked packages in the editor

Change 3584035 by Graeme.Thornton

	Split RunExternalExecutable into RunExternaNativelExecutable and RunExternalDotNETExecutable. When running under .NET Core, externally launched DotNET utilities must be launched via the 'dotnet' proxy to work correctly.

Change 3584177 by Robert.Manuszewski

	Removed unused member variable (FArchiveAsync2::bKeepRestOfFilePrecached)

Change 3584315 by Ben.Marsh

	Move Android JNI accessor functions into separate header, to decouple it from the FAndroidApplication class.

Change 3584370 by Ben.Marsh

	Move hooks which allow platforms to load any modules into the FPlatformApplicationMisc classes.

Change 3584498 by Ben.Marsh

	Move functions for getting and setting the hardware window pointer onto the appropriate platform window classes.

Change 3585003 by Steve.Robb

	Fix for TChunkedArray ranged-for iteration.

	#jira UE-48297

Change 3585235 by Ben.Marsh

	Remove LogEngine extern from Core; use the platform log channels instead.

Change 3585942 by Ben.Marsh

	Move MessageBoxExt() implementation into application layer for platforms that require it.

Change 3587071 by Ben.Marsh

	Move Linux's UngrabAllInput() function into a callback, so DebugBreak still works without SDL.

Change 3587161 by Ben.Marsh

	Remove headers which will be stripped out of the Core module from Core.h and PlatformIncludes.h.

Change 3587579 by Steve.Robb

	Fix for Children list not being rebuilt after hot reload.

Change 3587584 by Graeme.Thornton

	Logging improvements for pak signature check failures
	 - Added "PakCorrupt" console command which corrupts the master signature table
	 - Added some extra log information about which block failed
	 - Re-hash the master signature table and to make sure that it hasn't changed since startup
	 - Moved the ensure around so that some extra logging messages can make it out before the ensure is hit
	 - Added PAK_SIGNATURE_CHECK_FAILS_ARE_FATAL to IPlatformFilePak.h so we have a single place to make signature check failures fatal again

Change 3587586 by Graeme.Thornton

	Changes to make UBT build and run on .NET Core
	 - Added *_DNC csproj files for DotNETUtilities and UnrealBuildTool projects which contain the .NET Core build setups
	 - VCSharpProjectFile can no be asked for the CsProjectInfo for a particular configuration, which is cached for future use
	 - After loading VCSharpProjectFiles, .NET Core based projects will be excluded unless generating VSCode projects

Change 3587953 by Steve.Robb

	Allow arbitrary UENUM initializers for enumerators.
	Editor-only data UENUM support.
	Enumerators named MAX are now treated as the UENUM's maximum, and will not cause a MAX+1 value to be generated.

	#jira UE-46274

Change 3589827 by Graeme.Thornton

	More fixes for VSCode project generation and for UBT running on .NET Core
	 - Use a different file extension for rules assemblies when build on .NET Core, so they never get used by their counterparts
	 - UEConsoleTraceListener supports stdout/stderror constructor parameter and outputs to the appropriate channel
	 - Added documentation for UEConsoleTraceListener
	 - All platforms .NET project compilation tasks/launch configs now use "dotnet" and not the normal batch files
	 - Restored the default UBT log verbosity to "Log" rather than "VeryVeryVerbose"
	 - Renamed assemblies for .NETCore versions of DotNETUtilities and UnrealBuildTool so they don't conflict with the output of the existing .NET Desktop Framework stuff

Change 3589868 by Graeme.Thornton

	Separate .NET Core projects for UBT and DotNETCommon out into their own directories so that their intermediates don't overlap with the standard .NET builds, causing failures.

	UBT registers ONLY .NET Core C# projects when generating VSCode solutions, and ONLY standard C# projects in all other cases

Change 3589919 by Robert.Manuszewski

	Fixing crash when cooking textures that have already been cooked for EDL (support for cooked content in the editor)

Change 3589940 by Graeme.Thornton

	Force UBT to think it's running on mono when actually running on .NET Core. Disables a lot of windows specific code paths.

Change 3590078 by Graeme.Thornton

	Fully disable automatic assembly info generation in .NET Core projects

Change 3590534 by Robert.Manuszewski

	Marking UObject as intrinsic clas to fix a crash on UFE startup.

Change 3591498 by Gil.Gribb

	UE4 - Fixed several edge cases in the low level async loading code, especially around cancellation. Also PakFileTest is a console command which can be used to stress test pak file loading.

Change 3591605 by Gil.Gribb

	UE4 - Follow up to fixing several edge cases in the low level async loading code.

Change 3592577 by Graeme.Thornton

	.NET Core C# projects now reference source files explicitly, to stop it accidentally compiling various intermediates

Change 3592684 by Steve.Robb

	Fix for EObjectFlags being passed as the wrong argument to csgCopyBrush.

Change 3592710 by Steve.Robb

	Fix for invalid casts in ListProps command.
	Some name changes in command output.

Change 3592715 by Ben.Marsh

	Move Windows event log code into cpp file, and expose it to other modules even if it's not enabled by default.

Change 3592767 by Gil.Gribb

	UE4 - Changed the logic so that engine UObjects boot before anything else. The engine classes are known to be cycle-free, so we will get them done before moving onto game modules.

Change 3592770 by Gil.Gribb

	UE4 - Fixed a race condition with async read completion in the prescence of cancels.

Change 3593090 by Steve.Robb

	Better error message when there two clashing type names are found.

Change 3593697 by Steve.Robb

	VisitTupleElements function, which calls a functor for each element in the tuple.

Change 3595206 by Ben.Marsh

	Include additional diagnostics for missing imports when a module load fails.

Change 3596140 by Graeme.Thornton

	Batch file for running MSBuild

Change 3596267 by Steve.Robb

	Thread safety fix to FPaths::GetProjectFilePath().

Change 3596271 by Robert.Manuszewski

	Added code to verify compression flags in package file summary to avoid cases where corrupt packages are crashing the editor

	#jira UE-47535

Change 3596283 by Steve.Robb

	Redundant casts removed from UHT.

Change 3596303 by Ben.Marsh

	EC: Improve parsing of Android Clang errors and warnings, which are formatted as MSVC diagnostics to allow go-to-line clicking in the Output Window.

Change 3596337 by Ben.Marsh

	UBT: Format messages about incorrect headers in a way that makes them clickable from Visual Studio.

Change 3596367 by Steve.Robb

	Iterator checks in ranged-for on TMap, TSet and TSparseArray.

Change 3596410 by Gil.Gribb

	UE4 - Improved some error messages on runtime failures in the EDL.

Change 3596532 by Ben.Marsh

	UnrealVS: Fix setting command line to empty not affecting property sheet. Also remove support for VS2013.

	#jira UE-48119

Change 3596631 by Steve.Robb

	Tool which takes a .map file and a .objmap file (from UBT) and creates a report which shows the size of all the symbols contributed by the source code per-folder.

Change 3596807 by Ben.Marsh

	Improve Intellisense when generated headers are missing or out of date (eg. line numbers changed, etc...). These errors seem to be masked by VAX, but are present when using the default Visual Studio Intellisense.

	* UCLASS macro is defined to empty when __INTELLISENSE__ is defined. Previous macro was preventing any following class declaration being parsed correctly if generated code was out of date, causing squiggles over all class methods/variables.
	* Insert a semicolon after each expanded GENERATED_BODY macro, so that if it parses incorrectly, the compiler can still continue parsing the next declaration.

Change 3596957 by Steve.Robb

	UBT can be used to write out an .objsrcmap file for use with the MapFileParser.
	Renaming of ObjMap to ObjSrcMap in MapFileParser.

Change 3597213 by Ben.Marsh

	Remove AutoReporter. We don't support this any more.

Change 3597558 by Ben.Marsh

	UGS: Allow adding custom actions to the context menu for right clicking on a changelist. Actions are specified in the project's UnrealEngine.ini file, with the following syntax:

	+ContextMenu=(Label="This is the menu item", Execute="foo.exe", Arguments="bar")

	The standard set of variables for custom tools is expanded in each parameter (eg. $(ProjectDir), $(EditorConfig), etc...), plus the $(Change) variable.

Change 3597982 by Ben.Marsh

	Add an option to allow overriding the local DDC path from the editor (under Editor Preferences > Global > Local Derived Data Cache).

	#jira UE-47173

Change 3598045 by Ben.Marsh

	UGS: Add variables for stream and client name, and the ability to escape any variables for URIs using the syntax $(VariableName:URI).

Change 3599214 by Ben.Marsh

	Avoid string duplication when comparing extensions.

Change 3600038 by Steve.Robb

	Fix for maps being modified during iteration in cache compaction.

Change 3600136 by Steve.Robb

	GitHub #3538 : Fixed a bug with the handling of 'TMap' key/value types in the UnrealHeaderTool

Change 3600214 by Steve.Robb

	More accurate error message when unsupported template parameters are provided in a TSet property.

Change 3600232 by Ben.Marsh

	UBT: Force UHT to run again if the .build.cs file for a module has changed.

	#jira UE-46119

Change 3600246 by Steve.Robb

	GitHub #3045 : allow multiple interface definition in a file

Change 3600645 by Ben.Marsh

	Convert QAGame to Include-What-You-Use.

Change 3600897 by Ben.Marsh

	Fix invalid path (multiple slashes) in LibCurl.build.cs. Causes exception when scanning for includes.

Change 3601558 by Graeme.Thornton

	Simple first pass VSCode editor integration plugin

Change 3601658 by Graeme.Thornton

	Enable intellisense generation for VS Code project files and setup include paths properly

Change 3601762 by Ben.Marsh

	UBT: Add support for adaptive non-unity builds when working from a Git repository.

	The ISourceFileWorkingSet interface is now used to query files belonging to the working set, and has separate implementations for Perforce (PerforceSourceFileWorkingSet) and Git (GitSourceFileWorkingSet). The Git implementation is used if a .git directory is found in the directory containing the Engine folder, the directory containing the project file, or the parent directory of the project file, and spawns a "git status" process in the background to determine which files are untracked or staged.

	Several new settings are supported in BuildConfiguration.xml to allow modifying default behavior:

	<SourceFileWorkingSet>
	    <Provider>Default</Provider> <!-- May be None, Default, Git or Perforce -->
	    <RepositoryPath></RepositoryPath> <!-- Specifies the path to the repository, relative to the directory containing the Engine folder. If not set, tries to find a .git directory in the locations listed above. -->
	    <GitPath>git</GitPath> <!-- Specifies the path to the Git executable. Defaults to "git", which assumes that it will be on the PATH -->
	</SourceFileWorkingSet>

Change 3604032 by Graeme.Thornton

	First attempt at automatically detecting the existance and location of visual studio code in the source code accessor module. Only works for windows.

Change 3604038 by Graeme.Thornton

	Added FSourceCodeNavigation::GetSelectedSourceCodeIDE() which returns the name of the selected source code accessor.
	Replaced all usages of FSourceCodeNavigation::GetSuggestedSourceCodeIDE() with GetSelectedSourceCodeIDE(), where the message is referring to the opening or editing of code.

Change 3604106 by Steve.Robb

	GitHub #3561 : UE-44950: Don't see all caps struct constructor as macro

Change 3604192 by Steve.Robb

	GitHub #3911 : Improving ToUpper/ToLower efficiency

Change 3604273 by Graeme.Thornton

	IWYU build fixes when malloc profiler is enabled

Change 3605457 by Ben.Marsh

	Fix race for intiialization of ThreadID variable on FRunnableThreadWin, and restore a previous check that was working around it.

Change 3606720 by James.Hopkin

	Dave Ratti's fix to character base recursion protection code - was missing a GetOwner call, instead attempting to cast a component to a pawn.

Change 3606807 by Graeme.Thornton

	Disabled optimizations around FShooterStyle::Create(), which was crashing in Win64 shipping game builds due to some known compiler issue. Same variety of fix as BenZ did in CL 3567741.

Change 3607026 by James.Hopkin

	Fixed incorrect ABrush cast - was attempting to cast a UModel to ABrush, which can never succeed

Change 3607142 by Graeme.Thornton

	UBT - Minor refactor of BackgroundProcess shutdown in SourceFileWorkingSet. Check whether the process has already exited before trying to kill it during Dispose.

Change 3607146 by Ben.Marsh

	UGS: Fix exception due to formatting string when Perforce throws an error.

Change 3607147 by Steve.Robb

	Efficiency fix for integer properties, which were causing a property mismatch and thus a tag lookup every time.
	Float and double conversion support added to int properties.
	NAME_DoubleProperty added.
	Fix for converting enum class enumerators > 255 to int properties.

Change 3607516 by Ben.Marsh

	PR #3935: Fix DECLARE_DELEGATE_NineParams, DECLARE_MULTICAST_DELEGATE_NineParams. (Contributed by enginevividgames)


Change 3610421 by Ben.Marsh

	UAT: Move help for RebuildLightMapsCommand into attributes, so they display when running with -help.

Change 3610657 by Ben.Marsh

	UAT: Unify initialization of command environment for build machines and local execution. Always derive parameters which aren't manually set via environment variables.

Change 3611000 by Ben.Marsh

	UAT: Remove the -ForceLocal command line option. Settings are now determined automatically, independently of the -Buildmachine argument.

Change 3612471 by Ben.Marsh

	UBT: Move FastJSON into DotNETUtilities.

Change 3613479 by Ben.Marsh

	UBT: Remove the bIsCodeProject flag from UProjectInfo. This was only really being used to determine which projects to generate an IDE project for, so it is now checked in the project file generator.

Change 3613910 by Ben.Marsh

	UBT: Remove unnecessary code to guess a project from the target name; doesn't work due to init order, actual project is determined later.

Change 3614075 by Ben.Marsh

	UBT: Remove hacks for testing project file attributes by name.

Change 3614090 by Ben.Marsh

	UBT: Remove global lookup of project by name. Projects should be explicitly specified by path when necessary.

Change 3614488 by Ben.Marsh

	UBT: Prevent annoying (but handled) exception when constructing SQLiteModuleSupport objects with -precompile enabled.

Change 3614490 by Ben.Marsh

	UBT: Simplify generation of arguments for building intellisense; determine the platform/configuration to build from the project file generation code, rather than inside the target itself.

Change 3614962 by Ben.Marsh

	UBT: Move the VS2017 strict conformance mode (/permissive-) behind a command line option (-Strict), and disable it by default. Building with this mode is not guaranteed to work correctly without updated Windows headers.

Change 3615416 by Ben.Marsh

	EC: Include an icon showing the overall status of a build in the grid view.

Change 3615713 by Ben.Marsh

	UBT: Delete any files in output directories which match output files in other directories. Allows automatically deleting build products which are moved into another folder.

	#jira UE-48987

Change 3616652 by Ben.Marsh

	Plugins: Fix incorrect dialog when binaries for a plugin are missing. Should only prompt to disable if starting a content-only project.

	#jira UE-49007

Change 3616680 by Ben.Marsh

	Add the CodeAPI-HTML.tgz file into the installed engine build.

Change 3616767 by Ben.Marsh

	Plugins: Tweak error message if the FModuleManager::IsUpToDate() function returns false for a plugin module; the module may be missing, not just incompatible.

Change 3616864 by Ben.Marsh

	Cap the length of the temporary package name during save, to prevent excessively long filenames going over the limit once a GUID is appended.

	#jira UE-48711

Change 3619964 by Ben.Marsh

	UnrealVS: Fix single file compile for foreign projects, where the command line contains $(SolutionDir) and $(ProjectName) variables.

Change 3548930 by Ben.Marsh

	UBT: Remove UEBuildModuleCSDLL; there is no codepath that still supports creating them. Remove the remaining UEBuildModule/UEBuildModuleCPP abstraction.

Change 3558056 by Ben.Marsh

	Deprecate FString::Trim() and FString::TrimTrailing(), and replace them with separate versions to mutate (TrimStartInline(), TrimEndInline()) or return by copy (TrimStart(), TrimEnd()). Also add a functions to trim whitespace from both ends of a string (TrimStartAndEnd(), TrimStartAndEndInline()).

Change 3563309 by Graeme.Thornton

	Moved some common C# classes into the DotNETCommon assembly

Change 3570283 by Graeme.Thornton

	Move some code out of RPCUtility and into DotNETCommon, removing the dependency between the two projects
	Added UEConsoleTraceListener to replace ConsoleTraceListener, which doesn't exist in DotNetCore

Change 3572811 by Ben.Marsh

	UBT: Add -enableasan / -enabletsan command line options and bEnableAddressSanitizer / bEnableThreadSanitizer settings in BuildConfiguration.xml (and remove environment variables).

Change 3573397 by Ben.Marsh

	UBT: Create a <ExeName>.version file for every target built by UBT, in the same JSON format as Engine/Build/Build.version. This allows monolithic targets to read a version number at runtime, unlike when it's embedded in a modules file, and allows creating versioned client executables that will work with versioned servers when syncing through UGS.

Change 3575659 by Ben.Marsh

	Remove CHM API documentation.

Change 3582103 by Graeme.Thornton

	Simple ResX writer implemetation that the xbox deloyment code can use instead of the one from the windows forms assembly, which isn't supported on .NET Core

	Removed reference to System.Windows.Form from UBT.

Change 3584113 by Ben.Marsh

	Move key-mapping functionality into the InputCore module.

Change 3584278 by Ben.Marsh

	Move FPlatformMisc::RequestMinimize() into FPlatformApplicationMisc.

Change 3584453 by Ben.Marsh

	Move functionality for querying device display density to FApplicationMisc, due to dependence on application-level functionality on mobile platforms.

Change 3585301 by Ben.Marsh

	Move PlatformPostInit() into an FPlatformApplicationMisc function.

Change 3587050 by Ben.Marsh

	Move IsThisApplicationForeground() into FPlatformApplicationMisc.

Change 3587059 by Ben.Marsh

	Move RequiresVirtualKeyboard() into FPlatformApplicationMisc.

Change 3587119 by Ben.Marsh

	Move GetAbsoluteLogFilename() into FPlatformMisc.

Change 3587800 by Steve.Robb

	Fixes to container visualizers for types whose pointer type isn't simply Type*.

Change 3588393 by Ben.Marsh

	Move platform output devices into their own headers.

Change 3588868 by Ben.Marsh

	Move creation of console, error and warning output devices int PlatformApplicationMisc.

Change 3589879 by Graeme.Thornton

	All automation projects now have a reference to DotNETUtilities
	Fixed a build error in the WEX automation library

Change 3590034 by Ben.Marsh

	Move functionality related to windowing and input out of the Core module and into an ApplicationCore module, so it is possible to build utilities with Core without adding dependencies on XInput (Windows), SDL (Linux), and OpenGL (Mac).

Change 3593754 by Steve.Robb

	Fix for tuple debugger visualization.

Change 3597208 by Ben.Marsh

	Move CrashReporter out of a public folder; it's not in a form that is usable by subscribers and licensees.

Change 3600163 by Ben.Marsh

	UBT: Simplify how targets are cleaned. Delete all intermediate folders for a platform/configuration, and delete any build products matching the UE4 naming convention for that target, rather than relying on the current build configuration or list of previous build products. This will ensure that build products which are no longer being generated will also be cleaned.

	#jira UE-46725

Change 3604279 by Graeme.Thornton

	Move pre/post garbage collection delegates into accessor functions so they can be used by globally constructed objects

Change 3606685 by James.Hopkin

	Removed redundant 'Cast's (casting to either the same type or a base).

	In SClassViewer, replaced cast with TAssetPtr::operator* call to get the wrapped UClass.
	Also removed redundant 'IsA's from AnimationRetargetContent::AddRemappedAsset in EditorAnimUtils.cpp.

Change 3610950 by Ben.Marsh

	UAT: Simplify logic for detecting Perforce settings, using environment variables if they are set, otherwise falling back to detecting them. Removes special cases for build machines, and makes it simpler to set up UAT commands on builders outside Epic.

Change 3610991 by Ben.Marsh

	UAT: Use the correct P4 settings to detect settings if only some parameters are specified on the command line.

Change 3612342 by Ben.Marsh

	UBT: Change JsonObject.Read() to take a FileReference parameter.

Change 3612362 by Ben.Marsh

	UBT: Remove some more cases of paths being passed as strings rather than using FileReference objects.

Change 3619128 by Ben.Marsh

	Include builder warnings and errors in the notification emails for automated tests, otherwise it's difficult to track down non-test failures.

[CL 3620189 by Ben Marsh in Main branch]
2017-08-31 12:08:38 -04:00
Marc Audy
eaccf4135c Copying //UE4/Dev-Framework to //UE4/Dev-Main (Source: //UE4/Dev-Framework @ 3582324)
#lockdown Nick.Penwarden
#rb none
#rnx

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

Change 3431439 by Marc.Audy

	Editor only subobjects shouldn't exist in PIE world
	#jira UE-43186

Change 3457323 by Marc.Audy

	Undo CL# 3431439 and once again allow (incorrectly) for editor only objects to exist in a PIE world

	#jira UE-45087

Change 3499927 by Dan.Oconnor

	UField::Serialize no longer serialize's its next ptr,  UStruct::Serialize serializes all Children properties instead. This resolves a hard circular dependency between function libraries that EDL detected. It was resolved in an ad hoc way by the old linker

	#jira UE-43458

Change 3502939 by Michael.Noland

	Back out changelist 3499927

Change 3522783 by Zak.Middleton

	#ue4 - Imported new simple collision for Engine/Content/BasicShaps/Cylinder.uasset which is a single convex shape (rather than being 4 shapes as before).

Change 3544641 by Dan.Oconnor

	Remove conditional that is no longer needed, replace with ensure. It is unsafe to change CDO names

	#jira OR-38176

Change 3544645 by Dan.Oconnor

	In addition to marking nodes as not transient, FBlueprintEditor::ExpandNode needs to mark them as transactional
	#jira UE-45248

Change 3545023 by Marc.Audy

	Properly encapsulate FPinDeletionQueue
	Fix ensure during deletion of split pins when not clearing links
	Fix split pins able to end up in delete queue twice during undo/redo

Change 3545025 by Marc.Audy

	Properly allow changing the pin type from a struct that is split on the node
	#jira UE-47328

Change 3545455 by Ben.Zeigler

	Fix issue where combined streamable handles could be freed before their complete callback is called if nothing external referenced them
	Copy of CL#3544474

Change 3545456 by Ben.Zeigler

	Allow PrimaryAssets to update their AssetData based on in-memory changes when launching 'Standalone Game' and 'Mobile Preview' from the editor. As it was, changes could be detected and propagated through UPrimaryDataAsset::PostLoad, but the changes would always reapply whatever already exists in the AssetRegistry. The primary use-case for this: making AssetBundle tag changes and allowing them to propagate without resaving/recooking all affected assets.
	Copy of CL #3544374

Change 3545547 by Ben.Zeigler

	CIS Fix

Change 3545568 by Michael.Noland

	PR #3758: Fixing a comment typo from Transistion to Transition (Contributed by gsfreema)

	#jira UE-46845

Change 3545582 by Michael.Noland

	Blueprints: Prevent duplicate messages from being added to the compiler results log (fixes a crash when resizing the results log while a math expression node has an error)
	Blueprints: Fixed the tooltip of math expression nodes not showing up, and error messages getting cleared on subsequent compiles
	[Duplicating fixes for UE-47491 and UE-47512 from 4.17 to Dev-Framework]

Change 3546528 by Ben.Zeigler

	#jira UE-47548
	Fix crash when a map's key type has changed but value has not, it was passing the UStruct defaults in when serialize was expecting the default instance, so pass null instead as we don't have the instance

Change 3546544 by Marc.Audy

	Fix split pin restoration logic to deal with wildcards and variations in const/refness

Change 3546551 by Marc.Audy

	Don't crash if the struct type is missing for whatever reason

Change 3547152 by Marc.Audy

	Fix array exporting so you don't end up getting none instead of defaults
	#jira UE-47320

Change 3547438 by Marc.Audy

	Fix split pins on class defaults
	Don't cause a structural change when reapplying a split pin as part of node reconstruction
	#jira UE-46935

Change 3547501 by Ben.Zeigler

	Fix ensure, it's valid to pass a null path for a dynamic asset

Change 3551185 by Ben.Zeigler

	#jira UE-42835 Fix it so SoftObjectPaths work correctly when inside levels loaded for the first time from PIE. Added code to do in-place PIE fixup for levels that are loaded instead of duplicated, and changed the fixup logic to fix all level references, not just ones being explicitly duplicated

Change 3551723 by Ben.Zeigler

	Improve UI for displaying actor soft references. Add an error/warning icon if the cross level reference is broken or unloaded, and fix various display and copy/paste behaviors

Change 3553216 by Phillip.Kavan

	#jira UE-39303, UE-46268, UE-47519
	- Nativized UDS now support external asset dependencies and will construct their own linker import tables on load.

	Change summary:
	- Modified FCompactBlueprintDependencyData and FFakeImportTableHelper to be more relevant to UStruct and not just UClass-derivative types.
	- Modified FBlueprintDependencyData to accept a single FCompactBlueprintDependencyData struct rather than its individual fields.
	- Modified FBlueprintCompilerCppBackendBase::GenerateCodeFromStruct() to emit dependency assignment and static type registration functions for nativized UStruct types.
	- Modified FBlueprintNativeCodeGenModule::FStatePerPlatform to include an array for tracking UDS assets that need to be converted during the nativization pass at cook time.
	- Modified FBlueprintNativeCodeGenModule::GenerateFullyConvertedClasses() to generate nativized code for UDS assets. This ensures that UDS conversion falls under the same scope as BPGC conversion, so that they both feed into the same NativizationSummary context for asset dependency tracking (i.e. since we only have a single global dependency table in the codegen). Also modified InitializeForRerunDebugOnly() to do the same.
	- Modified FBlueprintNativeCodeGenModule::Convert() to defer UDS conversion so that it's done at the same time as BPGC conversion (see note above).
	- Modified FEmitDefaultValueHelper::AddStaticFunctionsForDependencies() to include support for UStruct types and to conform to changes made to FCompactBlueprintDependencyData.
	- Modified FEmitDefaultValueHelper::AddRegisterHelper() to include support for UStruct types.
	- Modified FBlueprintNativeCodeGenModule::FindReplacedClassForObject() to ensure that converted User-Defined Enum types are switched to a UEnumProperty at package save time so that any import tables contain the proper class. This is necessary because we nativize User-Defined Enum types as 'enum class' types, and UHT will generate code for those as a UEnumProperty with an "underlying" property. However, non-nativized User-Defined Enum types are referenced as a UByteProperty with a UEnum reference, so we have to fix up all the import tables before saving. Otherwise, EDL will assert on load (see UE-47519).

Change 3553301 by Ben.Zeigler

	Fix ensure when passing literal None to SoftObjectPath, it now treats them as empty instead

Change 3553631 by Dan.Oconnor

	UField::Serialize no longer serialize's its next ptr,  UStruct::Serialize serializes all Children properties instead. This resolves a hard circular dependency between function libraries that EDL detected. It was resolved in an ad hoc way by the old linker. This change was originally submitted in 3499927, but it was incorrectly clearing the UField::Next pointer in UField::Serialize.

	#jira UE-43458

Change 3553799 by Ben.Zeigler

	Fix issue where calling WaitUntilComplete on a combined handle with Stalled children wouldn't work properly. It now forces all stalled children to start immediately. I also added a warning log when this happens and an ensure if somehow the force didn't work
	Copy of CL #3553781

Change 3553896 by Michael.Noland

	Blueprints: Allow the autowiring logic to better break and replace existing connections when made (e.g., when dragging a variable onto a compatible pin with an existing connection, break the old connection to allow the new connection to be made)
	#jira UE-31031

Change 3553897 by Michael.Noland

	Blueprints: Adjust search query when doing 'Find References' on variables from My Blueprints so that bound event nodes show up for components and widgets
	#jira UE-37862

Change 3553898 by Michael.Noland

	Blueprints: Add the name of the variable directly in the get/set menu options (when dragging from My Blueprints into the graph)

Change 3553909 by Michael.Noland

	Blueprints: Added the full name of the type, container type (and value type for maps) to the tooltips for the type picker elements, so long names can be read in full
	#jira UE-19710

Change 3554517 by Michael.Noland

	Blueprints: Added an option to disable the comment bubble on comment boxes that appears when zoomed out
	#jira UE-21810

Change 3554664 by Michael.Noland

	Editor: Renamed "Find in CB" command to "Browse" and renamed "Search" (in BP) to "Find", so terminology is consistent and keyboard shortcuts make sense (Ctrl+B for Browse, Ctrl+F for find, not using the term Search anywhere)

	#jira UE-27121

Change 3554831 by Dan.Oconnor

	Non editor build fix

Change 3554834 by Dan.Oconnor

	Actor bound event related warnings now show up in blueprint status when opening level blueprint for first time, improved warning message. Removed unused delegate and return value from FixLevelScriptActorBindings. Can now pass raw strings to blueprint results log (no need for Printf, although padding is not great), UClasses in compiler results log will open the generated blueprint when clicked on

	#jira UE-40438

Change 3556157 by Ben.Zeigler

	Convert LevelSequenceBindingReference to use FSoftObjectPath so it works properly with redirectors and fixups

Change 3557775 by Michael.Noland

	Blueprints: Fixed swapped transaction messages when converting a cast node between pure and impure
	#jira UE-36090

Change 3557777 by Michael.Noland

	Blueprints: Allow 'Goto Definition' and 'Find References' to be used while stopped at a breakpoint
	PR #3774: Expose GotoFunctionDefinition during BP debugging (Contributed by projectgheist)
	#jira UE-47024

Change 3560510 by Michael.Noland

	Blueprints: Add support for 'goto definition' on Create Event nodes when the Object pin is not hooked up
	#jira UE-38912

Change 3560563 by Michael.Noland

	Blueprints: Disallow converting a variable get node to impure/back when debugging (no graph mutating operations should be allowed)

Change 3561443 by Ben.Zeigler

	Restore code to support gc.DumpPoolStats, was accidentally removed when FGCArrayPool was moved to a header.
	Clean up comments around Cleanup function, the functionality to trim the memory pools was integrated into ClearWeakReferences on a prior change

Change 3561658 by Michael.Noland

	Blueprints: Refactored 'Goto Definition' so there is no per-class logic in the Blueprint editor or schema any more; any node can opt in individually
	- Added a key binding for Goto Definition (Alt+G)
	- Added a key binding for Find References (Shift+Alt+F)
	- Collapsed 'Goto Code Definition' for variables and functions into the same path, so there aren't separate menu items and commands
	- Added new methods CanJumpToDefinition and JumpToDefinition to UEdGraphNode, the default behavior for UK2Node subclasses is to call GetJumpTargetForDoubleClick and call into FKismetEditorUtilities::BringKismetToFocusAttentionOnObject
	- Going to a native function now goes thru a better code path that will actually put the source code editor on the function definition, rather than just opening the file containing the definition

Change 3562291 by Ben.Zeigler

	Fix issue where calling FSoftObjectPtr::Get during a package save would result in that ptr being forever marked broken, because the ResolveObject fails during save. It's too risky to change that behavior, so change it so the TagAtLastTest doesn't get updated in that case

Change 3562292 by Ben.Zeigler

	#jira UE-39042 When renaming or moving actors between levels it now attempts to fix any soft object references from blueprints or sequencer
	When deleting actors that are soft referenced by actor/sequencer it will now warn the same way it does for level script. Added IAssetTools::FindSoftReferencesToObject to perform this search
	Change it so saving a non-primary world does not result it being dirtied due to the temporary physics scene fixup
	Fix issue where the actor name was shown incorrectly in the SSCS tree for actor instances, which meant that if you renamed it you would end up renaming it to the BP's name

Change 3564814 by Ben.Zeigler

	#jira UE-47843 Don't set InputKey output pins to AnyKey if empty, this was causing blueprints with key events to constantly dirty themselves

Change 3566707 by Dan.Oconnor

	Remove unused code, UClassGenerateCDODuplicatesForHotReload was attempting to create a CDO with a special name, which triggered an ensure. The Duplicated CDO was never used (callign code removed in 3289276 as it was a waste of cycles)

	#jira None

Change 3566717 by Michael.Noland

	Core: Remove all defintions that contain "_API" from the command line when compiling .rc files (they do not support repsonse files and a too-long command line will fail the compile)

Change 3566771 by Michael.Noland

	Editor: Fixing deprecation warning

	#jira UE-47922

Change 3567023 by Michael.Noland

	Blueprints: Change various TArray<> uses to TSet<> throughout name validation and related code to enable it to scale better to high component or variable counts
	Adapted from PR #3708: Fast construction of bp (Contributed by gildor2)
	#jira UE-46473

Change 3567304 by Ben.Zeigler

	Add bCheckRecursive option to IsEditorOnlyObject that is enabled by default and will check outer/archetype/class.
	This is needed for places that call this function from outside of SavePackage.cpp when the editor only mark is set, such as the automation test code

Change 3567398 by Ben.Zeigler

	Fix crash when spawning a widget that has no editor WidgetTree, but does have a cooked widget tree template due to tree inheritance

Change 3567729 by Michael.Noland

	Blueprints: Clarified message about "{VariableName} is not blueprint visible" to define what that means "(BlueprintReadOnly or BlueprintReadWrite)"

Change 3567739 by Ben.Zeigler

	Don't crash if PropertyStruct cannot find it's struct. The function half handled this before, but Preload crashes with a null parameter

Change 3567741 by Ben.Zeigler

	Disable optimization for a path test that was crashing in VC2015 in a monolithic build

Change 3568332 by Mieszko.Zielinski

	Prevented UAIPerceptionSystem::GetCurrent causing a BP error when WorldContextObject is null #UE4

	#jira UE-47948

Change 3568676 by Michael.Noland

	Blueprints: Allow editing the tooltip of each enum value in a user defined enum

	#jira UE-20036

	Known issue: Undo/redo is not currently possible on the tooltip as it is directly stored in package metadata

Change 3569128 by Michael.Noland

	Blueprints: Removing the experimental profiler as we won't be returning to it any time soon
	#jira UE-46852

Change 3569207 by Michael.Noland

	Blueprints: Allow drag-dropping component Blueprint assets into the graph to create Add Component nodes and improved the error message when dragging something that cannot be dropped into an actor Blueprint
	#jira UE-8708

Change 3569208 by Michael.Noland

	Blueprints: Allow specifying a description for user defined enums (shown in the content browser)
	#jira UE-20036

Change 3569209 by Michael.Noland

	Editor: Allow adjusting the font size for each individual comment box node in Blueprints and Materials
	#jira UE-16085

Change 3570177 by Michael.Noland

	Blueprints: Fixed discrepancy between the Structure tab name and the menu option for the tab in the user defined structure editor (now both say Structure Editor)

	#jira UE-47962

Change 3570179 by Michael.Noland

	Blueprints: Fixed the tooltip of a user defined structure not updating immediately in the content browser after being edited

Change 3570192 by Michael.Noland

	Blueprints: Added "(selected)" after the label (in the 'debug filter' dropdown in the Blueprint editor) for actors that are selected in the level editor, which should make it easier to choose the specific actor you want to debug
	#jira UE-20709

Change 3571203 by Michael.Noland

	Blueprints: Cleanup and refactoring to prepare for turning commented out nodes into an official feature
	- Made EnabledState and bUserSetEnabledState private on UEdGraphNode and added new getters/setters
	- Introduced IsAutomaticallyPlacedGhostNode() and MakeAutomaticallyPlacedGhostNode() to start decoupling the concept from commented out nodes
	- Updated a couple of places that used a hardcoded UberGraphPages[0] into instead editing the most recently interacted with event graph if possible
	- Updated 'is data only blueprint' logic to allow multiple ubergraph pages, as long as they're all empty of non-disabled nodes

Change 3571224 by Michael.Noland

	Blueprints: Draw banners on development-only and user disabled nodes (excluding 'ghost' nodes like autogenerated event entries in new BPs)
	Adapted from PR #2701: Differentiate development nodes in BP (Contributed by projectgheist)

	#jira UE-29848
	#jira UE-34698

Change 3571279 by Michael.Noland

	Blueprints: Changed UK2Node::GetPassThroughPin so that only the execution wire on nodes with exactly one input and one output exec wire will have a corresponding pass-through pin (when there is ambiguity in which exec would be used, e.g., with a branch or sequence or timeline node, the subsequent nodes are now effectively disabled as well)

Change 3571282 by Michael.Noland

	Blueprints: Fixed the tooltip for dragging a variable onto an inherited category not showing the 'move to category' hint

Change 3571284 by Michael.Noland

	Blueprints: Made wires into/out of a user-disabled node draw verly dimly (other than the passthrough exec if it exists)

Change 3571311 by Ben.Zeigler

	Add ActorIteratorFlags which allows overriding which types of actors/levels are iterated by ActorIterator, to allow iterating levels that are not visible.
	All of the iteration logic is now in the base and the children just set different flags, which fixes it so TActorIterator does the same level collection check as FActorIterator

Change 3571313 by Ben.Zeigler

	Several fixes to automation framework to allow it to work better with Cooked builds.
	Change it so the automation test list is a single  message. There is no guarantee on order of message packets, so several tests were being missed each time.

Change 3571485 by mason.seay

	Test map for Make Set bug

Change 3571501 by Ben.Zeigler

	Accidentally undid the UHT fixup for TAssetPtr during my bulk rename

Change 3571531 by Ben.Zeigler

	Fix warning messages

Change 3571591 by Michael.Noland

	Blueprints: Made drag-dropping assets into a graph to create a component transactional (allowing the action to be undone)
	#jira UE-48024

Change 3572938 by Michael.Noland

	Blueprints: Fixed a typo in a set function comment

	#jira UE-48036

Change 3572941 by Michael.Noland

	Blueprints: Made the compact node title for cross and dot product the words cross and dot rather than hard to see . and x symbols
	#jira UE-38624

Change 3574816 by mason.seay

	Renamed asset to better reflect name of object reference

Change 3574985 by mason.seay

	Updated comments and string outputs to list Soft Object Reference

Change 3575740 by Ben.Zeigler

	#jira UE-48061 Change it so Editor builds work like cooked builds and always try to reuse existing packages when loading them instead of recreating them in place. Recreating in place does not work well for levels and blueprints, and blueprints already had a hack that was causing this behavior to not activate

Change 3575795 by Ben.Zeigler

	#jira UE-48118 Call into the AssetManager as part of the DistillPackages commandlet. This makes sure that ShooterGame and EngineTest end up with the correct content in launcher builds

Change 3576374 by mason.seay

	Forgot to submit the deleting of a redirector

Change 3576966 by Ben.Zeigler

	#jira UE-48153 Fix issue where actors in streaming levels weren't properly replicating in PIE. It now does the remap path on both send and receive for the manual PC level streaming commands

Change 3577002 by Marc.Audy

	Prevent wildcard pins from being connected to exec pins
	#jira UE-48148

Change 3577232 by Phillip.Kavan

	#jira UE-48034 - Fix EDL assert on load caused by a native reference to a nativized BP class that also references a nativized UDS asset.

	Change summary:
	- Modified FNativeClassHeaderGenerator::ExportGeneratedStructBodyMacros() to emit the 'ReplaceConverted' package name for the FCompiledInDeferStruct global associated with the nativized UDS asset in the UHT codegen. This brings nativized UDS to parity with nativized BP class assets (it was likely just an oversight initially).

Change 3577710 by Dan.Oconnor

	Mirror of 3576977:
	Fix for crash when loading cooked uassets that reference functions that are not present
	#jira UE-47644

Change 3577723 by Dan.Oconnor

	Prevent deferring of classes that are needed to load subobjects

	#jira UE-47726

Change 3577741 by Dan.Oconnor

	Back out changelist 3577723 - causes crash when starting QAGame in Dev-Framework - not in Release-4.17

Change 3578938 by Ben.Zeigler

	#jira UE-27124 Fix issue where renaming a map with legacy map build data would end up with a half-loaded redirector package, becuase the old map build data was still in use. It's possible the call to HandleLegacyMapBuildData should just be in World PostLoad instead of piecemeal in several other places but I am unsure.
	Fix it so the redirector cleanup code on map change will not be stopped by non-standalone top level objects, which could be left behind by issues in other systems

Change 3578947 by Marc.Audy

	(4.17) Properly expose members of DialogueContext to blueprints
	#jira UE-48175

Change 3578952 by Ben.Zeigler

	Fix ensure where ParentHandles on a StreamableHandle could be modified while iterating

Change 3579315 by mason.seay

	Test map for Make Container nodes

Change 3579600 by Ben.Zeigler

	Disable window test on non-desktop platforms as they cannot be resized post launch

Change 3579601 by Ben.Zeigler

	#jira UE-48236 Disable optimizations on PS4 for certain math tests pending fixing of platform issue

Change 3579713 by Dan.Oconnor

	Prevent crashes when bluepints implement an interface that was deleted
	#jira UE-48223

Change 3579719 by Dan.Oconnor

	Fix two compilation manager issues: Make sure CDOs are not renamed under a UClass, because they will be considered as possible subobjects, which has bad side effects and make sure that we update references even on empty functions, so that empty UFunctions are not left with references to REINST data

	#jira UE-48240

Change 3579745 by Michael.Noland

	Blueprints: Improve categorization and reordering support in 'My Blueprints'
	- Allow drag-dropping functions, macros, delegates, etc... to reorder them within a category or to change categories (bringing them to parity with variables)
	- Make category ordering on all categories sticky so you can reorder categories (the relative ordering will be the same within different sections like variables and functions)
	- Added hover cues when drag dropping some items that were missing them (e.g., event dispatchers)
	- Added support for renaming categories using F2

	Known issues (none are regressions):
	- Timelines cannot be moved to other categories or reordered
	- Renaming a nested category will result in it becoming a top level category (discarding the parent category chain)
	- Some actions do not support undo

	#jira UE-31557

Change 3579795 by Michael.Noland

	PR #3867: Fix for not releasing Local Notification Delegate. (Contributed by enginevividgames)
	#jira UE-48105

Change 3580463 by Marc.Audy

	(4.17) Don't crash if calling PostEditUndo on an Actor in the transient package
	#jira UE-47523

Change 3581073 by Marc.Audy

	Make UK2Node_SpawnActorFromClass inherit from K2Node_ConstructObjectFromClass and eliminate duplicate code.
	Correctly reconnect split pins when changing class on create widget, construct object, and spawn actor nodes

Change 3581156 by Ben.Zeigler

	#jira UE-48161 Fix issue where split pins would not be restored if a Struct type was changed due to refactoring of parent variables/functions. For structs we want to copy the pins, if they're invalid due to other changes they will be individual orphaned
	Also fix bug where the category of parent pins was being set incorrectly while changing variable type, we only want to override type for wildcard pins

Change 3581473 by Ben.Zeigler

	Properly turn off optimization for PS4 test

Change 3582094 by Marc.Audy

	Fix anim nodes not navigating to their graph on double click
	#jira UE-48333

Change 3582157 by Marc.Audy

	Fix double-clicking on animation asset nodes not opening the asset editors

Change 3582289 by Marc.Audy

	(4.17) Don't crash when adding a streaming level that's already in the level
	#jira UE-48928

Change 3545435 by Ben.Zeigler

	#jira UE-47509 Rename and refactor internals StringAssetReferences and AssetPtrs to become SoftObjectPath/Ptr. This is to prepare them for use for subobjects like actors. Here is the rename table:
	FStringAssetReference -> FSoftObjectPath
	FStringClassReference -> FSoftClassPath
	TAssetPtr -> TSoftObjectPtr
	TAssetSubclassOf -> TSoftClassPtr
	The old headers are deprecated, and FSoftClassPath is now in the same header has FSoftObjectPath.
	This change increments the UE4 version because FSoftObjectPaths are now stored as a name + substring instead of one giant name, which in practice will improve performance and memory while manipulating them. Also the package table of soft referenced packages is now stored as FNames instead of FStrings as these packages names will already be in the name table due to the AssetRegistry
	Remove automatic support for loading Objectpaths starting with engine-ini:, as it was only partially supported and is very outdated. ResolveIniObjectsReference can still be called manually
	Changed TPersistentObjectPtr and TLazyObjectPtr to be structs instead of classes
	Change UnrealHeaderTool to read configuration such as StructsWithNoPrefix out of inis instead of using a hardcoded list. Add support for TypeRedirects, which is used to make the old type names automatically remap to the new ones
	Clean up FRedirectCollector to remove some of the functionality that is no longer used by the cooker, and disable tracking of redirects in standalone -game builds

Change 3567760 by Ben.Zeigler

	Fix it so EngineTest can be cooked by moving some utility functions to EditorTestsUtilityLibrary and adding an EditorFunctionalTest. The core EngineTest module is safely runtime-only now and can run it's tests locally in windows cooked
	Merge FuncTestManager into FunctionalTestModule to avoid confusion with FunctionalTestingManager UObject
	Add EngineTestAssetManager and override the cook function to cook all maps with runtime functional tests
	Change actor merging tests to be editor only, this stops them from cooking
	Several individual tests crash on cooked builds, I started threads with the owners of those

Change 3575737 by Ben.Zeigler

	#jira UE-48042 Change it so playing via PIE Standalone, multiprocess networked PIE and external cook launch on does not save temporary levels to UEDPC and instead prompts the user to save. This is how launch on works by default already, and this fixes cross level references/sequencer. The UEDPC code has been removed entirely.
	As part of this change, connecting a -game client to a PIE server and vice versa is much more likely to work. You may still have game-side problems, look at UEditorEngine::NetworkRemapPath for an example of how to do the PIE prefix conversion
	Remove advanced CreateTemporaryCopiesOfLevels option from sequencer capture, it has not been tested in multiple years and does not work with newer sequencer features
	#jira UE-27124 Fix several possible crashes with changing levels while in PIE

Change 3578806 by Marc.Audy

	Fix Construct Object not working correctly with split pins.
	Add Construct Object test cases to functional tests.
	Added split pin expose on spawn test cases.
	#jira UE-33924

[CL 3582334 by Marc Audy in Main branch]
2017-08-11 12:43:42 -04:00
Ben Marsh
997ef15941 Merging //UE4/Release-4.17 @ CL 3573198 to Release-Staging-4.17 (//UE4/Release-Staging-4.17)
#rb none
#jira

[CL 3575359 by Ben Marsh in Staging-4.17 branch]
2017-08-07 15:12:17 -04:00
Jon Nabozny
61e5baed09 Fix infinite loopin FUnloadedBlueprintData::GetClassWithin (introduced in 3357494)
#codereview Dan.Oconnor, Marc.Audy
#jira UE-46232
#lockdown Nick.Penwarden

[CL 3499444 by Jon Nabozny in Main branch]
2017-06-19 18:13:30 -04:00
Ben Marsh
aa969f9931 Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3420477)
#lockdown Nick.Penwarden
#rb none

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

Change 3386262 on 2017/04/10 by Ben.Marsh

	Add app-local deployment of DirectX components that are no longer included with newer versions of Windows by default (XAudio 2.7, XInput 1.3). Also add a one-click button to the packaging settings to include the default app-local dependencies, rather than having to specify the path.

Change 3386999 on 2017/04/10 by Ben.Marsh

	Plugins: Add support for explicit dependencies from one plugin onto another. Required plugins can be configured in an identical manner to project files, by adding a "Plugins" key to the .uplugin file. Dependencies are automatically built and loaded, and the plugin browser will warn if you try to disable a plugin that something else has a dependency on.

Change 3387073 on 2017/04/10 by Ben.Marsh

	Move FLightPropagationRuntimeSettings into the Renderer module, to remove engine dependency on a plugin.

Change 3387988 on 2017/04/11 by Steve.Robb

	Comments added to clarify the role of DestructItem and DestructItems.

Change 3388085 on 2017/04/11 by Ben.Marsh

	UBT: Fix bEnabled flag on plugin references being ignored. Now collect up all the plugin references in order of priority before creating plugin instances for them. Fixes CIS fail for UT.

Change 3390048 on 2017/04/12 by Richard.Hinckley

	#jira UE-43876
	Fixed description of Streaming settings (within Project Settings).

Change 3390697 on 2017/04/12 by Steve.Robb

	CLASS_PointersDefaultToAutoWeak and CLASS_PointersDefaultToWeak removed.

Change 3390711 on 2017/04/12 by Steve.Robb

	AGRESSIVE_ARRAY_FORCEINLINE removed.

Change 3392167 on 2017/04/13 by Robert.Manuszewski

	UObject can be added to GC cluster only if all of its Outers can also be added to it.

	Fixing asserts caused by components that are added to GC clusters even if their owner actors that can't be in GC clusters.

	#jira UE-42948

Change 3392309 on 2017/04/13 by Robert.Manuszewski

	When adding objects to clusters after these clusters have been created it's possible to come across objects that are already in the cluster we're adding the object to so instead of crashing, allow it.

Change 3392620 on 2017/04/13 by Ben.Marsh

	UGS: Only check for updates every 5 minutes.

Change 3392623 on 2017/04/13 by Ben.Marsh

	UGS: Only poll for new changes every 60 seconds.

Change 3392744 on 2017/04/13 by Ben.Marsh

	UGS: Query changelist descriptions individually to determine whether changes affect code or content, to hopefully reduce Perforce server load.

Change 3392874 on 2017/04/13 by Ben.Marsh

	UGS: Allow specifying regexes in the project config file which filters which changes to be displayed. Useful for changes submitted by build machines, updates to collections, etc...

Change 3392878 on 2017/04/13 by Ben.Marsh

	Update UGS to version 1.96

Change 3395635 on 2017/04/17 by Ben.Marsh

	UAT: Prefix log output from executing UAT commands through BuildGraph with the name of that command.

Change 3395655 on 2017/04/17 by Ben.Marsh

	UAT: Add a command for syncing a DDC over the network (SyncDDC). Allows specifying a maximum size to copy, number of days worth of modified files to copy, and time limit not to be exceeded.

Change 3396989 on 2017/04/17 by Wes.Hunt

	CrashReporter configurable tweaks.
	* Added QueueWaitingTimeAlertThreshold (used to be hardcoded to 1 min).
	  - When the queue waiting time gets beyond this many seconds, trigger a slack alert message. Default is 10 min.
	  - Zero means never alert.
	* Added DiskSpaceAvailableAlertInterval (used to be hardcoded to 1 day).
	  - Interval by which to report disk space availability.
	  - Default is never (Zero)
	* Updated config file to match production config.
	#codereview:jin.zhang

Change 3397656 on 2017/04/18 by Ben.Marsh

	UBT: Allow modules to opt-out of getting the default include paths from being added, by setting bAddDefaultIncludePaths = false from their build.cs file.

Change 3397677 on 2017/04/18 by Robert.Manuszewski

	PR #3167 : Adding more descriptive error text to DetatchLinker error check (by rooneym)


Change 3397722 on 2017/04/18 by Robert.Manuszewski

	PR #2252: Increase linker reporting for failed imports (Contributed by FineRedMist)


Change 3397739 on 2017/04/18 by Richard.Hinckley

	#jira UE-44100
	Fixed SanitizePackageName() to remove double-slash, triple-slash, etc. from package names. Also updated CreatePackage() to call SanitizePackageName() before creating.

Change 3398023 on 2017/04/18 by Ben.Marsh

	PR #3105: Cook/package with editor and debugger attached (Contributed by projectgheist)


Change 3398095 on 2017/04/18 by Ben.Marsh

	PR #3051: Generate map file from UAT (Contributed by projectgheist)


Change 3398212 on 2017/04/18 by Ben.Marsh

	PR #2915: UE-38232: Removed duplicate stats (Contributed by projectgheist)


Change 3399304 on 2017/04/19 by Ben.Marsh

	UGS: Prevent editor target files being removed when running custom tools.

Change 3399306 on 2017/04/19 by Robert.Manuszewski

	Moved InitPropertiesFromCustomList to UbLueprintGeneratedClass and made it thread safe

Change 3399729 on 2017/04/19 by Steve.Robb

	Simple optimization to TBitArray::RemoveAt() when all removed bits are at the end of the array.
	RemoveAtSwap() now simply decrements the count instead of calling RemoveAt().
	Checks for a positive count added to RemoveAt() and RemoveAtSwap().

Change 3399750 on 2017/04/19 by Jin.Zhang

	Order branch alphabetically #RB

Change 3400186 on 2017/04/19 by Steve.Robb

	Per-header generated code.

Change 3401458 on 2017/04/20 by Steve.Robb

	Static log categories moved out of headers to prevent duplicates when the header is included multiple times.

	#jira UE-37507

Change 3401657 on 2017/04/20 by Gil.Gribb

	UE4 - Simplified and reworked lock free lists and the task graph bringing all platforms under the same scheme.

Change 3401735 on 2017/04/20 by Gil.Gribb

	UE4 - Updated apple platform atomics with a new clang version which is intended to be shared among all clang platforms.

Change 3403362 on 2017/04/21 by Steve.Robb

	Algo::Sort() fixed to support C arrays.
	Size+count versions of Also::IsSorted() deprecated.
	Algo::IsSortedBy() added.
	Algo::FindBy() added to allow an element to be found by projection.
	Simplifications and generalizations.

Change 3404017 on 2017/04/21 by Ben.Marsh

	Fix issue where referenced plugin descriptors were missing from console builds, and prevent monolithic builds from offering to disable missing plugins.

Change 3405299 on 2017/04/24 by Steve.Robb

	Clarified the class of the incompatible function in the error message about incompatible BP event specifiers.

	#jira UE-35106

Change 3405302 on 2017/04/24 by Ben.Marsh

	UBT: Allow excluding documentation from generated project files, by setting <ProjectFileGenerator><bIncludeDocumentation>false</bIncludeDocumentation></ProjectFileGenerator> in the XML configuration file.

Change 3405629 on 2017/04/24 by Ben.Marsh

	Rename CPPEnvironment to CppCompileEnvironment, to reflect the class name.

Change 3406431 on 2017/04/24 by Ben.Marsh

	UAT: Fix incorrect handling of P4SubmitOptions when multiple values are present.

Change 3406670 on 2017/04/24 by Ben.Marsh

	UBT: Enable warnings for classes with virtual functions and no virtual destructor (C4265 on Windows, -fdelete-non-virtual-dtor on Clang).

Change 3407080 on 2017/04/25 by Gil.Gribb

	UE4 - Critical fix: Propoerly disambiguate imports with the same name and the same outer name. This fixes an assert: LocalExportIndex.IsNull.

Change 3407486 on 2017/04/25 by Gil.Gribb

	UE4 - Made changes so that servers, programs and non-engine executables do not create background or high priority threads.

Change 3407495 on 2017/04/25 by Gil.Gribb

	UE4 - Tweaked out XBox and Windows low level file IO.

Change 3407497 on 2017/04/25 by Gil.Gribb

	UE4 - Fixed bug in the pak precacher that would result in blocks being discarded too soon, which, in turn, resulted in redudnant reads.

Change 3407705 on 2017/04/25 by Ben.Marsh

	Removing most of the junk in DotNETUtilities.

Change 3409701 on 2017/04/26 by Ben.Marsh

	Disable another static analyzer warning for third party libraries.

Change 3410074 on 2017/04/26 by Daniel.Lamb

	Network platform file runs heart beats and responds to modified file changes.
	Cook on the fly server in the editor (COTS) now detects changes to content and notifies client.
	Fixed issue with network platform file not using correct sandbox.

	#test cook on the side shootergame

Change 3411131 on 2017/04/27 by Steve.Robb

	TIsTriviallyDestructible now supports forward-declared enums.

Change 3411186 on 2017/04/27 by Steve.Robb

	Fix for #includes in generated code for Within classes which are in a different module from the generated class.

Change 3411917 on 2017/04/27 by Steve.Robb

	Fixes to pushing/popping the CPP macro.

Change 3411966 on 2017/04/27 by Steve.Robb

	Include spam reduced in generated code.

Change 3412155 on 2017/04/27 by Ben.Marsh

	Fix for PVS Studio warning: VFOVInRadians used instead of HFOVInRadians.

Change 3412223 on 2017/04/27 by Ben.Marsh

	Fix for PVS-Studio warning: Calling SetHelperA.Num() twice.

Change 3412273 on 2017/04/27 by Ben.Marsh

	Fix for PVS-Studio warning: Duplicated variable name.

Change 3412511 on 2017/04/27 by Ben.Marsh

	PR #3462: Fixed PVS-Studio issues (Part 1) (Contributed by PaulEremeeff)


Change 3412582 on 2017/04/27 by Ben.Marsh

	Fix for PVS-Studio warning: Incorrect variable name in copy/pasted code

Change 3413136 on 2017/04/28 by Robert.Manuszewski

	Helper functions for dissolving specific GC clusters

Change 3413310 on 2017/04/28 by Ben.Marsh

	Fix for PVS-Studio warning: Incorrect variable name in copy/pasted code.

Change 3413341 on 2017/04/28 by Gil.Gribb

	UE4 - Add prestream capability to allow us to preload always loaded sublevels. Only turned on for Shootergame.

Change 3413351 on 2017/04/28 by Ben.Marsh

	Include code analysis macros directly from Platform.h, so that macros are available to everything.

Change 3413352 on 2017/04/28 by Ben.Marsh

	Fixing a few more PVS studio warnings.

Change 3413437 on 2017/04/28 by Ben.Marsh

	Fix for PVS-Studio warning: Comparison is always true.

Change 3413759 on 2017/04/28 by Ben.Marsh

	Suppressing warnings for PVS-Studio.

Change 3413784 on 2017/04/28 by Ben.Marsh

	Fix PVS-Studio warning.

Change 3413898 on 2017/04/28 by Ben.Marsh

	Fix PVS-Studio warning: Same conditional is checked twice.

Change 3413915 on 2017/04/28 by Ben.Marsh

	Fix PVS-Studio warning: LHS of expression is identical to RHS.

Change 3413989 on 2017/04/28 by Ben.Marsh

	Fix for PVS-Studio warning: If CurrentGraph->SubGraphs.Num() == 1, it will always enter the first conditional block.

Change 3414053 on 2017/04/28 by Ben.Marsh

	More PVS-Studio fixes.

Change 3414062 on 2017/04/28 by Ben.Marsh

	Fix for PVS-Studio warning: Pointer to object goes out of scope without being freed.

Change 3414070 on 2017/04/28 by Ben.Marsh

	Fix for PVS-Studio warning: Fix incorrect condition.

Change 3414071 on 2017/04/28 by Ben.Marsh

	Fix for PVS-Studio warning: Array index is always zero.

Change 3414116 on 2017/04/28 by Ben.Marsh

	BuildGraph: Allow marking compile tasks as unsuitable for use with the parallel executor, via an AllowParallelExecutor="false" attribute.

Change 3414160 on 2017/04/28 by Ben.Marsh

	Add support for running PVS-Studio through UnrealBuildTool. To use, pass -StaticAnalyzer=PVSStudio to the build command line (similarly, the Visual C++ analyzer can now be invoked using -StaticAnalyzer=VisualCpp). A log file will be written to the Engine/Saved/PVS-Studio or <Project>/Saved/PVS-Studio directory containing diagnostics, which can be opened using the "unparsed output" filter in the PVS-Studio standalone application. High priority warnings are printed to stdout.

Change 3414237 on 2017/04/28 by Ben.Marsh

	EC: Allow disabling and enabling the log preprocessor via special markers in the log.

	To disable: <-- Suspend Log Parsing -->
	To enable: <-- Resume Log Parsing -->

Change 3414343 on 2017/04/28 by Ben.Marsh

	UBT: Exclude ThirdParty folders from PVS output.


Change 3414392 on 2017/04/28 by Ben.Marsh

	Fix regular strings being casted to BSTRs; BSTRs have a hidden length prefix in the two bytes before the first character, so passing a regular TCHAR* is reading random memory.

Change 3414459 on 2017/04/28 by Ben.Marsh

	Fix for PVS-Studio warning: Object goes out of scope without being freed.

Change 3414495 on 2017/04/28 by Ben.Marsh

	Suppress some more PVS-Studio warnings.

Change 3414514 on 2017/04/28 by Ben.Marsh

	Fix for PVS-Studio warning: Testing WorldType being equal to EditorPreview and not equal to Inactive is redundant; changing to match description in comment instead.

Change 3414526 on 2017/04/28 by Ben.Marsh

	Fix for PVS-Studio warning: Variable assigned to itself has no effect.

Change 3415183 on 2017/04/29 by Ben.Marsh

	Fix conflict in macro definitions for ENABLE_HTTP_FOR_NFS - rename the macro defined by NetworkFile to ENABLE_HTTP_FOR_NF. Hopefully fix CIS.

Change 3415765 on 2017/05/01 by Ben.Marsh

	Suppressing PVS-Studio warning to get things building cleanly. Not sure if FContentHelper is being leaked or not.

Change 3415853 on 2017/05/01 by Ben.Marsh

	EC: Fix jobs never completing if a "Sync & Build" step fails. Dependent jobs should evaluate their run conditions as soon as the parent step finishes, rather than waiting for child job steps to be created.

Change 3416138 on 2017/05/01 by Ben.Marsh

	Fix Fortnite cook failures. Not sure what the exact problem is here, but my hunch is that discarded "const" causes blueprint compile failures due to not being able to connect output pins between nodes for overloaded functions, or something like that.

Change 3416309 on 2017/05/01 by Ben.Marsh

	Build: Fix node names for static analysis.

Change 3416360 on 2017/05/01 by Ben.Marsh

	UBT: Remove unused arguments to PrepForUATPackageOrDeploy for Windows.

Change 3416398 on 2017/05/01 by Daniel.Lamb

	Cook on the fly NetworkFileServerConnection Remove FileModifiedCallback delegate when the connection is closed.

	#test Cook on the side shootergame.

Change 3416826 on 2017/05/01 by Daniel.Lamb

	Added callback to game when files are requested reload from networkfileserver.
	Game will need to unload / reload effected objects.
	Working on simple reload capability in shootergame.

	#test Cook on the side shootergame with reloading

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

	EC: Remove warning for lines not matching p4 tag syntax when running preflights; multi-line descriptions in shelved changelists break this pattern.

Change 3418747 on 2017/05/02 by Steve.Robb

	Fix for const pointer properties.
	Fix for UHT debugging manifest.
	Test added for pointer properties.

Change 3420477 on 2017/05/03 by Gil.Gribb

	UE4 - Removed check from windows async IO layer.

[CL 3421020 by Ben Marsh in Main branch]
2017-05-03 14:18:32 -04:00
Thomas Sarkanen
1547db70c9 Copying //UE4/Dev-AnimPhys to //UE4/Dev-Main (Source: //UE4/Dev-AnimPhys @ 3362413)
#lockdown Nick.Penwarden

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

Change 3281394 on 2017/02/01 by Chad.Garyet

	one more try on the name here, with the extension this time

Change 3286009 on 2017/02/03 by Jon.Nabozny

	Fix SkelMeshMerge duplicating Skeleton sockets.

	#jira UE-39690

Change 3288374 on 2017/02/06 by Jon.Nabozny

	Fix MaterialIndex checks in USkinnedMeshComponent::GetMaterial

Change 3288640 on 2017/02/06 by Jon.Nabozny

	#rn Fix UPhysicsConstraintComponent details to allow modification of MaxForce, Stiffness, and Damping for Linear and Angular constraints.

	#jira UE-40261

Change 3288978 on 2017/02/06 by Jon.Nabozny

	Add code to debug for duplicate sockets in UQAMeshMergeComponent::MergeMeshes.

Change 3290332 on 2017/02/07 by Marc.Audy

	Add AnimPhys object version

Change 3290753 on 2017/02/07 by Jon.Nabozny

	Update CoM documentation for CoM offset.

	#jira UE-40136

Change 3290783 on 2017/02/07 by Jon.Nabozny

	Update mass dependent wheel properties in UWheeledVehicleMovementComponent when mass is updated.

	#jira UE-39820

Change 3292286 on 2017/02/08 by Jon.Nabozny

	Fix OSSNull query filtering.

	#codereview: John.Pollard, Josh.Markiewicz, JohnHenry.Carawon
	#jira: UE-37512

Change 3294138 on 2017/02/09 by Thomas.Sarkanen

	Add more descriptive name for sub-struct members in property tracks

Change 3294139 on 2017/02/09 by Thomas.Sarkanen

	Moving to individual structs for limbs

Change 3294140 on 2017/02/09 by Thomas.Sarkanen

	Updated base human asset to reflect limb changes

	Updated map to just contain the mannequin for now
	Updated Sequence to contain some default IK keys

Change 3294178 on 2017/02/09 by Thomas.Sarkanen

	Fix shadow variable warning

Change 3294554 on 2017/02/09 by Thomas.Sarkanen

	Fixed persistent limb drift issues with non-participant bones

	Still have rotational drift with IK chain nodes (still to fix).
	Also fixes the addition of initial keys on binding when animating.
	Also fixes not being able to pick the widget sometimes when picking nodes in the tree.

Change 3294826 on 2017/02/09 by Chad.Garyet

	fixing up busted defaultvalues on physx and precompiled binaries

Change 3294827 on 2017/02/09 by Thomas.Sarkanen

	CIS fixes for non-editor and monolithic builds

Change 3296363 on 2017/02/10 by Thomas.Sarkanen

	Fix bone drifting

	Re-using local transforms then resetting each update pass was accumulating error (via GetRelativeTransform), causing limbs to drift. To address this, simply set the global transform in the case where we know the local transform wont change.
	Also optimized the hierarchy API a little & prevented excess work when nothing changes.

Change 3296393 on 2017/02/10 by James.Golding

	Add support for clicking on PoseDriver targets in viewport

Change 3296465 on 2017/02/10 by Thomas.Sarkanen

	Removed component visualizer (no longer used)

Change 3296467 on 2017/02/10 by Thomas.Sarkanen

	Fixed extra keys being made when switching IK/FK mode. Now we only key on user action.

	Added ability to hide nodes (advanced setting) and manipualtors (on playback)

Change 3296554 on 2017/02/10 by Thomas.Sarkanen

	Fixed up some workflow issues

	Widget visibility and the ability to move actors around is now corrected by calling the base FEdMode class functions appropriately.
	Added a focus of the chosen actor so orbiting the actor is easier. There is a hitch when we do this (probably because Sequencer is re-initialized the next frame), so we miss the nice transition.

Change 3296621 on 2017/02/10 by Thomas.Sarkanen

	Added ability to specify manipulator type when adding

	Not exposed in the 'add' UI yet, just enough to allow me to batch-change the ones we have for now
	Also tweaked default extents for box manipulators.

Change 3296622 on 2017/02/10 by Thomas.Sarkanen

	Changed FK manipulators to boxes

Change 3296740 on 2017/02/10 by James.Golding

	Added bOnlyDriveSelectedBones option to PoseDriver

Change 3296957 on 2017/02/10 by James.Golding

	Fix AnimNode_PoseHandler using mesh bone index not compact bone index for setting up BoneBlendWeights array

Change 3297092 on 2017/02/10 by Jon.Nabozny

	#rn Fix InstancedStaticMesh not properly creating physics state when Stationary.

	#JIRA UE-39876

Change 3297160 on 2017/02/10 by Ori.Cohen

	Temp fix for physx immediate mode crashing when 0 rows are generated.

Change 3297203 on 2017/02/10 by Ori.Cohen

	Temp fix for immediate mode crash when free joints are batched together

	#JIRA UE-41026

Change 3297326 on 2017/02/10 by Jon.Nabozny

	PR #2965: Update comments in several classes within demo projects to match style present and provide more detail for new users (Contributed by Markyroson)

	Changed some of the comment blocks to multiple single line (inside definitions). This is for consistency with our codebase.

	#JIRA UE-38981

Change 3297618 on 2017/02/10 by Charles.Anderson

	Arcblade - GDC
	- Created a new mor polished Phat for this.  Probably not gonna use it.
	- Created a Ragdoll asset. Need to talk to Ori about getting it working better.

Change 3297799 on 2017/02/10 by mason.seay

	Test map for testing audio attenuation

Change 3297940 on 2017/02/10 by Jon.Nabozny

	#rn Fix ConstraintComponentVisualizer with AngularOffset.

	Needed to apply local transform before world.

	#JIRA UE-39597

Change 3297947 on 2017/02/10 by Chad.Garyet

	adding automated test build option

Change 3299203 on 2017/02/13 by Thomas.Sarkanen

	Fixed local coord system issues with rotation (etc).

	Delta transforms are supplied in the space we specify in GetCustomDrawingCoordSystem(), so we now perform our operations in that space, then convert back when applying to the animation.
	Fixed up to allow for animating actors with transformed skeletal mesh components.
	Also added some proximity scaling to manipulators.

Change 3299220 on 2017/02/13 by Thomas.Sarkanen

	Fixed CIS missing include

Change 3299343 on 2017/02/13 by Lina.Halper

	Spine twist/roll check in
	- control points are disabled

	#rb: Thomas.Sarkanen

Change 3299388 on 2017/02/13 by James.Cobbett

	Updating QA-Physics map

Change 3299518 on 2017/02/13 by Lina.Halper

	fix build issue

	#rb: none

Change 3299701 on 2017/02/13 by Ori.Cohen

	Add finer grain physx stat information.

Change 3299894 on 2017/02/13 by Ori.Cohen

	Added LOD support for immediate mode physics

Change 3299906 on 2017/02/13 by James.Cobbett

	Updating QA-Collision map with new test scenarios

Change 3299962 on 2017/02/13 by Ori.Cohen

	Fix shadow warning

Change 3300100 on 2017/02/13 by Lina.Halper

	- renamed Constraint Axes option to FFilterOptionPerAxis : was going to reuse it for something else but didn't have to but left name changed because it makes more sense
	- enable control point reading part
	- twist/roll controll is localspace reader - BaseHuman

	#rb: none
	#code review:Thomas.Sarkanen

Change 3300206 on 2017/02/13 by Ori.Cohen

	Rename Ragdoll node to RigidBody node

Change 3300899 on 2017/02/13 by Alan.Noon

	Migrating Paragon Origin and Origin Small maps content.

Change 3301279 on 2017/02/14 by Jurre.deBaare

	Mesh paint refactor

Change 3301288 on 2017/02/14 by Jurre.deBaare

	Incremental CIS fixes

Change 3301290 on 2017/02/14 by Jurre.deBaare

	Another CIS fix

Change 3301311 on 2017/02/14 by Thomas.Sarkanen

	Fixed non-editor builds

Change 3301313 on 2017/02/14 by Jurre.deBaare

	More CIS fixes

Change 3301315 on 2017/02/14 by Jurre.deBaare

	Include CIS fix

Change 3301333 on 2017/02/14 by Jurre.deBaare

	Non-Unity CIS fixes

Change 3301388 on 2017/02/14 by Benn.Gallagher

	CIS fix for cloth create panel

Change 3301445 on 2017/02/14 by Benn.Gallagher

	Last few changes over from the mesh paint branch
	hooked up LOD dropdown box
	Moved asset selection out of details panel

Change 3301527 on 2017/02/14 by mason.seay

	Deleting unneeded map

Change 3301531 on 2017/02/14 by mason.seay

	Renaming Map to fix naming scheme

Change 3301558 on 2017/02/14 by Ori.Cohen

	Fix physx stats not being counted properly as we were not using static data.

Change 3301604 on 2017/02/14 by Ori.Cohen

	Fix static analysis warning

Change 3301615 on 2017/02/14 by Jurre.deBaare

	All. The. CIS. Fixes

Change 3301630 on 2017/02/14 by mason.seay

	Updating Map for testing

Change 3301697 on 2017/02/14 by mason.seay

	Final change to map

Change 3301734 on 2017/02/14 by Jurre.deBaare

	- Crash CTRL-Z when having cloth painter and paint mode open
	- Fill action not being undo-able
	- Import vertex colors should default to to-instance
	- Paint mode buttons in level painter are now toggle buttons (clarifies UI for user)

Change 3301763 on 2017/02/14 by Jurre.deBaare

	- Fix for asset without engine version
	- Fix for crash due to missing skeletal mesh permutation in mesh paint view modes

Change 3302421 on 2017/02/14 by Lina.Halper

	Fixed issue where spline gets incorrect position when it has many control points.

	#rb: Thomas.Sarkanen

Change 3302667 on 2017/02/14 by Lina.Halper

	- added spine control points to work
	  - FK/IK switch isn't working great yet. Don't try
	  - disabled all twist/roll handling since control point itself can twist also and they were conflicting each other
	- added option to add fk nodes, change parnets
	  - fixed issue with drawing skeleton drawing, when parents weren't added yet.
	- Added neck/head/body control

	#code review: Thomas.Sarkanen
	#rb: none

Change 3303200 on 2017/02/14 by Alan.Noon

	Collision shapes for Immediate Mode Ragdolls

Change 3303201 on 2017/02/14 by Alan.Noon

	Adding Origin, Full Map

Change 3303477 on 2017/02/15 by James.Golding

	Add Get and SetComponentForAxis to FVector and FRotator

Change 3303478 on 2017/02/15 by James.Golding

	Add support for multiple source bones to PoseDriver

Change 3303480 on 2017/02/15 by James.Golding

	Added per-scene frame number, handles cases like motion blur caching.
	Refactored GPUSkinCache to have an explicit frame advance function, called after all viewports have rendered in game/editor, PostRenderAllViewportClients.
	(Original author Chris.Bunner)

Change 3303513 on 2017/02/15 by Jurre.deBaare

	CIS: Linux file name case fixes and incorrect pragma once

Change 3303576 on 2017/02/15 by Thomas.Sarkanen

	Sub-sequence sections can now override how they instance their template

	Added UMovieSceneSubSection::GenerateTemplateForSubSequence. This just performs the original call to SubSequenceStore.GetCompiledTemplate in the dcefault case.
	Allowed non-const access to FMovieSceneEvaluationTemplate::GetTracks so they can be potentially modified once instanced.
	Added access for FMovieSceneEvaluationTrack::ChildTemplates.

Change 3303578 on 2017/02/15 by Thomas.Sarkanen

	Rich curves can now be transformed post-copy correctly

	Using GetKeyIterator rather than aquiring the iterator directly makes sure we have valid key handles, which we dont if we have just copied the curve.

Change 3303579 on 2017/02/15 by Thomas.Sarkanen

	Added GetLinkNode to complement SetLinkNode in FAnimNode_Base

Change 3303580 on 2017/02/15 by Thomas.Sarkanen

	Made the logic around when sub-tracks can be primed for recording more specific

	Prevents rig control sub tracks form being able to be primed.

Change 3303581 on 2017/02/15 by Thomas.Sarkanen

	Allowing alpha on rig tracks to work

	Alpha curve is now pushed down to tracks on template compilation along with bone masks & additive flag.
	Sequencer anim instance updated to use new flags. Structure altered to accomodate layered blending for masked body parts (should probably push this to the regulat sequence instance too).
	Moved anim node to local space (now it is just derived form FAnimNode_Base).
	Also fixed opening/binding order issues - Now you should be able to open a sequence, bind to an actor and create a new rig control in a sequence in any order.

Change 3303582 on 2017/02/15 by Thomas.Sarkanen

	Fixed UE4Game CIS - Moved AddConstraint() to non-editor-only

	Also fixed crash in property chain iteration (for non-existent array properties)

Change 3303594 on 2017/02/15 by Jurre.deBaare

	Fix for crash on deleting painted actors

Change 3303636 on 2017/02/15 by Lina.Halper

	-remove temp code to add constraints. - they serialize, so once you add them you don't have to add these anymore.
	This will move to editor menu soon.

	#rb: none

Change 3303648 on 2017/02/15 by Martin.Wilson

	Fix reimport crashes if the animation uses additive transform tracks.

	#jira UE-41929
	#jira UE-41921

Change 3303652 on 2017/02/15 by Benn.Gallagher

	Added merged Ice mesh with new simulation mesh to match mesh from APEX version.

Change 3303660 on 2017/02/15 by Benn.Gallagher

	map update for clothing demo

Change 3303662 on 2017/02/15 by Benn.Gallagher

	State machine update for Ice anim

Change 3303676 on 2017/02/15 by mason.seay

	Adjusted sound actor location

Change 3303689 on 2017/02/15 by Benn.Gallagher

	Updated Ice mesh to have clothing present on the back part of the dress

Change 3303691 on 2017/02/15 by Jurre.deBaare

	CIS fixes for pose driver details

Change 3303704 on 2017/02/15 by Lina.Halper

	Add FK limb links
	- enabled temp code to add constraints. It's not serialized from BP editor, so this has to be added everytime. Will fix this in the futre check-ins

	#rb:none

Change 3303716 on 2017/02/15 by Thomas.Sarkanen

	Updated manipulators to always draw in front of the mesh

	Added material & enabled content for the plugin.

Change 3303730 on 2017/02/15 by thomas.sarkanen

	Resaving manipulator material with correct engine version

Change 3303754 on 2017/02/15 by Thomas.Sarkanen

	Fix manipulators popping to max size when manipulating

Change 3303835 on 2017/02/15 by Thomas.Sarkanen

	Fix hitch by not displaying spawned objects if we dont have a sequence focused.

Change 3303843 on 2017/02/15 by Lina.Halper

	Added normalize rotation on inputs/outputs

	#code review: Thomas.Sarkanen
	#rb: none

Change 3303916 on 2017/02/15 by Jurre.deBaare

	CIS: Linux incorrect pragma once

Change 3304084 on 2017/02/15 by James.Golding

	Update pose driver test after addition of multi-bone input

Change 3304188 on 2017/02/15 by James.Golding

	Add custom remap curve option per-target in PoseDriver

Change 3304189 on 2017/02/15 by James.Golding

	Fix CIS for ControlManipulator.cpp

Change 3304210 on 2017/02/15 by Alan.Noon

	Added hidden collision objects for stairs area. Added brighter lighting on plinth area. Hooked up minion placement randomization. Added 100 minions to minion level for ragdol

Change 3304327 on 2017/02/15 by Alan.Noon

	Created new Persistent levels for each Anim Tech demo, which loads in Origin_Small_P

Change 3304337 on 2017/02/15 by Alan.Noon

	renamed minion demo level for GDC

Change 3304508 on 2017/02/15 by Lina.Halper

	- You can see constraints in the tree view (full edit mode)
	- YOu can add or update constraints (using update constraints button)
	- You can delete constraints
	- Cleaned up constraints interface

	#rb: none
	#code review: Thomas.Sarkanen

Change 3304537 on 2017/02/15 by chris.evans

	!N Initial PSD test [chrise]

Change 3304551 on 2017/02/15 by James.Golding

	Fix missing 'break's from SetComponentForAxis in FVector and FRotator

Change 3304570 on 2017/02/15 by Chris.Evans

	!N Source assets for psd test
	#RB none

Change 3304964 on 2017/02/15 by Lina.Halper

	fix build issue

	#code review: James.Golding
	#rb: none

Change 3304998 on 2017/02/15 by Chris.Evans

	!B Checking in correct FBX
	#RB none

Change 3305314 on 2017/02/15 by chris.evans

	!N Adding materials driven

	!N Adding 'simulation' animation which simulates the driven result

Change 3305355 on 2017/02/15 by chris.evans

	!N Initial test shoulder pose

Change 3305357 on 2017/02/15 by chris.evans

	!N Initial Mambo shoulder ROM

Change 3305446 on 2017/02/15 by Lina.Halper

	fixed CIS error

	#rb: none
	#code review: Thomas.Sarkanen

Change 3305768 on 2017/02/16 by Jurre.deBaare

	CIS: Clang compile errors

Change 3305857 on 2017/02/16 by thomas.sarkanen

	Removed particle systems from top plinth as they interfere with selection and obscure demo somewhat.

Change 3305907 on 2017/02/16 by Thomas.Sarkanen

	Fix hitches on selection of multiple keys

	Prevented multiple seleciton callbacks being called for each key (we now just edit the selection then broadcast later).
	Dont force the details panel to refresh if nothing has changed.
	Make sure we make a list of unique object IDs when processing the selection delegate, as we get an object ID per track.

Change 3305910 on 2017/02/16 by Thomas.Sarkanen

	Allow multiple instances ot the same parameterized subsequence to exist and function correctly

	Subsequences in the store are now keyed off an optionally specified 'other' object. In the case of parameterized subsequences, this object is the section.
	Editor only right now - cooked builds are still to come

Change 3305911 on 2017/02/16 by Thomas.Sarkanen

	Fix NaNs from uninitialized poses

Change 3305922 on 2017/02/16 by Thomas.Sarkanen

	BuiltData for Origin_Small_P

Change 3305927 on 2017/02/16 by Thomas.Sarkanen

	Moved ControlRig->ControlRigDemo in preparation for keeping all assets in one folder

	Added some test assets

Change 3305928 on 2017/02/16 by Thomas.Sarkanen

	Dont select actors when we bind to them

	Selection can sometimes look bad and obscure the character.

Change 3306118 on 2017/02/16 by Thomas.Sarkanen

	CIS fix

Change 3306230 on 2017/02/16 by Jurre.deBaare

	CIS fix for linking errors on specific platforms

	#test compile PS4 OrionGame

Change 3306378 on 2017/02/16 by Martin.Wilson

	First pass Live Link system (Initially from //Tasks/UE4/Dev-Causeway)

	- Live Link Maya plugin build files (builds a .mll file that can be loaded into Maya)
	- Live Link Interface (editor module with interface files)
	- Live Link Message Bus Framework (editor module with files needed for building message bus based live link plugins)
	- Live Link (experiemental plugin that contains editor part of live link system)

Change 3306388 on 2017/02/16 by Lina.Halper

	- build issue fix
	- also tweaked display name to display only node name in editing mode

	#rb: none

Change 3306455 on 2017/02/16 by Jon.Nabozny

	#rn Perf improvements to FAnimNode_RigidBody.

	Cache bounds to prevent unnecessary overlap updates.
	Move overlaps off game thread.

Change 3306591 on 2017/02/16 by Martin.Wilson

	Updates to live link

	- Copyright changes (some were still 2016)
	- Rename BlankMayaPlugin to LiveLinkMayaPlugin

Change 3306907 on 2017/02/16 by Jon.Nabozny

	MinionDemo Content Perf Pass.

Change 3306914 on 2017/02/16 by Thomas.Sarkanen

	Back out changelist 3305857 and 3305922

	Reverts particle system changes to Origin_Small_P

Change 3306942 on 2017/02/16 by Martin.Wilson

	Live link demo content

	-Feng mao mesh that matches maya scene
	- LiveLinkGDC Map
	- Beginning of camera control sequencer

Change 3307154 on 2017/02/16 by Alan.Noon

	Merged in new content to fix badly collapsed BP Static meshes deleted ragdoll minions for new posing. Stopped animation on spawn pad materials

Change 3307382 on 2017/02/16 by Martin.Wilson

	Fix CIS (Add virtual destructor to ILiveLinkSource)

Change 3307497 on 2017/02/16 by chris.evans

	!N Moving mats

Change 3307541 on 2017/02/16 by Chris.Evans

	!B Rebuilding test assets with new skeleton

Change 3307873 on 2017/02/16 by Chris.Evans

	!N Mambo updates

Change 3307875 on 2017/02/16 by Chris.Evans

	!R Update to blueprint

Change 3308030 on 2017/02/16 by Alan.Noon

	Changed lighting of Origin_Small_P based on feedback. Placed new objects were previous were exhibiting bad lightmaps.

Change 3308246 on 2017/02/16 by Alan.Noon

	Consolidated new lighting content from sublevels into Origin_Small_P. Hooked up Physics asset to ArcBlade Skeletal mesh

Change 3308470 on 2017/02/16 by Lina.Halper

	- make sure all are hooked up properly to pelvis and spine_03
	  - no multiple pelvis anymore. Using one to tweak all of them. all limbs are connected through constraints
	- make sure end effector rotation is modifying IK's last chain rotation
	  - had to hack for saving offset for IK/FK switch mode but it works fine
	- fixed lots of constraint issue with deleting node, parent constraints. Added new spine after that fix.

	#rb:none
	#code review: Thomas.Sarkanen

Change 3308764 on 2017/02/17 by Jurre.deBaare

	Fix for non-unity Orion game build

Change 3308774 on 2017/02/17 by Thomas.Sarkanen

	Added multi-selection of manipulators

	Allowed BoxSelect, FrustumSelect and SelectNone to be overriden by the edit mode. Our edit mode doesnt have a sub-tool, it handles everything itself.
	Also fixed manipulators drawing in front of widget
	Changed manipualtors to be world-relative rather than screen relative scaled.
	Tweaked proximity to be stateful so we only highlight the closest node
	Also fixed slow FPS when dragging.

Change 3308802 on 2017/02/17 by James.Golding

	Fix 'apply custom curve' for pose driver targets being on by default

Change 3308824 on 2017/02/17 by Lina.Halper

	Fix build issue

	#code review:Thomas.Sarkanen
	#rb: none

Change 3308851 on 2017/02/17 by James.Golding

	Add new control manipulator picking UI

Change 3308863 on 2017/02/17 by Martin.Wilson

	Enable Live Link plugin in AnimTechDemo

Change 3308880 on 2017/02/17 by Thomas.Sarkanen

	Getting instanced subsequences working in cooked builds

Change 3309009 on 2017/02/17 by Benn.Gallagher

	Mask support and UI, not hooked up to painter yet
	Added clothing tools experimental flag and hooked up

Change 3309016 on 2017/02/17 by Martin.Wilson

	Clean up engine provided output devices and supply a Maya one, stops Maya hanging on shutdown

Change 3309108 on 2017/02/17 by Jurre.deBaare

	CIS fix: missing definition of FWeakObjectPtr (strangely not part of CoreMinimal)

Change 3309134 on 2017/02/17 by Jurre.deBaare

	Crash in texure painting mode
	#fix Required some extra checks for new setup (can only paint while having one mesh selected)

	Issue with vertex paint propagating to lower LOD levels
	#fix There was no setup to propagate colors from source static mesh data so added the path

	#misc Re-added flow painting and removed flow-strength property
	#misc Added detail customization for texture paint UV channel

Change 3309256 on 2017/02/17 by Benn.Gallagher

	CIS fix

Change 3309393 on 2017/02/17 by James.Golding

	Set color for kinematic controls

Change 3309410 on 2017/02/17 by Ori.Cohen

	PR #3221: Kinematic body interpolation in substepping causes invalid raycasting/sweeping/overlapping (Contributed by PhoenixBlack)

Change 3309469 on 2017/02/17 by Benn.Gallagher

	Added ContentExamples cloth assets

	Added camera transitions and controls

	Cleanup logic

	Move characters and materials onto upper plinth

	Hid actor mesh from game view.

Change 3309625 on 2017/02/17 by mason.seay

	Resaving assets to remove warnings

Change 3309802 on 2017/02/17 by Alan.Noon

	Modified Origin_Small_P lighting. Set up ArcBlade for presentation

Change 3309985 on 2017/02/17 by Thomas.Sarkanen

	Fixed crash adding multiple rigs to sequence

	If a hierarchy is empty, dont attempt to access a non-existent node

	#jira UE-42103

Change 3310209 on 2017/02/17 by Lina.Halper

	- Fix limbs detaching issues
	- added set translation to override translation
	  - moved joint targets away from the limbs
	- Spine FK is on by default
	- spnie IK/FK switch should work better. It can still pop depending on your control point can handle or not.

	#rb: none

Change 3310389 on 2017/02/17 by Chris.Evans

	!N Mambo multi-joint pose demo

Change 3310911 on 2017/02/18 by Lina.Halper

	Ice/Mambo mapping fix with BaseHuman

Change 3311138 on 2017/02/19 by James.Golding

	- Allow multi-select in control picker
	- Clicking on background clears selection
	- Add 'Select All' button
	- Darken controls that are disabled (is in different kinematic mode)
	- Use selection color from control instead of outline
	- Center and fit picker to details panel width
	- Remove entire Nodes section of edit mode panel (not just tree)
	- Fix rig properties not scrolling
	- Place picker in expandable area, collapsed when no rig selected

Change 3311147 on 2017/02/19 by Thomas.Sarkanen

	Fix spine keying

	Add the ablity for array elements to be keyed directly. The spine properties are FTransforms in an array and previously it ignored them because of assumptions about allowed structures.

	This should probably be refactored to a more generic 'traverse up my property chain looking for Interp properties' at some point in the future.

Change 3311150 on 2017/02/19 by Thomas.Sarkanen

	Synchronizing sequencer selection

	Now enter key works for keying selected tracks

	Added new way to select sequencer tracks externally via property paths.

Change 3311152 on 2017/02/19 by Thomas.Sarkanen

	Missed files

Change 3311153 on 2017/02/19 by Thomas.Sarkanen

	CIS fixes

Change 3311154 on 2017/02/19 by Thomas.Sarkanen

	File I missed (CIS fix)

Change 3311156 on 2017/02/19 by James.Golding

	Change 'ControlRig Edit Mode' icon

Change 3311176 on 2017/02/19 by Lina.Halper

	Fix build issue

	#rb:none
	#code review: Thomas.Sarkanen, Jurre.DeBarre, James.Golding

	p.s. not sure who's code, so just adding everybody I can think of

Change 3311261 on 2017/02/19 by Lina.Halper

	- Fixed an issue when you don't have parent in the rig
	  - get all component space, and convert to local

	#rb:none
	#code review: Thomas.Sarkanen

Change 3311282 on 2017/02/19 by Lina.Halper

	Fixed issue where pivot location is incorrect when mapping to other meshes

	#rb: none
	#code review:Thomas.Sarkanen

Change 3311491 on 2017/02/20 by Thomas.Sarkanen

	CIS fix

Change 3311497 on 2017/02/20 by Jurre.deBaare

	Game editor compile error
	#fix WITH_EDITORONLY_DATA instead of WITH_EDITOR ifdef around UPROPERTY

Change 3311507 on 2017/02/20 by Jurre.deBaare

	Cloth paint progress
	- Different approach / refactored out paint ray retrieval
	- Added key input callback to IMeshPainter and derived classes
	- Added toggle for showing invisible vertices
	- Added gradient paint tool
	- Details customization for brush/gradient tool settings
	- Some cleaning

Change 3311527 on 2017/02/20 by Jurre.deBaare

	CIS header guard warning

Change 3311530 on 2017/02/20 by Jurre.deBaare

	CIS dereferencing possible nullptr warning

Change 3311533 on 2017/02/20 by Jurre.deBaare

	CIS dereferencing warning (better fix)

Change 3311543 on 2017/02/20 by James.Golding

	Add buttons for switching IK/FK mode of limb/spine to picker
	Put picker and details panel in a scroll box
	Fix spine manipulators not being hidden when disabled

Change 3311649 on 2017/02/20 by James.Golding

	R key now toggles manipulator visibility

Change 3311707 on 2017/02/20 by Lina.Halper

	Added Clavicle FK controls

	#code review: Danny.Bouimad

Change 3311764 on 2017/02/20 by Martin.Wilson

	Update cameras for Live link demo map and turn on recompute tangents on Feng Mao

Change 3311858 on 2017/02/20 by Chris.Evans

	!R Updated with pose values

Change 3312043 on 2017/02/20 by Jon.Nabozny

	Change SkelMeshMerge logic to fix duplicates (again) and fix crash.

	#jira UE-39690, UE-42146

Change 3312046 on 2017/02/20 by Thomas.Sarkanen

	Fix crash drag/dropping skeletal mesh

	#jira UE-42139 - Crash when adding SK_Mannequin to a Level Sequence in QAGame

Change 3312052 on 2017/02/20 by James.Golding

	Change manipulator colors to red for right, blue for left, white for middle
	Change IK/FK switch buttons to yellow/purple
	Move picker buttons to take up less horizontal space
	Move IK/FK switch button positions out of C++

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

	Fix settings for using precompiled binaries in Dev-AnimPhys.

Change 3312517 on 2017/02/20 by Alan.Noon

	Created new persistent level for Chris E's demo. Placed a few minions for CharlesA to test improved ragdoll asset. Tuned lighting in Origin_Small_P and fixed light leaks.

Change 3312570 on 2017/02/20 by Charles.Anderson

	More work on Arcblade Ragdoll for GDC

Change 3312594 on 2017/02/20 by Alan.Noon

	MultipleJointPoseDriving_GDC_P_pose_test_level

Change 3312637 on 2017/02/20 by Alan.Noon

	Reconciling offline content

Change 3312902 on 2017/02/20 by Charles.Anderson

	Minions for GDC

Change 3313206 on 2017/02/20 by Ori.Cohen

	Added trimesh support for immediate mode.

Change 3313247 on 2017/02/20 by Chris.Evans

	!N updated with both demo assets in one map

Change 3313447 on 2017/02/20 by Ori.Cohen

	Fix immediate mode collision not working with convex transforms being baked in

Change 3313472 on 2017/02/20 by Ori.Cohen

	Fix crash caused by missing switch case break

Change 3313518 on 2017/02/20 by Lina.Halper

	IK knee issue/Twist issue

	#code review: Thomas.Sarkanen, James.Golding
	#rb: none

Change 3313547 on 2017/02/20 by Lina.Halper

	Fixed Body-Ctrl to work with every node.

Change 3313617 on 2017/02/20 by Lina.Halper

	- Fix for limbs delaying when moving BodyCtrl
	- Fix for additive issue for control rig anim node

	#rb: none
	#code review: Thomas.Sarkanen

Change 3313618 on 2017/02/20 by Lina.Halper

	remove unnecessary calc

	#rb:none

Change 3313625 on 2017/02/20 by Lina.Halper

	Fixed body ctrl move keys

	- all IK keys also have to be in local space (but they're local to body_ctrl)

Change 3313633 on 2017/02/20 by Alan.Noon

	Quick laying out of Minions for stress testing. Iterated on Environment collision.Built lighting

Change 3313655 on 2017/02/20 by Lina.Halper

	- Fixed so that you can tweak pelvis and move body also
	- Fixed mambo mapping

Change 3313897 on 2017/02/21 by James.Golding

	Make all FK manipulators smaller (3 instead of 4.5)

Change 3313898 on 2017/02/21 by James.Golding

	Integrate CL 3311876 to Dev-AnimPhys (original author Rolando.Caloca)
	DR - Expose skin cache cvar r.SkinCache.AccumulationBufferSizeInKB

Change 3313902 on 2017/02/21 by James.Golding

	Draw lines from IK target to mid-joint

Change 3313906 on 2017/02/21 by Thomas.Sarkanen

	Fix undo/redo/save t-pose and crashes

	Binding now only does what it needs to do an no more (i.e. force a reig evaluation and re-select the rig we are looking at).
	Object spawner now does not root its objects. Rather it hangs them off of a 'holder' object so that they can exist safely in the transaciton buffer.

Change 3313938 on 2017/02/21 by Benn.Gallagher

	Migrated clothing assets

Change 3313982 on 2017/02/21 by James.Golding

	Fix static analysis in ClothPainter.cpp

Change 3313985 on 2017/02/21 by Benn.Gallagher

	Fixed crash when attempting to create clothing with degenerate triangles. Now a log error and toast warn the user of conincident tri points.

	#jira UE-41935
	#rnx

Change 3314052 on 2017/02/21 by James.Golding

	Fix CIS in ControlRigEditModeSettings.cpp

Change 3314100 on 2017/02/21 by Lina.Halper

	IK fix for retargeting

	- using rig transform and remapping doesn't work. I'll have to use mesh space for IK at least. It still does blend in rig space, though with FK.

	#rb: none

Change 3314160 on 2017/02/21 by Thomas.Sarkanen

	Added optional node trajectories

	Added trajectory cache which uses similar mechanisms to the thumbnail cache to build trajectories for nodes.
	Builds trajectories and their meshes incrementally when relevant things change

Change 3314167 on 2017/02/21 by James.Golding

	Fix undo when pushing IK/FK toggle buttons

Change 3314168 on 2017/02/21 by Benn.Gallagher

	Disabled skin cache on tech demo project

Change 3314290 on 2017/02/21 by Lina.Halper

	- Cleaned up code a bit
	- Fixed thigh to rotate to target and fixed a bug that caused jittering

	#rb: none

Change 3314418 on 2017/02/21 by Thomas.Sarkanen

	Fix CIS issue

Change 3314428 on 2017/02/21 by Thomas.Sarkanen

	Fixup anim node to be of correct editor-time type

	Caused crash when placed in an anim BP

Change 3314574 on 2017/02/21 by Thomas.Sarkanen

	Fixed crash on shutdown

	#jira UE-42214

Change 3314705 on 2017/02/21 by Alan.Noon

	Iterating on map collision. Made minion weapon joint unbreakable

Change 3314722 on 2017/02/21 by Alan.Noon

	Moved minions back into Minion demo Persistent level.

Change 3314778 on 2017/02/21 by Lina.Halper

	added neck/ball_r/l control

	#code review: Daniel.Bouimad

Change 3314908 on 2017/02/21 by Ori.Cohen

	Temp fix for cloth bounds issue.

Change 3314920 on 2017/02/21 by Alan.Noon

	Placing minions. Iterating collision

Change 3314970 on 2017/02/21 by Lina.Halper

	added bone picker for toes, neck

Change 3315006 on 2017/02/21 by Benn.Gallagher

	Fixed clothing bounds issue with empty simulations.

Change 3315017 on 2017/02/21 by Lina.Halper

	fix crash on null proxy

	#rb: Benn.Gallagher

Change 3315054 on 2017/02/21 by Alan.Noon

	Placing minions

Change 3315671 on 2017/02/21 by Chris.Evans

	!B Fixed default material
	!N Added physics subgraph for Mambo
	!N Added third 'gameplay' complex example

Change 3315693 on 2017/02/21 by chris.evans

	!N Enabling tangent recompute on Mambo face and arm pits.

Change 3315838 on 2017/02/21 by Alan.Noon

	New Orbital Laser Pawn. New ragdoll sublevels for minion demo (400 minions)

Change 3316206 on 2017/02/22 by Thomas.Sarkanen

	Fix shadowed variables

Change 3316207 on 2017/02/22 by Thomas.Sarkanen

	Manipulators are now transparent

Change 3316258 on 2017/02/22 by Jurre.deBaare

	- Fix for changing levels while force painting to a specific LOD
	- Brush depth not same as in main

Change 3316259 on 2017/02/22 by Jurre.deBaare

	Fix for paint verts being rendered outside of painting area
	#misc want to change underlying behaviour for the brush representation but this'll patch it up for now

Change 3316260 on 2017/02/22 by Jurre.deBaare

	Changed default paint brush settings

Change 3316267 on 2017/02/22 by Jurre.deBaare

	Added channel paint flags to texture painting settings
	#misc might want to create base class for common paint settings

Change 3316268 on 2017/02/22 by Jurre.deBaare

	Fix for issue with viewport color mode not being reset when exiting mesh paint mode
	#jira UE-42221

Change 3316278 on 2017/02/22 by James.Golding

	Fix crash when pose asset contains a bone that is not in the mesh

Change 3316304 on 2017/02/22 by Thomas.Sarkanen

	Prevent sequencer from reselecting tracks when keys are selected

	Also fixed crash concurrently modifying an itterating TSet when removing selection nodes.
	Also made manipualtors not grow and shrink when transacting.
	Also tweaked sequencer selection to not allow movement of infinite areas - this allows us to start drag-selecting over these tracks rather than trying to move a seciton that cannot be moved.

	#jira UE-42164

Change 3316325 on 2017/02/22 by James.Golding

	Hook up Mambo physics as 'Pose Process AnimBP'

Change 3316384 on 2017/02/22 by James.Golding

	Slow down mambo anim playback rate

Change 3316385 on 2017/02/22 by Jurre.deBaare

	CIS: Deprecation warning fix

Change 3316424 on 2017/02/22 by Lina.Halper

	#fix : control rig mapping fix for Mambo

	#lockdown: James.Golding

Change 3316525 on 2017/02/22 by Lina.Halper

	- Fixed so that the mapping happening with retarget base pose, not ref pose
	- Added refresh mapping option for all nodes to refresh bone transform - in case you change retarget base pose
	- WIP of fingers, don't think we'll make it to demo, but it is still wip going in.

	#lockdown: James.Golding
	#rb: none
	#code review: Thomas.Sarkanen, James.Golding

Change 3316684 on 2017/02/22 by Lina.Halper

	fix shadow warning

	#rb: none
	#lockdown: james.golding

Change 3316748 on 2017/02/22 by Thomas.Sarkanen

	Fix t-pose bindings in various demo workflow situations

	Fix a crash when clearing actor
	Fix t-pose when opening a new sequence over an old one
	Fix t-pose on save

	Note: Added a couple of 'nuke it from orbit' re-binds to the actor because some code paths were not correctly setting up all of our data. Particularily we were always setting up the anim instance. We should revisit this after GDC.

	#jira UE-42136

Change 3316895 on 2017/02/22 by Jurre.deBaare

	Incorrect simulation verts getting painted
	#fix added an early rejection test
	#misc fixed sqrd vs non-sqrd check
	#misc level painting already did this in other specific code

Change 3316917 on 2017/02/22 by thomas.sarkanen

	Disabling threaded update on Mambo's post process anim BP

	We dont support running the main BP non-threaded and the post process threaded right now.

Change 3316933 on 2017/02/22 by Thomas.Sarkanen

	Fixed linux shadow variable warning

Change 3317104 on 2017/02/22 by Chris.Evans

	!N Initial animation with face

Change 3317483 on 2017/02/22 by Alan.Noon

	Added controls to resize the Orbital Laser Impulse in the minion demo

Change 3317592 on 2017/02/22 by Alan.Noon

	Tweaking Parameters on orbital Laser Pawn

Change 3317608 on 2017/02/22 by Lina.Halper

	Sorry - missed this files from previous check-in
	It should have gone with CL 3316525

	#rb:none
	#code review:Thomas.Sarkanen, James.Golding

	#lockdown: James.Golding

Change 3317762 on 2017/02/22 by Lina.Halper

	- allow dependency array to be added by IK effectors - but this isn't actual bug in this case
	- the bug was property was overriding the value, so we'll  have to make sure to update property from code change (bForceUpdatePropertyInTheNextTick)

	#rb:none
	#code review: Thomas.Sarkanen, James.Golding
	#lockdown: James.Golding

Change 3317807 on 2017/02/22 by Martin.Wilson

	Update for Live link code

	-Rename Maya Source to Message Bus Source
	-Fix typo in ReceiveClient function name

Change 3318031 on 2017/02/22 by Alan.Noon

	100 more minions in a sublevel. Tuned new pawn. Added sound, particle effects to impulse

Change 3318217 on 2017/02/22 by Jon.Nabozny

	Re-enable Dynamic Shadows for minions. Also enable Single Sample Shadow for perf reasons.

Change 3318365 on 2017/02/22 by Alan.Noon

	Created new shadow capsule asset for minion. Disabled DOF.

Change 3318421 on 2017/02/22 by Alan.Noon

	Adding more minion anims for variety

Change 3318435 on 2017/02/22 by Alan.Noon

	Tweak to minion anim BP: minions pick and idle and stay with it.

Change 3318860 on 2017/02/23 by James.Golding

	Force update nodes and manipulators when changing IK/FK mode
	Better fix for UE-42257

Change 3318869 on 2017/02/23 by James.Golding

	Key limb manipulators when switching IK/FK mode

Change 3318870 on 2017/02/23 by James.Golding

	Fix head button picker location

Change 3318875 on 2017/02/23 by James.Golding

	Add 'T' key shortcut for toggling trajectory drawing

Change 3318907 on 2017/02/23 by Benn.Gallagher

	Added rail for clothing sheet examples

Change 3318909 on 2017/02/23 by Thomas.Sarkanen

	Fix trajectories jittering as they generate

	The rig needs ticking twice because of what looks like some stateful assumptions that were recently made.
	Basically to get the rig to a state it needs ticking more than once.
	This also means that we need to tick sequencer twice to make sure the rig state gets pushed to the anim instance too.
	This may be to do with the latent IK/FK switching, and needs to be investigated.
	For now, I'm leaving it like this but its not ideal because it makes the trajectory generation twice as expensive.

Change 3318929 on 2017/02/23 by James.Golding

	Make PoseDriver Details not assume there is always a posedrivernode (fix potential crash during demo)

Change 3318930 on 2017/02/23 by James.Golding

	Resave pose_test_level with camera in better default position

Change 3318969 on 2017/02/23 by thomas.sarkanen

	Added demo map with mannequin and mambo

Change 3318975 on 2017/02/23 by thomas.sarkanen

	Improved embededed test sequence

	Kept blends away from initial binding because of t-pose issues

Change 3318979 on 2017/02/23 by thomas.sarkanen

	Added sequence showing retargeting to multiple skeletons

Change 3318983 on 2017/02/23 by thomas.sarkanen

	Improved retargeting sequence so that loop points dont pop animation

Change 3318991 on 2017/02/23 by Thomas.Sarkanen

	Prevent division by zero in trajectory generation

	Newly created sequences dont have a frame interval set up.

Change 3319013 on 2017/02/23 by Lina.Halper

	Fixed twist issue

	#lockdown: James.Golding
	#rb: none

Change 3319017 on 2017/02/23 by Lina.Halper

	Checked in wrong line - disabling optimization

	#rb:none
	#lockdown:James.Golding

Change 3319034 on 2017/02/23 by Lina.Halper

	sorry about that - for some reason p4 reverted the merged changes, and removing function that was merged

	#rb: none
	#lockdown: James.Golding

Change 3319056 on 2017/02/23 by Lina.Halper

	Back out changelist 3319013
	#lockdown:James.Golding

Change 3319090 on 2017/02/23 by Thomas.Sarkanen

	Added bookmarks to level, fixed up animation sequeces to be used in demo

	Cleaned up unused assets from demo folder

Change 3319209 on 2017/02/23 by Chris.Evans

	!R Lighting rebuilt
	!N cameras added, camera switching functionality

Change 3319219 on 2017/02/23 by Chris.Evans

	!R Disabling physics on the snake head on left shoulder

Change 3319268 on 2017/02/23 by Chris.Evans

	!R Says it's dirty, could have sworn checked in latest, tested and works fine, sync'd to last rev can't see what changed.

Change 3319290 on 2017/02/23 by James.Golding

	Default bShowManipulatorsDuringPlayback to on

Change 3319291 on 2017/02/23 by James.Golding

	Add GDC2017 shared collection

Change 3319867 on 2017/02/23 by Alan.Noon

	Moved Audio to a level and removed from sublevel list. Deleted particles.

Change 3320056 on 2017/02/23 by Alan.Noon

	Built lighting in Clothing_GDC_P

Change 3320067 on 2017/02/23 by Ori.Cohen

	Fix rigid body tooltip having the same loctext key as the node name causing bad node name (matters for live demo)

Change 3320085 on 2017/02/23 by Alan.Noon

	Changed Origin_Small_P in ControlRigDemoMap to "Always Loaded"

Change 3320098 on 2017/02/23 by Martin.Wilson

	Final updates for Live Link GDC Demo

	-Add maya scene for demo
	-Add binary for maya plugin + installation instructions
	-Update actor location from based on latest maya scene and fix cameras in sequencer
	-Updates on live link system for demo that I have been running with locally. Should be safe.

Change 3320579 on 2017/02/23 by Alan.Noon

	Bound Spacebar to GoRagdoll in ArcBlade map. Built lighting. Killed printing to screen/log in MinionBP.

Change 3321144 on 2017/02/24 by Chris.Evans

	!B Lighting was bad in PIE,  forced -1.5 exposure bias on all cameras

Change 3321317 on 2017/02/24 by James.Golding

	PIE on pose_test_level jumps to first placed camera

Change 3321956 on 2017/02/24 by Alan.Noon

	Adding missing minion anims. And Stuff.

Change 3324190 on 2017/02/27 by Lina.Halper

	Removed ensure from EvaluateAnimation

	- this is invalid because of worker thread but I'll have more conversation over this change.

	#rb: none
	#code review: Laurent.Delayen, Martin.Wilson
	#jira: UE-41731

Change 3324309 on 2017/02/27 by Lina.Halper

	fixed issue with skeleton bone not displaying for curve picker

	#jira: UE-41909
	#rb: Marc.Audy

Change 3324342 on 2017/02/27 by mason.seay

	First round of assets for testing root motion with framerate

Change 3324562 on 2017/02/27 by Lina.Halper

	Fix build error

	#rb: none

Change 3325010 on 2017/02/28 by mason.seay

	Finished map

Change 3325124 on 2017/02/28 by mason.seay

	Updated test to use trigger instead of delay

Change 3325205 on 2017/02/28 by mason.seay

	Deleting old map

Change 3325207 on 2017/02/28 by mason.seay

	Deleting old map

Change 3325752 on 2017/02/28 by Lina.Halper

	Back out changelist 3319056

	- adding upper twist back again

	#rb: none

Change 3325759 on 2017/02/28 by James.Cobbett

	Moving Weld automated tests to EngineTest project

Change 3326039 on 2017/02/28 by Lina.Halper

	Fix spine issues

	This is almost like content change as this contains lots of rigging changes from code. So I'm just checking with no review.

	#jira: UE-42260, UE-42268
	#rb: none

Change 3326246 on 2017/02/28 by mason.seay

	Test map and assets for overlap functional tests

Change 3327926 on 2017/03/01 by Lina.Halper

	- disabled pelvis animation on WaveAnimationGDC
	- added pelvis controls so that you can animate without worring about gmibal lock.

	#code review: danny.bouimad

Change 3327971 on 2017/03/01 by Lina.Halper

	Moved BaseHuman to ControlRig/Content folder

	- checking in redirector for the people who have local contents that want to keep

	#code review: Thomas.Sarkanen

Change 3329196 on 2017/03/02 by James.Cobbett

	Deleting from QAGame. These maps and assets were migrated over to EngineTest in CL 3325759 and CL 3325802.

Change 3329263 on 2017/03/02 by mason.seay

	Temp submission as I reorganize other content

Change 3329321 on 2017/03/02 by mason.seay

	Reorganizing content

Change 3329493 on 2017/03/02 by James.Cobbett

	Moving/renaming automated tests

Change 3332044 on 2017/03/03 by mason.seay

	Procedural Mesh Functional Tests

Change 3332049 on 2017/03/03 by Mason.Seay

	Screenshot comparisons for Procedural Mesh Tests

Change 3333080 on 2017/03/06 by Lina.Halper

	Fix crash on not sorted OutBoneTransforms from Hand IK Retargeting node

	#jira: UE-42460

Change 3333826 on 2017/03/06 by Lina.Halper

	Renamed nodes -
	- adding rename feature for HumanRig

	#rb: none

Change 3333847 on 2017/03/06 by Lina.Halper

	Fixed build error

Change 3333865 on 2017/03/06 by Lina.Halper

	Fixed build error on shadow warning

Change 3333957 on 2017/03/06 by Lina.Halper

	Fixed issue where limb length wasn't applied correctly on human rig

	#jira: UE-42307

Change 3335109 on 2017/03/07 by Thomas.Sarkanen

	Prevent us from rebuilding node tree in 'view' mode

	This means that a rare crash cant occur any more

	#jira UE-42568 - Editor crashes when using the eye dropper to switch actor skeleton after deleting sequence

Change 3335110 on 2017/03/07 by Jurre.deBaare

	Editor crashes on importing Alembic file
	#fix ensure that we generate objects with a valid object name (used to be able to include invalid characters such as periods)
	#jira UE-40189

Change 3335117 on 2017/03/07 by Jurre.deBaare

	Crash when opening cloth painter with Paint mode open and selecting different actor
	#fix ensure that we only initialize static adapter factory data once, now that we have multiple painters
	#jira UE-42573

Change 3335119 on 2017/03/07 by Jurre.deBaare

	In Persona, the lighting rig rotation changes when switching between profiles
	#fix don't know how I wrote this code before, but made it so it makes sense now
	#jira UE-40877

Change 3335120 on 2017/03/07 by Jurre.deBaare

	Auto-Exposure Overriding Preview Scene Profile Settings
	#fix also update showflags when passed property is Name_none, on opening static mesh editor make sure we pick last set profile instead of default 0, and make sure we push propertyt change when changing profiles
	#misc made same changes for animation editors
	#jira UE-39217

Change 3335121 on 2017/03/07 by Jurre.deBaare

	Points not marked as invalid in Aim Offset graph when in invalid positions
	#fix ensure that samples which have a valid grid point when checking their animation ptr
	#misc whitespace fixes
	#jira UE-40715

Change 3335122 on 2017/03/07 by Jurre.deBaare

	Cannot right-click a blend point if the green preview point is in the way
	#fix changed condition slightly, now do gather highlighted index so it can be used in rightclick instead of not setting it while hovering the preview pin point
	#jira UE-39060

Change 3335123 on 2017/03/07 by Jurre.deBaare

	It's not clear which Grid Stretch  mode in blend space is currently on
	#jira UE-39080
	#fix added color change on grid stretch type state

Change 3335124 on 2017/03/07 by Jurre.deBaare

	Not clear that material baking is only supported for single lod merge actors
	#fix extended tooltip to include requirement for material merging
	#jira UE-39621

Change 3335125 on 2017/03/07 by Jurre.deBaare

	#fix Alembic import fix (indexed UVs) copy-pasta error

Change 3335126 on 2017/03/07 by Jurre.deBaare

	Accessor and Modifier for StartTimeOffset in GeometryCacheComponent.h
	#jira UE-37080
	#feature Added bp exposed get/set-er
	#misc Corrected some comments

Change 3335127 on 2017/03/07 by Jurre.deBaare

	Blend space interpolation settings do not update until the user reopens the asset
	#fix made reintializing of interpolation filter editor only to start with, and update the filter when necessary (this way multiple players, e.g. thumbnail renderer and persona) both give the expected result, before only one of them would be reinitialized see comment on flag in header
	#jira UE-40950

Change 3335129 on 2017/03/07 by Jurre.deBaare

	Store imported mesh names for Alembic files (makes reimporting easier)
	#jira UE-39034

Change 3335161 on 2017/03/07 by Jurre.deBaare

	CIS fix: Partial back out changelist 3335129

Change 3335426 on 2017/03/07 by Jurre.deBaare

	Crash fix for importing random maya shapes through Alembic
	#fix add safety checks for writing material indices
	#jira UE-40189

Change 3335427 on 2017/03/07 by Jurre.deBaare

	Editor hard locks when adding Profile in Preview Scene Settings
	#fix previous change created an infinite loop while adding a new profile, now calling OnAssetViewerSettingsChanged directly and from a different spot
	#jira UE-42609

Change 3335448 on 2017/03/07 by Thomas.Sarkanen

	Fixed binding (and re-binding) of rig that was broken by main integration

	Templates are no longer always regenerated, so re-binding doesnt work if we rely on template regeneration
	Moved runtime and compile-time binding into the template (rather than the track).
	Removed hacky 'static stack' of binding IDs. This is no longer needed now we have a way to propgate per-instance template data at compile time.

Change 3336018 on 2017/03/07 by Ori.Cohen

	Make sure InstantiatePhysicsAsset does not create uninitialized bodies and constraints when it is given a physics asset with inappropriate bone names. Fixes crash in rigid body node when re-targetting.

	#JIRA UE-42090

Change 3336508 on 2017/03/07 by Ori.Cohen

	PR #3325: Allow Physics Notification Dispatching with Engine API (Contributed by 0lento)

	#JIRA UE-42533

Change 3336524 on 2017/03/07 by Ori.Cohen

	Added compiler error when component space sim and world collision is used.

	#JIRA UE-41402

Change 3336700 on 2017/03/07 by Ben.Marsh

	Fix stream name for bulding PhysX.

Change 3336949 on 2017/03/08 by James.Golding

	In BindToSkeletalMesh, make sure skel mesh resources are init'd before calling Register on SkelMeshComp

	#jira UE-42377

Change 3337008 on 2017/03/08 by Lina.Halper

	- Fix for lagging update
	- Removed unnecessary update from trajectory cache

	#rb: Thomas.Sarkanen

Change 3337190 on 2017/03/08 by James.Golding

	Remove defunct PhysX 3.3 libs

Change 3337562 on 2017/03/08 by Ori.Cohen

	Touch engine to force re-link of latest PhysX libs. Fixes crash when free joints are used with immediate mode.

	#JIRA UE-41026, UE-42628

Change 3337779 on 2017/03/08 by Ori.Cohen

	Added skeletal mesh component override for sync vs async scene.

	#JIRA UE-39829

Change 3337859 on 2017/03/08 by Ori.Cohen

	Fix CIS

Change 3338593 on 2017/03/08 by Ori.Cohen

	Remove physx get geometry macro and replace with calls to .any which should be faster.

	#JIRA UE-40503

Change 3338614 on 2017/03/08 by Ori.Cohen

	Fix warning about missing EditAnywhere

	#JIRA UE-41361

Change 3338677 on 2017/03/08 by Ori.Cohen

	Fix new generated physics assets not properly setting user settings to default profile.

	#JIRA UE-41135

Change 3338683 on 2017/03/08 by Ori.Cohen

	PR #3225: UPhysicsConstraintComponent works as expected when target is an UChildActorComponent (Contributed by PhoenixBlack)

	#JIRA UE-3225

Change 3338694 on 2017/03/08 by Ori.Cohen

	Added a getter to physical animation component (PR #3163)
	#JIRA UE-41047

Change 3339131 on 2017/03/09 by James.Golding

	Merging Engine changes from //UE4/Private-GDC17-FaceRig
	- Set default CurveSourceBindingName on AudioCurveSourceComponent to 'Default' (to match node default)
	- Add CurveSyncOffset option to AudioCurveSourceComponent
	- Add 'Copy Curves To SoundWave' option to Anim Editor
	- Bind possible curve sources by iterating over component properties, rather than owned components
	- Add ref-pose override option to SkinnedMeshComponent
	- Major fixes for per-instance skin-weights (was not using per-section map)
	- Improve warnings for per-instance skin weight problems

Change 3339223 on 2017/03/09 by Thomas.Sarkanen

	Exposed preview scene settings in the existing settings tab rather than in a hidden menu in the viewport

	Tab is now shown by default
	Added default preview scene collection so you dont end up having to create assets all the time just to preview meshes (although this is still possible).

	#jira UE-39365 - Make Preview scene setup more discoverable

Change 3339270 on 2017/03/09 by Lina.Halper

	Added create animation blueprint back since now we have a separate editor.

	#jira: UE-39457
	#rb: Martin.Wilson

Change 3339318 on 2017/03/09 by Danny.Bouimad

	TM-TangentNormals, Test map for checking tangent recalculation with and without skin cache.

Change 3339431 on 2017/03/09 by James.Golding

	Make UDestructibleComponent::SpawnFractureEffectsFromDamageEvent virtual
	(UDN request: https://udn.unrealengine.com/questions/335389/custom-destructible-fracture-effects.html)

Change 3339809 on 2017/03/09 by James.Golding

	Add support for 'UCP' prefix for importing capsule collision on static meshes via FBX

	#jira UE-5262

Change 3339955 on 2017/03/09 by Ori.Cohen

	Allow kinematic leaf bodies in immediate mode

Change 3339995 on 2017/03/09 by mason.seay

	Collision functional tests

Change 3340085 on 2017/03/09 by Ori.Cohen

	Change default contact-gen method to PCM. This is the default in PhysX 3.4

	#JIRA UE-40365

Change 3340562 on 2017/03/09 by Ori.Cohen

	Added physx simulation shader override.

	#JIRA UE-35304

Change 3341155 on 2017/03/10 by Ori.Cohen

	Fix CIS warnings

Change 3341295 on 2017/03/10 by Martin.Wilson

	Cache compact pose bone index on FBoneReference and remove manual caching in Paragon

	#jira UE-42302

Change 3341943 on 2017/03/10 by mason.seay

	Cleaned up logic for map blueprints.  Worked around delays

Change 3342029 on 2017/03/10 by mason.seay

	Cleaned up blueprint logic to remove dependency on delays

Change 3342063 on 2017/03/10 by mason.seay

	Disabling tests

Change 3342071 on 2017/03/10 by mason.seay

	Updated map to use assertions

Change 3342884 on 2017/03/13 by James.Golding

	Expose 'trace by profile' functions to BP
	Refactor duplicated code in KismetSystemLibrary collision functions
	#jira UE-32912

Change 3342886 on 2017/03/13 by James.Golding

	Moving sprite from PhysicsThruster actor to PhysicsThrusterComponent (like light and audio, for example)

	#jira UE-6015

Change 3342921 on 2017/03/13 by Benn.Gallagher

	Added some checking to anim dynamics pre update to avoid crashes when world isn't available
	#jira UE-42729

Change 3342970 on 2017/03/13 by James.Golding

	Fix incorrect display names for some ..ByProfile trace funcs

Change 3342972 on 2017/03/13 by James.Golding

	PR #3060: Added virtual keyword to DestructibleComponent ApplyDamage, ApplyDamageRadius (Contributed by looterz)

Change 3343032 on 2017/03/13 by Josh.Stoddard

	Enable stabilization in PhysX by default
	 - set PxSceneFlag::eENABLE_STABILIZATION by default
	 - removed USE_ADAPTIVE_FORCES_FOR_ASYNC_SCENE because eADAPTED_FORCES is incompatible with eENABLE_STABILIZATION
	 - added FBodyInstance parameter StabilizationThresholdMultiplier to control PxRigidDynamic stabilization threshold
	#jira UE-6612 #rb ori.cohen

Change 3343073 on 2017/03/13 by Martin.Wilson

	Properly initialize single bone controller bone references

	#jira UE-42776

Change 3343074 on 2017/03/13 by Martin.Wilson

	Clear raw curve data during cooking

	#jira UE-37897

Change 3343317 on 2017/03/13 by Jurre.deBaare

	Crash after clearing the animation from a sample point in a 1D Blendspace
	#jira UE-42672
	#misc made sure that we do not deem empty blend spaces as additive

Change 3343498 on 2017/03/13 by Lina.Halper

	Fix on odin cook crash
	- fallout from CL 3336018

	#rb:Marc.Audy
	#code review:Ori.Cohen

Change 3343548 on 2017/03/13 by Lina.Halper

	Fix crash on ocean -

	#rb: none
	#code review: Ori.Cohen

Change 3344764 on 2017/03/14 by Thomas.Sarkanen

	Fixed crash right-clicking empty space in the asset shortcut dropdown

	#jira UE-42782 - Crash right-clicking in anim blueprint asset picker
	#jira UE-42799 - GitHub 3366 : Asset selection null check before Opening Editor

Change 3344776 on 2017/03/14 by James.Golding

	Really fix names for BP-expose 'ByProfile' traces

Change 3344780 on 2017/03/14 by James.Golding

	PR #3359: UE4.15 Morpheme integration changes (Contributed by NaturalMotionTechnology)
	#jira UE-42771

Change 3344781 on 2017/03/14 by James.Golding

	PR #3346: Expose URadialForceComponent for inheritance (Contributed by projectgheist)
	#jira UE-42610

Change 3344782 on 2017/03/14 by James.Golding

	Fix procmesh->staticmesh conversion if only a single triangle
	#jira UE-42310

Change 3344783 on 2017/03/14 by James.Golding

	PR #3234: Fix the incorrect UIMin value for InitialAverageFrameRate physics setting. (Contributed by 0lento)
	#jira UE-41832

Change 3344785 on 2017/03/14 by James.Golding

	PR #3196: Improved Constraint warning message (Contributed by projectgheist)

Change 3344790 on 2017/03/14 by James.Golding

	PR #3362: Fix NULL pointer dereference when debugging null animation sequence. (Contributed by ill)

Change 3344891 on 2017/03/14 by Jurre.deBaare

	Incorporate back list of animations into blendspace editor
	#feature added labels toggle to blend space grid
	#feature can now override animations when drop on sample
	#jira UE-39368

Change 3344921 on 2017/03/14 by Jurre.deBaare

	Expose Opacity and Opacity Mask options on material flattening
	#feature added support for baking out opacity and opacity masks
	#jira UE-39563

Change 3344963 on 2017/03/14 by Jurre.deBaare

	Need Simplygon to create LODs on animated pose, vs skeletal mesh pose
	#feature added ability to specify an animation sequence from which frame 0 will be baked into the LOD mesh
	#jira UE-38909

Change 3345060 on 2017/03/14 by Jurre.deBaare

	CIS fix: missing include

Change 3345929 on 2017/03/14 by Jon.Nabozny

	Fix Grux skeletal mesh to properly point at Grux Phys Asset (instead of Steel's).

	#jira UE-42772

Change 3346970 on 2017/03/15 by Jurre.deBaare

	#feature Support importing vertex colours from Alembic files
	#jira UE-39032

Change 3346976 on 2017/03/15 by Jurre.deBaare

	Missing files from CL 3344921

Change 3346983 on 2017/03/15 by Jurre.deBaare

	Static mesh editor crashes when opening
	#fix default value for additional settings

Change 3347019 on 2017/03/15 by James.Cobbett

	Tidying up blueprint comments

Change 3347128 on 2017/03/15 by mason.seay

	Updated descriptions on tests

Change 3347146 on 2017/03/15 by mason.seay

	Updated descriptions on tests

Change 3347178 on 2017/03/15 by Martin.Wilson

	PR #3358: Actually compress CompressedCurveData during anim compression (Contributed by stefanzimecki)

Change 3347257 on 2017/03/15 by Thomas.Sarkanen

	Fixed crash when canceling saving a new preview mesh collection

Change 3347314 on 2017/03/15 by mason.seay

	Narrowed collision volumes by half

Change 3347386 on 2017/03/15 by mason.seay

	Updated descriptions

Change 3347388 on 2017/03/15 by mason.seay

	Forgot to disable tests :P

Change 3347397 on 2017/03/15 by James.Cobbett

	Tidying up blueprint comments for WeldingScreenshots.umap automated test

Change 3347433 on 2017/03/15 by Thomas.Sarkanen

	Fix IK/FK switch on first frame (clobbering FK data)

	Added a 'first frame' flag to limbs etc.

Change 3347436 on 2017/03/15 by Thomas.Sarkanen

	Control rig sequences can now be exported to anim sequences

	Control rig sequences can now be exported from sequencer and exported, re-exported, imported and re-imported from the content browser.
	Added converter function that performs similar logic to the animation recorder.
	Fixed binding template in cooked builds.
	Exposed anim sequence factory via UNREALED_API to allow for me to derive from it (I force the skeleton to a known value)

	#jira UE-42608 - Add "export to anim sequence" to control rig sequences

Change 3347475 on 2017/03/15 by Lina.Halper

	#LookAt node refactor
	 - you can use LookAtLocation based on joint or socket (jira UE-8972)
	 - improved visualizer (jira UE-2737) - clamp was there but now you can visuzlie it

	 - GetOnScreenDebugInfo changed parameter - added runtime node
	  - possibly we could query runtime node only but right now GetOnScrrenDebugInfo belongs to AnimGraphNode
	  - deprecated previous GetOnScreenDebugInfo

	 - Added AnimPhys Object version GUID

	#rb:Thomas.Sarkanen

Change 3347512 on 2017/03/15 by Thomas.Sarkanen

	Filter anim sequences to the correct skeleton when exporting

	Feeback from code review of CL 3347436.

Change 3347543 on 2017/03/15 by Thomas.Sarkanen

	Fix shadow variable warnings

Change 3347556 on 2017/03/15 by Jurre.deBaare

	Unable to select bones in the animation editor viewport
	#fix issues came from hit proxies being turned on and always being hit instead of the bone physic shapes
	#feature added toggle button to skeletal mesh editor to enable mesh section selection
	#jira UE-42893

Change 3347559 on 2017/03/15 by James.Golding

	By default, re-use anim editor with correct Skeleton when double clicking anim asset
	Add menu option to force a new edtor to open
	#jira UE-42912

Change 3347749 on 2017/03/15 by Lina.Halper

	Fix build issue.

	#rb: none

Change 3347926 on 2017/03/15 by James.Cobbett

	Adding new test to Welding.umap for children welding when attached to ragdoll

Change 3347938 on 2017/03/15 by Lina.Halper

	Fix build error

	#rb: none

Change 3347939 on 2017/03/15 by Mason.Seay

	General cleanup of bp logic in maps and blueprint actors
	Added scenarios to test actor descriptions
	Fixed an error in blueprints (I think I failed to submit changes before)

Change 3348074 on 2017/03/15 by Lina.Halper

	build error fix

	#rb: none
	#code review: martin.wilson

Change 3348154 on 2017/03/15 by Lina.Halper

	last fix, hopefully

	#rb: none
	#code review: MArtin.wilson

Change 3349160 on 2017/03/16 by Thomas.Sarkanen

	Adding 'set preview mesh' to toolbar

	#jira UE-42910 - Add 'preview mesh' button to toolbar

Change 3349175 on 2017/03/16 by Jurre.deBaare

	Notification on reimported animations that might be bad
	#fix added two warning messages for different sequence length and missing curve in reimported file (hidden behind editor user setting -> bAnimationReimportWarnings)
	#jira UE-34522

Change 3349197 on 2017/03/16 by Martin.Wilson

	Add ability to choose slot to preview to montage editor

	#jira UE-38910

Change 3349216 on 2017/03/16 by James.Cobbett

	Additional Welding tests: static meshes attached to ragdolls and simulated children detaching and retaining welded children

Change 3349217 on 2017/03/16 by James.Cobbett

	Disabling new Welding tests pending review

Change 3349314 on 2017/03/16 by Benn.Gallagher

	Fixed clothing not running in PS4 packaged builds

	#jira UE-42857

Change 3349504 on 2017/03/16 by James.Fox

	Enabling RootMotion automation tests. Approved: UEENGQA-12277

Change 3349611 on 2017/03/16 by Lina.Halper

	retargeting pose options change

	 - now reset, import pose, use current pose

	#rb: Martin.Wilson
	#jira: UE-19768

Change 3349738 on 2017/03/16 by Martin.Wilson

	Remove force inline from virtual compression functions.

	#jira UE-33070

Change 3349787 on 2017/03/16 by James.Golding

	Fix xbox one compile (FControlRigBindingTemplate::ObjectBinding was not all wrapped in WITH_EDITORONLY_DATA)

Change 3349827 on 2017/03/16 by Josh.Stoddard

	- Expose PhysX stabilization as project setting, disabled by default
	- remove obsolete USE_SPECIAL_FRICTION_MODEL_FOR_ASYNC_SCENE
	#jira UE-42868

Change 3349932 on 2017/03/16 by James.Golding

	Possible fix for cooking crash - ContentBrowser module not necessarily being loaded

Change 3350011 on 2017/03/16 by Jon.Nabozny

	Created AddForceAtLocationLocal function to allow component space forces.

	#jira UE-38115

Change 3350134 on 2017/03/16 by Josh.Stoddard

	Fix memory leak from GPhysXSDK->createShape()
	#jira UE-42733 #rb ori.cohen

Change 3351166 on 2017/03/16 by Lina.Halper

	Fixed build issue

	#code review:Jon.Nabozny

Change 3351451 on 2017/03/17 by Benn.Gallagher

	Fixed clothing reimports not working correctly and possibly leading to editor crash
	#jira UE-42953

Change 3351564 on 2017/03/17 by Benn.Gallagher

	Xbox NvCloth fix, module rules incorrectly set up and were not actually compiling NvCloth into the binary

	#jira UE-42224

Change 3351594 on 2017/03/17 by mason.seay

	Updated BP logic to use Set Actor Location (speeds up tests)

	Gave actors distinct names

	Reworded descriptions

Change 3351629 on 2017/03/17 by Jon.Nabozny

	Add methods to determine the WeldParent and WeldChildren of a given component.

	#jira UE-40733

Change 3351639 on 2017/03/17 by Jon.Nabozny

	Fix StopMovementImmediately for WheeledVehicleMovementComponent.

	#jira UE-40078

Change 3351649 on 2017/03/17 by Jon.Nabozny

	Update comment on AddForceAtLocationLocal to be explicit that both Force vector and Location are in Body space.

Change 3351663 on 2017/03/17 by Thomas.Sarkanen

	Anim notify blueprints now start with a 'received notify' event node (ghosted)

	#jira UE-27386 - A new anim notify blueprints should start with a Received Notify override

Change 3351696 on 2017/03/17 by Thomas.Sarkanen

	Refactored EvaluateBoneTransforms to prevent usage of skeletal mesh component

	Deprecated EvaluateBoneTransforms in favor of new EvaluateSkeletalControl_AnyThread.
	Added various useful transforms to the proxy as these were the most used data from the skeletal mesh component.
	Some instances still require access to skeletal mesh to access the world for debug rendering. I'm leaving these alone for the moment as they should be addressed for 4.17 with the fixes for multi-threaded debug rendering.
	Commented & re-formatted ConvertCSTransformToBoneSpace and ConvertBoneSpaceTransformToCS. Deprecated signatures that take a skeletal mesh component.
	Commented FAnimNode_Base interface.

	#jira UE-35238 - FAnimNode_SkeletalControlBase::EvaluateBoneTransforms takes in SkeletalMeshComponent which is not safe

Change 3351698 on 2017/03/17 by James.Golding

	Add GetMaterialFromFaceIndex to MeshComponent, implement for StaticMeshComponent and ModelComponent
	#jira UE-42802

Change 3351701 on 2017/03/17 by James.Golding

	Change from Ctrl to Shift for 'open new editor' when double-clicking anim assets

Change 3351703 on 2017/03/17 by James.Golding

	Change Box and Sphyl elements to use Rotator instead of Quat, to make them easier to edit via details panel
	#jira UE-39664

Change 3351704 on 2017/03/17 by James.Golding

	Fix scrubbing curves that aren't selected
	#jira UE-39574

Change 3351805 on 2017/03/17 by Thomas.Sarkanen

	Prevent crash when trying to implement a function in a child anim blueprint

	The assumption that the ubergraph was the zeroth entry in the array didnt hold for child anim BPs with overriden functions. Now we just search for the ubergraph and check it if we find it.

	#jira UE-42996 - Editor Crashes when creating a function in Child Anim Blueprint

Change 3352000 on 2017/03/17 by James.Cobbett

	Adding VehicleAdvBP assets for use in upcoming Welding tests

Change 3352067 on 2017/03/17 by Lina.Halper

	Removed AnimGraph from GraphEditor module
	- Created node factory, pin factory, pin connection policy factory
	- Moved all anim related files out of GraphEditor

	#code review: Michael.Noland
	#jira: UE-37976
	#rb: Michael.Noland

Change 3352178 on 2017/03/17 by Lina.Halper

	Moved to AnimationBlueprintEditor as these are just graph visual nodes

	#code review:Michael.Noland

Change 3352753 on 2017/03/17 by James.Fox

	Checking in some naming convention changes for Overlap automation test.

Change 3353371 on 2017/03/19 by Lina.Halper

	Fix build error

	#code review: Bob.Tellez

Change 3353644 on 2017/03/20 by Jurre.deBaare

	Animation thumbnails vanishing
	#fix ensure that we draw the mesh regardless of whether or not we have dynamic render data
	#jira UE-42974

Change 3353654 on 2017/03/20 by James.Golding

	Move SGraphNodeK2Default and SGraphNodeK2Event to Public as well, as they are used by Fortnite
	Update includes in SFortGrtaphNodeK2ExecuteEvent and HandleEvent to only include parent class header

Change 3353684 on 2017/03/20 by Jurre.deBaare

	Separate asset viewer profiles for local / shared
	- Split out profiles in local/shared UProperty
	- Modifications to ini writing :(
	- Extra checks for default ini writing
	- Add checkout/make writable for default editor ini file

Change 3353803 on 2017/03/20 by Jurre.deBaare

	CIS fixes

Change 3353830 on 2017/03/20 by Martin.Wilson

	Fix additives breaking when pose link not connected to anything

	#jira ue-39174

Change 3353847 on 2017/03/20 by Martin.Wilson

	Add property to blend space player nodes to specify whether the blend space current time is reset when the blend space changes

	#jira UE-40446

Change 3353950 on 2017/03/20 by Ori.Cohen

	Undo the null entries for invalid body/bodysetup pairs. Instead we check if the body and constraints are valid in the rigid body node.

	#JIRA UE-42090

Change 3353956 on 2017/03/20 by Ori.Cohen

	Back out changelist 3343498 (this was needed for the null entries on bodies array which has been fixed)

Change 3354003 on 2017/03/20 by Thomas.Sarkanen

	Back out changelist 3353914

Change 3354031 on 2017/03/20 by Benn.Gallagher

	Speculative fix for clothing crashes using Mambo. It was possible that the skeletal mesh component could have triggered deletion or creation of simulation state objects while the simulation was in flight on another thread, added tracking and waiting for outstanding tasks.
	#jira UE-42975

Change 3354151 on 2017/03/20 by Lina.Halper

	Make sure nullptr tick function still works
	- this is prerequisite for the play and export option

	#rb:Ori.Cohen

Change 3354229 on 2017/03/20 by James.Golding

	Add 'default camera' options for skel meshes
	#jira UE-42762

Change 3354342 on 2017/03/20 by Martin.Wilson

	Strip out identity raw tracks when baking additives.

	#jira UE-40508

Change 3354388 on 2017/03/20 by Martin.Wilson

	Fix false anim blueprint compile errors with aim offset pins

	#jira UE-38196

Change 3354494 on 2017/03/20 by Martin.Wilson

	Serialize compressed anim data when counting memory

	#jira UE-39691

Change 3354515 on 2017/03/20 by Josh.Stoddard

	Expose PxSceneFlag::eENABLE_ENHANCED_DETERMINISM
	#jira UE-41484 #rb ori.cohen

Change 3355932 on 2017/03/21 by Thomas.Sarkanen

	Back out changelist 3354003

	Reinstating merge from Main:

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

Change 3355954 on 2017/03/21 by Thomas.Sarkanen

	Fixed up CIS issues post merge from Main

Change 3355974 on 2017/03/21 by James.Golding

	Fix Mac CIS warning (constructor order of FAnimNode_BlendSpacePlayer)

Change 3355981 on 2017/03/21 by Jurre.deBaare

	Whitelisted circular dependencies between meshpaintmode and VR editor modules

Change 3355986 on 2017/03/21 by Jurre.deBaare

	Linux CIS file, non-capital M

Change 3356072 on 2017/03/21 by James.Golding

	Fix UStaticMeshComponent::GetMaterialFromCollisionFaceIndex to not depend on editor-only data
	#jira UE-43117

Change 3356073 on 2017/03/21 by James.Golding

	Implement GetMaterialFromCollisionFaceIndex for ProceduralMeshComponent

Change 3356300 on 2017/03/21 by Ori.Cohen

	Allow kinematic bodies with simulated parents using the full scene solver

Change 3356362 on 2017/03/21 by Lina.Halper

	- Support create animation from Play
	- Support export animation from Play
	 - this allows retargeting, post graph, or anything you see in engine will be baked to the animation

	#rb: Thomas.Sarkanen
	#jira: UE-19746

Change 3356482 on 2017/03/21 by Martin.Wilson

	Fix crash when opening a new montage

	#UE-43132

Change 3356709 on 2017/03/21 by James.Golding

	Check for NaN when converting rotator->quat (very large inputs can result in nan's, need to handle to avoid hitting asserts elsewhere)
	Add clamps when editing rotation of collision shapes, to avoid massive rotation entries

	#jira UE-39664

Change 3356968 on 2017/03/21 by Ori.Cohen

	Fix physics asset bounds to be as small as 1cm.
	This introduces flicker, but passing to rendering to fix that on their end.

Change 3357092 on 2017/03/21 by Josh.Stoddard

	Don't update kinematic target if the body isn't moving
	#jira UE-42784 #rb ori.cohen

Change 3357194 on 2017/03/21 by Lina.Halper

	Fix on vehicle anim instance look at node issue

	#rb: Ori.Cohen
	#jira: UE-43116

Change 3357298 on 2017/03/21 by Ori.Cohen

	Fix invalid warning when dragging actors into the world. This is invalid because we manually disable collision on actors when this happens, and the warning is only needed for actual runtime.

	#JIRA UE-42211

Change 3357494 on 2017/03/21 by Jon.Nabozny

	Fix FPropertyEditorInlineClassFilter filtering classes incorrectly.

	#jira UE-43098

Change 3357892 on 2017/03/21 by Lina.Halper

	fix build error
	#rb: none

Change 3358078 on 2017/03/22 by James.Golding

	Fix CIS - AnimNode_FootPlacement in Platformer game after SkelControl refactor (from CL 3351696)

Change 3358080 on 2017/03/22 by Jurre.deBaare

	Updating Alembic importer thirdparty dependencies for Windows and Mac

Change 3358081 on 2017/03/22 by James.Golding

	Add comment to help people fix up code after moving many properties in ContraintInstance to ProfileInstance member

Change 3358092 on 2017/03/22 by James.Golding

	Fix undo for saving/clearing default cam on mesh (also marks mesh dirty)

Change 3358093 on 2017/03/22 by James.Golding

	Panning in orbit mode now takes in account camera speed

	#jira UE-43082

Change 3358106 on 2017/03/22 by Thomas.Sarkanen

	Fix fallout from Main integration

Change 3358454 on 2017/03/22 by Ori.Cohen

	Temporarily disable phat immediate mode previewing to break the dependency on immediate physics plugin. Will be turned back on in later refactor

	#JIRA UE-41711

Change 3358886 on 2017/03/22 by Ori.Cohen

	Fix AutoWeld not being disabled in blueprint editor when the object is simulated

	#JIRA UE-40193

Change 3358950 on 2017/03/22 by Lina.Halper

	reverted code asking about asset name when create asset

	#rb: none

Change 3359034 on 2017/03/22 by Lina.Halper

	#fix fall out from previous revert
	 - because now export also shows the window. we don't want export to FBX to show name dialog
	 - it will use asset name as base

	#rb: none
	#code review:Thomas.Sarkanen

Change 3359165 on 2017/03/22 by Ori.Cohen

	Fix welded capsules not using the right rotation

	#JIRA UE-41546

Change 3359232 on 2017/03/22 by Ori.Cohen

	Bump DDC key for new bvh34.

Change 3359233 on 2017/03/22 by mason.seay

	Added a couple more scenarios and updated names.  Needs more organization

Change 3359293 on 2017/03/22 by tim.gautier

	Submitting MeshPaint test content for QAGame.

Change 3359389 on 2017/03/22 by Ori.Cohen

	Back out changelist 3356589

Change 3359402 on 2017/03/22 by Jon.Nabozny

	Move GetWeldParent and GetWeldChildren to EngineTest.

Change 3359978 on 2017/03/23 by Jurre.deBaare

	Mesh Paint brush disappears when painting in VR
	#fix removed conditional clause for painting the interactors
	#jira UE-43150

Change 3359980 on 2017/03/23 by Jurre.deBaare

	Mesh Paint hotkeys to modify brush size are inconsistent with other Paint modes
	#fix reverted to old behavior, paint mode overriding catching key input to viewport
	#jira UE-43158

Change 3360052 on 2017/03/23 by James.Golding

	Back out changelist 3359165, as it was made after smoke testing. Will re-submit after copy to main.

Change 3360121 on 2017/03/23 by James.Golding

	Fix perf regression from testing for NaN's in FRotator::Quaternion in shipping builds

Change 3360177 on 2017/03/23 by Jurre.deBaare

	Related to previous brush size check in, early out when the painter has handled the input, that way the rest of the editor can't take the brackets [] input anymore

Change 3360358 on 2017/03/23 by mason.seay

	Updated naming and organization of actors in Outliner

Change 3362050 on 2017/03/23 by Lina.Halper

	Back out changelist 3343074

	#rb:none
	#code review: Martin.Wilson, James.Golding

[CL 3362661 by Thomas Sarkanen in Main branch]
2017-03-24 09:53:37 -04:00
Ben Marsh
5275490168 Copying //UE4/Dev-Build to //UE4/Dev-Main (Source: //UE4/Dev-Build @ 3277940)
#lockdown Nick.Penwarden
#rb none

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

Change 3233612 on 2016/12/13 by Ben.Marsh

	UGS: Fix cases where precompiled binaries are submitted for a content change.

Change 3235584 on 2016/12/14 by Ben.Marsh

	UBT: Deprecate the overridable TargetRules.ShouldUseSharedBuildEnvironment() function; targets should specify which build environment to use by setting the BuildEnvironment field in their constructor instead.

Change 3235741 on 2016/12/14 by Ben.Marsh

	UBT: Deprecate the SetupBinaries() callback on the TargetRules class. Instead of overriding this, targets may override their launch module through the "LaunchModuleName" property in their constructor, and add extra modules to the "ExtraModuleNames" field on the TargetRules object itself.

Change 3238176 on 2016/12/16 by Ben.Marsh

	UBT: New XML config file parser. Now reads once at startup and can be applied to instanced objects rather than global fields, and caches parsed output in a binary form for quicker initialization on subsequent runs.

Change 3238249 on 2016/12/16 by Ben.Marsh

	UBT: Add attribute-driven command line parser.

Change 3238462 on 2016/12/16 by Ben.Marsh

	UBT: Include the Platform, Configuration and Architecture on the TargetRules. Add a constructor which takes the TargetInfo object and deprecate the parameterless one; these fields are currently initialized before invoking the constructor in RulesAssembly.

Change 3238564 on 2016/12/16 by Ben.Marsh

	UBT: Deprecate the ModuleRules constructor which takes a TargetInfo argument. Replace it with a read-only wrapper around the target rules instead, so target-specific configuration options can be read without needing to access global static variables. Also require that it's passed to the base class constructor.

Change 3239919 on 2016/12/19 by Ben.Marsh

	UBT: Remove the "PreferredSubPlatform" property. This is only used for Windows XP support, which is being retired anyway. Having the target define its own architecture is an awkward contractiction to maintain support for, since the target rules are constructed after the architecture already has been determined.

Change 3240061 on 2016/12/19 by Ben.Marsh

	UBT: Remove ThirdPartyHeaderFinder. I don't think anything is using this any more.

Change 3240175 on 2016/12/19 by Ben.Marsh

	UBT: Add the target name and project file location to the target rules.

Change 3240490 on 2016/12/19 by Ben.Marsh

	UAT: Remove Mac staging code that requires UAT to compile and construct .target.cs files when packaging, to check bUseSteam and bUseCEF3 flags. libsteam_api.dylib is now staged at build time by adding it as a bundle resource, CEF3 is already marked as a runtime dependency by CEF3.build.cs, and UnrealCEFSubProcess.app is already marked as a runtime dependency from WebBrowser.build.cs.

Change 3240717 on 2016/12/20 by Ben.Marsh

	UAT: Allow configuring UAT to run as if on a build machine by passing the -buildmachine argument on the command line.

Change 3240718 on 2016/12/20 by Ben.Marsh

	UAT: Remove target-specific properties that are no longer used by staging (bUsesSlate, bUsesCEF3, etc...). This stuff should all be handled inside UBT.

Change 3241002 on 2016/12/20 by Ben.Marsh

	UBT: Move most target configuration settings from UEBuildConfiguration to TargetRules. This encapsulates target specific settings that will allow instancing multiple targets in the future. To facilitate migration of settings to their new location, "UEBuildConfiguration" is now a property that returns the current target rules instance.

Change 3241027 on 2016/12/20 by Ben.Marsh

	Only copy the Steamworks dylib into the app bundle for monolithic builds. For all other times, just add it as a runtime dependency.

Change 3241055 on 2016/12/20 by Ben.Marsh

	UBT: Only store a ReadOnlyTargetRules object on the instanced build target; finalize the configuration before it's instantiated.

Change 3241156 on 2016/12/20 by Ben.Marsh

	Update SwarmInterface.csproj to .NET framework 4.5, to match what all other C# tools are using.

Change 3241205 on 2016/12/20 by Ben.Marsh

	Replace all uses of TargetRules.TargetType with TargetType.

Change 3241881 on 2016/12/21 by Ben.Marsh

	UBT: Remove project file information from UEBuildContext base class. As configurable properties are moved on to the TargetRules object, it will no longer be a dependency to instantiate the platform with this path.

Change 3241895 on 2016/12/21 by Ben.Marsh

	UBT: Remove toolchain support for Windows XP.

Change 3241908 on 2016/12/21 by Ben.Marsh

	UBT: Move settings for windows targets into a WindowsTargetRules class, which is exposed for targets to modify via the TargetRules.WindowsPlatform field.

Change 3242835 on 2016/12/22 by Ben.Marsh

	UBT: Fix multiple binaries being created if plugins specify module names more than once. MfMedia.uplugin has MfMediaFactory listed twice.

Change 3242837 on 2016/12/22 by Ben.Marsh

	Change UE4EditorServices to include MacSystemIncludes rather than Cocoa.h directly; causes FVector to be defined incorrectly in non-unity builds.

Change 3242923 on 2016/12/22 by Ben.Marsh

	Build: Fixes for conforming incremental workspaces:

	* P4 have table is now reset before deleting all the files. This prevents Perforce being out of sync if the delete fails for some reason.
	* Incremental workspaces are skipped when running a clean operation, because they do not have a workspace capture file (causing a full re-sync, always). The "P4 Clean" option is still effective for cleaning these workspaces.

Change 3242961 on 2016/12/22 by Ben.Marsh

	UBT: Move entry points from PreBuildSync() and PostBuildSync() from UEToolChain to UEBuildPlatform, and make the original toolchain versions static. These functions are already at odds with the rest of the data flow within UBT because they rely on global state cached outside the toolchain instance, making assumptions that UBT is only ever going to be invoked with one target that's constructed in the same run and that nothing is being cached (eg. UBT makefiles). Moving them onto UEBuildPlatform simplifies the toolchain lifecycle for other platforms without leaving Mac and IOS any more limited than they were before.

Change 3242981 on 2016/12/22 by Ben.Marsh

	UBT: Remove symbol server handling code into UAT's platform library, since it's never needed from inside UBT.

Change 3242999 on 2016/12/22 by Ben.Marsh

	UBT: Remove the StripSymbols() function from the UEToolChain base class. This functionality is only required by UAT, so it's better suited to being exposed through UAT's modular platform classes.

Change 3243022 on 2016/12/22 by Ben.Marsh

	UBT: Require an instance of the target rules to be able to construct a toolchain in UBT. This will allow configuring toolchain-specific options from the target, using reflection from config files, and the command line.

Change 3243083 on 2016/12/22 by Ben.Marsh

	UBT: Move settings for the Windows compiler version to use onto the Windows-specific target rules.

Change 3243090 on 2016/12/22 by Ben.Marsh

	UBT: Change the third party paths in UEBuildConfiguration to constants. Changing these would not work.

Change 3243423 on 2016/12/23 by Ben.Marsh

	UBT: Move a lot of settings from BuildConfiguration to TargetRules. This allows different targets to have different settings, naturally, and moves converts argument parsing and config to be driven by attributes.

Change 3243516 on 2016/12/23 by Ben.Marsh

	UBT: Remove the ValidateUEBuildConfiguration callback, which is no longer used. (XGE settings validation occurs in XGE.cs)

Change 3244020 on 2016/12/28 by Ben.Marsh

	UBT: Remove the BaseIntermediatePath static property. Precursor to removing RelativeEnginePath and IntermediateFolder properties.

Change 3244074 on 2016/12/28 by Ben.Marsh

	UBT: Remove the RelativeEnginePath variable from BuildConfiguration. UnrealBuildTool.EngineDirectory gives the absolute path, and can be used to construct a relative path when necessary.

Change 3244076 on 2016/12/28 by Ben.Marsh

	UBT: Remove BuildConfiguration.BaseIntermediateFolder; just use a fixed directory everywhere instead.

Change 3244083 on 2016/12/28 by Ben.Marsh

	UBT: Replace FileReference and DirectoryReference instance methods for manipulating files and directories with static methods, to mirror the System.IO.File and System.IO.Directory classes.

Change 3244441 on 2016/12/31 by Ben.Marsh

	UBT: Remove code to force PDBs when building with no debug info under XGE. Verified described symptoms (that it causes PCH generation to be serialized) no longer occur.

Change 3244687 on 2017/01/03 by Matthew.Griffin

	Changed Exception to use FirstInclude.IncludeName as PrecompiledHeaderIncludeFilename can be null when this occurs

Change 3246112 on 2017/01/04 by Ben.Marsh

	UBT: Fix UHT failures building some targets with the -useprecompiled option, due to differences in the order that circularly dependent modules are parsed. Precompiled binaries are now kept in the regular AppBinaries list, but are excluded from the build at the last minute. Also change some checks from IsEngineInstalled() to bUsePrecompiled, to prevent headers being overwritten when running in a non-installed precompiled build.

Change 3246223 on 2017/01/04 by Ben.Marsh

	UBT: Prevent version manifests being overridden if a file is not being built as part of the target.

Change 3246387 on 2017/01/04 by Ben.Marsh

	UBT: Remove BuildConfiguration settings for UnrealCodeAnalyzer. This tool isn't used at the moment, but it's configured using global variables accessed from all over the UBT codebase, making it difficult to refactor the build options into an instanced object. If we bring this tool back from the dead in the future, it should be possible to implement it using the exported JSON target definition or the XGE manifest, similarly to how IncludeTool uses it.

Change 3247004 on 2017/01/04 by Ben.Marsh

	UBT: Simplify the logic for cleaning targets in UBT. Now uses FileReference/DirectoryReference objects everywhere, doesn't require the compile/link environment, and does all the checking to avoid deleting precompiled binaries in one place.

Change 3247250 on 2017/01/04 by Ben.Marsh

	UBT: Prevent precompiled binaries being added to the list of app binaries twice.

Change 3247594 on 2017/01/05 by Ben.Marsh

	Build: Run sample and template editors on the same agents as the other incremental builds. Remove ProtoStar, which does not have any non-precompiled editor target to build.

Change 3247763 on 2017/01/05 by Ben.Marsh

	UBT: Allow the toolchain to update the list of build products for each module linked into a binary. Allows Mac to add dylibs and bundle resources specified per-module without having to construct a link environment and try to link them.

Change 3247775 on 2017/01/05 by Ben.Marsh

	UBT: Instance the target compile and link environments when they are required during building, and don't persist them on the UEBuildTarget instance.

Change 3247811 on 2017/01/05 by Ben.Marsh

	EC: Add a batch file for testing postp filters.

Change 3247839 on 2017/01/05 by Ben.Marsh

	EC: Include the name of the file being compiled when parsing MSVC errors and warnings.

Change 3248101 on 2017/01/05 by Ben.Marsh

	UBT: Fix Android support for force included headers.

Change 3248533 on 2017/01/05 by Ben.Marsh

	PR #3097: UBT project supports optional platforms (Contributed by PrimalJohnScott)

Change 3249205 on 2017/01/06 by Ben.Marsh

	UAT: Fix ParseTaggedP4Output throwing an exception if the same key name is specified more than once. This can happen when parsing the output from "P4 INFO", where multiple brokers are present.

Change 3249249 on 2017/01/06 by Ben.Marsh

	UBT: Check for the existance of AndroidManifest.xml within extracted AAR directories, rather than just checking for the existance of the directory itself. Perforce does not remove empty directories when cleaning a workspace unless the rmdir option is on the workspace, so this can cause incremental build failures to fail on build machines.

Change 3249486 on 2017/01/06 by Ben.Marsh

	UBT: Use relative paths in unity files when compiling for Mac/IOS, rather than generating a separate local/remote version of the file for gathering include dependencies. Absolute paths are only used to work around the way that MSVC concatenates paths internally; we don't hit the same problems when checking dependencies.

Change 3249736 on 2017/01/06 by Ben.Marsh

	UBT: Rename CPPEnvironment to CppCompileEnvironment, and remove the separate CPPEnvironmentConfiguration object. All settings are now stored directly on the CppCompileEnvironment object.

Change 3250179 on 2017/01/07 by Ben.Marsh

	Fix creating installed build when root directory contains a space in the name.

Change 3250181 on 2017/01/07 by Ben.Marsh

	UBT: Remove some esoteric (and unused, AFAIK) options for orthogonally building different platforms.

Change 3250223 on 2017/01/07 by Ben.Marsh

	UBT: Merge the LinkEnvironment and LinkEnvironmentConfiguration classes together.

Change 3250233 on 2017/01/07 by Ben.Marsh

	UGS: Allow specifying a workspace-specific sync filter, which is applied on top of the standard filter. Also fix filter being cleared if the cancel button is pressed, and help text being stripped out.

Change 3250241 on 2017/01/07 by Ben.Marsh

	UBT: Move the options for specifying additional Android architectures to target onto an Android-specific object on the TargetRules.

Change 3250400 on 2017/01/08 by Ben.Marsh

	UBT: Move executor config settings onto the executor instances.

Change 3257708 on 2017/01/13 by Ben.Marsh

	UBT: Remove the ThirdPartySourceDirectory constant; there are many places which hard-code or assume this location anyway, and it's not going to change.

Change 3260535 on 2017/01/17 by Ben.Marsh

	Add an optional "RequiredSubmittedChange" setting to EC settings files. Allows a scheduled job to run even if there have been no code changes submitted. Test with the utilization capture job.

Change 3260875 on 2017/01/17 by Ben.Marsh

	EC: Fix workspaces getting out of sync wrt. newly added files when jobs are aborted during a sync. In such cases, the P4 have table indicates the new files have been synced locally, but the workspace is forced back to a state before it had them due to the capture file. When a following sync tries to add them again, P4 believes the workspace already has them synced.

	To work around this, we now write an additional file to the root folder of a workspace containing the last CL that was captured, and sync back to it before doing the reconcile.

Change 3261724 on 2017/01/18 by Ben.Marsh

	Allow filtering job types from the list view in EC. Hide the utilization capture job by default. Also set up notifications for the utilization capture job.

Change 3261756 on 2017/01/18 by Ben.Marsh

	IncludeTool: Prevent matching a full enum declaration as a forward declaration.

Change 3261932 on 2017/01/18 by Ben.Marsh

	EC: Add support for specifying days of the week in schedules. The following syntaxes are supported:

	"Monday, Tuesday and Wednesday at 10:30"
	"Daily except Sunday and Wednesday at 14:30"

	 Also tweak display of dates relative to now to handle dates/times in the future, and include the date when specifying a day name.

	#jira UEB-729

Change 3262676 on 2017/01/18 by Ben.Marsh

	UBT: Split UBTMakefile into its own file. (From PR #3106)

Change 3263893 on 2017/01/19 by Ben.Marsh

	UBT: Stop exporting platform classes from UBT, as well as all the referenced classes that have to be made public as a result. Any platform-specific functionality that needs to be shared with UAT is now exposed through wrappers in separate public classes, eg. WindowsExports.cs, IOSExports.cs, etc...

Change 3264291 on 2017/01/19 by Ben.Marsh

	UBT: Fix errors generating documentation in UBT, and enable it by default. Will catch more errors with new code being added. Originally in PR #3106, but redone due to conflicts.

Change 3264534 on 2017/01/19 by Ben.Marsh

	UBT: Include plugin config files in generated projects.

Change 3264571 on 2017/01/19 by Ben.Marsh

	UBT: Prevent overwriting .modules files if nothing has changed. On builders, it's common to build multiple editors in the same workspace, and changing the last modified timestamp causes BuildGraph to fail due to tampered files.

Change 3265745 on 2017/01/20 by Ben.Marsh

	UGS: Automatically open UGS when running the launcher for a second time, rather than prompting to close the original instance.

Change 3265777 on 2017/01/20 by Ben.Marsh

	UGS: Automatically close and reopen when UGS is re-ran with the shift key held down to switch into unstable mode.

Change 3268314 on 2017/01/23 by Ben.Marsh

	UBT: Make sure version manifests are stable by sorting the list of build products, so they are only touched if the contents have really changed.

Change 3269601 on 2017/01/24 by Ben.Marsh

	UBT: Fix symbol files being added to manifest for some platforms even though debug info is disabled.

Change 3269607 on 2017/01/24 by Ben.Marsh

	UBT: Fix bug where UBT would need to be invoked when switching between two editors sharing the same engine binaries on Mac. The location of the .modules file cannot be guessed on Mac by looking in the same directory as the primary output executable because it's an .app bundle, and the actual modules are nested several directories below that.

Change 3269608 on 2017/01/24 by Ben.Marsh

	UBT: Fix additional files copied into the app bundle always being updated on Mac. Now uses rsync --checksum to make sure only modified files are updated.

Change 3271062 on 2017/01/24 by Ben.Marsh

	UBT: Fixes for bugs detected by PVS Studio (PR #3161)

Change 3272421 on 2017/01/25 by Ben.Marsh

	Fix commends regarding DDC in BaseEngine.ini

	#jira UE-41076

Change 3272810 on 2017/01/25 by Ben.Marsh

	Fix VS2017 being displayed as 'Visual Studio 15' in the Windows target settings panel.

Change 3272935 on 2017/01/25 by Ben.Marsh

	Fix Metal errors launching on Mac due to use of OSX environment settings before they are initialized. Toolchain settings are now constructed on demand in a separate class, for Mac, iOS and TVOS.

Change 3274167 on 2017/01/26 by Ben.Marsh

	Fix resource files not being compiled in installed builds on Windows. Was causing metadata not to be embedded into executables.

	#jira UE-36457

Change 3275557 on 2017/01/27 by Ben.Marsh

	Expand checks for propagation of restricted folder names to include source files, and to ensure that each restricted folder is represented in the output. Also improve messaging to show the dependency chain leading to a restricted folder being referenced, and which folder it is.

Change 3275628 on 2017/01/27 by Ben.Marsh

	UBT: Splitting configuration files into one class per-file.

Change 3276784 on 2017/01/29 by Ben.Marsh

	Add an authoritative list of confidential folder names, and expose it through global BuildGraph properties ($(RestrictedFolderNames) and $(RestrictedFolderFilter)). Also switch existing scripts to use it.

Change 3276792 on 2017/01/29 by Ben.Marsh

	UBT: Use UE4CSharp.prog files to indicate which projects should be included in the solution without having to hard-code a list of them in UBT.

Change 3277263 on 2017/01/30 by Ben.Marsh

	IncludeTool: Merging various fixes.

	* Fix warnings about #include directives after first code block from parsing monolithic headers.
	* Fix exception on startup if the intermediate directory does not already exist.
	* Add a special case for ignoring missing header guards from MonolithicHeaderBoilerplate.h, rather than marking it as an inline header. Marking it as inline prevents parsing include directives, which results in including CoreTypes.h from the wrong location.
	* Create job objects for spawned compiler instances to prevent them trying allocating more memory than the system can spare.
	* Remove (unused) code which makes assumptions about files ending with "Classes.h".
	* Add a verbose per-file output log to aid with debugging.
	* Negate the MakeStandalone command line option, which was added to allow tweaking forward declarations in already optimized files, so the optimized output does not have missing headers by default.
	* Fix missing headers when creating standalone files, due to incorrect list of previous files being passed in to the OutputFile constructor. Now passes the original list of included files, not the output list.
	* Fix initial header for a cpp file sometimes being removed. Forcibly including a header at the start of the file does not use the normal pathway for spidering through includes, so a second include of the same file was being generated. Any includes of that header were being forced into output, and the earlier include was then removed due to being redundant.
	* Prevent forward declaring enums which have to be parsed by UHT. UHT relies on includes to determine a parse order, and will fail if the enum definition has not been parsed first.
	* Use a relative path for private includes in the same module if there are any. Fixes some incorrect paths, and makes it clearer that we're doing something we shouldn't.

Change 3277307 on 2017/01/30 by Ben.Marsh

	UBT: Fix private PCHs not using correct header. Causes custom definitions to be excluded from the command line.

[CL 3278101 by Ben Marsh in Main branch]
2017-01-30 16:52:08 -05:00
Matt Kuhlenschmidt
3c94e3a725 Fix non-unity issues
#rb none
#lockdown nick.penwarden

[CL 3230434 by Matt Kuhlenschmidt in Main branch]
2016-12-12 01:33:44 -05:00
Matt Kuhlenschmidt
37a47c18d0 Copying //UE4/Dev-Editor to //UE4/Dev-Main (Source: //UE4/Dev-Editor @ 3228984)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================

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

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

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

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

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

	Automation - Adding new screenshots.

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

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

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

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

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

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

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

	Back out changelist 3169926

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

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

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

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

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

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

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

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

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

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

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

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

	#jira none

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

	Back out changelist 3170067

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

	JsonObjectConverter - By default UStructToJsonAttributes now skips transient properties.

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

	Automation - Fixing several warnings dealing with fbx testing.

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

	Automation - Fixing more warnings with FBX tests.

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

	Added extension point for level editor viewport Show menu

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

	Back out changelist 3163044

	This broke wrapping for Japanese and Chinese.

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

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

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

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

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

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

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

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

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

	Fix to build warning for 3171970

	#jira none

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

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

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

	Line-break iterators will now avoid breaking words in Hangul

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

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

	Fixed Static Analysis error

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

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

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

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

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

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

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

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

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

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

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

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

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

	Import commandlet fixes

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

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

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

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

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

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

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

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

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

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

	Guard against bad render targets in Slate RHI

	#jira UE-37905

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

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

	#jira UE-37900

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

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

	#jira none

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

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

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

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

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

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

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

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

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

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

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

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

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

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

	Fixed crash during TSF IME shutdown

	#jira UE-38073

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

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

	#jira UE-38065
	#jira UE-37645

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

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

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

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

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

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

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

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

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

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

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

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

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

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

	UMG - Fixing a mac compiler warning.

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

	Fixed collapse all hiding everything in the settings editors

	#jira UE-38151

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

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

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

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

	#jira UE-38094

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

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

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

	Removed double look-up in UTextProperty::SerializeItem

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

	Feedback context now uses culture correct percentage formatting

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

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

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

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

	#jira UE-38268

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

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

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

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

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

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

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

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

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

	#jira UE-38309

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

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

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

	Guard against null object when creating details panel

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

	FrontX support for scene importer
	#jira UETOOL-1061

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

	Fixed misaligned button in the new blueprint class dialog

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

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

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

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

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

	UMG - UWidget is now Blueprintable.  Improving some doc.

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

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

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

	Fix cooking crash after fbx import of a scene without meshes

	#jira UE-38264

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

	Cleanup Persona LOD section button layout

	#jira UE-38339

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

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

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

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

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

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

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

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

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

	#jira UE-19022

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

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

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

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

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

	Fixing UnrealTournament build error in SUTChatEditBox

	#jira none

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

	Fix to build warning C6011 in SWidgetHierarchyItem

	#jira none

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

	Create Cinematic Camera when importing camera from fbx

	#jira UE-37764

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

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

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

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

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

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

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

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

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

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

	#jira UE-38536

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

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

	#jira UE-38520

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

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

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

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

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

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

	#jira UE-38544

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

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

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

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

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

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

	#jira UE-36499, UE-38497

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

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

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

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

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

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

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

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

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

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

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

	Guard against reimport factories being deleted while in use

	#jira UE-37577

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

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

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

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

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

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

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

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

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

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

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

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

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

	#jira UE-38313

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

	Adding missing change needed post merge from main

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

	Fixed localization gather including texts that were instanced or otherwise unchanged

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

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

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

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

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

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

	Fix build warning

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

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

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

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

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

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

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

	Fix for adjusting text spacing when lines are removed from TextLayouts

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

	Updated UMG Sequencer to properly fire events once per loop

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

	Fixing coding standards violations.

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

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

	#jira UE-38315

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

	Backing out changelist 3170522 per request

	#jira UE-33031

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

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

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

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

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

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

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

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

	Removing content from dev folder

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

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

	#jira UE-38752

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

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

	#jira UE-38195

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

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

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

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

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

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

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

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

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

	Speculative fix for UE-38492

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

	#jira UE-38492

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

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

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

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

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

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

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

	#jira UE-38315

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

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

	PR #2942

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

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

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

	Added UnrealWatchdog to the Binary Release

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

	Add UnrealWatchdog to UGS precompiled binaries for Odin and Orion.

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

	Redid blur changes from Paragon Dev-General

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

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

	Fix CIS error on Mac from my change CL 3207157

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

	Added missing files

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

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

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

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

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

	Actually call correct method of checking for a debugger

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

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

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

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

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

	#jira UE-11796

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

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

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

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

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

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

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

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

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

	Fix build errors

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

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

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

	Fix ATSC texture compression quality tooltip

	#jira UE-38996

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

	Fix compile errors

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

	Fix post process anim blueprints on skeletal meshes not being clearable

	#jira UE-39017

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

	Added more logging for jira UE-39000

	#jira UE-39000

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

	Redid fix for UE-35822 in dev-editor

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

	Fix deprecation warning

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

	Disable motion blur in editor views by default

	#jira 38424

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

	Fix PS4 compile errors

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

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

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

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

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

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

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

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

	#jira UE-26274

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

	Adding experimental support for content hot-reloading

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

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

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

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

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

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

	#jira UE-37746

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

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

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

	#jira UE-37309

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

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

	#jira UE-39106

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

	Attempt to fix includetool cis warning

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

	Fixing MakeShared forward declaration

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

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

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

	Maps now end a hot-reload batch

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

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

	#jira UE-35712

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

	Color grading widget customization
	#jira UETOOL-1070

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

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

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

	Fixed issue where check-out toast would not disappear

	#jira UE-39146

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

	Adding an explicit ESPMode to MakeShared to try and placate Android

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

	Fix build warning

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

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

	#jira UE-35935

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

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

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

	Fix win32 build error

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

	Fix mac build error.

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

	Fixing MakeShared on Android

	#jira UE-39204

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

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

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

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

	#jira UE-36496

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

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

	#jira UE-39211, UE-38718

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

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

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

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

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

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

	#jira UE-6882

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

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

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

	Reverting files now uses hot-reloading (if enabled)

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

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

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

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

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

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

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

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

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

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

	Fixed crash reloading the active world package when it was dirty

	#jira UE-39250

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

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

	#jira UE-39243

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

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

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

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

	#jira UE-39246

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

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

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

	Move static mesh collision properties to the collision category

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

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

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

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

	#jira UE-37452

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

	Fix fbx automation tests

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

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

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

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

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

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

	#jira UE-38965

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

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

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

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

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

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

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

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

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

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

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

	Added an "Inline" font loading method

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

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

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

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

	Added log warning to detect hitches when lazily loading fonts

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

	Fixing style-set typo

	#jira UE-39333

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

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

	#jira UE-39295

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

	Support LOD group and combine mesh
	#jira UE-1088

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

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

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

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

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

	Added back in missing code that was lost in a merge

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

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

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

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

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

	Staticmesh socket fbx import.
	#jira UE-38284

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

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

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

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

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

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

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

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

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

	Update doc links for maps and sets

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

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

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

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

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

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

	#jira UE-39020

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

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

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

	Added collapsing methods when exporting text for translation

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

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

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

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

	Static analysis fix, false positive

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

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

	#jira UE-39279

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

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

	#jira OPP-6485

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

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

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

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

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

	Fix for iOS compiling

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

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

	#jira UE-39529

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

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

	#jira UE-39523

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

	Fixed UUserDefinedEnum::GetEnumText

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

	#jira UE-39531

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

	Fix static analysis warning

[CL 3229477 by Matt Kuhlenschmidt in Main branch]
2016-12-09 15:05:28 -05:00
Ben Marsh
20bf0eb6a1 Updating copyright notices to 2017 (copying from //Tasks/UE4/Dev-Copyright-2017).
#rb none
#lockdown Nick.Penwarden

[CL 3226823 by Ben Marsh in Main branch]
2016-12-08 08:52:44 -05:00
Ben Marsh
4ba423868f Copying //UE4/Dev-Build to //UE4/Dev-Main (Source: //UE4/Dev-Build @ 3209340)
#lockdown Nick.Penwarden
#rb none

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

Change 3209340 on 2016/11/23 by Ben.Marsh

	Convert UE4 codebase to an "include what you use" model - where every header just includes the dependencies it needs, rather than every source file including large monolithic headers like Engine.h and UnrealEd.h.

	Measured full rebuild times around 2x faster using XGE on Windows, and improvements of 25% or more for incremental builds and full rebuilds on most other platforms.

	  * Every header now includes everything it needs to compile.
	        * There's a CoreMinimal.h header that gets you a set of ubiquitous types from Core (eg. FString, FName, TArray, FVector, etc...). Most headers now include this first.
	        * There's a CoreTypes.h header that sets up primitive UE4 types and build macros (int32, PLATFORM_WIN64, etc...). All headers in Core include this first, as does CoreMinimal.h.
	  * Every .cpp file includes its matching .h file first.
	        * This helps validate that each header is including everything it needs to compile.
	  * No engine code includes a monolithic header such as Engine.h or UnrealEd.h any more.
	        * You will get a warning if you try to include one of these from the engine. They still exist for compatibility with game projects and do not produce warnings when included there.
	        * There have only been minor changes to our internal games down to accommodate these changes. The intent is for this to be as seamless as possible.
	  * No engine code explicitly includes a precompiled header any more.
	        * We still use PCHs, but they're force-included on the compiler command line by UnrealBuildTool instead. This lets us tune what they contain without breaking any existing include dependencies.
	        * PCHs are generated by a tool to get a statistical amount of coverage for the source files using it, and I've seeded the new shared PCHs to contain any header included by > 15% of source files.

	Tool used to generate this transform is at Engine\Source\Programs\IncludeTool.

[CL 3209342 by Ben Marsh in Main branch]
2016-11-23 15:48:37 -05:00
Matt Kuhlenschmidt
47a097348a Copying //UE4/Dev-Editor to //UE4/Dev-Main (Source: //UE4/Dev-Editor @ 3167359)
#lockdown Nick.Penwarden
#rb none

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

Change 3152124 on 2016/10/05 by Jamie.Dale

	Fixed SOutputLog filter not handling OnTextCommitted

Change 3152255 on 2016/10/05 by Michael.Dupuis

	#jira UE-28173 Support \" properly in FName

Change 3152273 on 2016/10/05 by Nick.Darnell

	Core - The module manager is now thread safer, we had a critical section around the internal module list - but we were incrementing/decrementing shared pointers to module data shared pointers that were not thread safe outside of the critical section.  Ran into a crash working on some heavily threaded code in automation.

Change 3152314 on 2016/10/05 by Nick.Darnell

	Automation - Continued work to rough out the automation workflow for screenshot.  Still lots of work remaining, but it appears the basic of approving images might be working as of this CL.

Change 3152316 on 2016/10/05 by Michael.Dupuis

	#jira UE-30346 Update selection when in tree view mode

Change 3152317 on 2016/10/05 by Nick.Darnell

	Automation - Adding some test shots to compare against to EngineTest for screenshot approval.

Change 3152319 on 2016/10/05 by Michael.Dupuis

	#jira UE-29817 StringAssetReference will now only open an Asset picker (not actor picker) as the goal is to reference an asset

Change 3152521 on 2016/10/05 by Nick.Darnell

	Automation - Fixing some issues with where it reads the screenshot compare rules.

Change 3152536 on 2016/10/05 by Alexis.Matte

	Fix FBX automation test.
	- Make sure the fbx test can avoid automatic detection of the mesh type
	- Avoid to log the warning when the importer set the material usage after creating a material for skeletalmesh.

Change 3152572 on 2016/10/05 by Nick.Darnell

	Automation - The GameProjectAutomationTests now do some pre-run house cleaning to make sure the project doesn't already exist, and tries to remove it if it was created previously but not deleted.

Change 3152591 on 2016/10/05 by Nick.Darnell

	Automation - Changing the game project errors to be errors.

Change 3153115 on 2016/10/06 by Jamie.Dale

	Removed superflous padding when SPropertyEditorAsset had no buttons

Change 3153215 on 2016/10/06 by Michael.Dupuis

	Fixed build warning

Change 3153248 on 2016/10/06 by Nick.Darnell

	Automation - Working on solving projects not being generated, suspect UBT isn't built or isn't available.

Change 3153255 on 2016/10/06 by Nick.Darnell

	PR #2835: Fix TestEqual AddError Message in FAutomationTestBase (Contributed by dorgonman)

	#jira UE-36922

Change 3153300 on 2016/10/06 by Nick.Darnell

	Automation - Enabled verbose logging to automation build farm.

Change 3153343 on 2016/10/06 by Matt.Kuhlenschmidt

	PR #2825: More project launcher progress improvements (Contributed by projectgheist)

Change 3153506 on 2016/10/06 by Gareth.Martin

	Fixed crash trying to edit landscape with r.LightPropagationVolume=1 enabled
	#jira UE-36933

Change 3153752 on 2016/10/06 by tim.gautier

	Add toggle button to UMG_Behavior. Set Level Blueprint for TM-UMG to AllWidget

Change 3153763 on 2016/10/06 by Nick.Darnell

	Automation - Disable verbose logging.

Change 3153778 on 2016/10/06 by Nick.Darnell

	PR #2837: Fixed engine compilation with defined LOG_SLATE_EVENTS (Contributed by Pierdek)

	#jira UE-36940

Change 3153943 on 2016/10/06 by Nick.Darnell

	Automation - Disabling some broken tests.

Change 3154035 on 2016/10/06 by Nick.Darnell

	Automation - Fixing re-runs for tests that want them.  Previously this wasn't working for any test that was run using the Reprostring method of being executed.

Change 3154039 on 2016/10/06 by Nick.Darnell

	Automation - Updating some test assets in the EngineTest project.

Change 3154476 on 2016/10/07 by Richard.TalbotWatkin

	Fix to regression where vertex color view in Mesh Paint Mode no longer worked correctly. We now allow selected static meshes to go down the dynamic path if VertexColors show mode is active.
	#jira UE-36772 - Selecting a channel in Vertex Paint mode does not show the channel color

Change 3154650 on 2016/10/07 by Alexis.Matte

	Add new front axis facing X option to fbx importer

Change 3154785 on 2016/10/07 by Nick.Darnell

	Automation - Continued work on automation, ripping out the message bus from the screenshot manager, that's causing the screenshot manager to recieve shots from every machine ever running tests.  The Automation Controller is now in charge, and will tell the screenshot manager whatever it needs.

Change 3155131 on 2016/10/07 by Michael.Dupuis

	#jira UE-36509 Do not disabled inverse filter when doing a sync to asset

Change 3155141 on 2016/10/07 by Michael.Dupuis

	#jira UE-36056 Do not open the Actor Picker if we're working on an archetype object

Change 3155262 on 2016/10/07 by Michael.Dupuis

	#jira UE-19737 reset ctrl key when resetting state to None

Change 3156326 on 2016/10/09 by Matt.Kuhlenschmidt

	Fixed crash when asset picker is used without a property editor (usually a heavily customized property).

Change 3156473 on 2016/10/10 by Richard.TalbotWatkin

	Attempt to make geometry render / rebuild more robust in the hope of catching UE-36265.
	#jira UE-36265 - [CrashReport] UE4Editor_Engine!FModelSceneProxy::HasSelectedSurfaces() [modelrender.cpp:538]

Change 3156479 on 2016/10/10 by Richard.TalbotWatkin

	Fixed non-editor build.

Change 3156579 on 2016/10/10 by Alexis.Matte

	Add a check to make sure curve pointer is valid.
	#jira UE-36177

Change 3156585 on 2016/10/10 by Ben.Marsh

	Fix line endings for screenshot settings.

Change 3156617 on 2016/10/10 by Matt.Kuhlenschmidt

	Disable per-pixel blending of menus by default.  Causes artifacts on windows versions and we are not using it.

Change 3156674 on 2016/10/10 by Nick.Darnell

	Automation - Continued work on the automation workflow.  Now screenshot functional test actors actually have the screenshot processed for differences during the test back on the test controller machine, and then waits for the results of the comparison to be performed.

Change 3156709 on 2016/10/10 by Alexis.Matte

	#jira UE-16337
	Make sure the base mesh import data transform is used when we import a LOD.

Change 3156714 on 2016/10/10 by Nick.Darnell

	Automation - Fixing -game crash due to TestName being null in functional test.

Change 3156721 on 2016/10/10 by Nick.Darnell

	Automation - FunctionalAITest now implements IsReady to check if the navigation mesh has finished being built.

Change 3156748 on 2016/10/10 by Nick.Darnell

	Autopmation - Fixing a warning.

Change 3156943 on 2016/10/10 by Alex.Delesky

	Fixed an issue where closing out the "Add Code" window with an active toast stating that an IDE was downloading would prevent the toast from clearing correctly.

	#jira none

Change 3156946 on 2016/10/10 by Alex.Delesky

	#jira UE-36414 - Adding support for the P4Changelist command line argument to the P4 operations that were missing it.

Change 3158215 on 2016/10/11 by Nick.Darnell

	Automation - Continued work on the screenshot comparison, fixed a crash, the system now reports if the screenshot was new, as well as similar, so that the script can react and warn when new screenshots are produced.  Manually fired screenshots now properly wait until they've been compared before the test moves forward.

Change 3158322 on 2016/10/11 by Michael.Dupuis

	#jira UE-36063 If the collection is not shown when trying to save one, force show them so the user understand what is going on

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

	#jira UE-36829 - Rebuilt SVN 1.9.4 libs for Windows with CyrusSASL 2.1.26 and SWIG 3.0.10 support.

Change 3158399 on 2016/10/11 by Nick.Darnell

	Automation - TTF Font log statements that were not warnings are no longer warnings.

Change 3158406 on 2016/10/11 by Nick.Darnell

	Automation - Updating some automation scripts in the engnine that were using file paths to now use FStringAssetReferences, that cleaned up a lot of nasty convert filepath to asset reference code in the tests.  Also introducing some maps, and setting up the configs to use them to try and appease some of the existing tests that were expecting them.

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

	#jira UE-36829 - SVN 1.9.4 libraries, but also with Java 8u101 support.

Change 3158537 on 2016/10/11 by Nick.Darnell

	Automation - Updating some automation scripts in the engnine that were using file paths to now use FStringAssetReferences, that cleaned up a lot of nasty convert filepath to asset reference code in the tests.  Also introducing some maps, and setting up the configs to use them to try and appease some of the existing tests that were expecting them.

	Adding some missing files.

Change 3158726 on 2016/10/11 by Michael.Dupuis

	#jira UE-37001 Perform manual migration of UICurve to proper config category

Change 3158728 on 2016/10/11 by Nick.Darnell

	Automation - Fixing some warnings.  Adding more testing to the Domino map to serve as a better example.

Change 3158753 on 2016/10/11 by Michael.Dupuis

	#jira UE-26261 change it's by its

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

	Fix D&D folder import in content browser. We have to expand the root directory to have the correct path.
	#jira UE-32155

Change 3159640 on 2016/10/12 by Jamie.Dale

	Split localized package redirection out of FCoreDelegates::PackageNameResolvers

	They're different enough in behavior that the delegate resolution was breaking the localized package resolution by resolving in too many places and causing the localized package to be loaded with its real localized name as well as the fake non-localized name.

	#jira UE-37119

Change 3159741 on 2016/10/12 by Nick.Darnell

	Slate - Fixing the SGraphPanel's mouse offset calculations so that it works with HDPI mode.

Change 3159762 on 2016/10/12 by Nick.Darnell

	Automation - Adding a way to take a screenshot with the UI, not great yet - it doesn't really obey the rules of resolution, because of the method it uses.

Change 3160210 on 2016/10/12 by Gareth.Martin

	Fixed crash when changing Landscape LOD while using "Grass use Landscape Lightmap"

Change 3160216 on 2016/10/12 by Gareth.Martin

	Removed unused FLandscapeComponentSceneProxy::LayerNames and made LayerColors editor-only
	Fixed negative LODBias on landscape components to actually do anything

Change 3160239 on 2016/10/12 by Gareth.Martin

	Removed an unused variable

Change 3160455 on 2016/10/12 by Jamie.Dale

	Fixed FText properties exported to asset tags displaying in their NSLOCTEXT form in the asset tooltips

Change 3160457 on 2016/10/12 by Jamie.Dale

	Localization automation now groups everything into a single CL and reverts PO files without significant changes

Change 3160554 on 2016/10/12 by Nick.Darnell

	UMG - Fixing some panning logic to work with HDPI mode in the designer.

Change 3161712 on 2016/10/13 by Jamie.Dale

	Fixed TSharedMapView using hard-coded types

Change 3163044 on 2016/10/14 by Jamie.Dale

	Fixed line-break iterators incorrectly breaking words in CJK

Change 3163046 on 2016/10/14 by Jamie.Dale

	Text layout no longer creates break candidates when wrapping is disabled

Change 3163217 on 2016/10/14 by Jamie.Dale

	Fixed ensure caused by FMediaTextureResource::GetResourceSizeEx

Change 3163641 on 2016/10/14 by Alex.Delesky

	#jira UE-36829 - Updated Mac SVN libraries, along with a more accurate changelog for Windows SVN libs

Change 3164428 on 2016/10/17 by Nick.Darnell

	Slate - Making the FReply for SetMousePos easier to debug, since that option is potentially very frustrating to debug when someone is changing it.

Change 3164833 on 2016/10/17 by Jamie.Dale

	Fixed ParseNumber consuming strings with multiple sequential dots as valid numbers, eg) "10..."

Change 3164868 on 2016/10/17 by Alexis.Matte

	Remove re-import material and LOD import material
	#jira UE-36640

Change 3164874 on 2016/10/17 by Alexis.Matte

	Fix fbx scene re-import of staticmesh loosing there materials
	#jira UE-37032

Change 3165080 on 2016/10/17 by Alexis.Matte

	Remove skinxx workflow for static mesh
	#jira UE-37262

Change 3165232 on 2016/10/17 by Nick.Darnell

	Automation - Adding some sub-level testing.

Change 3165822 on 2016/10/18 by Nick.Darnell

	Slate - Add a counter to track how much time we spend drawing custom verts each frame.

Change 3165934 on 2016/10/18 by Nick.Darnell

	Slate - Addding cycle counters to SInvalidationPanel's Tick and Paint.

Change 3165947 on 2016/10/18 by Nick.Darnell

	Slate - Addding very verbose slate stats behind a compiler flag to avoid the large overhead of these stats.  To enable them you'll need to set WITH_VERY_VERBOSE_SLATE_STATS to 1, added a guide on debugging slate performance to the SlateGlobals.h

	// HOW TO GET AN IN-DEPTH PERFORMANCE ANALYSIS OF SLATE
	//
	// Step 1)
	//    Set WITH_VERY_VERBOSE_SLATE_STATS to 1.
	//
	// Step 2)
	//    When running the game (outside of the editor), run these commandline options
	//    in order and you'll get a large dump of where all the time is going in Slate.
	//
	//    stat group enable slateverbose
	//    stat group enable slateveryverbose
	//    stat dumpave -root=stat_slate -num=120 -ms=0

Change 3165962 on 2016/10/18 by Nick.Darnell

	UMG - Play first frame of sequence in UMG immediately when told to play an animation.

Change 3165981 on 2016/10/18 by Nick.Darnell

	Core - GetDisplayNameText now stores the FName for DisplayName in a static instead of using TEXT("DisplayName").

Change 3166000 on 2016/10/18 by Jamie.Dale

	Removed bulk-data from fonts

	The main complaints about composite fonts have always been:
	 1) They use too much memory at runtime.
	 2) They bloat if you use the same font face twice.
	 3) They often break when used outside the game thread.

	This change aims to address all of these issues by removing bulk-data from fonts (which was the cause of the memory bloat and threading issues), and introduces UFontFace assets (which allow you to re-use the same font face in different entries within a composite font).

	No existing font data is lost during this transition, however you must manually update your UFont assets to reference external UFontFace assets before you're able to edit the existing data (which is automatically upgraded to UFontFace assets *within* the UFont package). This upgrade can be done via the composite font editor.

	During cook these UFontFace assets write out the actual TTF/OTF font data as a .ufont file, which is what FreeType actually loads at runtime (the internals of the Slate font cache are now completely independent of UObjects and their lifetimes and loading concerns).

	Since we're now always loading files from disk, we can also give the user an option of whether to "pre-load" (which will load the entire font into memory, like bulk-data always used to), or "stream" the font from disk (which has minimal memory overhead, but needs decent I/O performance).

Change 3166001 on 2016/10/18 by Jamie.Dale

	Updated the Launcher to no longer use bulk-data for fonts

Change 3166003 on 2016/10/18 by Jamie.Dale

	Updated the Engine fonts to use UFontFace assets

Change 3166028 on 2016/10/18 by Alex.Delesky

	#jira UE-37021 - The scrollbar will now remain at the bottom of the output log after specifying a filter.

Change 3166071 on 2016/10/18 by Nick.Darnell

	Slate - Fixing a warning about hiding an inherited member.

Change 3166213 on 2016/10/18 by Jamie.Dale

	Fixing crash caused by accessing a zeroed FText

Change 3166222 on 2016/10/18 by Nick.Darnell

	Automation - Adding some code to end the sub level test when it starts.

Change 3166231 on 2016/10/18 by Nick.Darnell

	Editor - Fixing the build warning, SOutputLog.cpp:748:4: warning: field 'TextLayout' will be initialized after field 'CachedNumMessages'

Change 3166717 on 2016/10/18 by Nick.Darnell

	Automation - Removing references to old options that are no longer file paths, and are now StringAssetReferences these options were not being used by anyone as far as I can tell.

	#jira UE-37482

Change 3167279 on 2016/10/19 by Jamie.Dale

	Fixed text render component regression with custom MIDs

	#jira UE-37305

Change 3167356 on 2016/10/19 by Alexis.Matte

	Make sure the old asset are build correctly
	#jira UE-37461

Change 3167359 on 2016/10/19 by Alexis.Matte

	Fix re-import of mesh material assignment regression
	#jira UE-37479

[CL 3168049 by Matt Kuhlenschmidt in Main branch]
2016-10-19 15:01:48 -04:00