83 Commits

Author SHA1 Message Date
Brandon Schaefer
9c593b70b5 Revert 8062551 as it seems to be causing different issues
#jira UE-78887
#rb none
#lockdown cristina.riveron

[CL 8091101 by Brandon Schaefer in 4.23 branch]
2019-08-16 10:42:16 -04:00
Brandon Schaefer
05c51a48a1 Exec when starting the process from the script produced by LinuxPlatform.Automation.cs (Thanks lotodore! PR 6118)
#jira UE-78887
#rb none
#lockdown cristina.riveron

[CL 8062551 by Brandon Schaefer in 4.23 branch]
2019-08-15 13:51:08 -04:00
Ben Marsh
0cc6e3dca6 Copying //UE4/Dev-Build to Dev-Main (//UE4/Dev-Main)
#rb none
#rnx

[CL 6631504 by Ben Marsh in Main branch]
2019-05-24 11:51:54 -04:00
Chris Gagnon
1dd3e0189f Merging //UE4/Dev-Main to Dev-Editor (//UE4/Dev-Editor)
#rb none

[CL 4730305 by Chris Gagnon in Dev-Editor branch]
2019-01-15 18:47:22 -05:00
Ben Marsh
0f885bbf64 Switch UAT and UBT to use .NET 4.6.2, in order to support long file names (which is enabled via an app.manifest file in each application).
#rb none

[CL 4679962 by Ben Marsh in Dev-Build branch]
2019-01-03 16:47:48 -05:00
Brandon Schaefer
7bf95a5dcd Linux: fix iterative deployment
#jira UE-67255
#rb Arciel.Rekman

[CL 4679128 by Brandon Schaefer in Dev-Editor branch]
2019-01-03 13:27:24 -05:00
Chris Gagnon
8fc25ea18e Merging //UE4/Dev-Main to Dev-Editor (//UE4/Dev-Editor)
#rb none

[CL 4676797 by Chris Gagnon in Dev-Editor branch]
2019-01-02 14:54:39 -05:00
Ben Marsh
530369c613 Merging //UE4/Dev-Main to Dev-Build (//UE4/Dev-Build)
#rb none
#rnx

[CL 4662695 by Ben Marsh in Dev-Build branch]
2018-12-14 14:49:12 -05:00
Ben Marsh
b0da1f4fe7 Merging //UE4/Dev-Main to Dev-Build (//UE4/Dev-Build)
#rb none

[CL 4577636 by Ben Marsh in Dev-Build branch]
2018-11-19 10:12:17 -05:00
Matt Kuhlenschmidt
cde8160913 Merging //UE4/Dev-Main to Dev-Editor (//UE4/Dev-Editor)
#rb none

[CL 4572510 by Matt Kuhlenschmidt in Dev-Editor branch]
2018-11-16 11:15:08 -05:00
Ben Marsh
fb05bc49ce UBT: Store a relative path to the project file within a target receipt. This simplifies loading and saving receipts by removing the need to pass a project directory.
#rb none

[CL 4557994 by Ben Marsh in Dev-Build branch]
2018-11-10 16:31:54 -05:00
Joe Barnes
01a13f9d80 Copying //UE4/Dev-Console to //UE4/Dev-Main (Source: //UE4/Dev-Console @ 4362408)
#lockdown Nick.Penwarden
#rb none

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

Change 4125165 by Ben.Woodhouse

	[INTEGRATE] Integrate from //UE4/Main/...@4124306 to //UE4/Dev-Console/...

Change 4136060 by Marcin.Undak

	Editor: fixed device unclaiming

	#jira UE-58464

Change 4190321 by Marcin.Undak

	Linux: fixes for automation and RecordPerformance

	#jira UE-61053

Change 4199010 by Marcin.Undak

	Linux: remove unnecessary -g option

Change 4201876 by Marcin.Undak

	First implementation of WebM media player for Windows and Linux

Change 4201922 by Marcin.Undak

	Whitelisted WebMem plugin only for Windows and Linux

Change 4202203 by Marcin.Undak

	WebM build fixes

Change 4223102 by Marcin.Undak

	Vulkan: console commands for testing device lost

	#jira UE-61789

Change 4225028 by Marcin.Undak

	WebMMedia: disabled on Linux until fixed compilation issues

Change 4231444 by David.Harvey

	UI - Fixing where the virtual cursor renders.  It doesn't correctly take into account DPI scale, which isn't apparent except on the Xbox One.

	Integrate as edit from CL 4166648.

	#jira UE-62115

Change 4233057 by Marcin.Undak

	TestPAL: added new test for string allocation size

Change 4234649 by Marcin.Undak

	Linux: switched linux plaform to 16bit wide strings

Change 4235253 by Marcin.Undak

	TestPAL: compilation fix for platforms that don't use DirectoryWatcher

Change 4235477 by Marcin.Undak

	Linux: re-enabled WebMMedia plugin

Change 4242242 by Marcin.Undak

	WebMMediaPlayer: implemented proper format retrieving. MediaFrameworkTest now works.

Change 4243321 by Marcin.Undak

	WebMPlayer: static code analisys fix

Change 4243505 by Marcin.Undak

	MediaFrameworkTest: added WebM video for testing

Change 4244646 by Marcin.Undak

	WebMMedia: improved concurrency

Change 4244735 by Arciel.Rekman

	Vulkan: skip unnecessary transitions properly (UE-62348, merge).

	(Edigrating CL 4244274 from Release-4.20)

Change 4246685 by Arciel.Rekman

	PhysX: remove Cygwin from %PATH% on Windows as it confuses CMake (UE-62326).

Change 4247808 by Marcin.Undak

	WebMMediaPlayer: added support for seeking

Change 4254841 by Marcin.Undak

	WebM: module dependencies fix

Change 4255124 by laz.matech

	Updated UMG_AllPaletterWidgets' combo box to include options so that when selected, the dropdown presents 2 options instead of it appearing like it is broken

	#jira none

Change 4256415 by Marcin.Undak

	WebM: added missing editor module

Change 4256716 by Arciel.Rekman

	Make SetReuseAddr() also set SO_REUSEPORT where available (UE-57076).

	- Pull request #4617 by malavon.

	#jira UE-57076

Change 4266049 by Marcin.Undak

	Linux: UnrealLightmass and CrashReportClient compilation fixes

	#jira UE-62521
	#jira UE-62522

Change 4266678 by Arciel.Rekman

	Merge speculative commit to get aligned pointer on mmap().

	(Edigrating CL 4225330)

Change 4267998 by Anthony.Bills

	Fix DBufferC clear color due to bad merge.

	#jira UE-62649

Change 4269441 by Marcin.Undak

	GenericPlatformStrings::VarArgs() implemented %-*s, %lu, %z, %h formatting

	#jira UE-62582

Change 4269712 by Marcin.Undak

	WebMMediaPlayer: removed LibSimpleWebM

Change 4272849 by Marcin.Undak

	WebMMediaPlayer: fixed re-initialisation

Change 4277931 by Arciel.Rekman

	Linux: switch to Vulkan by default (UE-62807).

	- Default behavior: attempt Vulkan first, but in case of failure instead of quitting silently fall back to GL, unless -vulkan is passed.
	- Forcing GL is still possible.

Change 4277965 by Arciel.Rekman

	Fix standalone applications after the Vulkan switch.

Change 4277968 by Arciel.Rekman

	Linux: make CrashReportClient headful (UE-14089).

	- The -unattended flags keep even a headful CRC usable on the servers.
	- ldd did not change. Need to check Localization stuff to see if there are any deployment concerns.

	#jira UE-14089

