Commit Graph

45 Commits

Author SHA1 Message Date
danny couture
63738f4cb0 Fix DDC prefetch logic error causing useless data loads from disk
- 46GB to 10GB data loads from disk during map load of special project

#rnx
#rb Devin.Doucette

[CL 16704710 by danny couture in ue5-main branch]
2021-06-17 10:49:40 -04:00
Devin Doucette
3f40f504cf DDC: Changed Put to take a const array of cache records now that records are copyable
#rb Zousar.Shaker
#rnx

[CL 16184736 by Devin Doucette in ue5-main branch]
2021-05-03 12:05:18 -04:00
Devin Doucette
e42bbbedab DDC: Implement ICacheStore on FDerivedDataBackendInterface
This allows the new cache to be implemented more efficiently using the old cache backends because functionality like the corruption wrapper and key length limiter can be bypassed and the individual backends can store cache records in whatever way is most efficient for them.

The hierarchical backend may request payloads when they are not required due to incomplete tracking of backend state, and GetPayload will never fill other backends due to the inefficiency of the existing backend framework.

The filesystem backend does not cache any state in memory, which makes requests for individual payloads less efficient than if it cached a mapping of cache payload key to raw hash after the first request for a cache key.

The HTTP, S3, and pak file backends are not implemented for the new interface.

The backends do not implement ICacheStore::CancelAll() because the existing backend framework provides WaitForQuiescence to wait for completion of async requests, and the implementation of ICacheStore by those backends works with that mechanism.

The non-leaf backends (hierarchical, async put, etc.) do not update stats from the ICacheStore functions.

#rb Zousar.Shaker
#rnx
#preflight 60899f35d324590001b47517

[CL 16148296 by Devin Doucette in ue5-main branch]
2021-04-28 16:22:18 -04:00
Marc Audy
0cbbc781ca Merge UE5/Release-Engine-Staging @ 15740152 to UE5/Main
This represents UE4/Main @ 15709114

[CL 15740605 by Marc Audy in ue5-main branch]
2021-03-18 15:20:03 -04:00
Devin Doucette
6394ccc1cd DDC: Added TryToPrefetch to check multiple keys for existence and prefetch the data into a fast cache backend
#rb Zousar.Shaker

[CL 15422719 by Devin Doucette in ue5-main branch]
2021-02-16 17:24:48 -04:00
Devin Doucette
9010b3e1a5 DDC: Return a status from PutCachedData
The async put backend now uses this new status to avoid calling CachedDataProbablyExists after every put, which has a high cost for certain backends.

#rb Zousar.Shaker
#fyi Joakim.Lindqvist, Stefan.Boberg

[CL 15000972 by Devin Doucette in ue5-main branch]
2021-01-06 14:18:01 -04:00
Devin Doucette
e6401b0897 DDC: Added variants of CachedDataProbablyExists that check multiple keys
#rb Matt.Peters
#fyi Joakim.Lindqvist, Stefan.Boberg

[CL 14998596 by Devin Doucette in ue5-main branch]
2021-01-06 09:27:11 -04:00
Marc Audy
ada7c144fa Merge //UE5/Release-Engine-Staging @14903491 to //UE5/Main
[CL 14906022 by Marc Audy in ue5-main branch]
2020-12-11 14:21:20 -04:00
Francis Hurteau
aa2a9294de Quick fix for performance degradation when using the Shared DDC
Defer backfill up to date check to the async put as it may be expensive in the case of a shared ddc for example
This brings performance in line with working with the shared ddc disabled when the local cache is up to date.
Loading Apollo_Terrain_Edit: ~3m -> ~1m40s - DDC Access ~1m10s -> 4s when using the shared ddc

#rb Andrew.Grant, Devin.Doucette

[CL 14528803 by Francis Hurteau in ue5-main branch]
2020-10-20 16:33:55 -04:00
Marcus Wassmer
3b81cf8201 Merging using //UE5/Main_to_//UE5/Release-Engine-Staging @14384769
autoresolved files
#rb none

[CL 14384911 by Marcus Wassmer in ue5-main branch]
2020-09-24 00:43:27 -04:00
andrew grant
835b997f53 Edit-grated improved DDC behavior logging from Main to get better info around failing cooked tests
Temporarily turning on verbose DDC logging for EngineTest project

[FYI] zabir.hoque ben.ingram
#jira #rb na
#lockdown cristina.riveron

#ROBOMERGE-OWNER: andrew.grant
#ROBOMERGE-AUTHOR: andrew.grant
#ROBOMERGE-SOURCE: CL 12911373 in //UE4/Release-4.25/... via CL 12911375 via CL 12911433
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v682-12900288)

