Commit Graph

14 Commits

Author SHA1 Message Date
Ben Marsh
30f891786a Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3847469)
#lockdown Nick.Penwarden
#rb none

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

Change 3805828 by Gil.Gribb

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

Change 3806784 by Ben.Marsh

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

Change 3807549 by Graeme.Thornton

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

Change 3807727 by Graeme.Thornton

	Unhide the text asset format experimental editor option

Change 3807746 by Josh.Engebretson

	Remove WER from iOS platform

Change 3807928 by Robert.Manuszewski

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

Change 3808221 by Steve.Robb

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

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

Change 3809233 by Graeme.Thornton

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

Change 3809518 by Ben.Marsh

	Remove the outdated UnrealSync automation script.

Change 3809643 by Steve.Robb

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

	#jira UE-53037

Change 3809862 by Steve.Robb

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

	#jira UE-42593

Change 3811190 by Graeme.Thornton

	Add support for writing specific log channels to their own files

Change 3811197 by Graeme.Thornton

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

Change 3811257 by Robert.Manuszewski

	Cluster creation will now be time-sliced

Change 3811565 by Steve.Robb

	Define out non-monolithic module functions.

Change 3812561 by Steve.Robb

	GitHub #3886 : Enable Brace-Initialization for Declaring Variables

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

	#jira UE-48242

Change 3812864 by Steve.Robb

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

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

	#jira UE-53089

Change 3820358 by Ben.Marsh

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


Change 3822594 by Ben.Marsh

	UAT: Improvements to log file handling.

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

Change 3823695 by Ben.Marsh

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

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

Change 3823845 by Ben.Marsh

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

Change 3824180 by Ben.Marsh

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

	#jira

Change 3825777 by Steve.Robb

	Fix to return value of StringToBytes.

Change 3825810 by Ben.Marsh

	UBT: Reduce length of include paths for MSVC toolchain.

Change 3825822 by Robert.Manuszewski

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

Change 3826734 by Ben.Marsh

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

Change 3827730 by Steve.Robb

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

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

Change 3827745 by Steve.Robb

	Initializer list support for TMap.

Change 3827770 by Steve.Robb

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

	#jira UE-53813

Change 3829189 by Ben.Marsh

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

Change 3830444 by Steve.Robb

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

Change 3830718 by Ben.Marsh

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

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

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

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

	#jira UE-53845

Change 3831064 by Ben.Marsh

	Fix log file contention when spawning UBT recursively.

Change 3832654 by Ben.Marsh

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

Change 3832680 by Ben.Marsh

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

Change 3832695 by Ben.Marsh

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

Change 3833528 by Ben.Marsh

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

Change 3833543 by Ben.Marsh

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

Change 3834354 by Robert.Manuszewski

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

	#jira UE-52035

Change 3834400 by Robert.Manuszewski

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

	#jira UE-52035

Change 3834947 by Steve.Robb

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

Change 3835004 by Ben.Marsh

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

Change 3835340 by Ben.Marsh

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

Change 3835972 by Ben.Marsh

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

Change 3836019 by Ben.Marsh

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

Change 3836269 by Ben.Marsh

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

Change 3836543 by Ben.Marsh

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

Change 3836546 by Ben.Marsh

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


Change 3836805 by Ben.Marsh

	Fix commandlet to compile marketplace plugins.

Change 3836829 by Ben.Marsh

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

Change 3837036 by Ben.Marsh

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

Change 3837037 by Ben.Marsh

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

Change 3837040 by Ben.Marsh

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

Change 3837247 by Ben.Marsh

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

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

Change 3837262 by Ben.Marsh

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

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

Change 3837343 by Ben.Marsh

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

Change 3837356 by Ben.Marsh

	Fix invalid character encodings.

Change 3837727 by Graeme.Thornton

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

Change 3837823 by Ben.Marsh

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

Change 3837831 by Graeme.Thornton

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

Change 3837857 by Robert.Manuszewski

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


Change 3837943 by Robert.Manuszewski

	PR #4405: Fix FGarbageCollectionTracer (Contributed by mhutch)


Change 3838451 by Ben.Marsh

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

	#jira UE-53996

Change 3839519 by Ben.Marsh

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

Change 3843790 by Graeme.Thornton

	UnrealPak: Log the size of all encrypted data

Change 3844258 by Ben.Marsh

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

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

	#jira UE-54157

Change 3845796 by Ben.Marsh

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

Change 3845823 by Ben.Marsh

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

	#jira UE-54123

Change 3845901 by Arciel.Rekman

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

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

	(Edigrating 3819174 to Dev-Core)

Change 3846439 by Ben.Marsh

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

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

Change 3816608 by Ben.Marsh

	UBT: Use DirectoryReference objects for all include paths.

Change 3816954 by Ben.Marsh

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

Change 3816986 by Ben.Marsh

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

Change 3816991 by Ben.Marsh

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

Change 3823090 by Ben.Marsh

	UAT: Improve logging for child UAT instances.

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

Change 3826082 by Ben.Marsh

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

Change 3827025 by Ben.Marsh

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

Change 3829927 by James.Hopkin

	Made HTTP interface const correct

Change 3833533 by Ben.Marsh

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

Change 3835826 by Ben.Marsh

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

Change 3835969 by Ben.Marsh

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

Change 3837777 by Steve.Robb

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

Change 3838569 by Steve.Robb

	Algo moved up a folder.

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

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

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

Change 3623004 by Ben.Marsh

	Fix RemoteExecutor not taking the remote machine specs into account.

Change 3623172 by Ben.Marsh

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

Change 3628820 by Ben.Marsh

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


Change 3630424 by Graeme.Thornton

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

Change 3632786 by Steve.Robb

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

Change 3639534 by Ben.Marsh

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

Change 3640536 by Steve.Robb

	GitHub #4007 : Delete unnecessary specialization of MakeArrayView

	#jira UE-49617

Change 3641155 by Gil.Gribb

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

Change 3643932 by Ben.Marsh

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

Change 3644825 by Ben.Marsh

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

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

Change 3647395 by Ben.Marsh

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

Change 3650300 by Ben.Marsh

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

Change 3650856 by Robert.Manuszewski

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

Change 3651022 by Gil.Gribb

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

Change 3658331 by Steve.Robb

	Fix for the parsing of large integer values.

Change 3661958 by Gil.Gribb

	UE4 - Fixed rare hang in task graph.

Change 3664021 by Robert.Manuszewski

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

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

Change 3664254 by Steve.Robb

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

Change 3664436 by Steve.Robb

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

Change 3666461 by Graeme.Thornton

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

Change 3666462 by Graeme.Thornton

	Cut ShooterGame AES key down to 32 characters

Change 3677560 by Ben.Marsh

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


Change 3683534 by Steve.Robb

	Refactoring of enum/struct lookup during hot reload.

Change 3683754 by Steve.Robb

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

Change 3686670 by Steve.Robb

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

Change 3687540 by Ben.Marsh

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

Change 3688931 by Gil.Gribb

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

Change 3690000 by Graeme.Thornton

	Manual copy of 4.18 CL 3687869

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

Change 3690030 by Graeme.Thornton

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

	#jira UE-50554

Change 3690885 by Steve.Robb

	Atomic reads in FReferenceControllerOps<ESPMode::ThreadSafe>.

Change 3691052 by Steve.Robb

	Free stats thread on shutdown.

Change 3695138 by Steve.Robb

	AsConst helper function added.

Change 3696627 by James.Hopkin

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

	(review-3606695)

Change 3697099 by Steve.Robb

	GitHub #4105 : Removed redundant class access modifier

Change 3697154 by Steve.Robb

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

Change 3697180 by Steve.Robb

	GitHub #4115 : Incorrect CPPMacroType used for USoftClassProperty

Change 3697239 by Steve.Robb

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

Change 3697269 by Steve.Robb

	RelocateConstructItems instead of MoveConstructItems.

Change 3697558 by Steve.Robb

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

Change 3699776 by Steve.Robb

	TSAN warning suppression around IAsyncReadRequest::bCompleteAndCallbackCalled.

Change 3702397 by Steve.Robb

	TIsTrivial type trait.

Change 3702569 by Steve.Robb

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

Change 3706644 by Robert.Manuszewski

	Different stack ingore count for development builds for FArchiveStackTrace

Change 3709272 by Steve.Robb

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

Change 3709452 by Robert.Manuszewski

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

Change 3709454 by Robert.Manuszewski

	Added command line option -NOEDL to disable EDL

Change 3709487 by Steve.Robb

	Remove use of PLATFORM_HAS_64BIT_ATOMICS, which is always 1.

Change 3709645 by Ben.Marsh

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

Change 3711193 by Ben.Marsh

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

	#jira UE-51487

Change 3713811 by Steve.Robb

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

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

	#jira UE-51472

Change 3715654 by Steve.Robb

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

Change 3718782 by Steve.Robb

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

Change 3720830 by Steve.Robb

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

Change 3720881 by Steve.Robb

	FCompression ThreadSanitizer data race fixes.

Change 3722640 by Graeme.Thornton

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

	#jira UE-51463

Change 3722655 by Steve.Robb

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

Change 3722754 by Steve.Robb

	Thread sanitizer fix.
	Small typo fix.

Change 3722849 by Graeme.Thornton

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

Change 3723081 by Steve.Robb

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

Change 3723270 by Ben.Marsh

	Include /d2cgsummary argument when running UBT with -Timing.

Change 3723683 by Ben.Marsh

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

Change 3725422 by Robert.Manuszewski

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

Change 3725735 by Robert.Manuszewski

	Making all CheckDefaultSubobjects related functions const

Change 3726167 by Steve.Robb

	FMinimalName::IsNone added.

Change 3726458 by Steve.Robb

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

Change 3726542 by Ben.Marsh

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

Change 3726595 by Ben.Marsh

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

Change 3726724 by Ben.Marsh

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

Change 3726959 by Ben.Marsh

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

Change 3728437 by Steve.Robb

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

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

Change 3732262 by Gil.Gribb

	UE4 - Fixed rare hangs in the task graph.

Change 3732755 by Steve.Robb

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

Change 3735000 by Robert.Manuszewski

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

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

Change 3735292 by Robert.Manuszewski

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

Change 3735332 by Steve.Robb

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

Change 3737960 by Graeme.Thornton

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

Change 3738398 by Graeme.Thornton

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

	#jira UE-51451

Change 3738405 by Graeme.Thornton

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

Change 3738928 by Steve.Robb

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

	#jira UE-51842

Change 3739135 by Ben.Marsh

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

	#jira UE-51855

Change 3739360 by Ben.Marsh

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

Change 3745959 by James.Hopkin

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

Change 3746125 by Steve.Robb

	FName ThreadSanitizer fixes.

Change 3747274 by Steve.Robb

	TSAN fix for FMediaTicker::Stopping.

Change 3747618 by Steve.Robb

	ThreadSanitizer data race fix for FShaderCompileThreadRunnableBase::bForceFinish.

Change 3747720 by Steve.Robb

	ThreadSanitizer fix for FMessageRouter::Stopping.

Change 3749207 by Graeme.Thornton

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

Change 3749323 by Graeme.Thornton

	Fix UAT crash when only -targetplatform is specifiied

Change 3749349 by Steve.Robb

	TSAN_SAFE guards around LockFreeList to silence ThreadSanitizer.

Change 3749617 by Steve.Robb

	Logf static_assert for formatting string enabled.

Change 3749897 by Steve.Robb

	FDebug::LogAssertFailedMessage static assert for formatting string enabled.

Change 3754011 by Steve.Robb

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

Change 3754227 by Ben.Marsh

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

	#jira UE-52226

Change 3754562 by Ben.Marsh

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


Change 3755616 by Graeme.Thornton

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

	#jira UE-46580

Change 3755666 by James.Hopkin

	Used ImplicitConv to remove Casts being used for up-casts

	#review-3745965

Change 3755671 by Graeme.Thornton

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

Change 3755672 by Graeme.Thornton

	Updating ShooterGame with new CryptoKeys based security setup

Change 3756778 by Ben.Marsh

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

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

Change 3758498 by Ben.Marsh

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

Change 3758921 by Steve.Robb

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

Change 3760599 by Graeme.Thornton

	Added missing epic header comment to some new source files

Change 3760642 by Steve.Robb

	ThreadSanitizer fix for concurrent access to GMainThreadBlockedOnRenderThread.

Change 3760669 by Graeme.Thornton

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

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

Change 3760711 by Steve.Robb

	ThreadSanitizer fixes to GIsRenderingThreadSuspended.

Change 3760739 by Steve.Robb

	ThreadSanitizer fix for FQueuedThread::TimeToDie.

Change 3760763 by Steve.Robb

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

Change 3760793 by Steve.Robb

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

Change 3760817 by Steve.Robb

	ThreadSanitizer fixes for FAsyncWriter::BufferStartPos and BufferEndPos.

Change 3761331 by Josh.Engebretson

	UnrealBuildTool enforcement of Development and Debug configurations in existing .csproj

	#jira UE-52416

Change 3761521 by Steve.Robb

	ThreadSanitizer fixes for FEvent::EventStartCycles and EventUniqueId.

Change 3763117 by Graeme.Thornton

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


Change 3763358 by Graeme.Thornton

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

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


Change 3764058 by Graeme.Thornton

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

	#jira UE-52359

Change 3764705 by Steve.Robb

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

Change 3764731 by Steve.Robb

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

Change 3765923 by Graeme.Thornton

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

Change 3766018 by Steve.Robb

	constexpr constructor for TAtomic.

Change 3766037 by Steve.Robb

	Misc tidyings in HotReload.cpp.

Change 3766046 by Steve.Robb

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

Change 3766288 by Steve.Robb

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

Change 3766374 by Josh.Engebretson

	Fix issue with ini quoted value comparison

	#jira UE-52066

Change 3766532 by Josh.Engebretson

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

Change 3766740 by Steve.Robb

	TMultiMap::Append added.

Change 3767523 by Steve.Robb

	ThreadSanitizer fix for UE4Delegates_Private::GNextID.

Change 3767601 by Steve.Robb

	ThreadSanitizer fix for FStats::GameThreadStatsFrame.

Change 3770567 by Ben.Marsh

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

Change 3770826 by Ben.Marsh

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

Change 3770875 by Steve.Robb

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

Change 3772167 by Ben.Marsh

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

Change 3772248 by Steve.Robb

	ThreadSanitizer fixes to FMalloc call counters.

Change 3772383 by Ben.Marsh

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

Change 3772906 by Graeme.Thornton

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

Change 3772932 by Ben.Marsh

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

Change 3772942 by Graeme.Thornton

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

Change 3772955 by Ben.Marsh

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

Change 3772963 by Ben.Marsh

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

Change 3773010 by Graeme.Thornton

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

Change 3773057 by Ben.Marsh

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

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

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

Change 3773118 by Steve.Robb

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

Change 3773122 by Steve.Robb

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

Change 3773123 by Steve.Robb

	Unit tests for TAtomic.

Change 3773138 by Steve.Robb

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

Change 3773166 by Steve.Robb

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

Change 3774216 by Gil.Gribb

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

Change 3774426 by Ben.Marsh

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

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

Change 3774658 by Ben.Marsh

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

Change 3775141 by Ben.Marsh

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

Change 3775459 by Ben.Marsh

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

