#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 2821607 on 2016/01/08 by Mieszko.Zielinski
Added a way to limit amount of information logged by vlog by discarding logs from classes from outside of class whitelist #UE4
This feature was followed by refactoring of functions taking FVisualLogEntry pointers to use references instead.
Change 2828384 on 2016/01/14 by Mieszko.Zielinski
Back out of visual log refactor done as part of CL#2821607 #UE4
Change 2965743 on 2016/05/04 by Tom.Looman
Added check to PostActorConstruction to avoid BeginPlay call on pendingkill actor. UE-27528 #rb MarcA
Change 2965744 on 2016/05/04 by Marc.Audy
VS2015 Shadow Variable fixes
Change 2965813 on 2016/05/04 by Tom.Looman
Moved UninitializeComponents outside (bActorInitialized) to always uninit components when actors gets destroyed early.
UE-27529 #rb MarcA
Change 2966564 on 2016/05/04 by Marc.Audy
VS2015 shadow variable fixes
Change 2967244 on 2016/05/05 by Jon.Nabozny
Remove UPROPERTY from members that don't require serialization and aren't user editable.
#JIRA UE-30155
Change 2967377 on 2016/05/05 by Lukasz.Furman
fixed processing of AIMessages when new message appears during notify loop
#ue4
Change 2967437 on 2016/05/05 by Marc.Audy
Add a static One to TBigInt
Remove numerous local statics and TEncryptionInt specific version in KeyGenerator.cpp
Part of fixing shadow variables for VS2015
Change 2967465 on 2016/05/05 by Marc.Audy
Fix VS2015 shadow variables fixes
Change 2967552 on 2016/05/05 by Marc.Audy
Fix compile error in DocumentationCode
Change 2967556 on 2016/05/05 by Marc.Audy
Enable shadow variable warnings in 2015
Change 2967836 on 2016/05/05 by Marc.Audy
Another DocumentationCode project fix
Change 2967941 on 2016/05/05 by Marc.Audy
Make bShowHUD not config
Expose HUD properties to blueprints
Cleanup stale entries in BaseGame.ini
Deprecate unnecessary colors in AHUD in favor of using FColor statics
#jira UE-30045
Change 2969008 on 2016/05/06 by Marc.Audy
VS2015 Shadow Variable fixes found by CIS
Change 2969315 on 2016/05/06 by John.Abercrombie
Duplicating CL 2969279 from //Fortnite/Main/
Behavior tree auxilary nodes, parallel tasks, active tasks, and aborting tasks shouldn't be ticked while the behavior tree is paused
--------
Integrated using branch //Fortnite/Main/_to_//UE4/Dev-Framework of change#2969279 by John.Abercrombie on 2016/05/06 14:21:40.
Change 2969611 on 2016/05/06 by Marc.Audy
Default bShowHUD to true
Change 2971041 on 2016/05/09 by Marc.Audy
Add Get/Set Actor/Component TickInterval functions and expose to blueprints
Change 2971072 on 2016/05/09 by Marc.Audy
Fix VS2015 shadow variables warnings
Change 2971629 on 2016/05/09 by Marc.Audy
PR#1981 (contributed by EverNewJoy)
CheatManager is blueprintable (though very basic exposure at this time) and can be set from PlayerController
DebugCameraController is now visible and can be subclassed and specified via CheatManager blueprint
#jira UE-25901
Change 2971632 on 2016/05/09 by Marc.Audy
Missed file from CL# 2971629
[CL 2972828 by Marc Audy in Main branch]
FText DisplayString shared ptrs are persisted across property edits. This preserves their entry in the live table and also updates the string that the entry points to. We call GetString() to update the hashed value as persisting the DisplayString means that its location in the table is preserved.
On serialization, a valid key is still found in the live table for the display string, so the key is preserved.
Added funtionality to the property editor to allow key editing and re-generation so any key conflicts can be resolved in the future.
Added new flag to prevent us from being able to edit 'immutable' code-declared (LOCTEXT) text. We dont attempt to preseve the identity of properties that are initialized with these.
UE-5350 - As a translator, I would like the editor tutorial text to preserve it's history between changes in order to greatly improve the translation workflow.
#codereview Saul.Abreu,Justin.Sargent
[CL 2420329 by Thomas Sarkanen in Main branch]
FText DisplayString shared ptrs are persisted across property edits. This preserves their entry in the live table and also updates the string that the entry points to. We call GetString() to update the hashed value as persisting the DisplayString means that its location in the table is preserved.
On serialization, a valid key is still found in the live table for the display string, so the key is preserved.
Added funtionality to the property editor to allow key editing and re-generation so any key conflicts can be resolved in the future.
UE-5350 - As a translator, I would like the editor tutorial text to preserve it's history between changes in order to greatly improve the translation workflow.
Reviewed by Saul.Abreu
[CL 2400879 by Thomas Sarkanen in Main branch]
Prevented empty tabs launching when tutorial button anchored-tutorials are run.
Prevented empty tutorials from blocking input.
[CL 2294961 by Thomas Sarkanen in Main branch]
Expanded tagging system to more general metadata. Supplied a base class with simple RTTI as well as a simple tagging metadata that will be used in place of the FName tag. Once all tags are converted the Tag field will be deprecated.
reviewed by Nick.Atamas
[CL 2275842 by Thomas Sarkanen in Main branch]
Tutorials can now be created using the right-click asset menu->Misc->Tutorial Blueprint.
Importer allows you to pick a UDN file, which will then be converted into a new Tutorial Asset.
Adapted UDN parser to also output rich text format for the purposes of this importer. This may be deprecated at some point soon, once existing tutorials have been imported.
Rich text editor added to tutorial details customization. Features; font, color, size & hyperlinks for now.
Rich text display also added to content widgets.
Added option to optionally show the widget highlight if only the bubble widget is required.
#codereview Bruce.Nesbit
[CL 2256027 by Thomas Sarkanen in Main branch]
Added some tags to several BP nodes (for use by tutorial)
Added provision to open relevant editor for highlighted widget
Added support for highlighting blueprints nodes
#codereview Thomas.Sarkanen
[CL 2254285 by bruce nesbit in Main branch]
NOTE: Old tutorials not deprecated (yet), but widget highlights in old tutorials will stop working with this change!
Added new Blueprintable UEditorTutorial object.
Added suite of widgets and details customizations to display tutorials.
New system is available on command line switch -NewTutorials.
Slate changes:
Tag names are now stored in SWidgets, rather than simply being discarded.
Removed STutorialWrapper in favour of using Tags.
Added Tags to more multibox widgets, so virtually all can now be picked.
Added SWindow::HasOverlay so we dont attempt to add overlays to widows that cannot have them.
[CL 2244216 by Thomas Sarkanen in Main branch]