[CL 12911435 by andrew grant in Main branch]
2020-04-19 14:32:34 -04:00
andrew grant
bccf8a1464 DDC Optimization for slow caches in the hierarchy -
* Reduce the calls to CachedDataProbablyExists in DDC hierarchy when forward/backfilling other caches and skip entirely for slower caches.
* Added some comments for future visitors.

#tests Benchmark PIE test with warm & cold caches. On fiber shows a ~20 sec gain with a warm cache and 3mins with cold to AthenaTestBed (likely a 3-5x multiple on slower connections).

#rb swarm
[at]devin.doucette

#ROBOMERGE-SOURCE: CL 12669758 via CL 12669760 via CL 12669761 via CL 12669762
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v675-12543919)

[CL 12669764 by andrew grant in Main branch]
2020-04-07 21:48:22 -04:00
andrew grant
9507ad45d6 Removed some deoptimization pragmas that were left in accidentally.
#rb trivial

#ROBOMERGE-SOURCE: CL 12653726 via CL 12653737 via CL 12653738 via CL 12657818 via CL 12657855 via CL 12657880
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v675-12543919)

[CL 12657904 by andrew grant in Main branch]
2020-04-07 12:47:12 -04:00
andrew grant
2d7a1db75c Changed the S3 DDC backend so it elects not to write to lower cache levels.
(This value is only checked on backends that have a cache of the data, so data that is not in the S3 DDC will still be written back to lower levels if the S3 cache misses).

Changed the speed class for backends to be elligible to be backfilled to fast.

[at]devin.doucette [at]ben.marsh

#ROBOMERGE-SOURCE: CL 12647496 via CL 12647501 via CL 12649274 via CL 12649832 via CL 12649856 via CL 12649891
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v675-12543919)

[CL 12649923 by andrew grant in Main branch]
2020-04-07 00:58:22 -04:00
andrew grant
e224300cc3 Moved some DDC debug options into a common class that can be provided to a backend to simulate certain behavior.
E.g.

'-ddc-local-missrate=50' simulates a 50% miss rate of keys on the local backend,
'-ddc-shared-misstypes=AnimSeq' simulates misses for any AnimSeq key. Use + to combine keys. E.g. AnimSeq+Audio

Memory DDC, FileSystemDDC and S3DDC support these options as do the classes that wrap other backends (e.g. AsyncPut).

#tests lots of warm and cold DDC
[at]ben.marsh [at]josh.engebretson [at]devin.doucette

#ROBOMERGE-SOURCE: CL 12458693 via CL 12462167 via CL 12464485 via CL 12464606
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v672-12450963)

[CL 12464717 by andrew grant in Main branch]
2020-03-26 20:55:39 -04:00
andrew grant
3cc86b3d2f Optimizations for DDC access on remote / slow drives.
If a filesystem node is not available not prompt the user and optionally retry incase they need to mount a drive or start VPN

Fiilesystem nodes now perform a speed test using a selection of 'DDC sized' files to determine a classification (local, fast, ok, slow).

Add a new 'ConsiderSlowAt' property to the 'Filesystem' DDC node type. If latency to the node is >= this value then the node will be marked as slow which disables touch'ing and reduces file stats

Interface Changes

- Add the concept of a speed class to nodes
- Add GetName to nodes for better debugging / logging
- WouldCache query that allows caches to opt of of consideration early and avoid async tasks being created.
- Create a new 'FileBackedDerivedDataBackend' class that's the for the memory/boot backend and future classes
- TryToPrefetch interface functions for future use

Behavior Changes

- Moved parameter parsing into FileSysteDerivedDataBackend as things were getting out of hand
- FileSystemDerivedDataBackend now performs a speed test using 'DDC sized' files in separate directories and applies a classification
- Slow locations turn off touching of data on read
- Slow locations always return true for CachedDataProbablyExists. It's faster just to try to read and fail
- If the shared DDC is not available the user is prompted incase they need to mount it.

[at]ben.marsh [at]josh.engebretson
#rb swarm
#tests lots of PIE runs with / without this option


#ROBOMERGE-SOURCE: CL 12387516 via CL 12387517 via CL 12396622
#ROBOMERGE-BOT: (v671-12333473)

[CL 12396757 by andrew grant in Release-Engine-Staging branch]
2020-03-24 19:12:36 -04:00
nick darnell
7fb5ae96d7 Changing the DDC interface to use TArrayView instead of TArray for placing data into the DDC.
Updating the ArrayView with new comparison operators to have greater replacement for what TArray provides.

#rb Marc.Audy, Steve.Robb


