Commit Graph

78 Commits

Author SHA1 Message Date
charles lefebvre
2bf5a3030e Redo CL18328294, but compare decltype instead of comparing functions addresses as this is an undefined behavior with virtual function
Add a InitNotifyFlags function to UBTAuxiliaryNode, UBTTaskNode, UBTCompositeNode, UBTDecorator and UBTService to setup the various flags that must be set when some functions are overriden.
Add macros to call those functions, this is necessary as those functions are protected.
Use those macros in various nodes (not all of them, this is not possible for some blueprint tasks)
#tests PIE
Maxime.Mercier, Karl.Dubois, Guillaume.Arruda
[FYI] nicolas.bonnelly, Guillaume.Guay, Loic.Devaux,  Mieszko.Zielinski, Guillaume.Morreel
#rnx

#ROBOMERGE-AUTHOR: charles.lefebvre
#ROBOMERGE-SOURCE: CL 18385614 via CL 18385628 via CL 18385644 via CL 18434568 via CL 18435684
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v897-18405271)

[CL 18436637 by charles lefebvre in ue5-release-engine-test branch]
2021-12-10 19:21:13 -05:00
karl dubois
d1542bc1f3 [Backout] - CL18328294
- Part 2/2 of removing CL18339735 & CL18328294. These changes cause multiple unresponsive AIs.

Original CL Desc
-----------------------------------------------------------------
Add a InitNotifyFlags function to UBTAuxiliaryNode, UBTTaskNode, UBTCompositeNode  and UBTDecorator to setup the various flags that must be set when some functions are overriden.
Add macros to call those functions, this is necessary as those functions are protected.
Use those macros in various nodes (not all of them, this is not possible for some blueprint tasks)

#tests 100% repro in local cooked builds in Test targets.
[FYI] charles.lefebvre, Maxime.Mercier, Mieszko.Zielinski, nicolas.bonnelly, Guillaume.Guay
#rb guillaume.morreel, loic.devaux
#rnx

#ROBOMERGE-AUTHOR: karl.dubois
#ROBOMERGE-SOURCE: CL 18349522 via CL 18349525 via CL 18349530 via CL 18349715 via CL 18349725
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v895-18170469)

[CL 18350095 by karl dubois in ue5-release-engine-test branch]
2021-12-02 02:14:13 -05:00
charles lefebvre
29a9d30219 Add a InitNotifyFlags function to UBTAuxiliaryNode, UBTTaskNode, UBTCompositeNode and UBTDecorator to setup the various flags that must be set when some functions are overriden.
Add macros to call those functions, this is necessary as those functions are protected.
Use those macros in various nodes (not all of them, this is not possible for some blueprint tasks)
#tests PIE
[REVIEW] Maxime.Mercier, Mieszko.Zielinski
[FYI] nicolas.bonnelly, karl.dubois, Guillaume.Guay, Loic.Devaux
#rnx

#ROBOMERGE-AUTHOR: charles.lefebvre
#ROBOMERGE-SOURCE: CL 18328294 via CL 18328312 via CL 18328326 via CL 18329146 via CL 18329236
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v895-18170469)

[CL 18329324 by charles lefebvre in ue5-release-engine-test branch]
2021-11-30 14:51:14 -05:00
yoan stamant
8548ae5b84 [FAITestHelpers] added optional outer parameter to NewAutoDestroyObject
#rnx
#preflight 6113cb9fafd67e00011b0e5f

#ROBOMERGE-SOURCE: CL 17138068 via CL 17139227
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v855-17104924)

[CL 17139536 by yoan stamant in ue5-release-engine-test branch]
2021-08-11 14:25:48 -04:00
aurel cordonnier
25a11deeac Merge from Release-Engine-Staging @ 16579919
This represents UE4/Main @ 16579691 and Dev-PerfTest @ 16579576

[CL 16581170 by aurel cordonnier in ue5-release-engine-test branch]
2021-06-07 20:09:45 -04:00
Marc Audy
e80ea6b959 Merge from Release-Engine-Staging @ 16444985
This represents UE4/Main @ 16445039 and Dev-PerfTest @ 16444526

[CL 16445122 by Marc Audy in ue5-release-engine-test branch]
2021-05-25 02:43:26 -04:00
yoan stamant
4fb489fe26 [AITestSuite] Added actor to the MockAI for VLOG support
#rb maxime.mercier

#ROBOMERGE-SOURCE: CL 16365382 in //UE5/Private-Frosty/... via CL 16370667
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v804-16311228)

[CL 16370729 by yoan stamant in ue5-release-engine-test branch]
2021-05-18 13:23:27 -04:00
Andrew Davidson
3ddc3a4da3 Merge up from //UE5/Dev-LargeWorldCoordinates
#rb none

[CL 16211417 by Andrew Davidson in ue5-main branch]
2021-05-05 15:07:25 -04:00
Mieszko Zielinski
62e8599380 More Pipe unit testing
Successful reflight at https://horde.devtools.epicgames.com/job/6048bcf0ecdf57000140ae12 not submitted due to "internal error". May be due to missing "okforgithub" tag. Submitting manually.

#review-15656279

[CL 15665334 by Mieszko Zielinski in ue5-main branch]
2021-03-10 09:30:08 -04:00
Marc Audy
cac1fe0019 Merge UE5/Release-Engine-Staging @ CL# 15299266 to UE5/Main
This represents UE4/Main @ CL# 15277572

[CL 15299962 by Marc Audy in ue5-main branch]
2021-02-03 14:57:28 -04:00
Zousar Shaker
3b4c8fc1c5 Automated wrapped object pointer upgrade for Engine + ShooterGame + ShooterGame referenced plugins
#rb none

[CL 15224650 by Zousar Shaker in ue5-main branch]
2021-01-27 17:40:25 -04:00
Marcus Wassmer
3b81cf8201 Merging using //UE5/Main_to_//UE5/Release-Engine-Staging @14384769
autoresolved files
#rb none

[CL 14384911 by Marcus Wassmer in ue5-main branch]
2020-09-24 00:43:27 -04:00
Marc Audy
a7c9001a94 Merging //UE5/Release-Engine-Staging to Main (//UE5/Main) @ 14075166
#rb
#rnx

[CL 14075271 by Marc Audy in ue5-main branch]
2020-08-11 01:36:57 -04:00
robert manuszewski
b7568cc694 Fix for UE-90683: You can no longer delete conflicting variables
Refactored FindField into FindUField and FindFProperty to avoid confusion caused by the fact that FindField<UField> will no longer return FProperties.

#jira UE-90683
#rb Steve.Robb
#tests Basic editor functionality test, cooked and ran PC client and server, bot soak tests for two hours

#ROBOMERGE-OWNER: robert.manuszewski
#ROBOMERGE-AUTHOR: robert.manuszewski
#ROBOMERGE-SOURCE: CL 12190998 in //UE4/Release-4.25/... via CL 12190999
#ROBOMERGE-BOT: RELEASE (Release-4.25Plus -> Main) (v661-12148976)

[CL 12191300 by robert manuszewski in Main branch]
2020-03-15 10:33:45 -04:00
ryan durand
471d972e62 Updating copyright for Engine Developer.
#rnx
#rb none


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

[CL 10870584 by ryan durand in Main branch]
2019-12-26 15:32:37 -05:00
Robert Manuszewski
7b6f840f7f Copying //UE4/Dev-Core @ 10708550 to Dev-Main (//UE4/Dev-Main)
#rb none

[CL 10708666 by Robert Manuszewski in Main branch]
2019-12-13 11:07:03 -05:00
Ben Marsh
7598af0532 Update copyright notices to 2019.
#rb none
#lockdown Nick.Penwarden

[CL 4662404 by Ben Marsh in Main branch]
2018-12-14 13:41:00 -05:00
Mieszko Zielinski
e7d53f14f9 Fixed GC-related crashes in AITesting framework due to using unreferenced BT assets #UE4
#rb Lukasz.Furman
#jira none

[CL 4117566 by Mieszko Zielinski in Dev-Framework branch]
2018-06-07 04:40:20 -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
Marc Audy
78ce1089a6 Copying //UE4/Dev-Framework to //UE4/Dev-Main (Source: //UE4/Dev-Framework @ 3716594)
#lockdown Nick.Penwarden

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

Change 3623720 by Phillip.Kavan

	#jira UE-49239 - Temp fix for QAGame animations not updating in a nativized build.

	Change summary:
	- Temporarily excluded all AnimBP assets from nativization as a workaround.

Change 3626305 by Phillip.Kavan

	#jira UE-49269 - Workaround fix for crash after packaging a nativized QAGame build with all AnimBP assets disabled for nativization by default.

Change 3629145 by Marc.Audy

	Don't hide developer nativization tool behind ini

Change 3630849 by Marc.Audy

	Fix nativization uncompilable code when using a non-referenceable term in a switch statement.
	#jira UE-44085

Change 3631037 by Marc.Audy

	(4.17.2) Fix crash when nativizing blueprint with MakeMap or MakeSet node in it
	#jira UE-49440

Change 3631206 by Marc.Audy

	Make NAME_None == TEXT("") behave the same as NAME_None == FName(TEXT(""))

Change 3631232 by Marc.Audy

	Remove outdated diagnostic code throwing false positives
	#jira UE-47986

Change 3631573 by Marc.Audy

	Fix containers of vector, rotator, or transform placing a space between the type and the pluralization 's'

Change 3633168 by Lukasz.Furman

	fixed behavior tree changing its state during latent abort,
	modified order of operations during abort to: abort & wait -> change aux nodes -> execute

Change 3633609 by Marc.Audy

	Don't get unneeded string

Change 3633691 by Marc.Audy

	Fix copy-pasting of a collapsed graph containing a map input losing the value type
	#jira UE-49517

Change 3633967 by Ben.Zeigler

	Actor.h header cleanup, fix various comments and reorganize some members,  saves 80 bytes per actor in a cooked Win64 build
	bRunningUserConstructionScript is now private, exposed with IsRunningUserConstructionScript
	Fixed a few other fields to be private that were accidentally made public in 4.17

Change 3633984 by Michael.Noland

	Blueprints: Fixed a potential crash when collapsing nodes to a function when a potential entry pin had no links

