If you are currentlying performing your own DPI Scaling of slate you'll need to remove that code or adjust the DPI Curve of this new system to 1 and keep your current system for scaling the UI.
[CL 2263045 by Nick Darnell in Main branch]
Slate TPanelChildren, TSlotlessChildren are no longer full-fledged arrays; removed any unused Array API.
Fixed up a lot of improper use cases.
This better encapsulates the action of adding/removing Slate Widgets from the runtime tree as a Slate Core concern.
Alows us to add parent pointers in the future with significantly less effort.
#codereview Wes.Hunt
#codereview Nick.Darnell
#codereview Matt.Kuhlendschmidt
#codereview Justin.Sargent
[CL 2234301 by Nick Atamas in Main branch]
* For several preview components (cascade + a couple of animation previews), don't create a separate FXSystem for the preview world. Just use the one created internally by the world
* Several bug fixes and improvements to dynamic feature level switch
* Continued conversion of code that references to global feature level.
#codereview Nick.Penwarden
[CL 2229679 by Graeme Thornton in Main branch]
- Material editor preview nodes now work when the editor is in es2 mode
- Make editor primitives work in ES2 mode
- Fix slate font rendering in ES2 mode
- Remove ES2 shader de-gamma when in the editor
- Add a new linear sampler type for linear textures
- Various fixes for dynamic feature level switching
- When in an emulated feature level mode, display some text in the level editor viewport saying what feature level we're running
- Removed feature level parameter from USkeletalMesh::GetResourceForRendering. Not used for anything
- ParticleVertexFactoryPool is now creates feature level specific vertex factories.
[CL 2187558 by Graeme Thornton in Main branch]
#ttp 338945 - Editor: Quick Settings: Hide Viewport UI checkbox is not hiding Viewport UI
#branch UE4
#proj Editor.LevelEditor, Editor.UnrealEd
#add Added extra checks into SLevelViewport::GetCurrentLevelTextVisibility and SLevelViewport::GetToolBarVisibility so they take into account the state of the Hide Viewport UI flag.
#add FEditorViewportClient::Draw only draws the axes if the Hide Viewport UI flag is clear.
#reviewedby Chris.Wood
[CL 2114884 by Richard TalbotWatkin in Main branch]
I've made a few changes here to make the code more consistent for the various ways of using a viewport to view an actor's position:
* Camera properties are now taken off any UCameraComponent, not specifically limited to ACameraActors.
* Calling FLevelEditorViewportClient::SetActorLock will now lock the viewport to the specified actor. If the actor has a camera component the viewport will inherit this camera's properties. The locked actor will also move with the viewport position if in perspective mode (as before).
* ControllingActor and PostProcessingActor have been removed from FLevelEditorViewportClient. Both were used for PIP camera previews which now work by locking a viewport to their desired camera.
* The inheriting of camera properties is controlled by the viewport "Camera View" setting shown on the quick settings viewport toolbar under the "Lock Viewport to Actor sub-menu.
This addresses TTP#337559 - feature request - improve viewport functionality for locking to camera
Reviewed by Chris Wood, Matt Kuhlenschmidt
[CL 2113995 by Andrew Rodham in Main branch]
This addresses TTP#322790 - EDITOR: Viewport: Feature Request: When double clicking on a pinned camera actor in viewport, have its preview window flash
Reviewed by Andrew Brown, Matt Kuhlenschmidt
[CL 2110332 by Andrew Rodham in Main branch]
Breaking changes include:
* Rename of GEditorModeTools -> GLevelEditorModeTools to signify that it applies only to the level editor modes
* Addition of FEditorModeRegistry, responsible for managing and creating new editor modes. Modes are no longer registered with an instance of the mode, instead with a mode factory that is able to create a new mode of that type.
* Editor modes now operate on FEditorViewportClients rather than FLevelEditorViewportClients
* Added ability to specify an FEditorModeTools when creating an FEditorViewport
Moved component vizualiser manager handling outside of individual editor modes, and into FLevelEditorViewportClient. This should make it easier to transplant in future.
This work addresses TTP#334640 - EDITOR: Investigate making editor modes a per-'editor' concept
Reviewed by Michael Noland, Matt Kuhlenschmidt
[CL 2109245 by Andrew Rodham in Main branch]
Using AddSP to bind onto a multicast delegate that's removed in a class's destructor is dangerous because the weak pointer used to compare against the 'this' pointer passed to .RemoveAll() will be invalid by the time it is compared. This causes "HasSameObject" to fail as the object cannot be pinned. I've have changed these to be raw bindings so that the ownership is explicit and thus force the call to RemoveAll to succeed correctly without leaving behind a null delegate instance. Previously, with a null delegate instance still in the list when the module is reloaded, that memory becomes invalid causing a crash when the event attempts to purge invalid delegate instances from its invocation list.
Also fixed one place where OnTakeHighResScreenShots was being bound but never removed (this looked like a copy paste error)
This addresses TTP#337596 - CRASH: EDITOR: Reload after Recompile causes crash
#codereview Max.Preussner
[CL 2108007 by Andrew Rodham in Main branch]
#ttp 336555 - CRASH: Minimizing/maximizing two viewports at the same time crashes the editor
#branch UE4
#proj Editor.LevelEditor
#add Added a FCanExecuteAction to ToggleMaximize, and hid the toggle maximize icon during a transition, so it's no longer possible to set off a new maximize animation while one is already occurring.
#reviewedby Chris.Wood
[CL 2106630 by Richard TalbotWatkin in Main branch]