#ROBOMERGE-OWNER: nick.darnell
#ROBOMERGE-AUTHOR: nick.darnell
#ROBOMERGE-SOURCE: CL 11843381 via CL 11843463 via CL 11843492
#ROBOMERGE-BOT: (v656-11643781)

[CL 11879995 by nick darnell in Main branch]
2020-03-03 14:33:45 -05:00
ryan durand
471d972e62 Updating copyright for Engine Developer.
#rnx
#rb none


#ROBOMERGE-SOURCE: CL 10869240 via CL 10869516 via CL 10869902
#ROBOMERGE-BOT: (v613-10869866)

[CL 10870584 by ryan durand in Main branch]
2019-12-26 15:32:37 -05:00
Stefan Boberg
1f813eb516 Copying //UE4/Dev-Core to Main (//UE4/Main)
#rb many

[CL 9405827 by Stefan Boberg in Main branch]
2019-10-03 16:26:48 -04:00
Robert Manuszewski
2752c82adc Merging //UE4/Dev-Main @ 4664414 to Dev-Core (//UE4/Dev-Core)
#rb none

[CL 4675693 by Robert Manuszewski in Dev-Core branch]
2019-01-02 00:55:51 -05:00
Ben Marsh
7598af0532 Update copyright notices to 2019.
#rb none
#lockdown Nick.Penwarden

[CL 4662404 by Ben Marsh in Main branch]
2018-12-14 13:41:00 -05:00
Ben Marsh
30f891786a Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3847469)
#lockdown Nick.Penwarden
#rb none

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

Change 3805828 by Gil.Gribb

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

Change 3806784 by Ben.Marsh

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

Change 3807549 by Graeme.Thornton

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

Change 3807727 by Graeme.Thornton

	Unhide the text asset format experimental editor option

Change 3807746 by Josh.Engebretson

	Remove WER from iOS platform

Change 3807928 by Robert.Manuszewski

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

Change 3808221 by Steve.Robb

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

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

Change 3809233 by Graeme.Thornton

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

Change 3809518 by Ben.Marsh

	Remove the outdated UnrealSync automation script.

Change 3809643 by Steve.Robb

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

	#jira UE-53037

Change 3809862 by Steve.Robb

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

	#jira UE-42593

Change 3811190 by Graeme.Thornton

	Add support for writing specific log channels to their own files

Change 3811197 by Graeme.Thornton

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

Change 3811257 by Robert.Manuszewski

	Cluster creation will now be time-sliced

Change 3811565 by Steve.Robb

	Define out non-monolithic module functions.

Change 3812561 by Steve.Robb

	GitHub #3886 : Enable Brace-Initialization for Declaring Variables

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

	#jira UE-48242

Change 3812864 by Steve.Robb

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

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

	#jira UE-53089

Change 3820358 by Ben.Marsh

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


Change 3822594 by Ben.Marsh

	UAT: Improvements to log file handling.

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

Change 3823695 by Ben.Marsh

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

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

Change 3823845 by Ben.Marsh

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

Change 3824180 by Ben.Marsh

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

	#jira

Change 3825777 by Steve.Robb

	Fix to return value of StringToBytes.

Change 3825810 by Ben.Marsh

	UBT: Reduce length of include paths for MSVC toolchain.

Change 3825822 by Robert.Manuszewski

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

Change 3826734 by Ben.Marsh

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

Change 3827730 by Steve.Robb

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

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

Change 3827745 by Steve.Robb

	Initializer list support for TMap.

Change 3827770 by Steve.Robb

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

	#jira UE-53813

Change 3829189 by Ben.Marsh

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

Change 3830444 by Steve.Robb

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

Change 3830718 by Ben.Marsh

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

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

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

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

	#jira UE-53845

Change 3831064 by Ben.Marsh

	Fix log file contention when spawning UBT recursively.

Change 3832654 by Ben.Marsh

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

Change 3832680 by Ben.Marsh

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

Change 3832695 by Ben.Marsh

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

Change 3833528 by Ben.Marsh

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

Change 3833543 by Ben.Marsh

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

Change 3834354 by Robert.Manuszewski

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

	#jira UE-52035

Change 3834400 by Robert.Manuszewski

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

	#jira UE-52035

Change 3834947 by Steve.Robb

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

Change 3835004 by Ben.Marsh

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

Change 3835340 by Ben.Marsh

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

Change 3835972 by Ben.Marsh

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

Change 3836019 by Ben.Marsh

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

Change 3836269 by Ben.Marsh

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

Change 3836543 by Ben.Marsh

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

Change 3836546 by Ben.Marsh

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


Change 3836805 by Ben.Marsh

	Fix commandlet to compile marketplace plugins.

Change 3836829 by Ben.Marsh

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