Change 3775522 by Ben.Marsh

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

Change 3775597 by Ben.Marsh

	Fix post-build steps for plugins not being executed.

	#jira UE-52754

Change 3777895 by Graeme.Thornton

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

Change 3777931 by Graeme.Thornton

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

Change 3777942 by Graeme.Thornton

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

Change 3778084 by Graeme.Thornton

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

Change 3778096 by Graeme.Thornton

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

Change 3778389 by Josh.Engebretson

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

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

	#jira UE-52192

Change 3778701 by Josh.Engebretson

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

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

	#jira UE-40317

Change 3778832 by Chad.Garyet

	Adding enterprise path support for PCB's for UGS

Change 3780258 by Graeme.Thornton

	TextAssetCommandlet - Accumulate timings for loading packages and saving packages

Change 3780463 by Graeme.Thornton

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

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

Change 3780557 by Ben.Marsh

	Fix LoginFlow module not being precompiled for the binary release.

Change 3780846 by Josh.Engebretson

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

Change 3780863 by Ben.Marsh

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

Change 3780911 by Ben.Marsh

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

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

Change 3780956 by Josh.Engebretson

	Add support for ! (RemoveKey) config command to UBT

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

	#jira UE-52033

Change 3782957 by Robert.Manuszewski

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

Change 3784503 by Ben.Marsh

	Optimizations for FStructuredArchive:

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

Change 3784700 by Ben.Marsh

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

Change 3784989 by Ben.Marsh

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

Change 3786860 by Gil.Gribb

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

Change 3787159 by Ben.Marsh

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

Change 3787493 by Josh.Engebretson

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

	#PR 3995
	#jira 52913
	#jira 49503

Change 3787773 by Steve.Robb

	Fix for missing final values from FOREACH_ENUM_ macros.

Change 3788287 by Ben.Marsh

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

Change 3788678 by Ben.Marsh

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

Change 3789353 by Graeme.Thornton

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

Change 3789396 by Ben.Marsh

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

Change 3789772 by Ben.Marsh

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

Change 3790003 by Ben.Marsh

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

Change 3790051 by Steve.Robb

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

	#jira UE-20357
	#jira UE-52137

Change 3790709 by Steve.Robb

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

Change 3791422 by Ben.Marsh

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

Change 3791489 by Graeme.Thornton

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

Change 3792344 by Ben.Marsh

	Improvements to base64 encoding library.

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

Change 3792949 by Ben.Marsh

	TBA: Rename FAnnotatedArchiveFormatter to FAnnotatedStructuredArchiveFormatter.

Change 3794078 by Robert.Manuszewski

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

	#jira UE-52392

Change 3794413 by Ben.Marsh

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

Change 3794731 by Ben.Marsh

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

Change 3795081 by Ben.Marsh

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

Change 3795137 by Ben.Marsh

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

Change 3795247 by Ben.Marsh

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

	#jira UE-53174

Change 3796025 by Graeme.Thornton

	Fixed some deprecated "Definitions" warnings in OpenCV build files

Change 3796103 by Graeme.Thornton

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

Change 3796157 by Graeme.Thornton

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

	#jira UE-53206

Change 3796315 by Ben.Marsh

	Move Formatter to the correct position for initializer.

	#jira UE-53208

Change 3797082 by Ben.Marsh

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

	#jira UE-53232

Change 3799050 by Ben.Marsh

	Make UnrealPak.version files writable for Mac and Linux.

Change 3801012 by Graeme.Thornton

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

Change 3801214 by Gil.Gribb

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

	#jira UE-49600

Change 3801219 by Steve.Robb

	WeakObjectPtrs now warn when casting away const.

Change 3801299 by Graeme.Thornton

	Fix quote issue with foreign project build tasks on PC

Change 3803292 by Graeme.Thornton

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

Change 3803559 by Steve.Robb

	TSAN fix for FMalloc::MaxSingleAlloc.

Change 3803735 by Graeme.Thornton

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

Change 3803929 by Ben.Marsh

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

Change 3624590 by Steve.Robb

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

Change 3629473 by Ben.Marsh

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

Change 3632894 by Steve.Robb

	VARARG* macros deprecated and usage replaced with variadic templates.

Change 3640704 by Steve.Robb

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

Change 3650813 by Graeme.Thornton

	Removed FStartupPackages and associated code

Change 3651000 by Ben.Marsh

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

	#jira UE-49980

Change 3690842 by Steve.Robb

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

Change 3699416 by Steve.Robb

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

Change 3720812 by Steve.Robb

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

Change 3722698 by Steve.Robb

	VS debugger visualizers for TAtomic.

Change 3732270 by Steve.Robb

	Relaxed stores and loads.

Change 3749315 by Graeme.Thornton

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

	#jira UE-52034

Change 3750657 by Josh.Engebretson

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

	#jira UE-52207

Change 3758514 by Steve.Robb

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

Change 3763356 by Steve.Robb

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

Change 3770549 by Steve.Robb

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

Change 3770553 by Ben.Marsh

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

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

Change 3771105 by Steve.Robb

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

Change 3771520 by Steve.Robb

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

Change 3771564 by Steve.Robb

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

Change 3771613 by Steve.Robb

	EMIT_CUSTOM_WARNING_AT_LINE moved to ClangPlatformCompilerPreSetup.h.

Change 3772881 by Ben.Marsh

	Add support for serializing FName and UObject through FStructuredArchive.

	In order to allow custom linker behavior when serializing objects:

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

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

Change 3772941 by Graeme.Thornton

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

Change 3772972 by Ben.Marsh

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

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

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

Change 3773006 by Ben.Marsh

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

Change 3773013 by Steve.Robb

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

Change 3774499 by Ben.Marsh

	Minor fixes for FStructuredArchive related classes:

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

Change 3774600 by Ben.Marsh

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

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

Change 3789721 by Ben.Marsh

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

Change 3789920 by Ben.Marsh

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

	#jira UECORE-364

Change 3789982 by Ben.Marsh

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

Change 3792466 by Ben.Marsh

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

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

Change 3792935 by Ben.Marsh

	TBA: Rename FArchiveFormatter to FStructuredArchiveFormatter for consistency with FStructuredArchive.

Change 3795100 by Ben.Marsh

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

Change 3795106 by Ben.Marsh

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

Change 3796275 by Ben.Marsh

	Fix paths to Version.h includes from resource files.

Change 3800683 by Josh.Engebretson

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

Change 3803545 by Steve.Robb

	TWeakObjPtr const-dropping assignment fix.
	Fixes to change.

[CL 3805231 by Ben Marsh in Main branch]
2017-12-12 18:32:45 -05:00
Marc Audy
eaccf4135c Copying //UE4/Dev-Framework to //UE4/Dev-Main (Source: //UE4/Dev-Framework @ 3582324)
#lockdown Nick.Penwarden
#rb none
#rnx

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

Change 3431439 by Marc.Audy

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

Change 3457323 by Marc.Audy

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

	#jira UE-45087

Change 3499927 by Dan.Oconnor

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

	#jira UE-43458

Change 3502939 by Michael.Noland

	Back out changelist 3499927

Change 3522783 by Zak.Middleton

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

Change 3544641 by Dan.Oconnor

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

	#jira OR-38176

Change 3544645 by Dan.Oconnor

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

Change 3545023 by Marc.Audy

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

Change 3545025 by Marc.Audy

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

Change 3545455 by Ben.Zeigler

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

Change 3545456 by Ben.Zeigler

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

Change 3545547 by Ben.Zeigler

	CIS Fix

Change 3545568 by Michael.Noland

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

	#jira UE-46845

Change 3545582 by Michael.Noland

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

Change 3546528 by Ben.Zeigler

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

Change 3546544 by Marc.Audy

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

Change 3546551 by Marc.Audy

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

Change 3547152 by Marc.Audy

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

Change 3547438 by Marc.Audy

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

Change 3547501 by Ben.Zeigler

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

Change 3551185 by Ben.Zeigler

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

Change 3551723 by Ben.Zeigler

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

Change 3553216 by Phillip.Kavan

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

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

Change 3553301 by Ben.Zeigler

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

Change 3553631 by Dan.Oconnor

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

	#jira UE-43458

Change 3553799 by Ben.Zeigler

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

Change 3553896 by Michael.Noland

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

Change 3553897 by Michael.Noland

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

Change 3553898 by Michael.Noland

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

Change 3553909 by Michael.Noland

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

Change 3554517 by Michael.Noland

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

Change 3554664 by Michael.Noland

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

	#jira UE-27121

Change 3554831 by Dan.Oconnor

	Non editor build fix

Change 3554834 by Dan.Oconnor

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

	#jira UE-40438

Change 3556157 by Ben.Zeigler

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

Change 3557775 by Michael.Noland

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

Change 3557777 by Michael.Noland

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

Change 3560510 by Michael.Noland

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

Change 3560563 by Michael.Noland

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

Change 3561443 by Ben.Zeigler

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

Change 3561658 by Michael.Noland

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

Change 3562291 by Ben.Zeigler

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

Change 3562292 by Ben.Zeigler

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

Change 3564814 by Ben.Zeigler

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

Change 3566707 by Dan.Oconnor

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

	#jira None

Change 3566717 by Michael.Noland

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

Change 3566771 by Michael.Noland

	Editor: Fixing deprecation warning

	#jira UE-47922

Change 3567023 by Michael.Noland

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

Change 3567304 by Ben.Zeigler

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

Change 3567398 by Ben.Zeigler

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

Change 3567729 by Michael.Noland

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

Change 3567739 by Ben.Zeigler

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

Change 3567741 by Ben.Zeigler

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

Change 3568332 by Mieszko.Zielinski

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

	#jira UE-47948

Change 3568676 by Michael.Noland

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

	#jira UE-20036

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

Change 3569128 by Michael.Noland

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

Change 3569207 by Michael.Noland

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

Change 3569208 by Michael.Noland

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

Change 3569209 by Michael.Noland

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

Change 3570177 by Michael.Noland

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

	#jira UE-47962

Change 3570179 by Michael.Noland

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

Change 3570192 by Michael.Noland

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

Change 3571203 by Michael.Noland

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

Change 3571224 by Michael.Noland

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

	#jira UE-29848
	#jira UE-34698

Change 3571279 by Michael.Noland

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

Change 3571282 by Michael.Noland

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

Change 3571284 by Michael.Noland

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

Change 3571311 by Ben.Zeigler

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

Change 3571313 by Ben.Zeigler

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

Change 3571485 by mason.seay

	Test map for Make Set bug

Change 3571501 by Ben.Zeigler

	Accidentally undid the UHT fixup for TAssetPtr during my bulk rename

Change 3571531 by Ben.Zeigler

	Fix warning messages

Change 3571591 by Michael.Noland

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

Change 3572938 by Michael.Noland

	Blueprints: Fixed a typo in a set function comment

	#jira UE-48036

Change 3572941 by Michael.Noland

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

Change 3574816 by mason.seay

	Renamed asset to better reflect name of object reference

Change 3574985 by mason.seay

	Updated comments and string outputs to list Soft Object Reference

Change 3575740 by Ben.Zeigler

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

Change 3575795 by Ben.Zeigler

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

Change 3576374 by mason.seay

	Forgot to submit the deleting of a redirector

Change 3576966 by Ben.Zeigler

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

Change 3577002 by Marc.Audy

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

Change 3577232 by Phillip.Kavan

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

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

Change 3577710 by Dan.Oconnor

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

Change 3577723 by Dan.Oconnor

	Prevent deferring of classes that are needed to load subobjects

	#jira UE-47726

Change 3577741 by Dan.Oconnor

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

Change 3578938 by Ben.Zeigler

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

Change 3578947 by Marc.Audy

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

Change 3578952 by Ben.Zeigler

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

Change 3579315 by mason.seay

	Test map for Make Container nodes

Change 3579600 by Ben.Zeigler

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

Change 3579601 by Ben.Zeigler

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

Change 3579713 by Dan.Oconnor

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

Change 3579719 by Dan.Oconnor

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

	#jira UE-48240

Change 3579745 by Michael.Noland

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

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

	#jira UE-31557

Change 3579795 by Michael.Noland

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

Change 3580463 by Marc.Audy

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

Change 3581073 by Marc.Audy

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

Change 3581156 by Ben.Zeigler

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

Change 3581473 by Ben.Zeigler

	Properly turn off optimization for PS4 test

Change 3582094 by Marc.Audy

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

Change 3582157 by Marc.Audy

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

Change 3582289 by Marc.Audy

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

Change 3545435 by Ben.Zeigler

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

Change 3567760 by Ben.Zeigler

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

Change 3575737 by Ben.Zeigler

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

Change 3578806 by Marc.Audy

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

[CL 3582334 by Marc Audy in Main branch]
2017-08-11 12:43:42 -04:00
Ben Marsh
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
Matthew Griffin
b159571760 Copying //UE4/Release-Staging-4.15 to //UE4/Dev-Main (Source: //UE4/Release-4.15 @ 3267632)
#lockdown Nick.Penwarden
#rb none

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

Change 3267632 on 2017/01/23 by Jurre.deBaare

	Marker syncs not working correctly in Blend Spaces
	#fix Ensure that SampleIndexWithMarkers is serialized
	#JIRA UE-40975

Change 3266915 on 2017/01/20 by Arciel.Rekman

	Fix Persona crash on Linux (UE-38790).

	- Static template variable got instantiated into multiple DSOs; probably exacerbated by --as-needed since this does not happen without it.

	#jira UE-38790

Change 3266785 on 2017/01/20 by Ian.Fox

	#OnlineSubsystemLive - Make usage of CachedUsers thread safe.  Duplicates CL 3245390
	#jira UE-40649

Change 3266762 on 2017/01/20 by Rolando.Caloca

	UE4.15 - Fix for reallocating scene color
	#jira UE-40633

Change 3266642 on 2017/01/20 by Lina.Halper

	Downgraded Warning to Info

	#jira: UE-40643

Change 3266532 on 2017/01/20 by Jeff.Campeau

	Fix multiplatform Windows includes defeating the safety check in MinWindows.h

	#jira UE-40778
	#rn Fixed a compile warning on Xbox One when XboxOneMinApi.h was included before MinWindows.h.

Change 3266523 on 2017/01/20 by Marc.Audy

	Fix case where child actor could avoid getting begin play call
	#jira UE-40960

Change 3266474 on 2017/01/20 by Peter.Sauerbrei

	fix for using an API not yet available in iOS 8
	#jira UE-40698

Change 3266339 on 2017/01/20 by Frank.Fella

	Sequencer - Fix UI issues with multi-track section rows.
	+ Don't show an empty sub-track when there are no sections.
	+ Expand parent tracks by default.

	#Jira UE-40487

Change 3266283 on 2017/01/20 by Jeff.Fisher

	UE-40683 GearVR projects rendering black
	-Fix from Remi Palandri
	#jira UE-40683
	#review-3265824 @nick.whiting @ryan.vance

Change 3266264 on 2017/01/20 by Lina.Halper

	Downgraded warning and changed log message

	#jira: UE-40643

Change 3266239 on 2017/01/20 by Peter.Sauerbrei

	fix for virtual joystick not showing up on some devices
	#jira UE-40472

Change 3266084 on 2017/01/20 by Mitchell.Wilson

	Resaving level to have correct starting camera position. Saved in wrong position after fixing a bug.
	#jira UE-40887

