Commit Graph

23 Commits

Author SHA1 Message Date
Tim Smith
cfca999345 Removed the Class/Struct meta data class.
Fixed some API that were mistakenly setup as generic struct API instead of class API.
Removed some unused API.
No functional changes, just code reorg.

#rb none
#rnx
#preflight 60d08126d9586b0001ae3336

[CL 16727641 by Tim Smith in ue5-main branch]
2021-06-21 09:34:39 -04:00
Tim Smith
c21dd493c5 Fixed global delegate functions to support changes when doing live coding.
Fixed issue where changing a function signature in an interface wouldn't update nodes in a blueprint.
Changed the API of the deferred registry to be more inline with UE coding standards.

#rb ben.marsh phillip.kavan
#rnx
#jira UE-113662
#preflight 60c0c0fdc61264000190e16a

[CL 16606206 by Tim Smith in ue5-main branch]
2021-06-09 11:42:43 -04:00
Tim Smith
b6d62d54c5 Classes and ScriptStructs are now created post-parse
#rb self
#rnx

[CL 16472312 by Tim Smith in ue5-main branch]
2021-05-26 13:58:10 -04:00
Tim Smith
27c18e8061 Functions are no longer required to be created at parse time.
#rb self
#rnx
#preflight 60ad8b891d784900010f7c88

[CL 16462576 by Tim Smith in ue5-main branch]
2021-05-25 22:15:51 -04:00
Tim Smith
c9572b225e Remove FClasses
#rb self
#rnx
#preflight 60a9103c3df6e300012d8aec

[CL 16429489 by Tim Smith in ue5-main branch]
2021-05-22 10:50:10 -04:00
Tim Smith
224901db8a Change PropertyBase to reference new types.
#rb self
#rnx
#preflight 60a8eae36905a600014ed8c5

[CL 16429032 by Tim Smith in ue5-main branch]
2021-05-22 08:04:39 -04:00
Tim Smith
5c7b33f9e5 More UnrealHeaderTool refactoring
Remove FClass
Remove ClassDeclarationMetaData

#rb self
#rnx
#preflight 60a7c6140569f30001673b9c

[CL 16419880 by Tim Smith in ue5-main branch]
2021-05-21 11:52:09 -04:00
Tim Smith
377b8798c5 Added new PropertyTypes which in the long run will be where different property types are implemented.
Added new casting system betwen the different type definitions.  This allows some patterns that makes the code easier.
Moved some direct calls to engine API to FClasses.
More property data moved to the property definition.
Replacing a many more instances of referencing engine type directly with referencing UHT types.
Removed the FToken from the property data.  Saved 600MB of memory on some titles.

#rb jonathan.adamczewski
#rnx

[CL 16416114 by Tim Smith in ue5-main branch]
2021-05-21 07:29:12 -04:00
Tim Smith
2504290d2e Remove the compiler meta data manager.
Elimination of some quick to resolve type system lookups.

#rnx
#rb jonathan.adamczewski
#preflight 609e5a1dcbf9a40001fe9778

[CL 16328413 by Tim Smith in ue5-main branch]
2021-05-14 07:48:15 -04:00
Tim Smith
808f81dd6c Performance improvements and clean up in preperation for a Live Coding fix.
1) Refactored preparsing to scan for @UCLASS, @USTRUCT, and @ENUM and define then.  This means that no new entries into the type definition info system will be added after pre-parsing and thus remove the need for any type of locking during code generation.
2) Parsing and code generation is now being done in a strict order based on dependencies and no longer by project.  This removes the need of explicitly parsing depedencies first or waiting on hashes to be computed.  (Provided a 50%-80% improvement in code generation time)
3) Changed HeaderParser to be specific to one source file.  Removed the need to pass the source file around since it is always known at construction time.  Simplified some error handling logic.
4) Changed parallel for loops to using event graph to provide more concurrency.
5) Refactored the main program flow into concise steps.

Testing:

Verified that the headers generated exactly the same for:

1) First person C++ Project
2) UnrealEditor
3) QAGame
4) ShooterGame
5) FortniteGame

FYI: Marc had reviewed this as part of a larger change but some parts were extract.  These are the remaining changes.

#rb marc.audy
#rnx
#preflight 6078666a02850d00010e22c5

[CL 16023636 by Tim Smith in ue5-main branch]
2021-04-15 13:44:34 -04:00
marc audy
c7a596b047 UHT Optimizations Part 3 - Avoid potentially expensive scope search for an FName when the supplied name does not exist as an FName
#jira
#rnx


#ROBOMERGE-SOURCE: CL 10872814 via CL 10872815 via CL 10872816
#ROBOMERGE-BOT: (v623-10872670)

[CL 10872817 by marc audy in Main branch]
2019-12-31 15:00:13 -05:00
Ryan Durand
74c879d5f3 Updating copyrights for Engine Programs.
#rnx
#rb none
#jira none

#ROBOMERGE-OWNER: ryan.durand
#ROBOMERGE-AUTHOR: ryan.durand
#ROBOMERGE-SOURCE: CL 10869242 in //Fortnite/Release-12.00/... via CL 10869536
#ROBOMERGE-BOT: FORTNITE (Main -> Dev-EngineMerge) (v613-10869866)

[CL 10870960 by Ryan Durand in Main branch]
2019-12-26 23:06:02 -05:00
Johan Torp
bd021be607 Simple UHT optimization yields 1.1x wall time speedup on internal project
#rb steve.robb

[CL 4930587 by Johan Torp in Dev-Core branch]
2019-02-07 07:17:43 -05:00
Robert Manuszewski
2752c82adc Merging //UE4/Dev-Main @ 4664414 to Dev-Core (//UE4/Dev-Core)
#rb none

[CL 4675693 by Robert Manuszewski in Dev-Core branch]
2019-01-02 00:55:51 -05:00
Ben Marsh
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
f461ea68e9 Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3548365)
#lockdown Nick.Penwarden

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

Change 3494741 by Steve.Robb

	Generated code size savings.

	#jira UE-43048

Change 3495484 by Steve.Robb

	Fix for generated indices of static arrays when saving configs.

Change 3497926 by Robert.Manuszewski

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

Change 3498077 by Robert.Manuszewski

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

Change 3498112 by Ben.Marsh

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

Change 3500239 by Robert.Manuszewski

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

Change 3500395 by Steve.Robb

	Extra codegen savings when not in hot reload.

Change 3501004 by Steve.Robb

	EObjectFlags now have constexpr operators.

Change 3502079 by Ben.Marsh

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

Change 3502527 by Steve.Robb

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

Change 3502542 by Ben.Marsh

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

Change 3502868 by Steve.Robb

	Workaround for inefficient generated code with stateless lambdas on Clang.

Change 3503550 by Steve.Robb

	Another generated code lambda optimization.

Change 3503582 by Ben.Marsh

	BuildGraph: Add support for nullable parameter types.

Change 3504424 by Steve.Robb

	New AllOf, AnyOf and NoneOf algorithms.

Change 3504712 by Ben.Marsh

	UAT: Less spammy log and error output from UAT.

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

Change 3504808 by Ben.Marsh

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

Change 3505044 by Steve.Robb

	Code generation improved for TCppClassType code.

Change 3505485 by Ben.Marsh

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

Change 3505699 by Ben.Marsh

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

Change 3506055 by Ben.Marsh

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

Change 3507745 by Robert.Manuszewski

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

Change 3507911 by Ben.Marsh

	Plugins: Minor changes to plugin descriptors.

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

Change 3508669 by Ben.Marsh

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

Change 3508691 by Ben.Marsh

	Fix double-spacing of cook stats.

Change 3509245 by Steve.Robb

	UHT makefiles removed.
	Flag audit removed.

Change 3509275 by Steve.Robb

	Fix for mismatched stat categories in AudioMixer.

	#jira UE-46129

Change 3509289 by Robert.Manuszewski

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

Change 3509294 by Robert.Manuszewski

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

Change 3509312 by Steve.Robb

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

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

	#jira UE-46136

Change 3509396 by Steve.Robb

	GitHub# 3676: Fix TUnion operator<< compile error

	#jira UE-46099

Change 3509633 by Steve.Robb

	Fix for line numbers on multiline macros.

Change 3509938 by Gil.Gribb

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

Change 3510593 by Daniel.Lamb

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

	#test None