Change 3634464 by Ben.Zeigler

	Header cleanups for Pawn, Controller, Character, and PlayerController

Change 3636858 by Marc.Audy

	In preview worlds don't display the light error sprite
	#jira UE-49555

Change 3636903 by Marc.Audy

	Fix numerous issues with copy/pasting editable pin bases
	#jira UE-49532

Change 3638898 by Marc.Audy

	Allow right-click creation of local variables in blueprint function libraries
	#jira UE-49590

Change 3639086 by Marc.Audy

	PR #4006: Mark UEdGraphSchema::BreakSinglePinLink as const (Contributed by leyyin)
	#jira UE-49591

Change 3639445 by Marc.Audy

	Fix mistaken override and virtual markup on niagara schema function.

Change 3641202 by Marc.Audy

	(4.17.2) Fix crash undoing pin changes with split pins
	#jira UE-49634

Change 3643825 by Marc.Audy

	(4.17.2) Fix crash right clicking a struct pin when the struct it represented has been deleted
	#jira UE-49756

Change 3645110 by mason.seay

	Fixed up QA-ClickHUD map so it's usable and makes more sense

Change 3646428 by Dan.Oconnor

	Fix for UbergraphFrame layout changing during bytecode recompile, which would cause actual ubergraph frame layout to mismatch reflection data
	#jira None

Change 3647298 by Marc.Audy

	PR #4016: Rename argument name for SetInputMode (Contributed by projectgheist)
	#jira UE-49748

Change 3647815 by Marc.Audy

	Minor performance improvements

Change 3648931 by Lina.Halper

	#Compiler : fixed so that each type of BP can provide module info, and compiler info
	- Moved out AnimBlueprint Compiler
	- Refactored WidgetBlueprint

	- DUPE - Merging using ControlRig_Dev-Framework

Change 3654310 by Marc.Audy

	Shrink USkinnedMeshComponent 64 bytes
	Shrink USkeletalMeshComponent 224 bytes (160 bytes internal)

Change 3654636 by Lina.Halper

	Fix crashing on shutdown

	#jira: UE-50004

Change 3654960 by Lina.Halper

	- Fix with automation test of creation/duplication
	- Fixed shut down crash with editor again due to uobject GCed

	#jira: UE-50028

Change 3655023 by Ben.Zeigler

	#jira UE-50101 Fix level streaming transform when PIE-duplicating a level that has been preloaded but not made visible in the editor. Instead of always saying actors have been moved we copy the source level's flag

Change 3655426 by Ben.Zeigler

	#jira UE-50019 Fix issue where StreamableManager could return objects that are partially loaded if called from PostLoad. StreamableManager never wants half-loaded objects, so change it to explicitly skip them

Change 3657627 by Ben.Zeigler

	#jira UE-50157 Fix EDL load dependency issue where the simple construction script/ICH are not guaranteed to be serialized in time for subobject construction

Change 3662086 by Mieszko.Zielinski

	Fixed navmesh not loading properly in PIE when owning world has been duplicated-for-play #UE4

	This can happen when navigation containing level is loaded via AsyncLoadPrimaryAssetList

	#jira UE-50101

Change 3662294 by Ben.Zeigler

	Fix enum redirects to handle non-class enums properly where a value redirect is not specified. It needs to convert from EOldEnum::Value to ENewEnum::Value before doing the name check

Change 3662825 by Mieszko.Zielinski

	Fixed VisLog debug drawing crashing when using UI to change log lines to be displayed #UE4

	there was a loop iterating over elements of a map and was modifying the map as it went, which is a big no-no

Change 3664424 by Marc.Audy

	UE-50076 test assets #rb none #rnx

Change 3664441 by Mieszko.Zielinski

	PR #3993: UE-25907: Added logging to Log Text, Log Location, and Log Box Shape (Contributed by projectgheist)

	Piggybacking on this PR I've redone how visual log is using categories. Now it's using FName rather than FLogCategoryBase to indicated log category. All UE_VLOG macros have been updated.


Change 3664506 by Phillip.Kavan

	#jira UE-47852 - Fix various issues with both UAT/UBT-driven and manually-configured code/data build workflows involving nativized Blueprint assets.

	Change summary:
	- UAT: Removed '-nativizedAssets' command-line option. It's no longer required to specify this flag when cooking/building in order to enable nativization.
	- UAT: Removed AutomationTool.ProjectParams.BlueprintPluginPaths.
	- UAT: Modified AutomationTool.ProjectParams.ProjectParams() to initialize the 'RunAssetNativization' field based on the current 'BlueprintNativizationMethod' config setting. This flag is now used just to direct UAT to defer invoking UBT for '-build' until after the '-cook' stage has finished.
	- UAT: Modified BuildCookRun.DoBuildCookRun() to remove the 'bWarnIfPackagedWithoutNativizationFlag' case (since we removed the '-nativizedAssets' command-line option).
	- UAT: Removed Project.AddBlueprintPluginPathArgument() and Project.GetBlueprintPluginPathArgument(). These utility functions are no longer needed.
	- UAT: Modified Project.Cook() to remove the registration of each NativizedAssets plugin path for '-build' along with the addition of the '-nativizedAssets' argument with the platform-agnostic path to the NativizedAssets plugin when invoking UE4Editor.exe for '-cook'. This is now handled by the UE4Editor cook commandlet instead.
	- UAT: Modified Project.Build() to remove the addition of the '-plugin' argument with the path to the NativizedAssets plugin when invoking UBT for '-build'. This is now handled by UBT instead.
	- UBT: Modified UnrealBuildTool.ProjectFileGenerator.DiscoverExtraPlugins() to remove the previously-added search for intermediate plugin assets based on the 'AdditionalPluginDirectories' optionally found in the .uproject file. Instead, this search is now handled via a Plugins.EnumeratePlugins() LINQ query. It is also gated by a new Advanced project setting in DefaultGame.ini that defaults to off, but this way users can still add generated assets into the solution file.
	- UBT: Added UnrealBuildTool.UEBuildTarget.ShouldIncludeNativizedAssets() as a utility method for checking the current 'BlueprintNativizationMethod' setting in the game's config file.
	- UBT: Modified UnrealBuildTool.UEBuildTarget.CreateTarget() to confirm the existence of a NativizedAssets plugin (generated at cook time) when the project is configured for nativization. If the plugin is found, it is added to the RulesAssembly chain and the ProjectDescriptor.ForeignPlugins list. If the plugin is not found, then a BuildException is thrown informing the user that the plugin must exist in order to build (with a note to make sure to cook the target platform first).
	- UE4: Added 'Lex' namespace utility functions for converting PlatformInfo::EPlatformType to/from an FString. Note: Lex::FromString() is simply a proxy to the already-existing PlatformInfo::EPlaformTypeFromString() API, but it was included for completeness.
	- UE4: Removed the UProjectPackagingSettings::bWarnIfPackagedWithoutNativizationFlag. This is no longer needed since the '-nativizedAssets' command-line option has been removed.
	- UE4: Added UProjectPackagingSettings::bIncludeNativizedAssetsInProjectGeneration (advanced setting). This defaults to 'false' (off). When true, running GenerateProjects.bat will also generate project files for any NativizedAssets plugins previously generated at cook time. This gives advanced users/engineers an option to include nativized Blueprint class sources in the set of generated C++ code projects for faster browsing, etc.
	- UE4: Modified UProjectPackagingSettings::PostEditChangeProperty() to remove the case that handles the 'BlueprintNativizationMethod' property. When this value changes, we no longer make an attempt to modify the .uproject file.
	- UE4: Removed BlueprintNativeCodeGenManifestImpl::PlatformPlaceholderPattern. This pattern string is no longer in use. Also modified the FBlueprintNativeCodeGenPaths ctor to remove the replacement logic for the pattern string.
	- UE4: Modified FBlueprintNativeCodeGenPaths::GetDefaultCodeGenPaths() to construct and return a new directory pattern for the generated NativizedAssets plugin. This is now generated to: Intermediate/Plugins/NativizedAssets/<Platform>/<Type:Game|Client|Server>.
	- UE4: Modified FBlueprintNativeCodeGenPaths::PluginRootDir() to no longer append "NativizedAssets" to the end of the path to the generated NativizedAssets plugin.
	- UE4: Removed FCookByTheBookStartupOptions::bNativizeAssets and NativizedPluginPath (no longer in use since the '-nativizeAssets' command-line option has been removed).
	- UE4: Modified UCookCommandlet::CookByTheBook() to remove initialization of the 'bNativizeAssets' field in the startup options (since the corresponding command-line argument has been removed).
	- UE4: Removed FNativeCodeGenData::DestPluginPath and modified FBlueprintNativeCodeGenModule::Initialize() to remove the check for it.
	- UE4: Added FBlueprintNativeCodeGenModule::ShutdownModule(). This now handles cleanup for the nativization module after the cook process has finished.
	- UE4: Modified UCookCommandlet::CookByTheBook() to no longer look for the '-nativizedAssets' command-line option as well as to remove the initialization of the nativization-related startup option flags that were removed.
	- UE4: Modified UCookOnTheFlyServer::StartCookByTheBook() to check the 'BlueprintNativizationMethod' config setting in order to determine whether or not to nativize assets. This replaces the '-nativizedAssets' command-line flag.
	- UE4: Modified UCookOnTheFlyServer::StartCookByTheBook() to remove the case that previously handled the 'bWarnIfPackagedWithoutNativizationFlag' check. This is no longer needed since the '-nativizedAssets' flag was removed.
	- UE4: Modified UCookOnTheFlyServer::CookByTheBookFinished() to unload the IBlueprintNativeCodeGenModule instance after cooking, in order to reset module state for another potential pass within the same process context.
	- UE4: Modified UWidgetBlueprintGeneratedClass::InitializeTemplate() to append 'REN_ForceNoResetLoaders' to the Rename() flags so that when we shift the OldArchetype object into the transient package, it doesn't invalidate the outer package's linker. We need that to remain valid so that multiple nativized cooks within the same process don't fail.
	- UE4: Modified FMainFrameActionCallbacks::PackageProject() to remove the addition of '-nativizedAssets' to the UAT command line based on project settings (this is no longer needed, as it is now handled internally by UAT).
	- UE4: Modified SaveWorld() to append 'REN_ForceNoResetLoaders' to the Rename() flags so that when we rename the world instead of duplicating it, it no longer triggers a reset of *all* object loaders.

	Notes:
	- After this change, all nativization workflows (e.g. UAT, UBT and UE4Editor) now look to the 'BlueprintNativizationMethod' flag in the Project settings (UProjectPackagingSettings). This unifies everything on a single flag by default, and removes the feature added in 4.17 that touched the .uproject file when that setting changed (which itself introduced a couple of new regressions in that release).
	- Advanced users and build engineers can override this value per task. Instructions to do that are as follows:
	    - For UAT/UBT/UE4Editor.exe tasks, adding '-ini:Game:[/Script/UnrealEd.ProjectPackagingSettings]:BlueprintNativizationMethod=<Disabled|Inclusive|Exclusive>' will allow the current setting to be overridden on the command line.
	    - When '-cook' is included on the RunUAT BuildCookRun command line, the above needs to also be embedded within the '-AdditionalCookerOptions' command-line argument. This means that if both '-cook' and '-build' are included, then both the '-ini' argument shown above as well as the same '-ini' argument embedded inside the '-AdditionalCookerOptions' argument will need to be included for the build pipeline to work properly.
	- We should add a release note instructing users to check their .uproject file and remove any 'AdditionalPluginDirectories' entries that list the "Intermediate/Plugins" path. This will avoid issues when building the cooked target with UBT.
	- We should also add a release note and/or documentation to explain the "advanced" build pipeline options (i.e. the '-ini' argument noted above).

