#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
#codereview John.Abercrombie
Change 2828384 on 2016/01/14 by Mieszko.Zielinski
Back out of visual log refactor done as part of CL#2821607 #UE4
Change 2855722 on 2016/02/04 by Zak.Middleton
#ue4 - Expose PrimitiveComponent GetCollisionEnabled(), IsCollisionEnabled(), IsQueryCollisionEnabled(), IsPhysicsCollisionEnabled() functions to blueprints.
#rb Daniel.Broder, Ori.Cohen
#codereview Bob.Tellez
#jira UE-26411
Change 2855737 on 2016/02/04 by James.Golding
Add test AssetUserData C++ class to QAGame
Change 2855739 on 2016/02/04 by James.Golding
PR #1858 : Add abstract and editinlinenew to AssetUserData class, so derived classes can be added to assets via details panel
https://github.com/EpicGames/UnrealEngine/pull/1858
#github 1858
#jira UE-24494
#rb thomas.sarkanen
Change 2855842 on 2016/02/04 by James.Golding
UE-23968 : Add clamping to Friction, Restitution, Density and RaiseMassToPower properties of PhysicalMaterial
#codereview ori.cohen
#rb thomas.sarkanen
Change 2855843 on 2016/02/04 by James.Golding
PR #1984 : Add 'AssetUserData' support to AnimationAsset/Texture
https://github.com/EpicGames/UnrealEngine/pull/1984
#github 1984
#jira UE-25913
#rb thomas.sarkanen
Change 2855844 on 2016/02/04 by James.Golding
UE-23176 Fix incorrect clamping in GenerateKDopAsSimpleCollision() which could cause degenerate hulls
Also don't 'nudge' kdops if there are other primitives present, will offset from mesh we were fitting around
#rb thomas.sarkanen
Change 2855850 on 2016/02/04 by Benn.Gallagher
Update required LOD bones when associating a cloth chunk that uses bones that aren't weighted to that LOD
#rb Martin.Wilson
Change 2856409 on 2016/02/04 by Zak.Middleton
#ue4 - Change LogSpawn warnings to normal logs for cases that are common and valid during gameplay (failed due to collision at the target location, or failed because it is destroyed in the process of spawning, ie projectile spawned in a target).
#codereview Jeff.Farris
Change 2857018 on 2016/02/05 by Benn.Gallagher
Fixes for various anim graph related subgraph issues/crashes
#rb Ben.Cosh
Change 2857193 on 2016/02/05 by Lukasz.Furman
extended crowd agent interface to handle avoidance groups
#ue4 UE-24823
#1896
Change 2857200 on 2016/02/05 by Lukasz.Furman
fixed memory leak in CrowdManager
#ue UE-26516
#2026
#codereview Mieszko.Zielinski
Change 2857417 on 2016/02/05 by Lina.Halper
Add keyword for animation functions
Change 2858854 on 2016/02/08 by Benn.Gallagher
Fixed pose evaluator customizations being processed at the wrong time which caused properties to always be re-added even if removed from the details panel, causing duplicated entries.
#jira UE-8421
#rb Lina.Halper
Change 2858855 on 2016/02/08 by Benn.Gallagher
Fixed blendspace players only reporting normalized time when using a time getter in an anim graph transition.
#rb Lina.Halper
Change 2859159 on 2016/02/08 by Aaron.McLeran
UE-25586 Fix for reporting audio memory usage
- Realtime decompressed sounds that have CachedRealtimeFirstBuffers need to report the compressed asset size
Change 2859192 on 2016/02/08 by Laurent.Delayen
Removed check disallowing cooked additive animations from using AnimationRelative and AnimationScale retargeting modes (on the root bone or editor).
Skip AnimationRelative retargeting for baked additive animations since it gets cancelled out during the additive creation process.
#rb martin.wilson
#codereview lina.halper
Change 2859238 on 2016/02/08 by Lina.Halper
Git pull request #1895
Change 2859239 on 2016/02/08 by Lina.Halper
Git pull request #1813
Change 2859453 on 2016/02/08 by Aaron.McLeran
[CL 2868856 by Marc Audy in Main branch]
#lockdown Nick.Penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2807479 on 2015/12/17 by Zak.Middleton
#ue4 - Optimize allocations in FFinalPostProcessSettings. Fix bug skipping an element when updating the ContributingCubemaps array if one is removed during an iteration.
#rb Aaron.Mcleran
#codereview Martin.Mittring
#jira UE-24485
Change 2807695 on 2015/12/17 by Aaron.McLeran
Changing the VolumeScale sound concurrency implementation to be a volume scalar on older sounds in a concurrency group rather than scale new sounds.
#rb zak.middleton
Change 2808628 on 2015/12/18 by Thomas.Sarkanen
Minor optimization: Dont call GetWorld() 3 times in a row in USceneComponent::ShouldRender()
#rb Martin.Wilson
Change 2810090 on 2015/12/21 by Ori.Cohen
Allow collision and trail particles to run off the game thread.
Clean up missing marshelled AsyncComponentToWorld
Change 2814518 on 2016/01/04 by Marc.Audy
Use Reset instead of Empty
Change 2814530 on 2016/01/04 by James.Golding
UE-2689 Hook up lots of new icons for component classes
#rb thomas.sarkanen
Change 2814665 on 2016/01/04 by Marc.Audy
PR #1860:Fix ChildActorComponent linking issue when extended from game (Contributed by lion03)
Change 2814686 on 2016/01/04 by Benn.Gallagher
Fix for radial force components applying impulses multiple times to destructible components
#rb Ori.Cohen
Change 2815221 on 2016/01/04 by Aaron.McLeran
UE-24528 Fixing focus-distance scaling and focus priority scaling working with concurrency settings.
USoundAttenuation:
- Added methods to SoundAttenuation to get focus, attenuation, and distance scale based on focus factor.
- Added NonFocusDistanceScale parameter to attenuation settings customization so its setable by users
USoundBase:
- Added function on USoundBase which checks IsLooping, which checks the duration
- Removed functions IsAudible and IsAudibleSimple from USoundBase since that functionality is accomplished differently and takes into account focus-distance scaling now.
FActiveSound:
- Caching values of FocusPriorityScale and FocusDistanceScale to Active sound so that can be used for audibility checks
- Included FocusDistanceScale when computing bIsAudible in Active sound
- Moved GetAttenuationListenerData and the accompanying private struct FAttenuationListenerData to FAudioDevice since the audio device and moved code which computes focus factor and geometry into FAudioDevice::GetFocusFactor since it needs to be computed before an active sound exist
FAudioDevice:
- Added SoundIsAudible function which queries a particular sound if its audible based on attenuation settings, focus factor, etc. Will optionally return computed MaxDistance to avoid recomputing it in certain cases.
- Added a few helper functions: FindClosestListenerIndex, GetAttenuationListenerData
- Added GetFocusFactor, which performs the vector math to determine focus factor (0.0 is in-focus, 1.0 is out of focus) for a given sound and listener and attenuation focus settings.
- Updated CreateComponent and PlaySoundAtLocation functions to use the new SoundIsAudible function rather than the old IsAudibleSimple
#rb zak.middleton
Change 2815694 on 2016/01/05 by thomas.sarkanen
Added test texture
Change 2815695 on 2016/01/05 by thomas.sarkanen
Modified test texture
Change 2815709 on 2016/01/05 by James.Golding
PR #1778 : New BP-callablle function AActor::WasRecentlyRendered, with optional tolerance in seconds
https://github.com/EpicGames/UnrealEngine/pull/1778
#github 1778
#jira UE-23674
#rb jurre.debaare
Change 2815711 on 2016/01/05 by James.Golding
PR #1534 : Add missing default tolerance value for FVector2D::Equal
https://github.com/EpicGames/UnrealEngine/pull/1534
#github 1534
#jira UE-20838
#rb jurre.debaare
Change 2815714 on 2016/01/05 by James.Golding
PR #1887 : Added 'Thickness' Parameter to all valid options in Draw Debug Helper
https://github.com/EpicGames/UnrealEngine/pull/1887
#github 1887
#jira UE-24802
#rb jurre.debaare
Change 2815725 on 2016/01/05 by James.Golding
Added comment that USkeletalMeshComponent::bEnablePhysicsOnDedicatedServer cannot be changed at runtime
#jira UE-20439
Change 2815813 on 2016/01/05 by Marc.Audy
Move dispatch of transition functions to new OnMatchStateSet virtual which is called from SetMatchState allowing subclasses to insert their own handling between the set of the variable and dispatch to GameState and Blueprints rather than having to override the entire function.
#codereview Peter.Knepley
Change 2815884 on 2016/01/05 by James.Golding
- Avoid PSC iterating over all particle emitters each tick to check for changes in DetailMode. Now remember global DetailMode when we last checked, and only iterate again if that has changed.
- Add 'WarmupTime' and 'CPUCollision' to Asset Registry Tags for Particle Systems
#rb simon.tovey
#codereview gil.gribb
Change 2816306 on 2016/01/05 by Marc.Audy
(4.11) Pass boolean to OnComponentDestroyed that indicates if the entire Actor's hierarchy is being destroyed. If so we can avoid doing a lot of expensive tear down, particularly detaching each component one at a time from the hierarchy and causing massive position/bounds updates.
#rb Zak.Middleton, James.Golding
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]
#proj core
#branch UE4
#summary Removed header groups, removed some redundant includes and replaced with forward declarations. Fixed compilation errors.
[CL 2055361 by Mikolaj Sieluzycki in Main branch]
#proj core
#branch UE4
#summary Removed header groups, removed some redundant includes and replaced with forward declarations. Fixed compilation errors.
[CL 2054304 by Mikolaj Sieluzycki in Main branch]
#add Added UEdGraphNode::GetNodeNativeTitle to return a native title for a node.
#add Added UEdGraphNode::GetNodeSearchTitle to return the native and localized title for a node, together, for searching.
#add Can hold "alt" over a node (in the graph panel, or the palette) to see the native name of the node.
#ttp 331252 - Blueprints: Editor: L10N: Blueprints need to consistently show localized node names and when searching need to search both the localized name and the native name
#codereview justin.sargent
[CL 2044506 by Michael Schoell in Main branch]