#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.
#rb Lukasz.Furman
Change 2828384 on 2016/01/14 by Mieszko.Zielinski
Back out of visual log refactor done as part of CL#2821607 #UE4
Change 2869215 on 2016/02/16 by Marc.Audy
Store a WorldSettings pointer on ULevel instead of requiring it be index 0 in the Actors array. However, we will still generally attempt to keep it at index 0 for consistency with previous behavior
#rb Bruce.Nesbit
#jira UE-26417
Change 2869404 on 2016/02/16 by Ori.Cohen
Improve UI for default collision. It now uses a single drop down and sets the appropriate flags under the hood.
#rb Lina.Halper
Change 2870062 on 2016/02/17 by Jurre.deBaare
Name parameter driven by bone controller
#JIRA UE-25997
#rb Thomas.Sarkanen
Change 2870280 on 2016/02/17 by Mieszko.Zielinski
Vis log category handling fixes #UE4
Also, a minor cleanup
#rb Lukasz.Furman
Change 2871729 on 2016/02/18 by James.Golding
UE-26663 Fix 'LOD For Collision' display name
#rb thomas.sarkanen
Change 2871730 on 2016/02/18 by James.Golding
UE-26580 Make ECollisionEnabled a BlueprintType
UE-25373 Add a MakeHitResult node
#rb thomas.sarkanen
Change 2871732 on 2016/02/18 by James.Golding
UE-24397 Add 'test' option to async query API, and use it in places that made sense. Also removed deprecated (4.8) functions from API.
#rb ori.cohen
Change 2872022 on 2016/02/18 by Lukasz.Furman
gameplay debugger refactor
#ue4
Change 2872082 on 2016/02/18 by Lukasz.Furman
enabled old gameplay debugger as default one for now
it will be deprecated with next version after testing in game projects
#ue4
Change 2872390 on 2016/02/18 by Aaron.McLeran
OR-15041 (CPU) Hitches due to audio decompression on Windows
1) Moving ogg-vorbis file info parsing into a worker thread
- stat dumphitches now shows the vorbis stuff totally gone
2) Moving async decoding tasks to be retrieved and started from OnBufferEnd callback
#rb marc.audy
Change 2872418 on 2016/02/18 by Mieszko.Zielinski
Fixed EQS debugger not storing data properly when subsequent Option is the one that produces result #UE4
#rb Lukasz.Furman
Change 2872446 on 2016/02/18 by Aaron.McLeran
Using cached value of ActualVolume in GetVolumeWeightedPriority
Change 2872770 on 2016/02/18 by Aaron.McLeran
QAGame testing content for audio testing.
Going to create a folder with specific sub-system testing maps for audio
Change 2873733 on 2016/02/19 by Jurre.deBaare
- HLOD generated assets are now saved into a separate package instead of inside of the level asset
#rb Ori.Cohen
Change 2873828 on 2016/02/19 by Ori.Cohen
Distributions that bake out no longer load in cooked build.
#JIRA UE-27126
#rb Olaf.Piesche, Nick.Penwarden
Change 2874623 on 2016/02/19 by Aaron.McLeran
UE-27131 Support for changing sound class volumes dynamically
- new BP function to override a sound mix sound class adjuster
- cleanup of AudioDevice.h and AudioDevice.cpp
- removing unnecessarily forward declares on various types
- removing unnecessary spaces and (void) params, etc
Change 2874922 on 2016/02/20 by Mieszko.Zielinski
Fixed EQS tests being compiled out from Shipping and Test with WITH_DEV_AUTOMATION_TESTS macro #UE4
#jira OR-15292
#rb none
Change 2875838 on 2016/02/22 by Benn.Gallagher
[CL 2880055 by Marc Audy in Main branch]
- One driver value can now drive multiple components
- How a component is driven is now configurable (add to input, replace, add to ref pose and replace)
- The range limit is now defined on the input (before the multiplier is applied) rather than the output (existing ranges are fixed up on load)
- New details customization to make working with the node easier
- Individual scale components can now be a driver or one of the driven components, rather than just the max component of scale
- The node title now displays the driving equation (e.g., driven.rotation.z = -0.5 * driver.rotation.x)
Animation: Added a custom version for AnimGraph/AnimGraphRuntime usage
Upgrade Note: The exact behavior of the original node was not preserved, but there are now more configuration options, so please revisit any uses of bone driven controllers in your animation blueprints
[CL 2606968 by Michael Noland in Main branch]
- Added support for using a curve to map from input range to output range
- Added compilation warnings when a bone or component still needs to be selected
- Added a customization to hide the range/multipler when using a curve, and gated editing of the range based on bUseRange
- Minor optimization to evaluation speed
- Reorganized the properties into logical groups (Source/Driver, Mapping, Destination/Driven)
[CL 2591125 by Michael Noland in Main branch]
- Changed some classes from MinimalAPI to full export, since all methods were already being exported
- Added some comments
- Some style tweaks (tabs/ws in function declarations)
[CL 2583709 by Michael Noland in Main branch]
- Moved all skeletal control nodes to start out
Upgrade Note: Modules containing custom animation nodes will need to have a dependency on the new "AnimGraphRuntime" module added to their Build.cs file
#codereview lina.halper
[CL 2582755 by Michael Noland in Main branch]
Rob asked me to back out GENERATED_*_BODY -> GENERATED_BODY change for now until the "_Validate and _Implementation auto-generation" discussion is over.
#codereview Robert.Manuszewski
[CL 2481343 by Jaroslaw Palczynski in Main branch]