#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 JeanMichel.Dignard
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3471737 on 2017/06/02 by Martin.Sevigny
Changed Statistics panel export to CSV to output unformatted numeric values (no separation, no units). This allows Excel and Sheets to recognize the data a numbers so it's possible to properly sort and do arithmetic. Previous format was being recognized as strings.
Change 3472839 on 2017/06/03 by JeanMichel.Dignard
DatasmithImporter plugin
- Used to import .mus files into UE
DatasmithExporter
- A DCC agnostic library to export to the .mus format
DatasmithCore
- A shared Datasmith library used by DatasmithImporter and DatasmithExporter
ThirdParty
- Added FreeImage and Itoo as Enterprise third party libraries
Other
- Removed an incorrect struct Rect forward declaration in IntRect.h
- Added MinimalAPI to MaterialExpression Desaturation and Rotator
Change 3482313 on 2017/06/09 by JeanMichel.Dignard
- Added Algo::IntroSort that performs an introspective sort. Starts with quick sort and switches to heap sort when the iteration depth is too big.
- Added TReversePredicate to invoke Predicate(B, A) when calling algos with a predicate.
- Moved the heapify and heap sort code that was inside Array to separate Algo files.
- Used IntroSort in LayoutUV because Sort can be problematic when importing big meshes.
Change 3483881 on 2017/06/10 by JeanMichel.Dignard
UBT
- Added an Enterprise flag in the uproject file to specify that a project is using the enterprise plugins and modules.
- A project will only depend on the enterprise assembly if it has the enterprise flag.
- Enterprise plugins are only loaded for enterprise projects.
- Added validation that Engine modules don't depend on Enterprise modules and that Enterprise modules don't depend on Game modules.
- Fixed an issue where enterprise modules would end up in the game project binaries folder.
Change 3485448 on 2017/06/12 by JeanMichel.Dignard
- Adds DatasmithMaxExporter
- Adds the DatasmithExport sample
- Removes dllmain from tbbmalloc to fix issues with Programs outputting dlls.
[CL 3490257 by Simon Tourangeau 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]
UETOOL-213 - Minimize Slate FString -> FText conversion (remove SLATE_TEXT_ATTRIBUTE)
This fixes any editor/engine specific code that was passing text to Slate as FString rather than FText.
[CL 2399803 by Jamie Dale in Main branch]
This is a subset of changes (compiler warning fixes needed to compile Linux editor) from pull request 185 by sbc100, 3dluvr, wshearn, abarbu et al: https://github.com/EpicGames/UnrealEngine/pull/185
- Initialization order fixes
- Missing virtual destructors in classes with virtual funcs.
- Missing newlines at the end of file
#codereview Robert.Manuszewski
[CL 2085576 by Dmitry Rekman in Main branch]