Change 3266077 on 2017/01/20 by Matt.Kuhlenschmidt

	Fixed "Wait for Movies to Complete" flag being reversed

	#jira UE-40943

Change 3266076 on 2017/01/20 by Mitchell.Wilson

	Updating occulsion bounds method on P_spark_burst_2 so it is not occluded when spawned inside of the coin mesh in BP_Overview example.
	Updating some post process examples due to changes made with Post Process settings. Film and Scene Color are temporary fixes and are intended to be fully updated in 4.16
	#jira UE-40830 UE-40887

Change 3266034 on 2017/01/20 by Benn.Gallagher

	Fixed crash when reimporting APEX destructibles from apb/x files caused by not allowing the renderer to flush destroy resource commands before emptying an array.
	#jira UE-40911

Change 3266027 on 2017/01/20 by Ian.Fox

	#OnlineSubsystemLive - Fix CreateSession and FindSession each permanently failing after first failure.  Duplicates CL 3262175
	#jira UE-39110

Change 3265906 on 2017/01/20 by Marcus.Wassmer

	Fix GPU particle AFR flickering and optimize injection transfers.
	Duplicate CL's 3260302, 3261252, 3265662, 3265678
	#jira UE-40915

Change 3265873 on 2017/01/20 by Mark.Satterthwaite

	Duplicate CL #3262535:
	Make sure to set rasterizer state when rendering with a material in FSlateRHIRenderingPolicy::DrawElements
	#jira UE-40842

Change 3265857 on 2017/01/20 by Jamie.Dale

	Fixed font pathing issue that could happen in an out-of-source packaged build

	#jira UE-40855

Change 3265675 on 2017/01/20 by Matt.Kuhlenschmidt

	Move Dirt Mask Intensity to the correct post process category

	#jira UE-40851

Change 3265674 on 2017/01/20 by Rolando.Caloca

	UE4.15 - Revert
	#jira UE-40633

Change 3265647 on 2017/01/20 by Mitchell.Wilson

	Updating spawn location of the player pawn after unpossessing character in example 1.10.
	#jira UE-40870

Change 3265612 on 2017/01/20 by Alexis.Matte

	Prevent name clash warning when doing automation test
	#jira UE-40788

Change 3265553 on 2017/01/20 by Matthew.Griffin

	Fixed Shadow variable warning

Change 3265366 on 2017/01/20 by Dmitriy.Dyomin

	Fixed: Vulkan crashes on Adreno Galaxy S7
	#jira UE-40840

Change 3265294 on 2017/01/19 by Dmitriy.Dyomin

	Fixed typo which was causing assert on mobile
	#jira UE-40633

Change 3265111 on 2017/01/19 by Rolando.Caloca

	UE4.15 - Fix for scene color crash
	#jira UE-40633

Change 3264789 on 2017/01/19 by Josh.Adams

	- Redoing a fix from Dev-Plat for UI_BUILD_SHIPPING_EDITOR
	#jira UE-40798

Change 3264780 on 2017/01/19 by Rolando.Caloca

	UE4.15 - Add Morph compute GPU stat
	#jira UE-40891

Change 3264486 on 2017/01/19 by Mark.Satterthwaite

	Fix the crash on startup on Intel GPUs - this is due to Intel Metal forcing SM4 to avoid some drivers bugs in SM5 but I got the condition for initialisation in FMinimalDummyForwardLightingResources wrong so it's attempting to create a RWBuffer for SM4 which won't work.
	#jira UE-40863

Change 3264427 on 2017/01/19 by Rolando.Caloca

	UE4.15 - Track down crash
	#jira UE-40633

Change 3264393 on 2017/01/19 by Aaron.McLeran

	#jira UE-40850

	Re-fixing UE-39650 again in 4.15.

	I hope this bug doesn't regress yet again!

Change 3264364 on 2017/01/19 by Daniel.Wright

	In forward shading SceneCaptureSource modes Normal and BaseColor are replaced with SceneColorHDR as the GBuffer is not available.  This is a silent failure for now as there's no good content error reporting mechanism for scene captures.
	#jira UE-39658

Change 3264284 on 2017/01/19 by Mark.Satterthwaite

	Duplicate CL #3264251:
	Modify some asserts in MetalRHI - technically using a store-action of ENoAction on Stencil buffers should make it invalid to restart a render-pass but on Mac it will work because ENoAction won't invalidate anything written. In future we need to use deferred store-actions in Metal so that we can "restart" passes while enforcing correct Load/Store actions.
	#jira UE-40803

Change 3264282 on 2017/01/19 by Benn.Gallagher

	CIS fix, bad expression that failed to compile Mac
	#jira UE-40716

Change 3264257 on 2017/01/19 by Mike.Beach

	Revising fix in UBlueprint::BeginCacheForCookedPlatformData(), saving off nativization data if the -nativizeAssets param is present (not just if it was enabled in packaging settings).

	#jira UE-40620

Change 3264242 on 2017/01/19 by Daniel.Wright

	[Copy] Sharing IndirectLightingCacheTextureSampler samplers
	#jira UE-40727

Change 3264191 on 2017/01/19 by Ori.Cohen

	Fix heightfield not working with traces underneath.

	#JIRA UE-39819

Change 3264139 on 2017/01/19 by Benn.Gallagher

	Removed collision between clothing in external skeletal mesh components, as clothing simulations could already be in flight and editing collisions while the simulation is running is not supported by APEX
	#jira UE-40716

Change 3264110 on 2017/01/19 by Max.Preussner

	MfMedia: Disabled plug-in on Windows 10, because it is currently broken

	#jira UE-406344

Change 3264108 on 2017/01/19 by Max.Preussner

	MfMedia: Fixed compile errors on Windows 10

	#jira UE-40644

Change 3264099 on 2017/01/19 by Jamie.Dale

	Adding deprecation warning for 4.14 style PO export

	#jira UE-40592

Change 3264089 on 2017/01/19 by Matthew.Griffin

	Reworked DDC commandlet to make sure it actually calls BeginCacheForCookedPlatformData on assets
	Skip doing this for Engine content if -ProjectOnly is set as that takes a long time and isn't necessary for the way we use it
	#jira UE-39968

Change 3264065 on 2017/01/19 by James.Golding

	Fix ModifyCurve node not calling init/update in SourcePose
	#jira UE-40852

Change 3263729 on 2017/01/19 by Alexis.Matte

	Fix a bad condition when filling the material sorting array
	#jira UE-40814

Change 3263704 on 2017/01/19 by Jack.Porter

	Fix compile error in AndroidESDeferredOpenGL.cpp when  " ES Deferred Shading Renderer" is enabled.
	#jira UE-40659

Change 3263627 on 2017/01/19 by Jack.Porter

	Fixed black textures when Vulkan is packaged for ETC1
	#jira UE-40658

Change 3263554 on 2017/01/19 by Jack.Porter

	Fixes to HISMC LOD to use new screen size calculation. Solves issue where HISMC was always rendered at lowest LOD.
	#jira UE-38930

Change 3263535 on 2017/01/19 by Matthew.Griffin

	Removed unnecessary directories to always cook
	Problem was actually down to string asset references not being resolved in file set generation

Change 3263534 on 2017/01/19 by Matthew.Griffin

	Added -SkipPublish parameter to BuildLauncherSample command so that we don't chunk and post preflights

Change 3263267 on 2017/01/18 by Dan.Oconnor

	Fix for editing of TMap/TSet variables in structure editor, async tasks, and when using UK2Node_CommutativeAssociativeBinaryOperator.
	#jira UE-40428

Change 3263219 on 2017/01/18 by Dan.Oconnor

	Fix copy paste error found by UDN user Craig.Wright that could result in fatal bytecode execution
	#jira UE-19425

Change 3262980 on 2017/01/18 by Maciej.Mroz

	#jira UE-40394, UE-40395, UE-40426, UE-40484, UE-40770

	Integrated cl 3262851, 3261613, 3260908 from Dev-Blueprint

Change 3262908 on 2017/01/18 by Ori.Cohen

	When refreshing physics assets, don't do so on components that have no bodies.

	#JIRA UE-40764

Change 3262709 on 2017/01/18 by Matt.Kuhlenschmidt

	Fix a crash if a background blur widget ends up being negative or zero sized

	#jira UE-40820

Change 3262606 on 2017/01/18 by Marc.Audy

	Don't bother the user with force feedback based on where the unpossessed pawn is standing in the world while in simulate mode
	#jira UE-40785

Change 3262416 on 2017/01/18 by Marc.Audy

	Reenable audio threading
	#jira UE-00000

Change 3262125 on 2017/01/18 by Chris.Wood

	Fixed unnecessary truncate in SMenuAnchor::Tick that caused menu placement to wobble
	[UE-40293] - Dropdown selection box jitters when mouse is moved over top of it on Mac

	#jira UE-40293

Change 3262103 on 2017/01/18 by Jamie.Dale

	Merging some cooker fixes

	CL# 3262089 - Fixing RedirectCollector issues with projects outside the UE4 directory
	CL# 3262091 - Guarding against potentially invalid call to FString::Mid
	CL# 3262094 - Cook on the fly builds now resolve string asset references

	#jira UE-40790

Change 3262082 on 2017/01/18 by Chris.Bunner

	Accumulate used particle materials from final mesh material module, not first.
	#jira UE-39953

Change 3261996 on 2017/01/18 by Matthew.Griffin

	Allow Samples to be built in pre-flights if you are specifying an engine version

Change 3261995 on 2017/01/18 by Matthew.Griffin

	Resolve string asset references after loading packages to ensure that we find all required files

Change 3261934 on 2017/01/18 by Allan.Bentham

	Bump shader version to force changes in 3260307 to occur.
	#jira UE-39701

Change 3261842 on 2017/01/18 by Graeme.Thornton

	Manual copy of CL 3253580 from Dev-Core

	Added some validation of the class index in exportmap entries

	#jira UE-37873

Change 3261017 on 2017/01/17 by Mitchell.Wilson

	Resaving all levels to resolve short form string asset reference warnings.
	#jira UE-40732

Change 3260918 on 2017/01/17 by Andrew.Rodham

	Sequencer: Request unloaded levels to be loaded when being made visible through sequencer

	#jira UE-40082

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

	Fix error running "Clean" in installed build.

	#jira UE-40751

Change 3260757 on 2017/01/17 by Jeff.Fisher

	UE-39654 Crash when launching Google VR project
	-Via SwitchGameWindowToUseGameViewport we get an early ResizeViewport which does an early Draw.  This calls GetStereoProjectionMatrix before the game has ticked and fetched the device info we use to build that matrix.
	-In this change we make the call to setup that information in the GoogleVRHMD constructor, to ensure it is done before anything tries to use it.
	-I also added some asserts.
	#jira UE-39654
	#review-3260644

Change 3260637 on 2017/01/17 by Alexis.Matte

	Fix crash when importing skeletal mesh containing a texture or a material using the same name.
	#jira UE-40538

Change 3260630 on 2017/01/17 by Marc.Audy

	When installing a feature pack maintain the include of the template so that any properties inside it are not lost by replacing it with the project's PCH include
	Update all C++ feature packs to include the original project .h in the files that are copied in to the new project
	#jira UE-40730

Change 3260600 on 2017/01/17 by matt.barnes

	Test content for sequencer event tracks

	#jira UE-29618

Change 3260593 on 2017/01/17 by Mieszko.Zielinski

	Made FSupportedAreaData export as part of engine API #UE4

	#jira UE-40739

Change 3260538 on 2017/01/17 by Marc.Audy

	Always display axes in debug info, but show -- for value when we don't yet know the ranges
	#jira UE-40700

Change 3260422 on 2017/01/17 by Marc.Audy

	Expose level streaming incremental unregister component cvars in the engine streaming section of the project settings
	#jira UE-10109

Change 3260392 on 2017/01/17 by Ben.Woodhouse

	Duplicated from CL 3260107:
	Fix FMonitoredProcess to prevent infinite loop in -nothreading mode
	#jira UE-40717

Change 3260358 on 2017/01/17 by Chris.Bunner

	Only validate tonemapper LUT input if actually hooked up.
	#jira UE-40467

Change 3260327 on 2017/01/17 by Frank.Fella

	PlatformMediaSource - Fix Validate to check all specified media sources, and change GetURL to get the url for the current platform when running uncooked.

	#jira UE-40709

Change 3260307 on 2017/01/17 by Allan.Bentham

	Restore metal compiler's shader source serialization code when the shader is to be compiled at runtime.
	#jira UE-39701

Change 3260276 on 2017/01/17 by Alex.Delesky

	#jira UE-40276 - Fixing an issue where a Standalone game launched from the editor cannot toggle fullscreen mode.

Change 3260274 on 2017/01/17 by Chris.Wood

	Added check for null World ptr in AActor::PostEditChangeProperty to fix crash when pasting temporary Actors
	[UE-40492] - Crash after ejecting from PIE session and selecting a component in the details panel

	#jira UE-40492

Change 3260230 on 2017/01/17 by Ben.Woodhouse

	Duplicated from dev-rendering@3232283
	D3D12 - downgrade root signature size warning to a log following a discussion with Microsoft. There's not much we can actually do about it, and it's not relevant to all hardware
	#jira UE-36999

Change 3260096 on 2017/01/17 by Thomas.Sarkanen

	Fixed crash when rendering out a level sequence with layered animations

	When a level contained sequences with layered animations that *werent* taking part in the render (i.e. they were not part of the current master sequence) then their instances were initialized but not ticked. When their components then got a call to evaluate their bone transforms, the cached blends were in an uninitialized state.

	#jira UE-40654 - Render Movie using separate process crashes capture process

Change 3259875 on 2017/01/17 by Dmitriy.Dyomin

	Fixed: SunTemple is washed out in one color on some Android devices
	#jira UE-40689

Change 3259011 on 2017/01/16 by Max.Chen

	Matinee to Level Sequence: Make RegisterTrackConverters pure virtual

	#jira UE-37328

Change 3258992 on 2017/01/16 by Rolando.Caloca

	UE4.15 - Integrate fix for outlines (3258807)
	#jira UE-40690

Change 3258949 on 2017/01/16 by mason.seay

	Disabled TranslatedMass test

	#jira UE-29618

Change 3258860 on 2017/01/16 by Max.Preussner

	Media: Prevent loading of media plug-ins in console apps, such as game servers (OR-34819)

	#jira OR-34819

Change 3258846 on 2017/01/16 by Max.Preussner

	MfMedia: Fixed incorrect tracks being played in multi-track media sources (UE-39703)

	#jira UE-39703

Change 3258813 on 2017/01/16 by Benn.Gallagher

	Added error on import for APEX clothing files that either have no submeshes or have no submeshes with simulated vertices.
	#jira UE-40614

Change 3258771 on 2017/01/16 by James.Golding

	Skip fatal warning in UBodySetup::Serialize if duplicating (e.g. spawning component via SCS with a BodySetup in its template)
	#jira UE-40418

Change 3258747 on 2017/01/16 by Max.Chen

	Sequencer: AddUnique SequencerActorTag to prevent multiple tags being added when spawning/despawning.

	#jira UE-40665

Change 3258630 on 2017/01/16 by Jurre.deBaare

	CIS IfDef issue fix
	#JIRA UE-1234

