Commit Graph

69 Commits

Author SHA1 Message Date
stu mckenna
3b12702abc - When world rendering is disabled ensure we flush Niagara GPU jobs to avoid a larger flush or loosing work depending on tick mode
#rb rob.krajcarski, shaun.kime
#jira FROST-2797

#ROBOMERGE-SOURCE: CL 16493067 in //UE5/Private-Frosty/...
#ROBOMERGE-BOT: STARSHIP (Private-Frosty -> Main) (v823-16466674)

[CL 16493070 by stu mckenna in ue5-main branch]
2021-05-27 18:23:28 -04:00
Lauren Barnes
39f1923ed0 Deprecating .Icon() as a slate attribute on SDockTab. By default, tab icons fall back to using the one for the tab spawner's menu item. SetTabIcon can be used in the edge cases where an icon needs to be set that doesn't match the default. Updating all found cases of .Icon() usage on SDockTab.
#jira UETOOL-3429
#preflight 60996a2bdd2e00000126ff25
#rb Matt.Kuhlenschmidt

[CL 16251489 by Lauren Barnes in ue5-main branch]
2021-05-10 14:19:15 -04:00
Matt Kuhlenschmidt
036e2d0733 Removed all instances of large toolbars with 40x40 icons and reset their layouts to confrom to the new standard toolbar size and tabless design
[CL 14999694 by Matt Kuhlenschmidt in ue5-main branch]
2021-01-06 12:07:36 -04:00
Marc Audy
4c1bb11c29 Merge UE5/Release-Engine-Staging to UE5/Main @ 14548662
This represents UE4/Main @ 14525125 + cherrypicked fixes
#skipundocheck

[CL 14551026 by Marc Audy in ue5-main branch]
2020-10-22 19:19:16 -04:00
Marc Audy
50a3d7d368 Merge Release-Engine-Staging to Main @ CL# 14467590
This represents UE4/Main @ 14432125 + some cherrypick fixes

[CL 14468207 by Marc Audy in ue5-main branch]
2020-10-09 22:42:26 -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
ryan durand
627baf970a Updating copyright for Engine Editor.
#rnx
#rb none


#ROBOMERGE-SOURCE: CL 10869241 via CL 10869527 via CL 10869904
#ROBOMERGE-BOT: (v613-10869866)

[CL 10870586 by ryan durand in Main branch]
2019-12-26 15:33:43 -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
jon nabozny
6b60663f39 Update Engine and Plugins to use the new Getters / Setters for UActorComponent, USceneComponent, and AActor replicated properties
[at]Ryan.Gerleve, [at]Brian.Bekich
#rb None


#ROBOMERGE-OWNER: jon.nabozny
#ROBOMERGE-AUTHOR: jon.nabozny
#ROBOMERGE-SOURCE: CL 9290108 via CL 9290249
#ROBOMERGE-BOT: (v452-9288972)

[CL 9290520 by jon nabozny in Main branch]
2019-09-29 16:49:10 -04:00
Chris Gagnon
930e33cb48 Copying //UE4/Dev-Editor to Dev-Main (//UE4/Dev-Main) for 4.23 From CL 6837861
#rb none

[CL 6838042 by Chris Gagnon in Main branch]
2019-06-04 15:42:48 -04:00
Ben Zeigler
e873f817b2 Hook up referencer name for editor FGCObjects that are likely to hold world references
#rb marc.audy

[CL 5536472 by Ben Zeigler in Dev-Framework branch]
2019-03-25 14:40:23 -04:00
Chris Gagnon
8fc25ea18e Merging //UE4/Dev-Main to Dev-Editor (//UE4/Dev-Editor)
#rb none

[CL 4676797 by Chris Gagnon in Dev-Editor branch]
2019-01-02 14:54:39 -05:00
Christina TempelaarL
96f01e9734 Modified DistributionCurveEditor and CurveEditorViewport (used by Cascade and Matinee) to defer redraws rather than drawing immediately upon invalidate. Multiple immediate redraws may have been causing a reported hitch when changing particle emitter modules' distribution method properties inCascade.
#jira UE-63849
#rb matt.kuhlenschmidt

[CL 4392724 by Christina TempelaarL in Dev-Editor branch]
2018-09-24 13:01:01 -04:00
Christina TempelaarL
c4d7e6e1f0 Cascade: Copy particle emitter properties when invoking Duplicate Emitter or Export Emitter in the Cascade editor.
#jira UE-63856
#rb matt.kuhlenschmidt

[CL 4373989 by Christina TempelaarL in Dev-Editor branch]
2018-09-18 14:26:47 -04:00
Michael Lentine
afc61201ec Copying //UE4/Dev-Physics to //UE4/Dev-Main (Source: //UE4/Dev-Physics @ 4242698)
#rb none
#lockdown Nick.Penwarden

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

Change 4023283 by Michael.Lentine

	Fix memory leak.

Change 4024243 by Michael.Lentine

	Add debugging output code from github #4533.

	#jira ue-55764

Change 4026362 by Michael.Lentine

	Merged github #3704.

	#jira ue-463394

Change 4026545 by Michael.Lentine

	Fix ordering of collision settings changed callback

	#jira ue-50475

Change 4026609 by Michael.Lentine

	Fix crash in destruction for when world is not valid

	#jira ue-53989

Change 4026786 by Michael.Lentine

	Merging github #4632 to fix memory leak.

	#jira ue-57255

Change 4027293 by Michael.Lentine

	Integrate github #4338.

	#jira ue-53497

Change 4033517 by Michael.Lentine

	Fix collision body creation for spline merging.

	#jira ue-53956

Change 4039750 by Michael.Lentine

	Add basic error message if cooking fails.

Change 4040210 by Michael.Lentine

	Check for nullptr

Change 4098887 by Michael.Lentine

	Fix warnings.

Change 4103511 by Michael.Lentine

	Prevent crash when BodyInstance is invalid.

Change 4117826 by Michael.Lentine

	Fix check for body being fixed.

Change 4122307 by Benn.Gallagher

	PS4/clang build fixes

Change 4124479 by Benn.Gallagher

	Fix non-portable filename used as an include (Linux editor build CIS error)

Change 4125450 by Benn.Gallagher

	Fixup Ocean

Change 4127210 by Michael.Lentine

	Update the PreviousBoneTransforms array when setting transforms in DestructibleComponent

	#jira ue-58813

Change 4127309 by Benn.Gallagher

	Fix Win32 shipping builds

Change 4134570 by Michael.Lentine

	Missed fixes for WITH_UEPHYSICS.

Change 4134585 by Michael.Lentine

	Missed a few more files.

Change 4134670 by Michael.Lentine

	Update formatting.

Change 4134671 by Michael.Lentine

	More formatting.

Change 4150615 by Benn.Gallagher

	Moved immediate mode into engine, as it is now depended on by the physics engine.

Change 4150680 by Benn.Gallagher

	Missed file

Change 4150980 by Benn.Gallagher

	Rename kinematic target for immediate mode to avoid ambiguous symbols in engine

Change 4151400 by Brice.Criswell

	Apeiron

	Levelset initilization issue.

	----

Change 4157880 by Benn.Gallagher

	More fixing unresolved template specialisations for FN editor.

Change 4159128 by Michael.Lentine

	Compile fixes

Change 4159786 by Brice.Criswell

	Apeiron

	Levelset curvature initialization fix, clamps out of bounds phi values to phi[i].
	------

Change 4160382 by Michael.Lentine

	Fix node initialization

Change 4160463 by Brice.Criswell

	Apeiron

	Levelset index fix.

	----

Change 4161425 by Benn.Gallagher

	Added package, class and struct redirects for moving immediate physics into engine.

Change 4164195 by Brice.Criswell

	GeometryCollection : Code review updates

	- Removed typedef for GeometryCollection::ManagedArray<T>
	- Renamed Enumerations to begin with E prefix, retyped to be uint8.
	- Removed EArrayScoipe::FScopeNone, now defautls to FScopeShared
	- Formatted type modifiers to follow UE4 coding standard.
	- Derived the ManagedArrayBase from FNonCopyable
	- Disabled TManagedArrays copy constructor and assignment operator.
	- Converted most accessors on GeometryCollection to TSharedRef.
	- Added .inl style definitions to simplify the management of the ManagedArrayTypes

	-----

Change 4164235 by Brice.Criswell

	GeometryCollection : Added New Files

	- Added the ManagedArrayTypes files.

	----

Change 4164309 by Brice.Criswell

	GeometryCollection :

	Moved the initialization of the RigidBodyIdArray and CenterOfMassArray into the WITH_APEIRON definition.
	-----

Change 4166133 by Brice.Criswell

	GeometryCollection

	Added GeometryCollectionEdit class to protect access to the rest and dynamic collections.

	-----

Change 4171540 by Michael.Lentine

	Fix reset

	#robomerge destruction

Change 4171912 by Michael.Lentine

	Rename BVHParticles

	#robomerge destruction

Change 4172445 by Brice.Criswell

	Copying //UE4/Dev-Destruction to Dev-Physics (//UE4/Dev-Physics)

	----

Change 4172623 by Brice.Criswell

	GeometryCollection

	Debugging ToString to inspect the GeometryCollection

	----

Change 4172711 by Michael.Lentine

	Add Immediate Path to Geometry Collection

Change 4172778 by Michael.Lentine

	Update LL Interface to use Simulation type.

	#robomerge destruction

Change 4172780 by Michael.Lentine

	Missed files

	#robomerge destruction

Change 4173238 by Benn.Gallagher

	Missed file from last checkin

Change 4173554 by Benn.Gallagher

	Few extra changes for const correctness and actor counts

Change 4174153 by Benn.Gallagher

	Fixed non-unity build issue from Geom Collection.

Change 4175355 by Brice.Criswell

	GeometryCollection

	Separated the GeometryCollection from USE_APEIRON flag.

	-----

Change 4175533 by Brice.Criswell

	GeometryCollection

	Defaulting Aperion to off.

	-----

Change 4175761 by Michael.Lentine

	Fix collisions.

Change 4177105 by Benn.Gallagher

	Another geom collection CIS fix when running without PCHs

Change 4177796 by Brice.Criswell

	GeometryCollection

	- Added parenting function to manage the BoneHierarchy Array
	- Split collection along yz-plane.

	-----

Change 4177989 by Brice.Criswell

	GeometryCollection

	- Moved Hierarchy and Transform array elements into base class TransformCollection
	- Renamed ParticleGroup to TransformGroup.

	-----

Change 4178826 by Brice.Criswell

	Copying //UE4/Dev-Destruction to Dev-Physics (//UE4/Dev-Physics)

	----

Change 4178840 by Brice.Criswell

	Geometry Collection

	Removed FORCEINLINE from GeometryCollectionEdit.GetRestCollection

	----

Change 4179493 by Brice.Criswell

	GeometryCollection

	New icons.

	-----

Change 4182428 by Brice.Criswell

	Build Configuration

	Apeiron configuration.
	- Modified bCompileApeiron to enable the compilation of the Apeiron plugin.
	- Added bUseApeiron to enable Apeiron in the physics interfaces.

	Changed PhysScene_Apeiron to enable when bCompileApeiron is enabled.
	Disabled the GeometryCollection* Plugins in the build.

	-------

Change 4185886 by Brice.Criswell

	GeometryCollection

	Renaming TransformGroup.

	---

Change 4186389 by michael.lentine

	Don't create in parallel for immediate mode.

Change 4186457 by michael.lentine

	Hack to prevent crashing when Visible is nullptr.

Change 4198872 by Brice.Criswell

	Apeiron
	Clustering changes

	- Clustering based on hierarchy's defined within the Geometry Collection

	-----

Change 4199861 by Brice.Criswell

	GeometryCollection

	Disable Apeiron in the Collection.

	------

Change 4200089 by Brice.Criswell

	GeometryCollection

	Updated to enable Apeiron in the GeometryCollection when the bCompileAperion flag is enabled in the UnrealBuildTool.

	---

Change 4200333 by Brice.Criswell

	Copying //UE4/Dev-Destruction to Dev-Physics (//UE4/Dev-Physics)
	-----

Change 4202231 by Michael.Lentine

	Disable collisions between adjacent bodies connected by a joint. This typically would be specified by an artist but classic PhysX always does this uncondintionally so our clients are used to this.

Change 4202748 by Michael.Lentine

	Fix 2015 compile.

Change 4204528 by Michael.Lentine

	Disable Apeiron.

Change 4206396 by Michael.Lentine

	Fix 2015 build. Static cast apparently is not an accetible conversion from uint32 to bool.

	#robomerge destruction

Change 4206604 by Michael.Lentine

	Fix for using ccd and kinematic.

	#jira UE-61694
	#robomerge destruction

Change 4206711 by mason.seay

	Refreshed Set Angular Drive nodes to clear out orphan pins

Change 4207286 by Brice.Criswell

	GeometryCollection

	Transform hierarchy evaluation within BoneHierarchy of the Collection.

	Parenting operations are implemented on an updated morphology using :
	ParentTransforms(UGeometryCollection* GeometryCollection, const int32 InsertAtIndex, const TArray<int32>& SelectedBones);

	To parent a new transform:

	int32 RootIndex << within len( TransformGroup ) or -1 for a non-parented node.
	int32 BoneIndex = Collection->AddElements(1, UGeometryCollection::TransformGroup);
	GeometryCollectionAlgo::ParentTransform(Collection, RootIndex, BoneIndex);
	Transform[BoneIndex] = <some transform within local space of the RootIndex>

	Default collections have all geometry not parented. The function EnsureSingleRoot was added to guarantee  that the collection has at least one parent node.
	FGeometryCollectionCommands::EnsureSinglRoot(UGeometryCollection* RestCollection)

	Then matrices relative to the collections root are calculated using:
	GlobalMatrices(UGeometryCollection* GeometryCollection, TArray<FTransform> & Transforms);

	Added Damage Threshold to GeometryCollectionActor

	------

Change 4208039 by Brice.Criswell

	GeometryCollection

	Fix for static include failure.

	---

Change 4208170 by Brice.Criswell

	GeometryCache

	SplitAlongYZ to support multiple levels and orientations.

	---

Change 4208174 by Michael.Lentine

	Avoid shadow warnings and switch logs to verbose instead of warnings.

	#robomerge destruction

Change 4210255 by Benn.Gallagher

	Static analysis fixes

Change 4210394 by Michael.Lentine

	Use correct particle type for updateconstraints.

Change 4211153 by Brice.Criswell

	Apeiron

	Exposing friction and coefficient of restitution to the actor.

	-----

Change 4213034 by michael.lentine

	Rename bounding volume

Change 4216783 by Michael.Lentine

	Committing cooking fix to Dev-Physics in order to get smoke tests running.

Change 4218078 by Benn.Gallagher

	Fixed memory and TLS slot leak caused by previous change to physics scene cleanup while cooking
	#jira UE-61633

Change 4219206 by Michael.Lentine

	Use the adaptor to get the rotation.

	#jira ue-61748

Change 4220469 by Benn.Gallagher

	Fixed overlaps re-triggering on movement due to bad transform chaining from component to phys actor to shape

	#jira UE-61703

Change 4220538 by Benn.Gallagher

	Fixed PhysX errors when setting global transforms of kinematic and static objects.

	#jira none

Change 4222138 by Michael.Lentine

	Update use of Vulkan on android.

Change 4222139 by Michael.Lentine

	Update OculusHMD plugin to use correct vulkan search path.

Change 4225740 by Michael.Lentine

	Integrate changes to update rotation and mass.

Change 4225928 by michael.lentine

	Use more accurate collision point.

Change 4226560 by michael.lentine

	Enable contact graph

Change 4227397 by Michael.Lentine

	If we don't have a global scene we need to not detect collisions.

	#robomerge destruction

Change 4227410 by Michael.Lentine

	Missing include

	#robomerge destruction

Change 4228107 by Michael.Lentine

	Integrate static contact changes.

Change 4228612 by michael.lentine

	Use more correct thresholding.

Change 4228734 by Benn.Gallagher

	Getting LLImmediate high level stood up and simulating

	Implementation is incomplete, only what is required to get simple scenes simulating under immediate mode

Change 4228748 by Benn.Gallagher

	Missed file from checkin

Change 4228885 by Ori.Cohen

	Added base physics interface class to help provide default behavior and easily chain functionality together

Change 4228992 by Ori.Cohen

	Fix cis

Change 4229921 by Benn.Gallagher

	Fixed contact pre-filter performance regression

Change 4230825 by Benn.Gallagher

	Moved WIP physics interfaces to Experimental/ folders

Change 4230853 by Benn.Gallagher

	Fixup includes after moving WIP physics interfaces

Change 4231414 by Michael.Lentine

	Use global namespace to avoid mac compile errors.

	#jira ue-62137

[CL 4242847 by Michael Lentine in Main branch]
2018-07-31 02:23:26 -04:00
Ben Marsh
95dbcb7f47 Disabling more benign PVS-Studio warnings.
#rb none
#lockdown Nick.Penwarden

[CL 3951982 by Ben Marsh in Main branch]
2018-03-17 20:46:41 -04:00
Marc Audy
7a0f229e8d Copying //UE4/Fortnite-Staging to //UE4/Dev-Main (Source: //Fortnite/Main/Engine @ 3876564)
#lockdown Nick.Penwarden
#rnx
#rb none

[CL 3903710 by Marc Audy in Main branch]
2018-02-22 11:25:06 -05:00
Ben Marsh
13d012685f Merging copyright update from 4.19 branch.
#rb none
#rnx
#jira

[CL 3818977 by Ben Marsh in Staging-4.19 branch]
2018-01-02 15:30:26 -05:00
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
Ben Marsh
997ef15941 Merging //UE4/Release-4.17 @ CL 3573198 to Release-Staging-4.17 (//UE4/Release-Staging-4.17)
#rb none
#jira

[CL 3575359 by Ben Marsh in Staging-4.17 branch]
2017-08-07 15:12:17 -04:00
Peter Sauerbrei
dbc4422ee5 Copying //UE4/WEX-Staging to //UE4/Dev-Main (Source: //WEX/Main @ 3440877)
#lockdown nick.penwarden
#rb none

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

Change 3437481 on 2017/05/12 by Brian.Zaugg@Brian.Zaugg_A4140_WexDevMain

	#wex - Put the change to sort the CookedAssetRegistry back in.

	#jira WEX-5841

	Back out changelist 3437412

Change 3437412 on 2017/05/12 by Brian.Zaugg@brian.zaugg_8402_WexDevMain

	#wex - Back out change to CookedAssetRegistry, which turned out to be unnecessary.

	#jira WEX-5841

	Back out changelist 3437372

Change 3437372 on 2017/05/12 by Brian.Zaugg@brian.zaugg_8402_WexDevMain

	#wex - Sort the cooked asset registry on save to fix nondeterministic cook.

	#jira WEX-5841

Change 3435902 on 2017/05/11 by Brian.Zaugg@brian.zaugg_8402_WexDevMain

	#wex - Removed UpgradeTrackRows from MovieScenes. It was no longer needed and was causing nondeterministic cooks.

	#jira WEX-5841

Change 3435900 on 2017/05/11 by Brian.Zaugg@brian.zaugg_8402_WexDevMain

	#wex - Merge in fix for nondeterministic script compilation from Dev-General.

	#jira WEX-5841

	Merging

	//Orion/Dev-General/Engine/Source/Runtime/MovieScene/Private/MovieSceneSignedObject.cpp

	to //WEX/Main/Engine/Source/Runtime/MovieScene/Private/MovieSceneSignedObject.cpp

Change 3435897 on 2017/05/11 by Brian.Zaugg@brian.zaugg_8402_WexDevMain

	#wex - Merge in fix for nondeterministic blueprint cook from Dev-Editor

	#jira WEX-5841

	Merging

	//UE4/Dev-Editor/Engine/Source/Runtime/MovieScene/...

	to //WEX/Main/Engine/Source/Runtime/MovieScene/...

Change 3435896 on 2017/05/11 by Brian.Zaugg@brian.zaugg_8402_WexDevMain

	#wex - Merge in fix for nondeterministic script compilation from Dev-Framework.

	#jira WEX-5841

	Merging

	//UE4/Dev-Framework/Engine/Source/Editor/...

	to //WEX/Main/Engine/Source/Editor/...

Change 3435387 on 2017/05/11 by Chris.Babcock@Chris.Babcock_Z2433_WEX

	Upload Crashlytics symbols after succesful build by build machine
	#jira none

Change 3433935 on 2017/05/10 by Brian.Zaugg@brian.zaugg_8402_WexDevMain

	#wex - Resaved more assets to fix nondeterministic cooks.

	#jira WEX-5841

Change 3433707 on 2017/05/10 by robomerge@ROBOMERGE_WEX_Main

	fix for thinking Android is always on WiFi even when it is on LTE
	#jira none

Change 3433634 on 2017/05/10 by peter.sauerbrei@peter.sauerbrei_WEX

	fix for loading a null object when the object is just pending kill
	not happy with this fix, but it works
	#jira WEX-6265

Change 3432228 on 2017/05/10 by Dmitriy.Dyomin@dmitriy.dyomin-wex

	Added LoadTimes.Reset console command to reset accumulated data reported by LoadTimes.DumpReport
	#jira WEX-6319

Change 3431341 on 2017/05/09 by Chris.Babcock@Chris.Babcock_Z2433_WEX

	Make sure file handle is valid for flush
	#jira none

Change 3431036 on 2017/05/09 by Chris.Babcock@Chris.Babcock_Z2433_WEX

	Capture UE_LOG for Crashlytics (can be disabled by setting ENABLE_CRASHLYTICS_LOGGING to 0 in CrashlyticsModule.cpp)
	- Added IFileHandle::Flush() to get the full pre-init log
	#jira WEX-6311

Change 3429394 on 2017/05/08 by robomerge@ROBOMERGE_WEX_Main

	fix for missing logs when crashing in crash reporter
	#jira none

Change 3428450 on 2017/05/08 by Josh.May@WEX-Main-JMAY

	#WEX
	#JIRA: WEX-6248, WEX-6285
	- Converted the MonsterPit hero list over to using the new UListView-based WExpHexGrid.
	- Generalized some of the item selection logic from B_HexGrid_Heroes.
	- Removed a bunch of MonsterPit-specific cruft from the HeroIcons.

Change 3428177 on 2017/05/08 by robomerge@ROBOMERGE_WEX_Main

	fix for no symbols on the crashreport site
	#jira none

Change 3428110 on 2017/05/08 by Chris.Babcock@Chris.Babcock_Z2433_WEX

	Enable CL as store version for Android
	#jira WEX-5432
	#ue4
	#android

Change 3427082 on 2017/05/05 by Chris.Babcock@Chris.Babcock_Z2433_WEX

	Crashlytics for Android
	- also adds support for CL used as StoreVersion (requires bUseChangleListAsStoreVersion=true and environment variable IsBuildMachine=1), but
not enabled yet
	#jira WEX-5785

Change 3426577 on 2017/05/05 by robomerge@ROBOMERGE_WEX_Main

	another pass at deprecation warnings
	#jira none

Change 3426360 on 2017/05/05 by robomerge@ROBOMERGE_WEX_Main

	write out the UUID for the dSYM when generating the debug symbols
	#jira none

Change 3426356 on 2017/05/05 by robomerge@ROBOMERGE_WEX_Main

	fix for deprecation warnings on IOS
	#jira none

Change 3424160 on 2017/05/04 by robomerge@ROBOMERGE_WEX_Main

	fix for resetting the load status when attempting a second load of an asset
	#jira WEX-6226

Change 3423174 on 2017/05/04 by robomerge@ROBOMERGE_WEX_Main

	made an extra change I didn't need
	#jira none

Change 3423173 on 2017/05/04 by robomerge@ROBOMERGE_WEX_Main

	fix for crash reports from build machine builds not symbolicating
	#jira none

Change 3422009 on 2017/05/03 by Josh.May@WEX-Main-JMAY

	#WEX
	#JIRA: None
	- Added generic widget pooling support. Among other things, this allows us to reuse the same pool of HeroIcon widgets between all HeroLists.

Change 3421747 on 2017/05/03 by robomerge@ROBOMERGE_WEX_Main

	[NULL MERGE]
	make it so we are back to 100MB
	temporary fix until I can either download the symbol file or symbolicate on the server
	#jira WEX-6142

Change 3420916 on 2017/05/03 by Brian.Zaugg@brian.zaugg_8402_WexDevMain

	#wex - Resaved Entry.umap to fix nondeterministic cooks.

	#jira WEX-5841

Change 3420757 on 2017/05/03 by robomerge@ROBOMERGE_WEX_Main

	fix for debug symbols not showing up in the ipa
	#jira none

Change 3420620 on 2017/05/03 by robomerge@ROBOMERGE_WEX_Main

	fix for some more warnings
	#jira none

