Commit Graph

13 Commits

Author SHA1 Message Date
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
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
Matt Kuhlenschmidt
70d3bd4b72 Copying //UE4/Dev-Editor to //UE4/Dev-Main (Source: //UE4/Dev-Editor @ 3497164)
#lockdown Nick.Penwarden
#rb none

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

Change 3433074 by Matt.Kuhlenschmidt

	Fix crash when clicking on certian tutorial blueprints.

	#jira UE-44593

Change 3433075 by Matt.Kuhlenschmidt

	Remove hittest grid log spam.  The underlying problem causing this has been fixed

Change 3433077 by Matt.Kuhlenschmidt

	Fix lighting becoming unbuilt when mesh painting

	#jira UE-44837

Change 3433081 by Matt.Kuhlenschmidt

	PR #3553: Crashfix for static array properties (Contributed by Pierdek)


Change 3433104 by Alexis.Matte

	Make sure re-import skeletal mesh follow the import morph option
	#jira UE-42846

Change 3434825 by Matt.Kuhlenschmidt

	Fix crash when GC happens while the vr editor radial menu is open.

Change 3434831 by Matt.Kuhlenschmidt

	Added missing file

Change 3434868 by Shaun.Kime

	If you have a reroute node between a Material Function texture input and its usage, the parent material will fail to resolve the reroute node.

	#jira ue-44670

Change 3434998 by Alexis.Matte

	Meshes editors material/section panel are now fully transactional
	- Staticmesh editor: section material slot, section cast shadow, section collision, material slot instance, material slot name
	- Skeletal mesh editor: material slot instance, material slot name
	Also fix some transaction description

	#jira UE-44462

Change 3435195 by Jamie.Dale

	Fixed incorrect handling of some LTR scripts that require shaping

	These scripts need to go through HarfBuzz, and this also fixes a case where HarfBuzz wasn't applying font scale correctly.

	#jira UE-44767

Change 3435199 by Jamie.Dale

	Fixed some crashes/artifacts with bidirectional text

	It was possible for a line to compute an incorrect range, which could cause crashes or other highlighting issues. The highlighting logic has also been updated as the old code didn't handle all bidirectional cases correctly.

Change 3435200 by Jamie.Dale

	Fixed a grapheme cluster metrics issue in the font editor viewport

	The viewport also now respects the default shaping method CVar.

Change 3435771 by Alexis.Matte

	Fix degenerated bounds calculation for skeletalmesh when the skeleton is remove from a re-import
	(PhysicAsset API change, adding 1 function)
	#jira UE-44609

Change 3436856 by Jamie.Dale

	Added some missing Unicode block ranges

Change 3436914 by Jamie.Dale

	Adding some missing combining character ranges to the text shaper

Change 3436923 by Alexis.Matte

	PR #3463: Get bounds for all triangles, not just the first one. WedgeIndex was . (Contributed by DaveC79)
	#jira UE-43764


Change 3436948 by Jamie.Dale

	Updated the Portal to use the predefined Unicode block ranges

Change 3436961 by Max.Chen

	Sequencer: Show camera shake/anim track menus even if there aren't any assets.

Change 3437244 by Max.Chen

	Sequencer: Clear locked cameras when releasing Sequencer.

	#jira UE-44967

Change 3437515 by Arciel.Rekman

	UBT: improvements for LocalExecutor.

	- Larger number of parallel jobs on 16GB+ machines.
	- Use WaitForExit() instead of polling.
	- Tested on Linux and Mac.

Change 3437629 by Matt.Kuhlenschmidt

	Improve asset import data display in static and skeletal meshes

Change 3438047 by Arciel.Rekman

	Fix overlapping ranges being passed to memcpy().

Change 3438822 by Yannick.Lange

	ViewportInteraction: Move gizmo handle files to make them private.

Change 3438906 by Matt.Kuhlenschmidt

	PR #3556: Git Plugin: fix new option "init Git LFS" that make assets read-only (master/UE4.17) (Contributed by SRombauts)


Change 3438907 by Matt.Kuhlenschmidt

	PR #3565: add -quality option to buildlighing commandlet (Contributed by kayama-shift)


Change 3438908 by Matt.Kuhlenschmidt

	PR #3558: UE-44862: Always update SColorPicker color on OK button (Contributed by projectgheist)


Change 3439393 by Matt.Kuhlenschmidt

	Force highest LOD for highres screenshots

Change 3439819 by Matt.Kuhlenschmidt

	Turned FAssetData into a struct for some upcoming script exposure of FAssetData

Change 3439949 by Arciel.Rekman

	Fixed selection logic for the UE4_LINUX_USE_LIBCXX environment variable.

	- Allows disabling libc++ by setting the variable to 0.
	- Pull request #3576 contributed by jared-improbable.


Change 3441078 by Jamie.Dale

	The culture/language/locale console commands are now available in all build configs

Change 3441109 by Jamie.Dale

	Text containing surrogate pairs now runs through HarfBuzz when shaping in Auto mode

	This is needed as the kerning-only shaping code assumes that everything is within the BMP

Change 3441275 by Matt.Kuhlenschmidt

	Disable spinning on location and scale.  These dont work because we have no notion of infinite spinning

Change 3442748 by Yannick.Lange

	ViewportInteraction: Remove unused console variables.

Change 3442775 by James.Golding

	Add support for editing MaterialFunctions to MaterialEditingLibrary
	Pull Material recompile/update code into UMaterialEditingLibrary::RecompileMaterial
	Pull MaterialFunction update code into UMaterialEditingLibrary::UpdateMaterialFunction util
	Move RebuildMaterialInstanceEditors to UMaterialEditingLibrary
	Added test content for Material/MaterialFunction editing
	Add needed BlueprintReadWrite to expressions (constants, function input/output)
	Expose UMaterialExpressionMaterialFunctionCall::SetMaterialFunction to BP, rename old func (which takes old function) to SetMaterialFunctionEx, also expose GetInputNameWithType

Change 3442779 by James.Golding

	Fix header order

Change 3442817 by Yannick.Lange

	ViewportInteraction: Add can execute checks for level editor commands.

Change 3443038 by Michael.Dupuis

	#jira UE-43377: When you select a foliage actor we will move all instance contained in it to the new level as we can't move a foliage actor
	Only permit moving foliage instance if there is some selected

Change 3443855 by Michael.Dupuis

	#jira UE-44885:  Unregister from PerModuleDataObjects when the object is destroyed

Change 3446096 by Max.Chen

	Sequencer: Add OnFinished() event when a level sequence completes playback

	#jira UE-45173

Change 3446097 by Max.Chen

	Sequencer: Evaluate one last time before the sequence is torn down and reset

	#jira UE-45174

Change 3446242 by Jamie.Dale

	Fixed caret not appearing in empty text layouts

	Caret selections have no range, and therefore have no width

Change 3446361 by Matt.Kuhlenschmidt

	Fix WITH_EDITOR only functions causing generated code compile errors when the all functions on the class are WITH_EDITOR

Change 3446457 by Alexis.Matte

	Polish the speed tree import dialog

	#jira UE-44963

Change 3446946 by Michael.Trepka

	Modified FWindowsWindow::GetRestoredDimensions to return correct window position for normal windows for which GetWindowPlacement returns position in workspace coordinates

	#jira UE-37934