Change 3258541 on 2017/01/16 by Phillip.Kavan

	[UE-40131] Revised fix that will work for "inclusive" BP nativization with data-only BPs.

	change summary:
	- revised code in UBlueprint::BeginCacheForCookedPlatformData() to also support the "inclusive" nativization method

	#jira UE-40131

Change 3258532 on 2017/01/16 by Max.Chen

	Sequencer: Fix max row index off by one error . This was always incorrect, but it was masked by the fact that FixRowIndices() was called on the track when the UI gets built. That function was removed from the node layer in CL #3252753 and therefore exposed this bug.

	#jira UE-40642

Change 3258505 on 2017/01/16 by Marc.Audy

	Improve messaging when installing vehicle and vehicle adv C++ feature packs
	#jira UE-40647

Change 3258478 on 2017/01/16 by Matt.Kuhlenschmidt

	PR #3131: UE-40567: Added nullcheck to FSplinePointDetails (Contributed by projectgheist)

	#jira UE-40567

Change 3258457 on 2017/01/16 by Jurre.deBaare

	SpeedTree Billboards rendering with Incorrect Material

	#fix Ensure that we add a section info entry for the billboard models/lods during SpeedTree importing
	#jira UE-39677

Change 3258442 on 2017/01/16 by Alexis.Matte

	Skeletalmesh import, make sure we increment the lod index when animation is not imported
	#jira UE-40640

Change 3258431 on 2017/01/16 by Jurre.deBaare

	Back out changelist 3258392
	#fix issue was already resolved
	#jira UE-1234

Change 3258392 on 2017/01/16 by Jurre.deBaare

	Fix for non-unity CIS
	#JIRA UE-1234

Change 3258358 on 2017/01/16 by Matthew.Griffin

	Prevent warning from being shown when XMPP module is not built
	#jira UE-40616
	(I guess LoadModule could be changed to LoadModuleChecked now if they do exist)

Change 3258144 on 2017/01/15 by Marc.Audy

	Fix non-unity CIS errors
	#jira UE-00000

Change 3258141 on 2017/01/15 by zachary.wilson

	Adding testing content for Distance Field Indirect Shadows

	#jira UE-29618

Change 3258049 on 2017/01/14 by Nick.Shin

	UFE sent incorrect header data on missing file

	also, it seems that UFE was written to expect clients to close the connection -- (this should be closed manually -- which will flush the data and then close out the socket -- but, since this is a developer tool... leaving this as-is)

	first, 404 was not sending the required double newline after headers
	second, since connection are not closed manually (server side) send a dummy payload with content-length data

	#jira UE-39992 Quicklaunch UFE HTML5 fails with "NS_ERROR_Failure"

Change 3257984 on 2017/01/14 by Aaron.McLeran

	Attempting another fix for static analysis warning in CIS

	#jira UE-40645

Change 3257904 on 2017/01/14 by Aaron.McLeran

	Resolving static analysis warnings reported by CIS

	#jira UE-40645

Change 3257883 on 2017/01/14 by Aaron.McLeran

	Fixing build warning with CL 3257826

	#jira UE-40645

Change 3257826 on 2017/01/13 by Aaron.McLeran

	Integrating fixes from Dev-Framework and Odin to Release-415

	#jira UE-40645

Change 3257654 on 2017/01/13 by Marc.Audy

	Until plugins can drive their own dependencies vehicle and vehicle adv feature packs will not compile automatically and will pop up a message log informing the user of the actions they need to manually take.
	#jira UE-40466

Change 3257608 on 2017/01/13 by John.Pollard

	PC: Assertion Fail with UPackageMapClient::AddNetFieldExportGroup() viewing replays

	#jira OR-34522

Change 3257489 on 2017/01/13 by Mitchell.Wilson

	Removing preview mesh from multiple materials to resolve CIS warnings.
	#jira UE-40628

Change 3257485 on 2017/01/13 by Chris.Babcock

	Don't initialize FMinimalDummyForwardLightingResources for unneeded feature levels (below SM4)
	#jira UE-40602
	#ue4
	#android

Change 3257444 on 2017/01/13 by Matt.Barnes

	Updating test assets for UEQATC-2967

	#jira UE-29618

Change 3257324 on 2017/01/13 by Arciel.Rekman

	Linux: Update runtime CEF lib as well (UE-401413).

	- Followup to CL 3256081.

	#jira UE-40413

	(Merging CL 3257241 from Dev-Platform to Release-4.15)

Change 3257140 on 2017/01/13 by Lina.Halper

	Fix crash with deleting all poses

	#jira: UE-40537

Change 3257066 on 2017/01/13 by Jurre.deBaare

	CIS fix for game builds
	#jira UE-1234

Change 3257056 on 2017/01/13 by Ben.Zeigler

	#jira UE-40318 Fix crash in streamablemanager where callbacks would get called on a deleted manager.
	This is being rewritten in 4.16, so do a quick fix for 4.15 to avoid the crash

Change 3256839 on 2017/01/13 by Jurre.deBaare

	Added conversion of HLOD transition screen size to new transition screen area values
	#fix During serialization patch up the values of transition screen size within the hierarchical lod setups
	#misc Updated the default value to a screen size to screen area equivalent
	#JIRA UE-40518

Change 3256761 on 2017/01/13 by Mieszko.Zielinski

	Fixed EQS debug rendering not clearing previously displayed labels if new request has no labels #UE4

	#jira UE-40589

Change 3256177 on 2017/01/12 by Josh.Adams

	- Moved the MfMedia plugin outside of XboxOne directory, because it's a Windows plugin as well (that happens to also work on XboxOne - all public APIs)
	#jira UE-40391

Change 3256131 on 2017/01/12 by Jamie.Dale

	Fixing log spam when trying to load an empty font data

	#jira UE-40555

Change 3256081 on 2017/01/12 by Arciel.Rekman

	Fixed CEF compatibility problems on Ubuntu 14.04 (UE-40413).

	- Also deleted Debug version of it.
	- Change by yaakuro.

	#jira UE-40413

	(Edigrating CL 3256065 from Dev-Platform to Release-4.15)

Change 3256046 on 2017/01/12 by Jon.Nabozny

	Use PxConvexFlag::eSHIFT_VERTICES when cooking meshes to fix baked in transforms.

	#jira UE-39212

Change 3255939 on 2017/01/12 by mason.seay

	Rebuilt lighting

	#jira UE-29618

Change 3255912 on 2017/01/12 by Olaf.Piesche

	Replicating fix from 3246828 for
	#jira UE-39249

Change 3255909 on 2017/01/12 by Rolando.Caloca

	UE4.15 - Support for choosing discrete AMD GPU
	#jira UE-40546

Change 3255835 on 2017/01/12 by Martin.Wilson

	Fix newly added virtual bones not being on screen.

	#jira UE-40516

Change 3255774 on 2017/01/12 by Mark.Satterthwaite

	Merging 3251926 for Richard.Wallis:
	#jira UE-38828

	Crash after Enabling Forward Shading on Mac and Creating/Editing Materials.

	Using TGlobalResource to avoid constant resource allocation.  Prev fix (in CL 3239454) caused a crash in D3D11 with zero sized resource views.

Change 3255771 on 2017/01/12 by Alexis.Matte

	Fix a crash when re-importing asset with no material
	#jira UE-40510

Change 3255746 on 2017/01/12 by Jon.Nabozny

	Change _DEBUG to PX_DEBUG in ConvexHullLib.cpp

	#jira UE-0000

Change 3255659 on 2017/01/12 by Jon.Nabozny

	Enable Shifting Vertices during Convex Hull cooking to prevent precision issues.

	(Copied CL-3249100 from Dev-Phyics-Upgrade to support new flag)

	#jira UE-39212

Change 3255617 on 2017/01/12 by Ori.Cohen

	Fix crash when computing mass for an async object. Using passed in rigid body instead of assuming SyncRigidActor

	#JIRA UE-40458

Change 3255536 on 2017/01/12 by Jamie.Dale

	Fixed crash when using an object picker against the 'Object' type

	This also optimizes some filter code to avoid filtering when it would be pointless (and just slows things down).

	#jira UE-40408

Change 3255451 on 2017/01/12 by Chris.Wood

	Fixed read only text color in SCommentBubble
	[UE-40384] - Reference Viewer comment text is difficult to read

	Also changed DetermineForegroundColor() method in EditableTextBox classes to fallback on ForegroundColorOverride if it is set and ReadOnlyForegroundColorOverride isn't set.

	#jira UE-40384

Change 3255448 on 2017/01/12 by Chris.Wood

	Removed blinking cursor/caret on read only editable text layouts.
	[UE-40502] - Flashing cursor/caret showing in read-only editable text layouts

	#jira UE-40502

Change 3255445 on 2017/01/12 by Marc.Audy

	Create the dynamic level streaming persistent object correctly outered to the World rather than the transient package to avoid GetWorld() crashing
	#jira UE-00000

Change 3255441 on 2017/01/12 by Jon.Nabozny

	Regenerate collision for the basic Cube mesh to fix resting issues and invalid verts.

	#jira UE-40478

Change 3255407 on 2017/01/12 by Yannick.Lange

	VREditor: - Fix: Assertion Failed crash after pressing F8 in PIE while Foliage Mode was selected
	- Fix: Assertion Failed crash after pressing F8 in PIE while Paint Mode was selected
	- Added extra checks for other possible future cases
	#jira UE-39786 	UE-39789

Change 3255393 on 2017/01/12 by Chris.Bunner

	Duplicating CL 3255244: Removed test variable from MaterialExpressionVectorParameter.
	#jira UE-40517

Change 3255375 on 2017/01/12 by Steve.Robb

	CIS fix.

	#jira UE-39556

Change 3255334 on 2017/01/12 by samuel.proctor

	Corrected QA Container asset to remove pin warning.

	#jira UE-29618

Change 3255319 on 2017/01/12 by james.cobbett

	Fixing motion blur issue with test content for Pose Snapshots.

	#jira UE-29618

Change 3255247 on 2017/01/12 by Nick.Darnell

	Slate - Slate's Tab Manager is now a bit smarter about allowing Focus/BringToFront attention grabbing methods.  In order to make the UI less jumpy it was restricted to only allowing alerts and bring to front to be triggered if you were on the window, or child window of the active application window.

	That can negatively impact cases where a user takes an action (clicks a link ro button saying open/goto this tab), that is on another window.  To work around this limitation, the Tab Manager will also permit the action if Slate is currently processing user input, implying that the action being taken is in direct response to the user pressing a button and interacting with the UI.

	#jira UE-40313

Change 3255236 on 2017/01/12 by Phillip.Kavan

	[UE-40131] Non-native child BPs can now properly override a nativized parent BP's components in a cooked build with exclusive Blueprint class nativiation.

	- Mirrored from //UE4/Dev-Blueprints (CL# 3254024,3254391)

	#jira UE-40131

Change 3255216 on 2017/01/12 by Rolando.Caloca

	UE4.15 - Fix compile issue on Vulkan 1.0.37.0 or newer
	#jira UE-40506

Change 3255206 on 2017/01/12 by Steve.Robb

	Use outer walking IsA() implementation in editor to get around reinstancing and hot reload issues.

	#fyi mike.beach
	#jira UE-39556

Change 3255195 on 2017/01/12 by mason.seay

	Adjusted slope to fix platform discrepancy

	#jira UE-29618

Change 3255086 on 2017/01/12 by Jack.Porter

	Fix XboxOneShaderCompiler.cpp non-unity compilation
	#jira None

Change 3255085 on 2017/01/12 by Jack.Porter

	Missing HTML5 changes from CL 3254907
	#jira UE-39111

Change 3255031 on 2017/01/12 by Jack.Porter

	More iOS GoogleVR changes missing from CL 3254907
	#jira UE-39111

Change 3254991 on 2017/01/12 by Jack.Porter

	Missing file from CL 3254907
	#jira UE-39111

Change 3254907 on 2017/01/11 by Jack.Porter

	Android MSAA changes - use r.MobileMSAA cvar, support more than 2x, fix issues where targets other than scene color were created with MSAA
	#jira UE-39111
	#jira UE-35849
	#jira UEMOB-35

Change 3254810 on 2017/01/11 by Arciel.Rekman

	Linux: fix for crash on exit (UE-40488).

	#jira UE-40488

Change 3254617 on 2017/01/11 by Peter.Sauerbrei

	remake the fix for missing PhysXVehicle library in binary for IOS and TVOS
	#jira UE-39349

Change 3254489 on 2017/01/11 by mason.seay

	Other minor improvements to the map

	#jira UE-29618

Change 3254477 on 2017/01/11 by mason.seay

	Map tweaks to prevent the vehicle from getting stuck

	#jira UE-29618

Change 3254431 on 2017/01/11 by Mitchell.Wilson

	Rebuilt lighting on all StarterContent levels.
	#jira UE-40468

Change 3254333 on 2017/01/11 by mason.seay

	Adjusted lightmap on mesh to remove odd rendering splotches

	#jira UE-29618

Change 3254131 on 2017/01/11 by Rolando.Caloca

	UE4.15 - Missing dumped shaders
	#jira UE-40465

Change 3254126 on 2017/01/11 by Jeff.Fisher

	UE-40422 Vive Motion Controllers unable to Play Haptic Effect
	-Removed an unnecessary remapping of controllerindex to deviceid, they are the same now.
	#jira UE-40422
	#review-3254084

Change 3254046 on 2017/01/11 by Mark.Satterthwaite

	Merging 3233811:
	Fix compiling QA-Material tessellation shaders that don't need to emit from Hull or sample in Domain the HSOut buffer which was confusing MetalBackend.
	#jira UE-39935

Change 3254021 on 2017/01/11 by james.cobbett

	Test content for Pose Snapshot testing

	#jira UE-29618

Change 3253993 on 2017/01/11 by Alexis.Matte

	Fix the morph target import
	#jira UE-40424

Change 3253948 on 2017/01/11 by mason.seay

	Fixed Level BP logic that was causing Access None error

	#jira UE-29618

Change 3253884 on 2017/01/11 by mason.seay

	Updated mesh colors on map.  Disabled motion blur

	#jira UE-29618

Change 3253862 on 2017/01/11 by mason.seay

	Disabled Always Show Mobile Input (turned on by accident)

	#jira UE-29618

Change 3253859 on 2017/01/11 by Mark.Satterthwaite

	Merging 3252866:
	Fix Metal shader pipeline hash collisions caused by deferring MTLFunction construction until PrepareToDraw so that we may use Function-Constants to specialise the shader source without generating additional permutations. This is required to generate proper tessellation shaders which are specialised against the index-buffer usage & type (none, uint16, uint32). While we're here amend the hash functions to make better use of the existing hash functions to improve the distribution and hopefully reduce the possibility of collisions in future.
	#jira UE-40357

Change 3253854 on 2017/01/11 by Mark.Satterthwaite

	Merging 3252859:
	Fix the calculation of Metal tessellation struct alignment and size to use largest member size, so that we don't assert in debug or cause out-of-bounds access in development/shipping.
	#jira UE-40410

