Commit Graph

20 Commits

Author SHA1 Message Date
Ben Marsh
7c77078af1 Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3345728)
#lockdown Nick.Penwarden

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

Change 3315219 on 2017/02/21 by Steve.Robb

	Fix for FObjectAndNameAsStringProxyArchive when serializing a TWeakObjectPtr.

Change 3315285 on 2017/02/21 by Steve.Robb

	Explicitly pass string builder into code generation functions.

Change 3315341 on 2017/02/21 by Ben.Marsh

	UAT: Clean up some formatting in StreamCopyDescription output - remove #fyi lines, exclude merge commits, and remove some blank lines.

Change 3315350 on 2017/02/21 by Ben.Marsh

	Fix shared resource files not being rebuilt if the version header changes.

Change 3315823 on 2017/02/21 by Ben.Marsh

	UAT: Use a class derived from AutomationException to return information specific to commandlets failing, rather than putting it in the base class.

Change 3315826 on 2017/02/21 by Ben.Marsh

	UAT: Move Distiller class from general use in UAT; FileFilter provides a much safer and fully featured implementation of the same concepts.

Change 3315857 on 2017/02/21 by Ben.Marsh

	UBT: Remove the StripBaseDirectory() and MakeRerootedFilePath() utility functions from UBT. These operations can now be done more safely with FileReference objects.

Change 3315942 on 2017/02/21 by Ben.Marsh

	UBT: Convert FileFilter to use FileReference and DirectoryReference arguments everywhere.

Change 3316236 on 2017/02/22 by Maciej.Mroz

	#jira UE-42045

	Nativization
	Fixed Warning: TEnumAsByte is not intended for use with enum

Change 3316253 on 2017/02/22 by Robert.Manuszewski

	Fixes for the async log file writer hangs and crashes.

	- potential fix for the logging system hang when running out of disk space while flushing log
	- fix for unexpected concurrency assert when flushing the log buffer to disk

Change 3316293 on 2017/02/22 by Steve.Robb

	GetTypeHash and lexicographical comparison operators (operator<() etc.) for TTuple.

Change 3316342 on 2017/02/22 by Maciej.Mroz

	Nativization: Wrappers (stubs) required only by other wrappers are properly generated.

	#codereview: Mike.Beach

Change 3316344 on 2017/02/22 by Maciej.Mroz

	Fixed crash in nativized Odin
	Async loading properly handles nativized structs.

Change 3316359 on 2017/02/22 by Steve.Robb

	GitHub #3287 : Ignore #pragma in USTRUCTs

	#jira UE-42248

Change 3316389 on 2017/02/22 by Matthew.Griffin

	Switched Installed Engine Filters to multiline properties to make them more readable
	Added Oodle to list of excluded plugins
	#jira UE-42030

Change 3316392 on 2017/02/22 by Ben.Marsh

	UBT: Split out FileReference/DirectoryReference classes into their own file.

Change 3316394 on 2017/02/22 by Ben.Marsh

	UBT: Move FileReference/DirectoryReference extension methods into the appropriate file.

Change 3316411 on 2017/02/22 by Ben.Marsh

	UAT: Remove file functions that take multiple arguments. There's not really a compelling use case for these to exist over looping from the calling code.

Change 3316446 on 2017/02/22 by Ben.Marsh

	UAT: Try disabling function name prefix to log output from UAT, to see if it improves readability. Function names are still included in the log file for debugging.

Change 3316575 on 2017/02/22 by Ben.Marsh

	UAT: Remove unused functionality for dealing with labels, and output a more human readable list of P4 settings at startup.

Change 3318481 on 2017/02/22 by Steve.Robb

	Use of FMath::IsPowerOfTwo in check.
	Static assert to ensure that an inline set allocator will have a hash size of a power of two.

Change 3318496 on 2017/02/22 by Steve.Robb

	Fix for TSet visualizers.

Change 3318919 on 2017/02/23 by Steve.Robb

	Fix for hot reloading UScriptStruct-derived objects in a module, where the CDOs of these objects haven't had PrepareCppStructOps() called on them.

	#jira UE-42178

Change 3318942 on 2017/02/23 by Steve.Robb

	Removal of a redundant insertion which can cause problems on reallocation of the map.

Change 3319010 on 2017/02/23 by Ben.Marsh

	UBT: Fix exception when a file that was previously part of the working set is deleted.

Change 3319134 on 2017/02/23 by Robert.Manuszewski

	Better fix for a deadlock when flushing log while it's already being flushed due to flush timer on the async log writer thread.

Change 3319249 on 2017/02/23 by Matthew.Griffin

	Added a function to check if running with debug game libs instead of checking command line in multiple places
	Added -RunConfig parameter, which has equivalent result to -debug if value of parameter starts with 'debug'
	Added -RunConfig=$(Configuration) as a default commandline argument for Mac so that editor can use debug game libs
	Removed -Shipping argument from VCProject generation as it's not used anymore

Change 3319253 on 2017/02/23 by Maciej.Mroz

	#jira UE-41846

	New mechanism to gather modules necessary for Nativized Assets. The modules are listed based on included headers. Previously the dependencies was gathered only in FBlueprintNativeCodeGenManifest::GatherModuleDependencies.

Change 3319591 on 2017/02/23 by Ben.Marsh

	Don't strip prefixes beginning with WARNING: or ERROR: using the Postp filter.

Change 3320357 on 2017/02/23 by Steven.Hutton

	Slight changes to Add Crash method - Returning select fields instead of entity objects in queries for perf reasons.

Change 3320361 on 2017/02/23 by Steven.Hutton

	Performance improvements subsequent to the recent database changes.

Change 3320446 on 2017/02/23 by Steven.Hutton

	adding my temporary performance tracker class - reports to a private slack channel with add crash performance data.

Change 3320479 on 2017/02/23 by Ben.Marsh

	Fix CIS errors.

Change 3320576 on 2017/02/23 by Jin.Zhang

	Update CrashReporter to use AWS

Change 3320742 on 2017/02/23 by Jin.Zhang

	Merging crash caching

Change 3321119 on 2017/02/24 by Robert.Manuszewski

	DLL injection protection support for non-monolithic builds

Change 3323308 on 2017/02/27 by Matthew.Griffin

	Moved compilation of SwarmInterface after its dependencies so that we will see a build failure immediately if they change version in future

Change 3323423 on 2017/02/27 by Chad.Garyet

	Adding a script to check and warn about csproj targeted .net versions being mismatched

	#JIRA UE-39624

Change 3323442 on 2017/02/27 by Ben.Marsh

	UBT: Output an error if an engine module references a game module.

Change 3323743 on 2017/02/27 by Ben.Marsh

	PR #3303: Resolved PVS scan issues (Contributed by projectgheist)

Change 3323748 on 2017/02/27 by Ben.Marsh

	Convert whitespace to tabs.

Change 3324851 on 2017/02/28 by Chris.Wood

	Add Odin symbol locations to engine config for MDD on CR server.

	NotForLicensees

Change 3324979 on 2017/02/28 by Gil.Gribb

	Fixed bad merge of priority change in the EDL.

Change 3326889 on 2017/03/01 by Steven.Hutton

	Update to buggs controller to generate faster queries.

Change 3326910 on 2017/03/01 by Robert.Manuszewski

	Removing legacy #if from PackageFileSummary.

Change 3327118 on 2017/03/01 by Gil.Gribb

	UE4 - Fixed race that resulted in a memory leak when reading compressed paks.

Change 3327633 on 2017/03/01 by Gil.Gribb

	UE4 - Added a cvar to control the pak precacher thottle.

Change 3327674 on 2017/03/01 by Steve.Robb

	Unified boilerplate between all generated code files.

Change 3328544 on 2017/03/01 by Chris.Wood

	CrashReportProcess.config update (CRP v1.2.17)

	Tweaks to a few values.
	Update website URL to explicitly point to old, non-cloud site on devweb-02.

Change 3328714 on 2017/03/01 by Chris.Wood

	Correct CRP config regression. Point website at new cloud site. Still v1.2.17

Change 3329192 on 2017/03/02 by Matthew.Griffin

	Added Shared Build Id file to the list of Precompiled Build Dependencies in a target receipt so that it's brought into an installed build

Change 3329285 on 2017/03/02 by Ben.Marsh

	UGS: Allow a project to specify a filters for the streams that should be displayed for fast-switching to. The QuickSelectStreamList seting in the [Options] section of the project settings references a depot path containing a list of strings used to filter the stream list. An option is shown to switch back to showing all available streams, if desired.

Change 3330636 on 2017/03/02 by Ben.Marsh

	UBT: Bump version number of C++ include cache to force it to be rebuilt with additional include information for the default RC files.

Change 3331262 on 2017/03/03 by Robert.Manuszewski

	Merging Dev-LoadTimes to Dev-Core (Garbage Collection performance improvements)

	- Improved GC multithreading
	- Improved BeginDestroy performance
	- Introduced ULevelActorCluster for StaticMeshActor and ReflectionCapture actor clustering (can be toggled through project settings or console command gc.ActorClusterEnabled)
	- A few improvements to AddReferencedObjects functions
	- Misc improvements to GC code
	- Garbage Collector now properly handles clusters which had their objects marked as pending kill
	- Blueprints can now create clusters too (can be toggled through project settings or console command gc.BlueprintClusteringEnabled, defaults to disabled)

Change 3331285 on 2017/03/03 by Robert.Manuszewski

	A few fixes for the previous check-in.

Change 3332001 on 2017/03/03 by Ben.Marsh

	UBT: Add support for generating a UDN file containing the valid settings for BuildConfiguration.xml. Pass -configdoc=<filename> on the command line to generate such a file.

Change 3332022 on 2017/03/03 by Ben.Marsh

	Update documentation for where to find the BuildConfiguration settings.

Change 3332031 on 2017/03/03 by Ben.Marsh

	Remove documentation for Windows XP support; it has been removed in the 4.16 release.

Change 3332256 on 2017/03/03 by Ben.Marsh

	UBT: Add support for generating a UDN page containing module and target settings.

Change 3332458 on 2017/03/03 by Ben.Marsh

	UBT: Improvements to generated documentation.

Change 3332459 on 2017/03/03 by Ben.Marsh

	Add generated documentation for .target.cs files, .build.cs files, and BuildConfiguration.xml files.

Change 3332460 on 2017/03/03 by Ben.Marsh

	UBT: Make LinkTypePrivate actually private, so it doesn't show up in the docs.

Change 3332899 on 2017/03/06 by Robert.Manuszewski

	Making sure actor clustering is not used in the editor (fix for actors being deleted when GC runs in the editor)

	#jira UE-42548

Change 3332955 on 2017/03/06 by Maciej.Mroz

	Nativization distinguishes client and server platform:
	- Separated lists on additional assets, additional modules, excluded assets, excluded modules, excluded paths (in config)
	- Context (compilation options, nativization options and platform) is deliveren to BPCOmpilerCppBackend in FCompilerNativizationOptions struct.
	- Wrappers (for unconverted BPs) are created only when they are directly called.

	- Fortnite dedicated server can be nativized

Change 3332990 on 2017/03/06 by Ben.Marsh

	UBT: Add more comprehensive wrapper methods for System.IO.File and System.IO.Directory to FileReference and DirectoryReference.

Change 3333032 on 2017/03/06 by Ben.Marsh

	Documentation for build tools

Change 3333037 on 2017/03/06 by Ben.Marsh

	Add a build step to extract UAT and UBT documentation from XML comments.

Change 3333089 on 2017/03/06 by Ben.Marsh

	UAT: Re-enable logging the calling function to the console in UAT. Needs a pass for readability first.

Change 3333651 on 2017/03/06 by Gil.Gribb

	UE4 - Fix a werid recursive situation where StaticLoadObject could return an object that has not finished loading. Also produces a fatal error if this sometimes happens. EDL only.

Change 3335236 on 2017/03/07 by Ben.Marsh

	UGS: Set the sync changelist separately to the compatibility changelist.

Change 3335261 on 2017/03/07 by Gil.Gribb

	UE4 - Fixed batched render fences when BeginDestroy calls FlushRenderingCommands.

Change 3335740 on 2017/03/07 by Gil.Gribb

	maybe fix static analysis warning

Change 3335945 on 2017/03/07 by Steve.Robb

	Move FFindInstancedReferenceSubobjectHelper code out of header.
	Add map/set property support to allow instanced members of these container types to be handled during CPFUO.

	https://udn.unrealengine.com/questions/349232/tmap-with-instanced-object-as-value-gets-cleared-o.html

Change 3336693 on 2017/03/07 by Ben.Marsh

	UBT: Use shared PCHs for game plugins by default, to reduce time spent generating individual PCHs.

Change 3336694 on 2017/03/07 by Steve.Robb

	Static assert added to TMap to prevent the use of keys which don't implement a GetTypeHash.
	Fixes to types which relied on implicit conversions when calling GetTypeHash.
	Workaround in SAssetView.h and PropertyEditorModule.h for an apparent VC bug where the compiler wrongly instantiates TPointerIsConvertibleFromTo for certain forward-declared types, causing future TSharedPtr conversions to fail.

	#jira UE-42441