Change 3447543 by Arciel.Rekman

	Reduce VMAs on Linux.

	- Trades off increased address space (VIRT in terms of ps/htop) for smaller number of distinct mappings (VMAs, virtual memory areas).
	  This decreases possibility to run into vm.max_map_count limit on Linux.
	- Tested on Linux and Mac.

Change 3448468 by Arciel.Rekman

	Fix race condition during creation of GMalloc.

	- On Mac GMalloc can be created on two different thread that are racing with each other - app's main thread and a system thread.

Change 3449012 by Max.Chen

	Sequencer: Add time to transform, color and vector key structs so that key times are editable from the key editors.

	#jira UE-45089

Change 3449018 by Max.Chen

	Sequencer: Add OnCameraCut event that fires when there is a camera cut.

	#jira UE-45137

Change 3449195 by Max.Chen

	Sequencer: Add setting for limit scrubbing to playback range.

	#jira UE-43502

Change 3449198 by Max.Chen

	Sequencer: Reorder hierarchical bias so that group priority takes precedence.

Change 3449217 by Max.Chen

	Sequencer: Add setting to activate realtime viewports when in sequencer.

Change 3449219 by Max.Chen

	Sequencer: Focus on search boxes when opened.

Change 3449238 by Max.Chen

	Sequencer: Assign actor should replace the actor itself after it has updated all the components. Also, replace components be fullname rather than by class.

Change 3449239 by Max.Chen

	Sequencer: Fix offsets when moving multiple sections. Dragging should be clamped to the bounds that any of the selected sections hits against the unselected sections.

Change 3449241 by Max.Chen

	Sequencer: Restore section selection after full tree rebuild.

Change 3449279 by Max.Chen

	Sequencer: Set movie scene capture frames only when not using custom frames. This allows the user entered frame numbers to persist in config, rather than overwriting them when doing a "Render Shot"

Change 3449280 by Max.Chen

	Sequencer: Spawn in the persistent level. Otherwise, they get spawned into whatever sublevel is current.

	#jira UE-44552

Change 3449294 by Max.Chen

	Sequencer: Null check for sequencer ed mode crash.

Change 3449297 by Max.Chen

	Sequencer: Fix delay in sliding values. Mark changed when sliding values. Mark refresh immediately when committing values since OnValueChanged will be called and needs to have the correct value that was refreshed immediately.

	#jira UE-42866

Change 3449542 by Max.Chen

	Sequencer: Fix scrubber hit testing so that the time scrubber is really favored over the playback ranges.

	#jira UE-44569

Change 3451507 by Matt.Kuhlenschmidt

	Fix extra slate uv coords not functioning on ES2

Change 3451510 by Matt.Kuhlenschmidt

	PR #3595: Fixed wrong colour for level status (Contributed by ronve)


Change 3451529 by Alexis.Matte

	fbx scene importer: Make sure we set INVALID_UNIQUE_ID to node that has no attribute.
	#jira UE-34410

Change 3451611 by Yannick.Lange

	ViewportInteraction: Dragging gizmo without second pass for snapped calculations.

Change 3452134 by Jamie.Dale

	Fixed constant font cache flushing if a widget had no font set

Change 3452239 by Jamie.Dale

	Fixed constant font measure flushing if a widget had no font set

Change 3452243 by Jamie.Dale

	Removed deprecated code for creating fonts from bulk data

Change 3452277 by Jamie.Dale

	The concept of "stale" composite fonts is now editor-only

Change 3452358 by Alexis.Matte

	Fbx scene importer: Do not remove existing attribute reference from the blueprint if the reimport of the associate mesh attribute is not tick.
	#jira UE-45232

Change 3452678 by Max.Chen

	Sequencer: Fix crash on export if there's no shot data.

Change 3453057 by Matt.Kuhlenschmidt

	Exposed asset exporting to script

Change 3453782 by Andrew.Rodham

	Sequencer: Fixed deterministic cooking issues with movie scene data
	  - Movie scene signatures are now initialized in PostInitProperties
	  - A warning is now presented when attempting to cook old data that was never serialized with a signature.
	  - Removed redundant legacy data upgrade logic that could dirty level sequences on load.

	#jira UE-44912

Change 3453788 by Yannick.Lange

	ViewportInteraction: Custom scene proxy for gizmo handles.

Change 3453938 by Max.Chen

	Sequencer: Hotkeys (shift , and shift .)  to step to next/previous shot

	#jira UE-45119

Change 3454058 by Michael.Dupuis

	Fixed StaticAnalysis

Change 3454077 by Max.Chen

	Sequencer: Fix not saving the pre-animated track value when creating a track/key.

	On pre object change, broadcast property change so that a track or key can be created. That track/key needs to be evaluated immediately so that the pre-animated state can be saved properly. This is done now with RefreshAllImmediately and is only called when a track has been created. Also, added a return value for OnKeyProperty, so that it's known what changed in particular (ie. track created, track modified, etc)

	Also, fixed transform keying so that if a transform track already exists for the object or the scene component, the existing track is used.

	#jira UE-45130

Change 3454108 by Nick.Darnell

	UMG - Fixing the WIC to properly record cursor delta so that scrollbars work.

Change 3454109 by Jamie.Dale

	Cache the text layout source info in non-shipping builds so you can inspect it in the debugger

Change 3454202 by Matt.Kuhlenschmidt

	Fix bogus error message about the number of usable texture coordinates on ES2 when compiling a UI domain material

Change 3454390 by Yannick.Lange

	Fix creating a plugin in a C++ project opens a second instance of Visual Studio. Use SourceCodeAccessor to open solution when necessary.
	#jira UE-45035

Change 3454564 by Matt.Kuhlenschmidt

	#rnx Fix deprecation warnings

Change 3455471 by Yannick.Lange

	ViewportInteraction: Fix entering and exiting VR Mode disables gizmo in desktop editor viewport.
	#jira UE-44965

Change 3456183 by Max.Chen

	Sequencer: Auto key, auto track refactor.

	Auto key - create a key when the property changes and there's an existing track.
	Auto track - create a track when the property changes. This is only exposed in the level sequence editor.
	All - create a key and a track when the property changes. This is only exposed in VR Editor.
	None - do nothing.

	#jira UE-43469

Change 3456349 by Andrew.Rodham

	Sequencer: Only perform legacy signature checks on instances, and only where signatures match the CDO

Change 3456678 by Alexis.Matte

	Allow to add null level instance override material via the advance material array. But still limit the override material number to the mesh material number.
	#jira UE-45306

Change 3456945 by Max.Chen

	UMG: Add restore state to 2d transform section.

	#jira UE-45372

Change 3457196 by Arciel.Rekman

	Linux: serialize allocations from the memory pool.

Change 3458434 by Max.Chen

	Sequencer: Remove obsolete set tick prerequites functions.

Change 3458671 by James.Golding

	Added MIC editing support to MaterialEditingLibrary
	Fix static analysis warning

Change 3458888 by Matt.Kuhlenschmidt

	PR #3615: More detailed log messages for debugging warnings/errors (Contributed by projectgheist)


Change 3458893 by Matt.Kuhlenschmidt

	PR #3583: UE-44960: Delta value wasn't being used (Contributed by projectgheist)


Change 3458895 by Matt.Kuhlenschmidt

	Fix typo

