Commit Graph

151 Commits

Author SHA1 Message Date
Ryan Vance
cf29818a4d Merging //UE4/Dev-Main to Dev-VR (//UE4/Dev-VR)
#rb integration
Unblocking RoboMerge

[CL 4836190 by Ryan Vance in Dev-VR branch]
2019-01-29 17:41:46 -05:00
Ryan Vance
7c51ff94af Merging //UE4/Dev-Main to Dev-VR (//UE4/Dev-VR)
CL 1 of 8
#rb integration

[CL 4748712 by Ryan Vance in Dev-VR branch]
2019-01-17 18:54:05 -05:00
jason bestimt
f5c215ebfe #CodeReview: jason.bestimt,nick.whiting,mike.beach
--------------------------------------
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core [at] 4285612)
#lockdown Nick.Penwarden

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

Change 3836829 by Ben.Marsh

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

Change 3839519 by Ben.Marsh

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

Change 4042043 by Steve.Robb

	GitHub #4705 : Added weak lambda's for delegates and multicast delegates.

Change 4042056 by Robert.Manuszewski

	Optimized Mark Phase of GC by up to 10ms by making it run in parallel and removing a huge array presize which we didn't need.

Change 4042104 by Robert.Manuszewski

	Set the minimum GC cluster size to 5 so that GC doesn't have to process micro clusters which are more expensive than processing individual objects

	+ Exposed the minimum cluster size to ini and project settings as gc.MinGCClusterSize
	+ Added the ability to sort clusters by name/object count/mutable object count/referenced clusters count when dumping them with gc.ListClusters command

Change 4042377 by Robert.Manuszewski

	Reworked how GC and other threads (ALT specifically) interact - GC will now notify the ALT it wants to run and ALT will immediately try to finish its current work to allow that. Also the entire ALT tick is now protected against GC running at the same time to improve ALT stability.

	+ added gc.ForceCollectGarbageEveryFrame console variable that triggers a forced GC every frame

Change 4042427 by Robert.Manuszewski

	Changed FGCCSyncObject to use events when waiting for GC to finish so that it doesn't spin on non-game threads when GC is running

Change 4042482 by Robert.Manuszewski

	Unhashing unreachable objects (ConditionalBeginDestroy) will now also be done incrementally, just like the purge phase of Garbage Collection

Change 4042635 by Robert.Manuszewski

	Fix for a potential assert when incremental purge garbage is pending and something forces a full purge

Change 4044092 by Steve.Robb

	Fix for forward declared CoreUObject weakobject types in delegates when building in Clang.

Change 4044102 by Robert.Manuszewski

	Fix for a possible hang when worker threads are preventing GC from running and something is later trying to FlushAsyncLoading with the Async Loading Thread enabled

Change 4044113 by Steve.Robb

	Another Clang fix.

Change 4044160 by Robert.Manuszewski

	Disregard For GC pool will now be enabled by default in cooked builds

Change 4044287 by Steve.Robb

	Typo fix.

Change 4047723 by Graeme.Thornton

	TBA: Fixes for import/export name cache and object resolving

Change 4048015 by Graeme.Thornton

	TBA: Weak/Soft/Lazy pointer serialization changes

	* Remove FWeakObjectPtr::Serialize, move it's logic into, and replace usages of with calls to, FArchiveUObject::SerializeWeakObjectPtr(). Ensures that something is always sent to the archive so that structured archives can be kept happy in the future.
	* Added Weak/Soft/Lazy pointer handling to the structured archive slot interface and all the formatters. Binary formatters just forward the call onto their inner and text archives store as a string path reference.
	* FArchiveUObjectFromStructuredArchive caches all these pointer types and stores indices in the binary block, same as with a UObject*. All pointers are then forwarded to the underlying formatter in one go on finalization.

Change 4048021 by Steve.Robb

	Fix for binding an unbound TFunction to another TFunction with a different signature.  Also all null pointers now count as unbindings, not just nullptr.
	TIsMemberPointer added.
	TIsATFunction and TIsATFunctionRef renamed to remove the 'A's.

Change 4048544 by Robert.Manuszewski

	Fixing ConditionalBeginDestroy profiling after changes to incremental CBD.

Change 4051028 by Graeme.Thornton

	TBA: ArchiveFromStructuredArchive adapter uses Inner to determine if it is outputting to text, and sets it's own ArIsTextFormat to false

Change 4051056 by Graeme.Thornton

	TBA: High level tagged property / UObject base class text serialization
	 - UObject serialize converted to structured archive
	 - Properties written to text individually with text tags, and then binary adapted values
	 - Only saves, doesn't load

Change 4051111 by Graeme.Thornton

	TBA: Temporarily disable loading of text assets until tagged property serialization path is fixed up

Change 4051154 by Graeme.Thornton

	TBA: Convert a few uobject serializers to structured archive format for example purposes

Change 4051181 by Graeme.Thornton

	TBA: Added default structured archive implementation of SerializeItem to UProperty, which just calls the FArchive version on an FArchiveUObjectFromStructuredArchive adapter. Implemented structured archive SerializeItem for UArrayProperty

Change 4051197 by Graeme.Thornton

	TBA: ObjectProperty text serialization

Change 4051216 by Graeme.Thornton

	Restored a modified FWeakObjectPtr::Serialize function to keep backwards compatibility in code I don't have access to.

Change 4051261 by Graeme.Thornton

	TBA: Convert UMetaData to structured archive

Change 4051374 by Steve.Robb

	Incorrect assert removed.

Change 4051562 by Robert.Manuszewski

	Adding stats for the new GC internal functions

Change 4051614 by Graeme.Thornton

	TBA: Removed UProperty::SerializeItem(FArchive, ...) and replaced with UProperty::SerializeItem(FStructuredArchive::FSlot, ...). Fixed up most of them to work properly and added adapters in for any that were non-trivial.

Change 4052512 by Graeme.Thornton

	TBA: Temporary workaround for softobjectptr and lazyobjectptr uproperties not serialization anything when they know the archive is a reference collector. They should always be serializing their pointers and letting the underlying archive itself ignore them.

Change 4053917 by Robert.Manuszewski

	Clustered objects from clusters that are no longer reachable will now be marked as unreachable immediately when gathering unreachable objects

Change 4053919 by Robert.Manuszewski

	Added the ability to disable incremental BeginDestroy in ini/project settings

Change 4055518 by Daniel.Lamb

	Fixup for deterministic audio generation issue.
	Submitted on behalf of Rich.Whitehouse

	#jira nojira
	#test prefilght automated test.

Change 4056854 by Graeme.Thornton

	TBA: Added a test asset to EngineTest which contains all the different property types and test cases.

Change 4056858 by Graeme.Thornton

	TBA: Updated USetProperty to proper structured archive usage

Change 4056872 by Graeme.Thornton

	TBA: Add map property field to test object

Change 4056873 by Graeme.Thornton

	TBA: Convert UMapProperty to full structured archive

Change 4056994 by Graeme.Thornton

	TBA: Converted FText over to structured archive. Implemented saving, but not loading.

Change 4059728 by Ben.Marsh

	UBT: Add support for using adaptive non-unity builds when the engine and project are in separate repositories.

Change 4059805 by Graeme.Thornton

	Fixed typo in text serialization. Fixes CIS automation test errors

Change 4060007 by Graeme.Thornton

	TBA: FArchiveFromStructuredArchive will now access it's host slot lazily, i.e. only when a value is actually written to the archive.

Change 4060092 by Stefan.Boberg

	Added optimized Windows console window output path to GenericConsoleOutput since this slowed down cooking considerably (2 minutes spent in wprintf alone for one large dataset)

	When stdout is attached to a console we use the WriteConsoleW function instead of wprintf since the latter is very slow especially in unbuffered mode which the engine currently configures for stdout (see setvbuf call in LaunchEngineLoop.cpp).

	At some point we should reconsider this buffering policy since it's likely to slow down other platforms as well but I wanted to do a safe change for now as I don't yet fully understand why the setvbuf call is there in the first place.

Change 4060108 by Stefan.Boberg

	Introduced some additional target platform utilities to help with asset cook optimizations

	* We now assign each ITargetPlatform a zero-based ordinal value
	* Introduced FTargetPlatform and FTargetPlatformSet types to help store platform references and platform sets efficiently.

	These are not currently used in the engine but are designed to replace the existing ITargetPlatform/string/FName representations in the cooking data structures.

Change 4060143 by Graeme.Thornton

	Undo //UE4/Dev-Core/Engine/Source/Runtime/... changelist 4060007

	Needs some other changes that I haven't checked in yet...

Change 4062432 by Ben.Marsh

	Fix error message when enumerating P4 changes.

Change 4062648 by Ben.Marsh

	Add missing p4 integration action.

