Commit Graph

34 Commits

Author SHA1 Message Date
Ben Marsh
2af510979b UBT: Fix some BuildConfiguration.xml settings for executors no longer being read. Only public fields were being checked for having the XmlConfigFile attribute, and constructors for executors were not applying the XML configuration to themselves.
#codreview Ben.Zeigler
#rb none
#lockdown Nick.Penwarden

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

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

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

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

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

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

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

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

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

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

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

	UBT: Add attribute-driven command line parser.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

	Replace all uses of TargetRules.TargetType with TargetType.

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

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

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

	UBT: Remove toolchain support for Windows XP.

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

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

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

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

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

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

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

	Build: Fixes for conforming incremental workspaces:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

	EC: Add a batch file for testing postp filters.

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

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

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

	UBT: Fix Android support for force included headers.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

	UBT: Merge the LinkEnvironment and LinkEnvironmentConfiguration classes together.

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

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

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

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

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

	UBT: Move executor config settings onto the executor instances.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

	#jira UEB-729

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

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

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

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

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

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

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

	UBT: Include plugin config files in generated projects.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

	Fix commends regarding DDC in BaseEngine.ini

	#jira UE-41076

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

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

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

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

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

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

	#jira UE-36457

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

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

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

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

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

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

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

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

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

	IncludeTool: Merging various fixes.

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

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

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

[CL 3278101 by Ben Marsh in Main branch]
2017-01-30 16:52:08 -05:00
Ben Marsh
6748a24fb1 Copying //UE4/Dev-Build to //UE4/Dev-Main (Source: //UE4/Dev-Build @ 3232619)
#lockdown Nick.Penwarden
#rb none

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