Change 3665061 by Phillip.Kavan

	Fix crash on load in a nativized build caused by a reference to a BP class containing a nativized enum.

	Mirrored from //UE4/Release-4.18 (CL# 3664993).

	#3969
	#jira UE-49233

Change 3665108 by Marc.Audy

	(4.18) Fix  crash when diffing a blueprint whose older version's parent blueprint has been deleted
	+ additional code cleanup
	#jira UE-50076

Change 3665114 by Marc.Audy

	Minor change that could potentially improve performance in some cases

Change 3665410 by Mieszko.Zielinski

	Fixed naming of Vislog's BP API #UE4

Change 3665634 by Ben.Zeigler

	#jira UE-50045 Mark PIE-duplicated packages as explicitly fully loaded to fix PIE networking crash. These used to be accidentally treated as fully loaded because it was checking the wrong package name on disk

Change 3666970 by Phillip.Kavan

	Do not emit a BOM when generating nativized Blueprint asset source files encoded as UTF-8.

	#jira UE-46814

Change 3667058 by Phillip.Kavan

	Ensure that '-build' is always passed to BuildCookRun automation for projects configured with Blueprint nativization enabled so that it doesn't skip that stage.

	Mirrored from //UE4/Release-4.18 (CL# 3667043).

	#jira UE-50403

Change 3667150 by Mieszko.Zielinski

	PR #4042: BT CompositeDecorator node clears RF_Transient flag for all owned Decorator nodes. (Contributed by BibbitM)

	Minor tweak from the original PR - made UBehaviorTreeDecoratorGraphNode_Decorator::ResetNodeOwner protected and added UBehaviorTreeGraphNode_CompositeDecorator class a a friend.


	#jira UE-50249

Change 3667152 by Mieszko.Zielinski

	PR #4047: Clearing RF_Transient flag when reseting EQS node owner - single change. (Contributed by BibbitM)


	#jira UE-50298

Change 3667166 by Mieszko.Zielinski

	Fixed FRichCurve baking so that it doesn't loose its curvature #UE4

	Also, added some baking sanity checking (like if the range is larger than a single point).

Change 3668025 by Dan.Oconnor

	Added a step to the compilation manager to skip recompilation of classes that are dependent on a given classes function signatures when those signatures have not changed

	#jira UE-50453

Change 3672063 by Ben.Zeigler

	#jira UE-49049 Fix issue with StreamableHandle ParentHandles array being modified during iteration, I had already fixed the Cancel case but not the complete case

Change 3672306 by Ben.Zeigler

	#jira UE-50571 Fix issue where PrimaryAsset blueprints would be incorrectly added to the dictionary if their base class had an active class redirect referencing it

Change 3672683 by Marc.Audy

	Code cleanup

Change 3672749 by Ben.Zeigler

	Fix issue where deleting a source package would not cause the generated cooked package to get deleted while doing an incremental build

Change 3672831 by Ben.Zeigler

	#jira UE-50507 Add a cook/save warning when a registered PrimaryAssetId does not match the object's real exported PrimaryAssetId.
	Make PrimaryDataAsset blueprintable so you can make primary assets in a blueprint-only project

Change 3673551 by Ben.Zeigler

	#jira UE-50029 Fix it so data-only blueprints will never create a UCS function in the final class. If you manually compiled the blueprint or it got recompiled due to inheritance it would create a UCS function that just calls its parent, which could cause problems later on when it did not create a UCS function during normal load

Change 3675074 by mason.seay

	Test map for VisLog Testing

Change 3675084 by Mieszko.Zielinski

	Fixed BT editor constantly marking BT asset as dirty if it has a "RunBehavior" node #UE4

	#jira UE-43430

Change 3676490 by Ben.Zeigler

	#jira UE-50635 Fix it so directly blueprinting PrimaryDataAsset will give you a useful PrimaryAssetType. Unless overridden the Type of a PrimaryDataAsset will be the first native class found in the hierarchy, or the the blueprint class that directly blueprints PrimaryDataAsset

Change 3676579 by Lukasz.Furman

	fixed crash in behavior tree's search rollback

Change 3676586 by Lukasz.Furman

	added local scope mode to behavior tree's composite nodes

Change 3676587 by Ben.Zeigler

	Swap PrimaryAssetId property customization to use the same ui as the Pin customization. This one better handles objects that aren't loaded into memory, the old Property one would show None in that case
	Add browse, use selected, and clear buttons, and make ID selector font the normal property font

Change 3676715 by Lukasz.Furman

	changed order of behavior tree's aux node ticking

Change 3676867 by Ben.Zeigler

	#jira UE-50665 Fix issue where resolving Soft Object Ptrs that are stored inside static assets or Blueprint CDOs from PIE will return the editor actor, not the PIE actor. So when resolving a path/ptr during PIE add a failsafe to do a PIE fixup
	Fix issue where Lazy pointer fixup could corrupt Soft Object Ptrs by applying the PIE fixup too early

Change 3677892 by Ben.Zeigler

	Fix crash when additional level viewport sprites are added after level editor module is loaded. This is basically the same fix as CL #3491406, but for sprites

Change 3678247 by Marc.Audy

	Fix static analysis warning

Change 3678357 by Ben.Zeigler

	#jira UE-50696 Add some container variables to diff test to track down crashes

Change 3678385 by Ben.Zeigler

	#jira UE-50696 Fix crash diffing blueprints where array properties were changed. It needs to not run the generic identical check until it's sure the container types match

Change 3678600 by Ben.Zeigler

	#jira UE-50703 Fix crash when a soft actor reference is not actually pointing to an actor, treat it like a broken reference

Change 3679075 by Dan.Oconnor

	Mirror 3679030 from Release-4.18
	Fix crash when compiling a level blueprint that has delegates to a blueprint that it also has a direct dependency on
	#jira UE-48692

Change 3679087 by Dan.Oconnor

	Filter out unnecessary relink jobs from the compilation manager

	#jira None

Change 3680221 by Ben.Zeigler

	#jira UE-50764 Fix crash when converting a property from a soft object reference to hard, it needs to validate the class after the conversion and null if necessary

Change 3680561 by Lukasz.Furman

	fixed unsafe StopTree calls in behavior tree
	#jira nope

Change 3680788 by Ben.Zeigler

	Fix issue where scrubbing sequencer in simulate would not modify actors. We need to temporarily set the PIE context global when doing this specific type of actor bind

Change 3683001 by mason.seay

	Submitting various test maps and assets

Change 3686837 by Mieszko.Zielinski

	Fixed NavMeshBoundsVolume not updating navmesh when its location gets changed via the Transform Details widget #Orion

	#jira UE-50857

Change 3688451 by Marc.Audy

	Fix up new material expression to work with String -> Name refactor

Change 3689097 by Mason.Seay

	Test content for nativization and enum testing

Change 3689106 by Mieszko.Zielinski

	Made NavMeshBoundsVolume react to undo in the editor #Orion

	#jira UE-51013

Change 3689347 by Mieszko.Zielinski

	Fixed a crash on FAIDynamicParam creation resulting from uninitialized member variables #UE4

	Manual merge of CL#3689316 over from 4.18

	#jira UE-51019

Change 3692524 by mason.seay

	Moved some assets to folder for org, fixed up redirectors

Change 3692540 by mason.seay

	Renaming test maps so they are clearly indicated for testing nativization

Change 3692577 by mason.seay

	Deleted a bunch of old assets I created specifically for various bugs reported.  All issues are closed so they're no longer needed

Change 3692724 by mason.seay

	Deleting handful of assets found in developer folders of those no longer with the team.  Moved assets that are still used by test maps

Change 3693184 by mason.seay

	Assets for testing nativization with structs

Change 3693367 by mason.seay

	Improvements to test content

Change 3695395 by Dan.Oconnor

	Fix for rare linker issue, IsBlueprintFinalizationPending would return true when we were trying to force load subobjects that were now ready to be loaded. This would prevent some placeholder objects from being replaced

	#jira None

Change 3695484 by Marc.Audy

	Fix sound cue connection drawing policy not getting returned.
	#jira UE-51032

Change 3695494 by mason.seay

	More test content for nativization testing

Change 3697829 by Mieszko.Zielinski

	PR #4104: Fixed a typo CaclulateMaxTilesCount to CalculateMaxTilesCount (Contributed by YuchenMei)


Change 3700541 by mason.seay

	Test map for containers with function bug