Change 3253853 on 2017/01/11 by Mark.Satterthwaite

	Merging 3237394:
	Add Metal-specific permutations of TBasePassHS - they affect the C++ definition on all platforms but are only cached or used on Metal - because the way we compile the combined VS+HS tessellation stage requires that the combined VS + HS HLSL code references the same resources, otherwise we get incorrect resouce bindings and subsequently fail to render properly. Long-term the Metal tessellation code will need to be refactored so that the vertex shader stage is emitted as a separate shader from the hull shader stage as this but will keep cropping back up and continue to complicate the engine.
	#jira UE-39799

Change 3253852 on 2017/01/11 by Mark.Satterthwaite

	Merging 3236850:
	Make changing the Metal Shader Version project setting prompt the user to restart for the changes to take effect.
	#jira UE-39801

Change 3253834 on 2017/01/11 by mason.seay

	Updated mobile input textures to be power of two

	#jira UE-29618

Change 3253807 on 2017/01/11 by Mark.Satterthwaite

	Merging 3232641 & 3236788 & 3233854 & 3249742 from Dev-Rendering:

	3232641:
	- Eliminate redundant state changes in MetalRHI in the state cache.
	- Add a new debug level for setting buffers to nil prior to calls to set*Bytes so that the tool doesn't display incorrect data.
	- Make testing for validation & statistics features use the same EMetalFeatures API as everything else for consistency.
	- Cache the fallback depth-stencil texture in the state cache and ignore it for determining whether a pass can restart - if we are using this texture its contents are worthless anyway.

	3236788:
	Fix 10.11.6 support (aka -nometalv2): the stencil view workaround necessitates a mid-render blit and the way things were setup resulted in the HasValidRenderTargets assert firing. Refactored the code to separate the concept or valid render-states in the cache from active render-states in the render-pass. Now it works as intended and will be needed for 4.15.

	3233854:
	More information about texture type validation errors in Metal.

	3249742:
	Fix missing GPU particles on Mac.
	Pointers getting reused is causing the blendstate equality operator to fail.
	Simple workaround until we have time for a proper fix.

	#jira UE-40200

Change 3253636 on 2017/01/11 by Chris.Wood

	Improved tracking of runtime and debugger attachment for analytics purposes.
	[UE-39780] - Change IsDebugger to WasDebuggerPresent in all crash/AS analytics
	[UE-39777] - Update MTBF IsDebugger state for every heartbeat
	[UE-39778] - UnrealWatchdog to send WasDebuggerPresent state for app if set
	[UE-39779] - UnrealWatchdog to send total run time of process

	Debugger state was previously read once at startup or once at the time of an event. Debugger is now checked during the heartbeat and doesn't reset flag when detached so we know if a session was ever debugged. Also reporting total run time in UnrealWatchdog. Watchdog still doesn't run when debugging but and will never show popups to a debugger user even when forced on with -forcewatchdog.

	#jira UE-39780, UE-39777, UE-39778, UE-39779

Change 3253281 on 2017/01/10 by Dan.Oconnor

	Typo fix caused parameter in local struct definition to shadow the local
	#jira UE-40027

Change 3253231 on 2017/01/10 by Dan.Oconnor

	Mirror of 3253220
	These pins should infer together
	#jira UE-40427

Change 3253125 on 2017/01/10 by Uriel.Doyon

	Brought back CL 3242117 and 3238685, which  got lost on the way:
	- Fix for possiblel check fail when changin mobility of actors.
	- Fix for possible check fail when processing streaming data.
	#jira UE-39996

Change 3252936 on 2017/01/10 by Marc.Audy

	CopyPropertiesForUnrelatedObjects needs to consider path not just name of subobjects when matching them up to copy properties and update references
	Ensure that a reinstanced child actor component ends up pointing at the correct child actor template
	#jira UE-40027

Change 3252886 on 2017/01/10 by Lina.Halper

	Fix for invalid AnimCurves when curve is added while running

	#jira: UE-39826

Change 3252753 on 2017/01/10 by Frank.Fella

	Sequencer - Change track rows to use separate track nodes in the display node tree, fixes key edit issues on animation and audio tracks.

	#jira UE-39836

Change 3252640 on 2017/01/10 by Lukasz.Furman

	fixed NavCollision losing user settings after any property change
	copy of 3252628
	#jira UE-40388

Change 3252614 on 2017/01/10 by Daniel.Wright

	UStaticMeshComponent::InvalidateLightingCacheDetailed uses MarkRenderStateDirty.  Massively speeds up duplication of HISMC with many instances (10+ minutes -> seconds), as InvalidateLightingCacheDetailed gets called for every instance.
	#jira UE-40406

Change 3252609 on 2017/01/10 by mason.seay

	Updated map with text actors for more visual clarity

	#jira UE-29618

Change 3252477 on 2017/01/10 by Daniel.Wright

	[Copy] Fixed race condition with FPrecomputedLightVolume::Data which was exposed when switching lighting scenarios
	#jira UE-39852

Change 3252451 on 2017/01/10 by Daniel.Wright

	Garbage collection calls UWorld>SendAllEndOfFrameUpdates() on all loaded worlds first so that deferred recreate render states happen before any UObjects are deleted
	* Fixes rendering thread crashes in the order of events of 1) SetMaterial 2) GC 3) Rendering command that dereferences the UMaterial
	#jira UE-30089

Change 3252418 on 2017/01/10 by Ben.Zeigler

	#jira UE-40390 Fix crash saving blueprint with an inherited DataTable/CurveTable reference. Delta serialization meant that the necessary name wasn't in the name table, so adding it manually now.

Change 3252410 on 2017/01/10 by Max.Chen

	Sequencer : Filter sections on select in range

	Copy from Dev-Sequencer

	#jira UE-37854

Change 3252385 on 2017/01/10 by Max.Chen

	Sequencer: Update auto tangents when setting key time. This fixes a bug where dragging keys with auto tangents doesn't recompute tangents properly.

	#jira UE-39923

Change 3252360 on 2017/01/10 by Allan.Bentham

	Remove incorrect assert for iOS.
	#jira UE-40385

Change 3252297 on 2017/01/10 by mason.seay

	Test assets for suspending cloth simulation

	#jira UE-29618

Change 3252125 on 2017/01/10 by Mieszko.Zielinski

	Fallout fix after removal of BlackboardKeyUtils::CalculateComparisonResult declaration from the AIModule #UE4

	#jira UE-40099

Change 3251987 on 2017/01/10 by Allan.Bentham

	Fix HQ DoF
	#jira UE-35548

Change 3251856 on 2017/01/10 by Jack.Porter

	Fixed Get Instances Overlapping Box blueprint function due to issue with FBox constructor.
	Added MakeBox and MakeBox2D kismet native functions
	Fixed box overlap test ignoring instance scale
	#jira UE-34409

Change 3251519 on 2017/01/09 by Daniel.Wright

	[Copy] Fixed GLandscapeLayerUsageMaterial getting GC'ed
	#jira UE-40055

Change 3251146 on 2017/01/09 by Lina.Halper

	Fix on stable track data carrying over to pose asset

	- decided to clean up track data in anim sequence since we don't really need that data anymore

	#jira: UE-40351
	#code review: Martin.Wilson

Change 3251056 on 2017/01/09 by Lina.Halper

	fixed crash when pose node contains stale data when updating source.

	#jira: UE-40258
	#code review; Thomas.Sarkanen

Change 3251035 on 2017/01/09 by Mitchell.Wilson

	Removed preview mesh in M_GodRay to resolve CIS warning.
	Relinked textures used in two materials to resolve CIS warnings.
	#jira UE-40350

Change 3250959 on 2017/01/09 by Mitchell.Wilson

	Updating master sequence playback end time so the final audio track can be heard.
	Updating multiple shots to resolve issues with audio not playing back properly.
	#jira UE-40321 UE-40335

Change 3250896 on 2017/01/09 by Andrew.Rodham

	Sequencer: Fixed level visibility not working in PIE

	#jira UE-40082

Change 3250895 on 2017/01/09 by Andrew.Rodham

	Sequencer: Fixed evaluation of overlapping audio and skeletal aninmation sections
	  - Audio and skeletal animation sections now continue to support legacy evaluation order. Overlapping sections of the same priority on the same row will be filtered out such that only the section with the latest start time will be evaluated.

	#jira UE-40320

Change 3250830 on 2017/01/09 by Ben.Woodhouse

	Duplicated from //ue4/Release-4.14

	CL 3238182
	Disable timestamp queries on pre-Maxwell nvidia hardware. Local testing suggests that this is the major cause of instability in the UE4.14 release.

	It's possible that we could be more targeted by only excluding Fermi and older hardware, but identifying fermi hardware by device ID is difficult in practice, since the range overlaps with Kepler.

	#jira UE-38818

Change 3250790 on 2017/01/09 by Lauren.Ridge

	Fixing backspace on VR Editor numberpad menu.

	#jira UE-39770

Change 3250681 on 2017/01/09 by Ben.Woodhouse

	Duplicated from dev-rendering@3249296:
	XB1/Fast semantics:
	Add missing L1/L2 cache flush on transition to readable (or RW). The missing cache flush was causing indeterminism when reading from a texture shortly after writing to it as a render target.
	This fixes bloom and diffuse irradiance issues
	The bug has been there for a while, but CL 3227787 (drawclear early out) caused it to manifest
	#jira UE-39727
	#jira UE-40238

Change 3250680 on 2017/01/09 by Ben.Woodhouse

	Duplicated from dev-rendering@3238664
	Fix dbuffer decal rendering issues in fullscreen on PC. Also fixes crash in editor when viewing dbuffer materials.
	Pass clearcolor in RT params for system textures to workaround a bug with ClearColorTexture not working in fullscreen mode on DX11. Make sure dbuffer targets are bound if we're rendering mesh decals
	#jira UT-6891
	#jira UE-39842
	#jira UE-39949

Change 3250609 on 2017/01/09 by Steve.Robb

	Maximum number of stats-using threads increased to 512.

	#jira UE-38153

Change 3250604 on 2017/01/09 by Andrew.Rodham

	Sequencer: Fixed incorrect seed being used when generating new animation type IDs for object properties

	#jira UE-40327

Change 3250589 on 2017/01/09 by Matthew.Griffin

	Changed publish symbols node to use runtime dependencies instead of manually including the whole PhysX folder
	Avoids unused configs and VS2013 files
	#jira UE-39171

Change 3250578 on 2017/01/09 by Matthew.Griffin

	Removed art tools from released build now that they are available separately on the Marketplace

Change 3250282 on 2017/01/07 by Mieszko.Zielinski

	Fixed UNavigationSystem::bNavigationAutoUpdateEnabled getting ignored by recent addition to related condition in UNavigationSystem #UE4

	Reported by UT team.
	Replication of a fix from Dev-Framework that didn't make it to 4.15 stream

	#jira UE-40324

Change 3250276 on 2017/01/07 by Mieszko.Zielinski

	Fixed not being able to add elements to UAIPerceptionStimuliSourceComponent.RegisterAsSourceForSenses for instances manually placed on the map #UE4

	#jira UE-31711

Change 3250219 on 2017/01/07 by Mieszko.Zielinski

	Extended comment to AISenseConfig_Sight::PeripheralVisionAngleDegrees to make it clear how it works #UE4

	#jira UE-31731

Change 3250147 on 2017/01/07 by Andrew.Rodham

	Added missing includes
	#jira UE-40019

Change 3250096 on 2017/01/06 by Nick.Shin

	refetch on timed out GET/POST requests

	correction to: UE_MakeHTTPDataRequest

	#jira UE-39992  Quicklaunch UFE HTML5 fails with "NS_ERROR_Failure"

Change 3249963 on 2017/01/06 by Mieszko.Zielinski

	removed unused and undefined BlackboardKeyUtils::CalculateComparisonResult #UE4

	#jira UE-40099

Change 3249829 on 2017/01/06 by Alexis.Matte

	turn on the material name clash feature for the content browser importer.
	#jira UE-40298

Change 3249791 on 2017/01/06 by andrew.porter

	QAGame:  Added level blueprint logic to QA-Sequencer that lets tester override sequence bindings

	#jira UE-29618

Change 3249755 on 2017/01/06 by Jamie.Dale

	Some fixes for object reference detection and notification when deleting assets

	#jira UE-40121

Change 3249727 on 2017/01/06 by James.Golding

	#jira UE-40242

Change 3249707 on 2017/01/06 by Mitchell.Wilson

	Removing preview mesh with incorrect path from materials to resolve warnings in CIS.
	#jira UE-40311

Change 3249543 on 2017/01/06 by Michael.Dupuis

	#jira UE-40299: validate if UISettings is valid

Change 3249506 on 2017/01/06 by Alexis.Matte

	Make sure we use the correct LodIndex when importing a new LOD in case a previous LOD import fail.
	#jira UE-40240

Change 3249477 on 2017/01/06 by Ori.Cohen

	Fix incorrect warning when moving kinematic objects during simulation.

	#JIRA UE-40290

Change 3249472 on 2017/01/06 by Andrew.Rodham

	Sequencer: Undo now works as expected when editing the properties of a key

	#jira UE-40019

Change 3249390 on 2017/01/06 by Mitchell.Wilson

	Removing preview meshes with improper path from materials to resolve CIS warnings in landscape mountains sample.
	#jira UE-40300

Change 3249317 on 2017/01/06 by Alexis.Matte

	Fix a crash when loading skeletalmesh with no section
	#jira UE-40249

Change 3249294 on 2017/01/06 by Mitchell.Wilson

	Updated defaultengine.ini for Match 3 to resolve warnings in CIS. ServerDefaultMap and TransitionMap had invalid paths.
	#jira UE-40295

Change 3249213 on 2017/01/06 by Chris.Bunner

	Fixed up logic for windowed/fullscreen output display selection when working with HDR. Now selects the most appropriate display if HDR enabled, else current monitor window is on. FullscreenDisplay commandline functions regardless of HDR support.
	#jira OR-33525, OR-33536, OR-33540, OR-33520

Change 3249135 on 2017/01/06 by Martin.Wilson

	Fix root motion issues on additive animations.
	- Fix scale issue on resetting root bone
	- Fix loss of root motion when animation is additive.

	#jira UE-40232

Change 3248522 on 2017/01/05 by Alexis.Matte

	Fix a crash when reimporting morph target. Also fix a crash when initiating ColorVertexBuffer with NULL value
	#jira UE-40201

Change 3248271 on 2017/01/05 by Andrew.Rodham

	Sequencer: Only reset persistent evaluation data when the sequence has changed
	  - This ensures that we don't destroy persistent data that is assumed to still exist (i.e. it was created in ::Setup) from the same sequence

	#jira UE-40234

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

	UBT: Remove the [Obsolete] attribute from methods in TargetRules; the [ObsoleteOverride] attribute gives a much better (and more concise) warning with specific instructions on how to resolve it.

Change 3248091 on 2017/01/05 by Marcus.Wassmer

	Tick renderthreadtickables in -onethread to avoid leaks.
	#jira UE-40248

Change 3248063 on 2017/01/05 by Marc.Audy

	Route FAudioDevice::StopAllSounds to the audio thread if called on the game thread
	#jira UE-40243

Change 3247995 on 2017/01/05 by Maciej.Mroz

	NativizationSummary object is always present.

	manually merged cl#3247985 from Dev-Blueprints
	#jira UE-40035

Change 3247873 on 2017/01/05 by Chad.Garyet

	Adding "Generate QA Labels" buildgraph node and automation script.
	Port of createNewLabel and createMinimumLabel python scripts into UAT
	#jira UEB-725