Change 3420069 on 2017/05/02 by robomerge@ROBOMERGE_WEX_Main

	fix for build warning
	#JIRA none

Change 3419305 on 2017/05/02 by robomerge@ROBOMERGE_WEX_Main

	crashreporter part 2, now sending reports to the database on successive run
	#jira WEX-5531

Change 3419050 on 2017/05/02 by Josh.May@WEX-Main-JMAY

	#WEX
	#JIRA: WEX-6037
	- Added support for alert-less local notifications on iOS.

Change 3418171 on 2017/05/02 by David.Nikdel@david.nikdel_WEX

	#WEX: Merging 3385512 by Aaron.McLeran minus 2 XBOX specific merge conflicts in XBoxOneTargetPlatform.cpp and libOpus.build.cs
	#JIRA: WEX-5829

Change 3412179 on 2017/04/27 by robomerge@ROBOMERGE_WEX_Main

	fix for new warnings from CrashDebugHelper in IOS
	#jira none

Change 3411573 on 2017/04/27 by robomerge@ROBOMERGE_WEX_Main

	initial crash reporter changes (pt. 1)
	* client side to generate the crash report
	* inclusion of the debug symbols in the ipa
	#jira WEX-5531

Change 3410200 on 2017/04/26 by robomerge@ROBOMERGE_WEX_Main

	update to the dSymExporter to handle IOS
	#jira none

Change 3409679 on 2017/04/26 by Rob.Cannaday@rob.cannaday_wex

	OpenSSL 1.0.2g updates from //UE4/Main
	Fixes prompt asking user to insert a disk on a removable drive
	#jira WEX-6136

Change 3408188 on 2017/04/25 by robomerge@ROBOMERGE_WEX_Main

	update to the chunk data to allow characters to have some duplicate data in their chunks
	this increases the installed size only slightly
	#jira WEX-6118
	#jira WEX-5996

Change 3405129 on 2017/04/23 by Dmitriy.Dyomin@dmitriy.dyomin-wex

	Removed ZOrder manipulations for world map region widgets and restored caching in B_MenuBars
	#jira WEX-6071

Change 3404674 on 2017/04/21 by Chris.Babcock@Chris.Babcock_Z2433_WEX

	Better Android web browser closing
	#jira WEX-5871
	#ue4
	#android

Change 3404003 on 2017/04/21 by robomerge@ROBOMERGE_WEX_Main

	revert out the lock free list change, was bleed over from a memory test
	#jira WEX-6077

Change 3403125 on 2017/04/21 by robomerge@ROBOMERGE_WEX_Main

	#WEX
	#JIRA: WEX-5669
	- Exposed binadable OnRowReleased delegate for UListView.
	- Added UListView widget resuse for the FriendsList. As is, each FriendsList instance now uses at most 16 FriendWidget's apiece.

Change 3402992 on 2017/04/20 by josh.may@WEX-Main-JMAY

	#WEX
	#JIRA: WEX-5669
	- Refactored the FriendsList to use a UListView. Instead of handling UWExpFriendWidgets directly, the UListView tracks an array of
UWExpFriendProxy objects and sets up the widgets based on what's visible.
	- Exposed a few STableViewBase functions to UListView's blueprint interface (scroll to start/end, list refreshing).

Change 3402970 on 2017/04/20 by Chris.Babcock@Chris.Babcock_Z2433_WEX

	Fix copy-paste bug
	#jira WEX-5871

Change 3402914 on 2017/04/20 by Chris.Babcock@Chris.Babcock_Z2433_WEX

	Better behavior for Android LaunchURL
	#jira WEX-5871
	#ue4
	#android

Change 3401897 on 2017/04/20 by robomerge@ROBOMERGE_WEX_Main

	Xcode 8.3 compiler fixes
	#jira none

Change 3397963 on 2017/04/18 by robomerge@ROBOMERGE_WEX_Main

	#ROBOMERGE-AUTHOR: josh.may
	#WEX
	#JIRA: WEX-5966
	- Added safer SAndroidWebBrowserWidget lookups. Rather than using the GetNativePtr result directly, we treat it as a key to lookup a WeakPtr
to the corresponding SAndroidWebBrowserWidget. For the future, we may want to convert the key type to an FName to make this relationship more clear.

Change 3397360 on 2017/04/18 by robomerge@ROBOMERGE_WEX_Main

	#ROBOMERGE-AUTHOR: michael.noland
	UMG - Fixing widget alignment in the viewport when using the widget component with screen space, with an aspect ratio lock on the player's
camera.  The widgets should now show up in the right locations.
	#reimplementing CL# 3371590 from Dev-Editor
	#jira None

Change 3387613 on 2017/04/10 by Josh.Markiewicz@JMARKIEWICZ_WEXMAIN

	#UE4 - moving Android Facebook SDK to NFL directory
	#jira OGS-636

Change 3383489 on 2017/04/06 by Peter.Sauerbrei@peter.sauerbrei_WEX

	use pngs for iconbs in the plist
	properly copy icon pngs
	#jira none

Change 3375079 on 2017/03/31 by Chris.Babcock@Chris.Babcock_Z2433_WEX

	Add missing keycodes for Android keyboard
	#jira WEX-5777
	#android

Change 3369953 on 2017/03/29 by David.Nikdel@david.nikdel_WEX

	#Android: (from ChrisB)
	- Workaround to not having GET_ACCOUNTS permission but calling GoogleAuthUtil.getToken anyway (causes a crash)
	- We don't need this token anyway so band-aiding it out
	#JIRA: WEX-5730

Change 3369826 on 2017/03/29 by Daniel.Vogel@battle_breakers

	trimmed include to only include what is needed

	#jira none

Change 3369563 on 2017/03/29 by Allan.Bentham@allan.bentham_WEX

	Fix Android build error.
	fallout from 3358094
	#jira WEX-5193
	#rb none

Change 3368945 on 2017/03/28 by Josh.May@WEX-Main-JMAY

	#WEX
	#JIRA: WEX-5675
	- Ensure the local scope ScreenRect passed into OnVirtualKeyboardShown in AndroidJNI is captured by value instead of by reference.
	- Moved ShowVirtualKeyboardInput's bKeyboardShowing early-out checks into the UI thread task. This allows the keyboard to continue showing
when changing focus between multiple EditableTextBox widgets.

Change 3368793 on 2017/03/28 by Josh.Markiewicz@JMARKIEWICZ_WEXMAIN

	#UE4 - java toolchain changes for OnlineSubsystemGoogle
	- update google auth to 9.8.0
	- update required sdk to 25
	#jira none

Change 3366529 on 2017/03/27 by Daniel.Vogel@battle_breakers

	added CSV output w/ class type
	skip /Script/ dependencies

	#jira n/a

Change 3366478 on 2017/03/27 by Chris.Babcock@Chris.Babcock_Z2433_WEX

	Updated Android newkeyboard support
	* AndroidRuntimeSetting bEnableNewKeyboard instead of commandline to enable
	* Calculating the area covered by the virtual keyboard
	* Calling OnVirtualKeyboardShown and OnVirtualKeyboardHidden events
	* Passing the Rect of the area covered by the virtual keyboard OnVirtualKeyboardShown event
	#jira WEX-5675

Change 3364155 on 2017/03/24 by Josh.May@WEX-Main-JMAY

	#WEX
	#JIRA: WEX-5538
	- Removed FPlatformMisc::IsPluggedIn() and migrated the iOS/Android implementations over to FPlatformMisc::IsRunningOnBattery().
	- Fixed EBatteryState enumeration ordering in FAndroidMisc. According to Google's documentation, BATTERY_STATUS_CHARGING=2,
BATTERY_STATUS_DISCHARGING=3, BATTERY_STATUS_FULL=5, BATTERY_STATUS_NOT_CHARGING=4, BATTERY_STATUS_UNKNOWN=1.

Change 3363599 on 2017/03/24 by Josh.May@WEX-Main-JMAY

	#WEX
	#JIRA: WEX-5538
	- Added FPlatformMisc::IsPluggedIn().
	- Block battery drainage tracking when the device is plugged in.

Change 3363498 on 2017/03/24 by robomerge@ROBOMERGE_WEX_Main

	#ROBOMERGE-AUTHOR: peter.sauerbrei
	fix for archives having truncated directory names
	#jira none

Change 3363297 on 2017/03/24 by Chris.Babcock@Chris.Babcock_Z2433_WEX

	Fix Android password hiding
	#jira WEX-5159
	#ue4
	#android
	#rb Peter.Sauerbrei

Change 3362117 on 2017/03/23 by Josh.May@WEX-Main-JMAY

	#WEX
	#JIRA: WEX-5538, WEX-5591
	- Added FPlatformMisc::GetBatteryLevel().
	- Added battery usage tracking to the PerformanceTrackingManger. This is tracked per SecondaryContext and accumulated whenever the
SecondaryContext changes.
	- Added BatteryTimeSpent and BatteryDelta attributes to the Perf_Menu analytics events.
	- Added OnEnterForeground and OnEnterBackground handling for performance analytics tracking. FWExpAnalytics now maintains it's own multicast
delegates for both scenarios to avoid delegate registration ordering issues (i.e. OnEnterBackground informs subscribers prior to flushing it's
AnalyticsProvider). Unfortunately, events sent during these transitions need to use the AnalyticsProvider directly to get around IsInGameThread()
checks in FWExpAnalytics. I've added notes in FWExpAnalytics explaining this.
	- Added DevicePerfBucket to the FWExpAnalytics::StartSessionAttrs().

Change 3359313 on 2017/03/22 by David.Nikdel@david.nikdel_WEX

	#WidgetComponent
	- Create a simple box proxy for cases where the widget wouldn't otherwise be visible in the editor.
	#JIRA: none

Change 3359294 on 2017/03/22 by David.Nikdel@david.nikdel_WEX

	#Engine #ActorComponents: Pasting components
	- Try to respect the pasted component's name if possible.
	- Disable tree updates while pasting (pasting 100 components generated O(100^2) node updates)
	- Scroll into view after pasting
	#JIRA: none

Change 3359262 on 2017/03/22 by Josh.May@WEX-Main-JMAY

	#WEX
	#JIRA: WEX-5286
	- Added an ActionMapping for toggling a 4th ParticleLODBias preset (VeryLow).
	- Added editor hotkeys for switching between specific LODLevels in Cascade. As is, the hotkeys are CTRL+M for LOD0, CTRL+Comma for LOD1, CTRL
+Period for LOD3, and CTRL+Slash for LOD4.
	- Remapped the in-game ParticleLODBias hotkeys to match the hotkeys in Cascade.

Change 3358952 on 2017/03/22 by Josh.May@WEX-Main-JMAY

	#WEX
	#JIRA: None
	Reverted my change that reversed Cascade's LOD ordering.

Change 3358816 on 2017/03/22 by robomerge@ROBOMERGE_WEX_Main

	#ROBOMERGE-AUTHOR: peter.sauerbrei
	some changes to track down this rare streaming crash
	#jira WEX-5631

Change 3358544 on 2017/03/22 by robomerge@ROBOMERGE_WEX_Main

	#ROBOMERGE-AUTHOR: peter.sauerbrei
	fix for IOS 8 crash when trying to link Facebook
	addition of IOSVersionCompare to FIOSPlatformMisc
	#jira WEX-5613

Change 3358099 on 2017/03/22 by Allan.Bentham@allan.bentham_WEX

	Add 'bBuildWithHiddenSymbolVisibility' to AndroidPlatform.HasDefaultBuildConfig()
	bBuildWithHiddenSymbolVisibility defaults to false in BaseEngine.ini
	#jira WEX-5193

Change 3358094 on 2017/03/22 by Allan.Bentham@allan.bentham_WEX

	Added Android option to enable builds with hidden symbol visbility by default. (bBuildWithHiddenSymbolVisibility)
	Android links with -gc-sections to remove unused code/data
	Add JNI_METHOD for java accessible native functions, fix up existing JNI functions to use macro.
	Add support to generate a map file with android.
	#rb chris.babcock
	#jira WEX-5193

Change 3357775 on 2017/03/21 by Josh.May@WEX-Main-JMAY

	#WEX
	#JIRA: WEX-5286
	- Promoted r.ParticleLODBias to a full-blown scalability setting.
	- Ensure DirectSet particle systems don't set their initial LODLevel based on LOD distances.
	- Ensure ParticleSystems get their initial LODLevel set on activation relative to the LODBias.
	- Reversed the Cascade's LOD ordering to be consistent with other systems.

Change 3352516 on 2017/03/17 by David.Nikdel@david.nikdel_WEX

	#WEX: perforce is the devil
	#JIRA: none

Change 3352404 on 2017/03/17 by David.Nikdel@david.nikdel_WEX

	#WEX: Moving LocalMCP into the WEX folder so UGS will sync it along with everything else
	#JIRA: none

Change 3352291 on 2017/03/17 by David.Nikdel@david.nikdel_WEX

	#WEX: Fix for a bug in run-local-mcp-main.bat
	#JIRA: none

Change 3352242 on 2017/03/17 by David.Nikdel@david.nikdel_WEX

	#WEX: Change build.gradle to pull from the EPIC_BUILD_CREDENTIALS_NEXUS_* env vars and hardcode repo url for now
	#JIRA: none

Change 3352046 on 2017/03/17 by David.Nikdel@david.nikdel_WEX

	#WEX: Get the stream name from P4 in the run-local-mcp-main.bat script
	- removed wex's run-release.bat (won't be necessary)
	- removed the product_version param (going off stream name now)
	#JIRA: none

Change 3351635 on 2017/03/17 by David.Nikdel@david.nikdel_WEX

	#WEX: LocalMCP changes to support release branch MCP download (still need maven to support RELEASE in addition to LATEST)
	#JIRA: none

Change 3351165 on 2017/03/16 by robomerge@ROBOMERGE_WEX_Main

	#ROBOMERGE-AUTHOR: peter.sauerbrei
	compile fix
	#jira none

Change 3351162 on 2017/03/16 by robomerge@ROBOMERGE_WEX_Main

	#ROBOMERGE-AUTHOR: peter.sauerbrei
	pull chunk 1 back out
	#jira WEX-4037

Change 3351075 on 2017/03/16 by robomerge@ROBOMERGE_WEX_Main

	#ROBOMERGE-AUTHOR: peter.sauerbrei
	put all of the onboarding data in the apk, iinitial windows install, IOS is still too large for now
	#jira WEX-4037

Change 3351059 on 2017/03/16 by Josh.May@WEX-Main-JMAY

	#WEX
	#JIRA: WEX-5526
	- Added analytics events for map load times (on Chance's behalf). No info about chunk downloading yet, though.

Change 3350595 on 2017/03/16 by robomerge@ROBOMERGE_WEX_Main

	#ROBOMERGE-AUTHOR: peter.sauerbrei
	move some of the onboarding data in to the IPA
	#jira WEX-4037

Change 3349934 on 2017/03/16 by robomerge@ROBOMERGE_WEX_Main

	#ROBOMERGE-AUTHOR: peter.sauerbrei
	fix for splash screen disappearing on iPhone 5s and iPod Touch
	#jira none

Change 3348093 on 2017/03/15 by robomerge@ROBOMERGE_WEX_Main

	#ROBOMERGE-AUTHOR: peter.sauerbrei
	fix for iPod Touch 6 splash screen
	#jira WEX-5482

Change 3346183 on 2017/03/14 by robomerge@ROBOMERGE_WEX_Main

	#ROBOMERGE-AUTHOR: peter.sauerbrei
	fix for portrait only not being respected
	#jira WEX-5517

Change 3344276 on 2017/03/13 by Chris.Babcock@Chris.Babcock_Z2433_WEX

	Fix target value 1.5 obsolete warning
	#android
	#jira: none

Change 3344177 on 2017/03/13 by Chris.Babcock@Chris.Babcock_Z2433_WEX

	Add new notification icons
	#jira WEX-5173
	#ue4
	#android

Change 3343706 on 2017/03/13 by Chris.Babcock@Chris.Babcock_Z2433_WEX

	Update script version for CarefullyRedist (need to use jdk1.8)
	#jira: none
	#android

Change 3342571 on 2017/03/11 by David.Nikdel@david.nikdel_WEX

	#GooglePlay #Android #IAP: compile fix
	#JIRA: WEX-5479

Change 3342524 on 2017/03/11 by David.Nikdel@david.nikdel_WEX

	#IAP #GooglePlay #Engine: Fix for possible integer overflow getting price_amount_micros out of JSON. Really we should be returning this value
(unadjusted) to C++ as a long to avoid precision loss, but converting to double until after removing micros is probably fine for all practical
currency prices.
	#JIRA: WEX-5479

Change 3340549 on 2017/03/09 by Chris.Babcock@Chris.Babcock_Z2433_WEX

	Update handling of device and advertiser IDs for Android
	- remove GetUniqueDeviceId() - deprecated
	- add GetLoginId() - uses GUID approach
	- remove fallback from GetUnqiueAdvertisingId()
	- changed CreateUserId
	- don't send Attribution and UniqueDeviceId from USERLOGIN
	#jira WEX-5461
	#ue4
	#android
	#rb Wes.Hunt

Change 3339488 on 2017/03/09 by David.Nikdel@david.nikdel_WEX

	#Engine #JSON
	- Expose FJsonObjectConverter::GetTextFromObject conversion method so this can be used elsewhere as appropriate
	#JIRA: none

Change 3338332 on 2017/03/08 by Josh.May@WEX-Main-JMAY

	#WEX
	#JIRA: WEX-5367
	- Added background transparency support for AndroidWebBrowserWidget.

Change 3338176 on 2017/03/08 by Chris.Babcock@Chris.Babcock_Z2433_WEX

	Support large OBB files in APK
	- moved over since it also reduces process space used because OBB previously was mmapped
	#jira: none

Change 3336630 on 2017/03/07 by Josh.May@WEX-Main-JMAY

	#WEX
	#JIRA: WEX-5367
	- Ensure pending HTML content and URL are properly retained for IOSWebViewWrapper instances. This was a fix I added in CL 3214410 that got
clobbered by the most recent engine merge. After repro'ing the crash again consistently on older devices, I figured I should readd it.
	- Added background transparency support for IOSWebViewWrapper.

Change 3331981 on 2017/03/03 by Josh.Markiewicz@JMARKIEWICZ_WEXMAIN

	#UE4 - Online Subsystem consistency cleanup
	- all OSS classes use the instance name passed into the CreateFactory function
	- nothing should be using the default constructor
	- OnlineSubsystemImpl requires two params now (OSS name, Instance name)
	- added GetSubsystemName to return OSS name from OnlineSubsystemNames.h
	#JIRA none

Change 3331955 on 2017/03/03 by Josh.Markiewicz@JMARKIEWICZ_WEXMAIN

	#UE4 - Google sign-in first pass
	- discovery service query
	- user consent screen
	- token exchange for access/refresh token
	- retrieve user profile
	- logout
	#JIRA WEX-5103

Change 3331947 on 2017/03/03 by Daniel.Vogel@battle_breakers

	added GDF export support

	#JIRA n/a

Change 3331709 on 2017/03/03 by Daniel.Vogel@battle_breakers

	Added ExportDependencies to UnrealPak. It spits out a JSON of the game's package dependencies joined with size information from the PAK file.

	The format of the Json is

	array<Packages>
	   InclusiveSize
	   ExclusiveSize
	   Name
	   array<string> DirectlyReferencing
	   array<string> DirectlyReferencedBy
	   array<string> AllReferences

	allowing easy graph building and digestion of data.


	Usage example

	C:\Development\BB\WEX\Saved\StagedBuilds\WindowsNoEditor\WorldExplorers\Content\Paks\WorldExplorers-WindowsNoEditor.pak WorldExplorers WEX -
exportdependencies=c:\dvtemp\output.json -debug -NoAssetRegistryCache -ForceDependsGathering


	#JIRA n/a

Change 3329259 on 2017/03/02 by Peter.Sauerbrei@peter.sauerbrei_WEX

	switch to using jpgs for icons and splash screens

Change 3329240 on 2017/03/02 by Peter.Sauerbrei@peter.sauerbrei_WEX

	remove all duplicate data from the paks

Change 3328658 on 2017/03/01 by Peter.Sauerbrei@peter.sauerbrei_WEX

	fix for low resolution on iPad Pro
	#jira WEX-5157

Change 3326751 on 2017/03/01 by Josh.May@WEX-Main-JMAY

	#WEX
	#JIRA: WEX-5278
	- Reenable the system idle timer after FinalizeLevel has completed, as per David's feedback.
	- Added hooks for enabling/disabling the idle timer based on auto-battle being "paused" (i.e. having he options menu open).
	- Reworked the idle timer enable/disable logic for iOS to get around a silly platform limitation. As it turns out, re-enabling the system idle
timer won't reset the system-recorded idle time, meaning the idle timeout can kick-in immediately after re-enabling the idle timer after long periods
of inactivity (i.e. finishing a level with auto-battle enabled).

Change 3323981 on 2017/02/27 by Josh.May@WEX-Main-MacBookPro

	#WEX
	- Fixed a iOS startup crash. It looks like the splash image path-string was getting released prematurely in cases where the JPG splash image
doesn't exist.

Change 3323478 on 2017/02/27 by Peter.Sauerbrei@peter.sauerbrei_WEX

	check for png and then jpg for splash screens

Change 3320989 on 2017/02/24 by Chris.Babcock@Home_WEX

	Ignore AAR/JAR dependencies with scope "test"
	#android

Change 3319897 on 2017/02/23 by Josh.Markiewicz@JMARKIEWICZ_WEXMAIN

	#UE4 - Last of the facebook cleanup
	- moved profile fields to common
	- added facebook profile picture to profile and friends structures
	- moved FacebookError to OnlineSubsystemFacebookTypes.h

Change 3318425 on 2017/02/22 by Chris.Babcock@Chris.Babcock_Z2433_WEX

	Remove eglSwapInterval causing S6 to freeze
	#jira WEX-5147
	#android

Change 3317974 on 2017/02/22 by Josh.Markiewicz@JMARKIEWICZ_WEXMAIN

	#UE4 - Java toolchain fix for Facebook SDK
	- hack per ChrisB
	@codereview Chris.Babcock

Change 3317968 on 2017/02/22 by Josh.Markiewicz@JMARKIEWICZ_WEXMAIN

	#UE4 - Facebook SDK for Android enabled

Change 3317216 on 2017/02/22 by David.Nikdel@david.nikdel_WEX

	#Engine: Break out cursor building from settings into UGameViewportClient::RebuildCursors so that game code can call this method after
RemoveAllViewportWidgets if we don't want to lose cursor settings.

Change 3315560 on 2017/02/21 by Josh.Markiewicz@JMARKIEWICZ_WEXMAIN

	#UE4 - Facebook TPS files for iOS and Android latest SDKs

Change 3315541 on 2017/02/21 by Josh.Markiewicz@JMARKIEWICZ_WEXMAIN

	#WEX - Fixes for Facebook SDK changes
	- Fix for comment in DefaultPlatformService ini entry

Change 3315529 on 2017/02/21 by Josh.Markiewicz@JMARKIEWICZ_WEXMAIN

	#UE4 - Android toolchain changes

Change 3315492 on 2017/02/21 by Josh.Markiewicz@JMARKIEWICZ_WEXMAIN

	#UE4 - Facebook IOS

Change 3315490 on 2017/02/21 by Josh.Markiewicz@JMARKIEWICZ_WEXMAIN

	#UE4 - Facebook Common

Change 3315283 on 2017/02/21 by Colin.Pyle@Colin.Pyle_WEX_Main

	#WEX
	#JIRA: WEX-5114, WEX-5116
	- Buttons now only respond to first finger touch events.

Change 3315045 on 2017/02/21 by Peter.Sauerbrei@peter.sauerbrei_WEX

	enable compile for size on iOS

Change 3310519 on 2017/02/17 by Chris.Babcock@Chris.Babcock_Z2433_WEX

	Implement GetUniqueDeviceId for Android
	- this doesn't identify the device uniquely if reinstalled; it will show as a new device since it uses GUID stored to local file
	#android

Change 3310043 on 2017/02/17 by Chris.Babcock@Chris.Babcock_Z2433_WEX

	Fix bad merge related to UPL configuration variable (needed for Adjust on Android to use correct server)

Change 3310024 on 2017/02/17 by David.Nikdel@david.nikdel_WEX

	#Android #AdvertisingId
	Merging shelf CL 3195079 for Chris.Babcock

Change 3309580 on 2017/02/17 by Josh.May@WEX-Main-JMAY

	#WEX
	- Moved SOURCE_IN_LINEAR_SPACE shader #define to SlateShaderCommon.

Change 3308653 on 2017/02/17 by Dmitriy.Dyomin@dmitriy.dyomin-wex

	ShaderCache will use up to 16 samplers
	#rb jack.porter

Change 3307584 on 2017/02/16 by Josh.May@WEX-Main-MacBookPro

	#WEX
	#JIRA: WEX-5019
	- Fixed "washed out" UMG widget coloring on iOS.

Change 3305699 on 2017/02/16 by Dmitriy.Dyomin@dmitriy.dyomin-wex

	Clear for viewport instead of drawing quad on top, when scene rendering is disabled
	#rb Jack.Porter

Change 3305662 on 2017/02/16 by Dmitriy.Dyomin@dmitriy.dyomin-wex

	Update invalidation panel to account for a new LayoutToRenderTransform

Change 3305615 on 2017/02/16 by Dmitriy.Dyomin@dmitriy.dyomin-wex

	Invalidation panel fixes.
	Moved geometry checks and caching from Tick to OnPaint to account for Window resize transforms.
	Updating scissor rect inside cached elements.

Change 3305019 on 2017/02/15 by Peter.Sauerbrei@peter.sauerbrei_WEX

	Merging using WEX_Main_to_UE4_WEX_Staging

Change 3301188 on 2017/02/14 by Jack.Porter@Jack.Porter_WEX_Stream

	Added support for runtime change of the Android GT and RT affinity masks at the console.
	eg  "android.DefaultThreadAffinity GT 0x1 RT 0x2". args are bitmasks for core(s) to run on, 0=all

	#rb Dmitriy.Dyomin

Change 3300968 on 2017/02/13 by Dmitriy.Dyomin@dmitriy.dyomin-wex

	Option for invalidation panel to cache just drawable elements instead of render data (slate.CacheRenderData=0)
	Iinvalidation panel fixes
	#rb nick.darnell

Change 3300554 on 2017/02/13 by Jason.Bestimt@ROBOMERGE_WEX_Main

	#ROBOMERGE-AUTHOR: david.nikdel
	#WEX: serialize ClientVersion as a number instead of a string of the form "CL_####"

Change 3300114 on 2017/02/13 by Peter.Sauerbrei@peter.sauerbrei_MacWEX

	fix for iOS build failure

Change 3300059 on 2017/02/13 by Peter.Sauerbrei@peter.sauerbrei_WEX

	turn on PLCrashReporter for iOS

Change 3300057 on 2017/02/13 by Peter.Sauerbrei@peter.sauerbrei_MacWEX

	built PLCrashReporter for IOS

Change 3298338 on 2017/02/10 by Chris.Babcock@Chris.Babcock_Z2433_WEX

	Updated Java files that look like were missed in merge
	#rb none

Change 3295755 on 2017/02/09 by Aaron.McLeran@Wex2

	UE-41567 Fixes for duplicating sound assets

Change 3295429 on 2017/02/09 by Peter.Sauerbrei@peter.sauerbrei_MacWEX

	re-enable pak pre-cache

Change 3294463 on 2017/02/09 by Allan.Bentham@allan.bentham_WEX

	Bump shader version, hopefully will make WEX-4517 go away...
	#rb none

Change 3294229 on 2017/02/09 by Allan.Bentham@allan.bentham_WEX

	Prevent UI materials producing encoded results.
	#jira WEX-4975
	#rb Jack.Porter

Change 3293759 on 2017/02/08 by Chris.Babcock@Chris.Babcock_Z2433_WEX

	Don't enqueue TickVideo since it is causing a hang (movies not used in WEX) DO NOT MOVE BACK
	#jira WEX-5046
	#rb Max.Preussner

Change 3291872 on 2017/02/08 by Allan.Bentham@allan.bentham_WEX

	add RGBA8 mode to mobile HDR 32bpp encoding methods. (render directly to RGBA8 scene colour target)
	r.MobileHDR32bppMode == 3 to override devices encoding mode with RGBA
	enabled in WEX for android low end devices.
	add mosaic state to android window's resolution cache conditions.
	#jira WEX-4927
	#rb chris.babcock, jack.porter

Change 3289698 on 2017/02/07 by Dmitriy.Dyomin@dmitriy.dyomin-wex

	Enabled bExplicitCanvasChildZOrder by default (saves more than 100 drawcalls in Heroes tab)
	Fixed ordering of CommanderBar image in B_HeroIcon
	Removed unique ZOrder for world map region widgets (saves more than 100 drawcalls in WorldMap)

Change 3289082 on 2017/02/06 by Josh.Markiewicz@JMARKIEWICZ_WEX_MACPRO

	#UE4 - cleaned up some dev garbage in Facebook module file

Change 3288589 on 2017/02/06 by Chris.Babcock@Chris.Babcock_Z2433_WEX

	Temporarily limit GMaxTextureSamples to 16 for Android
	#jira WEX-5051
	#rb Peter.Sauerbrei

Change 3286181 on 2017/02/03 by Tyler.Cole@tyler.cole-Z6140-stream-wex

	[Engine]
	LocalMcp run script:
	- Remove quotes from output.
	- Display progress bar when downloading artifact.
	- Output MongoDB data directory.

Change 3286118 on 2017/02/03 by Jason.Bestimt@ROBOMERGE_WEX_Main

	#ROBOMERGE-AUTHOR: peter.sauerbrei
	[NULL MERGE]
	turn off logging in test builds in release stream

Change 3286106 on 2017/02/03 by Kevin.Abbott@WEX2017

	#LocalMCP: Fix for BAT file terribleness (the whole if command is evailuated at once so an internal SET doesn't take effect until outside the
block)