Change 3703459 by Marc.Audy

	Remove poorly named InverseLerp
	Fix degenerate behavior returning bad value
	#jira UE-50295

Change 3703803 by Marc.Audy

	Clean up autos
	Minor improvement to ShouldGenerateCluster

Change 3704496 by Mason.Seay

	More test content for testing nativization

Change 3706314 by Marc.Audy

	PR #4085: GetDefaultPawnClassForController -> BlueprintCallable (Contributed by Allar)
	#jira UE-50874

Change 3707502 by Mason.Seay

	Final changes to nativization test content (hopefully)

Change 3709478 by Marc.Audy

	PR #4144: Exposed MassageAxisInput for inheritence (Contributed by jackknobel)
	Same as CL# 3689702 implemented in Fortnite
	#jira UE-51453

Change 3709967 by Marc.Audy

	PR #4139: fixed a typo in a comment (Contributed by derekvanvliet)
	#jira UE-51372

Change 3709970 by Marc.Audy

	PR #4150: Fixed a typo in movement override comment (Contributed by ruffenman)
	#jira UE-51495

Change 3709971 by Marc.Audy

	PR #4149: Fixing typo on movement pawn component (Contributed by celsodantas)
	#jira UE-51492

Change 3710041 by Marc.Audy

	Minor code cleanup

Change 3711223 by Phillip.Kavan

	Move some Blueprint nativization log spam into the verbose category.

	#jira UE-49770

Change 3713398 by Marc.Audy

	PR #4157: Renamed AActor::InternalTakePointDamage function's parameter. (Contributed by BibbitM)
	#jira UE-51517

Change 3713601 by Marc.Audy

	Fix merge error

Change 3713994 by Marc.Audy

	(4.18) Just mark level script actor pending kill when the level script blueprint has been recompiled, instead of trying to send it through the destroy actor lifecycle event.
	#jira UE-50738

Change 3714270 by Marc.Audy

	Fix crashes with tickables as a result of virtuals not being usable in constructors/destructors
	#jira UE-51534

Change 3714406 by Marc.Audy

	Fix dumb inverted boolean check

Change 3716594 by Dan.Oconnor

	Integrate 3681301 from 4.18
	Only run OnLevelScriptBlueprintChanged when explicitly compiling a level blueprint, this matches the old behavior
	#jira UE-50780, UE-51568

Change 3686450 by Marc.Audy

	PinCategory, PinSubcategory, and PinName are now stored as FName instead of FString.
	CreatePin has several simplified overrides so you can only specify Subcategory or SubcategoryObject or neither.
	CreatePin also takes a parameter bundle for reference, const, container type, index, and value terminal type rather than a long list of default parameters.
	Material Expressions now store input and output names as FName instead of FString
	FNiagaraParameterHandle now stores the parameter handle, namespace, and name as FName instead of FString
	Most existing pin related functions using string have been deprecated.

Change 3713796 by Marc.Audy

	Added virtual GetTickableType function to FTickableBaseObject that can return Conditional (default), Always, or Never. Tickable Never objects will not get added to the tickable array or ever evaluated. Tickable Always objects do not call IsTickable and assume it will return true. Tickable Conditional objects work as in the past with IsTickable called each frame to make the determination whether to call Tick or not.

	IsTickable no longer a pure virtual (defaults to true).

	Applied fixes to avoid array corruption when a FTickableEditorObject is deleted during the tick phase consistent with previous fixes to FTickableGameObject.

Change 3638554 by Marc.Audy

	Add enum expansion functional test to validate that the metadata ExpandEnumAsExecs works as expected.

Change 3676502 by Ben.Zeigler

	Add Blueprint-only primary asset type to EngineTest, to cover testing UE-50635

[CL 3718205 by Marc Audy in Main branch]
2017-10-25 09:30:36 -04:00
Marc Audy
2f10ee3611 Copying //UE4/Dev-Framework to //UE4/Dev-Main (Source: //UE4/Dev-Framework @ 3544039)
#lockdown Nick.Penwarden
#rb none
#rnx

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

Change 3343905 by Dan.Oconnor

	ResolveMember optimizations and moved into cpp. ResolveMember<UFunction> now checks UClass::FuncMap before doing more expensive searches

Change 3346637 by Ben.Zeigler

	Actually fix in non editor builds

Change 3355484 by Dan.Oconnor

	Back out FMemberReference Optimization

Change 3425833 by Ben.Zeigler

	#jira UE-31749 Fix it so Undo works properly when modifying a local variable
	#jira UE-44736 Fix it so changing the type of a local variable correctly resets the default value

Change 3510091 by Marc.Audy

	Expose on Spawn functional test

	#rnx

Change 3510100 by Marc.Audy

	Fix spelling error

	#rnx

Change 3510132 by Marc.Audy

	Fix issues with marking a widget blueprint class as abstract

Change 3510133 by Marc.Audy

	Minor code cleanup

	#rnx

Change 3510178 by Ben.Zeigler

	#jira UE-46500 Fix it so editor-only and transient stuct members are not serialized for literal blueprint structs. It's unsafe to serialize them because they may not exist in the cooked build

Change 3510466 by Ben.Zeigler

	Start adding basic ability system tests to enginetest, very minimal so far

Change 3511295 by Marc.Audy

	Fix wasted work going weak -> object -> weak -> object

	#rnx

Change 3511824 by Marc.Audy

	Fix spelling error in tooltip
	#jira UE-46515

	#rnx

Change 3514446 by Ben.Zeigler

	Fix ActorBoundEvent and ComponentBoundEvent to always refresh their event signature from the delegate property they are bound to. This is required to correctly deal with delegate signatures being moved or renamed. Both types now do the fixup one time, in ReconstructNode.

Change 3514578 by Marc.Audy

	Move clearing of the actor component need end of frame update mark to base class instead of just primitive component

Change 3514583 by Ben.Zeigler

	Better fix to last delegate checkin that also handles moving functions between modules but not renaming

Change 3515325 by Dan.Oconnor

	Fix for rare orphan pin false positive, rare exposed on spawn false positive

	#rnx

Change 3515761 by Marc.Audy

	fix shipping configuration

	#rnx

Change 3515772 by Marc.Audy

	Fix static analysis warnings

	#rnx

Change 3516287 by Marc.Audy

	Fix references to instanced components not being updated when resetting component to default
	#jira UE-44706

	#rnx

Change 3516303 by Marc.Audy

	Back out CL# 3516287 while an oddity is investigated

	#rnx

Change 3516563 by Marc.Audy

	(4.17) Fix references to instanced components not being updated when resetting component to default
	#jira UE-44706

Change 3516637 by Phillip.Kavan

	#jira UE-44661 - Fix potential crash when changing the ChildActorComponent class default value on a Blueprint that also sets the class in the Construction Script.

	Change summary:
	- Modified UChildActorComponent::DestroyChildActor() to move the check for PendingKill/Unreachable so that we can also rename a defunct ChildActor instance out of the way in order to allow for a new ChildActor instance w/ the cached name.

Change 3517735 by Marc.Audy

	Avoid unnecessary string copy

	#rnx

Change 3517931 by Marc.Audy

	Small optimization to CleanupActors

Change 3518221 by Dan.Oconnor

	Fix rare crash when running ConformImplementedEvents when async loading
	#jira UE-45348

Change 3518270 by Ben.Zeigler

	#jira UE-46574 Add FCollectionReference type and customization to allow setting an FName to an editor collection
	Add AssetCollection to PrimaryAssetLabel that derives the bundled assets from an editor collection

Change 3518271 by Marc.Audy

	Get rid of unnecessary construction differentiation if custom reset is being used

Change 3518310 by Ben.Marsh

	Re-adding IOS files with correct case.

Change 3518423 by Ben.Zeigler

	#jira UE-46574 Initial support for chunk installation in Asset Manager.
	Refactor AssetManagerSettings so it copies runtime bools into the asset manager for fast access
	Add a concept of a stalled streamable manager handle, handles can be created stalled and will not execute their async load until all needed resources have been acquired externally

Change 3518480 by Marc.Audy

	Correctly get the variable reference for an input variable get from the member scope rather than a member variable of the same name on the class
	#jira UE-46737

Change 3518498 by Ben.Zeigler

	Fix bug with AssetManager where requesting the same load twice in a row before the first one finishes caused the complete callback to get called too early for the second load
	Update test map to catch this

Change 3518526 by Ben.Zeigler

	IOS Fix

Change 3518619 by Ben.Zeigler

	#jira UE-46744 Fix issue where refreshing asset manager editor settings would throw away asset label rules overrides, causing the recursive flag to accidentally get set

Change 3518747 by Phillip.Kavan

	#jira UE-43154 - Prevent ConstructGenericObject nodes from compiling if the selected type does not include 'BlueprintType' in its inheritance hierarchy.

	Change summary:
	- Moved UGameplayStatics::CanSpawnObjectOfClass() into UK2Node_GenericCreateObject as a local util method (per JIRA notes). This was not exposed to Blueprints and as such was inconsistent with the rest of the API.
	- Modified UGameplayStatics::SpawnObject() to no longer call CanSpawnObjectOfClass(). This seemed redundant as this will already have been called during node validation at Blueprint compile time.
	- Refactored CanSpawnObjectOfClass() into FK2Node_GenericCreateObject_Utils. Walking up the inheritance chain no longer starts out w/ the assumption that 'BlueprintType' is set by default, which was previously including a lot of engine-specific classes into the "allowed" set (e.g. UByteProperty). Also unified the 2 loop iterations that were being used to check for 'BlueprintType'/'NotBlueprintType' and 'DontUseGenericSpawnObjectName', as well as the check for whether or not the class is a derivative of AActor/UActorComponent.
	- Modified UK2Node_GenericCreateObject::EarlyValidation() to call FK2Node_GenericCreateObject_Utils::CanSpawnObjectOfClass() and emit a slightly more informative error message to the BP compiler message log.

Change 3518756 by Michael.Noland

	(4.17) Framework: Prevent various asserts when USplineComponent methods are called on a spline with no points

Change 3518760 by Michael.Noland

	Core: Changed FRuntimeAssetCache ensures to ensureAsRuntimeWarning