Change 3247855 on 2017/01/05 by Nick.Shin

	refetch on timed out GET/POST requests

	#jira UE-39992  Quicklaunch UFE HTML5 fails with "NS_ERROR_Failure"

Change 3247737 on 2017/01/05 by Marc.Audy

	static mesh component instance data now correclty inherits from pritive component instance data instead of skipping it and inheriting directly from scene component instance data
	#jira UE-40053

Change 3247723 on 2017/01/05 by mason.seay

	Asset for suspend cloth bug

	#jira UE-29618

Change 3247708 on 2017/01/05 by Mitchell.Wilson

	Updating project settings to disable dbuffer decals to resolve rendering issues in Showdown while using -game -vr
	#jira UE-40195

Change 3247652 on 2017/01/05 by Martin.Wilson

	Fixes for animation notifies window
	-Fix notify not being removed from skeleton
	-Fix crash where editor is not refreshed after notify removal

	#jira UE-40154

Change 3247638 on 2017/01/05 by mason.seay

	Test assets for cloth suspension

	#jira UE-29618

Change 3247630 on 2017/01/05 by Alexis.Matte

	Prevent crash when the import fail and we have no staticmesh created
	#jira UE-40024

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

	Fix non-unity compile error.

Change 3247547 on 2017/01/05 by Jurre.deBaare

	Crash while using the Delete Button in the HLOD Outliner while a Generated Proxy Mesh is opened in the Static Mesh Editor
	#fix Unify path for both delete cluster options in the outliner UI
	#jira UE-40066

Change 3247539 on 2017/01/05 by Benn.Gallagher

	Fixed serialization crash for simplified skeletal meshes leading to corrupted assets that crash on load after skin weight buffer changes.
	#jira UE-40199

Change 3247515 on 2017/01/05 by Allan.Bentham

	Fix inverted planar reflections when mobileLDR
	Fixed incorrect gamma 2 planar reflection rendering when mobileLDR
	#jira UE-32868

Change 3247502 on 2017/01/05 by Dmitriy.Dyomin

	Fixed: Single digit frame rate when sculpting landscape foliage.
	#jira UE-39532

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

	Remove private include from public header. Prevents compiling samples from installed build of the engine without private headers.

	#jira UE-40135, UE-40137, UE-40139, UE-40140, UE-40141, UE-40142, UE-40143, UE-40144

Change 3247002 on 2017/01/04 by Chris.Babcock

	Changed Vulkan hitchy pipeline log message verbosity
	#jira UE-38354
	#ue4
	#android
	#dontbackcopy

Change 3246927 on 2017/01/04 by matt.barnes

	Updating QAGame content to facilitate UEQATC-2969

	#jira UE-29618

Change 3246894 on 2017/01/04 by Mike.Beach

	Mirroring CL 3245322 from Dev-BP

	Fixed a crash when implementing a native interface in a BP

	#jira UE-40155, UE-40203

Change 3246830 on 2017/01/04 by Chris.Bunner

	Allow AllocGBuffer call when in simple-forward so dummy uniform buffer creation can occur.
	#jira UE-39756

Change 3246816 on 2017/01/04 by Jon.Nabozny

	Fix Anim Notifies Tab not opening in Animation Editor.

	#JIRA UE-40134

Change 3246804 on 2017/01/04 by Ori.Cohen

	Touch engine file to trigger re-link.

	#JIRA UE-40156

Change 3246709 on 2017/01/04 by mason.seay

	Updated map

	#jira UE-29618

Change 3246606 on 2017/01/04 by Ori.Cohen

	Fix for sweeps taking too long time (OR-32839).

	- Exhaustive investigation uncovered apparent numerical problems in this code (when compiling with clang 3.9.x with -ffast-math).
	- Current solution can result in overshoot for certain trace extents, but they are not expected to be a practical problem in Unreal.
	- NVidia is aware and will investigate a better solution.

	#tests Compiled Linux server with the changed PhysX and continuously ran bot matches for about a day.
	#JIRA UE-40156

Change 3246571 on 2017/01/04 by Marc.Audy

	Look at the body instance's desired collision enabled value rather than the primitive component's current collision enabled value when determining whether physics state should be created
	#jira UE-39994

Change 3246527 on 2017/01/04 by tim.gautier

	QAGame: BP_MediaPlayer now displays the name of the MediaPlayer plugin currently in use during playback

	#jira UE-29618

Change 3246480 on 2017/01/04 by mason.seay

	Map update

	#jira UE-29618

Change 3246470 on 2017/01/04 by Ori.Cohen

	Guard against infinitely thin geometry which fixes some nans. This showed up as issues in various projects
	#JIRA UE-00000

Change 3246413 on 2017/01/04 by Jon.Nabozny

	Cube asset did not have Tri Meshes. Reimported to fix the issue.
	-- Copied from 3233164 --

	#jira UE-39657

Change 3246388 on 2017/01/04 by Jon.Nabozny

	Set 'p.MoveIgnoreFirstBlockingOverlap' to be enabled by default (3158732). This causes collision behavior to remain unchanged unless people opt in to the new behavior.
	-- Copied from 3239735 (bot health fixed by a different CL) --

	#jira UE-39387

Change 3246352 on 2017/01/04 by Jon.Nabozny

	Fix FPredictProjectilePathParams to use a valid default value for TraceChannel.
	This requires the use of a new bool bTraceWithChannel which is enabled by default.
	-- Copied from 3239765 --

	#JIRA UE-39726

Change 3246341 on 2017/01/04 by Ori.Cohen

	Allow vehicles to inherit from PawnMovementComponent and only use the pawn/ai capabilities when a Pawn owner is used.

	#JIRA UE-39508

Change 3246178 on 2017/01/04 by Andrew.Rodham

	Sequencer: When playback stops naturally, the play position is set to the boundary that caused playback to stop (the end if playing forwards, the start if playing backwards)
	  - This is to reconcile the movie scene sequence player with previous behaviour

	#jira UE-40076

Change 3246102 on 2017/01/04 by Benn.Gallagher

	Fixed single threaded physics dispatcher triggering checks from clothing when running with a CPU with two or fewer cores.
	#jira UE-39811

Change 3246100 on 2017/01/04 by Benn.Gallagher

	Fixed ensure triggered when using root motion with sub instances
	Fixed crash reinstancing an active anim class that had subinstances
	#jira UE-39582
	#jira UE-39579

Change 3246092 on 2017/01/04 by Marc.Audy

	PR #3082: Improve comment for UInputComponent (Contributed by Soleone)
	#jira UE-40098

Change 3246084 on 2017/01/04 by Matthew.Griffin

	Remove bad files

Change 3246076 on 2017/01/04 by Matt.Kuhlenschmidt

	Fixed all non-editable text properties having a double disabled effect.  The text box is read only which prevents edting but still allows copying text from it. This feature had regressed and the disabled effect on top of the read only effect made it too difficult to see the text.

	#jira UE-39652

Change 3246043 on 2017/01/04 by Steve.Robb

	Use of CastChecked instead of Cast in implementations of IStructSerializerBackend::WriteProperty.  This is both more efficient and will hopefully make it easier to diagnose the issue.

	#jira UE-39872

Change 3246032 on 2017/01/04 by Martin.Wilson

	Change FindBoneIndex to FindRawBoneIndex (final bone maps are not built until after all adding is done so they will not be found)

	#jira UE-40105

Change 3246016 on 2017/01/04 by Andrew.Rodham

	Editor: Insert/Duplicate/Delete menu on array properties now only closes itself on click, rather than all menus
	  - This allows us to edit such properties on context menus

	#jira UE-39998

Change 3246005 on 2017/01/04 by Thomas.Sarkanen

	Fixed asset attachment issues in Skeleton Tree

	Assets were being attached uniquely, so only one asset could be attached to a bone/socket. However the calling code didnt know that the unique attachment function just gave up, so the item just got added to the bottom of the tree.
	The attachment filter was not set correctly to allow for bone attatchments, so only sockets could be attached to.
	The attach parent name was not initialized, so assets could not be deleted one at a time.

	#jira UE-40040 - With multiple Preview assets on one bone, only one appears in Skeleton Tree
	#jira UE-40041 - Preview assets appear at the bottom of the skeleton tree

Change 3246002 on 2017/01/04 by Andrew.Rodham

	Sequencer: Fixed actor tick prerequisites not getting set up correctly for master sequences

	#jira UE-39975

Change 3245979 on 2017/01/04 by Andrew.Rodham

	Sequencer: Fixed scrubbing audio tracks not working propertly

	#jira UE-40048

Change 3245978 on 2017/01/04 by Andrew.Rodham

	Sequencer: Fixed dropping a level onto a level visibility section not marking the track as changed, and not correctly creating a transaction

	#jira UE-39998

Change 3245977 on 2017/01/04 by Andrew.Rodham

	Sequencer: Fixed crash caused by lingering persistent evaluation data

	#jira UE-40064

Change 3245971 on 2017/01/04 by Dmitriy.Dyomin

	Fixed: Using Set World Origin Location will cause the player pawn to stutter
	#jira UE-40022

Change 3245725 on 2017/01/03 by Matt.Barnes

	Further improvments on test assets for UEQATC-2963

	#jira UE-29618

Change 3245658 on 2017/01/03 by Arciel.Rekman

	Linux: fix ARM32 build (UE-39913).

	#jira UE-39913

	(Redoing CL 3240982 from Dev-Platform in Release-4.15)

Change 3245577 on 2017/01/03 by Mason.Seay

	More vehicle updates

	#jira UE-29618

Change 3245556 on 2017/01/03 by Matt.Barnes

	Updating test content for UEQATC-2963

	#jira UEQATC-2963

Change 3245461 on 2017/01/03 by mason.seay

	Updating Inertia Tensor Scale to improve Vehicle Handling

	#jira UE-40013

Change 3245442 on 2017/01/03 by Jeff.Fisher

	UEVR-495 Assert when switching to 2d mode. sceHmdReprojectionStart failing.
	-There was a race condition between switching output modes on the render thread and sceHmdReprojectionStart on the RHI thread.  The flush fixes that.  The reprojection would simply have failed that frame previously in shipping which would not matter much as we are switching output modes anyway.
	#jira UEVR-495
	#review-3245374

Change 3245427 on 2017/01/03 by Jeff.Fisher

	UEVR-456 check if we are using camera before doing camera disconnected dialog on PSVR
	-If the tracker is active, but we are tracking nothing (ie we have the morpheus hmd tracking plugin, and started up with it, but switched to 2d mode) don't pop up the camera setup warning until we start trying to track something again.
	-This is useful for apps that have 2d and vr modes.
	#jira UEVR-456
	#review-3245372

Change 3245329 on 2017/01/03 by mason.seay

	Level and vehicle tweaks

	#jira UE-29618

Change 3245275 on 2017/01/03 by Chris.Babcock

	Added EngineVersion to AndroidManfiest.xml metadata
	#jira UE-40123
	#ue4
	#android

Change 3245235 on 2017/01/03 by Guillaume.Abadie

	Cherry picks CL 3234813 from Dev-Rendering: Fixes texture mask static lighting when using GBuffer selective outputs.

	#jira UE-39527

Change 3245183 on 2017/01/03 by Chris.Babcock

	Added missing #undef LOCTEXT_NAMESPACE to some files (contributed by projectgheist)
	#jira UE-40103
	#PR #3085
	#ue4
	#android

Change 3245120 on 2017/01/03 by mason.seay

	Missed some assets

	#jira UE-29618

Change 3245116 on 2017/01/03 by mason.seay

	Mass fucntional test

	#jira UE-29618

Change 3245049 on 2017/01/03 by Ben.Marsh

	PR #3086: Fixed ScriptGeneratorPlugin #includes (Contributed by projectgheist)

Change 3244924 on 2017/01/03 by Ben.Zeigler

	#jira UE-40057 Fix regression in public access for SwapPlayerControllers, from GitHub #3072

Change 3244831 on 2017/01/03 by Mitchell.Wilson

	Fixed hole in collision around level.
	#jira UE-39576

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

	Change check for files being under engine directory to avoid problems with relative paths
	#jira UE-40096

Change 3244801 on 2017/01/03 by Andrew.Rodham

	Editor: Fixed color picker not working when opened from a details panel on a context menu
	  - When a color picker is opened from a details panel that's on a context menu, it now opens as a sub menu
	  - Added the ability to find an open menu from a widget path to FSlateApplication

	#jira UE-39932

Change 3244776 on 2017/01/03 by Matt.Kuhlenschmidt

	Fix window handle and device context being accessed by scene viewports after the underlying window has been destroyed by the OS.  This is an invalid state on linux and using some vr devices.

	#jira UE-7388

Change 3244672 on 2017/01/03 by Ben.Marsh

	Search all directories containing universal CRT installations from the registry, rather than assuming that the first one found will contain the universal CRT version we want to use. Attempt to fix issues described in PR #3059.

Change 3244668 on 2017/01/03 by Thomas.Sarkanen

	Added "Reimport Animation" and "Export to FBX" to the animation editor toolbar

	Options were in the asset menu before.

	#jira UE-39643 - Missing "Reimport" option for animation assets

Change 3244667 on 2017/01/03 by Thomas.Sarkanen

	Reduced default URO distances in-line with new LOD calculations

	New values should give (roughly) the same effect as the older values with the older system.

	#jira UE-39939 - URO LOD distance factors different with the new screen size metric

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

	Added functionality to specify Loading Phase for plugin templates
	Changed Blueprint Library Template so that it loads pre loading screen and can be linked correctly in blueprints that use it
	#jira UE-38826

Change 3244631 on 2017/01/03 by Dmitriy.Dyomin

	Fixed: TM_Landscape_LOD Folder does not Live Update contents after generating LODs with Create Per Package Asset
	#jira UE-37368

Change 3244548 on 2017/01/02 by Jack.Porter

	Fix for Post-process Materials rendering incorrectly in editor mobile preview after viewport is resized
	#jira UE-39905

Change 3244389 on 2016/12/30 by Phillip.Kavan

	[UE-39816] Fix broken pin links caused by renaming interface function input/output parameters prior to compiling the interface, but after renaming the function itself.

	Mirrored from //UE4/Dev-Blueprints (CL# 3244388).

	#jira UE-39816

Change 3244248 on 2016/12/29 by laz.matech

	Saved the new sublevel in the persistent level and set it to hidden by default

	#jira UE-29618

Change 3244213 on 2016/12/29 by laz.matech

	Added a sublevel to QA-Sequencer map

	#jira UE-29618

Change 3243857 on 2016/12/27 by samuel.proctor

	Altered Container asset to have proper console input

	#jira UE-29618

Change 3243852 on 2016/12/27 by Mason.Seay

	Forgot config file

	#jira UE-29618

Change 3243847 on 2016/12/27 by mason.seay

	Improved mobile input

	#jira UE-29618

Change 3243536 on 2016/12/24 by Phillip.Kavan

	[UE-39944] Extend the GetClassDefaults node to include output pin exceptions for TSet/TMap properties (i.e. mirror safeguards already in place for TArray).

	Mirrored from //UE4/Dev-Blueprints (CL# 3243210).

	#jira UE-39944