Change 3458902 by Matt.Kuhlenschmidt

	PR #3607: Improved InputKeySelector functionality (Contributed by projectgheist)


Change 3458917 by Matt.Kuhlenschmidt

	Fix crash with invalid object properties in the class picker

	#jira UE-39000

Change 3458939 by Matt.Kuhlenschmidt

	Fix compile error

Change 3458984 by andrew.porter

	QAGame: Initial check in of sequencer smoke test map

Change 3459510 by Matt.Kuhlenschmidt

	Fixed ensure when deleting a map that contains build data which also happens to be the currently loaded map.

	#jira UE-45052

Change 3460985 by Max.Chen

	Sequencer: Snap play time to keys now allows scrubbing between keys and snaps to key times within a certain screenspace tolerance.

	#jira UE-45090

Change 3461698 by Arciel.Rekman

	Avoid using ARRAY_COUNT in Vulkan.

	- Sometimes those arrays can have no extensions whatsoever, and it is illegal to declare a 0 element C array.

Change 3462053 by Max.Chen

	Sequencer: Show sequencer spawnables in the world outliner and add the icon overlay for spawnables.

	#jira UE-43470

Change 3462139 by Max.Chen

	Property Editor: Add objects to FPropertyAndParent

Change 3462202 by Arciel.Rekman

	Fix FSocket::Recv() blocking with Peek when there's no data.

Change 3462253 by Nick.Darnell

	Slate - New Clipping System

	Clipping is now a stateful choice made during composition of the slate hierarchy.  Previously every widget got to respect or modify the clipping rect on an as needed basis.  The problem was that clipping was only allowed in the layout space of the widget, and it wasn't possible to properly clip elements with render transforms.  The new system permits all kinds of transforms on any widget, and they will all be clipped correctly.  It tries to use Scissor Rects as they are much cheaper, but will switch over to stenciling if need be to represent a complicated masking structure with several rotated clipping rects all needed to be combined together.

	Here are the new clipping states a widget can have, almost all widgets are set to No.  Only change it from No if your widget actually needs to clip, generally speaking most widgets don't need to clip.

	/**
	 * This widget does not clip children, it and all children inherit the clipping area of the last widget that clipped.
	 */
	Inherit,
	/**
	 * This widget clips content the bounds of this widget.  It intersects those bounds with any previous clipping area.
	 */
	ClipToBounds,
	/**
	 * This widget clips to its bounds.  It does NOT intersect with any existing clipping geometry, it pushes a new clipping
	 * state.  Effectively allowing it to render outside the bounds of hierarchy that does clip.
	 *
	 * NOTE: This will NOT allow you ignore the clipping zone that is set to [Yes - Always].
	 */
	ClipToBoundsWithoutIntersecting UMETA(DisplayName = "Yes - Without Intersecting (Advanced)"),
	/**
	* This widget clips to its bounds.  It intersects those bounds with any previous clipping area.
	*
	* NOTE: This clipping area can NOT be ignored, it will always clip children.  Useful for hard barriers
	* in the UI where you never want animations or other effects to break this region.
	*/
	ClipToBoundsAlways UMETA(DisplayName = "Yes - Always (Advanced)"),
	/**
	 * This widget clips to its bounds when it's Desired Size is larger than the allocated geometry
	 * the widget is given.  If that occurs, it behaves like [Yes].
	 *
	 * NOTE: This mode was primarily added for Text, which is often placed into containers that eventually
	 * are resized to not be able to support the length of the text.  So rather than needing to tag every
	 * container that could contain text with [Yes], which would result in almost no batching, this mode
	 * was added to dynamically adjust the clipping if needed.  The reason not every panel is set to OnDemand,
	 * is because not every panel returns a Desired Size that matches what it plans to render at.
	 */
	OnDemand UMETA(DisplayName = "On Demand (Advanced)")

	- Large API Change -

	All FSlateDrawElement::Make_____ calls have been deprecated that involved passing in a clipping rect.  You no longer should are passed a Clipping rect via OnPaint.  You are still passed a rect, but this rect represents a Culling Rect, which is valuable if you need to just out right not paint things the user can't possibly see.

	If you were previously trying to determine if you should cull widgets, by doing something like this,

	if ( FSlateRect::DoRectanglesIntersect(MyClippingRect, CurWidget.Geometry.GetRenderBoundingRect()) )

	That's no longer a good option since there are ways for widgets to ignore the culling bounds.  You should convert anything like above to the one below,

	if (!SWidget::IsWidgetCulled(MyCullingRect, CurWidget))

	To assist in debugging efforts, there are several new debugging console flags in Slate,

	Slate.ShowClipping 1 - Controls whether we should render a clipping zone outline.  Yellow = Axis Scissor Rect Clipping (cheap).  Red = Stencil Clipping (expensive).

	Slate.DebugCulling 1 - Disables pushing clipping or stencil rects to the GPU, but continues to intersect culling rects, so that you can tell if a widget is properly culling children it can't possibly draw.

	Slate.ShowTextDebugging 1 - Show debugging painting for text rendering.

	I've added a new Experimental Feathering Option, it adds AA geometry around the outside of Box and Image brushes.

	Slate.Feathering 1

	If you're using RenderDoc or something similar, you can now enable render events for slate, so that you can better grok how we're batching and changing states for each UI render pass.

	Slate.EnableDrawEvents 1

	#jira UE-4659

	#rn

Change 3462714 by Nick.Darnell

	Fixing a few more compiler issues with the clipping changes.

Change 3462726 by Max.Chen

	Switch OnEditStructChildContentsChanged to use FObjectWriter instead of FMemoryWriter which supports serializeing UObjects. This fixes a crash when adding actor array elements to a user defined event struct.

	#jira UE-45431

Change 3462801 by Nick.Darnell

	Adding a UMG dependency to EngineTestBuild.

Change 3462914 by Max.Chen

	Sequencer: Fix regression where spawnables aren't getting saved. Caused by 3407138

	#jira UE-30007
	#jira UE-39003

Change 3462946 by Nick.Darnell

	Automation - Tweaking the UI automation tests converting them over to use the new UI Screenshot automation test.
	Automation - Adding a blur widget test.

Change 3462987 by Matt.Kuhlenschmidt

	Back out changelist 3458893

Change 3464774 by Matt.Kuhlenschmidt

	PR #3629: Bugfix: Missing small icon in Project Launcher profile editor (Contributed by aarmbruster)


Change 3464785 by Nick.Darnell

	Fixing some clipping stuff in the editor.

Change 3464830 by andrew.porter

	QAGame: Second pass on sequencer smoke test map

Change 3464902 by Nick.Darnell

	Loading - Adding some additional checks to the the loading code to ensure we're on the main thread.  Additionally adding a fix from UDN that prevents deadlocks in the rare case a user hits Alt+Tab in a fullscreen game while in a hard loading screen.

Change 3464988 by Max.Chen

	Sequencer: Add attenuation settings for attached audio components.

	#jira UE-33080

Change 3465024 by Nick.Darnell

	MoviePlayer - Impoving the playback mode displaynames.

Change 3465074 by Arciel.Rekman

	Fix shadowing issues of GraphicsPSOInit.

