Commit Graph

21 Commits

Author SHA1 Message Date
David Harvey
37da4676e3 HoloLens build rules: Engine modules part 2
#preflight 628cb13af237058787bb0357
#jira UE-149794
#rnx
#rb Jeff.Fisher

[CL 20361216 by David Harvey in ue5-main branch]
2022-05-25 04:04:16 -04:00
christopher waters
7bb0fe6481 Fixing HoloLens build issues caused by using the wrong Windows 10 SDK headers.
#jira UE-112221
#rb josh.adams
#preflight 6064944bf8bd0000016c5637

[CL 15919434 by christopher waters in ue5-main branch]
2021-04-05 13:39:16 -04:00
Josh Adams
b0e4357576 - UBT Code changes to remove 32-bit Windows support (C++ code for 32-bit still exists)
#rb marc.audy (concept, not each file)

[CL 15265424 by Josh Adams in ue5-main branch]
2021-01-31 15:09:58 -04:00
Rolando Caloca
5b82f15def Copying //UE4/Dev-RenderPlat-Staging@11388153 to //UE4/Main
#rb none
#rnx

[CL 11388545 by Rolando Caloca in Main branch]
2020-02-12 13:27:19 -05:00
Juan Canada
2ecf4f9708 Merging //UE4/Dev-Main@10877709 to Dev-RenderPlat-Staging(//UE4/Dev-Rendering)
#rnx
#rb none

[CL 10895568 by Juan Canada in Dev-RenderPlat-Staging branch]
2020-01-07 13:45:01 -05:00
ryan durand
5954c1f85b Updating remaining copyrights in Engine.
#rnx
#rb none


#ROBOMERGE-SOURCE: CL 10869250 via CL 10869537 via CL 10869906
#ROBOMERGE-BOT: (v613-10869866)

[CL 10870965 by ryan durand in Main branch]
2019-12-26 23:08:00 -05:00
Joakim Lindqvist
d26625d39d Updated module build configurations to follow our updated guidelines on using a library, you should always specify the full path to the library if you know it (in PublicAdditionalLibraries). This allows UBT to do up to date checking of the module and is faster.
If you still need to old behavior of searching for a library we use the new PublicSystemLibraries instead (used very sparingly).

Also updated conventions on importing Android libraries to use the newly introduced Android Architecture instead, which is always set to a valid architecuture (unlike Target.Architecture for the general case)

Lastly I updated some build.cs files that were doing filesystem enumeration or copying as they were being parsed, this is highly discouraged (partially because we cache filesystem operations but also it adds a cost to something we expect to be very fast). Any operations like this should be done as part of the build if they have to be done at all.

#rb none

[CL 7918851 by Joakim Lindqvist in Dev-Build branch]
2019-08-09 03:48:12 -04:00
Ben Marsh
cfe09c649f Merging //UE4/Dev-Main to Dev-Build (//UE4/Dev-Build)
#rb none
#rnx

[CL 6922670 by Ben Marsh in Dev-Build branch]
2019-06-10 19:47:29 -04:00
Ben Marsh
530369c613 Merging //UE4/Dev-Main to Dev-Build (//UE4/Dev-Build)
#rb none
#rnx

[CL 4662695 by Ben Marsh in Dev-Build branch]
2018-12-14 14:49:12 -05:00
Ben Marsh
13d012685f Merging copyright update from 4.19 branch.
#rb none
#rnx
#jira

[CL 3818977 by Ben Marsh in Staging-4.19 branch]
2018-01-02 15:30:26 -05:00
Ben Marsh
997ef15941 Merging //UE4/Release-4.17 @ CL 3573198 to Release-Staging-4.17 (//UE4/Release-Staging-4.17)
#rb none
#jira

[CL 3575359 by Ben Marsh in Staging-4.17 branch]
2017-08-07 15:12:17 -04:00
Ben Marsh
29893e6b28 Merging //UE4/Dev-Main to Release-Staging-4.17 (//UE4/Release-Staging-4.17)
#rb none
#jira