Change 3243535 on 2016/12/24 by Phillip.Kavan

	[UE-39816] Renaming interface input/output parameters will no longer cause broken pin links at interface function call sites in Blueprints that are currently loaded.

	Mirrored from //UE4/Dev-Blueprints (CL# 3243207).

	#jira UE-39816

Change 3243534 on 2016/12/24 by Phillip.Kavan

	[UE-39733] Fix incorrect graph pin value display names for user-defined enum types.

	Mirrored from //UE4/Dev-Blueprints (CL# 3239965).

	#jira UE-39733

Change 3243532 on 2016/12/24 by Phillip.Kavan

	[UE-39854] Fix nativized assets build error when there are no native code dependencies.

	Mirrored from //UE4/Dev-Blueprints (CL# 3239778).

	#jira UE-39854

Change 3243529 on 2016/12/24 by Phillip.Kavan

	[UE-38999] Dump component tree node hierarchy to the output log on error state during widget generation.

	Mirrored from //UE4/Dev-Blueprints (CL# 3239289).

	#jira UE-38999

Change 3243442 on 2016/12/23 by mason.seay

	QAGame cleanup - Replacing copy pose from mesh test assets

	#jira UE-29618

Change 3243215 on 2016/12/22 by Dmitriy.Dyomin

	Fixed: Switching to ES2 feature level preview renders black in editor
	#jira UE-40009

Change 3243185 on 2016/12/22 by Ryan.Vance

	#jira UEVR-478
	Integrating 3235308 Mono changes from DevVR.

Change 3243183 on 2016/12/22 by Ryan.Vance

	#jira UEVR-455
	Integrating 3243173 post present call back implementation from 4.14.1

Change 3243182 on 2016/12/22 by Ryan.Vance

	#jira UE-39269
	Working around a nullptr deref in the Oculus runtime.

Change 3243153 on 2016/12/22 by mason.seay

	WIP map update

	#jira UE-29618

Change 3243128 on 2016/12/22 by andrew.porter

	QAGame: Adding Actor Sequence test content for a crash.

	#jira UE-29618

Change 3243117 on 2016/12/22 by Jeff.Fisher

	UE-34004 GitHub 2659 : Implement support for OpenVR controller roles.
	-Rather than assigning unreal hands to controllers in the order the controllers are connected assign unreal hands to match the ones the API is using.
	-We now defer setting up controllers that are disconnected.  This lets connected controllers, that may have hand preference from steam, occupy their desired hands first.  If a controller is connected later and does not have a role it is assigned to an unoccupied hand or to the right hand.
	-This can still end up ignoring role in the following circumstance (and I can get it to do this): get one controller to prefer'right' and the other to have no preference.  Power off the 'right' prefering controller.  Start the game with only the no-preference controller on.  The game will put that controller in the right slot, because the api gives it no other hints.  Then power on the controller that preferred 'right'.  That controller will now be assigned left, because right is occupied.  I don't see a way around that without the ability to switch which hand a controller is associated with at runtime.
	-This does not yet handle starting with 2 controllers, disconnecting one, then connecting a third controller well.  That did not work before either.  A new Jira was created for that.
	#2659
	#jira UE-34004
	#review-3231154

Change 3243093 on 2016/12/22 by mason.seay

	Some tweaks to vehicle levels

	#jira UE-29618

Change 3243084 on 2016/12/22 by andrew.porter

	QAGame: Cleaned up Sequencer_OverrideBindings

	#jira UE-29618

Change 3243009 on 2016/12/22 by andrew.porter

	QAGame: Renaming actor in Sequencer_OverrideBindings.

	#jira UE-29618

Change 3243003 on 2016/12/22 by andrew.porter

	QAGame: Removing override bindings from level sequence

	#jira UE-29618

Change 3242996 on 2016/12/22 by andrew.porter

	QAGame: Slight tweak to QA-Sequencer.

	#jira UE-29618

Change 3242982 on 2016/12/22 by Marc.Audy

	Properly reenable stats sounds in both game and level editor
	#jira UE-40015

Change 3242959 on 2016/12/22 by mason.seay

	Test map for vehicles and moving meshes

	#jira UE-29618

Change 3242934 on 2016/12/22 by andrew.porter

	QAGame: Adding test content to QA-Sequencer for Override Bindings

	#jira UE-29618

Change 3242870 on 2016/12/22 by Mason.Seay

	QAGame footprint reduction: Clearing out content (were in for old bug reports)

	#jira UE-29618

Change 3242799 on 2016/12/22 by tim.gautier

	QAGame - Adding the following assets for Sequencer Event Track testing:

	-TM-Sequencer_EventTrack + BuildData

	-QA_LightStruct

	-Sequencer_EventTrack

	#jira UE-29618

Change 3242792 on 2016/12/22 by samuel.proctor

	Correcting Container test asset for proper output

	#jira UE-29618

Change 3242727 on 2016/12/22 by Dmitriy.Dyomin

	Fixed: LoadLevelIntstance returns a reference that can't be used to send an interface message
	#jira UE-40005

Change 3242666 on 2016/12/22 by Dmitriy.Dyomin

	Fixed: Packaging Android app for Mali Graphics Debugger v4.3.0 fails
	#jira UE-39534

Change 3242373 on 2016/12/21 by Ori.Cohen

	Allow vehicles to override inertia tensor after any mass properties have changed.
	#JIRA UE-39566

Change 3242323 on 2016/12/21 by Josh.Adams

	- Somehow my last change just got completely lost in the edigrate shuffle. Or something. I have no idea! Rdoing it
	#jira UE-39966

Change 3242286 on 2016/12/21 by mason.seay

	Vehicle Assets and Maps

	#jira UE-29618

Change 3242284 on 2016/12/21 by Marc.Audy

	Fix "stat sounds" not working after PIE completes and a new one is begun
	#jira UE-32743
	#jira UE-39511

Change 3242281 on 2016/12/21 by Ori.Cohen

	Fix multi select being very slow in phat
	#JIRA UE-39559

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

	Fixup workspace for building PhysX.

Change 3242227 on 2016/12/21 by Marc.Audy

	Properly update listener position for stat sounds
	#jira UE-38850

Change 3242218 on 2016/12/21 by Ori.Cohen

	Fix physx html5 compilation APEX issue.

	#JIRA UE-39566

Change 3242174 on 2016/12/21 by Ori.Cohen

	Fix incorrect moment of inertia for convex elements with translation.

	#JIRA UE-39566

Change 3242145 on 2016/12/21 by Ori.Cohen

	Port 4.14 hotfix for vehicle stability

	#JIRA UE-38710

Change 3242139 on 2016/12/21 by Ori.Cohen

	Port 4.14 hotfix:
	Fix crash when setting collision trace in construction script.

	#JIRA UE-39341

Change 3242088 on 2016/12/21 by Alexis.Matte

	Fix the drag and drop material on level instance to drop on the correct material slot
	Fix the serialization of the staticmesh property FMeshSectionInfoMap
	#jira UE-39952

Change 3242081 on 2016/12/21 by Andrew.Rodham

	Sequencer: Make details view focused when resetting inner struct contents to ensure that focus path is valid.

	#jira UE-39851

Change 3242079 on 2016/12/21 by Andrew.Rodham

	Sequencer: Evaluation templates are now only fully rebuilt in PIE, and will not re-cycle track identifiers
	  - This addresses issues with newly compiled tracks recycling the persistent data of old stale tracks.
	  - This commit also ensures we don't fully rebuild templates in the editor when in Sequencer

	#jira UE-39882

Change 3242078 on 2016/12/21 by Andrew.Rodham

	Sequencer: Fixed crash when deactivating a section in sequencer

	#jira UE-39880

Change 3242026 on 2016/12/21 by Josh.Adams

	- Fixed compile errors in tools after NVNRHI move
	#jira UE-39966

Change 3241994 on 2016/12/21 by andrew.porter

	QAGame: Disabled auto play on Sequencer_AnimNotify.

	#jira UE-29618

Change 3241989 on 2016/12/21 by Mitchell.Wilson

	Resolving CIS warnings in Content examples.
	Fixed up redirectors. Moved a texture from developer folder into project and relinked in POM_Debug material. Fixed up BP Commentary Box which was failing to compile. Updated spawn rate on Pulse Ring so it works as intended.
	#jira UE-39984

Change 3241986 on 2016/12/21 by mason.seay

	Vehicle Landscape Test map (mainly for crash investigation)

	#jira UE-29618

Change 3241914 on 2016/12/21 by Josh.Adams

	- Removed invalid and confusing .ini settings
	#jira UE-39982

Change 3241902 on 2016/12/21 by Josh.Adams

	- Moved NVNRHI stuff out of RHI.Build.cs
	#jira UE-39966

Change 3241889 on 2016/12/21 by andrew.porter

	QAGame: Added new level sequence to QA-Sequencer level

	#jira UE-29618

Change 3241884 on 2016/12/21 by Alexis.Matte

	Make sure the color grading cursor follow the mouse by using the exponent value when painting the cursor.
	#jira UE-39834

Change 3241869 on 2016/12/21 by andrew.porter

	QAGame: Adding test content for Sequencer Animation Notifies

	#jira UE-29618

Change 3241809 on 2016/12/21 by Chris.Wood

	Fix non-unity build errors in UnrealWatchdog.
	[UE-39940] - GitHub 3054 : Added EngineBuildSettings.h to UnrealWatchdog.cpp

	PR #3054: Added EngineBuildSettings.h to UnrealWatchdog.cpp (Contributed by ryanjon2040)

	#jira UE-39940

Change 3241806 on 2016/12/21 by Marc.Audy

	Don't unload and then reload streaming levels that are marked to be hidden.
	#jira UE-39883

Change 3241802 on 2016/12/21 by Marc.Audy

	Add new object flag RF_NeedInitialization to indicate that ~FObjectInitalizer and PostInitProperties have not been executed for the object
	Do not allow Modify calls on Objects that have not been initialized
	#jira UE-39731

Change 3241790 on 2016/12/21 by Marc.Audy

	Don't rerun construction scripts when an actor has seamless traveled from another level
	#jira UE-39699

Change 3241789 on 2016/12/21 by Marc.Audy

	Check Owner has a valid world before trying to access Scene (4.14.2)
	#jira UE-39560

Change 3241786 on 2016/12/21 by Marc.Audy

	Fixed crash when seamless travelling in PIE from levels other than the current editor level with a streaming sublevel shared with the current editor level
	#jira UE-39407

Change 3241781 on 2016/12/21 by Mitchell.Wilson

	Fixed up redirectors for SkeletalMesh and Personal Walkthroughs.
	#jira UE-30953

Change 3241747 on 2016/12/21 by mason.seay

	Tag Query test map and assets

	#jira UE-29618

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

	Remaking QFE fixes from 4.14 branch.

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

	Update branch name for analytics.

[CL 3272229 by Matthew Griffin in Main branch]
2017-01-25 16:23:41 -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 Zeigler
24a8d60723 Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3208226)
#lockdown Nick.Penwarden
#rb None

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

Change 3173153 on 2016/10/25 by Graeme.Thornton

	Pak signing changes
	 - Integrated into EDL loader
	 - Changed to not encrypt each CRC in the sig file, rather just store a single encryped signature of the entire sig file. Removes need to decrypt thousands of signatures at startup.

Change 3173531 on 2016/10/25 by Steven.Hutton

	Removing unused j query packages.

Change 3174743 on 2016/10/26 by Gil.Gribb

	UE4 - fixed COTF with EDL

Change 3177896 on 2016/10/28 by Steve.Robb

	TSharedPtr and TSharedRef aliasing constructors.
	Removal of static_asserts for TSharedPtr<UObject>.

Change 3180343 on 2016/10/31 by Steve.Robb

	Reimplementation of changes from CL#s 3050329 and 3105715 that were lost in merges 3094597 and 3105741.

Change 3181382 on 2016/11/01 by Steve.Robb

	Visual Studio debugger visualizers for delegates.

Change 3182738 on 2016/11/02 by Graeme.Thornton

	Re-enable signed archive reader so non-pakpreacher based reads still get signature checked

Change 3183420 on 2016/11/02 by Steve.Robb

	Fix to TIsZeroConstructType for TScriptDelegate.

Change 3184872 on 2016/11/03 by Robert.Manuszewski

	Fixing memory stomps in SSL certificate initialization (found with mallocstomp)

Change 3184873 on 2016/11/03 by Robert.Manuszewski

	Adding thread safety checks to async loading code

Change 3185535 on 2016/11/03 by Ben.Zeigler

	Fix it so calling CreateDefaultSubobject with bTransient = true sets the object transient flag. This fixes EDL Crashes involving components.

Change 3186636 on 2016/11/04 by Graeme.Thornton

	AES encryption integrated into EDL system
	Pak signing and AES encryption now configurable by ini files rather than magical text files

Change 3186637 on 2016/11/04 by Graeme.Thornton

	Configured pak signing and encryption in ShooterGame for reference

Change 3186639 on 2016/11/04 by Graeme.Thornton

	Encryption changes for Orion
	* Move pak signing keys into new INI format
	* Add AES key and enable INI file encryption

Change 3186661 on 2016/11/04 by Graeme.Thornton

	Change unrealpak command line params to accept AES key as a separete parameter

Change 3186670 on 2016/11/04 by Robert.Manuszewski

	Adding a null check before using a package pointer in Linker code

	#jira UE-38237

Change 3186775 on 2016/11/04 by Graeme.Thornton

	Fix UBT defines that come in as quoted strings, losing the quotes when passed to the compiler
	 - PS4 and Mac fixes. Other platforms might need fixing too!

Change 3186823 on 2016/11/04 by Graeme.Thornton

	Fixed an incorrect size check in the EDL pak signing code

Change 3186925 on 2016/11/04 by Graeme.Thornton

	Allow UnrealPak to read encryption settings from project ini files

Change 3189885 on 2016/11/08 by Graeme.Thornton

	Static analysis warning fix

Change 3190015 on 2016/11/08 by Robert.Manuszewski

	Thread safety fix for UBlueprintGeneratedClass::PostLoadDefaultObject while UBlueprintGeneratedClass::SerializeDefaultObject runs on the async loading thread

Change 3190253 on 2016/11/08 by Chris.Wood

	Improved MDD performance for on the CR server.
	[UE-37566] - Improve MDD performance on CR server

	Blocked MDD init'ing the crash handling code as it isn't desirable on the server.
	Removed redundant call to SetSymbolPathsFromModules() from CrashDebugHelper.

Change 3192993 on 2016/11/10 by Robert.Manuszewski

	Thread Heartbeat will no longer report the same hang multiple times.

Change 3193111 on 2016/11/10 by Robert.Manuszewski

	Minor change in the condition that detects the same hangs - allow the same callstacks from different threads

Change 3193168 on 2016/11/10 by Steve.Robb

	TSparseArray now reserves space in reverse so that new elements get added to the front of the allocation rather than the back, which is better for memory traversal and meets expectations more closely.

Change 3193171 on 2016/11/10 by Steve.Robb

	Easier debugging of FPendingRegistrantInfo map.

Change 3193188 on 2016/11/10 by Steve.Robb

	TAutoPointer deprecated.

Change 3193796 on 2016/11/10 by Graeme.Thornton

	Fix pak creation failure when no pak signing keys are supplied

Change 3194524 on 2016/11/11 by Graeme.Thornton

	Another static analysis warning fix

