2019-12-26 15:33:43 -05:00
// Copyright Epic Games, Inc. All Rights Reserved.
2015-01-30 10:16:55 -05:00
# include "SActorDetails.h"
2021-09-07 03:39:26 -04:00
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 "Components/ActorComponent.h"
# include "Components/SceneComponent.h"
2020-02-10 16:06:34 -05:00
# include "DetailsViewObjectFilter.h"
2021-09-07 03:39:26 -04:00
# include "Editor.h"
# include "Editor/UnrealEdEngine.h"
2022-05-09 13:12:28 -04:00
# include "Styling/AppStyle.h"
2021-09-07 03:39:26 -04:00
# include "Elements/Framework/EngineElementsLibrary.h"
2021-01-11 11:14:52 -04:00
# include "Elements/Framework/TypedElementRegistry.h"
# include "Elements/Framework/TypedElementSelectionSet.h"
2022-02-23 15:54:47 -05:00
# include "Elements/Interfaces/TypedElementWorldInterface.h"
2021-09-07 03:39:26 -04:00
# include "Engine/Blueprint.h"
# include "Engine/BlueprintGeneratedClass.h"
# include "Engine/Selection.h"
# include "GameFramework/Actor.h"
# include "HAL/FileManager.h"
# include "IDetailRootObjectCustomization.h"
# include "IDetailsView.h"
# include "Kismet2/ComponentEditorUtils.h"
# include "Kismet2/KismetEditorUtilities.h"
# include "LevelEditor.h"
# include "LevelEditorGenericDetails.h"
2022-02-23 15:54:47 -05:00
# include "LevelEditorSubsystem.h"
2021-09-07 03:39:26 -04:00
# include "Modules/ModuleManager.h"
# include "PropertyEditorModule.h"
2021-05-07 10:04:49 -04:00
# include "SSubobjectEditor.h"
2021-09-07 03:39:26 -04:00
# include "SSubobjectEditorModule.h"
2021-05-07 10:04:49 -04:00
# include "SSubobjectInstanceEditor.h"
2021-09-07 03:39:26 -04:00
# include "ScopedTransaction.h"
# include "SourceCodeNavigation.h"
2021-05-07 10:04:49 -04:00
# include "SubobjectData.h"
# include "SubobjectDataSubsystem.h"
2021-09-07 03:39:26 -04:00
# include "UnrealEdGlobals.h"
# include "Widgets/Docking/SDockTab.h"
# include "Widgets/Images/SImage.h"
2022-02-23 15:54:47 -05:00
# include "Widgets/Input/SButton.h"
2021-09-07 03:39:26 -04:00
# include "Widgets/Layout/SBorder.h"
# include "Widgets/Layout/SBox.h"
# include "Widgets/Layout/SSplitter.h"
# include "Widgets/SBoxPanel.h"
# include "Widgets/Text/SRichTextBlock.h"
2020-02-05 19:22:57 -05:00
2022-02-23 15:54:47 -05:00
# define LOCTEXT_NAMESPACE "SActorDetails"
namespace UE : : LevelEditor : : Private
{
class SElementSelectionDetailsButtons : public SCompoundWidget
{
public :
SLATE_BEGIN_ARGS ( SElementSelectionDetailsButtons )
{ }
SLATE_END_ARGS ( )
void Construct ( const FArguments & InArgs , TSharedRef < SWidget > SubobjectEditorButtonBox , TFunction < TArray < TTypedElement < ITypedElementDetailsInterface > > ( ) > & & InGetDetailsHandles )
{
GetDetailsHandles = MoveTemp ( InGetDetailsHandles ) ;
ChildSlot
[
SNew ( SHorizontalBox )
+ SHorizontalBox : : Slot ( )
. VAlign ( VAlign_Center )
. Padding ( 0.0f , 0.0f , 4.0f , 0.0f )
. AutoWidth ( )
[
SAssignNew ( PromoteElementButton , SButton )
. ButtonStyle ( FAppStyle : : Get ( ) , " DetailsView.NameAreaButton " )
. ContentPadding ( 0 )
. HAlign ( HAlign_Center )
. VAlign ( VAlign_Center )
. AddMetaData < FTagMetaData > ( FTagMetaData ( TEXT ( " Element.PromoteElement " ) ) )
. OnClicked ( this , & SElementSelectionDetailsButtons : : OnPromoteElement )
. ToolTipText ( LOCTEXT ( " PromoteElementTooltip " , " Promote the selected elements. " ) )
[
SNew ( SImage )
. Image ( FAppStyle : : Get ( ) . GetBrush ( " Icons.PromoteElements " ) )
]
]
+ SHorizontalBox : : Slot ( )
. VAlign ( VAlign_Center )
. AutoWidth ( )
[
SubobjectEditorButtonBox
]
] ;
}
void UpdateSelection ( TArrayView < const TTypedElement < ITypedElementDetailsInterface > > * InDetailsElementsPtr )
{
TArrayView < const TTypedElement < ITypedElementDetailsInterface > > DetailsElementsView ;
TArray < TTypedElement < ITypedElementDetailsInterface > > DetailsElementsContainer ;
if ( InDetailsElementsPtr )
{
DetailsElementsView = * InDetailsElementsPtr ;
}
else
{
DetailsElementsContainer = GetDetailsHandles ( ) ;
DetailsElementsView = MakeArrayView ( DetailsElementsContainer ) ;
}
bool bCanPromoteAnElement = false ;
UTypedElementRegistry * Registry = UTypedElementRegistry : : GetInstance ( ) ;
for ( const TTypedElement < ITypedElementDetailsInterface > & DetailsElement : DetailsElementsView )
{
if ( TTypedElement < ITypedElementWorldInterface > WorldElement = Registry - > GetElement < ITypedElementWorldInterface > ( DetailsElement ) )
{
if ( WorldElement . CanPromoteElement ( ) )
{
bCanPromoteAnElement = true ;
break ;
}
}
}
if ( bCanPromoteAnElement )
{
PromoteElementButton - > SetVisibility ( EVisibility : : Visible ) ;
}
else
{
PromoteElementButton - > SetVisibility ( EVisibility : : Collapsed ) ;
}
}
private :
FReply OnPromoteElement ( )
{
FScopedTransaction Transaction ( LOCTEXT ( " PromoteElementsTransaction " , " Promote Elements " ) ) ;
TArray < TTypedElement < ITypedElementDetailsInterface > > DetailsElements = GetDetailsHandles ( ) ;
TArray < AActor * > Actors ;
Actors . Reserve ( DetailsElements . Num ( ) ) ;
UTypedElementSelectionSet * SelectionSet = GEditor - > GetEditorSubsystem < ULevelEditorSubsystem > ( ) - > GetSelectionSet ( ) ;
FTypedElementSelectionOptions SelectionOptions ;
UTypedElementRegistry * Registry = UTypedElementRegistry : : GetInstance ( ) ;
for ( const TTypedElement < ITypedElementDetailsInterface > & DetailsElement : DetailsElements )
{
if ( TTypedElement < ITypedElementWorldInterface > WorldElement = Registry - > GetElement < ITypedElementWorldInterface > ( DetailsElement ) )
{
if ( WorldElement . CanPromoteElement ( ) )
{
SelectionSet - > DeselectElement ( WorldElement , SelectionOptions ) ;
}
if ( FTypedElementHandle PromotedElement = WorldElement . PromoteElement ( ) )
{
SelectionSet - > SelectElement ( PromotedElement , SelectionOptions ) ;
}
}
}
return FReply : : Handled ( ) ;
}
TSharedPtr < SButton > PromoteElementButton ;
TFunction < TArray < TTypedElement < ITypedElementDetailsInterface > > ( ) > GetDetailsHandles ;
} ;
}
2015-03-12 15:11:32 -04:00
class SActorDetailsUneditableComponentWarning : public SCompoundWidget
2015-03-10 14:08:41 -04:00
{
public :
2015-03-12 15:11:32 -04:00
SLATE_BEGIN_ARGS ( SActorDetailsUneditableComponentWarning )
2015-03-10 14:08:41 -04:00
: _WarningText ( )
, _OnHyperlinkClicked ( )
{ }
/** The rich text to show in the warning */
SLATE_ATTRIBUTE ( FText , WarningText )
/** Called when the hyperlink in the rich text is clicked */
SLATE_EVENT ( FSlateHyperlinkRun : : FOnClick , OnHyperlinkClicked )
SLATE_END_ARGS ( )
/** Constructs the widget */
void Construct ( const FArguments & InArgs )
{
ChildSlot
[
SNew ( SBorder )
2021-01-07 14:20:25 -04:00
. BorderImage ( FAppStyle : : Get ( ) . GetBrush ( " Brushes.Panel " ) )
2015-03-10 14:08:41 -04:00
[
SNew ( SHorizontalBox )
+ SHorizontalBox : : Slot ( )
. AutoWidth ( )
. HAlign ( HAlign_Center )
. VAlign ( VAlign_Center )
. Padding ( 2 )
[
SNew ( SImage )
2022-05-09 13:12:28 -04:00
. Image ( FAppStyle : : Get ( ) . GetBrush ( " Icons.Warning " ) )
2015-03-10 14:08:41 -04:00
]
+ SHorizontalBox : : Slot ( )
. VAlign ( VAlign_Center )
. Padding ( 2 )
[
SNew ( SRichTextBlock )
2022-05-09 13:12:28 -04:00
. DecoratorStyleSet ( & FAppStyle : : Get ( ) )
2015-03-10 14:08:41 -04:00
. Justification ( ETextJustify : : Left )
2022-05-09 13:12:28 -04:00
. TextStyle ( FAppStyle : : Get ( ) , " DetailsView.BPMessageTextStyle " )
2015-03-10 14:08:41 -04:00
. Text ( InArgs . _WarningText )
. AutoWrapText ( true )
+ SRichTextBlock : : HyperlinkDecorator ( TEXT ( " HyperlinkDecorator " ) , InArgs . _OnHyperlinkClicked )
]
]
] ;
}
} ;
2015-01-30 10:16:55 -05:00
2021-01-11 11:14:52 -04:00
void SActorDetails : : Construct ( const FArguments & InArgs , UTypedElementSelectionSet * InSelectionSet , const FName TabIdentifier , TSharedPtr < FUICommandList > InCommandList , TSharedPtr < FTabManager > InTabManager )
2015-01-30 10:16:55 -05:00
{
2021-01-11 11:14:52 -04:00
SelectionSet = InSelectionSet ;
checkf ( SelectionSet , TEXT ( " SActorDetails must be constructed with a valid selection set! " ) ) ;
2021-02-18 18:54:03 -04:00
FCoreUObjectDelegates : : OnObjectsReplaced . AddRaw ( this , & SActorDetails : : OnObjectsReplaced ) ;
2015-02-11 06:05:44 -05:00
FLevelEditorModule & LevelEditor = FModuleManager : : GetModuleChecked < FLevelEditorModule > ( " LevelEditor " ) ;
LevelEditor . OnComponentsEdited ( ) . AddRaw ( this , & SActorDetails : : OnComponentsEditedInWorld ) ;
2015-01-30 10:16:55 -05:00
FDetailsViewArgs DetailsViewArgs ;
DetailsViewArgs . bUpdatesFromSelection = true ;
DetailsViewArgs . bLockable = true ;
2021-01-28 08:19:45 -04:00
DetailsViewArgs . bAllowFavoriteSystem = true ;
2021-02-23 14:04:08 -04:00
DetailsViewArgs . NameAreaSettings = FDetailsViewArgs : : ObjectsUseNameArea | FDetailsViewArgs : : ComponentsAndActorsUseNameArea ;
2015-01-30 10:16:55 -05:00
DetailsViewArgs . NotifyHook = GUnrealEd ;
DetailsViewArgs . ViewIdentifier = TabIdentifier ;
DetailsViewArgs . bCustomNameAreaLocation = true ;
DetailsViewArgs . bCustomFilterAreaLocation = true ;
Copying //UE4/Dev-Editor to //UE4/Dev-Main (Source: //UE4/Dev-Editor @ 3566944)
#lockdown Nick.Penwarden
#rb none
============================
MAJOR FEATURES & CHANGES
============================
Change 3363699 by Mike.Fricker
VR Editor: Improved extensibility (for mesh editor)
- This was merged from CL 3352612 and re-opened for edit before commit
- All mesh editor changes were stripped before merging
Change 3499858 by Matt.Kuhlenschmidt
PR #3673: Fixed UE-36416 (Contributed by DarkSlot)
Change 3499872 by Matt.Kuhlenschmidt
PR #3682: Details view - matrix button visibility toggle and crash fix (Contributed by kamrann)
Change 3499873 by Matt.Kuhlenschmidt
Hide property matrix button from settings editor. For the combined settings objects view this produces nonsensical results and the property matrix is for bulk editing which settings are not designed for.
Change 3501154 by Arciel.Rekman
Fix incorrect RPATH.
- Fixed LinuxToolChain to use FileItem instead of strings.
- Fixed string-based Utils.MakePathRelativeTo - workaround for an old Mono bug was causing invalid "correction" of the relative path, triggered by the fact that path "Foo/Bar/../Baz" was not considered equal to "Foo/Baz". Instead of removing the workaround altogether, added a better comparison.
Change 3501337 by Arciel.Rekman
Better fix for RPATH.
- Ben Marsh's suggestion.
Change 3502572 by Matt.Kuhlenschmidt
PR #3693: Because "becuase" is spelled because (Contributed by getnamo)
Change 3502731 by Matt.Kuhlenschmidt
Guard against empty warning toasts
#jira UE-46285
Change 3502788 by Matt.Kuhlenschmidt
Avoid shutting down the editor during loads and slow tasks if a windows close message comes in during this time
Change 3503027 by Michael.Dupuis
Optimized UpdateLayerUsageInformation
Change 3503299 by Michael.Dupuis
Fixed crash when having no layer info object
Change 3504529 by Yannick.Lange
Use UWorld instead of FWorldContext for EditorWorldExtensions, since we don't use it.
Change 3504550 by Jamie.Dale
Fixed/Improved DnD validation between Content Browsers
Dragging assets between Content Browsers now goes through the same common DnD code (DragDropHandler) as dragging assets between the SPathView and SAssetView, and between items within an SAssetView. This also improves the validation of asset/file drops to prevent you dropping assets/files into class paths.
#jira UE-45857
Change 3505369 by Alexis.Matte
Make sure undo/redo transactions works for all fbx dialog options.
#jira UE-43465
#jira UE-43569
Change 3505500 by Matt.Kuhlenschmidt
Fix child usd meshes not importing properly.
Change 3505645 by Arciel.Rekman
Add USD support on Linux (UE-45383).
#jira UE-45383
Change 3505658 by Arciel.Rekman
USD: add CMake toolchain file I missed.
Change 3506796 by Yannick.Lange
Fix EditorWorldExtensionCollection using TWeakObjectPtr for UWorlds instead of UPROPERTY
Change 3508082 by Alexis.Matte
Make sure the fbx re-import editor preference "show option dialog at reimport" is working when re-importing an animation sequence.
Change 3508855 by Max.Chen
Add CanFindInContentBrowser to AssetEditorToolkit.
False for LevelSequenceEditorToolkit so that sequencer doesn't take over Find In Content Browser and show only the sequencer asset.
#jira UE-46241
Change 3509282 by Bradut.Palas
#jira UE-45337
Removed check for Actor->GetWorld() against GWorld because the latter would switch between editor world and PIE world during a tick, causing the widget to not update properly.
Since the Actor would always point to the PIE world, the check was no longer needed.
Change 3509298 by Nick.Darnell
Slate - Now has better support for analog navigation, the NavigationConfig is now created per user, and has the ability to deal with repeats and can handle navigation better by waiting until the user has moved enough to intend a direction to move.
Change 3509313 by Bradut.Palas
#jira UE-44630
As the bug description says, the Undo History was not refreshing correctly because an undo coupled with an action would result in the same number of transactions as the previous tick. Now we also check the variation of undo actions count in order to refresh the list.
Change 3509318 by Bradut.Palas
#jira UE-1406
To fix the issue we simply close the Consolidate window if ListViewItems is empty.
Change 3509402 by Nick.Darnell
PR #3703: UE-46362: Fixing typo in EUMGSequencePlayMode.PingPong comment (Contributed by gsfreema)
Change 3510447 by Arciel.Rekman
ReplayProxy: changed protected to private.
Change 3510467 by Max.Chen
Property Editor: Disable color widget when editing is disabled.
#jira UE-46331
Change 3511249 by Matt.Kuhlenschmidt
PR #3715: Turn off the automatic expiration of the restore assets notification (Contributed by IHappyDayI)
Change 3511286 by Matt.Kuhlenschmidt
Added ability to set properties from USD attributes when using scene import to import USD files. See
UsdPropTestScene.usda for an example file of how this works
Change 3511528 by Cody.Albert
Updated FMoviePlayerWidgetRenderer to use Slate time instea of application time
Change 3512149 by Matt.Kuhlenschmidt
Dont save non-dirty built data when playing PIE in a standalone process
#jira UE-46422
Change 3512259 by Matt.Kuhlenschmidt
Fix static analysis
Change 3512291 by Matt.Kuhlenschmidt
PR #3719: Updating UEditorEngine::ReplaceActors to not copy array of actors (Contributed by gsfreema)
Change 3512911 by Matt.Kuhlenschmidt
Fixed USD property setting crashing if the usd file contained an array with 0 elements.
Fixed USD property setting creating invalid tmaps if the usd file contained a key that already existed
Change 3513725 by Matt.Kuhlenschmidt
PR #3726: Copy/paste fix for SAdvancedDropdownRow::Construct() (Contributed by jovisgCL)
Change 3514453 by Jamie.Dale
Added a way to set the UEnum used by a UEnumProperty after using the default constructor
This will assert if called on an instance that has already been initialized
Change 3514858 by Alexis.Matte
Fix crash when importing animation and choosing a different value for option "Import Meshes In Bone Hierarchy" then the value use to import the skeletal mesh. In some case there is no skinned mesh.
Change 3514875 by Matt.Kuhlenschmidt
PR #3721: Fixed. Screen Message was showed always when screenshot is captured(F9) (Contributed by shuaiharry)
Change 3515859 by Bradut.Palas
#jira UE-46516
The RenameTextBox didn't handle the OnTextCommitted event (which can be triggered when pressing Enter in the box). Now it does.
Change 3515998 by Jamie.Dale
Adding missing ) to some log messages
Change 3517681 by Matt.Kuhlenschmidt
Fix automated import not applying any texure settings to imported textures
Change 3517703 by Nick.Darnell
Slate - Marking SWidget's destructor as virtual (it always has been because of the parent), but this makes it more obvious.
Change 3517737 by Nick.Darnell
Slate - The retainer widget now only knows how to store the images in gamma space, rather than rendering in linear and storing using sRGB writes. If you do it that way - you end up in a state of having premultiplied linear space stored in sRGB, and getting that back into a state that looks correct when you finally render it with the rest of Slate becomes very difficult, so to make things simpler
Change 3517758 by Nick.Darnell
UMG - Updating the retainer box categories and visibility.
Change 3517795 by Nick.Darnell
Slate - We now don't do inherited volatility if we're also caching.
Change 3517861 by Matt.Kuhlenschmidt
Update windows USD to .75
Change 3517867 by Matt.Kuhlenschmidt
Delete OpenEXR from USD dependencies. It is no longer used
Change 3517873 by Matt.Kuhlenschmidt
Updated USD windows binaries
Change 3517896 by Max.Chen
Sequencer: Call SkyLightComponent's SetLightColor() directly, similar to LightComponent
#jira UE-46669
Change 3518240 by Max.Chen
Sequencer: Set needs update when binding.
#jira UE-46619
Change 3518492 by Max.Chen
Sequencer: If already at the correct play position, don't jump to it. This fixes a bug where if you play to a position and pause, resuming play will playforward and not keep pausing.
#jira UE-45996, UE-45997
Change 3518997 by Max.Chen
Fbx: Fix aperture width, height, focal length and field of view calculations.
#jira UE-46754
Change 3520190 by Jamie.Dale
Cleaned up SCC log spam when finding out-of-date dependencies
Change 3520237 by Yannick.Lange
VR Editor: cleanup auto entry. Removed TimeSinceHMDChecked and added extra check for if there is currently a vr mode active.
Change 3520923 by Max.Chen
Sequencer: Refactor displaying sequencer settings in editor so that they're always available and not only when the sequencer type is instantiated.
#jira UE-46301
Change 3521212 by Matt.Kuhlenschmidt
PR #3757: MAX_NAME_LENGHT -> MAX_NAME_LENGTH (Contributed by Josef-CL)
#jira UE-46821
Change 3521216 by Matt.Kuhlenschmidt
PR #3751: Spelling fix for ESlateVisibility comment (Contributed by Triplelexx)
#jira UE-46810
Change 3521221 by Matt.Kuhlenschmidt
PR #3733: UE-46683: Don't increment MovieIndex when playing next movie (Contributed by projectgheist)
#jira UE-46683,UE-46714
Change 3521344 by Yannick.Lange
Fix selection tools in the Levels editor window. After selecting all levels SWorldHierarchyImpl::OnUpdateSelection used GetSelectedTreeItems(). At that point the tree items were not updated yet and it would return the 'previous' items. Making it look like nothing happened. Instead WorldModel->GetSelectedLevels() had to be used to get the new list of selected levels (this was used in 4.16) and then convert the list of FLevelModel to the new system that uses WorldHierarchy::FWorldTreeItemID.
#jira UE-46741
Change 3521825 by Joe.Graf
#Xb1
Added missing VectorSetFloat1 by copying the one in UnrealMathSSE.h
#CodeReview: ben.woodhouse
Change 3522114 by Joe.Graf
#Xb1
Changed the missing VectorSetFloat1 to use MakeRegisterVector to be more consistent with other Xbox defines per Ben's code review
#CodeReview: ben.woodhouse
Change 3524202 by Matt.Kuhlenschmidt
Prevent resizing when a context menu is open. This prevents a number of rare crashes when a window is resized when a child menu is open causing the child to lose connection to the parent (happens when the parent widgets are clipped and no longer processed). This is consistent with behavior on windows and mac.
#jira UE-46653
Change 3524263 by Bradut.Palas
#jira UE-46671
The issue happened because a parent callback of OnAssetRenameCommitted would allow an implicit sync and it would reset the search. Solved by blocking the parent callback if the user is searching.
Change 3524265 by Bradut.Palas
#jira UE-46261
Console command was doing something illegal. Opening a map from editor when multiprocess and client mode were enabled is prohibited by code in Playlevel.cpp (( !CanRunUnderOneProcess && PlayNetMode == EPlayNetMode::PIE_Client ))
Solved by banning that specific use of the command.
Change 3524266 by Bradut.Palas
#jira UE-45592
The bug was caused by an iteration in EndPlayMap() that re-selected all previous actors but without the notify flag (hence, not triggering the code that validated showing the transform widget). Fixed by notifying just once per group, for performance reasons.
Change 3524585 by Bradut.Palas
Back out changelist 3524265 until I can figure out why the build system doesn't like it.
Change 3525921 by Bradut.Palas
Resubmitting revision 3524265 with properly guarded editor code (#if WITH_EDITOR)
Change 3526124 by Matt.Kuhlenschmidt
Remvoe debug canvas proxy
Change 3526139 by Matt.Kuhlenschmidt
Force low quality fallback mode on ES2 devices for slate blur widgets. This feature does not work on es2
Change 3526663 by Cody.Albert
Fixed sequencer bindings to correctly work on streamed level in standalone preview mode
Change 3527028 by Cody.Albert
Back out changelist 3526663
Change 3527241 by Cody.Albert
Fixed sequencer bindings to correctly work on streamed level in standalone preview mode
Change 3527829 by Max.Chen
Fbx: Add static transform values to curve data import.
#jira UE-46888
Change 3527830 by Max.Chen
Sequencer: Import static/default transforms and camera focal lengths from fbx.
#jira UE-46888
Change 3528768 by Matt.Kuhlenschmidt
Refactor of GetDetailsView method on IDetalLayoutBuilder for some upcoming changes. There is no longer a guarantee that a physical details panel is present wwhen customizing a property so GetDetailsView now returns a pointer and will be null if no details view exists. This refactor is necessary for a change to allow us to make loose property widgets for use outside of a details view.
Change 3528776 by Yannick.Lange
Allow thumbnails to be captured from a viewport always.
#jira UE-45392
Change 3530675 by Michael.Dupuis
#jira UE-46913 : Added extra validation to prevent possible crash
Change 3530991 by Matt.Kuhlenschmidt
Added ability for users to specifiy usd plugins for the USD importer
Change 3531110 by Matt.Kuhlenschmidt
Added automated import support for USD.
Automated import now also supports loading a level per import group so that factories may spawn actors and manipulate the level
Change 3531119 by Matt.Kuhlenschmidt
USD Scene import now uses actor factories to determine the correct actor type to spawn for an asset specified in USD
Change 3531220 by Jamie.Dale
Fixed some places that were iterating over sets/maps using their element indices as if they were the sparse indices
Change 3531831 by Cody.Albert
BP nodes can no longer be renamed on read-only graphs.
Change 3531938 by Yannick.Lange
Enable setting justification at runtime for multi-line text boxes.
#jira UE-44801
Change 3533011 by Matt.Kuhlenschmidt
Exporting render targets now chooses PNG if the render target format is an LDR format
Change 3533370 by Arciel.Rekman
Fix comparison of the RT format.
Change 3533717 by Nick.Darnell
Slate - Adding justification to SEditableText and SpinBox, also adding the field for UMG.
Change 3534756 by Arciel.Rekman
Linux: add path to bundled GL headers.
- Seems like we have been implicitly relying on it being added someplace else or simply present in the system.
- Change by Cengiz.Terzibas
Change 3535421 by Arciel.Rekman
Reduce SCW logspam on Linux (UE-46634)
#jira UE-46634
Change 3537520 by Matt.Kuhlenschmidt
PR #3780: Fix typo steam to stream (Contributed by YuchenMei)
Change 3537539 by Nick.Darnell
UMG - Fixing a bug with aspect ratio locking cameras when in HDPI mode, the spaces were slightly different. Moving over the code that calculates the offsets to function in normalized space, so that it's trivial to combine with the existing normalized viewport dimensions and offset information, without space confusion.
Change 3537542 by Nick.Darnell
UMG - Fixing some bugs with the retainer widget which was not properly resetting or registering the hit testing information when rendered every frame. This should fix some issues that have been seen with clicks locking the viewport rendering, or not being clickable.
Change 3537596 by Alexis.Matte
Fbx SDK 2018.1.1 Integration
#jira UE-45070
Change 3537672 by Matt.Kuhlenschmidt
Simple fix for seconds of time being spent refreshing the settings editor if commands are registered while it is open. The request to refresh is deferred until next tick, meaning that each command list registered in a frame is not refreshing the details panel.
Change 3537796 by Alexis.Matte
Make sure all general settings are persist when we re-import a staticmesh from fbx file.
#jira UE-46829
Change 3537961 by Michael.Dupuis
#jira UE-47222: Prevent possible crash in some bad drag & drop case
Change 3538149 by Alexis.Matte
Make sure we export NTB information instead of just the normal when exporting to fbx
#jira UE-46785
Change 3538237 by Alexis.Matte
Fix import of large fbx scene (over 2 Gb) pr #3784
#jira UE-47124
Change 3538270 by Lauren.Ridge
Epic Friday: Preview scenes in material editors
Change 3539707 by Yannick.Lange
Optimize viewport interactor hitresult for laser. Store the first hitresult and use that when calling UViewportInteractor::GetHitResultFromLaserPointer multiple times a frame.
Change 3539964 by Lauren.Ridge
Fix for cubemap not persisting between loads
Change 3540321 by Arciel.Rekman
Linux: CEF rebuilt with fewer dependencies (UE-46433).
- Removed source-only binary to save size (we can link to the runtime one, this also allows RPATH to be generated automatically).
- Change by Cengiz.Terzibas, polished by RCL.
Change 3540458 by Alexis.Matte
Fix the HDR pixel inspector. The HDR value is now RGBA in editor viewport and RGB in Game mode.
#jira UE-47199
Change 3540681 by Arciel.Rekman
Linux: fix flickering (UE-46351) - redoing fix from 4.17
- Slate rendering policy can set a scissor rect equal to a (smaller) window, which would get inherited by the scene renderer later.
#jira UE-46351
(Redoing the fix from CL 3538578 in 4.17).
Change 3540838 by Matt.Kuhlenschmidt
Fix locked actors still being moved by piloting them
Change 3542212 by Nick.Darnell
Slate - Fixing a crash with per character wrapping. When used in rich text fields, it can cause a crash due to negative lengths for measurements, due to the way we calculate start and end indexes. New code now ensures the End is always >= to the Start.
Change 3544033 by Arciel.Rekman
Drop and deprecate /-prefixed commandline switches.
- Dropped on all platforms except Windows, where it will produce a warning. Complete drop is expected in 4.19.
Change 3544213 by Nick.Darnell
Slate - Fixing another potential crash with the slate loading thread. The default movie player was listening for map load finishing using the AddSP callaback, which means the weakptr would be accessed, switching these over to AddRaws to be safer.
Change 3546113 by Nick.Darnell
Slate - Resurecting the slate visualizer support in the slate renderer for batch visualization, and overdraw.
Change 3547129 by Michael.Trepka
Few small changes that make UnrealBuildTool faster when running on Mono
Change 3547454 by Jamie.Dale
Added search to editable texts
Change 3547460 by Jamie.Dale
The output log now applies a search to its editable text when filtering
This highlights the term matches on each line
Change 3548177 by Jamie.Dale
Optimized PO entry look-up
Change 3548287 by Matt.Kuhlenschmidt
Fix one off speedtree crash
#jira UE-47538
Change 3548377 by Lauren.Ridge
Checking that the Environment Map Path is set before trying to load it.
#jira UE-47365
Change 3548628 by Matt.Kuhlenschmidt
Fix focus graphic for tabs not pointing to the correct image
Change 3549289 by Max.Chen
Movie Scene Capture: Move window to within the desktop bounds when resizing.
#jira UE-37330
Change 3549290 by Arciel.Rekman
Fix hlslcc not working properly with newer clangs.
- Both the clang 3.8+ problem and UB reported by UBSan.
Change 3550573 by Max.Chen
Sequencer: Track drag drop.
Implement drag and drop onto a camera track, subscene track, and cinematic shot track.
#jira UE-45773
#jira UE-45387
Change 3550729 by Max.Chen
Sequence Recorder: Add interpolation and tangent settings for animation recording keys
#jira UE-46146
Change 3551558 by Nick.Darnell
UMG - Tweaking some designer elements, playing around with a 'real-time' mode. Also fixing a bug with decendant widgets in named slots not triggering design effects like updating the widget switcher.
#jira UE-39404
Change 3551671 by Joe.Graf
Merged over the change to expose more of dormancy to Blueprints (UE-46240)
Change 3551684 by Cody.Albert
Removing some unused code from map check
Change 3552673 by Yannick.Lange
Fix crash select all levels with folders in the treewidget.
Change 3552960 by Yannick.Lange
Frontend filter for files referenced by any level in the project and a filter for not referenced by any level.
#jira UE-22153
Change 3553727 by Max.Chen
Sequencer: Capture thumbnail before pre save so that the thumbnail isn't captured with the evaluation in a reset state.
#jira UE-47693
Change 3553778 by Arciel.Rekman
Cache check for compiler availability (UE-47699).
- Fixes performance drop in the blueprint editor. Better than caching in a particular source accessors because affects all accessors (incl. Mac which isn't cached either) and reduces calls.
Change 3554128 by Matt.Kuhlenschmidt
Null out GEditor after it has been destoyed. Any modules that access GEditor can now properly check for a null geditor instead of blindly accessing it
Change 3554266 by Max.Chen
Movie Scene Capture: Override cinematic mode in the movie scene capture.
#jira UE-33473
Change 3555563 by Alexis.Matte
Fix static mesh screensize lost when converting from an old version. The conversion require valid extended bounds which was converted after the LOD screensize.
#jira UE-47697
Change 3555755 by Yannick.Lange
VR Editor: Add exit button inside new menu called "system" on radial menu. Still needs correct icons.
Change 3556334 by Matt.Kuhlenschmidt
Added a new type of property editor called a property row generator. This is essentially a details panel that can generate each unique row but adds no visual styling around the property editors and does not generate a master tree widget for the properties. This is useful for creating proper widgets for properties and displaying them in a UI that is not the details panel
Change 3558100 by Matt.Kuhlenschmidt
PR #3823: Incorrect comment syntax in ini files (Contributed by projectgheist)
Change 3558240 by Lauren.Ridge
Move floor in material editor preview scene based on preview mesh
Change 3558242 by Matt.Kuhlenschmidt
Fix console variables help page showing only rendering cvars by default
Change 3558243 by Matt.Kuhlenschmidt
Fix static analysis
Change 3558342 by Alexis.Matte
Make the code to find the best sample rate to import fbx animation more simple and more robust. The code need to be able to support all the possible case.
Add a lot of animation sample rate automation tests
#jira UE-47342
Change 3558515 by Yannick.Lange
VR Editor: Changed icon for system and exit button on radial menu.
Change 3558973 by Matt.Kuhlenschmidt
Fix camera placement of the default map
Change 3559230 by Arciel.Rekman
Do not link CEF3 for servers (UE-47721).
Change 3559572 by Arciel.Rekman
Linux: make sure the engine is rebuilt during the updates.
Change 3560197 by Arciel.Rekman
Linux: cosmetic cleanup of an old code.
Change 3560904 by Max.Chen
Movie Scene Capture: Expose "Open Folder" hyperlink while capturing.
Change 3561213 by Matt.Kuhlenschmidt
Enable USD by default in QA game for testing
Change 3561928 by Matt.Kuhlenschmidt
Fix green glowing in the mateiral editor
#jira UE-47826
Change 3562259 by Arciel.Rekman
Made FPlatformMisc::DebugBreak() not inlined on Linux.
- Saves a great deal of binary size without really impacting a performance.
Change 3562630 by Arciel.Rekman
Make Linux editor compilable with clang 5.0-rc1.
Change 3563564 by Yannick.Lange
Fix Cube Static Mesh Thumbnail renders black. Cleared out the thumbnail, causing it to create the correct new one.
#jira UE-47777
Change 3564529 by Jamie.Dale
Const-correct UScriptStruct::ExportText
Change 3564972 by Alexis.Matte
Fix staticmesh merge applying build scale multiple time Git PR #3807
#jira UE-47645
Change 3565253 by Arciel.Rekman
Fix "Anim to Play" being inaccessible after import (UE-47885).
- The variable was not initialized and could remain false on Linux.
#jira UE-47885
Change 3565293 by Jamie.Dale
Merged "Categories" into the main Output Log filter list
Change 3565939 by Alexis.Matte
Back out revision 3 from //UE4/Dev-Editor/Engine/Source/Developer/MeshMergeUtilities/Private/MeshMergeHelpers.cpp
Change 3566081 by Alexis.Matte
Fix staticmesh merge applying scale twice PR #3807
#jira UE-47645
Change 3566232 by Matt.Kuhlenschmidt
Fix edit inline properties not clipping properly
#jira UE-47775
[CL 3567077 by Matt Kuhlenschmidt in Main branch]
2017-08-01 15:55:31 -04:00
DetailsViewArgs . DefaultsOnlyVisibility = EEditDefaultsOnlyNodeVisibility : : Hide ;
2015-04-10 02:12:48 -04:00
DetailsViewArgs . HostCommandList = InCommandList ;
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3237992)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3136778 on 2016/09/22 by Max.Preussner
Merged Dev-Main to Dev-Sequencer
Change 3179199 on 2016/10/29 by Max.Chen
Sequencer: Fade only oin the current player context, not on all worlds.
Copy from Release-4.14. Copied fix to FadeTrackInstance to FadeTemplate.
#jira UE-37939
Change 3179340 on 2016/10/29 by Max.Preussner
PS4Media: Fixed audio track dropping first frame
Change 3180391 on 2016/10/31 by Max.Preussner
UdpMessaging: nulling out message processor in destructor
Change 3180459 on 2016/10/31 by Max.Chen
Sequencer: Fix copy/paste crash in UMG.
Change 3180607 on 2016/10/31 by Andrew.Rodham
UMG: Fixed parent bindings not being adhered to correctly. Fixed slot widgets that get recreated not having their object bindings updated.
#jira UE-38021
#jira UE-38018
Change 3181405 on 2016/11/01 by Lina.Halper
#ANIM/SEQUCNER: sequencer animation blending support including additive
- created multiway blend node - extension of two way blend
- created anim sequencer instance to be used in sequencer for blending multiple animations and additives
- hooked up to sequencer track players
- renamed AnimationNode_TwoWay to AnimNode_TwoWay to be consistent with other node names.
- Make sure you can't choose montage when selecting animation in Sequencer
- Fixed Anim BP playing with multi group montages
#code review: Max.Chen
Change 3181870 on 2016/11/01 by Andrew.Rodham
Sequencer: Made sequence pointers stored in sequence template instances weak object ptrs
- We can't guarantee the lifetime of the objects here
#jira UE-38051
Change 3182851 on 2016/11/02 by Andrew.Rodham
Sequencer: Assert that a GetScriptStructImpl has been overridden correctly on templates
Change 3182852 on 2016/11/02 by Andrew.Rodham
Sequencer: Added 'Restore Animated State' command (CTRL+R) and button to sequencer toolbar
Change 3183161 on 2016/11/02 by Max.Preussner
Media: Added supported file extensions & URL schemes
Change 3183476 on 2016/11/02 by Max.Preussner
Merged Dev-Main to Dev-Sequencer
Change 3185181 on 2016/11/03 by Max.Chen
Sequencer: Refactor general options button menu into play options and select options. Add Select Sections in Selection Range and Select All in Selection Range.
Fix issues with convert to spawanble and convert to possessable. Convert to possessable now deletes the spawn track so that it's not left lying around, which when deleted would end up deleting the converted possessable actor.
#jira UE-37854
Change 3185184 on 2016/11/03 by Max.Chen
Sequencer: Add hotkey to toggle camera cut track lock/unlock camera.
Change 3185409 on 2016/11/03 by Max.Chen
Sequencer: Fix crash in skeletal mesh section drawing.
#jira UE-38090
Change 3185444 on 2016/11/03 by Max.Chen
UMG: Expose label browser for UMG
Change 3185662 on 2016/11/03 by Max.Chen
Sequencer: Paste track fixes.
- Loosen restrictions on paste track destination. This allows the paste to operate on spawnables and on properties that don't have an explicit Set function.
- Allow pasting onto all types of tracks, not just property tracks.
- Fix when pasting the copied tracks onto multiple objects.
Tested pasting transform tracks from possessable to spawnables.
Tested pasting skeletal animation tracks from spawnable to possessables.
#jira UETOOL-1206
Change 3185920 on 2016/11/03 by Andrew.Porter
Adding test content for multiple audio video tracks.
Change 3186404 on 2016/11/03 by Max.Preussner
Merged Dev-Main to Dev-Sequencer
Change 3187957 on 2016/11/04 by Max.Preussner
MediaAssets: Exposed CanPlaySource in BP
Change 3187988 on 2016/11/05 by Max.Preussner
Fixed documentation
Change 3188035 on 2016/11/05 by Max.Chen
Sequencer: Show camera name in cinematic viewport.
#jira UE-28115
Change 3188603 on 2016/11/07 by Max.Preussner
WmfMedia: Added missing nullptr check
Change 3188788 on 2016/11/07 by Max.Preussner
MediaPlayerEditor: Removed property buttons from PlatformMediaSource customization (UE-37948)
#jira UE-37948
Change 3188808 on 2016/11/07 by Max.Preussner
MediaAssets: Moved media player implementation into reusable class
Also moved overlay text handling into separate asset.
Change 3188919 on 2016/11/07 by Max.Preussner
Media: Changed the handling of invalid media and media that failed to open (UE-38014)
#jira UE-38014
Change 3189112 on 2016/11/07 by Max.Preussner
WmfMedia: Added rudimentary H.265 HEVC support for Windows 10 (UE-38324)
#jira UE-38324
Change 3189376 on 2016/11/07 by Max.Preussner
WmfMedia: Removed Windows specific code from factory module
Change 3189381 on 2016/11/07 by Max.Preussner
Atrac9Audio: Fixed log category
Change 3189497 on 2016/11/07 by Max.Preussner
Media: Added binary sinks support
Change 3189666 on 2016/11/07 by Max.Chen
Curve Editor: Add option to show time in frame numbers
#jira UE-27210
Change 3190339 on 2016/11/08 by Max.Preussner
MediaAssets: Removed SetDesiredPlayerName since the field is public
Change 3190342 on 2016/11/08 by Andrew.Porter
Adding sequencer test content for animation blueprint
Change 3190398 on 2016/11/08 by Max.Preussner
Media: Renamed binary tracks to metadata tracks
Change 3190458 on 2016/11/08 by andrew.porter
Updating Skeleton with new slots.
Change 3191167 on 2016/11/08 by Max.Chen
Sequencer: Fix crash in validating paste tracks buffer. Validate the tracks instead of actually pasting into temp.
#jira UE-38353
Change 3191336 on 2016/11/09 by Andrew.Rodham
Slate: Added the ability to set and retrieve a host tab manager from a details view
Change 3191338 on 2016/11/09 by Andrew.Rodham
Editor: Added the ability to extend default layouts
- FLayoutExtender can be used to provide basic tab layout extensions on default themes.
- This can be used by external plugins to inject tabs to other interfaces where necessary.
- Currently this is supported by the blueprint editor's unified component layout, and the level editor layout.
Change 3191346 on 2016/11/09 by Andrew.Rodham
Sequencer: Added new (experimental) ActorSequence module and editor
- Sequences can now be added to actors via the UActorSequenceComponent.
- An embedded sequencer will appear on details panels, with the option to break it out into a tab.
- Separated common playback elements from ULevelSequencePlayer into UMovieSceneSequencePlayer, from which specific players can derive.
- The majority of level editorintegration with sequencer has been separated out into a separate singleton class that can manage multiple sequencers.
- All movie scene data now defaults to instanced, such that it can be duplicated and instanced correctly.
- Added read-only mode for sequencer which is used for actor sequence components that come from a blueprint archetype to prevent erroneous editing.
Change 3191387 on 2016/11/09 by Andrew.Rodham
Orion: Fixed deprecation warnings
Change 3191388 on 2016/11/09 by Andrew.Rodham
Orion: Added dependency on MovieScene module
Change 3191403 on 2016/11/09 by Andrew.Rodham
Sequencer: Fix initialization order warning
Change 3191428 on 2016/11/09 by Andrew.Rodham
Sequencer: Added missing include
Change 3191510 on 2016/11/09 by Andrew.Rodham
Header include fixes
Change 3191599 on 2016/11/09 by Max.Chen
Sequencer: Add option to lock the playback range per movie scene. The toggle is stored as editor only and should be a saved value so that it can persist as the asset is passed from user to user.
#jira UE-34677
Change 3191664 on 2016/11/09 by Andrew.Rodham
Sequencer: Ensure keyframe handlers are only added once
Change 3192373 on 2016/11/09 by Max.Preussner
MediaAssets: Fixed regression: playlists no longer open
Change 3192408 on 2016/11/09 by Max.Preussner
MediaAssets: Fixed OpenPlaylistIndex crashing
Change 3192878 on 2016/11/09 by Max.Chen
Camera Rig: Fix log spam trying to unregister component.
#jira UE-38435
Change 3192989 on 2016/11/10 by Andrew.Rodham
Slate: Added constructor to appease old VS2013 compiler warning about non-constructible type
Change 3192991 on 2016/11/10 by Andrew.Rodham
Sequencer: Moved lambda out-of-line to fix static analysis warning
Change 3193420 on 2016/11/10 by Max.Preussner
MediaAssets: Replaced CopyToResolveTarget with new TransitionTarget API
Change 3193478 on 2016/11/10 by Max.Chen
Sequencer: Moved Fix Actor References back under the General Options menu.
Change 3193870 on 2016/11/10 by Max.Preussner
MediaPlayerEditor: Removed additional buttons in per-platform overrides (UE-37948)
#jira UE-37948
Change 3193873 on 2016/11/10 by Lina.Halper
- Sequencer fix with anim instance reinit
- Fixed TMap issue with memory by changing to pointer from ref.
#code review: Max.Chen
Change 3194184 on 2016/11/10 by Max.Chen
Sequencer: Only expand section when setting keys when there are keys. Otherwise if you set the default value while the time position is outside of the section range, the section will expand, which seems undesirable.
Change 3194187 on 2016/11/10 by Max.Chen
Sequencer: Backwards compatibility if a track no longer supports multiple rows, its sections are split to other duplicate tracks.
Change 3194191 on 2016/11/10 by Max.Chen
Sequencer: Add audio volume and pitch curves.
#jira UE-30009
Change 3194256 on 2016/11/10 by Max.Chen
Merging //UE4/Dev-Main to Dev-Sequencer (//UE4/Dev-Sequencer)
Change 3194282 on 2016/11/10 by Max.Chen
Movie Capture: Add some frame rate bounds. Max frame rate for recording is 200. Min is 1.
#jira UE-38502
Change 3194355 on 2016/11/11 by Max.Chen
Sequencer: Minimum handle size for time slider scrubber.
#jira UE-34676
Change 3194767 on 2016/11/11 by Max.Chen
Sequencer: Mark duplicated tracks as changed so that their template gets regenerated.
Change 3195094 on 2016/11/11 by Max.Preussner
Media: Removing game thread dependencies
This change removes game thread dependencies from all media players so that we can use the media framework for startup movies where the game thread is block while loading the Engine. The players now have two new methods, TickPlayer and TickVideo, which need to be called from the external code that owns the players. On the Engine side, this is taken care of by UMediaPlayer, which calls TickPlayer from the game thread and TickVideo from the render thread. In startup movies, this will be taken care of by a special thread.
AvfMedia: This change does not fully remove game thread dependencies in AvfMediaPlayer yet. There are some async callbacks scheduled to execute on the game thread that need to be refactored. The execution of these events should be performed in TickPlayer instead.
All platform owners, please review these changes for your platform and make sure that everything still works. I have not had time to test all platforms yet.
Change 3195396 on 2016/11/11 by Max.Preussner
AvfMedia: Removed remaining game thread dependencies
Change 3195670 on 2016/11/11 by Max.Preussner
MediaUtils: Renamed function
Change 3195690 on 2016/11/11 by Max.Preussner
MediaAssets: MediaPlayerBase instance is now a field instead of pointer.
Change 3195802 on 2016/11/11 by Max.Preussner
Media: Removed UMediaPlayer::GetNativePlayer
Change 3195843 on 2016/11/11 by Max.Preussner
Kismet: Fixed non-unity
Change 3195851 on 2016/11/11 by Max.Preussner
Fixed typo.
Change 3195854 on 2016/11/11 by Max.Preussner
MediaUtils: Added missing forward declaration
Change 3195937 on 2016/11/11 by Max.Chen
Media: CIS Fix
Change 3196120 on 2016/11/13 by Max.Chen
Sequencer: Weight curve for skeletal animation section.
Changed skeletal template evaluation so that it works with multiple animation tracks. The shared track clears all the weights, the section gathers up all the data, and the shared track evaluates the data. Otherwise, the multiple track evaluations would conflict with each other in setting states back and forth.
#jira UE-38374, UEFW-128
Change 3196265 on 2016/11/13 by Max.Chen
Sequencer: Fix audio waveforms so that they're regenrated when audio start time is changed.
#jira UE-38543
Change 3196421 on 2016/11/14 by Andrew.Rodham
Sequencer: Fixed modified tracks not being written to the transaction buffer when replacing object bindings
#jira UE-38423
Change 3197131 on 2016/11/14 by Max.Chen
Sequencer: Null checks.
#jira UE-38570, UE-38593
Change 3197209 on 2016/11/14 by Max.Chen
Cine Camera: Reset focus smoothing interpolation on PostEditChangeProperty. This fixes an issue where if you enable focus smoothing, the manual focus distance that is input isn't used since the interpolation happens from the last current focus distance.
#jira UE-27055
Change 3198691 on 2016/11/15 by Max.Chen
Sequence Recorder: Optimize record transforms by setting all the keyframes at once. Also, added option to toggle removing redundant keyframes from the recorded tracks.
#jira UE-38489
Change 3198711 on 2016/11/15 by andrew.porter
Adding test content for MEdia Framework Track Switching.
Change 3199174 on 2016/11/15 by Lina.Halper
Sequencer backward compatibility fix with root motion
Make sure you could remove root motion fine
#jira : UE-38591
Change 3199260 on 2016/11/15 by tim.gautier
Updated QA-Media_TrackSwitch - changed Trigger Collision to only detect overlap from PlayerPawn
Change 3199663 on 2016/11/15 by Max.Chen
Anim Sequencer: Fix deprecation warning for bCanUseParallelUpdateAnimation. Updated to use bUseMultiThreadedAnimationUpdate.
Change 3199727 on 2016/11/15 by Max.Chen
Matinee to Level Sequence: Set default scale when converting matinee move tracks to sequencer.
#jira UE-38688
Change 3199847 on 2016/11/16 by Max.Chen
Sequencer: Add menu option to reduce keys of all sections in the current level sequence
Change 3200351 on 2016/11/16 by Max.Chen
Level Editor/Sequencer: Fixes to allow for component keyframing. The transform track operates on the components that changed, not the actor. The level editor viewport broadcasts begin/end movement on the components that changed.
#jira UE-38649, UE-38646
Change 3200474 on 2016/11/16 by Max.Chen
Sequencer: Move reduce keys to section context menu.
Change 3200888 on 2016/11/16 by Max.Chen
Sequencer: Clamp skeletal animation evaluation remapping of time to section bounds. This is necessary when evaluating nearest is enabled and the time is beyond the section bounds.
Also, set the shared track template to have higher priority so that it always clears/initializes weights before each section's template adds section params for evaluation.
Change 3201633 on 2016/11/17 by Max.Chen
Matinee to Level Sequence: Fix matinee 3d scale track conversion to level sequence.
Also, added paste matinee vector track to sequencer's vector track.
#jira UE-38688
Change 3202458 on 2016/11/17 by Max.Chen
Sequencer: Fix track editor commands getting unregistered when switching from one level sequence to another. The sequence of events is: track editor commands get bound when a level sequence is edited. When switching to another level sequence, the existing track editor is released after the new one is registered, causing the commands to ultimately get unbound.
#jira UE-38693
Change 3202606 on 2016/11/17 by Max.Chen
Actor Sequence: Null check in CanPossessObject for a component's owner.
#jira UE-38514
Change 3203522 on 2016/11/17 by Max.Chen
Sequencer: Audio start time deprecated in favor of start offset which is an offset into the audio clip. Also, limit the start offset to positive values since you can just crop into the audio clip by dragging the section's start time.
Audio track no longer supports multiple rows (should have been checked in along with the audio volume and pitch multiplier curves).
#jira UE-38549, UE-38554, UE-38547
Change 3203863 on 2016/11/18 by Andrew.Rodham
Engine: Ensure that world settings actor is considered by network object list when sorting the actor list for a level
Change 3203865 on 2016/11/18 by Andrew.Rodham
Sequencer: Fixed play rate track interaction between servers and clients
- The logic for evaluation was previously flawed (it would only run in editor builds). Play rate is now only evaluated on servers and standalone clients, with the time dilation being replicated to network clients.
Change 3203900 on 2016/11/18 by Andrew.Rodham
Sequencer: Changed CreateLevelSequencePlayer to create a transient level sequence actor
#jira UE-37277
Change 3205038 on 2016/11/18 by Max.Preussner
Slate: Corrected comment
Change 3205046 on 2016/11/18 by Max.Preussner
WmfMedia: Added missing nullptr check
#jira UE-38825
Change 3205073 on 2016/11/18 by Max.Chen
Sequencer: Fix audio upgrade case when start time is 0.
Change 3205277 on 2016/11/19 by Max.Preussner
Merging //UE4/Dev-Main to Dev-Sequencer (//UE4/Dev-Sequencer)
Please take a look at SequencerEdMode.cpp and Sequencer.cpp. I ended up accepting latest Dev-Sequencer, which seemed to be the right thing to do.
Change 3205465 on 2016/11/20 by Max.Preussner
MovieScene: Fixed non-unity build
Change 3205467 on 2016/11/20 by Max.Preussner
Engine: Fixed spelling
Change 3206264 on 2016/11/21 by Max.Preussner
Kismet: Added missing forward declaration
Change 3206493 on 2016/11/21 by Max.Preussner
PS4Media: Added remaining changes for removing game thread dependencies
Change 3206512 on 2016/11/21 by Andrew.Porter
Adding test content to QAGame for Sequencer animation weight blending.
Change 3206529 on 2016/11/21 by Lina.Halper
Fixed anim notifes to work in Sequencer Instance
- Give proper delta in editor preview
- Make sure not to recreate AnimInstance
#jira: UE-38849
#code review:Max.Chen
Change 3206552 on 2016/11/21 by Max.Preussner
QAGame: Enabled looping by default
Change 3207462 on 2016/11/22 by andrew.porter
QAGame: updating QA-Sequencer with changes to animation blending test cases
Change 3207499 on 2016/11/22 by tim.gautier
Added Streaming Sources, added Streaming Source options for BP_MediaPlayer. Specified Media Option Categories with BP_MediaPlayer to clean up details panel.
#jira none
Change 3207571 on 2016/11/22 by Max.Chen
Curve Editor: Expose curve editor settings to Editor Preferences.
#jira UE-38907
Change 3207690 on 2016/11/22 by Max.Chen
Sequencer: Speculative crash fix for switching UMG animations.
#jira UE-29333
Change 3207744 on 2016/11/22 by tim.gautier
Removed unnecessary nodes from BP_MediaPlayer. Created a variable visible in the Details Panel to allow the user to specify a URL to Stream media without specifying a Source in-editor.
#jira none
Change 3207935 on 2016/11/22 by Max.Chen
Sequencer: Temporary fix for skeletal animation track scrubbing. Verified that anim notifies still fire when playing and scrubbing.
#jira UE-38964
Change 3207938 on 2016/11/22 by Max.Chen
Sequence Recorder: Set reduce keys back to true so that there's no change in current behavior. This should be toggled off for performance reasons but in general is nice to have reduced keys.
Change 3207950 on 2016/11/22 by Lina.Halper
- Fixed so that mesh space additive won't show up in sequencer
- Added warning if you change type later or existing ones
#jira: UE-38062?
Change 3208278 on 2016/11/22 by andrew.porter
QAGame: Adjusting level blueprint for test case.
Change 3208285 on 2016/11/22 by andrew.porter
QAGame: adding SequencerBP animation blueprint.
Change 3208538 on 2016/11/23 by Max.Chen
Actor Sequence: Fix plugin filename.
Change 3208916 on 2016/11/23 by Max.Chen
Sequencer: Fix material parameter initialization so that the value is retrieved from the material instance and not the parent material.
#jira UE-34317
Change 3208924 on 2016/11/23 by Max.Chen
Save As: Cancel should not save over the existing asset. It should just return.
Change 3208939 on 2016/11/23 by andrew.porter
QAGame: reset some content back to its default state for testing
Change 3209053 on 2016/11/23 by Max.Chen
Sequencer: Ensure the section id is unique.
Change 3209161 on 2016/11/23 by Max.Chen
Save As: Follow up fix for cancelling save as.
Change 3210540 on 2016/11/26 by Max.Preussner
WmfMedia: Reworked fallback stride calculations to fix issues with some exotic video formats
Change 3210546 on 2016/11/26 by Max.Preussner
WmfMedia: Fixed NV12 vertical buffer alignment
Change 3211567 on 2016/11/28 by Max.Preussner
Merging //UE4/Dev-Main to Dev-Sequencer (//UE4/Dev-Sequencer)
Step 1 of 2
Change 3212408 on 2016/11/28 by Max.Preussner
Fixed fallout from Dev-Main merge
Change 3212456 on 2016/11/28 by Max.Preussner
ActorSequenceEditor: Removed monolithic header dependencies
Change 3212562 on 2016/11/28 by Max.Preussner
ActorSequenceEditor: Removed monolithic header usage
Change 3212649 on 2016/11/28 by Max.Chen
Fix CIS
Change 3212671 on 2016/11/28 by Max.Chen
Sequencer: Add option to restore to the pre animated state.
#jira UE-38862
#2953
Change 3212672 on 2016/11/28 by Max.Chen
Sequencer: Select object binding node corresponding to selected components and vice versa (select components in level when object binding node is selected)
Change 3212673 on 2016/11/28 by Max.Chen
Sequencer: Follow-up fix for component keyframing - key area needs to be updated by component.
#jira UE-38649
Change 3212676 on 2016/11/28 by Max.Chen
Level Editor: PostEditMove should only be called on the actor if it is moved.
#jira UE-38646
Change 3212688 on 2016/11/29 by Max.Chen
Sequencer: Force refresh event parameters customization when struct contents change but not a full refresh when struct child contents change.
#jira UE-39094
Change 3212831 on 2016/11/29 by Andrew.Rodham
Disabled ActorSequenceEditor plugin by default while it's experimental
Change 3213219 on 2016/11/29 by Max.Preussner
AvfMedia: Added missing include
Change 3213333 on 2016/11/29 by Andrew.Rodham
Sequencer: Added the ability to override bindings when playing back a level sequence on a level sequence actor
#jira UETOOL-746
Change 3213905 on 2016/11/29 by Max.Preussner
More IWYU fixes for macOS
Change 3214203 on 2016/11/29 by Michael.Gay
Some demo files to test Sequencer timing.
Change 3214205 on 2016/11/29 by Max.Preussner
More IWYU fixes for macOS
Change 3214548 on 2016/11/29 by Max.Preussner
More IWYU fixes for macOS
Change 3214564 on 2016/11/29 by Max.Preussner
More IWYU fixes
Change 3214567 on 2016/11/29 by Max.Chen
More IWYU fixes for Win32
Change 3214573 on 2016/11/29 by Max.Preussner
More IWYU fixes
Change 3214576 on 2016/11/29 by Max.Preussner
More IWYU fixes
Change 3214621 on 2016/11/30 by Max.Preussner
Atrac9Decoder: Fixed log category declaration
Change 3214630 on 2016/11/30 by Max.Preussner
More IWYU fixes
Change 3214747 on 2016/11/30 by Andrew.Rodham
Sequencer: Fixed shadow variable
Change 3214957 on 2016/11/30 by Andrew.Rodham
Core: Changed Algo::Find to use TElementType
- This allows it to support c style arrays
Change 3215127 on 2016/11/30 by Andrew.Rodham
Sequencer: Made burn-in options and init settings instanced
- This ensures they work correctly when defined on archetypes and blueprints
#jira UE-38645
Change 3215754 on 2016/11/30 by Max.Chen
Sequencer: Fix skeletal animation track evaluating tracks in the wrong time space. Cache the evalulation time and weight value in each section's template and then execute with those values in the shared track's template.
#jira UE-39145
Change 3216603 on 2016/12/01 by Max.Chen
Sequencer: Set audio volume/pitch only if changed.
Change 3216613 on 2016/12/01 by Max.Chen
Sequencer: Add component selector when there are multiple components that have sockets. This fixes a crash when there are multiple components to attach to.
#jira UE-39167
Change 3217175 on 2016/12/01 by Max.Chen
Sequencer: Set skeletal animation track evaluation to be upper bound exclusive. This gives better behavior when two clips butt up against each other since the sections would overlap in time and evaluation would normalize they weighted contribution of each.
#jira UE-37184
Change 3217292 on 2016/12/01 by Max.Chen
Sequencer: Rework upgrading track rows to include overlapping sections. For skeletal animation sections, set weight values based on the evaluation bounds since there was no blending prior to 4.15.
Change 3217860 on 2016/12/01 by Max.Preussner
Media: Fall-through for media options
Change 3217965 on 2016/12/01 by Max.Preussner
MediaAssets: Renamed media option name
Change 3218470 on 2016/12/01 by Max.Chen
Sequencer: Fix start time deprecation value so that negative values are supported.
#jira UE-39259
Change 3218473 on 2016/12/01 by Max.Chen
Sequencer: Fix crash if start seq length is negative.
Change 3219021 on 2016/12/02 by Max.Chen
Sequencer: Add multiply and divide to transform box.
Change 3219374 on 2016/12/02 by Max.Chen
Sequencer: Teleport simulating components when moving them through the transform track. This fixes bugs with recording simulating actors (ie. vehicle game) where recorded actors don't playback with the recorded positions and there are warnings about attempting to move a fully simulated skeletal mesh.
#jira UE-38442, UE-38444, UE-38852
Change 3219638 on 2016/12/02 by Max.Preussner
Projects: Fixed error message
Change 3220584 on 2016/12/03 by Andrew.Rodham
Sequencer: Blueprint generated classes are now always removed from level sequences on load in the editor
- This ensures that old (and perhaps corrupt) BP generated classes are destroyed
#jira UE-39173
Change 3220585 on 2016/12/03 by Andrew.Rodham
Editor: Fix EditInstanceOnly properties that aren't variables on the generated class being editable in blueprints
Change 3220973 on 2016/12/04 by Max.Chen
Fix CIS
Change 3222833 on 2016/12/05 by Max.Chen
Sequencer: Fixed some recorded components not being generated.
#jira UE-34289
Change 3224450 on 2016/12/06 by Max.Chen
Sequencer: Fix convert spawnable to posessable. Logic for setting the parent was mistakenly removed in runtime eval.
#jira UE-39419
Change 3225301 on 2016/12/07 by Max.Preussner
AvfMedia: Added settings class
Change 3225304 on 2016/12/07 by Max.Preussner
Fixed typo
Change 3225723 on 2016/12/07 by Max.Preussner
Fixed typo.
Change 3225871 on 2016/12/07 by Max.Preussner
Forgot to check in
Change 3225932 on 2016/12/07 by Max.Preussner
Added missing header
Change 3226266 on 2016/12/07 by Max.Preussner
Media: Fixed various module dependencies
Change 3226451 on 2016/12/07 by Max.Preussner
Include fixes
Change 3226455 on 2016/12/07 by Max.Preussner
LevelSequence: Added missing include
Change 3227135 on 2016/12/08 by Max.Preussner
Merging //UE4/Dev-Main to Dev-Sequencer (//UE4/Dev-Sequencer)
Change 3227143 on 2016/12/08 by Max.Preussner
LevelSequencer: Added missing header
Change 3227731 on 2016/12/08 by Max.Preussner
LevelSequencer: Added missing include
Change 3228222 on 2016/12/08 by Max.Preussner
UBT: Fixed delay load library support for remote compilation to macOS
Change 3228266 on 2016/12/08 by Max.Preussner
PluginBrowser: Added missing includes
Change 3228755 on 2016/12/09 by Andrew.Rodham
Sequencer: Fixed copy-paste of event keys
- Also added a key-value iterator to TCurveInterface (both const and non-const)
#jira UE-39526
Change 3228777 on 2016/12/09 by Luke.Thatcher
[PLATFORM] [PS4] [!] Reimplement fixes from Fortnite for PS4 media framework in //UE4/Dev-Sequencer.
Based on Original CL 3227137
- Event callback from AvPlayer was enqueing the processing of events over to the player thread, so the "State" member of FPS4MediaPlayer doesn't get updated until the following frame. This breaks cases with multiple calls to SetRate within a single frame.
- Removed time check in FPS4MediavideoSampler::Tick. There are cases where the time check failed, even when a new frame was available from the AvPlayer libs. The video sampler now always calls sceAvPlayerGetVideoDataEx. This returns immediately if no frame data is available.
- FPS4MediaPlayer::Seek was failing if the video is in a playing/paused state. We now restart the stream if a seek command occurs after the video has stopped (e.g. due to EOF reached).
- Shared a single critical section between the FPS4MediaTracks, FPS4MediaVideoSampler and FPS4MediaPlayer objects. Fixes deadlocks between the decoder/player threads where each will be waiting on each others' critical section.
[~] Enabled debug warnings from AvPlayer library in non-shipping builds.
[~] Changed log levels of UE_LOGs to match their severity.
-------------------------
[!] Also, fixed rendering artifacts on videos using a cropping rectangle
- e.g. 1080p videos are actually decoded as 1920x1088, with an extra 8 pixels height, which contained garbage.
- We determine the final media texture size as the size of the cropping rectangle, and use modified UVs during the YCbCr->RGB converstion shader to do the mapping.
Change 3228793 on 2016/12/09 by Andrew.Rodham
Sequencer: Edits to actor sequences now correctly mark their parent blueprints for compilation
#jira UE-38723
Change 3228877 on 2016/12/09 by Luke.Thatcher
[PLATFORM] [PS4] [!] Fix track switching issues in PS4 media player.
- Sony's AvPlayer library does not support switching tracks (audio or video) on-the-fly after a stream has begun playback.
- The higher level UMediaPlayer enables track 0 automatically, which would be committed to the AvPlayer, and therefore lock out other streams.
- Actual track selection is now deferred until the stream is started, after which changing tracks is prohibited.
- Tracks must be selected before calling SetRate for the first time.
#jira UE-37225
Change 3229501 on 2016/12/09 by Max.Preussner
Media: Better display names for media player plug-ins
Change 3229515 on 2016/12/09 by Max.Preussner
MediaPlayerEditor: Sorting player plug-ins alphabetically; consistent display in both media player editor and media source customization
Change 3229716 on 2016/12/09 by andrew.porter
Adding PlayRate sequence to my dev folder
Change 3230554 on 2016/12/12 by Andrew.Rodham
Back out changelist 3220584
- Currently this causes actor instances to fail to load because they are instanced of dead classes. Need to think of a more robust solution here.
#jira UE-39398
Change 3230922 on 2016/12/12 by Max.Preussner
Merging //UE4/Dev-Main to Dev-Sequencer (//UE4/Dev-Sequencer)
Change 3232059 on 2016/12/12 by Max.Preussner
MediaUtils: Better error message for when no suitable media player plug-in was found
Change 3232097 on 2016/12/13 by Max.Preussner
Switch: Temp fix for borked folder name on case-sensitive platforms
Change 3232100 on 2016/12/13 by Max.Preussner
MediaAssets: Split up UMediaSource into UBaseMediaSource
Also added color space related properties
Change 3232101 on 2016/12/13 by Max.Preussner
Media: Started to implement support for color spaces
Change 3232119 on 2016/12/13 by Max.Preussner
MediaAssets: Fixed buffer not recreated if color space changed
Change 3232799 on 2016/12/13 by Max.Preussner
PS4Media: Fixed build
#jira UE-39706
Change 3233170 on 2016/12/13 by Max.Preussner
Merging //UE4/Dev-Main to Dev-Sequencer (//UE4/Dev-Sequencer)
Change 3233250 on 2016/12/13 by Max.Preussner
MediaPlayerEditor: Added separator in track menu
Change 3233309 on 2016/12/13 by andrew.porter
QAGame: Edited text render actors in QA-Media_TrackSwitch
Change 3233439 on 2016/12/13 by Chris.Babcock
Standardize Android media track DisplayName
Change 3233817 on 2016/12/13 by Chris.Babcock
Fix virtual keyboard EditableTextBox update when comitted text matches current text from change updates
#jira UE-39424
#ue4
#mobile
Change 3234421 on 2016/12/14 by Andrew.Rodham
Sequencer: Fixed nullptr crash
Change 3234423 on 2016/12/14 by Andrew.Rodham
Sequencer: Fixed incorrect copying of base-class from compiler rules
Change 3234429 on 2016/12/14 by Andrew.Rodham
Sequencer: Fixed empty space not being added between the last and penultimate segments when required
#jira UE-39442
Change 3234635 on 2016/12/14 by Max.Preussner
MediaAssets: Exposed UTexture properties in UMediaTexture
Change 3234681 on 2016/12/14 by Max.Preussner
MediaAssets: Made MediaTextureResources support -onethread
Change 3234878 on 2016/12/14 by Andrew.Rodham
Sequencer: Fixed crash with "Evaluate Sub Sequences in Isolation" enabled
- This occurred when there were tracks at the root level of the sub sequence, because it would incorrectly hash in the parent ID, rather than just using it directly
Change 3234901 on 2016/12/14 by Max.Preussner
MediaPlayerEditor: Detail customization improvements
Change 3235275 on 2016/12/14 by Chris.Babcock
Fix WMF stream ordering to match other players
#jira UE-39703
#ue4
#mediaframework
Change 3235390 on 2016/12/14 by Max.Preussner
DesktopPlatform: Added IniPlatformName to FPlatformInfo; fixed up indentation
Change 3235402 on 2016/12/14 by Max.Preussner
MediaAssets: Fixed platform player name overrides ignored in packaged builds (UE-39771)
#jira UE-39771
Change 3235667 on 2016/12/14 by Max.Preussner
Media: Moved enums into separate header file, so they can be shared
Change 3235984 on 2016/12/14 by Max.Preussner
Back out changelist 3235667
Change 3236040 on 2016/12/14 by Max.Preussner
Core: Added modulus operator to FTimespan
Change 3236139 on 2016/12/15 by Max.Preussner
Core: Added FTimespan::IsZero
Change 3236527 on 2016/12/15 by Max.Preussner
Fixed initialization order
Change 3237101 on 2016/12/15 by Andrew.Rodham
Sequencer: Skeletal animation and audio tracks now support multiple rows again.
- In practice there were too many edge-cases to account for whilst considering backwards compatability
- The impossible scenario was 2 sections on different rows, but evaluating nearest section - this cannot be represented as separate tracks.
- Reorganised animation runtime template to use execution tokens rather than ::Initialize to ensure that animation operates correctly on the first frame for spawned objects
#jira UE-39442
#jira UE-39725
Change 3237213 on 2016/12/15 by Andrew.Rodham
Sequencer: Fixed crash when setting event key properties
#jira UE-39347
Change 3237255 on 2016/12/15 by Chris.Babcock
Fix Multi with ETC2 and PVRTC selecting ES3.0 instead of 2.0
#jira UE-39839
#ue4
#android
Change 3237294 on 2016/12/15 by Andrew.Rodham
Sequencer: Fixed shadowed variable warnings
Change 3237366 on 2016/12/15 by Max.Preussner
Media: Removed color space changes; we'll do these in material graphs instead
Change 3237436 on 2016/12/15 by Andrew.Rodham
Sequencer: Fixed montages not being stopped for specific animation slots when animation sections were no longer evaluated
#jira UE-39847
Change 3237458 on 2016/12/15 by Andrew.Rodham
Sequencer: Always force regeneration of templates when PIE to eliminate the posibility of combining stale data
Change 3237516 on 2016/12/15 by Max.Preussner
Media: Attempting to fix Crash in fortnite just before exiting onboarding (UE-39841)
#jira UE-39841
Change 3237532 on 2016/12/15 by Max.Preussner
Added missing scope lock
Change 3237991 on 2016/12/16 by Max.Preussner
PS4Media: Fixed build
[CL 3238204 by Max Preussner in Main branch]
2016-12-16 11:17:44 -05:00
DetailsViewArgs . HostTabManager = InTabManager ;
2021-09-07 03:39:26 -04:00
DetailsViewArgs . bShowSectionSelector = true ;
FPropertyEditorModule & PropPlugin = FModuleManager : : LoadModuleChecked < FPropertyEditorModule > ( " PropertyEditor " ) ;
2015-01-30 10:16:55 -05:00
DetailsView = PropPlugin . CreateDetailView ( DetailsViewArgs ) ;
2015-02-06 09:18:48 -05:00
auto IsPropertyVisible = [ ] ( const FPropertyAndParent & PropertyAndParent )
2015-01-30 10:37:32 -05:00
{
2015-02-06 09:18:48 -05:00
// For details views in the level editor all properties are the instanced versions
if ( PropertyAndParent . Property . HasAllPropertyFlags ( CPF_DisableEditOnInstance ) )
2015-01-30 10:37:32 -05:00
{
2015-02-06 09:18:48 -05:00
return false ;
2015-01-30 10:37:32 -05:00
}
2015-02-06 09:18:48 -05:00
return true ;
2015-01-30 10:37:32 -05:00
} ;
2015-02-06 09:18:48 -05:00
DetailsView - > SetIsPropertyVisibleDelegate ( FIsPropertyVisible : : CreateLambda ( IsPropertyVisible ) ) ;
2015-03-13 12:41:36 -04:00
DetailsView - > SetIsPropertyReadOnlyDelegate ( FIsPropertyReadOnly : : CreateSP ( this , & SActorDetails : : IsPropertyReadOnly ) ) ;
2015-02-06 09:18:48 -05:00
DetailsView - > SetIsPropertyEditingEnabledDelegate ( FIsPropertyEditingEnabled : : CreateSP ( this , & SActorDetails : : IsPropertyEditingEnabled ) ) ;
2015-01-30 10:16:55 -05:00
// Set up a delegate to call to add generic details to the view
DetailsView - > SetGenericLayoutDetailsDelegate ( FOnGetDetailCustomizationInstance : : CreateStatic ( & FLevelEditorGenericDetails : : MakeInstance ) ) ;
GEditor - > RegisterForUndo ( this ) ;
2015-01-30 11:54:19 -05:00
ComponentsBox = SNew ( SBox )
2021-05-07 10:04:49 -04:00
. Padding ( FMargin ( 2.0f , 0.0f , 2.0f , 0.0f ) )
2021-06-01 20:19:16 -04:00
. Visibility ( this , & SActorDetails : : GetComponentEditorVisibility ) ;
2015-01-30 10:16:55 -05:00
2021-05-07 10:04:49 -04:00
FModuleManager : : LoadModuleChecked < FSubobjectEditorModule > ( " SubobjectEditor " ) ;
SubobjectEditor = SNew ( SSubobjectInstanceEditor )
2021-05-20 20:14:19 -04:00
. ObjectContext ( this , & SActorDetails : : GetActorContextAsObject )
2021-05-07 10:04:49 -04:00
. AllowEditing ( this , & SActorDetails : : GetAllowComponentTreeEditing )
. OnSelectionUpdated ( this , & SActorDetails : : OnSubobjectEditorTreeViewSelectionChanged )
2021-12-01 21:15:38 -05:00
. OnItemDoubleClicked ( this , & SActorDetails : : OnSubobjectEditorTreeViewItemDoubleClicked ) ;
2021-05-07 10:04:49 -04:00
ComponentsBox - > SetContent ( SubobjectEditor . ToSharedRef ( ) ) ;
2022-02-23 15:54:47 -05:00
TSharedRef < SWidget > SubobjectEditorButtonBox = SubobjectEditor - > GetToolButtonsBox ( ) . ToSharedRef ( ) ;
SubobjectEditorButtonBox - > SetVisibility ( MakeAttributeSP ( this , & SActorDetails : : GetComponentEditorVisibility ) ) ;
TFunction < TArray < TTypedElement < ITypedElementDetailsInterface > > ( ) > GetDetailsHandles = [ this ] ( )
{
TArray < TTypedElement < ITypedElementDetailsInterface > > DetailsElements ;
// Regenerate the details handles
if ( bHasSelectionOverride )
{
UTypedElementRegistry * Registry = UTypedElementRegistry : : GetInstance ( ) ;
DetailsElements . Reserve ( SelectionOverrideActors . Num ( ) ) ;
for ( AActor * Actor : SelectionOverrideActors )
{
if ( FTypedElementHandle ActorElementHandle = UEngineElementsLibrary : : AcquireEditorActorElementHandle ( Actor ) )
{
if ( TTypedElement < ITypedElementDetailsInterface > ActorDetailsHandle = Registry - > GetElement < ITypedElementDetailsInterface > ( ActorElementHandle ) )
{
// Check if the actor element does to provide a details object
if ( TUniquePtr < ITypedElementDetailsObject > ElementDetailsObject = ActorDetailsHandle . GetDetailsObject ( ) )
{
DetailsElements . Add ( ActorDetailsHandle ) ;
}
}
}
}
}
else
{
DetailsElements . Reserve ( SelectionSet - > GetNumSelectedElements ( ) ) ;
SelectionSet - > ForEachSelectedElement < ITypedElementDetailsInterface > ( [ & DetailsElements ] ( const TTypedElement < ITypedElementDetailsInterface > & InDetailsElement )
{
// Check if the element does to provide a details object
if ( TUniquePtr < ITypedElementDetailsObject > ElementDetailsObject = InDetailsElement . GetDetailsObject ( ) )
{
DetailsElements . Add ( InDetailsElement ) ;
}
return true ;
} ) ;
}
return DetailsElements ;
} ;
TSharedRef < SWidget > ButtonBox = SAssignNew ( ElementSelectionDetailsButtons , UE : : LevelEditor : : Private : : SElementSelectionDetailsButtons , SubobjectEditorButtonBox , MoveTemp ( GetDetailsHandles ) ) ;
DetailsView - > SetNameAreaCustomContent ( ButtonBox ) ;
2020-05-26 12:56:05 -04:00
2015-01-30 10:16:55 -05:00
ChildSlot
[
SNew ( SVerticalBox )
+ SVerticalBox : : Slot ( )
2021-02-02 12:53:57 -04:00
. Padding ( 10.f , 4.f , 0.f , 0.f )
2015-01-30 10:16:55 -05:00
. AutoHeight ( )
[
DetailsView - > GetNameAreaWidget ( ) . ToSharedRef ( )
]
+ SVerticalBox : : Slot ( )
2015-01-30 10:37:32 -05:00
[
SAssignNew ( DetailsSplitter , SSplitter )
2019-12-19 18:07:47 -05:00
. MinimumSlotHeight ( 80.0f )
2015-01-30 10:37:32 -05:00
. Orientation ( Orient_Vertical )
2022-05-09 13:12:28 -04:00
. Style ( FAppStyle : : Get ( ) , " SplitterDark " )
2019-10-01 20:41:42 -04:00
. PhysicalSplitterHandleSize ( 2.0f )
2015-01-30 10:37:32 -05:00
+ SSplitter : : Slot ( )
2015-01-30 10:16:55 -05:00
[
2015-02-06 09:18:48 -05:00
SNew ( SVerticalBox )
+ SVerticalBox : : Slot ( )
. AutoHeight ( )
2021-02-02 12:53:57 -04:00
. Padding ( FMargin ( 0 , 0 , 0 , 1 ) )
2015-02-06 09:18:48 -05:00
[
2015-03-12 15:11:32 -04:00
SNew ( SActorDetailsUneditableComponentWarning )
. Visibility ( this , & SActorDetails : : GetUCSComponentWarningVisibility )
. WarningText ( NSLOCTEXT ( " SActorDetails " , " BlueprintUCSComponentWarning " , " Components created by the User Construction Script can only be edited in the <a id= \" HyperlinkDecorator \" style= \" DetailsView.BPMessageHyperlinkStyle \" >Blueprint</> " ) )
2015-03-10 14:08:41 -04:00
. OnHyperlinkClicked ( this , & SActorDetails : : OnBlueprintedComponentWarningHyperlinkClicked )
]
+ SVerticalBox : : Slot ( )
. AutoHeight ( )
2021-02-02 12:53:57 -04:00
. Padding ( FMargin ( 0 , 0 , 0 , 1 ) )
2015-03-10 14:08:41 -04:00
[
2015-03-12 15:11:32 -04:00
SNew ( SActorDetailsUneditableComponentWarning )
. Visibility ( this , & SActorDetails : : GetInheritedBlueprintComponentWarningVisibility )
. WarningText ( NSLOCTEXT ( " SActorDetails " , " BlueprintUneditableInheritedComponentWarning " , " Components flagged as not editable when inherited must be edited in the <a id= \" HyperlinkDecorator \" style= \" DetailsView.BPMessageHyperlinkStyle \" >Blueprint</> " ) )
. OnHyperlinkClicked ( this , & SActorDetails : : OnBlueprintedComponentWarningHyperlinkClicked )
]
+ SVerticalBox : : Slot ( )
. AutoHeight ( )
2021-02-02 12:53:57 -04:00
. Padding ( FMargin ( 0 , 0 , 0 , 1 ) )
2015-03-12 15:11:32 -04:00
[
SNew ( SActorDetailsUneditableComponentWarning )
2015-03-10 14:08:41 -04:00
. Visibility ( this , & SActorDetails : : GetNativeComponentWarningVisibility )
2020-01-07 15:54:23 -05:00
. WarningText ( NSLOCTEXT ( " SActorDetails " , " UneditableNativeComponentWarning " , " Native components are editable when declared as a FProperty in <a id= \" HyperlinkDecorator \" style= \" DetailsView.BPMessageHyperlinkStyle \" >C++</> " ) )
2015-03-10 14:08:41 -04:00
. OnHyperlinkClicked ( this , & SActorDetails : : OnNativeComponentWarningHyperlinkClicked )
2015-02-06 09:18:48 -05:00
]
+ SVerticalBox : : Slot ( )
2015-03-11 18:20:12 -04:00
. AutoHeight ( )
[
DetailsView - > GetFilterAreaWidget ( ) . ToSharedRef ( )
]
+ SVerticalBox : : Slot ( )
2015-02-06 09:18:48 -05:00
[
DetailsView . ToSharedRef ( )
]
2015-01-30 10:16:55 -05:00
]
2015-01-30 10:37:32 -05:00
]
2015-01-30 10:16:55 -05:00
] ;
DetailsSplitter - > AddSlot ( 0 )
. Value ( .2f )
[
ComponentsBox . ToSharedRef ( )
] ;
2021-01-11 11:14:52 -04:00
// Immediately update (otherwise we will appear empty)
RefreshSelection ( /*bForceRefresh*/ true ) ;
2015-01-30 10:16:55 -05:00
}
SActorDetails : : ~ SActorDetails ( )
{
Copying //UE4/Dev-Editor to //UE4/Dev-Main (Source: //UE4/Dev-Editor @ 3739701)
#lockdown Nick.Penwarden
#rb none
============================
MAJOR FEATURES & CHANGES
============================
Change 3358367 by tim.gautier
Submitting resaved QAGame assets - Materials, Material Instances, Material Functions and Parameters
Change 3624848 by Jamie.Dale
Added a composite font for the editor (and Slate core)
This is defined in FLegacySlateFontInfoCache::GetDefaultFont and uses our default Roboto fonts (and the culture specific fallback fonts), and is now used as the default font for Slate and the editor.
This change removes all the manual TTF/OTF file references from the various Slate styles, as well as updating 200+ hard-coded font references to use the new default font.
This fixes various rendering issues with fonts in the editor when using different languages, and clears a big barrier for removing the legacy localized fallback font support.
Change 3654993 by Jamie.Dale
'Native' (now called 'FNativeFuncPtr') is now a function pointer that takes a UObject* context, rather than a UObject member function pointer
This avoids ambiguity when binding a native function pointer to a type that doesn't match the context pointer, as you could end up getting a function called with an incorrect 'this' pointer
Breaking changes:
- Native has been renamed to FNativeFuncPtr.
- The signature of a native function has changed (use the DECLARE_FUNCTION and DEFINE_FUNCTION macro pair).
- Use P_THIS if you were previously using the 'this' pointer in your native function.
Change 3699591 by Jamie.Dale
Added support for displaying and editing numbers in a culture correct way
Numeric input boxes in Slate will now display and accept numbers using the culture correct decimal separators. This is enabled by default, and can be disabled by setting "ShouldUseLocalizedNumericInput" to "False" in XEditorSettings.ini (for the editor), or XGameUserSettings.ini (for a game).
#jira UE-4028
Change 3719568 by Jamie.Dale
Allow platforms to override the default ICU timezone calculation
Change 3622366 by Bradut.Palas
#jira UE-46677
Don't allow OnLevelRemovedFromWorld to reset the transaction buffer if we're in PIE mode.
Also, remove one undo barrier in case the event was triggered in PIE mode or else we block the user from undoing previous actions.
Change 3622378 by Bradut.Palas
#jira UE-46590
we have a general bug with detecting the size of the last column, but the clamping prevents it from appearing with the other resize modes. The Content Browser is the only one to use fixed width.
The bug is that the size of the last element is incorrectly reported, after we drag back and forth.
Fixed by not reading the size real time, but reading it from the SlotInfo structure that is created earlier, which holds the correct value.
Change 3622552 by Jamie.Dale
Added support for per-culture sub-fonts within a composite font
This allows you to do things like create a Japanese specific Han sub-font to override the Han characters used in a CJK font (previously you needed to create a localized font asset to achieve this).
Change 3623170 by Jamie.Dale
Fixing warning
Change 3624846 by Jamie.Dale
Composite font cache optimizations
- Converted a typically small sized map to a sorted array + binary search.
- Converted the already sorted range array to use binary search.
- Contiguous ranges using the same typeface are now merged in the cache.
Change 3625576 by Cody.Albert
We now only set the widget tree to transient instead of passing the flag through StaticDuplicateObject. This was causing instanced subobjects to be flagged with RF_DuplicateTransient, preventing them from properly being duplicated when an array of instanced subobjects was modified.
#jira UE-47971
Change 3626057 by Matt.Kuhlenschmidt
Expose EUmgSequencePlayMode to blueprints
#jira UE-49255
Change 3626556 by Matt.Kuhlenschmidt
Fix window size and position adjustment not accounting for primary monitor not being a high DPI monitor when a secondary monitor is. Causes flickering and incorrect window positioning.
#jira UE-48922, UE-48957
Change 3627692 by Matt.Kuhlenschmidt
PR #3977: Source control submenu menu customization (Contributed by Kryofenix)
Change 3628600 by Arciel.Rekman
Added AutoCheckout to FAssetRenameManager for commandlet usage.
Change 3630561 by Richard.Hinckley
Deprecating the version of UFunctionalTestingManager::RunAllFunctionalTests that feature an unused bool parameter, replacing with a new version without that parameter.
Change 3630656 by Richard.Hinckley
Compile fix.
Change 3630964 by Arciel.Rekman
Fix CrashReporterClient headless build.
Change 3631050 by Matt.Kuhlenschmidt
Back out revision 9 from //UE4/Dev-Editor/Engine/Source/Runtime/Slate/Private/Widgets/Layout/SSplitter.cpp
Causes major problems with resizing splitters in editor
Change 3631140 by Arciel.Rekman
OpenAL: update Linux version to 1.18.1 (UETOOL-1253)
- Also remove a hack for RPATH and make it use a generic RPATH mechanism.
- Bulk of the change from Cengiz.Terzibas
#jira UETOOL-1253
Change 3632924 by Jamie.Dale
Added support for a catch-all fallback font within composite fonts
This allows you to provide broad "font of last resort" behavior on a per-composite font basis, in a way that can also work with different font styles.
Change 3633055 by Jamie.Dale
Fixed some refresh issues in the font editor
Change 3633062 by Jamie.Dale
Fixed localization commands being reported as unknown
Change 3633906 by Nick.Darnell
UMG - You can now store refrences to widgets in the same UserWidget. If you need to create links between widgets this is valuable. Will likely introduce new ways to utilize this in the future, for now just getting it working.
Change 3634070 by Arciel.Rekman
Display actually used values of material overrides.
Change 3634254 by Arciel.Rekman
Fix ResavePackages working poorly with projects on other drives (UE-49465).
#jira UE-49465
Change 3635985 by Matt.Kuhlenschmidt
Fixed typo in function name used by maps
PR #3975: Add tooltip to Arrays in Editor (Contributed by projectgheist)
Change 3636012 by Matt.Kuhlenschmidt
PR #3982: Unhide mouse cursor after using Ansel (Contributed by projectgheist)
Change 3636706 by Lauren.Ridge
Epic Friday: Save parameters to child or sibling instance functionality
Change 3638706 by Jamie.Dale
Added an improved Japanese font to the editor
This is only used when displaying Japanese text when the editor is set to Japanese, and uses a font with Japanese-style unified Han characters (our default fallback font uses Chinese-style unified Han characters).
#jira UE-33268
Change 3639438 by Arciel.Rekman
Linux: Repaired ARM server build (UE-49635).
- Made Steam* plugins compile.
- Disabled OpenEXR as the libs aren't compiled (need to be done separately).
(Edigrating CL 3639429 from Release-4.17 to Dev-Editor)
Change 3640625 by Matt.Kuhlenschmidt
PR #4012: FSlateApplication::ProcessReply use &Reply (Contributed by projectgheist)
Change 3640626 by Matt.Kuhlenschmidt
PR #4011: Remove space from filename (Contributed by projectgheist)
Change 3640697 by Matt.Kuhlenschmidt
PR #4010: PNG alpha fix (Contributed by mmdanggg2)
Change 3641137 by Jamie.Dale
Fixed an issue where a culture specific sub-font could produce incorrect measurements during a culture switch
It would fallback to the last resort font for a frame or two while the font cache flushed. This has it update the ranges immediately.
Change 3641351 by Jamie.Dale
Fixing incorrect weights on the Japanese sub-font
Change 3641356 by Jamie.Dale
Fixing inconsistent font sizes between CoreStyle and EditorStyle
Change 3641710 by Jamie.Dale
Fixed pure-virtual function call on UMulticastDelegateProperty
Change 3641941 by Lauren.Ridge
Adding a Parameter Details tab to the Material Editor so users can change default parameter details
Change 3644141 by Jamie.Dale
Added an improved Korean font to the editor
This is only used when displaying Korean text when the editor is set to Korean
Change 3644213 by Arciel.Rekman
Fix the side effects of a fix for UE-49465.
- Default materials were apparently not being found while building DDC (e.g. making an installed build), now they are
and we should not reset loaders on them lest we trigger HasDefaultMaterialsPostLoaded() assert later.
#jira UE-49465
Change 3644777 by Jamie.Dale
Reverting Korean editor font back to NanumGothic as NanumBarunGothic looked too squished
Change 3644879 by tim.gautier
QAGame: Optimized assets for Procedural Foliage testing
- Added camera bookmarks to Stations in QA-Foliage
- Renamed QA-FoliageTypeInst assets to ProcFoliage_Shape
- Fixed up redirectors
Change 3645109 by Matt.Kuhlenschmidt
PR #3990: Git plugin: fix status of renamed, removed, missing, untracked assets (Contributed by SRombauts)
Change 3645114 by Matt.Kuhlenschmidt
PR #3991: Git Plugin: Fix RunDumpToFile() leaking Process handles (Contributed by SRombauts)
Change 3645116 by Matt.Kuhlenschmidt
PR #3996: Git Plugin: run an "UpdateStatus" at "Connect" time to populate the Source Control cache (Contributed by SRombauts)
Change 3645118 by Matt.Kuhlenschmidt
PR #4005: Git Plugin: Expand the size of the Button "Initialize project with Git" (Contributed by SRombauts)
Change 3645876 by Arciel.Rekman
Linux: fix submenus of context menu not working (UE-47639).
- Change by icculus (Ryan Gordon).
- QA-ClickHUD seems to be not affected by this change (it is already broken alas).
#jira UE-47639
Change 3648088 by Jamie.Dale
Fixed some case-sensitivity issues with FText format argument names/pins
These were originally case-sensitive, but that was lost somewhere along the way. This change restores their original behavior.
#jira UE-47122
Change 3648097 by Jamie.Dale
Moved common macOS/iOS localization implementation into FApplePlatformMisc
#jira UE-49940
Change 3650858 by Arciel.Rekman
UBT: improve CodeLite project generator (UE-49400).
- PR #3987 submitted by yaakuro (Cengiz Terzibas).
#jira UE-49400
Change 3651231 by Arciel.Rekman
Linux: default to SM5 for Vulkan.
- Change by Timothee.Bessett.
Change 3653627 by Matt.Kuhlenschmidt
PR #4020: Source Control Submit Files now interprets Escape key as if the user clicked cancel (Contributed by SRombauts)
Change 3653628 by Matt.Kuhlenschmidt
PR #4022: Add New C++ Class dialog remember previously selected module. (Contributed by Koderz)
Change 3653984 by Jamie.Dale
Fixed some redundant string construction
Change 3658528 by Joe.Graf
UE-45141 - Added CMAKE_CXX_COMPILER and CMAKE_C_COMPILER settings to the generated CMake files
Change 3658594 by Jamie.Dale
Zipping in UAT now always uses UTF-8 encoding to prevent Unicode issues
#jira UE-27263
Change 3659643 by Michael.Trepka
Added a call to FCoreDelegates::ApplicationWillTerminateDelegate.Broadcast(); in Mac RequestExit() to match Windows behavior
#jira UETOOL-1238
Change 3661908 by Matt.Kuhlenschmidt
USD asset importing improvements
Change 3664100 by Matt.Kuhlenschmidt
Fix static analysis
Change 3664107 by Matt.Kuhlenschmidt
PR #4051: UE-49448: FPropertyChangedEvent to include TopLevelObjects (Contributed by projectgheist)
Change 3664125 by Matt.Kuhlenschmidt
PR #4036: Add missing GRAPHEDITOR_API (Contributed by projectgheist)
Change 3664340 by Jamie.Dale
PR #3648: Prevent GatherTextFromSource from failing the commandlet (Contributed by projectgheist)
Change 3664403 by Jamie.Dale
PR #3769: Fixes UE-46973 - Drag and Dropping Folders with Names (Contributed by LordNed)
Change 3664539 by Jamie.Dale
PR #3280: Added EditableText functionality (Contributed by projectgheist)
Change 3665433 by Alexis.Matte
When we finish importing morph target we must re-initialise the render resources since we now use GPU morph target.
#jira UE-50231
Change 3666747 by Cody.Albert
Change 3669280 by Jamie.Dale
PR #4060: UE-50455: Verify folder is newly created before removing from tree (Contributed by projectgheist)
Change 3669718 by Jamie.Dale
PR #4061: Clear Content Browser folder search box on escape key (Contributed by projectgheist)
Change 3670838 by Alexis.Matte
Fix crash when deleting a skeletal mesh LOD and the mouse is over the "reimport" button.
#jira UE-50387
Change 3671559 by Matt.Kuhlenschmidt
Update SimpleUI automation test ground truth
#jira UE-50325
Change 3671587 by Alexis.Matte
Fix fbx importer scale not always apply. A cache array was not reset when opening a fbx file.
#jira UE-50147
Change 3671730 by Jamie.Dale
Added PostInitInstance to UClass to allow class types to perform construction time initialization of their instances
Change 3672104 by Michael.Dupuis
#jira UE-50427: Update the volume visibility list of the editor viewport when changing the procedural foliage settings
Change 3674906 by Alexis.Matte
Make sure the export LOD option is taken in consideration when exporting a level or the current level selection
#jira UE-50248
Change 3674942 by Matt.Kuhlenschmidt
Fix static analysis
Change 3675401 by Alexis.Matte
-fix export animation, do not truncate the last frame anymore
-fix the import animation, there was a display issue in the progress bar. Also a floorToInt sometime truncate the last valid frame. We also have a better way to calculate the time increment we use to sample the fbx curves.
#jira UE-48231
Change 3675990 by Alexis.Matte
Remove morph target when doing a re-import, so morph will be remove if they do not exist anymore in the fbx.
This is to avoid driving random vertex with old morph target.
#jira UE-50391
Change 3676169 by Alexis.Matte
When we re-import with dialog the option, "Override Full Name" was set to false and save with the option dialog. We now not set it to false, since it was not use during re-import.
Change 3676396 by Alexis.Matte
Make all LOD 0 name consistent in staticmesh editor
#jira UE-49461
Change 3677730 by Cody.Albert
Enable locking of Persistent Level in Levels tab
#jira UE-50686
Change 3677838 by Jamie.Dale
Replaced broken version of Roboto Light
Change 3679619 by Alexis.Matte
Integrate GitHub pr #4029 to fix import fbx chunk material assignation.
#jira UE-50001
Change 3680093 by Alexis.Matte
Fix the skeletal mesh so the vertex color is part of the vertex equality like with the static mesh.
Change 3680931 by Arciel.Rekman
SlateDialogs: show image icon for *.tga (UE-25106).
- Also reworked the logic somewhat.
#jira UE-25106
Change 3681966 by Yannick.Lange
MaterialEditor post-process preview.
#jira UE-45307
Change 3682407 by Lauren.Ridge
Fixes for material editor compile errors
Change 3682628 by Lauren.Ridge
Content browser filters for Material Layers, Blends, and their instances
Change 3682725 by Lauren.Ridge
Adding filter assets and instance assets to Material Layers and Material Layer Blends. Turning Material Layering on by default
Change 3682921 by Lauren.Ridge
Fix for instance layers not initializing fully
Change 3682954 by Lauren.Ridge
Creating Material Layer Test Assets
Change 3683582 by Alexis.Matte
Fix static analysis build
Change 3683614 by Matt.Kuhlenschmidt
PR #4062: Git Plugin: Fix UE-44637: Deleting an asset is unsuccessful if the asset is marked for add (Contributed by SRombauts)
Change 3684130 by Lauren.Ridge
Allow visible parameter retrieval to correctly recurse through internally called functions. Previous check was intended to prevent function previews from leaving their graph through unhooked inputs, but unintentionally blocked all function inputs.
Change 3686289 by Arciel.Rekman
Remove the pessimization (UE-23791).
Change 3686455 by Lauren.Ridge
Fixes for adding/removing a layer parameter from the parent not updating the child
Change 3686829 by Jamie.Dale
No longer include trailing whitespace in the justification calculation for soft-wrapped lines
#jira UE-50266
Change 3686970 by Lauren.Ridge
Making material parameter preview work for functions as well
Change 3687077 by Jamie.Dale
Fixed crash using FActorDetails with the struct details panel
Change 3687152 by Jamie.Dale
Fixed the row structure tag not appearing in the Content Browser for Data Table assets
The CDO is used to filter these tags, and the CDO was omiting that tag which caused it to be filtered for all Data Tables.
#jira UE-48691
Change 3687174 by Lauren.Ridge
Fix for material layer sub-parameters showing up in the default material parameters panel
Change 3688100 by Lauren.Ridge
Fixing static analysis error
Change 3688317 by Jamie.Dale
Fixed crash using the widget reflector in a cooked game
Editor-style isn't available in cooked games. Core-style should be used instead for the widget reflector.
Change 3689054 by Jamie.Dale
Reference Viewer can now show/copy references lists for nodes with multiple objects, or multiple selected nodes
#jira UE-45751
Change 3689513 by Jamie.Dale
Fixed justification bug with RTL text caused by CL# 3686829
Also implemented the same alignment fix for visually left-aligned RTL text.
#jira UE-50266
Change 3690231 by Lauren.Ridge
Added Material Layers Parameters Preview (all editing disabled) panel to the Material Editor
Change 3690234 by Lauren.Ridge
Adding Material Layers Function Parameter to Static Parameter Compare
Change 3690750 by Chris.Bunner
Potential nullptr crash.
Change 3690751 by Chris.Bunner
Fixed logic on overridden vector parameter retrieval for material instances checking a function owned parameter.
Change 3691010 by Jamie.Dale
Fixed some clipping issues that could occur with right-aligned text
FTextBlockLayout::OnPaint was passing an unscaled offset to SetVisibleRegion, and it also wasn't correctly adjusting the offset for RTL text with left-alignment (which becomes a visual right-alignment)
#jira UE-46760
Change 3691091 by Jamie.Dale
Renamed FTextBlockLayout to FSlateTextBlockLayout to reflect that it's a Slate specific type
Change 3691134 by Alexis.Matte
Make sure we instance also the collision mesh when exporting a level to fbx file.
#jira UE-51066
Change 3691157 by Lauren.Ridge
Fix for reset to default not refreshing sub-parameters
Change 3691192 by Jamie.Dale
Fixed Content Browser selection resetting when changing certain view settings
#jira UE-49611
Change 3691204 by Alexis.Matte
Remove fbx export file version 2010 compatibility. The 2018 fbx sdk refuse to export earlier then 2011.
#jira UE-51023
Change 3692335 by Lauren.Ridge
Setting displayed asset to equal filter asset if no instance has been selected
Change 3692479 by Jamie.Dale
Fixed whitespace
Change 3692508 by Alexis.Matte
Make sure we warn the user that there is nothing to export when exporting to fbx using "export selected" or "export All" from the file menu.
We also prevent the export dialog to show
#jira UE-50973
Change 3692639 by Jamie.Dale
Translation Editor now shows stale translations as "Untranslated"
Change 3692743 by Lauren.Ridge
Smaller blend icons, added icon size override to FObjectEntryBox
Change 3692830 by Alexis.Matte
Fix linux build
Change 3692894 by Lauren.Ridge
Tooltip on "Parent" in material layers
Change 3693141 by Jamie.Dale
Removed dead code
FastDecimalFormat made this redundant
Change 3693580 by Jamie.Dale
Added AlwaysSign number formatting option
#jira UE-10310
Change 3693784 by Jamie.Dale
Fixed assert extracting the number formatting rules for Arabic
It uses a character outside the BMP for its plus and minus sign, so we need these to be a string to handle that.
#jira UE-10310
Change 3694428 by Arciel.Rekman
Linux: make directory watch request a warning so they don't block cooking.
- See https://answers.unrealengine.com/questions/715206/cook-error-on-linux.html
Change 3694458 by Matt.Kuhlenschmidt
Made duplicate keybinding warning non-fatal
Change 3694496 by Alexis.Matte
fix static analysis build
Change 3694515 by Jamie.Dale
Added support for culture correct parsing of decimal numbers
#jira UE-4028
Change 3694621 by Jamie.Dale
Added a variant of FastDecimalFormat::StringToNumber that takes a string length
This can be useful if you want to convert a number from within a non-null terminated string
#jira UE-4028
Change 3694958 by Jamie.Dale
Added a parsed length output to FastDecimalFormat::StringToNumber to allow permissive parsing
You can test this rather than the result if you want to attempt to parse a number from a string that may have other data after it. This also fixes the sign-suffix causing the parsing to fail.
#jira UE-4028
Change 3695083 by Alexis.Matte
Optimisation of the morph target import
- We now compute only the normal for the shape the tangent are not necessary
- The async tasks are create when there is some available cpu thread to avoid filling the memory
- When we re-import the morph target are deleted in bulk avoiding to initialize the morph map for every morphs targets
#jira UE-50945
Change 3695122 by Jamie.Dale
GetCultureAgnosticFormattingRules no longer returns a copy
Change 3695835 by Arciel.Rekman
TestPAL: greatly expanded malloc test.
Change 3695918 by Arciel.Rekman
TestPAL: Added thread priority test.
Change 3696589 by Arciel.Rekman
TestPAL: tweak thread priorities test (better readability).
Change 3697345 by Alexis.Matte
Fix reorder of material when importing a LOD with new material
#jira UE-51135
Change 3699590 by Jamie.Dale
Updated SGraphPinNum to use a numeric editor
#jira UE-4028
Change 3699698 by Matt.Kuhlenschmidt
Fix crash opening the level viewport context menu if the actor-component selection is out of sync
#jira UE-48444
Change 3700158 by Arciel.Rekman
Enable packaging for Android Vulkan on Linux (UETOOL-1232).
- Change by Cengiz Terzibas
Change 3700224 by Arciel.Rekman
TestPAL: fixed a memory leak.
Change 3700775 by Cody.Albert
Don't need to initialize EnvironmentCubeMap twice.
Change 3700866 by Michael.Trepka
PR #3223: Remove unnecessary reallocation. (Contributed by foollbar)
#jira UE-41643
Change 3701132 by Michael.Trepka
Copy of CL 3671538
Fixed issues with editor's game mode in high DPI on Mac.
#jira UE-49947, UE-51063
Change 3701421 by Michael.Trepka
Fixed a crash in FScreenShotManager caused by an attempt to access a deleted FString in async lambda expression
Change 3701495 by Alexis.Matte
Fix fbx importer "import normals" option when mix with "mikkt" tangent build it was recomputing the normals instead of importing them.
#jira UE-UE-51359
Change 3702982 by Jamie.Dale
Cleaned up some localization setting names
These now have consistent names and avoid double negatives. This also fixes needing to restart the editor when changing the "ShouldUseLocalizedPropertyNames" setting.
Change 3703517 by Arciel.Rekman
TestPAL: improved thread test.
- Changed the counter to a normal variable to reduce possible contentions (threads used to share the counter in an early prototype, hence the usage of an atomic).
Change 3704378 by Michael.Trepka
Disable Zoom button on Mac if project requests a resizeable window without it.
#jira UE-51335
Change 3706316 by Jamie.Dale
Fixed the asset search suggestions list closing if you clicked on its scrollbar
#jira UE-28885
Change 3706855 by Alexis.Matte
Support importing animation that has some keys with negative time
#jira UE-51305
Change 3709634 by Matt.Kuhlenschmidt
PR #4146: Null access check on ForceLOD in FViewport::HighResScreenshot (Contributed by projectgheist)
Change 3711085 by Michael.Trepka
Reenabled UBT makefiles on Mac
Change 3713049 by Josh.Engebretson
The ConfigPropertyEditor now generates a unique runtime UClass. It uses the outer name on the property instead of a unique ID as a unique id would generate a new UClass every time (and these are RF_Standalone). I also removed some static qualifiers for Section and Property names which were incorrect.
#jira UE-51319
Change 3713144 by Lauren.Ridge
Fixing automated test error
#jira UE-50982
Change 3713395 by Alexis.Matte
Fix auto import mountpoint
#jira UE-51524
Change 3713881 by Michael.Trepka
Added -buildscw to Mac Build.sh script to build ShaderCompileWorker in addition to the requested target. Xcode passes it to the script when building non-program targets.
#jira UE-31093
Change 3714197 by Michael.Trepka
Send IMM key down event to the main window instead of Cocoa key window, as that's what the Slate's active window is. This solves problems with IMM not working in context menu text edit fields.
#jira UE-47915
Change 3714911 by Joe.Graf
Merge of cmake changes from Dev-Rendering
Change 3715973 by Michael.Trepka
Disable OS close button on Windows if project settings request that
#jira UE-45522
Change 3716390 by Lauren.Ridge
The color picker summoned when double-clicking vector3 nodes now has its intended "do not refresh until OK is clicked" behavior.
#jira UE-50916
Change 3716529 by Josh.Engebretson
Content Browser: Clamp "Assets to Load at Once Before Warning" so it cannot be set below 1
#jira UE-51341
Change 3716885 by Josh.Engebretson
Tracking transactions such as a duplication operation can modify a selection which differs from the initial one. Added package state tracking to restore unmodified state when necessary.
#jira UE-48572
Change 3716929 by Josh.Engebretson
Unshelved from pending changelist '3364093':
PR #3420: Exe's icons and properties (Contributed by projectgheist)
Change 3716937 by Josh.Engebretson
Unshelved from pending changelist '3647428':
PR #4026: Fixed memory leaks for pipe writes and added data pipe writes (Contributed by Hemofektik)
Change 3717002 by Josh.Engebretson
Fix FileReference/string conversion
Change 3717355 by Joe.Graf
Fixed CMake file generation on Windows including Engine/Source/ThirdParty source
Change 3718256 by Arciel.Rekman
TestPAL: slight mod to the malloc test.
- Touch the allocated memory to check actual resident usage.
Change 3718290 by Arciel.Rekman
BAFO: place descriptor after the allocation to save some VIRT memory.
- We're relying on passing correct "Size" argument to Free() anyway, and this modification makes use of that extra information to save on memory for the descriptor.
Change 3718508 by Michael.Trepka
Fixed vsnprintf on platforms that use our custom implementation in StandardPlatformString.cpp to ignore length modifier for certain types (floating point, pointer)
#jira UE-46148
Change 3718855 by Lauren.Ridge
Adding content browser favorite folders. Add or remove folders from the favorite list in the folder's right-click context menu, and hide or show the favorites list in the Content Browser options.
Change 3718932 by Cody.Albert
Update ActorSequence plugin loading phase to PreDefault
#jira UE-51612
Change 3719378 by tim.gautier
QAGame: Renamed multiTxt_Justification > UMG_TextJustification.
Added additional Text Widgets for testing
Change 3719413 by Lauren.Ridge
Resubmit of content browser favorites
Change 3719803 by Yannick.Lange
VREditor: Fix crash with null GEditor
#jira UE-50103
Change 3721127 by tim.gautier
QAGame: Fixed up a ton of redirectors within /Content and /Content/Materials
- Added M_ParamDefaults and MF_ParamDefaults
- Moved legacy MeshPaint materials into /Content/Materials/MeshPaint
- Renamed ColorPulse assets from MatFunction_ > MF_, moved into /Content/Materials/Functions
Change 3721255 by Alexis.Matte
Replace skeletal mesh import option "keep overlapping vertex" by 3 float thresholds allowing the user to control the welding thresholds.
#jira UE-51363
Change 3721594 by Lauren.Ridge
Material Blends now have plane mesh previews in their icons.
Change 3722072 by tim.gautier
QAGame: Updated MF_ParamDefaults - using red channel as roughness
Updated M_ParamDefaults - tweaked Scalar values
Change 3722180 by Michael.Trepka
Updated Xcode project generator to sort projects in the navigator by name (within folders) and also sort the list of schemes so that their order matches the order of projects in the navigator.
#jira UE-25941
Change 3722220 by Michael.Trepka
Fixed a problem with Xcode project generator not handling quoted preprocessor definitions correctly
#jira UE-40246
Change 3722806 by Lauren.Ridge
Fixing non-editor compiles
Change 3722914 by Alexis.Matte
Fbx importer: Add new attribute type(eSkeleton) for staticmesh socket import.
#jira UE-51665
Change 3723446 by Michael.Trepka
Copy of CL 3688862 from 4.18 + one more fix for a deadlock related to window resizing when using IME
Don't do anything in Mac window's windowWillResize: if we're simply chaning the z order of windows. This way we avoid a rare dead lock when hiding the window.
#jira UE-48257
Change 3723505 by Matt.Kuhlenschmidt
Fix duplicate actors being created for USD primitives that specify a custom actor class
Change 3723555 by Matt.Kuhlenschmidt
Fix crash loading the gameplayabilities module
#jira UE-51693
Change 3723557 by Matt.Kuhlenschmidt
Fixed tooltip on viewport dpi scaling option
Change 3723870 by Lauren.Ridge
Fixing incorrect reset to default visibility, adding clear behavior to fields
Change 3723917 by Arciel.Rekman
Linux: fix compilation with glibc 2.26+ (UE-51699).
- Fixes compilation on Ubuntu 17.10 among others.
(Merging 3723489 from //UE4/Release-4.18/... to //UE4/Dev-Editor/...)
Change 3723918 by Arciel.Rekman
Linux: do not test for popcnt presence unnecessarily (UE-51677).
(Merging 3723904 from //UE4/Release-4.18/... to //UE4/Dev-Editor/...)
Change 3724229 by Arciel.Rekman
Fix FOutputDeviceStdOutput to use printf() on Unix platforms.
Change 3724261 by Arciel.Rekman
TestPAL: fix thread priority test (zero the counter).
Change 3724978 by Arciel.Rekman
Linux: fix priority calculation.
- Rlimit values are always positive, so this was completely broken when the RLIMIT_NICE is non-0.
Change 3725382 by Matt.Kuhlenschmidt
Guard against crashes and add more logging when actor creation fails.
Looks like it could be manual garbage collections triggered before conversion is complete so those have been removed
#jira UE-47464
Change 3725559 by Matt.Kuhlenschmidt
Added a setting to enable/disable high dpi support in editor. This currently only functions in Windows.
Moved some files around for better consistency
Change 3725640 by Arciel.Rekman
Fix Linux thread/process priorities.
- Should also speed up SCW on Linux by deprioritizing them less.
Change 3726101 by Matt.Kuhlenschmidt
Fix logic bug in USD child "kind" type resolving
Change 3726244 by Joe.Graf
Added an option to generate a minimal set of targets for cmake files
Added shader and config files to cmake file generation for searching within IDEs
Change 3726506 by Arciel.Rekman
Fix compile issue after DPI change.
Change 3726549 by Matt.Kuhlenschmidt
Remove unnecessary indirection to cached widgets in the hit test grid
Change 3726660 by Arciel.Rekman
Enable DPI switch on Linux.
Change 3726763 by Arciel.Rekman
Fix mismatching "noperspective" qualifier (UE-50807).
- Pull request #4080 by TTimo.
Change 3727080 by Michael.Trepka
Added support for editor's EnableHighDPIAwareness setting on Mac
Change 3727658 by Matt.Kuhlenschmidt
Fix shutdown crash if level editor is still referenced after the object system has been gc'd
#jira UE-51630
Change 3728270 by Matt.Kuhlenschmidt
Remove propertyeditor dependency from editorstyle
Change 3728291 by Arciel.Rekman
Linux: fix for a crash on a headless system (UE-51714).
- Preliminary change before merging to 4.18.
Change 3728293 by Arciel.Rekman
Linux: remove unneeded dependency on CEF.
- Old workaround should no longer be needed, while this dependency makes UE4 depend on a ton of external libs.
Change 3728524 by Michael.Trepka
Copy of CL 3725570
Removed Enable Fullscreen option from editor's Window menu on Mac. Windowed fullscreen mode is currently unavailable on Mac in editor mode as supporting it properly would require it to work with multiple spaces and split screen, which we currently don't handle (requested in UE-27240)
#jira UE-51709
Change 3728875 by Michael.Trepka
Fixed compile error in Mac SlateOpenGLContext.cpp
Change 3728880 by Matt.Kuhlenschmidt
Guard against invalid worlds in thumbnail renderers
Change 3728924 by Michael.Trepka
Don't defer MacApplication->CloseWindow() call. This should fix a rare problem with deferred call executing during Slate's PrepassWindowAndChildren call.
#jira UE-51711
Change 3729288 by Joe.Graf
Added the .idea/misc.xml file generation to speed up CLion indexing
Change 3729935 by Michael.Dupuis
#jira UE-51722: Hide from UI invalid enum values
Change 3730234 by Matt.Kuhlenschmidt
Fix "Game Gets Mouse Control" setting no longer functioning and instead the mouse was always captured.
#jira UE-51801
Change 3730349 by Michael.Dupuis
#jira UE-51324: Clear the UI selection when rebuilding the palette, as we destroyed all items and recreate them, so selection is on invalid item
Change 3730438 by Lauren.Ridge
Cleaning up material layering UI functions
Change 3730723 by Jamie.Dale
Fixed FastDecimalFormat::StringToNumber incorrectly reporting that number-like sequences that lacked digits had been parsed as numbers
#jira UE-51799
Change 3731008 by Lauren.Ridge
Changing Layers and Blends from proxy assets to real assets
Change 3731026 by Arciel.Rekman
libelf: make elf_end() visible (UE-51843).
- This repairs compilation for a case when CUDA is being used.
- Also added some missing files for ARM 32-bit.
Change 3731081 by Lauren.Ridge
New material layer test assets
Change 3731186 by Josh.Engebretson
Adding camera speed scalar setting and Toolbar UI to increase range on camera speed presets
#jira UE-50104
Change 3731188 by Mike.Erwin
Improve responsiveness of Open Asset dialog.
On large projects, there's a noticeable delay when opening and searching/filtering assets.
Stopwatch measurements on my machine (seconds for ~122,000 assets):
before with this CL
ctrl-P 1.4 0.45
search 1.8 0.55
CollectionManagerModule was the main culprit for search/filter slowness.
Open Asset delay was due to filtering out plugin content. We were doing a lot of redundant work for what is essentially a read-only operation.
Change 3731682 by Arciel.Rekman
UnrealEd: Allow unattended commandlets to rename/save packages.
Change 3732305 by Michael.Dupuis
#jira UE-48434 : Only register if the foliage type still has a valid mesh
Change 3732361 by Matt.Kuhlenschmidt
Fix two settings objects being created in the transient package with the same name
#jira UE-51891
Change 3732895 by Josh.Engebretson
https://jira.it.epicgames.net/browse/UE-51706
If a shared DDC is not being used, present a notification to the licensee with a link on how to setup a shared DDC.
Adds DDC notification events for check/put and query for whether a shared DDC is in use.
#jira UE-51706
Change 3733025 by Arciel.Rekman
UBT: make sure new clang versions are invoked.
Change 3733311 by Mike.Erwin
Fix Linux compile warning from CL 3731188
It didn't like mixing && and || without parentheses. Reworked logic to do one test at a time, put cheaper tests first to avoid calls to more expensive IsPluginFolder.
Change 3733658 by Josh.Engebretson
Add a missing #undef LOCTEXT_NAMESPACE
Change 3734003 by Arciel.Rekman
Fix Windows attempting to use printf %ls and crashing at that (UE-51934).
Change 3734039 by Michael.Trepka
Fixed a couple of merge issues in Mac ApplicationCore
Change 3734052 by Michael.Trepka
One more Mac ApplicationCore fix
Change 3734244 by Lauren.Ridge
Fix for accessing Slate window on render thread
Change 3734950 by Josh.Engebretson
Fixing clang warning
Change 3734978 by Jamie.Dale
Relaxed enum property importing to allow valid numeric values to be imported too
This was previously made more strict which caused a regression in Data Table importing
#jira UE-51848
Change 3734999 by Arciel.Rekman
Linux: add LTO support and more.
- Adds ability to use link-time opitimization (reusing current target property bAllowLTCG).
- Supports using llvm-ar and lld instead of ar/ranlib and ld.
- More build information printed (and in a better organized way).
- Native scripts updated to install packages with the appropriate tools on supported systems
- AutoSDKs updated to require a new toolchain (already checked in).
- Required disabling OpenAL due to https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=219089
Change 3735268 by Matt.Kuhlenschmidt
Added support for canvas based DPI scaling.
-Scene canvas is by default not scaled as this could severely impact any game using a canvas based UI
-The debug canvas for stats is always dpi scaled in editor and pie.
-Eliminated text scaling workaround now that the entire canvas is properly scaled
-Enabled canvas scaling in cascade UI
Change 3735329 by Matt.Kuhlenschmidt
Fix potential crash if an asset editor has an object deleted out from under it
#jira UE-51941
Change 3735502 by Arciel.Rekman
Fix compile issue (bShouldUpdateScreenPercentage).
Change 3735878 by Jamie.Dale
Updated FString::SanitizeFloat to allow you to specify the min number of fractional digits to have in the resultant string
This defaults to 1 as that was the old behavior of FString::SanitizeFloat, but can also be set to 0 to prevent adding .0 to whole numbers.
Change 3735881 by Jamie.Dale
JsonValue no longer stringifies whole numbers as floats
Change 3735884 by Jamie.Dale
Only allow enums to import integral values
Change 3735912 by Josh.Engebretson
Improving cook process error/warning handling including asset warning/error content browser links and manual dismiss for cook error notifications
#jira UE-48131
Change 3736280 by Matt.Kuhlenschmidt
Fix 0 dpi scale for canvases
#jira UE-51995
Change 3736298 by Matt.Kuhlenschmidt
Force focus of game viewports in vr mode
Change 3736374 by Jamie.Dale
Fixed some places where input chords were being used without testing that they had a valid key set
#jira UE-51799
Change 3738543 by Matt.Kuhlenschmidt
Better fix for edit condition crashes
#jira UE-51886
Change 3738603 by Lauren.Ridge
Copy over of drag and drop non-array onto array fix
Change 3739701 by Chris.Babcock
Fix crashlytics merge error
#jira UE-52064
#ue4
#android
[CL 3739980 by Matt Kuhlenschmidt in Main branch]
2017-11-06 18:22:01 -05:00
if ( GEditor )
{
GEditor - > UnregisterForUndo ( this ) ;
}
2021-01-11 11:14:52 -04:00
2021-02-18 18:54:03 -04:00
FCoreUObjectDelegates : : OnObjectsReplaced . RemoveAll ( this ) ;
2021-01-11 11:14:52 -04:00
2015-06-19 09:39:22 -04:00
RemoveBPComponentCompileEventDelegate ( ) ;
2015-05-12 12:21:43 -04:00
Copying //UE4/Dev-Framework to //UE4/Dev-Main (Source: //UE4/Dev-Framework @ 3227619)
#rb none
#lockdown Nick.Penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3198996 on 2016/11/15 by Marc.Audy
BeginPlay calls will now be dispatched in a consistent order regardless of placed in persistent level, streamed in level, or dynamically spawned
AActor::BeginPlay is now protected, you should call DispatchBeginPlay instead.
#jira UE-21136
Change 3199019 on 2016/11/15 by Marc.Audy
Mark user-facing BeginPlay calls as protected
Change 3200128 on 2016/11/16 by Thomas.Sarkanen
Dont propgate threaded update flag from UAnimBluepint to CDO if we fail thread safety checks
Also fully deprecated (with _DEPRECATED) older flags in UAnimInstance.
#jira UE-38362 - Disable multi-threaded update when anim blueprints are not thread-safe
Change 3200133 on 2016/11/16 by Martin.Wilson
Fix Set Anim Instance Class not working on the second attempt (InitAnim would not be called)
#jira UE-18798
Change 3200167 on 2016/11/16 by Martin.Wilson
Newly added virtual bones are now selected in the skeleton tree
#jira UE-37776
Change 3200255 on 2016/11/16 by James.Golding
Stop SkeletalMeshTypes.h being globally included
Change 3200289 on 2016/11/16 by Jurre.deBaare
Hidden Material References from Mesh Components Fix
#fix Make sure that in PostEditChangeProp we reset the override material arrays
#misc changed a property comparison to use GET_MEMBER_NAME_CHECKED instead
#jira UE-38108
Change 3200291 on 2016/11/16 by Jurre.deBaare
Imported Alembic skeletal anims have cut-off shadow due to moving out of the bounds
#fix retrieve bounds from alembic archive at various levels (global, transform, meshes) and build archive bounds which is set on the animation sequence
#jira UE-37274
Change 3200293 on 2016/11/16 by Jurre.deBaare
Overlapping UV's cause merge actor texture baking issues
#fix Only look for overlapping UVs if vertex data baking is actually expected/enabled
#jira UE-37220
Change 3200294 on 2016/11/16 by Jurre.deBaare
Scrubbing Playback Speed under Geometry Cache in the details panel is too sensitive
#fix Make the UIMin/Max smaller than the clamping value for proper user interaction while sliding (thanks James for the tip!)
#jira UE-36679
Change 3200295 on 2016/11/16 by Jurre.deBaare
Merge Actor Specific LOD level can be set to 8
#fix Change clamping value and added UI clamp metadata
#jira UE-37134
Change 3200296 on 2016/11/16 by Jurre.deBaare
In Merge Actors if you select use specific Lod level you have access to all the merge material settings
#fix Added edit condition to non-grayed out material settings
#jira UE-36667
Change 3200303 on 2016/11/16 by Thomas.Sarkanen
Fixed diagonal current scrub value in anim curves
#jira UE-35787 - The red time indicator for viewing curves in persona is slightly tilted
Change 3200304 on 2016/11/16 by Thomas.Sarkanen
Rezero is now explicit about what it does (current vs. specified frame)
Also no longer ingores Z-offset (legacy feature - root motion can have any translation, not just 2D).
#jira UE-35985 - Rezero doesn't work by frame
Change 3200307 on 2016/11/16 by Thomas.Sarkanen
Add curve panel to anim BP editor
Also improve curve modification message routing. We were needlessly passing delegates up and down the widget hierarchy and conflating smart name edits with curve edits (key addition etc.).
#jira UE-35742 - Anim Curve Viewer allowed in Anim BP
Change 3200313 on 2016/11/16 by Jurre.deBaare
Animations with materials driven by scalar parameters from curves wont update until persona is closed and reopened
#fix in debug skeletal mesh component just mark the cached parameters dirty every tick
#jira UE-35786
Change 3200316 on 2016/11/16 by Jurre.deBaare
Converted Skeletal To Static Mesh Gets Corrupted When Merged
#fix Assume that the all static meshes will contain valid texture coordinates for channel 0 (which is expect by static mesh code as well)
#misc Ensure that we set the lightmap index for converted skeletal meshes to either an empty one or the highest one used
#jira UE-37988
Change 3200321 on 2016/11/16 by Jurre.deBaare
Scrolling/scroll bar are disabled in Alembic Import window if you scroll a certain way down
#fix change the way the layout is constructed
#jira UE-37260
Change 3200323 on 2016/11/16 by Jurre.deBaare
Toggling sky in Persona does not effect reflections
#fix turn of skylight together with the actual environment sphere
#misc found incorrect copy paste in toggling floor/environment visibility with key stroke
#jira UE-26796
Change 3200324 on 2016/11/16 by Jurre.deBaare
Open Merge Actor menu on right clicking two selected actors
#fix Added option 'Merge Actors' to right-click context menu when having selected one or multiple actors in the viewport
#jira UE-36892
Change 3200331 on 2016/11/16 by Benn.Gallagher
Added support for suspending clothing simulations at runtime, exposed also to blueperints. And aded option in Persona to pause simulations when animations are paused.
#jira UE-38620
Change 3200334 on 2016/11/16 by Jurre.deBaare
Dynamic light settings in Persona viewport cause edges to appear hardened
#fix Makeing the directional light stationary to ups the shadowing quality
#jira UE-37188
Change 3200356 on 2016/11/16 by Jurre.deBaare
Rate scale option for animation nodes in blend spaces
#added Rate scale variable to blend space samples, these rates are now multiplied with the global rate scale during playback
#misc bumped framework object version to update all blendspaces on load
#jira UE-16207
Change 3200380 on 2016/11/16 by Jurre.deBaare
Fix for Mac CIS issues
Change 3200383 on 2016/11/16 by Marc.Audy
Split FAttenuationSettings in to FBaseAttenuationSettings and FSoundAttenuationSettings in preparation for reuse of the base attenuation for force feedback
Change 3200385 on 2016/11/16 by James.Golding
Refactor SkeletalMesh to use same color buffer type as StaticMesh
Change 3200407 on 2016/11/16 by James.Golding
Fix CIS error in FbxAutomationTests.cpp
Change 3200417 on 2016/11/16 by Jurre.deBaare
Fix for CIS issues
#fix Rogue }
Change 3200446 on 2016/11/16 by Martin.Wilson
Change fix for Set Anim Instance Class from CL 3200133
#jira UE-18798
Change 3200579 on 2016/11/16 by Martin.Wilson
Fix for serialization crash in Odin
#jir UE-38683
Change 3200659 on 2016/11/16 by Martin.Wilson
Fix build errors
Change 3200801 on 2016/11/16 by Lina.Halper
Fix error message
Change 3200873 on 2016/11/16 by Lina.Halper
Test case for Update Rate Optimization
- LOD_URO_Map.umap - test map
- LODPawn - pawn that contains mesh with URO setting
- You can tweak the value in LODPawn
Change 3201017 on 2016/11/16 by Lina.Halper
- Allow slave component to be removed when setting master pose to nullptr
- licensee reported this issue. https://udn.unrealengine.com/questions/321037/skeletalmeshcomponent.html
Change 3201765 on 2016/11/17 by Jurre.deBaare
Improved tooltip for FBlendParameter.GridNum
Change 3201817 on 2016/11/17 by Thomas.Sarkanen
Added display/edit of bone transforms in details panel
Added UBoneProxy tickable editor object held by the skeleton tree that updates its internal transforms in Tick().
Updated various bits of supporting code to allow selection to be properly preserved in cases such as undo/redo. This allows the bone proxy object to be displayed over an undo/redo event. It also fixes some inconsistency with selection between the skeleton tree and the preview scene.
Breaking change: Updated FOnPreviewMeshChangedMulticaster delegate signature to take both the old and new skeletal mesh. This is to allow clients to skip certain logic if the skeletal mesh hasnt really changed (in this case de-selection).
#jira UE-38144 - Selected Bone Transform not visible in Persona on the AnimBP tab
Change 3201819 on 2016/11/17 by Thomas.Sarkanen
Fix CIS error
Change 3201901 on 2016/11/17 by Lina.Halper
With new system, the skeleton curve count is not the one we should check but BoneContainer.GetAnimCurveNameUids().
- removed GetCurveNumber from skeleton
- changed curve count to use BoneContainer's curve list.
#code review: Laurent.Delayen
Change 3201999 on 2016/11/17 by Thomas.Sarkanen
Add local/world transform editing to bone editing
Added details customization & support code for world-space editing of bone transforms
#jira UE-38144 - Selected Bone Transform not visible in Persona on the AnimBP tab
Change 3202111 on 2016/11/17 by mason.seay
Potential test assets for HLOD
Change 3202240 on 2016/11/17 by Thomas.Sarkanen
Fixed extra whitespace not being removed in front of console commands.
GitHub #2843
#jira UE-37019 - GitHub 2843 : Fixed extra whitespace not being removed in front of console commands.
Change 3202259 on 2016/11/17 by Jurre.deBaare
Readded missing shadows in advanced preview scene
Change 3203180 on 2016/11/17 by mason.seay
Moved and updated URO Map
Change 3203678 on 2016/11/18 by Thomas.Sarkanen
Bug fix for menu extenders in PhAT.
GitHub #2550
#jira UE-32678 - GitHub 2550 : Bug fix for menu extenders in PhAT.
Change 3203679 on 2016/11/18 by Thomas.Sarkanen
Fixed LOD hysteresis not being properly converted from the old metric
This addreses some 'LOD lag' issues seen when just treating as an equivalent fudge factor, as the magnitude needed to have an effect has changed.
#jira UE-38640 - Skeletal mesh LODs render incorrectly and incosistently
Change 3203747 on 2016/11/18 by Jurre.deBaare
Crash when repeatedly undoing and readding of animation to a AnimOffset 1D - IsValidBlendSampleIndex
#fix Ensure we reset the hightlighting / dragging / selection state when PostUndo is called, this makes sure we repopulate tooltips if need etc.
#jira UE-38734
Change 3203748 on 2016/11/18 by Jurre.deBaare
Crash Generating Proxy Meshes after replacing static meshes in the level
#fix just calculate bounds for the used UVs (old behaviour was wrong)
#jira UE-38764
Change 3203751 on 2016/11/18 by james.cobbett
Changes to TM-PoseSnapshot and new test assets
Change 3203799 on 2016/11/18 by Thomas.Sarkanen
Switched fudged auto-LOD calculations to use a pow() decay instead of a recprocal
Still a fudge when LOD reduction has not been performed in-engine, but a fudge with similar outcomes to the previous method.
Also fixed up the naming of some variables that still referred to screen areas & LOD distances.
#jira UE-38674 - LOD distance switching have changed since 4.14 and merged lod actors seem to switch at incorrect screen scales as a result
Change 3203856 on 2016/11/18 by james.cobbett
TM-PoseSnapshot - Rebuild lighting and updated anims
Change 3203880 on 2016/11/18 by Ori.Cohen
Copying //UE4/Dev-Physics-Upgrade to Dev-Framework (//UE4/Dev-Framework)
Change 3203940 on 2016/11/18 by Ori.Cohen
Fix missing newline for ps4
Change 3203960 on 2016/11/18 by Ori.Cohen
Readd fix for linux macro expansion warning
Change 3203975 on 2016/11/18 by Ori.Cohen
Fix for linux toolchain not knowing about no-unused-local-typedef
Change 3203989 on 2016/11/18 by Ori.Cohen
Make sure physx automation doesn't try to build html5 APEX.
Change 3204031 on 2016/11/18 by james.cobbett
Minor update to test level
Change 3204035 on 2016/11/18 by Marc.Audy
Additional Attenuation refactor cleanup
Change 3204044 on 2016/11/18 by Ori.Cohen
Fix typo of NV_SIMD_SSE2
Change 3204049 on 2016/11/18 by Ori.Cohen
Fix missing newline for PS4 compiler
Change 3204463 on 2016/11/18 by mason.seay
Finalized URO test map
Change 3204621 on 2016/11/18 by mason.seay
Small improvements
Change 3204751 on 2016/11/18 by Ori.Cohen
Make PhAT highlight selected bodies and constraints in the tree view
Change 3205868 on 2016/11/21 by Marc.Audy
Merging //UE4/Dev-Main to Dev-Framework (//UE4/Dev-Framework) @ 3205744
Change 3205887 on 2016/11/21 by Jurre.deBaare
Fix for similar crash in blendspace editor like UE-38734
Change 3206121 on 2016/11/21 by Marc.Audy
PR #2935: Minor subtitle issues (Contributed by projectgheist)
#jira UE-38803
#jira UE-38692
Change 3206187 on 2016/11/21 by Marc.Audy
PR #2935: Minor subtitle issues (Contributed by projectgheist)
Additional bits
#jira UE-38519
#jira UE-38803
#jira UE-38692
Change 3206318 on 2016/11/21 by Marc.Audy
Fix Linux compiler whinging
Change 3206379 on 2016/11/21 by Marc.Audy
Fix crash when streaming in a sublevel with a child actor in it (4.14.1)
#jira UE-38906
Change 3206591 on 2016/11/21 by Marc.Audy
Refactor restrictions to allow hidden and clarify disabled
Change 3206776 on 2016/11/21 by Marc.Audy
ForceFeedback component allows rumble events to be placed or spawned in to the world with attenuation settings that dictate how intensely the rumble pattern will be applied to the player based on their distance to the effect.
ForceFeedback Attenuation settings can be defined via the content browser or directly on the component.
#jira UEFW-244
Change 3206901 on 2016/11/21 by Marc.Audy
Fix compile error in automation tests
Change 3207235 on 2016/11/22 by danny.bouimad
Updated Map
Change 3207264 on 2016/11/22 by Thomas.Sarkanen
Disable bone editing in anim blueprint editor
#jira UE-38876 - Transform options in bone Details panel in Anim Blueprint Persona editor appear editable
Change 3207303 on 2016/11/22 by Lina.Halper
Clear material curve by setting it directly because the flag might not exist
#jira: UE-36902
Change 3207331 on 2016/11/22 by Jon.Nabozny
Fix overflow issues in SerializeProperties_DynamicArray_r. Also, fix crash from not ensuring properties were serialized successfully.
Change 3207357 on 2016/11/22 by Danny.Bouimad
Updating testcontent for pose drivers
Change 3207425 on 2016/11/22 by Lina.Halper
Fix frame count issue with montage
#jira: UE-30048
Change 3207478 on 2016/11/22 by Lina.Halper
Fix so that curve warning doesn't happen when your name is same.
#jira: UE-34246
Change 3207526 on 2016/11/22 by Marc.Audy
Fix crash when property restriction introduces a hidden entry
Change 3207731 on 2016/11/22 by danny.bouimad
MoreUpdates
Change 3207764 on 2016/11/22 by Lina.Halper
#fix order of morphtarget to first process animation and then BP for slave component
Change 3207842 on 2016/11/22 by Ben.Zeigler
Fix it so ActiveStructRedirects are checked in addition to ActiveClassRedirects when serializing a raw UStruct reference, such as in a blueprint UStructProperty. This fixes issue with the attenuation settings struct rename, and should have always been working this way. ActiveClassRedirects will still work.
Change 3208202 on 2016/11/22 by Ben.Zeigler
#jira UE-38811 Fix regression with gimbal locking in player camera manager.
The quat->rotator->quat->rotator conversions are introducing more error than in 4.13, so a pitch limit of -89.99 was too precise.
Change 3208510 on 2016/11/23 by Wes.Hunt
Disable UBT Telemetry on internal builds #jira AN-1059
#tests build a few different ways, add more diagnostics to clarify if the provider is being used.
Change 3208734 on 2016/11/23 by Martin.Wilson
Change EnsureAllIndicesHaveHandles to try and maintain validity of as many of the handles as possible + Make FRichCurve key member private as it needs to stay in sync with map on base class
#jira UE-38899
Change 3208782 on 2016/11/23 by Thomas.Sarkanen
Fixed material and vert count issues with skeletal to static mesh conversion
Material remapping was not bein gbuilt, so material indices were overwitten inappropriately.
Vertex tangentY was being recalculated incorrectly (discarding the W component when transformed), so vertices were not correctly re-merged later in the static mesh build phase.
#jira UE-37898 - Materials are incorrect on static mesh made from skeletal mesh
Change 3208798 on 2016/11/23 by James.Golding
UE-38478 - Fix collision on procmesh created in BeginPlay in cooked builds
Change 3208801 on 2016/11/23 by Jurre.deBaare
Hidden Material References from Mesh Components Fix
#fix forgot to mark the renderstate dirty and wrapped it to only apply when overridematerials actually contain something
#jira UE-38108
Change 3208807 on 2016/11/23 by Thomas.Sarkanen
CIS fix
Change 3208824 on 2016/11/23 by danny.bouimad
More content updates for Testing
Change 3208827 on 2016/11/23 by Danny.Bouimad
Removing Old Pose driver Testassets I created awhile ago.
Change 3209026 on 2016/11/23 by Martin.Wilson
CIS Fix for FRichCurve
Change 3209083 on 2016/11/23 by Marc.Audy
Don't crash if after an undo the previously selected object no longer exists (4.14.1)
#jira UE-38991
Change 3209085 on 2016/11/23 by Marc.Audy
Don't crash if a negative length passed in to UKismetStringLibrary::GetSubstring (4.14.1)
#jira UE-38992
Change 3209124 on 2016/11/23 by Ben.Zeigler
#jira UE-38867 Fix some game mode log messages
From PR #2955
Change 3209231 on 2016/11/23 by Marc.Audy
Auto removal
Change 3209232 on 2016/11/23 by Marc.Audy
GetComponents now optionally can include components in Child Actors
Change 3209233 on 2016/11/23 by Marc.Audy
ParseIntoArray resets instead of empty
Change 3209235 on 2016/11/23 by Marc.Audy
Allow child actor components to be selected in viewports
Fix selection highlight not working on nested child actors
#jira UE-16688
Change 3209247 on 2016/11/23 by Marc.Audy
Merging //UE4/Dev-Main to Dev-Framework (//UE4/Dev-Framework) @ 3209194
Change 3209299 on 2016/11/23 by Marc.Audy
Use MoveTemp to reduce some memory churn in graph schema actions
Change 3209347 on 2016/11/23 by Marc.Audy
Don't dispatch a tick function that had been scheduled but has been disabled before being executed.
#jira UE-37459
Change 3209507 on 2016/11/23 by Ben.Zeigler
#jira UE-38185 Keep player controllers in their same order during a seamless travel
From PR #2908
Change 3209882 on 2016/11/24 by Thomas.Sarkanen
Copy-to-array now works with the fast path
Refactored the copy record generation/validation code to be clearer with better seperation of concerns.
Made sure we always properly generate a full exec chain for our events, despite some other them potentially using the fast path (this may have been a bug waiting to happen).
Fixed a potentiual bug with sub anim instances were potentiall fast path non-array properties were skipped.
Added tests for fast path validity to EditorTests project. Assets to follow.
#jira UE-34569 - Fast Path gets turned off if you link to multiple input pins
Change 3209884 on 2016/11/24 by Thomas.Sarkanen
File I missed
Change 3209885 on 2016/11/24 by Thomas.Sarkanen
Support assets for fast path tests
Change 3209939 on 2016/11/24 by Benn.Gallagher
Fixed anim blueprint compiler not following reroute nodes when building cached pose fragment list
#jira UE-35557
Change 3209941 on 2016/11/24 by Jurre.deBaare
Removing and readding a point to the Anim Offset graph results in the animation to not preview correctly.
#fix make sure that when we delete a sample point we reset the preview base pose
#misc changed how the preview base pose is determined/updated
#jira UE-38733
Change 3209942 on 2016/11/24 by Thomas.Sarkanen
Fixed transactions being made when setting bone space in details panel
Also added reset to defaults to allow easy removal of bone modifications.
#jira UE-38957 - Switching between Local and World Location in Persona Bone Transform options creates an Undo transaction
Change 3209945 on 2016/11/24 by james.cobbett
Test assets for Pose Snapshot Test Case
Change 3210239 on 2016/11/25 by Mieszko.Zielinski
Making Navmesh react to changes done to static mesh's collision setup via the SM Editor #UE4
#jira UE-29415
Change 3210279 on 2016/11/25 by Benn.Gallagher
Fixed anim sub-instances only allowing one pin to work when any pin required a call out to the VM for evaluation
#jira UE-38040
Change 3210288 on 2016/11/25 by danny.bouimad
Cleaned up Pose Driver Anim BP's
Change 3210334 on 2016/11/25 by Benn.Gallagher
Fixed preview mesh references getting broken in physics assets when renaming the preview mesh asset. Added explicit reference collection for the TAssetPtr
#jira UE-22145
Change 3210349 on 2016/11/25 by James.Golding
UE-35783 Fix scrolling in PoseAsset editor panels
Change 3210356 on 2016/11/25 by James.Golding
UE-38420 Disable 'Convert to Static Mesh' option if no MeshComponents selected (e.g. cables)
Change 3210357 on 2016/11/25 by Jurre.deBaare
Numeric textbox value label incorrect for aimoffset/blendspaces in grid
#fix change lambda capture type (was referencing local variable)
Change 3210358 on 2016/11/25 by Jurre.deBaare
Crash Generating Proxy Mesh with Transition Screen Size set to 1
#fix 1.0 was not included within the possible range
#jira UE-38810
Change 3210364 on 2016/11/25 by James.Golding
Improve BuildVertexBuffers to use stride and avoid copying colors
Change 3210371 on 2016/11/25 by Jurre.deBaare
You can no longer enable tooltip display when using anim offset
#fix Added back ability to show advanced preview sample weighting to tooltip under CTRL down
#jira UE-38808
It's not clear that the user has to hold shift to preview in blend spaces
#fix Preview value is now set by default and has a tooltip state, this will inform the user how to move the preview value
#jira UE-38711
#misc refactored out some duplicate code :)
Change 3210387 on 2016/11/25 by james.cobbett
Updating test asset
Change 3210550 on 2016/11/26 by Marc.Audy
Merging //UE4/Dev-Main to Dev-Framework (//UE4/Dev-Framework) @ 3209927
Brings IWYU in and required substantial fixups
Change 3210551 on 2016/11/26 by Marc.Audy
Delete empty cpp files
Change 3211002 on 2016/11/28 by Lukasz.Furman
added navigation update on editting volume's brush
#ue4
Change 3211011 on 2016/11/28 by Marc.Audy
Roll back CL# 3210334 as it is causing deadlocks during GC
Change 3211039 on 2016/11/28 by Jurre.deBaare
Merge Actors tool is splitting every vertex on spline meshes, causing hard edged vertex colors.
#fix prevent using the wedge map when propagating spline mesh vertex colours
#jira UE-36011
Change 3211053 on 2016/11/28 by Ori.Cohen
Make sure objects without simple collision do not simulate. Fixes crash when two trimesh only objects collide
#JIRA UE-38989
Change 3211101 on 2016/11/28 by mason.seay
Adjusting trigger collision so it can't be triggered by projectiles
Change 3211171 on 2016/11/28 by Jurre.deBaare
Previewing outside of Blendspace Graph points causes unexpected weighting
#jira UE-32775
Second Animation Sample added to AimOffset or Blendspace swaps with the first sample
#jira UE-36755
#fix Changed behaviour for calculating blendspace grid weighting for one, two or colinear triangles
- One: fill grid weights to single sample
- Two: find closest point on line between the two samples for the grid point, and weight according to the distance on the line
- Colinear: find two closest samples and apply behaviour above
#misc rename variables to make the code more clear and correct
Change 3211491 on 2016/11/28 by Marc.Audy
Provide proper tooltip for GetParentActor/Component
Expose GetAttachParentActor/SocketName to blueprints
De-virtualize Actor GetAttach... functions
#jira UE-39056
Change 3211570 on 2016/11/28 by Lina.Halper
Title doesn't update when asset is being dropped
#jira: UE-39019
Change 3211766 on 2016/11/28 by Ori.Cohen
Remove warning when a constraint has two empty components. This can be a valid usecase for when components are determined dynamically.
#JIRA UE-36089
Change 3211938 on 2016/11/28 by Mason.Seay
CSV's for testing gameplay tags
Change 3212090 on 2016/11/28 by Ori.Cohen
Expose angular SLERP drive to blueprints
#JIRA UE-36690
Change 3212102 on 2016/11/28 by Marc.Audy
Fix shadow variable issue
#jira UE-39099
Change 3212182 on 2016/11/28 by Ori.Cohen
PR #2902: Fix last collision preset display (Contributed by max99x)
#JIRA UE-38100
Change 3212196 on 2016/11/28 by dan.reynolds
AEOverview Update:
Minor tweaks and fixes
Added Attenuation Curve Tests
Renamed SC to SCLA for Sound Class prefix
WIP SCON (Sound Concurrency)
Change 3212347 on 2016/11/28 by Ben.Zeigler
#jira UE-39098 Fix issues with adding tag redirectors with the editor open, it now checks the redirector list in the editor
Fix chained tag redirectors to work properly
Const fixes and removed a bad error message spam, and fix rename message
Change 3212385 on 2016/11/28 by Marc.Audy
Avoid duplicate GetWorld() calls
Change 3212386 on 2016/11/28 by Marc.Audy
auto shoo
Change 3213018 on 2016/11/29 by Marc.Audy
Fix shadow variable for real
Change 3213037 on 2016/11/29 by Ori.Cohen
Fix deprecation warnings
Change 3213039 on 2016/11/29 by Marc.Audy
Generalize logic for when a component prevents an Actor from auto destroying
Add forcefeedback component to the components that will hold up the auto destroy of an actor
Change 3213088 on 2016/11/29 by Marc.Audy
Move significance manager out of experimental
Change 3213187 on 2016/11/29 by Marc.Audy
Add InsertDefaulted to mirror options available when Adding
Change 3213254 on 2016/11/29 by Marc.Audy
add auto-complete for showdebug forcefeedback
Change 3213260 on 2016/11/29 by Marc.Audy
Allow systems to inject auto-complete console entries
Change 3213276 on 2016/11/29 by Marc.Audy
add auto-complete entry for showdebug significancemanager
Change 3213331 on 2016/11/29 by James.Golding
Split SkeletalMesh skin weights into their own stream
Remove unused FGPUSkinVertexColor struct
Remove unused FSkeletalMeshVertexBuffer::bInfluencesByteSwapped bool
Fix FSkeletalMeshMerge::GenerateLODModel to handle >4 weights
Update friendly name for FColorVertexBuffer now it's used by skel mesh as well
Change 3213349 on 2016/11/29 by Ben.Zeigler
Fix tag rename feedback message
Change 3213355 on 2016/11/29 by Ben.Zeigler
#jira UE-39115 PR #2987: Added IsPaused to AGameModeBase (Contributed by RoyAwesome)
Change 3213406 on 2016/11/29 by Ori.Cohen
Make sure body transforms are not set while the physx simulation is running.
#JIRA UE-37270
Change 3213508 on 2016/11/29 by Jurre.deBaare
When performing a merge actor on an actor merging multiple materials certain maps aren't generated
#fix Apparently rendering out specular etc now outputs its value only to the red channel, so had to change how we populate the combined metallic/roughness/specular map
#jira UE-38526
Change 3213557 on 2016/11/29 by Ben.Zeigler
#jira UE-22145 Fix issues where TAssetPtrs weren't getting properly fixed up during rename fixup, it now runs the StringAssetReference fixup on the nested reference. This should fix lots of weird issues with references going away
Change 3213634 on 2016/11/29 by Ori.Cohen
Make sure if no shapes are found for vehicle wheels we create spheres and attach them to the actor.
Change 3213639 on 2016/11/29 by Ori.Cohen
Fix from nvidia for vehicle suspension exploding when given a bad normal.
#JIRA UE-38716
Change 3213812 on 2016/11/29 by James.Golding
UE-35925 Remove hard-coded asset<->animnode mapping, add SupportsAssetClass virtual instead
Change 3213824 on 2016/11/29 by Ori.Cohen
Fix CIS
Change 3213873 on 2016/11/29 by Ori.Cohen
Fix welded bodies not properly computing mass properties.
#JIRA UE-35184
Change 3213950 on 2016/11/29 by Mieszko.Zielinski
Fixed navigation collision being generated wrong for StaticMeshes created from BSP #Orion
#jira UE-37221
Change 3213951 on 2016/11/29 by Mieszko.Zielinski
Fixed perception system having issue with registering perception listener spawned in sublevels #UE4
#jira UE-37850
Change 3214005 on 2016/11/29 by Ori.Cohen
Fix mass kg override not propagating to blueprint instances.
Change 3214046 on 2016/11/29 by Marc.Audy
Duplicate all instanced subobjects, not just those that are editinlinenew
Make AABrush.Brush instanced rather than export
#jira UE-39066
Change 3214064 on 2016/11/29 by Marc.Audy
Use GetComponents directly where safe instead of copying in to an array
Change 3214116 on 2016/11/29 by James.Golding
Fix tooltip when dragging anim assets onto players
Change 3214136 on 2016/11/29 by Ori.Cohen
Make it so moving bodies is immediate when in editor. Useful for editor tools that rely on physx data
#JIRA UE-35864
Change 3214162 on 2016/11/29 by Mieszko.Zielinski
Fixed a bug in EnvQueryGenerator_SimpleGrid resuting in one extra column and row of points being generated #UE4
#jira UE-12077
Change 3214177 on 2016/11/29 by Marc.Audy
Use correct SocketName (broken in CL#2695130)
#jira UE-39153
Change 3214427 on 2016/11/29 by dan.reynolds
AEOverview Update
Fixed Attenuation tests when overlapping attenuation ranges between streamed levels
Added Sound Concurrency Far then Prevent New testmap
Removed some Sound Concurrency assets
Change 3214469 on 2016/11/29 by dan.reynolds
AEOverview Update
Added Sound Concurrency Test for Stop Farthest then Oldest
Change 3214842 on 2016/11/30 by Jurre.deBaare
LookAt AimOffset in the Anim Graph causes character to explode
#jira UE-38533
#fix ensure that the source socket exists on the skeleton during compilation (as far as we can), and skip blendspace evaluation in case of it not being valid during runtime
Change 3214866 on 2016/11/30 by james.cobbett
Updating Pose Snapshot test assets
Change 3214964 on 2016/11/30 by thomas.sarkanen
Added test data for facial animtion curves
Change 3215015 on 2016/11/30 by Jurre.deBaare
When a Aim Offset axis value is edited drastically the preview mesh will be deformed
#fix change the way we change data when axis values are changed, simply remap normalized samples to new axis range
#misc marked some data/functions editor only (not needed during runtime so reduces footprint a little bit)
#jira UE-38880
Change 3215029 on 2016/11/30 by Marc.Audy
Fix CIS
Change 3215033 on 2016/11/30 by Marc.Audy
Add a delegate for when new classes are added via hotreload
Change existing hotload class reinstancing delegates to be multicast
Change 3215048 on 2016/11/30 by Jon.Nabozny
Use getKinematicTarget whenever a body is kinematic.
This should fix some edge cases in FBodyInstance where stale transforms may be used when operations are run in PrePhysics.
#jira UE-37877
Change 3215052 on 2016/11/30 by Marc.Audy
Generalize the volume actor factory logic
Create volume factories when hotreload adds a new volume class
#jira UE-39064
Change 3215055 on 2016/11/30 by Marc.Audy
Probable fix for IOS CIS failure
Change 3215091 on 2016/11/30 by Lina.Halper
Easy alternative fix for blending two curves per bone. For now we just combine.
To fix this properly - i.e. per bone to affect curve - it is very expensive process, so opting into this for 4.15.
#jira: UE-39182
Change 3215179 on 2016/11/30 by Jurre.deBaare
Preview viewport should only use rendering features supported in project
#fix replace the skylight with a sphere reflection component, this will not give image based lighting but does supply the user with a reflection map + intensity
#jira UE-37252
Change 3215189 on 2016/11/30 by Jurre.deBaare
CIS fix
Change 3215326 on 2016/11/30 by Ben.Zeigler
#jira UE-39077 Fix OnActive gameplay cues on standalone servers, it was incorrectly assuming it was in mixed replication mode.
Regression caused by CL #3104976
Change 3215523 on 2016/11/30 by James.Golding
Fix cooking old skel meshes in commandlet - vertex buffer was not recreated so UpdateUVChannelData would crash
Change 3215539 on 2016/11/30 by Marc.Audy
Fix failure to cleanup objects in a hidden always loaded sub-level
#jira UE-39139
Change 3215568 on 2016/11/30 by Aaron.McLeran
UE-39197 Delay node of 0.0 causes crash
Change 3215719 on 2016/11/30 by Aaron.McLeran
UE-39074 Audio related Client crash experienced on latest live build ++UT+Release-Next-CL-3193528
Change 3215773 on 2016/11/30 by Aaron.McLeran
PR #2819 : Fixed typo in SoundWave.h
Change 3215828 on 2016/11/30 by James.Golding
PR #2900: fixed a former change that overlooked the 2 character difference between 16 and 32. (Contributed by MartinMittringAtOculus)
Change 3215831 on 2016/11/30 by James.Golding
UE-36688 Add BlendOption (with CustomCurve) to PoseBlendNode
Change 3215904 on 2016/11/30 by Marc.Audy
Fix significance calculations
Change 3215955 on 2016/11/30 by James.Golding
UE-36791 Fix scaling of rotated convex elements, by baking element transform into cooked convex data.
Change 3215959 on 2016/11/30 by James.Golding
Remove LogTemp warning from FAnimBlueprintCompiler::FinishCompilingClass
Change 3216057 on 2016/11/30 by Marc.Audy
Don't reset expose on spawn properties when in a PIE world
#jira UE-36771
Change 3216114 on 2016/11/30 by James.Golding
Move SkeletalMeshComponent and SkinnedMeshComponent functions out of SkeletalMesh.cpp into correct cpp files
Change 3216144 on 2016/11/30 by Jon.Nabozny
Fix FConstraintInstance scaling issues in FSkeletalMeshComponent::InitArticulated.
InitArticulated uses the default Constraint Template from the Physics Asset a skeletal mesh is associated with.
This caused issues if a skeletal mesh had bone scales that differed from those in the physics asset.
#jira UE-38434
Change 3216148 on 2016/11/30 by Jon.Nabozny
Create test map and asset for Skeletal Mesh Component Scaling and Skeletal Mesh Uniform Import Scaling.
Change 3216160 on 2016/11/30 by Aaron.McLeran
Fixing a memory leak in concurrency management
Change 3216164 on 2016/11/30 by James.Golding
Move SkeletalMeshActor code into its own cpp file
Fix CIS for SkeletalMeshComponent.cpp
Change 3216371 on 2016/11/30 by dan.reynolds
AEOverview Update
Minor tweaks
Completed Sound Concurrency Rule Test Maps
Added additional test files
Change 3216509 on 2016/11/30 by Marc.Audy
Fix missing include
Change 3216510 on 2016/11/30 by Marc.Audy
Code cleanup
Change 3216723 on 2016/12/01 by Jurre.deBaare
When clearing a blend sample animation the animation will try and blend to the ref pose
#fix do not delete sample when animation == nullptr but mark it as invalid, it then will be rendered in red on the grid and discarded during triangle/line generation
#fix indice mapping for 2d blend spaces was incorrect before (luckily never caused an error)
#misc weird whitespace changes
#jira UE-39078
Change 3216745 on 2016/12/01 by Jurre.deBaare
- Blend space triangulation was incorrect in some cases, due to refactor some data was not initialised.
- UDN user was hitting a check within the triangle flipping behaviour
#fix Revisited the conditions to determine whether or not a point lies within a triangles circumcircle
#fix In case we cannot flip the current triangle we skip it and move onto the next one instead of putting in a hard check
#misc refactored triangle flipping code to make it smaller (more readible)
Change 3216903 on 2016/12/01 by mason.seay
Imported mesh for quick test
Change 3216904 on 2016/12/01 by Jurre.deBaare
CIS Fix
#fix replaced condition by both non-editor as editor valid one
Change 3216998 on 2016/12/01 by Lukasz.Furman
fixed AI slowing down on ramps due to 3D input vector being constrained by movement component
#jira UE-39233
#2998
Change 3217012 on 2016/12/01 by Lina.Halper
Checking in James' fix on drag/drop to replace assets
#code review: James.Golding
#jira: UE-39150
Change 3217031 on 2016/12/01 by james.cobbett
Updating Pose Snapshot Assets. Again.
Change 3217033 on 2016/12/01 by Martin.Wilson
Update bounds on all skel meshes when physics asset is changed
#jira UE-38572
Change 3217181 on 2016/12/01 by Martin.Wilson
Fix imported animations containing a black thumbnail
#jira UE-36559
Change 3217183 on 2016/12/01 by Martin.Wilson
Add some extra debugging code for future animation compression / ddc issues
Change 3217184 on 2016/12/01 by james.cobbett
Fixing a test asset by checking a check box. Sigh.
Change 3217216 on 2016/12/01 by Martin.Wilson
Undo part of CL 3217183. Will need to add this back differently.
Change 3217274 on 2016/12/01 by Marc.Audy
When serializing in an enum tagged property follow redirects
#jira UE-39215
Change 3217419 on 2016/12/01 by james.cobbett
Changes to test assets for more Pose Snapshot tests
Change 3217449 on 2016/12/01 by Aaron.McLeran
Adding new audio setting to disable EQ and reverb.
Hooked up to XAudio2 (for now).
Change 3217513 on 2016/12/01 by Marc.Audy
Improve bWantsBeginPlay deprecation message
Change 3217620 on 2016/12/01 by mason.seay
Updated test assets for HLOD
Change 3217872 on 2016/12/01 by Aaron.McLeran
UEFW-113 Adding master reverb to audio mixer
- Added new submix editor to create new submixes
- Created new default master submixes for reverb and EQ and master submixes
- Fixed a number of minor issues found in auido mixer while working on feature
Change 3218053 on 2016/12/01 by Ori.Cohen
Added mass debug rendering
#JIRA UE-36608
Change 3218143 on 2016/12/01 by Aaron.McLeran
Fixing up reverb to support multi-channel (5.1 and 7.1) configurations.
- Added default reverb send amount
Change 3218440 on 2016/12/01 by Zak.Middleton
#ue4 - Made some static FNames const.
Change 3218715 on 2016/12/02 by james.cobbett
Fixed bug in test asset.
Change 3218836 on 2016/12/02 by james.cobbett
Fixing up test asset
Change 3218884 on 2016/12/02 by james.cobbett
Moar test asset changes
Change 3218943 on 2016/12/02 by Ori.Cohen
Make sure welded bodies include the center of mass offset. Note this also changes the COM nudge to be world space instead of local space
#JIRA UE-35184
Change 3218955 on 2016/12/02 by Marc.Audy
Fix initialization order issues
Remove monolithic includes
Change signature to pass string by const ref
Change 3219149 on 2016/12/02 by Ori.Cohen
Fix SetCollisionObjectType not working on skeletal mesh components
#JIRA UE-37821
Change 3219162 on 2016/12/02 by Martin.Wilson
Fix compile error when blend space on aim offset nodes is exposed as pin
#jira UE-39285
Change 3219198 on 2016/12/02 by Marc.Audy
UEnum::FindValue/IndexByName will now correctly follow redirects
#jira UE-39215
Change 3219340 on 2016/12/02 by Zak.Middleton
#ue4 - Optimized and cleaned up some Actor methods related to location and rotation.
- Inlined GetActorForwardVector(), GetActorUpVector(), GetActorRightVector(). Wrapped them to simply call the methods on USceneComponent rather than using a different approach to computing these vectors.
- Inlined blueprint versions: K2_GetActorLocation(), K2_GetActorRotation(), K2_GetRootComponent().
- Cleaned up template methods that are used to delay compilation of USceneComponent calls to make them private and prefix "Template" to their names so they don't show up in autocomplete for calls to the public methods.
Change 3219482 on 2016/12/02 by Ori.Cohen
Fix crash when double deleting a clothing actor due to destroying USkeletalMesh before USkeletalMeshComponent.
#JIRA UE-39172
Change 3219676 on 2016/12/02 by Martin.Wilson
Make clearer that ref pose is from skeleton
Change 3219687 on 2016/12/02 by Aaron.McLeran
Supporting multi-channel reverb with automatic downmixing of input to stereo
Change 3219688 on 2016/12/02 by Martin.Wilson
Fix crash when remapping additive animations after skeleton hierarchy change
#jira UE-39040
Change 3219699 on 2016/12/02 by Zak.Middleton
#ue4 - Fix template's use of old GetActorRotation() function.
Change 3219969 on 2016/12/02 by Ben.Zeigler
#jira UE-24800 Disable replicatied movement updates for actors that are welded to something else, to avoid them fighting with the welded parent's replication
Modified from shelve Zak.Middleton made of PR #1885, after some more testing
Change 3220010 on 2016/12/02 by Aaron.McLeran
Fixing up sound class editor
Change 3220013 on 2016/12/02 by Aaron.McLeran
Deleting monolithic file
Change 3220249 on 2016/12/02 by Aaron.McLeran
Changing reverb settings parameter thread sync method
- Switching to a simple ring buffer rather than using a crit sect
Change 3220251 on 2016/12/02 by Aaron.McLeran
Removing hard-coded audio mixer module name for the case when using -audiomixer argument,
-added new entry to ini file that allows you to specify the audio mixer module name used for the platform.
Change 3221118 on 2016/12/05 by Jurre.deBaare
Back out changelist 3220249 to fix CIS
Change 3221363 on 2016/12/05 by Martin.Wilson
Change slot node category from Blends to Montage
Change 3221375 on 2016/12/05 by Jon.Nabozny
Change AGameModeBase::GetGameSessionClass to return GameSessionClass when set.
#jira UE-39325
Change 3221402 on 2016/12/05 by Jon.Nabozny
Add sanitization code around PhsyX flags and refactor the ways flags are managed through a single code path.
#jira UE-33562
Change 3221441 on 2016/12/05 by Thomas.Sarkanen
Fixed crash when reimporting a mesh when a different animation was open
#jira UE-39281 - Editor crashes when reimporting a skeletal mesh after enabling recalculate tangents
Change 3221473 on 2016/12/05 by Marc.Audy
Get rid of auto.
Use GetComponents directly instead of copying in to temporary arrays
Change 3221584 on 2016/12/05 by Jon.Nabozny
Fix CIS for Mac builds from CL-3221375
Change 3221631 on 2016/12/05 by Martin.Wilson
Possible fix for rare marker sync crash on live servers
#jira UE-39235
#test ai match, animation seemed fine, no crashes
Change 3221660 on 2016/12/05 by mason.seay
Resubmitting to add Viewport Bookmark
Change 3221683 on 2016/12/05 by Mieszko.Zielinski
Temp (but decent) fix to ARecastNavMesh::GetRandomPointInNavigableRadius sometimes retrieving invalid locations even if there's a valid piece of navmesh in the area #UE4
#jira UE-30355
Change 3221750 on 2016/12/05 by Jon.Nabozny
Real CIS fix.
Change 3221917 on 2016/12/05 by Jon.Nabozny
Fix CIS for real this time.
Change 3222370 on 2016/12/05 by mason.seay
Start of Gameplay Tag testmap
Change 3222396 on 2016/12/05 by Aaron.McLeran
UEFW-44 Implementing EQ master submix effect for audio mixer
- New thread safe param setting temlate class (for setting EQ and Reverb params)
- Hook up reverb submix effect to source voices
- Implementation of FBiquad for biquad filter coefficients and audioprocessing
- Implementation of Filter class which hold FBiquad instance per channel, computes coefficents once
- Implementation of equalizer class which is a serial bank of filters set to ParametricEQ filter type
Change 3222425 on 2016/12/05 by Aaron.McLeran
Checking in missing files
Change 3222429 on 2016/12/05 by Aaron.McLeran
Last missing file!
Change 3222783 on 2016/12/05 by Jon.Nabozny
Update SkelMeshScaling map.
Change 3223173 on 2016/12/06 by Martin.Wilson
Fix crash in thumbnail rendering when creating a new montage
#jira UE-39352
Change 3223179 on 2016/12/06 by Marc.Audy
auto/NULL cleanup
Change 3223329 on 2016/12/06 by Marc.Audy
Fix (hard to explain) memory corruption
#jira UE-39366
Change 3223334 on 2016/12/06 by Jon.Nabozny
Add HasBeenInitialized check inside AActor::InitializeComponents
Change 3223340 on 2016/12/06 by Jon.Nabozny
Refactor SkeletalMesh constraint scaling fixes. Add a check on bodies to ensure they are valid.
#jira UE-39238
Change 3223372 on 2016/12/06 by Marc.Audy
Probably fix HTML5 CIS failure
Change 3223511 on 2016/12/06 by Jon.Nabozny
Fix Mac CIS shadow warning
Change 3223541 on 2016/12/06 by Lukasz.Furman
fixed missing NavCollision data in static meshes
#jira UE-39367
Change 3223672 on 2016/12/06 by Ben.Zeigler
#jira UE-39394 Fix GameplayTagContainerCustomization to work like GameplayTagCustomization as a popup instead of a window, this fixes the references button
Remove unnecessary code from both customizations
Change 3223751 on 2016/12/06 by Marc.Audy
Properly remove components from their owner when manipulating through editinlinenew properties
#jira UE-30548
Change 3223831 on 2016/12/06 by Ben.Zeigler
#jira UE-39293 Don't show non-working tag operations when ini tag editing is not enabled
#jira UE-39344 Improve feedback messages when deleting explicit tags that have other explicit tag children
Don't allow deleting a leaf explicit tag whose implicit parent tags are still referenced and it is the only thing keeping them alive
Add Tag Source to tooltip in management mode
Fix RequestGameplayTagChildrenInDictionary to work properly
Change 3223862 on 2016/12/06 by Marc.Audy
Hide deprecated attach functions for all games not just Paragon
Change 3224003 on 2016/12/06 by Marc.Audy
Put behavior of player camera back to how it was prior to Ansel plugin support changes. Make photography only work a different way.
#jira UE-39207
Change 3224602 on 2016/12/07 by Jurre.deBaare
Crash on creating LODs with Medic
#fix Added clamp for UVs -1024 to 1024
#jira UE-37726
Change 3224604 on 2016/12/07 by Jurre.deBaare
Fix for incorrect normal calculation in certain circumstances
#fix Make sure we propagate the matrices to samples after we (re)calculated normals
#fix Conditionally swap/inverse the vertex data buffers instead of always
#fix Set preview mesh for alembic import animation sequences
#misc removed commented out code and added debug code
Change 3224609 on 2016/12/07 by Jurre.deBaare
Alembic Import Issues (skeletal) w. UVs and smoothing groups
#fix Changed the way we populate smoothing group indices for alembic caches
#misc removed commented out code, set base preview pose for alembic imported skeletal meshes / anim sequences
#jira UE-36412
Change 3224783 on 2016/12/07 by James.Golding
Support per-instance skeletal mesh vertex color override
Change 3224784 on 2016/12/07 by James.Golding
Add skelmesh vert color override map. Fix my vert color material to work on skel mesh.
Change 3225131 on 2016/12/07 by Jurre.deBaare
Crash when baking matrix animation when importing an alembic file as skeletal
#fix condition whether or not to apply matrices had not been moved over in previous change
#jira UE-39439
Change 3225491 on 2016/12/07 by Lina.Halper
- Morphtarget fix on the first frame
#jira: UE-37702
Change 3225597 on 2016/12/07 by mason.seay
Updated materials on meshes to ones that don't have physical materials, also rebuilt lighting
Change 3225758 on 2016/12/07 by Aaron.McLeran
UE-39421 Fix for sound class graph bug
Change 3225957 on 2016/12/07 by Ben.Zeigler
#jira UE-39433 Fix crash with mass debug data
Change 3225967 on 2016/12/07 by Lina.Halper
Fix not removing link up cache when removed.
#jira: UE-33738
Change 3225990 on 2016/12/07 by Ben.Zeigler
#jira OR-32975 Sort gameplay tags before saving out modified ini, to help with merge issues
Change 3226123 on 2016/12/07 by Aaron.McLeran
Fix for sound class asset creation from within the sound class graph
Change 3226165 on 2016/12/07 by mason.seay
Replaced skelmesh gun with static mesh cube
Change 3226336 on 2016/12/07 by Aaron.McLeran
Fixing up sound class replacement code.
If you delete a sound class but replace with another, now it properly replaces sound classes in the sound class graphs without totally destroying them
Change 3226701 on 2016/12/08 by Thomas.Sarkanen
Merging //UE4/Dev-Main to Dev-Framework (//UE4/Dev-Framework) @ CL 3226613
Change 3226710 on 2016/12/08 by Jurre.deBaare
Fix for alembic import crash
#misc update num mesh samples and take into account user set start frame in case of skipping preroll frames
Change 3226834 on 2016/12/08 by Jurre.deBaare
Fix for incorrect matrix samples being applied during Alembic cache importing
#fix Change way we loop through samples and determine correct matrix and mesh sample indices
Change 3227330 on 2016/12/08 by Jurre.deBaare
Temporary fix for animBP compilation error, underlying issue is causing the skeleton to not be fully loaded when we are validating the animation node. This makes the socket name check fail and consequently output a compilation error
#UE-39499
#fix Ensure that the skeleton is loaded by checking for RF_NeedPostLoad
#misc corrected socket name output, removed unnecessary nullptr check
Change 3227575 on 2016/12/08 by Marc.Audy
Merging //UE4/Dev-Main to Dev-Framework (//UE4/Dev-Framework) @ 3227387
Change 3227602 on 2016/12/08 by Marc.Audy
Copyright 2016 to 2017 updates for new Framework files
[CL 3227721 by Marc Audy in Main branch]
2016-12-08 16:58:18 -05:00
FLevelEditorModule * LevelEditor = FModuleManager : : GetModulePtr < FLevelEditorModule > ( " LevelEditor " ) ;
2015-02-11 06:05:44 -05:00
if ( LevelEditor ! = nullptr )
{
LevelEditor - > OnComponentsEdited ( ) . RemoveAll ( this ) ;
}
2015-01-30 10:16:55 -05:00
}
2021-01-11 11:14:52 -04:00
bool SActorDetails : : IsObservingSelectionSet ( const UTypedElementSelectionSet * InSelectionSet ) const
2018-11-20 10:30:00 -05:00
{
2021-01-11 11:14:52 -04:00
return SelectionSet = = InSelectionSet ;
}
void SActorDetails : : RefreshSelection ( const bool bForceRefresh )
{
2021-02-18 18:54:03 -04:00
if ( bSelectionGuard )
{
return ;
}
2021-09-03 14:18:34 -04:00
TArray < TTypedElement < ITypedElementDetailsInterface > > DetailsElements ;
2021-01-11 11:14:52 -04:00
DetailsElements . Reserve ( SelectionSet - > GetNumSelectedElements ( ) ) ;
2021-09-03 14:18:34 -04:00
SelectionSet - > ForEachSelectedElement < ITypedElementDetailsInterface > ( [ & DetailsElements ] ( const TTypedElement < ITypedElementDetailsInterface > & InDetailsElement )
2018-11-20 10:30:00 -05:00
{
2021-01-11 11:14:52 -04:00
DetailsElements . Add ( InDetailsElement ) ;
return true ;
} ) ;
2021-02-18 18:54:03 -04:00
bHasSelectionOverride = false ;
SelectionOverrideActors . Reset ( ) ;
2022-04-01 16:45:42 -04:00
RefreshTopLevelElements ( DetailsElements , bForceRefresh , /*bOverrideLock*/ false ) ;
2021-01-11 11:14:52 -04:00
}
void SActorDetails : : OverrideSelection ( const TArray < AActor * > & InActors , const bool bForceRefresh )
{
UTypedElementRegistry * Registry = UTypedElementRegistry : : GetInstance ( ) ;
2021-09-03 14:18:34 -04:00
TArray < TTypedElement < ITypedElementDetailsInterface > > DetailsElements ;
2022-02-23 15:54:47 -05:00
DetailsElements . Reserve ( InActors . Num ( ) ) ;
2021-01-11 11:14:52 -04:00
for ( AActor * Actor : InActors )
{
if ( FTypedElementHandle ActorElementHandle = UEngineElementsLibrary : : AcquireEditorActorElementHandle ( Actor ) )
{
2021-09-03 14:18:34 -04:00
if ( TTypedElement < ITypedElementDetailsInterface > ActorDetailsHandle = Registry - > GetElement < ITypedElementDetailsInterface > ( ActorElementHandle ) )
2021-01-11 11:14:52 -04:00
{
DetailsElements . Add ( MoveTemp ( ActorDetailsHandle ) ) ;
}
}
}
2021-02-18 18:54:03 -04:00
bHasSelectionOverride = true ;
SelectionOverrideActors = InActors ;
2021-01-11 11:14:52 -04:00
RefreshTopLevelElements ( DetailsElements , bForceRefresh , /*bOverrideLock*/ false ) ;
}
2021-09-03 14:18:34 -04:00
void SActorDetails : : RefreshTopLevelElements ( TArrayView < const TTypedElement < ITypedElementDetailsInterface > > InDetailsElements , const bool bForceRefresh , const bool bOverrideLock )
2021-01-11 11:14:52 -04:00
{
// Nothing to do if this view is locked!
if ( DetailsView - > IsLocked ( ) & & ! bOverrideLock )
{
return ;
}
// Build the array of top-level elements to edit
TopLevelElements . Reset ( InDetailsElements . Num ( ) ) ;
2021-09-03 14:18:34 -04:00
for ( const TTypedElement < ITypedElementDetailsInterface > & DetailsElement : InDetailsElements )
2021-01-11 11:14:52 -04:00
{
if ( DetailsElement . IsTopLevelElement ( ) )
{
if ( TUniquePtr < ITypedElementDetailsObject > ElementDetailsObject = DetailsElement . GetDetailsObject ( ) )
{
TopLevelElements . Add ( MoveTemp ( ElementDetailsObject ) ) ;
}
}
}
2022-02-23 15:54:47 -05:00
// Update the underlying details view and the Elements buttons
SetElementDetailsObjects ( TopLevelElements , bForceRefresh , bOverrideLock , & InDetailsElements ) ;
2021-01-11 11:14:52 -04:00
2021-05-07 10:04:49 -04:00
// Update the Subobject tree if we were asked to edit a single actor
2021-02-18 18:54:03 -04:00
if ( AActor * Actor = GetActorContext ( ) )
2021-01-11 11:14:52 -04:00
{
2021-02-18 18:54:03 -04:00
// Enable the selection guard to prevent OnTreeSelectionChanged() from altering the editor's component selection
TGuardValue < bool > SelectionGuard ( bSelectionGuard , true ) ;
2021-05-07 10:04:49 -04:00
SubobjectEditor - > UpdateTree ( ) ;
2021-02-18 18:54:03 -04:00
UpdateComponentTreeFromEditorSelection ( ) ;
2021-01-11 11:14:52 -04:00
}
// Draw attention to this tab if needed
if ( TSharedPtr < FTabManager > TabManager = DetailsView - > GetHostTabManager ( ) )
{
TSharedPtr < SDockTab > Tab = TabManager - > FindExistingLiveTab ( DetailsView - > GetIdentifier ( ) ) ;
if ( Tab . IsValid ( ) & & ! Tab - > IsForeground ( ) )
{
Tab - > FlashTab ( ) ;
}
2018-11-20 10:30:00 -05:00
}
}
2021-05-07 10:04:49 -04:00
void SActorDetails : : RefreshSubobjectTreeElements ( TArrayView < const FSubobjectEditorTreeNodePtrType > InSelectedNodes , const bool bForceRefresh , const bool bOverrideLock )
2015-01-30 10:16:55 -05:00
{
2021-01-11 11:14:52 -04:00
// Nothing to do if this view is locked!
if ( DetailsView - > IsLocked ( ) & & ! bOverrideLock )
2015-01-30 10:16:55 -05:00
{
2021-01-11 11:14:52 -04:00
return ;
}
2015-01-30 10:16:55 -05:00
2021-05-07 10:04:49 -04:00
// Does the Subobject tree have components selected?
TArray < const UActorComponent * > Components ;
if ( const AActor * Actor = GetActorContext ( ) )
2021-01-11 11:14:52 -04:00
{
2021-05-07 10:04:49 -04:00
for ( const FSubobjectEditorTreeNodePtrType & SelectedNode : InSelectedNodes )
2015-01-30 10:16:55 -05:00
{
2021-01-11 11:14:52 -04:00
if ( SelectedNode )
2015-01-30 10:16:55 -05:00
{
2021-05-07 10:04:49 -04:00
if ( const FSubobjectData * Data = SelectedNode - > GetDataSource ( ) )
2015-01-30 10:16:55 -05:00
{
2021-06-10 22:32:28 -04:00
if ( Data - > IsRootActor ( ) )
2021-01-11 11:14:52 -04:00
{
2021-05-07 10:04:49 -04:00
// If the actor node is selected then we ignore the component selection
Components . Reset ( ) ;
break ;
}
if ( Data - > IsComponent ( ) )
{
if ( const UActorComponent * Component = Data - > FindComponentInstanceInActor ( Actor ) )
{
Components . Add ( Component ) ;
}
2021-01-11 11:14:52 -04:00
}
}
}
}
}
2021-05-07 10:04:49 -04:00
SubobjectTreeElements . Reset ( Components . Num ( ) ) ;
2021-01-11 11:14:52 -04:00
if ( Components . Num ( ) > 0 )
{
UTypedElementRegistry * Registry = UTypedElementRegistry : : GetInstance ( ) ;
2021-05-07 10:04:49 -04:00
for ( const UActorComponent * Component : Components )
2021-01-11 11:14:52 -04:00
{
if ( FTypedElementHandle ComponentElementHandle = UEngineElementsLibrary : : AcquireEditorComponentElementHandle ( Component ) )
{
2021-09-03 14:18:34 -04:00
if ( TTypedElement < ITypedElementDetailsInterface > ComponentDetailsHandle = Registry - > GetElement < ITypedElementDetailsInterface > ( ComponentElementHandle ) )
2021-01-11 11:14:52 -04:00
{
if ( TUniquePtr < ITypedElementDetailsObject > ElementDetailsObject = ComponentDetailsHandle . GetDetailsObject ( ) )
{
2021-05-07 10:04:49 -04:00
SubobjectTreeElements . Add ( MoveTemp ( ElementDetailsObject ) ) ;
2021-01-11 11:14:52 -04:00
}
2015-01-30 10:16:55 -05:00
}
}
}
2021-01-11 11:14:52 -04:00
// Use the component elements
2021-05-07 10:04:49 -04:00
SetElementDetailsObjects ( SubobjectTreeElements , bForceRefresh , bOverrideLock ) ;
2021-01-11 11:14:52 -04:00
}
else
{
// Use the top-level elements
SetElementDetailsObjects ( TopLevelElements , bForceRefresh , bOverrideLock ) ;
}
}
2022-02-23 15:54:47 -05:00
void SActorDetails : : SetElementDetailsObjects ( TArrayView < const TUniquePtr < ITypedElementDetailsObject > > InElementDetailsObjects , const bool bForceRefresh , const bool bOverrideLock , TArrayView < const TTypedElement < ITypedElementDetailsInterface > > * InDetailsElementsPtr )
2021-01-11 11:14:52 -04:00
{
TArray < UObject * > DetailsObjects ;
DetailsObjects . Reserve ( InElementDetailsObjects . Num ( ) ) ;
for ( const TUniquePtr < ITypedElementDetailsObject > & ElementDetailsObject : InElementDetailsObjects )
{
if ( UObject * DetailsObject = ElementDetailsObject - > GetObject ( ) )
Copying //UE4/Dev-Editor to //UE4/Dev-Main (Source: //UE4/Dev-Editor @ 3621452)
#lockdown Nick.Penwarden
#rb none
============================
MAJOR FEATURES & CHANGES
============================
Change 3567301 by Arciel.Rekman
Linux: fix for importing failure when clicking shortcuts (UE-47932).
- Slate dialog would return incorrect relative paths (not matching CWD) if Engine or Project shortcuts were used.
#jira UE-47932
Change 3567687 by Arciel.Rekman
Minor fixes to gdb pretty printers by icculus.
Change 3568024 by Arciel.Rekman
Made SDL_SetWindowInputFocus() wait until window is viewable (UE-33369).
- Pull request #2608 contributed by Ereski.
- Updated x86_64 lib only (anticipating more changes to SDL).
#coderview Cengiz.Terzibas, Ryan.Gordon
Change 3568173 by Max.Chen
Movie Scene Capture: Delay on shot boundaries by setting the sequencer play rate to 0.
This allows particles, TAA, and other effects to settle on the shot cuts.
#jira UE-44598
Change 3568174 by Max.Chen
Sequencer: Added option to rerun construction scripts on bound actors in the sequence every frame.
#jira UE-31193
Change 3568331 by Matt.Kuhlenschmidt
PR #3850: Add extensible source navigation service (Contributed by mhutch)
Change 3568350 by Matt.Kuhlenschmidt
PR #3851: Add argument to pass params to standalone play session (Contributed by mhutch)
Change 3568387 by Matt.Kuhlenschmidt
PR #3852: Add FEditorDelegates::BeginLocalPlay event (Contributed by mhutch)
Change 3568541 by Arciel.Rekman
Merged Icculus' patch for copy-paste (UE-40071).
- Alas does not seem to fix inability to copy/paste between Output log and kate.
- Updated x86_64 lib only (anticipating more changes).
Change 3568547 by Arciel.Rekman
Fix OpenGL queries reused after deletion.
Change 3568790 by Matt.Kuhlenschmidt
PR #3857: Loading screen widgets not scaled correctly (Contributed by projectgheist)
Change 3568900 by Alexis.Matte
Fix the fbx re-import factory handler to say failed in case there was no geometry to import.
#jira UE-47506
Change 3568902 by Alexis.Matte
Reduce memory footprint when importing large FBX scene PR #3834
#jira UE-47833
Change 3569061 by Arciel.Rekman
Linux: remove unnecessary symbols for MSVC visualizers.
- Reported by ASan as collision because they exist in each DSO.
Change 3569782 by Cody.Albert
Updated ImportAssets Commandlet help text to properly reflect supported features.
Change 3569843 by Arciel.Rekman
SDL: add logic to select headless EGL device.
- SDL will try to guess which device is GPU using CUDA device id (can also be hinted explicitly).
- Also fixes the problem of engine not starting on some drivers that don't support the necessary EGL extensions.
Change 3570234 by Max.Chen
Sequencer: Import FBX settings. Added settings to toggle force front x axis and whether to create cameras that don't already exist in the level.
#jira UE-46754
Change 3570578 by Arciel.Rekman
Linux: make FAnsiMalloc compatible with malloc()/free().
- Prerequisite for ASan. Also helps fringe cases when we have to use FAnsiMalloc.
Change 3571015 by Alexis.Matte
Issue warning when we found zero normal, tangent or binormal
#jira UE-46419
Change 3571376 by Jamie.Dale
Force a unique package localization ID when loading packages for diffing
Change 3571412 by Jamie.Dale
Removed unused setting
Change 3571487 by Alexis.Matte
fix speed tree import cancel workflow
#jira UE-47482
Change 3571614 by Jamie.Dale
Games now use the native culture of any of the game targets as the fallback (rather than always using English)
This replaces the previously removed redundant setting from CL# 3571412
Change 3572649 by Jamie.Dale
SavePackageHelper now always honors KeepObjectFlags
Change 3572730 by Matt.Kuhlenschmidt
Guard against crash in the details panel when there is a message in the queue and something scrolls into view when the list has been invalidated
#jira UE-48037
Change 3572773 by Matt.Kuhlenschmidt
Guard against high res screenshot crashing if the requested image size doesnt match the image data size
#jira UE-47765
Change 3572813 by Michael.Trepka
Workaround for a mysterious issue in Xcode 9 beta 3 and 4 which makes it generate -Wnullability-inferred-on-nested-type warnings/errors in MetalDebugCommandEncoder.h even though we tell Clang to ignore them in MacPlatformCompilerPreSetup.h
Change 3573043 by Arciel.Rekman
FAnsiMalloc: fix compile issue (UE-48066).
#jira UE-48066
Change 3573236 by Arciel.Rekman
Linux: add UnrealLightmass to the installed build.
- Was also requested by a licensee on UDN.
Change 3573705 by Arciel.Rekman
SDL: update UE4 fork to the latest trunk (UETOOL-1242).
- Revision 11184 form 2017-08-04: http://hg.libsdl.org/SDL/rev/04063928c4a8
- Change by icculus (Ryan Gordon).
- Rebuilt x86_64 library only for now.
Change 3573741 by Arciel.Rekman
Fix crash when capturing a movie (UE-48093).
#jira UE-48093
Change 3574389 by Max.Chen
Sequencer: Array bounds check.
#jira UE-48095
Change 3574399 by Max.Chen
Sequencer: Fix crash in removing delegate
#jira UE-47461
Change 3574415 by Max.Chen
Sequencer: Put level visibility tracks in the SpawnObjects evaluation group to ensure levels are streamed before any possessable bindings are resolved
Change 3574416 by Max.Chen
Prevent slow task feedback from performing slow operations (flushing rendering commands, checking if shaders are initialized) when there are no modal dialogs open
Change 3574726 by Matt.Kuhlenschmidt
Focus the details view when actor selection changes if it is not focused
Change 3574922 by Michael.Trepka
Copy of CL 3574653 by Richard.Wallis
XCode Beta 4 Compile fixes. "Inferring '_Nonnull' for pointer type within array is deprecated "
Change 3576525 by Nick.Darnell
Editor - Data table rows names sort correctly in the property customization.
Blueprint - Fixing some crashes due to holding onto raw pointers instead of TWeakObjectPtrs.
UMG - SetWidgetClass now reinstances the widget if you change it at runtime.
Editor - Deleting actors that are still referenced now at least logs to the console what still references it.
Change 3576714 by Nick.Darnell
Editor - Build fix.
Change 3576770 by Jamie.Dale
Removed some dead code
It seems to be left over from the first attempt at stable localization keys
Change 3578433 by Matt.Kuhlenschmidt
Fix content browser settings being per project and having created a "Global" category for one setting
Change 3578556 by Max.Chen
Editor: Fix toolbar shared ref which was keeping the viewport toolbar around when switching between default and cinematic viewports.
#jira UE-48125
Change 3578561 by Matt.Kuhlenschmidt
Fix USD importing not respecting DestinationPath for automated import
Change 3580124 by Matt.Kuhlenschmidt
Fix bogus warning message when a property has an editcondition that is not marked edit aynwhere. This has always been supported and is the correct way to make an editcondition
Change 3581936 by Jamie.Dale
Restoring defaults for UContentBrowserSettings
Change 3582039 by Matt.Kuhlenschmidt
High DPI mode changes
- Editor viewport screen percentage is now adjusted automatically to account for DPI scaling. By default the scene will be rendered at a lower resolution based on screen percentage calculated based on 100/DPIScale. Users can override this automatic calcuation in the performance options if desired.
- DPI awareness is only set on windows in the editor now (still disabled by default)
- Fixed hit proxy calculation not working properly with screen percentage
- Developers can now register a delegate with SlateApplication to tell when a window's DPI changes
Change 3582049 by Matt.Kuhlenschmidt
Fix color picker not properly converting FColor properties back to gamma space
Change 3582054 by Matt.Kuhlenschmidt
Fix mac menus updating during unsafe times such as modal windows and slow tasks
#jira UE-47874
Change 3582084 by Jamie.Dale
Make sure to update the rendering resources for the active world if reloading its map build data
This prevents a crash in the renderer due to it holding onto stale data
Change 3582257 by Matt.Kuhlenschmidt
Fix widget component spawning widgets on cook
#jira UE-48201
Change 3582655 by Matt.Kuhlenschmidt
Fix DPI scale not being accounted for when entering immersive.
Change 3582706 by Matt.Kuhlenschmidt
Fix automation tests
Change 3582728 by Matt.Kuhlenschmidt
Turn on high dpi by default for windows editor
Change 3582732 by Matt.Kuhlenschmidt
Turn on high DPI by default for mac editor
Change 3583112 by Max.Chen
Sequencer: Add OnPlayReverse() event for when playback is in reverse
Change 3584130 by Matt.Kuhlenschmidt
PR #3897: Git plugin: fix action icon in history window (Contributed by SRombauts)
Change 3584237 by Matt.Kuhlenschmidt
Added the beginnings of a way to extend the usd importer with a custom resolver class that optionally handles prim identification and mesh and actor spawning.
Added a test resolver that handles prims based on usd "kind" metadata.
Change 3584535 by Matt.Kuhlenschmidt
Fix LOD identification in USD files
Change 3587703 by Matt.Kuhlenschmidt
Fix tooltip
Change 3587901 by Matt.Kuhlenschmidt
Fixed USD importing not finding and importing LODs properly
Change 3588380 by Matt.Kuhlenschmidt
Fix ctrl+w not duplicating on mac
#jira UE-46573
Change 3590435 by Jamie.Dale
Added support for in-editor previews of localized game text
This is configured by the "Preview Game Culture" setting, and will automatically be active when PIE is running (the preview language is also passed to any standalone games that are launched via the editor). This preview can also be used in the UMG editor to preview widgets in different languages.
While a preview is running, all editable FText fields are locked-down (read-only) to prevent accidentally clobbering source data with translation data. You can also use this new lock-down feature to prevent any localization changes in your project (set "LockLocalization" to "True" under the "Internationalization" section of either your DefaultGame or DefaultEngine INI).
In order to allow the game translations to be used in the editor, we now map the translation to any package localization ID variants when the LocRes data is loaded (or when looking up a specific piece of text). This is needed as the LocRes files only ever contain the "clean" versions of the IDs (without the package localization ID the editor uses), and also means that we no longer need to gather the "editor-only" variants of the text within assets.
Change 3592131 by Matt.Kuhlenschmidt
Log for newly converted actors being pending kill
#jira UE-47464
Change 3592200 by Matt.Kuhlenschmidt
Made the class viewer menu function properly on mac. Since it as a nomad tab it wasnt properly inserting itself into the top level menu on mac nor should it since it could be docked anywhere. The filters menu is now consistent with other filters menus
Change 3592227 by Matt.Kuhlenschmidt
Fix drag drop of actors being offset with high dpi monitors.
Change 3592719 by Bradut.Palas
#jira UE-45632 - dual key bindings feature
My approach was transforming the ActiveChord and DefaultChord into arrays and accessing them through an enum class called EMultipleKeyBindingIndex. A lot of connecting code, function prototypes, and data structures had to be changed to accomodate this. Most menus and tooltip texts are generated using the first valid active shortcut.
Change 3592793 by Bradut.Palas
Fix compile warnings for InputBindingManager (there were actually hidden bugs among them)
Change 3593128 by Matt.Kuhlenschmidt
Force low quality mode for background blurs by default on android
Change 3593579 by Michael.Dupuis
#jira UE-47223 :
If we have no world simply return null when GetLandscapeInfo is called
Handle the cases in PostEditChange to handle null returned from GetLandscapeInfo
Change 3593580 by Michael.Dupuis
Added missing shaders while generating thumbnails
Change 3593582 by Michael.Dupuis
#jira UE-47492 : Make sure LayerInfo is valid before accessing data
Change 3593584 by Michael.Dupuis
#jira UE-47253: Do not recreate the scene info in simulation mode
Change 3593585 by Michael.Dupuis
#jira UE-48484: no longer mark the package dirty while generating the GrassMap if they were not existing
Change 3593586 by Michael.Dupuis
#jira UE-48483 : hide the Rendering property group so user can't by mistake change the actor visibility
Change 3593593 by Michael.Dupuis
#jira UE-48327: Added guard to prevent crash when using CVarFoliageDiscardDataOnLoad and having invalid foliage in your map
Change 3593597 by Michael.Dupuis
#jira UE-48309: Do not build the tree if the static mesh is not even loaded yet
#jira UE-48340: Properly support the Random stream and partial buffer update
#jira UE-48228: Instance from blueprint are now visible in standalone game
#jira UE-45854: Crash probably linked to post load called on not loaded static mesh
#jira UE-48035: Properly init the per instance render data when creating a new component
Only update instance in non archetype or CDO.
Change 3594060 by Matt.Kuhlenschmidt
Fix high DPI mode being set for non-editor. Also prevent possible crashes due to dll handle for high DPI method being freed before called
Change 3594355 by Matt.Kuhlenschmidt
Change API help link to point to a website since offline CHM based docs are no longer used
#jira UE-48230
Change 3595358 by Matt.Kuhlenschmidt
Fixed bad initial window position and sizes for editor windows
By default SWindow.ClientSize will assume unscaled window size and will scale it based on DPI as needed. AdjustInitialSizeAndPositionForDPIScale argument can be used to disable this if needed
Fixed a dock tabs and the main frame not taking into account dpi scale when saving their layout. Now we always save window size at 1.0 scale and auto scale it based on DPI of the monitor it opens on.
#jira UE-48446
Change 3595590 by Matt.Kuhlenschmidt
Fix missing includes
Change 3595792 by Matt.Kuhlenschmidt
Fix style warnings
Change 3596418 by Bradut.Palas
fixing initial issue with dual keybinds (removed ensure macro to speedup first use of alternate key)
Change 3598679 by Max.Chen
PR #3872: Fix small typo in ImagePlate Plugin (Contributed by TheCodez)
#jira UE-48141
Change 3598720 by Max.Chen
Cine Camera: Add toggle to disable constraining the roll when look at tracking is enabled. This allows the user to animate the roll while tracking an object.
#jira UE-48316
Change 3600236 by Alexis.Matte
Create a LOD Custom Mode in the meshes editor UI. This allow user to compare details values between LODs
#jira UE-46822
Change 3600260 by Alexis.Matte
Make sure temporary rename do not create redirector
#jira UE-48364
Change 3600671 by Lauren.Ridge
PR #3913: Fixed 3D preview issue in the material editor (Contributed by YuchenMei)
#jira UE-48539
#jira UE-48180
#jira UE-48182
Change 3600812 by Jamie.Dale
We now defer the registration of IME contexts until an editable text first gains focus
Certain IMEs can have very high per-context costs, so this avoids that cost until we know that we definitely need to use the context
#jira UE-48100
Change 3601839 by Matt.Kuhlenschmidt
Fix USD import crash with "facevarying" normals
Change 3602434 by Jamie.Dale
Removing dead code
These flags were never being tested or used in any meaningul way
Change 3602611 by Jamie.Dale
Ensure PackageToReload is non-null
#jira UE-46655
Change 3602648 by Jamie.Dale
Fixed custom columns with the same name as fixed columns causing infinite duplications in the content browser
#jira UE-47392
Change 3602651 by Lauren.Ridge
Fix for parameter tooltips not being found
#jira UE-47417
Change 3604172 by Bradut.Palas
#jira UE-48449
#jira UE-48380
#jira UE-48381
#jira UE-48423
I moved the IsFilenameValidForSaving() function from FEditorFileUtils to FFileHelper so that it is accessible from CollectionManager.cpp in order to validate collection names as file names and no longer trigger any of the bugs.
Change 3604210 by Bradut.Palas
#jira UE-48718
Regression issue appeared from fixing a crash when using console command "open"
Reworked by only refusing to open local URLs in case of client mode and multiprocess being active simultaneously.
Change 3604258 by Jamie.Dale
IME contexts can now flag themselves as dead to avoid latent IME callbacks trying to access a deleted widget
#jira UE-46815
#jira UE-47295
Change 3604312 by Matt.Kuhlenschmidt
PR #3931: Fixing a few obvious copy & paste errors. (Contributed by DaveC79)
Change 3604352 by Matt.Kuhlenschmidt
Fix crash accessing potentially invalid parent layout from a detail category
#jira UE-48729
Change 3604402 by Lauren.Ridge
Epic Friday - array drag and drop
Change 3605228 by Cody.Albert
TSets and TMaps should now properly rehash if a key is modified in the details panel.
Change 3605275 by Alexis.Matte
Merge actor do not keep the material slot name
#jira UE-43246
Change 3605715 by Max.Chen
Sequencer: Fix cinematic mode getting activated on BeginPlay() instead of OnStartedPlaying().
#jira UE-48770
Change 3606411 by Max.Chen
Sequencer: Fix a few player state issues. When paused, calling stop now tears down properly (spawnables are removed, etc). When a level sequence is deleted, tears down properly as well.
#jira UE-42008
Change 3606440 by Max.Chen
Sequencer: Update spawanble name when the spawnable actor name is changed.
#jira UE-47815
Change 3606899 by Lauren.Ridge
Disabling enum-based arrays from reordering
Change 3606958 by Lauren.Ridge
Visual polish on array handles
Change 3607733 by Max.Chen
Sequencer: Check null in camera cut
Change 3607849 by Max.Chen
Sequencer: Clip transport controls.
#jira UE-48812
Change 3608181 by Max.Chen
#jira UE-48813 Correctly set GPlayInEditorID when initializing the PIE gameinstance, which does the initial tick. This fixes autoplay sequences
Copy from Dev-Framework
Change 3608361 by christopher.biancard
QAGame: Submitting test content for Array Element Reorder testing
Change 3608512 by Alexis.Matte
Add fbx exporter option dialog, support export all and cancel all functionality when doing bulk export.
#jira UE-48058
Change 3608629 by Max.Chen
Camera Rig: Fix crane and rail not being packaged properly.
#jira UE-48829
Change 3609217 by Matt.Kuhlenschmidt
Added a lock around access to slate active timers to protect it against race conditions when accessed on the slate movie thread and the game thread
Change 3609722 by Alexis.Matte
Make sure a warning is log when we cannot export an animation sequence.
#jira UE-48390
Change 3609774 by Alexis.Matte
Fix the merge actor build LOD scale again, a previous merge erase the fix
#jira UE-48156
Change 3609891 by christopher.biancard
QAGame: Minor additions for test coverage on Array Element Reorder
Change 3610171 by Lauren.Ridge
Fixes for reordering metadata, creating actual swap function out of three element functions
#jira UE-48823
Change 3610407 by Lauren.Ridge
Fixing highlighting and behavior to place dragged row in the spot you release (not below)
Change 3610472 by Lauren.Ridge
Moving final location logic
Change 3610797 by Lauren.Ridge
Disabling dragging handles during PIE
Change 3611089 by Lauren.Ridge
Disabling handles when overall tree is disabled
Change 3612479 by Lauren.Ridge
Fix for asset contex menu warning
#jira UE-46667
Change 3612791 by Michael.Dupuis
#jira UE-48914 : Add the possibility to specify if we need CPU access to the instance buffer depending on the usage.
Grass should always have CPU access.
Change 3612802 by Michael.Dupuis
missing file from checkin 3612791
Change 3612805 by Max.Chen
Sequencer: Fix crash with null GEditor
Copy from Release-4.17
#jira UE-48443
Change 3612806 by Max.Chen
Sequencer: Fix crash when capturing a movie with options enabling separate process and close editor.
Copy from Release-4.17
#jira UE-48487
Change 3612807 by Max.Chen
Sequencer: Fix crash upgrading the time range of a null track.
Copy from Release-4.17
#jira UE-48490
Change 3612808 by Max.Chen
Sequencer: Fixed dragging skeletal animations causing them to revert back to t-pose
Copy from Release-4.17
#jira UE-48367
Change 3612849 by Arciel.Rekman
Fix tesselation in packaged Linux projects (UE-24301).
- Change by Cengiz.Terzibas.
#jira UE-24301
Change 3613022 by Nick.Darnell
Editor - Fixing a crash on load with a null CoordIndex json node.
Change 3613030 by Matt.Kuhlenschmidt
PR #3932: UE-48693: if instead of while statement (Contributed by projectgheist)
#jira UE-48747
Change 3613047 by Matt.Kuhlenschmidt
PR #3933: Git plugin: add "branch source" in history window (Contributed by SRombauts)
Change 3613050 by Matt.Kuhlenschmidt
PR #3942: Sort Data Table Structures Alphabetically (Contributed by Nick-Pearson)
Change 3613062 by Matt.Kuhlenschmidt
PR #3939: Fix a typo in RecordQualityLevelsAnalytics(). (Contributed by samhocevar)
Change 3613241 by Nick.Darnell
Editor - Fixing the content browser's view settings to be project agnostic, and they will start saving again.
Change 3613329 by Lauren.Ridge
Moving favorite levels to a standard submenu so they also work on Mac
Change 3613344 by Nick.Darnell
Editor - Fixing the achorgrid show up as white in HDPI mode, seems because we were upsampling the image, the blend was between dark and a transparent white, so that caused everything to turn white in HDPI mode.
#jira UE-48921
Change 3613380 by Matt.Kuhlenschmidt
Fix FBX window being off the screen in high DPI
#jira UE-48872
Change 3614598 by Matt.Kuhlenschmidt
Fixed Sequencer Keyframes appearing out of place on High DPI Monitors
#jira UE-48915
Change 3614625 by Matt.Kuhlenschmidt
Fixed not being able to click on BSP correctly in high dpi
#jira UE-48947
Change 3614672 by Matt.Kuhlenschmidt
Fix combo box windows being larger than necessary on high dpi monitors
#jira UE-48908
Change 3614699 by Matt.Kuhlenschmidt
Fix typo
#jira UE-48941
Change 3615011 by Matt.Kuhlenschmidt
Fix color picker calculation appearing offscreen for high dpi
Change 3615013 by Michael.Dupuis
#jira UE-48897: Properly rebuild the tree when reapplying instance to the component
Change 3615014 by Colin.Benoit
Sequencer Recorder test content
Change 3615048 by Colin.Benoit
Sequencer Recorder: more test content
Change 3615118 by Lauren.Ridge
Updating realtime state of viewports to also change when settings toggled
#jira UE-48884
Change 3615127 by Lauren.Ridge
Remove delegate binding on viewport destruction
Change 3615180 by Bradut.Palas
#jira UE-48167 profiler crash
Don't duplicate the graph data when rebuilding because that completely voids the OneToOneMapping mechanism, resulting in the crash. Looking up objects in the mapping would always return null because the mapping contains the old addresses, before the rebuild.
One option would have been to completely rebuild the mapping according to the duplicate graph, which would be dubious because the duplicate method isn't specifically designed so that the result would replace the source.
But it looks like duplicating the data is not needed, it's safe to rebuild in-place, RebuildForFilter() doesn't do anything illegal with the objects. This is also the only purpose and the only reference of the function.
Change 3615232 by Lauren.Ridge
Adding input handling to the material editor viewport client
#jira UE-48909
Change 3615703 by Jamie.Dale
Fixed crash when fixing up references after a package rename failed
#jira UE-48856
Change 3615752 by Matt.Kuhlenschmidt
More generic fix for color picker and other windows that use CalculatePopupWindowPostion not accounting for DPI scale
Change 3615907 by Jamie.Dale
Fixed some crashes caused by CL# 3600812
Change 3616031 by Matt.Kuhlenschmidt
Added guard against invalid blueprints (ones without a generated class) being trying to be opened in the property matrix and failing
#jira UE-48986
Change 3616151 by Arciel.Rekman
Fixing adding array elements in config.
- "+Blah=Foo" will do Blah.AddUnique(Foo)
- ".Blah=Foo" will do Blah.Add(Foo)
- See JoshA re: why (also see: https://udn.unrealengine.com/questions/388157/incorrect-behavior-in-configcacheinicpp.html?childToView=389307)
Change 3616439 by Andrew.Porter
QAGame: Updating level visibility content in sequencer smoke map
Change 3616441 by Matt.Kuhlenschmidt
Fix more sequencer track offsetting with DPI scale
#jira UE-48981
Change 3617263 by Max.Chen
Sequencer: Fix crash in level visibility teardown. Null playback context.
#jira UE-49012
Change 3617316 by Max.Chen
Sequencer: Fixed a regression where the frame rate isn't getting initialized for a movie scene.
Change 3617648 by Matt.Kuhlenschmidt
Adding some windows specific logging around setting or failing to set process dpi awareness
Change 3617665 by Matt.Kuhlenschmidt
Guard against layers module not being loaded in keybinding automation test
Change 3617731 by Arciel.Rekman
Fix crashes on AMD Mesa drivers (UE-48374).
- Do not expose unnecessary symbols from libelf.a to avoid symbol collision with system library used by drivers.
Change 3617923 by Bradut.Palas
#jira UE-47072
Editor was crashing because deleted actor was not cleaned properly from asset editors. Changed IAssetEditorInstance to offer a function for deleting an object from the editor.
Change 3618088 by Matt.Kuhlenschmidt
Guard against crash with potentially invalid worlds in preview scenes
#jira UE-48997
Change 3618373 by Matt.Kuhlenschmidt
Force worldsettings to be hidden in editor so that it is not considered for selection
#jira UE-48996
Change 3618464 by Max.Chen
Sequencer: Fix regression where spawnables don't play because they're defined as temporary editor actors.
#jira UE-48923
Change 3619789 by Matt.Kuhlenschmidt
Fix DPI scale warnings in any kind of headless editor mode
Change 3619802 by Jamie.Dale
Fixed deprecation warning in malloc profiler
Change 3619841 by Matt.Kuhlenschmidt
Fix missing icons in the package project menu
#jira UE-48674
Change 3619991 by Lauren.Ridge
Fix typo in transaction message
#jira UE-48993
Change 3620086 by Lauren.Ridge
Moving realtime viewport logic to refresh instead of construct so it is always triggered upon opening a new material editor
#jira UE-48884
Change 3620616 by Matt.Kuhlenschmidt
Fix up file
Change 3621002 by Matt.Kuhlenschmidt
Back out change to apply scaling rules in loading screens since blueprint based DPI scaling rule classes will not have been created yet
#jira UE-49125
Change 3621049 by Arciel.Rekman
Fix a build error.
- Also make sure that we don't print confusing message when no messagebox can be shown
(this code changed during the merge).
Change 3621064 by Arciel.Rekman
Deleted too much in the previous changelist.
Change 3621369 by Matt.Kuhlenschmidt
Fix keybindings automation test failing due to multiple entries in the active choords array pointing to the same thing
#jira UE-49131
[CL 3621569 by Matt Kuhlenschmidt in Main branch]
2017-08-31 21:51:42 -04:00
{
2021-01-11 11:14:52 -04:00
DetailsObjects . Add ( DetailsObject ) ;
Copying //UE4/Dev-Editor to //UE4/Dev-Main (Source: //UE4/Dev-Editor @ 3621452)
#lockdown Nick.Penwarden
#rb none
============================
MAJOR FEATURES & CHANGES
============================
Change 3567301 by Arciel.Rekman
Linux: fix for importing failure when clicking shortcuts (UE-47932).
- Slate dialog would return incorrect relative paths (not matching CWD) if Engine or Project shortcuts were used.
#jira UE-47932
Change 3567687 by Arciel.Rekman
Minor fixes to gdb pretty printers by icculus.
Change 3568024 by Arciel.Rekman
Made SDL_SetWindowInputFocus() wait until window is viewable (UE-33369).
- Pull request #2608 contributed by Ereski.
- Updated x86_64 lib only (anticipating more changes to SDL).
#coderview Cengiz.Terzibas, Ryan.Gordon
Change 3568173 by Max.Chen
Movie Scene Capture: Delay on shot boundaries by setting the sequencer play rate to 0.
This allows particles, TAA, and other effects to settle on the shot cuts.
#jira UE-44598
Change 3568174 by Max.Chen
Sequencer: Added option to rerun construction scripts on bound actors in the sequence every frame.
#jira UE-31193
Change 3568331 by Matt.Kuhlenschmidt
PR #3850: Add extensible source navigation service (Contributed by mhutch)
Change 3568350 by Matt.Kuhlenschmidt
PR #3851: Add argument to pass params to standalone play session (Contributed by mhutch)
Change 3568387 by Matt.Kuhlenschmidt
PR #3852: Add FEditorDelegates::BeginLocalPlay event (Contributed by mhutch)
Change 3568541 by Arciel.Rekman
Merged Icculus' patch for copy-paste (UE-40071).
- Alas does not seem to fix inability to copy/paste between Output log and kate.
- Updated x86_64 lib only (anticipating more changes).
Change 3568547 by Arciel.Rekman
Fix OpenGL queries reused after deletion.
Change 3568790 by Matt.Kuhlenschmidt
PR #3857: Loading screen widgets not scaled correctly (Contributed by projectgheist)
Change 3568900 by Alexis.Matte
Fix the fbx re-import factory handler to say failed in case there was no geometry to import.
#jira UE-47506
Change 3568902 by Alexis.Matte
Reduce memory footprint when importing large FBX scene PR #3834
#jira UE-47833
Change 3569061 by Arciel.Rekman
Linux: remove unnecessary symbols for MSVC visualizers.
- Reported by ASan as collision because they exist in each DSO.
Change 3569782 by Cody.Albert
Updated ImportAssets Commandlet help text to properly reflect supported features.
Change 3569843 by Arciel.Rekman
SDL: add logic to select headless EGL device.
- SDL will try to guess which device is GPU using CUDA device id (can also be hinted explicitly).
- Also fixes the problem of engine not starting on some drivers that don't support the necessary EGL extensions.
Change 3570234 by Max.Chen
Sequencer: Import FBX settings. Added settings to toggle force front x axis and whether to create cameras that don't already exist in the level.
#jira UE-46754
Change 3570578 by Arciel.Rekman
Linux: make FAnsiMalloc compatible with malloc()/free().
- Prerequisite for ASan. Also helps fringe cases when we have to use FAnsiMalloc.
Change 3571015 by Alexis.Matte
Issue warning when we found zero normal, tangent or binormal
#jira UE-46419
Change 3571376 by Jamie.Dale
Force a unique package localization ID when loading packages for diffing
Change 3571412 by Jamie.Dale
Removed unused setting
Change 3571487 by Alexis.Matte
fix speed tree import cancel workflow
#jira UE-47482
Change 3571614 by Jamie.Dale
Games now use the native culture of any of the game targets as the fallback (rather than always using English)
This replaces the previously removed redundant setting from CL# 3571412
Change 3572649 by Jamie.Dale
SavePackageHelper now always honors KeepObjectFlags
Change 3572730 by Matt.Kuhlenschmidt
Guard against crash in the details panel when there is a message in the queue and something scrolls into view when the list has been invalidated
#jira UE-48037
Change 3572773 by Matt.Kuhlenschmidt
Guard against high res screenshot crashing if the requested image size doesnt match the image data size
#jira UE-47765
Change 3572813 by Michael.Trepka
Workaround for a mysterious issue in Xcode 9 beta 3 and 4 which makes it generate -Wnullability-inferred-on-nested-type warnings/errors in MetalDebugCommandEncoder.h even though we tell Clang to ignore them in MacPlatformCompilerPreSetup.h
Change 3573043 by Arciel.Rekman
FAnsiMalloc: fix compile issue (UE-48066).
#jira UE-48066
Change 3573236 by Arciel.Rekman
Linux: add UnrealLightmass to the installed build.
- Was also requested by a licensee on UDN.
Change 3573705 by Arciel.Rekman
SDL: update UE4 fork to the latest trunk (UETOOL-1242).
- Revision 11184 form 2017-08-04: http://hg.libsdl.org/SDL/rev/04063928c4a8
- Change by icculus (Ryan Gordon).
- Rebuilt x86_64 library only for now.
Change 3573741 by Arciel.Rekman
Fix crash when capturing a movie (UE-48093).
#jira UE-48093
Change 3574389 by Max.Chen
Sequencer: Array bounds check.
#jira UE-48095
Change 3574399 by Max.Chen
Sequencer: Fix crash in removing delegate
#jira UE-47461
Change 3574415 by Max.Chen
Sequencer: Put level visibility tracks in the SpawnObjects evaluation group to ensure levels are streamed before any possessable bindings are resolved
Change 3574416 by Max.Chen
Prevent slow task feedback from performing slow operations (flushing rendering commands, checking if shaders are initialized) when there are no modal dialogs open
Change 3574726 by Matt.Kuhlenschmidt
Focus the details view when actor selection changes if it is not focused
Change 3574922 by Michael.Trepka
Copy of CL 3574653 by Richard.Wallis
XCode Beta 4 Compile fixes. "Inferring '_Nonnull' for pointer type within array is deprecated "
Change 3576525 by Nick.Darnell
Editor - Data table rows names sort correctly in the property customization.
Blueprint - Fixing some crashes due to holding onto raw pointers instead of TWeakObjectPtrs.
UMG - SetWidgetClass now reinstances the widget if you change it at runtime.
Editor - Deleting actors that are still referenced now at least logs to the console what still references it.
Change 3576714 by Nick.Darnell
Editor - Build fix.
Change 3576770 by Jamie.Dale
Removed some dead code
It seems to be left over from the first attempt at stable localization keys
Change 3578433 by Matt.Kuhlenschmidt
Fix content browser settings being per project and having created a "Global" category for one setting
Change 3578556 by Max.Chen
Editor: Fix toolbar shared ref which was keeping the viewport toolbar around when switching between default and cinematic viewports.
#jira UE-48125
Change 3578561 by Matt.Kuhlenschmidt
Fix USD importing not respecting DestinationPath for automated import
Change 3580124 by Matt.Kuhlenschmidt
Fix bogus warning message when a property has an editcondition that is not marked edit aynwhere. This has always been supported and is the correct way to make an editcondition
Change 3581936 by Jamie.Dale
Restoring defaults for UContentBrowserSettings
Change 3582039 by Matt.Kuhlenschmidt
High DPI mode changes
- Editor viewport screen percentage is now adjusted automatically to account for DPI scaling. By default the scene will be rendered at a lower resolution based on screen percentage calculated based on 100/DPIScale. Users can override this automatic calcuation in the performance options if desired.
- DPI awareness is only set on windows in the editor now (still disabled by default)
- Fixed hit proxy calculation not working properly with screen percentage
- Developers can now register a delegate with SlateApplication to tell when a window's DPI changes
Change 3582049 by Matt.Kuhlenschmidt
Fix color picker not properly converting FColor properties back to gamma space
Change 3582054 by Matt.Kuhlenschmidt
Fix mac menus updating during unsafe times such as modal windows and slow tasks
#jira UE-47874
Change 3582084 by Jamie.Dale
Make sure to update the rendering resources for the active world if reloading its map build data
This prevents a crash in the renderer due to it holding onto stale data
Change 3582257 by Matt.Kuhlenschmidt
Fix widget component spawning widgets on cook
#jira UE-48201
Change 3582655 by Matt.Kuhlenschmidt
Fix DPI scale not being accounted for when entering immersive.
Change 3582706 by Matt.Kuhlenschmidt
Fix automation tests
Change 3582728 by Matt.Kuhlenschmidt
Turn on high dpi by default for windows editor
Change 3582732 by Matt.Kuhlenschmidt
Turn on high DPI by default for mac editor
Change 3583112 by Max.Chen
Sequencer: Add OnPlayReverse() event for when playback is in reverse
Change 3584130 by Matt.Kuhlenschmidt
PR #3897: Git plugin: fix action icon in history window (Contributed by SRombauts)
Change 3584237 by Matt.Kuhlenschmidt
Added the beginnings of a way to extend the usd importer with a custom resolver class that optionally handles prim identification and mesh and actor spawning.
Added a test resolver that handles prims based on usd "kind" metadata.
Change 3584535 by Matt.Kuhlenschmidt
Fix LOD identification in USD files
Change 3587703 by Matt.Kuhlenschmidt
Fix tooltip
Change 3587901 by Matt.Kuhlenschmidt
Fixed USD importing not finding and importing LODs properly
Change 3588380 by Matt.Kuhlenschmidt
Fix ctrl+w not duplicating on mac
#jira UE-46573
Change 3590435 by Jamie.Dale
Added support for in-editor previews of localized game text
This is configured by the "Preview Game Culture" setting, and will automatically be active when PIE is running (the preview language is also passed to any standalone games that are launched via the editor). This preview can also be used in the UMG editor to preview widgets in different languages.
While a preview is running, all editable FText fields are locked-down (read-only) to prevent accidentally clobbering source data with translation data. You can also use this new lock-down feature to prevent any localization changes in your project (set "LockLocalization" to "True" under the "Internationalization" section of either your DefaultGame or DefaultEngine INI).
In order to allow the game translations to be used in the editor, we now map the translation to any package localization ID variants when the LocRes data is loaded (or when looking up a specific piece of text). This is needed as the LocRes files only ever contain the "clean" versions of the IDs (without the package localization ID the editor uses), and also means that we no longer need to gather the "editor-only" variants of the text within assets.
Change 3592131 by Matt.Kuhlenschmidt
Log for newly converted actors being pending kill
#jira UE-47464
Change 3592200 by Matt.Kuhlenschmidt
Made the class viewer menu function properly on mac. Since it as a nomad tab it wasnt properly inserting itself into the top level menu on mac nor should it since it could be docked anywhere. The filters menu is now consistent with other filters menus
Change 3592227 by Matt.Kuhlenschmidt
Fix drag drop of actors being offset with high dpi monitors.
Change 3592719 by Bradut.Palas
#jira UE-45632 - dual key bindings feature
My approach was transforming the ActiveChord and DefaultChord into arrays and accessing them through an enum class called EMultipleKeyBindingIndex. A lot of connecting code, function prototypes, and data structures had to be changed to accomodate this. Most menus and tooltip texts are generated using the first valid active shortcut.
Change 3592793 by Bradut.Palas
Fix compile warnings for InputBindingManager (there were actually hidden bugs among them)
Change 3593128 by Matt.Kuhlenschmidt
Force low quality mode for background blurs by default on android
Change 3593579 by Michael.Dupuis
#jira UE-47223 :
If we have no world simply return null when GetLandscapeInfo is called
Handle the cases in PostEditChange to handle null returned from GetLandscapeInfo
Change 3593580 by Michael.Dupuis
Added missing shaders while generating thumbnails
Change 3593582 by Michael.Dupuis
#jira UE-47492 : Make sure LayerInfo is valid before accessing data
Change 3593584 by Michael.Dupuis
#jira UE-47253: Do not recreate the scene info in simulation mode
Change 3593585 by Michael.Dupuis
#jira UE-48484: no longer mark the package dirty while generating the GrassMap if they were not existing
Change 3593586 by Michael.Dupuis
#jira UE-48483 : hide the Rendering property group so user can't by mistake change the actor visibility
Change 3593593 by Michael.Dupuis
#jira UE-48327: Added guard to prevent crash when using CVarFoliageDiscardDataOnLoad and having invalid foliage in your map
Change 3593597 by Michael.Dupuis
#jira UE-48309: Do not build the tree if the static mesh is not even loaded yet
#jira UE-48340: Properly support the Random stream and partial buffer update
#jira UE-48228: Instance from blueprint are now visible in standalone game
#jira UE-45854: Crash probably linked to post load called on not loaded static mesh
#jira UE-48035: Properly init the per instance render data when creating a new component
Only update instance in non archetype or CDO.
Change 3594060 by Matt.Kuhlenschmidt
Fix high DPI mode being set for non-editor. Also prevent possible crashes due to dll handle for high DPI method being freed before called
Change 3594355 by Matt.Kuhlenschmidt
Change API help link to point to a website since offline CHM based docs are no longer used
#jira UE-48230
Change 3595358 by Matt.Kuhlenschmidt
Fixed bad initial window position and sizes for editor windows
By default SWindow.ClientSize will assume unscaled window size and will scale it based on DPI as needed. AdjustInitialSizeAndPositionForDPIScale argument can be used to disable this if needed
Fixed a dock tabs and the main frame not taking into account dpi scale when saving their layout. Now we always save window size at 1.0 scale and auto scale it based on DPI of the monitor it opens on.
#jira UE-48446
Change 3595590 by Matt.Kuhlenschmidt
Fix missing includes
Change 3595792 by Matt.Kuhlenschmidt
Fix style warnings
Change 3596418 by Bradut.Palas
fixing initial issue with dual keybinds (removed ensure macro to speedup first use of alternate key)
Change 3598679 by Max.Chen
PR #3872: Fix small typo in ImagePlate Plugin (Contributed by TheCodez)
#jira UE-48141
Change 3598720 by Max.Chen
Cine Camera: Add toggle to disable constraining the roll when look at tracking is enabled. This allows the user to animate the roll while tracking an object.
#jira UE-48316
Change 3600236 by Alexis.Matte
Create a LOD Custom Mode in the meshes editor UI. This allow user to compare details values between LODs
#jira UE-46822
Change 3600260 by Alexis.Matte
Make sure temporary rename do not create redirector
#jira UE-48364
Change 3600671 by Lauren.Ridge
PR #3913: Fixed 3D preview issue in the material editor (Contributed by YuchenMei)
#jira UE-48539
#jira UE-48180
#jira UE-48182
Change 3600812 by Jamie.Dale
We now defer the registration of IME contexts until an editable text first gains focus
Certain IMEs can have very high per-context costs, so this avoids that cost until we know that we definitely need to use the context
#jira UE-48100
Change 3601839 by Matt.Kuhlenschmidt
Fix USD import crash with "facevarying" normals
Change 3602434 by Jamie.Dale
Removing dead code
These flags were never being tested or used in any meaningul way
Change 3602611 by Jamie.Dale
Ensure PackageToReload is non-null
#jira UE-46655
Change 3602648 by Jamie.Dale
Fixed custom columns with the same name as fixed columns causing infinite duplications in the content browser
#jira UE-47392
Change 3602651 by Lauren.Ridge
Fix for parameter tooltips not being found
#jira UE-47417
Change 3604172 by Bradut.Palas
#jira UE-48449
#jira UE-48380
#jira UE-48381
#jira UE-48423
I moved the IsFilenameValidForSaving() function from FEditorFileUtils to FFileHelper so that it is accessible from CollectionManager.cpp in order to validate collection names as file names and no longer trigger any of the bugs.
Change 3604210 by Bradut.Palas
#jira UE-48718
Regression issue appeared from fixing a crash when using console command "open"
Reworked by only refusing to open local URLs in case of client mode and multiprocess being active simultaneously.
Change 3604258 by Jamie.Dale
IME contexts can now flag themselves as dead to avoid latent IME callbacks trying to access a deleted widget
#jira UE-46815
#jira UE-47295
Change 3604312 by Matt.Kuhlenschmidt
PR #3931: Fixing a few obvious copy & paste errors. (Contributed by DaveC79)
Change 3604352 by Matt.Kuhlenschmidt
Fix crash accessing potentially invalid parent layout from a detail category
#jira UE-48729
Change 3604402 by Lauren.Ridge
Epic Friday - array drag and drop
Change 3605228 by Cody.Albert
TSets and TMaps should now properly rehash if a key is modified in the details panel.
Change 3605275 by Alexis.Matte
Merge actor do not keep the material slot name
#jira UE-43246
Change 3605715 by Max.Chen
Sequencer: Fix cinematic mode getting activated on BeginPlay() instead of OnStartedPlaying().
#jira UE-48770
Change 3606411 by Max.Chen
Sequencer: Fix a few player state issues. When paused, calling stop now tears down properly (spawnables are removed, etc). When a level sequence is deleted, tears down properly as well.
#jira UE-42008
Change 3606440 by Max.Chen
Sequencer: Update spawanble name when the spawnable actor name is changed.
#jira UE-47815
Change 3606899 by Lauren.Ridge
Disabling enum-based arrays from reordering
Change 3606958 by Lauren.Ridge
Visual polish on array handles
Change 3607733 by Max.Chen
Sequencer: Check null in camera cut
Change 3607849 by Max.Chen
Sequencer: Clip transport controls.
#jira UE-48812
Change 3608181 by Max.Chen
#jira UE-48813 Correctly set GPlayInEditorID when initializing the PIE gameinstance, which does the initial tick. This fixes autoplay sequences
Copy from Dev-Framework
Change 3608361 by christopher.biancard
QAGame: Submitting test content for Array Element Reorder testing
Change 3608512 by Alexis.Matte
Add fbx exporter option dialog, support export all and cancel all functionality when doing bulk export.
#jira UE-48058
Change 3608629 by Max.Chen
Camera Rig: Fix crane and rail not being packaged properly.
#jira UE-48829
Change 3609217 by Matt.Kuhlenschmidt
Added a lock around access to slate active timers to protect it against race conditions when accessed on the slate movie thread and the game thread
Change 3609722 by Alexis.Matte
Make sure a warning is log when we cannot export an animation sequence.
#jira UE-48390
Change 3609774 by Alexis.Matte
Fix the merge actor build LOD scale again, a previous merge erase the fix
#jira UE-48156
Change 3609891 by christopher.biancard
QAGame: Minor additions for test coverage on Array Element Reorder
Change 3610171 by Lauren.Ridge
Fixes for reordering metadata, creating actual swap function out of three element functions
#jira UE-48823
Change 3610407 by Lauren.Ridge
Fixing highlighting and behavior to place dragged row in the spot you release (not below)
Change 3610472 by Lauren.Ridge
Moving final location logic
Change 3610797 by Lauren.Ridge
Disabling dragging handles during PIE
Change 3611089 by Lauren.Ridge
Disabling handles when overall tree is disabled
Change 3612479 by Lauren.Ridge
Fix for asset contex menu warning
#jira UE-46667
Change 3612791 by Michael.Dupuis
#jira UE-48914 : Add the possibility to specify if we need CPU access to the instance buffer depending on the usage.
Grass should always have CPU access.
Change 3612802 by Michael.Dupuis
missing file from checkin 3612791
Change 3612805 by Max.Chen
Sequencer: Fix crash with null GEditor
Copy from Release-4.17
#jira UE-48443
Change 3612806 by Max.Chen
Sequencer: Fix crash when capturing a movie with options enabling separate process and close editor.
Copy from Release-4.17
#jira UE-48487
Change 3612807 by Max.Chen
Sequencer: Fix crash upgrading the time range of a null track.
Copy from Release-4.17
#jira UE-48490
Change 3612808 by Max.Chen
Sequencer: Fixed dragging skeletal animations causing them to revert back to t-pose
Copy from Release-4.17
#jira UE-48367
Change 3612849 by Arciel.Rekman
Fix tesselation in packaged Linux projects (UE-24301).
- Change by Cengiz.Terzibas.
#jira UE-24301
Change 3613022 by Nick.Darnell
Editor - Fixing a crash on load with a null CoordIndex json node.
Change 3613030 by Matt.Kuhlenschmidt
PR #3932: UE-48693: if instead of while statement (Contributed by projectgheist)
#jira UE-48747
Change 3613047 by Matt.Kuhlenschmidt
PR #3933: Git plugin: add "branch source" in history window (Contributed by SRombauts)
Change 3613050 by Matt.Kuhlenschmidt
PR #3942: Sort Data Table Structures Alphabetically (Contributed by Nick-Pearson)
Change 3613062 by Matt.Kuhlenschmidt
PR #3939: Fix a typo in RecordQualityLevelsAnalytics(). (Contributed by samhocevar)
Change 3613241 by Nick.Darnell
Editor - Fixing the content browser's view settings to be project agnostic, and they will start saving again.
Change 3613329 by Lauren.Ridge
Moving favorite levels to a standard submenu so they also work on Mac
Change 3613344 by Nick.Darnell
Editor - Fixing the achorgrid show up as white in HDPI mode, seems because we were upsampling the image, the blend was between dark and a transparent white, so that caused everything to turn white in HDPI mode.
#jira UE-48921
Change 3613380 by Matt.Kuhlenschmidt
Fix FBX window being off the screen in high DPI
#jira UE-48872
Change 3614598 by Matt.Kuhlenschmidt
Fixed Sequencer Keyframes appearing out of place on High DPI Monitors
#jira UE-48915
Change 3614625 by Matt.Kuhlenschmidt
Fixed not being able to click on BSP correctly in high dpi
#jira UE-48947
Change 3614672 by Matt.Kuhlenschmidt
Fix combo box windows being larger than necessary on high dpi monitors
#jira UE-48908
Change 3614699 by Matt.Kuhlenschmidt
Fix typo
#jira UE-48941
Change 3615011 by Matt.Kuhlenschmidt
Fix color picker calculation appearing offscreen for high dpi
Change 3615013 by Michael.Dupuis
#jira UE-48897: Properly rebuild the tree when reapplying instance to the component
Change 3615014 by Colin.Benoit
Sequencer Recorder test content
Change 3615048 by Colin.Benoit
Sequencer Recorder: more test content
Change 3615118 by Lauren.Ridge
Updating realtime state of viewports to also change when settings toggled
#jira UE-48884
Change 3615127 by Lauren.Ridge
Remove delegate binding on viewport destruction
Change 3615180 by Bradut.Palas
#jira UE-48167 profiler crash
Don't duplicate the graph data when rebuilding because that completely voids the OneToOneMapping mechanism, resulting in the crash. Looking up objects in the mapping would always return null because the mapping contains the old addresses, before the rebuild.
One option would have been to completely rebuild the mapping according to the duplicate graph, which would be dubious because the duplicate method isn't specifically designed so that the result would replace the source.
But it looks like duplicating the data is not needed, it's safe to rebuild in-place, RebuildForFilter() doesn't do anything illegal with the objects. This is also the only purpose and the only reference of the function.
Change 3615232 by Lauren.Ridge
Adding input handling to the material editor viewport client
#jira UE-48909
Change 3615703 by Jamie.Dale
Fixed crash when fixing up references after a package rename failed
#jira UE-48856
Change 3615752 by Matt.Kuhlenschmidt
More generic fix for color picker and other windows that use CalculatePopupWindowPostion not accounting for DPI scale
Change 3615907 by Jamie.Dale
Fixed some crashes caused by CL# 3600812
Change 3616031 by Matt.Kuhlenschmidt
Added guard against invalid blueprints (ones without a generated class) being trying to be opened in the property matrix and failing
#jira UE-48986
Change 3616151 by Arciel.Rekman
Fixing adding array elements in config.
- "+Blah=Foo" will do Blah.AddUnique(Foo)
- ".Blah=Foo" will do Blah.Add(Foo)
- See JoshA re: why (also see: https://udn.unrealengine.com/questions/388157/incorrect-behavior-in-configcacheinicpp.html?childToView=389307)
Change 3616439 by Andrew.Porter
QAGame: Updating level visibility content in sequencer smoke map
Change 3616441 by Matt.Kuhlenschmidt
Fix more sequencer track offsetting with DPI scale
#jira UE-48981
Change 3617263 by Max.Chen
Sequencer: Fix crash in level visibility teardown. Null playback context.
#jira UE-49012
Change 3617316 by Max.Chen
Sequencer: Fixed a regression where the frame rate isn't getting initialized for a movie scene.
Change 3617648 by Matt.Kuhlenschmidt
Adding some windows specific logging around setting or failing to set process dpi awareness
Change 3617665 by Matt.Kuhlenschmidt
Guard against layers module not being loaded in keybinding automation test
Change 3617731 by Arciel.Rekman
Fix crashes on AMD Mesa drivers (UE-48374).
- Do not expose unnecessary symbols from libelf.a to avoid symbol collision with system library used by drivers.
Change 3617923 by Bradut.Palas
#jira UE-47072
Editor was crashing because deleted actor was not cleaned properly from asset editors. Changed IAssetEditorInstance to offer a function for deleting an object from the editor.
Change 3618088 by Matt.Kuhlenschmidt
Guard against crash with potentially invalid worlds in preview scenes
#jira UE-48997
Change 3618373 by Matt.Kuhlenschmidt
Force worldsettings to be hidden in editor so that it is not considered for selection
#jira UE-48996
Change 3618464 by Max.Chen
Sequencer: Fix regression where spawnables don't play because they're defined as temporary editor actors.
#jira UE-48923
Change 3619789 by Matt.Kuhlenschmidt
Fix DPI scale warnings in any kind of headless editor mode
Change 3619802 by Jamie.Dale
Fixed deprecation warning in malloc profiler
Change 3619841 by Matt.Kuhlenschmidt
Fix missing icons in the package project menu
#jira UE-48674
Change 3619991 by Lauren.Ridge
Fix typo in transaction message
#jira UE-48993
Change 3620086 by Lauren.Ridge
Moving realtime viewport logic to refresh instead of construct so it is always triggered upon opening a new material editor
#jira UE-48884
Change 3620616 by Matt.Kuhlenschmidt
Fix up file
Change 3621002 by Matt.Kuhlenschmidt
Back out change to apply scaling rules in loading screens since blueprint based DPI scaling rule classes will not have been created yet
#jira UE-49125
Change 3621049 by Arciel.Rekman
Fix a build error.
- Also make sure that we don't print confusing message when no messagebox can be shown
(this code changed during the merge).
Change 3621064 by Arciel.Rekman
Deleted too much in the previous changelist.
Change 3621369 by Matt.Kuhlenschmidt
Fix keybindings automation test failing due to multiple entries in the active choords array pointing to the same thing
#jira UE-49131
[CL 3621569 by Matt Kuhlenschmidt in Main branch]
2017-08-31 21:51:42 -04:00
}
2015-01-30 10:16:55 -05:00
}
2021-01-11 11:14:52 -04:00
DetailsView - > SetObjects ( DetailsObjects , bForceRefresh , bOverrideLock ) ;
2022-02-23 15:54:47 -05:00
ElementSelectionDetailsButtons - > UpdateSelection ( InDetailsElementsPtr ) ;
2015-01-30 10:16:55 -05:00
}
void SActorDetails : : PostUndo ( bool bSuccess )
{
// Enable the selection guard to prevent OnTreeSelectionChanged() from altering the editor's component selection
TGuardValue < bool > SelectionGuard ( bSelectionGuard , true ) ;
2015-02-16 09:29:37 -05:00
2015-01-30 10:16:55 -05:00
// Refresh the tree and update the selection to match the world
2021-05-07 10:04:49 -04:00
SubobjectEditor - > UpdateTree ( ) ;
2015-01-30 10:16:55 -05:00
UpdateComponentTreeFromEditorSelection ( ) ;
}
void SActorDetails : : PostRedo ( bool bSuccess )
{
PostUndo ( bSuccess ) ;
}
2021-01-11 11:14:52 -04:00
void SActorDetails : : AddReferencedObjects ( FReferenceCollector & Collector )
{
for ( const TUniquePtr < ITypedElementDetailsObject > & TopLevelElement : TopLevelElements )
{
TopLevelElement - > AddReferencedObjects ( Collector ) ;
}
}
FString SActorDetails : : GetReferencerName ( ) const
{
return TEXT ( " SActorDetails " ) ;
}
2020-02-14 13:12:47 -05:00
void SActorDetails : : SetActorDetailsRootCustomization ( TSharedPtr < FDetailsViewObjectFilter > ActorDetailsObjectFilter , TSharedPtr < IDetailRootObjectCustomization > ActorDetailsRootCustomization )
2020-02-10 15:43:53 -05:00
{
2020-02-14 13:12:47 -05:00
DetailsView - > SetObjectFilter ( ActorDetailsObjectFilter ) ;
DetailsView - > SetRootObjectCustomizationInstance ( ActorDetailsRootCustomization ) ;
DetailsView - > ForceRefresh ( ) ;
2020-02-10 15:43:53 -05:00
}
2021-05-07 10:04:49 -04:00
void SActorDetails : : SetSubobjectEditorUICustomization ( TSharedPtr < ISCSEditorUICustomization > ActorDetailsSubobjectEditorUICustomization )
2020-09-01 14:07:48 -04:00
{
2021-05-07 10:04:49 -04:00
if ( SubobjectEditor . IsValid ( ) )
2020-09-01 14:07:48 -04:00
{
2021-05-07 10:04:49 -04:00
SubobjectEditor - > SetUICustomization ( ActorDetailsSubobjectEditorUICustomization ) ;
2020-09-01 14:07:48 -04:00
}
}
2015-02-11 06:05:44 -05:00
void SActorDetails : : OnComponentsEditedInWorld ( )
{
2021-01-11 11:14:52 -04:00
if ( AActor * Actor = GetActorContext ( ) )
2015-02-11 06:05:44 -05:00
{
2021-01-11 11:14:52 -04:00
if ( SelectionSet - > IsElementSelected ( UEngineElementsLibrary : : AcquireEditorActorElementHandle ( Actor ) , FTypedElementIsSelectedOptions ( ) ) )
2015-01-30 10:16:55 -05:00
{
2021-01-11 11:14:52 -04:00
// The component composition of the observed actor has changed, so rebuild the node tree
TGuardValue < bool > SelectionGuard ( bSelectionGuard , true ) ;
2015-01-30 10:16:55 -05:00
2021-01-11 11:14:52 -04:00
// Refresh the tree and update the selection to match the world
2021-05-07 10:04:49 -04:00
SubobjectEditor - > UpdateTree ( ) ;
2021-01-11 11:14:52 -04:00
DetailsView - > ForceRefresh ( ) ;
2015-01-30 10:16:55 -05:00
}
}
}
2015-02-18 08:54:57 -05:00
bool SActorDetails : : GetAllowComponentTreeEditing ( ) const
{
return GEditor - > PlayWorld = = nullptr ;
}
2015-01-30 11:25:21 -05:00
AActor * SActorDetails : : GetActorContext ( ) const
2021-05-07 10:04:49 -04:00
{
2021-05-20 20:14:19 -04:00
return TopLevelElements . Num ( ) = = 1
? Cast < AActor > ( TopLevelElements [ 0 ] - > GetObject ( ) )
: nullptr ;
2021-05-07 10:04:49 -04:00
}
2021-05-20 20:14:19 -04:00
UObject * SActorDetails : : GetActorContextAsObject ( ) const
2015-01-30 11:25:21 -05:00
{
2021-05-20 20:14:19 -04:00
return GetActorContext ( ) ;
2015-01-30 11:25:21 -05:00
}
2021-05-07 10:04:49 -04:00
void SActorDetails : : OnSubobjectEditorTreeViewSelectionChanged ( const TArray < FSubobjectEditorTreeNodePtrType > & SelectedNodes )
2015-01-30 10:16:55 -05:00
{
2021-01-11 11:14:52 -04:00
if ( bSelectionGuard )
2015-01-30 10:16:55 -05:00
{
2021-01-11 11:14:52 -04:00
// Preventing selection changes from having an effect...
return ;
}
if ( SelectedNodes . Num ( ) = = 0 )
{
// Don't respond to de-selecting everything...
return ;
}
2021-05-07 10:04:49 -04:00
AActor * ActorContext = GetActorContext ( ) ;
if ( ! ActorContext )
2021-01-11 11:14:52 -04:00
{
2021-05-07 10:04:49 -04:00
// The Subobject editor requires an actor context...
2021-01-11 11:14:52 -04:00
return ;
}
if ( SelectedNodes . Num ( ) > 1 & & SelectedBPComponentBlueprint . IsValid ( ) )
{
// Remove the compilation delegate if we are no longer displaying the full details for a single blueprint component.
RemoveBPComponentCompileEventDelegate ( ) ;
}
2021-05-07 10:04:49 -04:00
else if ( SelectedNodes . Num ( ) = = 1 & & SelectedNodes [ 0 ] - > IsComponentNode ( ) )
2021-01-11 11:14:52 -04:00
{
// Add delegate to monitor blueprint component compilation if we have a full details view ( i.e. single selection )
2021-05-07 10:04:49 -04:00
FSubobjectData * SelectedData = SelectedNodes [ 0 ] - > GetDataSource ( ) ;
if ( UActorComponent * Component = const_cast < UActorComponent * > ( SelectedData - > FindComponentInstanceInActor ( ActorContext ) ) )
2015-06-19 09:39:22 -04:00
{
2021-01-11 11:14:52 -04:00
if ( UBlueprintGeneratedClass * ComponentBPGC = Cast < UBlueprintGeneratedClass > ( Component - > GetClass ( ) ) )
2015-01-30 10:16:55 -05:00
{
2021-01-11 11:14:52 -04:00
if ( UBlueprint * ComponentBlueprint = Cast < UBlueprint > ( ComponentBPGC - > ClassGeneratedBy ) )
2015-01-30 10:16:55 -05:00
{
2021-01-11 11:14:52 -04:00
AddBPComponentCompileEventDelegate ( ComponentBlueprint ) ;
2015-01-30 10:16:55 -05:00
}
}
}
}
2021-05-07 10:04:49 -04:00
2021-01-11 11:14:52 -04:00
// We only actually update the editor selection state if we're not locked
if ( ! DetailsView - > IsLocked ( ) )
{
TArray < FTypedElementHandle > NewEditorSelection ;
2021-05-07 10:04:49 -04:00
NewEditorSelection . Add ( UEngineElementsLibrary : : AcquireEditorActorElementHandle ( ActorContext ) ) ;
2021-01-11 11:14:52 -04:00
2021-05-07 10:04:49 -04:00
for ( const FSubobjectEditorTreeNodePtrType & SelectedNode : SelectedNodes )
2021-01-11 11:14:52 -04:00
{
if ( SelectedNode )
{
2021-05-07 10:04:49 -04:00
if ( FSubobjectData * Data = SelectedNode - > GetDataSource ( ) )
2021-01-11 11:14:52 -04:00
{
2021-06-08 19:54:16 -04:00
if ( Data - > IsRootActor ( ) )
2021-01-11 11:14:52 -04:00
{
2021-05-07 10:04:49 -04:00
// If the actor node is selected then we ignore the component selection
NewEditorSelection . Reset ( ) ;
NewEditorSelection . Add ( UEngineElementsLibrary : : AcquireEditorActorElementHandle ( ActorContext ) ) ;
break ;
}
2021-06-08 19:54:16 -04:00
if ( Data - > IsComponent ( ) )
2021-05-07 10:04:49 -04:00
{
if ( const UActorComponent * Component = Data - > FindComponentInstanceInActor ( ActorContext ) )
{
NewEditorSelection . Add ( UEngineElementsLibrary : : AcquireEditorComponentElementHandle ( Component ) ) ;
}
2021-01-11 11:14:52 -04:00
}
}
}
}
// Note: this transaction should not take place if we are in the middle of executing an undo or redo because it would clear the top of the transaction stack.
const bool bShouldActuallyTransact = ! GIsTransacting ;
const FScopedTransaction Transaction ( NSLOCTEXT ( " UnrealEd " , " ClickingOnComponentInTree " , " Clicking on Component (tree view) " ), bShouldActuallyTransact) ;
2021-05-07 10:04:49 -04:00
// Enable the selection guard to prevent OnEditorSelectionChanged() from altering the contents of the SubobjectTreeWidget
2021-01-11 11:14:52 -04:00
TGuardValue < bool > SelectionGuard ( bSelectionGuard , true ) ;
SelectionSet - > SetSelection ( NewEditorSelection , FTypedElementSelectionOptions ( ) ) ;
SelectionSet - > NotifyPendingChanges ( ) ; // Fire while still under the selection guard
}
// Update the underlying details view
2021-05-07 10:04:49 -04:00
RefreshSubobjectTreeElements ( SelectedNodes , /*bForceRefresh*/ false , DetailsView - > IsLocked ( ) ) ;
2015-01-30 10:16:55 -05:00
}
2021-05-07 10:04:49 -04:00
void SActorDetails : : OnSubobjectEditorTreeViewItemDoubleClicked ( const FSubobjectEditorTreeNodePtrType ClickedNode )
{
if ( ClickedNode & & ClickedNode - > IsComponentNode ( ) )
2015-03-16 07:23:27 -04:00
{
2021-05-07 10:04:49 -04:00
if ( const USceneComponent * SceneComponent = Cast < USceneComponent > ( ClickedNode - > GetComponentTemplate ( ) ) )
2015-03-16 07:23:27 -04:00
{
2021-01-11 11:14:52 -04:00
const bool bActiveViewportOnly = false ;
GEditor - > MoveViewportCamerasToComponent ( SceneComponent , bActiveViewportOnly ) ;
2015-03-16 07:23:27 -04:00
}
}
}
2015-01-30 10:16:55 -05:00
void SActorDetails : : UpdateComponentTreeFromEditorSelection ( )
{
2021-01-11 11:14:52 -04:00
if ( DetailsView - > IsLocked ( ) )
2015-01-30 10:16:55 -05:00
{
2021-01-11 11:14:52 -04:00
return ;
2015-01-30 10:16:55 -05:00
}
2021-01-11 11:14:52 -04:00
// Enable the selection guard to prevent OnTreeSelectionChanged() from altering the editor's component selection
TGuardValue < bool > SelectionGuard ( bSelectionGuard , true ) ;
2021-05-07 10:04:49 -04:00
TSharedPtr < SSubobjectEditorDragDropTree > TreeWidget = SubobjectEditor - > GetDragDropTree ( ) ;
2021-01-11 11:14:52 -04:00
// Update the tree selection to match the level editor component selection
2021-05-07 10:04:49 -04:00
SubobjectEditor - > ClearSelection ( ) ;
SelectionSet - > ForEachSelectedObject < UActorComponent > ( [ this , & TreeWidget ] ( UActorComponent * InComponent )
2021-01-11 11:14:52 -04:00
{
2021-05-07 10:04:49 -04:00
FSubobjectEditorTreeNodePtrType TreeNode = SubobjectEditor - > FindSlateNodeForObject ( InComponent , false ) ;
if ( TreeNode & & TreeNode - > GetComponentTemplate ( ) )
2021-01-11 11:14:52 -04:00
{
2021-05-07 10:04:49 -04:00
TreeWidget - > RequestScrollIntoView ( TreeNode ) ;
TreeWidget - > SetItemSelection ( TreeNode , true ) ;
2021-06-22 17:03:10 -04:00
check ( InComponent = = TreeNode - > GetComponentTemplate ( ) | | InComponent - > GetArchetype ( ) = = TreeNode - > GetComponentTemplate ( ) ) ;
2021-01-11 11:14:52 -04:00
}
return true ;
} ) ;
2021-05-07 10:04:49 -04:00
TArray < FSubobjectEditorTreeNodePtrType > SelectedNodes = SubobjectEditor - > GetSelectedNodes ( ) ;
2021-01-11 11:14:52 -04:00
if ( SelectedNodes . Num ( ) = = 0 )
{
2021-05-07 10:04:49 -04:00
SubobjectEditor - > SelectRoot ( ) ;
SelectedNodes = SubobjectEditor - > GetSelectedNodes ( ) ;
2021-01-11 11:14:52 -04:00
}
// Update the underlying details view
2021-05-07 10:04:49 -04:00
RefreshSubobjectTreeElements ( SelectedNodes , bSelectedComponentRecompiled , /*bOverrideLock*/ false ) ;
2015-01-30 10:16:55 -05:00
}
2015-02-06 09:18:48 -05:00
2015-03-13 12:41:36 -04:00
bool SActorDetails : : IsPropertyReadOnly ( const FPropertyAndParent & PropertyAndParent ) const
{
bool bIsReadOnly = false ;
2021-05-07 10:04:49 -04:00
for ( const FSubobjectEditorTreeNodePtrType & Node : SubobjectEditor - > GetSelectedNodes ( ) )
2015-03-13 12:41:36 -04:00
{
2021-05-07 10:04:49 -04:00
const UActorComponent * Component = Node - > GetComponentTemplate ( ) ;
2015-03-13 12:41:36 -04:00
if ( Component & & Component - > CreationMethod = = EComponentCreationMethod : : SimpleConstructionScript )
{
2020-01-07 15:54:23 -05:00
TSet < const FProperty * > UCSModifiedProperties ;
2015-03-13 12:41:36 -04:00
Component - > GetUCSModifiedProperties ( UCSModifiedProperties ) ;
2019-09-10 11:35:20 -04:00
if ( UCSModifiedProperties . Contains ( & PropertyAndParent . Property ) | |
( PropertyAndParent . ParentProperties . Num ( ) > 0 & & UCSModifiedProperties . Contains ( PropertyAndParent . ParentProperties [ 0 ] ) ) )
2015-03-13 12:41:36 -04:00
{
bIsReadOnly = true ;
break ;
}
}
}
return bIsReadOnly ;
}
2015-02-06 09:18:48 -05:00
bool SActorDetails : : IsPropertyEditingEnabled ( ) const
{
Copying //UE4/Dev-Sequencer to //UE4/Main (Source: //UE4/Dev-Sequencer @ 2945541)
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2837601 on 2016/01/20 by Thomas.Sarkanen
Sequencer: Exposed bool, byte, event, fade, float, slomo, and visibility section keys in context menu
Change 2840895 on 2016/01/23 by Thomas.Sarkanen
Sequencer: Moved key proxy handling from section into key area; added support for grouped keys; exposed color properties in context menu.
Change 2901092 on 2016/03/09 by Thomas.Sarkanen
Sequencer: Fixed ensure() and crash when exiting PIE & then playing back in editor
Made sure that instances that are playing that have active montages can re-connect to a playing montage if it is already active. We dont stop/start preview/non-
preview playback when switching modes right now so I've just made the system robust to the switch when playing back animation.
Ensured that instances are kept up to date by hooking into EndPlayMapDelegate. This fires slightly later than OnEndPIE, so it allows us to pick up when instances
have been deleted from the world. OnEndPIE is fired before the worlds are shutdown so instances can still be bound to valid (but nearly dead) actors at this point.
#jira UE-27898
#jira UE-27899
Change 2901159 on 2016/03/09 by Chris.Bunner
Allow EXR frames from SaveHighResScreenshot to be uncompressed (r.SaveUncompressedEXRFrames).
Change 2903123 on 2016/03/10 by Max.Chen
Sequencer: Add snapping for the in/out range.
Change 2903126 on 2016/03/10 by Max.Chen
Sequencer: Fix split and trim for cinematic shot sections so that the start offset value is set.
Change 2903132 on 2016/03/10 by Max.Chen
Sequencer: Create camera here and set it as the current camera cut.
Change 2903138 on 2016/03/10 by Max.Chen
Sequencer: Improve mechanism for adding objects to Sequencer. Hold down shift while dragging from content browser to add as a spawnable. Hold down ctrl while
dragging from content browser to add as a possessable.
Change 2903143 on 2016/03/10 by Max.Chen
Sequencer: Add 4k to movie capture dialog.
#jira UE-28147
Change 2903157 on 2016/03/10 by Max.Chen
Sequencer: Pop out of locked camera when popping out of the sequence.
#jira UE-27662
Change 2908097 on 2016/03/14 by Andrew.Rodham
Sequencer: Added default viewport type onto the viewport types menu
- The activation command for a given viewport type no longer toggles it if it's already active, it will just do nothing.
- Switching back to the default viewport type can be achieved with SHIFT+D
Change 2911869 on 2016/03/16 by Max.Preussner
Editor: Caching device proxy manager, so the UI doesn't constantly poll for the TargetDeviceServices module
Change 2917943 on 2016/03/22 by Thomas.Sarkanen
Sequence Recording: Added "Record New Sequence From Current Player" to sub-sequence track menu
This option is only available in PIE. When selected it primes a new seciton for recording against the pawn that is currently being controlled by the player.
Change 2917946 on 2016/03/22 by Max.Chen
Sequencer: Automatically add and attach a cine camera when dropping a crane or rail.
Change 2917954 on 2016/03/22 by Thomas.Sarkanen
Fix anim dynamics going crazy on time skips
Added new API to FAnimNode_Base: NeedsDynamicReset and ResetDynamics.
This allows nodes that subscribe to this interface to be reset on teleport/time skips.
Call through to ResetDynamics on zero timestep (ie. skips) in the preview path in Sequencer.
Change 2917961 on 2016/03/22 by Frank.Fella
Sequencer - Sequencer - Update the color track code to match the behavior in matinee, also remove empty light color tracks from the sequence, and add a missing
particle parameter track.
Change 2917984 on 2016/03/22 by Max.Chen
Sequencer: Fix crash on deleting object binding nodes multiple times.
Change 2917986 on 2016/03/22 by Max.Chen
Sequencer: Fix if adding multiple camera cuts at the same time with the same duration as an existing camera cut. The camera is replaced in this case.
Change 2917994 on 2016/03/22 by Jeff.Farris
Support for scene depth picker. Used for focus depth sampling in cine cams.
Change 2918003 on 2016/03/22 by Max.Chen
Sequencer - Fix selection issues related to keying an undo by moving the selection clear on rebuild to after the tree selection state has been cached by path.
Change 2920371 on 2016/03/23 by Max.Preussner
UnrealEd: Added a file import path that doesn't load the entire file into memory prior to importing
UFactory::StaticImport will now call FactoryCreateFile for both text and binary files. The default implementation will load the file into a buffer/string and call
FactoryCreateBinary/FactoryCreateText to preserve legacy behavior. New factories may override FactoryCreateFile to perform their own file processing instead.
Change 2923359 on 2016/03/25 by Max.Preussner
UnrealEd: Refactored out StaticImportObject code into ImportObject
Change 2924887 on 2016/03/28 by Jeff.Farris
Sequencer: Camera Anim and Camera Shake tracks now support PostProcess changes in the CameraAnim
Change 2927283 on 2016/03/30 by Max.Chen
Sequencer: Fix crash resetting default in audio track in sequencer. Fix audio track rename when adding another audio.
#jira UE-28836, UE-28859
Change 2928290 on 2016/03/30 by Max.Preussner
ContentBrowser: Disabling 'Show in Explorer' context menu option for newly created/unsaved asset(s)
Change 2928480 on 2016/03/30 by Max.Preussner
AssetTools: Added built-in type category for Media assets
Change 2928498 on 2016/03/30 by Max.Preussner
AssetTools: Sorting asset type categories alphabetically
Change 2932326 on 2016/04/04 by Frank.Fella
Sequencer - Add "paste from matinee" support for audio tracks, and add volume support to audio sections in sequencer.
Change 2933917 on 2016/04/05 by Max.Preussner
Core: Added microseconds support to FTimespan
Change 2933920 on 2016/04/05 by Max.Preussner
Sockets: Simplified socket timeout assignments
Change 2935434 on 2016/04/06 by Max.Chen
Sequencer: Deselect possessable before converting it to a spawnable and deleting it. Also, make sure the newly converted spawnables are selected. This fixes a bug
where the transform gizmo remains after adding a spawnable.
Also, consolidate code for adding possessables to sequencer so that the newly added possessable node will be selected in the widget tree.
#jira UE-28215
Change 2935590 on 2016/04/06 by Jeff.Farris
Made crane rig preview mesh at the tip move as expected and appear in a reasonable place.
Change 2936082 on 2016/04/07 by Max.Chen
Sequencer: Attach should use default attach component of the actor if it exists. This fixes a bug where trying to attach to a camera crane rig attaches to the
proper component.
Change 2936118 on 2016/04/07 by Max.Chen
Sequencer: Adding crane/rail with shift now adds the crane/rig as a spawnable and the attached cine camera as a spawnable. An attach track is created for the cine
camera spawnable.
#jira UE-28308
Change 2937226 on 2016/04/07 by Max.Chen
Sequencer: Add invalidation when levels are added or removed.This fixes a bug were if you have a level sequence open and then add a sublevel that the level
sequence operates on, it correctly updates the actors from the new sub level.
#jira UE-27595
Change 2937263 on 2016/04/07 by Frank.Fella
Sequencer - Changed the matinee to sequencer conversion tools so that curve keys set to "clamped auto" import as user tangents since we don't support clamped auto
in sequencer.
Change 2937273 on 2016/04/07 by Max.Chen
Sequencer: No longer experimental/betal and now enabled by default.
#jira UETOOl-625
Change 2937694 on 2016/04/08 by Max.Chen
Curve Editor: Separate out input and output snapping.
#jira UE-27209
Change 2937852 on 2016/04/08 by Andrew.Rodham
Sequencer: Spawnables no longer use generated classes
- Spawnables now store a template actor instance, rather than a generated class
- All relevant code has been converted to use this new approach
- Spawnable defaults are now harvested directly from any spawned instances when the movie scene is saved, or when the object is de-spawned. We only do this for
spawnables *in the currently active sequence instance*. This approach ensures that instance components and other properties persist.
- Currently we don't mark the package as dirty when the defaults are changed. This needs to be addressed.
- Some fixes have been made to AActor and Actor Iterators to ensure that actors not contained within a level do not crash.
- Spawning optimisations to follow
Change 2937956 on 2016/04/08 by Max.Preussner
Sequencer: Added selection range commands to general toolbar menu
Change 2937981 on 2016/04/08 by Max.Preussner
Sequencer: Refactored GetKeyHandles to take a time range for filtering keys
Change 2938007 on 2016/04/08 by Max.Preussner
Sequencer: Implemented selection range key selection
Change 2938184 on 2016/04/08 by Max.Chen
Sequencer: Find in Content Browser is now in the top level menubar.
#jira UE-21598
Change 2938665 on 2016/04/08 by Frank.Fella
UMG - Add support for material animation.
Change 2939048 on 2016/04/10 by Max.Chen
CineCamera: Change current position on rail to normalize position.
Change 2939067 on 2016/04/10 by Max.Chen
Sequencer: Add paste color from matinee
Change 2939587 on 2016/04/11 by Andrew.Rodham
Sequencer: Fixes to spawnable rework
- Removed commented out code.
- Fixed particle system components not disabling auto activate.
- Instance Components are now correctly registered on spawn.
- Removed ability to set the editable flag on actors in favor of a delegate assigned to SActorDetails to disable property editing on actors spawned from outside
of the currently focused sequence.
Change 2939666 on 2016/04/11 by Andrew.Rodham
Sequencer: Fixed active sequence ID not being set on creation
Change 2940663 on 2016/04/12 by Andrew.Rodham
Sequencer: Spawnable object templates now always have the RF_ArchetypeObject flag
#jira UE-29337, UE-29339
Change 2940742 on 2016/04/12 by Thomas.Sarkanen
Improvements to sequence recording API
Sequence recording is now more extensible.
Moved the majority of recorders into a seperate module.
Cleaned up recorder API, removed bRecord that was only really used once.
Added factory class as a modular feature that allows users to register and implement their own recorders.
Recorders can supply their own settings classes. These are incorporated into the UI via a details customization so they appear to be seamlessly integrated.
Exposed components to record as an advanced setting. Users can use this to gate the components and actors that are recorded.
#jira UE-28850 - Update sequence recording API for better extensibility
Change 2940828 on 2016/04/12 by Max.Chen
Level Editor: Clear the camera preview if the level viewport is locked to the same camera.
#jira UE-27489
Change 2941090 on 2016/04/12 by Frank.Fella
Sequencer - Fix inconsistencies with the level visibility track.
+ Add an option to update a track instance when it stops playing due to it's parent movie scene being deactivated as a sub-scene.
+ Reset level visibility state when the section ends, or when it's parent subsection ends.
Change 2941427 on 2016/04/12 by Andrew.Rodham
Sequencer: Fixes for recorded dynamic components
- Dynamic components are now named uniquely within their owner actor, and are no longer re-bound to new object tracks when detached/re-attached
- New dynamic components are created every time a new component is detected on an actor, regardless of whether it was once attached before. This affords
recording externally managed components from a component pool.
- Section recorders for components that are no longer attached to the actor are now disabled correctly.
Change 2941760 on 2016/04/12 by Max.Preussner
Editor: Setting up correct material expresions when creating material from normal map texture
Change 2941819 on 2016/04/13 by Max.Chen
Sequencer: Fire named events in all sublevels.
#jira UE-28843
Change 2942052 on 2016/04/13 by Andrew.Rodham
Sequencer: Fixed not being able to add dynamic material parameter tracks to spawnables when the object is not spawned
#jira UE-24287
Change 2942223 on 2016/04/13 by Max.Preussner
Editor: Using built-in function to assign sampler format
Change 2942833 on 2016/04/13 by Max.Chen
Sequencer: More copy matinee helpers.
- Make some sections infinite.
- Fix FindPossessableObjectId
- Expose FindGroupByName
Change 2942944 on 2016/04/13 by Max.Chen
Sequencer: Fix anim copy so that it doesn't create an animation clip longer than the next clip's start position.
Change 2943313 on 2016/04/14 by Max.Chen
Sequencer: Initial matinee to level sequence asset converter. Right click on a matinee actor in the level and choose "Convert to Level Sequence"
Current supports:
- movement tracks
- generic property tracks
- particle tracks
- anim control tracks
- event tracks
- audio tracks
- visibility track
- director track (fade, slomo, camera cuts)
Possible todos:
- Relative scale3D
- Option to create spawnables instead of possessables
- Create shots per director track camera cut instead of a direct translation to the camera cut track
#jira UETOOL-467
Change 2943596 on 2016/04/14 by Andrew.Rodham
Editor: Fixed placement mode scrollbar visibility not working for custom content
#jira UE-27191
Change 2943651 on 2016/04/14 by Max.Chen
Sequencer: Invalidate the audio waveform when the source changes.
#jira UE-29394
Change 2943674 on 2016/04/14 by Max.Chen
Sequencer: Store/restore playback state when rebuilding.
#jira UE-29452
Change 2943993 on 2016/04/14 by Max.Chen
Sequencer: Convert slot name from matinee to level sequence.
Change 2944156 on 2016/04/14 by Frank.Fella
Sequencer - Fix undo when moving items into folders, and when deleting folder.
#jira UE-27368
Change 2944227 on 2016/04/14 by Max.Chen
Sequencer: Show curves in the curve editor if one of the parent nodes is selected. For example, if Location is selected, show Location.X, Location.Y, and
Location.Z
Change 2945057 on 2016/04/15 by Andrew.Rodham
Editor: Fixed placement mode scrollbar visibility not working for custom content
#jira UE-27191
#lockdown nick.penwarden
[CL 2945551 by Max Chen in Main branch]
2016-04-15 14:50:58 -04:00
FLevelEditorModule & LevelEditor = FModuleManager : : GetModuleChecked < FLevelEditorModule > ( " LevelEditor " ) ;
if ( ! LevelEditor . AreObjectsEditable ( DetailsView - > GetSelectedObjects ( ) ) )
{
return false ;
}
2015-02-06 09:18:48 -05:00
bool bIsEditable = true ;
2021-05-07 10:04:49 -04:00
for ( const FSubobjectEditorTreeNodePtrType & Node : SubobjectEditor - > GetSelectedNodes ( ) )
2015-02-06 09:18:48 -05:00
{
2021-05-07 10:04:49 -04:00
if ( const FSubobjectData * Data = Node - > GetDataSource ( ) )
2015-02-06 09:18:48 -05:00
{
2021-05-07 10:04:49 -04:00
bIsEditable = Data - > CanEdit ( ) ;
if ( ! bIsEditable )
{
break ;
}
2015-02-06 09:18:48 -05:00
}
}
return bIsEditable ;
}
2015-03-10 14:08:41 -04:00
void SActorDetails : : OnBlueprintedComponentWarningHyperlinkClicked ( const FSlateHyperlinkRun : : FMetadata & Metadata )
2015-02-06 09:18:48 -05:00
{
2021-05-07 10:04:49 -04:00
UBlueprint * Blueprint = SubobjectEditor - > GetBlueprint ( ) ;
2015-03-10 14:08:41 -04:00
if ( Blueprint )
2015-02-06 09:18:48 -05:00
{
// Open the blueprint
GEditor - > EditObject ( Blueprint ) ;
}
}
2015-03-10 14:08:41 -04:00
void SActorDetails : : OnNativeComponentWarningHyperlinkClicked ( const FSlateHyperlinkRun : : FMetadata & Metadata )
2015-02-06 09:18:48 -05:00
{
2015-03-10 14:08:41 -04:00
// Find the closest native parent
2021-05-07 10:04:49 -04:00
UBlueprint * Blueprint = SubobjectEditor - > GetBlueprint ( ) ;
2015-03-10 15:14:27 -04:00
UClass * ParentClass = Blueprint ? * Blueprint - > ParentClass : GetActorContext ( ) - > GetClass ( ) ;
2015-03-10 14:08:41 -04:00
while ( ParentClass & & ! ParentClass - > HasAllClassFlags ( CLASS_Native ) )
{
ParentClass = ParentClass - > GetSuperClass ( ) ;
}
if ( ParentClass )
{
FString NativeParentClassHeaderPath ;
const bool bFileFound = FSourceCodeNavigation : : FindClassHeaderPath ( ParentClass , NativeParentClassHeaderPath )
& & ( IFileManager : : Get ( ) . FileSize ( * NativeParentClassHeaderPath ) ! = INDEX_NONE ) ;
if ( bFileFound )
{
const FString AbsoluteHeaderPath = IFileManager : : Get ( ) . ConvertToAbsolutePathForExternalAppForRead ( * NativeParentClassHeaderPath ) ;
FSourceCodeNavigation : : OpenSourceFile ( AbsoluteHeaderPath ) ;
}
}
}
2021-06-01 20:19:16 -04:00
EVisibility SActorDetails : : GetComponentEditorVisibility ( ) const
2020-04-28 12:41:26 -04:00
{
2021-01-11 11:14:52 -04:00
return GetActorContext ( ) ? EVisibility : : Visible : EVisibility : : Collapsed ;
2020-04-28 12:41:26 -04:00
}
2015-03-12 15:11:32 -04:00
EVisibility SActorDetails : : GetUCSComponentWarningVisibility ( ) const
2015-03-10 14:08:41 -04:00
{
2015-03-12 15:11:32 -04:00
bool bIsUneditableBlueprintComponent = false ;
2015-03-10 14:08:41 -04:00
// Check to see if any selected components are inherited from blueprint
2021-05-07 10:04:49 -04:00
for ( const FSubobjectEditorTreeNodePtrType & Node : SubobjectEditor - > GetSelectedNodes ( ) )
2015-03-10 14:08:41 -04:00
{
2021-05-07 10:04:49 -04:00
if ( const FSubobjectData * Data = Node - > GetDataSource ( ) )
2015-03-10 14:08:41 -04:00
{
2021-05-07 10:04:49 -04:00
if ( ! Data - > IsNativeComponent ( ) )
2015-03-12 15:11:32 -04:00
{
2021-05-07 10:04:49 -04:00
const UActorComponent * Component = Data - > GetComponentTemplate ( ) ;
bIsUneditableBlueprintComponent = Component ? Component - > CreationMethod = = EComponentCreationMethod : : UserConstructionScript : false ;
if ( bIsUneditableBlueprintComponent )
{
break ;
}
2015-03-12 15:11:32 -04:00
}
}
2021-05-07 10:04:49 -04:00
2015-03-12 15:11:32 -04:00
}
return bIsUneditableBlueprintComponent ? EVisibility : : Visible : EVisibility : : Collapsed ;
}
2021-05-07 10:04:49 -04:00
bool NotEditableSetByBlueprint ( const UActorComponent * Component )
2015-03-12 15:11:32 -04:00
{
// Determine if it is locked out from a blueprint or from the native
UActorComponent * Archetype = CastChecked < UActorComponent > ( Component - > GetArchetype ( ) ) ;
while ( Archetype )
{
if ( Archetype - > GetOuter ( ) - > IsA < UBlueprintGeneratedClass > ( ) | | Archetype - > GetOuter ( ) - > GetClass ( ) - > HasAllClassFlags ( CLASS_CompiledFromBlueprint ) )
{
if ( ! Archetype - > bEditableWhenInherited )
{
return true ;
}
Archetype = CastChecked < UActorComponent > ( Archetype - > GetArchetype ( ) ) ;
}
else
{
Archetype = nullptr ;
}
}
return false ;
}
EVisibility SActorDetails : : GetInheritedBlueprintComponentWarningVisibility ( ) const
{
bool bIsUneditableBlueprintComponent = false ;
// Check to see if any selected components are inherited from blueprint
2021-05-07 10:04:49 -04:00
for ( const FSubobjectEditorTreeNodePtrType & Node : SubobjectEditor - > GetSelectedNodes ( ) )
2015-03-12 15:11:32 -04:00
{
2021-05-07 10:04:49 -04:00
if ( const FSubobjectData * Data = Node - > GetDataSource ( ) )
2015-03-12 15:11:32 -04:00
{
2021-05-07 10:04:49 -04:00
if ( ! Data - > IsNativeComponent ( ) )
2015-03-12 15:11:32 -04:00
{
2021-05-07 10:04:49 -04:00
if ( const UActorComponent * Component = Data - > GetComponentTemplate ( ) )
2015-03-12 15:11:32 -04:00
{
2021-05-07 10:04:49 -04:00
if ( ! Component - > IsEditableWhenInherited ( ) & & Component - > CreationMethod = = EComponentCreationMethod : : SimpleConstructionScript )
{
bIsUneditableBlueprintComponent = true ;
break ;
}
2015-03-12 15:11:32 -04:00
}
}
2021-05-07 10:04:49 -04:00
else if ( ! Data - > CanEdit ( ) & & NotEditableSetByBlueprint ( Data - > GetComponentTemplate ( ) ) )
{
bIsUneditableBlueprintComponent = true ;
break ;
}
}
2015-03-10 14:08:41 -04:00
}
2015-03-12 15:11:32 -04:00
return bIsUneditableBlueprintComponent ? EVisibility : : Visible : EVisibility : : Collapsed ;
2015-03-10 14:08:41 -04:00
}
EVisibility SActorDetails : : GetNativeComponentWarningVisibility ( ) const
{
bool bIsUneditableNative = false ;
2021-05-07 10:04:49 -04:00
for ( const FSubobjectEditorTreeNodePtrType & Node : SubobjectEditor - > GetSelectedNodes ( ) )
2015-03-10 14:08:41 -04:00
{
2021-05-07 10:04:49 -04:00
if ( const FSubobjectData * Data = Node - > GetDataSource ( ) )
2015-03-10 14:08:41 -04:00
{
2021-05-07 10:04:49 -04:00
// Check to see if the component is native and not editable
if ( Data - > IsNativeComponent ( ) & & ! Data - > CanEdit ( ) & & ! NotEditableSetByBlueprint ( Data - > GetComponentTemplate ( ) ) )
{
bIsUneditableNative = true ;
break ;
}
2015-03-10 14:08:41 -04:00
}
2021-05-07 10:04:49 -04:00
2015-03-10 14:08:41 -04:00
}
return bIsUneditableNative ? EVisibility : : Visible : EVisibility : : Collapsed ;
2015-05-12 12:21:43 -04:00
}
2015-06-19 09:39:22 -04:00
void SActorDetails : : AddBPComponentCompileEventDelegate ( UBlueprint * ComponentBlueprint )
2015-05-12 12:21:43 -04:00
{
2015-06-19 09:39:22 -04:00
if ( SelectedBPComponentBlueprint . Get ( ) ! = ComponentBlueprint )
2015-05-12 12:21:43 -04:00
{
2015-06-19 09:39:22 -04:00
RemoveBPComponentCompileEventDelegate ( ) ;
SelectedBPComponentBlueprint = ComponentBlueprint ;
// Add blueprint component compilation event delegate
if ( ! ComponentBlueprint - > OnCompiled ( ) . IsBoundToObject ( this ) )
2015-05-12 12:21:43 -04:00
{
2015-06-19 09:39:22 -04:00
ComponentBlueprint - > OnCompiled ( ) . AddSP ( this , & SActorDetails : : OnBlueprintComponentCompiled ) ;
2015-05-12 12:21:43 -04:00
}
}
}
2015-06-19 09:39:22 -04:00
void SActorDetails : : RemoveBPComponentCompileEventDelegate ( )
2015-05-12 12:21:43 -04:00
{
2015-06-19 09:39:22 -04:00
// Remove blueprint component compilation event delegate
if ( SelectedBPComponentBlueprint . IsValid ( ) )
{
SelectedBPComponentBlueprint . Get ( ) - > OnCompiled ( ) . RemoveAll ( this ) ;
SelectedBPComponentBlueprint . Reset ( ) ;
bSelectedComponentRecompiled = false ;
}
}
void SActorDetails : : OnBlueprintComponentCompiled ( UBlueprint * ComponentBlueprint )
{
2021-01-11 11:14:52 -04:00
TGuardValue < bool > SelectedComponentRecompiledGuard ( bSelectedComponentRecompiled , true ) ;
2015-06-19 09:39:22 -04:00
UpdateComponentTreeFromEditorSelection ( ) ;
2015-05-12 12:21:43 -04:00
}
2021-02-18 18:54:03 -04:00
void SActorDetails : : OnObjectsReplaced ( const TMap < UObject * , UObject * > & InReplacementObjects )
{
if ( bHasSelectionOverride & & SelectionOverrideActors . Num ( ) > 0 )
{
bool bHasChanges = false ;
for ( auto It = SelectionOverrideActors . CreateIterator ( ) ; It ; + + It )
{
AActor * & Actor = * It ;
if ( UObject * const * ReplacementObjectPtr = InReplacementObjects . Find ( Actor ) )
{
bHasChanges = true ;
AActor * ReplacementActor = Cast < AActor > ( * ReplacementObjectPtr ) ;
if ( ReplacementActor )
{
Actor = ReplacementActor ;
}
else
{
It . RemoveCurrent ( ) ;
}
}
}
if ( bHasChanges )
{
TArray < AActor * > NewSelection = SelectionOverrideActors ;
OverrideSelection ( NewSelection ) ;
}
}
2021-12-01 21:15:38 -05:00
else
{
// Enable the selection guard to prevent OnTreeSelectionChanged() from altering the editor's component selection
TGuardValue < bool > SelectionGuard ( bSelectionGuard , true ) ;
SubobjectEditor - > UpdateTree ( ) ;
}
2021-02-18 18:54:03 -04:00
}
2022-02-23 15:54:47 -05:00
# undef LOCTEXT_NAMESPACE