[CL 3549001 by Ben Marsh in Staging-4.17 branch]
2017-07-21 17:56:56 -04:00
Ben Marsh
5275490168 Copying //UE4/Dev-Build to //UE4/Dev-Main (Source: //UE4/Dev-Build @ 3277940)
#lockdown Nick.Penwarden
#rb none

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

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

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

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

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

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

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

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

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

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

	UBT: Add attribute-driven command line parser.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

	Replace all uses of TargetRules.TargetType with TargetType.

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

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

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

	UBT: Remove toolchain support for Windows XP.

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

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

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

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

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

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

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

	Build: Fixes for conforming incremental workspaces:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

	EC: Add a batch file for testing postp filters.

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

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

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

	UBT: Fix Android support for force included headers.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

	UBT: Merge the LinkEnvironment and LinkEnvironmentConfiguration classes together.

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

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

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

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

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

	UBT: Move executor config settings onto the executor instances.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

	#jira UEB-729

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

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

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

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

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

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

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

	UBT: Include plugin config files in generated projects.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

	Fix commends regarding DDC in BaseEngine.ini

	#jira UE-41076

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

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

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

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

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

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

	#jira UE-36457

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

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

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

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

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

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

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

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

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

	IncludeTool: Merging various fixes.

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

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

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

[CL 3278101 by Ben Marsh in Main branch]
2017-01-30 16:52:08 -05:00
Ben Marsh
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
Unrealbot
e05d94470b Branch snapshot for CL 3018379
[CL 3018379 in Main branch]
2016-06-17 17:28:41 -04:00
Andrew Grant
a0ef617fd2 Copying //UE4/Orion-Staging to //UE4/Main (Source: //Orion/Dev-General @ 2949393)
#lockdown Nick.Penwarden

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

Change 2949393 on 2016/04/20 by Graeme.Thornton

	Orion non-pak file security.
	 - Removed security bypass code from platform pak file
	 - Added a delegate to pak file code which allows the game to decide whether a file should be allowed or not
	 - Added an orion delegate which whitelists appropriate files

	#rb robert.manuszewski
	#tests win64 client + dedicated server. golden path.

Change 2949232 on 2016/04/19 by david.nikdel

	#ROBOMERGE-AUTHOR: michael.noland
	Paragon: Added a distinct menu frame rate limit, currently set to 60 fps and not visible in settings (if the user sets a game frame rate limit of below 60, we also clamp the menu limit to that threshold, so they can go down but not up for menus)
	#jira OR-18017
	#rb marcus.wassmer
	#tests Ran paragon and switched between gameplay, menus, and replays, observing t.MaxFPS at different points

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

Change 2949032 on 2016/04/19 by Zak.Middleton

	#orion - Lower default NetUpdateFrequency for minions (10->6). Avoid excessive latency for some knockback/knockup abilities that would have noticeable lag by forcing an update sooner when they are triggered.

	This should have the following effects:
	1. Reduce server CPU cost (we tick minions at the net frequency).
	2. Reduce server bandwidth
	3. Reduce client CPU cost (we move character capsules and perform overlaps when new positions are received).

	#rb Bart.Bressler, John.Pollard
	#codereview Dmitry.Rekman
	#tests MultiPIE AI lane, Replays

Change 2948966 on 2016/04/19 by Lina.Halper

	Added log (check) of the asset info for Anim Per Track contains invalid format key

	#rb: Michael.Noland
	#code review: Martin.Wilson, Laurent.Delayen, Michael.Noland
	#tests: editor/ cooked and test with AI_Tests with 10 bots.

Change 2948876 on 2016/04/19 by Michael.Noland

	PS4: Validate that the texture pool size is not set to automatic (-1, which will crash later on as an attempt to allocate too much memory)
	#rb none
	#codereview marcus.wassmer
	#tests Ran Paragon on PS4

Change 2948765 on 2016/04/19 by Daniel.Lamb

	Removed AssetImportData tag from cooked asset registry builds.
	#rb Andrew.Grant
	#test Cook orion

Change 2948691 on 2016/04/19 by Marcus.Wassmer

	Fix copytoresolvetarget ensure
	#rb none
	#test pc agora