Change 3518771 by Michael.Noland

	AI: Prevent an ensure in UBlackboardComponent::ClearValue when called on a component with a null BlackboardAsset

Change 3518818 by Michael.Noland

	Rendering: Fixed a whitespace issue in UCanvasRenderTarget2D::RepaintCanvas()

	#rnx

Change 3518822 by Michael.Noland

	Sequencer: Prevented crashes in some methods of UMovieSceneSequencePlayer when there is no Sequence set
	Sequencer: Prevented a crash in FMovieSceneRootEvaluationTemplateInstance::Evaluate when the instance has no template set

Change 3518824 by Michael.Noland

	Landscape: Marked ULandscapeComponent and ULandscapeHeightfieldCollisionComponent as Within=LandscapeProxy, since they do CastChecked on their Outer all the time

Change 3519073 by Michael.Noland

	QAGame: Fixed a crash in UQASynth::PlaySynth() if called on a directly created instance rather than using the factory method

Change 3519076 by Michael.Noland

	Preventing crashes in UAutomationPerformaceHelper (sic) when spawned abnormally for fuzzing (assumes that the outer will have a route to a world)
	#rnx

Change 3519079 by Michael.Noland

	Sequencer: Fixed a potential crash in UMediaPlaylist::Insert and UMediaPlaylist::RemoveAt when passed an invalid index