Change 3465097 by Matt.Kuhlenschmidt

	Some refactoring of the details panel

	Exposed new methods of adding a struct on scope to a details panel and have it work properly with customizations. The scruct on scope has a "fake" ustructproperty that allows the details panel to show the whole struct not just an individual property.

	Refactored the API for adding rows to details panels to make it more consistent\
	AddChildCustomBuilder->AddCustomBuilder
	AddChildGroup->AddGroup
	AddChildContent->AddCustomRow
	AddChildPropert->AddProperty
	AddChildStructure->AddExternalStructureProperty
	AddStructure->AddAllExternalStructureProperties
	AddExternalProperty->AddExternalObjectProperty or AddExternalStructureProperty

Change 3465186 by Max.Chen

	Sequencer: Save the BindingID in the pre animated token producer so that it can be destroyed properly. This fixes a bug where the default state of a spawnable isn't saved.

	#jira UE-43780

Change 3465315 by Matt.Kuhlenschmidt

	Fix Fortnite and Orion details panel customization warnings

Change 3465424 by Nick.Darnell

	Automation - Moving the step for setting the link to the automation reports to be set before we start the engine.

Change 3465488 by Nick.Darnell

	Automation - Forcing textures to load before taking screenshot, so that the scene gets another opportunity to render before we render with Slate.  This should fix the Blur UI Test.

Change 3466277 by Arciel.Rekman

	Linux: fix window drift when dragging (UE-40380).

	- Change by Cengiz Terzibas.

Change 3466370 by Nick.Darnell

	UMG - Fixing the colors for the resize handle in the designer.

Change 3466372 by Nick.Darnell

	UMG - Fixing the ruler ticks sometimes not being drawn.

Change 3466374 by Nick.Darnell

	UMG - Fixing the designer showing multiple options for sequencer.

Change 3466377 by Nick.Darnell

	UMG - Cleaning up some clipping bits.

Change 3467025 by Andrew.Rodham

	Re-saving assets that contain legacy (<4.15) movie scene data to remove deterministic cook warning.
	If conflicts arise during merging of these assets, please ignore the changes made in dev-editor, and accept game-side changes.

	(CIS step 62283298, jobId 7773146)
	(CIS step 62283297, jobId 7773146)

Change 3467099 by Max.Chen

	Fix GetObjectPropertyClass ensure logic. This was returning UObject::StaticClass when valid.

Change 3467172 by Max.Chen

	Sequencer: Evaluation optimizations. Also, fixes subsequences not getting expired, leaving dangling spawnables.

	#jira UE-43690

Change 3467192 by Matt.Kuhlenschmidt

	Fix transactions getting stuck in the color grading controls.  This prevents PIE from working properly and causes shutdown crashes

	#jira UE-45527

Change 3467251 by Yannick.Lange

	ViewportInteraction: Fix scale and rotation snap while dragging with two lasers.

	#jira UE-43489

Change 3467331 by Matt.Kuhlenschmidt

	Fix D3D shader compiler hard coding shader path and not giving proper warnings when it cannot find the shaders

Change 3467335 by Matt.Kuhlenschmidt

	Remove DarkStyle attribute from SNumericEntryBox and allow a spin box style to be passed to it.

Change 3467558 by Max.Chen

	Scene Outliner: Generic support to add default columns to a scene outliner.

Change 3467565 by Jamie.Dale

	Removing old screenshot data for test

Change 3467589 by Nick.Darnell

	Editor - Random cleanup.

Change 3467596 by Nick.Darnell

	Progress Bar - Exposing Border Padding to UMG.

Change 3467600 by Nick.Darnell

	Slate - Adjusting the rendering of the splitter, previously it could be off by a pixel or two, which becomes more apparent now with the clipping changes.

Change 3467601 by Max.Chen

	Property Editor: Fix static analysis warning

Change 3467662 by Nick.Darnell

	Automation - Fixing a bug with the screenshot comparison tool not replacing (removing) the old screenshot data.

Change 3467674 by Max.Chen

	Property Editor: Fix static analysis warning

Change 3467737 by Max.Chen

	Sequencer: Added OnMovieSceneBindingsChanged delegate

Change 3468053 by tim.gautier

	QAGame: Updating Editor Smoke Map

	- Updated landscapes into Stations for testing

	- Added Foliage Sublevel

Change 3468194 by Arciel.Rekman

	Linux: fix problems communicating with various STL-using libs.

	- Stop hiding global new/delete signatures.
	- Disable CEF3 since this change uncovers the problem with libcef.so not built to use bundled libpng.

Change 3468678 by Max.Chen

	Sequencer: Set "Sequencer Actor" tag before setting the actor label so that the outliner refreshes after the actor has the tag.

Change 3469314 by tim.gautier

	QAGame: Added Painted Foliage / Spline section to EditorSmoke map

Change 3469377 by Nick.Darnell

	Slate - Fixing some warnings in a couple of sample games due to the clipping changes.

	#rnx

Change 3469767 by Max.Chen

	Sequencer: Outliner column and sequencer binding data

	#jira UE-43470

Change 3469974 by Arciel.Rekman

	Fix code projects not working in Linux installed build.

Change 3470082 by Nick.Darnell

	Slate - The GetRenderer() call on SlateApplication no longer returns a SharedPtr, rather than convert it to a thread safe ptr, going to just make accessing it a raw ptr return, so it can be safely referenced on the game thread while being used on the slate loading thread.

Change 3470174 by Nick.Darnell

	Slate - Get the last widget in a widget path utility.

Change 3470176 by Nick.Darnell

	UMG - User Widgets now have an easy way to know if they're part of or have been removed from the focused widget path, which is handy for doing effects.

Change 3470261 by Nick.Darnell

	Slate - The GetRenderer() call on SlateApplication no longer returns a SharedPtr, rather than convert it to a thread safe ptr, going to just make accessing it a raw ptr return, so it can be safely referenced on the game thread while being used on the slate loading thread.

Change 3470286 by Max.Chen

	Sequencer: Scene Component's HiddenInGame now goes through the VisibilityTrack and the visibility template.

Change 3470366 by Nick.Darnell

	Slate - We now version focus per user, that way during focus events, we can safely abort focus events and state transitions if someone interrrupts the active focus event with something new.

Change 3470649 by Matt.Kuhlenschmidt

	Fix deprecation warnings

Change 3470695 by Matt.Kuhlenschmidt

	Fixed typo

	#jira UE-45580

Change 3470721 by Matt.Kuhlenschmidt

	Fix static analysis

Change 3471254 by Michael.Dupuis

	#jira UE-42952: Keep occlusion result per view

Change 3471287 by Nick.Darnell

	UMG - Render Focus Rule now defaults to never.

Change 3471291 by Nick.Darnell

	Slate - Fixing FSlateRenderer* change fallout.

Change 3471299 by Nick.Darnell

	Slate - Fixing FSlateRenderer* change.

Change 3471323 by Nick.Darnell

	Automation - Fixing automation and Static Analysis warning.

Change 3471413 by andrew.porter

	QAGame: Added test content for anim blending and material parameteres to sequencer smoke level

Change 3471649 by Max.Chen

	Sequencer: Modify the track when adding animation

	#jira UE-45618

Change 3471659 by Matt.Kuhlenschmidt

	Added a way to check if a movie is playing from the engine.
	Prevented viewport redraws for canvas loading screens if a slate based loading movie is playing

Change 3471734 by Matt.Kuhlenschmidt

	Added basic material hookup to USD.  Similar to FBX it will find materials based on rules specified by the user in the import settings

