Added editor-only functions to allow nodes to override their in-editor icon display.
Added Blueprint icon to show which nodes use Blueprint for their logic.
Hooked up new icons to Editor style.
Added missing Blackboard icon.
TTP# 337682 - [ART REQUEST] New Icons for behaviour trees
reviewed by Andrew.Brown, Lukasz.Furman
[CL 2103111 by Thomas Sarkanen in Main branch]
Tweaked and reworked the BT editor to allow for multiple modes (like the Blueprint Editor).
If a behavior tree uses a Blackboard, that blackboard is editable in the same asset editor, under "Blackboard mode".
Fixed a number of issues with re-focussing the BT debugger (and some issues that arose when switching BT editor modes). Debugging info should now be properly displayed when selecting AIs, switching modes, starting up the BT editor while playing etc.
Fixed a breakpoint bug where debug pause would be toggled rather than enabled, causing the game to run for a short time.
Added new icons for BT & BB modes.
Added various new guards against nullptr dereferences.
Displayed Actor label rather than FName when choosing actors to debug.
TTP# 337108 - Behaviour Tree Editor: Integrate Blackboard Editor into Behaviour Tree Editor
reviewed by Chris.Wood, Lukasz.Furman
[CL 2102883 by Thomas Sarkanen in Main branch]
- merged over from Fortnite branch
- includes adjusting all game projects that use AI code
- contains a nasty AIModule <-> Engine circular dependency. To be removed ASAP
[CL 2085468 by Mieszko Zielinski in Main branch]
Settings specific to Anim, Blueprint and Material Editor should probably be broken out into their own settings classes in the respective modules at some point. It feels a little strange that the GraphEditor needs to be aware of specific pin and node title types. At this time I did not want to refactor the existing graph editors though, and since many of the properties are currently being shared, pulling these settings out of UEditorUserSettings is at least a good first step. In the future I would like to see settings sections for specific graph based editors instead of having a generic 'Graph Editor' section that is shared by some or all editors.
I exposed various color settings in the UI as many users seem to be quite excited about customizing their Editor. If you think that some settings should be added or removed, please feel free to make any desired changes or let me know. Thanks!
#CodeReview: nick.whiting
[CL 2079703 by Max Preussner in Main branch]
#proj core
#branch UE4
#summary Rename Trunc, Round, Floor, Ceil to TruncToInt, RoundToInt, FloorToInt, CeilToInt. Added *ToFloat versions. Repeated for FGenericPlatformMath and all derived classes for all platforms wherever applicable. Corrected comment in Fractional and added Frac() which does HLSL-style fractional (x - floor(x)). Checked for compilation on all projects (with cooking levels wherever applicable). Didn't change Fractional to Frac, this will be done in second commit.
#codereview robert.manuszewski
[CL 2064306 by Mikolaj Sieluzycki in Main branch]
#TTP 314475 - k2: comment boxes within other comment boxes do not move if the outer most box is moved. Also, if two nested comment boxes are moved, the nodes within move 2x as much as they should (video)
#Branch UE4
#Proj GraphEditor, BehaviourTreeEditor
#Add SNodePanel::SNode::FNodeSet typedef for conveniance and clarity
#Change Changed SNodePanel::MoveTo to take an FNodeSet as an exclusion filter on the moved nodes, once moved nodes are appended into this set.
CodeReview Chris.Wood, Nick.Whiting
[CL 2064255 by Ben Cosh in Main branch]
#TTP 331892 - Editor: Blueprint Defaults Diff: Lauching diff tool does not work with spaces in paths
#branch UE4
#proj Editor.BehaviourTreeEditor
#proj Editor.WorldBrowser
#proj Editor.Levels
#proj Developer.AssetTool
#change Wrapped the file paths in double quotes, this means that the full path gets passed to P4Merge
#reviewedby Chris.Wood
[CL 2060955 by Barnabas McManners in Main branch]
Other Updates:
- The WidgetReflector is now in its own module as well. It will be converted to a plug-in later.
- The Public API of both Slate and SlateCore has largely been reorganized for better discoverabilty. More cleanup work is needed.
- Added a lot of missing API documentation and fixed existing ones. More and better documentation is needed.
- Removed dead code, fixed a couple things I stubled upon, and conformed to coding guidelines (NULL vs nullptr, line breaks, etc.)
Upgrade Notes:
- The Slate Remote Server is currently disabled - will be re-enabled shortly!
- If your module previously had a module dependency to 'Slate', it now also needs a PrivateModuleDependency to 'SlateCore' in its Build.cs file.
- If your module exposes in any of its Public header files types that are now declared in SlateCore, it needs a PublicModuleDependency to 'SlateCore'
- The ToolTip property type on SWidget has changed from SToolTip to IToolTip; change local variables to TSharedPtr<IToolTip> instead of TSharedPtr<SToolTip> where needed
- IToolTip is not a widget. If you need access to the actual widget that represents the tool tip, use IToolTip::AsWidget(); If you need access to the tool tip's content, use IToolTip::GetContentWidget()
Troubleshooting:
- After syncing to this changelist you may have to clean your /Engine/Intermediate/Build/ directory and rebuild your entire project
- If in your project you are getting linker errors for unresolved types that are now declared in SlateCore, you may be missing a dependency to 'SlateCore'
- If in the Engine code you are getting linker errors for unresolved types that are now declared in SlateCore, you may need to rebuild the entire Engine
[CL 2057118 by Max Preussner in Main branch]