Change 3336698 on 2017/03/07 by Steve.Robb

	Hardcoded endpoint handling replaced with a generic string.
	Obsolete .proto and .java code generation removed.

Change 3336811 on 2017/03/07 by Wes.Hunt

	Add a game blacklist to the crash report processor. Fixed a syntax error in Config.cs, added a XML comment to shut up a warning.

Change 3336973 on 2017/03/08 by Steve.Robb

	Fix for missing GetTypeHash in a plugin.

Change 3336996 on 2017/03/08 by Steve.Robb

	Significant refactor of code generation, to try and make data flow more apparent.

Change 3337571 on 2017/03/08 by Steve.Robb

	CIS fixes for missing GetTypeHash functions.
	Non-unity fix.

Change 3337588 on 2017/03/08 by Gil.Gribb

	UE4 - Fixed obscure check with flushing rhi resources.

Change 3337620 on 2017/03/08 by Steve.Robb

	WITH_HOT_RELOAD_CTORS macros removed.
	UseVTableConstructors config option removed.

Change 3339369 on 2017/03/09 by Steve.Robb

	GetTypeHash overload for nn::account::Uid.

Change 3339464 on 2017/03/09 by Daniel.Lamb

	Fixed assert in 4.15 to do with trying to gather dependency info from invalid packages.
	#jira UE-42583
	#test Editor + Cook + Run shootergame

Change 3339465 on 2017/03/09 by Maciej.Mroz

	Fixed serialization issue, after UserDefinedEnum was used in EnumProperty.

Change 3339469 on 2017/03/09 by Maciej.Mroz

	Fixed Nativization problem, when default value is passed as non-const reference.

Change 3340178 on 2017/03/09 by Daniel.Lamb

	Added support for in memory only packages.  The Cooker ignores these and added core functions to recognize these packages.
	Other systems will need to add support where nessisary.

Change 3341002 on 2017/03/10 by Maciej.Mroz

	Nativization: Fixed FFindHeadersToInclude. Headers necessary for owners of subobjects are properly included.

Change 3341076 on 2017/03/10 by Steve.Robb

	Fix for FBakedTextureSourceInfo move semantics.

	#jira UE-42658

Change 3341160 on 2017/03/10 by Gil.Gribb

	UE4 - Fix hazard with SetMaterialUsage from a thread.

Change 3341409 on 2017/03/10 by Steve.Robb

	Reduction of the generated code size for StaticRegisterNatives functions.

Change 3341523 on 2017/03/10 by Steve.Robb

	Code generation simplified.

Change 3341800 on 2017/03/10 by Ben.Marsh

	UnrealVS: Fix UnrealVS compatibility with RTM version of Visual Studio 2017. 2017 toolchain for extensions is no longer able to build <= 2015 extensions due to validation of the VSIX manifest, so create a separate solution for it.

Change 3342034 on 2017/03/10 by Ben.Marsh

	Fix compiler setting not being loaded correctly into the Windows target settings dialog.

	#jira UE-42746

Change 3342041 on 2017/03/10 by Ben.Marsh

	Fix -ErrorOnEngineContentUse not being set in the cooker options correctly.

Change 3342094 on 2017/03/10 by Steve.Robb

	Fix to deteministic name order during code generation.

Change 3342251 on 2017/03/10 by Daniel.Lamb

	Integrate fix for resave lightmaps commandlet when upgrading from no mapbuilddatapackages to mapbuilddatapackages.
	#thanks Tim.Hagberg

	#test None

Change 3342961 on 2017/03/13 by Robert.Manuszewski

	Fixing memory leak when playing while running -nullrhi on the commandline in cooked games caused by shader resources not being destroyed.

	#jira FORT-38977

Change 3343022 on 2017/03/13 by Steve.Robb

	GetTypeHash fixes for FUniqueNetIdLive.

	#jira UE-42788

Change 3343448 on 2017/03/13 by Steve.Robb

	Compiled-in defer object order fixed.
	Debuggability of the deferred registration map improved.

	#jira UE-42828

[CL 3345747 by Ben Marsh in Main branch]
2017-03-14 15:48:33 -04:00
Ben Marsh
111ec7adc5 Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3314870)
#lockdown Nick.Penwarden

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

Change 3284872 on 2017/02/03 by Graeme.Thornton

	Seperate pak cache granularity from pak signing chunk size

Change 3285765 on 2017/02/03 by Graeme.Thornton

	Fix stats warnings because each slate new loading screen thread has the same stat name, but is assigned to a different thread

	#jira UE-41478

Change 3286913 on 2017/02/04 by Ben.Marsh

	IncludeTool: Merging fixes.

	* Don't remove existing forward declarations unless explicitly instructed to do so. Files are optimized with these declarations in place, so removing them can cause output files to fail to build. It can be a useful separate step though, so expose it as a command-line option instead.
	* Add a specific option for which files should be output by the tool. Any files which are excluded from this list are treated specially when generating output files, so as to prevent them from causing files to be omitted from other files that include them. Also add an option to force this mode for all headers, for use when testing formatting/include path generation.

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

	UBT: Move platform settings into platform-specific TargetRules objects.

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

	Merge UEBuildPlatformContext into UEBuildPlatform. Now that targets can have platform-specific settings, there is no need to separate a platform class which contains target-specific information.

Change 3287398 on 2017/02/06 by Steve.Robb

	Fix for UHT failing when -WarningsAsErrors and -Verbose are specified together.

Change 3287399 on 2017/02/06 by Steve.Robb

	Log verbosities made more readable in the debugger.

Change 3287410 on 2017/02/06 by Steve.Robb

	Fix for TStructOpsTypeTraits where WithCopy gives a different result between specializing the traits and not providing WithCopy and not specializing the traits at all.

	#fyi marc.audy

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

	Prevent forward declaration of the ITextData class. We need to include the header for the debugger visualizers to work correctly.

Change 3291817 on 2017/02/08 by Steve.Robb

	New EBlueprintCompileReinstancerFlags used to construct FBlueprintCompileReinstancer, instead of lots of bools.

Change 3292090 on 2017/02/08 by Graeme.Thornton

	Crash fix - don't update font engine services if it was never created

	#jira UE-33953

Change 3292993 on 2017/02/08 by Ben.Marsh

	Add an option to disable force-including PCHs for files in the non-unity working set. (bAdaptiveUnityDisablesPCH)

Change 3293231 on 2017/02/08 by Ben.Marsh

	BuildGraph: Allow overriding the changelist that a badge should be displayed for (with the Change="" attribute on the Badge declaration in XML), so the code changelist can be used if necessary. Also link to the failed step if only one has failed.

Change 3294213 on 2017/02/09 by Ben.Marsh

	EC: Allow setting a property on frequent CI jobs that allows us to exclude it from job searches for generating the dashboard. Filtering on the client side is causing dashboard pages to be almost empty.

Change 3294753 on 2017/02/09 by Ben.Zeigler

	#jira UE-41151 Fix UObjectLibrary::RemoveObject to remove from the correct array, and add comment mentioning that the dynamic use of Object Library is semi-deprecated

Change 3296070 on 2017/02/09 by Ben.Zeigler

	Explicitly turn off Copy for a struct that has a linked list internally. I think turning Copy on by default for all non POD Types is pretty risky and is likely to crash for other games. In this case it was being copied for network replication, and it didn't have one defined so the default C++ one copied the linked list and crashed on destruction.

Change 3296420 on 2017/02/10 by Graeme.Thornton

	Remove remaining references to AES_KEY, instead using the encryption key delegates to access the key where needed
	Refactored encryption and signing key access in unrealpak to make it easier to use

Change 3296609 on 2017/02/10 by Ben.Marsh

	BuildGraph: Fix error running the <Copy> task with an empty "From" argument.

	* FileSystemReference.IsUnderDirectory() was not correctly handling cases where the directory was a root directory (and has to end in a path separator)
	* FilePattern.AsDirectoryReference() with an empty token would append a path separator to an empty string, resulting in it referencing the root directory rather than the given base directory.

Change 3297440 on 2017/02/10 by Ben.Marsh

	UBT: Move the FileFilter class into UnrealBuildTool.

Change 3297725 on 2017/02/10 by Ben.Zeigler

	#jira UE-39199 Fix issue with enum value redirects using the wrong short or long name, it now fully supports both.
	Clean up a lot of confusingly named and broken functions on UEnum:
	#jira UE-41348 Deprecate FindEnumIndex, GetEnum, GetEnumName, replace with GetIndexByName, GetNameByIndex, and GetNameStringByIndex and clean up warnings
	#jira UE-38187 Deprecate GetDisplayNameText and GetEnumText, replaced both with GetDisplayNameTextAtIndex which is now callable outside the editor and has a better comment
	Deprecate FindEnumRedirects and replace with GetIndexByNameString. Fix code to not check the redirects array 5 times per enum lookup
	Fix GetValueAsString to actually act on a value, not an index. This matches common usage and the function's name
	While fixing deprecation warnings on internal games, fixed dozens of cases where it was using Index functions when it should have been using Value functions
	Delete some now redundant enum editor code and pipe everything through UEnum

Change 3297979 on 2017/02/10 by Ben.Zeigler

	Fix issues parsing Enums that are literally the string "None", which is allowed but leads to some odd behavior

Change 3298299 on 2017/02/10 by Steve.Robb

	TTuple improvements:
	- equality comparable
	- serializable
	- in the correct folder

	2-tuples are specialized to be syntactically compatible with both TPair and TTuple.
	TPair is now an alias for a 2-tuple and is no longer bound to TPairInitializer.

	#fyi robert.manuszewski,ben.marsh

Change 3298460 on 2017/02/11 by Ben.Marsh

	UGS: Set the correct result from running custom tasks.

Change 3298462 on 2017/02/11 by Ben.Marsh

	UBT: Fix some deprecated messages that have the wrong release version, and add a better message for how ModuleRules constructors need to be updated.

Change 3299447 on 2017/02/13 by Graeme.Thornton

	Fix AES and pak signing key embedding for content only projects
	 - Force temp target when any keys are specified by project config

Change 3299649 on 2017/02/13 by Steve.Robb

	PLATFORM_HAS_DEFAULTED_OPERATORS fixed.
	Other obsolete compiler switches removed.

Change 3299787 on 2017/02/13 by Steve.Robb

	IsAbstract() for testing if a reflected native type contains pure virtual functions.  Needed for BP nativization.

	#fyi robert.manuszewski

Change 3300576 on 2017/02/13 by Ben.Marsh

	EC: Add support for starting builds on any agent type. Mapping from agent types to resource pools is stored in an EC property sheet (/Generated/<Stream>/AgentTypes), allowing EC procedures to map it to a resource pool from a parameter.

Change 3300600 on 2017/02/13 by Ben.Marsh

	EC: Add the -ClearHistory argument to UAT run to export BuildGraph settings, to allow running on incremental workspaces.

Change 3300624 on 2017/02/13 by Ben.Marsh

	Switch incremental builds for all streams to start up on the incremental agent.

Change 3302134 on 2017/02/14 by Steve.Robb

	UnrealCodeAnalyzer removed.

	#fyi ben.marsh,robert.manuszewski

Change 3302639 on 2017/02/14 by Ben.Zeigler

	Fix crash cooking odin with default command line
	#jira UE-41952 Delete StealthTeleport map that crashes on load, and update default cook list that gets used if nothing specified

Change 3303002 on 2017/02/14 by Ben.Zeigler

	#jira UE-41061 Fix it so editor only filtering on savepackage is uniformly applied regardless of if it's at package or object level
	#jira UE-41880 Rewrite editor/client/server only filtering logic in SavePackage to fix various bugs. It now does all of the filtering up front, and won't process any filtered objects for imports or exports
	Rename NotForEditorGame to NotAlwaysLoadedForEditorGame and improve comments, this flag says that the asset should be loaded EVEN IF it is editor only, it does not affect loading for normal objects
	Change the non-map cook flags to RF_Public instead of RF_Standalone. Blueprint classes aren't RF_Standalone so were only being cooked before due to an accident of the dependency checker
	Change it so anything with a Transient outer is marked transient at save time. These objects would not save out properly anyway
	Fix it so -cooksinglepackage works properly again and excludes localization and startup packages
	Tested with Fortnite and Odin, Odin works but with lots of warnings with nativization on which I need to investigate

Change 3303084 on 2017/02/14 by Ben.Zeigler

	Attempt to get Nativization and EDL working without warnings

	Change 3305153 on 2017/02/15 by Ben.Zeigler

	Fix Fortnite and Orion cook, I don't understand why this passed my local testing
	Fix the CDO subobject finder to actually return things instead of doing nothing, and fix a shadow variable warning

Change 3305959 on 2017/02/16 by Gil.Gribb

	UE4 - Tweaked out the EDL loader for the switch with benefits to all platforms.

