Files
UnrealEngineUWP/Engine/Source/Editor/GraphEditor/Private/SGraphEditorImpl.h

393 lines
13 KiB
C
Raw Normal View History

// Copyright Epic Games, Inc. All Rights Reserved.
#pragma once
Copying //UE4/Dev-Build to //UE4/Dev-Main (Source: //UE4/Dev-Build @ 3209340) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3209340 on 2016/11/23 by Ben.Marsh Convert UE4 codebase to an "include what you use" model - where every header just includes the dependencies it needs, rather than every source file including large monolithic headers like Engine.h and UnrealEd.h. Measured full rebuild times around 2x faster using XGE on Windows, and improvements of 25% or more for incremental builds and full rebuilds on most other platforms. * Every header now includes everything it needs to compile. * There's a CoreMinimal.h header that gets you a set of ubiquitous types from Core (eg. FString, FName, TArray, FVector, etc...). Most headers now include this first. * There's a CoreTypes.h header that sets up primitive UE4 types and build macros (int32, PLATFORM_WIN64, etc...). All headers in Core include this first, as does CoreMinimal.h. * Every .cpp file includes its matching .h file first. * This helps validate that each header is including everything it needs to compile. * No engine code includes a monolithic header such as Engine.h or UnrealEd.h any more. * You will get a warning if you try to include one of these from the engine. They still exist for compatibility with game projects and do not produce warnings when included there. * There have only been minor changes to our internal games down to accommodate these changes. The intent is for this to be as seamless as possible. * No engine code explicitly includes a precompiled header any more. * We still use PCHs, but they're force-included on the compiler command line by UnrealBuildTool instead. This lets us tune what they contain without breaking any existing include dependencies. * PCHs are generated by a tool to get a statistical amount of coverage for the source files using it, and I've seeded the new shared PCHs to contain any header included by > 15% of source files. Tool used to generate this transform is at Engine\Source\Programs\IncludeTool. [CL 3209342 by Ben Marsh in Main branch]
2016-11-23 15:48:37 -05:00
#include "CoreMinimal.h"
#include "SlateFwd.h"
#include "Misc/Attribute.h"
#include "Layout/Visibility.h"
#include "Styling/SlateColor.h"
#include "Input/Reply.h"
#include "Widgets/DeclarativeSyntaxSupport.h"
#include "Widgets/SOverlay.h"
#include "GraphEditor.h"
Copying //UE4/Dev-Framework to //UE4/Dev-Main (Source: //UE4/Dev-Framework @ 3358467) #rb none #lockdown Nick.Penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 3297108 on 2017/02/10 by Mieszko.Zielinski Added AISight's peripherial vision angle claming as well as marked up UI to not allow values from outside of [0,180] range #UE4 #jira UE-41114 Change 3299467 on 2017/02/13 by Marc.Audy Don't try to update active sounds on audio thread if the audio component is not active. If these functions are callled from a constructor on an async loading thread it can cause a crash Change 3300692 on 2017/02/13 by Marc.Audy no auto Change 3301424 on 2017/02/14 by Marc.Audy Handle gateway expansion before the node matching loop #jira UE-41858 Change 3301547 on 2017/02/14 by Marc.Audy PR #3246: Added BindDelegate that supports functions with custom (static) arguments (Contributed by PhoenixBlack) #jira UE-41926 Change 3301557 on 2017/02/14 by Marc.Audy When passing null to Rename for the new name, maintain the OldName is possible #jira UE-41937 Change 3301676 on 2017/02/14 by Marc.Audy Fix pending occlusion async traces from crashing during shutdown #jira UE-41939 Change 3302705 on 2017/02/14 by Mieszko.Zielinski Removed 'PRAGMA_DISABLE_OPTIMIZATION' uccurences from AIModule #UE4 Change 3302898 on 2017/02/14 by Dan.Oconnor Fix double negative Change 3302954 on 2017/02/14 by Dan.Oconnor Make sure we use a good version of the class Change 3302977 on 2017/02/14 by Dan.Oconnor Optimization in reinstancer turned back on - 3302898 has fixed the regression Change 3302984 on 2017/02/14 by Dan.Oconnor Relink classes that were not recompiled in a wave of the compilation manager - currently only happens for data only blueprints. This fixes issues in Odin when using the compilation manager Change 3303824 on 2017/02/15 by Richard.Hinckley Updating URL for FABRIK system information. Change 3304284 on 2017/02/15 by Dan.Oconnor Build fix Change 3304297 on 2017/02/15 by Dan.Oconnor Shadow variable fix Change 3304465 on 2017/02/15 by Lukasz.Furman fixed handling pathfollowing's requests by FloatingPawnMovement #jira UE-41884 Change 3305031 on 2017/02/15 by Marc.Audy All objects should get PostLoadSubobjects calls, regardless of whether they are outered to a CDO or not #jira UE-41708 Change 3305505 on 2017/02/15 by Michael.Noland Blueprints: Fix a crash when opening a BP with a parent class that no longer exists (unguarded access to the parent class) Change 3305506 on 2017/02/15 by Michael.Noland QAGame: Created some assets that reference a non-existent type to test 'gracefully' handling missing native class types Change 3306091 on 2017/02/16 by Marc.Audy PR #3263: Fixed duplicate comment from OnAudioFinished (Contributed by FrostByteGER) #jira UE-42027 Change 3306574 on 2017/02/16 by Marc.Audy Linked To pins can belong to invalid nodes and fail to load, this shouldn't be considered fatal Change 3307160 on 2017/02/16 by Marc.Audy Rename(null, null ... is sometimes used to just force a name out of the way, so in that case don't try and maintain old name. Change 3307982 on 2017/02/16 by Michael.Noland QAGame: Added another test asset for missing classes (this time a missing node class placed in a BP) Change 3308097 on 2017/02/16 by Michael.Noland Graph Editor: Instantly clear GraphNodeForMenu and GraphPinForMenu as soon as the menu is dismissed, fixing crashes and other odd issues after deleting pins #jira UE-41789 Change 3308303 on 2017/02/16 by Dan.Oconnor Make sure we don't call GetDefaultObject while compiling on a non-native class Change 3308850 on 2017/02/17 by Mieszko.Zielinski Fully exposed NavModifierVolume as ENGINE_API #UE4 Change 3309624 on 2017/02/17 by Phillip.Kavan [UE-40443] Recursively emit ctor initialization code for nested default subobjects when nativizing a Blueprint class. change summary: - modified FEmitDefaultValueHelper::OuterGenerate() to recursively detect and handle nested default subobjects. #jira UE-40443 Change 3310475 on 2017/02/17 by Dan.Oconnor Split bluepint compilation into CompileClassLayout and CompileFunctions, fix class hierarchy after creating reinstancers in blueprintcompilation manager. Together this means we don't need to run RecompileBlueprintBytecode Change 3310487 on 2017/02/17 by Dan.Oconnor Fix build error missed by preflgiht Change 3310497 on 2017/02/17 by Dan.Oconnor More build fixes for things missed by preflight... Change 3310635 on 2017/02/17 by Dan.Oconnor Remove unused parameter and add comment to blueprint compilation manager explaining abuse of bBeingCompiled Change 3310639 on 2017/02/17 by Dan.Oconnor Shadow variable fixes, not sure why these are being detected now Change 3311855 on 2017/02/20 by Marc.Audy Fix UChildActorComponent::ParentComponent being null on the client #jira UE-42140 Change 3312444 on 2017/02/20 by Marc.Audy Add a bAutoDestroy pin to BP Spawn Sound and Force Feedback nodes to allow users to reuse the created component #jira UE-41267 Change 3312691 on 2017/02/20 by mason.seay Deleting map now that bug has been fixed Change 3312709 on 2017/02/20 by Phillip.Kavan [UE-39705] Fix broken collision shapes when cooking with optimized BP component data option. change summary: - modified FComponentInstancingDataUtils::RecursivePropertyGather() to exclude deprecated properties, since they won't be serialized on save. - modified FBlueprintCookedComponentInstancingData::LoadCachedPropertyDataForSerialization() to remove the PPF_UseDeprecatedProperties flag (these are no longer included in the delta). - modified UBlueprintGeneratedClass::CheckAndApplyComponentTemplateOverrides() to remove the PPF_UseDeprecatedProperties flag (was being incorrectly used here). - modified AActor::CreateComponentFromTemplateData() to remove the PPF_UseDeprecatedProperties flag (was being incorrectly used here; this caused deprecated property defaults to be copied out to the instance). - modified AActor::CreateComponentFromTemplateData() to append RF_PostLoad/RF_NeedPostLoadSubobjects and call PostDuplicate()/ConditionalPostLoad() on the new instance (needed to mirror what SDO does in the unoptimized case - for proper physics RB setup specifically, but may be other areas where that's needed). #jira UE-39705 Change 3313161 on 2017/02/20 by Mieszko.Zielinski PR #3272: Use Pawn for GetNavAgentPropertiesRef(). (Contributed by drelidan7) Change 3314151 on 2017/02/21 by Mieszko.Zielinski fix to hlods complaining about missing nav collision in cooked builds #UE4 Made sure hlod-generated StaticMeshes are marked as not having navigation data #jira UE-42034 Change 3314355 on 2017/02/21 by Marc.Audy Set error message back to be correctly about mobility #jira UE-42209 Change 3314566 on 2017/02/21 by Phillip.Kavan [UE-40801] Switch to an ensure() to potentially help diagnose a one-off assertion crash in the SCS editor if encountered again in a future release. #jira UE-40801 Change 3315459 on 2017/02/21 by Mike.Beach Updated marquee selection in graph editors. Ctrl dragging now inverts nodes' selection state (not only deselects them - holding alt is now for only deselection). #jira UE-16359 Change 3315546 on 2017/02/21 by Mike.Beach Mirroring CL 3294552 Count "GeneratedStub" as a success for cooked file generation - ensures the saved asset gets recorded in the asset registry. #jira ODIN-5869 Change 3315554 on 2017/02/21 by Mike.Beach Do not generate NativizedAsset plugin files if no Blueprints were nativized (cut down on mod generate/cook time). #jira ODIN-6211 Change 3317225 on 2017/02/22 by mason.seay Enable Net Use Owner Frequency on blueprints. This allows the client to use different weapons. Doesn't fix UE-42017 though. Change 3317495 on 2017/02/22 by Marc.Audy Expose raw input device configurations to other modules by request #jira UE-42204 Change 3319966 on 2017/02/23 by Nick.Atamas Polished up the material reroute node: - Removed some unnecessary widgets - Centered the pin node Change 3320099 on 2017/02/23 by Mike.Beach Guarding against passing self pins to referance parameters (it is not a property that is referencable, and would crash). Notifying the user through pin connection messages, and providing a script exception. #jira UE-40861 Change 3321227 on 2017/02/24 by Marc.Audy Just use name rather than going Name -> String -> TCHAR -> Name Change 3321425 on 2017/02/24 by Marc.Audy Minor optimizations to avoid string construction when doing StaticFindObject and ResolveName Change 3321630 on 2017/02/24 by Mike.Beach Removing reference notation from actor pointer param - allowing you to pass 'self' to Blueprint exposed function. Change 3321845 on 2017/02/24 by Lukasz.Furman fixed navlink processor trace accepting only components with WorldStatic object type #ue4 Change 3322474 on 2017/02/24 by Aaron.McLeran UE-42345 Rewriting thumbnail renderer Change 3322490 on 2017/02/24 by Aaron.McLeran UE-42345 Forgot to take abs of sample before averaging Change 3323562 on 2017/02/27 by Mike.Beach Fixing bad merge, copying loop from //UE4/Main that accidently got replaced. Change 3323685 on 2017/02/27 by Mike.Beach Preventing us from cross-binding editor & PIE actors when we fixup level script actor bindings (on duplicate for PIE). #jira UE-30816 Change 3323776 on 2017/02/27 by Marc.Audy Coding standard clean up pass Change 3324050 on 2017/02/27 by Ben.Zeigler Fix issue with a StreamableHandle being cancelled while in progress leaving the in progress flag active. Added and improved error messages when streaming goes wrong Port of 3317217, 3315540, and 3314374 from UE4-Fortnite Change 3324294 on 2017/02/27 by Ben.Zeigler Engine changes needed to support "Asset Management" UI: Add concept of "Manage" dependency to the Asset Registry, to represent that an asset like a texture is managed by a Primary Asset. This will be used to compute usage statistics and chunking Add ability for AssetManager to override the PrimaryAssetType/Id on a asset data loaded off disk. Needed so the asset audit tools work properly Significant performance improvements to the asset registry dependency gather, and correctly report as in progress while dependencies are still being gathered. On Fortnite it now finishes in 10 seconds instead of 100 Add bUpdateDiskCacheAfterLoad option for the asset registry, if true (default) this will update the Asset Registry's disk cache when an object is loaded, only in the editor. This is so changes made in PostLoad are correctly mirrored in the disk cache Add PrimaryAssetType as a wrapper struct around FName to allow customizations and blueprint usage, clean up the noexport definitions for a few related classes Add Asset Manager code to create and query "Manage" references used for auditing and chunking Add code to read AssetManager scanning rules out of the AssetManagerSettings object, also settable in editor Made it so UWorlds are now PrimaryAssets of the type Map, and enable the AssetManager by default for all games Port of CL #3323720 and related fixes from Fortnite Change 3324295 on 2017/02/27 by Ben.Zeigler Add AssetManagerEditor which contains the editor interface for the AssetManager system, and engine code needed to support it Add support for Management references to the Reference Viewer, and add ability to extend that context menu from plugins/games Add struct customizations for PrimaryAssetId and PrimaryAssetType Add AssetAuditBrowser window that shows a specialized asset picker for auditing, accessible from content browser, reference viewer, and main windows pane Add AssetAuditContext, which is a cleaned up port of the one from Paragon. This needs some more work before being final Expose PropertyCustomizationHelpers::MakePropertyComboBox which allows making an "enum-like" combo box for struct customizations, it now works much like the PropertyEditorAsset UI Add Custom Column support to AssetView/AssetPicker. This can be used to show runtime-generated column data Fix bug in SAssetView where column view did not work with a filter predicate, because the column view was generated before the deferred filter predicate run, leading to an empty filter Port of CL #3323722 and related fixes from Fortnite Change 3324398 on 2017/02/27 by Ben.Zeigler CIS fix Change 3324442 on 2017/02/27 by Ben.Zeigler Nonunity fix discovered while testing my nonunity fix Change 3325465 on 2017/02/28 by Marc.Audy Expand RawInput to support up to 20 buttons Change 3325468 on 2017/02/28 by Marc.Audy Fix CIS Change 3325887 on 2017/02/28 by Phillip.Kavan [UE-41893] Implicitly nativize child Blueprints that override one or more BlueprintCallable functions from a parent Blueprint. change summary: - added FBlueprintEditorUtils::ShouldNativizeImplicitly() - modified FBlueprintGlobalOptionsDetails::IsNativizeEnabled() to disable the 'Nativize' checkbox when the BP is implicitly enabled - modified FBlueprintGlobalOptionsDetails::GetNativizeState() to set the 'Checked' state when the BP is implicitly enabled - modified FBlueprintGlobalOptionsDetails::GetNativizeTooltip() to set an alternate tooltip for the disabled state (when the BP is implicitly enabled) - modified FBlueprintNativeCodeGenModule::IsTargetedForReplacement() to ensure that implicitly-enabled BPs are flagged as selected for nativization #jira UE-41893 Change 3326713 on 2017/02/28 by Marc.Audy Update MAX_NUM_CONTROLLER_BUTTONS to match number of keys created Change 3327688 on 2017/03/01 by Marc.Audy Fix spelling, remove autos Change 3328139 on 2017/03/01 by Marc.Audy Win32 doesn't report the DeviceData in the same way that Win64 does, removing filtered check for now so that Win32 packaged games can use RawInput (4.15.1) #jira UE-42375 Change 3328550 on 2017/03/01 by Mike.Beach Typo fix in cast node tooltip. Change 3328575 on 2017/03/01 by Nicholas.Blackford Submitting Tick Interval Functional Test Change 3328972 on 2017/03/02 by Jack.Porter Fix for crash entering Landscape mode #jira UE-42497 Change 3329224 on 2017/03/02 by Nick.Bullard Removing Redirector from EngineTest project Change 3330093 on 2017/03/02 by Mike.Beach Modified fix from Marc.Audy - Guarding against malformed graphs (missing their schema), which can happen in the middle of an undo transaction (removing the graph). Returning the graph's path name in this situation (instead of the display name), so we atleast have some semblance of context. #jira UE-42166 Change 3330306 on 2017/03/02 by Mike.Beach Replacing ArrayLibrary Get() calls in blueprints with a custom node, which can be toggled back and forth from returning by reference or by value. #jira UE-6451 Change 3330626 on 2017/03/02 by samuel.proctor Functional Test for Blueprint Containers Change 3330690 on 2017/03/02 by Mike.Beach Modified the fix from CL 3308097 - cannot clear the edgraph pin context since many menu actions expect it be available still as the menu is clossing (menu's dismiss gets triggered before the action is executed). #jira UE-42500 Change 3330704 on 2017/03/02 by Mike.Beach CIS fix - fallout from CL 3330306 Change 3330875 on 2017/03/02 by Dan.Oconnor Iteration on compile manager - removed skeleton compile pass in favor of FastGenerateSkeletonClass (directly generate reflection data from blueprint source data - no graph cloning) Change 3330892 on 2017/03/02 by Mike.Beach CIS fix for linux builds - include filename is case sensitive. Change 3331585 on 2017/03/03 by Mike.Beach Fix for CIS issues (fallout from CL 3330306) - had success/failure return value flipped. Spuriously failing on deprecated node fixup. Change 3333455 on 2017/03/06 by Ben.Zeigler Cleaned up version of CL #3332060, fixes crashes when calling StreamableManager::SynchronousLoad from inside a async PostLoad callback Also disable the "do sync load as async load" code in EDL, as EDL basically already does that internally Move the recursion guard inside async load tick outside of the EDL section, it's just as unsafe with EDL off Change 3333484 on 2017/03/06 by Ben.Zeigler #jira UE-42312 Fix crash trying to read Searchable Name references to objects in the same package, now guess at package/object name Change 3333553 on 2017/03/06 by Ben.Zeigler #jira UE-42387 Don't write out empty generated ini files for config files that are empty in both source and destination, this stops plugins without configs from ending up in cache Change 3333697 on 2017/03/06 by Mike.Beach Resolving some CIS errors - fix for missed handling of split-struct pins (fallout from CL 3330306) on deprecated node conversion (mapping old pins to new pins). Change 3334047 on 2017/03/06 by Ben.Zeigler #jira UE-42587 Now that we handle Add gameplay cues correctly by deferring them until after load, we also need to handle Remove cues, to avoid cues being stuck on permanently. Change 3334228 on 2017/03/06 by Ben.Zeigler #jira UE-42153 Fix several crashes with gameplay tag query structs #jira UE-39760 Fix it to display tag query description on creation Change 3335221 on 2017/03/07 by Lukasz.Furman fixed compilation errors for macros: UE_VLOG_MESH, UE_CVLOG_MESH #ue4 Change 3335733 on 2017/03/07 by dan.reynolds Fixing Attenuation Shape Material Reference Change 3335918 on 2017/03/07 by Mike.Beach More deeply nesting an active world check in UMeshComponent::CacheMaterialParameterNameIndices(). Only guarding the parts that use the world (prior to this, we were blocking material parameter discovery, which was causing cooked content to loose material settings). #jira UE-42480 Change 3336053 on 2017/03/07 by zack.letters Moved and renamed test to meet naming convention and proper location Change 3336087 on 2017/03/07 by Phillip.Kavan [UE-18618] Fix an ensure() misfire on PIE exit for listen server mode. change summary: - Modified UWorld::TransferBlueprintDebugReferences() to allow the LevelScript BP's target debug object reference to be reset to NULL when CreatePIEWorldBySavingToTemp() has recompiled it during the PIE startup process and autosaved the BP as a temporary. #jira UE-18618 Change 3336118 on 2017/03/07 by Phillip.Kavan Ensure that BP class component templates are included as preload dependencies where appropriate. Change 3336418 on 2017/03/07 by Marc.Audy Set the PIEInstanceID before calling ConvertToPIEPackageName (4.15.1) #jira UE-42507 Change 3336529 on 2017/03/07 by dan.reynolds AEOverview UMG Interface Change 3336729 on 2017/03/07 by Michael.Noland Blueprints: Changed a checkSlow() followed by unguarded access to an if and ensure() in BlueprintActionFilterImpl::IsDeprecated to prevent a potential crash in release if the node class is invalid for some reason #jira UE-42519 Change 3337054 on 2017/03/08 by Mieszko.Zielinski Fixed UGameplayTaskResource::AutoResourceID getting cleared on hot reload #UE4 Change 3337605 on 2017/03/08 by Mieszko.Zielinski PR #3345: Fix reversed comparison in FGameplayResourceSet::HasAllIDs (Contributed by hoelzl) Change 3337612 on 2017/03/08 by Lina.Halper Commenting out ensure as this doesn't cause any harm and fix it up later by itself. - adding ticket for further investigation #rb: Martin.Wilson #jira: UE-42062 Change 3338353 on 2017/03/08 by Mike.Beach Undoing CL 3320099, and instead allowing self nodes to be plugged into const ref inputs. Now auto-generating ref terms for the self node (the input param expects an addressable UProperty). Skipping this for native functions, as UHT already does something similar. #jira UE-40861 Change 3340052 on 2017/03/09 by Marc.Audy Don't mark a blueprint dirty if the default value isn't actually set #jira UE-42511 Change 3340211 on 2017/03/09 by samuel.proctor Adding TMap/TSet tests for Containers Functional Test Change 3340272 on 2017/03/09 by Marc.Audy auto removals small optimizations Change 3340341 on 2017/03/09 by Marc.Audy Fortnite fixes for blueprint exposed editor only struct members #jira UE-42430 Change 3340356 on 2017/03/09 by Marc.Audy Do not allow blueprint exposed editor only struct members #jira UE-42430 Change 3340369 on 2017/03/09 by Mike.Beach Certain operations expect set/map elements to be constructed, instead of using an 'uninitialized' value (like with FStrings, previously this would blow up attempting to assign a value to an FString that hadn't been constructed). Fix is to construct the member when we make space in the container (emulating execSetArray). #jira UE-42572 Change 3340445 on 2017/03/09 by mason.seay Renamed and updated test map. Also disabled tests until reviewed Change 3340627 on 2017/03/09 by Marc.Audy Remove autos Change 3340639 on 2017/03/09 by Dan.Oconnor Avoid CDO creation when asking if an object IsDefaultSubobject Change 3340642 on 2017/03/09 by Marc.Audy Correctly maintain removed items from arrays when duplicating actors via T3D #jira UE-42278 Change 3340689 on 2017/03/09 by Dan.Oconnor Avoid UObject::Modify calls when renaming edgraph nodes as part of UEdGraphNode::PostLoad() or UEdGraph::MoveNodesToAnotherGraph Change 3340709 on 2017/03/09 by Dan.Oconnor Remove misplace dClassDefaultObject null check for now Change 3340710 on 2017/03/09 by Dan.Oconnor Avoid FindRedirectedPropertyName when performing StaticDuplicateObject Change 3340728 on 2017/03/09 by Dan.Oconnor Null checking CDO so that we can duplicate a class with no CDO Change 3342184 on 2017/03/10 by mason.seay Nav mesh generation test - not finished Change 3342930 on 2017/03/13 by Mieszko.Zielinski Added missing undefining of local macros in VisualLoggerAutomationTests.cpp #UE4 Change 3343739 on 2017/03/13 by Marc.Audy Protect against ChildActorClass becoming null while ChildActorTemplate remains valid. Change 3343758 on 2017/03/13 by Marc.Audy Ensure that when you change visibility, children also get marked dirty as needed. SetVisibility is no longer virtual, use OnVisibilityChanged in subclasses instead #jira UE-42240 Change 3343816 on 2017/03/13 by Mike.Beach Making sure we build CrashReporter for nativized clients. #jira UE-42056 Change 3343858 on 2017/03/13 by Phillip.Kavan Back out changelist 3336118 (per discussion) - did not solve the issue. Change 3344218 on 2017/03/13 by Mike.Beach Patching some holes in the wildcard pin logic for our new array GetItem node (making sure the node properly retains its type). Change 3344388 on 2017/03/13 by Mike.Beach Preventing make/break nodes from being in the context menu for structs that are not labeled 'BlueprintType' (still available if you drag off a node with a struct pin of that type). #jira UE-37971 Change 3344411 on 2017/03/13 by dan.reynolds AEOverviewMain update - Organized Variables - Added comments on level interface with UI script Change 3344956 on 2017/03/14 by Marc.Audy Remove autos Slight optimization Change 3345365 on 2017/03/14 by Mike.Beach In the Blueprint diff tool, no longer assuming that graph names are unique (using the outer path to find matching graphs between diff panels). #jira UE-42787 Change 3345565 on 2017/03/14 by Marc.Audy auto removal Change 3345654 on 2017/03/14 by Marc.Audy Allow hierarchical metadata querying when HACK_HEADER_GENERATION is true Change 3345771 on 2017/03/14 by Zak.Middleton #ue4 - Refactored CharacterMovementComponent determination of net send rate when combining moves into a virtual function GetClientNetSendDeltaTime(). Added configurable values to GameNetworkManager under [/Script/Engine.GameNetworkManager]: ClientNetSendMoveDeltaTime=0.0111f ClientNetSendMoveDeltaTime=0.0222f ClientNetSendMoveThrottleAtNetSpeed = 10000 ClientNetSendMoveThrottleOverPlayerCount=10 These are the default values maintained for backwards compat. Related to OR-36422. Change 3346314 on 2017/03/14 by Dan.Oconnor Add two features to FBlueprintCompileReinstancer. Exposing it's CPFUO extensions and add a flag to avoid potentially unneeded CDO duplication. Change 3346329 on 2017/03/14 by Dan.Oconnor Avoid CDO creation in UBlueprintGeneratedClass::PostLoad - rely instead on compiler Change 3346436 on 2017/03/14 by Dan.Oconnor Compilation Manager iteration - improvements to reinstancing logic and postponement of reinstancing reference replacement until after loading has finished (done strictly to reduce the number of 'find references' calls). Behavior change is behind the GMinimalCompileOnLoad flag Change 3346632 on 2017/03/14 by Ben.Zeigler Change StringClassReference customization to use MustImplement and BlueprintBaseOnly metadata, to match the metadata used by SubclassOf customization Add missing Class Property metadata to the metadata list Change 3347525 on 2017/03/15 by Marc.Audy PR #3371: Fix for binding ability action to input component (Contributed by ryanjon2040) #jira UE-42810 Change 3347562 on 2017/03/15 by Phillip.Kavan [UE-32816] Support for value-based bitfield enum associations in the editor. notes: - default mode is still index-based, so there are no backwards-compatibility issues change summary: - new metadata key for flagging enums as value-based (UseEnumValuesAsMaskValuesInEditor) - modified SPropertyEditorNumeric::Construct() to include logic for handling value-based enum associations - modified SGraphPinInteger::Construct() to include logic for handling value-based enum associations - added default value fixup to UK2Node_BitmaskLiteral, so that changed/removed values get masked out on load - switched UK2Node_BitmaskLiteral::PostLoad() to Serialize(), so that default value fixup occurs before compilation #jira UE-32816 Change 3348030 on 2017/03/15 by Marc.Audy Remove experimental blueprintable components setting, they are supported fully Change 3348034 on 2017/03/15 by Phillip.Kavan CIS fix. Change 3348054 on 2017/03/15 by Marc.Audy Fix shadow error Change 3348063 on 2017/03/15 by mason.seay Updateed bp logic to use asserts. Added scenarios to descriptions of tests Change 3348131 on 2017/03/15 by mason.seay Updating maps and reorganizing content Change 3348146 on 2017/03/15 by Mike.Beach Making it so we can use DataTable variables as inputs in the GetDataTableRow node. The output pin is now a wildcard when the row type is undefined, and we throw an access error at runtime if the table and output type don't match. Change 3348213 on 2017/03/15 by dan.reynolds AEOverview UMG Update - Added level selection persistence between categories (so you can pick and choose from multiple categories) - Added a clear all selections button - Added comments to the UMG BP Change 3348344 on 2017/03/15 by Lukasz.Furman fixed missing path following result flag descriptions #ue4 Change 3348489 on 2017/03/15 by mason.seay Moved content and updated test descriptions Change 3348496 on 2017/03/15 by Mike.Beach Keeping the new version of the GetArrayItem node from causing a stack overflow with wildcard reroute nodes. Change 3348502 on 2017/03/15 by Ben.Zeigler #jira UE-42935 Fix several issues with GameplayTag and Container switch nodes crashing. Container didn't handling having multiple empty nodes correctly Fix general issue with Switch nodes where removing an execution pin with right click was not synchronizing the pin list properly Change it so the Container switch shows the simple tag string instead of Case 0, and change it to not quote by default for Container display strings Change 3348504 on 2017/03/15 by Ben.Zeigler #jira UE-41554 Add GameplayTag initialization to InitializeObjectReferences if it hasn't been initialized yet, this is important so it gets initialized before being initialized from unsafe areas like Serialize Change 3348512 on 2017/03/15 by Mike.Beach Reroute nodes connected to a new output, will propagate the type through its inputs (was previously treating the input's wildcard type as authoritative). Change 3348513 on 2017/03/15 by Phillip.Kavan [UE-38979] Error out on an attempt to nativize a Blueprint class that also implements a native C++ interface with a pure virtual function declaration. change summary: - added TIsAbstract<T> for traits testing to see if native C++ types are abstract (in terms of C++, not UE4) - changed TCppStructOps::IsAbstract() to use TIsAbstract<T> - added UClass::CppClassOps to capture class-specific traits info for the underlying C++ class type - modified UClass::PurgeClass() to clean up class-specific traits info (if valid) - modified FNativeClassHeaderGenerator::ExportNativeGeneratedInitCode() to generate code to initialize class-specific traits info for compiled-in class types - modified FBlueprintNativeCodeGenModule::IsTargetedForReplacement() to throw an error during nativization if a target BP class is found to implement a native interface class that's also abstract (i.e. an interface class that declares one or more of its methods as pure virtual) - modified BlueprintActionFilterImpl::IsExtraneousInterfaceCall() to initially exclude any native interface class that is also abstract - modified FKismetEditorUtilities::CanBlueprintImplementInterface() to additionally exclude any native class that is also abstract - modified FBlueprintInterfaceFilter::IsClassAllowed() to additionally exclude any native class that is also abstract #jira UE-38979 Change 3348651 on 2017/03/15 by Mike.Beach Fixing the new GetDataTableRow node so that it'll give you the option of reroute nodes. Change 3348684 on 2017/03/15 by Michael.Noland Blueprints: Allow string and text variables to be marked as multi-line PR #3294: UE-42147: Add multiline to BP view details (Contributed by projectgheist) #jira UE-42275 Change 3348691 on 2017/03/15 by Michael.Noland Cameras: Added support for specifying a default aspect ratio and whether or not to constrain to it in a camera manager subclass; useful when using custom view logic that doesn't source from a camera component as the view target PR #2593: Finish implementing aspect ratio handling for PlayerCameraManager (Contributed by CleanCut) #jira UE-33052 Change 3348698 on 2017/03/15 by Michael.Noland Removed a sprite reference from trigger shape classes and excluded some component references from camera rigs in cooked builds PR #2922: Ensuring editor data is not accessed when excluded from cook (Contributed by moritz-wundke) #jira UE-38484 Change 3348722 on 2017/03/15 by Dan.Oconnor Fix replacement bug - due to last minute refactor of this reference replacer call Change 3348736 on 2017/03/15 by Michael.Noland Blueprints: Added missing include for UTextProperty (compiled fine locally both with the file checked out and the file unmodified) Change 3348810 on 2017/03/15 by Michael.Noland Blueprints: Added support for seeing the user defined tooltip on get/set nodes for local variables PR #3256: UE-41098: Added UFunction argument (Contributed by projectgheist) Change 3348811 on 2017/03/15 by Michael.Noland PR #3380: Added CancelAbility Blueprint node (Contributed by ryanjon2040) #jira UE-42904 Change 3348969 on 2017/03/15 by Dan.Oconnor Build fix Change 3349023 on 2017/03/16 by Aaron.McLeran Copying //Tasks/UE4/Private-GDC17-Audio to Dev-Framework (//UE4/Dev-Framework) Change 3349389 on 2017/03/16 by mason.seay Finished up Navigation map. Improved Navmesh map (still needs some work before review) Change 3349575 on 2017/03/16 by Marc.Audy Emit ScriptMacros.h in addition to ObjectMacros.h in generated headers Change 3349628 on 2017/03/16 by Ben.Zeigler Add direct support for Chunk setting to AssetManager. If AssetManager exists and no game callback is set it uses the new, much faster method. Otherwise it falls back to the old one Fix some memory corruption issues in ChunkManifestGenerator where it was modifying a map while iterating it, could lead to assets ending up in multiple chunks accidentally Remove the "Old Cooker" entirely, it hasn't functioned since around 4.9 Various fixes to AssetManagerEditorModule Convert ShooterGame to use the AssetManager for chunking Change 3349629 on 2017/03/16 by Ben.Zeigler Change Fortnite to use the AssetManager chunking system, which simplifies the chunk 1 setup significantly Also includes changes made on Fortnite Branch as CL #3323724: Fortnite changes to take advantage of the Manage dependency in the asset manager Move definition of asset types to ini from native, and simplify it so all zone themes are scanned, even if not used Make FeedbackBank a primary asset type. It's currently editor only as there are some outdated banks we don't want to cook Change 3350043 on 2017/03/16 by Marc.Audy Fix Audio compile errors Change 3350092 on 2017/03/16 by Dan.Oconnor Fix missing output parameters when the function result node is pruned Change 3350190 on 2017/03/16 by Ben.Zeigler CIS fix Change 3350707 on 2017/03/16 by Dan.Oconnor Add means of enabling BlueprintCompilationManager via editor ini. Wedging the check into LaunchEngineLoop because of assets that are loaded during engine initialization Change 3350820 on 2017/03/16 by Joe.Conley Xenakis project: Setting GameMode to GameMode instead of None so the game doesn't crash on Play Change 3350893 on 2017/03/16 by Dan.Oconnor Build fix Change 3351017 on 2017/03/16 by Dan.Oconnor Using ordered arguments instead of named arguments improves load time in BP heavy projects Change 3351056 on 2017/03/16 by Dan.Oconnor Avoiding Copies Change 3351062 on 2017/03/16 by Dan.Oconnor Enable BlueprintCompilationManager by default - this is a major change in code path when loading uassets that contain blueprints Change 3351770 on 2017/03/17 by Marc.Audy Fix CIS warnings Change 3351818 on 2017/03/17 by Mike.Beach CopyPropertiesForUnrelatedObjects() will now only copy tagged data when the two objects truly are unrelated (different native base classes). We have to do this because the two native base classes may have different serialization methods that add/expect different data, which is not compatible with the other. #jira UE-35970 Change 3351918 on 2017/03/17 by Mike.Beach CIS fix - renaming local so it doesn't conflict with the one in the outer scope. Change 3351931 on 2017/03/17 by Ben.Zeigler Make CoreRedirects a proper Automated Test, and fix a test failure with not handling : in the output string Fix legitimate regression where doing a package -> package rename would clear Outer, this was a result of a fix I made in Main a few weeks ago Change 3351956 on 2017/03/17 by Dan.Oconnor Make sure result element is emptied when calling Intersect, Union, or Difference #jira UE-42993 Change 3352049 on 2017/03/17 by Ben.Zeigler #Jira UE-42118 Add RemoveGameplayTag to the tag blueprint library Delete (with redirector) redundant AddGameplayTagToContainer function that got accidentally added in parallel on Fortnite. Decided to keep the shorter TagContainer parameter name for both though Change 3352065 on 2017/03/17 by Aaron.McLeran Fixing compile errors - deleting unused files - removing #pragma once in SSynthKnob.cpp - Making phonon have win64 whitelist to avoid compiling on other platforms Change 3352100 on 2017/03/17 by Aaron.McLeran Fixing compile errors - Moving header file to public folder since it's used outside of module Change 3352182 on 2017/03/17 by Ben.Zeigler #jira UE-39815 Fix several issues with renaming tags in the tag settings view, it now deletes redirectors properly when renaming or making a new tag that matches an existing redirector Change 3352286 on 2017/03/17 by Ben.Zeigler #jira UE-39519 Add error messages when only one of GameMode/GameState is derived from the outdated parent classes Modified version of PR #3285: Add error log messages if the GameMode/GameState are mis-matched (Contributed by jwatte) Change 3352299 on 2017/03/17 by Ben.Zeigler #jira UE-40544 PR #3130: UE-40544: Check pause state if state change is allowed (Contributed by projectgheist) Change 3352303 on 2017/03/17 by Ben.Zeigler #jira UE-40856 Commit PR #3147: Remove unnecessary directory separator for GetSaveGamePath (Contributed by projectgheist) Remove unnecessary FString casting and in OpenGLDebugFrameDump.cpp there were FString multiplications that would never compile Change 3352320 on 2017/03/17 by Ben.Zeigler #jira UE-40087 Fix it so console keybind can be used in shipping games with console enabled Commit PR #3079: Fix ALLOW_CONSOLE define usage (Contributed by KrisRedbeard) Change 3352338 on 2017/03/17 by Ben.Zeigler #jira UE-42800 PR #3367: Made CheatManager more useful for non-FPShooters (Contributed by crumblycake) Change 3352352 on 2017/03/17 by Dan.Oconnor Emptying map instead of trying to remove an element when conversion of a value type fails - can't remove a single element until the map is rehashed #jira UE-42937 Change 3352581 on 2017/03/17 by Lukasz.Furman fixed memory leak in navmesh generators copy of CL# 3352356 #ue4 Change 3352665 on 2017/03/17 by Aaron.McLeran Fixing build error - Adding virtual destructor to FSoundWaveSoundWaveAssetActionExtender - Also renamed the class to only include SoundWave once! - Fixing static analysis warning on null deref. Change 3352685 on 2017/03/17 by Dan.Oconnor Fix for bad behavior of GetValues and GetKeys functions when there are gaps in a TMap (e.g. due to Remove calls) #jira UE-42547 Change 3352706 on 2017/03/17 by Aaron.McLeran Fixing build error Changing TSharedPtr<FSoundWaveSoundWaveAssetActionExtender> to TSharedPtr<ISoundWaveAssetActionExtensions> Change 3352708 on 2017/03/17 by Dan.Oconnor Data only and interface blueprints need SkeletonGeneratedClass set on load so that they can be used by the BlueprintEditor #jira UE-43023 Change 3352860 on 2017/03/17 by Lukasz.Furman fixed memory leak in navmesh generators copy of CL# 3352849 #ue4 Change 3352967 on 2017/03/17 by Dan.Oconnor Avoid tagging blueprints as modified while compiling with the new compilation manager. Leaving old code path unaffected, although it may benefit from this change. #jira UE-43027 Change 3352979 on 2017/03/17 by Dan.Oconnor Static analysis driven fixes #jira UE-43044 Change 3352987 on 2017/03/17 by Aaron.McLeran Fixing build error - Removing myo from other platforms, win64 only Change 3353234 on 2017/03/18 by Marc.Audy Fix Win32 build Change 3353344 on 2017/03/19 by Marc.Audy Fix cyclic includes in new Audio code Change 3353350 on 2017/03/19 by Marc.Audy Disable static analysis for myo third party code Change 3353750 on 2017/03/20 by Marc.Audy Fix additional cyclic include Change 3353926 on 2017/03/20 by Mieszko.Zielinski Made FNavAgentProperties::GetExtent return INVALID_NAVEXTENT if prop's AgentRadius is not set #UE4 This results in using FNavAgentProperties::DefaultProperties in navigation system queries to fallback to default query extent. #jira UE-18493 Change 3354249 on 2017/03/20 by Mike.Beach Raising a UHT error if you use a non-byte enum type in a Blueprint function. Blueprints currently only support uint8 enums (already an error if you tag the enum with 'BlueprintType', this error just emulates/extends that one). #jira UE-42479 Change 3354464 on 2017/03/20 by Dan.Oconnor Fix missing source path when using compilation manager Change 3354499 on 2017/03/20 by Dan.Oconnor Disable compilation manager Change 3354620 on 2017/03/20 by Ben.Zeigler #jira UE-43087 Fix crash when calling HasGPUEmitter on a Server build, this is newly an issue because it is calling GetAssetRegistryTags in more places than it used to Change 3354714 on 2017/03/20 by Michael.Noland PR #3352: Fixed issue with diffed Blueprints being searchable (Contributed by MichaelSchoell) #jira UE-42655 Change 3354718 on 2017/03/20 by Michael.Noland Engine: Change FViewport::IsGameRenderingEnabled to be static PR #3317: FViewport::IsGameRenderingEnabled (Contributed by tomix1024) #jira UE-42471 Change 3354721 on 2017/03/20 by Michael.Noland PR #3293: Made GetDefaultLocale accessible in blueprint (Contributed by derekvanvliet) #jira UE-42274 Change 3354907 on 2017/03/20 by Aaron.McLeran Fixing content in xenakis map Change 3355223 on 2017/03/20 by Ben.Zeigler #jira UE-43096 Fix crash when trying to ResolveName a path that ends in . (apparently when you LoadObject empty string, it ends up trying to load "." before giving up Change 3355297 on 2017/03/20 by Dan.Oconnor Fix incorrect flag settings from fast skeleton path.. this is part of the fix for UE-43083 Change 3355373 on 2017/03/20 by Michael.Noland PR #3222: Allow Blueprint Variables to be Readonly (Contributed by FrostByteGER) #jira UE-41640 Change 3355417 on 2017/03/20 by Ben.Zeigler Fix formatting bug where I forgot some braces Change 3355462 on 2017/03/20 by Aaron.McLeran UE-43046 Property type changed with no possible conversion Resaved asset in question Change 3355629 on 2017/03/20 by Dan.Oconnor Don't warn the user when their return node that has no pins (other than an exec pin). These return nodes cannot be deleted and connecting them does nothing. Prior to recent changes the warning never fired because the return node would be pruned and not validated. Change 3355631 on 2017/03/20 by Dan.Oconnor Fix compilation results spam in compilation manager. Scoped compiler events (e.g. BP_SCOPED_COMPILER_EVENT_STAT(EKismetCompilerStats_CompileTime);) will flush the results log if no 'event' has been started. Timing data collected via this mechanism will not be useful (can only measure entire call to ::Flush in compilation manager) Change 3356127 on 2017/03/21 by Richard.Hinckley #jira UEDOC-4711 Updated an invalid/old URL in a comment to a valid/current URL. Change 3356193 on 2017/03/21 by Marc.Audy Temporarily remove editor only properties in FCameraFocusSettings until we correctly no longer create pins for struct properties that are not exposed to blueprints #jira UE-43420 Change 3356222 on 2017/03/21 by Marc.Audy Expose new attenuation settings to blueprints to resolve cook warnings. Change 3356286 on 2017/03/21 by Richard.Hinckley #jira UEDOC-4711 Selected a different URL for the update. Change 3356339 on 2017/03/21 by Marc.Audy Delete unconnected return nodes to fix fortnite cook warnings Change 3356827 on 2017/03/21 by Ben.Zeigler Explicitly disable copy operations for streamable manager objects. This may be causing some obscure crashes like WEX-5182 but I am not sure how the copy constructor would be getting called. Either way it's unsafe Put in protection against passing in duplicate items to RequestAsyncLoad, which is another possible cause of internal data corruption Add some more ensures to track down possible issues with handle corruption Change 3356920 on 2017/03/21 by Ben.Zeigler Fix ensure just checked in to not go off when handles are halfway through being cancelled Change 3358152 on 2017/03/22 by Phillip.Kavan #jira UE-43102 - Fix an occasional crash on load in nativized EDL-enabled builds with non-nativized child BPs. Change summary: - Modified AActor::PostLoadSubobjects() to skip the CheckAndApplyComponentTemplateOverrides() call in the CDO case; at that point the ICH may not be fully loaded, but we don't require the non-nativized child BP's CDO to be fixed up anyway. [CL 3358685 by Marc Audy in Main branch]
2017-03-22 12:57:30 -04:00
#include "EdGraph/EdGraphPin.h" // for FEdGraphPinReference
#include "EdGraph/EdGraph.h"
#include "EdGraph/EdGraphSchema.h"
Copying //UE4/Dev-Build to //UE4/Dev-Main (Source: //UE4/Dev-Build @ 3209340) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3209340 on 2016/11/23 by Ben.Marsh Convert UE4 codebase to an "include what you use" model - where every header just includes the dependencies it needs, rather than every source file including large monolithic headers like Engine.h and UnrealEd.h. Measured full rebuild times around 2x faster using XGE on Windows, and improvements of 25% or more for incremental builds and full rebuilds on most other platforms. * Every header now includes everything it needs to compile. * There's a CoreMinimal.h header that gets you a set of ubiquitous types from Core (eg. FString, FName, TArray, FVector, etc...). Most headers now include this first. * There's a CoreTypes.h header that sets up primitive UE4 types and build macros (int32, PLATFORM_WIN64, etc...). All headers in Core include this first, as does CoreMinimal.h. * Every .cpp file includes its matching .h file first. * This helps validate that each header is including everything it needs to compile. * No engine code includes a monolithic header such as Engine.h or UnrealEd.h any more. * You will get a warning if you try to include one of these from the engine. They still exist for compatibility with game projects and do not produce warnings when included there. * There have only been minor changes to our internal games down to accommodate these changes. The intent is for this to be as seamless as possible. * No engine code explicitly includes a precompiled header any more. * We still use PCHs, but they're force-included on the compiler command line by UnrealBuildTool instead. This lets us tune what they contain without breaking any existing include dependencies. * PCHs are generated by a tool to get a statistical amount of coverage for the source files using it, and I've seeded the new shared PCHs to contain any header included by > 15% of source files. Tool used to generate this transform is at Engine\Source\Programs\IncludeTool. [CL 3209342 by Ben Marsh in Main branch]
2016-11-23 15:48:37 -05:00
class SGraphPanel;
class UEdGraph;
class UEdGraphSchema;
Copying //UE4/Dev-Build to //UE4/Dev-Main (Source: //UE4/Dev-Build @ 3209340) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3209340 on 2016/11/23 by Ben.Marsh Convert UE4 codebase to an "include what you use" model - where every header just includes the dependencies it needs, rather than every source file including large monolithic headers like Engine.h and UnrealEd.h. Measured full rebuild times around 2x faster using XGE on Windows, and improvements of 25% or more for incremental builds and full rebuilds on most other platforms. * Every header now includes everything it needs to compile. * There's a CoreMinimal.h header that gets you a set of ubiquitous types from Core (eg. FString, FName, TArray, FVector, etc...). Most headers now include this first. * There's a CoreTypes.h header that sets up primitive UE4 types and build macros (int32, PLATFORM_WIN64, etc...). All headers in Core include this first, as does CoreMinimal.h. * Every .cpp file includes its matching .h file first. * This helps validate that each header is including everything it needs to compile. * No engine code includes a monolithic header such as Engine.h or UnrealEd.h any more. * You will get a warning if you try to include one of these from the engine. They still exist for compatibility with game projects and do not produce warnings when included there. * There have only been minor changes to our internal games down to accommodate these changes. The intent is for this to be as seamless as possible. * No engine code explicitly includes a precompiled header any more. * We still use PCHs, but they're force-included on the compiler command line by UnrealBuildTool instead. This lets us tune what they contain without breaking any existing include dependencies. * PCHs are generated by a tool to get a statistical amount of coverage for the source files using it, and I've seeded the new shared PCHs to contain any header included by > 15% of source files. Tool used to generate this transform is at Engine\Source\Programs\IncludeTool. [CL 3209342 by Ben Marsh in Main branch]
2016-11-23 15:48:37 -05:00
struct FEdGraphEditAction;
struct FGraphContextMenuArguments;
struct FNotificationInfo;
struct Rect;
struct FToolMenuSection;
class UGraphNodeContextMenuContext;
/** Struct used for generically aligning nodes */
struct FAlignmentData
{
FAlignmentData(UEdGraphNode* InNode, int32& InTargetProperty, float InTargetOffset)
: Node(InNode), TargetProperty(InTargetProperty), TargetOffset(InTargetOffset)
{}
/** The node to position */
UEdGraphNode* Node;
/** The property within the node to read/write */
int32& TargetProperty;
/** The offset from the property to consider for alignment */
float TargetOffset;
/** Get the destination target from this alignment data (property + offset) */
float GetTarget() const
{
return float(TargetProperty) + TargetOffset;
}
};
enum class EAlignType : uint8
{
Minimum, Middle, Maximum
};
/** Helper class for aligning nodes */
struct FAlignmentHelper
{
/** Construct from a graph editor, an orientation, and an alignment type */
FAlignmentHelper(TSharedRef<SGraphEditor> InGraphEditor, EOrientation InOrientation, EAlignType InAlignType)
: GraphEditor(MoveTemp(InGraphEditor))
{
// We align to the node that was clicked on, if available (not when invoked from a key shortcut)
CardinalNode = GraphEditor->GetGraphNodeForMenu();
Orientation = InOrientation;
AlignType = InAlignType;
// Collect all the alignment data for all the selected nodes
for (UObject* It : GraphEditor->GetSelectedNodes())
{
if (UEdGraphNode* Node = Cast<UEdGraphNode>(It))
{
AlignmentData.Add(GetAlignmentDataForNode(Node));
}
}
// Sort the data based on target - important for future algorithms
AlignmentData.Sort([](const FAlignmentData& A, const FAlignmentData& B) {
return A.GetTarget() < B.GetTarget();
});
}
/** Align all the nodes */
void Align()
{
if (AlignmentData.Num() > 1)
{
UEdGraph* Graph = AlignmentData[0].Node->GetGraph();
if (Graph)
{
const UEdGraphSchema* Schema = Graph->GetSchema();
if (Schema)
{
float Target = DetermineAlignmentTarget();
for (FAlignmentData& Entry : AlignmentData)
{
int32 TargetProperty = Target - Entry.TargetOffset;
FVector2D TargetPosition(Entry.Node->NodePosX, Entry.Node->NodePosY);
if (Orientation == EOrientation::Orient_Horizontal)
{
TargetPosition.X = TargetProperty;
}
else
{
TargetPosition.Y = TargetProperty;
}
Schema->SetNodePosition(Entry.Node, TargetPosition);
}
}
}
}
}
private:
/** Collect alignment data for a given node, based on our settings */
FAlignmentData GetAlignmentDataForNode(UEdGraphNode* Node);
/** Determine the horizontal/vertical position that all nodes should align to */
float DetermineAlignmentTarget()
{
if (CardinalNode)
{
return GetAlignmentDataForNode(CardinalNode).GetTarget();
}
if (AlignType == EAlignType::Minimum)
{
float Target = TNumericLimits<float>::Max();
for (const FAlignmentData& Entry : AlignmentData)
{
Target = FMath::Min(Target, Entry.GetTarget());
}
return Target;
}
else if (AlignType == EAlignType::Maximum)
{
float Target = TNumericLimits<float>::Lowest();
for (const FAlignmentData& Entry : AlignmentData)
{
Target = FMath::Max(Target, Entry.GetTarget());
}
return Target;
}
else
{
// Use the mean
float SumTotal = 0.f;
for (const FAlignmentData& Entry : AlignmentData)
{
SumTotal += Entry.GetTarget();
}
return SumTotal / AlignmentData.Num();
}
}
/** The graph editor */
TSharedRef<SGraphEditor> GraphEditor;
/** Whether we are aligning horizontally/vertically */
EOrientation Orientation;
/** Whether we are aligning to the minimum/middle/maximum bounds */
EAlignType AlignType;
/** The cardinal node that all other nodes should align to (possibly null) */
UEdGraphNode* CardinalNode;
/** Generated alignment data */
TArray<FAlignmentData> AlignmentData;
};
/////////////////////////////////////////////////////
// SGraphEditorImpl
class SGraphEditorImpl : public SGraphEditor
{
public:
SLATE_BEGIN_ARGS( SGraphEditorImpl )
: _AdditionalCommands( TSharedPtr<FUICommandList>() )
, _IsEditable(true)
, _DisplayAsReadOnly(false)
{}
SLATE_ARGUMENT(TSharedPtr<FUICommandList>, AdditionalCommands)
SLATE_ATTRIBUTE( bool, IsEditable )
SLATE_ATTRIBUTE( bool, DisplayAsReadOnly )
SLATE_ARGUMENT( TSharedPtr<SWidget>, TitleBar )
SLATE_ATTRIBUTE( FGraphAppearanceInfo, Appearance )
SLATE_ARGUMENT( UEdGraph*, GraphToEdit )
SLATE_ARGUMENT( UEdGraph*, GraphToDiff )
SLATE_ARGUMENT(SGraphEditor::FGraphEditorEvents, GraphEvents)
SLATE_ARGUMENT(bool, AutoExpandActionMenu)
SLATE_EVENT(FSimpleDelegate, OnNavigateHistoryBack)
SLATE_EVENT(FSimpleDelegate, OnNavigateHistoryForward)
/** Show overlay elements for the graph state such as the PIE and read-only borders and text */
SLATE_ATTRIBUTE(bool, ShowGraphStateOverlay)
SLATE_END_ARGS()
void Construct( const FArguments& InArgs );
private:
TSharedPtr< FUICommandList > Commands;
mutable TSet<UEdGraphNode*> SelectedNodeCache;
/** The panel contains the GraphNode widgets, draws the connections, etc */
SOverlay::FOverlaySlot* GraphPanelSlot;
TSharedPtr<SGraphPanel> GraphPanel;
TSharedPtr<SWidget> TitleBar;
Copying //UE4/Dev-Framework to //UE4/Dev-Main (Source: //UE4/Dev-Framework @ 3358467) #rb none #lockdown Nick.Penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 3297108 on 2017/02/10 by Mieszko.Zielinski Added AISight's peripherial vision angle claming as well as marked up UI to not allow values from outside of [0,180] range #UE4 #jira UE-41114 Change 3299467 on 2017/02/13 by Marc.Audy Don't try to update active sounds on audio thread if the audio component is not active. If these functions are callled from a constructor on an async loading thread it can cause a crash Change 3300692 on 2017/02/13 by Marc.Audy no auto Change 3301424 on 2017/02/14 by Marc.Audy Handle gateway expansion before the node matching loop #jira UE-41858 Change 3301547 on 2017/02/14 by Marc.Audy PR #3246: Added BindDelegate that supports functions with custom (static) arguments (Contributed by PhoenixBlack) #jira UE-41926 Change 3301557 on 2017/02/14 by Marc.Audy When passing null to Rename for the new name, maintain the OldName is possible #jira UE-41937 Change 3301676 on 2017/02/14 by Marc.Audy Fix pending occlusion async traces from crashing during shutdown #jira UE-41939 Change 3302705 on 2017/02/14 by Mieszko.Zielinski Removed 'PRAGMA_DISABLE_OPTIMIZATION' uccurences from AIModule #UE4 Change 3302898 on 2017/02/14 by Dan.Oconnor Fix double negative Change 3302954 on 2017/02/14 by Dan.Oconnor Make sure we use a good version of the class Change 3302977 on 2017/02/14 by Dan.Oconnor Optimization in reinstancer turned back on - 3302898 has fixed the regression Change 3302984 on 2017/02/14 by Dan.Oconnor Relink classes that were not recompiled in a wave of the compilation manager - currently only happens for data only blueprints. This fixes issues in Odin when using the compilation manager Change 3303824 on 2017/02/15 by Richard.Hinckley Updating URL for FABRIK system information. Change 3304284 on 2017/02/15 by Dan.Oconnor Build fix Change 3304297 on 2017/02/15 by Dan.Oconnor Shadow variable fix Change 3304465 on 2017/02/15 by Lukasz.Furman fixed handling pathfollowing's requests by FloatingPawnMovement #jira UE-41884 Change 3305031 on 2017/02/15 by Marc.Audy All objects should get PostLoadSubobjects calls, regardless of whether they are outered to a CDO or not #jira UE-41708 Change 3305505 on 2017/02/15 by Michael.Noland Blueprints: Fix a crash when opening a BP with a parent class that no longer exists (unguarded access to the parent class) Change 3305506 on 2017/02/15 by Michael.Noland QAGame: Created some assets that reference a non-existent type to test 'gracefully' handling missing native class types Change 3306091 on 2017/02/16 by Marc.Audy PR #3263: Fixed duplicate comment from OnAudioFinished (Contributed by FrostByteGER) #jira UE-42027 Change 3306574 on 2017/02/16 by Marc.Audy Linked To pins can belong to invalid nodes and fail to load, this shouldn't be considered fatal Change 3307160 on 2017/02/16 by Marc.Audy Rename(null, null ... is sometimes used to just force a name out of the way, so in that case don't try and maintain old name. Change 3307982 on 2017/02/16 by Michael.Noland QAGame: Added another test asset for missing classes (this time a missing node class placed in a BP) Change 3308097 on 2017/02/16 by Michael.Noland Graph Editor: Instantly clear GraphNodeForMenu and GraphPinForMenu as soon as the menu is dismissed, fixing crashes and other odd issues after deleting pins #jira UE-41789 Change 3308303 on 2017/02/16 by Dan.Oconnor Make sure we don't call GetDefaultObject while compiling on a non-native class Change 3308850 on 2017/02/17 by Mieszko.Zielinski Fully exposed NavModifierVolume as ENGINE_API #UE4 Change 3309624 on 2017/02/17 by Phillip.Kavan [UE-40443] Recursively emit ctor initialization code for nested default subobjects when nativizing a Blueprint class. change summary: - modified FEmitDefaultValueHelper::OuterGenerate() to recursively detect and handle nested default subobjects. #jira UE-40443 Change 3310475 on 2017/02/17 by Dan.Oconnor Split bluepint compilation into CompileClassLayout and CompileFunctions, fix class hierarchy after creating reinstancers in blueprintcompilation manager. Together this means we don't need to run RecompileBlueprintBytecode Change 3310487 on 2017/02/17 by Dan.Oconnor Fix build error missed by preflgiht Change 3310497 on 2017/02/17 by Dan.Oconnor More build fixes for things missed by preflight... Change 3310635 on 2017/02/17 by Dan.Oconnor Remove unused parameter and add comment to blueprint compilation manager explaining abuse of bBeingCompiled Change 3310639 on 2017/02/17 by Dan.Oconnor Shadow variable fixes, not sure why these are being detected now Change 3311855 on 2017/02/20 by Marc.Audy Fix UChildActorComponent::ParentComponent being null on the client #jira UE-42140 Change 3312444 on 2017/02/20 by Marc.Audy Add a bAutoDestroy pin to BP Spawn Sound and Force Feedback nodes to allow users to reuse the created component #jira UE-41267 Change 3312691 on 2017/02/20 by mason.seay Deleting map now that bug has been fixed Change 3312709 on 2017/02/20 by Phillip.Kavan [UE-39705] Fix broken collision shapes when cooking with optimized BP component data option. change summary: - modified FComponentInstancingDataUtils::RecursivePropertyGather() to exclude deprecated properties, since they won't be serialized on save. - modified FBlueprintCookedComponentInstancingData::LoadCachedPropertyDataForSerialization() to remove the PPF_UseDeprecatedProperties flag (these are no longer included in the delta). - modified UBlueprintGeneratedClass::CheckAndApplyComponentTemplateOverrides() to remove the PPF_UseDeprecatedProperties flag (was being incorrectly used here). - modified AActor::CreateComponentFromTemplateData() to remove the PPF_UseDeprecatedProperties flag (was being incorrectly used here; this caused deprecated property defaults to be copied out to the instance). - modified AActor::CreateComponentFromTemplateData() to append RF_PostLoad/RF_NeedPostLoadSubobjects and call PostDuplicate()/ConditionalPostLoad() on the new instance (needed to mirror what SDO does in the unoptimized case - for proper physics RB setup specifically, but may be other areas where that's needed). #jira UE-39705 Change 3313161 on 2017/02/20 by Mieszko.Zielinski PR #3272: Use Pawn for GetNavAgentPropertiesRef(). (Contributed by drelidan7) Change 3314151 on 2017/02/21 by Mieszko.Zielinski fix to hlods complaining about missing nav collision in cooked builds #UE4 Made sure hlod-generated StaticMeshes are marked as not having navigation data #jira UE-42034 Change 3314355 on 2017/02/21 by Marc.Audy Set error message back to be correctly about mobility #jira UE-42209 Change 3314566 on 2017/02/21 by Phillip.Kavan [UE-40801] Switch to an ensure() to potentially help diagnose a one-off assertion crash in the SCS editor if encountered again in a future release. #jira UE-40801 Change 3315459 on 2017/02/21 by Mike.Beach Updated marquee selection in graph editors. Ctrl dragging now inverts nodes' selection state (not only deselects them - holding alt is now for only deselection). #jira UE-16359 Change 3315546 on 2017/02/21 by Mike.Beach Mirroring CL 3294552 Count "GeneratedStub" as a success for cooked file generation - ensures the saved asset gets recorded in the asset registry. #jira ODIN-5869 Change 3315554 on 2017/02/21 by Mike.Beach Do not generate NativizedAsset plugin files if no Blueprints were nativized (cut down on mod generate/cook time). #jira ODIN-6211 Change 3317225 on 2017/02/22 by mason.seay Enable Net Use Owner Frequency on blueprints. This allows the client to use different weapons. Doesn't fix UE-42017 though. Change 3317495 on 2017/02/22 by Marc.Audy Expose raw input device configurations to other modules by request #jira UE-42204 Change 3319966 on 2017/02/23 by Nick.Atamas Polished up the material reroute node: - Removed some unnecessary widgets - Centered the pin node Change 3320099 on 2017/02/23 by Mike.Beach Guarding against passing self pins to referance parameters (it is not a property that is referencable, and would crash). Notifying the user through pin connection messages, and providing a script exception. #jira UE-40861 Change 3321227 on 2017/02/24 by Marc.Audy Just use name rather than going Name -> String -> TCHAR -> Name Change 3321425 on 2017/02/24 by Marc.Audy Minor optimizations to avoid string construction when doing StaticFindObject and ResolveName Change 3321630 on 2017/02/24 by Mike.Beach Removing reference notation from actor pointer param - allowing you to pass 'self' to Blueprint exposed function. Change 3321845 on 2017/02/24 by Lukasz.Furman fixed navlink processor trace accepting only components with WorldStatic object type #ue4 Change 3322474 on 2017/02/24 by Aaron.McLeran UE-42345 Rewriting thumbnail renderer Change 3322490 on 2017/02/24 by Aaron.McLeran UE-42345 Forgot to take abs of sample before averaging Change 3323562 on 2017/02/27 by Mike.Beach Fixing bad merge, copying loop from //UE4/Main that accidently got replaced. Change 3323685 on 2017/02/27 by Mike.Beach Preventing us from cross-binding editor & PIE actors when we fixup level script actor bindings (on duplicate for PIE). #jira UE-30816 Change 3323776 on 2017/02/27 by Marc.Audy Coding standard clean up pass Change 3324050 on 2017/02/27 by Ben.Zeigler Fix issue with a StreamableHandle being cancelled while in progress leaving the in progress flag active. Added and improved error messages when streaming goes wrong Port of 3317217, 3315540, and 3314374 from UE4-Fortnite Change 3324294 on 2017/02/27 by Ben.Zeigler Engine changes needed to support "Asset Management" UI: Add concept of "Manage" dependency to the Asset Registry, to represent that an asset like a texture is managed by a Primary Asset. This will be used to compute usage statistics and chunking Add ability for AssetManager to override the PrimaryAssetType/Id on a asset data loaded off disk. Needed so the asset audit tools work properly Significant performance improvements to the asset registry dependency gather, and correctly report as in progress while dependencies are still being gathered. On Fortnite it now finishes in 10 seconds instead of 100 Add bUpdateDiskCacheAfterLoad option for the asset registry, if true (default) this will update the Asset Registry's disk cache when an object is loaded, only in the editor. This is so changes made in PostLoad are correctly mirrored in the disk cache Add PrimaryAssetType as a wrapper struct around FName to allow customizations and blueprint usage, clean up the noexport definitions for a few related classes Add Asset Manager code to create and query "Manage" references used for auditing and chunking Add code to read AssetManager scanning rules out of the AssetManagerSettings object, also settable in editor Made it so UWorlds are now PrimaryAssets of the type Map, and enable the AssetManager by default for all games Port of CL #3323720 and related fixes from Fortnite Change 3324295 on 2017/02/27 by Ben.Zeigler Add AssetManagerEditor which contains the editor interface for the AssetManager system, and engine code needed to support it Add support for Management references to the Reference Viewer, and add ability to extend that context menu from plugins/games Add struct customizations for PrimaryAssetId and PrimaryAssetType Add AssetAuditBrowser window that shows a specialized asset picker for auditing, accessible from content browser, reference viewer, and main windows pane Add AssetAuditContext, which is a cleaned up port of the one from Paragon. This needs some more work before being final Expose PropertyCustomizationHelpers::MakePropertyComboBox which allows making an "enum-like" combo box for struct customizations, it now works much like the PropertyEditorAsset UI Add Custom Column support to AssetView/AssetPicker. This can be used to show runtime-generated column data Fix bug in SAssetView where column view did not work with a filter predicate, because the column view was generated before the deferred filter predicate run, leading to an empty filter Port of CL #3323722 and related fixes from Fortnite Change 3324398 on 2017/02/27 by Ben.Zeigler CIS fix Change 3324442 on 2017/02/27 by Ben.Zeigler Nonunity fix discovered while testing my nonunity fix Change 3325465 on 2017/02/28 by Marc.Audy Expand RawInput to support up to 20 buttons Change 3325468 on 2017/02/28 by Marc.Audy Fix CIS Change 3325887 on 2017/02/28 by Phillip.Kavan [UE-41893] Implicitly nativize child Blueprints that override one or more BlueprintCallable functions from a parent Blueprint. change summary: - added FBlueprintEditorUtils::ShouldNativizeImplicitly() - modified FBlueprintGlobalOptionsDetails::IsNativizeEnabled() to disable the 'Nativize' checkbox when the BP is implicitly enabled - modified FBlueprintGlobalOptionsDetails::GetNativizeState() to set the 'Checked' state when the BP is implicitly enabled - modified FBlueprintGlobalOptionsDetails::GetNativizeTooltip() to set an alternate tooltip for the disabled state (when the BP is implicitly enabled) - modified FBlueprintNativeCodeGenModule::IsTargetedForReplacement() to ensure that implicitly-enabled BPs are flagged as selected for nativization #jira UE-41893 Change 3326713 on 2017/02/28 by Marc.Audy Update MAX_NUM_CONTROLLER_BUTTONS to match number of keys created Change 3327688 on 2017/03/01 by Marc.Audy Fix spelling, remove autos Change 3328139 on 2017/03/01 by Marc.Audy Win32 doesn't report the DeviceData in the same way that Win64 does, removing filtered check for now so that Win32 packaged games can use RawInput (4.15.1) #jira UE-42375 Change 3328550 on 2017/03/01 by Mike.Beach Typo fix in cast node tooltip. Change 3328575 on 2017/03/01 by Nicholas.Blackford Submitting Tick Interval Functional Test Change 3328972 on 2017/03/02 by Jack.Porter Fix for crash entering Landscape mode #jira UE-42497 Change 3329224 on 2017/03/02 by Nick.Bullard Removing Redirector from EngineTest project Change 3330093 on 2017/03/02 by Mike.Beach Modified fix from Marc.Audy - Guarding against malformed graphs (missing their schema), which can happen in the middle of an undo transaction (removing the graph). Returning the graph's path name in this situation (instead of the display name), so we atleast have some semblance of context. #jira UE-42166 Change 3330306 on 2017/03/02 by Mike.Beach Replacing ArrayLibrary Get() calls in blueprints with a custom node, which can be toggled back and forth from returning by reference or by value. #jira UE-6451 Change 3330626 on 2017/03/02 by samuel.proctor Functional Test for Blueprint Containers Change 3330690 on 2017/03/02 by Mike.Beach Modified the fix from CL 3308097 - cannot clear the edgraph pin context since many menu actions expect it be available still as the menu is clossing (menu's dismiss gets triggered before the action is executed). #jira UE-42500 Change 3330704 on 2017/03/02 by Mike.Beach CIS fix - fallout from CL 3330306 Change 3330875 on 2017/03/02 by Dan.Oconnor Iteration on compile manager - removed skeleton compile pass in favor of FastGenerateSkeletonClass (directly generate reflection data from blueprint source data - no graph cloning) Change 3330892 on 2017/03/02 by Mike.Beach CIS fix for linux builds - include filename is case sensitive. Change 3331585 on 2017/03/03 by Mike.Beach Fix for CIS issues (fallout from CL 3330306) - had success/failure return value flipped. Spuriously failing on deprecated node fixup. Change 3333455 on 2017/03/06 by Ben.Zeigler Cleaned up version of CL #3332060, fixes crashes when calling StreamableManager::SynchronousLoad from inside a async PostLoad callback Also disable the "do sync load as async load" code in EDL, as EDL basically already does that internally Move the recursion guard inside async load tick outside of the EDL section, it's just as unsafe with EDL off Change 3333484 on 2017/03/06 by Ben.Zeigler #jira UE-42312 Fix crash trying to read Searchable Name references to objects in the same package, now guess at package/object name Change 3333553 on 2017/03/06 by Ben.Zeigler #jira UE-42387 Don't write out empty generated ini files for config files that are empty in both source and destination, this stops plugins without configs from ending up in cache Change 3333697 on 2017/03/06 by Mike.Beach Resolving some CIS errors - fix for missed handling of split-struct pins (fallout from CL 3330306) on deprecated node conversion (mapping old pins to new pins). Change 3334047 on 2017/03/06 by Ben.Zeigler #jira UE-42587 Now that we handle Add gameplay cues correctly by deferring them until after load, we also need to handle Remove cues, to avoid cues being stuck on permanently. Change 3334228 on 2017/03/06 by Ben.Zeigler #jira UE-42153 Fix several crashes with gameplay tag query structs #jira UE-39760 Fix it to display tag query description on creation Change 3335221 on 2017/03/07 by Lukasz.Furman fixed compilation errors for macros: UE_VLOG_MESH, UE_CVLOG_MESH #ue4 Change 3335733 on 2017/03/07 by dan.reynolds Fixing Attenuation Shape Material Reference Change 3335918 on 2017/03/07 by Mike.Beach More deeply nesting an active world check in UMeshComponent::CacheMaterialParameterNameIndices(). Only guarding the parts that use the world (prior to this, we were blocking material parameter discovery, which was causing cooked content to loose material settings). #jira UE-42480 Change 3336053 on 2017/03/07 by zack.letters Moved and renamed test to meet naming convention and proper location Change 3336087 on 2017/03/07 by Phillip.Kavan [UE-18618] Fix an ensure() misfire on PIE exit for listen server mode. change summary: - Modified UWorld::TransferBlueprintDebugReferences() to allow the LevelScript BP's target debug object reference to be reset to NULL when CreatePIEWorldBySavingToTemp() has recompiled it during the PIE startup process and autosaved the BP as a temporary. #jira UE-18618 Change 3336118 on 2017/03/07 by Phillip.Kavan Ensure that BP class component templates are included as preload dependencies where appropriate. Change 3336418 on 2017/03/07 by Marc.Audy Set the PIEInstanceID before calling ConvertToPIEPackageName (4.15.1) #jira UE-42507 Change 3336529 on 2017/03/07 by dan.reynolds AEOverview UMG Interface Change 3336729 on 2017/03/07 by Michael.Noland Blueprints: Changed a checkSlow() followed by unguarded access to an if and ensure() in BlueprintActionFilterImpl::IsDeprecated to prevent a potential crash in release if the node class is invalid for some reason #jira UE-42519 Change 3337054 on 2017/03/08 by Mieszko.Zielinski Fixed UGameplayTaskResource::AutoResourceID getting cleared on hot reload #UE4 Change 3337605 on 2017/03/08 by Mieszko.Zielinski PR #3345: Fix reversed comparison in FGameplayResourceSet::HasAllIDs (Contributed by hoelzl) Change 3337612 on 2017/03/08 by Lina.Halper Commenting out ensure as this doesn't cause any harm and fix it up later by itself. - adding ticket for further investigation #rb: Martin.Wilson #jira: UE-42062 Change 3338353 on 2017/03/08 by Mike.Beach Undoing CL 3320099, and instead allowing self nodes to be plugged into const ref inputs. Now auto-generating ref terms for the self node (the input param expects an addressable UProperty). Skipping this for native functions, as UHT already does something similar. #jira UE-40861 Change 3340052 on 2017/03/09 by Marc.Audy Don't mark a blueprint dirty if the default value isn't actually set #jira UE-42511 Change 3340211 on 2017/03/09 by samuel.proctor Adding TMap/TSet tests for Containers Functional Test Change 3340272 on 2017/03/09 by Marc.Audy auto removals small optimizations Change 3340341 on 2017/03/09 by Marc.Audy Fortnite fixes for blueprint exposed editor only struct members #jira UE-42430 Change 3340356 on 2017/03/09 by Marc.Audy Do not allow blueprint exposed editor only struct members #jira UE-42430 Change 3340369 on 2017/03/09 by Mike.Beach Certain operations expect set/map elements to be constructed, instead of using an 'uninitialized' value (like with FStrings, previously this would blow up attempting to assign a value to an FString that hadn't been constructed). Fix is to construct the member when we make space in the container (emulating execSetArray). #jira UE-42572 Change 3340445 on 2017/03/09 by mason.seay Renamed and updated test map. Also disabled tests until reviewed Change 3340627 on 2017/03/09 by Marc.Audy Remove autos Change 3340639 on 2017/03/09 by Dan.Oconnor Avoid CDO creation when asking if an object IsDefaultSubobject Change 3340642 on 2017/03/09 by Marc.Audy Correctly maintain removed items from arrays when duplicating actors via T3D #jira UE-42278 Change 3340689 on 2017/03/09 by Dan.Oconnor Avoid UObject::Modify calls when renaming edgraph nodes as part of UEdGraphNode::PostLoad() or UEdGraph::MoveNodesToAnotherGraph Change 3340709 on 2017/03/09 by Dan.Oconnor Remove misplace dClassDefaultObject null check for now Change 3340710 on 2017/03/09 by Dan.Oconnor Avoid FindRedirectedPropertyName when performing StaticDuplicateObject Change 3340728 on 2017/03/09 by Dan.Oconnor Null checking CDO so that we can duplicate a class with no CDO Change 3342184 on 2017/03/10 by mason.seay Nav mesh generation test - not finished Change 3342930 on 2017/03/13 by Mieszko.Zielinski Added missing undefining of local macros in VisualLoggerAutomationTests.cpp #UE4 Change 3343739 on 2017/03/13 by Marc.Audy Protect against ChildActorClass becoming null while ChildActorTemplate remains valid. Change 3343758 on 2017/03/13 by Marc.Audy Ensure that when you change visibility, children also get marked dirty as needed. SetVisibility is no longer virtual, use OnVisibilityChanged in subclasses instead #jira UE-42240 Change 3343816 on 2017/03/13 by Mike.Beach Making sure we build CrashReporter for nativized clients. #jira UE-42056 Change 3343858 on 2017/03/13 by Phillip.Kavan Back out changelist 3336118 (per discussion) - did not solve the issue. Change 3344218 on 2017/03/13 by Mike.Beach Patching some holes in the wildcard pin logic for our new array GetItem node (making sure the node properly retains its type). Change 3344388 on 2017/03/13 by Mike.Beach Preventing make/break nodes from being in the context menu for structs that are not labeled 'BlueprintType' (still available if you drag off a node with a struct pin of that type). #jira UE-37971 Change 3344411 on 2017/03/13 by dan.reynolds AEOverviewMain update - Organized Variables - Added comments on level interface with UI script Change 3344956 on 2017/03/14 by Marc.Audy Remove autos Slight optimization Change 3345365 on 2017/03/14 by Mike.Beach In the Blueprint diff tool, no longer assuming that graph names are unique (using the outer path to find matching graphs between diff panels). #jira UE-42787 Change 3345565 on 2017/03/14 by Marc.Audy auto removal Change 3345654 on 2017/03/14 by Marc.Audy Allow hierarchical metadata querying when HACK_HEADER_GENERATION is true Change 3345771 on 2017/03/14 by Zak.Middleton #ue4 - Refactored CharacterMovementComponent determination of net send rate when combining moves into a virtual function GetClientNetSendDeltaTime(). Added configurable values to GameNetworkManager under [/Script/Engine.GameNetworkManager]: ClientNetSendMoveDeltaTime=0.0111f ClientNetSendMoveDeltaTime=0.0222f ClientNetSendMoveThrottleAtNetSpeed = 10000 ClientNetSendMoveThrottleOverPlayerCount=10 These are the default values maintained for backwards compat. Related to OR-36422. Change 3346314 on 2017/03/14 by Dan.Oconnor Add two features to FBlueprintCompileReinstancer. Exposing it's CPFUO extensions and add a flag to avoid potentially unneeded CDO duplication. Change 3346329 on 2017/03/14 by Dan.Oconnor Avoid CDO creation in UBlueprintGeneratedClass::PostLoad - rely instead on compiler Change 3346436 on 2017/03/14 by Dan.Oconnor Compilation Manager iteration - improvements to reinstancing logic and postponement of reinstancing reference replacement until after loading has finished (done strictly to reduce the number of 'find references' calls). Behavior change is behind the GMinimalCompileOnLoad flag Change 3346632 on 2017/03/14 by Ben.Zeigler Change StringClassReference customization to use MustImplement and BlueprintBaseOnly metadata, to match the metadata used by SubclassOf customization Add missing Class Property metadata to the metadata list Change 3347525 on 2017/03/15 by Marc.Audy PR #3371: Fix for binding ability action to input component (Contributed by ryanjon2040) #jira UE-42810 Change 3347562 on 2017/03/15 by Phillip.Kavan [UE-32816] Support for value-based bitfield enum associations in the editor. notes: - default mode is still index-based, so there are no backwards-compatibility issues change summary: - new metadata key for flagging enums as value-based (UseEnumValuesAsMaskValuesInEditor) - modified SPropertyEditorNumeric::Construct() to include logic for handling value-based enum associations - modified SGraphPinInteger::Construct() to include logic for handling value-based enum associations - added default value fixup to UK2Node_BitmaskLiteral, so that changed/removed values get masked out on load - switched UK2Node_BitmaskLiteral::PostLoad() to Serialize(), so that default value fixup occurs before compilation #jira UE-32816 Change 3348030 on 2017/03/15 by Marc.Audy Remove experimental blueprintable components setting, they are supported fully Change 3348034 on 2017/03/15 by Phillip.Kavan CIS fix. Change 3348054 on 2017/03/15 by Marc.Audy Fix shadow error Change 3348063 on 2017/03/15 by mason.seay Updateed bp logic to use asserts. Added scenarios to descriptions of tests Change 3348131 on 2017/03/15 by mason.seay Updating maps and reorganizing content Change 3348146 on 2017/03/15 by Mike.Beach Making it so we can use DataTable variables as inputs in the GetDataTableRow node. The output pin is now a wildcard when the row type is undefined, and we throw an access error at runtime if the table and output type don't match. Change 3348213 on 2017/03/15 by dan.reynolds AEOverview UMG Update - Added level selection persistence between categories (so you can pick and choose from multiple categories) - Added a clear all selections button - Added comments to the UMG BP Change 3348344 on 2017/03/15 by Lukasz.Furman fixed missing path following result flag descriptions #ue4 Change 3348489 on 2017/03/15 by mason.seay Moved content and updated test descriptions Change 3348496 on 2017/03/15 by Mike.Beach Keeping the new version of the GetArrayItem node from causing a stack overflow with wildcard reroute nodes. Change 3348502 on 2017/03/15 by Ben.Zeigler #jira UE-42935 Fix several issues with GameplayTag and Container switch nodes crashing. Container didn't handling having multiple empty nodes correctly Fix general issue with Switch nodes where removing an execution pin with right click was not synchronizing the pin list properly Change it so the Container switch shows the simple tag string instead of Case 0, and change it to not quote by default for Container display strings Change 3348504 on 2017/03/15 by Ben.Zeigler #jira UE-41554 Add GameplayTag initialization to InitializeObjectReferences if it hasn't been initialized yet, this is important so it gets initialized before being initialized from unsafe areas like Serialize Change 3348512 on 2017/03/15 by Mike.Beach Reroute nodes connected to a new output, will propagate the type through its inputs (was previously treating the input's wildcard type as authoritative). Change 3348513 on 2017/03/15 by Phillip.Kavan [UE-38979] Error out on an attempt to nativize a Blueprint class that also implements a native C++ interface with a pure virtual function declaration. change summary: - added TIsAbstract<T> for traits testing to see if native C++ types are abstract (in terms of C++, not UE4) - changed TCppStructOps::IsAbstract() to use TIsAbstract<T> - added UClass::CppClassOps to capture class-specific traits info for the underlying C++ class type - modified UClass::PurgeClass() to clean up class-specific traits info (if valid) - modified FNativeClassHeaderGenerator::ExportNativeGeneratedInitCode() to generate code to initialize class-specific traits info for compiled-in class types - modified FBlueprintNativeCodeGenModule::IsTargetedForReplacement() to throw an error during nativization if a target BP class is found to implement a native interface class that's also abstract (i.e. an interface class that declares one or more of its methods as pure virtual) - modified BlueprintActionFilterImpl::IsExtraneousInterfaceCall() to initially exclude any native interface class that is also abstract - modified FKismetEditorUtilities::CanBlueprintImplementInterface() to additionally exclude any native class that is also abstract - modified FBlueprintInterfaceFilter::IsClassAllowed() to additionally exclude any native class that is also abstract #jira UE-38979 Change 3348651 on 2017/03/15 by Mike.Beach Fixing the new GetDataTableRow node so that it'll give you the option of reroute nodes. Change 3348684 on 2017/03/15 by Michael.Noland Blueprints: Allow string and text variables to be marked as multi-line PR #3294: UE-42147: Add multiline to BP view details (Contributed by projectgheist) #jira UE-42275 Change 3348691 on 2017/03/15 by Michael.Noland Cameras: Added support for specifying a default aspect ratio and whether or not to constrain to it in a camera manager subclass; useful when using custom view logic that doesn't source from a camera component as the view target PR #2593: Finish implementing aspect ratio handling for PlayerCameraManager (Contributed by CleanCut) #jira UE-33052 Change 3348698 on 2017/03/15 by Michael.Noland Removed a sprite reference from trigger shape classes and excluded some component references from camera rigs in cooked builds PR #2922: Ensuring editor data is not accessed when excluded from cook (Contributed by moritz-wundke) #jira UE-38484 Change 3348722 on 2017/03/15 by Dan.Oconnor Fix replacement bug - due to last minute refactor of this reference replacer call Change 3348736 on 2017/03/15 by Michael.Noland Blueprints: Added missing include for UTextProperty (compiled fine locally both with the file checked out and the file unmodified) Change 3348810 on 2017/03/15 by Michael.Noland Blueprints: Added support for seeing the user defined tooltip on get/set nodes for local variables PR #3256: UE-41098: Added UFunction argument (Contributed by projectgheist) Change 3348811 on 2017/03/15 by Michael.Noland PR #3380: Added CancelAbility Blueprint node (Contributed by ryanjon2040) #jira UE-42904 Change 3348969 on 2017/03/15 by Dan.Oconnor Build fix Change 3349023 on 2017/03/16 by Aaron.McLeran Copying //Tasks/UE4/Private-GDC17-Audio to Dev-Framework (//UE4/Dev-Framework) Change 3349389 on 2017/03/16 by mason.seay Finished up Navigation map. Improved Navmesh map (still needs some work before review) Change 3349575 on 2017/03/16 by Marc.Audy Emit ScriptMacros.h in addition to ObjectMacros.h in generated headers Change 3349628 on 2017/03/16 by Ben.Zeigler Add direct support for Chunk setting to AssetManager. If AssetManager exists and no game callback is set it uses the new, much faster method. Otherwise it falls back to the old one Fix some memory corruption issues in ChunkManifestGenerator where it was modifying a map while iterating it, could lead to assets ending up in multiple chunks accidentally Remove the "Old Cooker" entirely, it hasn't functioned since around 4.9 Various fixes to AssetManagerEditorModule Convert ShooterGame to use the AssetManager for chunking Change 3349629 on 2017/03/16 by Ben.Zeigler Change Fortnite to use the AssetManager chunking system, which simplifies the chunk 1 setup significantly Also includes changes made on Fortnite Branch as CL #3323724: Fortnite changes to take advantage of the Manage dependency in the asset manager Move definition of asset types to ini from native, and simplify it so all zone themes are scanned, even if not used Make FeedbackBank a primary asset type. It's currently editor only as there are some outdated banks we don't want to cook Change 3350043 on 2017/03/16 by Marc.Audy Fix Audio compile errors Change 3350092 on 2017/03/16 by Dan.Oconnor Fix missing output parameters when the function result node is pruned Change 3350190 on 2017/03/16 by Ben.Zeigler CIS fix Change 3350707 on 2017/03/16 by Dan.Oconnor Add means of enabling BlueprintCompilationManager via editor ini. Wedging the check into LaunchEngineLoop because of assets that are loaded during engine initialization Change 3350820 on 2017/03/16 by Joe.Conley Xenakis project: Setting GameMode to GameMode instead of None so the game doesn't crash on Play Change 3350893 on 2017/03/16 by Dan.Oconnor Build fix Change 3351017 on 2017/03/16 by Dan.Oconnor Using ordered arguments instead of named arguments improves load time in BP heavy projects Change 3351056 on 2017/03/16 by Dan.Oconnor Avoiding Copies Change 3351062 on 2017/03/16 by Dan.Oconnor Enable BlueprintCompilationManager by default - this is a major change in code path when loading uassets that contain blueprints Change 3351770 on 2017/03/17 by Marc.Audy Fix CIS warnings Change 3351818 on 2017/03/17 by Mike.Beach CopyPropertiesForUnrelatedObjects() will now only copy tagged data when the two objects truly are unrelated (different native base classes). We have to do this because the two native base classes may have different serialization methods that add/expect different data, which is not compatible with the other. #jira UE-35970 Change 3351918 on 2017/03/17 by Mike.Beach CIS fix - renaming local so it doesn't conflict with the one in the outer scope. Change 3351931 on 2017/03/17 by Ben.Zeigler Make CoreRedirects a proper Automated Test, and fix a test failure with not handling : in the output string Fix legitimate regression where doing a package -> package rename would clear Outer, this was a result of a fix I made in Main a few weeks ago Change 3351956 on 2017/03/17 by Dan.Oconnor Make sure result element is emptied when calling Intersect, Union, or Difference #jira UE-42993 Change 3352049 on 2017/03/17 by Ben.Zeigler #Jira UE-42118 Add RemoveGameplayTag to the tag blueprint library Delete (with redirector) redundant AddGameplayTagToContainer function that got accidentally added in parallel on Fortnite. Decided to keep the shorter TagContainer parameter name for both though Change 3352065 on 2017/03/17 by Aaron.McLeran Fixing compile errors - deleting unused files - removing #pragma once in SSynthKnob.cpp - Making phonon have win64 whitelist to avoid compiling on other platforms Change 3352100 on 2017/03/17 by Aaron.McLeran Fixing compile errors - Moving header file to public folder since it's used outside of module Change 3352182 on 2017/03/17 by Ben.Zeigler #jira UE-39815 Fix several issues with renaming tags in the tag settings view, it now deletes redirectors properly when renaming or making a new tag that matches an existing redirector Change 3352286 on 2017/03/17 by Ben.Zeigler #jira UE-39519 Add error messages when only one of GameMode/GameState is derived from the outdated parent classes Modified version of PR #3285: Add error log messages if the GameMode/GameState are mis-matched (Contributed by jwatte) Change 3352299 on 2017/03/17 by Ben.Zeigler #jira UE-40544 PR #3130: UE-40544: Check pause state if state change is allowed (Contributed by projectgheist) Change 3352303 on 2017/03/17 by Ben.Zeigler #jira UE-40856 Commit PR #3147: Remove unnecessary directory separator for GetSaveGamePath (Contributed by projectgheist) Remove unnecessary FString casting and in OpenGLDebugFrameDump.cpp there were FString multiplications that would never compile Change 3352320 on 2017/03/17 by Ben.Zeigler #jira UE-40087 Fix it so console keybind can be used in shipping games with console enabled Commit PR #3079: Fix ALLOW_CONSOLE define usage (Contributed by KrisRedbeard) Change 3352338 on 2017/03/17 by Ben.Zeigler #jira UE-42800 PR #3367: Made CheatManager more useful for non-FPShooters (Contributed by crumblycake) Change 3352352 on 2017/03/17 by Dan.Oconnor Emptying map instead of trying to remove an element when conversion of a value type fails - can't remove a single element until the map is rehashed #jira UE-42937 Change 3352581 on 2017/03/17 by Lukasz.Furman fixed memory leak in navmesh generators copy of CL# 3352356 #ue4 Change 3352665 on 2017/03/17 by Aaron.McLeran Fixing build error - Adding virtual destructor to FSoundWaveSoundWaveAssetActionExtender - Also renamed the class to only include SoundWave once! - Fixing static analysis warning on null deref. Change 3352685 on 2017/03/17 by Dan.Oconnor Fix for bad behavior of GetValues and GetKeys functions when there are gaps in a TMap (e.g. due to Remove calls) #jira UE-42547 Change 3352706 on 2017/03/17 by Aaron.McLeran Fixing build error Changing TSharedPtr<FSoundWaveSoundWaveAssetActionExtender> to TSharedPtr<ISoundWaveAssetActionExtensions> Change 3352708 on 2017/03/17 by Dan.Oconnor Data only and interface blueprints need SkeletonGeneratedClass set on load so that they can be used by the BlueprintEditor #jira UE-43023 Change 3352860 on 2017/03/17 by Lukasz.Furman fixed memory leak in navmesh generators copy of CL# 3352849 #ue4 Change 3352967 on 2017/03/17 by Dan.Oconnor Avoid tagging blueprints as modified while compiling with the new compilation manager. Leaving old code path unaffected, although it may benefit from this change. #jira UE-43027 Change 3352979 on 2017/03/17 by Dan.Oconnor Static analysis driven fixes #jira UE-43044 Change 3352987 on 2017/03/17 by Aaron.McLeran Fixing build error - Removing myo from other platforms, win64 only Change 3353234 on 2017/03/18 by Marc.Audy Fix Win32 build Change 3353344 on 2017/03/19 by Marc.Audy Fix cyclic includes in new Audio code Change 3353350 on 2017/03/19 by Marc.Audy Disable static analysis for myo third party code Change 3353750 on 2017/03/20 by Marc.Audy Fix additional cyclic include Change 3353926 on 2017/03/20 by Mieszko.Zielinski Made FNavAgentProperties::GetExtent return INVALID_NAVEXTENT if prop's AgentRadius is not set #UE4 This results in using FNavAgentProperties::DefaultProperties in navigation system queries to fallback to default query extent. #jira UE-18493 Change 3354249 on 2017/03/20 by Mike.Beach Raising a UHT error if you use a non-byte enum type in a Blueprint function. Blueprints currently only support uint8 enums (already an error if you tag the enum with 'BlueprintType', this error just emulates/extends that one). #jira UE-42479 Change 3354464 on 2017/03/20 by Dan.Oconnor Fix missing source path when using compilation manager Change 3354499 on 2017/03/20 by Dan.Oconnor Disable compilation manager Change 3354620 on 2017/03/20 by Ben.Zeigler #jira UE-43087 Fix crash when calling HasGPUEmitter on a Server build, this is newly an issue because it is calling GetAssetRegistryTags in more places than it used to Change 3354714 on 2017/03/20 by Michael.Noland PR #3352: Fixed issue with diffed Blueprints being searchable (Contributed by MichaelSchoell) #jira UE-42655 Change 3354718 on 2017/03/20 by Michael.Noland Engine: Change FViewport::IsGameRenderingEnabled to be static PR #3317: FViewport::IsGameRenderingEnabled (Contributed by tomix1024) #jira UE-42471 Change 3354721 on 2017/03/20 by Michael.Noland PR #3293: Made GetDefaultLocale accessible in blueprint (Contributed by derekvanvliet) #jira UE-42274 Change 3354907 on 2017/03/20 by Aaron.McLeran Fixing content in xenakis map Change 3355223 on 2017/03/20 by Ben.Zeigler #jira UE-43096 Fix crash when trying to ResolveName a path that ends in . (apparently when you LoadObject empty string, it ends up trying to load "." before giving up Change 3355297 on 2017/03/20 by Dan.Oconnor Fix incorrect flag settings from fast skeleton path.. this is part of the fix for UE-43083 Change 3355373 on 2017/03/20 by Michael.Noland PR #3222: Allow Blueprint Variables to be Readonly (Contributed by FrostByteGER) #jira UE-41640 Change 3355417 on 2017/03/20 by Ben.Zeigler Fix formatting bug where I forgot some braces Change 3355462 on 2017/03/20 by Aaron.McLeran UE-43046 Property type changed with no possible conversion Resaved asset in question Change 3355629 on 2017/03/20 by Dan.Oconnor Don't warn the user when their return node that has no pins (other than an exec pin). These return nodes cannot be deleted and connecting them does nothing. Prior to recent changes the warning never fired because the return node would be pruned and not validated. Change 3355631 on 2017/03/20 by Dan.Oconnor Fix compilation results spam in compilation manager. Scoped compiler events (e.g. BP_SCOPED_COMPILER_EVENT_STAT(EKismetCompilerStats_CompileTime);) will flush the results log if no 'event' has been started. Timing data collected via this mechanism will not be useful (can only measure entire call to ::Flush in compilation manager) Change 3356127 on 2017/03/21 by Richard.Hinckley #jira UEDOC-4711 Updated an invalid/old URL in a comment to a valid/current URL. Change 3356193 on 2017/03/21 by Marc.Audy Temporarily remove editor only properties in FCameraFocusSettings until we correctly no longer create pins for struct properties that are not exposed to blueprints #jira UE-43420 Change 3356222 on 2017/03/21 by Marc.Audy Expose new attenuation settings to blueprints to resolve cook warnings. Change 3356286 on 2017/03/21 by Richard.Hinckley #jira UEDOC-4711 Selected a different URL for the update. Change 3356339 on 2017/03/21 by Marc.Audy Delete unconnected return nodes to fix fortnite cook warnings Change 3356827 on 2017/03/21 by Ben.Zeigler Explicitly disable copy operations for streamable manager objects. This may be causing some obscure crashes like WEX-5182 but I am not sure how the copy constructor would be getting called. Either way it's unsafe Put in protection against passing in duplicate items to RequestAsyncLoad, which is another possible cause of internal data corruption Add some more ensures to track down possible issues with handle corruption Change 3356920 on 2017/03/21 by Ben.Zeigler Fix ensure just checked in to not go off when handles are halfway through being cancelled Change 3358152 on 2017/03/22 by Phillip.Kavan #jira UE-43102 - Fix an occasional crash on load in nativized EDL-enabled builds with non-nativized child BPs. Change summary: - Modified AActor::PostLoadSubobjects() to skip the CheckAndApplyComponentTemplateOverrides() call in the CDO case; at that point the ICH may not be fully loaded, but we don't require the non-nativized child BP's CDO to be fixed up anyway. [CL 3358685 by Marc Audy in Main branch]
2017-03-22 12:57:30 -04:00
FEdGraphPinReference GraphPinForMenu;
TWeakObjectPtr<UEdGraphNode> GraphNodeForMenu;
bool bResetMenuContext;
/** Info on the appearance */
TAttribute<FGraphAppearanceInfo> Appearance;
SGraphEditor::FOnFocused OnFocused;
SGraphEditor::FOnCreateActionMenu OnCreateActionMenu;
SGraphEditor::FOnCreateNodeOrPinMenu OnCreateNodeOrPinMenu;
TAttribute<bool> IsEditable;
/** Attribute for displaying the graph as read-only, which is a visual state only where IsEditable is a functional state */
TAttribute<bool> DisplayAsReadOnly;
bool bAutoExpandActionMenu;
/** Whether to show the state (read only / PIE etc) Overlay on the panel */
TAttribute<bool> ShowGraphStateOverlay;
//FOnViewChanged OnViewChanged;
TArray< TWeakPtr<SGraphEditor> > LockedGraphs;
/** Function to check whether PIE is active to display "Simulating" text in graph panel*/
EVisibility PIENotification( ) const;
/** Function to check whether we should show read-only text in the panel */
EVisibility ReadOnlyVisibility() const;
/** Returns dynamic text, meant to passively instruct the user on what to do in the graph */
FText GetInstructionText() const;
/** Function to check whether we should show instruction text to the user */
EVisibility InstructionTextVisibility() const;
/** Returns a 0.0 to 1.0 value, denoting the instruction text's fade percent */
float GetInstructionTextFade() const;
/** A dynamic tint for the instruction text (allows us to nicely fade it in/out) */
FLinearColor InstructionTextTint() const;
/** Determines the color of the box containing the instruction text */
FSlateColor InstructionBorderColor() const;
/** Notification list to pass messages to editor users */
TSharedPtr<SNotificationList> NotificationListPtr;
/** Callback to navigate backward in the history */
FSimpleDelegate OnNavigateHistoryBack;
/** Callback to navigate forward in the history */
FSimpleDelegate OnNavigateHistoryForward;
/** Invoked when a node is created by a keymap */
FOnNodeSpawnedByKeymap OnNodeSpawnedByKeymap;
public:
virtual ~SGraphEditorImpl();
void OnClosedActionMenu();
FActionMenuContent GraphEd_OnGetContextMenuFor(const FGraphContextMenuArguments& SpawnInfo);
---- Merging with SlateDev branch ---- Introduces the concept of "Active Ticking" to allow Slate to go to sleep when there is no need to update the UI. While asleep, Slate will skip the Tick & Paint pass for that frame entirely. - There are TWO ways to "wake" Slate and cause a Tick/Paint pass: 1. Provide some sort of input (mouse movement, clicks, and key presses). Slate will always tick when the user is active. - Therefore, if the logic in a given widget's Tick is only relevant in response to user action, there is no need to register an active tick. 2. Register an Active Tick. Currently this is an all-or-nothing situation, so if a single active tick needs to execute, all of Slate will be ticked. - The purpose of an Active Tick is to allow a widget to "drive" Slate and guarantee a Tick/Paint pass in the absence of any user action. - Examples include animation, async operations that update periodically, progress updates, loading bars, etc. - An empty active tick is registered for viewports when they are real-time, so game project widgets are unaffected by this change and should continue to work as before. - An Active Tick is registered by creating an FWidgetActiveTickDelegate and passing it to SWidget::RegisterActiveTick() - There are THREE ways to unregister an active tick: 1. Return EActiveTickReturnType::StopTicking from the active tick function 2. Pass the FActiveTickHandle returned by RegisterActiveTick() to SWidget::UnregisterActiveTick() 3. Destroy the widget responsible for the active tick - Sleeping is currently disabled, can be enabled with Slate.AllowSlateToSleep cvar - There is currently a little buffer time during which Slate continues to tick following any input. Long-term, this is planned to be removed. - The duration of the buffer can be adjusted using Slate.SleepBufferPostInput cvar (defaults to 1.0f) - The FCurveSequence API has been updated to work with the active tick system - Playing a curve sequence now requires that you pass the widget being animated by the sequence - The active tick will automatically be registered on behalf of the widget and unregister when the sequence is complete - GetLerpLooping() has been removed. Instead, pass true as the second param to Play() to indicate that the animation will loop. This causes the active tick to be registered indefinitely until paused or jumped to the start/end. [CL 2391669 by Dan Hertzka in Main branch]
2014-12-17 16:07:57 -05:00
//void GraphEd_OnPanelUpdated();
// SWidget interface
virtual void Tick( const FGeometry& AllottedGeometry, const double InCurrentTime, const float InDeltaTime ) override;
void FocusLockedEditorHere();
virtual FReply OnFocusReceived( const FGeometry& MyGeometry, const FFocusEvent& InFocusEvent ) override;
virtual FReply OnMouseButtonDown( const FGeometry& MyGeometry, const FPointerEvent& MouseEvent ) override;
virtual FReply OnMouseMove( const FGeometry& MyGeometry, const FPointerEvent& MouseEvent ) override;
virtual FReply OnKeyDown( const FGeometry& MyGeometry, const FKeyEvent& InKeyEvent ) override;
virtual bool SupportsKeyboardFocus() const override;
// End of SWidget interface
// SGraphEditor interface
virtual const TSet<class UObject*>& GetSelectedNodes() const override;
virtual void ClearSelectionSet() override;
virtual void SetNodeSelection(UEdGraphNode* Node, bool bSelect) override;
virtual void SelectAllNodes() override;
virtual FVector2D GetPasteLocation() const override;
virtual bool IsNodeTitleVisible( const UEdGraphNode* Node, bool bRequestRename ) override;
virtual void JumpToNode( const UEdGraphNode* JumpToMe, bool bRequestRename = false, bool bSelectNode = true ) override;
virtual void JumpToPin( const UEdGraphPin* JumpToMe ) override;
virtual UEdGraphPin* GetGraphPinForMenu() override;
virtual UEdGraphNode* GetGraphNodeForMenu() override;
virtual void ZoomToFit(bool bOnlySelection) override;
virtual bool GetBoundsForSelectedNodes( class FSlateRect& Rect, float Padding) override;
virtual bool GetBoundsForNode( const UEdGraphNode* InNode, class FSlateRect& Rect, float Padding) const override;
virtual void NotifyGraphChanged() override;
virtual TSharedPtr<SWidget> GetTitleBar() const override;
Copying //UE4/Dev-Framework to //UE4/Dev-Main (Source: //UE4/Dev-Framework @ 3967517) #rb none #lockdown Nick.Penwarden #rnx ============================ MAJOR FEATURES & CHANGES ============================ Change 3804281 by Fred.Kimberley Improve contrast on watches in blueprints. Change 3804322 by Fred.Kimberley First pass at adding a watch window for blueprint debugging. Change 3804737 by mason.seay Added some Descriptions to tests that didn't have any, and fixed some typos Change 3806103 by mason.seay Moved and Renamed Timers test map and content appropriately Change 3806164 by Fred.Kimberley Add missing property types to GetDebugInfoInternal. #jira UE-53355 Change 3806617 by Dan.Oconnor Function Terminator (and derived types) now use FMemberReference instead of a UClass/FName pair. This fixes various bugs when resolving the UFunction referenced by the function terminator #jira UE-31754, UE-42431, UE-53315, UE-53172 Change 3808541 by Fred.Kimberley Add support for redirecting user defined enums. This is in response to the following UDN thread: https://udn.unrealengine.com/questions/404141/is-is-possible-to-create-a-redirector-from-a-bluep.html Change 3808565 by mason.seay Added a few more struct tests Change 3809840 by mason.seay Renamed CharacterMovement.umap to CharacterCollision. Fixed up content to reflect this change. Change 3809847 by mason.seay Added Object Timer tests. Fixed up existing timer test to remove delay dependency Change 3811704 by Ben.Zeigler Fix issue where identical enum redirects registered to different initial names would throw an incorrect error, it's fine if the value change maps are identical Change 3811946 by Ben.Zeigler #jira UE-53511 Fix it so it is possible to set a user defined struct value back to it's default. The UDS hack in PropertyValueToString is no longer needed, but this could affect some other user struct editor operations Change 3812061 by Dan.Oconnor Stepping over or in to nodes that are expanded at compile time (e.g. event nodes, spawn actor nodes) no longer requires multiple 'steps' #jira UE-52854 Change 3812259 by Dan.Oconnor Fix asset broken by removal of an unkown enum #jira UE-51419 Change 3812904 by Ben.Zeigler Make ResolveRedirects on StreamableManager public as it can be used to validate things Change 3812958 by Ben.Zeigler #jira UE-52977 Fix crashes when binding blueprint editor commands to keys and using from invalid contexts Change 3812975 by Mieszko.Zielinski Added contraptions to catch a rare eidtor-time EQS crash #UE4 #jira UE-53468 Change 3818530 by Phillip.Kavan Fix incorrect access to nested instanced subobjects in nativized Blueprint ctor codegen. Change summary: - Modified FEmitDefaultValueHelper::HandleInstancedSubobject() to properly reference the outer and check ptr validity when creating/obtaining nested default subobjects. - Modified FEmitDefaultValueHelper::HandleClassSubobject() to better guard against code generation based on an invalid local variable name. #jira UE-52167 Change 3819733 by Mieszko.Zielinski Marked UAISenseConfig_Blueprint and UAISense_Blueprint as hidedropdown #UE4 #jira UE-15089 Change 3821776 by Marc.Audy Remove redundent code in SpawnActorFromClass that already exists in ConstructObjectFromClass parent class Change 3823851 by mason.seay Moved and renamed blueprints used for Object Reference testing Change 3824165 by Phillip.Kavan Ensure that subobject class types are constructed prior to accessing a subobject CDO in a nativized Blueprint class's generated ctor at runtime. Change summary: - Modified FFakeImportTableHelper to tag subobject class types as a preload dependency of the outer converted Blueprint class type and not of the CDO. #jira UE-53111 Change 3830309 by mason.seay Created Literal Gameplay Tag Container test Change 3830562 by Phillip.Kavan Blueprint nativization bug fixes (reviewed/taken from PR). Change summary: - Modified FSafeContextScopedEmitter::ValidationChain() to ensure that generated code calls the global IsValid() utility function on objects. - Modified FBlueprintCompilerCppBackend::EmitCreateArrayStatement() to generate a proper cast on MakeArray node inputs for enum class types. - Modified FBlueprintCompilerCppBackend::EnimCallStatementInner() to more correctly identify an interface function call site. - Modified FEmitHelper::GenerateAutomaticCast() to properly handle automatic casts of enum arrays. - (Modified from PR source) Added new FComponentDataUtils statics to consolidate custom init code generation for converted special-case component types (e.g. BodyInstance). Ties native component DSOs to the same pre/post as converted non-native component templates around the OuterGenerate() loop. - Modified FExposeOnSpawnValidator::IsSupported() to include CPT_SoftObjectReference property types. - Modified UBlueprintGeneratedClass::CheckAndApplyComponentTemplateOverrides() to no longer break out of the loop before finding additional ICH override record matches. #4202 #jira UE-52188 Change 3830579 by Fred.Kimberley Add support for turning off multiple watches at once in the watch window. #jira UE-53852 Change 3836047 by Zak.Middleton #ue4 - Dev test maps for overlaps perf tests. Change 3836768 by Phillip.Kavan Fix for a build failure that could occur with Blueprint nativization enabled and EDL disabled. This was a regression introduced in 4.18. Change summary: - Modified FEmitDefaultValueHelper::AddStaticFunctionsForDependencies() to emit the correct signature for constructing FBlueprintDependencyData elements when the EDL boot time optimization is disabled. #jira UE-53908 Change 3838085 by mason.seay Functional tests around basic blueprint functions Change 3840489 by Ben.Zeigler #jira UE-31662 Fix regression with renaming parent inherited function. It was not correctly searching the parent's skeleton class during the child's recompile so it was erroneously detecting the parent function as missing Change 3840648 by mason.seay Updated Descriptions on tests Change 3842914 by Ben.Zeigler Improve comments around stremable handle cancel/release Change 3850413 by Ben.Zeigler Fix asset registry memory reporting, track some newer fields and correctly report the state size instead of static size twice Copy of CL #3849610 Change 3850426 by Ben.Zeigler Reduce asset registry memory in cooked build by stripping out searchable names and empty dependency nodes by default Add option to strip dependency data for asset data with no tags, this was always true before but isn't necessarily safe Copy of CL #3850389 Change 3853449 by Phillip.Kavan Fix a scoping issue for local instanced subobject references in nativized Blueprint C++ code. Also, don't emit redundant assignment statements for instanced subobject reference properties. Change summary: - Consolidated FComponentDataUtils into FDefaultSubobjectData and extended FNonativeComponentData from it in order to handle both native & non-native DSO initialization codegen through a more common interface. - Exposed FEmitDefaultValueHelper::HandleInstancedSubobject() as a public API and added a 'SubobjectData' parameter to allow initialization codegen to be deferred until after all default subobjects have been mapped to local variables within the current scope. - Modified FEmitDefaultValueHelper::GenerateConstructor() to first map all default subobjects to local variables and then emit any delta initialization code for property values. - Modified FEmitDefaultValueHelper::HandleSpecialTypes() to return an empty string for an instanced reference to a default subobject. This allows us to avoid emitting initialization statements to unnecessarily reassign instances back to the same property. - Modified FEmitDefaultValueHelper::InnerGenerate() to better handle instanced references to default subobjects, ensuring that we don't emit unnecessary assignment statements and array initialization code to the converted class constructor in C++. - Fixed a few typos. #jira UE-53960 Change 3853465 by Phillip.Kavan Fix plugin module C++ source template to conform to recent public include path changes. Change 3857599 by Marc.Audy PR #4438: UE-54281: Make None a valid default value to select (Contributed by projectgheist) #jira UE-54281 #jira UE-54399 Change 3863259 by Zak.Middleton #ue4 - Save bandwidth for replicated characters by only replicating 4 byte timestamp value to clients if it's actually needed for Linear smoothing. Added option to always replicate the timestamp ("bNetworkAlwaysReplicateTransformUpdateTimestamp", default off), in case users still want this timestamp for some reason, or if smoothing mode changes dynamically and the server won't know. #jira UE-46293 Change 3863491 by Zak.Middleton #ue4 - Reduce network RPC overhead for players that are not moving. Added ClientNetSendMoveDeltaTimeStationary (default 12Hz) to supplement existing ClientNetSendMoveDeltaTime and ClientNetSendMoveDeltaTimeThrottled. UCharacterMovementComponent::GetClientNetSendDeltaTime() now uses this time if Acceleration and Velocity are zero, and the control rotation matches the last ack'd control rotation from the server. Also fixed up code default for ClientNetSendMoveDeltaTime to match default INI value. #jira UE-21264 Change 3865325 by Zak.Middleton #ue4 - Fix static analysis warning about possible null PC pointer. #jira none Change 3869828 by Ben.Zeigler #jira UE-54786 Fix it so -cookonthefly cooperates with -iterate by writing out a development asset registry Change 3869969 by mason.seay Character Movement Functional Tests Change 3870099 by Mason.Seay Submitted asset deletes Change 3870105 by mason.seay Removed link to anim blueprint to fix errors Change 3870238 by mason.seay Test map for Async Loading in a Loop Change 3870479 by Ben.Zeigler Add code to check CoreRedirects for SoftObjectPaths when saving or resolving in the editor. This is a bit slow so we don't want to do it on load We don't have any good way to know the type of a path so I check both Object and Class redirectors, which will also pickup Module renames Change 3875224 by mason.seay Functional tests for Event BeginPlay execution order Change 3875409 by mason.seay Optimized and fixed up character movement tests (because a potential bug in FunctionalTestActor is always passing a test when it can fail) Change 3878947 by Mieszko.Zielinski CIS fixes #UE4 Change 3879000 by Mieszko.Zielinski More CIS fixes #UE4 Change 3879139 by Mieszko.Zielinski Even moar CIS fixes #UE4 Change 3879742 by mason.seay Added animation to Nativization Widget asset Change 3880198 by Zak.Middleton #ue4 - CanCrouchInCurrentState() returns false when character capsule is simulating physics. #jira UE-54875 github #4479 Change 3880266 by Zak.Middleton #ue4 - Optimize UpdateCharacterStateBeforeMovement() to do cheaper tests earlier (avoid CanCrouchInCurrentState() unless necessary, now that it tests IsSimulatingPhysics() which is not trivial). #jira UE-54875 Change 3881546 by Mieszko.Zielinski *.Build.cs files clean up - removed redundant dependencies from NavigationSystem and AIModule #UE4 Change 3881547 by Mieszko.Zielinski Removed a bunch of DEPRECATED functions from the new NavigationSystem module #UE4 Removed all deprecates prior 4.15 (picked this one because I do know some licencees are still using it). Change 3881742 by mason.seay Additional crouch test to cover UE-54875 Change 3881794 by Mieszko.Zielinski Fixed a bug in FVisualLoggerHelpers::GetCategories resulting in losing verbosity information #UE4 Change 3884503 by Mieszko.Zielinski Fixed TopDown code template to make it compile after navsys refactor #UE4 #jira UE-55039 Change 3884507 by Mieszko.Zielinski Switched ensures in UNavigationSystemV1:SimpleMoveToX to error-level logs #UE4 It's an error rather than a warning because the functions no longer do anything. Making it work would require a cyclic dependency between NavigationSystem and AIModule. #jira UE-55033 Change 3884594 by Mieszko.Zielinski Added a const FNavigationSystem::GetCurrent version #UE4 lack of it was causing KiteDemo to not compile. Change 3884602 by Mieszko.Zielinski Mac editor compilation fix #UE4 Change 3884615 by Mieszko.Zielinski Fixed FAIDataProviderValue::GetRawValuePtr not being accessible from outside of AIModule #UE4 Change 3885254 by Mieszko.Zielinski Guessfix for UE-55030 #UE4 The name of NavigationSystem module was put in wrong in the IMPLEMENT_MODULE macro #jira 55030 Change 3885286 by Mieszko.Zielinski Changed how NavigationSystem module includes DerivedDataCache module #UE4 #jira UE-55035 Change 3885492 by mason.seay Minor tweaks to animation Change 3885773 by mason.seay Resaving assets to clear out warning Change 3886433 by Mieszko.Zielinski Fixed TP_TopDownBP's player controller BP to not use deprecated nav functions #UE4 #jira UE-55108 Change 3886783 by Mieszko.Zielinski Removed silly inclusion of NavigationSystemTypes.h from NavigationSystemTypes.h #UE4 Change 3887019 by Mieszko.Zielinski Fixed accessing unchecked pointer in ANavigationData::OnNavAreaAdded #UE4 Change 3891031 by Mieszko.Zielinski Fixed missing includes in NavigationSystem.cpp #UE4 Change 3891037 by Mieszko.Zielinski ContentEample's navigation fix #UE4 #jira UE-55109 Change 3891044 by Mieszko.Zielinski PR #4456: Fix bug in UAISense_Sight::OnListenerForgetsActor (Contributed by maxtunel) #UE4 Change 3891598 by mason.seay Resaving assets to clear out "empty engine version" spam Change 3891612 by mason.seay Fixed deprecated Set Text warnings Change 3893334 by Mieszko.Zielinski Fixed a bug in navmesh generation resulting in not removing layers that ended up empty after rebuilding #UE4 #jira UE-55041 Change 3893394 by Mieszko.Zielinski Fixed navmesh debug drawing to properly display octree elements with "per instance transforms" (like instanced SMs) #UE4 Also, added a more detailed debug drawing of navoctree contents (optional, but on by default). Change 3893395 by Mieszko.Zielinski Added a bit of code to navigation system's initialization that checks the enegine ini for sections refering to the moved navigation classes, and complain about it #UE4 The message is printed as an error-level log line and it says what should the offending section be renamed to. Change 3895563 by Dan.Oconnor Mirror 3895535 Append history from previous branches in source control history view #jira none Change 3896930 by Mieszko.Zielinski Added an option to tick navigation system while the game is paused #UE4 Controlled via NavigationSystemV1.bTickWhilePaused, ini- and ProjectSettings-configurable. #jira UE-39275 Change 3897554 by Mieszko.Zielinski Unified how NavMeshRenderingComponent draws navmesh and octree collision's polys #UE4 Change 3897556 by Mieszko.Zielinski Fixed what kind of nav tile bounds we're sending to nav-colliding elements when calling 'per-instance transform' delegate #UE4 #jira UE-45261 Change 3898064 by Mieszko.Zielinski Made SM Editor display AI-navigation-related whenever bHasNavigationData is set to true #UE4 #jira UE-50436 Change 3899004 by Mieszko.Zielinski Fixed UEnvQueryItemType_Actor::GetItemLocation and UEnvQueryItemType_Actor::GetItemRotation to return FAISystem::InvalidLocation and FAISystem::InvalidRotation respectively instead of '0' when hosted Actor ptr is null #UE4 Note for programmers: this changes the default behavior of this edge case. You might want to go through your code and check if you're comparing UEnvQueryItemType_Actor::GetItem*'s results to 0. Change 3901733 by Mieszko.Zielinski Made FEnvQueryInstance::PrepareContext implementations returning vectors and rotators ignore InvalidLocation and InvalidRotation (respectively) #UE4 Change 3901925 by Ben.Zeigler #jira UE-55395 Fix issue where the cooker could load asset registry caches made in -game that do not have dependency data, leading to broken cooks Change 3902166 by Marc.Audy Make ULevel::GetWorld final Change 3902749 by Ben.Zeigler Fix it so pressing refresh button in asset audit window actually refreshes the asset management database Change 3902763 by Ben.Zeigler #jira UE-55407 Fix it so editor tutorials are not cooked unless referenced, by correctly marking soft object paths imported from editor project settings as editor-only Change 3905578 by Phillip.Kavan The UX to add a new parameter on a Blueprint delegate is now at parity with Blueprint functions. #4392 #jira UE-53779 Change 3905848 by Phillip.Kavan First pass of the experimental Blueprint graph bookmarks feature. #jira UE-10052 Change 3906025 by Phillip.Kavan CIS fix. Change 3906195 by Phillip.Kavan Add missing icon file. Change 3906356 by Phillip.Kavan Moved Blueprint bookmarks enable flag into EditorExperimentalSettings for consistency with other options. Change 3910628 by Ben.Zeigler Partial fix for UE-55363, this allows references to ObjectRedirectors to be switched from parent class to a child class on load as this should always be safe This does not actually fix UE-55363 because that case is changing from UMaterial to UMaterialInstanceConstant, and those are siblings instead of parent/child Change 3912470 by Ben.Zeigler #jira UE-55586 Fix issue with saving redirected soft object paths where the export sort could accidentally cause the parent CDO to get modified between name tagging and writing exports, which is unsafe because due to delta serialization it would try to write names that were not previously tagged Change 3913045 by Marc.Audy Fix issues where recursion in to child actors wasn't being handled correctly Change 3913398 by Fred.Kimberley Fixes a misspelled name for one of the classes in the ability system. PR #4430: Fixed spelling of FGameplayAbilityInputBinds. (Contributed by IntegralLee) #github #jira UE-54327 Change 3918016 by Fred.Kimberley Ensure AllocGameplayEffectContext is being used in all cases where FGameplayeEffectContext is being created. #jira UE-52668 PR #4250: Only create FGameplayEffectContext via AbilitySystemGlobals::.AllocGameplayEffectContext (Contributed by slonopotamus) #github Change 3924653 by Mieszko.Zielinski Fixed LoadEngineClass local to UnrealEngine.cpp to check class redirects before falling back to default class instance #UE4 #jira UE-55378 Change 3925614 by Phillip.Kavan Fix ForEachEnum node to skip over hidden enum values in new placements by default. Change summary: - Added FKismetNodeHelperLibrary::ShouldHideEnumeratorIndex() as an internal-only Blueprint node support API. - Modified FForExpandNodeHelper::AllocateDefaultPins() to add a "Skip Hidden" input pin (advanced). Pin default value is false. - Added a UK2Node_ForEachElementInEnum::PostPlacedNewNode() override to set the default value of the "Skip Hidden" input pin to 'true' for all new node placements. - Modified UK2Node_ForEachElementInEnum::ExpandNode() to include additional expansion logic based on the "Skip Hidden" input pin. For new placements (i.e. when the pin defaults to 'true'), an intermediate branch node will now be inserted into the compiled execution sequence to test for "hidden" metadata on the value before executing the loop body. If the input pin is linked, another intermediate branch will be inserted into the execution sequence prior to the "hidden" metadata test. All existing placements of the node will remain as-is after compilation (i.e. no additional intermediate branch nodes will be included in the expansion). #jira UE-34563 Change 3925649 by Marc.Audy Fix up issue post merge from Main with navigation system refactor Change 3926293 by Phillip.Kavan Temp fix to unblock CIS. #jira UE-34563 Change 3926523 by Marc.Audy Ensure that a renamed Actor is in the correct Actors array #jira UE-46718 Change 3928732 by Fred.Kimberley Unshelved from pending changelist '3793298': #jira UE-53136 PR #4287: virtual additions for AttributeSet extendability (Contributed by TWIDan) #github Change 3928780 by Marc.Audy PR #4309: The display names of the functions. (Contributed by SertacOgan) #jira UE-53334 Change 3929730 by Joseph.Wysosky Submitting test assets for the new Blueprint Structure test cases Change 3931919 by Joseph.Wysosky Deleting BasicStructure asset to rest MemberVariables back to default settings Change 3931922 by Joseph.Wysosky Adding BasicStructure test asset back with default members Change 3932083 by Phillip.Kavan Fix Compositing plugin source files to conform to updated relative include path specifications. - Encountered while testing Blueprint nativization of assets with dependencies on Composure/LensDistortion APIs. Change 3932196 by Dan.Oconnor Resetting a property to default now uses the same codepath as assigning the value from the slate control #jira UE-55909 Change 3932408 by Lukasz.Furman fixed behavior tree services attached to task nodes being sometimes recognized as root level #jira nope Change 3932808 by Marc.Audy PR #4083: Change to UK2Node_BaseAsyncTask to have pin tooltips on latent nodes (Contributed by dwrpayne) #jira UE-50871 Change 3934101 by Phillip.Kavan Revise ForEachEnum node expansion logic to exclude hidden values at compile time. Change summary: - Removed UKismetNodeHelperLibrary::ShouldHideEnumeratorIndex() (no longer in use). - Modified UK2Node_ForEachElementInEnum::ExpandNode() to include an enum switch node in the expansion, which will exclude hidden values when constructed. The additional expansion will occur if the enum type contains at least one hidden value. #jira UE-34563 Change 3934106 by Phillip.Kavan Mirrored 4.19 fixes to allow for EngineTest iteration w/ nativization enabled. Change summary: - Mirrored CLs 3876918, 3878968, 3883257, 3885566, 3912161 and 3920519. Change 3934116 by Phillip.Kavan UBT: Explicitly define the DEPRECATED_FORGAME macro only for non-engine modules. Change summary: - Modified UEBuildModule.SetupPrivateCompileEnvironment() to check the 'bTreatAsEngineModule' flag from the rules assembly rather than testing the module's build type. Change 3934382 by Phillip.Kavan Avoid inclusion of monolothic engine header files in nativized Blueprint codegen. Change 3936387 by Mieszko.Zielinski Added a flag to NavModifierComponent to control whether agent's height is being used while expadning modifier's bounds during navmesh generation #UE4 Change 3936905 by Ben.Marsh Disable IncludeTool warning for DEPRECATED_FORGAME macro; we expect this to be different for game modules. Change 3940537 by Marc.Audy Don't allow maps, sets, or arrays with an actor inner type in user defined structs to select an actor from the currently open level as default value. #jira UE-55938 Change 3940901 by Marc.Audy Properly name CVar global to reflect what it is for Change 3943043 by Marc.Audy Fix world context functions not being able to be used in CheatManager derived blueprints #jira UE-55787 Change 3943075 by Mieszko.Zielinski Moved path-following related delegats' interface from NavigationSystemBase over to a new IPathFollowingManagerInterface #UE4 Change 3943089 by Mieszko.Zielinski Fixed how WorldSettings.NavigationSystemConfig gets created #UE4 Made it so that there's always a NavigationSystemConfig instance present, but added a 'Null' config - this was required due to issues with creation/serialization of instanced subobjects. The change required adding copying constructors to FNavAgentProperties and FNavDataConfig. Also, fixed FNavAgentProperties.IsEquivalent to be symetrical. Change 3943225 by Marc.Audy Fix spelling of Implements Change 3950813 by Marc.Audy Include owner in attachment mismatch ensure #jira UE-56148 Change 3950996 by Marc.Audy Fix cases where bit packed properties used the entire byte not just the bit when interacting with boolean arrays #jira UE-55482 Change 3952086 by Marc.Audy PR #4483: Add Missing Radial Damage Multicast Delegate (Contributed by error454) #jira UE-54974 Change 3952720 by Marc.Audy PR #4575: Check if *Pawn* is a null Pointer (Contributed by dani9bma) #jira UE-56248 Change 3952804 by Richard.Hinckley Changes to BP API export commandlet to support better plugin exporting. Contributed by Harry Wang of Google. Change 3952962 by Marc.Audy UHT now validates that ExpandEnumAsExecs references a valid parameter to the function. #jira UE-49610 Change 3952977 by Phillip.Kavan Fix EDL cycle at load time in nativized cooked builds when a circular dependency exists between converted and unconverted assets. Change summary: - Added FGatherConvertedClassDependencies::MarkUnconvertedClassAsNecessary(). - Modified FFindAssetsToInclude::MaybeIncludeObjectAsDependency() to mark unconverted BPGCs (e.g. DOBPs) as necessary for conversion when the potential for a circular dependency exists so that we generate stub wrappers rather than depend on them directly. - Fixed a few typos in existing API names. #jira UE-48233 Change 3953658 by Marc.Audy (4.19.1) Fix inserting a reroute node causing connections to break on a GetClassDefaults node #jira UE-56270 Change 3954727 by Marc.Audy Add friendly name to custom version mismatch message Change 3954906 by Marc.Audy (4.19.1) Fix crash when undoing changes related to reroute nodes connected to a GetClassDefaults node #jira UE-56313 Change 3954997 by Marc.Audy Ensure and return null if GetOuter<WithinClass> is called on a CDO for uclasses declared as within another so we don't get a UPackage c-style cast to the expected outer type Change 3955091 by Marc.Audy Do not register subcomponents that are not auto register #jira UE-52878 Change 3955943 by Marc.Audy Make AbilitySystemComponent pass parameters by const& instead of ref as no state is being changed Change 3956185 by Zak.Middleton #ue4 - Fix Characters using scoped movement updates (the default) not visually rotating when rotated at small rates at high framerate. This was caused by FScopedMovementUpdate::IsTransformDirty() using a larger FTransform comparison tolerance than USceneComponent::UpdateComponentToWorldWithParent(). #jira none Change 3958102 by Marc.Audy Clean out dead code path from k2node_select Select node now resets pins to wildcard if none of the pins are in use Change 3958113 by Lukasz.Furman added OnSearchStart call to root level behavior tree services #jira UE-56257 Change 3958361 by Marc.Audy Fix literal input pins on select being set to wildcard during compilation Change 3961148 by Dan.Oconnor Mirror 3961139 from Release 4.19 Fix for placeholder objects being left behind when loading certain UMG assets - this could causea crash when loading UMG assets #jira UE-55742 Change 3961640 by Marc.Audy Select node now displays Add Pin button Undo of changing select node index type now works correctly. Connections to option pins now maintained across change of index pin type #jira UE-20742 Change 3962262 by Marc.Audy Display "Object Reference" instead of "Object Object Reference" and "Soft Object Reference" instead of "Object Soft Object Reference" Change 3962795 by Phillip.Kavan Fix for a crash when cooking with Blueprint nativization enabled after encountering a nested instanced editor-only default subobject inherited from a native C++ base class. - Mirrored from //UE4/Release-4.19 (3962782) #jira UE-56316 Change 3962991 by Marc.Audy Modify Negate/Increment/Decrement Int/Float so that the output is always the desired result even if a non-mutable pin is passed in. Note that this can mean the result being returned and the value of the pin passed in if queried again will not be the same (in the case of pure nodes). #jira UE-54807 Change 3963114 by Marc.Audy Fix ensures/crash as a result of UClass expecting to be able to access the UPackage of CDOs via the GetOuterUPackage call. Change 3963427 by Marc.Audy Fix initialization order Initialize bUseBackwardsCompatForEmptyAutogeneratedValue Change 3963781 by Marc.Audy Fix without editor compiles Change 3964576 by Marc.Audy PR #4599: : Working category for timelines (Contributed by projectgheist) #jira UE-56460 #jira UE-26053 Change 3964782 by Dan.Oconnor Mirror 3964772 from Release 4.19 Fix crash when force deleting certain blueprints, we can only check for authoritativeness while reinstancing #jira UE-56447 Change 3965156 by Mieszko.Zielinski PR #4592: Visual Logger optimization to fix rapid FPS drop when many items are hidden (Contributed by tstaples) #jira UE-56435 Change 3965173 by Marc.Audy (4.19.1) Fix incorrectly switching a cooling down tick to be an enabled tick when marking it enabled. #jira UE-56431 Change 3966117 by Marc.Audy Fix select nodes inside macros using wildcard array inputs having issues resolving type. #jira UE-56484 Change 3878901 by Mieszko.Zielinski NavigationSystem's code refactored out of the engine and into a new separate module #UE4 The CL contains required changes to all of our internal projects. Fortnite and Paragon have been tested, while the rest have been only compiled. Change 3879409 by Mieszko.Zielinski Further fallout fixes after ripping out NavigationSystem out of the engine #UE4 - Fixed bad ini redirects (had NavigationSystem.NavigationSystem instead of NavigationSystem.NavigationSystemV1) - Added missing FNavigationSystem::GetDefaultNavDataClass binding (resulting in QAGame's func tests failing) Change 3897655 by Ben.Zeigler #jira UE-55211 Fix it so literal soft object pins on blueprint nodes get correctly cooked/referenced It now sets the thread context to skip internal serialize and calls the archive's serialize function instead of bypassing it, which allows it to pick up references Change 3962780 by Marc.Audy When preventing a split pin from being orphaned, all sub pins must also be prevented. #jira UE-56328 Repack members of UEdGraphPin to avoid wasted space (saves 16bytes) [CL 3967553 by Marc Audy in Main branch]
2018-03-27 14:27:07 -04:00
virtual void SetViewLocation(const FVector2D& Location, float ZoomAmount, const FGuid& BookmarkId = FGuid()) override;
virtual void GetViewLocation(FVector2D& Location, float& ZoomAmount) override;
Copying //UE4/Dev-Framework to //UE4/Dev-Main (Source: //UE4/Dev-Framework @ 3967517) #rb none #lockdown Nick.Penwarden #rnx ============================ MAJOR FEATURES & CHANGES ============================ Change 3804281 by Fred.Kimberley Improve contrast on watches in blueprints. Change 3804322 by Fred.Kimberley First pass at adding a watch window for blueprint debugging. Change 3804737 by mason.seay Added some Descriptions to tests that didn't have any, and fixed some typos Change 3806103 by mason.seay Moved and Renamed Timers test map and content appropriately Change 3806164 by Fred.Kimberley Add missing property types to GetDebugInfoInternal. #jira UE-53355 Change 3806617 by Dan.Oconnor Function Terminator (and derived types) now use FMemberReference instead of a UClass/FName pair. This fixes various bugs when resolving the UFunction referenced by the function terminator #jira UE-31754, UE-42431, UE-53315, UE-53172 Change 3808541 by Fred.Kimberley Add support for redirecting user defined enums. This is in response to the following UDN thread: https://udn.unrealengine.com/questions/404141/is-is-possible-to-create-a-redirector-from-a-bluep.html Change 3808565 by mason.seay Added a few more struct tests Change 3809840 by mason.seay Renamed CharacterMovement.umap to CharacterCollision. Fixed up content to reflect this change. Change 3809847 by mason.seay Added Object Timer tests. Fixed up existing timer test to remove delay dependency Change 3811704 by Ben.Zeigler Fix issue where identical enum redirects registered to different initial names would throw an incorrect error, it's fine if the value change maps are identical Change 3811946 by Ben.Zeigler #jira UE-53511 Fix it so it is possible to set a user defined struct value back to it's default. The UDS hack in PropertyValueToString is no longer needed, but this could affect some other user struct editor operations Change 3812061 by Dan.Oconnor Stepping over or in to nodes that are expanded at compile time (e.g. event nodes, spawn actor nodes) no longer requires multiple 'steps' #jira UE-52854 Change 3812259 by Dan.Oconnor Fix asset broken by removal of an unkown enum #jira UE-51419 Change 3812904 by Ben.Zeigler Make ResolveRedirects on StreamableManager public as it can be used to validate things Change 3812958 by Ben.Zeigler #jira UE-52977 Fix crashes when binding blueprint editor commands to keys and using from invalid contexts Change 3812975 by Mieszko.Zielinski Added contraptions to catch a rare eidtor-time EQS crash #UE4 #jira UE-53468 Change 3818530 by Phillip.Kavan Fix incorrect access to nested instanced subobjects in nativized Blueprint ctor codegen. Change summary: - Modified FEmitDefaultValueHelper::HandleInstancedSubobject() to properly reference the outer and check ptr validity when creating/obtaining nested default subobjects. - Modified FEmitDefaultValueHelper::HandleClassSubobject() to better guard against code generation based on an invalid local variable name. #jira UE-52167 Change 3819733 by Mieszko.Zielinski Marked UAISenseConfig_Blueprint and UAISense_Blueprint as hidedropdown #UE4 #jira UE-15089 Change 3821776 by Marc.Audy Remove redundent code in SpawnActorFromClass that already exists in ConstructObjectFromClass parent class Change 3823851 by mason.seay Moved and renamed blueprints used for Object Reference testing Change 3824165 by Phillip.Kavan Ensure that subobject class types are constructed prior to accessing a subobject CDO in a nativized Blueprint class's generated ctor at runtime. Change summary: - Modified FFakeImportTableHelper to tag subobject class types as a preload dependency of the outer converted Blueprint class type and not of the CDO. #jira UE-53111 Change 3830309 by mason.seay Created Literal Gameplay Tag Container test Change 3830562 by Phillip.Kavan Blueprint nativization bug fixes (reviewed/taken from PR). Change summary: - Modified FSafeContextScopedEmitter::ValidationChain() to ensure that generated code calls the global IsValid() utility function on objects. - Modified FBlueprintCompilerCppBackend::EmitCreateArrayStatement() to generate a proper cast on MakeArray node inputs for enum class types. - Modified FBlueprintCompilerCppBackend::EnimCallStatementInner() to more correctly identify an interface function call site. - Modified FEmitHelper::GenerateAutomaticCast() to properly handle automatic casts of enum arrays. - (Modified from PR source) Added new FComponentDataUtils statics to consolidate custom init code generation for converted special-case component types (e.g. BodyInstance). Ties native component DSOs to the same pre/post as converted non-native component templates around the OuterGenerate() loop. - Modified FExposeOnSpawnValidator::IsSupported() to include CPT_SoftObjectReference property types. - Modified UBlueprintGeneratedClass::CheckAndApplyComponentTemplateOverrides() to no longer break out of the loop before finding additional ICH override record matches. #4202 #jira UE-52188 Change 3830579 by Fred.Kimberley Add support for turning off multiple watches at once in the watch window. #jira UE-53852 Change 3836047 by Zak.Middleton #ue4 - Dev test maps for overlaps perf tests. Change 3836768 by Phillip.Kavan Fix for a build failure that could occur with Blueprint nativization enabled and EDL disabled. This was a regression introduced in 4.18. Change summary: - Modified FEmitDefaultValueHelper::AddStaticFunctionsForDependencies() to emit the correct signature for constructing FBlueprintDependencyData elements when the EDL boot time optimization is disabled. #jira UE-53908 Change 3838085 by mason.seay Functional tests around basic blueprint functions Change 3840489 by Ben.Zeigler #jira UE-31662 Fix regression with renaming parent inherited function. It was not correctly searching the parent's skeleton class during the child's recompile so it was erroneously detecting the parent function as missing Change 3840648 by mason.seay Updated Descriptions on tests Change 3842914 by Ben.Zeigler Improve comments around stremable handle cancel/release Change 3850413 by Ben.Zeigler Fix asset registry memory reporting, track some newer fields and correctly report the state size instead of static size twice Copy of CL #3849610 Change 3850426 by Ben.Zeigler Reduce asset registry memory in cooked build by stripping out searchable names and empty dependency nodes by default Add option to strip dependency data for asset data with no tags, this was always true before but isn't necessarily safe Copy of CL #3850389 Change 3853449 by Phillip.Kavan Fix a scoping issue for local instanced subobject references in nativized Blueprint C++ code. Also, don't emit redundant assignment statements for instanced subobject reference properties. Change summary: - Consolidated FComponentDataUtils into FDefaultSubobjectData and extended FNonativeComponentData from it in order to handle both native & non-native DSO initialization codegen through a more common interface. - Exposed FEmitDefaultValueHelper::HandleInstancedSubobject() as a public API and added a 'SubobjectData' parameter to allow initialization codegen to be deferred until after all default subobjects have been mapped to local variables within the current scope. - Modified FEmitDefaultValueHelper::GenerateConstructor() to first map all default subobjects to local variables and then emit any delta initialization code for property values. - Modified FEmitDefaultValueHelper::HandleSpecialTypes() to return an empty string for an instanced reference to a default subobject. This allows us to avoid emitting initialization statements to unnecessarily reassign instances back to the same property. - Modified FEmitDefaultValueHelper::InnerGenerate() to better handle instanced references to default subobjects, ensuring that we don't emit unnecessary assignment statements and array initialization code to the converted class constructor in C++. - Fixed a few typos. #jira UE-53960 Change 3853465 by Phillip.Kavan Fix plugin module C++ source template to conform to recent public include path changes. Change 3857599 by Marc.Audy PR #4438: UE-54281: Make None a valid default value to select (Contributed by projectgheist) #jira UE-54281 #jira UE-54399 Change 3863259 by Zak.Middleton #ue4 - Save bandwidth for replicated characters by only replicating 4 byte timestamp value to clients if it's actually needed for Linear smoothing. Added option to always replicate the timestamp ("bNetworkAlwaysReplicateTransformUpdateTimestamp", default off), in case users still want this timestamp for some reason, or if smoothing mode changes dynamically and the server won't know. #jira UE-46293 Change 3863491 by Zak.Middleton #ue4 - Reduce network RPC overhead for players that are not moving. Added ClientNetSendMoveDeltaTimeStationary (default 12Hz) to supplement existing ClientNetSendMoveDeltaTime and ClientNetSendMoveDeltaTimeThrottled. UCharacterMovementComponent::GetClientNetSendDeltaTime() now uses this time if Acceleration and Velocity are zero, and the control rotation matches the last ack'd control rotation from the server. Also fixed up code default for ClientNetSendMoveDeltaTime to match default INI value. #jira UE-21264 Change 3865325 by Zak.Middleton #ue4 - Fix static analysis warning about possible null PC pointer. #jira none Change 3869828 by Ben.Zeigler #jira UE-54786 Fix it so -cookonthefly cooperates with -iterate by writing out a development asset registry Change 3869969 by mason.seay Character Movement Functional Tests Change 3870099 by Mason.Seay Submitted asset deletes Change 3870105 by mason.seay Removed link to anim blueprint to fix errors Change 3870238 by mason.seay Test map for Async Loading in a Loop Change 3870479 by Ben.Zeigler Add code to check CoreRedirects for SoftObjectPaths when saving or resolving in the editor. This is a bit slow so we don't want to do it on load We don't have any good way to know the type of a path so I check both Object and Class redirectors, which will also pickup Module renames Change 3875224 by mason.seay Functional tests for Event BeginPlay execution order Change 3875409 by mason.seay Optimized and fixed up character movement tests (because a potential bug in FunctionalTestActor is always passing a test when it can fail) Change 3878947 by Mieszko.Zielinski CIS fixes #UE4 Change 3879000 by Mieszko.Zielinski More CIS fixes #UE4 Change 3879139 by Mieszko.Zielinski Even moar CIS fixes #UE4 Change 3879742 by mason.seay Added animation to Nativization Widget asset Change 3880198 by Zak.Middleton #ue4 - CanCrouchInCurrentState() returns false when character capsule is simulating physics. #jira UE-54875 github #4479 Change 3880266 by Zak.Middleton #ue4 - Optimize UpdateCharacterStateBeforeMovement() to do cheaper tests earlier (avoid CanCrouchInCurrentState() unless necessary, now that it tests IsSimulatingPhysics() which is not trivial). #jira UE-54875 Change 3881546 by Mieszko.Zielinski *.Build.cs files clean up - removed redundant dependencies from NavigationSystem and AIModule #UE4 Change 3881547 by Mieszko.Zielinski Removed a bunch of DEPRECATED functions from the new NavigationSystem module #UE4 Removed all deprecates prior 4.15 (picked this one because I do know some licencees are still using it). Change 3881742 by mason.seay Additional crouch test to cover UE-54875 Change 3881794 by Mieszko.Zielinski Fixed a bug in FVisualLoggerHelpers::GetCategories resulting in losing verbosity information #UE4 Change 3884503 by Mieszko.Zielinski Fixed TopDown code template to make it compile after navsys refactor #UE4 #jira UE-55039 Change 3884507 by Mieszko.Zielinski Switched ensures in UNavigationSystemV1:SimpleMoveToX to error-level logs #UE4 It's an error rather than a warning because the functions no longer do anything. Making it work would require a cyclic dependency between NavigationSystem and AIModule. #jira UE-55033 Change 3884594 by Mieszko.Zielinski Added a const FNavigationSystem::GetCurrent version #UE4 lack of it was causing KiteDemo to not compile. Change 3884602 by Mieszko.Zielinski Mac editor compilation fix #UE4 Change 3884615 by Mieszko.Zielinski Fixed FAIDataProviderValue::GetRawValuePtr not being accessible from outside of AIModule #UE4 Change 3885254 by Mieszko.Zielinski Guessfix for UE-55030 #UE4 The name of NavigationSystem module was put in wrong in the IMPLEMENT_MODULE macro #jira 55030 Change 3885286 by Mieszko.Zielinski Changed how NavigationSystem module includes DerivedDataCache module #UE4 #jira UE-55035 Change 3885492 by mason.seay Minor tweaks to animation Change 3885773 by mason.seay Resaving assets to clear out warning Change 3886433 by Mieszko.Zielinski Fixed TP_TopDownBP's player controller BP to not use deprecated nav functions #UE4 #jira UE-55108 Change 3886783 by Mieszko.Zielinski Removed silly inclusion of NavigationSystemTypes.h from NavigationSystemTypes.h #UE4 Change 3887019 by Mieszko.Zielinski Fixed accessing unchecked pointer in ANavigationData::OnNavAreaAdded #UE4 Change 3891031 by Mieszko.Zielinski Fixed missing includes in NavigationSystem.cpp #UE4 Change 3891037 by Mieszko.Zielinski ContentEample's navigation fix #UE4 #jira UE-55109 Change 3891044 by Mieszko.Zielinski PR #4456: Fix bug in UAISense_Sight::OnListenerForgetsActor (Contributed by maxtunel) #UE4 Change 3891598 by mason.seay Resaving assets to clear out "empty engine version" spam Change 3891612 by mason.seay Fixed deprecated Set Text warnings Change 3893334 by Mieszko.Zielinski Fixed a bug in navmesh generation resulting in not removing layers that ended up empty after rebuilding #UE4 #jira UE-55041 Change 3893394 by Mieszko.Zielinski Fixed navmesh debug drawing to properly display octree elements with "per instance transforms" (like instanced SMs) #UE4 Also, added a more detailed debug drawing of navoctree contents (optional, but on by default). Change 3893395 by Mieszko.Zielinski Added a bit of code to navigation system's initialization that checks the enegine ini for sections refering to the moved navigation classes, and complain about it #UE4 The message is printed as an error-level log line and it says what should the offending section be renamed to. Change 3895563 by Dan.Oconnor Mirror 3895535 Append history from previous branches in source control history view #jira none Change 3896930 by Mieszko.Zielinski Added an option to tick navigation system while the game is paused #UE4 Controlled via NavigationSystemV1.bTickWhilePaused, ini- and ProjectSettings-configurable. #jira UE-39275 Change 3897554 by Mieszko.Zielinski Unified how NavMeshRenderingComponent draws navmesh and octree collision's polys #UE4 Change 3897556 by Mieszko.Zielinski Fixed what kind of nav tile bounds we're sending to nav-colliding elements when calling 'per-instance transform' delegate #UE4 #jira UE-45261 Change 3898064 by Mieszko.Zielinski Made SM Editor display AI-navigation-related whenever bHasNavigationData is set to true #UE4 #jira UE-50436 Change 3899004 by Mieszko.Zielinski Fixed UEnvQueryItemType_Actor::GetItemLocation and UEnvQueryItemType_Actor::GetItemRotation to return FAISystem::InvalidLocation and FAISystem::InvalidRotation respectively instead of '0' when hosted Actor ptr is null #UE4 Note for programmers: this changes the default behavior of this edge case. You might want to go through your code and check if you're comparing UEnvQueryItemType_Actor::GetItem*'s results to 0. Change 3901733 by Mieszko.Zielinski Made FEnvQueryInstance::PrepareContext implementations returning vectors and rotators ignore InvalidLocation and InvalidRotation (respectively) #UE4 Change 3901925 by Ben.Zeigler #jira UE-55395 Fix issue where the cooker could load asset registry caches made in -game that do not have dependency data, leading to broken cooks Change 3902166 by Marc.Audy Make ULevel::GetWorld final Change 3902749 by Ben.Zeigler Fix it so pressing refresh button in asset audit window actually refreshes the asset management database Change 3902763 by Ben.Zeigler #jira UE-55407 Fix it so editor tutorials are not cooked unless referenced, by correctly marking soft object paths imported from editor project settings as editor-only Change 3905578 by Phillip.Kavan The UX to add a new parameter on a Blueprint delegate is now at parity with Blueprint functions. #4392 #jira UE-53779 Change 3905848 by Phillip.Kavan First pass of the experimental Blueprint graph bookmarks feature. #jira UE-10052 Change 3906025 by Phillip.Kavan CIS fix. Change 3906195 by Phillip.Kavan Add missing icon file. Change 3906356 by Phillip.Kavan Moved Blueprint bookmarks enable flag into EditorExperimentalSettings for consistency with other options. Change 3910628 by Ben.Zeigler Partial fix for UE-55363, this allows references to ObjectRedirectors to be switched from parent class to a child class on load as this should always be safe This does not actually fix UE-55363 because that case is changing from UMaterial to UMaterialInstanceConstant, and those are siblings instead of parent/child Change 3912470 by Ben.Zeigler #jira UE-55586 Fix issue with saving redirected soft object paths where the export sort could accidentally cause the parent CDO to get modified between name tagging and writing exports, which is unsafe because due to delta serialization it would try to write names that were not previously tagged Change 3913045 by Marc.Audy Fix issues where recursion in to child actors wasn't being handled correctly Change 3913398 by Fred.Kimberley Fixes a misspelled name for one of the classes in the ability system. PR #4430: Fixed spelling of FGameplayAbilityInputBinds. (Contributed by IntegralLee) #github #jira UE-54327 Change 3918016 by Fred.Kimberley Ensure AllocGameplayEffectContext is being used in all cases where FGameplayeEffectContext is being created. #jira UE-52668 PR #4250: Only create FGameplayEffectContext via AbilitySystemGlobals::.AllocGameplayEffectContext (Contributed by slonopotamus) #github Change 3924653 by Mieszko.Zielinski Fixed LoadEngineClass local to UnrealEngine.cpp to check class redirects before falling back to default class instance #UE4 #jira UE-55378 Change 3925614 by Phillip.Kavan Fix ForEachEnum node to skip over hidden enum values in new placements by default. Change summary: - Added FKismetNodeHelperLibrary::ShouldHideEnumeratorIndex() as an internal-only Blueprint node support API. - Modified FForExpandNodeHelper::AllocateDefaultPins() to add a "Skip Hidden" input pin (advanced). Pin default value is false. - Added a UK2Node_ForEachElementInEnum::PostPlacedNewNode() override to set the default value of the "Skip Hidden" input pin to 'true' for all new node placements. - Modified UK2Node_ForEachElementInEnum::ExpandNode() to include additional expansion logic based on the "Skip Hidden" input pin. For new placements (i.e. when the pin defaults to 'true'), an intermediate branch node will now be inserted into the compiled execution sequence to test for "hidden" metadata on the value before executing the loop body. If the input pin is linked, another intermediate branch will be inserted into the execution sequence prior to the "hidden" metadata test. All existing placements of the node will remain as-is after compilation (i.e. no additional intermediate branch nodes will be included in the expansion). #jira UE-34563 Change 3925649 by Marc.Audy Fix up issue post merge from Main with navigation system refactor Change 3926293 by Phillip.Kavan Temp fix to unblock CIS. #jira UE-34563 Change 3926523 by Marc.Audy Ensure that a renamed Actor is in the correct Actors array #jira UE-46718 Change 3928732 by Fred.Kimberley Unshelved from pending changelist '3793298': #jira UE-53136 PR #4287: virtual additions for AttributeSet extendability (Contributed by TWIDan) #github Change 3928780 by Marc.Audy PR #4309: The display names of the functions. (Contributed by SertacOgan) #jira UE-53334 Change 3929730 by Joseph.Wysosky Submitting test assets for the new Blueprint Structure test cases Change 3931919 by Joseph.Wysosky Deleting BasicStructure asset to rest MemberVariables back to default settings Change 3931922 by Joseph.Wysosky Adding BasicStructure test asset back with default members Change 3932083 by Phillip.Kavan Fix Compositing plugin source files to conform to updated relative include path specifications. - Encountered while testing Blueprint nativization of assets with dependencies on Composure/LensDistortion APIs. Change 3932196 by Dan.Oconnor Resetting a property to default now uses the same codepath as assigning the value from the slate control #jira UE-55909 Change 3932408 by Lukasz.Furman fixed behavior tree services attached to task nodes being sometimes recognized as root level #jira nope Change 3932808 by Marc.Audy PR #4083: Change to UK2Node_BaseAsyncTask to have pin tooltips on latent nodes (Contributed by dwrpayne) #jira UE-50871 Change 3934101 by Phillip.Kavan Revise ForEachEnum node expansion logic to exclude hidden values at compile time. Change summary: - Removed UKismetNodeHelperLibrary::ShouldHideEnumeratorIndex() (no longer in use). - Modified UK2Node_ForEachElementInEnum::ExpandNode() to include an enum switch node in the expansion, which will exclude hidden values when constructed. The additional expansion will occur if the enum type contains at least one hidden value. #jira UE-34563 Change 3934106 by Phillip.Kavan Mirrored 4.19 fixes to allow for EngineTest iteration w/ nativization enabled. Change summary: - Mirrored CLs 3876918, 3878968, 3883257, 3885566, 3912161 and 3920519. Change 3934116 by Phillip.Kavan UBT: Explicitly define the DEPRECATED_FORGAME macro only for non-engine modules. Change summary: - Modified UEBuildModule.SetupPrivateCompileEnvironment() to check the 'bTreatAsEngineModule' flag from the rules assembly rather than testing the module's build type. Change 3934382 by Phillip.Kavan Avoid inclusion of monolothic engine header files in nativized Blueprint codegen. Change 3936387 by Mieszko.Zielinski Added a flag to NavModifierComponent to control whether agent's height is being used while expadning modifier's bounds during navmesh generation #UE4 Change 3936905 by Ben.Marsh Disable IncludeTool warning for DEPRECATED_FORGAME macro; we expect this to be different for game modules. Change 3940537 by Marc.Audy Don't allow maps, sets, or arrays with an actor inner type in user defined structs to select an actor from the currently open level as default value. #jira UE-55938 Change 3940901 by Marc.Audy Properly name CVar global to reflect what it is for Change 3943043 by Marc.Audy Fix world context functions not being able to be used in CheatManager derived blueprints #jira UE-55787 Change 3943075 by Mieszko.Zielinski Moved path-following related delegats' interface from NavigationSystemBase over to a new IPathFollowingManagerInterface #UE4 Change 3943089 by Mieszko.Zielinski Fixed how WorldSettings.NavigationSystemConfig gets created #UE4 Made it so that there's always a NavigationSystemConfig instance present, but added a 'Null' config - this was required due to issues with creation/serialization of instanced subobjects. The change required adding copying constructors to FNavAgentProperties and FNavDataConfig. Also, fixed FNavAgentProperties.IsEquivalent to be symetrical. Change 3943225 by Marc.Audy Fix spelling of Implements Change 3950813 by Marc.Audy Include owner in attachment mismatch ensure #jira UE-56148 Change 3950996 by Marc.Audy Fix cases where bit packed properties used the entire byte not just the bit when interacting with boolean arrays #jira UE-55482 Change 3952086 by Marc.Audy PR #4483: Add Missing Radial Damage Multicast Delegate (Contributed by error454) #jira UE-54974 Change 3952720 by Marc.Audy PR #4575: Check if *Pawn* is a null Pointer (Contributed by dani9bma) #jira UE-56248 Change 3952804 by Richard.Hinckley Changes to BP API export commandlet to support better plugin exporting. Contributed by Harry Wang of Google. Change 3952962 by Marc.Audy UHT now validates that ExpandEnumAsExecs references a valid parameter to the function. #jira UE-49610 Change 3952977 by Phillip.Kavan Fix EDL cycle at load time in nativized cooked builds when a circular dependency exists between converted and unconverted assets. Change summary: - Added FGatherConvertedClassDependencies::MarkUnconvertedClassAsNecessary(). - Modified FFindAssetsToInclude::MaybeIncludeObjectAsDependency() to mark unconverted BPGCs (e.g. DOBPs) as necessary for conversion when the potential for a circular dependency exists so that we generate stub wrappers rather than depend on them directly. - Fixed a few typos in existing API names. #jira UE-48233 Change 3953658 by Marc.Audy (4.19.1) Fix inserting a reroute node causing connections to break on a GetClassDefaults node #jira UE-56270 Change 3954727 by Marc.Audy Add friendly name to custom version mismatch message Change 3954906 by Marc.Audy (4.19.1) Fix crash when undoing changes related to reroute nodes connected to a GetClassDefaults node #jira UE-56313 Change 3954997 by Marc.Audy Ensure and return null if GetOuter<WithinClass> is called on a CDO for uclasses declared as within another so we don't get a UPackage c-style cast to the expected outer type Change 3955091 by Marc.Audy Do not register subcomponents that are not auto register #jira UE-52878 Change 3955943 by Marc.Audy Make AbilitySystemComponent pass parameters by const& instead of ref as no state is being changed Change 3956185 by Zak.Middleton #ue4 - Fix Characters using scoped movement updates (the default) not visually rotating when rotated at small rates at high framerate. This was caused by FScopedMovementUpdate::IsTransformDirty() using a larger FTransform comparison tolerance than USceneComponent::UpdateComponentToWorldWithParent(). #jira none Change 3958102 by Marc.Audy Clean out dead code path from k2node_select Select node now resets pins to wildcard if none of the pins are in use Change 3958113 by Lukasz.Furman added OnSearchStart call to root level behavior tree services #jira UE-56257 Change 3958361 by Marc.Audy Fix literal input pins on select being set to wildcard during compilation Change 3961148 by Dan.Oconnor Mirror 3961139 from Release 4.19 Fix for placeholder objects being left behind when loading certain UMG assets - this could causea crash when loading UMG assets #jira UE-55742 Change 3961640 by Marc.Audy Select node now displays Add Pin button Undo of changing select node index type now works correctly. Connections to option pins now maintained across change of index pin type #jira UE-20742 Change 3962262 by Marc.Audy Display "Object Reference" instead of "Object Object Reference" and "Soft Object Reference" instead of "Object Soft Object Reference" Change 3962795 by Phillip.Kavan Fix for a crash when cooking with Blueprint nativization enabled after encountering a nested instanced editor-only default subobject inherited from a native C++ base class. - Mirrored from //UE4/Release-4.19 (3962782) #jira UE-56316 Change 3962991 by Marc.Audy Modify Negate/Increment/Decrement Int/Float so that the output is always the desired result even if a non-mutable pin is passed in. Note that this can mean the result being returned and the value of the pin passed in if queried again will not be the same (in the case of pure nodes). #jira UE-54807 Change 3963114 by Marc.Audy Fix ensures/crash as a result of UClass expecting to be able to access the UPackage of CDOs via the GetOuterUPackage call. Change 3963427 by Marc.Audy Fix initialization order Initialize bUseBackwardsCompatForEmptyAutogeneratedValue Change 3963781 by Marc.Audy Fix without editor compiles Change 3964576 by Marc.Audy PR #4599: : Working category for timelines (Contributed by projectgheist) #jira UE-56460 #jira UE-26053 Change 3964782 by Dan.Oconnor Mirror 3964772 from Release 4.19 Fix crash when force deleting certain blueprints, we can only check for authoritativeness while reinstancing #jira UE-56447 Change 3965156 by Mieszko.Zielinski PR #4592: Visual Logger optimization to fix rapid FPS drop when many items are hidden (Contributed by tstaples) #jira UE-56435 Change 3965173 by Marc.Audy (4.19.1) Fix incorrectly switching a cooling down tick to be an enabled tick when marking it enabled. #jira UE-56431 Change 3966117 by Marc.Audy Fix select nodes inside macros using wildcard array inputs having issues resolving type. #jira UE-56484 Change 3878901 by Mieszko.Zielinski NavigationSystem's code refactored out of the engine and into a new separate module #UE4 The CL contains required changes to all of our internal projects. Fortnite and Paragon have been tested, while the rest have been only compiled. Change 3879409 by Mieszko.Zielinski Further fallout fixes after ripping out NavigationSystem out of the engine #UE4 - Fixed bad ini redirects (had NavigationSystem.NavigationSystem instead of NavigationSystem.NavigationSystemV1) - Added missing FNavigationSystem::GetDefaultNavDataClass binding (resulting in QAGame's func tests failing) Change 3897655 by Ben.Zeigler #jira UE-55211 Fix it so literal soft object pins on blueprint nodes get correctly cooked/referenced It now sets the thread context to skip internal serialize and calls the archive's serialize function instead of bypassing it, which allows it to pick up references Change 3962780 by Marc.Audy When preventing a split pin from being orphaned, all sub pins must also be prevented. #jira UE-56328 Repack members of UEdGraphPin to avoid wasted space (saves 16bytes) [CL 3967553 by Marc Audy in Main branch]
2018-03-27 14:27:07 -04:00
virtual void GetViewBookmark(FGuid& BookmarkId) override;
virtual void LockToGraphEditor(TWeakPtr<SGraphEditor> Other) override;
virtual void UnlockFromGraphEditor(TWeakPtr<SGraphEditor> Other) override;
virtual void AddNotification ( FNotificationInfo& Info, bool bSuccess ) override;
virtual void SetPinVisibility(SGraphEditor::EPinVisibility Visibility) override;
Copying //UE4/Dev-AnimPhys to //UE4/Dev-Main (Source: //UE4/Dev-AnimPhys @ 3436999) #lockdown Nick.Penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 3354003 on 2017/03/20 by Thomas.Sarkanen Back out changelist 3353914 Change 3355932 on 2017/03/21 by Thomas.Sarkanen Back out changelist 3354003 Reinstating merge from Main: Merging //UE4/Dev-Main to Dev-AnimPhys (//UE4/Dev-AnimPhys) @ CL 3353839 Change 3385512 on 2017/04/07 by Aaron.McLeran Bringing changes over from FN that fix audio streaming on PC/Mac/XboxOne/PS4 CL#3318457 - Fix crash when recycling PS4 sound sources. CL#3313213 - Allowing XboxOne to cook streaming audio CL#3313719 - GetWaveFormat now returns OPUS for streaming audio waves CL#3320066 - Added libopus for XboxOne CL#3320070 - libopus is now properly linked in XboxOne CL#3313219 - Allowing Mac to cook streaming audio CL#3315332 - Fixed audio streaming on Mac CL#3315335 - (additional file missed in previous CL) CL#3313207 - Sounds now register themselves with the audio streaming manager even if they are loaded before the audio device manager is created. CL#3313294 - Removed some accidental debugging code that was mistakenly added in CL#3313207 CL#3318530 - Fix threading issues in FAudioStreamingManager CL#3340718 - Fix for crash with audio streaming CL#3340844 - Fix for more thread safety in audio streaming manager CL#3343794 - Added a check in destructor of loaded chunk CL#3343794 - Removing check in stopping a source CL#3355393 - Moving audio streaming callbacks to use indices rather than ptrs to elements in dynamic array CL#3369020 - bumping up size of compressed chunks for AT9 files when doing stream chunk compression CL#3369131 - bumping up AT9 version number to get new AT9 cooks for larger chunks CL#3373626 - Fixing ps4 streaming CL#3375110 - Reverting some changes from 3373626 CL#3382078 - Making audio streaming decoding async to audio thread for xaudio2 CL#3383214 - Fixing buffer order issue for audio streaming Change 3386321 on 2017/04/10 by Lina.Halper #ANIM : preview - Attache preview mesh to use copy mesh pose #jira: UE-43114, UEAP-186 #rb: Thomas.Sarkanen Change 3386415 on 2017/04/10 by Ori.Cohen Improve the cost of UpdateKinematicBodies - added the ability to defer non simulating bodies. #JIRA UEAP-79 Change 3386418 on 2017/04/10 by Ori.Cohen Fix physx memory leak when a commandlet loads many assets without ticking scene #JIRA UE-43378 Change 3386569 on 2017/04/10 by dan.reynolds Updated dummy platform generated by standalone AEOverview tests to distinguish floor materials between the platform and the test zone. Change 3386714 on 2017/04/10 by Ori.Cohen Improve stats extensibility and expose it to the automation framework. Change 3386805 on 2017/04/10 by Lina.Halper Fix build error for editor #rb: none Change 3386854 on 2017/04/10 by Lina.Halper build fix for clang #rb:none Change 3387198 on 2017/04/10 by Aaron.McLeran #jira UE-43699 Deleting unused velocity variable. OpenAL's velocity is not supported in WebAudio. Removing dead code in AndroidAudioSource.cpp Change 3387346 on 2017/04/10 by Ori.Cohen Added performance regression map for physics (update kinematic bones and postBroadPhase) #JIRA UEAP-79 Change 3387409 on 2017/04/10 by Ori.Cohen Fix build, forgot to update this code Change 3387536 on 2017/04/10 by Lina.Halper Merging using AnimPhys-Fortnite-Main - fix preview mesh selection/animation #code review: Thomas.Sarkanen #rb: none #i_need_autocorrect Change 3387995 on 2017/04/11 by Martin.Wilson Live link updates - Refactor of provider api (separate update of hierarchy and transforms) - multi connection streaming from provider - provider maintains internal state so that new connections can be updated without interaction with streaming source. - Lifetime changes (connection timeout) Change 3388241 on 2017/04/11 by Lina.Halper Merging using AnimPhys-Fortnite-Main - merge CL of 3388238 #rb: Thomas.Sarkanen Change 3388294 on 2017/04/11 by Lina.Halper build fix #rb: none Change 3388341 on 2017/04/11 by Ori.Cohen Turn off vs2013 for physx Change 3389115 on 2017/04/11 by Ori.Cohen Forgot missing blueprint for perf test Change 3389224 on 2017/04/11 by Ori.Cohen Added sweep multi tests to perf regression #JIRA UEAP-79 Change 3389984 on 2017/04/12 by Martin.Wilson CIS Fix Change 3390315 on 2017/04/12 by Lina.Halper - fix on crash of component array when shutting down anim blueprint #jira: UE-43868 #rb: Thomas.Sarkanen Change 3390402 on 2017/04/12 by Martin.Wilson Fix update not being called on post process instances when the main anim instance does not do a parallel update #jira UE-43906 Change 3390772 on 2017/04/12 by Lina.Halper Fix crash on importing LOD with lesser # of joints #rb: Benn.Gallagher Change 3394850 on 2017/04/14 by Aaron.McLeran Adjusting how wavetable generation works for custom wavetables. - Changed wavetable creation to use a TSharedPtr vs a raw ptr. Change 3394853 on 2017/04/14 by Aaron.McLeran Bringing from Odin the ability to set the lowpass filter frequency on an audio component from BP Change 3395684 on 2017/04/17 by Ori.Cohen Make debugdraw for line traces const correct. Change 3396680 on 2017/04/17 by Ori.Cohen Added a total scene query stat and the ability to trace all scene queries Change 3397564 on 2017/04/18 by Benn.Gallagher Added clothing functional and performance test map + assets. Change 3397769 on 2017/04/18 by Thomas.Sarkanen CIS fix Fixup incorrect AudioStreaming.cpp merge when bringing Main into Dev-AnimPhys Change 3398518 on 2017/04/18 by Lina.Halper Mirroring fix on set world rotation #rb: Zak.Middleton #jira: UE-43830 Change 3400400 on 2017/04/19 by Chad.Garyet adding switch physx build to anim-phys Change 3400416 on 2017/04/19 by Chad.Garyet updated email targets to include switch Change 3402005 on 2017/04/20 by Ori.Cohen Pass stats into scene queries. Not all call sites are updated yet, waiting on Jon for uber search/replace script. Change 3402264 on 2017/04/20 by Ori.Cohen CIS fix Change 3402344 on 2017/04/20 by Ori.Cohen Turn off find unknown (was on by mistake) Change 3403311 on 2017/04/21 by Benn.Gallagher Clothing changes from Dev-General. Fixed LOD pops, mesh swap crashes and convex collision locations Change 3403399 on 2017/04/21 by Benn.Gallagher Lighting build, content cleanup and reorganization for clothing test map Change 3403401 on 2017/04/21 by Benn.Gallagher Clothing test ground truth updates after lighting build. Change 3403813 on 2017/04/21 by danny.bouimad Adding everything needed for our multiplat map TM-AnimPhys Change 3403900 on 2017/04/21 by mason.seay Added WIP text to tests that need fixup Change 3405383 on 2017/04/24 by Ori.Cohen Fix typo where complex flag was not being passed in to constructor. #JIRA UE-44278, UE-44279 Change 3405389 on 2017/04/24 by Martin.Wilson Live link: - Added support for sending curve data across live link and applying it via the Live Link node - Added pose snapshots which are built in the live link clients tick and read by the rest of the engine, save reading live data. Change 3405569 on 2017/04/24 by Martin.Wilson Missed file from CL 3405389 Change 3405810 on 2017/04/24 by Chad.Garyet fixing busted target for dev-animphys stream Change 3406566 on 2017/04/24 by Aaron.McLeran #jira UE-44272 Fixing granular synth with packaged builds - Changed the way granular synth component and wave table component get PCM data from USoundWave assets. No duplication, just precache directly. Change 3406694 on 2017/04/24 by Aaron.McLeran Update to phonon/steam audio plugin from valve Change 3407794 on 2017/04/25 by Aaron.McLeran #jira UE-44357 Fix for attenuation settings in sequencer Change 3407848 on 2017/04/25 by Jon.Nabozny Add stats to FCollisionQueryParams (continued from CL-3402005). Change 3407857 on 2017/04/25 by Jon.Nabozny Disable FIND_UNKNOWN_SCENE_QUERIES. Change 3407915 on 2017/04/25 by Lina.Halper Animation Automation Test for curve and simple notify Change 3408164 on 2017/04/25 by Ori.Cohen Expose the physx tree rebuild rate. Change 3408174 on 2017/04/25 by Lina.Halper - Changed 1, 2, 3, 4 for ordering of timing - Made sure the notify test takes more time between shots. Change 3408359 on 2017/04/25 by Jon.Nabozny Fix FConfigFile::Write for arrays of different sizes. (Looks like it is still broke for arrays of the same same, with different values). Change 3408633 on 2017/04/25 by Aaron.McLeran #jira UE-44297 Fix for animating sound cue graph when editor "non-realtime" button is checked - Fix is to explicitely register an active timer lambda that queries the preview audio component while the sound cue is playing Change 3408768 on 2017/04/25 by Aaron.McLeran Fixing UHT crash Change 3409225 on 2017/04/26 by Lina.Halper Increase tolerance for the shot test. It's very sensitive otherwise. Change 3409313 on 2017/04/26 by Benn.Gallagher Refactor of clothing paint tool framework to create a more extensible editor and get rid of some GDC techdebt Change 3409478 on 2017/04/26 by danny.bouimad Moved Text Actor forwards as it was causing zFighting Change 3409572 on 2017/04/26 by Benn.Gallagher CIS fix after cloth painter changes Change 3409585 on 2017/04/26 by danny.bouimad Updated Tm-AnimPhys to utilize the AEOverview maps, also found a crash with viewing shader complexity that only occurs on this map. Change 3410948 on 2017/04/27 by Martin.Wilson Live Link: - Add subject clearing support to client / message bus protocol - Update ref skeleton when subject changes. - Remove old classes Change 3413305 on 2017/04/28 by Danny.Bouimad Disabled audio tests on AnimPhys Testmap to hopefuly stop the lighting crashes during launch on (content problem) Change 3413408 on 2017/04/28 by mason.seay Resaving to clear empty engine version warnings Change 3413418 on 2017/04/28 by Benn.Gallagher CIS fix, #pragma once in wrong place (after an include) Change 3413737 on 2017/04/28 by Martin.Wilson Rename Live Link Message Bus messages to contain the word message to avoid future name clashes Change 3414121 on 2017/04/28 by Ori.Cohen Added task batching for physx tasks. Set fortnite to 8 as we already have a lot of thread contention during that time and it's best to just do it all in a single task. Change 3417833 on 2017/05/02 by Thomas.Sarkanen Fix bad merge in SynthComponentGranulator.cpp Change 3418174 on 2017/05/02 by Jon.Nabozny Fix memory leak in UDestructibleComponent::SetSkeletalMesh Change 3418907 on 2017/05/02 by Aaron.McLeran #jira UE-44599 Fixing active sound un-pause issue. - While paused, active sounds were updating their active playbacktime. Change 3419001 on 2017/05/02 by Ori.Cohen Added GetNumSimulatedAndAwake so that we can easily test for jitter. Change 3419079 on 2017/05/02 by Ori.Cohen Added a jitter automated test. Change 3419213 on 2017/05/02 by mason.seay Reaving content to remove empty engine version warnings Change 3419351 on 2017/05/02 by Ori.Cohen Added automated test for raycasting against landscape from underneath (JIRA UE-39819) It looks like this is currently broken Change 3419356 on 2017/05/02 by Ori.Cohen Updated test with associated JIRA where we first saw this Change 3419478 on 2017/05/02 by Ori.Cohen Added automated test for origin shift regression crash when using aggregates. Change 3420736 on 2017/05/03 by Ori.Cohen Added automated test for moving objects during an overlap callback for UE-41450 #rnx Change 3420803 on 2017/05/03 by Ori.Cohen Added automated test for JIRA UE-18019 #rnx Change 3420835 on 2017/05/03 by Jurre.deBaare Anim modifier BP for release notes Change 3421185 on 2017/05/03 by Ori.Cohen Missing file Change 3422673 on 2017/05/04 by danny.bouimad Fixed the cooked/uncooked lighting issue with AEO_StageFloor. The lights should no longer repeatidly spawn when loading in as sub levels. Change 3422898 on 2017/05/04 by Danny.Bouimad Updating QA Audio Content Change 3422908 on 2017/05/04 by Danny.Bouimad Fixing Automation CIS error 'Can't find file for asset. /Game/Tests/Physics/ISMCStaticSweep_BuiltData' Change 3423508 on 2017/05/04 by Danny.Bouimad Replacing ground truth and adding build data for nonissue Automation CIS failure OverlapCallback Change 3423634 on 2017/05/04 by danny.bouimad Made updates to TM-AnimPhys testmap Change 3423870 on 2017/05/04 by Ori.Cohen Fix wheels separating from vehicle due to world kinematic refactor. Added temp variable for now #jira UE-44624 Change 3423917 on 2017/05/04 by Ori.Cohen Assert_Equal for int returns a bool Change 3425267 on 2017/05/05 by Martin.Wilson Live Link - Add interpolation to subjects - Add connection settings that can be modified in client panel. All subjects modified by a connection use its connection settings - Give live link sources their client Guid so that they can send it with subject data Change 3425303 on 2017/05/05 by Martin.Wilson Missed file from CL 3425267 Change 3430351 on 2017/05/09 by Martin.Wilson Crash fix for live link interpolation Change 3430601 on 2017/05/09 by Benn.Gallagher Disabled clothing perf test temporarily due to stats issues Change 3432669 on 2017/05/10 by Ori.Cohen Temporarily turn off line trace under heightfield test. This is a known bug which won't be fixed until 4.17 Change 3432679 on 2017/05/10 by Ori.Cohen Temporarily turn off check during TLS release on Switch. Change 3434960 on 2017/05/11 by danny.bouimad Disabled content on TM-AnimPhys that was casuing a out of memory when drawing debug lines on switch. Change 3436639 on 2017/05/12 by Danny.Bouimad Updating ground truths and map for OverlapCallBack to fix CIS error. [CL 3437043 by Thomas Sarkanen in Main branch]
2017-05-12 11:21:11 -04:00
virtual TSharedRef<FActiveTimerHandle> RegisterActiveTimer(float TickPeriod, FWidgetActiveTimerDelegate TickFunction) override;
virtual void StraightenConnections() override;
virtual void StraightenConnections(UEdGraphPin* SourcePin, UEdGraphPin* PinToAlign) const override;
virtual void RefreshNode(UEdGraphNode& Node) override;
Copying //UE4/Dev-Blueprints to Dev-Main (//UE4/Dev-Main) ========================== MAJOR FEATURES + CHANGES ========================== Change 2781504 on 2015/11/25 by Mike.Beach Guarding against invalid nodes for deferred graph node actions (add, remove, select), by using TWeakObjectPtr instead of raw UEdGraphNode pointers. #jira UE-23371 #codereview Dan.OConnor Change 2781513 on 2015/11/25 by Michael.Schoell Find-in-Blueprints optimized gathering. Size of data has shrunk in the Asset Registry by up to one fifth the old size! Performance moderately improved. Load and save times of Blueprints increased, less redundant gathering of searchable data. #jira UE-22928 - Optimize Find-in-Blueprints Gathering of Searchable Data Change 2781517 on 2015/11/25 by Michael.Schoell Marked FTimerHandle::Handle as a UPROPERTY(transient) so that Blueprints can check the equality of two instances of the structure. #jira UE-23136 - Remove Item Node Removes All Objects in an Array Change 2781804 on 2015/11/26 by Maciej.Mroz Changed ConformImplementedEvents. #jira UE-23738 BP_RiftMage_Ultimate fails to convert during cooking #codereview Phillip.Kavan, Mike.Beach Change 2781821 on 2015/11/26 by Ben.Cosh This reinstates the blueprint debugging keymaps and adds additional functionality for step over and step out as key maps in the PIE world controls. #UEBP-66 - Blueprint debug keymappings #UE-16817 - Add step-in, step-over, and run until here functions for breakpoints #UE-12481 - The F10 key doesn't work for stepping blueprint debugging #Branch UE4 #Proj GraphEditor, Kismet, UnrealEd, CoreUObject, Slate reviewedby chris.wood Change 2781861 on 2015/11/26 by Maciej.Mroz UE-23626 Converted tower defense game - you cannot click to place towers CodeGenerator generates overriden exported names for events and functions. #codereview Dan.Oconnor, Steve.Robb Change 2782798 on 2015/11/30 by Maciej.Mroz BP C++ conversion: components from SCS calls AttachTo (with ParentSocket parameter). #jira UE-23862 Pawns in TowerDefenseGame don't move in converted build #codereview Phillip.Kavan, Mike.Beach, Dan.Oconnor Change 2782881 on 2015/11/30 by Michael.Schoell Fixed ensure when promoting function graphs from interfaces during interface removal. #jira UE-23717 - Ensure removing an implemented interface when transfering functions Change 2783041 on 2015/11/30 by Maciej.Mroz BP C++ conversion: All variables from Event Graph are listed as class properties. #jira UE-23629 Converted tower defense game - Cam scrolls to upper left when mouse leaves window #codereview Mike.Beach, Dan.Oconnor Change 2783080 on 2015/11/30 by Michael.Schoell Removing an interface function's output parameters will no longer cause Blueprints implementing the function to error. Functions expected as event overrides will accept function graph implementations and give a warning informing that it is unexpected. All function graphs (interfaces, interface implementations, overrides) can be duplicated. Parent function calls will be removed. Duplicating graphs will correct names of objects in child Blueprints. Function overrides of interfaces expected as an event can be deleted. Duplicating graphs while in PIE is no longer possible. When removing an interface, the operation can now be canceled. #jira UE-13335 - Inside a BP Interface, changing a Function output to an input will cause a compile error in the reference bp Change 2783338 on 2015/11/30 by Michael.Schoell New output pins on function result nodes will properly fill out with valid default values. All invalid pins will auto-validate themselves on node reconstruction when opening the Blueprint. #jira UE-1928 - BLUEPRINTS: Default value not supplied for output parameters of function Change 2783742 on 2015/11/30 by Phillip.Kavan [UE-15463] Add special-case handling for failed imports of BPGC-owned component archetype objects on level load. change summary: - modified FLinkerLoad::VerifyImport() to customize the load error messaging for missing component archetype objects Change 2784652 on 2015/12/01 by Ben.Cosh Fix for crash whilst undoing the creation of a macro and currently displaying the tooltip in the blueprint editor. #UE-23955 - Adding a macro graph through MyBlueprint and then calling undo causes a crash updating the macro tooltip. #Branch UE4 #Proj Kismet #CodeReview Chris.Wood Change 2784834 on 2015/12/01 by Michael.Schoell Added functions to convert from string to: Vector, Vector2D, Rotator, Color. #jira UE-23761 - GitHub 1795 : [KismetStringLibrary] Convert String Back Into Vector, Rotator, Float, Adding Support for 2 way conversion! ? Rama PR #1795
2015-12-16 17:17:43 -05:00
virtual void CaptureKeyboard() override;
Copying //UE4/Dev-Niagara to //UE4/Dev-Main (Source: //UE4/Dev-Niagara @ 4074996) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3853627 by Shaun.Kime Merging using OrionDevNiagaraToUE4DevNiagara_DoNotUse VectorVM #tests non-gpu auto tests pass Change 3853628 by Shaun.Kime Merging using OrionDevNiagaraToUE4DevNiagara_DoNotUse Runtime #tests all non-gpu auto tests pass Change 3853629 by Shaun.Kime Merging using OrionDevNiagaraToUE4DevNiagara_DoNotUse Engine\Shaders #tests all non-gpu auto tests pass Change 3853630 by Shaun.Kime Merging using OrionDevNiagaraToUE4DevNiagara_DoNotUse Engine\Plugins\FX #tests all non-gpu auto tests pass Change 3853631 by Shaun.Kime Jonathan's material function from Orion\DevNiagara #tests all non-gpu auto tests pass Change 3853633 by Shaun.Kime Merging using OrionDevNiagaraToUE4DevNiagara_DoNotUse EngineTest #tests all non-gpu auto tests pass Change 3853911 by Shaun.Kime GPU rendering now works #tests GPU tests now pass Change 3854179 by Shaun.Kime Removing dead system #tests now just with a warning Change 3854731 by Shaun.Kime Checkpointing current work #tests n/a Change 3855080 by Shaun.Kime Fixing not all control paths return a value error #tests n/a Change 3856185 by Bradut.Palas MultiStack with pinning support. #jira UE-53459 #tests none Change 3856615 by Shaun.Kime Preventing a null pointer dereference when copying unallocated data #tests auto tests pass Change 3856622 by Shaun.Kime Getting rid of the bogus get alias method #tests auto tests pass Change 3856644 by Shaun.Kime Adding the ability to query the number of filtered triangles, index those triangles directly, and compute the position, velocity, UV, and NBT of a triangle. #tests all auto tests now pass Change 3856645 by Shaun.Kime Added several new auto tests and tweaked existing ones. + PerParticleRandom still had some randomness in it + UserColorCurve has a user color curve defined in 3 different components referencing the same system + BasicSkinnedEmitter has 4 skinning sub-tests, attached as a subcomponent, referencing a world skeletal mesh, using a material filter, and using a bone filter + added a skinning module that spawns based off exec index and a data interface that queries the number of triangles on a skeletal mesh. #tests auto tests pass Change 3856675 by Shaun.Kime Fixing crash on delete of an emitter #tests removed one and multiple emitters from active multi-emitter. No crash #jira UE-54378 Change 3860613 by jonathan.lindquist New dynamic input Change 3862549 by Shaun.Kime Missing last known good images Change 3864525 by Simon.Tovey Fix for vm compiler crash when using structs as constants. #tests No longer crashes. Change 3864729 by Frank.Fella Sequencer - Fixed a few places which were modifying sequencer data, but not calling the NotifySequencerDataChanged. Change 3864737 by Frank.Fella Niagara - Fix the timeline in the niagara editor plus other fixes. + Turned on looping in the timeline by default. + Added simulation options to control playback in the editor, including turning off auto-play, disabling reset on change, and disabling resimulation when changing while paused. + Added a buttons to the timeline for each renderer an emitter has which shows a renderer specific icon and will allow navigation directly to the renderer with future stack changes. + Fixed issues in the emitter life cycle and spawn rate modules which were preventing delay and looping from working consistently. (includes auto-test) + Added top level metadata for modules. + Added the ability to add metadata to a module and it's inputs to allow it to be edited directly using timed sections in the timeline. Currently configured for the emitter life cycle module. + Changed the way the "MaxSimTime" on niagara component works so that it now represents the maximum frame time which should be used when seeking the component to the desired age. This previously was the maximum amount of simulation time to run which would prevent simple effects from simulating quickly, and would also allow more complicated effects to hang the UI while seeking. + Changed the behavior of niagara component when seeking to desired age so that it always uses the exact specified seek delta instead of trying to seek to the exact desired age. + Fixed the component so that systems which are seeking to the desired age in the editor no longer draw in fast forward mode. + Changed the default playback range for effects in the timeline from 1000 seconds to 10 seconds, and fixed the timeline so that the playback range is serialized into the asset which will persist the setting across loads. + Fixed scrubbing in the timeline so that it doesn't immediately reset when scrubbing backwards. + Added a button to the timeline track for enabling and disabling isolation mode for emitters. + Added a checkbox to the timeline to enabled and disable emitters from the timeline. + Fixed PinToNiagaraVariable so that it asserts if bNeedsValue is specified and it can't actually provide a value. + Create a class called FNiagaraStackFunctionInputBinder which allows binding to an input of a function on a stack so that you can easily set and get the value of the input without having to worry about modifying the graph or rapid iteration parameter sets directly. #tests Existing auto-tests and 1 new test for life cycle changes. Change 3867179 by Frank.Fella Niagara - Turn off GPU simulation for test assets for Shaun. Change 3869201 by Simon.Tovey Bypassing JonLs issue #tests no longer crashes. Change 3869897 by Frank.Fella Niagara - Fix crashes when using the skeletal mesh data interface. NOTE: The change to the actual skeletal mesh data interface code doesn't seem needed, but without it, it crashes with the stomp allocator on. We'll have to investigate further. Change 3870487 by Frank.Fella Niagara - Always generate cached skin data immediately, and make sure we're not indexing triangles that don't exist. This is a temporary fix to avoid a crash when changing the skeletal mesh source on an effect in the level from the details panel. Change 3877378 by Frank.Fella Niagara - Update the burst and lifecycle modules with new metadata for incoming timeline changes. Change 3877564 by Frank.Fella Sequencer - Fix a few more places which were modifying sequencer data without calling NotifyMovieSceneDataChanged. Change 3877565 by Frank.Fella Niagara - Remove old unused burst code from some runtime classes. Change 3877567 by Frank.Fella Niagara - Add support for keying bursts on the timeline which is configured using script metadata. Change 3877699 by Frank.Fella Niagara - Fix a crash in the new timeline code for when you have bursts, but you have inputs on the emitter lifecycle bound, also set lower bound of view range of the timeline to be -.1 so that you can more easily interact with keys at 0. Change 3877715 by Frank.Fella Sequencer - Update the change type when pasting keys from the clipboard from Unknown to TrackValueChanged to avoid unnecessary work. From code review on last change. Change 3879285 by Simon.Tovey A couple of fixes for using struct constants #tests Jon's case now compiles and works correctly. Change 3879378 by Frank.Fella Niagara - Fix a few spots where recursive graph traversal was visiting nodes multiple times because of diamonds in the pin connections. This reduces a terrible hang in UNiagaraScriptSource::InitializeNewRapidIterationParameters from 5 minutes to 5 seconds but there are futher issues to investigate becasue even 5 seconds it too long. Change 3879858 by Shaun.Kime Moved the VM script compilation to the DDC in order to facilitate better team compilation behavior. Significant changes to the translator and overall compile workflow to make the data behave better for a future multi-threaded compilation path. In order to know when to compile, a key is generated that uses the compile id's of the graphs that influence the compilation of our node. In this way, if an end user goes and edits a function or module and checks in, the overall compile id will not match b/c that function is in the dependency list of a system downstream. The system will then know to recompile. However, everyone else on the team will generate the same key because the asset in question was checked in with its local compile id already changed. Additionally, we now employ change tracking on traversals from a node graph. These traversals walk through all the nodes leading to a given output node and see if they've been altered. If they have, a new compile id is generated. If not, the old compile id is used. This also means that if you edit a particle update section in the stack, the emitter section won't force the system to recompile. GPU scripts now have their own script slot rather than riding alongside particle spawn scripts. This allows us to address them independently in the translator and put them in the DDC as well. Once the text is generated, we then go back out to the DDC to generate the shader associated. Known issues: + Emitters are sometimes marked dirty on open + Nodes connected to event writes aren't part of the hashing + DataInterface signature changes don't dirty the compiles + Struct changes don't dirty the compiles + On system loading, we go out to the DDC instead of using existing scripts, which is slower.. #tests all auto-tests pass, additional tests run to validate proper behavior Change 3879859 by Shaun.Kime Content update post DDC change Change 3879862 by Shaun.Kime Niagara plugin content to ddc Change 3879958 by Frank.Fella Niagara - Actually fix the bad recursion in this function by using the existing traversal method. Change 3881727 by Damien.Pernuit Niagara - Houdini - Created a separate plug-in for the Houdini CSV Data Interface. Change 3881877 by Simon.Tovey Fix for mac compile issue Change 3882773 by Simon.Tovey Actual fix for Mike Change 3882822 by Shaun.Kime Rather than throw a check, I instead emit an error when we can't match up a data interface and instantiate a CDO version. Not perfect, but this will let you recompile. #tests allows me to open jonathan's file Change 3883538 by Shaun.Kime Moving particle-level scripts to compile with the emitter named Emitter in their internal scripts. This simplifies the dependencies quite a bit, but causes some complexity on the wiring side (most of which we were already doing anyway). Getting rid of some allocations in translation (still more to go). Fixed some of the logic for emitters that had modules of the same name to now properly concatenate. Compile version bumped, so all scripts will be forced to recompile. Not saving this into the test files for now, as I expect this to happen a bit for the near term. #tests all auto-tests pass, creating a new emitter and system on PC works Change 3883552 by Shaun.Kime Fixing renaming to work properly now. It just invalidates the system script compile id's, forcing it to auto-compile. #tests auto-tests pass Change 3884722 by Bradut.Palas Added searchbar with basic name search for Niagara stack #tests none #jira UE-53469 Change 3884793 by Shaun.Kime Adding pragma once #tests no longer complains about duplicate definition Change 3885629 by Wyeth.Johnson Setting up a transient meshrotation framework pre-integration Change 3887440 by Wyeth.Johnson Custom HLSL failure for Shaun Change 3888911 by Bradut.Palas stack search box now has a minimum width of 300 pixels #tests none Change 3890843 by Shaun.Kime Creating a Niagara quaternion type. #tests created in editor, saw default was correct, carried through to VM runtime through attribute viewer Change 3890849 by Shaun.Kime Porting over 4.19 fix to Dev-Niagara #tests allows creation of valid scripts even when ini is cleared. Change 3891088 by Frank.Fella Sequencer - When getting selected tracks for the external selection api, include tracks if any of their child nodes are selected. This matches the behavior object guid external selection. Change 3891114 by Bradut.Palas Fixing crash that sometimes happens if a stack tree changes while a stack search is active #tests none Change 3891131 by Frank.Fella Sequencer - Move section headers for bool, int, vector, and color to the public directory so they can be used by the niagara level sequence integration. Change 3891165 by Wyeth.Johnson error for shaun Change 3891354 by Shaun.Kime Adding Quat struct to more locations. Now treated like hlsl float4. #tests EulerToQuaternion now compiles Change 3891463 by Bradut.Palas Fix crash that sometimes happens when deleting module and hitting Ctrl-Z to undo (the condition for removing the listeners from the rootentry should not be tied to the validity of weak pointers for system and emitter, because sometimes they are out of sync when changing the graph) #tests none Change 3891641 by Wyeth.Johnson resave node Change 3893143 by Shaun.Kime Fixing issue where you try to bind a vertex color sampler to a mesh without it. We failthe binding rather than crash due to a check later. Also fixed up error logging to only mention the one that failed. #tests can open NiagaraSystem'/Game/FX/SkeletalMeshDissolve/EmittersAndSystems/FightSceneDissolve.FightSceneDissolve' with an error.. Change 3893528 by Bradut.Palas fix another crash when search results are invalidated during search #tests none Change 3893830 by Shaun.Kime Fix for copy & paste of comment boxes #tests can now copy and paste comment boxes Change 3894012 by Bradut.Palas no longer executing search tick if the rootentry is null #tests none Change 3894828 by Frank.Fella Niagara - Runtime changes to support sequencer animation + Reset the simulation when force solo is changed on the component. + Invalidate the render data and clear the buffers when resetting to avoid previously rendered particles from drawing. + Automatically sync the override parameters in the component when the source assets exposed parameters change and removed forced syncing from various places. + Remove lots of refresh code from the niagara component details which should not be neccessary anymore. #TESTS Ran autotests, tested through the UI while building the sequencer tests asests. Change 3894832 by Frank.Fella Niagara - Level sequence support for spawning and animating system life cycle and select user parameter types. #Tests Ran existing tests and added a new test to verify added functionality. Change 3896944 by Bradut.Palas safeguard entries with no search items (it actually can be null) #tests none Change 3896948 by Bradut.Palas Fix assert when dereferencing source array (no need for a raw pointer to the array since it's initialized with the content anyway) #tests none Change 3896950 by Bradut.Palas fix compile error with previous commit #tests none Change 3897698 by Frank.Fella Niagara - Fix some safety issues with parameter initialization on the niagara component. + Kill the current system if we synchronize parameters to avoid issues with data interface lifetime. + Always sync parameters when the asset is set to prevent missing data interfaces in the override list. + Add an enum to control how data interface parameters are handled when calling CopyParametersTo. + When the system instance is copying the asset parameters, have it copy data interfaces by reference so that it's not creating data interfaces copies which will be deleted at the next garbage collection. #Tests Auto-tests, also doesn't crash anymore when opeining Jonathan's disolve effect and then opening a level. Change 3897953 by Frank.Fella Niagara - Remove some namespace restrictions from the code that generates the available parameters to read from in the stack UI since it was preventing the use of custom namespaces in modules and it was not clear what issue it was solving since we already prevent scripts from addressing parameters from lower level scripts. Also move user parameters to their own menu section. #Tests Custom namespaces are usable again in the stack. Change 3898926 by Bradut.Palas Fix for crash caused by garbage collection and async search #jira UE-55284 (Stack search doesn't work on collapsed entries) now searching through unfiltered children, will need extra fixes on the stack to eliminate "ghost" results" Both are still under code review, submitting because they are simple to rollback and harmless to other features. #tests none Change 3899069 by Shaun.Kime Parallel compilation Major changes: Rather than a custom streaming version that we know influences a rebuild, I'm moving away to a guid that you need to regenerate if you change the compiler in any meaningful way needed for multiple reasons, 1) if two people are making changes to the compiler, having something other than a guid as the value makes the content of the ddc ambiguous 2) when iterating I often need to make multiple changes to get to a working final result, bumping the version number each time that happens gets old fast We fully clone the input graph to do the compile in the background. While the translation step is not a huge amount of time, it keeps the main thread responsive. We currently have a big critsec around the crosscompiler to bytecode as it isn't threadsafe. Future changes will push this to the ShaderCompilerWorker. #tests all tests pass as well as stress tests around saving while compilng, long compile times, etc. Change 3899071 by Shaun.Kime Fixing the availability flags for system and emitter scripts. #tests all auto tests pass Change 3899077 by Shaun.Kime Fixing assets to have their wait on compile finished checkbox checked in the editor for testing #tests n/a Change 3899114 by Wyeth.Johnson Random bool custom hlsl node Change 3899184 by Bradut.Palas implemented categories for module inputs (now inputs can be assigned a category in the module editor and they will be grouped by those categories in the Niagara stack) #tests none Change 3899329 by Bradut.Palas fix broken commit by adding missing new files NiagaraStackInputCategory.cpp and .h #tests none Change 3899439 by Yannick.Lange Niagara reroute node. Change 3899516 by Shaun.Kime Official angle conversion modules. #tests made a local test emitter that converted back and forth between angles. Results were correct. Change 3900193 by Shaun.Kime Fixing build #tests now compiles Change 3900474 by Shaun.Kime Fixes to help Mac compile #tests n/a Change 3901131 by Simon.Tovey Warmup feature. CPU Sim only. Also has ability to advance simulation by tick count or seconds via BP/C++. Includes some engine tests. #tests editor + autotests Change 3901455 by Frank.Fella Niagara - Add WITH_EDITORONLY_DATA to prevent non-editor compile failures. Change 3902477 by Frank.Fella Niagara - Fix FNiagaraEditorTypeUtilities to be a thread safe TSharedFromThis since it's always created with a thread safe shared pointer, also fix up issues related to this change. Fixes a crash which occurrs when it's the target object of a delegate binding. #Tests adding a curve data interface to a parameter collection no longer crashes. #jira UE-55403 Change 3903478 by Shaun.Kime No longer doing the check if compiling on load is enabled as this always forces different change ids' #tests n/a Change 3903783 by Shaun.Kime Trimming down excess log spew #tests auto-tests pass Change 3905753 by Shaun.Kime Made Sine(Degrees), Sine(Radians), and Sine, and the variants thereof for trig functions. #tests n/a Change 3905759 by Shaun.Kime Auto tests for mesh orientation #tests these now pass Change 3905762 by Shaun.Kime These files needed to be resaved for some reason to keep passing. Change 3906727 by Bradut.Palas Curve UX improvements #jira UE-55134 #tests none Change 3908177 by Shaun.Kime Fixing build due to typo #tests now compiles Change 3908199 by Shaun.Kime Trying to fix compilation when destroying objects. We cannot safely attach anything beneath us at this point ,we just need to clear out the queues. #tests normal work day-to-day Change 3908201 by Shaun.Kime Working to fix crashes where the component was destroyed out from underneath us due to PIE shutting down and we have a Niagara item editable in Blueprint or world editor. #tests n/a Change 3908985 by Bradut.Palas Renaming ColorCurveAsset to CurveAsset to better reflect the actual usage of the variable (fixing copy-paste issue) #tests none Change 3909222 by Yannick.Lange Niagara graph connection colors Change 3909436 by Bradut.Palas fix crash in curve ux when importing a linear curve (curve of floats) #tests none Change 3909561 by Bradut.Palas Updating LUT before sending NotifyPostChange when editing curves inline (so that LUT will not go out of sync) #tests none Change 3910010 by Yannick.Lange Use new Niagara Actor icon Change 3910191 by Yannick.Lange Fix viewport widget showing up in the viewport when pressing W, E or R. #jira UE-55142 Change 3910213 by Frank.Fella PropertyEditor - PropertyRowGenerator - Added features and fixes to support integration into niagara's stack view. + Added a method to get filter/search strings for an IDetailTreeNode to support external searching and filtering. + Added a delegate to the layout builder for when one of it's owned nodes has it's visibility forcibly changed by a customization. + Changed the filtering so nodes are generated for properties marked as advanced. + Pass the notify hook down to the detail utilities so that change notifications work as expected. + Add layout data for the widgets returned from the IDetailTreeNode to prevent alignment and sizing issues in custom implementations. Change 3910307 by Frank.Fella PropertyEditor - Missed in last checkin. Change 3910509 by Frank.Fella Niagara - Removed nested details panels from the stack and integrate them properly plus other fixes. + Generate rows for nested objects using the details panel property row generator. + Fix the horizontal sizing for niagara parameter editors. + Add an IsValid() method to the base niagara stack entry so that derived classes can know if the associated view models are still valid when processing events. This is a temporary measure to fix a crash in the user parameter UI. + Set stack entries to be expandable by default and delete usages which were setting it to true. + Highlight the active search result with a border since property rows can't highlight text. Change 3911653 by Frank.Fella Niagara - Fix stack spacer sizing. Change 3911667 by Frank.Fella PropertyEditor - Actually fix the notify hook handling in the property row generator. Change 3911896 by Yannick.Lange Niagara function input context menu. Change 3911900 by Yannick.Lange Project setting for not showing comment bubbles. Change 3911996 by Yannick.Lange Niagara fix if node persistent guids for older nodes. The OutputVarGuids are always synced on PostLoad. Change 3912221 by Wyeth.Johnson Renderer Icons for timeline Change 3912608 by Bradut.Palas stack style refactor #jira UE-55399 #tests none Change 3913063 by Wyeth.Johnson Icons for stack added, including new system param png Change 3913618 by Shaun.Kime Fixing two of the most common Illegal call to StaticFindObject() errors while compiling. #tests ran through compilation after changes. Change 3914369 by Bradut.Palas Using new SystemParams.png icon provided by Wyett (instead of the old "Parameters.png") #tests none Change 3914782 by Wyeth.Johnson Adjusting icon for update to not indicate "flow" Change 3915738 by Shaun.Kime Moving away from the generic and super-slow EdGraphSchema ShouldAlwaysPurgeOnModification being true to using the same mechanism we use to invalidate the compile to synchronize nodes. This should be substantially faster. #jira UE-55463 #tests ran through a variety of tests creating and wiring nodes Change 3915739 by Shaun.Kime Assignment nodes need to invalidate the graph for compile. Change 3915741 by Shaun.Kime Making default values more accessible and making it possible to route renderers to use different values than the defaults. #tests n/a Change 3915798 by Frank.Fella SearchBox - Add options to show the number of search results and an option to show a throbber when a search is active. Change 3915966 by Shaun.Kime Changing the default for velocity to 0,0,0 as requested by Wyeth #tests n/a Change 3915982 by Shaun.Kime Making the default text more readable #tests n/a Change 3916237 by Frank.Fella PropertyEditor - Change the DetailCategoryBuilderImpl so that it sets the horizontal alignment to fill for value widgets when generating stand alone widgets so that the behavior in the property row generator matches the behavior of the property grid. Change 3916240 by Frank.Fella Niagara - Should prevent some recent crashes due to stack entry delegates and lifetime. Change 3916261 by Frank.Fella Niagara - Lots of minor stack ui fixes and adjustments + Tweaked padding in a bunch of different places. + Added a dark background behind the stack and stack header to prevent the colors from bleeding together. + Fixed the group text not being white anymore. + Hooked up new features of the search box for showing the search result data and an is searching throbber. + Fixed an issue where the current search result couldn't be interacted with. + Fix some other inconsistencies with searching where you might jump more than one result. + Replace the checkbox for showing curve in the curves tab with an icon based button. (icon is placeholder) Change 3916833 by Shaun.Kime Fixing issue where the system wasn't set to wait for compilation on load, sometimes leading to failures for auto-tests #tests this test now passes when forced to recompile Change 3916846 by Shaun.Kime Missed one system in the scene. #tests n/a Change 3917458 by Shaun.Kime Fixing another potential race condition on the DDC. #tests n/a Change 3918349 by Frank.Fella Niagara - Invalidate the node visuals when reallocating pins. #Jira UE-55698 Change 3918783 by Olaf.Piesche Correct 'temp' to 'Temp' in map set Change 3919262 by Shaun.Kime We weren't properly updating the default values for user data interface components when tweaked in the editor. #tests open skinned mesh auto test system change the preview for the user skinned mesh to be SK_Mannequin_Niagara. It now updates, it didn't before. Change 3919602 by Shaun.Kime Fixing the skeletal mesh to now clamp to the end of the index buffer for safety as well as adding IsValidTriCood. This lets us keep going even when swapping out the skeletal mesh underneath. Tested out isvalidtricoord in the test skinning module. #tests auto tests pass #codereivew simon.tovey Change 3921701 by Yannick.Lange Make Vector2 and Vector4 default blue color to be consistent with blueprints. Change 3922331 by Damien.Pernuit Niagara - Houdini - Added support of CSV File as UAsset (HoudiniCSV) Modified the Data Interface to use the CSV asset instead of the imported buffers from the CSV File Path. Added some new functions to the DI: GetLastParticleIndexAtTime() GetCSVPositionAndTime() GetCSVVectorValue() GetCSVFloatValueByString() Change 3923118 by Simon.Tovey PS4 compile fix. Change 3924934 by Bradut.Palas fix Mac compile issues #jira UE-55426 #tests none Change 3925168 by Bradut.Palas Curve logspamming #jira UE-55593 #tests none The UpdateCompiledDataInterfaces would end up comparing LUTs when copying curves and the source LUT was out of date. Change 3925366 by Frank.Fella Slate - SMenuAnchor - Fix the implementation of "BelowRightAnchor" to align the right edge of the menu with the right edge of the anchor. There aren't any other usages of this in the engine as far as I can tell, hopefully people weren't relying on the broken behavior in a game somwhere. Change 3925423 by Frank.Fella Niagara - Remove the large add buttons from the stack and add smaller add buttons in the group headers. Change 3925877 by Olaf.Piesche New collision modules, separating query, linear and angular impulse; Solve forces and velocity takes care of integrating f->v->p and fA->vA->O; linear impulse module would probably be cleaner by zeroing velocity on collision and calculating a force instead of setting new velocity directly Change 3926582 by Simon.Tovey PS4 compile fix Change 3927401 by Shaun.Kime Fixing events due to added member #tests all tests pass as of 3925423 with this change Change 3927496 by Shaun.Kime Getting auto-tests to run Questions: Why did I have to recompile the GPU tests... something is missing in their key generation? Resaved several files. #tests almost all pass now Change 3927582 by Shaun.Kime Fixing last failing auto test #tests all tests now pass Change 3927924 by Simon.Tovey Chunk level vm parallelism. Any execution processing > batch_size chunks will go wide. The batch size is 4 currently but adjsutable via vm.ParallelChunksPerBatch. VM parallelism can be disabled by vm.Parallel 0 Change 3927990 by Shaun.Kime Submitting redirector Change 3928426 by Frank.Fella Niagara - Always propagate rapid iterations parameters when merging an emitter. Change 3929823 by Frank.Fella Niagara - Fix hlsl generation for system/emitter spawn script so that we read the engine and user parameters from the data set instead of initializing them to 0. #Tests Full recompile + auto-tests Change 3929983 by Simon.Tovey Curve LUT Interpolation + updated test altered by it. Change 3930551 by Frank.Fella Niagara - Fix what looks like a copy/paste error in the SNiagaraSelectedEmitterGraph destructor which was preventing clean removal of delegates and causing a crash. #Tests closing the "Selected Emitter Graph" tab and then changing the selected emitter no longer crashes. Change 3932695 by Damien.Pernuit Niagara - Houdini: Houdini CSV Asset: - Packed vector values in the CSV file are now properly supported (not just for Position/Normal) and can be of any size. - Added support for reimporting Houdini CSV files. - Added an "open in text editor" entry in the context menu. - Improved error/warning logging during the parsing of the file Houdini Niagara Data Interface: - Added GetParticleIndexesToSpawnAtTime(): New helper functions returning the min index, max index and number of particles to be spawned for a given time value. Uses an internal LastSpawnIndex to avoid spawning the same particles twice. - Modified GetLastParticleIndexAtTime(): If the CSV file doesn't have time informations, returns false and set the LastIndex to the last particle If desiredTime is smaller than the first particle, LastIndex will be set to -1 If desiredTime is higher than the last particle in the csv file, LastIndex will be set to the last particle's index Change 3933425 by Shaun.Kime Made the spreadsheet debugger capable of capturing in-world systems as long as they are solo'ed. #tests have been running with it for several days, debugging real-world assets stably Change 3933986 by Frank.Fella Niagara - Fixed a bug with merging where added dynamic inputs which changed names could end up with the wrong rapid iteration parameters. Also fixed an issue where added dynamnic inputs would be renamed when they didn't need to be. #Tests Engine tests and fixes custom repro. Change 3934052 by Frank.Fella Niagara - Added a console command to dump rapid iteration parameters for a system or emitter asset. Change 3934436 by Simon.Tovey Fixes for sprite VF depth test failure issue Change 3934658 by Frank.Fella Niagara - Make disabled modules visually distinct. #Tests General stack use. Change 3935383 by Shaun.Kime Fixing mac compile errors #tests n/a #jira UE-55911 Change 3935420 by Yannick.Lange Niagara parameter UI first version. Change 3935482 by Yannick.Lange Add missing files for parameters Change 3935591 by Shaun.Kime more macos compile #tests na Change 3935637 by Shaun.Kime Reverting to prior behavior #tests na Change 3936541 by Yannick.Lange Remove the merge up menu entry for set variables module items. Change 3936841 by Wyeth.Johnson Bool comparison dynamic input Change 3936895 by Simon.Tovey A few perf improvements and fixes to the SetSolo transfering between solo and batched so all lightning sims can run batched after they're warmded up. Change 3936899 by Simon.Tovey Missed a file Change 3937178 by Krzysztof.Narkowicz Fixed bHasSkipOutputVelocityParameter for shaders without PreviousLocalToWorldMatrix (e.g. particles) #jira UE-50914 Change 3937222 by Yannick.Lange Random event spawn Change 3937292 by Yannick.Lange Fix Adding a new parameter then renaming it the default name deletes the new parameter #jira UE-55994 Change 3938472 by Yannick.Lange Fix new parameters in emitters saving by using the editable emitter. Change 3938474 by Yannick.Lange - Store graphs as weak object pointers in the parameter UI. - Allow right mouse menu on parameters in the system toolkit. - Refresh only the parameter actions when deleting an entry instead of refreshing the graphs aswell. Change 3938525 by Yannick.Lange Fix creating an unique FName every tick for parameterstores by using a FString instead. Change 3938596 by Shaun.Kime Macos compile #tests n/a Change 3939362 by jonathan.lindquist Adding a new Component Spacing input to the debug value functions. This will allow users to make better use of space when debugging values. Change 3939365 by Shaun.Kime Back out changelist 3936895 and 3936899 Leaving in some changes around stats as they should be harmless. These changes were removed b/c they added poor perf to Jonathan's dissolve effect and also caused multiple tests to fail in engine tests. #tests all tests pass besides Yannick's FName/FString warning, with the exception of BPTimeControl, Hypnotizer, and MeshOrientation, which seem to be off by one frame, but have been consistently off for several days (CL 3929823 had same issues for me) Change 3939367 by jonathan.lindquist Adding greyscale output Change 3939368 by jonathan.lindquist Changing the pin order Change 3939377 by Shaun.Kime Allows the unnormalized lut table flag to be copied over #tests all tests pass besides Yannick's FName/FString warning, with the exception of BPTimeControl, Hypnotizer, and MeshOrientation, which seem to be off by one frame, but have been consistently off for several days (CL 3929823 had same issues for me) Change 3939379 by Yannick.Lange Rename FParameterStore Name to DebugName to prevent loading a FName into a FString with existing assets. Change 3939382 by Shaun.Kime Adding the ability to have a default curve index with a custom switch node. #tests all tests pass besides Yannick's FName/FString warning, with the exception of BPTimeControl, Hypnotizer, and MeshOrientation, which seem to be off by one frame, but have been consistently off for several days (CL 3929823 had same issues for me) Change 3939383 by Shaun.Kime Converting existing curves over to using the new default pin #tests all tests pass besides Yannick's FName/FString warning, with the exception of BPTimeControl, Hypnotizer, and MeshOrientation, which seem to be off by one frame, but have been consistently off for several days (CL 3929823 had same issues for me) Change 3939501 by Shaun.Kime Submitting missing files #tests n/a Change 3939580 by Wyeth.Johnson Default curve indexing to three more DIs Change 3940122 by Yannick.Lange Parameters view: - Jump to new parameter added and request rename for new parameter. - Remove adding parameters to the parameterstore when a pin is requested. - Only show make new parameters in the dropdown to add a new parameter. - Use Sections of UI as types instead of int32. Change 3940214 by Bradut.Palas fix crash when rename skeletal mesh user variable #jira UE-55236 #tests none Change 3940215 by Bradut.Palas undo not working in graph editor #jira UE-55466 #tests none Overriding the BreakPinLinks methods to include a transaction Change 3940250 by Bradut.Palas Creating stats tab in module toolkit to show LastOpCount #tests none Change 3940251 by Bradut.Palas #jira UE-55684 create inline menus for stack #tests none Change 3940262 by Simon.Tovey Back out changelist 3939365 with fixes Tests all now pass Change 3940333 by Shaun.Kime Nullptr check #tests n/a Change 3940338 by Krzysztof.Narkowicz Niagara sprite particles - implemented get previous position in order to fix sprite particle motion vectors #jira UE-52865 Change 3940407 by Yannick.Lange Create pin on map get and set node when dragging without recompiling the graph. Change 3940534 by Shaun.Kime Making sure that collision returns defaults of 0 if nothing was found. #tests auto-tests that have been passing still pass Change 3940709 by Simon.Tovey Temp hacks for the skeletal mesh painting issues. Change 3940960 by Yannick.Lange Only build parameter menu once when graphchanged is called multiple times in a frame. Also use the existing metadata from graph to build the parameter menu, because the metadata already looped through all nodes and pins. Change 3941019 by Yannick.Lange Meta data UI refresh next tick to avoid refreshing multiple times a tick. Change 3941853 by Simon.Tovey Adding more dynamic parameters Change 3941957 by Frank.Fella Property Editor - Fix issues with property row generator to support the niagara stack. + Make the detail tree node name accessible through the interface, and fix the implementations for category group and property item. + Add a temporary fix for passing instance customizations from the property row generator to the detail property row through the detail layout builder. This should be unified in a nicer way, but this will work for the time being. Change 3942174 by Frank.Fella Niagara - Stack UI Pass + Advanced rows are not handled properly per item. + Expanded and scroll state is now saved in editor data per asset. + Added a "View Options" drop down for showing all advanced rows, and for showing/hiding outputs. + Added an option to collapse all stack items from the emitter header context menu. + Added support for "Edit Conditions" on module and dymaic inputs which will enable and disabled an input based on the value of another input. This includes showing a checlbox inline for the edit condition toggle input. + Added support for "Visible Conditions" on module and dynamic inputs which will hide and show inputs based on the value of another input. + Removed the pencil icon for locally editable values in the stack. + Fixed issues with invisible search results. It's still possible for a search result to not highlight the text correctly, but the outline never disappears. + Removed pinning for module inputs. + Fixed the event handler properties so that they use the property row generator instead of an embedded details panel. + Unified indent handling across all stack classes. + Unified stack editor data across all stack classes. Change 3942427 by Simon.Tovey Another hack for vertex painting tool Change 3942453 by Simon.Tovey Some more hacks for skel mesh vertex painting until Jurre's rework is ready. Change 3942799 by Yannick.Lange Rebuild metadata, input and output parameters UI next frame instead of on every graph changed call. Change 3942833 by Frank.Fella Niagara - Fix the visibility of the advanced expander item. Change 3942923 by Yannick.Lange Revert using metadata for parameters to looping through pins to find parameters in maps not connected to anything. Temporary fix to remove used parameters if they are found in the graph. Change 3943094 by Wyeth.Johnson Rollback //UE4/Dev-Niagara/Engine/Plugins/FX/Niagara/Content/Modules/Spawn/Location/SphereLocation.uasset to revision 5 Change 3943154 by Wyeth.Johnson Metadata to sphere location module Change 3943256 by Wyeth.Johnson Testing out sweet new metadata control Change 3943374 by Olaf.Piesche Fixing mesh motion blur Change 3943382 by Olaf.Piesche Turning on base pass velocities until I can fix separate vel pass for particles Change 3943471 by Yannick.Lange Emitter view stats only show particles count. Use Niagara.EmitterStatsFormat 0 and 1 to switch between all data and only particle count. Default is 1 to only show particle count. Change 3943497 by Yannick.Lange Paramater map remove FTickableEditorObject and use SWidget::Tick Change 3943589 by Olaf.Piesche -Fix for linear impulse (offset by 1/2*velocity*dt instead to avoid distracting bounciness) -Collision Rest; add after impulse modules to make particles rest if in collision under threshold velocity magnitude Change 3943644 by Olaf.Piesche Turn shader development mode back off Change 3943718 by Olaf.Piesche Fix vertex factories Change 3943776 by Olaf.Piesche Properly calculate old particle position using dt for velocity rendering Change 3943780 by Frank.Fella Niagara - Fix ensure when removing dynamic inputs due to incorrect logic which would have left unused nodes in the graph. Change 3943870 by Yannick.Lange Parameter drag drop window Change 3943994 by Frank.Fella Niagara - Fix some editor settings not saving across sessions. Change 3944056 by Shaun.Kime Updating to replace values reset when Wyeth resaved files. #tests DrawOrderGPU, DrawOrder, and TestDifferentInactiveEmitters now pass Change 3944068 by Simon.Tovey Back out of my changes to vertex painting and replaced with Jurre's fixes. Change 3944174 by Frank.Fella Niagara - Fix stack categories so that they don't freak out when the stack is refreshed, and also remove the uncategorized heading and move uncategorized inputs to the top. Change 3944313 by Shaun.Kime Updated screenshots after motion blur Change 3944321 by Shaun.Kime Fixing error message to be clearer about a disconnected Get node. #tests n/a Change 3944351 by Shaun.Kime Making safe against weak pointers going away. Track error encountered by Jonathan. #tests n/a Change 3944368 by Yannick.Lange Remove automatic adding prefix "particles." when renaming functioninput. Change 3944383 by Shaun.Kime Just adding some more nullptr check #tests n/a Change 3944384 by Shaun.Kime Providing more context for a check that existed previosuly and was encountered by Wyeth today #tests n/a Change 3944872 by Yannick.Lange Remove old material parameter node. Change 3945209 by Shaun.Kime Fixing possible infinite recurson on child array size of zero #tests n/a Change 3945865 by Yannick.Lange Spreadsheet filter for output attributes Change 3946091 by Simon.Tovey Per particle sorting for translucent sprites and meshes Change 3946095 by Simon.Tovey Updated screens for dynamic param tests Change 3946378 by Olaf.Piesche Another sprite motion blur fix Change 3946864 by Shaun.Kime SkinnedMesh per-instance data requires 16 byte alignment due to usage of FMatrix. We were not guaranteeing that in our per-instance data system. We are now enforcing that to be true by aligning all memory size requests. #tests autotests pass Change 3946928 by Wyeth.Johnson Skeletal mesh location metadata. THIS VERSION ALSO CRASHES ON SAVE FYI Change 3946934 by Frank.Fella Niagara - Clean up rapid iteration parameters on compile. #Tests - Fixes the jira below, all auto tests which were currently passing still pass, and GDC effects load and look correct. #jira UE-55932 Change 3946936 by Frank.Fella Niagara - Fix crash when undoing adding a dynami input. Change 3947213 by Simon.Tovey Fix for thread safety in collision data interface. Previously I'd made them thread safe between VM chunks but they already weren't safe between system instances. Change 3947279 by Simon.Tovey Fixed thread safety issue with niagara global dynamic buffer Change 3947788 by Simon.Tovey Fix enum property warnings Change 3947849 by Olaf.Piesche Normalize orientation quats. Safety first. Change 3947877 by Frank.Fella Niagara - Fix a crash when editing meta-data for a module currently open in a system or emitter editor stack. This updates the FNiagaraStackFunctionInputBinder to track the lifetime of the default pin correctly. Change 3948445 by jonathan.lindquist Inverting alpha output Change 3948615 by Olaf.Piesche Don't access data layouts that are invalid because their bindings don't exist Change 3949361 by Yannick.Lange Command to expand all groups and collapse all items of those groups in the stack. Change 3949365 by Yannick.Lange Missing file for change 3949361 Change 3951123 by Simon.Tovey Fix bug with dynamic parameters in Niagara mesh particle VFs Change 3951199 by Simon.Tovey Fix for issues caused by unsafe reads of GT data from RT Change 3951293 by Olaf.Piesche Workaround for jittering particles with collision at rest state; will need to revisit after GDC Change 3951533 by Yannick.Lange Collapse parameter menu by default Change 3952106 by Frank.Fella Niagara - Fix data interface input initialization when inserting modules and dynamic inputs. We now put all inputs into categories in the stack and this code didn't handle that. Change 3954809 by Frank.Fella HoudiniNiagara - Add include to fix CIS incremental build. Change 3954857 by Frank.Fella Niagara - Accept newer versions of 3 automated tests images as they are stable and still look correct for what they are testing. Change 3954935 by Frank.Fella Niagara - Fix a crash in the skeletal mesh sampling info details customization when a mesh has no skeleton. Change 3954969 by Simon.Tovey Compile fix for gpu emitters Change 3955012 by Frank.Fella Niagara - Fix clang and deprecation warnings. Change 3955988 by Olaf.Piesche Fixing collision queries (separating line query trace direction and velocity, so we can look a frame ahead properly); various fixes to the impulse modules; rest module now allows for color change when particles are set to rest. This checkin should stabilize collision dynamics substantially. Change 3956730 by Yannick.Lange Cleanup parameter Change 3957065 by Bradut.Palas enable/disable mechanism for renderers #tests none Change 3957802 by Olaf.Piesche -Removing Velocity parameter from collision query DI, since velocity at query time is known and can just be passed along in temporary parameter; this stops the compiler from falling over in unity builds and also makes the Perform Query function more sane as an actual line check -Put some safeguarding against non-collisions (v.n>0) reported as intersections into the collision query module to avoid instances of particles being pushed through geometry -Updated modules to use the new function signature #tests modular explosion test map, EngineTests Change 3957804 by Olaf.Piesche Updated tests for 3957802 Change 3957859 by Frank.Fella Niagara - Add missing #if to fix some of the nightly build errors. Change 3958065 by Olaf.Piesche Fix GPU sim hlsl for the collision data interface; should make GPU collision bounce test run again Change 3958302 by Olaf.Piesche modified test for sane depth bounds; accepting new results; some changes to hlsl for collision data interface Change 3959007 by Simon.Tovey Further defining the barrier between GT and RT data. Not finished yet, especially for GPU sims but we're heading in the right direction. Change 3960004 by Bradut.Palas QOL change, now committing search text in the stack (pressing enter) will jump to the next occurrence. #tests none Change 3960019 by Frank.Fella Niagara - Preemptively fix up stack related header includes to avoid manual merges. Change 3964217 by Bradut.Palas Fixing compile issue after renderer enable feature(the Isolate features require the WITH_EDITORONLY_DATA preprocessor directive to be enabled) #tests none Change 3964581 by Frank.Fella Niagara - Get things compiling again after merge. Mostly include fixes and commeting out lots of sequencer related stuff that needs to be fixed. Change 3965057 by Frank.Fella Niagara - Fix compile issues in the houdini plugin. Also add the houdini pluging to EngineTest so that it compiles by default when running tests. Change 3965075 by Frank.Fella Niagara - Fix another include issue that was caught on the build machine. Change 3965308 by Frank.Fella Niagara - One more header fix. Should fix the win64 build in CIS. Change 3965313 by Frank.Fella Niagara - Fix in editor playback. The timeline data is still broken. Change 3965482 by Yannick.Lange Stack source taken apart into different files. Change 3965863 by Shaun.Kime Fixes scope level variable definition causing my local build to fail #tests n/a Change 3965866 by Shaun.Kime Crash fix when the module is missing. Now show an error message as well as checking for script validity before calling method on it #tests n/a Change 3968174 by Frank.Fella Niagara - Fix more merge fallout. The emitter/system editor timeline now matches the stack data again. Change 3968183 by Frank.Fella Niagara - Delete commented out include from merge. Change 3972162 by Frank.Fella Niagara - Updated level sequence testing assets. Change 3972880 by Shaun.Kime Merging using DevNiagaraToGDC2018 Allowing disabled modules to still influence parameter maps. #tests n/a Change 3973269 by Shaun.Kime Disabling warning about divide by zero as it is often incorrect #tests n/a Change 3973273 by Shaun.Kime Forcing all three planes to be GPU #tests n/a Change 3973307 by Shaun.Kime Fixing CIS win32 errors #tests n/a Change 3973374 by Shaun.Kime Fixing minor static analysis warnings #tests n/a Change 3976107 by Shaun.Kime Updating multiple files as they have the unversioned file warning #tests auto tests now show green Change 3976114 by Shaun.Kime Taking snapshots after the integration for time control to clear automated tests. Frank was uncertain about the current behavior being correct, but didn't want to hold up integration for that. #jira UE-57117 Change 3976119 by Shaun.Kime Makiing GPU shaders contain the dependencies and the compile id's and other items so that they update properly. #tests auto-tests now pass Change 3976449 by Shaun.Kime Adding additional debugging to logs #tests n/a Change 3977172 by Frank.Fella Niagara - Fix issues with the level sequence integration for niagara caused by the integration from main, and accept the new test image. This code should be updated at some point to use the new channel blending in sequencer. NOTE: There is still a timing issue that is evident in the automated test screen shot due to float timing and rounding issues in niagara, but the sequencer code is functioning correctly. Change 3977362 by Bradut.Palas UE-55601 curve snapping not working in Niagara curve editor #tests none Change 3977363 by Bradut.Palas exposed added external asset for function input so it would appear in context menu in the Niagara stack. #tests none Change 3977368 by Bradut.Palas #jira UE-51052 If you undo an emitter rename we get invalid values The CachedUsageInfo got emptied but it didn't get restored by the undo, sending the system in an endless Compile() loop Added a Modify() call in the UNiagaraScriptSource::InvalidateCachedCompileIds() #tests none Change 3978716 by Shaun.Kime Fixing half of CIS static analysis warnings and localization symbol dupe warnings from Jamie Dale #tests auto tests pass other than known level sequence test Change 3978857 by Shaun.Kime The map SpawnTest niagara actor didn't have its wait for compilation flag set, potentially leading to artifacts. Disabling for now as that didn't resolve the issue. Change 3979594 by Shaun.Kime Potential fix for cook on Orion #tests n/a Change 3979713 by Shaun.Kime Fixing several more CIS static analysis warnings as well as duplicate localization string warnings from Jamie Dale #tests n/a Change 3980017 by Shaun.Kime Fixing CIS static analysis warnings as well as duplicate localization string warnings from Jamie Dale #tests n/a Change 3981859 by Shaun.Kime Fixing crash in Paragon when the normals buffer was not present during startup with just UI screens. #jira UE-57188 #tests got through to paragon main screen, related auto-tests pass Change 3982685 by Shaun.Kime For some reason, when Lightmass is spinning off workers, the render thread is null, causing us to trigger checks that we shouldn't trigger when killing of system instances. #jira UE-57214 #tests all auto-tests pass Change 3983902 by Simon.Tovey Speculative fixes for mac errors regarding niagara vertex decls. Change 3984023 by Andrew.Rodham Sequencer: No longer upgrade bIsInfinite for section types that do not support open ranges Change 3986727 by Wyeth.Johnson Fixed add velocity from point to work in more situations, not cause errors regardless of stack location, made it more programmable with inputs, and added metadata Change 3988114 by Wyeth.Johnson fixed color and inherit parent vel Change 3989175 by Simon.Tovey Improved VM error reporting. #tests engine tests Change 3995007 by Yannick.Lange Parameter menu in system layout Change 3995192 by Yannick.Lange Fix niagara script details panel search Change 3995291 by Yannick.Lange Parameter menu tooltip fix Change 3997804 by shaun.kime Lookup table is off for this. Keys are 0,0 and 1,1, so you'd expect normalized age as a sampler to just return the same value from lookup. If LUT is disabled, this is true. If LUT is enabled, it isn't, especially the farther one gets from 0. Change 3998124 by Simon.Tovey Fixed Curve LUT generation #tests editor #jira UE-57604 Change 3998286 by Wyeth.Johnson Fixed normalized execution index to, you know, work. Change 4000324 by Shaun.Kime Replacing a thread-safety issue where we get an enum on an as-needed basis. This was causing crashes in cooking as you cannot find from the global table while serializing. #tests have not gotten the crash since Change 4000428 by Bradut.Palas UE-55750 focus curve editor when "show" button is pressed UE-55791 user variable curves cannot be shown in the Curve tab These issues were related and touched the same area of code, so I fixed them together. UE-55791 is basically just getting curve data from the system exposed variables too. #tests none Change 4001094 by Frank.Fella Niagara - Fix slowdown in the metadata editor due to delegate rebinding. Change 4001098 by Frank.Fella Niagara - Remove the tool tip from the additional options drop-down for modules since it covers the drop down menu. Change 4001133 by Bradut.Palas Fix curve editor getting focused each time a curve was changed. #jira UE-57708 #tests none Change 4001253 by Frank.Fella PropertyEditor - Fix issues with external root handling. + Fix external nodes not being cleaned up correctly when custom node builders rebuild children. + Fix expanded state being trampled when processing external nodes due to the expanded nodes list being emptied every time RestoreExpandedItems was called. + Fix performance issues with refreshing during tick by moving all calls to RestoreExpandedItems to UpdateFilteredDetails, and then only calling UpdateFilteredDetails once per tick as needed instead of per root property node and per root external node. Change 4003365 by Shaun.Kime If the physical material has gone away, make sure to set value values. Note that if this data interface is going to go on in parallel to the game thread, we'll need something more sophisticated. #tests Win64 tests pass Change 4003367 by Shaun.Kime Making sure that the system has finished compiling before we begin cooking. #tests n/a Change 4003374 by Frank.Fella Niagara - Fix a crash when adding and removing modules and dynamic inputs with data interfaces. #jira UE-57749 Change 4003696 by Shaun.Kime Getting rid of whitelist, now open on all platforms. #tests n/a Change 4005368 by Shaun.Kime Fixing compile error on Linux #tests n/a Change 4013779 by Shaun.Kime Interpolated spawn on GPU does not yet work but checkpointing work. + Added AdditionalDefines to the VMCompileId, switched interpoalted spawn to use that + Added rough interpolated spawn support to translator by refactoring away from specific calls and hard-coded update/spawn somewhat... could improve for events + Revised shader variables away from Phase0/Phase1 terminology to the true Update/Spawn meaning. Leaving the phase numbers as an implementation detail within the usf. + Added ToString to ParameterStores for debugging + Changed GPU ExecIndex() logic to actually work similar to the VM #tests collision gpu fails Change 4015355 by Simon.Tovey Persistent IDs final. Still need to change the compile ID parts over to use the new additional defines but the core functionality is in. #tests editor + engine tests Change 4018445 by Simon.Tovey Some missing assets Change 4021647 by shaun.kime Moving jonathan's DebugParticleData to Niagara Extras Change 4024809 by Yannick.Lange Parameter map hover text using metadata description. Change 4025042 by Wyeth.Johnson Dogfooding the skeletal Mesh location module w/ comments, reroute pins, map gets and sets, metadata, tooltips, etc. Change 4025236 by Shaun.Kime Working on getting interpolated spawning working. Submitting to get assistance from Simon. ... PLEASE DON'T SYNC UNLESS YOU'VE SPOKEN TO ME... #tests collision test on GPU is better, but not yet right.. ribbon id emitter is ensuring on LUT table generation Change 4025372 by Shaun.Kime Making the debug particle data stay the same size as the base particle for easier debugging. #tests n/a Change 4025701 by Shaun.Kime Debug asset for Simon #tests n/a Change 4027865 by Shaun.Kime Fixing parameter map stores to properly handle reset. Previously was leaving around padding info from previous version of the script which could be totally wrong. #tests now don't crash Change 4029638 by Wyeth.Johnson Refactor Skeletal mesh location module to test some ideas on coding standards and shake out workflow issues Change 4030135 by Shaun.Kime Interpolated spawning now works on the GPU. #tests collision gpu has stray collisions and the GenerateLocationEvent was recently updated that broke . will fix in a later update Change 4030197 by Wyeth.Johnson Refactor static mesh location module Change 4033437 by Simon.Tovey Adding a few simple new functions for direct access to vertex positions for cannabis.cod3r. Change 4033937 by Shaun.Kime Setting the wait for compilation flag #tests now pass consistently Change 4034391 by Shaun.Kime Created a parameter map default node to start default call chains.Updated standard modules and dynamic inputs. #tests all previoulsy passing tests pass Change 4035002 by Shaun.Kime Updated to work with latest main integration #tests n/a Change 4035523 by Wyeth.Johnson Refactor Cone stuff to coding standards, replace some things with functions Change 4035672 by Shaun.Kime Fixing build warnings #tests n/a Change 4036887 by Wyeth.Johnson Some metadata, some optimization, some additional refactoring and swapping in functions. Straight Dogfoodin' Change 4037132 by Shaun.Kime Adding GPU test versions of several assets Change 4037241 by Wyeth.Johnson Optimizing, metadata, and making some coding standards changes Change 4037436 by Wyeth.Johnson Fixing a pointless module to make it... pointful? Change 4037629 by Frank.Fella Niagara - Fix issues with data interfaces as parameters + Collect data interface reads and writes from parameter maps during compilation so they can be hooked up a runtime. + Add new runtime parameter stores for systems and emitters at runtime which bind the exposed data interfaces into the execution contexts. + Fix the editor code which updates the compiled data interfaces so that it updates the correct ones regardless of where they are defined. + Fix an issue where failed compiles weren't being propgated to the UI correctly. Change 4037832 by Shaun.Kime Properly handling nullptr references #tests deleting a module from the stack after it was recently refreshed now doesn't crash Change 4037917 by Wyeth.Johnson Fix add velocity from point (needed begin defaults), reorg, comment and metadata Change 4038250 by Wyeth.Johnson Big refactor of spawn per unit Change 4038665 by Shaun.Kime Events now take parameter map in/out pins #tests now the events auto-tests should pass Change 4038723 by Shaun.Kime Now renderers can say if they are compatible with the SimTarget mode. #tests now changing to GPU doesn't crash a light renderer Change 4038731 by Shaun.Kime Missing file from prior checkin #tests n/a Change 4038742 by Shaun.Kime Attempting to fix editor build, which is unfortunately fine on my machine #tests n/a Change 4040069 by Wyeth.Johnson Refactor of Event Generator and Event Receiver, new coding standards for events Change 4040377 by Wyeth.Johnson Refactor the solver to adhere to coding standards (and remove some reroute pins, sorry Shaun) Change 4040639 by Wyeth.Johnson Vector Noise Force refactor and optimization Change 4041031 by Shaun.Kime Making the modulo functions on the gpu return a value. #tests passes cook on PS4 and gets past this in compile on Mac Change 4041254 by Wyeth.Johnson Refactor Point Attraction, change some behavior also Change 4041999 by Yannick.Lange Parameters refactor: - Find parameters and references in graph - Renaming parameters, includes renaming all pins in the graph - Removing parameters - Find metadata when finding parameters, so we are not looping through all nodes/pins twice - Parameters list supports multiple emitters in systems Change 4042058 by Simon.Tovey Refactored GPU parameters. - Shader now uses the DI default object to create the correct parameters struct. All parameter and buffer management now being handled inside this parameter struct. This allows far more encapsulated code for each DI. Allows us to reamove the GPU buffers from and the Scene texture refs that were in the base DataInterface class. Simplifies the API and process of implementing DI's on the GPU considerably. - Removed all existing GPU buffer support code and usage. All DIs now use a parameters struct. - Have moved tons of curve code into the base class, simplifying the child implementation classes. - Implemented GPU curve interpolation. - Removed bAllowUnnormalizedLUT. Confusing and now unnessessary. All curves do this by default. - Modified FNiagaraShaderMapId to use the latest FNiagaraCustomVersion::LatestScriptCompileVersion and bumped it. - Created NiagaraCore module and moved a few classes into it. Anything needed by both the shaders and runtime should be here. - Refactored DI hierarchy to base from a new UNiagaraDataInterfaceBase which is inside NiagaraCore. - Removed constness from many UStruct/UEnum/UClass pointers. Technically we don't ever need these to be non const so initialy coded as const. Some existing engine code however requires these be non const so had to propagate that back through our code. Change 4043427 by jonathan.lindquist Submitting a material function that will allow users to reproduce mesh surfaces. Change 4043448 by Olaf.Piesche Async GPU buffer readbacks and updates Change 4043679 by Shaun.Kime Fixing Mac compile issue. Not sure if correct, but unused code so good for now. #tests n/a Change 4044000 by Simon.Tovey static analysis fix Change 4044001 by Simon.Tovey Fix for gpu scripts with multiple curves. Change 4044124 by Yannick.Lange Fix persistent guid for parameter map set pins. Change 4044230 by Simon.Tovey I didn't forget to check these in. Nothing to see here.... *whistling*.... Change 4044584 by Bradut.Palas Module dependency properties are now available (to be used by technical artists before the functionality is done and submitted) #jira UE-58200 #tests none Change 4044663 by Wyeth.Johnson Jitter position needed begin defaults, got a refactor which I was in there Change 4044894 by Yannick.Lange Rename parameter and all referenced pin when renaming a pin on a map set or get. Also fixes renaming a pin not deleting the old metadata. Change 4045383 by Wyeth.Johnson Fix up and comment/tooltip on mesh rotation, look at, and rot rate Change 4045488 by Wyeth.Johnson Update Age reorg just for readability Change 4045799 by Shaun.Kime Reworking test art to get rid of known issues and put known issues into their own assets. Change 4046328 by Wyeth.Johnson Some optimizations, options to polar/cartesian, starting in on Dynamic Inputs Change 4046728 by Shaun.Kime Fixed error where we were writing to Loca.Module.EventVelocity instead of Local.Module.EventVelocity. Change 4047423 by Frank.Fella Niagara - Fix post load code for the assignment node which was not conditionally post loading another object it was using which now has a custom post load. This resulted in strange pin renaming which was breaking merging and automated tests. Change 4047425 by Frank.Fella Niagara - Make the merge manager a little more resistant to malformed stacks. Change 4047788 by Bradut.Palas #jira UE-57902 Module input sort priority #tests none Change 4048063 by Yannick.Lange Fix don't show context menu on parameter view categories. #jira UE-57196 Change 4048068 by Yannick.Lange Fix create system from emitter #jira UE-57186 Change 4048132 by Yannick.Lange Add missing includes. Change 4048269 by Shaun.Kime Removing ensure that we log later #tests n/a Change 4048273 by Shaun.Kime Really doing it this time #tests n/a Change 4048595 by Yannick.Lange Fix niagara if node input disconnect on output pin rename. #jira UE-58095 Change 4049640 by Simon.Tovey Daft mistake in curve hlsl gen. Change 4050270 by jonathan.lindquist Submitting a module that lerps each of a particle system's intrinsic particle values. Each variable set utilizes an opt-in bool. Change 4050282 by jonathan.lindquist Submitting newly formated Mesh Reproduction modules. They now contain documentation, be fully generalized and meet our updated coding standards. Change 4050566 by Olaf.Piesche -More fixes and changes for async gpu buffer readback -removed more CPU intervention; spawning and death now happen largely without CPU direction, other than determining the number of particles to spawn -Added piping number of vert indices per instance from the renderer down to the GPU context and CS; as a result, GPU simulated mesh emitters are working again; this will need a bit of additional work to handle multiple renderers (will need multiple DrawIndirect parameter buffers reflecting the different renderers) -General cleanup and prettification Change 4050907 by Frank.Fella Niagara - Add support for default dynamic inputs on modules and dynamic inputs. Change 4051436 by Simon.Tovey Forcing a refresh of curve LUTs on assets with old versions. Change 4051463 by Simon.Tovey Compile fix Change 4051900 by Frank.Fella Niagara - Fix linux warning. Change 4052253 by Olaf.Piesche GPU sim interpolated spawn fixes - Look Ma, no gaps! Change 4052321 by Frank.Fella Niagara - Enable the level sequence test. Change 4052353 by Shaun.Kime Renamed variable after Wyeth's change #tests MeshOrientationTests now pass Change 4052627 by jonathan.lindquist Submitting a new spline function. Change 4052648 by Shaun.Kime PS4 development builds don't seem to be able to remove generated data for structs like this even though it is in a non-editor build. #tests n/a Change 4052661 by Olaf.Piesche -Avoid branching on every OutputData operation by allocating a scratch instance at the buffer end and setting the default index from AcquireIndex to that. -bit of shader code cleanup Change 4052706 by jonathan.lindquist Adding a module that supports a single segment spline Change 4052712 by jonathan.lindquist Adding a below threshold output to the direction and length safe function Change 4052786 by jonathan.lindquist Submitting a new height lerp function Change 4053126 by jonathan.lindquist Submiting a function that calculates a triangle's surface area. Change 4053132 by jonathan.lindquist Changing the category to geometry Change 4053141 by jonathan.lindquist Moving the asset back to a generic math category Change 4053166 by jonathan.lindquist Submitting a new threshold function that removes threshold downtime. Change 4053564 by Shaun.Kime Added staging to ini as requested by cook #tests n/a Change 4053619 by Shaun.Kime Fixing defaults #tests used by Orion art Change 4054171 by Yannick.Lange Remove bold font for parameters. Change 4054183 by Yannick.Lange Syncing system exposed parameters and parameters list. Includes adding, removing and renaming parameters. Change 4054313 by Wyeth.Johnson Refactor spawnrate to (mostly, other than a bug) conform to coding standards, and set begin defaults on a few things. Change 4054840 by Shaun.Kime Fixing redundant branch for CI #tests n/a Change 4055492 by Shaun.Kime Updating compile version since I changed the usf #tests n/a Change 4055550 by Shaun.Kime Disabling rendering of middle module as it differs between machines. #tests LevelSequenceTestsNiagara now passes Change 4056256 by Shaun.Kime Disabling the ensure and turning into log statements for curve copying #tests n/a Change 4056287 by Shaun.Kime Now using GLobalCompileShader. There are still issues with cooking as there is sometimes a runtime streaming error that we didn't read in the correct amount of data. I think the logic for when/if we stream out the compiled shader might still need TLC. #tests n/a Change 4056381 by jonathan.lindquist A new quat to angle axis and angle axis to quat conversion mat function Change 4056513 by Frank.Fella Niagara - Fix crashes for default data interfaces where the pin default was empty or the data interface wasn't initialized. #jira UE-58789 Change 4056734 by Frank.Fella Niagara - Drag and drop for modules. Change 4056880 by Simon.Tovey Replacing engine tests shots for RibbonID test. Some slight changes introduced, likely curve or recent module changes. Change 4056894 by Bradut.Palas UNiagaraStackEntry Error refactoring + Module dependency warning feature. #jira UE-58199, UE-58200 #tests none Change 4056916 by Bradut.Palas Add missing files from shelved changelist. #tests none Change 4056937 by Bradut.Palas #jira UE-54678 The skeletal mesh customisation did not update when the mesh was changed through the data interface or mesh editor #tests none Change 4057014 by Frank.Fella Niagara - Fix cis initializer order warning. Change 4057542 by Bradut.Palas #jira UE-58554 Remove Refresh UI button from Niagara script editor #jira UE-58555 Remove Numeric Output Type Selection Mode from Niagara script UI #tests none Change 4057702 by Bradut.Palas The stack editor priority in the variable metadata now properly has zero as default value. #jira UE-58740 Change 4057758 by Frank.Fella Niagara - Fix text wrapping for error items. Change 4057990 by Bradut.Palas Stack error tweaks (added error count to the stack errors button and also updating icon according to highest severity issue in the subtree) #tests none Change 4057996 by Shaun.Kime Trying to fix the static analysis header tool error in CIS #tests n/a Change 4058027 by Shaun.Kime Fixing compilation on other platforms #tests compiles on playstation Change 4058356 by Frank.Fella Niagara - Fix an assert that happens when adding a module or dynamic input with a boolean or enum input. Change 4058428 by Frank.Fella Niagara - Fix a crash when removing an input from a set variables node in the stack which was caused by the function losing an input without the stack being refreshed. This also fixes an issue where add and remove actions on a set variables module wouldn't take affect until the graph was compiled. Change 4059924 by Wyeth.Johnson Rollback //UE4/Dev-Niagara/Engine/Plugins/FX/Niagara/Content/Modules/Spawn/Velocity/AddVelocity.uasset to revision 5 Change 4060256 by Wyeth.Johnson Forces are now dependent on a solver Change 4060430 by Wyeth.Johnson Velocity modules depend on a solver Change 4060949 by Shaun.Kime Fixing pragma once definition as well as a possible null deref #tests n/a Change 4060955 by Shaun.Kime Fixing due to changes in defaults #tests all now pass PC Change 4061000 by jonathan.lindquist Debug particle material improvements which includes comments in the shader, rearranged layout with a vector 2 input for particle id, new texture, a new instance that includes "focus masking" Change 4061804 by Wyeth.Johnson Optimized out a couple unnecessary bits of math from some axis alignment stuff, solver dependencies Change 4061974 by Simon.Tovey Fixed GPU cooking. - Removing check for emitter SimTarget in CanBeRunOnGpu() and relying only on the script usage having been loaded already. We can't rely on properties in the emitter being loaded before the call to UNiagaraScript::PostLoad() so this is unsafe. - Adding some dummy gpu buffers to bypass validation ensures in rhi when we need to set params for SRVs that have not been allocated yet. - Fixed bug in RHI that was returning FGPUFenceRHIParamRef and so the created fence was immediately freed and boom. Change 4062269 by Shaun.Kime Re-enabling most of the tests. #test n/a Change 4062414 by tim.gautier QAGame: Updated QA-Effects for mobile compatibility - Removed Atmospheric Fog (not supported on Mobile) - Added SkySphere (resolved lighting issues) Change 4062651 by Shaun.Kime Saving with versions Change 4062673 by Shaun.Kime Making emitter names without spaces so that they can be blacklisted if need be Change 4062686 by Shaun.Kime Getting ready for CI for 4.20 Change 4062687 by Shaun.Kime Updating mac images Change 4063298 by Shaun.Kime Disabling collision test gpu for now. Need to investigate what broke it tomorrow. #tests CollisionBounceGPU Change 4063373 by Shaun.Kime Blacklisting mac tests that still need work Change 4063434 by Shaun.Kime Cleaning out previous debug code #tests n/a Change 4063618 by Yannick.Lange Fix dragging an input pin to the add pin of an if node #jira UE-58600 Change 4063847 by Frank.Fella Niagara - Rename RibbonSortKey to RibbonLinkOrder, change it from an int32 to a float, and disable uv age offset when using link order instead of normalized age to order particles in the ribbon. This should fix the issues preventing beams from being implemented nicely. #tests Auto-tests Change 4064150 by tim.gautier QAGame: Removing floating NewWidgetBP from /Content Change 4064237 by Shaun.Kime Disabling the level sequence test for now Change 4064902 by Shaun.Kime Fixing compile errors on linux editor build #jira UE-58620 #tests n/a Change 4065167 by tim.gautier QAGame: Submitting temporary update to TM-ShaderModels, adding Niagara station Change 4065400 by tim.gautier QAGame: Submitting updated (temp) TM-ShaderModels. Set NewNiagaraEmitter to Local Space by default Change 4065540 by Frank.Fella Niagara - Temporarily disable the module dependencies until they can be fixed. Change 4065570 by Shaun.Kime Fixing linux build #tests n/a #jira UE-58979 Change 4066753 by Shaun.Kime Updating custom version after previous change to shader includes #tests autotests pass Change 4067981 by Frank.Fella Niagara - Fix potential null dereference found by CIS #jira UE-59013 Change 4067998 by Shaun.Kime Nullpointer checks on shutdown #jira UE-59000 Change 4068104 by Frank.Fella Niagara - Change the prefix for the previous parameter values from PREV__ to PREV_ since the cross compiler reserves all symbols with double underscores for opengl. Change 4068118 by Frank.Fella Niagara - Fix an open GL crash where we weren't passing the correct buffer index when setting parameters for compute shaders. Change 4069299 by Olaf.Piesche Async GPU readback/update mobile platform fixes CPU particles should work on Android #jira UE-58986 Change 4069603 by Shaun.Kime Making it possible to see the debug output if the console variables are set for shaders. #tests auto-tests pass Change 4069628 by Shaun.Kime OpenGL is very picky about shutting down its texture buffers. We were improperly holding onto static resources and leaking OpenGLShaderResourceViews until module shutdown. Unfortunately, this is *after* the renderer has been shut down and the corresponding OpenGL managers have been deleted, causing us to call into deleted memory. By making several classes FRendererResources, we now register at the appropriate times. In several cases, since the buffers are special purpose fallbacks I moved them into helper locations that are build on demand. Removed FNiagaraVertexFactoryBase::DummyBuffer Created FNiagaraDummyRWBufferInt and FNiagaraDummyRWBufferFloat so that I could wrap several dummy RW buffers in RendererResources and TGlobalResource. Removed NiagaraEmitterInstanceBatcher::DummyWriteIndexBuffer #tests all auto-tests pass on PC and OpenGL and we can open and close OpenGL after using Niagara assets #jira UE-59000 Change 4069646 by Shaun.Kime Disabling Niagara component activation on Switch. This is an attempt to bypass a crash after the assets have been loaded on Switch. #tests auto-tests on PC still pass #jira UE-59048 Change 4069660 by Shaun.Kime Updated Niagara version #tests Auto tests pass Change 4069714 by Shaun.Kime Fixing Olaf's checkin prior adding offset to the base readback call #tests autotests pc pass Change 4070785 by Olaf.Piesche Make RWBuffer available on Metal, Vulkan, and ES3.1 with SRVs Change 4070888 by Olaf.Piesche #jira UE-57657 Reenable ribbon custom facing mode Change 4071570 by Shaun.Kime Removing thread pool size log item as it comes up thousands of times in a cook and is purely for debugging. #tests n/a Change 4071926 by Shaun.Kime Disabling Olaf's change from earlier in the day as it doesn't work on PS4. #tests Ribbon test now works again Change 4073700 by Shaun.Kime Fixing compiler warning about float4 being used as a float. #tests pc auto tests pass #jira UE-59157 [CL 4075457 by Shaun Kime in Main branch]
2018-05-16 12:53:39 -04:00
virtual void SetNodeFactory(const TSharedRef<class FGraphNodeFactory>& NewNodeFactory) override;
virtual void OnAlignTop() override;
virtual void OnAlignMiddle() override;
virtual void OnAlignBottom() override;
virtual void OnAlignLeft() override;
virtual void OnAlignCenter() override;
virtual void OnAlignRight() override;
virtual void OnStraightenConnections() override;
virtual void OnDistributeNodesH() override;
virtual void OnDistributeNodesV() override;
virtual int32 GetNumberOfSelectedNodes() const override;
virtual UEdGraphNode* GetSingleSelectedNode() const override;
virtual SGraphPanel* GetGraphPanel() const override;
// End of SGraphEditor interface
protected:
//
// COMMAND HANDLING
//
bool CanReconstructNodes() const;
bool CanBreakNodeLinks() const;
bool CanSummonCreateNodeMenu() const;
void ReconstructNodes();
void BreakNodeLinks();
void SummonCreateNodeMenu();
// SGraphEditor interface
virtual void OnGraphChanged( const FEdGraphEditAction& InAction ) override;
// End of SGraphEditorInterface
---- Merging with SlateDev branch ---- Introduces the concept of "Active Ticking" to allow Slate to go to sleep when there is no need to update the UI. While asleep, Slate will skip the Tick & Paint pass for that frame entirely. - There are TWO ways to "wake" Slate and cause a Tick/Paint pass: 1. Provide some sort of input (mouse movement, clicks, and key presses). Slate will always tick when the user is active. - Therefore, if the logic in a given widget's Tick is only relevant in response to user action, there is no need to register an active tick. 2. Register an Active Tick. Currently this is an all-or-nothing situation, so if a single active tick needs to execute, all of Slate will be ticked. - The purpose of an Active Tick is to allow a widget to "drive" Slate and guarantee a Tick/Paint pass in the absence of any user action. - Examples include animation, async operations that update periodically, progress updates, loading bars, etc. - An empty active tick is registered for viewports when they are real-time, so game project widgets are unaffected by this change and should continue to work as before. - An Active Tick is registered by creating an FWidgetActiveTickDelegate and passing it to SWidget::RegisterActiveTick() - There are THREE ways to unregister an active tick: 1. Return EActiveTickReturnType::StopTicking from the active tick function 2. Pass the FActiveTickHandle returned by RegisterActiveTick() to SWidget::UnregisterActiveTick() 3. Destroy the widget responsible for the active tick - Sleeping is currently disabled, can be enabled with Slate.AllowSlateToSleep cvar - There is currently a little buffer time during which Slate continues to tick following any input. Long-term, this is planned to be removed. - The duration of the buffer can be adjusted using Slate.SleepBufferPostInput cvar (defaults to 1.0f) - The FCurveSequence API has been updated to work with the active tick system - Playing a curve sequence now requires that you pass the widget being animated by the sequence - The active tick will automatically be registered on behalf of the widget and unregister when the sequence is complete - GetLerpLooping() has been removed. Instead, pass true as the second param to Play() to indicate that the animation will loop. This causes the active tick to be registered indefinitely until paused or jumped to the start/end. [CL 2391669 by Dan Hertzka in Main branch]
2014-12-17 16:07:57 -05:00
private:
/** One-off active timer to ensure the graph is refreshes as needed */
EActiveTimerReturnType TriggerRefresh( double InCurrentTime, float InDeltaTime );
---- Merging with SlateDev branch ---- Introduces the concept of "Active Ticking" to allow Slate to go to sleep when there is no need to update the UI. While asleep, Slate will skip the Tick & Paint pass for that frame entirely. - There are TWO ways to "wake" Slate and cause a Tick/Paint pass: 1. Provide some sort of input (mouse movement, clicks, and key presses). Slate will always tick when the user is active. - Therefore, if the logic in a given widget's Tick is only relevant in response to user action, there is no need to register an active tick. 2. Register an Active Tick. Currently this is an all-or-nothing situation, so if a single active tick needs to execute, all of Slate will be ticked. - The purpose of an Active Tick is to allow a widget to "drive" Slate and guarantee a Tick/Paint pass in the absence of any user action. - Examples include animation, async operations that update periodically, progress updates, loading bars, etc. - An empty active tick is registered for viewports when they are real-time, so game project widgets are unaffected by this change and should continue to work as before. - An Active Tick is registered by creating an FWidgetActiveTickDelegate and passing it to SWidget::RegisterActiveTick() - There are THREE ways to unregister an active tick: 1. Return EActiveTickReturnType::StopTicking from the active tick function 2. Pass the FActiveTickHandle returned by RegisterActiveTick() to SWidget::UnregisterActiveTick() 3. Destroy the widget responsible for the active tick - Sleeping is currently disabled, can be enabled with Slate.AllowSlateToSleep cvar - There is currently a little buffer time during which Slate continues to tick following any input. Long-term, this is planned to be removed. - The duration of the buffer can be adjusted using Slate.SleepBufferPostInput cvar (defaults to 1.0f) - The FCurveSequence API has been updated to work with the active tick system - Playing a curve sequence now requires that you pass the widget being animated by the sequence - The active tick will automatically be registered on behalf of the widget and unregister when the sequence is complete - GetLerpLooping() has been removed. Instead, pass true as the second param to Play() to indicate that the animation will loop. This causes the active tick to be registered indefinitely until paused or jumped to the start/end. [CL 2391669 by Dan Hertzka in Main branch]
2014-12-17 16:07:57 -05:00
FText GetZoomText() const;
FSlateColor GetZoomTextColorAndOpacity() const;
bool IsGraphEditable() const;
/** Helper function to decide whether to display the graph in a read-only state */
bool DisplayGraphAsReadOnly() const;
bool IsLocked() const;
void RegisterContextMenu(const class UEdGraphSchema* Schema, struct FToolMenuContext& MenuContext) const;
class UToolMenu* GenerateContextMenu(const class UEdGraphSchema* Schema, struct FToolMenuContext& MenuContext) const;
static FName GetNodeParentContextMenuName(UClass* InClass);
static FName GetNodeContextMenuName(UClass* InClass);
static void AddContextMenuCommentSection(UToolMenu* InMenu);
---- Merging with SlateDev branch ---- Introduces the concept of "Active Ticking" to allow Slate to go to sleep when there is no need to update the UI. While asleep, Slate will skip the Tick & Paint pass for that frame entirely. - There are TWO ways to "wake" Slate and cause a Tick/Paint pass: 1. Provide some sort of input (mouse movement, clicks, and key presses). Slate will always tick when the user is active. - Therefore, if the logic in a given widget's Tick is only relevant in response to user action, there is no need to register an active tick. 2. Register an Active Tick. Currently this is an all-or-nothing situation, so if a single active tick needs to execute, all of Slate will be ticked. - The purpose of an Active Tick is to allow a widget to "drive" Slate and guarantee a Tick/Paint pass in the absence of any user action. - Examples include animation, async operations that update periodically, progress updates, loading bars, etc. - An empty active tick is registered for viewports when they are real-time, so game project widgets are unaffected by this change and should continue to work as before. - An Active Tick is registered by creating an FWidgetActiveTickDelegate and passing it to SWidget::RegisterActiveTick() - There are THREE ways to unregister an active tick: 1. Return EActiveTickReturnType::StopTicking from the active tick function 2. Pass the FActiveTickHandle returned by RegisterActiveTick() to SWidget::UnregisterActiveTick() 3. Destroy the widget responsible for the active tick - Sleeping is currently disabled, can be enabled with Slate.AllowSlateToSleep cvar - There is currently a little buffer time during which Slate continues to tick following any input. Long-term, this is planned to be removed. - The duration of the buffer can be adjusted using Slate.SleepBufferPostInput cvar (defaults to 1.0f) - The FCurveSequence API has been updated to work with the active tick system - Playing a curve sequence now requires that you pass the widget being animated by the sequence - The active tick will automatically be registered on behalf of the widget and unregister when the sequence is complete - GetLerpLooping() has been removed. Instead, pass true as the second param to Play() to indicate that the animation will loop. This causes the active tick to be registered indefinitely until paused or jumped to the start/end. [CL 2391669 by Dan Hertzka in Main branch]
2014-12-17 16:07:57 -05:00
void GetPinContextMenuActionsForSchema(UToolMenu* InMenu) const;
void ExecuteBreakPinLinks(const FToolMenuContext& InContext) const;
bool IsBreakPinLinksVisible(const FToolMenuContext& InContext) const;
bool IsBreakThisLinkVisible(const FToolMenuContext& InContext) const;
bool HasAnyLinkedPins(const FToolMenuContext& InContext) const;
void ExecuteSelectConnectedNodesFromPin(const FToolMenuContext& InContext) const;
void SelectAllNodesInDirection(const UEdGraphPin* InGraphPin) const;
bool IsSelectConnectedNodesFromPinVisible(const FToolMenuContext& InContext, EEdGraphPinDirection DirectionToSelect) const;
EActiveTimerReturnType HandleFocusEditorDeferred(double InCurrentTime, float InDeltaTime);
---- Merging with SlateDev branch ---- Introduces the concept of "Active Ticking" to allow Slate to go to sleep when there is no need to update the UI. While asleep, Slate will skip the Tick & Paint pass for that frame entirely. - There are TWO ways to "wake" Slate and cause a Tick/Paint pass: 1. Provide some sort of input (mouse movement, clicks, and key presses). Slate will always tick when the user is active. - Therefore, if the logic in a given widget's Tick is only relevant in response to user action, there is no need to register an active tick. 2. Register an Active Tick. Currently this is an all-or-nothing situation, so if a single active tick needs to execute, all of Slate will be ticked. - The purpose of an Active Tick is to allow a widget to "drive" Slate and guarantee a Tick/Paint pass in the absence of any user action. - Examples include animation, async operations that update periodically, progress updates, loading bars, etc. - An empty active tick is registered for viewports when they are real-time, so game project widgets are unaffected by this change and should continue to work as before. - An Active Tick is registered by creating an FWidgetActiveTickDelegate and passing it to SWidget::RegisterActiveTick() - There are THREE ways to unregister an active tick: 1. Return EActiveTickReturnType::StopTicking from the active tick function 2. Pass the FActiveTickHandle returned by RegisterActiveTick() to SWidget::UnregisterActiveTick() 3. Destroy the widget responsible for the active tick - Sleeping is currently disabled, can be enabled with Slate.AllowSlateToSleep cvar - There is currently a little buffer time during which Slate continues to tick following any input. Long-term, this is planned to be removed. - The duration of the buffer can be adjusted using Slate.SleepBufferPostInput cvar (defaults to 1.0f) - The FCurveSequence API has been updated to work with the active tick system - Playing a curve sequence now requires that you pass the widget being animated by the sequence - The active tick will automatically be registered on behalf of the widget and unregister when the sequence is complete - GetLerpLooping() has been removed. Instead, pass true as the second param to Play() to indicate that the animation will loop. This causes the active tick to be registered indefinitely until paused or jumped to the start/end. [CL 2391669 by Dan Hertzka in Main branch]
2014-12-17 16:07:57 -05:00
private:
TWeakPtr<FActiveTimerHandle> FocusEditorTimer;
bool bIsActiveTimerRegistered;
uint32 NumNodesAddedSinceLastPointerPosition;
};