Change 2948633 on 2016/04/19 by david.nikdel

	#ROBOMERGE-AUTHOR: jason.bestimt
	[AUTOMERGE]

	Fix copytoresolve crash and change validation to ensure.
	#test PC editor / PC golden path
	#rb none

	--------
	Integrated using branch //Orion/Main_to_//Orion/Release-Next (reversed) of change#2948169 by Marcus.Wassmer on 2016/04/19 10:50:32.

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

Change 2948507 on 2016/04/19 by david.nikdel

	#ROBOMERGE-AUTHOR: andrew.grant
	Merging 2937781 (Pak signing) using //Orion/Dev-General_to_Release
	#rb none
	#tests cooked client, checked game runs

	#ROBOMERGE-SOURCE: CL 2948497 in //Orion/Release-0.24.1/... via CL 2948506
	#ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 2948431 on 2016/04/19 by Steve.Robb

	CL#s 2919775 and 2942793 integrated to prevent annotation map performance problems on shutdown and asserts in PIE.

	#codereview robert.manuszewski,bob.tellez
	#rb bob.tellez
	#tests Ran editor

Change 2948408 on 2016/04/19 by Leslie.Nivison

	Adding .tps
	#rb none
	#test none

Change 2948185 on 2016/04/19 by david.nikdel

	#ROBOMERGE-AUTHOR: chris.bunner
	Fix for HLOD visibility freeze.
	#tests Golden Path, Editor
	#rb rolando.caloca, michael.noland
	#lockdown andrew.grant
	#jira OR-19863

	#ROBOMERGE-SOURCE: CL 2948182 in //Orion/Release-0.24.1/... via CL 2948183
	#ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 2948149 on 2016/04/19 by Simon.Tovey

	Fixed crash. Collision rendering path was not dealing with mesh batch with 0 triangles where other paths do.

	#rb none
	#tests No more crash
	#codereview Marcus.Wassmer

Change 2948129 on 2016/04/19 by Lukasz.Furman

	fixed gameplay debugger getting stuck with outdated data pack on client,
	changed names of AI related debug cvars
	#rb none
	#tests game, PIE
	#codereview Mieszko.Zielinski

Change 2948027 on 2016/04/19 by david.nikdel

	#ROBOMERGE-AUTHOR: graeme.thornton
	Fix for OR-20033 - CRASH:  Client will crash with FRCPassPostProcessCircleDOFSetup

	#rb none
	#tests checked game runs without crashing

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

Change 2947558 on 2016/04/18 by Matt.Kuhlenschmidt

	Fix compile error

	#rb none, #tests none

Change 2947509 on 2016/04/18 by Matt.Kuhlenschmidt

	Added more logging to track down

	https://jira.ol.epicgames.net/browse/OR-19841

	#rb none, #tests none

Change 2947412 on 2016/04/18 by Ryan.Gerleve

	Fix shadowed variable.

	#rb none
	#tests none

Change 2947377 on 2016/04/18 by Jamie.Dale

	Gather paths are now sorted by fuzzy-ness, so that more specific includes beat less specific excludes

	#rb Matt.Kuhlenschmidt
	#tests Built for Windows. Ran a gather, and confirmed that explicitly included heroes were now gathered, and that generically excluded heroes were absent from the gather.

Change 2947351 on 2016/04/18 by Ryan.Gerleve

	Allow overriding the demo.AsyncLoadWorld setting with a URL option when playing a replay.
	Store the entire URL in the demo net driver instead of just the map name, so that the options can be accessed later.

	#tests golden path, replays
	#rb john.pollard

Change 2947103 on 2016/04/18 by david.nikdel

	#ROBOMERGE-AUTHOR: jason.bestimt
	#ORION_MAIN - Merge 24.1 @ CL 2947071

	#RB:none
	#Tests:none

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

Change 2947007 on 2016/04/18 by Zak.Middleton

	#ue4 - Improve linear smoothing in the presence of low net frequency updates.

	#rb Bart.Bressler
	#tests MultiPIE AI with lanes

Change 2946994 on 2016/04/18 by Mieszko.Zielinski

	Improvements to NavigationSystem's "abstract navigation data" support #UE4

	#rb Lukasz.Furman
	#test golden path