Change 3306159 on 2017/02/16 by Ben.Marsh

	Fix path to target binaries when building non-monolithic in a unique build environment.

Change 3306584 on 2017/02/16 by Steve.Robb

	UEnum internal functions renamed from Index to Value.
	GetValueAsString_Internal() parameter now takes an int64, as is expected for enum values.

	#fyi ben.zeigler

Change 3307836 on 2017/02/16 by Ben.Zeigler

	#jira UE-42055 Load very old redirects in cooked builds. Matinee has no way of resaving redirects, so as long as matinee exists we need to keep them around forever, or fix matinee manually
	Fixes lighting in Infiltrator demo

Change 3307929 on 2017/02/16 by Ben.Zeigler

	#jira UE-42055 Second half of matinee redirector fix

Change 3308840 on 2017/02/17 by Matthew.Griffin

	Reimplementing CL#3305808 from 4.15

		Changed QA label build process so that it only allows version with 3 components (we always add the .0 for initial releases)

Change 3309115 on 2017/02/17 by Ben.Marsh

	Windows: Fix the GetModulesDirectory() function always returning the engine binaries directory. It's possible to build non-monolithic targets which output all engine binaries to the game binaries directory - a requirement to being able to set game-specific defines or build settings, because we don't want shared engine binaries to be tainted with them. The module manager needs to be able to operate early on,  before many of the game settings have been initialized, so just return the directory containing the Core module instead.

Change 3309120 on 2017/02/17 by Ben.Marsh

	Fix support for creating modular builds which don't use the shared build environment.

Change 3309125 on 2017/02/17 by Ben.Marsh

	Require that -CookDir arguments are specified separately on the command line. '+' is a valid path character (and common in build versions), so we shouldn't treat it as an argument separator.

Change 3309128 on 2017/02/17 by Ben.Marsh

	Fix UnrealPak failures when enumerating all files from a source directory, if that directory happens to contain spaces.

Change 3309131 on 2017/02/17 by Ben.Marsh

	Fix list of discovered assets being cleared by second call to FindFilesRecursive() when building DDC. Disable the -cookdir parameter again.

Change 3309140 on 2017/02/17 by Ben.Marsh

	UAT: Fix exception moving a file from one location to another if the target directory does not exist.

Change 3309212 on 2017/02/17 by Ben.Marsh

	Fixes/improvements for mod editor and code mods:

	* A separate top-level project is generated for each code mod in the Visual Studio solution.
	* Plugin descriptors now have a flag to identify themselves as mod as opposed to a regular game plugin, which prevents project plugins from getting their own VS project. New mods created with the mod editor will have this set by default, as do the three existing sample mods.
	* Cleaning and building code mods will never modify engine binaries. Presence of the Engine/Build/InstalledProjectBuild.txt file is used to indicate running in this environment. This flag also disables options to edit metadata for non-mod plugins in installed builds.
	* Plugin browser now includes a separate category for mods.
	* Mod editor now behaves as an "installed" program by default, and will use the user's home folder for storing settings.

Change 3309231 on 2017/02/17 by Steve.Robb

	Fix for Ar << bSomeBool where Ar is a derived class which overrides an operator<<.

	#jira UE-42052

Change 3309248 on 2017/02/17 by Ben.Marsh

	Add support for hot-reloading game plugin modules from Visual Studio, as long as their module returns IsGameModule() = true.

Change 3309257 on 2017/02/17 by Ben.Marsh

	Prevent game binaries from being renamed for hot reload when working with installed projects.

Change 3309355 on 2017/02/17 by Steven.Hutton

	Changes to make the website compatible with the new database changes.

Change 3309371 on 2017/02/17 by Ben.Marsh

	Fix exception on shutdown when running asset registry with threads disabled.

	#jira UE-41951

Change 3309389 on 2017/02/17 by Ben.Zeigler

	#jira UE-42051 Fix ensure and crash when loading a null asset ID via the LoadAsset BP node

Change 3309570 on 2017/02/17 by Gil.Gribb

	UE4 - Switch load time performace tweaks, plus abstracted the IO tracker and handle manager for other platforms and applied it to the PS4.

Change 3310039 on 2017/02/17 by Ben.Marsh

	BuildGraph: Prevent exception when trying to delete a file that does not exist.

Change 3311484 on 2017/02/20 by Chris.Wood

	CrashReportProcess crash add retry logic improvements (CRP v1.2.16)

Change 3311600 on 2017/02/20 by Matthew.Griffin

	Updated StripSymbols functions so that all platforms can deal with the source and target file being the same

Change 3311675 on 2017/02/20 by Steve.Robb

	FNativeClassHeaderGenerator::CurrentSourceFile stack replaced with C++ stack.

Change 3311893 on 2017/02/20 by Ben.Marsh

	UGS: Add support for notifying users if CIS steps fail for content changes. Badges which test content should be listed in the [Notifications] section of the project-specific INI file, through +ContentBadges= lines.

Change 3313966 on 2017/02/21 by Ben.Marsh

	Fix EC parsing of error messages output by the editor in the form "LogXYZ:Error:". Greedy optional subexpression in regex was matching everything until a space, so terminate a colon too.

Change 3314398 on 2017/02/21 by Ben.Zeigler

	#jira UE-42212 Fix shutdown of AnimGraph module to be safer