Change 3510594 by Daniel.Lamb

	Fixed up temp files directory for patching.

	Thanks David Yerkess @ Milestone
	#review@Ben.Marsh

Change 3511628 by Ben.Marsh

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


Change 3511808 by Ben.Marsh

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

	#jira UE-46540

Change 3512017 by Ben.Marsh

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

Change 3513935 by Steve.Robb

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

Change 3514142 by Steve.Robb

	MemoryProfiler2 added to generated solution.

Change 3516463 by Ben.Marsh

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

Change 3517860 by Ben.Marsh

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


Change 3517967 by Ben.Marsh

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

Change 3518070 by Steve.Robb

	Disable Binned2 stats in shipping non-editor builds.

Change 3520079 by Steve.Robb

	Fixed bad codegen TAssetPtrs being passed into BlueprintImplementableEvent functions.

	#jira UE-24034

Change 3520080 by Robert.Manuszewski

	Made max package summary size to be configurable with ini setting

Change 3520083 by Steve.Robb

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

	#jira UE-40421

Change 3520480 by Robert.Manuszewski

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

Change 3520590 by Graeme.Thornton

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

Change 3521023 by Graeme.Thornton

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

Change 3521787 by Ben.Marsh

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


Change 3521789 by Ben.Marsh

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


Change 3524721 by Ben.Marsh

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

Change 3524741 by Ben.Marsh

	Move PumpMessages() into FPlatformApplicationMisc.

Change 3525399 by Ben.Marsh

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

Change 3525743 by Ben.Marsh

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

Change 3525746 by Ben.Marsh

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

Change 3526453 by Ben.Marsh

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

Change 3527045 by Ben.Marsh

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

Change 3527420 by Ben.Marsh

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

	Config files are now read from:

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

	If a project is selected:

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

	If the .uprojectdirs file is selected:

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

Change 3528063 by Ben.Marsh

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

Change 3528415 by Ben.Marsh

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

Change 3528427 by Ben.Marsh

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

Change 3528485 by Ben.Marsh

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

Change 3528505 by Steve.Robb

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


	#jira UE-46819

Change 3528772 by Robert.Manuszewski

	Enabling actor and blueprint clustering in ShooterGame

Change 3528786 by Robert.Manuszewski

	PR #3760: Fix typo (Contributed by jesseyeh)


Change 3528792 by Steve.Robb

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


	#jira UE-46962

Change 3528941 by Robert.Manuszewski

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

	#jira UE-44996

Change 3530241 by Ben.Marsh

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

Change 3531377 by Ben.Marsh

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

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

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

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

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

Change 3531502 by Jin.Zhang

	Add support for GPUCrash #rb

Change 3531664 by Ben.Marsh

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

Change 3531848 by Ben.Marsh

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

Change 3531869 by Ben.Marsh

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

Change 3532474 by Ben.Marsh

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

Change 3532734 by Graeme.Thornton

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

Change 3532789 by Steve.Robb

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

Change 3532845 by Steve.Robb

	Obsolete UHT settings deleted.

Change 3532875 by Graeme.Thornton

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

Change 3532906 by Graeme.Thornton

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

Change 3532924 by Ben.Marsh

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

Change 3535234 by Graeme.Thornton

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

Change 3535247 by Graeme.Thornton

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

Change 3535376 by Graeme.Thornton

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

Change 3537083 by Ben.Marsh

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

Change 3537368 by Graeme.Thornton

	Fix for crash in FSignedArchiveReader when multithreading is disabled

Change 3537550 by Graeme.Thornton

	Fixed a crash in the taskgraph when running single threaded

Change 3537922 by Steve.Robb

	Missing PF_ATC_RGBA_I added to FOREACH_ENUM_EPIXELFORMAT.

Change 3539691 by Graeme.Thornton

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

Change 3539775 by Ben.Marsh

	Plugins: Various fixes to settings for enabling plugins.

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

Change 3540788 by Ben.Marsh

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

	Example usage:

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

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

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

Change 3541664 by Graeme.Thornton

	VSCode - Add problemMatcher tag to cpp build targets

Change 3541732 by Graeme.Thornton

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

Change 3541967 by Graeme.Thornton

	VSCode - Fixes for Mac/Linux build steps

Change 3541968 by Ben.Marsh

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

	#jira UE-46912

Change 3542519 by Ben.Marsh

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

Change 3542523 by Ben.Marsh

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

Change 3542658 by Ben.Marsh

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

Change 3543432 by Ben.Marsh

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

Change 3543436 by Ben.Marsh

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

Change 3543536 by Ben.Marsh

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

Change 3543871 by Gil.Gribb

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

Change 3543924 by Robert.Manuszewski

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

Change 3544469 by Jin.Zhang

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

Change 3544608 by Steve.Robb

	Fix for nativized generated code.

	#jira UE-47452

Change 3544612 by Ben.Marsh

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

	#jira UE-47449

Change 3545954 by Gil.Gribb

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

Change 3545968 by Ben.Marsh

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

	#jira UE-47419

Change 3545976 by Ben.Marsh

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

Change 3546185 by Ben.Marsh

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

Change 3547084 by Gil.Gribb

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

Change 3547968 by Gil.Gribb

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

Change 3504722 by Ben.Marsh

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

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

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

Change 3512255 by Ben.Marsh

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

Change 3512332 by Ben.Marsh

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

Change 3512393 by Ben.Marsh

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

Change 3513452 by Ben.Marsh

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

Change 3516262 by Ben.Marsh

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

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

Change 3517565 by Ben.Marsh

	Remove fixed engine version numbers from OSS plugins.

Change 3518005 by Ben.Marsh

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

Change 3518054 by Ben.Marsh

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

Change 3524496 by Ben.Marsh

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

Change 3524641 by Ben.Marsh

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

Change 3528723 by Steve.Robb

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

Change 3528876 by Ben.Marsh

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

Change 3529073 by Ben.Marsh

	Add script to package ShooterGame for any platforms.

Change 3531493 by Ben.Marsh

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

Change 3531611 by Ben.Marsh

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

Change 3531868 by Ben.Marsh

	Resaving project descriptors to remove invalid fields.

Change 3531983 by Ben.Marsh

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

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

Change 3540315 by Ben.Marsh

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

Change 3542410 by Ben.Marsh

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

Change 3543018 by Ben.Marsh

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

Change 3544371 by Steve.Robb

	Fixes to TSet_Add and TMap_Add BPs.

	#jira UE-47441

[CL 3548391 by Ben Marsh in Main branch]
2017-07-21 12:42:36 -04:00
Marc Audy
5ce407d808 Copying //UE4/Dev-Framework to //UE4/Dev-Main (Source: //UE4/Dev-Framework @ 3358467)
#rb none
#lockdown Nick.Penwarden

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

Change 3297108 on 2017/02/10 by Mieszko.Zielinski

	Added AISight's peripherial vision angle claming as well as marked up UI to not allow values from outside of [0,180] range #UE4

	#jira UE-41114

Change 3299467 on 2017/02/13 by Marc.Audy

	Don't try to update active sounds on audio thread if the audio component is not active. If these functions are callled from a constructor on an async loading thread it can cause a crash

Change 3300692 on 2017/02/13 by Marc.Audy

	no auto

Change 3301424 on 2017/02/14 by Marc.Audy

	Handle gateway expansion before the node matching loop
	#jira UE-41858

Change 3301547 on 2017/02/14 by Marc.Audy

	PR #3246: Added BindDelegate that supports functions with custom (static) arguments (Contributed by PhoenixBlack)
	#jira UE-41926

Change 3301557 on 2017/02/14 by Marc.Audy

	When passing null to Rename for the new name, maintain the OldName is possible
	#jira UE-41937

Change 3301676 on 2017/02/14 by Marc.Audy

	Fix pending occlusion async traces from crashing during shutdown
	#jira UE-41939

Change 3302705 on 2017/02/14 by Mieszko.Zielinski

	Removed 'PRAGMA_DISABLE_OPTIMIZATION' uccurences from AIModule #UE4

Change 3302898 on 2017/02/14 by Dan.Oconnor

	Fix double negative

Change 3302954 on 2017/02/14 by Dan.Oconnor

	Make sure we use a good version of the class

Change 3302977 on 2017/02/14 by Dan.Oconnor

	Optimization in reinstancer turned back on - 3302898 has fixed the regression