Change 3121996 on 2016/09/12 by Ben.Marsh

	Add support for Visual Studio 2017 (aka "15"; assuming consistent naming with other versions until final name is announced).

	* Compiler, STL implementation and CRT are binary compatible with VS2015 (see https://blogs.msdn.microsoft.com/vcblog/2016/08/24/c1417-features-and-stl-fixes-in-vs-15-preview-4/), so no new third-party libraries needed so far. WindowsPlatform.GetVisualStudioCompilerVersionName() returns "2015" as a result.
	* Default compiler for compiling and generating project files is still VS 2015 for now. Pass -2017 on the command line to GenerateProjectFiles.bat to generate VS2017 projects. Projects generated for VS2017 will use the 2017 compiler by default.
	* Visual Studio source code accessor can talk to VS 2017 instances.
	* Added a VS2017 configuration for UnrealVS, and added precompiled vsix package.
	* Switched GetVSComnTools to check the SOFTWARE\Microsoft\VisualStudio\SxS\VS7 registry key rather than the individual product install registry key. "15" doesn't seem to have it's own "InstallDir" key, but this system seems to work for all versions of Visual Studio (including previous releases of VS Express).
	* Removed ATL dependency from VisualStudioSourceCodeAccessor. It's not installed with VS by default any more, and is only used for a couple of smart pointer classes.

	Tested running the editor and packaging TP_Flying for Win64. Packaging from the editor still defaults to using the 2015 compiler, so ConfigureToolchain() needs to be overriden from the .target.cs file if multiple Visual Studio versions are installed.

Change 3189363 on 2016/11/07 by Ben.Marsh

	Consolidate functionality for determining the path to MSBuild.exe to use for compiling UE4 tools into a single batch file (GetMSBuildToolPath) and fix "Clean" not working on PS4 due to include/library paths being set to something by the Visual Studio environment.

Change 3210598 on 2016/11/27 by Ben.Marsh

	UBT: Prevent the name of each file compiled being output twice on XboxOne. Compiler already outputs this string; the action doesn't need to.

Change 3210601 on 2016/11/27 by Ben.Marsh

	PR #2967: Add silent version of switch game version (Contributed by EricLeeFriedman)

Change 3210602 on 2016/11/27 by Ben.Marsh

	PR #2964: GitDependencies shouldn't try to clean up working directory files that are excluded or ignored (Contributed by joelmcginnis)

Change 3210605 on 2016/11/27 by Ben.Marsh

	UGS: Add a warning when syncing latest would remove changes that have been authored locally. Typically happens when working with precompiled binaries.

Change 3211656 on 2016/11/28 by Ben.Marsh

	UBT: Move ModuleRules and TargetRules into their own file.

Change 3211797 on 2016/11/28 by Ben.Marsh

	UBT: Remove utility functions from TargetRules for checking different classes of target types. Moving TargetRules to be data-only.

Change 3211833 on 2016/11/28 by Ben.Marsh

	UBT: Remove overridable configuration name from target rules. This feature is not used anywhere.

Change 3211859 on 2016/11/28 by Ben.Marsh

	UBT: Deprecate the GetGeneratedCodeVersion() callback in favor of a member variable instead.

Change 3211942 on 2016/11/28 by Ben.Marsh

	UBT: Remove legacy code which tries to change the output paths for console binaries. Output paths for monolithic binaries are always in the project folder now.

Change 3215333 on 2016/11/30 by Ben.Marsh

	UBT: Replace the GetSupportedPlatforms() callback on TargetRules with a SupportedPlatforms attribute. Since a TargetRules object can only be instantiated with an actual platform, it doesn't make sense for it to be an instance method.

Change 3215482 on 2016/11/30 by Ben.Marsh

	UBT: Remove the GetSupportedConfigurations() callback on the TargetRules class. A configuration is required to construct a TargetRules instance, so it doesn't make sense to need to call an instance method to find out which configurations are supported.

Change 3215743 on 2016/11/30 by Ben.Marsh

	UBT: Deprecate the TargetRules.ShouldCompileMonolithic() function: this function requires access to the global command line to operate correctly, which prevents creating target-specific instances, and does not use the platform/configuration passed into the TargetRules constructor.

	Rather than being a callback, the LinkType field can now be set to TargetLinkType.Modular or TargetLinkType.Monolithic from the constructor as appropriate. The default value (TargetLinkType.Default) results in the default link type for the target type being used. Parsing of the command-line overrides is now done when building the TargetDescriptor.

Change 3215778 on 2016/11/30 by Ben.Marsh

	UBT: Mark overrides of the TargetRules.GetModulesToPrecompile method as obsolete.

Change 3217681 on 2016/12/01 by Ben.Marsh

	UAT: Prevent UE4Build deleting .modules files when running with the -Clean argument; these files are artifacts generated by UBT itself, not by the exported XGE script.

Change 3217723 on 2016/12/01 by Ben.Marsh

	UBT: Run pre- and post-build steps for all plugins that are being built, not just those that are enabled.

Change 3217930 on 2016/12/01 by Ben.Marsh

	UGS: Add a perforce settings window, allowing users to set optional values for tuning Perforce performance on unreliable connections.

Change 3218762 on 2016/12/02 by Ben.Marsh

	Enable warnings whenever an undefined macro is used in a constant expression inside an #if or #elif directive, and fix existing violations.

Change 3219161 on 2016/12/02 by Ben.Marsh

	Core: Use the directory containing the current module to derive the UE4 base directory, rather than the executable directory. Allows UE4 to be hosted by a process in a different directory.

Change 3219197 on 2016/12/02 by Ben.Marsh

	Core: When loading a DLL from disk, convert any relative paths to absolute before calling LoadLibrary. The OS resolves these paths relative to the directory containing the process executable -- not the working directory -- so paths need to be absolute to allow UE4 to be hosted by a process elsewhere.

Change 3219209 on 2016/12/02 by Ben.Marsh

	Replace some calls to LoadLibrary() with FPlatformProcess::GetDllHandle(). The UE4 function makes sure that relative paths are resolved relative to the correct base directory, which is important when the host executable is not in Engine/Binaries/Win64.

Change 3219610 on 2016/12/02 by Ben.Marsh

	Add the -q (quiet) option to the Mac unzip command, since it's creating too much log output to be useful.

Change 3219731 on 2016/12/02 by Ben.Marsh

	UBT: Add option to disable IWYU checks regarding the use of monolithic headers (Engine.h, UnrealEd.h, etc...) and including the matching header for a cpp file first. bEnforceIWYU can be set to false in UEBuildConfiguration or on a per-module basis in the module rules.

Change 3220796 on 2016/12/04 by Ben.Marsh

	Remove PrepForUATPackageOrDeploy from the UEBuildDeploy base class. It never has to be accessed through the base class anyway.

Change 3220825 on 2016/12/04 by Ben.Marsh

	UBT: Change all executors to derive from a common base class (ActionExecutor).

Change 3220834 on 2016/12/04 by Ben.Marsh

	UBT: Remove the global CommandLineContains() function.

Change 3222706 on 2016/12/05 by Ben.Marsh

	Merging CL 3221949 from //UE4/Release-4.14: Fixes to code analysis template causing problems with stock install of VS2017.

Change 3222712 on 2016/12/05 by Ben.Marsh

	Merging CL 3222021 from //UE4/Release-4.14: Change detection of MSBuild.exe path to match GetMSBuildPath.bat

Change 3223628 on 2016/12/06 by Ben.Marsh

	Merging CL 3223369 from 4.14 branch: Use the same logic as GetMsBuildPath.bat inside FDesktopPlatformBase to determine path to MSBuild.exe

Change 3223817 on 2016/12/06 by Ben.Marsh

	Remove non-ANSI characters from source files. Compiler/P4 support is patchy for this, and we want to avoid failing prey to different codepages resulting in different interpretations of the source text.

Change 3224046 on 2016/12/06 by Ben.Marsh

	Remove the need for the iOS/TVOS deployment instances to have an IOSPlatformContext instance. The only dependency between the two -- a call to GetRequiredCapabilities() -- is now implemented by querying the INI file for the supported architectures when neeeded.

Change 3224792 on 2016/12/07 by Ben.Marsh

	UBT: Touch PCH wrapper files whenever the file they include is newer rather than writing the timestamp for the included file into it as a comment. Allows use of ccache and similar tools.

Change 3225212 on 2016/12/07 by Ben.Marsh

	UBT: Move settings required for deployment into the UEBuildDeployTarget class, allowing them to be serialized to and from a file the intermediate directory without having to construct a phony UEBuildTarget to deploy.

	Deployment is now performed by a method on UEBuildPlatform, rather than having to create a UEBuildPlatformContext and using that to create a UEBuildDeploy object.

	The -prepfordeploy UBT invocation from UAT, previously done by the per-platform PostBuildTarget() callback when building with XGE, is replaced by running UBT with a path to the serialized UEBuildDeployTarget object, and can be done in a platform agnostic manner.

Change 3226310 on 2016/12/07 by Ben.Marsh

	PR #3015: Fixes wrong VSC++ flags being passed for .c files (Contributed by badlogic)

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

	Update copyright notices for QAGame.

Change 3229166 on 2016/12/09 by Ben.Marsh

	UBT: Rewritten config file parser. No longer requires hard-coded list of sections to be parsed, but parses them on demand. Measured 2x faster read speeds (largely due to eliminating construction of temporary string objects when parsing each line, to trim whitespace and so on). Also includes an attribute-driven parser, which allows reading named config values for marked up fields in an object.

Change 3230601 on 2016/12/12 by Ben.Marsh

	Swarm: Change Swarm AgentInterface to target .NET framework 4.5, to remove dependency on having 4.0 framework installed.

Change 3230737 on 2016/12/12 by Ben.Marsh

	UAT: Stop UE4Build deriving from CommandUtils. Confusing pattern, and causes problems trying to access instance variables that are only set for build commands.

Change 3230751 on 2016/12/12 by Ben.Marsh

	UAT: Move ParseParam*() functions which use the instanced parameter list from CommandUtils to BuildCommand, since that's the only thing that it's instanced for.

Change 3230804 on 2016/12/12 by Ben.Marsh

	UBT: Add the IsPromotedBuild flag to Build.version, and only set the bFormalBuild flag in UBT if it's set. This allows UGS users to avoid having to compile separate RC files for each output binary.

Change 3230831 on 2016/12/12 by Ben.Marsh

	UGS: Warn when trying to switch streams if files are checked out.

Change 3231281 on 2016/12/12 by Chad.Garyet

	Fixing a bug where .modules files were getting put into receipts with their absolute path instead of their relative one

Change 3231496 on 2016/12/12 by Ben.Marsh

	Disable code analysis in CrashReportProcess; causes warnings when compiled with VS2015.

Change 3231979 on 2016/12/12 by Ben.Marsh

	UBT: Suppress LNK4221 when generating import libraries. This can happen often when generating import libraries separately to linking.

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

	Fix "#pragma once in main file" errors on Mac, which are occurring in //UE4/Main.

[CL 3232653 by Ben Marsh in Main branch]
2016-12-13 11:58:16 -05:00
Ben Marsh
20bf0eb6a1 Updating copyright notices to 2017 (copying from //Tasks/UE4/Dev-Copyright-2017).
#rb none
#lockdown Nick.Penwarden

[CL 3226823 by Ben Marsh in Main branch]
2016-12-08 08:52:44 -05:00
Josh Adams
1b81c281d4 Copying //UE4/Dev-Platform to //UE4/Dev-Main (Source: //UE4/Dev-Platform @ 3120366)
#lockdown Nick.Penwarden
#rb none

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

Change 2714591 on 2015/10/02 by Ben.Marsh

	Initial branch of files from Engine-Main (//UE4/Engine-Main) to Dev-Platform (//UE4/Dev-Platform)

Change 2916715 on 2016/03/21 by Daniel.Lamb

	First pass at splitting out build cook run into into seperate scripts.

Change 2948322 on 2016/04/19 by Nick.Shin

	update libwebsockets to v1.7.4

	part 4 of 4 - doing this in stages for tracking purposes

	#jira UEPLAT-1246  -  Update libWebsockets
	#jira UEPLAT-1221  -  update websocket library
	#jira UEPLAT-1204  -  Rebuild libwebsockets with SSL

Change 2970016 on 2016/05/07 by Nick.Shin

	undo all of the following upgrades:
	- zlib
	- openssl
	- libcurl
	- libwebsockets

	and reset webrtc

	#jira UE-30298 - Fortnite and Orion crash on login

Change 3059693 on 2016/07/21 by Josh.Adams

	Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform)

Change 3061151 on 2016/07/22 by Niklas.Smedberg

	Fast ASTC texture compression, using ISPC.

	#jira UE-32308

Change 3061428 on 2016/07/22 by Peter.Sauerbrei

	Back out changelist 3061151 as it wasn't approved for submission

Change 3061970 on 2016/07/22 by Steve.Cano

	Adding AdMob interstitital ad support for Android, including Blueprint functions

	#jira UE-33286
	#ue4
	#android

Change 3062160 on 2016/07/22 by Mark.Satterthwaite

	Fix the fix for handling RHISetStreamSource overriding stride on Metal - not all MTLVertexDescriptors are equally hashable so do this ourselves.
	#jira UE-33355

Change 3062770 on 2016/07/24 by Brent.Pease

	UE-32397 Error Message displays as Unknown Error when failing to supply a Remote Build server for ios on Windows

Change 3063227 on 2016/07/25 by Dmitry.Rekman

	Update hlslcc cross-compile after libc++ change.

Change 3063314 on 2016/07/25 by Jeff.Campeau

	Xbox One DLL loading
	Receipts can be read back by request for target info

Change 3063329 on 2016/07/25 by Mark.Satterthwaite

	CL #3046743 was breaking other samples in unexpected ways after a recent Main merge, so make a Metal-specific change to the shader instead and amend the MetalBackend to better match HLSL's handling of NaN/inf with common single-precision float intrinsics. This is sufficient to fix the AtmosphericFog and the recent regressions.
	#jira UE-33600
	#jira UE-33028
	#jira UE-27879
	#jira UE-25802

Change 3063492 on 2016/07/25 by Brent.Pease

	UE-23846 - iOS Movie Player can't handle videos at resolutions that aren't multiples of 16
	UE-33200 - A movie isn't played on iOS occasionally.

Change 3063729 on 2016/07/25 by Dmitry.Rekman

	Linux: enable XGE on all platforms.

	#tests Cross-compiled a number of Linux targets on Windows.

Change 3063732 on 2016/07/25 by Dmitry.Rekman

	Fixed formatting (spaces->tabs) in previous change.

Change 3063750 on 2016/07/25 by Daniel.Lamb

	Added code to dump the cook modification delegate loads to log.
	Fixed the memory usage output log.
	#test cook paragon.

Change 3063804 on 2016/07/25 by Daniel.Lamb

	Added cookpartialgc additional commandline option to uat.
	#test UFE

Change 3064008 on 2016/07/25 by Mark.Satterthwaite

	For non-shipping builds conditionally bind a default uniform buffer in Metal and report an error if the slot was unbound, if our validation layer is enabled attempt to report the shader source in question. This relies on the shader compiler providing accurate information about uniform buffer bindings and won't fix all occurances of bad uniform usage (if a buffer is bound but too short the result will be GPU restarts or an error in Apple's validation layer - we can't detect this case) but will help debug the typical error of leaving an active slot unbound.
	#jira FORT-27685

Change 3064141 on 2016/07/25 by Jeff.Campeau

	Rebuild vpxmd.lib with delayed codegen disabled (fixes linker warning building Win64).

Change 3065024 on 2016/07/26 by Nick.Shin

	Change filetype
	remove exclusive check out bit

	requested by or.coheni & nick.penwarden

Change 3065274 on 2016/07/26 by Jonathan.Fitzpatrick

	DirectoriesToAlwaysStageAsUFS now properly filters out *.uasset and *.umap files
	This prevents the bug where cooked assets get trampled by staging their uncooked version on top of them during the UFS step

	Added a file filter to DirectoriesToAlwaysStageAsUFS for uasset and umap.

Change 3066338 on 2016/07/27 by Mark.Satterthwaite

	Handle releasing an SRV/UAV & the source object within a single Metal command-buffer.
	#jira UE-33779

Change 3066789 on 2016/07/27 by Daniel.Lamb

	Realtime mode does not save any packages anymore unless they are ready.
	#test cookontheside, cookbythebook shooter game

Change 3066847 on 2016/07/27 by Jeff.Campeau

	Fix define
	#2634
	#jira UE-33813

Change 3068868 on 2016/07/28 by Mark.Satterthwaite

	Extend hlslcc's handling of switch-statements to allow implict casts from scalar bool, half & float as HLSL itself permits while also making sure it errors if the expression input is not scalar. This fixes shader compile errors in UT.

Change 3070040 on 2016/07/29 by Dmitry.Rekman

	Delete Nadzorca.

Change 3070947 on 2016/07/29 by Jeff.Campeau

	Perforce C++ API 2015.2 (includes debug libraries)

Change 3073707 on 2016/08/02 by Daniel.Lamb

	Derived data cache commandlet runs resolve string asset references to load any string asset refereced packages from the map.
	Also process async results from shaders being compiled so they can have their memory resources released.
	#test DerivedDataCache commandlet shootergame.

Change 3076613 on 2016/08/03 by Brent.Pease

	 + UnrealTargetConfiguration is now passed into deploy and package methods
	 + The UIRequiredDeviceCapabilities  plist key now only considers the architectures from the corresponding target configuration (shipping or development)

Change 3076668 on 2016/08/03 by Brent.Pease

	Back out changelist 3076613

Change 3077157 on 2016/08/04 by Daniel.Lamb

	Fixed up DLC staging so that it stages to the proper mount point.
	Fixes up include engine content in DLC staging paths.
	#test Made up shooter game DLC

Change 3077191 on 2016/08/04 by Daniel.Lamb

	More smartly process async shader compilation if we are waiting for it.
	#test cook on the side shooter game cook by the book shooter game.

Change 3077412 on 2016/08/04 by Mark.Satterthwaite

	Fix "iOS Metal-based build crashes at launch with sub-levels":
	- Slate should not bind the null RHI texture from an unitialised texture atlas - atlases only have a valid texture pointer once an entry has been added to them and in the template projects an empty sub-level doesn't add anything.
	- To prevent this kind of bug resurfacing and being so hard to track down add Metal shader binding validation to our validation layer as Apple's is incomplete on iOS and won't warn us about nil texture usage which causes these GPU restarts. This requires reworking our vertex declaration handling to be more efficient so that we can cache the pipeline reflection data as well as the pipeline objects.
	- Fix validation error of texture reallocation on loading template projects under Metal.
	#jira UE-30847

Change 3077958 on 2016/08/04 by Brent.Pease

	 + UnrealTargetConfiguration is now passed into deploy and package methods
	 + The UIRequiredDeviceCapabilities  plist key now only considers the architectures from the corresponding target configuration (shipping or development)

Change 3079503 on 2016/08/05 by Mark.Satterthwaite

	Initialise more variable types to 0 in Metal shaders to workaround Xcode 8 toolchain no longer doing this for us for "threadgroup shared" variables. Everything but structs and atomic's will now be initialised.
	#jira UE-33856

Change 3079737 on 2016/08/05 by Jeff.Campeau

	Add support for delay load DLLs on Xbox One
	Turn off warnging for missing PDBs to match VCToolchain.cs

Change 3081005 on 2016/08/08 by Mark.Satterthwaite

	Fix-up Metal device name on AMD for macOS 10.12 which reports it correctly and enable tiled reflections on Intel from macOS 10.12 too as they now work.

Change 3081557 on 2016/08/08 by Daniel.Lamb

	File-> Package saves all packages before starting packaging.
	#test File package first person template

Change 3082215 on 2016/08/09 by Lee.Clark

	PS4 - Added 4k profile

Change 3082412 on 2016/08/09 by Daniel.Lamb

	Fixed cook on the fly server not handling cook requests.
	#test Cook on the fly shooter game.

Change 3082955 on 2016/08/09 by Dmitry.Rekman

	Linux: convert existing Strcat() uses to Strncat().

	- Strcat() does not check destination size so can silently corrupt memory. While this was not observed, this conversion removes this concern altogether.

Change 3083772 on 2016/08/10 by Luke.Thatcher

	[PLATFORM] [PS4] [+]
	Checking in PS4CrashHandler files so we have a copy in Perforce rather than just on the server.
	 - Taken from \\devweb-02 and removed all the unused files/dependencies.
	 - Created a publish profile pointing to \\devweb-02\Sites\PS4Services\PS4CrashHandlerDev so I'm not writing over the existing deployed crash handler.
	 - Moved all code in the Page_Load event to inside the check for the HTTP method (POST) otherwise GET'ing the page from a browser will generate crash folders that hang around forever.

Change 3085450 on 2016/08/11 by Lee.Clark

	PS4 - Fix mediaplayer pipeline allocation

Change 3086360 on 2016/08/11 by Michael.Trepka

	Fixed a non-unity build error in Mac UnrealFrontend

Change 3087224 on 2016/08/12 by Luke.Thatcher

	[PLATFORM] [PS4] [~]
	Refactor PS4 Crash Handler site
	 - Removed CoreDumpHandler. Processing dump files is handled directly by an async thread within the aspx process.
	 - Separated configuration values into their own class. Currently set to output to a testing directory, rather than the actual crash reporter landing zone.
	 - Added a debug upload page to allow manual submission of .orbisdmp/.txt settings files, accessible by GET'ing Default.aspx.
	 - Added logging. Logs self-delete after 30 days.

	Testing required before we switch to the new system.

	#jira UE-34504
	#jira OR-26886

Change 3087626 on 2016/08/12 by Dmitry.Rekman

	PR #2689: Fix copying/duplicating failing on Linux (UE-34586).

	- Contributed by Web-eWorks.

Change 3087991 on 2016/08/12 by Mark.Satterthwaite

	Initial AVFoundation implementation of Media Framework for Mac, iOS & tvOS.
	- Video playback occurs via AVPlayerItemVideoOutput's attached to the AVPlayerItem's output. This means gathering video samples is trivial.
	- Metal texture updates occur by wrapping the texture object provided by AVF - for Mac this is simple as it can bind to the IOSurface directly, for iOS/tvOS we have to create a CVMetalTextureCache and allocate our texture from there.
	- OpenGL and OpenGLES currently have to lock the pixel buffer and upload to a texture the old fashioned way - this should be revisited when there is time.
	- Subtitles/Captions are captured using AVPlayerItemLegibleOutput which also connects to the AVPlayerItem's output.
	- On Mac audio samples are returned by manually reading from the stream using an AVAssetReaderTrackOutput, including manual seeking and synching.
	- On iOS/tvOS the audio is played directly by AVPlayer because the IOSAudio system can't handle procedural buffers - otherwise it could reuse the Mac code.
	- AVFoundation does not support AVI - that's an obsolete Microsoft/Windows file-format.
	- Only 'file://' URLs are supported - streaming would require a totally different audio solution (using MTAudioProcessingTap) and has many more edge and failure cases that would need to be handled.
	#jira UE-34315

Change 3088790 on 2016/08/15 by Luke.Thatcher

	[PLATFORM] [PS4] [~]
	Hook new PS4 crash handler up to the crash reporter website.
	 - Removed indentation from generated crash context XML file. The crash reporter process does manual XML parsing which doesn't correctly handle whitespace at the start of lines.
	 - Switched the final output folder to match the one the crash reporter process is watching.
	 - Hide upload form on a config variable.

	#jira UE-34504
	#jira OR-26886

Change 3089060 on 2016/08/15 by Luke.Thatcher

	[PLATFORM] [PS4] [!]
	Change PS4 crash handler log file extension to ".ps4chlog", otherwise the crash reporter site attaches the wrong log file to the crash report.
	Allowed showing of debug upload form via "Default.aspx?showform=1" query string.

	#jira UE-34504
	#jira OR-26886

Change 3089089 on 2016/08/15 by Mark.Satterthwaite

	Duplicated changes to AppleMovieStreamer from CL #3088149.
	#jira UE-34315

Change 3089460 on 2016/08/15 by Mark.Satterthwaite

	Duplicate CL #3080971:
	Workaround a macOS 10.12 Beta bug on some Metal drivers that can't initialise temporary/local variable arrays, only those that are marked threadgroup shared.
	#jira UE-34355

Change 3089465 on 2016/08/15 by Mark.Satterthwaite

	For Metal shader translation retain more precision for float constants -1.0f >< 1.0f by emitting them in scientific notation - prevents Hammersley constant amongst others from being flushed to 0.

Change 3089902 on 2016/08/15 by Daniel.Lamb

	Changed the next compiling ID to the correct compiling ID.
	#test Cook

Change 3089903 on 2016/08/15 by Daniel.Lamb

	Cooker monitors config useage during cook and uses those settings to invalidate cooked content instead of all config settings.

Change 3090114 on 2016/08/16 by Luke.Thatcher

	[PLATFORM] [PS4] [~]
	Minor change to PS4 settings text on crash handler site.

Change 3090949 on 2016/08/16 by Nick.Shin

	WebSocketNetDriver crash fix

	filled in missing chunk of code that calls PacketHandler's "packet modifiers"

	#jira UE-25492   HTML5 Client cannot connect to Windows Server
	#jira UE-30880   WinServer crashes when NetDriver is set to WebSocket and Client attempts to connect via websocket
	#code.review john.pollard john.barrett

Change 3091265 on 2016/08/16 by Brent.Pease

	Add IOS support to HarfBuzz

Change 3091267 on 2016/08/16 by Brent.Pease

	Add references to fix mono build

Change 3091291 on 2016/08/16 by Nick.Shin

	CIS warning fix

	#jira UE-25492   HTML5 Client cannot connect to Windows Server
	#jira UE-30880   WinServer crashes when NetDriver is set to WebSocket and Client attempts to connect via websocket

Change 3091781 on 2016/08/17 by Joe.Barnes

	UE-33640: Exposed UPrimitiveComponent::IsAnyRigidBodyAwake() to Blueprints.

Change 3092687 on 2016/08/17 by Daniel.Lamb

	Added support for using binned allocator in cooker instead of tbb.
	#test Cook shootergame.

Change 3093867 on 2016/08/18 by Mark.Satterthwaite

	Use a read/write mutex to protect access to Metal's internal shader pipeline caches so that parallel threads can progress in the common case where new shaders are not being compiled.

Change 3093950 on 2016/08/18 by Mark.Satterthwaite

	Change the Mac GPU identification code to cope with AMD's new naming scheme on 10.12.

Change 3093951 on 2016/08/18 by Mark.Satterthwaite

	More SCW threads on Mac - they work now.

Change 3093960 on 2016/08/18 by Mark.Satterthwaite

	Increase the default number of command-buffers on Mac because bigger games overflow the current limit of 64 per queue.

Change 3096493 on 2016/08/22 by Jeff.Campeau

	Use Xbox version of DirectX include.

Change 3097509 on 2016/08/23 by Luke.Thatcher

	[PLATFORM] [PS4] [+]
	Refactor PS4 Symbol Publish
	 - Moved the SymStore task from Win.Automation to BuildGraph.Automation, and made it more generic.
	 - The specifics of uploading symbols are now implemented in the platform tool chain, alongside StripSymbols().
	 - Re-generated the build graph schema file.
	 - Removed the old PS4 symbols upload path in the package step.

	Modified OrionBuild.xml to publish symbols for all PS4 dev, test and shipping config builds of OrionClient.

Change 3097635 on 2016/08/23 by Luke.Thatcher

	[PLATFORM] [PS4] [+]
	Refactor Age Symbols task in UAT.
	 - Moved the AgeStore task from Win.Automation to BuildGraph.Automation and made it more generic.
	 - Symbol server directory structure is now defined by the platform tool chain, which the common task uses to clean out old symbols.
	 - Added a "filter" parameter to prevent age tasks deleting symbols from unrelated builds in shared symbol servers.

	Modified OrionBuild.xml to age both the Windows and PS4 symbol stores.

Change 3097713 on 2016/08/23 by Luke.Thatcher

	[PLATFORM] [PS4] [+]
	Enable new PS4 crash handler server
	 - Created live deployment profile and applied the required config file changes.

Change 3099214 on 2016/08/24 by Luke.Thatcher

	[PLATFORM] [PS4] [!]
	Fix compile error in PS4 tool chain. For some reason, this only breaks ocassionally. Maybe we're alternating between the 2013 and 2015 C# compilers depending on what initiates the build (e.g. Visual Studio vs GenerateProjectFiles)?

Change 3099222 on 2016/08/24 by Luke.Thatcher

	[PLATFORM] [PS4] [+]
	Added PS4 support for FPlatformMisc::MessageBoxExt using the MsgDialog library.
	 - Note, only one and two button message dialogs are supported (limitation of MsgDialog).

Change 3099260 on 2016/08/24 by Luke.Thatcher

	[PLATFORM] [PS4] [~]
	Better PS4 exit function. Calls quick_exit instead of abort when we've not asserted. Allows for a "cleaner" forced exit without generating a crash dump.

Change 3101192 on 2016/08/25 by Josh.Adams

	Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform)

Change 3101944 on 2016/08/25 by Daniel.Lamb

	Ask to save the current level when we are using launch on.

Change 3102036 on 2016/08/25 by Nick.Shin

	check for minimum expected size upon data received from network

	#jira UE-13657 - HTML5 plugin OnRawRecieve overflow

Change 3102115 on 2016/08/25 by Brent.Pease

	 - Fix small errors that probably only show up in the mac mono build

	#code.review peter.sauerbrei

Change 3102747 on 2016/08/26 by Jeremiah.Waldron

	Re-submitting OnlineSubsystemGameCircle with TPS permission for Amazon SDK
	 - Also fixed the plugin to remove any related files from the final package when IAP is disabled or GameCircle support itself is disabled with the plugin still enabled
	 - Added support for new AlreadyOwned IAP response code as well which is already used for GooglePlay and IOS

Change 3102900 on 2016/08/26 by Nick.Shin

	since last checkin (CL: 2981945) - prints are crashing the browser - this change will allow browser to print the details via console.log()

	#jira UE-26047 - HTML5 HTTP Response Headers not implemented

Change 3103130 on 2016/08/26 by Brent.Pease

	UE-24679 - Enable the ability to change ports for a firewall to pass them through rsync

Change 3103225 on 2016/08/26 by Daniel.Lamb

	Fixed issue with warning which would cause crash.

Change 3103425 on 2016/08/26 by Dmitry.Rekman

	Enable offscreen GL rendering without X.

	- Added new video subsystem to SDL that is uses EGL to initialize the context.
	- Most windoing functions stubbed.
	- Also added a new test case to TestPAL for easier debugging.

Change 3104743 on 2016/08/29 by Brent.Pease

	Support remote offline metal shader compilation

Change 3105051 on 2016/08/29 by Brent.Pease

	UE-2382 - TASK: MobleMVP: iOS: Add ability to view iOS device console output in the editor UFE

	 - IOS Automation will now create a thread to collect the console logs from the device and send them to C# Console output while the app is running on device
	 - Made ProcessResult an interface (IProcessResult) which ProcessResult implements. This allows platforms to provide their own implementation if needed.
	 - Moved the RunLoop related parts of CoreFoundation into MobileDevice.cs

Change 3105053 on 2016/08/29 by Brent.Pease

	 - IOS dll's as part of the last check-in

Change 3106853 on 2016/08/30 by Jeff.Campeau

	Implement FD3D11DynamicRHI::RHICreateComputeFence to prevent memory overwrite

Change 3107361 on 2016/08/30 by Dmitry.Rekman

	Renderer: changes to allow postproc delegates.

Change 3107362 on 2016/08/30 by Dmitry.Rekman

	Plugin with a CUDA postproc example.

	- Linux version only. Runs under a headless GL too (without X).
	- Disabled during cross-compilation, can be compiled natively only.
	- CUDA kernel should be compiled separately, CMakefile with compilation attached (can be used to generate VStudio projects as well).
	- To test the output, run under the debugger, interrupt and set global variable GSaveTheOutput to 50 (this will write out kernel output buffer 50 times as .bmp files into working directory).

Change 3107913 on 2016/08/31 by Daniel.Lamb

	Fixed loading of cooked content in the editor.

Change 3107916 on 2016/08/31 by Daniel.Lamb

	Added error case when shader compilation fails to notify shader.
	#test Cook shooter game.

Change 3108080 on 2016/08/31 by Josh.Adams

	- Fixed PS4Automation compile errors

Change 3109077 on 2016/08/31 by Brent.Pease

	Fix C# debug builds by specifying x64 and add reference to MobileDeviceInterface

Change 3110086 on 2016/09/01 by Dmitry.Rekman

	Fix race condition in PThread runnable (UE-35074).

	- Instead of relying on busy-wait, join the threads. This prevents race between PostRun() (executed in the context of the thread) and FPThreadRunnableThread() destructor (see UE-34909).
	- Do not use an invalid value for pthread_t, since there's none.

Change 3110172 on 2016/09/01 by Dmitry.Rekman

	Fixed a crash exiting VR Preview on Windows GL4 (UE-28708).

	- PR #2188 submitted by ardneran.

Change 3110313 on 2016/09/01 by Josh.Adams

	Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform)

