Commit Graph

116 Commits

Author SHA1 Message Date
Richard Hinckley
6ceaa5aba7 Cleaning out programmer-only comments that were harvested by Doxygen.
#platformnotify Josh.Adams

[CL 2690143 by Richard Hinckley in Main branch]
2015-09-14 09:25:39 -04:00
Andrew Rodham
9b6041d36d Added new blueprint alignment algorithm: straighten connections
This allows straightening of connections between all selected nodes in a graph, as well as specific connections between pins (by right clicking on the pin).
Existing alignment routines now align to the clicked-on node, where applicable, and use an average where this is not available.
Added icons for all blueprint alignment commands.

[CL 2690063 by Andrew Rodham in Main branch]
2015-09-14 05:47:07 -04:00
Marc Audy
d25958e352 Use SizeSquared comparisons instead of Size where trivially replaceable
[CL 2681970 by Marc Audy in Main branch]
2015-09-06 12:42:18 -04:00
Phillip Kavan
3c858b79aa [UE-12263] Add ability to mark BlueprintCallable functions as "DevelopmentOnly" - by default, these nodes will be compiled out of Blueprint class function graphs at cook/package time.
change summary:
- deprecated the 'UEdGraphNode::bIsNodeEnabled' flag & added fixup code for serialization (load)
- added support for pruning "disabled" nodes at compile time w/o breaking existing flow in the source graph.
- modified function call nodes to look for new "DevelopmentOnly" UFUNCTION metadata and disable when found.
- added UEdGraphNode::IsNodeEnabled(), Enable() and Disable() APIs. also added a new 'bUserSetEnabledState' flag.
- added the UEdGraphNode::IsDevelopmentMode() API; subclasses can override to provide additional functionality if necessary.
- added a new 'UCookerSettings::bCompileBlueprintsInDevelopmentMode' flag to control whether or not Blueprints are compiled in development mode at cook time (accessible in Project Settings->Cooker); defaults to OFF.
- (experimental) added a "Compile Options" section to the Blueprint graph node context menu to allow users to explicitly enable or disable nodes.
- (experimental) added a BPGC setting to allow users to optionally override the cooker default setting for the development/release compile switch (UE-12270, WiP).
- the experimental features above are gated by a new 'UBlueprintEditorSettings::bAllowExplicitImpureNodeDisabling flag' (accessible in Editor Settings->Blueprint Editor); defaults to OFF for now.

[CL 2661302 by Phillip Kavan in Main branch]
2015-08-19 14:13:40 -04:00
Andrew Rodham
14e355b015 Added alignment commands to blueprint graphs
Standard options are available:
 - Align top/middle/bottom/left/center/right
 - Distribute horizontally/vertically

[CL 2656025 by Andrew Rodham in Main branch]
2015-08-14 09:34:31 -04:00
Michael Noland
1c1ad02a66 Graph Editor: Exposed a way to remove a slot from a SNodePanel::SNode and added support for node bubbles rendering correctly when there is no top slot
Animation: Updated the observe bone node to not display the ...
#jira UE-18570
#codereview ben.cosh

[CL 2620998 by Michael Noland in Main branch]
2015-07-14 17:51:17 -04:00
Michael Noland
c83debe5dd Blueprints: Moved KismetNodeInfoContext.h to be publically accessible outside of the GraphEditor module
[CL 2606944 by Michael Noland in Main branch]
2015-06-30 22:13:28 -04:00
Michael Schoell
c55cbf9af7 Can promote pins to local variables in Blueprint function graphs (or their child graphs).
Option only appears when available, will pull the default value over.

#jira UE-6273 - BLUEPRINTS: Add "promote to local var" context menu option

[CL 2584770 by Michael Schoell in Main branch]
2015-06-11 15:39:07 -04:00
Michael Schoell
6a5d80e78f On Blueprint enum pins, tooltips will appear when hovering over items in the drop down menu.
Fixed localization display issue for enums in the UI.

#jira UE-12504 - Node enum drop down boxes should utilize tooltips for each value

