#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]
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2875025 on 2016/02/20 by Andrew.Rodham
Sequencer: Cinematic viewport improvements
- Added optional letterbox overlay (defaults to 2.35:1)
- Added ability to change safe frame colors
- Added selected tracks' keys to the transport range
- Added buttons for jumping between selected tracks' keyframes on the transport controls
- Removed black padding around the viewport where possible
- Added ability to specify whether a combo button/menu anchor should close when its parent receives focus
- Separated logic of FGroupedKeyArea into FSequencerKeyCollection, so it can be used independently
- Added playback range to the viewport frame numbers
- All frame numbers are now spin boxes
#jira UE-26429
Change 2875026 on 2016/02/20 by Thomas.Sarkanen
Added console commands for recording sequences
Changed plugin to a developer plugin so we can load it when the editor is in -game mode.
Added Exec commands.
Added some more logging to help diagnose problems when using commands.
Added loading/saving of config for recorder settings (stored in Editor.ini).
Also disabled controls in recorder window when recording.
Added auto-saving of assets when in non-editor modes.
Moved animation settings from UnrealEd to Engine module.
Change 2875036 on 2016/02/20 by Max.Chen
Sequencer: Call RedrawAllViewports instead of RedrawLevelEditingViewports. In particular, this fixes some update issues when editing values in the key editors.
#jira UE-26960
Change 2875046 on 2016/02/20 by Max.Preussner
Sequencer: Fix so that clicking on UMG Animations doesn't dirty the scene.
#jira UE-26249
Change 2875047 on 2016/02/20 by Max.Chen
Sequencer: Add option to toggle display of channel colors/lines. View->Channel Colors
Change 2877138 on 2016/02/23 by Max.Chen
Sequencer: Select corresponding track node when selecting key or section. Removed active/inactive selection since it was only being used in deletion and the rules for deletion are now dependent upon what is selected - delete keys and sections before deleting outliner nodes.
Change 2877143 on 2016/02/23 by Thomas.Sarkanen
Added new math function: WindRelativeAnglesDegrees
Given two angles in degrees, 'wind' the angle in Angle1 so that it avoids >180 degree flips.
Good for winding rotations previously expressed as quaternions into a euler-angle representation.
Change 2877147 on 2016/02/23 by Thomas.Sarkanen
Added the ability to import sequencer transforms from the root node of an animation sequence
Intended for use after re-importing animations from DCC tools.
Available in the right-click menu for transform tracks.
Also added FindTrackBinding to UMovieScene so track bindings can be recovered from tracks.
Change 2877163 on 2016/02/23 by Max.Chen
Sequencer: Add option to create keyframe sections as infinite. Sequencer defaults to true, UMG defaults to false.
Change 2877165 on 2016/02/23 by Max.Preussner
Sequencer: Drawing vertical position lines when dragging keys
Change 2878748 on 2016/02/23 by Max.Chen
Curve Editor: Switch curve type to user when flatting or straightening tangents.
#jira UE-27277
Change 2878799 on 2016/02/23 by Frank.Fella
Sequencer - Add folders support to the outliner.
Change 2880769 on 2016/02/24 by Andrew.Rodham
Sequencer: Added ability to override runtime spawnable ownership in sequencer
- This is exposed as an option on spawnables "Keep Alive Outside Playback Range (In Sequencer)"
- Enabling this will stop spawnables from being destroyed when scrubbing outside of the playback range
#jira UE-27205
Change 2880770 on 2016/02/24 by Thomas.Sarkanen
Sequencer: Added countdown and recording indicator display when recording
Also fixed extra popups added post-PIE when animation recordings auto shutdown.
Change 2880782 on 2016/02/24 by Max.Chen
Sequencer: Snapping now also uses the current time as a possible snap time.
#jira UE-26306
Change 2880793 on 2016/02/24 by Max.Chen
Sequencer: Add +Animation to Animation track so that it's consistent with all other tracks that have a + button.
Change 2880812 on 2016/02/24 by Max.Chen
Sequencer: Fix adjusting the leading edge of a shot section so that it cuts into the shot rather than adjusts the start time.
#jira UE-26306
Change 2881624 on 2016/02/25 by Andrew.Rodham
Changing shader version GUID to fix corrupt shaders in ddc
Change 2882408 on 2016/02/25 by Thomas.Sarkanen
Asset/actors stored in TLazyObjectPtrs can now reference game content from engine
This is a legitimate use case as lazy object ptrs are designed to reference assets/actors cross-domain.
Change 2882409 on 2016/02/25 by Thomas.Sarkanen
[CL 2899785 by Max Chen in Main branch]
Marquee selection now intelligently selects keys and sections depending on the context. If a section is within the marquee it is eligible for selection, unless there are keys from that section also in the marquee that would change selection state as a result of the operation.
Selections are also now previewed in real-time
[CL 2714290 by Andrew Rodham in Main branch]