Change 3285065 on 2017/02/03 by Jason.Bestimt@ROBOMERGE_WEX_Main

	#ROBOMERGE-AUTHOR: peter.sauerbrei
	better fix for the app name in the archive

Change 3285060 on 2017/02/03 by Jason.Bestimt@ROBOMERGE_WEX_Main

	#ROBOMERGE-AUTHOR: peter.sauerbrei
	fix for archive failure

Change 3284408 on 2017/02/02 by Jason.Bestimt@ROBOMERGE_WEX_Main

	#ROBOMERGE-AUTHOR: peter.sauerbrei
	properly naming the dSYM for uploading
	#rb none

Change 3284022 on 2017/02/02 by Josh.Markiewicz@JMARKIEWICZ_WEXMAIN

	#UE4 - Facebook changes to get Windows/iOS up to date
	- Facebook user data structure gets information from proper URL request with valid public fields, stores consistently on both platforms
	-- store values in generic key value pairs
	- RequestElevatedPermissions feature that goes through external ui to grant more permissions (Windows)
	- Reorder shutdown so that sharing interface can properly register/unregister from LoginStatusChanged events

Change 3283978 on 2017/02/02 by Jason.Bestimt@ROBOMERGE_WEX_Main

	#ROBOMERGE-AUTHOR: peter.sauerbrei
	[NULL MERGE]
	potential fix for dSYM not uploading properly
	#rb none

Change 3283672 on 2017/02/02 by Chris.Babcock@Chris.Babcock_Z2433_WEX

	Fix for web browser crash on Android distribution (from 4.15)
	#jira WEX-4947
	#rb none

Change 3283329 on 2017/02/02 by Tyler.Cole@tyler.cole-Z6140-stream-wex

	[Engine]
	Add support for uberjar MCPs in LocalMcp scripts.

	[WEX]
	Use uberjar when launching local MCP.

Change 3283030 on 2017/02/02 by Allan.Bentham@allan.bentham_WEX

	Fix for tangents not being avaliable in ES2 pixel shader when transformvector/transformposition nodes are used.
	#jira WEX-4517.
	#rb jack.porter

Change 3281190 on 2017/02/01 by Peter.Sauerbrei@peter.sauerbrei_MacWEX

	pull over the metal state rasterizer fix from main
	#jira WEX-4855

Change 3280541 on 2017/01/31 by Chris.Babcock@Chris.Babcock_Z2433_WEX

	More GCM work
	- platform=ANDROID for registration URL (case-sensitive)
	- hooked up registration through FPlatformMisc like iOS
	- removed old retrigger for delegates (not needed)
	- stubbed in unregister for later
	- added notification generation on message (disabled for now)

Change 3280255 on 2017/01/31 by Michael.Noland@mnoland_T2801_WEX_Main

	Canvas: Fixed a bug where UCanvas::K2_DrawMaterial did not respect the currently active canvas draw color
	Upgrade Notes: This does change the behavior, so K2_DrawMaterial calls with a non-white color set will now be affected by the color *if* they
use a vertex color node.  Impact is expected to be minimal because most of the materials people used with it were unlikely to include the vertex color
node.

Change 3280150 on 2017/01/31 by Peter.Sauerbrei@peter.sauerbrei_WEX

	fix for double add to manifests

Change 3279807 on 2017/01/31 by Peter.Sauerbrei@peter.sauerbrei_WEX

	fix for iOS build failure

Change 3279583 on 2017/01/31 by Peter.Sauerbrei@peter.sauerbrei_WEX

	fix for animation crash
	#jira WEX-4906

Change 3279310 on 2017/01/31 by Peter.Sauerbrei@peter.sauerbrei_WEX

	reduce the parallelism of the packaging step to alleviate strain on Mac