Change 2946760 on 2016/04/18 by Chris.Bunner

	Fixing up bad merge, recommit of CL 2819472 - ForceLOD now clamps to available LODs on primitive, i.e. use MinLOD rather than not drawing at all.
	#tests Editor
	#rb None

Change 2946745 on 2016/04/18 by david.nikdel

	#ROBOMERGE-AUTHOR: jason.bestimt
	#ORION_MAIN - Merge 24.1 @ CL 2946637

	#RB:none
	#Tests:none

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

Change 2946645 on 2016/04/18 by Richard.Fawcett

	When promoting a buidl to staged, prevent enumeration of files already in S3

	Enumerating files in S3 is a slow process, and it turns out that simply uploading all chunks blindly is more efficient than enumerating existing chunks and selectively uploading only the new ones.

	#rb Leigh.Swift
	#tests This technique has already been used in launcher promotions for several months

Change 2946622 on 2016/04/18 by Richard.Fawcett

	By default, when enumerating chunks from a manifest file, skip checking they exist on disk at enumeration time.

	This will fail anyway further down the line if the files don't exist, but will improve speed of stage promotions by around five minutes. In practice, we have NEVER seen a job fail at this point because of the existence check.

	#rb Leigh.Swift
	#tests Ensure that output of ExtractDataFilenamesFromManifest method is identical both with and without bSkipExistsCheck specified.

Change 2945812 on 2016/04/15 by Daniel.Lamb

	Fixed error in diff cooked build commandlet.
	#rb ben.marsh
	#test Compile.

Change 2945110 on 2016/04/15 by Matt.Kuhlenschmidt

	Fix crash exporting actors with non-scene components to fbx

	#rb none, #tests full scene exporting on maps that crashed
	#codereview alexis.matte

Change 2945078 on 2016/04/15 by Simon.Tovey

	Fix for OR-19778

	When some pooled systems are reused, on init they have a non zero lod level but the emitter instances are created at LOD 0 initially.
	So the component did not think it had to update it's LOD but the emitters were not at the correct LOD.
	Have forced a LOD set on init when the component LOD is non-zero.

	#rb none
	#tests Works in editor and game.

	#codereview Olaf.Piesche

Change 2944664 on 2016/04/14 by Uriel.Doyon

	Fix to SM4 compilation issue
	#jira OR-19706
	#rb marcus.wassmer
	#tests tested editor in SM4 and SM5

Change 2944642 on 2016/04/14 by Lukasz.Furman

	changed waypoint switch conditions in meta nav paths
	#rb none
	#tests PIE
	#codereview Mieszko.Zielinski

Change 2944599 on 2016/04/14 by david.nikdel

	#ROBOMERGE-AUTHOR: andrew.grant
	Added sha1 to UnrealPak list output
	#rb none
	#tests listed content of pakfile

	#ROBOMERGE-SOURCE: CL 2944595 in //Orion/Release-0.24/... via CL 2944597 via CL 2944598
	#ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 2944441 on 2016/04/14 by Marcus.Wassmer

	Duplicate change to output shader compiler errors.
	#rb none
	#test run PC and see errors.

Change 2944437 on 2016/04/14 by John.Pollard

	Possible fix for https://jira.ol.epicgames.net/browse/OR-19614

	#rb JoshM
	#codereview Josh.Markiewicz
	#tests Golden path matchmaking

Change 2944430 on 2016/04/14 by david.nikdel

	#ROBOMERGE-AUTHOR: michael.noland
	Engine: Added support for more/fewer settings in individual categories to the editor scalability control widget
	#rb david.ratti
	#tests Tested in the editor

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

Change 2944198 on 2016/04/14 by David.Ratti

	Paragon - register for slow/stun/root/silence callbacks on any tag count  change, not just add/remove. This is so the UI will update if you get another stack of a stackable slow GE.

	Ability system - unify client stack count change code path with server. Client now properly update owner ASC's tag map and broadcasts all delegates there.

	#rb dayY
	#tests pie

Change 2944124 on 2016/04/14 by Wes.Hunt

	Change the TPS redirects for DX modules to point to the proper DX redist TPS which is what packaged games will need.
	#codereview:leslie.nivison
	#rb none
	#tests ran UAT ListThirdPartySoftware <for Orion>

