Files
UnrealEngineUWP/Engine/Source/Runtime/Slate/Private/Framework/Docking/SDockingTabStack.cpp

1364 lines
39 KiB
C++
Raw Normal View History

// Copyright Epic Games, Inc. All Rights Reserved.
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 "Framework/Docking/SDockingTabStack.h"
#include "Framework/Commands/UIAction.h"
#include "Framework/Commands/UICommandList.h"
#include "Widgets/Text/STextBlock.h"
#include "Framework/MultiBox/MultiBoxBuilder.h"
#include "Layout/WidgetPath.h"
#include "Framework/Application/MenuStack.h"
#include "Framework/Application/SlateApplication.h"
#include "Widgets/Layout/SSpacer.h"
#include "Widgets/Images/SImage.h"
#include "Widgets/Input/SButton.h"
#include "Framework/Docking/SDockingTabWell.h"
#include "Framework/Docking/SDockingCross.h"
#include "Framework/Docking/FDockingDragOperation.h"
#include "Framework/Docking/TabCommands.h"
#include "Brushes/SlateColorBrush.h"
Slate: Refactored core Slate implementation into SlateCore module in preparation for UMG. Other Updates: - The WidgetReflector is now in its own module as well. It will be converted to a plug-in later. - The Public API of both Slate and SlateCore has largely been reorganized for better discoverabilty. More cleanup work is needed. - Added a lot of missing API documentation and fixed existing ones. More and better documentation is needed. - Removed dead code, fixed a couple things I stubled upon, and conformed to coding guidelines (NULL vs nullptr, line breaks, etc.) Upgrade Notes: - The Slate Remote Server is currently disabled - will be re-enabled shortly! - If your module previously had a module dependency to 'Slate', it now also needs a PrivateModuleDependency to 'SlateCore' in its Build.cs file. - If your module exposes in any of its Public header files types that are now declared in SlateCore, it needs a PublicModuleDependency to 'SlateCore' - The ToolTip property type on SWidget has changed from SToolTip to IToolTip; change local variables to TSharedPtr<IToolTip> instead of TSharedPtr<SToolTip> where needed - IToolTip is not a widget. If you need access to the actual widget that represents the tool tip, use IToolTip::AsWidget(); If you need access to the tool tip's content, use IToolTip::GetContentWidget() Troubleshooting: - After syncing to this changelist you may have to clean your /Engine/Intermediate/Build/ directory and rebuild your entire project - If in your project you are getting linker errors for unresolved types that are now declared in SlateCore, you may be missing a dependency to 'SlateCore' - If in the Engine code you are getting linker errors for unresolved types that are now declared in SlateCore, you may need to rebuild the entire Engine [CL 2057118 by Max Preussner in Main branch]
2014-04-26 15:07:24 -04:00
#define LOCTEXT_NAMESPACE "DockTabStack"
static const FVector2D ContextButtonTargetSize(24,24);
static const float TriggerAreaFraction = 0.24f;
Slate: Refactored core Slate implementation into SlateCore module in preparation for UMG. Other Updates: - The WidgetReflector is now in its own module as well. It will be converted to a plug-in later. - The Public API of both Slate and SlateCore has largely been reorganized for better discoverabilty. More cleanup work is needed. - Added a lot of missing API documentation and fixed existing ones. More and better documentation is needed. - Removed dead code, fixed a couple things I stubled upon, and conformed to coding guidelines (NULL vs nullptr, line breaks, etc.) Upgrade Notes: - The Slate Remote Server is currently disabled - will be re-enabled shortly! - If your module previously had a module dependency to 'Slate', it now also needs a PrivateModuleDependency to 'SlateCore' in its Build.cs file. - If your module exposes in any of its Public header files types that are now declared in SlateCore, it needs a PublicModuleDependency to 'SlateCore' - The ToolTip property type on SWidget has changed from SToolTip to IToolTip; change local variables to TSharedPtr<IToolTip> instead of TSharedPtr<SToolTip> where needed - IToolTip is not a widget. If you need access to the actual widget that represents the tool tip, use IToolTip::AsWidget(); If you need access to the tool tip's content, use IToolTip::GetContentWidget() Troubleshooting: - After syncing to this changelist you may have to clean your /Engine/Intermediate/Build/ directory and rebuild your entire project - If in your project you are getting linker errors for unresolved types that are now declared in SlateCore, you may be missing a dependency to 'SlateCore' - If in the Engine code you are getting linker errors for unresolved types that are now declared in SlateCore, you may need to rebuild the entire Engine [CL 2057118 by Max Preussner in Main branch]
2014-04-26 15:07:24 -04:00
/**
* Like a missing widget, but says it's a document area
*/
class SDocumentAreaWidget
{
public:
static TSharedRef<class SWidget> MakeDocumentAreaWidget()
{
return
SNew(SBorder)
.HAlign(HAlign_Center)
.VAlign(VAlign_Center)
[
SNew( STextBlock )
.Text(LOCTEXT("DocumentArea", "Document Area") )
.TextStyle( FCoreStyle::Get(), "EmbossedText" )
];
}
};
void SDockingTabStack::Construct( const FArguments& InArgs, const TSharedRef<FTabManager::FStack>& PersistentNode )
{
BindTabCommands();
Tabs = PersistentNode->Tabs;
this->SetSizeCoefficient(PersistentNode->GetSizeCoefficient());
// the value of this is determined every time a tab is added
bShowingTitleBarArea = false;
bIsDocumentArea = InArgs._IsDocumentArea;
InlineContentAreaLeft = nullptr;
InlineContentAreaRight = nullptr;
TitleBarSlot = nullptr;
// Animation that toggles the tabs
{
ShowHideTabWell = FCurveSequence(0,0.15);
if (PersistentNode->bHideTabWell)
{
ShowHideTabWell.JumpToStart();
}
else
{
ShowHideTabWell.JumpToEnd();
}
}
// In TabStack mode we glue together a TabWell, InlineContent areas and a ContentOverlay
// that shows the content of the currently selected Tab.
// ________ TabWell
// |
// +-------------------------------------v-------------------------------+
// | +--------------------+ |
// | InlineContentAreaLeft | Tab0 | Tab1 | Tab2 | InlineContentAreaRight |
// +---------------------------------------------------------------------+
// | |
// | | <-- Content area overlay
// | |
// +---------------------------------------------------------------------+
//
const FButtonStyle* const UnhideTabWellButtonStyle = &FCoreStyle::Get().GetWidgetStyle< FButtonStyle >( "Docking.UnhideTabwellButton" );
Slate: Refactored core Slate implementation into SlateCore module in preparation for UMG. Other Updates: - The WidgetReflector is now in its own module as well. It will be converted to a plug-in later. - The Public API of both Slate and SlateCore has largely been reorganized for better discoverabilty. More cleanup work is needed. - Added a lot of missing API documentation and fixed existing ones. More and better documentation is needed. - Removed dead code, fixed a couple things I stubled upon, and conformed to coding guidelines (NULL vs nullptr, line breaks, etc.) Upgrade Notes: - The Slate Remote Server is currently disabled - will be re-enabled shortly! - If your module previously had a module dependency to 'Slate', it now also needs a PrivateModuleDependency to 'SlateCore' in its Build.cs file. - If your module exposes in any of its Public header files types that are now declared in SlateCore, it needs a PublicModuleDependency to 'SlateCore' - The ToolTip property type on SWidget has changed from SToolTip to IToolTip; change local variables to TSharedPtr<IToolTip> instead of TSharedPtr<SToolTip> where needed - IToolTip is not a widget. If you need access to the actual widget that represents the tool tip, use IToolTip::AsWidget(); If you need access to the tool tip's content, use IToolTip::GetContentWidget() Troubleshooting: - After syncing to this changelist you may have to clean your /Engine/Intermediate/Build/ directory and rebuild your entire project - If in your project you are getting linker errors for unresolved types that are now declared in SlateCore, you may be missing a dependency to 'SlateCore' - If in the Engine code you are getting linker errors for unresolved types that are now declared in SlateCore, you may need to rebuild the entire Engine [CL 2057118 by Max Preussner in Main branch]
2014-04-26 15:07:24 -04:00
// create inline title bar content
TitleBarContent =
SNew(SOverlay)
+ SOverlay::Slot()
[
SNew(SHorizontalBox)
Slate: Refactored core Slate implementation into SlateCore module in preparation for UMG. Other Updates: - The WidgetReflector is now in its own module as well. It will be converted to a plug-in later. - The Public API of both Slate and SlateCore has largely been reorganized for better discoverabilty. More cleanup work is needed. - Added a lot of missing API documentation and fixed existing ones. More and better documentation is needed. - Removed dead code, fixed a couple things I stubled upon, and conformed to coding guidelines (NULL vs nullptr, line breaks, etc.) Upgrade Notes: - The Slate Remote Server is currently disabled - will be re-enabled shortly! - If your module previously had a module dependency to 'Slate', it now also needs a PrivateModuleDependency to 'SlateCore' in its Build.cs file. - If your module exposes in any of its Public header files types that are now declared in SlateCore, it needs a PublicModuleDependency to 'SlateCore' - The ToolTip property type on SWidget has changed from SToolTip to IToolTip; change local variables to TSharedPtr<IToolTip> instead of TSharedPtr<SToolTip> where needed - IToolTip is not a widget. If you need access to the actual widget that represents the tool tip, use IToolTip::AsWidget(); If you need access to the tool tip's content, use IToolTip::GetContentWidget() Troubleshooting: - After syncing to this changelist you may have to clean your /Engine/Intermediate/Build/ directory and rebuild your entire project - If in your project you are getting linker errors for unresolved types that are now declared in SlateCore, you may be missing a dependency to 'SlateCore' - If in the Engine code you are getting linker errors for unresolved types that are now declared in SlateCore, you may need to rebuild the entire Engine [CL 2057118 by Max Preussner in Main branch]
2014-04-26 15:07:24 -04:00
.Visibility(EVisibility::SelfHitTestInvisible)
+ SHorizontalBox::Slot()
Slate: Refactored core Slate implementation into SlateCore module in preparation for UMG. Other Updates: - The WidgetReflector is now in its own module as well. It will be converted to a plug-in later. - The Public API of both Slate and SlateCore has largely been reorganized for better discoverabilty. More cleanup work is needed. - Added a lot of missing API documentation and fixed existing ones. More and better documentation is needed. - Removed dead code, fixed a couple things I stubled upon, and conformed to coding guidelines (NULL vs nullptr, line breaks, etc.) Upgrade Notes: - The Slate Remote Server is currently disabled - will be re-enabled shortly! - If your module previously had a module dependency to 'Slate', it now also needs a PrivateModuleDependency to 'SlateCore' in its Build.cs file. - If your module exposes in any of its Public header files types that are now declared in SlateCore, it needs a PublicModuleDependency to 'SlateCore' - The ToolTip property type on SWidget has changed from SToolTip to IToolTip; change local variables to TSharedPtr<IToolTip> instead of TSharedPtr<SToolTip> where needed - IToolTip is not a widget. If you need access to the actual widget that represents the tool tip, use IToolTip::AsWidget(); If you need access to the tool tip's content, use IToolTip::GetContentWidget() Troubleshooting: - After syncing to this changelist you may have to clean your /Engine/Intermediate/Build/ directory and rebuild your entire project - If in your project you are getting linker errors for unresolved types that are now declared in SlateCore, you may be missing a dependency to 'SlateCore' - If in the Engine code you are getting linker errors for unresolved types that are now declared in SlateCore, you may need to rebuild the entire Engine [CL 2057118 by Max Preussner in Main branch]
2014-04-26 15:07:24 -04:00
.AutoWidth()
.Expose(InlineContentAreaLeft)
+ SHorizontalBox::Slot()
Slate: Refactored core Slate implementation into SlateCore module in preparation for UMG. Other Updates: - The WidgetReflector is now in its own module as well. It will be converted to a plug-in later. - The Public API of both Slate and SlateCore has largely been reorganized for better discoverabilty. More cleanup work is needed. - Added a lot of missing API documentation and fixed existing ones. More and better documentation is needed. - Removed dead code, fixed a couple things I stubled upon, and conformed to coding guidelines (NULL vs nullptr, line breaks, etc.) Upgrade Notes: - The Slate Remote Server is currently disabled - will be re-enabled shortly! - If your module previously had a module dependency to 'Slate', it now also needs a PrivateModuleDependency to 'SlateCore' in its Build.cs file. - If your module exposes in any of its Public header files types that are now declared in SlateCore, it needs a PublicModuleDependency to 'SlateCore' - The ToolTip property type on SWidget has changed from SToolTip to IToolTip; change local variables to TSharedPtr<IToolTip> instead of TSharedPtr<SToolTip> where needed - IToolTip is not a widget. If you need access to the actual widget that represents the tool tip, use IToolTip::AsWidget(); If you need access to the tool tip's content, use IToolTip::GetContentWidget() Troubleshooting: - After syncing to this changelist you may have to clean your /Engine/Intermediate/Build/ directory and rebuild your entire project - If in your project you are getting linker errors for unresolved types that are now declared in SlateCore, you may be missing a dependency to 'SlateCore' - If in the Engine code you are getting linker errors for unresolved types that are now declared in SlateCore, you may need to rebuild the entire Engine [CL 2057118 by Max Preussner in Main branch]
2014-04-26 15:07:24 -04:00
.FillWidth(1.0f)
.VAlign(VAlign_Bottom)
.Padding(0.0f, 0.0f, 0.0f, 0.0f)
Slate: Refactored core Slate implementation into SlateCore module in preparation for UMG. Other Updates: - The WidgetReflector is now in its own module as well. It will be converted to a plug-in later. - The Public API of both Slate and SlateCore has largely been reorganized for better discoverabilty. More cleanup work is needed. - Added a lot of missing API documentation and fixed existing ones. More and better documentation is needed. - Removed dead code, fixed a couple things I stubled upon, and conformed to coding guidelines (NULL vs nullptr, line breaks, etc.) Upgrade Notes: - The Slate Remote Server is currently disabled - will be re-enabled shortly! - If your module previously had a module dependency to 'Slate', it now also needs a PrivateModuleDependency to 'SlateCore' in its Build.cs file. - If your module exposes in any of its Public header files types that are now declared in SlateCore, it needs a PublicModuleDependency to 'SlateCore' - The ToolTip property type on SWidget has changed from SToolTip to IToolTip; change local variables to TSharedPtr<IToolTip> instead of TSharedPtr<SToolTip> where needed - IToolTip is not a widget. If you need access to the actual widget that represents the tool tip, use IToolTip::AsWidget(); If you need access to the tool tip's content, use IToolTip::GetContentWidget() Troubleshooting: - After syncing to this changelist you may have to clean your /Engine/Intermediate/Build/ directory and rebuild your entire project - If in your project you are getting linker errors for unresolved types that are now declared in SlateCore, you may be missing a dependency to 'SlateCore' - If in the Engine code you are getting linker errors for unresolved types that are now declared in SlateCore, you may need to rebuild the entire Engine [CL 2057118 by Max Preussner in Main branch]
2014-04-26 15:07:24 -04:00
[
SNew(SVerticalBox)
.Visibility(EVisibility::SelfHitTestInvisible)
+ SVerticalBox::Slot()
.AutoHeight()
[
SNew(SSpacer)
.Visibility(this, &SDockingTabStack::GetMaximizeSpacerVisibility)
.Size(FVector2D(0.0f, 10.0f))
]
+ SVerticalBox::Slot()
.AutoHeight()
[
// TabWell
SAssignNew(TabWell, SDockingTabWell)
.ParentStackNode(SharedThis(this))
]
Slate: Refactored core Slate implementation into SlateCore module in preparation for UMG. Other Updates: - The WidgetReflector is now in its own module as well. It will be converted to a plug-in later. - The Public API of both Slate and SlateCore has largely been reorganized for better discoverabilty. More cleanup work is needed. - Added a lot of missing API documentation and fixed existing ones. More and better documentation is needed. - Removed dead code, fixed a couple things I stubled upon, and conformed to coding guidelines (NULL vs nullptr, line breaks, etc.) Upgrade Notes: - The Slate Remote Server is currently disabled - will be re-enabled shortly! - If your module previously had a module dependency to 'Slate', it now also needs a PrivateModuleDependency to 'SlateCore' in its Build.cs file. - If your module exposes in any of its Public header files types that are now declared in SlateCore, it needs a PublicModuleDependency to 'SlateCore' - The ToolTip property type on SWidget has changed from SToolTip to IToolTip; change local variables to TSharedPtr<IToolTip> instead of TSharedPtr<SToolTip> where needed - IToolTip is not a widget. If you need access to the actual widget that represents the tool tip, use IToolTip::AsWidget(); If you need access to the tool tip's content, use IToolTip::GetContentWidget() Troubleshooting: - After syncing to this changelist you may have to clean your /Engine/Intermediate/Build/ directory and rebuild your entire project - If in your project you are getting linker errors for unresolved types that are now declared in SlateCore, you may be missing a dependency to 'SlateCore' - If in the Engine code you are getting linker errors for unresolved types that are now declared in SlateCore, you may need to rebuild the entire Engine [CL 2057118 by Max Preussner in Main branch]
2014-04-26 15:07:24 -04:00
]
+ SHorizontalBox::Slot()
Slate: Refactored core Slate implementation into SlateCore module in preparation for UMG. Other Updates: - The WidgetReflector is now in its own module as well. It will be converted to a plug-in later. - The Public API of both Slate and SlateCore has largely been reorganized for better discoverabilty. More cleanup work is needed. - Added a lot of missing API documentation and fixed existing ones. More and better documentation is needed. - Removed dead code, fixed a couple things I stubled upon, and conformed to coding guidelines (NULL vs nullptr, line breaks, etc.) Upgrade Notes: - The Slate Remote Server is currently disabled - will be re-enabled shortly! - If your module previously had a module dependency to 'Slate', it now also needs a PrivateModuleDependency to 'SlateCore' in its Build.cs file. - If your module exposes in any of its Public header files types that are now declared in SlateCore, it needs a PublicModuleDependency to 'SlateCore' - The ToolTip property type on SWidget has changed from SToolTip to IToolTip; change local variables to TSharedPtr<IToolTip> instead of TSharedPtr<SToolTip> where needed - IToolTip is not a widget. If you need access to the actual widget that represents the tool tip, use IToolTip::AsWidget(); If you need access to the tool tip's content, use IToolTip::GetContentWidget() Troubleshooting: - After syncing to this changelist you may have to clean your /Engine/Intermediate/Build/ directory and rebuild your entire project - If in your project you are getting linker errors for unresolved types that are now declared in SlateCore, you may be missing a dependency to 'SlateCore' - If in the Engine code you are getting linker errors for unresolved types that are now declared in SlateCore, you may need to rebuild the entire Engine [CL 2057118 by Max Preussner in Main branch]
2014-04-26 15:07:24 -04:00
.AutoWidth()
.Expose(InlineContentAreaRight)
.Padding(5.0f, 0.0f, 0.0f, 0.0f)
.VAlign(VAlign_Center)
];
Slate: Refactored core Slate implementation into SlateCore module in preparation for UMG. Other Updates: - The WidgetReflector is now in its own module as well. It will be converted to a plug-in later. - The Public API of both Slate and SlateCore has largely been reorganized for better discoverabilty. More cleanup work is needed. - Added a lot of missing API documentation and fixed existing ones. More and better documentation is needed. - Removed dead code, fixed a couple things I stubled upon, and conformed to coding guidelines (NULL vs nullptr, line breaks, etc.) Upgrade Notes: - The Slate Remote Server is currently disabled - will be re-enabled shortly! - If your module previously had a module dependency to 'Slate', it now also needs a PrivateModuleDependency to 'SlateCore' in its Build.cs file. - If your module exposes in any of its Public header files types that are now declared in SlateCore, it needs a PublicModuleDependency to 'SlateCore' - The ToolTip property type on SWidget has changed from SToolTip to IToolTip; change local variables to TSharedPtr<IToolTip> instead of TSharedPtr<SToolTip> where needed - IToolTip is not a widget. If you need access to the actual widget that represents the tool tip, use IToolTip::AsWidget(); If you need access to the tool tip's content, use IToolTip::GetContentWidget() Troubleshooting: - After syncing to this changelist you may have to clean your /Engine/Intermediate/Build/ directory and rebuild your entire project - If in your project you are getting linker errors for unresolved types that are now declared in SlateCore, you may be missing a dependency to 'SlateCore' - If in the Engine code you are getting linker errors for unresolved types that are now declared in SlateCore, you may need to rebuild the entire Engine [CL 2057118 by Max Preussner in Main branch]
2014-04-26 15:07:24 -04:00
ChildSlot
[
SNew(SVerticalBox)
.Visibility( EVisibility::SelfHitTestInvisible )
+ SVerticalBox::Slot()
.AutoHeight()
[
// tab well area
SNew(SBorder)
.Visibility(this, &SDockingTabStack::GetTabWellVisibility)
.DesiredSizeScale(this, &SDockingTabStack::GetTabWellScale)
.BorderImage(this, &SDockingTabStack::GetTabStackBorderImage)
.VAlign(VAlign_Bottom)
.OnMouseButtonDown(this, &SDockingTabStack::TabWellRightClicked)
.Padding(0.0f)
[
SNew(SVerticalBox)
.Visibility(EVisibility::SelfHitTestInvisible)
+ SVerticalBox::Slot()
.Expose(TitleBarSlot)
.AutoHeight()
+ SVerticalBox::Slot()
.AutoHeight()
[
SNew(SImage)
.Image(this, &SDockingTabStack::GetTabWellBrush)
]
]
]
+ SVerticalBox::Slot()
.FillHeight(1.0f)
[
// tab content area
SAssignNew(OverlayManagement.ContentAreaOverlay, SOverlay)
+ SOverlay::Slot()
[
// content goes here
SAssignNew(ContentSlot, SBorder)
.BorderImage(this, &SDockingTabStack::GetContentAreaBrush)
.Padding(this, &SDockingTabStack::GetContentPadding)
Copying //UE4/Dev-Editor to //UE4/Dev-Main (Source: //UE4/Dev-Editor @ 3497164) #lockdown Nick.Penwarden #rb none ===================================== MAJOR FEATURES + CHANGES ===================================== Change 3433074 by Matt.Kuhlenschmidt Fix crash when clicking on certian tutorial blueprints. #jira UE-44593 Change 3433075 by Matt.Kuhlenschmidt Remove hittest grid log spam. The underlying problem causing this has been fixed Change 3433077 by Matt.Kuhlenschmidt Fix lighting becoming unbuilt when mesh painting #jira UE-44837 Change 3433081 by Matt.Kuhlenschmidt PR #3553: Crashfix for static array properties (Contributed by Pierdek) Change 3433104 by Alexis.Matte Make sure re-import skeletal mesh follow the import morph option #jira UE-42846 Change 3434825 by Matt.Kuhlenschmidt Fix crash when GC happens while the vr editor radial menu is open. Change 3434831 by Matt.Kuhlenschmidt Added missing file Change 3434868 by Shaun.Kime If you have a reroute node between a Material Function texture input and its usage, the parent material will fail to resolve the reroute node. #jira ue-44670 Change 3434998 by Alexis.Matte Meshes editors material/section panel are now fully transactional - Staticmesh editor: section material slot, section cast shadow, section collision, material slot instance, material slot name - Skeletal mesh editor: material slot instance, material slot name Also fix some transaction description #jira UE-44462 Change 3435195 by Jamie.Dale Fixed incorrect handling of some LTR scripts that require shaping These scripts need to go through HarfBuzz, and this also fixes a case where HarfBuzz wasn't applying font scale correctly. #jira UE-44767 Change 3435199 by Jamie.Dale Fixed some crashes/artifacts with bidirectional text It was possible for a line to compute an incorrect range, which could cause crashes or other highlighting issues. The highlighting logic has also been updated as the old code didn't handle all bidirectional cases correctly. Change 3435200 by Jamie.Dale Fixed a grapheme cluster metrics issue in the font editor viewport The viewport also now respects the default shaping method CVar. Change 3435771 by Alexis.Matte Fix degenerated bounds calculation for skeletalmesh when the skeleton is remove from a re-import (PhysicAsset API change, adding 1 function) #jira UE-44609 Change 3436856 by Jamie.Dale Added some missing Unicode block ranges Change 3436914 by Jamie.Dale Adding some missing combining character ranges to the text shaper Change 3436923 by Alexis.Matte PR #3463: Get bounds for all triangles, not just the first one. WedgeIndex was . (Contributed by DaveC79) #jira UE-43764 Change 3436948 by Jamie.Dale Updated the Portal to use the predefined Unicode block ranges Change 3436961 by Max.Chen Sequencer: Show camera shake/anim track menus even if there aren't any assets. Change 3437244 by Max.Chen Sequencer: Clear locked cameras when releasing Sequencer. #jira UE-44967 Change 3437515 by Arciel.Rekman UBT: improvements for LocalExecutor. - Larger number of parallel jobs on 16GB+ machines. - Use WaitForExit() instead of polling. - Tested on Linux and Mac. Change 3437629 by Matt.Kuhlenschmidt Improve asset import data display in static and skeletal meshes Change 3438047 by Arciel.Rekman Fix overlapping ranges being passed to memcpy(). Change 3438822 by Yannick.Lange ViewportInteraction: Move gizmo handle files to make them private. Change 3438906 by Matt.Kuhlenschmidt PR #3556: Git Plugin: fix new option "init Git LFS" that make assets read-only (master/UE4.17) (Contributed by SRombauts) Change 3438907 by Matt.Kuhlenschmidt PR #3565: add -quality option to buildlighing commandlet (Contributed by kayama-shift) Change 3438908 by Matt.Kuhlenschmidt PR #3558: UE-44862: Always update SColorPicker color on OK button (Contributed by projectgheist) Change 3439393 by Matt.Kuhlenschmidt Force highest LOD for highres screenshots Change 3439819 by Matt.Kuhlenschmidt Turned FAssetData into a struct for some upcoming script exposure of FAssetData Change 3439949 by Arciel.Rekman Fixed selection logic for the UE4_LINUX_USE_LIBCXX environment variable. - Allows disabling libc++ by setting the variable to 0. - Pull request #3576 contributed by jared-improbable. Change 3441078 by Jamie.Dale The culture/language/locale console commands are now available in all build configs Change 3441109 by Jamie.Dale Text containing surrogate pairs now runs through HarfBuzz when shaping in Auto mode This is needed as the kerning-only shaping code assumes that everything is within the BMP Change 3441275 by Matt.Kuhlenschmidt Disable spinning on location and scale. These dont work because we have no notion of infinite spinning Change 3442748 by Yannick.Lange ViewportInteraction: Remove unused console variables. Change 3442775 by James.Golding Add support for editing MaterialFunctions to MaterialEditingLibrary Pull Material recompile/update code into UMaterialEditingLibrary::RecompileMaterial Pull MaterialFunction update code into UMaterialEditingLibrary::UpdateMaterialFunction util Move RebuildMaterialInstanceEditors to UMaterialEditingLibrary Added test content for Material/MaterialFunction editing Add needed BlueprintReadWrite to expressions (constants, function input/output) Expose UMaterialExpressionMaterialFunctionCall::SetMaterialFunction to BP, rename old func (which takes old function) to SetMaterialFunctionEx, also expose GetInputNameWithType Change 3442779 by James.Golding Fix header order Change 3442817 by Yannick.Lange ViewportInteraction: Add can execute checks for level editor commands. Change 3443038 by Michael.Dupuis #jira UE-43377: When you select a foliage actor we will move all instance contained in it to the new level as we can't move a foliage actor Only permit moving foliage instance if there is some selected Change 3443855 by Michael.Dupuis #jira UE-44885: Unregister from PerModuleDataObjects when the object is destroyed Change 3446096 by Max.Chen Sequencer: Add OnFinished() event when a level sequence completes playback #jira UE-45173 Change 3446097 by Max.Chen Sequencer: Evaluate one last time before the sequence is torn down and reset #jira UE-45174 Change 3446242 by Jamie.Dale Fixed caret not appearing in empty text layouts Caret selections have no range, and therefore have no width Change 3446361 by Matt.Kuhlenschmidt Fix WITH_EDITOR only functions causing generated code compile errors when the all functions on the class are WITH_EDITOR Change 3446457 by Alexis.Matte Polish the speed tree import dialog #jira UE-44963 Change 3446946 by Michael.Trepka Modified FWindowsWindow::GetRestoredDimensions to return correct window position for normal windows for which GetWindowPlacement returns position in workspace coordinates #jira UE-37934 Change 3447543 by Arciel.Rekman Reduce VMAs on Linux. - Trades off increased address space (VIRT in terms of ps/htop) for smaller number of distinct mappings (VMAs, virtual memory areas). This decreases possibility to run into vm.max_map_count limit on Linux. - Tested on Linux and Mac. Change 3448468 by Arciel.Rekman Fix race condition during creation of GMalloc. - On Mac GMalloc can be created on two different thread that are racing with each other - app's main thread and a system thread. Change 3449012 by Max.Chen Sequencer: Add time to transform, color and vector key structs so that key times are editable from the key editors. #jira UE-45089 Change 3449018 by Max.Chen Sequencer: Add OnCameraCut event that fires when there is a camera cut. #jira UE-45137 Change 3449195 by Max.Chen Sequencer: Add setting for limit scrubbing to playback range. #jira UE-43502 Change 3449198 by Max.Chen Sequencer: Reorder hierarchical bias so that group priority takes precedence. Change 3449217 by Max.Chen Sequencer: Add setting to activate realtime viewports when in sequencer. Change 3449219 by Max.Chen Sequencer: Focus on search boxes when opened. Change 3449238 by Max.Chen Sequencer: Assign actor should replace the actor itself after it has updated all the components. Also, replace components be fullname rather than by class. Change 3449239 by Max.Chen Sequencer: Fix offsets when moving multiple sections. Dragging should be clamped to the bounds that any of the selected sections hits against the unselected sections. Change 3449241 by Max.Chen Sequencer: Restore section selection after full tree rebuild. Change 3449279 by Max.Chen Sequencer: Set movie scene capture frames only when not using custom frames. This allows the user entered frame numbers to persist in config, rather than overwriting them when doing a "Render Shot" Change 3449280 by Max.Chen Sequencer: Spawn in the persistent level. Otherwise, they get spawned into whatever sublevel is current. #jira UE-44552 Change 3449294 by Max.Chen Sequencer: Null check for sequencer ed mode crash. Change 3449297 by Max.Chen Sequencer: Fix delay in sliding values. Mark changed when sliding values. Mark refresh immediately when committing values since OnValueChanged will be called and needs to have the correct value that was refreshed immediately. #jira UE-42866 Change 3449542 by Max.Chen Sequencer: Fix scrubber hit testing so that the time scrubber is really favored over the playback ranges. #jira UE-44569 Change 3451507 by Matt.Kuhlenschmidt Fix extra slate uv coords not functioning on ES2 Change 3451510 by Matt.Kuhlenschmidt PR #3595: Fixed wrong colour for level status (Contributed by ronve) Change 3451529 by Alexis.Matte fbx scene importer: Make sure we set INVALID_UNIQUE_ID to node that has no attribute. #jira UE-34410 Change 3451611 by Yannick.Lange ViewportInteraction: Dragging gizmo without second pass for snapped calculations. Change 3452134 by Jamie.Dale Fixed constant font cache flushing if a widget had no font set Change 3452239 by Jamie.Dale Fixed constant font measure flushing if a widget had no font set Change 3452243 by Jamie.Dale Removed deprecated code for creating fonts from bulk data Change 3452277 by Jamie.Dale The concept of "stale" composite fonts is now editor-only Change 3452358 by Alexis.Matte Fbx scene importer: Do not remove existing attribute reference from the blueprint if the reimport of the associate mesh attribute is not tick. #jira UE-45232 Change 3452678 by Max.Chen Sequencer: Fix crash on export if there's no shot data. Change 3453057 by Matt.Kuhlenschmidt Exposed asset exporting to script Change 3453782 by Andrew.Rodham Sequencer: Fixed deterministic cooking issues with movie scene data - Movie scene signatures are now initialized in PostInitProperties - A warning is now presented when attempting to cook old data that was never serialized with a signature. - Removed redundant legacy data upgrade logic that could dirty level sequences on load. #jira UE-44912 Change 3453788 by Yannick.Lange ViewportInteraction: Custom scene proxy for gizmo handles. Change 3453938 by Max.Chen Sequencer: Hotkeys (shift , and shift .) to step to next/previous shot #jira UE-45119 Change 3454058 by Michael.Dupuis Fixed StaticAnalysis Change 3454077 by Max.Chen Sequencer: Fix not saving the pre-animated track value when creating a track/key. On pre object change, broadcast property change so that a track or key can be created. That track/key needs to be evaluated immediately so that the pre-animated state can be saved properly. This is done now with RefreshAllImmediately and is only called when a track has been created. Also, added a return value for OnKeyProperty, so that it's known what changed in particular (ie. track created, track modified, etc) Also, fixed transform keying so that if a transform track already exists for the object or the scene component, the existing track is used. #jira UE-45130 Change 3454108 by Nick.Darnell UMG - Fixing the WIC to properly record cursor delta so that scrollbars work. Change 3454109 by Jamie.Dale Cache the text layout source info in non-shipping builds so you can inspect it in the debugger Change 3454202 by Matt.Kuhlenschmidt Fix bogus error message about the number of usable texture coordinates on ES2 when compiling a UI domain material Change 3454390 by Yannick.Lange Fix creating a plugin in a C++ project opens a second instance of Visual Studio. Use SourceCodeAccessor to open solution when necessary. #jira UE-45035 Change 3454564 by Matt.Kuhlenschmidt #rnx Fix deprecation warnings Change 3455471 by Yannick.Lange ViewportInteraction: Fix entering and exiting VR Mode disables gizmo in desktop editor viewport. #jira UE-44965 Change 3456183 by Max.Chen Sequencer: Auto key, auto track refactor. Auto key - create a key when the property changes and there's an existing track. Auto track - create a track when the property changes. This is only exposed in the level sequence editor. All - create a key and a track when the property changes. This is only exposed in VR Editor. None - do nothing. #jira UE-43469 Change 3456349 by Andrew.Rodham Sequencer: Only perform legacy signature checks on instances, and only where signatures match the CDO Change 3456678 by Alexis.Matte Allow to add null level instance override material via the advance material array. But still limit the override material number to the mesh material number. #jira UE-45306 Change 3456945 by Max.Chen UMG: Add restore state to 2d transform section. #jira UE-45372 Change 3457196 by Arciel.Rekman Linux: serialize allocations from the memory pool. Change 3458434 by Max.Chen Sequencer: Remove obsolete set tick prerequites functions. Change 3458671 by James.Golding Added MIC editing support to MaterialEditingLibrary Fix static analysis warning Change 3458888 by Matt.Kuhlenschmidt PR #3615: More detailed log messages for debugging warnings/errors (Contributed by projectgheist) Change 3458893 by Matt.Kuhlenschmidt PR #3583: UE-44960: Delta value wasn't being used (Contributed by projectgheist) Change 3458895 by Matt.Kuhlenschmidt Fix typo Change 3458902 by Matt.Kuhlenschmidt PR #3607: Improved InputKeySelector functionality (Contributed by projectgheist) Change 3458917 by Matt.Kuhlenschmidt Fix crash with invalid object properties in the class picker #jira UE-39000 Change 3458939 by Matt.Kuhlenschmidt Fix compile error Change 3458984 by andrew.porter QAGame: Initial check in of sequencer smoke test map Change 3459510 by Matt.Kuhlenschmidt Fixed ensure when deleting a map that contains build data which also happens to be the currently loaded map. #jira UE-45052 Change 3460985 by Max.Chen Sequencer: Snap play time to keys now allows scrubbing between keys and snaps to key times within a certain screenspace tolerance. #jira UE-45090 Change 3461698 by Arciel.Rekman Avoid using ARRAY_COUNT in Vulkan. - Sometimes those arrays can have no extensions whatsoever, and it is illegal to declare a 0 element C array. Change 3462053 by Max.Chen Sequencer: Show sequencer spawnables in the world outliner and add the icon overlay for spawnables. #jira UE-43470 Change 3462139 by Max.Chen Property Editor: Add objects to FPropertyAndParent Change 3462202 by Arciel.Rekman Fix FSocket::Recv() blocking with Peek when there's no data. Change 3462253 by Nick.Darnell Slate - New Clipping System Clipping is now a stateful choice made during composition of the slate hierarchy. Previously every widget got to respect or modify the clipping rect on an as needed basis. The problem was that clipping was only allowed in the layout space of the widget, and it wasn't possible to properly clip elements with render transforms. The new system permits all kinds of transforms on any widget, and they will all be clipped correctly. It tries to use Scissor Rects as they are much cheaper, but will switch over to stenciling if need be to represent a complicated masking structure with several rotated clipping rects all needed to be combined together. Here are the new clipping states a widget can have, almost all widgets are set to No. Only change it from No if your widget actually needs to clip, generally speaking most widgets don't need to clip. /** * This widget does not clip children, it and all children inherit the clipping area of the last widget that clipped. */ Inherit, /** * This widget clips content the bounds of this widget. It intersects those bounds with any previous clipping area. */ ClipToBounds, /** * This widget clips to its bounds. It does NOT intersect with any existing clipping geometry, it pushes a new clipping * state. Effectively allowing it to render outside the bounds of hierarchy that does clip. * * NOTE: This will NOT allow you ignore the clipping zone that is set to [Yes - Always]. */ ClipToBoundsWithoutIntersecting UMETA(DisplayName = "Yes - Without Intersecting (Advanced)"), /** * This widget clips to its bounds. It intersects those bounds with any previous clipping area. * * NOTE: This clipping area can NOT be ignored, it will always clip children. Useful for hard barriers * in the UI where you never want animations or other effects to break this region. */ ClipToBoundsAlways UMETA(DisplayName = "Yes - Always (Advanced)"), /** * This widget clips to its bounds when it's Desired Size is larger than the allocated geometry * the widget is given. If that occurs, it behaves like [Yes]. * * NOTE: This mode was primarily added for Text, which is often placed into containers that eventually * are resized to not be able to support the length of the text. So rather than needing to tag every * container that could contain text with [Yes], which would result in almost no batching, this mode * was added to dynamically adjust the clipping if needed. The reason not every panel is set to OnDemand, * is because not every panel returns a Desired Size that matches what it plans to render at. */ OnDemand UMETA(DisplayName = "On Demand (Advanced)") - Large API Change - All FSlateDrawElement::Make_____ calls have been deprecated that involved passing in a clipping rect. You no longer should are passed a Clipping rect via OnPaint. You are still passed a rect, but this rect represents a Culling Rect, which is valuable if you need to just out right not paint things the user can't possibly see. If you were previously trying to determine if you should cull widgets, by doing something like this, if ( FSlateRect::DoRectanglesIntersect(MyClippingRect, CurWidget.Geometry.GetRenderBoundingRect()) ) That's no longer a good option since there are ways for widgets to ignore the culling bounds. You should convert anything like above to the one below, if (!SWidget::IsWidgetCulled(MyCullingRect, CurWidget)) To assist in debugging efforts, there are several new debugging console flags in Slate, Slate.ShowClipping 1 - Controls whether we should render a clipping zone outline. Yellow = Axis Scissor Rect Clipping (cheap). Red = Stencil Clipping (expensive). Slate.DebugCulling 1 - Disables pushing clipping or stencil rects to the GPU, but continues to intersect culling rects, so that you can tell if a widget is properly culling children it can't possibly draw. Slate.ShowTextDebugging 1 - Show debugging painting for text rendering. I've added a new Experimental Feathering Option, it adds AA geometry around the outside of Box and Image brushes. Slate.Feathering 1 If you're using RenderDoc or something similar, you can now enable render events for slate, so that you can better grok how we're batching and changing states for each UI render pass. Slate.EnableDrawEvents 1 #jira UE-4659 #rn Change 3462714 by Nick.Darnell Fixing a few more compiler issues with the clipping changes. Change 3462726 by Max.Chen Switch OnEditStructChildContentsChanged to use FObjectWriter instead of FMemoryWriter which supports serializeing UObjects. This fixes a crash when adding actor array elements to a user defined event struct. #jira UE-45431 Change 3462801 by Nick.Darnell Adding a UMG dependency to EngineTestBuild. Change 3462914 by Max.Chen Sequencer: Fix regression where spawnables aren't getting saved. Caused by 3407138 #jira UE-30007 #jira UE-39003 Change 3462946 by Nick.Darnell Automation - Tweaking the UI automation tests converting them over to use the new UI Screenshot automation test. Automation - Adding a blur widget test. Change 3462987 by Matt.Kuhlenschmidt Back out changelist 3458893 Change 3464774 by Matt.Kuhlenschmidt PR #3629: Bugfix: Missing small icon in Project Launcher profile editor (Contributed by aarmbruster) Change 3464785 by Nick.Darnell Fixing some clipping stuff in the editor. Change 3464830 by andrew.porter QAGame: Second pass on sequencer smoke test map Change 3464902 by Nick.Darnell Loading - Adding some additional checks to the the loading code to ensure we're on the main thread. Additionally adding a fix from UDN that prevents deadlocks in the rare case a user hits Alt+Tab in a fullscreen game while in a hard loading screen. Change 3464988 by Max.Chen Sequencer: Add attenuation settings for attached audio components. #jira UE-33080 Change 3465024 by Nick.Darnell MoviePlayer - Impoving the playback mode displaynames. Change 3465074 by Arciel.Rekman Fix shadowing issues of GraphicsPSOInit. Change 3465097 by Matt.Kuhlenschmidt Some refactoring of the details panel Exposed new methods of adding a struct on scope to a details panel and have it work properly with customizations. The scruct on scope has a "fake" ustructproperty that allows the details panel to show the whole struct not just an individual property. Refactored the API for adding rows to details panels to make it more consistent\ AddChildCustomBuilder->AddCustomBuilder AddChildGroup->AddGroup AddChildContent->AddCustomRow AddChildPropert->AddProperty AddChildStructure->AddExternalStructureProperty AddStructure->AddAllExternalStructureProperties AddExternalProperty->AddExternalObjectProperty or AddExternalStructureProperty Change 3465186 by Max.Chen Sequencer: Save the BindingID in the pre animated token producer so that it can be destroyed properly. This fixes a bug where the default state of a spawnable isn't saved. #jira UE-43780 Change 3465315 by Matt.Kuhlenschmidt Fix Fortnite and Orion details panel customization warnings Change 3465424 by Nick.Darnell Automation - Moving the step for setting the link to the automation reports to be set before we start the engine. Change 3465488 by Nick.Darnell Automation - Forcing textures to load before taking screenshot, so that the scene gets another opportunity to render before we render with Slate. This should fix the Blur UI Test. Change 3466277 by Arciel.Rekman Linux: fix window drift when dragging (UE-40380). - Change by Cengiz Terzibas. Change 3466370 by Nick.Darnell UMG - Fixing the colors for the resize handle in the designer. Change 3466372 by Nick.Darnell UMG - Fixing the ruler ticks sometimes not being drawn. Change 3466374 by Nick.Darnell UMG - Fixing the designer showing multiple options for sequencer. Change 3466377 by Nick.Darnell UMG - Cleaning up some clipping bits. Change 3467025 by Andrew.Rodham Re-saving assets that contain legacy (<4.15) movie scene data to remove deterministic cook warning. If conflicts arise during merging of these assets, please ignore the changes made in dev-editor, and accept game-side changes. (CIS step 62283298, jobId 7773146) (CIS step 62283297, jobId 7773146) Change 3467099 by Max.Chen Fix GetObjectPropertyClass ensure logic. This was returning UObject::StaticClass when valid. Change 3467172 by Max.Chen Sequencer: Evaluation optimizations. Also, fixes subsequences not getting expired, leaving dangling spawnables. #jira UE-43690 Change 3467192 by Matt.Kuhlenschmidt Fix transactions getting stuck in the color grading controls. This prevents PIE from working properly and causes shutdown crashes #jira UE-45527 Change 3467251 by Yannick.Lange ViewportInteraction: Fix scale and rotation snap while dragging with two lasers. #jira UE-43489 Change 3467331 by Matt.Kuhlenschmidt Fix D3D shader compiler hard coding shader path and not giving proper warnings when it cannot find the shaders Change 3467335 by Matt.Kuhlenschmidt Remove DarkStyle attribute from SNumericEntryBox and allow a spin box style to be passed to it. Change 3467558 by Max.Chen Scene Outliner: Generic support to add default columns to a scene outliner. Change 3467565 by Jamie.Dale Removing old screenshot data for test Change 3467589 by Nick.Darnell Editor - Random cleanup. Change 3467596 by Nick.Darnell Progress Bar - Exposing Border Padding to UMG. Change 3467600 by Nick.Darnell Slate - Adjusting the rendering of the splitter, previously it could be off by a pixel or two, which becomes more apparent now with the clipping changes. Change 3467601 by Max.Chen Property Editor: Fix static analysis warning Change 3467662 by Nick.Darnell Automation - Fixing a bug with the screenshot comparison tool not replacing (removing) the old screenshot data. Change 3467674 by Max.Chen Property Editor: Fix static analysis warning Change 3467737 by Max.Chen Sequencer: Added OnMovieSceneBindingsChanged delegate Change 3468053 by tim.gautier QAGame: Updating Editor Smoke Map - Updated landscapes into Stations for testing - Added Foliage Sublevel Change 3468194 by Arciel.Rekman Linux: fix problems communicating with various STL-using libs. - Stop hiding global new/delete signatures. - Disable CEF3 since this change uncovers the problem with libcef.so not built to use bundled libpng. Change 3468678 by Max.Chen Sequencer: Set "Sequencer Actor" tag before setting the actor label so that the outliner refreshes after the actor has the tag. Change 3469314 by tim.gautier QAGame: Added Painted Foliage / Spline section to EditorSmoke map Change 3469377 by Nick.Darnell Slate - Fixing some warnings in a couple of sample games due to the clipping changes. #rnx Change 3469767 by Max.Chen Sequencer: Outliner column and sequencer binding data #jira UE-43470 Change 3469974 by Arciel.Rekman Fix code projects not working in Linux installed build. Change 3470082 by Nick.Darnell Slate - The GetRenderer() call on SlateApplication no longer returns a SharedPtr, rather than convert it to a thread safe ptr, going to just make accessing it a raw ptr return, so it can be safely referenced on the game thread while being used on the slate loading thread. Change 3470174 by Nick.Darnell Slate - Get the last widget in a widget path utility. Change 3470176 by Nick.Darnell UMG - User Widgets now have an easy way to know if they're part of or have been removed from the focused widget path, which is handy for doing effects. Change 3470261 by Nick.Darnell Slate - The GetRenderer() call on SlateApplication no longer returns a SharedPtr, rather than convert it to a thread safe ptr, going to just make accessing it a raw ptr return, so it can be safely referenced on the game thread while being used on the slate loading thread. Change 3470286 by Max.Chen Sequencer: Scene Component's HiddenInGame now goes through the VisibilityTrack and the visibility template. Change 3470366 by Nick.Darnell Slate - We now version focus per user, that way during focus events, we can safely abort focus events and state transitions if someone interrrupts the active focus event with something new. Change 3470649 by Matt.Kuhlenschmidt Fix deprecation warnings Change 3470695 by Matt.Kuhlenschmidt Fixed typo #jira UE-45580 Change 3470721 by Matt.Kuhlenschmidt Fix static analysis Change 3471254 by Michael.Dupuis #jira UE-42952: Keep occlusion result per view Change 3471287 by Nick.Darnell UMG - Render Focus Rule now defaults to never. Change 3471291 by Nick.Darnell Slate - Fixing FSlateRenderer* change fallout. Change 3471299 by Nick.Darnell Slate - Fixing FSlateRenderer* change. Change 3471323 by Nick.Darnell Automation - Fixing automation and Static Analysis warning. Change 3471413 by andrew.porter QAGame: Added test content for anim blending and material parameteres to sequencer smoke level Change 3471649 by Max.Chen Sequencer: Modify the track when adding animation #jira UE-45618 Change 3471659 by Matt.Kuhlenschmidt Added a way to check if a movie is playing from the engine. Prevented viewport redraws for canvas loading screens if a slate based loading movie is playing Change 3471734 by Matt.Kuhlenschmidt Added basic material hookup to USD. Similar to FBX it will find materials based on rules specified by the user in the import settings Change 3472176 by Nick.Darnell UMG - Improving the display of the +Track menu in sequencer for UMG. Renamed it from +Add, which is repetitve to +Track. Additionally, the dropdown now shows the currently selected widgets, as well as a submenu containing all the 'important' widgets, so we no longer populate that list with a ton of irrelevant widgets that are just Buton_1 - N, which is pointless in showing people, they'll never guess which is the right button. Change 3472740 by Max.Chen Sequencer: Add GetThisFrameMetaData accessor Change 3472748 by Max.Chen Sequencer: Added OnBeginScrubbing and OnEndScrubbing event delegates Change 3472753 by Max.Chen Sequencer: Add EMovieSceneDataChangeType parameter to OnMovieSceneDataChanged delegate Change 3472870 by Nick.Darnell Clipping - Fixing the deprecated tip for scissor rect boxes to be correct. Removing it's usage from UT. Change 3473340 by Max.Chen Scene Outliner: Add ability to register additional filters Change 3473348 by Max.Chen Details View: Make ForceRefresh virtual. Added accessors to delegates (ie. GetIsPropertyReadOnlyDelegate) Change 3473441 by Max.Chen Sequencer: Autokey Refactor Part 2. Autokey is now a single toggleable state. Allow Edits Mode has 3 states: Allow All Edits - Allow any edits to occur, some of which may produce tracks/keys or modify default properties. Allow Sequencer Edits Only - All edits will produce either a track or a key. Allow Level Edits Only - Properties in the details panel will be disabled if they have a track. #jira UE-45229 Change 3473670 by Nick.Darnell Modules - The module manager no longer returns sharedptrs to IModuleInterfaces, this was the source of rare hard to track down crashes due to a shared ptr reference leak when GetModule was called on non-main threads. We now store a TUniquePtr internally, and only lease out raw pointers. #rn Change 3473711 by Nick.Darnell Disabling the ensure in the module manager. Change 3473747 by Max.Chen Sequencer: Fix tooltip Change 3474091 by Jamie.Dale Added a warning when cooking a UFontFace that is outered to a UFont asset These cause issues with iterative COTF, and should be split off into their own assets (as the UI has been asking people to do for several versions) Change 3475052 by Yannick.Lange VR Editor: Fix Crash when quitting the editor with VR Mode enabled. VR Editor was being enabled when saving the map on closing the editor. #jira UE-45415 Change 3475054 by Yannick.Lange Fix crash when adding a camera to the world in VR Mode the second time. The slate application did not reset when stop dragging in VR Mode, so the second time when starting to drag a camera out of the UI it would already by in a dragging state. #jira UE-45574 Change 3475263 by Nick.Darnell Fixing some additional cases of IModuleInteface SharedPtr usage. Change 3475268 by Max.Chen Sequencer: Set jumped state when looping playback. This fixes an issue where audio doesn't stop and restart when looped. #jira UE-45654 Change 3475269 by Max.Chen Scene Outliner: Additional filters should only apply to actor browsing mode Change 3475407 by Nick.Darnell Fixing some clipping / module shared ptr changes in the launcher code. Change 3475542 by Max.Chen Sequencer: Update thumbnail and section highlighting to use new clipping behavior. #jira UE-45692 #jira UE-45689 Change 3475743 by Michael.Dupuis #jira UE-45183: When updating phyx region take into account simple collision mip Change 3475949 by Arciel.Rekman Remove PhysX deoptimization (no longer needed). - OR-24947 has been closed three months ago. Change 3476022 by Michael.Dupuis #jira UE-45560: Make sure we're not going out of range Change 3476063 by Michael.Dupuis #jira UE-45562: Do not try to unregister from static mesh if no static mesh is specified for the component Change 3476168 by Michael.Trepka Added handling of directory symlinks to FApplePlatformFile::IterateDirectory #jira UE-43704 Change 3476172 by Nick.Darnell Fixing a Imoduleinterface change. Change 3476183 by Jamie.Dale Exposing GoTo/ScrollTo to single-line editable text for API parity with multi-line editable text Change 3476385 by Arciel.Rekman Linux: handle symlinks when iterating directories. Change 3476522 by Michael.Trepka Solved a problem with Mac FMallocTBB::Malloc() returning nullptr for 0 bytes allocations, which is inconsistent with other platforms. On Mac we always scalable_aligned_malloc, which behaves differently than scalable_malloc, so for 0 bytes requests we allocate sizeof(size_t), which is exactly what scalable_malloc does internally in such case. Change 3476806 by Nick.Darnell UMG - Focus the designer after dropping a widget onto the surface. Change 3476809 by Nick.Darnell Curve Editor - Enable Clipping on the curve editor. Change 3477475 by Nick.Darnell Fixing a module interface shared ptr usage in UT. Change 3477553 by Yannick.Lange VR Editor: Removed AssetEditorPanelID and replaced it with TabManagerPanelID. A panel for AssetEditorPanelID was never created making it impossible to open an asset editor. Change 3477734 by Yannick.Lange VR Editor: Fix Warning: SetRelativeScale3D : Invalid Scale entered (X=inf Y=inf Z=inf). Resetting to 1.f. warning when adding CineCameraActor to World from Modes Panel. Make sure to not divide by zero when there is no boundary scale. #jira UE-44933 Change 3477761 by Jamie.Dale Some improvements to avoid loading the native .locres files twice when we don't need to Change 3477780 by Nick.Darnell PR #3250: Return correct VirtualUserIndex (Contributed by projectgheist) Change 3477786 by Nick.Darnell PR #3650: Changed TestNull to accept const pointers. (Contributed by e-agaubatz) Change 3477795 by Nick.Darnell PR #2844: UE-36936: Don't stretch container for Plugin Image (Contributed by projectgheist) Change 3478092 by Nick.Darnell PR #2341: Optional Middle Mouse Button panning in Graph Editor (Contributed by flipswitchingmonkey) Engine Edit - Made some small changes to the enum type, and some naming. Change 3478450 by Nick.Darnell Fixing some uninitialized variable errors. Change 3479827 by Andrew.Rodham Sequencer: Addressed serialization issues with some struct types Change 3479874 by Jamie.Dale Fixed "NativeGameLanguage" not being used correctly during localization initialization Change 3480012 by Andrew.Rodham Sequencer: Fixed loading tagged properties as native for track identifiers #jira UE-45823 Change 3480337 by Alexis.Matte Fix morph target crash missing some valid index check Change 3480804 by Alexis.Matte Fix crash with ColorGradingMode custom detail #jira UE-45638 Change 3480892 by Andrew.Rodham Sequencer: Ensure that movie scene sequences know about the editor object version #jira UE-45842 Change 3481073 by Nick.Darnell Fix the shader compiler error from main in Slate. Change 3481303 by Nick.Darnell UMG - Fixing a bug with the drag handle not working correctly in HDPI mode. Change 3481308 by Nick.Darnell Slate - Tweaking the IsWidgetCulled logic to consider both the layout and rendering bounds. If we do this, we get a much more desireable outcome for people that want to animate widgets and such and plan to have temporary animations to move the widget offscreen, but want the layout bounds to anchor that widget in the visible frame so that it animates even when normally it would be culled b/c the render transform and therefore the renderbounds moved it completely outside the culling rect. Change 3481629 by Max.Chen Sequencer: Add Level Sequence Actor as an output for CreateLevelSequencePlayer() #jira UE-45785 Change 3481899 by Yannick.Lange VR Editor: Added debug modetoggle command with an event that is broadcasted whenever this happens. Currently this is used to show all the floating UIs of the UI system to debug without HMD using VREd.ForceVRMode. Change 3481984 by Michael.Dupuis #jira UE-45845: always validate if we have a static mesh before trying to access it as user can decide to not assign one and use the tools Change 3482047 by Nick.Darnell Slate - Adding some comments to IsWidgetCulled. Change 3482110 by Nick.Darnell Slate - IsWidgetCulled is no longer static and is now called IsChildWidgetCulled. Change 3482136 by Jamie.Dale The CamelCase break iterator now treats digits around character tokens as part of the identifier Change 3482138 by Michael.Dupuis #jira UE-45854: Properly unregister during undo operation Change 3482150 by Michael.Dupuis #jira UE-45845 : Add missing nullcheck for GetStaticMesh Change 3482153 by Nick.Darnell Slate - IsWidgetCulled is no longer static and is now called IsChildWidgetCulled. Change 3482180 by Nick.Darnell UMG - Widget Components do not need to define a widget class to be rendererd, they can have native slate widgets only. This was a regression from main. Change 3482273 by Nick.Darnell UMG - Tweaking some more things about the widget component box outline. Change 3482308 by Alexis.Matte Fixing morph target smooth group support. Do not call FillSkeletalMeshImportData more then once on FbxNode since this fonction is doing some conversion and change the FbxNode, applying those conversion twice do not return the same faces smooth group. #jira UE-45696 Change 3482327 by Nick.Darnell UMG - More tweaks to the WidgetComponent so both shows the box outline, but works in game and VR editor. Change 3482705 by Andrew.Rodham Resaving assets that contain legacy data to suppress CIS warnings. - If conflicts arise in these assets, please take game-side changes and ignore these. Change 3484245 by Max.Chen Sequencer: Evaluate on end scrub. This fixes a bug where audio doesn't evaluate in a stopped position at the end of scrubbing, causing it to not stop all sounds. This fixes a bug introduced from 3365018 where evaluate on end scrub was removed. #jira UE-45905 Change 3484263 by Max.Chen Sequencer: Fix crash on forcing refresh of details panel on release. #jira UE-45911 Change 3484431 by Andrew.Rodham Resaving assets that contain legacy data to suppress CIS warnings. - If conflicts arise in these assets, please take game-side changes and ignore these. Change 3484474 by Alexis.Matte Fix the morph target animation curve name matching. #jira UE-20294 Change 3484475 by Alexis.Matte When removing a LOD, make sure we remove all morph target data associate to the LOD. Change 3484489 by Nick.Darnell PR #3668: UE-45908: Cache debug line locations when performing a LineTraceMulti (Contributed by projectgheist) #jira UE-45908 Change 3484692 by Nick.Darnell Slate - Reverting a change from a game stream. All Arranged Children don't need to allocated 42 to begin with. Do need to initialize WidgetPaths better. Change 3484703 by Nick.Darnell Player Input - Making the input event loop for players obey EKeys::NUM_TOUCH_KEYS, rather than being set to Touch10, as the maximum touch input amount, to make supporting greater than 10 touches easier. Also making the seeding of keys use EKeys::NUM_TOUCH_KEYS. #jira UE-43213 Change 3484918 by Jamie.Dale Fixed font measuring regression with RTL text RTL applies the character count to the next glyph, so it shouldn't process the end of the loop (this was how the older code used to work). Change 3485718 by Nick.Darnell Editor - Removing Super Search & User Feedback button. Change 3485719 by Nick.Darnell Portal - Removing SuperSearch. Change 3485751 by Matt.Kuhlenschmidt Fix crash accessing platformer game menu if the menu is open during a console based load #jira UE-45950 Change 3486047 by Arciel.Rekman Linux: add OpenEXR implementation (UE-40270). #jira UE-40270 Change 3486467 by Max.Chen Sequencer: Reset max tick rate when destroyed. #jira UE-45956 Change 3486477 by Max.Chen Sequencer: Refresh outliner when column is removed. #jira UE-45891 Change 3486667 by Andrew.Rodham Added missing include Change 3486724 by Andrew.Rodham Sequencer: Fixed curves with no default value, and no keys being evaluated and applied to properties - Also fixed an edge case where a zero (but non-animated) channel could be applied to a final transform Change 3486730 by Alexis.Matte In the Auto-Reimport options, hide the mout point only for the default /Game/ folder #UE-45684 Change 3486749 by Alexis.Matte Make sure the parent window of the monitor directory browse folder is set properly #jira UE-45682 Change 3486805 by Matt.Kuhlenschmidt Additional safety against invalid objects being accessed by slate Change 3486848 by Alexis.Matte Make sure Monitor folder feature support root mount point map folder During auto import, give priority to asset import factory over the scene import factory #jira UE-45691 Change 3486879 by Andrew.Rodham Removing obsolete QA assets Change 3486950 by Nick.Darnell PR #2281: Scrollbar missing features and SScrollbar fixes (Contributed by SNikon) Review - made some adjustments from the original. Change 3486954 by Nick.Darnell Slate - Moving the STableViewBase over to the FOverscroll class, rather than it's own clone. Change 3486967 by Nick.Darnell Slate - Fixing some HDPI calculations for fitting new windows on screen, it was using the unscaled size of the widgets for fitting, when it needed to scale them up. Change 3486970 by Andrew.Rodham Sequencer: Delay mouse capture until drag for sequencer time slider - Fixes context menus not opening as a result of mouse capture being taken on mouse down #jira UE-45937 Change 3486984 by Andrew.Rodham Sequencer: Improved blending type iconography Change 3486996 by Nick.Darnell UMG - Adding a way for games to opt-out of the slow widget path, to completely prevent them from being cooked. UMG - The movie data is no longer cloned for each new instance that inhabits. It now keeps a reference to the now publically accessible movie scene data on the class instead. Change 3487070 by Andrew.Rodham Sequencer: Added graphics for key areas that represent empty space Change 3487195 by Andrew.Rodham Sequencer: Changed evaluation groups to always flush implicitly - Due to the latent nature of blended token types, it's no longer safe to rely solely on execution token order between tracks - This fixes an issue where events set in the PostEvaluation stage were executed before blended token actuation Change 3487322 by Nick.Darnell PR #2457: Add .gitdeps.xml-files for plugins support (Contributed by bozaro) Change 3487363 by Nick.Darnell PR #2481: Fix for packing of a project with users plugins (Contributed by yatagarasu25) Change 3487439 by Nick.Darnell PR #2642: Changed private to protected in SVirtualJoystick.h (Contributed by Skylonxe) Change 3487500 by Arciel.Rekman Removed LinuxNativeDialogs. - No longer used; has been superceded by SlateDialogs since UE 4.8 (2 years ago). Change 3487630 by Lauren.Ridge Don't create Landscape Info Maps for Editor Preview Worlds or thumbnail worlds #jira UE-44885 Change 3487864 by Matt.Kuhlenschmidt Exposed the asset registry to blueprints and script. Works in editor scripts and runtime scripts AssetRegistry is now a UInterface object. Blueprint users can access various asset registry methods using the asset registry interface (via GetAssetRegistry) and various static helpers in the AssetRegistryHelpers object C++ users should still continue to use IAssetRegistry. Change 3487879 by Matt.Kuhlenschmidt Renamed asset tools uobject helper to UAssetToolsHelpers Change 3487926 by Lauren.Ridge Fixing reset to default not showing up for custom widgets #jira UE-44164 Change 3488184 by Matt.Kuhlenschmidt PR #3656: Make References/Referencers List copyable (Contributed by user37337) #jira UE-45763 Change 3488240 by Matt.Kuhlenschmidt Fix compiler issue Change 3488350 by Lauren.Ridge Landscape info map transactional state is based on its world's transactional state #jira UE-44885 #jira UE-46019 Change 3488412 by Matt.Kuhlenschmidt Fix reset to default showing up in two different places for some customizations Change 3488413 by Matt.Kuhlenschmidt Fix slate font customization Change 3488414 by Matt.Kuhlenschmidt Fix slate font customization Change 3488415 by Matt.Kuhlenschmidt Missed file Change 3488565 by Arciel.Rekman Add pretty printers for gdb (UETOOL-1171). - Committing shelf by Cengiz.Terzibas, with some modifications. #jira UETOOL-1171 Change 3489094 by Nick.Darnell Slate - The Slate RHI Renderer now caches the TextureLODGroups so that it can properly lookup the filtering of different texture groups that are set to Default, instead of a particular filter override on a texture. Engine/Rendering - Simplifying some of the setup logic in TextureLODSettings so that code is shared for setting them up properly after loading from a config file. Change 3489095 by Nick.Darnell PR #2699: GameViewportClient - Added a method to allow setting the viewport cur. (Contributed by rfenner) Review - Fixed spacing. Change 3489108 by Matt.Kuhlenschmidt Fix deprecation warning Change 3489120 by Nick.Darnell PR #3478: Fix possible UComboBoxString crash (Contributed by nakosung) Change 3489147 by Andrew.Rodham Sequencer: Adding return value to function to appease static analysis - This function is never compiled, and if it is, it won't compile, but static analysis doesn't know that Change 3489264 by Nick.Darnell Testing - Finishing the thought behind an enum comment. Change 3489265 by Nick.Darnell PR #2750: UE-35164: Button padding (Contributed by projectgheist) Change 3489267 by Nick.Darnell PR #3645: UE-45464: Handle SSlider mouse interaction more accurately (Contributed by projectgheist) Change 3489632 by Arciel.Rekman Correctness changes to MallocPoisonProxy. - Missing forwarding functions added. Incorrect comment removed. - Change by Steve.Robb, doing here so it is in 4.17. Change 3489689 by Arciel.Rekman More MallocPoisonProxy changes I missed in previous CL. Change 3489751 by Matt.Kuhlenschmidt Moved editor performance settings out of per-project settings so they can be shared across projects Change 3489837 by Lauren.Ridge Keyboard shortcut for entering/leaving VR Mode is now Alt+V Change 3491082 by Arciel.Rekman Linux: better fix for the crash due to name collision (UE-46040). - Put classes in Sequencer module into Sequencer namespace instead of SceneOutliner namespace. - Undid change in the SceneOutliner module. #jira UE-46040 Change 3491096 by Arciel.Rekman Fix UAT compilation on the newest mono. Change 3491240 by Max.Chen Sequencer: Disable key button when allow level edits only is on. #jira UE-46060 Change 3491406 by Yannick.Lange Fix editor crashes when opening a project that includes a plugin with more than two custom Volume classes. This issue was caused because registering show volume commands is based on finding volume classes. Finding these classes at multiple times resulted in a mismatch of the returned array of volume classes because modules/plugins were still being loaded. #jira UE-45806 Change 3491559 by Alexis.Matte Make sure we use the good preview mesh when doing a preview #jira UE-45963 Change 3491563 by Alexis.Matte Fix crash with staticmesh editor LodLevel selection Change 3491564 by Nick.Darnell UMG - Fixing an offset with the grab handles in HDPI mode. Change 3491595 by Nick.Darnell Editor - Fixing a clipping artifact in the pin type dropdown in the blueprint editor. Change 3491604 by Nick.Darnell Back out changelist 3489265 Change 3491615 by Arciel.Rekman Added malloc replay proxy (Linux only for now). - Allows to dump malloc callstream (without regard to threads) and replay later to study the behavior of different mallocs and/or repro problems. Change 3491684 by Arciel.Rekman Added FMalloc functions I missed. - Also moved function bodies into the .cpp file, this does not make a difference in performance in this case. Change 3491692 by Matt.Kuhlenschmidt Some minor fixes to the static mesh editor - Fix UV combo button looking non-standard on the toolbar - Fix a few combo buttons in the details panel looking too big. Change 3491702 by Arciel.Rekman Do not compile replay proxy-specific code when not used. Change 3491717 by Michael.Dupuis #jira UE-35083: The component is now the owner of the PerInstanceRenderData instead of the proxy Add an Update path to only update specified instances range Always call BuildTreeIfOutdated so we have a standard code path to make sure static mesh are fully loaded before trying to build the tree Moved the Instance Buffer aysnc to the base class, as it's not related to UHierarchicalInstancedStaticMeshComponent Expose a new property to decide if we require dynamic instance buffer Change 3491758 by Matt.Kuhlenschmidt Fix crash on static mesh editor shutdown Change 3491873 by Cody.Albert Fixed clipping issue in Sequencer curve editor #rnx Change 3491956 by Matt.Kuhlenschmidt Fix crash opening the Previewing sub-menu in the level editor settings menu #jira UE-46095 Change 3492046 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3492076 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3492165 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3492222 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3492274 by Michael.Dupuis #jira UE-46105: Fixed Clang warning Change 3492338 by andrew.porter QAGame: Testing ensure when submitting Change 3492371 by Nick.Darnell UMG - Reverting the animation sharing, cossed GLEO regressions in cooking. Will look for a better solution. Change 3492462 by Matt.Kuhlenschmidt Fix ensure checking in files through perforce Change 3492491 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3492505 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3492517 by Jamie.Dale The package localization ID is no longer used at all at runtime, and is now truly editor-only This should have always been the case, but it was leaked into manifest/archives/PO files in 4.14, and while 4.15 removed it from PO files it was still present in the manifest/archives. This change removes it entirely (unless gathering editor-only data, and even then the PO file will still collapse the entries together for translation), and the deprecated 4.14 export behavior will now produce an error if you attempt to use it. After taking this change you'll need to run a gather, import, and compile of your LocRes files to update your game localization to use the new localization IDs. Change 3492630 by Nick.Darnell UMG - Removing some extra cleanup code that's probably overkill and is causing a crash for uses of "Within" in class meta. #jira UE-46124 Change 3492692 by Matt.Kuhlenschmidt Fix drop shadows inheriting the outline color of the font. The outline should still appear but not have a different outline color from fill color Change 3492714 by Matt.Kuhlenschmidt Added outline with drop shadow to font automation test Change 3492737 by Matt.Kuhlenschmidt Fix linux Change 3492992 by tim.gautier Resaving Ocean Widget Blueprints / Sequences to resolve Legacy Sequence Data warnings #jira UE-46132 Change 3493089 by Jamie.Dale Ensure that the composite font of a font asset is flushed when the font object is GC'd Change 3493322 by Jamie.Dale Fixing null crash #jira UE-45758 Change 3494467 by Andrew.Rodham Fix Xbox warning Change 3494852 by tim.gautier QAGame: Changed streaming method of QA-EditorSmoke-Landscape to Always Loaded Change 3494853 by Nick.Darnell Another attempt at fixing the automation blueprint SA warning. Change 3494896 by Arciel.Rekman Fix possible null pointer access during Vulkan init. - May fix static analysis warnings in UE-46142, although warnings seem to be referring to something else. #jira UE-46142 Change 3494987 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3495010 by Matt.Kuhlenschmidt Adding additional logging to track down html5 issue Change 3495212 by Michael.Dupuis #jira UE-46143: Properly init the InstanceRenderData during the cooking phase (required by fortnite) Change 3495536 by Jamie.Dale Updating UGameEngine to call its Super::PreExit after performing its own teardown This prevents UEngine cleaning up resources that UGameEngine still needs. #jira UE-46159 Change 3495551 by Arciel.Rekman Another attempt to fix analyzer problem (UE-46142). Change 3495794 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3495905 by Matt.Kuhlenschmidt Fix USD crash when importing a meshwith no material [CL 3499771 by Matt Kuhlenschmidt in Main branch]
2017-06-19 20:27:30 -04:00
.Clipping(EWidgetClipping::ClipToBounds)
[
SNew(STextBlock)
Copying //UE4/Dev-Editor to //UE4/Dev-Main (Source: //UE4/Dev-Editor @ 3497164) #lockdown Nick.Penwarden #rb none ===================================== MAJOR FEATURES + CHANGES ===================================== Change 3433074 by Matt.Kuhlenschmidt Fix crash when clicking on certian tutorial blueprints. #jira UE-44593 Change 3433075 by Matt.Kuhlenschmidt Remove hittest grid log spam. The underlying problem causing this has been fixed Change 3433077 by Matt.Kuhlenschmidt Fix lighting becoming unbuilt when mesh painting #jira UE-44837 Change 3433081 by Matt.Kuhlenschmidt PR #3553: Crashfix for static array properties (Contributed by Pierdek) Change 3433104 by Alexis.Matte Make sure re-import skeletal mesh follow the import morph option #jira UE-42846 Change 3434825 by Matt.Kuhlenschmidt Fix crash when GC happens while the vr editor radial menu is open. Change 3434831 by Matt.Kuhlenschmidt Added missing file Change 3434868 by Shaun.Kime If you have a reroute node between a Material Function texture input and its usage, the parent material will fail to resolve the reroute node. #jira ue-44670 Change 3434998 by Alexis.Matte Meshes editors material/section panel are now fully transactional - Staticmesh editor: section material slot, section cast shadow, section collision, material slot instance, material slot name - Skeletal mesh editor: material slot instance, material slot name Also fix some transaction description #jira UE-44462 Change 3435195 by Jamie.Dale Fixed incorrect handling of some LTR scripts that require shaping These scripts need to go through HarfBuzz, and this also fixes a case where HarfBuzz wasn't applying font scale correctly. #jira UE-44767 Change 3435199 by Jamie.Dale Fixed some crashes/artifacts with bidirectional text It was possible for a line to compute an incorrect range, which could cause crashes or other highlighting issues. The highlighting logic has also been updated as the old code didn't handle all bidirectional cases correctly. Change 3435200 by Jamie.Dale Fixed a grapheme cluster metrics issue in the font editor viewport The viewport also now respects the default shaping method CVar. Change 3435771 by Alexis.Matte Fix degenerated bounds calculation for skeletalmesh when the skeleton is remove from a re-import (PhysicAsset API change, adding 1 function) #jira UE-44609 Change 3436856 by Jamie.Dale Added some missing Unicode block ranges Change 3436914 by Jamie.Dale Adding some missing combining character ranges to the text shaper Change 3436923 by Alexis.Matte PR #3463: Get bounds for all triangles, not just the first one. WedgeIndex was . (Contributed by DaveC79) #jira UE-43764 Change 3436948 by Jamie.Dale Updated the Portal to use the predefined Unicode block ranges Change 3436961 by Max.Chen Sequencer: Show camera shake/anim track menus even if there aren't any assets. Change 3437244 by Max.Chen Sequencer: Clear locked cameras when releasing Sequencer. #jira UE-44967 Change 3437515 by Arciel.Rekman UBT: improvements for LocalExecutor. - Larger number of parallel jobs on 16GB+ machines. - Use WaitForExit() instead of polling. - Tested on Linux and Mac. Change 3437629 by Matt.Kuhlenschmidt Improve asset import data display in static and skeletal meshes Change 3438047 by Arciel.Rekman Fix overlapping ranges being passed to memcpy(). Change 3438822 by Yannick.Lange ViewportInteraction: Move gizmo handle files to make them private. Change 3438906 by Matt.Kuhlenschmidt PR #3556: Git Plugin: fix new option "init Git LFS" that make assets read-only (master/UE4.17) (Contributed by SRombauts) Change 3438907 by Matt.Kuhlenschmidt PR #3565: add -quality option to buildlighing commandlet (Contributed by kayama-shift) Change 3438908 by Matt.Kuhlenschmidt PR #3558: UE-44862: Always update SColorPicker color on OK button (Contributed by projectgheist) Change 3439393 by Matt.Kuhlenschmidt Force highest LOD for highres screenshots Change 3439819 by Matt.Kuhlenschmidt Turned FAssetData into a struct for some upcoming script exposure of FAssetData Change 3439949 by Arciel.Rekman Fixed selection logic for the UE4_LINUX_USE_LIBCXX environment variable. - Allows disabling libc++ by setting the variable to 0. - Pull request #3576 contributed by jared-improbable. Change 3441078 by Jamie.Dale The culture/language/locale console commands are now available in all build configs Change 3441109 by Jamie.Dale Text containing surrogate pairs now runs through HarfBuzz when shaping in Auto mode This is needed as the kerning-only shaping code assumes that everything is within the BMP Change 3441275 by Matt.Kuhlenschmidt Disable spinning on location and scale. These dont work because we have no notion of infinite spinning Change 3442748 by Yannick.Lange ViewportInteraction: Remove unused console variables. Change 3442775 by James.Golding Add support for editing MaterialFunctions to MaterialEditingLibrary Pull Material recompile/update code into UMaterialEditingLibrary::RecompileMaterial Pull MaterialFunction update code into UMaterialEditingLibrary::UpdateMaterialFunction util Move RebuildMaterialInstanceEditors to UMaterialEditingLibrary Added test content for Material/MaterialFunction editing Add needed BlueprintReadWrite to expressions (constants, function input/output) Expose UMaterialExpressionMaterialFunctionCall::SetMaterialFunction to BP, rename old func (which takes old function) to SetMaterialFunctionEx, also expose GetInputNameWithType Change 3442779 by James.Golding Fix header order Change 3442817 by Yannick.Lange ViewportInteraction: Add can execute checks for level editor commands. Change 3443038 by Michael.Dupuis #jira UE-43377: When you select a foliage actor we will move all instance contained in it to the new level as we can't move a foliage actor Only permit moving foliage instance if there is some selected Change 3443855 by Michael.Dupuis #jira UE-44885: Unregister from PerModuleDataObjects when the object is destroyed Change 3446096 by Max.Chen Sequencer: Add OnFinished() event when a level sequence completes playback #jira UE-45173 Change 3446097 by Max.Chen Sequencer: Evaluate one last time before the sequence is torn down and reset #jira UE-45174 Change 3446242 by Jamie.Dale Fixed caret not appearing in empty text layouts Caret selections have no range, and therefore have no width Change 3446361 by Matt.Kuhlenschmidt Fix WITH_EDITOR only functions causing generated code compile errors when the all functions on the class are WITH_EDITOR Change 3446457 by Alexis.Matte Polish the speed tree import dialog #jira UE-44963 Change 3446946 by Michael.Trepka Modified FWindowsWindow::GetRestoredDimensions to return correct window position for normal windows for which GetWindowPlacement returns position in workspace coordinates #jira UE-37934 Change 3447543 by Arciel.Rekman Reduce VMAs on Linux. - Trades off increased address space (VIRT in terms of ps/htop) for smaller number of distinct mappings (VMAs, virtual memory areas). This decreases possibility to run into vm.max_map_count limit on Linux. - Tested on Linux and Mac. Change 3448468 by Arciel.Rekman Fix race condition during creation of GMalloc. - On Mac GMalloc can be created on two different thread that are racing with each other - app's main thread and a system thread. Change 3449012 by Max.Chen Sequencer: Add time to transform, color and vector key structs so that key times are editable from the key editors. #jira UE-45089 Change 3449018 by Max.Chen Sequencer: Add OnCameraCut event that fires when there is a camera cut. #jira UE-45137 Change 3449195 by Max.Chen Sequencer: Add setting for limit scrubbing to playback range. #jira UE-43502 Change 3449198 by Max.Chen Sequencer: Reorder hierarchical bias so that group priority takes precedence. Change 3449217 by Max.Chen Sequencer: Add setting to activate realtime viewports when in sequencer. Change 3449219 by Max.Chen Sequencer: Focus on search boxes when opened. Change 3449238 by Max.Chen Sequencer: Assign actor should replace the actor itself after it has updated all the components. Also, replace components be fullname rather than by class. Change 3449239 by Max.Chen Sequencer: Fix offsets when moving multiple sections. Dragging should be clamped to the bounds that any of the selected sections hits against the unselected sections. Change 3449241 by Max.Chen Sequencer: Restore section selection after full tree rebuild. Change 3449279 by Max.Chen Sequencer: Set movie scene capture frames only when not using custom frames. This allows the user entered frame numbers to persist in config, rather than overwriting them when doing a "Render Shot" Change 3449280 by Max.Chen Sequencer: Spawn in the persistent level. Otherwise, they get spawned into whatever sublevel is current. #jira UE-44552 Change 3449294 by Max.Chen Sequencer: Null check for sequencer ed mode crash. Change 3449297 by Max.Chen Sequencer: Fix delay in sliding values. Mark changed when sliding values. Mark refresh immediately when committing values since OnValueChanged will be called and needs to have the correct value that was refreshed immediately. #jira UE-42866 Change 3449542 by Max.Chen Sequencer: Fix scrubber hit testing so that the time scrubber is really favored over the playback ranges. #jira UE-44569 Change 3451507 by Matt.Kuhlenschmidt Fix extra slate uv coords not functioning on ES2 Change 3451510 by Matt.Kuhlenschmidt PR #3595: Fixed wrong colour for level status (Contributed by ronve) Change 3451529 by Alexis.Matte fbx scene importer: Make sure we set INVALID_UNIQUE_ID to node that has no attribute. #jira UE-34410 Change 3451611 by Yannick.Lange ViewportInteraction: Dragging gizmo without second pass for snapped calculations. Change 3452134 by Jamie.Dale Fixed constant font cache flushing if a widget had no font set Change 3452239 by Jamie.Dale Fixed constant font measure flushing if a widget had no font set Change 3452243 by Jamie.Dale Removed deprecated code for creating fonts from bulk data Change 3452277 by Jamie.Dale The concept of "stale" composite fonts is now editor-only Change 3452358 by Alexis.Matte Fbx scene importer: Do not remove existing attribute reference from the blueprint if the reimport of the associate mesh attribute is not tick. #jira UE-45232 Change 3452678 by Max.Chen Sequencer: Fix crash on export if there's no shot data. Change 3453057 by Matt.Kuhlenschmidt Exposed asset exporting to script Change 3453782 by Andrew.Rodham Sequencer: Fixed deterministic cooking issues with movie scene data - Movie scene signatures are now initialized in PostInitProperties - A warning is now presented when attempting to cook old data that was never serialized with a signature. - Removed redundant legacy data upgrade logic that could dirty level sequences on load. #jira UE-44912 Change 3453788 by Yannick.Lange ViewportInteraction: Custom scene proxy for gizmo handles. Change 3453938 by Max.Chen Sequencer: Hotkeys (shift , and shift .) to step to next/previous shot #jira UE-45119 Change 3454058 by Michael.Dupuis Fixed StaticAnalysis Change 3454077 by Max.Chen Sequencer: Fix not saving the pre-animated track value when creating a track/key. On pre object change, broadcast property change so that a track or key can be created. That track/key needs to be evaluated immediately so that the pre-animated state can be saved properly. This is done now with RefreshAllImmediately and is only called when a track has been created. Also, added a return value for OnKeyProperty, so that it's known what changed in particular (ie. track created, track modified, etc) Also, fixed transform keying so that if a transform track already exists for the object or the scene component, the existing track is used. #jira UE-45130 Change 3454108 by Nick.Darnell UMG - Fixing the WIC to properly record cursor delta so that scrollbars work. Change 3454109 by Jamie.Dale Cache the text layout source info in non-shipping builds so you can inspect it in the debugger Change 3454202 by Matt.Kuhlenschmidt Fix bogus error message about the number of usable texture coordinates on ES2 when compiling a UI domain material Change 3454390 by Yannick.Lange Fix creating a plugin in a C++ project opens a second instance of Visual Studio. Use SourceCodeAccessor to open solution when necessary. #jira UE-45035 Change 3454564 by Matt.Kuhlenschmidt #rnx Fix deprecation warnings Change 3455471 by Yannick.Lange ViewportInteraction: Fix entering and exiting VR Mode disables gizmo in desktop editor viewport. #jira UE-44965 Change 3456183 by Max.Chen Sequencer: Auto key, auto track refactor. Auto key - create a key when the property changes and there's an existing track. Auto track - create a track when the property changes. This is only exposed in the level sequence editor. All - create a key and a track when the property changes. This is only exposed in VR Editor. None - do nothing. #jira UE-43469 Change 3456349 by Andrew.Rodham Sequencer: Only perform legacy signature checks on instances, and only where signatures match the CDO Change 3456678 by Alexis.Matte Allow to add null level instance override material via the advance material array. But still limit the override material number to the mesh material number. #jira UE-45306 Change 3456945 by Max.Chen UMG: Add restore state to 2d transform section. #jira UE-45372 Change 3457196 by Arciel.Rekman Linux: serialize allocations from the memory pool. Change 3458434 by Max.Chen Sequencer: Remove obsolete set tick prerequites functions. Change 3458671 by James.Golding Added MIC editing support to MaterialEditingLibrary Fix static analysis warning Change 3458888 by Matt.Kuhlenschmidt PR #3615: More detailed log messages for debugging warnings/errors (Contributed by projectgheist) Change 3458893 by Matt.Kuhlenschmidt PR #3583: UE-44960: Delta value wasn't being used (Contributed by projectgheist) Change 3458895 by Matt.Kuhlenschmidt Fix typo Change 3458902 by Matt.Kuhlenschmidt PR #3607: Improved InputKeySelector functionality (Contributed by projectgheist) Change 3458917 by Matt.Kuhlenschmidt Fix crash with invalid object properties in the class picker #jira UE-39000 Change 3458939 by Matt.Kuhlenschmidt Fix compile error Change 3458984 by andrew.porter QAGame: Initial check in of sequencer smoke test map Change 3459510 by Matt.Kuhlenschmidt Fixed ensure when deleting a map that contains build data which also happens to be the currently loaded map. #jira UE-45052 Change 3460985 by Max.Chen Sequencer: Snap play time to keys now allows scrubbing between keys and snaps to key times within a certain screenspace tolerance. #jira UE-45090 Change 3461698 by Arciel.Rekman Avoid using ARRAY_COUNT in Vulkan. - Sometimes those arrays can have no extensions whatsoever, and it is illegal to declare a 0 element C array. Change 3462053 by Max.Chen Sequencer: Show sequencer spawnables in the world outliner and add the icon overlay for spawnables. #jira UE-43470 Change 3462139 by Max.Chen Property Editor: Add objects to FPropertyAndParent Change 3462202 by Arciel.Rekman Fix FSocket::Recv() blocking with Peek when there's no data. Change 3462253 by Nick.Darnell Slate - New Clipping System Clipping is now a stateful choice made during composition of the slate hierarchy. Previously every widget got to respect or modify the clipping rect on an as needed basis. The problem was that clipping was only allowed in the layout space of the widget, and it wasn't possible to properly clip elements with render transforms. The new system permits all kinds of transforms on any widget, and they will all be clipped correctly. It tries to use Scissor Rects as they are much cheaper, but will switch over to stenciling if need be to represent a complicated masking structure with several rotated clipping rects all needed to be combined together. Here are the new clipping states a widget can have, almost all widgets are set to No. Only change it from No if your widget actually needs to clip, generally speaking most widgets don't need to clip. /** * This widget does not clip children, it and all children inherit the clipping area of the last widget that clipped. */ Inherit, /** * This widget clips content the bounds of this widget. It intersects those bounds with any previous clipping area. */ ClipToBounds, /** * This widget clips to its bounds. It does NOT intersect with any existing clipping geometry, it pushes a new clipping * state. Effectively allowing it to render outside the bounds of hierarchy that does clip. * * NOTE: This will NOT allow you ignore the clipping zone that is set to [Yes - Always]. */ ClipToBoundsWithoutIntersecting UMETA(DisplayName = "Yes - Without Intersecting (Advanced)"), /** * This widget clips to its bounds. It intersects those bounds with any previous clipping area. * * NOTE: This clipping area can NOT be ignored, it will always clip children. Useful for hard barriers * in the UI where you never want animations or other effects to break this region. */ ClipToBoundsAlways UMETA(DisplayName = "Yes - Always (Advanced)"), /** * This widget clips to its bounds when it's Desired Size is larger than the allocated geometry * the widget is given. If that occurs, it behaves like [Yes]. * * NOTE: This mode was primarily added for Text, which is often placed into containers that eventually * are resized to not be able to support the length of the text. So rather than needing to tag every * container that could contain text with [Yes], which would result in almost no batching, this mode * was added to dynamically adjust the clipping if needed. The reason not every panel is set to OnDemand, * is because not every panel returns a Desired Size that matches what it plans to render at. */ OnDemand UMETA(DisplayName = "On Demand (Advanced)") - Large API Change - All FSlateDrawElement::Make_____ calls have been deprecated that involved passing in a clipping rect. You no longer should are passed a Clipping rect via OnPaint. You are still passed a rect, but this rect represents a Culling Rect, which is valuable if you need to just out right not paint things the user can't possibly see. If you were previously trying to determine if you should cull widgets, by doing something like this, if ( FSlateRect::DoRectanglesIntersect(MyClippingRect, CurWidget.Geometry.GetRenderBoundingRect()) ) That's no longer a good option since there are ways for widgets to ignore the culling bounds. You should convert anything like above to the one below, if (!SWidget::IsWidgetCulled(MyCullingRect, CurWidget)) To assist in debugging efforts, there are several new debugging console flags in Slate, Slate.ShowClipping 1 - Controls whether we should render a clipping zone outline. Yellow = Axis Scissor Rect Clipping (cheap). Red = Stencil Clipping (expensive). Slate.DebugCulling 1 - Disables pushing clipping or stencil rects to the GPU, but continues to intersect culling rects, so that you can tell if a widget is properly culling children it can't possibly draw. Slate.ShowTextDebugging 1 - Show debugging painting for text rendering. I've added a new Experimental Feathering Option, it adds AA geometry around the outside of Box and Image brushes. Slate.Feathering 1 If you're using RenderDoc or something similar, you can now enable render events for slate, so that you can better grok how we're batching and changing states for each UI render pass. Slate.EnableDrawEvents 1 #jira UE-4659 #rn Change 3462714 by Nick.Darnell Fixing a few more compiler issues with the clipping changes. Change 3462726 by Max.Chen Switch OnEditStructChildContentsChanged to use FObjectWriter instead of FMemoryWriter which supports serializeing UObjects. This fixes a crash when adding actor array elements to a user defined event struct. #jira UE-45431 Change 3462801 by Nick.Darnell Adding a UMG dependency to EngineTestBuild. Change 3462914 by Max.Chen Sequencer: Fix regression where spawnables aren't getting saved. Caused by 3407138 #jira UE-30007 #jira UE-39003 Change 3462946 by Nick.Darnell Automation - Tweaking the UI automation tests converting them over to use the new UI Screenshot automation test. Automation - Adding a blur widget test. Change 3462987 by Matt.Kuhlenschmidt Back out changelist 3458893 Change 3464774 by Matt.Kuhlenschmidt PR #3629: Bugfix: Missing small icon in Project Launcher profile editor (Contributed by aarmbruster) Change 3464785 by Nick.Darnell Fixing some clipping stuff in the editor. Change 3464830 by andrew.porter QAGame: Second pass on sequencer smoke test map Change 3464902 by Nick.Darnell Loading - Adding some additional checks to the the loading code to ensure we're on the main thread. Additionally adding a fix from UDN that prevents deadlocks in the rare case a user hits Alt+Tab in a fullscreen game while in a hard loading screen. Change 3464988 by Max.Chen Sequencer: Add attenuation settings for attached audio components. #jira UE-33080 Change 3465024 by Nick.Darnell MoviePlayer - Impoving the playback mode displaynames. Change 3465074 by Arciel.Rekman Fix shadowing issues of GraphicsPSOInit. Change 3465097 by Matt.Kuhlenschmidt Some refactoring of the details panel Exposed new methods of adding a struct on scope to a details panel and have it work properly with customizations. The scruct on scope has a "fake" ustructproperty that allows the details panel to show the whole struct not just an individual property. Refactored the API for adding rows to details panels to make it more consistent\ AddChildCustomBuilder->AddCustomBuilder AddChildGroup->AddGroup AddChildContent->AddCustomRow AddChildPropert->AddProperty AddChildStructure->AddExternalStructureProperty AddStructure->AddAllExternalStructureProperties AddExternalProperty->AddExternalObjectProperty or AddExternalStructureProperty Change 3465186 by Max.Chen Sequencer: Save the BindingID in the pre animated token producer so that it can be destroyed properly. This fixes a bug where the default state of a spawnable isn't saved. #jira UE-43780 Change 3465315 by Matt.Kuhlenschmidt Fix Fortnite and Orion details panel customization warnings Change 3465424 by Nick.Darnell Automation - Moving the step for setting the link to the automation reports to be set before we start the engine. Change 3465488 by Nick.Darnell Automation - Forcing textures to load before taking screenshot, so that the scene gets another opportunity to render before we render with Slate. This should fix the Blur UI Test. Change 3466277 by Arciel.Rekman Linux: fix window drift when dragging (UE-40380). - Change by Cengiz Terzibas. Change 3466370 by Nick.Darnell UMG - Fixing the colors for the resize handle in the designer. Change 3466372 by Nick.Darnell UMG - Fixing the ruler ticks sometimes not being drawn. Change 3466374 by Nick.Darnell UMG - Fixing the designer showing multiple options for sequencer. Change 3466377 by Nick.Darnell UMG - Cleaning up some clipping bits. Change 3467025 by Andrew.Rodham Re-saving assets that contain legacy (<4.15) movie scene data to remove deterministic cook warning. If conflicts arise during merging of these assets, please ignore the changes made in dev-editor, and accept game-side changes. (CIS step 62283298, jobId 7773146) (CIS step 62283297, jobId 7773146) Change 3467099 by Max.Chen Fix GetObjectPropertyClass ensure logic. This was returning UObject::StaticClass when valid. Change 3467172 by Max.Chen Sequencer: Evaluation optimizations. Also, fixes subsequences not getting expired, leaving dangling spawnables. #jira UE-43690 Change 3467192 by Matt.Kuhlenschmidt Fix transactions getting stuck in the color grading controls. This prevents PIE from working properly and causes shutdown crashes #jira UE-45527 Change 3467251 by Yannick.Lange ViewportInteraction: Fix scale and rotation snap while dragging with two lasers. #jira UE-43489 Change 3467331 by Matt.Kuhlenschmidt Fix D3D shader compiler hard coding shader path and not giving proper warnings when it cannot find the shaders Change 3467335 by Matt.Kuhlenschmidt Remove DarkStyle attribute from SNumericEntryBox and allow a spin box style to be passed to it. Change 3467558 by Max.Chen Scene Outliner: Generic support to add default columns to a scene outliner. Change 3467565 by Jamie.Dale Removing old screenshot data for test Change 3467589 by Nick.Darnell Editor - Random cleanup. Change 3467596 by Nick.Darnell Progress Bar - Exposing Border Padding to UMG. Change 3467600 by Nick.Darnell Slate - Adjusting the rendering of the splitter, previously it could be off by a pixel or two, which becomes more apparent now with the clipping changes. Change 3467601 by Max.Chen Property Editor: Fix static analysis warning Change 3467662 by Nick.Darnell Automation - Fixing a bug with the screenshot comparison tool not replacing (removing) the old screenshot data. Change 3467674 by Max.Chen Property Editor: Fix static analysis warning Change 3467737 by Max.Chen Sequencer: Added OnMovieSceneBindingsChanged delegate Change 3468053 by tim.gautier QAGame: Updating Editor Smoke Map - Updated landscapes into Stations for testing - Added Foliage Sublevel Change 3468194 by Arciel.Rekman Linux: fix problems communicating with various STL-using libs. - Stop hiding global new/delete signatures. - Disable CEF3 since this change uncovers the problem with libcef.so not built to use bundled libpng. Change 3468678 by Max.Chen Sequencer: Set "Sequencer Actor" tag before setting the actor label so that the outliner refreshes after the actor has the tag. Change 3469314 by tim.gautier QAGame: Added Painted Foliage / Spline section to EditorSmoke map Change 3469377 by Nick.Darnell Slate - Fixing some warnings in a couple of sample games due to the clipping changes. #rnx Change 3469767 by Max.Chen Sequencer: Outliner column and sequencer binding data #jira UE-43470 Change 3469974 by Arciel.Rekman Fix code projects not working in Linux installed build. Change 3470082 by Nick.Darnell Slate - The GetRenderer() call on SlateApplication no longer returns a SharedPtr, rather than convert it to a thread safe ptr, going to just make accessing it a raw ptr return, so it can be safely referenced on the game thread while being used on the slate loading thread. Change 3470174 by Nick.Darnell Slate - Get the last widget in a widget path utility. Change 3470176 by Nick.Darnell UMG - User Widgets now have an easy way to know if they're part of or have been removed from the focused widget path, which is handy for doing effects. Change 3470261 by Nick.Darnell Slate - The GetRenderer() call on SlateApplication no longer returns a SharedPtr, rather than convert it to a thread safe ptr, going to just make accessing it a raw ptr return, so it can be safely referenced on the game thread while being used on the slate loading thread. Change 3470286 by Max.Chen Sequencer: Scene Component's HiddenInGame now goes through the VisibilityTrack and the visibility template. Change 3470366 by Nick.Darnell Slate - We now version focus per user, that way during focus events, we can safely abort focus events and state transitions if someone interrrupts the active focus event with something new. Change 3470649 by Matt.Kuhlenschmidt Fix deprecation warnings Change 3470695 by Matt.Kuhlenschmidt Fixed typo #jira UE-45580 Change 3470721 by Matt.Kuhlenschmidt Fix static analysis Change 3471254 by Michael.Dupuis #jira UE-42952: Keep occlusion result per view Change 3471287 by Nick.Darnell UMG - Render Focus Rule now defaults to never. Change 3471291 by Nick.Darnell Slate - Fixing FSlateRenderer* change fallout. Change 3471299 by Nick.Darnell Slate - Fixing FSlateRenderer* change. Change 3471323 by Nick.Darnell Automation - Fixing automation and Static Analysis warning. Change 3471413 by andrew.porter QAGame: Added test content for anim blending and material parameteres to sequencer smoke level Change 3471649 by Max.Chen Sequencer: Modify the track when adding animation #jira UE-45618 Change 3471659 by Matt.Kuhlenschmidt Added a way to check if a movie is playing from the engine. Prevented viewport redraws for canvas loading screens if a slate based loading movie is playing Change 3471734 by Matt.Kuhlenschmidt Added basic material hookup to USD. Similar to FBX it will find materials based on rules specified by the user in the import settings Change 3472176 by Nick.Darnell UMG - Improving the display of the +Track menu in sequencer for UMG. Renamed it from +Add, which is repetitve to +Track. Additionally, the dropdown now shows the currently selected widgets, as well as a submenu containing all the 'important' widgets, so we no longer populate that list with a ton of irrelevant widgets that are just Buton_1 - N, which is pointless in showing people, they'll never guess which is the right button. Change 3472740 by Max.Chen Sequencer: Add GetThisFrameMetaData accessor Change 3472748 by Max.Chen Sequencer: Added OnBeginScrubbing and OnEndScrubbing event delegates Change 3472753 by Max.Chen Sequencer: Add EMovieSceneDataChangeType parameter to OnMovieSceneDataChanged delegate Change 3472870 by Nick.Darnell Clipping - Fixing the deprecated tip for scissor rect boxes to be correct. Removing it's usage from UT. Change 3473340 by Max.Chen Scene Outliner: Add ability to register additional filters Change 3473348 by Max.Chen Details View: Make ForceRefresh virtual. Added accessors to delegates (ie. GetIsPropertyReadOnlyDelegate) Change 3473441 by Max.Chen Sequencer: Autokey Refactor Part 2. Autokey is now a single toggleable state. Allow Edits Mode has 3 states: Allow All Edits - Allow any edits to occur, some of which may produce tracks/keys or modify default properties. Allow Sequencer Edits Only - All edits will produce either a track or a key. Allow Level Edits Only - Properties in the details panel will be disabled if they have a track. #jira UE-45229 Change 3473670 by Nick.Darnell Modules - The module manager no longer returns sharedptrs to IModuleInterfaces, this was the source of rare hard to track down crashes due to a shared ptr reference leak when GetModule was called on non-main threads. We now store a TUniquePtr internally, and only lease out raw pointers. #rn Change 3473711 by Nick.Darnell Disabling the ensure in the module manager. Change 3473747 by Max.Chen Sequencer: Fix tooltip Change 3474091 by Jamie.Dale Added a warning when cooking a UFontFace that is outered to a UFont asset These cause issues with iterative COTF, and should be split off into their own assets (as the UI has been asking people to do for several versions) Change 3475052 by Yannick.Lange VR Editor: Fix Crash when quitting the editor with VR Mode enabled. VR Editor was being enabled when saving the map on closing the editor. #jira UE-45415 Change 3475054 by Yannick.Lange Fix crash when adding a camera to the world in VR Mode the second time. The slate application did not reset when stop dragging in VR Mode, so the second time when starting to drag a camera out of the UI it would already by in a dragging state. #jira UE-45574 Change 3475263 by Nick.Darnell Fixing some additional cases of IModuleInteface SharedPtr usage. Change 3475268 by Max.Chen Sequencer: Set jumped state when looping playback. This fixes an issue where audio doesn't stop and restart when looped. #jira UE-45654 Change 3475269 by Max.Chen Scene Outliner: Additional filters should only apply to actor browsing mode Change 3475407 by Nick.Darnell Fixing some clipping / module shared ptr changes in the launcher code. Change 3475542 by Max.Chen Sequencer: Update thumbnail and section highlighting to use new clipping behavior. #jira UE-45692 #jira UE-45689 Change 3475743 by Michael.Dupuis #jira UE-45183: When updating phyx region take into account simple collision mip Change 3475949 by Arciel.Rekman Remove PhysX deoptimization (no longer needed). - OR-24947 has been closed three months ago. Change 3476022 by Michael.Dupuis #jira UE-45560: Make sure we're not going out of range Change 3476063 by Michael.Dupuis #jira UE-45562: Do not try to unregister from static mesh if no static mesh is specified for the component Change 3476168 by Michael.Trepka Added handling of directory symlinks to FApplePlatformFile::IterateDirectory #jira UE-43704 Change 3476172 by Nick.Darnell Fixing a Imoduleinterface change. Change 3476183 by Jamie.Dale Exposing GoTo/ScrollTo to single-line editable text for API parity with multi-line editable text Change 3476385 by Arciel.Rekman Linux: handle symlinks when iterating directories. Change 3476522 by Michael.Trepka Solved a problem with Mac FMallocTBB::Malloc() returning nullptr for 0 bytes allocations, which is inconsistent with other platforms. On Mac we always scalable_aligned_malloc, which behaves differently than scalable_malloc, so for 0 bytes requests we allocate sizeof(size_t), which is exactly what scalable_malloc does internally in such case. Change 3476806 by Nick.Darnell UMG - Focus the designer after dropping a widget onto the surface. Change 3476809 by Nick.Darnell Curve Editor - Enable Clipping on the curve editor. Change 3477475 by Nick.Darnell Fixing a module interface shared ptr usage in UT. Change 3477553 by Yannick.Lange VR Editor: Removed AssetEditorPanelID and replaced it with TabManagerPanelID. A panel for AssetEditorPanelID was never created making it impossible to open an asset editor. Change 3477734 by Yannick.Lange VR Editor: Fix Warning: SetRelativeScale3D : Invalid Scale entered (X=inf Y=inf Z=inf). Resetting to 1.f. warning when adding CineCameraActor to World from Modes Panel. Make sure to not divide by zero when there is no boundary scale. #jira UE-44933 Change 3477761 by Jamie.Dale Some improvements to avoid loading the native .locres files twice when we don't need to Change 3477780 by Nick.Darnell PR #3250: Return correct VirtualUserIndex (Contributed by projectgheist) Change 3477786 by Nick.Darnell PR #3650: Changed TestNull to accept const pointers. (Contributed by e-agaubatz) Change 3477795 by Nick.Darnell PR #2844: UE-36936: Don't stretch container for Plugin Image (Contributed by projectgheist) Change 3478092 by Nick.Darnell PR #2341: Optional Middle Mouse Button panning in Graph Editor (Contributed by flipswitchingmonkey) Engine Edit - Made some small changes to the enum type, and some naming. Change 3478450 by Nick.Darnell Fixing some uninitialized variable errors. Change 3479827 by Andrew.Rodham Sequencer: Addressed serialization issues with some struct types Change 3479874 by Jamie.Dale Fixed "NativeGameLanguage" not being used correctly during localization initialization Change 3480012 by Andrew.Rodham Sequencer: Fixed loading tagged properties as native for track identifiers #jira UE-45823 Change 3480337 by Alexis.Matte Fix morph target crash missing some valid index check Change 3480804 by Alexis.Matte Fix crash with ColorGradingMode custom detail #jira UE-45638 Change 3480892 by Andrew.Rodham Sequencer: Ensure that movie scene sequences know about the editor object version #jira UE-45842 Change 3481073 by Nick.Darnell Fix the shader compiler error from main in Slate. Change 3481303 by Nick.Darnell UMG - Fixing a bug with the drag handle not working correctly in HDPI mode. Change 3481308 by Nick.Darnell Slate - Tweaking the IsWidgetCulled logic to consider both the layout and rendering bounds. If we do this, we get a much more desireable outcome for people that want to animate widgets and such and plan to have temporary animations to move the widget offscreen, but want the layout bounds to anchor that widget in the visible frame so that it animates even when normally it would be culled b/c the render transform and therefore the renderbounds moved it completely outside the culling rect. Change 3481629 by Max.Chen Sequencer: Add Level Sequence Actor as an output for CreateLevelSequencePlayer() #jira UE-45785 Change 3481899 by Yannick.Lange VR Editor: Added debug modetoggle command with an event that is broadcasted whenever this happens. Currently this is used to show all the floating UIs of the UI system to debug without HMD using VREd.ForceVRMode. Change 3481984 by Michael.Dupuis #jira UE-45845: always validate if we have a static mesh before trying to access it as user can decide to not assign one and use the tools Change 3482047 by Nick.Darnell Slate - Adding some comments to IsWidgetCulled. Change 3482110 by Nick.Darnell Slate - IsWidgetCulled is no longer static and is now called IsChildWidgetCulled. Change 3482136 by Jamie.Dale The CamelCase break iterator now treats digits around character tokens as part of the identifier Change 3482138 by Michael.Dupuis #jira UE-45854: Properly unregister during undo operation Change 3482150 by Michael.Dupuis #jira UE-45845 : Add missing nullcheck for GetStaticMesh Change 3482153 by Nick.Darnell Slate - IsWidgetCulled is no longer static and is now called IsChildWidgetCulled. Change 3482180 by Nick.Darnell UMG - Widget Components do not need to define a widget class to be rendererd, they can have native slate widgets only. This was a regression from main. Change 3482273 by Nick.Darnell UMG - Tweaking some more things about the widget component box outline. Change 3482308 by Alexis.Matte Fixing morph target smooth group support. Do not call FillSkeletalMeshImportData more then once on FbxNode since this fonction is doing some conversion and change the FbxNode, applying those conversion twice do not return the same faces smooth group. #jira UE-45696 Change 3482327 by Nick.Darnell UMG - More tweaks to the WidgetComponent so both shows the box outline, but works in game and VR editor. Change 3482705 by Andrew.Rodham Resaving assets that contain legacy data to suppress CIS warnings. - If conflicts arise in these assets, please take game-side changes and ignore these. Change 3484245 by Max.Chen Sequencer: Evaluate on end scrub. This fixes a bug where audio doesn't evaluate in a stopped position at the end of scrubbing, causing it to not stop all sounds. This fixes a bug introduced from 3365018 where evaluate on end scrub was removed. #jira UE-45905 Change 3484263 by Max.Chen Sequencer: Fix crash on forcing refresh of details panel on release. #jira UE-45911 Change 3484431 by Andrew.Rodham Resaving assets that contain legacy data to suppress CIS warnings. - If conflicts arise in these assets, please take game-side changes and ignore these. Change 3484474 by Alexis.Matte Fix the morph target animation curve name matching. #jira UE-20294 Change 3484475 by Alexis.Matte When removing a LOD, make sure we remove all morph target data associate to the LOD. Change 3484489 by Nick.Darnell PR #3668: UE-45908: Cache debug line locations when performing a LineTraceMulti (Contributed by projectgheist) #jira UE-45908 Change 3484692 by Nick.Darnell Slate - Reverting a change from a game stream. All Arranged Children don't need to allocated 42 to begin with. Do need to initialize WidgetPaths better. Change 3484703 by Nick.Darnell Player Input - Making the input event loop for players obey EKeys::NUM_TOUCH_KEYS, rather than being set to Touch10, as the maximum touch input amount, to make supporting greater than 10 touches easier. Also making the seeding of keys use EKeys::NUM_TOUCH_KEYS. #jira UE-43213 Change 3484918 by Jamie.Dale Fixed font measuring regression with RTL text RTL applies the character count to the next glyph, so it shouldn't process the end of the loop (this was how the older code used to work). Change 3485718 by Nick.Darnell Editor - Removing Super Search & User Feedback button. Change 3485719 by Nick.Darnell Portal - Removing SuperSearch. Change 3485751 by Matt.Kuhlenschmidt Fix crash accessing platformer game menu if the menu is open during a console based load #jira UE-45950 Change 3486047 by Arciel.Rekman Linux: add OpenEXR implementation (UE-40270). #jira UE-40270 Change 3486467 by Max.Chen Sequencer: Reset max tick rate when destroyed. #jira UE-45956 Change 3486477 by Max.Chen Sequencer: Refresh outliner when column is removed. #jira UE-45891 Change 3486667 by Andrew.Rodham Added missing include Change 3486724 by Andrew.Rodham Sequencer: Fixed curves with no default value, and no keys being evaluated and applied to properties - Also fixed an edge case where a zero (but non-animated) channel could be applied to a final transform Change 3486730 by Alexis.Matte In the Auto-Reimport options, hide the mout point only for the default /Game/ folder #UE-45684 Change 3486749 by Alexis.Matte Make sure the parent window of the monitor directory browse folder is set properly #jira UE-45682 Change 3486805 by Matt.Kuhlenschmidt Additional safety against invalid objects being accessed by slate Change 3486848 by Alexis.Matte Make sure Monitor folder feature support root mount point map folder During auto import, give priority to asset import factory over the scene import factory #jira UE-45691 Change 3486879 by Andrew.Rodham Removing obsolete QA assets Change 3486950 by Nick.Darnell PR #2281: Scrollbar missing features and SScrollbar fixes (Contributed by SNikon) Review - made some adjustments from the original. Change 3486954 by Nick.Darnell Slate - Moving the STableViewBase over to the FOverscroll class, rather than it's own clone. Change 3486967 by Nick.Darnell Slate - Fixing some HDPI calculations for fitting new windows on screen, it was using the unscaled size of the widgets for fitting, when it needed to scale them up. Change 3486970 by Andrew.Rodham Sequencer: Delay mouse capture until drag for sequencer time slider - Fixes context menus not opening as a result of mouse capture being taken on mouse down #jira UE-45937 Change 3486984 by Andrew.Rodham Sequencer: Improved blending type iconography Change 3486996 by Nick.Darnell UMG - Adding a way for games to opt-out of the slow widget path, to completely prevent them from being cooked. UMG - The movie data is no longer cloned for each new instance that inhabits. It now keeps a reference to the now publically accessible movie scene data on the class instead. Change 3487070 by Andrew.Rodham Sequencer: Added graphics for key areas that represent empty space Change 3487195 by Andrew.Rodham Sequencer: Changed evaluation groups to always flush implicitly - Due to the latent nature of blended token types, it's no longer safe to rely solely on execution token order between tracks - This fixes an issue where events set in the PostEvaluation stage were executed before blended token actuation Change 3487322 by Nick.Darnell PR #2457: Add .gitdeps.xml-files for plugins support (Contributed by bozaro) Change 3487363 by Nick.Darnell PR #2481: Fix for packing of a project with users plugins (Contributed by yatagarasu25) Change 3487439 by Nick.Darnell PR #2642: Changed private to protected in SVirtualJoystick.h (Contributed by Skylonxe) Change 3487500 by Arciel.Rekman Removed LinuxNativeDialogs. - No longer used; has been superceded by SlateDialogs since UE 4.8 (2 years ago). Change 3487630 by Lauren.Ridge Don't create Landscape Info Maps for Editor Preview Worlds or thumbnail worlds #jira UE-44885 Change 3487864 by Matt.Kuhlenschmidt Exposed the asset registry to blueprints and script. Works in editor scripts and runtime scripts AssetRegistry is now a UInterface object. Blueprint users can access various asset registry methods using the asset registry interface (via GetAssetRegistry) and various static helpers in the AssetRegistryHelpers object C++ users should still continue to use IAssetRegistry. Change 3487879 by Matt.Kuhlenschmidt Renamed asset tools uobject helper to UAssetToolsHelpers Change 3487926 by Lauren.Ridge Fixing reset to default not showing up for custom widgets #jira UE-44164 Change 3488184 by Matt.Kuhlenschmidt PR #3656: Make References/Referencers List copyable (Contributed by user37337) #jira UE-45763 Change 3488240 by Matt.Kuhlenschmidt Fix compiler issue Change 3488350 by Lauren.Ridge Landscape info map transactional state is based on its world's transactional state #jira UE-44885 #jira UE-46019 Change 3488412 by Matt.Kuhlenschmidt Fix reset to default showing up in two different places for some customizations Change 3488413 by Matt.Kuhlenschmidt Fix slate font customization Change 3488414 by Matt.Kuhlenschmidt Fix slate font customization Change 3488415 by Matt.Kuhlenschmidt Missed file Change 3488565 by Arciel.Rekman Add pretty printers for gdb (UETOOL-1171). - Committing shelf by Cengiz.Terzibas, with some modifications. #jira UETOOL-1171 Change 3489094 by Nick.Darnell Slate - The Slate RHI Renderer now caches the TextureLODGroups so that it can properly lookup the filtering of different texture groups that are set to Default, instead of a particular filter override on a texture. Engine/Rendering - Simplifying some of the setup logic in TextureLODSettings so that code is shared for setting them up properly after loading from a config file. Change 3489095 by Nick.Darnell PR #2699: GameViewportClient - Added a method to allow setting the viewport cur. (Contributed by rfenner) Review - Fixed spacing. Change 3489108 by Matt.Kuhlenschmidt Fix deprecation warning Change 3489120 by Nick.Darnell PR #3478: Fix possible UComboBoxString crash (Contributed by nakosung) Change 3489147 by Andrew.Rodham Sequencer: Adding return value to function to appease static analysis - This function is never compiled, and if it is, it won't compile, but static analysis doesn't know that Change 3489264 by Nick.Darnell Testing - Finishing the thought behind an enum comment. Change 3489265 by Nick.Darnell PR #2750: UE-35164: Button padding (Contributed by projectgheist) Change 3489267 by Nick.Darnell PR #3645: UE-45464: Handle SSlider mouse interaction more accurately (Contributed by projectgheist) Change 3489632 by Arciel.Rekman Correctness changes to MallocPoisonProxy. - Missing forwarding functions added. Incorrect comment removed. - Change by Steve.Robb, doing here so it is in 4.17. Change 3489689 by Arciel.Rekman More MallocPoisonProxy changes I missed in previous CL. Change 3489751 by Matt.Kuhlenschmidt Moved editor performance settings out of per-project settings so they can be shared across projects Change 3489837 by Lauren.Ridge Keyboard shortcut for entering/leaving VR Mode is now Alt+V Change 3491082 by Arciel.Rekman Linux: better fix for the crash due to name collision (UE-46040). - Put classes in Sequencer module into Sequencer namespace instead of SceneOutliner namespace. - Undid change in the SceneOutliner module. #jira UE-46040 Change 3491096 by Arciel.Rekman Fix UAT compilation on the newest mono. Change 3491240 by Max.Chen Sequencer: Disable key button when allow level edits only is on. #jira UE-46060 Change 3491406 by Yannick.Lange Fix editor crashes when opening a project that includes a plugin with more than two custom Volume classes. This issue was caused because registering show volume commands is based on finding volume classes. Finding these classes at multiple times resulted in a mismatch of the returned array of volume classes because modules/plugins were still being loaded. #jira UE-45806 Change 3491559 by Alexis.Matte Make sure we use the good preview mesh when doing a preview #jira UE-45963 Change 3491563 by Alexis.Matte Fix crash with staticmesh editor LodLevel selection Change 3491564 by Nick.Darnell UMG - Fixing an offset with the grab handles in HDPI mode. Change 3491595 by Nick.Darnell Editor - Fixing a clipping artifact in the pin type dropdown in the blueprint editor. Change 3491604 by Nick.Darnell Back out changelist 3489265 Change 3491615 by Arciel.Rekman Added malloc replay proxy (Linux only for now). - Allows to dump malloc callstream (without regard to threads) and replay later to study the behavior of different mallocs and/or repro problems. Change 3491684 by Arciel.Rekman Added FMalloc functions I missed. - Also moved function bodies into the .cpp file, this does not make a difference in performance in this case. Change 3491692 by Matt.Kuhlenschmidt Some minor fixes to the static mesh editor - Fix UV combo button looking non-standard on the toolbar - Fix a few combo buttons in the details panel looking too big. Change 3491702 by Arciel.Rekman Do not compile replay proxy-specific code when not used. Change 3491717 by Michael.Dupuis #jira UE-35083: The component is now the owner of the PerInstanceRenderData instead of the proxy Add an Update path to only update specified instances range Always call BuildTreeIfOutdated so we have a standard code path to make sure static mesh are fully loaded before trying to build the tree Moved the Instance Buffer aysnc to the base class, as it's not related to UHierarchicalInstancedStaticMeshComponent Expose a new property to decide if we require dynamic instance buffer Change 3491758 by Matt.Kuhlenschmidt Fix crash on static mesh editor shutdown Change 3491873 by Cody.Albert Fixed clipping issue in Sequencer curve editor #rnx Change 3491956 by Matt.Kuhlenschmidt Fix crash opening the Previewing sub-menu in the level editor settings menu #jira UE-46095 Change 3492046 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3492076 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3492165 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3492222 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3492274 by Michael.Dupuis #jira UE-46105: Fixed Clang warning Change 3492338 by andrew.porter QAGame: Testing ensure when submitting Change 3492371 by Nick.Darnell UMG - Reverting the animation sharing, cossed GLEO regressions in cooking. Will look for a better solution. Change 3492462 by Matt.Kuhlenschmidt Fix ensure checking in files through perforce Change 3492491 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3492505 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3492517 by Jamie.Dale The package localization ID is no longer used at all at runtime, and is now truly editor-only This should have always been the case, but it was leaked into manifest/archives/PO files in 4.14, and while 4.15 removed it from PO files it was still present in the manifest/archives. This change removes it entirely (unless gathering editor-only data, and even then the PO file will still collapse the entries together for translation), and the deprecated 4.14 export behavior will now produce an error if you attempt to use it. After taking this change you'll need to run a gather, import, and compile of your LocRes files to update your game localization to use the new localization IDs. Change 3492630 by Nick.Darnell UMG - Removing some extra cleanup code that's probably overkill and is causing a crash for uses of "Within" in class meta. #jira UE-46124 Change 3492692 by Matt.Kuhlenschmidt Fix drop shadows inheriting the outline color of the font. The outline should still appear but not have a different outline color from fill color Change 3492714 by Matt.Kuhlenschmidt Added outline with drop shadow to font automation test Change 3492737 by Matt.Kuhlenschmidt Fix linux Change 3492992 by tim.gautier Resaving Ocean Widget Blueprints / Sequences to resolve Legacy Sequence Data warnings #jira UE-46132 Change 3493089 by Jamie.Dale Ensure that the composite font of a font asset is flushed when the font object is GC'd Change 3493322 by Jamie.Dale Fixing null crash #jira UE-45758 Change 3494467 by Andrew.Rodham Fix Xbox warning Change 3494852 by tim.gautier QAGame: Changed streaming method of QA-EditorSmoke-Landscape to Always Loaded Change 3494853 by Nick.Darnell Another attempt at fixing the automation blueprint SA warning. Change 3494896 by Arciel.Rekman Fix possible null pointer access during Vulkan init. - May fix static analysis warnings in UE-46142, although warnings seem to be referring to something else. #jira UE-46142 Change 3494987 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3495010 by Matt.Kuhlenschmidt Adding additional logging to track down html5 issue Change 3495212 by Michael.Dupuis #jira UE-46143: Properly init the InstanceRenderData during the cooking phase (required by fortnite) Change 3495536 by Jamie.Dale Updating UGameEngine to call its Super::PreExit after performing its own teardown This prevents UEngine cleaning up resources that UGameEngine still needs. #jira UE-46159 Change 3495551 by Arciel.Rekman Another attempt to fix analyzer problem (UE-46142). Change 3495794 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3495905 by Matt.Kuhlenschmidt Fix USD crash when importing a meshwith no material [CL 3499771 by Matt Kuhlenschmidt in Main branch]
2017-06-19 20:27:30 -04:00
.Text(LOCTEXT("EmptyTabMessage", "Empty Tab!"))
]
]
+ SOverlay::Slot()
.Padding(0.0f)
.HAlign(HAlign_Left)
.VAlign(VAlign_Top)
[
// unhide tab well button (yellow triangle)
SNew(SButton)
.ButtonStyle(UnhideTabWellButtonStyle)
.OnClicked(this, &SDockingTabStack::UnhideTabWell)
.ContentPadding(0.0f)
.Visibility(this, &SDockingTabStack::GetUnhideButtonVisibility)
.DesiredSizeScale(this, &SDockingTabStack::GetUnhideTabWellButtonScale)
.ButtonColorAndOpacity(this, &SDockingTabStack::GetUnhideTabWellButtonOpacity)
.ToolTipText(LOCTEXT("UnhideTabWellToolTip", "Show Tabs"))
[
// button should be big enough to show its own image
SNew(SSpacer)
.Size(UnhideTabWellButtonStyle->Normal.ImageSize)
]
]
#if DEBUG_TAB_MANAGEMENT
+ SOverlay::Slot()
.HAlign(HAlign_Left)
.VAlign(VAlign_Top)
[
SNew(SBorder)
.BorderImage(FCoreStyle::Get().GetBrush("Docking.Border"))
.BorderBackgroundColor(FLinearColor(1.0f, 0.5f, 0.0f, 0.75f))
.Visibility(EVisibility::HitTestInvisible)
[
SNew(STextBlock)
.Text(this, &SDockingTabStack::ShowPersistentTabs)
.ShadowOffset(FVector2D::UnitVector)
]
]
#endif
]
];
if (bIsDocumentArea)
{
this->SetNodeContent(SDocumentAreaWidget::MakeDocumentAreaWidget(), FDockingStackOptionalContent());
}
}
void SDockingTabStack::OnLastTabRemoved()
{
if (!bIsDocumentArea)
{
// Stop holding onto any meaningful window content.
// The user should not see any content in this DockNode.
this->SetNodeContent(SNullWidget::NullWidget, FDockingStackOptionalContent());
}
else
{
this->SetNodeContent(SDocumentAreaWidget::MakeDocumentAreaWidget(), FDockingStackOptionalContent());
}
}
void SDockingTabStack::OnTabClosed(const TSharedRef<SDockTab>& ClosedTab, SDockingNode::ELayoutModification RemovalMethod)
{
const FTabId& TabIdBeingClosed = ClosedTab->GetLayoutIdentifier();
// Document-style tabs are positioned per use-case.
const bool bIsTabPersistable = TabIdBeingClosed.IsTabPersistable();
if (bIsTabPersistable)
{
// Sidebar tabs should still exist in the stacks layout so we can restore it
if (RemovalMethod != SDockingNode::ELayoutModification::TabRemoval_Sidebar)
{
ClosePersistentTab(TabIdBeingClosed);
}
}
else
{
RemovePersistentTab(TabIdBeingClosed);
}
}
void SDockingTabStack::OnTabRemoved( const FTabId& TabId )
{
RemovePersistentTab( TabId );
}
void SDockingTabStack::OpenTab(const TSharedRef<SDockTab>& InTab, int32 InsertLocationAmongActiveTabs, bool bKeepInactive)
{
const int32 InsertIndex = OpenPersistentTab(InTab->GetLayoutIdentifier(), InsertLocationAmongActiveTabs);
// The tab may be a nomad tab, in which case it should inherit whichever tab manager it is being put into!
InTab->SetTabManager(GetDockArea()->GetTabManager());
const FTabId TabId = InTab->GetLayoutIdentifier();
// the insert index is not the same as the tab index in the array for new tabs so find the tab again to check the tab state.
const FTabManager::FTab& TabInfo = *Tabs.FindByPredicate([TabId](const FTabManager::FTab& TestTab) {return TestTab.TabId == TabId; });
if (TabInfo.TabState == ETabState::SidebarTab)
{
FSidebarTabLists SidebarLists;
if (TabInfo.SidebarLocation == ESidebarLocation::Left)
{
SidebarLists.LeftSidebarTabs.Add(InTab);
}
else
{
ensure(TabInfo.SidebarLocation == ESidebarLocation::Right);
SidebarLists.RightSidebarTabs.Add(InTab);
}
AddSidebarTab(InTab);
GetDockArea()->AddSidebarTabsFromRestoredLayout(SidebarLists);
}
else
{
AddTabWidget(InTab, InsertIndex, bKeepInactive);
OnLiveTabAdded();
TabWell->RefreshParentContent();
}
}
void SDockingTabStack::AddTabWidget(const TSharedRef<SDockTab>& InTab, int32 AtLocation, bool bKeepInactive)
{
TabWell->AddTab(InTab, AtLocation, bKeepInactive);
if ( IsTabWellHidden() && TabWell->GetNumTabs() > 1 )
{
SetTabWellHidden(false);
}
// We just added a tab, so if there was a cross up we no longer need it.
HideCross();
TSharedPtr<SDockingArea> ParentDockArea = GetDockArea();
if (ParentDockArea.IsValid())
{
ParentDockArea->HideCross();
}
}
void SDockingTabStack::AddSidebarTab(const TSharedRef<SDockTab>& InTab)
{
InTab->SetParent(TabWell);
}
float SDockingTabStack::GetTabSidebarSizeCoefficient(const TSharedRef<SDockTab>& InTab)
{
FTabManager::FTab* Tab = Tabs.FindByPredicate(FTabMatcher(InTab->GetLayoutIdentifier()));
if (Tab)
{
return Tab->SidebarSizeCoefficient;
}
return 0;
}
void SDockingTabStack::SetTabSidebarSizeCoefficient(const TSharedRef<SDockTab>& InTab, float InSizeCoefficient)
{
FTabManager::FTab* Tab = Tabs.FindByPredicate(FTabMatcher(InTab->GetLayoutIdentifier()));
if (Tab)
{
Tab->SidebarSizeCoefficient = InSizeCoefficient;
}
}
bool SDockingTabStack::IsTabPinnedInSidebar(const TSharedRef<SDockTab>& InTab)
{
FTabManager::FTab* Tab = Tabs.FindByPredicate(FTabMatcher(InTab->GetLayoutIdentifier()));
if (Tab)
{
return Tab->bPinnedInSidebar;
}
return false;
}
void SDockingTabStack::SetTabPinnedInSidebar(const TSharedRef<SDockTab>& InTab, bool bPinnedInSidebar)
{
FTabManager::FTab* Tab = Tabs.FindByPredicate(FTabMatcher(InTab->GetLayoutIdentifier()));
if (Tab)
{
Tab->bPinnedInSidebar = bPinnedInSidebar;
}
}
const TSlotlessChildren<SDockTab>& SDockingTabStack::GetTabs() const
{
return TabWell->GetTabs();
}
int32 SDockingTabStack::GetNumTabs() const
{
return TabWell->GetNumTabs();
}
bool SDockingTabStack::HasTab(const struct FTabMatcher& TabMatcher) const
{
return Tabs.IndexOfByPredicate(TabMatcher) != INDEX_NONE;
}
FGeometry SDockingTabStack::GetTabStackGeometry() const
{
return GetTickSpaceGeometry();
}
void SDockingTabStack::RemoveClosedTabsWithName( FName InName )
{
for (int32 TabIndex=0; TabIndex < Tabs.Num(); )
{
const FTabManager::FTab& ThisTab = Tabs[TabIndex];
if ( ThisTab.TabState == ETabState::ClosedTab && ThisTab.TabId == InName )
{
Tabs.RemoveAtSwap(TabIndex);
}
else
{
++TabIndex;
}
}
}
bool SDockingTabStack::IsShowingLiveTabs() const
{
return this->TabWell->GetNumTabs() > 0;
}
void SDockingTabStack::BringToFront( const TSharedRef<SDockTab>& TabToBringToFront )
{
TabWell->BringTabToFront(TabToBringToFront);
}
void SDockingTabStack::SetNodeContent(const TSharedRef<SWidget>& InContent, const FDockingStackOptionalContent& OptionalContent)
{
ContentSlot->SetContent(InContent);
(*InlineContentAreaLeft)[OptionalContent.ContentLeft];
(*InlineContentAreaRight)[OptionalContent.ContentRight];
if(TabWell->GetForegroundTab())
{
if (TSharedPtr<SWindow> ParentWindow = TabWell->GetForegroundTab()->GetParentWindow())
{
ParentWindow->GetTitleBar()->UpdateBackgroundContent(OptionalContent.TitleBarContentRight);
}
}
}
FReply SDockingTabStack::OnDragOver( const FGeometry& MyGeometry, const FDragDropEvent& DragDropEvent )
{
TSharedPtr<FDockingDragOperation> DragDropOperation = DragDropEvent.GetOperationAs<FDockingDragOperation>();
if ( DragDropOperation.IsValid() )
{
if (DragDropOperation->CanDockInNode(SharedThis(this), FDockingDragOperation::DockingViaTarget))
{
FGeometry OverlayGeometry = this->FindChildGeometry( MyGeometry, OverlayManagement.ContentAreaOverlay.ToSharedRef() );
if ( OverlayGeometry.IsUnderLocation( DragDropEvent.GetScreenSpacePosition() ) )
{
ShowCross();
}
else
{
HideCross();
}
return FReply::Handled();
}
}
return FReply::Unhandled();
}
void SDockingTabStack::OnDragLeave( const FDragDropEvent& DragDropEvent )
{
if (DragDropEvent.GetOperationAs<FDockingDragOperation>().IsValid())
{
HideCross();
}
}
FReply SDockingTabStack::OnDrop( const FGeometry& MyGeometry, const FDragDropEvent& DragDropEvent )
{
if (DragDropEvent.GetOperationAs<FDockingDragOperation>().IsValid())
{
HideCross();
}
return FReply::Unhandled();
}
Copying //UE4/Dev-Editor to //UE4/Dev-Main (Source: //UE4/Dev-Editor @ 3050373) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 2973846 on 2016/05/11 by Jamie.Dale Exposed FConfigValue::ExpandValue and added FConfigValue::CollapseValue These are both static and can be used to expand or collapse the macros used in our config files (mostly when dealing with paths), in code that has to deal with the config system, but isn't internal to the config system (mostly things that deal with default configs outside of UObjects). The old non-static version of FConfigValue::ExpandValue is now FConfigValue::ExpandValueInternal, which just calls FConfigValue::ExpandValue on SavedValue and ExpandedValue. This also changes some code that was using FString.Replace to use FString.ReplaceInline. This reduces allocations, and also allows us to avoid another string comparison to see whether the strings are identical (as ReplaceInline returns the number of replacements that were made). Change 2973847 on 2016/05/11 by Jamie.Dale Changing the loading phase in the localization dashboard now writes to the default config #jira UE-30482 Change 2973866 on 2016/05/11 by Jamie.Dale Deprecated some functions that were taking an unused position. These unused parameters caused confusion and lead to UE-30276. The old versions have been deprecated, and new versions without those parameters have been added. Existing code has been updated to call the non-deprecated version. - FViewportFrame::ResizeFrame - FSceneViewport::ResizeFrame - FSceneViewport::ResizeViewport Change 2974505 on 2016/05/11 by Nick.Darnell PR #2309: Added Combobox styling (Contributed by Chris528) Change 2975241 on 2016/05/12 by Richard.TalbotWatkin Made sRGB Preview the default in the Color Picker. Change 2975390 on 2016/05/12 by Jamie.Dale Made sure that en-US-POSIX is in our list of available cultures Some people use machine tags as their native text, so they need an invariant machine like culture to use as their native culture. en-US-POSIX is perfect for this. Change 2975411 on 2016/05/12 by Jamie.Dale PR #2237: Fixed formatting of Error_TooManyMaterials message (Contributed by pfranz) Change 2975559 on 2016/05/12 by Jamie.Dale Dialogue Wave VO direction can now be localized This is gathered as editor-only data. #jira UE-28715 Change 2975710 on 2016/05/12 by Jamie.Dale Implemented UObject::IsLocalizedResource to test whether the object belongs to a localized package Change 2975728 on 2016/05/12 by Jamie.Dale Exported dialogue scripts now include a column that says whether they have a localized recording of that line of dialogue #jira UETOOL-794 Change 2975763 on 2016/05/12 by Jamie.Dale We no longer warn if asked to check out a UNC path when running the GatherText commandlets #jira UE-25833 Change 2975766 on 2016/05/12 by Jamie.Dale Resolved some loc key conflicts #jira UE-25833 Change 2975774 on 2016/05/12 by Jamie.Dale PO files now only contain a single entry in the case of a native translation being exported They used to contain the original entry, as well as an entry for the native translation, however the original entry would never be used. This change also cleans up some directory walking code that was looking for archive files, and replaces it with code to load the specific archive file. Change 2975776 on 2016/05/12 by Jamie.Dale Downgraded a PO file import warning that isn't really an issue #jira UE-25833 Change 2976675 on 2016/05/13 by Jamie.Dale Fixed some more fallout from changes to use the window position when changing the game viewport mode - FSceneViewport::ResizeFrame: - Fixed the HMD monitor info setting the wrong variables. - Fixed SetWindowMode and ResizeViewport potentially being passed two different modes. - We now only move the window if we need to (this avoids issues with WindowedFullscreen window positioning). - FWindowsWindow::MoveWindowTo: - Now treats the screen space position it's given as relative to the top-left of the window, rather than the top-left of the windows' client area. - FWindowsApplication: - WM_MOVE was passing a screen space position relative to the top-left of the windows' client area, rather than its window area like Slate expected. #jira UE-30276 #jira UE-30677 Change 2976804 on 2016/05/13 by Jamie.Dale Slight optimization to FICUInternationalization::FindOrMakeCulture to avoid hitting the filesystem until we know we need to Change 2976967 on 2016/05/13 by Alexis.Matte #jira UE-30687 Cannot import a skeletal mesh scale to zero Change 2977042 on 2016/05/13 by Alexis.Matte #jira UE-29952 log a warning if fbx exceed the maximum number of LOD. #2326 Github PR #code review matt.kuhlenschmidt Change 2977074 on 2016/05/13 by Jamie.Dale Follow up to CL# 2976804 to avoid a potential change in behavior Change 2977076 on 2016/05/13 by Jamie.Dale Some tidy up and optimization to SCulturePicker Change 2977327 on 2016/05/13 by Alex.Delesky Now deleting the Redirector package on Redirector Fix Up rather than simply removing it from the Content Browser. #jira UE-30423 Change 2977499 on 2016/05/13 by Alexis.Matte #jira UE-29475 Enable UStruct child property to be favorite Change 2978415 on 2016/05/16 by Jamie.Dale We now pre-load all the culture data when starting the editor to avoid a UI hitch later Change 2978517 on 2016/05/16 by Alex.Delesky #jira UE-29406 Creating a static mesh from a geometry brush and then attempting to reimport the mesh will no longer crash the editor. Change 2978518 on 2016/05/16 by Alex.Delesky #jira UE-28210 The FBX Importer no longer runs cleanup upon failing to import an FBX file and won't crash the engine the next time an FBX is imported within the same editor session. Change 2978556 on 2016/05/16 by Alexis.Matte Fbx tests automation #jira UE-29635 Change 2978797 on 2016/05/16 by Alexis.Matte #jira UE-30774 - prevent baking the pivot if we transform the vertex with the absolute transform. - Also make sure we set the identity for the Max puivot in case we dont bake the pivot and we dont transform the vertex with the absolute transform. #code review matt.kuhlenschmidt Change 2978965 on 2016/05/16 by Alexis.Matte FBX importer, fix the socket rotation. #jira UE-30094 Change 2980613 on 2016/05/17 by Jamie.Dale Moved the XLOC UAT localization provider to be publicly accessible Change 2980614 on 2016/05/17 by Jamie.Dale Reference update for project move Change 2980633 on 2016/05/17 by Jamie.Dale Made the culture mapping used between XLOC and UE4 configurable on a per-project basis You can now override GetEpicCultureToXLocLanguageId in your custom localization provider in order to change the default mappings. Change 2980836 on 2016/05/17 by Jamie.Dale Added -LocalizationSteps flag to allow you to only run a subset of the UAT "Localise" command You can pass any of the following steps: Download, Gather, Import, Export, Compile, GenerateReports, Upload Change 2982700 on 2016/05/18 by Jamie.Dale Fixed the loc package gather potentially adding the same source location multiple times Change 2983906 on 2016/05/19 by Jamie.Dale Slight cleanup of the way we register localization gatherer callbacks Change 2984356 on 2016/05/19 by Chris.Wood Removed temporary analytics API change needed for earlier hot fix [UE-31005] - Undo temp Hardware Survey API change from 4.10 - CL 2782817 Change 2986679 on 2016/05/23 by Alex.Delesky #jira UE-24747 - Importing FBX files that contain meshes that do not have non-degenerate triangles will no longer crash the editor on import, and will warn the user that the meshes are bad. Change 2986798 on 2016/05/23 by Alex.Delesky #jira UE-31136 - Chord Input fields will no longer display the blinking edit cursor if they do not have focus. Change 2987106 on 2016/05/23 by Alexis.Matte Fbx importer, fail import must not create a package in the content browser #jira UE-31154 Change 2987563 on 2016/05/23 by Alex.Delesky #jira UE-30988 - Changed the default window mode when launching a game from the .uproject file to Windowed Change 2987564 on 2016/05/23 by Alex.Delesky #jira UE-28856 - Fixed a crash that could potentially occur when starting up PIE while dragging objects like widgets in the editor. Change 2988321 on 2016/05/24 by Jamie.Dale Added a way to backup and restore the selection state of a level (its actors and components) in a way that can be reapplied even if the level is reloaded Change 2988708 on 2016/05/24 by Jamie.Dale Fix for crash when missing the fallback/last resort font Change 2988782 on 2016/05/24 by Jamie.Dale Added the ability to version each localized string individually when loaded into the localization manager The single 32-bit global history has now been replaced with two 16-bit histories. One is global, and is updated whenever the culture is changed (or a LocRes file is loaded), and the other is local to each string, and is updated if the display string is changed outside of a culture update (to handle cases where the display string is changed, but the key is preserved). Changing the global history will reset all local histories. Because of the change from an int32 to a uint16, 0, rather than INDEX_NONE, is now considered the "unset" value for a history. Change 2988856 on 2016/05/24 by Jamie.Dale Added a way to get the package(s) of the object(s) being edited by a property panel Typically the package is just the outermost of the object being edited, however there are some cases where this may not be the case: - UMG widgets edit a transient copy of the real data, so we use the SetObjectPackageOverrides to override the package these objects should use to be the real asset package. - Structs (UDS, Data Table, etc) don't have a way to get to their package, so you have to specify it on their FStructOnScope instance (see FStructOnScope::GetPackage and FStructOnScope::SetPackage). This has been hooked up for the UDS and Data Table editors. Change 2988955 on 2016/05/24 by Alex.Delesky #jira UE-30645 - Adding in support for splash images to support .png and .jpg files. In general, this adds multi-extension support for external image references and external image picker modules. Git Request #2376 Change 2989418 on 2016/05/25 by Jamie.Dale Added a way to count text references within a package that match the given search criteria This can be used to detect whether a localization ID is unique within its package. The following search modes are available: - MatchId: Detect a reference if it matches the given ID (ignoring the source text) - MatchSource: Detect a reference if it matches the given ID and source string - MismatchSource: Detect a reference if it matches the given ID but has a different source string Change 2989436 on 2016/05/25 by Jamie.Dale Added "root-level" meta-data (meta-data associated with the package rather than an object within it) Change 2989471 on 2016/05/25 by Alexis.Matte Fbx scene importer, fix naming clash when creating package we now also look in memory to find existing package not just on disk Change 2989639 on 2016/05/25 by Jamie.Dale Added static version of FName::IsValidXName This allows you to verify name-like strings without having to convert them to an FName (and thus add them to the name table) Change 2989716 on 2016/05/25 by Alex.Delesky #jira UE-30828 - The Standalone Session Frontend will now render the names of automation tests correctly instead of as solid white blocks. Change 2990100 on 2016/05/25 by Alexis.Matte Fix crash when reimporting a mesh that originaly exceed the maximum number of LOD #jira UE-30907 Change 2991442 on 2016/05/26 by Bob.Tellez #UE4 Fix components in world not rendering when saved without a physics scene. Change 2991736 on 2016/05/26 by Bob.Tellez #UE4 Fix duplicated worlds not being initialized when inactive. Re-enabled duplication of worlds in the content browser. Change 2991942 on 2016/05/26 by Alex.Delesky #jira UE-31012 - Setting a Decimal Grid Interval value to 0 and using it will no longer crash the editor or cause an editor crash on startup. Change 2991994 on 2016/05/26 by Alex.Delesky #jira UE-31177 - Attempting to export an entire level as an object file and choosing to export all materials as images will no longer crash the editor. Change 2994037 on 2016/05/30 by Alexis.Matte Add Fbx Automation Tests - static mesh import reimport (sections and materials) - skeletal mesh import and reimport (sections and materials also bone position) - static/skeletal mesh LODs (import, add, reimport) - rigid mesh (import, reimport) Change 2994253 on 2016/05/31 by Alexis.Matte Mikkt crash when computing the normals if there is more vertex then the number of wedge #jira UE-29143 Change 2994260 on 2016/05/31 by Alexis.Matte Make sure we cannot modify fbx test plan when json file is read only Change 2994431 on 2016/05/31 by Alex.Delesky #jira UE-21900 - The scale widget should now render all axes when using an orthographic camera. Change 2994432 on 2016/05/31 by Alex.Delesky #jira UE-31328 - New objects dragged into the scene will now comply with the Surface Snapping option in the viewport, and will not use the Surface Offset if snapping is disabled. Change 2994537 on 2016/05/31 by Richard.TalbotWatkin Fixed potential crash in the Mesh Paint tool when non-transactable actors are in the SelectedActors list following a Redo. #jira UE-31172 - Crash related to Vertex Painting - MeshPaint!CastChecked<AActor,UObject>() Change 2994983 on 2016/05/31 by Richard.TalbotWatkin Added some guard code to protect against a crash when editing geometry. Repro currently unknown, ensure was added in order to try to get more information. #jira UE-30820 - UT EDITOR: CRASH: Crash in Public Release CL#2973693 Change 2995022 on 2016/05/31 by Jamie.Dale PR #2428: Added missing END_OPTIMIZATION macro to SOutputLog (Contributed by MatzeOGH) Change 2995027 on 2016/05/31 by Jamie.Dale PR #2409: fixed a small typo in GraphEditor.h (Contributed by MatzeOGH) Change 2995963 on 2016/06/01 by Alex.Delesky #jira UE-31317 - The transform gizmo will no longer block the placement of a material onto a mesh. Change 2997002 on 2016/06/01 by Cody.Albert Fix to ensure ActiveTopLevelWindow is properly set after a window is destroyed #jira UE-31448 Change 2998013 on 2016/06/02 by Alexis.Matte Prevent static mesh materials array to grow when using the reset button in the staticmesh editor. #jira UE-12931 Change 2998370 on 2016/06/02 by Alexis.Matte Fbx Automation, add some import LOD test in case the options are not ok Change 2999709 on 2016/06/03 by Jamie.Dale Fixed some issues with gathering text from BP bytecode Bytecode in Blueprints is very volatile, and can only be safely gathered after it's been compiled (which is not guaranteed to have happened by the time we save the package). This change avoids caching any assets that contain scripts (non-data-only Blueprints), and instead will always load them to perform a gather (which will ensure the Blueprint bytecode is up-to-date due to compile-on-load). Change 2999755 on 2016/06/03 by Richard.TalbotWatkin Fixes to Spline Mesh collision generation. - Fixed a serious issue with DDC ID generation, in that the static mesh wasn't forming a part of the key, hence any two spline meshes with identical properties but different meshes would yield the same cache entry. - Fixed how different collision boxes are transformed when rebuilding physics meshes. Convex collision transforms are now correctly taken into account, and spherical and capsule collision now gets correctly translated when a scale is applied to the start or end of the spline mesh. - Optimized physics rebuilding. A new BodySetup object is now only created when needed, otherwise it is reused. #jira UE-31361 - Splines handle box collision and collision from other shapes differently Change 2999973 on 2016/06/03 by Jamie.Dale We now skip bulk data when detecting text references #jira UE-31596 Change 3000159 on 2016/06/03 by Alex.Delesky #jira UE-30244 - Added a safeguard against a potential crash when editing BSP brushes before placing another BSP brush into the level. Change 3001814 on 2016/06/06 by Alexis.Matte Make sure the staticmesh Materials list dont grow when we reimport or override a LOD other then the base mesh. Add a fbx test to make sure the problem is flag by automation test #jira UE-1394 Change 3001820 on 2016/06/06 by Alex.Delesky #jira UE-19079 - Widget Blueprints should no longer crash when dragging widgets from one blueprint to a second and then compiling the second blueprint. Change 3001915 on 2016/06/06 by Alexis.Matte Make sure we check attribute type before checking attribute unique ID in case of unique id clash. #jira UE-31214 Change 3002026 on 2016/06/06 by Alexis.Matte Importing morph target should not import textures like materials since the base mesh already import thoses. UDN Question: https://udn.unrealengine.com/questions/293973/does-importing-an-fbx-with-morph-targets-cause-a-m.html Change 3002623 on 2016/06/06 by Jamie.Dale Fixing more loc conflicts Change 3002883 on 2016/06/06 by Jamie.Dale Adding retry when dealing with OneSky This is attempting to compensate for some timeouts with OneSky, which were also noticed when testing UE-31413 Change 3003004 on 2016/06/06 by Trung.Le #jira UE-13101 - Make "Description" field for a BluePrint Function multiline Change 3003859 on 2016/06/07 by Alexis.Matte #jira UE-30436 Refresh the property editor when a array element is added, remove, insert, delete and the property is favorite Change 3004132 on 2016/06/07 by Jamie.Dale Fixed a hash conflict that could occur when both the case-sensitive and case-insensitive FName hashes were identical This resulted in the case-preserving FName being added to the head of the linked list for the bucket, which caused any subsequent name lookups to return that name index for the comparison index (since it matched an insensitive string comparison), rather than the name index of the first case-variant of that name that was added to the bucket. This change has new entries be inserted at the tail of the list, which ensures that enumeration for a case-insensitive name will always find the same entry in the bucket (the first one that was ever added) and will continue to compare correctly. Change 3004286 on 2016/06/07 by Jamie.Dale Ensured that assignments that publish new names to the bucket are atomic Change 3004310 on 2016/06/07 by Jamie.Dale Ensured FName internal hashes are returned as uint16 Change 3004381 on 2016/06/07 by Jamie.Dale FAsyncPackage now creates the meta-data before processing the remaining exports This matches the behavior of FLinkerLoad::LoadAllObjects, as other objects may depend on the meta-data being loaded before them. Change 3004765 on 2016/06/07 by Alex.Delesky #jira UE-31498 - Material thumbnails will now render the full sphere rather than an extreme close-up of the material. Change 3005754 on 2016/06/08 by Trung.Le Allow whitespace for meta class names #jira UE-31668 Change 3005755 on 2016/06/08 by Stephan.Jiang UMGSequencePlayer implements GetPlaybackContext() and return UserWidget->GetWorld() if it's valid #jira UE-31299 Change 3006512 on 2016/06/08 by Alex.Delesky #jira UE-31572 - The "All Classes" tab in the Modes panel will now refresh when a placeable asset is created, renamed, or deleted without needed to navigate away from the tab first. Change 3006760 on 2016/06/08 by Jamie.Dale Added support for stable localization keys This feature adds support for preserving the existing key of an FText property when editing the source string, providing that it is the only reference to that string within the package. A side effect of this is that you're now able to specify custom keys for FText properties since we can now verify that the custom key won't cause an identity conflict. In order to limit the search domain for uniqueness to a single package, we've added the concept of a "localization namespace" to packages (stored in the meta-data). Each package is given a unique namespace, which is appended to the user-defined namespace of the text when it is modified, saved, or duplicated. This package namespace ensures that the same user-defined namespace and key may be used in different packages without causing an identity conflict. In order to access the package namespace within the Core code that hosts FText (which doesn't know about UPackage), FArchive now provides a GetLocalizationNamespace function to access the package namespace within the Core code, and a SetLocalizationNamespace function for CoreUObject and Engine code to pass down the package namespace from their packages. If you have an archive that handles duplicating objects into a different package, or duplicating packages themselves, then you'll want to make sure it's setting the package namespace correctly. FObjectReader and FObjectWriter have been updated to do this, and serve as a good example. FDuplicateDataReader (used by StaticDuplicateObject), and FCopyPropertiesArchiveObjectWriter (used when compiling Blueprints) have also been updated to set the package namespace, as they both handle copying objects between packages. TextNamespaceUtil provides a suite of functions for getting at (or setting) the namespace for a package. Keys will start to stabilize naturally over time once this feature is enabled, however the StabilizeLocalizationKeys commandlet may also be used to stabilize all the keys for a game at once. Running it for a game under source control would look something like this: MyGame -run=StabilizeLocalizationKeys -IncludeGame -NativeCulture=en -EnableSCC This commandlet also updates your localization archives to use the new text identities, however you'll still need to run a localization gather and localization compile before the updated translations will be available for your game. Note: This feature is currently disabled via the USE_STABLE_LOCALIZATION_KEYS define. It will be enabled at a later date. #jira UETOOL-796 Change 3007501 on 2016/06/09 by Trung.Le #jira UE-31722 Fix MaterialFunctions crash when editing text in Libraries Category Text field. Solution: Removed PredEdit and PostEdit from IEditableTextProperty, its derived types and other code that was calling them. The new SetText method already calls NotifyPreChange and NotifyPostChange to properly create/destroy ScopedTransaction. Change 3007524 on 2016/06/09 by Jamie.Dale Added some additional checks to avoid re-keying text when duplicating for PIE Change 3007564 on 2016/06/09 by Jamie.Dale PR #2401: DataTable import/export improvements (Contributed by bozaro) Change 3007653 on 2016/06/09 by Jamie.Dale PR #2459: Generate JSON for nested structs in DataTable rows (Contributed by jorgenpt) Change 3008019 on 2016/06/09 by Jamie.Dale Updated structs to export as JSON when displaying them in the Data Table editor This produces much cleaner results than using the text export method (which will use the internal names for user defined structs). This also cleans up the FDataTableExporterCSV and FDataTableExporterJSON APIs so that you don't need to pass in a UDataTable if you're not going to use it. #jira UE-29958 Change 3008052 on 2016/06/09 by Jamie.Dale Fixed bug importing an array inside a JSON Data Table This was noticed when testing a GitHub PR, but the JSON importer for a Data Table was appending the new data to the array rather than replacing it. It now clears the array prior to importing. Change 3008875 on 2016/06/10 by Jamie.Dale PR #2406: Git plugin: Fix for Git diff not working in UE 4.12 (and master) (Contributed by SRombauts) Change 3008879 on 2016/06/10 by Jamie.Dale PR #2484: Git Plugin: fix the Submit To Source Control menu broken by new "migrate" support in 4.12 (and master) (Contributed by SRombauts) Change 3008990 on 2016/06/10 by Alex.Delesky #jira UE-15699 - Submitting to source control via the editor should now check for current asset status before prompting the user to submit their changes. This should prevent files that had been previously deleted from being readded to source. Change 3008991 on 2016/06/10 by Alex.Delesky #jira UE-31688 - The Output Log will now automatically anchor to the bottom of the scroll bar when the user scrolls all the way down using the mouse wheel or clicking and dragging the content window. Change 3010856 on 2016/06/13 by Alexis.Matte #jira UE-31713 Fix a serialize issue for skeletal mesh with apex cloth. Change 3011736 on 2016/06/13 by Jamie.Dale Adding missing plurals.res file This is needed to get plural form information from ICU. #jira UETOOL-875 Change 3012387 on 2016/06/14 by Richard.TalbotWatkin Disabled the Paste context menu action if the property is marked as EditConst. #jira UE-27469 - User is able to paste values into a read-only setting Change 3012971 on 2016/06/14 by Stephan.Jiang Editor Preferences->Widget Designer now have two options to toggle the visibilities of widgets created from Engine content folder and Developers folder. By default, visibility for engine content is off and developers is on #jira UE-31657 Change 3013111 on 2016/06/14 by Jamie.Dale Unified the number, percentage, and currency formatting between the ICU and Legacy text implementations Removed all the old legacy number formatting code, and removed the calls to the ICU specific number formatting. Everything is now using FastDecimalFormat as this will allow some optimizations later when formatting numbers in FText::Format. Change 3015438 on 2016/06/15 by Cody.Albert Fixing ScrollBy function to calculate new scroll offset based on the current scroll offset and not the current desired scroll offset (which may not be the same during an animation) #jira UE-32082 Change 3016782 on 2016/06/16 by Richard.TalbotWatkin Corrected ConvexHull2D so that it returns an empty set of indices when passed an empty points array. Change 3016949 on 2016/06/16 by Jamie.Dale Added FastDecimalFormat overloads to write into an existing string This helps avoid an extra allocation if you already have a pre-sized string that you're writing the number to (as is the case in FText::Format). Change 3016952 on 2016/06/16 by Jamie.Dale Changed an Add for an Emplace to avoid moving a temporary Change 3016954 on 2016/06/16 by Jamie.Dale Updated some FText code to avoid creating temporary objects just to move data through a hierarchy There was some code in FText and its internal types that were using pass-by-value as a marshaller to move data through a hierarchy. This resulted in temporary objects being created and destroyed to facilitate the movement of data. This change has all the internal FText code (private FText constructors, internal text data, and internal text history) take its movable types as an r-value reference. This avoids the temporary objects, but also makes it impossible to accidentally copy a construction argument when you meant to move it (you can still copy, but the copy must be explicit). In addition to this, FText::FromString and FText::AsCultureInvariant now have two overloads, const FString& and FString&&, to avoid them creating a temporary when you're invoking a move. FText::ChangeKey now takes its parameters by const& as their data wasn't being moved further down the chain, so the by-value copy was wasteful. Change 3019021 on 2016/06/19 by Richard.TalbotWatkin When deleting a brush, ensure geometry is rebuilt before updating the details panel according to the selection change, so that the old Surface Properties don't continue to appear. #jira UE-8966 - Surface Properties of a BSP remain in the details panel after the BSP is deleted Change 3019022 on 2016/06/19 by Richard.TalbotWatkin Fixed issue where the Surface Properties category in the Details panel doesn't appear after selecting a surface on a Brush which has just been placed. #jira UE-31916 - Selecting an edge of BSP geometry then a face does not show Surface Properties while in Place mode #jira UE-31915 - Selecting BSP face does not show Surface Properties in Details Change 3019025 on 2016/06/19 by Richard.TalbotWatkin Fixed issue which was stopping 'Cancel' from correctly returning a 'Cancelled' result during P4 asynchronous ops. #jira UE-28595 - Submit to Source Control: "Checking for assets to check in..." cancel button does not cancel operation, editor becomes unresponsive Change 3020050 on 2016/06/20 by Cody.Albert Changed window centering logic to correctly work when monitor 1 isn't set to primary monitor. #jira UE-32173 Change 3021145 on 2016/06/21 by Jamie.Dale Added support for text format argument modifiers These can be used to mutate a format argument before appending it to the resultant formatted string, and are applied to the preceding argument via a pipe, eg) "{Arg}|plural(one=is,other=are)". We provide a few of these by default: - |plural(key=val,...) - |ordinal(key=val,...) Provides support for cardinal and ordinal plural forms, where key may be any of "one", "two", "few", "many", or "other", and val may be any optionally quoted string. - |gender(masculine,feminine,[neuter]) Provides support for gender forms, where the 0th item is the masculine version, the 1st item is the feminine version, and the 2nd item is an optional neuter version. The values may be any optionally quoted string. - |hpp(consonant,vowel) Provides support for Hangul post-positions, where the 0th item is the consonant suffix, and the 1st item is the verb suffix. The values may be any optionally quoted string. Major changes: - Exposed the ICU plural form handling via FCulture::GetPluralForm. - Updated the FText formatting code to use an expression evaluator (to support the more complex expressions needed for the argument modifiers). - Added FTextFormat to store a pre-compiled format expression. Re-using one of these if you're performing a lot of formats with the same FText will increase your performance (as around half of the FText::Format cost can be compilation, via an implicit construction of FTextFormat). - Updated the FText::Format(...) family of functions to take their format string as FTextFormat, and take their arguments as FFormatArgumentValue. This allows us access to the real numeric types within the format code, but doesn't break the existing API as these types are implicitly constructible from the old parameters (FText). - Converted text history to store their format string as an FTextFormat in-case they need to perform a re-format (this is still saved as an FText). Breaking changes: - The rules for the escape token have been simplified, and there is an incredibly unlikely chance that this may affect some text: - The ` character will now only escape a valid character (producing only the escaped character in the final string), or it will be ignored and inserted as a literal character, eg) "`{F" -> "{F", and "`F" -> "`F". - Previously it would also remove the escape character when it followed { or }, eg) "{`" -> "{" and "}`" -> "}", rather than "{`" and "}`" like you might expect. It would also have previously removed a ` at the end of a string due to a parser bug. Change 3021156 on 2016/06/21 by Jamie.Dale Updated LinuxToolChain to use the same output delegate for all of its actions when cross-compiling This avoids the compile and link actions being split into different batches. Change 3021280 on 2016/06/21 by Richard.TalbotWatkin Fixed bug in parsing LOD in UStaticMeshComponent::ImportCustomProperties (thanks to Aurelien Cordonnier). #jira UE-31937 - UDN code submission for UStaticMeshComponent::ImportCustomProperties parsing bug Change 3022949 on 2016/06/22 by Alex.Delesky #jira UE-31944 - Upgrading Subversion binaries to version 1.9.4. Change 3023092 on 2016/06/22 by Jamie.Dale Downgraded some checks to ensures and added an early out #jira UE-32009 Change 3023154 on 2016/06/22 by Jamie.Dale Ported over CL# 3018771 to the UE automation This fixes an issue where a downloaded PO file smaller than the one already on disk leaving a mix of both files on disk (rather than the existing file on disk being truncated). Change 3023579 on 2016/06/22 by Jamie.Dale Expanded the Blueprint FormatText node to support numeric and gender types These are needed to correctly support the new plural and gender forms that can be used in format strings, as these require actual numeric/enum data to be passed into the format arguments, rather than pre-formatted text. Major changes: - The FormatText node for Blueprints now uses PC_Wildcard as its pin type for format arguments instead of PC_Text. - Any existing literal text argument data in the pin is hoisted out into a "Make Literal Text" node which is then connected to the pin. - FFormatArgumentData has been updated to be variant on the data needed by Blueprints. It's now a less comprehensive and non-unioned version of FFormatArgumentValue. - The version of FText::Format taking FFormatArgumentData has been deprecated as its usage was internal to Blueprints and we have much better ways to format text in C++. Any existing C++ using that (of which we have none internally) should be updated to use FFormatArgumentValue instead. Change 3023915 on 2016/06/22 by Jamie.Dale Cleaned up some of the UK2Node_FormatText expansion code to avoid unchecked literals Change 3024813 on 2016/06/23 by Jamie.Dale Renamed FContext to FManifestContext to better reflect its purpose and avoid naming conflicts with other code Change 3024852 on 2016/06/23 by Nick.Darnell FBX - Updating automation tests with the changes to chunk and chunk index removal and them being merged with sections. Change 3024994 on 2016/06/23 by Nick.Darnell UMG - Removing the DesignerWidgetTree, instead going to directly inject the widget tree into the partially constructed UUserWidget during design time, when refreshing the preview. This avoids doing something a little dangerous and sketchy like updating the living class instance with a new designer tree that all new instances will begin biasing using. Also making the preview widget explictly non-transactional as there's no reason to track changes to the preview, all the changes that need to be tracked should be on the template widget. This should fix the crash in the widget designer when you Undo just after compiling the widget blueprint. #jira UE-31155 Change 3025194 on 2016/06/23 by Alex.Delesky #jira UE-31155 - Compilation error fix. Change 3025255 on 2016/06/23 by Alex.Delesky #jira UE-21900 - Redoing changes done in CL 2994431 since it got stomped. Reinstates the grabber handles and ensures consistent scaling on the scale widget in orthographic viewports. Change 3025460 on 2016/06/23 by Cody.Albert Fixed issue where widget components would misalign when aspect ratio was being constrained #jira UE-29637 Change 3025508 on 2016/06/23 by Cody.Albert Adding support for adjusting animation playback speed #jira UE-32222 Change 3026444 on 2016/06/24 by Jamie.Dale Fixed crash caused by bad access of shared this when closing an active IME context This was only needed to get the owner window, which we now cache when the IME context is created. #jira UE-32240 Change 3028358 on 2016/06/27 by Jamie.Dale Fixed IMEs not working due to no window being cached #jira UE-32240 Change 3028464 on 2016/06/27 by Alex.Delesky #jira UE-31873 - A single "Files need check-out" notification will now be shown instead of multiple notifications if multiple files need to be checked out, and updated as more files need to be checked out. Change 3028524 on 2016/06/27 by Chris.Wood Switched off uploads to legacy Crash Report Receiver. [UE-31252] - Switch off deprecated CRR upload in Crash Report Client Also added CRC version string, added to crash context from CRC config Change 3028840 on 2016/06/27 by Alexis.Matte #jira UE-32306 replace material bad name character by an underscore when doing a scen import. Change 3028924 on 2016/06/27 by Alexis.Matte #jira UE-32125 Make sure we can add a plan when a fbx file is drop in the fbx automation test folder Change 3029044 on 2016/06/27 by Alex.Delesky #jira UE-31944 - Updating SVN binaries for Mac to 1.9.4 Change 3029276 on 2016/06/27 by Alex.Delesky #jira UE-31531 - A user can now select the base class when creating a new physical material. PR #2462: added dialog, which enables picking base class for asset (Contributed by iniside) Change 3029459 on 2016/06/27 by Alexis.Matte #jira UE-32354 Make sure we set all blueprint component to the correct mobility set in the scene import options. Change 3030577 on 2016/06/28 by Nick.Darnell PR #2531: Git plugin: fix wrong status icons (Contributed by SRombauts) Change 3030587 on 2016/06/28 by Alexis.Matte #jira UE-32251 add missing body setup variables when restoring the body setup value after a re-import of a staticmesh Change 3030946 on 2016/06/28 by Alexis.Matte #jira UE-32515 prevent crash when re-import staticmesh userdata Change 3031115 on 2016/06/28 by Jamie.Dale The DDC builder now gives the shader compile worker a chance to catch up when it pauses to run a GC pass This prevents an issue where the shader backlog could cause massive amounts of memory to be consumed. Change 3031146 on 2016/06/28 by Jamie.Dale Fixed errors when building with USE_STABLE_LOCALIZATION_KEYS enabled caused by UEdGraphPin no longer being a UObject Change 3031357 on 2016/06/28 by Nick.Darnell PR #2431: Add plugin support to the editor class wizard. (Contributed by Koderz) Change 3031515 on 2016/06/28 by Jamie.Dale Fixed game targets not being able to depend on other game targets Change 3031520 on 2016/06/28 by Jamie.Dale Localization compilation now specifies an ArchiveName to use Change 3031671 on 2016/06/28 by Nick.Darnell Editor - Checking to see if a weak variable is valid before using it in the editor build window. Change 3032013 on 2016/06/28 by Matt.Kuhlenschmidt Added ability to invert the Y axis in editor viewports for mouse look and orbit Change 3032495 on 2016/06/29 by Jamie.Dale Fixed some measuring issues with bi-directional text within a right-flowed document There were three main issues: 1) Measuring blocks was measuring visual glyphs rather than logical glyphs (this caused bad measures/wrapping and overlapped rendering). 2) The text layout would consider blocks visually contiguous without making sure the block flow direction matched the line flow direction (this caused bad highlights). 3) The text layout would fail to compensate for a non-contiguous block that had a flow direction different to the line flow direction (it was hard-coded for RTL in LTR, so broke for LTR in RTL - this caused bad highlights). #jira UE-32526 Change 3032533 on 2016/06/29 by Nick.Darnell UMG - The widget component now extends from UMeshComponent, it can have a custom material applied to it, in order to achieve cooler effects - like ignoring the depth buffer. Users who use this option are encouraged to start with the widget components default material and work from there. The widget component now offers the ability to automatically size the render target to be the desired size of the widget - note that this can go real bad if your widget wants to be really big. Change 3032855 on 2016/06/29 by Alexis.Matte #jira UE-32508 Remove the cachewindow from the FTextInputMethodContext constructor since it will be cache only when the IME is activated #test please re-test also UE-32240 Change 3033145 on 2016/06/29 by Alex.Delesky #jira UE-32239 - The PropertyEditorModule will no longer cause a crash on editor shutdown if a SDetailsView widget tries to force refresh itself when the Slate application is no longer initialized. Change 3033147 on 2016/06/29 by Alex.Delesky #jira UE-32326 - Clicking on the "Install {compiler}" button when trying to create a new code class or code project will now not crash the engine if it fails to open the installation file for write, nor will it create multiple notifications if the button is pressed repeatedly. This also addresses a potential issue with static initialization order when it comes to adding TickableEditorObjects to its corresponding array, since it was wholly possible for a statically initialized TickableEditorObject to initialize itself and add itself to the tickable objects arra before the tickable objects array was initialized, causing that object to not get ticked at runtime and causing a crash when the editor was closed. Change 3033162 on 2016/06/29 by Alex.Delesky #jira UE-31827 - Undo/redo now works in the Material function editor. Change 3033391 on 2016/06/29 by Matt.Kuhlenschmidt Fix post process settings blendable picker not being readable in the details panel Change 3033498 on 2016/06/29 by Matt.Kuhlenschmidt Fixed huge number of redundant calls to CanEditChange and DiffersFromDefault that were causing massive performance loss when thousands of objects are selected. CanEditChange and DiffersFromDefault are now cached each time a property value changes. Fixed redundant calls for getting visualizers for each selected object. This is now cached on selection Change 3033504 on 2016/06/29 by Matt.Kuhlenschmidt Fix Mass customization on the body instance not working with undo/redo or reset to default Change 3034357 on 2016/06/30 by Alex.Delesky #jira UE-31184 - Renamed the multiple collision components in the cascade particle system to more accurately reflect what they represent. Change 3035915 on 2016/07/01 by Richard.TalbotWatkin Fix to SListPanel so that those with horizontal arrangement (i.e. from STileView) use the number of desired items instead of the number of actual items in order to calculate the desired size of the geometry. This fixes the case where an STileView is contained within an SScrollBox. #jira UE-32195 - STileView no longer works correctly when placed inside of a SScrollBox Change 3035951 on 2016/07/01 by Richard.TalbotWatkin Fixed issue when importing a brush, so that the brush is always validated (relinked), whether it be a static or dynamic brush. This is because the process of rebuilding a dynamic brush sets the link indices to signify FBspSurf indices from the UModel instead of FPoly indices (the FPoly::iLink member is overloaded in its meaning). Always forcing a relink correctly sets the linked list of coplanars. #jira UE-32087 - Crash occurs when creating Static Mesh from Trigger Volume Change 3036991 on 2016/07/04 by Alexis.Matte #jira UETOOL-901 Scene importer now support the rigid mesh animation Change 3037037 on 2016/07/04 by Jamie.Dale Fixed regression in editable text box alignment Text was no longer vertically aligned center since SEditableText was converted to use a text layout. This vertical alignment is now handled by the outer SEditableTextBox instead. Change 3037057 on 2016/07/04 by Richard.TalbotWatkin Fixed screenshots when running automation tests so that they are saved locally when a FAutomationWorkerScreenMessage is received. #jira UE-29815 - In-game screenshot isn't working under certain circumstances Change 3037082 on 2016/07/04 by Chris.Wood Added detection of asserts and passing assert flag and crash type string to crash reports. [UE-30592] - Crash Reporter should determine crash type on client and pass string to server Reviewe by Steve with reservations about the static variable for setting asserted state. While not thread-aware, this is probably accurate enough for the purpose of crash reporting, certainly for now. I'm submitting it like this because the work required to add fully thread-aware fix is not necessary at this point. Change 3037095 on 2016/07/04 by Alexis.Matte Fix the bone name when duplicating a socket. Change 3037453 on 2016/07/05 by Stephan.Jiang Adding ability to animate the root wigdet #2 FHierarchyRoot adds the preview widget instead of CDO to selectedobjects in widgetblueprint the properties are then migrated back to the CDO #UE 31810 Change 3037487 on 2016/07/05 by Jamie.Dale Fixed crash caused by stale BP pointer #jira UE-32325 Change 3037488 on 2016/07/05 by Jamie.Dale Fixed a crash that could occur when a class and a folder had the same name Change 3037526 on 2016/07/05 by Jamie.Dale Speculative fix for a potential race condition when shutting down the editor while a "launch" was in progress The launch-thread could potentially queue up a request after the game-thread had requested it cancel, and cleared out any queued tasks. This change has the game-thread wait for the launch-thread to acknowledge its cancellation before continuing with editor shutdown. #jira UE-17688 Change 3037557 on 2016/07/05 by Alex.Delesky #jira UE-32424 - Added a safeguard to ensure that renaming a world that was duplicated from another world would not crash the editor if both worlds' lightmaps and shadowmaps were still active in memory, due to the editor attempting to rename identical textures from different packages to the same location. The actual fix to this issue was performed in an earlier CL, but this should prevent the editor from crashing if the issue returns. Change 3037558 on 2016/07/05 by Alex.Delesky #jira UE-32285 - Importing assets to the Content Browser via drag and drop operations are no longer permitted while the UI file picker dialog is opened. Change 3037559 on 2016/07/05 by Alex.Delesky #jira UE-32075 - The user can no longer attempt to import non-FBX and non-OBJ files when importing into a level. Change 3037593 on 2016/07/05 by Stephan.Jiang GitHub #2549: Add function for setting the playback rate of UMG animations original code shelved in CL 3033449 #UE-32653 Change 3037605 on 2016/07/05 by Jamie.Dale Fixed infinite recursion that could happen when gather loc from an object with a custom callback #jira UE-32670 Change 3037649 on 2016/07/05 by Nick.Darnell PR #2538: [WidgetBlueprintLibrary] GetAllWidgetsOfClass, Added META ~ DeterminesOutputType, DynamicOutputParam, removes the need for extra cast,  Rama (Contributed by EverNewJoy) Change 3037652 on 2016/07/05 by Nick.Darnell Clean - Removing commented out code. Change 3037658 on 2016/07/05 by Matt.Kuhlenschmidt Fix initial hitch when dragging around in a color picker opened from a material expression node. Change 3037679 on 2016/07/05 by Nick.Darnell Engine - Texture2D no longer forces the MIP level to 0 for TextureGroup_UI textures. Change 3037757 on 2016/07/05 by Nick.Darnell PR #2447: WebBrowser widget: Added GetUrl method and OnUrlChanged property (Contributed by nelbok) Change 3037840 on 2016/07/05 by Nick.Darnell UMG - Now allowing for spirtes to be used just like textures and materials on UMG widgets anywhere that takes a brush, can now also take a Sprite. There is now a ISlateTextureAtlasInterface interface that any UObject may now implement if it wishes to integrate with UMG to provide its atlas data in a form Slate can understand. Change 3037924 on 2016/07/05 by Jamie.Dale Re-ordered variable initialization to appease a warning on Mac Change 3037981 on 2016/07/05 by Jamie.Dale Fixed crash where FColorStructCustomization could call SetPerObjectValues with an empty array #jira UE-32639 Change 3038075 on 2016/07/05 by Cody.Albert Removed misleading error message in HandleCECommand #jira 28007 Change 3038231 on 2016/07/05 by Alexis.Matte #jira UE-30694 We set the section collision only if there is an imported collision or a generated one. If there is no collision we do not set the collision flag. Change 3038275 on 2016/07/05 by Alex.Delesky #jira UE-32689 - "Game Gets Mouse Control" will now override the Capture Mouse on Launch setting when launching the game from within a Level Viewport (i.e., within the editor window itself). Change 3039310 on 2016/07/06 by Trung.Le #jira UE-25005 Change PIE Key Bindings - Removed Shift+F1 and Esc from BaseInput.ini - Created new customizable key binding for + Shift+F1: same functionality. + Esc: now will pause the play session and bring back the mouse cursor. Clicking the mouse on the viewport should resume play session. + Shift+Esc: now will stop the play session Change 3039458 on 2016/07/06 by Trung.Le Removed unused code in StaticMeshLight.cpp Change 3039827 on 2016/07/06 by Frank.Fella FString - Fix divide overload path concatenation for empty paths since there are several places in the engine that expect using that doing { path / "" } will append a / onto path. #jira UE-31959 Change 3041094 on 2016/07/07 by Nick.Darnell WebBrowser - Fixing an issue where the web browser widget plugin wasn't loading soon enough to be properly loaded in time if it was referenced by game nessesary content thatloads in the Default stage of the pipeline, so moving it to PreDefault. #jira UE-32694 Change 3041110 on 2016/07/07 by Matt.Kuhlenschmidt Fix visualizers on blueprint actors not working when the internal components are trashed and replaced Change 3041302 on 2016/07/07 by Chris.Wood Increased buffer size for crash uploads. [UE-32151] - High number of crashes read from S3 by Crash Report Process are failing to unpack Trivial change in dev branch - no code review Change 3041969 on 2016/07/07 by Nick.Darnell UMG - Input Key Selector now no longer adds a bogus Selected Key property to the details panel. Change 3041971 on 2016/07/07 by Nick.Darnell UMG - Not using separate settings for the Engine/Developer folders visible in the UMG palette, now just using the same setting that powers the content browser. Change 3042612 on 2016/07/08 by Trung.Le #jira UE-25005, set Shift+Esc defaults to toggle play/pause and Esc remains defaults to quit Change 3042732 on 2016/07/08 by mitchell.wilson Adding test content for UMG Paper 2d Atlas test Change 3042780 on 2016/07/08 by mitchell.wilson Updating UMG_Paper2d test content for UMG Paper 2d Atlas testing Change 3042870 on 2016/07/08 by mitchell.wilson Renaming UMG_Paper2d to UMG_Sprite Change 3044104 on 2016/07/10 by Nick.Darnell PR #2104: Improved widget input support (Contributed by projectgheist) Change 3044107 on 2016/07/10 by Nick.Darnell Slate - Fixing the slider handle rendering to no longer run off the edge and get cut off. #jira UE-25750 Change 3044377 on 2016/07/11 by Chris.Wood Add Slack messaging module - Epic Friday Change 3044536 on 2016/07/11 by Alex.Delesky #jira UE-7293 - Mouse locking to viewport is now determined off an enum instead of a boolean, to allow for more flexibility when upgrading with new features. Change 3044922 on 2016/07/11 by Nick.Darnell Slate/UMG - Working on better support for VR interactions with Slate widgets. This change fixes a lot of issues with the way interaction works with slate widgets rendered in the virtual world. Breakages, direct mouse interaction with widgets in the virtual world is no longer supported. Those kinds of interactions must all use the WidgetInteractionComponent now, which by default works similar to the lasers in VREditor for interaction. However - you can disable automatic hittesting, and instead provide a custom hitresult instead if you want to use screen tracing and act like you're just a mouse cursor that is supported. Menu anchors now properly function inside of widgets in the virtual world. Performance improvements - the viewport no longer arranges all 3d widgets every frame. Additionally, Widget Components now support a whole bunch of methods for reducing how often they redraw to help control performance, they also support manual refresh. This automatically works in tandem with the widget interaction component to request refresh whenever the widget interaction component is interacting with the widget, thus giving you a simple way to only redraw widgets that the user is hovering on top of. Unrelated - this change also fixes Stop navigation commands not working with Next/Prev navigation - Wrap is still unsupported. Change 3045157 on 2016/07/11 by Nick.Darnell Slate - Always consume the bottom face button of the analog cursor, even if it's a repeat. Change 3045355 on 2016/07/11 by Matt.Kuhlenschmidt Added logging for unreproducible top 10 crash in matinee when a track ends up not being able to add a keyframe Change 3045358 on 2016/07/11 by Alex.Delesky #jira UE-31179 - The editor should now log additional information and hit an assertion if the editor tries to construct FObjectOrAssetData using invalid data. This doesn't stop the crash, but should help get some extra info when it does break. Change 3045371 on 2016/07/11 by Matt.Kuhlenschmidt Enable the widget reflector from the editor console by typing "widgetreflector" Change 3045387 on 2016/07/11 by Stephan.Jiang Stripping off 'b' in the propertyname so that "Is Enabled" is animated properly. #UE-31874 Change 3046093 on 2016/07/12 by Nick.Darnell UMG - The Slider now exposes the IsFocusable option from Slate. #jira UE-32960 Change 3046094 on 2016/07/12 by Alexis.Matte #jira UE-32807 scene re-import blueprint hierarchy kept some part of old blueprint component value. Change 3046104 on 2016/07/12 by Stephan.Jiang typo "Syc" causing the "Sync" button doesn't show Slateicon #UE-31409 Change 3046142 on 2016/07/12 by Nick.Darnell Orion - Upgrading more code to use the new input mode functions and not the deprecated ones. Change 3046165 on 2016/07/12 by Nick.Darnell UMG - Fixing a crash on the widget component if the render target is null when reapplied through widget component data. #jira UE-32844 Change 3046255 on 2016/07/12 by Nick.Darnell UT - More build warning fixes for the new Input Mode methods. Change 3046604 on 2016/07/12 by Richard.Hinckley Adding a template file and code to support creating a UInterface directly from the New C++ Class wizard. Change 3047071 on 2016/07/12 by Matt.Kuhlenschmidt Better way of summoning the widget reflector from the console Change 3047842 on 2016/07/13 by Matt.Kuhlenschmidt Mark Subdivision surface setting as advanced since it is experimental and definitely for advanced users only Change 3048754 on 2016/07/13 by Trung.Le #jira UE-32159 Automatically regain focus after user gets mouse control during PIE session so we can continue process PIE keybinding commands Change 3048756 on 2016/07/13 by Trung.Le Removed default toggle pause/play keybinding from BaseInput.ini, instead we should use the action defined in DebuggerCommands that is customizable Change 3048865 on 2016/07/13 by Trung.Le #jira UE-32159 SGlobalPlayWorldActions widget shouldn't clear out active widget pointer when it's being handled properly Change 3048892 on 2016/07/13 by Nick.Darnell UMG - Fixing a problem with the interaction component, it now does some basic intelligent ignoring of anything it's attached to - excluding widget components. So it's easier to attach it to things that might be inside of a say a player collision capsule. Also removing the 'Max Interaction Distance' from the widget component as that is no longer the arbitor of interaction distance. #jira UE-33250 Change 3049096 on 2016/07/13 by Trung.Le Wrap SGlobalPlayActions around ViewportWidget instead of making it a child of ViewportWidget. This was causing PIE to stop working when there are other UMG in game. #jira UE-33259 Change 3049177 on 2016/07/13 by Stephan.Jiang Fixing the "No Animation Selected" tag shows up after switching back from Graph to Designer. #UE-33016 Change 3049726 on 2016/07/14 by Stephan.Jiang Adding icons for terrain mirror tool #UE-20588 Change 3049957 on 2016/07/14 by Nick.Darnell Slate - Fixing a small bug in the virtual user function - was preventing getting the same virtual user multiple times if it had already been created. Adding an option to the widget component to control the focusabilty of the underlying slate window that's created to host the widget content. Adding an option to the widget interaction component to control if it should be simulating mouse input at all - use this to effectively disable hit testing, and changing hover states and the like. Change 3049994 on 2016/07/14 by Stephan.Jiang Set viewed animtion to current animtion after switching from Graph to Designer (This is for "No Animation Selected" showing up when switching) #UE-33016 Change 3050194 on 2016/07/14 by Stephan.Jiang Added ability to replace the widget the track is currently bound to Also includes changes in WidgetBlueprintEditor to send delegate to AnimationtabSummoner when switching from Graph to Designer #UE-31809 [CL 3050870 by Matt Kuhlenschmidt in Main branch]
2016-07-14 19:07:16 -04:00
void SDockingTabStack::OnFocusChanging( const FWeakWidgetPath& PreviousFocusPath, const FWidgetPath& NewWidgetPath, const FFocusEvent& InFocusEvent)
{
const TSharedPtr<SDockTab> ForegroundTab = TabWell->GetForegroundTab();
if ( ForegroundTab.IsValid() )
{
const bool bIsForegroundTabActive = NewWidgetPath.ContainsWidget( this );
if (bIsForegroundTabActive)
{
// If a widget inside this tab stack got focused, activate this tab.
FGlobalTabmanager::Get()->SetActiveTab( ForegroundTab );
ForegroundTab->ActivateInParent(ETabActivationCause::SetDirectly);
}
}
}
FReply SDockingTabStack::OnMouseButtonDown( const FGeometry& MyGeometry, const FPointerEvent& MouseEvent )
{
const TSharedPtr<SDockTab> ForegroundTab = TabWell->GetForegroundTab();
if ( ForegroundTab.IsValid() && !ForegroundTab->IsActive() )
{
FGlobalTabmanager::Get()->SetActiveTab( ForegroundTab );
#if PLATFORM_LINUX
// Don't stop further event handling in case the user wants to move this window.
// Returning FReply::Handled() here will prevent SWindow from seeing the event.
// FIXME: In some cases the foreground tab is never the active tab and this handler will consume every mouse down event.
return FReply::Unhandled();
#else
return FReply::Handled();
#endif
}
else
{
return FReply::Unhandled();
}
}
FReply SDockingTabStack::OnKeyDown(const FGeometry& MyGeometry, const FKeyEvent& InKeyEvent)
{
if (ActionList->ProcessCommandBindings(InKeyEvent))
{
return FReply::Handled();
}
return SDockingNode::OnKeyDown(MyGeometry, InKeyEvent);
}
FReply SDockingTabStack::OnUserAttemptingDock( SDockingNode::RelativeDirection Direction, const FDragDropEvent& DragDropEvent )
{
TSharedPtr<FDockingDragOperation> DragDropOperation = DragDropEvent.GetOperationAs<FDockingDragOperation>();
if ( DragDropOperation.IsValid() )
{
// We want to replace this placeholder with whatever is being dragged.
CreateNewTabStackBySplitting( Direction )->OpenTab( DragDropOperation->GetTabBeingDragged().ToSharedRef() );
HideCross();
return FReply::Handled();
}
else
{
return FReply::Unhandled();
}
}
TArray< TSharedRef<SDockTab> > SDockingTabStack::GetAllChildTabs() const
{
return GetTabs().AsArrayCopy();
}
void SDockingTabStack::CloseForegroundTab()
{
TSharedPtr<SDockTab> ForegroundTab = TabWell->GetForegroundTab();
if (ForegroundTab.IsValid())
{
ForegroundTab->RequestCloseTab();
}
}
Copying //UE4/Dev-Editor to //UE4/Dev-Main (Source: //UE4/Dev-Editor @ 4048875) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3808185 by Cody.Albert Added missing calls to FEditorViewportClient::AddReferencedObjects in overrides Change 3809824 by Michael.Trepka Improved the way we generate groups in Xcode project's source code navigator. They are now sorted alphabetically and have correct paths so Xcode no longer displays them in red. Also, added __INTELLISENSE__ to preprocessor definitions for indexing to improve indexing without game header files generated. Change 3810089 by Jamie.Dale Fixed PO files failing to import translations containing only whitespace Change 3811281 by Matt.Kuhlenschmidt PR #4331: Toggle SIE shortcut only in PIE (Contributed by projectgheist) Change 3813031 by Matt.Kuhlenschmidt Fix undocked tabs not dropping at users mouse location #jira UE-53427 Change 3813361 by Brandon.Schaefer Print what SDL video driver we are using Change 3818430 by Matt.Kuhlenschmidt PR #4365: Incorrect font name and forgotten undef (Contributed by projectgheist) Change 3818432 by Matt.Kuhlenschmidt PR #4366: Asset Color Strip updates correct on drag and drop (Contributed by projectgheist) Change 3818436 by Matt.Kuhlenschmidt PR #4367: Improved logging (Contributed by projectgheist) Change 3819886 by Matt.Kuhlenschmidt Add a way to optionally disable the warning about referenced actors being moved to other levels. Useful for bulk actor moves via script Change 3819888 by Matt.Kuhlenschmidt Avoid crashing when a window size becomes too large to render. Instead just ensure and clamp to the maximum allowed size. Avoids crashes where the screen dimensions are saved with super large numbers for unknown reasons Change 3821773 by Brandon.Schaefer Fix crash when importing to level #jira UE-31573 Change 3821892 by Jamie.Dale Improved the localized asset cooking so that it only cooks L10N variants if their source asset is cooked #jira UE-53010 Change 3823714 by Christina.TempelaarL #jira UE-52179 added support for grayscale PSD files Change 3826805 by Christina.TempelaarL #jira UE-49636 SceneCaptureComponent2D hidden actor and show only actors disabled in blueprints #jira UE-53445 SceneCaptureComponent2D hidden actors always disabled in details layout Change 3828444 by Anthony.Bills Add LXC container script for building third party libraries. The intention is that this should become the only way to rebuild the third party libraries that require system dependencies not included in the cross-compile toolchain and also to rebuild the toolchains. Other third party libraries without any system dependencies could be rebuilt via the cross-compile toolchains/UBT. This script has been tested running on CentOS 7 and Ubuntu 17.10. Buy default the x86 and x86_64 builds will be built against a CentOS 6 container (and targeting glibc 1.12) and the aarch64 and armhf builds will use an Ubuntu Ubuntu Trusty (14.04) but this is not yet complete. Change 3828754 by Brandon.Schaefer Linux: Fix gamepad thumbstick clicks not registering (github #4209 thanks J??rn M??ller) #jira UE-45722 #review-3828733 Arciel.Rekman Change 3830414 by Brandon.Schaefer Remove circular referencing to a parent window. Move to use AddSP vs AddRaw as well to be safe manually remove ourselves from the selection event delegate list due to Linux pending deletion of windows. Looks like this should fix UE-28322 as well which I've removed the work around placed in for that. #jira UE-53918 #review @michael.trepka, @matt.kuhlenschmidt, @arciel.rekman Change 3830916 by Brandon.Schaefer More verbose message about missing VK extensions (from Marcin Undak) #review-3830710 marcin.undak, arciel.rekman Change 3831339 by Brandon.Schaefer Default to as-needed for debug mode #jira none #review-3830658 Arciel.Rekman Change 3833102 by Jamie.Dale Re-added warning for duplicate package localization IDs when gathering asset localization Change 3834600 by Jamie.Dale Optimized asset registry filter intersection Change 3838024 by Brandon.Schaefer Remove tracking of CLion/CMake build files (from github #4346 thanks reapazor!) #jira UE-53551 #review-3835803 arciel.rekman Change 3839969 by Michael.Dupuis #jira UE-52289: When OnRegister is called on the component make sure our PerInstanceRenderData is up to date Prevent a possible crash if ClearInstanceSelection was called on a component with no PerInstanceRenderData existing Change 3840049 by Michael.Dupuis #jira UE-52975: Was always performing the equivalent of an Add, so now we use the Transform during the duplicate Change 3840071 by Matt.Kuhlenschmidt - Combine some shader params for slate in order to reduce overhead setting uniform buffers - Added better stats for slate draw call rendering - cleaned up huge lambda in Slate rendering main function so we can read the main slate rendering function again Change 3840291 by Michael.Dupuis #jira UE-53053: Was having a mismatch between the remove reorder and the actual remove Change 3840840 by Michael.Dupuis #jira UE-53944: Make sure the LOD generated is in the valid range to prevent the crash Change 3842072 by Michael.Dupuis #jira UE-50299: Include NumSubsection in calculation of component quad factor Change 3842487 by Christina.TempelaarL #jira UE-50573 HighResShot has wrong res in immersive mode Change 3845702 by Matt.Kuhlenschmidt PR #4381: DefaultASTCQualityBySpeed too high max value. (Contributed by kallehamalainen) Change 3845706 by Matt.Kuhlenschmidt PR #4388: Only restore window if minimized (Contributed by projectgheist) Change 3845993 by Christina.TempelaarL #jira UE-41558 crash when selecting PostProcessingVolumes in separate levels Change 3856395 by Brandon.Schaefer No longer using ALAudio on Linux #jira UE-53717 Change 3858324 by Michael.Trepka Preserve command line arguments in Xcode project when regenerating it Change 3858365 by Michael.Dupuis #jira UE-52049: There was a case where adding and removing multiple time would lead to reordering the instances and this would cause the regeneration of the random stream for all the reorded instances. Change 3858492 by Michael.Trepka Updated dependencies for Mac dSYM files so that only cross-referenced modules have their dSYMs recreated on subsequent builds instead of all modules. Change 3859470 by Michael.Trepka CIS fix. Make sure a scheme file exists before trying to read it when generating Xcode project. Change 3859900 by Joe.Conley Fix for "Check Out Assets" window not properly receiving focus. Change 3865218 by Michael.Dupuis #jira UE-45784: Exposed the possibility to edit LDMaxDrawDistance Change 3866957 by Michael.Dupuis #jira UE-42509: Added BodyInstance to ULandscapeSplineSegment and ULandscapeSplineControlPoint Deprecated bEnabledCollision and migrate data as it's replaced by BodyInstance Change 3867220 by Cody.Albert Fixed Project Launcher scrollbar to properly stay anchored at the bottom of the scroll area. Change 3869117 by Michael.Dupuis #jira UE-42509:Fixed compile error when not having editor data Change 3872478 by Arciel.Rekman Linux: disable PIE if compiler enables it by default. Change 3874786 by Michael.Dupuis #jira UE-46925: Remove the guessing functionality when importing a heightmap, and instead propose to the user valid size that can be used for the import through a combo button. Improved usability of the UI by disabling size field when no file was specified Change 3875859 by Jamie.Dale Implemented our own canonization for culture codes Change 3877604 by Cody.Albert We now validate actor names passed to SetActorLabel to ensure None isn't passed in, which can corrupt levels Change 3877777 by Nick.Shin PhysX build fix - this came from CL: 3809757 #jira UE-54924 Cannot rebuild Apex/PhysX/NvCloth .emscripten missing Change 3881693 by Alexis.Matte Fix local path search to not search in memory only #jira UE-55018 Change 3882512 by Michael.Dupuis #jira none : Fixed screen size calculation to take aspect ratio into account correctly Change 3886926 by Arciel.Rekman Linux: fixed checking clang settings during the cross-build (UE-55132). #jira UE-55132 Change 3887080 by Anthony.Bills Updated SDL2 build script. - Now allows compiling inside a CentOS 6 or Ubuntu 12.04 container with wayland support when using the ContainerBuildThirdParty.sh. - Added multiple build arch support to the BuildThirdParty script and pass this down to the SDL2 build script. Change 3887260 by Arciel.Rekman Linux: fix leaking process handles in the cross-toolchain. Change 3889072 by Brandon.Schaefer Fix RPath workaround, to better handle both cases #jira UE-55150 #review-3888119 @Arciel.Rekman, @Ben.Marsh Change 3892546 by Alexis.Matte Remove fbx exporter welded vertices options #jira UE-51575 Change 3893516 by Michael.Dupuis Remove static mesh instancing async buffer filling, as with all the changes made, it's no longer necessary, the cost of loading very large buffer is negligable Rebuild the occlusion tree when using foliage.DensityScale with something other than 1.0 Change 3894365 by Brandon.Schaefer Pass FileReference over a raw string to the LinkEnvironment #jira none #review-3894241 @Ben.Marsh, @Arciel.Rekman Change 3895251 by Brandon.Schaefer Use X11 pointer barriers to bound the cursor to a region over warping the pointers. Patch from Cengiz #jira UE-25615 #jira UE-30714 #review-3894886 @Arciel.Rekman Change 3897541 by Michael.Dupuis #jira UE-53787: Added guard if for some reason the material is null we should not try to draw using this material Change 3904143 by Rex.Hill #jira UE-55366: Fix crash when overwriting existing level during level save as #jira UE-42426: Map '_BuiltData' can now be deleted when selected at same time as map - Map '_BuiltData' package is now garbage collected when switching maps in the editor Change 3906373 by Brandon.Schaefer Fix splash image. Use alias format for big/little endian machines. #jira none Change 3906711 by Rex.Hill #jira UE-42426: BuiltData now deleted with maps Change 3907221 by Cody.Albert Add support for relative asset source paths in content plugins Change 3911670 by Alexis.Matte Fix assetimportdata creation owner #jira UE-55567 Change 3912382 by Anthony.Bills Linux: Add binaries for GoogleTest and add to BuildThirdParty script. Change 3914634 by Cody.Albert Added missing include that could cause compile errors if IWYU was disabled. Change 3916227 by Cody.Albert Fixing some cases where we check #ifdef WITH_EDITOR instead of #if WITH_EDITOR Change 3917245 by Michael.Dupuis #jira UE-35097: Fixed crash when creating a new landscape with 2x2 subsection and material containing grass spawning Change 3918331 by Anthony.Bills Linux: Bundled Mono - Explicilty pick libc.so.6 as libc.so is a linker script and store the config file directly. Change 3920191 by Rex.Hill #jira UE-44197 Fix saving sub-level level causing MapBuildData to be deleted Improved MapBuildData rename, move, duplicate, copy Change 3920333 by Matt.Kuhlenschmidt Render target clear color property now settable in editor #jira UE-55347 Change 3926094 by Michael.Dupuis #jira UE-51502: Added some min/max values to foliage and grass settings to prevent overflow/crash #coderevew jack.porter Change 3926243 by Michael.Dupuis #jira UE-54669: cleaned up invalid/duplicate shader and moved some shaders to appropriate list Change 3926760 by Jamie.Dale Added support for TTC/OTC fonts These can be used via a sub-face index on FFontData, which can be set via a new combo in the font editor. You can also see the cached list of sub-faces within a font file from the UFontFace asset. Change 3927793 by Anthony.Bills Mono: Remove SharpZipLib and references from bundled Mono. #review-3887212 @ben.marsh, @michael.trepka Change 3928029 by Anthony.Bills Linux: Add support for UnrealVersionSelector. - Supports using UVS to launch without a project file. This will then launch the selected engine's project wizard. - Linux UVS uses Slate for the version selection and error log dialogs. - Mime-types and desktop file support added to DesktopPlatformLinux to allow associating with UVS as per the Windows binary and git builds. - Icons added for Linux. #review-3882197 @arciel.rekman, @brandon.schaefer Change 3931293 by Alexis.Matte Add generic Levenshtein edit distance to core algo. This algorithm will help suggesting name matching when users have to resolve material name conflict when re-import fbx meshes. Add also plenty of automation tests for it. #jira none Change 3931436 by Arciel.Rekman Stop RHI thread before shutting down RHI. - Prevents crashes for some drivers that create TLS objects with destructors; those destructors will get called after the thread exited, but the library will already be unloaded on RHI shutdown. Change 3934287 by Alexis.Matte Fix crash when re-importing skeletal mesh. Skinned component render data resource is now release when re-importing. #jira none Change 3937585 by Lauren.Ridge Added labels to the colors stored in the theme bar. Change 3937738 by Alexis.Matte Make sure content browser do not show a preview asset created when we cancel an export animation preview #jira UE-49743 Change 3941345 by Michael.Dupuis #jira UE-26959: Prevent reusing multiple type the same grass type into the same material grass output node Change 3941453 by Michael.Dupuis #jira UE-47492: Added a guard to validate LayerIndex Change 3942065 by Jamie.Dale Fixed crash trying to use FSlateApplication when it wasn't available (eg, in a commandlet) Change 3942573 by Alexis.Matte Fix static analysis Change 3942623 by Michael.Dupuis #jira 0 Cast to ulong as TaskIndex * NumStripes could exceed an int limit and add an assert if the wraparound is negative Change 3942993 by Matt.Kuhlenschmidt PR #4547: Verify the return value of FT_New_Memory_Face (Contributed by jorgenpt) Change 3942998 by Matt.Kuhlenschmidt PR #4554: Cleanup log printing (Contributed by projectgheist) Change 3943003 by Matt.Kuhlenschmidt PR #4534: Prevent Fatal log when alt tabbing during a level save (Contributed by projectgheist) Change 3943011 by Matt.Kuhlenschmidt PR #4518: edit (Contributed by pdlogingithub) Change 3943027 by Matt.Kuhlenschmidt PR #4524: Notifications always render on the screen with the main viewport (Contributed by projectgheist) Change 3943074 by Matt.Kuhlenschmidt PR #4484: Add group actor to folder (Contributed by ggsharkmob) Change 3943079 by Matt.Kuhlenschmidt PR #4431: Git Plugin: replace usage of the 2 cli args "--work-tree" and "--git-dir" by "-C" (Contributed by SRombauts) Change 3943092 by Matt.Kuhlenschmidt PR #4434: Git plugin: configure the default remote URL 'origin' (Contributed by SRombauts) Change 3943132 by Matt.Kuhlenschmidt PR #4247: Add File picker to Git Path setting on GitSourceControl (Contributed by shiena) Change 3943141 by Matt.Kuhlenschmidt PR #4303: Fix ULevelExporterT3D so that it works in a commandlet (Contributed by DSDambuster) Change 3943349 by Jamie.Dale Cleaned up PR #4547 Made the assert non-fatal to avoid it being able to take down the editor if you load up a bad font. Fixed some code that was deleted during the merge. Change 3943976 by Michael.Trepka Copy of CL 3940687 Fixed long link times when building for Mac in Debug by passing -no_deduplicate flag to the linker, which is what Xcode does in Debug configs. #jira none Change 3944882 by Matt.Kuhlenschmidt Fix a few regressions with scene viewport activation locking can capturing the cursor in editor #jira UE-56080, UE-56081 Change 3947339 by Michael.Dupuis #jira UE-55664: Fixed undo/redo buffer handling so we remove from the beginning of the buffer during undo buffer where buffer is at max memory and from the end during redo operation. Fixed cancel also to re add removed transaction at the end or the start depending if we're doing a redo or undo operation Fixed the Undo History UI to listen to an event when the undo buffer changed instead of checking every frame, as when the buffer was full, no changes would occur, thus no UI update. Change 3948179 by Jamie.Dale Fixed monochromatic font rendering - All non-8bpp images are now converted to 8bpp images for processing in Slate. - We convert the gray color of any images not using 256 grays (eg, monochromatic images that use 2 grays). - Fixed a case where the temporary bitmap wasn't being deleted. - Fixed a case where the bitmap could be used after it was deleted. - Added a CVar (Slate.EnableFontAntiAliasing) to control whether you want anti-aliased (256 grayscale) rendering (default), or monochromatic (2 grayscale) rendering. Change 3949922 by Alexis.Matte Ensure fbx node name are not empty when loading a fbx file. I use the same naming convention as Maya #jira UE-56079 Change 3950202 by Rex.Hill Fix crash during editor asset automation tests. Now skips showing modal progress window when opening asset editor window. ActiveTopLevelWindow is not set when modal windows are open. #jira UE-56112 Change 3950484 by Michael.Dupuis #jira UE-52176: delete the Cluster tree when the builder is no longer needed Change 3954628 by Michael.Dupuis Bring back 4.19/4.19.1 Landscape changes Change 3957037 by Michael.Dupuis #jira UE-53343: Add foliage instances back when changing component size Changed the formulation for the Clip/Expand behavior to make it more explicit on what will happen Added SlowTask stuff to manage big landscape change Change 3959020 by Rex.Hill Rename/move file MallocLeakDetection.h Change 3960325 by Michael.Dupuis Fixed static analysis Change 3961416 by Michael.Dupuis #jira UE-46100: Exposed UseDynamicInstanceBuffer on Foliage type, so user can decide if they want to update them dynamically #jira UE-55092: Fixed the warning to appear when having resource array as empty but VB as set up Added data conssitency that when using Dynamic buffer, Keep CPU Access should also be true, even if implicitly it's already the case, now it's explicit Change 3962372 by Michael.Trepka Copy of CL 3884121 Fix for SProgressBar rendering incorreclty on Mac #jira UE-56241 Change 3964931 by Anthony.Bills Linux: Add cross-compiled binary of UVS Shipping. Change 3966719 by Matt.Kuhlenschmidt Fix parameters out of order here #jira UE-56399 Change 3966724 by Matt.Kuhlenschmidt PR #4585: Export symbols for the FDragTool (Contributed by Begounet) Change 3966734 by Matt.Kuhlenschmidt PR #4596: fix the slider issue of the HighResolutionScreenshot window (Contributed by mamoniem) Change 3966739 by Matt.Kuhlenschmidt Removed duplicated code #jira UE-56369 Change 3966744 by Matt.Kuhlenschmidt PR #4602: Fixes check for existing extensions when generating "All Extensions". (Contributed by PhilBax) Change 3966758 by Matt.Kuhlenschmidt PR #4604: Fixed an issue where the Modules and DebugTools tabs would be unrecognized after startup if docked in the level editor (Contributed by tstaples) Change 3966780 by Matt.Kuhlenschmidt Fix crash accessing graph node title widgets when objects have become stale. #jira UE-56442 Change 3966884 by Alexis.Matte Fix speedtree uninitialized values #jira none Change 3967568 by Alexis.Matte Do not override the screensize when importing a skeletal mesh, let the value set by the AddLodInfo function #jira UE-56493 Change 3968333 by Brandon.Schaefer Fix order of operation #jira UE-56400 Change 3969070 by Anthony.Bills Linux: Make sure to set the UE_ENGINE_DIRECTORY #jira UE-56503 #review-3966609 @arciel.rekman, @brandon.schaefer Change 3971431 by Michael.Dupuis #jira UE-56515: Fixed an issue where ForcedLOD > MaxLOD and make sure that LastLOD will at least contain current streamed in LOD. #jira UE-56517: When using ParallelInitView 1 there was a memory leak related to a reallocate that happen with the TArray of FMemstack Pass correctly LODDistanceFactor instead of View.LODScale as we do not want StaticMeshScale to affect us. Change 3971467 by Matt.Kuhlenschmidt Fixed crash deleting a texture with texture painting on it #jira UE-56994 Change 3971557 by Matt.Kuhlenschmidt Fix temporary exporter objects being potentially GC'd and causing crashes during export #jira UE-56981 Change 3971713 by Cody.Albert PR #4597: [FPS Template] Small null pointer check fix and cleanup (Contributed by TheCodez) Change 3971846 by Michael.Dupuis #jira UE-56517: Properly "round" the count so we have the right amount of memory reserved #jira UE-56515: Still had a edge case left, so when using forced lod i simply make sure the value is in valid range, and allocate all the required data for this range Change 3973035 by Nick.Atamas Line and Spline rendering changes: * Lines/Splines now use 1 UV channel to anti-alias (this channel can be used for texturing) * Anti-aliasing filter now adjusted based on resolution * Modified Line/Spline topology to accomodate new UV requirements * Disabled vertex snapping for anti-aliased lines/splines; previously vertexes were snapped, but vertex positions did not affect line rendering (behavior effectively unchanged) * Splines now adaptively subdivided to avoid certain edge-cases Change 3973345 by Nick.Atamas - Number tweaks to maintain previously perceived wire thickness in various editors. Change 3977764 by Rex.Hill MallocTBB no longer debug fills bytes in development configuration Change 3978713 by Arciel.Rekman UVS: Fix stale dependency. Change 3980520 by Matt.Kuhlenschmidt Fix typo #jira UE-57059 Change 3980557 by Matt.Kuhlenschmidt Fixed negative pie window sizes causing crashes #jira UE-57100 Change 3980565 by Matt.Kuhlenschmidt PR #4628: Fixed revert action, now correctly uses CanRevert() condition (Contributed by Kryofenix) Change 3980568 by Matt.Kuhlenschmidt PR #4626: UE-57111: Handle CaptureRegion for HighResShot in PIE (Contributed by projectgheist) Change 3980580 by Matt.Kuhlenschmidt PR #4567: [Editor UI] Pick Parent Class dialog: set keyboard focus and handle Escape & Enter (Contributed by SRombauts) Change 3980581 by Matt.Kuhlenschmidt PR #4565: [Editor UI] Add C++ Class dialog: set keyboard focus and handle Escape & Enter (Contributed by SRombauts) Change 3981341 by Jamie.Dale Re-added GIsEditor condition around package namespace access #jira UE-55816 Change 3981808 by Ryan.Brucks Added LandscapeProxy functions to push RenderTarget data to Heightmaps and Weightmaps Change 3983344 by Jack.Porter #include fixes for CL 3981808 #jira 0 Change 3983391 by Jack.Porter One for #include fix for CL 3981808 #jira 0 Change 3983562 by Michael.Dupuis #jira UE-53787: Make sure the material array is valid before trying to generate static mesh batch element #jira UE-56451: Instead of asserting, simply skip this element as it had invalid custom data anyway, so we can't render it Change 3983600 by Matt.Kuhlenschmidt PR #4289: Pragma Once/Include guard cleanup (Contributed by projectgheist) Change 3983637 by Matt.Kuhlenschmidt PR #4408: Add a template pregeneration hook (Contributed by mhutch) Change 3984392 by Michael.Dupuis #jira UE-56314: Correctly apply LODBias on calculated LOD Fixed some Landscape popping that could occur when we were forcing a LOD that didn't match the component screen size Change 3984950 by Rex.Hill Optimized texture import speed 2-3x depending on number of cpu cores and image size Change 3985033 by Rex.Hill File drag and drop is more quick to respond when editor is in background #jira UE-57192 Change 3986218 by Jack.Porter Missing template parameter fix for CL 3981808 #jira 0 Change 3986376 by Michael.Dupuis #jira UE-56453: Do not use the CreateDynamicMaterialInstance as it will change the parenting of the actor used material, instead simply use the function to generate the MID and parent it correctly. Change 3989391 by Matt.Kuhlenschmidt Fix constant FName lookup in level editor when checking various states of level editor tabs Change 3990182 by Rex.Hill Optimize editor startup time: GetCurrentProjectModules Change 3990365 by Alexis.Matte Fix crash with spline mesh when the attach SM get a new imported LOD #jira UE-57119 Change 3991151 by Rex.Hill VR Editor module now waits to load images until VR mode activated in editor. Saves 0.4 seconds of editor startup time. Change 3991164 by Rex.Hill Optimize editor startup time: FindModulePaths() - Invalidates cache when search paths added - Use cache during wildcard searches containing * and ? Change 3995366 by Anthony.Bills Update BuildCrossToolchain script to allow a Linux host targeting multiple Linux architectures (including the hosts arch). Added a patch to support a gcc 4.8.5 based toolchain on windows (potentially useful for users crosscompiling using GCC and libstdc++ and targeting CentOS 7). #review-3848487 @arciel.rekman, @brandon.schaefer Change 3996109 by Jamie.Dale Reworked BP error messages to be more localization friendly #jira UETOOL-1356 Change 3996123 by Michael.Dupuis #jira UE-57427: Update random color on load of the component #jira UE-56272: Change 3996279 by Merritt.Cely Removed hardware survey from editor #jira an-2243 #tests launched the editor Change 3996626 by Alexis.Matte Fix crash when SkeletalMesh tangent buffer is empty after the build and we serialize the tangent array. #jira UE-57227 Change 3996663 by Max.Chen Sequencer: Fix fbx animation export - rotation and scale channels were flipped. #jira UE-57509 #jira UE-57512 #jira UE-57514 Change 4000331 by Brandon.Schaefer Add a GFNameTableForDebuggerVisualizers_MT back only for Unix under the Core module #review-3999426 @Arciel.Rekman #jira UE-55298 Change 4000450 by Matt.Kuhlenschmidt Another guard against a factory being destroyed during import #jira UE-57674 Change 4000459 by Matt.Kuhlenschmidt Added check for valid game viewport to see if this is the problem in UE-57677 #jira UE-57677 Change 4000493 by Matt.Kuhlenschmidt Remove stale GC'd components when refreshing paint mode to prevent crashes #jira UE-52618 Change 4000683 by Jamie.Dale Fixed target being incorrect when added via the Localization Dashboard #jira UE-57588 Change 4000738 by Alexis.Matte Add a section settings to ignore the section when reducing #jira UE-52580 Change 4000920 by Alexis.Matte PR #4219: Fix for SColorGradingPicker preventing PIE (Contributed by projectgheist) author projectgheist projectgheist@gmail.com Change 4001432 by Alexis.Matte Add a fbx re-import resolve material windows, user can now help resolving the material in case the importer fail to found a match. Change 4001447 by Jamie.Dale Fixed property table not working with multi-line editable text Change 4001449 by Jamie.Dale PR #4531: Localization multiline fix (Contributed by Lallapallooza) Change 4001557 by Alexis.Matte Fix a check in fbx scene importer, in case the user import a fbx LOD group with no geometry under it #jira UE-57676 Change 4002539 by Alexis.Matte Make the fbx importer global transform options persist in the config file #jira UE-50897 Change 4002562 by Anthony.Bills Linux: Enable UVS registering for git builds only and remove old Mono and pre-UVS script code. Change 4003241 by Alexis.Matte Fix the staticmesh import socket logic, it was duplicating socket when re-importing #jira UE-53635 Change 4003368 by Michael.Dupuis #jira UE-57276: #jira UE-56239: #jira UE-54547: Make sure we can't go above MaxLOD even for texture streaming Change 4003534 by Alexis.Matte Fix re-import mesh name match #jira UE-56485 Change 4005069 by Michael.Dupuis #jira UE-57594: Add a guard to prevent crash if we have an invalid resource for the heightmap texture (happen when component is deleted, for example) Change 4005468 by Lauren.Ridge Widgets should not be removed from parent when they are pending GC #jira UE-52260 Change 4006075 by Michael.Dupuis Fixed foliage density scaling to be applied even in editor, except in Foliage edit mode. Change 4006332 by Arciel.Rekman UBT: Adding support for bundled toolchains on Linux. - Authored by Anthony Bills, with modifications. Change 4007528 by Matt.Kuhlenschmidt PR #4665: Source control History Window: enlarge column Description (Contributed by SRombauts) Change 4007531 by Matt.Kuhlenschmidt PR #4656: UE-57200: Ignore reference to actor if same actor (Contributed by projectgheist) Change 4007548 by Matt.Kuhlenschmidt PR #4664: Set Password on EditableText (Contributed by projectgheist) Change 4007730 by Brandon.Schaefer Add a new way to symbolicate symbols for a crash at runtime Two new tools are used for this. 1) dump_syms Will generate a symbol file, which is to large to read from at runtime 2) BreakpadSymbolEncoder Takes the dump_syms file and encodes it in such a way we can do a binary search at runtime to find a Program Counter to a symbol we are looking for #review @Arciel.Rekman, @Anthony.Bills #jira UETOOL-1206 Change 4008429 by Lauren.Ridge Fixing undo bug when deleting user widgets from the widget tree #jira UE-56394 Change 4008581 by Cody.Albert Reinitialize needs to set the audio and caption tracks in addition to the video track or the currently selected track will be lost Change 4009605 by Lauren.Ridge Added Recently Opened assets filter under Other Filters in the Content Browser Change 4009797 by Anthony.Bills Linux: Update MultiArchRoot path to not cache. Move in tree toolchain location to match UBT convention and make sure the MultiArchRoot is checked before the system. Change 4010266 by Michael.Trepka Copy of CL 4010052 Moved some key event handling calls to the main thread on Mac to satisfy new macOS requirements #jira UE-54623 Change 4010838 by Arciel.Rekman Linux: limit allowed clang versions to 3.8-6.0. Change 4012160 by Matt.Kuhlenschmidt Changed the messagiing on the crash reporter dialog to reflect new bug submission process #jira UE-56475 Change 4013432 by Lauren.Ridge Fix for non-assets attempting to add to the Content Browser's recent filter #jira none Change 4016353 by Cody.Albert Improved copy/paste behavior for UMG editor: -Pasting in the designer while a canvas is selected will place the new widget under the cursor -Pasting multiple times while a canvas panel is selected in the hierarchy view will cascade the widgets starting at 0,0 -Pasting while something that isn't a panel is selected is now allowed, and will cascade the pasted widgets off the position of the selected widget (as siblings) -Newly pasted widgets will now be selected automatically -Pasting multiple widgets at once will try and maintain their relative positions if they're being pasted into a canvas panel Change 4017274 by Matt.Kuhlenschmidt Added some guards against invalid property handle access #jira UE-58026 Change 4017295 by Matt.Kuhlenschmidt Fix trying to apply delta to a mix of scene components and non scene components. Its acceptable to not have scene components in the selected component list #jira UE-57980 Change 4022021 by Rex.Hill Fix for audio desync and video fast-forwarding behavior. There long delay (500ms+) until samples start arriving unless we use RequestedTimeCurrent. After delay occurs samples begin arriving at accelerated speed until caught up to playback time leading to visual and audio problems. #jira UE-54592 Change 4023608 by Brandon.Schaefer Downscale memory if we dont have enough #jira UE-58073 #review-4023609 @Arciel.Rekman Change 4025618 by Michael.Dupuis #jira UE-58036: Apply world position offset correctly Change 4025661 by Michael.Dupuis #jira UE-57681: Added guard to prevent possible crash if either we have an invalid material or the material parent is invalid Change 4025675 by Michael.Dupuis #jira UE-52919: if no actor was found in the level skip moving the instances Change 4026336 by Brandon.Schaefer Manually generate *.sym files for Physx3 This should be done in the BuildPhysx file Change 4026627 by Rex.Hill Fix memory leak fix when playing video and main thread blocks #jira UE-57873 Change 4029635 by Yannick.Lange Fix VRMode loading assets only when VRMode starts. #jira UE-57797 Change 4030288 by Jamie.Dale Null FreeType face on load error to prevent potential crashes Change 4030782 by Rex.Hill Fix save BuildData after changing reflection capture in a new level #jira UE-57949 Change 4033560 by Michael.Dupuis #jira UE-57710: Added some guard to prevent crash/assert Change 4034244 by Michael.Trepka Copy of CL 4034116 Fixed arrow keys handling on Mac Change 4034708 by Lauren.Ridge PR #4699: UE-8508: Update config file to keep folder color in sync (Contributed by projectgheist) #jira UE-58251 Change 4034746 by Lauren.Ridge PR #4701: Add option to close tabs to the right of the active tab (Contributed by jesseyeh) #jira UE-58277 Change 4034873 by Lauren.Ridge Fix for not being able to enter simulate more than once in a row. #jira UE-58261 Change 4034922 by Lauren.Ridge PR #4387: Commands mapped in incorrect location (Contributed by projectgheist) #jira UE-53752 Change 4035484 by Lauren.Ridge Tentative fix for crash on pasting comment. All other accesses to UMaterialExpressionComment check its validity first #jira UE-57979 Change 4037111 by Brandon.Schaefer Try to use absolute path from dladdr if we can to find the sym files #jira UE-57858 #review-4013964 @Arciel.Rekman Change 4037366 by Brandon.Schaefer Dont check the command line before its inited #review-4037183 @Arciel.Rekman #jira UE-57947 Change 4037418 by Alexis.Matte Remove the checkSlow when adding polygon Change 4037745 by Brandon.Schaefer Use as much info as we can during ensure Just as fast as the old way but with more information #review-4037495 @Arciel.Rekman #jira UE-47770 Change 4037816 by Rex.Hill Import mesh optimization, BuildVertexBuffer Change 4037957 by Arciel.Rekman UBT: make it easier to try XGE on Linux. Change 4038401 by Lauren.Ridge Reordering is now correctly handled by undo. Reordering and then undoing will no longer cause a "ghost" widget to also be part of the tree. #jira UE-58206 Change 4039612 by Anthony.Bills Unix: Check for null StdOut and ReturnCode parameters, otherwise the code may dereference a null variable when the process fails to create. Change 4039754 by Alexis.Matte Remove the Render meshdescription, no need to carry this temporary data in the staticmesh Change 4039806 by Anthony.Bills Linux: UVS fixes - Update to use new Unix base platform. - Use bin/bash instead of usr/bin/bash (may need revisiting later). - Recompile Shipping version with changes. - Update Setup.sh to run from correct CWD (due to current limitations in the relative directory handling). Change 4039883 by Lauren.Ridge PR #4576: Save editor config to file first time a fav folder is added in the co. (Contributed by projectgheist) #jira UE-56249 Change 4040117 by Lauren.Ridge Replacing widgets should now also clear out references to the widget #jira UE-57045 Change 4040790 by Lauren.Ridge Tentative fix for Project Launcher crash when platform info not found #jira UE-58371 Change 4042136 by Arciel.Rekman UBT: refactor of LinuxToolChain to make it leaner and more configurable. - Made it possible to override SDK passed to the toolchain. - Simplified the code by using the same executable names on Windows and Linux (as .exe is optional), except where File.Exists() is needed (also remove a few) - Some minor renames to make it clear that SystemSDK means system compiler (which otherwise may be unclear) - Made changes to accomodate the new debug format. Change 4042930 by Brandon.Schaefer GCoreObjectArrayForDebugVisualizers was changed to FChunkedFixedUObjectArray reflect that in the Unix part Change 4043539 by Brandon.Schaefer Fix callsite address being used at times for the Program Counter Fix only reporting the actual callstack and not the crash handling callstacks #review-4041370 @Arciel.Rekman #jira UE-58477 Change 4043674 by Arciel.Rekman Added Linux ARM64 (AArch64) lib for MikkTSpace. - Now required for standalone games due to EditableMesh runtime plugin. Change 4043677 by Arciel.Rekman Linux: updated ARM64 (AArch64) version of SDL2. Change 4043690 by Arciel.Rekman Linux: allow compiling VulkanRHI for AArch64 (ARM64). Change 4045467 by Brandon.Schaefer Add Anthony Bills SetupToolchain.sh script Used to download the latest toolchain Change 4045940 by Michael.Trepka Return empty list instead of null from Mac GetDebugInfoExtensions() in UBT #jira UE-58470 Change 4046542 by Alexis.Matte Fix skeletal re-import material assignation #jira UE-58551 Change 4048262 by Brandon.Schaefer Rebuild SDL with pulse audio libs #jira UE-58577 Change 3887093 by Anthony.Bills Add bundled mono binary for Linux. - Unify some of the script structure across Mac and Linux. - This currently uses the same mono C# assemblies as Mac to keep the additional source size down. - If the Mac mono version is updated, the Linux version will also need to be updated to match the same mono git revision. - The system version of mono can still be used by setting the UE_USE_SYSTEM_MONO env var to 1. Change 4003226 by Michael.Dupuis Refactored StaticMeshInstancing to now use a command buffer to communicate with the GPU to prevent concurent access issues. It's mostly used in Editor or if runtime changes occur, otherwise the data is built and send to the GPU directly without keeping CPU copy. Changed how the density scaling was applied to be more optimal Removed UseDynamicInstanceBuffer as the concept is now irrelevant Change 3833097 by Jamie.Dale Localization Pipeline Optimization Manifest/Archives: Added FLocKey to keep an immutable string and its hash. This is used in several places within manifests and archives to minimize string hashing. FLocTextHelper also now take these in its API. This also fixes some places where manifests were being iterated by key rather than source string (as this was causing redundant work). Portable Object: Cleaned up a lot of redundant code, changed things to use FLocKey, and simplified a lot of string manipulation to use algorithms instead (which proved to be faster). Asset Gathering: Optimized the way garbage collection runs while gathering from assets so that we avoid purging assets that we still need to gather from (or are still active dependencies). This also sorts the assets so that we can try and evict dependencies from memory as soon as possible (in much the same way that the cooker does). Automation: The gather commandlet can now take multiple configs to process. This is used by automation to avoid starting the editor several times (which can save a significant amount of start-up overhead). [CL 4052378 by Lauren Ridge in Main branch]
2018-05-04 14:14:10 -04:00
void SDockingTabStack::CloseTabsToRightOfForegroundTab(ETabsToClose TabsToClose)
{
TSharedPtr<SDockTab> ForegroundTab = TabWell->GetForegroundTab();
if (ForegroundTab.IsValid())
{
int32 DestroyIndex = TabWell->GetForegroundTabIndex() + 1;
int NumTabsToClose = TabWell->GetNumTabs() - TabWell->GetForegroundTabIndex() - 1;
while ((NumTabsToClose > 0) && (DestroyIndex < TabWell->GetNumTabs()))
{
const TSharedRef<SDockTab>& Tab = TabWell->GetTabs()[DestroyIndex];
const ETabRole VisualTabRole = Tab->GetVisualTabRole();
Copying //UE4/Dev-Editor to //UE4/Dev-Main (Source: //UE4/Dev-Editor @ 4048875) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3808185 by Cody.Albert Added missing calls to FEditorViewportClient::AddReferencedObjects in overrides Change 3809824 by Michael.Trepka Improved the way we generate groups in Xcode project's source code navigator. They are now sorted alphabetically and have correct paths so Xcode no longer displays them in red. Also, added __INTELLISENSE__ to preprocessor definitions for indexing to improve indexing without game header files generated. Change 3810089 by Jamie.Dale Fixed PO files failing to import translations containing only whitespace Change 3811281 by Matt.Kuhlenschmidt PR #4331: Toggle SIE shortcut only in PIE (Contributed by projectgheist) Change 3813031 by Matt.Kuhlenschmidt Fix undocked tabs not dropping at users mouse location #jira UE-53427 Change 3813361 by Brandon.Schaefer Print what SDL video driver we are using Change 3818430 by Matt.Kuhlenschmidt PR #4365: Incorrect font name and forgotten undef (Contributed by projectgheist) Change 3818432 by Matt.Kuhlenschmidt PR #4366: Asset Color Strip updates correct on drag and drop (Contributed by projectgheist) Change 3818436 by Matt.Kuhlenschmidt PR #4367: Improved logging (Contributed by projectgheist) Change 3819886 by Matt.Kuhlenschmidt Add a way to optionally disable the warning about referenced actors being moved to other levels. Useful for bulk actor moves via script Change 3819888 by Matt.Kuhlenschmidt Avoid crashing when a window size becomes too large to render. Instead just ensure and clamp to the maximum allowed size. Avoids crashes where the screen dimensions are saved with super large numbers for unknown reasons Change 3821773 by Brandon.Schaefer Fix crash when importing to level #jira UE-31573 Change 3821892 by Jamie.Dale Improved the localized asset cooking so that it only cooks L10N variants if their source asset is cooked #jira UE-53010 Change 3823714 by Christina.TempelaarL #jira UE-52179 added support for grayscale PSD files Change 3826805 by Christina.TempelaarL #jira UE-49636 SceneCaptureComponent2D hidden actor and show only actors disabled in blueprints #jira UE-53445 SceneCaptureComponent2D hidden actors always disabled in details layout Change 3828444 by Anthony.Bills Add LXC container script for building third party libraries. The intention is that this should become the only way to rebuild the third party libraries that require system dependencies not included in the cross-compile toolchain and also to rebuild the toolchains. Other third party libraries without any system dependencies could be rebuilt via the cross-compile toolchains/UBT. This script has been tested running on CentOS 7 and Ubuntu 17.10. Buy default the x86 and x86_64 builds will be built against a CentOS 6 container (and targeting glibc 1.12) and the aarch64 and armhf builds will use an Ubuntu Ubuntu Trusty (14.04) but this is not yet complete. Change 3828754 by Brandon.Schaefer Linux: Fix gamepad thumbstick clicks not registering (github #4209 thanks J??rn M??ller) #jira UE-45722 #review-3828733 Arciel.Rekman Change 3830414 by Brandon.Schaefer Remove circular referencing to a parent window. Move to use AddSP vs AddRaw as well to be safe manually remove ourselves from the selection event delegate list due to Linux pending deletion of windows. Looks like this should fix UE-28322 as well which I've removed the work around placed in for that. #jira UE-53918 #review @michael.trepka, @matt.kuhlenschmidt, @arciel.rekman Change 3830916 by Brandon.Schaefer More verbose message about missing VK extensions (from Marcin Undak) #review-3830710 marcin.undak, arciel.rekman Change 3831339 by Brandon.Schaefer Default to as-needed for debug mode #jira none #review-3830658 Arciel.Rekman Change 3833102 by Jamie.Dale Re-added warning for duplicate package localization IDs when gathering asset localization Change 3834600 by Jamie.Dale Optimized asset registry filter intersection Change 3838024 by Brandon.Schaefer Remove tracking of CLion/CMake build files (from github #4346 thanks reapazor!) #jira UE-53551 #review-3835803 arciel.rekman Change 3839969 by Michael.Dupuis #jira UE-52289: When OnRegister is called on the component make sure our PerInstanceRenderData is up to date Prevent a possible crash if ClearInstanceSelection was called on a component with no PerInstanceRenderData existing Change 3840049 by Michael.Dupuis #jira UE-52975: Was always performing the equivalent of an Add, so now we use the Transform during the duplicate Change 3840071 by Matt.Kuhlenschmidt - Combine some shader params for slate in order to reduce overhead setting uniform buffers - Added better stats for slate draw call rendering - cleaned up huge lambda in Slate rendering main function so we can read the main slate rendering function again Change 3840291 by Michael.Dupuis #jira UE-53053: Was having a mismatch between the remove reorder and the actual remove Change 3840840 by Michael.Dupuis #jira UE-53944: Make sure the LOD generated is in the valid range to prevent the crash Change 3842072 by Michael.Dupuis #jira UE-50299: Include NumSubsection in calculation of component quad factor Change 3842487 by Christina.TempelaarL #jira UE-50573 HighResShot has wrong res in immersive mode Change 3845702 by Matt.Kuhlenschmidt PR #4381: DefaultASTCQualityBySpeed too high max value. (Contributed by kallehamalainen) Change 3845706 by Matt.Kuhlenschmidt PR #4388: Only restore window if minimized (Contributed by projectgheist) Change 3845993 by Christina.TempelaarL #jira UE-41558 crash when selecting PostProcessingVolumes in separate levels Change 3856395 by Brandon.Schaefer No longer using ALAudio on Linux #jira UE-53717 Change 3858324 by Michael.Trepka Preserve command line arguments in Xcode project when regenerating it Change 3858365 by Michael.Dupuis #jira UE-52049: There was a case where adding and removing multiple time would lead to reordering the instances and this would cause the regeneration of the random stream for all the reorded instances. Change 3858492 by Michael.Trepka Updated dependencies for Mac dSYM files so that only cross-referenced modules have their dSYMs recreated on subsequent builds instead of all modules. Change 3859470 by Michael.Trepka CIS fix. Make sure a scheme file exists before trying to read it when generating Xcode project. Change 3859900 by Joe.Conley Fix for "Check Out Assets" window not properly receiving focus. Change 3865218 by Michael.Dupuis #jira UE-45784: Exposed the possibility to edit LDMaxDrawDistance Change 3866957 by Michael.Dupuis #jira UE-42509: Added BodyInstance to ULandscapeSplineSegment and ULandscapeSplineControlPoint Deprecated bEnabledCollision and migrate data as it's replaced by BodyInstance Change 3867220 by Cody.Albert Fixed Project Launcher scrollbar to properly stay anchored at the bottom of the scroll area. Change 3869117 by Michael.Dupuis #jira UE-42509:Fixed compile error when not having editor data Change 3872478 by Arciel.Rekman Linux: disable PIE if compiler enables it by default. Change 3874786 by Michael.Dupuis #jira UE-46925: Remove the guessing functionality when importing a heightmap, and instead propose to the user valid size that can be used for the import through a combo button. Improved usability of the UI by disabling size field when no file was specified Change 3875859 by Jamie.Dale Implemented our own canonization for culture codes Change 3877604 by Cody.Albert We now validate actor names passed to SetActorLabel to ensure None isn't passed in, which can corrupt levels Change 3877777 by Nick.Shin PhysX build fix - this came from CL: 3809757 #jira UE-54924 Cannot rebuild Apex/PhysX/NvCloth .emscripten missing Change 3881693 by Alexis.Matte Fix local path search to not search in memory only #jira UE-55018 Change 3882512 by Michael.Dupuis #jira none : Fixed screen size calculation to take aspect ratio into account correctly Change 3886926 by Arciel.Rekman Linux: fixed checking clang settings during the cross-build (UE-55132). #jira UE-55132 Change 3887080 by Anthony.Bills Updated SDL2 build script. - Now allows compiling inside a CentOS 6 or Ubuntu 12.04 container with wayland support when using the ContainerBuildThirdParty.sh. - Added multiple build arch support to the BuildThirdParty script and pass this down to the SDL2 build script. Change 3887260 by Arciel.Rekman Linux: fix leaking process handles in the cross-toolchain. Change 3889072 by Brandon.Schaefer Fix RPath workaround, to better handle both cases #jira UE-55150 #review-3888119 @Arciel.Rekman, @Ben.Marsh Change 3892546 by Alexis.Matte Remove fbx exporter welded vertices options #jira UE-51575 Change 3893516 by Michael.Dupuis Remove static mesh instancing async buffer filling, as with all the changes made, it's no longer necessary, the cost of loading very large buffer is negligable Rebuild the occlusion tree when using foliage.DensityScale with something other than 1.0 Change 3894365 by Brandon.Schaefer Pass FileReference over a raw string to the LinkEnvironment #jira none #review-3894241 @Ben.Marsh, @Arciel.Rekman Change 3895251 by Brandon.Schaefer Use X11 pointer barriers to bound the cursor to a region over warping the pointers. Patch from Cengiz #jira UE-25615 #jira UE-30714 #review-3894886 @Arciel.Rekman Change 3897541 by Michael.Dupuis #jira UE-53787: Added guard if for some reason the material is null we should not try to draw using this material Change 3904143 by Rex.Hill #jira UE-55366: Fix crash when overwriting existing level during level save as #jira UE-42426: Map '_BuiltData' can now be deleted when selected at same time as map - Map '_BuiltData' package is now garbage collected when switching maps in the editor Change 3906373 by Brandon.Schaefer Fix splash image. Use alias format for big/little endian machines. #jira none Change 3906711 by Rex.Hill #jira UE-42426: BuiltData now deleted with maps Change 3907221 by Cody.Albert Add support for relative asset source paths in content plugins Change 3911670 by Alexis.Matte Fix assetimportdata creation owner #jira UE-55567 Change 3912382 by Anthony.Bills Linux: Add binaries for GoogleTest and add to BuildThirdParty script. Change 3914634 by Cody.Albert Added missing include that could cause compile errors if IWYU was disabled. Change 3916227 by Cody.Albert Fixing some cases where we check #ifdef WITH_EDITOR instead of #if WITH_EDITOR Change 3917245 by Michael.Dupuis #jira UE-35097: Fixed crash when creating a new landscape with 2x2 subsection and material containing grass spawning Change 3918331 by Anthony.Bills Linux: Bundled Mono - Explicilty pick libc.so.6 as libc.so is a linker script and store the config file directly. Change 3920191 by Rex.Hill #jira UE-44197 Fix saving sub-level level causing MapBuildData to be deleted Improved MapBuildData rename, move, duplicate, copy Change 3920333 by Matt.Kuhlenschmidt Render target clear color property now settable in editor #jira UE-55347 Change 3926094 by Michael.Dupuis #jira UE-51502: Added some min/max values to foliage and grass settings to prevent overflow/crash #coderevew jack.porter Change 3926243 by Michael.Dupuis #jira UE-54669: cleaned up invalid/duplicate shader and moved some shaders to appropriate list Change 3926760 by Jamie.Dale Added support for TTC/OTC fonts These can be used via a sub-face index on FFontData, which can be set via a new combo in the font editor. You can also see the cached list of sub-faces within a font file from the UFontFace asset. Change 3927793 by Anthony.Bills Mono: Remove SharpZipLib and references from bundled Mono. #review-3887212 @ben.marsh, @michael.trepka Change 3928029 by Anthony.Bills Linux: Add support for UnrealVersionSelector. - Supports using UVS to launch without a project file. This will then launch the selected engine's project wizard. - Linux UVS uses Slate for the version selection and error log dialogs. - Mime-types and desktop file support added to DesktopPlatformLinux to allow associating with UVS as per the Windows binary and git builds. - Icons added for Linux. #review-3882197 @arciel.rekman, @brandon.schaefer Change 3931293 by Alexis.Matte Add generic Levenshtein edit distance to core algo. This algorithm will help suggesting name matching when users have to resolve material name conflict when re-import fbx meshes. Add also plenty of automation tests for it. #jira none Change 3931436 by Arciel.Rekman Stop RHI thread before shutting down RHI. - Prevents crashes for some drivers that create TLS objects with destructors; those destructors will get called after the thread exited, but the library will already be unloaded on RHI shutdown. Change 3934287 by Alexis.Matte Fix crash when re-importing skeletal mesh. Skinned component render data resource is now release when re-importing. #jira none Change 3937585 by Lauren.Ridge Added labels to the colors stored in the theme bar. Change 3937738 by Alexis.Matte Make sure content browser do not show a preview asset created when we cancel an export animation preview #jira UE-49743 Change 3941345 by Michael.Dupuis #jira UE-26959: Prevent reusing multiple type the same grass type into the same material grass output node Change 3941453 by Michael.Dupuis #jira UE-47492: Added a guard to validate LayerIndex Change 3942065 by Jamie.Dale Fixed crash trying to use FSlateApplication when it wasn't available (eg, in a commandlet) Change 3942573 by Alexis.Matte Fix static analysis Change 3942623 by Michael.Dupuis #jira 0 Cast to ulong as TaskIndex * NumStripes could exceed an int limit and add an assert if the wraparound is negative Change 3942993 by Matt.Kuhlenschmidt PR #4547: Verify the return value of FT_New_Memory_Face (Contributed by jorgenpt) Change 3942998 by Matt.Kuhlenschmidt PR #4554: Cleanup log printing (Contributed by projectgheist) Change 3943003 by Matt.Kuhlenschmidt PR #4534: Prevent Fatal log when alt tabbing during a level save (Contributed by projectgheist) Change 3943011 by Matt.Kuhlenschmidt PR #4518: edit (Contributed by pdlogingithub) Change 3943027 by Matt.Kuhlenschmidt PR #4524: Notifications always render on the screen with the main viewport (Contributed by projectgheist) Change 3943074 by Matt.Kuhlenschmidt PR #4484: Add group actor to folder (Contributed by ggsharkmob) Change 3943079 by Matt.Kuhlenschmidt PR #4431: Git Plugin: replace usage of the 2 cli args "--work-tree" and "--git-dir" by "-C" (Contributed by SRombauts) Change 3943092 by Matt.Kuhlenschmidt PR #4434: Git plugin: configure the default remote URL 'origin' (Contributed by SRombauts) Change 3943132 by Matt.Kuhlenschmidt PR #4247: Add File picker to Git Path setting on GitSourceControl (Contributed by shiena) Change 3943141 by Matt.Kuhlenschmidt PR #4303: Fix ULevelExporterT3D so that it works in a commandlet (Contributed by DSDambuster) Change 3943349 by Jamie.Dale Cleaned up PR #4547 Made the assert non-fatal to avoid it being able to take down the editor if you load up a bad font. Fixed some code that was deleted during the merge. Change 3943976 by Michael.Trepka Copy of CL 3940687 Fixed long link times when building for Mac in Debug by passing -no_deduplicate flag to the linker, which is what Xcode does in Debug configs. #jira none Change 3944882 by Matt.Kuhlenschmidt Fix a few regressions with scene viewport activation locking can capturing the cursor in editor #jira UE-56080, UE-56081 Change 3947339 by Michael.Dupuis #jira UE-55664: Fixed undo/redo buffer handling so we remove from the beginning of the buffer during undo buffer where buffer is at max memory and from the end during redo operation. Fixed cancel also to re add removed transaction at the end or the start depending if we're doing a redo or undo operation Fixed the Undo History UI to listen to an event when the undo buffer changed instead of checking every frame, as when the buffer was full, no changes would occur, thus no UI update. Change 3948179 by Jamie.Dale Fixed monochromatic font rendering - All non-8bpp images are now converted to 8bpp images for processing in Slate. - We convert the gray color of any images not using 256 grays (eg, monochromatic images that use 2 grays). - Fixed a case where the temporary bitmap wasn't being deleted. - Fixed a case where the bitmap could be used after it was deleted. - Added a CVar (Slate.EnableFontAntiAliasing) to control whether you want anti-aliased (256 grayscale) rendering (default), or monochromatic (2 grayscale) rendering. Change 3949922 by Alexis.Matte Ensure fbx node name are not empty when loading a fbx file. I use the same naming convention as Maya #jira UE-56079 Change 3950202 by Rex.Hill Fix crash during editor asset automation tests. Now skips showing modal progress window when opening asset editor window. ActiveTopLevelWindow is not set when modal windows are open. #jira UE-56112 Change 3950484 by Michael.Dupuis #jira UE-52176: delete the Cluster tree when the builder is no longer needed Change 3954628 by Michael.Dupuis Bring back 4.19/4.19.1 Landscape changes Change 3957037 by Michael.Dupuis #jira UE-53343: Add foliage instances back when changing component size Changed the formulation for the Clip/Expand behavior to make it more explicit on what will happen Added SlowTask stuff to manage big landscape change Change 3959020 by Rex.Hill Rename/move file MallocLeakDetection.h Change 3960325 by Michael.Dupuis Fixed static analysis Change 3961416 by Michael.Dupuis #jira UE-46100: Exposed UseDynamicInstanceBuffer on Foliage type, so user can decide if they want to update them dynamically #jira UE-55092: Fixed the warning to appear when having resource array as empty but VB as set up Added data conssitency that when using Dynamic buffer, Keep CPU Access should also be true, even if implicitly it's already the case, now it's explicit Change 3962372 by Michael.Trepka Copy of CL 3884121 Fix for SProgressBar rendering incorreclty on Mac #jira UE-56241 Change 3964931 by Anthony.Bills Linux: Add cross-compiled binary of UVS Shipping. Change 3966719 by Matt.Kuhlenschmidt Fix parameters out of order here #jira UE-56399 Change 3966724 by Matt.Kuhlenschmidt PR #4585: Export symbols for the FDragTool (Contributed by Begounet) Change 3966734 by Matt.Kuhlenschmidt PR #4596: fix the slider issue of the HighResolutionScreenshot window (Contributed by mamoniem) Change 3966739 by Matt.Kuhlenschmidt Removed duplicated code #jira UE-56369 Change 3966744 by Matt.Kuhlenschmidt PR #4602: Fixes check for existing extensions when generating "All Extensions". (Contributed by PhilBax) Change 3966758 by Matt.Kuhlenschmidt PR #4604: Fixed an issue where the Modules and DebugTools tabs would be unrecognized after startup if docked in the level editor (Contributed by tstaples) Change 3966780 by Matt.Kuhlenschmidt Fix crash accessing graph node title widgets when objects have become stale. #jira UE-56442 Change 3966884 by Alexis.Matte Fix speedtree uninitialized values #jira none Change 3967568 by Alexis.Matte Do not override the screensize when importing a skeletal mesh, let the value set by the AddLodInfo function #jira UE-56493 Change 3968333 by Brandon.Schaefer Fix order of operation #jira UE-56400 Change 3969070 by Anthony.Bills Linux: Make sure to set the UE_ENGINE_DIRECTORY #jira UE-56503 #review-3966609 @arciel.rekman, @brandon.schaefer Change 3971431 by Michael.Dupuis #jira UE-56515: Fixed an issue where ForcedLOD > MaxLOD and make sure that LastLOD will at least contain current streamed in LOD. #jira UE-56517: When using ParallelInitView 1 there was a memory leak related to a reallocate that happen with the TArray of FMemstack Pass correctly LODDistanceFactor instead of View.LODScale as we do not want StaticMeshScale to affect us. Change 3971467 by Matt.Kuhlenschmidt Fixed crash deleting a texture with texture painting on it #jira UE-56994 Change 3971557 by Matt.Kuhlenschmidt Fix temporary exporter objects being potentially GC'd and causing crashes during export #jira UE-56981 Change 3971713 by Cody.Albert PR #4597: [FPS Template] Small null pointer check fix and cleanup (Contributed by TheCodez) Change 3971846 by Michael.Dupuis #jira UE-56517: Properly "round" the count so we have the right amount of memory reserved #jira UE-56515: Still had a edge case left, so when using forced lod i simply make sure the value is in valid range, and allocate all the required data for this range Change 3973035 by Nick.Atamas Line and Spline rendering changes: * Lines/Splines now use 1 UV channel to anti-alias (this channel can be used for texturing) * Anti-aliasing filter now adjusted based on resolution * Modified Line/Spline topology to accomodate new UV requirements * Disabled vertex snapping for anti-aliased lines/splines; previously vertexes were snapped, but vertex positions did not affect line rendering (behavior effectively unchanged) * Splines now adaptively subdivided to avoid certain edge-cases Change 3973345 by Nick.Atamas - Number tweaks to maintain previously perceived wire thickness in various editors. Change 3977764 by Rex.Hill MallocTBB no longer debug fills bytes in development configuration Change 3978713 by Arciel.Rekman UVS: Fix stale dependency. Change 3980520 by Matt.Kuhlenschmidt Fix typo #jira UE-57059 Change 3980557 by Matt.Kuhlenschmidt Fixed negative pie window sizes causing crashes #jira UE-57100 Change 3980565 by Matt.Kuhlenschmidt PR #4628: Fixed revert action, now correctly uses CanRevert() condition (Contributed by Kryofenix) Change 3980568 by Matt.Kuhlenschmidt PR #4626: UE-57111: Handle CaptureRegion for HighResShot in PIE (Contributed by projectgheist) Change 3980580 by Matt.Kuhlenschmidt PR #4567: [Editor UI] Pick Parent Class dialog: set keyboard focus and handle Escape & Enter (Contributed by SRombauts) Change 3980581 by Matt.Kuhlenschmidt PR #4565: [Editor UI] Add C++ Class dialog: set keyboard focus and handle Escape & Enter (Contributed by SRombauts) Change 3981341 by Jamie.Dale Re-added GIsEditor condition around package namespace access #jira UE-55816 Change 3981808 by Ryan.Brucks Added LandscapeProxy functions to push RenderTarget data to Heightmaps and Weightmaps Change 3983344 by Jack.Porter #include fixes for CL 3981808 #jira 0 Change 3983391 by Jack.Porter One for #include fix for CL 3981808 #jira 0 Change 3983562 by Michael.Dupuis #jira UE-53787: Make sure the material array is valid before trying to generate static mesh batch element #jira UE-56451: Instead of asserting, simply skip this element as it had invalid custom data anyway, so we can't render it Change 3983600 by Matt.Kuhlenschmidt PR #4289: Pragma Once/Include guard cleanup (Contributed by projectgheist) Change 3983637 by Matt.Kuhlenschmidt PR #4408: Add a template pregeneration hook (Contributed by mhutch) Change 3984392 by Michael.Dupuis #jira UE-56314: Correctly apply LODBias on calculated LOD Fixed some Landscape popping that could occur when we were forcing a LOD that didn't match the component screen size Change 3984950 by Rex.Hill Optimized texture import speed 2-3x depending on number of cpu cores and image size Change 3985033 by Rex.Hill File drag and drop is more quick to respond when editor is in background #jira UE-57192 Change 3986218 by Jack.Porter Missing template parameter fix for CL 3981808 #jira 0 Change 3986376 by Michael.Dupuis #jira UE-56453: Do not use the CreateDynamicMaterialInstance as it will change the parenting of the actor used material, instead simply use the function to generate the MID and parent it correctly. Change 3989391 by Matt.Kuhlenschmidt Fix constant FName lookup in level editor when checking various states of level editor tabs Change 3990182 by Rex.Hill Optimize editor startup time: GetCurrentProjectModules Change 3990365 by Alexis.Matte Fix crash with spline mesh when the attach SM get a new imported LOD #jira UE-57119 Change 3991151 by Rex.Hill VR Editor module now waits to load images until VR mode activated in editor. Saves 0.4 seconds of editor startup time. Change 3991164 by Rex.Hill Optimize editor startup time: FindModulePaths() - Invalidates cache when search paths added - Use cache during wildcard searches containing * and ? Change 3995366 by Anthony.Bills Update BuildCrossToolchain script to allow a Linux host targeting multiple Linux architectures (including the hosts arch). Added a patch to support a gcc 4.8.5 based toolchain on windows (potentially useful for users crosscompiling using GCC and libstdc++ and targeting CentOS 7). #review-3848487 @arciel.rekman, @brandon.schaefer Change 3996109 by Jamie.Dale Reworked BP error messages to be more localization friendly #jira UETOOL-1356 Change 3996123 by Michael.Dupuis #jira UE-57427: Update random color on load of the component #jira UE-56272: Change 3996279 by Merritt.Cely Removed hardware survey from editor #jira an-2243 #tests launched the editor Change 3996626 by Alexis.Matte Fix crash when SkeletalMesh tangent buffer is empty after the build and we serialize the tangent array. #jira UE-57227 Change 3996663 by Max.Chen Sequencer: Fix fbx animation export - rotation and scale channels were flipped. #jira UE-57509 #jira UE-57512 #jira UE-57514 Change 4000331 by Brandon.Schaefer Add a GFNameTableForDebuggerVisualizers_MT back only for Unix under the Core module #review-3999426 @Arciel.Rekman #jira UE-55298 Change 4000450 by Matt.Kuhlenschmidt Another guard against a factory being destroyed during import #jira UE-57674 Change 4000459 by Matt.Kuhlenschmidt Added check for valid game viewport to see if this is the problem in UE-57677 #jira UE-57677 Change 4000493 by Matt.Kuhlenschmidt Remove stale GC'd components when refreshing paint mode to prevent crashes #jira UE-52618 Change 4000683 by Jamie.Dale Fixed target being incorrect when added via the Localization Dashboard #jira UE-57588 Change 4000738 by Alexis.Matte Add a section settings to ignore the section when reducing #jira UE-52580 Change 4000920 by Alexis.Matte PR #4219: Fix for SColorGradingPicker preventing PIE (Contributed by projectgheist) author projectgheist projectgheist@gmail.com Change 4001432 by Alexis.Matte Add a fbx re-import resolve material windows, user can now help resolving the material in case the importer fail to found a match. Change 4001447 by Jamie.Dale Fixed property table not working with multi-line editable text Change 4001449 by Jamie.Dale PR #4531: Localization multiline fix (Contributed by Lallapallooza) Change 4001557 by Alexis.Matte Fix a check in fbx scene importer, in case the user import a fbx LOD group with no geometry under it #jira UE-57676 Change 4002539 by Alexis.Matte Make the fbx importer global transform options persist in the config file #jira UE-50897 Change 4002562 by Anthony.Bills Linux: Enable UVS registering for git builds only and remove old Mono and pre-UVS script code. Change 4003241 by Alexis.Matte Fix the staticmesh import socket logic, it was duplicating socket when re-importing #jira UE-53635 Change 4003368 by Michael.Dupuis #jira UE-57276: #jira UE-56239: #jira UE-54547: Make sure we can't go above MaxLOD even for texture streaming Change 4003534 by Alexis.Matte Fix re-import mesh name match #jira UE-56485 Change 4005069 by Michael.Dupuis #jira UE-57594: Add a guard to prevent crash if we have an invalid resource for the heightmap texture (happen when component is deleted, for example) Change 4005468 by Lauren.Ridge Widgets should not be removed from parent when they are pending GC #jira UE-52260 Change 4006075 by Michael.Dupuis Fixed foliage density scaling to be applied even in editor, except in Foliage edit mode. Change 4006332 by Arciel.Rekman UBT: Adding support for bundled toolchains on Linux. - Authored by Anthony Bills, with modifications. Change 4007528 by Matt.Kuhlenschmidt PR #4665: Source control History Window: enlarge column Description (Contributed by SRombauts) Change 4007531 by Matt.Kuhlenschmidt PR #4656: UE-57200: Ignore reference to actor if same actor (Contributed by projectgheist) Change 4007548 by Matt.Kuhlenschmidt PR #4664: Set Password on EditableText (Contributed by projectgheist) Change 4007730 by Brandon.Schaefer Add a new way to symbolicate symbols for a crash at runtime Two new tools are used for this. 1) dump_syms Will generate a symbol file, which is to large to read from at runtime 2) BreakpadSymbolEncoder Takes the dump_syms file and encodes it in such a way we can do a binary search at runtime to find a Program Counter to a symbol we are looking for #review @Arciel.Rekman, @Anthony.Bills #jira UETOOL-1206 Change 4008429 by Lauren.Ridge Fixing undo bug when deleting user widgets from the widget tree #jira UE-56394 Change 4008581 by Cody.Albert Reinitialize needs to set the audio and caption tracks in addition to the video track or the currently selected track will be lost Change 4009605 by Lauren.Ridge Added Recently Opened assets filter under Other Filters in the Content Browser Change 4009797 by Anthony.Bills Linux: Update MultiArchRoot path to not cache. Move in tree toolchain location to match UBT convention and make sure the MultiArchRoot is checked before the system. Change 4010266 by Michael.Trepka Copy of CL 4010052 Moved some key event handling calls to the main thread on Mac to satisfy new macOS requirements #jira UE-54623 Change 4010838 by Arciel.Rekman Linux: limit allowed clang versions to 3.8-6.0. Change 4012160 by Matt.Kuhlenschmidt Changed the messagiing on the crash reporter dialog to reflect new bug submission process #jira UE-56475 Change 4013432 by Lauren.Ridge Fix for non-assets attempting to add to the Content Browser's recent filter #jira none Change 4016353 by Cody.Albert Improved copy/paste behavior for UMG editor: -Pasting in the designer while a canvas is selected will place the new widget under the cursor -Pasting multiple times while a canvas panel is selected in the hierarchy view will cascade the widgets starting at 0,0 -Pasting while something that isn't a panel is selected is now allowed, and will cascade the pasted widgets off the position of the selected widget (as siblings) -Newly pasted widgets will now be selected automatically -Pasting multiple widgets at once will try and maintain their relative positions if they're being pasted into a canvas panel Change 4017274 by Matt.Kuhlenschmidt Added some guards against invalid property handle access #jira UE-58026 Change 4017295 by Matt.Kuhlenschmidt Fix trying to apply delta to a mix of scene components and non scene components. Its acceptable to not have scene components in the selected component list #jira UE-57980 Change 4022021 by Rex.Hill Fix for audio desync and video fast-forwarding behavior. There long delay (500ms+) until samples start arriving unless we use RequestedTimeCurrent. After delay occurs samples begin arriving at accelerated speed until caught up to playback time leading to visual and audio problems. #jira UE-54592 Change 4023608 by Brandon.Schaefer Downscale memory if we dont have enough #jira UE-58073 #review-4023609 @Arciel.Rekman Change 4025618 by Michael.Dupuis #jira UE-58036: Apply world position offset correctly Change 4025661 by Michael.Dupuis #jira UE-57681: Added guard to prevent possible crash if either we have an invalid material or the material parent is invalid Change 4025675 by Michael.Dupuis #jira UE-52919: if no actor was found in the level skip moving the instances Change 4026336 by Brandon.Schaefer Manually generate *.sym files for Physx3 This should be done in the BuildPhysx file Change 4026627 by Rex.Hill Fix memory leak fix when playing video and main thread blocks #jira UE-57873 Change 4029635 by Yannick.Lange Fix VRMode loading assets only when VRMode starts. #jira UE-57797 Change 4030288 by Jamie.Dale Null FreeType face on load error to prevent potential crashes Change 4030782 by Rex.Hill Fix save BuildData after changing reflection capture in a new level #jira UE-57949 Change 4033560 by Michael.Dupuis #jira UE-57710: Added some guard to prevent crash/assert Change 4034244 by Michael.Trepka Copy of CL 4034116 Fixed arrow keys handling on Mac Change 4034708 by Lauren.Ridge PR #4699: UE-8508: Update config file to keep folder color in sync (Contributed by projectgheist) #jira UE-58251 Change 4034746 by Lauren.Ridge PR #4701: Add option to close tabs to the right of the active tab (Contributed by jesseyeh) #jira UE-58277 Change 4034873 by Lauren.Ridge Fix for not being able to enter simulate more than once in a row. #jira UE-58261 Change 4034922 by Lauren.Ridge PR #4387: Commands mapped in incorrect location (Contributed by projectgheist) #jira UE-53752 Change 4035484 by Lauren.Ridge Tentative fix for crash on pasting comment. All other accesses to UMaterialExpressionComment check its validity first #jira UE-57979 Change 4037111 by Brandon.Schaefer Try to use absolute path from dladdr if we can to find the sym files #jira UE-57858 #review-4013964 @Arciel.Rekman Change 4037366 by Brandon.Schaefer Dont check the command line before its inited #review-4037183 @Arciel.Rekman #jira UE-57947 Change 4037418 by Alexis.Matte Remove the checkSlow when adding polygon Change 4037745 by Brandon.Schaefer Use as much info as we can during ensure Just as fast as the old way but with more information #review-4037495 @Arciel.Rekman #jira UE-47770 Change 4037816 by Rex.Hill Import mesh optimization, BuildVertexBuffer Change 4037957 by Arciel.Rekman UBT: make it easier to try XGE on Linux. Change 4038401 by Lauren.Ridge Reordering is now correctly handled by undo. Reordering and then undoing will no longer cause a "ghost" widget to also be part of the tree. #jira UE-58206 Change 4039612 by Anthony.Bills Unix: Check for null StdOut and ReturnCode parameters, otherwise the code may dereference a null variable when the process fails to create. Change 4039754 by Alexis.Matte Remove the Render meshdescription, no need to carry this temporary data in the staticmesh Change 4039806 by Anthony.Bills Linux: UVS fixes - Update to use new Unix base platform. - Use bin/bash instead of usr/bin/bash (may need revisiting later). - Recompile Shipping version with changes. - Update Setup.sh to run from correct CWD (due to current limitations in the relative directory handling). Change 4039883 by Lauren.Ridge PR #4576: Save editor config to file first time a fav folder is added in the co. (Contributed by projectgheist) #jira UE-56249 Change 4040117 by Lauren.Ridge Replacing widgets should now also clear out references to the widget #jira UE-57045 Change 4040790 by Lauren.Ridge Tentative fix for Project Launcher crash when platform info not found #jira UE-58371 Change 4042136 by Arciel.Rekman UBT: refactor of LinuxToolChain to make it leaner and more configurable. - Made it possible to override SDK passed to the toolchain. - Simplified the code by using the same executable names on Windows and Linux (as .exe is optional), except where File.Exists() is needed (also remove a few) - Some minor renames to make it clear that SystemSDK means system compiler (which otherwise may be unclear) - Made changes to accomodate the new debug format. Change 4042930 by Brandon.Schaefer GCoreObjectArrayForDebugVisualizers was changed to FChunkedFixedUObjectArray reflect that in the Unix part Change 4043539 by Brandon.Schaefer Fix callsite address being used at times for the Program Counter Fix only reporting the actual callstack and not the crash handling callstacks #review-4041370 @Arciel.Rekman #jira UE-58477 Change 4043674 by Arciel.Rekman Added Linux ARM64 (AArch64) lib for MikkTSpace. - Now required for standalone games due to EditableMesh runtime plugin. Change 4043677 by Arciel.Rekman Linux: updated ARM64 (AArch64) version of SDL2. Change 4043690 by Arciel.Rekman Linux: allow compiling VulkanRHI for AArch64 (ARM64). Change 4045467 by Brandon.Schaefer Add Anthony Bills SetupToolchain.sh script Used to download the latest toolchain Change 4045940 by Michael.Trepka Return empty list instead of null from Mac GetDebugInfoExtensions() in UBT #jira UE-58470 Change 4046542 by Alexis.Matte Fix skeletal re-import material assignation #jira UE-58551 Change 4048262 by Brandon.Schaefer Rebuild SDL with pulse audio libs #jira UE-58577 Change 3887093 by Anthony.Bills Add bundled mono binary for Linux. - Unify some of the script structure across Mac and Linux. - This currently uses the same mono C# assemblies as Mac to keep the additional source size down. - If the Mac mono version is updated, the Linux version will also need to be updated to match the same mono git revision. - The system version of mono can still be used by setting the UE_USE_SYSTEM_MONO env var to 1. Change 4003226 by Michael.Dupuis Refactored StaticMeshInstancing to now use a command buffer to communicate with the GPU to prevent concurent access issues. It's mostly used in Editor or if runtime changes occur, otherwise the data is built and send to the GPU directly without keeping CPU copy. Changed how the density scaling was applied to be more optimal Removed UseDynamicInstanceBuffer as the concept is now irrelevant Change 3833097 by Jamie.Dale Localization Pipeline Optimization Manifest/Archives: Added FLocKey to keep an immutable string and its hash. This is used in several places within manifests and archives to minimize string hashing. FLocTextHelper also now take these in its API. This also fixes some places where manifests were being iterated by key rather than source string (as this was causing redundant work). Portable Object: Cleaned up a lot of redundant code, changed things to use FLocKey, and simplified a lot of string manipulation to use algorithms instead (which proved to be faster). Asset Gathering: Optimized the way garbage collection runs while gathering from assets so that we avoid purging assets that we still need to gather from (or are still active dependencies). This also sorts the assets so that we can try and evict dependencies from memory as soon as possible (in much the same way that the cooker does). Automation: The gather commandlet can now take multiple configs to process. This is used by automation to avoid starting the editor several times (which can save a significant amount of start-up overhead). [CL 4052378 by Lauren Ridge in Main branch]
2018-05-04 14:14:10 -04:00
const bool bCanClose =
(TabsToClose == CloseAllTabs) ||
(TabsToClose == CloseDocumentTabs && VisualTabRole == ETabRole::DocumentTab) ||
(TabsToClose == CloseDocumentAndMajorTabs && (VisualTabRole == ETabRole::DocumentTab || VisualTabRole == ETabRole::MajorTab));
Copying //UE4/Dev-Editor to //UE4/Dev-Main (Source: //UE4/Dev-Editor @ 4048875) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3808185 by Cody.Albert Added missing calls to FEditorViewportClient::AddReferencedObjects in overrides Change 3809824 by Michael.Trepka Improved the way we generate groups in Xcode project's source code navigator. They are now sorted alphabetically and have correct paths so Xcode no longer displays them in red. Also, added __INTELLISENSE__ to preprocessor definitions for indexing to improve indexing without game header files generated. Change 3810089 by Jamie.Dale Fixed PO files failing to import translations containing only whitespace Change 3811281 by Matt.Kuhlenschmidt PR #4331: Toggle SIE shortcut only in PIE (Contributed by projectgheist) Change 3813031 by Matt.Kuhlenschmidt Fix undocked tabs not dropping at users mouse location #jira UE-53427 Change 3813361 by Brandon.Schaefer Print what SDL video driver we are using Change 3818430 by Matt.Kuhlenschmidt PR #4365: Incorrect font name and forgotten undef (Contributed by projectgheist) Change 3818432 by Matt.Kuhlenschmidt PR #4366: Asset Color Strip updates correct on drag and drop (Contributed by projectgheist) Change 3818436 by Matt.Kuhlenschmidt PR #4367: Improved logging (Contributed by projectgheist) Change 3819886 by Matt.Kuhlenschmidt Add a way to optionally disable the warning about referenced actors being moved to other levels. Useful for bulk actor moves via script Change 3819888 by Matt.Kuhlenschmidt Avoid crashing when a window size becomes too large to render. Instead just ensure and clamp to the maximum allowed size. Avoids crashes where the screen dimensions are saved with super large numbers for unknown reasons Change 3821773 by Brandon.Schaefer Fix crash when importing to level #jira UE-31573 Change 3821892 by Jamie.Dale Improved the localized asset cooking so that it only cooks L10N variants if their source asset is cooked #jira UE-53010 Change 3823714 by Christina.TempelaarL #jira UE-52179 added support for grayscale PSD files Change 3826805 by Christina.TempelaarL #jira UE-49636 SceneCaptureComponent2D hidden actor and show only actors disabled in blueprints #jira UE-53445 SceneCaptureComponent2D hidden actors always disabled in details layout Change 3828444 by Anthony.Bills Add LXC container script for building third party libraries. The intention is that this should become the only way to rebuild the third party libraries that require system dependencies not included in the cross-compile toolchain and also to rebuild the toolchains. Other third party libraries without any system dependencies could be rebuilt via the cross-compile toolchains/UBT. This script has been tested running on CentOS 7 and Ubuntu 17.10. Buy default the x86 and x86_64 builds will be built against a CentOS 6 container (and targeting glibc 1.12) and the aarch64 and armhf builds will use an Ubuntu Ubuntu Trusty (14.04) but this is not yet complete. Change 3828754 by Brandon.Schaefer Linux: Fix gamepad thumbstick clicks not registering (github #4209 thanks J??rn M??ller) #jira UE-45722 #review-3828733 Arciel.Rekman Change 3830414 by Brandon.Schaefer Remove circular referencing to a parent window. Move to use AddSP vs AddRaw as well to be safe manually remove ourselves from the selection event delegate list due to Linux pending deletion of windows. Looks like this should fix UE-28322 as well which I've removed the work around placed in for that. #jira UE-53918 #review @michael.trepka, @matt.kuhlenschmidt, @arciel.rekman Change 3830916 by Brandon.Schaefer More verbose message about missing VK extensions (from Marcin Undak) #review-3830710 marcin.undak, arciel.rekman Change 3831339 by Brandon.Schaefer Default to as-needed for debug mode #jira none #review-3830658 Arciel.Rekman Change 3833102 by Jamie.Dale Re-added warning for duplicate package localization IDs when gathering asset localization Change 3834600 by Jamie.Dale Optimized asset registry filter intersection Change 3838024 by Brandon.Schaefer Remove tracking of CLion/CMake build files (from github #4346 thanks reapazor!) #jira UE-53551 #review-3835803 arciel.rekman Change 3839969 by Michael.Dupuis #jira UE-52289: When OnRegister is called on the component make sure our PerInstanceRenderData is up to date Prevent a possible crash if ClearInstanceSelection was called on a component with no PerInstanceRenderData existing Change 3840049 by Michael.Dupuis #jira UE-52975: Was always performing the equivalent of an Add, so now we use the Transform during the duplicate Change 3840071 by Matt.Kuhlenschmidt - Combine some shader params for slate in order to reduce overhead setting uniform buffers - Added better stats for slate draw call rendering - cleaned up huge lambda in Slate rendering main function so we can read the main slate rendering function again Change 3840291 by Michael.Dupuis #jira UE-53053: Was having a mismatch between the remove reorder and the actual remove Change 3840840 by Michael.Dupuis #jira UE-53944: Make sure the LOD generated is in the valid range to prevent the crash Change 3842072 by Michael.Dupuis #jira UE-50299: Include NumSubsection in calculation of component quad factor Change 3842487 by Christina.TempelaarL #jira UE-50573 HighResShot has wrong res in immersive mode Change 3845702 by Matt.Kuhlenschmidt PR #4381: DefaultASTCQualityBySpeed too high max value. (Contributed by kallehamalainen) Change 3845706 by Matt.Kuhlenschmidt PR #4388: Only restore window if minimized (Contributed by projectgheist) Change 3845993 by Christina.TempelaarL #jira UE-41558 crash when selecting PostProcessingVolumes in separate levels Change 3856395 by Brandon.Schaefer No longer using ALAudio on Linux #jira UE-53717 Change 3858324 by Michael.Trepka Preserve command line arguments in Xcode project when regenerating it Change 3858365 by Michael.Dupuis #jira UE-52049: There was a case where adding and removing multiple time would lead to reordering the instances and this would cause the regeneration of the random stream for all the reorded instances. Change 3858492 by Michael.Trepka Updated dependencies for Mac dSYM files so that only cross-referenced modules have their dSYMs recreated on subsequent builds instead of all modules. Change 3859470 by Michael.Trepka CIS fix. Make sure a scheme file exists before trying to read it when generating Xcode project. Change 3859900 by Joe.Conley Fix for "Check Out Assets" window not properly receiving focus. Change 3865218 by Michael.Dupuis #jira UE-45784: Exposed the possibility to edit LDMaxDrawDistance Change 3866957 by Michael.Dupuis #jira UE-42509: Added BodyInstance to ULandscapeSplineSegment and ULandscapeSplineControlPoint Deprecated bEnabledCollision and migrate data as it's replaced by BodyInstance Change 3867220 by Cody.Albert Fixed Project Launcher scrollbar to properly stay anchored at the bottom of the scroll area. Change 3869117 by Michael.Dupuis #jira UE-42509:Fixed compile error when not having editor data Change 3872478 by Arciel.Rekman Linux: disable PIE if compiler enables it by default. Change 3874786 by Michael.Dupuis #jira UE-46925: Remove the guessing functionality when importing a heightmap, and instead propose to the user valid size that can be used for the import through a combo button. Improved usability of the UI by disabling size field when no file was specified Change 3875859 by Jamie.Dale Implemented our own canonization for culture codes Change 3877604 by Cody.Albert We now validate actor names passed to SetActorLabel to ensure None isn't passed in, which can corrupt levels Change 3877777 by Nick.Shin PhysX build fix - this came from CL: 3809757 #jira UE-54924 Cannot rebuild Apex/PhysX/NvCloth .emscripten missing Change 3881693 by Alexis.Matte Fix local path search to not search in memory only #jira UE-55018 Change 3882512 by Michael.Dupuis #jira none : Fixed screen size calculation to take aspect ratio into account correctly Change 3886926 by Arciel.Rekman Linux: fixed checking clang settings during the cross-build (UE-55132). #jira UE-55132 Change 3887080 by Anthony.Bills Updated SDL2 build script. - Now allows compiling inside a CentOS 6 or Ubuntu 12.04 container with wayland support when using the ContainerBuildThirdParty.sh. - Added multiple build arch support to the BuildThirdParty script and pass this down to the SDL2 build script. Change 3887260 by Arciel.Rekman Linux: fix leaking process handles in the cross-toolchain. Change 3889072 by Brandon.Schaefer Fix RPath workaround, to better handle both cases #jira UE-55150 #review-3888119 @Arciel.Rekman, @Ben.Marsh Change 3892546 by Alexis.Matte Remove fbx exporter welded vertices options #jira UE-51575 Change 3893516 by Michael.Dupuis Remove static mesh instancing async buffer filling, as with all the changes made, it's no longer necessary, the cost of loading very large buffer is negligable Rebuild the occlusion tree when using foliage.DensityScale with something other than 1.0 Change 3894365 by Brandon.Schaefer Pass FileReference over a raw string to the LinkEnvironment #jira none #review-3894241 @Ben.Marsh, @Arciel.Rekman Change 3895251 by Brandon.Schaefer Use X11 pointer barriers to bound the cursor to a region over warping the pointers. Patch from Cengiz #jira UE-25615 #jira UE-30714 #review-3894886 @Arciel.Rekman Change 3897541 by Michael.Dupuis #jira UE-53787: Added guard if for some reason the material is null we should not try to draw using this material Change 3904143 by Rex.Hill #jira UE-55366: Fix crash when overwriting existing level during level save as #jira UE-42426: Map '_BuiltData' can now be deleted when selected at same time as map - Map '_BuiltData' package is now garbage collected when switching maps in the editor Change 3906373 by Brandon.Schaefer Fix splash image. Use alias format for big/little endian machines. #jira none Change 3906711 by Rex.Hill #jira UE-42426: BuiltData now deleted with maps Change 3907221 by Cody.Albert Add support for relative asset source paths in content plugins Change 3911670 by Alexis.Matte Fix assetimportdata creation owner #jira UE-55567 Change 3912382 by Anthony.Bills Linux: Add binaries for GoogleTest and add to BuildThirdParty script. Change 3914634 by Cody.Albert Added missing include that could cause compile errors if IWYU was disabled. Change 3916227 by Cody.Albert Fixing some cases where we check #ifdef WITH_EDITOR instead of #if WITH_EDITOR Change 3917245 by Michael.Dupuis #jira UE-35097: Fixed crash when creating a new landscape with 2x2 subsection and material containing grass spawning Change 3918331 by Anthony.Bills Linux: Bundled Mono - Explicilty pick libc.so.6 as libc.so is a linker script and store the config file directly. Change 3920191 by Rex.Hill #jira UE-44197 Fix saving sub-level level causing MapBuildData to be deleted Improved MapBuildData rename, move, duplicate, copy Change 3920333 by Matt.Kuhlenschmidt Render target clear color property now settable in editor #jira UE-55347 Change 3926094 by Michael.Dupuis #jira UE-51502: Added some min/max values to foliage and grass settings to prevent overflow/crash #coderevew jack.porter Change 3926243 by Michael.Dupuis #jira UE-54669: cleaned up invalid/duplicate shader and moved some shaders to appropriate list Change 3926760 by Jamie.Dale Added support for TTC/OTC fonts These can be used via a sub-face index on FFontData, which can be set via a new combo in the font editor. You can also see the cached list of sub-faces within a font file from the UFontFace asset. Change 3927793 by Anthony.Bills Mono: Remove SharpZipLib and references from bundled Mono. #review-3887212 @ben.marsh, @michael.trepka Change 3928029 by Anthony.Bills Linux: Add support for UnrealVersionSelector. - Supports using UVS to launch without a project file. This will then launch the selected engine's project wizard. - Linux UVS uses Slate for the version selection and error log dialogs. - Mime-types and desktop file support added to DesktopPlatformLinux to allow associating with UVS as per the Windows binary and git builds. - Icons added for Linux. #review-3882197 @arciel.rekman, @brandon.schaefer Change 3931293 by Alexis.Matte Add generic Levenshtein edit distance to core algo. This algorithm will help suggesting name matching when users have to resolve material name conflict when re-import fbx meshes. Add also plenty of automation tests for it. #jira none Change 3931436 by Arciel.Rekman Stop RHI thread before shutting down RHI. - Prevents crashes for some drivers that create TLS objects with destructors; those destructors will get called after the thread exited, but the library will already be unloaded on RHI shutdown. Change 3934287 by Alexis.Matte Fix crash when re-importing skeletal mesh. Skinned component render data resource is now release when re-importing. #jira none Change 3937585 by Lauren.Ridge Added labels to the colors stored in the theme bar. Change 3937738 by Alexis.Matte Make sure content browser do not show a preview asset created when we cancel an export animation preview #jira UE-49743 Change 3941345 by Michael.Dupuis #jira UE-26959: Prevent reusing multiple type the same grass type into the same material grass output node Change 3941453 by Michael.Dupuis #jira UE-47492: Added a guard to validate LayerIndex Change 3942065 by Jamie.Dale Fixed crash trying to use FSlateApplication when it wasn't available (eg, in a commandlet) Change 3942573 by Alexis.Matte Fix static analysis Change 3942623 by Michael.Dupuis #jira 0 Cast to ulong as TaskIndex * NumStripes could exceed an int limit and add an assert if the wraparound is negative Change 3942993 by Matt.Kuhlenschmidt PR #4547: Verify the return value of FT_New_Memory_Face (Contributed by jorgenpt) Change 3942998 by Matt.Kuhlenschmidt PR #4554: Cleanup log printing (Contributed by projectgheist) Change 3943003 by Matt.Kuhlenschmidt PR #4534: Prevent Fatal log when alt tabbing during a level save (Contributed by projectgheist) Change 3943011 by Matt.Kuhlenschmidt PR #4518: edit (Contributed by pdlogingithub) Change 3943027 by Matt.Kuhlenschmidt PR #4524: Notifications always render on the screen with the main viewport (Contributed by projectgheist) Change 3943074 by Matt.Kuhlenschmidt PR #4484: Add group actor to folder (Contributed by ggsharkmob) Change 3943079 by Matt.Kuhlenschmidt PR #4431: Git Plugin: replace usage of the 2 cli args "--work-tree" and "--git-dir" by "-C" (Contributed by SRombauts) Change 3943092 by Matt.Kuhlenschmidt PR #4434: Git plugin: configure the default remote URL 'origin' (Contributed by SRombauts) Change 3943132 by Matt.Kuhlenschmidt PR #4247: Add File picker to Git Path setting on GitSourceControl (Contributed by shiena) Change 3943141 by Matt.Kuhlenschmidt PR #4303: Fix ULevelExporterT3D so that it works in a commandlet (Contributed by DSDambuster) Change 3943349 by Jamie.Dale Cleaned up PR #4547 Made the assert non-fatal to avoid it being able to take down the editor if you load up a bad font. Fixed some code that was deleted during the merge. Change 3943976 by Michael.Trepka Copy of CL 3940687 Fixed long link times when building for Mac in Debug by passing -no_deduplicate flag to the linker, which is what Xcode does in Debug configs. #jira none Change 3944882 by Matt.Kuhlenschmidt Fix a few regressions with scene viewport activation locking can capturing the cursor in editor #jira UE-56080, UE-56081 Change 3947339 by Michael.Dupuis #jira UE-55664: Fixed undo/redo buffer handling so we remove from the beginning of the buffer during undo buffer where buffer is at max memory and from the end during redo operation. Fixed cancel also to re add removed transaction at the end or the start depending if we're doing a redo or undo operation Fixed the Undo History UI to listen to an event when the undo buffer changed instead of checking every frame, as when the buffer was full, no changes would occur, thus no UI update. Change 3948179 by Jamie.Dale Fixed monochromatic font rendering - All non-8bpp images are now converted to 8bpp images for processing in Slate. - We convert the gray color of any images not using 256 grays (eg, monochromatic images that use 2 grays). - Fixed a case where the temporary bitmap wasn't being deleted. - Fixed a case where the bitmap could be used after it was deleted. - Added a CVar (Slate.EnableFontAntiAliasing) to control whether you want anti-aliased (256 grayscale) rendering (default), or monochromatic (2 grayscale) rendering. Change 3949922 by Alexis.Matte Ensure fbx node name are not empty when loading a fbx file. I use the same naming convention as Maya #jira UE-56079 Change 3950202 by Rex.Hill Fix crash during editor asset automation tests. Now skips showing modal progress window when opening asset editor window. ActiveTopLevelWindow is not set when modal windows are open. #jira UE-56112 Change 3950484 by Michael.Dupuis #jira UE-52176: delete the Cluster tree when the builder is no longer needed Change 3954628 by Michael.Dupuis Bring back 4.19/4.19.1 Landscape changes Change 3957037 by Michael.Dupuis #jira UE-53343: Add foliage instances back when changing component size Changed the formulation for the Clip/Expand behavior to make it more explicit on what will happen Added SlowTask stuff to manage big landscape change Change 3959020 by Rex.Hill Rename/move file MallocLeakDetection.h Change 3960325 by Michael.Dupuis Fixed static analysis Change 3961416 by Michael.Dupuis #jira UE-46100: Exposed UseDynamicInstanceBuffer on Foliage type, so user can decide if they want to update them dynamically #jira UE-55092: Fixed the warning to appear when having resource array as empty but VB as set up Added data conssitency that when using Dynamic buffer, Keep CPU Access should also be true, even if implicitly it's already the case, now it's explicit Change 3962372 by Michael.Trepka Copy of CL 3884121 Fix for SProgressBar rendering incorreclty on Mac #jira UE-56241 Change 3964931 by Anthony.Bills Linux: Add cross-compiled binary of UVS Shipping. Change 3966719 by Matt.Kuhlenschmidt Fix parameters out of order here #jira UE-56399 Change 3966724 by Matt.Kuhlenschmidt PR #4585: Export symbols for the FDragTool (Contributed by Begounet) Change 3966734 by Matt.Kuhlenschmidt PR #4596: fix the slider issue of the HighResolutionScreenshot window (Contributed by mamoniem) Change 3966739 by Matt.Kuhlenschmidt Removed duplicated code #jira UE-56369 Change 3966744 by Matt.Kuhlenschmidt PR #4602: Fixes check for existing extensions when generating "All Extensions". (Contributed by PhilBax) Change 3966758 by Matt.Kuhlenschmidt PR #4604: Fixed an issue where the Modules and DebugTools tabs would be unrecognized after startup if docked in the level editor (Contributed by tstaples) Change 3966780 by Matt.Kuhlenschmidt Fix crash accessing graph node title widgets when objects have become stale. #jira UE-56442 Change 3966884 by Alexis.Matte Fix speedtree uninitialized values #jira none Change 3967568 by Alexis.Matte Do not override the screensize when importing a skeletal mesh, let the value set by the AddLodInfo function #jira UE-56493 Change 3968333 by Brandon.Schaefer Fix order of operation #jira UE-56400 Change 3969070 by Anthony.Bills Linux: Make sure to set the UE_ENGINE_DIRECTORY #jira UE-56503 #review-3966609 @arciel.rekman, @brandon.schaefer Change 3971431 by Michael.Dupuis #jira UE-56515: Fixed an issue where ForcedLOD > MaxLOD and make sure that LastLOD will at least contain current streamed in LOD. #jira UE-56517: When using ParallelInitView 1 there was a memory leak related to a reallocate that happen with the TArray of FMemstack Pass correctly LODDistanceFactor instead of View.LODScale as we do not want StaticMeshScale to affect us. Change 3971467 by Matt.Kuhlenschmidt Fixed crash deleting a texture with texture painting on it #jira UE-56994 Change 3971557 by Matt.Kuhlenschmidt Fix temporary exporter objects being potentially GC'd and causing crashes during export #jira UE-56981 Change 3971713 by Cody.Albert PR #4597: [FPS Template] Small null pointer check fix and cleanup (Contributed by TheCodez) Change 3971846 by Michael.Dupuis #jira UE-56517: Properly "round" the count so we have the right amount of memory reserved #jira UE-56515: Still had a edge case left, so when using forced lod i simply make sure the value is in valid range, and allocate all the required data for this range Change 3973035 by Nick.Atamas Line and Spline rendering changes: * Lines/Splines now use 1 UV channel to anti-alias (this channel can be used for texturing) * Anti-aliasing filter now adjusted based on resolution * Modified Line/Spline topology to accomodate new UV requirements * Disabled vertex snapping for anti-aliased lines/splines; previously vertexes were snapped, but vertex positions did not affect line rendering (behavior effectively unchanged) * Splines now adaptively subdivided to avoid certain edge-cases Change 3973345 by Nick.Atamas - Number tweaks to maintain previously perceived wire thickness in various editors. Change 3977764 by Rex.Hill MallocTBB no longer debug fills bytes in development configuration Change 3978713 by Arciel.Rekman UVS: Fix stale dependency. Change 3980520 by Matt.Kuhlenschmidt Fix typo #jira UE-57059 Change 3980557 by Matt.Kuhlenschmidt Fixed negative pie window sizes causing crashes #jira UE-57100 Change 3980565 by Matt.Kuhlenschmidt PR #4628: Fixed revert action, now correctly uses CanRevert() condition (Contributed by Kryofenix) Change 3980568 by Matt.Kuhlenschmidt PR #4626: UE-57111: Handle CaptureRegion for HighResShot in PIE (Contributed by projectgheist) Change 3980580 by Matt.Kuhlenschmidt PR #4567: [Editor UI] Pick Parent Class dialog: set keyboard focus and handle Escape & Enter (Contributed by SRombauts) Change 3980581 by Matt.Kuhlenschmidt PR #4565: [Editor UI] Add C++ Class dialog: set keyboard focus and handle Escape & Enter (Contributed by SRombauts) Change 3981341 by Jamie.Dale Re-added GIsEditor condition around package namespace access #jira UE-55816 Change 3981808 by Ryan.Brucks Added LandscapeProxy functions to push RenderTarget data to Heightmaps and Weightmaps Change 3983344 by Jack.Porter #include fixes for CL 3981808 #jira 0 Change 3983391 by Jack.Porter One for #include fix for CL 3981808 #jira 0 Change 3983562 by Michael.Dupuis #jira UE-53787: Make sure the material array is valid before trying to generate static mesh batch element #jira UE-56451: Instead of asserting, simply skip this element as it had invalid custom data anyway, so we can't render it Change 3983600 by Matt.Kuhlenschmidt PR #4289: Pragma Once/Include guard cleanup (Contributed by projectgheist) Change 3983637 by Matt.Kuhlenschmidt PR #4408: Add a template pregeneration hook (Contributed by mhutch) Change 3984392 by Michael.Dupuis #jira UE-56314: Correctly apply LODBias on calculated LOD Fixed some Landscape popping that could occur when we were forcing a LOD that didn't match the component screen size Change 3984950 by Rex.Hill Optimized texture import speed 2-3x depending on number of cpu cores and image size Change 3985033 by Rex.Hill File drag and drop is more quick to respond when editor is in background #jira UE-57192 Change 3986218 by Jack.Porter Missing template parameter fix for CL 3981808 #jira 0 Change 3986376 by Michael.Dupuis #jira UE-56453: Do not use the CreateDynamicMaterialInstance as it will change the parenting of the actor used material, instead simply use the function to generate the MID and parent it correctly. Change 3989391 by Matt.Kuhlenschmidt Fix constant FName lookup in level editor when checking various states of level editor tabs Change 3990182 by Rex.Hill Optimize editor startup time: GetCurrentProjectModules Change 3990365 by Alexis.Matte Fix crash with spline mesh when the attach SM get a new imported LOD #jira UE-57119 Change 3991151 by Rex.Hill VR Editor module now waits to load images until VR mode activated in editor. Saves 0.4 seconds of editor startup time. Change 3991164 by Rex.Hill Optimize editor startup time: FindModulePaths() - Invalidates cache when search paths added - Use cache during wildcard searches containing * and ? Change 3995366 by Anthony.Bills Update BuildCrossToolchain script to allow a Linux host targeting multiple Linux architectures (including the hosts arch). Added a patch to support a gcc 4.8.5 based toolchain on windows (potentially useful for users crosscompiling using GCC and libstdc++ and targeting CentOS 7). #review-3848487 @arciel.rekman, @brandon.schaefer Change 3996109 by Jamie.Dale Reworked BP error messages to be more localization friendly #jira UETOOL-1356 Change 3996123 by Michael.Dupuis #jira UE-57427: Update random color on load of the component #jira UE-56272: Change 3996279 by Merritt.Cely Removed hardware survey from editor #jira an-2243 #tests launched the editor Change 3996626 by Alexis.Matte Fix crash when SkeletalMesh tangent buffer is empty after the build and we serialize the tangent array. #jira UE-57227 Change 3996663 by Max.Chen Sequencer: Fix fbx animation export - rotation and scale channels were flipped. #jira UE-57509 #jira UE-57512 #jira UE-57514 Change 4000331 by Brandon.Schaefer Add a GFNameTableForDebuggerVisualizers_MT back only for Unix under the Core module #review-3999426 @Arciel.Rekman #jira UE-55298 Change 4000450 by Matt.Kuhlenschmidt Another guard against a factory being destroyed during import #jira UE-57674 Change 4000459 by Matt.Kuhlenschmidt Added check for valid game viewport to see if this is the problem in UE-57677 #jira UE-57677 Change 4000493 by Matt.Kuhlenschmidt Remove stale GC'd components when refreshing paint mode to prevent crashes #jira UE-52618 Change 4000683 by Jamie.Dale Fixed target being incorrect when added via the Localization Dashboard #jira UE-57588 Change 4000738 by Alexis.Matte Add a section settings to ignore the section when reducing #jira UE-52580 Change 4000920 by Alexis.Matte PR #4219: Fix for SColorGradingPicker preventing PIE (Contributed by projectgheist) author projectgheist projectgheist@gmail.com Change 4001432 by Alexis.Matte Add a fbx re-import resolve material windows, user can now help resolving the material in case the importer fail to found a match. Change 4001447 by Jamie.Dale Fixed property table not working with multi-line editable text Change 4001449 by Jamie.Dale PR #4531: Localization multiline fix (Contributed by Lallapallooza) Change 4001557 by Alexis.Matte Fix a check in fbx scene importer, in case the user import a fbx LOD group with no geometry under it #jira UE-57676 Change 4002539 by Alexis.Matte Make the fbx importer global transform options persist in the config file #jira UE-50897 Change 4002562 by Anthony.Bills Linux: Enable UVS registering for git builds only and remove old Mono and pre-UVS script code. Change 4003241 by Alexis.Matte Fix the staticmesh import socket logic, it was duplicating socket when re-importing #jira UE-53635 Change 4003368 by Michael.Dupuis #jira UE-57276: #jira UE-56239: #jira UE-54547: Make sure we can't go above MaxLOD even for texture streaming Change 4003534 by Alexis.Matte Fix re-import mesh name match #jira UE-56485 Change 4005069 by Michael.Dupuis #jira UE-57594: Add a guard to prevent crash if we have an invalid resource for the heightmap texture (happen when component is deleted, for example) Change 4005468 by Lauren.Ridge Widgets should not be removed from parent when they are pending GC #jira UE-52260 Change 4006075 by Michael.Dupuis Fixed foliage density scaling to be applied even in editor, except in Foliage edit mode. Change 4006332 by Arciel.Rekman UBT: Adding support for bundled toolchains on Linux. - Authored by Anthony Bills, with modifications. Change 4007528 by Matt.Kuhlenschmidt PR #4665: Source control History Window: enlarge column Description (Contributed by SRombauts) Change 4007531 by Matt.Kuhlenschmidt PR #4656: UE-57200: Ignore reference to actor if same actor (Contributed by projectgheist) Change 4007548 by Matt.Kuhlenschmidt PR #4664: Set Password on EditableText (Contributed by projectgheist) Change 4007730 by Brandon.Schaefer Add a new way to symbolicate symbols for a crash at runtime Two new tools are used for this. 1) dump_syms Will generate a symbol file, which is to large to read from at runtime 2) BreakpadSymbolEncoder Takes the dump_syms file and encodes it in such a way we can do a binary search at runtime to find a Program Counter to a symbol we are looking for #review @Arciel.Rekman, @Anthony.Bills #jira UETOOL-1206 Change 4008429 by Lauren.Ridge Fixing undo bug when deleting user widgets from the widget tree #jira UE-56394 Change 4008581 by Cody.Albert Reinitialize needs to set the audio and caption tracks in addition to the video track or the currently selected track will be lost Change 4009605 by Lauren.Ridge Added Recently Opened assets filter under Other Filters in the Content Browser Change 4009797 by Anthony.Bills Linux: Update MultiArchRoot path to not cache. Move in tree toolchain location to match UBT convention and make sure the MultiArchRoot is checked before the system. Change 4010266 by Michael.Trepka Copy of CL 4010052 Moved some key event handling calls to the main thread on Mac to satisfy new macOS requirements #jira UE-54623 Change 4010838 by Arciel.Rekman Linux: limit allowed clang versions to 3.8-6.0. Change 4012160 by Matt.Kuhlenschmidt Changed the messagiing on the crash reporter dialog to reflect new bug submission process #jira UE-56475 Change 4013432 by Lauren.Ridge Fix for non-assets attempting to add to the Content Browser's recent filter #jira none Change 4016353 by Cody.Albert Improved copy/paste behavior for UMG editor: -Pasting in the designer while a canvas is selected will place the new widget under the cursor -Pasting multiple times while a canvas panel is selected in the hierarchy view will cascade the widgets starting at 0,0 -Pasting while something that isn't a panel is selected is now allowed, and will cascade the pasted widgets off the position of the selected widget (as siblings) -Newly pasted widgets will now be selected automatically -Pasting multiple widgets at once will try and maintain their relative positions if they're being pasted into a canvas panel Change 4017274 by Matt.Kuhlenschmidt Added some guards against invalid property handle access #jira UE-58026 Change 4017295 by Matt.Kuhlenschmidt Fix trying to apply delta to a mix of scene components and non scene components. Its acceptable to not have scene components in the selected component list #jira UE-57980 Change 4022021 by Rex.Hill Fix for audio desync and video fast-forwarding behavior. There long delay (500ms+) until samples start arriving unless we use RequestedTimeCurrent. After delay occurs samples begin arriving at accelerated speed until caught up to playback time leading to visual and audio problems. #jira UE-54592 Change 4023608 by Brandon.Schaefer Downscale memory if we dont have enough #jira UE-58073 #review-4023609 @Arciel.Rekman Change 4025618 by Michael.Dupuis #jira UE-58036: Apply world position offset correctly Change 4025661 by Michael.Dupuis #jira UE-57681: Added guard to prevent possible crash if either we have an invalid material or the material parent is invalid Change 4025675 by Michael.Dupuis #jira UE-52919: if no actor was found in the level skip moving the instances Change 4026336 by Brandon.Schaefer Manually generate *.sym files for Physx3 This should be done in the BuildPhysx file Change 4026627 by Rex.Hill Fix memory leak fix when playing video and main thread blocks #jira UE-57873 Change 4029635 by Yannick.Lange Fix VRMode loading assets only when VRMode starts. #jira UE-57797 Change 4030288 by Jamie.Dale Null FreeType face on load error to prevent potential crashes Change 4030782 by Rex.Hill Fix save BuildData after changing reflection capture in a new level #jira UE-57949 Change 4033560 by Michael.Dupuis #jira UE-57710: Added some guard to prevent crash/assert Change 4034244 by Michael.Trepka Copy of CL 4034116 Fixed arrow keys handling on Mac Change 4034708 by Lauren.Ridge PR #4699: UE-8508: Update config file to keep folder color in sync (Contributed by projectgheist) #jira UE-58251 Change 4034746 by Lauren.Ridge PR #4701: Add option to close tabs to the right of the active tab (Contributed by jesseyeh) #jira UE-58277 Change 4034873 by Lauren.Ridge Fix for not being able to enter simulate more than once in a row. #jira UE-58261 Change 4034922 by Lauren.Ridge PR #4387: Commands mapped in incorrect location (Contributed by projectgheist) #jira UE-53752 Change 4035484 by Lauren.Ridge Tentative fix for crash on pasting comment. All other accesses to UMaterialExpressionComment check its validity first #jira UE-57979 Change 4037111 by Brandon.Schaefer Try to use absolute path from dladdr if we can to find the sym files #jira UE-57858 #review-4013964 @Arciel.Rekman Change 4037366 by Brandon.Schaefer Dont check the command line before its inited #review-4037183 @Arciel.Rekman #jira UE-57947 Change 4037418 by Alexis.Matte Remove the checkSlow when adding polygon Change 4037745 by Brandon.Schaefer Use as much info as we can during ensure Just as fast as the old way but with more information #review-4037495 @Arciel.Rekman #jira UE-47770 Change 4037816 by Rex.Hill Import mesh optimization, BuildVertexBuffer Change 4037957 by Arciel.Rekman UBT: make it easier to try XGE on Linux. Change 4038401 by Lauren.Ridge Reordering is now correctly handled by undo. Reordering and then undoing will no longer cause a "ghost" widget to also be part of the tree. #jira UE-58206 Change 4039612 by Anthony.Bills Unix: Check for null StdOut and ReturnCode parameters, otherwise the code may dereference a null variable when the process fails to create. Change 4039754 by Alexis.Matte Remove the Render meshdescription, no need to carry this temporary data in the staticmesh Change 4039806 by Anthony.Bills Linux: UVS fixes - Update to use new Unix base platform. - Use bin/bash instead of usr/bin/bash (may need revisiting later). - Recompile Shipping version with changes. - Update Setup.sh to run from correct CWD (due to current limitations in the relative directory handling). Change 4039883 by Lauren.Ridge PR #4576: Save editor config to file first time a fav folder is added in the co. (Contributed by projectgheist) #jira UE-56249 Change 4040117 by Lauren.Ridge Replacing widgets should now also clear out references to the widget #jira UE-57045 Change 4040790 by Lauren.Ridge Tentative fix for Project Launcher crash when platform info not found #jira UE-58371 Change 4042136 by Arciel.Rekman UBT: refactor of LinuxToolChain to make it leaner and more configurable. - Made it possible to override SDK passed to the toolchain. - Simplified the code by using the same executable names on Windows and Linux (as .exe is optional), except where File.Exists() is needed (also remove a few) - Some minor renames to make it clear that SystemSDK means system compiler (which otherwise may be unclear) - Made changes to accomodate the new debug format. Change 4042930 by Brandon.Schaefer GCoreObjectArrayForDebugVisualizers was changed to FChunkedFixedUObjectArray reflect that in the Unix part Change 4043539 by Brandon.Schaefer Fix callsite address being used at times for the Program Counter Fix only reporting the actual callstack and not the crash handling callstacks #review-4041370 @Arciel.Rekman #jira UE-58477 Change 4043674 by Arciel.Rekman Added Linux ARM64 (AArch64) lib for MikkTSpace. - Now required for standalone games due to EditableMesh runtime plugin. Change 4043677 by Arciel.Rekman Linux: updated ARM64 (AArch64) version of SDL2. Change 4043690 by Arciel.Rekman Linux: allow compiling VulkanRHI for AArch64 (ARM64). Change 4045467 by Brandon.Schaefer Add Anthony Bills SetupToolchain.sh script Used to download the latest toolchain Change 4045940 by Michael.Trepka Return empty list instead of null from Mac GetDebugInfoExtensions() in UBT #jira UE-58470 Change 4046542 by Alexis.Matte Fix skeletal re-import material assignation #jira UE-58551 Change 4048262 by Brandon.Schaefer Rebuild SDL with pulse audio libs #jira UE-58577 Change 3887093 by Anthony.Bills Add bundled mono binary for Linux. - Unify some of the script structure across Mac and Linux. - This currently uses the same mono C# assemblies as Mac to keep the additional source size down. - If the Mac mono version is updated, the Linux version will also need to be updated to match the same mono git revision. - The system version of mono can still be used by setting the UE_USE_SYSTEM_MONO env var to 1. Change 4003226 by Michael.Dupuis Refactored StaticMeshInstancing to now use a command buffer to communicate with the GPU to prevent concurent access issues. It's mostly used in Editor or if runtime changes occur, otherwise the data is built and send to the GPU directly without keeping CPU copy. Changed how the density scaling was applied to be more optimal Removed UseDynamicInstanceBuffer as the concept is now irrelevant Change 3833097 by Jamie.Dale Localization Pipeline Optimization Manifest/Archives: Added FLocKey to keep an immutable string and its hash. This is used in several places within manifests and archives to minimize string hashing. FLocTextHelper also now take these in its API. This also fixes some places where manifests were being iterated by key rather than source string (as this was causing redundant work). Portable Object: Cleaned up a lot of redundant code, changed things to use FLocKey, and simplified a lot of string manipulation to use algorithms instead (which proved to be faster). Asset Gathering: Optimized the way garbage collection runs while gathering from assets so that we avoid purging assets that we still need to gather from (or are still active dependencies). This also sorts the assets so that we can try and evict dependencies from memory as soon as possible (in much the same way that the cooker does). Automation: The gather commandlet can now take multiple configs to process. This is used by automation to avoid starting the editor several times (which can save a significant amount of start-up overhead). [CL 4052378 by Lauren Ridge in Main branch]
2018-05-04 14:14:10 -04:00
if (!bCanClose || !Tab->RequestCloseTab())
{
++DestroyIndex;
}
}
}
}
void SDockingTabStack::CloseAllButForegroundTab(ETabsToClose TabsToClose)
{
TSharedPtr<SDockTab> ForegroundTab = TabWell->GetForegroundTab();
if (ForegroundTab.IsValid())
{
int32 DestroyIndex = 0;
while ((TabWell->GetNumTabs() > 1) && (DestroyIndex < TabWell->GetNumTabs()))
{
const TSharedRef<SDockTab>& Tab = TabWell->GetTabs()[DestroyIndex];
const ETabRole VisualTabRole = Tab->GetVisualTabRole();
const bool bCanClose =
(TabsToClose == CloseAllTabs) ||
(TabsToClose == CloseDocumentTabs && VisualTabRole == ETabRole::DocumentTab) ||
(TabsToClose == CloseDocumentAndMajorTabs && (VisualTabRole == ETabRole::DocumentTab || VisualTabRole == ETabRole::MajorTab));
if ((Tab == ForegroundTab) || !bCanClose || !Tab->RequestCloseTab())
{
++DestroyIndex;
}
}
}
}
FReply SDockingTabStack::TabWellRightClicked( const FGeometry& TabWellGeometry, const FPointerEvent& MouseEvent )
{
if (MouseEvent.GetEffectingButton() == EKeys::RightMouseButton)
{
FWidgetPath WidgetPath = MouseEvent.GetEventPath() != nullptr ? *MouseEvent.GetEventPath() : FWidgetPath();
FSlateApplication::Get().PushMenu(AsShared(), WidgetPath, MakeContextMenu(), FSlateApplication::Get().GetCursorPos(), FPopupTransitionEffect::ContextMenu);
return FReply::Handled();
}
else
{
return FReply::Unhandled();
}
}
SDockingNode::ECleanupRetVal SDockingTabStack::CleanUpNodes()
{
if (TabWell->GetNumTabs() > 0)
{
return VisibleTabsUnderNode;
}
else if (Tabs.Num() > 0)
{
SetVisibility(EVisibility::Collapsed);
return HistoryTabsUnderNode;
}
else
{
return NoTabsUnderNode;
}
}
TSharedRef<SWidget> SDockingTabStack::MakeContextMenu()
{
// Show a menu that allows users to toggle whether
// a specific tab should hide if it is the sole tab
// in its tab well.
const bool bCloseAfterSelection = true;
const bool bCloseSelfOnly = false;
FMenuBuilder MenuBuilder( bCloseAfterSelection, NULL, TSharedPtr<FExtender>(), bCloseSelfOnly, &FCoreStyle::Get() );
{
Slate: Refactored core Slate implementation into SlateCore module in preparation for UMG. Other Updates: - The WidgetReflector is now in its own module as well. It will be converted to a plug-in later. - The Public API of both Slate and SlateCore has largely been reorganized for better discoverabilty. More cleanup work is needed. - Added a lot of missing API documentation and fixed existing ones. More and better documentation is needed. - Removed dead code, fixed a couple things I stubled upon, and conformed to coding guidelines (NULL vs nullptr, line breaks, etc.) Upgrade Notes: - The Slate Remote Server is currently disabled - will be re-enabled shortly! - If your module previously had a module dependency to 'Slate', it now also needs a PrivateModuleDependency to 'SlateCore' in its Build.cs file. - If your module exposes in any of its Public header files types that are now declared in SlateCore, it needs a PublicModuleDependency to 'SlateCore' - The ToolTip property type on SWidget has changed from SToolTip to IToolTip; change local variables to TSharedPtr<IToolTip> instead of TSharedPtr<SToolTip> where needed - IToolTip is not a widget. If you need access to the actual widget that represents the tool tip, use IToolTip::AsWidget(); If you need access to the tool tip's content, use IToolTip::GetContentWidget() Troubleshooting: - After syncing to this changelist you may have to clean your /Engine/Intermediate/Build/ directory and rebuild your entire project - If in your project you are getting linker errors for unresolved types that are now declared in SlateCore, you may be missing a dependency to 'SlateCore' - If in the Engine code you are getting linker errors for unresolved types that are now declared in SlateCore, you may need to rebuild the entire Engine [CL 2057118 by Max Preussner in Main branch]
2014-04-26 15:07:24 -04:00
MenuBuilder.BeginSection("DockingTabStackOptions", LOCTEXT("TabOptionsHeading", "Options") );
{
MenuBuilder.AddMenuEntry(
LOCTEXT("CollapseTabWell", "Hide Tabs"),
LOCTEXT("CollapseTabWellTooltip", "Collapses the tabs headers to save room."),
FSlateIcon(),
FUIAction(
FExecuteAction::CreateSP( this, &SDockingTabStack::ToggleTabWellVisibility ),
FCanExecuteAction::CreateSP( this, &SDockingTabStack::CanHideTabWell )
)
);
if(IsTabAllowedInSidebar(TabWell->GetForegroundTab()))
{
MenuBuilder.AddMenuEntry(
LOCTEXT("MoveToSidebar", "Dock to Sidebar"),
LOCTEXT("MoveToSidebarTooltip", "Moves this tab to a sidebar drawer on the side of the window closest to the tab.\nThe tab can be opened from the drawer and will automatically close again when clicking off it."),
FSlateIcon(),
FUIAction(
FExecuteAction::CreateSP(this, &SDockingTabStack::MoveForegroundTabToSidebar),
FCanExecuteAction::CreateSP(this, &SDockingTabStack::CanMoveForegroundTabToSidebar)
)
);
}
}
MenuBuilder.EndSection();
MenuBuilder.BeginSection("DockingTabStackCloseTabs");
{
MenuBuilder.AddMenuEntry(
Slate: Refactored core Slate implementation into SlateCore module in preparation for UMG. Other Updates: - The WidgetReflector is now in its own module as well. It will be converted to a plug-in later. - The Public API of both Slate and SlateCore has largely been reorganized for better discoverabilty. More cleanup work is needed. - Added a lot of missing API documentation and fixed existing ones. More and better documentation is needed. - Removed dead code, fixed a couple things I stubled upon, and conformed to coding guidelines (NULL vs nullptr, line breaks, etc.) Upgrade Notes: - The Slate Remote Server is currently disabled - will be re-enabled shortly! - If your module previously had a module dependency to 'Slate', it now also needs a PrivateModuleDependency to 'SlateCore' in its Build.cs file. - If your module exposes in any of its Public header files types that are now declared in SlateCore, it needs a PublicModuleDependency to 'SlateCore' - The ToolTip property type on SWidget has changed from SToolTip to IToolTip; change local variables to TSharedPtr<IToolTip> instead of TSharedPtr<SToolTip> where needed - IToolTip is not a widget. If you need access to the actual widget that represents the tool tip, use IToolTip::AsWidget(); If you need access to the tool tip's content, use IToolTip::GetContentWidget() Troubleshooting: - After syncing to this changelist you may have to clean your /Engine/Intermediate/Build/ directory and rebuild your entire project - If in your project you are getting linker errors for unresolved types that are now declared in SlateCore, you may be missing a dependency to 'SlateCore' - If in the Engine code you are getting linker errors for unresolved types that are now declared in SlateCore, you may need to rebuild the entire Engine [CL 2057118 by Max Preussner in Main branch]
2014-04-26 15:07:24 -04:00
LOCTEXT("CloseTab", "Close"),
LOCTEXT("CloseTabTooltil", "Close this tab."),
FSlateIcon(),
FUIAction(
FExecuteAction::CreateSP( this, &SDockingTabStack::CloseForegroundTab ),
FCanExecuteAction::CreateSP(this, &SDockingTabStack::CanCloseForegroundTab)
)
);
const ETabsToClose TabsToClose = CloseDocumentAndMajorTabs;
Copying //UE4/Dev-Editor to //UE4/Dev-Main (Source: //UE4/Dev-Editor @ 4048875) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3808185 by Cody.Albert Added missing calls to FEditorViewportClient::AddReferencedObjects in overrides Change 3809824 by Michael.Trepka Improved the way we generate groups in Xcode project's source code navigator. They are now sorted alphabetically and have correct paths so Xcode no longer displays them in red. Also, added __INTELLISENSE__ to preprocessor definitions for indexing to improve indexing without game header files generated. Change 3810089 by Jamie.Dale Fixed PO files failing to import translations containing only whitespace Change 3811281 by Matt.Kuhlenschmidt PR #4331: Toggle SIE shortcut only in PIE (Contributed by projectgheist) Change 3813031 by Matt.Kuhlenschmidt Fix undocked tabs not dropping at users mouse location #jira UE-53427 Change 3813361 by Brandon.Schaefer Print what SDL video driver we are using Change 3818430 by Matt.Kuhlenschmidt PR #4365: Incorrect font name and forgotten undef (Contributed by projectgheist) Change 3818432 by Matt.Kuhlenschmidt PR #4366: Asset Color Strip updates correct on drag and drop (Contributed by projectgheist) Change 3818436 by Matt.Kuhlenschmidt PR #4367: Improved logging (Contributed by projectgheist) Change 3819886 by Matt.Kuhlenschmidt Add a way to optionally disable the warning about referenced actors being moved to other levels. Useful for bulk actor moves via script Change 3819888 by Matt.Kuhlenschmidt Avoid crashing when a window size becomes too large to render. Instead just ensure and clamp to the maximum allowed size. Avoids crashes where the screen dimensions are saved with super large numbers for unknown reasons Change 3821773 by Brandon.Schaefer Fix crash when importing to level #jira UE-31573 Change 3821892 by Jamie.Dale Improved the localized asset cooking so that it only cooks L10N variants if their source asset is cooked #jira UE-53010 Change 3823714 by Christina.TempelaarL #jira UE-52179 added support for grayscale PSD files Change 3826805 by Christina.TempelaarL #jira UE-49636 SceneCaptureComponent2D hidden actor and show only actors disabled in blueprints #jira UE-53445 SceneCaptureComponent2D hidden actors always disabled in details layout Change 3828444 by Anthony.Bills Add LXC container script for building third party libraries. The intention is that this should become the only way to rebuild the third party libraries that require system dependencies not included in the cross-compile toolchain and also to rebuild the toolchains. Other third party libraries without any system dependencies could be rebuilt via the cross-compile toolchains/UBT. This script has been tested running on CentOS 7 and Ubuntu 17.10. Buy default the x86 and x86_64 builds will be built against a CentOS 6 container (and targeting glibc 1.12) and the aarch64 and armhf builds will use an Ubuntu Ubuntu Trusty (14.04) but this is not yet complete. Change 3828754 by Brandon.Schaefer Linux: Fix gamepad thumbstick clicks not registering (github #4209 thanks J??rn M??ller) #jira UE-45722 #review-3828733 Arciel.Rekman Change 3830414 by Brandon.Schaefer Remove circular referencing to a parent window. Move to use AddSP vs AddRaw as well to be safe manually remove ourselves from the selection event delegate list due to Linux pending deletion of windows. Looks like this should fix UE-28322 as well which I've removed the work around placed in for that. #jira UE-53918 #review @michael.trepka, @matt.kuhlenschmidt, @arciel.rekman Change 3830916 by Brandon.Schaefer More verbose message about missing VK extensions (from Marcin Undak) #review-3830710 marcin.undak, arciel.rekman Change 3831339 by Brandon.Schaefer Default to as-needed for debug mode #jira none #review-3830658 Arciel.Rekman Change 3833102 by Jamie.Dale Re-added warning for duplicate package localization IDs when gathering asset localization Change 3834600 by Jamie.Dale Optimized asset registry filter intersection Change 3838024 by Brandon.Schaefer Remove tracking of CLion/CMake build files (from github #4346 thanks reapazor!) #jira UE-53551 #review-3835803 arciel.rekman Change 3839969 by Michael.Dupuis #jira UE-52289: When OnRegister is called on the component make sure our PerInstanceRenderData is up to date Prevent a possible crash if ClearInstanceSelection was called on a component with no PerInstanceRenderData existing Change 3840049 by Michael.Dupuis #jira UE-52975: Was always performing the equivalent of an Add, so now we use the Transform during the duplicate Change 3840071 by Matt.Kuhlenschmidt - Combine some shader params for slate in order to reduce overhead setting uniform buffers - Added better stats for slate draw call rendering - cleaned up huge lambda in Slate rendering main function so we can read the main slate rendering function again Change 3840291 by Michael.Dupuis #jira UE-53053: Was having a mismatch between the remove reorder and the actual remove Change 3840840 by Michael.Dupuis #jira UE-53944: Make sure the LOD generated is in the valid range to prevent the crash Change 3842072 by Michael.Dupuis #jira UE-50299: Include NumSubsection in calculation of component quad factor Change 3842487 by Christina.TempelaarL #jira UE-50573 HighResShot has wrong res in immersive mode Change 3845702 by Matt.Kuhlenschmidt PR #4381: DefaultASTCQualityBySpeed too high max value. (Contributed by kallehamalainen) Change 3845706 by Matt.Kuhlenschmidt PR #4388: Only restore window if minimized (Contributed by projectgheist) Change 3845993 by Christina.TempelaarL #jira UE-41558 crash when selecting PostProcessingVolumes in separate levels Change 3856395 by Brandon.Schaefer No longer using ALAudio on Linux #jira UE-53717 Change 3858324 by Michael.Trepka Preserve command line arguments in Xcode project when regenerating it Change 3858365 by Michael.Dupuis #jira UE-52049: There was a case where adding and removing multiple time would lead to reordering the instances and this would cause the regeneration of the random stream for all the reorded instances. Change 3858492 by Michael.Trepka Updated dependencies for Mac dSYM files so that only cross-referenced modules have their dSYMs recreated on subsequent builds instead of all modules. Change 3859470 by Michael.Trepka CIS fix. Make sure a scheme file exists before trying to read it when generating Xcode project. Change 3859900 by Joe.Conley Fix for "Check Out Assets" window not properly receiving focus. Change 3865218 by Michael.Dupuis #jira UE-45784: Exposed the possibility to edit LDMaxDrawDistance Change 3866957 by Michael.Dupuis #jira UE-42509: Added BodyInstance to ULandscapeSplineSegment and ULandscapeSplineControlPoint Deprecated bEnabledCollision and migrate data as it's replaced by BodyInstance Change 3867220 by Cody.Albert Fixed Project Launcher scrollbar to properly stay anchored at the bottom of the scroll area. Change 3869117 by Michael.Dupuis #jira UE-42509:Fixed compile error when not having editor data Change 3872478 by Arciel.Rekman Linux: disable PIE if compiler enables it by default. Change 3874786 by Michael.Dupuis #jira UE-46925: Remove the guessing functionality when importing a heightmap, and instead propose to the user valid size that can be used for the import through a combo button. Improved usability of the UI by disabling size field when no file was specified Change 3875859 by Jamie.Dale Implemented our own canonization for culture codes Change 3877604 by Cody.Albert We now validate actor names passed to SetActorLabel to ensure None isn't passed in, which can corrupt levels Change 3877777 by Nick.Shin PhysX build fix - this came from CL: 3809757 #jira UE-54924 Cannot rebuild Apex/PhysX/NvCloth .emscripten missing Change 3881693 by Alexis.Matte Fix local path search to not search in memory only #jira UE-55018 Change 3882512 by Michael.Dupuis #jira none : Fixed screen size calculation to take aspect ratio into account correctly Change 3886926 by Arciel.Rekman Linux: fixed checking clang settings during the cross-build (UE-55132). #jira UE-55132 Change 3887080 by Anthony.Bills Updated SDL2 build script. - Now allows compiling inside a CentOS 6 or Ubuntu 12.04 container with wayland support when using the ContainerBuildThirdParty.sh. - Added multiple build arch support to the BuildThirdParty script and pass this down to the SDL2 build script. Change 3887260 by Arciel.Rekman Linux: fix leaking process handles in the cross-toolchain. Change 3889072 by Brandon.Schaefer Fix RPath workaround, to better handle both cases #jira UE-55150 #review-3888119 @Arciel.Rekman, @Ben.Marsh Change 3892546 by Alexis.Matte Remove fbx exporter welded vertices options #jira UE-51575 Change 3893516 by Michael.Dupuis Remove static mesh instancing async buffer filling, as with all the changes made, it's no longer necessary, the cost of loading very large buffer is negligable Rebuild the occlusion tree when using foliage.DensityScale with something other than 1.0 Change 3894365 by Brandon.Schaefer Pass FileReference over a raw string to the LinkEnvironment #jira none #review-3894241 @Ben.Marsh, @Arciel.Rekman Change 3895251 by Brandon.Schaefer Use X11 pointer barriers to bound the cursor to a region over warping the pointers. Patch from Cengiz #jira UE-25615 #jira UE-30714 #review-3894886 @Arciel.Rekman Change 3897541 by Michael.Dupuis #jira UE-53787: Added guard if for some reason the material is null we should not try to draw using this material Change 3904143 by Rex.Hill #jira UE-55366: Fix crash when overwriting existing level during level save as #jira UE-42426: Map '_BuiltData' can now be deleted when selected at same time as map - Map '_BuiltData' package is now garbage collected when switching maps in the editor Change 3906373 by Brandon.Schaefer Fix splash image. Use alias format for big/little endian machines. #jira none Change 3906711 by Rex.Hill #jira UE-42426: BuiltData now deleted with maps Change 3907221 by Cody.Albert Add support for relative asset source paths in content plugins Change 3911670 by Alexis.Matte Fix assetimportdata creation owner #jira UE-55567 Change 3912382 by Anthony.Bills Linux: Add binaries for GoogleTest and add to BuildThirdParty script. Change 3914634 by Cody.Albert Added missing include that could cause compile errors if IWYU was disabled. Change 3916227 by Cody.Albert Fixing some cases where we check #ifdef WITH_EDITOR instead of #if WITH_EDITOR Change 3917245 by Michael.Dupuis #jira UE-35097: Fixed crash when creating a new landscape with 2x2 subsection and material containing grass spawning Change 3918331 by Anthony.Bills Linux: Bundled Mono - Explicilty pick libc.so.6 as libc.so is a linker script and store the config file directly. Change 3920191 by Rex.Hill #jira UE-44197 Fix saving sub-level level causing MapBuildData to be deleted Improved MapBuildData rename, move, duplicate, copy Change 3920333 by Matt.Kuhlenschmidt Render target clear color property now settable in editor #jira UE-55347 Change 3926094 by Michael.Dupuis #jira UE-51502: Added some min/max values to foliage and grass settings to prevent overflow/crash #coderevew jack.porter Change 3926243 by Michael.Dupuis #jira UE-54669: cleaned up invalid/duplicate shader and moved some shaders to appropriate list Change 3926760 by Jamie.Dale Added support for TTC/OTC fonts These can be used via a sub-face index on FFontData, which can be set via a new combo in the font editor. You can also see the cached list of sub-faces within a font file from the UFontFace asset. Change 3927793 by Anthony.Bills Mono: Remove SharpZipLib and references from bundled Mono. #review-3887212 @ben.marsh, @michael.trepka Change 3928029 by Anthony.Bills Linux: Add support for UnrealVersionSelector. - Supports using UVS to launch without a project file. This will then launch the selected engine's project wizard. - Linux UVS uses Slate for the version selection and error log dialogs. - Mime-types and desktop file support added to DesktopPlatformLinux to allow associating with UVS as per the Windows binary and git builds. - Icons added for Linux. #review-3882197 @arciel.rekman, @brandon.schaefer Change 3931293 by Alexis.Matte Add generic Levenshtein edit distance to core algo. This algorithm will help suggesting name matching when users have to resolve material name conflict when re-import fbx meshes. Add also plenty of automation tests for it. #jira none Change 3931436 by Arciel.Rekman Stop RHI thread before shutting down RHI. - Prevents crashes for some drivers that create TLS objects with destructors; those destructors will get called after the thread exited, but the library will already be unloaded on RHI shutdown. Change 3934287 by Alexis.Matte Fix crash when re-importing skeletal mesh. Skinned component render data resource is now release when re-importing. #jira none Change 3937585 by Lauren.Ridge Added labels to the colors stored in the theme bar. Change 3937738 by Alexis.Matte Make sure content browser do not show a preview asset created when we cancel an export animation preview #jira UE-49743 Change 3941345 by Michael.Dupuis #jira UE-26959: Prevent reusing multiple type the same grass type into the same material grass output node Change 3941453 by Michael.Dupuis #jira UE-47492: Added a guard to validate LayerIndex Change 3942065 by Jamie.Dale Fixed crash trying to use FSlateApplication when it wasn't available (eg, in a commandlet) Change 3942573 by Alexis.Matte Fix static analysis Change 3942623 by Michael.Dupuis #jira 0 Cast to ulong as TaskIndex * NumStripes could exceed an int limit and add an assert if the wraparound is negative Change 3942993 by Matt.Kuhlenschmidt PR #4547: Verify the return value of FT_New_Memory_Face (Contributed by jorgenpt) Change 3942998 by Matt.Kuhlenschmidt PR #4554: Cleanup log printing (Contributed by projectgheist) Change 3943003 by Matt.Kuhlenschmidt PR #4534: Prevent Fatal log when alt tabbing during a level save (Contributed by projectgheist) Change 3943011 by Matt.Kuhlenschmidt PR #4518: edit (Contributed by pdlogingithub) Change 3943027 by Matt.Kuhlenschmidt PR #4524: Notifications always render on the screen with the main viewport (Contributed by projectgheist) Change 3943074 by Matt.Kuhlenschmidt PR #4484: Add group actor to folder (Contributed by ggsharkmob) Change 3943079 by Matt.Kuhlenschmidt PR #4431: Git Plugin: replace usage of the 2 cli args "--work-tree" and "--git-dir" by "-C" (Contributed by SRombauts) Change 3943092 by Matt.Kuhlenschmidt PR #4434: Git plugin: configure the default remote URL 'origin' (Contributed by SRombauts) Change 3943132 by Matt.Kuhlenschmidt PR #4247: Add File picker to Git Path setting on GitSourceControl (Contributed by shiena) Change 3943141 by Matt.Kuhlenschmidt PR #4303: Fix ULevelExporterT3D so that it works in a commandlet (Contributed by DSDambuster) Change 3943349 by Jamie.Dale Cleaned up PR #4547 Made the assert non-fatal to avoid it being able to take down the editor if you load up a bad font. Fixed some code that was deleted during the merge. Change 3943976 by Michael.Trepka Copy of CL 3940687 Fixed long link times when building for Mac in Debug by passing -no_deduplicate flag to the linker, which is what Xcode does in Debug configs. #jira none Change 3944882 by Matt.Kuhlenschmidt Fix a few regressions with scene viewport activation locking can capturing the cursor in editor #jira UE-56080, UE-56081 Change 3947339 by Michael.Dupuis #jira UE-55664: Fixed undo/redo buffer handling so we remove from the beginning of the buffer during undo buffer where buffer is at max memory and from the end during redo operation. Fixed cancel also to re add removed transaction at the end or the start depending if we're doing a redo or undo operation Fixed the Undo History UI to listen to an event when the undo buffer changed instead of checking every frame, as when the buffer was full, no changes would occur, thus no UI update. Change 3948179 by Jamie.Dale Fixed monochromatic font rendering - All non-8bpp images are now converted to 8bpp images for processing in Slate. - We convert the gray color of any images not using 256 grays (eg, monochromatic images that use 2 grays). - Fixed a case where the temporary bitmap wasn't being deleted. - Fixed a case where the bitmap could be used after it was deleted. - Added a CVar (Slate.EnableFontAntiAliasing) to control whether you want anti-aliased (256 grayscale) rendering (default), or monochromatic (2 grayscale) rendering. Change 3949922 by Alexis.Matte Ensure fbx node name are not empty when loading a fbx file. I use the same naming convention as Maya #jira UE-56079 Change 3950202 by Rex.Hill Fix crash during editor asset automation tests. Now skips showing modal progress window when opening asset editor window. ActiveTopLevelWindow is not set when modal windows are open. #jira UE-56112 Change 3950484 by Michael.Dupuis #jira UE-52176: delete the Cluster tree when the builder is no longer needed Change 3954628 by Michael.Dupuis Bring back 4.19/4.19.1 Landscape changes Change 3957037 by Michael.Dupuis #jira UE-53343: Add foliage instances back when changing component size Changed the formulation for the Clip/Expand behavior to make it more explicit on what will happen Added SlowTask stuff to manage big landscape change Change 3959020 by Rex.Hill Rename/move file MallocLeakDetection.h Change 3960325 by Michael.Dupuis Fixed static analysis Change 3961416 by Michael.Dupuis #jira UE-46100: Exposed UseDynamicInstanceBuffer on Foliage type, so user can decide if they want to update them dynamically #jira UE-55092: Fixed the warning to appear when having resource array as empty but VB as set up Added data conssitency that when using Dynamic buffer, Keep CPU Access should also be true, even if implicitly it's already the case, now it's explicit Change 3962372 by Michael.Trepka Copy of CL 3884121 Fix for SProgressBar rendering incorreclty on Mac #jira UE-56241 Change 3964931 by Anthony.Bills Linux: Add cross-compiled binary of UVS Shipping. Change 3966719 by Matt.Kuhlenschmidt Fix parameters out of order here #jira UE-56399 Change 3966724 by Matt.Kuhlenschmidt PR #4585: Export symbols for the FDragTool (Contributed by Begounet) Change 3966734 by Matt.Kuhlenschmidt PR #4596: fix the slider issue of the HighResolutionScreenshot window (Contributed by mamoniem) Change 3966739 by Matt.Kuhlenschmidt Removed duplicated code #jira UE-56369 Change 3966744 by Matt.Kuhlenschmidt PR #4602: Fixes check for existing extensions when generating "All Extensions". (Contributed by PhilBax) Change 3966758 by Matt.Kuhlenschmidt PR #4604: Fixed an issue where the Modules and DebugTools tabs would be unrecognized after startup if docked in the level editor (Contributed by tstaples) Change 3966780 by Matt.Kuhlenschmidt Fix crash accessing graph node title widgets when objects have become stale. #jira UE-56442 Change 3966884 by Alexis.Matte Fix speedtree uninitialized values #jira none Change 3967568 by Alexis.Matte Do not override the screensize when importing a skeletal mesh, let the value set by the AddLodInfo function #jira UE-56493 Change 3968333 by Brandon.Schaefer Fix order of operation #jira UE-56400 Change 3969070 by Anthony.Bills Linux: Make sure to set the UE_ENGINE_DIRECTORY #jira UE-56503 #review-3966609 @arciel.rekman, @brandon.schaefer Change 3971431 by Michael.Dupuis #jira UE-56515: Fixed an issue where ForcedLOD > MaxLOD and make sure that LastLOD will at least contain current streamed in LOD. #jira UE-56517: When using ParallelInitView 1 there was a memory leak related to a reallocate that happen with the TArray of FMemstack Pass correctly LODDistanceFactor instead of View.LODScale as we do not want StaticMeshScale to affect us. Change 3971467 by Matt.Kuhlenschmidt Fixed crash deleting a texture with texture painting on it #jira UE-56994 Change 3971557 by Matt.Kuhlenschmidt Fix temporary exporter objects being potentially GC'd and causing crashes during export #jira UE-56981 Change 3971713 by Cody.Albert PR #4597: [FPS Template] Small null pointer check fix and cleanup (Contributed by TheCodez) Change 3971846 by Michael.Dupuis #jira UE-56517: Properly "round" the count so we have the right amount of memory reserved #jira UE-56515: Still had a edge case left, so when using forced lod i simply make sure the value is in valid range, and allocate all the required data for this range Change 3973035 by Nick.Atamas Line and Spline rendering changes: * Lines/Splines now use 1 UV channel to anti-alias (this channel can be used for texturing) * Anti-aliasing filter now adjusted based on resolution * Modified Line/Spline topology to accomodate new UV requirements * Disabled vertex snapping for anti-aliased lines/splines; previously vertexes were snapped, but vertex positions did not affect line rendering (behavior effectively unchanged) * Splines now adaptively subdivided to avoid certain edge-cases Change 3973345 by Nick.Atamas - Number tweaks to maintain previously perceived wire thickness in various editors. Change 3977764 by Rex.Hill MallocTBB no longer debug fills bytes in development configuration Change 3978713 by Arciel.Rekman UVS: Fix stale dependency. Change 3980520 by Matt.Kuhlenschmidt Fix typo #jira UE-57059 Change 3980557 by Matt.Kuhlenschmidt Fixed negative pie window sizes causing crashes #jira UE-57100 Change 3980565 by Matt.Kuhlenschmidt PR #4628: Fixed revert action, now correctly uses CanRevert() condition (Contributed by Kryofenix) Change 3980568 by Matt.Kuhlenschmidt PR #4626: UE-57111: Handle CaptureRegion for HighResShot in PIE (Contributed by projectgheist) Change 3980580 by Matt.Kuhlenschmidt PR #4567: [Editor UI] Pick Parent Class dialog: set keyboard focus and handle Escape & Enter (Contributed by SRombauts) Change 3980581 by Matt.Kuhlenschmidt PR #4565: [Editor UI] Add C++ Class dialog: set keyboard focus and handle Escape & Enter (Contributed by SRombauts) Change 3981341 by Jamie.Dale Re-added GIsEditor condition around package namespace access #jira UE-55816 Change 3981808 by Ryan.Brucks Added LandscapeProxy functions to push RenderTarget data to Heightmaps and Weightmaps Change 3983344 by Jack.Porter #include fixes for CL 3981808 #jira 0 Change 3983391 by Jack.Porter One for #include fix for CL 3981808 #jira 0 Change 3983562 by Michael.Dupuis #jira UE-53787: Make sure the material array is valid before trying to generate static mesh batch element #jira UE-56451: Instead of asserting, simply skip this element as it had invalid custom data anyway, so we can't render it Change 3983600 by Matt.Kuhlenschmidt PR #4289: Pragma Once/Include guard cleanup (Contributed by projectgheist) Change 3983637 by Matt.Kuhlenschmidt PR #4408: Add a template pregeneration hook (Contributed by mhutch) Change 3984392 by Michael.Dupuis #jira UE-56314: Correctly apply LODBias on calculated LOD Fixed some Landscape popping that could occur when we were forcing a LOD that didn't match the component screen size Change 3984950 by Rex.Hill Optimized texture import speed 2-3x depending on number of cpu cores and image size Change 3985033 by Rex.Hill File drag and drop is more quick to respond when editor is in background #jira UE-57192 Change 3986218 by Jack.Porter Missing template parameter fix for CL 3981808 #jira 0 Change 3986376 by Michael.Dupuis #jira UE-56453: Do not use the CreateDynamicMaterialInstance as it will change the parenting of the actor used material, instead simply use the function to generate the MID and parent it correctly. Change 3989391 by Matt.Kuhlenschmidt Fix constant FName lookup in level editor when checking various states of level editor tabs Change 3990182 by Rex.Hill Optimize editor startup time: GetCurrentProjectModules Change 3990365 by Alexis.Matte Fix crash with spline mesh when the attach SM get a new imported LOD #jira UE-57119 Change 3991151 by Rex.Hill VR Editor module now waits to load images until VR mode activated in editor. Saves 0.4 seconds of editor startup time. Change 3991164 by Rex.Hill Optimize editor startup time: FindModulePaths() - Invalidates cache when search paths added - Use cache during wildcard searches containing * and ? Change 3995366 by Anthony.Bills Update BuildCrossToolchain script to allow a Linux host targeting multiple Linux architectures (including the hosts arch). Added a patch to support a gcc 4.8.5 based toolchain on windows (potentially useful for users crosscompiling using GCC and libstdc++ and targeting CentOS 7). #review-3848487 @arciel.rekman, @brandon.schaefer Change 3996109 by Jamie.Dale Reworked BP error messages to be more localization friendly #jira UETOOL-1356 Change 3996123 by Michael.Dupuis #jira UE-57427: Update random color on load of the component #jira UE-56272: Change 3996279 by Merritt.Cely Removed hardware survey from editor #jira an-2243 #tests launched the editor Change 3996626 by Alexis.Matte Fix crash when SkeletalMesh tangent buffer is empty after the build and we serialize the tangent array. #jira UE-57227 Change 3996663 by Max.Chen Sequencer: Fix fbx animation export - rotation and scale channels were flipped. #jira UE-57509 #jira UE-57512 #jira UE-57514 Change 4000331 by Brandon.Schaefer Add a GFNameTableForDebuggerVisualizers_MT back only for Unix under the Core module #review-3999426 @Arciel.Rekman #jira UE-55298 Change 4000450 by Matt.Kuhlenschmidt Another guard against a factory being destroyed during import #jira UE-57674 Change 4000459 by Matt.Kuhlenschmidt Added check for valid game viewport to see if this is the problem in UE-57677 #jira UE-57677 Change 4000493 by Matt.Kuhlenschmidt Remove stale GC'd components when refreshing paint mode to prevent crashes #jira UE-52618 Change 4000683 by Jamie.Dale Fixed target being incorrect when added via the Localization Dashboard #jira UE-57588 Change 4000738 by Alexis.Matte Add a section settings to ignore the section when reducing #jira UE-52580 Change 4000920 by Alexis.Matte PR #4219: Fix for SColorGradingPicker preventing PIE (Contributed by projectgheist) author projectgheist projectgheist@gmail.com Change 4001432 by Alexis.Matte Add a fbx re-import resolve material windows, user can now help resolving the material in case the importer fail to found a match. Change 4001447 by Jamie.Dale Fixed property table not working with multi-line editable text Change 4001449 by Jamie.Dale PR #4531: Localization multiline fix (Contributed by Lallapallooza) Change 4001557 by Alexis.Matte Fix a check in fbx scene importer, in case the user import a fbx LOD group with no geometry under it #jira UE-57676 Change 4002539 by Alexis.Matte Make the fbx importer global transform options persist in the config file #jira UE-50897 Change 4002562 by Anthony.Bills Linux: Enable UVS registering for git builds only and remove old Mono and pre-UVS script code. Change 4003241 by Alexis.Matte Fix the staticmesh import socket logic, it was duplicating socket when re-importing #jira UE-53635 Change 4003368 by Michael.Dupuis #jira UE-57276: #jira UE-56239: #jira UE-54547: Make sure we can't go above MaxLOD even for texture streaming Change 4003534 by Alexis.Matte Fix re-import mesh name match #jira UE-56485 Change 4005069 by Michael.Dupuis #jira UE-57594: Add a guard to prevent crash if we have an invalid resource for the heightmap texture (happen when component is deleted, for example) Change 4005468 by Lauren.Ridge Widgets should not be removed from parent when they are pending GC #jira UE-52260 Change 4006075 by Michael.Dupuis Fixed foliage density scaling to be applied even in editor, except in Foliage edit mode. Change 4006332 by Arciel.Rekman UBT: Adding support for bundled toolchains on Linux. - Authored by Anthony Bills, with modifications. Change 4007528 by Matt.Kuhlenschmidt PR #4665: Source control History Window: enlarge column Description (Contributed by SRombauts) Change 4007531 by Matt.Kuhlenschmidt PR #4656: UE-57200: Ignore reference to actor if same actor (Contributed by projectgheist) Change 4007548 by Matt.Kuhlenschmidt PR #4664: Set Password on EditableText (Contributed by projectgheist) Change 4007730 by Brandon.Schaefer Add a new way to symbolicate symbols for a crash at runtime Two new tools are used for this. 1) dump_syms Will generate a symbol file, which is to large to read from at runtime 2) BreakpadSymbolEncoder Takes the dump_syms file and encodes it in such a way we can do a binary search at runtime to find a Program Counter to a symbol we are looking for #review @Arciel.Rekman, @Anthony.Bills #jira UETOOL-1206 Change 4008429 by Lauren.Ridge Fixing undo bug when deleting user widgets from the widget tree #jira UE-56394 Change 4008581 by Cody.Albert Reinitialize needs to set the audio and caption tracks in addition to the video track or the currently selected track will be lost Change 4009605 by Lauren.Ridge Added Recently Opened assets filter under Other Filters in the Content Browser Change 4009797 by Anthony.Bills Linux: Update MultiArchRoot path to not cache. Move in tree toolchain location to match UBT convention and make sure the MultiArchRoot is checked before the system. Change 4010266 by Michael.Trepka Copy of CL 4010052 Moved some key event handling calls to the main thread on Mac to satisfy new macOS requirements #jira UE-54623 Change 4010838 by Arciel.Rekman Linux: limit allowed clang versions to 3.8-6.0. Change 4012160 by Matt.Kuhlenschmidt Changed the messagiing on the crash reporter dialog to reflect new bug submission process #jira UE-56475 Change 4013432 by Lauren.Ridge Fix for non-assets attempting to add to the Content Browser's recent filter #jira none Change 4016353 by Cody.Albert Improved copy/paste behavior for UMG editor: -Pasting in the designer while a canvas is selected will place the new widget under the cursor -Pasting multiple times while a canvas panel is selected in the hierarchy view will cascade the widgets starting at 0,0 -Pasting while something that isn't a panel is selected is now allowed, and will cascade the pasted widgets off the position of the selected widget (as siblings) -Newly pasted widgets will now be selected automatically -Pasting multiple widgets at once will try and maintain their relative positions if they're being pasted into a canvas panel Change 4017274 by Matt.Kuhlenschmidt Added some guards against invalid property handle access #jira UE-58026 Change 4017295 by Matt.Kuhlenschmidt Fix trying to apply delta to a mix of scene components and non scene components. Its acceptable to not have scene components in the selected component list #jira UE-57980 Change 4022021 by Rex.Hill Fix for audio desync and video fast-forwarding behavior. There long delay (500ms+) until samples start arriving unless we use RequestedTimeCurrent. After delay occurs samples begin arriving at accelerated speed until caught up to playback time leading to visual and audio problems. #jira UE-54592 Change 4023608 by Brandon.Schaefer Downscale memory if we dont have enough #jira UE-58073 #review-4023609 @Arciel.Rekman Change 4025618 by Michael.Dupuis #jira UE-58036: Apply world position offset correctly Change 4025661 by Michael.Dupuis #jira UE-57681: Added guard to prevent possible crash if either we have an invalid material or the material parent is invalid Change 4025675 by Michael.Dupuis #jira UE-52919: if no actor was found in the level skip moving the instances Change 4026336 by Brandon.Schaefer Manually generate *.sym files for Physx3 This should be done in the BuildPhysx file Change 4026627 by Rex.Hill Fix memory leak fix when playing video and main thread blocks #jira UE-57873 Change 4029635 by Yannick.Lange Fix VRMode loading assets only when VRMode starts. #jira UE-57797 Change 4030288 by Jamie.Dale Null FreeType face on load error to prevent potential crashes Change 4030782 by Rex.Hill Fix save BuildData after changing reflection capture in a new level #jira UE-57949 Change 4033560 by Michael.Dupuis #jira UE-57710: Added some guard to prevent crash/assert Change 4034244 by Michael.Trepka Copy of CL 4034116 Fixed arrow keys handling on Mac Change 4034708 by Lauren.Ridge PR #4699: UE-8508: Update config file to keep folder color in sync (Contributed by projectgheist) #jira UE-58251 Change 4034746 by Lauren.Ridge PR #4701: Add option to close tabs to the right of the active tab (Contributed by jesseyeh) #jira UE-58277 Change 4034873 by Lauren.Ridge Fix for not being able to enter simulate more than once in a row. #jira UE-58261 Change 4034922 by Lauren.Ridge PR #4387: Commands mapped in incorrect location (Contributed by projectgheist) #jira UE-53752 Change 4035484 by Lauren.Ridge Tentative fix for crash on pasting comment. All other accesses to UMaterialExpressionComment check its validity first #jira UE-57979 Change 4037111 by Brandon.Schaefer Try to use absolute path from dladdr if we can to find the sym files #jira UE-57858 #review-4013964 @Arciel.Rekman Change 4037366 by Brandon.Schaefer Dont check the command line before its inited #review-4037183 @Arciel.Rekman #jira UE-57947 Change 4037418 by Alexis.Matte Remove the checkSlow when adding polygon Change 4037745 by Brandon.Schaefer Use as much info as we can during ensure Just as fast as the old way but with more information #review-4037495 @Arciel.Rekman #jira UE-47770 Change 4037816 by Rex.Hill Import mesh optimization, BuildVertexBuffer Change 4037957 by Arciel.Rekman UBT: make it easier to try XGE on Linux. Change 4038401 by Lauren.Ridge Reordering is now correctly handled by undo. Reordering and then undoing will no longer cause a "ghost" widget to also be part of the tree. #jira UE-58206 Change 4039612 by Anthony.Bills Unix: Check for null StdOut and ReturnCode parameters, otherwise the code may dereference a null variable when the process fails to create. Change 4039754 by Alexis.Matte Remove the Render meshdescription, no need to carry this temporary data in the staticmesh Change 4039806 by Anthony.Bills Linux: UVS fixes - Update to use new Unix base platform. - Use bin/bash instead of usr/bin/bash (may need revisiting later). - Recompile Shipping version with changes. - Update Setup.sh to run from correct CWD (due to current limitations in the relative directory handling). Change 4039883 by Lauren.Ridge PR #4576: Save editor config to file first time a fav folder is added in the co. (Contributed by projectgheist) #jira UE-56249 Change 4040117 by Lauren.Ridge Replacing widgets should now also clear out references to the widget #jira UE-57045 Change 4040790 by Lauren.Ridge Tentative fix for Project Launcher crash when platform info not found #jira UE-58371 Change 4042136 by Arciel.Rekman UBT: refactor of LinuxToolChain to make it leaner and more configurable. - Made it possible to override SDK passed to the toolchain. - Simplified the code by using the same executable names on Windows and Linux (as .exe is optional), except where File.Exists() is needed (also remove a few) - Some minor renames to make it clear that SystemSDK means system compiler (which otherwise may be unclear) - Made changes to accomodate the new debug format. Change 4042930 by Brandon.Schaefer GCoreObjectArrayForDebugVisualizers was changed to FChunkedFixedUObjectArray reflect that in the Unix part Change 4043539 by Brandon.Schaefer Fix callsite address being used at times for the Program Counter Fix only reporting the actual callstack and not the crash handling callstacks #review-4041370 @Arciel.Rekman #jira UE-58477 Change 4043674 by Arciel.Rekman Added Linux ARM64 (AArch64) lib for MikkTSpace. - Now required for standalone games due to EditableMesh runtime plugin. Change 4043677 by Arciel.Rekman Linux: updated ARM64 (AArch64) version of SDL2. Change 4043690 by Arciel.Rekman Linux: allow compiling VulkanRHI for AArch64 (ARM64). Change 4045467 by Brandon.Schaefer Add Anthony Bills SetupToolchain.sh script Used to download the latest toolchain Change 4045940 by Michael.Trepka Return empty list instead of null from Mac GetDebugInfoExtensions() in UBT #jira UE-58470 Change 4046542 by Alexis.Matte Fix skeletal re-import material assignation #jira UE-58551 Change 4048262 by Brandon.Schaefer Rebuild SDL with pulse audio libs #jira UE-58577 Change 3887093 by Anthony.Bills Add bundled mono binary for Linux. - Unify some of the script structure across Mac and Linux. - This currently uses the same mono C# assemblies as Mac to keep the additional source size down. - If the Mac mono version is updated, the Linux version will also need to be updated to match the same mono git revision. - The system version of mono can still be used by setting the UE_USE_SYSTEM_MONO env var to 1. Change 4003226 by Michael.Dupuis Refactored StaticMeshInstancing to now use a command buffer to communicate with the GPU to prevent concurent access issues. It's mostly used in Editor or if runtime changes occur, otherwise the data is built and send to the GPU directly without keeping CPU copy. Changed how the density scaling was applied to be more optimal Removed UseDynamicInstanceBuffer as the concept is now irrelevant Change 3833097 by Jamie.Dale Localization Pipeline Optimization Manifest/Archives: Added FLocKey to keep an immutable string and its hash. This is used in several places within manifests and archives to minimize string hashing. FLocTextHelper also now take these in its API. This also fixes some places where manifests were being iterated by key rather than source string (as this was causing redundant work). Portable Object: Cleaned up a lot of redundant code, changed things to use FLocKey, and simplified a lot of string manipulation to use algorithms instead (which proved to be faster). Asset Gathering: Optimized the way garbage collection runs while gathering from assets so that we avoid purging assets that we still need to gather from (or are still active dependencies). This also sorts the assets so that we can try and evict dependencies from memory as soon as possible (in much the same way that the cooker does). Automation: The gather commandlet can now take multiple configs to process. This is used by automation to avoid starting the editor several times (which can save a significant amount of start-up overhead). [CL 4052378 by Lauren Ridge in Main branch]
2018-05-04 14:14:10 -04:00
MenuBuilder.AddMenuEntry(
LOCTEXT("CloseTabsToTheRight", "Close Tabs to the Right"),
LOCTEXT("CloseTabsToTheRightTooltip", "Closes all tabs to the right of the active tab."),
FSlateIcon(),
FUIAction(
FExecuteAction::CreateSP( this, &SDockingTabStack::CloseTabsToRightOfForegroundTab, TabsToClose ),
FCanExecuteAction::CreateSP( this, &SDockingTabStack::CanCloseTabsToRightOfForegroundTab )
)
);
MenuBuilder.AddMenuEntry(
LOCTEXT("CloseOtherTabs", "Close Other Tabs"),
LOCTEXT("CloseOtherTabsTooltil", "Closes all tabs except for the active tab."),
FSlateIcon(),
FUIAction(
FExecuteAction::CreateSP( this, &SDockingTabStack::CloseAllButForegroundTab, TabsToClose ),
FCanExecuteAction::CreateSP(this, &SDockingTabStack::CanCloseAllButForegroundTab)
)
);
}
MenuBuilder.EndSection();
TSharedPtr<SDockTab> ForegroundTab = TabWell->GetForegroundTab();
if (ForegroundTab.IsValid())
{
ForegroundTab->ExtendContextMenu(MenuBuilder);
}
}
return MenuBuilder.MakeWidget();
}
void SDockingTabStack::ShowCross()
{
const float DockTargetSize = 32.0f;
if (!OverlayManagement.bShowingCross)
{
this->GetDockArea()->ShowCross();
OverlayManagement.bShowingCross = true;
OverlayManagement.ContentAreaOverlay->AddSlot()
. HAlign(HAlign_Fill)
. VAlign(VAlign_Fill)
[
SNew( SDockingCross, SharedThis(this) )
//SNew(SBorder)
//. BorderImage( FStyleDefaults::GetNoBrush() )
//. Padding( FMargin(0,0,0,0))
//. Content()
//[
// SNew(SVerticalBox)
// + SVerticalBox::Slot()
//.AutoHeight()
// [
// // TOP ROW
// SNew(SHorizontalBox)
// + SHorizontalBox::Slot() .FillWidth(1.0f)
// + SHorizontalBox::Slot()
// [
// SNew(SDockingTarget)
// . OwnerNode( SharedThis(this) )
// . DockDirection( SDockingNode::Above )
// ]
// + SHorizontalBox::Slot() .FillWidth(1.0f)
// ]
// + SVerticalBox::Slot()
//.AutoHeight()
// [
// // MIDDLE ROW
// SNew(SHorizontalBox)
// + SHorizontalBox::Slot()
// .FillWidth(1.0f)
// [
// SNew(SDockingTarget)
// . OwnerNode( SharedThis(this) )
// . DockDirection( SDockingNode::LeftOf )
// ]
// + SHorizontalBox::Slot().AutoWidth()
// [
// // The center node is redundant with just moving the tab into place.
// // It was also confusing to many.
// SNew(SDockingTarget)
// . Visibility(EVisibility::Hidden)
// . OwnerNode( SharedThis(this) )
// . DockDirection( SDockingNode::Center )
// ]
// + SHorizontalBox::Slot()
// .FillWidth(1.0f)
// [
// SNew(SDockingTarget)
// . OwnerNode( SharedThis(this) )
// . DockDirection( SDockingNode::RightOf )
// ]
// ]
// + SVerticalBox::Slot()
//.AutoHeight()
// .HAlign(HAlign_Center)
// [
// // BOTTOM ROW
// SNew(SHorizontalBox)
// + SHorizontalBox::Slot() .FillWidth(1.0f)
// + SHorizontalBox::Slot().AutoWidth()
// [
// SNew(SDockingTarget)
// . OwnerNode( SharedThis(this) )
// . DockDirection( SDockingNode::Below )
// ]
// + SHorizontalBox::Slot() .FillWidth(1.0f)
// ]
//]
];
}
}
void SDockingTabStack::HideCross()
{
if (OverlayManagement.bShowingCross)
{
OverlayManagement.ContentAreaOverlay->RemoveSlot();
OverlayManagement.bShowingCross = false;
}
}
TSharedPtr<FTabManager::FLayoutNode> SDockingTabStack::GatherPersistentLayout() const
{
if( Tabs.Num() > 0 )
{
// Each live tab might want to save custom visual state.
{
const TArray< TSharedRef<SDockTab> > MyTabs = this->GetTabs().AsArrayCopy();
for (int32 TabIndex=0; TabIndex < MyTabs.Num(); ++TabIndex)
{
MyTabs[TabIndex]->PersistVisualState();
}
}
// Persist layout
TSharedRef<FTabManager::FStack> PersistentStack =
FTabManager::NewStack()
->SetSizeCoefficient( this->GetSizeCoefficient() )
->SetHideTabWell( this->IsTabWellHidden() );
TSharedPtr<SDockTab> ForegroundTab = TabWell->GetForegroundTab();
if(ForegroundTab.IsValid())
{
PersistentStack->SetForegroundTab(ForegroundTab->GetLayoutIdentifier());
}
for (int32 TabIndex=0; TabIndex < Tabs.Num(); ++TabIndex)
{
// We do not persist document tabs. Document tabs have a valid InstanceId in addition to a TabType.
const bool bIsTabPersistable = Tabs[TabIndex].TabId.IsTabPersistable();
if ( bIsTabPersistable )
{
PersistentStack->AddTab(Tabs[TabIndex]);
}
}
return PersistentStack;
}
else
{
return TSharedPtr<FTabManager::FLayoutNode>();
}
}
void SDockingTabStack::ClearReservedSpace()
{
bShowingTitleBarArea = false;
TitleBarSlot->SetPadding(0.f);
}
void SDockingTabStack::ReserveSpaceForWindowChrome(EChromeElement Element, bool bIncludePaddingForMenuBar, bool bOnlyMinorTabs)
{
#if PLATFORM_MAC
static const FMargin ControlsPadding = FMargin(64, 0, 0, 0);
static const FMargin IconPadding = FMargin(0);
#else
static const float TopPaddingForMenuBar = 27.0f;
static const float LeftPaddingForIcon = FSlateApplication::Get().GetAppIcon()->GetImageSize().X;
const FMargin ControlsPadding = FMargin(8.f, bIncludePaddingForMenuBar ? TopPaddingForMenuBar : 5.f, 0.f, 0.f);
// If we are including top padding for the menu bar we do not need to pad the left side since we will be below the left icon
const FMargin IconPadding = FMargin(bIncludePaddingForMenuBar ? LeftPaddingForIcon + 12.f : 25.f, bOnlyMinorTabs ? 5.f : 0.f, 0.f, 0.f);
#endif
bShowingTitleBarArea = true;
const FMargin CurrentPadding = TitleBarSlot->GetPadding();
switch (Element)
{
case EChromeElement::Controls:
TitleBarSlot->SetPadding(CurrentPadding + ControlsPadding);
break;
case EChromeElement::Icon:
TitleBarSlot->SetPadding(CurrentPadding + IconPadding);
break;
default:
ensure(false);
break;
}
}
TSharedRef< SDockingTabStack > SDockingTabStack::CreateNewTabStackBySplitting( const SDockingNode::RelativeDirection Direction )
{
TSharedPtr<SDockingSplitter> ParentNode = ParentNodePtr.Pin();
check(ParentNode.IsValid());
TSharedRef<SDockingTabStack> NewStack = SNew(SDockingTabStack, FTabManager::NewStack());
{
NewStack->SetSizeCoefficient( this->GetSizeCoefficient() );
}
ParentNode->PlaceNode( NewStack, Direction, SharedThis(this) );
return NewStack;
}
void SDockingTabStack::SetParentNode( TSharedRef<class SDockingSplitter> InParent )
{
SDockingNode::SetParentNode(InParent);
// OK, if this docking area has a parent window, we'll assume the window was created with no title bar, and we'll
// place the title bar widgets into our content instead!
const TSharedPtr<SDockingArea>& DockArea = GetDockArea();
TitleBarSlot->AttachWidget(TitleBarContent.ToSharedRef());
}
/** What should the content area look like for the current tab? */
const FSlateBrush* SDockingTabStack::GetContentAreaBrush() const
{
TSharedPtr<SDockTab> ForegroundTab = TabWell->GetForegroundTab();
return (ForegroundTab.IsValid())
? ForegroundTab->GetContentAreaBrush()
: FStyleDefaults::GetNoBrush();
}
FMargin SDockingTabStack::GetContentPadding() const
{
TSharedPtr<SDockTab> ForegroundTab = TabWell->GetForegroundTab();
return (ForegroundTab.IsValid())
? ForegroundTab->GetContentPadding()
: FMargin(0);
}
EVisibility SDockingTabStack::GetTabWellVisibility() const
{
const bool bTabWellVisible =
// If we are playing, we're in transition, so tab is visible.
ShowHideTabWell.IsPlaying() ||
// Playing forward expands the tab, so it is always visible then as well.
!ShowHideTabWell.IsInReverse();
return (!bTabWellVisible)
? EVisibility::Collapsed
: EVisibility::SelfHitTestInvisible; // Visible, but allow clicks to pass through self (but not children)
}
const FSlateBrush* SDockingTabStack::GetTabWellBrush() const
{
TSharedPtr<SDockTab> ForegroundTab = TabWell->GetForegroundTab();
return ( ForegroundTab.IsValid() )
? ForegroundTab->GetTabWellBrush()
: FStyleDefaults::GetNoBrush();
}
EVisibility SDockingTabStack::GetUnhideButtonVisibility() const
{
const bool bShowUnhideButton =
// If we are playing, we're in transition, so tab is visible.
ShowHideTabWell.IsPlaying() ||
// Playing forward expands the tab, so it is always visible then as well.
ShowHideTabWell.IsInReverse();
return (bShowUnhideButton)
? EVisibility::Visible
: EVisibility::Collapsed;
}
void SDockingTabStack::ToggleTabWellVisibility()
{
ShowHideTabWell.Reverse();
}
void SDockingTabStack::MoveForegroundTabToSidebar()
{
if (TSharedPtr<SDockTab> ForegroundTabPtr = TabWell->GetForegroundTab())
{
MoveTabToSidebar(ForegroundTabPtr.ToSharedRef());
}
}
void SDockingTabStack::MoveTabToSidebar(TSharedRef<SDockTab> Tab)
{
const int32 TabIndex = Tabs.IndexOfByPredicate(FTabMatcher(Tab->GetLayoutIdentifier(), ETabState::OpenedTab));
if(TabIndex != INDEX_NONE)
{
ESidebarLocation SidebarLoc = GetDockArea()->AddTabToSidebar(Tab);
if (SidebarLoc != ESidebarLocation::None)
{
Tabs[TabIndex].TabState = ETabState::SidebarTab;
Tabs[TabIndex].SidebarLocation = SidebarLoc;
TabWell->RemoveAndDestroyTab(Tab, ELayoutModification::TabRemoval_Sidebar);
}
}
}
void SDockingTabStack::RestoreTabFromSidebar(TSharedRef<SDockTab> Tab)
{
const int32 TabIndex = Tabs.IndexOfByPredicate(FTabMatcher(Tab->GetLayoutIdentifier(), ETabState::SidebarTab));
if (TabIndex != INDEX_NONE)
{
FTabManager::FTab& TabInfo = Tabs[TabIndex];
TabInfo.SidebarSizeCoefficient = 0;
// Set the sate to closed so its reopened by OpenTab
TabInfo.TabState = ETabState::ClosedTab;
TabInfo.SidebarLocation = ESidebarLocation::None;
OpenTab(Tab);
}
}
FReply SDockingTabStack::UnhideTabWell()
{
SetTabWellHidden(false);
return FReply::Handled();
}
bool SDockingTabStack::CanHideTabWell() const
{
Copying //UE4/Dev-Mobile to //UE4/Dev-Main (Source: //UE4/Dev-Mobile @ 3627362) #lockdown Nick.Penwarden #rb None ============================ MAJOR FEATURES & CHANGES ============================ Change 3600639 by Nick.Shin HTML5 remove old emscripten toolchain forgot to remove this (was checked out in another changelist) #jira UE-47813 Change 3600641 by Nick.Shin HTML5 TM-Core crash fixes new PhysX HTML5 libs #jira UE-47813 Index Out Of Bounds crash running "GC and Level Load Stress Test" in TM-Core on Firefox Change 3600644 by Nick.Shin HTML5 TM-Core crash fixes emscripten doesn't seem to know how to look at <PxRigidActor> from the PxActor class... #jira UE-47813 Index Out Of Bounds crash running "GC and Level Load Stress Test" in TM-Core on Firefox Change 3600647 by Nick.Shin HTML5 UInterpTrackInst::GetGroupActor() pre-null check #jira UE-47485 ( Pri:1 - 4.18 ) Crash running Stat Command test in TM-Core on Firefox Change 3601439 by Dmitriy.Dyomin Fixed: Protostar leads to device reboot in Galaxy S7 Adreno device. (SM-G930V) #jira UE-48323 Change 3601440 by Dmitriy.Dyomin Fixed: Texture streaming after world origin was rebased Change 3601456 by Dmitriy.Dyomin Added: Async loading bytecode from shader library - Shader library will be packed into single file - Shader library will be created only when packaging project by the book #jira UEMOB-381 Change 3601624 by Jack.Porter Fix landscape crash on HTML5 Exception !IsInRenderingThread() failed. #jira UE-48527 Change 3603890 by Dmitriy.Dyomin GitHub 3905 : Engine crash in LandscapeComponent when streaming levels #3905 #jira UE-48422 Change 3603933 by Dmitriy.Dyomin Fixed: Crash after Splash Screen on Android (ETC2) when Adding r.UseShaderCaching and r.UseShaderPredraw - Added r.SaveShaderCache command to save current cache on demand - Removed support for caching multiple platfroms at the same time, each platform now uses separate cache/file - Significantly reduced size of draw log on disk - Mobile platfroms support only basic caching, logging shaders and bound shader states without full gfx state #jira UE-47553 Change 3604050 by Sorin.Gradinaru #jira UE-47428 Android virtual keyboard polishing Done: Multiline should be disabled when not needed Hide suggestions and autocorrect "Done" / back button behavior to make it feel natural - Done/Enter and the Back key event sent to the engine If the keyboard is up and you click on the same control you're currently inputting into, it will hide the keyboard. Look into animation - not critical. S6 with Swiftkey. The numbers don't show up in our textedit but the string is updated (we see dots in the Slate control) with the password entry Could not reproduce/test: Make sure we don't use negative coords for the input box if the keyboard is at the top of the screen Change 3604081 by Allan.Bentham Reduce redundant log spam from SustainedPerformanceMode on android. Change 3604152 by Allan.Bentham Improved vulkanRHI availability and selection reporting. Change 3604186 by Dmitriy.Dyomin Vulkan: Write to buffers directly on UMA devices (no staging) Change 3604396 by Nick.Shin HTML5 - stats and multi-threading checks more null & multi-threading - and some functions flat out disabled for HTML5 platform the big "don't use on HTML5" is TLockFreeFixedSizeAllocator_TLSCacheBase's manual TLS.PartialBundle memory handler... i'm not sure it's working properly... switched on USE_NIEVE_TLockFreeFixedSizeAllocator_TLSCacheBase sections of code (i.e. basic malloc and free) for PLATFORM_HTML5 - it seems only the stats function was exacerbating the memory bug ... but, shutting this completely out for HTML5... don't know if it's an emscripten compiler/corruption that's causing this... - will send this to emscripten makers as another test case for them to help see what's going on... #jira UE-47485 ( Pri:1 - 4.18 ) Crash running Stat Command test in TM-Core on Firefox Change 3604752 by Allan.Bentham Reduce battery status log spam. Change 3604825 by Nick.Shin HTML5 emscripten 1.37.19 updated license file #jira UE-47813 Change 3606486 by Jack.Porter Enabled refraction on tvOS #jira UE-47229 Change 3606546 by Dmitriy.Dyomin Vulkan: Missed null check from CL# 3601439 Change 3606654 by Allan.Bentham mobile post process shaders will not attempt depth buffer fetch, instead they will always read from the depth texture. #jira UE-41919 Change 3606672 by Dmitriy.Dyomin Fixed: Vulkan mode crashes without error on Tegra K1 Nvidia Shield due to OOM - fixed r.MobileReduceLoadedMips has no effect - added r.MobileMaxLoadedMips to set a limit to a number of mips - reduced size of vulkan allocation pages on android #jira UE-42838 Change 3607204 by Allan.Bentham Do not attempt getprocaddress for GL_EXT_DEBUG_LABEL functions when the extension is not declared. Change 3607214 by Nick.Shin HTML5 - stats font crash fix #jira UE-47485 ( Pri:1 - 4.18 ) Crash running Stat Command test in TM-Core on Firefox Change 3609164 by Chris.Babcock More informative Android SDK license requirements and errors #jra UE-48837 #ue4 #android Change 3609175 by Chris.Babcock Linux build fix #jira none Change 3609516 by Dmitriy.Dyomin Fixed: Decals in TM-ShaderModels appearing and disappearing when viewed at certain angles on Android #jira UE-45342 Change 3609618 by Dmitriy.Dyomin Back out changelist 3603933, to help merge from main Change 3610979 by Peter.Sauerbrei addition of asset catalogs for icons on Xcode 9 for iOS 11 Change 3612145 by Dmitriy.Dyomin Resubmitting CL #3603933 (shader cache fixes) Change 3613981 by Chris.Babcock Fix issue with Android password keyboard input #jira WEX-7343 #ue4 #android Change 3614375 by Sorin.Gradinaru #jira UE-44656 StrategyGame Crashes on launch on KindleFire 5th Gen. Kindle Fire HD7 5th (CPU Mali 450) seems to have problems with thread rendering, crashing when returning to the main thread. Added new device profile [Android_Mali_4xx_KindleFire] with a new cvar r.AndroidDisableThreadedRenderingFirstLoad=1, disabling movie player rendering on the intial screen. For subsequent loading screens, the (same) code apparently runs Ok. A warning "Initial loading screen disabled from BaseDeviceProfiles.ini: r.AndroidDisableThreadedRenderingFirstLoad=1" should appear when the thread rendering is disabled Change 3614971 by Cosmin.Sulea UE-46769 - GitHub 3745 : bForcePVRTC4 was ignored. #jira UE-46769 Change 3616431 by Peter.Sauerbrei PR3657,3658 - fixes for InApp purchase bugs courtesy of nverenik Change 3617306 by Jack.Porter Fix issue where undocked tabs had no way to be made visible again when hidden #jira UE-12044 Change 3617312 by Jack.Porter Find a new best MobileDirectionalLights[channel] when then current one is removed from the world (eg by a level streaming operation) #jira UE-47135 #3785 Change 3617383 by Dmitriy.Dyomin Vk - only dynamic buffers in HostVisible on UMA devices Change 3617437 by Dmitriy.Dyomin Vk - SRV allocates one BufferView for each buffer in FVulkanResourceMultiBuffer, so they can be reused (contributed by Samsung) Change 3617474 by Dmitriy.Dyomin Vk - Don't use fences on image acquire on Android Change 3617483 by Dmitriy.Dyomin Vk - Remove redundant dynamic state setup (viewport, scissor, stencilref) (contributed by Samsung) Change 3617521 by Dmitriy.Dyomin Fix CIS warnings Change 3617574 by Dmitriy.Dyomin Vk - Optimized RenderPass pool and Framebuffer pool (reduced vkObject count) (contributed by Samsung) ProtoStar: Framebuffer count : 133 -> 108, Renderpass count : 21 -> 18 Change 3617585 by Dmitriy.Dyomin compile fix for CL# 3617574 Change 3617849 by Allan.Bentham Log UnsatisfiedLinkError's content when loadlibrary fails. Change 3617945 by Chris.Babcock Allow UPL variable expansion in addPermission, addFeature, and addLibrary #jira UE-47421 #ue4 #android Change 3618097 by Allan.Bentham Fix Y axis switch with android GLES when rendering triangles to canvas. #jira UE-44510 Change 3618733 by Peter.Sauerbrei fix from Dev-Rendering for tvOS shader compilation Change 3618761 by Peter.Sauerbrei fix for shader crash on startup on iOS Change 3618769 by Peter.Sauerbrei bump metal shader guid to force a rebuild of shaders Change 3620061 by Peter.Sauerbrei fix for resource directory on Asset catalogs #jira UE-49074 Change 3620520 by Peter.Sauerbrei remove the texture warning, the logic was incorrect and in the end we don't need the warning #jira UE-49057 Change 3621811 by Allan.Bentham Add mipindex and array slice index to framebuffer hashing code. #jira UE-49171 Change 3624410 by Jack.Porter Fix issue where the Shared Material Native Libraries checkbox causes packaging for Android to fail #jira UE-49105 Change 3627361 by Jack.Porter Fixing case on iOS files #jira None Change 3627362 by Jack.Porter Fixed case on IOS files #jira None [CL 3627373 by Jack Porter in Main branch]
2017-09-06 01:04:25 -04:00
TSharedPtr<SDockingSplitter> ParentNode = ParentNodePtr.Pin();
// Is target tab located at the upper and left most among tabs in the parent window(as first child). Unreal icon will overlap golden triangle(unhide button) when the tab is the first child of the window.
const bool bIsUpperLeftmostTab = (FGlobalTabmanager::Get()->GetActiveTab() == ParentNode->GetAllChildTabs()[0]);
// Is target tab in the Floating Window. Unreal icon will overlap when the tab is in the floating window(without menu)
const bool bIsInFloatingWindow = ParentNode->GetDockArea()->GetParentWindow().IsValid();
return GetNumTabs() == 1 && FGlobalTabmanager::Get()->CanSetAsActiveTab(GetTabs()[0]) && !(bIsUpperLeftmostTab && bIsInFloatingWindow);
}
bool SDockingTabStack::CanCloseForegroundTab() const
{
TSharedPtr<SDockTab> ForegroundTabPtr = TabWell->GetForegroundTab();
return ForegroundTabPtr.IsValid() && ForegroundTabPtr->CanCloseTab();
}
Copying //UE4/Dev-Editor to //UE4/Dev-Main (Source: //UE4/Dev-Editor @ 4048875) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3808185 by Cody.Albert Added missing calls to FEditorViewportClient::AddReferencedObjects in overrides Change 3809824 by Michael.Trepka Improved the way we generate groups in Xcode project's source code navigator. They are now sorted alphabetically and have correct paths so Xcode no longer displays them in red. Also, added __INTELLISENSE__ to preprocessor definitions for indexing to improve indexing without game header files generated. Change 3810089 by Jamie.Dale Fixed PO files failing to import translations containing only whitespace Change 3811281 by Matt.Kuhlenschmidt PR #4331: Toggle SIE shortcut only in PIE (Contributed by projectgheist) Change 3813031 by Matt.Kuhlenschmidt Fix undocked tabs not dropping at users mouse location #jira UE-53427 Change 3813361 by Brandon.Schaefer Print what SDL video driver we are using Change 3818430 by Matt.Kuhlenschmidt PR #4365: Incorrect font name and forgotten undef (Contributed by projectgheist) Change 3818432 by Matt.Kuhlenschmidt PR #4366: Asset Color Strip updates correct on drag and drop (Contributed by projectgheist) Change 3818436 by Matt.Kuhlenschmidt PR #4367: Improved logging (Contributed by projectgheist) Change 3819886 by Matt.Kuhlenschmidt Add a way to optionally disable the warning about referenced actors being moved to other levels. Useful for bulk actor moves via script Change 3819888 by Matt.Kuhlenschmidt Avoid crashing when a window size becomes too large to render. Instead just ensure and clamp to the maximum allowed size. Avoids crashes where the screen dimensions are saved with super large numbers for unknown reasons Change 3821773 by Brandon.Schaefer Fix crash when importing to level #jira UE-31573 Change 3821892 by Jamie.Dale Improved the localized asset cooking so that it only cooks L10N variants if their source asset is cooked #jira UE-53010 Change 3823714 by Christina.TempelaarL #jira UE-52179 added support for grayscale PSD files Change 3826805 by Christina.TempelaarL #jira UE-49636 SceneCaptureComponent2D hidden actor and show only actors disabled in blueprints #jira UE-53445 SceneCaptureComponent2D hidden actors always disabled in details layout Change 3828444 by Anthony.Bills Add LXC container script for building third party libraries. The intention is that this should become the only way to rebuild the third party libraries that require system dependencies not included in the cross-compile toolchain and also to rebuild the toolchains. Other third party libraries without any system dependencies could be rebuilt via the cross-compile toolchains/UBT. This script has been tested running on CentOS 7 and Ubuntu 17.10. Buy default the x86 and x86_64 builds will be built against a CentOS 6 container (and targeting glibc 1.12) and the aarch64 and armhf builds will use an Ubuntu Ubuntu Trusty (14.04) but this is not yet complete. Change 3828754 by Brandon.Schaefer Linux: Fix gamepad thumbstick clicks not registering (github #4209 thanks J??rn M??ller) #jira UE-45722 #review-3828733 Arciel.Rekman Change 3830414 by Brandon.Schaefer Remove circular referencing to a parent window. Move to use AddSP vs AddRaw as well to be safe manually remove ourselves from the selection event delegate list due to Linux pending deletion of windows. Looks like this should fix UE-28322 as well which I've removed the work around placed in for that. #jira UE-53918 #review @michael.trepka, @matt.kuhlenschmidt, @arciel.rekman Change 3830916 by Brandon.Schaefer More verbose message about missing VK extensions (from Marcin Undak) #review-3830710 marcin.undak, arciel.rekman Change 3831339 by Brandon.Schaefer Default to as-needed for debug mode #jira none #review-3830658 Arciel.Rekman Change 3833102 by Jamie.Dale Re-added warning for duplicate package localization IDs when gathering asset localization Change 3834600 by Jamie.Dale Optimized asset registry filter intersection Change 3838024 by Brandon.Schaefer Remove tracking of CLion/CMake build files (from github #4346 thanks reapazor!) #jira UE-53551 #review-3835803 arciel.rekman Change 3839969 by Michael.Dupuis #jira UE-52289: When OnRegister is called on the component make sure our PerInstanceRenderData is up to date Prevent a possible crash if ClearInstanceSelection was called on a component with no PerInstanceRenderData existing Change 3840049 by Michael.Dupuis #jira UE-52975: Was always performing the equivalent of an Add, so now we use the Transform during the duplicate Change 3840071 by Matt.Kuhlenschmidt - Combine some shader params for slate in order to reduce overhead setting uniform buffers - Added better stats for slate draw call rendering - cleaned up huge lambda in Slate rendering main function so we can read the main slate rendering function again Change 3840291 by Michael.Dupuis #jira UE-53053: Was having a mismatch between the remove reorder and the actual remove Change 3840840 by Michael.Dupuis #jira UE-53944: Make sure the LOD generated is in the valid range to prevent the crash Change 3842072 by Michael.Dupuis #jira UE-50299: Include NumSubsection in calculation of component quad factor Change 3842487 by Christina.TempelaarL #jira UE-50573 HighResShot has wrong res in immersive mode Change 3845702 by Matt.Kuhlenschmidt PR #4381: DefaultASTCQualityBySpeed too high max value. (Contributed by kallehamalainen) Change 3845706 by Matt.Kuhlenschmidt PR #4388: Only restore window if minimized (Contributed by projectgheist) Change 3845993 by Christina.TempelaarL #jira UE-41558 crash when selecting PostProcessingVolumes in separate levels Change 3856395 by Brandon.Schaefer No longer using ALAudio on Linux #jira UE-53717 Change 3858324 by Michael.Trepka Preserve command line arguments in Xcode project when regenerating it Change 3858365 by Michael.Dupuis #jira UE-52049: There was a case where adding and removing multiple time would lead to reordering the instances and this would cause the regeneration of the random stream for all the reorded instances. Change 3858492 by Michael.Trepka Updated dependencies for Mac dSYM files so that only cross-referenced modules have their dSYMs recreated on subsequent builds instead of all modules. Change 3859470 by Michael.Trepka CIS fix. Make sure a scheme file exists before trying to read it when generating Xcode project. Change 3859900 by Joe.Conley Fix for "Check Out Assets" window not properly receiving focus. Change 3865218 by Michael.Dupuis #jira UE-45784: Exposed the possibility to edit LDMaxDrawDistance Change 3866957 by Michael.Dupuis #jira UE-42509: Added BodyInstance to ULandscapeSplineSegment and ULandscapeSplineControlPoint Deprecated bEnabledCollision and migrate data as it's replaced by BodyInstance Change 3867220 by Cody.Albert Fixed Project Launcher scrollbar to properly stay anchored at the bottom of the scroll area. Change 3869117 by Michael.Dupuis #jira UE-42509:Fixed compile error when not having editor data Change 3872478 by Arciel.Rekman Linux: disable PIE if compiler enables it by default. Change 3874786 by Michael.Dupuis #jira UE-46925: Remove the guessing functionality when importing a heightmap, and instead propose to the user valid size that can be used for the import through a combo button. Improved usability of the UI by disabling size field when no file was specified Change 3875859 by Jamie.Dale Implemented our own canonization for culture codes Change 3877604 by Cody.Albert We now validate actor names passed to SetActorLabel to ensure None isn't passed in, which can corrupt levels Change 3877777 by Nick.Shin PhysX build fix - this came from CL: 3809757 #jira UE-54924 Cannot rebuild Apex/PhysX/NvCloth .emscripten missing Change 3881693 by Alexis.Matte Fix local path search to not search in memory only #jira UE-55018 Change 3882512 by Michael.Dupuis #jira none : Fixed screen size calculation to take aspect ratio into account correctly Change 3886926 by Arciel.Rekman Linux: fixed checking clang settings during the cross-build (UE-55132). #jira UE-55132 Change 3887080 by Anthony.Bills Updated SDL2 build script. - Now allows compiling inside a CentOS 6 or Ubuntu 12.04 container with wayland support when using the ContainerBuildThirdParty.sh. - Added multiple build arch support to the BuildThirdParty script and pass this down to the SDL2 build script. Change 3887260 by Arciel.Rekman Linux: fix leaking process handles in the cross-toolchain. Change 3889072 by Brandon.Schaefer Fix RPath workaround, to better handle both cases #jira UE-55150 #review-3888119 @Arciel.Rekman, @Ben.Marsh Change 3892546 by Alexis.Matte Remove fbx exporter welded vertices options #jira UE-51575 Change 3893516 by Michael.Dupuis Remove static mesh instancing async buffer filling, as with all the changes made, it's no longer necessary, the cost of loading very large buffer is negligable Rebuild the occlusion tree when using foliage.DensityScale with something other than 1.0 Change 3894365 by Brandon.Schaefer Pass FileReference over a raw string to the LinkEnvironment #jira none #review-3894241 @Ben.Marsh, @Arciel.Rekman Change 3895251 by Brandon.Schaefer Use X11 pointer barriers to bound the cursor to a region over warping the pointers. Patch from Cengiz #jira UE-25615 #jira UE-30714 #review-3894886 @Arciel.Rekman Change 3897541 by Michael.Dupuis #jira UE-53787: Added guard if for some reason the material is null we should not try to draw using this material Change 3904143 by Rex.Hill #jira UE-55366: Fix crash when overwriting existing level during level save as #jira UE-42426: Map '_BuiltData' can now be deleted when selected at same time as map - Map '_BuiltData' package is now garbage collected when switching maps in the editor Change 3906373 by Brandon.Schaefer Fix splash image. Use alias format for big/little endian machines. #jira none Change 3906711 by Rex.Hill #jira UE-42426: BuiltData now deleted with maps Change 3907221 by Cody.Albert Add support for relative asset source paths in content plugins Change 3911670 by Alexis.Matte Fix assetimportdata creation owner #jira UE-55567 Change 3912382 by Anthony.Bills Linux: Add binaries for GoogleTest and add to BuildThirdParty script. Change 3914634 by Cody.Albert Added missing include that could cause compile errors if IWYU was disabled. Change 3916227 by Cody.Albert Fixing some cases where we check #ifdef WITH_EDITOR instead of #if WITH_EDITOR Change 3917245 by Michael.Dupuis #jira UE-35097: Fixed crash when creating a new landscape with 2x2 subsection and material containing grass spawning Change 3918331 by Anthony.Bills Linux: Bundled Mono - Explicilty pick libc.so.6 as libc.so is a linker script and store the config file directly. Change 3920191 by Rex.Hill #jira UE-44197 Fix saving sub-level level causing MapBuildData to be deleted Improved MapBuildData rename, move, duplicate, copy Change 3920333 by Matt.Kuhlenschmidt Render target clear color property now settable in editor #jira UE-55347 Change 3926094 by Michael.Dupuis #jira UE-51502: Added some min/max values to foliage and grass settings to prevent overflow/crash #coderevew jack.porter Change 3926243 by Michael.Dupuis #jira UE-54669: cleaned up invalid/duplicate shader and moved some shaders to appropriate list Change 3926760 by Jamie.Dale Added support for TTC/OTC fonts These can be used via a sub-face index on FFontData, which can be set via a new combo in the font editor. You can also see the cached list of sub-faces within a font file from the UFontFace asset. Change 3927793 by Anthony.Bills Mono: Remove SharpZipLib and references from bundled Mono. #review-3887212 @ben.marsh, @michael.trepka Change 3928029 by Anthony.Bills Linux: Add support for UnrealVersionSelector. - Supports using UVS to launch without a project file. This will then launch the selected engine's project wizard. - Linux UVS uses Slate for the version selection and error log dialogs. - Mime-types and desktop file support added to DesktopPlatformLinux to allow associating with UVS as per the Windows binary and git builds. - Icons added for Linux. #review-3882197 @arciel.rekman, @brandon.schaefer Change 3931293 by Alexis.Matte Add generic Levenshtein edit distance to core algo. This algorithm will help suggesting name matching when users have to resolve material name conflict when re-import fbx meshes. Add also plenty of automation tests for it. #jira none Change 3931436 by Arciel.Rekman Stop RHI thread before shutting down RHI. - Prevents crashes for some drivers that create TLS objects with destructors; those destructors will get called after the thread exited, but the library will already be unloaded on RHI shutdown. Change 3934287 by Alexis.Matte Fix crash when re-importing skeletal mesh. Skinned component render data resource is now release when re-importing. #jira none Change 3937585 by Lauren.Ridge Added labels to the colors stored in the theme bar. Change 3937738 by Alexis.Matte Make sure content browser do not show a preview asset created when we cancel an export animation preview #jira UE-49743 Change 3941345 by Michael.Dupuis #jira UE-26959: Prevent reusing multiple type the same grass type into the same material grass output node Change 3941453 by Michael.Dupuis #jira UE-47492: Added a guard to validate LayerIndex Change 3942065 by Jamie.Dale Fixed crash trying to use FSlateApplication when it wasn't available (eg, in a commandlet) Change 3942573 by Alexis.Matte Fix static analysis Change 3942623 by Michael.Dupuis #jira 0 Cast to ulong as TaskIndex * NumStripes could exceed an int limit and add an assert if the wraparound is negative Change 3942993 by Matt.Kuhlenschmidt PR #4547: Verify the return value of FT_New_Memory_Face (Contributed by jorgenpt) Change 3942998 by Matt.Kuhlenschmidt PR #4554: Cleanup log printing (Contributed by projectgheist) Change 3943003 by Matt.Kuhlenschmidt PR #4534: Prevent Fatal log when alt tabbing during a level save (Contributed by projectgheist) Change 3943011 by Matt.Kuhlenschmidt PR #4518: edit (Contributed by pdlogingithub) Change 3943027 by Matt.Kuhlenschmidt PR #4524: Notifications always render on the screen with the main viewport (Contributed by projectgheist) Change 3943074 by Matt.Kuhlenschmidt PR #4484: Add group actor to folder (Contributed by ggsharkmob) Change 3943079 by Matt.Kuhlenschmidt PR #4431: Git Plugin: replace usage of the 2 cli args "--work-tree" and "--git-dir" by "-C" (Contributed by SRombauts) Change 3943092 by Matt.Kuhlenschmidt PR #4434: Git plugin: configure the default remote URL 'origin' (Contributed by SRombauts) Change 3943132 by Matt.Kuhlenschmidt PR #4247: Add File picker to Git Path setting on GitSourceControl (Contributed by shiena) Change 3943141 by Matt.Kuhlenschmidt PR #4303: Fix ULevelExporterT3D so that it works in a commandlet (Contributed by DSDambuster) Change 3943349 by Jamie.Dale Cleaned up PR #4547 Made the assert non-fatal to avoid it being able to take down the editor if you load up a bad font. Fixed some code that was deleted during the merge. Change 3943976 by Michael.Trepka Copy of CL 3940687 Fixed long link times when building for Mac in Debug by passing -no_deduplicate flag to the linker, which is what Xcode does in Debug configs. #jira none Change 3944882 by Matt.Kuhlenschmidt Fix a few regressions with scene viewport activation locking can capturing the cursor in editor #jira UE-56080, UE-56081 Change 3947339 by Michael.Dupuis #jira UE-55664: Fixed undo/redo buffer handling so we remove from the beginning of the buffer during undo buffer where buffer is at max memory and from the end during redo operation. Fixed cancel also to re add removed transaction at the end or the start depending if we're doing a redo or undo operation Fixed the Undo History UI to listen to an event when the undo buffer changed instead of checking every frame, as when the buffer was full, no changes would occur, thus no UI update. Change 3948179 by Jamie.Dale Fixed monochromatic font rendering - All non-8bpp images are now converted to 8bpp images for processing in Slate. - We convert the gray color of any images not using 256 grays (eg, monochromatic images that use 2 grays). - Fixed a case where the temporary bitmap wasn't being deleted. - Fixed a case where the bitmap could be used after it was deleted. - Added a CVar (Slate.EnableFontAntiAliasing) to control whether you want anti-aliased (256 grayscale) rendering (default), or monochromatic (2 grayscale) rendering. Change 3949922 by Alexis.Matte Ensure fbx node name are not empty when loading a fbx file. I use the same naming convention as Maya #jira UE-56079 Change 3950202 by Rex.Hill Fix crash during editor asset automation tests. Now skips showing modal progress window when opening asset editor window. ActiveTopLevelWindow is not set when modal windows are open. #jira UE-56112 Change 3950484 by Michael.Dupuis #jira UE-52176: delete the Cluster tree when the builder is no longer needed Change 3954628 by Michael.Dupuis Bring back 4.19/4.19.1 Landscape changes Change 3957037 by Michael.Dupuis #jira UE-53343: Add foliage instances back when changing component size Changed the formulation for the Clip/Expand behavior to make it more explicit on what will happen Added SlowTask stuff to manage big landscape change Change 3959020 by Rex.Hill Rename/move file MallocLeakDetection.h Change 3960325 by Michael.Dupuis Fixed static analysis Change 3961416 by Michael.Dupuis #jira UE-46100: Exposed UseDynamicInstanceBuffer on Foliage type, so user can decide if they want to update them dynamically #jira UE-55092: Fixed the warning to appear when having resource array as empty but VB as set up Added data conssitency that when using Dynamic buffer, Keep CPU Access should also be true, even if implicitly it's already the case, now it's explicit Change 3962372 by Michael.Trepka Copy of CL 3884121 Fix for SProgressBar rendering incorreclty on Mac #jira UE-56241 Change 3964931 by Anthony.Bills Linux: Add cross-compiled binary of UVS Shipping. Change 3966719 by Matt.Kuhlenschmidt Fix parameters out of order here #jira UE-56399 Change 3966724 by Matt.Kuhlenschmidt PR #4585: Export symbols for the FDragTool (Contributed by Begounet) Change 3966734 by Matt.Kuhlenschmidt PR #4596: fix the slider issue of the HighResolutionScreenshot window (Contributed by mamoniem) Change 3966739 by Matt.Kuhlenschmidt Removed duplicated code #jira UE-56369 Change 3966744 by Matt.Kuhlenschmidt PR #4602: Fixes check for existing extensions when generating "All Extensions". (Contributed by PhilBax) Change 3966758 by Matt.Kuhlenschmidt PR #4604: Fixed an issue where the Modules and DebugTools tabs would be unrecognized after startup if docked in the level editor (Contributed by tstaples) Change 3966780 by Matt.Kuhlenschmidt Fix crash accessing graph node title widgets when objects have become stale. #jira UE-56442 Change 3966884 by Alexis.Matte Fix speedtree uninitialized values #jira none Change 3967568 by Alexis.Matte Do not override the screensize when importing a skeletal mesh, let the value set by the AddLodInfo function #jira UE-56493 Change 3968333 by Brandon.Schaefer Fix order of operation #jira UE-56400 Change 3969070 by Anthony.Bills Linux: Make sure to set the UE_ENGINE_DIRECTORY #jira UE-56503 #review-3966609 @arciel.rekman, @brandon.schaefer Change 3971431 by Michael.Dupuis #jira UE-56515: Fixed an issue where ForcedLOD > MaxLOD and make sure that LastLOD will at least contain current streamed in LOD. #jira UE-56517: When using ParallelInitView 1 there was a memory leak related to a reallocate that happen with the TArray of FMemstack Pass correctly LODDistanceFactor instead of View.LODScale as we do not want StaticMeshScale to affect us. Change 3971467 by Matt.Kuhlenschmidt Fixed crash deleting a texture with texture painting on it #jira UE-56994 Change 3971557 by Matt.Kuhlenschmidt Fix temporary exporter objects being potentially GC'd and causing crashes during export #jira UE-56981 Change 3971713 by Cody.Albert PR #4597: [FPS Template] Small null pointer check fix and cleanup (Contributed by TheCodez) Change 3971846 by Michael.Dupuis #jira UE-56517: Properly "round" the count so we have the right amount of memory reserved #jira UE-56515: Still had a edge case left, so when using forced lod i simply make sure the value is in valid range, and allocate all the required data for this range Change 3973035 by Nick.Atamas Line and Spline rendering changes: * Lines/Splines now use 1 UV channel to anti-alias (this channel can be used for texturing) * Anti-aliasing filter now adjusted based on resolution * Modified Line/Spline topology to accomodate new UV requirements * Disabled vertex snapping for anti-aliased lines/splines; previously vertexes were snapped, but vertex positions did not affect line rendering (behavior effectively unchanged) * Splines now adaptively subdivided to avoid certain edge-cases Change 3973345 by Nick.Atamas - Number tweaks to maintain previously perceived wire thickness in various editors. Change 3977764 by Rex.Hill MallocTBB no longer debug fills bytes in development configuration Change 3978713 by Arciel.Rekman UVS: Fix stale dependency. Change 3980520 by Matt.Kuhlenschmidt Fix typo #jira UE-57059 Change 3980557 by Matt.Kuhlenschmidt Fixed negative pie window sizes causing crashes #jira UE-57100 Change 3980565 by Matt.Kuhlenschmidt PR #4628: Fixed revert action, now correctly uses CanRevert() condition (Contributed by Kryofenix) Change 3980568 by Matt.Kuhlenschmidt PR #4626: UE-57111: Handle CaptureRegion for HighResShot in PIE (Contributed by projectgheist) Change 3980580 by Matt.Kuhlenschmidt PR #4567: [Editor UI] Pick Parent Class dialog: set keyboard focus and handle Escape & Enter (Contributed by SRombauts) Change 3980581 by Matt.Kuhlenschmidt PR #4565: [Editor UI] Add C++ Class dialog: set keyboard focus and handle Escape & Enter (Contributed by SRombauts) Change 3981341 by Jamie.Dale Re-added GIsEditor condition around package namespace access #jira UE-55816 Change 3981808 by Ryan.Brucks Added LandscapeProxy functions to push RenderTarget data to Heightmaps and Weightmaps Change 3983344 by Jack.Porter #include fixes for CL 3981808 #jira 0 Change 3983391 by Jack.Porter One for #include fix for CL 3981808 #jira 0 Change 3983562 by Michael.Dupuis #jira UE-53787: Make sure the material array is valid before trying to generate static mesh batch element #jira UE-56451: Instead of asserting, simply skip this element as it had invalid custom data anyway, so we can't render it Change 3983600 by Matt.Kuhlenschmidt PR #4289: Pragma Once/Include guard cleanup (Contributed by projectgheist) Change 3983637 by Matt.Kuhlenschmidt PR #4408: Add a template pregeneration hook (Contributed by mhutch) Change 3984392 by Michael.Dupuis #jira UE-56314: Correctly apply LODBias on calculated LOD Fixed some Landscape popping that could occur when we were forcing a LOD that didn't match the component screen size Change 3984950 by Rex.Hill Optimized texture import speed 2-3x depending on number of cpu cores and image size Change 3985033 by Rex.Hill File drag and drop is more quick to respond when editor is in background #jira UE-57192 Change 3986218 by Jack.Porter Missing template parameter fix for CL 3981808 #jira 0 Change 3986376 by Michael.Dupuis #jira UE-56453: Do not use the CreateDynamicMaterialInstance as it will change the parenting of the actor used material, instead simply use the function to generate the MID and parent it correctly. Change 3989391 by Matt.Kuhlenschmidt Fix constant FName lookup in level editor when checking various states of level editor tabs Change 3990182 by Rex.Hill Optimize editor startup time: GetCurrentProjectModules Change 3990365 by Alexis.Matte Fix crash with spline mesh when the attach SM get a new imported LOD #jira UE-57119 Change 3991151 by Rex.Hill VR Editor module now waits to load images until VR mode activated in editor. Saves 0.4 seconds of editor startup time. Change 3991164 by Rex.Hill Optimize editor startup time: FindModulePaths() - Invalidates cache when search paths added - Use cache during wildcard searches containing * and ? Change 3995366 by Anthony.Bills Update BuildCrossToolchain script to allow a Linux host targeting multiple Linux architectures (including the hosts arch). Added a patch to support a gcc 4.8.5 based toolchain on windows (potentially useful for users crosscompiling using GCC and libstdc++ and targeting CentOS 7). #review-3848487 @arciel.rekman, @brandon.schaefer Change 3996109 by Jamie.Dale Reworked BP error messages to be more localization friendly #jira UETOOL-1356 Change 3996123 by Michael.Dupuis #jira UE-57427: Update random color on load of the component #jira UE-56272: Change 3996279 by Merritt.Cely Removed hardware survey from editor #jira an-2243 #tests launched the editor Change 3996626 by Alexis.Matte Fix crash when SkeletalMesh tangent buffer is empty after the build and we serialize the tangent array. #jira UE-57227 Change 3996663 by Max.Chen Sequencer: Fix fbx animation export - rotation and scale channels were flipped. #jira UE-57509 #jira UE-57512 #jira UE-57514 Change 4000331 by Brandon.Schaefer Add a GFNameTableForDebuggerVisualizers_MT back only for Unix under the Core module #review-3999426 @Arciel.Rekman #jira UE-55298 Change 4000450 by Matt.Kuhlenschmidt Another guard against a factory being destroyed during import #jira UE-57674 Change 4000459 by Matt.Kuhlenschmidt Added check for valid game viewport to see if this is the problem in UE-57677 #jira UE-57677 Change 4000493 by Matt.Kuhlenschmidt Remove stale GC'd components when refreshing paint mode to prevent crashes #jira UE-52618 Change 4000683 by Jamie.Dale Fixed target being incorrect when added via the Localization Dashboard #jira UE-57588 Change 4000738 by Alexis.Matte Add a section settings to ignore the section when reducing #jira UE-52580 Change 4000920 by Alexis.Matte PR #4219: Fix for SColorGradingPicker preventing PIE (Contributed by projectgheist) author projectgheist projectgheist@gmail.com Change 4001432 by Alexis.Matte Add a fbx re-import resolve material windows, user can now help resolving the material in case the importer fail to found a match. Change 4001447 by Jamie.Dale Fixed property table not working with multi-line editable text Change 4001449 by Jamie.Dale PR #4531: Localization multiline fix (Contributed by Lallapallooza) Change 4001557 by Alexis.Matte Fix a check in fbx scene importer, in case the user import a fbx LOD group with no geometry under it #jira UE-57676 Change 4002539 by Alexis.Matte Make the fbx importer global transform options persist in the config file #jira UE-50897 Change 4002562 by Anthony.Bills Linux: Enable UVS registering for git builds only and remove old Mono and pre-UVS script code. Change 4003241 by Alexis.Matte Fix the staticmesh import socket logic, it was duplicating socket when re-importing #jira UE-53635 Change 4003368 by Michael.Dupuis #jira UE-57276: #jira UE-56239: #jira UE-54547: Make sure we can't go above MaxLOD even for texture streaming Change 4003534 by Alexis.Matte Fix re-import mesh name match #jira UE-56485 Change 4005069 by Michael.Dupuis #jira UE-57594: Add a guard to prevent crash if we have an invalid resource for the heightmap texture (happen when component is deleted, for example) Change 4005468 by Lauren.Ridge Widgets should not be removed from parent when they are pending GC #jira UE-52260 Change 4006075 by Michael.Dupuis Fixed foliage density scaling to be applied even in editor, except in Foliage edit mode. Change 4006332 by Arciel.Rekman UBT: Adding support for bundled toolchains on Linux. - Authored by Anthony Bills, with modifications. Change 4007528 by Matt.Kuhlenschmidt PR #4665: Source control History Window: enlarge column Description (Contributed by SRombauts) Change 4007531 by Matt.Kuhlenschmidt PR #4656: UE-57200: Ignore reference to actor if same actor (Contributed by projectgheist) Change 4007548 by Matt.Kuhlenschmidt PR #4664: Set Password on EditableText (Contributed by projectgheist) Change 4007730 by Brandon.Schaefer Add a new way to symbolicate symbols for a crash at runtime Two new tools are used for this. 1) dump_syms Will generate a symbol file, which is to large to read from at runtime 2) BreakpadSymbolEncoder Takes the dump_syms file and encodes it in such a way we can do a binary search at runtime to find a Program Counter to a symbol we are looking for #review @Arciel.Rekman, @Anthony.Bills #jira UETOOL-1206 Change 4008429 by Lauren.Ridge Fixing undo bug when deleting user widgets from the widget tree #jira UE-56394 Change 4008581 by Cody.Albert Reinitialize needs to set the audio and caption tracks in addition to the video track or the currently selected track will be lost Change 4009605 by Lauren.Ridge Added Recently Opened assets filter under Other Filters in the Content Browser Change 4009797 by Anthony.Bills Linux: Update MultiArchRoot path to not cache. Move in tree toolchain location to match UBT convention and make sure the MultiArchRoot is checked before the system. Change 4010266 by Michael.Trepka Copy of CL 4010052 Moved some key event handling calls to the main thread on Mac to satisfy new macOS requirements #jira UE-54623 Change 4010838 by Arciel.Rekman Linux: limit allowed clang versions to 3.8-6.0. Change 4012160 by Matt.Kuhlenschmidt Changed the messagiing on the crash reporter dialog to reflect new bug submission process #jira UE-56475 Change 4013432 by Lauren.Ridge Fix for non-assets attempting to add to the Content Browser's recent filter #jira none Change 4016353 by Cody.Albert Improved copy/paste behavior for UMG editor: -Pasting in the designer while a canvas is selected will place the new widget under the cursor -Pasting multiple times while a canvas panel is selected in the hierarchy view will cascade the widgets starting at 0,0 -Pasting while something that isn't a panel is selected is now allowed, and will cascade the pasted widgets off the position of the selected widget (as siblings) -Newly pasted widgets will now be selected automatically -Pasting multiple widgets at once will try and maintain their relative positions if they're being pasted into a canvas panel Change 4017274 by Matt.Kuhlenschmidt Added some guards against invalid property handle access #jira UE-58026 Change 4017295 by Matt.Kuhlenschmidt Fix trying to apply delta to a mix of scene components and non scene components. Its acceptable to not have scene components in the selected component list #jira UE-57980 Change 4022021 by Rex.Hill Fix for audio desync and video fast-forwarding behavior. There long delay (500ms+) until samples start arriving unless we use RequestedTimeCurrent. After delay occurs samples begin arriving at accelerated speed until caught up to playback time leading to visual and audio problems. #jira UE-54592 Change 4023608 by Brandon.Schaefer Downscale memory if we dont have enough #jira UE-58073 #review-4023609 @Arciel.Rekman Change 4025618 by Michael.Dupuis #jira UE-58036: Apply world position offset correctly Change 4025661 by Michael.Dupuis #jira UE-57681: Added guard to prevent possible crash if either we have an invalid material or the material parent is invalid Change 4025675 by Michael.Dupuis #jira UE-52919: if no actor was found in the level skip moving the instances Change 4026336 by Brandon.Schaefer Manually generate *.sym files for Physx3 This should be done in the BuildPhysx file Change 4026627 by Rex.Hill Fix memory leak fix when playing video and main thread blocks #jira UE-57873 Change 4029635 by Yannick.Lange Fix VRMode loading assets only when VRMode starts. #jira UE-57797 Change 4030288 by Jamie.Dale Null FreeType face on load error to prevent potential crashes Change 4030782 by Rex.Hill Fix save BuildData after changing reflection capture in a new level #jira UE-57949 Change 4033560 by Michael.Dupuis #jira UE-57710: Added some guard to prevent crash/assert Change 4034244 by Michael.Trepka Copy of CL 4034116 Fixed arrow keys handling on Mac Change 4034708 by Lauren.Ridge PR #4699: UE-8508: Update config file to keep folder color in sync (Contributed by projectgheist) #jira UE-58251 Change 4034746 by Lauren.Ridge PR #4701: Add option to close tabs to the right of the active tab (Contributed by jesseyeh) #jira UE-58277 Change 4034873 by Lauren.Ridge Fix for not being able to enter simulate more than once in a row. #jira UE-58261 Change 4034922 by Lauren.Ridge PR #4387: Commands mapped in incorrect location (Contributed by projectgheist) #jira UE-53752 Change 4035484 by Lauren.Ridge Tentative fix for crash on pasting comment. All other accesses to UMaterialExpressionComment check its validity first #jira UE-57979 Change 4037111 by Brandon.Schaefer Try to use absolute path from dladdr if we can to find the sym files #jira UE-57858 #review-4013964 @Arciel.Rekman Change 4037366 by Brandon.Schaefer Dont check the command line before its inited #review-4037183 @Arciel.Rekman #jira UE-57947 Change 4037418 by Alexis.Matte Remove the checkSlow when adding polygon Change 4037745 by Brandon.Schaefer Use as much info as we can during ensure Just as fast as the old way but with more information #review-4037495 @Arciel.Rekman #jira UE-47770 Change 4037816 by Rex.Hill Import mesh optimization, BuildVertexBuffer Change 4037957 by Arciel.Rekman UBT: make it easier to try XGE on Linux. Change 4038401 by Lauren.Ridge Reordering is now correctly handled by undo. Reordering and then undoing will no longer cause a "ghost" widget to also be part of the tree. #jira UE-58206 Change 4039612 by Anthony.Bills Unix: Check for null StdOut and ReturnCode parameters, otherwise the code may dereference a null variable when the process fails to create. Change 4039754 by Alexis.Matte Remove the Render meshdescription, no need to carry this temporary data in the staticmesh Change 4039806 by Anthony.Bills Linux: UVS fixes - Update to use new Unix base platform. - Use bin/bash instead of usr/bin/bash (may need revisiting later). - Recompile Shipping version with changes. - Update Setup.sh to run from correct CWD (due to current limitations in the relative directory handling). Change 4039883 by Lauren.Ridge PR #4576: Save editor config to file first time a fav folder is added in the co. (Contributed by projectgheist) #jira UE-56249 Change 4040117 by Lauren.Ridge Replacing widgets should now also clear out references to the widget #jira UE-57045 Change 4040790 by Lauren.Ridge Tentative fix for Project Launcher crash when platform info not found #jira UE-58371 Change 4042136 by Arciel.Rekman UBT: refactor of LinuxToolChain to make it leaner and more configurable. - Made it possible to override SDK passed to the toolchain. - Simplified the code by using the same executable names on Windows and Linux (as .exe is optional), except where File.Exists() is needed (also remove a few) - Some minor renames to make it clear that SystemSDK means system compiler (which otherwise may be unclear) - Made changes to accomodate the new debug format. Change 4042930 by Brandon.Schaefer GCoreObjectArrayForDebugVisualizers was changed to FChunkedFixedUObjectArray reflect that in the Unix part Change 4043539 by Brandon.Schaefer Fix callsite address being used at times for the Program Counter Fix only reporting the actual callstack and not the crash handling callstacks #review-4041370 @Arciel.Rekman #jira UE-58477 Change 4043674 by Arciel.Rekman Added Linux ARM64 (AArch64) lib for MikkTSpace. - Now required for standalone games due to EditableMesh runtime plugin. Change 4043677 by Arciel.Rekman Linux: updated ARM64 (AArch64) version of SDL2. Change 4043690 by Arciel.Rekman Linux: allow compiling VulkanRHI for AArch64 (ARM64). Change 4045467 by Brandon.Schaefer Add Anthony Bills SetupToolchain.sh script Used to download the latest toolchain Change 4045940 by Michael.Trepka Return empty list instead of null from Mac GetDebugInfoExtensions() in UBT #jira UE-58470 Change 4046542 by Alexis.Matte Fix skeletal re-import material assignation #jira UE-58551 Change 4048262 by Brandon.Schaefer Rebuild SDL with pulse audio libs #jira UE-58577 Change 3887093 by Anthony.Bills Add bundled mono binary for Linux. - Unify some of the script structure across Mac and Linux. - This currently uses the same mono C# assemblies as Mac to keep the additional source size down. - If the Mac mono version is updated, the Linux version will also need to be updated to match the same mono git revision. - The system version of mono can still be used by setting the UE_USE_SYSTEM_MONO env var to 1. Change 4003226 by Michael.Dupuis Refactored StaticMeshInstancing to now use a command buffer to communicate with the GPU to prevent concurent access issues. It's mostly used in Editor or if runtime changes occur, otherwise the data is built and send to the GPU directly without keeping CPU copy. Changed how the density scaling was applied to be more optimal Removed UseDynamicInstanceBuffer as the concept is now irrelevant Change 3833097 by Jamie.Dale Localization Pipeline Optimization Manifest/Archives: Added FLocKey to keep an immutable string and its hash. This is used in several places within manifests and archives to minimize string hashing. FLocTextHelper also now take these in its API. This also fixes some places where manifests were being iterated by key rather than source string (as this was causing redundant work). Portable Object: Cleaned up a lot of redundant code, changed things to use FLocKey, and simplified a lot of string manipulation to use algorithms instead (which proved to be faster). Asset Gathering: Optimized the way garbage collection runs while gathering from assets so that we avoid purging assets that we still need to gather from (or are still active dependencies). This also sorts the assets so that we can try and evict dependencies from memory as soon as possible (in much the same way that the cooker does). Automation: The gather commandlet can now take multiple configs to process. This is used by automation to avoid starting the editor several times (which can save a significant amount of start-up overhead). [CL 4052378 by Lauren Ridge in Main branch]
2018-05-04 14:14:10 -04:00
bool SDockingTabStack::CanCloseTabsToRightOfForegroundTab() const
{
TSharedPtr<SDockTab> ForegroundTabPtr = TabWell->GetForegroundTab();
if (!ForegroundTabPtr.IsValid())
{
return false;
}
const ETabRole VisualTabRole = ForegroundTabPtr->GetVisualTabRole();
if ((VisualTabRole == ETabRole::DocumentTab || VisualTabRole == ETabRole::MajorTab) && (TabWell->GetNumTabs() > 1) && (TabWell->GetForegroundTabIndex() != TabWell->GetNumTabs() - 1))
Copying //UE4/Dev-Editor to //UE4/Dev-Main (Source: //UE4/Dev-Editor @ 4048875) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3808185 by Cody.Albert Added missing calls to FEditorViewportClient::AddReferencedObjects in overrides Change 3809824 by Michael.Trepka Improved the way we generate groups in Xcode project's source code navigator. They are now sorted alphabetically and have correct paths so Xcode no longer displays them in red. Also, added __INTELLISENSE__ to preprocessor definitions for indexing to improve indexing without game header files generated. Change 3810089 by Jamie.Dale Fixed PO files failing to import translations containing only whitespace Change 3811281 by Matt.Kuhlenschmidt PR #4331: Toggle SIE shortcut only in PIE (Contributed by projectgheist) Change 3813031 by Matt.Kuhlenschmidt Fix undocked tabs not dropping at users mouse location #jira UE-53427 Change 3813361 by Brandon.Schaefer Print what SDL video driver we are using Change 3818430 by Matt.Kuhlenschmidt PR #4365: Incorrect font name and forgotten undef (Contributed by projectgheist) Change 3818432 by Matt.Kuhlenschmidt PR #4366: Asset Color Strip updates correct on drag and drop (Contributed by projectgheist) Change 3818436 by Matt.Kuhlenschmidt PR #4367: Improved logging (Contributed by projectgheist) Change 3819886 by Matt.Kuhlenschmidt Add a way to optionally disable the warning about referenced actors being moved to other levels. Useful for bulk actor moves via script Change 3819888 by Matt.Kuhlenschmidt Avoid crashing when a window size becomes too large to render. Instead just ensure and clamp to the maximum allowed size. Avoids crashes where the screen dimensions are saved with super large numbers for unknown reasons Change 3821773 by Brandon.Schaefer Fix crash when importing to level #jira UE-31573 Change 3821892 by Jamie.Dale Improved the localized asset cooking so that it only cooks L10N variants if their source asset is cooked #jira UE-53010 Change 3823714 by Christina.TempelaarL #jira UE-52179 added support for grayscale PSD files Change 3826805 by Christina.TempelaarL #jira UE-49636 SceneCaptureComponent2D hidden actor and show only actors disabled in blueprints #jira UE-53445 SceneCaptureComponent2D hidden actors always disabled in details layout Change 3828444 by Anthony.Bills Add LXC container script for building third party libraries. The intention is that this should become the only way to rebuild the third party libraries that require system dependencies not included in the cross-compile toolchain and also to rebuild the toolchains. Other third party libraries without any system dependencies could be rebuilt via the cross-compile toolchains/UBT. This script has been tested running on CentOS 7 and Ubuntu 17.10. Buy default the x86 and x86_64 builds will be built against a CentOS 6 container (and targeting glibc 1.12) and the aarch64 and armhf builds will use an Ubuntu Ubuntu Trusty (14.04) but this is not yet complete. Change 3828754 by Brandon.Schaefer Linux: Fix gamepad thumbstick clicks not registering (github #4209 thanks J??rn M??ller) #jira UE-45722 #review-3828733 Arciel.Rekman Change 3830414 by Brandon.Schaefer Remove circular referencing to a parent window. Move to use AddSP vs AddRaw as well to be safe manually remove ourselves from the selection event delegate list due to Linux pending deletion of windows. Looks like this should fix UE-28322 as well which I've removed the work around placed in for that. #jira UE-53918 #review @michael.trepka, @matt.kuhlenschmidt, @arciel.rekman Change 3830916 by Brandon.Schaefer More verbose message about missing VK extensions (from Marcin Undak) #review-3830710 marcin.undak, arciel.rekman Change 3831339 by Brandon.Schaefer Default to as-needed for debug mode #jira none #review-3830658 Arciel.Rekman Change 3833102 by Jamie.Dale Re-added warning for duplicate package localization IDs when gathering asset localization Change 3834600 by Jamie.Dale Optimized asset registry filter intersection Change 3838024 by Brandon.Schaefer Remove tracking of CLion/CMake build files (from github #4346 thanks reapazor!) #jira UE-53551 #review-3835803 arciel.rekman Change 3839969 by Michael.Dupuis #jira UE-52289: When OnRegister is called on the component make sure our PerInstanceRenderData is up to date Prevent a possible crash if ClearInstanceSelection was called on a component with no PerInstanceRenderData existing Change 3840049 by Michael.Dupuis #jira UE-52975: Was always performing the equivalent of an Add, so now we use the Transform during the duplicate Change 3840071 by Matt.Kuhlenschmidt - Combine some shader params for slate in order to reduce overhead setting uniform buffers - Added better stats for slate draw call rendering - cleaned up huge lambda in Slate rendering main function so we can read the main slate rendering function again Change 3840291 by Michael.Dupuis #jira UE-53053: Was having a mismatch between the remove reorder and the actual remove Change 3840840 by Michael.Dupuis #jira UE-53944: Make sure the LOD generated is in the valid range to prevent the crash Change 3842072 by Michael.Dupuis #jira UE-50299: Include NumSubsection in calculation of component quad factor Change 3842487 by Christina.TempelaarL #jira UE-50573 HighResShot has wrong res in immersive mode Change 3845702 by Matt.Kuhlenschmidt PR #4381: DefaultASTCQualityBySpeed too high max value. (Contributed by kallehamalainen) Change 3845706 by Matt.Kuhlenschmidt PR #4388: Only restore window if minimized (Contributed by projectgheist) Change 3845993 by Christina.TempelaarL #jira UE-41558 crash when selecting PostProcessingVolumes in separate levels Change 3856395 by Brandon.Schaefer No longer using ALAudio on Linux #jira UE-53717 Change 3858324 by Michael.Trepka Preserve command line arguments in Xcode project when regenerating it Change 3858365 by Michael.Dupuis #jira UE-52049: There was a case where adding and removing multiple time would lead to reordering the instances and this would cause the regeneration of the random stream for all the reorded instances. Change 3858492 by Michael.Trepka Updated dependencies for Mac dSYM files so that only cross-referenced modules have their dSYMs recreated on subsequent builds instead of all modules. Change 3859470 by Michael.Trepka CIS fix. Make sure a scheme file exists before trying to read it when generating Xcode project. Change 3859900 by Joe.Conley Fix for "Check Out Assets" window not properly receiving focus. Change 3865218 by Michael.Dupuis #jira UE-45784: Exposed the possibility to edit LDMaxDrawDistance Change 3866957 by Michael.Dupuis #jira UE-42509: Added BodyInstance to ULandscapeSplineSegment and ULandscapeSplineControlPoint Deprecated bEnabledCollision and migrate data as it's replaced by BodyInstance Change 3867220 by Cody.Albert Fixed Project Launcher scrollbar to properly stay anchored at the bottom of the scroll area. Change 3869117 by Michael.Dupuis #jira UE-42509:Fixed compile error when not having editor data Change 3872478 by Arciel.Rekman Linux: disable PIE if compiler enables it by default. Change 3874786 by Michael.Dupuis #jira UE-46925: Remove the guessing functionality when importing a heightmap, and instead propose to the user valid size that can be used for the import through a combo button. Improved usability of the UI by disabling size field when no file was specified Change 3875859 by Jamie.Dale Implemented our own canonization for culture codes Change 3877604 by Cody.Albert We now validate actor names passed to SetActorLabel to ensure None isn't passed in, which can corrupt levels Change 3877777 by Nick.Shin PhysX build fix - this came from CL: 3809757 #jira UE-54924 Cannot rebuild Apex/PhysX/NvCloth .emscripten missing Change 3881693 by Alexis.Matte Fix local path search to not search in memory only #jira UE-55018 Change 3882512 by Michael.Dupuis #jira none : Fixed screen size calculation to take aspect ratio into account correctly Change 3886926 by Arciel.Rekman Linux: fixed checking clang settings during the cross-build (UE-55132). #jira UE-55132 Change 3887080 by Anthony.Bills Updated SDL2 build script. - Now allows compiling inside a CentOS 6 or Ubuntu 12.04 container with wayland support when using the ContainerBuildThirdParty.sh. - Added multiple build arch support to the BuildThirdParty script and pass this down to the SDL2 build script. Change 3887260 by Arciel.Rekman Linux: fix leaking process handles in the cross-toolchain. Change 3889072 by Brandon.Schaefer Fix RPath workaround, to better handle both cases #jira UE-55150 #review-3888119 @Arciel.Rekman, @Ben.Marsh Change 3892546 by Alexis.Matte Remove fbx exporter welded vertices options #jira UE-51575 Change 3893516 by Michael.Dupuis Remove static mesh instancing async buffer filling, as with all the changes made, it's no longer necessary, the cost of loading very large buffer is negligable Rebuild the occlusion tree when using foliage.DensityScale with something other than 1.0 Change 3894365 by Brandon.Schaefer Pass FileReference over a raw string to the LinkEnvironment #jira none #review-3894241 @Ben.Marsh, @Arciel.Rekman Change 3895251 by Brandon.Schaefer Use X11 pointer barriers to bound the cursor to a region over warping the pointers. Patch from Cengiz #jira UE-25615 #jira UE-30714 #review-3894886 @Arciel.Rekman Change 3897541 by Michael.Dupuis #jira UE-53787: Added guard if for some reason the material is null we should not try to draw using this material Change 3904143 by Rex.Hill #jira UE-55366: Fix crash when overwriting existing level during level save as #jira UE-42426: Map '_BuiltData' can now be deleted when selected at same time as map - Map '_BuiltData' package is now garbage collected when switching maps in the editor Change 3906373 by Brandon.Schaefer Fix splash image. Use alias format for big/little endian machines. #jira none Change 3906711 by Rex.Hill #jira UE-42426: BuiltData now deleted with maps Change 3907221 by Cody.Albert Add support for relative asset source paths in content plugins Change 3911670 by Alexis.Matte Fix assetimportdata creation owner #jira UE-55567 Change 3912382 by Anthony.Bills Linux: Add binaries for GoogleTest and add to BuildThirdParty script. Change 3914634 by Cody.Albert Added missing include that could cause compile errors if IWYU was disabled. Change 3916227 by Cody.Albert Fixing some cases where we check #ifdef WITH_EDITOR instead of #if WITH_EDITOR Change 3917245 by Michael.Dupuis #jira UE-35097: Fixed crash when creating a new landscape with 2x2 subsection and material containing grass spawning Change 3918331 by Anthony.Bills Linux: Bundled Mono - Explicilty pick libc.so.6 as libc.so is a linker script and store the config file directly. Change 3920191 by Rex.Hill #jira UE-44197 Fix saving sub-level level causing MapBuildData to be deleted Improved MapBuildData rename, move, duplicate, copy Change 3920333 by Matt.Kuhlenschmidt Render target clear color property now settable in editor #jira UE-55347 Change 3926094 by Michael.Dupuis #jira UE-51502: Added some min/max values to foliage and grass settings to prevent overflow/crash #coderevew jack.porter Change 3926243 by Michael.Dupuis #jira UE-54669: cleaned up invalid/duplicate shader and moved some shaders to appropriate list Change 3926760 by Jamie.Dale Added support for TTC/OTC fonts These can be used via a sub-face index on FFontData, which can be set via a new combo in the font editor. You can also see the cached list of sub-faces within a font file from the UFontFace asset. Change 3927793 by Anthony.Bills Mono: Remove SharpZipLib and references from bundled Mono. #review-3887212 @ben.marsh, @michael.trepka Change 3928029 by Anthony.Bills Linux: Add support for UnrealVersionSelector. - Supports using UVS to launch without a project file. This will then launch the selected engine's project wizard. - Linux UVS uses Slate for the version selection and error log dialogs. - Mime-types and desktop file support added to DesktopPlatformLinux to allow associating with UVS as per the Windows binary and git builds. - Icons added for Linux. #review-3882197 @arciel.rekman, @brandon.schaefer Change 3931293 by Alexis.Matte Add generic Levenshtein edit distance to core algo. This algorithm will help suggesting name matching when users have to resolve material name conflict when re-import fbx meshes. Add also plenty of automation tests for it. #jira none Change 3931436 by Arciel.Rekman Stop RHI thread before shutting down RHI. - Prevents crashes for some drivers that create TLS objects with destructors; those destructors will get called after the thread exited, but the library will already be unloaded on RHI shutdown. Change 3934287 by Alexis.Matte Fix crash when re-importing skeletal mesh. Skinned component render data resource is now release when re-importing. #jira none Change 3937585 by Lauren.Ridge Added labels to the colors stored in the theme bar. Change 3937738 by Alexis.Matte Make sure content browser do not show a preview asset created when we cancel an export animation preview #jira UE-49743 Change 3941345 by Michael.Dupuis #jira UE-26959: Prevent reusing multiple type the same grass type into the same material grass output node Change 3941453 by Michael.Dupuis #jira UE-47492: Added a guard to validate LayerIndex Change 3942065 by Jamie.Dale Fixed crash trying to use FSlateApplication when it wasn't available (eg, in a commandlet) Change 3942573 by Alexis.Matte Fix static analysis Change 3942623 by Michael.Dupuis #jira 0 Cast to ulong as TaskIndex * NumStripes could exceed an int limit and add an assert if the wraparound is negative Change 3942993 by Matt.Kuhlenschmidt PR #4547: Verify the return value of FT_New_Memory_Face (Contributed by jorgenpt) Change 3942998 by Matt.Kuhlenschmidt PR #4554: Cleanup log printing (Contributed by projectgheist) Change 3943003 by Matt.Kuhlenschmidt PR #4534: Prevent Fatal log when alt tabbing during a level save (Contributed by projectgheist) Change 3943011 by Matt.Kuhlenschmidt PR #4518: edit (Contributed by pdlogingithub) Change 3943027 by Matt.Kuhlenschmidt PR #4524: Notifications always render on the screen with the main viewport (Contributed by projectgheist) Change 3943074 by Matt.Kuhlenschmidt PR #4484: Add group actor to folder (Contributed by ggsharkmob) Change 3943079 by Matt.Kuhlenschmidt PR #4431: Git Plugin: replace usage of the 2 cli args "--work-tree" and "--git-dir" by "-C" (Contributed by SRombauts) Change 3943092 by Matt.Kuhlenschmidt PR #4434: Git plugin: configure the default remote URL 'origin' (Contributed by SRombauts) Change 3943132 by Matt.Kuhlenschmidt PR #4247: Add File picker to Git Path setting on GitSourceControl (Contributed by shiena) Change 3943141 by Matt.Kuhlenschmidt PR #4303: Fix ULevelExporterT3D so that it works in a commandlet (Contributed by DSDambuster) Change 3943349 by Jamie.Dale Cleaned up PR #4547 Made the assert non-fatal to avoid it being able to take down the editor if you load up a bad font. Fixed some code that was deleted during the merge. Change 3943976 by Michael.Trepka Copy of CL 3940687 Fixed long link times when building for Mac in Debug by passing -no_deduplicate flag to the linker, which is what Xcode does in Debug configs. #jira none Change 3944882 by Matt.Kuhlenschmidt Fix a few regressions with scene viewport activation locking can capturing the cursor in editor #jira UE-56080, UE-56081 Change 3947339 by Michael.Dupuis #jira UE-55664: Fixed undo/redo buffer handling so we remove from the beginning of the buffer during undo buffer where buffer is at max memory and from the end during redo operation. Fixed cancel also to re add removed transaction at the end or the start depending if we're doing a redo or undo operation Fixed the Undo History UI to listen to an event when the undo buffer changed instead of checking every frame, as when the buffer was full, no changes would occur, thus no UI update. Change 3948179 by Jamie.Dale Fixed monochromatic font rendering - All non-8bpp images are now converted to 8bpp images for processing in Slate. - We convert the gray color of any images not using 256 grays (eg, monochromatic images that use 2 grays). - Fixed a case where the temporary bitmap wasn't being deleted. - Fixed a case where the bitmap could be used after it was deleted. - Added a CVar (Slate.EnableFontAntiAliasing) to control whether you want anti-aliased (256 grayscale) rendering (default), or monochromatic (2 grayscale) rendering. Change 3949922 by Alexis.Matte Ensure fbx node name are not empty when loading a fbx file. I use the same naming convention as Maya #jira UE-56079 Change 3950202 by Rex.Hill Fix crash during editor asset automation tests. Now skips showing modal progress window when opening asset editor window. ActiveTopLevelWindow is not set when modal windows are open. #jira UE-56112 Change 3950484 by Michael.Dupuis #jira UE-52176: delete the Cluster tree when the builder is no longer needed Change 3954628 by Michael.Dupuis Bring back 4.19/4.19.1 Landscape changes Change 3957037 by Michael.Dupuis #jira UE-53343: Add foliage instances back when changing component size Changed the formulation for the Clip/Expand behavior to make it more explicit on what will happen Added SlowTask stuff to manage big landscape change Change 3959020 by Rex.Hill Rename/move file MallocLeakDetection.h Change 3960325 by Michael.Dupuis Fixed static analysis Change 3961416 by Michael.Dupuis #jira UE-46100: Exposed UseDynamicInstanceBuffer on Foliage type, so user can decide if they want to update them dynamically #jira UE-55092: Fixed the warning to appear when having resource array as empty but VB as set up Added data conssitency that when using Dynamic buffer, Keep CPU Access should also be true, even if implicitly it's already the case, now it's explicit Change 3962372 by Michael.Trepka Copy of CL 3884121 Fix for SProgressBar rendering incorreclty on Mac #jira UE-56241 Change 3964931 by Anthony.Bills Linux: Add cross-compiled binary of UVS Shipping. Change 3966719 by Matt.Kuhlenschmidt Fix parameters out of order here #jira UE-56399 Change 3966724 by Matt.Kuhlenschmidt PR #4585: Export symbols for the FDragTool (Contributed by Begounet) Change 3966734 by Matt.Kuhlenschmidt PR #4596: fix the slider issue of the HighResolutionScreenshot window (Contributed by mamoniem) Change 3966739 by Matt.Kuhlenschmidt Removed duplicated code #jira UE-56369 Change 3966744 by Matt.Kuhlenschmidt PR #4602: Fixes check for existing extensions when generating "All Extensions". (Contributed by PhilBax) Change 3966758 by Matt.Kuhlenschmidt PR #4604: Fixed an issue where the Modules and DebugTools tabs would be unrecognized after startup if docked in the level editor (Contributed by tstaples) Change 3966780 by Matt.Kuhlenschmidt Fix crash accessing graph node title widgets when objects have become stale. #jira UE-56442 Change 3966884 by Alexis.Matte Fix speedtree uninitialized values #jira none Change 3967568 by Alexis.Matte Do not override the screensize when importing a skeletal mesh, let the value set by the AddLodInfo function #jira UE-56493 Change 3968333 by Brandon.Schaefer Fix order of operation #jira UE-56400 Change 3969070 by Anthony.Bills Linux: Make sure to set the UE_ENGINE_DIRECTORY #jira UE-56503 #review-3966609 @arciel.rekman, @brandon.schaefer Change 3971431 by Michael.Dupuis #jira UE-56515: Fixed an issue where ForcedLOD > MaxLOD and make sure that LastLOD will at least contain current streamed in LOD. #jira UE-56517: When using ParallelInitView 1 there was a memory leak related to a reallocate that happen with the TArray of FMemstack Pass correctly LODDistanceFactor instead of View.LODScale as we do not want StaticMeshScale to affect us. Change 3971467 by Matt.Kuhlenschmidt Fixed crash deleting a texture with texture painting on it #jira UE-56994 Change 3971557 by Matt.Kuhlenschmidt Fix temporary exporter objects being potentially GC'd and causing crashes during export #jira UE-56981 Change 3971713 by Cody.Albert PR #4597: [FPS Template] Small null pointer check fix and cleanup (Contributed by TheCodez) Change 3971846 by Michael.Dupuis #jira UE-56517: Properly "round" the count so we have the right amount of memory reserved #jira UE-56515: Still had a edge case left, so when using forced lod i simply make sure the value is in valid range, and allocate all the required data for this range Change 3973035 by Nick.Atamas Line and Spline rendering changes: * Lines/Splines now use 1 UV channel to anti-alias (this channel can be used for texturing) * Anti-aliasing filter now adjusted based on resolution * Modified Line/Spline topology to accomodate new UV requirements * Disabled vertex snapping for anti-aliased lines/splines; previously vertexes were snapped, but vertex positions did not affect line rendering (behavior effectively unchanged) * Splines now adaptively subdivided to avoid certain edge-cases Change 3973345 by Nick.Atamas - Number tweaks to maintain previously perceived wire thickness in various editors. Change 3977764 by Rex.Hill MallocTBB no longer debug fills bytes in development configuration Change 3978713 by Arciel.Rekman UVS: Fix stale dependency. Change 3980520 by Matt.Kuhlenschmidt Fix typo #jira UE-57059 Change 3980557 by Matt.Kuhlenschmidt Fixed negative pie window sizes causing crashes #jira UE-57100 Change 3980565 by Matt.Kuhlenschmidt PR #4628: Fixed revert action, now correctly uses CanRevert() condition (Contributed by Kryofenix) Change 3980568 by Matt.Kuhlenschmidt PR #4626: UE-57111: Handle CaptureRegion for HighResShot in PIE (Contributed by projectgheist) Change 3980580 by Matt.Kuhlenschmidt PR #4567: [Editor UI] Pick Parent Class dialog: set keyboard focus and handle Escape & Enter (Contributed by SRombauts) Change 3980581 by Matt.Kuhlenschmidt PR #4565: [Editor UI] Add C++ Class dialog: set keyboard focus and handle Escape & Enter (Contributed by SRombauts) Change 3981341 by Jamie.Dale Re-added GIsEditor condition around package namespace access #jira UE-55816 Change 3981808 by Ryan.Brucks Added LandscapeProxy functions to push RenderTarget data to Heightmaps and Weightmaps Change 3983344 by Jack.Porter #include fixes for CL 3981808 #jira 0 Change 3983391 by Jack.Porter One for #include fix for CL 3981808 #jira 0 Change 3983562 by Michael.Dupuis #jira UE-53787: Make sure the material array is valid before trying to generate static mesh batch element #jira UE-56451: Instead of asserting, simply skip this element as it had invalid custom data anyway, so we can't render it Change 3983600 by Matt.Kuhlenschmidt PR #4289: Pragma Once/Include guard cleanup (Contributed by projectgheist) Change 3983637 by Matt.Kuhlenschmidt PR #4408: Add a template pregeneration hook (Contributed by mhutch) Change 3984392 by Michael.Dupuis #jira UE-56314: Correctly apply LODBias on calculated LOD Fixed some Landscape popping that could occur when we were forcing a LOD that didn't match the component screen size Change 3984950 by Rex.Hill Optimized texture import speed 2-3x depending on number of cpu cores and image size Change 3985033 by Rex.Hill File drag and drop is more quick to respond when editor is in background #jira UE-57192 Change 3986218 by Jack.Porter Missing template parameter fix for CL 3981808 #jira 0 Change 3986376 by Michael.Dupuis #jira UE-56453: Do not use the CreateDynamicMaterialInstance as it will change the parenting of the actor used material, instead simply use the function to generate the MID and parent it correctly. Change 3989391 by Matt.Kuhlenschmidt Fix constant FName lookup in level editor when checking various states of level editor tabs Change 3990182 by Rex.Hill Optimize editor startup time: GetCurrentProjectModules Change 3990365 by Alexis.Matte Fix crash with spline mesh when the attach SM get a new imported LOD #jira UE-57119 Change 3991151 by Rex.Hill VR Editor module now waits to load images until VR mode activated in editor. Saves 0.4 seconds of editor startup time. Change 3991164 by Rex.Hill Optimize editor startup time: FindModulePaths() - Invalidates cache when search paths added - Use cache during wildcard searches containing * and ? Change 3995366 by Anthony.Bills Update BuildCrossToolchain script to allow a Linux host targeting multiple Linux architectures (including the hosts arch). Added a patch to support a gcc 4.8.5 based toolchain on windows (potentially useful for users crosscompiling using GCC and libstdc++ and targeting CentOS 7). #review-3848487 @arciel.rekman, @brandon.schaefer Change 3996109 by Jamie.Dale Reworked BP error messages to be more localization friendly #jira UETOOL-1356 Change 3996123 by Michael.Dupuis #jira UE-57427: Update random color on load of the component #jira UE-56272: Change 3996279 by Merritt.Cely Removed hardware survey from editor #jira an-2243 #tests launched the editor Change 3996626 by Alexis.Matte Fix crash when SkeletalMesh tangent buffer is empty after the build and we serialize the tangent array. #jira UE-57227 Change 3996663 by Max.Chen Sequencer: Fix fbx animation export - rotation and scale channels were flipped. #jira UE-57509 #jira UE-57512 #jira UE-57514 Change 4000331 by Brandon.Schaefer Add a GFNameTableForDebuggerVisualizers_MT back only for Unix under the Core module #review-3999426 @Arciel.Rekman #jira UE-55298 Change 4000450 by Matt.Kuhlenschmidt Another guard against a factory being destroyed during import #jira UE-57674 Change 4000459 by Matt.Kuhlenschmidt Added check for valid game viewport to see if this is the problem in UE-57677 #jira UE-57677 Change 4000493 by Matt.Kuhlenschmidt Remove stale GC'd components when refreshing paint mode to prevent crashes #jira UE-52618 Change 4000683 by Jamie.Dale Fixed target being incorrect when added via the Localization Dashboard #jira UE-57588 Change 4000738 by Alexis.Matte Add a section settings to ignore the section when reducing #jira UE-52580 Change 4000920 by Alexis.Matte PR #4219: Fix for SColorGradingPicker preventing PIE (Contributed by projectgheist) author projectgheist projectgheist@gmail.com Change 4001432 by Alexis.Matte Add a fbx re-import resolve material windows, user can now help resolving the material in case the importer fail to found a match. Change 4001447 by Jamie.Dale Fixed property table not working with multi-line editable text Change 4001449 by Jamie.Dale PR #4531: Localization multiline fix (Contributed by Lallapallooza) Change 4001557 by Alexis.Matte Fix a check in fbx scene importer, in case the user import a fbx LOD group with no geometry under it #jira UE-57676 Change 4002539 by Alexis.Matte Make the fbx importer global transform options persist in the config file #jira UE-50897 Change 4002562 by Anthony.Bills Linux: Enable UVS registering for git builds only and remove old Mono and pre-UVS script code. Change 4003241 by Alexis.Matte Fix the staticmesh import socket logic, it was duplicating socket when re-importing #jira UE-53635 Change 4003368 by Michael.Dupuis #jira UE-57276: #jira UE-56239: #jira UE-54547: Make sure we can't go above MaxLOD even for texture streaming Change 4003534 by Alexis.Matte Fix re-import mesh name match #jira UE-56485 Change 4005069 by Michael.Dupuis #jira UE-57594: Add a guard to prevent crash if we have an invalid resource for the heightmap texture (happen when component is deleted, for example) Change 4005468 by Lauren.Ridge Widgets should not be removed from parent when they are pending GC #jira UE-52260 Change 4006075 by Michael.Dupuis Fixed foliage density scaling to be applied even in editor, except in Foliage edit mode. Change 4006332 by Arciel.Rekman UBT: Adding support for bundled toolchains on Linux. - Authored by Anthony Bills, with modifications. Change 4007528 by Matt.Kuhlenschmidt PR #4665: Source control History Window: enlarge column Description (Contributed by SRombauts) Change 4007531 by Matt.Kuhlenschmidt PR #4656: UE-57200: Ignore reference to actor if same actor (Contributed by projectgheist) Change 4007548 by Matt.Kuhlenschmidt PR #4664: Set Password on EditableText (Contributed by projectgheist) Change 4007730 by Brandon.Schaefer Add a new way to symbolicate symbols for a crash at runtime Two new tools are used for this. 1) dump_syms Will generate a symbol file, which is to large to read from at runtime 2) BreakpadSymbolEncoder Takes the dump_syms file and encodes it in such a way we can do a binary search at runtime to find a Program Counter to a symbol we are looking for #review @Arciel.Rekman, @Anthony.Bills #jira UETOOL-1206 Change 4008429 by Lauren.Ridge Fixing undo bug when deleting user widgets from the widget tree #jira UE-56394 Change 4008581 by Cody.Albert Reinitialize needs to set the audio and caption tracks in addition to the video track or the currently selected track will be lost Change 4009605 by Lauren.Ridge Added Recently Opened assets filter under Other Filters in the Content Browser Change 4009797 by Anthony.Bills Linux: Update MultiArchRoot path to not cache. Move in tree toolchain location to match UBT convention and make sure the MultiArchRoot is checked before the system. Change 4010266 by Michael.Trepka Copy of CL 4010052 Moved some key event handling calls to the main thread on Mac to satisfy new macOS requirements #jira UE-54623 Change 4010838 by Arciel.Rekman Linux: limit allowed clang versions to 3.8-6.0. Change 4012160 by Matt.Kuhlenschmidt Changed the messagiing on the crash reporter dialog to reflect new bug submission process #jira UE-56475 Change 4013432 by Lauren.Ridge Fix for non-assets attempting to add to the Content Browser's recent filter #jira none Change 4016353 by Cody.Albert Improved copy/paste behavior for UMG editor: -Pasting in the designer while a canvas is selected will place the new widget under the cursor -Pasting multiple times while a canvas panel is selected in the hierarchy view will cascade the widgets starting at 0,0 -Pasting while something that isn't a panel is selected is now allowed, and will cascade the pasted widgets off the position of the selected widget (as siblings) -Newly pasted widgets will now be selected automatically -Pasting multiple widgets at once will try and maintain their relative positions if they're being pasted into a canvas panel Change 4017274 by Matt.Kuhlenschmidt Added some guards against invalid property handle access #jira UE-58026 Change 4017295 by Matt.Kuhlenschmidt Fix trying to apply delta to a mix of scene components and non scene components. Its acceptable to not have scene components in the selected component list #jira UE-57980 Change 4022021 by Rex.Hill Fix for audio desync and video fast-forwarding behavior. There long delay (500ms+) until samples start arriving unless we use RequestedTimeCurrent. After delay occurs samples begin arriving at accelerated speed until caught up to playback time leading to visual and audio problems. #jira UE-54592 Change 4023608 by Brandon.Schaefer Downscale memory if we dont have enough #jira UE-58073 #review-4023609 @Arciel.Rekman Change 4025618 by Michael.Dupuis #jira UE-58036: Apply world position offset correctly Change 4025661 by Michael.Dupuis #jira UE-57681: Added guard to prevent possible crash if either we have an invalid material or the material parent is invalid Change 4025675 by Michael.Dupuis #jira UE-52919: if no actor was found in the level skip moving the instances Change 4026336 by Brandon.Schaefer Manually generate *.sym files for Physx3 This should be done in the BuildPhysx file Change 4026627 by Rex.Hill Fix memory leak fix when playing video and main thread blocks #jira UE-57873 Change 4029635 by Yannick.Lange Fix VRMode loading assets only when VRMode starts. #jira UE-57797 Change 4030288 by Jamie.Dale Null FreeType face on load error to prevent potential crashes Change 4030782 by Rex.Hill Fix save BuildData after changing reflection capture in a new level #jira UE-57949 Change 4033560 by Michael.Dupuis #jira UE-57710: Added some guard to prevent crash/assert Change 4034244 by Michael.Trepka Copy of CL 4034116 Fixed arrow keys handling on Mac Change 4034708 by Lauren.Ridge PR #4699: UE-8508: Update config file to keep folder color in sync (Contributed by projectgheist) #jira UE-58251 Change 4034746 by Lauren.Ridge PR #4701: Add option to close tabs to the right of the active tab (Contributed by jesseyeh) #jira UE-58277 Change 4034873 by Lauren.Ridge Fix for not being able to enter simulate more than once in a row. #jira UE-58261 Change 4034922 by Lauren.Ridge PR #4387: Commands mapped in incorrect location (Contributed by projectgheist) #jira UE-53752 Change 4035484 by Lauren.Ridge Tentative fix for crash on pasting comment. All other accesses to UMaterialExpressionComment check its validity first #jira UE-57979 Change 4037111 by Brandon.Schaefer Try to use absolute path from dladdr if we can to find the sym files #jira UE-57858 #review-4013964 @Arciel.Rekman Change 4037366 by Brandon.Schaefer Dont check the command line before its inited #review-4037183 @Arciel.Rekman #jira UE-57947 Change 4037418 by Alexis.Matte Remove the checkSlow when adding polygon Change 4037745 by Brandon.Schaefer Use as much info as we can during ensure Just as fast as the old way but with more information #review-4037495 @Arciel.Rekman #jira UE-47770 Change 4037816 by Rex.Hill Import mesh optimization, BuildVertexBuffer Change 4037957 by Arciel.Rekman UBT: make it easier to try XGE on Linux. Change 4038401 by Lauren.Ridge Reordering is now correctly handled by undo. Reordering and then undoing will no longer cause a "ghost" widget to also be part of the tree. #jira UE-58206 Change 4039612 by Anthony.Bills Unix: Check for null StdOut and ReturnCode parameters, otherwise the code may dereference a null variable when the process fails to create. Change 4039754 by Alexis.Matte Remove the Render meshdescription, no need to carry this temporary data in the staticmesh Change 4039806 by Anthony.Bills Linux: UVS fixes - Update to use new Unix base platform. - Use bin/bash instead of usr/bin/bash (may need revisiting later). - Recompile Shipping version with changes. - Update Setup.sh to run from correct CWD (due to current limitations in the relative directory handling). Change 4039883 by Lauren.Ridge PR #4576: Save editor config to file first time a fav folder is added in the co. (Contributed by projectgheist) #jira UE-56249 Change 4040117 by Lauren.Ridge Replacing widgets should now also clear out references to the widget #jira UE-57045 Change 4040790 by Lauren.Ridge Tentative fix for Project Launcher crash when platform info not found #jira UE-58371 Change 4042136 by Arciel.Rekman UBT: refactor of LinuxToolChain to make it leaner and more configurable. - Made it possible to override SDK passed to the toolchain. - Simplified the code by using the same executable names on Windows and Linux (as .exe is optional), except where File.Exists() is needed (also remove a few) - Some minor renames to make it clear that SystemSDK means system compiler (which otherwise may be unclear) - Made changes to accomodate the new debug format. Change 4042930 by Brandon.Schaefer GCoreObjectArrayForDebugVisualizers was changed to FChunkedFixedUObjectArray reflect that in the Unix part Change 4043539 by Brandon.Schaefer Fix callsite address being used at times for the Program Counter Fix only reporting the actual callstack and not the crash handling callstacks #review-4041370 @Arciel.Rekman #jira UE-58477 Change 4043674 by Arciel.Rekman Added Linux ARM64 (AArch64) lib for MikkTSpace. - Now required for standalone games due to EditableMesh runtime plugin. Change 4043677 by Arciel.Rekman Linux: updated ARM64 (AArch64) version of SDL2. Change 4043690 by Arciel.Rekman Linux: allow compiling VulkanRHI for AArch64 (ARM64). Change 4045467 by Brandon.Schaefer Add Anthony Bills SetupToolchain.sh script Used to download the latest toolchain Change 4045940 by Michael.Trepka Return empty list instead of null from Mac GetDebugInfoExtensions() in UBT #jira UE-58470 Change 4046542 by Alexis.Matte Fix skeletal re-import material assignation #jira UE-58551 Change 4048262 by Brandon.Schaefer Rebuild SDL with pulse audio libs #jira UE-58577 Change 3887093 by Anthony.Bills Add bundled mono binary for Linux. - Unify some of the script structure across Mac and Linux. - This currently uses the same mono C# assemblies as Mac to keep the additional source size down. - If the Mac mono version is updated, the Linux version will also need to be updated to match the same mono git revision. - The system version of mono can still be used by setting the UE_USE_SYSTEM_MONO env var to 1. Change 4003226 by Michael.Dupuis Refactored StaticMeshInstancing to now use a command buffer to communicate with the GPU to prevent concurent access issues. It's mostly used in Editor or if runtime changes occur, otherwise the data is built and send to the GPU directly without keeping CPU copy. Changed how the density scaling was applied to be more optimal Removed UseDynamicInstanceBuffer as the concept is now irrelevant Change 3833097 by Jamie.Dale Localization Pipeline Optimization Manifest/Archives: Added FLocKey to keep an immutable string and its hash. This is used in several places within manifests and archives to minimize string hashing. FLocTextHelper also now take these in its API. This also fixes some places where manifests were being iterated by key rather than source string (as this was causing redundant work). Portable Object: Cleaned up a lot of redundant code, changed things to use FLocKey, and simplified a lot of string manipulation to use algorithms instead (which proved to be faster). Asset Gathering: Optimized the way garbage collection runs while gathering from assets so that we avoid purging assets that we still need to gather from (or are still active dependencies). This also sorts the assets so that we can try and evict dependencies from memory as soon as possible (in much the same way that the cooker does). Automation: The gather commandlet can now take multiple configs to process. This is used by automation to avoid starting the editor several times (which can save a significant amount of start-up overhead). [CL 4052378 by Lauren Ridge in Main branch]
2018-05-04 14:14:10 -04:00
{
const TArray< TSharedRef<SDockTab> > MyTabs = this->GetTabs().AsArrayCopy();
for (int32 TabIndex = TabWell->GetForegroundTabIndex() + 1; TabIndex < MyTabs.Num(); ++TabIndex)
{
TSharedRef<SDockTab> Tab = MyTabs[TabIndex];
if (Tab->CanCloseTab())
{
return true;
}
}
}
return false;
}
bool SDockingTabStack::CanCloseAllButForegroundTab() const
{
// If the active tab is a document tab or major tab and there is at least 1 other closeable tab, offer to close the others
TSharedPtr<SDockTab> ForegroundTabPtr = TabWell->GetForegroundTab();
if (!ForegroundTabPtr.IsValid())
{
return false;
}
const ETabRole VisualTabRole = ForegroundTabPtr->GetVisualTabRole();
if ((VisualTabRole == ETabRole::DocumentTab || VisualTabRole == ETabRole::MajorTab) && (TabWell->GetNumTabs() > 1))
{
const TArray< TSharedRef<SDockTab> > MyTabs = this->GetTabs().AsArrayCopy();
for (int32 TabIndex = 0; TabIndex < MyTabs.Num(); ++TabIndex)
{
TSharedRef<SDockTab> Tab = MyTabs[TabIndex];
if (Tab != ForegroundTabPtr && Tab->CanCloseTab())
{
return true;
}
}
}
return false;
}
bool SDockingTabStack::CanMoveForegroundTabToSidebar() const
{
if(TSharedPtr<SDockTab> ForegroundTabPtr = TabWell->GetForegroundTab())
{
return CanMoveTabToSideBar(ForegroundTabPtr.ToSharedRef());
}
return false;
}
bool SDockingTabStack::CanMoveTabToSideBar(TSharedRef<SDockTab> Tab) const
{
const FTabId TabIdBeingClosed = Tab->GetLayoutIdentifier();
// Only persistable non-major tabs can be put into a sidebar. There must also be more than one tab or else adding to a sidebar doesnt make si
return TabIdBeingClosed.IsTabPersistable() && Tab->GetVisualTabRole() != ETabRole::MajorTab && GetDockArea()->GetNumTabs() > 1;
}
bool SDockingTabStack::IsTabAllowedInSidebar(TSharedPtr<SDockTab> Tab) const
{
// Major tabs are not allowed to be sidebared
if (Tab.IsValid())
{
if (TSharedPtr<FTabManager> TabManager = Tab->GetTabManagerPtr())
{
return Tab->GetVisualTabRole() != ETabRole::MajorTab && TabManager->IsTabAllowedInSidebar(Tab->GetLayoutIdentifier());
}
}
return false;
}
SSplitter::ESizeRule SDockingTabStack::GetSizeRule() const
{
int32 NumTabs = this->GetNumTabs();
if (NumTabs > 0)
{
for (int32 Index = 0; Index < NumTabs; ++Index)
{
if (!this->GetTabs()[Index]->ShouldAutosize())
{
return SSplitter::FractionOfParent;
}
}
// If all tabs in this stack are sized to content, then the stack's cell should size to Content.
return SSplitter::SizeToContent;
}
else
{
return SSplitter::FractionOfParent;
}
}
void SDockingTabStack::SetTabWellHidden( bool bShouldHideTabWell )
{
if (bShouldHideTabWell)
{
---- Merging with SlateDev branch ---- Introduces the concept of "Active Ticking" to allow Slate to go to sleep when there is no need to update the UI. While asleep, Slate will skip the Tick & Paint pass for that frame entirely. - There are TWO ways to "wake" Slate and cause a Tick/Paint pass: 1. Provide some sort of input (mouse movement, clicks, and key presses). Slate will always tick when the user is active. - Therefore, if the logic in a given widget's Tick is only relevant in response to user action, there is no need to register an active tick. 2. Register an Active Tick. Currently this is an all-or-nothing situation, so if a single active tick needs to execute, all of Slate will be ticked. - The purpose of an Active Tick is to allow a widget to "drive" Slate and guarantee a Tick/Paint pass in the absence of any user action. - Examples include animation, async operations that update periodically, progress updates, loading bars, etc. - An empty active tick is registered for viewports when they are real-time, so game project widgets are unaffected by this change and should continue to work as before. - An Active Tick is registered by creating an FWidgetActiveTickDelegate and passing it to SWidget::RegisterActiveTick() - There are THREE ways to unregister an active tick: 1. Return EActiveTickReturnType::StopTicking from the active tick function 2. Pass the FActiveTickHandle returned by RegisterActiveTick() to SWidget::UnregisterActiveTick() 3. Destroy the widget responsible for the active tick - Sleeping is currently disabled, can be enabled with Slate.AllowSlateToSleep cvar - There is currently a little buffer time during which Slate continues to tick following any input. Long-term, this is planned to be removed. - The duration of the buffer can be adjusted using Slate.SleepBufferPostInput cvar (defaults to 1.0f) - The FCurveSequence API has been updated to work with the active tick system - Playing a curve sequence now requires that you pass the widget being animated by the sequence - The active tick will automatically be registered on behalf of the widget and unregister when the sequence is complete - GetLerpLooping() has been removed. Instead, pass true as the second param to Play() to indicate that the animation will loop. This causes the active tick to be registered indefinitely until paused or jumped to the start/end. [CL 2391669 by Dan Hertzka in Main branch]
2014-12-17 16:07:57 -05:00
ShowHideTabWell.PlayReverse( this->AsShared() );
}
else
{
---- Merging with SlateDev branch ---- Introduces the concept of "Active Ticking" to allow Slate to go to sleep when there is no need to update the UI. While asleep, Slate will skip the Tick & Paint pass for that frame entirely. - There are TWO ways to "wake" Slate and cause a Tick/Paint pass: 1. Provide some sort of input (mouse movement, clicks, and key presses). Slate will always tick when the user is active. - Therefore, if the logic in a given widget's Tick is only relevant in response to user action, there is no need to register an active tick. 2. Register an Active Tick. Currently this is an all-or-nothing situation, so if a single active tick needs to execute, all of Slate will be ticked. - The purpose of an Active Tick is to allow a widget to "drive" Slate and guarantee a Tick/Paint pass in the absence of any user action. - Examples include animation, async operations that update periodically, progress updates, loading bars, etc. - An empty active tick is registered for viewports when they are real-time, so game project widgets are unaffected by this change and should continue to work as before. - An Active Tick is registered by creating an FWidgetActiveTickDelegate and passing it to SWidget::RegisterActiveTick() - There are THREE ways to unregister an active tick: 1. Return EActiveTickReturnType::StopTicking from the active tick function 2. Pass the FActiveTickHandle returned by RegisterActiveTick() to SWidget::UnregisterActiveTick() 3. Destroy the widget responsible for the active tick - Sleeping is currently disabled, can be enabled with Slate.AllowSlateToSleep cvar - There is currently a little buffer time during which Slate continues to tick following any input. Long-term, this is planned to be removed. - The duration of the buffer can be adjusted using Slate.SleepBufferPostInput cvar (defaults to 1.0f) - The FCurveSequence API has been updated to work with the active tick system - Playing a curve sequence now requires that you pass the widget being animated by the sequence - The active tick will automatically be registered on behalf of the widget and unregister when the sequence is complete - GetLerpLooping() has been removed. Instead, pass true as the second param to Play() to indicate that the animation will loop. This causes the active tick to be registered indefinitely until paused or jumped to the start/end. [CL 2391669 by Dan Hertzka in Main branch]
2014-12-17 16:07:57 -05:00
ShowHideTabWell.Play( this->AsShared() );
}
}
bool SDockingTabStack::IsTabWellHidden() const
{
return ShowHideTabWell.IsInReverse();
}
FVector2D SDockingTabStack::GetTabWellScale() const
{
return FVector2D(1,ShowHideTabWell.GetLerp());
}
FVector2D SDockingTabStack::GetUnhideTabWellButtonScale() const
{
return FMath::Lerp(FVector2D::UnitVector, 8*FVector2D::UnitVector, ShowHideTabWell.GetLerp());
}
FSlateColor SDockingTabStack::GetUnhideTabWellButtonOpacity() const
{
return FLinearColor( 1,1,1, 1.0f - ShowHideTabWell.GetLerp() );
}
const FSlateBrush* SDockingTabStack::GetTabStackBorderImage() const
{
static const FSlateBrush* MajorTabBackgroundBrush = FAppStyle::Get().GetBrush("Brushes.Title");
static const FSlateBrush* MinorTabBackgroundBrush = FAppStyle::Get().GetBrush("Brushes.Background");
return bShowingTitleBarArea ? MajorTabBackgroundBrush : MinorTabBackgroundBrush;
}
int32 SDockingTabStack::OpenPersistentTab( const FTabId& TabId, int32 OpenLocationAmongActiveTabs )
{
const int32 ExistingClosedTabIndex = Tabs.IndexOfByPredicate(FTabMatcher(TabId, static_cast<ETabState::Type>(ETabState::ClosedTab|ETabState::SidebarTab)));
if (OpenLocationAmongActiveTabs == INDEX_NONE)
{
if (ExistingClosedTabIndex != INDEX_NONE)
{
FTabManager::FTab& Tab = Tabs[ExistingClosedTabIndex];
Tab.TabState = Tab.SidebarLocation == ESidebarLocation::None ? ETabState::OpenedTab : ETabState::SidebarTab;
return ExistingClosedTabIndex;
}
else
{
// This tab was never opened in the tab stack before; add it.
Tabs.Add( FTabManager::FTab( TabId, ETabState::OpenedTab ) );
return Tabs.Num()-1;
}
}
else
{
// @TODO: This branch maybe needs to become a separate function: More like MoveOrAddTab
// We need to open a tab in a specific location.
// We have the index of the open tab where to insert. But we need the index in the persistent
// array, which is an ordered list of all tabs ( both open and closed ).
int32 OpenLocationInGlobalList=INDEX_NONE;
for (int32 TabIndex = 0, OpenTabIndex=0; TabIndex < Tabs.Num() && OpenLocationInGlobalList == INDEX_NONE; ++TabIndex)
{
const bool bThisTabIsOpen = (Tabs[TabIndex].TabState == ETabState::OpenedTab);
if ( bThisTabIsOpen )
{
if (OpenTabIndex == OpenLocationAmongActiveTabs)
{
OpenLocationInGlobalList = TabIndex;
}
++OpenTabIndex;
}
}
if (OpenLocationInGlobalList == INDEX_NONE)
{
OpenLocationInGlobalList = Tabs.Num();
}
if ( ExistingClosedTabIndex == INDEX_NONE )
{
// Create a new tab.
Tabs.Insert( FTabManager::FTab( TabId, ETabState::OpenedTab ), OpenLocationInGlobalList );
return OpenLocationAmongActiveTabs;
}
else
{
// Move the existing closed tab to the new desired location
FTabManager::FTab TabToMove = Tabs[ExistingClosedTabIndex];
Tabs.RemoveAt( ExistingClosedTabIndex );
// If the element we removed was before the insert location, subtract one since the index was shifted during the removal
if ( ExistingClosedTabIndex <= OpenLocationInGlobalList )
{
OpenLocationInGlobalList--;
}
// Mark the tab opened
TabToMove.TabState = ETabState::OpenedTab;
Tabs.Insert( TabToMove, OpenLocationInGlobalList );
return OpenLocationAmongActiveTabs;
}
}
}
int32 SDockingTabStack::ClosePersistentTab( const FTabId& TabId )
{
const int32 TabIndex = Tabs.IndexOfByPredicate(FTabMatcher(TabId, static_cast<ETabState::Type>(ETabState::OpenedTab|ETabState::SidebarTab)));
if (TabIndex != INDEX_NONE)
{
Tabs[TabIndex].TabState = ETabState::ClosedTab;
}
return TabIndex;
}
void SDockingTabStack::RemovePersistentTab( const FTabId& TabId )
{
const int32 TabIndex = Tabs.IndexOfByPredicate(FTabMatcher(TabId));
Tabs.RemoveAtSwap(TabIndex);
}
EVisibility SDockingTabStack::GetMaximizeSpacerVisibility() const
{
/*
if(GetDockArea().IsValid() && GetDockArea()->GetParentWindow().IsValid())
{
if (GetDockArea()->GetParentWindow()->IsWindowMaximized())
{
return EVisibility::Collapsed;
}
else
{
return EVisibility::SelfHitTestInvisible;
}
}*/
return EVisibility::Collapsed;
}
#if DEBUG_TAB_MANAGEMENT
FString SDockingTabStack::ShowPersistentTabs() const
{
FString AllTabs;
for (int32 TabIndex=0; TabIndex < Tabs.Num(); ++TabIndex)
{
AllTabs += (Tabs[TabIndex].TabState == ETabState::OpenedTab ) ? TEXT("[^]") : TEXT("[x]");
AllTabs += Tabs[TabIndex].TabId.ToString();
AllTabs += TEXT(" ");
}
return AllTabs;
}
#endif
void SDockingTabStack::BindTabCommands()
{
check(!ActionList.IsValid());
ActionList = MakeShareable(new FUICommandList);
const FTabCommands& Commands = FTabCommands::Get();
ActionList->MapAction(Commands.CloseMajorTab, FExecuteAction::CreateSP(this, &SDockingTabStack::ExecuteCloseMajorTabCommand), FCanExecuteAction::CreateSP(this, &SDockingTabStack::CanExecuteCloseMajorTabCommand));
ActionList->MapAction(Commands.CloseMinorTab, FExecuteAction::CreateSP(this, &SDockingTabStack::ExecuteCloseMinorTabCommand), FCanExecuteAction::CreateSP(this, &SDockingTabStack::CanExecuteCloseMinorTabCommand));
}
void SDockingTabStack::ExecuteCloseMajorTabCommand()
{
// Close this stack's foreground tab (if it's a major tab)
if (CanExecuteCloseMajorTabCommand())
{
TabWell->GetForegroundTab()->RequestCloseTab();
}
}
bool SDockingTabStack::CanExecuteCloseMajorTabCommand()
{
// Can we close this stack's foreground tab (if it's a major tab)?
TSharedPtr<SDockTab> ForegroundTab = TabWell->GetForegroundTab();
return ForegroundTab.IsValid() && !FGlobalTabmanager::Get()->CanSetAsActiveTab(ForegroundTab);
}
void SDockingTabStack::ExecuteCloseMinorTabCommand()
{
if (CanExecuteCloseMinorTabCommand())
{
// Close the global active (minor) tab
FGlobalTabmanager::Get()->GetActiveTab()->RequestCloseTab();
}
}
bool SDockingTabStack::CanExecuteCloseMinorTabCommand()
{
auto DockArea = GetDockArea();
if (DockArea.IsValid())
{
TSharedPtr<FGlobalTabmanager> GlobalTabManager = FGlobalTabmanager::Get();
TSharedPtr<SDockTab> ActiveTab = GlobalTabManager->GetActiveTab();
if (ActiveTab.IsValid())
{
if (ActiveTab->GetParentWindow() == DockArea->GetParentWindow())
{
// Can close the global active (minor) tab because it's in the same window as this tab stack
return true;
}
}
}
return false;
}
Slate: Refactored core Slate implementation into SlateCore module in preparation for UMG. Other Updates: - The WidgetReflector is now in its own module as well. It will be converted to a plug-in later. - The Public API of both Slate and SlateCore has largely been reorganized for better discoverabilty. More cleanup work is needed. - Added a lot of missing API documentation and fixed existing ones. More and better documentation is needed. - Removed dead code, fixed a couple things I stubled upon, and conformed to coding guidelines (NULL vs nullptr, line breaks, etc.) Upgrade Notes: - The Slate Remote Server is currently disabled - will be re-enabled shortly! - If your module previously had a module dependency to 'Slate', it now also needs a PrivateModuleDependency to 'SlateCore' in its Build.cs file. - If your module exposes in any of its Public header files types that are now declared in SlateCore, it needs a PublicModuleDependency to 'SlateCore' - The ToolTip property type on SWidget has changed from SToolTip to IToolTip; change local variables to TSharedPtr<IToolTip> instead of TSharedPtr<SToolTip> where needed - IToolTip is not a widget. If you need access to the actual widget that represents the tool tip, use IToolTip::AsWidget(); If you need access to the tool tip's content, use IToolTip::GetContentWidget() Troubleshooting: - After syncing to this changelist you may have to clean your /Engine/Intermediate/Build/ directory and rebuild your entire project - If in your project you are getting linker errors for unresolved types that are now declared in SlateCore, you may be missing a dependency to 'SlateCore' - If in the Engine code you are getting linker errors for unresolved types that are now declared in SlateCore, you may need to rebuild the entire Engine [CL 2057118 by Max Preussner in Main branch]
2014-04-26 15:07:24 -04:00
#undef LOCTEXT_NAMESPACE