Change 3837036 by Ben.Marsh

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

Change 3837037 by Ben.Marsh

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

Change 3837040 by Ben.Marsh

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

Change 3837247 by Ben.Marsh

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

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

Change 3837262 by Ben.Marsh

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

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

Change 3837343 by Ben.Marsh

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

Change 3837356 by Ben.Marsh

	Fix invalid character encodings.

Change 3837727 by Graeme.Thornton

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

Change 3837823 by Ben.Marsh

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

Change 3837831 by Graeme.Thornton

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

Change 3837857 by Robert.Manuszewski

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


Change 3837943 by Robert.Manuszewski

	PR #4405: Fix FGarbageCollectionTracer (Contributed by mhutch)


Change 3838451 by Ben.Marsh

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

	#jira UE-53996

Change 3839519 by Ben.Marsh

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

Change 3843790 by Graeme.Thornton

	UnrealPak: Log the size of all encrypted data

Change 3844258 by Ben.Marsh

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

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

	#jira UE-54157

Change 3845796 by Ben.Marsh

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

Change 3845823 by Ben.Marsh

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

	#jira UE-54123

Change 3845901 by Arciel.Rekman

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

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

	(Edigrating 3819174 to Dev-Core)

Change 3846439 by Ben.Marsh

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

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

Change 3816608 by Ben.Marsh

	UBT: Use DirectoryReference objects for all include paths.

Change 3816954 by Ben.Marsh

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

Change 3816986 by Ben.Marsh

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

Change 3816991 by Ben.Marsh

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

Change 3823090 by Ben.Marsh

	UAT: Improve logging for child UAT instances.

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

Change 3826082 by Ben.Marsh

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

Change 3827025 by Ben.Marsh

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

Change 3829927 by James.Hopkin

	Made HTTP interface const correct

Change 3833533 by Ben.Marsh

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

Change 3835826 by Ben.Marsh

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

Change 3835969 by Ben.Marsh

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

Change 3837777 by Steve.Robb

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

Change 3838569 by Steve.Robb

	Algo moved up a folder.

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

[CL 3818977 by Ben Marsh in Staging-4.19 branch]
2018-01-02 15:30:26 -05:00
Andrew Grant
d753cb7028 Copying //UE4/Orion-Staging to //UE4/Main (Source: //Orion/Dev-General @ 3358916)
#lockdown Nick.Penwarden

Change 3358916 on 2017/03/22 by Andrew.Grant

	Merging //Orion/Main to Dev-General (//Orion/Dev-General)
	#!tests #!rb na

Change 3357395 on 2017/03/21 by Daniel.Lamb

	Added some more custom stats to the cooker.
	Only cook the english cook culture when we are running local builds.
	#!rb Trivial
	#!test Iterative shared cooked builds paragon

Change 3357377 on 2017/03/21 by Daniel.Lamb

	Added support for packages which fail to load to the package dependency info module
	#!rb Trivial
	#!test Cook paragon

Change 3356838 on 2017/03/21 by Andrew.Grant

	Merging //Orion/Main to Dev-General (//Orion/Dev-General)
	#!3rb #!tests na

Change 3355306 on 2017/03/20 by Daniel.Lamb

	Switched PackageDependencyInfo to using Guid instead of entire package hash when generating dependency info.
	Stopped cooker from collecting garbage while in the editor.
	Iterative cooks don't resolve string asset references for startup packages.
	#!rb Trivial
	#!test Shared precooked build paragon

Change 3354527 on 2017/03/20 by Wes.Hunt

	AnalyticsProvider::SetUserID will now flush any pending events before changing the ID. #!jira AN-1660
	#!fyi josh.markiewicz,david.nikdel
	#!rb josh.markiewicz
	#!tests ran client connected to Solo vs. AI server

Change 3353852 on 2017/03/20 by Benn.Gallagher

	Speculative fix for clothing crashes using Mambo. It was possible that the skeletal mesh component could have triggered deletion or creation of simulation state objects while the simulation was in flight on another thread, added tracking and waiting for outstanding tasks.
	#!jira OR-36843, UE-42975
	#!rb Martin.Wilson
	#!tests Editor PIE, -game hero gallery

Change 3353048 on 2017/03/18 by Jeff.Williams

	#!ORION_DG - Merge MAIN @CL 3353033

Change 3352845 on 2017/03/17 by Daniel.Lamb

	Renamed the ConvertRenderTargetToTexture2D function so that it's obvious it's a editor only feature.
	#!rb Daniel.Wright
	#!test Editor paragon

Change 3352544 on 2017/03/17 by Daniel.Lamb

	ADded support for ignoring ini settings incompatbilities when using shared cooked builds.
	#!rb Trivial
	#!test Shared cooked build paragon