Change 3111134 on 2016/09/01 by Dmitry.Rekman

	UBT: prevent mono from hanging on Ctrl-C.

	- Sometimes Ctrl-C can cause thread creation to fail. Without this change, UBT would lock up.

Change 3111171 on 2016/09/01 by Brent.Pease

	Move all C# projects to use the x64 Platform for consistency with other changes made to move to the x64 Platform

Change 3111177 on 2016/09/01 by Dmitry.Rekman

	Fix Linux build on systems without CUDA (UE-35460).

Change 3111548 on 2016/09/02 by Luke.Thatcher

	[PLATFORM] [PS4] [!]
	Fix for PS4 iterative deployment.
	 - Changes in Dev-Mobile broke the deployment manifests, as PS4 was now using the wrong filename when creating delta and obsolete file lists.

Change 3111863 on 2016/09/02 by Dmitry.Rekman

	Better fix for build without CUDA (UE-35460).

Change 3112738 on 2016/09/02 by Mark.Satterthwaite

	Fix the pausing particles on Metal - one line bug in the Metal query implementation meant that the first query wouldn't return the correct result for no good reason.
	#jira UE-34989

Change 3114579 on 2016/09/06 by Chris.Babcock

	Fix Vulkan include path in NDK check (contributed by geediiiiky)
	#jira UE-35490
	#github #2758
	#ue4
	#android

