#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]
#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]
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2858603 on 2016/02/08 by Tim.Hobson
#jira UE-26550 - checked in new art assets for buttons and symbols
Change 2858665 on 2016/02/08 by Taizyd.Korambayil
#jira UE-25797 Added TextureLODSettings for Ipad Mini set all LODBias to 2.
Change 2858668 on 2016/02/08 by Matthew.Griffin
Added InfiltratorDemo back into Rocket samples
#jira UEB-591
Change 2858743 on 2016/02/08 by Taizyd.Korambayil
#jira UE-25996 Fixed Import Error in TopDOwn Code
Change 2858776 on 2016/02/08 by Matthew.Griffin
Added UnrealMatch3 to packaged projects
#jira UEB-589
Change 2858900 on 2016/02/08 by Taizyd.Korambayil
#jira UE-15234 Switched all Mask Textures to use the (Mask,No sRGB) Compression
Change 2858947 on 2016/02/08 by Mike.Beach
Controlling more when VerifyImport() is ran - trying to prevent Verify() from running when DeferDependencyLoads is on, and instead trying to fully verify every import upfront (where it's meant to happen) before serializing in the package's contents (to alleviate cyclic dependency complications).
#jira UE-21098
Change 2858954 on 2016/02/08 by Taizyd.Korambayil
#jira UE-25524 Resaved Sound Assets to Fix NodeGuid Warnings
Change 2859126 on 2016/02/08 by Max.Chen
Sequencer: Release track editors when destroying sequencer
#jira UE-26423
Change 2859147 on 2016/02/08 by Martin.Wilson
Fix uninitialized variable bug
#jira UE-26606
Change 2859237 on 2016/02/08 by Lauren.Ridge
Bumping Match 3 Version Number for iTunes Connect
#jira UE-26648
Change 2859434 on 2016/02/08 by Chad.Taylor
Handle the quit and focus message pipe from the SteamVR SDK
#jira UEBP-142
Change 2859562 on 2016/02/08 by Chad.Taylor
Mac/Android compile fix
#jira UEBP-142
Change 2859633 on 2016/02/08 by Dan.Oconnor
Transaction buffer uniformly address subobjects and SCS created components via an array of names and a root object. This allows undo/redo to work reliably to any depth of object hierarchy. Removed FReferencedObject and replaced it with the robust FPersistentObjectRef.
DefaultSubObjects of the CDO are now tagged as RF_Archetype at construction (logic in PropertyHandleImpl.cpp probably no longer required)
Actors reinstanced due to blueprint compilation now have stable names, so that this name can be used to reference their subobjects.
This is also part of the fix needed for UE-23335, completely fixes UE-26045
This version of the fix is less aggressive about searching all the way up an object's outer chain before stopping. Fixes issues with parts of outer chain changing on PIE. Also doesn't add objects referenced by subobject name to any AddReference calls which fixes race conditions with GC.
Also fixes bad logic in CopyPropertiesForUnrelatedObjects, which would create copies of subobjects that already existed because we were populating the ReferenceReplacementMap before adding all existing subobjects (always components in this case)
#jira UE-26045
Change 2859640 on 2016/02/08 by Dan.Oconnor
Removed debugging code..
#jira UE-26045
Change 2859668 on 2016/02/08 by Aaron.McLeran
#jira UE-26503 A Mixer with a Concatenator node won't loop with a Looping node
- issue was the looping nodes weren't properly reseting all the child wave instances
- also looping nodes weren't reporting the correct GetNumSounds() count for use with sequencer node
Change 2859688 on 2016/02/08 by Chris.Babcock
Allow external access to runtime modifications to OpenGL shaders
#jira UE-26679
#ue4
Change 2859739 on 2016/02/08 by Chad.Taylor
UE4_Win64_Mono compile fix
#jira UEBP-142
Change 2859962 on 2016/02/09 by Chris.Wood
Passing command line to Crash Report Client without stripping the project name.
[UE-24959] - "Send and Restart" brings up the Project Browser
#jira UE-24959
Reimplement changes from Orion in UE 4.11
Reimplementing the command line logging filtering over from Dev-Core (same change as CL 2821359 that moved this change into Orion)
Reimplementing passing full command line to Crash Report Client (same change as CL 2858617 in Orion)
Change 2859966 on 2016/02/09 by Matthew.Griffin
Fixed shadow variable issue that was causing build failure in NonUnity mode on Mac
[CL 2873884 by Ben Marsh in Main branch]
#lockdown Nick.Penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2842642 on 2016/01/25 by Maciej.Mroz
Blueprint C++ Conversion: fixed dependency (headers) list builder
Change 2842648 on 2016/01/25 by Maciej.Mroz
AssetPtr has implicit constructor from StringReference
Change 2842652 on 2016/01/25 by Maciej.Mroz
Minor improvements in Orion headers. Necessary to compile the project with converted Blueprints
Change 2842653 on 2016/01/25 by Maciej.Mroz
Blueprint C++ Conversion:
Split UberGraph into subfunctions
Change 2843917 on 2016/01/26 by Michael.Schoell
Replacing variable nodes with other variable nodes will now correctly mark the Blueprint as structurally modified.
#jira UE-24925 - Using "Replace variable with..." does not mark a blueprint as needing compilation
Change 2844300 on 2016/01/26 by Maciej.Mroz
Blueprint C++ Conversion: improvements in constructor
- UProperties for inaccessigle variables are reused
- Arrays of structs use "StaticStruct()->InitializeStruct.." and diff-serialization.
Change 2845536 on 2016/01/27 by Ben.Cosh
Refactor of the Blueprint Profiler core to enable execution wire heatmaps.
Still to do:
- Sequence node handling - spotted as a bug last minute
- Some functions still require a refactor, I'll pick this is up in next changes
- Alternative statistic display widgets
- enable blueprint breakpoints when profiling?! not sure we want this but adding for visibility
Change 2845619 on 2016/01/27 by Michael.Schoell
BP-Version bump to resolve TODO in K2Node_Event.
Change 2845824 on 2016/01/27 by Michael.Schoell
BP-Version bump to resolve TODO in K2Node_FunctionEntry.
Change 2847390 on 2016/01/28 by Maciej.Mroz
AssetPtr constructor from StringReference in explicit
Change 2847894 on 2016/01/28 by Maciej.Mroz
Blueprint C++ Conversion:
Fixed pathologically included headers.
Change 2848662 on 2016/01/29 by Ben.Cosh
Fix for problems closing the blueprint editor introduced with CL 2845536
#UE-26153 - Unable to open the same blueprint after closing blueprint editor.
#UE-26090 - Crash when closing the editor with the blueprint editor open
Change 2848922 on 2016/01/29 by Maciej.Mroz
Blueprint C++ Conversion:
Removed unnecessary switch and StateStack in ubergraph subfunctions
Change 2848934 on 2016/01/29 by Maciej.Mroz
FEnumEditorUtils::EnsureAllDisplayNamesExist modifies UUserDefinedEnum::DisplayNames only when it's necessary
It should fix the "Saving FText XXX which has been initialized from FString at cook time " warning
Change 2849251 on 2016/01/29 by Michael.Schoell
Fixed issues with the "Set Members..." node for structs not providing modified literals and other by-value data in the output connection.
Reworked the compiler to handle terms with bPassedByReference in new ways. Variables will always mark their terms as bPassedByReference and the "Set Members..." node will leverage the value to know whether it needs to create a local output variable on the node or forward the reference.
Break nodes will adapt their output terms to reflect the state of the input term, effectively forwarding the bPassedByReference state.
#jira UE-24451 - "Set Members..." node does not return by-ref as expected when the input pin is connected to a literal (or otherwise truly by-value) pin.
Change 2849263 on 2016/01/29 by Michael.Schoell
Submit for missing file from CL# 2849251
Change 2849269 on 2016/01/29 by Michael.Schoell
Improvements to localization support in SBlueprintPalette (items in the MyBlueprint window as well as the BP context menu when selecting nodes).
Change 2849925 on 2016/01/29 by Mike.Beach
Hanlding deferred loading placeholder-classes in UObjectPropertyBase::CheckValidObject (considering placeholder objects valid, when loading with deferring is enabled).
Change 2850484 on 2016/01/31 by Maciej.Mroz
Fixed crash when converting Widget Blueprint
Change 2850485 on 2016/01/31 by Maciej.Mroz
Blueprint C++ Conversion:
KCST_UnconditionalGoto requires switch, when it's generated by UK2Node_ExecutionSequence
Change 2850859 on 2016/02/01 by Ben.Cosh
Fix for issue with debug instance filter causing an out of bounds access on the debug function stack array.
#UE-25552 - Debugging specific instances of Fortnite's player pawn generic bp causes crashes
#Proj UnrealEd
Change 2850997 on 2016/02/01 by Maciej.Mroz
Blueprint C++ Conversion:
Fixed a lot of errors caused by cl#2842642
Change 2851965 on 2016/02/01 by Mike.Beach
Preventing pin watches from saving/retaining old split pins that have since been deleted (recombine).
#jira UE-26299
[CL 2865780 by Mike Beach in Main branch]