Files
UnrealEngineUWP/Engine/Source/Editor/LevelEditor/Private/SActorDetails.cpp

1057 lines
34 KiB
C++
Raw Normal View History

// Copyright Epic Games, Inc. All Rights Reserved.
#include "SActorDetails.h"
Copying //UE4/Dev-Build to //UE4/Dev-Main (Source: //UE4/Dev-Build @ 3209340) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3209340 on 2016/11/23 by Ben.Marsh Convert UE4 codebase to an "include what you use" model - where every header just includes the dependencies it needs, rather than every source file including large monolithic headers like Engine.h and UnrealEd.h. Measured full rebuild times around 2x faster using XGE on Windows, and improvements of 25% or more for incremental builds and full rebuilds on most other platforms. * Every header now includes everything it needs to compile. * There's a CoreMinimal.h header that gets you a set of ubiquitous types from Core (eg. FString, FName, TArray, FVector, etc...). Most headers now include this first. * There's a CoreTypes.h header that sets up primitive UE4 types and build macros (int32, PLATFORM_WIN64, etc...). All headers in Core include this first, as does CoreMinimal.h. * Every .cpp file includes its matching .h file first. * This helps validate that each header is including everything it needs to compile. * No engine code includes a monolithic header such as Engine.h or UnrealEd.h any more. * You will get a warning if you try to include one of these from the engine. They still exist for compatibility with game projects and do not produce warnings when included there. * There have only been minor changes to our internal games down to accommodate these changes. The intent is for this to be as seamless as possible. * No engine code explicitly includes a precompiled header any more. * We still use PCHs, but they're force-included on the compiler command line by UnrealBuildTool instead. This lets us tune what they contain without breaking any existing include dependencies. * PCHs are generated by a tool to get a statistical amount of coverage for the source files using it, and I've seeded the new shared PCHs to contain any header included by > 15% of source files. Tool used to generate this transform is at Engine\Source\Programs\IncludeTool. [CL 3209342 by Ben Marsh in Main branch]
2016-11-23 15:48:37 -05:00
#include "Components/ActorComponent.h"
#include "Components/SceneComponent.h"
#include "DetailsViewObjectFilter.h"
#include "Editor.h"
#include "Editor/UnrealEdEngine.h"
#include "Styling/AppStyle.h"
#include "Elements/Framework/EngineElementsLibrary.h"
#include "Elements/Framework/TypedElementRegistry.h"
#include "Elements/Framework/TypedElementSelectionSet.h"
#include "Elements/Interfaces/TypedElementWorldInterface.h"
#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"
#include "LevelEditorSubsystem.h"
#include "Modules/ModuleManager.h"
#include "PropertyEditorModule.h"
#include "SSubobjectEditor.h"
#include "SSubobjectEditorModule.h"
#include "SSubobjectInstanceEditor.h"
#include "ScopedTransaction.h"
#include "SourceCodeNavigation.h"
#include "SubobjectData.h"
#include "SubobjectDataSubsystem.h"
#include "UnrealEdGlobals.h"
#include "Widgets/Docking/SDockTab.h"
#include "Widgets/Images/SImage.h"
#include "Widgets/Input/SButton.h"
#include "Widgets/Layout/SBorder.h"
#include "Widgets/Layout/SBox.h"
#include "Widgets/Layout/SSplitter.h"
#include "Widgets/SBoxPanel.h"
#include "Widgets/Text/SRichTextBlock.h"
#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;
};
}
class SActorDetailsUneditableComponentWarning : public SCompoundWidget
{
public:
SLATE_BEGIN_ARGS(SActorDetailsUneditableComponentWarning)
: _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)
.BorderImage(FAppStyle::Get().GetBrush("Brushes.Panel"))
[
SNew(SHorizontalBox)
+ SHorizontalBox::Slot()
.AutoWidth()
.HAlign(HAlign_Center)
.VAlign(VAlign_Center)
.Padding(2)
[
SNew(SImage)
.Image(FAppStyle::Get().GetBrush("Icons.Warning"))
]
+ SHorizontalBox::Slot()
.VAlign(VAlign_Center)
.Padding(2)
[
SNew(SRichTextBlock)
.DecoratorStyleSet(&FAppStyle::Get())
.Justification(ETextJustify::Left)
.TextStyle(FAppStyle::Get(), "DetailsView.BPMessageTextStyle")
.Text(InArgs._WarningText)
.AutoWrapText(true)
+ SRichTextBlock::HyperlinkDecorator(TEXT("HyperlinkDecorator"), InArgs._OnHyperlinkClicked)
]
]
];
}
};
void SActorDetails::Construct(const FArguments& InArgs, UTypedElementSelectionSet* InSelectionSet, const FName TabIdentifier, TSharedPtr<FUICommandList> InCommandList, TSharedPtr<FTabManager> InTabManager)
{
SelectionSet = InSelectionSet;
checkf(SelectionSet, TEXT("SActorDetails must be constructed with a valid selection set!"));
FCoreUObjectDelegates::OnObjectsReplaced.AddRaw(this, &SActorDetails::OnObjectsReplaced);
FLevelEditorModule& LevelEditor = FModuleManager::GetModuleChecked<FLevelEditorModule>("LevelEditor");
LevelEditor.OnComponentsEdited().AddRaw(this, &SActorDetails::OnComponentsEditedInWorld);
FDetailsViewArgs DetailsViewArgs;
DetailsViewArgs.bUpdatesFromSelection = true;
DetailsViewArgs.bLockable = true;
DetailsViewArgs.bAllowFavoriteSystem = true;
DetailsViewArgs.NameAreaSettings = FDetailsViewArgs::ObjectsUseNameArea | FDetailsViewArgs::ComponentsAndActorsUseNameArea;
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;
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;
DetailsViewArgs.bShowSectionSelector = true;
FPropertyEditorModule& PropPlugin = FModuleManager::LoadModuleChecked<FPropertyEditorModule>("PropertyEditor");
DetailsView = PropPlugin.CreateDetailView(DetailsViewArgs);
auto IsPropertyVisible = [](const FPropertyAndParent& PropertyAndParent)
{
// For details views in the level editor all properties are the instanced versions
if(PropertyAndParent.Property.HasAllPropertyFlags(CPF_DisableEditOnInstance))
{
return false;
}
return true;
};
DetailsView->SetIsPropertyVisibleDelegate(FIsPropertyVisible::CreateLambda(IsPropertyVisible));
DetailsView->SetIsPropertyReadOnlyDelegate(FIsPropertyReadOnly::CreateSP(this, &SActorDetails::IsPropertyReadOnly));
DetailsView->SetIsPropertyEditingEnabledDelegate(FIsPropertyEditingEnabled::CreateSP(this, &SActorDetails::IsPropertyEditingEnabled));
// Set up a delegate to call to add generic details to the view
DetailsView->SetGenericLayoutDetailsDelegate(FOnGetDetailCustomizationInstance::CreateStatic(&FLevelEditorGenericDetails::MakeInstance));
GEditor->RegisterForUndo(this);
ComponentsBox = SNew(SBox)
.Padding(FMargin(2.0f, 0.0f, 2.0f, 0.0f))
.Visibility(this, &SActorDetails::GetComponentEditorVisibility);
FModuleManager::LoadModuleChecked<FSubobjectEditorModule>("SubobjectEditor");
SubobjectEditor = SNew(SSubobjectInstanceEditor)
.ObjectContext(this, &SActorDetails::GetActorContextAsObject)
.AllowEditing(this, &SActorDetails::GetAllowComponentTreeEditing)
.OnSelectionUpdated(this, &SActorDetails::OnSubobjectEditorTreeViewSelectionChanged)
.OnItemDoubleClicked(this, &SActorDetails::OnSubobjectEditorTreeViewItemDoubleClicked);
ComponentsBox->SetContent(SubobjectEditor.ToSharedRef());
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);
ChildSlot
[
SNew(SVerticalBox)
+SVerticalBox::Slot()
.Padding(10.f, 4.f, 0.f, 0.f)
.AutoHeight()
[
DetailsView->GetNameAreaWidget().ToSharedRef()
]
+SVerticalBox::Slot()
[
SAssignNew(DetailsSplitter, SSplitter)
.MinimumSlotHeight(80.0f)
.Orientation(Orient_Vertical)
.Style(FAppStyle::Get(), "SplitterDark")
.PhysicalSplitterHandleSize(2.0f)
+ SSplitter::Slot()
[
SNew( SVerticalBox )
+SVerticalBox::Slot()
.AutoHeight()
.Padding( FMargin(0,0,0,1) )
[
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</>"))
.OnHyperlinkClicked(this, &SActorDetails::OnBlueprintedComponentWarningHyperlinkClicked)
]
+SVerticalBox::Slot()
.AutoHeight()
.Padding( FMargin(0,0,0,1) )
[
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()
.Padding( FMargin(0,0,0,1) )
[
SNew(SActorDetailsUneditableComponentWarning)
.Visibility(this, &SActorDetails::GetNativeComponentWarningVisibility)
.WarningText(NSLOCTEXT("SActorDetails", "UneditableNativeComponentWarning", "Native components are editable when declared as a FProperty in <a id=\"HyperlinkDecorator\" style=\"DetailsView.BPMessageHyperlinkStyle\">C++</>"))
.OnHyperlinkClicked(this, &SActorDetails::OnNativeComponentWarningHyperlinkClicked)
]
+ SVerticalBox::Slot()
.AutoHeight()
[
DetailsView->GetFilterAreaWidget().ToSharedRef()
]
+ SVerticalBox::Slot()
[
DetailsView.ToSharedRef()
]
]
]
];
DetailsSplitter->AddSlot(0)
.Value(.2f)
[
ComponentsBox.ToSharedRef()
];
// Immediately update (otherwise we will appear empty)
RefreshSelection(/*bForceRefresh*/true);
}
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);
}
FCoreUObjectDelegates::OnObjectsReplaced.RemoveAll(this);
RemoveBPComponentCompileEventDelegate();
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");
if (LevelEditor != nullptr)
{
LevelEditor->OnComponentsEdited().RemoveAll(this);
}
}
bool SActorDetails::IsObservingSelectionSet(const UTypedElementSelectionSet* InSelectionSet) const
{
return SelectionSet == InSelectionSet;
}
void SActorDetails::RefreshSelection(const bool bForceRefresh)
{
if (bSelectionGuard)
{
return;
}
TArray<TTypedElement<ITypedElementDetailsInterface>> DetailsElements;
DetailsElements.Reserve(SelectionSet->GetNumSelectedElements());
SelectionSet->ForEachSelectedElement<ITypedElementDetailsInterface>([&DetailsElements](const TTypedElement<ITypedElementDetailsInterface>& InDetailsElement)
{
DetailsElements.Add(InDetailsElement);
return true;
});
bHasSelectionOverride = false;
SelectionOverrideActors.Reset();
RefreshTopLevelElements(DetailsElements, bForceRefresh, /*bOverrideLock*/false);
}
void SActorDetails::OverrideSelection(const TArray<AActor*>& InActors, const bool bForceRefresh)
{
UTypedElementRegistry* Registry = UTypedElementRegistry::GetInstance();
TArray<TTypedElement<ITypedElementDetailsInterface>> DetailsElements;
DetailsElements.Reserve(InActors.Num());
for (AActor* Actor : InActors)
{
if (FTypedElementHandle ActorElementHandle = UEngineElementsLibrary::AcquireEditorActorElementHandle(Actor))
{
if (TTypedElement<ITypedElementDetailsInterface> ActorDetailsHandle = Registry->GetElement<ITypedElementDetailsInterface>(ActorElementHandle))
{
DetailsElements.Add(MoveTemp(ActorDetailsHandle));
}
}
}
bHasSelectionOverride = true;
SelectionOverrideActors = InActors;
RefreshTopLevelElements(DetailsElements, bForceRefresh, /*bOverrideLock*/false);
}
void SActorDetails::RefreshTopLevelElements(TArrayView<const TTypedElement<ITypedElementDetailsInterface>> InDetailsElements, const bool bForceRefresh, const bool bOverrideLock)
{
// 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());
for (const TTypedElement<ITypedElementDetailsInterface>& DetailsElement : InDetailsElements)
{
if (DetailsElement.IsTopLevelElement())
{
if (TUniquePtr<ITypedElementDetailsObject> ElementDetailsObject = DetailsElement.GetDetailsObject())
{
TopLevelElements.Add(MoveTemp(ElementDetailsObject));
}
}
}
// Update the underlying details view and the Elements buttons
SetElementDetailsObjects(TopLevelElements, bForceRefresh, bOverrideLock, &InDetailsElements);
// Update the Subobject tree if we were asked to edit a single actor
if (AActor* Actor = GetActorContext())
{
// Enable the selection guard to prevent OnTreeSelectionChanged() from altering the editor's component selection
TGuardValue<bool> SelectionGuard(bSelectionGuard, true);
SubobjectEditor->UpdateTree();
UpdateComponentTreeFromEditorSelection();
}
// 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();
}
}
}
void SActorDetails::RefreshSubobjectTreeElements(TArrayView<const FSubobjectEditorTreeNodePtrType> InSelectedNodes, const bool bForceRefresh, const bool bOverrideLock)
{
// Nothing to do if this view is locked!
if (DetailsView->IsLocked() && !bOverrideLock)
{
return;
}
// Does the Subobject tree have components selected?
TArray<const UActorComponent*> Components;
if (const AActor* Actor = GetActorContext())
{
for (const FSubobjectEditorTreeNodePtrType& SelectedNode : InSelectedNodes)
{
if (SelectedNode)
{
if(const FSubobjectData* Data = SelectedNode->GetDataSource())
{
if(Data->IsRootActor())
{
// 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);
}
}
}
}
}
}
SubobjectTreeElements.Reset(Components.Num());
if (Components.Num() > 0)
{
UTypedElementRegistry* Registry = UTypedElementRegistry::GetInstance();
for (const UActorComponent* Component : Components)
{
if (FTypedElementHandle ComponentElementHandle = UEngineElementsLibrary::AcquireEditorComponentElementHandle(Component))
{
if (TTypedElement<ITypedElementDetailsInterface> ComponentDetailsHandle = Registry->GetElement<ITypedElementDetailsInterface>(ComponentElementHandle))
{
if (TUniquePtr<ITypedElementDetailsObject> ElementDetailsObject = ComponentDetailsHandle.GetDetailsObject())
{
SubobjectTreeElements.Add(MoveTemp(ElementDetailsObject));
}
}
}
}
// Use the component elements
SetElementDetailsObjects(SubobjectTreeElements, bForceRefresh, bOverrideLock);
}
else
{
// Use the top-level elements
SetElementDetailsObjects(TopLevelElements, bForceRefresh, bOverrideLock);
}
}
void SActorDetails::SetElementDetailsObjects(TArrayView<const TUniquePtr<ITypedElementDetailsObject>> InElementDetailsObjects, const bool bForceRefresh, const bool bOverrideLock, TArrayView<const TTypedElement<ITypedElementDetailsInterface>>* InDetailsElementsPtr)
{
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
{
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
}
}
DetailsView->SetObjects(DetailsObjects, bForceRefresh, bOverrideLock);
ElementSelectionDetailsButtons->UpdateSelection(InDetailsElementsPtr);
}
void SActorDetails::PostUndo(bool bSuccess)
{
// Enable the selection guard to prevent OnTreeSelectionChanged() from altering the editor's component selection
TGuardValue<bool> SelectionGuard(bSelectionGuard, true);
// Refresh the tree and update the selection to match the world
SubobjectEditor->UpdateTree();
UpdateComponentTreeFromEditorSelection();
}
void SActorDetails::PostRedo(bool bSuccess)
{
PostUndo(bSuccess);
}
void SActorDetails::AddReferencedObjects(FReferenceCollector& Collector)
{
for (const TUniquePtr<ITypedElementDetailsObject>& TopLevelElement : TopLevelElements)
{
TopLevelElement->AddReferencedObjects(Collector);
}
}
FString SActorDetails::GetReferencerName() const
{
return TEXT("SActorDetails");
}
void SActorDetails::SetActorDetailsRootCustomization(TSharedPtr<FDetailsViewObjectFilter> ActorDetailsObjectFilter, TSharedPtr<IDetailRootObjectCustomization> ActorDetailsRootCustomization)
{
DetailsView->SetObjectFilter(ActorDetailsObjectFilter);
DetailsView->SetRootObjectCustomizationInstance(ActorDetailsRootCustomization);
DetailsView->ForceRefresh();
}
void SActorDetails::SetSubobjectEditorUICustomization(TSharedPtr<ISCSEditorUICustomization> ActorDetailsSubobjectEditorUICustomization)
{
if(SubobjectEditor.IsValid())
{
SubobjectEditor->SetUICustomization(ActorDetailsSubobjectEditorUICustomization);
}
}
void SActorDetails::OnComponentsEditedInWorld()
{
if (AActor* Actor = GetActorContext())
{
if (SelectionSet->IsElementSelected(UEngineElementsLibrary::AcquireEditorActorElementHandle(Actor), FTypedElementIsSelectedOptions()))
{
// The component composition of the observed actor has changed, so rebuild the node tree
TGuardValue<bool> SelectionGuard(bSelectionGuard, true);
// Refresh the tree and update the selection to match the world
SubobjectEditor->UpdateTree();
DetailsView->ForceRefresh();
}
}
}
bool SActorDetails::GetAllowComponentTreeEditing() const
{
return GEditor->PlayWorld == nullptr;
}
AActor* SActorDetails::GetActorContext() const
{
return TopLevelElements.Num() == 1
? Cast<AActor>(TopLevelElements[0]->GetObject())
: nullptr;
}
UObject* SActorDetails::GetActorContextAsObject() const
{
return GetActorContext();
}
void SActorDetails::OnSubobjectEditorTreeViewSelectionChanged(const TArray<FSubobjectEditorTreeNodePtrType>& SelectedNodes)
{
if (bSelectionGuard)
{
// Preventing selection changes from having an effect...
return;
}
if (SelectedNodes.Num() == 0)
{
// Don't respond to de-selecting everything...
return;
}
AActor* ActorContext = GetActorContext();
if (!ActorContext)
{
// The Subobject editor requires an actor context...
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();
}
else if (SelectedNodes.Num() == 1 && SelectedNodes[0]->IsComponentNode())
{
// Add delegate to monitor blueprint component compilation if we have a full details view ( i.e. single selection )
FSubobjectData* SelectedData = SelectedNodes[0]->GetDataSource();
if (UActorComponent* Component = const_cast<UActorComponent*>(SelectedData->FindComponentInstanceInActor(ActorContext)))
{
if (UBlueprintGeneratedClass* ComponentBPGC = Cast<UBlueprintGeneratedClass>(Component->GetClass()))
{
if (UBlueprint* ComponentBlueprint = Cast<UBlueprint>(ComponentBPGC->ClassGeneratedBy))
{
AddBPComponentCompileEventDelegate(ComponentBlueprint);
}
}
}
}
// We only actually update the editor selection state if we're not locked
if (!DetailsView->IsLocked())
{
TArray<FTypedElementHandle> NewEditorSelection;
NewEditorSelection.Add(UEngineElementsLibrary::AcquireEditorActorElementHandle(ActorContext));
for (const FSubobjectEditorTreeNodePtrType& SelectedNode : SelectedNodes)
{
if (SelectedNode)
{
if(FSubobjectData* Data = SelectedNode->GetDataSource())
{
if(Data->IsRootActor())
{
// If the actor node is selected then we ignore the component selection
NewEditorSelection.Reset();
NewEditorSelection.Add(UEngineElementsLibrary::AcquireEditorActorElementHandle(ActorContext));
break;
}
if (Data->IsComponent())
{
if (const UActorComponent* Component = Data->FindComponentInstanceInActor(ActorContext))
{
NewEditorSelection.Add(UEngineElementsLibrary::AcquireEditorComponentElementHandle(Component));
}
}
}
}
}
// 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);
// Enable the selection guard to prevent OnEditorSelectionChanged() from altering the contents of the SubobjectTreeWidget
TGuardValue<bool> SelectionGuard(bSelectionGuard, true);
SelectionSet->SetSelection(NewEditorSelection, FTypedElementSelectionOptions());
SelectionSet->NotifyPendingChanges(); // Fire while still under the selection guard
}
// Update the underlying details view
RefreshSubobjectTreeElements(SelectedNodes, /*bForceRefresh*/false, DetailsView->IsLocked());
}
void SActorDetails::OnSubobjectEditorTreeViewItemDoubleClicked(const FSubobjectEditorTreeNodePtrType ClickedNode)
{
if (ClickedNode && ClickedNode->IsComponentNode())
{
if (const USceneComponent* SceneComponent = Cast<USceneComponent>(ClickedNode->GetComponentTemplate()))
{
const bool bActiveViewportOnly = false;
GEditor->MoveViewportCamerasToComponent(SceneComponent, bActiveViewportOnly);
}
}
}
void SActorDetails::UpdateComponentTreeFromEditorSelection()
{
if (DetailsView->IsLocked())
{
return;
}
// Enable the selection guard to prevent OnTreeSelectionChanged() from altering the editor's component selection
TGuardValue<bool> SelectionGuard(bSelectionGuard, true);
TSharedPtr<SSubobjectEditorDragDropTree> TreeWidget = SubobjectEditor->GetDragDropTree();
// Update the tree selection to match the level editor component selection
SubobjectEditor->ClearSelection();
SelectionSet->ForEachSelectedObject<UActorComponent>([this, &TreeWidget](UActorComponent* InComponent)
{
FSubobjectEditorTreeNodePtrType TreeNode = SubobjectEditor->FindSlateNodeForObject(InComponent, false);
if (TreeNode && TreeNode->GetComponentTemplate())
{
TreeWidget->RequestScrollIntoView(TreeNode);
TreeWidget->SetItemSelection(TreeNode, true);
check(InComponent == TreeNode->GetComponentTemplate() || InComponent->GetArchetype() == TreeNode->GetComponentTemplate());
}
return true;
});
TArray<FSubobjectEditorTreeNodePtrType> SelectedNodes = SubobjectEditor->GetSelectedNodes();
if (SelectedNodes.Num() == 0)
{
SubobjectEditor->SelectRoot();
SelectedNodes = SubobjectEditor->GetSelectedNodes();
}
// Update the underlying details view
RefreshSubobjectTreeElements(SelectedNodes, bSelectedComponentRecompiled, /*bOverrideLock*/false);
}
bool SActorDetails::IsPropertyReadOnly(const FPropertyAndParent& PropertyAndParent) const
{
bool bIsReadOnly = false;
for (const FSubobjectEditorTreeNodePtrType& Node : SubobjectEditor->GetSelectedNodes())
{
const UActorComponent* Component = Node->GetComponentTemplate();
if (Component && Component->CreationMethod == EComponentCreationMethod::SimpleConstructionScript)
{
TSet<const FProperty*> UCSModifiedProperties;
Component->GetUCSModifiedProperties(UCSModifiedProperties);
if (UCSModifiedProperties.Contains(&PropertyAndParent.Property) ||
(PropertyAndParent.ParentProperties.Num() > 0 && UCSModifiedProperties.Contains(PropertyAndParent.ParentProperties[0])))
{
bIsReadOnly = true;
break;
}
}
}
return bIsReadOnly;
}
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;
}
bool bIsEditable = true;
for (const FSubobjectEditorTreeNodePtrType& Node : SubobjectEditor->GetSelectedNodes())
{
if(const FSubobjectData* Data = Node->GetDataSource())
{
bIsEditable = Data->CanEdit();
if (!bIsEditable)
{
break;
}
}
}
return bIsEditable;
}
void SActorDetails::OnBlueprintedComponentWarningHyperlinkClicked(const FSlateHyperlinkRun::FMetadata& Metadata)
{
UBlueprint* Blueprint = SubobjectEditor->GetBlueprint();
if (Blueprint)
{
// Open the blueprint
GEditor->EditObject(Blueprint);
}
}
void SActorDetails::OnNativeComponentWarningHyperlinkClicked(const FSlateHyperlinkRun::FMetadata& Metadata)
{
// Find the closest native parent
UBlueprint* Blueprint = SubobjectEditor->GetBlueprint();
UClass* ParentClass = Blueprint ? *Blueprint->ParentClass : GetActorContext()->GetClass();
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);
}
}
}
EVisibility SActorDetails::GetComponentEditorVisibility() const
{
return GetActorContext() ? EVisibility::Visible : EVisibility::Collapsed;
}
EVisibility SActorDetails::GetUCSComponentWarningVisibility() const
{
bool bIsUneditableBlueprintComponent = false;
// Check to see if any selected components are inherited from blueprint
for (const FSubobjectEditorTreeNodePtrType& Node : SubobjectEditor->GetSelectedNodes())
{
if(const FSubobjectData* Data = Node->GetDataSource())
{
if (!Data->IsNativeComponent())
{
const UActorComponent* Component = Data->GetComponentTemplate();
bIsUneditableBlueprintComponent = Component ? Component->CreationMethod == EComponentCreationMethod::UserConstructionScript : false;
if (bIsUneditableBlueprintComponent)
{
break;
}
}
}
}
return bIsUneditableBlueprintComponent ? EVisibility::Visible : EVisibility::Collapsed;
}
bool NotEditableSetByBlueprint(const UActorComponent* Component)
{
// 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
for (const FSubobjectEditorTreeNodePtrType& Node : SubobjectEditor->GetSelectedNodes())
{
if(const FSubobjectData* Data = Node->GetDataSource())
{
if (!Data->IsNativeComponent())
{
if (const UActorComponent* Component = Data->GetComponentTemplate())
{
if (!Component->IsEditableWhenInherited() && Component->CreationMethod == EComponentCreationMethod::SimpleConstructionScript)
{
bIsUneditableBlueprintComponent = true;
break;
}
}
}
else if (!Data->CanEdit() && NotEditableSetByBlueprint(Data->GetComponentTemplate()))
{
bIsUneditableBlueprintComponent = true;
break;
}
}
}
return bIsUneditableBlueprintComponent ? EVisibility::Visible : EVisibility::Collapsed;
}
EVisibility SActorDetails::GetNativeComponentWarningVisibility() const
{
bool bIsUneditableNative = false;
for (const FSubobjectEditorTreeNodePtrType& Node : SubobjectEditor->GetSelectedNodes())
{
if(const FSubobjectData* Data = Node->GetDataSource())
{
// Check to see if the component is native and not editable
if (Data->IsNativeComponent() && !Data->CanEdit() && !NotEditableSetByBlueprint(Data->GetComponentTemplate()))
{
bIsUneditableNative = true;
break;
}
}
}
return bIsUneditableNative ? EVisibility::Visible : EVisibility::Collapsed;
}
void SActorDetails::AddBPComponentCompileEventDelegate(UBlueprint* ComponentBlueprint)
{
if(SelectedBPComponentBlueprint.Get() != ComponentBlueprint)
{
RemoveBPComponentCompileEventDelegate();
SelectedBPComponentBlueprint = ComponentBlueprint;
// Add blueprint component compilation event delegate
if(!ComponentBlueprint->OnCompiled().IsBoundToObject(this))
{
ComponentBlueprint->OnCompiled().AddSP(this, &SActorDetails::OnBlueprintComponentCompiled);
}
}
}
void SActorDetails::RemoveBPComponentCompileEventDelegate()
{
// Remove blueprint component compilation event delegate
if(SelectedBPComponentBlueprint.IsValid())
{
SelectedBPComponentBlueprint.Get()->OnCompiled().RemoveAll(this);
SelectedBPComponentBlueprint.Reset();
bSelectedComponentRecompiled = false;
}
}
void SActorDetails::OnBlueprintComponentCompiled(UBlueprint* ComponentBlueprint)
{
TGuardValue<bool> SelectedComponentRecompiledGuard(bSelectedComponentRecompiled, true);
UpdateComponentTreeFromEditorSelection();
}
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);
}
}
else
{
// Enable the selection guard to prevent OnTreeSelectionChanged() from altering the editor's component selection
TGuardValue<bool> SelectionGuard(bSelectionGuard, true);
SubobjectEditor->UpdateTree();
}
}
#undef LOCTEXT_NAMESPACE