Change 3115115 on 2016/09/06 by Jeff.Campeau

	Calculate buffer size for paks using the bitwindow override as needed

Change 3115600 on 2016/09/07 by Luke.Thatcher

	[PLATFORM] [PS4] [~]
	Make the crash dump handler registration much earlier, to catch crashes in early engine init.
	 - Fixed up places in FGenericCrashContext::SerializeContentToBuffer which used the command line. If we crash early, the command line may not have been initialized yet.
	 - Added a GetNoInit function to FThreadHeartBeat to avoid creating the heart beat thread if we crash early, and the thread doesn't exist yet.

	Tested by calling abort() immediately inside int main(), and we get a valid crash dump that the crash handler service can consume.

Change 3115676 on 2016/09/07 by Luke.Thatcher

	[PLATFORM] [~]
	Dev-Platform integration fix for original CL 3064888 in //Orion/Release-29.1
	Add .exe and .dll to windows symbol upload file filters.

Change 3115811 on 2016/09/07 by Josh.Adams

	Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform)

Change 3115944 on 2016/09/07 by Michael.Trepka

	Implemented IsGamepadAttached() for Mac

Change 3115948 on 2016/09/07 by Michael.Trepka

	Don't try to restore Help menu item on Mac if MenuBlock does not contain it

Change 3116200 on 2016/09/07 by Jeff.Campeau

	Fix parameter ordering

Change 3117660 on 2016/09/08 by Josh.Adams

	Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform)

Change 3117728 on 2016/09/08 by Michael.Trepka

	Copy of CL 3117698 by Mike.Fricker

	Fixed regression with editor's Simulate mode where cursor would teleport back to the center of the viewport after every click
	- This bug was introduced in CL 3075932 from a borderless window cursor handling fix that was needed for games that capture the cursor

Change 3117797 on 2016/09/08 by Peter.Sauerbrei

	Shader Resource compression

Change 3117988 on 2016/09/08 by Brent.Pease

	 - Solutiion generator will now pick x64 instead of AnyCPU for the default platform configuration
	 - Fix what I think was a merge error in BuildGraph.cs

Change 3118296 on 2016/09/08 by Daniel.Lamb

	Fixed crash with launch on.  Couldnt' correctly detect previous generated ini settings.
	#test launch on QA game
	#jira UE-35741

Change 3118438 on 2016/09/08 by JohnHenry.Carawon

	Fix UAT compilation on Linux
	#UE-35745

Change 3118934 on 2016/09/08 by Jeff.Campeau

	Shader compression setting based on target platform instead of cooking host platform.

	#jira UE-35753

Change 3120190 on 2016/09/09 by Ben.Marsh

	Add missing Platform attribute to build script for Dev-Platform.

[CL 3120378 by Josh Adams in Main branch]
2016-09-09 20:13:41 -04:00
Ben Marsh
496e06c3d5 Copying //UE4/Orion-Staging to //UE4/Dev-Main (//UE4/Orion-Staging @ 2979119, //Orion/Dev-General @2976565)
#lockdown Nick.Penwarden
==========================
MAJOR FEATURES + CHANGES
==========================

Change 2976484 on 2016/05/12 by Jason.Bestimt

	#ROBOMERGE-AUTHOR: nick.atamas
	Added queueing to HUD Alerts so they don't clobber each other.
	Added input visualization so that keys show up in game.
	SRichTextBlock/UOrionRichTextBlock now have a MinDesiredWidth

	#test PIE

	#ROBOMERGE-SOURCE: CL 2976474 in //Orion/Release-0.26/... via CL 2976481 via CL 2976482 via CL 2976483
	#ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 2976256 on 2016/05/12 by Zak.Middleton

	#ue4 - Fix for shipping build.

	#tests compiled

Change 2976205 on 2016/05/12 by Zak.Middleton

	#ue4 - (Merge 2957866) Add MaxDepenetration for characters against geometry and pawns.

	#tests MP PIE PlayGo
	(Merging CL 2957866 using Framework->DevGeneral)

Change 2976166 on 2016/05/12 by Daniel.Lamb

	Cooking optimziation to unsolicited markup saves 150 seconds paragon cook time.
	#test Cook paragon

Change 2976161 on 2016/05/12 by Zak.Middleton

	#ue4 - Make sure LastUpdateLocation, Rotation, and Velocity are updated on client and server error corrections. ForcePositionUpdate should call PerformMovement regardless of velocity (there may be root motion or gravity effects).

	#tests PIE MP w/ real-world networking

Change 2976092 on 2016/05/12 by Mieszko.Zielinski

	Modified adding dynamic subtrees to BT component so that we get a log info if it fails #UE4

	#test golden path

Change 2976001 on 2016/05/12 by Robert.Manuszewski

	Don't log to memory on dedicated servers

	#jira UE-30693
	#test Cooked dedicated server and client

Change 2975855 on 2016/05/12 by Lukasz.Furman

	fixed behavior tree serialization spawning duplicates of task services
	#tests BT editor

Change 2975706 on 2016/05/12 by Daniel.Lamb

	Fixed redirect collector stats.
	#test Compile

Change 2975636 on 2016/05/12 by Jason.Bestimt

	#ROBOMERGE-AUTHOR: jason.bestimt
	#ORION_MAIN - Merge DUI @ CL 2975557

	#RB:none
	#Tests:none

	[CodeReviewed]: matt.schembari, kerrington.smith, tony.oliva, jaymee.stanford, mona.huang, alex.conner, jacob.lawyer, paul.shank

	#ROBOMERGE-SOURCE: CL 2975635 in //Orion/Main/...
	#ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 2975592 on 2016/05/12 by Zak.Middleton

	#ue4 - Add stat for SetHitResultFromShapeAndFaceIndex().

	#tests PIE

Change 2975589 on 2016/05/12 by Zak.Middleton

	#ue4 - Avoid filling temp variable unless in Editor builds. It's only used later in the function in Editor builds.

	#tests PIE

Change 2975588 on 2016/05/12 by Zak.Middleton

	#ue4 - Minor tweak to avoid array read each loop iteration.

	#tests PIE

Change 2975587 on 2016/05/12 by Zak.Middleton

	#ue4 - Add "IsPlayerController()" function to AController. Variable already existed, just wasn't exposed.

	#tests PIE

Change 2975504 on 2016/05/12 by Daniel.Lamb

	Remove new stats system because it broke build.
	#test cook paragon

Change 2975500 on 2016/05/12 by Daniel.Lamb

	Enable redirect timers so I can get stats from build machines.
	#test cook paragon.

Change 2975367 on 2016/05/12 by Jason.Bestimt

	#ROBOMERGE-AUTHOR: david.nikdel
	#OGF #CatalogService #OSS #Localization
	- Flush the cached offers/items in CatalogServiceMcp when the culture changes since they contain localized text
	- Flush the cached virtual catalog offers/items in McpCatalogHelper when the culture changes since they contain localized text
	- Replaced SetForceCatalogRefresh with ClearCache per CR with SamZ (will require Launcher fixup)

	[CodeReviewed]: Sam.Zamani, Matt.Kuhlenschmidt
	#RB: Sam.Zamani
	#TESTS: storefront w/ language change

	#ROBOMERGE-SOURCE: CL 2975366 in //Orion/Main/...
	#ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 2975209 on 2016/05/12 by Simon.Tovey

	Fixed initialization order warning.

	#tests none

Change 2975200 on 2016/05/12 by Simon.Tovey

	Translucency GPU time stats for automation.

	Refactored separate translucency gpu timer to more general helper class and used it to also time regular translucency.
	Feeding both of these into a stat to help art identify poorly performing VFX for more detailed investigation.
	There are occasional spikes when the GPU is starved but overall the data out seems good.

	#tests GoldenPath, Editor, Auto downsampling works, new stat produces reasonable data.

Change 2974984 on 2016/05/11 by Mieszko.Zielinski

	Fixed a bug in graph-a-star heuristics' calculation #UE4

	#test golden path

Change 2974916 on 2016/05/11 by Jason.Bestimt

	#ROBOMERGE-AUTHOR: jason.bestimt
	#ORION_MAIN - Merge 26 @ CL 2974578

	#RB:none
	#Tests:none

	#ROBOMERGE-SOURCE: CL 2974915 in //Orion/Main/...
	#ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 2974869 on 2016/05/11 by Ben.Marsh

	BuildGraph: Add a MergeTelemetryWithPrefix="..." parameter to the <Command> task which allows merging the telemetry data from a child UAT run, adding a given prefix to all the key names.

	#tests none