Change 2944107 on 2016/04/14 by Wes.Hunt

	MeshUtilities now depends on new module nvTessLib to better track the third party dependency.
	#codereview:daniel.wright
	#rb none
	#tests build OrionClient/Editor for Win64

Change 2944102 on 2016/04/14 by Wes.Hunt

	Tweak to UBT -ListBuildFolders to do a distinct in a better place to cut down on duplicate module searches.
	#tests ran the UBT command
	#rb none

Change 2943851 on 2016/04/14 by Ryan.Gerleve

	Fix the ForEachNetDriver helper function to get the world context directly off the world instead of going through the game instance. Ensures the correct net drivers will be used when there are multiple worlds but only one game instance.

	#rb john.pollard
	#tests golden path, replays, PIE

Change 2943847 on 2016/04/14 by Ryan.Gerleve

	Fixes to support client replay recording & playback in another world:
	When recording a replay, only swap actor roles if the remote role is ROLE_Authority
	When loading a replay checkpoint, call NetworkRemapPath to make sure paths have the correct name in the GuidCache

	#rb john.pollard
	#tests golden path, replays, PIE

Change 2943691 on 2016/04/14 by david.nikdel

	#ROBOMERGE-AUTHOR: jason.bestimt
	#ORION_24 - Fix for OR-19609, OR-19610, and OR-19611

	#RB:none
	#Tests:none

	#ROBOMERGE-SOURCE: CL 2943687 in //Orion/Release-0.24/... via CL 2943688
	#ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 2943508 on 2016/04/14 by Richard.Fawcett

	Automation: Add support for multipart file uploads to Amazon S3 to increase speed of large file uploads.

	#jira OPPBUILD-44
	#rb Leigh.Swift
	#tests Uploaded files to S3 using the new routines, downlaoded via AWS management console and ensured downloaded files identical to uploaded ones

Change 2943274 on 2016/04/13 by jason.bestimt

	#ORION_MAIN - Merge 24 @ CL 2943257

	#RB:none
	#Tests:none

	#ROBOMERGE-SOURCE: CL 2943271 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 2943178 on 2016/04/13 by Olaf.Piesche

	Bumping size of the particle curve texture to 512x512

	#rb martin.mittring

	#tests PC Editor, Game

Change 2943174 on 2016/04/13 by Aaron.McLeran

	OR-19392 Ensure condition failed: (*RequiresInitialization == 0) on loading into PVP match

	- Removing ensure since there is a rare edge case where it's possible for a sound looping node may get ResetChildren called twice.
	- Condition is when a child random node o fa looping node has a blank entry and results in no sound chosen in a given frame (which results in ResetChildren getting called). Later in the frame, if a sound had previously been playing with an active sound, it will have stop called on it, which will call NotifyWaveInstanceFinished and hit the ensure. Simply using the branch to check if the looping node has been initialized will work fine in this and other cases.

	#codereview Bob.Tellez
	#rb Bob.Tellez
	#tests ran orion with this change testing problematic sound cue

Change 2943042 on 2016/04/13 by Rob.Cannaday

	Fix crash in HTTP completion delegates on shutdown
	Stop ticking HTTP retry manager after FOnlineSubsystemImpl::Shutdown has been called
	#rb josh.markiewicz
	#tests shutting down multiple times

Change 2942913 on 2016/04/13 by Lukasz.Furman

	added meta navmesh paths
	#orion
	#rb Mieszko.Zielinski
	#tests PIE

Change 2942132 on 2016/04/13 by Wes.Hunt

	Enable UBT -ListBuildFolders to operate on Mac and iOS platforms without having to fully set up the remote environment.
	#codereview:leslie.nivison
	#rb peter.sauerbrei
	#tests running UBT with and without -listbuildfolders

Change 2941651 on 2016/04/12 by Jason.Bestimt

	#ORION_DG - Merge MAIN @ CL 2941645

	#RB:none
	#Tests:none

Change 2941539 on 2016/04/12 by Laurent.Delayen

	FABRIK: Normalize outgoing rotations.
	Fixes Chains Q ability crashing.

	#rb none
	#tests Chains not crashing