Change 3472176 by Nick.Darnell

	UMG - Improving the display of the +Track menu in sequencer for UMG.  Renamed it from +Add, which is repetitve to +Track.  Additionally, the dropdown now shows the currently selected widgets, as well as a submenu containing all the 'important' widgets, so we no longer populate that list with a ton of irrelevant widgets that are just Buton_1 - N, which is pointless in showing people, they'll never guess which is the right button.

Change 3472740 by Max.Chen

	Sequencer: Add GetThisFrameMetaData accessor

Change 3472748 by Max.Chen

	Sequencer: Added OnBeginScrubbing and OnEndScrubbing event delegates

Change 3472753 by Max.Chen

	Sequencer: Add EMovieSceneDataChangeType parameter to OnMovieSceneDataChanged delegate

Change 3472870 by Nick.Darnell

	Clipping - Fixing the deprecated tip for scissor rect boxes to be correct.  Removing it's usage from UT.

Change 3473340 by Max.Chen

	Scene Outliner: Add ability to register additional filters

Change 3473348 by Max.Chen

	Details View: Make ForceRefresh virtual. Added accessors to delegates (ie. GetIsPropertyReadOnlyDelegate)

Change 3473441 by Max.Chen

	Sequencer: Autokey Refactor Part 2.

	Autokey is now a single toggleable state.

	Allow Edits Mode has 3 states:
	  Allow All Edits - Allow any edits to occur, some of which may produce tracks/keys or modify default properties.
	  Allow Sequencer Edits Only - All edits will produce either a track or a key.
	  Allow Level Edits Only - Properties in the details panel will be disabled if they have a track.

	#jira UE-45229

Change 3473670 by Nick.Darnell

	Modules - The module manager no longer returns sharedptrs to IModuleInterfaces, this was the source of rare hard to track down crashes due to a shared ptr reference leak when GetModule was called on non-main threads.  We now store a TUniquePtr internally, and only lease out raw pointers.

	#rn

Change 3473711 by Nick.Darnell

	Disabling the ensure in the module manager.

Change 3473747 by Max.Chen

	Sequencer: Fix tooltip

Change 3474091 by Jamie.Dale

	Added a warning when cooking a UFontFace that is outered to a UFont asset

	These cause issues with iterative COTF, and should be split off into their own assets (as the UI has been asking people to do for several versions)

Change 3475052 by Yannick.Lange

	VR Editor: Fix Crash when quitting the editor with VR Mode enabled. VR Editor was being enabled when saving the map on closing the editor.

	#jira UE-45415

Change 3475054 by Yannick.Lange

	Fix crash when adding a camera to the world in VR Mode the second time. The slate application did not reset when stop dragging in VR Mode, so the second time when starting to drag a camera out of the UI it would already by in a dragging state.

	#jira UE-45574

Change 3475263 by Nick.Darnell

	Fixing some additional cases of IModuleInteface SharedPtr usage.

Change 3475268 by Max.Chen

	Sequencer: Set jumped state when looping playback. This fixes an issue where audio doesn't stop and restart when looped.

	#jira UE-45654

Change 3475269 by Max.Chen

	Scene Outliner: Additional filters should only apply to actor browsing mode

Change 3475407 by Nick.Darnell

	Fixing some clipping / module shared ptr changes in the launcher code.

Change 3475542 by Max.Chen

	Sequencer: Update thumbnail and section highlighting to use new clipping behavior.

	#jira UE-45692
	#jira UE-45689

Change 3475743 by Michael.Dupuis

	#jira UE-45183: When updating phyx region take into account simple collision mip

Change 3475949 by Arciel.Rekman

	Remove PhysX deoptimization (no longer needed).

	- OR-24947 has been closed three months ago.

Change 3476022 by Michael.Dupuis

	#jira UE-45560: Make sure we're not going out of range

Change 3476063 by Michael.Dupuis

	#jira UE-45562: Do not try to unregister from static mesh if no static mesh is specified for the component

Change 3476168 by Michael.Trepka

	Added handling of directory symlinks to FApplePlatformFile::IterateDirectory

	#jira UE-43704

Change 3476172 by Nick.Darnell

	Fixing a Imoduleinterface change.

Change 3476183 by Jamie.Dale

	Exposing GoTo/ScrollTo to single-line editable text for API parity with multi-line editable text

Change 3476385 by Arciel.Rekman

	Linux: handle symlinks when iterating directories.

Change 3476522 by Michael.Trepka

	Solved a problem with Mac FMallocTBB::Malloc() returning nullptr for 0 bytes allocations, which is inconsistent with other platforms. On Mac we always scalable_aligned_malloc, which behaves differently than scalable_malloc, so for 0 bytes requests we allocate sizeof(size_t), which is exactly what scalable_malloc does internally in such case.

Change 3476806 by Nick.Darnell

	UMG - Focus the designer after dropping a widget onto the surface.

Change 3476809 by Nick.Darnell

	Curve Editor - Enable Clipping on the curve editor.

Change 3477475 by Nick.Darnell

	Fixing a module interface shared ptr usage in UT.

Change 3477553 by Yannick.Lange

	VR Editor: Removed AssetEditorPanelID and replaced it with TabManagerPanelID. A panel for AssetEditorPanelID was never created making it impossible to open an asset editor.

Change 3477734 by Yannick.Lange

	VR Editor: Fix Warning: SetRelativeScale3D : Invalid Scale entered (X=inf Y=inf Z=inf). Resetting to 1.f. warning when adding CineCameraActor to World from Modes Panel. Make sure to not divide by zero when there is no boundary scale.

	#jira UE-44933

Change 3477761 by Jamie.Dale

	Some improvements to avoid loading the native .locres files twice when we don't need to

Change 3477780 by Nick.Darnell

	PR #3250: Return correct VirtualUserIndex (Contributed by projectgheist)


Change 3477786 by Nick.Darnell

	PR #3650: Changed TestNull to accept const pointers. (Contributed by e-agaubatz)


Change 3477795 by Nick.Darnell

	PR #2844: UE-36936: Don't stretch container for Plugin Image (Contributed by projectgheist)


Change 3478092 by Nick.Darnell

	PR #2341: Optional Middle Mouse Button panning in Graph Editor (Contributed by flipswitchingmonkey)
	Engine Edit - Made some small changes to the enum type, and some naming.


Change 3478450 by Nick.Darnell

	Fixing some uninitialized variable errors.

Change 3479827 by Andrew.Rodham

	Sequencer: Addressed serialization issues with some struct types

Change 3479874 by Jamie.Dale

	Fixed "NativeGameLanguage" not being used correctly during localization initialization

Change 3480012 by Andrew.Rodham

	Sequencer: Fixed loading tagged properties as native for track identifiers

	#jira UE-45823

Change 3480337 by Alexis.Matte

	Fix morph target crash missing some valid index check

Change 3480804 by Alexis.Matte

	Fix crash with ColorGradingMode custom detail

	#jira UE-45638

Change 3480892 by Andrew.Rodham

	Sequencer: Ensure that movie scene sequences know about the editor object version

	#jira UE-45842

Change 3481073 by Nick.Darnell

	Fix the shader compiler error from main in Slate.

Change 3481303 by Nick.Darnell

	UMG - Fixing a bug with the drag handle not working correctly in HDPI mode.