Change 2974673 on 2016/05/11 by Mieszko.Zielinski

	Fix to BT not stopping if "StopTree" called while BT was waiting for a task to latently abort #UE4

	(change by ?ukasz.Furman)
	#test golden path

Change 2974581 on 2016/05/11 by Jason.Bestimt

	#ROBOMERGE-AUTHOR: matt.kuhlenschmidt
	Merged CL 2974565 from Release-.26 -> Main:

	Fixed loc region not saving in shipping builds
	Partially fixed store not refreshing when changing regions. Real money currency items are pending additional fixes

	#ROBOMERGE-SOURCE: CL 2974578 in //Orion/Main/...
	#ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 2974444 on 2016/05/11 by Jason.Bestimt

	#ROBOMERGE-AUTHOR: richard.fawcett
	Reimplement support for specifying BuildPatchTool version used in chunking

	This is now possible after Ben Marsh's fix to BuildGraph with CL 2974407.

	#tests none

	#ROBOMERGE-SOURCE: CL 2974441 in //Orion/Main/...
	#ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 2974408 on 2016/05/11 by Jason.Bestimt

	#ROBOMERGE-AUTHOR: ben.marsh
	BuildGraph: Fix support for variable expansion in user-defined enum types. Enums in the schema are now represented as the union of valid values and a regex matching a balanced property expansion string, which still validates/autocompletes cleanly in Visual Studio.

	#tests none
	[CodeReviewed] Richard.Fawcett

	#ROBOMERGE-SOURCE: CL 2974407 in //Orion/Main/...
	#ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 2974392 on 2016/05/11 by Daniel.Lamb

	Optimizing resolve string asset reference resolution.
	Added timing stats (disabled by default).
	#test Cook paragon.

Change 2974349 on 2016/05/11 by Jason.Bestimt

	#ROBOMERGE-AUTHOR: richard.fawcett
	Back out changelist 2974298. An issue with the BuildGraph system has prevented this change from working on the build farm.

	#tests none

	#ROBOMERGE-SOURCE: CL 2974347 in //Orion/Main/...
	#ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 2974299 on 2016/05/11 by Jason.Bestimt

	#ROBOMERGE-AUTHOR: richard.fawcett
	Add support for chunking builds with the pre-release version of BuildPatchTool.

	#tests None. This code will be tested by creating a build on the build farm immediately after submission.

	#ROBOMERGE-SOURCE: CL 2974298 in //Orion/Main/...
	#ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 2974277 on 2016/05/11 by Lina.Halper

	Fix up of retargeting when it skips replacing nested reference

	#tests: retargeting anim BP

Change 2974210 on 2016/05/11 by Bart.Bressler

	Merging Oodle changes from Dev-Networking

	Change 2939167 on 2016/04/10 by John.Barrett

		Updated packet bit termination code, so that both UNetConnection's and the PacketHandler use a termination bit (required for both PacketHandler/UNetconnection, as HandlerComponent's such as Oodle, are byte-aligned and do not preserve packet bit size).

		Added new 'stat packet' stats group, for tracking reserved packet bits.

		Added '-NoPacketHandler' commandline parameter, for disabling the PacketHandler and all HandlerComponent's (including stateless handshake) - restoring netcode to pre-PacketHandler state.

		Removed PacketHandler 'packet overhead' method of packet bit size calculation - replaced with termination bit. Still partially used for reserving bits within packets (but renamed to avoid conflict with other 'PacketOverhead' variable).

		Refactored/consolidated some PacketHandler code. Added more stringent bounds checking on packet sizes.

	Change 2939168 on 2016/04/10 by John.Barrett

		Updated Oodle to support new packet bit-termination code.

		Added Oodle protocol support for selective packet compression (packets can now be sent uncompressed - game code will require a hook for this) - required for new bit-based netcode (Oodle outputs byte-aligned data, allowing compressed data to exceed size of uncompressed data - and thus, maximum packet size if not sent uncompressed - in rare edge cases).

		Added '-CompressionTest' commandline parameter to Oodle dictionary generation commandlet, which reserves a portion of captured packets, for determining the compression savings percentage.

		Added '-OodleDebugDump' commandline parameter, which disables normal dictionary generation, and converts packet captures into a .bin file, which is compatible with the Oodle 'example_packet.cpp' code.

		Added temporary security bandaids to Oodle code, based on report that Luigi Auriemma put together, which deals with potential weaknesses in the Oodle API

		Added 'stat oodle' stats for tracking failed attempts at compressing packets.

	Change 2942964 on 2016/04/10 by Ryan.Gerleve

		Fix broken indentation/formatting

	Change 2958260 on 2016/04/27 by Bart.bRessler

		Add branch name and changelist to oodle packet capture filenames.

	Change 2964360 on 2016/05/03 by John.Barrett

		Updated Oodle to support using a dictionary and capturing packets at the same time.

		The dictionary is now always loaded, if specified, and whenever -OodleCapturing is on the commandline, packets are captured alongside the active dictionary.

		Added several debug commands, to aid with testing compression performance (not QA-ready; only works with 1 player on a server):

		"Oodle Compression On/Off" - enables/disables packet compression (but still decompresses received compressed packets)

		"Oodle Dictionary Unload/Load" - unloads/loads the dictionary files, to allow releasing the files for dictionary generation, and reloading the new dictionary.

		"Oodle Capture On/Off" - Enables/Disables packet capturing at runtime - requires '-OodleCapturing' on commandline.

		"Oodle ResetStats" - resets the 'stat oodle' stat counters.

		The NetcodeUnitTest plugin should be enabled, so that these commands can automatically execute on the server as well, as needed.

	Change 2964553 on 2016/05/03 by Bart.Bressler

		Add process ID to oodle capture filenames

	Change 2966247 on 2016/05/04 by John.Pollard

		Oodle 2.1.5 SDK

	Change 2968761 on 2016/05/06 by Bart.Bressler

		- Added changelist number as parameter to most command line tasks to filter captures by their changelist number (use "all" to get everything)
		- Moved a bunch of the file searching/processing code outside of the tasks themselves so that the tasks all just operate to an array of capture files, this makes it easier to create new command line options
		- When looking for capture files, we will now recursively search subdirectories

	Change 2970529 on 2016/05/09 by Bart.Bressler

		Add an optional "CapturePercentage" command line parameter that has a percentage chance of generating capture files per connection

	Change 2970874 on 2016/05/09 by Bart.Bressler

		- Turn on OODLE_DEV_SHIPPING in the Orion server shipping config so that captures can be generated in shipping builds
		- Link to version 215 of oodle

	Change 2971233 on 2016/05/09 by Bart.Bressler

		Update Oodle DLLs in Orion

	Change 2971362 on 2016/05/09 by Bart.Bressler

		Create script for building an oodle dictionary out of capture files in an arbitrary location

	Change 2972176 on 2016/05/10 by Bart.Bressler

		Update oodle references to version 215 in OodleHandlerComponent.Build.cs

	#tests used solo vs. ai to test oodle captures and using them

Change 2974035 on 2016/05/11 by Simon.Tovey

	Adding fx.ParticleCollisionIgnoreInvisibleTime to replace hard coded time.

	This is the time a PSC needs to be invisible for to have all it's collisions ignored.
	This is potentially the cause of a bug Tim et al are seeing.

	#tests Editor, Can be used to repro/fix the issue.

Change 2973985 on 2016/05/11 by Lina.Halper

	Retargeting fix with editor saving issue

	#tests: retargeting

Change 2973695 on 2016/05/11 by Jason.Bestimt

	#ROBOMERGE-AUTHOR: jason.bestimt
	#ORION_MAIN - Merge 26 @ CL 2973469

	#RB:none
	#Tests:none

	#ROBOMERGE-SOURCE: CL 2973694 in //Orion/Main/...
	#ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 2973679 on 2016/05/11 by Graeme.Thornton

	UAT parameter -signedpak now no longer implies -pak

	#tests win64 cooked client. checked that pak generation works as expected through project launcher

Change 2973588 on 2016/05/11 by Simon.Tovey

	OR-21033 - Get physical material from particle collision event exposed in Cascade / Blueprint

	Particles can now receive collision events selectively based upon the phyisics material of the hit.

	Physics material is passed through the event and can be accessed in BPs.
	The Event Receiver Spawn node also now has an array of Allowed and Banned phys materials.

	#tests Editor and game. Coudln't test cooked as having unrelated crashes in cooked games. Shouldn't be any cooked/uncooked issues here.

Change 2973394 on 2016/05/11 by bruce.nesbit

	Fixed couple of shadow vars

	#tests compiled

Change 2973335 on 2016/05/11 by Andrew.Grant

	Warning fix
	#tests compiled

Change 2973308 on 2016/05/10 by Dmitry.Rekman

	Add "unplayable condition" reporting.

	- The server will report an unplayable condition by creating a local file (under Saved).
	- An external script can possibly notice this and, applying its own logic on % of servers reporting it, profile or shutdown the whole machine.
	- Report file is to be deleted by an external script.

	#tests Compiled and ran Linux server, subjected it to various hitches.

Change 2973235 on 2016/05/10 by Zak.Middleton

	#ue4 - Removed allocs after initial spawn from client saved move processing in character movement.

	#tests PIE multiplayer w/ Bots

Change 2973157 on 2016/05/10 by Olaf.Piesche

	Merging CL 2973112 from //UE4/Dev-Rendering->//Orion/Dev-General

	Providing particle source and target for beam emitters

	#tests editor game PC

Change 2972715 on 2016/05/10 by Jason.Bestimt

	#ROBOMERGE-AUTHOR: jason.bestimt
	#ORION_MAIN - Merge 26 @ CL 2972681

	#RB: none
	#Tests:none

	#ROBOMERGE-SOURCE: CL 2972712 in //Orion/Main/...
	#ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 2972678 on 2016/05/10 by Mieszko.Zielinski

	Fixed babysitter bot not avoiding enemy towers when pathfinding back to base #Orion

	#jira OR-18590
	#test golden path

Change 2972595 on 2016/05/10 by Lina.Halper

	Animation Retargeting fix for blendspaces

	#code review: Benn.Gallagher, Martin.Wilson

	#tests: retargeting anim BP

Change 2972282 on 2016/05/10 by Daniel.Lamb

	Optimized string asset reference resolution slightly to help get back missing 10 minutes from paragon cook.
	#test cook paragon.

Change 2972260 on 2016/05/10 by Laurent.Delayen

	Fixed crash in UCharacterMovementComponent::HasRootMotionSources().

	#tests Chains pull not crashing anymore.

Change 2972241 on 2016/05/10 by Frank.Fella

	UMG - Fixes for material animation copied from 4.12.

	#RB Matt K.
	#TESTS Struct materials can now be animated and animated materials are named nicely.

Change 2971643 on 2016/05/09 by Dmitry.Rekman

	Add reporting of "zero load" frame times (OR-21035).

	- Added a thread that does nothing but sleeps and counts how often it missed the target FPS.
	- Added an analytics event ServerZeroLoadFrameTimeDistribution that is sent at the end of the match.
	- Server only.

	#tests Compiled and ran Linux server on a compatible content, played few matches in a row.