Change 4063620 by Graeme.Thornton

	Integrated a fix from UDN where the engine would crash when trying to load a very small encrypted file (<16bytes) from a pak file, where the read address wasn't already aligned to the AES block size.

	(https://udn.unrealengine.com/questions/431989/crash-while-reading-a-very-small-file-in-encrypted.html)

Change 4066963 by Robert.Manuszewski

	Fixing GC cluster verification code reporting false positives when a cluster is referencing another cluster through 'mutable' objects list.

Change 4067133 by Robert.Manuszewski

	Changed log verbosity when reporting individual cases of GC cluster assumption violations as they are followed by an asser anyway and this way we get the chance to see all issues before we assert at the end of these checks.

Change 4067443 by Steve.Robb

	FString can now be constructed from any char pointer type and length.

Change 4068156 by Steve.Robb

	Fix necessary because of FString constructor change in CL# 4067443.

Change 4070258 by Graeme.Thornton

	Fixes for VSCode

Change 4070372 by Graeme.Thornton

	TBA: Script struct serialization to structured archives

Change 4071913 by Ben.Marsh

	Move bulk of the code for UnrealPak into an engine developer module, so it can be used in the editor.

Change 4071914 by Ben.Marsh

	Missing files.

Change 4071937 by Ben.Marsh

	Missing header.

Change 4072015 by Ben.Marsh

	Fixes for compiling PakFileUtilities as part of the editor.

Change 4072826 by Steve.Robb

	TBitArray::Reserve() added.
	TBitArray::Add() overloaded to allow adding multiple bits.
	TSparseArray::Reserve() optimized to call the overloaded Add().

Change 4073271 by Daniel.Lamb

	Fixed add patch tier in project launcher passing the wrong commandline option to UAT.

	#test none

Change 4074708 by James.Hopkin

	#core Removed redundant Casts

Change 4074763 by Steve.Robb

	Fix for TSparseArray::Reserve() size.

Change 4076063 by Ben.Marsh

	Add an "UnrealPak" commandlet with the same functionality as the standalone UnrealPak program. Invoke by running the editor with -run=UnrealPak and the standard UnrealPak commandline options.

Change 4077064 by Robert.Manuszewski

	Fixing compile error in PakFileUtilities

Change 4077144 by Graeme.Thornton

	TBA: TextAssetCommandlet improvements

	* Collect lists of broken assets during roundtrip tests and print a summary of packages that failed each phase at the end
	* After resaving as text, load the file back as a plain JSON hierarchy to ensure the output was valid

Change 4077412 by Ben.Marsh

	Set the correct exit code for UnrealPak. Should return 0 on success, not 1.

Change 4077760 by Graeme.Thornton

	TBA: Loading fixed for tagged property serialization

	Includes conversion of all UProperty::ConvertFromType() and SerializeFromMismatchedTag() functions to use structured archives

	Lazy initialization of FArchiveFromStructruredArchive when loading, to support the possibility of an adapter being create around an object property serialize call to its inner UStruct, which then decides not to do anything and return false. Stops the ArchiveFromStructuredArchive from consuming the slot and getting upset later on when we try to serialize normal tagged properties from it.

	Disabled lazy bulk data loading from text assets. Requires a bigger change to make it work.

	Added some debug checks to json input formatter which track the current value stack size when a new object is pushed onto the stack, and makes sure that the stack has returned to the same size when the object is popped. Catches cases where we unpack an array/stream to the value stack but then don't consume all the items.

Change 4078800 by Ben.Marsh

	Change UAT to using the editor's UnrealPak commandlet rather than invoking the standalone UnrealPak executable. To improve performance when building several PAK files, also add a new -batch=<file> command which reads commands to execute in parallel from a text file.

Change 4079745 by Graeme.Thornton

	TBA: Migrated a couple of UObject Serialize functions to FStructuredArchive (SoundCue / MaterialExpressions / Editor strip flags)

Change 4079847 by Graeme.Thornton

	TBA: Add 'FindMismatchedSerializers' mode to text asset commandlet, which dumps out a list of all UClasses which don't have the CLASS_MatchedSerializers flag, meaning we can't guarantee the have Serialize functions for FArchive AND FStructuredArchive, therefore we can't use the new structured archive based serialize path. Should only ever be native instrinsic classes as UHT takes care of all other cases.

Change 4079925 by Ben.Marsh

	Fix incorrect assignment when deriving name for chunked pak file.

Change 4080214 by Ben.Marsh

	Move the ThreadPoolWorkQueue class into DotNETUtilities so it can be used by other projects.

Change 4082394 by Graeme.Thornton

	CIS fix for variable shadowing warning

Change 4082583 by Ben.Marsh

	Add a IBinarySerializable interface for types that support reading from a BinaryReader and writing to a BinaryWriter. Implementing IBinarySerializable implies a constructor taking a BinaryReader argument is available for deserializing.

Change 4082652 by Ben.Marsh

	Fix FileReference.Directory not returning a directory with a trailing backslash for files in the root directory.

Change 4082755 by Graeme.Thornton

	Fixed an erroneous usage of TUniquePtr<uint8>as a pointer to a uint8 array when creating pak files. Caused a crash when compression was enabled, and has probably surfaced because pak generation is now done by an editor commandlet rather than a standalone program.

Change 4082756 by Graeme.Thornton

	Fixed some incorrect documentation for pakfile compressed chunk headers

Change 4082883 by Graeme.Thornton

	Static analysis warning fix

Change 4082912 by Ben.Marsh

	Move ExceptionUtils into DotNETUtilities.

Change 4085291 by Graeme.Thornton

	TBA: In the Json output formatter, write float and double values out with enough precision for successful roundtripping. Added some debug only code which will immediately reconvert the string back to its original value and compare the the input

Change 4085523 by Graeme.Thornton

	TBA: Remove only explicit usage of DECLARE_FSTRUCTUREDARCHIVE_SERIALIZER. Should only be used from UHT generated code.

Change 4086037 by Robert.Manuszewski

	Fix for a potential race condition when two threads want to acquire GC lock

Change 4088655 by Graeme.Thornton

	Pak creation now uses the bEnablePakSigning setting from the crypto config json file

Change 4091474 by Steve.Robb

	Fix for TStaticBitArray::FindFirstSetBit() and TStaticBitArray::FindFirstClearBit().
	Unused variables removed.

Change 4093632 by Steve.Robb

	CIS fixes.

Change 4093656 by Graeme.Thornton

	Build fix

Change 4093744 by Ben.Marsh

	Allow per-chunk settings for whether to enable compression in UnrealPak.

Change 4099712 by Gil.Gribb

	UE4 - Fixed rare case where insufficient space was preallocated for cooldown ticks.

	#jira UE-59686

Change 4099912 by Stefan.Boberg

	Cooking timer optimizations:

	- Replaced data structures for FScopeTimer and FHierarchicalTimerInfo. Previous implementation used FString for many things and caused *lots* of heap and string concatenation activity. Replaced with a compile-time node id (using __COUNTER__) and raw string literals.
	- Removed PERPACKAGE_TIMER support (was disabled by default and was difficult to test)
	- Made it possible to toggle OUTPUT_TIMING and ENABLE_COOK_STATS independently
	- Removed some extremely tight timers because the overhead from calling QPC significantly exceeded the measured code

	This change shaved some 15% off a clean cook of Fortnite WindowsClient (en) with fully populated local DDC

Change 4100519 by Stefan.Boberg

	Quick fix for Linux build issue introduced in 4099927

Change 4105327 by Stefan.Boberg

	Cooker: Changed FHierarchicalTimerInfo so it uses a linked list for tracking child nodes, to be able to deal with any child count. Previously we assumed there would never be more than 9 children but it turns out there are cooker modes that need more.

	Fixes check when using -FullLoadAndSave to cook

Change 4105448 by Stefan.Boberg

	- Fixed Linux build warning re: member initialization order
	- Also eliminated OUTPUT_HIERARCHYTIMERS/CLEAR_HIEARCHYTIMERS macros (plain functions are fine)
	- Moved finishing-up code for FullLoadAndSave() to TickCookOnTheSide() call site to improve timer output. Previously some of the scopes would not have been closed before printing and thus the output was misleading.

Change 4109031 by Ben.Marsh

	Attribute-driven Perforce wrapper (old Epic Friday project). Offers a more complete implementation than the current P4 wrapper in UAT without requiring any platform-specific libraries. Uses the Python binary output for parsing.

Change 4109588 by Ben.Marsh

	UBT: Add extension methods for serializing a nullable type to a BinaryReader/BinaryWriter.

Change 4109595 by Ben.Marsh

	Missing project file for DotNETUtilities.

Change 4110724 by Stefan.Boberg

	Removed annotation map locking in UObjectMarks, eliminating around one minute (~3.5%) from Fortnite cook time.

	The locking was redundant since the annotation maps are managed per thread anyway.

Change 4111304 by Ben.Marsh

	UAT: Add support for setting a status message through the log class. Allows writing transient messages (eg. progress messages) which will be cleared out before writing other messages. Best used through the LogStatusScope class, which can set a status message for the duration of a using() block.

	As part of this change, the console no longer has to be added as a dedicated trace listener. Since we already special-case this listener when formatting log output, it's easier to just keep the implementation separate to the other trace listeners.

Change 4112708 by Steve.Robb

	Fix for TBitArray::MaxBits in assignment.

Change 4114133 by Stefan.Boberg

	Tweaked how low-level memory (LLM) tracker is implemented to reduce overheads.

	Previously FMemory functions would acquire the LLM singleton and call OnLowLevelFree/OnLowLevelAlloc etc which would check the bIsDisabled flag and early out if it was set. Due to how frequently these functions were called this ended up costing quite a bit.

	- This change makes the flag a static member variable instead of a member variable and therefore enables a simpler early-out to be implemented.
	- The singleton getter is also simplified to avoid hitting the threadsafe singleton construction path on every call.
	- The enable flag is no longer TAtomic - this also incurs extra overhead for no clear benefit

	Shaves approximately 3.5% (one minute) off a Fortnite cook test scenario (using -FullLoadAndSave)

Change 4115010 by Robert.Manuszewski

	Fixing CIS

Change 4115249 by Robert.Manuszewski

	Fixing async loading code asserts when exiting game very early due to an error

	#jira UE-56267

Change 4117091 by Ben.Marsh

	Prevent doubled-up lines when writing status updates with console log verbosity.

Change 4117207 by Ben.Marsh

	UGS: Do not include executables in diagnostics zip file, and ignore "no such files" error when cleaning workspace.

Change 4119175 by Ben.Marsh

	UGS: Fix crash writing version files when directory does not already exist.

Change 4119987 by Ben.Marsh

	UGS: Show a dialog box while the launcher is updating executables from Perforce, which allows cancelling the operation if necessary. Allow setting the username on the settings window, and prompt for login credentials if necessary. Should prevent situations where users have to update settings from the command prompt.

	Holding down shift during launch now shows the settings dialog rather than an immediate prompt to launch the unstable version (unstable version is shown as a checkbox on this dialog).

Change 4119991 by Ben.Marsh

	Update version number for UGS launcher to 1.13.

Change 4121943 by Robert.Manuszewski

	Don't use FArchiveAsync2 for reading packages with non-async path in editor builds as its performance is worse than the standard archive's (saves about 1 minute when doing larger cooks and 7 seconds when loading into PIE)

Change 4122592 by Steve.Robb

	GitHub #4762 : Improve wording and grammar of Math comments
	Also includes improved accuracy in FMath::ComputeBoundingSphereForCone().

Change 4122819 by Stefan.Boberg

	Don't call CreateDirectory redundantly when opening files for writing using FFileManagerGeneric::CreateFileWriter

	This change avoids calling IPlatformFile::CreateDirectoryTree if possible since this is a very expensive function especially for deep hierarchies as it performs directory creation from the root directory onwards instead of from the leaf downwards. That function should also be fixed but this change improves performance in the meantime.

Change 4122872 by Stefan.Boberg

	CreateDirectoryTree now creates directories leaf-to-root instead of the other way around. This is much more efficient since we don't spend time on system API calls for directories which already exist. This accounted for a very large amount of CPU time in cooking as the full target file directory hierarchy would be "created" for every single output file.

Change 4123109 by Stefan.Boberg

	- Disable overlapped I/O in editor / cooker. Synchronous I/O reduces the number of syscalls and Windows performs prefetching on our behalf anyway for sequential reads
	- Eliminated syscall which was issued for every write to update cached file size -- since we're the only writers to the file (file access allows read sharing at most) we can authoritatively update the file size on write completion

Change 4123455 by Ben.Marsh

	PR #4775: New build param PCHMemoryAllocationFactor to set /Zm VS build param. (Contributed by lucaswall)


Change 4124207 by Ben.Marsh

	UBT: Remove some unnecessary indirection for generated code paths.

Change 4124217 by Ben.Marsh

	UBT: Remove another unused variable from UEBuildModuleCPP.

Change 4124377 by Stefan.Boberg

	In IPlatformFile::DeleteDirectoryRecursively, attempt to delete file first and if it fails clear the readonly flag and try again

	Previously there was a call to clear the readonly flag for every deleted file and this is a waste of resources 99% of the time. The SetFileAttributes call accounted for a significant amount of time during cooker sandbox directory deletion

Change 4125071 by Stefan.Boberg

	Some tweaks to FQueuedThreadPoolBase scheduling and memory management

	- Explicitly pass in false for TArray::RemoveAt(..., bool bAllowShrinking) argument to prevent memory reallocation when arrays are drained and inevitably repopulated shortly afterwards
	- Use a MRU strategy instead of LRU when picking a thread to wake up. The MRU thread is the most likely to have a 'hot' cache for the stack etc. Picking from the back of the array also happens to be cheaper since
	no memory movement is necessary when RemoveAt is called. (This was the strategy in place before CL2600362 which seems to have changed it unintentionally)
	- Release lock as soon as a thread has been chosen, before asking the worker thread to wake up and do the work

Change 4126132 by Ben.Marsh

	UAT: Detect when stdout is redirected and prevent using backspace characters to move the cursor.

Change 4126867 by Graeme.Thornton

	TBA: Fix tagged binary formatter

Change 4127010 by Robert.Manuszewski

	AnimScriptInstances created at runtime will now also be added to the owning omponent's cluster to avoid GC issues.

Change 4127932 by Ben.Marsh

	WorkspaceTool: Reduce unnecessary logging of status messages when console output is not redirected.

Change 4129050 by Ben.Marsh

	UGS: Check for NET Framework 4.5 being installed before running the installer. Also fix warning trying to kill existing UGS instances before upgrade.

Change 4129459 by Graeme.Thornton

	TBA: TextAssetCommandlet - When outputting converted assets to an output path, replicate the workspace relative path in the output directory

Change 4129515 by Graeme.Thornton

	TBA: Add EnterRecord overload that allows outputting of available field names when loading.

Change 4129517 by Graeme.Thornton

	TBA: Tagged properties are written out as named fields on the "Properties" record, rather than as a stream with a null tag at the end

Change 4129518 by Graeme.Thornton

	TBA: Added a local const bool to allow easy hacking out of text asset loading support

Change 4129558 by Graeme.Thornton

	TBA: Build fix for textasset-less configs

Change 4129614 by Ben.Marsh

	UGS: Main window is now restored to normal size when activated by clicking on the tray icon.

	#jira UE-60490

Change 4129618 by Ben.Marsh

	UGS: Speculative fix for unreproduced exception accessing disposed window while shutting down.

Change 4131936 by Robert.Manuszewski

	Removing some WIP code accidentally checked in with CL #4121943

Change 4133490 by Ben.Marsh

	UGS: Allow the $(Change) variable to be used in more places than just the context menu.

	#jira UE-60573

Change 4133550 by Ben.Marsh

	UGS: Setting for whether or not to use incremental builds is now exposed through the variable "$(UseIncrementalBuilds)" for use by custom build steps.

	#jira UE-60554

Change 4133681 by Ben.Marsh

	UGS: A per-project list of folders and extensions to be deleted by default when running the 'clean workspace' tool can now be specified through the <ProjectDir>/Build/UnrealGameSync.ini file. Settings may be specified for an individual branch (via a category with the depot path to the project) or for wherever the project is currently open (via the [Default] category).

	The SafeToDeleteFolders list specifies a substring that will be checked against folder paths. Anything containing this folder will be marked as safe for delete by default.

	The SafeToDeleteExtensions list specifies a list of extensions for files that can always be deleted.

	Example:

	 [Default]
	+SafeToDeleteFolders=/MyGame/Test/
	+SafeToDeleteFolders=/DataService/
	+SafeToDeleteExtensions=.xx1
	+SafeToDeleteExtensions=.xx2

	#jira UE-60575

Change 4135449 by Ben.Marsh

	Fix allowing use of Job objects on Windows platforms (debug code submitted by mistake)

Change 4135730 by Ben.Marsh

	UBT: Plugins can now be enabled and disabled from the .target.cs file (for targets that do not use the shared compile environment), by compiling the list of enabled/disabled plugin names into the Projects module.

Change 4135823 by Ben.Marsh

	UBT: Remove legacy code to handle disabling optional plugins; now that this is compiled into the target, it will work for any plugins we choose.

Change 4135945 by Ben.Marsh

	UBT: Fix error running programs with no explicitly enabled or disabled plugins.

Change 4137207 by Ben.Marsh

	UGS: Align all badges with the same name, to make it easier to see which CIS steps are being run. Allow overriding the slot taken by a particular badge by calling it "SlotName:LabelName".

Change 4137311 by Stefan.Boberg

	Removed child cooker support.

	In practice it is not a useful feature as it provides no performance improvement (quite the opposite in fact) and adds testing and maintenance complexity.

Change 4137393 by Ben.Marsh

	UGS: Fix display of multiline errors in the status panel.

Change 4141708 by Steve.Robb

	GitHub #3631 : Incorrect default argument in WeakObjectPtrTemplate

	#jira UE-45490

Change 4146655 by Stefan.Boberg

	Removed FullGCAssetClasses logic - no longer necessary nor useful

Change 4147318 by Ben.Marsh

	UGS: Compress build badges in a column if it shrinks below the size that they would be visible.

Change 4148207 by Ben.Marsh

	UGS: Added support for showing the latest completed build from a specific list of badges in the status panel. To declare a badge as one that should appear in the status panel rather than the CIS column, add it to the project's UnrealGameSync.ini in the project or [Default] section like so:

	+ServiceBadges=RoboMerge

Change 4148282 by Stefan.Boberg

	Fixed bug in UCookOnTheFlyServer::GetCookOnTheFlyUnsolicitedFiles - UnsolicitedFiles should be passed by reference not by value

Change 4148344 by Stefan.Boberg

	Fixed minor indentation error (most likely caused by sloppy merge)

Change 4148521 by Stefan.Boberg

	Removed accidentally checked in PRAGMA_DISABLE_OPTIMIZATION from CookOnTheFlyServer.cpp

Change 4148639 by Ben.Marsh

	UGS: Fix tooltips not showing for changes that have description badges.

Change 4149373 by Ben.Marsh

	UGS: Allow adding additional columns to display particular badges by adding entries from the project config file. Example syntax:

	+Columns=(Name="Desktop",MinWidth=50,DesiredWidth=100,Weight=3,Badges="Editor")
	+Columns=(Name="Mobile",MinWidth=50,DesiredWidth=100,Weight=3,Badges="IOS,Android")

	Same form can be used to control how default columns are displayed (though badge settings are ignored). Also allow PerforceMonitor to detect local changes to project config files and update settings automatically.

Change 4149399 by Ben.Marsh

	UGS: Update version to 1.143.

Change 4155660 by Steve.Robb

	PROJECTION and PROJECTION_MEMBER macros which provide the correct behavior when creating projections using functions which are overloaded or use default arguments.

Change 4157117 by Ben.Marsh

	Fix warning due to plugins disabled in .target.cs file.

Change 4158011 by Ben.Marsh

	UBT: Add a check that the UnrealHeaderTool target file exists, rather than throwing an exception when reading it fails.

Change 4158646 by Ben.Marsh

	UGS: Fix exception when login is discovered to have expired during a workspace update.

Change 4158678 by Ben.Marsh

	UGS: Fix an exception on shutdown due to the icon being hidden after it's already been disposed.

Change 4158683 by Ben.Marsh

	UGS: Add an unhandled exception filter which sends the exception data to the backend.

Change 4159131 by Ben.Marsh

	UGS: Reduce the number of characters displayed for build badges based on the available space.

Change 4159194 by Graeme.Thornton

	TBA: Fix incorrect map property conversion code when converting an old property that contains a map with different key/value types

Change 4159239 by Steve.Robb

	Improved readability and compliance with coding standards.

Change 4159246 by Ben.Marsh

	UGS: Allow syncing projects where source code is not available (and various version files don't exist).

	#jira UE-60985

Change 4159286 by Ben.Marsh

	UGS: Remove requirement for UE4Editor.target.cs to be visible in the depot in order to open a project.

	#jira UE-60986

Change 4159302 by Ben.Marsh

	UGS: Update version to 1.144.

Change 4160308 by Ben.Marsh

	All staging client executables for blueprint projects.

	#jira UE-60983

Change 4161567 by Steve.Robb

	GitHub #4816 : UE-60771: Handle escaped double quote in FParse::LineExtended

Change 4162641 by Ben.Marsh

	UGS: Allow customizing the position of custom columns, via the Index=N attribute.

Change 4162647 by Ben.Marsh

	UGS: Update version to 1.145.

Change 4165319 by Robert.Manuszewski

	PR #4812: Fix inconsistent command-line argument handling under Windows (Contributed by adamrehn)


Change 4166150 by Ben.Marsh

	UGS: Include *.inl when looking for code changes.

Change 4166551 by Steve.Robb

	Whitespace fixes caused by a bad merge.

Change 4168483 by Ben.Marsh

	UGS: Add a more useful error if a file to be synced exceeds the max allowed path length.

Change 4168490 by Ben.Marsh

	UGS: Update version to 1.146.

Change 4168551 by Ben.Marsh

	UBT: Move bBuildLargeAddressAwareBinary into an exposed setting.

Change 4168560 by Ben.Marsh

	UBT: Remove static config variable for controlling which configuration of UHT to use.

Change 4171296 by Ben.Marsh

	UGS: Move the check for overlong paths earlier.

Change 4171531 by Ben.Marsh

	UBT: Fix exception if BuildConfiguration.xml contains an unknown category.

Change 4183371 by Robert.Manuszewski

	Fix for a crash in Async Loading Graph's CheckCycles when GC kicks in on the game thread and forces ALT to exit early

Change 4184312 by Ben.Marsh

	UGS: Update version to 1.148

Change 4184480 by Robert.Manuszewski

	Removing unused async loading stat

Change 4186390 by Ben.Marsh

	UBT: Format XML validation errors in a format that allows double-clicking on the message in Visual Studio.

Change 4188644 by Ben.Marsh

	UBT: Add the MakePathSafeToUseWithCommandLine() function to UBT.

Change 4188647 by Ben.Marsh

	UBT: Fix exception in target receipt when architecture is null.

Change 4189617 by Ben.Marsh

	Change FileSystemReference, FileReference and DirectoryReference objects to use OrdinalIgnoreCase comparisons without creating a separate copy of the string to compare. The filesystem does not use the invariant culture, and it can produce the wrong results in some cases (the ordinal comparison is faster, too).

Change 4189740 by Ben.Marsh

	UAT: Remote code to build UnrealPak when packaging; we use the editor now.

Change 4189860 by Ben.Marsh

	UGS: Make the filter for excluding automated lighting rebuilds more explicit.

Change 4190082 by Ben.Marsh

	Fixes to allow enabling edit and continue for Windows builds. Have experienced quite a few VS crashes when testing it in editor; not yet recommended for general use.

	- Allow edit and continue for any configuration, not just debug.
	- Fixed PDB errors compiling files that use a shared PCH with edit and continue enabled. Path to the generated PDB file was using the wrong directory.
	- Removed code that tracks PDB output files, since they're modified multiple times during a build.
	- Enable debug information when compiling generated CPP files, since it causes errors if the shared PCH PDB doesn't have the same option.
	- Disable support for remote execution of steps that modify the PDB, since the same file has to be modified many times. Remote execution causes the PDB files to be corrupted. Unfortunately, this makes E&C builds significantly slower.

	#jira

Change 4192949 by Ben.Marsh

	UBT: Minor tidy-up (merging UEBuildBinary.Build and UEBuildBinary.SetupOutputFiles)

Change 4193218 by Ben.Marsh

	Fix formatting.

Change 4197252 by Mike.Erwin

	UAT: Fix log output w/ correct count of non-code projects.

	#jira none

Change 4197941 by Ben.Marsh

	UGS: Add support for DebugGame editors that have an executable with a DebugGame suffix.

Change 4197964 by Ben.Marsh

	UGS: Prevent attempts to automatically reopen projects while a modal dialog is up, or the workspace is syncing.

Change 4198144 by Ben.Marsh

	UGS: Prevent modal dialogs when login expires in P4, and prompt for password when hitting "retry".

Change 4198413 by Ben.Marsh

	UGS: Always show the main window when launched manually, and run with -RestoreState when launched at startup. Also add a couple more places that save the visibility state, since logging off seems like it can terminate the process abrubtly.

Change 4198779 by Ben.Marsh

	UBT: Allow generating manifests to any arbitrary locations with the -Manifest=<Path> argument.

Change 4198825 by Ben.Marsh

	UBT: Move code to enumerate Slate runtime dependencies into the Slate module. Doesn't need to be done inside core UBT.

Change 4199341 by Ben.Marsh

	UGS: Update version to 1.149

Change 4199642 by Chad.Garyet

	- Deprecate CISController
	- Add BuildController to replace CIS GET/POST for builds
	- Add LatestController, GET does what CIS/GET used to do
	- Change Latest/GET to return the last 25 builds filtered by project, rather than the last 5000 individual Ids
	- Latest/GET now returns "LatestData" object instead of array of longs
	- Updated EventMonitor to match all API changes
	- Fixed bug where IDs were getting reset to initial startup values every update loop

Change 4199663 by Chad.Garyet

	CIS controller still needs to return an array of longs
	#jira none

Change 4199680 by Ben.Marsh

	UGS: Update version to 1.150

Change 4200457 by Ben.Marsh

	Merging CIS fix for non-development configurations.

Change 4200472 by Mike.Erwin

	UAT: fix -skipbuildclient param default

	It was defaulting to skipbuildeditor's value, likely a copy-paste error.

	#jira none

Change 4202595 by Ben.Marsh

	Fix static analysis warning due to constant comparison against macro.

Change 4203250 by Ben.Marsh

	UGS: Always show the "Sync Precompiled Editor" option, but disable it and show a tooltip explaining why if it is not available.

Change 4206191 by Ben.Marsh

	Exclude editor target files from installed builds, since they leak info about DLLs that have been stripped out.

Change 4213011 by Ben.Marsh

	UBT: Include contents of modified intermediate files in the log, to make it easier to debug hidden dependencies.

Change 4213487 by Ben.Marsh

	UBT: Fix assumption that bPrecompile is equivalent to bBuildAllModules. This is no longer the case; they are now controlled by separate options. Should fix CIS errors building the editor.

Change 4213609 by Ben.Marsh

	Ensure that strings formatted using FMicrosoftPlatformString::GetVarArgs() are always null terminated, whether we use the secure CRT or not.

Change 4215971 by Ben.Marsh

	UBT: Remove action graph visualization code; no longer used.

Change 4215996 by Ben.Marsh

	UBT: Remove unqiue id from all actions in the action graph. This is only used for printing debug info in the case of a (rare) cycle in the action graph, so just look it up when needed.

Change 4216022 by Ben.Marsh

	UBT: Rename Crypto.cs to EncryptionAndSigning.cs to match the name of the class inside it, and move it under the System folder.

Change 4216031 by Ben.Marsh

	UBT: Move all the action executors into their own folder in the project.

Change 4216526 by Ben.Marsh

	Fix CIS warnings.

Change 4216544 by Ben.Marsh

	Replace custom code to ensure FMicrosoftPlatformString::GetVarArgs() null terminates its buffer with Microsoft's standards-compliant implementation.

Change 4216633 by Ben.Marsh

	Add support for UnrealPak plugins.

	* Project and plugin modules can now specify an array of supported programs in the "WhitelistPrograms" field of their module descriptors, to allow modules to be loaded by programs.
	* Programs can now load any runtime modules, as long as they are whitelisted.
	* Programs under the engine directory can now use a shared build environment, so that building with a project file does not cause output binaries to be output to the project directory.
	* UnrealPak is now always built by default when packaging
	* Convert UnrealPak to a modular configuration

Change 4216736 by Ben.Marsh

	UnrealPak: Move "ExportDependencies" command into an editor commandlet, since it relies on the UObject system, asset registry, etc...

Change 4217447 by Ben.Marsh

	Back out revision 50 from //UE4/Dev-Core/Engine/Build/InstalledEngineBuild.xml

Change 4217451 by Ben.Marsh

	Back out revision 11 from //UE4/Dev-Core/Engine/Plugins/Developer/VisualStudioSourceCodeAccess/Source/VisualStudioSourceCodeAccess/VisualStudioSourceCodeAccess.Build.cs

Change 4217617 by Ben.Marsh

	Back out changelist 4217451

Change 4222552 by Ben.Marsh

	Don't use #import <TypeLib> for VS source code accessor when building with Clang; it's not supported.

Change 4222630 by Ben.Marsh

	UBT: Fix spam while generating project files if Clang isn't installed.

Change 4223316 by Ben.Marsh

	UBT: Change the order in which Visual C++ toolchains are enumerated to prefer full releases over preview releases.

Change 4223318 by Ben.Marsh

	UBT: Add a build setting which allows creating a dedicated PCH for every file that's excluded from the unity working set (disabled by default). Improves iteration times when working on individual cpp files, but slows down iterating on header changes (and can take a lot of disk space for large changes).

	Dedicated PCH contains all includes scraped from the top of each cpp file, until a non-#include directive is encountered.

Change 4223401 by Ben.Marsh

	UBT: Add an option to automatically enable edit and continue for files in the adaptive non-unity working set. E&C doesn't seem very useful for UE4 projects right now; compile time is comparable to regular build times, but it can take several minutes to apply code changes for large projects.

Change 4223899 by Ben.Marsh

	UBT: Fix loading XML config files on Mono; Type.GetField(Name) does not seem to return values unless binding flags are specified.

Change 4224637 by Ben.Marsh

	Add a "SupportedPrograms" field to plugin descriptors, which allows plugins to declare which plugins they support independently of individual modules. Programs now respect the "bEnabledByDefault" setting in plugins.

	Plugins that are compatible with a program now need to list that program in the SupportedPrograms list, and whitelist any modules that should load for that program.

Change 4224710 by Ben.Marsh

	UBT: Don't add import libraries as final build products unless the target is being precompiled. Prevents the need for building them for leaf nodes in the action graph.

Change 4224715 by Ben.Marsh

	UBT: Remove hack to allow Stats2.cpp to not follow IWYU convention.

Change 4224726 by Ben.Marsh

	Remove commented out line.

Change 4224903 by Ben.Marsh

	Fix non-unity compile error in Stats2.h.

Change 4225051 by Ben.Marsh

	Back out changelist 4224710; causing CIS errors due to receipts not matching.

Change 4225134 by Ben.Marsh

	Fixing non-unity errors.

Change 4225203 by Ben.Marsh

	Another non-unity fix.

Change 4225249 by Ben.Marsh

	Fix Linux dependencies being copied for the Windows editor; they can be added as requirements for the Linux target platform on Windows instead, so it respects the user's chosen platforms.

	#jira UE-62001

Change 4225512 by Ben.Marsh

	BuildGraph: Allow setting the target to build when using the <CsCompile> task.

Change 4228815 by Ben.Marsh

	UBT: Always add the generated code directory to the list of include paths when generating project files. It may only be created after UHT has been run.

Change 4228944 by Ben.Marsh

	UBT: Remove legacy CppCompileEnvironment and LinkEnvironment wrappers from TargetRules that were deprecated in 4.19.

Change 4229028 by Ben.Marsh

	UBT: Fix editor targets with unique build environment having the wrong executable path in generated project files. Move move logic to configure target rules post-construction by the rules assembly to ensure it's valid.

Change 4229065 by Ben.Marsh

	UBT: Move another target setting into the rules assembly.

Change 4229105 by Ben.Marsh

	Fix BPT exception when generating project files.

Change 4229311 by Ben.Marsh

	UBT: Store the module rules file location on the ModuleRules instance, as well as the plugin that it was created from. Also expose the plugin directory as a property on the ModuleRules instance.

Change 4229421 by Ben.Marsh

	UBT: Consolidate functionality for UHT module setup in ExternalExecution.cs.

Change 4229817 by Ben.Marsh

	UBT: Modules must now explicitly specify the path to the header used to generate a PCH if one is desired, rather than the header being determined automatically by attempting to parse the source code. Now that PCHs are force-included anyway, this removes a lot of dependencies inside UBT.

Change 4229824 by Ben.Marsh

	UBT: Remove unused lists inside UEBuildModuleCPP.SourceFilesClass.

Change 4229841 by Ben.Marsh

	UBT: Remove some legacy code from auto-detecting PCHs.

Change 4230521 by Ben.Marsh

	UBT: Add utility functions to the log class to allow formatting errors and warnings in Visual Studio output format (eg. File(Line): warning: Message)

Change 4230871 by Ben.Marsh

	UAT: Remove StreamUtilis utility class; there is a simpler way to implement the one place it's used.

Change 4230882 by Ben.Marsh

	UAT: Add StreamUtils back into UAT, seems like it's still used there.

Change 4230896 by Ben.Marsh

	UBT: Remove some redundant parameters from UEBuildModule/UEBuildModuleCPP/UEBuildModuleExternal constructors.

Change 4231014 by Ben.Marsh

	WorkspaceTool: Include a dump of raw bytes when garbage is read from the P4 process, for diagnostic purposes.

Change 4231032 by Ben.Marsh

	Fix CIS.

Change 4231096 by Ben.Marsh

	Bump the FlatCPPIncludeDependencyCache version, to prevent errors trying to load old files.

Change 4231446 by Ben.Marsh

	UBT: Added support for expanding UE-specific variables in include paths and library paths: $(EngineDir), $(ProjectDir), $(PluginDir), $(ModuleDir).

Change 4231460 by Ben.Marsh

	Modules may now explicitly specify rpaths on Linux via the PublicRuntimeLibraryPaths and PrivateRuntimeLibraryPaths properties.

Change 4233909 by Robert.Manuszewski

	PR #4779: Reason fails as the supplied variable is incorrect (Contributed by projectgheist)


Change 4233910 by Ben.Marsh

	Enable PCHs on IOS. Reduces build time by ~25%.

Change 4234176 by Ben.Marsh

	UBT: Add better messaging for modules that need to have a private PCH set. Now detects the likely PCH using the same method as legacy code and includes it as a suggestion.

Change 4234193 by Ben.Marsh

	Add the Delete command to Perforce wrapper in DotNETUtilities.

Change 4234688 by Ben.Marsh

	UBT: Simplify handling of installed/precompiled builds. Settings for whether a folder is installed/read-only or not is now stored on the RulesAssembly instance, allowing multiple things to be configured separately and stacked together (eg. engine/enterprise/project). RulesAssembly.IsReadOnly() allows determining if a flie can be modified or not and replaces many previous IsXXXInstalledCalls(), and traverses the chain of assemblies.

Change 4234711 by Ben.Marsh

	UBT: Runtime dependencies can now be copied to output directories as part of the build. When adding a runtime dependency, an optional source location can be specified to copy from. Both the source and target paths can use variables can be used as part of the path, eg. $(OutputDir), $(ModuleDir), $(PluginDir).

	Example usage (from a .build.cs file):

	RuntimeDependencies.Add("$(OutputDir)/Foo.dll", "$(PluginDir)/Source/ThirdParty/Foo.dll", StagedFileType.NonUFS);

Change 4234872 by Ben.Marsh

	Expose a flag for whether the engine is installed, to fix issues generating project files.

Change 4234929 by Ben.Marsh

	Fix null reference generating receipts when UBT makefiles are active.

Change 4235883 by Chad.Garyet

	Merging 4231245 to core

	Giving Coordinator its own sln. This should fix what 4158155 was supposed to.
	#jira UE-61955

Change 4236075 by Ben.Marsh

	CIS fix

Change 4237066 by Robert.Manuszewski

	Fix for a potential crash when terminating the engine while it's being initialized

	#jira UE-60545

Change 4237078 by Robert.Manuszewski

	The engine will no longer be resetting all linkers causing massive load times when renaming the world package when entering Play In Editor

Change 4237116 by Ben.Marsh

	Rewrite some Windows utility functions to support paths longer than MAX_PATH.

Change 4237158 by Ben.Marsh

	Add const TCHAR* overloads of FString::RemoveFromStart() and FString::RemoveFromEnd().

Change 4237159 by Ben.Marsh

	Fix FWindowsPlatformFile::GetFilenameOnDisk() support for paths longer than MAX_PATH, and simplify some of the other long path functions to avoid copying string buffers.

Change 4239050 by Ben.Marsh

	Missing file

Change 4239318 by Ben.Marsh

	Linux CIS fix.

Change 4239685 by Ben.Marsh

	Static analysis CIS fix.

Change 4240800 by Ben.Marsh

	WorkspaceTool: Include the full command line in the log for any P4 commands.

Change 4240903 by Ben.Marsh

	PR #4909: Update copyright notices to 2018 (Contributed by projectgheist)


Change 4241025 by Ben.Marsh

	UBT: Exclude mobile pipeline caches from generated project files. Causes huge slowdown when using 'Find in Files' through the IDE.

Change 4241770 by Ben.Marsh

	UBT: Include action number in parallel executor output.

	#jira UE-62032

Change 4243469 by Ben.Marsh

	TBA: Merge FAnnotatedStructuredArchiveFormatter with FStructuredArchiveFormatter. Any functions that are only implemented for text archives now have a _TextOnly suffix, and are exposed through the FStructuredArchive interface.

Change 4245723 by Robert.Manuszewski

	Fixing another creash when terminating the engine while initializing.

	#jira UE-60545

Change 4245862 by Steve.Robb

	VectorLoadFloat2(Ptr) added, which loads { Ptr[0], Ptr[1], Ptr[0], Ptr[1] } into a VectorRegister.

Change 4246412 by Robert.Manuszewski

	The warning 'Calling StaticLoadObject during PostLoad may result in hitches during streaming' will now also report the object which had the PostLoad called on it when StaticLoadObject call happened.

Change 4246612 by Ben.Marsh

	UBT: Fix spelling of "Intellisense".

Change 4249454 by Robert.Manuszewski

	Added extra checks to catch scenarios where the EDL Precache Buffer is flushed before a package header is fully read

Change 4249513 by Robert.Manuszewski

	Made sure the Async Loading Thread doesn't continue running after creating new async packages when garbage collector wants to run on the game thread

Change 4255207 by Ben.Marsh

	UGS: Add additional logging whenever a P4 command fails, and when the user is logged out.

Change 4255288 by Ben.Marsh

	PR #4921: Honor ModuleRules' bEnableExceptions flag when creating precompiled h. (Contributed by surakin)


Change 4256422 by Ben.Marsh

	UBT: Add an error if a module referenced by a plugin descriptor doesn't exist.

Change 4257385 by Robert.Manuszewski

	Creating new objects from within ForEachObjectWithOuter will now result in a fatal error as it's unsafe to change internal UObject hash tables when iterating over them.

Change 4257454 by Robert.Manuszewski

	Added the option to filter clusters listed with gc.ListClusters by objects within them.

	Usage:

	gc.ListClusters Hierachy With=ObjectName1,ObjectName2...

Change 4257526 by Robert.Manuszewski

	It's now possible to filter clusters that get logged with verbose cluster logging enabled (UE_GCCLUSTER_VERBOSE_LOGGING=1) by objects within them by specifying -DumpClustersWithObjects=ObjectName1,ObjectName2 in the command line

Change 4257822 by Ben.Marsh

	Fixes for PlatformShowcase compile errors.

Change 4258771 by Ben.Marsh

	UBT: Fix project files not being generated for foreign projects when creating .stub files.

	#jira UE-62462

Change 4258790 by Ben.Marsh

	UBT: Clean up the logic around generating project files before creating a stub IPA, so that it fails loudly if project files do not exist, and can accept target names not matching project names.

Change 4259276 by Ben.Marsh

	UBT: Make it an error if a framework doesn't exist, rather than failing silently. Also remove some remote toolchain stuff that's no longer necessary.

Change 4259280 by Ben.Marsh

	UBT: Fix embedded framework zips not being uploaded for plugins.

	#jira UE-62485

Change 4260236 by Ben.Marsh

	UBT: Fix path to generated engine project file.

Change 4260334 by Ben.Marsh

	UGS: Fix custom build steps dialog inadvertantly modifying config file settings in-place.

Change 4260361 by Ben.Marsh

	UGS: Allow for p4 login commands to fail, even though the user is logged in (due to a bad connection, etc...)

Change 4260559 by Ben.Marsh

	UGS: Update version.

Change 4261160 by Robert.Manuszewski

	MediaPlaylist will now be added to root set if the owning MediaPlayer is in the disregard for GC set (fixes GC assumption violation crash)

	#jira UE-62495

Change 4261421 by Ben.Marsh

	Force-sync files for building documentation, to fix issues with files not being updated.

	#jira UE-62413

Change 4261425 by Ben.Marsh

	UBT: Remove some leftover functions for handling the remote toolchain.

Change 4261530 by Ben.Marsh

	UBT: Speculative fix (and better error reporting) for IOS mobile provision not being found in CIS.

Change 4261611 by Ben.Marsh

	UBT: Downgrade warning to a log message, since it appears when generating project files.

Change 4261710 by Ben.Marsh

	Remove assert that GLogConsole is set; it won't be for command line utilities that don't depend on ApplicationCore.

	#jira UE-62545

Change 4261831 by Ben.Marsh

	Fix compile errors due to missing include path when hot-reloading a module from the editor. There are not necessarily source files to compile when -modulewithsuffix is specified on the command line, which was results in GeneratedCodeWildcard not being set.

	#jira UE-62463, UE-62384

Change 4262723 by Ben.Marsh

	Whitelist plugins that need to be loaded by UFE.

	#jira UE-62564

Change 4265444 by Ben.Marsh

	Fix incorrect executable name for DebugGame configurations in Xcode.

	#jira UE-62574

Change 4265892 by Ben.Marsh

	Fix incremental compile failures due to dependency checking for unity files. CachedIncludePaths was not correctly being set on file items, so dependencies were being ignored.

	#jira UE-62575, UE-62603, UE-62597

Change 4266019 by Josh.Adams

	- Fixed the CopyAction for runtime dependencies that need to be copied to different location, on non-XGE

Change 4266264 by Ben.Marsh

	Remove override for the __IPHONE_OS_VERSION_MIN_REQUIRED macro on TVOS.

	This macro is already defined by system headers (in <AvailabilityInternal.h>). Now that we support PCHs on IOS and TVOS, manually defining this macro results in it being defined three times (once for the PCH, once by AvailabilityInternal.h, and once by the force-included list of definitions for the source file being built). The errors for redefining the macro in AvailabilityInternal.h are suppressed due to it being a system header, but the error for redefining it for the source file being compiled are not.

	#jira UE-62578

Change 4266273 by Ben.Marsh

	Fixes incremental build failure when compile arguments for PCH have changed on IOS/TVOS. Compile action needs to have a dependency on PCH build action.

Change 4266614 by Graeme.Thornton

	Fix crash when cooking nativized blueprints due to removal of child cooker system.

Change 4266763 by Ben.Marsh

	Always build UnrealPak when building client targets. The ProjectParams.Pak option is not reliable, because it can be forced on later by the target platform.

	#jira UE-62584

Change 4267985 by Robert.Manuszewski

	When iterating with ForEachObjectWithouter, don't lock the entire has table but only the hash bucket that is currently being iterated

	#jira UE-62600

Change 4268558 by Robert.Manuszewski

	PurgeLegacyBlueprints will no longer be called from within ForEachObjectWithOuter is it renames objects that reside in hash tables that are being iterated over which may lead to undefined behavior.

	#jira UE-62600

Change 4269011 by Chad.Garyet

	- Fixing Wildcard match issue, the change to ugsapi sends projects as //Depot/Stream instead of //Depot/Stream/
	  Wildcard match was only substringing to 3 chars.
	- Checking in the change a while back that increases the number of queried jobs up to 432 based on some maths from Bob about how many builds we want to grab
	Published to ugsapi server 8/8/17
	#jira none

Change 4270788 by Ben.Marsh

	Fix IOS provisioning data being using when remote compiling on TVOS.

	#jira UE-62705

Change 4271916 by Ben.Marsh

	Tag the XGEControlWorker executable as a build product after compiling SCW, to make sure it's included in the UGS zip file.

Change 4271934 by Ben.Marsh

	Upload all static libraries in plugin folders as part of remote builds.

	#jira UE-62694

Change 4273368 by Ben.Marsh

	Fix Slate dependencies not being enumerated, and rules assembly not being rebuilt when building remotely.

	#jira UE-62705

Change 4274049 by Ben.Marsh

	Always parse the team UUID out of the mobile provision when doing a remote compile. The provision installed on the remote Mac (and selected for signing) may be different.

	#jira UE-62751

Change 4274823 by Ben.Marsh

	Add the -VersionCookedContent argument to disable the -unversioned parameter on the cooker command line.

Change 4275838 by Ben.Marsh

	Fix BuildVersion string not being passed through from <SetVersion> task. Also add a -BuildVersion command line argument to UBT to override it for a particular build.

Change 4275913 by Ben.Marsh

	Add a dummy exported symbol to the XGEController module, to fix build errors due to missing .lib file when it's built with WITH_XGE_CONTROLLER = 0.

Change 4284161 by Ben.Marsh

	Allow mirroring Oodle files to remote Mac.

Change 4074774 by Steve.Robb

	Vast simplification of TFunction, making it smaller in footprint, easier to follow and extend, and more correct.
	TUniqueFunction added, which is a move-only TFunction which can hold move-only functors.
	Fix for UWidgetBlueprint::ForEachSourceWidget() which should never have compiled but did.
	FFunctionGraphTask and TFuture<> updated to use TUniqueFunction to make them more general.
	TArray::HeapPop() made to work with move-only types.

Change 4082591 by Ben.Marsh

	Move the Log class from UBT to DotNetUtilities.

Change 4083236 by Ben.Marsh

	Add a Log.WriteException() method to dump an exception message to the console (and write the exception trace to the log)

Change 4084107 by Ben.Marsh

	UAT: Remove the unused -SkipHeader argument to UE4Build.

Change 4089771 by Steve.Robb

	GitHub #4743 : modified VirtualAlloc function flag

	https://blogs.msdn.microsoft.com/oldnewthing/20151008-00/?p=91411

Change 4091456 by Steve.Robb

	Unification of all platforms' FMath::CountTrailingZeros() and FMath::CountLeadingZeros() for both 32-bit and 64-bit.

Change 4156437 by Ben.Marsh

	Lots and lots of fixes compiling for Clang on Windows.

	Editor now compiles cleanly without warnings, but crashes on startup due to error in intrinsics test. Disabling that runs further, but crashes accessing freed memory. Switching to the ANSI allocator runs further, but crashes in Slate after the splash screen and before the editor window opens. // TODO!

	* Switching between Clang/ICL/VS2015/VS2017 is now supported through the same mechanism as switching Visual Studio versions, without requiring any source level changes. To use Clang, set WindowsPlatform.Compiler = WindowsCompiler.Clang from a .target.cs file, or set <WindowsPlatform><Compiler>Clang</Compiler></WindowsPlatform> from BuildConfiguration.xml. To pick a specific toolchain version, set WindowsPlatform.CompilerVersion.
	* Clang is now supported through AutoSDKs; will be added to CIS.
	* The Samples/Sandbox/Clang project forces Clang to be used from its target.cs file, and allows easily building all editor modules and plugins with Clang on Windows.
	* UnrealMathSSE intrinsics have been re-enabled for Clang due to missing functions from the UnrealMathFPU implementation, but causes failure in tests at startup.
	* SSE4_CRC32() is disabled in D3D12Pipelinestate.cpp, since intrinsics are only allowed if enabled for the whole target (rather than being used in specific functions due to runtime checks)

Change 4157389 by Ben.Marsh

	Few more fixes for compiling the editor with Clang.

Change 4183911 by Ben.Marsh

	Fixes to support incremental linking on Windows. Does not seem to have any net benefit right now; may improve once minimal rebuild is enabled.

	* Incremental linking no longer forces PDB files to be enabled for source files.
	* Actions can specify specific files to be deleted before each build. Code to forcibly delete PDB files has been moved to the MSVC toolchain.
	* Unused libraries produced by the cross-referenced link are no longer added as build products, since (a) deleting them breaks dependency checking for incremental linking and causes a full link, and (b) not deleting them breaks UBT dependency checking and causes actions to be run over and over again.
	* Icon update is disabled for Windows when incremental linking is enabled.
	* Removed rarely-used setting to always delete produced items before each build.

Change 4184311 by Ben.Marsh

	UGS: Added a dialog which shows all the required platform SDKs for a branch, linked from the status panel in UGS.

	The llist is configured via the UGS config file submitted to Engine/Programs/UnrealGameSync/UnrealGameSync.ini (and may be overridden by the project config file if necessary):

	    [Default]
	    ; Set this to a network share which contains the SDK installers for your site
	    SdkInstallerDir=

	    ; All the required SDKs for the current version of the engine
	    +SdkInfo=(Category="Android", Description="NDK r21", Browse="$(SdkInstallerDir)\\Android")
	    +SdkInfo=(Category="Windows", Description="Visual Studio 2017")
	    +SdkInfo=(Category="Windows", Description="Visual C++ Toolchain 14.13.26128")
	    +SdkInfo=(Category="Windows", Description="Windows SDK 10.0.16299.0")

	Similar entries for console platforms are added in console subdirectories. Each entry may contain an Install="Foo.exe" and/or Browse="C:\Foo" style attribute, specifying the path to an installer to run or directory to open in explorer respectively.

	The SdkInstallerDir setting is used as a base directory for the default installers, seen above for Android. Licensees may override this with a network path specific to the site that UGS is being deployed to (either in this file, in a project specific config file, or in a Engine/Programs/UnrealGameSync/NotForLicensees/UnrealGameSync.ini file).

Change 4200452 by Ben.Marsh

	UBT: Change DebugGame configurations to output a separate executable rather than requiring a -Debug argument at runtime. Previous behavior was a common source of errors.

	Engine modules are still shared between Development and DebugGame, but the launch module sets a flag in Core on startup indicating the game configuration.

Change 4206189 by Ben.Marsh

	UBT: Simplify logic for precompiling binaries.

	* Target no longer has separate list of "precompile only" binaries or modules. New -AllModules option allows adding every module to a target, which can be used with -Precompile and -NoLink to precompile object files for monolithic builds.
	* Precompiled file lists have been removed from target receipts.
	* The manifest now includes all generated headers and precompiled files when run with the -Precompile option.
	* Separate -DependencyList=Foo.txt has been added to write a list of all dependencies required to use precompiled binaries. This file list can be read using the <Tag> task in buildgraph.

Change 4215466 by Ben.Marsh

	UBT: Remove indirect calls to determine extensions for object files and precompiled headers. The toolchain knows the correct convention for the platform.

Change 4215975 by Ben.Marsh

	UBT: Remove telemetry code. This has never proved useful for analyzing performance due to the number of incidental factors that affect build times (eg. number of files being compiled).

Change 4220154 by Ben.Marsh

	Move text-only implementations of FOutputDeviceError back into Core, so we can build command-line applications that don't depend on ApplicationCore.

Change 4224708 by Ben.Marsh

	Add a bCompileAgainstApplicationCore setting to the target rules, which allows compiling out references to the ApplicationCore module (which should only be necessary for applications with a GUI). Removed ApplicationCore from several engine tools and utilities.

Change 4224958 by Ben.Marsh

	Remove CoreMinimal.h includes from Core.

Change 4229059 by Ben.Marsh

	UBT: Remove the UEBuildPlatform.ShouldNotBuildEditor() hook for target platforms. We shouldn't be modifying a target's build environment to disable the editor; it is invalid to build the editor for these target platforms at all, and this is already enforced by the GetSupportedPlatforms() function.

Change 4230508 by Ben.Marsh

	Fixup precompiled header setting for samples and games.

Change 4231457 by Ben.Marsh

	Fix exceptions in log messages having trailing newlines.

Change 4232406 by Ben.Marsh

	UBT: Always force include a PCH for generated code if there's one set; the code may depend on it to compile.

Change 4234177 by Ben.Marsh

	Set up private PCH files everywhere that previously used them.

Change 4235973 by Ben.Marsh

	Change FPlatformMisc::GetEnvironmentVariable() to return an FString() rather than requiring a fixed size buffer to be passed in. Removes references to MAX_PATH.

Change 4238842 by Ben.Marsh

	Add support for paths longer than MAX_PATH in the editor. Requires Windows 10 version 1607, and the functionality to be enabled via a registry key or group policy (see https://docs.microsoft.com/en-us/windows/desktop/FileIO/naming-a-file).

	Only a subset of Win32 functions support long paths (executables can only be started from paths shorter than MAX_PATH, for example).

	* Added a FPlatformMisc::GetMaxPathLength() function to return the maximum length of a path on the current system. On Windows, this returns a different value for systems with long paths enabled to those without.
	* The MAX_PATH define is no longer set by non-Windows platforms. Instead, there is a MAC_MAX_PATH, UNIX_MAX_PATH, etc... for any platform-specific code that still relies on the previous macro.
	* The MAX_UNREAL_FILENAME_LENGTH macro has been renamed to MAX_UNREAL_FILENAME_LENGTH_DEPRECATED
	* The PLATFORM_MAX_FILEPATH_LENGTH macro has been renamed to PLATFORM_MAX_FILEPATH_LENGTH_DEPRECATED.
	* Removed custom resource files for programs, since they are just copies of the base UE4 one (which is used by default anyway). The base UE4 manifest declares support for long paths.
	* Fix 512 character maximum length on editor commands.

	260 character limit remains in place for cooking at the moment (see ContentBrowserUtils.h), until C# staging code supports long paths.

Change 4255042 by Ben.Marsh

	UBT: Remote compilation now uploads the entire workspace to the remote Mac and executes a separate remote instance of UBT rather than synchronizing individual actions. This makes the remote compile codepath much simpler, and removes a lot of special cases that exist to support it previously.

	The list of files to be transferred to the remote are listed as rsync filter rules in Engine/Build/Rsync/RsyncEngine.txt and RsyncProject.txt, which are applied to the root engine directory and project directory respectively. Projects that need to customize which files are uploaded can add their own <ProjectDir>/Build/Rsync/RsyncProject.txt file, which will be included in the filter before the default version.

Change 4260567 by Ben.Marsh

	UAT: Rename CommandUtils.Log to CommandUtils.LogInformation, to avoid conflicts with the underlying Tools.DotNETCommon.Log class.

#rb none

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

[CL 4287799 by jason bestimt in Dev-VR branch]
2018-08-15 11:23:10 -04:00
jason bestimt
1c6e00adc2 Copying //UE4/Release-Staging-4.20 to //UE4/Dev-Main (Source: //UE4/Release-4.20 @ 4112782)
============================
  MAJOR FEATURES & CHANGES
============================

Change 4112782 by Mitchell.Wilson

	Resaving some cloth assets and fixing material compile warnings.
	#jira UE-59946

Change 4112762 by Max.Chen

	Sequence Recorder: Fix case where first recording is null but there are other valid recordings.

	StopRecording wasn't getting called because the EndPIE delegate wasn't bound since ActorWorld was incorrectly set.

	#jira UE-58688

Change 4112738 by Michael.Dupuis

	#jira none:
	Fixed Editor instance count, to only include placed instances.
	Calling GenerateProceduralContent will no longer automatically remove the current content, as we might want to get the generation for something else than replacing existing data.
	When deleting procedural foliage, we can now specify if we want to rebuild the tree.

Change 4112696 by Matt.Kuhlenschmidt

	Prevent GC of material editor active preview expression

	#jira UE-49777

Change 4112611 by Michael.Dupuis

	Fixed Instance count when Alt+Dragging instance
	#jira UE-59544: After the operation, reselect the instances, as the selection info into the buffer was lost

Change 4112536 by Thomas.Sarkanen

	Fixed static analysis warning caused by CL 4109096

	#jira none

Change 4112139 by Phillip.Kavan

	Fix invalid child actor template cast in nativized code when the child actor class type is a converted Blueprint class asset.

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

	#jira UE-53747

Change 4112138 by Phillip.Kavan

	Fix UHT warning about duplicating UFUNCTION() meta on nativized child Blueprint classes that override at least one BPIE method from the parent class.

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

	#jira UE-59182

Change 4111630 by Matt.Collins

	#jira UE-59934

	Rolling back the previous integration of CL 4080446

Change 4111526 by Mike.Beach

	Guarding against bad settings pointers internal to Oculus.

	#jira UE-59778

Change 4111525 by Daniel.Wright

	UStaticMeshComponent::PostEditUndo now initializes its UStaticMesh's rendering resources.  This is necessary for cases where the UStaticMesh is in the same transaction (PostEditUndo will be called AFTER the component).  However, when calling UStaticMesh::InitResources we must use a FStaticMeshComponentRecreateRenderStateContext to safely handle any components using the UStaticMesh which are not in the transaction.
	#jira UE-59333

Change 4111518 by Mike.Beach

	Making sure to load the third party dll, and initing Oculus when we querry for Vulkan extensions. Otherwise we end up calling into the OVR plugin before the dll is loaded.

	#jira UE-53643

Change 4111482 by Matt.Kuhlenschmidt

	Fix blend sample context menu appering offset on high dpi monitors

	#jira UE-59925

Change 4111362 by Ben.Marsh

	Fix warnings building samples due to missing paths.

	#jira

Change 4111299 by James.McNatton

	Changed category of Virtual Camera plugin to Virtual Production #RNX #Jira UE-59404

Change 4111153 by Max.Chen

	Sequencer: Fix dereferencing null pointer - CameraNode

	#jira UE-59347

Change 4111143 by Matt.Collins

	#jira UE-59934

	CL 4107446 from Dev-Rendering.
	Always force a commandbuffer submission during EndFrame.

Change 4111106 by Matt.Collins

	#jira UERNDR-406
	Bringing CL 4104051 from Dev-Rendering (//UE4/Dev-Rendering) to Release-4.20 (//UE4/Release-4.20)

	---
	Some fixes for semaphore handling.

	Moved the completion handler to EndFrame (out of FlushFreeList())

	FlushFreeList() attached a handler to the command buffer that signaled the semaphore. This can be called through RHIFlushResources which will cause a mismatched signal()

	Added BeginFrame/EndFrame to the loop in AddModalWindows so the renderer gets the expected frame delimiters. Removed call to EndFrame from EndDrawingViewport.

	---

Change 4111099 by Ben.Zeigler

	#jira UE-59199 Add enum redirector for CVD_NormalVision, some values map to normal as they were removed
	This is needed because that enum value would have been written into the EditorPerProjectSettings for anyone that modified editor style, and then cause mysterious cook warnings

Change 4111039 by Ben.Zeigler

	#jira UE-59046 Fix it so trying to convert a soft path to hard object ref will throw error during async loading instead of silently failing

Change 4111013 by Steve.Robb

	Fix for adding a new module to a project.

	#jira UE-59770

Change 4110907 by Marc.Audy

	Add required redirectorfor moving classes from TimeManagement to  CoreUObject

	#jira

Change 4110897 by Ben.Zeigler

	#jira UE-57739 Don't crash if dropping a pin on a node causes the source pin to become invalid, just fail to connect instead

Change 4110868 by Ben.Zeigler

	#jira UE-59920 Fix several issues where half-connected reroute nodes could break AutoCreateRefTerm and other node expansions if they happened to be late in the nodes array, by always expanding knot nodes first

Change 4110704 by Ben.Zeigler

	#jira UE-56365 Fix k2 node tooltip code to not crash if the node is out of date due to slate updates being a tick behind

Change 4110686 by Andrew.Grant

	Resaved to fix empty engine version warning
	#jira UE-59695

Change 4110466 by Ben.Zeigler

	#jira UE-59908 Change loading screen logo back to one with text baked in and clean up comments
	Delete unused logo images

Change 4110418 by Ben.Zeigler

	#jira UE-58025
	Fix non editor builds

Change 4110258 by Max.Chen

	Sequencer: Fix some erroneous cases in import fbx. In particular, this fixes an issue where importing an fbx onto one node would behave differently if there are multiple nodes in the fbx since it was ambiguous as to which fbx node to map onto the single node in sequencer.

	- Changed import operation to be more explicit - when invoking through the general import fbx menu, all object bindings are mapped onto. When invoking through the context menu, only the selected object bindings are mapped onto.
	- Added a user toggle to match by name only. The default is true.
	- When importing onto a selected node, disable the creation of cameras.
	- Don't set range bounds on imported keys since external packages, ie. maya, most likely only have 1 equivalent infinite section range.
	- Remove any existing sections/keys when importing onto existing tracks.

	#jira UE-59347

Change 4109923 by Michael.Dupuis

	#jira UE-59904: Build tree post Serialize otherwise sometime foliage will be missing

Change 4109916 by mason.seay

	Updated level blueprint so it Resets Ignore Look Input, which will prevent look input from being ignored if user triggers Ignore multiple times

	#jira UE-29618

Change 4109849 by Michael.Dupuis

	#jira none: Removed PRAGMA_ENABLE_OPTIMISATION

Change 4109835 by Lukasz.Furman

	added OnTaskFinished call when behavior tree's subtree is deactivated
	#jira UE-48353

Change 4109829 by Ben.Zeigler

	#jira UE-59909 Add logic so the player cannot be hurt during ShieldNS anim notify by adding and removing a damage immune gameplay effect

Change 4109820 by Michael.Dupuis

	#jira UE-59533: Update the LOD Distribution settings to fix the landscape popping

Change 4109813 by Michael.Dupuis

	#jira UE-59533: Increase the max LOD0 distribution factor so on map with very small component, the value can be increase more than before.

Change 4109780 by Alexis.Matte

	Add the tps file for the levenshtein distance algorithm
	#jira none

Change 4109567 by Ben.Marsh

	Fix incorrect console colors after a warning or error on Mac. Cannot assume that the default foreground color is gray.

	#jira UE-55093

Change 4109542 by mason.seay

	Updated timeline on BP

	#jira UE-29618

Change 4109474 by Marc.Audy

	Fix shadow variable warning

	#jira UE-59895

Change 4109420 by Michael.Dupuis

	#jira UE-58672 : Since it's possible the GetInstanceBasePtr() would not find the base id we hit,  do not assume it must always be valid, and simply skip it instead of crashing.

Change 4109397 by Ben.Marsh

	Speculative fix for exception reading UBT makefiles on Mono. Doesn't seem to be able to deserialize dictionaries with custom comparison functions correctly.

	#jira UE-59222

Change 4109395 by Lauren.Ridge

	Removing legacy uses of GetEditorIcon from UMG
	#jira UE-59038

Change 4109390 by Zachary.Wilson

	Adding alternative ground truth images for AMD on the planar reflection tests. ST_PR00, 03, 04, 05
	#jira UE-59409

Change 4109373 by Michael.Dupuis

	#jira UE-58664
	Restrict the Paint/Unpaint Density to 1.0
	Restrict the Foliage Density type to 10000
	Restrict the Grass Density type to 1000
	Fixed a NAN that could be generated when adding instances
	These settings would still allow to paint ~2 millions instances with the biggest brush and max density per click.

Change 4109348 by Lauren.Ridge

	Removing engine content that used a material attribute layers node inside a material function
	#jira UE-55739

Change 4109296 by Lauren.Ridge

	Fix for crash on adding OnClicked event to button in Widget BP
	#jira UE-59846

Change 4109193 by Matt.Kuhlenschmidt

	Fixed crash when construction scripts are rerun during the details panel calling posteditchange

	#jira UE-59649

Change 4109096 by Thomas.Sarkanen

	Fixed crash when running in standalone editor build using sub-instances that copy properties

	Revamped change as the last one failed Fast Path automated tests. This change limits the property re-find only to cases where we are using sub-instances.
	DestProperty serialization was always a bad idea, this is another artifact of the problem where the property persists but the class it belongs to gets trashed. Re-mapping the property by name to the correct outer fixes this for a minor startup cost.

	#jira UE-59510 - Crash in Standalone When Sub Anim Instance Uses Exposed Variable

Change 4109078 by Ben.Marsh

	Fix warnings building PlatformerGame due to incorrect include path.

	#jira

Change 4109066 by Matt.Kuhlenschmidt

	Prevent alt-f4 during slow tasks as it causes entry into the shutdown sequence at abnormal times

	#jira UE-59866

Change 4109020 by Ben.Marsh

	Fix client targets showing up in packaging menu for installed builds (which don't ship with client binaries).

	(This implementation is a little suspect in general - there is no requirement that client targets are called "*Client.Target.cs", though that is typically the case.)

	#jira UE-59641

Change 4108991 by Martin.Wilson

	Fix crash when trying to extract transform from raw track with no track data.

	#jira UE-58025

Change 4108987 by Martin.Wilson

	Make sure rotations are normalized before creating blended transform

	#jira UE-53971

Change 4108932 by Thomas.Sarkanen

	Back out changelist 4108877

	This was causing a 100% crash in an automated test

	#jira none

Change 4108930 by Danny.Bouimad

	Fixing testcase content #Jira UEQATC-405

Change 4108883 by Danny.Bouimad

	Fixing Automated LodCurveLinkingTest1 #Jira UE-59763

Change 4108877 by Thomas.Sarkanen

	Fixed crash when running in standalone editor build using sub-instances that copy properties

	DestProperty serialization was always a bad idea, this is another artifact of the problem where the property persists but the class it belongs to gets trashed. Re-mapping the property by name to the correct outer fixes this for a minor startup cost.

	#jira UE-59510 - Crash in Standalone When Sub Anim Instance Uses Exposed Variable

Change 4108874 by Thomas.Sarkanen

	Fixed incorrect preview mesh being applied after retargeting

	On first setup, the preview mesh was obtained using a legacy path that didnt use the skeleton fallback

	#jira UE-59636 - When Retargeting Animation, Mesh Set as Preview that Shares Skeleton Isn't Kept

Change 4108834 by Thomas.Sarkanen

	Pressing enter when selecting an object from a Blueprint node now works

	#jira UE-58017 - Enter key does not set chosen asset on some blueprint nodes

Change 4108833 by Thomas.Sarkanen

	Fixed crash caused by retargeting a skeleton when some of its animations are still open

	Firstly we now auto-close all assets that use a skeleton when retergetting instead of popping up a dialog to suggest the user does it.
	Secondly as a safety measure we dont re-use an animation editor if the persona toolkit's skeleton doesnt match.

	#jira UE-58681 - [CrashReport] UE4Editor_Persona!FPersonaToolkit::SetAnimationAsset() [personatoolkit.cpp:211]

Change 4108808 by Dmitriy.Dyomin

	Fixed: ARPG crashes on Vulkan PC and Android
	#jira UE-59781

Change 4108719 by Max.Chen

	Sequencer: Fix CIS
	#jira UESEQ-355

Change 4108675 by Max.Chen

	Sequencer: Added audio support to FCP XML import/export

	#jira UESEQ-355

Change 4108674 by Max.Chen

	Sequencer: Upon export, log warnings when filename format is not '{shot}'

	#jira UESEQ-358

Change 4108673 by Max.Chen

	Sequencer: Added 'Write FCPXML' option to Render Movie Settings dialog.

	Changed track menu FCPXML export to get default resolution and frame rate from MovieSceneCaptureSettings.

	#jira UESEQ-358

Change 4108418 by Mark.Satterthwaite

	Fix Shipping iOS builds.

	#jira UE-59883

Change 4108118 by Alexis.Matte

	Make sure GIsImportingT3D is false when the scene importer open the blueprint editor. This flag force a load of UObject when we do FindObject, which in this case was forcing a load of all blueprints assets.
	#jira UE-59854
	#jira UE-57861

Change 4108059 by Ben.Marsh

	Merge latest UGS fixes (up to 1.140) to 4.20 branch.

	#jira

Change 4107719 by Mark.Satterthwaite

	Duplicate 4107661:

	Refactor the MetalRHI debugging tools to move away from reimplementing the Objective-C protocols to adding separate debugging classes. This makes it easier to build on/for future OSes without having to interpose new functionality we don't yet use.

	#jira UE-59883

Change 4107443 by Lauren.Ridge

	Fix for crash on connecting curve param node with no texture set
	#jira UE-59880

Change 4107248 by Dan.Oconnor

	Explicitly close floating Blueprint Debugger controls when the master tab is closed

	#jira UE-59835

Change 4107137 by Jason.Bestimt

	Removing ML Analytics Plugin to fix regressions

	#JIRA: UE-59874, UE-59873

Change 4107125 by paulo.souza

	#jira UE-59806 - ARPG - Goblin death not running all destroy logic

Change 4107113 by Phillip.Kavan

	Allow the NativizedAssets plugin source to include monolithic engine header files without a compiler warning.

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

	#jira UE-59125

Change 4106736 by Jamie.Dale

	Fixed content browser filter failing to match certain names if asset paths were omitted from the search

	#jira UE-59849

Change 4106581 by Martin.Wilson

	Fix issue with double ticking a reused animation instance on set skeletal mesh because of parallel evaluation.

	#jira UE-54851

Change 4106475 by Jason.Bestimt

	Fix for Lumin Linux dependency in a better way

	#JIRA: CIS

Change 4106201 by Michael.Trepka

	Don't allow invalid cursor clip rects when locking the cursor on Mac

	#jira UE-59842

Change 4106188 by Jason.Bestimt

	Wrapping Lumin call with PLATFORM_LUMIN

	#JIRA: CIS

Change 4106179 by Michael.Dupuis

	#jira UE-53944: Integrated guard from user to prevent crash if bad data is found in the view
	#4714

Change 4106176 by Martin.Wilson

	Fix for crash introduced in 4105998

	#jira UE-56395

Change 4106103 by Ben.Marsh

	UBT: Fix intellisense search paths not being set correctly for modules which are not built by default.

	#jira

Change 4106081 by Marc.Audy

	Fix shadow variable
	#jira UE-59848

Change 4106078 by Jason.Bestimt

	Fix for Linux trying to build MagicLeapAnalytics by swapping from Blacklist to Whitelist

	#JIRA: none

Change 4106015 by Martin.Wilson

	Make sure that animations that have transform curves are up to date on loading.

	#4320
	#jira UE-53392

Change 4106005 by Anthony.Bills

	[Linux] Add support for terminfo2 to fix mono issue 6752, and rebuild .net 4.5's mscorlib.dll

	#jira UE-59382

Change 4105998 by Martin.Wilson

	Fix crash when re registering a skeletal mesh component with a post process instance that references invalid virtual bones

	#Jira UE-56395

Change 4105962 by Jeff.Fisher

	Duplicating for 4.20:
	Change: 4097595 and 4104555
	UE-59359 Mr Mesh Crash at startup
	-Vulkan does not work correctly unless we fill in all of the vertex buffers.  MRMesh now requires that via assert and MeshTrackerComponent fills in placeholder data as necessary.
	-Also fixed the vr.MagicLeap.FakeMeshTrackerData cvar, it was missing the 'MagicLeap'.

	#jira UE-59359

Change 4105952 by Ben.Marsh

	Add an "IsTerminating" event to the record of active sessions. Should allow detecting whether RequestExit() was called before an abnormal shutdown was triggered.

	#jira

Change 4105946 by Ben.Marsh

	Disable debug info for IOS and TVOS in installed builds.

	#jira UE-59816

Change 4105939 by Michael.Dupuis

	#jira UE-59256: Properly take into account the scale of the instances when determining LOD transition
	Added the possibility to see the Cluster tree bounds in the Show->Advanced Menu

Change 4105915 by Jamie.Dale

	Implemented negative indexing for Python wrapped arrays

	#jira UE-59841

Change 4105896 by Richard.Wallis

	Another macOS TIS non-MainThread spam warning fix.

	#jira UE-54623

Change 4105813 by Michael.Dupuis

	#jira none: Prevent a possible crash if using world offset with a landscape without sub sections

Change 4105764 by Ben.Marsh

	Add a check that a 2015 compiler exists under VS2015 toolchain directories - it may not have been installed.

	#jira

Change 4105747 by Ben.Marsh

	Fix detection of VS2017 toolchains that only have a 32-bit compiler for x64 (eg. VS2017 Express Desktop)

	#jira UE-59838

Change 4105642 by Jason.Bestimt

	Disabling Lumin Platform Editor modules on linux

	#JIRA: UE-59543

Change 4105553 by Matt.Kuhlenschmidt

	PR #4633: Fixed DPI awareness of two functions (Contributed by Temaran)


	#jira UE-57283

Change 4105486 by Michael.Dupuis

	#jira UE-58074: Include the HeightmapScaleBias in the DDC hash as component can share the same heightmap with different HeightmapScaleBias

Change 4105474 by Michael.Dupuis

	#jira UE-57957: Fixed neightbord component extend used when component was not visible (so not custom data and generating neighbord)
	#jira UE-58995:

Change 4105427 by Sorin.Gradinaru

	UE-59698 Cannot load youtube URLs on Android

	#jira UE-59698
	#Android
	#4.20

	The native WebView cannot load HTML5 movies if the control's layout doesn't have the FILL_PARENT param

Change 4105308 by Mieszko.Zielinski

	Merge of 4077826 over from Dev-Framework #UE4

	#jira UE-59186

Change 4105050 by Ben.Marsh

	Disable debug info for all target platforms in installed engine builds, to fix bloated install size. IOS and TVOS still have it enabled for now, due to errors when packaging.

	#jira UE-59816

Change 4104584 by Mike.Beach

	Mirroring CL 4103694 from Dev-VR

	Making it so the HMD post-process pass properly fills out its RenderTargetDesc (so it doesn't rely on being the final output to have it set).

	#jira UE-56511

Change 4104538 by Alexis.Matte

	Fix crash when reloading a skeletal mesh actor with some vertex painting
	#jira UE-57891

Change 4104534 by Mike.Beach

	Mirroring CL 4090670/4094620 from Dev-VR

	MR Calibration - Fixing an issue where the alignment models would disappear.
	MR Calibration - Saving garbage mattes when exiting using escape.

	#jira UEVR-24

Change 4104381 by Alexis.Matte

	Fix a render thread crash when reimporting skeletal mesh
	#jira UE-51935

Change 4104365 by Mike.Beach

	Mirroring CL 4064903 from Dev-VR

	Removing duplicate redirects, and resaving MRCalibration content so packaging works without failing on old package references.

	#jira UE-58914

Change 4104341 by Alexis.Matte

	Support non uniform scale scene transform for fbx skeletal mesh exporter
	#jira UE-57733

Change 4104328 by Alexis.Matte

	Fix a crash when re-importing an animation and we have to choose a skeleton for the anim sequence
	#jira UE-58027

Change 4104318 by Phillip.Kavan

	Monolithic engine header file exclusion from nativized Blueprint assets is now tied to a project setting.

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

	#jira UE-59125

Change 4104305 by Mike.Beach

	Mirroring CL 4098493 from Dev-VR

	Not forcing stereo scene capture target to resize (only intended for the main stereo scene buffer, as the depth buffer needs to match the color buffer on some platforms).

	#jira UE-58953

Change 4104274 by Mike.Beach

	Mirroring CL 4088048 from Dev-VR

	Use the standardized tracking-to-world transform for world layer positioning on Oculus - handles both explicit and implicit HMD positioning.

	#jira UE-59275

Change 4104259 by Mike.Beach

	Mirroring CL 4084827/4085071 from Dev-VR

	MRC - Adding CVar for overriding the tracking latency (makes development easier in the calibration process).

	#jira UEVR-847

Change 4104246 by Mike.Beach

	Mirroring CL 4084289 from Dev-VR

	MR - Setting up the calibration save data so that we version it in the future (know that a lens param change is inbound after 4.20).

	#jira UE-58187

Change 4104240 by Mike.Beach

	Mirroring CL 4083160 from Dev-VR

	Making it so the HMD post-process pass properly fills out its RenderTargetDesc (so it doesn't rely on being the final output to have it set).

	#jira UE-56511

Change 4104233 by Mike.Beach

	Mirroring CL 4081823 from Dev-VR

	Loading Oculus controller models in the editor so that they get included in the cooking process (so that the MotionController components that indirectly uses these at runtime don't get dropped).

	#jira UE-58190

Change 4104196 by Alexis.Matte

	Unshelved from pending changelist '4075677':

	Fix fbx scene re-import crash when the user re-import more then one time with some override material.
	#jira UE-57937

Change 4104191 by Mike.Beach

	Mirroring CL 4080389 from Dev-VR

	Speculative fix/guard against live crash - trying to catch malformed model data. Logging helpful information to give us insight in the future.

	#jira UE-57680

Change 4104177 by Mike.Beach

	Mirroring CL 4080119 from Dev-VR

	CIS fix - circumventing vs2015 errors/warnings

	#jira UE-59326, UE-59324

Change 4104170 by Mike.Beach

	Mirroring CL 4078631 from Dev-VR

	Fixing MR Calibration so it scales the alignment model according the the capture's FOV (so they appear the same size across capture devices - leading to a homogenous experience).

	Also moved the FOV override config setting to be a console command/setting (mrc.FovOverride) to help in testing this.

	#jira UE-55499

Change 4104167 by Jostin.Bilyeu

	Checking in needed changes to level TM-DualLobeSpec in order to correctly verify intended functionality of feature

	#jira UE-29618

Change 4104158 by Peter.Sumanaseni

	#jira

Change 4104057 by Wes.Hunt

	Remove sending of UniqueAdvertisingId from AnalyticsET SessionStart events.
	#jira UE-59790

	SOURCE CL 4101872 in //UE4/Main/...

Change 4104031 by Dan.Oconnor

	Update assert to handle subobjects nested in components
	#jira UE-56422

Change 4103946 by Dan.Oconnor

	No need to load AnimationBlueprintEditor so early
	#jira UE-59669

Change 4103859 by Brandon.Schaefer

	Vulkan on Linux does not allow debugging with markers

	This is required for debugging wtih Render Doc or anything that uses VK debug markers

	#jira none

Change 4103677 by Sorin.Gradinaru

	UE-59052 Can't use touch to interact with Web Browser on iPhoneX

	#jira UE-59052
	#iOS
	#4.20

	from CL4077699 on Dev-Mobile

	Fixed crash on some iOS 11 devices (addSubview before setting WebView's params)
	Fixed unresponsive WebView on iPhone X (resize the parent with the same size as the child, the touch won't work if the parent is smaller)

Change 4103637 by Sorin.Gradinaru

	UE-39451 Web browser widget causes app to crash when packaging for Distribution on Android

	#UE-39451
	#Android
	#4.30

	from CL 4067204 on Dev-Mobile
	Adding a proguard exception for the WebViewControl.FrameUpdateInfo

Change 4103619 by Marc.Audy

	Allow the default physics volume to be spawned during construction script execution if it needs to be lazily created

	#jira UE-58875

Change 4103590 by mason.seay

	Added Show Mouse Cursor

	#jira UE-29618

Change 4103469 by paulo.souza

	#jira UE-59807 - War Hammer weapon was missing Ability setting resulting in it not working correctly.

Change 4103459 by mason.seay

	Updated maps so users can toggle UI-only input

	#jira UE-29618

Change 4103423 by paulo.souza

	#jira UE-59808 - Projectile abilities collision blocking on the camera trace

Change 4103280 by Jason.Bestimt

	Fixing copyright in Lumin Plugins

	#JIRA: 59192

Change 4103238 by JeanMichel.Dignard

	Copied cl 4077328 from dev-enterprise

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

	#jira UEENT-1423

Change 4103138 by Richard.Wallis

	Emergency Fix for bug I introduced in macOS UnrealFrontend crashing on open.  FSlateMacMenu::PostInitStartup() gets called much much earler in the front end tool than in the editor.  Unfortunatly the style set referenced is invalid as this call happens much earlier in the startup than with the game or the editor

	1) Changed GetStyleSetName() - this is not imortant for us so it won't crash there again.
	2) Added a check to see if the menu hasn't been setup correctly - if not initialize - this allows localization and and correct keyboard short cuts in non editor / game builds.
	3) Keep Editor and Game menu startup behaviour the same as before.

	#jira UE-59704

Change 4102958 by mason.seay

	Test map update

	#jira UE-29618

Change 4102847 by Marc.Audy

	Try and find the full path name for default value of class parameters

	#jira UE-59746

Change 4102449 by Ben.Marsh

	PR #4700: This patch fixes a build failure that occurs on the very first build after adding new files with reflected types. (Contributed by junkimu)

	#jira UE-58275

Change 4102431 by Ben.Marsh

	UBT: Fix issue where overlapping circularly header dependencies would not be parsed correctly, preventing files not being rebuilt on header changes (noted where Clang detected an out of date PCH).

	#jira UE-54979

Change 4102328 by Guillaume.Abadie

	Cherry-pick 4102327: Fixes a bug in FTAAPassParameters::TopLeftCornerViewRects() that was mistakenly increasing input and output view sizes, causing DOF buffers misalignement for split screen & VR.

	#jira none

Change 4102318 by Emil.Persson

	Fix for dark metal (missing reflections) in Blueprint Editor. Duplicate of changelist 4099649.
	#jira UE-59217

Change 4102310 by Dmitriy.Dyomin

	Fixed: UMG element clipping does not work on Android with Mali GPUs
	#jira UE-56058

Change 4101920 by Ben.Marsh

	Don't bother tagging the BuildConfiguration schema on Linux and Mac; we only include it in the distribution for Visual Studio anyway.

	#jira

Change 4101538 by Mark.Satterthwaite

	Duplicate 4073368

	Linear allocator for <2MB Managed buffers allocated in 4MB chunks - hopefully this reduces the total number of buffers and thus reduces the churn in the driver further. These should all be Volatile buffers meaning that we should eventually get semi-decent reuse of these buffers. Fixes some buffer alignment and sizing gotcha's along the way.

	#jira NA

Change 4101500 by Mark.Satterthwaite

	Duplicate 4098091

	On Mac we can avoid continually reallocating the depth-fallback texture as we only need the largest size to hang around and we can use DontCare for Load & Store. On iOS due to driver bugs we need to match the size and either Clear or Load - but I think Clear should be faster. Should make FortGPUTestBed faster on the CPU.

	#jira NA

Change 4101453 by Mark.Satterthwaite

	Duplicate 4078874 & 4079396

	Make LPV visualisation work on macOS to aid debugging.

	#jira UE-58937

	Export the constant-buffer bindings that are actually used by Metal shaders to prevent overwriting SRVs & UAVs with unused uniform-buffer data.

	#jira UE-58937

Change 4101448 by Max.Chen

	Sequencer: Fix uninitialized default completion mode

	#jira UE-58335

Change 4101417 by Sam.Deiter

	#JIRA #RB UEDOC-7656 - Fixed an issue with ARPG not building the loading screen CPP file.

Change 4101412 by Mark.Satterthwaite

	Duplicate 4075868

	Metal Vega drivers in 10.13.5 fix blitting with non-zero offsets and we should be using the same buffer blitting path on 2013 Mac Pro's now that we aren't paying an exorbitant cost for doing so.

	#jira N/A

Change 4101393 by Mark.Satterthwaite

	Fixed a mistake I let slip through in 3934147 that will potentially cause slight miscompilation of SP_METAL.

	#jira N/A

Change 4101390 by Marc.Audy

	Placed Editor Utility Base once again ticks in the editor as intended

	#jira UE-59743

Change 4101367 by Brandon.Schaefer

	Avoid printing when in a signal handler.
	Put that off until the end

	#jira UE-36663

Change 4101362 by Mark.Satterthwaite

	Duplicate 4091485
	PR - Fixed potential memory leak.
	#4751
	#jira UE-59490

Change 4101349 by Brandon.Schaefer

	VHACD Needs to be recompiled

	#jira UE-59506

Change 4101335 by Brandon.Schaefer

	Cache files that are invalid or the wrong case sensitivity

	#jira UE-58250

Change 4101325 by Dan.Oconnor

	SA fix, remove unneeded null check

	#jira UE-46834

Change 4101278 by Brandon.Schaefer

	Set our location to Linux/Mac GenerateProject.sh if we are not running from that location

	#jira UE-59127, UE-57928

Change 4101219 by Brandon.Schaefer

	If RunUAT gets a signal while running mono bring mono down as well

	#jira UE-56041

Change 4101169 by Dan.Oconnor

	Mirror 4094297 from Dev-Framework
	Mark blueprint created properties as RF_LoadCompleted to prevent the linker from finding them and overwriting them
	#jira UE-59642

Change 4101157 by Sam.Deiter

	#jira UEDOC-7655 Updating these images to reflect the name of the project and look like the other loading screens.

Change 4101132 by Jamie.Dale

	Fixed some places that were running asset registry queries inside a loop and causing performance issues

	#jira UE-59766

Change 4101125 by Jamie.Dale

	Added IAssetRegistry::GetAssetsByTags to optimize tag look-up when you can have several potential values

	#jira UE-59766

Change 4101102 by Dan.Oconnor

	Mirror 4090824 from Dev-Framework
	Add abillity to insert pins before or after a target pin for Sequence nodes via the context menu
	#jira UE-59530

Change 4101017 by Brandon.Schaefer

	Add a pop up message box for Linux to check if we want to or not submit crash report data

	#jira UE-59617

Change 4100961 by Michael.Trepka

	Updated Mac VHACD libs

	#jira UE-59506

Change 4100703 by Dan.Oconnor

	Mirror 4090523 from Dev-Framework
	Allow user to close Blueprint Debugger while at a breakpoint, origin of this behavior was 1148085 and the original issue no longer seems to happen. Also fix mismatch between tab name and context menu entry

	#jira UE-59526

Change 4100697 by Dan.Oconnor

	Merge 4083850 from Dev-Framework
	Prevent GameplayAbilitiesEditor from creating FBluerpintActionDatabase when not neccessary, improve performance of FBlueprintActionDatabase::RegisterAllNodeAction

	#jira UE-59036

Change 4100687 by Dan.Oconnor

	Mirror 4086666 from Dev-Framework
	Fix regression due to 'Step Over' fixes - we could pause VM execution when trying to end a Play-in-Editor or Simulated-in-Editor session

	#jira UE-58916

Change 4100658 by Jostin.Bilyeu

	Checking in new level TM-DuelLobeSpec and corresponding assets needed to verify Duel Lobe Specularity

	#jira UE-29618

Change 4100600 by Max.Chen

	Sequencer: Fix uninitialized default completion mode

	#jira UE-58335

Change 4100576 by Dan.Oconnor

	Mirror 4081417 from Dev-Framework
	Enum literals are now more similar to byte literals, which  makes them safer to pass by reference

	#jira UE-58473

Change 4100559 by Dan.Oconnor

	Mirror 4081153 from Dev-Framework
	Watch Point Viewer should not be a nomad tab, is owned by the Blueprint Debugger tab manager
	#jira UE-59313

Change 4100540 by Dan.Oconnor

	Mirror 4078822 from Dev-Framework
	Continue trying to finish reinstancing when instances of the old class are being async loaded
	#jira UE-58123

Change 4100527 by Dan.Oconnor

	Mirror 4092349 from Dev-Framework
	Speculative fix for shutdown crash, avoid use of LoadModule in DataValidator ShutdownModule and delete delegates registered in another module when BlueprintGraph shuts down

	#jira UE-57763

Change 4100478 by Mike.Zyracki

	weighted, non-weighted fix typo fix for issue found by AndrewP

	#jira UE-58573

Change 4100445 by Mike.Zyracki

	Fix for build warning, order of initialization.
	#jira UE-58712

	#trivial

Change 4100438 by Dan.Oconnor

	Mirror 4083455 from Dev-Framework
	Reduce use of template nodes - a template node was causing an ensure when asset reload code attempted to fix it up

	#jira UE-46834

Change 4100374 by Mike.Zyracki

	Fix for bad Camera Rotation Imported From Maya

	Main issue was that we don't support RotationOrders that aren't XYZ.
	We had some code to zero out other part's of the FBX transform pipeline but it wasn't setting the Rotation Order correctly and was also based upon old documentation.
	Currently recommendation is to always just zero everything out.
	Finally had to use ResetPivotSetAndConvertAnimation since there appears to be a bug with ConvertPivotAnimationRecursive into the correct space.

	#jira  UE-59116

Change 4100310 by Jamie.Dale

	Fixed ExecutePythonScript failing when passing file arguments

	#jira none

Change 4100305 by Mike.Zyracki

	Fix for performance issues with motion trails.

	Found that the main issue was the GetRefTM call.  Refactored the code so that we only call that once per tick, instead of up to  4 times per tick. Also we cache the calculation of the key positions, so we don't need to calculate them again when calculating keys.  Finally the GetRefTM call was recursive which was a decent hint, so we cache out it's parent's first and just get the transform's linearly.

	Also we don't select parents or children to show their trails also, this seemed buggy and possibly very very slow.

	#jira UE-58712

Change 4100290 by Ben.Marsh

	Prevent schema being added as a build product twice.

	#jira UE-59757

Change 4100259 by Jeff.Fisher

	Duplicating in Release-4.20:
	Change: 4087159
	UE-58249 Late update has FP precision issues on PSVR
	-In lateupdate the TranslatedViewMatrix and its inverse were being calculated from the ViewMatrix, by subtracting the PreViewTranslation.  This doesn't work because the translation numerical innacuracy is already in the ViewMatrix.
	-I also rearanged the UpdateViewMatrix code some to make it look more like the FViewMatrix constructor code that sets this up, just to make it easier to spot the difference.

	#review-4087096
	#jira UE-58249

	Files:
	//UE4/Dev-VR/Engine/Source/Runtime/Engine/Private/SceneView.cpp#71

Change 4100170 by Brandon.Schaefer

	Need dump_syms and BreakpadSymbolEncoder in installed builds

	#jira UE-59500

Change 4100070 by Richard.Wallis

	Speculative fix for crash in macOS AppKit NSPersistentUIManager.  Disable NSWindow application resume feature per window - we are not using it anyway.  OS system may still be called but hopefully this reduces the amount of work it is doing.  There still seems to be some generic data getting written however.

	There is also an undocumented *NSDisablePersistence* plist key.  Using this plist key completely stops any data getting written by the OS window resume feature. This CL does NOT use this because it's undocumented but maybe an option for the future.

	#jira UE-52294

Change 4099999 by James.McNatton

	Removed the disconnect button in the VirtualCamera plugin and cleaned up redirectors in VCam Widgets folder #jira UE-58032 #rb none

Change 4099996 by Ben.Marsh

	Build: Merge changes to support AutoSDKs on Mac.

	#jira UE-59574

Change 4099991 by Jamie.Dale

	Updated wrapped enums to be more consistent with native Python enums

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

	#jira none

Change 4099973 by Mitchell.Wilson

	Removing some more content that got duplicated into the main project from the virtualcamera plugin content.
	#jira UE-59744

Change 4099913 by Jamie.Dale

	Fixed some places that were calling LoadModuleChecked during shutdown

	#jira UE-59482

Change 4099905 by Jamie.Dale

	Fixed InitializeAvailableCultures missing some languages

	#jira UE-59349

Change 4099879 by Jamie.Dale

	Fixed a crash when a Blueprint with variable watches was destroyed

	#jira UE-59117

Change 4099874 by Mitchell.Wilson

	Removing some unused files from the Content directory. Updating defaultengine.ini with remote session channel info.
	#jira UE-59745 UE-59744

Change 4099860 by Benn.Gallagher

	Fixed clothing data binding state becomming mismatched after a reimport over multiple LODs, moved the unbind and rebind steps out of the inner import loop to be handled before and after the total reimport.

	#jira UE-57337

Change 4099819 by Richard.Wallis

	Fix for Timed Notifies scrub incorrectly on timeline on Mac.  This is also an issue if running in Hi DPI on windows.

	#jira UE-55678

Change 4099808 by Jamie.Dale

	Fixed crash when content hot-reloading the build data for the currently loaded world

	#jira UE-59163

Change 4099773 by Jamie.Dale

	Fixed crash after attempting to load a package that is too new

	#jira UE-58121

Change 4099759 by Jamie.Dale

	Fixed material editor crash if reloading a texture used by the material

	#jira UE-57762

Change 4099744 by Jamie.Dale

	Fixed placeholder string table entries being considered identical as their entry may appear in the future

	#jira UE-58987

Change 4099735 by Jurre.deBaare

	Crash importing specific Alembic file
	#fix Additional fix to triangulation vs indexing of vertex attributes, this fixes the crash but also normal issues seen before
	#misc default constructor for FTrackRenderData which could cause jittering/invisible geometry
	#jira UE-59095

Change 4099612 by Michael.Trepka

	Reverted change that delays crash reporting initialization for CEF on Mac

	#jira UE-57378

Change 4099564 by Guillaume.Abadie

	Cherry-pick 4075014: Works arround HLSLCC's issue with InterlockedOr in DOF's reduce pass.

	#jira none

Change 4099557 by Guillaume.Abadie

	Cherry-pick 4074767: Fixes DOF's scattered bokeh changing of intensity dynamic resolution + TAAU.

	#jira none

Change 4099549 by Guillaume.Abadie

	Cherry-pick 4073050: Whitelists vulkan for DOF's R11G11B10 optimisation and increase to 4 gathering on consoles.

	#jira none

Change 4099544 by Guillaume.Abadie

	Cherry-pick 4073044: PR #4681: UE-58051: Scene Capture 2D: additive mode not working in 4.19 (Contributed by lion03)


	#jira UE-58051

Change 4099540 by Richard.Wallis

	Fix for PIE HighDPI touch location.

	#jira UE-59015

Change 4099516 by Richard.Wallis

	speculative fix for FSlateMacMenu::UpdateMenu() crashes.  I've not been able to reproduce this.  All the crash call stacks seem to be at shutdown, maybe with the save changes dialogue that would appear after modifications then a CMD+Q.  I can get similar behaviour by adjusting when the FMacMenu adds and removes itself to the GCachedMenuState map.  This fix changes the access pattern to the map from operator[] (which uses a FindChecked underneath and is the cause of this crash/assert) to a FindRef then checking for a valid node.

	Since these crashes are at shutdown I think this is ok to do and I've tested with this fix in place, randomly not adding those items to GCachedMenuState object during editor operation and it now survives this and recovers if you then reenable the adding of the items.

	My best guess as to the cause is that the defered update event on shutdown is happenning way after the FMacMenu dealloc has been called and so the GCachedMenuState is empty by then.

	#jira UE-57012

Change 4099511 by Max.Chen

	Fix CIS
	#jira UE-59739

Change 4099486 by Richard.Wallis

	Speculative fix for crash in FMacWindow::ApplySizeAndModeChanges().  I had seen a crash in here while working on UE-46999 (fix for that submitted in CL 4016062) due to the window handle becoming nil mid way through the ApplySizeAndModeChanges() function then a deref'd.  This CL adds extra null pointer protection to make sure we check the validity of the WindowHandle after calls to UpdateFullScreenState().

	#jira UE-55071

Change 4099392 by Andrew.Rodham

	Sequencer: Fixed RootToSequence transform not being used when compiling segments with "Evaluate Sub Sequences in Isolation" enabled

	#jira UE-59138

Change 4099386 by Ben.Marsh

	Include the BuildConfiguration.Schema.xsd file in the installed engine build, and don't write it out when running in an installed build.

	#jira UE-58692

Change 4099382 by Benn.Gallagher

	Fixed crash when switching clothing meshes when clothing LOD0 is unbound on a clothing data object.
	#jira UE-55780

Change 4099363 by Jason.Bestimt

	Fix for HMD errors
	#jira UEVR-1191

Change 4099307 by Richard.Wallis

	Clone of CL 4077664:  Fix for Mac crash from crash report: [CrashReport] UE4Editor-Renderer.dylib!void FForwardLightingParameters::Set<FRHICommandList, FRHIPixelShader*>().  Reflection uniform buffer is NULL when shader parameter is bound - fails checkSlow(!Parameter.IsBound() || UniformBufferRHI); in SetUniformBufferParameter().

	#jira UE-51698

Change 4099289 by Richard.Wallis

	Clone of CL 4059587:  Fix for Sequencer window opening behind Main Window.  FLevelSequenceEditorToolkit::Initialize() Closes and reopens the world outliner after adding the Sequencer window.  On Mac this makes the world outliner / main window move back in front of the sequencer window.  This change swaps around those operations.  Reopen the world outliner then add the sequencer window.  Outliner info still changes it's visible data as before.

	Tested with World Outliner docked and undocked.

	#jira UE-55280

Change 4099279 by Richard.Wallis

	Fix for crash in Mac editor copying unusual characters in the output log.

	Current operation is unsafe.  String Length, number of bytes and code units are not always interchangeable in this way - use FString as that is the target type and does the right thing.

	#jira UE-57774

Change 4099256 by Richard.Wallis

	Fix for menu options not updating immediatly after creating or removing collision on Mac.  We set the bChachedMacMenuStateNeedsUpdate when a menu is opening, key up and mouse up.  However these can be missed on a mouse menu selection (mouse up doesn't cover this case).  This change makes sure that the menu cache updates after a menu item execute operation has been called.

	#jira UE-57049

Change 4098972 by Max.Chen

	Sequencer: Modify the section when toggling the bounded range. This fixes an issue where the evaluation would be incorrect because the template wouldn't regenerate when toggling the section bounds.

	#jira UE-59726

Change 4098967 by Mike.Zyracki

	Turn off turning off optimization for geometry sequencer tracks.

	#trivial
	#jira UESEQ-372

Change 4098942 by Max.Chen

	Fix CIS
	#jira UESEQ-372

Change 4098906 by Max.Chen

	Fix CIS
	#jira UESEQ-372

Change 4098881 by Max.Chen

	Fix CIS
	#jira UESEQ-372

Change 4098667 by Marcus.Wassmer

	Duplicate 4098665.  Fix d3ddebug error on launch
	#jira UE-59693

Change 4098542 by Mike.Zyracki

	Geometry Cache Sequencer Support for 4.20
	#jira UESEQ-372

Change 4098373 by Jason.Bestimt

	Misc Vulkan/Lumin fixes from Dev-VR

	CL 4071730, 4077567, 4077947, 4078460, 4078467, 4081212, 4081315, 4081648, 4083015

	#JIRA: UE-59722

Change 4098334 by Ethan.Geller

	[Release 4.20] #jira UE-54812 fix up include path.

Change 4098286 by Matt.Kuhlenschmidt

	Fix slate resources being destroyed when a dynamic image brush is destoyed even if the resource is shared.

	#jira UE-55792

Change 4098284 by Brandon.Schaefer

	Missing header in Monolithic builds

	Fixed indent issues, was using spaces vs tabs

	#jira UE-59705

Change 4098247 by Michael.Trepka

	Fixed a crash in FMacApplication::ProcessMouseUpEvent()

	#jira UE-57859

Change 4098219 by Matt.Hoffman

	Linux CIS Fixes for TOptional

	#trivial
	#jira  None

Change 4098209 by Matt.Kuhlenschmidt

	Disable "restart detection" reimport test until we can reproduce the issue.  Its not detecting a legit issue

	#jira UE-59710

Change 4098132 by Ben.Marsh

	Add "Nuget Package Manager" to the list of required components for compiling the engine.

	#jira UE-59376

Change 4098110 by Ben.Marsh

	Fix missing DLL errors when compiling for Win32 with the VC++ 14.14 toolchain.

	#jira UE-59150

Change 4098088 by Matt.Kuhlenschmidt

	Fix ensure starting tutorials in any editor project

	#jira UE-59714

Change 4098011 by Ben.Marsh

	Fix editor targets not being rebuilt when packaging from an installed engine build.

	#jira UE-58652

Change 4098006 by Matt.Hoffman

	Deleting keys, undoing the deletion, selecting them and then redoing the deletion no longer causes a crash in Sequencer/UMG's Curve Editors. KeyHandleLookupTables were not being serialized so when Undo/Redo transactions happened their map of the key handles would not be restored. This caused a mis-match in the data (the map contained more entries than actual data) so the map would falsely report a valid index when there was not one. Graph Editor selections are not sync'd with the Undo/Redo system currently so redoing a deletion after selecting keys would leave you in a state where you tried to request now out of bounds keys on the next Tick to update the UI.

	#jira UE-58270

Change 4097995 by Ryan.Vance

	#jira UEVR-1190

	Disable rhi thread when running with vulkan on oculus android platforms.

Change 4097981 by Ben.Marsh

	Ignore private include paths for any precompiled modules. Prevents warnings when they are stripped out from an installed engine build.

	#jira

Change 4097963 by Ben.Marsh

	Write the exception callstack to the UBT log when thrown reading a makefile.

	#jira UE-59222

Change 4097940 by Ben.Marsh

	Prevent source folder being added as a private include path if it does not exist.

	#jira UE-59145

Change 4097927 by Ethan.Geller

	[Release-4.20] #jira UE-54812 Bring fixes over for Set Mic Threshold issue in binary builds. #rb aaron.mcleran

Change 4097905 by Krzysztof.Narkowicz

	Added dual specular for subsurface profile shading model. It is controlled by parameters inside subsurface profile.
	#jira UE-59709

Change 4097898 by Ryan.Vance

	#jira UEVR-1191

	Ensure we prefer VK_PRESENT_MODE_MAILBOX_KHR or VK_PRESENT_MODE_IMMEDIATE_KHR over VK_PRESENT_MODE_FIFO_KHR when creating a swap chain when running inVRr. VSync will interfere with compositor cadence.

Change 4097855 by Ben.Marsh

	Move checks for unique field names behind an additional define, to avoid performance hit when compiling blueprints.

	#jira UE-58593

Change 4097850 by Ben.Marsh

	Fix UE4Game compile errors.

	#jira UE-58593

Change 4097849 by Marcin.Undak

	Vulkan: fix missing debug markers (TCHAR_TO_ANSI lifetime issues)

	- Fixed by BrandonS.

	#jira UE-59484

	(merged from Dev-Console)

Change 4097844 by Ben.Marsh

	TBA: Use the trivially relocatable allocator with structured archives, to reduce time taken allocating memory in the constructor.

	#jira UE-58593

Change 4097840 by Ben.Marsh

	Add a new allocator (TNonRelocatableInlineAllocator) which eliminates conditional logic from GetAllocation(), at the expense of not being trivially relocatable. This provides a significant performance increase for allocators that are dereferenced frequently, but prevents instances of it being stored inside other allocators (which are expected to be trivially relocatable by default).

	#jira UE-58593

Change 4097831 by Ben.Marsh

	TBA: Add a fast path for serializing to binary archives that don't require callbacks when leaving slots.

	#jira UE-58593

Change 4097825 by Marcin.Undak

	UAT: don't produce .pak file while cooking on the fly (merged from Dev-Console)

	#jira UE-58923

Change 4097783 by Ethan.Geller

	[Release-4.20] #jira UE-58004 fix AudioMixer checks in AudioMixerBlueprintLibary, which solves crash when calling recording BP functions. #rb Aaron.McLeran

Change 4097767 by Matt.Kuhlenschmidt

	Fix crash processing mainframe keybindings during slow tasks

	#jira UE-55765

Change 4097745 by Ben.Marsh

	Fixes to UpdateCopyright for latest source.

	#jira

Change 4097743 by mason.seay

	Test map for Virtual Camera Focus testing

	#jira UE-29618

Change 4097723 by Matt.Kuhlenschmidt

	Fix crash when importing assets in a folder containing an invalid character for a package name

	#jira UE-59166,UE-44071

Change 4097713 by Max.Chen

	Sequencer: Fix missing buttons in the particle toggle track.

	Fixed CreateKeyEditor and make the the channel handles reflect the channel's inheritance hierarchy.

	#jira UE-59542

Change 4097683 by Max.Chen

	Sequencer Scripting: Move to "Scripting" category alongside Python Script Plugin

	#jira UE-59568

Change 4097681 by Krzysztof.Narkowicz

	Missing file for CL 4097655: "Added subsurface profile for eye shading model."
	#jira UE-59708

Change 4097655 by Krzysztof.Narkowicz

	Added subsurface profile for eye shading model.
	#jira UE-59708

Change 4097634 by Max.Chen

	Sequencer: Add checks for valid sequencer.

	#jira UE-59287

Change 4097627 by Max.Chen

	Sequencer: Fix for crash OnKeySelected and GetAutoSizeRange

	#jira UE-58343

Change 4097625 by Max.Chen

	Sequence Recorder: Fix StopRecording() condition when there is an actor recording that doesn't have a valid actor to record. Fix bool recorder not using bool channels.

	#jira UE-58688

Change 4097620 by Max.Chen

	Actor Sequence: Fix crash on compiling blueprint with deleted actor sequence

	#jira UE-53186
	#jira UE-59664

Change 4097616 by Max.Chen

	Text Render Component: Fix crash on shutdown.

	#jira UE-58116

Change 4097607 by Max.Chen

	Sequencer: Use non-throttled spin box for numeric key editor

	#jira UE-59219

Change 4097606 by Max.Chen

	Sequencer: Check for a valid segment ID in EvaluateStatic

	#jira UE-57596

Change 4097538 by Marc.Audy

	PR #4755: Fix minor typo in comment (Contributed by Marenz)
	#jira UE-59671

Change 4097518 by Marcin.Undak

	UBT: fix for platforms overriding project generation (merge from Dev-Console)

	#jira UE-59485

Change 4097417 by Benn.Gallagher

	Fixed barycentric computation case causing a check. Should really just output an invalid sentinel value. Warns about failures but no longer crashes.

	#jira UE-57097

Change 4097407 by Jason.Bestimt

	Changing MLSDK missing callback to launch MagicLeap URL

	#JIRA: UE-58631

Change 4097404 by Jason.Bestimt

	Proper fix for UE-58864 (crash for Android derived platforms in Launch on menu)

	#JIRA: UE-58864

Change 4097296 by Matt.Kuhlenschmidt

	Fix rotation widget no longer correctly displaying rotation label while rotating in high dpi

	#jira UE-58983

Change 4097284 by Matt.Kuhlenschmidt

	PR #4650: Git plugin: fix crash on commit error (Contributed by SRombauts)


	#jira UE-57562

Change 4097275 by Matt.Kuhlenschmidt

	Fix crash if slate shuts down while a drag drop operation is in progress

	#jira UE-58888

Change 4097261 by Matt.Kuhlenschmidt

	Undo //UE4/Release-4.20/Engine/Source/Runtime/Slate/Private/Framework/Application/... changelist 4097249

	#jira 0

Change 4097249 by Matt.Kuhlenschmidt

	Fix crash if slate shuts down while a drag drop operation is in progress

	#jira UE-58888

Change 4097165 by Nick.Shin

	#jira UE-58441  HTML5 package crashes on several key combinations: uncaught exception: ASM_CONSTS

Change 4097163 by Nick.Shin

	#jira UE-58423 HTML5 Quicklaunch through UnrealFrontEnd fails on Stage Command: Error: System.NullReferenceExeception

Change 4096984 by Ben.Marsh

	Merging changes to //UE4/Main after 4.20 stream was created.

	#jira

Change 4096873 by Ben.Marsh

	Fix compile errors for UE4Editor when Oodle SDK is not available.

	#jira

Change 4095992 by Ben.Marsh

	Update stream for analytics.

	#robomerge none
	#jira

Change 4111924 by Ben.Marsh

	Force Win32/Win64 game targets in the installed engine build to be compiled with VS2015, to fix missing symbols linking object files built with VS2017 with VS0215 MSVCRT.

	#jira UE-59891

Change 4106160 by Ben.Marsh

	UBT: Fix intermittent PDB errors when compiling with ParallelExecutor, caused by MSPDBSRV.EXE instances being terminated while generating multiple PDBs in parallel.

	#jira UE-59691

Change 4101702 by Mark.Satterthwaite

	Duplicate 4098660 & 4101604

	Restore the MacGraphicsSwitching plugin removed in 3212253 and begin refactoring it to support switching the Editor between Metal GPUs - primarily this is of benefit to those with eGPUs.
	- Changing the GPU will ask you to restart.
	- Fixes a bug where 27" iMacs report an Intel GPU even though it is physically disabled.

	Add support for Metal device notiications and amend the MacGraphicsSwitching plugin to use it to update when GPUs are added or removed.

	#jira UERNDR-404

Change 4101598 by Andrew.Grant

	Changed RemoteSession background to something more generic.

	#jira UE-59062

Change 4101553 by Mark.Satterthwaite

	Duplicate 4072923 & 4081236 & 4082081 & 4084046 & 4084647

	- Fixes LLM double-counting in MetalRHI.
	- MetalProfiler improvements.

	#jira NA

Change 4099406 by Ben.Marsh

	Disable building IOS in installed builds on Windows by default. We don't support this on the cross-compile toolchain.

	#jira UE-57801

[CL 4112874 by jason bestimt in Dev-VR branch]
2018-06-05 10:27:10 -04:00
Ben Marsh
30f891786a Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3847469)
#lockdown Nick.Penwarden
#rb none

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

Change 3805828 by Gil.Gribb

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

Change 3806784 by Ben.Marsh

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

Change 3807549 by Graeme.Thornton

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

Change 3807727 by Graeme.Thornton

	Unhide the text asset format experimental editor option

Change 3807746 by Josh.Engebretson

	Remove WER from iOS platform

Change 3807928 by Robert.Manuszewski

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

Change 3808221 by Steve.Robb

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

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

Change 3809233 by Graeme.Thornton

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

Change 3809518 by Ben.Marsh

	Remove the outdated UnrealSync automation script.

Change 3809643 by Steve.Robb

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

	#jira UE-53037

Change 3809862 by Steve.Robb

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

	#jira UE-42593

Change 3811190 by Graeme.Thornton

	Add support for writing specific log channels to their own files

Change 3811197 by Graeme.Thornton

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

Change 3811257 by Robert.Manuszewski

	Cluster creation will now be time-sliced

Change 3811565 by Steve.Robb

	Define out non-monolithic module functions.

Change 3812561 by Steve.Robb

	GitHub #3886 : Enable Brace-Initialization for Declaring Variables

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

	#jira UE-48242

Change 3812864 by Steve.Robb

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

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

	#jira UE-53089

Change 3820358 by Ben.Marsh

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


Change 3822594 by Ben.Marsh

	UAT: Improvements to log file handling.

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

Change 3823695 by Ben.Marsh

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

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

Change 3823845 by Ben.Marsh

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

Change 3824180 by Ben.Marsh

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

	#jira

Change 3825777 by Steve.Robb

	Fix to return value of StringToBytes.

Change 3825810 by Ben.Marsh

	UBT: Reduce length of include paths for MSVC toolchain.

Change 3825822 by Robert.Manuszewski

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

Change 3826734 by Ben.Marsh

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

Change 3827730 by Steve.Robb

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

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

Change 3827745 by Steve.Robb

	Initializer list support for TMap.

Change 3827770 by Steve.Robb

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

	#jira UE-53813

Change 3829189 by Ben.Marsh

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

Change 3830444 by Steve.Robb

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

Change 3830718 by Ben.Marsh

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

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

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

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

	#jira UE-53845

Change 3831064 by Ben.Marsh

	Fix log file contention when spawning UBT recursively.

Change 3832654 by Ben.Marsh

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

Change 3832680 by Ben.Marsh

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

Change 3832695 by Ben.Marsh

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

Change 3833528 by Ben.Marsh

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

Change 3833543 by Ben.Marsh

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

Change 3834354 by Robert.Manuszewski

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

	#jira UE-52035

Change 3834400 by Robert.Manuszewski

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

	#jira UE-52035

Change 3834947 by Steve.Robb

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

Change 3835004 by Ben.Marsh

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

Change 3835340 by Ben.Marsh

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

Change 3835972 by Ben.Marsh

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

Change 3836019 by Ben.Marsh

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

Change 3836269 by Ben.Marsh

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

Change 3836543 by Ben.Marsh

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

Change 3836546 by Ben.Marsh

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


Change 3836805 by Ben.Marsh

	Fix commandlet to compile marketplace plugins.

Change 3836829 by Ben.Marsh

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

Change 3837036 by Ben.Marsh

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

Change 3837037 by Ben.Marsh

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

Change 3837040 by Ben.Marsh

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

Change 3837247 by Ben.Marsh

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

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

Change 3837262 by Ben.Marsh

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

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

Change 3837343 by Ben.Marsh

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

Change 3837356 by Ben.Marsh

	Fix invalid character encodings.

Change 3837727 by Graeme.Thornton

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

Change 3837823 by Ben.Marsh

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

Change 3837831 by Graeme.Thornton

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

Change 3837857 by Robert.Manuszewski

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


Change 3837943 by Robert.Manuszewski

	PR #4405: Fix FGarbageCollectionTracer (Contributed by mhutch)


Change 3838451 by Ben.Marsh

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

	#jira UE-53996

Change 3839519 by Ben.Marsh

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

Change 3843790 by Graeme.Thornton

	UnrealPak: Log the size of all encrypted data

Change 3844258 by Ben.Marsh

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

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

	#jira UE-54157

Change 3845796 by Ben.Marsh

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

Change 3845823 by Ben.Marsh

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

	#jira UE-54123

Change 3845901 by Arciel.Rekman

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

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

	(Edigrating 3819174 to Dev-Core)

Change 3846439 by Ben.Marsh

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

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

Change 3816608 by Ben.Marsh

	UBT: Use DirectoryReference objects for all include paths.

Change 3816954 by Ben.Marsh

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

Change 3816986 by Ben.Marsh

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

Change 3816991 by Ben.Marsh

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

Change 3823090 by Ben.Marsh

	UAT: Improve logging for child UAT instances.

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

Change 3826082 by Ben.Marsh

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

Change 3827025 by Ben.Marsh

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

Change 3829927 by James.Hopkin

	Made HTTP interface const correct

Change 3833533 by Ben.Marsh

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

Change 3835826 by Ben.Marsh

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

Change 3835969 by Ben.Marsh

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

Change 3837777 by Steve.Robb

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

Change 3838569 by Steve.Robb

	Algo moved up a folder.

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

[CL 3818977 by Ben Marsh in Staging-4.19 branch]
2018-01-02 15:30:26 -05:00
Ben Marsh
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
1c5801b576 Fix UAT crashing on startup during BuildCookRun. UAT currently makes an assumption that there is one editor/client/game/server target per project.
#rb none
#fyi JeanMichel.Dignard
#lockdown Nick.Penwarden

[CL 3513972 by Ben Marsh in Main branch]
2017-06-28 13:14:02 -04:00
Simon Tourangeau
d88237d27d Copying //UE4/Dev-Enterprise to //UE4/Dev-Main (Source: //UE4/Dev-Enterprise @ 3490213)
#lockdown Nick.Penwarden
#rb JeanMichel.Dignard

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

Change 3471737 on 2017/06/02 by Martin.Sevigny

	Changed Statistics panel export to CSV to output unformatted numeric values (no separation, no units). This allows Excel and Sheets to recognize the data a numbers so it's possible to properly sort and do arithmetic. Previous format was being recognized as strings.

Change 3472839 on 2017/06/03 by JeanMichel.Dignard

	DatasmithImporter plugin
	- Used to import .mus files into UE

	DatasmithExporter
	- A DCC agnostic library to export to the .mus format

	DatasmithCore
	- A shared Datasmith library used by DatasmithImporter and DatasmithExporter

	ThirdParty
	- Added FreeImage and Itoo as Enterprise third party libraries

	Other
	- Removed an incorrect struct Rect forward declaration in IntRect.h
	- Added MinimalAPI to MaterialExpression Desaturation and Rotator

Change 3482313 on 2017/06/09 by JeanMichel.Dignard

	- Added Algo::IntroSort that performs an introspective sort. Starts with quick sort and switches to heap sort when the iteration depth is too big.
	- Added TReversePredicate to invoke Predicate(B, A) when calling algos with a predicate.
	- Moved the heapify and heap sort code that was inside Array to separate Algo files.
	- Used IntroSort in LayoutUV because Sort can be problematic when importing big meshes.

Change 3483881 on 2017/06/10 by JeanMichel.Dignard

	UBT
	- Added an Enterprise flag in the uproject file to specify that a project is using the enterprise plugins and modules.
	- A project will only depend on the enterprise assembly if it has the enterprise flag.
	- Enterprise plugins are only loaded for enterprise projects.
	- Added validation that Engine modules don't depend on Enterprise modules and that Enterprise modules don't depend on Game modules.
	- Fixed an issue where enterprise modules would end up in the game project binaries folder.

Change 3485448 on 2017/06/12 by JeanMichel.Dignard

	- Adds DatasmithMaxExporter
	- Adds the DatasmithExport sample
	- Removes dllmain from tbbmalloc to fix issues with Programs outputting dlls.

[CL 3490257 by Simon Tourangeau in Main branch]
2017-06-14 16:17:46 -04:00
Simon Tourangeau
e97c622e09 Copying //UE4/Dev-Enterprise to //UE4/Dev-Main (Source: //UE4/Dev-Enterprise @ 3438070)
#lockdown Nick.Penwarden
#rb JeanMichel.Dignard

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

Change 3434228 on 2017/05/10 by Simon.Tourangeau

	Integrate UBT Task stream changes by JeanMichel.Dignard

	Unreal Build Tool
	- Added support for a new root folder /Enterprise with its own rules assembly, binaries and intermediate folders.
	- Supports enterprise specific modules, plugins, programs, samples and templates.
	- Enterprise plugins are automatically discovered by the PluginManager.

[CL 3438097 by Simon Tourangeau in Main branch]
2017-05-12 19:19:12 -04:00
Ben Marsh
5275490168 Copying //UE4/Dev-Build to //UE4/Dev-Main (Source: //UE4/Dev-Build @ 3277940)
#lockdown Nick.Penwarden
#rb none

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

Change 3233612 on 2016/12/13 by Ben.Marsh

	UGS: Fix cases where precompiled binaries are submitted for a content change.

Change 3235584 on 2016/12/14 by Ben.Marsh

	UBT: Deprecate the overridable TargetRules.ShouldUseSharedBuildEnvironment() function; targets should specify which build environment to use by setting the BuildEnvironment field in their constructor instead.

Change 3235741 on 2016/12/14 by Ben.Marsh

	UBT: Deprecate the SetupBinaries() callback on the TargetRules class. Instead of overriding this, targets may override their launch module through the "LaunchModuleName" property in their constructor, and add extra modules to the "ExtraModuleNames" field on the TargetRules object itself.

Change 3238176 on 2016/12/16 by Ben.Marsh

	UBT: New XML config file parser. Now reads once at startup and can be applied to instanced objects rather than global fields, and caches parsed output in a binary form for quicker initialization on subsequent runs.

Change 3238249 on 2016/12/16 by Ben.Marsh

	UBT: Add attribute-driven command line parser.

Change 3238462 on 2016/12/16 by Ben.Marsh

	UBT: Include the Platform, Configuration and Architecture on the TargetRules. Add a constructor which takes the TargetInfo object and deprecate the parameterless one; these fields are currently initialized before invoking the constructor in RulesAssembly.

Change 3238564 on 2016/12/16 by Ben.Marsh

	UBT: Deprecate the ModuleRules constructor which takes a TargetInfo argument. Replace it with a read-only wrapper around the target rules instead, so target-specific configuration options can be read without needing to access global static variables. Also require that it's passed to the base class constructor.

Change 3239919 on 2016/12/19 by Ben.Marsh

	UBT: Remove the "PreferredSubPlatform" property. This is only used for Windows XP support, which is being retired anyway. Having the target define its own architecture is an awkward contractiction to maintain support for, since the target rules are constructed after the architecture already has been determined.

Change 3240061 on 2016/12/19 by Ben.Marsh

	UBT: Remove ThirdPartyHeaderFinder. I don't think anything is using this any more.

Change 3240175 on 2016/12/19 by Ben.Marsh

	UBT: Add the target name and project file location to the target rules.

Change 3240490 on 2016/12/19 by Ben.Marsh

	UAT: Remove Mac staging code that requires UAT to compile and construct .target.cs files when packaging, to check bUseSteam and bUseCEF3 flags. libsteam_api.dylib is now staged at build time by adding it as a bundle resource, CEF3 is already marked as a runtime dependency by CEF3.build.cs, and UnrealCEFSubProcess.app is already marked as a runtime dependency from WebBrowser.build.cs.

Change 3240717 on 2016/12/20 by Ben.Marsh

	UAT: Allow configuring UAT to run as if on a build machine by passing the -buildmachine argument on the command line.

Change 3240718 on 2016/12/20 by Ben.Marsh

	UAT: Remove target-specific properties that are no longer used by staging (bUsesSlate, bUsesCEF3, etc...). This stuff should all be handled inside UBT.

Change 3241002 on 2016/12/20 by Ben.Marsh

	UBT: Move most target configuration settings from UEBuildConfiguration to TargetRules. This encapsulates target specific settings that will allow instancing multiple targets in the future. To facilitate migration of settings to their new location, "UEBuildConfiguration" is now a property that returns the current target rules instance.

Change 3241027 on 2016/12/20 by Ben.Marsh

	Only copy the Steamworks dylib into the app bundle for monolithic builds. For all other times, just add it as a runtime dependency.

Change 3241055 on 2016/12/20 by Ben.Marsh

	UBT: Only store a ReadOnlyTargetRules object on the instanced build target; finalize the configuration before it's instantiated.

Change 3241156 on 2016/12/20 by Ben.Marsh

	Update SwarmInterface.csproj to .NET framework 4.5, to match what all other C# tools are using.

Change 3241205 on 2016/12/20 by Ben.Marsh

	Replace all uses of TargetRules.TargetType with TargetType.

Change 3241881 on 2016/12/21 by Ben.Marsh

	UBT: Remove project file information from UEBuildContext base class. As configurable properties are moved on to the TargetRules object, it will no longer be a dependency to instantiate the platform with this path.

Change 3241895 on 2016/12/21 by Ben.Marsh

	UBT: Remove toolchain support for Windows XP.

Change 3241908 on 2016/12/21 by Ben.Marsh

	UBT: Move settings for windows targets into a WindowsTargetRules class, which is exposed for targets to modify via the TargetRules.WindowsPlatform field.

Change 3242835 on 2016/12/22 by Ben.Marsh

	UBT: Fix multiple binaries being created if plugins specify module names more than once. MfMedia.uplugin has MfMediaFactory listed twice.

Change 3242837 on 2016/12/22 by Ben.Marsh

	Change UE4EditorServices to include MacSystemIncludes rather than Cocoa.h directly; causes FVector to be defined incorrectly in non-unity builds.

Change 3242923 on 2016/12/22 by Ben.Marsh

	Build: Fixes for conforming incremental workspaces:

	* P4 have table is now reset before deleting all the files. This prevents Perforce being out of sync if the delete fails for some reason.
	* Incremental workspaces are skipped when running a clean operation, because they do not have a workspace capture file (causing a full re-sync, always). The "P4 Clean" option is still effective for cleaning these workspaces.

Change 3242961 on 2016/12/22 by Ben.Marsh

	UBT: Move entry points from PreBuildSync() and PostBuildSync() from UEToolChain to UEBuildPlatform, and make the original toolchain versions static. These functions are already at odds with the rest of the data flow within UBT because they rely on global state cached outside the toolchain instance, making assumptions that UBT is only ever going to be invoked with one target that's constructed in the same run and that nothing is being cached (eg. UBT makefiles). Moving them onto UEBuildPlatform simplifies the toolchain lifecycle for other platforms without leaving Mac and IOS any more limited than they were before.

Change 3242981 on 2016/12/22 by Ben.Marsh

	UBT: Remove symbol server handling code into UAT's platform library, since it's never needed from inside UBT.

Change 3242999 on 2016/12/22 by Ben.Marsh

	UBT: Remove the StripSymbols() function from the UEToolChain base class. This functionality is only required by UAT, so it's better suited to being exposed through UAT's modular platform classes.

Change 3243022 on 2016/12/22 by Ben.Marsh

	UBT: Require an instance of the target rules to be able to construct a toolchain in UBT. This will allow configuring toolchain-specific options from the target, using reflection from config files, and the command line.

Change 3243083 on 2016/12/22 by Ben.Marsh

	UBT: Move settings for the Windows compiler version to use onto the Windows-specific target rules.

Change 3243090 on 2016/12/22 by Ben.Marsh

	UBT: Change the third party paths in UEBuildConfiguration to constants. Changing these would not work.

Change 3243423 on 2016/12/23 by Ben.Marsh

	UBT: Move a lot of settings from BuildConfiguration to TargetRules. This allows different targets to have different settings, naturally, and moves converts argument parsing and config to be driven by attributes.

Change 3243516 on 2016/12/23 by Ben.Marsh

	UBT: Remove the ValidateUEBuildConfiguration callback, which is no longer used. (XGE settings validation occurs in XGE.cs)

Change 3244020 on 2016/12/28 by Ben.Marsh

	UBT: Remove the BaseIntermediatePath static property. Precursor to removing RelativeEnginePath and IntermediateFolder properties.

Change 3244074 on 2016/12/28 by Ben.Marsh

	UBT: Remove the RelativeEnginePath variable from BuildConfiguration. UnrealBuildTool.EngineDirectory gives the absolute path, and can be used to construct a relative path when necessary.

Change 3244076 on 2016/12/28 by Ben.Marsh

	UBT: Remove BuildConfiguration.BaseIntermediateFolder; just use a fixed directory everywhere instead.

Change 3244083 on 2016/12/28 by Ben.Marsh

	UBT: Replace FileReference and DirectoryReference instance methods for manipulating files and directories with static methods, to mirror the System.IO.File and System.IO.Directory classes.

Change 3244441 on 2016/12/31 by Ben.Marsh

	UBT: Remove code to force PDBs when building with no debug info under XGE. Verified described symptoms (that it causes PCH generation to be serialized) no longer occur.

Change 3244687 on 2017/01/03 by Matthew.Griffin

	Changed Exception to use FirstInclude.IncludeName as PrecompiledHeaderIncludeFilename can be null when this occurs

Change 3246112 on 2017/01/04 by Ben.Marsh

	UBT: Fix UHT failures building some targets with the -useprecompiled option, due to differences in the order that circularly dependent modules are parsed. Precompiled binaries are now kept in the regular AppBinaries list, but are excluded from the build at the last minute. Also change some checks from IsEngineInstalled() to bUsePrecompiled, to prevent headers being overwritten when running in a non-installed precompiled build.

Change 3246223 on 2017/01/04 by Ben.Marsh

	UBT: Prevent version manifests being overridden if a file is not being built as part of the target.

Change 3246387 on 2017/01/04 by Ben.Marsh

	UBT: Remove BuildConfiguration settings for UnrealCodeAnalyzer. This tool isn't used at the moment, but it's configured using global variables accessed from all over the UBT codebase, making it difficult to refactor the build options into an instanced object. If we bring this tool back from the dead in the future, it should be possible to implement it using the exported JSON target definition or the XGE manifest, similarly to how IncludeTool uses it.

Change 3247004 on 2017/01/04 by Ben.Marsh

	UBT: Simplify the logic for cleaning targets in UBT. Now uses FileReference/DirectoryReference objects everywhere, doesn't require the compile/link environment, and does all the checking to avoid deleting precompiled binaries in one place.

Change 3247250 on 2017/01/04 by Ben.Marsh

	UBT: Prevent precompiled binaries being added to the list of app binaries twice.

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

	Build: Run sample and template editors on the same agents as the other incremental builds. Remove ProtoStar, which does not have any non-precompiled editor target to build.

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

	UBT: Allow the toolchain to update the list of build products for each module linked into a binary. Allows Mac to add dylibs and bundle resources specified per-module without having to construct a link environment and try to link them.

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

	UBT: Instance the target compile and link environments when they are required during building, and don't persist them on the UEBuildTarget instance.

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

	EC: Add a batch file for testing postp filters.

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

	EC: Include the name of the file being compiled when parsing MSVC errors and warnings.

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

	UBT: Fix Android support for force included headers.

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

	PR #3097: UBT project supports optional platforms (Contributed by PrimalJohnScott)

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

	UAT: Fix ParseTaggedP4Output throwing an exception if the same key name is specified more than once. This can happen when parsing the output from "P4 INFO", where multiple brokers are present.

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

	UBT: Check for the existance of AndroidManifest.xml within extracted AAR directories, rather than just checking for the existance of the directory itself. Perforce does not remove empty directories when cleaning a workspace unless the rmdir option is on the workspace, so this can cause incremental build failures to fail on build machines.

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

	UBT: Use relative paths in unity files when compiling for Mac/IOS, rather than generating a separate local/remote version of the file for gathering include dependencies. Absolute paths are only used to work around the way that MSVC concatenates paths internally; we don't hit the same problems when checking dependencies.

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

	UBT: Rename CPPEnvironment to CppCompileEnvironment, and remove the separate CPPEnvironmentConfiguration object. All settings are now stored directly on the CppCompileEnvironment object.

Change 3250179 on 2017/01/07 by Ben.Marsh

	Fix creating installed build when root directory contains a space in the name.

Change 3250181 on 2017/01/07 by Ben.Marsh

	UBT: Remove some esoteric (and unused, AFAIK) options for orthogonally building different platforms.

Change 3250223 on 2017/01/07 by Ben.Marsh

	UBT: Merge the LinkEnvironment and LinkEnvironmentConfiguration classes together.

Change 3250233 on 2017/01/07 by Ben.Marsh

	UGS: Allow specifying a workspace-specific sync filter, which is applied on top of the standard filter. Also fix filter being cleared if the cancel button is pressed, and help text being stripped out.

Change 3250241 on 2017/01/07 by Ben.Marsh

	UBT: Move the options for specifying additional Android architectures to target onto an Android-specific object on the TargetRules.

Change 3250400 on 2017/01/08 by Ben.Marsh

	UBT: Move executor config settings onto the executor instances.

Change 3257708 on 2017/01/13 by Ben.Marsh

	UBT: Remove the ThirdPartySourceDirectory constant; there are many places which hard-code or assume this location anyway, and it's not going to change.

Change 3260535 on 2017/01/17 by Ben.Marsh

	Add an optional "RequiredSubmittedChange" setting to EC settings files. Allows a scheduled job to run even if there have been no code changes submitted. Test with the utilization capture job.

Change 3260875 on 2017/01/17 by Ben.Marsh

	EC: Fix workspaces getting out of sync wrt. newly added files when jobs are aborted during a sync. In such cases, the P4 have table indicates the new files have been synced locally, but the workspace is forced back to a state before it had them due to the capture file. When a following sync tries to add them again, P4 believes the workspace already has them synced.

	To work around this, we now write an additional file to the root folder of a workspace containing the last CL that was captured, and sync back to it before doing the reconcile.

Change 3261724 on 2017/01/18 by Ben.Marsh

	Allow filtering job types from the list view in EC. Hide the utilization capture job by default. Also set up notifications for the utilization capture job.

Change 3261756 on 2017/01/18 by Ben.Marsh

	IncludeTool: Prevent matching a full enum declaration as a forward declaration.

Change 3261932 on 2017/01/18 by Ben.Marsh

	EC: Add support for specifying days of the week in schedules. The following syntaxes are supported:

	"Monday, Tuesday and Wednesday at 10:30"
	"Daily except Sunday and Wednesday at 14:30"

	 Also tweak display of dates relative to now to handle dates/times in the future, and include the date when specifying a day name.

	#jira UEB-729

Change 3262676 on 2017/01/18 by Ben.Marsh

	UBT: Split UBTMakefile into its own file. (From PR #3106)

Change 3263893 on 2017/01/19 by Ben.Marsh

	UBT: Stop exporting platform classes from UBT, as well as all the referenced classes that have to be made public as a result. Any platform-specific functionality that needs to be shared with UAT is now exposed through wrappers in separate public classes, eg. WindowsExports.cs, IOSExports.cs, etc...

Change 3264291 on 2017/01/19 by Ben.Marsh

	UBT: Fix errors generating documentation in UBT, and enable it by default. Will catch more errors with new code being added. Originally in PR #3106, but redone due to conflicts.

Change 3264534 on 2017/01/19 by Ben.Marsh

	UBT: Include plugin config files in generated projects.

Change 3264571 on 2017/01/19 by Ben.Marsh

	UBT: Prevent overwriting .modules files if nothing has changed. On builders, it's common to build multiple editors in the same workspace, and changing the last modified timestamp causes BuildGraph to fail due to tampered files.

Change 3265745 on 2017/01/20 by Ben.Marsh

	UGS: Automatically open UGS when running the launcher for a second time, rather than prompting to close the original instance.

Change 3265777 on 2017/01/20 by Ben.Marsh

	UGS: Automatically close and reopen when UGS is re-ran with the shift key held down to switch into unstable mode.

Change 3268314 on 2017/01/23 by Ben.Marsh

	UBT: Make sure version manifests are stable by sorting the list of build products, so they are only touched if the contents have really changed.

Change 3269601 on 2017/01/24 by Ben.Marsh

	UBT: Fix symbol files being added to manifest for some platforms even though debug info is disabled.

Change 3269607 on 2017/01/24 by Ben.Marsh

	UBT: Fix bug where UBT would need to be invoked when switching between two editors sharing the same engine binaries on Mac. The location of the .modules file cannot be guessed on Mac by looking in the same directory as the primary output executable because it's an .app bundle, and the actual modules are nested several directories below that.

Change 3269608 on 2017/01/24 by Ben.Marsh

	UBT: Fix additional files copied into the app bundle always being updated on Mac. Now uses rsync --checksum to make sure only modified files are updated.

Change 3271062 on 2017/01/24 by Ben.Marsh

	UBT: Fixes for bugs detected by PVS Studio (PR #3161)

Change 3272421 on 2017/01/25 by Ben.Marsh

	Fix commends regarding DDC in BaseEngine.ini

	#jira UE-41076

Change 3272810 on 2017/01/25 by Ben.Marsh

	Fix VS2017 being displayed as 'Visual Studio 15' in the Windows target settings panel.

Change 3272935 on 2017/01/25 by Ben.Marsh

	Fix Metal errors launching on Mac due to use of OSX environment settings before they are initialized. Toolchain settings are now constructed on demand in a separate class, for Mac, iOS and TVOS.

Change 3274167 on 2017/01/26 by Ben.Marsh

	Fix resource files not being compiled in installed builds on Windows. Was causing metadata not to be embedded into executables.

	#jira UE-36457

Change 3275557 on 2017/01/27 by Ben.Marsh

	Expand checks for propagation of restricted folder names to include source files, and to ensure that each restricted folder is represented in the output. Also improve messaging to show the dependency chain leading to a restricted folder being referenced, and which folder it is.

Change 3275628 on 2017/01/27 by Ben.Marsh

	UBT: Splitting configuration files into one class per-file.

Change 3276784 on 2017/01/29 by Ben.Marsh

	Add an authoritative list of confidential folder names, and expose it through global BuildGraph properties ($(RestrictedFolderNames) and $(RestrictedFolderFilter)). Also switch existing scripts to use it.

Change 3276792 on 2017/01/29 by Ben.Marsh

	UBT: Use UE4CSharp.prog files to indicate which projects should be included in the solution without having to hard-code a list of them in UBT.

Change 3277263 on 2017/01/30 by Ben.Marsh

	IncludeTool: Merging various fixes.

	* Fix warnings about #include directives after first code block from parsing monolithic headers.
	* Fix exception on startup if the intermediate directory does not already exist.
	* Add a special case for ignoring missing header guards from MonolithicHeaderBoilerplate.h, rather than marking it as an inline header. Marking it as inline prevents parsing include directives, which results in including CoreTypes.h from the wrong location.
	* Create job objects for spawned compiler instances to prevent them trying allocating more memory than the system can spare.
	* Remove (unused) code which makes assumptions about files ending with "Classes.h".
	* Add a verbose per-file output log to aid with debugging.
	* Negate the MakeStandalone command line option, which was added to allow tweaking forward declarations in already optimized files, so the optimized output does not have missing headers by default.
	* Fix missing headers when creating standalone files, due to incorrect list of previous files being passed in to the OutputFile constructor. Now passes the original list of included files, not the output list.
	* Fix initial header for a cpp file sometimes being removed. Forcibly including a header at the start of the file does not use the normal pathway for spidering through includes, so a second include of the same file was being generated. Any includes of that header were being forced into output, and the earlier include was then removed due to being redundant.
	* Prevent forward declaring enums which have to be parsed by UHT. UHT relies on includes to determine a parse order, and will fail if the enum definition has not been parsed first.
	* Use a relative path for private includes in the same module if there are any. Fixes some incorrect paths, and makes it clearer that we're doing something we shouldn't.

Change 3277307 on 2017/01/30 by Ben.Marsh

	UBT: Fix private PCHs not using correct header. Causes custom definitions to be excluded from the command line.

[CL 3278101 by Ben Marsh in Main branch]
2017-01-30 16:52:08 -05:00
Ben Marsh
6748a24fb1 Copying //UE4/Dev-Build to //UE4/Dev-Main (Source: //UE4/Dev-Build @ 3232619)
#lockdown Nick.Penwarden
#rb none

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

Change 3121996 on 2016/09/12 by Ben.Marsh

	Add support for Visual Studio 2017 (aka "15"; assuming consistent naming with other versions until final name is announced).

	* Compiler, STL implementation and CRT are binary compatible with VS2015 (see https://blogs.msdn.microsoft.com/vcblog/2016/08/24/c1417-features-and-stl-fixes-in-vs-15-preview-4/), so no new third-party libraries needed so far. WindowsPlatform.GetVisualStudioCompilerVersionName() returns "2015" as a result.
	* Default compiler for compiling and generating project files is still VS 2015 for now. Pass -2017 on the command line to GenerateProjectFiles.bat to generate VS2017 projects. Projects generated for VS2017 will use the 2017 compiler by default.
	* Visual Studio source code accessor can talk to VS 2017 instances.
	* Added a VS2017 configuration for UnrealVS, and added precompiled vsix package.
	* Switched GetVSComnTools to check the SOFTWARE\Microsoft\VisualStudio\SxS\VS7 registry key rather than the individual product install registry key. "15" doesn't seem to have it's own "InstallDir" key, but this system seems to work for all versions of Visual Studio (including previous releases of VS Express).
	* Removed ATL dependency from VisualStudioSourceCodeAccessor. It's not installed with VS by default any more, and is only used for a couple of smart pointer classes.

	Tested running the editor and packaging TP_Flying for Win64. Packaging from the editor still defaults to using the 2015 compiler, so ConfigureToolchain() needs to be overriden from the .target.cs file if multiple Visual Studio versions are installed.

Change 3189363 on 2016/11/07 by Ben.Marsh

	Consolidate functionality for determining the path to MSBuild.exe to use for compiling UE4 tools into a single batch file (GetMSBuildToolPath) and fix "Clean" not working on PS4 due to include/library paths being set to something by the Visual Studio environment.

Change 3210598 on 2016/11/27 by Ben.Marsh

	UBT: Prevent the name of each file compiled being output twice on XboxOne. Compiler already outputs this string; the action doesn't need to.

Change 3210601 on 2016/11/27 by Ben.Marsh

	PR #2967: Add silent version of switch game version (Contributed by EricLeeFriedman)

Change 3210602 on 2016/11/27 by Ben.Marsh

	PR #2964: GitDependencies shouldn't try to clean up working directory files that are excluded or ignored (Contributed by joelmcginnis)

Change 3210605 on 2016/11/27 by Ben.Marsh

	UGS: Add a warning when syncing latest would remove changes that have been authored locally. Typically happens when working with precompiled binaries.

Change 3211656 on 2016/11/28 by Ben.Marsh

	UBT: Move ModuleRules and TargetRules into their own file.

Change 3211797 on 2016/11/28 by Ben.Marsh

	UBT: Remove utility functions from TargetRules for checking different classes of target types. Moving TargetRules to be data-only.

Change 3211833 on 2016/11/28 by Ben.Marsh

	UBT: Remove overridable configuration name from target rules. This feature is not used anywhere.

Change 3211859 on 2016/11/28 by Ben.Marsh

	UBT: Deprecate the GetGeneratedCodeVersion() callback in favor of a member variable instead.

Change 3211942 on 2016/11/28 by Ben.Marsh

	UBT: Remove legacy code which tries to change the output paths for console binaries. Output paths for monolithic binaries are always in the project folder now.

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

	UBT: Replace the GetSupportedPlatforms() callback on TargetRules with a SupportedPlatforms attribute. Since a TargetRules object can only be instantiated with an actual platform, it doesn't make sense for it to be an instance method.

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

	UBT: Remove the GetSupportedConfigurations() callback on the TargetRules class. A configuration is required to construct a TargetRules instance, so it doesn't make sense to need to call an instance method to find out which configurations are supported.

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

	UBT: Deprecate the TargetRules.ShouldCompileMonolithic() function: this function requires access to the global command line to operate correctly, which prevents creating target-specific instances, and does not use the platform/configuration passed into the TargetRules constructor.

	Rather than being a callback, the LinkType field can now be set to TargetLinkType.Modular or TargetLinkType.Monolithic from the constructor as appropriate. The default value (TargetLinkType.Default) results in the default link type for the target type being used. Parsing of the command-line overrides is now done when building the TargetDescriptor.

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

	UBT: Mark overrides of the TargetRules.GetModulesToPrecompile method as obsolete.

Change 3217681 on 2016/12/01 by Ben.Marsh

	UAT: Prevent UE4Build deleting .modules files when running with the -Clean argument; these files are artifacts generated by UBT itself, not by the exported XGE script.

Change 3217723 on 2016/12/01 by Ben.Marsh

	UBT: Run pre- and post-build steps for all plugins that are being built, not just those that are enabled.

Change 3217930 on 2016/12/01 by Ben.Marsh

	UGS: Add a perforce settings window, allowing users to set optional values for tuning Perforce performance on unreliable connections.

Change 3218762 on 2016/12/02 by Ben.Marsh

	Enable warnings whenever an undefined macro is used in a constant expression inside an #if or #elif directive, and fix existing violations.

Change 3219161 on 2016/12/02 by Ben.Marsh

	Core: Use the directory containing the current module to derive the UE4 base directory, rather than the executable directory. Allows UE4 to be hosted by a process in a different directory.

Change 3219197 on 2016/12/02 by Ben.Marsh

	Core: When loading a DLL from disk, convert any relative paths to absolute before calling LoadLibrary. The OS resolves these paths relative to the directory containing the process executable -- not the working directory -- so paths need to be absolute to allow UE4 to be hosted by a process elsewhere.

Change 3219209 on 2016/12/02 by Ben.Marsh

	Replace some calls to LoadLibrary() with FPlatformProcess::GetDllHandle(). The UE4 function makes sure that relative paths are resolved relative to the correct base directory, which is important when the host executable is not in Engine/Binaries/Win64.

Change 3219610 on 2016/12/02 by Ben.Marsh

	Add the -q (quiet) option to the Mac unzip command, since it's creating too much log output to be useful.

Change 3219731 on 2016/12/02 by Ben.Marsh

	UBT: Add option to disable IWYU checks regarding the use of monolithic headers (Engine.h, UnrealEd.h, etc...) and including the matching header for a cpp file first. bEnforceIWYU can be set to false in UEBuildConfiguration or on a per-module basis in the module rules.

Change 3220796 on 2016/12/04 by Ben.Marsh

	Remove PrepForUATPackageOrDeploy from the UEBuildDeploy base class. It never has to be accessed through the base class anyway.

Change 3220825 on 2016/12/04 by Ben.Marsh

	UBT: Change all executors to derive from a common base class (ActionExecutor).

Change 3220834 on 2016/12/04 by Ben.Marsh

	UBT: Remove the global CommandLineContains() function.

Change 3222706 on 2016/12/05 by Ben.Marsh

	Merging CL 3221949 from //UE4/Release-4.14: Fixes to code analysis template causing problems with stock install of VS2017.

Change 3222712 on 2016/12/05 by Ben.Marsh

	Merging CL 3222021 from //UE4/Release-4.14: Change detection of MSBuild.exe path to match GetMSBuildPath.bat

Change 3223628 on 2016/12/06 by Ben.Marsh

	Merging CL 3223369 from 4.14 branch: Use the same logic as GetMsBuildPath.bat inside FDesktopPlatformBase to determine path to MSBuild.exe

Change 3223817 on 2016/12/06 by Ben.Marsh

	Remove non-ANSI characters from source files. Compiler/P4 support is patchy for this, and we want to avoid failing prey to different codepages resulting in different interpretations of the source text.

Change 3224046 on 2016/12/06 by Ben.Marsh

	Remove the need for the iOS/TVOS deployment instances to have an IOSPlatformContext instance. The only dependency between the two -- a call to GetRequiredCapabilities() -- is now implemented by querying the INI file for the supported architectures when neeeded.

Change 3224792 on 2016/12/07 by Ben.Marsh

	UBT: Touch PCH wrapper files whenever the file they include is newer rather than writing the timestamp for the included file into it as a comment. Allows use of ccache and similar tools.

Change 3225212 on 2016/12/07 by Ben.Marsh

	UBT: Move settings required for deployment into the UEBuildDeployTarget class, allowing them to be serialized to and from a file the intermediate directory without having to construct a phony UEBuildTarget to deploy.

	Deployment is now performed by a method on UEBuildPlatform, rather than having to create a UEBuildPlatformContext and using that to create a UEBuildDeploy object.

	The -prepfordeploy UBT invocation from UAT, previously done by the per-platform PostBuildTarget() callback when building with XGE, is replaced by running UBT with a path to the serialized UEBuildDeployTarget object, and can be done in a platform agnostic manner.

Change 3226310 on 2016/12/07 by Ben.Marsh

	PR #3015: Fixes wrong VSC++ flags being passed for .c files (Contributed by badlogic)

Change 3228273 on 2016/12/08 by Ben.Marsh

	Update copyright notices for QAGame.

Change 3229166 on 2016/12/09 by Ben.Marsh

	UBT: Rewritten config file parser. No longer requires hard-coded list of sections to be parsed, but parses them on demand. Measured 2x faster read speeds (largely due to eliminating construction of temporary string objects when parsing each line, to trim whitespace and so on). Also includes an attribute-driven parser, which allows reading named config values for marked up fields in an object.

Change 3230601 on 2016/12/12 by Ben.Marsh

	Swarm: Change Swarm AgentInterface to target .NET framework 4.5, to remove dependency on having 4.0 framework installed.

Change 3230737 on 2016/12/12 by Ben.Marsh

	UAT: Stop UE4Build deriving from CommandUtils. Confusing pattern, and causes problems trying to access instance variables that are only set for build commands.

Change 3230751 on 2016/12/12 by Ben.Marsh

	UAT: Move ParseParam*() functions which use the instanced parameter list from CommandUtils to BuildCommand, since that's the only thing that it's instanced for.

Change 3230804 on 2016/12/12 by Ben.Marsh

	UBT: Add the IsPromotedBuild flag to Build.version, and only set the bFormalBuild flag in UBT if it's set. This allows UGS users to avoid having to compile separate RC files for each output binary.

Change 3230831 on 2016/12/12 by Ben.Marsh

	UGS: Warn when trying to switch streams if files are checked out.

Change 3231281 on 2016/12/12 by Chad.Garyet

	Fixing a bug where .modules files were getting put into receipts with their absolute path instead of their relative one

Change 3231496 on 2016/12/12 by Ben.Marsh

	Disable code analysis in CrashReportProcess; causes warnings when compiled with VS2015.

Change 3231979 on 2016/12/12 by Ben.Marsh

	UBT: Suppress LNK4221 when generating import libraries. This can happen often when generating import libraries separately to linking.

Change 3232619 on 2016/12/13 by Ben.Marsh

	Fix "#pragma once in main file" errors on Mac, which are occurring in //UE4/Main.

[CL 3232653 by Ben Marsh in Main branch]
2016-12-13 11:58: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
Ben Marsh
4ba423868f Copying //UE4/Dev-Build to //UE4/Dev-Main (Source: //UE4/Dev-Build @ 3209340)
#lockdown Nick.Penwarden
#rb none

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

Change 3209340 on 2016/11/23 by Ben.Marsh

	Convert UE4 codebase to an "include what you use" model - where every header just includes the dependencies it needs, rather than every source file including large monolithic headers like Engine.h and UnrealEd.h.

	Measured full rebuild times around 2x faster using XGE on Windows, and improvements of 25% or more for incremental builds and full rebuilds on most other platforms.

	  * Every header now includes everything it needs to compile.
	        * There's a CoreMinimal.h header that gets you a set of ubiquitous types from Core (eg. FString, FName, TArray, FVector, etc...). Most headers now include this first.
	        * There's a CoreTypes.h header that sets up primitive UE4 types and build macros (int32, PLATFORM_WIN64, etc...). All headers in Core include this first, as does CoreMinimal.h.
	  * Every .cpp file includes its matching .h file first.
	        * This helps validate that each header is including everything it needs to compile.
	  * No engine code includes a monolithic header such as Engine.h or UnrealEd.h any more.
	        * You will get a warning if you try to include one of these from the engine. They still exist for compatibility with game projects and do not produce warnings when included there.
	        * There have only been minor changes to our internal games down to accommodate these changes. The intent is for this to be as seamless as possible.
	  * No engine code explicitly includes a precompiled header any more.
	        * We still use PCHs, but they're force-included on the compiler command line by UnrealBuildTool instead. This lets us tune what they contain without breaking any existing include dependencies.
	        * PCHs are generated by a tool to get a statistical amount of coverage for the source files using it, and I've seeded the new shared PCHs to contain any header included by > 15% of source files.

	Tool used to generate this transform is at Engine\Source\Programs\IncludeTool.

[CL 3209342 by Ben Marsh in Main branch]
2016-11-23 15:48:37 -05:00
Ben Marsh
7f06f93ff9 Copying //UE4/Dev-Build to //UE4/Dev-Main (Source: //UE4/Dev-Build @ 3209300)
#lockdown Nick.Penwarden
#rb none

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

Change 3146735 on 2016/09/30 by Ben.Marsh

	EC: Add the standard postprocessor onto conform job steps.

Change 3147190 on 2016/09/30 by Ben.Marsh

	UBT: Add a whitelist for circular dependencies between modules, and output a warning if any new circular dependencies are added.

Change 3148611 on 2016/10/03 by Matthew.Griffin

	Added list of Dependant modules to EULA check
	#jira UE-29432

Change 3149098 on 2016/10/03 by Ben.Marsh

	PR #2821: Fix to stop BuildGraph-created files from being tracked by Git (*.manifest and 'LocalBuilds/') (Contributed by BrodyHiggerson)

Change 3149395 on 2016/10/03 by Ben.Marsh

	UBT: Don't execute pre- and post-build steps when generating project files.

Change 3150398 on 2016/10/04 by Ben.Marsh

	UBT: Fix support for the OptimizeCode setting on Mac, HTML5, Android, Linux, iOS, and XboxOne, and use it to control optimization level in DebugGame configurations. Also determine whether optimization should be enabled for a module at the UEBuildModule level, rather than deriving it (inconsistently) from the ModuleRules enum in the toolchain.

	#jira UE-18652

Change 3150569 on 2016/10/04 by Ben.Marsh

	UBT: Remove the NativeBuildEnvironmentConfiguration and NativeBuildEnvironmentConfiguration.TargetInfo classes; store the platform/configuration/architecture on the CPPEnvironment and LinkEnvironment directly.

Change 3150606 on 2016/10/04 by Ben.Marsh

	UBT: Remove support for C++/CLR modules. There's quite a lot of baggage to support it, and I suspect it's already rotted since we don't use it.

Change 3150628 on 2016/10/04 by Ben.Marsh

	UBT: Remove .NET framework assembly paths for C++ modules.

Change 3150640 on 2016/10/04 by Ben.Marsh

	UBT: Move functionality for finding headers into its own class (CPPHeaders), rather than hijacking CPPEnvironment.

Change 3152101 on 2016/10/05 by Ben.Marsh

	UBT: Always force include PCHs, even if they're the first header in the file. Clang already has to work this way, as do shared pchs on Windows, and it's simpler to use the same system universally.

Change 3153231 on 2016/10/06 by Ben.Marsh

	UBT: Write arguments for the Visual C++ toolchain to the response file on separate lines, for easier debugging.

Change 3154868 on 2016/10/07 by Richard.Fawcett

	Ensure that child instances of UAT invoked by BuildGraph honor p4 and submit properties

Change 3155017 on 2016/10/07 by Ben.Marsh

	Lightmass: Add a prefix to all SSE macros to distinguish from overlapping implementations in Core.

Change 3156159 on 2016/10/08 by Ben.Marsh

	UBT: Rewrite code to generate/consume shared PCHs in a way that is compatible with Clang platforms (and which doesn't require supressing warnings on Windows)

	* Per-module defines are now set via a generated header rather than the command line (Definitions.<ModuleName>.h). This header is force-included AFTER the shared PCH header.
	* Shared PCHs are now built using the public compile environment only, eliminating situations where private include paths and definitions from the first module using the shared PCH were being passed to the compiler.
	* Shared PCHs can now be generated in separate optimized/unoptimized variants if necessary due to per-module optimization settings
	* Names of shared PCHs now follow the pattern "SharedPCH.<ModuleName>.h" to distinguish from private PCHs
	* Enabled shared PCHs for Mac, iOS, Linux.

	Reduces UE4Editor Mac build times by ~25% (~21m vs ~28m).

Change 3163040 on 2016/10/14 by Ben.Marsh

	UBT: Add an option to export a target's properties, modules, and binaries for external analyzers (-jsonexport and -jsonexport=<filename>). Also add an option to specifically supress building a target (-skipbuild).

Change 3165028 on 2016/10/17 by Ben.Marsh

	PR #2799: Set Windows exe properties from ini (Contributed by projectgheist)

Change 3165076 on 2016/10/17 by Ben.Marsh

	Build: Remove run conditions from agent setup steps. Should fix issues where an agent doesn't run because the preconditions for one of its nodes failed, but which doesn't prevent another node from running. (Also: being able to see an expanded list of job steps is a useful feature, and it doesn't take much time to run if it's a no-op).

Change 3167773 on 2016/10/19 by Ben.Marsh

	BuildGraph: More flexible <Copy> task for BuildGraph. Now takes "From" and "To" attributes, which may take individual files as well as wildcards, and permits renaming as part of copies. Separate "Files" attribute is still supported, but is now optional, and is used to filter the list of source files.

	Examples, taken from Engine/Build/Graph/TagsAndFiles.xml:

	    <!-- Source and destination are treated as directories due to presence of 'Files' attribute -->
	    <Copy Files="..." From="Engine/Build" To="Output0" />

	    <!-- Single file -->
	    <Copy From="Engine/Build/Build.version" To="Output1/Output.version" />

	    <!-- Output treated as directory -->
	    <Copy From="Engine/Build/.../*.txt" To="Output2" />
	    <Copy From="Engine/Build/.../*.txt" To="Output3/" />
	    <Copy From="Engine/Build/....txt" To="Output4" />

	    <!-- With rename -->
	    <Copy From="Engine/Build/....txt" To="Output5/....old" />

	    <!-- Copy only subdirectories of Engine/Build, but maintain directory structure -->
	    <Copy From="Engine/Build/*/....txt" To="Output6/" />

	    <!-- Match bat*/.../*.txt -->
	    <Copy From="Engine/Build/bat...txt" To="Output7" />

	    <!-- Copy only PS4 subfolders -->
	    <Copy From="Engine/Build/.../ps4/..." To="Output8" />

Change 3167852 on 2016/10/19 by Ben.Marsh

	BuildGraph: Add a <Move> task, which can move or rename files using the same syntax as the <Copy> task.

Change 3168034 on 2016/10/19 by Ben.Marsh

	BuildGraph: Add support for multi-line properties, declared inside a <Property> tag.

	Mutli-line properties can be useful for making lists for filtering. Each non-empty line inside the property tag is stripped of leading and trailing whitespace, and appended to the property value separated by a semicolon. For example, the following two properties have an identical value:

	    <Property Name="Prop1" Value="One;Two;Three;One hundred"/>

	    <Property Name="Prop2">
	        <!-- Some numbers -->
	        One
	        Two
	        Three

	        <!-- Values are delimited by newlines; spaces within a line are preserved -->
	        One hundred
	    </Property>

Change 3169256 on 2016/10/20 by Ben.Marsh

	UBT: Fix chronic algorithmic complexity of StableTopologicalSort(). Was recursively building lists of dependencies for each module, scanning linearly to find dependencies, and only caching pairs of modules being checked. Now caches a flat set of dependencies for each module.

	Previously took >10s to run on my machine, now takes < 0.2s.

Change 3169271 on 2016/10/20 by Ben.Marsh

	BuildGraph: Modify implementation of task merging. Instead of combining multiple tasks together, allow any task to supply a proxy executor instance deriving from ITaskExecutor, to which other tasks can be added. Keeps the in-memory representation closer to the script representation, and makes it easier to re-export preprocessed scripts and do in-memory analysis of the graph.

Change 3179662 on 2016/10/31 by Matthew.Griffin

	Fixed last remaining issues with building QAGameEditor as a monolithic executable
	Added a node for building mono editor in CIS so that we catch any new issues
	#jira UE-32712

Change 3184857 on 2016/11/03 by Matthew.Griffin

	Removing CopyVisualizers now that UE4.natvis is included in solution and we're not supporting VS2013
	#jira UE-35628

Change 3187232 on 2016/11/04 by Ben.Marsh

	UGS: Fix editor .target file being deleted when doing a content-only sync, and causing a prompt to rebuild the editor when trying to launch.

Change 3188413 on 2016/11/07 by Matthew.Griffin

	Added Switch to Installed Build so that it matches pattern for other confidential platforms

Change 3188426 on 2016/11/07 by Matthew.Griffin

	Changed BuildPlugin command so that it reads from installed platform data to get list of target platforms
	Some hard coding remains so as to not change functionality for code users, Mac only built on Mac etc.
	#jira UE-36205

Change 3189363 on 2016/11/07 by Ben.Marsh

	Consolidate functionality for determining the path to MSBuild.exe to use for compiling UE4 tools into a single batch file (GetMSBuildToolPath) and fix "Clean" not working on PS4 due to include/library paths being set to something by the Visual Studio environment.

Change 3191372 on 2016/11/09 by Ben.Marsh

	UGS: Ensure project config file remains valid even if sync is aborted due to files needing resolve. Prevents user configuration from not being applied onto build steps.

Change 3191381 on 2016/11/09 by Ben.Marsh

	UGS: Allow Ctrl-A to select all in the log window.

	#jira UE-38378

Change 3193388 on 2016/11/10 by Ben.Marsh

	Change installed plugins to be disabled by default, but display a notification in the editor the first time you load a project with a new one. Installed plugins which are new to this project will be adorned with a "NEW!" badge in the plugin browser.

Change 3193677 on 2016/11/10 by Ben.Marsh

	UBT: Remove global static instance of ActionGraph. Instance is now instantiated and passed around to functions that require it.

Change 3193942 on 2016/11/10 by Ben.Marsh

	UBT: Store the include cache as an instanced object on each target, rather than looking up separate caches in a global variable.

Change 3198296 on 2016/11/15 by Ben.Marsh

	UBT: Include .modules files in target receipts and manifests.

Change 3200284 on 2016/11/16 by Matthew.Griffin

	Move Sample game projects into a different solution folder like Templates

Change 3205168 on 2016/11/19 by Ben.Marsh

	Update strings to refer to Visual Studio "15" as Visual Studio 2017.

Change 3206333 on 2016/11/21 by Ben.Marsh

	Merge fix to detection of VS2017 RC from 4.14 release.

Change 3206786 on 2016/11/21 by Ben.Marsh

	BuildGraph: Spawn child processes to embed source server information into PDB files in parallel.

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

	UBT: Reduce the number of resource files needed to compile local builds. ModuleVersionResource.rc.inl is now always only compiled once, and linked into each output binary. The default PCLaunch.rc file is also only compiled once, expect when making formal builds (where -formal is passed on the command line, or a changelist is set in Build.version). This ensures that the OriginalFileName metadata is still set for output binaries in binary releases.

[CL 3209331 by Ben Marsh in Main branch]
2016-11-23 15:34:07 -05:00
Matt Kuhlenschmidt
4fa92bfa50 Copying //UE4/Dev-Editor to //UE4/Dev-Main (Source: //UE4/Dev-Editor @ 3152045)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================

Change 3106449 on 2016/08/30 by Michael.Dupuis

	#jira UETOOL-229 Added generic command icons used in Edit Menu (including contextual menu)

Change 3133997 on 2016/09/21 by Alex.Delesky

	#jira UE-34079 - FSceneView parameter for FBatchedElements::Draw is no longer an optional parameter.

Change 3134132 on 2016/09/21 by Jamie.Dale

	Added the "unattended" flag when running the localzation commandlets via UAT

Change 3134147 on 2016/09/21 by Frank.Fella

	Core - Add multitouch support to windows.

Change 3134349 on 2016/09/21 by Michael.Dupuis

	#jira UE-36151 Update the title bar to display the branch also

Change 3134355 on 2016/09/21 by Michael.Dupuis

	#jira UE-36041 When initially creating a projet and trying to add everything to source control, also add the uproject file

Change 3134447 on 2016/09/21 by Alexis.Matte

	#jira UE-36064
	The SpriteComponent is now properly reused when duplicating a light.

Change 3134451 on 2016/09/21 by Alexis.Matte

	#jira UE-22782
	Make sure when we re-import we dont try to match the mesh name if the option bCombineToSingle is true

Change 3134457 on 2016/09/21 by Jamie.Dale

	FInternationalization::Leetify now deals with escape sequences correctly.

	This also changes it to mark all leetified text with the start and end marker, and the unit tests have been updated accordingly.

Change 3134685 on 2016/09/21 by Matt.Kuhlenschmidt

	Cleaned up some of the UI for the new material slot workflow (part 1)

Change 3134743 on 2016/09/21 by Matt.Kuhlenschmidt

	Fix crash clicking OK to the import mesh dialog in persona when a path is not selected.  The OK button is now disabled until a valid path is selected

Change 3134760 on 2016/09/21 by Matt.Kuhlenschmidt

	Guard against cascade crash if cascade was shutdown but there is an old cascade particle system component in the undo buffer that attempts to refresh cascade

Change 3134837 on 2016/09/21 by Matt.Kuhlenschmidt

	Fix static analysis warnings in this file

Change 3134939 on 2016/09/21 by Nick.Darnell

	Automation - Moving the functional testing hooks for the editor into a plugin, the goal is to make it so you don't have to see all the extra stuff automation adds to the editor until the game project needs it.  Refactoring the way automation messages are serialized, no longer relying on a comma delimited string to serialize automation data.  Improving the filter for automation window so it lets you put in a path, and find it that way.  Fixing RunTests from the commandline so that it properly finds the tests, instead of jumping out of the loop as soon as it finds any one match.

Change 3134941 on 2016/09/21 by Nick.Darnell

	Automation - Functional tests now support warnings as errors on a per test basis.  Continued itteration on screenshot comparison.

Change 3135051 on 2016/09/21 by Matt.Kuhlenschmidt

	Fixed size of material slots in persona details panel

Change 3135076 on 2016/09/21 by Nick.Darnell

	Automation - Adding a missing file.

Change 3135584 on 2016/09/22 by Gareth.Martin

	Removed unused ULandscapeInfo::BeginDestroy
	Slight cleanup to FLandscapeEditDataInterface::DeleteLayer

Change 3135585 on 2016/09/22 by Gareth.Martin

	New Count algo
	Const'd Copy/Accumulate/Transform

Change 3135599 on 2016/09/22 by Gareth.Martin

	Resolve crash if a Landscape Layer Info object is force deleted while it is in use :(
	#jira UE-35709

Change 3135724 on 2016/09/22 by Michael.Dupuis

	#jira UE-32662 Remove old migration code that was causing this side effect

Change 3135726 on 2016/09/22 by Nick.Darnell

	Slate - Removing the SLATE_PRE_MULTIPLY macro.

Change 3135730 on 2016/09/22 by Nick.Darnell

	UMG - Exposing the 2D hit location that the WidgetInteractionComponent hit on the WidgetComponent.

Change 3135738 on 2016/09/22 by Matt.Kuhlenschmidt

	Ensure any handles to the backbuffer are released before the backbuffer is resized

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

Change 3135810 on 2016/09/22 by Ben.Marsh

	Build: Compile tools before running automated tests.

Change 3135993 on 2016/09/22 by Matt.Kuhlenschmidt

	Ensure you can unpause after toggling play/pause with a keyboard shortcut.  We were processing the keybinding on key down AND up which caused the unpause to instantly pause again
	https://jira.it.epicgames.net/browse/UE-36276

Change 3136257 on 2016/09/22 by Matt.Kuhlenschmidt

	Fixed assign of materials to components not working if you multi-select multiple components of a blueprint and assign the material.  The construction script was running before all the material had been set on all components.

Change 3136318 on 2016/09/22 by Alex.Delesky

	#jira UE-7405 - Forcing the mouse cursor to show and then clicking inside the viewport will no longer cause the mouse to lose focus

Change 3136494 on 2016/09/22 by Matt.Kuhlenschmidt

	Fix crash restarting a mission in Odin

Change 3136741 on 2016/09/22 by Cody.Albert

	Fixed SButton and SWidget to not multiply color and opacity, since that's already being done by SCompoundWidget

	#jira UE-36322

Change 3137711 on 2016/09/23 by Matt.Kuhlenschmidt

	Added guard against slate rendering with deleted materials.  In this will now be caught with a looged with the deleted material name.

Change 3137713 on 2016/09/23 by Matt.Kuhlenschmidt

	Removed the pooled draw elements stuff which is not used

Change 3137791 on 2016/09/23 by Nick.Darnell

	MediaPlayer - Removing .png from one of the style files, as that's not required.  Was causing warnings to be logged on load.

Change 3137793 on 2016/09/23 by Nick.Darnell

	Localization - Adjusting some log statements to say with instead of w/

Change 3137796 on 2016/09/23 by Nick.Darnell

	Slate - Adding missing and replacing corrupted style files in the editor.

Change 3137864 on 2016/09/23 by Matt.Kuhlenschmidt

	Fixed "actors are referenced are you sure you want to delete" dialog appearing when you are copying a lot of actors to another level

Change 3137876 on 2016/09/23 by Jamie.Dale

	Added allocation tagging to MProf2

	This hooks into the existing FScopeCycleCounterUObject used by the stats system to track object tags (object, package, and class) when an allocation is made. Tags should be in the format "Category:Tag", and the "Tag" part may include "/" to create levels in the tag hierarchy (as shown in the MProf2 tool).

	#jira UETOOL-950

Change 3137982 on 2016/09/23 by Gareth.Martin

	Added Invoke() support to CopyIf

Change 3137983 on 2016/09/23 by Gareth.Martin

	Added ULandscapeInfo::ForAllLandscapeProxies to clean up a lot of horrible code
	- Removed some dependencies on ALandscape and ALandscapeStreamingProxy in the process :)
	Also made FLandscapeEditorLayerSettings's constructor explicit to clean up some other horrible code

Change 3138053 on 2016/09/23 by Matt.Kuhlenschmidt

	Fixed Child Actor Template properties not visible after changing Child Actor Class

Change 3138079 on 2016/09/23 by Jamie.Dale

	Fixing some Clang warnings

Change 3138087 on 2016/09/23 by Jamie.Dale

	Added GetResourceSizeEx and GetResourceSizeBytes, and deprecated GetResourceSize

	GetResourceSizeEx populates a struct which reports not only how much memory is allocated, but also which arenas the memory was allocated from. GetResourceSizeBytes just wraps a call to GetResourceSizeEx and returns the total size from all arenas (this has the same behavior as the now deprecated GetResourceSize).

	Classes that used to override GetResourceSize should instead override GetResourceSizeEx and report their allocations as appropriate.

	#jira UETOOL-952

Change 3138127 on 2016/09/23 by Gareth.Martin

	Fixed crash when merging levels containing landscape
	#jira UE-36267

Change 3138821 on 2016/09/23 by Stephan.Jiang

	Fixes "Select all input node" doesn't work properly on output node.

	#jira UE-36335

Change 3138915 on 2016/09/23 by Stephan.Jiang

	Disable "select all linked nodes" for output nodes in material editor

Change 3139341 on 2016/09/25 by Nick.Darnell

	Automation - Moving the Blueprint Compiler Tests into the RuntimeTests plugin, and making the context client only since that's the only valid place to runt these tests.

Change 3139342 on 2016/09/25 by Nick.Darnell

	Landscape - Fixing some compiler errors on mac.

Change 3139345 on 2016/09/25 by Nick.Darnell

	Automation - Spelling and cleanup.

Change 3139346 on 2016/09/25 by Nick.Darnell

	Engine - Changing a check to an ensure, there's no reason to crash if this happens.

Change 3139347 on 2016/09/25 by Nick.Darnell

	Automation  - Making EFunctionalTestResult a BlueprintType

Change 3139348 on 2016/09/25 by Nick.Darnell

	Automation - Adding another test map.

Change 3139676 on 2016/09/26 by Michael.Dupuis

	#jira UE-32335 If we are a config object simply permit the transaction for undo/redo

Change 3139702 on 2016/09/26 by Nick.Darnell

	UMG - Making GetLocalHitLocation on UWidgetComponent virtual.

Change 3139760 on 2016/09/26 by Alexis.Matte

	Make sure we remove override materials from the list when the mesh point by the component has less materials.
	#jira UE-28845

Change 3139761 on 2016/09/26 by Alex.Delesky

	Added additional validation code to FPropertyNode to now properly validate TMap value and key nodes.

	#jira none

Change 3139843 on 2016/09/26 by Alex.Delesky

	#jira UE-36066 - Clearing all options from a ComboBox String when selecting an option will now also clear out the selected text correctly.

Change 3139880 on 2016/09/26 by Frank.Fella

	QAGame - Update multitouch test with less crashy assets?

Change 3139908 on 2016/09/26 by Matt.Kuhlenschmidt

	Fix selections having the potential to be out of sync after undo/redo

Change 3139928 on 2016/09/26 by Nick.Darnell

	Automation - tweaking the test maps some more.

Change 3140646 on 2016/09/26 by Matt.Kuhlenschmidt

	Fix false positive with the test for vaild materials being rendered by slate.

Change 3140912 on 2016/09/26 by Frank.Fella

	Core - Fix multitouch ifdef which was preventing it from actually being enabled.Also update test level blueprint so that it's actually testable.

Change 3141218 on 2016/09/27 by Matt.Kuhlenschmidt

	PR #2798: BP open anim interferes with mouse movement (Contributed by projectgheist)

Change 3141223 on 2016/09/27 by Jamie.Dale

	Updated UTextProperty::Identical to no longer compare display strings all the time

	It was supposed to compare the identity at runtime as the display string can change at runtime. This was preventing FText properties from being used in TSet/TMap as the hash needs to be consistent.

	#jira UE-36456

Change 3141242 on 2016/09/27 by Richard.TalbotWatkin

	Fixed various issues where making changes to components in the Blueprint Editor could cause a crash if there is an active component in the component visualizer.
	#jira UE-36402 - Editor crash when adding a spline component after having deleted another spline component
	Duplicated CL 3139370 from //UE4/Release-4.13
	Duplicated CL 3139878 from //UE4/Release-4.13

Change 3141323 on 2016/09/27 by Michael.Dupuis

	#jira UE-35081 Enable bDisplayEngineVersionInBadge by default

Change 3141798 on 2016/09/27 by tim.gautier

	Added UMG_DisplayWidget

Change 3143038 on 2016/09/28 by Jamie.Dale

	Added extra context to FTableRowBase::OnPostDataImport

	It now takes the owning data table and the row name as parameters. This allows is to do more useful fix-up that depends on the context of where it's used (such as stabilized text keys).

Change 3143039 on 2016/09/28 by Jamie.Dale

	Optimized UTextProperty::Identical to use a pointer comparison rather than read out the identity

	Only texts which have the same display string pointer can have the same identity, so this is a much faster check.

Change 3143098 on 2016/09/28 by Gareth.Martin

	Fixed crash when loading duplicated landscape levels
	#jira UE-34890

Change 3143300 on 2016/09/28 by Gareth.Martin

	Fixed crash when duplicating a level containing a landscape through the content browser
	#jira UE-34890

Change 3143389 on 2016/09/28 by Jamie.Dale

	LastResort is no longer staged in shipping builds

	You can now use the Content/SlateDebug folder to store any Slate resources that shouldn't be used in a shipping build (either for the Engine or for a game).

	This also removes the old bUsesSlateEditorStyle hack as everything should have migrated away from that now.

Change 3143565 on 2016/09/28 by Matt.Kuhlenschmidt

	Fixed this file

Change 3143717 on 2016/09/28 by Michael.Dupuis

	Fixed lowercase

Change 3143798 on 2016/09/28 by Matt.Kuhlenschmidt

	Fixed StreamingPauseRendering code to not attempt to tick the scene viewport on the slate loading thread while where are blocked on level streaming.  The viewport is rendered once and the render target is passed to slate instead of the entire viewport

Change 3143820 on 2016/09/28 by Alexis.Matte

	Use the PersonaToolikit to get the mesh

Change 3143833 on 2016/09/28 by Matt.Kuhlenschmidt

	Added guard for UE-36499

Change 3144144 on 2016/09/28 by Matt.Kuhlenschmidt

	Fix constructor init order

Change 3144821 on 2016/09/29 by Jamie.Dale

	Fixed feedback loop in FSlateEditableTextLayout::ComputeDesiredSize

	If the wrapping width is less than the scrollbar width, the scrollbar could constantly re-appear and then disappear.

Change 3144867 on 2016/09/29 by Matt.Kuhlenschmidt

	Added a commandlet to allow command line importing of any asset type the engine supports.
	- Intermediate checkin

Change 3144875 on 2016/09/29 by Nick.Darnell

	Automation - Adding CornellBox example map, fixing some additional tests, removing the Movement Test.

Change 3144975 on 2016/09/29 by Matt.Kuhlenschmidt

	Disable auto-applying of scalability settings
	The user will still be asked if the settings should be applied but if they do nothing the notification will just go away without setting stuff.

Change 3145274 on 2016/09/29 by Jamie.Dale

	New asset menu no longer has a scrollbar on most displays

Change 3146004 on 2016/09/29 by Matt.Barnes

	Adding two FBX test files to help facilitate QA coverage on the new material/section workflow.

Change 3146377 on 2016/09/30 by Gareth.Martin

	Fixed landscape rendering errors after using the "change component size" tool
	- also affected initial import of a landscape+weightmaps
	#jira UE-34518

Change 3146455 on 2016/09/30 by Jamie.Dale

	Fixing more menus that had scrollbars due to only being able to use half the vertical resolution

Change 3146466 on 2016/09/30 by Gareth.Martin

	Fixed not being able to erase foliage attached to BSP
	#jira UE-36297

Change 3146471 on 2016/09/30 by Jamie.Dale

	Can no longer localize sequences via the Content Browser

Change 3146569 on 2016/09/30 by Jamie.Dale

	Fixed UGatherTextFromSourceCommandlet::ParseSourceText being able to underflow while parsing

Change 3147116 on 2016/09/30 by Michael.Dupuis

	#jira UE-33068 Update selection once after the bulk operation so the AssetContextMenu will have a proper selection, but only perform this if we're not in UserSearchingMode (which mean AssetPicker)

Change 3148091 on 2016/10/01 by Matt.Barnes

	Adding a map and relevant assets to facilitate testing around the new material blueprint nodes - GetMaterialSlotNames, GetMaterialIndex, and SetMaterialByName, respectively

Change 3148714 on 2016/10/03 by Nick.Darnell

	PR #2770: [Git plugin] Fix bug where history and merging do not work if the user has format.pretty settings in their gitconfig (Contributed by SRombauts)

	#jira UE-35568

Change 3148793 on 2016/10/03 by Nick.Darnell

	Automation - TPS for SM_Cornellbox

Change 3148801 on 2016/10/03 by Nick.Darnell

	PR #2820: [WidgetBlueprintLibrary] Throwing Essential-Functionality-Understanding PIE Errors when Player Controller ptr not supplied (Contributed by EverNewJoy)

	#jira UE-36711

Change 3148805 on 2016/10/03 by Nick.Darnell

	PR #2822: Add missing base includes and forward declarations for UProgressBar and UTextBlock (Contributed by error454)

	#jira UE-36715

Change 3148813 on 2016/10/03 by Nick.Darnell

	UMG - The retainer now contains the SVirtualWindow directly in the hierarchy.  This should now make it possible to reliably focus elements inside the retainer widget.

Change 3148855 on 2016/10/03 by Gareth.Martin

	Fixed performance regression when importing landscape heightmaps
	#jira UE-36659

Change 3149482 on 2016/10/03 by Cody.Albert

	Added link to Support landing page to Help menu

	#jira UE-36603

Change 3149520 on 2016/10/03 by tim.gautier

	Edited UMG_Behavior - Collapsed now has a toggleable state to demonstrate functionality.

Change 3149945 on 2016/10/04 by Gareth.Martin

	Fixed invisible landscape components when using tessellation on landscape material
	#jira UE-35494

Change 3149951 on 2016/10/04 by Gareth.Martin

	Reduced material update log spam when creating and editing landscapes
	- Some will remain, landscape fundementally manipulates a lot of material instances
	#jira UE-34440

Change 3150143 on 2016/10/04 by Matt.Kuhlenschmidt

	Fix not crashing when trying to clear objects which have a specific class filter in the property settings
	https://jira.it.epicgames.net/browse/UE-36692

Change 3150614 on 2016/10/04 by Nick.Darnell

	Git - Disabling some logging in non-debug builds of the git source control plugin.

Change 3151647 on 2016/10/05 by Matt.Kuhlenschmidt

	Fix loc warnings in these files (duplicate loc keys)

Change 3151679 on 2016/10/05 by Nick.Darnell

	Editor - Fixing the build, removing the VREditor module from the dynamically loaded list.

Change 3151722 on 2016/10/05 by Gareth.Martin

	Fix breakage to LandscapeEdModeSplineTools.cpp caused by Dev-VREditor from main integration

Change 3151816 on 2016/10/05 by Gareth.Martin

	Fixed more breakage to Landscape caused by Dev-VREditor from main integration

[CL 3152072 by Matt Kuhlenschmidt in Main branch]
2016-10-05 13:23:01 -04:00
Josh Adams
61ae6f6329 Copying //UE4/Dev-Platform to //UE4/Dev-Main (Source: //UE4/Dev-Platform @ 3147796)
#lockdown Nick.Penwarden
#rb none

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

Change 2948319 on 2016/04/19 by Nick.Shin

	update zlib to v1.2.8

	part 1 of 4 - doing this in stages for tracking purposes

	#jira UEPLAT-1246  -  Update libWebsockets
	#jira UEPLAT-1221  -  update websocket library

Change 2948322 on 2016/04/19 by Nick.Shin

	update libwebsockets to v1.7.4

	part 4 of 4 - doing this in stages for tracking purposes

	#jira UEPLAT-1246  -  Update libWebsockets
	#jira UEPLAT-1221  -  update websocket library
	#jira UEPLAT-1204  -  Rebuild libwebsockets with SSL

Change 2948661 on 2016/04/19 by Nick.Shin

	keep using old zlibs until they are recompiled with the newer version

Change 2948737 on 2016/04/19 by Nick.Shin

	build warning fix

Change 2949334 on 2016/04/20 by Nick.Shin

	fix library path

	for some reason, NetworkFileSystem and HttpNetworkReplayStreaming on Mac platform needs full path - even though lib path was set...

Change 2951556 on 2016/04/21 by Nick.Shin

	static libs double checked

	#jira UE-29674 - Editor fails to open in Dev-Platform

Change 2951559 on 2016/04/21 by Nick.Shin

	static libs double checked

	forgot these files - they were in another changelist

	#jira UE-29674 - Editor fails to open in Dev-Platform

Change 2952411 on 2016/04/22 by Nick.Shin

	add win32 build targets for zlib openssl libcurl libwebsockets

	part 1 of 2: these are the C# build scripts

Change 2970016 on 2016/05/07 by Nick.Shin

	undo all of the following upgrades:
	- zlib
	- openssl
	- libcurl
	- libwebsockets

	and reset webrtc

	#jira UE-30298 - Fortnite and Orion crash on login

Change 3118163 on 2016/09/08 by Josh.Adams

	perm test 2, not a useful file at all

Change 3121142 on 2016/09/12 by Daniel.Lamb

	Attempt to fix deterministic cooking issue for particlelodlevel.
	Ensure the spawn module has had postload called on it before using.
	#test Paragon cook

Change 3121150 on 2016/09/12 by Daniel.Lamb

	Added warning logs to help track down issue UE-33453.

Change 3121201 on 2016/09/12 by Keith.Judge

	Xbox One - Replicate CL 3114357 from 4.13 branch. ESRAM clear on create fix.

Change 3121302 on 2016/09/12 by Joe.Graf

	Fixed up the IMPLEMENT_MODULE macro usage to avoid the link errors

Change 3121379 on 2016/09/12 by Dmitry.Rekman

	Linux: only link libraries that export needed symbols (UE-35720).

	- Fixes very long startup times of modular builds.
	- Includes PR #2778 by slonopotamus.

	#jira UE-35720

Change 3121383 on 2016/09/12 by Dmitry.Rekman

	Linux: added some missing _API declarations on symbols used externally.

	- Compiling editor with -fvisibility=hidden works after this fix (although running still doesn't).

Change 3121456 on 2016/09/12 by Daniel.Lamb

	Attempt to fix deterministic cooking issue for particlelodlevel.
	Ensure the spawn module has had postload called on it before using.
	#test Paragon cook

Change 3122939 on 2016/09/13 by Luke.Thatcher

	[PLATFORM] [PS4] [!] Skip orbismemdmp files in the PS4 crash handler web service.
	 - Writing these files to disk causes orbis-tm.exe to take a file lock on them, which means we can't move the crash directory to the landing zone.

Change 3123040 on 2016/09/13 by Brent.Pease

	 + Fix VS compile error by removing ENGINE_API from virtual method decls since ENGINE_API is defined for the entire class now.

Change 3123664 on 2016/09/13 by Nick.Shin

	this was originally checked into: release 4.13.1
	bringing here to dev-platform

	-- original submit comments --
	first, safari has a problem with firing off "window resized" events - causing an infinite loop of the window "resizing"

	next, retina has "bigger" size calculations going off -- so y-delta checks greater than 2 are done to prevent resize event firing off in an infinite loop

	jira UE-35363 - Huge game window when launching onto Safari 9.1.2

Change 3125282 on 2016/09/14 by Michael.Trepka

	Fixed iOS and tvOS code indexing in Xcode project

Change 3126812 on 2016/09/15 by Josh.Adams

	Merged Wolf support into Dev-Platform (hidden from almost all people still). Non-Wolf-specific changes:
	- Added Parse function to JsonObject.cs to be able to parse a string
	- Replaced some hacky post-reflection-capture functions with RHISubmitCommandsAndFlushGPU()
	- Split PLATFORM_HAS_BSD_SOCKET_FEATURE_GETADDRINFO off from PLATFORM_HAS_BSD_SOCKET_FEATURE_GETHOSTNAME
	- Converted the PS4MallocCrash class into a generic one (that Wolf is now also using)
	- Added AddGenericToInQueueOnlineThread(), useful running a delegate on Online thread instead of game thread
	- Refactored the GL shader compiler to allow Wolf to modify behavior without a lot of if WOLF checks everywhere
	- Added ability in the cross compiler to convert the global uniform arrays into named uniform buffer objects
	- Added ability for GL shader compiler to output original resources names ("VertColor" instead of "u_v[3]" or whatever)
	- Added "FORCELODGROUP" console command that will apply a StaticMesh LODGroup to selected meshes in the editor. This can batch-Simplygonify all meshes in a level. Should maybe become an editor tool.
	- Added ability for arrays of structs to specify a property to be the key. So, with LODGroups, the Name key inside the struct can be the unique key, so when you have multiple .ini files in the hierarchy overriding the same LODGroup by name, it will repalce the first with the second, instead of adding two entries with the same name. Set by @ArrayName=KeyPropertyName. Per Object Config sections need a little different handling, which uses * (see BaseDeviceProfiles.ini)
	- Added ability to change DeviceProfiles at runtime. Use "dp.override <name>". If you do it again to another one, it will reset the settings to what they were originally, before applying the second new DP. This is because the second DP may not set all settings the first one did, but we want to undo the first settings that the second doesn't contain.
	- Added FRHICommandListImmediate::IsStalled() - returns true while FRHICommandListImmediate::StallRHIThread is happening
	- Changed runtime GetFeatureLevelMaxTextureSamplers() calls to the new GetMaxTextureSamplers() which can now be handled by the platform. Renamed GetFeatureLevelMaxTextureSamplers to GetExpectedFeatureLevelMaxTextureSamplers() (only used by the shader editor) to guess at what maybe the samplers count will be - but it's not guaranteed correct.
	- Renamed a UT copy of a global function to not linker-conflict
	- Changed the OOMBackupMemoryPool to allow each platform to set how much memory to allocate. See FPlatformMemory::GetBackMemoryPoolSize(). Defaults to 0, which was the previous behavior with the now removed FPlatformMemory::SupportBackupMemoryPool(), which was only true in Windows and PS4.
	- Added an OOM delegate so other systems can get a callback after OOM occurs (after deleting the backup memory pool if it exists)
	- Changed SetQualityLevels() (in Scalability.cpp) to no longer change the SetBy priority when setting CVars, and now keeps the SetBy the same as it was. Helps with conflicts between game settings and device profiles. See SetWithCurrentPriority()
	- Added GetRenderingThreadPriority to FPlatformAffinity to allow a platform override priority. Not sure about this one, so may remove it, or maybe add more priorities for all the threads?
	- Added a new file into the ini hierarchy to begin fixing the Engine/Base -> Project/Default -> Engine/Platform -> Project/Platform mess. We now have Engine/Base -> Engine/BasePlatform -> Project/Default -> Engine/Platform -> Project/Platform. However, Engine/Platform will soonm be deprecated as we move things over to Engine/BasePlatform, that are safe to move.

Change 3126842 on 2016/09/15 by Michael.Trepka

	Make SAssertPicker's search box the default widget to focus on activate so that it doesn't get deactivated on Mac, where we get the window activation event in a tick after SAssertPicker creation.

Change 3126956 on 2016/09/15 by Michael.Trepka

	Added support for compiling Vulkan shaders for Android on Mac

Change 3127206 on 2016/09/15 by Michael.Trepka

	PR #2604: Remove some warnings. (Contributed by reapazor)

Change 3127324 on 2016/09/15 by Michael.Trepka

	Allow third party dylibs on Mac to be loaded from plugin subfolders

Change 3127924 on 2016/09/16 by Josh.Adams

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

Change 3128369 on 2016/09/16 by Nick.Shin

	zlib 1.2.8

	headers and lib updates

	part of [ zlib openssl libcurl libwebsockets webrtc ] updates

Change 3128377 on 2016/09/16 by Nick.Shin

	openssl 1_0_2h

	headers and lib updates

	part of [ zlib openssl libcurl libwebsockets webrtc ] updates

Change 3128383 on 2016/09/16 by Nick.Shin

	libcurl 7_48_0

	headers and lib updates

	part of [ zlib openssl libcurl libwebsockets webrtc ] updates

Change 3128384 on 2016/09/16 by Nick.Shin

	libwebsockets 1.7.4

	headers and lib updates

	part of [ zlib openssl libcurl libwebsockets webrtc ] updates

Change 3128464 on 2016/09/16 by Nick.Shin

	webRTC rev.12643

	NOTE: VS2015
	- only Win64 is available
	- Win32 versions is crashing (e.g. EpicGamesLauncher) at the moment

	NOTE: VS2013
	- not tested (i'm working on getting a VS2013 pro license) - so not checking in with this changelist
	- also, VS2013 is no longer supported by webRTC build scripts, so it will be old anyways

	FUTURE NOTE:
	- will continue to try to get VS2015 Win32 functional
	- and am working on trying to get VS2013 tested

	headers and lib updates

	part of [ zlib openssl libcurl libwebsockets webrtc ] updates

Change 3128500 on 2016/09/16 by Nick.Shin

	zlib 1.2.8 - OSX

	headers and lib updates

	part of [ zlib openssl libcurl libwebsockets webrtc ] updates

Change 3128504 on 2016/09/16 by Nick.Shin

	openssl 1_0_2h - OSX

	headers and lib updates

	part of [ zlib openssl libcurl libwebsockets webrtc ] updates

Change 3128506 on 2016/09/16 by Nick.Shin

	libcurl 7_48_0 - OSX

	headers and lib updates

	part of [ zlib openssl libcurl libwebsockets webrtc ] updates

Change 3128508 on 2016/09/16 by Nick.Shin

	libwebsockets 1.7.4 - OSX

	headers and lib updates

	part of [ zlib openssl libcurl libwebsockets webrtc ] updates

Change 3128513 on 2016/09/16 by Nick.Shin

	webRTC rev.12643 - OSX

	headers and lib updates

	part of [ zlib openssl libcurl libwebsockets webrtc ] updates

Change 3128602 on 2016/09/16 by Nick.Shin

	webRTC rev.9862 - Win64 VS2013

	NOTE:
	- not tested (i'm working on getting a VS2013 pro license)
	- checking in for testing purposes

	WARNING:
	- VS2013 is no longer supported by webRTC latest

	headers and lib updates

	part of [ zlib openssl libcurl libwebsockets webrtc ] updates

Change 3128605 on 2016/09/16 by Nick.Shin

	re-enabling updated ThirdParySoftware libs:

	- zlib (v.1.2.8)
	- openssl (1.0.2h)
	- libcurl (7_48_0)
	- libwebsocket (v.1.7.4)
	- webRTC (rev.12643)

	to the codereviewers, in my attempt to ensure the older libs are still used for console, mobile and linux -- please refer to this checkin if i broke the build...

Change 3128651 on 2016/09/16 by Nick.Shin

	fix Win32 build error from CL: #3128605

Change 3128704 on 2016/09/16 by Nick.Shin

	fix Win32 build error from CL: #3128605 - this time actually compiling it...

Change 3128825 on 2016/09/16 by Dmitry.Rekman

	Linux: proper fix for too slow startup times (UE-35967).

	- Pull request #2793 by slonopotamus.
	- Now without stripping dependencies on libraries specified before.
	- Contains a work around for ld bug <2.25.

Change 3128972 on 2016/09/16 by Nick.Shin

	fix to local build error.

Change 3129283 on 2016/09/16 by Brent.Pease

	 + Add Android local notification support based on existing system used for iOS
	 + Initial API has been added for cancelling local notifications but the actual platform implementation will be done in the next release

Change 3129494 on 2016/09/17 by Nick.Shin

	fix CIS build errors

Change 3129503 on 2016/09/17 by Dmitry.Rekman

	Fix Linux build (case sensitivity issue).

Change 3129514 on 2016/09/17 by Nick.Shin

	fix CIS build errors for consoles - missing zlib include path

	special thanks to Dmitry.Rekman for pointing me in the right direction

Change 3129647 on 2016/09/17 by Dmitry.Rekman

	Linux: fix non-unity build.

Change 3131043 on 2016/09/19 by Nick.Shin

	archiving build instructions/steps when building:

	- zlib (v.1.2.8)
	win: #3128369
	osx: #3128500

	- openssl (1.0.2h)
	win: #3128377
	osx: #3128504

	- libcurl (7_48_0)
	win: #3128383
	osx: #3128506

	- libwebsocket (v.1.7.4)
	win: #3128384
	osx: #3128508

	- webRTC
	win: #3128464 (rev.12643 for vs2015) + 3128602 (rev:9862 for vs2013) -- NOTE: win32 is WiP
	osx: #3128513

Change 3132801 on 2016/09/20 by Dmitry.Rekman

	Linux: support specifying default OpenGL version via configs (UE-34777).

	- The first targeted RHI is going to be used.

Change 3132905 on 2016/09/20 by Josh.Adams

	- Fixed up some paths with the WolfPlat rename

Change 3133148 on 2016/09/20 by Josh.Adams

	- Only show UT EULA if PLATFORM_DESKTOP

Change 3133152 on 2016/09/20 by Josh.Adams

	- Beginning support for applets. Disabled unless you have a special SDK with applet support.

Change 3133169 on 2016/09/20 by Josh.Adams

	- Fixed issue with Wolf access but no SDK installed

Change 3133344 on 2016/09/20 by Daniel.Lamb

	Fixed issue with Iterative cooking not detecting changes to ini files which are loaded using LoadLocalFile.
	Added new flag to limit number of concurrent shader compiles.
	#test Cook QAGame, Cook Paragon

Change 3133345 on 2016/09/20 by Daniel.Lamb

	FRedirectCollector collects string asset references all the time when running the editor.
	#test Cook paragon cook QAGame.

Change 3133852 on 2016/09/21 by Luke.Thatcher

	[PLATFORM] [PS4] [^] Performing merge between 3.508.201 LCUE files in CarefullyRedist and Dev-Platform to populate integration history. No files have actually changed in this CL, only Perforce metadata is updated.

Change 3133875 on 2016/09/21 by Luke.Thatcher

	[PLATFORM] [PS4] [^] Performing merge between 3.508.201 LCUE files in CarefullyRedist and Dev-Platform to populate integration history. No files have actually changed in this CL, only Perforce metadata is updated. (Attempt 2)

Change 3134403 on 2016/09/21 by Jonathan.Fitzpatrick

	Per PS4 documentation, app_type requires the alternate spelling of 'upgradeable', 'upgradable'.

Change 3134544 on 2016/09/21 by Josh.Adams

	- Reduced UT textures for Wolf

Change 3134915 on 2016/09/21 by Jonathan.Fitzpatrick

	FPS4Time::SystemTime now calculates the local machine time, instead of UTC.

	#jira UE-35170

Change 3135036 on 2016/09/21 by Michael.Trepka

	Quit the UE4EditorServices app when quitting the Launcher if it was the launcher that spawned the services process

Change 3135142 on 2016/09/21 by Jonathan.Fitzpatrick

	GetBackMemoryPoolSize returned bool on PS4 by accident, should be uint32

Change 3135292 on 2016/09/21 by Jeff.Campeau

	Change include order to favor the XDK edition specific headers where available.

Change 3136414 on 2016/09/22 by Josh.Adams

	- Fixed a checkf() that had the case reversed
	#jira ue-36311

Change 3137082 on 2016/09/22 by Dmitry.Rekman

	Added support for Linux installed builds to 4.14

Change 3137220 on 2016/09/22 by Dmitry.Rekman

	Linux: do not rebuild hlslcc on each setup.

	- Now that hlslcc is set to use bundled libc++ there should be no STL binary compatibility conflicts between the engine and hlslcc binary.

Change 3137227 on 2016/09/22 by Josh.Adams

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

Change 3137259 on 2016/09/22 by Dmitry.Rekman

	Linux installed build: fix CIS (missed one .csproj)

Change 3137290 on 2016/09/22 by Dmitry.Rekman

	Linux installed builds: fix for the resulting directory.

Change 3137291 on 2016/09/22 by Chris.Babcock

	Restore texture filtering mode properly when movie played on Android
	#jira UE-36342
	#ue4
	#android

Change 3137376 on 2016/09/22 by Dmitry.Rekman

	Linux: re-enabled crash handler stack smash protection.

	- Race condition in FRunnableThreadPThread has been previously fixed.

Change 3138498 on 2016/09/23 by Dmitry.Rekman

	Linux: add missed package for installed builds.

	- mono-devel package for resgen2.

Change 3138523 on 2016/09/23 by Dmitry.Rekman

	Linux: Update hlslcc now that we're not rebuilding it each time.

Change 3138658 on 2016/09/23 by Josh.Adams

	- Moved UT's Social Plugin into NotForLicensees

Change 3139042 on 2016/09/23 by Dmitry.Rekman

	Linux: more robust check of installed packages.

	- Also added mono-devel to the list of packages installed on 14.04.

Change 3139674 on 2016/09/26 by Dmitry.Rekman

	Fix crash when editing widget blueprints (UE-35185).

	- Caused by name collision due to copy/pasted code; aliased classes diverged and this resulted in all kinds of weird memory stomping.
	- Renamed the class and also applied the same workaround (removing static) to prevent likely crashes on exit as happened with the original class (see UE-30795).

Change 3140203 on 2016/09/26 by Josh.Adams

	- Wolf Fix for SHIPPING

Change 3140206 on 2016/09/26 by Josh.Adams

	- NEX work, still in progress

Change 3140276 on 2016/09/26 by Josh.Adams

	- Fixed Wolf compile error

Change 3140485 on 2016/09/26 by Josh.Adams

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

Change 3140570 on 2016/09/26 by Dmitry.Rekman

	SDL2: Delete obsolete files.

	- We now have local changes to SDL2, so this tarball is no longer accurate and just takes unnecessary space.

Change 3140577 on 2016/09/26 by Dmitry.Rekman

	Fix CudaTest monolithic build.

	- Not the best fix, the better fix is to build against bundled libc++.

Change 3141184 on 2016/09/27 by Keith.Judge

	Add FXboxOneApplication::GetXboxOneApplication to fix a save/load game assert.

	#jira UE-35973

Change 3141623 on 2016/09/27 by Chris.Babcock

	Support hiding virtual keyboard on Android
	#jira UE-34201
	#ue4
	#android

Change 3141887 on 2016/09/27 by Joe.Graf

	Added support for additional plugin directories that are specified by the .uproject file
	New plugin wizard adds to the additional plugin directories if the user specifies a directory outside of Engine/Plugins or Game/Plugins

Change 3141916 on 2016/09/27 by Josh.Adams

	- Worked around compile issues (at least with Wolf UT). This is well documented in a Jira (UE-29925)

Change 3141926 on 2016/09/27 by Josh.Adams

	- Support for skipping Wolf user selector (-nologinui)

Change 3141938 on 2016/09/27 by Chris.Babcock

	Allow Android media player to seek past 999ms (contributed by rcywongaa)
	#jira UE-36453
	#PR #2797
	#ue4
	#android

Change 3142207 on 2016/09/27 by Josh.Adams

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

Change 3142219 on 2016/09/27 by Josh.Adams

	- Wolf PhysX 3.4 libs and includes

Change 3142220 on 2016/09/27 by Josh.Adams

	- File that had to be fixed up after main merge (missed adding it to the huge integrate CL)

Change 3142314 on 2016/09/27 by Chase.McAllister

	#jira UE-35011 fixes to some assets to remove redundancies/output log spam

Change 3142510 on 2016/09/27 by Daniel.Lamb

	Fixed up resave lightmaps commandlet so that world transforms don't get applied twice.
	#jira UE-35942

Change 3142650 on 2016/09/27 by Chris.Babcock

	Android support for Linux by yaakuro
	- requires CodeWorks for Android Linux installed and OpenJDK 1.8
	- need to set Android SDK paths manually in Project Settings
	#jira UE-32752
	#jira UE-32753
	#PR #2564
	#PR #2565
	#ue4
	#android
	#linux

Change 3142802 on 2016/09/27 by Dmitry.Rekman

	Upgrade to SDL 2.0.5-ish (still technically 2.0.4).

	- Upstream revision 10374:dccf51aee79b.
	- Merged all our changes hopefully.

Change 3143075 on 2016/09/28 by Luke.Thatcher

	[RENDERING] [~] Add check to FBatchedElements::AddSprite to catch null textures. If the texture is null here, we will crash later in the RHI. At least now we'll get the callstack of the code adding the null textured sprite, since I don't have a repro.
	#jira UE-33077

Change 3143219 on 2016/09/28 by Daniel.Lamb

	Added new is compiling function which tells you if it's really compiling instead of lying.
	If def out additional logging for debugging shader compilation issue for 4.14 release.

Change 3143428 on 2016/09/28 by Luke.Thatcher

	[PLATFORM] [PS4] [+] Use PS4 SDK 4.008.061

Change 3143488 on 2016/09/28 by Daniel.Lamb

	Changed defaults for skip cooking editor content to true.

Change 3143526 on 2016/09/28 by Daniel.Lamb

	Increased the concurrent shader compile limit while in the cooker.
	#test Cook paragon

Change 3143874 on 2016/09/28 by Chris.Babcock

	Read Android environment variables from .bashrc on Linux
	#jira UE-36565
	#ue4
	#android
	#linux

Change 3143911 on 2016/09/28 by Dmitry.Rekman

	Fix SDL EGL API binding (UE-18979).

	- Contains PR #1398 by x414e54.
	- Also fixes offscreen backend that needed to provide a global mouse state after the SDL upgrade.

Change 3143929 on 2016/09/28 by Daniel.Lamb

	Removed some more temporary logging.
	#test Cook paragon

Change 3143959 on 2016/09/28 by Jeff.Campeau

	Media Player for Xbox One

Change 3143997 on 2016/09/28 by Dmitry.Rekman

	Linux: faster linking in Debug.

	- Do not apply --as-needed to Debug build since taking a hit of several tens of seconds on startup is better than linking for ~4 more minutes when iterating.

Change 3144004 on 2016/09/28 by Dmitry.Rekman

	Linux: make SCW dump core on crash in debug builds.

	- If the editor (not SCW itself) is built in Debug, make SCW dump cores if they ever crash. This makes it debug easier (at the risk of running of disk space).

Change 3144007 on 2016/09/28 by Dmitry.Rekman

	Linux: Allow equals character in command line parameter value (UE-26406).

	- PR #2019 by bozzaro.
	- Allows passing parameters like -Switch=Key=Value.

Change 3144042 on 2016/09/28 by Jeff.Campeau

	Add tag for DX12 support being experimental in target settings.

	#jira UE-36150

Change 3144068 on 2016/09/28 by Dmitry.Rekman

	Linux: enable using xgConsole in UAT (UE-28096).

	- PR #2144 by bozzaro.
	- Picks correct xgConsole binary.
	- Allegedly fixes crash in CombineXGEItemFile on mono.

Change 3144120 on 2016/09/28 by Michael.Trepka

	Copying //Tasks/UE4/Dev-HighDPI/... to //UE4/Dev-Platform/...

Change 3144172 on 2016/09/28 by Chris.Babcock

	Add libpng 1.5.27 for Android
	#jira UE-36573
	#ue4
	#android

Change 3144318 on 2016/09/28 by Chris.Babcock

	Correct logic for checking .bashrc on Linux
	#ue4
	#android

Change 3144331 on 2016/09/28 by Dmitry.Rekman

	Linux: repair ARM server builds.

	- Also: print info about C++ library being used and allow the override via environment variable UE4_LINUX_USE_LIBCXX (either 0 or 1).

Change 3144354 on 2016/09/28 by Josh.Adams

	Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform)
	this is intermediate, not fully working

Change 3144368 on 2016/09/28 by Josh.Adams

	- Moved the new Social files into NFL

Change 3144395 on 2016/09/28 by Chris.Babcock

	Add missing functions for AndroidWebBrowserWindow
	#ue4
	#android

Change 3144417 on 2016/09/28 by Josh.Adams

	- Probable fix for FWebBrowserWindow missing virtuals

Change 3144438 on 2016/09/28 by Jeff.Campeau

	XDK updated to 160802

Change 3144569 on 2016/09/29 by Dmitry.Rekman

	Linux: allow a selectable clock source (UE-36564).

	- The engine will now select the best performing clock on start instead of hard-coding CLOCK_REALTIME. This will happen as part of global initialization before main() to prevent clock skew.
	- Also fixes a problem of the engine not being able to start on Windows 10 since previously hard-coded clock id was not supported there.

	#tests Compiled and ran a few targets (including non-monolithic). Tried bogus clock sources. Haven't actually tried on Win10 (don't have a machine atm).

Change 3145108 on 2016/09/29 by Joe.Graf

	Fixed cases where path relative external plugin paths would generate the wrong path when running Unreal Header Tool (and probably other tools)

Change 3145245 on 2016/09/29 by Joe.Graf

	#wolf
	Checking in removal of plugin use on Win64 per Josh's request

Change 3145514 on 2016/09/29 by Will.Fissler

	Updated Mac Info.plist files to disable high DPI on macOS 10.12

Change 3145538 on 2016/09/29 by Josh.Adams

	- Worked around a physics task graph issue with using the new lock free stuff on Wolf, joining PS4 and XboxOne. Wolf was crashing on some boots.

Change 3145540 on 2016/09/29 by Josh.Adams

	- Fix for checking some Wolf dev tool installation existence
	- Fix for various Wolf build issues
	- Fix for Wolf devices not showing up in Launch on

Change 3145542 on 2016/09/29 by Josh.Adams

	- Pulled over Wolf changes from Wolf branch into Dev-Platform

Change 3145572 on 2016/09/29 by Josh.Adams

	- Cleaned up Wolf SDK error logs which really messed up GenProjectFiles for some class of people.
	#jira UE-36591

Change 3145769 on 2016/09/29 by Chris.Babcock

	Remove duplicate platforms from deploy list in UFE
	#jira UE-36636
	#ue4

Change 3146061 on 2016/09/29 by Chris.Babcock

	Linux: be less spammy in log when launching external procs
	#jira UE-36638
	#ue4
	#linux

Change 3146208 on 2016/09/29 by Dmitry.Rekman

	Linux: fix PhysX crash (UE-36613).

	- PX_RESTRICT was unwarrantedly applied to memMove, allowing clang to replace the memmove() call to memcpy() at -O2 and above.
	- This caused PxArray::remove() to duplicate the elements of its array (in POD case) and this opened doors to all kinds of fun.

	#jira UE-36613

Change 3146476 on 2016/09/30 by Josh.Adams

	- Moved a UBT log that could pollute QA logs with Wolf secrets to Verbose

Change 3146554 on 2016/09/30 by Josh.Adams

	- Removed another wolf secret log

Change 3146626 on 2016/09/30 by Josh.Adams

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

Change 3146712 on 2016/09/30 by Josh.Adams

	- Fixed case for building Android on Linux
	#jira #UE-36652

Change 3146844 on 2016/09/30 by Josh.Adams

	- Removed ES2 shader compiling from TVOS, and force Metal compiling
	#jira UE-36306

Change 3146865 on 2016/09/30 by Daniel.Lamb

	Removed temp logging for materials
	#test Launch on paragon

Change 3146874 on 2016/09/30 by Dmitry.Rekman

	Linux: add rpath for libTextureConverter.so (UE-36620).

Change 3147030 on 2016/09/30 by Josh.Adams

	- Version check workaround for IOS9.3/TVOS9.2 defining __IPHONE_10_0 which breaks our IOS10 code checks
	#jira UE-36623

Change 3147151 on 2016/09/30 by Josh.Adams

	- Fixed zlib.build.cs for XboxOne, which came in from another branch without an include path, yet somehow main is compiling?

Change 3147621 on 2016/09/30 by Michael.Trepka

	Fix for setting up RPATHs for third party dylibs for packaged code-based games on Mac

Change 3147712 on 2016/09/30 by Josh.Adams

	- Fixed metal crash StrategyGame crash. Recent code was checking IsES2Platform for HDR decoding in scene capture, and Metal hasn't been IsES2 since may. Changed to IsMobilePlatform.
	#jira UE-36225

Change 3147725 on 2016/09/30 by Josh.Adams

	- Fixed yet another Wolf log for people with Wolf access but no SDK

[CL 3147801 by Josh Adams in Main branch]
2016-09-30 21:21:09 -04:00
Ben Marsh
63ab3d83c2 Copying //UE4/Dev-Build to //UE4/Dev-Main (Source: //UE4/Dev-Build @ 3145834)
#lockdown Nick.Penwarden
#rb none

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

Change 3129636 on 2016/09/17 by Ben.Marsh

	UBT: Add a "-nolink" option which allows compiling object files without linking them into an executable. Useful for non-unity builds, which take a very long time to link or fail on some platforms due to command lines being too long, PDB file having too many records, etc...

Change 3129825 on 2016/09/18 by Ben.Marsh

	UBT: Don't force Linux to build in unity; it seems to build fine without.

Change 3129965 on 2016/09/19 by Matthew.Griffin

	Duplicating CL#3129960 from Release-4.13
	Exclude NetworkProfiler when building CS tools for Linux

Change 3130653 on 2016/09/19 by Ben.Marsh

	UHT: Fix missing "Error:" prefix in output log, causing messages to be ignored for failure emails.

Change 3130662 on 2016/09/19 by Ben.Marsh

	EC: Prevent UHT failures from being reported twice, and remove the need for special case to show UHT summary output.

Change 3131956 on 2016/09/20 by Matthew.Griffin

	Addtional fixes for compiling Editor as a monolithic executable
	Change so monolithic editor is output to Project Binaries directory
	Removed duplicated ReturnContainerIndexFromChannelName function
	Only check for out of date modules for non monolithic editor
	Don't define GIsGameAgnosticExe or PER_MODULE_BOILERPLATE for monolithic editor, done elsewhere
	Correct IMPLEMENT_MODULE for QuadricMeshReduction and AudioCapture modules

Change 3132112 on 2016/09/20 by Ben.Marsh

	Docs: Remove reference to UBT environment variables from configuration docs.

Change 3132815 on 2016/09/20 by Ben.Marsh

	AutomationTool: Delete GUBP. Everything now uses BuildGraph!

Change 3132871 on 2016/09/20 by Ben.Marsh

	UBT: Remove GUBP callbacks from TargetRules instances.

Change 3132987 on 2016/09/20 by Ben.Marsh

	Allow public distribution of the compiled SimplygonMeshUtilities binaries.

Change 3133974 on 2016/09/21 by Ben.Marsh

	Allow public distribution of the SimplygonSwarm module. Requires a separate Simplygon DLL (still in a NotForLicensees folder) to function correctly.

Change 3137228 on 2016/09/22 by Ben.Marsh

	UAT: Merging fix to parallel executor on Linux from 4.13 branch.

Change 3139783 on 2016/09/26 by Matthew.Griffin

	Fixed Xbox support for Installed Builds
	Corrected typo in Xbox+PS4 filter creation and added XboxOnePackageNameUtil.exe
	Added Xbox versions of ThirdParty libs that hadn't been specified until now

Change 3141721 on 2016/09/27 by Ben.Marsh

	Remove declaration of circular references between FbxAutomationTestBuilder and LevelEditor; causes LevelEditor to be built differently if plugin is enabled, which results in shared build products being invalidated by switching between games.

Change 3141789 on 2016/09/27 by Ben.Marsh

	UBT: Retain the ".suppressed" part of output file names when building import libraries for circularly referenced modules.

Change 3141805 on 2016/09/27 by Ben.Marsh

	UBT: Allow reusing build ids in version manifests as long as we aren't modifying any engine binaries (building more or fewer is permitted), and merge manifests together if possible. Allows building the entire solution through Visual Studio, when some projects may build more modules than another.

Change 3141980 on 2016/09/27 by Ben.Marsh

	EC: Include a "Steps to Reproduce" section in failure emails, which gives the command line to run to execute the step.

Change 3143996 on 2016/09/28 by Ben.Marsh

	BuildGraph: Fix exported job steps having dependencies on nodes behind triggers, causing jobs to never terminate.

Change 3144696 on 2016/09/29 by Matthew.Griffin

	Adding -NoSharedPCH to NonUnity build steps and split them into separate nodes for UE4Editor and UE4Game
	Fixed redefinition of __WINDOWS_DS__

Change 3144931 on 2016/09/29 by Ben.Marsh

	Core: Changes to search paths for DLL loading.

	* The default binaries directory is now added to the list of search paths. Normally LoadLibrary finds these without needing to preload them, but plugins can change the global search paths by calling SetDefaultDllDirectories().
	* Only the top entry of the DLL directory stack is searched. There is typically only one directory here anyway, but the intent is more consistent with the operation of SetDllDirectory().
	* Resolved import paths are converted to absolute, so the resulting calls to LoadLibrary will not be influenced by calls to SetDefaultDllDirectories() changing the base directory.
	* Search paths aren't de-duplicated any more. They don't overlap in practice, and it's not expensive even if they do.

Change 3144932 on 2016/09/29 by Ben.Marsh

	Vulkan: Only add vulkan-1.dll as a delay load dependency from the VulkanRHI module, otherwise it can be added to the linker command-line 20 or more times.

Change 3145011 on 2016/09/29 by Ben.Marsh

	Core: Include the compatible changelist in version manifests, so local builds after syncing with UGS will have the correct compatible changelist numbers post-hotfix.

[CL 3146509 by Ben Marsh in Main branch]
2016-09-30 08:50:19 -04:00
Ben Marsh
3e80336791 Copying //UE4/Dev-Build to //UE4/Dev-Main (Source: //UE4/Dev-Build @ 3092544)
#lockdown Nick.Penwarden
#rb none

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

Change 3079316 on 2016/08/05 by Ben.Marsh

	Better PCH selection in ShaderFormatOpenGL and MetalShaderFormat - make sure Core is the first included header.

Change 3080579 on 2016/08/08 by Ben.Marsh

	Slate: Move DEBUG_TAB_MANAGEMENT into SDockingTabStack.h to remove circular include dependency with DockingPrivate.h.

Change 3080587 on 2016/08/08 by Ben.Marsh

	StandaloneRenderer: Move platform includes into a separate header so we can make individual headers self-contained, without having a circular dependency on StandaloneRendererPrivate.h.

Change 3080789 on 2016/08/08 by Ben.Marsh

	Move BuildGraph tasks for chunking, posting builds, labeling builds, and merging manifests into the MCP project. While we do provide public interfaces for this functionality, we don't currently expect anyone outside Epic to be using them.

Change 3080815 on 2016/08/08 by Ben.Marsh

	BuildGraph: Add a -GenerateDocs option, which writes out an HTML file constructed from C# XML documentation containing all the task information.

Change 3081374 on 2016/08/08 by Ben.Marsh

	UBT: Invalidate the makefile if any UHT headers are deleted. Should fix issue where files are moved from one module to another, and the original module no longer contains any generated headers. Its include path needs to be removed from the compile environment.

Change 3083152 on 2016/08/09 by Ben.Marsh

	PR #2667: Add Intel C++ Compiler support to Windows build (Contributed by JeffRous)

Change 3084039 on 2016/08/10 by Ben.Marsh

	BuildGraph: Add additional markup for parameter attributes. Also improve some documation.

Change 3084240 on 2016/08/10 by Ben.Marsh

	Plugins: Allow plugins in the project folder to replace plugins in the engine folder with the same name. Prohibit multiple plugins with the same name at other times.

Change 3084337 on 2016/08/10 by Ben.Marsh

	UBT: Specify the -precompile option when generating project files for a target, so we include all valid modules for intellisense.

Change 3085594 on 2016/08/11 by Ben.Marsh

	Change modules which reference a public header for their PCH to use a private PCH instead, even if it just includes the public header for now.

Change 3085999 on 2016/08/11 by Ben.Marsh

	Add some missing #pragma once directives.

Change 3086146 on 2016/08/11 by Ben.Marsh

	Core: Move prototype and linkage specifier for ConsoleCommandLibrary_* functions into header matching cpp file.

Change 3086172 on 2016/08/11 by Ben.Marsh

	Fixup some C-style header guards to use #pragma once instead.

Change 3087289 on 2016/08/12 by Ben.Marsh

	Split out UPackage and UMetaData into their own headers (they're already implemented in separate CPP files)

Change 3087310 on 2016/08/12 by Ben.Marsh

	Move method stubs for FNullSlateSoundDevice into a CPP file, since they're exported from the SlateCore module.

Change 3087341 on 2016/08/12 by Ben.Marsh

	UdpMessaging: Move PCH before #if PLATFORM_DESKTOP; it will only be defined if the definition is included.

Change 3087457 on 2016/08/12 by Ben.Marsh

	Core: Reorganize the FTransform and FMatrix headers: Transform.h now includes TransformNonVectorized.h or TransformVectorized.h as appropriate, and UnrealMatrix.h is now Matrix.inl (and included from Matrix.h).

Change 3088407 on 2016/08/13 by Ben.Marsh

	Replace use of Windows SIZE_T define with the regular C++ size_t.

Change 3088416 on 2016/08/13 by Ben.Marsh

	Include a header from all .generated.cpp files (GeneratedCppIncludes.h) which includes all the basic types required to compile them, rather than assuming that the module PCH will include everything.

	Also include the real declarations of noexport classes in Object.h (now renamed to NoExportTypes.h for clarity) when the CPP macro is defined, so the .generated.deps.h file will automatically have the correct definitions for them at compile time rather than relying on them being in the private PCH.

	Finally, rename UObject.h to Object.h for consistency with the naming convention for all other UObject classes. UObject.h still exists for now, but outputs a deprecated message if included.

Change 3088544 on 2016/08/14 by Ben.Marsh

	Core: Move the definition of the TEXT() macro into Platform.h, to avoid having to include OS headers to get it.

Change 3088552 on 2016/08/14 by Ben.Marsh

	Fix compile errors for some modules that don't already include CoreUObject.h.

Change 3088925 on 2016/08/15 by Ben.Marsh

	Remove circular include dependencies from VulkanRHI.

Change 3088926 on 2016/08/15 by Ben.Marsh

	Remove duplicate definition for WITH_FIXED_AREA_ENTERING_COST from EngineDefines.h - always uses the definition from DetourNavMeshQuery.h instead.

Change 3088930 on 2016/08/15 by Ben.Marsh

	Remove circular include dependency from PhysX.

Change 3088935 on 2016/08/15 by Ben.Marsh

	OnlineSubsystemUtils: Move CPP files out of public header directory.

Change 3088965 on 2016/08/15 by Ben.Marsh

	Add private PCH to Landscape, MoviePlayer, TaskGraph, XAudio2 and RealtimeProfiler modules.

Change 3088966 on 2016/08/15 by Ben.Marsh

	Engine: Move CPP files out of public header directories.

Change 3089520 on 2016/08/15 by Ben.Marsh

	BuildGraph: Change documentation command to output markdown.

Change 3090299 on 2016/08/16 by Ben.Marsh

	D3D12RHI: Move around some implementations to fix circular header dependencies which are masked by delayed template instantiation.

Change 3090303 on 2016/08/16 by Ben.Marsh

	Engine: Add a template specialization for TPointerIsConvertibleFromTo<AActor, const volatile UObject> to fix dependency on complete AActor definition for static assert in TWeakPointer<AActor>, which only appears if including Level.h without Actor.h. Delayed template instantiation usually masks this issue.

Change 3091861 on 2016/08/17 by Ben.Marsh

	Remove circular header dependencies, and fix ambiguous include paths in OSVR.

Change 3092068 on 2016/08/17 by Ben.Marsh

	Moving VulkanDynamicRHI into its own header.

Change 3093133 on 2016/08/18 by Ben.Marsh

	EC: Include additional context lines for Clang errors.

Change 3093147 on 2016/08/18 by Ben.Marsh

	UBT: Add an error message when attempting to do a single-file compile with the wrong target selected.

Change 3093228 on 2016/08/18 by Ben.Marsh

	Remove redundant setting for remote server name from XML config, and set it to a valid machine in the engine config.

[CL 3093264 by Ben Marsh in Main branch]
2016-08-18 10:28:43 -04:00
Matthew Griffin
a3a2d4d633 Copying //UE4/Release-Staging-4.12 to //UE4/Dev-Main (Source: //UE4/Release-4.12 @ 2962397)
#lockdown Nick.Penwarden

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

Change 2962397 on 2016/05/02 by Dmitriy.Dyomin

	Fixed: Crash generating LOD for a Landscape
	#jira UE-30144

Change 2962367 on 2016/05/01 by Zachary.Wilson

	Building lighting on QA-Effects

	#jira UE-29618

Change 2962363 on 2016/05/01 by Zachary.Wilson

	Updating Reflection Capture Test Content

	#jira UE-29618

Change 2962362 on 2016/05/01 by Benjamin.Hyder

	Built Lighting in QA-PostProcessing level

	#jira UE-29618

Change 2962361 on 2016/05/01 by Zachary.Wilson

	Adding testing content for Custom Resolutions and Cubemaps for Sky Cubemaps and Reflection Probes.

	#jira UE-29618

Change 2962357 on 2016/05/01 by Benjamin.Hyder

	Built Lighting for Tm_SceneTexture

	#jira UE-29618

Change 2962356 on 2016/05/01 by Benjamin.Hyder

	Adding PlayerStart to TM-TranslucencyLghtingMode map

	#jira UE-29618

Change 2962351 on 2016/05/01 by Benjamin.Hyder

	Adding high Precision GBuffer Normal Encoding example to TM-Shadermodels

	#jira UE-29618

Change 2962349 on 2016/05/01 by Benjamin.Hyder

	Correcting Planar Reflection in TM-Shadermodels

	#Jira UE-29618

Change 2962348 on 2016/05/01 by Benjamin.Hyder

	Adding Planar Reflection Test Case content to TM-Shadermodels

	#jira UE-29618

Change 2962347 on 2016/05/01 by Zachary.Wilson

	Adding testing content for Dual Normal Clfar Coat Material Expression

	#jira UE-29618

Change 2962340 on 2016/05/01 by Zachary.Wilson

	Adding testing content for engine scalability (WIP)

	#jira UE-29618

Change 2962173 on 2016/04/30 by Ben.Marsh

	Fix typo.

Change 2962172 on 2016/04/30 by Ben.Marsh

	Disable Vulkan in installed UE4 buids. Build machines don't have the Vulkan SDK installed so they can't generate static libraries for VulkanRHI, so if we try to link against it on user's machines they'll fail due to the missing LIB.

	#jira UE-30156

Change 2961782 on 2016/04/29 by Mike.Beach

	Guarding against an invalid (null) target for the Blueprint debugger (watch viewer) panel.

	#jira UE-30110

Change 2961780 on 2016/04/29 by Mike.Beach

	Guarding against interface arrays with null entries (null checking in property editor processing code).

	#jira UE-30015

Change 2961580 on 2016/04/29 by Owen.Stupka

	#jira UE-29796 Rollback //UE4/Release-4.12/Samples/NotForLicensees/ProtoStar/Content/Blueprints/NickD/StarCoreSliceNick.uasset to revision 2

Change 2961531 on 2016/04/29 by Ryan.Gerleve

	Fix for an assert that could occur in monolithic builds when seamless traveling while recording a replay.

	#jira UE-22047

Change 2961499 on 2016/04/29 by Marc.Audy

	Use accessor instead of variable directly.
	#jira UE-00000

Change 2961492 on 2016/04/29 by Chris.Babcock

	Android Vulkan dynamic loader with fallback to ES2
	- works with either NDK r11c+ or VulkanSDK (does not require .so)
	#jira UEPLAT-1249
	#jira UEMOB-103
	#ue4
	#android

Change 2961462 on 2016/04/29 by Chris.Babcock

	Fix issue with stripping symbols for non-armv7 architectures
	#jira UE-30138
	#android
	#ue4

Change 2961442 on 2016/04/29 by Marc.Audy

	Fix undo/redo of attachment between an IWCE and blueprint constructed component not working
	#jira UE-28948

Change 2961400 on 2016/04/29 by Samuel.Proctor

	Test assets for FiB test cases.
	#jira UE-29618

Change 2961382 on 2016/04/29 by Daniel.Lamb

	Fix for shadowed variables.
	#jira UE-29470

Change 2961319 on 2016/04/29 by mitchell.wilson

	#jira UE-29618 - Adding TM-LandscapeFoliage map

Change 2961278 on 2016/04/29 by Chris.Babcock

	Fix 64-bit cast
	#jira UE-30132
	#ue4
	#android

Change 2961263 on 2016/04/29 by Daniel.Lamb

	Fixed issue with iterative cooking missing dependent sublevels when checking for dependent timestamps.
	#jira UE-29470

Change 2961227 on 2016/04/29 by Taizyd.Korambayil

	#jira UE-30068 Resaved Some assets and Updated TexturePool in DefaultEninge.ini

Change 2961208 on 2016/04/29 by Nick.Darnell

	UMG - Unable to reproduce the issue of the designer crashing because it popping more messages than it has, but adding a check to make sure the array isn't already empty before popping.

	#jira UE-29919

Change 2961190 on 2016/04/29 by Nick.Darnell

	UMG - Unable to reproduce the issue of the designer crashing because it popping more messages than it has, but adding a check to make sure the array isn't already empty before popping.

	#jira UE-29919

Change 2961161 on 2016/04/29 by Gareth.Martin

	Added warnings when trying to use the Landscape Visibility Tool without the landscape material having a "Landscape Visibility Mask" node.
	#jira UE-30032

Change 2961109 on 2016/04/29 by Keith.Judge

	Xbox One - Enable USE_NEW_LOCK_FREE_LISTS, and refactor code to allow VS2015 to compile it (was using a non-standard GCC/Clang behaviour). Lots of duplicated code, but there already was...

	#jira UEPLAT-1288

Change 2961055 on 2016/04/29 by Mike.Beach

	Mirroring CL 2961019:
	Temporarily disabling InitProperties() spawning optimization, as it was causing GC issues.

	#jira UE-29940

Change 2961018 on 2016/04/29 by Rolando.Caloca

	UE4.12 - Compile fix for shipping
	#jira UE-30096

Change 2960921 on 2016/04/29 by Matthew.Griffin

	Updated AutoSDK used by Android so that arm64 will build

Change 2960920 on 2016/04/29 by Martin.Wilson

	Missing files from 2960847

	#jira ue-25715

Change 2960906 on 2016/04/29 by Peter.Sauerbrei

	added more explicit message when the deployment fails due to device not on provision
	#jira UE-19875

Change 2960869 on 2016/04/29 by Chris.Bunner

	Allow custom material nodes to be used with tessellation outputs.
	#jira UE-29586

Change 2960847 on 2016/04/29 by Martin.Wilson

	Fix setting incorrect animation assets on anim player nodes.

	#jira ue-25715

Change 2960842 on 2016/04/29 by Keith.Judge

	Xbox One - Remove SetGpuMemoryPriority() call as it turns out most actual game titles are CPU bound, and this is just hurting them.

	#jira UEPLAT-1288

Change 2960841 on 2016/04/29 by Keith.Judge

	Xbox One - Make temporary buffers last for three frames.

	#jira UEPLAT-1288

Change 2960838 on 2016/04/29 by Keith.Judge

	Xbox One - Change the MemoryBarrier function to be FORCENOINLINE so that the compiler doesn't reorder writes around it.

	#jira UEPLAT-1288

Change 2960834 on 2016/04/29 by Keith.Judge

	Xbox One - Change GPUMalloc memory type to write combined, as cached non-coherent caused major UMG flickering issues, and would appear to be unsafe, according to the latest XDK docs.

	#jira UEPLAT-1288

Change 2960829 on 2016/04/29 by Keith.Judge

	Xbox One - Fix RHIUpdateTexture2D not actually updating the texture. It was silently failing because the GPU_READONLY flag was set on the memory. Grrrrrr!

	#jira UEPLAT-1288

Change 2960826 on 2016/04/29 by Keith.Judge

	Xbox One - Turn on GSupportsEfficientAsyncCompute and GSupportsParallelOcclusionQueries. Duplcated from Dev-Platform.

	#jira UEPLAT-1288

Change 2960820 on 2016/04/29 by Keith.Judge

	Xbox One - Replicate Windows critical section changes. Duplicated from Dev-Platform.

	#jira UEPLAT-1288

Change 2960819 on 2016/04/29 by Marc.Audy

	Owned components are once again referenced by their Owning actor for GC purposes
	#jira UE-29131

Change 2960817 on 2016/04/29 by Keith.Judge

	Xbox One - Further fix for flickering HUD. Also seems to fix weird bloom when Fast Semantics are enabled. Duplicated from Dev-Platform.

	#jira UEPLAT-1288

Change 2960814 on 2016/04/29 by Keith.Judge

	Xbox One - Fix crash when creating odd sized textures with initial data. Duplicated from Dev-Platform.

	#jira UEPLAT-1288

Change 2960805 on 2016/04/29 by Keith.Judge

	Fix .ini.ini filename issue (duplicated fix from Dev-Platform).

	#jira UES-2270

Change 2960797 on 2016/04/29 by Mason.Seay

	Deleting asset associated with crashing map, just to be safe (neither are needed anymore)

	#jira UE-25215

Change 2960793 on 2016/04/29 by Mason.Seay

	Deleting map that's causing a crash

	#jira UE-25215

Change 2960774 on 2016/04/29 by Robert.Manuszewski

	(temp) Fix for missing packages after cooking.

	#jira UE-29876

Change 2960747 on 2016/04/29 by Jurre.deBaare

	Mac build fixes

	#jira abc-123

Change 2960739 on 2016/04/29 by Benn.Gallagher

	Use mesh update mode to update cloth rather than whether or not it was rendered.
	#jira UE-25934

Change 2960707 on 2016/04/29 by Jurre.deBaare

	HLOD cluster dirtying from changes in static mesh component and spline mesh component, required making the HierarchicalLODUtilities Module to have an abstract interface (for dynamic loading in the Engine module)

	#jira UE-24378

Change 2960704 on 2016/04/29 by Matthew.Griffin

	Added Architectures and GPUArchitectures to UEBuildConfiguration that can be passed through on the UBT command line
	Changed Android Tool Chain so that it checks the command line architectures as an additional way to setup which ones to build
	Added option to pass architectures on command line when precompiling monolithic targets via UAT (with armv7, arm64 & es2 set for Android for now)
	Added code to read precompiled architectures in Rocket build and write out additional Installed Platform Info entries for each one
	#jira UEB-560

Change 2960694 on 2016/04/29 by Robert.Manuszewski

	Log free disk space when DirectoryWatcher's File Cache fails to move a file.

	#jira UE-24660

Change 2960687 on 2016/04/29 by Benn.Gallagher

	Demoted eINTERNAL_ERROR (PhysX error code) to warning as we were flagging things too zealously (degenerate poly failing a cook)
	#jira UE-30053

Change 2960381 on 2016/04/28 by Chris.Babcock

	Handle movie playback not covering full surface
	#jira UE-28705
	#ue4
	#android

Change 2960162 on 2016/04/28 by Ryan.Vance

	#jira UE-30099
	Re-enabling the occlusion area mask for the Rift. Any Rift HMD's newer than the CB prototype will use the CV1 masks. We'll need to revist this in the future.
	We need to ensure we always set the InstancedEyeIndex uniform if it's bound. Otherwise passes that aren't using instanced stereo will resolve their views using an uninitialized variable (translucency).

Change 2960100 on 2016/04/28 by Andrew.Porter

	Removing old sub sequences.

	#jira UE-29618

Change 2959962 on 2016/04/28 by Peter.Sauerbrei

	fix for enabling InApp purchasing not enabling Online Subsystem IOS
	#jira UE-25512

Change 2959937 on 2016/04/28 by Patrick.Donovan

	Screen aligned UVs test material for QAGame for testing if they work in VR.
	#jira UE-29618

Change 2959914 on 2016/04/28 by Dan.Oconnor

	Fix for copy paste error, likely of no consequence because nothing calls IsExporting(), found with PVS-Studio by Robert Troughton
	#jira UE-30058

Change 2959859 on 2016/04/28 by Ryan.Gerleve

	Fix for fatal error crash when loading the default map fails. Now we load a dummy world and request graceful exit in standalone, or shutdown the current play session in PIE.

	#jira UE-26634

Change 2959856 on 2016/04/28 by Chris.Babcock

	Fix scaling on low-resolution devices in Match3
	#jira UE-28706
	#ue4
	#match3

Change 2959839 on 2016/04/28 by Dan.Oconnor

	Fix IsControlCharacter result for 'pop directional isolate' character (u2069), found with PVS-Studio by Robert Troughton
	#jira UE-30058

Change 2959836 on 2016/04/28 by Dan.Oconnor

	Remove unused local variable, found with PVS-Studio by Robert Troughton
	#jira UE-30058

Change 2959829 on 2016/04/28 by Dan.Oconnor

	Using OverridePredrawBatchTime and OverridePredrawBatchTime correctly, found with PVS-Studio by Robert Troughton
	#jira UE-30058

Change 2959817 on 2016/04/28 by Peter.Sauerbrei

	fix for parsing the IOS Device ID
	addition of iPhone SE (courtesy davidrpozesky, PR2307)
	addition of iPadPro 9.7
	#jira UE-21921

Change 2959808 on 2016/04/28 by Nick.Darnell

	UBT - Restoring GetModuleFilename to the RulesCompiler but only to deprecate it, and point users at the method they should now be using.

	#jira ue-none

Change 2959805 on 2016/04/28 by Chad.Taylor

	Merging

	//UE4/Dev-VR/Engine/...

	to //UE4/Release-4.12/Engine/...

	#jira UEBP-188

Change 2959798 on 2016/04/28 by Dan.Oconnor

	Manually integrate 2947850, also  found with PVS-Studio by Robert Troughton
	#jira UE-30058

Change 2959796 on 2016/04/28 by Aaron.McLeran

	Duplicating CL 2959785 from //UE4/Dev-Framework

	#jira UE-30083 Sound concatenator node doesn't progress if child nodes don't produce wave instances

	#tests created new sound cue with concat node with child nodes that don't play sound-instances, concat node continues playing

Change 2959793 on 2016/04/28 by Dan.Oconnor

	Fixed setter that did nothing, found with PVS-Studio by Robert Troughton. This code will be removed soon.
	#jira UE-30058

Change 2959739 on 2016/04/28 by Ori.Cohen

	Remove box2d ensure as it's confusing for legit crashes since it shows up in the end of the log.

	#JIRA UE-29932

Change 2959709 on 2016/04/28 by Nick.Darnell

	Slate - Menu Stack no longer crashes when forcefully dismissing multiple menus in the stack at once.

	#jira UE-30087

Change 2959701 on 2016/04/28 by Nick.Darnell

	Slate - The MoviePlayer now has an OnPrepareLoadingScreen callback that modules can hook instead of relying on the PreLoadMap, which depending on when you hook it, you may be before or after the movie player.  Therefore to aleviate that ordering problem - if the movie player goes to play a loading screen and one has not yet been configured this callback will be triggered so that hopefully one is supplied.

	#jira UE-30085

Change 2959691 on 2016/04/28 by Nick.Darnell

	UMG - Fixed Aspect ratios now correctly size the right side of the screen, allowing right anchored content to be fit properly inside the black frame borders.

	#jira UE-30084

Change 2959678 on 2016/04/28 by mason.seay

	Updated test sound cue asset, as it appeared to be partially filled out.  Moved it out of developer folder.

	Also rebuilt lighting on associated test map.

	#jira UE-29618

Change 2959514 on 2016/04/28 by Aaron.McLeran

	Duplicating CL 2959506 from //UE4/Dev-Framework

	#jira UE-30000

	PR #2330: Fix for ambient sounds not stopping when active and told to play again (Contributed by hgamiel)

	#tests Playing another looping sound on an audio component will stop the previous looping sound.

Change 2959486 on 2016/04/28 by Bob.Tellez

	Duplicating CL#2948431 from //Orion/Dev-General

	CL#s 2919775 and 2942793 integrated to prevent annotation map performance problems on shutdown and asserts in PIE.

	#JIRA UE-29625
	#tests Ran editor

Change 2959414 on 2016/04/28 by Chad.Taylor

	IStereoLayers API and Oculus Rift implementation

	#jira UEBP-185

Change 2959395 on 2016/04/28 by Taizyd.Korambayil

	#jira UE-29710 Resaved Kite Demo Maps and Audio files to Fix Build Warnings

Change 2959386 on 2016/04/28 by Richard.TalbotWatkin

	Replicated from CL 2959360 in //UE4/Dev-Editor/

	Fixed potential crash when mesh painting actors whose geometry adapters are no longer registered.
	#jira UE-29615 - [CrashReport] UE4Editor_MeshPaint!FEdModeMeshPaint::DoPaint() [meshpaintedmode.cpp:1127]

Change 2959377 on 2016/04/28 by Matthew.Griffin

	Added 2015 versions of OpenSSL dlls to list of RuntimeDependencies, so that they will be included in the binary build
	#jira UE-30024

Change 2959367 on 2016/04/28 by Alexis.Matte

	#jira OR-20622
	make sure LOD import Materials get map with LOD 0 material index

Change 2959302 on 2016/04/28 by Jamie.Dale

	Removed invalid assert

	#jira UE-30042

Change 2959263 on 2016/04/28 by Peter.Sauerbrei

	fix for virtual joysticks showing up on tvOS
	removed usage of ES2 define for tvOS
	#jira UE-26122

Change 2959235 on 2016/04/28 by Taizyd.Korambayil

	#jira UE-29744 Resaved Vehicle Game maps to Fix Build Warnings

Change 2959177 on 2016/04/28 by Thomas.Sarkanen

	Fixed curve names getting incorrectly duplicated when DuplicateObject was called

	Fixes crash when trying to convert curves to metadata after newly importing a sequence.

	#jira UE-29988 - Crash when converting custom curve to metadata in persona

Change 2959170 on 2016/04/28 by Taizyd.Korambayil

	#jira UE-29683 Resaved Maps to Fix Build Warnings
	#jira UE-29685
	#jira UE-29679
	#jira UE-29684

Change 2959154 on 2016/04/28 by Dan.Bullard

	Added Media Player assets and added example to TM-ShaderModels.
	#jira UE-29618

Change 2959112 on 2016/04/28 by Jamie.Dale

	Fixed a long time IME crash that could happen under certain circumtances

	#jira OPP-5607

Change 2959086 on 2016/04/28 by Jamie.Dale

	Refreshing the editable text layout now makes sure the layout is up-to-date

	This addresses some update issues when the widget is being ticked, but not running a layout pass.

	#jira UE-30054

Change 2958927 on 2016/04/28 by Phillip.Kavan

	[UE-30040] Fix broken editor UI display of values for int32 properties tagged as bitmask fields when the high bit is set.

	#jira UE-30040

Change 2958730 on 2016/04/28 by Phillip.Kavan

	[UE-23087] Don't apply near-zero delta values while drag-scaling inside the Blueprint editor's preview viewport.

	#jira UE-23087

Change 2958566 on 2016/04/27 by Marcus.Wassmer

	Fix material preview and PostProcessAmbient
	#jira UE-29994

Change 2958459 on 2016/04/27 by mason.seay

	Test assets for Sound Class Override

	#jira UE-29618

Change 2958399 on 2016/04/27 by Owen.Stupka

	#jira UE-29924 Back out CL 2958355, change was in wrong position.

Change 2958395 on 2016/04/27 by Aaron.McLeran

	Duplicating CL#2950482  from //UE4/Dev-Framework

	#jira FORT-22973 SoundMix Fade Time not fading audio properly

	- Bug was due to bApplyToChildren case where the FSoundClassAdjuster wasn't getting the interpolated value before calling RecursiveApplyAdjuster in the case of non-overriden sound mixes.

	#tests Apply a sound mix using a child sound class with apply-to-children enabled. Sound mix properly interpolates.

Change 2958387 on 2016/04/27 by Aaron.McLeran

	Duplicating CL#2954865  from //UE4/Dev-Framework

	#jira UE-29763 Use HMD audio device only in VR preview mode, not for other PIE session types.

	#tests run editor in PIE with HMD connected, audio only plays on PC, then run in VR-Preview with HMD connected, audio plays on HMD audio device

Change 2958381 on 2016/04/27 by Josh.Adams

	- Fixed compile error in IOSDeviceHelperMac.cpp
	#lockdown nick.penwarden
	#jira UE-30037

Change 2958355 on 2016/04/27 by Owen.Stupka

	#jira UE-29924 Fix for UAT issues on Mac.

Change 2958351 on 2016/04/27 by Aaron.McLeran

	Duplicating CL#2957953  from //UE4/Dev-Framework

	#jira UE-30018 Fixing up audio component ref-counting to prevent triggering notifications when an audio component is still active after a sound finishes playing.

	#tests run audio component with auto-activate, call play, setup notification callback in BP, note that only triggered once

Change 2958344 on 2016/04/27 by Taizyd.Korambayil

	#jira UE-29720 Resaved Audio Files to fix NodeGUID Warnings

Change 2958342 on 2016/04/27 by mitchell.wilson

	#jira UE-29618  updating shot_002 to fix an issue with snapping.

Change 2958315 on 2016/04/27 by Marc.Audy

	No longer use component pooling, but instead spawn Actors for thumbnail display
	#jira UE-17453

Change 2958289 on 2016/04/27 by Marc.Audy

	Don't crash rerunning construction script on a child actor that belongs to a ownerless child actor component
	#jira UE-30033

Change 2958280 on 2016/04/27 by Taizyd.Korambayil

	#jira UE-29723 Resaved Maps and Audio Files

Change 2958237 on 2016/04/27 by Taizyd.Korambayil

	#jira UE-29687 Resaved Some Assets to Fix Build Warnings

Change 2958176 on 2016/04/27 by Taizyd.Korambayil

	#jira UE-29701 Resaved Some Assets to Fix Build Warnings

Change 2958172 on 2016/04/27 by Ori.Cohen

	Back out changelist 2955134

	#JIRA UE-30030

Change 2958121 on 2016/04/27 by Taizyd.Korambayil

	#jira UE-29706 Resaved Some Assets to Fix Build Warnings

Change 2958070 on 2016/04/27 by Peter.Sauerbrei

	fix for launch on to tvOS from PC
	properly filter out tvOS devices when launching to IOS and vice versa
	#jira UE-29928

Change 2958029 on 2016/04/27 by Andrew.Rodham

	Fixed SMenuAnchor::bIsCollapsedByParent not being respected

	#jira UE-30016

Change 2957962 on 2016/04/27 by Alexis.Matte

	#jira UE-29984
	Pixel inspector crash
	Fix the viewport id

Change 2957908 on 2016/04/27 by Andrew.Rodham

	Sequencer: Fixed being unable to render out 4K image sequences using matinee or sequencer

	#jira UE-29171

Change 2957880 on 2016/04/27 by Peter.Sauerbrei

	fix for metal not being enabled in iOS 8
	added some checks for bSupportsResourceOptions in Lock/Unlock
	#jira UE-29268

Change 2957860 on 2016/04/27 by Gareth.Martin

	Fixed landscape grass not updating when using a material instance as the landscape material and changing parameters
	#jira UE-29471

Change 2957833 on 2016/04/27 by Taizyd.Korambayil

	#jira UE-29707 Replaced Deprecated Nodes and Resaved Audio Files to Fix Build Warnings

Change 2957805 on 2016/04/27 by Max.Chen

	Sequencer: Fix crash in UMG when a property changes and there's no movie scene.

	#jira UE-30008

Change 2957803 on 2016/04/27 by Taizyd.Korambayil

	#jira UE-29718 Resaved Audio Files and Maps to Fix NodeGuid Warnings

Change 2957799 on 2016/04/27 by Max.Chen

	Sequencer: Fix visibility track name so that it says "Visibility"

	#jira UE-29996

Change 2957777 on 2016/04/27 by Allan.Bentham

	Workaround ES31 HQ DoF producing no effect with vulkan rhi.
	#jira UE-30006

Change 2957763 on 2016/04/27 by Taizyd.Korambayil

	#jira UE-29678 Resaved Maps to Fix Build Errors

Change 2957740 on 2016/04/27 by Taizyd.Korambayil

	#jira UE-29628 Resaved Maps to fix Build Warnings

Change 2957713 on 2016/04/27 by Taizyd.Korambayil

	#jira UE-29715 Resaved Maps to Fix Build Warnings

Change 2957678 on 2016/04/27 by Taizyd.Korambayil

	#jira UE-29677 Fixed up AnimBP and resaved some assets to fix Build Warnings

Change 2957627 on 2016/04/27 by Frank.Fella

	UMG - Sequencer - Fix material animation for materials on struct properties e.g. style materials, and fix the naming so that it's [Original Name]_Animated

	#Jira UE-29319
	#Jira UE-29321

Change 2957625 on 2016/04/27 by Taizyd.Korambayil

	#jira UE-29689 Replaced deprecated Nodes and Resaved some assets to Fix Warnings

Change 2957603 on 2016/04/27 by mitchell.wilson

	#jira UE-29618 updating Test-Animation for UMG test. Adding M_SequenceUMG material for UMG testing

Change 2957577 on 2016/04/27 by Ben.Marsh

	EC: Increase the number of changes queried to display the EC dashboard. Some changes are getting filtered out.

Change 2957569 on 2016/04/27 by Maciej.Mroz

	#jira UE-27735 Enumerators are not set correctly in packaged games if Nativize Blueprint Assets is set to true

	merged from Dev-Blueprints 2957564

Change 2957565 on 2016/04/27 by Taizyd.Korambayil

	#jira UE-29721 Resaved Some Content to Fix Empty Engine Version Error

Change 2957558 on 2016/04/27 by Matthew.Griffin

	Updated Installed Engine Filters now that Linux has dropped the architecture from its .target files
	#jira UE-29899

Change 2957504 on 2016/04/27 by Marc.Audy

	Persist component instance data cache through blueprint construction that results in "disaster recovery mode"
	#jira UE-20385

Change 2957162 on 2016/04/26 by Dmitriy.Dyomin

	Fixed: Some Unicode letters are not properly displayed with FCanvasTextItem in Android device
	#jira UE-25861

Change 2957117 on 2016/04/26 by Dan.Oconnor

	PR #2289: Exposing "IsValidIndex" Array function to Blueprints (Contributed by eXifreXi)
	Modifications: typo fix in Array.h, made blueprint description consistent with native function, removed redundant nullptr check, added P_NATIVE timer macros, added custom thunk implementation for cpp backend

	#jira UE-29563

Change 2957057 on 2016/04/26 by Dan.Oconnor

	Tweak logic used to make variable nodes more accessible
	Motivation was PR#2202 by Lucyberad
	#jira UE-28802

Change 2956884 on 2016/04/26 by Jamie.Dale

	Removed an assert that can be triggered by certain IMEs

	#jira UE-19744

Change 2956876 on 2016/04/26 by Dan.Oconnor

	PR #2288: Adjustment of RInterpTo and RInterpTo_Constant descriptions to match function. (Contributed by CelPlays)

	#jira UE-29495

Change 2956860 on 2016/04/26 by Max.Preussner

	Sockets: Fixed incorrect socket timeout when value < 1 ms (UE-29973)

	#jira: UE-29973

Change 2956801 on 2016/04/26 by Rolando.Caloca

	UE4.12 - vk - Added r.Vulkan.SubmitOnCopyToResolve to help track down submit issues
	#jira UE-28140

Change 2956679 on 2016/04/26 by Andrew.Rodham

	Editor: Fixed not being able to switch between cinematic/default viewport types

	#jira UE-29942

Change 2956674 on 2016/04/26 by James.Fox

	Updated Blueprint Bitmask test asset to include Bitwise OR.
	#jira UE-29618

Change 2956573 on 2016/04/26 by Rolando.Caloca

	UE4.12 - vk - Added TRANSFER_BIT to swapchain images since it's required for clearing
	#jira UE-28140

Change 2956572 on 2016/04/26 by Rolando.Caloca

	UE4.12 - vk - Added alignment to buffer offsets depending on usage
	#jira UE-28140

Change 2956502 on 2016/04/26 by Peter.Sauerbrei

	fix for missing particles on iPhone 5 when compiling for size
	re-enable compile for size for Match 3
	#jira UE-28721

Change 2956445 on 2016/04/26 by Taizyd.Korambayil

	#jira UE-29691 Resaved some Animation Assets to Fix Build Warnings

Change 2956382 on 2016/04/26 by Taizyd.Korambayil

	#jira UE-29688 Resaved Maps in Infiltrator Demo t oFix Some Build Warnings

Change 2956332 on 2016/04/26 by Patrick.Donovan

	Adding physics asset set up for Capsule shadows for easy testing of capsule shadows in VR and with instanced stereo enabled.
	#jira UE-29618

Change 2956301 on 2016/04/26 by Ben.Marsh

	Disable notification emails for warnings in Rocket sample builds.

Change 2956264 on 2016/04/26 by Peter.Sauerbrei

	fix for binary release generation of bp-only project files for IOS on Mac
	#jira UE-29934

Change 2956247 on 2016/04/26 by Jurre.deBaare

	Fix for Mac compile

	#jira UE-123ABC

Change 2956192 on 2016/04/26 by Jurre.deBaare

	- Changed signatures for merging static mesh (LOD index now incorporated in merge data structure)
	- Proxy mesh and Mesh merging now just merges one specific LOD index per input mesh (instead of looping over all LOD levels)
	- Moved SourceStaticMesh and addex ExportLODIndex to FMeshMergeData structure
	- LightMap Index for merged static meshes is now set correctly
	- Added enum to MaterialProxySettings for distinction between (non-)Simplygon uses of the struct
	- Move MergeActor tab spawner out of experimental (removed option from config) and moved into Developer Tools/Misc

	#jira UE-28319

Change 2956183 on 2016/04/26 by mitchell.wilson

	#jira UE-29618 Adding new sequence for assign actor testing. Updating sequencer levels for assign actor testing

Change 2956152 on 2016/04/26 by Lina.Halper

	- removed invalid ensure because it doesn't check recursive, it does have different value with validation

	#jira : UE-29945

Change 2956034 on 2016/04/26 by Andrew.Rodham

	Sequencer: Skeletal animation tracks now evaluate the nearest section where no animation section is present
	  - This is more consistent with how other tracks evaluate, and guarantees a deterministic animated state

	#jira UE-28073

Change 2956002 on 2016/04/26 by Taizyd.Korambayil

	#jira UE-29729 Resaved Blueprints to Fix Build Warnings

Change 2955999 on 2016/04/26 by Max.Chen

	Sequencer: Refresh instances when done recording. This fixes a bug where spawned recorded actors aren't visible when done recording.

	#jira UE-29841

Change 2955983 on 2016/04/26 by Andrew.Rodham

	Removing Saved, Intermediate, and DerivedDataCache folders from SubwaySequencer sample project.

	#jira UE-29938

Change 2955979 on 2016/04/26 by Taizyd.Korambayil

	#jira UE-29728 Resaved Some assets to Fix Build Warnings

Change 2955941 on 2016/04/26 by Taizyd.Korambayil

	#jira UE-29730 Resaved Maps to Fix Build Warnings

Change 2955937 on 2016/04/26 by Andrew.Rodham

	Sequencer: When recording actors as spawnables, we no longer duplicate the object, rather create a new instance of the same class
	  - This fixes issues caused by undersiable state being saved into the spawnable defaults

	Merged from //UE4/Dev-Sequencer/...@2952610

	#jira UE-29774

Change 2955888 on 2016/04/26 by mitchell.wilson

	#jira UE-29618 Updating shots for sequencer testing

Change 2955635 on 2016/04/26 by Max.Chen

	Sequencer: Fix filtering so that folders that contain filtered nodes will also appear.

	#jira UE-28213

[CL 2969385 by Matthew Griffin in Main branch]
2016-05-06 15:20:28 -04:00
Andrew Grant
0b4257e23a Copying //UE4/Orion-Staging to //UE4/Main (Source //Orion/Dev-General @ 2927258)
#lockdown Nick.Penwarden

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

Change 2927181 on 2016/03/29 by Dmitry.Rekman

	(Optionally) exclude idle time from server FPS charts.

	- Time spent waiting for the next frame in order to hit capped FPS can be optionally excluded by using t.FPSChart.ExcludeIdleTime (set to 1 for servers).
	- Server FPS charts analytics events and log output will include the information if idle time was excluded.

	- Also: added a log line each time we detect a server hitch for easier pin-pointing them in the log.

	#rb Paul.Moore
	#codereview Paul.Moore, Michael.Noland
	#tests Ran Linux server and Windows client on compatible content.

Change 2927084 on 2016/03/29 by Ben.Marsh

	BuildGraph: Don't allow triggers to run until all their order dependencies are complete. Just because a downstream node doesn't have a dependency on an upstream node via temp storage doesn't mean it can run immediately.

	#rb none
	#tests none

Change 2927060 on 2016/03/29 by Michael.Noland

	Renamed GPU analytics event from GPU to DesktopGPU to reflect that it is the default desktop adapter and not the one we initialized (which is GPUAdapter)
	Updated text/log based FPS chart events to print out GPUAdapter instead (with DesktopGPU in parens if they differ, e.g., in an optimus setup)
	#rb marcus.wassmer
	#tests Ran and did some fps charts

Change 2927048 on 2016/03/29 by Michael.Noland

	HLOD: Removed an unused cvar r.HLODEnabled (everything is done thru r.HLOD)
	#tests Compiled and ran Paragon
	#rb marcus.wassmer

Change 2926920 on 2016/03/29 by Ben.Marsh

	BuildGraph: Update schema with Rename task.

Change 2926911 on 2016/03/29 by Ben.Marsh

	BuildGraph: Add a task which can rename files matching a given wildcard. Syntax is: <Rename Files="*.txt" To="*.md"> or <Rename Files="Engine/Build/..." From="*.txt" To="*.md"/>

	#rb none
	#tests none

Change 2926908 on 2016/03/29 by Andrew.Grant

	Fix for CDO properties of renamed blueprints not being applied
	#rb none
	#tests loaded Origin map (renamed from Playgo3) and verified properties are applied.

Change 2926799 on 2016/03/29 by Jason.Bestimt

	#ORION_DG - Merge MAIN (23) @ CL# 2926780

	#RB:none
	#Tests:none

Change 2926663 on 2016/03/29 by david.nikdel

	#ROBOMERGE-OBO: jason.bestimt
	#ROBOMERGE-SOURCE: CL 2926660 in //Orion/Release-0.23/... via CL 2926662
	#ROBOMERGE-BOT: ORION (Main -> Dev-General)

	#ORION_23 - Potential fix for Cook failures

	"Fix shelved in 2926635, tested in Dev-Blueprints. Could not run any GEditor related logic safely in ShutdownModule because of the same destruction issue orders that caused the bug in the first place. I will chat with Editor team about nulling out GEditor the same way we null out GUnrealEd."

	#RB:none
	#Tests: none

	[CodeReviewed]: andrew.grant, dan.oconnor

Change 2926510 on 2016/03/29 by Andrew.Grant

	Potential fix for OR-18207 - editor becomes unresponsive (audio deadlock)
	#rb none
	#tests compiled

Change 2926495 on 2016/03/29 by Rob.Cannaday

	Change storing HTTP requests as raw pointers to weak pointers with validity being checked via Pinning it
	#jira FORT-18947
	#jira OR-17695
	#tests golden path
	#rb eric.newman

Change 2926427 on 2016/03/29 by Josh.Markiewicz

	#UE4 - fixed typo
	#rb none
	#tests none

Change 2926250 on 2016/03/29 by Martin.Mittring

	fixed OR-18489 HERO: IGGY: RMB on E ability causes blinding hair effect
	#rb:Chris.Bunner
	#codereview:Brian.Karis

Change 2926224 on 2016/03/29 by Daniel.Lamb

	Fix for potenital threading issue with Console manager removing vars which could cause double free.
	#rb Robert.Manuszewski
	#test Orion cook

Change 2926174 on 2016/03/29 by Gareth.Martin

	Cloned fix for bUseMaterialPositionOffsetInStaticLighting crashing across from //UE4/Dev-Landscape/ to unblock people
	#rb
	#tests editor

Change 2925968 on 2016/03/29 by David.Nikdel

	#MCP #OSS
	- Read RedirectUrl from ini

	#RB: Eric.Newman
	#TESTS: compiled in another branch (merge over)
	#ROBOMERGE: Main

[CL 2929424 by Andrew Grant in Main branch]
2016-03-31 15:18:30 -04:00
Robert Manuszewski
1ff335d148 Copying //UE4/Dev-Core to //UE4/Main
==========================
MAJOR FEATURES + CHANGES
==========================

Change 2877442 on 2016/02/23 by Graeme.Thornton@GThornton_DevCore

	Allow 'dumpnonframe' stat command to also take an optional group name which will filter the output

Change 2879289 on 2016/02/24 by Graeme.Thornton@GThornton_DevCore

	Removed "-" in switch string for load time tracker. Makes -NoLoadTrackClear cmd line param actually work

Change 2879323 on 2016/02/24 by Graeme.Thornton@GThornton_DevCore

	PC builds now log engine initialization time with the load time tracker

Change 2879418 on 2016/02/24 by Graeme.Thornton@GThornton_DevCore

	Optimization for FSignedArchiveReader
	 - Compute incoming data hash in parallel on another thread while we serialize and decrypt the signature on the chunk cache worker thread

Change 2879419 on 2016/02/24 by Graeme.Thornton@GThornton_DevCore

	Extra stats for PakFile group
	 - Time reading from pak handles
	 - Number of open pak handles

Change 2881199 on 2016/02/25 by Graeme.Thornton@GThornton_DevCore

	Use 32 bit CRCs to hash chunk contents rather than SHA1. Much faster to compute than SHA1, and the decrypting 4 bytes rather than 20 is also a lot faster

Change 2885687 on 2016/02/29 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1

	Close disregard for GC pool when disabling it to leave it in a good state.

Change 2887358 on 2016/03/01 by Steve.Robb@Dev-Core

	FlushCurrentThreadCache calls forwarded on from FMalloc wrappers.

Change 2887398 on 2016/03/01 by Steve.Robb@Dev-Core

	Stats for MallocBinned2.

Change 2887682 on 2016/03/01 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1

	Added code to catch game hangs. If game thread is stalled for more than 5 seconds we will catch that, report its callstack and crash.

Change 2889573 on 2016/03/02 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1

	Renamed the new StackWalkAndDump to ThreadStackWalkAndDump to avoid name collisions and build errors.

Change 2889687 on 2016/03/02 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1

	Send thread heartbeats during potentially slow tasks.

Change 2889963 on 2016/03/02 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1

	Added the ability to query the name of a thread given its TLS id.

Change 2890439 on 2016/03/02 by Steve.Robb@Dev-Core

	MallocBinned redirection header, to allow easy switching between MallocBinned and MallocBinned2.
	Switch back to MallocBinned by default.

Change 2891799 on 2016/03/03 by Steve.Robb@Dev-Core

	Shrunken GMallocBinned2MemSizeToIndex array.
	Improvement of some shared templated alignment-related functions.

Change 2891812 on 2016/03/03 by Graeme.Thornton@GThornton_DevCore

	Refactoring of pak signing to be more compatible with patching
	 - Store signatures in a block at the end of the pak file
	 - Optimize decryption of signatures by serializing them all when the pak is opened, and decrypting on the chunk cache worker thread between read requests.

Change 2891813 on 2016/03/03 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream2

	Don't compile UnrealPak with ICU

Change 2892386 on 2016/03/03 by Steve.Robb@Dev-Core

	GitHub #2070 - Fix incorrect FMallocDebug::Malloc alignment checking

Change 2894189 on 2016/03/04 by Steve.Robb@Dev-Core

	Memswap fixes for sizes of 3, 5, 6 and 7, and early out on 0.

Change 2894427 on 2016/03/04 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1

	Don't display message boxes in unattended mode when D3D device is removed.

Change 2896912 on 2016/03/07 by Graeme.Thornton@GThornton_DevCore

	Disable reading of anything outside the pak file when in shipping builds

Change 2897053 on 2016/03/07 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1

	A few improvements to thread heartbeat thread:
	- Don't check for heartbeat in debug builds
	- Don't spawn the thread heartbeat thread for programs
	- Ignore stalls when exiting

Change 2898752 on 2016/03/08 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1

	Fixing race conditions when using malloc verify

Change 2899075 on 2016/03/08 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1

	UnrealPak will now accept hex values for p and q. Added the command line param to trust p and q.

Change 2899091 on 2016/03/08 by Steve.Robb@Dev-Core

	Fix for TQueue::Peek const-correctness.

Change 2902775 on 2016/03/10 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1

	Adding code to test signature keys.

Change 2905040 on 2016/03/11 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1

	TBigInt Multiply is now 30x faster

Change 2905218 on 2016/03/11 by Steve.Robb@Dev-Core

	New FCString::Strspn and FCString::Strcspn functions.

[CL 2921423 by Robert Manuszewski in Main branch]
2016-03-24 13:53:55 -04:00
Jeff Campeau
99f996f5d6 Improve per target toolchain settings.
Fix project generation issues.
#lockdown Nick.Penwarden

[CL 2904250 by Jeff Campeau in Main branch]
2016-03-10 18:06:28 -05:00
Matthew Griffin
d9f2a9fd85 Copying //UE4/Dev-Build to //UE4/Main
==========================
MAJOR FEATURES + CHANGES
==========================

Change 2864843 on 2016/02/12 by Ben.Marsh

	Add individual 'status', 'outcome', and 'error_code' fields to parsed jobsteps. Should fix grid view not being able to display 'pending' icons.

Change 2865161 on 2016/02/12 by Ben.Marsh

	Stop storing a reference to UEBuildTarget from UEBuildModule. It creates an awkward cyclic data dependency, and makes it easy for people to write lazy code that just reaches into the internal state of the build.

Change 2865643 on 2016/02/12 by Ben.Marsh

	Rename UEBuildModuleType to UHTModuleType, and move implementation into ExternalExecution.

Change 2874408 on 2016/02/19 by Ben.Marsh

	Automatically sort nodes in the dashboard grid view by a weight derived from the node's order in the build graph, summed across all the jobs in which it was present.

Change 2879572 on 2016/02/24 by Ben.Marsh

	Allow spoofing a Git merge from a given commit, using a changelist description containing the tag "git merge <branch> <changelist>", where <branch> is the name of a branch on Git (eg. master, 4.11, etc..), and <changelist> is the changelist being merged in.

Change 2883216 on 2016/02/26 by Ben.Marsh

	Prevent Jira tickets being incorrectly updated with 'Main CL' fields which are after the 'Fix CL' fields.

Change 2883755 on 2016/02/26 by Ben.Marsh

	Fix solution files having a Shipping configuration, even when -NoShippingConfigs is passed on the command line.

Change 2886223 on 2016/02/29 by Ben.Marsh

	Ignore SignTool errors - we can recover from them.

Change 2887414 on 2016/03/01 by Ben.Marsh

	Dump all the *.crash files produced while running commandlets, to make it easier to diagnose build system crashes cooking on Mac.

Change 2888235 on 2016/03/01 by Ben.Marsh

	Add overloads for methods in FileFilter which take FileReference and DirectoryReference objects.

Change 2889602 on 2016/03/02 by Ben.Marsh

	Treat shaders as code in UGS. Don't sync them as part of content-only syncs, and don't allow syncing past them without updated binaries.

Change 2889610 on 2016/03/02 by Ben.Marsh

	Fix setting for using incremental builds not being saved. Also hide command to do incremental builds if the 'use incremental builds' option is not checked.

Change 2891866 on 2016/03/03 by Matthew.Griffin

	Removed Rocket specific batch files and made sure installed build won't try to include them
	Removed last use of RocketGenerateProjectFiles.sh by using UBT directly instead

Change 2893349 on 2016/03/03 by Ben.Marsh

	Add derived ReplicatedBranch to support mirroring the VR editor branch to GitHub.

Change 2894703 on 2016/03/04 by Ben.Marsh

	Include *.usf when looking for the last code changelist. Also update version to 1.68.

Change 2897991 on 2016/03/07 by Ben.Marsh

	Copy the changelist number to the clipboard when the user presses Ctrl-C. Update version number to 1.69.

Change 2898005 on 2016/03/07 by Ben.Marsh

	Minor changes to support BuildGraph:

	* UE4Build now has a static function that can update version files.
	* Adding FileReference/DirectoryReference methods to FileFilter and CommandUtils.
	* FileFilter treats any pattern containing a slash as implictly starting from the root directory, unless it begins with "...".

Change 2898095 on 2016/03/07 by Ben.Marsh

	UAT - Don't retry builds if we're using local executor; we don't encounter failures due to timeouts.

Change 2898248 on 2016/03/07 by Ben.Marsh

	UBT - Add the standard game include paths back in to plugin modules. Existing game code relies on this.

Change 2898615 on 2016/03/08 by Matthew.Griffin

	Removed last uses of RunningRocket function
	All seemed to be overly cautious about people using an Installed build to do non standard things, don't see any ill effects in the most common circumstances.

Change 2898681 on 2016/03/08 by Matthew.Griffin

	Removed Automation.RunningRocket function as there are no more uses
	Changed the majority of comments referencing Rocket mode that are now either about the engine being installed or from the Launcher etc.

#lockdown Nick.Penwarden

[CL 2898813 by Matthew Griffin in Main branch]
2016-03-08 09:00:48 -05:00