Change 3352285 on 2017/03/17 by Daniel.Lamb

	Fix client side compilation error to do with render texture conversion function
	#!rb Trivial
	#!test Compile Paragon

Change 3352141 on 2017/03/17 by Daniel.Lamb

	Added support for blueprint function to convert a rendertexture to a texture.
	#!rb Daniel.Wright
	#!test Run in the editor

Change 3351612 on 2017/03/17 by Andrew.Grant

	Expand EngineDir and ProjectDir variables during AppLocal deployment
	#!tests Jamie verified packaging Orion via the editor works now
	#!rb Jamie.Dale

Change 3350470 on 2017/03/16 by Laurent.Delayen

	Fix for PS4 compile.

	#!rb none
	#!tests PS4 + non unity

Change 3350237 on 2017/03/16 by Andrew.Grant

	Pak-mounting fix from Dev-Core for OR-36896
	#!tests na
	#!rb GIl.Gribb

Change 3350079 on 2017/03/16 by Laurent.Delayen

	Added 'AnimNotify_PlayMontageNotify' and 'AnimNotify_PlayMontageNotifyWindow' to forward notifies Begin/End to 'PlayMontage' AsyncTask.

	#!rb lina.halper
	#!tests Yin's BP

Change 3349694 on 2017/03/16 by robomerge

	#!ROBOMERGE-AUTHOR: dan.hertzka
	Exposing copy/paste actions for properties embedded within IDetailGroup header rows

	#!rb Matt.Kuhlenschmidt
	#!tests Copy/paste on skin variant primary override rows

	#!ROBOMERGE-SOURCE: CL 3349513 in //Orion/Dev-REGS/... via CL 3349675
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3349560 on 2017/03/16 by David.Ratti

	Update GameplayTagReferenceHelper to pass in raw data for owner struct (Rather than having caller pass raw 'this' to delegate). Fixes crashes with resizing lists while making calling code less crappy (avoid having to implement copy cstor and operator to fixup delegate).

	Added GameplayTagReferenceHelper to gameplay cue classes.

	#!rb none
	#!tests editor

Change 3349305 on 2017/03/16 by Andrew.Grant

	Merging //Orion/Main to Dev-General (//Orion/Dev-General)
	#!tests compiled
	#!rb na

Change 3349189 on 2017/03/16 by Benn.Gallagher

	Fixed clothing not running in PS4 packaged builds
	#!rb Martin.Wilson
	#!jira OR-36680
	#!tests PS4 cooked OrionEntry with Shinbi

Change 3348659 on 2017/03/15 by Daniel.Lamb

	Fix compilation errors.
	#!rb None

Change 3348646 on 2017/03/15 by Andrew.Grant

	Unshelved from pending changelist '3347778':

	<description: restricted, no permission to view>

Change 3348636 on 2017/03/15 by Daniel.Lamb

	Fixed issue with rebuildlighting commandlet not checking out separate lighting files.
	#!rb None
	#!test ResavePackages commandlet

Change 3348559 on 2017/03/15 by Daniel.Lamb

	Fixed up some iterative ini settings blacklist configs.
	#!rb Trivial
	#!test Iterative Cook paragon

Change 3348379 on 2017/03/15 by Laurent.Delayen

	Added simple Async Node 'Play Montage' to use outside of gameplay abilities.

	#!rb none
	#!tests none

Change 3348035 on 2017/03/15 by Ben.Salem

	Switch automationcheckpoint to being a .log file. Unblocks running on packaged builds in paragon.
	#!rb none
	#!tests ran oh so very many tests with the changes.

Change 3345982 on 2017/03/14 by Zak.Middleton

	#!orion - OR-36422: Clamp client net send rate for character movement to 60Hz (down from 90). Integrates CL 3345771 from Dev-Framework which adds engine support for specifying the rate parameters, and sets them in Orion DefaultGame.ini to 1/60 second.

	#!jira OR-36422
	#!tests multi-PIE dedicated server, various framerates, net lag, etc.
	#!rb Laurent.Delayen
	#!codereview Laurent.Delayen

Change 3345134 on 2017/03/14 by Jordan.Walker

	mono work

Change 3344857 on 2017/03/14 by Martin.Wilson

	Missing includes for transactor header

	#!rb none

Change 3341860 on 2017/03/10 by Chris.Bunner

	Partial revert of CL 3339904. Fixed material translation error with multiple connections from custom interpolator nodes.
	#!rb None
	#!tests Editor, Known trouble materials with interpolator nodes, With/without material functions

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

	Fixed up NetworkCompatible version so that it works with UGS.
	#!rb Trivial
	#!test Cook ps4 paragon.

