#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]
#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]
#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]
#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]
#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]
#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]
==========================
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]
==========================
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]
* 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]
==========================
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]
* 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]
==========================
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]