35 Commits

Author SHA1 Message Date
graeme thornton
8569da66c9 Minor off-by-one correction to chunk hash failure warning message
#ROBOMERGE-SOURCE: CL 6113928 via CL 6113932 via CL 6115047

[CL 6115246 by graeme thornton in Main branch]
2019-04-26 19:44:52 -04:00
graeme thornton
47bcaf79cf Centralize the loading of pak signature data so that the same object can be reused between the SignedArchiveReader and FPakPrecacher implementations. Stops the same data being loaded and verified twice
[FYI] joe.barrett


#ROBOMERGE-SOURCE: CL 6067905 via CL 6067908 via CL 6069306

[CL 6069330 by graeme thornton in Main branch]
2019-04-23 18:56:29 -04:00
graeme thornton
8632a76237 Improve logging of pak signature failures.
Treat a missing .sig file like a signature failure. Log it and ignore the pak file.



#ROBOMERGE-SOURCE: CL 5993822 via CL 5994244 via CL 5995533 via CL 5995549 via CL 5997449

[CL 5997477 by graeme thornton in Main branch]
2019-04-18 18:24:11 -04:00
graeme thornton
5f6c7468ed Don't mount pak files that fail the initial signature check
#rb joe.barrett, robert.manuszewski


#ROBOMERGE-SOURCE: CL 5897890 via CL 5897891 via CL 5898565

[CL 5898684 by graeme thornton in Main branch]
2019-04-15 10:22:26 -04:00
graeme thornton
f715649fdd Fix debug logging of chunk hashes for pak file signature check failures
#ROBOMERGE-SOURCE: CL 5834330 via CL 5834331 via CL 5838008

[CL 5838453 by graeme thornton in Main branch]
2019-04-12 10:40:24 -04:00
graeme thornton
a0e55b062e Improvements to RSA key generation and pak signing
- CryptoKeys plugin can now be told how many bits to use for keys. Defaults to 2048 as a happy medium between security and performance
- After creating the OpenSSL RSA key, use the exp/mod values directly rather than recomputing from primes
- Added RSA.h with some TBigInt based helpers for RSA keys
- Added FPakSignatureFile to wrap the contents of the pak .sig file, including determining that it is of a new format that supports versioning. Wraps the encryption and decryption of he master table hash
- Changed pak master signature hash from crc to SHA1
- Modified access to executable embedded public key data so that it is just an array of bytes. Will allow custom key sizes in the future.

#rb joe.barrett, stefan.boberg
#jira UE-71280, UE-71377

#ROBOMERGE-OWNER: graeme.thornton
#ROBOMERGE-AUTHOR: graeme.thornton
#ROBOMERGE-SOURCE: CL 5381335 in //UE4/Release-4.22/...
#ROBOMERGE-BOT: RELEASE (Release-4.22 -> Main)

[CL 5383057 by graeme thornton in Main branch]
2019-03-13 11:12:27 -04:00
graeme thornton
f3c891253b Removed ensure from signedarchivereader pak signature failure handler to make it consistent with the pakprecacher version. Games can override the signature check failure delegate to choose what to do when a signature fails
#ROBOMERGE-SOURCE: CL 4822286 via CL 4822301 via CL 4822810

[CL 4822827 by graeme thornton in Main branch]
2019-01-28 10:35:42 -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
ea340d3fbf Copying //UE4/Fortnite-Staging to Dev-Main (//UE4/Dev-Main)
#rb none
#lockdown Nick.Penwarden

[CL 4567513 by Ben Marsh in Main branch]
2018-11-14 19:05:13 -05:00
Marc Audy
d90da4ab1a Merge to Dev-Main for 4.20 @ 4090813
#rb
#rnx
#lockdown Nick.Penwarden

[CL 4091081 by Marc Audy in Main branch]
2018-05-23 21:04:31 -04:00
Ben Marsh
7ce4c05fda Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 4034418)
#lockdown Nick.Penwarden
#rb none

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

Change 3851142 by Robert.Manuszewski

	When BP clustering is enabled, make sure to add the template to the BP cluster when replacing it.

Change 3853797 by Ben.Marsh

	BuildGraph: Add a <Trace> element, which allows logging messages after the string is parsed (as opposed to the Log task, which logs them at runtime). Useful for debugging macro expansion, etc...

	Also add a -showdiagnostics parameter, to have diagnostic messages output even when running with the -listonly option.

Change 3857540 by Graeme.Thornton

	Properly process the uexp file for a umap asset when generating a pak patch. Stop those uexp files being included in the patch even when they haven't changed

Change 3860062 by Steve.Robb

	Fix for FString::Reset()'s buffer not being an empty null-terminated string (affects FString::ParseIntoArray, for example).

Change 3860138 by Steve.Robb

	Fix for FString::ParseIntoArray() for when string memory has been allocated but has no characters.

Change 3860273 by Steve.Robb

	Tidy up of FHotReloadClassReinstancer::FCDOWriter to not do stuff in constructors.

Change 3863203 by Steve.Robb

	Crash fix for UObjects whose constructors are defined as = default;, which would re-null the UObject state (ClassPrivate, OuterPrivate etc.).

	See: https://udn.unrealengine.com/questions/412930/crash-due-to-default-constructor.html

Change 3864588 by Graeme.Thornton

	Crypto Keys Improvements
	 - Removed UAT command line params for encryption. Centrally configured by the editor settings now.
	 - UAT staging now creates a small json file containing the keys and settings used for encryption and signing and stores it in the build metadata
	 - Minor refactoring of UAT encryption processing to use the new cryptokeys json file
	 - UnrealPak can be told to get its encryption settings from a json crypto file with the "-CryptoKeys=<filename>"
	 - UnrealPak can now accept a "PatchCryptoKeys=<filename" parameter which gives it a filename to a cryptokeys json file that it can use to unpack the patch reference paks

Change 3864691 by Robert.Manuszewski

	Don't add objects that are in root set to GC clusters to prevent them from keeping the clusters alive forever.

Change 3864744 by Robert.Manuszewski

	Added the ability to get the actual filename of the log file FOutputDeviceFile writes to.

Change 3864816 by Graeme.Thornton

	TBA: Minor formatting improvements to textasset commandlet

Change 3868939 by Graeme.Thornton

	TBA: If -outputPath isn't supplied to TextAsset commandlet, output converted files to the {ProjectSaved}/TextAssets directory

Change 3869031 by Graeme.Thornton

	TBA: Changed timing logs in TextAsset commandlet to be Display so we can see them in the EC log

Change 3871802 by Steve.Robb

	Class cast flags and property flags are now visible in the debugger.

Change 3871863 by Robert.Manuszewski

	Serializing object will now be passed to GC so that it can be logged in case the referenced objects is garbage.

Change 3874413 by Steve.Robb

	Algo::MinElement and Algo::MaxElement, for finding the minimum and maximum element in a range, and *By versions which take projections.
	TRangePointerType moved to its own file and used in Algo::MinElement and Algo::MaxElement.

Change 3874457 by Ben.Marsh

	When spawning child processes, only allow them to inherit the writable ends of the stderr and stdout pipe. Fixes an issue related to AutomationTool hanging when the editor closes after running automation tests.

	The editor launches ADB.EXE (Android Debug Bridge) on editor startup, which forks itself to initialize a server. Even though the child process has its own stdout and stderr pipes, it also inherits the pipes for the editor. When run from C#, as we do for automation tests, Process.WaitForExit() waits for all pipes to be closed before returning. This can't happen if the forked ADB instance still has a reference to the editor's pipes.

Change 3876435 by Robert.Manuszewski

	Don't add root set objects to level actor container to prevent situations where clusters are kept alive forever

Change 3878762 by Robert.Manuszewski

	Fixing potential LinkerLoad leak when a package that still has a linker associated with it is being destroyed.

Change 3878850 by Robert.Manuszewski

	SerializePreloadDependencies will now serialize raw data into the array instead of serializing one element at a time to speed up serialization performance.

Change 3881331 by Graeme.Thornton

	TBA: SavePackage rejigged to write all header information in terms of FStructuredArchive, with all exports written through an FArchive adapter

Change 3886983 by Ben.Marsh

	UGS: Fix notification window not expanding to fit long captions.

Change 3887006 by Ben.Marsh

	UGS: Change modal dialog to regular window style to avoid weird alignment issues under Windows 10.

Change 3887500 by Ben.Marsh

	UGS: Add support for grouping build badges by a prefix. Badges such as "Foo:Bar1", "Foo:Bar2" will be grouped together (with "Foo:" stripped from the displayed badge names).

	Also add a separate column showing the type of each change, rather than including it in the CIS column, and change badges to a more angular Windows 10 style.

Change 3887513 by Ben.Marsh

	UGS: Fix badge text drawing outside the clipping bounds.

Change 3888010 by Josh.Engebretson

	Fix UVS logging to UnrealVersionSelector/Saved/Logs and instead use project's log path
	#jira none

Change 3888418 by Ben.Marsh

	UGS: Add a cache for computed badge layout information. Improves responsiveness when redrawing.

Change 3889457 by Steve.Robb

	GitHub #4457 : Display abbreviations properly when converting FNames to display string

	#jira UE-54611

Change 3889547 by Ben.Marsh

	UGS: Add an extensible method for adding arbitrary badges to the right of the "description" column, by running a regular expression over the changelist description.

	Epic uses a "#tag" style annotations in changelist descriptions and Perforce triggers to verify them. "#jira" is used to link a changelist to an issue tracked in Jira, for example. A matcher to add a badge next to every changelist with a #jira tag, and link to the corresponding issue in Jira, could be set up with an addition to the project's Build/UnrealGameSync.ini file like this:

	[Badges]
	+DescriptionBadges=(Pattern="(?i)#\\s*jira\\s*:?\\s+([A-Za-z]+-[0-9]+)", Name="$1", Group="Jira", Color="#c0c0c0", HoverColor="#e0e0e0", Url="https://jira.it.epicgames.net/browse/$1")

	The "Pattern" attribute specifies the regex to match, and may capture portions of the matched text to be substituted later. "Label" specifies the label to appear on the badge. "Group" specifies an arbitrary identifier used to group related badges together rather than separating them with whitespace. "Color" and "HoverColor" specify hex RGB colors for the badges. "Url" specifies the path to open with a C# Process.Open call if the badge is clicked.

Change 3889726 by Ben.Marsh

	UGS: Fix description badges that don't have any associated URL.

Change 3889995 by Ben.Marsh

	UGS: Fix issue where popup menus can create top level windows in the taskbar. Seemlingly caused by capturing mouse before the window has been activated - removed capture code, and replaced with handling of OnMouseLeave() event instead.

Change 3890007 by Ben.Marsh

	UGS: Add a caption underneath the project logo which shows the current stream, to make it more obvious.

Change 3890057 by Ben.Marsh

	UGS: Fix repainting glitch when resizing window; bounds for status panel lines was not being reset correctly.

Change 3891069 by Robert.Manuszewski

	Fixing a crash in MallocBinned2 when running with malloc profiler enabled.

Change 3891084 by Steve.Robb

	Back out changelist 3881331 because it's causing cook errors.