Change 2971544 on 2016/05/09 by Ben.Marsh

	EC: Use a full path to the telemetry file, to account for UAT switching directories.

Change 2971532 on 2016/05/09 by Wes.Hunt

	Alter the cook stats hierarchical profile data to reflect the latest cook changes.
	#tests none

Change 2971527 on 2016/05/09 by Ben.Marsh

	UAT: Move telemetry object into CommandUtils, so we can add stats from anywhere.

	#tests none

Change 2971461 on 2016/05/09 by David.Ratti

	Fix issues with mesh swap skins:
	-Front end intro animations not playing
	-In game spawn animations not playing
	-Some attachment weirdness (twinblast)

	#tests golden path

Change 2971460 on 2016/05/09 by David.Ratti

	Fallback to Target actor if there is no instigating actor in the GAmeplayCue parameters when determining if we should play "local only" effects

	#tests pie

Change 2971364 on 2016/05/09 by Ben.Marsh

	EC: Add support for adding custom telemetry data from UAT scripts, which gets piped through to the trends panel in EC.

	#tests none

Change 2971245 on 2016/05/09 by Dmitry.Rekman

	Add a "hitchhunter" log message to catch hitches while sleeping.

	#tests Compiled and ran Linux server on a compatible content.

Change 2971196 on 2016/05/09 by jason.bestimt

	#ORION_MAIN - Merge 25.2 @ CL 2971139

	#RB:none
	#Tests:none

	#ROBOMERGE-SOURCE: CL 2971168 in //Orion/Main/...
	#ROBOMERGE-BOT: ORION (Main -> Dev-General)

	#ROBOMERGE-SAYS: Beep boop! I couldn't merge this change. Please do it yourself, human.
	//Orion/Dev-General/OrionGame/Content/Characters/Heroes/Coil/Audio/Body/Pixie_Cranking_Loop_Cue.uasset - can't branch exclusive file already opened
	#CodeReview: david.nikdel, jason.bestimt

Change 2971113 on 2016/05/09 by Dmitry.Rekman

	UdpMessaging: Fixed broken filters for when to enable UDP transport.

	- Redoing MaxP's change from Dev-Sequencer (CL 2963357).
	- Reduces number of threads spawned by the server.

	#tests Compiled Linux server, ran it on a compatible content.

Change 2971040 on 2016/05/09 by jason.bestimt

	#ORION_MAIN - Merge 25.2 @ CL 2970990

	#RB:none
	#Tests:none

	[CodeReviewed]: jon.lietz

	#ROBOMERGE-SOURCE: CL 2971027 in //Orion/Main/...
	#ROBOMERGE-BOT: ORION (Main -> Dev-General)

	#ROBOMERGE-SAYS: Beep boop! I couldn't merge this change. Please do it yourself, human.
	#CodeReview: david.nikdel, jason.bestimt

Change 2970555 on 2016/05/09 by Ben.Marsh

	BuildGraph: Only show warnings and errors for the SavePackage log during cooks. Prevents redundant display of information that's already in the Cook log.

	#tests preflight here: https://ec-01.epicgames.net/commander/link/jobDetails/jobs/6443796

Change 2970507 on 2016/05/09 by David.Ratti

	Support for linking passive abilities to a key binded ability. E.g., allow a passive ability to be unlocked and leveled up in step with a key binded ability.

	Cleaned up the TryLevel/CanLevelUp code a bit: moved to Orion Ability System Component

	#tests pie

Change 2970414 on 2016/05/09 by Graeme.Thornton

	Don't take a copy of the child tags array when doing UGameplayTagsManager::FindTagNode, just take a const&

	#tests win64 client golden path

Change 2969729 on 2016/05/06 by Mieszko.Zielinski

	Fixed a dumb mistake in a conditional expresion in UNavigationQueryFilter::GetQueryFilter #UE4

	#test golden path

Change 2969675 on 2016/05/06 by Mieszko.Zielinski

	Implemented "meta navigation filter" that can fetch a filter class based on given agent #UE4

	Added NavFilter_AIControllerDefault that fetched DefaultNavigationFilter from AIController
	Reverted hack-feature that supplied same functionality to EQS

	#test golden path

Change 2969652 on 2016/05/06 by Michael.Noland

	HLOD: Changed UI gating code so that whether or not a LOD Actor is valid is based on the presence of at least two static mesh components, rather than at least two actors (to improve handling when including BPs)
	- Repurposed HasValidSubActors for this check, and introduced HasAnySubActors() for the existing uses as this better matches the intent of how the function was used
	#tests Added a single BP containing 7 mesh components to a new ALODActor and verified that it allowed a proxy to be generated

Change 2969651 on 2016/05/06 by Michael.Noland

	Simplygon: Added time taken for simplygon mesh reduction to the log message
	#tests Simplified a LOD cluster and inspected the log

Change 2969604 on 2016/05/06 by Uriel.Doyon

	Changed default value to true for UParticleModuleVectorFieldLocal::bUseFixDT.
	#tests confirmed that default value has changed for old assets, while allowing override.

Change 2969418 on 2016/05/06 by jason.bestimt

	#ROBOMERGE-AUTHOR: andrew.grant
	Fixed unconverted char string being passed as part of build info
	#tests ran & verified patch check passes

	#ROBOMERGE-SOURCE: CL 2969417 in //Orion/Main/...
	#ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 2968817 on 2016/05/06 by jason.bestimt

	#ROBOMERGE-AUTHOR: jason.bestimt
	#ORION_MAIN - Merge 25.2 @ CL 2968572

	#RB:none
	#Tests:none

	#ROBOMERGE-SOURCE: CL 2968813 in //Orion/Main/...
	#ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 2968383 on 2016/05/05 by Mieszko.Zielinski

	Added "default navigation filter" to AIController #UE4

	Also, made EQS take advantage of that

	#test golden path

Change 2968225 on 2016/05/05 by John.Pollard

	Add sanity checks and more info to help track down possible memory corruption

	#tests Networking, replication

Change 2967903 on 2016/05/05 by jason.bestimt

	#ROBOMERGE-AUTHOR: jason.bestimt
	#ORION_MAIN - Merge 25.2 @ CL 2967827

	#RB:none
	#Tests:none

	#ROBOMERGE-SOURCE: CL 2967902 in //Orion/Main/...
	#ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 2967899 on 2016/05/05 by Lina.Halper

	Merged change of 2956152

	Remove invalid ensure - this didn't work if you have composite inside.

	#tests: none

Change 2967870 on 2016/05/05 by Andrew.Grant

	Fix for OR-20731 (gamever crashes client)
	#tests gamever at console with -game

Change 2967606 on 2016/05/05 by Wes.Hunt

	Tweaked output log message for HTTP module shutdown.
	#tests none

Change 2967359 on 2016/05/05 by Wes.Hunt

	HttpManager will log outstanding requests on shutdown so people can debug shutdown issues and ensure their requests get flushed properly. Also changed default LogHttp logging level to display so these messages can be shown by default without using warning level.

	#tests ran editor build and queued up an event using the console command, then quit immediately. the log indeed showed that HttpManager had to wait at least 0.5 seconds for the request to complete.

Change 2966987 on 2016/05/05 by Dmitry.Rekman

	Fix editor build.

	#tests Compiled Win64 editor.

Change 2966977 on 2016/05/05 by Dmitry.Rekman

	Added collecting and reporting periodic server frame time distribution.

	- Added generic FHistogram class and necessary analytic events.
	- Also added reporting hostname (OR-20842).

	#tests Built Linux server and ran a few matches on a compatible content.

Change 2966920 on 2016/05/04 by jason.bestimt

	#ROBOMERGE-AUTHOR: jason.bestimt
	#ORION_MAIN - Merge 25.2 @ CL 2966805

	#RB:none
	#Tests:none

	#ROBOMERGE-SOURCE: CL 2966919 in //Orion/Main/...
	#ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 2966778 on 2016/05/04 by Michael.Noland

	Rendering: Fixed shadow variable warning in GPUProfiler
	#tests Compiled and tested GPUProfiler command

Change 2966769 on 2016/05/04 by Mieszko.Zielinski

	Fixed GraphAStar not resetting the output path before fillinf it with results #UE4

	#test golden path

Change 2966704 on 2016/05/04 by Michael.Noland

	Rendering: Added triangle and draw call summaries to ProfileGPU output, broken up by asset and material
	- This is controlled by r.ProfileGPU.PrintAssetSummary, which defaults to 1, but you really need r.ShowMaterialDrawEvents 1 enabled as well for a complete picture
	- It can also output a summary line for speciifc asset names using a comma separated list in r.ProfileGPU.AssetSummaryCallOuts (e.g., "LOD,HeroName")
	#tests Used ProfileGPU a number of times

Change 2966696 on 2016/05/04 by Michael.Noland

	Engine: Embedded FPS chart preamble/postamble/row .html files into ChartCreation.cpp to permanently solve packaging woes
	#tests Tested FPS charts in an uncooked and cooked build
	#jira OR-19713

Change 2966336 on 2016/05/04 by Lukasz.Furman

	fixed jungle minions unable to reach spawn locations when camp resets
	#jira OR-20700
	#tests jungle camp POC

Change 2965948 on 2016/05/04 by David.Ratti

	Changes to how passive abilities activate
	-Passives now continually try to activate by default rather than only on spawn

	Support for Status.Immortal
	-Prevents death, fies AbilityTriggerEvent.ImmortalProc when this happens.
	-Clamps health to 1.

	Fixed bug in muriel passive where ShieldHealthRegen would be left in the world where muriel died.

	Fixed bunch of crap in GA_OnSpawn that was causing desync on client at start of match

	#tests multi pie

Change 2965870 on 2016/05/04 by Ryan.Gerleve

	Duplicated fix from Release-4.12 by marc.audy, CL 2960819:

	Owned components are once again referenced by their Owning actor for GC purposes
	#jira UE-29131

	#tests golden path

Change 2965798 on 2016/05/04 by jason.bestimt

	#ROBOMERGE-AUTHOR: jason.bestimt
	#ORION_MAIN - Merge 25.2 @ CL 2965789

	#RB:none
	#Tests:none

	#ROBOMERGE-SOURCE: CL 2965796 in //Orion/Main/...
	#ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 2965220 on 2016/05/03 by Dmitry.Rekman

	Log instance id and system id (OR-20782).

	- These ids get reported in multiple analytics events, having them logged is helpful for quickly mapping events to the log file.

	#tests Compiled Linux server, ran on compatible client.

Change 2964907 on 2016/05/03 by Jason.Bestimt

	#ORION_DG - Merge MAIN @ CL 2964858

	#RB:none
	#Tests:none

Change 2964530 on 2016/05/03 by Laurent.Delayen

	Renamed GetSlotRootMotionWeight to GetSlotNodeGlobalWeight and made it double buffered to it's safe to access anytime.
	Added GetSlotMontageGlobalWeight() to get the Global Weight of a montage being played on a Slot. (Also double buffered).
	Added GetInstanceMachineWeight() to get Global Weight of a State Machine in the AnimGraph. (Also double buffered)
	Added FAnimInstanceProxy::GetStateMachineIndexAndDescription to avoid searching through the AnimNodeProperties twice.

	#tests Chains full feature system in PIE.