Change 3341616 on 2017/03/10 by Josh.Markiewicz

	#!UE4 - added define for OGS feature
	#!rb none
	#!codereview sam.zamani
	#!tests compiles

Change 3341612 on 2017/03/10 by Josh.Markiewicz

	#!UE4 - removed old define
	#!tests compiles

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

	Integrate fix for sync loading from main to Dev General.
	#!rb Ben.Zeigler

Change 3339904 on 2017/03/09 by Chris.Bunner

	Fixed material translation error when custom interpolator node hooked to multiple function outputs.
	#!rb None
	#!tests Editor

Change 3339280 on 2017/03/09 by Josh.Markiewicz

	#!UE4 - removed WebBrowser moduel dependency on OnlineSubsystem
	- added 2 functions to online engine interface
	#!codereview sam.zamani, ben.marsh

Change 3338654 on 2017/03/08 by Daniel.Lamb

	Fixed up some issues with iterative ini settings.
	Added support for target platforms exposing which audio formats they use so they can match up supported formats with different machines.
	#!rb None
	#!test Cook paragon iteratively

Change 3336989 on 2017/03/08 by Ben.Marsh

	Merging CL 3336693 from Dev-Core: Use shared PCHs for game plugins by default, to reduce time spent generating individual PCHs.

	#!rb none

Change 3336135 on 2017/03/07 by Michael.Trepka

	Hide GameLayerManager's title bar on exiting PIE

	#!rb Dan.Hertzka
	#!tests Tested in the editor on Windows

Change 3335324 on 2017/03/07 by Aaron.Eady

	Chat;

	Adding AddedItem, CompletedItem, and DiscardedItem to the chat message type enum so we can control the color for each. Set the colors in the Social asset.
	Creating client record settings for turning on/off the added item, completed item, and discarded item in chat. Put these in the gameplay settings menu.
	Added horizontal boxes to the gameplay settings menu because we are running out of space.
	Added a vertical scroll bar to the gameplay settings menu but it doesn't seem to show. Also fixed the horizontal scroll bar at the bottom to be horizontal instead of vertical.

	#!rb Matt.Schembari
	#!tests MCP, PIE
	#!lockdown Nicholas.Davies
	#!RN

Change 3333541 on 2017/03/06 by Jason.Bestimt

	#!ORION_DG - Merge MAIN @ CL 3333512

	#!RB:none
	#!Tests:none

	#!codeReview: cameron.winston

Change 3332578 on 2017/03/04 by Andrew.Grant

	Temp Disabled wrong-looking warning
	#!tests #!rb na
	#!ROBOMERGE: Main

Change 3332555 on 2017/03/04 by Andrew.Grant

	Proper fix for Tencent DLL issue
	#!tests #!rb na
	#!ROBOMERGE: Main

Change 3332552 on 2017/03/04 by Andrew.Grant

	Fix for Tencent DLL issue while staging
	#!tests none
	#!rb none
	#!ROBOMERGE: Main

Change 3332216 on 2017/03/03 by Jason.Bestimt

	#!ORION_DG - Merge MAIN @ CL 3332168

	#!RB:none
	#!Tests:none

Change 3332060 on 2017/03/03 by Daniel.Lamb

	Fixed issue with AsyncLoading code eventually flushing async loading while in async loading...
	This causes all kinds of cool stuff like objects on the stack corruption and also deleted memory accesses.

	#!rb Gil.Gribb.
	#!test Editor and -game

Change 3331680 on 2017/03/03 by Jason.Bestimt

	#!ORION_MAIN - Merge MAIN @ CL 3331636

	#!RB:none
	#!Tests:none

	#!codeReview: andrew.grant

Change 3331412 on 2017/03/03 by James.Hopkin

	#!orion Rebuilt OpenSSL libs for PS4 to fix process termination due to SIGPIPE on closing websockets

	Source change committed in CL#!3331380

	#!jira OR-36274

	#!fyi Paul.Moore

Change 3331375 on 2017/03/03 by Sam.Zamani

	fix dll path for tenproxy

	#!rb none
	#!tests none

Change 3330953 on 2017/03/02 by Jason.Bestimt

	#!ORION_DG - Merge MAIN @ CL 3330924

	[STOMPED ChestOpeningScreen.uasset]

	#!RB:none
	#!Tests:none

	#!codeReview: bryan.rathman, phil.buuck, matt.schembari, andrew.grant

Change 3330646 on 2017/03/02 by Andrew.Grant

	Warning and non-unity fix
	#!tests compiled
	#!rb none