Change 3481308 by Nick.Darnell

	Slate - Tweaking the IsWidgetCulled logic to consider both the layout and rendering bounds.  If we do this, we get a much more desireable outcome for people that want to animate widgets and such and plan to have temporary animations to move the widget offscreen, but want the layout bounds to anchor that widget in the visible frame so that it animates even when normally it would be culled b/c the render transform and therefore the renderbounds moved it completely outside the culling rect.

Change 3481629 by Max.Chen

	Sequencer: Add Level Sequence Actor as an output for CreateLevelSequencePlayer()

	#jira UE-45785

Change 3481899 by Yannick.Lange

	VR Editor: Added debug modetoggle command with an event that is broadcasted whenever this happens. Currently this is used to show all the floating UIs of the UI system to debug without HMD using VREd.ForceVRMode.

Change 3481984 by Michael.Dupuis

	#jira UE-45845: always validate if we have a static mesh before trying to access it as user can decide to not assign one and use the tools

Change 3482047 by Nick.Darnell

	Slate - Adding some comments to IsWidgetCulled.

Change 3482110 by Nick.Darnell

	Slate - IsWidgetCulled is no longer static and is now called IsChildWidgetCulled.

Change 3482136 by Jamie.Dale

	The CamelCase break iterator now treats digits around character tokens as part of the identifier

Change 3482138 by Michael.Dupuis

	#jira UE-45854: Properly unregister during undo operation

Change 3482150 by Michael.Dupuis

	#jira UE-45845 : Add missing nullcheck for GetStaticMesh

Change 3482153 by Nick.Darnell

	Slate - IsWidgetCulled is no longer static and is now called IsChildWidgetCulled.

Change 3482180 by Nick.Darnell

	UMG - Widget Components do not need to define a widget class to be rendererd, they can have native slate widgets only.  This was a regression from main.

Change 3482273 by Nick.Darnell

	UMG - Tweaking some more things about the widget component box outline.

Change 3482308 by Alexis.Matte

	Fixing morph target smooth group support. Do not call FillSkeletalMeshImportData more then once on FbxNode since this fonction is doing some conversion and change the FbxNode, applying those conversion twice do not return the same faces smooth group.
	#jira UE-45696

Change 3482327 by Nick.Darnell

	UMG - More tweaks to the WidgetComponent so both shows the box outline, but works in game and VR editor.

Change 3482705 by Andrew.Rodham

	Resaving assets that contain legacy data to suppress CIS warnings.
	  - If conflicts arise in these assets, please take game-side changes and ignore these.

Change 3484245 by Max.Chen

	Sequencer: Evaluate on end scrub. This fixes a bug where audio doesn't evaluate in a stopped position at the end of scrubbing, causing it to not stop all sounds. This fixes a bug introduced from 3365018 where evaluate on end scrub was removed.

	#jira UE-45905

Change 3484263 by Max.Chen

	Sequencer: Fix crash on forcing refresh of details panel on release.

	#jira UE-45911

Change 3484431 by Andrew.Rodham

	Resaving assets that contain legacy data to suppress CIS warnings.
	  - If conflicts arise in these assets, please take game-side changes and ignore these.

Change 3484474 by Alexis.Matte

	Fix the morph target animation curve name matching.

	#jira UE-20294

Change 3484475 by Alexis.Matte

	When removing a LOD, make sure we remove all morph target data associate to the LOD.

Change 3484489 by Nick.Darnell

	PR #3668: UE-45908: Cache debug line locations when performing a LineTraceMulti (Contributed by projectgheist)

	#jira UE-45908

Change 3484692 by Nick.Darnell

	Slate - Reverting a change from a game stream.  All Arranged Children don't need to allocated 42 to begin with.  Do need to initialize WidgetPaths better.

Change 3484703 by Nick.Darnell

	Player Input - Making the input event loop for players obey EKeys::NUM_TOUCH_KEYS, rather than being set to Touch10, as the maximum touch input amount, to make supporting greater than 10 touches easier.  Also making the seeding of keys use EKeys::NUM_TOUCH_KEYS.

	#jira UE-43213

Change 3484918 by Jamie.Dale

	Fixed font measuring regression with RTL text

	RTL applies the character count to the next glyph, so it shouldn't process the end of the loop (this was how the older code used to work).

Change 3485718 by Nick.Darnell

	Editor - Removing Super Search & User Feedback button.

Change 3485719 by Nick.Darnell

	Portal - Removing SuperSearch.

Change 3485751 by Matt.Kuhlenschmidt

	Fix crash accessing platformer game menu if the menu is open during a console based load

	#jira UE-45950

Change 3486047 by Arciel.Rekman

	Linux: add OpenEXR implementation (UE-40270).

	#jira UE-40270

Change 3486467 by Max.Chen

	Sequencer: Reset max tick rate when destroyed.

	#jira UE-45956

Change 3486477 by Max.Chen

	Sequencer: Refresh outliner when column is removed.

	#jira UE-45891

Change 3486667 by Andrew.Rodham

	Added missing include

Change 3486724 by Andrew.Rodham

	Sequencer: Fixed curves with no default value, and no keys being evaluated and applied to properties
	  - Also fixed an edge case where a zero (but non-animated) channel could be applied to a final transform

Change 3486730 by Alexis.Matte

	In the Auto-Reimport options, hide the mout point only for the default /Game/ folder
	#UE-45684

Change 3486749 by Alexis.Matte

	Make sure the parent window of the monitor directory browse folder is set properly
	#jira UE-45682

Change 3486805 by Matt.Kuhlenschmidt

	Additional safety against invalid objects being accessed by slate

Change 3486848 by Alexis.Matte

	Make sure Monitor folder feature support root mount point map folder
	During auto import, give priority to asset import factory over the scene import factory
	#jira UE-45691

Change 3486879 by Andrew.Rodham

	Removing obsolete QA assets

Change 3486950 by Nick.Darnell

	PR #2281: Scrollbar missing features and SScrollbar fixes (Contributed by SNikon)
	Review - made some adjustments from the original.


Change 3486954 by Nick.Darnell

	Slate - Moving the STableViewBase over to the FOverscroll class, rather than it's own clone.

Change 3486967 by Nick.Darnell

	Slate - Fixing some HDPI calculations for fitting new windows on screen, it was using the unscaled size of the widgets for fitting, when it needed to scale them up.

Change 3486970 by Andrew.Rodham

	Sequencer: Delay mouse capture until drag for sequencer time slider
	  - Fixes context menus not opening as a result of mouse capture being taken on mouse down

	#jira UE-45937

Change 3486984 by Andrew.Rodham

	Sequencer: Improved blending type iconography

Change 3486996 by Nick.Darnell

	UMG - Adding a way for games to opt-out of the slow widget path, to completely prevent them from being cooked.
	UMG - The movie data is no longer cloned for each new instance that inhabits.  It now keeps a reference to the now publically accessible movie scene data on the class instead.

Change 3487070 by Andrew.Rodham

	Sequencer: Added graphics for key areas that represent empty space

Change 3487195 by Andrew.Rodham

	Sequencer: Changed evaluation groups to always flush implicitly
	  - Due to the latent nature of blended token types, it's no longer safe to rely solely on execution token order between tracks
	  - This fixes an issue where events set in the PostEvaluation stage were executed before blended token actuation

Change 3487322 by Nick.Darnell

	PR #2457: Add .gitdeps.xml-files for plugins support (Contributed by bozaro)