Change 2964498 on 2016/05/03 by Frank.Fella

	DecalComponent - Fix visibility so that it behaves like other scene components with regard to the editor visibility, component visibility, and actor hidden in game flags.

	#RB Andrew Rodham
	#TESTS Visibility for decals works like other scene components in the editor, and their visibility can now be animated properly by sequencer.

Change 2964428 on 2016/05/03 by Benn.Gallagher

	Fixed stale clothing chunk/section references after container realloc in editor
	#tests editor

Change 2964316 on 2016/05/03 by bruce.nesbit

	Banner revisions

	Banners now use components for various banner items
	Banners can now be enabled when killing  a hero.

	#tests PIE+Game

Change 2964187 on 2016/05/03 by Jon.Lietz

	Speeding up the tag count check in UAbilitySystemComponent::RegisterAndCallGameplayTagEvent()

	- Remove the call to GetAggregatedStackCount and creating a FGameplayEffectQuery every time we call RegisterAndCallGameplayTagEvent
	- Added GetTagCount to the UAbilitySystemComponent that will call GetTagCount on the GameplayTagCountContainer

	#RB DanY
	#tests JIP shadow pad still works.

Change 2964136 on 2016/05/03 by Laurent.Delayen

	Fix crash while switching tabs using Persona.

	#tests not crashing anymore.

Change 2964083 on 2016/05/03 by jason.bestimt

	#ROBOMERGE-AUTHOR: jason.bestimt
	#ORION_MAIN - Merge 25.2 @ CL 2963929

	[CodeReviewed]: andrew.grant

	HTTP Manager has larger stack size (1024)

	#RB:none
	#Tests:none

	#ROBOMERGE-SOURCE: CL 2964080 in //Orion/Main/...
	#ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 2963771 on 2016/05/02 by Nick.Atamas

	Setting a desired size scale invalidates layout and volatility.

	#test none

Change 2963555 on 2016/05/02 by Rob.Cannaday

	Fix PS4 Orion players being able to whisper chat with non-Orion players
	#jira OR-20626
	#tests chat with launcher, fortnite

Change 2963387 on 2016/05/02 by Laurent.Delayen

	Added GatherDebugData to FABRIK node.

	#tests showdebug animation works on Chains now.

Change 2963331 on 2016/05/02 by Jon.Lietz

	fixing compile error, dont need the clamp just the ternary on the EventType and pass down the tag count or 1.

	#RB none
	#tests compiles