Change 3330388 on 2017/03/02 by Andrew.Grant

	Merging //Orion/Main to Dev-General (//Orion/Dev-General)
	#!tests #!rb na

Change 3329982 on 2017/03/02 by Sam.Zamani

	fixed updated module rules

	#!rb none
	#!tests regen projects

Change 3329964 on 2017/03/02 by Sam.Zamani

	Copying //Tasks/Orion/Dev-Online-Tencent to Dev-General (//Orion/Dev-General)

	3245325 Adding new OSS for Tencent online platform

	3245448 tencent third party SDK
	TCLS proxy functionality

	#!rb none

	3245474 missing include

	#!rb none

	3249585 TCLS tenproxy.dll in thirdparty bin folder

	#!rb none

	3249726 Load TenProxy.dll for TCLS integration
	New OSS Tencent

	#!rb none

	3255571 tencent configs

	#!rb none

	3255826 Tencent TCLS paragon launcher

	#!rb none

	3256168 TCLS launch batch update cmd line options

	#!rb none

	3256170 Added "TencentLive,TencentDev" MCP config entries

	#!rb none

	3256504 xmpp config update

	#!rb none

	3273168 skip login steps for tencent
	config update

	#!rb none

	3279427 #!xmpp

	add option to use plain text auth

	3279428 disable ssl and use plain text auth for XMPP connection
	temporary until we have a valid cert setup on Tigase deployment

	3281566 enabled OSS tencent

	this will also be the toggle for detecting when to enable tencent functionality at runtime

	3283103 differentiate between tencent dev/live environments
	disable QoS region selection for tencentdev

	3283106 lower http verbosity

	3283734 config updates

	3285066 disable replays and mtx for tencent build

	3291005 #!online,mcp
	service config bEnabled flag to toggle individual services as needed

	3291006 explicitly mark unneeded Mcp services as disabled

	3291108 allow replay tab to be disabled via UOrionRuntimeOptions.bEnableReplays=false

	3291492 disable recording of replays for tencent mode

	3292750 disable replay tab based on bEnableReplays=false

	3292753 new orion runtime option bDisallowCoinPurchases
	if true, prevents coins from being available for purchase

	3292755 diable mtx coin offers if bDisallowCoinPurchases=true

	3292759 missing header

	3293246 disable query for available friend codes if bEnableFriendCodes=false

	3293250 temp usage of NULL analytics provider

	3298025 Adding optional RegionTencent plugin for overriding config files

	3298027 ability to override config cache values via plugin config files

	3311016 default to TencentDev backend when running in tencent mode

	3311017 CMS tencent config

	3311022 Rename RegionTencent to RegionCN

	3312470 disable links for tencent build

	3313014 move tenproxy.dll to \OrionGame\Binaries\ThirdParty\Tencent

	3314861 tenproxy 2.0.2.7 update

	3314878 default RegionCN plugin to disabled
	this will only be enabled once the RegionCN.pak is loaded

	3314879 TCLS launcher pointing at UE4Editor.exe for development

	3315257 missing file

	3323573 remove TCLS launcher

	3326006 Tencent TLOG SDK

	3326277 wrapper singleton class for tenproxy connection

	3329180 Tencent support for login flow

	3329181 WIP tenproxy connection usage in identity

	3329624 wip tcls proxy

	#!rb none
	#!tests none

Change 3329651 on 2017/03/02 by Andrew.Grant

	Merging from //UE4/Main @ 3322856 through Orion-Staging
	#!tests QA
	#!rb na

Change 3329411 on 2017/03/02 by robomerge

	#!ROBOMERGE-AUTHOR: dan.hertzka
	Duplicating CL 3303733 from Dev-Editor (simple fix for a massive issue)
	- This will prevent any TAssetPtr property from getting stomped by undo/redo (you know those ridiculous store and card art issues? Fixed!)

	#!lockdown Jason.Bestimt
	#!rb none
	#!tests Undo on an item definition asset

	#!ROBOMERGE-SOURCE: CL 3329404 in //Orion/Release-38.3/... via CL 3329405
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3328858 on 2017/03/01 by Lina.Halper

	Fixed crash on importing animation that was edited before

	#!rb: none
	#!tests: reimport

Change 3328459 on 2017/03/01 by Daniel.Lamb

	When adding new ddc back ends to the hierarchcial ddc make sure to update the async backends lists.
	#!codereview Gil.Gribb
	#!test None
	#!rb Trivial

Change 3328182 on 2017/03/01 by Daniel.Lamb

	Unshelved from pending changelist '3318009':

	Adding support for shared cooked builds to be downloaded from the network.
	Included CookedAssetRegistry in the p:\ published builds.
	#!rb Ben.Marsh