Change 3519081 by Michael.Noland

	Blueprints: Added support for creating appropriate outers for objects that must be nested within another class during fuzzing (ones that specify Within=, other relationships aren't knowable yet)

Change 3519082 by Michael.Noland

	VR: Prevent a crash in UMRMeshComponent::ConnectReconstructor when passed a null reconstructor

Change 3519084 by Michael.Noland

	Rendering: Prevent crashes when UNiagaraComponent::GetEffectDataInterface is called on a component with no effect asset set

Change 3521889 by Michael.Noland

	Sequencer: Prevented a bogus static analysis warning by reworking the code (FixedFrameInterval could have only been set if the pointer were valid from the line above)
	#rnx

Change 3521987 by Michael.Noland

	Animation: Prevent a couple of potential asserts in UControlRig::GetOrAllocateSubControlRig

Change 3522101 by Michael.Noland

	Physics: Improved the comment on UPhysicalMaterial::Friction

	#rn

Change 3522105 by Michael.Noland

	Physics: Fixed a few crashes in UVehicleWheel when spawned directly

Change 3522106 by Michael.Noland

	Framework: Marked ULevelStreaming as Within=World, since it does CastChecked on the Outer all the time

Change 3522109 by Michael.Noland

	Animation: Marked UAnimInstance as Within=SkeletalMeshComponent since it assumes the outer in various places

Change 3522121 by Michael.Noland

	Mobile: Prevent UMobileInstalledContent methods from crashing when called on a created instance in an uncooked build (no installed manifest)

Change 3522783 by Zak.Middleton

	#ue4 - Imported new simple collision for Engine/Content/BasicShaps/Cylinder.uasset which is a single convex shape (rather than being 4 shapes as before).

Change 3525477 by Dan.Oconnor

	Remove Tooltip, Category, and HideCategories tooltip from the blueprint generated class if source data is cleared

Change 3526538 by Ben.Zeigler

	Refresh primary asset labels if their bundles are different at all and not just if they're added or removed. This is required because they now work based on collections or directories. This fixes issue with the onboarding collection changes not correctly modifying chunks
	Copy of CL #3526501

Change 3526817 by Ben.Zeigler

	#jira UE-46917 Fix issue where maps that do not contain level script blueprints were being counted as unindexed for find in blueprints. The old behavior depended on detecting the existence of empty tags, but the asset registry now filters those out so treat maps with no FiB data as indexed

Change 3526873 by Ben.Zeigler

	#jira UE-46627 Change it so blueprint or native subclasses of static mesh actor cannot be added to clusters, as they are not likely to be immutable the way the base class is
	Add code to to the ubergraph frame to fall back to hard reference serialization if the reference collector doesn't support weak references, such as the cluster collector

Change 3526958 by Marc.Audy

	(4.17) Don't copy and then break pin links when reconstructing. Instead simply move.
	#jira UE-46935

Change 3528916 by Marc.Audy

	PR #3609: Adds GetKeysForAxis() to complement GetKeysForAction() in UPlayerInput (Contributed by alanedwardes)
	#jira UE-45347

Change 3529080 by mason.seay

	BP asset for undetermined type bug

Change 3529381 by Marc.Audy

	Fix ability to insert duplicates in to a set or map

Change 3529471 by Dan.Oconnor

	Fix for clang 4.0 error: definition of builtin function '__rdtsc' inline unsigned long long __rdtsc()

Change 3530876 by Marc.Audy

	Based on PR #3457: Add MakeSet BP node (Contributed by projectgheist)
	Also refactored MakeArray/Set to share a base MakeContainer class
	Cleaned up some dead code from MakeArray
	Added icon for MakeSet
	Added Functional Test for MakeSet
	#jira UE-43717

Change 3531070 by Phillip.Kavan

	#jira UE-46866 - Fix crash on load when an external variable member reference's owning type cannot be loaded.

	Change summary:
	- Modified FBlueprintEditorUtils::GetSkeletonClass() to check for NULL before attempting to check for the generating BP.

Change 3531081 by Marc.Audy

	Remove deprecated CustomMapParamValue code

Change 3531094 by Phillip.Kavan

	#jira UE-46952 - Fix a packaging code build failure that will occur with a nativized Blueprint class that contains a UInterfaceProperty.

	Change summary:
	- Modified TScriptInterface::operator=() to cast the given 'SourceObject' instance to the 'InterfaceType' type before assigning to 'SourceInterface'. This was necessary because if the caller (in this case nativized codegen) passes in a UObject* that does not explicitly inherit from 'InterfaceType', then it will need to go through the object's GetInterfaceAddress() API instead and cast the result back to an 'InterfaceType' pointer.

Change 3531186 by Phillip.Kavan

	Back out changelist 3531094 (temp CIS fix).

	#rnx

Change 3532082 by Marc.Audy

	Move garbage collection timers and other management to UEngine instead of UWorld
	Fixes CollectGarbage blueprint node not working in shipping
	#jira UE-46566

Change 3532134 by Phillip.Kavan

	Restored changelist 3531094 w/ fix for non-unity.

	- Mirrored from //UE4/Release-4.17 (CL# 3531232).

	#rnx

Change 3533009 by Marc.Audy

	Fixup missing function and deprecation warnings

Change 3534056 by Marc.Audy

	(4.17) Fix expose on spawn of map and sets to work
	#jira UE-47140

Change 3534761 by Marc.Audy

	(4.17) Apply code review changes to Dev-Framework as well

	#rnx

Change 3535147 by Dan.Oconnor

	Build fix, already made in 4.17

	#rnx

Change 3535530 by mason.seay

	Resaving to remove error when opening level blueprint

Change 3535581 by Marc.Audy

	Class Properties are only identical if they are literally the same object. Do not consider the deep compare port flags as object property base does.
	#jira UE-46533

Change 3535583 by Marc.Audy

	When properties are imported in to a child actor component the cached instance data is invalidated, so clear it.
	#jira UE-46533

Change 3535617 by Marc.Audy

	PR #3788: UE-39237: Prevent (im-)pure casting during BP debugging (Contributed by projectgheist)
	#jira UE-47188
	#jira UE-39237

Change 3535671 by Marc.Audy

	Change NodeFactory to look at interface to use sequence node instead of each node having to add itself

Change 3535955 by Marc.Audy

	Prevent MakeSet from removing split pins

Change 3536114 by Michael.Noland

	Paper2D: Removing deprecated code from 4.3/4.4 era

	#rnx

Change 3536120 by Michael.Noland

	Animation: Removed deprecated FTAlphaBlend class and AlphaBlendType.h header

Change 3536124 by Michael.Noland

	Physics: Removed deprecated methods that were replaced by _AssumesLocked variations

Change 3536131 by Michael.Noland

	Slate: Converting remaining uses of EKeyboardFocusCause to EFocusCause and properly deprecating it

Change 3536138 by Michael.Noland

	Slate: Removed any deprecated code older than 4.10 that didn't affect content compatibility

Change 3536167 by Dan.Oconnor

	When a client provides a skeleton class as the self scope, make sure we also use a skel class for non-self scopes - but only if using the compilation manager. Skel classes are not reliably up to date when not using the compilation manager
	#jira UE-46904

Change 3536221 by Michael.Noland

	Editor: Removing deprecated code from 4.9 or earlier

Change 3536240 by Michael.Noland

	Blueprints: Removed long-deprecated TypeToString method from the K2 schema
	#rnx

Change 3536243 by Michael.Noland

	AI: Prevent crashes if UMockTask_Log is created manually rather than via the CreateTask factory method

Change 3536244 by Michael.Noland

	Core: Prevent FScopedExternalProfilerBase::StopScopedTimer() from asserting if called an unmatched number of times with StartScopedTimer, as both are exposed to BPs now

Change 3536250 by Michael.Noland

	CoreUObject: Removed any deprecated code older than 4.10 that didn't affect content compatibility

Change 3536253 by Michael.Noland

	Core: Removed any deprecated code older than 4.10 that didn't affect content compatibility

Change 3536310 by Michael.Noland

	Engine: Removed any deprecated code older than 4.10 that didn't affect content compatibility

Change 3536397 by Mieszko.Zielinski

	Fixed UCrowdFollowingComponent::UpdateCachedDirections crashing when CharacterMovement is not set #UE4

	#jira UE-46860

Change 3536404 by Michael.Noland

	Platform: Added a warning for others when they try to remove this 'deprecated' method

Change 3536639 by Michael.Noland

	CharacterMovement: Changed the name of a variable introduced in CL# 3536397 to better match intent
	#rnx

Change 3536893 by Michael.Noland

	Blueprints: Clear the stale value on the value pin when a map find node fails to find an item
	#jira UE-47233

Change 3536902 by Michael.Noland

	Framework: Killed a couple of more deprecated methods that were not exposed to Blueprints

	#rnx

Change 3537038 by Ben.Marsh

	Fixing case of iOS directories, pt1

Change 3537039 by Ben.Marsh

	Fixing case of iOS directories, pt2

Change 3538246 by Michael.Noland

	UnrealTournament: Fixing issues with renamed enum

	#rnx

Change 3538618 by Ben.Zeigler

	Fix ensure when closing sequencer transform UI

Change 3540213 by Ben.Zeigler

	#jira UE-47313 Fix crash serializing a MapProperty where the value type has changed for a type that implements ConvertFromType. The address passed to ConvertFromType needs to be the container root, not the specific value address, keys worked because the offset was 0.

Change 3540253 by Marc.Audy

	Only copy default values for input pins as output pins do not have them

	#rnx

Change 3540376 by Marc.Audy

	Add utility FromPinType for FEdGraphTerminalType

	#rnx

Change 3540433 by Marc.Audy

	Add MakeMap
	#jira UE-47093
	Unify IsConnectionDisallowed for containers and fix static analysis warning
	#jira UE-47291

Change 3540585 by Phillip.Kavan

	#jira UE-47117 - Fix crash on launch of a nativized build that includes an instanced default subobject that's referenced by another instanced default subobject.

	Change summary:
	- Modified FEmitDefaultValueHelper::HandleSpecialTypes() to only direct HandleInstancedSubobject() to emit code to create the instanced subobject if it's not a default subobject. This was previously being incorrectly interpreted as an object having the 'RF_ArchetypeObject' flag set; however, default subobjects will also have that flag set in addition to the 'RF_DefaultSubobject' flag.
	- Modified FEmitDefaultValueHelper::HandleInstancedSubobject() to assert in the 'GetDefaultSubobjectByName' case if the given object is not also a default subobject.

Change 3541147 by Dan.Oconnor

	Fix for not being able to override custom events when using the compilation manager post 3536167
	#jira UE-47292
	#rnx

Change 3541177 by Ben.Zeigler

	#jira UE-46595, UE-46553 Fix issue where creating a widget template could cause a widget blueprint being cooked to have the wrong package flags, making it appear to be an uncooked package
	Copy of CL #3541027

Change 3541325 by Dan.Oconnor

	K2node data table data needs to preload data before the compilation queue is flushed

	#rnx
	#jira UE-47319

Change 3541409 by Michael.Noland

	Blueprints: Added code to reapply any active breakpoints after recompilation when using the BP compilation manager
	#jira UE-47322

	[reimplementing CL# 3541404 in Dev-Framework]

Change 3541418 by Dan.Oconnor

	Fix for bad SKEL_ CDO reference in blueprint bytecode
	#jira UE-47265

	#rnx

Change 3541482 by Dan.Oconnor

	Blanket fix up of preload calls that are being done in AllocateDefaultPins. AllocatDefaultPins is not called until compile, meaning if these preload calls load blueprints they will be loaded while the compilation manager is compiling blueprints

	#rnx
	#jira UE-47319

Change 3541817 by Marc.Audy

	Fix static analysis warnings

	#rnx

Change 3542299 by Michael.Noland

	Blueprints: Speculative fix for static analysis warning
	#rnx

Change 3542406 by Marc.Audy

	Use a check slow to avoid any cost

	#rnx

Change 3542486 by Michael.Noland

	Asset Manager: Removing an unnecessary ensure (it's a potentially expected case)

	#jira UE-47380

Change 3542659 by Michael.Noland

	Blueprints: Clear out null entries in the LastEditedDocuments list during PostLoad() and remove entries when a graph is being deleted to prevent their generation in the first place
	#jira UE-47385

Change 3543620 by Dan.Oconnor

	Remove overzealous ensure - we may recompile blueprints that are asynchronously loading when a user triggers a synchronous compile
	#jira UE-47415
	#rnx

Change 3518415 by Ben.Zeigler

	#jira UE-46574 Deprecate IPlatformChunkInstall::SetChunkInstallDelgate as it was spelled wrong, was only half implemented, and did not support success vs failure
	Replace with AddChunkInstallDelegate, which supports a bool error code and is bound once instead of separately for each chunk. All implementations support this delegate at a basic level, although several could be improved to call the failure delegate in more cases

Change 3534339 by Michael.Noland

	Platforms: Changed DEPRECATED() macro description to use 4.xx rather than a speciifc version in examples, so it doesn't show up when removing deprecated code

[CL 3544050 by Marc Audy in Main branch]
2017-07-19 09:49:59 -04:00
Andrew Grant
c60ffc4e26 Copying //UE4/Orion-Staging to //UE4/Main (Source: //Orion/Dev-General @ 3316439)
#lockdown Nick.Penwarden

Change 3315047 on 2017/02/21 by Mieszko.Zielinski@mieszko.zielinski_T4675_Orion

	HTN code first check in #UE4

	#rb none
	#test currently unused

Change 3314042 on 2017/02/21 by Jason.Bestimt@Jason.Bestimt_Dev-General

	#ORION_DG - DAILY Main @ CL 3313484

	#RB:none
	#Tests:none

Change 3313355 on 2017/02/20 by Uriel.Doyon@uriel.doyon_PC2_Orion

	Changed the preliminary GPU benchmark workloads to take into account the target workload.
	This is to prevent running the last test with poor performance, risking a driver reset.
	#jira OR-29915
	#rb marcus.wassmer
	#test Run the game triggering benchmarks

Change 3312553 on 2017/02/20 by Mieszko.Zielinski@mieszko.zielinski_T4675_Orion

	Implemented a simple AITask for running EQS queries #UE4

	#rb Lukasz.Furman
	#test golden path

Change 3311661 on 2017/02/20 by Jason.Bestimt@Jason.Bestimt_Dev-General

	#ORION_DG - Merge MAIN @ CL 3311631

	#RB:none
	#Tests:none

Change 3310392 on 2017/02/17 by Daniel.Lamb@daniel.lamb_T3905_6612

	Unreal pak now outputs to named log files instead of timestamps.
	#rb Trivial
	#test Cook deploy paragon
	#jira OR-36057

Change 3310196 on 2017/02/17 by Clayton.Langford@RDU-WD-8359_3635_Paragon_DevGen

	Created an event to be fired whenever a GameplayCue is routed that passes all relevant info about that GC. Added a listener in OrionPhasedFunctionalTest that parses that event into a string and stores it in an array to be accessed from a test phase later.

	#test PIE
	#rb Ben.Salem, Adric.Worley

Change 3308437 on 2017/02/16 by Jason.Bestimt@Jason.Bestimt_Dev-General

	#ORION_DG - Merge MAIN @ CL 3308413
	(Prep for Merge up)

	#RB:none
	#Tests:none

Change 3306497 on 2017/02/16 by Andrew.Grant@andrew.grant.T6730.orion.floating

	Fix for compilation issue with USE_MALLOC_STOMP
	#rb none
	#tests compiled with malloc_stomp

Change 3306468 on 2017/02/16 by Cody.Haskell@OrionStream

	#Orion

	- Text popup work for Shield. If you click on an OrionEditableTextBox while running the game with -gfn, a special popup is called. Should do nothing normally.

	#rb none
	#tests PIE, golden path.

Change 3305945 on 2017/02/16 by David.Ratti@David.Ratti_G6218_Orion.Dev-General

	Remove unused/deprecated UGameplayEffectExtension class
	#rb #tests none

Change 3304630 on 2017/02/15 by Jason.Bestimt@Jason.Bestimt_Dev-General

	#ORION_DG - Merge Mieszko stuff from MAIN to DG

	#RB:none
	#TestS:none

	#!codereview: mieszko.zielinski

Change 3303785 on 2017/02/15 by jason.bestimt@Jason.Bestimt_Dev-General

	#ORION_MAIN - Merge 38.3 @ CL 3303224

	#RB:none
	#Tests:none

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

	#!ROBOMERGE-SAYS: Unresolved conflicts. jason.bestimt, please merge this change by hand.
	//Orion/Dev-General/OrionGame/Content/UI/DeckBuilder/DeckBuilderRoot.uasset - can't integrate exclusive file already opened
	//Orion/Dev-General/OrionGame/Content/UI/Master_Layouts/FrontEnd.uasset - can't integrate exclusive file already opened
	#!codereview: jason.bestimt

Change 3302382 on 2017/02/14 by Alexis.Matte@amatte-orion-dev-general

	Fix import of morph target when there is no animation
	#jira UE-41383
	#jira OR-35859
	#rb none
	#test none

Change 3301538 on 2017/02/14 by Jason.Bestimt@ROBOMERGE_ORION_Dev_General

	#!ROBOMERGE-AUTHOR: jason.bestimt
	#ORION_MAIN - Merge 38.3 @ CL 3301392

	#RB:none
	#Tests:none

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

Change 3299985 on 2017/02/13 by Lukasz.Furman@Lukasz.Furman_T7320_OrionStream

	added time limit to "get out of overlap" move for minons to avoid getting stuck in moving to inaccessbile spots
	#jira OR-35834
	#rb Mieszko.Zielinski
	#tests PIE

Change 3299732 on 2017/02/13 by Mieszko.Zielinski@mieszko.zielinski_T4675_Orion

	Tweaked the way EQS tests of negative score get normalized #UE4

	#rb none
	#test golden path + math
	#!codereview Lukasz.Furman, John.Abercrombie

Change 3299724 on 2017/02/13 by Mieszko.Zielinski@mieszko.zielinski_T4675_Orion

	Generic AI interface extensions #UE4

	Mostly getters

	#rb none
	#test golden path

Change 3299717 on 2017/02/13 by Mieszko.Zielinski@mieszko.zielinski_T4675_Orion

	A little tweak to VisLog's point labels drawing - if there's only one point in a set it will no longer append '_0' to the label #UE4

	#rb none
	#test PIE

Change 3299527 on 2017/02/13 by Paul.Moore@OrionWorkspace_Dev-General

	#orion #mms
	- Update libWebSockets binaries to fix Linux server web socket connections.
	#tests matchmaking, mms
	#rb none

Change 3299278 on 2017/02/13 by David.Ratti@David.Ratti_G6218_Orion.Dev-General

	Ability Task Pass: tasks should not broadcast out (back into ability graph) if the owning ability has completed EndAbility.
	#rb none
	#tests pie, golden path

Change 3297884 on 2017/02/10 by Paul.Moore@OrionWorkspace_Dev-General

	#mms
	- Enable SSL module for PS4 (needed by OpenSSL when using WebSockets).
	- Turn on verbose logging for WebSockets module for initial MMS debugging.
	#tests PS4
	#rb none

Change 3296911 on 2017/02/10 by John.Pollard@John.Pollard_T2802_Orion_DevGeneral

	Encode user search string so we support special characters

	#rb RyanG
	#tests Replays

Change 3296746 on 2017/02/10 by Jason.Bestimt@ROBOMERGE_ORION_Dev_General

	#!ROBOMERGE-AUTHOR: jason.bestimt
	#ORION_MAIN - Merge 38.3 @ CL 3296659

	#RB:none
	#Tests:none

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

Change 3296705 on 2017/02/10 by Daniel.Lamb@daniel.lamb_T3905_6612

	Added support to the cooker for iterating shared builds.
	#rb Not used yet
	#test Fast cook paragon

Change 3295747 on 2017/02/09 by Paul.Moore@OrionWorkspace_Dev-General

	#orion #mms
	- Integrated WS upgrade header functionality with latest Fortnite libws changes.
	- Added "ws" and "wss" protocols to web socket manager context.
	#rb rob.cannaday
	#!codereview rob.cannaday, james.hopkin
	#tests win64, ps4

Change 3295579 on 2017/02/09 by John.Pollard@John.Pollard_T2802_Orion_DevGeneral

	Fix for replay backward compatibility from John.Pollard
	#tests #rb na

	Merging using OrionScratchReleaseMapping

Change 3295506 on 2017/02/09 by Rolando.Caloca@rolando.caloca_T3903_OrionMainS

	O - Added option for force recompute tangents using skin cache
	#rb none
	#jira UE-41541
	#tests Editor run, toggle, restart

Change 3295461 on 2017/02/09 by Lukasz.Furman@Lukasz.Furman_T7320_OrionStream

	fixed huge interpolation times for linear network smoothing on stationary characters,
	fixed mismatch in movement Base between NavWalking server and Walking client, causing some stationary characters to float in midair

	copy of CL# 3295439
	#jira OR-35664, OR-35572
	#rb none
	#tests game

Change 3294954 on 2017/02/09 by Paul.Moore@OrionWorkspace_Dev-General

	#orion #mms

	- Integrating Fortnite WebSocket changes into Orion that fixes some win10 issues.

	#!codereview rob.cannaday, james.hopkin
	#tests compile ps4, linux, win64
	#rb none

Change 3294947 on 2017/02/09 by Daniel.Lamb@daniel.lamb_T3905_6612

	The generate stub return result is considered as success when saving cooked packages.
	Fixes bug with cooking blueprint nativized packages.
	#rb Trivial
	#test Cook paragon

Change 3293307 on 2017/02/08 by Andrew.Grant@andrew.grant.T6730.orion.floating

	Fix for issue in last checkin - need to clear activecontext regardless
	#rb none
	#tests solo smoke with nullrhi

Change 3293284 on 2017/02/08 by Ryan.Gerleve@Ryan.Gerleve_T3703_Orion

	Allow setting the per-frame time limit for processing queued bunches separately for instant replays, since they may have more strict timing/framerate requirements.

	#rb john.pollard
	#tests golden path

Change 3293148 on 2017/02/08 by Andrew.Grant@andrew.grant.T6730.orion.floating

	Fixed invalid memory access* with nullrhi and suppressed IME warning if no valid window handle exists

	(*Likely only an issue when running with memory validation)

	#rb none
	#tests verified invalid access exception no longer occurs with nullrhi
	#!review-3293149 @Matt.Khulenschmidt

Change 3293103 on 2017/02/08 by Max.Chen@Max.Chen_T4664_Orion_Main

	Sequencer: Fix build

	#jira OR-34918
	#rb none
	#tests none

Change 3292921 on 2017/02/08 by Max.Chen@Max.Chen_T4664_Orion_Main

	Sequencer: Force local player to maintain x fov axis.

	#jira OR-34918
	#rb david.ratti
	#tests Render/PIE a level sequence and test that the camera isn't zoomed in.

Change 3292869 on 2017/02/08 by David.Ratti@David.Ratti_G6218_Orion.Dev-General

	Yet more logging for OR-35448
	#rb #tests none

Change 3292821 on 2017/02/08 by Jason.Bestimt@ROBOMERGE_ORION_Dev_General

	#!ROBOMERGE-AUTHOR: rob.cannaday
	PS4 libwebsockets build fix
	Update build cs files to point to PS4 file location
	Copy libwebsocket include directory from Fortnite to Orion
	#rb paul.moore
	#tests compile/link Win64 Development Editor, PS4 Debug, Linux Development Server

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

Change 3292277 on 2017/02/08 by Jason.Bestimt@ROBOMERGE_ORION_Dev_General

	#!ROBOMERGE-AUTHOR: jason.bestimt
	#ORION_MAIN - Merge DMM @ CL 3292219

	#RB:none
	#Tests:none

	[CODEREVIEW] paul.moore, benjamin.crocker
	#QAReview

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

Change 3292211 on 2017/02/08 by Andrew.Grant@andrew.grant.T6730.orion.floating

	Pulling new ags library from Release-4.15 and reverting hack that disabled feature for AMD users
	#rb Marcus.Wassmer
	#tests compiled

Change 3292167 on 2017/02/08 by David.Ratti@David.Ratti_G6218_Orion.Dev-General

	Additional logging for OR-35448
	#rb none
	#tests pie

Change 3289462 on 2017/02/06 by Ben.Salem@ben.salem_OrionMain

	Adding priority filters to Automation tests, also commands to filter on priority levels.
	#rb adric worley
	#tests Compiled, ran a few commands to verify it works.

Change 3288801 on 2017/02/06 by Jason.Bestimt@ROBOMERGE_ORION_Dev_General

	#!ROBOMERGE-AUTHOR: jason.bestimt
	#ORION_MAIN - Merge 37.2 (38.3) @ CL 3288681

	#RB:none
	#Tests:none

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

Change 3288750 on 2017/02/06 by Daniel.Lamb@daniel.lamb_T3905_6612

	Fixed issue when cooking client and server platforms in single cook some packages would be marked incorrectly because they would be stripped when from client / server.
	#rb Andrew.Grant
	#test Cook paragon

Change 3288624 on 2017/02/06 by Andrew.Grant@andrew.grant.T6730.orion.floating

	Unlocked network version
	#rb #tests na
	OR-35603

Change 3288612 on 2017/02/06 by Daniel.Lamb@daniel.lamb_T3905_6612

	Added more ini settings to the iterative ini blacklist.
	#rb Trivial
	#test Iterative Cook Paragon

Change 3288184 on 2017/02/06 by Andrew.Grant@andrew.grant.T6730.orion.floating

	Downgraded warning to display
	#!review-3288185 @David.Ratti
	#rb none
	#tests none

Change 3287634 on 2017/02/06 by Jason.Bestimt@ROBOMERGE_ORION_Dev_General

	#!ROBOMERGE-AUTHOR: jason.bestimt
	#ORION_MAIN - Merge 37.2 @ 3287498

	#RB:none
	#Tests:none

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

Change 3286668 on 2017/02/03 by Alexis.Matte@amatte-orion-dev-general

	Fix a crash when importing a LOD containing different material with less sections
	#rb none
	#test none

Change 3286112 on 2017/02/03 by Alexis.Matte@amatte-orion-dev-general

	Fix the re-import skeletal mesh regression, where all material disapear.
	#jira UE-41294
	#rb matt.kuhlenschmidt
	#test see the jira

Change 3285859 on 2017/02/03 by Daniel.Lamb@daniel.lamb_T3905_6612

	Fixed merge error from last checkin with the DDC commandlet
	#!codereview Matthew.Griffin
	#test DDC commandlet paragon
	#rb None

Change 3285637 on 2017/02/03 by Ryan.Gerleve@Ryan.Gerleve_T3703_Orion

	Pass in the DemoNetDriver pointer to the ConcurrentWithSlateTickTask instead of accessing it from the world in the task itself.

	#rb john.pollard
	#tests golden path

Change 3285479 on 2017/02/03 by Mieszko.Zielinski@mieszko.zielinski_T4675_Orion

	Made bot communicate ults when they're up, not when they're using it #Orion

	CL also contains a bit of code shuffling around, preparing ground for HTN plug in

	#rb none
	#test golden path

Change 3285125 on 2017/02/03 by Jason.Bestimt@ROBOMERGE_ORION_Dev_General

	#!ROBOMERGE-AUTHOR: jason.bestimt
	#ORION_MAIN - Merge 37.2 @ CL 3285078

	#RB:none
	#Tests:none

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

Change 3283996 on 2017/02/02 by Michael.Trepka@Michael.Trepka_PC_Orion-Dev-General

	Added UGameUserSettings::GetRecommandedResolutionScale() to replace UOrionGameUserSettings::GetDefaultResolutionScale(). This makes things less confusing (UGameUserSettings::GetRecommandedResolutionScale() returns scale recommended based on results of the benchmark and UGameUserSettings::GetDefaultResolutionScale() returns scale based on user settings) and fixes a regression introduced in 3257936 (OR-35544)

	#rb Cody.Haskell
	#tests Tested on PC

Change 3283951 on 2017/02/02 by Daniel.Lamb@daniel.lamb_T3905_6612

	Ensure DDC commandlet calls begincacheforcookedplatformdata correctly.
	#rb None
	#!codereview Matthew.Griffin
	#test DDC commandlet paragon.

Change 3283874 on 2017/02/02 by Lina.Halper@Lina.Halper_Orion

	fix for invalid resource issue

	#rb: none
	#code review: Daniel.Wright
	#tests: compile and editor with wolf

Change 3283621 on 2017/02/02 by Laurent.Delayen@laurent.delayen_Work2016_Orion

	Femme WIP whip aiming for Q ability.

	#rb none
	#tests Femme

Change 3283216 on 2017/02/02 by jason.bestimt@Jason.Bestimt_Dev-General

	#ORION_MAIN - Merge 37.2 @ CL 3282900

	#RB:none
	#Tests:none

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

Change 3282954 on 2017/02/02 by Lina.Halper@Lina.Halper_Orion

	It becomes invalid on the resource, so checking null, but still wip on verifying this with Daniel Wright. He's sick out.

	#rb:none
	#tests: compile
	#code review:Daniel.Wright
	#Jira: OR-35418

Change 3281993 on 2017/02/01 by Daniel.Lamb@daniel.lamb_T3905_6612

	Removed default unattended flag.
	#rb Trivial
	#test PS4 cook run paragon.

Change 3281990 on 2017/02/01 by Daniel.Lamb@daniel.lamb_T3905_6612

	Potential fix for deterministic cooking issue with UMovieSceneSignedObjects.
	#rb Andrew.Grant
	#!codereview Max.Preussner
	#test Cook and run paragon ps4.

Change 3281610 on 2017/02/01 by Laurent.Delayen@laurent.delayen_Work2016_Orion

	AimOffsetLookAt is now thread safe.

	#rb lina.halper
	#tests femme

Change 3281609 on 2017/02/01 by Laurent.Delayen@laurent.delayen_Work2016_Orion

	Fixed 'Convert to AimOffset LookAt' option being broken in Persona.

	#rb lina.halper
	#tests works for Femme now.

Change 3281019 on 2017/02/01 by Jason.Bestimt@ROBOMERGE_ORION_Dev_General

	#!ROBOMERGE-AUTHOR: jason.bestimt
	#ORION_MAIN - Merge 37.2 @ CL 3280498

	#RB:none
	#Tests:none

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

Change 3280813 on 2017/02/01 by Jason.Bestimt@ROBOMERGE_ORION_Dev_General

	#!ROBOMERGE-AUTHOR: matthew.griffin
	Prevent inclusion of NotForLicensees files when staging CrashReportClient config files
	#rb none
	#tests none

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

Change 3279921 on 2017/01/31 by Yanni.Tripolitis@yanni.tripolitis_Dev_General_Cary

	Fixed an error in the Round MF, that was somehow "leaked" into Paragon from Odin.

	#lockdown Billy.Rivers, Adam.Bellefeuil

	#!codereview Tim.Elek

Change 3279178 on 2017/01/31 by Daniel.Lamb@daniel.lamb_T3905_6612

	Fixed up diff files commandlet stack information
	#rb Joe.Conley
	#test Diff cooked packages

Change 3279084 on 2017/01/31 by Andrew.Grant@andrew.grant.T6730.orion.floating

	Merging //UE4/Main at 3276432  through Orion-Staging
	#rb #tests na

Change 3279078 on 2017/01/31 by Jason.Bestimt@ROBOMERGE_ORION_Dev_General

	#!ROBOMERGE-AUTHOR: jason.bestimt
	#ORION_MAIN - Merge 37.2 @ CL 3279032

	#RB:none
	#Tests:none

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

Change 3277908 on 2017/01/30 by Jason.Bestimt@ROBOMERGE_ORION_Dev_General

	#!ROBOMERGE-AUTHOR: jason.bestimt
	#ORION_37 - Fix for "-game" crash with missing meta data

	#RB:none
	#Tests:none

	[CodeReviewed]: andrew.grant, jamie.dale, mieszko.zielinski

	#!ROBOMERGE-SOURCE: CL 3277901 in //Orion/Release-37/... via CL 3277902 via CL 3277904 via CL 3277905
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3277520 on 2017/01/30 by Andrew.Grant@andrew.grant.T6730.orion.floating

	Workaround for OR-35418
	#!ROBOMERGE: Main
	#rb none
	#tests verified ShortSoloGame test completes without a crash

Change 3277357 on 2017/01/30 by Daniel.Lamb@daniel.lamb_T3905_6612

	Fixed the rebuild lighting commandlet.
	#rb Trivial
	#test Rebuild lighting dev general

Change 3277322 on 2017/01/30 by Jason.Bestimt@ROBOMERGE_ORION_Dev_General

	#!ROBOMERGE-AUTHOR: jason.bestimt
	#ORION_MAIN - Merge 37.2 @ CL 3277275

	#RB:none
	#Tests:none

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

Change 3277210 on 2017/01/30 by Jason.Bestimt@ROBOMERGE_ORION_Dev_General

	#!ROBOMERGE-AUTHOR: andrew.grant
	Non-shipping test changes:

	Fixed issue where with -stdout messages would be duplicated due to FeedbackContextAnsi echoing to stdout by default
	Changed stdout output to postfix instead of trail newlines
	Firstpass of finding and displaying crash callstacks in Orion Test Framework.

	#rb none
	#tests ran test framework with tests that purposefully crashed/checked

	#!ROBOMERGE-SOURCE: CL 3276889 in //Orion/Release-37/... via CL 3277207 via CL 3277208 via CL 3277209
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3276774 on 2017/01/29 by Andrew.Grant@andrew.grant.T6730.orion.floating

	Fix for non-unity issue.
	#tests compiled
	#rb none
	#!ROBOMERGE: Main, DUI

Change 3276594 on 2017/01/28 by Lina.Halper@Lina.Halper_Orion

	Checked in potential fix for nonunity build issue

	#rb:none
	#tests:compile

Change 3275806 on 2017/01/27 by Ben.Salem@ben.salem_OrionMain

	Adding in a checkpointing system for automated test passes where, if a client crashes while running a pass, on reboot and reissue of the automation command the test pass will start off where it left off, skipping the crashing test.
	#rb clayton.langford
	#tests Ran several dozen test passses. Seriously.
	#!codereview steve.white, bob.ferreira, clayton.langford, adric.worley

Change 3275803 on 2017/01/27 by Shaun.Kime@shaun.kime_RDU-WD-9788_oriondevgen

	Paragon has retainer widgets with no World set. When encountered, they can cause the scene list to be desynchronized with the rendering thread.
	This logic resolves the issue by registering a null scene in this case, properly setting the slate scene index for subsequent slate draw calls.

	#rb nick.darnell
	#jira OR-34919
	#TESTS na

Change 3275533 on 2017/01/27 by Max.Chen@Max.Chen_T4664_Orion_Main

	Sequencer: Switch to static pointer to fix crash when tearing down curve editor.

	#jira UE-40796
	#rb andrew.rodham
	#tests none

Change 3275093 on 2017/01/27 by Jason.Bestimt@ROBOMERGE_ORION_Dev_General

	#!ROBOMERGE-AUTHOR: jason.bestimt
	#ORION_MAIN - Merge 37.2 @ CL 3273298

	#RB:none
	#Tests:none

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

Change 3274700 on 2017/01/26 by Lina.Halper@Lina.Halper_Orion

	#Anim curve crash on cooking
	- fixed crash during cooking while accessing default value of material
	- this code doesn't have to run during cooking with inactive world, so I'm checking that

	#code review: Daniel.Wright, Chris.Bunner, Jurre.DeBaare
	#rb: none
	#tests: cooking

Change 3274129 on 2017/01/26 by Lina.Halper@Lina.Halper_Orion

	Fixed safer to get featurelevel

	#rb: Daniel.Wright
	#tests: compile/wolf

Change 3274012 on 2017/01/26 by Lukasz.Furman@Lukasz.Furman_T7320_OrionStream

	fixed crash in navigation grids
	#jira OR-35356
	#rb none
	#tests PIE

Change 3273803 on 2017/01/26 by Lina.Halper@Lina.Halper_Orion

	Fixed issue with animation curve getting reset to 0.f
	- the issue is that skeleton contains material flag types, so now it just keeps setting the value
	- even after I fix validation check, it still cleared it due to the material curve not found anymore, so added to support default value setting

	#jira: OR-34563
	#rb: Martin.Wilson, Chris.Bunner, Benn.Gallagher
	#code review: Martin.Wilson, Daniel.Wright
	#tests: wolf, coil

Change 3273257 on 2017/01/26 by Alexis.Matte@amatte-orion-dev-general

	Isolate by material slot instead of section index. Add UI to isolate and highlight material in the material panel
	#rb matt.kuhlenschmidt
	#jira UE-41131
	#tests none

Change 3272527 on 2017/01/25 by Jason.Bestimt@ROBOMERGE_ORION_Dev_General

	#!ROBOMERGE-AUTHOR: chris.bunner
	Ensure FSceneRenderTargets snapshot copies default clear colors.
	#tests Golden path on lowest and high settings
	#rb None
	#lockdown Jason.Bestimt
	#jira OR-34905

	#!ROBOMERGE-SOURCE: CL 3272507 in //Orion/Release-37.1/... via CL 3272521 via CL 3272525
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3272244 on 2017/01/25 by Rolando.Caloca@rolando.caloca_T3903_OrionMainS

	Show more info when a material instance failed to compile
	#jira OR-34626
	#tests Forced crash in the debugger
	#rb Daniel.Wright

Change 3272109 on 2017/01/25 by Jason.Bestimt@ROBOMERGE_ORION_Dev_General

	#!ROBOMERGE-AUTHOR: philip.buuck
	Fix bad merge from Main

	#rb Dan.Hertzka
	#tests PIE
	[CodeReviewed] Andrew.Grant
	#lockdown Andrew.Grant

	#!ROBOMERGE-SOURCE: CL 3272106 in //Orion/Release-37.1/... via CL 3272107 via CL 3272108
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3271721 on 2017/01/25 by Lukasz.Furman@Lukasz.Furman_T7320_OrionStream

	jungle minions will spawn navigation obstacles when they are stuck in static geometry, fixed issues with falling off cliffs
	#jira OR-35054
	#rb Mieszko.Zielinski
	#tests PIE

Change 3271432 on 2017/01/25 by Jason.Bestimt@ROBOMERGE_ORION_Dev_General

	#!ROBOMERGE-AUTHOR: jason.bestimt
	#ORION_MAIN - Merge 37.2 @ CL 3271043

	#RB:none
	#Tests:none

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

[CL 3322856 by Andrew Grant in Main branch]
2017-02-25 19:37:22 -05: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
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