#TTP 312311 - ROCKET: TASK: Add a "Documentation Node"
#Branch UE4
#Proj BlueprintGraph, EdGraph, Kismet, KismetCompiler, GraphEditor, Documentation, EditorStyle
#Change Updated UEdGraphSchema to include an interface call to retrieve an FEdGraphSchemaAction to create documentation nodes. At this point only the K2 interfaces implement this.
#Change Updated UEdGraphSchema_K2 to include a call to retrieve an FEdGraphSchemaAction to create documentation nodes. This is used to add the actions to the blueprint palette and context menus.
#Add Added FEdGraphSchemaAction_K2AddDocumentation in EdGraphSchema_K2_Actions.h/cpp to implement the calls in UEdGraphSchema to create documenation nodes from palette and context menus.
#Change Modified FK2ActionMenuBuilder to provide a static call to create a documentation action in the same style as the comment. Additionally added calls to FK2ActionMenuBuilder::GetPaletteActions and FK2ActionMenuBuilder::GetContextAllowedNodeTypes to call this to add entries in the palette and context menus.
#Add Added a new Brush GraphEditor.Documentation_16x, for the context menu icon in SlateEditorStyle.cpp.
#Change Modified GetPaletteItemIcon in SBlueprintPalette.cpp to return the new icon for the DocumentationNode
#Change Modified FKismetCompilerContext::IsNodePure to include the Documentaton node in the drop through ensure test to prevent asserts on compling if a documentation node is present.
#Change Added an entry for Documentation node in FNodeFactory::CreateNodeWidget.
#Change Modified IDocumentationPage interface to provide the ability to provide a TextWrapAt Attribute so this can be set before creating excerpt content if desired.
#Change Modified the UDNParser to control text wrap at values in the created widgets using a float Attribute WrapAt, Added a set call in the DocumentationPage and made the default behaviour mimic the code it replaced.
#Add Added the class UEdGraphNode_Documentation implemented in EdGraphNode_Documentation.h and UEdGraph.cpp, this is the UObject implementation for the documentation nodes.
#Add Added the class SGraphNodeDocumentation as the GraphPanel implementation of the EdGraphNode_Documentation.
#Change Moved the resizable code from SGraphNodeComment into a SGraphNodeResizable and changed SGraphNodeComment and SGraphNodeDocumentation inherit from it to avoid duplicating code.
#Change Added a documentation specific details customisation so the excerpts can be displayed as combo button.
#Change Added FBlueprintDocumentationDetails into BlueprintDetailsCustomization.h/cpp to handle the user interaction with the documentation node in the BP Editor.
ReviewedBy Chris.Wood, Mike.Beach
[CL 2247425 by Ben Cosh in Main branch]
Blueprint - The underlying framework now allows derrived blueprints to say if they support event binding, instead of it being hardcoded to only work for AActors.
Blueprint - Function calls in the context menu on selected "Components" now works on UObject based blueprints. There was no reason to restrict tthat to AActors.
#codereview nick.whiting
[CL 2124461 by Nick Darnell in Main branch]
#change Deprecated UK2Node_LocalVariable
#change UK2Node_LocalVariable will replace itself with a Get and any Assign nodes it is hooked up to with a Set node, will also delete itself from Animation rule graphs that they should not have been allowed to be placed in
#ttp 332158 - BP: Make local variables use standard get / set nodes, instead of the assigned named local nodes
[CL 2068725 by Michael Schoell in Main branch]
- Modified FKismetEditorUtilities::CanCreateBlueprintFromClass() to return false if the input class is a BP skeleton class.
- Modified FKismetEditorUtilities::IsClassABlueprintSkeleton() to incorporate the alternative class flags check in case the SkeletonGeneratedClass has not yet been loaded during serialization.
- Replaced individual occurrences of the alternative class flags skeleton class check with FKismetEditorUtilities::IsClassABlueprintSkeleton() instead (for consistency and per discussion).
[CL 2063239 by Phillip Kavan in Main branch]
Change 1996384 by Andrew Brown:
322252 - EDITOR: Asset picker displays incorrect text when there are no filter results.
Change 1996385 by Andrew Brown:
321858 - CRASH: Assertion failed: (Index >= 0) Function: STransformViewportToolBar::GetLocationGridLabel() STextBlock::CacheDesiredSize()
Change 1996977 by Andrew Brown:
309685 - UE4: Adding an event/renaming an event on an event track in Matinee does not update the MatineeActor node in blueprint
Change 2034873 by Jaroslaw Palczynski:
More robust VS installation detection.
Change 2039693 by Jaroslaw Palczynski:
327268 - RocketGDC: POSTLAUNCH: DEV: Make engine more robust against bad Visual Studio environment variables
Change 1978978 by Jaroslaw Surowiec:
- Removed obsolete AllowEliminatingReferences from the FArchive
Change 2020326 by Maciej Mroz:
pretest BP K2Node: RemovePinsFromOldPins function moved from K2Node to RemovePinsFromOldPins
Change 2017608 by Maciej Mroz:
pretest Some changes in SFortMissionEventSelector caused by FPinTypeTreeInfo
Change 2017463 by Maciej Mroz:
PinTypeSelector can lins unloaded UDStructs
Change 2019979 by Maciej Mroz:
pretest BP: Crash when performing Diff against Depot with blueprints containing Format Text nodes
Change 2024469 by Maciej Mroz:
MemberReference variable added to PinType. It's necessary for delegate's signature.
Change 2024049 by Maciej Mroz:
HasExternalBlueprintDependencies added to UK2Node_DynamicCast
Change 2024586 by Maciej Mroz:
FillSimpleMemberReference fix
Change 2024472 by Maciej Mroz:
workaround for delegates signature in pintype removed.
Change 2023997 by Maciej Mroz:
BP, UDStruc: Class UserDefinedStructEditorData added. It fixes many problems with undo/redo.
Change 2021934 by Maciej Mroz:
typo in a comment
Change 2020355 by Maciej Mroz:
Back out changelist 2020342
Change 2022178 by Maciej Mroz:
CRASH: PRETEST: EDITOR: UDS: Crash when undo then redo new variable in struct that is used by blueprint
Change 2021958 by Maciej Mroz:
CRASH: PRETEST: EDITOR: UDS: Crash using variable of a type of copied struct in blueprint
Change 1986247 by Maciej Mroz:
User Defined Structures: circle dependency fixed. Early version.
Change 1985107 by Maciej Mroz:
UserDefinedStruct cannot have a field of a non-native type
Change 1986278 by Maciej Mroz:
pretest ensureMsgf in Struct::link
Change 1986250 by Maciej Mroz:
User Defined Struct: Non native classes are accepted types od values in structures.
Change 1980955 by Maciej Mroz:
Using AssetPtr and LazyPtr as UFunction parameter (intput or return) is explicitly disallowed.
Change 2041215 by Maciej Mroz:
ttp331249 BLOCKER: PRETEST: UI: Survive the Storm is missing the Mission HUD.
Change 1984316 by Maciej Mroz:
New User Defined Structure. WIP - there are still problems with circular dependencies.
Change 2011616 by Maciej Mroz:
UserDefinedStructures - various problems fixed.
Change 2011609 by Maciej Mroz:
more robust HasExternalBlueprintDependencies implementation
Change 2016697 by Maciej Mroz:
pretest BP: UDStruct - default value propagation in cooked build
Change 2016288 by Maciej Mroz:
pretest BP: UDStruct: Renaming variables wont break links from make/break nodes
Change 1987637 by Maciej Mroz:
CustomStruct icons placeholders
Change 1987422 by Maciej Mroz:
Better tooltips for variables in MyBlueprint
Change 1991387 by Maciej Mroz:
UDStructures fixes:
Change 2029165 by Maciej Mroz:
BP: better comment for incomatible pins
Change 2030016 by Maciej Mroz:
8PRETEST: EDITOR: UDS: Defaults values aren't updated in struct type variables in blueprints
Change 2030017 by Maciej Mroz:
Unused UDStructure code removed (PPF_UseDefaultsForUDStructures)
Change 2028856 by Maciej Mroz:
BP: Pins with PC_Struct type are compatible only with exactly the same structure. (No derived structures are not handled as compatible).
Change 2026701 by Maciej Mroz:
k2: odd error on an add item node within a function (see attached image in details)
Change 2028160 by Maciej Mroz:
PRETEST: EDITOR: UDS: When deleting structures just after creating there is always some references in the memory
Change 2028165 by Maciej Mroz:
BP: BreakHitResult function has proper icon.
Change 2033340 by Maciej Mroz:
ttp330786 PRETEST: EDITOR: UDS: Changes of default values aren't apllied to breeak nodes for text type of variables
Change 2034255 by Maciej Mroz:
EDITOR: UDS: Changes of default values aren't apllied to make nodes for text type of variables ttp#330620
Change 2037682 by Maciej Mroz:
ttp331309 BLOCKER: PRETEST: CRASH: EDITOR: Crash occurs when performing Diff Against Depot on any Blueprint
Change 2033142 by Maciej Mroz:
CreateDelegate Node uses internally FMemberReference. Refactor.
Change 2032329 by Maciej Mroz:
ttp330608 CRASH: PRETEST: EDITOR: UDS: Crash when trying to use struct named 'Color' in blueprint
Change 2032420 by Maciej Mroz:
ttp330620 PRETEST: EDITOR: UDS: Changes of default values aren't apllied to make nodes for text type of variables
Change 2033139 by Maciej Mroz:
Functions generated from CustomEvents can be also identified by GUID
Change 2026631 by Maciej Mroz:
BP. UDStruct: Invalid structs are handled better.
Change 2025344 by Maciej Mroz:
UDStruct enabled by default
Change 2026672 by Maciej Mroz:
EDITOR: BP: Can't easily remove 'pass-by-reference' pins on ReturnNodes
Change 2026411 by Maciej Mroz:
ExposeOnSpawn updated, it supports UDStructs, custom native Structs, and it throws compiler error.
Change 2025342 by Maciej Mroz:
GenerateBlueprintSkeleton moved from BLueprint::Serialize to RegenerateBlueprintClass, because SkeletonClass compilation requires all external dependencies to be loaded and linked.
Change 2025570 by Steve Robb:
Moved dependency processing to its own function.
Change 2033235 by Steve Robb:
String improvements
Change 2035830 by Steve Robb:
Workaround for FriendsAndChat crash in Fortnite.
Change 2035115 by Steve Robb:
UBT build time regression fixes.
Change 2034162 by Steve Robb:
312775: UObject improvement: Ensure that *.generated.inl is included somewhere
Change 2034181 by Steve Robb:
Removal of any references to .generated.inl
Change 2020165 by Steve Robb:
BuildPublicAndPrivateUObjectHeaders factored out into its own function.
Change 2020187 by Steve Robb:
CreateModuleCompileEnvironment function factored out.
Change 2020055 by Steve Robb:
Refactoring of Unity.cs to remove complex and duplicate iteration.
Change 2020083 by Steve Robb:
Another use of dictionary utilities.
Change 2031049 by Steve Robb:
312775: UObject improvement: Ensure that *.generated.inl is included somewhere
Change 2025728 by Steve Robb:
Refactored the application of a shared PCH file to multiple file into a single ApplySharedPCH function.
Change 2020068 by Steve Robb:
A couple of helpful utility functions for populating dictionaries.
Change 2032307 by Steve Robb:
312775: UObject improvement: Ensure that *.generated.inl is included somewhere
[CL 2054495 by Robert Manuszewski in Main branch]
Various improvements to UK2Node_BaseAsyncTask:
- Moved node enumeration from the menu builder into the node
- Added the latent icon to the corner of the node
- Added optional support for a separate Activate call on the proxy object, allowing immediate success/failure instead of having to delay it a frame
- Added default behavior for category and node title, pulling it from the factory function
[CL 2049507 by Michael Noland in Main branch]
#add Added UEdGraphNode::GetNodeNativeTitle to return a native title for a node.
#add Added UEdGraphNode::GetNodeSearchTitle to return the native and localized title for a node, together, for searching.
#add Can hold "alt" over a node (in the graph panel, or the palette) to see the native name of the node.
#ttp 331252 - Blueprints: Editor: L10N: Blueprints need to consistently show localized node names and when searching need to search both the localized name and the native name
#codereview justin.sargent
[CL 2044506 by Michael Schoell in Main branch]