Change 3327856 on 2017/03/01 by Frank.Gigliotti

	Added velocity overrides to FRK4SpringInterpolator;

	#!RB None
	#!codeReview Laurent.Delayen
	#!Tests PIE

Change 3327096 on 2017/03/01 by David.Ratti

	Added generic reference viewer details customization for gameplay tags. Added it to GameplayStatsMetaData.

	#!rb none
	#!tests editor

Change 3326177 on 2017/02/28 by Daniel.Lamb

	Added some more debugging information to help track down live issue.
	#!rb Chris.Bunner
	#!test Ran editor.

Change 3324951 on 2017/02/28 by David.Ratti

	UDataTable: added AddRow/RemoveRow native functions.
	#!rb JB
	#!tests na

Change 3323852 on 2017/02/27 by David.Ratti

	Fix ::RequestAllGameplayTags OnlyIncludeDictionaryTags option

	#!codereview Ben.Zeigler
	#!rb #!tests na

Change 3323706 on 2017/02/27 by Jason.Bestimt

	#!ORION_DG - Merge MAIN @ CL 3323694

	#!RB:none
	#!Tests:none

Change 3321945 on 2017/02/24 by Jon.Lietz

	OR-36258

	- fixing an issue where gameplay effects that are set to not refresh the period should not allow the execution of a period effect on application.

	#!RB David.Ratti
	#!tests golden path
	#!codeReview: Billy.Bramer, Fred.Kimberley
	#!RNX

Change 3321876 on 2017/02/24 by Daniel.Lamb

	Fixed erroronEngineContentUse flag not being set properly.
	#!rb Trivial
	#!test Cook Paragon.

Change 3321591 on 2017/02/24 by Jason.Bestimt

	#!ORION_DG - MAIN @ CL 3321563

	#!RB:none
	#!Tests:none

Change 3321260 on 2017/02/24 by Andrew.Grant

	Fixed issue that was causing missing string references to not show their referencer
	#!rb none

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

	Merging changes 3316253 and 3319134 from Dev-Core: fixes to file log hangs and crashes.

	#!rb none
	#!tests Cooked Win64 server and client, played cooked Win64 build

Change 3319413 on 2017/02/23 by Jason.Bestimt

	#!ORION_DG - Merge MAIN @ CL 3319394

	#!RB:none
	#!Tests:none

Change 3317905 on 2017/02/22 by Daniel.Lamb

	Integrate CL 3238291 from Odin

	Add Plugin content to the asset registry
	Change the location of AssetRegistry.bin when cooking a plugin as DLC
	Include AssetRegistry.bin in the cooked plugin staging process
	Add function to PluginManager to keep list of any plugins that loaded a pak file
	Use list of plugins with pak files to merge their AssetRegistry.bin files into the main AssetRegistry when it's created
	#!rb Ben.Marsh
	#!codereview Chance.Ivey, Daniel.Lamb

Change 3317648 on 2017/02/22 by Cody.Haskell

	Instead of popping an external web browser, we use the SWebBrowser widget on GFN.

	#!rb DanH
	#!codereview Andrew.Grant, Dan.Hertzka, Matt.Schembari
	#!tests PIE

Change 3317289 on 2017/02/22 by Jason.Bestimt

	#!ORION_DG - Merge MAIN @ CL 3317254

	#!RB:none
	#!Tests:none

Change 3317186 on 2017/02/22 by Mieszko.Zielinski

	Fixed items that have been force-scored by an EQS test as 'failed' getting discarted even if the test is being run in scoring-only mode #!UE4

	#!test golden path
	#!rb Lukasz.Furman
	#!codereview Daniel.Broder, John.Abercrombie

Change 3317005 on 2017/02/22 by Daniel.Lamb

	Submitted wrong version of my file.
	#!rb Trivial
	#!test Compile

Change 3316958 on 2017/02/22 by Daniel.Lamb

	Added support in buildcookrun for shared cooked builds.
	#!rb Trivial
	#!test BuildCookRun iterative script

Change 3316942 on 2017/02/22 by Daniel.Lamb

	DLC cooking optimization.
	Optimization to determining package dependency tree, now is async.
	Fixes for iterate shared cooked build.  Added fallback when using shared cooked build to local build if local build is newer.
	Added DLC cooking warning if you are overriding output directories.
	Removed previous release packages names from DLC asset registry.
	Only generate manifest for additional assets instead of all assets.
	Minor optimization to worst case resolving of string asset references.  Only resolve those that haven't been resolved before (only happens when GC thrashing happens).
	#!rb Andrew.Grant
	#!test Cook paragon

[CL 3365166 by Andrew Grant in Main branch]
2017-03-26 15:18:02 -04: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