Change 2941469 on 2016/04/12 by Wes.Hunt

	Fix UBT -ListBuildFolders to not prep target for deployment.
	#codereview:leslie.nivison
	#rb none
	#tests tested -ListBuildFolders for Android

Change 2941434 on 2016/04/12 by Leslie.Nivison

	Adding/cleaning up .tps files
	#rb none
	#test none

Change 2941241 on 2016/04/12 by Daniel.Lamb

	Removed shadername from the shader code to fix deterministic material cooking issue.
	#jira UE-29320
	#codereview Marcus.Wassmer
	#rb Marcus.Wassmer
	#test Running editor, cooking orion.

Change 2941046 on 2016/04/12 by Laurent.Delayen

	Added safety net for non state AnimNotifies having a non-zero EndTriggerTimeOffset.
	Fixes Twinblast double shot for the left primary attack.

	#rb benn.gallagher
	#codereview lina.halper, ray.arnett, aaron.eady
	#tests twinblast's LMB

Change 2941032 on 2016/04/12 by Jason.Bestimt

	#ORION_24 - Merge MAIN @ CL 2940950

	#RB:none
	#Tests:none

[CL 2952833 by Andrew Grant in Main branch]
2016-04-22 11:21:10 -04:00
Andrew Grant
505e2440b1 Copying //UE4/Orion-Staging to //UE4/Main (Origin: //Orion/Dev-General @ 2904087)
==========================
MAJOR FEATURES + CHANGES
==========================

#lockdown Nick.Penwarden

Change 2903938 on 2016/03/10 by Frank.Gigliotti

	Added an instance ID to FAnimMontageInstance

	#CodeReview Laurent.Delayen
	#RB Laurent.Delayen
	#Tests PIE

Change 2903745 on 2016/03/10 by Wes.Hunt

	Update Oodle TPS
	#rb none
	#tests none
	#codereview:john.pollard

Change 2903689 on 2016/03/10 by Uriel.Doyon

	New "LogHeroMaterials" console command, displaying the current state of materials and  textures on the character hero.
	#rb marcus.wasmer
	#codereview marcus.wassmer
	#tests editor, playing PC games, trying the new command

Change 2903669 on 2016/03/10 by Aaron.McLeran

	OR-17180 Make stat soundcues and stat soundwaves NOT display zero volume sounds

	- Change only effects debug stat commands for audio guys

	#rb none
	#tests played paragon with new debug stat commands, confirms doesn't show zero-volume sounds

Change 2903625 on 2016/03/10 by John.Pollard

	XB1 Oodle SDK

	#rb none
	#tests none
	#codereview Jeff.Campeau

Change 2903577 on 2016/03/10 by Ben.Marsh

	Remaking latest build scripts from //UE4/Main @ 2900980.