Change 2963106 on 2016/05/02 by Rob.Cannaday

	Increase HTTP thread's stack size to 128k
	We discovered a stack overflow when the stack size was 64kb in LavasoftTcpService64.dll (Ad-Aware's Lavasoft Web Companion)
	#tests log in

Change 2963047 on 2016/05/02 by Jon.Lietz

	OR-20206 for JIP we need to call the bound function if we already have the tag on reconnect.

	- adding a new function in UAbilitySystemComponent, RegisterAndCallGameplayTagEvent this will bind the passed in delegate and if the ability system has that tag already will execute the delegate.

	#RB Dave.Ratti
	#test shadow pad, slow, stun and root still trigger and trigger for JIP players.

Change 2962836 on 2016/05/02 by jason.bestimt

	#ROBOMERGE-AUTHOR: andrew.grant
	[NULL MERGE]
	Duplicating 2961899 - Fix minimal code builds for Linux not overwriting files
	[CodeReviewed] Ben.Marsh

	#ROBOMERGE-SOURCE: CL 2962812 in //Orion/Release-0.24.2/... via CL 2962830 via CL 2962833 via CL 2962834 via CL 2962835
	#ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 2962570 on 2016/05/02 by Jason.Bestimt

	#ORION_MAIN - Merge MAIN @ CL 2962544

	#RB:none
	#Tests:none

Change 2962552 on 2016/05/02 by Ben.Marsh

	Avoid output of warnings containing the string "error:" (and causing the EC post processor to fail the build) if posting build info has a human-readable error message instead. Output should probably be changed to parse out/sanitize the actual failure message if it's meant to retry and succeed, but this will stop failures caused by multiple builds being posted with the same build version.

	#tests none

Change 2962506 on 2016/05/02 by Ben.Marsh

	Add a version string to identify a given build (FApp::GetBuildVersion()/BUILD_VERSION) which is distinct from the engine version. Defaults to <Escaped Branch Name>-CL-<Changelist>, but can be overriden by specifying a -Build=... argument to UpdateLocalVersion or the "Build" attribute to the SetVersion BuildGraph task.

	#tests Preflighted Win64 client/server build (P:\Builds\Orion\++Orion+Dev-General-CL-2962228-PF-2945494-6398155-PF-2945494-6398155) and loaded into Agora. Checked that version strings appear correctly in generated executables.

Change 2962228 on 2016/04/30 by Dmitry.Rekman

	Move processing HTTP requests into separate thread (OR-20723).

	- First iteration of the implementation, pending implementing feedback.
	- Adds a separate thread for CurlHttp where actual processing is performed.
	- Coded by RobC, post-processed by me.

	#tests Compiled Linux server and Windows client, ran them on compatible content, played a match.

Change 2961899 on 2016/04/29 by Ben.Marsh

	BuildGraph: Fix minimal Linux server builds not overwriting the existing executables, by adding an "Overwrite" parameter into the staging task. Windows exe-only patches already happen to bypass this bug by deleting the Binaries/Win64 directory (designed to remove any configurations that weren't built this time), but could still fail if changes had been made to some other staged binaries.

	#tests preflighted code-only build against DG CL 2960870 and compared output (P:\Builds\Orion\++Orion+Dev-General-CL-2961878-PF-2961895-6393603)

Change 2961587 on 2016/04/29 by Daniel.Lamb

	Redirector doesn't fire callback if it fails to be loaded.

	#test Cook orion.

Change 2961458 on 2016/04/29 by Wes.Hunt

	Cooker Stats improvements. Also removed some old UBT telemetry that was not being used.
	#tests many cooks of orion

Change 2961136 on 2016/04/29 by Daniel.Lamb

	Readded caching of platform data into postload of materials.
	#test Cook paragon.

[CL 2979220 by Ben Marsh in Main branch]
2016-05-16 16:20:52 -04:00
Ben Marsh
c254db71a7 Copying //UE4/Dev-Build to //UE4/Main (Source: //UE4/Dev-Build @ 2944521)
==========================
MAJOR FEATURES + CHANGES
==========================

Change 2909886 on 2016/03/15 by Matthew.Griffin

	Adding a build exception to give a message instead of crashing when trying to generate all project files from an installed build.

Change 2911727 on 2016/03/16 by Matthew.Griffin

	Added Platform Type and Architecture to Installed Platform Info
	Reworked the different IsValid... functions to use lamdas to reduce duplicated code looping and checking receipts
	Moved the code to write config file entries into InstalledPlatformInfo so that it can be reused by anyone wanting to make installed builds
	Added temporary hack to write Android architecture until I can get it from build process

Change 2913692 on 2016/03/17 by Ben.Marsh

	UAT: Move script to archive a build for UGS into a public folder.

Change 2915445 on 2016/03/18 by Ben.Marsh

	UAT: Reduce the number of redundant log warnings/errors after a reported build failure, and simplify calls to ParallelExecutor which don't need retrying.

Change 2915450 on 2016/03/18 by Ben.Marsh

	UAT: Suppress warning messages trying to kill child processes if the operation failed because it's already exited.

Change 2925830 on 2016/03/29 by Matthew.Griffin

	Added new selective download tags
	Added a test for whether installed platforms are missing required files so that we can try to open the launcher to the installer settings

Change 2926437 on 2016/03/29 by Ben.Marsh

	PR #2210: Fix "Rebuild.bat" for paths with parentheses (Contributed by amcofi)

Change 2927399 on 2016/03/30 by Matthew.Griffin

	Updating use of PDBCopy to look in VS2015 folder and fall back to VS2013 version if it doesn't exist.

Change 2933093 on 2016/04/05 by Ben.Marsh

	PR #2232: Updated copyright text to 2016 (Contributed by erikbye)

Change 2936221 on 2016/04/07 by Matthew.Griffin

	Adding checks on architecture for android config options

Change 2938021 on 2016/04/08 by Ben.Marsh

	UAT: Prevent UnauthorizedAccessException when enumerating crash files on Mac from a restricted user account.

Change 2939332 on 2016/04/11 by Matthew.Griffin

	Added AdditionalBundleResources to external file list so that they should be included in Launcher releases

Change 2939767 on 2016/04/11 by Ben.Marsh

	BuildGraph: Add a -preprocess option, which will cause the preprocessed and culled graph out to an XML file for debugging.

Change 2941611 on 2016/04/12 by Ben.Marsh

	UAT: Prevent warning about commands requiring P4 if -p4 is specified on the command line.

Change 2942037 on 2016/04/13 by Ben.Marsh

	UBT: Only print 'Detailed Action Stats' message footer if there were any detailed action stats.

Change 2942640 on 2016/04/13 by Ben.Marsh

	GUBP: Trigger GitHub promotions by triggering a new procedure rather than scanning for labels.

Change 2942728 on 2016/04/13 by Ben.Marsh

	BuildGraph: Rename "AgentGroup" to "Agent" for consistency with XML.

Change 2942735 on 2016/04/13 by Ben.Marsh

	BuildGraph: Few renames to match class names (Build.cs -> BuildGraph.cs, AgentGroup.cs -> Agent.cs)

Change 2943568 on 2016/04/14 by Ben.Marsh

	EC: Print out the log folder at the start of each job.

Change 2944421 on 2016/04/14 by Ben.Marsh

	EC: Add GitHub dashboard page which shows the current syncing state

#lockdown Nick.Penwarden

[CL 2944733 by Ben Marsh in Main branch]
2016-04-14 20:35:31 -04:00
Matthew Griffin
d9f2a9fd85 Copying //UE4/Dev-Build to //UE4/Main
==========================
MAJOR FEATURES + CHANGES
==========================

Change 2864843 on 2016/02/12 by Ben.Marsh

	Add individual 'status', 'outcome', and 'error_code' fields to parsed jobsteps. Should fix grid view not being able to display 'pending' icons.

Change 2865161 on 2016/02/12 by Ben.Marsh

	Stop storing a reference to UEBuildTarget from UEBuildModule. It creates an awkward cyclic data dependency, and makes it easy for people to write lazy code that just reaches into the internal state of the build.

Change 2865643 on 2016/02/12 by Ben.Marsh

	Rename UEBuildModuleType to UHTModuleType, and move implementation into ExternalExecution.

Change 2874408 on 2016/02/19 by Ben.Marsh

	Automatically sort nodes in the dashboard grid view by a weight derived from the node's order in the build graph, summed across all the jobs in which it was present.

Change 2879572 on 2016/02/24 by Ben.Marsh

	Allow spoofing a Git merge from a given commit, using a changelist description containing the tag "git merge <branch> <changelist>", where <branch> is the name of a branch on Git (eg. master, 4.11, etc..), and <changelist> is the changelist being merged in.

Change 2883216 on 2016/02/26 by Ben.Marsh

	Prevent Jira tickets being incorrectly updated with 'Main CL' fields which are after the 'Fix CL' fields.

Change 2883755 on 2016/02/26 by Ben.Marsh

	Fix solution files having a Shipping configuration, even when -NoShippingConfigs is passed on the command line.

Change 2886223 on 2016/02/29 by Ben.Marsh

	Ignore SignTool errors - we can recover from them.

Change 2887414 on 2016/03/01 by Ben.Marsh

	Dump all the *.crash files produced while running commandlets, to make it easier to diagnose build system crashes cooking on Mac.

Change 2888235 on 2016/03/01 by Ben.Marsh

	Add overloads for methods in FileFilter which take FileReference and DirectoryReference objects.

Change 2889602 on 2016/03/02 by Ben.Marsh

	Treat shaders as code in UGS. Don't sync them as part of content-only syncs, and don't allow syncing past them without updated binaries.

Change 2889610 on 2016/03/02 by Ben.Marsh

	Fix setting for using incremental builds not being saved. Also hide command to do incremental builds if the 'use incremental builds' option is not checked.

Change 2891866 on 2016/03/03 by Matthew.Griffin

	Removed Rocket specific batch files and made sure installed build won't try to include them
	Removed last use of RocketGenerateProjectFiles.sh by using UBT directly instead

Change 2893349 on 2016/03/03 by Ben.Marsh

	Add derived ReplicatedBranch to support mirroring the VR editor branch to GitHub.

Change 2894703 on 2016/03/04 by Ben.Marsh

	Include *.usf when looking for the last code changelist. Also update version to 1.68.

Change 2897991 on 2016/03/07 by Ben.Marsh

	Copy the changelist number to the clipboard when the user presses Ctrl-C. Update version number to 1.69.

Change 2898005 on 2016/03/07 by Ben.Marsh

	Minor changes to support BuildGraph:

	* UE4Build now has a static function that can update version files.
	* Adding FileReference/DirectoryReference methods to FileFilter and CommandUtils.
	* FileFilter treats any pattern containing a slash as implictly starting from the root directory, unless it begins with "...".

Change 2898095 on 2016/03/07 by Ben.Marsh

	UAT - Don't retry builds if we're using local executor; we don't encounter failures due to timeouts.

Change 2898248 on 2016/03/07 by Ben.Marsh

	UBT - Add the standard game include paths back in to plugin modules. Existing game code relies on this.

Change 2898615 on 2016/03/08 by Matthew.Griffin

	Removed last uses of RunningRocket function
	All seemed to be overly cautious about people using an Installed build to do non standard things, don't see any ill effects in the most common circumstances.

Change 2898681 on 2016/03/08 by Matthew.Griffin

	Removed Automation.RunningRocket function as there are no more uses
	Changed the majority of comments referencing Rocket mode that are now either about the engine being installed or from the Launcher etc.

#lockdown Nick.Penwarden

[CL 2898813 by Matthew Griffin in Main branch]
2016-03-08 09:00:48 -05:00
Matthew Griffin
bb70b349ce Merging CL 2804086 from //UE4/Release-4.11 to Dev-Main (//UE4/Dev-Main) to isolate copyright update
#lockdown Nick.Penwarden

[CL 2819020 by Matthew Griffin in Main branch]
2016-01-07 08:17:16 -05:00
Ben Marsh
0723896cb2 Add telemetry event for the time taken to perform a build, including the number of compile actions, link actions, pch actions, and list of the targets.
#codereview Wes.Hunt

[CL 2704862 by Ben Marsh in Main branch]
2015-09-24 14:32:06 -04:00
Ben Marsh
2802f43c08 Convert everything in UBT to use standard C# XML comments, so IntelliSense can display useful information in tooltips.
[CL 2704759 by Ben Marsh in Main branch]
2015-09-24 13:47:13 -04:00
Ben Marsh
df83418aeb Auto-format UBT for consistent spacing. All default Visual Studio settings, but tabs instead of spaces.
[CL 2704665 by Ben Marsh in Main branch]
2015-09-24 12:37:21 -04:00
Wes Hunt
ff6fa460da UBT Telemetry re-enabled. Commented out most of the legacy events.
[CL 2690912 by Wes Hunt in Main branch]
2015-09-14 17:29:38 -04:00
Wes Hunt
29b5d10e09 Remove redundant diagnostic spew on actions with PrintDebugInfo enabled.
[CL 2632783 by Wes Hunt in Main branch]
2015-07-24 16:51:02 -04:00
Peter Sauerbrei
dc1d815f84 refactored the logging system for UAT/UBT to be more like UE4
we now use an enum similar to UE4 with Fatal, Error, Warning, Display, Log, Verbose, and VeryVerbose
Log will only go to the log file unless -verbose is passed on the command line
reduced some of the output from UAT to be Log only

[CL 2631062 by Peter Sauerbrei in Main branch]
2015-07-23 14:51:46 -04:00
Gil Gribb
a5393497b9 UE4 - If the number of physical cores is greater than 4 and not equal to the number of logical cores, then use the average of the two core counts for the number of parallel compiles.
[CL 2579870 by Gil Gribb in Main branch]
2015-06-08 09:25:56 -04:00
Ben Marsh
c82d6fd3e7 [INTEGRATE] Change 2422587 by Mike.Fricker@MFRICKER_G3686_Alpha on 2015/01/28 14:18:12
UnrealBuildTool: Minor progress text clean-ups for consistency with editor

[CL 2425866 by Ben Marsh in Main branch]
2015-01-30 11:05:55 -05:00
Mike Fricker
7d2f5740a2 Improved support for compiling and linking using Clang on Windows platform
- Disclaimer: This is all experimental forward-looking stuff, we don't recommend using this yet!
- Added native support for Clang command-line on Windows ('clang-cl' is not required, but still supported)
- Clang debug symbols are now Visual Studio compatible (use latest Clang 3.6.0 prelease build.)
- Clang linker (LLD.exe) now works with most UE4 binaries, but debug symbols won't work
- New 'WindowsPlatform.bUseVCCompilerArgs' that controls whether to the VC-style wrapper with Clang
- Implemented precompiled header support (requires native Clang binary.)  There are still a few bugs in Clang with struct packing which prevent us from using PCHs on Windows though.
- Editor still can't compile under Clang because of some DX header file issues, possibly system include related.
- Unreal Build Tool: Reduced default performance spew when using the local executor (non-XGE builds.)

[CL 2393051 by Mike Fricker in Main branch]
2014-12-18 16:52:27 -05:00
Ben Marsh
149375b14b Update copyright notices to 2015.
[CL 2379638 by Ben Marsh in Main branch]
2014-12-07 19:09:38 -05:00
Jaroslaw Palczynski
354877d63e [GitHub] 450 : Added UBT build option to limit number of jobs.
#ttp 347138

[CL 2309629 by Jaroslaw Palczynski in Main branch]
2014-09-25 08:10:40 -04:00
Mike Fricker
649b2db782 UnrealBuildTool: Minor console output cleanups
- Changed formatting of some console output
- No longer print notification about full C++ rescan unless that feature is active

[CL 2264360 by Mike Fricker in Main branch]
2014-08-20 11:47:58 -04:00
Mike Fricker
0031e06f21 Experimental UnrealBuildTool makefile support
UnrealBuildTool 'Makefiles' allow for very fast iterative builds.
    - New BuildConfiguration.xml setting added: "bUseExperimentalFastBuildIteration"   (disabled by default)
    - Turning this on causes Unreal Build Tool to emit 'UBT Makefiles' for targets when they're built the first time.
    - Subsequent builds will load these Makefiles and begin outdatedness checking and build invocation very quickly.
    - The caveat is that if source files are added or removed to the project, UBT will need to gather information about those in order for your build to complete successfully.
    - Currently, you must run the project file generator after adding/removing source files to tell UBT to re-gather this information.
    - Events that can invalidate the 'UBT Makefile':
           - Adding/removing .cpp files
           - Adding/removing .h files with UObjects
           - Adding new UObject types to a file that didn't previously have any
           - Changing global build settings (most settings in this file qualify.)
           - Changed code that affects how Unreal Header Tool works
    - You can force regeneration of the 'UBT Makefile' by passing the '-Gather' argument, or simply regenerating project files
    - New command-line parameters added:
           - "-Gather": Tells UBT to always perform the gather step (slower but will catch project structural changes)
           - "-NoGather": Disables the gather step, unless UBT detects that it must be done.  This is the default when bUseExperimentalFastBuildIteration is enabled
           - "-GatherOnly": Runs the gather step and saves a UBTMakefile, but doesn't build anything
           - "-Assemble": Tells UBT to also assemble build products.  This always defaults to enabled
           - "-NoAssemble": Tells UBT to skip the assemble step, whether we gathered build products or not
           - "-AssembleOnly": Tells UBT to only assemble build products and not to gather, unless UBT determines it must

Other changes:
- UBT now keeps track of which targets it was building in an intermediate file, to help it invalidate cached includes in subsequent runs when the targets are different
- C++ includes are now stored in a class separate from the C++ compile enviroment (for easier serialization)
- The method that UBT uses to find the CoreUObject module timestamp was rewritten
- Various '@todo ubtmake' comments added to tag possible remaining Makefile tasks
- The 'FileItem' class had some member variable comments and code cleaned up, while making it serializable
- Cleaned up the comments and member variables in the "Action" class, while making it serializable
- Some UBT classes are now "serializable".  This is because we need to store the data in UBTMakefiles.
- Removed support for Actions to tinker with Stdout and Stderror (was not used for anything)
- Moved PrecompileHeaderEnvironment class to the UEBuildModule.cs source file
- Plugin intermediate include directories are now selected on demand rather than cached early
- Toolchain code for gathering prerequisite headers is now shared in a single function (AddPrerequisiteSourceFile)
- Removed Action.StatusDetailedDescription, was not used for anything
- Removed UEBuildConfiguration.bExcludePlugins, was not used for anything
- Removed ECompilationResult.FailedDueToHeaderChange, was not used for anything

[CL 2254472 by Mike Fricker in Main branch]
2014-08-13 08:17:43 -04:00
Robert Manuszewski
ea50e1def7 Added code to handle COM crashes when detecting physical processor count in UBT
[CL 2244406 by Robert Manuszewski in Main branch]
2014-08-05 13:03:54 -04:00
Mark Satterthwaite
d922524627 Implemented support for Distcc + DMUCs as an alternative to XGE on Mac OS X.
By either manually configuring distcc & DMUCS as per their documentation, or using the DistCode Xcode plugin compilation can be distributed amongst networked Macs.
All Macs must have the same developer tools installed & the same distcc/DMUCS/DistCode and be on the same local network.
This works for compiling for Mac & iOS and it should be possible to configure distcc & DMUCS manually for use on build farms for remote building from Windows.
Linux could also use this for local builds or remote build farms - but I'm not in a position to test this.

[CL 2238171 by Mark Satterthwaite in Main branch]
2014-07-31 07:33:17 -04:00
Josh Adams
ec94935229 - Added the ability for remote compiles to have the [x/y] text in UBT output
[CL 2229125 by Josh Adams in Main branch]
2014-07-23 18:42:01 -04:00