Change 3487363 by Nick.Darnell

	PR #2481: Fix for packing of a project with users plugins (Contributed by yatagarasu25)


Change 3487439 by Nick.Darnell

	PR #2642: Changed private to protected in SVirtualJoystick.h (Contributed by Skylonxe)


Change 3487500 by Arciel.Rekman

	Removed LinuxNativeDialogs.

	- No longer used; has been superceded by SlateDialogs since UE 4.8 (2 years ago).

Change 3487630 by Lauren.Ridge

	Don't create Landscape Info Maps for Editor Preview Worlds or thumbnail worlds

	#jira UE-44885

Change 3487864 by Matt.Kuhlenschmidt

	Exposed the asset registry to blueprints and script.  Works in editor scripts and runtime scripts

	AssetRegistry is now a UInterface object.
	Blueprint users can access various asset registry methods using the asset registry interface (via GetAssetRegistry) and various static helpers in  the AssetRegistryHelpers object
	C++ users should still continue to use IAssetRegistry.

Change 3487879 by Matt.Kuhlenschmidt

	Renamed asset tools uobject helper to UAssetToolsHelpers

Change 3487926 by Lauren.Ridge

	Fixing reset to default not showing up for custom widgets

	#jira UE-44164

Change 3488184 by Matt.Kuhlenschmidt

	PR #3656: Make References/Referencers List copyable (Contributed by user37337)


	#jira UE-45763

Change 3488240 by Matt.Kuhlenschmidt

	Fix compiler issue

Change 3488350 by Lauren.Ridge

	Landscape info map transactional state is based on its world's transactional state

	#jira UE-44885
	#jira UE-46019

Change 3488412 by Matt.Kuhlenschmidt

	Fix reset to default showing up in two different places for some customizations

Change 3488413 by Matt.Kuhlenschmidt

	Fix slate font customization

Change 3488414 by Matt.Kuhlenschmidt

	Fix slate font customization

Change 3488415 by Matt.Kuhlenschmidt

	Missed file

Change 3488565 by Arciel.Rekman

	Add pretty printers for gdb (UETOOL-1171).

	- Committing shelf by Cengiz.Terzibas, with some modifications.

	#jira UETOOL-1171

Change 3489094 by Nick.Darnell

	Slate - The Slate RHI Renderer now caches the TextureLODGroups so that it can properly lookup the filtering of different texture groups that are set to Default, instead of a particular filter override on a texture.
	Engine/Rendering - Simplifying some of the setup logic in TextureLODSettings so that code is shared for setting them up properly after loading from a config file.

Change 3489095 by Nick.Darnell

	PR #2699: GameViewportClient - Added a method to allow setting the viewport cur. (Contributed by rfenner)
	Review - Fixed spacing.


Change 3489108 by Matt.Kuhlenschmidt

	Fix deprecation warning

Change 3489120 by Nick.Darnell

	PR #3478: Fix possible UComboBoxString crash (Contributed by nakosung)


Change 3489147 by Andrew.Rodham

	Sequencer: Adding return value to function to appease static analysis
	  - This function is never compiled, and if it is, it won't compile, but static analysis doesn't know that

Change 3489264 by Nick.Darnell

	Testing - Finishing the thought behind an enum comment.

Change 3489265 by Nick.Darnell

	PR #2750: UE-35164: Button padding (Contributed by projectgheist)


Change 3489267 by Nick.Darnell

	PR #3645: UE-45464: Handle SSlider mouse interaction more accurately (Contributed by projectgheist)


Change 3489632 by Arciel.Rekman

	Correctness changes to MallocPoisonProxy.

	- Missing forwarding functions added.  Incorrect comment removed.
	- Change by Steve.Robb, doing here so it is in 4.17.

Change 3489689 by Arciel.Rekman

	More MallocPoisonProxy changes I missed in previous CL.

Change 3489751 by Matt.Kuhlenschmidt

	Moved editor performance settings out of per-project settings so they can be shared across projects

Change 3489837 by Lauren.Ridge

	Keyboard shortcut for entering/leaving VR Mode is now Alt+V

Change 3491082 by Arciel.Rekman

	Linux: better fix for the crash due to name collision (UE-46040).

	- Put classes in Sequencer module into Sequencer namespace instead of SceneOutliner namespace.
	- Undid change in the SceneOutliner module.

	#jira UE-46040

Change 3491096 by Arciel.Rekman

	Fix UAT compilation on the newest mono.

Change 3491240 by Max.Chen

	Sequencer: Disable key button when allow level edits only is on.

	#jira UE-46060

Change 3491406 by Yannick.Lange

	Fix editor crashes when opening a project that includes a plugin with more than two custom Volume classes. This issue was caused because registering show volume commands is based on finding volume classes. Finding these classes at multiple times resulted in a mismatch of the returned array of volume classes because modules/plugins were still being loaded.

	#jira UE-45806

Change 3491559 by Alexis.Matte

	Make sure we use the good preview mesh when doing a preview
	#jira UE-45963

Change 3491563 by Alexis.Matte

	Fix crash with staticmesh editor LodLevel selection

Change 3491564 by Nick.Darnell

	UMG - Fixing an offset with the grab handles in HDPI mode.

Change 3491595 by Nick.Darnell

	Editor - Fixing a clipping artifact in the pin type dropdown in the blueprint editor.

Change 3491604 by Nick.Darnell

	Back out changelist 3489265

Change 3491615 by Arciel.Rekman

	Added malloc replay proxy (Linux only for now).

	- Allows to dump malloc callstream (without regard to threads) and replay later to study the behavior of different mallocs and/or repro problems.

Change 3491684 by Arciel.Rekman

	Added FMalloc functions I missed.

	- Also moved function bodies into the .cpp file, this does not make a difference in performance in this case.

Change 3491692 by Matt.Kuhlenschmidt

	Some minor fixes to the static mesh editor
	- Fix UV combo button looking non-standard on the toolbar
	- Fix a few combo buttons in the details panel looking too big.

Change 3491702 by Arciel.Rekman

	Do not compile replay proxy-specific code when not used.

Change 3491717 by Michael.Dupuis

	#jira UE-35083:
	The component is now the owner of the PerInstanceRenderData instead of the proxy
	Add an Update path to only update specified instances range
	Always call BuildTreeIfOutdated so we have a standard code path to make sure static mesh are fully loaded before trying to build the tree
	Moved the Instance Buffer aysnc to the base class, as it's not related to UHierarchicalInstancedStaticMeshComponent
	Expose a new property to decide if we require dynamic instance buffer

Change 3491758 by Matt.Kuhlenschmidt

	Fix crash on static mesh editor shutdown

Change 3491873 by Cody.Albert

	Fixed clipping issue in Sequencer curve editor

	#rnx

Change 3491956 by Matt.Kuhlenschmidt

	Fix crash opening the Previewing sub-menu in the level editor settings menu

	#jira UE-46095

Change 3492046 by Jamie.Dale

	Fixing some font cooking warnings by splitting out font faces from their font assets

	#jira UE-45843

Change 3492076 by Jamie.Dale

	Fixing some font cooking warnings by splitting out font faces from their font assets

	#jira UE-45843

Change 3492165 by Jamie.Dale

	Fixing some font cooking warnings by splitting out font faces from their font assets

	#jira UE-45843