[CL 3315211 by Ben Marsh in Main branch]
2017-02-21 15:51:42 -05:00
Ben Marsh
5275490168 Copying //UE4/Dev-Build to //UE4/Dev-Main (Source: //UE4/Dev-Build @ 3277940)
#lockdown Nick.Penwarden
#rb none

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

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

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

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

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

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

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

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

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

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

	UBT: Add attribute-driven command line parser.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

	Replace all uses of TargetRules.TargetType with TargetType.

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

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

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

	UBT: Remove toolchain support for Windows XP.

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

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

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

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

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

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

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

	Build: Fixes for conforming incremental workspaces:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

	EC: Add a batch file for testing postp filters.

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

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

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

	UBT: Fix Android support for force included headers.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

	UBT: Merge the LinkEnvironment and LinkEnvironmentConfiguration classes together.

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

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

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

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

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

	UBT: Move executor config settings onto the executor instances.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

	#jira UEB-729

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

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

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

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

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

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

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

	UBT: Include plugin config files in generated projects.

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

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

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

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

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

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

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

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

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

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

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

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

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

	UBT: Fix additional files copied into the app bundle always being updated on Mac. Now uses rsync --checksum to make sure only modified files are updated.

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

	UBT: Fixes for bugs detected by PVS Studio (PR #3161)

Change 3272421 on 2017/01/25 by Ben.Marsh

	Fix commends regarding DDC in BaseEngine.ini

	#jira UE-41076

Change 3272810 on 2017/01/25 by Ben.Marsh

	Fix VS2017 being displayed as 'Visual Studio 15' in the Windows target settings panel.

Change 3272935 on 2017/01/25 by Ben.Marsh

	Fix Metal errors launching on Mac due to use of OSX environment settings before they are initialized. Toolchain settings are now constructed on demand in a separate class, for Mac, iOS and TVOS.

Change 3274167 on 2017/01/26 by Ben.Marsh

	Fix resource files not being compiled in installed builds on Windows. Was causing metadata not to be embedded into executables.

	#jira UE-36457

Change 3275557 on 2017/01/27 by Ben.Marsh

	Expand checks for propagation of restricted folder names to include source files, and to ensure that each restricted folder is represented in the output. Also improve messaging to show the dependency chain leading to a restricted folder being referenced, and which folder it is.

Change 3275628 on 2017/01/27 by Ben.Marsh

	UBT: Splitting configuration files into one class per-file.

Change 3276784 on 2017/01/29 by Ben.Marsh

	Add an authoritative list of confidential folder names, and expose it through global BuildGraph properties ($(RestrictedFolderNames) and $(RestrictedFolderFilter)). Also switch existing scripts to use it.

Change 3276792 on 2017/01/29 by Ben.Marsh

	UBT: Use UE4CSharp.prog files to indicate which projects should be included in the solution without having to hard-code a list of them in UBT.

Change 3277263 on 2017/01/30 by Ben.Marsh

	IncludeTool: Merging various fixes.

	* Fix warnings about #include directives after first code block from parsing monolithic headers.
	* Fix exception on startup if the intermediate directory does not already exist.
	* Add a special case for ignoring missing header guards from MonolithicHeaderBoilerplate.h, rather than marking it as an inline header. Marking it as inline prevents parsing include directives, which results in including CoreTypes.h from the wrong location.
	* Create job objects for spawned compiler instances to prevent them trying allocating more memory than the system can spare.
	* Remove (unused) code which makes assumptions about files ending with "Classes.h".
	* Add a verbose per-file output log to aid with debugging.
	* Negate the MakeStandalone command line option, which was added to allow tweaking forward declarations in already optimized files, so the optimized output does not have missing headers by default.
	* Fix missing headers when creating standalone files, due to incorrect list of previous files being passed in to the OutputFile constructor. Now passes the original list of included files, not the output list.
	* Fix initial header for a cpp file sometimes being removed. Forcibly including a header at the start of the file does not use the normal pathway for spidering through includes, so a second include of the same file was being generated. Any includes of that header were being forced into output, and the earlier include was then removed due to being redundant.
	* Prevent forward declaring enums which have to be parsed by UHT. UHT relies on includes to determine a parse order, and will fail if the enum definition has not been parsed first.
	* Use a relative path for private includes in the same module if there are any. Fixes some incorrect paths, and makes it clearer that we're doing something we shouldn't.

Change 3277307 on 2017/01/30 by Ben.Marsh

	UBT: Fix private PCHs not using correct header. Causes custom definitions to be excluded from the command line.

[CL 3278101 by Ben Marsh in Main branch]
2017-01-30 16:52:08 -05:00
Ben Marsh
20bf0eb6a1 Updating copyright notices to 2017 (copying from //Tasks/UE4/Dev-Copyright-2017).
#rb none
#lockdown Nick.Penwarden

[CL 3226823 by Ben Marsh in Main branch]
2016-12-08 08:52:44 -05:00
Ben Marsh
4ba423868f Copying //UE4/Dev-Build to //UE4/Dev-Main (Source: //UE4/Dev-Build @ 3209340)
#lockdown Nick.Penwarden
#rb none

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

Change 3209340 on 2016/11/23 by Ben.Marsh

	Convert UE4 codebase to an "include what you use" model - where every header just includes the dependencies it needs, rather than every source file including large monolithic headers like Engine.h and UnrealEd.h.

	Measured full rebuild times around 2x faster using XGE on Windows, and improvements of 25% or more for incremental builds and full rebuilds on most other platforms.

	  * Every header now includes everything it needs to compile.
	        * There's a CoreMinimal.h header that gets you a set of ubiquitous types from Core (eg. FString, FName, TArray, FVector, etc...). Most headers now include this first.
	        * There's a CoreTypes.h header that sets up primitive UE4 types and build macros (int32, PLATFORM_WIN64, etc...). All headers in Core include this first, as does CoreMinimal.h.
	  * Every .cpp file includes its matching .h file first.
	        * This helps validate that each header is including everything it needs to compile.
	  * No engine code includes a monolithic header such as Engine.h or UnrealEd.h any more.
	        * You will get a warning if you try to include one of these from the engine. They still exist for compatibility with game projects and do not produce warnings when included there.
	        * There have only been minor changes to our internal games down to accommodate these changes. The intent is for this to be as seamless as possible.
	  * No engine code explicitly includes a precompiled header any more.
	        * We still use PCHs, but they're force-included on the compiler command line by UnrealBuildTool instead. This lets us tune what they contain without breaking any existing include dependencies.
	        * PCHs are generated by a tool to get a statistical amount of coverage for the source files using it, and I've seeded the new shared PCHs to contain any header included by > 15% of source files.

	Tool used to generate this transform is at Engine\Source\Programs\IncludeTool.

[CL 3209342 by Ben Marsh in Main branch]
2016-11-23 15:48:37 -05:00
Ben Marsh
40ce00f966 EC: Less restrictive regex to exclude even more PS4 warnings.
#rb none
#lockdown Nick.Penwarden

[CL 3151597 by Ben Marsh in Main branch]
2016-10-05 08:10:30 -04:00
Ben Marsh
8087019d18 EC: Ignore PS4 deprecation warnings on the build farm.
#codereview Luke.Thatcher
#rb none
#lockdown Nick.Penwarden

[CL 3151027 by Ben Marsh in Main branch]
2016-10-04 17:08:41 -04:00
Ben Marsh
63ab3d83c2 Copying //UE4/Dev-Build to //UE4/Dev-Main (Source: //UE4/Dev-Build @ 3145834)
#lockdown Nick.Penwarden
#rb none

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

Change 3129636 on 2016/09/17 by Ben.Marsh

	UBT: Add a "-nolink" option which allows compiling object files without linking them into an executable. Useful for non-unity builds, which take a very long time to link or fail on some platforms due to command lines being too long, PDB file having too many records, etc...

Change 3129825 on 2016/09/18 by Ben.Marsh

	UBT: Don't force Linux to build in unity; it seems to build fine without.

Change 3129965 on 2016/09/19 by Matthew.Griffin

	Duplicating CL#3129960 from Release-4.13
	Exclude NetworkProfiler when building CS tools for Linux

Change 3130653 on 2016/09/19 by Ben.Marsh

	UHT: Fix missing "Error:" prefix in output log, causing messages to be ignored for failure emails.

Change 3130662 on 2016/09/19 by Ben.Marsh

	EC: Prevent UHT failures from being reported twice, and remove the need for special case to show UHT summary output.

Change 3131956 on 2016/09/20 by Matthew.Griffin

	Addtional fixes for compiling Editor as a monolithic executable
	Change so monolithic editor is output to Project Binaries directory
	Removed duplicated ReturnContainerIndexFromChannelName function
	Only check for out of date modules for non monolithic editor
	Don't define GIsGameAgnosticExe or PER_MODULE_BOILERPLATE for monolithic editor, done elsewhere
	Correct IMPLEMENT_MODULE for QuadricMeshReduction and AudioCapture modules

Change 3132112 on 2016/09/20 by Ben.Marsh

	Docs: Remove reference to UBT environment variables from configuration docs.

Change 3132815 on 2016/09/20 by Ben.Marsh

	AutomationTool: Delete GUBP. Everything now uses BuildGraph!

Change 3132871 on 2016/09/20 by Ben.Marsh

	UBT: Remove GUBP callbacks from TargetRules instances.

Change 3132987 on 2016/09/20 by Ben.Marsh

	Allow public distribution of the compiled SimplygonMeshUtilities binaries.

Change 3133974 on 2016/09/21 by Ben.Marsh

	Allow public distribution of the SimplygonSwarm module. Requires a separate Simplygon DLL (still in a NotForLicensees folder) to function correctly.

Change 3137228 on 2016/09/22 by Ben.Marsh

	UAT: Merging fix to parallel executor on Linux from 4.13 branch.

Change 3139783 on 2016/09/26 by Matthew.Griffin

	Fixed Xbox support for Installed Builds
	Corrected typo in Xbox+PS4 filter creation and added XboxOnePackageNameUtil.exe
	Added Xbox versions of ThirdParty libs that hadn't been specified until now

Change 3141721 on 2016/09/27 by Ben.Marsh

	Remove declaration of circular references between FbxAutomationTestBuilder and LevelEditor; causes LevelEditor to be built differently if plugin is enabled, which results in shared build products being invalidated by switching between games.

Change 3141789 on 2016/09/27 by Ben.Marsh

	UBT: Retain the ".suppressed" part of output file names when building import libraries for circularly referenced modules.

Change 3141805 on 2016/09/27 by Ben.Marsh

	UBT: Allow reusing build ids in version manifests as long as we aren't modifying any engine binaries (building more or fewer is permitted), and merge manifests together if possible. Allows building the entire solution through Visual Studio, when some projects may build more modules than another.

Change 3141980 on 2016/09/27 by Ben.Marsh

	EC: Include a "Steps to Reproduce" section in failure emails, which gives the command line to run to execute the step.

Change 3143996 on 2016/09/28 by Ben.Marsh

	BuildGraph: Fix exported job steps having dependencies on nodes behind triggers, causing jobs to never terminate.

Change 3144696 on 2016/09/29 by Matthew.Griffin

	Adding -NoSharedPCH to NonUnity build steps and split them into separate nodes for UE4Editor and UE4Game
	Fixed redefinition of __WINDOWS_DS__

Change 3144931 on 2016/09/29 by Ben.Marsh

	Core: Changes to search paths for DLL loading.

	* The default binaries directory is now added to the list of search paths. Normally LoadLibrary finds these without needing to preload them, but plugins can change the global search paths by calling SetDefaultDllDirectories().
	* Only the top entry of the DLL directory stack is searched. There is typically only one directory here anyway, but the intent is more consistent with the operation of SetDllDirectory().
	* Resolved import paths are converted to absolute, so the resulting calls to LoadLibrary will not be influenced by calls to SetDefaultDllDirectories() changing the base directory.
	* Search paths aren't de-duplicated any more. They don't overlap in practice, and it's not expensive even if they do.

Change 3144932 on 2016/09/29 by Ben.Marsh

	Vulkan: Only add vulkan-1.dll as a delay load dependency from the VulkanRHI module, otherwise it can be added to the linker command-line 20 or more times.

Change 3145011 on 2016/09/29 by Ben.Marsh

	Core: Include the compatible changelist in version manifests, so local builds after syncing with UGS will have the correct compatible changelist numbers post-hotfix.

[CL 3146509 by Ben Marsh in Main branch]
2016-09-30 08:50:19 -04:00
Ben Marsh
3e80336791 Copying //UE4/Dev-Build to //UE4/Dev-Main (Source: //UE4/Dev-Build @ 3092544)
#lockdown Nick.Penwarden
#rb none

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

Change 3079316 on 2016/08/05 by Ben.Marsh

	Better PCH selection in ShaderFormatOpenGL and MetalShaderFormat - make sure Core is the first included header.

Change 3080579 on 2016/08/08 by Ben.Marsh

	Slate: Move DEBUG_TAB_MANAGEMENT into SDockingTabStack.h to remove circular include dependency with DockingPrivate.h.

Change 3080587 on 2016/08/08 by Ben.Marsh

	StandaloneRenderer: Move platform includes into a separate header so we can make individual headers self-contained, without having a circular dependency on StandaloneRendererPrivate.h.

Change 3080789 on 2016/08/08 by Ben.Marsh

	Move BuildGraph tasks for chunking, posting builds, labeling builds, and merging manifests into the MCP project. While we do provide public interfaces for this functionality, we don't currently expect anyone outside Epic to be using them.

Change 3080815 on 2016/08/08 by Ben.Marsh

	BuildGraph: Add a -GenerateDocs option, which writes out an HTML file constructed from C# XML documentation containing all the task information.

Change 3081374 on 2016/08/08 by Ben.Marsh

	UBT: Invalidate the makefile if any UHT headers are deleted. Should fix issue where files are moved from one module to another, and the original module no longer contains any generated headers. Its include path needs to be removed from the compile environment.

Change 3083152 on 2016/08/09 by Ben.Marsh

	PR #2667: Add Intel C++ Compiler support to Windows build (Contributed by JeffRous)

Change 3084039 on 2016/08/10 by Ben.Marsh

	BuildGraph: Add additional markup for parameter attributes. Also improve some documation.

Change 3084240 on 2016/08/10 by Ben.Marsh

	Plugins: Allow plugins in the project folder to replace plugins in the engine folder with the same name. Prohibit multiple plugins with the same name at other times.

Change 3084337 on 2016/08/10 by Ben.Marsh

	UBT: Specify the -precompile option when generating project files for a target, so we include all valid modules for intellisense.

Change 3085594 on 2016/08/11 by Ben.Marsh

	Change modules which reference a public header for their PCH to use a private PCH instead, even if it just includes the public header for now.

Change 3085999 on 2016/08/11 by Ben.Marsh

	Add some missing #pragma once directives.

Change 3086146 on 2016/08/11 by Ben.Marsh

	Core: Move prototype and linkage specifier for ConsoleCommandLibrary_* functions into header matching cpp file.

Change 3086172 on 2016/08/11 by Ben.Marsh

	Fixup some C-style header guards to use #pragma once instead.

Change 3087289 on 2016/08/12 by Ben.Marsh

	Split out UPackage and UMetaData into their own headers (they're already implemented in separate CPP files)

Change 3087310 on 2016/08/12 by Ben.Marsh

	Move method stubs for FNullSlateSoundDevice into a CPP file, since they're exported from the SlateCore module.

Change 3087341 on 2016/08/12 by Ben.Marsh

	UdpMessaging: Move PCH before #if PLATFORM_DESKTOP; it will only be defined if the definition is included.

Change 3087457 on 2016/08/12 by Ben.Marsh

	Core: Reorganize the FTransform and FMatrix headers: Transform.h now includes TransformNonVectorized.h or TransformVectorized.h as appropriate, and UnrealMatrix.h is now Matrix.inl (and included from Matrix.h).

Change 3088407 on 2016/08/13 by Ben.Marsh

	Replace use of Windows SIZE_T define with the regular C++ size_t.

Change 3088416 on 2016/08/13 by Ben.Marsh

	Include a header from all .generated.cpp files (GeneratedCppIncludes.h) which includes all the basic types required to compile them, rather than assuming that the module PCH will include everything.

	Also include the real declarations of noexport classes in Object.h (now renamed to NoExportTypes.h for clarity) when the CPP macro is defined, so the .generated.deps.h file will automatically have the correct definitions for them at compile time rather than relying on them being in the private PCH.

	Finally, rename UObject.h to Object.h for consistency with the naming convention for all other UObject classes. UObject.h still exists for now, but outputs a deprecated message if included.

Change 3088544 on 2016/08/14 by Ben.Marsh

	Core: Move the definition of the TEXT() macro into Platform.h, to avoid having to include OS headers to get it.

Change 3088552 on 2016/08/14 by Ben.Marsh

	Fix compile errors for some modules that don't already include CoreUObject.h.

Change 3088925 on 2016/08/15 by Ben.Marsh

	Remove circular include dependencies from VulkanRHI.

Change 3088926 on 2016/08/15 by Ben.Marsh

	Remove duplicate definition for WITH_FIXED_AREA_ENTERING_COST from EngineDefines.h - always uses the definition from DetourNavMeshQuery.h instead.

Change 3088930 on 2016/08/15 by Ben.Marsh

	Remove circular include dependency from PhysX.

Change 3088935 on 2016/08/15 by Ben.Marsh

	OnlineSubsystemUtils: Move CPP files out of public header directory.

Change 3088965 on 2016/08/15 by Ben.Marsh

	Add private PCH to Landscape, MoviePlayer, TaskGraph, XAudio2 and RealtimeProfiler modules.

Change 3088966 on 2016/08/15 by Ben.Marsh

	Engine: Move CPP files out of public header directories.

Change 3089520 on 2016/08/15 by Ben.Marsh

	BuildGraph: Change documentation command to output markdown.

Change 3090299 on 2016/08/16 by Ben.Marsh

	D3D12RHI: Move around some implementations to fix circular header dependencies which are masked by delayed template instantiation.

Change 3090303 on 2016/08/16 by Ben.Marsh

	Engine: Add a template specialization for TPointerIsConvertibleFromTo<AActor, const volatile UObject> to fix dependency on complete AActor definition for static assert in TWeakPointer<AActor>, which only appears if including Level.h without Actor.h. Delayed template instantiation usually masks this issue.

Change 3091861 on 2016/08/17 by Ben.Marsh

	Remove circular header dependencies, and fix ambiguous include paths in OSVR.

Change 3092068 on 2016/08/17 by Ben.Marsh

	Moving VulkanDynamicRHI into its own header.

Change 3093133 on 2016/08/18 by Ben.Marsh

	EC: Include additional context lines for Clang errors.

Change 3093147 on 2016/08/18 by Ben.Marsh

	UBT: Add an error message when attempting to do a single-file compile with the wrong target selected.

Change 3093228 on 2016/08/18 by Ben.Marsh

	Remove redundant setting for remote server name from XML config, and set it to a valid machine in the engine config.

[CL 3093264 by Ben Marsh in Main branch]
2016-08-18 10:28:43 -04:00
Ben Marsh
2cbba54705 Copying //UE4/Release-Staging-4.12 to //UE4/Main (Source: //UE4/Release-4.12 @ 2992821)
==========================
MAJOR FEATURES + CHANGES
==========================

Change 2992821 on 2016/05/27 by Max.Chen

	Subway Sequencer: Add "Assets" and "Character" to the list of additional directories to cook.

	#jira UE-31279
	#lockdown Cristina.Riveron

Change 2992761 on 2016/05/27 by Max.Chen

	Add assets from "Directories to Always Cook".

	#jira UE-31279

	#lockdown Cristina.Riveron

Change 2992371 on 2016/05/26 by Dmitry.Rekman

	Fix GUBP Tools node (UE-31378).

	#jira UE-31378
	#lockdown Josh.Adams

Change 2992279 on 2016/05/26 by Dmitry.Rekman

	One more fix for UAT compilation failure (UE-31312).

	- Make EnvVarsToXML target framework v4.5.

	#lockdown Josh.Adams
	#jira UE-31312

Change 2992060 on 2016/05/26 by Josh.Adams

	- Reset PVRTC compression quality to default, so cooks don't take forever for IOS. We shipped with PVRTC Quality 4 for the App Store version. This is set in the Cooker Settings in the Project Settings window.
	#lockdown cristina.riveron
	#jira UE-31373

Change 2992009 on 2016/05/26 by Dmitry.Rekman

	Fix packaging on Linux (UE-31312).

	- System.Xml was spelled as System.XML.

	#jira UE-31312
	#lockdown Josh.Adams

Change 2991784 on 2016/05/26 by Martin.Wilson

	Fix for RecalcRequiredBones crashing when there is no lod data

	#jira UE-30028
	#lockdown cristina.riveron

Change 2991744 on 2016/05/26 by Dmitry.Rekman

	Fix Linux code project generation (UE-31322).

	- Also fixes UE-31318 (not reopening when creating BP project).
	- Apparently, we cannot reset all signals to default, this makes posix_spawn() fail after fork (child exits with 127).
	- Added logging of child's return code.

	#lockdown Josh.Adams
	#jira UE-31322
	#jira UE-31318

Change 2991448 on 2016/05/26 by Nick.Darnell

	Disabling the logging in the git module that was added from the previous commit.

	#jira UE-30781
	#lockdown cristina.riveron

Change 2991352 on 2016/05/26 by Max.Chen

	Subway Sequencer: Add "Sequencer" to the list of additional directories to cook.

	#jira UE-31279
	#lockdown Cristina.Riveron

Change 2991121 on 2016/05/26 by Ben.Marsh

	Fix ShooterGame warnings on XboxOne.

	#lockdown cristina.riveron

Change 2991097 on 2016/05/26 by Nick.Darnell

	PR #2386: Git Plugin: fix initialization of a new repository broken by new "migrate" support 4.12 (Contributed by SRombauts)

	#jira UE-30781
	#lockdown cristina.riveron

Change 2991095 on 2016/05/26 by Dmitry.Rekman

	Fix packaging on Linux (UE-31312).

	- Excludes UAT modules unsupported on the platform (e.g. TVOS).

	#jira UE-31312
	#lockdown Josh.Adams

Change 2990806 on 2016/05/25 by Michael.Gay

	Last minute adjustments to SubwaySequencer shots.
	Fixed Fade track on master and moved Event tracks to shots.
	#jira UE-30804
	#lockdown Cristina.Riveron

Change 2990739 on 2016/05/25 by Dan.Oconnor

	Fix for transaction buffer failing to restore preview widget trees, these are regenerated post undo/redo and should not be tagged as transactional
	#jira UE-31155
	#lockdown cristina.riveron

Change 2990657 on 2016/05/25 by Dmitry.Rekman

	Fix crash in mono when invoked by the engine (UE-31312).

	- Reset signal mask on spawning a subprocess. We mask out all signals except explicitly handled, which does not play well with mono.
	- See also https://answers.unrealengine.com/questions/420161/mono-process-crash.html

	#jira UE-31312
	#lockdown Josh.Adams

Change 2990564 on 2016/05/25 by Marc.Audy

	Undo 4.12 change to DetachFromParent when AttachTo is called with a null parent.
	#jira UE-00000
	#lockdown Cristina.Riveron

Change 2990429 on 2016/05/25 by Max.Chen

	Movie Capture: Fix initialization order warning. Follow up to CL #2990314

	#jira UE-31285
	#lockdown Nick.Penwarden

Change 2990338 on 2016/05/25 by Zabir.Hoque

	TEMP Fix: On server enqued render thread work is dropped. So on server release Reflection capture resouce immediately instead of trying to defer enque.

	#jira UE-28838
	#lockdown cristina.riveron

Change 2990314 on 2016/05/25 by Max.Chen

	Movie Capture: Flush the viewport when grabbing frames. This fixes more frame accuracy issues.

	#jira UE-31285
	#lockdown Nick.Penwarden

Change 2990249 on 2016/05/25 by Max.Chen

	Sequencer: Fix tick prerequisites getting removed on stop and not re-set on play. This fixes frame accuracies when rendering in a separate process.

	#jira UE-31285
	#lockdown Nick.Penwarden

Change 2990243 on 2016/05/25 by Lukasz.Furman

	Fixed behavior tree observers not being applied correctly
	#jira UE-31307
	#lockdown Cristina.Riveron

Change 2990206 on 2016/05/25 by Daniel.Lamb

	Make sure min number of threads in the large thread pool is at least 2.
	#jira UE-31253
	#lockdown Cristina.Riveron

Change 2990182 on 2016/05/25 by Max.Chen

	Sequencer: Fix null ptr crash on trying to record from current player. This is a regression from the off by one frame fixes.

	#jira UE-31304
	#lockdown Nick.Penwarden

Change 2990124 on 2016/05/25 by Chris.Bunner

	Avoid creating additional inline code fragment casting matching uniform types.
	#lockdown cristina.riveron
	#jira UE-29089

Change 2989978 on 2016/05/25 by Uriel.Doyon

	Merged fix for issue with resolution scale in PostProcessVisualizeComplexity
	#jira UE-29473
	#lockdown cristina.riveron

Change 2989970 on 2016/05/25 by Taizyd.Korambayil

	#lockdown cristina.riveron
	#jira UE-31293 Added TestMaps Folder and moved all Non-Relevant Maps into it.

Change 2989911 on 2016/05/25 by Chris.Babcock

	Remove warning about Android debugging since CodeWorks for Android Nsight supports VS2015
	#jira UE-31292
	#ue4
	#android
	#lockdown cristina.riveron

Change 2989898 on 2016/05/25 by Robert.Manuszewski

	Splitting inline shader registration from serialization. Serialization can happen on the async loading thread but registration should only happen on the game thread. Removed a lot of critical section locks.

	Reimplementing CL #2952596

	#jira UE-29245
	#lockdown Nick.Penwarden

Change 2989849 on 2016/05/25 by Max.Preussner

	Sequencer: Fixed Crash when playing UMG sequence with audio tracks (UE-31289)

	#jira UE-31289
	#lockdown nick.penwarden

Change 2989793 on 2016/05/25 by Max.Chen

	Sequencer: Change automated capture so it captures in response to a sequence update to fix off by one frames.

	#jira UE-30755
	#lockdown Nick.Penwarden

Change 2989792 on 2016/05/25 by Max.Chen

	Sequencer: Put back setting MaxFPS when forcing fixed frame interval playback to fix motion blur in editor.

	#jira UE-30755
	#lockdown Nick.Penwarden

Change 2989774 on 2016/05/25 by Mike.Beach

	Mirroring CL 2946932

	Guarding against invalid EdGraphPins (ones that have been moved to the transient package) when constructing the widget - prevents a crash that we've been unable to repro or determine the cause of (turns it instead into an ensure, so we can collect more contextual information on the issue).

	#lockdown cristina.riveron
	#jira UE-26998

Change 2989765 on 2016/05/25 by Olaf.Piesche

	Moivng CL 2967970  from Dev-Rendering - fix for
	#jira UE-27297

	#lockdown nick.penwarden

Change 2989481 on 2016/05/25 by Marc.Audy

	Properly route AttachToComponent to SetupAttachment if called from the constructor
	#jira UE-31055
	#lockdown Cristina.Riveron

Change 2989369 on 2016/05/25 by Robert.Manuszewski

	Don't create asset import data for archetype TileMap. Propagate component flags to TileMap if the component is an archetype.

	#jira UE-31033
	#lockdown Nick.Penwarden

Change 2988975 on 2016/05/24 by Max.Preussner

	Sequencer: Fixed Cinematic Camera look at tool crashes on auto save (UE-31195)

	#jira UE-31195
	#lockdown nick.penwarden

Change 2988834 on 2016/05/24 by Max.Chen

	Movie Capture: Crash fix - Protect against null encoding filter.

	#jira UE-31233

	#lockdown Nick.Penwarden

Change 2988764 on 2016/05/24 by Peter.Sauerbrei

	fix for exception when deploying to tvOS from PC
	#jira UE-30318
	#lockdown cristina.riveron

Change 2988540 on 2016/05/24 by Jeff.Campeau

	Disable incompatible OpenVR for Windows XP builds.
	Gut SteamVR and SteamVRController for Windows XP builds (rely on OpenVR).
	#lockdown Nick.Penwarden
	#jira UE-30823

Change 2988491 on 2016/05/24 by Zak.Middleton

	#ue4 - (4.12) Remove version check from serialization logic that fixes up stale transient properties. They would still loaded for archetypes and we always want to prevent that in the future.

	#lockdown cristina.riveron
	#jira UE-30625

Change 2988427 on 2016/05/24 by Aaron.McLeran

	#jira UE-31028 Stop Quietest Concurrency does not remove the quietest sound

	Fix is to not re-add the sound once its stopped due to max concurrency.

	#tests ran the QA test map that demonstrated the problem
	#lockdown cristina.riveron

Change 2988391 on 2016/05/24 by Taizyd.Korambayil

	#lockdown cristina.riveron
	#jira UE-30301 Rebuilt Ligthing for all Content Example Maps

Change 2988315 on 2016/05/24 by Allan.Bentham

	Re-enabled FLUTBlenderPS on vulkan devices. (it's required for protostar)

	#jira UE-31079

Change 2988227 on 2016/05/24 by Frank.Fella

	Sequencer - Add support for forcing editor and runtime evaluation to happen on exact fixed frame intervals.  Updated the subway sequencer sample to work with these changes.

	Change missed in first checkin.

	#Jira UE-30755

Change 2988200 on 2016/05/24 by Robert.Manuszewski

	Assert if MaxObjectsInEditor or MaxObjectsInGame are too big and collide with EInternalObjectFlags

	#jira UE-31218

Change 2988181 on 2016/05/24 by Peter.Sauerbrei

	revert out the last fix and add more logging as I can't reproduce this bug
	#jira UE-30813

Change 2988140 on 2016/05/24 by Frank.Fella

	Sequencer - Add support for forcing editor and runtime evaluation to happen on exact fixed frame intervals.  Updated the subway sequencer sample to work with these changes.

	#Jira UE-30755

Change 2988081 on 2016/05/24 by Jamie.Dale

	Better fix for UE-29651 that will also work with packages saved from a build without an engine version

	There was no version bump for the change to FFormatArgumentData, but VER_UE4_K2NODE_VAR_REFERENCEGUIDS was added at almost the same time so testing that should handle the vast majority of packages that we have internally, and will handle all external packages.

	#jira UE-29651

Change 2987964 on 2016/05/24 by Lee.Clark

	Fix empty ENV path when compiling PS4 targets.

	#jira UE-31210

Change 2987721 on 2016/05/23 by Dan.Oconnor

	Reworking node validation change done in 2910382 so that nodes that are going to spawn other nodes in the expansion step are still validated.
	#jira UE-31099

Change 2987696 on 2016/05/23 by Chris.Babcock

	Update AndroidWorks 1R1 to CodeWorks for Android 1R4
	#jira UEPLAT-1312
	#ue4
	#android

Change 2987624 on 2016/05/23 by Jeff.Campeau

	Fix a define protection for WinXP stack walking support.
	#jira UE-30823

Change 2987607 on 2016/05/23 by Jeff.Campeau

	Windows Stack Walk fixed to work with Windows XP.
	Use the ASCII calls where needed.
	Symbol server is unsupported and is disabled when building for Windows XP.
	#jira UE-30823

Change 2987593 on 2016/05/23 by Zak.Middleton

	#ue4 - (4.12) Reject old serialized values of UMovementComponent::UpdatedComponent and UpdatedPrimitive that were saved before those were marked transient. Mark UPawnMovementComponent::PawnOwner and UCharacterMovementComponent::CharacterOwner as transient, and similarly reject old saved values.

	#jira UE-30625

Change 2987548 on 2016/05/23 by Lukasz.Furman

	Moved newly added gameplay debugger's code out of perception component
	#jira UE-31090

Change 2987510 on 2016/05/23 by Lukasz.Furman

	Restored perception category in old gameplay debugger tool
	#jira UE-31090

Change 2987278 on 2016/05/23 by Ben.Marsh

	Rocket: Add Mac GenerateProjectFiles.sh script into installed engine distro.

	#jira UE-31109

Change 2987156 on 2016/05/23 by Chris.Babcock

	Added GoogleVR to InstalledEngineFilters.ini
	#jira UE-31186
	#ue4
	#android

Change 2987129 on 2016/05/23 by Mieszko.Zielinski

	Fixed FNavigationFilterArea not zeroing its properties in default constuctor #UE4

	#jira UE-31185

Change 2987100 on 2016/05/23 by Peter.Sauerbrei

	fix for crash in DeploymentServer when attempting to copy a file with a space in the path or name
	#jira UE-30813

Change 2987064 on 2016/05/23 by Dmitry.Rekman

	PR #2164: [Linux] Fix clang '&&' within '||' error (Contributed by slonopotamus)

	#jira UE-28537

Change 2987002 on 2016/05/23 by Aaron.McLeran

	#jira UE-31036 Sound volume does not change when moving past the Non Focus Azimuth range if set to greater than 90 degrees

	Fix was to remove the clamp on the dot-product

	#tests ran test map with focus factors greater than 90 degrees

Change 2986880 on 2016/05/23 by Mark.Satterthwaite

	Fix UE-31124 due to bad array iteration logic - amazing that this hadn't been seen earlier.
	#jira UE-31124

Change 2986873 on 2016/05/23 by Lina.Halper

	#fix issue with morphtarget importings for LODs
	 - this was caused by option not being set correctly

	#jira: UE-30955
	#code review: Alexis.Matte

Change 2986804 on 2016/05/23 by Taizyd.Korambayil

	#jira UE-31132 Added Missing Function to Blueprint.

Change 2986801 on 2016/05/23 by Jamie.Dale

	SSearchBox will now only delay text changes while it has focus

	A text changed event when it doesn't have focus is usually triggered by code (rather than the user typing), so we need to process it immediately to avoid other operational ordering issues.

	#jira UE-31101

Change 2986793 on 2016/05/23 by Martin.Wilson

	Fix for morph curves not getting applied to meshes in cooked builds (smart names were not being corrected). (brought from dev-rendering 2983747)

	#Jira UE-31166

Change 2986772 on 2016/05/23 by Benn.Gallagher

	Fixed montage single node instances with negative rate scales only repeating the final section when looping
	#jira UE-31164

Change 2986766 on 2016/05/23 by Martin.Wilson

	Fix for preview not updating when tranform curve flags are changed.

	#Jira UE-31119

Change 2986569 on 2016/05/23 by Robert.Manuszewski

	Making hang detection disabled bu default and an opt-in for games.

	#jira UE-31151

Change 2986564 on 2016/05/23 by Martin.Wilson

	Fix for being able to set montages on an anim track segment.

	#jira UE-31039

Change 2986205 on 2016/05/21 by Zabir.Hoque

	Add new instrumentation to bucketize why we are seeing device lost so often.

	#jira UE-20434

Change 2986071 on 2016/05/20 by Dan.Oconnor

	Fix for TRASHCLASS sneaking into property list when recompiling a blueprint that has a dependency that is dirty and requires bytecode recompilation of its dependencies. Make sure that the dirty blueprint itself is part of the bytecode recompilation process and make sure that blueprints compiled in this way are compiled after their parent classes
	#jira UE-30411

Change 2986068 on 2016/05/20 by Dan.Oconnor

	Fix for blueprint change/compile delegates leaking
	#jira UE-31118

Change 2986044 on 2016/05/20 by Zabir.Hoque

	Make OpenGL VB allocation support alignment (16 by default). Future work should expose this up through the RHI layers.

	#CodeReview: Olaf.Piesche, Simon.Tovey
	#jira UE-29231

Change 2985934 on 2016/05/20 by Mark.Satterthwaite

	Further changes to ensure that UE-30710 really is fixed while also not live-leaking memory in MetalRHI.
	#jira UE-30710

Change 2985852 on 2016/05/20 by Max.Chen

	Subway Sequencer: Remove level sequence editor from plugin list since it's on by default.

	#jira UE-31106

Change 2985821 on 2016/05/20 by Phillip.Kavan

	[UE-22874] Fix UObject duplication to preserve default subobjects created by the native class ctor when the root object is duplicated.

	change summary:
	- added FObjectDuplicationHelperMethods::GatherDefaultSubobjectsForDuplication()
	- modified StaticDuplicateObjectEx() to map default subobjects created in the duplicated root object's ctor before entering the serialization pass. this preserves those instances instead of causing StaticConstructObject to destroy/recreate them during serialization as part of the UObject reference duplication logic.

	#jira UE-22874

Change 2985750 on 2016/05/20 by Michael.Gay

	Default Game map set to SubwaySequencer_P
	#jira UE-31108

Change 2985660 on 2016/05/20 by Michael.Gay

	Removing unused track animation
	#jira UE-30804

Change 2985349 on 2016/05/20 by Dan.Oconnor

	Fix for crash that occurs when repeatedly pasting and undoing an object with subobjects. We were not clearing the internal flags when recycling an object
	#jira UE-30954

Change 2985346 on 2016/05/20 by Leslie.Nivison

	Updating 4.12 credit
	#jira UEPROD-820

Change 2985297 on 2016/05/20 by Jamie.Dale

	Fixed VS version detection

	It was checking the file version (which is 12), rather than the VS version (which is 12 for 2013, and 14 for 2015).

	#jira UE-30977

Change 2985233 on 2016/05/20 by Gareth.Martin

	Fixed crash when building lighting when using "Use Landscape Lightmap" on landscape grass
	#jira UE-30975

Change 2985184 on 2016/05/20 by Chris.Babcock

	Move audio warning to show proper error result code
	#jira UE-31085
	#ue4
	#android

Change 2985183 on 2016/05/20 by Chad.Taylor

	GoogleVR disabled by default

	#jira UE-30921

Change 2985145 on 2016/05/20 by Jack.Porter

	Fix for precision issue causing blocky landscape LOD on iPad Pro and several other iOS devices

	#jira UE-24792

Change 2985124 on 2016/05/20 by Alex.Delesky

	#jira UE-29794

	If the editor cannot find the SSL DLLs when enabling the Perforce source control plugin, it will now display a warning in the Source Control log instead of crashing.

Change 2985066 on 2016/05/20 by Lee.Clark

	Fix r.SelectiveBasePassOutputs so that it defaults to off

	#jira UE-30133

Change 2985063 on 2016/05/20 by Allan.Bentham

	Fix for modulated shadow precision issues on low end android hardware.

	#jira UE-29083

Change 2985061 on 2016/05/20 by Max.Chen

	Viewport: Fix crash when the viewport widget is null.

	#jira UE-31050

Change 2985059 on 2016/05/20 by Rolando.Caloca

	UE4.12 - Workaround for crash trying to track down other crash
	#jira UE-30875

Change 2984876 on 2016/05/20 by Richard.TalbotWatkin

	Made SceneOutliner visibility code safer, to avoid a potential crash.
	#jira UE-30831 - [CrashReport] UE4Editor_SceneOutliner!SceneOutliner::FGetVisibilityVisitor::RecurseChildren() [sceneoutlinergutter.cpp:24]

Change 2984873 on 2016/05/20 by Richard.TalbotWatkin

	Clipped selection box bounds in Matinee viewport to prevent crash when reading outside of the viewport area.
	#jira UE-30968 - Ctrl+Alt selection drag inside to outside of Matinee window will crash the editor

Change 2984844 on 2016/05/20 by Matthew.Griffin

	Fixing compile error in mono games

Change 2984825 on 2016/05/20 by Robert.Manuszewski

	When the application crashes becaused the GPU driver was disabled, make sure the CrashReporterClient window gets the updated screen metrics after the driver is restored.

	#jira UE-30556

Change 2984693 on 2016/05/20 by Phillip.Kavan

	[UE-30495] Fix BP editor crash on component rename following undo of component add action.

	change summary:
	- modified USimpleConstructionScript::CreateNode() to create the initial component template object in the transient package, so that subsequent undo actions restore to that state rather than to a valid BPGC-owned state.
	- modified StaticConstructObject_Internal() to restore the inclusion of RF_ArchetypeObject-flagged objects in the logic that sets new objects to 'PendingKill' state before recording them into the transaction buffer. this ensures that they can be GC'd when construction is undone in the editor. Tested against sample/repro steps in UE-21240 to ensure that it no longer crashes even with the original change from CL# 2832225 reverted (that fix has since been superceded).

	#jira UE-30495

Change 2984684 on 2016/05/20 by Phillip.Kavan

	[UE-30852] Fix BPGC custom property list delta generation & post-construct initialization/serialization to properly handle array values that differ from default in length but not inner element values.

	change summary:
	- modified UBlueprintGeneratedClass::BuildCustomPropertyListForPostConstruction()/BuildCustomArrayPropertyListForPostConstruction() to return a boolean value indicating whether or not a delta value was detected.
	- modified UBlueprintGeneratedClass::BuildCustomArrayPropertyListForPostConstruction() and FBlueprintEditorUtils::BuildComponentInstancingData() to ensure that array properties are emitted to delta property lists if the size differs from default, even if none of the elements actually differ from the default value
	- removed the ensure() for the array property case in FObjectInitializer::InitPropertiesFromCustomList(), as it is now a valid case to encounter an array property delta value without any actual delta element value overrides following it in the custom property stream
	- restored the bCanUsePostConstructLink optimization for non-native class types in FObjectInitializer::InitProperties()
	- modified UArrayProperty::SerializeItem() for the ArUseCustomPropertyList case to not empty the array when a resize is needed on load (read) - this fixes an edge case in the cooked BP component data stream when array size differed from default but only one or more of the inner values actually differed, in which case all the array slots were being reset (constructed/zeroed) but only the overridden value was being serialized (loaded) from the template data stream

	#jira UE-30852

Change 2984651 on 2016/05/19 by Zabir.Hoque

	Forcing GoogleVR plugin to disabled by default since its causing even non HDM machines to render split foveated viewports.

	#CodeReview: Chad.Taylor, Nick.Whiting
	#jira UE-30921

Change 2984636 on 2016/05/19 by Zabir.Hoque

	Explicitly store the cubemap resolution in encoded reflection data.

	#CodeReview Daniel.Wright, Marcus.Wassmer
	#jira UE-30341

Change 2984454 on 2016/05/19 by Rolando.Caloca

	UE4.12 - Fix for vulkan failing to load shader
	Integration mirroring changelist 2984432
	#jira UE-28140

Change 2984452 on 2016/05/19 by Marcus.Wassmer

	#jira UE-31054
	Remove autocompletion for ToggleRHIThread and ShowMaterialDrawEvents as they no longer do anything

Change 2984415 on 2016/05/19 by Dan.Oconnor

	Fix for crash when we fail to spawn the preview actor because the desired class is deprecated
	#jira UE-31027

Change 2984376 on 2016/05/19 by Dan.Oconnor

	Fix for regression in GetClassDefaults - we were not handling the 'None' case
	#jira UE-31034

Change 2984316 on 2016/05/19 by Aaron.McLeran

	#jira UE-31049 Updating the Oculus Audio SDK to vs 1.02

	#tests Ran updated SDK in several test maps, confirmed HRTF spatialization is working.

Change 2984315 on 2016/05/19 by Lina.Halper

	Fix issue with importing morphtarget LOD when it's missing between

	#jira: UE-30949

Change 2984237 on 2016/05/19 by Dan.Oconnor

	Fix for ensure/possible stale memory access in UpdateOverlaps
	#jira UE-30919

Change 2984170 on 2016/05/19 by Max.Chen

	Movie Capture: Another pass at texture streaming fix for movie capture.

	#jira UE-30986

Change 2984134 on 2016/05/19 by Chad.Taylor

	Mac compiler warning fix

	#jira UE-30921

Change 2983903 on 2016/05/19 by Taizyd.Korambayil

	#jira UE-30562 Replaced cube With BSP for Floor

Change 2983840 on 2016/05/19 by Taizyd.Korambayil

	#jira UE-30979 Fixed Typo in one of the Stands

Change 2983662 on 2016/05/19 by Ben.Marsh

	GitHub: Add an exception to allow GoogleVR files to be mirrored to GitHub

Change 2983653 on 2016/05/19 by Chris.Bunner

	Modifed previous change to fixup incorrect ensures.
	#jira UE-30877

Change 2983599 on 2016/05/19 by Chris.Bunner

	Added ensure and null ptr check to canvas flush.
	#jira UE-30877

Change 2983596 on 2016/05/19 by Chad.Taylor

	FluffyBunny

	#jira UE-30921

Change 2983534 on 2016/05/19 by Brian.Karis

	4.12 fix per pixel translucency

	#jira UE-30902

Change 2983530 on 2016/05/19 by Chris.Babcock

	Broadcast EMediaEvent::MediaOpened when media opened successfully
	#jira UE-31006
	#ue4
	#android

Change 2983427 on 2016/05/19 by Richard.TalbotWatkin

	Conflated "Import" and "Import Scene" in the File menu; the new action is called "Import Into Level".  Limited the allowed file types to .t3d and .fbx.
	#jira UE-30891 - CRASH: Editor crashes when Importing Actors via File > Import

Change 2983386 on 2016/05/19 by Michael.Gay

	minor last tweaks
	#jira UE-30804

Change 2983280 on 2016/05/19 by Gil.Gribb

	UE4 - Fixed crash in FHierarchicalStaticMeshSceneProxy related to reflection captures and foliage.
	#jira UE-30837

Change 2983079 on 2016/05/18 by Max.Chen

	Movie Capture: Fix so that texture streaming option for movie capture is set when capturing in editor.

	#jira UE-30986

Change 2983078 on 2016/05/18 by Dmitriy.Dyomin

	Added more logging to track UE-30878
	#jira UE-30878

Change 2983067 on 2016/05/18 by Dmitriy.Dyomin

	Fixed: Mobile HDR Path doesn't work on GearVR
	#jira UE-11846

Change 2983049 on 2016/05/18 by Max.Chen

	Movie Capture: Fix crash on movie rendering when in HDR mode.

	#jira UE-30978

Change 2982825 on 2016/05/18 by Mark.Satterthwaite

	Correctly wait for the dispatch semaphore when clearing the Metal resource free lists.
	#jira UE-30710

Change 2982697 on 2016/05/18 by Marc.Audy

	Fix Orion DataProvider use of AddReferencedObjects in light of CL# 2982607
	#jira UE-00000

Change 2982546 on 2016/05/18 by Taizyd.Korambayil

	#jira UE-30862 resaved A bunc hof assets to Fix to attempt to fix Build Warnings

Change 2982533 on 2016/05/18 by Daniel.Lamb

	When you package if you haven't saved the changes will not be reflected in the game.
	#jira UE-30904

Change 2982415 on 2016/05/18 by Marc.Audy

	Bring forgotten 4.11 CL# 2928377 to 4.12
	Ensure that the compiler will throw an error when passing a non-UObject* TArray to AddReferencedObjects
	#jira UE-28933

Change 2982358 on 2016/05/18 by Taizyd.Korambayil

	#jira UE-30546 Updated TP_VehicleAdvPawn Chase Camera Location

Change 2982280 on 2016/05/18 by Martin.Mittring

	UE-26409 Crash when Light Propagation Volume Plugin is disabled on a Project
	#jira:UE-26409

Change 2982229 on 2016/05/18 by Max.Chen

	Sequencer: Add tick prerequisites so that the level sequence actor ticks before all of the actors that it controls. This fixes some inconsistencies in the movie rendered frames not matching what's in editor.

	#jira UE-30755

Change 2982080 on 2016/05/18 by Max.Chen

	Sequence Recorder: Fix crash when component class to record is null.

	#jira UE-30944

Change 2982041 on 2016/05/18 by Marcus.Wassmer

	Protect against crashes reading from a null texture.
	#jira UE-30834

Change 2981915 on 2016/05/18 by Allan.Bentham

	Do not mosaic encode for modulate blend operations.
	Fixes dark 'halos' around mod shadows.

	#jira UE-29083

Change 2981911 on 2016/05/18 by michael.gay

	Set framing in sequencer, set start to 200

	#jira UE-30633

Change 2981904 on 2016/05/18 by Chase.McAllister

	#jira UE-30943 Removing unused asset to fix DDC compiling bug

Change 2981894 on 2016/05/18 by Michael.Gay

	removed old cameras, changed start frame to remove black at head of sequence
	#jira UE-30633

Change 2981827 on 2016/05/18 by Gareth.Martin

	Fixed crash when entering landscape mode while a landscape is selected while simulating
	- Landscape infos no longer get created for PIE/Simulate landscapes (they were empty anyway)
	#jira UE-30917

Change 2981725 on 2016/05/18 by Keith.Judge

	Xbox One - Fix issues with DFAO/DF Shadowing. Problems were in RHIUpdateTexture3D(). Needed to ensure temp texture had the correct bind flags, etc, and also use the graphics context rather than the DMA context to do the copying, as for some reason the DMA engine corrupts some pixels of the distance field atlas texture.

	#jira UE-27591

Change 2981466 on 2016/05/17 by Max.Chen

	Merge from Chris Bunner from Dev-SequencerGDC - Frame state fixes when Sequencer is paused; No velocity in AA, Clamp motion blur scale, Clamp to scatter blur method.

	#jira UE-30576

Change 2981403 on 2016/05/17 by Dan.Oconnor

	Fix for overzealous filtering of classes with Within markup
	#jira UE-29878

Change 2981342 on 2016/05/17 by Dan.Oconnor

	Removing overzealous check. In Dev-BP this has already been downgraded to an ensure, but no reason to ensure now that we understand why it happens.
	#jira UE-30792

Change 2981318 on 2016/05/17 by Max.Preussner

	Sequencer: Fixed crash when scrubbing attached audio tracks; reduced nesting (UE-30923)

	#jira: UE-30923

Change 2981221 on 2016/05/17 by Dan.Oconnor

	Preventing spawning components with 'Within' markup specified, it is unsupported by the SCSEditor and Core UObject logic at this time. Likely logic is CoreUObject needs to avoid type checking for RF_ArchetypeObject instances and the SCSEditor needs to be more consistent about using that flag on its template objects
	#jira UE-29878

Change 2981169 on 2016/05/17 by Marc.Audy

	Gracefully handle invalid GameSingleton class name in ini file
	Remove unused DefaultPreviewPawnClass and ClassName from Engine
	#jira UE-30829

Change 2981104 on 2016/05/17 by Mieszko.Zielinski

	Made AISenses not send information to listeners that are not registered for given sense #UE4

	#jira UE-29939

Change 2981086 on 2016/05/17 by Taizyd.Korambayil

	#jira UE-30568 Added a check to make sure index being accessed was valid (BP_DemoRoom)

Change 2980755 on 2016/05/17 by Taizyd.Korambayil

	#jira UE-30706 Set material to use Translucent Blend

Change 2980753 on 2016/05/17 by Jon.Nabozny

	Initialize FBox used to store result for CalculateQuatACF96Bounds (bump from //UE4/Dev-Framework).

	#JIRA UE-30846

Change 2980682 on 2016/05/17 by Taizyd.Korambayil

	#jira UE-30570, UE-30575 Corrected Some Spellings

Change 2980559 on 2016/05/17 by Mieszko.Zielinski

	Changed UNavigationSystem.AgentToNavDataMap to store weak object pointers rather than raw painters #UE4

	This should make it immune to navigation data beging destroyed and not removed from AgentToNavDataMap.

	#jira UE-30836

Change 2980504 on 2016/05/17 by Daniel.Wright

	Integrate - Movable skylight now matches stationary for subsurface shading models
	* Two sided was broken in 4.11, Subsurface had never been handled
	#jira UE-30855

Change 2980467 on 2016/05/17 by Jamie.Dale

	Added some checks to avoid temporary worlds being added as favorites

	#jira UE-30613

Change 2980379 on 2016/05/17 by Jurre.deBaare

	Fix for static mesh merging, little too eager with changes.

	#jira UE-30808

Change 2980373 on 2016/05/17 by Gareth.Martin

	Fixed shader compile errors when applying a speedtree material to a landscape spline
	#jira UE-25820

Change 2980318 on 2016/05/17 by Gareth.Martin

	Fixed crash when calling EditorApplySpline with a null spline component
	Also stopped it doing anything in PIE (it's for blutilities, not runtime)
	#jira UE-30830

Change 2980300 on 2016/05/17 by Marc.Audy

	Treat Unreachable components the same as BeginDestroyed for endplay/cleanup purposes
	#jira UE-30839

Change 2980298 on 2016/05/17 by Gareth.Martin

	Fixed crash when loading landscape projects that used tessellation
	#jira UE-30742

Change 2980296 on 2016/05/17 by Martin.Wilson

	Fix crash accessing sync names from a child anim bp

	#jira UE-30811

Change 2980289 on 2016/05/17 by Jurre.deBaare

	Fix for regression with merge actor tab
	#jira UE-30809

Change 2980272 on 2016/05/17 by Ori.Cohen

	Make sure that root components do not get attached to non root components in the same actor. Fixes crash in scene outliner and other weird issues.

	#JIRA UE-30876

Change 2980206 on 2016/05/17 by Keith.Judge

	Xbox One - Bit the bullet and rewrote the occlusion query buffer handling so that we're not reliant on a finite ring buffer. Instead, each query has a small buffer of its own. removing the dependency of ordering when reading back the results. This should save memory on smaller maps too!

	#jira UE-30581
	#jira UEPLAT-623

Change 2980094 on 2016/05/17 by Matthew.Griffin

	Added OSVR dlls to InstalledEngineFilters.ini so that they are included in Launcher build even though the plugin is disabled by default
	#jira UE-30611

Change 2979935 on 2016/05/17 by Aaron.Herzog

	#jira UE-30619 updating owen sk mesh with proper morph

Change 2979816 on 2016/05/16 by Chad.Taylor

	Fix to address a crash related to multiple player VR Preview

	#jira UE-20109

Change 2979744 on 2016/05/16 by Mike.Beach

	Disabling Blueprint spawning, InitProperties() optimization until we can figure out why it is not filling out array properties properly.

	#jira UE-30745

Change 2979743 on 2016/05/16 by Mike.Beach

	Mirroring CL 2977497
	Clearing property nodes and cached read-addresses when changing the details view object (so any queued actions will not operate on invalid properties).

	#jira UE-26392

Change 2979544 on 2016/05/16 by Daniel.Wright

	Fixed crash with RTDF shadows when r.DistanceFieldAO was disabled
	#jira UE-26319

Change 2979477 on 2016/05/16 by michael.gay

	Remove errant Play Rate track.

	#jira UE-30633

Change 2979464 on 2016/05/16 by Mark.Satterthwaite

	Duplicate CL #2945444: Cache the Metal fallback depth-stencil surface for the canvas tile rendering so that we only ever keep one spare depth-stencil surface around. This costs us a little more permanent memory but reduces churn.
	#jira UE-30849

Change 2979441 on 2016/05/16 by Rolando.Caloca

	UE4.12 - vk - Fix quitting taking a long time
	#jira UE-28239

Change 2979315 on 2016/05/16 by Michael.Trepka

	Rollback //UE4/Release-4.12/Engine/Source/Programs/UnrealBuildTool/System/XcodeProject.cs to revision 1

	#jira UE-28016

Change 2979304 on 2016/05/16 by Jamie.Dale

	Backing out some changes from CL# 2976673

	These caused an issue with Slate hit-testing. The more correct fix here is to make the Slate Windows OS layer treat window positions as relative to the top-left of the window client area, rather than relative to the top-left of the window itself (which includes the OS border). This now matches what other platforms do.

	To this end, FWindowsWindow::Initialize, FWindowsWindow::MoveWindowTo, and FWindowsWindow::ReshapeWindow all now consider the given window position to be relative to the window client area, and will consistently adjust it to relative to the window before moving/creating the OS window. This only impacts windows with OS borders (aka, non-fullscreen and non-Slate drawn windows).

	#jira UE-30276
	#jira UE-30677
	#jira UE-30771

Change 2979077 on 2016/05/16 by Maciej.Mroz

	#jira UE-28536 Attached Project Crashes on Attempting to Play in Standalone
	merged from 2979069

Change 2979052 on 2016/05/16 by Chase.McAllister

	#jira UE-30789 Resaving Maps to fix project warning

Change 2978984 on 2016/05/16 by Chase.McAllister

	#jira UE-30789 Resaving start video assests that contained empty engine version

Change 2978806 on 2016/05/16 by Mieszko.Zielinski

	Fixed EQS tests' scoring equation value getting reset on load #UE4

	#jira UE-30470

Change 2978670 on 2016/05/16 by Max.Preussner

	Media: Workaround for changing Media asset path can cause crash (UE-22691)

	#jira: UE-22691

Change 2978638 on 2016/05/16 by Michael.Gay

	Cleanup of old maps in SubwaySequencer project
	#jira UE-30633

Change 2978636 on 2016/05/16 by Jamie.Dale

	Added guard against a crash navigating through a menu

	#jira UE-30698

Change 2978611 on 2016/05/16 by Lee.Clark

	PS4 - Fix RenderTargetOutputFormat using the wrong output index for velocity rendering when using r.BasePassOutputsVelocity=True

	#jira UE-30133

Change 2978596 on 2016/05/16 by Allan.Bentham

	Extend iOS metal Z bias offset to all  iOS (metal+gles) depth only shaders.

	#jira UE-27530

Change 2978566 on 2016/05/16 by Jamie.Dale

	Downgraded some checks to ensures and added more logging

	#jira UE-30613

Change 2978399 on 2016/05/16 by Keith.Judge

	Xbox One - Fix check() firing when we run out of occlusion buffer space. Also added occlusion query result caching (perf gain!).

	#jira UE-30581

Change 2978323 on 2016/05/16 by Jurre.deBaare

	Merge actor panel crashes when selecting a mesh component without static mesh
	#fix display 'No Static Mesh' when none is available
	#jira UE-30809

Change 2978322 on 2016/05/16 by Jurre.deBaare

	Issue with merging meshes resulting data saved across different LOD levels

	#fix use correct target LOD index for all source LODs
	#jira UE-30808

#lockdown Nick.Penwarden

[CL 2999693 by Ben Marsh in Main branch]
2016-06-03 11:49:20 -04:00
Ben Marsh
70f47fef98 Copying //UE4/Dev-Build to //UE4/Dev-Main (Source: //UE4/Dev-Build @ 2959429)
==========================
MAJOR FEATURES + CHANGES
==========================

Change 2945275 on 2016/04/15 by Ben.Marsh

	BuildCommonTools: Stop forcing the DeleteBuildProducts flag to true; just respect the -Clean parameter from the command line.

Change 2946668 on 2016/04/18 by Ben.Marsh

	EC: Prevent lookbehind for UBT error strings on Mac.

Change 2952657 on 2016/04/22 by Ben.Marsh

	UGS: Require the user to explicitly choose to show *.uprojectdirs files, to discourage people from selecting the first thing they see in a synced branch. The uprojectdirs workflow is only used by Engine QA, but catches a lot of people out.

Change 2954256 on 2016/04/25 by Ben.Marsh

	EC: Fix lines starting with error: and warning: being swallowed by the postprocessor. Also remove confusing 4 line look-behind on generic error and warning messages.

Change 2954449 on 2016/04/25 by Ben.Marsh

	Use the original application name for log files (and for the prefix in stdout), rather than the application name after the host platform has modified it. Prevents UAT/UBT calls showing up with a "mono: " prefix on Mac, rather than "AutomationTool:" or "UnrealBuildTool:".

Change 2955885 on 2016/04/26 by Ben.Marsh

	BuildGraph: Allow passing -Clean on the command line to propagate to UE4Build, impacting how targets are compiled as well as clearing the cached BuildGraph state. Add a second parameter, -ClearHistory, to just wipe the history of completed nodes.

Change 2955919 on 2016/04/26 by Chad.Garyet

	Fixed timestamp resolution to check for two seconds instead of two ticks.  This was causing mac builders to throw false positives on file changes

Change 2956118 on 2016/04/26 by Ben.Marsh

	BuildGraph: Add support for conditional blocks in BuildGraph scripts, either with a simple condition, or picking from a list of options. Two new elements can be added anywhere in scripts:

	<Do If="...">
	    <!-- Inner elements -->
	</Do>

	<Choose>
	    <Option If="...">
	        <!-- Inner elements -->
	    </Option>
	    <Option If="...">
	        <!-- Inner elements -->
	    </Option>
	    <Otherwise>
	        <!-- Inner elements -->
	    </Otherwise>
	</Choose>

Change 2956792 on 2016/04/26 by Ben.Marsh

	EC: Prevent scheduled builds being queued up, and starting at times other than the times they're scheduled for. Prevents builds which have just been added to the stream settings from starting immediately, and prevents full builds starting during the day (as soon as the first change is made).

Change 2957131 on 2016/04/26 by Ben.Marsh

	EC: Increase the precedence of the stack trace matcher.

Change 2957419 on 2016/04/27 by Ben.Marsh

	EC: Skip the "end: stack for UAT" line in postp.

Change 2957588 on 2016/04/27 by Ben.Marsh

	Core: Change formatting for callstacks for crashes and ensures so that EC can parse them from logs more easily.

Change 2958047 on 2016/04/27 by Ben.Marsh

	BuildGraph: Feature to generate reports as part of build graph scripts. Reports operate similarly to triggers, but just provide a summary of completed jobsteps without offering to run a downstream job. Syntax is similar to declaring aggregates: <Report Name="Summary" Requires="Node1;Node2"/>

Change 2958188 on 2016/04/27 by Ben.Marsh

	BuildGraph: Automatically generate a report when a preflight completes.

Change 2959053 on 2016/04/28 by Ben.Marsh

	BuildGraph: Move the CleanTempStorage commandlet into BuildGraph, and add support for cleaning out new-style temp storage directories (which do not contain TempManifest files).

Change 2959429 on 2016/04/28 by Ben.Marsh

	UAT: Add a script to describe a stream being copied up to its parent. To use, just run the UAT command "StreamCopyDescription -Stream=//UE4/Dev-Build". Optionally specify -Changes=//UE4/OtherStream/Engine/...

#lockdown Nick.Penwarden

[CL 2959583 by Ben Marsh in Main branch]
2016-04-28 14:13:21 -04:00
Ben Marsh
e565524fdf EC: Fix a few glitches in build failure emails:
* Mac steps not highlighting submitters to files containing errors.
* Missing gap between error and warning diagnostics since changes to improve rendering on mobile devices.
* Prevent spaces being lost which are inserted for formatting in the compiler output.

#lockdown Nick.Penwarden

[CL 2946767 by Ben Marsh in Main branch]
2016-04-18 10:57:01 -04:00
Ben Marsh
0b7a7ded45 Don't output a warning message when dumping Mac crash logs - if it caused a problem, there will already be an error propagated. Ignore any crashes in snmpd, which seems to fail whenever there's heavy load on a machine (eg. during a cook), and fix postp parsing of standard UAT/UBT warnings and errors.
#lockdown Nick.Penwarden

[CL 2900980 by Ben Marsh in Main branch]
2016-03-09 09:33:05 -05:00
Ben Marsh
e37dee0d3f Fix UAT exceptions not being caught and written to the EC diagnostics file, meaning that they're not included in failure emails. Launcher builds are currently reporting no errors despite a failure exit code.
#lockdown Nick.Penwarden

[CL 2899292 by Ben Marsh in Main branch]
2016-03-08 13:27:21 -05:00
Matthew Griffin
d9f2a9fd85 Copying //UE4/Dev-Build to //UE4/Main
==========================
MAJOR FEATURES + CHANGES
==========================

Change 2864843 on 2016/02/12 by Ben.Marsh

	Add individual 'status', 'outcome', and 'error_code' fields to parsed jobsteps. Should fix grid view not being able to display 'pending' icons.

Change 2865161 on 2016/02/12 by Ben.Marsh

	Stop storing a reference to UEBuildTarget from UEBuildModule. It creates an awkward cyclic data dependency, and makes it easy for people to write lazy code that just reaches into the internal state of the build.

Change 2865643 on 2016/02/12 by Ben.Marsh

	Rename UEBuildModuleType to UHTModuleType, and move implementation into ExternalExecution.

Change 2874408 on 2016/02/19 by Ben.Marsh

	Automatically sort nodes in the dashboard grid view by a weight derived from the node's order in the build graph, summed across all the jobs in which it was present.

Change 2879572 on 2016/02/24 by Ben.Marsh

	Allow spoofing a Git merge from a given commit, using a changelist description containing the tag "git merge <branch> <changelist>", where <branch> is the name of a branch on Git (eg. master, 4.11, etc..), and <changelist> is the changelist being merged in.

Change 2883216 on 2016/02/26 by Ben.Marsh

	Prevent Jira tickets being incorrectly updated with 'Main CL' fields which are after the 'Fix CL' fields.

Change 2883755 on 2016/02/26 by Ben.Marsh

	Fix solution files having a Shipping configuration, even when -NoShippingConfigs is passed on the command line.

Change 2886223 on 2016/02/29 by Ben.Marsh

	Ignore SignTool errors - we can recover from them.

Change 2887414 on 2016/03/01 by Ben.Marsh

	Dump all the *.crash files produced while running commandlets, to make it easier to diagnose build system crashes cooking on Mac.

Change 2888235 on 2016/03/01 by Ben.Marsh

	Add overloads for methods in FileFilter which take FileReference and DirectoryReference objects.

Change 2889602 on 2016/03/02 by Ben.Marsh

	Treat shaders as code in UGS. Don't sync them as part of content-only syncs, and don't allow syncing past them without updated binaries.

Change 2889610 on 2016/03/02 by Ben.Marsh

	Fix setting for using incremental builds not being saved. Also hide command to do incremental builds if the 'use incremental builds' option is not checked.

Change 2891866 on 2016/03/03 by Matthew.Griffin

	Removed Rocket specific batch files and made sure installed build won't try to include them
	Removed last use of RocketGenerateProjectFiles.sh by using UBT directly instead

Change 2893349 on 2016/03/03 by Ben.Marsh

	Add derived ReplicatedBranch to support mirroring the VR editor branch to GitHub.

Change 2894703 on 2016/03/04 by Ben.Marsh

	Include *.usf when looking for the last code changelist. Also update version to 1.68.

Change 2897991 on 2016/03/07 by Ben.Marsh

	Copy the changelist number to the clipboard when the user presses Ctrl-C. Update version number to 1.69.

Change 2898005 on 2016/03/07 by Ben.Marsh

	Minor changes to support BuildGraph:

	* UE4Build now has a static function that can update version files.
	* Adding FileReference/DirectoryReference methods to FileFilter and CommandUtils.
	* FileFilter treats any pattern containing a slash as implictly starting from the root directory, unless it begins with "...".

Change 2898095 on 2016/03/07 by Ben.Marsh

	UAT - Don't retry builds if we're using local executor; we don't encounter failures due to timeouts.

Change 2898248 on 2016/03/07 by Ben.Marsh

	UBT - Add the standard game include paths back in to plugin modules. Existing game code relies on this.

Change 2898615 on 2016/03/08 by Matthew.Griffin

	Removed last uses of RunningRocket function
	All seemed to be overly cautious about people using an Installed build to do non standard things, don't see any ill effects in the most common circumstances.

Change 2898681 on 2016/03/08 by Matthew.Griffin

	Removed Automation.RunningRocket function as there are no more uses
	Changed the majority of comments referencing Rocket mode that are now either about the engine being installed or from the Launcher etc.

#lockdown Nick.Penwarden

[CL 2898813 by Matthew Griffin in Main branch]
2016-03-08 09:00:48 -05:00
Ben Marsh
1bbff1bf2a Disable buffering on the postp pre-filter; was causing a delay in postp updating properties for diagnostic output, and preventing scripts from detecting failure conditions correctly.
#lockdown Nick.Penwarden
#codereview Mike.Beach

[CL 2867893 by Ben Marsh in Main branch]
2016-02-15 18:14:08 -05:00
Ben Marsh
e63ac2d50b Improve post-processing of errors and warnings for Mac cooks and localization gathers, and fix undefined variable warnings in lots of the default Epic matchers.
#lockdown Nick.Penwarden

[CL 2856990 by Ben Marsh in Main branch]
2016-02-05 09:13:24 -05:00
Ben Marsh
e0cdc030f3 Mask a few more warnings from the post-processor: XboxOne link warnings due to missing PDBs, and Android warnings during Java compilation about deprecated APIs and compiler versions.
#lockdown Nick.Penwarden

[CL 2856348 by Ben Marsh in Main branch]
2016-02-04 17:55:24 -05:00
Ben Marsh
9cd398da63 Misc fixes for build system in //UE4/Main:
* Adding exclusions for TCL post processor matching Android output as an error
* Ignore tempnam warning on Linux caused by linking against libfbx.a
* Ignore LNK4221 warning in non-unity compiles on Windows caused by cpp files which have no symbols (typically because they're #ifdef'ed out)
* Specify multiple recipients for emails in a list rather than as a space-delimited string, fixing error trying to send notifications.

#lockdown Nick.Penwarden

[CL 2856171 by Ben Marsh in Main branch]
2016-02-04 15:56:38 -05:00
Ben Marsh
5e75112469 Copying //UE4/Dev-Build to //UE4/Main
==========================
MAJOR FEATURES + CHANGES
==========================

Change 2828332 on 2016/01/14 by Matthew.Griffin

	Ensure that warnings from Dynamic Compilation of build.cs files are propagated up to user when compiling in Visual Studio etc.

Change 2828335 on 2016/01/14 by Matthew.Griffin

	Renaming AddThirdParty... functions to AddEngineThirdParty... so it's clear we're talking about third party libraries within the engine directory. This removes another couple of RunningRocket checks and uses the IsMonolithic property now.

Change 2831365 on 2016/01/16 by Ben.Marsh

	Add a UAT command to remove any temp storage directories older than a specified length of time, and disable the GUBP node to do so when running with -NewEC. Better to set this up as a separate scheduled task for each temp storage folder we have, rather than run it as part of GUBP builds above a certain size.

Change 2832166 on 2016/01/18 by Ben.Marsh

	Make INI file parsing much more tolerant to errors, because it prevents the build system from starting up. Now outputs warnings rather than throwing exceptions.

Change 2835725 on 2016/01/20 by Matthew.Griffin

	Removed more uses of RunningRocket functions

	Switch Linux staging check to see if required files exist until switched to using receipts
	Always stage CrashReporter for Linux
	Mac and Linux will not use Compile Lean And Mean when generating project files
	Allow normal DynamicCompilation check to occur in binary builds
	Allow XMPP dependency on WebRTC now that it's publically distributed

Change 2835864 on 2016/01/20 by Matthew.Griffin

	Made sure -rocket is passed when generating project files as this has to work from UnrealVersionSelector with every version of the Engine we've released.
	Also tidied up some arguments that are set in UVS and never used.

Change 2839932 on 2016/01/22 by Matthew.Griffin

	Removed last uses of RunningRocket from UnrealBuildTool

	Changed Mac Build.sh so that it doesn't try to build UBT so that it can be used in installed builds the same way as windows.
	Combined code doing very similar things for single games and rocket projects.
	Removed check on whether to add client and server targets in Rocket as we don't distribute the .target.cs files.
	Removed RunningRocket function and the code checking for -rocket on the command line

Change 2846971 on 2016/01/28 by Matthew.Griffin

	Replaced RunningRocket with IsEngineInstalled for all Engine programs that won't need to be built.

Change 2853879 on 2016/02/03 by Matthew.Griffin

	Added UnrealLightmass to list of programs to build when Build Solution is used and Editor configuration is selected

	#jira UE-25666

#lockdown Nick.Penwarden

[CL 2854567 by Ben Marsh in Main branch]
2016-02-03 15:40:40 -05:00