Files
UnrealEngineUWP/Engine/Source/Editor/AnimGraph/Private/AnimStateTransitionNode.cpp

749 lines
23 KiB
C++
Raw Permalink Normal View History

// Copyright 1998-2019 Epic Games, Inc. All Rights Reserved.
/*=============================================================================
AnimStateTransitionNode.cpp
=============================================================================*/
#include "AnimStateTransitionNode.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
#include "Kismet2/BlueprintEditorUtils.h"
#include "Animation/AnimInstance.h"
#include "AnimationTransitionGraph.h"
#include "AnimationTransitionSchema.h"
#include "AnimationCustomTransitionGraph.h"
#include "AnimationCustomTransitionSchema.h"
#include "AnimGraphNode_TransitionResult.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
#include "Kismet2/CompilerResultsLog.h"
#include "EdGraphUtilities.h"
#include "Kismet2/Kismet2NameValidators.h"
#include "ScopedTransaction.h"
Copying //UE4/Dev-AnimPhys to //UE4/Dev-Main (Source: //UE4/Dev-AnimPhys @ 3683440) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3624599 by Thomas.Sarkanen Added the ability to rename shapes in the Physics Asset Editor Added "CanRenameItem" to skeleton tree item API so we are not limited to hard-coded bones/sockets Tweaked physics shape item widget to use editable text in the same vein as virtual bones etc. #jira UEAP-341 - Ability to name collision shapes Change 3624765 by Benn.Gallagher Fixed bad blend profile references #jira UE-46227 Change 3624773 by Danny.Bouimad Content fix for #Jira UE-49191 Change 3625007 by Thomas.Sarkanen Fixed monolithinc game builds Moved new Name member to WITH_EDITORONLY_DATA, as the generated code still picks it up using WITH_EDITOR Change 3625659 by Ori.Cohen Make sure that components being unwelded are always unwelded even if they are about to be deleted. This is needed for fixing dangling pointers. Change 3625850 by Thomas.Sarkanen Fix for crash in physics asset editor after garbage collection Move bone proxies from rooting to FGCObject Change 3625966 by Lina.Halper Instead of PinShownByDefault, changed to PinHiddenByDefault https://github.com/EpicGames/UnrealEngine/pull/3964 #3964 #jira: UE-49168 Change 3626020 by Martin.Wilson Protect against checkSlow when using post process instance without a main instance #jira UE-49275 Change 3627178 by Aaron.McLeran #jira UE-49322 Fixing background muting and preview sound Change 3627179 by Aaron.McLeran Optimizing active sound by not processing active sounds if they are out of range. Allowing virtualized sounds to be exempt. Licensee says they saw a 6x improvement on active sound calculations in audio thread with this change. Change 3627187 by Aaron.McLeran Allowing overriding the sample rate of synth components in C++. Useful for cases where synth component is being used to output media auido or VOIP. Change 3627563 by Thomas.Sarkanen Tweaked tooltip so it isnt the same as other menus #jira UE-47817 - Two Viewport tooltips are the same in Physics Asset Editor Change 3627580 by James.Golding PR #3974: UE-49200: Fixed typo in Physics Handle (Contributed by carloshellin) #jira UE-49264 Change 3627581 by James.Golding Reduce output verbosity during cooking #jira UE-47126 Change 3627584 by James.Golding PR #3954: Upgrade to V-HACD version 2.3 (Contributed by jratcliff63367) Auto-convex generation now exposes more useful 'max hulls' instead of 'accuracy' Auto-generation of convex collision is now done async in StaticMesh Editor #jira UE-49027 Change 3627599 by Martin.Wilson Make sure raw data debug bone rendering in the animation editors actually shows raw data in the case of additive track layers (used to show source instead) Change 3627605 by James.Golding Forgot to remove Box2D from TargetRules.cs (see CL 3555437) Change 3627627 by Martin.Wilson Change raw data evaluation so that virtual bone positions are built before interpolation is carried out #jira UE-42659 Change 3627663 by Martin.Wilson Fix typo Change 3627730 by Martin.Wilson Allow notifies to be trigger on follower animations in a sync group #jira UE-46770 Change 3627852 by Thomas.Sarkanen Add warning to "Use Async Scene" property when shown in the physics asset editor, if the project doesn't currently use an async scene. #jira UE-47964 User is not told to Enable Async Scene in Project Settings when enabling it on a physics asset Change 3627864 by Lina.Halper Fix issue where "reset to default" on search box for bone doesn't work #jira: UE-48874 Change 3627946 by Thomas.Sarkanen Prevent undo/redo breaking when moving both a constraint and a body at the same time #jira UE-49344 - Physics Asset Editor: Moving both a body and a constraint causes undo.redo to break for the whole editor Change 3628091 by Thomas.Sarkanen Fix dangling lines, poor search focus and graph not refreshing when making new constraints Found by Nick D in Main. #jira UE-47812 - Physics Asset Graph wires sometimes get stuck to the window not attached to a node Change 3628107 by Lina.Halper Fixed issue where Blendspace 1D can't scale due to the property not exposed https://udn.unrealengine.com/questions/389958/input-interpolationaxis-to-scale-in-1d-blendspace.html Change 3628108 by Arciel.Rekman Update Linux VHACD. - Also removed arm 32-bit version (the library is editor-only). Change 3628437 by Michael.Trepka Updated Mac VHACD libraries and Xcode project Change 3628667 by Lina.Halper - Fixed issue of showing combo box multiple times - Fixed issue of inconsistent combo box width - Fixed text of pick bone to "select" for more general instruction - Fixed issue with struct displaying children when pin is enabled #jira: UE-49295, UE-46496, UE-47427 Change 3629744 by Aaron.McLeran #jira UE-49383 Fix for source bus loading in sound waves and playing without audio mixer Change 3629846 by Aaron.McLeran #jira UE-49390 Required API change to spatialization interface for google Change 3630322 by Thomas.Sarkanen Fix right-click not displaying context menu for constraints correctly Selection logic was lightly broken #jira UE-49399 - Physics Asset Editor: Right-clicking constraints in the viewport does not bring up the context menu Change 3630463 by Martin.Wilson Remove accidently submitted debug code Change 3630523 by Jurre.deBaare Paint threshold and fill value and can be set to negative numbers #fix Added metadata and default values for cloth fill tool #jira UE-48352 Change 3632009 by Aaron.McLeran #jira UE-49470 Fix for iOS master volume not getting set Recent changes to master volume resulted in platforms which don't have a headroom value defined will not get their master volume updated. IOS doesn't have a headroom value set so the master volume is never set and the fade in is never triggered. Change 3632699 by Thomas.Sarkanen Fix crash undo-ing primitive regeneration while simullation is in progress & stopping simulation #jira UE-49283 - Editor crashes if you regenerate and manipulate a phys body, simulate, undo and then exit simulation Change 3633336 by James.Golding PR #3978: effect is the noun. affect is the verb (Contributed by cdietschrun) #jira UE-49324 Change 3634665 by Aaron.McLeran #jira UE-49538 Fixing param interpolation Change 3634922 by James.Golding Static analysis fix (PhysXCookHelper.cpp) Change 3634926 by James.Golding Fix HTML5 build (which builds with PhysX, but without APEX) Change 3636005 by Thomas.Sarkanen Constraint setup shortcuts are now undo-able Also fixed body-body collision as you couldnt undo this either. Added transaction and calls to Modify(). #jira UE-49484 - Shortcut for Swing1Motion (2, and 3) do not change physics asset state dirty. Change 3636018 by Thomas.Sarkanen Added back constraint shortcut to PhAT toolbar #jira UE-48859 - Constraint quick set buttons are missing in the new Physics Asset tool Change 3636086 by Martin.Wilson Fix for enabling Live Link plugin in Orion Change 3638367 by Thomas.Sarkanen Connection reporting is now more user-freindly in the physics asset editor graph view Expanded UEdGraphSchema API to allow for more specific feedback when dragging over a graph. Implemented node & pin feedback for physics asset graphs. Also fixed alignment of icon for drag feedback as it stretches with multi-line text. #jira UE-47984 - No node created when dragging off of Constraint node in Physics Asset Graph Change 3640144 by Aaron.McLeran #jira UE-49409 Attenuation focus audio tests on TM-AnimPhys on Cooked mac doesn't play any audio Fixing the recent optimization to not play active sounds in range. Code attempts to check if there's any possibility for a sound to have it's distance affected before trying to prune by max distance. Change 3640276 by Aaron.McLeran #jira UE-49606 Project does not cook with actors containing ModularSynth component Change 3640313 by Aaron.McLeran #jira UE-49675 Fixing shutdown of audio mixer - Final queued commands aren't getting pumped during audio mixer shutdown, added a new interface to get a final shutdown callback back to audio mixer device. We can do any cleanup or final shutdown tasks in this callback. Added a call to pump the source manager one last time. For cases of audio mixer running without audio plugins, this won't have much of an effect, but is a good thing to do anyway. For the case of audio plugins, who are depending on paired init and release calls, this is valueable to avoid memory leaks between subsequent PIE sessions. Change 3640941 by Martin.Wilson Add editor only animation loading debug data in the hope of diagnosing rare loading crash #jira UE-49335 Change 3641976 by Ethan.Geller #jira UE-49675 ensure that we pump both command queues Change 3642613 by James.Golding Add NoPhysX sample, for CIS testing compilation without PhysX Change 3644001 by Aaron.McLeran #jira UE-49805 looping sounds are, in rare cases, extremely loud Change 3644124 by Aaron.McLeran #jira UE-49787 [CrashReport] Mac crash - UE4Editor-AudioEditor.dylib!FSoundCueEditor::DeleteInput() Adding ensure on returned ptr to avoid crash but keep getting some logging. Change 3644157 by Aaron.McLeran Fixing build error Change 3644163 by Aaron.McLeran Fixing build error (for real) Change 3650331 by Aaron.McLeran #jira UE-49994 SoundMix Fade Time not fading audio properly Making sure we properly set passive mix modifier states. Change 3652648 by Aaron.McLeran #jira UE-49994 SoundMix Fade Time not fading audio properly Change 3652995 by Aaron.McLeran #jira UE-50053 Reduce log level of audio mixer debug category Turning down the log spam level of the underrun category by switching to debug category and reducing level of the debug category. Change 3653461 by James.Golding V-HACD updates from JohnR @ NVIDIA (adding new functions for future use) Change 3654056 by Aaron.McLeran Fixing an issue with caching node states for editor builds and adding optimization to cache if we should apply interior volumes. Change 3654579 by Aaron.McLeran Allow sound submixes and sound classes to be a blueprint type Made all properties of sound classes BlueprintReadOnly. Change 3662519 by James.Golding Merge CL 3575543 from //Fortnite/Main to Dev-AnimPhys Don't call into UpdateKinematicBones if there are no physx bodies Change 3664976 by Aaron.McLeran #jira UE-50175 New Tap Delay Submix Pan parameter does not work in Surround Sound Change 3665751 by Aaron.McLeran Adding a simple panner effect Change 3665851 by Aaron.McLeran Fixing naming convention for new panner source effect Change 3666894 by Thomas.Sarkanen Bone modifications via transform type-in can now be undone Added RF_Transactional & called Modify() #jira UE-47862 - Undoing Bone transformations in Physics Asset Editor does not work Change 3666919 by Lina.Halper Fixed equal operator for bonereference to work when not initialized Change 3668850 by Thomas.Sarkanen Skeleton tree now no longer allows selection of filtered items This fixes an issue where filtered-out constraints were being deselected after a select all operation because the tree thought it had no selection (all constraints were filtered). #jira UE-50200 - Constraint Details do not populate in the Details Panel if the Skeleton tree does not include Constraints Change 3669028 by James.Golding Fix CIS error after merge-down Change 3669053 by James.Golding Fix bad merge in SynthComponent.cpp Change 3669273 by Lina.Halper - delete all tracks option - allow to opt out on bone track importing - fixed pose preview for fullbody to select weights that has pose from asset. Change 3671396 by James.Golding Fix FSkelMeshComponentLODInfo cleaning up all override resources when it should only have been cleaning up one of them Change 3671701 by Martin.Wilson Maya Live Link plugin - Added UI to Maya - Display currently streamed subjects - Allow add and removal of streamed subjects - Display connection status to editor - Stream active camera as EditorActiveCamera - Refactored entire plugin so that streaming has a manager and streaming objects / interfaces - Reworked editor update hook so that streaming is more robust and facial rigs / leaf bones now correctly update. Change 3672170 by Lina.Halper Remove track support for Animation Blueprint Library Change 3675921 by Ethan.Geller Rollback invalidated check from copy down Change 3677606 by Martin.Wilson Add live link driven component - allows an actor to take its rotation and translation from a live link subject Change 3678594 by Lina.Halper Changed API name for clarification Change 3680913 by Ethan.Geller #jira UE-50750 fix stuttering on AudioMixer on MacOS Change 3681127 by Ethan.Geller #jira UE-50720 Fix invalidated audio clock time when audio device is unplugged on legacy audio engine Change 3682729 by Ethan.Geller #jira UE-50832 Fix for null concurrency settings when removing active sounds from a concurrency group. [Dev-AnimPhys] Change 3633185 by James.Golding Fix engine not compiling when WITH_PHYSX == 0 PR #3691: 4.16_WITH_PHYSX_optional (Contributed by JacobNelsonGames) PR #3695: 4.16_PhysXVehicles_WITH_PHYSX_optional (Contributed by JacobNelsonGames) Change 3637031 by Ethan.Geller #jira UE-49605 Platform Headroom fix for non-float devices. Change 3642598 by James.Golding Change bCompileNvCloth to use same pattern as bCompileAPEX (on by default, disabled on some platforms). This allows game projects to disable it. Change 3645224 by Martin.Wilson Fix for rare notify crash. For speed purposes Notify Queue caches a pointer to the notify, this is memory that is owned by the animation and if it gets garbage collected we have a pointer to invalid memory. This change caches a pointer to the owner of the notify memory to so we can track its validity. #jira UE-44869 Change 3668926 by James.Golding Merging //UE4/Dev-Main to Dev-AnimPhys (//UE4/Dev-AnimPhys) @ 3668712 Change 3674824 by James.Golding Merging //UE4/Dev-Main to Dev-AnimPhys (//UE4/Dev-AnimPhys) @ 3674368 [CL 3683447 by Thomas Sarkanen in Main branch]
2017-10-06 04:43:18 -04:00
#include "Animation/BlendProfile.h"
//////////////////////////////////////////////////////////////////////////
// IAnimStateTransitionNodeSharedDataHelper
#define LOCTEXT_NAMESPACE "A3Nodes"
class ANIMGRAPH_API IAnimStateTransitionNodeSharedDataHelper
{
public:
void UpdateSharedData(UAnimStateTransitionNode* Node, TSharedPtr<INameValidatorInterface> NameValidator);
void MakeSureGuidExists(UAnimStateTransitionNode* Node);
protected:
virtual bool CheckIfNodesShouldShareData(const UAnimStateTransitionNode* NodeA, const UAnimStateTransitionNode* NodeB) = 0;
virtual bool CheckIfHasDataToShare(const UAnimStateTransitionNode* Node) = 0;
virtual void ShareData(UAnimStateTransitionNode* NodeWhoWantsToShare, const UAnimStateTransitionNode* ShareFrom) = 0;
virtual FString& AccessShareDataName(UAnimStateTransitionNode* Node) = 0;
virtual FGuid& AccessShareDataGuid(UAnimStateTransitionNode* Node) = 0;
};
//////////////////////////////////////////////////////////////////////////
// FAnimStateTransitionNodeSharedRulesHelper
class ANIMGRAPH_API FAnimStateTransitionNodeSharedRulesHelper : public IAnimStateTransitionNodeSharedDataHelper
{
protected:
virtual bool CheckIfNodesShouldShareData(const UAnimStateTransitionNode* NodeA, const UAnimStateTransitionNode* NodeB) override;
virtual bool CheckIfHasDataToShare(const UAnimStateTransitionNode* Node) override;
virtual void ShareData(UAnimStateTransitionNode* NodeWhoWantsToShare, const UAnimStateTransitionNode* ShareFrom) override;
virtual FString& AccessShareDataName(UAnimStateTransitionNode* Node) override;
virtual FGuid& AccessShareDataGuid(UAnimStateTransitionNode* Node) override;
};
//////////////////////////////////////////////////////////////////////////
// FAnimStateTransitionNodeSharedCrossfadeHelper
class ANIMGRAPH_API FAnimStateTransitionNodeSharedCrossfadeHelper : public IAnimStateTransitionNodeSharedDataHelper
{
protected:
virtual bool CheckIfNodesShouldShareData(const UAnimStateTransitionNode* NodeA, const UAnimStateTransitionNode* NodeB) override;
virtual bool CheckIfHasDataToShare(const UAnimStateTransitionNode* Node) override;
virtual void ShareData(UAnimStateTransitionNode* NodeWhoWantsToShare, const UAnimStateTransitionNode* ShareFrom) override;
virtual FString& AccessShareDataName(UAnimStateTransitionNode* Node) override;
virtual FGuid& AccessShareDataGuid(UAnimStateTransitionNode* Node) override;
};
/////////////////////////////////////////////////////
// UAnimStateTransitionNode
UAnimStateTransitionNode::UAnimStateTransitionNode(const FObjectInitializer& ObjectInitializer)
: Super(ObjectInitializer)
{
CrossfadeDuration = 0.2f;
BlendMode = EAlphaBlendOption::HermiteCubic;
bSharedRules = false;
SharedRulesGuid.Invalidate();
bSharedCrossfade = false;
SharedCrossfadeIdx = INDEX_NONE;
SharedCrossfadeGuid.Invalidate();
Bidirectional = false;
PriorityOrder = 1;
LogicType = ETransitionLogicType::TLT_StandardBlend;
}
void UAnimStateTransitionNode::AllocateDefaultPins()
{
Copying //UE4/Dev-Framework to //UE4/Dev-Main (Source: //UE4/Dev-Framework @ 3716594) #lockdown Nick.Penwarden ============================ MAJOR FEATURES & CHANGES ============================ Change 3623720 by Phillip.Kavan #jira UE-49239 - Temp fix for QAGame animations not updating in a nativized build. Change summary: - Temporarily excluded all AnimBP assets from nativization as a workaround. Change 3626305 by Phillip.Kavan #jira UE-49269 - Workaround fix for crash after packaging a nativized QAGame build with all AnimBP assets disabled for nativization by default. Change 3629145 by Marc.Audy Don't hide developer nativization tool behind ini Change 3630849 by Marc.Audy Fix nativization uncompilable code when using a non-referenceable term in a switch statement. #jira UE-44085 Change 3631037 by Marc.Audy (4.17.2) Fix crash when nativizing blueprint with MakeMap or MakeSet node in it #jira UE-49440 Change 3631206 by Marc.Audy Make NAME_None == TEXT("") behave the same as NAME_None == FName(TEXT("")) Change 3631232 by Marc.Audy Remove outdated diagnostic code throwing false positives #jira UE-47986 Change 3631573 by Marc.Audy Fix containers of vector, rotator, or transform placing a space between the type and the pluralization 's' Change 3633168 by Lukasz.Furman fixed behavior tree changing its state during latent abort, modified order of operations during abort to: abort & wait -> change aux nodes -> execute Change 3633609 by Marc.Audy Don't get unneeded string Change 3633691 by Marc.Audy Fix copy-pasting of a collapsed graph containing a map input losing the value type #jira UE-49517 Change 3633967 by Ben.Zeigler Actor.h header cleanup, fix various comments and reorganize some members, saves 80 bytes per actor in a cooked Win64 build bRunningUserConstructionScript is now private, exposed with IsRunningUserConstructionScript Fixed a few other fields to be private that were accidentally made public in 4.17 Change 3633984 by Michael.Noland Blueprints: Fixed a potential crash when collapsing nodes to a function when a potential entry pin had no links Change 3634464 by Ben.Zeigler Header cleanups for Pawn, Controller, Character, and PlayerController Change 3636858 by Marc.Audy In preview worlds don't display the light error sprite #jira UE-49555 Change 3636903 by Marc.Audy Fix numerous issues with copy/pasting editable pin bases #jira UE-49532 Change 3638898 by Marc.Audy Allow right-click creation of local variables in blueprint function libraries #jira UE-49590 Change 3639086 by Marc.Audy PR #4006: Mark UEdGraphSchema::BreakSinglePinLink as const (Contributed by leyyin) #jira UE-49591 Change 3639445 by Marc.Audy Fix mistaken override and virtual markup on niagara schema function. Change 3641202 by Marc.Audy (4.17.2) Fix crash undoing pin changes with split pins #jira UE-49634 Change 3643825 by Marc.Audy (4.17.2) Fix crash right clicking a struct pin when the struct it represented has been deleted #jira UE-49756 Change 3645110 by mason.seay Fixed up QA-ClickHUD map so it's usable and makes more sense Change 3646428 by Dan.Oconnor Fix for UbergraphFrame layout changing during bytecode recompile, which would cause actual ubergraph frame layout to mismatch reflection data #jira None Change 3647298 by Marc.Audy PR #4016: Rename argument name for SetInputMode (Contributed by projectgheist) #jira UE-49748 Change 3647815 by Marc.Audy Minor performance improvements Change 3648931 by Lina.Halper #Compiler : fixed so that each type of BP can provide module info, and compiler info - Moved out AnimBlueprint Compiler - Refactored WidgetBlueprint - DUPE - Merging using ControlRig_Dev-Framework Change 3654310 by Marc.Audy Shrink USkinnedMeshComponent 64 bytes Shrink USkeletalMeshComponent 224 bytes (160 bytes internal) Change 3654636 by Lina.Halper Fix crashing on shutdown #jira: UE-50004 Change 3654960 by Lina.Halper - Fix with automation test of creation/duplication - Fixed shut down crash with editor again due to uobject GCed #jira: UE-50028 Change 3655023 by Ben.Zeigler #jira UE-50101 Fix level streaming transform when PIE-duplicating a level that has been preloaded but not made visible in the editor. Instead of always saying actors have been moved we copy the source level's flag Change 3655426 by Ben.Zeigler #jira UE-50019 Fix issue where StreamableManager could return objects that are partially loaded if called from PostLoad. StreamableManager never wants half-loaded objects, so change it to explicitly skip them Change 3657627 by Ben.Zeigler #jira UE-50157 Fix EDL load dependency issue where the simple construction script/ICH are not guaranteed to be serialized in time for subobject construction Change 3662086 by Mieszko.Zielinski Fixed navmesh not loading properly in PIE when owning world has been duplicated-for-play #UE4 This can happen when navigation containing level is loaded via AsyncLoadPrimaryAssetList #jira UE-50101 Change 3662294 by Ben.Zeigler Fix enum redirects to handle non-class enums properly where a value redirect is not specified. It needs to convert from EOldEnum::Value to ENewEnum::Value before doing the name check Change 3662825 by Mieszko.Zielinski Fixed VisLog debug drawing crashing when using UI to change log lines to be displayed #UE4 there was a loop iterating over elements of a map and was modifying the map as it went, which is a big no-no Change 3664424 by Marc.Audy UE-50076 test assets #rb none #rnx Change 3664441 by Mieszko.Zielinski PR #3993: UE-25907: Added logging to Log Text, Log Location, and Log Box Shape (Contributed by projectgheist) Piggybacking on this PR I've redone how visual log is using categories. Now it's using FName rather than FLogCategoryBase to indicated log category. All UE_VLOG macros have been updated. Change 3664506 by Phillip.Kavan #jira UE-47852 - Fix various issues with both UAT/UBT-driven and manually-configured code/data build workflows involving nativized Blueprint assets. Change summary: - UAT: Removed '-nativizedAssets' command-line option. It's no longer required to specify this flag when cooking/building in order to enable nativization. - UAT: Removed AutomationTool.ProjectParams.BlueprintPluginPaths. - UAT: Modified AutomationTool.ProjectParams.ProjectParams() to initialize the 'RunAssetNativization' field based on the current 'BlueprintNativizationMethod' config setting. This flag is now used just to direct UAT to defer invoking UBT for '-build' until after the '-cook' stage has finished. - UAT: Modified BuildCookRun.DoBuildCookRun() to remove the 'bWarnIfPackagedWithoutNativizationFlag' case (since we removed the '-nativizedAssets' command-line option). - UAT: Removed Project.AddBlueprintPluginPathArgument() and Project.GetBlueprintPluginPathArgument(). These utility functions are no longer needed. - UAT: Modified Project.Cook() to remove the registration of each NativizedAssets plugin path for '-build' along with the addition of the '-nativizedAssets' argument with the platform-agnostic path to the NativizedAssets plugin when invoking UE4Editor.exe for '-cook'. This is now handled by the UE4Editor cook commandlet instead. - UAT: Modified Project.Build() to remove the addition of the '-plugin' argument with the path to the NativizedAssets plugin when invoking UBT for '-build'. This is now handled by UBT instead. - UBT: Modified UnrealBuildTool.ProjectFileGenerator.DiscoverExtraPlugins() to remove the previously-added search for intermediate plugin assets based on the 'AdditionalPluginDirectories' optionally found in the .uproject file. Instead, this search is now handled via a Plugins.EnumeratePlugins() LINQ query. It is also gated by a new Advanced project setting in DefaultGame.ini that defaults to off, but this way users can still add generated assets into the solution file. - UBT: Added UnrealBuildTool.UEBuildTarget.ShouldIncludeNativizedAssets() as a utility method for checking the current 'BlueprintNativizationMethod' setting in the game's config file. - UBT: Modified UnrealBuildTool.UEBuildTarget.CreateTarget() to confirm the existence of a NativizedAssets plugin (generated at cook time) when the project is configured for nativization. If the plugin is found, it is added to the RulesAssembly chain and the ProjectDescriptor.ForeignPlugins list. If the plugin is not found, then a BuildException is thrown informing the user that the plugin must exist in order to build (with a note to make sure to cook the target platform first). - UE4: Added 'Lex' namespace utility functions for converting PlatformInfo::EPlatformType to/from an FString. Note: Lex::FromString() is simply a proxy to the already-existing PlatformInfo::EPlaformTypeFromString() API, but it was included for completeness. - UE4: Removed the UProjectPackagingSettings::bWarnIfPackagedWithoutNativizationFlag. This is no longer needed since the '-nativizedAssets' command-line option has been removed. - UE4: Added UProjectPackagingSettings::bIncludeNativizedAssetsInProjectGeneration (advanced setting). This defaults to 'false' (off). When true, running GenerateProjects.bat will also generate project files for any NativizedAssets plugins previously generated at cook time. This gives advanced users/engineers an option to include nativized Blueprint class sources in the set of generated C++ code projects for faster browsing, etc. - UE4: Modified UProjectPackagingSettings::PostEditChangeProperty() to remove the case that handles the 'BlueprintNativizationMethod' property. When this value changes, we no longer make an attempt to modify the .uproject file. - UE4: Removed BlueprintNativeCodeGenManifestImpl::PlatformPlaceholderPattern. This pattern string is no longer in use. Also modified the FBlueprintNativeCodeGenPaths ctor to remove the replacement logic for the pattern string. - UE4: Modified FBlueprintNativeCodeGenPaths::GetDefaultCodeGenPaths() to construct and return a new directory pattern for the generated NativizedAssets plugin. This is now generated to: Intermediate/Plugins/NativizedAssets/<Platform>/<Type:Game|Client|Server>. - UE4: Modified FBlueprintNativeCodeGenPaths::PluginRootDir() to no longer append "NativizedAssets" to the end of the path to the generated NativizedAssets plugin. - UE4: Removed FCookByTheBookStartupOptions::bNativizeAssets and NativizedPluginPath (no longer in use since the '-nativizeAssets' command-line option has been removed). - UE4: Modified UCookCommandlet::CookByTheBook() to remove initialization of the 'bNativizeAssets' field in the startup options (since the corresponding command-line argument has been removed). - UE4: Removed FNativeCodeGenData::DestPluginPath and modified FBlueprintNativeCodeGenModule::Initialize() to remove the check for it. - UE4: Added FBlueprintNativeCodeGenModule::ShutdownModule(). This now handles cleanup for the nativization module after the cook process has finished. - UE4: Modified UCookCommandlet::CookByTheBook() to no longer look for the '-nativizedAssets' command-line option as well as to remove the initialization of the nativization-related startup option flags that were removed. - UE4: Modified UCookOnTheFlyServer::StartCookByTheBook() to check the 'BlueprintNativizationMethod' config setting in order to determine whether or not to nativize assets. This replaces the '-nativizedAssets' command-line flag. - UE4: Modified UCookOnTheFlyServer::StartCookByTheBook() to remove the case that previously handled the 'bWarnIfPackagedWithoutNativizationFlag' check. This is no longer needed since the '-nativizedAssets' flag was removed. - UE4: Modified UCookOnTheFlyServer::CookByTheBookFinished() to unload the IBlueprintNativeCodeGenModule instance after cooking, in order to reset module state for another potential pass within the same process context. - UE4: Modified UWidgetBlueprintGeneratedClass::InitializeTemplate() to append 'REN_ForceNoResetLoaders' to the Rename() flags so that when we shift the OldArchetype object into the transient package, it doesn't invalidate the outer package's linker. We need that to remain valid so that multiple nativized cooks within the same process don't fail. - UE4: Modified FMainFrameActionCallbacks::PackageProject() to remove the addition of '-nativizedAssets' to the UAT command line based on project settings (this is no longer needed, as it is now handled internally by UAT). - UE4: Modified SaveWorld() to append 'REN_ForceNoResetLoaders' to the Rename() flags so that when we rename the world instead of duplicating it, it no longer triggers a reset of *all* object loaders. Notes: - After this change, all nativization workflows (e.g. UAT, UBT and UE4Editor) now look to the 'BlueprintNativizationMethod' flag in the Project settings (UProjectPackagingSettings). This unifies everything on a single flag by default, and removes the feature added in 4.17 that touched the .uproject file when that setting changed (which itself introduced a couple of new regressions in that release). - Advanced users and build engineers can override this value per task. Instructions to do that are as follows: - For UAT/UBT/UE4Editor.exe tasks, adding '-ini:Game:[/Script/UnrealEd.ProjectPackagingSettings]:BlueprintNativizationMethod=<Disabled|Inclusive|Exclusive>' will allow the current setting to be overridden on the command line. - When '-cook' is included on the RunUAT BuildCookRun command line, the above needs to also be embedded within the '-AdditionalCookerOptions' command-line argument. This means that if both '-cook' and '-build' are included, then both the '-ini' argument shown above as well as the same '-ini' argument embedded inside the '-AdditionalCookerOptions' argument will need to be included for the build pipeline to work properly. - We should add a release note instructing users to check their .uproject file and remove any 'AdditionalPluginDirectories' entries that list the "Intermediate/Plugins" path. This will avoid issues when building the cooked target with UBT. - We should also add a release note and/or documentation to explain the "advanced" build pipeline options (i.e. the '-ini' argument noted above). Change 3665061 by Phillip.Kavan Fix crash on load in a nativized build caused by a reference to a BP class containing a nativized enum. Mirrored from //UE4/Release-4.18 (CL# 3664993). #3969 #jira UE-49233 Change 3665108 by Marc.Audy (4.18) Fix crash when diffing a blueprint whose older version's parent blueprint has been deleted + additional code cleanup #jira UE-50076 Change 3665114 by Marc.Audy Minor change that could potentially improve performance in some cases Change 3665410 by Mieszko.Zielinski Fixed naming of Vislog's BP API #UE4 Change 3665634 by Ben.Zeigler #jira UE-50045 Mark PIE-duplicated packages as explicitly fully loaded to fix PIE networking crash. These used to be accidentally treated as fully loaded because it was checking the wrong package name on disk Change 3666970 by Phillip.Kavan Do not emit a BOM when generating nativized Blueprint asset source files encoded as UTF-8. #jira UE-46814 Change 3667058 by Phillip.Kavan Ensure that '-build' is always passed to BuildCookRun automation for projects configured with Blueprint nativization enabled so that it doesn't skip that stage. Mirrored from //UE4/Release-4.18 (CL# 3667043). #jira UE-50403 Change 3667150 by Mieszko.Zielinski PR #4042: BT CompositeDecorator node clears RF_Transient flag for all owned Decorator nodes. (Contributed by BibbitM) Minor tweak from the original PR - made UBehaviorTreeDecoratorGraphNode_Decorator::ResetNodeOwner protected and added UBehaviorTreeGraphNode_CompositeDecorator class a a friend. #jira UE-50249 Change 3667152 by Mieszko.Zielinski PR #4047: Clearing RF_Transient flag when reseting EQS node owner - single change. (Contributed by BibbitM) #jira UE-50298 Change 3667166 by Mieszko.Zielinski Fixed FRichCurve baking so that it doesn't loose its curvature #UE4 Also, added some baking sanity checking (like if the range is larger than a single point). Change 3668025 by Dan.Oconnor Added a step to the compilation manager to skip recompilation of classes that are dependent on a given classes function signatures when those signatures have not changed #jira UE-50453 Change 3672063 by Ben.Zeigler #jira UE-49049 Fix issue with StreamableHandle ParentHandles array being modified during iteration, I had already fixed the Cancel case but not the complete case Change 3672306 by Ben.Zeigler #jira UE-50571 Fix issue where PrimaryAsset blueprints would be incorrectly added to the dictionary if their base class had an active class redirect referencing it Change 3672683 by Marc.Audy Code cleanup Change 3672749 by Ben.Zeigler Fix issue where deleting a source package would not cause the generated cooked package to get deleted while doing an incremental build Change 3672831 by Ben.Zeigler #jira UE-50507 Add a cook/save warning when a registered PrimaryAssetId does not match the object's real exported PrimaryAssetId. Make PrimaryDataAsset blueprintable so you can make primary assets in a blueprint-only project Change 3673551 by Ben.Zeigler #jira UE-50029 Fix it so data-only blueprints will never create a UCS function in the final class. If you manually compiled the blueprint or it got recompiled due to inheritance it would create a UCS function that just calls its parent, which could cause problems later on when it did not create a UCS function during normal load Change 3675074 by mason.seay Test map for VisLog Testing Change 3675084 by Mieszko.Zielinski Fixed BT editor constantly marking BT asset as dirty if it has a "RunBehavior" node #UE4 #jira UE-43430 Change 3676490 by Ben.Zeigler #jira UE-50635 Fix it so directly blueprinting PrimaryDataAsset will give you a useful PrimaryAssetType. Unless overridden the Type of a PrimaryDataAsset will be the first native class found in the hierarchy, or the the blueprint class that directly blueprints PrimaryDataAsset Change 3676579 by Lukasz.Furman fixed crash in behavior tree's search rollback Change 3676586 by Lukasz.Furman added local scope mode to behavior tree's composite nodes Change 3676587 by Ben.Zeigler Swap PrimaryAssetId property customization to use the same ui as the Pin customization. This one better handles objects that aren't loaded into memory, the old Property one would show None in that case Add browse, use selected, and clear buttons, and make ID selector font the normal property font Change 3676715 by Lukasz.Furman changed order of behavior tree's aux node ticking Change 3676867 by Ben.Zeigler #jira UE-50665 Fix issue where resolving Soft Object Ptrs that are stored inside static assets or Blueprint CDOs from PIE will return the editor actor, not the PIE actor. So when resolving a path/ptr during PIE add a failsafe to do a PIE fixup Fix issue where Lazy pointer fixup could corrupt Soft Object Ptrs by applying the PIE fixup too early Change 3677892 by Ben.Zeigler Fix crash when additional level viewport sprites are added after level editor module is loaded. This is basically the same fix as CL #3491406, but for sprites Change 3678247 by Marc.Audy Fix static analysis warning Change 3678357 by Ben.Zeigler #jira UE-50696 Add some container variables to diff test to track down crashes Change 3678385 by Ben.Zeigler #jira UE-50696 Fix crash diffing blueprints where array properties were changed. It needs to not run the generic identical check until it's sure the container types match Change 3678600 by Ben.Zeigler #jira UE-50703 Fix crash when a soft actor reference is not actually pointing to an actor, treat it like a broken reference Change 3679075 by Dan.Oconnor Mirror 3679030 from Release-4.18 Fix crash when compiling a level blueprint that has delegates to a blueprint that it also has a direct dependency on #jira UE-48692 Change 3679087 by Dan.Oconnor Filter out unnecessary relink jobs from the compilation manager #jira None Change 3680221 by Ben.Zeigler #jira UE-50764 Fix crash when converting a property from a soft object reference to hard, it needs to validate the class after the conversion and null if necessary Change 3680561 by Lukasz.Furman fixed unsafe StopTree calls in behavior tree #jira nope Change 3680788 by Ben.Zeigler Fix issue where scrubbing sequencer in simulate would not modify actors. We need to temporarily set the PIE context global when doing this specific type of actor bind Change 3683001 by mason.seay Submitting various test maps and assets Change 3686837 by Mieszko.Zielinski Fixed NavMeshBoundsVolume not updating navmesh when its location gets changed via the Transform Details widget #Orion #jira UE-50857 Change 3688451 by Marc.Audy Fix up new material expression to work with String -> Name refactor Change 3689097 by Mason.Seay Test content for nativization and enum testing Change 3689106 by Mieszko.Zielinski Made NavMeshBoundsVolume react to undo in the editor #Orion #jira UE-51013 Change 3689347 by Mieszko.Zielinski Fixed a crash on FAIDynamicParam creation resulting from uninitialized member variables #UE4 Manual merge of CL#3689316 over from 4.18 #jira UE-51019 Change 3692524 by mason.seay Moved some assets to folder for org, fixed up redirectors Change 3692540 by mason.seay Renaming test maps so they are clearly indicated for testing nativization Change 3692577 by mason.seay Deleted a bunch of old assets I created specifically for various bugs reported. All issues are closed so they're no longer needed Change 3692724 by mason.seay Deleting handful of assets found in developer folders of those no longer with the team. Moved assets that are still used by test maps Change 3693184 by mason.seay Assets for testing nativization with structs Change 3693367 by mason.seay Improvements to test content Change 3695395 by Dan.Oconnor Fix for rare linker issue, IsBlueprintFinalizationPending would return true when we were trying to force load subobjects that were now ready to be loaded. This would prevent some placeholder objects from being replaced #jira None Change 3695484 by Marc.Audy Fix sound cue connection drawing policy not getting returned. #jira UE-51032 Change 3695494 by mason.seay More test content for nativization testing Change 3697829 by Mieszko.Zielinski PR #4104: Fixed a typo CaclulateMaxTilesCount to CalculateMaxTilesCount (Contributed by YuchenMei) Change 3700541 by mason.seay Test map for containers with function bug Change 3703459 by Marc.Audy Remove poorly named InverseLerp Fix degenerate behavior returning bad value #jira UE-50295 Change 3703803 by Marc.Audy Clean up autos Minor improvement to ShouldGenerateCluster Change 3704496 by Mason.Seay More test content for testing nativization Change 3706314 by Marc.Audy PR #4085: GetDefaultPawnClassForController -> BlueprintCallable (Contributed by Allar) #jira UE-50874 Change 3707502 by Mason.Seay Final changes to nativization test content (hopefully) Change 3709478 by Marc.Audy PR #4144: Exposed MassageAxisInput for inheritence (Contributed by jackknobel) Same as CL# 3689702 implemented in Fortnite #jira UE-51453 Change 3709967 by Marc.Audy PR #4139: fixed a typo in a comment (Contributed by derekvanvliet) #jira UE-51372 Change 3709970 by Marc.Audy PR #4150: Fixed a typo in movement override comment (Contributed by ruffenman) #jira UE-51495 Change 3709971 by Marc.Audy PR #4149: Fixing typo on movement pawn component (Contributed by celsodantas) #jira UE-51492 Change 3710041 by Marc.Audy Minor code cleanup Change 3711223 by Phillip.Kavan Move some Blueprint nativization log spam into the verbose category. #jira UE-49770 Change 3713398 by Marc.Audy PR #4157: Renamed AActor::InternalTakePointDamage function's parameter. (Contributed by BibbitM) #jira UE-51517 Change 3713601 by Marc.Audy Fix merge error Change 3713994 by Marc.Audy (4.18) Just mark level script actor pending kill when the level script blueprint has been recompiled, instead of trying to send it through the destroy actor lifecycle event. #jira UE-50738 Change 3714270 by Marc.Audy Fix crashes with tickables as a result of virtuals not being usable in constructors/destructors #jira UE-51534 Change 3714406 by Marc.Audy Fix dumb inverted boolean check Change 3716594 by Dan.Oconnor Integrate 3681301 from 4.18 Only run OnLevelScriptBlueprintChanged when explicitly compiling a level blueprint, this matches the old behavior #jira UE-50780, UE-51568 Change 3686450 by Marc.Audy PinCategory, PinSubcategory, and PinName are now stored as FName instead of FString. CreatePin has several simplified overrides so you can only specify Subcategory or SubcategoryObject or neither. CreatePin also takes a parameter bundle for reference, const, container type, index, and value terminal type rather than a long list of default parameters. Material Expressions now store input and output names as FName instead of FString FNiagaraParameterHandle now stores the parameter handle, namespace, and name as FName instead of FString Most existing pin related functions using string have been deprecated. Change 3713796 by Marc.Audy Added virtual GetTickableType function to FTickableBaseObject that can return Conditional (default), Always, or Never. Tickable Never objects will not get added to the tickable array or ever evaluated. Tickable Always objects do not call IsTickable and assume it will return true. Tickable Conditional objects work as in the past with IsTickable called each frame to make the determination whether to call Tick or not. IsTickable no longer a pure virtual (defaults to true). Applied fixes to avoid array corruption when a FTickableEditorObject is deleted during the tick phase consistent with previous fixes to FTickableGameObject. Change 3638554 by Marc.Audy Add enum expansion functional test to validate that the metadata ExpandEnumAsExecs works as expected. Change 3676502 by Ben.Zeigler Add Blueprint-only primary asset type to EngineTest, to cover testing UE-50635 [CL 3718205 by Marc Audy in Main branch]
2017-10-25 09:30:36 -04:00
UEdGraphPin* Inputs = CreatePin(EGPD_Input, TEXT("Transition"), TEXT("In"));
Inputs->bHidden = true;
Copying //UE4/Dev-Framework to //UE4/Dev-Main (Source: //UE4/Dev-Framework @ 3716594) #lockdown Nick.Penwarden ============================ MAJOR FEATURES & CHANGES ============================ Change 3623720 by Phillip.Kavan #jira UE-49239 - Temp fix for QAGame animations not updating in a nativized build. Change summary: - Temporarily excluded all AnimBP assets from nativization as a workaround. Change 3626305 by Phillip.Kavan #jira UE-49269 - Workaround fix for crash after packaging a nativized QAGame build with all AnimBP assets disabled for nativization by default. Change 3629145 by Marc.Audy Don't hide developer nativization tool behind ini Change 3630849 by Marc.Audy Fix nativization uncompilable code when using a non-referenceable term in a switch statement. #jira UE-44085 Change 3631037 by Marc.Audy (4.17.2) Fix crash when nativizing blueprint with MakeMap or MakeSet node in it #jira UE-49440 Change 3631206 by Marc.Audy Make NAME_None == TEXT("") behave the same as NAME_None == FName(TEXT("")) Change 3631232 by Marc.Audy Remove outdated diagnostic code throwing false positives #jira UE-47986 Change 3631573 by Marc.Audy Fix containers of vector, rotator, or transform placing a space between the type and the pluralization 's' Change 3633168 by Lukasz.Furman fixed behavior tree changing its state during latent abort, modified order of operations during abort to: abort & wait -> change aux nodes -> execute Change 3633609 by Marc.Audy Don't get unneeded string Change 3633691 by Marc.Audy Fix copy-pasting of a collapsed graph containing a map input losing the value type #jira UE-49517 Change 3633967 by Ben.Zeigler Actor.h header cleanup, fix various comments and reorganize some members, saves 80 bytes per actor in a cooked Win64 build bRunningUserConstructionScript is now private, exposed with IsRunningUserConstructionScript Fixed a few other fields to be private that were accidentally made public in 4.17 Change 3633984 by Michael.Noland Blueprints: Fixed a potential crash when collapsing nodes to a function when a potential entry pin had no links Change 3634464 by Ben.Zeigler Header cleanups for Pawn, Controller, Character, and PlayerController Change 3636858 by Marc.Audy In preview worlds don't display the light error sprite #jira UE-49555 Change 3636903 by Marc.Audy Fix numerous issues with copy/pasting editable pin bases #jira UE-49532 Change 3638898 by Marc.Audy Allow right-click creation of local variables in blueprint function libraries #jira UE-49590 Change 3639086 by Marc.Audy PR #4006: Mark UEdGraphSchema::BreakSinglePinLink as const (Contributed by leyyin) #jira UE-49591 Change 3639445 by Marc.Audy Fix mistaken override and virtual markup on niagara schema function. Change 3641202 by Marc.Audy (4.17.2) Fix crash undoing pin changes with split pins #jira UE-49634 Change 3643825 by Marc.Audy (4.17.2) Fix crash right clicking a struct pin when the struct it represented has been deleted #jira UE-49756 Change 3645110 by mason.seay Fixed up QA-ClickHUD map so it's usable and makes more sense Change 3646428 by Dan.Oconnor Fix for UbergraphFrame layout changing during bytecode recompile, which would cause actual ubergraph frame layout to mismatch reflection data #jira None Change 3647298 by Marc.Audy PR #4016: Rename argument name for SetInputMode (Contributed by projectgheist) #jira UE-49748 Change 3647815 by Marc.Audy Minor performance improvements Change 3648931 by Lina.Halper #Compiler : fixed so that each type of BP can provide module info, and compiler info - Moved out AnimBlueprint Compiler - Refactored WidgetBlueprint - DUPE - Merging using ControlRig_Dev-Framework Change 3654310 by Marc.Audy Shrink USkinnedMeshComponent 64 bytes Shrink USkeletalMeshComponent 224 bytes (160 bytes internal) Change 3654636 by Lina.Halper Fix crashing on shutdown #jira: UE-50004 Change 3654960 by Lina.Halper - Fix with automation test of creation/duplication - Fixed shut down crash with editor again due to uobject GCed #jira: UE-50028 Change 3655023 by Ben.Zeigler #jira UE-50101 Fix level streaming transform when PIE-duplicating a level that has been preloaded but not made visible in the editor. Instead of always saying actors have been moved we copy the source level's flag Change 3655426 by Ben.Zeigler #jira UE-50019 Fix issue where StreamableManager could return objects that are partially loaded if called from PostLoad. StreamableManager never wants half-loaded objects, so change it to explicitly skip them Change 3657627 by Ben.Zeigler #jira UE-50157 Fix EDL load dependency issue where the simple construction script/ICH are not guaranteed to be serialized in time for subobject construction Change 3662086 by Mieszko.Zielinski Fixed navmesh not loading properly in PIE when owning world has been duplicated-for-play #UE4 This can happen when navigation containing level is loaded via AsyncLoadPrimaryAssetList #jira UE-50101 Change 3662294 by Ben.Zeigler Fix enum redirects to handle non-class enums properly where a value redirect is not specified. It needs to convert from EOldEnum::Value to ENewEnum::Value before doing the name check Change 3662825 by Mieszko.Zielinski Fixed VisLog debug drawing crashing when using UI to change log lines to be displayed #UE4 there was a loop iterating over elements of a map and was modifying the map as it went, which is a big no-no Change 3664424 by Marc.Audy UE-50076 test assets #rb none #rnx Change 3664441 by Mieszko.Zielinski PR #3993: UE-25907: Added logging to Log Text, Log Location, and Log Box Shape (Contributed by projectgheist) Piggybacking on this PR I've redone how visual log is using categories. Now it's using FName rather than FLogCategoryBase to indicated log category. All UE_VLOG macros have been updated. Change 3664506 by Phillip.Kavan #jira UE-47852 - Fix various issues with both UAT/UBT-driven and manually-configured code/data build workflows involving nativized Blueprint assets. Change summary: - UAT: Removed '-nativizedAssets' command-line option. It's no longer required to specify this flag when cooking/building in order to enable nativization. - UAT: Removed AutomationTool.ProjectParams.BlueprintPluginPaths. - UAT: Modified AutomationTool.ProjectParams.ProjectParams() to initialize the 'RunAssetNativization' field based on the current 'BlueprintNativizationMethod' config setting. This flag is now used just to direct UAT to defer invoking UBT for '-build' until after the '-cook' stage has finished. - UAT: Modified BuildCookRun.DoBuildCookRun() to remove the 'bWarnIfPackagedWithoutNativizationFlag' case (since we removed the '-nativizedAssets' command-line option). - UAT: Removed Project.AddBlueprintPluginPathArgument() and Project.GetBlueprintPluginPathArgument(). These utility functions are no longer needed. - UAT: Modified Project.Cook() to remove the registration of each NativizedAssets plugin path for '-build' along with the addition of the '-nativizedAssets' argument with the platform-agnostic path to the NativizedAssets plugin when invoking UE4Editor.exe for '-cook'. This is now handled by the UE4Editor cook commandlet instead. - UAT: Modified Project.Build() to remove the addition of the '-plugin' argument with the path to the NativizedAssets plugin when invoking UBT for '-build'. This is now handled by UBT instead. - UBT: Modified UnrealBuildTool.ProjectFileGenerator.DiscoverExtraPlugins() to remove the previously-added search for intermediate plugin assets based on the 'AdditionalPluginDirectories' optionally found in the .uproject file. Instead, this search is now handled via a Plugins.EnumeratePlugins() LINQ query. It is also gated by a new Advanced project setting in DefaultGame.ini that defaults to off, but this way users can still add generated assets into the solution file. - UBT: Added UnrealBuildTool.UEBuildTarget.ShouldIncludeNativizedAssets() as a utility method for checking the current 'BlueprintNativizationMethod' setting in the game's config file. - UBT: Modified UnrealBuildTool.UEBuildTarget.CreateTarget() to confirm the existence of a NativizedAssets plugin (generated at cook time) when the project is configured for nativization. If the plugin is found, it is added to the RulesAssembly chain and the ProjectDescriptor.ForeignPlugins list. If the plugin is not found, then a BuildException is thrown informing the user that the plugin must exist in order to build (with a note to make sure to cook the target platform first). - UE4: Added 'Lex' namespace utility functions for converting PlatformInfo::EPlatformType to/from an FString. Note: Lex::FromString() is simply a proxy to the already-existing PlatformInfo::EPlaformTypeFromString() API, but it was included for completeness. - UE4: Removed the UProjectPackagingSettings::bWarnIfPackagedWithoutNativizationFlag. This is no longer needed since the '-nativizedAssets' command-line option has been removed. - UE4: Added UProjectPackagingSettings::bIncludeNativizedAssetsInProjectGeneration (advanced setting). This defaults to 'false' (off). When true, running GenerateProjects.bat will also generate project files for any NativizedAssets plugins previously generated at cook time. This gives advanced users/engineers an option to include nativized Blueprint class sources in the set of generated C++ code projects for faster browsing, etc. - UE4: Modified UProjectPackagingSettings::PostEditChangeProperty() to remove the case that handles the 'BlueprintNativizationMethod' property. When this value changes, we no longer make an attempt to modify the .uproject file. - UE4: Removed BlueprintNativeCodeGenManifestImpl::PlatformPlaceholderPattern. This pattern string is no longer in use. Also modified the FBlueprintNativeCodeGenPaths ctor to remove the replacement logic for the pattern string. - UE4: Modified FBlueprintNativeCodeGenPaths::GetDefaultCodeGenPaths() to construct and return a new directory pattern for the generated NativizedAssets plugin. This is now generated to: Intermediate/Plugins/NativizedAssets/<Platform>/<Type:Game|Client|Server>. - UE4: Modified FBlueprintNativeCodeGenPaths::PluginRootDir() to no longer append "NativizedAssets" to the end of the path to the generated NativizedAssets plugin. - UE4: Removed FCookByTheBookStartupOptions::bNativizeAssets and NativizedPluginPath (no longer in use since the '-nativizeAssets' command-line option has been removed). - UE4: Modified UCookCommandlet::CookByTheBook() to remove initialization of the 'bNativizeAssets' field in the startup options (since the corresponding command-line argument has been removed). - UE4: Removed FNativeCodeGenData::DestPluginPath and modified FBlueprintNativeCodeGenModule::Initialize() to remove the check for it. - UE4: Added FBlueprintNativeCodeGenModule::ShutdownModule(). This now handles cleanup for the nativization module after the cook process has finished. - UE4: Modified UCookCommandlet::CookByTheBook() to no longer look for the '-nativizedAssets' command-line option as well as to remove the initialization of the nativization-related startup option flags that were removed. - UE4: Modified UCookOnTheFlyServer::StartCookByTheBook() to check the 'BlueprintNativizationMethod' config setting in order to determine whether or not to nativize assets. This replaces the '-nativizedAssets' command-line flag. - UE4: Modified UCookOnTheFlyServer::StartCookByTheBook() to remove the case that previously handled the 'bWarnIfPackagedWithoutNativizationFlag' check. This is no longer needed since the '-nativizedAssets' flag was removed. - UE4: Modified UCookOnTheFlyServer::CookByTheBookFinished() to unload the IBlueprintNativeCodeGenModule instance after cooking, in order to reset module state for another potential pass within the same process context. - UE4: Modified UWidgetBlueprintGeneratedClass::InitializeTemplate() to append 'REN_ForceNoResetLoaders' to the Rename() flags so that when we shift the OldArchetype object into the transient package, it doesn't invalidate the outer package's linker. We need that to remain valid so that multiple nativized cooks within the same process don't fail. - UE4: Modified FMainFrameActionCallbacks::PackageProject() to remove the addition of '-nativizedAssets' to the UAT command line based on project settings (this is no longer needed, as it is now handled internally by UAT). - UE4: Modified SaveWorld() to append 'REN_ForceNoResetLoaders' to the Rename() flags so that when we rename the world instead of duplicating it, it no longer triggers a reset of *all* object loaders. Notes: - After this change, all nativization workflows (e.g. UAT, UBT and UE4Editor) now look to the 'BlueprintNativizationMethod' flag in the Project settings (UProjectPackagingSettings). This unifies everything on a single flag by default, and removes the feature added in 4.17 that touched the .uproject file when that setting changed (which itself introduced a couple of new regressions in that release). - Advanced users and build engineers can override this value per task. Instructions to do that are as follows: - For UAT/UBT/UE4Editor.exe tasks, adding '-ini:Game:[/Script/UnrealEd.ProjectPackagingSettings]:BlueprintNativizationMethod=<Disabled|Inclusive|Exclusive>' will allow the current setting to be overridden on the command line. - When '-cook' is included on the RunUAT BuildCookRun command line, the above needs to also be embedded within the '-AdditionalCookerOptions' command-line argument. This means that if both '-cook' and '-build' are included, then both the '-ini' argument shown above as well as the same '-ini' argument embedded inside the '-AdditionalCookerOptions' argument will need to be included for the build pipeline to work properly. - We should add a release note instructing users to check their .uproject file and remove any 'AdditionalPluginDirectories' entries that list the "Intermediate/Plugins" path. This will avoid issues when building the cooked target with UBT. - We should also add a release note and/or documentation to explain the "advanced" build pipeline options (i.e. the '-ini' argument noted above). Change 3665061 by Phillip.Kavan Fix crash on load in a nativized build caused by a reference to a BP class containing a nativized enum. Mirrored from //UE4/Release-4.18 (CL# 3664993). #3969 #jira UE-49233 Change 3665108 by Marc.Audy (4.18) Fix crash when diffing a blueprint whose older version's parent blueprint has been deleted + additional code cleanup #jira UE-50076 Change 3665114 by Marc.Audy Minor change that could potentially improve performance in some cases Change 3665410 by Mieszko.Zielinski Fixed naming of Vislog's BP API #UE4 Change 3665634 by Ben.Zeigler #jira UE-50045 Mark PIE-duplicated packages as explicitly fully loaded to fix PIE networking crash. These used to be accidentally treated as fully loaded because it was checking the wrong package name on disk Change 3666970 by Phillip.Kavan Do not emit a BOM when generating nativized Blueprint asset source files encoded as UTF-8. #jira UE-46814 Change 3667058 by Phillip.Kavan Ensure that '-build' is always passed to BuildCookRun automation for projects configured with Blueprint nativization enabled so that it doesn't skip that stage. Mirrored from //UE4/Release-4.18 (CL# 3667043). #jira UE-50403 Change 3667150 by Mieszko.Zielinski PR #4042: BT CompositeDecorator node clears RF_Transient flag for all owned Decorator nodes. (Contributed by BibbitM) Minor tweak from the original PR - made UBehaviorTreeDecoratorGraphNode_Decorator::ResetNodeOwner protected and added UBehaviorTreeGraphNode_CompositeDecorator class a a friend. #jira UE-50249 Change 3667152 by Mieszko.Zielinski PR #4047: Clearing RF_Transient flag when reseting EQS node owner - single change. (Contributed by BibbitM) #jira UE-50298 Change 3667166 by Mieszko.Zielinski Fixed FRichCurve baking so that it doesn't loose its curvature #UE4 Also, added some baking sanity checking (like if the range is larger than a single point). Change 3668025 by Dan.Oconnor Added a step to the compilation manager to skip recompilation of classes that are dependent on a given classes function signatures when those signatures have not changed #jira UE-50453 Change 3672063 by Ben.Zeigler #jira UE-49049 Fix issue with StreamableHandle ParentHandles array being modified during iteration, I had already fixed the Cancel case but not the complete case Change 3672306 by Ben.Zeigler #jira UE-50571 Fix issue where PrimaryAsset blueprints would be incorrectly added to the dictionary if their base class had an active class redirect referencing it Change 3672683 by Marc.Audy Code cleanup Change 3672749 by Ben.Zeigler Fix issue where deleting a source package would not cause the generated cooked package to get deleted while doing an incremental build Change 3672831 by Ben.Zeigler #jira UE-50507 Add a cook/save warning when a registered PrimaryAssetId does not match the object's real exported PrimaryAssetId. Make PrimaryDataAsset blueprintable so you can make primary assets in a blueprint-only project Change 3673551 by Ben.Zeigler #jira UE-50029 Fix it so data-only blueprints will never create a UCS function in the final class. If you manually compiled the blueprint or it got recompiled due to inheritance it would create a UCS function that just calls its parent, which could cause problems later on when it did not create a UCS function during normal load Change 3675074 by mason.seay Test map for VisLog Testing Change 3675084 by Mieszko.Zielinski Fixed BT editor constantly marking BT asset as dirty if it has a "RunBehavior" node #UE4 #jira UE-43430 Change 3676490 by Ben.Zeigler #jira UE-50635 Fix it so directly blueprinting PrimaryDataAsset will give you a useful PrimaryAssetType. Unless overridden the Type of a PrimaryDataAsset will be the first native class found in the hierarchy, or the the blueprint class that directly blueprints PrimaryDataAsset Change 3676579 by Lukasz.Furman fixed crash in behavior tree's search rollback Change 3676586 by Lukasz.Furman added local scope mode to behavior tree's composite nodes Change 3676587 by Ben.Zeigler Swap PrimaryAssetId property customization to use the same ui as the Pin customization. This one better handles objects that aren't loaded into memory, the old Property one would show None in that case Add browse, use selected, and clear buttons, and make ID selector font the normal property font Change 3676715 by Lukasz.Furman changed order of behavior tree's aux node ticking Change 3676867 by Ben.Zeigler #jira UE-50665 Fix issue where resolving Soft Object Ptrs that are stored inside static assets or Blueprint CDOs from PIE will return the editor actor, not the PIE actor. So when resolving a path/ptr during PIE add a failsafe to do a PIE fixup Fix issue where Lazy pointer fixup could corrupt Soft Object Ptrs by applying the PIE fixup too early Change 3677892 by Ben.Zeigler Fix crash when additional level viewport sprites are added after level editor module is loaded. This is basically the same fix as CL #3491406, but for sprites Change 3678247 by Marc.Audy Fix static analysis warning Change 3678357 by Ben.Zeigler #jira UE-50696 Add some container variables to diff test to track down crashes Change 3678385 by Ben.Zeigler #jira UE-50696 Fix crash diffing blueprints where array properties were changed. It needs to not run the generic identical check until it's sure the container types match Change 3678600 by Ben.Zeigler #jira UE-50703 Fix crash when a soft actor reference is not actually pointing to an actor, treat it like a broken reference Change 3679075 by Dan.Oconnor Mirror 3679030 from Release-4.18 Fix crash when compiling a level blueprint that has delegates to a blueprint that it also has a direct dependency on #jira UE-48692 Change 3679087 by Dan.Oconnor Filter out unnecessary relink jobs from the compilation manager #jira None Change 3680221 by Ben.Zeigler #jira UE-50764 Fix crash when converting a property from a soft object reference to hard, it needs to validate the class after the conversion and null if necessary Change 3680561 by Lukasz.Furman fixed unsafe StopTree calls in behavior tree #jira nope Change 3680788 by Ben.Zeigler Fix issue where scrubbing sequencer in simulate would not modify actors. We need to temporarily set the PIE context global when doing this specific type of actor bind Change 3683001 by mason.seay Submitting various test maps and assets Change 3686837 by Mieszko.Zielinski Fixed NavMeshBoundsVolume not updating navmesh when its location gets changed via the Transform Details widget #Orion #jira UE-50857 Change 3688451 by Marc.Audy Fix up new material expression to work with String -> Name refactor Change 3689097 by Mason.Seay Test content for nativization and enum testing Change 3689106 by Mieszko.Zielinski Made NavMeshBoundsVolume react to undo in the editor #Orion #jira UE-51013 Change 3689347 by Mieszko.Zielinski Fixed a crash on FAIDynamicParam creation resulting from uninitialized member variables #UE4 Manual merge of CL#3689316 over from 4.18 #jira UE-51019 Change 3692524 by mason.seay Moved some assets to folder for org, fixed up redirectors Change 3692540 by mason.seay Renaming test maps so they are clearly indicated for testing nativization Change 3692577 by mason.seay Deleted a bunch of old assets I created specifically for various bugs reported. All issues are closed so they're no longer needed Change 3692724 by mason.seay Deleting handful of assets found in developer folders of those no longer with the team. Moved assets that are still used by test maps Change 3693184 by mason.seay Assets for testing nativization with structs Change 3693367 by mason.seay Improvements to test content Change 3695395 by Dan.Oconnor Fix for rare linker issue, IsBlueprintFinalizationPending would return true when we were trying to force load subobjects that were now ready to be loaded. This would prevent some placeholder objects from being replaced #jira None Change 3695484 by Marc.Audy Fix sound cue connection drawing policy not getting returned. #jira UE-51032 Change 3695494 by mason.seay More test content for nativization testing Change 3697829 by Mieszko.Zielinski PR #4104: Fixed a typo CaclulateMaxTilesCount to CalculateMaxTilesCount (Contributed by YuchenMei) Change 3700541 by mason.seay Test map for containers with function bug Change 3703459 by Marc.Audy Remove poorly named InverseLerp Fix degenerate behavior returning bad value #jira UE-50295 Change 3703803 by Marc.Audy Clean up autos Minor improvement to ShouldGenerateCluster Change 3704496 by Mason.Seay More test content for testing nativization Change 3706314 by Marc.Audy PR #4085: GetDefaultPawnClassForController -> BlueprintCallable (Contributed by Allar) #jira UE-50874 Change 3707502 by Mason.Seay Final changes to nativization test content (hopefully) Change 3709478 by Marc.Audy PR #4144: Exposed MassageAxisInput for inheritence (Contributed by jackknobel) Same as CL# 3689702 implemented in Fortnite #jira UE-51453 Change 3709967 by Marc.Audy PR #4139: fixed a typo in a comment (Contributed by derekvanvliet) #jira UE-51372 Change 3709970 by Marc.Audy PR #4150: Fixed a typo in movement override comment (Contributed by ruffenman) #jira UE-51495 Change 3709971 by Marc.Audy PR #4149: Fixing typo on movement pawn component (Contributed by celsodantas) #jira UE-51492 Change 3710041 by Marc.Audy Minor code cleanup Change 3711223 by Phillip.Kavan Move some Blueprint nativization log spam into the verbose category. #jira UE-49770 Change 3713398 by Marc.Audy PR #4157: Renamed AActor::InternalTakePointDamage function's parameter. (Contributed by BibbitM) #jira UE-51517 Change 3713601 by Marc.Audy Fix merge error Change 3713994 by Marc.Audy (4.18) Just mark level script actor pending kill when the level script blueprint has been recompiled, instead of trying to send it through the destroy actor lifecycle event. #jira UE-50738 Change 3714270 by Marc.Audy Fix crashes with tickables as a result of virtuals not being usable in constructors/destructors #jira UE-51534 Change 3714406 by Marc.Audy Fix dumb inverted boolean check Change 3716594 by Dan.Oconnor Integrate 3681301 from 4.18 Only run OnLevelScriptBlueprintChanged when explicitly compiling a level blueprint, this matches the old behavior #jira UE-50780, UE-51568 Change 3686450 by Marc.Audy PinCategory, PinSubcategory, and PinName are now stored as FName instead of FString. CreatePin has several simplified overrides so you can only specify Subcategory or SubcategoryObject or neither. CreatePin also takes a parameter bundle for reference, const, container type, index, and value terminal type rather than a long list of default parameters. Material Expressions now store input and output names as FName instead of FString FNiagaraParameterHandle now stores the parameter handle, namespace, and name as FName instead of FString Most existing pin related functions using string have been deprecated. Change 3713796 by Marc.Audy Added virtual GetTickableType function to FTickableBaseObject that can return Conditional (default), Always, or Never. Tickable Never objects will not get added to the tickable array or ever evaluated. Tickable Always objects do not call IsTickable and assume it will return true. Tickable Conditional objects work as in the past with IsTickable called each frame to make the determination whether to call Tick or not. IsTickable no longer a pure virtual (defaults to true). Applied fixes to avoid array corruption when a FTickableEditorObject is deleted during the tick phase consistent with previous fixes to FTickableGameObject. Change 3638554 by Marc.Audy Add enum expansion functional test to validate that the metadata ExpandEnumAsExecs works as expected. Change 3676502 by Ben.Zeigler Add Blueprint-only primary asset type to EngineTest, to cover testing UE-50635 [CL 3718205 by Marc Audy in Main branch]
2017-10-25 09:30:36 -04:00
UEdGraphPin* Outputs = CreatePin(EGPD_Output, TEXT("Transition"), TEXT("Out"));
Outputs->bHidden = true;
}
void UAnimStateTransitionNode::PostPlacedNewNode()
{
CreateBoundGraph();
}
void UAnimStateTransitionNode::PostLoad()
{
Super::PostLoad();
// make sure we have guid for shared rules
if (bSharedRules && !SharedRulesGuid.IsValid())
{
FAnimStateTransitionNodeSharedRulesHelper().MakeSureGuidExists(this);
}
// make sure we have guid for shared crossfade
if (bSharedCrossfade && !SharedCrossfadeGuid.IsValid())
{
FAnimStateTransitionNodeSharedCrossfadeHelper().MakeSureGuidExists(this);
}
if(GetLinkerUE4Version() < VER_UE4_ADDED_NON_LINEAR_TRANSITION_BLENDS)
{
switch(CrossfadeMode_DEPRECATED)
{
case ETransitionBlendMode::TBM_Linear:
BlendMode = EAlphaBlendOption::Linear;
break;
case ETransitionBlendMode::TBM_Cubic:
// Old cubic was actually an in/out hermite polynomial (FMath::SmoothStep)
BlendMode = EAlphaBlendOption::HermiteCubic;
break;
default:
break;
}
}
Copying //UE4/Dev-AnimPhys to //UE4/Dev-Main (Source: //UE4/Dev-AnimPhys @ 3683440) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3624599 by Thomas.Sarkanen Added the ability to rename shapes in the Physics Asset Editor Added "CanRenameItem" to skeleton tree item API so we are not limited to hard-coded bones/sockets Tweaked physics shape item widget to use editable text in the same vein as virtual bones etc. #jira UEAP-341 - Ability to name collision shapes Change 3624765 by Benn.Gallagher Fixed bad blend profile references #jira UE-46227 Change 3624773 by Danny.Bouimad Content fix for #Jira UE-49191 Change 3625007 by Thomas.Sarkanen Fixed monolithinc game builds Moved new Name member to WITH_EDITORONLY_DATA, as the generated code still picks it up using WITH_EDITOR Change 3625659 by Ori.Cohen Make sure that components being unwelded are always unwelded even if they are about to be deleted. This is needed for fixing dangling pointers. Change 3625850 by Thomas.Sarkanen Fix for crash in physics asset editor after garbage collection Move bone proxies from rooting to FGCObject Change 3625966 by Lina.Halper Instead of PinShownByDefault, changed to PinHiddenByDefault https://github.com/EpicGames/UnrealEngine/pull/3964 #3964 #jira: UE-49168 Change 3626020 by Martin.Wilson Protect against checkSlow when using post process instance without a main instance #jira UE-49275 Change 3627178 by Aaron.McLeran #jira UE-49322 Fixing background muting and preview sound Change 3627179 by Aaron.McLeran Optimizing active sound by not processing active sounds if they are out of range. Allowing virtualized sounds to be exempt. Licensee says they saw a 6x improvement on active sound calculations in audio thread with this change. Change 3627187 by Aaron.McLeran Allowing overriding the sample rate of synth components in C++. Useful for cases where synth component is being used to output media auido or VOIP. Change 3627563 by Thomas.Sarkanen Tweaked tooltip so it isnt the same as other menus #jira UE-47817 - Two Viewport tooltips are the same in Physics Asset Editor Change 3627580 by James.Golding PR #3974: UE-49200: Fixed typo in Physics Handle (Contributed by carloshellin) #jira UE-49264 Change 3627581 by James.Golding Reduce output verbosity during cooking #jira UE-47126 Change 3627584 by James.Golding PR #3954: Upgrade to V-HACD version 2.3 (Contributed by jratcliff63367) Auto-convex generation now exposes more useful 'max hulls' instead of 'accuracy' Auto-generation of convex collision is now done async in StaticMesh Editor #jira UE-49027 Change 3627599 by Martin.Wilson Make sure raw data debug bone rendering in the animation editors actually shows raw data in the case of additive track layers (used to show source instead) Change 3627605 by James.Golding Forgot to remove Box2D from TargetRules.cs (see CL 3555437) Change 3627627 by Martin.Wilson Change raw data evaluation so that virtual bone positions are built before interpolation is carried out #jira UE-42659 Change 3627663 by Martin.Wilson Fix typo Change 3627730 by Martin.Wilson Allow notifies to be trigger on follower animations in a sync group #jira UE-46770 Change 3627852 by Thomas.Sarkanen Add warning to "Use Async Scene" property when shown in the physics asset editor, if the project doesn't currently use an async scene. #jira UE-47964 User is not told to Enable Async Scene in Project Settings when enabling it on a physics asset Change 3627864 by Lina.Halper Fix issue where "reset to default" on search box for bone doesn't work #jira: UE-48874 Change 3627946 by Thomas.Sarkanen Prevent undo/redo breaking when moving both a constraint and a body at the same time #jira UE-49344 - Physics Asset Editor: Moving both a body and a constraint causes undo.redo to break for the whole editor Change 3628091 by Thomas.Sarkanen Fix dangling lines, poor search focus and graph not refreshing when making new constraints Found by Nick D in Main. #jira UE-47812 - Physics Asset Graph wires sometimes get stuck to the window not attached to a node Change 3628107 by Lina.Halper Fixed issue where Blendspace 1D can't scale due to the property not exposed https://udn.unrealengine.com/questions/389958/input-interpolationaxis-to-scale-in-1d-blendspace.html Change 3628108 by Arciel.Rekman Update Linux VHACD. - Also removed arm 32-bit version (the library is editor-only). Change 3628437 by Michael.Trepka Updated Mac VHACD libraries and Xcode project Change 3628667 by Lina.Halper - Fixed issue of showing combo box multiple times - Fixed issue of inconsistent combo box width - Fixed text of pick bone to "select" for more general instruction - Fixed issue with struct displaying children when pin is enabled #jira: UE-49295, UE-46496, UE-47427 Change 3629744 by Aaron.McLeran #jira UE-49383 Fix for source bus loading in sound waves and playing without audio mixer Change 3629846 by Aaron.McLeran #jira UE-49390 Required API change to spatialization interface for google Change 3630322 by Thomas.Sarkanen Fix right-click not displaying context menu for constraints correctly Selection logic was lightly broken #jira UE-49399 - Physics Asset Editor: Right-clicking constraints in the viewport does not bring up the context menu Change 3630463 by Martin.Wilson Remove accidently submitted debug code Change 3630523 by Jurre.deBaare Paint threshold and fill value and can be set to negative numbers #fix Added metadata and default values for cloth fill tool #jira UE-48352 Change 3632009 by Aaron.McLeran #jira UE-49470 Fix for iOS master volume not getting set Recent changes to master volume resulted in platforms which don't have a headroom value defined will not get their master volume updated. IOS doesn't have a headroom value set so the master volume is never set and the fade in is never triggered. Change 3632699 by Thomas.Sarkanen Fix crash undo-ing primitive regeneration while simullation is in progress & stopping simulation #jira UE-49283 - Editor crashes if you regenerate and manipulate a phys body, simulate, undo and then exit simulation Change 3633336 by James.Golding PR #3978: effect is the noun. affect is the verb (Contributed by cdietschrun) #jira UE-49324 Change 3634665 by Aaron.McLeran #jira UE-49538 Fixing param interpolation Change 3634922 by James.Golding Static analysis fix (PhysXCookHelper.cpp) Change 3634926 by James.Golding Fix HTML5 build (which builds with PhysX, but without APEX) Change 3636005 by Thomas.Sarkanen Constraint setup shortcuts are now undo-able Also fixed body-body collision as you couldnt undo this either. Added transaction and calls to Modify(). #jira UE-49484 - Shortcut for Swing1Motion (2, and 3) do not change physics asset state dirty. Change 3636018 by Thomas.Sarkanen Added back constraint shortcut to PhAT toolbar #jira UE-48859 - Constraint quick set buttons are missing in the new Physics Asset tool Change 3636086 by Martin.Wilson Fix for enabling Live Link plugin in Orion Change 3638367 by Thomas.Sarkanen Connection reporting is now more user-freindly in the physics asset editor graph view Expanded UEdGraphSchema API to allow for more specific feedback when dragging over a graph. Implemented node & pin feedback for physics asset graphs. Also fixed alignment of icon for drag feedback as it stretches with multi-line text. #jira UE-47984 - No node created when dragging off of Constraint node in Physics Asset Graph Change 3640144 by Aaron.McLeran #jira UE-49409 Attenuation focus audio tests on TM-AnimPhys on Cooked mac doesn't play any audio Fixing the recent optimization to not play active sounds in range. Code attempts to check if there's any possibility for a sound to have it's distance affected before trying to prune by max distance. Change 3640276 by Aaron.McLeran #jira UE-49606 Project does not cook with actors containing ModularSynth component Change 3640313 by Aaron.McLeran #jira UE-49675 Fixing shutdown of audio mixer - Final queued commands aren't getting pumped during audio mixer shutdown, added a new interface to get a final shutdown callback back to audio mixer device. We can do any cleanup or final shutdown tasks in this callback. Added a call to pump the source manager one last time. For cases of audio mixer running without audio plugins, this won't have much of an effect, but is a good thing to do anyway. For the case of audio plugins, who are depending on paired init and release calls, this is valueable to avoid memory leaks between subsequent PIE sessions. Change 3640941 by Martin.Wilson Add editor only animation loading debug data in the hope of diagnosing rare loading crash #jira UE-49335 Change 3641976 by Ethan.Geller #jira UE-49675 ensure that we pump both command queues Change 3642613 by James.Golding Add NoPhysX sample, for CIS testing compilation without PhysX Change 3644001 by Aaron.McLeran #jira UE-49805 looping sounds are, in rare cases, extremely loud Change 3644124 by Aaron.McLeran #jira UE-49787 [CrashReport] Mac crash - UE4Editor-AudioEditor.dylib!FSoundCueEditor::DeleteInput() Adding ensure on returned ptr to avoid crash but keep getting some logging. Change 3644157 by Aaron.McLeran Fixing build error Change 3644163 by Aaron.McLeran Fixing build error (for real) Change 3650331 by Aaron.McLeran #jira UE-49994 SoundMix Fade Time not fading audio properly Making sure we properly set passive mix modifier states. Change 3652648 by Aaron.McLeran #jira UE-49994 SoundMix Fade Time not fading audio properly Change 3652995 by Aaron.McLeran #jira UE-50053 Reduce log level of audio mixer debug category Turning down the log spam level of the underrun category by switching to debug category and reducing level of the debug category. Change 3653461 by James.Golding V-HACD updates from JohnR @ NVIDIA (adding new functions for future use) Change 3654056 by Aaron.McLeran Fixing an issue with caching node states for editor builds and adding optimization to cache if we should apply interior volumes. Change 3654579 by Aaron.McLeran Allow sound submixes and sound classes to be a blueprint type Made all properties of sound classes BlueprintReadOnly. Change 3662519 by James.Golding Merge CL 3575543 from //Fortnite/Main to Dev-AnimPhys Don't call into UpdateKinematicBones if there are no physx bodies Change 3664976 by Aaron.McLeran #jira UE-50175 New Tap Delay Submix Pan parameter does not work in Surround Sound Change 3665751 by Aaron.McLeran Adding a simple panner effect Change 3665851 by Aaron.McLeran Fixing naming convention for new panner source effect Change 3666894 by Thomas.Sarkanen Bone modifications via transform type-in can now be undone Added RF_Transactional & called Modify() #jira UE-47862 - Undoing Bone transformations in Physics Asset Editor does not work Change 3666919 by Lina.Halper Fixed equal operator for bonereference to work when not initialized Change 3668850 by Thomas.Sarkanen Skeleton tree now no longer allows selection of filtered items This fixes an issue where filtered-out constraints were being deselected after a select all operation because the tree thought it had no selection (all constraints were filtered). #jira UE-50200 - Constraint Details do not populate in the Details Panel if the Skeleton tree does not include Constraints Change 3669028 by James.Golding Fix CIS error after merge-down Change 3669053 by James.Golding Fix bad merge in SynthComponent.cpp Change 3669273 by Lina.Halper - delete all tracks option - allow to opt out on bone track importing - fixed pose preview for fullbody to select weights that has pose from asset. Change 3671396 by James.Golding Fix FSkelMeshComponentLODInfo cleaning up all override resources when it should only have been cleaning up one of them Change 3671701 by Martin.Wilson Maya Live Link plugin - Added UI to Maya - Display currently streamed subjects - Allow add and removal of streamed subjects - Display connection status to editor - Stream active camera as EditorActiveCamera - Refactored entire plugin so that streaming has a manager and streaming objects / interfaces - Reworked editor update hook so that streaming is more robust and facial rigs / leaf bones now correctly update. Change 3672170 by Lina.Halper Remove track support for Animation Blueprint Library Change 3675921 by Ethan.Geller Rollback invalidated check from copy down Change 3677606 by Martin.Wilson Add live link driven component - allows an actor to take its rotation and translation from a live link subject Change 3678594 by Lina.Halper Changed API name for clarification Change 3680913 by Ethan.Geller #jira UE-50750 fix stuttering on AudioMixer on MacOS Change 3681127 by Ethan.Geller #jira UE-50720 Fix invalidated audio clock time when audio device is unplugged on legacy audio engine Change 3682729 by Ethan.Geller #jira UE-50832 Fix for null concurrency settings when removing active sounds from a concurrency group. [Dev-AnimPhys] Change 3633185 by James.Golding Fix engine not compiling when WITH_PHYSX == 0 PR #3691: 4.16_WITH_PHYSX_optional (Contributed by JacobNelsonGames) PR #3695: 4.16_PhysXVehicles_WITH_PHYSX_optional (Contributed by JacobNelsonGames) Change 3637031 by Ethan.Geller #jira UE-49605 Platform Headroom fix for non-float devices. Change 3642598 by James.Golding Change bCompileNvCloth to use same pattern as bCompileAPEX (on by default, disabled on some platforms). This allows game projects to disable it. Change 3645224 by Martin.Wilson Fix for rare notify crash. For speed purposes Notify Queue caches a pointer to the notify, this is memory that is owned by the animation and if it gets garbage collected we have a pointer to invalid memory. This change caches a pointer to the owner of the notify memory to so we can track its validity. #jira UE-44869 Change 3668926 by James.Golding Merging //UE4/Dev-Main to Dev-AnimPhys (//UE4/Dev-AnimPhys) @ 3668712 Change 3674824 by James.Golding Merging //UE4/Dev-Main to Dev-AnimPhys (//UE4/Dev-AnimPhys) @ 3674368 [CL 3683447 by Thomas Sarkanen in Main branch]
2017-10-06 04:43:18 -04:00
if(GetLinkerCustomVersion(FAnimPhysObjectVersion::GUID) < FAnimPhysObjectVersion::FixupBadBlendProfileReferences)
{
ValidateBlendProfile();
}
}
bool UAnimStateTransitionNode::ValidateBlendProfile()
{
if(BlendProfile)
{
// validate the skeleton of our blend profile
UBlueprint* Blueprint = FBlueprintEditorUtils::FindBlueprintForNodeChecked(this);
UAnimBlueprint* AnimBP = CastChecked<UAnimBlueprint>(Blueprint);
if(AnimBP->TargetSkeleton && !AnimBP->TargetSkeleton->BlendProfiles.Contains(BlendProfile))
{
BlendProfile = nullptr;
return false;
}
}
return true;
}
void UAnimStateTransitionNode::PostPasteNode()
{
if (bSharedRules)
{
FAnimStateTransitionNodeSharedRulesHelper().UpdateSharedData(this, MakeShareable(new FAnimStateTransitionNodeSharedRulesNameValidator(this)));
}
if (bSharedCrossfade)
{
FAnimStateTransitionNodeSharedCrossfadeHelper().UpdateSharedData(this, MakeShareable(new FAnimStateTransitionNodeSharedCrossfadeNameValidator(this)));
}
if (BoundGraph == NULL)
{
// fail-safe, create empty transition graph
CreateBoundGraph();
}
for (UEdGraphNode* GraphNode : BoundGraph->Nodes)
{
GraphNode->CreateNewGuid();
GraphNode->PostPasteNode();
GraphNode->ReconstructNode();
}
Copying //UE4/Dev-Framework to Dev-Main (//UE4/Dev-Main) @ 2944217 #lockdown Nick.Penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2899855 on 2016/03/08 by Marc.Audy Merging //UE4/Dev-Main to Dev-Framework (//UE4/Dev-Framework) @ 2899785 Change 2926689 on 2016/03/29 by Jeff.Farris AAIController::SetFocus() will now implicitly clear any location focus at the same priority. UE-27975 #rb john.abercrombie Change 2926690 on 2016/03/29 by Jeff.Farris Using wildcard operator with the "KismetEvent" or "ke" console commands will now only trigger the event on objects in the world in which it was triggered. Prevents badness with running events on things like CDOs and editor actors. (UE-23106) Change 2926691 on 2016/03/29 by mason.seay Content for testing collision on scaled components Change 2926692 on 2016/03/29 by Jeff.Farris - FixupDeltaSeconds now considers time dilation when clamping. - Acceptable range for time dilation values is now a config parameter on WorldSettings - Acceptable range for undilated frame times is now a config parameter on WorldSettings (UE-27815) #rb marc.audy Change 2926711 on 2016/03/29 by Ori.Cohen Fix constraint rendering when scaling a cosntraint actor #JIRA UE-28691, UE-28700 #rb Lina.Halper Change 2926745 on 2016/03/29 by Lukasz.Furman navigation filters can now be instantiated per querier - usually AI agent required for FORT-21372 Change 2926789 on 2016/03/29 by Ori.Cohen Downgrade check to ensure for 2d physics during a hard shutdown #rb Michael.Noland Change 2926859 on 2016/03/29 by Ori.Cohen Fix red herring warnings of not locking physx scenes during hard shutdown. #JIRA UE-28747 #rb Michael.Noland Change 2927444 on 2016/03/30 by Thomas.Sarkanen Fixed Blueprint compiler errors when resetting timer handles Added basic support for 64-bit int/uint terms to Blueprint. This allows the use of opaque 64-bit integer types inside of BlueprintType structs, it in no way means that 64-bit ints are fully supported in Blueprint. Corrected a left-over formatting oversight when converting a FTimerHandle to a string. Added new by-ref "Clear and Invalidate Timer by Handle" function to Blueprint system library & deprecated old version. #rb Maciej.Mroz (and a few others!) #jira UE-28833 - Unresolved compiler error for B_Pickups blueprint in Fortnite Change 2927520 on 2016/03/30 by Jurre.deBaare Should not allow skeletal mesh components mobility to be set to static, but detach instead #fix Added CanHaveStaticMobility to SceneComponent class, and check this when trying to propogate Static mobility to parent component #jira UE-26364 Change 2927533 on 2016/03/30 by Jurre.deBaare Static Mesh Merge tool: when merging from multiple blueprints, fails to combine same materials #fix Material index remapping was part of if-clause where it shouldn't be #jira UE-23827 Static Mesh Merge tool, failed to combine physics data if using complex #fix Required copying the SectionInfoMap from source static meshes HLOD/MergeActor - Vertex Colours are not correctly propagated to negatively scaled meshes #fix had to re-order function calls #jira UE-28316 #rb James.Golding Change 2927535 on 2016/03/30 by Ori.Cohen Make sub-stepping run on game thread #JIRA UE-24011 #rb Gil.Gribb Change 2927537 on 2016/03/30 by Jurre.deBaare Warning message when HLOD mesh > 65536 vertices #jira UE-22365 #fix added messages when building proxy mesh Change 2927691 on 2016/03/30 by Jeff.Farris Fixed potential PlayerState leak (UE-22700) Change 2927692 on 2016/03/30 by Lina.Halper Allow it to select any name they want other than just restrict to what we have. - I think it may not be the best solution but with current widget built, you can't even clear name, which is problem. - Other solution is to add "Clear" as a name, and when that gets entered, we just clear it, but then the X button is odd and no purpose being there. - I think we should just allow them to choose if they don't like it but with suggestions. #rb: Ori.Cohen #jira UE-27786 #code review: Benn.Gallagher Change 2927853 on 2016/03/30 by Lina.Halper [CL 2944273 by Marc Audy in Main branch]
2016-04-14 16:25:11 -04:00
if(CustomTransitionGraph)
{
// Needs to be added to the parent graph
UEdGraph* ParentGraph = GetGraph();
if(ParentGraph->SubGraphs.Find(CustomTransitionGraph) == INDEX_NONE)
{
ParentGraph->SubGraphs.Add(CustomTransitionGraph);
}
// Transactional flag is lost in copy/paste, restore it.
CustomTransitionGraph->SetFlags(RF_Transactional);
}
Copying //UE4/Dev-AnimPhys to //UE4/Dev-Main (Source: //UE4/Dev-AnimPhys @ 3683440) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3624599 by Thomas.Sarkanen Added the ability to rename shapes in the Physics Asset Editor Added "CanRenameItem" to skeleton tree item API so we are not limited to hard-coded bones/sockets Tweaked physics shape item widget to use editable text in the same vein as virtual bones etc. #jira UEAP-341 - Ability to name collision shapes Change 3624765 by Benn.Gallagher Fixed bad blend profile references #jira UE-46227 Change 3624773 by Danny.Bouimad Content fix for #Jira UE-49191 Change 3625007 by Thomas.Sarkanen Fixed monolithinc game builds Moved new Name member to WITH_EDITORONLY_DATA, as the generated code still picks it up using WITH_EDITOR Change 3625659 by Ori.Cohen Make sure that components being unwelded are always unwelded even if they are about to be deleted. This is needed for fixing dangling pointers. Change 3625850 by Thomas.Sarkanen Fix for crash in physics asset editor after garbage collection Move bone proxies from rooting to FGCObject Change 3625966 by Lina.Halper Instead of PinShownByDefault, changed to PinHiddenByDefault https://github.com/EpicGames/UnrealEngine/pull/3964 #3964 #jira: UE-49168 Change 3626020 by Martin.Wilson Protect against checkSlow when using post process instance without a main instance #jira UE-49275 Change 3627178 by Aaron.McLeran #jira UE-49322 Fixing background muting and preview sound Change 3627179 by Aaron.McLeran Optimizing active sound by not processing active sounds if they are out of range. Allowing virtualized sounds to be exempt. Licensee says they saw a 6x improvement on active sound calculations in audio thread with this change. Change 3627187 by Aaron.McLeran Allowing overriding the sample rate of synth components in C++. Useful for cases where synth component is being used to output media auido or VOIP. Change 3627563 by Thomas.Sarkanen Tweaked tooltip so it isnt the same as other menus #jira UE-47817 - Two Viewport tooltips are the same in Physics Asset Editor Change 3627580 by James.Golding PR #3974: UE-49200: Fixed typo in Physics Handle (Contributed by carloshellin) #jira UE-49264 Change 3627581 by James.Golding Reduce output verbosity during cooking #jira UE-47126 Change 3627584 by James.Golding PR #3954: Upgrade to V-HACD version 2.3 (Contributed by jratcliff63367) Auto-convex generation now exposes more useful 'max hulls' instead of 'accuracy' Auto-generation of convex collision is now done async in StaticMesh Editor #jira UE-49027 Change 3627599 by Martin.Wilson Make sure raw data debug bone rendering in the animation editors actually shows raw data in the case of additive track layers (used to show source instead) Change 3627605 by James.Golding Forgot to remove Box2D from TargetRules.cs (see CL 3555437) Change 3627627 by Martin.Wilson Change raw data evaluation so that virtual bone positions are built before interpolation is carried out #jira UE-42659 Change 3627663 by Martin.Wilson Fix typo Change 3627730 by Martin.Wilson Allow notifies to be trigger on follower animations in a sync group #jira UE-46770 Change 3627852 by Thomas.Sarkanen Add warning to "Use Async Scene" property when shown in the physics asset editor, if the project doesn't currently use an async scene. #jira UE-47964 User is not told to Enable Async Scene in Project Settings when enabling it on a physics asset Change 3627864 by Lina.Halper Fix issue where "reset to default" on search box for bone doesn't work #jira: UE-48874 Change 3627946 by Thomas.Sarkanen Prevent undo/redo breaking when moving both a constraint and a body at the same time #jira UE-49344 - Physics Asset Editor: Moving both a body and a constraint causes undo.redo to break for the whole editor Change 3628091 by Thomas.Sarkanen Fix dangling lines, poor search focus and graph not refreshing when making new constraints Found by Nick D in Main. #jira UE-47812 - Physics Asset Graph wires sometimes get stuck to the window not attached to a node Change 3628107 by Lina.Halper Fixed issue where Blendspace 1D can't scale due to the property not exposed https://udn.unrealengine.com/questions/389958/input-interpolationaxis-to-scale-in-1d-blendspace.html Change 3628108 by Arciel.Rekman Update Linux VHACD. - Also removed arm 32-bit version (the library is editor-only). Change 3628437 by Michael.Trepka Updated Mac VHACD libraries and Xcode project Change 3628667 by Lina.Halper - Fixed issue of showing combo box multiple times - Fixed issue of inconsistent combo box width - Fixed text of pick bone to "select" for more general instruction - Fixed issue with struct displaying children when pin is enabled #jira: UE-49295, UE-46496, UE-47427 Change 3629744 by Aaron.McLeran #jira UE-49383 Fix for source bus loading in sound waves and playing without audio mixer Change 3629846 by Aaron.McLeran #jira UE-49390 Required API change to spatialization interface for google Change 3630322 by Thomas.Sarkanen Fix right-click not displaying context menu for constraints correctly Selection logic was lightly broken #jira UE-49399 - Physics Asset Editor: Right-clicking constraints in the viewport does not bring up the context menu Change 3630463 by Martin.Wilson Remove accidently submitted debug code Change 3630523 by Jurre.deBaare Paint threshold and fill value and can be set to negative numbers #fix Added metadata and default values for cloth fill tool #jira UE-48352 Change 3632009 by Aaron.McLeran #jira UE-49470 Fix for iOS master volume not getting set Recent changes to master volume resulted in platforms which don't have a headroom value defined will not get their master volume updated. IOS doesn't have a headroom value set so the master volume is never set and the fade in is never triggered. Change 3632699 by Thomas.Sarkanen Fix crash undo-ing primitive regeneration while simullation is in progress & stopping simulation #jira UE-49283 - Editor crashes if you regenerate and manipulate a phys body, simulate, undo and then exit simulation Change 3633336 by James.Golding PR #3978: effect is the noun. affect is the verb (Contributed by cdietschrun) #jira UE-49324 Change 3634665 by Aaron.McLeran #jira UE-49538 Fixing param interpolation Change 3634922 by James.Golding Static analysis fix (PhysXCookHelper.cpp) Change 3634926 by James.Golding Fix HTML5 build (which builds with PhysX, but without APEX) Change 3636005 by Thomas.Sarkanen Constraint setup shortcuts are now undo-able Also fixed body-body collision as you couldnt undo this either. Added transaction and calls to Modify(). #jira UE-49484 - Shortcut for Swing1Motion (2, and 3) do not change physics asset state dirty. Change 3636018 by Thomas.Sarkanen Added back constraint shortcut to PhAT toolbar #jira UE-48859 - Constraint quick set buttons are missing in the new Physics Asset tool Change 3636086 by Martin.Wilson Fix for enabling Live Link plugin in Orion Change 3638367 by Thomas.Sarkanen Connection reporting is now more user-freindly in the physics asset editor graph view Expanded UEdGraphSchema API to allow for more specific feedback when dragging over a graph. Implemented node & pin feedback for physics asset graphs. Also fixed alignment of icon for drag feedback as it stretches with multi-line text. #jira UE-47984 - No node created when dragging off of Constraint node in Physics Asset Graph Change 3640144 by Aaron.McLeran #jira UE-49409 Attenuation focus audio tests on TM-AnimPhys on Cooked mac doesn't play any audio Fixing the recent optimization to not play active sounds in range. Code attempts to check if there's any possibility for a sound to have it's distance affected before trying to prune by max distance. Change 3640276 by Aaron.McLeran #jira UE-49606 Project does not cook with actors containing ModularSynth component Change 3640313 by Aaron.McLeran #jira UE-49675 Fixing shutdown of audio mixer - Final queued commands aren't getting pumped during audio mixer shutdown, added a new interface to get a final shutdown callback back to audio mixer device. We can do any cleanup or final shutdown tasks in this callback. Added a call to pump the source manager one last time. For cases of audio mixer running without audio plugins, this won't have much of an effect, but is a good thing to do anyway. For the case of audio plugins, who are depending on paired init and release calls, this is valueable to avoid memory leaks between subsequent PIE sessions. Change 3640941 by Martin.Wilson Add editor only animation loading debug data in the hope of diagnosing rare loading crash #jira UE-49335 Change 3641976 by Ethan.Geller #jira UE-49675 ensure that we pump both command queues Change 3642613 by James.Golding Add NoPhysX sample, for CIS testing compilation without PhysX Change 3644001 by Aaron.McLeran #jira UE-49805 looping sounds are, in rare cases, extremely loud Change 3644124 by Aaron.McLeran #jira UE-49787 [CrashReport] Mac crash - UE4Editor-AudioEditor.dylib!FSoundCueEditor::DeleteInput() Adding ensure on returned ptr to avoid crash but keep getting some logging. Change 3644157 by Aaron.McLeran Fixing build error Change 3644163 by Aaron.McLeran Fixing build error (for real) Change 3650331 by Aaron.McLeran #jira UE-49994 SoundMix Fade Time not fading audio properly Making sure we properly set passive mix modifier states. Change 3652648 by Aaron.McLeran #jira UE-49994 SoundMix Fade Time not fading audio properly Change 3652995 by Aaron.McLeran #jira UE-50053 Reduce log level of audio mixer debug category Turning down the log spam level of the underrun category by switching to debug category and reducing level of the debug category. Change 3653461 by James.Golding V-HACD updates from JohnR @ NVIDIA (adding new functions for future use) Change 3654056 by Aaron.McLeran Fixing an issue with caching node states for editor builds and adding optimization to cache if we should apply interior volumes. Change 3654579 by Aaron.McLeran Allow sound submixes and sound classes to be a blueprint type Made all properties of sound classes BlueprintReadOnly. Change 3662519 by James.Golding Merge CL 3575543 from //Fortnite/Main to Dev-AnimPhys Don't call into UpdateKinematicBones if there are no physx bodies Change 3664976 by Aaron.McLeran #jira UE-50175 New Tap Delay Submix Pan parameter does not work in Surround Sound Change 3665751 by Aaron.McLeran Adding a simple panner effect Change 3665851 by Aaron.McLeran Fixing naming convention for new panner source effect Change 3666894 by Thomas.Sarkanen Bone modifications via transform type-in can now be undone Added RF_Transactional & called Modify() #jira UE-47862 - Undoing Bone transformations in Physics Asset Editor does not work Change 3666919 by Lina.Halper Fixed equal operator for bonereference to work when not initialized Change 3668850 by Thomas.Sarkanen Skeleton tree now no longer allows selection of filtered items This fixes an issue where filtered-out constraints were being deselected after a select all operation because the tree thought it had no selection (all constraints were filtered). #jira UE-50200 - Constraint Details do not populate in the Details Panel if the Skeleton tree does not include Constraints Change 3669028 by James.Golding Fix CIS error after merge-down Change 3669053 by James.Golding Fix bad merge in SynthComponent.cpp Change 3669273 by Lina.Halper - delete all tracks option - allow to opt out on bone track importing - fixed pose preview for fullbody to select weights that has pose from asset. Change 3671396 by James.Golding Fix FSkelMeshComponentLODInfo cleaning up all override resources when it should only have been cleaning up one of them Change 3671701 by Martin.Wilson Maya Live Link plugin - Added UI to Maya - Display currently streamed subjects - Allow add and removal of streamed subjects - Display connection status to editor - Stream active camera as EditorActiveCamera - Refactored entire plugin so that streaming has a manager and streaming objects / interfaces - Reworked editor update hook so that streaming is more robust and facial rigs / leaf bones now correctly update. Change 3672170 by Lina.Halper Remove track support for Animation Blueprint Library Change 3675921 by Ethan.Geller Rollback invalidated check from copy down Change 3677606 by Martin.Wilson Add live link driven component - allows an actor to take its rotation and translation from a live link subject Change 3678594 by Lina.Halper Changed API name for clarification Change 3680913 by Ethan.Geller #jira UE-50750 fix stuttering on AudioMixer on MacOS Change 3681127 by Ethan.Geller #jira UE-50720 Fix invalidated audio clock time when audio device is unplugged on legacy audio engine Change 3682729 by Ethan.Geller #jira UE-50832 Fix for null concurrency settings when removing active sounds from a concurrency group. [Dev-AnimPhys] Change 3633185 by James.Golding Fix engine not compiling when WITH_PHYSX == 0 PR #3691: 4.16_WITH_PHYSX_optional (Contributed by JacobNelsonGames) PR #3695: 4.16_PhysXVehicles_WITH_PHYSX_optional (Contributed by JacobNelsonGames) Change 3637031 by Ethan.Geller #jira UE-49605 Platform Headroom fix for non-float devices. Change 3642598 by James.Golding Change bCompileNvCloth to use same pattern as bCompileAPEX (on by default, disabled on some platforms). This allows game projects to disable it. Change 3645224 by Martin.Wilson Fix for rare notify crash. For speed purposes Notify Queue caches a pointer to the notify, this is memory that is owned by the animation and if it gets garbage collected we have a pointer to invalid memory. This change caches a pointer to the owner of the notify memory to so we can track its validity. #jira UE-44869 Change 3668926 by James.Golding Merging //UE4/Dev-Main to Dev-AnimPhys (//UE4/Dev-AnimPhys) @ 3668712 Change 3674824 by James.Golding Merging //UE4/Dev-Main to Dev-AnimPhys (//UE4/Dev-AnimPhys) @ 3674368 [CL 3683447 by Thomas Sarkanen in Main branch]
2017-10-06 04:43:18 -04:00
ValidateBlendProfile();
Super::PostPasteNode();
Copying //UE4/Dev-Framework to //UE4/Dev-Main (Source: //UE4/Dev-Framework @ 3153514) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3050254 on 2016/07/14 by Marc.Audy Merging //UE4/Dev-Main to Dev-Framework (//UE4/Dev-Framework) @ 3049614 Change 3136629 on 2016/09/22 by Marc.Audy bye bye auto Change 3136631 on 2016/09/22 by Marc.Audy Allow objects to be marked as duplicate transient or non PIE duplicate transient ChildActors are not marked consistent with the property that references them as text export transient and non PIE duplicate transient #jira UE-35680 Change 3136636 on 2016/09/22 by Marc.Audy ParticleSystem and Audio Components now route Activate/Deactivate events to blueprints Component Activate/Deactivate events now provide component as a property #jira UE-35191 Change 3136640 on 2016/09/22 by Marc.Audy Expose bReplicates to blueprint component properties #jira UE-34433 Change 3136709 on 2016/09/22 by Ori.Cohen Fix GetBodyInstance returning incorrect bodies when welded kinematics are attached. #JIRA UE-36234 Change 3136710 on 2016/09/22 by Ori.Cohen Fix defer actors not working when the physics scene is simulating. We now flush when the scene is not simulating, as well as a lazy flush that goes through the slow path when needed. This allows us to batch multiple components together. #JIRA UE-35899 Change 3136770 on 2016/09/22 by Marc.Audy Fix compile error Change 3136854 on 2016/09/22 by Marc.Audy Sprite components need to be text export transient #jira UE-36064 Change 3136926 on 2016/09/22 by Ori.Cohen Fix ensure when skeletal mesh bodies have no collision. Change 3137054 on 2016/09/22 by Aaron.McLeran PR #2628: Fix UAudioComponent SubtitlePriority not being initialised (Contributed by alanedwardes) Change 3137058 on 2016/09/22 by Aaron.McLeran PR #2562: ReadCompressedInfo calculates duration for ADPCM audio (Contributed by derekvanvliet) Change 3137060 on 2016/09/22 by Aaron.McLeran UE-36336 Fixing A3D for mono/2D sounds - Making it so if A3D is being loaded but not enabled, we can not have reverb on 2D sounds - Fixing A3D mono sources from failing after a time Change 3137066 on 2016/09/22 by Aaron.McLeran Checking in Ngs2.Build.cs with A3D and USING_A3D set to 0 Change 3137098 on 2016/09/22 by dan.reynolds AEOverview Update: EQ Map, Reverb Map plus improvements on Main array cleanup process. Change 3137132 on 2016/09/22 by Aaron.McLeran PR #2789: Fixed signature of FActiveSound::GetIntParameter (Contributed by Laurie-Hedge) Change 3137175 on 2016/09/22 by Aaron.McLeran Fixing compile error with PhysXCollision.cpp from CL 3136710 Change 3137540 on 2016/09/23 by Thomas.Sarkanen Fixed crash when generating LODs automatically for skeletal meshes Quadric error reduction does not support skeletal meshes, so fails. Client code assumes that it cannot fail so crashed. This guards against immediatly assuming that LODs are valid after simplification. #jira UE-36253 - Crash applying LOD changes in Persona Change 3137720 on 2016/09/23 by Thomas.Sarkanen Changed asset shortcut bar to display asset names & reworked padding #jira UE-36347 - Anim asset shortcut bar has difficult to read/cut-off text Change 3137761 on 2016/09/23 by Martin.Wilson Fix typo in root motion from everything accumulation code Change 3137877 on 2016/09/23 by Thomas.Sarkanen Fixed undo/redo forcing skeletal meshes into t-pose Re-populated AnimationData in InitAnim for UDebugSkelMeshComponent. #jira UE-35579 - If you undo an animation change to any animation asset (for single preview), the playback controls will no longer function Change 3137885 on 2016/09/23 by Benn.Gallagher Fixed APEX clothing disappearing when time dilation results in a dt of 0. After simulating an actor with 0 APEX will fill positions and normals with NaNs, causing the disappearance. The fix in this case is to not schedule the evaluation task if we're not wanting to do any work. The simulation then freezes as we would expect. #jira UE-35151 Change 3137888 on 2016/09/23 by Benn.Gallagher Fixed transition nodes being able to be pasted or duplicated without 2 valid pin links #jira UE-24860 Change 3137889 on 2016/09/23 by Benn.Gallagher Fixed transform and widget inconsistencies in IK edit mode #jira UE-20628 Change 3137890 on 2016/09/23 by Jurre.deBaare Alembic Cached Geometry Does Not Display in Stand Alone Game #fix required to force load the GeometryCache module during runtime #jira UE-36187 Change 3137892 on 2016/09/23 by Jurre.deBaare Geometry cache playback should work in sequencer #fix add Interp UProperty tag to specific properties used for playing back the cache, future fix is having same approach as skeletal mesh animation for sequencer (depends on needs, -> skeletal mesh import has better compression anyway) #jira UE-35447 Change 3137893 on 2016/09/23 by Jurre.deBaare Alembic Cache Importer option for Hard Edge Angle Threshold does not work for objects with no normals #fix adhere to the assumed 'standard' no normals in ABC file means completely smooth normals throughout the sequence #jira UE-35091 Change 3137894 on 2016/09/23 by Jurre.deBaare Importing an Alembic File While mesh Distance Fields are Enabled Crashes Editor #fix Needed to save the raw mesh before building the mesh to ensure a LOD resource was created #misc added a new check + message in case this occurs again #jira UE-36059 Change 3137938 on 2016/09/23 by Jurre.deBaare Alembic Importing with Incorrect UV's #fix adding option for flipping UVs on import #jira UE-36190 Alembic import axis not aligned correctly #fix also added option to specify scale and rotation to be applied during import (with preset for Maya and Max) #jira UE-35510 Change 3137949 on 2016/09/23 by Jurre.deBaare Frame range importing causes confusion during Alembic importing #fix this required storing information per Alembic object at which frame index it actual has stored frames, using this data we can determine which frames are empty, and at which frame there is data. This allows us to skip empty frames if we want to import data-only frames, or to import all frames in the sequence including empty (pre-roll) frames. #misc changed settings UI listview layout (extra columns and resized old ones) #jira UE-35498 Change 3137994 on 2016/09/23 by Martin.Wilson Fix for creating an empty state when dragging a montage into a state machine graph #jira UE-33371 Change 3138103 on 2016/09/23 by Aaron.McLeran UE-36312 Fixing sound node distance cross fade for case of looping sounds Change 3138104 on 2016/09/23 by Aaron.McLeran UE-35392 Copy pasting local node into separate project crashes the engine Change 3138224 on 2016/09/23 by Aaron.McLeran UE-36312 Fixing sound node distance cross fade for case of looping sounds - Adding a check for wave instance count to account for virtualized sounds (one-shots) Change 3138666 on 2016/09/23 by Ben.Zeigler #UEFW-204 Add more comprehensive gameplay tag tests Fix issue with HasTag(Tag, IncludeParent, IncludeParent) revealed by tests, this was not returning true correctly in some cases. This use case is weird and will be deprecated soon Change 3138779 on 2016/09/23 by Marc.Audy Get rid of pointless casts Change 3138782 on 2016/09/23 by Marc.Audy remove some GWorlds Change 3139701 on 2016/09/26 by Jurre.deBaare Assert failed on GemetryCache for PS4 package #fix add GeometryCache reference in engine build.cs and fix the serialization of geometry cache files #jira UE-36392 Change 3139704 on 2016/09/26 by Jurre.deBaare Fix for -1 begin frame #fix do the max as an signed int, to make sure we don't wrap around Change 3139748 on 2016/09/26 by Benn.Gallagher PR #2784: Make sure that SceneScratchBufferSize is a multiple of 16K as requested by PhysX (Contributed by DenizPiri) Moved the definition of the boundary to a FPhysScene class static Changed comments on original user settings property to communicate the fact that the value is now rounded to the next 16K boundary #jira UE-35736 Change 3139903 on 2016/09/26 by Benn.Gallagher Fixed exposing subinstance pins stomping over class defaults and setting to uninitialized values #jira UE-34366 Change 3140409 on 2016/09/26 by Lukasz.Furman fixed uninitialized configs of gameplay debugger copy of CL# 3140399 Change 3140516 on 2016/09/26 by dan.reynolds AEOverview Map Update - Ambient Zone + Focus Test Change 3140526 on 2016/09/26 by Jon.Nabozny #rn Fixed CanJump inconsistencies with previous versions. Deferred JumpCurrentCount increment until after jump, made bWasJumping a member variable, and updated how jump count and hold time were compared in CanJump. #jira UE-35524, UE-35582 Change 3140745 on 2016/09/26 by dan.reynolds AEOverview Test Map Update + Occlusion Test Change 3140839 on 2016/09/26 by dan.reynolds AEOverview - minor updates Change 3141101 on 2016/09/27 by Thomas.Sarkanen Preview scene worlds now render correctly Split "Preview" type into "EditorPreview" (the default) and "GamePreview". Deprecated the old "Preview" world type (but kept its index). In-game hidden flags now apply to GamePreview, but not EditorPreview worlds. Deprecated old bHack_Force_UsesGameHiddenFlags_True boolean. GamePReview now serves this purpose. Fixed up UT cases where this was being used. FPreviewScenes now use the editor mode by default, but can be set to non-editor if needed (as is the case with the still-experimental UViewport). Custom depth pass is not enabled for EditorPreview (as before) but is for GamePreview. Fixed erroneous use of TEnumAsByte for non-uproperty WorldType. #jira UE-22883 - Using FPreviewScenes in-game for scene captures Change 3141106 on 2016/09/27 by Thomas.Sarkanen Column toggling improvements Column toggle menu now does not close when items are selected. This requries some Slate changes to how submenus are built to allow for sumbenus to specify whether they close after selection. Also allowed columns to be hidden by default for specific use cases (like the sequence browser). #jira UE-35818 - Anim asset browser column picker should stay up Change 3141131 on 2016/09/27 by Thomas.Sarkanen Fix CIS warnings Fallout from preview world changes Change 3141143 on 2016/09/27 by Jurre.deBaare Fix for CIS errors Change 3141235 on 2016/09/27 by Thomas.Sarkanen Fix offset of Persona floor mesh when auto-alignment is enabled When auto alignment was disabled, the offset wasnt getting taken into account. #jira UE-35544 - In Persona, Floor Height Offset does nothing with Auto Align Floor to Mesh disabled Change 3141327 on 2016/09/27 by Marc.Audy Ensure that the client side AttachChildren array remains accurate #jira UE-26025 Change 3141474 on 2016/09/27 by mason.seay Updating test map name and moving PlayerStart Change 3141501 on 2016/09/27 by Benn.Gallagher Loading time improvements for destructibles from Nvidia Updated to use new framework custom version instead of global object version Fixed usage of TArray to enable correct loading and saving of the cached data. #jira UE-29680 Change 3141889 on 2016/09/27 by Marc.Audy Fix DestructibleMesh when WITH_APEX is 0 #jira UE-36484 Change 3142034 on 2016/09/27 by Marc.Audy Merging //UE4/Dev-Main to Dev-Framework (//UE4/Dev-Framework) @ 3141971 Change 3142131 on 2016/09/27 by Ori.Cohen Make sure we return eTouch to physx during an overlap query. Fixes bad behavior when multiple objects blocked in an overlap query. #JIRA UE-36381 Change 3142154 on 2016/09/27 by Ori.Cohen Fix build, ModuleCachedData instead of NxApexModuleCachedData Change 3142159 on 2016/09/27 by mason.seay Blueprint for testing Child Actor Templates Change 3142255 on 2016/09/27 by Jon.Nabozny Fix crashes in QAMeshMerge component by making it a UObject, exposing it's method statically, and taking QASkeletalMeshMergeParams as an argument. #jira UE-35199, UE-35197, UE-35201 Change 3142717 on 2016/09/27 by dan.reynolds AEOverview Update + Sound Class Test Change 3142764 on 2016/09/27 by Marc.Audy Fix Ocean deprecation warnings Change 3142962 on 2016/09/28 by Thomas.Sarkanen Fixed bounds calculations for local camera animations Correctly calculated bounds as local to the initial transform in the track. Implemented suggested fixes from UDN user chhaddon (The Coalition). #jira UE-29594 - CameraAnim bounds are incorrect when bRelativeToInitialTransform == true Change 3143007 on 2016/09/28 by Martin.Wilson Added virtual bones to USkeleton API Breaking change: -Added USkeleton pointer to RemoveBonesByName -FReferenceSkeleton::UpdateRefPoseTransform & FReferenceSkeleton::Add made private. Must use FReferenceSkeletonModifier instead #jira UEFW-81 Change 3143040 on 2016/09/28 by James.Golding Strip DrawDebug.. functions from Shipping and Test builds, controlled by new define ENABLE_DRAW_DEBUG Fix up game projects to compile in Shipping/Test after this change PR #2757: (Contributed by projectgheist) #jira UE-35488 Change 3143046 on 2016/09/28 by James.Golding Fix OrionEnvironmentPerfTest.cpp compiling in Shipping (optimizations were not being re-enabled at end of file) Change 3143047 on 2016/09/28 by James.Golding PR #2731: Capsule primitive drawing fix (Contributed by kamrann) #jira UE-35142 Change 3143050 on 2016/09/28 by Martin.Wilson Update DDC key as some animation have stale data Change 3143088 on 2016/09/28 by Martin.Wilson CIS Fixes for Ocean after FReferenceSkeleton changes Change 3143090 on 2016/09/28 by Benn.Gallagher Fixed split pins in animation blueprints losing their pin links on editor restart. The anim nodes had opted out of the Super version of reconstruct, but that's where split pin restoration was added so we were skipping it. #jira UE-36482 Change 3143091 on 2016/09/28 by Thomas.Sarkanen Fix play/pause keyboard shortcut toggle in Persona based editors Correctly handled widget mode switching in the skeleton selection edit mode (previously it was manually handling this rather than hooking into the correct level viewport callbacks). Added the ability for FEdModes to specify whether they can use a widget mode. Added a common set of commands that all Persona-based editors can opt into (only contains TogglePlay for now). #jira UE-35163 - Cannot use Play/Pause shortcut in Persona if viewport is focused Change 3143100 on 2016/09/28 by James.Golding UE-32275 Fix Anim Curve entries losing Auto state when hidden/reshown Change 3143107 on 2016/09/28 by Martin.Wilson Add check to IsRunningParallelEvaluation to verify that the skeletal mesh component in question still references us #jira UE-34431 Change 3143125 on 2016/09/28 by Jurre.deBaare PR #2749: Fix blend space triangulation (Contributed by tmiv) Change 3143225 on 2016/09/28 by Jurre.deBaare Mesh/material merging basic test files Change 3143235 on 2016/09/28 by Martin.Wilson Fix issue where montage wrong section was updated with changes from details panel when clicking on a new section #jira UE-35929 Change 3143312 on 2016/09/28 by Marc.Audy Don't globally reregister components, globally recreate render state instead when force deleting assets Fixes crash force deleting a blueprint with a child actor component in it from the content browser Change 3143340 on 2016/09/28 by Mieszko.Zielinski Improved consistency of loudness usage in AISense_Hearing #UE4 Change 3143359 on 2016/09/28 by Marc.Audy Fix spelling error in comment Change 3143372 on 2016/09/28 by Jurre.deBaare HLOD meshes are causing degenerate triangles #fix Setting flag to ignore degenerate triangles when building the meshes vertex/index buffers #jira UE-34336 Change 3143420 on 2016/09/28 by Mieszko.Zielinski Fix to BlackboardData initialization's dependency on parent asset's initialization #UE4 Change 3143421 on 2016/09/28 by Martin.Wilson Allow reading on animation sequence length in blueprints #jira UE-34168 Change 3143455 on 2016/09/28 by James.Golding Add 'noop' versions of DrawDebug function, so you will not get compile errors by default for calling them in Shipping/Test builds. Added optional SHIPPING_DRAW_DEBUG_ERROR define, which will give compile errors in Shipping/Test if still calling DrawDebug functions Change 3143518 on 2016/09/28 by Jurre.deBaare Meshes with no UV Coordinates will break the UVs of other meshes contained in the same HLOD if they share a material #fix calculate UV bounds and check whether they occupy any space (if not do not use them for baking out the material) #misc set texture sampling for HLOD proxy base material to clamp #jira UE-35221 Change 3143542 on 2016/09/28 by James.Golding Change SHIPPING_DRAW_DEBUG_ERROR define from ifdef to if Fix comment Enable by default for FN Change 3143543 on 2016/09/28 by Benn.Gallagher Changed branch + early return into an ensure during FPxQueryFilterCallback::preFilter. We were checking for invalid shapes in preFilter but that shouldn't happen. More likely to get some information as an ensure instead of earlying out on the funciton. Change 3143556 on 2016/09/28 by Aaron.McLeran UE-36540 Editor Preferences 'Enable Sound' option causes Real Time Audio to Stop Working after PIE Change 3143566 on 2016/09/28 by Benn.Gallagher Readded early out alongside new ensure for catching bad preFilter shapes Change 3143568 on 2016/09/28 by Marc.Audy Fix deprecation warnings in UT Change 3143572 on 2016/09/28 by Jurre.deBaare More test content for mesh/material merging Change 3143581 on 2016/09/28 by Jurre.deBaare More content :D Change 3143585 on 2016/09/28 by Jurre.deBaare Geometry cache cleaning #misc fix for missing materials, not serialized (facepalm) as they were added later on (required custom version bump) #misc cleaning out unecessary code Change 3143594 on 2016/09/28 by Marc.Audy Creating a child actor component by dragging an actor blueprint in to another blueprint now properly creates the template #jira UE-36511 Change 3143658 on 2016/09/28 by Marc.Audy RootComponent can be null by the time we hit PostUnregisterAllComponents so need to protect against the dereference #jira UE-36553 Change 3143776 on 2016/09/28 by Marc.Audy Properly reinstance child actor templates when using the fast reinstancing path #jira UE-36516 Change 3143896 on 2016/09/28 by Ori.Cohen Remove UPROPERTY on aggregate threshold which is always read from the physics settings. Change 3144022 on 2016/09/28 by Ben.Zeigler Move AIMoveTo node from BlueprintGraph to AIGraph and remove BlueprintGraph->AIModule dependency in build system Change 3144252 on 2016/09/28 by mason.seay More blueprints for child actor template testing Change 3144262 on 2016/09/28 by Mason.Seay Deleting assets Change 3144283 on 2016/09/28 by dan.reynolds AEOverview update + Sound Priority Test Change 3144411 on 2016/09/28 by dan.reynolds AEOverview end of day update and tweaks Change 3144679 on 2016/09/29 by Benn.Gallagher Changed skeletal bounds calculation to not consider clothing assets that aren't simulating in the current LOD. In this case we're not rendering the clothing, we're only rendering the skeletal geometry for that section in that LOD which isn't bound to cloth. Change 3144856 on 2016/09/29 by Jurre.deBaare HLOD Outliner scrolls back to the top when generating proxy meshes #fix OnLevelActorsAdded was getting called for actors in the thumbnail worlds, which forced a refresh on the listview #jira UE-30384 Change 3144864 on 2016/09/29 by Thomas.Sarkanen Preview mesh fixes Animation preview meshes are now respected (and saved). Mesh is displayed as empty if none is set (but a default is chosen). Skeleton preview meshes are now shown as empty if none is set (but a default is chosen). #jira UE-36582 - Cannot set preview mesh per-animation Change 3144865 on 2016/09/29 by Jurre.deBaare More test content Change 3144885 on 2016/09/29 by James.Golding UE-35307 Move 'invalid scale' warning to Message Log to be more visible in editor Change scale clamping in UpdateBodyScale to catch cases like (1,0,1) Change 3144903 on 2016/09/29 by Thomas.Sarkanen Deprecating StaticMesh in UStaticMeshComponent Added GetStaticMesh to access the value as read-only. SetStaticMesh is now called in all locations that used to call "StaticMesh =". Lots of fixups. #jira UE-24859 - Deprecate public access to StaticMesh property in UStaticMeshComponent Change 3145020 on 2016/09/29 by Thomas.Sarkanen Fix bounds calculations that include bones to respect LOD (and other requried bones) Sometimes bones would not be updated if we LOD switched, extending the bounds. #jira UE-36525 - UDebugSkelMeshComponent::CalcBounds should filter by LOD Change 3145041 on 2016/09/29 by Jurre.deBaare Setting the Target Lightmap UV Channel to an incorrect value leads to inconsistent results #fix removed target light map channel, we now determine according to the UV channels which are unused in the final mesh #misc ignore the source lightmap uv channels to reduce data #jira UE-36595 Change 3145219 on 2016/09/29 by Benn.Gallagher Fixed clothing actors not casting shadows in editor, after the material editing change the copy of the shadow flag was missed from the clothing association code, which runs on again on older clothing assets to use the new render data skinning. Also added some fix up for assets that have be saved in the mean time. #jira UE-36552 Change 3145222 on 2016/09/29 by Jurre.deBaare Exporting Alembic Skeletal mesh from UE4 to FBX causes a crash #fix on import set _all_ bone influence to 0 #jira UE-36602 Change 3145267 on 2016/09/29 by Ori.Cohen Move OnConstraintBreak delegate so that it fires outside of fetchResults. Fixes crash from user doing unsafe things during fetchResults. #JIRA UE-36483 Change 3145306 on 2016/09/29 by Jon.Nabozny Fixed PhAT so multiple constraints can be selected and edited properly at the same time. #JIRA: UE-31493 Change 3145342 on 2016/09/29 by Marc.Audy Do not update cull distance volumes whenever any property changes * Any movement or property change of a cull distance volume still does a global update * Any movement of a component belong to any other Actor updates only the components of that Actor * Any property change of a primitive component only updates that component #jira UE-36399 Change 3145958 on 2016/09/29 by Marc.Audy In game worlds don't auto activate components until the actor is ready to process them #jira UE-35189 Change 3146110 on 2016/09/29 by dan.reynolds AEOverview update + Soundwave Procedural Test Map Change 3146375 on 2016/09/30 by Benn.Gallagher Fixed crash saving newly created destructible mesh after material refactor. #jira UE-36619 Change 3146378 on 2016/09/30 by James.Golding UE-35908 Line trace against a BodyInstance now returns closest hit for trimesh (was any hit before) Also add stat for FBodyInstance::LineTrace Change 3146379 on 2016/09/30 by James.Golding Add test assets for creating procmesh collision in non-editor builds Change 3146386 on 2016/09/30 by Thomas.Sarkanen Fixed ensures (and functionality) of 'show uncompressed animation' option in Persona viewports Made sure that PreEvaluateAnimation is called for th einstance in use, rather than only the preview instance. This unearthed another issuye where each of the calls to GenSpaceBAses was causing the animation to run faster. Fixed this by resetting the update flag in the update context after it is used. #jira UE-36251 - Ensures showing uncompressed animations in anim blueprints Change 3146464 on 2016/09/30 by Thomas.Sarkanen Fix layered blend per bone odd/even connection counts alternately working/not working Older hacky fix for multi-property to array copies flip-flipped between using fast path and not, when it really should have disabled fast path after the first array pin. Now it disables fast path based on whether this is a new handler or not, rather than looking at the SimpleCopyPropertyName. #jira UE-35648 - Layered Blend Per Bone doesn't work correctly with 3+ inputs Change 3146652 on 2016/09/30 by Benn.Gallagher Fixed subinstance properties appearing in the caller's details panel as oddly named properties. #jira UE-34141 Change 3146673 on 2016/09/30 by Martin.Wilson Make RawAnimationData (and associated anim sequence data) private #jira ue-25869 Change 3146680 on 2016/09/30 by Benn.Gallagher Fixed errant asterisks in tooltips for source and target bone on rotation multiplier controller node #jira UE-29847 Change 3146681 on 2016/09/30 by Benn.Gallagher Fixed incorrect tooltip on left hand IK bone in hand ik retargetting node #jira UE-30885 Change 3146711 on 2016/09/30 by Jon.Nabozny Fix PhAT SnapConstraintToBone. #jira UE-31491 Change 3146717 on 2016/09/30 by Danny.Bouimad Adding Jurres really useful merge actor test assets to somewhere QA can get em. Change 3146738 on 2016/09/30 by Martin.Wilson Fix pose blending for on non-additive pose blending + remove normalising of weights for weights less than 1 #tests Editor tests with mambo pose asset #jira UE-36189 Change 3146750 on 2016/09/30 by Jurre.deBaare Material baking issue #misc Removed the renderer initialization which causes issue the first time you would render out a material (gradient from top left to bottom right over the texture) #misc Replaced incorrect masks with _way_ better approach thanks to Martin Change 3146755 on 2016/09/30 by Jurre.deBaare Need better progress bar for HLOD #fix replaced the progress updates with new more 'correct' ones according to the actual workload and fixed up the Simplygon progress callback #jira UE-34334 Change 3147085 on 2016/09/30 by Marc.Audy PR #2815: GetNextViewablePlayer now checking and returning correct PlayerState. (Contributed by joshkay) #jira UE-36632 Change 3147224 on 2016/09/30 by Martin.Wilson CIS Fix Change 3147280 on 2016/09/30 by Marc.Audy Mouse smoothing should use application frame rate, not the dilated game frame rate #jira UE-31040 Change 3147446 on 2016/09/30 by Aaron.McLeran UE-36682 SoundCue Delay Not Consuming Input StartTime Correctly Change 3147693 on 2016/09/30 by Ben.Zeigler #jira UE-36657 If a player has an existing Pawn during RestartPlayer, use that pawn's rotation instead of the start spot, because we were already keeping the pawn's location Change 3147697 on 2016/09/30 by Jon.Nabozny Add rotation parameter to FBodyInstance::Sweep and FBodyInstance::InternalSweepPhysX #jira UE-30486 Change 3147761 on 2016/09/30 by Jon.Nabozny Fix AUTRepulsorBubble UPrimitiveComponent::SweepComponent usage. Change 3148533 on 2016/10/03 by Thomas.Sarkanen Fix new deprecation warnings introduced by the pull from main Change 3148567 on 2016/10/03 by Marc.Audy Fix crash when exiting PIE while a panoramic screenshot is being taken Make stereo panorama tick with the world it is operating on #jira UE-36492 Change 3148571 on 2016/10/03 by Marc.Audy Allow modification of components that are EditAnywhere but don't exist in the CDO #jira UE-36694 Change 3148607 on 2016/10/03 by Martin.Wilson Properly end notify states when we clear the anim instance on a skeletal mesh. #jira UE-32488 Change 3148711 on 2016/10/03 by Martin.Wilson Fix type in virtual bone tooltip #jira UE-36703 Change 3148746 on 2016/10/03 by Benn.Gallagher Fixed a few cases where post process and sub instance anim calls weren't being made correctly. #jira UE-36529 Change 3148807 on 2016/10/03 by Martin.Wilson Fix mismatch skeleton error when undoing virtual bone changes #jira UE-36705 Change 3148812 on 2016/10/03 by Martin.Wilson Add undo support to removing virtual bones #jira UE-36706 Change 3148975 on 2016/10/03 by Jurre.deBaare Issue with combining meshes both with/without normal maps #fix make sure we always output atleast the default normal value when baking out materials, this to ensure we output non-black values for meshes without normal maps (this would cause the normal to be incorrect) #misc fixed issue in function to set texture rectangle to a single colour #misc spotted comparison error Change 3148976 on 2016/10/03 by Ori.Cohen Make sure that shape queries that we pass into physx are never size 0. Fixes some NaNs #JIRA UE-36639 Change 3148991 on 2016/10/03 by Jurre.deBaare Changing LOD materials on Merged Actors Crashes Editor #fix take into account LOD that is using the material when remapping (removing duplicate) materials #jira UE-35883 Change 3148997 on 2016/10/03 by Jurre.deBaare Make sure we remove matrix samples that fall outside of the import range and remap those that are in range Change 3149002 on 2016/10/03 by Jurre.deBaare Issues with importing Alembic caches using matrix transformations #fix Apply conversion matrix to imported matrix samples to make them match the DCC package they were exported from Change 3149030 on 2016/10/03 by Martin.Wilson Dont show save warning on animations when we have curve data #jira UE-34145 Change 3149115 on 2016/10/03 by Mieszko.Zielinski Made PathfollowingComponent distinct between patrial and full paths in terms of acceptance radius used, when trying to determin if pathing agent is at goal location #UE4 #jira UE-35153 Change 3149186 on 2016/10/03 by Ben.Zeigler #UE-36722 Fix failure to spawn when trying to spawn 4 capsules in the exact same location There's no "Correct" direction to move out of a penetrating capsule, but old PhysX appeared to be consistent. New PhysX is not, so now we save and restore the adjustment instead of letting previous iterations modify it. This code is weird but this solution is better than the old version and handles inconsistent results Change 3149235 on 2016/10/03 by Martin.Wilson Change inline curve name editing to only change the name of that specific curve, instead of renaming the smart name itself. #jira UE-20005 Change 3149245 on 2016/10/03 by Marc.Audy Remove duplicate entries from AttachChildren caused by lack of atomic cross-object updates. Change 3149397 on 2016/10/03 by Ori.Cohen Fix collision profile writing out response values to channels that don't exist. #JIRA UE-36359 Change 3149679 on 2016/10/03 by Zak.Middleton #ue4 - Don't mark CharacterMovementComponent::bUseControllerDesiredRotation as an advanced property. Consolidate rotation settings (RotationRate, bUseControllerDesiredRotation, bOrientRotationToMovement) in a new "Rotation Settings" category. Change 3149929 on 2016/10/04 by Jurre.deBaare Fix for CIS errors #fix Mac didn't like undefined struct Change 3149977 on 2016/10/04 by danny.bouimad Massive update to Merge Actor test files Change 3150014 on 2016/10/04 by James.Golding UE-36686 Fix crash when slicing and not creating other section Change 3150016 on 2016/10/04 by James.Golding UE-35335 MergeActors now converts box collision to convex, so collision scales correctly after merging Change 3150019 on 2016/10/04 by James.Golding UE-36737 Fix LineTraceComponent not returning face index Change 3150020 on 2016/10/04 by James.Golding UE-36672 Export PhysicsContstraintComponent class so it can be subclassed outside Engine module Change 3150027 on 2016/10/04 by Ben.Marsh Add PhysX build option into Dev-Framework. Change 3150042 on 2016/10/04 by Benn.Gallagher Fixed clothing example 1.3 collision glitches Change 3150172 on 2016/10/04 by Benn.Gallagher Made Skeletal Mesh LOD reimports clear any existing simplification flag so we don't show "generated" next to LOD entries for them. #jira UE-36589 Change 3150319 on 2016/10/04 by Ori.Cohen Go back to only deferring body creation per component. This can now use the slow path when needed. Can't support deferring of multiple components without changing locking API so we'll do that in the future. #JIRA UE-36535, UE-36504 Change 3150355 on 2016/10/04 by Zak.Middleton #ue4 - Change checkSlow() to check() in GetDefaultObject<> because this is potentially an unsafe static cast. Change 3150370 on 2016/10/04 by Ori.Cohen Fix deferred actors not getting flushed. Change 3150386 on 2016/10/04 by Martin.Wilson Fix additive animation check failing in cooked builds when using virtual bones #jira UE-36743 Change 3150424 on 2016/10/04 by Ori.Cohen Exclude kinematic actors from active transforms generation. Change 3150613 on 2016/10/04 by Zak.Middleton #ue4 - Fix bad GetDefaultObject<> in AbilitySystemGlobals. Turned up since changing checkSlow() to check() in GetDefaultObject. (Mirror CL 3138304 in Orion-DevGeneral) #jira UE-36810 #tests compiled Change 3150679 on 2016/10/04 by Ben.Zeigler Crash fix with no async scene Change 3150765 on 2016/10/04 by Ben.Zeigler Deprecate UStructProperty::ExportTextItem_Static and ImportItem_Static, and add ExportText and ImportText directly to UScriptStruct Add bAllowNativeOverride to specify rather to call the native override. For unclear reasons the static export skipped the native override while the static import included it This allows calling the generic ImportText from inside a native ImportTextItem and then doing some post processing Change 3150796 on 2016/10/04 by Marc.Audy Fix LOCTEXT warnings related to blueprint class menu options Change 3150806 on 2016/10/04 by Ben.Zeigler Fix bad text format in import error message, lead to double error Change 3150891 on 2016/10/04 by Ben.Zeigler #jira UE-36170 Fix duplicate GUID spam when async loading levels during PIE by checking the package flag instead of the runtime global Change 3150914 on 2016/10/04 by Marc.Audy Don't try to recreate render state if it has already been recreated while the recreate context was active #jira UE-36590 Change 3151195 on 2016/10/04 by Dan.Reynolds Updates to QASoundWaveProcedural QASoundWaveProcedural edited to be a GameplayStatic which spawns an Audio Component Handler as well as a Procedural Sound Wave. Support for envelope shaping (Attack, Sustain, Release) as well as multiple waveforms (Sine, Triangle, Sawtooth, Square). Blueprint API expanded to include separate functions for setting QASoundWaveProcedural settings and Playing. Change 3151233 on 2016/10/04 by Ben.Zeigler #jira UE-36836 Fix variable shadowing warnings Change 3151328 on 2016/10/04 by dan.reynolds AEOverview Update - Added Sound Wave Procedural test map and added support for mobile (tested on Android) menu selection - Still a WIP Change 3151461 on 2016/10/05 by Thomas.Sarkanen Fix localization warnings #jira UE-36720 - //UE4/Main: Step 'Build Engine Localization' - 2 Warnings Change 3151546 on 2016/10/05 by Martin.Wilson Fix pose watch regression due to persona refactor changes. #jira UE-36851 Change 3151587 on 2016/10/05 by Jurre.deBaare Updating Simplygon to SDK version 8.0 #misc removed redundant files #misc fixed landscape culling in merge actor path #misc added support for volume culling using simplygon #misc fixed when or not to use mesh data for material baking #notes Change: 3137650 Date: 23/09/2016 07:57 Client: Mustafa.Tungekar_Dev-Partner-Simplygon User: Mustafa.Tungekar Status: submitted Type: restricted ImportedBy: Identity: Description: -Renamed commandline variables for ZipUtils AutomationScript -Implemented Execute instead of ExecuteBuild -Updated commandline arguments in SimplygonSwarm JobStatus: Jobs: Files: //UE4/Dev-Partner-Simplygon/Engine/Source/Developer/SimplygonSwarm/Private/SimplygonSwarm.cpp#4 //UE4/Dev-Partner-Simplygon/Engine/Source/Programs/AutomationTool/Scripts/ZipUtils.Automation.cs#2 Change: 3137649 Date: 23/09/2016 07:56 Client: Mustafa.Tungekar_Dev-Partner-Simplygon User: Mustafa.Tungekar Status: submitted Type: restricted ImportedBy: Identity: Description: Moved file hash computation to ImportObject JobStatus: Jobs: Files: //UE4/Dev-Partner-Simplygon/Engine/Source/Editor/UnrealEd/Classes/Factories/Factory.h#4 //UE4/Dev-Partner-Simplygon/Engine/Source/Editor/UnrealEd/Private/Factories/Factory.cpp#4 Change: 3137646 Date: 23/09/2016 07:55 Client: Mustafa.Tungekar_Dev-Partner-Simplygon User: Mustafa.Tungekar Status: submitted Type: restricted ImportedBy: Identity: Description: Fixes CL3099204 EditorPerProjectUserSetting Removed ConfigRestartRequired attribute from properties where it was not required MeshUtilities -Added FProxyFailedDelegate -Extended IMeshMerging to include FProxyFailed delegate -Added ProxyGenerationFailed method to FProxyGenerationProcessor class -Setup FailedDelegate for both MeshMerging and DistributedMeshMerging SimplygonMeshReduction -Added check for invalid texture id -Updated notes and removed commented code that is not required. -Setup failed delegate -Fixed issue where image data was never hooked into the texture. -Fixed issue where texture table was never passed into casters SimplygonSwarm -Setup failed delegate -Fixed RawMesh pointer usage. -Move helper method into SimplygonSwarmHelpers.h. -Added SimplygonSwarmHelpers -Removed redundant constant path to 7-zip -Removed GetSimplygonDirectory instead using inplace. -Removed commented code that is currently not required. -Fixed Typos JobStatus: Jobs: Files: //UE4/Dev-Partner-Simplygon/Engine/Source/Developer/MeshUtilities/Private/MeshUtilities.cpp#3 //UE4/Dev-Partner-Simplygon/Engine/Source/Developer/MeshUtilities/Public/MeshUtilities.h#3 //UE4/Dev-Partner-Simplygon/Engine/Source/Developer/SimplygonMeshReduction/Private/SimplygonMeshReduction.cpp#4 //UE4/Dev-Partner-Simplygon/Engine/Source/Developer/SimplygonSwarm/Private/SimplygonSwarm.cpp#3 //UE4/Dev-Partner-Simplygon/Engine/Source/Developer/SimplygonSwarm/Public/SimplygonSwarmHelpers.h#1 //UE4/Dev-Partner-Simplygon/Engine/Source/Editor/UnrealEd/Classes/Editor/EditorPerProjectUserSettings.h#3 Change: 3099204 Date: 24/08/2016 07:56 Client: Mustafa.Tungekar_Dev-Partner-Simplygon User: Mustafa.Tungekar Status: submitted Type: restricted ImportedBy: Identity: Description: Simplygon 8.0 Updates Deprecated support for 7.0 and updated SimplygonSwarm and SimplygonMeshReduction to use 8.0 EditorPerProjectSettings *SwarmMaxUploadChunkSizeInMB for limiting the max upload size for swarm. Note the Simplygon Grid has a limitation of 2GB *SwarmNumOfConcurrentJobs for executing number of concurrent jobs *Fixed issue where SG_MATERIAL_CHANNEL_METALLIC to SG_MATERIAL_CHANNEL_METALNESS (Chage in 8.0 SDK) SPL, SimplygonSwarm, RESTClient *Bumped up SPL Version to 8 *Fixed code paths to use ZipUtils UAT script for zipping and unzipping CL3094374 *Removed SPL Templates for version 7.0 *Added conditional logging to REST methods *Added multi part upload. The RESTClient automatically decided if large files need to be split up before uploading to simplygon grid. *Updated method to take in texturepath SimplygonMeshReduction *Removed minimum version requirement. *Bumped up minimum version *Chagned license file name to refelect 8.0 changes *MaterialBaking related method now take in TextureTable as an extra parameter. This is due to 8.0 move away from old way of setting up materials and using SimplygonShadingNetowrk based appraoch. JobStatus: Jobs: Files: //UE4/Dev-Partner-Simplygon/Engine/Source/Developer/SimplygonMeshReduction/Private/SimplygonMeshReduction.cpp#3 //UE4/Dev-Partner-Simplygon/Engine/Source/Developer/SimplygonMeshReduction/Public/SimplygonTypes.h#2 //UE4/Dev-Partner-Simplygon/Engine/Source/Developer/SimplygonSwarm/Private/SimplygonRESTClient.cpp#3 //UE4/Dev-Partner-Simplygon/Engine/Source/Developer/SimplygonSwarm/Private/SimplygonSwarm.cpp#2 //UE4/Dev-Partner-Simplygon/Engine/Source/Developer/SimplygonSwarm/Public/SimplygonRESTClient.h#2 //UE4/Dev-Partner-Simplygon/Engine/Source/Developer/SimplygonSwarm/Public/SimplygonSwarmPrivatePCH.h#2 //UE4/Dev-Partner-Simplygon/Engine/Source/Editor/UnrealEd/Classes/Editor/EditorPerProjectUserSettings.h#2 //UE4/Dev-Partner-Simplygon/Engine/Source/Editor/UnrealEd/Private/Settings/EditorPerProjectUserSettings.cpp#2 Change: 3099200 Date: 24/08/2016 07:48 Client: Mustafa.Tungekar_Dev-Partner-Simplygon User: Mustafa.Tungekar Status: submitted Type: restricted ImportedBy: Identity: Description: #fix Copy constructor for FMeshReduciton mapped ShadingImportance to SilhouetteImportance JobStatus: Jobs: Files: //UE4/Dev-Partner-Simplygon/Engine/Source/Runtime/Engine/Classes/Engine/MeshMerging.h#2 Change: 3099199 Date: 24/08/2016 07:47 Client: Mustafa.Tungekar_Dev-Partner-Simplygon User: Mustafa.Tungekar Status: submitted Type: restricted ImportedBy: Identity: Description: Added Automation Script ZipUtils to zip file and unzip files from SimplygonSwarm. This will remove any dependency on external zip program and should work across platforms JobStatus: Jobs: Files: //UE4/Dev-Partner-Simplygon/Engine/Source/Programs/AutomationTool/Scripts/AutomationScripts.Automation.csproj#2 //UE4/Dev-Partner-Simplygon/Engine/Source/Programs/AutomationTool/Scripts/ZipUtils.Automation.cs#1 Change: 3099197 Date: 24/08/2016 07:40 Client: Mustafa.Tungekar_Dev-Partner-Simplygon User: Mustafa.Tungekar Status: submitted Type: restricted ImportedBy: Identity: Description: *Speed improvements for FBX Scene Importer *Added a static method to compute Hash. JobStatus: Jobs: Files: //UE4/Dev-Partner-Simplygon/Engine/Source/Editor/UnrealEd/Classes/Factories/Factory.h#3 //UE4/Dev-Partner-Simplygon/Engine/Source/Editor/UnrealEd/Private/Factories/Factory.cpp#3 //UE4/Dev-Partner-Simplygon/Engine/Source/Editor/UnrealEd/Private/Fbx/FbxStaticMeshImport.cpp#2 //UE4/Dev-Partner-Simplygon/Engine/Source/Runtime/Engine/Classes/EditorFramework/AssetImportData.h#2 //UE4/Dev-Partner-Simplygon/Engine/Source/Runtime/Engine/Private/EditorFramework/AssetImportData.cpp#2 Change 3151664 on 2016/10/05 by Richard.Hinckley Fixing ACharacter template for "New C++ Class" feature. Avoiding naming a function parameter the same as an existing class member. Change 3151729 on 2016/10/05 by Thomas.Sarkanen Audit of remaining NaN checks Some checks remain on in shipping (generally those called from blueprint): - AActor::TeleportTo - AActor::SetActorRelativeScale3D #jira UE-30999 - Optimize ⌠ContainsNaN÷ and ⌠ContainsNaNOrInfinite÷, audit those still in shipping/test Change 3151742 on 2016/10/05 by Ori.Cohen Make sure that if physical animation component doesn't find a body and bone it doesn't crash. #JIRA UE-36839 Change 3151756 on 2016/10/05 by Jurre.deBaare Fixing d3dcompiler_47.dll missing issue #fix added runtime dependency and dll name to build.cs file #fix now load the d3dcompiler_47.dll from the Binaries/ThirdParty/Windows folder before loading the simplygon DLL Change 3151761 on 2016/10/05 by Thomas.Sarkanen Fix deprecation warning from last integration Moved Preview to EditorPreview in FEditorWorldManager::OnWorldContextAdd. #jira UE-36858 - Compile UE4Editor* completed with 1 warning Change 3151782 on 2016/10/05 by Jurre.deBaare Simplygon patch up #misc linker errors popping up from JSONCPP #misc incorporated emissive material property fix from other shelve #misc static analysis fix Change 3151804 on 2016/10/05 by Marc.Audy Clear need end of frame update when unregistering a component Change 3151928 on 2016/10/05 by Ori.Cohen Fix runtime DLLs not including all delay loaded physx dll files. #JIRA UE-36816 Change 3151977 on 2016/10/05 by Martin.Wilson Notifies can no longer occupy the same time on the same track. #jira UE-30658 Change 3151989 on 2016/10/05 by Jon.Nabozny Fix ArchVis character rotation pitch when looking up/down. #jira UE-35706 Change 3152083 on 2016/10/05 by Marc.Audy Ensure that pending kill components get their marked for end of frame state cleared. Change 3152086 on 2016/10/05 by Ben.Zeigler #jira UE-36169 Fix it so missing linker errors that point to Blueprint CDOs are skipped, the same way it skips linker errors going to the actual class. Fixes a lot of spurious warnings from deleting components from blueprints or native classes Clean up the VerifyImport error handling so it also displays in -game and cook, and fix the missing class warning to work properly, previously it would happen 0% in development 100% in debug even if the class was valid Change 3152093 on 2016/10/05 by Marc.Audy Change logic for when location cannot be changed for a static component to be independent of has begun play and have to do with whether construction script is running or the level is in the process of loading (mostly for backwards compatibility adjustments in post load). #jira UE-36146 #jira UE-24647 Change 3152100 on 2016/10/05 by Ben.Zeigler Remove pragma optmize Change 3152112 on 2016/10/05 by Marc.Audy Merging //UE4/Dev-Main to Dev-Framework (//UE4/Dev-Framework) @ 3152072 Change 3152134 on 2016/10/05 by Jurre.deBaare Simplygon/Merge actor issues #fix for emissive output on meshes that do not have emissive properties #fix for texture binning, not removing invalid split area causing overlapped textures Change 3152136 on 2016/10/05 by James.Golding UE-36859 Fix tooltip saying you can click to stop recording Change 3152169 on 2016/10/05 by James.Golding UE-31209 UE-30935 : Expose bDeformableMesh and bFastCook options in FTriMeshCollisionData ProceduralMeshComponent will now cook using 'fast' and 'deformable' options, so updating collision on sections should work correctly Change ERuntimePhysxCookOptimizationFlags to EPhysXMeshCookFlags and use that to pass options to CookConvex and CookTriMesh Change 3152202 on 2016/10/05 by Jurre.deBaare Mac/Linux fix Change 3152303 on 2016/10/05 by Marc.Audy Fix deprecation warning post merge from main Change 3152320 on 2016/10/05 by Martin.Wilson Fix root motion from everything calculating incorrect root motion when animations haven't been ticking #jira UE-35364 Change 3152354 on 2016/10/05 by James.Golding PoseDriver should pass through if no poses activated Change 3152357 on 2016/10/05 by James.Golding UE-36844 Remove unused OnAssetModifiedNotifier delegate from PoseAsset, ensure OnPoseListChanged is called when updating PoseAsset from anim. Change 3152556 on 2016/10/05 by Marc.Audy Remove autos Change 3152560 on 2016/10/05 by Marc.Audy Don't allow child actor references to be dragged from the outliner to a level script #jira UE-16700 Change 3152568 on 2016/10/05 by Marc.Audy Don't allow non-networking code to set bRemoteOwned in the actor spawn parameters Remove deprecated bNoCollisionFail #jira UE-35928 Change 3152575 on 2016/10/05 by Marc.Audy Allow construction script to run post move for native classes. Actor can determine whether it should only occur on finish or every call to post edit move Change 3153101 on 2016/10/06 by Thomas.Sarkanen Fix crash re-opening the viewport in Persona-based editors #jira UE-36775 - Editor crashes when re-opening viewport in Persona Change 3153139 on 2016/10/06 by James.Golding UE-36908 Remove GetRuntimeOnlyCookOptimizationFlags if cooking is not supported Change 3153160 on 2016/10/06 by Thomas.Sarkanen Fix for crash when deleting additive layer track Code had not been updated to use the new delgate system (was still using reciprocal FPersona ptr). #jira UE-36740 - Crash when removing or disabling an additive layer track in Persona Change 3153175 on 2016/10/06 by Benn.Gallagher Fixed crashes when using subinstances in non-default states. we previously initialized the anim instances in the node initialize, but in states that haven't been hit by an initialize this will happen off the game thread which is not allowed. #jira UE-36900 Change 3153223 on 2016/10/06 by Thomas.Sarkanen Fixed crash when opening an asset from the blend space editor Code was still trying to open 'old' Persona when it was disabled. Also fix other call sites where this was being done outside of asset type actions. #jira UE-36766 - Crash attempting to open an asset from Aim Offset graph in Persona Change 3153324 on 2016/10/06 by Thomas.Sarkanen Prevented invalid GUIDs from being saved into smart name containers AddOrFindName now checks to see if existing GUIDs are valid before using them. AddName now requires a valid GUID to be passed in. Also added Modify() call to the skeleton when FindOrAddSmartName is called from VerifySmartNameInternal, as without this the skeleton might not get saved. Also add Laurent's fix for fixing up already-saved invalid GUIDs (CL 3138068). #jira UE-36367 - It is possible for curves with an invalid GUID to be saved into the USkeleton asset Change 3153348 on 2016/10/06 by Martin.Wilson Re add ticking code so all Persona editors viewports tick during drag events (went missing in Persona refactor) #jira UE-36751 Change 3153426 on 2016/10/06 by Mieszko.Zielinski Added missing elements of block comments support in BT editor #UE4 Change 3153454 on 2016/10/06 by Benn.Gallagher Fixed crash using anim debug with subinstances that are preceded by branching nodes. #jira UE-36935 [CL 3153517 by Ori Cohen in Main branch]
2016-10-06 12:11:11 -04:00
// We don't want to paste nodes in that aren't fully linked (transition nodes have fixed pins as they
// really describle the connection between two other nodes). If we find one missing link, get rid of the node.
for(UEdGraphPin* Pin : Pins)
{
if(Pin->LinkedTo.Num() == 0)
{
DestroyNode();
break;
}
}
}
FText UAnimStateTransitionNode::GetNodeTitle(ENodeTitleType::Type TitleType) const
{
UAnimStateNodeBase* PrevState = GetPreviousState();
UAnimStateNodeBase* NextState = GetNextState();
if (!SharedRulesName.IsEmpty())
{
return FText::FromString(SharedRulesName);
}
else if ((PrevState != NULL) && (NextState != NULL))
{
FFormatNamedArguments Args;
Args.Add(TEXT("PrevState"), FText::FromString(PrevState->GetStateName()));
Args.Add(TEXT("NextState"), FText::FromString(NextState->GetStateName()));
return FText::Format(LOCTEXT("PrevStateToNewState", "{PrevState} to {NextState}"), Args);
}
else
{
FFormatNamedArguments Args;
Args.Add(TEXT("BoundGraph"), (BoundGraph != NULL) ? FText::FromString(BoundGraph->GetName()) : LOCTEXT("Null", "(null)") );
// @TODO: FText::Format() is slow, and we could benefit from caching
// this off like we do for a lot of other nodes (but we have to
// make sure to invalidate the cached string at the appropriate
// times).
return FText::Format(LOCTEXT("TransitioNState", "Trans {BoundGraph}}"), Args);
}
}
FText UAnimStateTransitionNode::GetTooltipText() const
{
return LOCTEXT("StateTransitionTooltip", "This is a state transition");
}
UAnimStateNodeBase* UAnimStateTransitionNode::GetPreviousState() const
{
if (Pins[0]->LinkedTo.Num() > 0)
{
return Cast<UAnimStateNodeBase>(Pins[0]->LinkedTo[0]->GetOwningNode());
}
else
{
return NULL;
}
}
UAnimStateNodeBase* UAnimStateTransitionNode::GetNextState() const
{
if (Pins[1]->LinkedTo.Num() > 0)
{
return Cast<UAnimStateNodeBase>(Pins[1]->LinkedTo[0]->GetOwningNode());
}
else
{
return NULL;
}
}
FLinearColor UAnimStateTransitionNode::GetNodeTitleColor() const
{
return FColorList::Red;
}
void UAnimStateTransitionNode::PinConnectionListChanged(UEdGraphPin* Pin)
{
if (Pin->LinkedTo.Num() == 0)
{
// Commit suicide; transitions must always have an input and output connection
Modify();
Copying //UE4/Dev-Framework to Dev-Main (//UE4/Dev-Main) @ 2868852 #lockdown Nick.Penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2821607 on 2016/01/08 by Mieszko.Zielinski Added a way to limit amount of information logged by vlog by discarding logs from classes from outside of class whitelist #UE4 This feature was followed by refactoring of functions taking FVisualLogEntry pointers to use references instead. #rb Lukasz.Furman #codereview John.Abercrombie Change 2828384 on 2016/01/14 by Mieszko.Zielinski Back out of visual log refactor done as part of CL#2821607 #UE4 Change 2855722 on 2016/02/04 by Zak.Middleton #ue4 - Expose PrimitiveComponent GetCollisionEnabled(), IsCollisionEnabled(), IsQueryCollisionEnabled(), IsPhysicsCollisionEnabled() functions to blueprints. #rb Daniel.Broder, Ori.Cohen #codereview Bob.Tellez #jira UE-26411 Change 2855737 on 2016/02/04 by James.Golding Add test AssetUserData C++ class to QAGame Change 2855739 on 2016/02/04 by James.Golding PR #1858 : Add abstract and editinlinenew to AssetUserData class, so derived classes can be added to assets via details panel https://github.com/EpicGames/UnrealEngine/pull/1858 #github 1858 #jira UE-24494 #rb thomas.sarkanen Change 2855842 on 2016/02/04 by James.Golding UE-23968 : Add clamping to Friction, Restitution, Density and RaiseMassToPower properties of PhysicalMaterial #codereview ori.cohen #rb thomas.sarkanen Change 2855843 on 2016/02/04 by James.Golding PR #1984 : Add 'AssetUserData' support to AnimationAsset/Texture https://github.com/EpicGames/UnrealEngine/pull/1984 #github 1984 #jira UE-25913 #rb thomas.sarkanen Change 2855844 on 2016/02/04 by James.Golding UE-23176 Fix incorrect clamping in GenerateKDopAsSimpleCollision() which could cause degenerate hulls Also don't 'nudge' kdops if there are other primitives present, will offset from mesh we were fitting around #rb thomas.sarkanen Change 2855850 on 2016/02/04 by Benn.Gallagher Update required LOD bones when associating a cloth chunk that uses bones that aren't weighted to that LOD #rb Martin.Wilson Change 2856409 on 2016/02/04 by Zak.Middleton #ue4 - Change LogSpawn warnings to normal logs for cases that are common and valid during gameplay (failed due to collision at the target location, or failed because it is destroyed in the process of spawning, ie projectile spawned in a target). #codereview Jeff.Farris Change 2857018 on 2016/02/05 by Benn.Gallagher Fixes for various anim graph related subgraph issues/crashes #rb Ben.Cosh Change 2857193 on 2016/02/05 by Lukasz.Furman extended crowd agent interface to handle avoidance groups #ue4 UE-24823 #1896 Change 2857200 on 2016/02/05 by Lukasz.Furman fixed memory leak in CrowdManager #ue UE-26516 #2026 #codereview Mieszko.Zielinski Change 2857417 on 2016/02/05 by Lina.Halper Add keyword for animation functions Change 2858854 on 2016/02/08 by Benn.Gallagher Fixed pose evaluator customizations being processed at the wrong time which caused properties to always be re-added even if removed from the details panel, causing duplicated entries. #jira UE-8421 #rb Lina.Halper Change 2858855 on 2016/02/08 by Benn.Gallagher Fixed blendspace players only reporting normalized time when using a time getter in an anim graph transition. #rb Lina.Halper Change 2859159 on 2016/02/08 by Aaron.McLeran UE-25586 Fix for reporting audio memory usage - Realtime decompressed sounds that have CachedRealtimeFirstBuffers need to report the compressed asset size Change 2859192 on 2016/02/08 by Laurent.Delayen Removed check disallowing cooked additive animations from using AnimationRelative and AnimationScale retargeting modes (on the root bone or editor). Skip AnimationRelative retargeting for baked additive animations since it gets cancelled out during the additive creation process. #rb martin.wilson #codereview lina.halper Change 2859238 on 2016/02/08 by Lina.Halper Git pull request #1895 Change 2859239 on 2016/02/08 by Lina.Halper Git pull request #1813 Change 2859453 on 2016/02/08 by Aaron.McLeran [CL 2868856 by Marc Audy in Main branch]
2016-02-16 13:35:21 -05:00
// Our parent graph will have our graph in SubGraphs so needs to be modified to record that.
if(UEdGraph* ParentGraph = GetGraph())
{
ParentGraph->Modify();
}
DestroyNode();
}
}
void UAnimStateTransitionNode::CreateConnections(UAnimStateNodeBase* PreviousState, UAnimStateNodeBase* NextState)
{
// Previous to this
Pins[0]->Modify();
Pins[0]->LinkedTo.Empty();
PreviousState->GetOutputPin()->Modify();
Pins[0]->MakeLinkTo(PreviousState->GetOutputPin());
// This to next
Pins[1]->Modify();
Pins[1]->LinkedTo.Empty();
NextState->GetInputPin()->Modify();
Pins[1]->MakeLinkTo(NextState->GetInputPin());
}
void UAnimStateTransitionNode::PrepareForCopying()
{
Super::PrepareForCopying();
// move bound graph node here, so during copying it will be referenced
// for shared nodes at least one of them has to be referencing it, so we will be fine
BoundGraph->Rename(NULL, this, REN_DoNotDirty | REN_DontCreateRedirectors);
}
void UAnimStateTransitionNode::PostEditChangeProperty(struct FPropertyChangedEvent& PropertyChangedEvent)
{
FName PropertyName = (PropertyChangedEvent.Property != NULL) ? PropertyChangedEvent.Property->GetFName() : NAME_None;
if (PropertyName == GET_MEMBER_NAME_CHECKED(UAnimStateTransitionNode, CrossfadeDuration) ||
PropertyName == GET_MEMBER_NAME_CHECKED(UAnimStateTransitionNode, BlendMode) ||
PropertyName == GET_MEMBER_NAME_CHECKED(UAnimStateTransitionNode, CustomBlendCurve) ||
PropertyName == GET_MEMBER_NAME_CHECKED(UAnimStateTransitionNode, BlendProfile))
{
PropagateCrossfadeSettings();
}
if (PropertyName == FName(TEXT("LogicType")) )
{
if ((LogicType == ETransitionLogicType::TLT_Custom) && (CustomTransitionGraph == NULL))
{
CreateCustomTransitionGraph();
}
else if (CustomTransitionGraph != NULL)
{
UBlueprint* Blueprint = FBlueprintEditorUtils::FindBlueprintForNodeChecked(this);
FBlueprintEditorUtils::RemoveGraph(Blueprint, CustomTransitionGraph);
CustomTransitionGraph = NULL;
}
}
Super::PostEditChangeProperty(PropertyChangedEvent);
}
FString UAnimStateTransitionNode::GetStateName() const
{
return (BoundGraph != NULL) ? *(BoundGraph->GetName()) : TEXT("(null)");
}
void UAnimStateTransitionNode::MakeRulesShareable(FString ShareName)
{
bSharedRules = true;
SharedRulesName = ShareName;
SharedRulesGuid = FGuid::NewGuid();
}
void UAnimStateTransitionNode::MakeCrossfadeShareable(FString ShareName)
{
// Give us a unique idx. This remaps every SharedCrossfadeIdx in the graph (in case some were deleted)
UEdGraph* CurrentGraph = GetGraph();
SharedCrossfadeIdx = INDEX_NONE;
TArray<int32> Remap;
for (int32 idx=0; idx < CurrentGraph->Nodes.Num(); idx++)
{
if (UAnimStateTransitionNode* Node = Cast<UAnimStateTransitionNode>(CurrentGraph->Nodes[idx]))
{
if (Node->SharedCrossfadeIdx != INDEX_NONE || Node == this)
{
Node->SharedCrossfadeIdx = Remap.AddUnique(Node->SharedCrossfadeIdx)+1; // Remaps existing index to lowest index available
}
}
}
bSharedCrossfade = true;
SharedCrossfadeName = ShareName;
SharedCrossfadeGuid = FGuid::NewGuid();
}
void UAnimStateTransitionNode::UnshareRules()
{
bSharedRules = false;
SharedRulesName.Empty();
SharedRulesGuid.Invalidate();
if ((BoundGraph == NULL) || IsBoundGraphShared())
{
BoundGraph = NULL;
CreateBoundGraph();
}
}
void UAnimStateTransitionNode::UnshareCrossade()
{
bSharedCrossfade = false;
SharedCrossfadeIdx = INDEX_NONE;
SharedCrossfadeName.Empty();
SharedCrossfadeGuid.Invalidate();
}
void UAnimStateTransitionNode::UseSharedRules(const UAnimStateTransitionNode* Node)
{
if(Node == this || Node == nullptr)
{
return;
}
FScopedTransaction Transaction(LOCTEXT("UseSharedRules", "Use Shared Rules"));
Modify();
UEdGraph* CurrentGraph = GetGraph();
UBlueprint* Blueprint = FBlueprintEditorUtils::FindBlueprintForGraphChecked(CurrentGraph);
UEdGraph* GraphToDelete = NULL;
if ((BoundGraph != NULL) && !IsBoundGraphShared())
{
GraphToDelete = BoundGraph;
}
BoundGraph = Node->BoundGraph;
bSharedRules = Node->bSharedRules;
SharedRulesName = Node->SharedRulesName;
SharedColor = Node->SharedColor;
SharedRulesGuid = Node->SharedRulesGuid;
if (GraphToDelete != NULL)
{
FBlueprintEditorUtils::RemoveGraph(Blueprint, GraphToDelete);
}
// If this node has shared crossfade settings, and we currently dont... share with it automatically.
// We'll see if this is actually helpful or just confusing. I think it might be a common operation
// and this avoid having to manually select to share the rules and then share the crossfade settings.
if ((SharedCrossfadeIdx == INDEX_NONE) && (Node->SharedCrossfadeIdx != INDEX_NONE))
{
UseSharedCrossfade(Node);
}
}
void UAnimStateTransitionNode::UseSharedCrossfade(const UAnimStateTransitionNode* Node)
{
if(Node == this || Node == nullptr)
{
return;
}
FScopedTransaction Transaction(LOCTEXT("UseSharedCrossfade", "Use Shared Crossfade"));
Modify();
bSharedCrossfade = Node->bSharedCrossfade;
SharedCrossfadeName = Node->SharedCrossfadeName;
SharedCrossfadeGuid = Node->SharedCrossfadeGuid;
CopyCrossfadeSettings(Node);
}
void UAnimStateTransitionNode::CopyCrossfadeSettings(const UAnimStateTransitionNode* SrcNode)
{
CrossfadeDuration = SrcNode->CrossfadeDuration;
CrossfadeMode_DEPRECATED = SrcNode->CrossfadeMode_DEPRECATED;
BlendMode = SrcNode->BlendMode;
CustomBlendCurve = SrcNode->CustomBlendCurve;
BlendProfile = SrcNode->BlendProfile;
SharedCrossfadeIdx = SrcNode->SharedCrossfadeIdx;
SharedCrossfadeName = SrcNode->SharedCrossfadeName;
SharedCrossfadeGuid = SrcNode->SharedCrossfadeGuid;
}
void UAnimStateTransitionNode::PropagateCrossfadeSettings()
{
UEdGraph* CurrentGraph = GetGraph();
for (int32 idx = 0; idx < CurrentGraph->Nodes.Num(); idx++)
{
if (UAnimStateTransitionNode* Node = Cast<UAnimStateTransitionNode>(CurrentGraph->Nodes[idx]))
{
if (Node->SharedCrossfadeIdx != INDEX_NONE && Node->SharedCrossfadeGuid == SharedCrossfadeGuid)
{
Node->Modify();
Node->CopyCrossfadeSettings(this);
}
}
}
}
bool UAnimStateTransitionNode::IsReverseTrans(const UAnimStateNodeBase* Node)
{
return (Bidirectional && GetNextState() == Node);
}
void UAnimStateTransitionNode::CreateBoundGraph()
{
// Create a new animation graph
check(BoundGraph == NULL);
BoundGraph = FBlueprintEditorUtils::CreateNewGraph(this, NAME_None, UAnimationTransitionGraph::StaticClass(), UAnimationTransitionSchema::StaticClass());
check(BoundGraph);
// Find an interesting name
FEdGraphUtilities::RenameGraphToNameOrCloseToName(BoundGraph, TEXT("Transition"));
// Initialize the anim graph
const UEdGraphSchema* Schema = BoundGraph->GetSchema();
Schema->CreateDefaultNodesForGraph(*BoundGraph);
// Add the new graph as a child of our parent graph
Copying //UE4/Dev-Framework to Dev-Main (//UE4/Dev-Main) @ 2868852 #lockdown Nick.Penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2821607 on 2016/01/08 by Mieszko.Zielinski Added a way to limit amount of information logged by vlog by discarding logs from classes from outside of class whitelist #UE4 This feature was followed by refactoring of functions taking FVisualLogEntry pointers to use references instead. #rb Lukasz.Furman #codereview John.Abercrombie Change 2828384 on 2016/01/14 by Mieszko.Zielinski Back out of visual log refactor done as part of CL#2821607 #UE4 Change 2855722 on 2016/02/04 by Zak.Middleton #ue4 - Expose PrimitiveComponent GetCollisionEnabled(), IsCollisionEnabled(), IsQueryCollisionEnabled(), IsPhysicsCollisionEnabled() functions to blueprints. #rb Daniel.Broder, Ori.Cohen #codereview Bob.Tellez #jira UE-26411 Change 2855737 on 2016/02/04 by James.Golding Add test AssetUserData C++ class to QAGame Change 2855739 on 2016/02/04 by James.Golding PR #1858 : Add abstract and editinlinenew to AssetUserData class, so derived classes can be added to assets via details panel https://github.com/EpicGames/UnrealEngine/pull/1858 #github 1858 #jira UE-24494 #rb thomas.sarkanen Change 2855842 on 2016/02/04 by James.Golding UE-23968 : Add clamping to Friction, Restitution, Density and RaiseMassToPower properties of PhysicalMaterial #codereview ori.cohen #rb thomas.sarkanen Change 2855843 on 2016/02/04 by James.Golding PR #1984 : Add 'AssetUserData' support to AnimationAsset/Texture https://github.com/EpicGames/UnrealEngine/pull/1984 #github 1984 #jira UE-25913 #rb thomas.sarkanen Change 2855844 on 2016/02/04 by James.Golding UE-23176 Fix incorrect clamping in GenerateKDopAsSimpleCollision() which could cause degenerate hulls Also don't 'nudge' kdops if there are other primitives present, will offset from mesh we were fitting around #rb thomas.sarkanen Change 2855850 on 2016/02/04 by Benn.Gallagher Update required LOD bones when associating a cloth chunk that uses bones that aren't weighted to that LOD #rb Martin.Wilson Change 2856409 on 2016/02/04 by Zak.Middleton #ue4 - Change LogSpawn warnings to normal logs for cases that are common and valid during gameplay (failed due to collision at the target location, or failed because it is destroyed in the process of spawning, ie projectile spawned in a target). #codereview Jeff.Farris Change 2857018 on 2016/02/05 by Benn.Gallagher Fixes for various anim graph related subgraph issues/crashes #rb Ben.Cosh Change 2857193 on 2016/02/05 by Lukasz.Furman extended crowd agent interface to handle avoidance groups #ue4 UE-24823 #1896 Change 2857200 on 2016/02/05 by Lukasz.Furman fixed memory leak in CrowdManager #ue UE-26516 #2026 #codereview Mieszko.Zielinski Change 2857417 on 2016/02/05 by Lina.Halper Add keyword for animation functions Change 2858854 on 2016/02/08 by Benn.Gallagher Fixed pose evaluator customizations being processed at the wrong time which caused properties to always be re-added even if removed from the details panel, causing duplicated entries. #jira UE-8421 #rb Lina.Halper Change 2858855 on 2016/02/08 by Benn.Gallagher Fixed blendspace players only reporting normalized time when using a time getter in an anim graph transition. #rb Lina.Halper Change 2859159 on 2016/02/08 by Aaron.McLeran UE-25586 Fix for reporting audio memory usage - Realtime decompressed sounds that have CachedRealtimeFirstBuffers need to report the compressed asset size Change 2859192 on 2016/02/08 by Laurent.Delayen Removed check disallowing cooked additive animations from using AnimationRelative and AnimationScale retargeting modes (on the root bone or editor). Skip AnimationRelative retargeting for baked additive animations since it gets cancelled out during the additive creation process. #rb martin.wilson #codereview lina.halper Change 2859238 on 2016/02/08 by Lina.Halper Git pull request #1895 Change 2859239 on 2016/02/08 by Lina.Halper Git pull request #1813 Change 2859453 on 2016/02/08 by Aaron.McLeran [CL 2868856 by Marc Audy in Main branch]
2016-02-16 13:35:21 -05:00
UEdGraph* ParentGraph = GetGraph();
if(ParentGraph->SubGraphs.Find(BoundGraph) == INDEX_NONE)
{
ParentGraph->SubGraphs.Add(BoundGraph);
}
}
void UAnimStateTransitionNode::CreateCustomTransitionGraph()
{
// Create a new animation graph
check(CustomTransitionGraph == NULL);
CustomTransitionGraph = FBlueprintEditorUtils::CreateNewGraph(
this,
NAME_None,
UAnimationCustomTransitionGraph::StaticClass(),
UAnimationCustomTransitionSchema::StaticClass());
check(CustomTransitionGraph);
// Find an interesting name
FEdGraphUtilities::RenameGraphToNameOrCloseToName(CustomTransitionGraph, TEXT("CustomTransition"));
// Initialize the anim graph
const UEdGraphSchema* Schema = CustomTransitionGraph->GetSchema();
Schema->CreateDefaultNodesForGraph(*CustomTransitionGraph);
// Add the new graph as a child of our parent graph
Copying //UE4/Dev-Framework to Dev-Main (//UE4/Dev-Main) @ 2868852 #lockdown Nick.Penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2821607 on 2016/01/08 by Mieszko.Zielinski Added a way to limit amount of information logged by vlog by discarding logs from classes from outside of class whitelist #UE4 This feature was followed by refactoring of functions taking FVisualLogEntry pointers to use references instead. #rb Lukasz.Furman #codereview John.Abercrombie Change 2828384 on 2016/01/14 by Mieszko.Zielinski Back out of visual log refactor done as part of CL#2821607 #UE4 Change 2855722 on 2016/02/04 by Zak.Middleton #ue4 - Expose PrimitiveComponent GetCollisionEnabled(), IsCollisionEnabled(), IsQueryCollisionEnabled(), IsPhysicsCollisionEnabled() functions to blueprints. #rb Daniel.Broder, Ori.Cohen #codereview Bob.Tellez #jira UE-26411 Change 2855737 on 2016/02/04 by James.Golding Add test AssetUserData C++ class to QAGame Change 2855739 on 2016/02/04 by James.Golding PR #1858 : Add abstract and editinlinenew to AssetUserData class, so derived classes can be added to assets via details panel https://github.com/EpicGames/UnrealEngine/pull/1858 #github 1858 #jira UE-24494 #rb thomas.sarkanen Change 2855842 on 2016/02/04 by James.Golding UE-23968 : Add clamping to Friction, Restitution, Density and RaiseMassToPower properties of PhysicalMaterial #codereview ori.cohen #rb thomas.sarkanen Change 2855843 on 2016/02/04 by James.Golding PR #1984 : Add 'AssetUserData' support to AnimationAsset/Texture https://github.com/EpicGames/UnrealEngine/pull/1984 #github 1984 #jira UE-25913 #rb thomas.sarkanen Change 2855844 on 2016/02/04 by James.Golding UE-23176 Fix incorrect clamping in GenerateKDopAsSimpleCollision() which could cause degenerate hulls Also don't 'nudge' kdops if there are other primitives present, will offset from mesh we were fitting around #rb thomas.sarkanen Change 2855850 on 2016/02/04 by Benn.Gallagher Update required LOD bones when associating a cloth chunk that uses bones that aren't weighted to that LOD #rb Martin.Wilson Change 2856409 on 2016/02/04 by Zak.Middleton #ue4 - Change LogSpawn warnings to normal logs for cases that are common and valid during gameplay (failed due to collision at the target location, or failed because it is destroyed in the process of spawning, ie projectile spawned in a target). #codereview Jeff.Farris Change 2857018 on 2016/02/05 by Benn.Gallagher Fixes for various anim graph related subgraph issues/crashes #rb Ben.Cosh Change 2857193 on 2016/02/05 by Lukasz.Furman extended crowd agent interface to handle avoidance groups #ue4 UE-24823 #1896 Change 2857200 on 2016/02/05 by Lukasz.Furman fixed memory leak in CrowdManager #ue UE-26516 #2026 #codereview Mieszko.Zielinski Change 2857417 on 2016/02/05 by Lina.Halper Add keyword for animation functions Change 2858854 on 2016/02/08 by Benn.Gallagher Fixed pose evaluator customizations being processed at the wrong time which caused properties to always be re-added even if removed from the details panel, causing duplicated entries. #jira UE-8421 #rb Lina.Halper Change 2858855 on 2016/02/08 by Benn.Gallagher Fixed blendspace players only reporting normalized time when using a time getter in an anim graph transition. #rb Lina.Halper Change 2859159 on 2016/02/08 by Aaron.McLeran UE-25586 Fix for reporting audio memory usage - Realtime decompressed sounds that have CachedRealtimeFirstBuffers need to report the compressed asset size Change 2859192 on 2016/02/08 by Laurent.Delayen Removed check disallowing cooked additive animations from using AnimationRelative and AnimationScale retargeting modes (on the root bone or editor). Skip AnimationRelative retargeting for baked additive animations since it gets cancelled out during the additive creation process. #rb martin.wilson #codereview lina.halper Change 2859238 on 2016/02/08 by Lina.Halper Git pull request #1895 Change 2859239 on 2016/02/08 by Lina.Halper Git pull request #1813 Change 2859453 on 2016/02/08 by Aaron.McLeran [CL 2868856 by Marc Audy in Main branch]
2016-02-16 13:35:21 -05:00
UEdGraph* ParentGraph = GetGraph();
if(ParentGraph->SubGraphs.Find(CustomTransitionGraph) == INDEX_NONE)
{
ParentGraph->Modify();
ParentGraph->SubGraphs.Add(CustomTransitionGraph);
}
}
Copying //UE4/Dev-AnimPhys to //UE4/Dev-Main (Source: //UE4/Dev-AnimPhys @ 3683440) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3624599 by Thomas.Sarkanen Added the ability to rename shapes in the Physics Asset Editor Added "CanRenameItem" to skeleton tree item API so we are not limited to hard-coded bones/sockets Tweaked physics shape item widget to use editable text in the same vein as virtual bones etc. #jira UEAP-341 - Ability to name collision shapes Change 3624765 by Benn.Gallagher Fixed bad blend profile references #jira UE-46227 Change 3624773 by Danny.Bouimad Content fix for #Jira UE-49191 Change 3625007 by Thomas.Sarkanen Fixed monolithinc game builds Moved new Name member to WITH_EDITORONLY_DATA, as the generated code still picks it up using WITH_EDITOR Change 3625659 by Ori.Cohen Make sure that components being unwelded are always unwelded even if they are about to be deleted. This is needed for fixing dangling pointers. Change 3625850 by Thomas.Sarkanen Fix for crash in physics asset editor after garbage collection Move bone proxies from rooting to FGCObject Change 3625966 by Lina.Halper Instead of PinShownByDefault, changed to PinHiddenByDefault https://github.com/EpicGames/UnrealEngine/pull/3964 #3964 #jira: UE-49168 Change 3626020 by Martin.Wilson Protect against checkSlow when using post process instance without a main instance #jira UE-49275 Change 3627178 by Aaron.McLeran #jira UE-49322 Fixing background muting and preview sound Change 3627179 by Aaron.McLeran Optimizing active sound by not processing active sounds if they are out of range. Allowing virtualized sounds to be exempt. Licensee says they saw a 6x improvement on active sound calculations in audio thread with this change. Change 3627187 by Aaron.McLeran Allowing overriding the sample rate of synth components in C++. Useful for cases where synth component is being used to output media auido or VOIP. Change 3627563 by Thomas.Sarkanen Tweaked tooltip so it isnt the same as other menus #jira UE-47817 - Two Viewport tooltips are the same in Physics Asset Editor Change 3627580 by James.Golding PR #3974: UE-49200: Fixed typo in Physics Handle (Contributed by carloshellin) #jira UE-49264 Change 3627581 by James.Golding Reduce output verbosity during cooking #jira UE-47126 Change 3627584 by James.Golding PR #3954: Upgrade to V-HACD version 2.3 (Contributed by jratcliff63367) Auto-convex generation now exposes more useful 'max hulls' instead of 'accuracy' Auto-generation of convex collision is now done async in StaticMesh Editor #jira UE-49027 Change 3627599 by Martin.Wilson Make sure raw data debug bone rendering in the animation editors actually shows raw data in the case of additive track layers (used to show source instead) Change 3627605 by James.Golding Forgot to remove Box2D from TargetRules.cs (see CL 3555437) Change 3627627 by Martin.Wilson Change raw data evaluation so that virtual bone positions are built before interpolation is carried out #jira UE-42659 Change 3627663 by Martin.Wilson Fix typo Change 3627730 by Martin.Wilson Allow notifies to be trigger on follower animations in a sync group #jira UE-46770 Change 3627852 by Thomas.Sarkanen Add warning to "Use Async Scene" property when shown in the physics asset editor, if the project doesn't currently use an async scene. #jira UE-47964 User is not told to Enable Async Scene in Project Settings when enabling it on a physics asset Change 3627864 by Lina.Halper Fix issue where "reset to default" on search box for bone doesn't work #jira: UE-48874 Change 3627946 by Thomas.Sarkanen Prevent undo/redo breaking when moving both a constraint and a body at the same time #jira UE-49344 - Physics Asset Editor: Moving both a body and a constraint causes undo.redo to break for the whole editor Change 3628091 by Thomas.Sarkanen Fix dangling lines, poor search focus and graph not refreshing when making new constraints Found by Nick D in Main. #jira UE-47812 - Physics Asset Graph wires sometimes get stuck to the window not attached to a node Change 3628107 by Lina.Halper Fixed issue where Blendspace 1D can't scale due to the property not exposed https://udn.unrealengine.com/questions/389958/input-interpolationaxis-to-scale-in-1d-blendspace.html Change 3628108 by Arciel.Rekman Update Linux VHACD. - Also removed arm 32-bit version (the library is editor-only). Change 3628437 by Michael.Trepka Updated Mac VHACD libraries and Xcode project Change 3628667 by Lina.Halper - Fixed issue of showing combo box multiple times - Fixed issue of inconsistent combo box width - Fixed text of pick bone to "select" for more general instruction - Fixed issue with struct displaying children when pin is enabled #jira: UE-49295, UE-46496, UE-47427 Change 3629744 by Aaron.McLeran #jira UE-49383 Fix for source bus loading in sound waves and playing without audio mixer Change 3629846 by Aaron.McLeran #jira UE-49390 Required API change to spatialization interface for google Change 3630322 by Thomas.Sarkanen Fix right-click not displaying context menu for constraints correctly Selection logic was lightly broken #jira UE-49399 - Physics Asset Editor: Right-clicking constraints in the viewport does not bring up the context menu Change 3630463 by Martin.Wilson Remove accidently submitted debug code Change 3630523 by Jurre.deBaare Paint threshold and fill value and can be set to negative numbers #fix Added metadata and default values for cloth fill tool #jira UE-48352 Change 3632009 by Aaron.McLeran #jira UE-49470 Fix for iOS master volume not getting set Recent changes to master volume resulted in platforms which don't have a headroom value defined will not get their master volume updated. IOS doesn't have a headroom value set so the master volume is never set and the fade in is never triggered. Change 3632699 by Thomas.Sarkanen Fix crash undo-ing primitive regeneration while simullation is in progress & stopping simulation #jira UE-49283 - Editor crashes if you regenerate and manipulate a phys body, simulate, undo and then exit simulation Change 3633336 by James.Golding PR #3978: effect is the noun. affect is the verb (Contributed by cdietschrun) #jira UE-49324 Change 3634665 by Aaron.McLeran #jira UE-49538 Fixing param interpolation Change 3634922 by James.Golding Static analysis fix (PhysXCookHelper.cpp) Change 3634926 by James.Golding Fix HTML5 build (which builds with PhysX, but without APEX) Change 3636005 by Thomas.Sarkanen Constraint setup shortcuts are now undo-able Also fixed body-body collision as you couldnt undo this either. Added transaction and calls to Modify(). #jira UE-49484 - Shortcut for Swing1Motion (2, and 3) do not change physics asset state dirty. Change 3636018 by Thomas.Sarkanen Added back constraint shortcut to PhAT toolbar #jira UE-48859 - Constraint quick set buttons are missing in the new Physics Asset tool Change 3636086 by Martin.Wilson Fix for enabling Live Link plugin in Orion Change 3638367 by Thomas.Sarkanen Connection reporting is now more user-freindly in the physics asset editor graph view Expanded UEdGraphSchema API to allow for more specific feedback when dragging over a graph. Implemented node & pin feedback for physics asset graphs. Also fixed alignment of icon for drag feedback as it stretches with multi-line text. #jira UE-47984 - No node created when dragging off of Constraint node in Physics Asset Graph Change 3640144 by Aaron.McLeran #jira UE-49409 Attenuation focus audio tests on TM-AnimPhys on Cooked mac doesn't play any audio Fixing the recent optimization to not play active sounds in range. Code attempts to check if there's any possibility for a sound to have it's distance affected before trying to prune by max distance. Change 3640276 by Aaron.McLeran #jira UE-49606 Project does not cook with actors containing ModularSynth component Change 3640313 by Aaron.McLeran #jira UE-49675 Fixing shutdown of audio mixer - Final queued commands aren't getting pumped during audio mixer shutdown, added a new interface to get a final shutdown callback back to audio mixer device. We can do any cleanup or final shutdown tasks in this callback. Added a call to pump the source manager one last time. For cases of audio mixer running without audio plugins, this won't have much of an effect, but is a good thing to do anyway. For the case of audio plugins, who are depending on paired init and release calls, this is valueable to avoid memory leaks between subsequent PIE sessions. Change 3640941 by Martin.Wilson Add editor only animation loading debug data in the hope of diagnosing rare loading crash #jira UE-49335 Change 3641976 by Ethan.Geller #jira UE-49675 ensure that we pump both command queues Change 3642613 by James.Golding Add NoPhysX sample, for CIS testing compilation without PhysX Change 3644001 by Aaron.McLeran #jira UE-49805 looping sounds are, in rare cases, extremely loud Change 3644124 by Aaron.McLeran #jira UE-49787 [CrashReport] Mac crash - UE4Editor-AudioEditor.dylib!FSoundCueEditor::DeleteInput() Adding ensure on returned ptr to avoid crash but keep getting some logging. Change 3644157 by Aaron.McLeran Fixing build error Change 3644163 by Aaron.McLeran Fixing build error (for real) Change 3650331 by Aaron.McLeran #jira UE-49994 SoundMix Fade Time not fading audio properly Making sure we properly set passive mix modifier states. Change 3652648 by Aaron.McLeran #jira UE-49994 SoundMix Fade Time not fading audio properly Change 3652995 by Aaron.McLeran #jira UE-50053 Reduce log level of audio mixer debug category Turning down the log spam level of the underrun category by switching to debug category and reducing level of the debug category. Change 3653461 by James.Golding V-HACD updates from JohnR @ NVIDIA (adding new functions for future use) Change 3654056 by Aaron.McLeran Fixing an issue with caching node states for editor builds and adding optimization to cache if we should apply interior volumes. Change 3654579 by Aaron.McLeran Allow sound submixes and sound classes to be a blueprint type Made all properties of sound classes BlueprintReadOnly. Change 3662519 by James.Golding Merge CL 3575543 from //Fortnite/Main to Dev-AnimPhys Don't call into UpdateKinematicBones if there are no physx bodies Change 3664976 by Aaron.McLeran #jira UE-50175 New Tap Delay Submix Pan parameter does not work in Surround Sound Change 3665751 by Aaron.McLeran Adding a simple panner effect Change 3665851 by Aaron.McLeran Fixing naming convention for new panner source effect Change 3666894 by Thomas.Sarkanen Bone modifications via transform type-in can now be undone Added RF_Transactional & called Modify() #jira UE-47862 - Undoing Bone transformations in Physics Asset Editor does not work Change 3666919 by Lina.Halper Fixed equal operator for bonereference to work when not initialized Change 3668850 by Thomas.Sarkanen Skeleton tree now no longer allows selection of filtered items This fixes an issue where filtered-out constraints were being deselected after a select all operation because the tree thought it had no selection (all constraints were filtered). #jira UE-50200 - Constraint Details do not populate in the Details Panel if the Skeleton tree does not include Constraints Change 3669028 by James.Golding Fix CIS error after merge-down Change 3669053 by James.Golding Fix bad merge in SynthComponent.cpp Change 3669273 by Lina.Halper - delete all tracks option - allow to opt out on bone track importing - fixed pose preview for fullbody to select weights that has pose from asset. Change 3671396 by James.Golding Fix FSkelMeshComponentLODInfo cleaning up all override resources when it should only have been cleaning up one of them Change 3671701 by Martin.Wilson Maya Live Link plugin - Added UI to Maya - Display currently streamed subjects - Allow add and removal of streamed subjects - Display connection status to editor - Stream active camera as EditorActiveCamera - Refactored entire plugin so that streaming has a manager and streaming objects / interfaces - Reworked editor update hook so that streaming is more robust and facial rigs / leaf bones now correctly update. Change 3672170 by Lina.Halper Remove track support for Animation Blueprint Library Change 3675921 by Ethan.Geller Rollback invalidated check from copy down Change 3677606 by Martin.Wilson Add live link driven component - allows an actor to take its rotation and translation from a live link subject Change 3678594 by Lina.Halper Changed API name for clarification Change 3680913 by Ethan.Geller #jira UE-50750 fix stuttering on AudioMixer on MacOS Change 3681127 by Ethan.Geller #jira UE-50720 Fix invalidated audio clock time when audio device is unplugged on legacy audio engine Change 3682729 by Ethan.Geller #jira UE-50832 Fix for null concurrency settings when removing active sounds from a concurrency group. [Dev-AnimPhys] Change 3633185 by James.Golding Fix engine not compiling when WITH_PHYSX == 0 PR #3691: 4.16_WITH_PHYSX_optional (Contributed by JacobNelsonGames) PR #3695: 4.16_PhysXVehicles_WITH_PHYSX_optional (Contributed by JacobNelsonGames) Change 3637031 by Ethan.Geller #jira UE-49605 Platform Headroom fix for non-float devices. Change 3642598 by James.Golding Change bCompileNvCloth to use same pattern as bCompileAPEX (on by default, disabled on some platforms). This allows game projects to disable it. Change 3645224 by Martin.Wilson Fix for rare notify crash. For speed purposes Notify Queue caches a pointer to the notify, this is memory that is owned by the animation and if it gets garbage collected we have a pointer to invalid memory. This change caches a pointer to the owner of the notify memory to so we can track its validity. #jira UE-44869 Change 3668926 by James.Golding Merging //UE4/Dev-Main to Dev-AnimPhys (//UE4/Dev-AnimPhys) @ 3668712 Change 3674824 by James.Golding Merging //UE4/Dev-Main to Dev-AnimPhys (//UE4/Dev-AnimPhys) @ 3674368 [CL 3683447 by Thomas Sarkanen in Main branch]
2017-10-06 04:43:18 -04:00
void UAnimStateTransitionNode::Serialize(FArchive& Ar)
{
Super::Serialize(Ar);
Ar.UsingCustomVersion(FAnimPhysObjectVersion::GUID);
}
void UAnimStateTransitionNode::DestroyNode()
{
// BoundGraph may be shared with another graph, if so, don't remove it here
UEdGraph* GraphToRemove = IsBoundGraphShared() ? NULL : GetBoundGraph();
BoundGraph = NULL;
Super::DestroyNode();
if (GraphToRemove)
{
UBlueprint* Blueprint = FBlueprintEditorUtils::FindBlueprintForNodeChecked(this);
FBlueprintEditorUtils::RemoveGraph(Blueprint, GraphToRemove, EGraphRemoveFlags::Recompile);
}
if (CustomTransitionGraph)
{
UBlueprint* Blueprint = FBlueprintEditorUtils::FindBlueprintForNodeChecked(this);
FBlueprintEditorUtils::RemoveGraph(Blueprint, CustomTransitionGraph, EGraphRemoveFlags::Recompile);
}
}
/** Returns true if this nodes BoundGraph is shared with another node in the parent graph */
bool UAnimStateTransitionNode::IsBoundGraphShared()
{
if (BoundGraph)
{
//@TODO: O(N) search
UEdGraph* ParentGraph = GetGraph();
for (int32 NodeIdx = 0; NodeIdx < ParentGraph->Nodes.Num(); NodeIdx++)
{
UAnimStateNodeBase* AnimNode = Cast<UAnimStateNodeBase>(ParentGraph->Nodes[NodeIdx]);
if ((AnimNode != NULL) && (AnimNode != this) && (AnimNode->GetBoundGraph() == BoundGraph))
{
return true;
}
}
}
return false;
}
void UAnimStateTransitionNode::ValidateNodeDuringCompilation(class FCompilerResultsLog& MessageLog) const
{
Copying //UE4/Dev-Framework to //UE4/Dev-Main (Source: //UE4/Dev-Framework @ 3431384) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3252833 on 2017/01/10 by Ori.Cohen Refactor constraint so that it can be used for external solvers. (Copying //Tasks/UE4/Dev-ImmediateModePhysics to Dev-Framework (//UE4/Dev-Framework)) Change 3256288 on 2017/01/12 by Ori.Cohen Undo constraint refactor as we found a way around it and it made the code much harder to read/debug Change 3373195 on 2017/03/30 by Mike.Beach For nativization, changing it so we key off of the target platform-info struct instead of the platform (in preparation for defining the nativized plugin's platform whitelist). Change 3381178 on 2017/04/05 by Dan.Oconnor Make sure we don't inherit the NATIVE func flag when generating skeleton functions, also make sure all bojects outer'd to the skeleton class are marked transient #jira UE-43616 Change 3381532 on 2017/04/05 by Marc.Audy (4.16) Fix various cases where built lighting on child actors could be lost when loading a level #jira UE-43553 Change 3381586 on 2017/04/05 by Mike.Beach Now generating TArrayCaster conversions for nativized UClass arrays that need it (to handle different TSubclassOf arrays). #jira UE-42676, UE-43257 Change 3381682 on 2017/04/05 by mason.seay Some more changes to test map Change 3381844 on 2017/04/05 by Dan.Oconnor Match existing logic for CPF_ReturnParm/CPF_OutParm. Fixes compilation error in BP_TurbineBlades when using compilation manager Change 3382054 on 2017/04/05 by Zak.Middleton #ue4 - Optimize CharacterMovementComponent::GetPredictionData_Client_Character() and GetPredictionData_Server_Character() to remove virtual calls. #jira UE-30998 Change 3382703 on 2017/04/06 by Lukasz.Furman fixed missing links between navmesh polys when there are more than 4 neighbor connections #jira UE-43524 Change 3383357 on 2017/04/06 by Marc.Audy (4.16) Make SetHiddenInGame propagate consistently with SetVisibility #jira UE-43709 Change 3383359 on 2017/04/06 by Dan.Oconnor Fix last errant SKEL reference when cooking Odin Change 3383591 on 2017/04/06 by Mike.Beach Prevent users from setting object variables as 'config' properties (disallowed by UHT). This prevents some errors that could happen later when users nativize the Blueprint. #jira UE-42085 Change 3384762 on 2017/04/07 by Zak.Middleton #ue4 - Fix SpringArmComponent not restoring relative transform when bUsePawnControlRotation is turned off. Fixes the editor interaction ignoring transform of the component in the viewport after bUsePawnControlRotation is toggled on then off, since by then the world transform had been overwritten (from tick in editor) and nothing would drive transform changes from the editable value. Toggling bUsePawnControlRotation off at runtime now restores the rotation to the initial relative rotation, not stomping it with the current pawn rotation, allowing toggling between the editable/desired base rotation and the control rotation. #jira UE-24850 Change 3384948 on 2017/04/07 by Dan.Oconnor Prevent GForceDisableBlueprintCompileOnLoad from causing all sorts of badness when dependencies are loaded as part of a Diff operation. Instead of setting a global flag we flag the package as LOAD_DisableCompileOnLoad Change 3385267 on 2017/04/07 by Michael.Noland Graph Editing: Pushed some node diffing code down from UAIGraphNode into UEdGraphNode so nodes with details panel properties will diff correctly (e.g., various animation nodes and BP switch nodes) #jira UE-21724 Change 3385473 on 2017/04/07 by Phillip.Kavan #jira UE-43067 - Fix broken pin wires after an Expand Node operation, along with some misc. cleanup. Change summary: - Fixed to use correct string for "Expand Node" transaction name. - Modified FBlueprintEditor::OnExpandNodes() to consolidate some redundant code. - Fixed to generate a unique node GUID for cases where the source graph is not removed after expansion. Change 3385583 on 2017/04/07 by Dan.Oconnor Handle CreatePropertyOnScope nullptr return values (happens for structs missing a struct property) #jira UE-43746 Change 3386581 on 2017/04/10 by Michael.Noland Blueprints: Further hardening FBlueprintActionInfo::GetOwnerClass() #jira UE-43824 Change 3386615 on 2017/04/10 by Marc.Audy Instanced properties can now properly be set on a per-instance basis in blueprint added components. #jira UE-42066 Change 3387000 on 2017/04/10 by Marc.Audy Fix includes for CIS Change 3387229 on 2017/04/10 by mason.seay More changes to TM-Gameplay Added Save Game test (with blueprint) Tick Interval test (with blueprint) BP logic cleanup Level organization Change 3388437 on 2017/04/11 by Mike.Beach Adding support for map/set literals in the backend (so you can use set nodes for structs containing sets/maps, without having to connect a RHS input - resets to struct defaults). #jira UE-42617 Change 3388532 on 2017/04/11 by mason.seay Submitting latest changes for crash repro Change 3389026 on 2017/04/11 by Ben.Zeigler Performance and bug fixes for incremetal cooking with asset registry, duplicate of several changes made on //Fortnite/Main Fix it so AssetRegistry.ScanPathsAndFilesSynchronous won't scan subdirectories inside already scanned directories, this cuts down on the number of cache files Fix 2 second stall when shutting down AssetSourceFilenameCache if it had never been previously created Change 3389163 on 2017/04/11 by Ben.Zeigler #jira UE-42922 Fix it so connecting function input node output pins does not clear default value, we only want to clear the value when connecting an input pin. Properly testing this fix depends on UE-43883 Change 3389205 on 2017/04/11 by Marc.Audy Protect against a handful of GEditor usages that can now be hit in standalone Change 3389220 on 2017/04/11 by Marc.Audy Don't borrow ClassWithin to masquerade as ParentClass during compilation and instead just set the super struct immediately Change 3389222 on 2017/04/11 by Michael.Noland Framework: Adding a cvar (t.TickComponentLatentActionsWithTheComponent) to allow users to revert to the old behavior on when component latent actions tick - Non-zero values behave the same way as actors do, ticking pending latent action when the component ticks, instead of later on in the frame (default behavior in 4.16 and beyond) - Prior to 4.16, components behaved as if the value were 0, which meant their latent actions behaved differently to actors This CVar will be removed in a future version, defaulting to on #jira UE-43661 Change 3389276 on 2017/04/11 by Marc.Audy Spelling fix and NULL to nullptr Change 3389303 on 2017/04/11 by Mieszko.Zielinski Made sure AIController::Posses doesn't get called when compiling Pawn BP #UE4 #jira UE-43873 Change 3390215 on 2017/04/12 by mason.seay Removed some tests, will need further review Change 3390638 on 2017/04/12 by Mike.Beach Generalizing the omission of the CoerceProperty (in EmitTerm) - previously we were only omitting properties for our custom array lib. For wildcards, a coerce property should not be used as its type will not match. NOTE: There is a slight behavior change in UEdGraphSchema_K2::ConvertPropertyToPinType(), as it will return 'wildcard' for params marked as 'ArrayTypeDependentParams' (previously would have returned 'int'). #jira UE-42747 Change 3390774 on 2017/04/12 by Ben.Zeigler #jira UE-43911 Fix several issues with saving a runtime asset registry containing redirectors that caused crashes in cook on the fly. Don't resolve redirectors on incoming links because it will make a circular link, and fix an issue where chained redirectors would break the for loop iteration and return a bad dependency Fix it so the asset registry written out at the beginning of CookOnTheFly uses the registry generator, otherwise it will include all of the stripped editor only tags Change 3390778 on 2017/04/12 by Ben.Zeigler Fix UCookOnTheFlyServer::CollectFilesToCook to check for initial unsolicited packages up front. This is required in iterative mode because it may skip cooking all explicit packages and thus miss a new startup loaded package Change 3390782 on 2017/04/12 by Ben.Zeigler Change RunProjectCommand to not imply -nomcp, and allow reading -clientcmdline to override setting the map parameter to 127.0.0.1 by default Fix RunProjectCommand to remove ios-specific checks to not pass weird platform parameters, and instead never pass them Fix PS4Platform to pass along command line when calling build cook run, args needs to be the last parameter so explicitly set -target= Change 3390859 on 2017/04/12 by Mike.Beach T3D class fields now export with the class's fully qualified path name (to avoid abiguity). Since we can have multiple classes with the same name (Blueprints in different folders), we have to use the class's fully qualified object path. #jira UE-28048 Change 3390914 on 2017/04/12 by Lukasz.Furman fixed missing navlink component's transform in exported navigation data #jira UE-43688 Change 3391122 on 2017/04/12 by Ben.Zeigler Add new PreloadPrimaryAssets call to AssetManager that stream the desired assets without modifying the official load/unload state. This is useful if you want to preload things in case the might be used in the future, and it also supports recursion Fix crash calling GetAssetDataForPath with null path Change 3391494 on 2017/04/12 by Dan.Oconnor Fix bad references in deep object (widget) hierarchies #jira UE-43802 Change 3391529 on 2017/04/12 by Dan.Oconnor Fix log spam, accidently submitted #rnx Change 3391756 on 2017/04/12 by Dan.Oconnor LinkExternalDependencies needs to be performed before we RefreshVariables #jira UE-43843 Change 3392542 on 2017/04/13 by Marc.Audy Ensure that initialized actors get cleaned up when removed from world even if that world hasn't begun play. #jira UE-43879 Change 3392746 on 2017/04/13 by Marc.Audy (4.16) When duplicating a blueprint node, correctly make the new node a sibling of the duplicated node, not a child of it (unless duplicating the root component). Also resets scale of a duplicated root component to 1 to avoid a squaring of the scale for that component. #jira UE-40218 #jira UE-42086 Change 3393253 on 2017/04/13 by Dan.Oconnor Make sure calculated meta data is correctly set on functions generated by the compilation manager (SKEL_ class functions) #jira UE-43883 Change 3393509 on 2017/04/13 by Mike.Beach Removing hack'ish ResetLoaders() call that was causing undesired side-effects (resetting of a loaded package that other objects were relying on). This was originally intended to release file handles so separate editor processes could make updates and save the file (from CL 1712376). Using ResetLoaders() for this is bad though, as it has too many side effects. Instead we have to wait for GC to run. This also makes sure that GC should run as intended as the CookOnTheFly sever is idling. #jira UE-37284 Change 3394350 on 2017/04/14 by Michael.Noland Core: Making FDateTime and FTimespan actually reflected, so they get duplicated properly in CopyPropertiesForUnrelatedObjects, etc... #jira UE-39921 Change 3395985 on 2017/04/17 by Phillip.Kavan #jira UE-38280 - Fix invalid custom type selections on member fields in the User-Defined Structure Editor after a reload. Change summary: - Ensure that the 'SubCategoryObject' member in a UDS variable descriptor has been loaded when converting to an FEdGraphPinType. Change 3396152 on 2017/04/17 by Marc.Audy TickableGameObjects that have IsTickableInEditor false should not tick in the editor #jira UE-40421 Change 3396279 on 2017/04/17 by Phillip.Kavan #jira UE-43968 - Fix failed validation of bitmask enum types when serializing bitmask literal nodes. Change 3396299 on 2017/04/17 by Dan.Oconnor Fix resintancing issues exposed by running TM-Gameplay with -game. We cannot reinstance actors in levels on load because the scene is not created. #jira UE-43859 Change 3396712 on 2017/04/17 by Marc.Audy Call PostLoad on subobjects before copying for unrelated properties to avoid cases where an out of date object patched over in the linker has not been brought up to date #jira UE-38234 Change 3396718 on 2017/04/17 by Mike.Beach Adding a search bar to the components tree for Blueprints. #epicfriday #jira UE-17620 Change 3396999 on 2017/04/17 by Mike.Beach In generated code, call event '_Implementation' functions directly for interface functions being invoked on self (avoids a UHT runtime error). #jira UE-44018 Change 3397700 on 2017/04/18 by Marc.Audy UT struct BlueprintType fixups Change 3397701 on 2017/04/18 by Marc.Audy Odin struct BlueprintType fixups Change 3397703 on 2017/04/18 by Marc.Audy Ocean struct BlueprintType fixups Change 3397704 on 2017/04/18 by Marc.Audy WEX struct BlueprintType fixups Change 3397705 on 2017/04/18 by Marc.Audy Additional UT blueprint type struct fixups Change 3397706 on 2017/04/18 by Marc.Audy Fortnite struct BlueprintType fixups Change 3397708 on 2017/04/18 by Marc.Audy Fixup Engine BlueprintType markup of structs Change 3397709 on 2017/04/18 by Marc.Audy Sample Game struct BlueprintType fixups Change 3397711 on 2017/04/18 by Marc.Audy Mark AnimNodes as BlueprintType and BlueprintInternalUseOnly Change 3397712 on 2017/04/18 by Marc.Audy Paragon struct BlueprintType fixups Change 3397735 on 2017/04/18 by Marc.Audy Definition pieces of BlueprintInternalUseOnly to fix UHT errors with structs already marked to use it Change 3397912 on 2017/04/18 by Mike.Beach Fix for CIS warnings about shadowed variables (fallout from CL 3396718). Change 3398455 on 2017/04/18 by Marc.Audy Make less critical errors log an error rather than immediately throwing allowing multiple errors to be reported in the same compile Change 3398491 on 2017/04/18 by Marc.Audy BPRW/BPRO in a non-BlueprintType is now a UHT error Change 3398539 on 2017/04/18 by Marc.Audy Fixup live link struct markups Change 3399412 on 2017/04/19 by Marc.Audy Fix Match3 blueprint type struct markups Change 3399509 on 2017/04/19 by Phillip.Kavan #jira UE-38574 - Fix AnimBlueprint function graphs marked as 'const' to treat 'self' as read-only when compiling. Change summary: - Modified FKismetCompilerContext::ProcessOneFunctionGraph() to use the function graph schema rather than the compiler context schema for both the function context's schema as well as testing the function for 'const'-ness. For AnimBPs, the compiler context and the function graph context can differ, so we need to make sure we are using the right one when making queries for a specific function context during compilation. - Minor cleanup: changed the function context schema to be 'const' in order to be consistent with the function graph GetSchema() API's result. Added a few 'const' qualifiers where needed to match. - Added a new object version in order to avoid breaking compilation of existing AnimBP function graphs that may already be violating the 'const' rule (this is the same thing that was done when 'const' was first added to "normal" BP function graphs). Just as with normal function graphs in place before the addition, a warning will be generated for existing AnimBP function graphs if they violate 'const' correctness, and an error will be generated for all new ones. Change 3399749 on 2017/04/19 by Mike.Beach Hiding the Nativized Blueprints plugin from the in-editor browser (prevent users from disabling it). Change 3399774 on 2017/04/19 by Marc.Audy ConditionalPostLoad is already called on StaticMesh earlier in the function #rnx Change 3400313 on 2017/04/19 by Mike.Beach Mirroring CL 3398673 from 4.16 Now, with ICWYU, making sure that the coresponding header gets included first in nativized Blueprint files (else we get a UHT error). Had to fixup some ShooterGame specific files as a result (they had missing includes and forward declarations). #jira UE-44124 Change 3400328 on 2017/04/19 by Mike.Beach Missing file from mirrored change (CL 3400313 - mirroring CL 3398673 from 4.16) #jira UE-44124 Change 3400415 on 2017/04/19 by Chad.Garyet adding physx switch build to framework Change 3400514 on 2017/04/19 by Mike.Beach Back out changelist 3400313 / 3400328 (mirrored from CL 3398673 in 4.16), as it was producing "include PCH first" errors. Likely, CL 3398673 was a fix for a 4.16 specific change, altering the expected include order. We'll have to wait for this one to be integrated back. Change 3400552 on 2017/04/19 by Marc.Audy Undo the calling of post load prior to the CPFUO as dependent objects may not yet be loaded. Instead copy the need load flag to the new CDO subobject, similarly to how the top level CDO object copies its flags over. #jira UE-44150 Change 3400815 on 2017/04/19 by Marc.Audy Spelling fix (part of PR #3490) #rnx Change 3400918 on 2017/04/19 by Marc.Audy Partial pull of PR #3490: Improved remapping game controls support (Contributed by projectgheist) This portion brings in the exposure of the bindings to blueprint #jira UE-44122 Change 3401550 on 2017/04/20 by Marc.Audy fix kitedemo blueprint type markup #rnx Change 3401702 on 2017/04/20 by Mike.Beach Make it so plugins added to a project through the .uproject's 'AdditionalPluginDirectories' list get folded into the generated code project (for visual studio, etc.). Change 3401720 on 2017/04/20 by Mike.Beach Add white and black lists for target type (game, client, server, etc.) to plugin module descriptors. Change 3401725 on 2017/04/20 by Mike.Beach Whitelisting the nativized Blueprint plugin for only the targets it was built for (game, server, or client). Change 3401800 on 2017/04/20 by Ben.Zeigler Add Algo::BinarySearch, LowerBound, and UpperBound. These are setup to allow binary searching a presorted array, and allow for specifying projection and sort predicates. Convert some engine code to use it Add TSortedMap, which is a map data structure that has the same API as TMap, but is backed by a sorted array. It uses half the memory and performance is faster below n=10 Add FName::CompareIndexes so a SortedMap with FNames can be used without doing very slow string compares, and FNameSortIndexes predicate to sort by it Add code to Algo and Container tests. Split up container tests so the new ones aren't run in smoketest as they are a bit slow Add RemoveCurrent and SetToEnd to ArrayIterator Change 3401849 on 2017/04/20 by Marc.Audy Partial pull of PR #3490: Improved remapping game controls support (Contributed by projectgheist) This portion brings bug fixes and improvements to InputKeySelector UMG widgets. #jira UE-44122 Change 3402088 on 2017/04/20 by Marc.Audy Focus the search box when expanding the map value type #jira UE-44211 Change 3402251 on 2017/04/20 by Ben.Zeigler Fix issue where SortedMap needs to be resorted after serialization, because the sorting may have changed from when it was saved out Change 3402335 on 2017/04/20 by Ben.Zeigler Significant changes to FAssetData serialization and memory, cuts memory significantly but will break code that was using some of the internal API that was not properly hidden before Both Editor and Runtime cache now use the same FAssetRegistryVersion, which is now registered as a custom version Rename FAssetData and FAssetPackage operator<< to SerializeForCache to make it clear that it isn't safe to use for general serialization Remove GroupNames from FAssetData, it has not been useful since the UE4 package structure changed around 4.0 Rename generic-sounding but not actually generic SharedMapView class to AssetDataTagMapSharedView to indicate what it is actually used for Change TagsAndValues to use a new array-backed TSortedMap as the base structure instead of a hash map. Also, it only allocates the map on demand, which saves significant memory at runtime as many packages have no tags Add bFilterAssetDataWithNoTags to [AssetRegistry] ini section, if set it will only save cooked asset data if it has tags, off by default but saves significant memory if your whitelist is set up properly Fix issue where asset registry tags updated by loading assets during cook were not being reflected in the cooked registry Add AssetRegistry::GetAllocatedSize and add to MemReport output Change 3402457 on 2017/04/20 by Ben.Zeigler Enable asset registry iteration and stripping unused asset data in Fortnite. Registry iteration is already on in //Fortnite/Main, stripping is a new feature I want to test Change 3402498 on 2017/04/20 by Ben.Zeigler CIS fix. Why did this compile locally? Change 3402537 on 2017/04/20 by Ben.Zeigler Remove ensure for making AssetData for subobjects, the editor does this for thumbnail creation in some cases Change 3402600 on 2017/04/20 by Ben.Zeigler Add bShouldGuessTypeAndNameInEditor to manager settings, can be set false for games where type cannot be safely implied and content must be resaved Fix up some bool setting code inside asset manager, and fix const correctness and for iterator issues AssetManager can now discover any BlueprintCore type when bHasBlueprintClasses=true Add AssetManager.DumpAssetRegistryInfo to output detailed asset registry usage stats Add Primary Name to asset audit window by default Change 3403556 on 2017/04/21 by Marc.Audy Fix Orion input key selector override class #rnx Change 3404090 on 2017/04/21 by mason.seay Applying Forcefeedback to test map Change 3404093 on 2017/04/21 by mason.seay Changing text in level Change 3404139 on 2017/04/21 by mason.seay Added Force Feedback test and made some tweaks. Change 3404146 on 2017/04/21 by mason.seay Added source reference to Instanced Variable test Change 3404154 on 2017/04/21 by mason.seay More minor tweaks Change 3404155 on 2017/04/21 by Marc.Audy Remove auto #rnx Change 3404188 on 2017/04/21 by Marc.Audy Fixed crash changing variable type when any type other than map #jira UE-44249 #rnx Change 3404463 on 2017/04/21 by Ben.Zeigler Fix asset data code to not ensure when loading an object with invalid exports, and instead print warning with name of package that needs to be resaved Resave a map that had a redirector from a DIFFERENT package saved in it's exports. I do not understand how this happened, but it appears to be related to the lightmap BuiltData transition when old maps are opened Change 3404465 on 2017/04/21 by Ben.Zeigler Fix issue with trying to load editor-only asset classes in a cooked build Fix issues with renaming or changing template Ids of assets from the editor Always print the Duplicate Asset ID error, as if you have more than one the ensuremsg only goes off once Change 3404481 on 2017/04/21 by Dan.Oconnor Remove unneeded walk up hierarchy - prevent stale entries in action database if we compile a BP but don't compile its children Change 3404510 on 2017/04/21 by Phillip.Kavan #jira UE-35727 - Collapsed graphs containing a local variable node will no longer cause a compile error when the parent graph is renamed. Change 3404590 on 2017/04/21 by Michael.Noland Editor: Fixed incorrect filtering of abstract/deprecated UDeveloperSettings and UContentBrowserFrontEndFilterExtension classes caused by a typo (HasAnyCastFlags versus HasAnyClassFlags) Change 3404593 on 2017/04/21 by Marc.Audy Fixed another crash to do with input pin secondary combo box #jira UE-44269 #rnx Change 3404600 on 2017/04/21 by Michael.Noland Core: Allow UE_GC_TRACK_OBJ_AVAILABLE to be set externally #rnx Change 3404602 on 2017/04/21 by Michael.Noland Engine: Switched from an include to a forward declaration of SWidget in UDeveloperSettings to keep it slim #rnx Change 3404608 on 2017/04/21 by Michael.Noland Core: Marked TNumericLimits as constexpr so they can be used in static asserts Change 3404659 on 2017/04/21 by Michael.Noland Engine: Adding includes back to two UDeveloperSettings subclasses Change 3405289 on 2017/04/24 by Marc.Audy Remove auto #rnx Change 3405446 on 2017/04/24 by Marc.Audy Fix Win32 unsigned compile issue Change 3405512 on 2017/04/24 by Mike.Beach Piping through NativizationOptions to filename generation (so we're able to gen different files names per target: client vs. server). Change 3406080 on 2017/04/24 by Ben.Zeigler Deprecate UEngine::OnPostEngineInit and move to FCoreDelegates, clean up comments for the initialization delegates Call OnPostEngineInit from commandlet initialization as well as normal execution. I thought about making a wrapper function, but the commandlet calls EditorInit directly so it wouldn't work Bind delegate to refresh the AssetRegistry native class hierarchy after engine init so it picks up game/plugin classes. Undo ini change that was required to hack around this Change 3406381 on 2017/04/24 by Ben.Zeigler #jira UE-23768 Enable Run Physics With No Controller for montage test pawn. The montage pawn has no controller so wasn't correctly running physics when the root motion stopped. This flag needs to be set to allow it to correctly stop after the montage is over Change 3406438 on 2017/04/24 by Ben.Zeigler Fix deprecation warning Change 3406519 on 2017/04/24 by Phillip.Kavan #jira UE-43612 - Suppress array "Get" node fixup notifications on load when the BP Compilation Manager is enabled. Change summary: - Wrapped BPCM calls to FBlueprintEditorUtils::ReconstructAllNodes() and ReplaceDeprecatedNodes() duirng compile-on-load with bIsRegeneratingOnLoad = true. This matches the BP's state during compile-on-load when the BPCM is not enabled. Change 3406565 on 2017/04/24 by Dan.Oconnor Make sure all interface functions are added to skeleton #jira UE-44152 Change 3407489 on 2017/04/25 by Ben.Zeigler #jira UE-44317 Fix game-only TickableGameObjects to correctly tick in PIE Change 3407558 on 2017/04/25 by Ben.Zeigler Fix Fortnite cook warnings, issue had to do with the CDO being registered as a Primary Asset in conflict with the Class being registered Fix issue with renaming a BP primary asset not finding the old name Change 3407701 on 2017/04/25 by Dan.Oconnor Remove unneeded null check, static analysis doen't like the inconsistency Change 3407995 on 2017/04/25 by Marc.Audy Fixed maps and sets not working correctly with split pin. #jira UE-43857 Change 3408124 on 2017/04/25 by Ben.Zeigler #jira UE-39586 Change it so the blueprint String/Name/Object to Text node creates culture invariant text, and also have them show as an expanded node with a comment explaining this Fix Transform to actually return in the format specified in the comment, and fix comments on many text conversions Change 3408134 on 2017/04/25 by Marc.Audy Graph pin container type now represented by an enumeration (EPinContainerType) rather than 3 "independent" booleans. FEdGraphPinType constructor, UEdGraphNode::CreatePin, and FKismetCompilerContext::SpawnInternalVariable that took 3 booleans deprecated and replaced with a version that takes EPinContainerType. UEdGraphNode::CreatePin parameters reorganized so that PinName is before ContainerType and bIsReference, which default to None and false respectively Change 3408256 on 2017/04/25 by Michael.Noland Core: Changed UClass::ClassFlags to be of type EClassFlags for improved type safety Change 3408282 on 2017/04/25 by Marc.Audy (4.16) Fix incorrect positioning of instance components after duplication #jira UE-44314 Change 3408404 on 2017/04/25 by Mike.Beach Adding and removing the nativized plugin to/from the project when we alter the packaging nativization setting (so it gets picked up by project generation). Change 3408445 on 2017/04/25 by Marc.Audy Fix up missed deprecation cases #rnx Change 3409354 on 2017/04/26 by Marc.Audy Fix Linux CIS failure #rnx Change 3409487 on 2017/04/26 by Marc.Audy When dragging assets in to the SCS create them as siblings, not nested #jira UE-43041 Change 3409776 on 2017/04/26 by Ben.Zeigler #jira UE-44401 Fix issue with cooking a map containing a reparented component. In that case the child component may think it's not editor only, but it's archetype is editor only. This is not allowed in EDL, so now the child is marked as editor only as well Change 3410168 on 2017/04/26 by Dan.Oconnor Avoid calling virtual functions in the middle of compile #jira UE-44243 Change 3410252 on 2017/04/26 by Lukasz.Furman adjusted WITH_GAMEPLAY_DEBUGGER checks after IWYU changes #ue4 Change 3410385 on 2017/04/26 by Marc.Audy ChildActorComponent SetClass no longer fails when setting at runtime. #jira UE-43356 Change 3410466 on 2017/04/26 by Michael.Noland Core: Ensuring EClassFlags is 32 bit in a different way (underlying type of the enum is coming out signed even though all members are unsigned, long term fix is probably to move it to an enum class) #rnx Change 3410476 on 2017/04/26 by Michael.Noland Automation: Deleting some commented out methods #rnx Change 3411070 on 2017/04/27 by Marc.Audy Properly complete deprecation of old attachment API Change 3411338 on 2017/04/27 by mason.seay Map for Latent Action Tick Bug Change 3411637 on 2017/04/27 by Ben.Zeigler Back out CL #3381532 as it was causing crashes when adding new variables to blueprints, as the transaction array was being recursively modified while it was being added to Change 3412052 on 2017/04/27 by mason.seay Updated jump test map and pawn Change 3412231 on 2017/04/27 by Ben.Zeigler Fix issue where running SearchAllAssets multiple times after mounting new paths would throw away the asset registry cache, which slowed down incremental cooking substantially because the cooker mounts the autosave folder Duplicate of CL #3411860 Change 3412233 on 2017/04/27 by Ben.Zeigler Made FStreamableHandle::GetLoadedCount much faster by taking advantage of existing progress counter Duplicate of CL #3411778 Change 3412235 on 2017/04/27 by Ben.Zeigler Add code to FStringAssetReferenceThreadContext and FStringAssetReferenceSerializationScope which allows setting package name and collect options for string asset references serialized via something other than linker load Make RedirectCollector threadsafe to avoid issues with async loading asset references Fix it so ProcessStringAssetReferencePackageList will remove entries from the string asset array like resolve did, and rename function to indicate that Fix it so string asset references created by asset labels do not automatically get cooked, and significantly improve the speed of labels with lots of assets Add code to cooker and asset manager to explicitly mark non-cookable assets as NeverVook, this stops labels from ending up in the build if set that way Added option to not recurse package dependency changes more than one level when hashes change. This ended up not being significantly faster in a realistic case so left disabled Duplicate of CL #3412080 Change 3412352 on 2017/04/27 by Marc.Audy Refix lighting getting wrong position when getting component instance data Change 3412426 on 2017/04/27 by Marc.Audy Take first steps to making ComponentToWorld private and force use of accessor Make bWorldToComponentUpdated private Make ComponentToWorld and bWorldToComponentUpdated mutable Add a SetComponentToWorld function for the (likely ill-advised) places that were setting it directly. Change 3412468 on 2017/04/27 by Marc.Audy Remove last remnants of deprecated (4.11) custom location system Change 3413398 on 2017/04/28 by Marc.Audy Fix up missed deprecated attachment API uses Change 3413403 on 2017/04/28 by Marc.Audy Fix Orion compile error #rnx Change 3413448 on 2017/04/28 by Marc.Audy Fix up kite demo component to world privataization warnings #rnx Change 3413792 on 2017/04/28 by Ben.Zeigler Fix many bugs with blueprint pin default values, and add "Reset to Default Value" option to pin context menu Deprecate and rename SetPinDefaultValue because it actually sets the Autogenerated default. This was being called in bad places and destroying the stored autogenerated defaults #jira UE-40101 Fix expose on spawn pins to correctly update when the spawned object's defaults change #jira UE-21642 Fix struct pin default values to properly update when the struct is changed #jira UE-39418 Fix changed function/macro default values to properly update in already placed call nodes Change 3413839 on 2017/04/28 by samuel.proctor Added some Blueprint focused tests for TM-Gameplay Change 3414030 on 2017/04/28 by Ben.Zeigler Enable use of AssetPtr variables with Config, for native and blueprint This incorporates CL #3302487 but also enables for blueprint usage as that code is new to framework branch Change 3414229 on 2017/04/28 by Marc.Audy Fixup virtuals not calling their Super Remove some autos #rnx Change 3414451 on 2017/04/28 by Lukasz.Furman static analysis fix for gameplay debugger Change 3414482 on 2017/04/28 by Ben.Zeigler Fix crash found where changing pin type on ConvertAsset accessed an array while deleting it Change 3414609 on 2017/04/28 by Ben.Zeigler #jira UE-18146 Refresh graph when disconnecting a resolve asset id node Change 3415852 on 2017/05/01 by Marc.Audy Remove unused code #rnx Change 3415856 on 2017/05/01 by Marc.Audy auto removal #rnx Change 3415858 on 2017/05/01 by Marc.Audy Fix function taking an input as reference when unneeded and causing (still unclear why it suddenly started showing up) error in cooking #rnx Change 3415946 on 2017/05/01 by Marc.Audy Have K2Node_StructOperation skip the K2Node_Variable validation as it doesn't need a property (per CL# 1756451) #rnx Change 3415988 on 2017/05/01 by Lukasz.Furman renamed WorldContext param in AI related static blueprint functions to remove load/cook warnings #jira UE-44544 Change 3416030 on 2017/05/01 by Ben.Zeigler Fix issue with WorldContext pins being broken by my pin value refactor, partial paths like "WorldContext" need to be stored as strings and not as broken object references. Change 3416230 on 2017/05/01 by Marc.Audy Fix spelling error #rnx Change 3416419 on 2017/05/01 by Phillip.Kavan #jira UE-44213 - Nativizing a Blueprint class with a non-nativized Blueprint class subobject dependency will no longer lead to a crash at load time. Change summary: - Modified the FFakeImportTableHelper ctor to inject subobject CDOs into the 'SerializeBeforeCreateCDODependencies' array. This in turn ensures that EDL will serialize those subobject CDOs (if necessary) before we create the subobject's nativized owner's CDO at load time. - Modified FEmitDefaultValueHelper::GenerateCustomDynamicClassInitialization() to emit MiscConvertedSubobject instantiations AFTER we emit the FillUsedAssetsInDynamicClass() call. This is now consistent with the code emitted for other subobjects (all of which assumes that the UsedAssets array has been initialized). - Modified FFindAssetsToInclude::HandleObjectReference() to add UField owner CDOs in addition to the owner class to the asset dependency list. This ensures that owner CDOs will be emitted alongside the class to both the nativized asset dependency table as well as to the fake import table associated with the UDynamicClass linker for the nativized BP asset. Change 3416425 on 2017/05/01 by Phillip.Kavan #jira UE-44219 - Nativizing a Blueprint class with a nativized DOBP class dependency will no longer lead to a compile error at cook/nativization time. - Modified the FGatherConvertedClassDependencies ctor to properly handle DOBPs in exclusive mode that have been explicitly enabled for nativization. Previously, this code wasn't taking that possibility into account, and as a result could lead to a missing header file in a dependent nativized class body's include set. - Modified FGatherConvertedClassDependencies::GetFirstNativeOrConvertedClass() to remove the 'bExcludeBPDataOnly' parameter, as it was primarily just being used for a redundant exclusion check when called from the FGatherConvertedClassDependencies ctor. That call site has now been modified to start searching from the super class instead. Additionally, any DOBPs will already fail the preceding WillClassBeConverted() check if they have not been explicitly enabled for nativization in exclusive mode, and will always fail if nativizing in inclusive mode. The extra check was breaking the explicitly-enabled case, so it was removed to allow explicitly-enabled DOBPs to pass. Notes: - Allowing for explicitly-enabled DOBPs in exclusive mode may be removed in a future change, but since it is currently supported, the changes noted above will at least ensure that the generated code will compile properly for now. Change 3416570 on 2017/05/01 by mason.seay Added UMG test to map. Tweaked force feedback test Change 3416580 on 2017/05/01 by mason.seay Resubmitting sub levels Change 3416597 on 2017/05/01 by Dan.Oconnor Compilation manager iteration, adds machinery for individual blueprint compilation, adds comments, cleans up duplicated code Change 3416636 on 2017/05/01 by Phillip.Kavan #jira UE-44505 - Potential fix for a low-repro crash tied to the Blueprint graph context menu. Change summary: - Switched FBlueprintActionInfo::ActionOwner to be a weak object reference. Change 3416960 on 2017/05/01 by Dan.Oconnor Use compilation manager when clicking the compile button, PIE'ing, etc Change 3417207 on 2017/05/01 by Ben.Zeigler Fix issue with None strings causing default value parsing failures Add SetPinDefaultValueAtConstruction needed by some other changes Change 3417519 on 2017/05/01 by Ben.Zeigler Fix BP compile errors caused by local variables with invalid default values. There's no reason to set autogenerated here because the nodes are transient and invisible in the UI. There is still a problem here, local variables are not getting their default values validated when type is changed, so you end up with an integer that has the default value of a struct. Change 3418659 on 2017/05/02 by Ben.Zeigler #jira UE-44534 Fix it so animation node pins get properly created autogenerated default values that are based on the node struct defaults. This fixes issues when they are reset to other defaults #jira UE-44532 Fix it so connecting an animation asset pin on a node player resets the pin value to the autogenerated default instead of the cached asset. This was causing old unused assets to get unnecessarily cooked Fix it so any animation node with an exposed pin that is an object property will reset that object propery when the pin is exposed. This fixes UE-31015 in a generic way Change the OptionalPinManager to take a Defaults address as well as a current address, to allow setting autogenerated defaults properly Remove Import/ExportKismetDefaultValueToProperty as they were redundant with PropertyValueFromString and were using the wrong pin setting functions, replaced with PropertyValueFromString_Direct and calling the schema pin set functions I need to write some backward compatibility code to fix existing nodes, I'll do that in a later checkin Change 3418700 on 2017/05/02 by Ben.Zeigler Actually fix None object paths for real this time. I did not test sufficiently before Change 3418811 on 2017/05/02 by Ben.Zeigler Fix existing animation blueprint nodes with dead asset references duplicated by pins. This code can be applied independent of the other change to fix specific games Change 3419165 on 2017/05/02 by Dan.Oconnor Add misc. functionality from FKismetEditorUtilities::CompileBlueprint Change 3419202 on 2017/05/02 by Marc.Audy Merging //UE4/Dev-Main to Dev-Framework (//UE4/Dev-Framework) @ 3417825 #rnx Change 3419236 on 2017/05/02 by mason.seay Removed OnPressed event from Widget BP Change 3419314 on 2017/05/02 by Marc.Audy Fix bad auto-resolve #rnx Change 3419524 on 2017/05/02 by Marc.Audy PR #3528: Improved Input BP library node display names (Contributed by projectgheist) #jira UE-44587 #rn Improved Input BP library node display names Change 3419570 on 2017/05/02 by Zak.Middleton #ue4 - Fix typo in TFunctionRef comment/example. Change 3419709 on 2017/05/02 by Dan.Oconnor Fix missing category metadata on SkeletonGeneratedClass when using compilation manager Change 3419756 on 2017/05/02 by Dan.Oconnor Remove unintentional verbosity increase Change 3420875 on 2017/05/03 by Marc.Audy Make IsExecPin static Minor optimization to IsMetaPin #rnx Change 3420981 on 2017/05/03 by Marc.Audy Change tagging temporarily until other changes are done so that we don't have warnings in the meantime #rnx Change 3421367 on 2017/05/03 by Marc.Audy Manually introduce changes from CL# 3398673 in 4.16 that failed to make it to Dev-Framework as a result of the integration submitted as CL# 3401725. #rnx Change 3421685 on 2017/05/03 by Ben.Zeigler #jira UE-23001 Convert literal Asset ID/Class ID pins to store path as string instead of as hard object reference. Old pins are fixed on load, after resaving the hard references will go away Refactor the way that FStringAssetReference and FAssetPtr are serialized, it now does the various fixups in FStringAssetReference::SerializePath, which is called from archivers Change it so the asset registry reads in a list of all scanned redirectors and adds them to GRedirectCollector, this means that saving a string asset reference will automatically fix it up to point to the redirector destination Change the default behavior of FAssetPtr serialize on ArchiveUObject to match what most of it's children want, and remove several special case hacks. It now serializes as asset reference when saving/loading, and as object for other cases Deprecate StringAssetReferenceLoaded/StringAssetReferenceSaving delegates, replace with PreSavePath and PostLoadPath on FStringAssetReference Make AssetLongPathname private on FStringAssetReference, it was deprecated in 4.9 Change 3421728 on 2017/05/03 by Phillip.Kavan Mirror CL 3408285 from //UE4/Release-4.16. #jira UE-44124 #rnx Change 3422370 on 2017/05/03 by Dan.Oconnor Mirror 3422359 Implement UBlueprintGeneratedClass::NeedsLoadForEditorGame to match UBlueprint, also tag a class's CDO as NeedsLoadForEditorGame. This prevents us from failing to load a UBlueprint's GeneratedClass when running the editor with -server. #jira UE-44659 Change 3423192 on 2017/05/04 by Ben.Zeigler CIS Fix Change 3423305 on 2017/05/04 by Ben.Zeigler Fix "Missing opening parenthesis" warnings for Vector and Rotator the same way they were fixed for Transform Change 3423358 on 2017/05/04 by Marc.Audy Merging //UE4/Dev-Main to Dev-Framework (//UE4/Dev-Framework) @ 3422809 #rnx Change 3423766 on 2017/05/04 by Ben.Zeigler #jira UE-44680 Delete some corrupted redirectors that are no longer in use Change 3423804 on 2017/05/04 by Dan.Oconnor Honor SaveIntermediateCompilerResults when using compilation manager Change 3424010 on 2017/05/04 by Marc.Audy Validate that switch string cases are unique Change 3424011 on 2017/05/04 by Marc.Audy Re-fix switch node default pin not appearing as an exec output Remove unused boolean Change 3424071 on 2017/05/04 by Ben.Zeigler Delete FixupRedirects commandlet, replace with -FixupRedirects/FixupRedirectors option on ResavePackages. This new method is much faster than the old commandlet as it uses the asset registry vs loading all packages, fixing up all redirectors in Fortnite only took about an hour vs 12+ hours the old way Removed some hacky bits in Core that only existed to support FixupRedirects Change it so the AssetRegistry listens to DirectoryWatcher callbacks in commandlets now that commandlets use the asset registry properly. This won't do anything unless you tick directory watcher the way that ResavePackages does Change 3424313 on 2017/05/04 by Dan.Oconnor Address missing property flags on SkeletonGeneratedClass when using compilation manager #jira UE-44705 Change 3424325 on 2017/05/04 by Phillip.Kavan #jira UE-44222 - Move nativized UDS implementation details into its own .cpp file in order to avoid circular dependencies. Change summary: - Modified IKismetCompilerInterface::GenerateCppCodeForStruct() to include an output parameter for CPP source and modified FKismet2CompilerModule to match the updated API. - Modified IBlueprintCompilerCppBackend::GenerateCodeFromStruct() to include an output parameter for CPP source and modified FBlueprintCompilerCppBackendBase to match the updated API. - Modified FBlueprintNativeCodeGenUtils::GenerateCppCode() to adjust the call to GenerateCppCodeForStruct() to include CPP source output. - Modified FGatherConvertedClassDependencies::DependenciesForHeader() to switch UDS property dependencies to be forward declarations rather than includes (for default value init code). - Modified FEmitDefaultValueHelper::GenerateGetDefaultValue() to emit implementation details to the 'Body' container, and adjust the header content to be a declaration only. - Modified FIncludeHeaderHelper::EmitInner() to exclude a potentially-redundant line for the module's .h file, for the case when the caller has included the base filename in the 'AlreadyIncluded' set. - Modified FEmitterLocalContext::FindGloballyMappedObject() to limit the 'TryUsedAssetsList' path to UClass conversions only (since that requires a UDynamicClass target to work). - Modified FGatherConvertedClassDependencies::DependenciesForHeader() to only include BPGC fields if they are also being converted. Eliminates an issue with missing header files in generated code. Change 3424359 on 2017/05/04 by Ben.Zeigler Fix issue where StreamableManager would break when requesting an async load that failed the first time. Because our game supports downloading assets during gameplay it's not safe to assume it will never load again. Port of CL #3424159 Change 3424367 on 2017/05/04 by Ben.Zeigler Fix some asset manager warnings to not go off in invalid cases Change 3425270 on 2017/05/05 by Marc.Audy Pack booleans/enums in UEdGraphNode and FOptionalPinFromProperty #rnx Change 3425696 on 2017/05/05 by Ben.Zeigler #jira UE-44672 Fix it so select node option pins get populated with default values properly #jira UE-43927 Fix it so select node opion pin type is correctly maintained accross node recreation, as opposed to deriving from the attached pins #jira UE-44675 Fix it to correctly refresh select node when switching from bool to integer index Change 3425833 on 2017/05/05 by Ben.Zeigler #jira UE-31749 Fix it so Undo works properly when modifying a local variable #jira UE-44736 Fix it so changing the type of a local variable correctly resets the default value Change 3425890 on 2017/05/05 by Marc.Audy Fix Copy/Paste of child actor components losing the template #jira UE-44566 Change 3425947 on 2017/05/05 by Ben.Zeigler This was meant to be part of last checkin Change 3425959 on 2017/05/05 by Ben.Zeigler #jira UE-44692 Fix it so only the sequentially last node can be removed from a Switch On Int, and for Switch On Name stop it from removing an exec pin if it's the only non-default one Change 3425979 on 2017/05/05 by Dan.Oconnor PVS fix Change 3425985 on 2017/05/05 by Phillip.Kavan Fix an uninitialized variable. #rnx Change 3426043 on 2017/05/05 by Ben.Zeigler #jira UE-35583 Correctly refresh array node UI when connecting pins that change it away from wildcard Change 3426174 on 2017/05/05 by Zak.Middleton #ue4 - Avoid call to virtual getSimulationFilterData() to only use it when needed in PreFilter if we actually have items in the IgnoreComponents list (which is rare). The sim filter data 'word2' stores the component ID. Change 3426621 on 2017/05/05 by Phillip.Kavan #jira UE-44708 - Fix an issue that re-introduced component data loss in a non-nativized child Blueprint class with a nativized parent Blueprint class. Change summary: - Removed an unnecessary additional check I had for the presence of "-NativizeAssets" switch on the command line in UBlueprint::BeginCacheForCookedPlatformData(). This check was failing because the usage was recently changed to include an optional value. It was not needed anyway so I just removed it. #rnx Change 3426906 on 2017/05/05 by Ben.Zeigler #jira UE-11189 Fix function/macro input default values to show as a pin customization instead of as a broken text box that doesn't work correctly for most types. This fixes enums and provide validation for other types Types that don't have a customization (most structs) will now show any more, they did not work before either #jira UE-21754 Hide function default values if pass by reference is set Fix it so changing input parameter will also reset default value, to avoid having the wrong type value set and to work the same as local variables Change 3426941 on 2017/05/05 by Dan.Oconnor Fix determinstic cooking of LoadAssetClass nodes in macros Change 3427021 on 2017/05/05 by Dan.Oconnor Build fix, make initialization order in source match artifact #rnx Change 3427135 on 2017/05/05 by Phillip.Kavan #jira UE-44702 - Restore code-based interface classes to Blueprint editor UI. Change summary: - Partially backed out CL# 3348513 to return to previous behavior for 4.16. The UI is no longer filtering on the __is_abstract() type trait for interface classes. - Modified FNativeClassHeaderGenerator::ExportClassFromSourceFileInner() to emit the _getUObject() declaration for native interface types as a default implementation that returns NULL rather than as a pure virtual declaration. #rnx Change 3427144 on 2017/05/06 by Marc.Audy Fix init order #rnx Change 3427146 on 2017/05/06 by Marc.Audy remove stray semicolon #rnx Change 3427242 on 2017/05/06 by Phillip.Kavan #jira UE-44744 - Fix a regression in which a UMG Widget Blueprint property not explicitly marked as a variable would cause Blueprint nativization to fail at package time. Change summary: - Modified FWidgetBlueprintCompiler::CreateClassVariablesFromBlueprint() to only add 'Category' metadata when we set the 'CPF_BlueprintVisible' flag on the UProperty, which in is now tied to whether or not the property has been explcitly marked as a variable. This avoids a UHT warning when compiling the nativized codegen that would cause packaging to fail. #rnx Change 3427720 on 2017/05/08 by Dan.Oconnor Backing out 3419202 #rnx Change 3427725 on 2017/05/08 by Dan.Oconnor SA fix #rnx Change 3427734 on 2017/05/08 by Dan.Oconnor More exhaustive GEditor null checks, to appease SA #rnx Change 3427882 on 2017/05/08 by Marc.Audy Properly order all booleans in intialization #rnx Change 3428049 on 2017/05/08 by Marc.Audy Merging //UE4/Dev-Main to Dev-Framework (//UE4/Dev-Framework) @ 3427804 #rnx Change 3428523 on 2017/05/08 by Ben.Zeigler #jira UE-44781 Refresh function input UI when blueprint graph refreshes, needed as pins may have gone away Change 3428563 on 2017/05/08 by Ben.Zeigler #jira UE-44783 If setting a hard reference pin type from a string, load the referenced object. Change 3428595 on 2017/05/08 by Dan.Oconnor Avoid node reconstruction when we're compiling a blueprint with no linker (e.g., a duplicated blueprint) #jira UE-44777 Change 3428599 on 2017/05/08 by Ben.Zeigler #jira UE-44789 Fix string asset renamer to not mark IsPersistent becuase that crashes in lightmap code, change it so the path fixup doesn't require the persistent flag Change 3428609 on 2017/05/08 by Dan.Oconnor Improved fix for UE-44777 #jira UE-44777 #rnx Change 3429176 on 2017/05/08 by Phillip.Kavan #jira UE-44755 - Fix nativization build errors when packaging a game project that is not IWYU-compliant for a build target that disables PCH files. - Mirrored from //UE4/Release-4.16 (CL# 3429030). #rnx Change 3429198 on 2017/05/08 by Phillip.Kavan CIS fix. #rnx Change 3429583 on 2017/05/08 by Ben.Zeigler Fix SGraphPinClass to work properly after my changes to allow unloaded assets. For Class pins we need to store separate Runtime and Editor asset data objects, as one has _C and refers to the class, and the other doesn't and refers to the blueprint. The content browser wants the editor path, the pin defaults want the runtime path. Change default value widgets to look more like properties widgets by forcing them to act as highlighted and disabling black background Change 3429640 on 2017/05/08 by Marc.Audy Fix issues with select nodes in macros connected to wildcard pins. #jira UE-44799 #rnx Change 3429890 on 2017/05/08 by Ben.Zeigler Fix function/macro defaults to properly propagate when changed using the new edit UI Refactor some code out of the details customization into the k2 schema Disable defaults UI for object/class/interface hard references as it is disabled in KismetCompiler Change 3429947 on 2017/05/08 by Michael.Noland Core: Backing out CL# 3394352 (marking FDateTime and FTimespan nonexport member Tick with UPROPERTY()), which will re-break UE-39921 but fix UE-44418 There appears to be a more serious underlying issue with how the CDO is instanced which needs to be addressed #jira UE-44418 #reimplementing 3411681 from Release 4.16 Change 3429987 on 2017/05/08 by Ben.Zeigler #jira UE-44798 Do a better job of validating object paths saved as default values, due to an old bug with local variables some object paths are saved as struct exportext At load time clear invalid default value for local variables Add IsValidObjectPath to FPackageName that validates the passed in path would be valid to load with LoadObject Change 3430392 on 2017/05/09 by Marc.Audy Fix SA CIS error #rnx Change 3430747 on 2017/05/09 by Ben.Zeigler #jira UE-44836 Don't reconstruct node during callback for param value changing, this can happen during a reconstruction and recursive reconstruction is unsafe Don't call ModifyUserDefinedPinDefaultValue unless the default value has actually changed Change 3431027 on 2017/05/09 by Marc.Audy Fix BPRW mark up causing Ocean warnings #rnx Change 3431353 on 2017/05/09 by Marc.Audy Fix UHT error due to exposing FJsonObjectWrapper to blueprints #rnx [CL 3431398 by Marc Audy in Main branch]
2017-05-09 17:15:32 -04:00
Super::ValidateNodeDuringCompilation(MessageLog);
if (UAnimationTransitionGraph* TransGraph = Cast<UAnimationTransitionGraph>(BoundGraph))
{
UAnimGraphNode_TransitionResult* ResultNode = TransGraph->GetResultNode();
check(ResultNode);
UEdGraphPin* BoolResultPin = ResultNode->Pins[0];
if ((BoolResultPin->LinkedTo.Num() == 0) && (BoolResultPin->DefaultValue.ToBool() == false))
{
// check for native transition rule before warning
bool bHasNative = false;
UBlueprint* Blueprint = FBlueprintEditorUtils::FindBlueprintForNodeChecked(this);
if(Blueprint && Blueprint->ParentClass)
{
UAnimInstance* AnimInstance = CastChecked<UAnimInstance>(Blueprint->ParentClass->GetDefaultObject());
if(AnimInstance)
{
UEdGraph* ParentGraph = GetGraph();
UAnimStateNodeBase* PrevState = GetPreviousState();
UAnimStateNodeBase* NextState = GetNextState();
if(PrevState != nullptr && NextState != nullptr && ParentGraph != nullptr)
{
FName FunctionName;
bHasNative = AnimInstance->HasNativeTransitionBinding(ParentGraph->GetFName(), FName(*PrevState->GetStateName()), FName(*NextState->GetStateName()), FunctionName);
}
}
}
if (!bHasNative && !bAutomaticRuleBasedOnSequencePlayerInState)
{
MessageLog.Warning(TEXT("@@ will never be taken, please connect something to @@"), this, BoolResultPin);
}
}
}
else
{
MessageLog.Error(TEXT("@@ contains an invalid or NULL BoundGraph. Please delete and recreate the transition."), this);
}
}
//////////////////////////////////////////////////////////////////////////
// IAnimStateTransitionNodeSharedDataHelper
void IAnimStateTransitionNodeSharedDataHelper::UpdateSharedData(UAnimStateTransitionNode* Node, TSharedPtr<INameValidatorInterface> NameValidator)
{
// get all other transition nodes
TArray<UAnimStateTransitionNode*> TransitionNodes;
UEdGraph* ParentGraph = Node->GetGraph();
ParentGraph->GetNodesOfClass(TransitionNodes);
// check if there is other node that can provide us with data
for (TArray<UAnimStateTransitionNode*>::TIterator It(TransitionNodes); It; ++ It)
{
UAnimStateTransitionNode* OtherNode = *It;
if (OtherNode != Node &&
CheckIfHasDataToShare(OtherNode) &&
CheckIfNodesShouldShareData(Node, OtherNode))
{
// use shared data of that node (to make sure everything is linked up properly)
ShareData(Node, OtherNode);
break;
}
}
// check if our shared rule name is original
if (NameValidator->FindValidString(AccessShareDataName(Node)) != EValidatorResult::Ok)
{
// rename all shared rules name in nodes that should share same name
for (TArray<UAnimStateTransitionNode*>::TIterator It(TransitionNodes); It; ++ It)
{
UAnimStateTransitionNode* OtherNode = *It;
if (OtherNode != Node &&
CheckIfNodesShouldShareData(Node, OtherNode))
{
AccessShareDataName(OtherNode) = AccessShareDataName(Node);
}
}
}
}
void IAnimStateTransitionNodeSharedDataHelper::MakeSureGuidExists(UAnimStateTransitionNode* Node)
{
UEdGraph* CurrentGraph = Node->GetGraph();
for (int32 idx=0; idx < CurrentGraph->Nodes.Num(); idx++)
{
if (UAnimStateTransitionNode* OtherNode = Cast<UAnimStateTransitionNode>(CurrentGraph->Nodes[idx]))
{
if (OtherNode != Node &&
CheckIfNodesShouldShareData(Node, OtherNode))
{
AccessShareDataName(Node) = AccessShareDataName(OtherNode);
}
}
}
if (! AccessShareDataGuid(Node).IsValid())
{
AccessShareDataGuid(Node) = FGuid::NewGuid();
}
}
//////////////////////////////////////////////////////////////////////////
// FAnimStateTransitionNodeSharedRulesHelper
bool FAnimStateTransitionNodeSharedRulesHelper::CheckIfNodesShouldShareData(const UAnimStateTransitionNode* NodeA, const UAnimStateTransitionNode* NodeB)
{
return NodeA->bSharedRules && NodeB->bSharedRules && NodeA->SharedRulesGuid == NodeB->SharedRulesGuid;
}
bool FAnimStateTransitionNodeSharedRulesHelper::CheckIfHasDataToShare(const UAnimStateTransitionNode* Node)
{
return Node->BoundGraph != NULL;
}
void FAnimStateTransitionNodeSharedRulesHelper::ShareData(UAnimStateTransitionNode* NodeWhoWantsToShare, const UAnimStateTransitionNode* ShareFrom)
{
NodeWhoWantsToShare->UseSharedRules(ShareFrom);
}
FString& FAnimStateTransitionNodeSharedRulesHelper::AccessShareDataName(UAnimStateTransitionNode* Node)
{
return Node->SharedRulesName;
}
FGuid& FAnimStateTransitionNodeSharedRulesHelper::AccessShareDataGuid(UAnimStateTransitionNode* Node)
{
return Node->SharedRulesGuid;
}
//////////////////////////////////////////////////////////////////////////
// FAnimStateTransitionNodeSharedCrossfadeHelper
bool FAnimStateTransitionNodeSharedCrossfadeHelper::CheckIfNodesShouldShareData(const UAnimStateTransitionNode* NodeA, const UAnimStateTransitionNode* NodeB)
{
return NodeA->bSharedCrossfade && NodeB->bSharedCrossfade && NodeA->SharedCrossfadeGuid == NodeB->SharedCrossfadeGuid;
}
bool FAnimStateTransitionNodeSharedCrossfadeHelper::CheckIfHasDataToShare(const UAnimStateTransitionNode* Node)
{
return Node->SharedCrossfadeIdx != INDEX_NONE;
}
void FAnimStateTransitionNodeSharedCrossfadeHelper::ShareData(UAnimStateTransitionNode* NodeWhoWantsToShare, const UAnimStateTransitionNode* ShareFrom)
{
NodeWhoWantsToShare->UseSharedCrossfade(ShareFrom);
}
FString& FAnimStateTransitionNodeSharedCrossfadeHelper::AccessShareDataName(UAnimStateTransitionNode* Node)
{
return Node->SharedCrossfadeName;
}
FGuid& FAnimStateTransitionNodeSharedCrossfadeHelper::AccessShareDataGuid(UAnimStateTransitionNode* Node)
{
return Node->SharedCrossfadeGuid;
}
#undef LOCTEXT_NAMESPACE