Change 3302984 on 2017/02/14 by Dan.Oconnor

	Relink classes that were not recompiled in a wave of the compilation manager - currently only happens for data only blueprints.

	This fixes issues in Odin when using the compilation  manager

Change 3303824 on 2017/02/15 by Richard.Hinckley

	Updating URL for FABRIK system information.

Change 3304284 on 2017/02/15 by Dan.Oconnor

	Build fix

Change 3304297 on 2017/02/15 by Dan.Oconnor

	Shadow variable fix

Change 3304465 on 2017/02/15 by Lukasz.Furman

	fixed handling pathfollowing's requests by FloatingPawnMovement
	#jira UE-41884

Change 3305031 on 2017/02/15 by Marc.Audy

	All objects should get PostLoadSubobjects calls, regardless of whether they are outered to a CDO or not
	#jira UE-41708

Change 3305505 on 2017/02/15 by Michael.Noland

	Blueprints: Fix a crash when opening a BP with a parent class that no longer exists (unguarded access to the parent class)

Change 3305506 on 2017/02/15 by Michael.Noland

	QAGame: Created some assets that reference a non-existent type to test 'gracefully' handling missing native class types

Change 3306091 on 2017/02/16 by Marc.Audy

	PR #3263: Fixed duplicate comment from OnAudioFinished (Contributed by FrostByteGER)
	#jira UE-42027

Change 3306574 on 2017/02/16 by Marc.Audy

	Linked To pins can belong to invalid nodes and fail to load, this shouldn't be considered fatal

