Commit Graph

666 Commits

Author SHA1 Message Date
Phillip Kavan
f864e2455c [UE-14914] Prevent function parameters from being autowired when intended for internal use only.
change summary:
- added a new "InternalUseParam" UFUNCTION() meta to support tagging function parameters as internal use only (=> hidden | not connectable)
- added a UK2Node_CallFunction::IsConnectionDisallowed() override method; returns 'true' if the 'bNotConnectable' flag is set on the node's pin (and will emit a compile error in existing projects if something is connected to it)
- modified FBlueprintEditorUtils::GetHiddenPinsForFunction() to accept an optional 'InternalPins' TSet as an output; on return, this will contain the subset of hidden pins that are marked as "InternalUseParam"
- modified UK2Node_CallFunction::CreatePinsForFunctionCall() to set the 'bNotConnectable' pin attribute to 'true' if "InternalUseParam == '<PinName>'" is included within the UFunction metadata
- modified the AActor::AddComponent UFUNCTION() decl to switch the "HidePin" meta to "InternalUseParam" for the 'ComponentTemplateContext' parameter (because it should not be connectable)
- modified UK2Node_CallFunction::NotifyPinConnectionListChanged() to refresh the node to hide pins corresponding to internal-only params once the (invalid) connection in an existing project has been broken

#codereview Mike.Beach

[CL 2606203 by Phillip Kavan in Main branch]
2015-06-30 14:42:07 -04:00
Jeff Farris
1afe377f74 Can now edit PlayerStateClass and SpectatorClass for a game mode via the Project Settings menu (UE-15341).
[CL 2604660 by Jeff Farris in Main branch]
2015-06-29 16:43:55 -04:00
James Hopkin
d275c26d6e Asset registry tags and values are now passed around in a 'map view', which wraps a shared pointer to a map. Speeds up quite a few operations, e.g. blueprint variable type selection, and knocks more than half a second off content browser filtering in Fortnite.
The change is mostly backward-compatible, but any code using the tags map in a non-const fashion will break.

#codereview Bob.Tellez,Jamie.Dale

[CL 2604067 by James Hopkin in Main branch]
2015-06-29 11:38:11 -04:00
Matt Kuhlenschmidt
11dcdec78c Renamed AllowMatineePreview to AllowCinematicPreview since it will be used for Sequencer and Matinee for the time being.
[CL 2603841 by Matt Kuhlenschmidt in Main branch]
2015-06-29 09:24:16 -04:00
Jamie Dale
1382a3ccf1 Fixed caching of the game mode class when it was using a BP class
The BP class potentially had the type info in front of it, so it was never passing the "GameModeClass->GetPathName() != ClassName" check, and was always re-getting the class.

[CL 2602626 by Jamie Dale in Main branch]
2015-06-26 14:22:46 -04:00
Richard TalbotWatkin
d197407b42 Major optimizations to the BSP building process, and BSP Undo.
#jira UE-16405 - Hitch occurs when undoing BSP manipulations

Summary of changes:
- Added 'fuzzy map' for quick look up of nearly equal FVectors, improving the BSP rebuild algorithm from O(n^4) to O(n*m) where m is much smaller than n.
- Added 'fuzzy map' for quick look up of nearly equal FPlanes, improving plane merging from O(n^2) to O(n).
- Changed TTransArrays in UModel to regular arrays, to remove a lot of transaction modifies during BSP rebuild.
- UModel array allocations are now allocated upfront where possible, instead of constant dynamic resizing.
- Optimized algorithm used by UModelComponent::GenerateElements to reduce allocations and simplify map lookups.
- Removed call to ULevel::CommitModelSurfaces in UModelComponent::PostEditUndo, which was causing an enormous amount of unnecessary work on each undo operation.  It is now done, as ever, by UWorld::Tick.

#reviewedby Matt.Kuhlenschmidt

[CL 2600444 by Richard TalbotWatkin in Main branch]
2015-06-25 09:42:17 -04:00
Andrew Rodham
b64966720f Unified curve editor frame selected/all behaviour. All operations now operate on the currently selected keys, or the whole curve where none are selected.
Hooked up the horizontal range of the sequencer curve editor to the sequencer itself

[CL 2598716 by Andrew Rodham in Main branch]
2015-06-24 08:02:15 -04:00
Matt Kuhlenschmidt
9f83927366 Added a UI material domain for all Slate and UMG materials
- Automatically upgraded all materials

When using the UI material domain the material editor and material instance editor is streamlined and only displays parts of the UI that are relevant:
- Changes to a preview material rendered with the UI shader
- Removes non-UI specific settings
- Renames some output pins and hides irrelevant ones
- Shows stats for UI shader

[CL 2596027 by Matt Kuhlenschmidt in Main branch]
2015-06-22 15:55:50 -04:00
Maciej Mroz
22b3cfb286 BP - return node improvements:
- UE-14092 Cannot create a return node with an execution pin only for a function
- UE-7849 Being able to have multiple return nodes for a function
- minor fixes

#codereview Nick.Whiting, Mike.Beach

