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]
#ttp 342056: CRITICAL: Regression: UE4: EDITOR: Game code fails to recompile in edtior due to header changes
#codereview robert.manuszewski,ben.marsh
[CL 2239969 by Steve Robb in Main branch]
Several other fixes for high res screenshot issues.
Default behaviour of screenshots with viewport-locked cameras is to only capture the actual viewrect, not including the black bars. Removed button for setting capture region to view rect.
[CL 2235681 by Graeme Thornton 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]
- On Mac OS X we hide the per-window menu bar.
- MultiBlocks have a type so that the Mac-specific menu creation code can generate the proper native widget.
- The menu builder can now be asked for the constructed MultiBox so that on menu creation it can be set on the TabManager.
- That allows the TabManager to be told to update the current global menu bar when the tab or window focus changes.
- A window activation delegate has been added to SWindow to permit this.
- Widgets that used to live in the LevelEditor menu bar have been hoisted into the window titlebar on OS X as on that platform there's no menu bar anymore.
- There's limited support for parsing custom widgets in the menu MultiBlock in order to support the platform list in the File->Package... sub-menu, this is sufficient for now but is quite fragile.
- We can support custom Slate widgets inside native Mac menus should we ever need to - but it is tricky.
reviewedby michael.trepka, nick.atamas
[CL 2228398 by Mark Satterthwaite in Main branch]
#ttp 323078 - Actor drag preview does not respect actor factory spawn position offset
#ttp 309631 - TOOLS FEATURE: Asset placement: Align placed assets with surface placed on
#ttp 335001 - UE4: EDITOR:"Paste here" works inconsistently
#ttp 334066 - EDITOR: PAPER2D: Dragging a mesh into an ortho viewport does not provide a preview
There is a lot of work here:
* I have moved and unified all the prop preview and drag alignment code that attempted to align objects to surfaces in the world to a new class, FActorPositioning. This fixes inconsistent behaviour between the drop previews, actual placement, and drag alignment.
* I have tidied up the methods by which surface alignment is performed in UActorFactory. There is now a virtual method for factories to define *how* an actor should be aligned to the surface. This allows us to specify different alignment routines for things like static meshes, decals and lights.
* Actor factories now create actors with an FTransform rather than specifying pointers to location and rotation vectors. This makes creation simpler and parameter passing less error prone. As far as I can see, the rotation was only used for surface snapping which is now handled by the factory anyway.
* Surface snapping can be controlled by the editor viewport toggle button, or via a keyboard command set in the editor preferences
* It is possible to override the default placement offset when aligning actors to surfaces. SnapOffsetExtent can be found in the editor viewport preferences.
* Finding a valid snap position no longer uses a hitproxy as this was prone to error and does not work correctly when dragging actors that render their own hit proxies.
* ClickLocation and ClickPlane are now more consistently set and managed. I have tried to remove excess assignment to these variables to clarify their use and purpose.
[CL 2223237 by Andrew Rodham 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]