[CL 2580309 by Michael Schoell in Main branch]
2015-06-08 15:29:57 -04:00
Michael Schoell
d3c4f18bcd Can right click on any node to search for references of it. Does initial search only in current Blueprint.
Localization fixes for Find-in-Blueprints so it will again search the current and native language.

CallFunction and CustomEvents now store their non-friendly "native" names. These will not actually appear in search results, but will be compared while searching to determine if the node matches the results.

Gathering Blueprint search data will now force friendly names to true while it gathers so gathered data does not differ based on the setting.

#jira UE-15901 - Right click a custom event to get a list of all blueprints that are calling the custom event

[CL 2572814 by Michael Schoell in Main branch]
2015-06-01 14:36:32 -04:00
Martin Mittring
04fffa685e fixed clang warnings
[CL 2570957 by Martin Mittring in Main branch]
2015-05-29 15:18:47 -04:00
Richard TalbotWatkin
5d6675e2e2 Fixed Material Editor so that comment bubbles' toggle states are preserved when exiting the editor.
#jira UE-16029 - material editor node comment boxes go away every time you re-open material
#reviewedby Ben.Cosh, Matthew.Griffin

[CL 2570441 by Richard TalbotWatkin in Main branch]
2015-05-29 09:56:42 -04:00
Maciej Mroz
dd3c13654b UE-14387 Support for AssetPtr references in Blueprints
Early version:
- New BP types: Asset and AssetClass
- Now implicit conversion (in Blueprint) from Asset to Object
- Explicit conversion node: K2Node_ConvertAsset
- EX_AssetConst script instruction to store StringAssetReference in bytecode.

#codereview Nick.Whiting, Mike.Beach

[CL 2553506 by Maciej Mroz in Main branch]
2015-05-15 16:44:55 -04:00
Ben Cosh
333979f59b This modfiies the InlineEditableTextBlocks to have a multiline option and enables this on comment nodes
#UE-9118 - Graph comments (Blueprints, Materials, Sound cues, etc...) should support multiline text editing
#UE-12964 - Comment box hits (Title bar) are offset
#Branch UE4
#Proj GraphEditor, Kismet, Slate

[CL 2546952 by Ben Cosh in Main branch]
2015-05-12 06:09:01 -04:00
Michael Schoell
db9c8e2240 UProperty and UFunction metadata for Category can now be localized and have improved FText usage throughout the editor (Blueprints, Behavior Trees, Materials, etc).
Big conversion of FStrings and FNames to FText.

Version bump to move some MaterialFunction UProperty from a TArray<FString> to TArray<FText> (some Engine assets are older than being allowed to auto-convert the UProperty)

Auto conversion of FName to FText (and back) now supported (as well as TArrays of those types).

Searching categories by both the localized string and the source string is now supported in Blueprints.

#jira UE-14481 - We are missing ability to translate node categories

#codereview Justin.Sargent

[CL 2542875 by Michael Schoell in Main branch]
2015-05-08 10:46:42 -04:00
Michael Schoell
d798e477c8 Blueprints and Behavior Trees will no longer have their graphs display as disabled/read-only when debugging (in PIE).
Fallout from CL# 2535806

#jira UE-15170 - When in PIE, Blueprints display as disabled making them difficult to debug.

[CL 2541246 by Michael Schoell in Main branch]
2015-05-07 12:39:59 -04:00
Michael Schoell
2043b596a8 Various graphs that looked disabled, will now correctly display as Read Only but can be panned and nodes are selectable.
Reworked how graphs were disabled to stop all out disabling of the SGraphPanel while still maintaining the visual display of being read-only.

Removed concept of TitleBarEnabledOnly from the graph editor and merged it with the IsEditable functionality.

#jira UE-10289  - Changing Blueprint Interface layout can shift nodes out of view

[CL 2535806 by Michael Schoell in Main branch]
2015-05-04 11:08:14 -04:00
Jamie Dale
0ca520a77e Improved diffing of behavior tree graphs
UETOOL-292 - Diffing of Behavior Trees doesn't work correctly