Change 3307160 on 2017/02/16 by Marc.Audy

	Rename(null, null ... is sometimes used to just force a name out of the way, so in that case don't try and maintain old name.

Change 3307982 on 2017/02/16 by Michael.Noland

	QAGame: Added another test asset for missing classes (this time a missing node class placed in a BP)

Change 3308097 on 2017/02/16 by Michael.Noland

	Graph Editor: Instantly clear GraphNodeForMenu and GraphPinForMenu as soon as the menu is dismissed, fixing crashes and other odd issues after deleting pins
	#jira UE-41789

Change 3308303 on 2017/02/16 by Dan.Oconnor

	Make sure we don't call GetDefaultObject while compiling on a non-native class

Change 3308850 on 2017/02/17 by Mieszko.Zielinski

	Fully exposed NavModifierVolume as ENGINE_API #UE4

Change 3309624 on 2017/02/17 by Phillip.Kavan

	[UE-40443] Recursively emit ctor initialization code for nested default subobjects when nativizing a Blueprint class.

	change summary:
	- modified FEmitDefaultValueHelper::OuterGenerate() to recursively detect and handle nested default subobjects.

	#jira UE-40443

Change 3310475 on 2017/02/17 by Dan.Oconnor

	Split bluepint compilation into CompileClassLayout and CompileFunctions, fix class hierarchy after creating reinstancers in blueprintcompilation manager. Together this means we don't need to run RecompileBlueprintBytecode

Change 3310487 on 2017/02/17 by Dan.Oconnor

	Fix build error missed by preflgiht

Change 3310497 on 2017/02/17 by Dan.Oconnor

	More build fixes for things missed by preflight...

Change 3310635 on 2017/02/17 by Dan.Oconnor

	Remove unused parameter and add comment to blueprint compilation manager explaining abuse of bBeingCompiled

Change 3310639 on 2017/02/17 by Dan.Oconnor

	Shadow variable fixes, not sure why these are being detected now

Change 3311855 on 2017/02/20 by Marc.Audy

	Fix UChildActorComponent::ParentComponent being null on the client
	#jira UE-42140

Change 3312444 on 2017/02/20 by Marc.Audy

	Add a bAutoDestroy pin to BP Spawn Sound and Force Feedback nodes to allow users to reuse the created component
	#jira UE-41267

Change 3312691 on 2017/02/20 by mason.seay

	Deleting map now that bug has been fixed

Change 3312709 on 2017/02/20 by Phillip.Kavan

	[UE-39705] Fix broken collision shapes when cooking with optimized BP component data option.

	change summary:
	- modified FComponentInstancingDataUtils::RecursivePropertyGather() to exclude deprecated properties, since they won't be serialized on save.
	- modified FBlueprintCookedComponentInstancingData::LoadCachedPropertyDataForSerialization() to remove the PPF_UseDeprecatedProperties flag (these are no longer included in the delta).
	- modified UBlueprintGeneratedClass::CheckAndApplyComponentTemplateOverrides() to remove the PPF_UseDeprecatedProperties flag (was being incorrectly used here).
	- modified AActor::CreateComponentFromTemplateData() to remove the PPF_UseDeprecatedProperties flag (was being incorrectly used here; this caused deprecated property defaults to be copied out to the instance).
	- modified AActor::CreateComponentFromTemplateData() to append RF_PostLoad/RF_NeedPostLoadSubobjects and call PostDuplicate()/ConditionalPostLoad() on the new instance (needed to mirror what SDO does in the unoptimized case - for proper physics RB setup specifically, but may be other areas where that's needed).

	#jira UE-39705

Change 3313161 on 2017/02/20 by Mieszko.Zielinski

	PR #3272: Use Pawn for GetNavAgentPropertiesRef(). (Contributed by drelidan7)

Change 3314151 on 2017/02/21 by Mieszko.Zielinski

	fix to hlods complaining about missing nav collision in cooked builds #UE4

	Made sure hlod-generated StaticMeshes are marked as not having navigation data

	#jira UE-42034

Change 3314355 on 2017/02/21 by Marc.Audy

	Set error message back to be correctly about mobility
	#jira UE-42209

Change 3314566 on 2017/02/21 by Phillip.Kavan

	[UE-40801] Switch to an ensure() to potentially help diagnose a one-off assertion crash in the SCS editor if encountered again in a future release.

	#jira UE-40801

Change 3315459 on 2017/02/21 by Mike.Beach

	Updated marquee selection in graph editors. Ctrl dragging now inverts nodes' selection state (not only deselects them - holding alt is now for only deselection).

	#jira UE-16359

Change 3315546 on 2017/02/21 by Mike.Beach

	Mirroring CL 3294552

	Count "GeneratedStub" as a success for cooked file generation - ensures the saved asset gets recorded in the asset registry.

	#jira ODIN-5869

Change 3315554 on 2017/02/21 by Mike.Beach

	Do not generate NativizedAsset plugin files if no Blueprints were nativized (cut down on mod generate/cook time).

	#jira ODIN-6211

Change 3317225 on 2017/02/22 by mason.seay

	Enable Net Use Owner Frequency on blueprints.  This allows the client to use different weapons. Doesn't fix UE-42017 though.

Change 3317495 on 2017/02/22 by Marc.Audy

	Expose raw input device configurations to other modules by request

	#jira UE-42204

Change 3319966 on 2017/02/23 by Nick.Atamas

	Polished up the material reroute node:
	 - Removed some unnecessary widgets
	 - Centered the pin node

Change 3320099 on 2017/02/23 by Mike.Beach

	Guarding against passing self pins to referance parameters (it is not a property that is referencable, and would crash). Notifying the user through pin connection messages, and providing a script exception.

	#jira UE-40861

Change 3321227 on 2017/02/24 by Marc.Audy

	Just use name rather than going Name -> String -> TCHAR -> Name

Change 3321425 on 2017/02/24 by Marc.Audy

	Minor optimizations to avoid string construction when doing StaticFindObject and ResolveName

Change 3321630 on 2017/02/24 by Mike.Beach

	Removing reference notation from actor pointer param - allowing you to pass 'self' to Blueprint exposed function.

Change 3321845 on 2017/02/24 by Lukasz.Furman

	fixed navlink processor trace accepting only components with WorldStatic object type
	#ue4

Change 3322474 on 2017/02/24 by Aaron.McLeran

	UE-42345 Rewriting thumbnail renderer

Change 3322490 on 2017/02/24 by Aaron.McLeran

	UE-42345  Forgot to take abs of sample before averaging

Change 3323562 on 2017/02/27 by Mike.Beach

	Fixing bad merge, copying loop from //UE4/Main that accidently got replaced.

Change 3323685 on 2017/02/27 by Mike.Beach

	Preventing us from cross-binding editor & PIE actors when we fixup level script actor bindings (on duplicate for PIE).

	#jira UE-30816

Change 3323776 on 2017/02/27 by Marc.Audy

	Coding standard clean up pass

Change 3324050 on 2017/02/27 by Ben.Zeigler

	Fix issue with a StreamableHandle being cancelled while in progress leaving the in progress flag active. Added and improved error messages when streaming goes wrong
	Port of 3317217, 3315540, and 3314374 from UE4-Fortnite

Change 3324294 on 2017/02/27 by Ben.Zeigler

	Engine changes needed to support "Asset Management" UI:
	Add concept of "Manage" dependency to the Asset Registry, to represent that an asset like a texture is managed by a Primary Asset. This will be used to compute usage statistics and chunking
	Add ability for AssetManager to override the PrimaryAssetType/Id on a asset data loaded off disk. Needed so the asset audit tools work properly
	Significant performance improvements to the asset registry dependency gather, and correctly report as in progress while dependencies are still being gathered. On Fortnite it now finishes in 10 seconds instead of 100
	Add bUpdateDiskCacheAfterLoad option for the asset registry, if true (default) this will update the Asset Registry's disk cache when an object is loaded, only in the editor. This is so changes made in PostLoad are correctly mirrored in the disk cache
	Add PrimaryAssetType as a wrapper struct around FName to allow customizations and blueprint usage, clean up the noexport definitions for a few related classes
	Add Asset Manager code to create and query "Manage" references used for auditing and chunking
	Add code to read AssetManager scanning rules out of the AssetManagerSettings object, also settable in editor
	Made it so UWorlds are now PrimaryAssets of the type Map, and enable the AssetManager by default for all games
	Port of CL #3323720 and related fixes from Fortnite

Change 3324295 on 2017/02/27 by Ben.Zeigler

	Add AssetManagerEditor which contains the editor interface for the AssetManager system, and engine code needed to support it
	Add support for Management references to the Reference Viewer, and add ability to extend that context menu from plugins/games
	Add struct customizations for PrimaryAssetId and PrimaryAssetType
	Add AssetAuditBrowser window that shows a specialized asset picker for auditing, accessible from content browser, reference viewer, and main windows pane
	Add AssetAuditContext, which is a cleaned up port of the one from Paragon. This needs some more work before being final
	Expose PropertyCustomizationHelpers::MakePropertyComboBox which allows making an "enum-like" combo box for struct customizations, it now works much like the PropertyEditorAsset UI
	Add Custom Column support to AssetView/AssetPicker. This can be used to show runtime-generated column data
	Fix bug in SAssetView where column view did not work with a filter predicate, because the column view was generated before the deferred filter predicate run, leading to an empty filter
	Port of CL #3323722 and related fixes from Fortnite

Change 3324398 on 2017/02/27 by Ben.Zeigler

	CIS fix

Change 3324442 on 2017/02/27 by Ben.Zeigler

	Nonunity fix discovered while testing my nonunity fix

Change 3325465 on 2017/02/28 by Marc.Audy

	Expand RawInput to support up to 20 buttons

Change 3325468 on 2017/02/28 by Marc.Audy

	Fix CIS

Change 3325887 on 2017/02/28 by Phillip.Kavan

	[UE-41893] Implicitly nativize child Blueprints that override one or more BlueprintCallable functions from a parent Blueprint.

	change summary:
	- added FBlueprintEditorUtils::ShouldNativizeImplicitly()
	- modified FBlueprintGlobalOptionsDetails::IsNativizeEnabled() to disable the 'Nativize' checkbox when the BP is implicitly enabled
	- modified FBlueprintGlobalOptionsDetails::GetNativizeState() to set the 'Checked' state when the BP is implicitly enabled
	- modified FBlueprintGlobalOptionsDetails::GetNativizeTooltip() to set an alternate tooltip for the disabled state (when the BP is implicitly enabled)
	- modified FBlueprintNativeCodeGenModule::IsTargetedForReplacement() to ensure that implicitly-enabled BPs are flagged as selected for nativization

	#jira UE-41893

Change 3326713 on 2017/02/28 by Marc.Audy

	Update MAX_NUM_CONTROLLER_BUTTONS to match number of keys created

Change 3327688 on 2017/03/01 by Marc.Audy

	Fix spelling, remove autos

Change 3328139 on 2017/03/01 by Marc.Audy

	Win32 doesn't report the DeviceData in the same way that Win64 does, removing filtered check for now so that Win32 packaged games can use RawInput (4.15.1)

	#jira UE-42375

Change 3328550 on 2017/03/01 by Mike.Beach

	Typo fix in cast node tooltip.

Change 3328575 on 2017/03/01 by Nicholas.Blackford

	Submitting Tick Interval Functional Test

Change 3328972 on 2017/03/02 by Jack.Porter

	Fix for crash entering Landscape mode

	#jira UE-42497

Change 3329224 on 2017/03/02 by Nick.Bullard

	Removing Redirector from EngineTest project

Change 3330093 on 2017/03/02 by Mike.Beach

	Modified fix from Marc.Audy - Guarding against malformed graphs (missing their schema), which can happen in the middle of an undo transaction (removing the graph). Returning the graph's path name in this situation (instead of the display name), so we atleast have some semblance of context.

	#jira UE-42166

Change 3330306 on 2017/03/02 by Mike.Beach

	Replacing ArrayLibrary Get() calls in blueprints with a custom node, which can be toggled back and forth from returning by reference or by value.

	#jira UE-6451

Change 3330626 on 2017/03/02 by samuel.proctor

	Functional Test for Blueprint Containers

Change 3330690 on 2017/03/02 by Mike.Beach

	Modified the fix from CL 3308097 - cannot clear the edgraph pin context since many menu actions expect it be available still as the menu is clossing (menu's dismiss gets triggered before the action is executed).

	#jira UE-42500

Change 3330704 on 2017/03/02 by Mike.Beach

	CIS fix - fallout from CL 3330306

Change 3330875 on 2017/03/02 by Dan.Oconnor

	Iteration on compile manager - removed skeleton compile pass in favor of FastGenerateSkeletonClass (directly generate reflection data from blueprint source data - no graph cloning)

Change 3330892 on 2017/03/02 by Mike.Beach

	CIS fix for linux builds - include filename is case sensitive.

Change 3331585 on 2017/03/03 by Mike.Beach

	Fix for CIS issues (fallout from CL 3330306) - had success/failure return value flipped. Spuriously failing on deprecated node fixup.

Change 3333455 on 2017/03/06 by Ben.Zeigler

	Cleaned up version of CL #3332060, fixes crashes when calling StreamableManager::SynchronousLoad from inside a async PostLoad callback
	Also disable the "do sync load as async load" code in EDL, as EDL basically already does that internally
	Move the recursion guard inside async load tick outside of the EDL section, it's just as unsafe with EDL off

Change 3333484 on 2017/03/06 by Ben.Zeigler

	#jira UE-42312 Fix crash trying to read Searchable Name references to objects in the same package, now guess at package/object name

Change 3333553 on 2017/03/06 by Ben.Zeigler

	#jira UE-42387 Don't write out empty generated ini files for config files that are empty in both source and destination, this stops plugins without configs from ending up in cache

Change 3333697 on 2017/03/06 by Mike.Beach

	Resolving some CIS errors - fix for missed handling of split-struct pins (fallout from CL 3330306) on deprecated node conversion (mapping old pins to new pins).

Change 3334047 on 2017/03/06 by Ben.Zeigler

	#jira UE-42587 Now that we handle Add gameplay cues correctly by deferring them until after load, we also need to handle Remove cues, to avoid cues being stuck on permanently.

Change 3334228 on 2017/03/06 by Ben.Zeigler

	#jira UE-42153 Fix several crashes with gameplay tag query structs
	#jira UE-39760 Fix it to display tag query description on creation

Change 3335221 on 2017/03/07 by Lukasz.Furman

	fixed compilation errors for macros: UE_VLOG_MESH, UE_CVLOG_MESH
	#ue4

Change 3335733 on 2017/03/07 by dan.reynolds

	Fixing Attenuation Shape Material Reference

Change 3335918 on 2017/03/07 by Mike.Beach

	More deeply nesting an active world check in UMeshComponent::CacheMaterialParameterNameIndices(). Only guarding the parts that use the world (prior to this, we were blocking material parameter discovery, which was causing cooked content to loose material settings).

	#jira UE-42480

Change 3336053 on 2017/03/07 by zack.letters

	Moved and renamed test to meet naming convention and proper location

Change 3336087 on 2017/03/07 by Phillip.Kavan

	[UE-18618] Fix an ensure() misfire on PIE exit for listen server mode.

	change summary:
	- Modified UWorld::TransferBlueprintDebugReferences() to allow the LevelScript BP's target debug object reference to be reset to NULL when CreatePIEWorldBySavingToTemp() has recompiled it during the PIE startup process and autosaved the BP as a temporary.

	#jira UE-18618

Change 3336118 on 2017/03/07 by Phillip.Kavan

	Ensure that BP class component templates are included as preload dependencies where appropriate.

Change 3336418 on 2017/03/07 by Marc.Audy

	Set the PIEInstanceID before calling ConvertToPIEPackageName (4.15.1)
	#jira UE-42507

Change 3336529 on 2017/03/07 by dan.reynolds

	AEOverview UMG Interface

Change 3336729 on 2017/03/07 by Michael.Noland

	Blueprints: Changed a checkSlow() followed by unguarded access to an if and ensure() in BlueprintActionFilterImpl::IsDeprecated to prevent a potential crash in release if the node class is invalid for some reason
	#jira UE-42519

Change 3337054 on 2017/03/08 by Mieszko.Zielinski

	Fixed UGameplayTaskResource::AutoResourceID getting cleared on hot reload #UE4

Change 3337605 on 2017/03/08 by Mieszko.Zielinski

	PR #3345: Fix reversed comparison in FGameplayResourceSet::HasAllIDs (Contributed by hoelzl)

Change 3337612 on 2017/03/08 by Lina.Halper

	Commenting out ensure as this doesn't cause any harm and fix it up later by itself.
	- adding ticket for further investigation

	#rb: Martin.Wilson
	#jira: UE-42062

Change 3338353 on 2017/03/08 by Mike.Beach

	Undoing CL 3320099, and instead allowing self nodes to be plugged into const ref inputs. Now auto-generating ref terms for the self node (the input param expects an addressable UProperty). Skipping this for native functions, as UHT already does something similar.

	#jira UE-40861

Change 3340052 on 2017/03/09 by Marc.Audy

	Don't mark a blueprint dirty if the default value isn't actually set
	#jira UE-42511

Change 3340211 on 2017/03/09 by samuel.proctor

	Adding TMap/TSet tests for Containers Functional Test

Change 3340272 on 2017/03/09 by Marc.Audy

	auto removals
	small optimizations

Change 3340341 on 2017/03/09 by Marc.Audy

	Fortnite fixes for blueprint exposed editor only struct members
	#jira UE-42430

Change 3340356 on 2017/03/09 by Marc.Audy

	Do not allow blueprint exposed editor only struct members
	#jira UE-42430

Change 3340369 on 2017/03/09 by Mike.Beach

	Certain operations expect set/map elements to be constructed, instead of using an 'uninitialized' value (like with FStrings, previously this would blow up attempting to assign a value to an FString that hadn't been constructed). Fix is to construct the member when we make space in the container (emulating execSetArray).

	#jira UE-42572

Change 3340445 on 2017/03/09 by mason.seay

	Renamed and updated test map.  Also disabled tests until reviewed

Change 3340627 on 2017/03/09 by Marc.Audy

	Remove autos

Change 3340639 on 2017/03/09 by Dan.Oconnor

	Avoid CDO creation when asking if an object IsDefaultSubobject

Change 3340642 on 2017/03/09 by Marc.Audy

	Correctly maintain removed items from arrays when duplicating actors via T3D
	#jira UE-42278

Change 3340689 on 2017/03/09 by Dan.Oconnor

	Avoid UObject::Modify calls when renaming edgraph nodes as part of UEdGraphNode::PostLoad() or UEdGraph::MoveNodesToAnotherGraph

Change 3340709 on 2017/03/09 by Dan.Oconnor

	Remove misplace dClassDefaultObject null check for now

Change 3340710 on 2017/03/09 by Dan.Oconnor

	Avoid FindRedirectedPropertyName when performing StaticDuplicateObject

Change 3340728 on 2017/03/09 by Dan.Oconnor

	Null checking CDO so that we can duplicate a class with no CDO

Change 3342184 on 2017/03/10 by mason.seay

	Nav mesh generation test - not finished

Change 3342930 on 2017/03/13 by Mieszko.Zielinski

	Added missing undefining of local macros in VisualLoggerAutomationTests.cpp #UE4

Change 3343739 on 2017/03/13 by Marc.Audy

	Protect against ChildActorClass becoming null while ChildActorTemplate remains valid.

Change 3343758 on 2017/03/13 by Marc.Audy

	Ensure that when you change visibility, children also get marked dirty as needed.
	SetVisibility is no longer virtual, use OnVisibilityChanged in subclasses instead
	#jira UE-42240

Change 3343816 on 2017/03/13 by Mike.Beach

	Making sure we build CrashReporter for nativized clients.

	#jira UE-42056

Change 3343858 on 2017/03/13 by Phillip.Kavan

	Back out changelist 3336118 (per discussion) - did not solve the issue.

Change 3344218 on 2017/03/13 by Mike.Beach

	Patching some holes in the wildcard pin logic for our new array GetItem node (making sure the node properly retains its type).

Change 3344388 on 2017/03/13 by Mike.Beach

	Preventing make/break nodes from being in the context menu for structs that are not labeled 'BlueprintType' (still available if you drag off a node with a struct pin of that type).

	#jira UE-37971

Change 3344411 on 2017/03/13 by dan.reynolds

	AEOverviewMain update

	- Organized Variables

	- Added comments on level interface with UI script

Change 3344956 on 2017/03/14 by Marc.Audy

	Remove autos
	Slight optimization

Change 3345365 on 2017/03/14 by Mike.Beach

	In the Blueprint diff tool, no longer assuming that graph names are unique (using the outer path to find matching graphs between diff panels).

	#jira UE-42787

Change 3345565 on 2017/03/14 by Marc.Audy

	auto removal

Change 3345654 on 2017/03/14 by Marc.Audy

	Allow hierarchical metadata querying when HACK_HEADER_GENERATION is true

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

	#ue4 - Refactored CharacterMovementComponent determination of net send rate when combining moves into a virtual function GetClientNetSendDeltaTime(). Added configurable values to GameNetworkManager under [/Script/Engine.GameNetworkManager]:

	ClientNetSendMoveDeltaTime=0.0111f
	ClientNetSendMoveDeltaTime=0.0222f
	ClientNetSendMoveThrottleAtNetSpeed = 10000
	ClientNetSendMoveThrottleOverPlayerCount=10

	These are the default values maintained for backwards compat.

	Related to OR-36422.

Change 3346314 on 2017/03/14 by Dan.Oconnor

	Add two features to FBlueprintCompileReinstancer. Exposing it's CPFUO extensions and add a flag to avoid potentially unneeded CDO duplication.

Change 3346329 on 2017/03/14 by Dan.Oconnor

	Avoid CDO creation in UBlueprintGeneratedClass::PostLoad - rely instead on compiler

Change 3346436 on 2017/03/14 by Dan.Oconnor

	Compilation Manager iteration - improvements to reinstancing logic and postponement of reinstancing reference replacement until after loading has finished (done strictly to reduce the number of 'find references' calls). Behavior change is behind the GMinimalCompileOnLoad flag

Change 3346632 on 2017/03/14 by Ben.Zeigler

	Change StringClassReference customization to use MustImplement and BlueprintBaseOnly metadata, to match the metadata used by SubclassOf customization
	Add missing Class Property metadata to the metadata list

Change 3347525 on 2017/03/15 by Marc.Audy

	PR #3371: Fix for binding ability action to input component (Contributed by ryanjon2040)
	#jira UE-42810

Change 3347562 on 2017/03/15 by Phillip.Kavan

	[UE-32816] Support for value-based bitfield enum associations in the editor.

	notes:
	- default mode is still index-based, so there are no backwards-compatibility issues

	change summary:
	- new metadata key for flagging enums as value-based (UseEnumValuesAsMaskValuesInEditor)
	- modified SPropertyEditorNumeric::Construct() to include logic for handling value-based enum associations
	- modified SGraphPinInteger::Construct() to include logic for handling value-based enum associations
	- added default value fixup to UK2Node_BitmaskLiteral, so that changed/removed values get masked out on load
	- switched UK2Node_BitmaskLiteral::PostLoad() to Serialize(), so that default value fixup occurs before compilation

	#jira UE-32816

Change 3348030 on 2017/03/15 by Marc.Audy

	Remove experimental blueprintable components setting, they are supported fully

Change 3348034 on 2017/03/15 by Phillip.Kavan

	CIS fix.

Change 3348054 on 2017/03/15 by Marc.Audy

	Fix shadow error

Change 3348063 on 2017/03/15 by mason.seay

	Updateed bp logic to use asserts.  Added scenarios to descriptions of tests

Change 3348131 on 2017/03/15 by mason.seay

	Updating maps and reorganizing content

Change 3348146 on 2017/03/15 by Mike.Beach

	Making it so we can use DataTable variables as inputs in the GetDataTableRow node. The output pin is now a wildcard when the row type is undefined, and we throw an access error at runtime if the table and output type don't match.

Change 3348213 on 2017/03/15 by dan.reynolds

	AEOverview UMG Update

	- Added level selection persistence between categories (so you can pick and choose from multiple categories)

	- Added a clear all selections button

	- Added comments to the UMG BP

Change 3348344 on 2017/03/15 by Lukasz.Furman

	fixed missing path following result flag descriptions
	#ue4

Change 3348489 on 2017/03/15 by mason.seay

	Moved content and updated test descriptions

Change 3348496 on 2017/03/15 by Mike.Beach

	Keeping the new version of the GetArrayItem node from causing a stack overflow with wildcard reroute nodes.

Change 3348502 on 2017/03/15 by Ben.Zeigler

	#jira UE-42935 Fix several issues with GameplayTag and Container switch nodes crashing. Container didn't handling having multiple empty nodes correctly
	Fix general issue with Switch nodes where removing an execution pin with right click was not synchronizing the pin list properly
	Change it so the Container switch shows the simple tag string instead of Case 0, and change it to not quote by default for Container display strings

Change 3348504 on 2017/03/15 by Ben.Zeigler

	#jira UE-41554 Add GameplayTag initialization to InitializeObjectReferences if it hasn't been initialized yet, this is important so it gets initialized before being initialized from unsafe areas like Serialize

Change 3348512 on 2017/03/15 by Mike.Beach

	Reroute nodes connected to a new output, will propagate the type through its inputs (was previously treating the input's wildcard type as authoritative).

Change 3348513 on 2017/03/15 by Phillip.Kavan

	[UE-38979] Error out on an attempt to nativize a Blueprint class that also implements a native C++ interface with a pure virtual function declaration.

	change summary:
	- added TIsAbstract<T> for traits testing to see if native C++ types are abstract (in terms of C++, not UE4)
	- changed TCppStructOps::IsAbstract() to use TIsAbstract<T>
	- added UClass::CppClassOps to capture class-specific traits info for the underlying C++ class type
	- modified UClass::PurgeClass() to clean up class-specific traits info (if valid)
	- modified FNativeClassHeaderGenerator::ExportNativeGeneratedInitCode() to generate code to initialize class-specific traits info for compiled-in class types
	- modified FBlueprintNativeCodeGenModule::IsTargetedForReplacement() to throw an error during nativization if a target BP class is found to implement a native interface class that's also abstract (i.e. an interface class that declares one or more of its methods as pure virtual)
	- modified BlueprintActionFilterImpl::IsExtraneousInterfaceCall() to initially exclude any native interface class that is also abstract
	- modified FKismetEditorUtilities::CanBlueprintImplementInterface() to additionally exclude any native class that is also abstract
	- modified FBlueprintInterfaceFilter::IsClassAllowed() to additionally exclude any native class that is also abstract

	#jira UE-38979

Change 3348651 on 2017/03/15 by Mike.Beach

	Fixing the new GetDataTableRow node so that it'll give you the option of reroute nodes.

Change 3348684 on 2017/03/15 by Michael.Noland

	Blueprints: Allow string and text variables to be marked as multi-line

	PR #3294: UE-42147: Add multiline to BP view details (Contributed by projectgheist)

	#jira UE-42275

Change 3348691 on 2017/03/15 by Michael.Noland

	Cameras: Added support for specifying a default aspect ratio and whether or not to constrain to it in a camera manager subclass; useful when using custom view logic that doesn't source from a camera component as the view target
	PR #2593: Finish implementing aspect ratio handling for PlayerCameraManager (Contributed by CleanCut)
	#jira UE-33052

Change 3348698 on 2017/03/15 by Michael.Noland

	Removed a sprite reference from trigger shape classes and excluded some component references from camera rigs in cooked builds
	PR #2922: Ensuring editor data is not accessed when excluded from cook (Contributed by moritz-wundke)

	#jira UE-38484

Change 3348722 on 2017/03/15 by Dan.Oconnor

	Fix replacement bug - due to last minute refactor of this reference replacer call

Change 3348736 on 2017/03/15 by Michael.Noland

	Blueprints: Added missing include for UTextProperty (compiled fine locally both with the file checked out and the file unmodified)

Change 3348810 on 2017/03/15 by Michael.Noland

	Blueprints: Added support for seeing the user defined tooltip on get/set nodes for local variables
	PR #3256: UE-41098: Added UFunction argument (Contributed by projectgheist)

Change 3348811 on 2017/03/15 by Michael.Noland

	PR #3380: Added CancelAbility Blueprint node (Contributed by ryanjon2040)

	#jira UE-42904

Change 3348969 on 2017/03/15 by Dan.Oconnor

	Build fix

Change 3349023 on 2017/03/16 by Aaron.McLeran

	Copying //Tasks/UE4/Private-GDC17-Audio to Dev-Framework (//UE4/Dev-Framework)

Change 3349389 on 2017/03/16 by mason.seay

	Finished up Navigation map.  Improved Navmesh map (still needs some work before review)

Change 3349575 on 2017/03/16 by Marc.Audy

	Emit ScriptMacros.h in addition to ObjectMacros.h in generated headers

Change 3349628 on 2017/03/16 by Ben.Zeigler

	Add direct support for Chunk setting to AssetManager. If AssetManager exists and no game callback is set it uses the new, much faster method. Otherwise it falls back to the old one
	Fix some memory corruption issues in ChunkManifestGenerator where it was modifying a map while iterating it, could lead to assets ending up in multiple chunks accidentally
	Remove the "Old Cooker" entirely, it hasn't functioned since around 4.9
	Various fixes to AssetManagerEditorModule
	Convert ShooterGame to use the AssetManager for chunking

Change 3349629 on 2017/03/16 by Ben.Zeigler

	Change Fortnite to use the AssetManager chunking system, which simplifies the chunk 1 setup significantly
	Also includes changes made on Fortnite Branch as  CL #3323724:
	Fortnite changes to take advantage of the Manage dependency in the asset manager
	Move definition of asset types to ini from native, and simplify it so all zone themes are scanned, even if not used
	Make FeedbackBank a primary asset type. It's currently editor only as there are some outdated banks we don't want to cook

Change 3350043 on 2017/03/16 by Marc.Audy

	Fix Audio compile errors

Change 3350092 on 2017/03/16 by Dan.Oconnor

	Fix missing output parameters when the function result node is pruned

Change 3350190 on 2017/03/16 by Ben.Zeigler

	CIS fix

Change 3350707 on 2017/03/16 by Dan.Oconnor

	Add means of enabling BlueprintCompilationManager via editor ini. Wedging the check into LaunchEngineLoop because of assets that are loaded during engine initialization

Change 3350820 on 2017/03/16 by Joe.Conley

	Xenakis project: Setting GameMode to GameMode instead of None so the game doesn't crash on Play

Change 3350893 on 2017/03/16 by Dan.Oconnor

	Build fix

Change 3351017 on 2017/03/16 by Dan.Oconnor

	Using ordered arguments instead of named arguments improves load time in BP heavy projects

Change 3351056 on 2017/03/16 by Dan.Oconnor

	Avoiding Copies

Change 3351062 on 2017/03/16 by Dan.Oconnor

	Enable BlueprintCompilationManager by default - this is a major change in code path when loading uassets that contain blueprints

Change 3351770 on 2017/03/17 by Marc.Audy

	Fix CIS warnings

Change 3351818 on 2017/03/17 by Mike.Beach

	CopyPropertiesForUnrelatedObjects() will now only copy tagged data when the two objects truly are unrelated (different native base classes). We have to do this because the two native base classes may have different serialization methods that add/expect different data, which is not compatible with the other.

	#jira UE-35970

Change 3351918 on 2017/03/17 by Mike.Beach

	CIS fix - renaming local so it doesn't conflict with the one in the outer scope.

Change 3351931 on 2017/03/17 by Ben.Zeigler

	Make CoreRedirects a proper Automated Test, and fix a test failure with not handling : in the output string
	Fix legitimate regression where doing a package -> package rename would clear Outer, this was a result of a fix I made in Main a few weeks ago

Change 3351956 on 2017/03/17 by Dan.Oconnor

	Make sure result element is emptied when calling Intersect, Union, or Difference
	#jira UE-42993

Change 3352049 on 2017/03/17 by Ben.Zeigler

	#Jira UE-42118 Add RemoveGameplayTag to the tag blueprint library
	Delete (with redirector) redundant AddGameplayTagToContainer function that got accidentally added in parallel on Fortnite. Decided to keep the shorter TagContainer parameter name for both though

Change 3352065 on 2017/03/17 by Aaron.McLeran

	Fixing compile errors

	- deleting unused files
	- removing #pragma once in SSynthKnob.cpp
	- Making phonon have win64 whitelist to avoid compiling on other platforms

Change 3352100 on 2017/03/17 by Aaron.McLeran

	Fixing compile errors

	- Moving header file to public folder since it's used outside of module

Change 3352182 on 2017/03/17 by Ben.Zeigler

	#jira UE-39815 Fix several issues with renaming tags in the tag settings view, it now deletes redirectors properly when renaming or making a new tag that matches an existing redirector

Change 3352286 on 2017/03/17 by Ben.Zeigler

	#jira UE-39519 Add error messages when only one of GameMode/GameState is derived from the outdated parent classes
	Modified version of PR #3285: Add error log messages if the GameMode/GameState are mis-matched (Contributed by jwatte)

Change 3352299 on 2017/03/17 by Ben.Zeigler

	#jira UE-40544
	PR #3130: UE-40544: Check pause state if state change is allowed (Contributed by projectgheist)

Change 3352303 on 2017/03/17 by Ben.Zeigler

	#jira UE-40856
	Commit PR #3147:  Remove unnecessary directory separator for GetSaveGamePath  (Contributed by projectgheist)
	Remove unnecessary FString casting and in OpenGLDebugFrameDump.cpp there were FString multiplications that would never compile

Change 3352320 on 2017/03/17 by Ben.Zeigler

	#jira UE-40087 Fix it so console keybind can be used in shipping games with console enabled
	Commit PR #3079: Fix ALLOW_CONSOLE define usage (Contributed by KrisRedbeard)

Change 3352338 on 2017/03/17 by Ben.Zeigler

	#jira UE-42800
	PR #3367: Made CheatManager more useful for non-FPShooters (Contributed by crumblycake)

Change 3352352 on 2017/03/17 by Dan.Oconnor

	Emptying map instead of trying to remove an element when conversion of a value type fails - can't remove a single element until the map is rehashed
	#jira UE-42937

Change 3352581 on 2017/03/17 by Lukasz.Furman

	fixed memory leak in navmesh generators
	copy of CL# 3352356
	#ue4

Change 3352665 on 2017/03/17 by Aaron.McLeran

	Fixing build error

	- Adding virtual destructor to FSoundWaveSoundWaveAssetActionExtender
	- Also renamed the class to only include SoundWave once!
	- Fixing static analysis warning on null deref.

Change 3352685 on 2017/03/17 by Dan.Oconnor

	Fix for bad behavior of GetValues and GetKeys functions when there are gaps in a TMap (e.g. due to Remove calls)
	#jira UE-42547

Change 3352706 on 2017/03/17 by Aaron.McLeran

	Fixing build error

	Changing TSharedPtr<FSoundWaveSoundWaveAssetActionExtender> to TSharedPtr<ISoundWaveAssetActionExtensions>

Change 3352708 on 2017/03/17 by Dan.Oconnor

	Data only and interface blueprints need SkeletonGeneratedClass set on load so that they can be used by the BlueprintEditor

	#jira UE-43023

Change 3352860 on 2017/03/17 by Lukasz.Furman

	fixed memory leak in navmesh generators
	copy of CL# 3352849
	#ue4

Change 3352967 on 2017/03/17 by Dan.Oconnor

	Avoid tagging blueprints as modified while compiling with the new compilation manager. Leaving old code path unaffected, although it may benefit from this change.

	#jira UE-43027

Change 3352979 on 2017/03/17 by Dan.Oconnor

	Static analysis driven fixes

	#jira UE-43044

Change 3352987 on 2017/03/17 by Aaron.McLeran

	Fixing build error

	- Removing myo from other platforms, win64 only

Change 3353234 on 2017/03/18 by Marc.Audy

	Fix Win32 build

Change 3353344 on 2017/03/19 by Marc.Audy

	Fix cyclic includes in new Audio code

Change 3353350 on 2017/03/19 by Marc.Audy

	Disable static analysis for myo third party code

Change 3353750 on 2017/03/20 by Marc.Audy

	Fix additional cyclic include

Change 3353926 on 2017/03/20 by Mieszko.Zielinski

	Made FNavAgentProperties::GetExtent return INVALID_NAVEXTENT if prop's AgentRadius is not set #UE4

	This results in using FNavAgentProperties::DefaultProperties in navigation system queries to fallback to default query extent.

	#jira UE-18493

Change 3354249 on 2017/03/20 by Mike.Beach

	Raising a UHT error if you use a non-byte enum type in a Blueprint function. Blueprints currently only support uint8 enums (already an error if you tag the enum with 'BlueprintType', this error just emulates/extends that one).

	#jira UE-42479

Change 3354464 on 2017/03/20 by Dan.Oconnor

	Fix missing source path when using compilation manager

Change 3354499 on 2017/03/20 by Dan.Oconnor

	Disable compilation manager

Change 3354620 on 2017/03/20 by Ben.Zeigler

	#jira UE-43087 Fix crash when calling HasGPUEmitter on a Server build, this is newly an issue because it is calling GetAssetRegistryTags in more places than it used to

Change 3354714 on 2017/03/20 by Michael.Noland

	PR #3352: Fixed issue with diffed Blueprints being searchable (Contributed by MichaelSchoell)

	#jira UE-42655

Change 3354718 on 2017/03/20 by Michael.Noland

	Engine: Change FViewport::IsGameRenderingEnabled to be static
	PR #3317: FViewport::IsGameRenderingEnabled (Contributed by tomix1024)

	#jira UE-42471

Change 3354721 on 2017/03/20 by Michael.Noland

	PR #3293: Made GetDefaultLocale accessible in blueprint (Contributed by derekvanvliet)

	#jira UE-42274

Change 3354907 on 2017/03/20 by Aaron.McLeran

	Fixing content in xenakis map

Change 3355223 on 2017/03/20 by Ben.Zeigler

	#jira UE-43096 Fix crash when trying to ResolveName a path that ends in . (apparently when you LoadObject empty string, it ends up trying to load "." before giving up

Change 3355297 on 2017/03/20 by Dan.Oconnor

	Fix incorrect flag settings from fast skeleton path.. this is part of the fix for UE-43083

Change 3355373 on 2017/03/20 by Michael.Noland

	PR #3222: Allow Blueprint Variables to be Readonly (Contributed by FrostByteGER)

	#jira UE-41640

Change 3355417 on 2017/03/20 by Ben.Zeigler

	Fix formatting bug where I forgot some braces

Change 3355462 on 2017/03/20 by Aaron.McLeran

	UE-43046 Property type changed with no possible conversion

	Resaved asset in question

Change 3355629 on 2017/03/20 by Dan.Oconnor

	Don't warn the user when their return node that has no pins (other than an exec pin). These return nodes cannot be deleted and connecting them does nothing. Prior to recent changes the warning never fired because the return node would be pruned and not validated.

Change 3355631 on 2017/03/20 by Dan.Oconnor

	Fix compilation results spam in compilation manager. Scoped compiler events (e.g. BP_SCOPED_COMPILER_EVENT_STAT(EKismetCompilerStats_CompileTime);) will flush the results log if no 'event' has been started. Timing data collected via this mechanism will not be useful (can only measure entire call to ::Flush in compilation manager)

Change 3356127 on 2017/03/21 by Richard.Hinckley

	#jira UEDOC-4711
	Updated an invalid/old URL in a comment to a valid/current URL.

Change 3356193 on 2017/03/21 by Marc.Audy

	Temporarily remove editor only properties in FCameraFocusSettings until we correctly no longer create pins for struct properties that are not exposed to blueprints
	#jira UE-43420

Change 3356222 on 2017/03/21 by Marc.Audy

	Expose new attenuation settings to blueprints to resolve cook warnings.

Change 3356286 on 2017/03/21 by Richard.Hinckley

	#jira UEDOC-4711
	Selected a different URL for the update.

Change 3356339 on 2017/03/21 by Marc.Audy

	Delete unconnected return nodes to fix fortnite cook warnings

Change 3356827 on 2017/03/21 by Ben.Zeigler

	Explicitly disable copy operations for streamable manager objects. This may be causing some obscure crashes like WEX-5182 but I am not sure how the copy constructor would be getting called. Either way it's unsafe
	Put in protection against passing in duplicate items to RequestAsyncLoad, which is another possible cause of internal data corruption
	Add some more ensures to track down possible issues with handle corruption

Change 3356920 on 2017/03/21 by Ben.Zeigler

	Fix ensure just checked in to not go off when handles are halfway through being cancelled

Change 3358152 on 2017/03/22 by Phillip.Kavan

	#jira UE-43102 - Fix an occasional crash on load in nativized EDL-enabled builds with non-nativized child BPs.

	Change summary:
	- Modified AActor::PostLoadSubobjects() to skip the CheckAndApplyComponentTemplateOverrides() call in the CDO case; at that point the ICH may not be fully loaded, but we don't require the non-nativized child BP's CDO to be fixed up anyway.

[CL 3358685 by Marc Audy in Main branch]
2017-03-22 12:57:30 -04:00
Ben Marsh
20bf0eb6a1 Updating copyright notices to 2017 (copying from //Tasks/UE4/Dev-Copyright-2017).
#rb none
#lockdown Nick.Penwarden

[CL 3226823 by Ben Marsh in Main branch]
2016-12-08 08:52:44 -05:00
Ben Marsh
4ba423868f Copying //UE4/Dev-Build to //UE4/Dev-Main (Source: //UE4/Dev-Build @ 3209340)
#lockdown Nick.Penwarden
#rb none

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

Change 3209340 on 2016/11/23 by Ben.Marsh

	Convert UE4 codebase to an "include what you use" model - where every header just includes the dependencies it needs, rather than every source file including large monolithic headers like Engine.h and UnrealEd.h.

	Measured full rebuild times around 2x faster using XGE on Windows, and improvements of 25% or more for incremental builds and full rebuilds on most other platforms.

	  * Every header now includes everything it needs to compile.
	        * There's a CoreMinimal.h header that gets you a set of ubiquitous types from Core (eg. FString, FName, TArray, FVector, etc...). Most headers now include this first.
	        * There's a CoreTypes.h header that sets up primitive UE4 types and build macros (int32, PLATFORM_WIN64, etc...). All headers in Core include this first, as does CoreMinimal.h.
	  * Every .cpp file includes its matching .h file first.
	        * This helps validate that each header is including everything it needs to compile.
	  * No engine code includes a monolithic header such as Engine.h or UnrealEd.h any more.
	        * You will get a warning if you try to include one of these from the engine. They still exist for compatibility with game projects and do not produce warnings when included there.
	        * There have only been minor changes to our internal games down to accommodate these changes. The intent is for this to be as seamless as possible.
	  * No engine code explicitly includes a precompiled header any more.
	        * We still use PCHs, but they're force-included on the compiler command line by UnrealBuildTool instead. This lets us tune what they contain without breaking any existing include dependencies.
	        * PCHs are generated by a tool to get a statistical amount of coverage for the source files using it, and I've seeded the new shared PCHs to contain any header included by > 15% of source files.

	Tool used to generate this transform is at Engine\Source\Programs\IncludeTool.

[CL 3209342 by Ben Marsh in Main branch]
2016-11-23 15:48:37 -05:00
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
Marc Audy
464b9c832f Fixing UnrealHeaderTool Mac compile errors post integration
#codereview Robert.Manuszewski
#lockdown Nick.Penwarden

[CL 2772477 by Marc Audy in Main branch]
2015-11-18 17:55:10 -05:00
Robert Manuszewski
f9cdeb96cd Copying //UE4/Dev-Core to //UE4/Main
==========================
MAJOR FEATURES + CHANGES
==========================

Change 2717513 on 2015/10/06 by Robert.Manuszewski@Robert_Manuszewski_EGUK_M1

	GC and WeakObjectPtr performance optimizations.

	- Moved some of the EObjectFlags to EInternalObjectFlags and merged them with FUObjectArray
	- Moved WeakObjectPtr serial numbersto FUObjectArray
	- Added pre-allocated UObject array

Change 2716517 on 2015/10/05 by Robert.Manuszewski@Robert_Manuszewski_EGUK_M1

	Make SavePackage thread safe UObject-wise so that StaticFindObject etc can't run in parallel when packages are being saved.

Change 2721142 on 2015/10/08 by Mikolaj.Sieluzycki@Dev-Core_D0920

	UHT will now use makefiles to speed up iterative runs.

Change 2726320 on 2015/10/13 by Jaroslaw.Palczynski@jaroslaw.palczynski_D1732_2963

	Hot-reload performance optimizations:
	1. Got rid of redundant touched BPs optimization (which was necessary before major HR fixes submitted earlier).
	2. Parallelized search for old CDOs referencers.

Change 2759032 on 2015/11/09 by Graeme.Thornton@GThornton_DesktopMaster

	Dependency preloading improvements
	 - Asset registry dependencies now resolve asset redirectors
	 - Rearrange runtime loading to put dependency preloads within BeginLoad/EndLoad for the source package

Change 2754342 on 2015/11/04 by Robert.Manuszewski@Robert_Manuszewski_Stream1

	Allow UnfocusedVolumeMultiplier to be set programmatically

Change 2764008 on 2015/11/12 by Robert.Manuszewski@Robert_Manuszewski_Stream1

	When cooking, don't add imports that are outers of objects excluded from the current cook target.

Change 2755562 on 2015/11/05 by Steve.Robb@Dev-Core

	Inline storage for TFunction.
	Fix for delegate inline storage on Win64.
	Some build fixes.
	Visualizer fixes for new TFunction format.

Change 2735084 on 2015/10/20 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec

	CrashReporter Web - Search by Platform
	Added initial support for streams (GetBranchesAsListItems, CopyToJira)

Change 2762387 on 2015/11/11 by Steve.Robb@Dev-Core

	Unnecessary allocation removed when loading empty files in FFileHelper::LoadFileToString.

Change 2762632 on 2015/11/11 by Steve.Robb@Dev-Core

	Some TSet function optimisations:

	Avoiding unnecessary hashing of function arguments if the container is empty (rather than the hash being empty, which is not necessarily equivalent).
	Taking local copies of HashSize during iterations.

Change 2762936 on 2015/11/11 by Steve.Robb@Dev-Core

	BulkData zero byte allocations are now handled by an RAII object which owns the memory.

Change 2765758 on 2015/11/13 by Steve.Robb@Dev-Core

	FName::operator== and != optimised to be a single comparison.

Change 2757195 on 2015/11/06 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec

	PR #1305: Improvements in CrashReporter for Symbol Server usage (Contributed by bozaro)

Change 2760778 on 2015/11/10 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec

	PR #1725: Fixed typos in ProfilerCommon.h; Added comments (Contributed by BGR360)

	Also fixed starting condition.

Change 2739804 on 2015/10/23 by Robert.Manuszewski@Robert_Manuszewski_Stream1

	PR #1470: [UObjectGlobals] Do not overwrite instanced subobjects with ones from CDO (Contributed by slonopotamus)

Change 2744733 on 2015/10/28 by Steve.Robb@Dev-Core

	PR #1540 - Specifying a different Saved folder at launch through a command line parameter

	Integrated and optimized.

#lockdown Nick.Penwarden

[CL 2772222 by Robert Manuszewski in Main branch]
2015-11-18 16:20:49 -05:00
Jaroslaw Palczynski
adecd4aaad UHT: Allows defining multiple UCLASSes in one header file.
[CL 2412156 by Jaroslaw Palczynski in Main branch]
2015-01-20 09:33:54 -05:00