Change 3278827 on 2017/01/31 by Dmitriy.Dyomin@dmitriy.dyomin-wex

	Fixed: Multiple UI assets appear too dark when accessed (replicated CL#3278637, 3278802 from 4.15)
	#jira WEX-4862

Change 3278558 on 2017/01/30 by Chance.Lyon@Chance.Lyon_WEX_Dev-Main

	#WEX
	#JIRA: WEX-4634
	- Attempt to re-hide the navigation bar when we detect a few different events

Change 3277376 on 2017/01/30 by Peter.Sauerbrei@peter.sauerbrei_WEX

	disable pak precaching as it seems to be causing crashes

Change 3276469 on 2017/01/28 by Chris.Babcock@Chris.Babcock_Z2433_WEX

	Fixes for GoogleCloudMessaging
	- moved registration later to correct issues with engine not ready
	- save registration status message and token for later retrigger
	- UWExpMcpProfile::Initialize uses retrigger after binding to delegate so it gets the earlier success/fail
	- send correct platform in OnRegisteredForRemoteNotifications (Android or IOS)

Change 3276308 on 2017/01/27 by Michael.Noland@mnoland_T2801_WEX_Main

	UBT: Improved the error message when the wrong header is first in an engine file to include the wrong file name

Change 3275574 on 2017/01/27 by David.Nikdel@david.nikdel_WEX

	#WEX: performance tracking analytics tags
	- make FPerformanceTrackingChart::DumpChartToAnalyticsParams const-correct
	- Broke out the event firing code into their own functions and added scraper documentation (unsure if 100% correct, Michael please review)
	- changed #if to regular if so inner code gets compiled in all cases
	#JIRA: WEX-4838

Change 3275275 on 2017/01/27 by Peter.Sauerbrei@peter.sauerbrei_WEX

	fix for missing virtual keyboard
	#jira WEX-4859

Change 3275266 on 2017/01/27 by Josh.Markiewicz@JMARKIEWICZ_WEX_MACPRO

	#UE4 - Facebook iOS upgrade to 4.18
	IdentityInterface should be using proper in app dialogs now

Change 3275263 on 2017/01/27 by Josh.Markiewicz@JMARKIEWICZ_WEX_MACPRO

	Facebook SDK 4.18

Change 3274408 on 2017/01/26 by Peter.Sauerbrei@peter.sauerbrei_WEX

	fix for tower collision

Change 3273928 on 2017/01/26 by Peter.Sauerbrei@peter.sauerbrei_WEX

	Merging

	//UE4/Release-4.15/Engine/Source/Runtime/...

	to //WEX/Main/Engine/Source/Runtime/...

Change 3273907 on 2017/01/26 by Josh.Markiewicz@JMARKIEWICZ_WEXMAIN

	#UE4 - moved parsing of LogCategory verbosity slightly sooner to occur before plugins are loaded
	- fixes plugins not printing proper log levels if initialized too early
	#rb gil.gribb

Change 3272834 on 2017/01/25 by Chris.Babcock@Chris.Babcock_Z2433_WEX

	Add GoogleCloudMessaging plugin for Android

Change 3272124 on 2017/01/25 by Jamie.Dale@JamieDale_BHX-WD-7636_WEX

	Updated the GatherText commandlet to no longer hold a ConfigFile pointer while it runs

	This pointer is internal to GConfig, and may be updated (or invalidated) when other config files are loaded (as can happen via game code while
gathering text).

	#rb Peter.Sauerbrei

Change 3272044 on 2017/01/25 by David.Nikdel@david.nikdel_WEX

	#Json: Adding MapProperty support to JsonObjectConverter
	- Only TMaps with FString keys are allowed (to match JSON spec)
	- ScheduledEvents module is dependent on this commit (at runtime, compile is ok)

Change 3272035 on 2017/01/25 by Peter.Sauerbrei@peter.sauerbrei_WEX

	fix for crash when trying to pre-cache a pak file smaller than the cache granularity

Change 3271618 on 2017/01/25 by Allan.Bentham@allan.bentham_WEX

	Avoid unneeded stencil clear in mobile renderer.
	#rb jack.porter

Change 3271536 on 2017/01/25 by Peter.Sauerbrei@peter.sauerbrei_WEX

	fix for non-unity compile failures

Change 3270865 on 2017/01/24 by Peter.Sauerbrei@peter.sauerbrei_WEX

	fix for another warning

Change 3270781 on 2017/01/24 by Peter.Sauerbrei@peter.sauerbrei_WEX

	some warning fixes

Change 3270395 on 2017/01/24 by Nick.Darnell@Nick.Darnell_BattleBreakers

	UMG - Adding a way to config the default option for how Scaleboxes should perform layout, single or double.

	#rb none

Change 3270051 on 2017/01/24 by Peter.Sauerbrei@peter.sauerbrei_WEX

	Merging using WEX_Main_to_UE4_WEX_Staging
	#rb none

Change 3268999 on 2017/01/23 by Colin.Pyle@Colin.Pyle_WEX_Main

	#WEX
	#JIRA: WEX-4685
	- Scale boxes now default to single pass

Change 3263481 on 2017/01/19 by Dmitriy.Dyomin@dmitriy.dyomin-wex

	Enabled shader cache on Android
	Also added recorded shader cache from my play session (need to record more complete cache later)
	#rb jack.porter
	#jira WEX-4691

Change 3258935 on 2017/01/16 by David.Nikdel@david.nikdel_WEX

	#WebBrowser: Fix field initialization order warning.

Change 3258614 on 2017/01/16 by David.Nikdel@david.nikdel_WEX

	#Engine #WebBrowser:
	- LoadString literally didn't work on strings with line breaks in them due to our forwarding of the request content via the headers (wut?).
Cef barfed trying to parse header values with newlines in them.
	- Changed locally generated requests to use PostData instead.
	- Added a way to specify the mime type by appending a hash to the dummy url (the BP params for this are all kinds of weird, but I don't want
to change the signature)
	- Default mime type to text/html to support the old behavior

Change 3257030 on 2017/01/13 by Peter.Sauerbrei@peter.sauerbrei_WEX

	turn on test logging
	DO NOT SUBMIT THIS TO UE4/MAIN
	#rb none

Change 3256835 on 2017/01/13 by Nick.Darnell@Nick.Darnell_BattleBreakers

	Slate - Fixing the size of Paper2D sprites when used as box brushes in Slate.

	#rb none

Change 3256813 on 2017/01/13 by Nick.Darnell@Nick.Darnell_BattleBreakers

	Slate/UMG - The ScaleBox now supports a SingleLayoutPass mode.  This mode is not the default, but it can save a considerable amount of time in
the right situation.  Generally when wrapped around a large UI, where the outer bounds of the scalebox are constant.

	#rb none

Change 3256777 on 2017/01/13 by Nick.Darnell@Nick.Darnell_BattleBreakers

	UMG - Adding a way to access the absolute size of a piece of Geometry in blueprints.

	#rb none

Change 3256774 on 2017/01/13 by Nick.Darnell@Nick.Darnell_BattleBreakers

	UMG - Adding a way to access the absolute size of a piece of Geometry in blueprints.

	#rb none

Change 3256656 on 2017/01/13 by Dmitriy.Dyomin@dmitriy.dyomin-wex

	Slate pixel shaders will use half precision where possible on mobile
	#rb jack.porter

Change 3256586 on 2017/01/13 by Dmitriy.Dyomin@dmitriy.dyomin-wex

	Fixed redundant blend state changes in opengl
	#rb jack.porter

Change 3256584 on 2017/01/13 by Dmitriy.Dyomin@dmitriy.dyomin-wex

	Reduced state setup for slate draw calls (saves about 4ms RT time on mobile)
	#rb jack.porter

Change 3256380 on 2017/01/12 by Jason.Bestimt@ROBOMERGE_WEX_Main

	#ROBOMERGE-AUTHOR: peter.sauerbrei
	properly set the file extension for the dSYM for the manifest
	#rb none

Change 3256260 on 2017/01/12 by Jason.Bestimt@ROBOMERGE_WEX_Main

	#ROBOMERGE-AUTHOR: peter.sauerbrei
	trying to track down why the dSYM isn't working
	#rb none

Change 3255825 on 2017/01/12 by Jason.Bestimt@ROBOMERGE_WEX_Main

	#ROBOMERGE-AUTHOR: peter.sauerbrei
	return the zip version for now
	#rb none

Change 3255652 on 2017/01/12 by Jason.Bestimt@ROBOMERGE_WEX_Main

	#ROBOMERGE-AUTHOR: peter.sauerbrei
	add dSYM.zip to the output produced if we want the dSYMBundle
	utilize that if it exists to populate the xcarchive
	#rb none

Change 3254552 on 2017/01/11 by Jason.Bestimt@ROBOMERGE_WEX_Main

	#ROBOMERGE-AUTHOR: peter.sauerbrei
	fix for build error
	#rb none

Change 3254462 on 2017/01/11 by Chris.Babcock@Chris.Babcock_Z2433_WEX

	C string is not null terminated in FCurlHttpRequest::DebugCallback
	#jira WEX-4610

Change 3254448 on 2017/01/11 by Jason.Bestimt@ROBOMERGE_WEX_Main

	#ROBOMERGE-AUTHOR: peter.sauerbrei
	make it so xcarchives can be archived to a directory on build machines
	make it so the build machine puts the CL in as the CFBundleVersion
	make it so we generated an XCArchive and a dSYM
	#rb none

Change 3251055 on 2017/01/09 by Nick.Darnell@Nick.Darnell_BattleBreakers

	Platform - Adding the degree symbol to the log statement for android's temperature update, and noting that it's celsius.

	#rb none

Change 3250488 on 2017/01/08 by Dmitriy.Dyomin@dmitriy.dyomin-wex

	Fixed: Device output log partial lines
	#rb jack.porter

Change 3249072 on 2017/01/06 by Dmitriy.Dyomin@dmitriy.dyomin-wex

	Disable java console cmd receiver only in shipping builds
	#rb jack.porter

Change 3248990 on 2017/01/06 by Jack.Porter@Jack.Porter_WEX_Stream

	Support Dynamic r.MobileContentScaleFactor change on Android
	#rb Dmitriy.Dyomin

Change 3248989 on 2017/01/06 by Jack.Porter@Jack.Porter_WEX_Stream

	Integrating Mobile Support for r.ScreenPercentage
	#rb Dmitriy.Dyomin

Change 3248156 on 2017/01/05 by Chris.Babcock@Chris.Babcock_Z2433_WEX

	Added trackSubsessionStart to iOS Adjust plugin (for real)
	#ios

Change 3248131 on 2017/01/05 by Chris.Babcock@Chris.Babcock_Z2433_WEX

	Added trackSubsessionStart to iOS Adjust plugin
	#ios

Change 3245184 on 2017/01/03 by Josh.Markiewicz@JMARKIEWICZ_WEXMAIN

	#UE4 - FB OSS for PC
	- login flow implemented using web based LoginFlow module
	- implemented ShowLoginUI for external UI interface
	- added Login function with existing access token
	- fixed GetAuthType function
	- added reference to main online subsystem to Friend/Identity interfaces

Change 3243067 on 2016/12/22 by Josh.Markiewicz@JMARKIEWICZ_WEXMAIN

	#UE4 - used more prpoer shared pointer cast

Change 3241011 on 2016/12/20 by Chance.Lyon@Chance.Lyon_WEX_Dev-Main

	#WEX
	#JIRA WEX-4557
	- An engine change that separates serializing the actor from file operations
	- Serialize the saved level on the main thread, save it to a slot during the async task

Change 3240508 on 2016/12/19 by Michael.Noland@mnoland_T2801_WEX_Main

	Engine: Added GetGameInstance<T> and GetGameInstanceChecked<T> wrappers to UWorld that automatically Cast/CastChecked to the specified
subclass of UGameInstance

Change 3240366 on 2016/12/19 by Josh.May@josh.may-WEX-MacBookPro-DevMain

	#WEX
	#JIRA: WEX-4475
	- Block UIWebView closure from granting keyboard focus to the parent IOSView. This was causing the keyboard to show when closing the UIWebView
after interacting with it in any way.

Change 3239026 on 2016/12/16 by Nick.Darnell@Nick.Darnell_BattleBreakers

	Slate - Removing a crashing check that turned out to not be nessesary.


Change 3238569 on 2016/12/16 by Nick.Darnell@Nick.Darnell_BattleBreakers

	Slate - Disabling the deferred desired size optimization.

Change 3237052 on 2016/12/15 by David.Nikdel@david.nikdel_WEX

	#PlatformMisc: GetUniqueAdvertisingId should return empty string unless one is defined by the platform (no fallback to GetUniqueDeviceId)

Change 3237024 on 2016/12/15 by Nick.Darnell@Nick.Darnell_BattleBreakers

	Slate - Core Refactor.  Found a way to save about 2ms on mobile for an average screen.  It involves deferring when slate computes the desired
size of a widget, from during prepass, to instead doing it on demand, and only invalidating it during Prepass.  It saves time because not every widget
cares what the desired size of their children is.

	I'm enabling it with the code define SLATE_DEFERRED_DESIRED_SIZE.

	I've added an ensure prints the message, "The layout is cyclically dependent.  A child widget can not ask the desired size of a parent while
the parent is asking the desired size of its children."

Change 3236593 on 2016/12/15 by Nick.Darnell@Nick.Darnell_BattleBreakers

	Slate - Optimizing some usage of FWidgetPath and other reduction on copies on the stack/heap.

Change 3236579 on 2016/12/15 by Nick.Darnell@Nick.Darnell_BattleBreakers

	Slate - You can now visualize batching by doing Slate.ShowBatching 1.


Change 3236453 on 2016/12/15 by Nick.Darnell@Nick.Darnell_BattleBreakers

	Slate - Further refactoring how the scrollbox manages when and how to perform scrolling when dealing with touch input.  Feels really tight to
me now and this change should resolve the problem where it sometimes doesn't respond to input, or where it over-responds to touch and amplifies
movement by the user, not able to reproduce those conditions now.


Change 3236435 on 2016/12/15 by Nick.Darnell@Nick.Darnell_BattleBreakers

	Core - Fixing some bugs with FrameValue, making it a bit simpler by just being composed of a TOptional and a uint64.

Change 3236410 on 2016/12/15 by Nick.Darnell@Nick.Darnell_BattleBreakers

	Engine - Fixing a crash in the game viewport client if no debug canvas is provded.

Change 3236405 on 2016/12/15 by Nick.Darnell@Nick.Darnell_BattleBreakers

	Android - Fixing the code that sends remote commands to android.

Change 3233400 on 2016/12/13 by Peter.Sauerbrei@peter.sauerbrei_WEX

	fix for console entry
	#jira WEX-4488

Change 3233247 on 2016/12/13 by Nick.Darnell@Nick.Darnell_BattleBreakers

	Slate - Adding some scoped performance counters for more rendering infromation in slate.

Change 3233242 on 2016/12/13 by Nick.Darnell@Nick.Darnell_BattleBreakers

	UMG - Making a few calls more efficent for mobile, by caching values for a frame that end up getting called a lot if you have several widget
components.

Change 3233236 on 2016/12/13 by Nick.Darnell@Nick.Darnell_BattleBreakers

	Core - Adding a frame cached value struct that keeps a value as valid for one GFrameCounter, which is incremented once an engine tick.

Change 3233229 on 2016/12/13 by Nick.Darnell@Nick.Darnell_BattleBreakers

	UMG - Don't layout components if they're not marked as visible in the world widget screen layer for widget componets.

Change 3233219 on 2016/12/13 by Nick.Darnell@Nick.Darnell_BattleBreakers

	Blueprints - Making the array K2 Nodes not self referencial in doing layout logic, that causes really strange behavior.

Change 3233209 on 2016/12/13 by Nick.Darnell@Nick.Darnell_BattleBreakers

	Slate - You can now show overdraw in slate by doing Slate.ShowOverdraw 1, or 0 to disable.

Change 3233202 on 2016/12/13 by Nick.Darnell@Nick.Darnell_BattleBreakers

	Slate - We now have a scope counter for text layout now, to let people determine when their text is a massive performance drain usually due to
scaleboxes.

Change 3233012 on 2016/12/13 by Michael.Noland@mnoland_T2801_WEX_Main

	Sound: Added SoundClassObject to the asset registry searchable data for sound assets, to make it easier to track down volume/muting bugs when
assets have the wrong sound class set
	- Note: Assets will need to be resaved before this data will show up for unloaded assets (loaded assets should work immediately)

Change 3230757 on 2016/12/12 by Andrew.Brown@Andrew.Brown_G5751_WEX_Main

	LauncherCheck module no longer has a dependancy on the DesktopPlatform module

	#jira OPP-6491 : LauncherCheck module is dependent on a DeveloperModule

	#branch WEX_Dev-Main

	#change Removed all the Launcher specific calls that the LauncherCheck module makes out of DesktopPlatform and into a new runtime module
called LauncherPlatform (and fixed up all the associated calls).

	#change Also removed DesktopPlatform header/module usage from files if it's no longer needed.

Change 3229399 on 2016/12/09 by Josh.May@josh.may-WEX-MacBookPro-DevMain

	#WEX
	#JIRA: WEX-3793
	- Added config support for enabling/disabling the iOS integrated keyboard implementation.
	- Switched over to using the iOS integrated keyboard implementation.
	- Ensure the character code, rather than the key code, is passed in to IOSInputInterface's calls to OnKeyChar. This caused the backspace key
to not function as intended...
	- Expanded the iOS integrated keyboard implementation to support different keyboard types and keyboard deactivation when text field widget
focus is lost.

Change 3228702 on 2016/12/09 by Nick.Darnell@Nick.Darnell_BattleBreakers

	Widget Compiler - Improving the error message for multiple widget trees.

Change 3228369 on 2016/12/08 by Nick.Darnell@Nick.Darnell_BattleBreakers

	Engine - Adding an OnStart to UGameInstance that is called for both StartPIEGameInstance and StartGameInstance.

Change 3228267 on 2016/12/08 by Nick.Darnell@Nick.Darnell_BattleBreakers

	Windows - Adding code to catch remote desktop cases where no mouse was detected, but it's a remote session, which sometimes doesn't list a
mouse, which affects how the engine handles input.

Change 3226374 on 2016/12/07 by Nick.Darnell@Nick.Darnell_BattleBreakers

	UMG - Exposing a way to dynamically set the touch/click method on buttons.

Change 3226320 on 2016/12/07 by Jason.Bestimt@ROBOMERGE_WEX_Main

	#ROBOMERGE-AUTHOR: peter.sauerbrei
	fix for get-task-allow being true when distribution is enabled

Change 3226103 on 2016/12/07 by Nick.Darnell@Nick.Darnell_BattleBreakers

	Editor - Adding PPI/DPI to the unit conversion tables.

Change 3225274 on 2016/12/07 by Michael.Noland@mnoland_T2801_WEX_Main

	Engine: Made "Can't load invalid package" warning clearer that it has a name (and thus clearer when there was no name at all)

Change 3224426 on 2016/12/06 by Michael.Noland@mnoland_T2801_WEX_Main

	Platform: Improved the warning message slightly when there is no local notification service

Change 3224421 on 2016/12/06 by Michael.Noland@mnoland_T2801_WEX_Main

	Engine: Prevent fighting between GEngine->SetMaxFPS and UGameUserSettings::SetFrameRateLimitCVar that caused log spam by preserving the 'last
set' reason when changing the value

Change 3224401 on 2016/12/06 by Michael.Noland@mnoland_T2801_WEX_Main

	[Reimplemented CL# 3134965 from Dev-Blueprints]
	Fix for crash in FCDODiffControl when CDOs have different numbers of properties. First branch in the while loop would incorrectly advance Iter
past the end of the array. Comments courtesy of Jon.Nabozny
	#jira UE-36263

Change 3224380 on 2016/12/06 by Michael.Noland@mnoland_T2801_WEX_Main

	UMG: Added a compilation warning for naughty child blueprints that define a widget hierarchy if the parent also has one (only the children
widgets will be created, the parent ones are ignored)

Change 3224084 on 2016/12/06 by Jason.Bestimt@ROBOMERGE_WEX_Main

	#ROBOMERGE-AUTHOR: josh.markiewicz
	#UE4 - Add ue4.displaymetrics.dpi metadata to query device DPI for Android
	*MERGED* Change: 3216126 Date: 11/30/2016 6:10 PM

Change 3223665 on 2016/12/06 by Chance.Lyon@Chance.Lyon_WEX_Dev-Main

	#WEX
	#JIRA: WEX-3557
	- Reduce the uniform buffer size for Android GPU's

Change 3222576 on 2016/12/05 by Michael.Noland@mnoland_T2801_WEX_Main

	MediaPlayer: Fixed a typo in the editor style that included .png twice

Change 3222574 on 2016/12/05 by Michael.Noland@mnoland_T2801_WEX_Main

	Editor: Added the missing editor Slate brush WhiteGroupBorder (been missing since branch creation, no idea why)

Change 3222487 on 2016/12/05 by Michael.Noland@mnoland_T2801_WEX_Main

	[Reimplementing CL# 3149669 from Dev-Core]
	Lower verbosity of warnings from deleting native properties. These cases do not cause any problems and are not fixable without resaving the
content after it has started warning. I checked Jira history and neither of these warnings has ever found a real bug, but has caused a lot of content
to be resaved unnecessarily.

Change 3222486 on 2016/12/05 by Michael.Noland@mnoland_T2801_WEX_Main

	[Reimplementing CL# 3149397 from Dev-Framework]
	Fix collision profile writing out response values to channels that don't exist.

Change 3222485 on 2016/12/05 by Michael.Noland@mnoland_T2801_WEX_Main

	Engine: Undoing a temporary workaround for one kind of warning that caused a different kind of warning (RE: property in collision profiles)

Change 3222341 on 2016/12/05 by Jason.Bestimt@ROBOMERGE_WEX_Main

	#ROBOMERGE-AUTHOR: david.nikdel
	Back out changelist 3220848 now that NickD's proper fix is in

Change 3222327 on 2016/12/05 by Nick.Darnell@Nick.Darnell_BattleBreakers

	UI  - Missions markers should now accept a single click to become activated.
	UI - This should resolve the majority of problems with the game getting stuck in a state where mouse capture was stolen permanatly.
	UI - Game should no longer register swipe too easily, it's now using the physical distance calculation for the screen.

	#jira WEX-4390
	#jira WEX-4137
	#jira WEX-4373

Change 3222046 on 2016/12/05 by Nick.Darnell@Nick.Darnell_BattleBreakers

	Android / IOS / Platform - Updating the logic for screen density to call an internal one overridden by each platform, and to cache that in
GenericPlatformMisc, also adding some calls to convert Inches to Pixels and Pixels to Inches.  Did some general cleanup around this work with names
and such.

	Slate - Also fixing an issue in SlateApp, we now always break mouse lock on Touch input when a finger is released.

Change 3221875 on 2016/12/05 by Jason.Bestimt@ROBOMERGE_WEX_Main

	#ROBOMERGE-AUTHOR: david.nikdel
	#ChunkInstaller:
	- Added support for errors that may occur during ParseManifest
	- Renamed BuildVersion (variable) to BuildUrl to match JSON key
	- Fail parsing on bad file entry
	- In the event of a client mismatch, fail manifest download with a specific error (will need to plus this later at the app level)
	- Don't rebind delegates when entering Setup after a Retry
	- Check bNeedsRetry befpre doing countdown for auto-retry

Change 3221737 on 2016/12/05 by Michael.Noland@mnoland_T2801_WEX_Main

	Engine: Added the ability to suppress warnings when using on-screen log warning/error display (DurationOfErrorsAndWarningsOnHUD > 0) by
setting Engine.SupressWarningsInOnScreenDisplay to 1

Change 3221593 on 2016/12/05 by Jason.Bestimt@ROBOMERGE_WEX_Main

	#ROBOMERGE-AUTHOR: peter.sauerbrei
	fix for icons missing in the IPA
	#jira WEX-4380

Change 3220588 on 2016/12/03 by Jason.Bestimt@ROBOMERGE_WEX_Main

	#ROBOMERGE-AUTHOR: david.nikdel
	#IOS #PlatformMisc: Adding PPI information for IOS_IPhone7 and IOS_IPhone7Plus

Change 3220084 on 2016/12/02 by Jason.Bestimt@ROBOMERGE_WEX_Main

	#ROBOMERGE-AUTHOR: peter.sauerbrei
	fix for iPhone 7/7Plus not finding the correct splash screen image for holding
	addition of iPhone 7/7Plus device profiles
	hold the splash screen until the manifest is downloaded

Change 3220056 on 2016/12/02 by Jason.Bestimt@ROBOMERGE_WEX_Main

	#ROBOMERGE-AUTHOR: peter.sauerbrei
	changes to make it so we only copy the images needed for the support orientations
	set minimu iOS to 8

Change 3220036 on 2016/12/02 by Jason.Bestimt@ROBOMERGE_WEX_Main

	#ROBOMERGE-AUTHOR: peter.sauerbrei
	make it so the engine doesn't try to load editor only content in the game
	#jira WEX-4319

Change 3219992 on 2016/12/02 by Nick.Darnell@Nick.Darnell_BattleBreakers

	Slate - Locking down the exposure of ComputeDesiredSize, this function was never intended to be public on widgets, so trying to prevent that.

Change 3219754 on 2016/12/02 by Nick.Darnell@Nick.Darnell_BattleBreakers

	Adding the console command Slate.ShowDebugTextLayout to help debug layout issues in Slate.

Change 3218374 on 2016/12/01 by Jason.Bestimt@ROBOMERGE_WEX_Main

	#ROBOMERGE-AUTHOR: peter.sauerbrei
	some code missed in an earlier check-in to reduce data duplication in chunks

Change 3218358 on 2016/12/01 by Jason.Bestimt@ROBOMERGE_WEX_Main

	#ROBOMERGE-AUTHOR: michael.noland
	Engine: Changed FPSChart analytics events to send IniPlatformName instead of PlatformName for the PlatformName parameter
	- Most platforms don't change
	- Android removes the texture format suffix from it (main goal of the change, though it also unifies behavior with a number of other analytics
events that were already using IniPlatformName)
	- Desktop platforms remove the editor/client/server distinction, which should be fine since the event names for client/server are different
already
	#rb david.nikdel

Change 3218354 on 2016/12/01 by Jason.Bestimt@ROBOMERGE_WEX_Main

	#ROBOMERGE-AUTHOR: michael.noland
	Engine: Added FPlatformMisc::GetDeviceMakeAndModel() which tries to return DeviceMake|DeviceModel where possible, and CPUVendor|CPUBrand
otherwise
	#rb david.nikdel

Change 3218353 on 2016/12/01 by Jason.Bestimt@ROBOMERGE_WEX_Main

	#ROBOMERGE-AUTHOR: michael.noland
	Engine: Added reporting of PeakPhysical and PeakVirtual memory usage to FPS chart analytics
	#rb david.nikdel
	#jira WEX-4342

Change 3217769 on 2016/12/01 by Nick.Darnell@Nick.Darnell_BattleBreakers

	Slate - Disabled widgets now render correctly on mobile.  Previously they were being transformed as if they were in linear space, on mobile
the textures and fonts are already in gamma space, so the transform for luminance needs to also be done in gamma space.

Change 3217059 on 2016/12/01 by Nick.Darnell@Nick.Darnell_BattleBreakers

	Slate/UMG - Tweaking how the scrollbars fade on different platforms to be a platform defined feature.  Cleaning up some logic in the
InertialScrollManager to be configurable externally.

Change 3216605 on 2016/12/01 by Dmitriy.Dyomin@dmitriy.dyomin-wex

	Fixed precision issues on Adreno devices when sampling sRGB textures
	#rb Jack.Porter

Change 3216388 on 2016/11/30 by Nick.Darnell@Nick.Darnell_BattleBreakers

	IOS - Tweaking the unknown screen density value to be a multiple of the native CSF, which should get us pretty close.

Change 3216382 on 2016/11/30 by Nick.Darnell@Nick.Darnell_BattleBreakers

	Android - Calculating CSF using the surface size vs window size.

Change 3216376 on 2016/11/30 by Nick.Darnell@Nick.Darnell_BattleBreakers

	IOS - Fixing a bug with scaling screen density by the content scale factor.

Change 3216335 on 2016/11/30 by Nick.Darnell@Nick.Darnell_BattleBreakers

	Android - Converting the code over in GetPhysicalScreenDensity to use an average of xdpi and ydpi as the approximate density, as the direct
density call is affected by users adjusting their screen size option in the OS, which we definitely are not interested in taking into account here.

Change 3216313 on 2016/11/30 by Nick.Darnell@Nick.Darnell_BattleBreakers

	Build - Fixing the build on mac.

Change 3216126 on 2016/11/30 by Chris.Babcock@Chris.Babcock_Z2433_WEX

	Add ue4.displaymetrics.dpi metadata to query device DPI for Android

Change 3215983 on 2016/11/30 by Nick.Darnell@Nick.Darnell_BattleBreakers

	Slate - Reverting a change to button I was testing things with.

Change 3215971 on 2016/11/30 by Nick.Darnell@Nick.Darnell_BattleBreakers

	UMG/Android - Making several improvements to the way mobile scrolling is handled in UMG/Slate.  Introducing a way to get the Physical Screen
Density on Android and iOS.  On iOS it's a hardcoded set of densities, for android they're loaded from the AndroidEngine.ini.  If we can't find a
match to the model phone you're on, we rely on the OS to report a reasonable screen density.  With physical screen dimension knowledge, we can make
much better decisions about deadzones around the finger before things like Drags are triggered.  This change also introduces a gesture detector to
Slate so that Slate can simulate gestures that may not be provided by the OS.  The first and only gesture we currently support is the new Long Press
gesture that has been added.  The innertial scrolling logic has been rewriten on the ScrollBox, and the inertial scroll manager now has a better
default experience.

Change 3215963 on 2016/11/30 by Nick.Darnell@Nick.Darnell_BattleBreakers

	UMG - Making a pass on invalidation.  The ability to store invalidated elements in local space locations and apply transforms in the GPU had
rotted, restoring that functionality.

Change 3214960 on 2016/11/30 by Nick.Darnell@Nick.Darnell_BattleBreakers

	Android - Adding a visualizers file for the Nsight Tegra debugger for visual studio for UE4 types.

Change 3214557 on 2016/11/29 by Dmitriy.Dyomin@dmitriy.dyomin-wex

	Disable dynamic buffer discarding on Adreno330 (was casuing 10ms stalls on slate buffers update)
	#rb Jack.Porter

Change 3214410 on 2016/11/29 by Josh.May@josh.may-WEX-MacBookPro-DevMain

	#WEX
	#JIRA: WEX-4255
	- Ensure pending HTML content and URL are properly retained for IOSWebViewWrapper instances.

Change 3213890 on 2016/11/29 by Jason.Bestimt@ROBOMERGE_WEX_Main

	#ROBOMERGE-AUTHOR: peter.sauerbrei
	update to the notification delegates to add a parameter for the state of the app when the notification was recieved

Change 3212287 on 2016/11/28 by Josh.May@josh.may-WEX-JMAY-Main

	#WEX
	#JIRA: WEX-4135
	- Added a full purge of GC array pool following full GC purges.

Change 3212256 on 2016/11/28 by Chris.Babcock@Chris.Babcock_Z2433_WEX

	Adjust analytics plugin for Android and iOS
	#jira WEX-3939
	#rb David.Nikdel

Change 3211730 on 2016/11/28 by Allan.Bentham@allan.bentham_WEX

	Create and set PrimitiveSceneProxy->PrimitiveSceneInfo before SetTransform render thread command is enqueued. Avoids race condition with
FPrimitiveSceneInfo's constructor which can occur on out-of-order CPUs.
	#jira WEX-3691
	#rb jack.porter

Change 3207395 on 2016/11/22 by Jason.Bestimt@ROBOMERGE_WEX_Main

	#ROBOMERGE-AUTHOR: bruce.knapik
	#WEX Final fix for buildmachine crash

Change 3207375 on 2016/11/22 by Jason.Bestimt@ROBOMERGE_WEX_Main

	#ROBOMERGE-AUTHOR: bruce.knapik
	#WEX Fix for crash on buildmachine part 2: this time I saved the file!

Change 3207341 on 2016/11/22 by Jason.Bestimt@ROBOMERGE_WEX_Main

	#ROBOMERGE-AUTHOR: bruce.knapik
	#WEX Fix for crash on buildmachine

Change 3207019 on 2016/11/21 by Jason.Bestimt@ROBOMERGE_WEX_Main

	#ROBOMERGE-AUTHOR: peter.sauerbrei
	temporary fix for crash after logging in
	#jira WEX-4085

Change 3205594 on 2016/11/20 by Jack.Porter@Jack.Porter_WEX_Stream

	Added workaround for WEX-2079 - Fog effects on the map are rendering as circles.

Change 3204498 on 2016/11/18 by Peter.Sauerbrei@peter.sauerbrei_WEX

	update IPP to look at Library/Caches as well when backing up the documents

Change 3204238 on 2016/11/18 by Peter.Sauerbrei@peter.sauerbrei_MacWEX

	implement peak memory stats on IOS
	#jira WEX-3947

Change 3204187 on 2016/11/18 by Peter.Sauerbrei@peter.sauerbrei_WEX

	GPU vendor data from MichaelN

Change 3203487 on 2016/11/17 by Peter.Sauerbrei@peter.sauerbrei_WEX

	latest changes to generate the proper manifest and be ready for MCP

Change 3203362 on 2016/11/17 by Peter.Sauerbrei@peter.sauerbrei_WEX

	bringing over fix for Apple HTTP requests

Change 3203188 on 2016/11/17 by Peter.Sauerbrei@peter.sauerbrei_WEX

	slightly better fix for the curl crash

Change 3202785 on 2016/11/17 by Peter.Sauerbrei@peter.sauerbrei_MacWEX

	IOS now reads/writes from Library/Caches instead of Documents

Change 3202565 on 2016/11/17 by Peter.Sauerbrei@peter.sauerbrei_WEX

	switch to platform manifest names in prep for switch to MCP
	disable screen saver while downloading chunks
	another potential build machine speed up

Change 3202141 on 2016/11/17 by Peter.Sauerbrei@peter.sauerbrei_WEX

	correct fix for cook crash

Change 3201994 on 2016/11/17 by Peter.Sauerbrei@peter.sauerbrei_WEX

	fix for crash when cooking without chunks

Change 3201552 on 2016/11/16 by Peter.Sauerbrei@peter.sauerbrei_WEX

	chunk assignment fixes

Change 3201315 on 2016/11/16 by Chris.Babcock@Chris.Babcock_Z2433_WEX

	Return Android Make, Model, and Version for GetCPUVendor, GetCPUBrand, GetOSVersions
	#rb Michael.Noland

Change 3200892 on 2016/11/16 by Michael.Noland@mnoland_T2801_WEX_Main

	Editor: Fixed a crash when opening the cooker settings panel (and got rid of some junk string literals)

Change 3200737 on 2016/11/16 by Peter.Sauerbrei@peter.sauerbrei_WEX

	fix for Android build error

Change 3200719 on 2016/11/16 by Peter.Sauerbrei@peter.sauerbrei_WEX

	potential speed up of builds

Change 3200608 on 2016/11/16 by Peter.Sauerbrei@peter.sauerbrei_WEX

	fix for crash in the curl debug info callback
	#jira WEX-4039

Change 3200237 on 2016/11/16 by Jack.Porter@Jack.Porter_WEX_Stream

	Remove mosaic resolution limitation on ES3 devices
	#jira WEX-3119
	#rb Dmitriy.Dyomin

Change 3199640 on 2016/11/15 by Peter.Sauerbrei@peter.sauerbrei_WEX

	addition of the device token to the log

Change 3199313 on 2016/11/15 by Peter.Sauerbrei@peter.sauerbrei_WEX

	switch back to IOSCompile-01 for default mac

Change 3198769 on 2016/11/15 by Peter.Sauerbrei@peter.sauerbrei_WEX

	allow different deployments from the command line when using chunking
	NOTE: you can NOT change the deployment after starting due to the way chunking downloads data
	#jira WEX-3951

Change 3198423 on 2016/11/15 by Peter.Sauerbrei@peter.sauerbrei_WEX

	potential fix for audio cued at different speeds
	#jira WEX-3637

Change 3197915 on 2016/11/15 by Josh.May@josh.may-WEX-MacBookPro-DevMain

	#WEX
	- Disabled freed alloc caching for MallocBinned on mobile.

Change 3197734 on 2016/11/14 by Peter.Sauerbrei@peter.sauerbrei_WEX

	fix for IOS never enabling the chunk data

Change 3197732 on 2016/11/14 by Michael.Noland@mnoland_T2801_WEX_Main

	Engine: Moved FDumpFPSChartToEndpoint to the public header, and fixed an ensure if sending FPS chart analytics during shutdown (now sends 0,0
for SizeX/SizeY rather than omitting them entirely)

Change 3197720 on 2016/11/14 by Josh.Markiewicz@JMARKIEWICZ_WEXMAIN

	#WEX - reconciled android settings
	- added placeholder app id

Change 3196696 on 2016/11/14 by Peter.Sauerbrei@peter.sauerbrei_WEX

	fix for missing platform for promotion

Change 3196628 on 2016/11/14 by David.Nikdel@david.nikdel_WEX

	#Analytics: Added "AttributionId" field to SessionStart event. This reflects the advertising tracking ID for a given device (for iOS this is
the IDFA).

Change 3196534 on 2016/11/14 by Peter.Sauerbrei@peter.sauerbrei_WEX

	missed one texture on the resave

Change 3196310 on 2016/11/14 by Peter.Sauerbrei@peter.sauerbrei_WEX

	warning reduction

Change 3196287 on 2016/11/14 by Peter.Sauerbrei@peter.sauerbrei_WEX

	resaved engine materials to a version

Change 3196103 on 2016/11/12 by Peter.Sauerbrei@peter.sauerbrei_WEX

	fix for heroes not showing up in the hero inspect menu for chunking
	they will briefly show as a question mark until the download completes, might want an animated effect instead for the future
	#jira WEX-3936
	#jira WEX-3958

Change 3195827 on 2016/11/11 by Michael.Noland@mnoland_T2801_WEX_Main

	UMG: Changed wording of warning slightly

Change 3195806 on 2016/11/11 by Michael.Noland@mnoland_T2801_WEX_Main

	UMG: Added a warning message to UWidget::RemoveFromParent when being used to remove an instantiated widget that has no UMG parent owner (e.g.,
someone manually called TakeWidget and placed it in a native Slate slot).  In this case it is a no-op, and the user was probably expecting it to
remove it from the native parent widget and destroy the slot, which is impossible at this level (the calling code needs to handle that directly)

Change 3195210 on 2016/11/11 by Peter.Sauerbrei@peter.sauerbrei_WEX

	addition of advertising id, IOS implemented

Change 3195124 on 2016/11/11 by Josh.Markiewicz@JMARKIEWICZ_WEXMAIN

	#WEX - android setup for new permanent backend
	- added BattleBreakers keystore
	- added billing settings for android in both Engine/Game AndroidEngine.ini (why do we have settings in both that overlap, DefaultPlatform for
OSS was wrong there)
	- turned on ForDistribution (not sure how this affects other platforms, but Android won't work without this)

Change 3194283 on 2016/11/10 by Josh.Markiewicz@JMARKIEWICZ_WEXMAIN

	#UE4 - hopefully last of the Android/GooglePlay cleanup
	- QueryInAppPurchases never needed an array of consumables flag
	- BeginPurchase doesn't take a bConsumable flag (old code calls it inside PurchaseComplete, new interface requires call to  FinalizePurchase)
	- all java functions now return the productToken as part of the callback if applicable
	-- token easily accessible in java, saves Base64 decode and json calls to get in native
	- ** note ** fixed up GameCircle/Amazon, fortunately it didn't use these flags either

Change 3194208 on 2016/11/10 by Josh.Markiewicz@JMARKIEWICZ_WEXMAIN

	#UE4 - GooglePlay purchasing refactor
	- finished QueryReceipts to not care about bRestorePurchases and left comment with explanation
	- delegates to low level GooglePlay calls return FGoogleTransactionData to sooner encapsulate the opaque data
	- fixed up RestoreTransactions for StoreV1 to use multicast delegate as well
	- changed delegate assignment to use thread safe shared pointers (required adding Init() and moving code out of constructor where .AsShared is
premature)
	- reduced log verbosity and log spam

Change 3194205 on 2016/11/10 by Josh.Markiewicz@JMARKIEWICZ_WEXMAIN

	#Android - small java code cleanup

Change 3194003 on 2016/11/10 by Michael.Noland@mnoland_T2801_WEX_Main

	Engine: Made the set of interesting FPS thresholds for FPS charts configurable (as a comma separated list in cvar
t.FPSChart.InterestingFramerates)
	Engine: Exposed helpers on FPerformanceTrackingChart (GetAverageFramerate() and GetPercentMissedVSync())
	#rb david.nikdel

Change 3194002 on 2016/11/10 by Michael.Noland@mnoland_T2801_WEX_Main

	Core: Added FHistogram::InitFromArray to create a histogram from an explicit list of thresholds
	#rb david.nikdel

Change 3193771 on 2016/11/10 by Chance.Lyon@Chance.Lyon_WEX_Dev-Main

	#WEX
	#JIRA: WEX-3856
	- Refactored how loading screens work
	- Allow Pre / Post load map to handle loading screen setup / teardown by default
	- Manually show the loading screen when we perform the initial level save
	- Re-enable the loading screen ensure

Change 3193723 on 2016/11/10 by Peter.Sauerbrei@peter.sauerbrei_WEX

	fix for crash when bringing up the console in chunked build
	#jira WEX-3922
	fix for missing assets at game start in chunked build

Change 3193503 on 2016/11/10 by Peter.Sauerbrei@peter.sauerbrei_WEX

	start pushing streaming data to the appropriate deployment

Change 3193210 on 2016/11/10 by Peter.Sauerbrei@peter.sauerbrei_WEX

	allow CloudStorage to be re-initialized with new credentials if necessary

Change 3192750 on 2016/11/09 by Josh.May@josh.may-WEX-JMAY-Main

	#WEX
	- Added a mechanism for force-disabling GPU particles.
	- Disabled GPU particles for all iOS devices. This was eating up a constant 56MB of render target memory, whether or not the feature was used.

Change 3192686 on 2016/11/09 by Peter.Sauerbrei@peter.sauerbrei_WEX

	latest s3 chunk data placement

Change 3192468 on 2016/11/09 by Josh.Markiewicz@JMARKIEWICZ_WEXMAIN

	#Android - added features to GooglePlay IAP apis
	- audited code against example code
	- added some code to JNI to make IAP functions not optional if store is enabled
	- added ConsumePurchase call to separate consumption until after entitlements have been granted
	- added QueryExistingPurchases call to enumerate pending/permanent transactions

Change 3192246 on 2016/11/09 by Peter.Sauerbrei@peter.sauerbrei_WEX

	fix for windows build failure
	first attempt at promotion code

Change 3191660 on 2016/11/09 by Peter.Sauerbrei@peter.sauerbrei_WEX

	fix for PC build of IOS

Change 3191598 on 2016/11/09 by Peter.Sauerbrei@peter.sauerbrei_WEX

	fix for too many open handles

Change 3191459 on 2016/11/09 by Peter.Sauerbrei@peter.sauerbrei_WEX

	more fixes for building chunks on the build machines

Change 3190565 on 2016/11/08 by Peter.Sauerbrei@peter.sauerbrei_MacWEX

	fixes for Remote notifications

Change 3190466 on 2016/11/08 by Peter.Sauerbrei@peter.sauerbrei_WEX

	pointing at the s3 servers

Change 3189120 on 2016/11/07 by Peter.Sauerbrei@peter.sauerbrei_WEX

	optimization for obtaining chunk data
	startup screen which checks for updated data before loading the entry (not yet enabled)

Change 3186019 on 2016/11/03 by David.Nikdel@david.nikdel_WEX

	#Engine: Empty string is a valid ImportText for an array (indicates an empty array)

Change 3185461 on 2016/11/03 by Chris.Babcock@Chris.Babcock_Z2433_WEX

	Corrections to memory stats for Android
	#jira WEX-3760
	#ue4
	#android

Change 3184309 on 2016/11/02 by Chance.Lyon@Chance.Lyon_WEX_Main

	#WEX
	#JIRA: WEX-3721
	- Remove all the "WaitForLoadingScreen" calls.  These actually kill the loading screen before the travel, causing the actual travel to be a
visible hang instead of a spinner
	- Commented out and ensure that got hit before it killed the loading screen. Seems like the wrong check to me.

Change 3184029 on 2016/11/02 by Peter.Sauerbrei@peter.sauerbrei_WEX

	fix for some load hitches on mobile

Change 3183761 on 2016/11/02 by Peter.Sauerbrei@peter.sauerbrei_WEX

	allow Android to specify which texture format to get

Change 3183760 on 2016/11/02 by Peter.Sauerbrei@peter.sauerbrei_WEX

	updates for chunking on the various platforms

Change 3182107 on 2016/11/01 by Peter.Sauerbrei@peter.sauerbrei_WEX

	when chunking is disable, initialize the chunk installer in a paused state

Change 3182068 on 2016/11/01 by Peter.Sauerbrei@peter.sauerbrei_WEX

	fix for Scheme name when project is not UE4Game

Change 3182007 on 2016/11/01 by Peter.Sauerbrei@peter.sauerbrei_WEX

	more logging to track down this iOS signing failure

Change 3181844 on 2016/11/01 by Peter.Sauerbrei@peter.sauerbrei_WEX

	attempt to generate the plist before trying to generate the project for stub generation for iOS

Change 3181816 on 2016/11/01 by Peter.Sauerbrei@peter.sauerbrei_WEX

	revert out the extra logging for the iOS build now that I have verified it is working correctly

Change 3181806 on 2016/11/01 by Peter.Sauerbrei@peter.sauerbrei_WEX

	fix for warnings on IOS

Change 3181779 on 2016/11/01 by David.Nikdel@david.nikdel_WEX

	#Engine: Fix for null pointer dereference if you have closed the animation tool window.

Change 3181773 on 2016/11/01 by Peter.Sauerbrei@peter.sauerbrei_WEX

	fix for shipping build failure

Change 3181763 on 2016/11/01 by Peter.Sauerbrei@peter.sauerbrei_WEX

	fix for Android compile failure

Change 3181667 on 2016/11/01 by Josh.May@josh.may-WEX-JMAY-Main

	#WEX
	#JIRA: WEX-3753
	- Ensure the input type of Android keyboard input textbox is set before populating the initial content.

Change 3181666 on 2016/11/01 by Peter.Sauerbrei@peter.sauerbrei_WEX

	initial chunk installer submission, first pass, disabled by default
	#rb none

Change 3181408 on 2016/11/01 by Peter.Sauerbrei@peter.sauerbrei_WEX

	some logging to track down why the build machine is using the wrong certificate and provision

Change 3181070 on 2016/11/01 by Nathan.Green@Nathan.Green_Friday_Main

	#WEX
	- Fixing broken android build temporarily

Change 3180690 on 2016/10/31 by Josh.Markiewicz@JMARKIEWICZ_WEXMAIN

	#WEX - Android support enabled
	- some better java logging
	- added ini placeholder for GooglePlay features that need setting (set locally, not ready to check in yet without backend app setup)

Change 3180322 on 2016/10/31 by Josh.Markiewicz@JMARKIEWICZ_WEXMAIN

	#UE4 - setup catalog to be GooglePlay aware
	- fixed up some log output inconsistencies

Change 3180307 on 2016/10/31 by Josh.Markiewicz@JMARKIEWICZ_WEXMAIN

	#UE4 - updating libPNG to 1.5.27 for Android only (from Main, early integration)
	- wolf platform commented out (needs to be reinstated before merge to main)

Change 3175413 on 2016/10/26 by Peter.Sauerbrei@peter.sauerbrei_MacWEX

	fix for buffer being re-used before it was out of use by GPU
	#rb mark.satterthwaite
	#jira WEX-3482

Change 3175143 on 2016/10/26 by Steve.Allison@steve.allison_Z4797_6338

	Adding:

	Personal_iPhone6SP_DavidN
	Personal_iPhone7P_DonaldM

Change 3174322 on 2016/10/25 by Steve.Allison@steve.allison_Z4797_6338

	Adding:

	Personal_iPhone6P_ZakP

Change 3173760 on 2016/10/25 by Peter.Sauerbrei@peter.sauerbrei_WEX

	fix for incorrect icons and missing splash screens
	#rb none
	#jira wex-3012

Change 3169892 on 2016/10/20 by Steve.Allison@steve.allison_Friday_Main_Stream

	Adding:

	UX_iPadMini4_UX8
	UX_iPadMini4_UX7
	UX_iPadAir2_UX6
	UX_iPadAir2_UX5
	UX_iPhone6SP_UX4
	UX_iPhone6SP_UX3
	UX_iPhone6S_UX2
	UX_iPhone6S_UX1
	Personal_iPhone5S_PaulH
	Personal_iPhone6_PaulI
	Personal_iPhone6_EdZ

Change 3169848 on 2016/10/20 by Steve.Allison@steve.allison_Friday_Main_Stream

	Adding:

	Personal_iPhone6S_NickP
	Personal_iPhone6SP_SteveA
	Personal_iPhone6_NickC
	Personal_iPhone6_GeremyM
	Personal_iPhone6S_AndyK_HSL
	Personal_iPhone6_LizS_HSL
	Personal_iPhone7_JoshM_HSL
	Personal_iPhone6_CaseyS
	Personal_iPhone6S_GregL
	Personal_iPhone6S_BruceK
	Personal2_iPhone7P_DavidH
	Personal1_iPhone7P_DavidH
	Personal_iPhone6SP_SimonH

Change 3169651 on 2016/10/20 by Peter.Sauerbrei@peter.sauerbrei_WEX

	fix for profile captures not working with Metal

Change 3169537 on 2016/10/20 by Josh.May@josh.may-WEX-MacPro2-Main

	#WEX
	#JIRA: WEX-3059
	- Added injection of TouchMoved events whenever a TouchBegin is triggered. This allows legacy iOS devices (i.e. pre-3D Touch) to properly
emulate MouseOver/MouseMoved events for rapid taps.

Change 3169294 on 2016/10/20 by Josh.May@josh.may-WEX-JMAY-Main

	#WEX
	#JIRA: WEX-3497, WEX-3499
	- Downgraded a few Engine-level log warnings to verbose. These are cases where the logs are either redundent or triggering in spite of nothing
being functionally wrong.

Change 3168564 on 2016/10/19 by Josh.Markiewicz@JMARKIEWICZ_WEXMAIN

	#UE4 - typo fix

Change 3165381 on 2016/10/17 by Josh.Markiewicz@JMARKIEWICZ_WEXMAIN

	#UE4 - changed log formatting line for GFrameCounter to properly use %llu instead of %d
	- fixes Android display problems
	#rb josh.adams

Change 3165359 on 2016/10/17 by Steve.Allison@steve.allison_Friday_Main_Stream

	Adding:

	Partner_01_iPhone6SP_HardSuit

Change 3165127 on 2016/10/17 by Nathan.Green@Nathan.Green_Friday_Main

	#WEX
	#JIRA: WEX-3320
	- Putting back code erased by the merge, since the viewport is always handling touch commands we'll never get a chance to attempt to drop the
object and cancel the operation if we fail, instead we should handle DropEvents first as otherwise our widgets will never recieve an
NativeOnDragCancelled event.

Change 3164936 on 2016/10/17 by Josh.Markiewicz@JMARKIEWICZ_WEXMAIN

	#UE4 - missing code related to the OSS plugin refactor to respect the "enabled by default" settings in the .plugin file

Change 3164933 on 2016/10/17 by Josh.May@josh.may-WEX-MacPro2-Main

	#WEX
	- Fixed naming conventions for the iPadPro device profile configs.

Change 3162452 on 2016/10/13 by Peter.Sauerbrei@peter.sauerbrei_WEX

	missed one engine texture for optimization, do not merge back to engine
	#rb none

Change 3162414 on 2016/10/13 by Peter.Sauerbrei@peter.sauerbrei_WEX

	reduce the engine texture sizes, do not merge this back to the main engine stream
	#rb none

Change 3162326 on 2016/10/13 by Nathan.Green@Nathan.Green_Friday_Main

	#WEX
	- Reverting change, with Peter's ok, to fix scrollboxes behaving strangely on mobile devices

Change 3160261 on 2016/10/12 by Steve.Allison@steve.allison_Friday_Main_Stream

	Adding:

	9744_iPhone7P_EpicQA
	9745_iPhone7_EpicQA

Change 3157269 on 2016/10/10 by Peter.Sauerbrei@peter.sauerbrei_WEX

	removed a line that shouldn't have been in, fixes MattH save crash
	#rb none

Change 3155086 on 2016/10/07 by David.Nikdel@david.nikdel_WEX

	#Analytics: Better support for connection loss scenarios
	- Enforce a minimum delay (2 min) after any failed submission.
	- Delay only applies to timeout/capcaity flushes, not flushes due to end of session or manually requested flushes.
	- Remove URL from the DroppedSubmission event per Wes

Change 3154873 on 2016/10/07 by Steve.Allison@steve.allison_Friday_Main_Stream

	Add:

	8034_iPhone7_EpicQA

Change 3153367 on 2016/10/06 by Steve.Allison@steve.allison_Friday_Main_Stream

	Adding:

	9597_iPhone6SP_Epic

Change 3153322 on 2016/10/06 by Peter.Sauerbrei@peter.sauerbrei_WEX

	disable shadows for android devices as well

Change 3152758 on 2016/10/05 by Peter.Sauerbrei@peter.sauerbrei_MacWEX

	disable shadows for all IOS device profiles
	enable arm64 for development and shipping
	#rb none

Change 3150660 on 2016/10/04 by David.Nikdel@ROBOMERGE_WEX_Main

	#ROBOMERGE-AUTHOR: peter.sauerbrei
	Merging

	//WEX/Main/Engine/...

	to //WEX/Release-03/Engine/...

Change 3150347 on 2016/10/04 by Steve.Allison@steve.allison_Friday_Main_Stream

	Adding:

	9724_iPadAir2_EpicQA

Change 3149190 on 2016/10/03 by Peter.Sauerbrei@peter.sauerbrei_WEX

	bring over the rest of the code signing fixes for Xcode 8
	#rb none

Change 3149101 on 2016/10/03 by Peter.Sauerbrei@peter.sauerbrei_WEX

	re-submit a built IPP with the code signing changes

Change 3147338 on 2016/09/30 by David.Nikdel@david.nikdel_WEX

	Merging CL 3136158
	from //UE4/Main/...
	to //WEX/Main/...

	UBT: Fix support for the x64-on-x86 compiler shipped with Visual Studio Express, which is causing errors for artists generating project files
with UGS. Was not looking for the compiler executable at the correct path.

Change 3143944 on 2016/09/28 by Peter.Sauerbrei@peter.sauerbrei_WEX

	Merging using WEX_Main_to_UE4_WEX_Staging

	Bringing in Main from WEX-Staging

	#rb none

Change 3138249 on 2016/09/23 by Chad.Garyet@cgaryet_wex_main

	Integrating codesign fix into WEX/Main

Change 3137757 on 2016/09/23 by Peter.Sauerbrei@peter.sauerbrei_WEX

	fix for code signing on Xcode 8 (re-made from 4.13 stream)
	#rb none

Change 3133037 on 2016/09/20 by Chance.Lyon@Chance.Lyon_WEX_Main

	#WEX
	- Fix warning about architecture mismatch

Change 3131645 on 2016/09/19 by Josh.May@josh.may-WEX-MacPro2-Main

	#WEX
	- Changed hard-coded TextureCube asset defaults from SunsetAmbientCubemap to DefaultTextureCube. This buys us ~16MB memory savings on mobile.

Change 3131515 on 2016/09/19 by David.Nikdel@david.nikdel_WEX

	#Slate: Replace WheelScrollAmount constant with a CVAR

Change 3130602 on 2016/09/19 by Nathan.Green@Nathan.Green_Friday_Main

	#WEX
	#JIRA: WEX-3154, WEX-2954, WEX-2953
	- Fix location of WidgetComponents when we're offsetting the screen of the game (fullscreen mode in the game state)

[CL 3479958 by Peter Sauerbrei in Main branch]
2017-06-08 10:21:39 -04:00
Chris Bunner
81ef7a206b Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3461187)
#lockdown Nick.Penwarden

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

Change 3388286 on 2017/04/11 by Chris.Bunner

	Fix mips in texture GnmUAV creation.

Change 3388287 on 2017/04/11 by Chris.Bunner

	Improved PS/CS code sharing for TemporalAA.

Change 3388291 on 2017/04/11 by Chris.Bunner

	HLODs now correctly hide their children in shadow maps.
	Propagate bCastFarShadow flag on HLOD generation.

	#jira UE-42254

Change 3388448 on 2017/04/11 by Brian.Karis

	Better handle divide by zero

Change 3388449 on 2017/04/11 by Brian.Karis

	Optimizations to shading model math.

	PR #3340: Bug fixes related to shader TODOs (Contributed by vgfx)


Change 3388455 on 2017/04/11 by Uriel.Doyon

	Changed Remove for RemoveSwap when clearing dynamic component references

Change 3388612 on 2017/04/11 by Simon.Tourangeau

	Support shaders in projects and in plugins
	When searching for a shader it will
	- First look in Engine/Shaders as usual
	- Then in project's Shader folder
	- Then in all enabled plugin Shader folders

	Project or plugin must be loaded in PostConfigInit phase
	Tested in PIE, engine (cooked, packaged)

Change 3388819 on 2017/04/11 by Arne.Schober

	DR - Faster MorpthTarget implementation. Changed the previous Gather aproach to a scatter based one. Reaching about 110GB/s on PS4 which is up to 4x faster than the previous implementation. On PC DX11 the impact is lower due to unecessary UAV barriers but still 2x faster on AMD and up to 6x faster on Nvidia Hardware.
	#RB Lina.Halper, Rolando.Caloca

Change 3388862 on 2017/04/11 by Guillaume.Abadie

	Allows Motion Blur and TAA in scene capture 2d.

Change 3388953 on 2017/04/11 by Uriel.Doyon

	Fixed issue where lights from hidden levels where affecting the lighting build, by checking if the light is registered before adding it.
	#UE-43220

Change 3389138 on 2017/04/11 by Arne.Schober

	DR - Fix crash when opening a Level without Contentbrowser open.
	#RB Matt.Kuhlenschmidt

Change 3389400 on 2017/04/11 by Uriel.Doyon

	- Renamed FMaterialResource::IsSeparateTranslucencyEnabled() to FMaterialResource::IsTranslucencyAfterDOFEnabled()
	- Removed different logic to determine if translucency after DOF was enabled, and centralized it into a single function: FSceneViewFamily::AllowTranslucencyAfterDOF()
	- FSceneRenderTargets::FinishRenderingSeparateTranslucency() now only resolves a single view, allowing better Begin/Finish scopes.
	- Renamed FSceneRenderTargets::SeparateTranslucencyDepthRT into FSceneRenderTargets::DownsampledTranslucencyDepthRT since this one is only allocated when rendering in downsampled mode.
	- Standard translucency is now rendered in the same resolution than translucency after DOF. (downsampled or full resolution)
	- Removed RenderTranslucencyParallel and merged it's logic into RenderTranslucency. Renamed DrawAllTranslucencyPasses to RenderViewTranslucency and added a parallel version RenderViewTranslucencyParallel.
	- Moved all debug draw logic (VisualizeLPV, ViewMeshElements and SimpleElementCollector) to a common place.
	- New option "r.AllowDownsampledStandardTranslucency" to control the downsampling of standard translucency. Affect blend module materials

	#jira UE-39505

Change 3389860 on 2017/04/12 by Richard.Wallis

	UE-41407 Cable actor does not render correctly in viewport on Mac.

	Build the mesh at creation time - call into exisiting mesh create function.

Change 3390933 on 2017/04/12 by Arne.Schober

	DR - potential fix for UE-43125 where the this pointer might get invalidated in the middle of the function
	#RB Marcus.Wassmer

Change 3391010 on 2017/04/12 by Ben.Marsh

	Compile UE4Game non-unity for Mac as part of nightly builds in //UE4/Dev-Rendering.

Change 3391412 on 2017/04/12 by Uriel.Doyon

	Mesh Decals are now sorted according to the component TranslucencySortPriority.
	#jira UE-43053

Change 3392117 on 2017/04/13 by Guillaume.Abadie

	Integrates Raven's experimental PCSS for cascaded shadow map hidden behind a CVar.

Change 3392179 on 2017/04/13 by Guillaume.Abadie

	Attempts to fix linux compilation by removing mistakenly submitted dead code.

Change 3392231 on 2017/04/13 by Guillaume.Abadie

	Fixes a wrong enum value real quick in FRenderingObjectVersion I introduced after main integration... Oups...

Change 3393879 on 2017/04/14 by Guillaume.Abadie

	Attempts to fix linux compilation warning.

Change 3393881 on 2017/04/14 by Guillaume.Abadie

	Back out changelist 3393879

Change 3393882 on 2017/04/14 by Guillaume.Abadie

	Attempts #2 to fix linux compilation error.

Change 3394100 on 2017/04/14 by Chris.Bunner

	Corrected material shared sampler usage with mip-biasing.

Change 3394174 on 2017/04/14 by Rolando.Caloca

	DR - Change ensure to warning

Change 3394221 on 2017/04/14 by Marcus.Wassmer

	Fix poseable mesh bounds calculation.

Change 3396238 on 2017/04/17 by David.Hill

	Fix Bloom with LensFlare
	Duplicating fix - will also fix directly in 4.16

	#jira 44050

Change 3397055 on 2017/04/17 by Joe.Graf

	Fixed Windows specific assumptions in Slate File Dialog Window's file filtering that lead to crashes

	#CodeReview: matt.kuhlenschmidt
	#rb: n/a

Change 3397921 on 2017/04/18 by Joe.Graf

	Rewrote SlateFileDlgWindow's file filtering to allow for extensionless file selection and to remove the O(n^2) file filtering

	#CodeReview: arciel.rekman, matt.kuhlenschmidt
	#rb: n/a

Change 3398406 on 2017/04/18 by Rolando.Caloca

	DR - Fix shaders in plugins on Mac

Change 3399546 on 2017/04/19 by Benjamin.Hyder

	Updating content for test levels (HDR, Bloom_FFT, DistanceFields_IndirectShadows)

Change 3399725 on 2017/04/19 by Guillaume.Abadie

	Avoids compiling PCSS shaders for SM4.

Change 3400295 on 2017/04/19 by Michael.Trepka

	Fixed metal shader compile errors in MorphTargets.usf

Change 3400457 on 2017/04/19 by Michael.Trepka

	Merged Rolando's shader fixes

Change 3400473 on 2017/04/19 by Arne.Schober

	DR - provide Aftermath Reason when init failed.
	#RB none

Change 3400699 on 2017/04/19 by Arne.Schober

	DR - Fixed Text macro
	#RB none

Change 3402280 on 2017/04/20 by Simon.Tovey

	Minor cascade fix

	#tests no crash

	#jira UE-41560

Change 3402517 on 2017/04/20 by Arne.Schober

	DR - Fix static analysis warning
	#RB none

Change 3403897 on 2017/04/21 by Arne.Schober

	DR - [UE-43898] - Someone missed a shaderversion bump which poisoned the DCC
	#RB None
	#jira UE-43898

Change 3404591 on 2017/04/21 by Olaf.Piesche

	#jira UE-41979
	Should never be crashing there, unless the mesh is changed after Init of the effect instance; this change safeguards against the number of mesh sections (and hence materials) changing after creation of the dynamic data to avoid the crash.

Change 3407451 on 2017/04/25 by Daniel.Wright

	Fixed Indirect Lighting Cache updates caused by capsule indirect shadows forcing point samples, breaking primitives using ILCQ_Volume

Change 3407452 on 2017/04/25 by Daniel.Wright

	Added r.AOJitterConeDirections, although disabled by default because it requires the temporal filter to be much stronger

Change 3408397 on 2017/04/25 by Daniel.Wright

	ViewFamily.bRealtimeUpdate is set to false if Slate is throttling (like when toggling show flags).  Volumetric fog discards the temporal history when not realtime, so you can see changes immediately.

Change 3408428 on 2017/04/25 by Daniel.Wright

	Changed 'r.AOMaxObjectsPerCullTile' default back to 512 as 256 causes artifacts with RTDF shadows

Change 3409764 on 2017/04/26 by Daniel.Wright

	Force dumping shader debug info for Global shaders when r.ShaderDevelopmentMode is enabled.  Most of the shaders you want to look at in a GPU capture are global shaders, and global shaders create few debug files.  'recompileshaders global' time 35s -> 38s for SM5.

Change 3411659 on 2017/04/27 by Daniel.Wright

	[Copy] Set Xbox One engine default screen percentage to 83.33 (1600x900), as ESRAM choices are dependent on this

Change 3411660 on 2017/04/27 by Daniel.Wright

	[Copy] Global distance field composite shader has a version for each flattened axis, which improves efficiency when updating a slab which is what camera movement typically causes

Change 3411667 on 2017/04/27 by Daniel.Wright

	[Copy] Discard distance field AO history buffer if it doesn't match the new buffer size.  This prevents reading uinitialized data after a scene render target resize.

Change 3411668 on 2017/04/27 by Daniel.Wright

	[Copy] Better indirect capsule shadow draw event info

Change 3411669 on 2017/04/27 by Daniel.Wright

	[Copy] Pass down FeatureLevel to AddSubjectPrimitive and GatherShadowsForPrimitiveInner instead of calling the scene's virtual function.  Showed up prominently in a sampling profile.

Change 3411755 on 2017/04/27 by Daniel.Wright

	[Copy] Occlusion queries are now always done before the base pass if a nearly full prepass is being used(DDM_AllOccluders or DDM_AllOpaque)
	* Removed r.OcclusionQueryLocation

Change 3411827 on 2017/04/27 by Daniel.Wright

	[Copy] Much cheaper implementation of IsForwardShadingEnabled which showed up prominently in sampling profiles - inlined function and no more unnecessary thread safety overhead

Change 3411829 on 2017/04/27 by Daniel.Wright

	Added an ensure to console manager when doing FindTConsoleVariableData* on a FAutoConsoleVariableRef

Change 3411837 on 2017/04/27 by Daniel.Wright

	[Copy] Worked around slow memcpy's being used to sort FSortedLightSceneInfo

Change 3411838 on 2017/04/27 by Daniel.Wright

	[Copy] Skip tracking MaterialRenderProxyMap on cooked platforms

Change 3411843 on 2017/04/27 by Daniel.Wright

	[Copy] Fixed r.ParallelShadows on PS4 and enabled by default engine-wide (saves 5ms RT with CSM)
	* Gnm was not tracking DepthClearValue when a depth target was set but not cleared
	* Gnm has a bug where TargetsNeedingEliminateFastClear does not persist across commandlist breaks.  Moved FinishRenderingGBuffer before RenderShadowDepthMaps to workaround (accidentally not in this changelist)
	* Shadow depth rendering was not using BindClearMRTValues to populate GNM parallel commandlist TargetsNeedingEliminateFastClear values

Change 3411873 on 2017/04/27 by Daniel.Wright

	[Copy] Deferred uniform expression caching.  Setting multiple parameters on a material only causes its uniform expressions to be recached once.
	* 280 calls to CacheUniformExpressions -> 120 during Fortnite combat (6.5ms -> 3.4ms)

Change 3411891 on 2017/04/27 by Daniel.Wright

	[Copy] GatherShadowPrimitives optimizations
	* Total GatherShadowPrimivies went from 2.3ms -> 1.3ms on PS4 with these changes in GPUPerfTest (duplicated 3x)
	* Much flatter primitive octree (16 -> 256 max primitives)
	* Primitives are culled against the shadow frustum before FPrimitiveSceneInfo or FPrimitiveSceneProxy are dereferenced in FilterPrimitiveForShadows
	* FilterPrimitiveForShadows work is done in a ParallelFor.  Primitive octree nodes are processed in different jobs.
	* StaticMeshWholeSceneShadowBatchVisibility now only stores entries for meshes with bRequiresPerElementVisibility (landscape).  Previously it was allocating and zeroing 500Kb 3x per frame (main view + 2 cascades) which cost ~.8ms on PS4.

Change 3412192 on 2017/04/27 by Michael.Trepka

	Fixed Clang compile errors in FortniteGame, partial copy of CL 3313426

Change 3412547 on 2017/04/27 by Daniel.Wright

	Fixed leak of FShadowMapAllocation and FLightMapAllocation's found by licensee

Change 3414239 on 2017/04/28 by Arne.Schober

	DR - UE-44500 - Removed use of Structured Buffer from MorphTargets due to HLSLCC not supporting it.

	#RB none
	#jira UE-44500

Change 3414754 on 2017/04/28 by Daniel.Wright

	Added VolumetricFogEmissive to ExponentialHeightFogComponent
	* Volumetric fog does not yet support precomputed lighting, so this is the only way to get an ambient lighting term

Change 3416859 on 2017/05/01 by Arne.Schober

	DR - Remove FeatureLevel from the Clear Functions to reduce area of error
	#RB Rolando.Caloca

Change 3420750 on 2017/05/03 by Arne.Schober

	DR - [UE-44497] - Fix several PS4 validation layer issues
	#RB Marcus.Wassmer

Change 3422869 on 2017/05/04 by Benjamin.Hyder

	Fix compile error from merge.

Change 3423938 on 2017/05/04 by Marc.Olano

	[UE-44453] Fix bloom problems by moving saturate after vector math

Change 3424494 on 2017/05/04 by Olaf.Piesche

	#jira UE-44589
	When using FindTCosoleVariableData, the CVar can not be an FAutoConsoleVariable.

	#tests as described in jira ticket

Change 3424754 on 2017/05/04 by Uriel.Doyon

	Fixed call to get texture compressor module outside the main thread.
	#jira UE-42168

Change 3425447 on 2017/05/05 by Uriel.Doyon

	#buildfix

Change 3427042 on 2017/05/05 by Arne.Schober

	DR -  Fix one of my typos
	#RB none

Change 3428119 on 2017/05/08 by Marcus.Wassmer

	Fix UE-44733
	static analysis warning.

Change 3428222 on 2017/05/08 by Uriel.Doyon

	Fixed bad condition in translucency rendering
	#jira UE-44452

Change 3429794 on 2017/05/08 by Uriel.Doyon

	Fixed issues with lightshafts and low res translucency.

	#jira UE-44452

Change 3430921 on 2017/05/09 by Rolando.Caloca

	DR -  Get additional function pointers for D3DReflect, Compile and Disassemble instructions from the same DLL when compiling D3D11 shaders.
	- Also fixes using the correct fxc.exe path to match the DLL we distribute.

Change 3431156 on 2017/05/09 by Rolando.Caloca

	DR - Remove unused code

Change 3431396 on 2017/05/09 by David.Hill

	Copy of changes made directly in 4.16  ( CL 341037 )
	to be submitted to dev-rendering

	#jira UE-44641

Change 3431400 on 2017/05/09 by Rolando.Caloca

	DR - Fix typo

Change 3431527 on 2017/05/09 by David.Hill

	#rb: none

	Oops.
	comment out r.ShaderDevelopmentMode =1

Change 3431590 on 2017/05/09 by Daniel.Wright

	Removed early return landmine in USceneCaptureComponent2D::Serialize

Change 3431591 on 2017/05/09 by Daniel.Wright

	Disallow map building while in PIE, or PIE while buildling lighting

Change 3431594 on 2017/05/09 by Daniel.Wright

	Added RenderTargetFormat to UTextureRenderTarget2D, with choices of 8 bit, 16fp, 32fp and 1, 2 or 4 channels.

Change 3431667 on 2017/05/09 by Daniel.Wright

	Volumetric fog now supersamples lighting when the history is not available, reducing noise on areas that just came on-screen or after a camera cut.
	* The number of samples is controlled by r.VolumetricFog.HistoryMissSupersampleCount, defaults to 4, cinematic scalability uses 16
	* Under fast camera movement, volumetric fog cost went from 1.79ms -> 1.97ms with 4 samples, on a 970GTX

Change 3432366 on 2017/05/10 by Richard.Wallis

	Fix for MetalRHI Asserts When Using "Profile GPU" With RHI-Thread/Parallel-Execution.  Don't insert events when not in RHIThread or the actual single-threaded-render thread.

	#jira UE-36006

Change 3432367 on 2017/05/10 by Richard.Wallis

	Fix for Metal ReStartRenderPass assert with profiling.  macOS metal asserts when using "profileGPU" even with -norhithread argument set.

	Added no action to the allowed render pass restart store actions for the depth buffer avoiding the assert.  Interested to know the details if this is not a valid assumption to make - throwing away the depth buffer after a render pass I think would be a common case.

	#jira UE-44322

Change 3432409 on 2017/05/10 by Richard.Wallis

	Merged across CL 3415890 from Release-4.16 fix for (jira UE-43895)

	Fix for deferred store actions getting cleared when we don't have a valid render target.

Change 3432833 on 2017/05/10 by Daniel.Wright

	Fixed Ocean compile error

Change 3432874 on 2017/05/10 by Marc.Olano

	Improved captions for Noise and VectorNoise material nodes

Change 3432947 on 2017/05/10 by Richard.Wallis

	Fix for shared Material Native Shader Libraries Don't Function With Iterative Cooking.   Keep latest versions of shader byte code in native shared material packaged build in an intermediate directory than can be reused on a later iterative cook.

	- Doesn't handle deletion of the intermediate directory contents.  Assumed to be a higher level requirement on non iterative cook flag.

	#jira UE-44657

Change 3433484 on 2017/05/10 by Arne.Schober

	DR - UE-44393 - Move ShaderPlatform into TShaderMap for extra debuginformation when it fails to find a proper shader. Also log when Gobalshaders are verified and recompiled.
	#jira UE-44393
	#RB Daniel.Wright

Change 3433515 on 2017/05/10 by Arne.Schober

	DR - Fix a bug where recompileshaders changed while compiling causes a crash where the chached local vertex factories are mutated while been used.
	#RB Daniel.Wright

Change 3433606 on 2017/05/10 by Daniel.Wright

	Fixed static shadowing of volumetric fog and translucency causing shadowing past the lightmass importance volume.

Change 3433619 on 2017/05/10 by Daniel.Wright

	Skip recapturing reflection captures when PropagateLightingScenarioChange is being called for a level unload.  This leaves stale results in reflection captures around when hiding a level in the editor, but avoids the double recapture that happens when swapping lighting scenarios in game, and the unnecessary reflection capture update when exiting PIE.

Change 3433795 on 2017/05/10 by Arne.Schober

	DR - add cmdline to select a GPU vendor when multiple GPUs from differnt Vendors are installed into the same Machine
	#RB marcus.Wassmer

Change 3433941 on 2017/05/10 by Daniel.Wright

	Cone vs tile bounding sphere intersection tests for Light Grid culling of spotlights, which provides much tighter culling than just View space tile AABB vs light bounding sphere.
	* Forward shading BasePass 3.7ms -> 2.4ms in a scene with 24 spotlights on 970GTX
	* Volumetric fog 2.87ms -> 2.09ms in the same scene

Change 3435139 on 2017/05/11 by Daniel.Wright

	Restored GTextureRenderTarget2DMaxSizeX which is used by Ocean

Change 3435297 on 2017/05/11 by Arne.Schober

	DR - Remove manual AlignOf and use C++11 keyword instead
	#RB Steve.Robb

Change 3435367 on 2017/05/11 by Daniel.Wright

	Circle vertex buffer for slightly tighter voxelization of volumetric fog shadowed lights
	* 1.5ms -> 1.38ms on 970 GTX with 24 spotlights

Change 3435522 on 2017/05/11 by Brian.Karis

	Dither opacity mask now stacks properly for non parallel polys. Dither is randomized by triangle normal.

Change 3436063 on 2017/05/11 by Daniel.Wright

	Disabled CLB_AggressiveBatching for PC d3d12 as it causes flickering artifacts in lighting

Change 3436269 on 2017/05/11 by Uriel.Doyon

	Fixed UVChannel data possibly not up-to-date depending on user manips.

Change 3436611 on 2017/05/12 by Simon.Tovey

	Improved name and tooltip for static mesh property controlling generation of alias tables for uniform sampling.

Change 3436676 on 2017/05/12 by Simon.Tovey

	Fix for fixed bounds being "invalid" unless set via the toolbar option.

Change 3436700 on 2017/05/12 by Simon.Tovey

	Crash fix.
	Issue found in https://udn.unrealengine.com/questions/355944/crash-in-fdynamicspriteemitterdatagetdynamicmeshel.html

	Particle proxies would have stale material resource pointers if the material is changed while the system was invisible.
	If the old material is freed during this time, the next time the system renders it will crash.

Change 3437367 on 2017/05/12 by Brian.Karis

	Fixed bug with small UV charts not packing.

Change 3437860 on 2017/05/12 by Arne.Schober

	DR - Fix alignment compile error in win32 where according to ABI alignment is 4 for int64
	#RB none

Change 3437972 on 2017/05/12 by Arne.Schober

	DR - Fix alignment compile error in win32 where according to ABI function calls cannot take alingned structures. In all of the cases the copy was completely unnecessary.
	#RB none

Change 3437975 on 2017/05/12 by Chris.Bunner

	Added calculation for MaterialParamsEx to MeshDecals.usf.

	#jira UE-43052

Change 3438109 on 2017/05/12 by Rolando.Caloca

	DR - Support for -nomcpp on SCW

Change 3438889 on 2017/05/15 by Chris.Bunner

	Nullptr check in a few material uniform expressions.

Change 3439351 on 2017/05/15 by Chris.Bunner

	Added tooltip to Power material expression.

Change 3439763 on 2017/05/15 by Daniel.Wright

	Apply passed in DistanceBiasSqr to line lights - allows volumetric fog to reduce aliasing on line lights

Change 3439764 on 2017/05/15 by Daniel.Wright

	Fixed order of operations with bTreatMaxDepthUnshadowed - manifested as unfiltered static shadow depth lookups

Change 3440722 on 2017/05/16 by Guillaume.Abadie

	Exposes Scene capture's FOV to blueprints

Change 3441680 on 2017/05/16 by Uriel.Doyon

	Added units to point light intensity, to allow the user to specify the value in candelas or lumens.
	New point light actors now configure the intensity in candelas by default.
	Replaced viewport exposure settings by an EV100 slider.
	Hidding the tone mapper in the show flag now still applies the exposure.
	Added a new AutoExposure method called EV100 which allows to specify :
	- MinEV100, MaxEV100
	- Calibration Constnat
	- Exposure Compensation
	#jira UE-42783

Change 3441884 on 2017/05/16 by Uriel.Doyon

	Fixed StreamingDistanceMultiplier not being applied to the texture streaming data.

Change 3442800 on 2017/05/17 by Gil.Gribb

	Fixed botched merge.

Change 3442896 on 2017/05/17 by Gil.Gribb

	UE4 - Allowed the possibility of running the RHI "thread" on task threads instead and cleaned up and unified the conditionals involved. By default we still have a dedicated RHI thread because it tested slightly faster.

Change 3443951 on 2017/05/17 by Richard.Wallis

	Added Apple override allocator macro - each command encoder type needs it's own allocator queue.

Change 3444787 on 2017/05/17 by Daniel.Wright

	Fixed DBuffer decal default normal (used when DBuffer decals enabled, but not decals rendered) not reconstructing zero properly, adding -.008 to WorldNormal which then caused artifacts with forward lighting specular on materials with roughness near 0.

Change 3444882 on 2017/05/17 by Daniel.Wright

	Added comment to  FClearValueBinding::DefaultNormal8Bit to make the dependency on shader decode clear

Change 3444883 on 2017/05/17 by Brian.Karis

	Improved contact shadows

Change 3445048 on 2017/05/17 by Daniel.Wright

	Fixed particle lights in forward shading, they were not setting the lighting channel mask properly

Change 3445107 on 2017/05/17 by Michael.Trepka

	Changed the order of operations in FMetalStateCache::SetRenderState to work around an issue with some Intel drivers where they would not recalculate the raster state in some edge cases.

	#jira UE-43725

Change 3445212 on 2017/05/17 by Uriel.Doyon

	Added a -CSV option to ListTextures command

Change 3445947 on 2017/05/18 by Richard.Wallis

	Clone of Release-4.16 Stream CL 3437181 and CL 3442450 - fix(s) for black rendering on macOS El Cap with Nvidia GPU.  Move sampling of EyeAdaption texture to pixel shader for Mac Metal using shader language version <= 1 only.

Change 3446545 on 2017/05/18 by Chris.Bunner

	Removed hardcoded (and unused) MRT write from Decal shaders.

	#jira UE-45095

Change 3446568 on 2017/05/18 by Marc.Olano

	Sobol and image-based importance sampling C++ functions and blueprint nodes

Change 3446988 on 2017/05/18 by Marc.Olano

	Fix build error: missing include

Change 3446990 on 2017/05/18 by Marc.Olano

	Cell-indexed Sobol sampling for shaders (in MonteCarlo.usf) and materials (Sobol and TemporalSobol nodes)

Change 3447142 on 2017/05/18 by Rolando.Caloca

	DR - RWLock instead of mutex for PSO cache

Change 3447144 on 2017/05/18 by Uriel.Doyon

	Moved shading model code to SetGBufferFromShadingModel(). This allows the code to be reused in other shader files.

Change 3447794 on 2017/05/18 by Brian.Karis

	Virtual texturing foundation code

Change 3448944 on 2017/05/19 by Arciel.Rekman

	Fix non-unity Linux (and Mac, etc) builds.

	- Mac fix is tentative, did not try.

Change 3449183 on 2017/05/19 by Marcus.Wassmer

	Duplicate fix for reflection captures to happen after sequencer updates.

Change 3449196 on 2017/05/19 by Uriel.Doyon

	Handling RCM_MinMax when reading FloatRGBA textures.
	This fixes pixel inspector always reading 1 for scene color values greater than one.

Change 3451652 on 2017/05/22 by Rolando.Caloca

	DR - Compile fix

	#jira UE-45245

Change 3451660 on 2017/05/22 by Chris.Bunner

	Additional compile fix.

	#jira UE-45245

Change 3451897 on 2017/05/22 by Daniel.Wright

	Moved RTDF shadow project back after the base pass, since it samples the GBuffer for subsurface shadowing.  Removed r.DFShadowAsyncCompute which was relying on the previous ordering.

Change 3452055 on 2017/05/22 by Rolando.Caloca

	DR - Switch compile fix

	#jira UE-45265

Change 3452089 on 2017/05/22 by Rolando.Caloca

	DR - Compile fix

	#jira UE-45246

Change 3452108 on 2017/05/22 by Rolando.Caloca

	DR - Compile fix

	#jira UE-45246

Change 3452179 on 2017/05/22 by Brian.Karis

	Exposed dimensions. Fixed static analysis.

Change 3452734 on 2017/05/22 by Daniel.Wright

	When post processing is disabled, TPT_TranslucencyAfterDOF translucency gets forced into the standard translucency pass.

Change 3452770 on 2017/05/22 by Daniel.Wright

	Static light source shapes drawn into reflection captures handle SourceLength via scaled sphere

Change 3452861 on 2017/05/22 by Rolando.Caloca

	DR - Switch compile fix

Change 3452952 on 2017/05/22 by Brian.Karis

	Small VT fixes

Change 3453647 on 2017/05/23 by Richard.Wallis

	Fix for tessellation shaders on Mac (Metal v1.2) failing to compile.

	#jira UE-45227

Change 3454844 on 2017/05/23 by Uriel.Doyon

	Fixed extra X16 on some point lights
	#jira UE-45250

Change 3454934 on 2017/05/23 by Chris.Bunner

	Backing out changelists 3441680, 3454636 and 3454844 for the sake of integration stability.

Change 3457131 on 2017/05/24 by Arne.Schober

	DR - [UE-45317] - Fix Depthbuffer not available for resolve in Forward mode

	#jira UE-45317
	#RB Chris.Bunner

Change 3457141 on 2017/05/24 by Marc.Olano

	Sobol bug fixes

Change 3457953 on 2017/05/24 by Brian.Karis

	Fix static analysis

	#jira UE-45315
	#jira UE-45314
	#jira UE-45313

Change 3459064 on 2017/05/25 by Chris.Bunner

	Fix for out of bounds material translation crash.

	#jira UE-45406

Change 3459700 on 2017/05/25 by Brian.Karis

	Revert using sprite index buffer because the vert order is different.

Change 3459847 on 2017/05/25 by Chris.Bunner

	Fixing ensure in RenderTestMap.

[CL 3461201 by Chris Bunner in Main branch]
2017-05-26 08:22:50 -04:00
Marc Audy
22f58737f9 Copying //UE4/Dev-Framework to //UE4/Dev-Main (Source: //UE4/Dev-Framework @ 3431384)
#lockdown Nick.Penwarden
#rb none

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

Change 3252833 on 2017/01/10 by Ori.Cohen

	Refactor constraint so that it can be used for external solvers. (Copying //Tasks/UE4/Dev-ImmediateModePhysics to Dev-Framework (//UE4/Dev-Framework))

Change 3256288 on 2017/01/12 by Ori.Cohen

	Undo constraint refactor as we found a way around it and it made the code much harder to read/debug

Change 3373195 on 2017/03/30 by Mike.Beach

	For nativization, changing it so we key off of the target platform-info struct instead of the platform (in preparation for defining the nativized plugin's platform whitelist).

Change 3381178 on 2017/04/05 by Dan.Oconnor

	Make sure we don't inherit the NATIVE func flag when generating skeleton functions, also make sure all bojects outer'd to the skeleton class are marked transient
	#jira UE-43616

Change 3381532 on 2017/04/05 by Marc.Audy

	(4.16) Fix various cases where built lighting on child actors could be lost when loading a level
	#jira UE-43553

Change 3381586 on 2017/04/05 by Mike.Beach

	Now generating TArrayCaster conversions for nativized UClass arrays that need it (to handle different TSubclassOf arrays).

	#jira UE-42676, UE-43257

Change 3381682 on 2017/04/05 by mason.seay

	Some more changes to test map

Change 3381844 on 2017/04/05 by Dan.Oconnor

	Match existing logic for CPF_ReturnParm/CPF_OutParm. Fixes compilation error in BP_TurbineBlades when using compilation manager

Change 3382054 on 2017/04/05 by Zak.Middleton

	#ue4 - Optimize CharacterMovementComponent::GetPredictionData_Client_Character() and GetPredictionData_Server_Character() to remove virtual calls.

	#jira UE-30998

Change 3382703 on 2017/04/06 by Lukasz.Furman

	fixed missing links between navmesh polys when there are more than 4 neighbor connections
	#jira UE-43524

Change 3383357 on 2017/04/06 by Marc.Audy

	(4.16) Make SetHiddenInGame propagate consistently with SetVisibility
	#jira UE-43709

Change 3383359 on 2017/04/06 by Dan.Oconnor

	Fix last errant SKEL reference when cooking Odin

Change 3383591 on 2017/04/06 by Mike.Beach

	Prevent users from setting object variables as 'config' properties (disallowed by UHT). This prevents some errors that could happen later when users nativize the Blueprint.

	#jira UE-42085

Change 3384762 on 2017/04/07 by Zak.Middleton

	#ue4 - Fix SpringArmComponent not restoring relative transform when bUsePawnControlRotation is turned off. Fixes the editor interaction ignoring transform of the component in the viewport after bUsePawnControlRotation is toggled on then off, since by then the world transform had been overwritten (from tick in editor) and nothing would drive transform changes from the editable value.

	Toggling bUsePawnControlRotation off at runtime now restores the rotation to the initial relative rotation, not stomping it with the current pawn rotation, allowing toggling between the editable/desired base rotation and the control rotation.

	#jira UE-24850

Change 3384948 on 2017/04/07 by Dan.Oconnor

	Prevent GForceDisableBlueprintCompileOnLoad from causing all sorts of badness when dependencies are loaded as part of a Diff operation. Instead of setting a global flag we flag the package as LOAD_DisableCompileOnLoad

Change 3385267 on 2017/04/07 by Michael.Noland

	Graph Editing: Pushed some node diffing code down from UAIGraphNode into UEdGraphNode so nodes with details panel properties will diff correctly (e.g., various animation nodes and BP switch nodes)

	#jira UE-21724

Change 3385473 on 2017/04/07 by Phillip.Kavan

	#jira UE-43067 - Fix broken pin wires after an Expand Node operation, along with some misc. cleanup.

	Change summary:
	- Fixed to use correct string for "Expand Node" transaction name.
	- Modified FBlueprintEditor::OnExpandNodes() to consolidate some redundant code.
	- Fixed to generate a unique node GUID for cases where the source graph is not removed after expansion.

Change 3385583 on 2017/04/07 by Dan.Oconnor

	Handle CreatePropertyOnScope nullptr return values (happens for structs missing a struct property)

	#jira UE-43746

Change 3386581 on 2017/04/10 by Michael.Noland

	Blueprints: Further hardening FBlueprintActionInfo::GetOwnerClass()
	#jira UE-43824

Change 3386615 on 2017/04/10 by Marc.Audy

	Instanced properties can now properly be set on a per-instance basis in blueprint added components.
	#jira UE-42066

Change 3387000 on 2017/04/10 by Marc.Audy

	Fix includes for CIS

Change 3387229 on 2017/04/10 by mason.seay

	More changes to TM-Gameplay

	Added Save Game test (with blueprint)

	Tick Interval test (with blueprint)

	BP logic cleanup

	Level organization

Change 3388437 on 2017/04/11 by Mike.Beach

	Adding support for map/set literals in the backend (so you can use set nodes for structs containing sets/maps, without having to connect a RHS input - resets to struct defaults).

	#jira UE-42617

Change 3388532 on 2017/04/11 by mason.seay

	Submitting latest changes for crash repro

Change 3389026 on 2017/04/11 by Ben.Zeigler

	Performance and bug fixes for incremetal cooking with asset registry, duplicate of several changes made on //Fortnite/Main
	Fix it so AssetRegistry.ScanPathsAndFilesSynchronous won't scan subdirectories inside already scanned directories, this cuts down on the number of cache files
	Fix 2 second stall when shutting down AssetSourceFilenameCache if it had never been previously created

Change 3389163 on 2017/04/11 by Ben.Zeigler

	#jira UE-42922 Fix it so connecting function input node output pins does not clear default value, we only want to clear the value when connecting an input pin. Properly testing this fix depends on UE-43883

Change 3389205 on 2017/04/11 by Marc.Audy

	Protect against a handful of GEditor usages that can now be hit in standalone

Change 3389220 on 2017/04/11 by Marc.Audy

	Don't borrow ClassWithin to masquerade as ParentClass during compilation and instead just set the super struct immediately

Change 3389222 on 2017/04/11 by Michael.Noland

	Framework: Adding a cvar (t.TickComponentLatentActionsWithTheComponent) to allow users to revert to the old behavior on when component latent actions tick
	- Non-zero values behave the same way as actors do, ticking pending latent action when the component ticks, instead of later on in the frame (default behavior in 4.16 and beyond)
	- Prior to 4.16, components behaved as if the value were 0, which meant their latent actions behaved differently to actors

	This CVar will be removed in a future version, defaulting to on

	#jira UE-43661

Change 3389276 on 2017/04/11 by Marc.Audy

	Spelling fix and NULL to nullptr

Change 3389303 on 2017/04/11 by Mieszko.Zielinski

	Made sure AIController::Posses doesn't get called when compiling Pawn BP #UE4

	#jira UE-43873

Change 3390215 on 2017/04/12 by mason.seay

	Removed some tests, will need further review

Change 3390638 on 2017/04/12 by Mike.Beach

	Generalizing the omission of the CoerceProperty (in EmitTerm) - previously we were only omitting properties for our custom array lib. For wildcards, a coerce property should not be used as its type will not match.

	NOTE: There is a slight behavior change in UEdGraphSchema_K2::ConvertPropertyToPinType(), as it will return 'wildcard' for params marked as 'ArrayTypeDependentParams' (previously would have returned 'int').

	#jira UE-42747

Change 3390774 on 2017/04/12 by Ben.Zeigler

	#jira UE-43911 Fix several issues with saving a runtime asset registry containing redirectors that caused crashes in cook on the fly. Don't resolve redirectors on incoming links because it will make a circular link, and fix an issue where chained redirectors would break the for loop iteration and return a bad dependency
	Fix it so the asset registry written out at the beginning of CookOnTheFly uses the registry generator, otherwise it will include all of the stripped editor only tags

Change 3390778 on 2017/04/12 by Ben.Zeigler

	Fix UCookOnTheFlyServer::CollectFilesToCook to check for initial unsolicited packages up front. This is required in iterative mode because it may skip cooking all explicit packages and thus miss a new startup loaded package

Change 3390782 on 2017/04/12 by Ben.Zeigler

	Change RunProjectCommand to not imply -nomcp, and allow reading -clientcmdline to override setting the map parameter to 127.0.0.1 by default
	Fix RunProjectCommand to remove ios-specific checks to not pass weird platform parameters, and instead never pass them
	Fix PS4Platform to pass along command line when calling build cook run, args needs to be the last parameter so explicitly set -target=

Change 3390859 on 2017/04/12 by Mike.Beach

	T3D class fields now export with the class's fully qualified path name (to avoid abiguity). Since we can have multiple classes with the same name (Blueprints in different folders), we have to use the class's fully qualified object path.

	#jira UE-28048

Change 3390914 on 2017/04/12 by Lukasz.Furman

	fixed missing navlink component's transform in exported navigation data
	#jira  UE-43688

Change 3391122 on 2017/04/12 by Ben.Zeigler

	Add new PreloadPrimaryAssets call to AssetManager that stream the desired assets without modifying the official load/unload state. This is useful if you want to preload things in case the might be used in the future, and it also supports recursion
	Fix crash calling GetAssetDataForPath with null path

Change 3391494 on 2017/04/12 by Dan.Oconnor

	Fix bad references in deep object (widget) hierarchies

	#jira UE-43802

Change 3391529 on 2017/04/12 by Dan.Oconnor

	Fix log spam, accidently submitted

	#rnx

Change 3391756 on 2017/04/12 by Dan.Oconnor

	LinkExternalDependencies needs to be performed before we RefreshVariables

	#jira UE-43843

Change 3392542 on 2017/04/13 by Marc.Audy

	Ensure that initialized actors get cleaned up when removed from world even if that world hasn't begun play.
	#jira UE-43879

Change 3392746 on 2017/04/13 by Marc.Audy

	(4.16) When duplicating a blueprint node, correctly make the new node a sibling of the duplicated node, not a child of it (unless duplicating the root component).
	Also resets scale of a duplicated root component to 1 to avoid a squaring of the scale for that component.
	#jira UE-40218
	#jira UE-42086

Change 3393253 on 2017/04/13 by Dan.Oconnor

	Make sure calculated meta data is correctly set on functions generated by the compilation manager (SKEL_ class functions)

	#jira UE-43883

Change 3393509 on 2017/04/13 by Mike.Beach

	Removing hack'ish ResetLoaders() call that was causing undesired side-effects (resetting of a loaded package that other objects were relying on). This was originally intended to release file handles so separate editor processes could make updates and save the file (from CL 1712376). Using ResetLoaders() for this is bad though, as it has too many side effects. Instead we have to wait for GC to run. This also makes sure that GC should run as intended as the CookOnTheFly sever is idling.

	#jira UE-37284

Change 3394350 on 2017/04/14 by Michael.Noland

	Core: Making FDateTime and FTimespan actually reflected, so they get duplicated properly in CopyPropertiesForUnrelatedObjects, etc...
	#jira UE-39921

Change 3395985 on 2017/04/17 by Phillip.Kavan

	#jira UE-38280 - Fix invalid custom type selections on member fields in the User-Defined Structure Editor after a reload.

	Change summary:
	- Ensure that the 'SubCategoryObject' member in a UDS variable descriptor has been loaded when converting to an FEdGraphPinType.

Change 3396152 on 2017/04/17 by Marc.Audy

	TickableGameObjects that have IsTickableInEditor false should not tick in the editor
	#jira UE-40421

Change 3396279 on 2017/04/17 by Phillip.Kavan

	#jira UE-43968 - Fix failed validation of bitmask enum types when serializing bitmask literal nodes.

Change 3396299 on 2017/04/17 by Dan.Oconnor

	Fix resintancing issues exposed by running TM-Gameplay with -game. We cannot reinstance actors in levels on load because the scene is not created.

	#jira UE-43859

Change 3396712 on 2017/04/17 by Marc.Audy

	Call PostLoad on subobjects before copying for unrelated properties to avoid cases where an out of date object patched over in the linker has not been brought up to date
	#jira UE-38234

Change 3396718 on 2017/04/17 by Mike.Beach

	Adding a search bar to the components tree for Blueprints.

	#epicfriday
	#jira UE-17620

Change 3396999 on 2017/04/17 by Mike.Beach

	In generated code, call event '_Implementation' functions directly for interface functions being invoked on self (avoids a UHT runtime error).

	#jira UE-44018

Change 3397700 on 2017/04/18 by Marc.Audy

	UT struct BlueprintType fixups

Change 3397701 on 2017/04/18 by Marc.Audy

	Odin struct BlueprintType fixups

Change 3397703 on 2017/04/18 by Marc.Audy

	Ocean struct BlueprintType fixups

Change 3397704 on 2017/04/18 by Marc.Audy

	WEX struct BlueprintType fixups

Change 3397705 on 2017/04/18 by Marc.Audy

	Additional UT blueprint type struct fixups

Change 3397706 on 2017/04/18 by Marc.Audy

	Fortnite struct BlueprintType fixups

Change 3397708 on 2017/04/18 by Marc.Audy

	Fixup Engine BlueprintType markup of structs

Change 3397709 on 2017/04/18 by Marc.Audy

	Sample Game struct BlueprintType fixups

Change 3397711 on 2017/04/18 by Marc.Audy

	Mark AnimNodes as BlueprintType and BlueprintInternalUseOnly

Change 3397712 on 2017/04/18 by Marc.Audy

	Paragon struct BlueprintType fixups

Change 3397735 on 2017/04/18 by Marc.Audy

	Definition pieces of BlueprintInternalUseOnly to fix UHT errors with structs already marked to use it

Change 3397912 on 2017/04/18 by Mike.Beach

	Fix for CIS warnings about shadowed variables (fallout from CL 3396718).

Change 3398455 on 2017/04/18 by Marc.Audy

	Make less critical errors log an error rather than immediately throwing allowing multiple errors to be reported in the same compile

Change 3398491 on 2017/04/18 by Marc.Audy

	BPRW/BPRO in a non-BlueprintType is now a UHT error

Change 3398539 on 2017/04/18 by Marc.Audy

	Fixup live link struct markups

Change 3399412 on 2017/04/19 by Marc.Audy

	Fix Match3 blueprint type struct markups

Change 3399509 on 2017/04/19 by Phillip.Kavan

	#jira UE-38574 - Fix AnimBlueprint function graphs marked as 'const' to treat 'self' as read-only when compiling.

	Change summary:
	- Modified FKismetCompilerContext::ProcessOneFunctionGraph() to use the function graph schema rather than the compiler context schema for both the function context's schema as well as testing the function for 'const'-ness. For AnimBPs, the compiler context and the function graph context can differ, so we need to make sure we are using the right one when making queries for a specific function context during compilation.
	- Minor cleanup: changed the function context schema to be 'const' in order to be consistent with the function graph GetSchema() API's result. Added a few 'const' qualifiers where needed to match.
	- Added a new object version in order to avoid breaking compilation of existing AnimBP function graphs that may already be violating the 'const' rule (this is the same thing that was done when 'const' was first added to "normal" BP function graphs). Just as with normal function graphs in place before the addition, a warning will be generated for existing AnimBP function graphs if they violate 'const' correctness, and an error will be generated for all new ones.

Change 3399749 on 2017/04/19 by Mike.Beach

	Hiding the Nativized Blueprints plugin from the in-editor browser (prevent users from disabling it).

Change 3399774 on 2017/04/19 by Marc.Audy

	ConditionalPostLoad is already called on StaticMesh earlier in the function

	#rnx

Change 3400313 on 2017/04/19 by Mike.Beach

	Mirroring CL 3398673 from 4.16

	Now, with ICWYU, making sure that the coresponding header gets included first in nativized Blueprint files (else we get a UHT error). Had to fixup some ShooterGame specific files as a result (they had missing includes and forward declarations).

	#jira UE-44124

Change 3400328 on 2017/04/19 by Mike.Beach

	Missing file from mirrored change (CL 3400313 - mirroring CL 3398673 from 4.16)

	#jira UE-44124

Change 3400415 on 2017/04/19 by Chad.Garyet

	adding physx switch build to framework

Change 3400514 on 2017/04/19 by Mike.Beach

	Back out changelist 3400313 / 3400328 (mirrored from CL 3398673 in 4.16), as it was producing "include PCH first" errors. Likely, CL 3398673 was a fix for a 4.16 specific change, altering the expected include order. We'll have to wait for this one to be integrated back.

Change 3400552 on 2017/04/19 by Marc.Audy

	Undo the calling of post load prior to the CPFUO as dependent objects may not yet be loaded. Instead copy the need load flag to the new CDO subobject, similarly to how the top level CDO object copies its flags over.
	#jira UE-44150

Change 3400815 on 2017/04/19 by Marc.Audy

	Spelling fix (part of PR #3490)

	#rnx

Change 3400918 on 2017/04/19 by Marc.Audy

	Partial pull of PR #3490: Improved remapping game controls support (Contributed by projectgheist)
	This portion brings in the exposure of the bindings to blueprint
	#jira UE-44122

Change 3401550 on 2017/04/20 by Marc.Audy

	fix kitedemo blueprint type markup

	#rnx

Change 3401702 on 2017/04/20 by Mike.Beach

	Make it so plugins added to a project through the .uproject's 'AdditionalPluginDirectories' list get folded into the generated code project (for visual studio, etc.).

Change 3401720 on 2017/04/20 by Mike.Beach

	Add white and black lists for target type (game, client, server, etc.) to plugin module descriptors.

Change 3401725 on 2017/04/20 by Mike.Beach

	Whitelisting the nativized Blueprint plugin for only the targets it was built for (game, server, or client).

Change 3401800 on 2017/04/20 by Ben.Zeigler

	Add Algo::BinarySearch, LowerBound, and UpperBound. These are setup to allow binary searching a presorted array, and allow for specifying projection and sort predicates. Convert some engine code to use it
	Add TSortedMap, which is a map data structure that has the same API as TMap, but is backed by a sorted array. It uses half the memory and performance is faster below n=10
	Add FName::CompareIndexes so a SortedMap with FNames can be used without doing very slow string compares, and FNameSortIndexes predicate to sort by it
	Add code to Algo and Container tests. Split up container tests so the new ones aren't run in smoketest as they are a bit slow
	Add RemoveCurrent and SetToEnd to ArrayIterator

Change 3401849 on 2017/04/20 by Marc.Audy

	Partial pull of PR #3490: Improved remapping game controls support (Contributed by projectgheist)

	This portion brings bug fixes and improvements to InputKeySelector UMG widgets.
	#jira UE-44122

Change 3402088 on 2017/04/20 by Marc.Audy

	Focus the search box when expanding the map value type
	#jira UE-44211

Change 3402251 on 2017/04/20 by Ben.Zeigler

	Fix issue where SortedMap needs to be resorted after serialization, because the sorting may have changed from when it was saved out

Change 3402335 on 2017/04/20 by Ben.Zeigler

	Significant changes to FAssetData serialization and memory, cuts memory significantly but will break code that was using some of the internal API that was not properly hidden before
	Both Editor and Runtime cache now use the same FAssetRegistryVersion, which is now registered as a custom version
	Rename FAssetData and FAssetPackage operator<< to SerializeForCache to make it clear that it isn't safe to use for general serialization
	Remove GroupNames from FAssetData, it has not been useful since the UE4 package structure changed around 4.0
	Rename generic-sounding but not actually generic SharedMapView class to AssetDataTagMapSharedView to indicate what it is actually used for
	Change TagsAndValues to use a new array-backed TSortedMap as the base structure instead of a hash map. Also, it only allocates the map on demand, which saves significant memory at runtime as many packages have no tags
	Add bFilterAssetDataWithNoTags to [AssetRegistry] ini section, if set it will only save cooked asset data if it has tags, off by default but saves significant memory if your whitelist is set up properly
	Fix issue where asset registry tags updated by loading assets during cook were not being reflected in the cooked registry
	Add AssetRegistry::GetAllocatedSize and add to MemReport output

Change 3402457 on 2017/04/20 by Ben.Zeigler

	Enable asset registry iteration and stripping unused asset data in Fortnite. Registry iteration is already on in //Fortnite/Main, stripping is a new feature I want to test

Change 3402498 on 2017/04/20 by Ben.Zeigler

	CIS fix. Why did this compile locally?

Change 3402537 on 2017/04/20 by Ben.Zeigler

	Remove ensure for making AssetData for subobjects, the editor does this for thumbnail creation in some cases

Change 3402600 on 2017/04/20 by Ben.Zeigler

	Add bShouldGuessTypeAndNameInEditor to manager settings, can be set false for games where type cannot be safely implied and content must be resaved
	Fix up some bool setting code inside asset manager, and fix const correctness and for iterator issues
	AssetManager can now discover any BlueprintCore type when bHasBlueprintClasses=true
	Add AssetManager.DumpAssetRegistryInfo to output detailed asset registry usage stats
	Add Primary Name to asset audit window by default

Change 3403556 on 2017/04/21 by Marc.Audy

	Fix Orion input key selector override class

	#rnx

Change 3404090 on 2017/04/21 by mason.seay

	Applying Forcefeedback to test map

Change 3404093 on 2017/04/21 by mason.seay

	Changing text in level

Change 3404139 on 2017/04/21 by mason.seay

	Added Force Feedback test and made some tweaks.

Change 3404146 on 2017/04/21 by mason.seay

	Added source reference to Instanced Variable test

Change 3404154 on 2017/04/21 by mason.seay

	More minor tweaks

Change 3404155 on 2017/04/21 by Marc.Audy

	Remove auto

	#rnx

Change 3404188 on 2017/04/21 by Marc.Audy

	Fixed crash changing variable type when any type other than map
	#jira UE-44249

	#rnx

Change 3404463 on 2017/04/21 by Ben.Zeigler

	Fix asset data code to not ensure when loading an object with invalid exports, and instead print warning with name of package that needs to be resaved
	Resave a map that had a redirector from a DIFFERENT package saved in it's exports. I do not understand how this happened, but it appears to be related to the lightmap BuiltData transition when old maps are opened

Change 3404465 on 2017/04/21 by Ben.Zeigler

	Fix issue with trying to load editor-only asset classes in a cooked build
	Fix issues with renaming or changing template Ids of assets from the editor
	Always print the Duplicate Asset ID error, as if you have more than one the ensuremsg only goes off once

Change 3404481 on 2017/04/21 by Dan.Oconnor

	Remove unneeded walk up hierarchy - prevent stale entries in action database if we compile a BP but don't compile its children

Change 3404510 on 2017/04/21 by Phillip.Kavan

	#jira UE-35727 - Collapsed graphs containing a local variable node will no longer cause a compile error when the parent graph is renamed.

Change 3404590 on 2017/04/21 by Michael.Noland

	Editor: Fixed incorrect filtering of abstract/deprecated UDeveloperSettings and UContentBrowserFrontEndFilterExtension classes caused by a typo (HasAnyCastFlags versus HasAnyClassFlags)

Change 3404593 on 2017/04/21 by Marc.Audy

	Fixed another crash to do with input pin secondary combo box
	#jira UE-44269

	#rnx

Change 3404600 on 2017/04/21 by Michael.Noland

	Core: Allow UE_GC_TRACK_OBJ_AVAILABLE to be set externally
	#rnx

Change 3404602 on 2017/04/21 by Michael.Noland

	Engine: Switched from an include to a forward declaration of SWidget in UDeveloperSettings to keep it slim
	#rnx

Change 3404608 on 2017/04/21 by Michael.Noland

	Core: Marked TNumericLimits as constexpr so they can be used in static asserts

Change 3404659 on 2017/04/21 by Michael.Noland

	Engine: Adding includes back to two UDeveloperSettings subclasses

Change 3405289 on 2017/04/24 by Marc.Audy

	Remove auto

	#rnx

Change 3405446 on 2017/04/24 by Marc.Audy

	Fix Win32 unsigned compile issue

Change 3405512 on 2017/04/24 by Mike.Beach

	Piping through NativizationOptions to filename generation (so we're able to gen different files names per target: client vs. server).

Change 3406080 on 2017/04/24 by Ben.Zeigler

	Deprecate UEngine::OnPostEngineInit and move to FCoreDelegates, clean up comments for the initialization delegates
	Call OnPostEngineInit from commandlet initialization as well as normal execution. I thought about making a wrapper function, but the commandlet calls EditorInit directly so it wouldn't work
	Bind delegate to refresh the AssetRegistry native class hierarchy after engine init so it picks up game/plugin classes. Undo ini change that was required to hack around this

Change 3406381 on 2017/04/24 by Ben.Zeigler

	#jira UE-23768 Enable Run Physics With No Controller for montage test pawn. The montage pawn has no controller so wasn't correctly running physics when the root motion stopped. This flag needs to be set to allow it to correctly stop after the montage is over

Change 3406438 on 2017/04/24 by Ben.Zeigler

	Fix deprecation warning

Change 3406519 on 2017/04/24 by Phillip.Kavan

	#jira UE-43612 - Suppress array "Get" node fixup notifications on load when the BP Compilation Manager is enabled.

	Change summary:
	- Wrapped BPCM calls to FBlueprintEditorUtils::ReconstructAllNodes() and ReplaceDeprecatedNodes() duirng compile-on-load with bIsRegeneratingOnLoad = true. This matches the BP's state during compile-on-load when the BPCM is not enabled.

Change 3406565 on 2017/04/24 by Dan.Oconnor

	Make sure all interface functions are added to skeleton

	#jira UE-44152

Change 3407489 on 2017/04/25 by Ben.Zeigler

	#jira UE-44317 Fix game-only TickableGameObjects to correctly tick in PIE

Change 3407558 on 2017/04/25 by Ben.Zeigler

	Fix Fortnite cook warnings, issue had to do with the CDO being registered as a Primary Asset in conflict with the Class being registered
	Fix issue with renaming a BP primary asset not finding the old name

Change 3407701 on 2017/04/25 by Dan.Oconnor

	Remove unneeded null check, static analysis doen't like the inconsistency

Change 3407995 on 2017/04/25 by Marc.Audy

	Fixed maps and sets not working correctly with split pin.
	#jira UE-43857

Change 3408124 on 2017/04/25 by Ben.Zeigler

	#jira UE-39586 Change it so the blueprint String/Name/Object to Text node creates culture invariant text, and also have them show as an expanded node with a comment explaining this
	Fix Transform to actually return in the format specified in the comment, and fix comments on many text conversions

Change 3408134 on 2017/04/25 by Marc.Audy

	Graph pin container type now represented by an enumeration (EPinContainerType) rather than 3 "independent" booleans.
	FEdGraphPinType constructor, UEdGraphNode::CreatePin, and FKismetCompilerContext::SpawnInternalVariable that took 3 booleans deprecated and replaced with a version that takes EPinContainerType.
	UEdGraphNode::CreatePin parameters reorganized so that PinName is before ContainerType and bIsReference, which default to None and false respectively

Change 3408256 on 2017/04/25 by Michael.Noland

	Core: Changed UClass::ClassFlags to be of type EClassFlags for improved type safety

Change 3408282 on 2017/04/25 by Marc.Audy

	(4.16) Fix incorrect positioning of instance components after duplication
	#jira UE-44314

Change 3408404 on 2017/04/25 by Mike.Beach

	Adding and removing the nativized plugin to/from the project when we alter the packaging nativization setting (so it gets picked up by project generation).

Change 3408445 on 2017/04/25 by Marc.Audy

	Fix up missed deprecation cases

	#rnx

Change 3409354 on 2017/04/26 by Marc.Audy

	Fix Linux CIS failure

	#rnx

Change 3409487 on 2017/04/26 by Marc.Audy

	When dragging assets in to the SCS create them as siblings, not nested
	#jira UE-43041

Change 3409776 on 2017/04/26 by Ben.Zeigler

	#jira UE-44401 Fix issue with cooking a map containing a reparented component. In that case the child component may think it's not editor only, but it's archetype is editor only. This is not allowed in EDL, so now the child is marked as editor only as well

Change 3410168 on 2017/04/26 by Dan.Oconnor

	Avoid calling virtual functions in the middle of compile
	#jira UE-44243

Change 3410252 on 2017/04/26 by Lukasz.Furman

	adjusted WITH_GAMEPLAY_DEBUGGER checks after IWYU changes
	#ue4

Change 3410385 on 2017/04/26 by Marc.Audy

	ChildActorComponent SetClass no longer fails when setting at runtime.
	#jira UE-43356

Change 3410466 on 2017/04/26 by Michael.Noland

	Core: Ensuring EClassFlags is 32 bit in a different way (underlying type of the enum is coming out signed even though all members are unsigned, long term fix is probably to move it to an enum class)
	#rnx

Change 3410476 on 2017/04/26 by Michael.Noland

	Automation: Deleting some commented out methods
	#rnx

Change 3411070 on 2017/04/27 by Marc.Audy

	Properly complete deprecation of old attachment API

Change 3411338 on 2017/04/27 by mason.seay

	Map for Latent Action Tick Bug

Change 3411637 on 2017/04/27 by Ben.Zeigler

	Back out CL #3381532 as it was causing crashes when adding new variables to blueprints, as the transaction array was being recursively modified while it was being added to

Change 3412052 on 2017/04/27 by mason.seay

	Updated jump test map and pawn

Change 3412231 on 2017/04/27 by Ben.Zeigler

	Fix issue where running SearchAllAssets multiple times after mounting new paths would throw away the asset registry cache, which slowed down incremental cooking substantially because the cooker mounts the autosave folder
	Duplicate of CL #3411860

Change 3412233 on 2017/04/27 by Ben.Zeigler

	Made FStreamableHandle::GetLoadedCount much faster by taking advantage of existing progress counter
	Duplicate of CL #3411778

Change 3412235 on 2017/04/27 by Ben.Zeigler

	Add code to FStringAssetReferenceThreadContext and FStringAssetReferenceSerializationScope which allows setting package name and collect options for string asset references serialized via something other than linker load
	Make RedirectCollector threadsafe to avoid issues with async loading asset references
	Fix it so ProcessStringAssetReferencePackageList will remove entries from the string asset array like resolve did, and rename function to indicate that
	Fix it so string asset references created by asset labels do not automatically get cooked, and significantly improve the speed of labels with lots of assets
	Add code to cooker and asset manager to explicitly mark non-cookable assets as NeverVook, this stops labels from ending up in the build if set that way
	Added option to not recurse package dependency changes more than one level when hashes change. This ended up not being significantly faster in a realistic case so left disabled
	Duplicate of CL #3412080

Change 3412352 on 2017/04/27 by Marc.Audy

	Refix lighting getting wrong position when getting component instance data

Change 3412426 on 2017/04/27 by Marc.Audy

	Take first steps to making ComponentToWorld private and force use of accessor
	Make bWorldToComponentUpdated private
	Make ComponentToWorld and bWorldToComponentUpdated mutable
	Add a SetComponentToWorld function for the (likely ill-advised) places that were setting it directly.

Change 3412468 on 2017/04/27 by Marc.Audy

	Remove last remnants of deprecated (4.11) custom location system

Change 3413398 on 2017/04/28 by Marc.Audy

	Fix up missed deprecated attachment API  uses

Change 3413403 on 2017/04/28 by Marc.Audy

	Fix Orion compile error

	#rnx

Change 3413448 on 2017/04/28 by Marc.Audy

	Fix up kite demo component to world privataization warnings

	#rnx

Change 3413792 on 2017/04/28 by Ben.Zeigler

	Fix many bugs with blueprint pin default values, and add "Reset to Default Value" option to pin context menu
	Deprecate and rename SetPinDefaultValue because it actually sets the Autogenerated default. This was being called in bad places and destroying the stored autogenerated defaults
	#jira UE-40101 Fix expose on spawn pins to correctly update when the spawned object's defaults change
	#jira UE-21642 Fix struct pin default values to properly update when the struct is changed
	#jira UE-39418 Fix changed function/macro default values to properly update in already placed call nodes

Change 3413839 on 2017/04/28 by samuel.proctor

	Added some Blueprint focused tests for TM-Gameplay

Change 3414030 on 2017/04/28 by Ben.Zeigler

	Enable use of AssetPtr variables with Config, for native and blueprint
	This incorporates CL #3302487 but also enables for blueprint usage as that code is new to framework branch

Change 3414229 on 2017/04/28 by Marc.Audy

	Fixup virtuals not calling their Super
	Remove some autos

	#rnx

Change 3414451 on 2017/04/28 by Lukasz.Furman

	static analysis fix for gameplay debugger

Change 3414482 on 2017/04/28 by Ben.Zeigler

	Fix crash found where changing pin type on ConvertAsset accessed an array while deleting it

Change 3414609 on 2017/04/28 by Ben.Zeigler

	#jira UE-18146 Refresh graph when disconnecting a resolve asset id node

Change 3415852 on 2017/05/01 by Marc.Audy

	Remove unused code

	#rnx

Change 3415856 on 2017/05/01 by Marc.Audy

	auto removal

	#rnx

Change 3415858 on 2017/05/01 by Marc.Audy

	Fix function taking an input as reference when unneeded and causing (still unclear why it suddenly started showing up) error in cooking

	#rnx

Change 3415946 on 2017/05/01 by Marc.Audy

	Have K2Node_StructOperation skip the K2Node_Variable validation as it doesn't need a property (per CL# 1756451)

	#rnx

Change 3415988 on 2017/05/01 by Lukasz.Furman

	renamed WorldContext param in AI related static blueprint functions to remove load/cook warnings
	#jira UE-44544

Change 3416030 on 2017/05/01 by Ben.Zeigler

	Fix issue with WorldContext pins being broken by my pin value refactor, partial paths like "WorldContext" need to be stored as strings and not as broken object references.

Change 3416230 on 2017/05/01 by Marc.Audy

	Fix spelling error

	#rnx

Change 3416419 on 2017/05/01 by Phillip.Kavan

	#jira UE-44213 - Nativizing a Blueprint class with a non-nativized Blueprint class subobject dependency will no longer lead to a crash at load time.

	Change summary:
	- Modified the FFakeImportTableHelper ctor to inject subobject CDOs into the 'SerializeBeforeCreateCDODependencies' array. This in turn ensures that EDL will serialize those subobject CDOs (if necessary) before we create the subobject's nativized owner's CDO at load time.
	- Modified FEmitDefaultValueHelper::GenerateCustomDynamicClassInitialization() to emit MiscConvertedSubobject instantiations AFTER we emit the FillUsedAssetsInDynamicClass() call. This is now consistent with the code emitted for other subobjects (all of which assumes that the UsedAssets array has been initialized).
	- Modified FFindAssetsToInclude::HandleObjectReference() to add UField owner CDOs in addition to the owner class to the asset dependency list. This ensures that owner CDOs will be emitted alongside the class to both the nativized asset dependency table as well as to the fake import table associated with the UDynamicClass linker for the nativized BP asset.

Change 3416425 on 2017/05/01 by Phillip.Kavan

	#jira UE-44219 - Nativizing a Blueprint class with a nativized DOBP class dependency will no longer lead to a compile error at cook/nativization time.

	- Modified the FGatherConvertedClassDependencies ctor to properly handle DOBPs in exclusive mode that have been explicitly enabled for nativization. Previously, this code wasn't taking that possibility into account, and as a result could lead to a missing header file in a dependent nativized class body's include set.
	- Modified FGatherConvertedClassDependencies::GetFirstNativeOrConvertedClass() to remove the 'bExcludeBPDataOnly' parameter, as it was primarily just being used for a redundant exclusion check when called from the FGatherConvertedClassDependencies ctor. That call site has now been modified to start searching from the super class instead. Additionally, any DOBPs will already fail the preceding WillClassBeConverted() check if they have not been explicitly enabled for nativization in exclusive mode, and will always fail if nativizing in inclusive mode. The extra check was breaking the explicitly-enabled case, so it was removed to allow explicitly-enabled DOBPs to pass.

	Notes:
	- Allowing for explicitly-enabled DOBPs in exclusive mode may be removed in a future change, but since it is currently supported, the changes noted above will at least ensure that the generated code will compile properly for now.

Change 3416570 on 2017/05/01 by mason.seay

	Added UMG test to map.  Tweaked force feedback test

Change 3416580 on 2017/05/01 by mason.seay

	Resubmitting sub levels

Change 3416597 on 2017/05/01 by Dan.Oconnor

	Compilation manager iteration, adds machinery for individual blueprint compilation, adds comments, cleans up duplicated code

Change 3416636 on 2017/05/01 by Phillip.Kavan

	#jira UE-44505 - Potential fix for a low-repro crash tied to the Blueprint graph context menu.

	Change summary:
	- Switched FBlueprintActionInfo::ActionOwner to be a weak object reference.

Change 3416960 on 2017/05/01 by Dan.Oconnor

	Use compilation manager when clicking the compile button, PIE'ing, etc

Change 3417207 on 2017/05/01 by Ben.Zeigler

	Fix issue with None strings causing default value parsing failures
	Add SetPinDefaultValueAtConstruction needed by some other changes

Change 3417519 on 2017/05/01 by Ben.Zeigler

	Fix BP compile errors caused by local variables with invalid default values. There's no reason to set autogenerated here because the nodes are transient and invisible in the UI.
	There is still a problem here, local variables are not getting their default values validated when type is changed, so you end up with an integer that has the default value of a struct.

Change 3418659 on 2017/05/02 by Ben.Zeigler

	#jira UE-44534 Fix it so animation node pins get properly created autogenerated default values that are based on the node struct defaults. This fixes issues when they are reset to other defaults
	#jira UE-44532 Fix it so connecting an animation asset pin on a node player resets the pin value to the autogenerated default instead of the cached asset. This was causing old unused assets to get unnecessarily cooked
	Fix it so any animation node with an exposed pin that is an object property will reset that object propery when the pin is exposed. This fixes UE-31015 in a generic way
	Change the OptionalPinManager to take a Defaults address as well as a current address, to allow setting autogenerated defaults properly
	Remove Import/ExportKismetDefaultValueToProperty as they were redundant with PropertyValueFromString and were using the wrong pin setting functions, replaced with PropertyValueFromString_Direct and calling the schema pin set functions
	I need to write some backward compatibility code to fix existing nodes, I'll do that in a later checkin

Change 3418700 on 2017/05/02 by Ben.Zeigler

	Actually fix None object paths for real this time. I did not test sufficiently before

Change 3418811 on 2017/05/02 by Ben.Zeigler

	Fix existing animation blueprint nodes with dead asset references duplicated by pins. This code can be applied independent of the other change to fix specific games

Change 3419165 on 2017/05/02 by Dan.Oconnor

	Add misc. functionality from FKismetEditorUtilities::CompileBlueprint

Change 3419202 on 2017/05/02 by Marc.Audy

	Merging //UE4/Dev-Main to Dev-Framework (//UE4/Dev-Framework) @ 3417825

	#rnx

Change 3419236 on 2017/05/02 by mason.seay

	Removed OnPressed event from Widget BP

Change 3419314 on 2017/05/02 by Marc.Audy

	Fix bad auto-resolve

	#rnx

Change 3419524 on 2017/05/02 by Marc.Audy

	PR #3528: Improved Input BP library node display names (Contributed by projectgheist)
	#jira UE-44587
	#rn Improved Input BP library node display names

Change 3419570 on 2017/05/02 by Zak.Middleton

	#ue4 - Fix typo in TFunctionRef comment/example.

Change 3419709 on 2017/05/02 by Dan.Oconnor

	Fix missing category metadata on SkeletonGeneratedClass when using compilation manager

Change 3419756 on 2017/05/02 by Dan.Oconnor

	Remove unintentional verbosity increase

Change 3420875 on 2017/05/03 by Marc.Audy

	Make IsExecPin static
	Minor optimization to IsMetaPin

	#rnx

Change 3420981 on 2017/05/03 by Marc.Audy

	Change tagging temporarily until other changes are done so that we don't have warnings in the meantime

	#rnx

Change 3421367 on 2017/05/03 by Marc.Audy

	Manually introduce changes from CL# 3398673 in 4.16 that failed to make it to Dev-Framework as a result of the integration submitted as CL# 3401725.

	#rnx

Change 3421685 on 2017/05/03 by Ben.Zeigler

	#jira UE-23001 Convert literal Asset ID/Class ID pins to store path as string instead of as hard object reference. Old pins are fixed on load, after resaving the hard references will go away
	Refactor the way that FStringAssetReference and FAssetPtr are serialized, it now does the various fixups in FStringAssetReference::SerializePath, which is called from archivers
	Change it so the asset registry reads in a list of all scanned redirectors and adds them to GRedirectCollector, this means that saving a string asset reference will automatically fix it up to point to the redirector destination
	Change the default behavior of FAssetPtr serialize on ArchiveUObject to match what most of it's children want, and remove several special case hacks. It now serializes as asset reference when saving/loading, and as object for other cases
	Deprecate StringAssetReferenceLoaded/StringAssetReferenceSaving delegates, replace with PreSavePath and PostLoadPath on FStringAssetReference
	Make AssetLongPathname private on FStringAssetReference, it was deprecated in 4.9

Change 3421728 on 2017/05/03 by Phillip.Kavan

	Mirror CL 3408285 from //UE4/Release-4.16.

	#jira UE-44124

	#rnx

Change 3422370 on 2017/05/03 by Dan.Oconnor

	Mirror 3422359

	Implement UBlueprintGeneratedClass::NeedsLoadForEditorGame to match UBlueprint, also tag a class's CDO as NeedsLoadForEditorGame.

	This prevents us from failing to load a UBlueprint's GeneratedClass when running the editor with -server.

	#jira UE-44659

Change 3423192 on 2017/05/04 by Ben.Zeigler

	CIS Fix

Change 3423305 on 2017/05/04 by Ben.Zeigler

	Fix "Missing opening parenthesis" warnings for Vector and Rotator the same way they were fixed for Transform

Change 3423358 on 2017/05/04 by Marc.Audy

	Merging //UE4/Dev-Main to Dev-Framework (//UE4/Dev-Framework) @ 3422809

	#rnx

Change 3423766 on 2017/05/04 by Ben.Zeigler

	#jira UE-44680 Delete some corrupted redirectors that are no longer in use

Change 3423804 on 2017/05/04 by Dan.Oconnor

	Honor SaveIntermediateCompilerResults when using compilation manager

Change 3424010 on 2017/05/04 by Marc.Audy

	Validate that switch string cases are unique

Change 3424011 on 2017/05/04 by Marc.Audy

	Re-fix switch node default pin not appearing as an exec output
	Remove unused boolean

Change 3424071 on 2017/05/04 by Ben.Zeigler

	Delete FixupRedirects commandlet, replace with -FixupRedirects/FixupRedirectors option on ResavePackages. This new method is much faster than the old commandlet as it uses the asset registry vs loading all packages, fixing up all redirectors in Fortnite only took about an hour vs 12+ hours the old way
	Removed some hacky bits in Core that only existed to support FixupRedirects
	Change it so the AssetRegistry listens to DirectoryWatcher callbacks in commandlets now that commandlets use the asset registry properly. This won't do anything unless you tick directory watcher the way that ResavePackages does

Change 3424313 on 2017/05/04 by Dan.Oconnor

	Address missing property flags on SkeletonGeneratedClass when using compilation manager
	#jira UE-44705

Change 3424325 on 2017/05/04 by Phillip.Kavan

	#jira UE-44222 - Move nativized UDS implementation details into its own .cpp file in order to avoid circular dependencies.

	Change summary:
	- Modified IKismetCompilerInterface::GenerateCppCodeForStruct() to include an output parameter for CPP source and modified FKismet2CompilerModule to match the updated API.
	- Modified IBlueprintCompilerCppBackend::GenerateCodeFromStruct() to include an output parameter for CPP source and modified FBlueprintCompilerCppBackendBase to match the updated API.
	- Modified FBlueprintNativeCodeGenUtils::GenerateCppCode() to adjust the call to GenerateCppCodeForStruct() to include CPP source output.
	- Modified FGatherConvertedClassDependencies::DependenciesForHeader() to switch UDS property dependencies to be forward declarations rather than includes (for default value init code).
	- Modified FEmitDefaultValueHelper::GenerateGetDefaultValue() to emit implementation details to the 'Body' container, and adjust the header content to be a declaration only.
	- Modified FIncludeHeaderHelper::EmitInner() to exclude a potentially-redundant line for the module's .h file, for the case when the caller has included the base filename in the 'AlreadyIncluded' set.
	- Modified FEmitterLocalContext::FindGloballyMappedObject() to limit the 'TryUsedAssetsList' path to UClass conversions only (since that requires a UDynamicClass target to work).
	- Modified FGatherConvertedClassDependencies::DependenciesForHeader() to only include BPGC fields if they are also being converted. Eliminates an issue with missing header files in generated code.

Change 3424359 on 2017/05/04 by Ben.Zeigler

	Fix issue where StreamableManager would break when requesting an async load that failed the first time. Because our game supports downloading assets during gameplay it's not safe to assume it will never load again.
	Port of CL #3424159

Change 3424367 on 2017/05/04 by Ben.Zeigler

	Fix some asset manager warnings to not go off in invalid cases

Change 3425270 on 2017/05/05 by Marc.Audy

	Pack booleans/enums in UEdGraphNode and FOptionalPinFromProperty

	#rnx

Change 3425696 on 2017/05/05 by Ben.Zeigler

	#jira UE-44672 Fix it so select node option pins get populated with default values properly
	#jira UE-43927 Fix it so select node opion pin type is correctly maintained accross node recreation, as opposed to deriving from the attached pins
	#jira UE-44675 Fix it to correctly refresh select node when switching from bool to integer index

Change 3425833 on 2017/05/05 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 3425890 on 2017/05/05 by Marc.Audy

	Fix Copy/Paste of child actor components losing the template
	#jira UE-44566

Change 3425947 on 2017/05/05 by Ben.Zeigler

	This was meant to be part of last checkin

Change 3425959 on 2017/05/05 by Ben.Zeigler

	#jira UE-44692 Fix it so only the sequentially last node can be removed from a Switch On Int, and for Switch On Name stop it from removing an exec pin if it's the only non-default one

Change 3425979 on 2017/05/05 by Dan.Oconnor

	PVS fix

Change 3425985 on 2017/05/05 by Phillip.Kavan

	Fix an uninitialized variable.

	#rnx

Change 3426043 on 2017/05/05 by Ben.Zeigler

	#jira UE-35583 Correctly refresh array node UI when connecting pins that change it away from wildcard

Change 3426174 on 2017/05/05 by Zak.Middleton

	#ue4 - Avoid call to virtual getSimulationFilterData() to only use it when needed in PreFilter if we actually have items in the IgnoreComponents list (which is rare). The sim filter data 'word2' stores the component ID.

Change 3426621 on 2017/05/05 by Phillip.Kavan

	#jira UE-44708 - Fix an issue that re-introduced component data loss in a non-nativized child Blueprint class with a nativized parent Blueprint class.

	Change summary:
	- Removed an unnecessary additional check I had for the presence of "-NativizeAssets" switch on the command line in UBlueprint::BeginCacheForCookedPlatformData(). This check was failing because the usage was recently changed to include an optional value. It was not needed anyway so I just removed it.

	#rnx

Change 3426906 on 2017/05/05 by Ben.Zeigler

	#jira UE-11189 Fix function/macro input default values to show as a pin customization instead of as a broken text box that doesn't work correctly for most types. This fixes enums and provide validation for other types
	Types that don't have a customization (most structs) will now show any more, they did not work before either
	#jira UE-21754 Hide function default values if pass by reference is set
	Fix it so changing input parameter will also reset default value, to avoid having the wrong type value set and to work the same as local variables

Change 3426941 on 2017/05/05 by Dan.Oconnor

	Fix determinstic cooking of LoadAssetClass nodes in macros

Change 3427021 on 2017/05/05 by Dan.Oconnor

	Build fix, make initialization order in source match artifact

	#rnx

Change 3427135 on 2017/05/05 by Phillip.Kavan

	#jira UE-44702 - Restore code-based interface classes to Blueprint editor UI.

	Change summary:
	- Partially backed out CL# 3348513 to return to previous behavior for 4.16. The UI is no longer filtering on the __is_abstract() type trait for interface classes.
	- Modified FNativeClassHeaderGenerator::ExportClassFromSourceFileInner() to emit the _getUObject() declaration for native interface types as a default implementation that returns NULL rather than as a pure virtual declaration.

	#rnx

Change 3427144 on 2017/05/06 by Marc.Audy

	Fix init order

	#rnx

Change 3427146 on 2017/05/06 by Marc.Audy

	remove stray semicolon

	#rnx

Change 3427242 on 2017/05/06 by Phillip.Kavan

	#jira UE-44744 - Fix a regression in which a UMG Widget Blueprint property not explicitly marked as a variable would cause Blueprint nativization to fail at package time.

	Change summary:
	- Modified FWidgetBlueprintCompiler::CreateClassVariablesFromBlueprint() to only add 'Category' metadata when we set the 'CPF_BlueprintVisible' flag on the UProperty, which in is now tied to whether or not the property has been explcitly marked as a variable. This avoids a UHT warning when compiling the nativized codegen that would cause packaging to fail.

	#rnx

Change 3427720 on 2017/05/08 by Dan.Oconnor

	Backing out 3419202

	#rnx

Change 3427725 on 2017/05/08 by Dan.Oconnor

	SA fix

	#rnx

Change 3427734 on 2017/05/08 by Dan.Oconnor

	More exhaustive GEditor null checks, to appease SA

	#rnx

Change 3427882 on 2017/05/08 by Marc.Audy

	Properly order all booleans in intialization

	#rnx

Change 3428049 on 2017/05/08 by Marc.Audy

	Merging //UE4/Dev-Main to Dev-Framework (//UE4/Dev-Framework) @ 3427804

	#rnx

Change 3428523 on 2017/05/08 by Ben.Zeigler

	#jira UE-44781 Refresh function input UI when blueprint graph refreshes, needed as pins may have gone away

Change 3428563 on 2017/05/08 by Ben.Zeigler

	#jira UE-44783 If setting a hard reference pin type from a string, load the referenced object.

Change 3428595 on 2017/05/08 by Dan.Oconnor

	Avoid node reconstruction when we're compiling a blueprint with no linker (e.g., a duplicated blueprint)

	#jira UE-44777

Change 3428599 on 2017/05/08 by Ben.Zeigler

	#jira UE-44789 Fix string asset renamer to not mark IsPersistent becuase that crashes in lightmap code, change it so the path fixup doesn't require the persistent flag

Change 3428609 on 2017/05/08 by Dan.Oconnor

	Improved fix for UE-44777

	#jira UE-44777
	#rnx

Change 3429176 on 2017/05/08 by Phillip.Kavan

	#jira UE-44755 - Fix nativization build errors when packaging a game project that is not IWYU-compliant for a build target that disables PCH files.

	- Mirrored from //UE4/Release-4.16 (CL# 3429030).

	#rnx

Change 3429198 on 2017/05/08 by Phillip.Kavan

	CIS fix.

	#rnx

Change 3429583 on 2017/05/08 by Ben.Zeigler

	Fix SGraphPinClass to work properly after my changes to allow unloaded assets. For Class pins we need to store separate Runtime and Editor asset data objects, as one has _C and refers to the class, and the other doesn't and refers to the blueprint. The content browser wants the editor path, the pin defaults want the runtime path.
	Change default value widgets to look more like properties widgets by forcing them to act as highlighted and disabling black background

Change 3429640 on 2017/05/08 by Marc.Audy

	Fix issues with select nodes in macros connected to wildcard pins.
	#jira UE-44799

	#rnx

Change 3429890 on 2017/05/08 by Ben.Zeigler

	Fix function/macro defaults to properly propagate when changed using the new edit UI
	Refactor some code out of the details customization into the k2 schema
	Disable defaults UI for object/class/interface hard references as it is disabled in KismetCompiler

Change 3429947 on 2017/05/08 by Michael.Noland

	Core: Backing out CL# 3394352 (marking FDateTime and FTimespan nonexport member Tick with UPROPERTY()), which will re-break UE-39921 but fix UE-44418
	There appears to be a more serious underlying issue with how the CDO is instanced which needs to be addressed
	#jira UE-44418

	#reimplementing 3411681 from Release 4.16

Change 3429987 on 2017/05/08 by Ben.Zeigler

	#jira UE-44798 Do a better job of validating object paths saved as default values, due to an old bug with local variables some object paths are saved as struct exportext
	At load time clear invalid default value for local variables
	Add IsValidObjectPath to FPackageName that validates the passed in path would be valid to load with LoadObject

Change 3430392 on 2017/05/09 by Marc.Audy

	Fix SA CIS error

	#rnx

Change 3430747 on 2017/05/09 by Ben.Zeigler

	#jira UE-44836 Don't reconstruct node during callback for param value changing, this can happen during a reconstruction and recursive reconstruction is unsafe
	Don't call ModifyUserDefinedPinDefaultValue unless the default value has actually changed

Change 3431027 on 2017/05/09 by Marc.Audy

	Fix BPRW mark up causing Ocean warnings

	#rnx

Change 3431353 on 2017/05/09 by Marc.Audy

	Fix UHT error due to exposing FJsonObjectWrapper to blueprints

	#rnx

[CL 3431398 by Marc Audy in Main branch]
2017-05-09 17:15:32 -04:00
Ben Marsh
20bf0eb6a1 Updating copyright notices to 2017 (copying from //Tasks/UE4/Dev-Copyright-2017).
#rb none
#lockdown Nick.Penwarden

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

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

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

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

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

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

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

[CL 3209342 by Ben Marsh in Main branch]
2016-11-23 15:48:37 -05:00