- Added support for diffing decorators and services.
- Ensured that you could see the properties of services and decorators in the diff tool.
    - This is now using common code shared with the behavior tree editor (to avoid this getting out of sync again).
- Fixed an issue where nodes containing changes could still be drawn faded out.
    - The "DiffR_" functions in GraphDiffControl weren't marking the node as changed since the diff results couldn't hold the information.
- Fixed SNodePanel::DeferredMovementTargetObject always moving the selection into view (rather than itself).
- Added a way to move to a node without also selecting it (SNodePanel::CenterObject).
    - This is needed as decorators and services don't exist as top-level nodes in the SNodePanel, so can't be centered on. We instead have to center on their container node.
- Added a way to control what items you want to diff.
    - This helps when checking for nodes that have been removed, as you can now avoid having to re-check all the other properties on the node, and just check for their existence (or lack thereof).

[CL 2533378 by Jamie Dale in Main branch]
2015-05-01 06:38:56 -04:00
Michael Noland
11db89485f Graph Editor: Removed dead method ComputeSensibleGraphBounds from SNodePanel
[CL 2529477 by Michael Noland in Main branch]
2015-04-28 19:45:43 -04:00
Jamie Dale
9968a0a15c Some workflow and performance improvements for behavior trees and environmental queries
UETOOL-293 - Behavior Tree Editor is sluggish

- Made the behavior tree and environmental query pins larger so they're easier to grab.
- Adjusted the node padding so that we don't add the padding for the pins when there aren't any pins.
- Added lodding so that node elements are culled out as you zoom out (to improve performance).
- Fixed connections being culled when they were still visible.

[CL 2528547 by Jamie Dale in Main branch]
2015-04-28 11:13:20 -04:00
Ben Cosh
ac6b1e60da This modifies the comment balloons behavior on reroute nodes to be more inline other node comment balloons by enabling a toggle button and displaying by default when a comment is entered in the context menu.
#UE-12866 - Have node comments and reroute node comments act the same
#Branch UE4
#Proj Engine, GraphEditor

#includes some more general comment node / comment bubble fixes

[CL 2528202 by Ben Cosh in Main branch]
2015-04-28 04:58:34 -04:00
Ben Cosh
0dc3ecf817 Fix for broken comment node colors
#UE-14212 - Fortnite Branch: Colors no longer work on Blueprint comments
#Branch UE4
#Proj GraphEditor

[CL 2526760 by Ben Cosh in Main branch]
2015-04-27 06:45:26 -04:00
Jamie Dale
a7ba1dcd00 Back out changelist 2519615
[CL 2519619 by Jamie Dale in Main branch]
2015-04-21 14:13:02 -04:00
Jamie Dale
735bca0f8f WIP - Fixing behaviour tree culling and line drawing
[CL 2519615 by Jamie Dale in Main branch]
2015-04-21 14:12:32 -04:00
Andrew Rodham
8ff0d8b98b Added config migration path for newer versions of the engine.
Newly installed versions of the engine will now attempt to copy the project-agnostic config settings from a previous engine installation. This happens by way of a versioned manifest that copies old versions when the manifest does not exist, or is a different version. This code path is benign for non-installed versions of the engine (or FPaths::ShouldSaveToUserDir() is false).

EditorGameAgnosticSettings and EditorUserSettings ini paths have been renamed to EditorSettings and EditorPerProjectUserSettings respectively to better convey their purpose. In general, most settings should be saved in EditorSettings (project-agnostic) so that they apply regardless of which project is open. We have some way to go migrating existing settings for this to be the case, however.

Some previously per-project configuration files are now project-agnostic (such as Editor.ini, EditorKeyBindings.ini, and EditorLayout.ini)

GEditor->Access...Settings and GEditor->Get...Settings have been removed in favor of direct access of the CDO through GetMutableDefault<> and GetDefault<> respectively. Global config ini filenames that are not set up are now neither loaded nor saved on build machines, to handle the problem of indeterminate state more generically.

This addresses UETOOL-270 (Most editor preferences should be project-agnostic)

[CL 2517558 by Andrew Rodham in Main branch]
2015-04-20 10:12:55 -04:00