#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]
#lockdown Nick.Penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2865817 on 2016/02/12 by Mike.Beach
Handling deferred (cyclic) dependency issues that arrise from imports not found within the linker's ImportMap (imports loaded from config files and UProperty::ImportText).
#jira UE-26756
#codereview Robert.Manuszewski
Change 2866282 on 2016/02/13 by Maciej.Mroz
Blueprint C++ Conversion:
- Added CustomDynamicClassInitialization meta data and function
- References to other converted fields are gathered before CDO is created (it solves many dependencies)
#codereview Robert.Manuszewski
Change 2867921 on 2016/02/15 by Mike.Beach
Fixing (CIS error) typo - Accidently assigning uninitialized variable to itself.
Change 2867970 on 2016/02/15 by Mike.Beach
Removing "static" keyword on template specializations (CIS error).
Change 2868401 on 2016/02/16 by Maciej.Mroz
TBaseStructure for more noexport structures
Change 2868404 on 2016/02/16 by Maciej.Mroz
Blueprint C++ Conversion:
- Fixed some issues related to NOEXPORT structures
- Added FEmitDefaultValueHelper::SpecialStructureConstructor
Change 2868461 on 2016/02/16 by Maciej.Mroz
Blueprint C++ Conversion:
- Fixed component initialization in actors, based on a DynamicClass
Change 2868481 on 2016/02/16 by Maciej.Mroz
Blueprint C++ Conversion: (Work in progress.)
In BPGC templates cor SCS components are owned by the class. In DynamicClass the templates are owned by CDO. It requires to update the import path, when a component template is referenced by an extern object.
#codereview Robert.Manuszewski, Dan.Oconnor
Change 2868769 on 2016/02/16 by Maciej.Mroz
Improved parsing for multi-parameter AutoCreateRefTerm meta data
Change 2870310 on 2016/02/17 by Ben.Cosh
Incremental refactor and update for the blueprint profiler.
- Shuffled files around and renamed to make the layout more informational
- Added profiler capture and playback contexts
- Added blueprint and function contexts, this enables rapid stat discards in situations such as blueprint compilation.
- Moved the blueprint execution mapping out of the profiler and into the blueprint contexts
- Refactored the event playback so it processes with one event at a time.
#CodeReview Phillip.Kavan
Change 2870386 on 2016/02/17 by Maciej.Mroz
Improved UProperty::ExportCppDeclaration - Const reference to a pointer should be: "Type* const &" , not "const Type* &".
#codereview Steve.Robb
Change 2870686 on 2016/02/17 by Nick.Whiting
Engine changes needed for Bullet Train compatibility:
- Adding BP-exposed GetClosestBone function, with ability to optionally filter only bones associated with physics assets
- Exposing GetRemoteRole to BPs
Change 2871419 on 2016/02/17 by Mike.Beach
Fixing CIS incude error.
#codereview Ben.Cosh
Change 2872190 on 2016/02/18 by Mike.Beach
Another CIS fix - forward declaring a class that wasn't included.
#codereview Ben.Cosh
Change 2872285 on 2016/02/18 by Maciej.Mroz
added bDontNativizeDataOnlyBP in Editor.ini
Change 2872826 on 2016/02/18 by Ben.Cosh
CIS fixes for mac builds
#codereview Dan.Oconnor, Mike.Beach
Change 2874284 on 2016/02/19 by Mike.Beach
Supporting nested struct properties that are filled out through text imports during deferred dependency loading.
#codereview Robert.Manuszewski
Change 2874299 on 2016/02/19 by Mike.Beach
CIS fix - macro typo in non-debug build.
Change 2875571 on 2016/02/22 by Maciej.Mroz
Blueprint C++ Conversion:
Fixed generated FCompiledInDeferStruct instance for nativized structs. It has a proper overriden name.
Change 2875574 on 2016/02/22 by Maciej.Mroz
Blueprint C++ Conversion:
Class type of unconverted asset is not replaced in import map while cooking.
Change 2875741 on 2016/02/22 by Michael.Schoell
Array Item Get nodes now return by-ref.
All use cases of the node, as well as use cases of ForEachLoop and ForEachLoopWithBreaks, have been updated to use a Copy node on the output to maintain any existing functionality.
[CL 2884111 by Mike Beach in Main branch]
#lockdown Nick.Penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2806214 on 2015/12/16 by Michael.Schoell
Connection draw policy refactored into a factory system.
PR#1663
#jira UE-22123 - GitHub 1663 : Implement PinConnectionPolicy factory system
Change 2806845 on 2015/12/17 by Maciej.Mroz
Blueprint C++ Conversion: fixed varioaus problem.
Some limitations of included header list were reverted :(
Any compilation-time optimization are premature (as far as Orion cannot be compiled).
#codereview Dan.Oconnor
Change 2806892 on 2015/12/17 by Maciej.Mroz
Blueprint C++ Conversion: fixed compilation error "fatal error C1001: An internal error has occurred in the compiler."
Change 2807020 on 2015/12/17 by Michael.Schoell
Recursively expand all tree items in graph context menus or My Blueprint window by holding shift when clicking on an arrow.
Change 2807639 on 2015/12/17 by Maciej.Mroz
BP C++ conversion: Fix for const-correctness. Included generated headers in structs.
Change 2807880 on 2015/12/17 by Mike.Beach
PR #1865 : Render Kismet graph pin color box with alpha
https://github.com/EpicGames/UnrealEngine/pull/1865
#github 1865
#1865
#jira UE-23863
Change 2808538 on 2015/12/18 by Maciej.Mroz
Workaround for UE-24467. Some corrupted files can be opened and fixed.
#codereivew Dan.Oconnor, Michael.Schoell
Change 2808540 on 2015/12/18 by Maciej.Mroz
BP C++ conversion: fixed const-correctness related issues
Change 2809333 on 2015/12/18 by Phillip.Kavan
[UE-23452] SCS/UCS component instancing optimizations
change summary:
- added FArchive::FCustomPropertyListNode
- modified various parts of serialization code to accomodate custom property lists
- added cooked component instancing data + supporting APIs to UBlueprintGeneratedClass
Change 2810216 on 2015/12/21 by Maciej.Mroz
Blueprint C++ Conversion:
- Fixed Compiler Error C2026 (too big string)
- Fixed a lot of errors related to const correctness. "NativeConst" and "NativeConstTemplateArg" MetaData added.
- Fixed bunch of problems with TEnumAsByte
- Fixed for error C2059: syntax error : 'bad suffix on number' - when struct name starts with a digit
- Fixed int -> bool conversion
#codereview Mike.Beach, Dan.Oconnor, Steve.Robb
Change 2810397 on 2015/12/21 by Maciej.Mroz
Blueprint C++ Conversion: Fixed Compiler Error C1091 (too big string)
Change 2810638 on 2015/12/21 by Dan.Oconnor
Timers for measuring VM overhead, stats for tracking individual script functions improved (now nicludes ProcessEvent). Stats system is expected to avoid double counting for object and function stats.
Change 2811038 on 2015/12/22 by Phillip.Kavan
[UE-23452] Fix uninitialized variables in cooked component data.
- should eliminate crashes introduced by last change
Change 2811054 on 2015/12/22 by Phillip.Kavan
[UE-23452] Additional fix for uninitialized USTRUCT property.
Change 2811254 on 2015/12/22 by Dan.Oconnor
More script function detail in stats
Change 2811325 on 2015/12/22 by Maciej.Mroz
Blueprint C++ Conversion: improved: ExcludedBlueprintTypes list
#codereview Dan.Oconnor
Change 2812316 on 2015/12/24 by Michael.Schoell
Added more ByValue/ByRef test cases and added a way to dump all tests that are no longer succeeding.
Tests Include:
Verification that functions take and can modify by-ref values.
ForEach loop verification. Tests for verifying that current functionality will continue to work after COPY injection and that "expected" functionality will work (and currently doesn't).
More MegaArray tests.
Change 2812318 on 2015/12/24 by Michael.Schoell
Usability fix: Duplicating graphs in the MyBP window will now open and focus the new graph.
Change 2813179 on 2015/12/29 by Michael.Schoell
When promoting pins to variables, will no longer carry bIsReference, bIsConst, or bIsWeakPointer value to the new variable's type.
Change 2813435 on 2015/12/30 by Michael.Schoell
Submitting by-value/by-ref testing BP with more tests:
More "Set Members..." tests to catch edge cases.
More Array tests.
Change 2813441 on 2015/12/30 by Michael.Schoell
[CL 2842166 by Mike Beach in Main branch]
#lockdown Nick.Penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2806214 on 2015/12/16 by Michael.Schoell
Connection draw policy refactored into a factory system.
PR#1663
#jira UE-22123 - GitHub 1663 : Implement PinConnectionPolicy factory system
Change 2806845 on 2015/12/17 by Maciej.Mroz
Blueprint C++ Conversion: fixed varioaus problem.
Some limitations of included header list were reverted :(
Any compilation-time optimization are premature (as far as Orion cannot be compiled).
#codereview Dan.Oconnor
Change 2806892 on 2015/12/17 by Maciej.Mroz
Blueprint C++ Conversion: fixed compilation error "fatal error C1001: An internal error has occurred in the compiler."
Change 2807020 on 2015/12/17 by Michael.Schoell
Recursively expand all tree items in graph context menus or My Blueprint window by holding shift when clicking on an arrow.
Change 2807639 on 2015/12/17 by Maciej.Mroz
BP C++ conversion: Fix for const-correctness. Included generated headers in structs.
Change 2807880 on 2015/12/17 by Mike.Beach
PR #1865 : Render Kismet graph pin color box with alpha
https://github.com/EpicGames/UnrealEngine/pull/1865
#github 1865
#1865
#jira UE-23863
Change 2808538 on 2015/12/18 by Maciej.Mroz
Workaround for UE-24467. Some corrupted files can be opened and fixed.
#codereivew Dan.Oconnor, Michael.Schoell
Change 2808540 on 2015/12/18 by Maciej.Mroz
BP C++ conversion: fixed const-correctness related issues
Change 2809333 on 2015/12/18 by Phillip.Kavan
[UE-23452] SCS/UCS component instancing optimizations
change summary:
- added FArchive::FCustomPropertyListNode
- modified various parts of serialization code to accomodate custom property lists
- added cooked component instancing data + supporting APIs to UBlueprintGeneratedClass
Change 2810216 on 2015/12/21 by Maciej.Mroz
Blueprint C++ Conversion:
- Fixed Compiler Error C2026 (too big string)
- Fixed a lot of errors related to const correctness. "NativeConst" and "NativeConstTemplateArg" MetaData added.
- Fixed bunch of problems with TEnumAsByte
- Fixed for error C2059: syntax error : 'bad suffix on number' - when struct name starts with a digit
- Fixed int -> bool conversion
#codereview Mike.Beach, Dan.Oconnor, Steve.Robb
Change 2810397 on 2015/12/21 by Maciej.Mroz
Blueprint C++ Conversion: Fixed Compiler Error C1091 (too big string)
Change 2810638 on 2015/12/21 by Dan.Oconnor
Timers for measuring VM overhead, stats for tracking individual script functions improved (now nicludes ProcessEvent). Stats system is expected to avoid double counting for object and function stats.
Change 2811038 on 2015/12/22 by Phillip.Kavan
[UE-23452] Fix uninitialized variables in cooked component data.
- should eliminate crashes introduced by last change
Change 2811054 on 2015/12/22 by Phillip.Kavan
[UE-23452] Additional fix for uninitialized USTRUCT property.
Change 2811254 on 2015/12/22 by Dan.Oconnor
More script function detail in stats
Change 2811325 on 2015/12/22 by Maciej.Mroz
Blueprint C++ Conversion: improved: ExcludedBlueprintTypes list
#codereview Dan.Oconnor
Change 2812316 on 2015/12/24 by Michael.Schoell
Added more ByValue/ByRef test cases and added a way to dump all tests that are no longer succeeding.
Tests Include:
Verification that functions take and can modify by-ref values.
ForEach loop verification. Tests for verifying that current functionality will continue to work after COPY injection and that "expected" functionality will work (and currently doesn't).
More MegaArray tests.
Change 2812318 on 2015/12/24 by Michael.Schoell
Usability fix: Duplicating graphs in the MyBP window will now open and focus the new graph.
Change 2813179 on 2015/12/29 by Michael.Schoell
When promoting pins to variables, will no longer carry bIsReference, bIsConst, or bIsWeakPointer value to the new variable's type.
Change 2813435 on 2015/12/30 by Michael.Schoell
Submitting by-value/by-ref testing BP with more tests:
More "Set Members..." tests to catch edge cases.
More Array tests.
Change 2813441 on 2015/12/30 by Michael.Schoell