Change 3492222 by Jamie.Dale

	Fixing some font cooking warnings by splitting out font faces from their font assets

	#jira UE-45843

Change 3492274 by Michael.Dupuis

	#jira UE-46105: Fixed Clang warning

Change 3492338 by andrew.porter

	QAGame: Testing ensure when submitting

Change 3492371 by Nick.Darnell

	UMG - Reverting the animation sharing, cossed GLEO regressions in cooking.  Will look for a better solution.

Change 3492462 by Matt.Kuhlenschmidt

	Fix ensure checking in files through perforce

Change 3492491 by Jamie.Dale

	Fixing some font cooking warnings by splitting out font faces from their font assets

	#jira UE-45843

Change 3492505 by Jamie.Dale

	Fixing some font cooking warnings by splitting out font faces from their font assets

	#jira UE-45843

Change 3492517 by Jamie.Dale

	The package localization ID is no longer used at all at runtime, and is now truly editor-only

	This should have always been the case, but it was leaked into manifest/archives/PO files in 4.14, and while 4.15 removed it from PO files it was still present in the manifest/archives. This change removes it entirely (unless gathering editor-only data, and even then the PO file will still collapse the entries together for translation), and the deprecated 4.14 export behavior will now produce an error if you attempt to use it.

	After taking this change you'll need to run a gather, import, and compile of your LocRes files to update your game localization to use the new localization IDs.

Change 3492630 by Nick.Darnell

	UMG - Removing some extra cleanup code that's probably overkill and is causing a crash for uses of  "Within" in class meta.

	#jira UE-46124

Change 3492692 by Matt.Kuhlenschmidt

	Fix drop shadows inheriting the outline color of the font.  The outline should still appear but not have a different outline color from fill color

Change 3492714 by Matt.Kuhlenschmidt

	Added outline with drop shadow to font automation test

Change 3492737 by Matt.Kuhlenschmidt

	Fix linux

Change 3492992 by tim.gautier

	Resaving Ocean Widget Blueprints / Sequences to resolve Legacy Sequence Data warnings

	#jira UE-46132

Change 3493089 by Jamie.Dale

	Ensure that the composite font of a font asset is flushed when the font object is GC'd

Change 3493322 by Jamie.Dale

	Fixing null crash

	#jira UE-45758

Change 3494467 by Andrew.Rodham

	Fix Xbox warning

Change 3494852 by tim.gautier

	QAGame: Changed streaming method of QA-EditorSmoke-Landscape to Always Loaded

Change 3494853 by Nick.Darnell

	Another attempt at fixing the automation blueprint SA warning.

Change 3494896 by Arciel.Rekman

	Fix possible null pointer access during Vulkan init.

	- May fix static analysis warnings in UE-46142, although warnings seem to be referring to something else.

	#jira UE-46142

Change 3494987 by Jamie.Dale

	Fixing some font cooking warnings by splitting out font faces from their font assets

	#jira UE-45843

Change 3495010 by Matt.Kuhlenschmidt

	Adding additional logging to track down html5 issue

Change 3495212 by Michael.Dupuis

	#jira UE-46143: Properly init the InstanceRenderData during the cooking phase (required by fortnite)

Change 3495536 by Jamie.Dale

	Updating UGameEngine to call its Super::PreExit after performing its own teardown

	This prevents UEngine cleaning up resources that UGameEngine still needs.

	#jira UE-46159

Change 3495551 by Arciel.Rekman

	Another attempt to fix analyzer problem (UE-46142).

Change 3495794 by Jamie.Dale

	Fixing some font cooking warnings by splitting out font faces from their font assets

	#jira UE-45843

Change 3495905 by Matt.Kuhlenschmidt

	Fix USD crash when importing a meshwith no material

[CL 3499771 by Matt Kuhlenschmidt in Main branch]
2017-06-19 20:27:30 -04:00
Ben Marsh
5275490168 Copying //UE4/Dev-Build to //UE4/Dev-Main (Source: //UE4/Dev-Build @ 3277940)
#lockdown Nick.Penwarden
#rb none

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

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

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

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

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

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

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

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

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

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

	UBT: Add attribute-driven command line parser.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

	Replace all uses of TargetRules.TargetType with TargetType.

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

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

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

	UBT: Remove toolchain support for Windows XP.

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

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

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

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

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

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

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

	Build: Fixes for conforming incremental workspaces:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

	EC: Add a batch file for testing postp filters.

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

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

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

	UBT: Fix Android support for force included headers.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

	UBT: Merge the LinkEnvironment and LinkEnvironmentConfiguration classes together.

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

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

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

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

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

	UBT: Move executor config settings onto the executor instances.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

	#jira UEB-729

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

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

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

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

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

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

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

	UBT: Include plugin config files in generated projects.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

	Fix commends regarding DDC in BaseEngine.ini

	#jira UE-41076

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

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

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

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

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

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

	#jira UE-36457

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

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

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

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

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

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

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

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

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

	IncludeTool: Merging various fixes.

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

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

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

[CL 3278101 by Ben Marsh in Main branch]
2017-01-30 16:52:08 -05:00
Ben Marsh
20bf0eb6a1 Updating copyright notices to 2017 (copying from //Tasks/UE4/Dev-Copyright-2017).
#rb none
#lockdown Nick.Penwarden

[CL 3226823 by Ben Marsh in Main branch]
2016-12-08 08:52:44 -05:00
Matthew Griffin
bb70b349ce Merging CL 2804086 from //UE4/Release-4.11 to Dev-Main (//UE4/Dev-Main) to isolate copyright update
#lockdown Nick.Penwarden

[CL 2819020 by Matthew Griffin in Main branch]
2016-01-07 08:17:16 -05:00
bruce nesbit
15873e22b5 Added suport for classes to register with super search for handling/acting on searches
Hooked in feature packs to show in super search using tags in the FP manifests
Added some keywords to manifests for super search

[CL 2526727 by bruce nesbit in Main branch]
2015-04-27 05:56:20 -04:00
Ben Marsh
b4db61014b [INTEGRATE] Change 2421922 by bruce.nesbit@bnesbit_Releases on 2015/01/28 05:46:59
Added message to indicate compiling is going to happen when importing code FP. Also made code wait until its complete
	Added provision for focus on a specifc asset after adding a feature pack
	Revised class type names in feature pack manifests.

[CL 2425812 by Ben Marsh in Main branch]
2015-01-30 10:48:17 -05:00
Frank Fella
716e7443fa AddContentDialog - Automatically save imported assets from added content.
[CL 2391546 by Frank Fella in Main branch]
2014-12-17 14:52:54 -05:00
Ben Marsh
149375b14b Update copyright notices to 2015.
[CL 2379638 by Ben Marsh in Main branch]
2014-12-07 19:09:38 -05:00
Frank Fella
60f9975fc2 AddContentDialog - Upgrade to the nice widget carousel that the launcher uses.
[CL 2357397 by Frank Fella in Main branch]
2014-11-12 14:49:21 -05:00
Frank Fella
ec05ac91a5 AddContentDialog - A dialog and lower level infrastructure for adding additional content to an existing game. Currently there is only support for the new "feature pack" upack files.
#codereview matt.kuhlenschmidt, nick.atamas

[CL 2353064 by Frank Fella in Main branch]
2014-11-07 09:55:57 -05:00