Change 2903560 on 2016/03/10 by Ben.Marsh

	Initial version of BuildGraph scripts - used to create build processes in UE4 which can be run locally or in parallel across a build farm (assuming synchronization and resource allocation implemented by a separate system). Intended to supersede GUBP.

	Build graphs are declared using an XML script using syntax similar to MSBuild, ANT or NAnt, and consist of the following components:

	* Tasks: Building blocks which can be executed as part of the build process. Many predefined tasks are provided (<Cook>, <Compile>, <Copy>, <Stage>, <Log>, <PakFile>, etc...), and additional tasks may be added be declaring classes derived from AutomationTool.CustomTask in other UAT modules.
	* Nodes: A named sequence of tasks which is executed to produce outputs. Nodes may have input dependencies on other nodes before they can be executed. Declared with the <Node> element in scripts.
	* Agent Groups: A set of nodes nodes which is executed on the same machine if running as part of a build system. Has no effect when building locally. Declared with the <Group> element in scripts.
	* Triggers: Container for groups which should only be executed when explicitly triggered (using the -Trigger=<Name> or -SkipTriggers command line argument). Declared with the <Trigger> element in scripts.
	* Notifiers: Specifies email recipients for failures in one or more nodes, whether they should receive notifications on warnings, and so on.

	Properties can be passed in to a script on the command line, or set procedurally with the <Property Name="Foo" Value="Bar"/> syntax. Properties referenced with the $(Property Name) notation are valid within all strings, and will be expanded as macros when the script is read. If a property name is not set explicitly, it defaults to the contents of an environment variable with the same name.

	Local properties, which only affect the scope of the containing XML element (node, group, etc...) are declared with the <Local Name="Foo" Value="Bar"/> element, and will override a similarly named global property for the local property's scope.

	Any elements can be conditionally defined via the "If" attribute, and are largely identical to MSBuild conditions. Literals in conditions may be quoted with single (') or double (") quotes, or an unquoted sequence of letters, digits and underscore characters. All literals are considered identical regardless of how they are declared, and are considered case-insensitive for comparisons (so true equals 'True', equals "TRUE"). Available operators are "==", "!=", "And", "Or", "!", "(...)", "Exists(...)" and "HasTrailingSlash(...)". A full grammar is written up in Condition.cs.

	File manipulation is done using wildcards and tags. Any attribute that accepts a list of files may consist of: a Perforce-style wildcard (matching any number of "...", "*" and "?" patterns in any location), a full path name, or a reference to a tagged collection of files, denoted by prefixing with a '#' character. Files may be added to a tag set using the <Tag> Task, which also allows performing set union/difference style operations. Each node can declare multiple outputs in the form of a list of named tags, which other nodes can then depend on.

	Build graphs may be executed in parallel as part build system. To do so, the initial graph configuration is generated by running with the -Export=<Filename> argument (producing a JSON file listing the nodes and dependencies to execute). Each participating agent should be synced to the same changelist, and UAT should be re-run with the appropriate -Node=<Name> argument. Outputs from different nodes are transferred between agents via shared storage, typically a network share, the path to which can be specified on the command line using the -SharedStorageDir=<Path> argument. Note that the allocation of machines, and coordination between them, is assumed to be managed by an external system.

	A schema for the known set of tasks can be generated by running UAT with the "-Schema=<FileName>" option. Generating a schema and referencing it from a BuildGraph script allows Visual Studio to validate and auto-complete elements as you type.

	#rb none
	#codereview Marc.Audy, Wes.Hunt, Matthew.Griffin, Richard.Fawcett
	#tests local only so far, but not part of any build process yet

Change 2903539 on 2016/03/10 by John.Pollard

	Improve replay playback debugging of character movement

	#rb none
	#tests replays

Change 2903526 on 2016/03/10 by Ben.Marsh

	Remake changes from //UE4/Main without integration history, to add support for BuildGraph tasks.

	#rb none
	#tests none

Change 2903512 on 2016/03/10 by Dan.Youhon

	Modify minimum Duration values for JumpForce and MoveToForce ability tasks so that having minimum Duration values doesn't trigger check()s

	#rb None
	#tests Compiles

Change 2903474 on 2016/03/10 by Marc.Audy

	Fix crash if ChildActor is null
	#rb None
	#tests None

Change 2903314 on 2016/03/10 by Marc.Audy

	Fix ParentComponent not being persisted and fixup content that was saved in the window it was broken
	#rb James.Golding
	#tests Selection of child actors works as expected
	#jira UE-28201

Change 2903298 on 2016/03/10 by Simon.Tovey

	Disabling the trails optimization.

	#tests none
	#rb none

	#codereview Olaf.Piesche

Change 2903124 on 2016/03/10 by Robert.Manuszewski

	Small refactor to pak signing to help with exe protection

	#rb none
	#tests none

[CL 2907678 by Andrew Grant in Main branch]
2016-03-13 18:53:13 -04: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
149375b14b Update copyright notices to 2015.
[CL 2379638 by Ben Marsh in Main branch]
2014-12-07 19:09:38 -05:00
Saul Abreu
7d6c6f552f Changes to UBT for third party directories. UEThirdPartyDirectory is now obsolete and should be replaced with UEThirdPartySourceDirectory. An error message will appear when attempting to build if this is not heeded.
[CL 2104963 by Saul Abreu in Main branch]
2014-06-13 16:31:00 -04:00
TimSweeney
8c54bcfa97 Engine source (Main branch up to CL 2026164) 2014-03-14 17:13:27 -04:00