Change 4279402 by Arciel.Rekman

	Merge from 4.20.1: Vulkan: log validation errors. Also fix handling of some message types (UE-62628).

	(Edigrating 4273516 from //UE4/Release-4.20/... to //UE4/Dev-Console/...)

Change 4279992 by Marcin.Undak

	Linux: fix SlateViewer compilation

	#jira UE-62831

Change 4285613 by Arciel.Rekman

	Vulkan: fix mismatched layout.

	- I tested with RecordPerformance on InfiltratorDemo and haven't found any impact.

Change 4285622 by Arciel.Rekman

	Merged from 4.20.2: Linux: do not refuse to start if system limits cannot be raised (UE-62515).

	- Too aggressive behavior, which can break cooking for no valid reason.
	- If a commandline argument is used, the engine will still treat inability to raise the limits as an error.

	(Edigrating 4273547 from //UE4/Release-4.20/... to //UE4/Dev-Console/...)

Change 4293083 by Arciel.Rekman

	Merging //UE4/Main@4291654 to //UE4/Dev-Console

Change 4295297 by Marcin.Undak

	Vulkan: temporary disable generic pipeline cache saving to prevent crashes

	#jira UE-62848

Change 4300191 by Arciel.Rekman

	Delete files added under lowercase directories.

Change 4300211 by Arciel.Rekman

	Re-add files deleted in previous commit under camel-cased paths.

Change 4300895 by Arciel.Rekman

	Linux: fix editor build

Change 4303543 by Ben.Marsh

	Fix compile error for FortGPUTestBed.

Change 4305659 by Marcin.Undak

	[Vulkan][Engine] Update the Vulkan RHI to obey r.VSync (and the vsync and novsync command-line arguments).

	Change 4222769 by Jason.Stewart@Jason.Stewart_AMD_Dev_Rendering_threadripper-win10 on 2018/07/19 10:55:48

		The original implementation ran into a latent thread hazard between the RHI thread and the rendering thread, where the rendering thread would try to use the backbuffer of the swap chain while the swap chain was being recreated (specifically after the swap chain recreation code had released and nulled out the back buffer, but before swap chain creation had actually happened to get a new back buffer). This implementation addresses that issue.

		This is Tim's code. I'm just submitting it as Tim is currently out of office.

Change 4305661 by Marcin.Undak

	Moved libwebm and libvpx inside WebMMediaPlayer directory

Change 4308659 by Marcin.Undak

	Linux: fixed LLDB visualizers

	#jira UE-52619

Change 4313650 by Marcin.Undak

	WebMMediaPlayer: implemented looping

Change 4321713 by David.Harvey

	removed hard-coded platform labels from device output log window in favour of ITargetPlatform::SupportsFeature + updated editor tooltip with correct platform list.

	https://ec-01.epicgames.net/commander/link/jobDetails/jobs/8641984?

Change 4321942 by Brandon.Schaefer

	Linux: Use the Target RHI list as the default ordering for which RHI is prefered

	Also update the RHI list in the project settings for our default list

	#jira UE-59487

	#review-4316134 @Arciel.Rekman

Change 4322230 by Brandon.Schaefer

	Treat %lf as %f in GenericWidePlatformString

	#jira UE-62582

Change 4322392 by Brandon.Schaefer

	Make sure our fmt size is large enough to check indexes

	#jira none

Change 4322895 by Brandon.Schaefer

	Actually get the current size of Src as it could have been moved down

	#jira none

Change 4327866 by Brandon.Schaefer

	Linux: Tell the platform misc what RHI we are using

	#jira none

Change 4328926 by Brandon.Schaefer

	Linux: Add haptic support for controllers

	Github PR #4167 (thanks maiself!)

	#jira UE-51681

Change 4328963 by Arciel.Rekman

	TestPAL: improve the test by randomizing allocation size.

	- The range will no longer be constrained to <=128KB at once, allocations can be as big as 16MB but they will unevenly distributed, with smaller sizes being more frequent.

Change 4329208 by Arciel.Rekman

	hlslcc: suppressed benign compiler warning during the Linux build (UE-43988).

Change 4329283 by Arciel.Rekman

	Linux: replace CachedOSPageAllocator with PooledVirtualMemoryAllocator for Linux.

	For the explanation of FPooledVirtualMemoryAllocator, see PooledVirtualMemoryAllocator.h
	For the details, test data and comparisons, message Arciel Rekman.

	Relevant command line args added:

	-vmapoolscale=<float> (defaults to 1.4)
	-vmapoolevict
	-novmapoolevict

	By default, freed memory will not be evicted from RAM (unless running on a server)

	Also changed:
	- Removed the fixed-size pool previously used by Linux (and supporting machinery like scaling it on start)
	- Replaced the way we manage free blocks from pointers to a bitmap to reduce memory footprint.

Change 4331946 by Luke.Thatcher

	[CONSOLE] [^] (merging CL 4162064) Implement new thread heart beat clock to solve the suspend/resume problem across all platforms.
	 - The hang and hitch detectors now maintain their own clocks which are ticked by their respective threads.
	 - If the title is suspended, the ticking thread will stop and the clock will stop advancing. On resume, the maximum delta in the clock is clamped to a small value, so we ignore all the time the thread was not ticking for (i.e. the duration of the title being suspended).
	 - As such, we don't need any logic for handling PLM suspend/resume in the hang and hitch detectors, so this change removes that too.

	#jira FORT-96886

Change 4331973 by Luke.Thatcher

	[CONSOLE] [^] (merging CL 4183499) Add frame-present-based hang detection.
	 - RHIs call FThreadHeartBeat::PresentFrame() whenever they present a frame to the swap chain.
	 - These calls form a separate heartbeat from the thread-based ones, allowing the hang detector to fire if, for example, the game thread is stuck in an async loading loop and is ticking the game thread heartbeat, but making no progress.
	 - Also refactored ThreadHeartBeat.cpp to move hang detection logging into a FORCENOINLINE function. This will put OnHang and OnPresentHang at the top of the callstack in retail crash dumps, making the bucketing easier to recognise.

Change 4332200 by Luke.Thatcher

	[CONSOLE] [+] (merging CL 4227517) Add PlatformDebugData to FShaderResource.
	 - We can use this to store platform specific shader symbols etc. The data gets serialized to the DDC and can be retrieved during a cook.
	 - Data is entirely discarded in cooked builds, and is a no-op on platforms which don't implement support for shader debug data.
	 - Bumped shader version to invalidate DDC keys.

Change 4332407 by Luke.Thatcher

	[CONSOLE] [CORE] [!] (merging CL 4279686) Fixed unaligned integer load macro inconsistencies.
	 - Renamed PLATFORM_SUPPORTS_UNALIGNED_INT_LOADS to PLATFORM_SUPPORTS_UNALIGNED_LOADS
	 - Merged it with REQUIRES_ALIGNED_ACCESS and REQUIRES_ALIGNED_INT_ACCESS
	 - Fixed Linux platform which had both the old macros defined to 1, which is wrong because they are mutually exclusive.

Change 4333386 by Luke.Thatcher

	[CONSOLE] [!] (merging CL 4317367) Fix compile error in AnimationCompression.h

Change 4334395 by Arciel.Rekman

	Corrected PLATFORM_DESKTOP definition.

Change 4336190 by Anthony.Bills

	(Original CL4314280) Use the debug file writer when using framepro. This buffers more data which should reduce stalls when writing out on certain platforms.

	#jira none

Change 4336291 by Anthony.Bills

	Use a clamped local clock when timing out the renderthread.

	- This prevents suspend and resume issues on platforms where suspend events may not occur or the system clock is not set to the process time.

	#jira none

Change 4336292 by Anthony.Bills

	(Orignal CL 4195778) Fix printing of the hang detector multiplier and other logging.

	"f" is the correct format specifier for a double.

	#jira none

Change 4336307 by Anthony.Bills

	(Orignal CL 4257875) Use the correct clock when printing the scoped hitch stat.

	- Needs to be the internal FGameThreadHitchHeartBeat clock incase FPlatformTime::Seconds becomes out of sync with FrameStartTime.

	#jira none

Change 4336321 by Anthony.Bills

	(Original CL 4258186) Add GetNoInit function to FGameThreadHitchHeartBeat.

	#jira none

Change 4336397 by Anthony.Bills

	Fix redefinition of macro.

	#jira none

Change 4336738 by Brandon.Schaefer

	Linux: Add options for ASan, TSan, and UBSan

	#jira UE-62784 UE-62803 UE-62804

Change 4336791 by Brandon.Schaefer

	Linux: Add missing xml comments

	#jira none

Change 4336957 by Joe.Barnes

	Integrate as edit CL#4218145:

	Convert some of our Vector macros to inline functions as thier names class with 3rd party functions.

	#jira ue-61733

Change 4338228 by Arciel.Rekman

	Switch to v12 Linux cross-toolchain (UE-63589).

	#jira UE-63589

Change 4339195 by Ben.Woodhouse

	Integrate-as-edit latest CSV profiler changes up to CL 4292187

Change 4339237 by Ben.Woodhouse

	Integrate-as-edit CL 4226269
	Add support for extern GPU stats, so we can use one stat across multiple CPPs
	Fix the Forward rendering GPUProjection stat

Change 4339239 by Ben.Woodhouse

	Integrate-as-edit CL 4292520

	Support different sized buffers for FArchiveFileWriterGeneric per-platform so we can tune per-platform as needed.
	No changes to existing defaults values of 1KB for read, 4KB for write:

	        #define PLATFORM_FILE_READER_BUFFER_SIZE 1024
	        #define PLATFORM_FILE_WRITER_BUFFER_SIZE 4096
	        #define PLATFORM_DEBUG_FILE_WRITER_BUFFER_SIZE 4096

Change 4339241 by Ben.Woodhouse

	Integrate-as-edit CL 4210462
	Comment out an assert while I investigate properly (doesn't appear to be fatal)

Change 4339265 by Anthony.Bills

	[Linux] Fix ContainerBuildThirdParty.sh to pick the first default interface.

	#jira none

Change 4339274 by Anthony.Bills

	[Linux] Cache the bundled toolchain when using git builds.

	- Also will not attempt to download the toolchain if AutoSDK or Multiarch root are specified.

	#jira UE-63394

Change 4339623 by Anthony.Bills

	[Linux] Update native toolchain buildscript to support clang 6.0.1

	- Main issue was due to libxml2 as an extra dependency of some test libraries, so needs to be disabled via DLLVM_ENABLE_LIBXML2.

	#jira UE-63588

Change 4339685 by Anthony.Bills

	[Linux] Update toolchain setup script to download v12 when it is available.

	#jira UE-63588

Change 4339833 by Ben.Woodhouse

	[INTEGRATE] Integrate from //UE4/Main/...@4339548 to //UE4/Dev-Console/...

Change 4339843 by Ben.Woodhouse

	Attempt to fix a weird possible bad merge issue

Change 4339890 by Ben.Woodhouse

	Fix a build issue
	#jira nojira

Change 4340314 by Anthony.Bills

	Fix mesh decal rendering when write mask is enabled and no deferred decals are in the scene.

	#jira UE-55159

Change 4341099 by Marcin.Undak

	Mediashader fix

	#jira UE-63650

Change 4341106 by Marcin.Undak

	QAGame: added MediaPlayer for Linux test

	#jira UE-59667
	#jira UE-62775
	#jira UE-62780

Change 4341107 by Marcin.Undak

	WebMMediaPlayer: blacklist all not supported platforms

	#jira UE-59667
	#jira UE-62775
	#jira UE-62780

Change 4341110 by Marcin.Undak

	WebMMediaPlayer: enable for Unix platforms

	#jira UE-59667
	#jira UE-62775
	#jira UE-62780

Change 4341804 by Luke.Thatcher

	[CONSOLE] [!] Fix memory scribble in black depth texture cube on platforms with 16-bit depth.
	 - Original code was writing a FColor into the locked texture data, which causes a 2 byte scribble if the PF_ShadowDepth format is 16-bits.

	[!] Also fixed GWhiteTextureCube being black. FColor::White is not a compile-time constant, so an initialization order problem meant the value of FColor::White is actually black when the GWhiteTextureCube constructor runs.

	#jira none

Change 4342244 by Anthony.Bills

	[Linux] Allow restarting the crashed application from the crash report client

	#jira UE-62903

Change 4342636 by Brandon.Schaefer

	Linux: Update LLVM libc++.a libc++abi.a with version 6.0.1

	#jira UE-63587

Change 4343420 by Marcin.Undak

	Fixed assert in console

	#jira UE-63643


Change 4345166 by Luke.Thatcher

	[CONSOLE] [!] (merging CL 4345072) Fix initialization order bug with FColor and FLinearColor constants.
	 - The original constants were dynamically initialized during startup. Using these constants from other global constructors may result in getting the wrong value (transparent black) if a given constructor runs before FColor/FLinearColor's constructor.
	 - Adding constexpr to the FColor/FLinearColor constructor makes these constants known at compile-time, and included in the readonly data section, so they don't require dynamic initialization.

	[~] Also restores the original constant color values in RenderUtils.cpp

	#jira none

Change 4345860 by Arciel.Rekman

	Make StompMalloc return 16-byte aligned memory on 64 bit platforms (UE-63743).

	#jira UE-63743

	(Edigrating 4345734 from Release-4.20)

Change 4345950 by Brandon.Schaefer

	Linux: Remove libelf/libdwarf fallback for symbolicating symbols during a crash

	#jira UE-63103

Change 4350249 by David.Harvey

	helper function to retrieve an LLM tag's name, including platform tags.

Change 4351184 by Ben.Woodhouse

	[INTEGRATE] Integrate from //UE4/Main/...@4348973 to //UE4/Dev-Console/...

Change 4351593 by Ben.Woodhouse

	Clean up aggressive batching (remove xbox specific #if and //TODO)
	#jira UE-46780

Change 4351734 by James.Cobbett

	Setting TM-ShaderModels_Niagara to always load

Change 4351984 by Marcin.Undak

	QAGame: restored platform media source in TM-ShaderModels map

Change 4353508 by Ben.Woodhouse

	[INTEGRATE] Integrate from //UE4/Main/...@4353110 to //UE4/Dev-Console/...

Change 4354237 by Anthony.Bills

	[Linux] Fix Linux compilation issues due to change over to TCHAR being char16_t.

	#jira UE-63544

Change 4354334 by Anthony.Bills

	[Linux] (Missing file from CL 4354237) Fix Linux compilation issues due to change over to TCHAR being char16_t.

	#jira UE-63544

Change 4355994 by Brandon.Schaefer

	Linux: Agree not Agreed

	#jira UE-63937

Change 4356068 by Joe.Barnes

	Replace a duplicate DEFINE_EXPRESSION_NODE_TYPE(bool,...) causing errors with iOS unity build compiles. Remove version in ExpressionParser.cpp and include TextFilterExpressionEvaluator.h.

	#jira ue-63877

Change 4357726 by David.Harvey

	[iOS] add clean support for device output log, after catchup.

	#jira none

Change 4357724 by Ben.Woodhouse

	[INTEGRATE] Integrate from //UE4/Main/...@4357176 to //UE4/Dev-Console/...

Change 4359634 by Ben.Woodhouse

	[INTEGRATE] Integrate from //UE4/Main/...@4359072 to //UE4/Dev-Console/...

Change 4359958 by Ben.Woodhouse

	Fix FortGPUTestbed merge issues via p4 copy (content files didn't get moved before for some reason)

Change 4361108 by Anthony.Bills

	Fix webm deprecation issues with DrawPrimitiveUp.

	#jira UE-64012

Change 4361896 by James.Cobbett

	Re-saving materials so that they render correctly outside of the editor.

Change 4362262 by Anthony.Bills

	Fix for WebM video decoder crash.

	#jira UE-64025

[CL 4362700 by Joe Barnes in Main branch]
2018-09-12 15:59:49 -04:00
Brandon Schaefer
2b9f93ff51 Linux: Dont assume DISPlAY=:0
#jira UE-63050
#rb none
#fyi Arciel.Rekman

[CL 4297799 by Brandon Schaefer in Dev-Editor branch]
2018-08-17 16:00:44 -04:00
Arciel Rekman
4141229f52 Copying //UE4/PQ-Staging@3957047 to Dev-Main (//UE4/Dev-Main)
#rb Ben.Marsh
#fyi Josh.Adams
#lockdown Nick.Penwarden

[CL 3957060 by Arciel Rekman in Main branch]
2018-03-21 11:09:41 -04:00
Ben Marsh
348616bd78 Copying //UE4/Release-Staging-4.19 to //UE4/Dev-Main (Source: //UE4/Release-4.19 @ 3873914)
============================
  MAJOR FEATURES & CHANGES
============================

Change 3873906 by Dan.Oconnor

	Revised fix for preventing delegate functions from appearing in context menu when using the compilation manager - needed to run after CallDelegateHandler changed statement type

	#jira UE-51726

Change 3873614 by Dan.Oconnor

	Prevent delegate functions from appearing in context menu when using the compilation manager and prevent crash if such a function is somehow compiled

	#jira UE-51726

Change 3873428 by Ben.Zeigler

	#jira UE-54753 Fix class pin on SpawnActorFromClass to correctly support browse. It was inherting from the wrong pin widget
	Copy of 3873408

Change 3873083 by Ethan.Geller

	[4.19]#jira UE-54865 fix seconds -> milliseconds conversion issue. #rb aaron.mcleran #lockdown cristina.riveron

Change 3872714 by Dan.Oconnor

	Further revise fix for UE-53840, mistakenly reverted to old behavior when compiling synchronously
	#jira UE-53840

Change 3872648 by Ben.Zeigler

	#jira UE-54845 Fix crash in NextDebugTarget when there are no valid debug targets
	Copy of CL #3872636

Change 3872500 by Arne.Schober

	Back out changelist 3870283
	#jira UE-54838

Change 3872412 by Mark.Satterthwaite

	Remove now unnecessary r.Metal.ManualVertexFetch from the device profiles.

	#jira UE-54853

Change 3872313 by Martin.Wilson

	Add UI to Live Link Client to warn live link users about background performance throttling

	#jira none

Change 3872272 by Martin.Wilson

	Fix crash when clearing a skeletal mesh on a skeletal mesh component with an active Post Process Anim Instance

	#jira none

Change 3872238 by Mark.Satterthwaite

	Duplicate CL #3871025
	Make Manual Vertex Fetch a property of the shader platform for Metal - only the desktop platforms (METAL SM5/SM5_NoTess/MRT) will use manual vertex fetch. The mobile platforms use vertex descriptors. Prevents problems with cooked versions of games not working properly on Metal due to a mismatch between the runtime's Manual-Vertex-Fetch state versus the state used by the cooker when compiling shaders.

	#jira UE-54843

Change 3872087 by Yasiman.Ahsani

	Adding Python, libdisasm, musl, and LSS licenses.

	#JIRA n/a - adding licenses for new TPS

Change 3872037 by Ben.Marsh

	BuildGraph: Add a task for compiling MSBuild projects.

	#jira

Change 3871934 by Lina.Halper

	#jira: UE-54703

Change 3871595 by Michael.Trepka

	Fixed a problem with Mac editor not exiting with error code returned from GuardedMain function

	#jira UE-54830

Change 3870829 by Joe.Barnes

	Fix unintentional change to PhysX libs used in Debug builds.

	#jira ue-54817

Change 3870820 by Nick.Atamas

	Copying //Tasks/UE4/Dev-VR-4.19a@3870772 to Release-4.19 (//UE4/Release-4.19)

	#jira UE-54816

Change 3870755 by Chance.Ivey

	Min Android version set - should fix camera permissions issue found in #JIRA UE-54024 #rb none #fyi nick.atamas

Change 3870547 by Krzysztof.Narkowicz

	Fixed FreezeRendering on non editor builds: ComputeAndMarkRelevanceForViewParallel was calling FrozenMatricesGuard on multiple threads, reading and writing view matrices state in parallel.

	#jira UE-53640

Change 3870546 by Krzysztof.Narkowicz

	Fixed tesselation shader tex/uniform initialization in OpenGL3/4 path

	#jira UE-54471

Change 3870284 by Ben.Zeigler

	#jira UE-54583 Fix issue where loading multiple already loaded assets via Async Load Asset node could return the wrong asset on the loaded pin. The assign variable node was happening at a slightly wrong time
	Copy of CL #3870279

Change 3870283 by Arne.Schober

	SafeRelease SRVs that might be hold by the Vertexfactories (maybe due to indirect use in GlobalResources)
	Note that the VFs are not owners of the data, e.g the underlying Buffers might be released before this and this reference counting should be uneccessary

	#jira none

Change 3870098 by Ben.Marsh

	Fix OptimizeCode = CodeOptimization.Always causing compile errors in Linux debug builds. bUseInlining was not set correctly on the global compile environment used to build shared PCHs. Also fixed other settings not being propogated down from the target correctly.

	#jira UE-53855

Change 3870013 by Ben.Marsh

	UBT: Add an error if a user attempts to clean a target through hot-reload, rather than just failing to delete DLLs because they are locked.

	#jira UE-54179

Change 3870010 by Ben.Marsh

	UBT: Add an option to format output messages in a form that can be parsed by MSBuild. Prevents errors showing as "EXEC: Error:", and displays them correctly in the error list window.

	#jira

Change 3869814 by Ben.Marsh

	UBT: Unify command line arguments to use -Name=Value syntax. -Module <Name>, -ModuleWithSuffix <Name> <Suffix>, -Plugin <Path> and -Receipt <Path> are no longer supported.

	Also remove the RemoteRoot option, which was not used anywhere.

	#jira

Change 3869786 by Martin.Wilson

	Fix Live Link Remove Source button not working

	#Jira UE-54652

Change 3869660 by Martin.Wilson

	Fix missing message bus sources in the live link client (not repolling for new sources)

	#Jira UE-54712

Change 3869659 by Guillaume.Abadie

	Fixes SimpleComposure's BP_AdvancedCompositing keep allocating memory every frame.

	Credits for fixing the issue to Ron Radeztsk.

	#jira UE-54780

Change 3869401 by Lauren.Ridge

	Adding to the conditional in FindAllAncestorNamedSlotHostWidgetsForContent

	#jira UE-51470

Change 3869384 by Brandon.Schaefer

	Open the project in the explorer when NullSourceCodeAccess is done creating the project

	#jira UE-54630

Change 3869308 by Ben.Marsh

	PR #4452: Fixed FindFilesRecursively in IPlatformFilePak (Contributed by user37337)


	#jira UE-54568

Change 3869265 by Martin.Wilson

	Fix crash and subsequently found issues with unloading/reloading Maya Live Link plugin
	-Crash on reload due to core code getting reinitialize, made this a one time only thing (as Maya never gets rid of the module from memory)
	-Added manual ticking of FTicker, allows message bus objects to be cleaned up properly (cannot do this as part of normal flow as it is in engine code which we dont have)
	-rebuild binaries for Engine/Extras

	#Jira UE-54643

Change 3869206 by Benn.Gallagher

	Fixed crash updating clothing paint mode after tab spawners have been destroyed by the hosting application.

	#jira UE-54116

Change 3869064 by Benn.Gallagher

	Resolved skeletal mesh data changes and clothing section disable changes after collision. Re-added ability to disable sections at the mesh level and removed the ability to strip editor sections as these are required for a number of other features to correctly function.

	#jira UE-52557

Change 3869062 by Guillaume.Abadie

	Fixes "dynamic resolution is not supported on this platform" warning message being always visible.

	#jira UE-54655

Change 3868202 by Lauren.Ridge

	Fix for assert on expanding vector param in layered material
	#jira UE-54737

Change 3868161 by zak.parrish

	Replacing FaceARDebugUI with a blank UI until a new one can be created, due to a crash bug. #rb none #JIRA UE-54639

Change 3867750 by Ethan.Geller

	[4.19] #jira UE-54725 Fix for Envelope attack and release values not being properly set on Synth Components #rb aaron.mcleran #lockdown cristina.riveron

Change 3867657 by Lauren.Ridge

	Adding if with editor wrapper to new function
	#jira cis fix

Change 3867646 by Aaron.McLeran

	#jira UE-53867 Access violation on Switch when playing sound with specified time out of range

Change 3867340 by Lauren.Ridge

	Fixes to Material Layers from 4.19 preview feedback
	-Need to pass through base attributes better/have better default nodes in layer (optional Example Layers and Blends checkbox now enables this in Experimental Settings)
	-Parent in function should be editable
	-Enforce only two layers in a blend
	-Mat layer should warn if it has incorrect output in the layer itself
	-Enforce not being able to delete outputs
	-Warn about creating a MAL node inside a function

	#jira UETOOL-1312

Change 3867317 by Aaron.McLeran

	#jira UE-53867 Access violation on Switch when playing sound with specified time out of range

Change 3867000 by Lauren.Ridge

	Fix for folder favorites possibly becoming very large
	#jira UE-54704

Change 3866892 by Martin.Wilson

	Fix crash if clicking ok on message bus add source without having a source selected

	#jira UE-54572

Change 3866391 by Matt.Kuhlenschmidt

	Fix static analysis

	#jira UE-53379

Change 3866241 by Ryan.Vance

	#jira UE-54681
	Fixed missing Vulkan texture GetNativeResource implementation that was lost in a bad merge.

Change 3866071 by Nick.Shin

	UDN 412414

	update HTMl5 readme file

	#jira none

Change 3866005 by Max.Preussner

	Messaging: Preventing dangling references when removing message subscribers

	#jira UE-54680

Change 3865988 by Simon.Tourangeau

	Fix static analysis warnings

	#jira none

Change 3865895 by zachary.wilson

	Renaming QA-PhysicalLightUnits to TM-PhysicalLightUnits in QAGame.

	#JIRA UE-29618

Change 3865469 by Simon.Tourangeau

	Support for DX11 quad buffer stereo rendering

	#jira UEENT-704

Change 3865461 by Chris.Babcock

	Add a wait for audio thread to pause audio on going to background
	#jira UE-54301
	#ue4
	#android

Change 3865350 by Matt.Kuhlenschmidt

	Fix issue where cascade emitter UI would disapper

	#jira UE-53379

Change 3865336 by Arne.Schober

	REL - Fix UE-52356 Bone Weight

	#jira UE-52356

Change 3865257 by Ben.Marsh

	Fix editor failing to load content-only projects when compiled in DebugGame.

	#jira UE-54661

Change 3865238 by Simon.Tovey

	Pulling Olaf's fix from 3832595 over to release

	#tests EngineTests boots in vulkan
	#JIRA UE-54394

Change 3865191 by Sorin.Gradinaru

	UE-54317 DXT apps fail on first launch when 'For Distribution' enabled, Unsupported Texture Format

	#jira UE-54317
	#Android
	#4.19

	From //Dev-Mobile/3863322

Change 3865190 by Sorin.Gradinaru

	UE-54175 Selecting For Distribution no longer sets configuration to Shipping

	#UE4
	#4.19
	#jira UE-54175

	From //Dev-Mobile/3863371
	"For Distribution" enable-> reset "Build COnfiguration" to Shipping and force serialization to DefaultGame.ini (see UE-52845)

Change 3865056 by Jamie.Dale

	Fixed culture being incorrect when added via the Localization Dashboard

	#jira none

Change 3864826 by Max.Preussner

	WmfMedia: Added missing scope lock

	#jira UE-54365

Change 3864055 by Aaron.McLeran

	#jira UE-54213

	Crash fix for GC'd plugin settings objects. Adding to AddReferencedObjects.

Change 3863775 by Andrew.Porter

	MediaFrameworkTest: Removing Platform Media Source TVOS test content

	#jira UE-29618

Change 3863714 by Dan.Oconnor

	Make array, set, and map nodes no longer switch object type when a pin is disconnected. Also, you can no longer attach unrelated map types to the MakeMap node if only the value pin has been inferred

	#jira UE-54634

Change 3863696 by Max.Chen

	Sequencer: Fix crash open a new sequence while another is still active.

	#jira UE-54620
	#jira UE-54624

Change 3863638 by Dan.Oconnor

	Make sure all blueprints that are skeleton compiled get a BroadcastChanged notification, also run BroadcastChanged after reinstancing, matching pre compilation manager behavior
	#jira UE-54193

Change 3863494 by Jamie.Dale

	Ensure Py_SetPythonHome is set correctly before the embedded Python interpreter is initialized

	#jira UE-54345

Change 3863433 by Max.Preussner

	MediaPlayerEditor: Removed tvOS from list of available platforms in Platform Media Source assets

	tvOS currently reports itself as iOS, so it cannot have its own setting.

	#jira UE-54559

Change 3863406 by Lauren.Ridge

	Fix for a crash when filtering a dropdown with no set value
	#jira UE-54631

Change 3863238 by Michael.Kirzinger

	#jira UE-52730: Fix mac voip crash

Change 3862586 by Marc.Audy

	Clean up rendering thread heartbeat checks that got mangled in various integrations

	#jira

Change 3862247 by Guillaume.Abadie

	Fixes editor lines that were using a simple element blending mode that was generating an incorrect alpha channel.

	#jira UE-53830

Change 3862120 by Guillaume.Abadie

	Fixes USceneCaptureComponent::HiddenActors always staying gray out in world editor.

	#jira UE-51458

Change 3861363 by Jamie.Dale

	Static analysis fixes

	#jira none

Change 3861150 by Matt.Kuhlenschmidt

	Fix static mesh editor displaying 0 for all stats on LODs > 0

	#jira UE-53776

Change 3860990 by Dan.Oconnor

	Clear subobjects not recreated on load, e.g. because we're running with -game and the subobject was created using CreateEditorOnlySubobject
	#jira UE-54551

Change 3860972 by Nick.Shin

	HTML5 - detect "SyntaxError: " and do a forced reload

	- an actual syntax error would be caught during compile time
	- this is usually error condition is usually seen when browser is running "old/partial" cached data and it's fairly safe to just reload the page

	#jira UE-54017  QAGame fails to launch properly on HTML5 Firefox 64 bit

Change 3860951 by Arne.Schober

	Fix not releaseing SRV on render thread for FPositionVertexBuffer, FStaticMeshVertexBuffer, FColorVertexBuffer, FStaticMeshInstanceBuffer.

	#jira UE-54587

Change 3860950 by tim.gautier

	QAGame: Updating ML_Stone to include Texture Coordinate and Panner functions
	#jira UE-29618

Change 3860833 by Michael.Dupuis

	#jira UE-54181: Repopulate the foliage list when existing simulate mode
	Let the GC know that internal struct hold UObject ptr

Change 3860762 by Jamie.Dale

	Ensure we invoke the correct version of Python from UBT

	#jira UE-54345

Change 3860676 by Simon.Tourangeau

	Remove DirectoryWatcher warning in output log

	#jira UEENT-846

Change 3860598 by Lauren.Ridge

	Fix for crash on opening new material instance
	#jira UE-54589

Change 3860338 by Michael.Lentine

	Integrate changes for fixing MorphTargets.

	#jira 54398

Change 3860215 by Ben.Marsh

	UAT: Fix exception consturcting target rules assembly inside UAT, now that there's an abstract TargetRules class.

	#jira UE-54578

Change 3860186 by Matt.Kuhlenschmidt

	Fix crash top 10 with the font editor shutting down and then a dpi event occuring

	#jira UE-54543

Change 3859854 by Graeme.Thornton

	PR #4124: VSCode: Changed VisualStudioCodeSourceCodeAccessor to work with non-default VSCode install paths on Linux (Contributed by christopherreed)


	#jira UE-51289

Change 3859848 by Graeme.Thornton

	Fix crypto.cs reading the wrong ini setting names for uasset encryption settings

	#jira UE-54566

Change 3859684 by Ben.Marsh

	PR #4436: Fix compile error when building BlankProgram because incorrect directory path (Contributed by windkey)


	#jira UE-54392

Change 3859657 by Ben.Marsh

	Fix FTransform being passed by value, causing alignment error when compiling for Win32.

	#jira

Change 3859312 by nick.bullard

	Updating AEOverviewMan to remove reference to sub-level AEOverviewSWP which was deleted in 3859278
	Still need to update menu to remove selection

	#jira UE-50784

Change 3859278 by Nick.Bullard

	Deleteing AEOverviewSWP.umap per request of Developer. Also updated TM-AnimPhys which refereneced this map as well.

	"This test map is a custom C++ implementation of a "procedural sound wave". This code is super janky and not worth fixing up. I'm sure there's a legit thread safety problem in there but the code is in QAGame only.

	We've since implemented "synth components" which do what this test does in a much safer/better way and maintaining/testing this old thing is *not* worth the time."

	#jira UE-50784

Change 3859124 by Dan.Oconnor

	Fix long standing crash when duplicating a blueprint that is missing its parent class. Entries in CrashReport go back to 4.16

	#jira UE-54468

Change 3859086 by Ryan.Vance

	#jira UE-54470

	We need to set the viewport in both cases.

Change 3859006 by Dan.Oconnor

	Revise fix for archetype lookup when reinstancing. During compilation we do not want to force use of the up to date class

	#jira UE-54541

Change 3858990 by mason.seay

	Cleaned up blueprints to remove compile errors

	#jira UE-29618

Change 3858945 by Aaron.McLeran

	#jira UE-54265

	PR #4428: Fixing Envelope Bug in AudioMixer (Contributed by Chrispykins)


Change 3858719 by Aaron.McLeran

	#jira UE-54552 Fix for sample buffer reader

Change 3858647 by Ethan.Geller

	PR #4439: Removes ambiX -> FuMa conversion (Contributed by mgorzel)

	#jira UE-54407

Change 3858364 by Michael.Dupuis

	#jira UE-52049: There was a case where adding and removing multiple time would lead to reordering the instances and this would cause the regeneration of the random stream for all the reorded instances.

Change 3858268 by Dan.Oconnor

	Prevent postload logic running on REINST and SKEL classes

	#jira UE-54531

Change 3858205 by Mitchell.Wilson

	Removed particle looping from some emitters to resolve anim notify warnings.
	#jira UE-53823

Change 3858148 by Lauren.Ridge

	Changes based on Material Layer Feedback from previews
	- (Temporary) Disabled being able to create a layer or blend in the asset dropdown
	- Sections of the stack that have been disabled now inactivate that part of the UI
	- Create Function Instance now indicates if you are making a layer or a blend
	- Parent dropdown has been removed from layers and blends. Where relevant, a filter button has been added instead.

	#jira UETOOL-1328

Change 3857933 by Michael.Dupuis

	#jira UE-45854: Properly unregister callback when replacing foliage type with another one

Change 3857898 by Michael.Dupuis

	#jira UE-54396: Remove the Ensure as it could be possible that the Landscape Info is invalid during an undo operation

Change 3857878 by Max.Chen

	Sequencer: Assign the sequence id after the template is compiled.

	Copy from Dev-Sequencer

	#jira UE-54462

Change 3857808 by Michael.Dupuis

	#jira UE-54421: Prevent edition during Simulate when clicking on actor

Change 3857786 by Rolando.Caloca

	UE4.19 - Fix recompute tangents and skin cache for OpenGL

	#jira UE-42108
	PR #3271

Change 3857549 by Lina.Halper

	another jittering issue due to revision number change
	clear the motion vector after compile

	#jira: UE-53930

Change 3857439 by Lina.Halper

	Clear motion vector when end of sequencer when in editor world

	#jira:UE-54057

Change 3857384 by Graeme.Thornton

	Restore fix for visual studio source code accessor not correctly determining that a content project has no solution and opening a fresh instance of visual studio

	#jira UE-50020

Change 3856596 by Chris.Babcock

	Fix ResonanceAudioApi Android library architecture filtering
	#jira UE-54478
	#ue4
	#android

Change 3856449 by Michael.Dupuis

	#jira UE-35097: Various cosmetic changes that were done in phase 2 that help improve clarity of the design.

Change 3856415 by Dan.Oconnor

	Fix regression when loading instances that have had their class deleted. Issue detected by static analysis

	#jira UE-54467

Change 3856332 by Ben.Marsh

	Resaving TP_HandheldARBP assets to fix version again.

	#jira

Change 3856319 by Ben.Marsh

	Back out changelist 3855588

	Causes build failure in UFE because it introduces a dependency on the Engine module. UFE compiles with WITH_ENGINE = 0.

	#jira UE-54472

Change 3856292 by Ben.Marsh

	Fix app-local dependencies not being included in binary builds, and only working for code projects in source builds.

	#jira UE-54448

Change 3856190 by Martin.Wilson

	Fix bone access mismatch between raw mesh bones and final bones (that include virtual bones too)

	#jira UE-54266

Change 3856169 by Ben.Marsh

	Tag XGEControlWorker.exe as a build product, so it's included in the binary distro.

	#jira UE-54283

Change 3856123 by Chris.Babcock

	Fix missing ARCore file
	#jira UE-54453
	#ue4
	#android

Change 3856005 by Richard.Wallis

	Clone of Dev-Rendering CL 3855993 - turn off FShaderCache.

	#jira UE-52928

Change 3855961 by Jian.Ru

	Copy 3855047 - fix DFAO Nan problem
	#jira UE-54403

Change 3855811 by Martin.Wilson

	Add build process for Maya Live Link plugin (standalone, manually triggered) + add built binaries to Engine/Extras (Maya 2016, Maya 2017, Maya 2018)

	#jira none

Change 3855758 by Cosmin.Sulea

	UE-53569 - tvOS does not package or launch-on

	#jira UE-53569

Change 3855727 by Ben.Marsh

	Resaving assets with a versioned build in the editor, to fix warnings building DDC.

	#jira

Change 3855626 by Adrian.Siminciuc

	https://jira.it.epicgames.net/browse/UE-50979 (MP4 doesn't resume playback when iOS 11 device wakes from sleep)

	#jira UE-50979

Change 3855588 by Graeme.Thornton

	Fix visual studio solution path being incorrect for content projects

	#jira UE-50020

Change 3855283 by Ben.Marsh

	Fix race condition where stdout/stderr write handles could be inherited by multiple processes, resulting in them not being closed (and the process exit being detected) until all processes that inherited them had been closed. Improves performance of ParallelExecutor.

	#jira

Change 3855009 by Chance.Ivey

	Resaving with version number. #JIRA-54330 #rb none

Change 3854943 by Dan.Oconnor

	Fix archetype lookup when searching hierarchy that has been partially reinstanced

	#jira UE-53840

Change 3854882 by Ryan.Vance

	#jira UE-54438

	Removing vr related references to screen percentage.
	Removing previously removed gvr screen percentage code that came back in an integration from google.

Change 3854806 by Mike.Beach

	Mirroring part of CL 3802176 to fix a crash that can occur when users try to use the default 'DisplayModel' on MotionController components. Also provided users a better error message to explain why a model might not be showing up.

	#jira UE-54214

Change 3854680 by Chance.Ivey

	Saving assets with version number#JIRA UE-54330 #rb none

Change 3854652 by Uriel.Doyon

	Added a tooltip to the EV100 slider in the exposure menu.
	Using game settings now disables the slider.
	#jira UE-53945

Change 3854605 by Dan.Oconnor

	Make sure we don't create objects outered to a placeholder object, also make sure that archetypes that are reinstanced on load are relinked in to the linker table so that they are postload'd (and the old instance isn't)

	#jira UE-53954

Change 3854274 by Brandon.Schaefer

	Changes in CL 3842286 changed the function glslang::GlslangToSpv and requires a rebuild on Linux

	#jira UE-54302

	#codeview Arciel.Rekman

Change 3854255 by Phillip.Kavan

	Fix a scoping issue for local instanced subobject references in nativized Blueprint C++ code. Also, don't emit redundant assignment statements for instanced subobject reference properties.

	- Mirrored from //UE4/Dev-Framework (3853349).

	#jira UE-53960

Change 3854177 by Ethan.Geller

	#jira UE-54415 set EnabledByDefault to false for Resonance Audio

Change 3854123 by Ethan.Geller

	#jira UE-54410 set AudioComponentID

Change 3853775 by Lauren.Ridge

	Minor cleanup
	#jira UE-54054

Change 3853772 by Lauren.Ridge

	Don't create widgets when just testing if the selected widget is a replacement candidate
	#jira UE-54054

Change 3853715 by Rolando.Caloca

	UE4.19 - Fix for OpenGL overwriting texture units

	#jira UE-54401

Change 3853655 by Ben.Marsh

	Add a retry loop on creating the first directory before copying files. Attempt to work around problems copying to shared folders.

	#jira

Change 3853535 by Ben.Marsh

	Expose the engine compatible changelist to Perforce. If EnginePatchVersion > 0, this will be the changelist of the original .0 release.

	#jira

Change 3852583 by Nick.Atamas

	Resaved assets so they don't produce DDC warnings.
	#jira none

Change 3852552 by Uriel.Doyon

	Fixed Pre-Exposure shader compilation and Temporal AA issue.

	#jira UE-54276

Change 3852354 by Nick.Atamas

	Hopefully fixes the static analysis warning from jira issue.
	#jira UE-54332

Change 3852281 by Nick.Atamas

	Merging CL 3851690 from //Tasks/UE4/Dev-VR-4.19a/... to //UE4/Telease-4.19/...
	#jira UE-54331

Change 3852274 by Simon.Tourangeau

	Back out changelist 3851041 until Win7 issue is resolved.

	#jira UE-54354

Change 3852208 by Jamie.Dale

	Merging CL# 3821754 from //UE4/Dev-Enterprise

	Class property conversion now goes through NativizeClass/PythonizeClass

	This allows it to coerce from Python wrapped object types

	#jira none

Change 3852202 by Jamie.Dale

	More explicit handling of EngineDir for Python SDK

	#jira UE-54345

Change 3851982 by Brandon.Schaefer

	Workaround using a hardcoded path

	#jira UE-54136

Change 3851748 by Michael.Dupuis

	#jira UE-53904: Put the code back to what it was before, as we really only want to perform this code if bIsLayerThumbnail is true, it was changed to fix another issue complaining about a missing shader, that end up being added to the existing functions

Change 3851545 by Marc.Audy

	Remove debugging code that slipped in

	#jira none

Change 3851461 by Ben.Marsh

	Fix #includes with backslashes from crashing UBT.

	#jira UE-53996

Change 3851391 by Jamie.Dale

	Updated Python to prefer our TPS SDK

	#jira UE-54345

Change 3851372 by Jamie.Dale

	Added bat file to copy the Python SDK into TPS

	#jira UE-54345

Change 3851218 by Ben.Marsh

	Add missing template to installed engine build.

	#jira UE-54339

Change 3851117 by andrew.porter

	QAGame: Removing duplicate map

	#jira UE-29618

Change 3851041 by Simon.Tourangeau

	Support for DX11 quad buffer stereo rendering

	#jira UEENT-704

Change 3850548 by Ben.Marsh

	Add TP_HandheldARBP to installed engine build.

	#jira

Change 3850424 by Ben.Zeigler

	Fix reported memory for asset registry to be correct, extracted from a larger change

	#jira none

Change 3850324 by Ryan.Vance

	#jira UEVR-1050

	Hook up the Rift dynamic res to the new IDynamicResolutionState framework

Change 3849819 by JeanLuc.Corenthin

	Unhide Datasmith plugins in "regular" projects to allow easy project conversion

	#jira UEENT-795

Change 3849302 by Martin.Wilson

	Live Link is no longer experimental in 4.19 (moved from experimental folder to Animation)

	#jira none

Change 3849238 by Max.Chen

	Sequencer: Remove bKeepStaleTracks so that stale tracks are now always purged.

	#jira UE-54248

Change 3849211 by Michael.Dupuis

	#jira UE-54181: Prevent foliage edition during PIE or simulate mode

	#coderevire jack.porter

Change 3849123 by Benn.Gallagher

	Fixed crash in clothing actor creation when the clothing simulation mesh has no simulated vertices

	#jira UE-53741

Change 3849120 by Benn.Gallagher

	Fixed crash adding empty materials to destructible meshes in the destructible mesh editor

	#jira UE-53938

Change 3849047 by Jurre.deBaare

	Move material baking out of experimental
	#fix follow-up also remove the entry from experimental settings
	#jira UE-52685

Change 3848808 by Michael.Dupuis

	#jira UE-35097: Remove IncludeTessellationInShadowLOD & RestrictTessellationToShadowCascade from 4.19 as there is currently a bug regarding this in the dynamic rendering code path and would be too risky to fix for now.
	Fixed dynamic shadow code path issue vs static code path

Change 3848659 by Lina.Halper

	Fix issue with animation resetting in the sequencer

	#jira: UE-54047

Change 3848635 by Rolando.Caloca

	UE4.19 - Fix static analysis

	#jira UE-50449

Change 3848515 by Sorin.Gradinaru

	Unshelved from pending changelist '3843541':

	WebBrowser Android crash on 4.4.3

	#jira UE-53247
	#Android
	#4.19

	Crash on Android 4.x.x caused by a call to a Api Level 21 method

Change 3848514 by Jurre.deBaare

	Moving over:
	CL 3832173
	"Failed to import Alembic files
	#jira UE-53941
	#fix Change Alembic thirdparty library setup
		- Removed old unused library files
		- Updated batch files for building HDF5 ILMBase and Alembic libraries to use new AlembicDeploy path
		- HDF5 is now build as a Dynamic library (which also enableds multi-threading)
		- Added DLLs for HDF5 to build.cs file

	CL 3838053
	"Adding missing hdf5 dynamic libraries

Change 3848245 by Ben.Marsh

	Downgrade warning about not using XGE shader compilation to a log message. Build machines do not have XGE.

	#jira UE-54237

Change 3847300 by Phillip.Kavan

	Fix shadowed local variable.

	#jira UE-54141

Change 3846922 by Max.Preussner

	ImgMedia: Fixed image media player never finished initialization if loading failed

	Copied from Dev-Sequencer CL# 3846902

	#jira UE-54247

Change 3846831 by Arciel.Rekman

	Linux: only use lld for x86_64 (UE-54144).

	- lld support for other architectures seems to not ready for prime time.

	#jira UE-54144

Change 3846771 by Lauren.Ridge

	Material window now uses the background color set in preview scene.
	#jira UE-52215

Change 3846705 by Ben.Marsh

	Fix batch file paths not being quoted correctly when run through XGE.

	#jira

Change 3846550 by Lauren.Ridge

	Toggling Show Background now updates the background as well
	#jira UE-52250

Change 3846417 by Matt.Kuhlenschmidt

	Fix crash resizing shootergame window

	#jira UE-53137

Change 3846295 by Rolando.Caloca

	UE4.19 - New Vulkan descriptor pooling mechanism (enabled on non-android)

	#jira UE-50449

Change 3846273 by tim.gautier

	QAGame: Updating Material Layer test assets to include more Params
	- Added temp assets, quicker repros for bugs
	#jira UE-54176, UE-54165

Change 3846255 by Lauren.Ridge

	Parameter tab is the primary tab for material instances

	#jira UE-54092

Change 3846086 by Chris.Babcock

	Add missing SecureHash.h include
	#jira UE-54026
	#PR #4417
	#ue4
	#android

Change 3846049 by Martin.Wilson

	Fix Set Root Motion Enabled Anim Data Modifier node (previously didn't set the enabled flag)

	#jira UE-54220

Change 3846033 by Martin.Wilson

	Fix root motion being repeatedly applied ( Clear() call only clears bHasRootMotion flag, not the transform itself )

	#Jira UE-54219

Change 3845991 by andrew.porter

	QAGame: Updating bindings on activechannels sequencer test content

	#jira UE-29618

Change 3845933 by Lauren.Ridge

	Check for original material being valid

	#jira UE-54166

Change 3845920 by Martin.Wilson

	Optimized redundant key removal

	#jira UE-51303

Change 3845812 by Matt.Kuhlenschmidt

	Fix not being able to change BSP brush shape

	#jira UE-53738

Change 3845790 by Martin.Wilson

	Fix for assert failure when accumulating root motion in debug.

	#jira UE-53955

Change 3845730 by JeanLuc.Corenthin

	Fix build breakage
	warning: resaved disc.uasset with 4.19.0 preview #1
	failure: set the correct default mesh for AreaLightStruct.uasset

	#jira none

Change 3845693 by Lina.Halper

	Fix issue with previewing pose asset with curve data

	#jira: UE-53967

Change 3845533 by Andrew.Rodham

	Sequencer: Fixed sub sequences potentially being loaded during AddReferencedObjects

	#jira UE-54173

Change 3845472 by Thomas.Sarkanen

	Prevented debug object selection dropdown from displaying objects with pending kill outers

	#jira UE-54045 - Animation Blueprint Editor Crashes on Compile if the Debug Instance Selection is Other Than No Object or Preview Instance

Change 3845401 by Yannick.Lange

	Reverting thumbnail capture from viewport.
	#jira UE-53775
	#jira UE-53701

Change 3844693 by JeanMichel.Dignard

	Changed IES texture brightness to be the max candela value and set the texture multiplier to be 1. This fixes the IES lights intensity being too high.

	#jira UEENT-632

Change 3844689 by JeanLuc.Corenthin

	Update Datasmith content assets to latest

	Copying fix from Dev-Enterprise by Jean-Luc Corenthin CL 3809803
	Updated assets with correct release version
	Cleanup some paths on static meshes and texture

	#jira UEENT-759
	#jira UEENT-657

Change 3844571 by Martin.Wilson

	Fix motion controller motion source pin still showing when pin is connected to something

	#Jira UE-53236

Change 3844564 by Martin.Wilson

	Due to previously fixed bug some anim blueprint nodes could have duplicated guids, this fixes them

	#Jira UE-54174

Change 3844545 by Jamie.Dale

	No longer attempt to parse group separators for numeric inputs

	This avoids some ambiguity when parsing numbers for languages such as German

	#jira UE-54170

Change 3844221 by Nick.Shin

	HTML5 - filter out "windows/super" keys - these are not used in UE4

	- but, keycode are not the expected "91 or 92" values, SDL keys are "227 & 231" instead...

	#jira UE-54056  HTML5 crashes inside browser upon pressing windows key

Change 3843937 by JeanMichel.Dignard

	Fixed a crash when right clicking on a static mesh for which its AssetImportData class is currently unavailable (ie: in an unloaded plugin).

	#jira UEENT-764

Change 3843929 by Peter.Sauerbrei

	pull over fix for bad directory when copying launch images
	#jira UE-53177

Change 3843658 by Thomas.Sarkanen

	Text is red again in anim viewports

	#jira UE-53224 - Colouring removed from "Animation is being edited" warning messages

Change 3843657 by Thomas.Sarkanen

	Enable picking via Enter for details panel asset pickers

	The previous (4.18) behavior was to only allow selection of the previous/next item in the list with arrow keys. A fix (CL 3783114) for pickers with many assets broke this. This change now allows for selection of any item by navigating with arrow keys and pressing Enter, as suggested in the Jira.

	#jira UE-53440 - Unable to select assets within modal Asset Selection dropdowns after navigating with keyboard entry

Change 3843120 by Dan.Oconnor

	Avoid fixing component template games outside the editor, this logic does not work for games that have been nativized
	#jira UE-54009

Change 3842841 by Ben.Zeigler

	#jira UE-50020
	Switch visual studio module back to using absolute paths so go to definition works, broken in CL #3796157

Change 3842582 by Lauren.Ridge

	Guards against the widget passed to scrollwidgetintoview being null
	#jira UE-54037

Change 3842575 by Max.Chen

	Sequence Recorder: Stop recording if the preview window is destroyed.

	#jira UE-49778

Change 3842551 by Michael.Dupuis

	#jira UE-35097: Minor bug fix, documentation, etc. to the landscape optim that was done in the phase 2 that have 0 risk.

Change 3842371 by Max.Preussner

	Media: Merged 4.19 fixes from Dev-Sequencer

	CL 3807293 WmfMedia: Fixed YUY2 video format strides
	CL 3827988 MediaPlayerAssets: Fixed Media Texture is not linked to Media Player when created together
	CL 3805414 MediaAssets: Setting valid GUID when initializing media texture resource
	CL 3804183 MediaAssets: Added missing lock in media sound component
	CL 3831580 MfMedia: Media open events generated in same order as on other platforms
	CL 3807193 WmfMedia: Fixed incorrect buffer stride for RGB32 video tracks

	#jira UE-53532
	#jira UE-53328

Change 3842356 by Max.Preussner

	ImgMedia: Fixed ensure when cooking project that uses ImgMediaSource

	#jira UE-51631

Change 3842335 by Aaron.McLeran

	#jira UE-54087

	PR #4419: Fixes a crash due to nullptr dereference (Contributed by mgorzel)


Change 3842286 by Rolando.Caloca

	UE4.19 - Fix for static analysis
	- Glslang 1.0.65.1

	#jira UE-54128

Change 3842222 by andrew.porter

	QAGame: Updating framerate of EXR_Sequence

	#jira UE-29618

Change 3842211 by Ben.Marsh

	Fix determination of Windows version string. The manifest for UE4 applications declares compatibility with Windows 10 nowadays, so we get accurate version numbers returned from GetOSVersionInfo().

	#jira UE-54035

Change 3842163 by Cosmin.Sulea

	UE-53303 - We do not check for remote connection before attempting remote shader compile, causing crashes when misconfigured

	#jira UE-53303

Change 3841770 by Max.Chen

	Sequencer: Fix to allow keying of an arbitrarily deep property path.

	#jira UE-54095

Change 3841758 by Max.Chen

	Sequencer: Fix unbound possessable components when pasting spawnables.

	#jira UE-54104

Change 3841415 by Lauren.Ridge

	Renaming a material layer or material layer blend will no longer cause the asset to appear removed from the stack
	#jira UE-53942

Change 3841327 by Arciel.Rekman

	Linux: fix Debug build (UE-53855)

	- A workaround. UBT should be using proper PCH files instead.

	#jira UE-53855

Change 3840975 by Rolando.Caloca

	UE4.19 - Updated VulkanRHI
	- Fixes for GPU frame time
	- Fixes for CPU performance

	#jira UE-50449

Change 3840838 by Michael.Dupuis

	#jira UE-53944: Make sure the LOD generated is in the valid range to prevent the crash

Change 3840693 by Ben.Zeigler

	#jira UE-53923 Fix regression in 4.19 where PrintScriptCallstack is not always safe to call from the immediate window. I narrowed down the issue to some confusing optimized code so I turned off optimization
	Copy of CL #3840692

Change 3840680 by Aaron.McLeran

	Bringing fixes from Dev-AnimPhys to 4.19.

	#jira UE-53903 crash on load with oculus audio and old audio engine
	#jira UE-52786, UE-53910 Fix for broken spatialization on xaudio2, old audio engine.

Change 3840663 by Rolando.Caloca

	UE4.19 - Fix for layout ensure on HMD projects on Vulkan

	#jira UE-50265

Change 3840577 by Rolando.Caloca

	UE4.19 - Fix for CPUs with more than 16 cores

	#jira UE-53434

Change 3840551 by andrew.porter

	QAGame: Setting Allow Bindings from Asset to false

	#jira UE-29618

Change 3840491 by Ben.Zeigler

	#jira UE-31662 Fix regression with renaming parent inherited function. It was not correctly searching the parent's skeleton class during the child's recompile so it was erroneously detecting the parent function as missing
	Copy of CL #3840489

Change 3840297 by Max.Chen

	Sequencer: Fix copy/paste crash for lights

	#jira UE-54084

Change 3840284 by Michael.Dupuis

	#jira UE-53053: Was having a mismatch between the remove reorder and the actual remove

Change 3840215 by Sorin.Gradinaru

	Unshelved from pending changelist '3812852':

	UE-53550 Level doesn't render on Lenovo 939
	UE-53592 Assertion right after rendering scene on Lenovo S939

	#jira UE-53550
	#jira UE-53592
	#4.19
	#Android

	UE-53550
	Removed force disabling texture2DLodEXT and textureCubeLodEXT on Mali-400 devices
	The problem was that the shader compiler complains about code lines before the #extension directives.
	Placeholder // end extensions in the original shader code - to be replaced with round() functions

	UE-53592
	Always use a new task for devices that have GIsThreadedRendering=false, even when the call is from the rendering thread

Change 3840048 by Michael.Dupuis

	#jira UE-52975: Was always performing the equivalent of an Add, so now we use the Transform during the duplicate

Change 3840005 by Richard.Wallis

	Clone of CL 3835252

	Fix for shader library not working with iterative cooking, also fixes native Metal library not working with iterative cook.  This works by saving a "backup" of the shader library file - this is reloaded only during iterative cook and adds back in shaders that are missing from the current cook.

	Fix for extracting/searching .metal files in different directories so debug tgz archiving wasn't working correctly and also support iterative cook.

	Includes first pass code review suggestions by Mark Sat and Dmitriy Dyomin.

	#jira UE-53815

Change 3839968 by Michael.Dupuis

	#jira UE-52289: When OnRegister is called on the component make sure our PerInstanceRenderData is up to date
	Prevent a possible crash if ClearInstanceSelection was called on a component with no PerInstanceRenderData existing

	##codereview jack.porter

Change 3839924 by Richard.Wallis

	Clone of CL 3838093

	Fix for rewind / seek bugs in AvfMediaPlayer.

	- Don't initialise and send audio buffers that have a duration of Zero from the audio tap.  This chokes the audio sink and adds overhead we don't need.
	- Don't faff around with current play rates during loop operation - normal seek doesn't do this so loop seek shouldn't either.
	- SetRate() should not required to be passed to media tracks - should be enough to do this on audio track select only.

	#jira UE-54019, UE-53027

Change 3839321 by andrew.porter

	QAGame: Adding missing bookmark to QA-Sequencer_Blending

	#jira UE-29618

Change 3839286 by Marcus.Wassmer

	Duplicate CL: 3823296
	#jira UE-52784

Change 3839229 by Brandon.Schaefer

	Fix audio clean up crash when exiting PIE

	#jira UE-54050

	#review-3839109 @Arciel.Rekman, @Aaron.McLeran

Change 3839223 by andrew.porter

	QAGame: Rebinding pointlight actor to sequences

	#jira UE-29618

Change 3839098 by andrew.porter

	QAGame: Fixing missing sequencer blending test content

	#jira UE-29618

Change 3838919 by Mike.Erwin

	glTF: binary format's BIN chunk is not necessarily right after the JSON chunk.

	Discussed this with glTF spec authors. See https://github.com/KhronosGroup/glTF/issues/1177

	Rearranged how we read "chunks" from the file since they are not fixed in number or order, besides JSON always being first.

	#jira UE-50695

Change 3838909 by Mike.Erwin

	glTF: base64 decoding of data buffers and images

	Data can be encoded inside the glTF JSON as a Base64 data URI. This CL addresses a known limitation of initial commit CL 3793018. I added this after because base64 is expected to be uncommon in the wild. Authoring software will typically use external BIN files (.gltf) or a BIN chunk (.glb) to store data.

	#jira UE-50695

Change 3838812 by Uriel.Doyon

	Integrated CL 3838576, 3838581 and 3831760 from DevRendering, fixing issues with texture streaming.

	#jira none

Change 3838773 by Lauren.Ridge

	Fixing material layer filters

	#jira UE-54064

Change 3838748 by Michael.Trepka

	Fixed EngineTest runtime warning caused by CL 3838626

	#jira UE-53893

Change 3838730 by Max.Chen

	Sequencer: Add notification when the blend type is changed.

	#jira UE-54046

Change 3838626 by Michael.Trepka

	Changed FMacMenu to store MultiBox and MenuEntryBox as weak pointers instead of shared pointers. This way we avoid a situation where FMacMenu would try to release them on the main Cocoa thread or where we'd try to execute a menu action for menu items that Slate considers released.

	#jira UE-53893

Change 3838392 by Arciel.Rekman

	Fix assert on a policy removal (UE-54042).

	- Applying Gil's safe fix which just sweeps the problem under the rug.

	#jira UE-54042

Change 3838162 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+).

	#jira UE-54040

	(Edigrating 3819174 to Release-4.19)

Change 3838156 by Rolando.Caloca

	UE4.19 - Support for Vulkan devices that have no cached memory type

	#jira UE-54039

Change 3838096 by Brandon.Schaefer

	Set sound to unfocused volume multiplier if not focused

	#jira UE-51327

	#review-3835736 arciel.rekman

Change 3838087 by Brandon.Schaefer

	Fix arm server building. A fix from CL 3617084 remove inheriting from IHeadMountedDisplayVulkanExtensions. Remove overrides

	#jira UE-53901

	#review-3838088 arciel.rekman

Change 3837072 by Phillip.Kavan

	Fix for a build failure that could occur with Blueprint nativization enabled and EDL disabled. This was a regression introduced in 4.18.

	- Mirrored from //UE4/Dev-Framework (3836768).

	#jira UE-53908

Change 3837071 by Phillip.Kavan

	Emit proper syntax for set/map fields containing converted assets to generated C++ Blueprint class headers when Blueprint nativization is enabled.

	- Mirrored from //UE4/Dev-Framework (3835944, 3835965).

	#jira UE-42614

Change 3837070 by Phillip.Kavan

	#4202 -  Blueprint nativization bug fixes (PR).

	- Mirrored from //UE4/Dev-Framework (3830562, 3832292).

	#jira UE-52188

Change 3836507 by Ryan.Vance

	#jira UE-53992

	Due to hijacking the depth target directly from the scene context, we can't support depth compositing if it's being scaled by screen percentage since it wont match our color render target dimensions.

Change 3836390 by Dan.Oconnor

	Fix failure to resolve archetype when using the compilation manager

	#jira UE-53840

Change 3836251 by Ryan.Vance

	#jira UE-53992

Change 3835852 by Mark.Satterthwaite

	Fix tessellation shaders in Metal with Manual Vertex Fetch enabled:
	- The control points idnex buffer shouldn't collide with anything else.
	- We can't use the optimisation of loading texture width & height from the buffer meta-table in tessellation shaders as the combined stages don't guarantee not to clobber unused buffer slots and screw it up when we use linear textures.

	#jira UE-53851

Change 3835802 by JeanMichel.Dignard

	UBT changes for Enterprise deployment
	- Allow building enterprise against an installed engine version
	- Added enterprise to the cleanup process if its not installed

	#jira UEENT-748

Change 3835625 by Bogdan.Vasilache

	UE-50257 --> (Skeletal meshes silently fail to render if they have more than 75 bones) --> changed logged error with a warning
	#jira UE-50257

Change 3833649 by Mike.Beach

	Enabling debug layer when multiview is enabled.

	#jira UE-49954

Change 3833525 by Ethan.Geller

	Fix copyright in ActiveSound.cpp #jira none #rb none

Change 3642649 by Stewart.Lynch

	Renamed loctext key to stop it clashing with an existing entry

	#jira UE-49432

Change 3644762 by Stewart.Lynch

	LLM update: Added Total, Untracked and FMalloc Unused to LLMFULL stat page. Fixed occasionally missing allocs/frees. Removed platform csv.

	* removed CheckSize arg from OnLowLevelFree
	* show a warning in LLM Map when replacing existing value. This means that there has been an alloc/free mismatch.
	* minor optimization in LLMMap::GetMaxIndex - cache Mask value
	* added Total and Untracked stats to LLMFULL. LLMFULL now tracks almost all of the memory that LLMPlatform does, so there is no real need to use LLMPlatform. Removed the LLMPlatform csv.
	* added FMalloc Unused stat to LLMFULL to account for memory Binned2 has allocated internally. This can be used to track Binned2 fragmentation over time.
	* renamed Binned stats to FMemory to make it more general
	* added Default tracking to CustomVirtualAlloc and disable it where necessary. This catches the few VirtualAlloc calls that were missed.
	* added AllocType arg to all allocation tracking. This was needed in order to track the FMalloc total, and also to fix the pausing
	* fixed a bug in pausing where alloc/frees were being missed. Now only pauses a specific allocation type.
	* Trackers now maintain totals for each enum tag
	* tracking of Texture and mesh allocation on Windows D3D11 & D3D12

Change 3651334 by Joe.Barnes

	Fix misspelled function name.

	#jira 39441
	#3016

Change 3653857 by Ben.Woodhouse

	Integrate from //UE4/Main/...@3653675 to //UE4/Dev-Console/...

Change 3656553 by Joe.Barnes

	Add path for SCS_DeviceDepth.

Change 3662703 by Ben.Woodhouse

	Merging CL 3659069 from //Fortnite/Main/... to to //ue4/dev-console/...:

	[FORTNITE] [CONSOLE] [+] Improved frame syncing mechanism
	 - Improves input latency by allowing the game thread to sync to the swap chain flip of the previous frame.
	 - Added "r.GTSyncType" CVar to control how the game thread syncs with the rest of the pipe.
	 - r.GTSyncType 2 will sync the game thread with the flip of the swap chain, preventing the pipe from getting too long and causing excess input latency.

	Platforms are required to implement RHIWaitForFlip and RHISignalFlipEvent, and call RHIInitializeFlipTracking on RHI startup.
	A separate thread monitors the progress of frame flips and signals task graph events as they pass their corresponding frame index.
	In r.GTSyncType 2 mode, the game thread is signaled by this flip tracking thread.

	[~] Unified platform specific sync interval CVars into one: rhi.SyncInterval
	 - 1 == 60Hz
	 - 2 == 30Hz
	 - 3 == 20Hz

Change 3675239 by Keith.Judge

	Fixed thread priorities for Windows so that BelowNormal and SlightlyBelowNormal are the same. Bumped Lowest down a notch so they all fit.

	#jira UE-50626

Change 3676709 by Ben.Woodhouse

	Integrate from //UE4/Main/...@3675008 to //UE4/Dev-Console/...

Change 3689712 by Ben.Woodhouse

	Integrate from //UE4/Main/...@3687781 to //UE4/Dev-Console/...

Change 3701778 by Ben.Woodhouse

	Integrate from //UE4/Main/...@3699491 to //UE4/Dev-Console/...

Change 3677043 by Ben.Woodhouse

	From StewartL:
	I also found that on Windows Fortnite is overflowing int32 values due to the number of allocations. I changed LLMArray and LLMMap to use uint32 and it seems to be Ok now. I didn't want to check this in at the last minute, so here's the shelf: 3645336

Change 3726532 by Luke.Thatcher

	[CONSOLE] [~] Enable XGE shader compilation by default.
	 - Also set XGE mode to "force interception". With XGE on by default, we don't want people with an old Incredibuild version using the old system inadvertently.

Change 3726554 by Luke.Thatcher

	[CONSOLE] [+] Improved Scoped Named Events
	 - Added SCOPED_NAMED_EVENT(_FSTRING/_TEXT/_F) macros to allow use of string literals, FString and printf in scoped named event strings.
	 - Replaced explicit use of FPlatformMisc::Begin/EndNamedEvent throughout the engine with macros, so the events can be compiled out.
	 - Fixed performance issues on various platforms with named events. SCOPED_NAMED_EVENT macros were not considering whether the platform uses wide or ansi char strings.

Change 3751378 by Ben.Woodhouse

	Integrate from //UE4/Main/...@3748735 to //UE4/Dev-Console/...

Change 3751812 by Ben.Woodhouse

	Integrate from //UE4/Main/...@3750870 to //UE4/Dev-Console/...

Change 3728571 by Luke.Thatcher

	[CONSOLE] [!] Drop another XGE controller warning to log.

Change 3747150 by Joe.Barnes

	Add AuthoringToolHelper.bat file to installed build copy list.

Change 3768585 by Ben.Woodhouse

	Integrate from //UE4/Main/...@3767531 to //UE4/Dev-Console/...

Change 3772333 by Ben.Woodhouse

	Integrate from //UE4/Main/...@3771573 to //UE4/Dev-Console/...

Change 3786872 by Ben.Woodhouse

	Integrate from //UE4/Main/...@3786785 to //UE4/Dev-Console/...

Change 3787279 by Luke.Thatcher

	[CONSOLE] [~] Unified present threshold CVars.
	 - CVars are now in RHIUtilities.cpp, and are renamed to rhi.PresentThreshold.Top and rhi.PresentThreshold.Bottom.
	 - Platform implementations will be checked in shortly.

Change 3787445 by Luke.Thatcher

	[CONSOLE] [^] Merging (as edit) improvements to low-latency frame syncing from //Fortnite/Main to //UE4/Dev-Console

	Original CLs
	 - 3708949 - Added rhi.SyncSlackMS cvar to allow an offset of the game thread sync time by a number of milliseconds.
	 - 3712693 - Fix for crash on startup in new frame syncing.
	 - 3735765 - Fix r.GTSyncType logic when vsync is disabled (falls back to old behaviour when vsync is off).

Change 3788417 by Ben.Woodhouse

	Duplicate from FN CL 3712515
	CSV profiler GPU and pre-declared stat support
	- refactor the GPU profiler so it's no longer dependent on the stats system and can work in Test builds
	- add support for pre-declared CSV stats, using FNames (these are required for GPU stats)
	- add DECLARE_GPU_STAT macro which handles STATS and CsvProfiler declarations
	Note: still a few issues to resolve with GPU stats: these randomly go to 0 at times during a replay on XB1, the GPU total is lower than the stat unit number, and the unaccounted stat is too large due to missing stats

Change 3807818 by Ben.Woodhouse

	Integrate from //UE4/Main/...@3803271 to //UE4/Dev-Console/...

Change 3818577 by Ben.Woodhouse

	Integrate from //UE4/Main/...@3812936 to //UE4/Dev-Console/...

Change 3821198 by Ben.Woodhouse

	Integrate from //UE4/Release-4.19/...@3820127 to //UE4/Dev-Console/...

Change 3821519 by Ben.Woodhouse

	Integrate from //UE4/Release-4.19/...@3820753 to //UE4/Dev-Console/...
	#robomerge none

Change 3813513 by Ben.Woodhouse

	CSV profiler refactor+ bug fix
	- Move the CSV profiler to core, so we can use it in modules other than engine
	- Profiler no longer enqueues RT commands - this is handled by a new core delegate type
	- Make begin/end requests more robust, enqueued via a command queue and processed in order
	- Defer end capture requests by a frame. This ensures stats on threads other than the gamethread (e.g. renderthread etc) are complete, so the last frame is not truncated
	- Fix long-standing bug with multiple captures where old/stale frames would appear in the first <128 frames of captures
	- Move unit stats and dynamic resolution out of the profiler itself and into the engine. Only frametime is recorded in the profiler now
	- Fix longstanding bug in first frame renderthread time in the engine

Change 3814039 by Ben.Woodhouse

	More Csvprofiler improvements
	- Event support (via CSV_EVENT macros). These appear in the "EVENTS" column of the CSV and can be used to add context to the stat data
	- Reduced memory overhead for timestamps through bit-packing (now 16 bytes per marker instead of 24), and splitting stats into different types

Change 3814041 by Ben.Woodhouse

	Integrate as edit CL 3796390 from Fortnite/Main:

	Fix CsvProfiler not compiling in shipping for now

Change 3814229 by Ben.Woodhouse

	Integrate + refactor of CL 3792591 to reduce complexity and fix bugs

	Original changelist description:
	CSV profiler improvements:
	- The CSV profiler is now always compiled in on the server
	- The CSV profiler can now handle both int32 and float stats
	- In BeginCapture, the function can take additional arguments for some customization of filenames

	Fixes to the above:
	 - Remove FCustomValue class
		- Fixes bug where all timestamp values from CSV_SCOPED_STATs were garbage (due to issues resulting from FCustomValue type ambiguity when adding values together)
		- FCsvCustomStat now just uses simple union + bitfield flag to reduce size and complexity (4 bytes instead of 8 per value)
		- FCsvColumn class modified to use doubles, which can represent both ints and floats without loss of precision - this class is not memory or time critical
	 - Replace multiple overrides used by the server for filenameprefix/folder/postfix etc with a single FilenameOverride

Change 3814242 by Ben.Woodhouse

	Disable CSV unit stats on the dedicated server

Change 3817339 by Ben.Woodhouse

	Duplicate from 3816641: CSV profiler improvements
	- Added a low-pri processing thread to compress raw timing data into a much more efficient format
	   - Reduces memory usage for 15 minute 30k frame capture with GPU stats enabled from 110MB to 3.4MB
	   - Processing time : 0.1ms per frame
	- Improved name handling for char literal stats. We now use the string as the ID rather than the pointer so multiple stat uses of the same name string apply only to  a single stat
	- Reworked thread data access to eliminate locking for anything time-critical. Frame boundaries now handled via a lock-free helper class
	-  Fixed bug with queue implementation where 1 in 128 reads would duplicate the last block of stat data
	-  Reduced #include dependencies for CSVProfiler.h
	-  Removed AccumulateMax because it doesn't work, and implementing properly would add a lot of complexity
	-  Added a simple test harness

Change 3817582 by Ben.Woodhouse

	Fix android compile warning

Change 3823242 by Ben.Woodhouse

	Integrate as edit from Fortnite/Main 3820067:

	Fix threading issue with D3D12 pipeline state caches for windows. This was caused by the usage of FRwScopeLock::RaiseLockToWrite. A pointer read before RaiseLockToWrite was called was invalidated because RaiseLockToWrite has to release the read lock before acquiring the write lock.

	Rename FRwScopeLock::RaiseLockToWrite to ReleaseReadOnlyLockAndAcquireWriteLock_USE_WITH_CAUTION to make it more explicit what's happening. As the comment says:

		// This function should be used with caution.
		// It releases the read lock _before_ acquiring a new write lock. This is not an atomic operation and the caller should
		// not treat it as such.
		// E.g. Pointers read from protected data structures prior to this call may be invalid after the function is called.

Change 3823840 by Ben.Woodhouse

	Edigrate from 3823816
	Fix an issue where the csvprofile console commands would sometimes result in an empty CSV. The root cause was GFrameNumber incrementing between the console command being read and FCSVProfiler::EndFrame(). We now use our own frame counter which is updated in EndFrame, so this can't happen

	Also fix an issue where calling csvprofile stop twice would cause all further commands to be ignored.

Change 3827787 by Ben.Woodhouse

	Integrate-as-edit CL 3820678 from Fortnite/Main
	Allow the CSV Profiler to be compiled in to shipping dedicated server builds

Change 3827842 by Ben.Woodhouse

	Integrate-as-edit CL 3827079 from Fortnite/Main
	CSV profiler category support

Change 3827918 by Luke.Thatcher

	[CONSOLE] [!] Fix compile error in CSV custom stats.

Change 3827964 by Luke.Thatcher

	[CONSOLE] [!] Fix inverted logic and spelling of boolean.
	 - Functionally, the boolean did the correct thing, but the logic was backwards inside the build tool.

Change 3831661 by Ben.Woodhouse

	Integrate-as-edit CL 3830630 from Fortnite/Main
	Fix CSVProfiler assert in dev builds on XB1

Change 3860300 by Joe.Barnes

	Use same method for src and dest rect calculation as other post processing passes so rects match between passes. Prevents read of unprocessed pixels.

Change 3860347 by Joe.Barnes

	Delete existing SourceConfigFile before allocating a new one to prevent them leaking.

Change 3860348 by Joe.Barnes

	Completely encapsulate GetLLMAlloc() in #ifdef.

Change 3861772 by Ben.Woodhouse

	Integrate-as-edit CL 3861688 from Fortnite/Main: Forward lighting GPU crash fixes

Change 3861774 by Ben.Woodhouse

	Integrate as edit CL 3833918 from dev-rendering (courtesy of DanielW):
	D3D12 RHI: only refcount uniform buffers if GRHINeedsExtraDeletionLatency is false, which is no longer the case for PC. The refcounting was heavy on performance as reported by a licensee because FRHIResource uses atomics for refcounting, which is only necessary when GRHINeedsExtraDeletionLatency is disabled.

Change 3862214 by Ben.Woodhouse

	Integrate-as-edit CL 3859637 from Fortnite/Main
			Dynamic resolution console tweaks
			- Dynamic resolution high level switch driven by a cvar instead of code
			- Disable user settings dynamic resolution handling on non-desktop platforms. DynamicRes as a user setting does not make sense on consoles/mobile - we'll drive it from device profiles/scalability
			- Modify naming of GPUHeadRoom to make it clear that it's a percentage, not millseconds

Change 3863919 by Ben.Woodhouse

	[Copy] Integrate console dynamic resolution interface changes from CL 3863354, 3862754, 3862639

Change 3864347 by Ben.Woodhouse

	Fix the editor build. This will need a proper fix before 4.19 ships.

#lockdown Nick.Penwarden
#rb none

[CL 3913399 by Ben Marsh in Main branch]
2018-02-27 17:30:35 -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
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
Ben Marsh
f461ea68e9 Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3548365)
#lockdown Nick.Penwarden

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

Change 3494741 by Steve.Robb

	Generated code size savings.

	#jira UE-43048

Change 3495484 by Steve.Robb

	Fix for generated indices of static arrays when saving configs.

Change 3497926 by Robert.Manuszewski

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

Change 3498077 by Robert.Manuszewski

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

Change 3498112 by Ben.Marsh

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

Change 3500239 by Robert.Manuszewski

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

Change 3500395 by Steve.Robb

	Extra codegen savings when not in hot reload.

Change 3501004 by Steve.Robb

	EObjectFlags now have constexpr operators.

Change 3502079 by Ben.Marsh

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

Change 3502527 by Steve.Robb

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

Change 3502542 by Ben.Marsh

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

Change 3502868 by Steve.Robb

	Workaround for inefficient generated code with stateless lambdas on Clang.

Change 3503550 by Steve.Robb

	Another generated code lambda optimization.

Change 3503582 by Ben.Marsh

	BuildGraph: Add support for nullable parameter types.

Change 3504424 by Steve.Robb

	New AllOf, AnyOf and NoneOf algorithms.

Change 3504712 by Ben.Marsh

	UAT: Less spammy log and error output from UAT.

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

Change 3504808 by Ben.Marsh

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

Change 3505044 by Steve.Robb

	Code generation improved for TCppClassType code.

Change 3505485 by Ben.Marsh

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

Change 3505699 by Ben.Marsh

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

Change 3506055 by Ben.Marsh

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

Change 3507745 by Robert.Manuszewski

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

Change 3507911 by Ben.Marsh

	Plugins: Minor changes to plugin descriptors.

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

Change 3508669 by Ben.Marsh

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

Change 3508691 by Ben.Marsh

	Fix double-spacing of cook stats.

Change 3509245 by Steve.Robb

	UHT makefiles removed.
	Flag audit removed.

Change 3509275 by Steve.Robb

	Fix for mismatched stat categories in AudioMixer.

	#jira UE-46129

Change 3509289 by Robert.Manuszewski

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

Change 3509294 by Robert.Manuszewski

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

Change 3509312 by Steve.Robb

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

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

	#jira UE-46136

Change 3509396 by Steve.Robb

	GitHub# 3676: Fix TUnion operator<< compile error

	#jira UE-46099

Change 3509633 by Steve.Robb

	Fix for line numbers on multiline macros.

Change 3509938 by Gil.Gribb

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

Change 3510593 by Daniel.Lamb

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

	#test None

Change 3510594 by Daniel.Lamb

	Fixed up temp files directory for patching.

	Thanks David Yerkess @ Milestone
	#review@Ben.Marsh

Change 3511628 by Ben.Marsh

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


Change 3511808 by Ben.Marsh

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

	#jira UE-46540

Change 3512017 by Ben.Marsh

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

Change 3513935 by Steve.Robb

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

Change 3514142 by Steve.Robb

	MemoryProfiler2 added to generated solution.

Change 3516463 by Ben.Marsh

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

Change 3517860 by Ben.Marsh

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


Change 3517967 by Ben.Marsh

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

Change 3518070 by Steve.Robb

	Disable Binned2 stats in shipping non-editor builds.

Change 3520079 by Steve.Robb

	Fixed bad codegen TAssetPtrs being passed into BlueprintImplementableEvent functions.

	#jira UE-24034

Change 3520080 by Robert.Manuszewski

	Made max package summary size to be configurable with ini setting

Change 3520083 by Steve.Robb

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

	#jira UE-40421

Change 3520480 by Robert.Manuszewski

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

Change 3520590 by Graeme.Thornton

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

Change 3521023 by Graeme.Thornton

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

Change 3521787 by Ben.Marsh

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


Change 3521789 by Ben.Marsh

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


Change 3524721 by Ben.Marsh

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

Change 3524741 by Ben.Marsh

	Move PumpMessages() into FPlatformApplicationMisc.

Change 3525399 by Ben.Marsh

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

Change 3525743 by Ben.Marsh

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

Change 3525746 by Ben.Marsh

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

Change 3526453 by Ben.Marsh

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

Change 3527045 by Ben.Marsh

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

Change 3527420 by Ben.Marsh

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

	Config files are now read from:

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

	If a project is selected:

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

	If the .uprojectdirs file is selected:

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

Change 3528063 by Ben.Marsh

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

Change 3528415 by Ben.Marsh

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

Change 3528427 by Ben.Marsh

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

Change 3528485 by Ben.Marsh

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

Change 3528505 by Steve.Robb

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


	#jira UE-46819

Change 3528772 by Robert.Manuszewski

	Enabling actor and blueprint clustering in ShooterGame

Change 3528786 by Robert.Manuszewski

	PR #3760: Fix typo (Contributed by jesseyeh)


Change 3528792 by Steve.Robb

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


	#jira UE-46962

Change 3528941 by Robert.Manuszewski

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

	#jira UE-44996

Change 3530241 by Ben.Marsh

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

Change 3531377 by Ben.Marsh

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

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

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

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

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

Change 3531502 by Jin.Zhang

	Add support for GPUCrash #rb

Change 3531664 by Ben.Marsh

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

Change 3531848 by Ben.Marsh

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

Change 3531869 by Ben.Marsh

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

Change 3532474 by Ben.Marsh

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

Change 3532734 by Graeme.Thornton

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

Change 3532789 by Steve.Robb

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

Change 3532845 by Steve.Robb

	Obsolete UHT settings deleted.

Change 3532875 by Graeme.Thornton

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

Change 3532906 by Graeme.Thornton

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

Change 3532924 by Ben.Marsh

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

Change 3535234 by Graeme.Thornton

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

Change 3535247 by Graeme.Thornton

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

Change 3535376 by Graeme.Thornton

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

Change 3537083 by Ben.Marsh

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

Change 3537368 by Graeme.Thornton

	Fix for crash in FSignedArchiveReader when multithreading is disabled

Change 3537550 by Graeme.Thornton

	Fixed a crash in the taskgraph when running single threaded

Change 3537922 by Steve.Robb

	Missing PF_ATC_RGBA_I added to FOREACH_ENUM_EPIXELFORMAT.

Change 3539691 by Graeme.Thornton

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

Change 3539775 by Ben.Marsh

	Plugins: Various fixes to settings for enabling plugins.

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

Change 3540788 by Ben.Marsh

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

	Example usage:

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

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

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

Change 3541664 by Graeme.Thornton

	VSCode - Add problemMatcher tag to cpp build targets

Change 3541732 by Graeme.Thornton

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

Change 3541967 by Graeme.Thornton

	VSCode - Fixes for Mac/Linux build steps

Change 3541968 by Ben.Marsh

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

	#jira UE-46912

Change 3542519 by Ben.Marsh

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

Change 3542523 by Ben.Marsh

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

Change 3542658 by Ben.Marsh

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

Change 3543432 by Ben.Marsh

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

Change 3543436 by Ben.Marsh

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

Change 3543536 by Ben.Marsh

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

Change 3543871 by Gil.Gribb

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

Change 3543924 by Robert.Manuszewski

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

Change 3544469 by Jin.Zhang

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

Change 3544608 by Steve.Robb

	Fix for nativized generated code.

	#jira UE-47452

Change 3544612 by Ben.Marsh

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

	#jira UE-47449

Change 3545954 by Gil.Gribb

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

Change 3545968 by Ben.Marsh

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

	#jira UE-47419

Change 3545976 by Ben.Marsh

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

Change 3546185 by Ben.Marsh

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

Change 3547084 by Gil.Gribb

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

Change 3547968 by Gil.Gribb

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

Change 3504722 by Ben.Marsh

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

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

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

Change 3512255 by Ben.Marsh

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

Change 3512332 by Ben.Marsh

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

Change 3512393 by Ben.Marsh

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

Change 3513452 by Ben.Marsh

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

Change 3516262 by Ben.Marsh

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

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

Change 3517565 by Ben.Marsh

	Remove fixed engine version numbers from OSS plugins.

Change 3518005 by Ben.Marsh

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

Change 3518054 by Ben.Marsh

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

Change 3524496 by Ben.Marsh

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

Change 3524641 by Ben.Marsh

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

Change 3528723 by Steve.Robb

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

Change 3528876 by Ben.Marsh

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

Change 3529073 by Ben.Marsh

	Add script to package ShooterGame for any platforms.

Change 3531493 by Ben.Marsh

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

Change 3531611 by Ben.Marsh

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

Change 3531868 by Ben.Marsh

	Resaving project descriptors to remove invalid fields.

Change 3531983 by Ben.Marsh

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

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

Change 3540315 by Ben.Marsh

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

Change 3542410 by Ben.Marsh

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

Change 3543018 by Ben.Marsh

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

Change 3544371 by Steve.Robb

	Fixes to TSet_Add and TMap_Add BPs.

	#jira UE-47441

[CL 3548391 by Ben Marsh in Main branch]
2017-07-21 12:42:36 -04:00
Ben Marsh
398d16ab8a Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3491552)
#lockdown Nick.Penwarden
#rb none

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

Change 3421703 on 2017/05/03 by Ben.Marsh

	Surround invalid character message in quotes, so it's clear when a space is listed.

	#jira UE-44606

Change 3422644 on 2017/05/04 by Steve.Robb

	Ranged-for support for TChunkedArray.

Change 3422754 on 2017/05/04 by Steve.Robb

	IAsyncReadFileHandle made non-copyable to prevent accidental wrong stat calculation.

Change 3422758 on 2017/05/04 by Steve.Robb

	Misc readability/standards improvements in stats code.

Change 3427955 on 2017/05/08 by Steve.Robb

	Version fix for IOS optimization pragmas, copied from equivalent Mac code.

Change 3428017 on 2017/05/08 by Steve.Robb

	Unused property types removed.

Change 3428641 on 2017/05/08 by Ben.Marsh

	UAT: Remove failed attempt to separate out BuildCookRun into separate commands, which have since rotted.

Change 3430407 on 2017/05/09 by Ben.Marsh

	UBT: Define UE_4_X_OR_LATER macros for every UE4 version greater than 4.17 (eg. UE_4_17_OR_LATER, etc...).

Change 3430682 on 2017/05/09 by Gil.Gribb

	UE4 - Added a fatal error for asking for very large alignments from MallocBinned2 and also return the true size of the memory block in GetAllocationSize().

Change 3430685 on 2017/05/09 by Gil.Gribb

	UE4 - Fixed a bug with the windows async IO stuff related to an unsafe pointer cast to LPDWORD from int64*.

Change 3430756 on 2017/05/09 by Ben.Marsh

	UBT: Switch some receipt stuff to use FileReference/DirectoryReference objects rather than raw paths.

Change 3431157 on 2017/05/09 by Ben.Marsh

	UBT: Store absolute paths when receipts are in memory; only insert pseudo-variables for $(EngineDir) and $(ProjectDir) when saved to disk.

Change 3432334 on 2017/05/10 by Graeme.Thornton

	Include project name in the UBT error message which appears when a plugin is missing

Change 3432481 on 2017/05/10 by Gil.Gribb

	UE4 - Fixed code to detect cycles in parallel tick sorting.

Change 3432485 on 2017/05/10 by Steve.Robb

	Simplified templating around bitfield offset calculation.

Change 3432608 on 2017/05/10 by Steve.Robb

	'bool == byte' static_assert restored after being removed in CL# 3432485.

Change 3432767 on 2017/05/10 by Ben.Marsh

	UBT: Fix exception when a missing plugin is encountered if the target does not have a project.

Change 3433031 on 2017/05/10 by Ben.Marsh

	UAT: Add classes to allow safer manipulation of paths within the staging directory (StagedFileReference, StagedDirectoryReference), and convert staging code over to using those and their regular filesystem counterparts (FileReference/DirectoryReference). Lots of cleanup and refactoring of staging code.

Change 3433049 on 2017/05/10 by Ben.Marsh

	Add more diagnostic information to asserts in TStaticIndirectArrayThreadSafeRead, to try and shed light on what sort of corrupted data is being passed in from the cooker.

	#jira UE-44336

Change 3433097 on 2017/05/10 by Steve.Robb

	Value initialization fix for MakeUnique<T[]>().

Change 3433972 on 2017/05/10 by Daniel.Lamb

	Stop unrealpak from crashing if generating a patch with more pak files then the original game.

Change 3434124 on 2017/05/10 by Ben.Marsh

	UAT: Remove hacky bUseWebSocketNetDriver option.

Change 3434824 on 2017/05/11 by Gil.Gribb

	UE4 - Printed an error instead of asserting when there are missing native classes.

Change 3434916 on 2017/05/11 by Ben.Marsh

	UAT: Separate the list of files to be staged into a separate class.

Change 3435427 on 2017/05/11 by Gil.Gribb

	UE4 - Fixed attempts to load compiled in packages, which produces warnings and is slow.

Change 3436240 on 2017/05/11 by Ben.Marsh

	UAT: Add a command to search for restricted folders under a given base directory.

Change 3438068 on 2017/05/12 by James.Fox

	Checking in Phase 1 of the Dev-Core test map for repro purposes. UE-44996 #rb none

Change 3438855 on 2017/05/15 by Robert.Manuszewski

	When verbose cluster logging is enabled and new object is added to an already existing cluster, the cluster will be dumped to log.

Change 3438929 on 2017/05/15 by Robert.Manuszewski

	Merging CL # 3436939 using Dev-Core_To_Dev-LoadTimes:

	Fix for potential crashes caused by levels staying in memory through material references.

Change 3439021 on 2017/05/15 by Ben.Marsh

	PR #3566: fix non-ascii characters in help command HTML converted to "?" (Contributed by kayama-shift)


Change 3439079 on 2017/05/15 by Ben.Marsh

	PR #2832: Implement missing MessageBox (Contributed by projectgheist)


Change 3439258 on 2017/05/15 by Ben.Marsh

	Highlight lines containing the strings "Error:" or "Warning:" in the output log, so that diagnostics from child processes are highlighted appropriately. The build system already relies similar logic for scraping diagnostics from logs, so it should be safe and predictable to check for messages in this way.

	#jira UE-43673

Change 3439358 on 2017/05/15 by Ben.Marsh

	UBT: Fix Visual Studio solution referencing the incorrect platform for existing C# project ("Any CPU" instead of "AnyCPU"). Was causing prompt to save the solution the first time it is opened.

Change 3439665 on 2017/05/15 by Ben.Marsh

	UAT: Remove DeployPakInternalLowerCaseFilenames(). No platforms require this to be true.

Change 3440735 on 2017/05/16 by Robert.Manuszewski

	UBT compile fix after the last merge

Change 3440889 on 2017/05/16 by Ben.Marsh

	EC: Fix regex for matching path to source files included in error messages from the Linux toolchain.

Change 3442776 on 2017/05/17 by Steve.Robb

	Platform fix for FPaths::IsSamePath.

Change 3445411 on 2017/05/17 by Ben.Marsh

	UBT: Fix typo in makefile diagnostic string.

Change 3446070 on 2017/05/18 by Steve.Robb

	Fix to array sizes in generated UFunction code, which should now handle editor-only functions.

Change 3446091 on 2017/05/18 by Steve.Robb

	Another array size fix for generated code.

Change 3446605 on 2017/05/18 by Steve.Robb

	BuildConfiguration option for static analysis.

Change 3448601 on 2017/05/19 by Richard.Fawcett

	Change FWindowsPlatformProcess::ApplicationSettingsDir() so that it no longer returns a path with a mixture of "\" and "/" characters, and only contains "/" characters.

	This makes it consistent with other related functions like FWindowsPlatformProcess::UserSettingsDir().

Change 3449026 on 2017/05/19 by Ben.Marsh

	Fix whitespace in template file.

Change 3449697 on 2017/05/19 by James.Fox

	Checking in Phase 2 of Dev-Core test map for QAGame
	Also enabled Blueprint and Actor clustering by default in QAGame for more thorough GC testing.

Change 3451352 on 2017/05/22 by Steve.Robb

	UFunction flags are now viewable in the debugger.

Change 3451355 on 2017/05/22 by Steve.Robb

	ARRAY_COUNT fix for zero-sized arrays in Clang.

Change 3451379 on 2017/05/22 by Steve.Robb

	C++14 operator delete overloads with size, for consistency.

Change 3451398 on 2017/05/22 by Graeme.Thornton

	Add AES and RSA encryption keys to the list of config fields that get stripped from ini files when staging
	When creating a pak file, do a filtered copy of all ini files to a temp directory so that all confidential fields can be stripped. Equivalent behaviour to staging a loose file distribution

Change 3451476 on 2017/05/22 by Ben.Marsh

	Compile shipping builds for WEX and Ocean, and post telemetry for the resulting executable size.

Change 3451478 on 2017/05/22 by Graeme.Thornton

	PR #3197: Improved log message formatting (Contributed by projectgheist)


Change 3451868 on 2017/05/22 by Steve.Robb

	Static log category moved out of header.
	ENUM_CLASS_FLAGS macro used instead of explicit operators.

Change 3452319 on 2017/05/22 by Ben.Marsh

	UBT: Add a new "package" build product type, which can be used for APK files on Android and Stub files on iOS. Treating these files as executables is causing the measured executable size to be incorrect.

Change 3452607 on 2017/05/22 by Ben.Marsh

	UBT: Filter out folders for other platforms when searching for headers to pass to UHT.

Change 3453600 on 2017/05/23 by Graeme.Thornton

	PR #3226 - Updated some code comments to better describe the usage of the log category definition macros

Change 3453616 on 2017/05/23 by Steve.Robb

	Error reported instead of a crash when there's a space between UCLASS or UINTERFACE and the open parenthesis.

Change 3453714 on 2017/05/23 by Ben.Marsh

	Build: Add some Visual Studio 2017 test compiles to the build system.

Change 3453795 on 2017/05/23 by Ben.Marsh

	UBT: Fix parsing of command line attributes that have a specific value assigned. We should never have an '=' suffix for such arguments.

Change 3454606 on 2017/05/23 by Ben.Marsh

	UAT: Make sure log filenames are unique by creating a 0-byte file in its place.

Change 3454709 on 2017/05/23 by Ben.Marsh

	UBT: Enable the /permissive- option for stricter standards compliance on Visual Studio 2017. Currently have /Zc:strictStrings disabled due to violations in Windows headers; all UE4 instances have been fixed up.

Change 3456445 on 2017/05/24 by Graeme.Thornton

	MemoryProfiler2 - Add mprof filename into title bar after opening

Change 3457129 on 2017/05/24 by Ben.Marsh

	Fix comment for FVector::Normalize().

	#jira UE-45369

	#rnx

Change 3457228 on 2017/05/24 by Ben.Marsh

	Do not allow forward-declaring Rect structs. They are not public, and it conflicts with third party libraries.

	#rnx

Change 3458357 on 2017/05/24 by Ben.Marsh

	Fix name resolution issue with /permissive- in VS2017.

Change 3458812 on 2017/05/25 by Robert.Manuszewski

	PR #2407: Fix LoadLibrary error with Microsoft Group Policy CWDIllegalinDllSearch mode 1 or 2 (Contributed by bozaro)


Change 3458894 on 2017/05/25 by Robert.Manuszewski

	PR #2096: Fix argument parsing in DiffAssets Comandlet (Contributed by cgrebeld)


Change 3461205 on 2017/05/26 by Robert.Manuszewski

	Fixed parameter parsing so that arguments are not parsed if not preceeded by a whitespace (for example "-Log" was parsed in "TM-Log")
	#jira UE-33790

Change 3464714 on 2017/05/30 by Robert.Manuszewski

	Fixing potential deadlock caused by a race condition when using FMallocVerifyProxy with FMallocBinned

Change 3465310 on 2017/05/30 by Ben.Marsh

	UBT: Enable bAdaptiveUnityDisablesOptimizations by default.

Change 3465346 on 2017/05/30 by Ben.Marsh

	UBT: Require Update 3 to be installed when compiling using VS2015.

Change 3465389 on 2017/05/30 by Ben.Marsh

	UBT: Fix support for RTTI when creating PCHs and shared PCHs.

Change 3466084 on 2017/05/30 by Ben.Marsh

	Fix compiling plain C files, where it would incorrectly use a C++ PCH.

Change 3467018 on 2017/05/31 by Robert.Manuszewski

	Async loading code will now properly handle cases when the requested package could not be created.

Change 3467113 on 2017/05/31 by Ben.Marsh

	UGS: When opening a solution in Visual Studio, always start the process in the solution's directory.

Change 3467508 on 2017/05/31 by Ben.Marsh

	Add a function to fix a long package name so it matches the case of a file on disk. Fixes deterministic cooking issues when on-disk case changes.

Change 3467510 on 2017/05/31 by Ben.Marsh

	Fix deterministic cooking issue caused by LODGroup only being initialized in the CDO if it's serialized, causing inconsistent delta serialization for instances.

Change 3467967 on 2017/05/31 by Ben.Marsh

	Always allow UAT to compile on non-Windows platforms, even if a debugger is present, since MSVC is the only one that will load C# PDBs.

Change 3468544 on 2017/05/31 by Ben.Marsh

	UBT: Add a more helpful message when a module is being compiled with implicit PCHs, but a source file is not configured correctly.

Change 3469241 on 2017/06/01 by Ben.Marsh

	UBT: Fix single-file compile causing a different UHT manifest to be generated, potentially excluding hidden dependencies.

Change 3471709 on 2017/06/02 by Daniel.Lamb

	Rebuild lighting commandlet now rebuilds reflections also instead of trashing them.

	#test None

Change 3471719 on 2017/06/02 by Daniel.Lamb

	Fixed crash in cooker while trying to cook for multiple platforms

	#test Launch on shootergame windows + ps4
	#jira UE-45356

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

	CRP: Clear out MDD logs whenever we clear out CRP logs.

Change 3473169 on 2017/06/05 by Graeme.Thornton

	PR #3622: Log category code cleanup (Contributed by projectgheist)


Change 3473176 on 2017/06/05 by Graeme.Thornton

	PR #3622: Log category code cleanup (Contributed by projectgheist) (Part II)

	 - Missed some files from my previous checkin


Change 3473597 on 2017/06/05 by Ben.Marsh

	UnrealVS: Fix massive slowdown on startup caused by searching the directory tree under the solution for *.uproject files (including intermediate folders, etc...). Now reads *.uprojectdirs files and only checks the listed directories within. Measured it taking > 30s to run before, now takes < 0.1s.

Change 3473722 on 2017/06/05 by Steve.Robb

	GitHub #3444: UE-42521: Added missing macro's for TMap and TSet

	PREPROCESSOR_COMMA_SEPARATED added as a better solution for the hacky comma separator solution in the PR.

Change 3475073 on 2017/06/06 by Steve.Robb

	Fix for TPromise's move assignment operator return value.

Change 3475331 on 2017/06/06 by Ben.Marsh

	UAT: Fix invalid paths being generated when stripping encryption settings from config files.

	* In cases where INI files were in a subfolder of the Config folder (eg. Config\Localization), it was not stripping the separating slash, resulting in files being written to the root directory of the current drive.
	* Paths under the config folder are not guaranteed to be unique.

Change 3475453 on 2017/06/06 by Ben.Marsh

	UBT: Add an error if a plugin lists a non-plugin module as belonging to it.

	#jira UE-45178

Change 3475668 on 2017/06/06 by Ben.Marsh

	Add a message showing when we begin creating the asset registry, since it can take a long time.

	#jira UE-41675

Change 3475747 on 2017/06/06 by Steve.Robb

	Replicated from CL# 3332960:

	Force a gather on hot reload, so we don't use stale state from the makefile.

	#jira UE-42205

Change 3475897 on 2017/06/06 by Ben.Marsh

	PR #3655: Improved behavior for Automation.IsBuildMachine (Contributed by projectgheist)


Change 3477432 on 2017/06/07 by Robert.Manuszewski

	Removed AsyncIOBandwidthLimit as it was no longer being used by anything.

Change 3478582 on 2017/06/07 by Ben.Marsh

	UBT: Allow setting the UE_ENGINE_DIRECTORY macro for any monolithic builds, to fix being able to debug cooked foreign projects in the binary release.

Change 3480035 on 2017/06/08 by Gil.Gribb

	UE4 - Fixed async loading from pak files < 64k.

Change 3484348 on 2017/06/12 by Robert.Manuszewski

	Removed private_subobject macro which was a temporary measure to make all subobjects private without breaking game code.

Change 3484863 on 2017/06/12 by Steve.Robb

	Fix for TSparseArray::operator= corrupting non-POD objects.
	InCopy.ArrayMax cached in a local instead of being read each time.
	Const-correctness fix for element copy construction.
	SrcData and DestData names flipped as they were the wrong way around.

	Source: https://udn.unrealengine.com/questions/374840/possible-bug-in-tsparsearray-assignment-operator.html

Change 3485003 on 2017/06/12 by Ben.Marsh

	UGS: Add support for multiple tabs. Each tab can monitor changes in a separate workspace, and scheduled syncs will run for all open tabs.

Change 3485063 on 2017/06/12 by Ben.Marsh

	UGS: Fix a null reference exception when right clicking on the notification icon during startup.

Change 3485104 on 2017/06/12 by Ben.Marsh

	PR #2084: [UAT] Command-line parameter to override branch name (Contributed by nbjk667)


Change 3485112 on 2017/06/12 by Steve.Robb

	TSetElement generic constructor protected from becoming a copy constructor.
	Redundant #include removed from AreTypesEqual.h.

	Source: https://udn.unrealengine.com/questions/374840/possible-bug-in-tsparsearray-assignment-operator.html

Change 3485452 on 2017/06/12 by Ben.Marsh

	UnrealVS: Fix command line not being updated for C# projects. IVsBuildPropertyStorage.SetPropertyValue does not seem to update properties that are cached in memory.

	#jira UE-45716

Change 3486182 on 2017/06/12 by Ben.Marsh

	UGS: Include option to selet tab names in the options menu.

Change 3486189 on 2017/06/12 by Ben.Marsh

	UGS: Fix browse button from context menu always opening a new tab.

Change 3486636 on 2017/06/13 by Steve.Robb

	FStatMessagesArray iteration changed to use ranged-for instead of indexing.

Change 3486688 on 2017/06/13 by Steve.Robb

	Fix for CDO pointer replacement in non-UObject properties during hot reload.

	#jira UE-38146

Change 3486704 on 2017/06/13 by Ben.Marsh

	UGS: Fix exception when closing the last open tab.

Change 3486707 on 2017/06/13 by Ben.Marsh

	UGS: Fix exception on load if UGS was closed with no projects open.

Change 3486715 on 2017/06/13 by Ben.Marsh

	UGS: Change tabs to show the project file by default.

Change 3486718 on 2017/06/13 by Ben.Marsh

	UGS: Only allow one workspace to sync at a time.

Change 3486880 on 2017/06/13 by Ben.Marsh

	UGS: Show the sync progress of each tab via the underline on the tab button.

Change 3486912 on 2017/06/13 by Ben.Marsh

	UGS: Include the open project and recent project list as separate top-level menu items.

Change 3486914 on 2017/06/13 by Ben.Marsh

	UGS: Update version to 1.101.

Change 3487092 on 2017/06/13 by Ben.Marsh

	UGS: Fix crash on startup if log window is minimized.

Change 3487099 on 2017/06/13 by Ben.Marsh

	UGS: Update version to 1.102

Change 3487198 on 2017/06/13 by Ben.Marsh

	Remove debug code.

Change 3487285 on 2017/06/13 by Ben.Marsh

	Restore Remap() function that was accidentally removed in merge.

Change 3487769 on 2017/06/13 by Ben.Marsh

	Disable the promoted flag when using the SyncProject command on Mac; doing so prevents UE4Game being compiled when packaging blueprint projects.

	#jira UE-45995

Change 3487915 on 2017/06/13 by Ben.Marsh

	UAT: Fix exception due to collection being modified while packaging for Linux.

	#jira UE-46013

Change 3487972 on 2017/06/13 by Ben.Marsh

	UAT: Always allow staged files to overwrite previously staged files. New iOS code relies on old behavior to overwrite engine icons and metadata with game copies.

	#jira UE-46014

Change 3487991 on 2017/06/13 by Ben.Marsh

	UAT: Ensure that the directory exists before trying to create a placeholder log filename.

	#jira UE-46015

Change 3489062 on 2017/06/14 by Robert.Manuszewski

	Removed FPackageFileSummary's AdditionalPackagesToCook as it was not used by anything. This should reduce the package header size considerably for levels with many streaming sublevels.

	#jira UE-45563

Change 3489063 on 2017/06/14 by Robert.Manuszewski

	Increasing the maximum package summary size to handle levels with multiple streaming sublevels.

	#jira UE-45563

Change 3491552 on 2017/06/15 by Ben.Marsh

	Handle failures to load *MeshReduction modules.

[CL 3492074 by Ben Marsh in Main branch]
2017-06-15 12:43:54 -04:00
Ben Marsh
75fa4e9e6d Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3386108)
#rb none
#lockdown Nick.Penwarden

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

Change 3345860 on 2017/03/14 by Daniel.Lamb

	Fixed crash when building DLC

	#test Cook paragon.

Change 3347324 on 2017/03/15 by Gil.Gribb

	UE4 - Removed old code relating to FAsyncArchive, FAsyncIOSubsystemBase and package level compression. The editor now uses the lowest levels on the new async IO scheme.

Change 3347331 on 2017/03/15 by Robert.Manuszewski

	Fix for a crash caused by GC killing BP class (due to no strong references) but its CDO is being kept alive because it was in the same cluster as the class and was not marked as pending kill.

	#jira UE-42732

Change 3347371 on 2017/03/15 by Graeme.Thornton

	Fix for runtime asset cache not invalidating files with an outdated version number

Change 3349161 on 2017/03/16 by Steve.Robb

	Generated UFUNCTION FNames no longer exported.
	Misc refactors of code generation.

Change 3349167 on 2017/03/16 by Steve.Robb

	Unused TBoolConstant removed (the more general TIntegralConstant should be used instead).

Change 3349274 on 2017/03/16 by Gil.Gribb

	UE4 - Fix loading a package that is already loaded.

Change 3349534 on 2017/03/16 by Ben.Marsh

	UBT: Check that the SN-DBS service is running before attempting to use it.

Change 3349612 on 2017/03/16 by Gil.Gribb

	UE4 - Increased estimate of summary size.

Change 3350021 on 2017/03/16 by Gil.Gribb

	UE4 - Fixed crash in signature checks when mounting pak files.

Change 3350052 on 2017/03/16 by Ben.Marsh

	Remove invalid characters from macro names before passing as macro values. Prevents compile errors for projects which have apostrophes in the name.

Change 3350360 on 2017/03/16 by Ben.Marsh

	UAT: Fix non-threadsafe access of ExeToTimeInMs when spawning external processes.

Change 3351670 on 2017/03/17 by Ben.Marsh

	UBT: Ignore all default libraries when creating import libs. Sometimes #pragma comment(lib, ...) directives can add force additional libraries onto the linker/librarian command line. We don't want or need these included when generating import libraries, but they can cause errors due to search paths not being able to find them.

Change 3352289 on 2017/03/17 by Ben.Marsh

	Fix issues working with > 2GB archives caused by truncation of the return value from FArchive::Tell() down to 32-bits.

Change 3352390 on 2017/03/17 by Ben.Marsh

	Remove unused/out of date binaries for CrashReporter.

Change 3352392 on 2017/03/17 by Ben.Marsh

	Remove UnrealDocTool binaries. This is distributed through a Visual Studio plugin now.

Change 3352410 on 2017/03/17 by Ben.Marsh

	Remove P4ChangeReporter. I don't believe this is used any more.

Change 3352450 on 2017/03/17 by Ben.Marsh

	Disable including CrashReporter by default when packaging projects. This is only useful with a CrashReporter backend set up, which only usually applies to Epic internal projects.

Change 3352455 on 2017/03/17 by Ben.Marsh

	Remove RegisterPII and TranslatedWordsCountEstimator executables. Don't believe these are used any more.

Change 3352940 on 2017/03/17 by Wes.Hunt

	Update CRP to not send Slack queue size updates unless the waiting time is greater  than 1 minute.
	#codereview: jin.zhang

Change 3353658 on 2017/03/20 by Steve.Robb

	Fix for crash when importing a BP which has a populated TMap with an enum class key.

Change 3354056 on 2017/03/20 by Steve.Robb

	TAssetPtr<T> can now be constructed from a nullptr without a full definition of T.

Change 3356111 on 2017/03/21 by Graeme.Thornton

	Fix for UE-34131
	 - Support double and fname stat types in UFE stat export to CSV

	#jira UE-34131

Change 3358584 on 2017/03/22 by Daniel.Lamb

	Fixed the garbage collection keep flags when cleaning the sandbox for iterative cooking.

	#test Cook shootergame

Change 3360379 on 2017/03/23 by Gil.Gribb

	UE4 - Avoid adding a linker annotation if it actually hasn't changed. Improves ConditionalBeginDestroy performance.

Change 3360623 on 2017/03/23 by Gil.Gribb

	UE4 - Change from MarcA to avoid a redudnant removal of PrimitiveComponent from the streaming managers during ConditionalBeginDestroy.

Change 3360627 on 2017/03/23 by Gil.Gribb

	UE4 - Optimized UObject hash tables for speed and space.

Change 3361183 on 2017/03/23 by Gil.Gribb

	UE4 - Fixed change to NotifyPrimitiveDetached so that it works in the editor.

Change 3361906 on 2017/03/23 by Steve.Robb

	Fix for a bad hint index when instantiating map property subobjects when the defaults has fewer but non-zero elements.

	#jira UE-43272

Change 3362839 on 2017/03/24 by Gil.Gribb

	UE4 - Fixed hash table lock optimization.

Change 3367348 on 2017/03/28 by Robert.Manuszewski

	Making sure streamed-in SoundWaves get added to GC clusters.

Change 3367386 on 2017/03/28 by Ben.Marsh

	EC: Pass the Semaphores property from a build type as a parameter to new build jobs.

Change 3367422 on 2017/03/28 by Ben.Marsh

	EC: Allow limiting the number of scheduled jobs that will be automatically run at a particular time. Each build type can have a 'Semaphores' property in the branch settings file, which will be copied to newly created jobs. Before scheduling new jobs, EC is queried for the 'Semaphores' property on any running jobs, and build types with existing semaphores will be skipped. Does not prevent jobs from being run manually.

Change 3367469 on 2017/03/28 by Ben.Marsh

	EC: Prevent multiple incremental jobs running at once.

Change 3367640 on 2017/03/28 by Ben.Marsh

	Plugins: Add an optional EngineVersion field back into the plugin descriptor. If set, the engine will warn if the plugin is not compatible with the current engine version. Plugins will set this field by default when packaging; pass -Unversioned to override.

Change 3367836 on 2017/03/28 by Uriel.Doyon

	Improved handled of references in the streaming manager

Change 3369354 on 2017/03/29 by Graeme.Thornton

	Added AES encrypt/decrypt functions that take a byte array for the key

Change 3369804 on 2017/03/29 by Ben.Marsh

	Remove incorrect "EngineVersion" settings from plugin descriptors.

Change 3370462 on 2017/03/29 by Ben.Marsh

	Editor: Install Visual Studio 2017 by default, instead of Visual Studio 2015. Changed to use ExecElevatedProcess() to prevent installer failing to run if the current user is not already an administrator.

	#jira UE-43467

Change 3371598 on 2017/03/30 by Ben.Marsh

	UBT: Fix message for missing toolchain in VS2017.

Change 3372827 on 2017/03/30 by Ben.Marsh

	BuildGraph: Output an error at the end of each step if any previous build products have been modified.

Change 3372947 on 2017/03/30 by Ben.Marsh

	[Merge] Always add the host editor platform as supported in an installed build. Not doing so prevents the build platform being registered in UBT, which prevents doing any platform-specific staging operations in UAT.

Change 3372958 on 2017/03/30 by Ben.Marsh

	[Merge] Simplify log output for cooks. Suppress additional timestamps from the editor when running through UAT.

Change 3372981 on 2017/03/30 by Ben.Marsh

	[Merge] Modular game fixes for UAT

	* Store list of executable names from the receipts instead of generating them from Target/Platform/Config/Architecture combination
	* Get full list of staged executables from receipts instead of assuming only non-code projects are in Engine
	* Always pass short project name as Bootstrap argument, so that modular game exe knows which project to start

Change 3373024 on 2017/03/30 by Ben.Marsh

	[Merge] Add an option to UAT (-CookOutputDir=...) and the cooker (-OutputDir=...) which allows overriding the output directory for cooked files, and fix situations where the directory becomes too deep.

Change 3373041 on 2017/03/30 by Ben.Marsh

	[Merge] Added UAT script to replace assets with another source
	Renamed ReplaceAssetsCommandlet to GenerateAssetsManifest as it now outputs a list of files and has nothing specific about replacing files

Change 3373052 on 2017/03/30 by Ben.Marsh

	[Merge] Changed CopyUsingDistillFileSet command so that it can use a pre-existing manifest file instead of running commandlet

Change 3373092 on 2017/03/30 by Ben.Marsh

	[Merge] Fixed crash attempting to load cooked static mesh in editor

Change 3373112 on 2017/03/30 by Ben.Marsh

	[Merge] Fixed crash caused by loading cooked StaticMesh in editor that didn't have any SourceModels

Change 3373132 on 2017/03/30 by Ben.Marsh

	[Merge] Added Additional Maps that are always cooked to the GenerateDistillFileSetsCommandlet

Change 3373138 on 2017/03/30 by Ben.Marsh

	[Merge] Fixed code issue with playback of cooked SoundCues
	Skip over code using editor only data when editor data has been stripped

Change 3373143 on 2017/03/30 by Ben.Marsh

	[Merge] Fixed crash when attempting to open multiple cooked assets

Change 3373156 on 2017/03/30 by Ben.Marsh

	[Merge] Added commandlet to replace game assets with those from another source (intended for cooked asset replacement)

Change 3373161 on 2017/03/30 by Ben.Marsh

	[Merge] Prevented crash by not attempting to Load Mips again if a package has cooked data

Change 3373168 on 2017/03/30 by Ben.Marsh

	[Merge] Fix output path for DLC pak file, so it can be discovered by the engine and automatically mounted (and to stop it colliding with the main game pak file).

Change 3373204 on 2017/03/30 by Ben.Marsh

	[Merge] Fix crash when switching levels in PIE, due to bulk data already having been discarded for cooked assets. Cooking sets BULKDATA_SingleUse for textures, but PIEing needs to keep bulk data around.

Change 3373209 on 2017/03/30 by Ben.Marsh

	[Merge] Fix missing material in mod editor for cooked assets.

Change 3373388 on 2017/03/30 by Ben.Marsh

	[Merge] Various improvements to the plugin browser and new plugin wizard from Robo Recall.

Change 3374200 on 2017/03/31 by Ben.Marsh

	[Merge] Latest OdinEditor plugin from //Odin/Main, to fix build failures. Re-made change to OdinUnrealEdEngine to remove dependencies on analytics.

Change 3374279 on 2017/03/31 by Ben.Marsh

	PR #3441: Invalid JSON in FeaturePacks (Contributed by projectgheist)

Change 3374331 on 2017/03/31 by Ben.Marsh

	UBT: Disable warning pragmas on Mono; not supported on current compiler.

	#jira UE-43451

Change 3375108 on 2017/03/31 by Ben.Marsh

	Removing another plugin EngineVersion property.

Change 3375126 on 2017/03/31 by Ben.Marsh

	Fix incorrect executable paths being generated for Windows.

Change 3375159 on 2017/03/31 by Graeme.Thornton

	Pak Index Encryption
	 - Added "-encryptindex" option to unrealpak which will encrypt the pak index, making the pak file unreadable without the associated decryption key
	 - Added "-encryptpakindex" option to UAT to force on index encryption
	 - Added "bEncryptPakIndex" setting to project packaging settings so pak encryption can be controlled via the editor

Change 3375197 on 2017/03/31 by Graeme.Thornton

	Enable pak index encryption in shootergame

Change 3375377 on 2017/03/31 by Ben.Marsh

	Add build node to submit updated UnrealPak binaries for Win64, Mac and Linux. Currently has to be run via a custom build on EC, with the target set to "Submit UnrealPak Binaries".

Change 3376418 on 2017/04/03 by Ben.Marsh

	BuildGraph: Always clear the cached node state when running locally without having to manually specify the -ClearHistory argument. The -Resume argument allows the previous behavior of continuing a previous build.

Change 3376447 on 2017/04/03 by Ben.Marsh

	Build: Remove some unused stream settings

Change 3376469 on 2017/04/03 by Ben.Marsh

	Build: Add a customizable field for the script to use for custom builds in every branch.

Change 3376654 on 2017/04/03 by Ben.Marsh

	Add a fatal error message containing the module with an outstanding reference when trying to unload it.

	#jira UE-42423

Change 3376747 on 2017/04/03 by Gil.Gribb

	UE4 - Fixed crash relating to FGenericAsyncReadFileHandle when not using the EDL.

Change 3377173 on 2017/04/03 by Ben.Marsh

	Make sure callstacks are written to stdout following a crash on a background thread.

Change 3377183 on 2017/04/03 by Ben.Marsh

	Removing support for building VS2013 targets. Ability to generate VS2013 project files is still allowed, but unsupported (via the -2013unsupported command line argument).

Change 3377280 on 2017/04/03 by Ben.Marsh

	Build: Post UGS badges for all UE4 development streams, with the project set to $(Branch)/...

Change 3377311 on 2017/04/03 by Ben.Marsh

	Build: Set the 'Semaphores' parameter for any jobs started from a schedule.

Change 3377326 on 2017/04/03 by Ben.Marsh

	UGS: Show badges which match an entire subtree if the project field ends with "...".

Change 3377392 on 2017/04/03 by Ben.Marsh

	Add badges to UE4/Main and UE4/Release streams, and change the names of the builds in development streams to distinguish them.

Change 3377895 on 2017/04/03 by Ben.Marsh

	EC: Send notification emails whenever UAT fails to compile.

Change 3377923 on 2017/04/03 by Ben.Marsh

	Build: Use a different semaphore for the common editors build target to the incremental compile build target.

Change 3378297 on 2017/04/04 by Graeme.Thornton

	Fix incorrect generation of UE_ENGINE_DIRECTORY in UBT

Change 3378301 on 2017/04/04 by Ben.Marsh

	UBT: Try enabling bAdaptiveUnityDisablesPCH by default, to reduce the number of build failures we see due to missing includes.

Change 3378460 on 2017/04/04 by Graeme.Thornton

	Remove dependency preloading system from sync and async loading paths

Change 3378535 on 2017/04/04 by Robert.Manuszewski

	Fix for audio crash when launching Ocean PIE after removing the audio chunk allocation in CL #3347324

	#jira UE-43544

Change 3378575 on 2017/04/04 by Robert.Manuszewski

	Making sure actor clusters are not created in non-cooked builds

	#jira UE-43617
	#jira UE-43614

Change 3378589 on 2017/04/04 by Robert.Manuszewski

	Disabling debug GC cluster logging

	#jira UE-43617

Change 3379118 on 2017/04/04 by Robert.Manuszewski

	Disabling actor clustering by default, keeping it on in Orion and Ocean

Change 3379815 on 2017/04/04 by Ben.Marsh

	Revert change to derive executable names from target receipts. While a better solution than making them up, Android relies on having the base executable names for supporting multiple architectures.

Change 3380811 on 2017/04/05 by Gil.Gribb

	UE4 - Put the special boot order things into baseengine.ini so that licensees and games can add to it.

Change 3383313 on 2017/04/06 by Uriel.Doyon

	Integrated CL 3372436 3372765 3373272 from Dev-Rendering
	#JIRA UE-43669

Change 3383531 on 2017/04/06 by Ben.Marsh

	UGS: Ignore failures when querying whether paths exist. Permissions can cause this folder to fail, even if it will succeed at a parent directory.

Change 3383786 on 2017/04/06 by Ben.Zeigler

	Back out changelist 3382694 and replace with CL #3383757 from bob.tellez:
	Fix memory stomping issue caused by removing a FFortProfileSynchronizeRequest from SynchronizeRequests in UFortRegisteredPlayerInfo::UpdateSynchronizeRequest before SynchronizeProfile had finished executing

Change 3385089 on 2017/04/07 by Gil.Gribb

	UE4 - Critical. Fixed memory leak in pak precacher.

[CL 3386123 by Ben Marsh in Main branch]
2017-04-10 11:00:33 -04:00
Ben Marsh
111ec7adc5 Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3314870)
#lockdown Nick.Penwarden

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

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

	Seperate pak cache granularity from pak signing chunk size

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

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

	#jira UE-41478

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

	IncludeTool: Merging fixes.

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

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

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

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

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

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

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

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

	Log verbosities made more readable in the debugger.

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

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

	#fyi marc.audy

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

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

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

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

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

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

	#jira UE-33953

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

	UBT: Move the FileFilter class into UnrealBuildTool.

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

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

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

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

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

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

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

	#fyi robert.manuszewski,ben.marsh

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

	UGS: Set the correct result from running custom tasks.

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

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

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

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

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

	PLATFORM_HAS_DEFAULTED_OPERATORS fixed.
	Other obsolete compiler switches removed.

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

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

	#fyi robert.manuszewski

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

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

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

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

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

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

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

	UnrealCodeAnalyzer removed.

	#fyi ben.marsh,robert.manuszewski

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

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

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

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

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

	Attempt to get Nativization and EDL working without warnings

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

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

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

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

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

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

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

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

	#fyi ben.zeigler

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

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

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

	#jira UE-42055 Second half of matinee redirector fix

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

	Reimplementing CL#3305808 from 4.15

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

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

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

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

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

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

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

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

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

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

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

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

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

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

	Fixes/improvements for mod editor and code mods:

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

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

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

	#jira UE-42052

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

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

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

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

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

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

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

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

	#jira UE-41951

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

[CL 3315211 by Ben Marsh in Main branch]
2017-02-21 15:51:42 -05:00
Matthew Griffin
acbdfe29a6 Copying //UE4/Release-Staging-4.15 to //UE4/Dev-Main (Source: //UE4/Release-4.15 @ 3278667)
#lockdown Nick.Penwarden
#rb none

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

Change 3278667 on 2017/01/31 by Chris.Wood

	Added extra context to crash analytics and crash reports in the Editor.
	[UE-41306] - Add context to crash analytics and crash reports (with Editor user activity)

	When a Slate tab becomes active or foregrounded, we take its LayoutIdentity, Label and Content Widget Type and generate a string from all three. This gives context for what the user was doing. The string is set as the UserActivity and passed to MTBF analytics, crash analytics and crash reporter.

	Also added filter to the UserActivity tracking system that defaults to Game mode to preserve previous behavior. Editor now switches it to Editor mode and starts setting the activity in this mode.

	#jira UE-41306

Change 3278637 on 2017/01/30 by Dmitriy.Dyomin

	Fixed: iOS Device displays textures darker than in Editor
	#jira UE-41298

Change 3278566 on 2017/01/30 by Jack.Porter

	Fix #WITH_EDITOR in InstancedStaticMesh.cpp
	#jira UE-41292

Change 3278195 on 2017/01/30 by Alexis.Matte

	Fix the re-import skeletal mesh regression, where all material disapear.
	#jira UE-41294

Change 3278173 on 2017/01/30 by Frank.Fella

	PlatformMediaSource - Don't allow the user to nest platform media sources, and also fail validation on nested platform media sources just in case they are set outside of the cusomization UI.

	#Jira UE-40779

Change 3278156 on 2017/01/30 by Josh.Adams

	- Adding the missed #include line for IsWindowsServer()
	#jira UE-41304

Change 3278088 on 2017/01/30 by Mike.Beach

	Mirroring CL 3249423 from Dev-BP.

	Fix to keep placeholder classes from being needlessly created (when the object they represent already exists) - instead, attempt to lookup and find the existing import objects (which used to be set, but could be cleared during async loading by FLinkerManager::DissociateImportsAndForcedExports()).

	#jira OR-34038

Change 3278036 on 2017/01/30 by Mike.Beach

	Mirroring CL 3277671 from Dev-BP.

	Refactoring FBlueprintCompilerCppBackend::SortNodesInUberGraphExecutionGroup() a bit. Catching cases that weren't acounted for - detecting cyclical logic now when we've pulled a node/statement out of order, and other nodes need to fall through to that logic (not relying on a goto).

	#jira UE-41188, UE-41189, UE-41186, UE-41037

Change 3277974 on 2017/01/30 by Josh.Adams

	- Hopeful workaround for COM crash in HandleGameExplorerIntegration function
	#jira UE-41080

Change 3277951 on 2017/01/30 by Ori.Cohen

	Fix access violation in physx.

	#JIRA ODIN-5199

Change 3277773 on 2017/01/30 by Jamie.Dale

	Fixing crash that could occur with null meta-data

	#jira UE-41271

Change 3277549 on 2017/01/30 by Max.Chen

	Sequencer: Back out changelist 3276452 because it breaks other uses of the time snapping interval in the settings.

	#jira UE-41009

Change 3277510 on 2017/01/30 by Jamie.Dale

	Fixed localization sometimes having incorrect keys in cooked builds

	Merged CL# 3276233 and CL# 3277273.

	#jira UE-41271

Change 3277500 on 2017/01/30 by Michael.Trepka

	Added -Wno-undefined-var-template on Mac to work around an issue with compiling UHT in Xcode 8.3

	#jira UE-41225

Change 3277421 on 2017/01/30 by Arciel.Rekman

	TestPAL: delete unused test (UE-36984)

	#jira UE-36984

	(Edigrating CL 3267568 from Dev-Platform to Release-4.15)

Change 3277410 on 2017/01/30 by Jeff.Fisher

	UE-41152 more non-unity include fixes.
	-Matthew Griffin showed me how to run this locally, so I was able to locally reproduce the errors and this fixed them (the previous fixes were insufficient rather than incorrect).
	#jira UE-41152

Change 3277230 on 2017/01/30 by Jack.Porter

	Fixed issue with static lighting for Foliage and Instanced Static Meshes where shadows on instances in LOD levels other than LOD 0 was incorrect.
	#jira UE-39884

Change 3277178 on 2017/01/30 by Allan.Bentham

	enable FORCE_FLOATS with iOS metal shaders when full precision material setting is set.
	#jira UE-41253

Change 3277134 on 2017/01/30 by Matthew.Griffin

	Fixed NonUnity compile issues

Change 3276503 on 2017/01/28 by Jeff.Fisher

	UE-41152 more non-unity include fixes.
	#jira UE-41152

Change 3276452 on 2017/01/28 by Max.Chen

	Sequencer: Changed the time snapping interval in the toolbar ui so that it no longer additionally updates the sequencer setting. The value used in the sequencer settings is only used to initialize a new level sequence.

	#jira UE-41009

Change 3276130 on 2017/01/27 by Phillip.Kavan

	[UE-40894] Fix data loss issues with non-native Blueprint classes that override inherited component default values from a nativized parent Blueprint class hierarchy.

	- Mirrored from //UE4/Dev-Blueprints (CL# 3276109).

	#jira UE-40894

Change 3276013 on 2017/01/27 by Lina.Halper

	- fix issue with additive pose preview applying twice

	#jira: UE-41216
	#code review:Thomas.Sarkanen

Change 3275990 on 2017/01/27 by Mitchell.Wilson

	Disabling 'Used with skeletal mesh' on some materials to resolve errors and warnings.
	#jira UE-40736

Change 3275885 on 2017/01/27 by Matt.Kuhlenschmidt

	Fixed missing slate style assets log warning

	#jira UE-41148

Change 3275805 on 2017/01/27 by Ori.Cohen

	Fix incorrect warning about moving simulated bodies during tick group. The existing code would warn if you had a kinematic that was SimulationDisabled (i.e. meaning it's not in the sim scene).

	#JIRA UE-37270

Change 3275797 on 2017/01/27 by Shaun.Kime

	In some cases, it was possible to create a SRetainerWidget that does not have a valid scene. This would cause the recorded scene index to be mismatched with the actual rendering index when played back in the future.

	#jira OR-34919

Change 3275681 on 2017/01/27 by Lina.Halper

	Dupe change of CL 3273803, 3274129, 3274700

	#jira: UE-41163
	#code review:Daniel.Wright, Martin.Wilson

Change 3275624 on 2017/01/27 by Benn.Gallagher

	Fixed crash when creating destructible meshes from static meshes with null material interface entries
	#jira UE-38998

Change 3275601 on 2017/01/27 by Matt.Kuhlenschmidt

	Fix crash when a kdop collision generation fails and there are existing collision meshes selected.  We no longer clear out unrelated collision primitives when kdop generation fails.

	#jira UE-41220

Change 3275545 on 2017/01/27 by Chris.Bunner

	Added flag for retreiving debug materials from GetUsedMaterials calls on rendering components.
	#jira UE-40482

Change 3275522 on 2017/01/27 by Max.Chen

	Sequencer: Call modify before setting row indices

	#jira UE-40682

Change 3275518 on 2017/01/27 by Max.Chen

	Sequencer: Switch to static pointer to fix crash when tearing down curve editor.

	#jira UE-41105

Change 3275475 on 2017/01/27 by Jeff.Fisher

	UE-41152 Merge Improved Daydream Support from Google
	-Fixing non-unity missing includes.
	#jira UE-41152

Change 3275387 on 2017/01/27 by Steve.Robb

	Prevent engine reinstancing on hot reload.
	Copied from CL# 3265490.

	#jira UE-40765

Change 3275279 on 2017/01/27 by Josh.Adams

	- Redoing change 3274305 in 4.15
	#jira UE-40451

Change 3275233 on 2017/01/27 by Luke.Thatcher

	[PLATFORM] [PS4] [!] Fix share play initialization logic.

	#jira UE-41209

Change 3275227 on 2017/01/27 by Alex.Delesky

	Duplicating the fix for UE-40791 from Dev-Editor CL 3265714 - The ForceFeedback thumbnail's Play and Stop icons will now render correctly, and will only be visible while an effect is playing or when the cursor hovers over the icon.

	#jira UE-40791

Change 3275057 on 2017/01/27 by Peter.Sauerbrei

	fix for crash after changing the metal shader version
	#jira ue-41183

Change 3275031 on 2017/01/27 by Matthew.Griffin

	Added architecture hash to path for Linux generated includes, didn't realize that this was part of the path.

Change 3275005 on 2017/01/27 by Matthew.Griffin

	Re-enabled Cache of cooked platform data during DerivedDataCache commandlet
	Moved caching DDC of non-host platform data behind an option so it's not done for Installed Build by default
	Removed other platforms from Launcher Samples and changed 'CookPlatforms' to 'DDCPlatforms' so that its purpose is more clear

Change 3274828 on 2017/01/27 by Jeff.Fisher

	UE-41152 Merge Improved Daydream Support from Google
	-Fixing non-unity missing include.
	#jira UE-41152

Change 3274799 on 2017/01/27 by Arciel.Rekman

	Fix for installed Linux cross-toolchain (UE-40392).

	- Pull request #3111 contributed by rubu.

	#jira UE-40392

Change 3274756 on 2017/01/27 by Max.Chen

	Sequencer: Update the parent guid with the new possessable guid. This fixes a bug where the parent guid isn't set properly and so folders aren't retained when assign actors and running fix up actor references.

	#jira UE-41010

Change 3274755 on 2017/01/27 by Max.Chen

	Sequencer: Call notify movie scene data changed when creating a camera instead of marking the instances as needing a refresh.

	#jira UE-41019

Change 3274597 on 2017/01/26 by Jeff.Fisher

	UE-41152 Merge Improved Daydream Support from Google
	-Fixing monolithic include warning.
	#jira UE-41152

Change 3274564 on 2017/01/26 by Mike.Beach

	Following the example of other nodes with external dependencies (like UK2Node_SwitchEnum), and making sure the struct is preloaded before we use it (the struct needs to have a valid size).

	#jira UE-41073

Change 3274535 on 2017/01/26 by Mike.Beach

	Removed ensure that was blocking a wrapper function call to a non-nativized function lib from being generated (while not optimal, the generated code works).

	#jira UE-41190

Change 3274512 on 2017/01/26 by Jeff.Fisher

	UE-41152 Merge Improved Daydream Support from Google
	Merging cl 3255506 Copyright update for google
	-note most of the changes went in with the previous 3 androidvr-devvr change integrations, these two were not otherwise changed.
	-just incrementing the year

	//depot/Partners/Google/AndroidVR-DevVR/Engine/...
	to //UE4/Release-4.15/Engine/...

	#jira UE-41152
	#review-3273588

Change 3274511 on 2017/01/26 by Jeff.Fisher

	UE-41152 Merge Improved Daydream Support from Google
	Merging cl 3243495 Adding GoogleVRTransition2D plugin to handle VR->2D->VR transition for daydream app.

	//depot/Partners/Google/AndroidVR-DevVR/Engine/...
	to //UE4/Release-4.15/Engine/...

	#jira UE-41152
	#review-3273586

Change 3274510 on 2017/01/26 by Jeff.Fisher

	UE-41152 Merge Improved Daydream Support from Google
	Merging cl 3243494 Update GoogleVR plugin to v1.2.
	-Upgrade GVR NDK to 1.10.0
	-Add easy to use GoogleVR input component, including controller component for daydream and a gaze based reticle component for cardboard.
	-Make the GoogleVRSplash rendered with depth.
	-Add built in arm model support in GoogleVR controller plugin.
	-Add "Use ExternalFilesDir for UE4Game files" option in AndroidRuntimeSetting to support saving game progress without requesting EXTERNAL_STORAGE permission in Andoird 23+
	-Remove the "Package for Daydream" option in AndroidRuntimeSetting.
	-Fix the crash on iOS9 when GoogleVR plugin is enabled.(udn/325432)

	//depot/Partners/Google/AndroidVR-DevVR/Engine/...
	to //UE4/Release-4.15/Engine/...

	#jira UE-41152
	#review-3273585

Change 3274509 on 2017/01/26 by Jeff.Fisher

	UE-41152 Merge Improved Daydream Support from Google
	Merging cl 3243493 Adding AndroidPermission plugin to handle runtime permission request and check for android api 23 and above.
	-The plugin works for both daydream and normal Android application.
	-For Daydream app, it need to work with GoogleVRTransition2D plugin.

	//depot/Partners/Google/AndroidVR-DevVR/Engine/...
	to //UE4/Release-4.15/Engine/...

	#jira UE-41152
	#review-3273583

Change 3274485 on 2017/01/26 by Chris.Babcock

	Fix handling of numbers in textedit (allow decimals)
	#jira UE-41198
	#ue4
	#android

Change 3274457 on 2017/01/26 by Mike.Beach

	Fix to CIS warning (fallout from CL 3274362)

	#jira UE-41072, UE-41071, UE-41070

Change 3274445 on 2017/01/26 by Arciel.Rekman

	Proper fix for deploying to Linux (UE-40023).

	- The logic is: if the base path (local to PC, one we are replacing) *ends* with a separator, add the separator to the dest path (one we're mapping to). Previous fix had a last minute change that inverted it.

	#jira UE-40023

Change 3274428 on 2017/01/26 by Brian.Karis

	Fixed bloom flickering on high contrast HDR edges when r.TemporalAACatmullRom was enabled.

	#jira UE-41138

Change 3274362 on 2017/01/26 by Mike.Beach

	Restructuring how we apply individual (exclusive) Blueprint nativization flags...

	  1. Explicitly flagging Blueprints as dependencies for nativization (and communicating that to the user)
	  2. Now applying nativization flag to authoritative config for all dependencies on save
	  3. Flagging new dependencies (parent or interface) as needing nativization (when required)
	  4. Ignore bDontNativizeDataOnlyBP setting when nativization mode is set to explicit

	#jira UE-41072, UE-41071, UE-41070

Change 3274349 on 2017/01/26 by Yannick.Lange

	VREditor: Fix Laser not hidden on MotionControllers with docked Menu/UI Panels
	#jira UE-40070

Change 3274301 on 2017/01/26 by Chris.Bunner

	Added missing material expression tooltips/keywords for new nodes based on 4.15 preview feeback.
	#jira UE-41193

Change 3274254 on 2017/01/26 by Ryan.Gerleve

	Fix for IsInGameThread() checks that could fail in debug builds while recording a replay with tick.DoAsyncEndOfFrameTasks and demo.ClientRecordAsyncEndOfFrame enabled.

	#jira UE-39911

Change 3274121 on 2017/01/26 by Josh.Adams

	- Fixed build error with landscape gizmo
	#jira UE-41177

Change 3274114 on 2017/01/26 by Dan.Oconnor

	Updating all references before calling post edit - prevents objects from being destroyed or created while updating references
	#jira UE-40121

Change 3273971 on 2017/01/26 by Chris.Bunner

	Update material instance permutations when we have already set param/switch overrides, then only change the base properties.
	#jira UE-39754

Change 3273842 on 2017/01/26 by Daniel.Wright

	Attempt to remove instructions from code features only present in the forward renderer, so we are showing users their graph cost.  Allows shader complexity in forward to sortof match deferred.
	#jira UE-41167

Change 3273750 on 2017/01/26 by Jeff.Fisher

	UE-41137 //UE4/Main: Step 'Compile Ocean (Win32/Win64)' - 2 Errors - SteamVRController.cpp
	-Fixing build break for Ocean.  Maybe they are using an older compiler?
	#jira UE-31137

Change 3273602 on 2017/01/26 by Michael.Trepka

	Fix for UE-41146

	#jira UE-41146

Change 3273506 on 2017/01/26 by Maciej.Mroz

	#jira ODIN-4991,  UE-41035
	merged cl3273497 from Dev-Blueprints branch

	Nativization:
	EX_AddMulticastDelegate - generated code calls TMulticastScriptDelegate::AddUniqe instead of TMulticastScriptDelegate::Add.

Change 3273464 on 2017/01/26 by Mitchell.Wilson

	Resaving asset to resolve warning.
	#jira UE-41008

Change 3273413 on 2017/01/26 by Marc.Audy

	Fix crash when audio device fails to initialize
	#author Andrew.Grant
	#jira UE-41143

Change 3273391 on 2017/01/26 by Jack.Porter

	Fixed ensure encountered when using the Copy/Paste sub-tool in sculpt mode
	#jira UE-40480

Change 3273343 on 2017/01/26 by Matt.Kuhlenschmidt

	Resetting the preview on a material  now properly clears the thumbnail which could have a   stale references that was impossible to fix.

	Fixed on asset exibiting this problem

	#jira UE-40300

Change 3273243 on 2017/01/26 by Jamie.Dale

	Speculative fix for an issue where User Defined Enum display names were being lost on upgrade to 4.15

	#jira UE-41130

Change 3273235 on 2017/01/26 by Graeme.Thornton

	Fix for some memory being left hanging around when loading bulk data asyncronously under certain circumstances

	#jira UE-37815

Change 3273225 on 2017/01/26 by Ben.Cosh

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

Change 3273224 on 2017/01/26 by Josh.Stoddard

	Increment FDerivedDataPhysXCooker to force recook of PhysX data
	#jira UE-39791#rb none #lockdown james.golding

Change 3273201 on 2017/01/26 by Jack.Porter

	Fixed problem where UpdateInstanceTransform blueprint function was not updating bounds correctly
	#jira UE-41126

Change 3273122 on 2017/01/26 by Graeme.Thornton

	Added some extra log output for situations where a compressed block in an archive doesn't have a valid header

	#jira UE-38767

Change 3273116 on 2017/01/26 by Benn.Gallagher

	Fix for crash generating clothing skinning data due to coplanar check triggering a check() on small triangles
	#jira UE-41112

Change 3273077 on 2017/01/26 by Thomas.Sarkanen

	Allowed LODs other than LOD0 to have screen sizes greater than 1

	#jira UE-41125 - Static mesh LODs other than LOD0 cannot be set to screen sizes greater than 1

Change 3273061 on 2017/01/26 by Matthew.Griffin

	Disabled code caching data for all platforms until we can figure out why it's filling up DDC cache

Change 3272938 on 2017/01/25 by Arciel.Rekman

	Fix launch on a remote Linux machine (UE-38691).

	- Device id is now used to get target platform, so should match it exactly.

	#jira UE-38691

Change 3272816 on 2017/01/25 by Ben.Marsh

	Fix VS2017 being displayed as 'Visual Studio 15' in the Windows target settings panel.

Change 3272590 on 2017/01/25 by Daniel.Wright

	Workaround for "error X3067: 'GetObjectWorldPosition': ambiguous function call" which happens when FMaterialPixelParameters and FMaterialVertexParameters have the same number of floats with the HLSL compiler.  Function overload resolution appears to identify types based on how many floats / ints / etc they contain.
	#jira UE-41099

Change 3272419 on 2017/01/25 by Arciel.Rekman

	Linux: fix remote deploying of a packaged build (UE-40023).

	#jira UE-40023

Change 3272355 on 2017/01/25 by Daniel.Wright

	Prevent a large shadow depth bias due to low resolution from causing near plane clipping
	#jira UE-40873

Change 3272196 on 2017/01/25 by tim.gautier

	Updating TM-UMG content for UI visibility

	#jira UE-29618

Change 3272114 on 2017/01/25 by Michael.Dupuis

	#jira UE-29817 : backout of CL from Dev-Editor fixing this jira

Change 3271953 on 2017/01/25 by Michael.Trepka

	Attempt to fix UE-40956 - Rare crash occurs in CoreAudio in Vehicle Game on Mac when quitting.

	#jira UE-40956

Change 3271945 on 2017/01/25 by Olaf.Piesche

	Replicating CL 3271564

	#jira UE-40980
	#udn 325525

	Fix uniform buffers for mesh particles; these should really be on the mesh collector, so allocating them as a one frame resource is safe.

Change 3271883 on 2017/01/25 by Daniel.Wright

	UWorld::AreAlwaysLoadedLevelsLoaded takes into account bShouldBeVisible.  Fixes reflection captures not getting uploaded when there's an invisible always loaded level, which is supposed to be invisible.
	#jira UE-40724

Change 3271686 on 2017/01/25 by Marc.Audy

	Properly fix line endings in all cases when installing a c++ feature pack
	#jira UE-40939

Change 3271631 on 2017/01/25 by Ryan.Gerleve

	In UEngine::CommitMapChange, rename the new ULevelStreaming objects so that the main world is their outer. This is more correct in general, and will cause those levels to be added to the correct level collection during FlushLevelStreaming.
	Also use MoveTemp to add the streaming level list to the main world, so that the fake world will no longer reference them.

	#jira UE-40524

Change 3271611 on 2017/01/25 by Allan.Bentham

	Ensure texture's buildsettings are not marked as streamable if the target platform does not support streaming.
	#jira UE-40927

Change 3271504 on 2017/01/25 by tim.gautier

	Updated default values of UMG_Behavior

	#jira UE-29618

Change 3271491 on 2017/01/25 by Luke.Thatcher

	[PLATFORM] [PS4] [!] Fix bug in AT9 audio cooking.
	 - Maximum mono bitrate is 144kbps, but 100% quality mono tracks were selecting 168kbps, causing the AT9 tool to fail.
	 - Also bumped AT9 engine format to recook potentially broken audio data.

	#jira UE-40761

Change 3271428 on 2017/01/25 by Chris.Bunner

	Bug in previous CL.
	#jira UE-39953

Change 3271413 on 2017/01/25 by Lina.Halper

	#DUPEFIX of CL 3270776

	#jira: UE-41082

Change 3271403 on 2017/01/25 by tim.gautier

	Adjusted UMG_Blur intensity settings.

	#jira UE-29618

	# rb cristina.riveron

Change 3271300 on 2017/01/25 by Luke.Thatcher

	[PLATFORM] [PS4] [^] Merge (as edit) fix for NpToolkit2 initialization in 6CPU mode, from //UE4/Dev-Platform to //UE4/Release-4.15 (Original CL 3271215)
	 - Default thread affinity in the InitParams structure is 7 CPUs.
	 - Using this affinity in games with 6CPU mode set in param.sfo causes init() to fail.
	 - We now select 6 or 7 CPU affinity based on what sceKernelGetCpumode reports at runtime.

	#jira UE-41079

Change 3271197 on 2017/01/25 by Andrew.Rodham

	Sequencer: Ensure initial evaluation range correctly sets exclusive lower boundary for subsequent evaluations
	  - This prevents us from erroneously evaluating the initial time twice as part of swept evaluations)

	#jira UE-40758

Change 3270386 on 2017/01/24 by tim.gautier

	Updated UMG_Blur to include second Low-Quality asset

	#jira UE-29618

Change 3270267 on 2017/01/24 by Arciel.Rekman

	Linux: fix not being able to run a packaged build (UE-37016, UE-39648).

	- Fixed expansion of paths with spaces in the bootstrap script.
	- Also increased the timeout since large projects can sometimes get killed on start.
	- Also killed spammy console output.

	#jira UE-37016

Change 3270203 on 2017/01/24 by Chris.Babcock

	Fixed issue with Mac and Linux install and uninstall scripts if ANDROID_HOME not set (contributed by nathansizemore)
	#jira UE-41042
	#PR #3160
	#ue4
	#android

Change 3270037 on 2017/01/24 by tim.gautier

	Checking in UMG_Blur for UMG test coverage

	#jira UE-29618

Change 3269829 on 2017/01/24 by matt.barnes

	Adding content for Material Attribute testing

	#jira UE-29618

Change 3269700 on 2017/01/24 by Josh.Stoddard

	force relink of PhysX libs
	#jira UE-39791 #rb ori.cohen #lockdown james.golding

Change 3269621 on 2017/01/24 by Allan.Bentham

	Make sure 'intrinsic_GetHDR32bppEncodeModeES2()' reports no encoding mode when mobileHDR == false
	#jira UE-41023

Change 3269503 on 2017/01/24 by Josh.Stoddard

	Integrate PhysX change 3268008 from //UE4/Dev-Physics-Upgrade
	#jira UE-39791 #lockdown james.golding #rb josh.stoddard

Change 3269359 on 2017/01/24 by Jack.Porter

	Fix for Web browser widget crash on Android when packaged for Distribution
	#jira UE-39451

Change 3269316 on 2017/01/24 by Thomas.Sarkanen

	Fixed non-unity issues with last change for UE-40945

	#jira UE-40945 - Crash trying to import facial animations

Change 3269047 on 2017/01/23 by Yannick.Lange

	VREditor: Fix VREditor Laser not hidden on MotionControllers with docked Menu/UI Panels
	#jira UE-40070

Change 3268824 on 2017/01/23 by Rolando.Caloca

	UE4.15 - Fix for right eye showing black on VR
	#jira UE-40900

Change 3268752 on 2017/01/23 by Nick.Whiting

	Fix for assertion for binding an MSAA'd scene color with a non-MSAA'd texture.

	#jira UE-39304

Change 3268722 on 2017/01/23 by Olaf.Piesche

	Replicating 3256329

	#jira UE-38615

	Removing unnecessary assert that fires when exporting emitters.

Change 3268220 on 2017/01/23 by Nick.Whiting

	Adding in a new CVar (vr.SteamVR.UsePostPresentHandoff), which defaults to 0.  When set to 0, we do NOT use the SteamVR PostPresentHandoff, which costs some performance GPU time.  When 1, we use the call, and get some extra GPU performance.  However, this call is NOT safe for scenes that have frame-behind GPU work, like SceneCapture components and Widget Components

	#jira UE-40570

Change 3268180 on 2017/01/23 by Marc.Audy

	PendingKill Actors will no longer register their components when the level is being loaded
	#jira UE-40505

Change 3268076 on 2017/01/23 by Matthew.Griffin

	Changed Mac SunTemple cook jobs to use Sample Editor to avoid errors about mismatched files
	#jira UE-40806

Change 3267997 on 2017/01/23 by Mitchell.Wilson

	Increased lightmap size on spheres in volumes example to resolve issue with lighting.
	Corrected misspelling in multiple examples and one UMG asset.
	#jira UE-40890 UE-40926 UE-40882 UE-40928 UE-40825 UE-40819

Change 3267892 on 2017/01/23 by Mitchell.Wilson

	Removed preview mesh on M_Bird_Inst that was referencing a static mesh that was removed or renamed to resolve warnings in CIS.
	#jira UE-40300

Change 3267866 on 2017/01/23 by Thomas.Sarkanen

	Prevented crash when using Facial Animation importer

	Also hid the feature behind an experiemental setting flag, as it is not ready for users yet.

	#jira UE-40945 - Crash trying to import facial animations

Change 3267834 on 2017/01/23 by Nick.Darnell

	An addition to 3255247, this also adds input processing incrementing for double click, and preview mouse down.

	#jira UE-40313

Change 3267785 on 2017/01/23 by Marc.Audy

	Put proper line endings when modifying template files when installing feature pack
	#jira UE-40939

Change 3267761 on 2017/01/23 by Mitchell.Wilson

	Moved left landscape mesh slightly to hide a seam that can be seen when using VR and looking over the railing.
	#jira UE-40916

Change 3267632 on 2017/01/23 by Jurre.deBaare

	Marker syncs not working correctly in Blend Spaces
	#fix Ensure that SampleIndexWithMarkers is serialized
	#JIRA UE-40975

[CL 3287682 by Matthew Griffin in Main branch]
2017-02-06 10:41:38 -05:00
Ben Marsh
5275490168 Copying //UE4/Dev-Build to //UE4/Dev-Main (Source: //UE4/Dev-Build @ 3277940)
#lockdown Nick.Penwarden
#rb none

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

Change 3233612 on 2016/12/13 by Ben.Marsh

	UGS: Fix cases where precompiled binaries are submitted for a content change.

Change 3235584 on 2016/12/14 by Ben.Marsh

	UBT: Deprecate the overridable TargetRules.ShouldUseSharedBuildEnvironment() function; targets should specify which build environment to use by setting the BuildEnvironment field in their constructor instead.

Change 3235741 on 2016/12/14 by Ben.Marsh

	UBT: Deprecate the SetupBinaries() callback on the TargetRules class. Instead of overriding this, targets may override their launch module through the "LaunchModuleName" property in their constructor, and add extra modules to the "ExtraModuleNames" field on the TargetRules object itself.

Change 3238176 on 2016/12/16 by Ben.Marsh

	UBT: New XML config file parser. Now reads once at startup and can be applied to instanced objects rather than global fields, and caches parsed output in a binary form for quicker initialization on subsequent runs.

Change 3238249 on 2016/12/16 by Ben.Marsh

	UBT: Add attribute-driven command line parser.

Change 3238462 on 2016/12/16 by Ben.Marsh

	UBT: Include the Platform, Configuration and Architecture on the TargetRules. Add a constructor which takes the TargetInfo object and deprecate the parameterless one; these fields are currently initialized before invoking the constructor in RulesAssembly.

Change 3238564 on 2016/12/16 by Ben.Marsh

	UBT: Deprecate the ModuleRules constructor which takes a TargetInfo argument. Replace it with a read-only wrapper around the target rules instead, so target-specific configuration options can be read without needing to access global static variables. Also require that it's passed to the base class constructor.

Change 3239919 on 2016/12/19 by Ben.Marsh

	UBT: Remove the "PreferredSubPlatform" property. This is only used for Windows XP support, which is being retired anyway. Having the target define its own architecture is an awkward contractiction to maintain support for, since the target rules are constructed after the architecture already has been determined.

Change 3240061 on 2016/12/19 by Ben.Marsh

	UBT: Remove ThirdPartyHeaderFinder. I don't think anything is using this any more.

Change 3240175 on 2016/12/19 by Ben.Marsh

	UBT: Add the target name and project file location to the target rules.

Change 3240490 on 2016/12/19 by Ben.Marsh

	UAT: Remove Mac staging code that requires UAT to compile and construct .target.cs files when packaging, to check bUseSteam and bUseCEF3 flags. libsteam_api.dylib is now staged at build time by adding it as a bundle resource, CEF3 is already marked as a runtime dependency by CEF3.build.cs, and UnrealCEFSubProcess.app is already marked as a runtime dependency from WebBrowser.build.cs.

Change 3240717 on 2016/12/20 by Ben.Marsh

	UAT: Allow configuring UAT to run as if on a build machine by passing the -buildmachine argument on the command line.

Change 3240718 on 2016/12/20 by Ben.Marsh

	UAT: Remove target-specific properties that are no longer used by staging (bUsesSlate, bUsesCEF3, etc...). This stuff should all be handled inside UBT.

Change 3241002 on 2016/12/20 by Ben.Marsh

	UBT: Move most target configuration settings from UEBuildConfiguration to TargetRules. This encapsulates target specific settings that will allow instancing multiple targets in the future. To facilitate migration of settings to their new location, "UEBuildConfiguration" is now a property that returns the current target rules instance.

Change 3241027 on 2016/12/20 by Ben.Marsh

	Only copy the Steamworks dylib into the app bundle for monolithic builds. For all other times, just add it as a runtime dependency.

Change 3241055 on 2016/12/20 by Ben.Marsh

	UBT: Only store a ReadOnlyTargetRules object on the instanced build target; finalize the configuration before it's instantiated.

Change 3241156 on 2016/12/20 by Ben.Marsh

	Update SwarmInterface.csproj to .NET framework 4.5, to match what all other C# tools are using.

Change 3241205 on 2016/12/20 by Ben.Marsh

	Replace all uses of TargetRules.TargetType with TargetType.

Change 3241881 on 2016/12/21 by Ben.Marsh

	UBT: Remove project file information from UEBuildContext base class. As configurable properties are moved on to the TargetRules object, it will no longer be a dependency to instantiate the platform with this path.

Change 3241895 on 2016/12/21 by Ben.Marsh

	UBT: Remove toolchain support for Windows XP.

Change 3241908 on 2016/12/21 by Ben.Marsh

	UBT: Move settings for windows targets into a WindowsTargetRules class, which is exposed for targets to modify via the TargetRules.WindowsPlatform field.

Change 3242835 on 2016/12/22 by Ben.Marsh

	UBT: Fix multiple binaries being created if plugins specify module names more than once. MfMedia.uplugin has MfMediaFactory listed twice.

Change 3242837 on 2016/12/22 by Ben.Marsh

	Change UE4EditorServices to include MacSystemIncludes rather than Cocoa.h directly; causes FVector to be defined incorrectly in non-unity builds.

Change 3242923 on 2016/12/22 by Ben.Marsh

	Build: Fixes for conforming incremental workspaces:

	* P4 have table is now reset before deleting all the files. This prevents Perforce being out of sync if the delete fails for some reason.
	* Incremental workspaces are skipped when running a clean operation, because they do not have a workspace capture file (causing a full re-sync, always). The "P4 Clean" option is still effective for cleaning these workspaces.

Change 3242961 on 2016/12/22 by Ben.Marsh

	UBT: Move entry points from PreBuildSync() and PostBuildSync() from UEToolChain to UEBuildPlatform, and make the original toolchain versions static. These functions are already at odds with the rest of the data flow within UBT because they rely on global state cached outside the toolchain instance, making assumptions that UBT is only ever going to be invoked with one target that's constructed in the same run and that nothing is being cached (eg. UBT makefiles). Moving them onto UEBuildPlatform simplifies the toolchain lifecycle for other platforms without leaving Mac and IOS any more limited than they were before.

Change 3242981 on 2016/12/22 by Ben.Marsh

	UBT: Remove symbol server handling code into UAT's platform library, since it's never needed from inside UBT.

Change 3242999 on 2016/12/22 by Ben.Marsh

	UBT: Remove the StripSymbols() function from the UEToolChain base class. This functionality is only required by UAT, so it's better suited to being exposed through UAT's modular platform classes.

Change 3243022 on 2016/12/22 by Ben.Marsh

	UBT: Require an instance of the target rules to be able to construct a toolchain in UBT. This will allow configuring toolchain-specific options from the target, using reflection from config files, and the command line.

Change 3243083 on 2016/12/22 by Ben.Marsh

	UBT: Move settings for the Windows compiler version to use onto the Windows-specific target rules.

Change 3243090 on 2016/12/22 by Ben.Marsh

	UBT: Change the third party paths in UEBuildConfiguration to constants. Changing these would not work.

Change 3243423 on 2016/12/23 by Ben.Marsh

	UBT: Move a lot of settings from BuildConfiguration to TargetRules. This allows different targets to have different settings, naturally, and moves converts argument parsing and config to be driven by attributes.

Change 3243516 on 2016/12/23 by Ben.Marsh

	UBT: Remove the ValidateUEBuildConfiguration callback, which is no longer used. (XGE settings validation occurs in XGE.cs)

Change 3244020 on 2016/12/28 by Ben.Marsh

	UBT: Remove the BaseIntermediatePath static property. Precursor to removing RelativeEnginePath and IntermediateFolder properties.

Change 3244074 on 2016/12/28 by Ben.Marsh

	UBT: Remove the RelativeEnginePath variable from BuildConfiguration. UnrealBuildTool.EngineDirectory gives the absolute path, and can be used to construct a relative path when necessary.

Change 3244076 on 2016/12/28 by Ben.Marsh

	UBT: Remove BuildConfiguration.BaseIntermediateFolder; just use a fixed directory everywhere instead.

Change 3244083 on 2016/12/28 by Ben.Marsh

	UBT: Replace FileReference and DirectoryReference instance methods for manipulating files and directories with static methods, to mirror the System.IO.File and System.IO.Directory classes.

Change 3244441 on 2016/12/31 by Ben.Marsh

	UBT: Remove code to force PDBs when building with no debug info under XGE. Verified described symptoms (that it causes PCH generation to be serialized) no longer occur.

Change 3244687 on 2017/01/03 by Matthew.Griffin

	Changed Exception to use FirstInclude.IncludeName as PrecompiledHeaderIncludeFilename can be null when this occurs

Change 3246112 on 2017/01/04 by Ben.Marsh

	UBT: Fix UHT failures building some targets with the -useprecompiled option, due to differences in the order that circularly dependent modules are parsed. Precompiled binaries are now kept in the regular AppBinaries list, but are excluded from the build at the last minute. Also change some checks from IsEngineInstalled() to bUsePrecompiled, to prevent headers being overwritten when running in a non-installed precompiled build.

Change 3246223 on 2017/01/04 by Ben.Marsh

	UBT: Prevent version manifests being overridden if a file is not being built as part of the target.

Change 3246387 on 2017/01/04 by Ben.Marsh

	UBT: Remove BuildConfiguration settings for UnrealCodeAnalyzer. This tool isn't used at the moment, but it's configured using global variables accessed from all over the UBT codebase, making it difficult to refactor the build options into an instanced object. If we bring this tool back from the dead in the future, it should be possible to implement it using the exported JSON target definition or the XGE manifest, similarly to how IncludeTool uses it.

Change 3247004 on 2017/01/04 by Ben.Marsh

	UBT: Simplify the logic for cleaning targets in UBT. Now uses FileReference/DirectoryReference objects everywhere, doesn't require the compile/link environment, and does all the checking to avoid deleting precompiled binaries in one place.

Change 3247250 on 2017/01/04 by Ben.Marsh

	UBT: Prevent precompiled binaries being added to the list of app binaries twice.

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

	Build: Run sample and template editors on the same agents as the other incremental builds. Remove ProtoStar, which does not have any non-precompiled editor target to build.

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

	UBT: Allow the toolchain to update the list of build products for each module linked into a binary. Allows Mac to add dylibs and bundle resources specified per-module without having to construct a link environment and try to link them.

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

	UBT: Instance the target compile and link environments when they are required during building, and don't persist them on the UEBuildTarget instance.

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

	EC: Add a batch file for testing postp filters.

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

	EC: Include the name of the file being compiled when parsing MSVC errors and warnings.

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

	UBT: Fix Android support for force included headers.

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

	PR #3097: UBT project supports optional platforms (Contributed by PrimalJohnScott)

Change 3249205 on 2017/01/06 by Ben.Marsh

	UAT: Fix ParseTaggedP4Output throwing an exception if the same key name is specified more than once. This can happen when parsing the output from "P4 INFO", where multiple brokers are present.

Change 3249249 on 2017/01/06 by Ben.Marsh

	UBT: Check for the existance of AndroidManifest.xml within extracted AAR directories, rather than just checking for the existance of the directory itself. Perforce does not remove empty directories when cleaning a workspace unless the rmdir option is on the workspace, so this can cause incremental build failures to fail on build machines.

Change 3249486 on 2017/01/06 by Ben.Marsh

	UBT: Use relative paths in unity files when compiling for Mac/IOS, rather than generating a separate local/remote version of the file for gathering include dependencies. Absolute paths are only used to work around the way that MSVC concatenates paths internally; we don't hit the same problems when checking dependencies.

Change 3249736 on 2017/01/06 by Ben.Marsh

	UBT: Rename CPPEnvironment to CppCompileEnvironment, and remove the separate CPPEnvironmentConfiguration object. All settings are now stored directly on the CppCompileEnvironment object.

Change 3250179 on 2017/01/07 by Ben.Marsh

	Fix creating installed build when root directory contains a space in the name.

Change 3250181 on 2017/01/07 by Ben.Marsh

	UBT: Remove some esoteric (and unused, AFAIK) options for orthogonally building different platforms.

Change 3250223 on 2017/01/07 by Ben.Marsh

	UBT: Merge the LinkEnvironment and LinkEnvironmentConfiguration classes together.

Change 3250233 on 2017/01/07 by Ben.Marsh

	UGS: Allow specifying a workspace-specific sync filter, which is applied on top of the standard filter. Also fix filter being cleared if the cancel button is pressed, and help text being stripped out.

Change 3250241 on 2017/01/07 by Ben.Marsh

	UBT: Move the options for specifying additional Android architectures to target onto an Android-specific object on the TargetRules.

Change 3250400 on 2017/01/08 by Ben.Marsh

	UBT: Move executor config settings onto the executor instances.

Change 3257708 on 2017/01/13 by Ben.Marsh

	UBT: Remove the ThirdPartySourceDirectory constant; there are many places which hard-code or assume this location anyway, and it's not going to change.

Change 3260535 on 2017/01/17 by Ben.Marsh

	Add an optional "RequiredSubmittedChange" setting to EC settings files. Allows a scheduled job to run even if there have been no code changes submitted. Test with the utilization capture job.

Change 3260875 on 2017/01/17 by Ben.Marsh

	EC: Fix workspaces getting out of sync wrt. newly added files when jobs are aborted during a sync. In such cases, the P4 have table indicates the new files have been synced locally, but the workspace is forced back to a state before it had them due to the capture file. When a following sync tries to add them again, P4 believes the workspace already has them synced.

	To work around this, we now write an additional file to the root folder of a workspace containing the last CL that was captured, and sync back to it before doing the reconcile.

Change 3261724 on 2017/01/18 by Ben.Marsh

	Allow filtering job types from the list view in EC. Hide the utilization capture job by default. Also set up notifications for the utilization capture job.

Change 3261756 on 2017/01/18 by Ben.Marsh

	IncludeTool: Prevent matching a full enum declaration as a forward declaration.

Change 3261932 on 2017/01/18 by Ben.Marsh

	EC: Add support for specifying days of the week in schedules. The following syntaxes are supported:

	"Monday, Tuesday and Wednesday at 10:30"
	"Daily except Sunday and Wednesday at 14:30"

	 Also tweak display of dates relative to now to handle dates/times in the future, and include the date when specifying a day name.

	#jira UEB-729

Change 3262676 on 2017/01/18 by Ben.Marsh

	UBT: Split UBTMakefile into its own file. (From PR #3106)

Change 3263893 on 2017/01/19 by Ben.Marsh

	UBT: Stop exporting platform classes from UBT, as well as all the referenced classes that have to be made public as a result. Any platform-specific functionality that needs to be shared with UAT is now exposed through wrappers in separate public classes, eg. WindowsExports.cs, IOSExports.cs, etc...

Change 3264291 on 2017/01/19 by Ben.Marsh

	UBT: Fix errors generating documentation in UBT, and enable it by default. Will catch more errors with new code being added. Originally in PR #3106, but redone due to conflicts.

Change 3264534 on 2017/01/19 by Ben.Marsh

	UBT: Include plugin config files in generated projects.

Change 3264571 on 2017/01/19 by Ben.Marsh

	UBT: Prevent overwriting .modules files if nothing has changed. On builders, it's common to build multiple editors in the same workspace, and changing the last modified timestamp causes BuildGraph to fail due to tampered files.

Change 3265745 on 2017/01/20 by Ben.Marsh

	UGS: Automatically open UGS when running the launcher for a second time, rather than prompting to close the original instance.

Change 3265777 on 2017/01/20 by Ben.Marsh

	UGS: Automatically close and reopen when UGS is re-ran with the shift key held down to switch into unstable mode.

Change 3268314 on 2017/01/23 by Ben.Marsh

	UBT: Make sure version manifests are stable by sorting the list of build products, so they are only touched if the contents have really changed.

Change 3269601 on 2017/01/24 by Ben.Marsh

	UBT: Fix symbol files being added to manifest for some platforms even though debug info is disabled.

Change 3269607 on 2017/01/24 by Ben.Marsh

	UBT: Fix bug where UBT would need to be invoked when switching between two editors sharing the same engine binaries on Mac. The location of the .modules file cannot be guessed on Mac by looking in the same directory as the primary output executable because it's an .app bundle, and the actual modules are nested several directories below that.

Change 3269608 on 2017/01/24 by Ben.Marsh

	UBT: Fix additional files copied into the app bundle always being updated on Mac. Now uses rsync --checksum to make sure only modified files are updated.

Change 3271062 on 2017/01/24 by Ben.Marsh

	UBT: Fixes for bugs detected by PVS Studio (PR #3161)

Change 3272421 on 2017/01/25 by Ben.Marsh

	Fix commends regarding DDC in BaseEngine.ini

	#jira UE-41076

Change 3272810 on 2017/01/25 by Ben.Marsh

	Fix VS2017 being displayed as 'Visual Studio 15' in the Windows target settings panel.

Change 3272935 on 2017/01/25 by Ben.Marsh

	Fix Metal errors launching on Mac due to use of OSX environment settings before they are initialized. Toolchain settings are now constructed on demand in a separate class, for Mac, iOS and TVOS.

Change 3274167 on 2017/01/26 by Ben.Marsh

	Fix resource files not being compiled in installed builds on Windows. Was causing metadata not to be embedded into executables.

	#jira UE-36457

Change 3275557 on 2017/01/27 by Ben.Marsh

	Expand checks for propagation of restricted folder names to include source files, and to ensure that each restricted folder is represented in the output. Also improve messaging to show the dependency chain leading to a restricted folder being referenced, and which folder it is.

Change 3275628 on 2017/01/27 by Ben.Marsh

	UBT: Splitting configuration files into one class per-file.

Change 3276784 on 2017/01/29 by Ben.Marsh

	Add an authoritative list of confidential folder names, and expose it through global BuildGraph properties ($(RestrictedFolderNames) and $(RestrictedFolderFilter)). Also switch existing scripts to use it.

Change 3276792 on 2017/01/29 by Ben.Marsh

	UBT: Use UE4CSharp.prog files to indicate which projects should be included in the solution without having to hard-code a list of them in UBT.

Change 3277263 on 2017/01/30 by Ben.Marsh

	IncludeTool: Merging various fixes.

	* Fix warnings about #include directives after first code block from parsing monolithic headers.
	* Fix exception on startup if the intermediate directory does not already exist.
	* Add a special case for ignoring missing header guards from MonolithicHeaderBoilerplate.h, rather than marking it as an inline header. Marking it as inline prevents parsing include directives, which results in including CoreTypes.h from the wrong location.
	* Create job objects for spawned compiler instances to prevent them trying allocating more memory than the system can spare.
	* Remove (unused) code which makes assumptions about files ending with "Classes.h".
	* Add a verbose per-file output log to aid with debugging.
	* Negate the MakeStandalone command line option, which was added to allow tweaking forward declarations in already optimized files, so the optimized output does not have missing headers by default.
	* Fix missing headers when creating standalone files, due to incorrect list of previous files being passed in to the OutputFile constructor. Now passes the original list of included files, not the output list.
	* Fix initial header for a cpp file sometimes being removed. Forcibly including a header at the start of the file does not use the normal pathway for spidering through includes, so a second include of the same file was being generated. Any includes of that header were being forced into output, and the earlier include was then removed due to being redundant.
	* Prevent forward declaring enums which have to be parsed by UHT. UHT relies on includes to determine a parse order, and will fail if the enum definition has not been parsed first.
	* Use a relative path for private includes in the same module if there are any. Fixes some incorrect paths, and makes it clearer that we're doing something we shouldn't.

Change 3277307 on 2017/01/30 by Ben.Marsh

	UBT: Fix private PCHs not using correct header. Causes custom definitions to be excluded from the command line.

[CL 3278101 by Ben Marsh in Main branch]
2017-01-30 16:52:08 -05:00
Josh Adams
3f3c6fd578 Copying //UE4/Dev-Platform to //UE4/Dev-Main (Source: //UE4/Dev-Platform @ 3233741)
#lockdown Nick.Penwarden
#rb none

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

[NOTE: Switch changes have been removed from this list, and will be in a comment in //UE4/Main/Engine/Build/Switch/SwitchChanges.txt]

Change 3207431 on 2016/11/22 by Keith.Judge

	Make VectorSign on XB1 match (incorrect) SSE implementation rather than the reference FPU implementation. Too many things seem to rely on this to change the default behaviour now.

	#jira UE-36921
	#jira UE-38560

Change 3208206 on 2016/11/22 by Josh.Adams

	- Changed plugins upgrading a content-only project to code-based, even if the modules inside aren't compiled for the current platform. There are issues with runtime not knowing the plugin isn't needed. The proper way is to non-whitelist the platform in the project, not in the modules, if you don't want it to upgrade the project. See the comments in this change for more info.
	#jira UE-38929

Change 3209137 on 2016/11/23 by Alicia.Cano

	Add a check to iOS tool chain for exception flag
	#jira UE-36528
	#ios

Change 3209296 on 2016/11/23 by Ben.Marsh

	Always send build failure notifications in Dev-Platform to Will.Fissler@epicgames.com and Owen.Stupka@epicgames.com

Change 3211316 on 2016/11/28 by Joe.Barnes

	Fix some typos

Change 3211318 on 2016/11/28 by Joe.Barnes

	Fix wrong function name in header file. Didn't match actual function name in RenderingThread.cpp

Change 3213227 on 2016/11/29 by Dmitry.Rekman

	Add -fPIC to libwebsockets on Linux.

Change 3213463 on 2016/11/29 by Nick.Shin

	helper build scripts for CentOS 7 Linux (via Docker)

	LINUX: pull source and compile: zlib openssl libcurl & libwebsockets

	using [ glibc 2.17 ]  & [ gcc 4.8.5 ]

	Docker creates an image (that is essentially a CentOS box) and runs the build script within that environment (called a container).  think of this as a VM -- but waaaaaaay better -- nothing is virtualized -- it's all on the metal.

	#jira UEPLAT-1246  -  Update libWebsockets
	#jira UEPLAT-1221  -  update websocket library
	#jira UEPLAT-1203  -  Add Linux library for libwebsockets
	#jira UEPLAT-1204  -  Rebuild libwebsockets with SSL

Change 3213939 on 2016/11/29 by Michael.Trepka

	Ignore parent widget's geometry scale when showing a popup menu in a separate window

	#jira UE-38706

Change 3215583 on 2016/11/30 by Josh.Adams

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

Change 3216345 on 2016/11/30 by Josh.Adams

	Better fix for poison proxy fix

Change 3217106 on 2016/12/01 by Michael.Trepka

	Fixed a crash caused by an attempt to use FPlayWorldCommands::GlobalPlayWorldActions before it's initialized when showing suppressable warning dialogs in UEditorEngine::UpdateAutoLoadProject()

	#jira UE-38816

Change 3217223 on 2016/12/01 by Josh.Adams

	- Fixed some TEXT macro warnings that crept in from IWYU changes

Change 3217253 on 2016/12/01 by Dmitry.Rekman

	Linux: fix GL crash (UE-17649).

	- Making sure all streams are set up. Fix by Cengiz.

Change 3217473 on 2016/12/01 by Daniel.Lamb

	Fixed a case when we load a map it might not have it's sublevels loaded because it's not treated like a map.
	#test cook run QAGame

Change 3217588 on 2016/12/01 by Peter.Sauerbrei

	Pull in IPv6 fix

Change 3217654 on 2016/12/01 by Michael.Trepka

	Changed the Mac-specific high DPI code to use system backingScaleFactor only if NSHighResolutionCapable in Info.plist is set to true. This solves the problem with macOS Sierra giving us actual backingScaleFactor values even in low DPI modes.

Change 3217873 on 2016/12/01 by Josh.Adams

	- Added some logging to a tvOS assert, since debugging it right away is tricky

Change 3218097 on 2016/12/01 by Josh.Adams

	- Fixed up the Switch MediaFramework, making editor better, etc
	- ALso changed PS4 and Xbox plugins to be enabled by default by having two entries in the plugin module for the Factory modules (an editor only entry, and a platform specific runtime entry... this will make it so that UE4Game.exe won't ahve it compiled in, even with it enabled by default)

Change 3218133 on 2016/12/01 by Dmitry.Rekman

	Linux: report server hangs by crashing the hung thread (UE-39164).

Change 3218512 on 2016/12/01 by Josh.Adams

	- Made the MfMedia plugin to be distributable in public builds, since it's for Windows and Xbox

Change 3219804 on 2016/12/02 by Dmitry.Rekman

	Linux: fix project settings crash (UE-38800).

	- Also submitted as a pull request #2945.

Change 3220027 on 2016/12/02 by Nick.Shin

	plow all physx libs into build

	NOTE: most browsers will not function
	- chrome and firefox nightly only works

	checking this in as per email

	#jira UE-38323 VehicleTemplate Vehicle does not move in HTML5

Change 3221620 on 2016/12/05 by Joe.Barnes

	UE-37275 - Temporary workaround for log lines losing carriage returns. Add's a \n when outputting lines if there isn't one at the end.

Change 3221689 on 2016/12/05 by Dmitry.Rekman

	Attempt to change/rename.

Change 3221700 on 2016/12/05 by Dmitry.Rekman

	Another attempt to change renamed file (from Linux).

Change 3221731 on 2016/12/05 by Michael.Trepka

	Added missing initialization for FAvfVideoSampler::MetalTextureCache

	#jira UE-38689

Change 3221792 on 2016/12/05 by Michael.Trepka

	Fixed a crash in FMetalDynamicRHI::RHIAsyncReallocateTexture2D for PVRTC2 textures

Change 3222675 on 2016/12/05 by Josh.Adams

	- Removed some resolution setting junk that was recently added to PlatformerGame - settings resolution on AppleTV is bad, it doesn't need to change resolution on non-desktop platforms
	#jira UE-39188

Change 3223546 on 2016/12/06 by Brent.Pease

	 + Properly set and use the realtime compression for ios.
	 + Reduce unused memory on ios from the precached first buffer
	 + Fix a resource tracking issue that was causing a double free on the sound buffer

Change 3223785 on 2016/12/06 by Brent.Pease

	 + Add support for iPhone7 (implemented by peter.sauerbrei, merged in from WEX)

	#jira ue-38701

Change 3224314 on 2016/12/06 by Chris.Babcock

	Send OnTargetPlatformChangedSupportedFormats when format changed in Android project settings in editor
	#jira UE-38361
	#ue4
	#android

Change 3225367 on 2016/12/07 by Josh.Adams

	- Added FKey::Virtual_Accept and Virtual_Back, which will map to FaceButton Right/Down appropriately based on platform (Switch swaps them)
	- Made changes to ShooterGame and VehicleGame for Virtual_Accept and Back
	- Added some icons for ShooterGame, and changed some text blocks to SRichTextBlock to insert the icons

Change 3225426 on 2016/12/07 by Chris.Babcock

	Add missing Android UPL file for binary builds
	#jira UE-39420
	#ue4
	#android

Change 3225471 on 2016/12/07 by Dmitry.Rekman

	Update all platforms to C++14.

Change 3225525 on 2016/12/07 by Nick.Shin

	Cook-On-The-Fly for HTML5

	- re-enabled: ENetworkFileServerProtocol::NFSP_Http

	- cleaned up port numbers used with cook-on-the-fly situations

	- fixed null_ptr in NetworkFileServerHttp.cpp

	- fix CORS issue with HTML5LaunchHelper (not really needed -- but doesn't hurt to have it in the test server)

	- finally, the core of the jira issue:
	  o fix serialization bug: do not append zero sized data
	  o fix de-serialization bug: removed double insertion of packet "Marker and Size" header

	#jira UE-38281 Quicklaunch UFE HTML5 fails to get COTF Header Size

Change 3225690 on 2016/12/07 by Dmitry.Rekman

	Linux: improvements in touch support.

	- Multiple fingers.
	- Filtering out "moved" events from the same location.
	- Consistent logging.

	(Edigrating 3225194 from Wombat to Dev-Platform)

Change 3225868 on 2016/12/07 by Josh.Stoddard

	Gracefully handle delete without matching new on iOS & Mac

	#jira UE-39395

Change 3226159 on 2016/12/07 by Omar.Rodriguez

	UEPLAT-1423 WEX: Improved virtual keyboard for Android

	* Renamed old virtual keyboard functions by adding "Dialog" suffix to the name
	* Added new virtual keyboard functions that use InputMethodManager to show/hide keyboard
	* Hide the virtual keyboard, if shown, onPause
	* Slate edit box decides which functions to call for showing/hiding keyboard
	  - eventually will be based on command line parameter like in IOS

	#jira UEPLAT-1423

Change 3226167 on 2016/12/07 by Dmitry.Rekman

	Allow running as root on ARM.

	(Edigrating 3204974 to Dev-Platform)

Change 3226168 on 2016/12/07 by Dmitry.Rekman

	Print current CVar value when denying an override.

	(Based on CL 3205476).

Change 3226169 on 2016/12/07 by Dmitry.Rekman

	Allow enabling sound (if disabled by default).

	(Based on CL 3205505)

Change 3226171 on 2016/12/07 by Dmitry.Rekman

	Allow running from symlinks.

	(Edigrating 3205518 to Dev-Platform).

Change 3226174 on 2016/12/07 by Dmitry.Rekman

	Linux: do not init SDL audio (we do not use it anyway).

	(Based on CL 3205505).

Change 3226327 on 2016/12/07 by Nick.Shin

	fix CIS warning

	#jira UE-38281 Quicklaunch UFE HTML5 fails to get COTF Header Size

Change 3226506 on 2016/12/08 by Dmitry.Rekman

	Fix one more case-sensitive misspelling (UE-39030).

	- Submitted as part of PR #2976.

Change 3226542 on 2016/12/08 by Dmitry.Rekman

	Linux: fix weirdness with tesselation in GL4 (UE-32865).

	- Workaround by CengizT. Proper fix tracked as UE-39489.

Change 3226570 on 2016/12/08 by Dmitry.Rekman

	Fix for ar failing due to too long command line (UE-39009).

	- Based on PR #2973.

Change 3226575 on 2016/12/08 by Dmitry.Rekman

	Add build-essential to dependencies (UE-39053).

	- PR #2981 contributed by cpyarger.

Change 3227129 on 2016/12/08 by Josh.Adams

	Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform)
	Fixed up a deferred GL error as well
	Fixed some copyrights of files not in main

Change 3227260 on 2016/12/08 by Omar.Rodriguez

	UE-39140 Projects with iCloud are failing provisioning check when code signing.

	* Set default value of bEnableCloudKitSupport to False
	* Set value of get-task-allow to true only on non-distribution builds
	* Only write out the entitlements file if changes have been made

	#jira UE-39140

Change 3229312 on 2016/12/09 by Dmitry.Rekman

	Fix missing responses (UE-39572).

	- Proper implementation of UE-39009.

Change 3230849 on 2016/12/12 by Dmitry.Rekman

	Linux: fixed Android packaging (UE-39635).

	- Misspelled case; fixed by JohnHenry Carawon.

	#jira UE-39635

Change 3231591 on 2016/12/12 by Peter.Sauerbrei

	fix for splash screen not being turned off by default
	#jira UE-39591

Change 3231880 on 2016/12/12 by Josh.Adams

	- Fixing StaticAnalysis warnings, but -enablecodeanalysis stopped working for some reason, and the /Zm thing has hit me really hard, so this is a hopeful checkin for static analysis issues
	#jira UE-39680

Change 3232816 on 2016/12/13 by Dmitry.Rekman

	Linux: fix for CEF (UE-39682)

	- Fix by Cengiz.Terzibas.

Change 3232873 on 2016/12/13 by Josh.Adams

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

Change 3232933 on 2016/12/13 by Josh.Adams

	- Missed the files that were needed to fix up after merge from main, but didn';t come from main

Change 3233066 on 2016/12/13 by Ben.Marsh

	UBT: Ignore exception if PATH variable contains invalid characters when looking for XGE.

Change 3233512 on 2016/12/13 by Ben.Marsh

	Fix static analysis warnings.

[CL 3233813 by Josh Adams in Main branch]
2016-12-13 19:47:16 -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