[CL 2595496 by Maciej Mroz in Main branch]
2015-06-22 11:19:37 -04:00
Joe Conley
ae48823eab Move PortableObjectFormatDOM out of InternationalizationExportCommandlet
[CL 2593533 by Joe Conley in Main branch]
2015-06-19 10:47:58 -04:00
Jamie Dale
b36a494aeb Added support for nested collections
UETOOL-332 - Collections 2.0
UETOOL-369 - Want nested collections with collapsing

We now have version 2 collections which maintain a persistent GUID for each collection. Existing collections will be lazily updated to this version when they need to be re-saved.

This GUID is used by child collections to keep track their parents, and the collections view (as well as the quick asset management) now show a tree of collections. Collections in the main collection view tree can be re-parented via drag and drop.

Performing Content Browser searches against a given collection will also test to see if an object exists in child collections, and the asset view will now show you folder entries for child collections when viewing a parent (if folders are enabled in your Content Browser view settings).

[CL 2593321 by Jamie Dale in Main branch]
2015-06-19 07:33:02 -04:00
Max Chen
566206ffc5 Viewport: Fix compile error.
[CL 2592513 by Max Chen in Main branch]
2015-06-18 15:53:29 -04:00
Frank Fella
3ddd53ab5f SCurveEditor - Make adding keys more predictable.
+ Keys are only added under the mouse when there is only one curve to edit.
+ When multiple curves are available clicking on a curve will add a key inline on that curve, and clicking off of the curve will add keys too all curves.
+ Changed the text of the menu item to make it clear what's going to happen.

Jira: UE-15095

[CL 2592320 by Frank Fella in Main branch]
2015-06-18 14:10:19 -04:00
Max Chen
4b7838bddb Viewport: Add begin/end camera broadcast messages when changing the camera view.
[CL 2592272 by Max Chen in Main branch]
2015-06-18 13:56:10 -04:00
Simon Tovey
149ff75b67 Added a new, alternate UI to the Niagara effect editor. Accesible as a new tab under the windows menu.
This arranges all emitters in an SDetailView with some customization.
Primary benefit of this is that hooking things into the UI will require almost no work and elements can still be customized for a good UX.
Previous UI is still available and should work exactly as before.

Quite a bit of refactoring was needed to acheive this but much of it was needed for other things anyway and/or has some nice additonal benefits.
E.g.
- All constant types are supported easily.
- You can now create a default data object in the graph which will propagate through to the effect editor.
- Adding new data object types will be very easy.

Also added a delete and duplicate button for emitters in both UIs.

#codereview olaf.piesche

[CL 2590057 by Simon Tovey in Main branch]
2015-06-17 10:12:41 -04:00
bruce nesbit
7631ed93b1 Code to support shared template resources
[CL 2589767 by bruce nesbit in Main branch]
2015-06-17 03:25:33 -04:00
Michael Schoell
d54259a4cb Local variables in Blueprint functions will now be set to the default values of the user defined struct their type represents.
#jira UE-16717 - Local variables in Blueprint functions don't support default values of Custom Structs

[CL 2586354 by Michael Schoell in Main branch]
2015-06-12 16:40:34 -04:00
Timothy Reynolds
48204dbc18 Allows viewport to move when piloting for focus, move to, etc.
The piloting was overwriting the viewport transition code resulting in no movement.

UE-7376

#codereview Matt.Kuhlenschmidt

[CL 2586227 by Timothy Reynolds in Main branch]
2015-06-12 15:28:56 -04:00
Andrew Rodham
ac6ad9ec5c Sequencer improvements:
- Reworked UI hierarchy to better afford input on its constituent panels
 - Added scroll-zoom/pan support to the track area and curve editor (using CTRL and SHIFT mouse wheel modifiers)
 - View range no longer zooms when changing the size of the sequencer window

[CL 2585565 by Andrew Rodham in Main branch]
2015-06-12 08:55:27 -04:00
Jamie Dale
68d5e367fe UE-16930 - Fixed an issue where setting the game mode to a BP type could result in a null game mode due to the BP never being loaded
[CL 2585432 by Jamie Dale in Main branch]
2015-06-12 04:07:48 -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
Richard TalbotWatkin
98522878d4 Fixed issue where selecting a surface with no actor selected does not bring up the details panel specialization for the surface properties.
#jira UE-16765 - Details panel is blank when selecting BSP surfaces if 'Clicking BSP Enables Brush' is disabled.

[CL 2584208 by Richard TalbotWatkin in Main branch]
2015-06-11 10:36:56 -04:00
Matt Kuhlenschmidt
6cda1e8193 Added error message if a material expression parameter name is too long.
Added the ability to display an error popup on the node if text verification fails.  The code existed for this but was non-functional

[CL 2583007 by Matt Kuhlenschmidt in Main branch]
2015-06-10 13:53:25 -04:00
Richard Hinckley
b50635beee Enum comment fixes. First batch.
[CL 2582903 by Richard Hinckley in Main branch]
2015-06-10 12:54:31 -04:00
Dan Oconnor
b4602f7966 [UEBP-60] Skipping a skeleton compile class that was redundant, also adding more accurate timer than GBlueprintCompileTime, which missed some compile related stuff.
[CL 2582206 by Dan Oconnor in Main branch]
2015-06-09 21:35:23 -04:00