Change 3891100 by Ben.Marsh

	UGS: Add support for a per-branch "message of the day"-style feature. Messages can be specified in a project's config file in Perforce (eg. <ProjectDir>/Build/UnrealGameSync.ini) as follows:

	[//UE4/Main/Samples/Games/ShooterGame.uproject]
	Message=:alert:  Lockdown for fixes is **5pm on Friday**. Only fixes for the 2.0 release should be submitted to this branch. [34 issues](https://jira.it.epicgames.net) are remaining as of 2/15.

	A limited subset of Markdown is supported: [web links](http://www.google.com), *italic*, _italic_, **bold**, __bold__. Icons will be supported through :icon: syntax; the only icon currently available is :alert:

Change 3891346 by Steve.Robb

	TSharedPtr::operator bool, and some usage of it.

Change 3891787 by Steve.Robb

	Fix for buffer overflow in FDebug::LogFormattedMessageWithCallstack().

Change 3892379 by Ben.Marsh

	UGS: Fix notification window containing the group fix for each build type.

Change 3892400 by Ben.Marsh

	UGS: Shrink the size of the alert panel.

Change 3892496 by Ben.Marsh

	UGS: Dim badges for changes which aren't eligable for syncing.

Change 3893932 by Steve.Robb

	Re-removal of SetShouldHandleAsWeakRef, which was originally removed in CL# 3437205.

Change 3895872 by Ben.Marsh

	UGS: Show the stream name in tab labels by default.

Change 3896366 by Ben.Marsh

	UGS: Automatically resize columns when the main window is resized, and allow specifying desired column widths for projects that have a large number of CIS badges.

	Columns are now resized proportionally, clamped to a minimum size. Columns will automatically expand up to a desired maximum size, though can be explicitly resized larger if necessary. Columns will not be resized if they are already larger than the window can show, or smaller than the window has space to show.

Change 3896367 by Ben.Marsh

	UGS: UI tweaks - change and time columns are now centered, "Unknown" badge is displayed until a change's type has been determined, increase height of status panel.

Change 3896425 by Ben.Marsh

	UGS: Speculative fix for race condition on clients displaying "under investigation" state. If the DB event is received before a change where an investigation is cancelled is polled from Perforce, we will exclude the resolve event from the list of active investigations.

Change 3896461 by Ben.Marsh

	UGS: Add an option to allow setting a tint color to be applied to the status panel, to allow identifying streams more easily. To use, add a setting similar to the following to a project's Build/UnrealGameSync.ini file:

	[//UE4/Main/Samples/Games/ShooterGame/ShooterGame.uproject]
	StatusPanelColor=#dcdcf0

Change 3899530 by Ben.Marsh

	Add unified syntax for overriding branch specific settings. Checks branch settings first, then [Default] section.

Change 3901164 by Ben.Marsh

	UGS: Add a class to store all the resources for the status panel.

Change 3901165 by Graeme.Thornton

	TBA: Attempt #2 at submitting the text asset saving code. SavePackage rejigged to write all header information in terms of FStructuredArchive, with all exports written through an FArchive adapter. Minimal amount of structured archive serialization functions added to allow this data to be written

Change 3901301 by Ben.Marsh

	UGS: Add support for reading the latest version of the project config file from Perforce. Some settings should be read depending on the CL you are synced to (eg. build steps), whereas others (MOTD, branch status) should always use the latest version. Will read the local version if checked out, to allow testing local changes.

Change 3902454 by Ben.Marsh

	UGS: Fix logo not being redrawn in the correct position when starting to sync.

Change 3903416 by Ben.Marsh

	UGS: Group badges explicitly through INI file rather than by expecting name to contain ':'.

Change 3904154 by Josh.Engebretson

	Adding Breakpad to ThirdParty sources (Git Commit: 49907e1c3457570f56d959ae26dec6c3a5edd417 https://chromium.googlesource.com/breakpad/breakpad)
	#jira UE-55442

Change 3904648 by Ben.Marsh

	UGS: Remove files from the workspace that are excluded by the sync filter.

	The user's config file stores a hash of the last sync filter. During syncing, if this hash doesn not match the previous value, we enumerate all the files in the #have list and remove anything masked out by the filter.

	#jira UE-47335

Change 3905442 by Steve.Robb

	Change of the ConvertFromType() multi-bool return value to a more descriptive enum.
	Some return values here do not make sense - this is because the existing logic is being preserved and will be fixed in a separate change.

Change 3905629 by Ben.Marsh

	UGS: Fix race condition between two child processes starting on different threads, and inheriting the other's intended stdout/stderr pipes. This prevents pipes being closed when one of the child processes shuts down, and causes waits on the read ends of those pipes to continue indefinitely.

Change 3906447 by Steve.Robb

	Rename EConvertFromTypeResult enumerators.

Change 3906574 by Steve.Robb

	Crash fix for container conversion failure during tagged property import.

Change 3909255 by Daniel.Lamb

	Fixed issue with DLCpackaging crashing on windows
	#jira UE-42880
	#test EngineTest windows

Change 3909270 by Steve.Robb

	Seek instead of skipping bad properties byte-by-byte.

Change 3909324 by Steve.Robb

	Use switch statement instead of repeated if/else.

Change 3909525 by Ben.Marsh

	UGS: Use the StudioEditor target when syncing content-only Enterprise projects.

Change 3911754 by Daniel.Lamb

	Fix for building pak patches.

	#jira UE-55340

Change 3911942 by Robert.Manuszewski

	Fixing an ensure when MediaPlayer is being constructed from any thread other than the main one.

Change 3913067 by Ben.Marsh

	UGS: Allow workspace sync filter categories to re-enable categories that are disabled by the global filter.

Change 3913209 by Ben.Marsh

	UGS: Fix incorrect target name when compiling Enterprise projects.

Change 3917358 by Steve.Robb

	Fix for GetLen(FString).

Change 3919610 by Ben.Marsh

	Put data for CrashReportClient in a PAK file of its own (under Engine/Programs/CrashReportClient/Content/Paks/CrashReportClient.pak). There are a large number of small files required for it to run with loose files, which takes a lot of space on disk (due to cluster sizes), and is unweildy to move around.

	CrashReporter UFS files are tracked in a separate dictionary to regular UFS files to allow construction of the additional PAK file.

Change 3921002 by Ben.Marsh

	UGS: Add option for syncing all projects in a branch. Off by default. Also add support for masking in additional paths to be synced (eg. one or two extra projects).

Change 3921008 by Ben.Marsh

	UGS: Prevent pause waiting for mutual exclusivity when syncing precompiled binaries. We don't need to generate project files or build, so there's no need to wait in line.

Change 3921906 by Steve.Robb

	New interpolation functions for quaternions.

	https://udn.unrealengine.com/questions/419028/quaternion-interp-to-functions.html

Change 3921978 by Graeme.Thornton

	TBA: Make "Loader" member of FLinkerLoad private to prevent use outside of FLinkerLoad. This archive could be something unexpected if the linker is for a text asset package, so we need to stop people accessing it.

Change 3924520 by Graeme.Thornton

	UnrealPak: Improve encryption summary log messages

Change 3924522 by Graeme.Thornton

	UAT: Add *Encryption.ini to the list of auto-blacklisted config filenames

Change 3924604 by Graeme.Thornton

	UnrealPak: If encryption keys are parsed and fail the encrypt/decrypt test, throw a fatal error. The exectutable will have those same keys embedded so there is no point allowing the paks to be created with broken keys.

Change 3924638 by Graeme.Thornton

	Crypto: Improvements to parsing of old fashioned encryption.ini settings:
	 - AES keys that are too long or short (need to be 32 bytes) will now emit a warning when being parsed, and be truncated or expanded before adding to the crypto settings.
	 - Signing keys will emit an error when they are too long (>64bytes)
	 - Unrealpak will still assert when invalid settings are passed via the other mechanisms (command line or -encryptionini mode). Settings via the crypto json file should now be sanitized and not cause issues

	#jira UE-55080

Change 3924747 by Steve.Robb

	Fix for degrees.

Change 3925459 by Chad.Garyet

	Adding check to not to attempt to delete autosdk workspace if it doesn't already exist.

Change 3926703 by Ben.Marsh

	BuildGraph: Include the path to the XML file when displaying an XML parse error.

Change 3926917 by Ben.Marsh

	UBT: Allow overriding the name of the UE4 solution on a branch-specific basis. Useful for switching between multiple UE4 workspaces. Also add support to the editor and UGS for opening the correct solution (determined via a text file saved to Engine/Intermediate/ProjectFiles).

	Set the solution name using an entry in BuildConfiguration.xml as follows:

		<ProjectFileGenerator>
			<MasterProjectName>UE4_Main</MasterProjectName>
		</ProjectFileGenerator>

Change 3927683 by Graeme.Thornton

	UAT: When building with chunk installs enabled, don't generate the master manifest from each pak creation thread. Just do it once after all pak files have been created. Avoids intermittent crash with multiple threads trying to write the same json file.

Change 3928111 by Ben.Marsh

	UBT: Add an option <bMasterProjectNameFromFolder> which allows setting the solution name based on the folder that it's in.

Change 3928926 by Ben.Marsh

	BuildGraph: Add support for enumerating content copied by the <CsCompile> task. Also add support for invoking methods on string properties.

Change 3931041 by Graeme.Thornton

	TBA: Add option to textasset commandlet to also include engine content in a resave

Change 3931043 by Graeme.Thornton

	TBA: Redirect some more FArchive members in FArchiveProxy

Change 3931913 by Ben.Marsh

	UGS: Do not create a modal dialog if a scheduled sync is unable to run because the editor is open, and do not run the editor after a scheduled sync.

	#jira UE-47368

Change 3932419 by Ben.Marsh

	UGS: Allow selecting which projects to sync on schedule. Any projects not already opened at the time the schedule is triggered will be opened first.

	#jira UE-33541

Change 3932483 by Ben.Marsh

	PR #3949: UnrealGameSync: Add environment path field to custom BuildStep (Contributed by frankie-dipietro-epic)


Change 3932624 by Ben.Marsh

	UGS: Add an error dialog when trying to clean the workspace before closing the editor.

	#jira UE-42308

Change 3932679 by Ben.Marsh

	UGS: Add the date/time to the end of the sync log.

	#jira UE-33540

Change 3932705 by Ben.Marsh

	UGS: Prompt to close the editor before allowing the user to enter a changelist to sync to, when syncing to a specific changelist.

	#jira UE-53182

Change 3933318 by Ben.Marsh

	UGS: Detect more programs running before allowing a sync to start, show a dialog listing them, and add an option to ignore if necessary.

	#jira UE-33535, UE-53914

Change 3933840 by Graeme.Thornton

	TBA: When loading assets, only use structured archive adapters for exports when loading text files.

Change 3936040 by Ben.Marsh

	UGS: Rewrite application lifecycle to fix issues with scheduled syncs on background windows not activating, and window jumping to the front after auto-update.

	Now uses a custom application context to allow creating separate 'main' windows (first the "opening projects" form, then the regular form), and does not require any forms to be shown in order to be updating in the background.

	#jira UE-52870

Change 3940230 by Robert.Manuszewski

	Fixes for FilenameToLongPackageName crashes when runnign commandlets

Change 3940240 by Graeme.Thornton

	Automated cycling of encryption and signing keys

Change 3940243 by Graeme.Thornton

	UAT: CryptoKeys automation script

Change 3940321 by Ben.Marsh

	UGS: Add a "Bisect" mode for regressing bugs between a certain range of changes. To use, select a range of changes by holding down the shift key or individual changes by holidng the control key, then right click and select "Bisect these changes". Individual changes in the list can be marked as "Bisect: Pass" or "Bisect: Fail" from the context menu, and syncing will find the next change in the center of the range.

Change 3940538 by Ben.Marsh

	UBT: Always determine whether a project is a foreign project or not from the valid .uprojectdirs entries, rather than relying on the user passing -game on the command line.

Change 3941285 by Gil.Gribb

	UE4 - Removed PRAGMA_DISABLE_OPTIMIZATION from PlatformFileCommon.h. It was an oversight.
	#jira none

Change 3942404 by Graeme.Thornton

	Pak Signing:
	 - Unify naming of pak precacher and signedarchivereader signature check functions to make it easier to search for them in crash reporter
	 - Format the signedarchivereader output to match the pak precacher
	 - When signedarchivereader detects a signature check, do the same master signature hash check that the pak precacher does to confirm that the .sig file contents haven't been corrupted since load.
	 - Add PAK_SIGNATURE_CHECK_FAILS_ARE_FATAL guarded exit to signedarchivereader signature failure
	 - Optimization for pakprecacher signature checks. Instead of locking the cached files mutex for every decoded signature, take a local copy in blocks of 16. Only re-lock if we need more. Grab the initial batch when setting up. In most cases, reduces the number of locks to 1 per signature check call.

Change 3942825 by Ben.Marsh

	UAT: Allow passing -Project<N>=Foo.uproject arguments to the MegaXGE commandlet (eg. -Target1="ShooterGame Win64 Development" -Project1="D:\ShooterGame\ShooterGame.uproject") so it can be used from an installed engine build.

Change 3942839 by Ben.Marsh

	UBT: Explicitly query the number of logical processors in the system, to fix Environment.ProcessorCount just returning the number available to the .NET framework. For machines with > 64 cores, processors in a different processor group will not be included in this number.

Change 3943153 by Ben.Marsh

	Use the correct logical processor count in ParallelExecutor.

Change 3943210 by Ben.Marsh

	UGS: Add an option to the editor arguments window that allows prompting before launching the editor.

Change 3943329 by Ben.Marsh

	UGS: Tweak appearance of bisect mode; now shows slightly transparent version of pass/fail icons, and includes remaining CL range in status panel.

Change 3944294 by Ben.Marsh

	UGS: Prompt for confirmation before removing any files from the workspace.

Change 3945283 by Ben.Marsh

	UGS: Add support for project-specific connection settings, and detection of Perforce login tickets expiring.

Change 3945325 by Ben.Marsh

	PR #4558: Changed incorrect obsolete message for ReceiptPropertyList in Modules.cs (Contributed by ryanjon2040)


Change 3947359 by Graeme.Thornton

	TBA: Fixes to loading code to allow bulk data to get a pointer from its loader archive to an archive that it can load from at a later date. For binary archives, this is just a pointer back to the same archive, but for text assets it is a pointer to a "child reader" which maintains its own structured archive that is scoped to the current location in the file.

Change 3947360 by Graeme.Thornton

	TBA: Added RoundTrip mode to text asset commandlet. Performs determinism tests in project assets to see whether they save deterministically to binary and text files, and also when they are ping-ponged between the two formats.

Change 3949431 by Graeme.Thornton

	TBA: Refactored string escaping code in json output formatter FString serializer into a common function which is now used by FName and UObject path serialization too. Fixes some odd cases where an FName contained quotation marks

Change 3950843 by Ben.Marsh

	UBT: Add a better error if an XML config file is corrupt.

Change 3952504 by Steve.Robb

	GitHub #4545 : UE-55924: CaseSensitive token recognition

	#jira UE-55961
	#jira UE-55924

Change 3952707 by Graeme.Thornton

	Make RandInit(...) log message verbose

Change 3954694 by Ben.Marsh

	BuildGraph: Add support for user-defined macros, which can contain a list of buildgraph commands and be expanded within a node. Example script in Engine/Build/Graph/Examples/Macros.xml.

	To define a Macro, use the syntax:

		<Macro Name="MyTestMacro" Arguments="PrintFirstMessage;PrintSecondMessage" OptionalArguments="PrintThirdMessage">
			<Log Message="First message" If="$(PrintFirstMessage)"/>
			<Log Message="Second message" If="$(PrintSecondMessage)"/>
			<Log Message="Third message" If="'$(PrintThirdMessage)' == 'true'"/>
		</Macro>

	To expand a macro, use the syntax:

		<Expand Name="MyTestMacro" PrintFirstMessage="true" PrintSecondMessage="true"/>

	An error will be thrown if any required arguments are missing. Optional arguments default to empty if not specified.

	Tasks within a macro are validated by the schema at the point of definition using the same rules as apply to a <Node> element, but properties are not evaluated until the macro is expanded. This allows macros to get and set properties in scope at the point that it is expanded. Local properties that are introduced within a macro do not otherwise leak to the scope that they are expanded.

Change 3954695 by Ben.Marsh

	PR #4582: Fixed incorrect condition in StagedFileSystemReference.cs (Contributed by moadib)


	#jira UE-56283

Change 3954961 by Ben.Marsh

	UBT: Fix issues caused by toolchain assuming that the editor target will be the name of the project with an "Editor" suffix. This is not necessarily the case; the launcher will allow you to instantiate a project with any name, and it will not rename the target files.

	#jira UE-56040

Change 3955785 by Steve.Robb

	GitHub #4546 : Don't discard errors from zlib inflate

	#jira UE-55969

Change 3955940 by Steve.Robb

	Redundant and confusing macro check removed.

Change 3956809 by Ben.Marsh

	Guard against project paths passed on the command line to UBT being treated as project names. Previous code used to just take the first, which would mask this problem.

Change 3959590 by Steve.Robb

	Useless IsIntrinsic constant and COMPILED_IN_INTRINSIC macro removed.

Change 3959864 by Robert.Manuszewski

	Increasing the size of permanent object pool to fix warnings in cooked ShooterGame

	#jira UE-56001

Change 3960956 by Steve.Robb

	New ToCStr function which generically gets a TCHAR* from a 'string-like' argument.

Change 3963628 by Ben.Marsh

	UBT: Fix intellisense issues caused by _API macros being defined as DLLIMPORT (imported symbols cause an error if they are defined). Generate intellisense macros with the -Monolithic argument to work around it.

Change 3964349 by Ben.Marsh

	Move support for reading .modules files into FModuleManager, and always use it in modular builds. Pathway which discovers modules by filename only is no longer supported for simplicity, and due to platform-specific version checks being unreliable on any platforms other than Windows.

Change 3964821 by Ben.Marsh

	Use a custom tool for deleting directories on Windows, to handle paths longer than MAX_PATH correctly.

Change 3965269 by Ben.Marsh

	Add more [RequiresUniqueBuildEnvironment] attributes to target settings that modify the global environment.

Change 3966554 by James.Hopkin

	#core Removed redundant cast

Change 3966558 by James.Hopkin

	#core Removed redundant casts and changed some MakeShareables to MakeShared

	#robomerge #fortnite

Change 3966754 by Ben.Marsh

	Always use the compiled-in app name when looking for a module manifest. Fixes issues with XGEControlWorker.exe being a renamed copy of ShaderCompileWorker.exe.

Change 3967397 by Ben.Marsh

	Fix "copy local" files not being included in build products enumerated from C# projects. Remove files with "Embed Interop Types" from the output list.

Change 3967664 by Ben.Marsh

	Update UGS solution to use Visual Studio 2017.

Change 3967838 by Ben.Marsh

	Couple of fixes to conform scripts.

Change 3968767 by Ben.Marsh

	Compile the name of the module manifest into the executable via a define explicitly set by UBT, rather than guessing at runtime.

Change 3968771 by Ben.Marsh

	Fix compiled-in engine path being subject to macro expansion.

	#jira UE-56504

Change 3968886 by Robert.Manuszewski

	Merging 3914301:

	Remove any references we had added to the GGCObjectReferencer during Init

Change 3968978 by Steve.Robb

	FString->FName fixes for module names in HotReload.

Change 3969019 by Steve.Robb

	Minor refactor of property skipping logic in SerializeTaggedProperties().

Change 3969041 by Steve.Robb

	Simplification of Build.version filename construction.

Change 3969049 by Steve.Robb

	Always do rolling names when recompiling in editor, because an unloaded module may still actually by loaded-but-abandoned by the executable.

	This also removes HotReload's dependence on FModuleManager::GetCleanModuleFilename().

	#jira UE-52405

Change 3969120 by Ben.Marsh

	Enable errors for using undefined identifiers in conditional expressions by default.

Change 3969161 by Ben.Marsh

	Remove log line that should only be included in the log.

Change 3969216 by Steve.Robb

	Dump a list of module names - rather than DLL filenames - when the editor detects modules which need recompiling.
	This removes the only remaining use of FModuleManager::GetCleanModuleFilename(), which is also now removed.

	#jira UE-52405

Change 3969346 by Steve.Robb

	Missed some bad FScript(Map/Set)Helper usage from CL# 3698969.

Change 3969598 by Ben.Marsh

	Fix warning from VS2017.

Change 3971101 by Graeme.Thornton

	TBA: Added RoundTrip mode to TextAsset commandlet which does a sequence of saves and checks for determinism. It will do 3 binary saves, 3 text saves, then 3 alternate binary->text saves.

Change 3971407 by Ben.Marsh

	UBT: Fix exception when enumerating toolchains if the directory does not exist yet.

Change 3971523 by Graeme.Thornton

	Make compressed block offsets in a pak file store offsets relative to the file header, rather than absolute. Reduces the amount of entropy when data changes in the pak file, making it play nicely with patching

Change 3971613 by Ben.Marsh

	Fix Lightmass non-unity compile errors.

Change 3971649 by Ben.Marsh

	Disable optimization around FTickerObjectBase constructor on Win32 due to ICE.

Change 3971829 by Ben.Marsh

	Fix deprecated header warning from PVS Studio.

Change 3972503 by Ben.Marsh

	Changes to build failure notifications:

	* Only people that submitted between builds with different error messages will be included on emails by default.
	* Email subject line will be different for each failing build step, but will include the CL of the first failing step. This will result in one thread for each build failure (a success email is sent with the same subject line).
	* Anyone that starts a build will be included on all failure emails.

Change 3972732 by Ben.Marsh

	Changes to ensure notification messages are stable.

Change 3972810 by Ben.Marsh

	Write debug information about the digest computed for a change, to assist with debugging it if it's not stable.

Change 3973331 by Ben.Marsh

	Fix missing dependency on linker response file. Prevents target being relinked when build environment changes.

Change 3973343 by Ben.Marsh

	PR #4612: Adding support for PVS-Studio settings file to PVS-Studio Unreal Build Tool toolchain. (Contributed by PaulEremeeff)


Change 3973820 by Ben.Marsh

	Fix incorrect error message when unable to find Visual C++ install directory.

Change 3974295 by Robert.Manuszewski

	Made sure that lazy object pointers are only fixed up for PIE in actual PIE worlds.

Change 3975336 by Robert.Manuszewski

	CIS fix after the last merge from main

Change 3976999 by Ben.Marsh

	Move the Windows stack size settings onto the WindowsTargetRules object, and add the [RequiresUniqueBuildEnvironment] attribute to ensure it's not overwritten incorrectly.

	This should cause CIS to better errors for compiling Odin editor.

Change 3977934 by Ben.Marsh

	UBT: Allow setting additional compiler/linker arguments through properties on the TargetRules object.

Change 3977953 by Ben.Marsh

	UBT: Enumerate all Visual Studio 2017 install locations using the Visual Studio Setup interop SDK. Multiple simultaneous Visual Studio installations are now supported, and using registry keys to determine installation directories has been deprecated. Allows choosing toolchains from preview versions as well as full versions.

Change 3978544 by Ben.Marsh

	UBT: Include verbose timing information from compiler frontend if using VS2017 15.7 preview 2 or later.

Change 3978780 by Ben.Marsh

	Add Visual C++ 2017 redist files to AppLocalDependencies, and update the prereq installer to include 2017 support DLLs.

Change 3979313 by Ben.Marsh

	UBT: Add the EngineDirectory property to ModuleRules. Makes it easier to find paths to files under the engine folder.

Change 3980499 by Ben.Marsh

	UBT: Automatically enable /DEBUG:FASTLINK if we're using the VS2017 15.7 toolchain or newer and not doing a formal build. This contains fixes for debugger OOM issues present in older versions.

Change 3980890 by Ben.Marsh

	UBT: Update project file generator to support VS2017 solution options file; fixes C# projects being opened by default when generating new project files.

Change 3981495 by Ben.Marsh

	Do not include embedded interop assemblies in the list of references required by a C# project; they are not required build products.

	#jira UE-54343

Change 3982157 by Ben.Marsh

	Only output a warning message if BuildConfiguration.xml schema validation fails; we may have settings that only apply to code in another branch.

Change 3982239 by Ben.Marsh

	Update tooltip directing users to install Visual Studio 2017 instead of 2015.

Change 3983395 by Graeme.Thornton

	Fix reference to BUILD_VERSION in BootstrapPackagedGame RC file

Change 3983523 by Graeme.Thornton

	Backwards compatibility for pak files with compressed chunk offsets

Change 3983769 by Ben.Marsh

	UAT: Allow using PDBCOPY.EXE installed as part of the Windows 10 SDK to strip symbols, and add a better message if it can't be found.

Change 3984529 by Ben.Marsh

	BuildGraph: When run with the -Preprocess=... argument, no steps will be executed.

Change 3984557 by Ben.Marsh

	BuildGraph: Return the updated patterns from FilePattern.CreateMapping(), so we can print accurate messages when displaying the source and target directories for a copy or move task.

Change 3986520 by Ben.Marsh

	Remove hacks to uniquify response file name on Android and Linux.

Change 3987166 by Steve.Robb

	Allow overloading of functions which take TFunctions or TFunctionRefs with mutually exclusive signatures.

Change 3989061 by Graeme.Thornton

	TBA: Text asset loading/saving work
	 - Start using FStructuredArchive flavours of UObject Serialize functions when loading and saving exports.
	 - Only use FStructuredArchive interface for text assets, and for classes that have the CLASS_MatchingSerializers which tells us that the class can serialize to both FStructuredArchives and FArchives.
	 - Add GetCacheableArchive to FArchive, which allows transient archives to return a pointer to another archive that will outlive it. Used by bulk data to get a pointer to an archive that can be held and used at a later time to lazy load things. For text assets where the bulk data might be held inside a base64 encoded FArchiveFromStructuredArchive block, we can't dynamically seek back to that location after the on-stack wrapper has been destroyed after the original serialize, so this will return null. For binary assets, we just return a pointer to the same binary archive which can be used freely.

Change 3989109 by Graeme.Thornton

	TBA: TextAsset commandlet emits a warning when binary package determinism fails

Change 3990823 by Ben.Marsh

	UGS: Allow project settings to specify a client path rather than a filesystem path. Not currently usable through UI.

Change 3990832 by Ben.Marsh

	UGS: Make the schedule window resizable.

Change 3991569 by Steve.Robb

	GitHub #4636 : Fixed typo in HeaderParser.cpp for "missed WithValidation keyword" error message

Change 3991970 by Steve.Robb

	Fix for 4096 char limit on FParse::Value.

Change 3992222 by Steve.Robb

	Advice added to the coding standard for using default member initializers.

Change 3993675 by Ben.Marsh

	UGS: Add UI to allow creating new workspaces and selecting projects from existing workspaces that are not currently synced.

Change 3994199 by Ben.Marsh

	UGS: Fix child processes being unable to spawn other child processes with the CREATE_BREAKAWAY_FROM_JOB flag, to add them to their own job objects.

	In Windows 7 or earlier job objects cannot be nested, so child processes have to create separate job objects and spawn processes with CREATE_BREAKAWAY_FROM_JOB to be able to add them. This fails unless parent process' job object was created with JOB_OBJECT_LIMIT_BREAKAWAY_OK.

	Discussed here: https://msdn.microsoft.com/en-us/library/windows/desktop/hh448388(v=vs.85).aspx

Change 3994243 by Ben.Marsh

	UGS: Use the select stream dialog instead of displaying a drop list unless there's a stream filter specified. We have way too many streams for this to be useful in a menu unless it's filtered.

Change 3994260 by Ben.Marsh

	UGS: Tweak the stream filter dialog to only use the previous selected node if the filter terms match. It may be a parent node of something that matches, even though it doesn't match itself.

Change 3994350 by Ben.Marsh

	UGS: Automatically guess the correct root path for new workspaces based on the most common existing workspaces for the current user.

Change 3995159 by Ben.Marsh

	UGS: Do not delete files which are outside the sync filter. People expect to be able to sync different projects within a stream without having to update sync filters.

	Indend to re-introduce this functionality through the manual 'clean workspace' operation.

Change 3995169 by Ben.Marsh

	UGS: Show options as dimmed in the open project dialog, if the radio button for those controls is not checked. Automatically set the radio button if the focus is given to one of those controls.

Change 3995228 by Ben.Marsh

	UGS: Update recently opened projects list when editing project for an existing tab.

Change 3995312 by Ben.Marsh

	UGS: Stop showing all dialogs in the taskbar.

Change 3995929 by Robert.Manuszewski

	Completely rewritten FReferenceChainSearch class used by 'obj refs' command.

	- 3+ times faster
	- Uses the same code as GC to track all the references down
	- Actually reports all reference chains properly
	- Less code that is more readable than the previous version

Change 3995981 by Ben.Marsh

	UGS: Clean workspace window will now force-sync files that have been deleted or which are writable.

Change 3996113 by Ben.Marsh

	UGS: Fix crash upgrading config files from older versions.

Change 3997990 by Ben.Marsh

	UGS: Prevent error when syncing an empty workspace.

Change 3998095 by Ben.Marsh

	UGS: Change logic for dealing with job objects: rather than creating breakaway jobs (requires co-operation with spawning process), always try to use nested job objects (requires Windows 8.1+). If it fails, ignore the error if we're already part of a job.

	Also forcibly terminate the process on dispose to handle cases where the job object wasn't created.

Change 3998264 by Ben.Marsh

	UGS: Fix exception when switching projects in-place.

Change 3998643 by Ben.Marsh

	Fix shared DDC not being used for installed engine builds.

	#jira UE-57631

Change 4000266 by Ben.Marsh

	UnrealPak: Add an option that allows rebuilding a set of PAK files with different settings. Usage is:

	    UnrealPak [PakFile] -Repack [-Output=FileOrDirectory] [Options]

	The input pak file may be a single file or wildcard, and is overwritten unless the -Output parameter is specified.

Change 4000293 by Ben.Marsh

	Add a compression flag that allows selecting compressor without using the default platform implementation.

Change 4000315 by Ben.Marsh

	Add support for custom compressors implemented via modular features. Specify -compressor=<PathToDll> on the command line to UnrealPak to load a compressor from an external DLL.

Change 4000610 by Ben.Marsh

	UnrealPak: Add a parameter for compression block size (-compressionblocksize=XXX). Accepts arguments with MB/KB suffixes, as well as byte counts.

Change 4000627 by Ben.Marsh

	UBT: Include enabled plugin info in the UBT log.

Change 4000793 by Ben.Marsh

	UBT: Remove some member variables from VCEnvironment that don't need to be stored.

Change 4000909 by Ben.Marsh

	UBT: Add VS2017 installations to the list of paths checked for MSBuild installations.

Change 4001923 by Ben.Marsh

	UBT: Allow any plugins which are enabled by default to be included in the enabled list, even if they don't have any modules for the current platform. This changes the build-time logic to match the runtime logic.

	At some point in the future we may add a separate SupportedHostPlatforms list to each plugin to do this explicitly, rather than guessing via the per-module whitelist.

Change 4001927 by Ben.Marsh

	Fixes for compiling against the Windows 10 SDK.

Change 4002439 by Robert.Manuszewski

	Added TDefaultReferenceCollector and FSimpleReferenceProcessorBase to extract common code for clients of  TFastReferenceCollector

Change 4003508 by Ben.Marsh

	UGS: Fix new workspaces not having the correct owner and host set.

Change 4003622 by Ben.Marsh

	UGS: Add support for "skipped" as a build result.

Change 4004049 by Robert.Manuszewski

	Significantly improved performance of Reference Chain Search for objects that are nested deep in the object hierarchy

Change 4005077 by Ben.Marsh

	UGS: Update version number.

Change 4005112 by Ben.Marsh

	UBT: Reduce number of times a target has to be constructed while generating project files.

Change 4005513 by Ben.Marsh

	UBT: Reduce number of checks for directories existing when adding include paths to a module. Accounted for 40% of runtime time when generating project files.

Change 4005516 by Ben.Marsh

	UBT: Add warnings whenever a module adds an include path or library path that doesn't exist

Change 4006168 by Ben.Marsh

	CIS fixes.

Change 4006236 by Ben.Marsh

	UGS: Populate the workspace name/root directory text box with the cue banner when focus moves to the control.

Change 4006266 by Ben.Marsh

	UGS: Swap around the new workspace/existing file boxes on the open project dialog.

Change 4006552 by Ben.Marsh

	If staging fails because a restricted folder name is found, include a list of them in the error message.

Change 4007397 by Steve.Robb

	Comments added to make it clear that GetAllocatedSize() only counts direct allocations made by the container.

Change 4007458 by Ben.Marsh

	UBT: Change RPC utility to abort early, rather than continue to try to build even though SSH init failed.

Change 4009343 by Ben.Marsh

	UGS: Set the rmdir option on new workspaces by default.

Change 4009501 by Ben.Marsh

	UBT: Add Windows include paths to the compiler command line, rather than setting through environment variables. This ensures that incremental builds work correctly when SDK versions change.

Change 4009509 by Ben.Marsh

	UBT: Check in a non-versioned directory under the Windows 10 SDK for the resource compiler.

Change 4010543 by Ben.Marsh

	Remove the "Device" and "Simulator" platform groups, because they're unused and overly generic for folder names. Also remove source code for the HTML5 simulator (which is no longer supported).

Change 4010553 by Ben.Marsh

	UAT: Include platform groups in restricted folder names when staging.

Change 4012030 by Ben.Marsh

	UGS: Increase the size of the main window, and set the current stream as the default when creating a new workspace.

Change 4012204 by Chad.Garyet

	- Cleanup to get the POSTs returning 400s the same way the GETs would (now no longer returns the exception text)
	- Create directory for sqlite db if it doesn't exist
	#jira none

Change 4014209 by Brandon.Schaefer

	New changes in breakpad dump_syms to allow for producing a symbol file for elf files on windows

	#review-3998840 @Arciel.Rekman, @Ben.Marsh, @Josh.Engebreston, @Anthony.Bills

Change 4015606 by Brandon.Schaefer

	Missed a code project that needed updating for new Breakpad changes for Mac

Change 4017795 by Robert.Manuszewski

	GC assumption verification should now be 3-4x faster.

	- Refactored Disregard For GC to use TFastReferenceCollector
	- Move both Disregard For GC and Cluster verification code to separate source files

Change 4020381 by Ben.Marsh

	Add link to the new official doc page for UnrealGameSync.

Change 4020665 by Ben.Marsh

	UBT: Prevent plugins being precompiled if they don't support the current target platform.

Change 4021829 by Ben.Marsh

	Update message about downloading a new version of Visual Studio.

Change 4022063 by Ben.Marsh

	UBT: Suppress toolchain output when generating project files.

Change 4023248 by Ben.Marsh

	Install an unhandled exception filter to ensure we get crash reports from threads that are not spawned by the engine. At the moment, we only receive crashes that are routed through ReportCrash() via our structured exception handlers in WinMain() and FRunnableThreadWin::Run().

	(Also fix an exception within the exception handler, if GError has not been created yet)

Change 4025759 by Ben.Marsh

	Fix universal CRT include paths not being added to compile environment for VS2015.

Change 4026002 by Ben.Marsh

	UBT: Check the old registry locations for the Windows SDK installation directory.

Change 4026068 by Ben.Marsh

	UBT: Use the correct compiler version in the error message for not having the UCRT.

Change 4026181 by Ben.Marsh

	Fix DebugGame editor configurations not enumerating modules correctly.

	#jira UE-58153

Change 4026285 by Ben.Marsh

	UBT: Add additional logging for enumerating Windows SDKs.

Change 4026708 by Ben.Marsh

	UBT: Keep a separate list of installed Universal CRT versions to the list of Windows 10 SDK versions. It's possible to install C++ support without the Windows 10 SDK, which still includes UCRT files in Windows 10 SDK folders.

Change 4029404 by Ben.Marsh

	Remove incorrect include paths to fix CIS warnings.

Change 4031517 by Steve.Robb

	Fix for UHT errors not being clickable in the Message Log.

	#jira UE-58173

Change 4031544 by Ben.Marsh

	Fix errors building asset catalog for IOS due to modifying shared build environment.

	#jira UE-58240

Change 4032227 by Ben.Marsh

	BuildGraph: Print out a warning message when trying to submit without the -Submit argument in BuildGraph.

Change 4032262 by Ben.Marsh

	BuildGraph: Remove the need to copy files to the staging directory in BuildEditorAndTools.xml.

Change 4032288 by Ben.Marsh

	Remove UFE from the BuildEditorAndTools script.

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 3838569 by Steve.Robb

	Algo moved up a folder.

Change 3848581 by Robert.Manuszewski

	Changing the UObjectArray to not be allocated up front but in 64K-FUObjectItem chunks. This is to fix strange OOM reports on editor startup where it's trying to allocate space for 1M+ FUObjectItems.

	#jira UE-49446

Change 3864743 by Steve.Robb

	Fix for buffer overrun when copying a context string.
	Fix for being unable to link to MallocLeakDetection.
	Fix to prefix for FMallocLeakDetection::ContextString.
	New MALLOCLEAK_SCOPED_CONTEXT macro to push/pop a context string.
	Overload for const TCHAR* added to FMallocLeakDetection::PushContext to save on redundant memory allocations.

	#jira UE-54612

Change 3865020 by Graeme.Thornton

	TBA: Changed FIELD_NAME macro to FIELD_NAME_TEXT so that FIELD_NAME can be used for non-literal name definitions

Change 3869550 by Josh.Engebretson

	New SymGen and SymUpload tasks (ShooterGame usage example)
	Example C# symbolicator (using saved crash and data router formats)
	Updates for stack walking and crash runtime xml on Windows/Mac

Change 3905453 by Steve.Robb

	USE_TUPLE_AUTO_RETURN_TYPES moved to PLATFORM_COMPILER_HAS_DECLTYPE_AUTO.

Change 3910012 by Ben.Marsh

	UGS: Show an error window and allow setting default P4 server settings if syncing UGS fails.

Change 3920044 by Graeme.Thornton

	TBA: Text asset loading

	* Added a structured archive layer to FLinkerLoad
	* Wrapped export loading in a ArchiveUObjectFromStructuredArchive
	* Updated TextAssetCommandlet to have a "loadtext" mode which will try to load every text asset in the project content
	* Changed text asset extensions to .utextasset and .utextmap. Couldn't go with the favourite .uasset.json because our various path functions (FPaths::GetCleanFilename etc.) will only strip one layer of extension, so leave a bogus filename.
	* Relaxed a few checks in structured archive where it was checking for field reentrance, which isn't a problem for loading.
	* Changed FArchiveFromStructuredArchive to not load all referenced objects at construction time. This introduced some changes to load order which don't work in the engine. Object names are resolved at the point that a reference to them is serialized from the main data block, same as with legacy archives.

Change 3921587 by Steve.Robb

	Static asserts inside ensureMsgf() macros to prevent them being passed invalid arguments or non-literal formatting strings.
	Fixes for various misuses.

	#jira UE-55681

Change 3942873 by Ben.Marsh

	UBT: Allow link time code generation on any configurations where bAllowLTCG is set to true. Microsoft platforms were previously only allowing this option in shipping; the target can decide when to enable it or not.

Change 3944629 by Graeme.Thornton

	Merging back a couple of fixes from Fortnite
	 - Extra parenthesis around some calculations in the pakprecacher
	 - Changed FChunkCacheWorker::DoSignatureCheck() back to ::CheckSignature()
	 - Added documentation for build script crypto options

Change 3945381 by Ben.Marsh

	Disable warning C4770 on Windows (partially validated enum 'xxx' used as index), which occurs when enabling LTCG. Can't find a reference online for this warning, but I suspect it's due to LTCG allowing the compiler to trace code paths where we don't validate that an enum is a known value.

Change 3968969 by Steve.Robb

	Fixes to incorrect uses of FScriptMapHelper and FScriptSetHelper, which weren't accounting for gaps in the sparse array.

Change 3969417 by Ben.Marsh

	Make Visual Studio 2017 the default compiler for UE4 projects, and add support using Visual C++ toolchains from an AutoSDKs.

	Also add support for selecting a specific toolchain version to use through the WindowsPlatform.CompilerVersion property, which can be configured via a Target.cs files or BuildConfiguration.xml (eg. <WindowsPlatform><CompilerVersion>14.13.26128</CompilerVersion></WindowsPlatform). As well as allowing a specific version number, you can always use the latest toolchain by setting it to "Latest".

Change 3972443 by Ben.Marsh

	Change build scripts to allow running any steps on non-compile workspaces. Setup Dev-Core to just use a non-compile Win64 workspace for everything.

Change 3977198 by Ben.Marsh

	Remove INI file override for editor stack size on Windows. This is rarely valid since editor targets share build products with other games by deafult. Fix to add linker response file as prerequisite exposed targets overriding this as a bug.

Change 3979632 by Ben.Marsh

	Consolidate codepaths for embedding versioning information in the engine. Engine/Build/Build.version is now the authoritative place to read version information; Engine/Source/Runtime/Launch/Resources/Version.h no longer includes macros for the current branch and changelist.

	* Settings from Build.version are compiled into the (tiny) BuildSettings module via macros set in BuildSettings.build.cs, which is used to initialize version information inside the engine at runtime.
	* The IsPromotedBuild value is now set to zero by default (but set to 1 by the UpdateLocalVersion UAT command).
	* The -Licensee argument to the UpdateLocalVersion UAT command, and the IsLicenseeVersion setting for UnrealGameSync, is determined automatically by looking for the Engine/Build/NotForLicensees/EpicInternal.txt file. This path is not visible to licensees.

Change 3981738 by Ben.Marsh

	Move utility classes for filtering files and matching wildcards into DotNETUtilities.

Change 3983888 by Steve.Robb

	Warning C4868 disabled, about evaluation order of braced initializer lists.

	https://udn.unrealengine.com/questions/426081/help-with-error-c4868-braced-initializers.html

Change 3984019 by Steve.Robb

	FString::Printf formatting argument checking added.
	Vararg support for FText::Format.
	All remaining usage fixed.

Change 3985502 by Steve.Robb

	Change to TFunction debugger visualization to allow right-clicking on the [Lambda] and selecting 'Go To Source Code'.

Change 3985999 by Graeme.Thornton

	TBA: Serialize function generation for FArchive and FStructuredArchive overloads on a UObject, using UHT.
	 - Adds a restriction that UObject::Serialize() functions MUST be declared outside of any conditional compilation directives, except for WITH_EDITORONLY_DATA

Change 3986461 by Ben.Marsh

	Fixup lots of platforms not adding response files as a prerequisite.

	This can cause incremental builds to fail if input files/compile arguments change, because the action graph does not know that the response file being updated invalidates the build artifacts.

Change 3990081 by Ben.Marsh

	Remove custom output formatters for errors and warnings. These are not well supported by different executors, and cause fences between actions with the same formatter with external executors like XGE.

	Clang supports -fdiagnostics-format=msvc for all platforms, which should do a better job than our crude attempts at regexing errors (causing botched output in some cases).

Change 3996714 by Chad.Garyet

	UGSRestAPI, conversion of UGS to use it.

	#jira none

Change 4008287 by Ben.Marsh

	UBT: Change the engine to use the Windows 10 SDK by default.

	Also add support for switching between specific Windows SDK versions. The WindowsPlatform.WindowsSdkVersion property in the target rules can be used to select a desired version, which can also be configured by the <WindowsPlatform><WindowsSdkVersion>Foo</WindowsSdkVersion></WindowsPlatform> parameter in the BuildConfiguration.xml file.

	The version of Windows to target (ie. the WINVER macro) can be modified by setting WindowsPlatform.TargetWindowsVersion. The default is 0x0601 (Windows 7).

Change 4008516 by Chad.Garyet

	- Adding support for both SQLite and MsSql
	- API now reads from only MsSql, but writes to both
	- Added support for POST to CIS for badges
	- PostBadgeStatus now writes out via API Url rather than a direct connection to the DB

	#jira none

Change 4010296 by Chad.Garyet

	Moving SQLite db initilization into Application_Start.  An exception thrown creating or seeding the db will unload the entire AppDomain and all pages will return a 404.
	#jira none

Change 4024045 by Ben.Marsh

	Set the list of supported target platforms for OnlineSubsystemGameCircle.

	#jira UE-57887

Change 4031014 by Ben.Marsh

	UAT: Add a WhitelistDirectories list in DefaultEngine.ini, which allows specifying folders that can be staged despite having restricted folder names.

[CL 4034515 by Ben Marsh in Main branch]
2018-04-26 14:11:04 -04: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
cfc9f4775f Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3805092)
#lockdown Nick.Penwarden
#rb none

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

Change 3623004 by Ben.Marsh

	Fix RemoteExecutor not taking the remote machine specs into account.

Change 3623172 by Ben.Marsh

	UGS: Fix "More Info..." button not using P4 server override.

Change 3628820 by Ben.Marsh

	PR #3979: Get working directory from task element, not tool node (Contributed by nullbus)


Change 3630424 by Graeme.Thornton

	Make the AES key parameter const in FAES::EncryptData()

Change 3632786 by Steve.Robb

	FString constructor fixed to not take an ignored void* parameter, which can be misleading.

Change 3639534 by Ben.Marsh

	Remove old P4.NET library. Doesn't seem to be used by anything.

Change 3640536 by Steve.Robb

	GitHub #4007 : Delete unnecessary specialization of MakeArrayView

	#jira UE-49617

Change 3641155 by Gil.Gribb

	UE4 - Speculative fix for problem with summary reading in FAsyncArchive2.

Change 3643932 by Ben.Marsh

	Add an example build script for updating the version number, then compiling and staging the editor and tools to an output directory. Optionally submits at the end (requires -Submit argument).

Change 3644825 by Ben.Marsh

	Use VSWHERE to find the location of MsBuild.exe, if available.

	https://github.com/EpicGames/UnrealEngine/pull/3879#issuecomment-329688645

Change 3647395 by Ben.Marsh

	Allow compiling of monolithic binaries from BuildEditorAndTools.xml, using the -set:GameTarget=FooGame -set:TargetPlatforms=Win32;Win64 options.

Change 3650300 by Ben.Marsh

	UAT: Remove code that deletes cooked data on a failed cook. The engine should write packages out transactionally now (by writing to a temporary file and moving into place), and deleting the cooked data just prevents post-mortem analysis.

Change 3650856 by Robert.Manuszewski

	Adding checks to prevent FlushAsyncLoading and LoadObject/LoadPackage from being called from any threads other than the game thread

Change 3651022 by Gil.Gribb

	UE4 - Possible fix for mysterious ensure indicating problematic recursion in the pak precacher.

Change 3658331 by Steve.Robb

	Fix for the parsing of large integer values.

Change 3661958 by Gil.Gribb

	UE4 - Fixed rare hang in task graph.

Change 3664021 by Robert.Manuszewski

	Fix for a potential GC crash caused by stale pointer in AnimInstanceProxy

	See https://udn.unrealengine.com/questions/392432/gc-issue-uaniminstancemontageinstances-empty-but-u.html

Change 3664254 by Steve.Robb

	Use ANSI allocator when thread sanitizer is enabled.  This allows the generation of more accurate and meaningful reports.

Change 3664436 by Steve.Robb

	Use TUniquePtr instead of a thread-unsafe TSharedPtr to move data between threads.

Change 3666461 by Graeme.Thornton

	Improvements to signing/encryption key embedding and runtime access
	 - Changed method of embedding key into the executable to make it more secure
	 - Added FAESKey class to wrap a 32 byte key

Change 3666462 by Graeme.Thornton

	Cut ShooterGame AES key down to 32 characters

Change 3677560 by Ben.Marsh

	PR #4074: UBT: Add include and library-related fields to module JSON output (Contributed by adamrehn)


Change 3683534 by Steve.Robb

	Refactoring of enum/struct lookup during hot reload.

Change 3683754 by Steve.Robb

	Alignment fixes to allow int64 on 32-bit platforms
	Support for integral types in IsAligned.
	Static asserts so that alignment functions will no longer be called with non-intergal, non-pointer types.
	Some fixes to existing code.

Change 3686670 by Steve.Robb

	Fix for thread-unsafe modification of static array in FString::ParseIntoArrayWS.

Change 3687540 by Ben.Marsh

	Fix all UBT/UAT output going to stderr rather than stdout.

Change 3688931 by Gil.Gribb

	UE4 - Critical fix for a rare race condition in the pak file async IO layer.

Change 3690000 by Graeme.Thornton

	Manual copy of 4.18 CL 3687869

	Make UBT include the destination INI file for a given hierarchy if it exists
	Renamed VSCode enum value to VisualStudioCode, so it matches the source accessor plugin name

Change 3690030 by Graeme.Thornton

	VSCode fixes
	 - Source Code Accessor plugin changes. Add new interface method to open a solution at a given path
	 - GameProjectUtils now uses the source navigation API to open solutions rather than hardcoding which solution file types to look for
	 - Various fixes for vscode project file generation

	#jira UE-50554

Change 3690885 by Steve.Robb

	Atomic reads in FReferenceControllerOps<ESPMode::ThreadSafe>.

Change 3691052 by Steve.Robb

	Free stats thread on shutdown.

Change 3695138 by Steve.Robb

	AsConst helper function added.

Change 3696627 by James.Hopkin

	Changed player controller iterator typedefs to use TWeakObjectPtr rather than the deprecated TAutoWeakObjectPtr

	(review-3606695)

Change 3697099 by Steve.Robb

	GitHub #4105 : Removed redundant class access modifier

Change 3697154 by Steve.Robb

	Removal of deprecated functions in delegates.
	Mutable lambdas to can now be bound to delegates.

Change 3697180 by Steve.Robb

	GitHub #4115 : Incorrect CPPMacroType used for USoftClassProperty

Change 3697239 by Steve.Robb

	Allow TArray::Insert to take an array with any allocator type.

Change 3697269 by Steve.Robb

	RelocateConstructItems instead of MoveConstructItems.

Change 3697558 by Steve.Robb

	New _GetRef functions for TArray, which return a reference to the newly-added element.
	Unit tests for these functions.

Change 3699776 by Steve.Robb

	TSAN warning suppression around IAsyncReadRequest::bCompleteAndCallbackCalled.

Change 3702397 by Steve.Robb

	TIsTrivial type trait.

Change 3702569 by Steve.Robb

	Allow a TGuardValue to be assigned to a different type from the one being guarded.

Change 3706644 by Robert.Manuszewski

	Different stack ingore count for development builds for FArchiveStackTrace

Change 3709272 by Steve.Robb

	Removal of redundant UpdateVertices, which causes a race condition on the renderer thread.

Change 3709452 by Robert.Manuszewski

	Fixed a bug where with async time limit set to a low value the async loading could hang because the linker would keep reloading the preload dependencies

Change 3709454 by Robert.Manuszewski

	Added command line option -NOEDL to disable EDL

Change 3709487 by Steve.Robb

	Remove use of PLATFORM_HAS_64BIT_ATOMICS, which is always 1.

Change 3709645 by Ben.Marsh

	Fix race condition between multiple instances of UBT trying to write out the XML config cache.

Change 3711193 by Ben.Marsh

	Add an editor setting for the shared DDC location to use.

	#jira UE-51487

Change 3713811 by Steve.Robb

	Update .modules files after a hot reload.
	Don't check for directory timestamp changes as a way of detecting new files if hot reloading with a makefile, as this is already done during makefile invalidation checks.
	Pass hotreload flags around in UBT instead of relying on global state.

	This fixes the hot reload iteration speed regression without also regressing the fix to UE-42205.

	#jira UE-51472

Change 3715654 by Steve.Robb

	GitHub #4156 : Fixed not compiling template function Algo::UpperBoundBy.

Change 3718782 by Steve.Robb

	TSharedPtr, TSharedRef and TWeakPtr assignment are now implemented as copy-and-swap to avoid an invalid smart pointer state being visible to any destructors being called.

Change 3720830 by Steve.Robb

	Initial import of TAtomic object wrapper, which guarantees atomic access to an object.

Change 3720881 by Steve.Robb

	FCompression ThreadSanitizer data race fixes.

Change 3722640 by Graeme.Thornton

	Guard network platform file heartbeat function with the socket critical section. Stop heartbeat from causing a crash when firing during async loading.

	#jira UE-51463

Change 3722655 by Steve.Robb

	Don't null name table because it's already zeroed at startup.
	Some tidy-ups.

Change 3722754 by Steve.Robb

	Thread sanitizer fix.
	Small typo fix.

Change 3722849 by Graeme.Thornton

	Improve "caching file" message in networkplatformfile so it says "Requesting file..." and is only output when we actually request the file from the server

Change 3723081 by Steve.Robb

	TAtomic is now aligned to the underlying integer type.
	TAtomic will now static assert with a better error message when given an unsupported type.
	Define added for the maximum platform-supported atomic type, and used instead of a (wrong) hardcoded number.
	Misc renames.

Change 3723270 by Ben.Marsh

	Include /d2cgsummary argument when running UBT with -Timing.

Change 3723683 by Ben.Marsh

	Do not include documentation in the generated project files by default. Suspect that the 30,000 UDN files that get added to the solution take up memory and degrate performance.

Change 3725422 by Robert.Manuszewski

	When serializing compressed archive with multithreaded compression enabled, wait for the oldest async task instead of spinning.

Change 3725735 by Robert.Manuszewski

	Making all CheckDefaultSubobjects related functions const

Change 3726167 by Steve.Robb

	FMinimalName::IsNone added.

Change 3726458 by Steve.Robb

	TAtomic will no longer instantiate for types which are not exactly a size supported by the platform layer.

Change 3726542 by Ben.Marsh

	UGS: Always include the project filename in the editor build command. The project may not be in one of the .uprojectdirs paths.

Change 3726595 by Ben.Marsh

	Allow building multiple game targets in the example BuildEditorAndTools.xml script.

Change 3726724 by Ben.Marsh

	Fix ambiguities in calculating root directory. (GitHub #4172)

Change 3726959 by Ben.Marsh

	Make sure that AutomationTool uses the same list of preprocessor definitions when compiling *.target.cs files as UnrealBuildTool does.

Change 3728437 by Steve.Robb

	VisitTupleElements now supports invocation of a functor taking arguments from multiple tuples in parallel.
	Some improved documentation.

	NOTE: This is a backward-incompatible change to VisitTupleElements.  Any existing calls will need their arguments swapping.

Change 3732262 by Gil.Gribb

	UE4 - Fixed rare hangs in the task graph.

Change 3732755 by Steve.Robb

	Stats TSAN fixes.
	Optimizations to FCycleCounter::Start() to only read the stat name once.

Change 3735000 by Robert.Manuszewski

	Always preload the AssetRegistry module on startup. even if EDL is disabled.

	Even without EDL, if the async loading thread is enabled the AssetRegistryModule will otherwise be loaded from the ASL thread and that will assert.

Change 3735292 by Robert.Manuszewski

	Made sure component visualizer is removed from VisualizersForSelection when UnregisterComponentVisualizer() is called otherwise it may cause crashes when the engine terminates.

Change 3735332 by Steve.Robb

	Refactoring of UDelegateProperty::Identical() to clarify logic.
	Fixed UMulticastDelegateProperty::Identical() to compare the bound function names.
	PPF_DeltaComparison removed, as it doesn't seem useful.

Change 3737960 by Graeme.Thornton

	VSCode - Add launch task for generating project files for the given folder

Change 3738398 by Graeme.Thornton

	Make Visual Studio source code accessor's module hotreload handler pass the 'save all files' message to the current accesor, rather than direct to the visual studio accessor

	#jira UE-51451

Change 3738405 by Graeme.Thornton

	VSCode: Format c/cpp settings strings using comment path formatting function

Change 3738928 by Steve.Robb

	Fix for lack of null conditional operators in some older Monos. (replicated from CL# 3729574 in Release-4.18)

	#jira UE-51842

Change 3739135 by Ben.Marsh

	Fix being unable to package projects in a folder called "Wolf". This is only a restricted folder for Epic's Perforce history.

	#jira UE-51855

Change 3739360 by Ben.Marsh

	UAT: Fix issue with P4PORT setting not being parsed correctly.

Change 3745959 by James.Hopkin

	#core Added ImplicitConv for safe upcasts to a specific required type, e.g. deduced delegate payload types

Change 3746125 by Steve.Robb

	FName ThreadSanitizer fixes.

Change 3747274 by Steve.Robb

	TSAN fix for FMediaTicker::Stopping.

Change 3747618 by Steve.Robb

	ThreadSanitizer data race fix for FShaderCompileThreadRunnableBase::bForceFinish.

Change 3747720 by Steve.Robb

	ThreadSanitizer fix for FMessageRouter::Stopping.

Change 3749207 by Graeme.Thornton

	First pass of CryptoKeys plugin. Allows creation/editing/cycling of AES/RSA keys.

Change 3749323 by Graeme.Thornton

	Fix UAT crash when only -targetplatform is specifiied

Change 3749349 by Steve.Robb

	TSAN_SAFE guards around LockFreeList to silence ThreadSanitizer.

Change 3749617 by Steve.Robb

	Logf static_assert for formatting string enabled.

Change 3749897 by Steve.Robb

	FDebug::LogAssertFailedMessage static assert for formatting string enabled.

Change 3754011 by Steve.Robb

	Static asserts that the allocator supports move.
	Move-enabled our allocators which don't support move.

Change 3754227 by Ben.Marsh

	Fix build command line in generated projects missing a space before the compiler version override.

	#jira UE-52226

Change 3754562 by Ben.Marsh

	PR #4206: Replace deprecated wsprintf with secure swprintf for Bootstrap executable (Contributed by jessicafalk)


Change 3755616 by Graeme.Thornton

	Runtime code for using the new crypto ini files to define signing/encryption keys

	#jira UE-46580

Change 3755666 by James.Hopkin

	Used ImplicitConv to remove Casts being used for up-casts

	#review-3745965

Change 3755671 by Graeme.Thornton

	Add log message in unrealpak to say which config file system it is using for crypto keys

Change 3755672 by Graeme.Thornton

	Updating ShooterGame with new CryptoKeys based security setup

Change 3756778 by Ben.Marsh

	Add support for running multiple jobs simultaneously on a single builder.

	When running job or agent setup, the --num-slots=X parameter defines the number of steps that can run simultaneously (EC procedures pass in the resource step limit). A lock file is created under the workspace root (D:\Build) and a reservation file is created for the first slot that can be allocated (slot-1, slot-2, etc...). The slot number is used to define the workspace name that should be used.

Change 3758498 by Ben.Marsh

	Re-throw exceptions when a file cannot be deleted when cleaning a target.

Change 3758921 by Steve.Robb

	ThreadSanitizer fix to FThreadSafeStaticStatBase::HighPerformanceEnable to do a relaxed atomic load on access.
	DoSetup() now returns the newly-allocated pointer, instead of reloading it from memory.

Change 3760599 by Graeme.Thornton

	Added missing epic header comment to some new source files

Change 3760642 by Steve.Robb

	ThreadSanitizer fix for concurrent access to GMainThreadBlockedOnRenderThread.

Change 3760669 by Graeme.Thornton

	Improvement to OpenSSL based signing key generator. Generate a full RSA key then steal the primes from it, rather than generating the primes manually.

	Added a test mode to the cryptokeys commandlet to test signing key generation

Change 3760711 by Steve.Robb

	ThreadSanitizer fixes to GIsRenderingThreadSuspended.

Change 3760739 by Steve.Robb

	ThreadSanitizer fix for FQueuedThread::TimeToDie.

Change 3760763 by Steve.Robb

	ThreadSanitizer fix for GRunRenderingThreadHeartbeat.
	Removal of unnecessary/dangerous initializer for GMainThreadBlockedOnRenderThread.

Change 3760793 by Steve.Robb

	Some simple refactoring to remove some volatile reads of BufferStartPos and BufferEndPos.

Change 3760817 by Steve.Robb

	ThreadSanitizer fixes for FAsyncWriter::BufferStartPos and BufferEndPos.

Change 3761331 by Josh.Engebretson

	UnrealBuildTool enforcement of Development and Debug configurations in existing .csproj

	#jira UE-52416

Change 3761521 by Steve.Robb

	ThreadSanitizer fixes for FEvent::EventStartCycles and EventUniqueId.

Change 3763117 by Graeme.Thornton

	PR #3722: Optimising FPaths::IsRelative() (Contributed by jovisgCL)


Change 3763358 by Graeme.Thornton

	Ensure that all branches within FGenericPlatformMisc::RootDir() produce an absolute path with no duplicate slashes
	Remove relative->abs conversion of root dir from FPaths::MakeStandardFilename(), now that we know RootDir() always returns an absolute path

	Derived from the content of this PR:
	PR #3742: Treat RootDirectory the same way as Standardized (Contributed by TroutZhang)


Change 3764058 by Graeme.Thornton

	Generate a .code-workspace file for the current workspace. Allows foreign projects to "mount" the UE4 folder so that the engine tasks are avaible, and all engine source is visible to VSCode for searching purposes

	#jira UE-52359

Change 3764705 by Steve.Robb

	Better handling of whitespace in ImportText_Internal() for set and map properties.
	Containers are now emptied upon import failure, to avoid leaving bad container states (unhashed, partial data).
	Fix to USetProperty's temp buffer size to avoid buffer overruns.
	Duplicate map keys are now skipped during import, same as USetProperty's behavior.

Change 3764731 by Steve.Robb

	Don't re-run UHT if only source files have changed in the same folder as headers.  This was already done for hot reload, but there's no reason why it should be limited to that.

Change 3765923 by Graeme.Thornton

	VSCode - "taskName" -> "label" for C# build tasks

Change 3766018 by Steve.Robb

	constexpr constructor for TAtomic.

Change 3766037 by Steve.Robb

	Misc tidyings in HotReload.cpp.

Change 3766046 by Steve.Robb

	ThreadSanitizer fixes to ENamedThreads::RenderThread and ENamedThreads::ENamedThreads_Local.

Change 3766288 by Steve.Robb

	Improved efficiency of adding/removing elements to UGCObjectReferencer::ReferencedObjects.

Change 3766374 by Josh.Engebretson

	Fix issue with ini quoted value comparison

	#jira UE-52066

Change 3766532 by Josh.Engebretson

	PR #3680: Added NetSerialize to FDateTime fixing UE-22533 (Contributed by druhasu)
	#jira UE-46156

Change 3766740 by Steve.Robb

	TMultiMap::Append added.

Change 3767523 by Steve.Robb

	ThreadSanitizer fix for UE4Delegates_Private::GNextID.

Change 3767601 by Steve.Robb

	ThreadSanitizer fix for FStats::GameThreadStatsFrame.

Change 3770567 by Ben.Marsh

	Add a FAnnotatedArchiveFormatter interface which allows querying structural type information that may not be in binary archives.

Change 3770826 by Ben.Marsh

	Move StructuredArchive implementation into Core, so primitive types can implement serialization overloads for it.

Change 3770875 by Steve.Robb

	Redundant UScriptStruct::PostLoad removed, which was causing a race condition in async loading.  This was re-establishing the CppStructOps, but that is unnecessary because native classes cannot change as a result of a load - only BP structs can, and they don't have CppStructOps.

Change 3772167 by Ben.Marsh

	Add a context-free binary formatter that can serialize tagged data. This functions as a lower-overhead binary intermediate format for JSON data.

Change 3772248 by Steve.Robb

	ThreadSanitizer fixes to FMalloc call counters.

Change 3772383 by Ben.Marsh

	Separate archive metadata from FArchive into FArchiveContext, so it can be safely exposed to consumers of FStructuredArchive.

Change 3772906 by Graeme.Thornton

	TextAssetCommandlet - Utility commandlet for testing/converting to text asset format

Change 3772932 by Ben.Marsh

	Fix "String:" prefix not being stripped from escaped string values.

Change 3772942 by Graeme.Thornton

	Add experimental setting to enable in-editor text asset format functionality
	Add "export to text" option into the content browser asset actions context menu

Change 3772955 by Ben.Marsh

	Add a new "stream" compound type to FStructuredArchive, which allows serializing a sequence of elements similarly to an array, but without serializing an explicit size. Allows passing through data to an underlying binary archive without breaking compatibility.

Change 3772963 by Ben.Marsh

	Allow querying record keys and stream lengths from annotated archive formatters, since these archives have markup for field boundaries.

Change 3773010 by Graeme.Thornton

	Added CORE_API to FArchiveFromStructuredArchive
	Gave text asset format experimental option a slightly less random tooltip comment

Change 3773057 by Ben.Marsh

	Add a flag to FArchive to determine whether the archive is text (IsTextFormat()).

	Add support for seeking within FArchiveFromStructuredArchive. For text formats, data is serialized to an in-memory buffer, with names and objects serialized as indices into an array. For non-text formats, data is serialized directly to the underlying archive.

	Also rename FStructuredArchive::TryEnterSlot() to TryEnterField().

Change 3773118 by Steve.Robb

	TSignedIntType and TUnsignedIntType type traits for getting an integer type of a given size.

Change 3773122 by Steve.Robb

	TAtomic fixes for pointer arithmetic.
	TSignedIntType used instead of reimplementing its own trait.

Change 3773123 by Steve.Robb

	Unit tests for TAtomic.

Change 3773138 by Steve.Robb

	Run numeric tests on integer types instead of basic tests.
	Fix for compiler warnings when subtracting from unsigned atomics.

Change 3773166 by Steve.Robb

	Refactoring of arithmetic operations into its own class, then basing the pointer and integral versions on that.

Change 3774216 by Gil.Gribb

	UE4 - Fix rare crash in the pak precacher immediately after unmounting a pak file.

Change 3774426 by Ben.Marsh

	Copy all C# tools to a staging directory before compiling them. This prevents access violations when compiling tools like iPhonePackager that reference DotNETCommon, and ensures we strip NotForLicensees folders out of them all.

	See: https://answers.unrealengine.com/questions/726010/418-will-not-build-from-source.html

Change 3774658 by Ben.Marsh

	Improve error reporting while generating intellisense for project files. Include the name of the target being compiled, and allow project file generation to continue without it.

Change 3775141 by Ben.Marsh

	Always output HTML5 diagnostics at "information" verbosity, to avoid every line being prefixed with "WARNING:" and screwing up the EC postprocessor.

Change 3775459 by Ben.Marsh

	Removing .NET Framework Perforce DLL as runtime dependency of engine third party library. The actual library is linked statically.

Change 3775522 by Ben.Marsh

	UGS: Treat .uproject and .uplugin files as code changes.

Change 3775597 by Ben.Marsh

	Fix post-build steps for plugins not being executed.

	#jira UE-52754

Change 3777895 by Graeme.Thornton

	StructuredArchiveFromArchive - An adapter class for wrapping an existing FArchive with a structured archive

Change 3777931 by Graeme.Thornton

	Refactored FArchiveUObjects serialization code into some static helpers
	Added FArchiveUObjectFromStructuredArchive which allows the adaption of a structured archive into an FArchive that supports the extra UObect serialization functions for weak/soft pointers

Change 3777942 by Graeme.Thornton

	Added missing CORE_API to FStructuredArchive::FStream
	Added FStructuredArchive::FSlot insertion operator for char
	Added specialization of TArray<uint8> serializer for structured archives which serializes the contents as one value

Change 3778084 by Graeme.Thornton

	Adding FPackageName::GetTextAssetPackageExtension() to access the file extension we use for text asset files

Change 3778096 by Graeme.Thornton

	Add a constructor to FArchiveUObjectFromStructuredArchive that takes a slot and passes it to the base class

Change 3778389 by Josh.Engebretson

	Fix an optimization issue with CPU benchmarking
	Add better support for debugging/testing local rocket builds

	UDN Link: https://udn.unrealengine.com/questions/400909/command-scalability-auto-gives-inaccurate-cpu-benc.html

	#jira UE-52192

Change 3778701 by Josh.Engebretson

	Ensure plugin content folders are mounted consistently.  Fixes TryConvertFilenameToLongPackageName failing to work on plugin assets

	UDN Link: https://udn.unrealengine.com/questions/276386/tryconvertfilenametolongpackagename-fails-for-plug.html

	#jira UE-40317

Change 3778832 by Chad.Garyet

	Adding enterprise path support for PCB's for UGS

Change 3780258 by Graeme.Thornton

	TextAssetCommandlet - Accumulate timings for loading packages and saving packages

Change 3780463 by Graeme.Thornton

	CryptoKeys improvements
	 - Enable CryptoKeys plugin by default
	 - Attempt to inherit settings from the old system by default
	 - Hide ini/index encryption settings from packaging settings and just inherit previous values into new system

	Minor UBT change to remove a trailing comma from the end of encryption/signing key binary strings

Change 3780557 by Ben.Marsh

	Fix LoginFlow module not being precompiled for the binary release.

Change 3780846 by Josh.Engebretson

	Improve filename to long package name resolution when provided a relative path

Change 3780863 by Ben.Marsh

	UAT: Add a better error message when a C# project has an invalid reference.

Change 3780911 by Ben.Marsh

	Update the BuildEditorAndTools.xml script to allow submitting archived binaries to Perforce.

	The "Submit To Perforce For UGS" node creates a zip of all the binaries that have been built, and submits it to the stream specified by the 'ArchiveStream' argument.

Change 3780956 by Josh.Engebretson

	Add support for ! (RemoveKey) config command to UBT

	UDN Link: https://udn.unrealengine.com/questions/397267/index.html

	#jira UE-52033

Change 3782957 by Robert.Manuszewski

	UE4 - Fixed a linear search in EDL that caused performance problems for very large maps.

Change 3784503 by Ben.Marsh

	Optimizations for FStructuredArchive:

	* Store the depth explicitly in element objects, to avoid having to loop through the scope stack to find it.
	* Prevent shrinking of arrays when removing elements.
	* Add an inline allocator to the scope and container stacks.

Change 3784700 by Ben.Marsh

	Remove the inline allocator from FStructuredArchive; checking whether the inline or backup allocator is being used is slower than just allocating up-front.

Change 3784989 by Ben.Marsh

	Compile out all the FStructuredArchive validation code when WITH_TEXT_ARCHIVE_SUPPORT = 0.

Change 3786860 by Gil.Gribb

	UE4 - Remove no buffering flag from windows async IO because it disabled the disk cache entirely.

Change 3787159 by Ben.Marsh

	Guard against UE4.0 backwards compatibility path when determining if an engine is a source distribution.

Change 3787493 by Josh.Engebretson

	Parallel pak generation now uses MaxDegreeOfParallelism option which is now set to the number of CPU cores
	Moved cryptography settings parsing out of threaded CreatePak method to avoid concurrency issue in ConfigCache.TryReadFile
	Fix for multiple threads parsing ini keys (PR 3995)

	#PR 3995
	#jira 52913
	#jira 49503

Change 3787773 by Steve.Robb

	Fix for missing final values from FOREACH_ENUM_ macros.

Change 3788287 by Ben.Marsh

	TBA: Add checks in debug builds that key names in maps and records for FStructuredArchive are unique.

Change 3788678 by Ben.Marsh

	Fix compile error due to inability to instantiate TArray<> of forward declared struct. Convert set of key names to an array to avoid including Set.h in public header for FStructuredArchive.

Change 3789353 by Graeme.Thornton

	Removed unused/rotten modes from TextAsset commandlet.
	Used existing "-iterations=n" switch to control a global iteration over the given command. Useful for performance testing.

Change 3789396 by Ben.Marsh

	Move code to validate container keys/sizes into DO_GUARD_SLOW checks, and allocate container metadata instances dynamically to fix problems with references to things not declared in headers that can't be included from StructuredArchive.h

Change 3789772 by Ben.Marsh

	Always strip trailing slashes from the end of paths specified by .build.cs files; they can cause quoted paths to be escaped on the command line.

Change 3790003 by Ben.Marsh

	TBA: Rename FStructuredArchive::EElementType::Object to FStructuredArchive::EElementType::Record.

Change 3790051 by Steve.Robb

	PIE is disabled during a hot reload.
	Hot reload in editor is disabled during PIE.
	Hot reload from IDE is deferred until after PIE is exited.
	Compiling multiple times before a hot reload (e.g. compiling multiple times in PIE) will now load the most recent change.

	#jira UE-20357
	#jira UE-52137

Change 3790709 by Steve.Robb

	Better move support for TVariant.
	EVariantTypes switched over to using an enum class to aid debugger visualization.

Change 3791422 by Ben.Marsh

	TBA: Return the type of a field from an annotated archive formatter at the point that we enter it, rather than querying all the time.

Change 3791489 by Graeme.Thornton

	TBA: Change StructuredArchiveFromArchive adapter to use the archive.Open() result directly, now that it's a slot and not a record

Change 3792344 by Ben.Marsh

	Improvements to base64 encoding library.

	* Now supports encoding and decoding with ANSICHAR and WIDECHAR implementations.
	* Added support for decoding base-64 blobs without padding marks.
	* Added support for decoding into pre-allocated buffer.
	* Added constexpr functions for determining the encoded and maximum decoded size of an input buffer.
	* Prevent writes past the end of allocated buffer (no longer need to manually remove padding bytes).

Change 3792949 by Ben.Marsh

	TBA: Rename FAnnotatedArchiveFormatter to FAnnotatedStructuredArchiveFormatter.

Change 3794078 by Robert.Manuszewski

	Fixing a crash that could happen when FGCObjects were constructed and destructed when shutting down the engine

	#jira UE-52392

Change 3794413 by Ben.Marsh

	TBA: Remove the element type parameter to SetScope(). It isn't really needed; we can just assume the element ID correctly identifies the item on the stack.

Change 3794731 by Ben.Marsh

	TBA: Optimize creation of stack elements for empty slots in FStructuredArchive. This saves a lot of bookkeeping when serializing a large number of individual fields. Since only one slot can be active at a time (and it only exists temporarily, until we write into it), we can just store the element ID assigned to it in a member variable.

Change 3795081 by Ben.Marsh

	UBT: Move LinuxCommon.cs into Platform/Linux folder.

Change 3795137 by Ben.Marsh

	UBT: Allow modules to specify private compiler definitions from the build.cs file, only visible within that module (via the "PrivateDefinitions" property).

Change 3795247 by Ben.Marsh

	Fix missing header when creating a new interface from the editor new code wizard.

	#jira UE-53174

Change 3796025 by Graeme.Thornton

	Fixed some deprecated "Definitions" warnings in OpenCV build files

Change 3796103 by Graeme.Thornton

	Disable experimental text asset option - it does nothing useful yet.

Change 3796157 by Graeme.Thornton

	Fix path type mismatch in visual studio source code accessor meaning that the DTE comms wouldn't identify a running instance of VS as having the current solution open.

	#jira UE-53206

Change 3796315 by Ben.Marsh

	Move Formatter to the correct position for initializer.

	#jira UE-53208

Change 3797082 by Ben.Marsh

	UAT: Work around for exception thrown by launching cook with "-platform=Android_ETC1 -targetplatform=Android -cookflavor=ETC1". Anrdoid_ETC1 is not a valid platform (it's a cook platform), and can't be parsed by UAT.

	#jira UE-53232

Change 3799050 by Ben.Marsh

	Make UnrealPak.version files writable for Mac and Linux.

Change 3801012 by Graeme.Thornton

	VSCode - Update source accessor to use code workspace as it's target, rather than just the project directory

Change 3801214 by Gil.Gribb

	UE4 - Remove assert to work around minor problem with lock free lists.

	#jira UE-49600

Change 3801219 by Steve.Robb

	WeakObjectPtrs now warn when casting away const.

Change 3801299 by Graeme.Thornton

	Fix quote issue with foreign project build tasks on PC

Change 3803292 by Graeme.Thornton

	Fix crash on startup when using cook-on-the-side. Force a flush of the asset registry background scanning when creating the cook-on-the-side platform registries

Change 3803559 by Steve.Robb

	TSAN fix for FMalloc::MaxSingleAlloc.

Change 3803735 by Graeme.Thornton

	Last set of cryptokeys changes
	 - Added some comments for editor exposed settings
	 - Split "encrypt assets" option into "encrypt uassets" and "encrypt all assets"

Change 3803929 by Ben.Marsh

	UGS: Show an in-place error panel when a project fails to open, allowing the user to retry and have their tabs saved instead of creating a modal dialog.

Change 3624590 by Steve.Robb

	AddReferencedObjects now generates a compile error with containers of UObject*s where the UObjectType is forward-declared, as these which won't be added to the reference collector.
	Tidy-up of existing calls to AddReferencedObjects.

Change 3629473 by Ben.Marsh

	Build: Rename the option for embedding source server information in PDB files for installed engine builds.

Change 3632894 by Steve.Robb

	VARARG* macros deprecated and usage replaced with variadic templates.

Change 3640704 by Steve.Robb

	MakeWeakObjectPtr added, which deduces a TWeakObjectPtr type from a raw pointer type.
	Fix to TWeakObjectPtr's constructor which implicitly removed const.
	Fixes to everything which didn't compile as a result.

Change 3650813 by Graeme.Thornton

	Removed FStartupPackages and associated code

Change 3651000 by Ben.Marsh

	Return the stack size from FPlatformStackWalk::CaptureStackBacktrace() rather than checking for the first null pointer, to prevent truncated callstacks if parts of the stack are zeroed out.

	#jira UE-49980

Change 3690842 by Steve.Robb

	FPlatformAtomics::AtomicRead added - needs optimizing.
	AtomicRead() used in FThreadSafeCounter::GetValue().

Change 3699416 by Steve.Robb

	Fix to debugger visualization of TArray with a TInlineAllocator or TFixedAllocator.
	Improved readability of TSparseArray visualization.

Change 3720812 by Steve.Robb

	Atomic functions for 8-bit and 16-bit.
	Android, Linux and Switch implementations now just use the Clang implementation.
	AtomicRead64 deprecated in favor of the int64* AtomicRead overload.

Change 3722698 by Steve.Robb

	VS debugger visualizers for TAtomic.

Change 3732270 by Steve.Robb

	Relaxed stores and loads.

Change 3749315 by Graeme.Thornton

	If UAT is invoked with platforms in both the -platform and -targetplatform command line switches, build using all of them rather than just the ones in -targetplatform

	#jira UE-52034

Change 3750657 by Josh.Engebretson

	Fixed issue when debugging editor cook/package and project launch operations

	#jira UE-52207

Change 3758514 by Steve.Robb

	Fixes to FString::Printf having non-literals being passed as its formatting string.

Change 3763356 by Steve.Robb

	ENamedThreads::RenderThread and ENamedThreads::RenderThread_Local encapsulated by getters and setters.

Change 3770549 by Steve.Robb

	Removal of obsolete PLATFORM_COMPILER_HAS_DEFAULTED_FUNCTIONS and PLATFORM_COMPILER_HAS_AUTO_RETURN_TYPES.
	Tidy up of existing code which uses it.

Change 3770553 by Ben.Marsh

	Adding structured serialization API to Core/CoreUObject for use with text-based assets.

	* FStructuredArchive abstracts an archive which is made up of compound types (records, arrays, and maps). Values are stored in slots within these types.
	* Records are string -> value dictionaries where the key names can be compiled out in non-editor builds or when WITH_TEXT_ARCHIVE_SUPPORT = 0.
	* Maps are string -> value dictionaries where the key names are present regardless of the build type.
	* Proxy objects are defined to express the context for serialization (FStructuredArchive::FRecord, FStructuredArchive::FArray, FStructuredArchive::FMap, FStructuredArchive::FSlot) which allows basic validation through static typing. These objects act as lightweight handles, and can be cheaply constructed and passed around on the stack. Most serialization to and from the archive is done through these objects.
	* Runtime checks perform additional validation to ensure that serialized data is well formed and written in a forward-only manner, regardless of the underlying archive type.
	* The actual input/output format is determined by a separate interface (FArchiveFormatter). Context validation (always causing matching LeaveArray for every EnterArray, etc...) is done by FStructuredArchive, so implementing these classes is fairly trivial. FArchiveFormatter can be de-virtualized in non-editor builds, where WITH_TEXT_ARCHIVE_SUPPORT = 0.
	* Includes implementations of FArchiveFormatter for binary and JSON formats.

Change 3771105 by Steve.Robb

	Deprecation warnings for PLATFORM_COMPILER_HAS_AUTO_RETURN_TYPES and PLATFORM_COMPILER_HAS_DEFAULTED_FUNCTIONS.
	Fix for incorrect warning formatting on Clang platforms.

Change 3771520 by Steve.Robb

	Start moving Clang-using platforms' pre-setup stuff into a Clang-specific header.

Change 3771564 by Steve.Robb

	More common macros moved to the Clang pre-setup header.

Change 3771613 by Steve.Robb

	EMIT_CUSTOM_WARNING_AT_LINE moved to ClangPlatformCompilerPreSetup.h.

Change 3772881 by Ben.Marsh

	Add support for serializing FName and UObject through FStructuredArchive.

	In order to allow custom linker behavior when serializing objects:

	* The constructor to JSON input formatter now takes a delegate to convert a string object name into a UObject pointer.
	* The constructor to tagged binary formatter takes a delegate to serialize a UObject pointer into any form it chooses (likely an integer index into the import table)

	Object and name types are stored as strings in JSON, using an "Object:" or "Name:" prefix to differentiate them from regular strings. Any strings that already contain one of these prefixes are prepended with a "String:" prefix (as is any string that already has a "String:" prefix).

Change 3772941 by Graeme.Thornton

	Make build work when including StructuredArchive.h from core container types
	Added standard header to new files
	Add structured archive serializer for TArray
	Fix bug in structured archive where containers weren't being popped from the scope stack

Change 3772972 by Ben.Marsh

	Add an adapter which presents a legacy FArchive interface to a FStructuredArchive slot.

	Data is serialized into this slot as a stream of elements; raw data is buffered up into fixed size chunks, names and objects are serialized separately.

	When used with FBinaryArchiveFormatter, this should result in all data being passed through to the underlying archive in a backwards compatible way, wiith no additional bookkeeping fields.

Change 3773006 by Ben.Marsh

	Rename FStructuredArchive::FRecord::EnterSlot() to EnterField().

Change 3773013 by Steve.Robb

	bUseInlining target rule added to UnrealBuildTool, which defaults to true, to allow inlining to be disabled for debugging purposes.

Change 3774499 by Ben.Marsh

	Minor fixes for FStructuredArchive related classes:

	* Text-based archive formats are now compiled out when WITH_TEXT_ARCHIVE_SUPPORT = 0.
	* Fixed issue with FTaggedBinaryArchiveFormatter state becoming corrupted when looking ahead at field types.
	* FArchiveFieldName constructor is now explicit, to fix cases where strings were being passed directly to serialize functions.

Change 3774600 by Ben.Marsh

	Add CopyFormattedData() function, which can copy data from one formatter to another. Add a test case to SerializationAPI that converts from data -> JSON -> binary -> JSON -> data.

	This function can be used to implement a generic visitor pattern, by implementing a FArchiveFormatter which receives the deserialized data.

Change 3789721 by Ben.Marsh

	TBA: Split FTaggedBinaryArchiveFormatter into separate classes for reading and writing.

Change 3789920 by Ben.Marsh

	TBA: Support automatic coercion between any numeric types in tagged binary archives. Also report the smallest type that can contain a value, rather than just in32/double.

	#jira UECORE-364

Change 3789982 by Ben.Marsh

	TBA: Change FStructuredArchive::Open() to return a slot, rather than a record, to make it easier to implement a raw FArchive adapter.

Change 3792466 by Ben.Marsh

	TBA: Better handling of raw data in text based assets. Short sequences of binary data are Base64 encoded as a single string. Longer sequences are stored as an array of Base64 encoded lines, push a SHA1 hash to detect cases where the data was merged incorrectly.

	In order to allow inference of the correct type for a field, other fields called "Base64" will be escaped to "_Base64", and any field beginning with "_" will have an additional underscore inserted. Reading files back in reverses these transformations.

Change 3792935 by Ben.Marsh

	TBA: Rename FArchiveFormatter to FStructuredArchiveFormatter for consistency with FStructuredArchive.

Change 3795100 by Ben.Marsh

	UBT: Rename the ModuleRules Definitions property to PublicDefinitions, to make its semantics clearer.

Change 3795106 by Ben.Marsh

	Replace all internal usages of ModuleRules.Definitions, and replace it with ModuleRules.PublicDefinitions.

Change 3796275 by Ben.Marsh

	Fix paths to Version.h includes from resource files.

Change 3800683 by Josh.Engebretson

	Remove WER from Mac and Linux crash reports in favor of unified runtime-xml format
	#jira UE-50073

Change 3803545 by Steve.Robb

	TWeakObjPtr const-dropping assignment fix.
	Fixes to change.

[CL 3805231 by Ben Marsh in Main branch]
2017-12-12 18:32:45 -05:00
Ben Marsh
fedc653232 Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3620134)
#lockdown Nick.Penwarden
#rb none

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

Change 3550452 by Ben.Marsh

	UAT: Improve readability of error message when an editor commandlet fails with an error code.

Change 3551179 by Ben.Marsh

	Add methods for reading text files into an array of strings.

Change 3551260 by Ben.Marsh

	Core: Change FFileHelper routines to use enum classes for flags.

Change 3555697 by Gil.Gribb

	Fixed a rare crash when the asset registry scanner found old cooked files with package level compression.

	#jira UE-47668

Change 3556464 by Ben.Marsh

	UGS: If working in a virtual stream, use the name of the first non-virtual ancestor for writing version files.

Change 3557630 by Ben.Marsh

	Allow the network version to be set via Build.version if it's not overriden from Version.h.

Change 3561357 by Gil.Gribb

	Fixed crashes related to loading old unversioned files in the editor.

	#jira UE-47806

Change 3565711 by Graeme.Thornton

	PR #3839: Make non-encoding specific Base64 functions accessible (Contributed by stfx)


Change 3565864 by Robert.Manuszewski

	Temp fix for a race condition with the async loading thread enabled - caching the linker in case it gets removed (but not deleted) from super class object.

Change 3569022 by Ben.Marsh

	PR #3849: Update gitignore (Contributed by mhutch)


Change 3569113 by Ben.Marsh

	Fix Japanese errors not displaying correctly in the cook output log.

	#jira UE-47746

Change 3569486 by Ben.Marsh

	UGS: Always sync the Enterprise folder if the selected .uproject file has the "Enterprise" flag set.

Change 3570483 by Graeme.Thornton

	Minor C# cleanups. Removing some redundant "using" calls which also cause dotnetcore compile errors

Change 3570513 by Robert.Manuszewski

	Fix for a race condition with async loading thread enabled.

Change 3570664 by Ben.Marsh

	UBT: Use P/Invoke to determine number of physical processors on Windows rather than using WMI. Starting up WMIC adds 2.5 seconds to build times, and is not compatible with .NET core.

Change 3570708 by Robert.Manuszewski

	Added ENABLE_GC_OBJECT_CHECKS macro to be able to quickly toggle UObject pointer checks in shipping builds when the garbage collector is running.

Change 3571592 by Ben.Marsh

	UBT: Allow running with -installed without creating [InstalledPlatforms] entries in BaseEngine.ini. If there is no HasInstalledPlatformInfo=true setting, assume that all platforms are still available.

Change 3572215 by Graeme.Thornton

	UBT
	- Remove some unnecessary using directives
	- Point SN-DBS code at the new Utils.GetPhysicalProcessorCount call, rather than trying to calculate it itself

Change 3572437 by Robert.Manuszewski

	Game-specific fix for lazy object pointer issues in one of the test levels. The previous fix had to be partially reverted due to side-effects.

	#jira UE-44996

Change 3572480 by Robert.Manuszewski

	MaterialInstanceCollections will no longer be added to GC clusters to prevent materials staying around in memory for too long

Change 3573547 by Ben.Marsh

	Add support for displaying log timestamps in local time. Set LogTimes=Local in *Engine.ini, or pass -LocalLogTimes on the command line.

Change 3574562 by Robert.Manuszewski

	PR #3847: Add GC callbacks for script integrations (Contributed by mhutch)


Change 3575017 by Ben.Marsh

	Move some functions related to generating window resolutions out of Core (FParse::Resolution, GenerateConvenientWindowedResolutions). Also remove a few headers from shared PCHs prior to splitting application functionality out of Core.

Change 3575689 by Ben.Marsh

	Add a fixed URL for opening the API documentation, so it works correctly in "internal" and "perforce" builds.

Change 3575934 by Steve.Robb

	Fix for nested preprocessor definitions.

Change 3575961 by Steve.Robb

	Fix for nested zeros.

Change 3576297 by Robert.Manuszewski

	Material resources will now be discarded in PostLoad (Game Thread) instead of in Serialize (potentially Async Loading Thread) so that shader deregistration doesn't assert when done from a different thread than the game thread.

	#jira FORT-38977

Change 3576366 by Ben.Marsh

	Add shim functions to allow redirecting FPlatformMisc::ClipboardCopy()/ClipboardPaste() to FPlatformApplicationMisc::ClipboardCopy()/ClipboardPaste() while they are deprecated.

Change 3578290 by Graeme.Thornton

	Changes to Ionic zip library to allow building on dot net core

Change 3578291 by Graeme.Thornton

	Ionic zip library binaries built for .NET Core

Change 3578354 by Graeme.Thornton

	Added FBase64::GetDecodedDataSize() to determine the size of bytes of a decoded base64 string

Change 3578674 by Robert.Manuszewski

	After loading packages flush linker cache on uncooked platforms to free precache memory

Change 3579068 by Steve.Robb

	Fix for CLASS_Intrinsic getting stomped.
	Fix to EClassFlags so that they are visible in the debugger.
	Re-added mysteriously-removed comments.

Change 3579228 by Steve.Robb

	BOM removed.

Change 3579297 by Ben.Marsh

	Fix exception if a plugin lists the same module twice.

	#jira UE-48232

Change 3579898 by Robert.Manuszewski

	When creating GC clusters and asserting due to objects still being pending load, the object name and cluster name will now be logged with the assert.

Change 3579983 by Robert.Manuszewski

	More fixes for freeing linker cache memory in the editor.

Change 3580012 by Graeme.Thornton

	Remove redundant copy of FileReference.cs

Change 3580408 by Ben.Marsh

	Validate that arguments passed to the checkf macro are valid sprintf types, and fix up a few places which are currently incorrect.

Change 3582104 by Graeme.Thornton

	Added a dynamic compilation path that uses the latest roslyn apis. Currently only used by the .NET Core path.

Change 3582131 by Graeme.Thornton

	#define out some PerformanceCounter calls that don't exist in .NET Core. They're only used by mono-specific calls anyway.

Change 3582645 by Ben.Marsh

	PR #3879: fix bug when creating a new VS2017 C++ project (Contributed by mnannola)

	#jira UE-48192

Change 3583955 by Robert.Manuszewski

	Support for EDL cooked packages in the editor

Change 3584035 by Graeme.Thornton

	Split RunExternalExecutable into RunExternaNativelExecutable and RunExternalDotNETExecutable. When running under .NET Core, externally launched DotNET utilities must be launched via the 'dotnet' proxy to work correctly.

Change 3584177 by Robert.Manuszewski

	Removed unused member variable (FArchiveAsync2::bKeepRestOfFilePrecached)

Change 3584315 by Ben.Marsh

	Move Android JNI accessor functions into separate header, to decouple it from the FAndroidApplication class.

Change 3584370 by Ben.Marsh

	Move hooks which allow platforms to load any modules into the FPlatformApplicationMisc classes.

Change 3584498 by Ben.Marsh

	Move functions for getting and setting the hardware window pointer onto the appropriate platform window classes.

Change 3585003 by Steve.Robb

	Fix for TChunkedArray ranged-for iteration.

	#jira UE-48297

Change 3585235 by Ben.Marsh

	Remove LogEngine extern from Core; use the platform log channels instead.

Change 3585942 by Ben.Marsh

	Move MessageBoxExt() implementation into application layer for platforms that require it.

Change 3587071 by Ben.Marsh

	Move Linux's UngrabAllInput() function into a callback, so DebugBreak still works without SDL.

Change 3587161 by Ben.Marsh

	Remove headers which will be stripped out of the Core module from Core.h and PlatformIncludes.h.

Change 3587579 by Steve.Robb

	Fix for Children list not being rebuilt after hot reload.

Change 3587584 by Graeme.Thornton

	Logging improvements for pak signature check failures
	 - Added "PakCorrupt" console command which corrupts the master signature table
	 - Added some extra log information about which block failed
	 - Re-hash the master signature table and to make sure that it hasn't changed since startup
	 - Moved the ensure around so that some extra logging messages can make it out before the ensure is hit
	 - Added PAK_SIGNATURE_CHECK_FAILS_ARE_FATAL to IPlatformFilePak.h so we have a single place to make signature check failures fatal again

Change 3587586 by Graeme.Thornton

	Changes to make UBT build and run on .NET Core
	 - Added *_DNC csproj files for DotNETUtilities and UnrealBuildTool projects which contain the .NET Core build setups
	 - VCSharpProjectFile can no be asked for the CsProjectInfo for a particular configuration, which is cached for future use
	 - After loading VCSharpProjectFiles, .NET Core based projects will be excluded unless generating VSCode projects

Change 3587953 by Steve.Robb

	Allow arbitrary UENUM initializers for enumerators.
	Editor-only data UENUM support.
	Enumerators named MAX are now treated as the UENUM's maximum, and will not cause a MAX+1 value to be generated.

	#jira UE-46274

Change 3589827 by Graeme.Thornton

	More fixes for VSCode project generation and for UBT running on .NET Core
	 - Use a different file extension for rules assemblies when build on .NET Core, so they never get used by their counterparts
	 - UEConsoleTraceListener supports stdout/stderror constructor parameter and outputs to the appropriate channel
	 - Added documentation for UEConsoleTraceListener
	 - All platforms .NET project compilation tasks/launch configs now use "dotnet" and not the normal batch files
	 - Restored the default UBT log verbosity to "Log" rather than "VeryVeryVerbose"
	 - Renamed assemblies for .NETCore versions of DotNETUtilities and UnrealBuildTool so they don't conflict with the output of the existing .NET Desktop Framework stuff

Change 3589868 by Graeme.Thornton

	Separate .NET Core projects for UBT and DotNETCommon out into their own directories so that their intermediates don't overlap with the standard .NET builds, causing failures.

	UBT registers ONLY .NET Core C# projects when generating VSCode solutions, and ONLY standard C# projects in all other cases

Change 3589919 by Robert.Manuszewski

	Fixing crash when cooking textures that have already been cooked for EDL (support for cooked content in the editor)

Change 3589940 by Graeme.Thornton

	Force UBT to think it's running on mono when actually running on .NET Core. Disables a lot of windows specific code paths.

Change 3590078 by Graeme.Thornton

	Fully disable automatic assembly info generation in .NET Core projects

Change 3590534 by Robert.Manuszewski

	Marking UObject as intrinsic clas to fix a crash on UFE startup.

Change 3591498 by Gil.Gribb

	UE4 - Fixed several edge cases in the low level async loading code, especially around cancellation. Also PakFileTest is a console command which can be used to stress test pak file loading.

Change 3591605 by Gil.Gribb

	UE4 - Follow up to fixing several edge cases in the low level async loading code.

Change 3592577 by Graeme.Thornton

	.NET Core C# projects now reference source files explicitly, to stop it accidentally compiling various intermediates

Change 3592684 by Steve.Robb

	Fix for EObjectFlags being passed as the wrong argument to csgCopyBrush.

Change 3592710 by Steve.Robb

	Fix for invalid casts in ListProps command.
	Some name changes in command output.

Change 3592715 by Ben.Marsh

	Move Windows event log code into cpp file, and expose it to other modules even if it's not enabled by default.

Change 3592767 by Gil.Gribb

	UE4 - Changed the logic so that engine UObjects boot before anything else. The engine classes are known to be cycle-free, so we will get them done before moving onto game modules.

Change 3592770 by Gil.Gribb

	UE4 - Fixed a race condition with async read completion in the prescence of cancels.

Change 3593090 by Steve.Robb

	Better error message when there two clashing type names are found.

Change 3593697 by Steve.Robb

	VisitTupleElements function, which calls a functor for each element in the tuple.

Change 3595206 by Ben.Marsh

	Include additional diagnostics for missing imports when a module load fails.

Change 3596140 by Graeme.Thornton

	Batch file for running MSBuild

Change 3596267 by Steve.Robb

	Thread safety fix to FPaths::GetProjectFilePath().

Change 3596271 by Robert.Manuszewski

	Added code to verify compression flags in package file summary to avoid cases where corrupt packages are crashing the editor

	#jira UE-47535

Change 3596283 by Steve.Robb

	Redundant casts removed from UHT.

Change 3596303 by Ben.Marsh

	EC: Improve parsing of Android Clang errors and warnings, which are formatted as MSVC diagnostics to allow go-to-line clicking in the Output Window.

Change 3596337 by Ben.Marsh

	UBT: Format messages about incorrect headers in a way that makes them clickable from Visual Studio.

Change 3596367 by Steve.Robb

	Iterator checks in ranged-for on TMap, TSet and TSparseArray.

Change 3596410 by Gil.Gribb

	UE4 - Improved some error messages on runtime failures in the EDL.

Change 3596532 by Ben.Marsh

	UnrealVS: Fix setting command line to empty not affecting property sheet. Also remove support for VS2013.

	#jira UE-48119

Change 3596631 by Steve.Robb

	Tool which takes a .map file and a .objmap file (from UBT) and creates a report which shows the size of all the symbols contributed by the source code per-folder.

Change 3596807 by Ben.Marsh

	Improve Intellisense when generated headers are missing or out of date (eg. line numbers changed, etc...). These errors seem to be masked by VAX, but are present when using the default Visual Studio Intellisense.

	* UCLASS macro is defined to empty when __INTELLISENSE__ is defined. Previous macro was preventing any following class declaration being parsed correctly if generated code was out of date, causing squiggles over all class methods/variables.
	* Insert a semicolon after each expanded GENERATED_BODY macro, so that if it parses incorrectly, the compiler can still continue parsing the next declaration.

Change 3596957 by Steve.Robb

	UBT can be used to write out an .objsrcmap file for use with the MapFileParser.
	Renaming of ObjMap to ObjSrcMap in MapFileParser.

Change 3597213 by Ben.Marsh

	Remove AutoReporter. We don't support this any more.

Change 3597558 by Ben.Marsh

	UGS: Allow adding custom actions to the context menu for right clicking on a changelist. Actions are specified in the project's UnrealEngine.ini file, with the following syntax:

	+ContextMenu=(Label="This is the menu item", Execute="foo.exe", Arguments="bar")

	The standard set of variables for custom tools is expanded in each parameter (eg. $(ProjectDir), $(EditorConfig), etc...), plus the $(Change) variable.

Change 3597982 by Ben.Marsh

	Add an option to allow overriding the local DDC path from the editor (under Editor Preferences > Global > Local Derived Data Cache).

	#jira UE-47173

Change 3598045 by Ben.Marsh

	UGS: Add variables for stream and client name, and the ability to escape any variables for URIs using the syntax $(VariableName:URI).

Change 3599214 by Ben.Marsh

	Avoid string duplication when comparing extensions.

Change 3600038 by Steve.Robb

	Fix for maps being modified during iteration in cache compaction.

Change 3600136 by Steve.Robb

	GitHub #3538 : Fixed a bug with the handling of 'TMap' key/value types in the UnrealHeaderTool

Change 3600214 by Steve.Robb

	More accurate error message when unsupported template parameters are provided in a TSet property.

Change 3600232 by Ben.Marsh

	UBT: Force UHT to run again if the .build.cs file for a module has changed.

	#jira UE-46119

Change 3600246 by Steve.Robb

	GitHub #3045 : allow multiple interface definition in a file

Change 3600645 by Ben.Marsh

	Convert QAGame to Include-What-You-Use.

Change 3600897 by Ben.Marsh

	Fix invalid path (multiple slashes) in LibCurl.build.cs. Causes exception when scanning for includes.

Change 3601558 by Graeme.Thornton

	Simple first pass VSCode editor integration plugin

Change 3601658 by Graeme.Thornton

	Enable intellisense generation for VS Code project files and setup include paths properly

Change 3601762 by Ben.Marsh

	UBT: Add support for adaptive non-unity builds when working from a Git repository.

	The ISourceFileWorkingSet interface is now used to query files belonging to the working set, and has separate implementations for Perforce (PerforceSourceFileWorkingSet) and Git (GitSourceFileWorkingSet). The Git implementation is used if a .git directory is found in the directory containing the Engine folder, the directory containing the project file, or the parent directory of the project file, and spawns a "git status" process in the background to determine which files are untracked or staged.

	Several new settings are supported in BuildConfiguration.xml to allow modifying default behavior:

	<SourceFileWorkingSet>
	    <Provider>Default</Provider> <!-- May be None, Default, Git or Perforce -->
	    <RepositoryPath></RepositoryPath> <!-- Specifies the path to the repository, relative to the directory containing the Engine folder. If not set, tries to find a .git directory in the locations listed above. -->
	    <GitPath>git</GitPath> <!-- Specifies the path to the Git executable. Defaults to "git", which assumes that it will be on the PATH -->
	</SourceFileWorkingSet>

Change 3604032 by Graeme.Thornton

	First attempt at automatically detecting the existance and location of visual studio code in the source code accessor module. Only works for windows.

Change 3604038 by Graeme.Thornton

	Added FSourceCodeNavigation::GetSelectedSourceCodeIDE() which returns the name of the selected source code accessor.
	Replaced all usages of FSourceCodeNavigation::GetSuggestedSourceCodeIDE() with GetSelectedSourceCodeIDE(), where the message is referring to the opening or editing of code.

Change 3604106 by Steve.Robb

	GitHub #3561 : UE-44950: Don't see all caps struct constructor as macro

Change 3604192 by Steve.Robb

	GitHub #3911 : Improving ToUpper/ToLower efficiency

Change 3604273 by Graeme.Thornton

	IWYU build fixes when malloc profiler is enabled

Change 3605457 by Ben.Marsh

	Fix race for intiialization of ThreadID variable on FRunnableThreadWin, and restore a previous check that was working around it.

Change 3606720 by James.Hopkin

	Dave Ratti's fix to character base recursion protection code - was missing a GetOwner call, instead attempting to cast a component to a pawn.

Change 3606807 by Graeme.Thornton

	Disabled optimizations around FShooterStyle::Create(), which was crashing in Win64 shipping game builds due to some known compiler issue. Same variety of fix as BenZ did in CL 3567741.

Change 3607026 by James.Hopkin

	Fixed incorrect ABrush cast - was attempting to cast a UModel to ABrush, which can never succeed

Change 3607142 by Graeme.Thornton

	UBT - Minor refactor of BackgroundProcess shutdown in SourceFileWorkingSet. Check whether the process has already exited before trying to kill it during Dispose.

Change 3607146 by Ben.Marsh

	UGS: Fix exception due to formatting string when Perforce throws an error.

Change 3607147 by Steve.Robb

	Efficiency fix for integer properties, which were causing a property mismatch and thus a tag lookup every time.
	Float and double conversion support added to int properties.
	NAME_DoubleProperty added.
	Fix for converting enum class enumerators > 255 to int properties.

Change 3607516 by Ben.Marsh

	PR #3935: Fix DECLARE_DELEGATE_NineParams, DECLARE_MULTICAST_DELEGATE_NineParams. (Contributed by enginevividgames)


Change 3610421 by Ben.Marsh

	UAT: Move help for RebuildLightMapsCommand into attributes, so they display when running with -help.

Change 3610657 by Ben.Marsh

	UAT: Unify initialization of command environment for build machines and local execution. Always derive parameters which aren't manually set via environment variables.

Change 3611000 by Ben.Marsh

	UAT: Remove the -ForceLocal command line option. Settings are now determined automatically, independently of the -Buildmachine argument.

Change 3612471 by Ben.Marsh

	UBT: Move FastJSON into DotNETUtilities.

Change 3613479 by Ben.Marsh

	UBT: Remove the bIsCodeProject flag from UProjectInfo. This was only really being used to determine which projects to generate an IDE project for, so it is now checked in the project file generator.

Change 3613910 by Ben.Marsh

	UBT: Remove unnecessary code to guess a project from the target name; doesn't work due to init order, actual project is determined later.

Change 3614075 by Ben.Marsh

	UBT: Remove hacks for testing project file attributes by name.

Change 3614090 by Ben.Marsh

	UBT: Remove global lookup of project by name. Projects should be explicitly specified by path when necessary.

Change 3614488 by Ben.Marsh

	UBT: Prevent annoying (but handled) exception when constructing SQLiteModuleSupport objects with -precompile enabled.

Change 3614490 by Ben.Marsh

	UBT: Simplify generation of arguments for building intellisense; determine the platform/configuration to build from the project file generation code, rather than inside the target itself.

Change 3614962 by Ben.Marsh

	UBT: Move the VS2017 strict conformance mode (/permissive-) behind a command line option (-Strict), and disable it by default. Building with this mode is not guaranteed to work correctly without updated Windows headers.

Change 3615416 by Ben.Marsh

	EC: Include an icon showing the overall status of a build in the grid view.

Change 3615713 by Ben.Marsh

	UBT: Delete any files in output directories which match output files in other directories. Allows automatically deleting build products which are moved into another folder.

	#jira UE-48987

Change 3616652 by Ben.Marsh

	Plugins: Fix incorrect dialog when binaries for a plugin are missing. Should only prompt to disable if starting a content-only project.

	#jira UE-49007

Change 3616680 by Ben.Marsh

	Add the CodeAPI-HTML.tgz file into the installed engine build.

Change 3616767 by Ben.Marsh

	Plugins: Tweak error message if the FModuleManager::IsUpToDate() function returns false for a plugin module; the module may be missing, not just incompatible.

Change 3616864 by Ben.Marsh

	Cap the length of the temporary package name during save, to prevent excessively long filenames going over the limit once a GUID is appended.

	#jira UE-48711

Change 3619964 by Ben.Marsh

	UnrealVS: Fix single file compile for foreign projects, where the command line contains $(SolutionDir) and $(ProjectName) variables.

Change 3548930 by Ben.Marsh

	UBT: Remove UEBuildModuleCSDLL; there is no codepath that still supports creating them. Remove the remaining UEBuildModule/UEBuildModuleCPP abstraction.

Change 3558056 by Ben.Marsh

	Deprecate FString::Trim() and FString::TrimTrailing(), and replace them with separate versions to mutate (TrimStartInline(), TrimEndInline()) or return by copy (TrimStart(), TrimEnd()). Also add a functions to trim whitespace from both ends of a string (TrimStartAndEnd(), TrimStartAndEndInline()).

Change 3563309 by Graeme.Thornton

	Moved some common C# classes into the DotNETCommon assembly

Change 3570283 by Graeme.Thornton

	Move some code out of RPCUtility and into DotNETCommon, removing the dependency between the two projects
	Added UEConsoleTraceListener to replace ConsoleTraceListener, which doesn't exist in DotNetCore

Change 3572811 by Ben.Marsh

	UBT: Add -enableasan / -enabletsan command line options and bEnableAddressSanitizer / bEnableThreadSanitizer settings in BuildConfiguration.xml (and remove environment variables).

Change 3573397 by Ben.Marsh

	UBT: Create a <ExeName>.version file for every target built by UBT, in the same JSON format as Engine/Build/Build.version. This allows monolithic targets to read a version number at runtime, unlike when it's embedded in a modules file, and allows creating versioned client executables that will work with versioned servers when syncing through UGS.

Change 3575659 by Ben.Marsh

	Remove CHM API documentation.

Change 3582103 by Graeme.Thornton

	Simple ResX writer implemetation that the xbox deloyment code can use instead of the one from the windows forms assembly, which isn't supported on .NET Core

	Removed reference to System.Windows.Form from UBT.

Change 3584113 by Ben.Marsh

	Move key-mapping functionality into the InputCore module.

Change 3584278 by Ben.Marsh

	Move FPlatformMisc::RequestMinimize() into FPlatformApplicationMisc.

Change 3584453 by Ben.Marsh

	Move functionality for querying device display density to FApplicationMisc, due to dependence on application-level functionality on mobile platforms.

Change 3585301 by Ben.Marsh

	Move PlatformPostInit() into an FPlatformApplicationMisc function.

Change 3587050 by Ben.Marsh

	Move IsThisApplicationForeground() into FPlatformApplicationMisc.

Change 3587059 by Ben.Marsh

	Move RequiresVirtualKeyboard() into FPlatformApplicationMisc.

Change 3587119 by Ben.Marsh

	Move GetAbsoluteLogFilename() into FPlatformMisc.

Change 3587800 by Steve.Robb

	Fixes to container visualizers for types whose pointer type isn't simply Type*.

Change 3588393 by Ben.Marsh

	Move platform output devices into their own headers.

Change 3588868 by Ben.Marsh

	Move creation of console, error and warning output devices int PlatformApplicationMisc.

Change 3589879 by Graeme.Thornton

	All automation projects now have a reference to DotNETUtilities
	Fixed a build error in the WEX automation library

Change 3590034 by Ben.Marsh

	Move functionality related to windowing and input out of the Core module and into an ApplicationCore module, so it is possible to build utilities with Core without adding dependencies on XInput (Windows), SDL (Linux), and OpenGL (Mac).

Change 3593754 by Steve.Robb

	Fix for tuple debugger visualization.

Change 3597208 by Ben.Marsh

	Move CrashReporter out of a public folder; it's not in a form that is usable by subscribers and licensees.

Change 3600163 by Ben.Marsh

	UBT: Simplify how targets are cleaned. Delete all intermediate folders for a platform/configuration, and delete any build products matching the UE4 naming convention for that target, rather than relying on the current build configuration or list of previous build products. This will ensure that build products which are no longer being generated will also be cleaned.

	#jira UE-46725

Change 3604279 by Graeme.Thornton

	Move pre/post garbage collection delegates into accessor functions so they can be used by globally constructed objects

Change 3606685 by James.Hopkin

	Removed redundant 'Cast's (casting to either the same type or a base).

	In SClassViewer, replaced cast with TAssetPtr::operator* call to get the wrapped UClass.
	Also removed redundant 'IsA's from AnimationRetargetContent::AddRemappedAsset in EditorAnimUtils.cpp.

Change 3610950 by Ben.Marsh

	UAT: Simplify logic for detecting Perforce settings, using environment variables if they are set, otherwise falling back to detecting them. Removes special cases for build machines, and makes it simpler to set up UAT commands on builders outside Epic.

Change 3610991 by Ben.Marsh

	UAT: Use the correct P4 settings to detect settings if only some parameters are specified on the command line.

Change 3612342 by Ben.Marsh

	UBT: Change JsonObject.Read() to take a FileReference parameter.

Change 3612362 by Ben.Marsh

	UBT: Remove some more cases of paths being passed as strings rather than using FileReference objects.

Change 3619128 by Ben.Marsh

	Include builder warnings and errors in the notification emails for automated tests, otherwise it's difficult to track down non-test failures.

[CL 3620189 by Ben Marsh in Main branch]
2017-08-31 12:08:38 -04:00
Ben Marsh
f461ea68e9 Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3548365)
#lockdown Nick.Penwarden

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

Change 3494741 by Steve.Robb

	Generated code size savings.

	#jira UE-43048

Change 3495484 by Steve.Robb

	Fix for generated indices of static arrays when saving configs.

Change 3497926 by Robert.Manuszewski

	Removed FPackageFileSummary's CompressedChunks array as it was no longer being used by anything.

Change 3498077 by Robert.Manuszewski

	Only use the recursion guard in async loading code when the event driven loader is enabled.

Change 3498112 by Ben.Marsh

	UBT: Respect the option to not create debug info in the Android toolchain. This option is already being respected by the compiler, but the linker adds debug info of its own.

Change 3500239 by Robert.Manuszewski

	Made sure the Super Class token stream is also locked when assembling Class token stream with async loading thread enabled. This to to prevent race conditions when loading BP classes.

Change 3500395 by Steve.Robb

	Extra codegen savings when not in hot reload.

Change 3501004 by Steve.Robb

	EObjectFlags now have constexpr operators.

Change 3502079 by Ben.Marsh

	UBT: Pad multi-line error messages so that they align under the prefix for the first line, and include the timestamp if necessary.

Change 3502527 by Steve.Robb

	Fix for zero-sized array compile error in generated code when all functions are editor-only.

Change 3502542 by Ben.Marsh

	UAT: Remove the custom source parameter from log functions, and add support for a customizable indent instead.

Change 3502868 by Steve.Robb

	Workaround for inefficient generated code with stateless lambdas on Clang.

Change 3503550 by Steve.Robb

	Another generated code lambda optimization.

Change 3503582 by Ben.Marsh

	BuildGraph: Add support for nullable parameter types.

Change 3504424 by Steve.Robb

	New AllOf, AnyOf and NoneOf algorithms.

Change 3504712 by Ben.Marsh

	UAT: Less spammy log and error output from UAT.

	* Callstacks for AutomationExceptions are suppressed by default but still included in the log (the path to the log is noted in console output with the message from the exception).
	* Add a mechanism for any exceptions to be caught and rethrown with additional lines of context (CommandUtils.AddContext()) that will be appended to the error output by UAT. Avoids decaying the exception type or masking the inner exception message while still adding additional information.
	* AggregateExceptions resulting from exceptions on child threads are automatically unwrapped (full details are still appended to the log)
	* Name of the calling function is not included in console output by default, but still included in the log.

Change 3504808 by Ben.Marsh

	UAT: Suppress P4 output when running a recursive instance of UAT.

Change 3505044 by Steve.Robb

	Code generation improved for TCppClassType code.

Change 3505485 by Ben.Marsh

	Fix deterministic cooking issue; always use a pseudo-random number stream when compiling a module.

Change 3505699 by Ben.Marsh

	Plugins: Store the bEnabledByDefault flag exactly as it was read from disk rather than collapsing it to an absolute value based on the default for the location it was read from. This allows loading/saving plugin descriptors without any knowledge of whether they are game or engine plugins.

Change 3506055 by Ben.Marsh

	UAT: Add a class to apply a log indent for the lifetime of an object (ScopedLogIndent), and use it to apply an indent to MegaXGE/ParallelExecutor output.

Change 3507745 by Robert.Manuszewski

	Moved FSimpleObjectReferenceCollectorArchive and FSimpleObjectReferenceCollectorArchive to be internal archives used only by FReferenceCollector so that they are constructed only once per GC task instead of potentially multiple times per GC (as was the case with UDataTables and BlueprintGeneratedClasses).

Change 3507911 by Ben.Marsh

	Plugins: Minor changes to plugin descriptors.

	* Add a distinct setting for an unspecified EnabledByDefault setting in plugin descriptors.
	* Add a function to IPlugin to determine the effective EnabledByDefault setting, based on where the plugin was loaded from.

Change 3508669 by Ben.Marsh

	EC: Parse multi-line messages from UBT and UAT.

Change 3508691 by Ben.Marsh

	Fix double-spacing of cook stats.

Change 3509245 by Steve.Robb

	UHT makefiles removed.
	Flag audit removed.

Change 3509275 by Steve.Robb

	Fix for mismatched stat categories in AudioMixer.

	#jira UE-46129

Change 3509289 by Robert.Manuszewski

	Custom Version Container will no longer be always constructed in FArchive constructor. This reduces the number of the Custom Version Container allocations considerably.

Change 3509294 by Robert.Manuszewski

	UDataTable::AddReferencedObjects will no longer try to iterate over the RowMap if there's no UObject references in it.

Change 3509312 by Steve.Robb

	GitHub# 3679: Add TArray constructor that takes a raw pointer and a count

	Check improved for Append() to allow nullptr in empty ranges, and added to new constructor too.

	#jira UE-46136

Change 3509396 by Steve.Robb

	GitHub# 3676: Fix TUnion operator<< compile error

	#jira UE-46099

Change 3509633 by Steve.Robb

	Fix for line numbers on multiline macros.

Change 3509938 by Gil.Gribb

	UE4 - Fix rare assert involving cancelled precache requests and non-pak-file loading.

Change 3510593 by Daniel.Lamb

	Fixed up unsoilicited files getting populated with files which aren't finished being created yet.

	#test None

Change 3510594 by Daniel.Lamb

	Fixed up temp files directory for patching.

	Thanks David Yerkess @ Milestone
	#review@Ben.Marsh

Change 3511628 by Ben.Marsh

	PR #3707: Fixed UBT stack size (Contributed by gildor2)


Change 3511808 by Ben.Marsh

	Optimize checks for whether the game project contains source code. Now stops as soon as the first file is found and ignores directories beginning with a '.' character (eg. .git)

	#jira UE-46540

Change 3512017 by Ben.Marsh

	Plugins: Deprecate the QueryStatusForAllPlugins() function; the same functionality is available via the IPlugin interface.

Change 3513935 by Steve.Robb

	Reverted array iteration in FPropertyNode::PropagatePropertyChange as this is now covered in TProperty::InitializeValueInternal() as of CL# 3293477.

Change 3514142 by Steve.Robb

	MemoryProfiler2 added to generated solution.

Change 3516463 by Ben.Marsh

	Plugins: Create a manifest for each PAK file containing all the plugin descriptors in one place. Eliminates need to recurse through directories and read separate multiple files in serial at startup, and allows reading all plugin descriptors with one read. The "Mods" directory is excluded from the manifest, since these are intended to be installed separately by the user.

Change 3517860 by Ben.Marsh

	PR #3727: FString Dereference Fixes (Contributed by jovisgCL)


Change 3517967 by Ben.Marsh

	Suppress additional system error dialogs when loading DLLs if -unnattended is on the command line.

Change 3518070 by Steve.Robb

	Disable Binned2 stats in shipping non-editor builds.

Change 3520079 by Steve.Robb

	Fixed bad codegen TAssetPtrs being passed into BlueprintImplementableEvent functions.

	#jira UE-24034

Change 3520080 by Robert.Manuszewski

	Made max package summary size to be configurable with ini setting

Change 3520083 by Steve.Robb

	Force a GC after hot reload to clean up reinstanced objects which may still tick.

	#jira UE-40421

Change 3520480 by Robert.Manuszewski

	Improved assert message when the initial package read request was too small.

Change 3520590 by Graeme.Thornton

	SignedArchiveReader optimizations
	 - Loads more stats
	 - Stop chunk cache worker from waking up continuously to poll for work. Only wake up when triggered by the archive reader
	 - Signed archive reader just yields when waiting for buffers to finish loading, rather than sleeping for some arbitrary amount of time
	 - Track the number of pending read requests in an atomic counter, to save having to lock the request queue to check for new entries

Change 3521023 by Graeme.Thornton

	Remove spin from signed archive reader. Main thread waits on an event triggered by the chunk worker to indicate that new chunks are ready for processing

Change 3521787 by Ben.Marsh

	PR #3736: Small static code analysis fixes (Contributed by jovisgCL)


Change 3521789 by Ben.Marsh

	PR #3735: Fix case sensitivity issue in FWindowsPlatformProcess::IsApplicationRunning. (Contributed by samhocevar)


Change 3524721 by Ben.Marsh

	Move Linux SDL initialization into FLinuxPlatformApplicationMisc. Attempting to move functionality related to interactive applications (graphics, input, etc...) into a separate place, so it can ultimately be moved out of Core.

Change 3524741 by Ben.Marsh

	Move PumpMessages() into FPlatformApplicationMisc.

Change 3525399 by Ben.Marsh

	UGS: Use the default Perforce server port when opening P4V if there is not one set in the environment.

Change 3525743 by Ben.Marsh

	UAT: Add a parameter to allow updating version files without updating Version.h, to allow faster link times on incremental builds.

Change 3525746 by Ben.Marsh

	EC: Include the clobber option on new workspaces, to allow overriding version files when syncing.

Change 3526453 by Ben.Marsh

	UGS: Do not generate project files when syncing precompiled binaries.

Change 3527045 by Ben.Marsh

	Fix hot reload generating import libraries without DLLs. Now that they are produced by separate actions by default, it was removing DLLs from the action graph due to the bSkipLinkingWhenNothingToCompile setting.

Change 3527420 by Ben.Marsh

	UGS: Add additional search paths for UGS config files, and fix a few cosmetic issues (inability to display ampersands in tools menu, showing changelist -1 when running a tool without syncing).

	Config files are now read from:

	Engine/Programs/UnrealGameSync/UnrealGameSync.ini
	Engine/Programs/UnrealGameSync/NotForLicensees/UnrealGameSync.ini

	If a project is selected:

	<ProjectDir>/Build/UnrealGameSync.ini
	<ProjectDir>/Build/NotForLicensees/UnrealGameSync.ini

	If the .uprojectdirs file is selected:

	Engine/Programs/UnrealGameSync/DefaultProject.ini
	Engine/Programs/UnrealGameSync/NotForLicensees/DefaultProject.ini

Change 3528063 by Ben.Marsh

	Fix non-thread safe construction of FPluginManager singleton. Length of time spent in the constructor resulted in multiple instances being constructed at startup, making the time to enumerate plugins on slow media significantly worse.

Change 3528415 by Ben.Marsh

	UAT: Remove \r characters from the end of multiline log messages.

Change 3528427 by Ben.Marsh

	EC: Fix spaces being converted to tabs at start of line in failure emails (by Gmail), and wrap following lines at the same indent.

Change 3528485 by Ben.Marsh

	EC: Remove zero-width word break characters from slashes in notification emails; can cause really hard to debug problems when copy pasted into other places.

Change 3528505 by Steve.Robb

	PR #3755: MallocProfiler - Remove subfolder from profiling save directory (Contributed by Josef-CL)


	#jira UE-46819

Change 3528772 by Robert.Manuszewski

	Enabling actor and blueprint clustering in ShooterGame

Change 3528786 by Robert.Manuszewski

	PR #3760: Fix typo (Contributed by jesseyeh)


Change 3528792 by Steve.Robb

	PR #3764: MallocProfiler - Refactoring Scopelock (Contributed by Josef-CL)


	#jira UE-46962

Change 3528941 by Robert.Manuszewski

	Fixed lazy object pointers not being updated for streaming sub-levels in PIE. Fixed lazy pointers returning object that is still being loaded which could lead to undefined behavior when client code started modifying the returned object.

	#jira UE-44996

Change 3530241 by Ben.Marsh

	UAT: Only pass -submit or -nosubmit to child instances of UAT if they were specified on the original command line. BuildCookRun uses this flag to determine whether to submit, rather than just whether to allow submitting, so we shouldn't pass an inferred value.

Change 3531377 by Ben.Marsh

	Plugins: Allow plugins to specify a list of supported target platforms, which is propagated to any .uproject file that enables it.

	This has several advantages over the per-module platform whitelist/blacklist:

	* Platform-specific .uplugin files can now be excluded when staging other platforms. Previously, it was only possible to determine which platforms a plugin supports by reading the plugin descriptor itself. Now that information is copied into the .uproject file, so the runtime knows which plugins to ignore.
	* References to dependent plugins from platform-specific plugins can now be eliminated.
	* Plugins containing content can now be unambiguously disabled on a per-platform basis (having no modules for a platform does not confer that a plugin doesn't support that platform; now it is possible to specify supported platforms explicitly).
	* The editor can load any plugins without having to whitelist supported editor host platforms.

	UE4 targets which support loading plugins for target platforms can set TargetRules.bIncludePluginsForTargetPlatforms (true for the editor by default, false for any other target types). This defines the LOAD_PLUGINS_FOR_TARGET_PLATFORMS macro at runtime, which allows the plugin system to filter which plugins to look for at runtime.

	Any .uproject file will be updated at startup to contain the list of supported platforms for each referenced plugin if necessary.

Change 3531502 by Jin.Zhang

	Add support for GPUCrash #rb

Change 3531664 by Ben.Marsh

	UBT: Change output format from C# JSON writer to match output by the engine.

Change 3531848 by Ben.Marsh

	UAT: Add script to resaving all project descriptors under a folder, embedding information for any supported platforms for the plugins they enable.

Change 3531869 by Ben.Marsh

	UAT: Add parameter to the ResaveProjectDescriptors command to update the engine association field.

Change 3532474 by Ben.Marsh

	UBT: Use the same mechanism as UAT for logging exceptions.

Change 3532734 by Graeme.Thornton

	Initial VSCode Support
	 - Tasks generated for building all game/engine/program targets
	 - Debugging support for targets on Win64

Change 3532789 by Steve.Robb

	FScriptSet::Add and TScriptMap::Add now replace the element, matching the behavior of TSet and TMap.
	Set_Add and Map_Add no longer have a return value.
	FScriptSet::Find and FScriptMap::Find functions are now FindIndex.
	FScriptSetHelper::FindElementFromHash is now FindElementIndexFromHash.

Change 3532845 by Steve.Robb

	Obsolete UHT settings deleted.

Change 3532875 by Graeme.Thornton

	VSCode
	 - Add debug targets for different target configurations
	 - Choose between VS debugger (windows) and GDB (mac/linux)

Change 3532906 by Graeme.Thornton

	VSCode
	 - Point all builds directly at UBT rather than the batch files
	 - Adjust mac build tasks to run through mono

Change 3532924 by Ben.Marsh

	UAT: Set the UAT working directory immediately on startup. This ensures that any command line arguments containing paths are resolved consistently to the branch root.

Change 3535234 by Graeme.Thornton

	VSCode - Pass intellisense system a list of paths to use for header resolution

Change 3535247 by Graeme.Thornton

	UBT - Add a ToString to ProjectFile.Source file to help with debugger watch presentation

Change 3535376 by Graeme.Thornton

	VSCode
	 - Added build jobs for C# projects
	 - Linked launch tasks to relevant build task

Change 3537083 by Ben.Marsh

	EC: Change P4 swarm links to start at the changelist for a build.

Change 3537368 by Graeme.Thornton

	Fix for crash in FSignedArchiveReader when multithreading is disabled

Change 3537550 by Graeme.Thornton

	Fixed a crash in the taskgraph when running single threaded

Change 3537922 by Steve.Robb

	Missing PF_ATC_RGBA_I added to FOREACH_ENUM_EPIXELFORMAT.

Change 3539691 by Graeme.Thornton

	VSCode - Various updates to get PC and Mac C++ projects building and debugging.
	 - Some other changes to C# setup to allow compilation. Debugging doesn't work.

Change 3539775 by Ben.Marsh

	Plugins: Various fixes to settings for enabling plugins.

	* Fix crash on startup when trying to disable a missing plugin (was keeping pointers to elements in the project's plugin reference array, which may be modified if a plugin is disabled).
	* Revert fix to set PluginDescriptor.bRequiresBuildPlatform = true by default. This was the originally intended behavior, but it was accidentally defaulted to false during serialization unless specified in the .uplugin file. Many plugins may rely on this behavior (they may not declare asset classes otherwise, for example, which could result in loss of data), so change the default value to false instead. Also fixes popups to disable platform-specific plugins if platform SDKs are not installed.
	* Fix plugins which are referenced but do not exist not showing the appropriate prompt to disable them.

Change 3540788 by Ben.Marsh

	UBT: Add support for declaring custom pre-build steps and post-build steps from .target.cs files. Similarly to the custom build steps configurable from .uproject and .uplugin files, these specify commands which will be executed by the host platform's shell before or after a build. The following variables are expanded within the list of commands before execution: $(EngineDir), $(ProjectDir), $(TargetName), $(TargetPlatform), $(TargetConfiguration), $(TargetType), $(ProjectFile).

	Example usage:

	public class UnrealPakTarget : TargetRules
	{
		public UnrealPakTarget(TargetInfo Target) : base(Target)
		{
			Type = TargetType.Program;
			LinkType = TargetLinkType.Monolithic;
			LaunchModuleName = "UnrealPak";

			if(HostPlatform == UnrealTargetPlatform.Win64)
			{
				PreBuildSteps.Add("echo Before building:");
				PreBuildSteps.Add("echo This is $(TargetName) $(TargetConfiguration) $(TargetPlatform)");

				PostBuildSteps.Add("echo After building!");
				PostBuildSteps.Add("echo This is $(TargetName) $(TargetConfiguration) $(TargetPlatform)");
			}
		}
	}

Change 3541664 by Graeme.Thornton

	VSCode - Add problemMatcher tag to cpp build targets

Change 3541732 by Graeme.Thornton

	VSCode - Change UBT command line switch to "-vscode" for simplicity

Change 3541967 by Graeme.Thornton

	VSCode - Fixes for Mac/Linux build steps

Change 3541968 by Ben.Marsh

	CRP: Pass through the EnabledPlugins element in crash context XML files.

	#jira UE-46912

Change 3542519 by Ben.Marsh

	UBT: Add chain of references to error messages when configuring plugins.

Change 3542523 by Ben.Marsh

	UBT: Add more useful error message when attempt to parse a JSON object fails.

Change 3542658 by Ben.Marsh

	UBT: Include a chain of references when reporting errors instantiating modules.

Change 3543432 by Ben.Marsh

	Plugins: Fix plugins which are enabled by default not being enabled unless a project file is set.

Change 3543436 by Ben.Marsh

	UBT: Prevent recursing through the same module more than once when building out the referenced modules. Produces much shorter reference chains when something fails.

Change 3543536 by Ben.Marsh

	UBT: Downgrade message about redundant plugin references to a warning.

Change 3543871 by Gil.Gribb

	UE4 - Fixed a critical crash bug with non-EDL loading from pak files.

Change 3543924 by Robert.Manuszewski

	Fixed a crash on UnrealFrontend startup caused by re-assembling GC token stream for one of the classes.
	+Small optimization to token stream generation code.

Change 3544469 by Jin.Zhang

	Crashes page displays the list of plugins from the crash context #rb

Change 3544608 by Steve.Robb

	Fix for nativized generated code.

	#jira UE-47452

Change 3544612 by Ben.Marsh

	Add callback into FMacPlatformMisc::PumpMessages() from FMacPlatformApplicationMisc::PumpMessages().

	#jira UE-47449

Change 3545954 by Gil.Gribb

	Fixed a critical crash bug relating to a race condition in async package summary reading.

Change 3545968 by Ben.Marsh

	UAT: Fix incorrect username in BuildGraph <Submit> task. Should use the username from the Perforce environment, not assume the logged in user name is the same.

	#jira UE-47419

Change 3545976 by Ben.Marsh

	EC: Delete the AutoSDK client if the directory doesn't exist. When we format build machines, we need to force everything to be resynced from scratch.

Change 3546185 by Ben.Marsh

	Hacky fix for deployment on IOS/TVOS. Since deployment directly references the NonUFS manifest files that are written out, merge all the SystemNonUFS files back into the NonUFS list after the regular NonUFS files have been remapped.

Change 3547084 by Gil.Gribb

	Fixed a critical race condition in the new async loader. This was only reproducible on IOS, but may affect other platforms.

Change 3547968 by Gil.Gribb

	Fixed critical race which potentially could cause a crash in the pak precacher.

Change 3504722 by Ben.Marsh

	BuildGraph: Improved tracing for error messages. All errors are now propagated as exceptions, and are tagged with additional context information about the task currently being run.

	For example, throwing new AutomationException("Unable to write foo.txt") from SetVersionTask.Execute is now displayed in the log as:

	ERROR: Unable to write to foo.txt
	         while executing <SetVersion Change="0" CompatibleChange="0" Branch="Unknown" Promoted="True" />
	         at Engine\Build\InstalledEngineBuild.xml(91)
	       (see D:\P4 UE4\Engine\Programs\AutomationTool\Saved\Logs\UAT_Log.txt for full exception trace)

Change 3512255 by Ben.Marsh

	Rename FPaths functions with a "Game" prefix (GameDir(), GameContentDir(), etc...) to have a "Project" prefix (ProjectDir(), ProjectContentDir(), etc...) for clarity with non-game uses of UE4. Old functions still exist but are deprecated.

Change 3512332 by Ben.Marsh

	Rename "Game" functions in FApp to be "Project" functions (FApp::GetGameName() -> FApp::GetProjectName(), etc...) for clarity with non-game uses of UE4.

Change 3512393 by Ben.Marsh

	Rename FPaths::GameLogDir() to FPaths::ProjectLogDir().

Change 3513452 by Ben.Marsh

	Plugins: Rename EPluginLoadedFrom::GameProject to EPluginLoadedFrom::Project.

Change 3516262 by Ben.Marsh

	Add support for a "Mods" folder distinct from the project's "Plugins" folder, instead of using the bIsMod flag on the plugin descriptor.

	* Mods are enumerated similarly to regular plugins, but IPlugin::GetType() will return EPluginType::Mod.
	* The DLCName parameter to BuildCookRun and the cooker now correctly finds any plugin in the Plugins or Mods directory (or any subfolders).

Change 3517565 by Ben.Marsh

	Remove fixed engine version numbers from OSS plugins.

Change 3518005 by Ben.Marsh

	UAT: Remove the bUFSFile parameter from DeployLowerCaseFilenames(). Every platform returns false if the argument is false.

Change 3518054 by Ben.Marsh

	UAT: Use an enum to direct whether all directories should be searched when finding files to stage, rather than a bool. Having so many optional boolean arguments makes code unreadable and refactoring hard.

Change 3524496 by Ben.Marsh

	Start moving GUI application code into a separate static platform class, hopefully ultimately removing it from Core.

Change 3524641 by Ben.Marsh

	Move more functionality related to windowed/graphical applications into FPlatformApplicationMisc.

Change 3528723 by Steve.Robb

	MoveTemp now static asserts if passed a const reference or rvalue.
	MoveTempIfPossible still follows the old (std::move) rule, which is useful for templates where the nature of the argument is not obvious.
	Fixes to violations of these new rules.

Change 3528876 by Ben.Marsh

	Move FPlatformMisc::ClipboardCopy and FPlatformMisc::ClipboardPaste to FPlatformApplicationMisc::ClipboardCopy and FPlatformApplicationMisc::ClipboardPaste.

Change 3529073 by Ben.Marsh

	Add script to package ShooterGame for any platforms.

Change 3531493 by Ben.Marsh

	Update platform-specific plugins to declare the target platforms they support.

Change 3531611 by Ben.Marsh

	UAT: Add a ResavePluginDescriptors command, which resaves all plugin descriptors under a given folder, removing any outdated fields and rewrites them in a consistent style. Many plugins in the wild contain redundant or no-longer used fields due to using our plugins as templates.

Change 3531868 by Ben.Marsh

	Resaving project descriptors to remove invalid fields.

Change 3531983 by Ben.Marsh

	UAT: Simplify logic for staging code, and add validation against shipping files in restricted folders.

	* Added a new SystemNonUFS type for staged files, which excludes files from being remapped or renamed by the platform layer.
	* Replaced the DeplyomentContext.StageFiles() function with simpler overloads for particular use cases (options for remapping are replaced with the SystemNonUFS file type)
	* Config entries in the [Staging] category in DefaultGame.ini file allow remapping one directory to another, so restricted content can be made public in packaged builds (Example syntax: +RemapDirectory=(From="Foo/NoRedist", To="Foo"))
	* An error is output if any restricted folder names other than the output platform are in the staged output.

Change 3540315 by Ben.Marsh

	UAT: Moving StreamCopyDescription command into a NotForLicensees folder, since it's only meant to be used by engine developers.

Change 3542410 by Ben.Marsh

	UBT: Deprecate accessing properties through BuildConfiguration.* or UEBuildConfiguration.* from .target.cs files. These have been aliases to the current TargetRules instance for several releases already.

Change 3543018 by Ben.Marsh

	UBT: Deprecate the BuildConfiguration and UEBuildConfiguration aliases from the ModuleRules class. These have been implemented as an alias ot the ReadOnlyTargetRules instance passed to the constructor for several engine versions.

Change 3544371 by Steve.Robb

	Fixes to TSet_Add and TMap_Add BPs.

	#jira UE-47441

[CL 3548391 by Ben Marsh in Main branch]
2017-07-21 12:42:36 -04:00
Ben Zeigler
15e82e0d29 Copying //UE4/Fortnite-Staging to //UE4/Dev-Main (Source: //UE4/Fortnite-Staging @ 3503438)
#lockdown Nick.Penwarden
#rb None

[CL 3503486 by Ben Zeigler in Main branch]
2017-06-21 17:09:40 -04:00
Josh Adams
60b019520c Copying //UE4/Dev-Platform to //UE4/Dev-Main (Source: //UE4/Dev-Platform @ 3295257)
#lockdown Nick.Penwarden
#rb none

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

Change 3235199 on 2016/12/14 by Joe.Barnes

	Fix new compile error for missing #define

Change 3235340 on 2016/12/14 by Arciel.Rekman

	Linux: refactor of some PlatformMisc functions.

	- RootDir() removed since it was a no-op.
	- Old EngineDir() implementation removed in favor of more generic one that should handle foreign engine dir.
	- Change by CengizT,

Change 3237014 on 2016/12/15 by Michael.Trepka

	Fixed a crash in FChunkCacheWorker constructor

Change 3238305 on 2016/12/16 by Josh.Adams

	- Added a None option to the FKey customization, unless the FKey property had NoClear on it

Change 3240823 on 2016/12/20 by Josh.Stoddard

	Device profiles don't work for iPadPro 9.7 and 12.9

	#jira UE-39943

Change 3241103 on 2016/12/20 by Alicia.Cano

	Android support from Visual Studio
	#jira UEPLAT-1421
	#android

Change 3241357 on 2016/12/20 by Chris.Babcock

	Add gameActivityOnNewIntentAddtions section to Android UPL
	#jira UE-38986
	#PR #2969
	#ue4
	#android

Change 3241941 on 2016/12/21 by Alicia.Cano

	Build Fix

Change 3249832 on 2017/01/06 by Nick.Shin

	refetch on timed out GET/POST requests

	#jira UE-39992  Quicklaunch UFE HTML5 fails with "NS_ERROR_Failure"

Change 3249837 on 2017/01/06 by Nick.Shin

	black box issues fixed:

	use device pixel ratio during width and height checks
	and use canvas dimensions if in full screen -- otherwise store SDL_window dimensions for future use

	#jira UE-36341  HTML5 - View is incorrectly drawn
	#jira UE-32311  Templates on Firefox/Chrome on HTML5 are not full screen during Launch On

Change 3249988 on 2017/01/06 by Josh.Adams

	- Disable the HeartBeat() function on platforms that don't actually want to use the HeartbeatThread
	#jira UE-40305, UE-39291, UE-40113

Change 3253720 on 2017/01/11 by Josh.Adams

	- Added support for a config class to use a specific platform's config hierarchy, so that the editor can read NDA'd platform default settings without needing the settings to in Base*.ini
	  - See SwitchRuntimeSettings.h / GetConfigOverridePlatform()
	- Addiontally made it so that NDAd platforms are saved to Project/Platform/Platform*.ini, instead of Project/Default*.ini (to keep samples .ini files free of NDAd platform settings).
	  - See UObject::GetDefaultConfigFilename()
	- Updated some minor ShooterGame switch settings while cleaning this up

Change 3254162 on 2017/01/11 by Daniel.Lamb

	Avoid trying to load empty package names.
	Fixed issue with iterative ini files being unparseable if they inlcude a colon in them.
	#jira UE-40257, UE-35001
	#test Cook QAGame

Change 3255309 on 2017/01/12 by Daniel.Lamb

	In the derived datacache commandlet wait for texture building to finish before we GC.
	#test DDC QAGame

Change 3255311 on 2017/01/12 by Daniel.Lamb

	Removed debug logging for shader compilation.
	Issue hasn't occured in a while and the logging is annoying.
	#test Cook QAGame

Change 3257024 on 2017/01/13 by Josh.Adams

	- Reread in the target RHIs array every time the list of shader types is needed, instead of caching, because the user could change the settings in the editor, then click cook.
	#jira UE-38691

Change 3259636 on 2017/01/16 by Josh.Adams

	- Fixed split screen render issue with payer 2 getting no geometry
	#jira UE-40684

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

	Added extra logging when deleting a directory fails during ReconcileWorkspace.

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

	More logging for cleaning workspaces.

Change 3261056 on 2017/01/17 by Daniel.Lamb

	Cook on the fly builds now resolve string asset references.
	#test Trivial

Change 3262803 on 2017/01/18 by Joe.Graf

	Added missing support for compiling plugins external to Engine/Plugins & Game/Plugins

Change 3262852 on 2017/01/18 by Joe.Graf

	Fixed the bad robomerge
	Don't try to regenerate projects when adding a content only plugin to a content only project

Change 3264930 on 2017/01/19 by Joe.Barnes

	#include some header files needed when building UFE.

Change 3265728 on 2017/01/20 by Will.Fissler

	PlatformShowcase - Added TestBed_MobileFeatures .umap and related test content.

Change 3267188 on 2017/01/21 by Josh.Adams

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

Change 3267439 on 2017/01/22 by Arciel.Rekman

	Fix Dev-Platform build.

	- Fixed just to have it compile; perhaps a proper fix is needed.
	- Seems to be caused by CL 3265587 (delegate was changed to return an array of search results instead of a single one).

Change 3267556 on 2017/01/23 by Arciel.Rekman

	Linux: fix MoveFile to work across file systems.

	- PR #3141 with slight changes.

Change 3267843 on 2017/01/23 by Arciel.Rekman

	Remove name collision (macro vs libc++).

	- Redoing CL 3259310.

Change 3267850 on 2017/01/23 by Arciel.Rekman

	Fix wrong always true condition.

	- PLATFORM_LINUX is always defined, but can be 0.

Change 3268048 on 2017/01/23 by Daniel.Lamb

	Integrated fix for rebuild lighting commandlet from Greg Korman @ Impulse Gear.
	#test Rebuild lighting Paragon

Change 3268403 on 2017/01/23 by Josh.Adams

	#BUILDUPGRADENOTES
	- Moved XboxOne and PS4 settings into platform specific .ini files (after using GetConfigOverridePlatform() in their class delcarations)
	- Licensee games that have PS4, XboxOne, Switch settings in DefaultEngine.ini will have those settings saved in the platform version next time the project settings are edited. DOCUMENT THIS!

Change 3272441 on 2017/01/25 by Chris.Babcock

	Fixed documentation error in UnrealPluginLanguage
	#ue4
	#android

Change 3272478 on 2017/01/25 by Chris.Babcock

	Fix another documentation error in UnrealPluginLanguage
	#ue4

Change 3272826 on 2017/01/25 by Chris.Babcock

	Google Cloud Messaging plugin for Android
	#jira UEPLAT-1458
	#ue4
	#android

Change 3272839 on 2017/01/25 by Chris.Babcock

	Fix name of Google Cloud Messaging Sender ID
	#ue4
	#android

Change 3273837 on 2017/01/26 by Daniel.Lamb

	Added check to ensure editor never saves source texture data which has had ReleaseSourceMemory called on it.
	Instead crash as this is a loss of content situation.
	#test Cook paragon cook qagame

Change 3274122 on 2017/01/26 by Alicia.Cano

	Runtime permissions support on Android
	- Removing certain permissions
	#jira UE-38512
	#android

Change 3274311 on 2017/01/26 by Josh.Adams

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

Change 3274794 on 2017/01/27 by Arciel.Rekman

	Linux: fix installed SDK check (UE-40392).

	- Pull request #3111 by rubu.

Change 3274803 on 2017/01/27 by Arciel.Rekman

	Linux: added few more exceptions to .gitignore (UE-39612).

	- Pull request #3026 by ardneran.

Change 3276247 on 2017/01/27 by Nick.Shin

	HTML5 HeapSize settings - make use of it from UE4 Editor:Platforms:HTML5:Memory:HeapSize

	note: emscripten says this is really no longer needed when using [ -s ALLOW_MEMORY_GROWTH=1 ] -- but tests have shown when using that, the game load/compile times takes longer

	#jira UE-34753  Zen Garden cannot compile in HTML5
	#jira UE-40815  Launching QAGame for HTML5 creates an 'uncaught exception: out of memory'.

Change 3276347 on 2017/01/27 by dan.reynolds

	Android Streaming Test Content

Change 3276682 on 2017/01/29 by Nick.Shin

	HTML5 thirdparty build scripts

	- fix up what looks like a bad merge
	- allow linux to also build these  libs
	- fixed harfbuzz to use freetype2-2.6 when building HTML5 libs

	- tested on mac, linux, and windows (git-bash)

Change 3276796 on 2017/01/29 by Nick.Shin

	HTML5 thirdparty (python) build scripts

	- linux patches from mozilla's jukka

	- tested on mac and, linux, and windows (git-bash)

	part of:
	#jira UEPLAT-1437  (4.16)  Switch [to] web assembly

Change 3276803 on 2017/01/29 by Nick.Shin

	HTML5 thirdparty build scripts

	- getting ready to build with (new toolchain that has) wasm support
	- minor fix to handle whitespace in project path

	- tested on mac and, linux, and windows (git-bash)

	part of:
	#jira UEPLAT-1437  (4.16)  Switch [to] web assembly

Change 3278007 on 2017/01/30 by Arciel.Rekman

	SteamVR: whitelist for Linux.

	- Makes Blueprint functions available in Linux builds, even if stubbed.
	- Can be probably whitelisted for Mac too.

Change 3278172 on 2017/01/30 by Arciel.Rekman

	Do not rebuild UnrealPak locally (UE-41285).

Change 3279873 on 2017/01/31 by Brent.Pease

	 + Implement streaming in Vorbis
	 + Add streaming to Android audio
	 + Fix audio streaming chunk race condition

Change 3280063 on 2017/01/31 by Brent.Pease

	GitHub 2949 : Fix for crashes when backgrounding/sleeping on iOS metal devices

	#2949
	#jira UE-38829

Change 3280072 on 2017/01/31 by Brent.Pease

	PR #2889: Add -distribution when iOS distribution Packaging. with IPhonePackage.exe (Contributed by sangpan)
	https://github.com/EpicGames/UnrealEngine/pull/2889

	#jira ue-37874
	#2889

Change 3280091 on 2017/01/31 by Arciel.Rekman

	Linux: fix "unable to make writable" toast (UE-37228).

	- Also fixed other platforms that returned inverted the error result.

Change 3280624 on 2017/01/31 by Brent.Pease

	PR #2891: iOS IDFV string allocation fix (Contributed by robertfsegal)
	https://github.com/EpicGames/UnrealEngine/pull/2891

	#2891
	#jira ue-37891

Change 3280625 on 2017/01/31 by Brent.Pease

	GitHub 2576 - Fix UIImagePickerController crash

	#2576
	#jira UE-328888

Change 3281618 on 2017/02/01 by Josh.Adams

	- Fixed hopeful compile error with missing inlcude
	#jira UE-41415

Change 3282277 on 2017/02/01 by Josh.Adams

	- Support 0.12.16 and 1.1.1 (the first versions that can share Oasis)

Change 3282441 on 2017/02/01 by Arciel.Rekman

	Fix Linux editor splash screen (UE-28123).

Change 3282580 on 2017/02/01 by Nick.Shin

	HTML5 - fix "firefox nighly" issue with:

	failed to compile wasm module: CompileError: at offset XXX: initial memory size too big:

	WARNING: this greatly impacts (in browser) compile times

Change 3285991 on 2017/02/03 by Chris.Babcock

	Fix executable path for stripping Android debug symbols (handle non-Windows properly)
	#jira UE-41238
	#ue4
	#android

Change 3286406 on 2017/02/03 by Chris.Babcock

	Save and restore texture filtering for movie playback in all cases
	#jira UE-41565
	#ue4
	#android

Change 3286800 on 2017/02/04 by Chris.Babcock

	Fix executable path for stripping Android debug symbols (handle non-Windows properly)
	#jira UE-41238
	#ue4
	#android

Change 3288598 on 2017/02/06 by Arciel.Rekman

	CodeLite fixes.

	- Use *-Linux-Debug binary for Debug configuration.
	- Fix virtual paths.

Change 3288864 on 2017/02/06 by Josh.Adams

	Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform)
	- Note, Switch is known to not boot with this, fix coming next

Change 3289364 on 2017/02/06 by Josh.Adams

	[BUILDUPGRADENOTES] - Fixed the "type" of the desktop device profiles to be Windows, not WindowsNoEditor, etc. It should be the platform, not a random string.
	- Updated how DeviceProfiles are loaded, especially in the editor, so that we can have NDAd platforms have their default DP values in platform-hidden files
	- This makes use of the ability for a class to override the platform hierarchy in the editor (like we do with other editor-exposed platform objects)
	- Added Config/[PS4|XboxOne|Switch]/ConfidentialPlatform.ini files so that the DP loading code knows to look in their directories for DPs. See FGenericPlatformMisc::GetConfidentialPlatforms() for more information
	- Note that saving still saves the entire DP to the .ini. Next DP change is to have them properly save against their 2(!) parents - the .ini file earlier in the hierarchy, and the parent DP object. Makes it tricky, for sure.
	- Added FConfigFile::GetArray (previous was only on FConfigCacheIni)

Change 3289796 on 2017/02/07 by Arciel.Rekman

	Linux: remove leftover CEF build script.

Change 3289872 on 2017/02/07 by Arciel.Rekman

	Linux: install MIME types (UE-40954).

	- Pull request #3154 by RicardoEPRodrigues.

Change 3289915 on 2017/02/07 by Josh.Adams

	- Fixed CIS warnings

Change 3289916 on 2017/02/07 by Arciel.Rekman

	Linux: remove -opengl4 from the default invocation.

Change 3290009 on 2017/02/07 by Gil.Gribb

	UE4 - Fixed boot time EDL causing some issues even when it wasn't being used.

Change 3290120 on 2017/02/07 by Josh.Adams

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

Change 3290948 on 2017/02/07 by Arciel.Rekman

	Linux: fix crash when clicking on question mark (UE-41634).

	- Symbol interposition problem (proper fix is still to be investigated).

	(Edigrating part of CL 3290683 from Release-4.15 to Dev-Platform)

Change 3291074 on 2017/02/07 by Arciel.Rekman

	Speculative build fix.

Change 3292028 on 2017/02/08 by Josh.Adams

	- Fixed Incremental CIS build failures

Change 3292105 on 2017/02/08 by Nick.Shin

	emcc.py - change warning to info

	#jira UE-41747 //UE4/Dev-Platform Compile UE4Game HTML5 completed with 50 warnings

Change 3292201 on 2017/02/08 by JohnHenry.Carawon

	Change comment to fix XML warning when generating project files on Linux

Change 3292242 on 2017/02/08 by Arciel.Rekman

	Linux: avoid unnecessary dependency on CEF (UE-41634).

	- Do not apply CEF workaround to monolithic builds (eg. stock Game/Server targets).
	- Also disable CEF compilation for ShaderCompileWorker.
	- Based on CL 3292077 in 4.15.

Change 3292559 on 2017/02/08 by Josh.Adams

	- Added more platforms to disable the file handle caching (all the ones that use MANAGED_FILE_HANDLES)

Change 3294333 on 2017/02/09 by Josh.Adams

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

Change 3294506 on 2017/02/09 by Josh.Adams

	- Fixed GoogleCloudMessaging.uplugin to fix the Installed flag. Every other plugin had false, this one had true, which caused various checks to go haywire
	#jira UE-41710

Change 3294984 on 2017/02/09 by Josh.Adams

	- Worked around the remote compiling issue with code-based projects on a different drive than the engine
	#jira UE-41704

Change 3295056 on 2017/02/09 by Josh.Adams

	- Fixed the remote compiling issue by unconverting the path back to host when reading from the module filename

Change 3295161 on 2017/02/09 by Josh.Adams

	- Fixed new bug when buildin native ios that was caused by a remote compile break

Change 3295229 on 2017/02/09 by Josh.Adams

	- Fixed a crash in clothing on platforms that don't support clothing
	#jira UE-41830

[CL 3295859 by Josh Adams in Main branch]
2017-02-09 19:20:55 -05:00
Robert Manuszewski
301e5763c2 Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3228803)
#lockdown Nick.Penwarden
#rb none

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

Change 3209807 on 2016/11/24 by Chris.Wood

	CRP now has improved handling of lost comms with website/DB (CRP v.1.2.9)
	[UE-38397] - CrashReportProcess should not lose crashes when the website goes down.

Change 3209936 on 2016/11/24 by Steven.Hutton

	Reconciled offline work. Fixed a number of display bugs with the reports page.

Change 3209938 on 2016/11/24 by Steven.Hutton

	Reconciled offline work

	Adding JQuery UI packages

Change 3210736 on 2016/11/28 by Steve.Robb

	Unset() made protected, which is an implementation details of TFunction and not the way to unbind one (may leak memory).
	Fixes to existing calls.

	https://answers.unrealengine.com/questions/494947/proper-way-to-deal-with-destroying-a-tfunction.html

Change 3211181 on 2016/11/28 by Steve.Robb

	Improved error message when binding a delegate to a pending kill object.

	#jira UE-5232

Change 3211214 on 2016/11/28 by Steve.Robb

	PR #2978: fixed typo in FMallocLeakDetection (Contributed by finap)

	#jira UE-39049

Change 3211301 on 2016/11/28 by Steve.Robb

	PR #2892: Copy bCustomVersionsAreReset when creating an Archive from another Ar. (Contributed by surakin)

	#jira UE-37941

Change 3213387 on 2016/11/29 by Steven.Hutton

	Test of a release note parsed from the changelist

Change 3213553 on 2016/11/29 by Gil.Gribb

	UE4 - Rework dependencies and UStruct creation so that we can create UBlueprintGeneratedClass's without needing the parent class serialized.

Change 3214800 on 2016/11/30 by Robert.Manuszewski

	ModuleManager will now use a critical section instead of FMultiReaderSingleWriterGT to make it really thread safe.

	- removed FMultiReaderSingleWriterGT because it was not fully thread safe

Change 3214926 on 2016/11/30 by Robert.Manuszewski

	Merging using Dev-Core_To_Dev-LoadTimes (reversed)

Change 3214981 on 2016/11/30 by Gil.Gribb

	UE4 - Make sure that subobjects of CDOs are exported even if they don't have any direct references; they might be archetypes.

Change 3215392 on 2016/11/30 by Steve.Robb

	Error out on editor builds when reading a non-boolean value in an archive.

Change 3215674 on 2016/11/30 by Steve.Robb

	Replacement of a custom scope-exit setup with our standard macro.

Change 3215720 on 2016/11/30 by Steve.Robb

	Default constructor for TTuple which value-initializes the elements.

Change 3216777 on 2016/12/01 by Graeme.Thornton

	Add NoRedist and NotForLicensees folders in the game folder to the C# version of config file hierarchy.

Change 3216858 on 2016/12/01 by Graeme.Thornton

	Improvements to pak signing and encryption
	 - Remove compile time defines for encryption key and signing keys
	 - Embed keys in executable by including in the UBT generated UELinkerFixups.cpp file
	 - Add key access core delegate for passing these keys through to pak platform file

Change 3216860 on 2016/12/01 by Graeme.Thornton

	Re-enable pak signing and encryption in ShooterGame

Change 3216861 on 2016/12/01 by Graeme.Thornton

	Re-enable pak signing and encryption in Paragon

Change 3217076 on 2016/12/01 by Gil.Gribb

	UE4 - replaced !GIsIntialLoad with EVENT_DRIVEN_ASYNC_LOAD_ACTIVE_AT_RUNTIME as a first step toward boot time EDL

Change 3221139 on 2016/12/05 by Ben.Woodhouse

	Dummy integrate of CL 3221131 (versioning workarounds) from Dev-LoadTimes4.14 with accept target to prevent those workarounds being merged out of dev-loadtimes4.14.

	Command:
	p4 integrate //UE4/Dev-LoadTimes4.14/...@3221131,3221131

	w/ resolve/accept-target

Change 3221410 on 2016/12/05 by Steve.Robb

	Allow Algo::IsSorted to work on C arrays and initializer_lists.

Change 3221673 on 2016/12/05 by Gil.Gribb

	set up an intentional merge conflict so we can do the right thing when dev-BP and dev-core come together

Change 3223182 on 2016/12/06 by Chris.Wood

	Add EngineModeEx to CrashReportCommon
	[UE-39258] - Update CrashReporter to include whether Engine crashes are from vanilla build or not

Change 3224646 on 2016/12/07 by Robert.Manuszewski

	It's no longer necessary to rebuild the cooked exe to enable the event driven loader. EDL and the new async IO are now controlled with ini settings only.

Change 3224647 on 2016/12/07 by Robert.Manuszewski

	Event Driven Loader is now enabled by default.

Change 3224669 on 2016/12/07 by Chris.Wood

	Compressing some crash files output from CRP to S3 (CRP v1.2.11)
	[UE-37564] - Add compression support for CRP crash files in S3

	Add EngineModeEx to support to CRP (CRP v1.2.10)
	[UE-39258] - Update CrashReporter to include whether Engine crashes are from vanilla build or not

Change 3224873 on 2016/12/07 by Robert.Manuszewski

	A few fixes to the EDL macro refactor.

Change 3224933 on 2016/12/07 by Robert.Manuszewski

	Async Loading settings will now be logged on startup in cooked games

Change 3224984 on 2016/12/07 by Robert.Manuszewski

	Small fix to EDL and new async IO global var init.

Change 3225027 on 2016/12/07 by Robert.Manuszewski

	Re-enabling EDL in ShooterGame since it no longer requires the cooked exe to be re-compiled (and EDL is on by default anyway).

Change 3226702 on 2016/12/08 by Steve.Robb

	UHT can now skip over macro-like identifiers while parsing.
	Correctly handles FTypefaceEntry::Name parsing, which was broken by the workaround in CL# 3219332.
	Syntax workaround reverted in FTypefaceEntry.

	#jira UE-38231

Change 3226756 on 2016/12/08 by Steve.Robb

	LexicalConversion renamed to Lex after #core discussion.
	Lex::ToString overloads added for FString itself.

Change 3226766 on 2016/12/08 by Steve.Robb

	FCookStatsManager::ToString replaced with Lex::ToString, as it now supports the required functionality.

Change 3226949 on 2016/12/08 by Robert.Manuszewski

	Fixing static analysis warnings

Change 3228566 on 2016/12/09 by Robert.Manuszewski

	Making UBT not think it needs to use separate temporary target for non source code projects when EDL settings don't match default.

Change 3228601 on 2016/12/09 by Steve.Robb

	Fix for TSparseArray visualization of types smaller than 8 bytes.

Change 3228654 on 2016/12/09 by Gil.Gribb

	UE4 - Fix very old bug with lock free lists, probably not relevant to anything we currently use.

Change 3228697 on 2016/12/09 by Graeme.Thornton

	Rebuilt UnrealPak

[CL 3228932 by Robert Manuszewski in Main branch]
2016-12-09 11:36:14 -05:00
Ben Marsh
20bf0eb6a1 Updating copyright notices to 2017 (copying from //Tasks/UE4/Dev-Copyright-2017).
#rb none
#lockdown Nick.Penwarden

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

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

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

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

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

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

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

[CL 3209342 by Ben Marsh in Main branch]
2016-11-23 15:48:37 -05:00
Ben Zeigler
24a8d60723 Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3208226)
#lockdown Nick.Penwarden
#rb None

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

Change 3173153 on 2016/10/25 by Graeme.Thornton

	Pak signing changes
	 - Integrated into EDL loader
	 - Changed to not encrypt each CRC in the sig file, rather just store a single encryped signature of the entire sig file. Removes need to decrypt thousands of signatures at startup.

Change 3173531 on 2016/10/25 by Steven.Hutton

	Removing unused j query packages.

Change 3174743 on 2016/10/26 by Gil.Gribb

	UE4 - fixed COTF with EDL

Change 3177896 on 2016/10/28 by Steve.Robb

	TSharedPtr and TSharedRef aliasing constructors.
	Removal of static_asserts for TSharedPtr<UObject>.

Change 3180343 on 2016/10/31 by Steve.Robb

	Reimplementation of changes from CL#s 3050329 and 3105715 that were lost in merges 3094597 and 3105741.

Change 3181382 on 2016/11/01 by Steve.Robb

	Visual Studio debugger visualizers for delegates.

Change 3182738 on 2016/11/02 by Graeme.Thornton

	Re-enable signed archive reader so non-pakpreacher based reads still get signature checked

Change 3183420 on 2016/11/02 by Steve.Robb

	Fix to TIsZeroConstructType for TScriptDelegate.

Change 3184872 on 2016/11/03 by Robert.Manuszewski

	Fixing memory stomps in SSL certificate initialization (found with mallocstomp)

Change 3184873 on 2016/11/03 by Robert.Manuszewski

	Adding thread safety checks to async loading code

Change 3185535 on 2016/11/03 by Ben.Zeigler

	Fix it so calling CreateDefaultSubobject with bTransient = true sets the object transient flag. This fixes EDL Crashes involving components.

Change 3186636 on 2016/11/04 by Graeme.Thornton

	AES encryption integrated into EDL system
	Pak signing and AES encryption now configurable by ini files rather than magical text files

Change 3186637 on 2016/11/04 by Graeme.Thornton

	Configured pak signing and encryption in ShooterGame for reference

Change 3186639 on 2016/11/04 by Graeme.Thornton

	Encryption changes for Orion
	* Move pak signing keys into new INI format
	* Add AES key and enable INI file encryption

Change 3186661 on 2016/11/04 by Graeme.Thornton

	Change unrealpak command line params to accept AES key as a separete parameter

Change 3186670 on 2016/11/04 by Robert.Manuszewski

	Adding a null check before using a package pointer in Linker code

	#jira UE-38237

Change 3186775 on 2016/11/04 by Graeme.Thornton

	Fix UBT defines that come in as quoted strings, losing the quotes when passed to the compiler
	 - PS4 and Mac fixes. Other platforms might need fixing too!

Change 3186823 on 2016/11/04 by Graeme.Thornton

	Fixed an incorrect size check in the EDL pak signing code

Change 3186925 on 2016/11/04 by Graeme.Thornton

	Allow UnrealPak to read encryption settings from project ini files

Change 3189885 on 2016/11/08 by Graeme.Thornton

	Static analysis warning fix

Change 3190015 on 2016/11/08 by Robert.Manuszewski

	Thread safety fix for UBlueprintGeneratedClass::PostLoadDefaultObject while UBlueprintGeneratedClass::SerializeDefaultObject runs on the async loading thread

Change 3190253 on 2016/11/08 by Chris.Wood

	Improved MDD performance for on the CR server.
	[UE-37566] - Improve MDD performance on CR server

	Blocked MDD init'ing the crash handling code as it isn't desirable on the server.
	Removed redundant call to SetSymbolPathsFromModules() from CrashDebugHelper.

Change 3192993 on 2016/11/10 by Robert.Manuszewski

	Thread Heartbeat will no longer report the same hang multiple times.

Change 3193111 on 2016/11/10 by Robert.Manuszewski

	Minor change in the condition that detects the same hangs - allow the same callstacks from different threads

Change 3193168 on 2016/11/10 by Steve.Robb

	TSparseArray now reserves space in reverse so that new elements get added to the front of the allocation rather than the back, which is better for memory traversal and meets expectations more closely.

Change 3193171 on 2016/11/10 by Steve.Robb

	Easier debugging of FPendingRegistrantInfo map.

Change 3193188 on 2016/11/10 by Steve.Robb

	TAutoPointer deprecated.

Change 3193796 on 2016/11/10 by Graeme.Thornton

	Fix pak creation failure when no pak signing keys are supplied

Change 3194524 on 2016/11/11 by Graeme.Thornton

	Another static analysis warning fix

Change 3195119 on 2016/11/11 by Steve.Robb

	TAutoPtr deprecated.
	Fixes to use of TAutoPtr with incompatible memory deallocations (TAutoPtr with FMemory::Malloc and new[]).
	Some large headers moved into .cpp files.

Change 3196582 on 2016/11/14 by Gil.Gribb

	UE4 - Changed a check to a warning related to detaching linekrs twice. Seen in nativized BP version of platformer game.

Change 3196878 on 2016/11/14 by Steve.Robb

	TScopedPointer deprecated.

Change 3198061 on 2016/11/15 by Steve.Robb

	Class array is no longer regenerated when saving UClasses.

Change 3198065 on 2016/11/15 by Robert.Manuszewski

	Making AssembleReferenceTokenStream thread safe for blueprints loaded on the async loading thread.

Change 3198199 on 2016/11/15 by Robert.Manuszewski

	Pak platform file will now only be used if pak files exist regardless of command line paraks like -pak, -singedpak and -signed.

Change 3199954 on 2016/11/16 by Graeme.Thornton

	Removing USING_SIGNED_CONTENT

Change 3200221 on 2016/11/16 by Chris.Wood

	CrashReportProcess code cleanup - removing unused using directives

Change 3200232 on 2016/11/16 by Chris.Wood

	Multiple CrashReportProcess updates and improvements (CRP v1.2.6)
	UE-36248 - CRP scalability: All bulk storage or shared data to S3 or suitable network drives

	InvalidCrashReports now saved to S3 instead of local folder
	Removed option tosync MinidumpDiagnostics from Perforce
	Moved MinidumpDiagnostics from old Perforce synched location to its own folder in E:\Services (makes more sense with manual publishing)
	Added improved logging to Slack with option to monitor MDD performance
	Added hourly log folders to MDD logs
	Added support for types of crashes we don't want to symbolicate (using it to skip callstack gen for hang detected ensures)

Change 3200382 on 2016/11/16 by Robert.Manuszewski

	Async Loading code will now detach the linker when resetting async package loader to avoid situations when loading the same asset multiple times results in the following load request finding the old linker after the package has been loading but the async package hasn't been deleted yet (async package for the old request in limbo state but linker exists).

Change 3200562 on 2016/11/16 by Gil.Gribb

	UE4 - Fixed rare issue with reloading nativized blueprints with the EDL and a minor simplication.

Change 3201093 on 2016/11/16 by Ben.Zeigler

	#UE 38654 Fix EDL cooking to correctly search components created directly by UBlueprints, as well as the CDO components it already covered. Also explicitly mark subobject templates as editor only.
	Fix issue where the AssetImportData associated with Blueprint-owned Curves was ending up in the cooked subobject template list. Stopped it from creating those objects, and mark the class editor only.

Change 3201736 on 2016/11/17 by Steve.Robb

	Strtoi64 platform and TCString functions.

	#fyi robert.manuszewski

Change 3201938 on 2016/11/17 by Ben.Woodhouse

	Dummy integrate of the Square render version workaround (CL 3201913) with _accept target_ to prevent it being integrated to dev-core in future.

	Commandline:
	p4 integrate //Tasks/UE4/Dev-LoadTimes/Engine/Source/Runtime/CoreUObject/Private/UObject/LinkerLoad.cpp@3201913,3201913 //UE4/Dev-Core/Engine/Source/Runtime/CoreUObject/Private/UObject/LinkerLoad.cpp

	#fyi robert.manuszewski

Change 3203757 on 2016/11/18 by Robert.Manuszewski

	Removing debug code from async loading code.

Change 3203927 on 2016/11/18 by Robert.Manuszewski

	Fixing comments in the async loading code.

Change 3204851 on 2016/11/18 by Steve.Robb

	Metafunction for testing if a particular operator<< overload exists, e.g. THasInserterOperator<FArchive&, FMyType&>::Value.

Change 3204854 on 2016/11/18 by Steve.Robb

	UEnumProperty.

Change 3205027 on 2016/11/18 by Ben.Zeigler

	Add useful functions to FAssetPtr and TAssetSubclassOf that already existed on TAssetPtr
	Add Get() to TSubclassOf so it matches our other wrappers
	Fix TSubclassOf and TAssetSubclassOf to use the more efficient template method of checking class compatibility
	Comment and template cleanups for AssetPtr, StringAssetReference, LazyPtr, and SubclassOf

Change 3206334 on 2016/11/21 by Ben.Zeigler

	#UE-38773: Fix it so non-component template subobjects of CDOs are not included as creation dependencies for BP classes, also clean up GetPreloadDependencies as it was adding redundant and null entries
	#UE-38799: Fix it so WidgetTrees don't get picked up as subobjects, and add ensure at cook time to find null outers that would crash at runtime. Make sure the instanced widget trees are transient.
	Cook finishes but game is still crashing in some cases, so I might adjust this after other testing

Change 3206353 on 2016/11/21 by Ben.Zeigler

	Fix EnumProperty to handle EDL preload dependencies properly

Change 3206625 on 2016/11/21 by Ben.Zeigler

	Fix enum property crash at runtime by copying what array property does and making sure inner property is not transient

Change 3206937 on 2016/11/21 by Ben.Zeigler

	#jira UE-38905 Fix it so enums inside arrays are migrated properly, the enum tag is lost so use the current one
	Disable other nested enum migrations as they are unlikely to work. Array property tags need to be refactored to be safer
	Correctly save enum tag for enum properties, it was being set but not serialized

Change 3207002 on 2016/11/21 by Ben.Zeigler

	#jira UE-38799
	Fix it so per-widget copy of widget tree and all widgets inside are properly transient, they were being cooked before but never accessed.
	Fix case where non ClientOnly public objects nested instead ClientOnly objects would cook but fail to load, and add ensure to catch these cases in the future.
	If the full outer chain isn't available, it can't be loaded anyway, and this finds issues at cook time instead of load time.
	We should generally outlaw non-transient objects with transient outers, it does not do what people expect.

Change 3207032 on 2016/11/21 by Ben.Zeigler

	#jira UE-38654 Re-Fix EDL cooking with SCS-added components. They used to have the DefaultSubObject flag but no longer do

[CL 3208270 by Ben Zeigler in Main branch]
2016-11-22 18:45:44 -05:00
Andrew Grant
48331caa30 Copying //UE4/Orion-Staging to //UE4/Main (Source: //Orion/Dev-General @ 3028454)
#lockdown Nick.Penwarden

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

Change 3028439 on 2016/06/27 by Jason.Bestimt

	#ROBOMERGE-AUTHOR: jason.bestimt
	#ORION_MAIN - Merge 28 @ CL 3028090

	#RB:none
	#Tests:none

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

Change 3027952 on 2016/06/26 by Jurre.deBaare

	- Integrating code fixes/changes from Simplygon for Normals issue on Simplygon Swarm + landscape culling
	- Readded landscape/volume culling for in-engine static mesh merging path
	- Fixed issue with r.HLOD force -1 (now stops forcing hlods)
	- Marked hlodcullingvolume as experimental
	- Added Landscape culling flag + precision level

	#codereview Michael.Noland
	#rb Michael.Noland
	#tests build clusters locally/cloud + landscape culling tests

Change 3027702 on 2016/06/25 by Jason.Bestimt

	#ORION_DG - Merge MAIN @ CL 3027698

	#RB:none
	#Tests:none

Change 3027312 on 2016/06/24 by Daniel.Lamb

	Changed the way reentry data is stored in the cooker, reduce work load by main thread, also fix issue with reentry data being used from incorrect packages.
	#rb Peter.Sauerbrei
	#test QA game launch on and cook by the book + cook on the fly paragon

Change 3027165 on 2016/06/24 by Daniel.Lamb

	Fix compiler warnings from cvars changes.
	#rb none
	#test cook paragon

Change 3026900 on 2016/06/24 by Daniel.Lamb

	Change the way low quality lightmap shaders are enabled / disabled as the engine can't be used in the should cache function.
	#rb Marcus.Wasmer
	#test Cook on the fly paragon
	#codereview Rolando.Caloca

Change 3026874 on 2016/06/24 by Olaf.Piesche

	#jira OR-18363
	fix distortion in particle macro UVs with camera movement

	#rb frank.fella
	#tests PC Editor/Game

Change 3026494 on 2016/06/24 by jason.bestimt

	#ORION_MAIN - Merge 28 @ CL 3026460

	#RB:none
	#Tests:none

	#ROBOMERGE-SOURCE: CL 3026476 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: jason.bestimt

Change 3026381 on 2016/06/24 by Graeme.Thornton

	Strip particle modules, emitters and lodlevels from cooked server data. Saves ~10mb of runtime memory on Paragon

	#rb simon.tovey
	#codereview dmitry.rekman
	#tests pc cooked client/server, golden path

Change 3025760 on 2016/06/23 by jason.bestimt

	#ORION_MAIN - Merge 28 @ CL 3025687

	#RB:none
	#tests:none

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

	#ROBOMERGE-SAYS: Beep boop! I couldn't merge this change. Please do it yourself, human.
	//Orion/Dev-General/OrionGame/Content/Characters/Heroes/Sword/Meshes/sword.uasset - can't integrate exclusive file already opened
	//Orion/Dev-General/OrionGame/Content/Characters/Heroes/Sword/Meshes/sword_Skeleton.uasset - can't integrate exclusive file already opened
	#CodeReview: jason.bestimt

Change 3025661 on 2016/06/23 by Mieszko.Zielinski

	Added a feature to PathfollowingComponent allowing it to identify when it starts following a navigation link #UE4

	#rb Lukasz.Furman
	#test golden path

Change 3025359 on 2016/06/23 by Jason.Bestimt

	#ROBOMERGE-AUTHOR: sam.zamani
	#online,externalui,ps4
	- expose access to reset cookies before invoking embedded web browser
	- fixed not capturing resulting Url when PS4 browser is closed

	#rb none
	#tests ps4

	#ROBOMERGE-SOURCE: CL 3025356 in //Orion/Release-28/... via CL 3025358
	#ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3025184 on 2016/06/23 by Lina.Halper

	Fix crash with morphtargets

	#jira: OR-24257
	#rb: Rolando.Caloca
	#tests: switching mesh with different morphtargets in editor

Change 3024714 on 2016/06/23 by Lukasz.Furman

	added vlog extension to visual debugger tool, added object whitelist to vlog to include selected minion data in  games started with -LogBotGame param
	#rb Mieszko.Zielinski
	#tests server game with and without LogBotGame cmdline

Change 3024709 on 2016/06/23 by Daniel.Lamb

	Added support for async save when saving seperate bulk data file.
	Added mb saved to cooking package stats.
	#rb Andrew.Grant,Wes.Hunt
	#test Cook Paragon

Change 3024674 on 2016/06/23 by Jason.Bestimt

	#ROBOMERGE-AUTHOR: sam.zamani
	Merging //Orion/Release-28 to Main (//Orion/Main)

	#online,identity,ps4
	- add psplus flag to online account after privilege check

	#rb none
	#tests ps4 login flow

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

Change 3024510 on 2016/06/23 by Graeme.Thornton

	Added more info to the dumpparticlesystems exec command output

	#rb simon.tovey
	#tests cooked pc client, golden path

Change 3024504 on 2016/06/23 by Graeme.Thornton

	Asset registry memory optimisation - make sure all dependency node link arrays are sized exactly as they need to be (saves ~1mb)

	#rb robert.manuszewski
	#tests windows cooked client, golden path

Change 3024213 on 2016/06/22 by Ryan.Gerleve

	Handle a rare case in replays where the spectator controller is null but we still find a valid NetGUID for it.
	Added an ensure before a check that would fail in this case so we'll know if it happens again.

	#tests replays
	#rb john.pollard

Change 3024127 on 2016/06/22 by John.Pollard

	Bulk merge using Dev-Networking_->_Dev-General_(Orion)

	3002989
	Add ability to skip missing/changed properties in FFastArraySerializer

	3003072
	Fix crash related to new replay backwards compatibility changes

	3008097
	Renaming CompatibleReplayout to NetFieldExportGroup preparing to unify ability to use FNetFieldExportGroup for both RepLayout and FClassNetCache

	3009684
	Added ability to use FNetFieldExportGroups for FClassNetCache as well as FRepLayout

	* Adds ability to track missing/changed custom delta properties names
	* Adds ability to track missing/changed RPC's

	3013455
	Add ability to skip over RPC parameters that have changes/missing in replays for backwards compatibility

	* We now mark FClassNetCache properties as bIncompatible so we don't spam forever when they are out of date
	* No longer factor in parameters when building checksum for RPC's
	* Save FNetFieldExport handle for FClassNetCache fields
	* Use WriteIntWrapped when saving FClassNetCache fields FNetFieldExport handles (and use NetFieldExportGroup->NetFieldExports.Num() to determine max value)
	* Lots of cleanup and sanity checking improvements

	3018078
	Optimize replay checkpoints

	* Share work that was already done during normal replication, and re-use this data to remove the need to compare any checkpoint properties
	* When saving a checkpoint, we no longer create a new connection and new channels, instead we re-use the existing channels, and added the ability to make this a transient operation
	* To make custom delta serialize properties work, we compare against the CDO state instead of current state when saving out a checkpoint

	3021196
	Fix issue with Fast tarray exporting package map info during checkpoints

	* Add ability to save and restore package map ack status
	* Save package map ack status before saving checkpoint, and then restore it back afterwards, this will then allow the stream that writes afterward to re-export anything that was new in the checkpoint
	* No longer queue up reliable bunches on ack list for internal ack connections

	3024033
	Prune the cached change list before using when saving out checkpoints

	* Fixes issues when saving checkpoint, and the live properties change array size, which throws everything off when it comes time to use the LifetimeChangelist

	3024034
	Don't close channels when saving checkpoints, fixes issue where it creates a bunch with bOpen/bClose (because we're forcing all SendBunches to re-open channels), which throws off the stream

	#rb RyanG
	#tests Replays

Change 3024021 on 2016/06/22 by Dmitry.Rekman

	Fix PS4 build.

	#rb Michael.Noland
	#tests none
	#codereview Michael.Noland, Dan.Youhon, Sammy.James

Change 3023734 on 2016/06/22 by Lukasz.Furman

	added replication for input events and tool state for both gameplay debugger categories and extensions
	#ue4
	#rb Mieszko.Zielinski
	#tests PIE, server game

Change 3023708 on 2016/06/22 by Dmitry.Rekman

	Add a separate macro for a poison malloc proxy usage.

	#rb Michael.Noland
	#codereview Michael.Noland, Gil.Gribb
	#tests Compiled OrionServer-Linux-Debug, ran it

Change 3023670 on 2016/06/22 by Nick.Darnell

	Home screen - Fixing safezones on the homescreen.  Adding a scale option to the XP_Fill widget.  Adding better animations to the tiles.  Showing subtitles again.  Hero XP summary widget now takes you to that hero.

	#rb none
	#tests PIE

Change 3023632 on 2016/06/22 by Dmitry.Rekman

	Fix incorrect matching condition in comments.

	#rb none
	#tests Compiled OrionServer-Linux-Debug
	#codereview Michael.Noland

Change 3023475 on 2016/06/22 by Rolando.Caloca

	O - Back out changelist 3022847 as it broke SSS on PC
	#rb none
	#tests re-run editor on PC

Change 3023178 on 2016/06/22 by Michael.Noland

	Engine: Added system memory and % of time spent hitching to analytics
	#rb bob.tellez
	#tests Tested a match in Paragon

Change 3022963 on 2016/06/22 by Mieszko.Zielinski

	Fixed a subtle navigation repathing bug #UE4

	While repathing to a location, rather than an actor, the navigation query used path's end while it should be using the original query's EndLocation.

	#rb Lukasz.Furman
	#test golden path

Change 3022865 on 2016/06/22 by David.Ratti

	gameplay cue editor: remove "GameplayCue_" prefix from default GameplayCueNotify filename in default ability system projects

	#rb none
	#tests ability system sample project

Change 3022847 on 2016/06/22 by Rolando.Caloca

	O - Remove checkerboard SSS rendering and recombine post process pass when SSS not enabled
	#rb Marcus.Wassmer
	#codereview Marcus.Wassmer, Brian.Karis
	#tests Load Agora_P, check perf, toggle r.SSS.Quality 1/0, check characters with skin

Change 3022804 on 2016/06/22 by Mieszko.Zielinski

	Fixed AIController clearing out CachedGameplayTasksComponent on UnPosses, even if Pawn was not the CachedGameplayTasksComponent's owner #UE4

	Also, made running BT not clearing info in BB if AI's current BB is compatible with the one required by BT

	#rb Lukasz.Furman
	#test golden path

Change 3022674 on 2016/06/22 by Robert.Manuszewski

	Reimplementing CL #2993969 (Dev-Blueprints) by Maciej.Mroz:

	UE-30729 Crash in Native Orion when selecting Sword or Tomahawk

	Clear AsyncLoading in subobjects.

	#jira OR-23997

	#rb me
	#tests Golden path in editor build, selecting Venus

Change 3022405 on 2016/06/21 by Ryan.Gerleve

	Fix for OR-23948, crash with death cam enabled. Use a weak pointer to store the viewer on the DemoNetDriver and update it when the game player controller is received.

	#rb john.pollard
	#tests bug repro

Change 3022387 on 2016/06/21 by Ryan.Gerleve

	Added the ability to disable ticking of individual worlds.

	#tests golden path
	#rb john.pollard
	#codereview marc.audy

Change 3022312 on 2016/06/21 by Nick.Darnell

	Home Screen - Adding a max aspect ratio lock to SBox, may need some more fine tuning math may still be a bit pants in some cases.  The XP ovewview panels now have a basic support for account and hero progression.  Hero one shows the last hero you played, widget is invisibile until you play your first game.  The tiles now use the Max Aspect Ratio to prevent stretching forever on 21:9 monitors causing them to just look crazy.  Weekly quests now show the weekly quests screen when clicked.  OrionUserWidgetBase no longer prevents blueprints from running code in reponse to mouse down/up actions if the userwidget consumes input - it always calls the blueprint code first, and always returns handled if it consumes input.

	#rb none
	#tests PIE

Change 3022207 on 2016/06/21 by Wes.Hunt

	Fix Analytics provider to retain passed in AppVersion string instead of using default %VERSION%.
	#rb none
	#tests run windows server with one bot connecting and checking analytics version is what is expected.

Change 3021808 on 2016/06/21 by Jason.Bestimt

	#ROBOMERGE-AUTHOR: josh.markiewicz
	#UE4 - call GetTotalMicroseconds instead of GetTotalMilliseconds * 1000
	#rb none
	#tests compile run ps4

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

Change 3021663 on 2016/06/21 by Jason.Bestimt

	#ROBOMERGE-AUTHOR: josh.markiewicz
	#UE4 - CancelFindSessions() didn't null out search result
	- future FindSession() calls would fail with "search in progress"
	#rb joe.wilcox
	#tests UT matchmaking

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

Change 3021508 on 2016/06/21 by Marcus.Wassmer

	Remove anti-ghosting AA for now.
	Causes dithered transparency to be very wrong (Dekker shoulders)
	And also a border around all characters of 'noisy fuzz' even when they are not moving
	#rb none
	#test PC/PS4
	#codereview Brian.Karis,Jordan.Walker

Change 3021475 on 2016/06/21 by Marcus.Wassmer

	Duplicate fix for subsurface spec in prep for PS4 optimization. (DevRendering 3018664)
	unified some code for easier maintainance, fixed missing multiply from former change
	#rb none
	#test PS4/PC agora

Change 3021468 on 2016/06/21 by Michael.Noland

	Physics: Added more information when convex cooking partially succeeds (fails initially but succeeds with inflation) indicating the full path of the mesh that failed
	#rb ori.cohen
	#tests Compiled changes, will provide more information when issue reoccurs in build machine cooks
	#jira OR-24082

Change 3021460 on 2016/06/21 by Michael.Noland

	Engine: Added time spent in each hitch bucket to FPS chart .log output and analytics output
	#rb bob.tellez
	#tests Tested a match in Paragon
	#codereview dmitry.rekman

Change 3021368 on 2016/06/21 by Marcus.Wassmer

	Create Tonemapper configuration with no ColorFringe to save .15ms on PS4 when colorfringe is not used.
	#rb rolando.caloca
	#test agora with/wo new config
	#codereview brian.karis

Change 3021119 on 2016/06/21 by David.Ratti

	Make -notimeouts work during initial connecting phase
	#codereview John.Pollard
	#rb none
	#tests pie agora

Change 3021048 on 2016/06/21 by David.Ratti

	minor tweaks to gameplay cues:
	-Descriptions of engine GC notify classes
	-Added 'auto attach to owner' flag on actor notify class.

	#rb none
	#test ability system sample project

Change 3020694 on 2016/06/20 by jason.bestimt

	#ORION_MAIN - Merge 27.2 @ CL 3020301

	#RB:none
	#Tests:none

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

	#CodeReview: cody.haskell

Change 3020624 on 2016/06/20 by Michael.Noland

	Engine: Pushing more fps chart analytics up to engine level code from Paragon
	Engine: Pushing benchmark config vars up to engine level code from Paragon, and added records of individual sub-steps of benchmarks
	#rb Bob.Tellez
	#tests Golden path Solo VS AI in Paragon and forced a match
	#codereview bob.tellez, peter.knepley

Change 3020181 on 2016/06/20 by Dmitry.Rekman

	Re-do allowing allocations in NullRHI (OR-24029).

	- Originally CL 2990582 by MarcusW, stomped during merge by CL 3006926.

	#rb none
	#codereview Marcus.Wassmer, Andrew.Grant
	#tests none

Change 3020139 on 2016/06/20 by Ryan.Gerleve

	Added ability to pause replay recording while keeping the current replay open.

	#rb john.pollard
	#tests paused deathcam recording while disabled

Change 3019817 on 2016/06/20 by Dmitry.Rekman

	Poison allocated/freed memory in Debug and Development (non-editor) configs.

	- With this Paragon client may be more likely to crash on start.

	#rb Steve.Robb
	#codereview  Robert.Manuszewski, Michael.Noland, Andrew.Grant, Gil.Gribb, Steve.Robb
	#tests Built Linux server and Windows client, ran them, also built Windows Orion editor.

Change 3019599 on 2016/06/20 by Rolando.Caloca

	O - Fix flickering on heroes with morph targets
	#rb Marcus.Wassmer
	#tests Load Agora_P
	#jira OR-23866

Change 3019581 on 2016/06/20 by Wes.Hunt

	Fix crash reporter client analytics for internal builds. (Pushing critical fix immediately from //UE4/Orion-Staging)
	#rb Chris.Wood
	#tests none

Change 3019524 on 2016/06/20 by David.Ratti

	call APawn::OnRep_Controller when ClientRetryClientRestart sets the pawn directly

	#rb none
	#tests golden path

Change 3019406 on 2016/06/20 by Marcus.Wassmer

	Duplicate 3014956 from Dev-Rendering
	Fixed HLOD and mesh LODs getting hit by Lightmass ray traces that didn't originate from a mesh
	Volume lighting samples and precomputed visibility cells are now only placed on LOD0 (of both mesh LODs and HLOD)
	#rb none
	#test none
	#codereview Jordan.Walker

Change 3019371 on 2016/06/20 by Graeme.Thornton

	Optimize cooked asset registry dependency node data structures. Saves ~10mb on Paragon.

	#rb robert.manuszewski
	#tests tested with cooked pc client + server

Change 3018492 on 2016/06/17 by Laurent.Delayen

	FBoneReferenceCustomization: support editing properties in AnimBP defaults.

	#rb none
	#tests: Sword.

Change 3017974 on 2016/06/17 by Ryan.Gerleve

	Add an option to toggle deathcam in the gameplay settings UI if the OrionRuntimeOption for deathcam is enabled.

	#rb cody.haskell
	#tests settings menu, enabled and disabled deathcam

Change 3017913 on 2016/06/17 by Robert.Manuszewski

	Fixing leaked log archive.

	#rb Steve.Robb
	#tests Cooked Win64 client + server

Change 3017873 on 2016/06/17 by Daniel.Lamb

	Fix warning in diff cooked build.
	#test none
	#rb none

Change 3017676 on 2016/06/17 by Sam.Zamani

	#online,identity,mcp
	fix for uninitialized variable

	#rb dmitry.rekman
	#tests none

Change 3017671 on 2016/06/17 by Robert.Manuszewski

	Fxied and improved log message when cluster assumptions are violated.

	#rb Steve.Robb
	#tests Win64 client + server (cooked) golden path

Change 3017358 on 2016/06/16 by Nick.Atamas

	Checking in Darnell's change that adds correct geometry to widgets inside retainer widgets.

	#rb none
	#test PIE

Change 3017242 on 2016/06/16 by jason.bestimt

	#ORION_MAIN - Merge 27.2 @ CL 3017179

	#RB:none
	#Tests:none

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

	#ROBOMERGE-SAYS: Beep boop! I couldn't merge this change. Please do it yourself, human.
	//Orion/Dev-General/OrionGame/Content/UI/Tooltips/Hero/AbilityTooltip.uasset - can't integrate exclusive file already opened
	#CodeReview: jason.bestimt

Change 3017237 on 2016/06/16 by Dmitry.Rekman

	Fix accessing uninitialized field (kills valgrind warnings).

	#rb none
	#codereview Michael.Noland, Andrew.Grant, Ori.Cohen
	#tests Compiled and ran Linux server.

Change 3017236 on 2016/06/16 by Dmitry.Rekman

	Initialize missed field (kills valgrind warnings).

	#rb none
	#codereview Michael.Noland, Andrew.Grant
	#tests Compiled and ran Linux server.

Change 3017186 on 2016/06/16 by Dmitry.Rekman

	Linux: Add hooks for libcrypto memory functions.

	- Libcurl uses OpenSSL, which allocates memory using libcrypto's CRYPTO_malloc() and apparently on purpose does not initialize it.
	- This change a) redirects these allocations to use UE's malloc  b) initializes it with zeros, avoiding valgrind's warnings.
	- This behavior is not used on Shipping configurations because the impact on entropy is not understood (TBD later).

	#rb Michael.Noland, Rob.Cannaday (original version)
	#codereview Michael.Noland, Rob.Cannaday, Alex.Fennel, Chris.Babcock, Sam.Zamani
	#tests Compiled Linux server and ran it.

Change 3017037 on 2016/06/16 by Jason.Bestimt

	#ROBOMERGE-AUTHOR: andrew.grant
	Merging content fix for driver crash from Release-27

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

Change 3016838 on 2016/06/16 by Alexis.Matte

	#jira UE-31901 fix to export all blueprint component to obj

	#rb uriel.doyon
	#codereview matt.kuhlenschmidt
	#test export a blueprint containing multiple staticmesh component to obj

Change 3016629 on 2016/06/16 by Dmitry.Rekman

	Make Binned default on Linux non-editor builds.

	#codereview Andrew.Grant
	#rb none
	#tests none

Change 3016615 on 2016/06/16 by Jason.Bestimt

	#ROBOMERGE-AUTHOR: andrew.grant
	Temporarily disabling jemalloc for Linux
	#rb #tests none
	[CodeReviewed] Dmitry.Rekman

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

Change 3016566 on 2016/06/16 by Michael.Noland

	Engine: Fixed a regression that broke safe zone debugging features in Windows by reintroducing code from CL# 2861030 that was accidentally deleted in a merge
	#codereview andrew.grant
	#rb dan.hertzka
	#tests Tested r.DebugSafeZone.Mode 1 with r.DebugSafeZone.TitleRatio 0.9 in PIE and confirmed that SSafeZone obeyed it and the red overlay appeared

Change 3016521 on 2016/06/16 by Ryan.Gerleve

	Client recoreded replay fixes and optimizations from Dev-Networking (and one from //UE4/Main), for deathcam.

	Includes the following CLs from Dev-Networking:
	2997908
	2998001
	2998832
	2999054
	2999057
	2999749
	3000051
	3001361
	3001365
	3004958
	3009972
	3009973

	And this CL from //UE4/Main:
	3015528

	#tests golden path, replays
	#rb john.pollard

Change 3016503 on 2016/06/16 by Brian.Karis

	Fixed uninitialized variables on particle lights. Fixes hair shading.

	#rb none
	#tests editor

Change 3016429 on 2016/06/16 by Max.Chen

	Sequencer: Fix StartTime when clamping start offset 0. Follow up to CL #3009386.

	#jira UE-29167
	#tests Load up AnnounceMaster and adjust leading edge of animation clips
	#rb Frank.Fella

Change 3016356 on 2016/06/16 by Lina.Halper

	- Fix crash on rampage morphtarget

	Merging using //UE4/Dev-Framework_to_//Orion/Dev-General
	 - this is dupe change from Dev-Framework

	#jira: https://jira.ol.epicgames.net/browse/OR-23194
	#rb: Ori.Cohen
	#tests: editor/pie spawn as rampage's alt skin

Change 3015696 on 2016/06/15 by Jason.Bestimt

	#ROBOMERGE-AUTHOR: jason.bestimt
	#ORION_MAIN - Merge 27.2 @ CL 3015646

	This re-unifies our build pipeline.  Fingers crossed. (only 6 files are actually different)

	#RB:none
	#Tests:none

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

Change 3015642 on 2016/06/15 by Mieszko.Zielinski

	Fixes to multiple reasons AI bots were getting stuck #Orion

	#rb Lukasz.Furman
	#test golden path

Change 3015622 on 2016/06/15 by Mieszko.Zielinski

	fixed FMetaNavMeshPath doing navmesh path update without checking nav agent if pathfinding should be postponed #UE4

	#rb Lukasz.Furman
	#test golden path

Change 3015514 on 2016/06/15 by Uriel.Doyon

	Fixed GlobalMipBias not affecting max texture resolution.
	This fix is implemented differently in Dev-Rendering in  CL 301498.
	#jira OR-23511
	#rb marcus.wassmer
	#test played game with different quality settings

Change 3015258 on 2016/06/15 by Lina.Halper

	Fix crash with recursive reference between two assets

	#rb: Ori.Cohen
	#tests: Sword

Change 3014988 on 2016/06/15 by Wes.Hunt

	Fix Cook Analytics to correctly use the Legacy provider since it sends to a local data collector.
	#rb daniel.lamb
	#tests compile Orion

Change 3014962 on 2016/06/15 by Olaf.Piesche

	Replicating CL 3013696 from Dev-Rendering; making quality level spawn rate scale work for GPU emitters.

	#rb simon.tovey
	#tests PC editor game

Change 3014958 on 2016/06/15 by Laurent.Delayen

	Added SkeletalMeshComponent::bIncludeComponentLocationIntoBounds to help in cases where SMU_OnlyTickPoseWhenRendered is set, and an animation pushed the mesh beyond the capsule.
	This ensures that when the capsule is in view, the mesh will remain updated.

	#rb Michael.Noland
	#test Sword ultimate from another player's view.

Change 3014833 on 2016/06/15 by Laurent.Delayen

	Fix for Base Heroes having their locomotion blendspace broken.

	#rb Thomas.Sarkanen
	#codereview Thomas.Sarkanen
	#tests Gadget networked PIE

Change 3014688 on 2016/06/15 by Nick.Darnell

	UMG - Fixing IsHovered on UUserWidgets.  SObjectWidget did not properly call the super for MouseEnter/MouseLeave allowing SWidget's implementation to set and unset the bool.

	#rb none
	#tests PIE

Change 3014325 on 2016/06/15 by Marcus.Wassmer

	Duplicate 3012706:
	Scalability CVAR for ContactShadows
	#rb john.billon
	#test flip cvar in editor.

Change 3014230 on 2016/06/15 by Robert.Manuszewski

	Fix potentially missing log output when serializing text of length equal to the async log writer buffer size.

	#rb Steve.Robb
	#tests Tested in editor build (client + server)

Change 3013913 on 2016/06/14 by Jason.Bestimt

	#ROBOMERGE-AUTHOR: jason.bestimt
	#ORION_MAIN - Updating from DMM (updated from 27.1MM)

	#RB:none
	#Tests:compiled

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

Change 3013437 on 2016/06/14 by Simon.Tovey

	Speculative fix for OR-23158

	Couldnt' repro NANs but did see it reading garbage.

	Reinstated the check that direct accesses for particles in a zero size emitter will return null.
	Altered selection code to reselect when partilce is dead or returns null and to not allow new selection on zero size emitters.

	#tests GoldenPath, No broken fx and no more reading garbage.
	#rb Olaf.Piesche

Change 3013063 on 2016/06/14 by Jason.Bestimt

	#ORION_DG - Unclog robomerge from DMM Merge

	#RB:none
	#tests:none

Change 3012936 on 2016/06/14 by Rob.Cannaday

	Fix for multiple account login not kicking previous logins
	Client was not parsing response from backend.  Client was expecting content-type to be "application/json" (using FString::Equals).  Backend was returning "application/json;charset=UTF-8".  Changed usage from FString::Equals to FString::StartsWith
	#jira FORT-25452
	#rb sam.zamani
	#tests multiple account login, frontend only

	Merge from FN CL 3011647, plus fixing one other location expecting "application/json"

Change 3012696 on 2016/06/14 by Max.Chen

	Sequencer: Select actors for corresponding selected keys or sections.

	Copy from Dev-Sequencer

	#jira UE-30727
	#tests Load up AnnounceMaster and select keyframes
	#rb none

Change 3012691 on 2016/06/14 by Max.Chen

	Sequencer: Fix dragging the leading edge of a skeletal animation section so that it adjusts the start offset of the animation clip.

	Copy from Dev-Sequencer

	#jira UE-29167
	#tests Load up AnnounceMaster and adjust leading edge of animation clips
	#rb Frank.Fella

Change 3012690 on 2016/06/14 by Andrew.Grant

	Removed Linux work-around for memory stomp alignment
	#rb none
	#tests compiled

Change 3012687 on 2016/06/14 by Max.Chen

	Sequencer: Fix lower bound when doing post render tick so that the start of a shot doesn't render with the previous shot's time.

	Copy from Dev-Sequencer

	#rb none
	#tests Load up AnnounceMaster and played through sequence

Change 3012627 on 2016/06/14 by Mieszko.Zielinski

	Added logging of current MoveID to PathfollowingComponent's vlog snapshot #UE4

	#rb none
	#test golden path

Change 3012615 on 2016/06/14 by Mieszko.Zielinski

	Improved fix to BTDecorator_Blackboard's latent tasks aborting #UE4

	#rb Lukasz.Furman
	#test golden path

Change 3012572 on 2016/06/14 by Dmitry.Rekman

	Fix realloc with non-default alignment in jemalloc (OR-23541).

	- Removed obsolete check(), the code was already there since CL 1834526.

	#rb none
	#codereview Andrew.Grant, Robert.Manuszewski
	#tests none

Change 3012481 on 2016/06/14 by David.Ratti

	ability system #include fixups and move orion attribute capture marcros into base engine ability system execution class

	#rb none
	#tests ability system sample project

Change 3012457 on 2016/06/14 by Andrew.Grant

	Un-fix misaligned memory-stomp fix for Linux
	#rb none
	#tests compiled

Change 3012320 on 2016/06/14 by Graeme.Thornton

	Fixes for MemoryAnalyser2 solution
	 - Upgraded to VS 2015
	 - Clean up solution configurations. Only leave "Any CPU"
	 - Switch project to build with "Any CPU" rather than "x64".

	Reimplementation of CL 3012221 from Dev-Core

	#rb robert.manuszewski
	#tests opened the main window form correctly in visual studio

Change 3012316 on 2016/06/14 by Thomas.Sarkanen

	Fix copying non-POD structs in the fast path

	Prevents double-deletions of TArrays etc.

	#jira UE-31394 - Fix problems with non-POD UStructs using the anim BP fast-path
	#tests Played PIE & died as Sword in OrionEntry, Exited PIE.
	#rb Martin.Wilson

Change 3012187 on 2016/06/14 by Graeme.Thornton

	Corrected error message when not specifying linux server device command line correctly in UAT

	#rb Dmitry.Rekman
	#tests Checked error message was useful when wrong command line was specified

Change 3012026 on 2016/06/13 by jason.bestimt

	#ORION_MAIN - Merge 27.2 @ CL 3011936

	#RB:none
	#Tests:none

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

	#ROBOMERGE-SAYS: Beep boop! I couldn't merge this change. Please do it yourself, human.
	//Orion/Dev-General/oriongame/Content/Characters/Heroes/Hammer/Abilities/Subjugate/FX/P_SubjugateSwirls.uasset - can't integrate exclusive file already opened
	#CodeReview: jason.bestimt

Change 3011969 on 2016/06/13 by Brian.Karis

	Tweaks for hair

Change 3011638 on 2016/06/13 by Andrew.Grant

	Fixed issue where RepLayout could use unaligned memoryfor property construction if allocator did not use a suitable default (fixes crash when running with MemStomp).

	Also added sanity check in UScriptStruct::InitializeStruct that memory is correctly aligned before calling constructor

	#codereview Dave.Ratti, John.Pollard
	#rb none
	#tests Ran with/without memstomp

Change 3011575 on 2016/06/13 by jason.bestimt

	#ORION_MAIN - Merge DUI @ CL 3011414

	NOTE - Card data was altered.  Shame shame shame.  Not authoritative in DUI

	#RB:none
	#Tests:none

	[CodeReviewed]: matt.schembari, kerrington.smith, sammy.james, matt.kuhlenschmidt

	#ROBOMERGE-SOURCE: CL 3011552 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: jason.bestimt

Change 3011462 on 2016/06/13 by Alexis.Matte

	#jira UE-31901 The outputdevice is adding 2 uninitialize character at the end of any log, this is cause by the terminator logic. The fix is to not add those characters when no terminator should be add.

	#rb nick.darnell
	#codereview Robert.Manuszewski
	#test export a obj file and verify all object are exported in maya or max

Change 3011424 on 2016/06/13 by Martin.Wilson

	Hack out fastpath anim bp code until heap corruption issue can be fixed.

	#rb Laurent.Delayen
	#tests Persona + PIE

Change 3011191 on 2016/06/13 by Mieszko.Zielinski

	Added missing initialization of PathFollowingComponent::CurrentMoveInput #UE4

	#rb none
	#test golden path

Change 3011138 on 2016/06/13 by Mieszko.Zielinski

	Switched bots over from travel mode to sprinting #Orion

	#rb Lukasz.Furman
	#test golden path

Change 3011075 on 2016/06/13 by David.Ratti

	Default GameplayAbility instancing policy to InstancePerExecution

	#rb BenZ
	#tests compile

Change 3011051 on 2016/06/13 by David.Ratti

	Add missing include so GameplayAbilitySet.h can be included on its own.

	#rb none
	#tests compile

Change 3010968 on 2016/06/13 by Mieszko.Zielinski

	Fixed console variables crashing on "" string #UE4

	#rb Lukasz.Furman
	#codereview Martin.Mittring
	#test PIE

Change 3010888 on 2016/06/13 by Alexis.Matte

	#jira OR-23301 Close the OS handle when closing the FAsyncWriter.

	#rb Robert.Manuszewski
	#codereview Robert.Manuszewski
	#test try to export a obj file

Change 3010239 on 2016/06/11 by Michael.Noland

	UMG - Adding back the logic to use the normal WidgetTree when the DesignerWidgetTree is not defined. [duplicated fix from CL# 2998267]

	#jira UE-31570
	#tests Compiled some blueprints
	#rb none

Change 3009870 on 2016/06/10 by Wes.Hunt

	Remove logging of analytics payloads from dedicated servers #jira UE-31858
	#codereview:dmitry.rekman
	#rb none
	#tests All testing was done in Dev-Framework. This change was redone in this branch to get it here faster.

Change 3009599 on 2016/06/10 by Michael.Noland

	Rendering: Corrected a misleading help comment on r.StaticMeshLODDistanceScale, explaining how it affects LOD calculations (it multiplies the effective distance, so larger numbers make transitions happen sooner)
	#tests Verified in the output of the help command
	#rb none
	#rn

Change 3009559 on 2016/06/10 by Marcus.Wassmer

	Fix 11/11/10 SceneColorFormat option, enable AntiGhosting on TemporalAA, ensure TemporalAA output is the correct format for accumulating results.  Set SceneColorFormat to 2 on PS4 and lowspec PC.  All in all saves .3-.5ms on PS4 and improves temporalAA ghosting.
	#rb Brian.Karis
	#test Agora PS4 / PC

Change 3009525 on 2016/06/10 by David.Ratti

	Fix case where ObjectLIbrary would not be able to find classes when searching "/Game" path.

	#rb none
	#tests object libraries in paragon

Change 3009228 on 2016/06/10 by David.Ratti

	remove world check. Can be triggered in editor with PIE

	#rb none
	#tests pie

Change 3009050 on 2016/06/10 by Dmitry.Rekman

	Fix LinuxClient platform not being built on Windows, and not instantiating a target platform instance.

	- Fixes by BenM.

	#rb none
	#codereview Ben.Marsh
	#tests Compiled OrionEditor on Linux.

Change 3008973 on 2016/06/10 by Marcus.Wassmer

	Fix Windualshock on VS2015
	#rb Rolando.Caloca
	#test PS4 controller on VS2015 build

Change 3008970 on 2016/06/10 by David.Ratti

	Fix warning about minimal replication tag count
	-Made bit count a config setting. Bumped to 5
	-Minor optimization to UAbilitySystemGlobals::Get()

	#rb none
	#tests goldne path, pie

Change 3008478 on 2016/06/09 by Jason.Bestimt

	#ORION_DG - Merge MAIN @ CL 3008469

	#RB:none
	#Tests:none

Change 3008416 on 2016/06/09 by Andrew.Grant

	Adding 'config' as an option to set both clientconfig / serverconfig when using BuildCookRun
	#review-3008417 Ben.Marsh, Justin.Sargent
	#rb none
	#tests BuildCookRun with config

Change 3008286 on 2016/06/09 by Dmitry.Rekman

	Add LinuxClient target platform.

	#rb none
	#tests Compile OrionEditor on Linux.
	#codereview Brad.Angelcyk, Ben.Marsh

Change 3007978 on 2016/06/09 by jason.bestimt

	#ORION_MAIN - Merge DUI @ CL 3007507

	#RB:none
	#Tests:none

	[CodeReviewed]: matt.schembari, kerrington.smith

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

Change 3007771 on 2016/06/09 by Laurent.Delayen

	Fixed GetIntFromComp breaking with INDEX_NONE. Fixes crash in OrientationWarping node.

	#rb martin.wilson
	#codereview martin.wilson
	#tests Sword Leap.

Change 3007436 on 2016/06/09 by David.Ratti

	change designer facing parameter name
	#rb none
	#test compile

Change 3007408 on 2016/06/09 by David.Ratti

	WaitGameplayEffectBlockedImmunity - ability task for listening to immunity events

	#rb danY
	#tests pie

Change 3007250 on 2016/06/09 by bruce.nesbit

	Banner impact location fix. (OR-23179)

	#rb none

	#tests Game+PIE

Change 3007228 on 2016/06/09 by Ben.Marsh

	BuildGraph: Rename -SkipNodesWithoutTickets parameter to -SkipTargetsWithoutTickets, to reflect that it's filtering the list of targets rather than the full graph.

	#rb none
	#tests none

Change 3007225 on 2016/06/09 by Ben.Marsh

	EC: Set the -TicketSignature=... parameter for all BuildGraph jobs started by EC to the URL of the current job.

Change 3006985 on 2016/06/08 by jason.bestimt

	#ORION_MAIN - Merge 27.2 @ CL 3006936

	#RB:none
	#Tests:none

	#ROBOMERGE-SOURCE: CL 3006978 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: jason.bestimt

Change 3006926 on 2016/06/08 by Andrew.Grant

	Merging //UE4/Main @ 300872 via //UE4/Orion-Staging
	#rb none
	#tests engine QA, orion qa smoke

Change 3006444 on 2016/06/08 by Ben.Marsh

	BuildGraph: Add mechanism to specify that nodes can only be built once for a given changelist. Nodes can have an associated ticket file, and they are only permitted to build if the ticket is assigned to the current job. Tickets are created if they don't exist, and written with a signature specific to the job specified via the -TicketSignature="..." parameter. By default, builds will fail if a ticket has been already granted to another job, but the -SkipNodesWithoutTickets parameter instructs the graph to skip affected nodes instead.

	#rb none
	#tests none

Change 3006389 on 2016/06/08 by Daniel.Lamb

	Delay the processing of packages which aren't ready till the end of the cook.
	This allows other packages to be processed sooner.
	#rb Peter.Sauerbrei
	#test cook orion.

Change 3006306 on 2016/06/08 by Michael.Noland

	Rendering: Added FreezeRendering to the console autocomplete list
	#rn

Change 3006305 on 2016/06/08 by Michael.Noland

	HLOD: Added a way to control how far down the HLOD hierarchy to allow showing (can be used to limit quality loss and streaming texture memory usage on high scalability settings for example)
	Controlled by the new cvar r.HLOD.MaximumLevel, which can be set to the following values:
	-1: No maximum level (default)
	0: Prevent ever showing a HLOD cluster instead of individual meshes
	1: Allow only the first level of HLOD clusters to be shown
	2+: Allow up to the Nth level of HLOD clusters to be shown

	Note: This does not affect the memory used by the HLOD meshes itself or their always loaded low mip levels, it will only save the memory associated with streaming in the higher mip levels

	HLOD: Allowed r.HLOD console command to be used in Test configurations
	HLOD: Removed some dead code in ALODActor and scene view / scene proxy relating to a different way to force visualization that has no trigger
	HLOD: Fixed an uninitialized memory bug in the static mesh scene proxy HLODcoloration visualization code

	#rn
	#codereview jurre.debaare
	#rb marc.audy
	#tests Tested with various settings in Paragon and tried creating some new clusters in the editor

Change 3006304 on 2016/06/08 by Michael.Noland

	Engine: Changed the code in AActor::IncrementalRegisterComponents to obey bAutoRegister for the root component rather than asserting that it is true. Note: If children components have bAutoRegister=true, they will still pull the root component into the fray and cause it to be registered first
	#rb marc.audy
	#tests Tested with code that registers or unregisters HLOD clusters at varying levels in Paragon

Change 3006041 on 2016/06/08 by Andrew.Grant

	Added buildidoverride to shipping whitelist
	#rb none
	#tests compiled and used param in shipping

Change 3005678 on 2016/06/08 by Ben.Marsh

	Back out changelist 3004395

	#rb none
	#tests none

Change 3005265 on 2016/06/07 by jason.bestimt

	#ORION_MAIN - Merge 27.2 @ CL 3005120

	#RB: none
	#Tests: none

	#ROBOMERGE-SOURCE: CL 3005250 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: jason.bestimt

Change 3005081 on 2016/06/07 by Daniel.Lamb

	Reworked the way packages which are renamed on load are added to the cooked package list.
	Cooker now has options for MaxMemoryAllowance as a percentage and also MinFreeMemory (which takes into account used system memory not just total system memory).
	#rb Andrew.Grant, Marcus.Wasmer
	#test cook orion

Change 3004752 on 2016/06/07 by Daniel.Lamb

	Requeue packages to the next package on the list instead of to the end of the list.
	#rb Andrew.Grant
	#test cook orion

Change 3004560 on 2016/06/07 by David.Ratti

	Kill timelines, latent actions, timer when recycling gameplay cues

	#rb danY
	#tests pie

Change 3004559 on 2016/06/07 by David.Ratti

	Object Library:
	-Added bool bIncludeOnlyOnDiskAssets that can be set by owner. Passed on to the AR filter when gathering assets.

	GameplayCue Editor:
	-Fix issue with new notifies not showing up after being created through the GC Editor (until restart).

	-Fix issue for new projects, that don't have gameplayclue tags defined, not being able to add gameplay cue tags through the editor without restarting once.

	#rb none
	#tests editor

Change 3004395 on 2016/06/07 by Ben.Marsh

	BuildGraph: Add a script function to ensure exclusive access to a given resource. The AcquireLockFile() function takes two arguments; a path to a text file, and the name of an owner. The file is created and the owner name written to it if it doesn't already exist, otherwise the contents of it are compared against the given owner string. The operation happens transactionally, and the function returns true if file contains the given owner string on exit. Logical and/or conditions are now also short-circuited, so the result of the AcquireLockFile() function can be used to control derived property definitions within an executing job.

	#rb none
	#tests none

Change 3004164 on 2016/06/07 by David.Ratti

	Ability system: use player controller netmode over avatar actor when possible. Fixes issue if torn off, authority, client side actor tries to activate an ability.

	#rb danY
	#tests multi pie

Change 3003837 on 2016/06/07 by David.Ratti

	Ability system engine work
	-Default to /Game as search path for gameplay cues, if no explicit paths are set in the config.

	#rb none
	#tests ability sample project

Change 3002800 on 2016/06/06 by Marcus.Wassmer

	Fix shader crash in PIE
	#rb none
	#test PIE

Change 3002657 on 2016/06/06 by Dmitry.Rekman

	Do not copy to clipboard on crash if headless or on the wrong thread.

	- Could result in crash handler crashing itself in some circumstances.

	#rb none
	#codereveiw Brad.Angelcyk
	#tests Compiled Linux dedicated server and CrashReportClient.

Change 3002546 on 2016/06/06 by Daniel.Lamb

	Improve cooking performance.
	Allow cooker to save other packages opportunistically if main package is compiling shaders.
	Allow cooker to load more packages if there aren't many packages to save.
	#rb Josh.Adams
	#test cook orion

Change 3002369 on 2016/06/06 by Marcus.Wassmer

	Project setting for optional rendering features to reduce shader compile times.
	# of shaders per material is reduced by ~30-40% depending on material
	#rb Daniel.Wright
	#test Editor with/without all options, cooked ps4.

Change 3002142 on 2016/06/06 by David.Ratti

	Ability system engine level:
	-Fix crash when gameplay cue editor starts if there are no gameplay cue paths specified
	-Fix crash when GameplayCue tag is not specified

	#rb none
	#tests sample ability system project, paragon

Change 3002106 on 2016/06/06 by Jason.Bestimt

	#ROBOMERGE-AUTHOR: sam.zamani
	#orion
	- add support for code tokens which can be shared/redeemed
	- refactor of existing friend founder's pack codes to be displayed in a generic way using code token info
	- added CodeToken.FounderFriendInviteT0 for new paragon tier 0 code which grants access to game without also giving a Founder's pack
	- added CodeToken.FounderFriendInviteT1 to replace existing CodeToken.FriendPC and CodeToken.FriendPS4 Founder's pack codes. Existing codes aliased to the new CodeToken.FounderFriendInviteT1 code
	- No longer differentiation between PC/PS4 friend codes
	- "Share Friend Code" button will now process all available codes that can be issued instead of just 1
	- updated Orion service Mcp call for getUnredeemedCodes() to ignore the code template id and return all available codes. Each returned code will also include the type

	[CodeReviewed]: david.nikdel, jason.bestimt
	#rb david.nikdel
	#tests PC PIE using localhost and profile proxy for granting codes, also existing account with legacy codes

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

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

	#ORION_MAIN - Merge 27.2 @ CL 3001162

	#RB:none
	#Tests:none

	#ROBOMERGE-SOURCE: CL 3001200 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: jason.bestimt

Change 2999508 on 2016/06/03 by jason.bestimt

	#ORION_MAIN - Merge 27 @ CL 2999463

	#RB:none
	#Tests:none

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

	#ROBOMERGE-SAYS: Beep boop! I couldn't merge this change. Please do it yourself, human.
	//Orion/Dev-General/OrionGame/Content/Audio/ClassesAndMixes/Classes/Master.uasset - can't integrate exclusive file already opened
	#CodeReview: jason.bestimt

Change 2999465 on 2016/06/03 by Robert.Manuszewski

	Whitelisting more DLLs for injection.

	#rb none
	#tests none

Change 2999455 on 2016/06/03 by Lukasz.Furman

	disabled path invalidation events for minions
	#orion
	#rb Mieszko.Zielinski
	#tests PIE with additional debug logging

Change 2998488 on 2016/06/02 by Michael.Noland

	Engine: Prevent forced drawing of spline components in Test configuration
	#codereview james.golding
	#tests Ran a cooked Test build on a map with splines in it
	#rb david.ratti
	#robomerge: main

Change 2997954 on 2016/06/02 by Jason.Bestimt

	#ROBOMERGE-AUTHOR: jon.lietz
	OR-22425

	no longer try to updat the tag map and modifiers when the gameplay effect that is being removed was not active.

	#RB Dave.Ratti
	#Tests golden path

	#ROBOMERGE-SOURCE: CL 2997940 in //Orion/Release-0.27/... via CL 2997943
	#ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 2997750 on 2016/06/02 by Graeme.Thornton

	Add FPakFile::Check() that attempts to open and read the data out of every file in a pak, to check for corruption
	Added -checkpak option for force a check of every mounted pak file

	#rb robert.manuszewski
	#tests tested against cooked pc client. made sure my data succeeded. made sure corrupted data throws an error.

[CL 3031715 by Andrew Grant in Main branch]
2016-06-28 17:59:42 -04:00
Andrew Grant
2000999e23 Copying //UE4/Orion-Staging to //UE4/Main (Source: //Orion/Dev-General @ 2997507)
#lockdown Nick.Penwarden

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

Change 2997066 on 2016/06/01 by Michael.Noland

	Engine: Marked engine performance target cvars ECVF_Scalability so they can be adjusted via scalability buckets at runtime for games that target different framerates on different levels of hardware
	#rb none
	#tests Ran Paragon and changed video settings and tested t.TargetFrameTimeThreshold

Change 2996816 on 2016/06/01 by Dan.Youhon

	Add FixedWorldDirection option for Root Motion Radial Forces; code/BP hook-up for allowing Price's reworked RMB to send all targets in the same (correct) direction
	- FixedWorldDirection added to both root motion system and corresponding ability tasks
	- Exposed AddHitResult for EffectContexts for modifying EffectContext hit results from BP
	- Hooked up to Price RMB - we (somewhat dirtily) route Price's location and facing through the HitResult of the EffectContext for his displacement GE

	#rb Dave.Ratti
	#tests MultiPIE
	#codereview Billy.Rivers
	#lockdown Billy.Rivers

Change 2996526 on 2016/06/01 by Brian.Karis

	Fixed tube light typo

	JB made this robomerge up.  Shader recompiling in our future.

	#RB:none
	#Tests:none

	#ROBOMERGE: MAIN, 27, 26.2

Change 2996428 on 2016/06/01 by Rolando.Caloca

	O - Made r.D3D.RemoveUnusedInterpolators a system setting which now also alters ddc key; fix r.Shaders.FastMath actually affecting compilation when =0
	#rb Chris.Bunner
	#codereview Michael.Noland, Marcus.Wassmer
	#jira OR-22573
	#tests Run with and without r.D3D.RemoveUnusedInterpolators=1 on DefaultEngine.ini

Change 2996090 on 2016/06/01 by Jason.Bestimt

	#ORION_MAIN - Merge 26.2 @ CL 2995754

	#RB:none
	#Tests:none

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

	#CodeReview: jason.bestimt

Change 2995785 on 2016/06/01 by Robert.Manuszewski

	Don't delete non-backup log files when cleaning up the logs folder.

	#rb none
	#tests Tested in the editor with multiple old log files

Change 2995556 on 2016/05/31 by Dmitry.Rekman

	More info about timers on crash (OR-21986).

	- Somewhat desperate attempt to get more clue about timer crash. Intended to be removed later.

	#rb Michael.Noland
	#codereview Marc.Audy, Michael.Noland
	#tests Compiled the Linux server, ran it, crashed a few times.

Change 2995397 on 2016/05/31 by Michael.Noland

	Rendering: Made the optimization to combine upscaling/downscaling and tonemapping optional based on the amount of upscaling that will occur
	- r.Tonemapper.ScreenPercentage has been renamed to r.Tonemapper.MergeWithUpscale.Mode
	- r.Tonemapper.MergeWithUpscale.Threshold is a new setting used when r.Tonemapper.MergeWithUpscale.Mode is set to 2, which indcates to only try to merge the passes if the ratio of the area before upscale/downscale to the area afterwards is greater than the threshold
	This prevents running the tonemapper on all of the target res pixels when the source res is far smaller, as that can cause it to be a loss to merge the passes

	Upgrade Notes: r.Tonemapper.ScreenPercentage has been renamed to r.Tonemapper.MergeWithUpscale.Mode

	#rb marcus.wassmer
	#tests Ran Paragon at various resolutions on Intel and NV cards
	#rn

Change 2995118 on 2016/05/31 by David.Decker

	- Fix for build failure

	#rb none
	#tests golden path game

Change 2994929 on 2016/05/31 by David.Decker

	#Orion_Analytics
	-Added PacketRecievedHistogram event that fires every minute in game the rate is configurable in DefaultGame.ini
	-Moved FHistogram from PerfCountersModule to ProfilingHelpers
	-Re-enabled Location event

	#rb Dmitry.Rekman
	#codereview Dmitry.Rekman, John.Pollard, Christopher.Wright
	#tests golden path game

Change 2994920 on 2016/05/31 by Daniel.Lamb

	Added some more cooking stats to save package.
	#rb Wes.Hunt
	#test Cook Orion.

Change 2994622 on 2016/05/31 by Zak.Middleton

	#orion - Pickup and Coin filter collision optimizations.

	- Added coin collision profile preset and made it ignore everything but Pawn (importantly, now ignores triggers).
	- Pickups filter out collision with AI earlier. Profile already did this but this avoids more branches and cache misses in PreFilter.
	- Coins now additionally filter out more efficiently Heroes that can't pick them (no overlap events generated at all).

	#rb Jon.Lietz, Frank.Gigliotti
	#tests PlayGo MultiPIE

Change 2994305 on 2016/05/31 by Andrew.Grant

	Restoring prompt/exit on signed archive issue to help identify causes
	#rb none
	#tests compiled

Change 2994226 on 2016/05/31 by Jason.Bestimt

	#ROBOMERGE-AUTHOR: jason.bestimt
	#ORION_MAIN - Merge 27 @ CL 2993946

	#RB:none
	#Tests:none

	[CodeReviewed]: graeme.thornton

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

Change 2994204 on 2016/05/31 by bruce.nesbit

	More banner changes
	-Fixed an issue with InterpToComponent with very short times
	-revisions to test banner
	-added fade to banner/charms
	-tries to set team color on decativate FX

	#rb none

	#tests Game+PIE

	#codereview Jason.Bestimt

Change 2993973 on 2016/05/30 by Robert.Manuszewski

	Updated protection handling

	#rb none
	#tests Compiled and applied protection

Change 2993588 on 2016/05/27 by Michael.Noland

	Engine: Removed a bogus autocomplete for ShowMaterialDrawEvents, which was previously renamed r.ShowMaterialDrawEvents
	#rb none
	#tests Typed in ShowMat in the console and verified that no autocomplete appeared
	#rn

Change 2993510 on 2016/05/27 by John.Pollard

	Fix issue with root motion sources and replays, fixes TwinBlast RMB ability animation issue, and other artifacts

	#rb RyanG
	#tests Replays

Change 2993484 on 2016/05/27 by Uriel.Doyon

	New logic for computing the skel mesh streaming scales
	#rb marcus.wassmer
	#tests loaded editor, played with streaming scale

Change 2993211 on 2016/05/27 by Uriel.Doyon

	Workaround for lightmap streaming flags not being correctly set.
	#codereview marcus.wassmer
	#rb marcus.wassmer
	#tests building lighting and investigating streaming

Change 2993068 on 2016/05/27 by Marcus.Wassmer

	Duplicate 2989729
	Fix for lightmaps and shadowmaps having low resolutions after building lightings
	#rb none
	#test PC at various scalability
	#codereview Uriel.Doyon

Change 2993066 on 2016/05/27 by Lukasz.Furman

	fixed behavior tree getting stuck on ResumeLogic call
	copied from //UE4/Dev-Framework, CL# 2993058
	#jira OR-22498
	#rb none
	#tests none

Change 2992706 on 2016/05/27 by Marcus.Wassmer

	Duplicate 2991726
	Fix for grey skin in simple lighting model (shadows off)

	#rb none
	#test lowest settings on PC

Change 2992705 on 2016/05/27 by Marcus.Wassmer

	Duplicate 2991727
	Fix emissive decals in simple forward renderer
	#rb none
	#test PC lowest settings

Change 2992658 on 2016/05/27 by David.Ratti

	Remove all occurrences of Ability.PersistPastDeath from granted tags. Fix code to *only* check asset tags for this tag, instead of both.

	#rb none
	#test pie

Change 2992646 on 2016/05/27 by Ben.Marsh

	BuildGraph: Add a BuildGraph task to run a UE4 commandlet. Syntax is <Commandlet Name="..." Project="..." Arguments="...">.

	#rb none
	#tests none

Change 2992252 on 2016/05/26 by Jason.Bestimt

	#ORION_DG - Unclog ROBO Merge in DG

	#RB:none
	#Tests:none

Change 2992180 on 2016/05/26 by John.Pollard

	Fix issue where external data wasn't saving out properly

	#rb RyanG
	#tests Replays

Change 2992159 on 2016/05/26 by Michael.Noland

	CVar to disable/freeze GPU particle simulation (r.GPUParticle.Simulate)
	[Replicated from Dev-Rendering checkin CL# 2989752 by Olaf]
	#rb olaf.piesche
	#tests Tested the command in Agora and verified that GPU particles were not being drawn

Change 2992158 on 2016/05/26 by Michael.Noland

	Rendering: Added a cvar that controls unbinding of all texture resources between materials changes in the DX11 renderer (r.UnbindResourcesBetweenDrawsInDX11) to improve the readability of GPA captures
	Note: This will probably be moved to be on when markers are on rather than an independent cvar, but it is currently separate for testing
	#codereview marcus.wassmer
	#rb none
	#tests Ran with the var off and on and verified in GPA captures

Change 2991645 on 2016/05/26 by Andrew.Grant

	Fix for filesize returning 0 if file not found
	#rb none
	#tests bugit now works
	#jira OR-20488

Change 2991290 on 2016/05/26 by Mieszko.Zielinski

	Added a static flag to NavigationSystem that can be used to short-circuit dynamic navigation related functions #UE4

	Will save some perf on PS4 in Orion, since clients do use navigation system there.

	#rb Lukasz.Furman
	#test golden path

Change 2991288 on 2016/05/26 by Mieszko.Zielinski

	CL#2990243 manually redone in for Orion #UE4

	Original description:
	> Fixed behavior tree observers not being applied correctly

	#rb Lukasz.Furman
	#test golden path

Change 2991271 on 2016/05/26 by Jason.Bestimt

	#ROBOMERGE-AUTHOR: jason.bestimt
	#ORION_MAIN - Merge 26.2 @ CL 2990688

	#RB:none
	#Tests:none

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

Change 2991185 on 2016/05/26 by Mieszko.Zielinski

	Fixed UAITask_MoveTo not releasing paths properly, or clearing path observing when task is being reused #UE4

	Also, fixed FNavigationPath::DoneUpdating not converting ENavPathUpdateType properly

	#rb Lukasz.Furman
	#test golden path

Change 2990788 on 2016/05/25 by Marcus.Wassmer

	Fix deprecation warning
	#rb none
	#test none

Change 2990582 on 2016/05/25 by Marcus.Wassmer

	Now that render commands are enqueued again on servers, we shouldn't outright crash if an allocation gets to nullrhi
	#codereview Dmitry.Rekman
	#rb none
	#test none

Change 2990450 on 2016/05/25 by Martin.Mittring

	OR-22233 GPU Sprites invisible unless solo'd
	#rb:David.Hill
	#jira:OR-22233
	#test:PC

Change 2990199 on 2016/05/25 by Marcus.Wassmer

	Remove experimental HDR support in tonemapper. Brings tonemapper cost back down into line
	#rb none
	#codereview Michael.Noland,Brian.Karis

Change 2989908 on 2016/05/25 by Andrew.Grant

	Changed warning about DDC cache full to Display
	#rb none
	#tests compiled

Change 2989903 on 2016/05/25 by Mieszko.Zielinski

	Made BT component ignore subtree injection request if relevant BT nodes already use indicated asset #UE4

	#rb Lukasz.Furman
	#test golden path

Change 2989795 on 2016/05/25 by Ryan.Gerleve

	Fix for storing the correct URL on the pending net game for replay playback.
	Re-implemented this fix from Dev-Networking CL 2981198, fixes deathcam after latest main integration.

	#tests played a reply, enabled deathcam
	#rb none

Change 2989483 on 2016/05/25 by David.Ratti

	ToggleJuggernaut cheat
	#rb danY
	#tests pie

Change 2989384 on 2016/05/25 by Graeme.Thornton

	Extra chunk decryption tests and logging to help diagnose the random failure we're seeing in the wild
	 - retry decrypt three times
	 - after the first attempt, re-decrypt original source, just incase the decrypt cache has been corrupted

	#tests cooked pc client + dedicated server
	#rb robert.manuszewski

Change 2989225 on 2016/05/24 by Dmitry.Rekman

	Fix rare crash in Linux threading code (OR-22193).

	- Sometimes, for some reason, freeing memory for an alternate thread from a thread in PostRun() can crash because the jemalloc apparently does not have an arena for this thread anymore.
	- This change works around the problem by allocating the said memory statically in LinuxThread class.

	#rb none
	#codereview Bob.Tellez, David.Vossel
	#tests Compiled Linux server, started it.

Change 2988768 on 2016/05/24 by Uriel.Doyon

	Added support for SkinnedMesh in the texture streaming MeshCoordSize accuracy viewmode.
	#RB marcus.wassmer
	#tests loaded game and editor

Change 2988462 on 2016/05/24 by Mieszko.Zielinski

	Added a piece of logging to both scenarios or movement aborting in UPathFollowingComponent::UpdatePathSegment to be able to tell them appart while reading the log #Orion

	#rb Lukasz.Furman
	#test golden path

Change 2988036 on 2016/05/24 by Jason.Bestimt

	#ROBOMERGE-AUTHOR: jason.bestimt
	#ORION_MAIN - Merge 26.2 @ CL 2987910

	#RB:none
	#Tests:none

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

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

	Redone changes from CL#2981193 #UE4

	Original description: fixed missing observers in behavior tree when dynamic subtree is changed while waiting for full restart (out of nodes)

	#rb Lukasz.Furman
	#test golden path

Change 2987388 on 2016/05/23 by Olaf.Piesche

	Replicating CL 2985226; don't push mesh emitter transform to pixel shader unless used in the material graph

	#rb marcus.wassmer
	#tests editor game PC

Change 2986255 on 2016/05/22 by Mieszko.Zielinski

	Manually resolving conflict that stoped robomerge from Main to DG #Orion

	#rb none
	#test compile
	#codereview Jason.Bestimt

Change 2986209 on 2016/05/21 by Andrew.Grant

	Removed hitchunter logging from http thread
	#rb none
	#tests compiled

Change 2986202 on 2016/05/21 by Andrew.Grant

	Merging //UE4/Main @ 2981382 from //UE4/Orion-Staging
	#rb none
	#tests engine & game QA passed, built locally

Change 2985899 on 2016/05/20 by Rob.Cannaday

	Move PS4 HTTP processing to HTTP thread
	#tests golden path
	#rb dmitry.rekman

Change 2985884 on 2016/05/20 by Bart.Bressler

	Fix issue where oodle wasn't enabled in shipping correctly.

	#rb john.pollard
	#tests ran orion server in shipping and connecting with a client

Change 2985778 on 2016/05/20 by Jason.Bestimt

	#ROBOMERGE-AUTHOR: jason.bestimt
	#ORION_MAIN - Merge 26.2 @ CL 2985753

	#RB:none
	#Tests:none

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

Change 2985760 on 2016/05/20 by Rob.Cannaday

	Second pass on HTTP threading
	Move threaded objects into separate class, FHttpThread.  FCurlHttpThread derives from FHttpThread and the curl multi work is performed in FCurlHttpThread
	Removed code that limited number of curl easy requests that were added to the multi simultaneously / per frame as now that curl work is performed on a separate thread the performance no longer directly impacts the game thread
	Remove lock from CurlHttp and instead of use FThreadSafeCounter
	#rb dmitry.rekman
	#tests golden path (PC & PS4)

Change 2985658 on 2016/05/20 by John.Pollard

	Fixed issue with cached http replay results making time go backwards

	#rb none
	#tests replays

Change 2985640 on 2016/05/20 by Jason.Bestimt

	#ROBOMERGE-AUTHOR: david.ratti
	Ability System: call OnRemove event for gameplay cues that are mispredicted. Previously if a looping GC was predictively added, it would only get the OnRemove event if the replicated GC was removed. In the case of a mis prediction there is no replicated version, so the OnRemove was never called and cleanup was never happening.

	#rb FrankG
	#tests multi pie

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

Change 2985631 on 2016/05/20 by Jason.Bestimt

	#ROBOMERGE-AUTHOR: david.ratti
	Fast TArray serialization fixes:
	1. Fix case where Array ReplicationKey has changed no items between base and current state have changed. Previously server would early out and not send an update: but this needs be sent so that the client can potentially perform an implicit delete.

	This fixes the case where client TArray would have stale items hanging around until a new update was sent (which could potentially be never).

	2. Fix case where an array item would be deleted by both explicit delete and implicit delete: causing other items in the array to be deleted (!).

	#rb frankG, pollard
	#tests golden path
	[CodeReviewed] Bob.Tellez, Billy.Bramer, Ben.Zeigler

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

Change 2985542 on 2016/05/20 by Daniel.Lamb

	Added per package stats.
	Optimized cooker, moved FTextureSource::Compress from UTexture::Presave to UTexture::Serialize so we can avoid it in the cooker.
	#rb Robert.Manuszewski, Andrew.Grant, Marcus.Wassmer
	#test cook paragon, save packages paragon editor

Change 2985152 on 2016/05/20 by Jason.Bestimt

	#ROBOMERGE-AUTHOR: jason.bestimt
	#ORION_MAIN - Merge 26.2 @ CL 2985092

	#RB:none
	#Tests:none

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

Change 2985001 on 2016/05/20 by Chris.Wood

	Move fullcrashdump location for Paragon from QA deptartment storage to Paragon project storage. Changes CrashReportClient config only.

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

	Renaming some confusing function names and updating messages related to exception handling.

	#rb none
	#tests Cooked Win64 Client and Server, Tested crash reporting in cooked game

Change 2984517 on 2016/05/19 by Mike.Larson

	Adjusted 'PlatformHeadroom' audio volume settings to DB-3 on both Windows and PS4

Change 2983932 on 2016/05/19 by jason.bestimt

	#ORION_MAIN - Merge 26.2 @ CL 2983814

	#RB:none
	#Tests:none

	#ROBOMERGE-SOURCE: CL 2983921 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: jason.bestimt

Change 2983864 on 2016/05/19 by Wes.Hunt

	Added missing assignment copy/move ops to FAnalyticsEventAttribute. Doh, should have looked at more usages of PLATFORM_COMPILER_HAS_DEFAULTED_FUNCTIONS...
	#codereview:steve.robb
	#rb none
	#tests compiled Orion Editor Win64

Change 2983780 on 2016/05/19 by Wes.Hunt

	Modernize FAnalyticsEventAttribute usage. #jira UE-30551.

	Replaced FAnalyticsEventAttribute various ctors with a perfect forwarding one that can convert them to strings.
	* The Name must be convertible to a string
	* The value must be convertible to a string via an AnalyticsConversion::ToString() overload.
	* Added/expanded the supported conversions to strings to analytics attribute values. See AnalyticsConversion.h which contains all the previously supported conversions and more.

	Added MakeAnalyticsEventAttributeArray(), which uses variadic templates to create an array of event attributes inline, which can be passed to RecordEvent[Json] and efficiently taken ownership of:
	    RecordEvent("EventName", MakeAnalyticsEventAttributeArray(
	        "Attr1", false,
	        "Attr2", 42.0,
	        "Attr3",  SomeMap,
	        "Attr4", SomeArray);

	#codereview:steve.robb,david.decker,sam.spiro
	SamS - you've been asking for better attribute conversion facilities for years. Finally got it, haha.
	SteveR - I only added copy/move ctors to FAnalyticsEventAttribute. Do I also need to explicitly add the copy/move assignment ops?
	DavidD - This will allow you to create attributes a lot more easily and efficiently now.
	#rb steve.robb,david.decker
	#tests orion editor runs

Change 2983702 on 2016/05/19 by Daniel.Lamb

	Renumbered cooking stats to be more correct
	#rb Wes.Hunt
	#test cook paragon.

Change 2983392 on 2016/05/19 by Jason.Bestimt

	#ROBOMERGE-AUTHOR: jason.bestimt
	#ORION_MAIN - Merge 26.2 @ CL 2983342

	#RB:none
	#Tests:none

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

Change 2982910 on 2016/05/18 by Marcus.Wassmer

	Don't fail entire deployments because obsolete manifest can't find the files to delete
	#rb none
	#codereview Peter.Sauerbrei
	#test none

Change 2982902 on 2016/05/18 by Marcus.Wassmer

	Disable HTTP networkfilesystem because it constantly crashes cookonthefly servers.  platform team is aware
	#rb none
	#test cookonthefly

Change 2982837 on 2016/05/18 by David.Ratti

	Spot merge safety check in ~FAgggregator. From BobT CL 2966255.

	#rb none
	#tests compile

Change 2982723 on 2016/05/18 by Wes.Hunt

	Analytics no longer adds IsEditor attribute to all events. Wasn't actually used by anyone anymore. #jira UE-30559
	#rb none
	#tests none

Change 2982716 on 2016/05/18 by Wes.Hunt

	Remove Analytics code to divert legacy code to source data collector. #jira UE-27794
	#rb none
	#tests run orion editor

Change 2982707 on 2016/05/18 by Wes.Hunt

	AnalyticsET support for arbitrary Json events. #jira UE-30375
	* AnalyticsET supports a new API, RecordEventJson.
	* API supports rvalue refs to avoid unnecessary copies of the attribute array.
		/**
		 * Sends an event where each attribute value is expected to be a string-ified Json value.
		 * Meaning, each attribute value can be an integer, float, bool, string,
		 * arbitrarily complex Json array, or arbitrarily complex Json object.
		 *
		 * The main thing to remember is that if you pass a Json string as an attribute value, it is up to you to
		 * quote the string, as the string you pass is expected to be able to be pasted directly into a Json value. ie:
		 *
		 * {
		 *     "EventName": "MyStringEvent",
		 *     "IntAttr": 42                 <--- You simply pass this in as "42"
		 *     "StringAttr": "SomeString"    <--- You must pass SomeString as "\"SomeString\""
		 * }
		 *
		 * @param EventName			The name of the event.
		 * @param AttributesJson	array of key/value attribute pairs where each value is a Json value (pure Json strings mustbe quoted by the caller).
		 */
		virtual void RecordEventJson(const FString& EventName, TArray<FAnalyticsEventAttribute>&& AttributesJson) = 0;
	#codereview:david.decker
	#rb david.decker
	#tests run orion editor

Change 2982057 on 2016/05/18 by David.Ratti

	GameplayCue loading - fix issue where GCM would invoke fully loaded when there were still UGameplayCueNotify_Statics to be loaded.

	#rb Ori.Cohen
	#tests golden path

Change 2981943 on 2016/05/18 by Jason.Bestimt

	#ROBOMERGE-AUTHOR: jason.bestimt
	#ORION_MAIN - Merge 26.2 @ CL 2981896

	#RB:none
	#Tests:none

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

Change 2981812 on 2016/05/18 by Robert.Manuszewski

	Suspending thread heartbeat when a message box is being displayed. Fixes false positives in hand detection.

	#rb Steve.Robb
	#tests Cooked and launched win64 client and server

Change 2981718 on 2016/05/18 by Robert.Manuszewski

	Changed how suspending/resuming thread heartbeat works: it will no longer create a heartbeat for a thread that hasn't sent any heartbeats yet.

	Reimplementing CL #2951209 from Dev-Core

	#rb Steve.Robb
	#tests None

Change 2981108 on 2016/05/17 by Wes.Hunt

	Fix perfect forwarding constructor in CookStats stuff.
	#rb none
	#tests investigating assembly output of cook stats code.
	#codereview:daniel.lamb

Change 2981028 on 2016/05/17 by Nick.Atamas

	Fixing hittest grid with virtual cursor.
	We now prefer any directly hit-test widgets with higher layer ids to those discovered through a distance search.

	#rb none
	#test Game menus
	#codereview Cody.Haskell,Matt.Kuhlenschmidt,Sammy.James,Dan.Hertzka

Change 2980963 on 2016/05/17 by Marc.Audy

	Fix shadowed variable
	#rb None
	#tests Compile

Change 2980917 on 2016/05/17 by Daniel.Lamb

	Removed script packages from unable to find packages warning.
	#rb Andrew.Grant
	#test cook paragon

Change 2980838 on 2016/05/17 by Marc.Audy

	Shave some time out of UPlayerInput::ProcessInputStack
	#rb Michael.Noland
	#tests Input works, performance improvement

Change 2980710 on 2016/05/17 by Michael.Noland

	Engine: Added helpful comments to the LOD visualization colors
	#rn
	#rb david.ratti
	#tests none

Change 2980706 on 2016/05/17 by Michael.Noland

	Engine: Removed unused setting bAllowDebugViewmodesOnConsoles (replaced some time ago by r.ForceDebugViewModes)
	#rn
	#rb david.ratti
	#tests Ran a cooked build with only r.ForceDebugViewModes=1 and confirmed that debug view modes still worked

Change 2980703 on 2016/05/17 by Michael.Noland

	Blueprints: Added support for emitting the Blueprint Description as tooltip metadata for the compiled Blueprint class (displayed in class pickers, etc...)
	#rb david.ratti
	#tests Tested on a Blueprint in Paragon
	#codereview mike.beach
	#rn

Change 2980702 on 2016/05/17 by Michael.Noland

	Rendering: Added ProfileGPU to the console autocomplete list
	#rb david.ratti
	#tests Tried typing Profile in the console and verified that the completion worked and tooltip was displayed
	#rn

Change 2980697 on 2016/05/17 by Michael.Noland

	Landscape: Added a 'resource' name for landscape to improve display in the mesh summary list of ProfileGPU
	#codereview jack.porter
	#rb david.ratti
	#tests Used ProfileGPU while standing on some terrain
	#rn

Change 2980692 on 2016/05/17 by Michael.Noland

	Landscape: Added a scalability CVar for landscape LOD biasing (r.LandscapeLODBias)
	#codereview jack.porter
	#rb david.ratti
	#tests Ran around in Paragon with various r.LandscapeLODBias values
	#rn

Change 2980630 on 2016/05/17 by Daniel.Lamb

	Added more warnings to help track down crash in paragon cook.
	#rb Andrew.Grant
	#test cook orion

Change 2980585 on 2016/05/17 by Jamie.Dale

	Fixed an issue where the editable text caret could become invisible when using UI scaling

	It's now clamped to a min draw size of 1px.

	#jira OR-18524
	#rb none
	#tests Built and ran the game. Verified that the caret now appears where it didn't before.

Change 2979908 on 2016/05/16 by jason.bestimt

	#ORION_MAIN - Merge 26.2 @ CL 2979859

	#RB:none
	#Tests:none

	#CodeReview: jaymee.stanford

Change 2979472 on 2016/05/16 by Nick.Atamas

	Added support for not clearing the render target when rendering a widget.

	#rb Nick.Darnell
	#test PIE w/ minimap

Change 2979434 on 2016/05/16 by Dmitry.Rekman

	Server: Add reporting of frame time without sleep.

	- Also add NumClients to each event so it's easy to filter events that didn't have 10 clients.

	#rb none
	#tests Built Linux server, ran match on a compatible content.

Change 2979267 on 2016/05/16 by Dmitry.Rekman

	Improvements in server hitch hunting / alerting.

	- Add an analytics event for unplayable conditions.
	- Send % of frames we hitched and time we spent hitching.
	- Send more detail about the machine.

	#rb none
	#tests Built Linux server and Windows client, played a match.

Change 2979030 on 2016/05/16 by Andrew.Grant

	Added quick way to reasign GUIDs (-AssignNewMapGuids) to map objects
	#rb none
	#tests used in editor

Change 2978914 on 2016/05/16 by David.Ratti

	Fix issue causing gameplay cue parameters not properly being passed through in cases where GA adds/removes gameplay cue.

	#rb DanY
	#tests multi pie
	#codereview Dave.Ewing

Change 2978681 on 2016/05/16 by Martin.Wilson

	Performance improvements for recalc required bones, removed a lot of unneeded array iterating. Reduces cost to roughly 30% of original code.

	#rb Thomas.Sarkanen
	#tests PS4 games, ded server

Change 2978098 on 2016/05/15 by Andrew.Grant

	Clearer error message
	#rb none
	#tests ran game

Change 2977597 on 2016/05/13 by Olaf.Piesche

	Merging using //UE4/Dev-Rendering->//Orion/Dev-General; fixes for beam particle selection code

	#rb martin.mittring
	#tests PC editor game

Change 2977531 on 2016/05/13 by Daniel.Lamb

	Added cooking stat for PreSave callback.
	#rb Wes.Hunt
	#test cook paragon

Change 2977340 on 2016/05/13 by jason.bestimt

	#ORION_MAIN - Merge 26@ CL 2977290

	#RB:none
	#Tests:none

	#ROBOMERGE-SOURCE: CL 2977329 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: jason.bestimt

Change 2977139 on 2016/05/13 by Jason.Bestimt

	#ROBOMERGE-AUTHOR: jon.lietz
	OR-20830 only allow the periodic effects from a gameplay volume trigger first application triggers on BeginOverlap and Enable volume.

	#RB DaveR
	#test tracked when the poinson from an active card is applied and not applied

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

Change 2976741 on 2016/05/13 by David.Ratti

	GameplayCues that are triggered off animation notifies on the non-primary mesh will now properly attach to that non primary mesh.

	#rb lietz
	#test pie, golden path

Change 2976715 on 2016/05/13 by Jason.Bestimt

	#ROBOMERGE-AUTHOR: andrew.grant
	[NULL MERGE]
	Fix for bad merge
	#rb none
	#tests built automation

	#ROBOMERGE-SOURCE: CL 2976680 in //Orion/Release-0.26/... via CL 2976712 via CL 2976713 via CL 2976714
	#ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 2976679 on 2016/05/13 by Robert.Manuszewski

	Tweaks to DLL injection detection code

	#rb Steve.robb
	#tests cooked Win64 client

Change 2976670 on 2016/05/13 by Robert.Manuszewski

	UAT: Arxan upgrade to 3.9.1

	#rb Ben.Marsh
	#tests Win64 cooked client (test config)

Change 2976654 on 2016/05/13 by Graeme.Thornton

	Shadowed variable warning fix

	#rb none
	#tests compiled win64/ps4 client

Change 2976645 on 2016/05/13 by Graeme.Thornton

	Refactoring of resident mip calculations
	 - Cooker takes into account the same compression block thresholds that the runtime previously used
	 - Runtime doesn't attempt to calculate which mips to perma-load, but just looks at the ones whose bulk data is flagged as end-of-file or seperate-file

	#rb nick.penwarden
	#tests win64/ps4 client builds, golden path

[CL 3000872 by Andrew Grant in Main branch]
2016-06-04 01:20:53 -04:00
Ben Marsh
496e06c3d5 Copying //UE4/Orion-Staging to //UE4/Dev-Main (//UE4/Orion-Staging @ 2979119, //Orion/Dev-General @2976565)
#lockdown Nick.Penwarden
==========================
MAJOR FEATURES + CHANGES
==========================

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

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

	#test PIE

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

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

	#ue4 - Fix for shipping build.

	#tests compiled

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

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

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

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

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

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

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

	#tests PIE MP w/ real-world networking

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

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

	#test golden path

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

	Don't log to memory on dedicated servers

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

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

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

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

	Fixed redirect collector stats.
	#test Compile

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

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

	#RB:none
	#Tests:none

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

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

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

	#ue4 - Add stat for SetHitResultFromShapeAndFaceIndex().

	#tests PIE

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

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

	#tests PIE

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

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

	#tests PIE

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

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

	#tests PIE

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

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

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

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

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

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

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

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

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

	Fixed initialization order warning.

	#tests none

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

	Translucency GPU time stats for automation.

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

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

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

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

	#test golden path

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

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

	#RB:none
	#Tests:none

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

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

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

	#tests none

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

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

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

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

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

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

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

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

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

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

	#tests none

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

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

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

	#tests none
	[CodeReviewed] Richard.Fawcett

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

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

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

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

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

	#tests none

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

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

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

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

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

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

	Fix up of retargeting when it skips replacing nested reference

	#tests: retargeting anim BP

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

	Merging Oodle changes from Dev-Networking

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

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

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

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

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

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

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

		Updated Oodle to support new packet bit-termination code.

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

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

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

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

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

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

		Fix broken indentation/formatting

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

		Add branch name and changelist to oodle packet capture filenames.

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

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

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

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

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

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

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

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

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

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

		Add process ID to oodle capture filenames

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

		Oodle 2.1.5 SDK

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

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

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

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

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

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

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

		Update Oodle DLLs in Orion

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

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

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

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

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

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

	Adding fx.ParticleCollisionIgnoreInvisibleTime to replace hard coded time.

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

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

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

	Retargeting fix with editor saving issue

	#tests: retargeting

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

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

	#RB:none
	#Tests:none

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

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

	UAT parameter -signedpak now no longer implies -pak

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

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

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

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

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

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

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

	Fixed couple of shadow vars

	#tests compiled

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

	Warning fix
	#tests compiled

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

	Add "unplayable condition" reporting.

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

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

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

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

	#tests PIE multiplayer w/ Bots

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

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

	Providing particle source and target for beam emitters

	#tests editor game PC

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

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

	#RB: none
	#Tests:none

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

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

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

	#jira OR-18590
	#test golden path

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

	Animation Retargeting fix for blendspaces

	#code review: Benn.Gallagher, Martin.Wilson

	#tests: retargeting anim BP

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

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

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

	Fixed crash in UCharacterMovementComponent::HasRootMotionSources().

	#tests Chains pull not crashing anymore.

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

	UMG - Fixes for material animation copied from 4.12.

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

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

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

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

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

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

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

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

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

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

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

	#tests none

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

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

	#tests golden path

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

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

	#tests pie

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

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

	#tests none

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

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

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

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

	#ORION_MAIN - Merge 25.2 @ CL 2971139

	#RB:none
	#Tests:none

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

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

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

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

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

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

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

	#ORION_MAIN - Merge 25.2 @ CL 2970990

	#RB:none
	#Tests:none

	[CodeReviewed]: jon.lietz

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

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

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

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

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

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

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

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

	#tests pie

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

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

	#tests win64 client golden path

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

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

	#test golden path

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

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

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

	#test golden path

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

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

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

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

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

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

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

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

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

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

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

	#RB:none
	#Tests:none

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

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

	Added "default navigation filter" to AIController #UE4

	Also, made EQS take advantage of that

	#test golden path

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

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

	#tests Networking, replication

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

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

	#RB:none
	#Tests:none

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

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

	Merged change of 2956152

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

	#tests: none

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

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

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

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

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

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

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

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

	Fix editor build.

	#tests Compiled Win64 editor.

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

	Added collecting and reporting periodic server frame time distribution.

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

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

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

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

	#RB:none
	#Tests:none

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

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

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

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

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

	#test golden path

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

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

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

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

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

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

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

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

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

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

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

	#tests multi pie

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

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

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

	#tests golden path

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

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

	#RB:none
	#Tests:none

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

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

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

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

	#tests Compiled Linux server, ran on compatible client.

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

	#ORION_DG - Merge MAIN @ CL 2964858

	#RB:none
	#Tests:none

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

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

	#tests Chains full feature system in PIE.

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

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

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

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

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

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

	Banner revisions

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

	#tests PIE+Game

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

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

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

	#RB DanY
	#tests JIP shadow pad still works.

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

	Fix crash while switching tabs using Persona.

	#tests not crashing anymore.

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

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

	[CodeReviewed]: andrew.grant

	HTTP Manager has larger stack size (1024)

	#RB:none
	#Tests:none

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

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

	Setting a desired size scale invalidates layout and volatility.

	#test none

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

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

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

	Added GatherDebugData to FABRIK node.

	#tests showdebug animation works on Chains now.

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

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

	#RB none
	#tests compiles

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

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

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

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

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

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

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

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

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

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

	#ORION_MAIN - Merge MAIN @ CL 2962544

	#RB:none
	#Tests:none

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

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

	#tests none

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

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

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

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

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

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

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

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

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

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

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

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

	#test Cook orion.

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

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

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

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

[CL 2979220 by Ben Marsh in Main branch]
2016-05-16 16:20:52 -04:00
Gil Gribb
07eea7c4b8 Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 2967470)
#lockdown nick.penwarden

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

Change 2943963 on 2016/04/14 by Daniel.Wright

	Shader compile errors are unsuppressed

Change 2943978 on 2016/04/14 by Gil.Gribb

	UE4 - First pass at async loading improvements....mostly disabled.

Change 2944021 on 2016/04/14 by Martin.Mittring

	fixed HLSL compiler warning

Change 2944031 on 2016/04/14 by Martin.Mittring

	fixed ensures, wrapped some members behind get accessor functions

Change 2944086 on 2016/04/14 by Martin.Mittring

	cleanup: removed not needed code

Change 2944177 on 2016/04/14 by Daniel.Wright

	Clamp on FarShadowCascadeCount, prevents crashing from huge values

Change 2944182 on 2016/04/14 by Martin.Mittring

	removed not needed code

Change 2944250 on 2016/04/14 by Rolando.Caloca

	DR - vk - Minor fixes

Change 2944286 on 2016/04/14 by Daniel.Wright

	Added bRenderSceneTwoSided to planar reflections, which can be useful to limit leaking
	Added ShowOnlyActors and HiddenActors to SceneCaptureComponent for easy use without having to call BP functions
	Added bShowPreviewPlane to planar reflection actors
	The view state is recreated on planar reflection edit, which resets the Temporal AA history, allowing instant previewing of changes

Change 2944288 on 2016/04/14 by Daniel.Wright

	Fixed refraction with a world space normal

Change 2944291 on 2016/04/14 by Daniel.Wright

	Panner nodes have an optional speed input

Change 2944346 on 2016/04/14 by Rolando.Caloca

	DR - Fix Vulkan shader platform on Android
	- Added more info on checks()

Change 2945007 on 2016/04/15 by Gil.Gribb

	Merging //UE4/Dev-Main@2944911 to Dev-Rendering (//UE4/Dev-Rendering)

Change 2945348 on 2016/04/15 by Daniel.Wright

	Fixed compile error

Change 2945358 on 2016/04/15 by Olaf.Piesche

	#jira UE-29241

	Sequential particle selection code was all sorts of weird. Rewrote and simplified.

Change 2945941 on 2016/04/15 by Martin.Mittring

	added r.DisplayInternals to debug determinism for screen shot comparison

Change 2945999 on 2016/04/15 by Martin.Mittring

	improved r.DisplayInternal output

Change 2946023 on 2016/04/15 by Olaf.Piesche

	Adding missing call to Super::PostEditChangeProperty; UDN 286717

Change 2947155 on 2016/04/18 by Martin.Mittring

	started minor cleanup of transluceny rendering, use Sort key to support SeparateTransluceny, not fully hooked up
	#test:PC

Change 2947207 on 2016/04/18 by Martin.Mittring

	fixed engine compiling in shipping/test
	#code_review:Uriel.Doyan

Change 2947212 on 2016/04/18 by Uriel.Doyon

	Lightmap density viewmode now shows the wanted resolution when the lighting isn't build.
	#jira UE-29317

Change 2947374 on 2016/04/18 by Uriel.Doyon

	Fixed support for resolution scale for the PostProcessVisualizeComplexity
	#jira UE-29473

Change 2947903 on 2016/04/19 by Gil.Gribb

	Merging //UE4/Dev-Main@2947728 to Dev-Rendering (//UE4/Dev-Rendering)

Change 2948019 on 2016/04/19 by Rolando.Caloca

	DR - Allow vk format as a target format for win

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

	Fix for crash with Collision visualization.

Change 2948419 on 2016/04/19 by Martin.Mittring

	fixed sort priority of translucent rendering (caused by recent checkin)

Change 2948433 on 2016/04/19 by Martin.Mittring

	fixed memory handling of FRendererViewExtension

Change 2948631 on 2016/04/19 by Martin.Mittring

	fixed compile error on Mac

Change 2948832 on 2016/04/19 by Martin.Mittring

	fixed UE-29572 (should result in less CPU cost and it might even fix some rendeirng issues)

Change 2949013 on 2016/04/19 by Martin.Mittring

	refactored Transluceny rendering, SepTrans and non SepTrans is now in the same container, sorted by that critera first and rendered with ranges. This makes it easier to extend it to more transluceny types e.g. after TemporalAA, after Tonemapping
	this is useful for MeshDecals
	#test:PC, parallel on and off

Change 2949620 on 2016/04/20 by Martin.Mittring

	fixed compiler warning

Change 2949639 on 2016/04/20 by Uriel.Doyon

	Fixed Material TexCoord Analysis not compiling when sampling textures for shader frequency other than PixelShader

Change 2949721 on 2016/04/20 by Chris.Bunner

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

Change 2949722 on 2016/04/20 by Chris.Bunner

	Prevent nullptr crash and added additional logging.
	#jira UE-28387

Change 2949913 on 2016/04/20 by Martin.Mittring

	marked ccommand as cheat

Change 2950064 on 2016/04/20 by Martin.Mittring

	added MatineeTime to r.DisplayInternals to track down rendering determinsim issues, added dark background

Change 2950065 on 2016/04/20 by Martin.Mittring

	nicer debug printout

Change 2950201 on 2016/04/20 by Martin.Mittring

	fixed UE-29752 Console commands input with " = " should display an error message

Change 2950531 on 2016/04/20 by Martin.Mittring

	fixed comment

Change 2951737 on 2016/04/21 by HaarmPieter.Duiker

	Adds support forHDR displays using Dolby PQ output

Change 2951869 on 2016/04/21 by Martin.Mittring

	polish r.DisplayInternal

Change 2951950 on 2016/04/21 by HaarmPieter.Duiker

	Reordered variable definition to address build warning

Change 2951996 on 2016/04/21 by Martin.Mittring

	fixed PerformanceCapture code, added AutomationTest "Rendering.RenderOutputValidation",
	changed directory order
	to run locally it currently requires "r.ScreenshotDelegate=0"
	#code_review:Ben.Salem, Michael.Noland

Change 2952146 on 2016/04/21 by Olaf.Piesche

	make sure that ST PDI primitives render through regular translucency if ST is disabled; fixes light shapes in scene/reflection captures

Change 2952230 on 2016/04/21 by Martin.Mittring

	* Fixed automated ScreenshotVerify difference because of not streamed in texture, wait for up to 5sec .
	* changed some GFrameNumberRenderThread usage to ViewFamily.FrameNumber
	#code_review:Daniel.Wright

Change 2953173 on 2016/04/22 by Olaf.Piesche

	Adding UI for easilly browsing and switching in a folder full of stats dumps

Change 2953213 on 2016/04/22 by Olaf.Piesche

	Renaming a stat to be more descriptive

Change 2953393 on 2016/04/22 by Zabir.Hoque

	Get DX12 running again:
	  - Port Shader Resource Table change
	  - Line up VS outputs and ps inputs
	  - Fix incorrectly defining a static global in a .h

Change 2953453 on 2016/04/22 by Martin.Mittring

	polished r.DisplayInternal

Change 2954618 on 2016/04/25 by Zabir.Hoque

	2 Fixes:
	  - GLSL does not understand "unsigned int", converted to "uint"
	  - Refactored problematic prev buffer allocation code to be more inline with proper level of abstraction.

Change 2955369 on 2016/04/25 by Rolando.Caloca

	DR - hlslcc - Fix some memory leaks in the frontend

Change 2955403 on 2016/04/25 by Uriel.Doyon

	Fixed texture streaming build on OpenGL. Probably more likely to work on other platforms like Mac and Linux.
	Enabled debug view shaders on PCD3D_SM4 and OPENGL_SM4
	#jira UE-28840

Change 2955419 on 2016/04/25 by Rolando.Caloca

	DR - hlslcc - Reenabled support for static global variables being not const

Change 2955432 on 2016/04/25 by Zabir.Hoque

	Fix build break from not undef'ing LOCTEXT_NAMESPACE

Change 2955459 on 2016/04/25 by Zabir.Hoque

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

Change 2956292 on 2016/04/26 by Zabir.Hoque

	Fix OpenGL shader compile break from CL: 2951737 (Adds support forHDR displays using Dolby PQ output).

	#CodeReview: Jack.Porter, Allan.Bentham

Change 2956662 on 2016/04/26 by Chris.Bunner

	Temporary fix for new Tonemapper issues.
	#jira UE-29935

Change 2957614 on 2016/04/27 by Marcus.Wassmer

	Fix PS4 shader compiler errors.

Change 2958468 on 2016/04/27 by Rolando.Caloca

	DR - Fix hlslcc validation issue
	- Show error on SCW if shader format not found when running with -directcompile
	#jira UE-29982

Change 2959105 on 2016/04/28 by Rolando.Caloca

	DR - Rebuilt hlslcc for Mac

Change 2959891 on 2016/04/28 by Daniel.Wright

	Shader compiler does a recreate render state even during blocking compile - fixes saving a material giving different behavior from applying changes with global distance fields

Change 2959895 on 2016/04/28 by Daniel.Wright

	Work around build machine string matching heuristics that will cause a cook to fail

Change 2959902 on 2016/04/28 by Daniel.Wright

	Added LowerHemisphereSolidColor to sky lights

Change 2959930 on 2016/04/28 by Daniel.Wright

	Added OpacitySourceMode to SubUVAnimation, which is useful with textures created for additive particles

Change 2959933 on 2016/04/28 by Daniel.Wright

	Substring matching for console command suggestions
	* Only implemented in the editor, game uses UConsole which needs an entirely different implementation
	* Not sorting starting matches first, although that is desired

Change 2959942 on 2016/04/28 by Daniel.Wright

	Gracefully handle when input string doesn't match search results

Change 2960743 on 2016/04/29 by Gil.Gribb

	UE4 - UAT - Add map name to editortest command line.

Change 2960940 on 2016/04/29 by Chris.Bunner

	Allow custom material nodes to be used with tessellation outputs.
	#jira UE-29586

Change 2960955 on 2016/04/29 by Gil.Gribb

	UE4 - Improved the CPU burden of loading in several places. Made substantial progress on the complete loading revamp (currently disabled).

Change 2960961 on 2016/04/29 by Chris.Bunner

	Potential material translator Lerp node pre-computations/optimizations.
	#jira OR-20138

Change 2961087 on 2016/04/29 by Gil.Gribb

	Fixed compile error in preflight relating to load time test rig

Change 2962565 on 2016/05/02 by Gil.Gribb

	Merging //UE4/Dev-Main@2962478 to Dev-Rendering (//UE4/Dev-Rendering)

Change 2965058 on 2016/05/03 by Chris.Bunner

	Shader version bump.
	#lockdown Gil.Gribb
	#jira UE-30206

Change 2966554 on 2016/05/04 by Chris.Bunner

	Bumping shader version again, unintentionally polluted DDC previously.
	#lockdown Gil.Gribb
	#jira UE-30329

Change 2967183 on 2016/05/05 by Gil.Gribb

	UE4 - Fixed a bad hash on landscape grass components. Simple, safe.
	#lockdown nick.penwarden

[CL 2967480 by Gil Gribb in Main branch]
2016-05-05 12:13:26 -04:00