Change 3195119 on 2016/11/11 by Steve.Robb

	TAutoPtr deprecated.
	Fixes to use of TAutoPtr with incompatible memory deallocations (TAutoPtr with FMemory::Malloc and new[]).
	Some large headers moved into .cpp files.

Change 3196582 on 2016/11/14 by Gil.Gribb

	UE4 - Changed a check to a warning related to detaching linekrs twice. Seen in nativized BP version of platformer game.

Change 3196878 on 2016/11/14 by Steve.Robb

	TScopedPointer deprecated.

Change 3198061 on 2016/11/15 by Steve.Robb

	Class array is no longer regenerated when saving UClasses.

Change 3198065 on 2016/11/15 by Robert.Manuszewski

	Making AssembleReferenceTokenStream thread safe for blueprints loaded on the async loading thread.

Change 3198199 on 2016/11/15 by Robert.Manuszewski

	Pak platform file will now only be used if pak files exist regardless of command line paraks like -pak, -singedpak and -signed.

Change 3199954 on 2016/11/16 by Graeme.Thornton

	Removing USING_SIGNED_CONTENT

Change 3200221 on 2016/11/16 by Chris.Wood

	CrashReportProcess code cleanup - removing unused using directives

Change 3200232 on 2016/11/16 by Chris.Wood

	Multiple CrashReportProcess updates and improvements (CRP v1.2.6)
	UE-36248 - CRP scalability: All bulk storage or shared data to S3 or suitable network drives

	InvalidCrashReports now saved to S3 instead of local folder
	Removed option tosync MinidumpDiagnostics from Perforce
	Moved MinidumpDiagnostics from old Perforce synched location to its own folder in E:\Services (makes more sense with manual publishing)
	Added improved logging to Slack with option to monitor MDD performance
	Added hourly log folders to MDD logs
	Added support for types of crashes we don't want to symbolicate (using it to skip callstack gen for hang detected ensures)

Change 3200382 on 2016/11/16 by Robert.Manuszewski

	Async Loading code will now detach the linker when resetting async package loader to avoid situations when loading the same asset multiple times results in the following load request finding the old linker after the package has been loading but the async package hasn't been deleted yet (async package for the old request in limbo state but linker exists).

Change 3200562 on 2016/11/16 by Gil.Gribb

	UE4 - Fixed rare issue with reloading nativized blueprints with the EDL and a minor simplication.

Change 3201093 on 2016/11/16 by Ben.Zeigler

	#UE 38654 Fix EDL cooking to correctly search components created directly by UBlueprints, as well as the CDO components it already covered. Also explicitly mark subobject templates as editor only.
	Fix issue where the AssetImportData associated with Blueprint-owned Curves was ending up in the cooked subobject template list. Stopped it from creating those objects, and mark the class editor only.

Change 3201736 on 2016/11/17 by Steve.Robb

	Strtoi64 platform and TCString functions.

	#fyi robert.manuszewski

Change 3201938 on 2016/11/17 by Ben.Woodhouse

	Dummy integrate of the Square render version workaround (CL 3201913) with _accept target_ to prevent it being integrated to dev-core in future.

	Commandline:
	p4 integrate //Tasks/UE4/Dev-LoadTimes/Engine/Source/Runtime/CoreUObject/Private/UObject/LinkerLoad.cpp@3201913,3201913 //UE4/Dev-Core/Engine/Source/Runtime/CoreUObject/Private/UObject/LinkerLoad.cpp

	#fyi robert.manuszewski

Change 3203757 on 2016/11/18 by Robert.Manuszewski

	Removing debug code from async loading code.

Change 3203927 on 2016/11/18 by Robert.Manuszewski

	Fixing comments in the async loading code.

Change 3204851 on 2016/11/18 by Steve.Robb

	Metafunction for testing if a particular operator<< overload exists, e.g. THasInserterOperator<FArchive&, FMyType&>::Value.

Change 3204854 on 2016/11/18 by Steve.Robb

	UEnumProperty.

Change 3205027 on 2016/11/18 by Ben.Zeigler

	Add useful functions to FAssetPtr and TAssetSubclassOf that already existed on TAssetPtr
	Add Get() to TSubclassOf so it matches our other wrappers
	Fix TSubclassOf and TAssetSubclassOf to use the more efficient template method of checking class compatibility
	Comment and template cleanups for AssetPtr, StringAssetReference, LazyPtr, and SubclassOf

Change 3206334 on 2016/11/21 by Ben.Zeigler

	#UE-38773: Fix it so non-component template subobjects of CDOs are not included as creation dependencies for BP classes, also clean up GetPreloadDependencies as it was adding redundant and null entries
	#UE-38799: Fix it so WidgetTrees don't get picked up as subobjects, and add ensure at cook time to find null outers that would crash at runtime. Make sure the instanced widget trees are transient.
	Cook finishes but game is still crashing in some cases, so I might adjust this after other testing

Change 3206353 on 2016/11/21 by Ben.Zeigler

	Fix EnumProperty to handle EDL preload dependencies properly

Change 3206625 on 2016/11/21 by Ben.Zeigler

	Fix enum property crash at runtime by copying what array property does and making sure inner property is not transient

Change 3206937 on 2016/11/21 by Ben.Zeigler

	#jira UE-38905 Fix it so enums inside arrays are migrated properly, the enum tag is lost so use the current one
	Disable other nested enum migrations as they are unlikely to work. Array property tags need to be refactored to be safer
	Correctly save enum tag for enum properties, it was being set but not serialized

Change 3207002 on 2016/11/21 by Ben.Zeigler

	#jira UE-38799
	Fix it so per-widget copy of widget tree and all widgets inside are properly transient, they were being cooked before but never accessed.
	Fix case where non ClientOnly public objects nested instead ClientOnly objects would cook but fail to load, and add ensure to catch these cases in the future.
	If the full outer chain isn't available, it can't be loaded anyway, and this finds issues at cook time instead of load time.
	We should generally outlaw non-transient objects with transient outers, it does not do what people expect.

Change 3207032 on 2016/11/21 by Ben.Zeigler

	#jira UE-38654 Re-Fix EDL cooking with SCS-added components. They used to have the DefaultSubObject flag but no longer do

[CL 3208270 by Ben Zeigler in Main branch]
2016-11-22 18:45:44 -05:00
Unrealbot
3f463d80d4 Branch snapshot for CL 2959226
[CL 2959226 in Main branch]
2016-04-28 13:50:05 -04:00
Robert Manuszewski
18e2561ceb Copying //UE4/Dev-Core to //UE4/Main
==========================
MAJOR FEATURES + CHANGES
==========================

Change 2836261 on 2016/01/20 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1

	Flush FAsyncPackage cache after pre-load to reduce peak memory usage when async loading (5.5-10x).

Change 2828630 on 2016/01/14 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1

	Adding debug code to catch memory stomps in the async loading buffers that's independent from mallocstomp allocator. Changed the signature of PageProtect functions to be able to read-only protect memory.

Change 2816129 on 2016/01/05 by Steve.Robb@Dev-Core

	Fixes for Realloc and alignment logic which caused redundant reallocations and incorrect binning.

Change 2821054 on 2016/01/08 by Steve.Robb@Dev-Core

	Further Realloc savings when realigning within a block.

Change 2806820 on 2015/12/17 by Steve.Robb@Dev-Core

	New AlignDown function, like Align, but which rounds a value/pointer down to the next alignment instead of up.

Change 2806816 on 2015/12/17 by Steve.Robb@Dev-Core

	Sort UHT modules by type to improve iteration times in conjunction with makefiles.

Change 2823235 on 2016/01/11 by Steve.Robb@Dev-Core

	UHT error messages about missing GENERATED_BODY() macros updated to represent intended use.

Change 2806815 on 2015/12/17 by Steve.Robb@Dev-Core

	Module types split into Game and Engine runtime versions.

Change 2833809 on 2016/01/19 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1

	StaticLoadObject will now respect LOAD_NoRedirects flag.

Change 2811194 on 2015/12/22 by Bob.Tellez@Z2434_DevCore

	#UE4 Prevent loading packages that have a newer LegacyFileVersion since serialization for FCustomVersion is not forward compatible. UE-24443

Change 2806818 on 2015/12/17 by Steve.Robb@Dev-Core

	Removal of stats from MallocBinned2, to be readded later.

Change 2807069 on 2015/12/17 by Steve.Robb@Dev-Core

	Clarification of some bucket hashing terminology.

Change 2815117 on 2016/01/04 by Steve.Robb@Dev-Core

	Fix for a missing root build path on game modules.

Change 2815673 on 2016/01/05 by Steve.Robb@Dev-Core

	Move FMalloc verification into a proxy object.

Change 2822873 on 2016/01/11 by Steve.Robb@Dev-Core

	Fixes to off-by-one errors and removal of BinnedSizeLimit (assumed to be the same as MAX_POOLED_ALLOCATION_SIZE after OBO fix).

Change 2822923 on 2016/01/11 by Steve.Robb@Dev-Core

	Simplification of MemSizeToPoolTable indexing.

Change 2824974 on 2016/01/12 by Steve.Robb@Dev-Core

	Assert fixed.
	AllocateBlockFromPool's return value made debuggable.

Change 2825241 on 2016/01/12 by Steve.Robb@Dev-Core

	UHT now returns an error code on a warning when -warningsaserrors is specified.

Change 2825291 on 2016/01/12 by Steve.Robb@Dev-Core

	WarningsAsErrors enabled on UHT, after disabling the hardcoded behavior in CL# 2825241.

Change 2829846 on 2016/01/15 by Steve.Robb@Dev-Core

	GitHub #1938 - wrong Max value of enum is used during net serialization

Change 2829914 on 2016/01/15 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1

	Reduce the amount of memory allocated for async cache buffers when guarding against memory stomps.

Change 2829988 on 2016/01/15 by Steve.Robb@Dev-Core

	Generalized large pool allocations.
	More redundancy removed.

Change 2831935 on 2016/01/18 by Chris.Wood@Chris.Wood.StreamB

	Added UserActivity property to crash description in CRP and CR website.
	[OR-12043] - Phone Home where crashes occur - pass context info to Crash Reporter

	DB column added to db-09 by ColinR matching this change.
	Published to server on Jan 18th 2016

Change 2834003 on 2016/01/19 by Chris.Wood@Chris.Wood.StreamB

	Added Linux to normal callstack parsing code on CR website
	[UE-25527] - Linux CrashReporter is missing information

	Published to server on Jan 19th 2016

Change 2835466 on 2016/01/20 by Joe.Conley@Joe.Conley_EGJWD5708_Dev-Core-Minimal

	Fix issue for cancelling package loads when there are still packages queued.  Call their PackageLoadedDelegate with a "Cancelled" result.

	Should solve remaining issue with UE-24062 - "Calling CancelAsyncLoading triggers an assert in FAsyncPackage::DetachLinker()"
	- (ULevelStreaming::AsyncLevelLoadComplete was not being called if packages were still queued when cancel was issued)

Change 2836803 on 2016/01/20 by Chris.Wood@Chris.Wood.StreamB

	CrashReportWebsite - fix exception thrown when parsing certain callstack formats

Change 2837952 on 2016/01/21 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1

	Changing FAsyncIORequest to be stored as reference when cancelling IO requests to improve performance.

Change 2838289 on 2016/01/21 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1

[CL 2845588 by Robert Manuszewski in Main branch]
2016-01-27 12:09:53 -05:00
Matthew Griffin
bb70b349ce Merging CL 2804086 from //UE4/Release-4.11 to Dev-Main (//UE4/Dev-Main) to isolate copyright update
#lockdown Nick.Penwarden

[CL 2819020 by Matthew Griffin in Main branch]
2016-01-07 08:17:16 -05:00
Robert Manuszewski
97cc1e1be1 Copying //UE4/Dev-Core to //UE4/Main
==========================
MAJOR FEATURES + CHANGES
==========================

Change 2799478 on 2015/12/11 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1

	Added Dev Stream custom versions.

	- Each stream now has its own custom version
	- Developers working in a stream should only modify their respective version

Change 2789867 on 2015/12/04 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1

	UnrealHeaderTool plugins no longer need to be a separate plugin and don't require UnrealHeaderTool source code changes to work.

	- Merged ScriptGeneratorPlugin with ScriptPlugin
	- Introduced the concept of UHT plugin support for plugins so that UHT's source files don't need to be modified to make it work with external plugins
	- Added RuntimeNoProgram module type (module that can be used at runtime but not by program targets).
	- Fixed logic with project file path setting in the engine. It will no longer try to crate a full path from an already rooted path.

Change 2796114 on 2015/12/09 by Steve.Robb@Dev-Core

	TEnumRange - enabled ranged-based for iteration over enum values.

Change 2789843 on 2015/12/04 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream2

	More thorough way of verifying GC cluster assumptions.

Change 2794221 on 2015/12/08 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream2

	Don't merge GC clusters by default

Change 2797824 on 2015/12/10 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1

	Added the option to load all symbols for stack walking in non-monolithic builds.

Change 2790539 on 2015/12/04 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec

	Stats/Profiler - Better handling for live connection, using the same path as file profiles, added FStatsLoadedState to separate runtime stats state from the loaded one

Change 2794183 on 2015/12/08 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1

	Always reset events when returning them to pool.

Change 2794406 on 2015/12/08 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream2

	Fixing -unversioned flag being completely ignored when cooking

Change 2794563 on 2015/12/08 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream2

	Making sure string referenced assets don't get cooked if referenced by editor-only properties.

Change 2795124 on 2015/12/08 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec

	Profiler - Fixed bad data in min/max/avg inclusive times, added min/max/avg num calls, fixed event graph tooltip not displaying correct values

Change 2796208 on 2015/12/09 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec

	Profiler - Remove support for multiple instances in the profiler (game thread is always visible, a few crash fixes, cleaned code a bit)

Change 2797658 on 2015/12/10 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1

	Allocation verification helpers. Helps with tracking down memory stomps, freeing the same pointers multiple times.

Change 2797699 on 2015/12/10 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1

	Fix incorrect asset loading in Cooked game data (by bozaro)

	PR #1844

Change 2798173 on 2015/12/10 by Steve.Robb@Dev-Core

	Migration of Fortnite to use engine's TEnumRange.

Change 2798217 on 2015/12/10 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec

	PR #1331
	[Core] Added a stomp allocator that allows finding memory overruns, underruns, and read/write after free. (Contributed by Pablo Zurita)

Change 2799605 on 2015/12/11 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1

	Fixing a crash when cancelling async loading caused by detaching linker from objects that had RF_NeedLoad flag set.

Change 2799849 on 2015/12/11 by Steve.Robb@Dev-Core

	Migration of Ocean to use engine's TEnumRange.

Change 2803144 on 2015/12/15 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1

	Changed export tagging archive to also serialize class default objects using the normal Serialize path so that it can collect all custom versions used by exports.

Change 2803206 on 2015/12/15 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec

	#jira UE-24177
	Audit ôshippingö defines in engine

Change 2804868 on 2015/12/16 by Steve.Robb@Dev-Core

	Removal of stats from MallocBinned2, to be readded later.

#lockdown Nick.Penwarden

[CL 2805158 by Robert Manuszewski in Main branch]
2015-12-16 11:52:36 -05:00