Files
UnrealEngineUWP/Engine/Source/Editor/DetailCustomizations/Private/ActorDetails.cpp

817 lines
27 KiB
C++
Raw Normal View History

// Copyright Epic Games, Inc. All Rights Reserved.
#include "ActorDetails.h"
Copying //UE4/Dev-Build to //UE4/Dev-Main (Source: //UE4/Dev-Build @ 3209340) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3209340 on 2016/11/23 by Ben.Marsh Convert UE4 codebase to an "include what you use" model - where every header just includes the dependencies it needs, rather than every source file including large monolithic headers like Engine.h and UnrealEd.h. Measured full rebuild times around 2x faster using XGE on Windows, and improvements of 25% or more for incremental builds and full rebuilds on most other platforms. * Every header now includes everything it needs to compile. * There's a CoreMinimal.h header that gets you a set of ubiquitous types from Core (eg. FString, FName, TArray, FVector, etc...). Most headers now include this first. * There's a CoreTypes.h header that sets up primitive UE4 types and build macros (int32, PLATFORM_WIN64, etc...). All headers in Core include this first, as does CoreMinimal.h. * Every .cpp file includes its matching .h file first. * This helps validate that each header is including everything it needs to compile. * No engine code includes a monolithic header such as Engine.h or UnrealEd.h any more. * You will get a warning if you try to include one of these from the engine. They still exist for compatibility with game projects and do not produce warnings when included there. * There have only been minor changes to our internal games down to accommodate these changes. The intent is for this to be as seamless as possible. * No engine code explicitly includes a precompiled header any more. * We still use PCHs, but they're force-included on the compiler command line by UnrealBuildTool instead. This lets us tune what they contain without breaking any existing include dependencies. * PCHs are generated by a tool to get a statistical amount of coverage for the source files using it, and I've seeded the new shared PCHs to contain any header included by > 15% of source files. Tool used to generate this transform is at Engine\Source\Programs\IncludeTool. [CL 3209342 by Ben Marsh in Main branch]
2016-11-23 15:48:37 -05:00
#include "Engine/EngineBaseTypes.h"
#include "Engine/Level.h"
#include "UObject/UnrealType.h"
#include "GameFramework/Actor.h"
#include "Modules/ModuleManager.h"
#include "Misc/PackageName.h"
#include "Misc/MessageDialog.h"
Copying //UE4/Dev-Build to //UE4/Dev-Main (Source: //UE4/Dev-Build @ 3209340) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3209340 on 2016/11/23 by Ben.Marsh Convert UE4 codebase to an "include what you use" model - where every header just includes the dependencies it needs, rather than every source file including large monolithic headers like Engine.h and UnrealEd.h. Measured full rebuild times around 2x faster using XGE on Windows, and improvements of 25% or more for incremental builds and full rebuilds on most other platforms. * Every header now includes everything it needs to compile. * There's a CoreMinimal.h header that gets you a set of ubiquitous types from Core (eg. FString, FName, TArray, FVector, etc...). Most headers now include this first. * There's a CoreTypes.h header that sets up primitive UE4 types and build macros (int32, PLATFORM_WIN64, etc...). All headers in Core include this first, as does CoreMinimal.h. * Every .cpp file includes its matching .h file first. * This helps validate that each header is including everything it needs to compile. * No engine code includes a monolithic header such as Engine.h or UnrealEd.h any more. * You will get a warning if you try to include one of these from the engine. They still exist for compatibility with game projects and do not produce warnings when included there. * There have only been minor changes to our internal games down to accommodate these changes. The intent is for this to be as seamless as possible. * No engine code explicitly includes a precompiled header any more. * We still use PCHs, but they're force-included on the compiler command line by UnrealBuildTool instead. This lets us tune what they contain without breaking any existing include dependencies. * PCHs are generated by a tool to get a statistical amount of coverage for the source files using it, and I've seeded the new shared PCHs to contain any header included by > 15% of source files. Tool used to generate this transform is at Engine\Source\Programs\IncludeTool. [CL 3209342 by Ben Marsh in Main branch]
2016-11-23 15:48:37 -05:00
#include "Widgets/SNullWidget.h"
#include "Widgets/DeclarativeSyntaxSupport.h"
#include "Widgets/SBoxPanel.h"
#include "Framework/Application/SlateApplication.h"
#include "Textures/SlateIcon.h"
#include "Framework/Commands/UIAction.h"
#include "Framework/Commands/UICommandList.h"
#include "Widgets/Layout/SBorder.h"
#include "Widgets/Images/SImage.h"
#include "Widgets/Text/STextBlock.h"
#include "Widgets/Layout/SBox.h"
#include "ToolMenus.h"
Copying //UE4/Dev-Build to //UE4/Dev-Main (Source: //UE4/Dev-Build @ 3209340) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3209340 on 2016/11/23 by Ben.Marsh Convert UE4 codebase to an "include what you use" model - where every header just includes the dependencies it needs, rather than every source file including large monolithic headers like Engine.h and UnrealEd.h. Measured full rebuild times around 2x faster using XGE on Windows, and improvements of 25% or more for incremental builds and full rebuilds on most other platforms. * Every header now includes everything it needs to compile. * There's a CoreMinimal.h header that gets you a set of ubiquitous types from Core (eg. FString, FName, TArray, FVector, etc...). Most headers now include this first. * There's a CoreTypes.h header that sets up primitive UE4 types and build macros (int32, PLATFORM_WIN64, etc...). All headers in Core include this first, as does CoreMinimal.h. * Every .cpp file includes its matching .h file first. * This helps validate that each header is including everything it needs to compile. * No engine code includes a monolithic header such as Engine.h or UnrealEd.h any more. * You will get a warning if you try to include one of these from the engine. They still exist for compatibility with game projects and do not produce warnings when included there. * There have only been minor changes to our internal games down to accommodate these changes. The intent is for this to be as seamless as possible. * No engine code explicitly includes a precompiled header any more. * We still use PCHs, but they're force-included on the compiler command line by UnrealBuildTool instead. This lets us tune what they contain without breaking any existing include dependencies. * PCHs are generated by a tool to get a statistical amount of coverage for the source files using it, and I've seeded the new shared PCHs to contain any header included by > 15% of source files. Tool used to generate this transform is at Engine\Source\Programs\IncludeTool. [CL 3209342 by Ben Marsh in Main branch]
2016-11-23 15:48:37 -05:00
#include "Widgets/Input/SButton.h"
#include "Widgets/Input/SComboButton.h"
#include "Styling/AppStyle.h"
Copying //UE4/Dev-Build to //UE4/Dev-Main (Source: //UE4/Dev-Build @ 3209340) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3209340 on 2016/11/23 by Ben.Marsh Convert UE4 codebase to an "include what you use" model - where every header just includes the dependencies it needs, rather than every source file including large monolithic headers like Engine.h and UnrealEd.h. Measured full rebuild times around 2x faster using XGE on Windows, and improvements of 25% or more for incremental builds and full rebuilds on most other platforms. * Every header now includes everything it needs to compile. * There's a CoreMinimal.h header that gets you a set of ubiquitous types from Core (eg. FString, FName, TArray, FVector, etc...). Most headers now include this first. * There's a CoreTypes.h header that sets up primitive UE4 types and build macros (int32, PLATFORM_WIN64, etc...). All headers in Core include this first, as does CoreMinimal.h. * Every .cpp file includes its matching .h file first. * This helps validate that each header is including everything it needs to compile. * No engine code includes a monolithic header such as Engine.h or UnrealEd.h any more. * You will get a warning if you try to include one of these from the engine. They still exist for compatibility with game projects and do not produce warnings when included there. * There have only been minor changes to our internal games down to accommodate these changes. The intent is for this to be as seamless as possible. * No engine code explicitly includes a precompiled header any more. * We still use PCHs, but they're force-included on the compiler command line by UnrealBuildTool instead. This lets us tune what they contain without breaking any existing include dependencies. * PCHs are generated by a tool to get a statistical amount of coverage for the source files using it, and I've seeded the new shared PCHs to contain any header included by > 15% of source files. Tool used to generate this transform is at Engine\Source\Programs\IncludeTool. [CL 3209342 by Ben Marsh in Main branch]
2016-11-23 15:48:37 -05:00
#include "Engine/Blueprint.h"
#include "Engine/Brush.h"
#include "Editor/UnrealEdEngine.h"
#include "GameFramework/Volume.h"
#include "GameFramework/WorldSettings.h"
#include "Components/BillboardComponent.h"
#include "Engine/BlueprintGeneratedClass.h"
#include "Engine/Selection.h"
#include "EditorModeManager.h"
#include "EditorModes.h"
#include "UnrealEdGlobals.h"
#include "DetailLayoutBuilder.h"
#include "DetailWidgetRow.h"
#include "DetailCategoryBuilder.h"
#include "IDetailsView.h"
#include "Editor/Layers/Public/LayersModule.h"
#include "LevelEditor.h"
#include "ClassViewerModule.h"
#include "ClassViewerFilter.h"
Copying //UE4/Dev-Build to //UE4/Dev-Main (Source: //UE4/Dev-Build @ 3209340) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3209340 on 2016/11/23 by Ben.Marsh Convert UE4 codebase to an "include what you use" model - where every header just includes the dependencies it needs, rather than every source file including large monolithic headers like Engine.h and UnrealEd.h. Measured full rebuild times around 2x faster using XGE on Windows, and improvements of 25% or more for incremental builds and full rebuilds on most other platforms. * Every header now includes everything it needs to compile. * There's a CoreMinimal.h header that gets you a set of ubiquitous types from Core (eg. FString, FName, TArray, FVector, etc...). Most headers now include this first. * There's a CoreTypes.h header that sets up primitive UE4 types and build macros (int32, PLATFORM_WIN64, etc...). All headers in Core include this first, as does CoreMinimal.h. * Every .cpp file includes its matching .h file first. * This helps validate that each header is including everything it needs to compile. * No engine code includes a monolithic header such as Engine.h or UnrealEd.h any more. * You will get a warning if you try to include one of these from the engine. They still exist for compatibility with game projects and do not produce warnings when included there. * There have only been minor changes to our internal games down to accommodate these changes. The intent is for this to be as seamless as possible. * No engine code explicitly includes a precompiled header any more. * We still use PCHs, but they're force-included on the compiler command line by UnrealBuildTool instead. This lets us tune what they contain without breaking any existing include dependencies. * PCHs are generated by a tool to get a statistical amount of coverage for the source files using it, and I've seeded the new shared PCHs to contain any header included by > 15% of source files. Tool used to generate this transform is at Engine\Source\Programs\IncludeTool. [CL 3209342 by Ben Marsh in Main branch]
2016-11-23 15:48:37 -05:00
#include "Kismet2/KismetEditorUtilities.h"
#include "EdGraphSchema_K2.h"
#include "ComponentTransformDetails.h"
Copying //UE4/Dev-Build to //UE4/Dev-Main (Source: //UE4/Dev-Build @ 3209340) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3209340 on 2016/11/23 by Ben.Marsh Convert UE4 codebase to an "include what you use" model - where every header just includes the dependencies it needs, rather than every source file including large monolithic headers like Engine.h and UnrealEd.h. Measured full rebuild times around 2x faster using XGE on Windows, and improvements of 25% or more for incremental builds and full rebuilds on most other platforms. * Every header now includes everything it needs to compile. * There's a CoreMinimal.h header that gets you a set of ubiquitous types from Core (eg. FString, FName, TArray, FVector, etc...). Most headers now include this first. * There's a CoreTypes.h header that sets up primitive UE4 types and build macros (int32, PLATFORM_WIN64, etc...). All headers in Core include this first, as does CoreMinimal.h. * Every .cpp file includes its matching .h file first. * This helps validate that each header is including everything it needs to compile. * No engine code includes a monolithic header such as Engine.h or UnrealEd.h any more. * You will get a warning if you try to include one of these from the engine. They still exist for compatibility with game projects and do not produce warnings when included there. * There have only been minor changes to our internal games down to accommodate these changes. The intent is for this to be as seamless as possible. * No engine code explicitly includes a precompiled header any more. * We still use PCHs, but they're force-included on the compiler command line by UnrealBuildTool instead. This lets us tune what they contain without breaking any existing include dependencies. * PCHs are generated by a tool to get a statistical amount of coverage for the source files using it, and I've seeded the new shared PCHs to contain any header included by > 15% of source files. Tool used to generate this transform is at Engine\Source\Programs\IncludeTool. [CL 3209342 by Ben Marsh in Main branch]
2016-11-23 15:48:37 -05:00
#include "Widgets/SToolTip.h"
#include "IDocumentation.h"
Copying //UE4/Dev-Build to //UE4/Dev-Main (Source: //UE4/Dev-Build @ 3209340) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3209340 on 2016/11/23 by Ben.Marsh Convert UE4 codebase to an "include what you use" model - where every header just includes the dependencies it needs, rather than every source file including large monolithic headers like Engine.h and UnrealEd.h. Measured full rebuild times around 2x faster using XGE on Windows, and improvements of 25% or more for incremental builds and full rebuilds on most other platforms. * Every header now includes everything it needs to compile. * There's a CoreMinimal.h header that gets you a set of ubiquitous types from Core (eg. FString, FName, TArray, FVector, etc...). Most headers now include this first. * There's a CoreTypes.h header that sets up primitive UE4 types and build macros (int32, PLATFORM_WIN64, etc...). All headers in Core include this first, as does CoreMinimal.h. * Every .cpp file includes its matching .h file first. * This helps validate that each header is including everything it needs to compile. * No engine code includes a monolithic header such as Engine.h or UnrealEd.h any more. * You will get a warning if you try to include one of these from the engine. They still exist for compatibility with game projects and do not produce warnings when included there. * There have only been minor changes to our internal games down to accommodate these changes. The intent is for this to be as seamless as possible. * No engine code explicitly includes a precompiled header any more. * We still use PCHs, but they're force-included on the compiler command line by UnrealBuildTool instead. This lets us tune what they contain without breaking any existing include dependencies. * PCHs are generated by a tool to get a statistical amount of coverage for the source files using it, and I've seeded the new shared PCHs to contain any header included by > 15% of source files. Tool used to generate this transform is at Engine\Source\Programs\IncludeTool. [CL 3209342 by Ben Marsh in Main branch]
2016-11-23 15:48:37 -05:00
#include "Engine/BrushShape.h"
#include "ActorDetailsDelegates.h"
#include "EditorCategoryUtils.h"
Copying //UE4/Dev-Build to //UE4/Dev-Main (Source: //UE4/Dev-Build @ 3209340) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3209340 on 2016/11/23 by Ben.Marsh Convert UE4 codebase to an "include what you use" model - where every header just includes the dependencies it needs, rather than every source file including large monolithic headers like Engine.h and UnrealEd.h. Measured full rebuild times around 2x faster using XGE on Windows, and improvements of 25% or more for incremental builds and full rebuilds on most other platforms. * Every header now includes everything it needs to compile. * There's a CoreMinimal.h header that gets you a set of ubiquitous types from Core (eg. FString, FName, TArray, FVector, etc...). Most headers now include this first. * There's a CoreTypes.h header that sets up primitive UE4 types and build macros (int32, PLATFORM_WIN64, etc...). All headers in Core include this first, as does CoreMinimal.h. * Every .cpp file includes its matching .h file first. * This helps validate that each header is including everything it needs to compile. * No engine code includes a monolithic header such as Engine.h or UnrealEd.h any more. * You will get a warning if you try to include one of these from the engine. They still exist for compatibility with game projects and do not produce warnings when included there. * There have only been minor changes to our internal games down to accommodate these changes. The intent is for this to be as seamless as possible. * No engine code explicitly includes a precompiled header any more. * We still use PCHs, but they're force-included on the compiler command line by UnrealBuildTool instead. This lets us tune what they contain without breaking any existing include dependencies. * PCHs are generated by a tool to get a statistical amount of coverage for the source files using it, and I've seeded the new shared PCHs to contain any header included by > 15% of source files. Tool used to generate this transform is at Engine\Source\Programs\IncludeTool. [CL 3209342 by Ben Marsh in Main branch]
2016-11-23 15:48:37 -05:00
#include "Widgets/Input/SHyperlink.h"
Copying //UE4/Dev-Editor to //UE4/Dev-Main (Source: //UE4/Dev-Editor @ 3279756) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3229490 on 2016/12/09 by Cody.Albert Integrated fix to support named changelists in SVN Change 3229574 on 2016/12/09 by Simon.Tourangeau Fix actor mobility getting changed on scene reimport #jira UE-39102 Change 3229692 on 2016/12/09 by Cody.Albert Fixing an XML Parser assert when parsing a root tag that completes on the same line. #jira UE-30393 Change 3230582 on 2016/12/12 by Matt.Kuhlenschmidt PR #3024: Correct the outdated error message instructions for how to fix being unable to launch on an iOS device. (Contributed by CleanCut) Change 3231470 on 2016/12/12 by Matt.Kuhlenschmidt Eliminate editor sounds that play when you PIE, simulate or possess the player. They get in the way of game sounds, are annoying to hear when you are constantly starting and stopping pie, and flush async loading that the game might be doing when they load. Change 3231475 on 2016/12/12 by Alex.Delesky #jira UE-39023 - Using the High Resolution screenshot tool with the "custom depth as mask" option checked should no longer crash the editor or a PIE viewport when the screen percentage is not set to 100. Change 3231476 on 2016/12/12 by Alex.Delesky #jira UE-39380 - Thumbnails for static meshes in the foliage paint mode window should now update to show the correct mesh if the thumbnail pool has been exhausted. This also increases the number of foliage thumbnals that can exist onscreen at once. Change 3231477 on 2016/12/12 by Alex.Delesky #jira none - Extending the IPluginWizardDefinition interface to allow it to return the descriptor type of the plugin. This fixes a merge conflict from Odin where the new plugin wizard was modified to allow for multiple template selection. Change 3231479 on 2016/12/12 by Alex.Delesky #jira UE-39376 - Changing the number of players or changing the dedicated server options in PIE settings should now always persist on editor shutdown. Change 3231480 on 2016/12/12 by Alex.Delesky #jira UE-39417 - A texture will now match to update a dropped in file if the source path differs from that of the dropped in file Change 3231508 on 2016/12/12 by Alex.Delesky Removing todo comment #jira none Change 3231603 on 2016/12/12 by Matt.Kuhlenschmidt Exposed a 0-1 UV set and the scaled pixel size for Box and Border brushes Also added a material function that exposes all of the current UV sets with nice names instead of indexed coordinates Change 3231618 on 2016/12/12 by Alex.Delesky #jira UE-38732 - When editing a spin box with a delta value, committing the value with the Enter key and then clearing the focus from the spin box will no longer change the internal value to match the snapped value. Change 3231638 on 2016/12/12 by Matt.Kuhlenschmidt Add RF_Transactional to the list of default flags for creating or importing new assets. All should be transactional by default Change 3231642 on 2016/12/12 by Matt.Kuhlenschmidt Brighten up the output log by default Change 3231648 on 2016/12/12 by Alex.Delesky #jira UE-38033 - Selecting a Named Slot that's part of a widget in a Widget Switcher will now show that widget instead of the widget at index 0. This also applies to any content set inside the named slot. Change 3231666 on 2016/12/12 by Alex.Delesky #jira UE-38952 - Widgets that have been copied and pasted into the same hierarchy will now retain the same name in the hierarchy. This does not fix widgets that have been previously copied and pasted from other widgets, nor copies of those widgets. Change 3231674 on 2016/12/12 by Alex.Delesky #jira UE-37106 - When using or simulating touch for Widget Components, the hover/clicked state will now be accurately determined rather than showing hover on initial touch. Change 3231745 on 2016/12/12 by Alex.Delesky Back out changelist 3231477 to fix build error C2259 Change 3232417 on 2016/12/13 by Simon.Tourangeau Add the following attributes to the Editor.Usage.FBX.Import EngineAnalytics event - FBX Version - Filename Hash - Import Type #jira UE-37453 Change 3232477 on 2016/12/13 by Michael.Dupuis #jira UE-39675 : There was an issue when the Neutral Value == the Min or Max value, so we simply prevent using the concept of neutral value if min or max == neutral as it mean you only want a log on one side. Change 3232571 on 2016/12/13 by Alex.Delesky Back out changelist 3231745 #jira none - Extending the IPluginWizardDefinition interface to allow it to return the descriptor type of the plugin. This fixes a merge conflict from Odin where the new plugin wizard was modified to allow for multiple template selection. Change 3232675 on 2016/12/13 by Alexis.Matte Fix a crash when reordering material with a fbx containing unused materials, add a fbx automation test to prevent similar issue. #jira UE-39692 Change 3232975 on 2016/12/13 by Alex.Delesky Fix to build error C2259 for the IPluginWizardDefinition API change. Change 3233146 on 2016/12/13 by Michael.Dupuis #jira UE-38766 : Added eye dropper to select flatten height Fixed a rounding errors resulting in not flattening to the specified height Fixed a rounding error resulting in LandscapeDataAccess::GetTexHeight not always returning the appropriate value Change 3233153 on 2016/12/13 by Alexis.Matte We cannot anymore change the instance override materials array topology, the topology is limited by the mesh materials array #jira UE-38827 Change 3234406 on 2016/12/14 by Matt.Kuhlenschmidt Fix window handle and device context being accessed by scene viewports after the underlying window has been destroyed by the OS. This is an invalid state on linux and using some vr devices. #jira UE-7388 Change 3234485 on 2016/12/14 by Michael.Dupuis tentative build fix for Mac Change 3234495 on 2016/12/14 by Matt.Kuhlenschmidt Made a setting to control if PIE enter and exit sounds are played. Off by default Change 3236709 on 2016/12/15 by Simon.Tourangeau Fix camera export rotation offset #jira UE-34692 #jira UE-39740 Change 3236782 on 2016/12/15 by Jamie.Dale Fixed EmitTermExpr failing to use the correct package ID FBPTerminal::Source used to be set to the pin, however when pins were moved away from being UObjects, FBPTerminal::SourcePin was added and FBPTerminal::Source is typically null. Change 3236853 on 2016/12/15 by Alexis.Matte Fix the serialization of the staticmesh property FMeshSectionInfoMap Change 3236890 on 2016/12/15 by Matt.Kuhlenschmidt Remove old define Change 3239328 on 2016/12/18 by Richard.TalbotWatkin Fixed Focus Viewport action in Static Mesh Viewport. Problem was that the conversion to Orbit Camera for storing the camera position was trashing the desired position during cvamera transitions. Orbit camera position is now only stored at the end of a transition. #jira UE-39825 - Key "F" for Focus acts Sporadically in the Static Mesh Editor Viewport Change 3239660 on 2016/12/19 by Alex.Delesky #jira UE-38968, UE-36826 - Components attached to actors can now be directly scaled to negative values using the transform gizmo for that component. Change 3239662 on 2016/12/19 by Alex.Delesky #jira UE-39007 - The data table row editor now contains a Reset to Default control. Change 3239663 on 2016/12/19 by Alex.Delesky #jira UE-39698 - Importing CSV files will now show the name of the file in the import dialog. Change 3240696 on 2016/12/20 by Michael.Dupuis #jira UETOOL-1009: Added paddiing to columns view Added auto resize of column when double clicking on splitter handle in the header Remove right number alignment after discussion with Matt K. Change 3240758 on 2016/12/20 by Michael.Dupuis added missing non abstract implementation Change 3240782 on 2016/12/20 by Michael.Dupuis Added missing documentation for content browser column auto resizing Change 3240817 on 2016/12/20 by Alex.Delesky #jira UE-38940 - Copying a Material-Custom node with a tab character should now correctly render the tab. Change 3240834 on 2016/12/20 by Michael.Dupuis tentative fix for build error Change 3240984 on 2016/12/20 by Michael.Dupuis Removed unnecessary functions Change 3241174 on 2016/12/20 by Matt.Kuhlenschmidt Fix compile errors Change 3241966 on 2016/12/21 by Chris.Wood Fixed Typo and changed execution order in "ComboBoxString" Component [UE-38994] - GitHub 2971 : Fixed Typo and changed execution order in "ComboBoxString" Component PR #2971: Fixed Typo and changed execution order in "ComboBoxString" Component (Contributed by eXifreXi) #github https://github.com/EpicGames/UnrealEngine/pull/2971 Change 3242126 on 2016/12/21 by Alexis.Matte Back out changelist 3236853 We have to back out this change list because the change was implement in the 4.15 release branch and the EditorObjectVersion.h change is now implement in the ReleaseObjectVersion.h. Change 3244492 on 2017/01/02 by Jamie.Dale Improved error message Change 3244545 on 2017/01/02 by Nick.Darnell Navigation - Making it so we don't attempt to load HotReload during shutdown, we only access it if it's still loaded. Change 3244549 on 2017/01/02 by Nick.Darnell Slate - Implementing custom hardware cursor loading across Windows, Mac and Linux and supports loading cursors from PAK files. All platforms support loading PNGs through the FHardwareCursor interface. Some platforms support additional formats, for multiresolution support, but there's a naming convention that can be used on PNGs for the same capability. All of it is documented in the FHardwareCursor header. The platform layer for ICursor, now has support for replacing cursor shapes as an override, and can be reset safely. The FHardwareCursor supports loading cursors from raw pixel buffers as well, the plan is to allow for the option to UTextures to also be used for hardware cursors. Now users through C++ can load and replace the hardware cursors with custom ones of their own, e.g. FSlateApplication::Get().RegisterCursor(EMouseCursor::Default, MakeShareable(new FHardwareCursor(FPaths::GameContentDir() / "Slate/FancyPointer", FIntPoint(0,0)))); The next step is to expose a game friendly layer that supports caching cursors, and letting users change them out by name, without a bunch of destruction of OS resources. Change 3244845 on 2017/01/03 by Jamie.Dale Fixing typo #jira UE-39920 Change 3244903 on 2017/01/03 by Jamie.Dale PR #3044: fix link error when FAssetData::PrintAssetData() is used in project (Contributed by kayama-shift) Change 3245125 on 2017/01/03 by Alexis.Matte Put back the dev-editor version because there was some data create before we back it out Change 3246106 on 2017/01/04 by Chris.Wood Removed broken CrashReportReciever pre-upload phase from CrashReportClient. [UE-40153] - CrashReportClient fails when used in legacy mode with a CrashReportReciever Change 3246251 on 2017/01/04 by Alex.Delesky #jira UE-39869 - Moving an asset before saving it and then hitting Save All from the file menu will no longer save the asset in its original location. Change 3246252 on 2017/01/04 by Alex.Delesky #jira UE-39793 - Fixes an issue with the AutoReimporter where specifying a non-existent mount point (a directory in the content browser) would cause a crash when attempting to auto-import an asset from a monitored directory, as well as ensuring that valid mount points will be able to create new assets from auto-import. The "Map Directory To" field when setting directories to monitor for auto-reimport has also been changed to use the content browser path picker instead of relying on the user to manually enter a mount point. Change 3247620 on 2017/01/05 by Nick.Darnell Automation - Removing an adjustment to the number of shots we take for high res shots. Change 3247621 on 2017/01/05 by Nick.Darnell Automation - Adding a few more rendering tests to the cornell box. Change 3247629 on 2017/01/05 by Nick.Darnell Automation - Improving the comparison row display for screenshots so it's obvious what each image represents. Change 3248811 on 2017/01/05 by Matt.Kuhlenschmidt PR #3091: Removed unnecessary UPackage casts (Contributed by projectgheist) Change 3248860 on 2017/01/06 by Matt.Kuhlenschmidt Made the plugin browser select the "built in" category by default instead of the 2D category. There is no reason for a sub-category to be selected first as it makes searching for plugins globally an extra click because you have to click on the base category first Change 3249264 on 2017/01/06 by Matt.Kuhlenschmidt Fixed automation test warnings #jira UE-40198 Change 3249481 on 2017/01/06 by Michael.Dupuis #jira UE-37875 : Fill empty layers of components on assignation or creation Also fill new component added with the tool from neighbours predominance Change 3249505 on 2017/01/06 by Matt.Kuhlenschmidt PR #3093: Include guard cleanup (Contributed by projectgheist) Change 3249544 on 2017/01/06 by Michael.Dupuis #jira UE-40299: validate if UISettings is valid Change 3250738 on 2017/01/09 by Nick.Darnell UMG - The WIC now checks if the Widget is enabled before it claims that it's over an interactable or keyboard focusable widget. #jira UE-39845 Change 3250865 on 2017/01/09 by Nick.Darnell Slate - Updating EAutoCenter and ESizingRule to use the newer enum class style enums. Change 3250867 on 2017/01/09 by Nick.Darnell Slate - Adding more logging to the hardware cursor code so that it reports more information when it doesn't find an exact match when it comes to cursor size. Change 3250936 on 2017/01/09 by Nick.Darnell Automation - Refactoring the screenshot comparison tool to no longer require one one generated report. Doing screenshot comparions now generates individual reports for each failed comparison so that they can be evaluated in bits, and as changes occur as the user reviews aspects, we can remove the reports. There is now async image loading for the comparison view so that it doesn't hitch. Change 3250937 on 2017/01/09 by Nick.Darnell Automation - Adding another example to the CornellBox test. Change 3250958 on 2017/01/09 by Nick.Darnell Slate - Fixing some other cases where people were referring to ESizingRule::Type. Change 3251162 on 2017/01/09 by Nick.Darnell Slate - Fixing some other cases where people were referring to ESizingRule::Type. Change 3251254 on 2017/01/09 by Matt.Kuhlenschmidt Attempt to fix static analysis warnings Change 3251373 on 2017/01/09 by Nick.Darnell Core - Now writing a log warning instead of ensuring if calling LoadModule wouldn't have been safe to do here, depending on load order. Change 3251525 on 2017/01/09 by Nick.Darnell Automation - Fixing a build issue in ImageComparer. Change 3252321 on 2017/01/10 by Alex.Delesky #jira UE-40164 - Importing multiple files to overwrite existing assets such as sounds will now correctly persist the "Yes to All" / "No to All" dialog selections. Change 3252354 on 2017/01/10 by Nick.Darnell Image Compare - Fixing a potential threading hazard in the image comparer. Change 3252356 on 2017/01/10 by Nick.Darnell Automation - The screenshot metadata now captures the commit/CL that the screenshot was taken at and records it in the metadata. Change 3252601 on 2017/01/10 by Alexis.Matte Fbx automation test, reload feature implementation Change 3252761 on 2017/01/10 by Jamie.Dale Fixing some IWYU errors with PCH disabled Change 3252765 on 2017/01/10 by Jamie.Dale Fixing some static analysis warnings Change 3252793 on 2017/01/10 by Jamie.Dale Fixing FText natvis The text data visualizers have to be defined before the text visualizer Change 3253987 on 2017/01/11 by Matt.Kuhlenschmidt PR #3108: Git Plugin: use asynchronous "MarkForAdd" and "CheckIn" operations for the initial commit (Contributed by SRombauts) Change 3254378 on 2017/01/11 by Matt.Kuhlenschmidt Refactor scene importing to allow for plugins to make scene importers Change 3254679 on 2017/01/11 by Matt.Kuhlenschmidt Fix calling LoadModule in perforce source control off the main thread Change 3256472 on 2017/01/12 by Jamie.Dale Improved error reporting from IncludeTool - The error reporting was using zero-based line indices which was misleading. - The error reporting now includes the offending line to remove ambiguity. Change 3256725 on 2017/01/13 by Jamie.Dale IncludeTool can now parse typedef in Fwd headers Change 3256758 on 2017/01/13 by Jamie.Dale Added support for String Tables String Tables provide a way to centralize your localized text into one (or several) known locations, and then reference the entries within a string table from other assets or code in a robust way that allows for easy re-use of localized text. String Tables can be defined in C++ (using the LOCTABLE family of macros), loaded via CSV file, or created as an asset. They can be referenced in C++ using either the LOCTABLE macro, or the static FText::FromStringTable function. INI files can reference them using the LOCTABLE macro syntax, and FText properties in assets can reference them via the advanced settings combo. Change 3257018 on 2017/01/13 by Alexis.Matte FbxAutomationTest fix the import reload operation, it was calling garbagecollect with no keep flag Change 3257168 on 2017/01/13 by Jamie.Dale Removed code that was writing null into bytecode during save Change 3257344 on 2017/01/13 by Jamie.Dale Backing out changelist 3256725, and excluding my header from the scan instead Change 3257426 on 2017/01/13 by Nick.Darnell Slate - Adding the ability to invert alpha when drawing slate textures. Going to be used in the future for rendering render targets for the scene which have inverted alpha. Change 3257572 on 2017/01/13 by Nick.Darnell Slate - Fixing a build error. Change 3257970 on 2017/01/14 by Jamie.Dale Fixing exclude path Change 3258458 on 2017/01/16 by Matt.Kuhlenschmidt PR #3135: GameViewportClient: FOnCloseRequested is now a multicast delegate (Contributed by Nadrin) Change 3258472 on 2017/01/16 by Matt.Kuhlenschmidt PR #3126: Fix to load editor style assets (Contributed by projectgheist) Change 3258473 on 2017/01/16 by Matt.Kuhlenschmidt PR #3124: Fix wrong result with Image-DrawAsBox with PaperSprite. (Contributed by valval88) Change 3258539 on 2017/01/16 by Nick.Darnell Slate - Pixel Snapping has been moved to the GPU for the RHI rendering policy. Additionally, widgets with a render transform of Scale, Rotation or Sheer, and their children are no longer pixel snapped, this should reduce some of jittering seen by users when animations are applied to widgets. NOTE: This only affects render transforms, any transform in layout space is still subject to pixel snapping. Change 3258607 on 2017/01/16 by Nick.Darnell Fixing the mac build. Change 3258661 on 2017/01/16 by Matt.Kuhlenschmidt Actors with experimental components no longer say "Uses experimental class: Actor" when selecting the actor root in the details panel #jira UE-40535 Change 3258678 on 2017/01/16 by Nick.Darnell Platform - Introducing a way to get the mimetype for a file on Windows. Other platforms don't yet have an implementation outside of returning application/unknown. Change 3258924 on 2017/01/16 by Nick.Darnell Platform - Implementing a fallback for the generic platform http, that can do some basic mimetype lookups. Change 3258929 on 2017/01/16 by Nick.Darnell UMG - Fixing the animation to finish the evaluation before it notifies that the animation completed. Change 3259109 on 2017/01/16 by Nick.Darnell Platform - The GetMimeType function now only takes in FilePath, since some platforms will require that actually resolve to a file on disk in order to determine the true mimetype. Change 3259111 on 2017/01/16 by Alexis.Matte Avoid to move the camera when we re-import in the static mesh editor #jira UE-40613 Change 3259275 on 2017/01/16 by Matt.Kuhlenschmidt Fix crash when a slate window is resized and calls into a scene viewport during loading code when the scene viewport is not in a slate hierarchy and thus has no widget Change 3259300 on 2017/01/16 by Nick.Darnell UMG - Introducing PreConstruct and NativePreConstruct to the base UUserWidget. Users can now visualize non-binding based changes in the designer by evaluating a very limited amount of the blueprint code. In the event your user widget crashes on load, due to calling something unsafe, you can disable evaluation in the editor preferences under Widget Designer. Change 3259306 on 2017/01/16 by Nick.Darnell Games - Removing the Game Specific implementations of PreConstruct. Change 3260182 on 2017/01/17 by Matt.Kuhlenschmidt Fix static analysis Change 3261049 on 2017/01/17 by Nick.Darnell Slate - Putting in some fixes for the non-gpu pixel snapping mode, and disabling gpu snapping while we dig into why it looks weird. Change 3261434 on 2017/01/17 by Nick.Darnell Fixing the mac build. Change 3261435 on 2017/01/17 by Nick.Darnell Slate - Tweaking some aspects of the slate rounding code on the GPU. There's still some precision loss somewhere causing subtle differences in where the snap occurs, that's different from previously. Change 3261460 on 2017/01/17 by Nick.Darnell UMG - Tweaking the defintiions of NativePreConstruct, dropping passing in design time since that is readily available in native code. Change 3261833 on 2017/01/18 by Alexis.Matte Fix all warning for fbx automation tests #jira UE-40208 Change 3261874 on 2017/01/18 by Matt.Kuhlenschmidt PR #3136: Fix Submit to Source Control Window for Git plugin : use CanCheckIn() to filter out unmodified assets files (Contributed by SRombauts) Change 3262000 on 2017/01/18 by Jamie.Dale Updated Slate to allocate widgets using MakeShared This saves one allocation per-widget Change 3262003 on 2017/01/18 by Nick.Darnell UMG - Widget Interaction Components now ignore Visible(false) Widget Components when tracing. #jira UE-40523 Change 3262052 on 2017/01/18 by Alexis.Matte Put back the staticmesh skinxx workflow #jira UE-40782 Change 3262775 on 2017/01/18 by Nick.Darnell Slate - Ditching moving vertex rounding to the GPU, some precision issues could not be overcome. Ended up writing a clean way to implement it on the CPU. Change 3262818 on 2017/01/18 by Alex.Delesky #jira UE-40668 - Editor preferences will now save for data pin styles Change 3263679 on 2017/01/19 by Nick.Darnell Slate - Adding some comments to the Slate Vertex Rounder. Change 3265154 on 2017/01/19 by Nick.Darnell Slate/UMG - Putting in some more time into pixel snapping. I've re-introduced the old constructors, and decided to go with the templated approach, as to not break old code that relied on the FSlateVertex working a certain way. Change 3265478 on 2017/01/20 by Chris.Wood Added config support for hang detection time and switching hang detection on/off in UnrealWatchdog [UE-40838] - Make hang time configurable and increase default in UnrealWatchdog Change 3265600 on 2017/01/20 by Nick.Darnell Slate - Making some const local variables const. Change 3265714 on 2017/01/20 by Alex.Delesky #jira UE-40791 - The ForceFeedback thumbnail's Play and Stop icons will now render correctly, and will only be visible while an effect is playing or when the cursor hovers over the icon. Change 3265865 on 2017/01/20 by Alex.Delesky #jira UE-40511 - The Content Browser file path will now update when inside a folder that is deleted from the Sources Panel. Change 3267989 on 2017/01/23 by Jamie.Dale Exposed String Tables to Blueprints Change 3268018 on 2017/01/23 by Jamie.Dale Small API clean-up for string tables Change 3268455 on 2017/01/23 by Matt.Kuhlenschmidt Fix SaveAs (Which says SaveCurrentAs) not saving the current level and only saving the persistent level and then reloading everything thus causing work to be lost if editing a sub-level #jira UE-40930 Change 3269388 on 2017/01/24 by Chris.Wood Refactored tick timing in UnrealWatchdog to stop bug where it doesn't close. [UE-40839] - UnrealWatchdog running and blocking use of Unreal Game Sync for internal users Standalone tool code only - doesn't touch engine Change 3270205 on 2017/01/24 by Cody.Albert Updated FUnrealEdMisc::OnMessageTokenActivated to properly traverse up the outer hierarchy of an object. Change 3270231 on 2017/01/24 by Cody.Albert Renamed and exposed GetFullScreenAlignment and GetViewportAnchors for consistency with the setters Change 3271734 on 2017/01/25 by Michael.Dupuis #jira UE-38631 Add sorting for landscape target layer, user can now sort alphabetical, material based or custom Added a new vertical box SDragNDropVerticalBox to handle drag & drop of FSlot Fixed SDropTarget to only consider the drop action if it was started by it Added visibility toggle to only show used layers in the currently loaded data Change 3271797 on 2017/01/25 by Jamie.Dale Renamed HasBeenAlreadyMadeSharable to DoesSharedInstanceExist as the old name was nonsense Change 3271813 on 2017/01/25 by Jamie.Dale Fixed bad access of a shared this during widget destruction when a context menu was open Change 3271988 on 2017/01/25 by Nick.Darnell Slate - Removing some old checkbox deprecated code from the 4.3 and 4.6 days. Change 3271992 on 2017/01/25 by Nick.Darnell Blueprints - Making the checked call better to log out more information when dragging and dropping a missing property. Change 3272134 on 2017/01/25 by Jamie.Dale Updated the GatherText commandlet to no longer hold a ConfigFile pointer while it runs This pointer is internal to GConfig, and may be updated (or invalidated) when other config files are loaded (as can happen via game code while gathering text). Change 3272301 on 2017/01/25 by Nick.Darnell Slate - More cleanup from the removal of a old legacy enum that people were still using. Change 3273070 on 2017/01/26 by Chris.Wood Fix CIS errors in landscape code from CL 3271734 Change 3273123 on 2017/01/26 by Chris.Wood Fix crash during init of CRC when running packaged without access to main engine config hierarchy. Change 3273194 on 2017/01/26 by Nick.Darnell Fixing some build warnings. Change 3273242 on 2017/01/26 by Michael.Dupuis #jira UE-39948 : if we detect there is multiple levels in the current persistent when we add a new foliage asset we ask to save the foliage as an asset to permit paiting over multiple levels Change 3273279 on 2017/01/26 by Jamie.Dale String Table INI redirects are now in the "Core.StringTable" section (rather than "/Script/Engine.Engine") Change 3273483 on 2017/01/26 by Alex.Delesky #jira UE-32047 - Made changes to the FixupRedirects commandlet to ensure that files that are marked for delete are moved from the default changelist to the pending changelist and submitted when using Perforce. Also makes a slight change to the ResavePackages commandlet to submit files marked for delete. Change 3273568 on 2017/01/26 by Alex.Delesky Modifying changes made to SPluginWizard to have the plugin loading phase determined by the wizard's definition rather than from the first selected template. #jira none Change 3273855 on 2017/01/26 by Alex.Delesky #jira UE-41117 - Updating the tooltip on the "Allow Paint of all LODs" option for mesh paint mode. Change 3274200 on 2017/01/26 by Alex.Delesky For IPluginWizardDefinition, temporarily adding function bodies to two methods instead of having them be pure virtual methods. Change 3274317 on 2017/01/26 by Jamie.Dale Deleting a seemingly corrupted asset that was accidentially submitted Change 3275072 on 2017/01/27 by Michael.Dupuis #jira UE-38631 tweaks Fix typo error Iterate all components, not only active one Force expand the Target Layers widget Change 3275249 on 2017/01/27 by Alexis.Matte Color grading controls: Keep the vector ratio when changing the master slider #jira UETOOL-1098 Change 3275282 on 2017/01/27 by Alexis.Matte Color grading controls: Cosmetic changes #jira UETOOL-1099 Change 3275292 on 2017/01/27 by Alexis.Matte Make sure the build is called once when we import a staticmesh. #jira UE-40947 Change 3275430 on 2017/01/27 by Alexis.Matte Add some fbx automation tests - Import a mesh with no material - Import corrupted asset with no section in a LOD - Import morph targets - Materials name clash - Max Multimap material ordering Change 3275683 on 2017/01/27 by Michael.Dupuis #jira UE-41215 : when saving an asset do not register the transaction, and make sure that the duplicate wont keep a copy in the transaction buffer as an asset can't be undo Change 3276237 on 2017/01/27 by Jamie.Dale Deleting a seemingly corrupted asset that was accidentially submitted Change 3276266 on 2017/01/27 by Jamie.Dale Fix for accessing a potentially null pointer Change 3277065 on 2017/01/30 by Chris.Wood Move crash report temp files to saved config and cleanup on schedule. [UE-39506] - CrashReportClient ini folders are not cleaned when opening the editor Change 3277236 on 2017/01/30 by Matt.Kuhlenschmidt Fix crash when cancelling SaveCurrentLevelAs #jira UE-41182 Change 3277409 on 2017/01/30 by Jamie.Dale Improved text rendering when the last resort font is missing The last resort font is no longer included in shipping builds, so this change makes some improvements to text rendering when it's missing. - The legacy font cache no longer tries to use the last resort font if it's not available (preventing warnings). - The Slate font renderer no longer tries to use the last resort font if it's not available. - Text shaping will use the last resort character if none of the available fonts can render a given character (likely because the last resort font is missing). - HarfBuzz shaped text now uses the fallback character correctly. Change 3277749 on 2017/01/30 by Nick.Darnell Slate - Moving ESlateDrawEffect & ESlateBatchDrawFlag over to be enum class, found cases where users were improperly assuming the enum order, and so now it won't be possible to just treat an int32 or a bool as the draw effect value. Core - Adding EnumHasAllFlags and EnumHasAnyFlags, templated functions to make it easier to check for the existance of a flag on enum classes. Change 3277805 on 2017/01/30 by Nick.Darnell Rendering - Changing some LoadModuleChecked calls to GetModuleChecked, as these calls are not happening on the main thread and are not safe to make. Change 3277914 on 2017/01/30 by Matt.Kuhlenschmidt Fix Niagara slate style warning on startup Change 3278058 on 2017/01/30 by Matt.Kuhlenschmidt Fixed compile error Change 3278132 on 2017/01/30 by Nick.Darnell Fixed compile error Change 3278133 on 2017/01/30 by Matt.Kuhlenschmidt Fixed compile errors Change 3278186 on 2017/01/30 by Nick.Darnell Fixed compile error Change 3278525 on 2017/01/30 by Nick.Darnell Fixed compile error Change 3278534 on 2017/01/30 by Nick.Darnell Automation - Clearing up several warnings/errors with automation results, trying to get Automation Tests to at least yellow before integration. Change 3278941 on 2017/01/31 by Nick.Darnell Fixing a build warning due to build team refactor. Change 3278949 on 2017/01/31 by Nick.Darnell Fixing incrmenetal build issues. Change 3278953 on 2017/01/31 by Nick.Darnell Fixing some incrmental linux build issues. Change 3278964 on 2017/01/31 by Nick.Darnell FIxing more incremental build issues. Change 3279256 on 2017/01/31 by Michael.Dupuis #jira UE-41319 #jira UE-41315 #jira UE-41316 Instead of getting the Landscape Actor, call GetLandscapeProxy so all case are handled, either proxy or landscape actor Change 3279270 on 2017/01/31 by Chad.Garyet re-updating the automation test pool [CL 3279775 by Matt Kuhlenschmidt in Main branch]
2017-01-31 15:22:49 -05:00
#include "ObjectEditorUtils.h"
#include "Misc/MessageDialog.h"
#include "ScopedTransaction.h"
#include "WorldPartition/WorldPartitionSubsystem.h"
#include "Settings/EditorExperimentalSettings.h"
#include "Algo/AnyOf.h"
#include "Kismet2/BlueprintEditorUtils.h"
#include "K2Node_AddDelegate.h"
#include "EdGraphSchema_K2_Actions.h"
#define LOCTEXT_NAMESPACE "ActorDetails"
FExtendActorDetails OnExtendActorDetails;
TSharedRef<IDetailCustomization> FActorDetails::MakeInstance()
{
return MakeShared<FActorDetails>();
}
FActorDetails::~FActorDetails()
{
}
void FActorDetails::CustomizeDetails( IDetailLayoutBuilder& DetailLayout )
{
// Get the list of hidden categories
TArray<FString> HideCategories;
Copying //UE4/Dev-Editor to //UE4/Dev-Main (Source: //UE4/Dev-Editor @ 3739701) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3358367 by tim.gautier Submitting resaved QAGame assets - Materials, Material Instances, Material Functions and Parameters Change 3624848 by Jamie.Dale Added a composite font for the editor (and Slate core) This is defined in FLegacySlateFontInfoCache::GetDefaultFont and uses our default Roboto fonts (and the culture specific fallback fonts), and is now used as the default font for Slate and the editor. This change removes all the manual TTF/OTF file references from the various Slate styles, as well as updating 200+ hard-coded font references to use the new default font. This fixes various rendering issues with fonts in the editor when using different languages, and clears a big barrier for removing the legacy localized fallback font support. Change 3654993 by Jamie.Dale 'Native' (now called 'FNativeFuncPtr') is now a function pointer that takes a UObject* context, rather than a UObject member function pointer This avoids ambiguity when binding a native function pointer to a type that doesn't match the context pointer, as you could end up getting a function called with an incorrect 'this' pointer Breaking changes: - Native has been renamed to FNativeFuncPtr. - The signature of a native function has changed (use the DECLARE_FUNCTION and DEFINE_FUNCTION macro pair). - Use P_THIS if you were previously using the 'this' pointer in your native function. Change 3699591 by Jamie.Dale Added support for displaying and editing numbers in a culture correct way Numeric input boxes in Slate will now display and accept numbers using the culture correct decimal separators. This is enabled by default, and can be disabled by setting "ShouldUseLocalizedNumericInput" to "False" in XEditorSettings.ini (for the editor), or XGameUserSettings.ini (for a game). #jira UE-4028 Change 3719568 by Jamie.Dale Allow platforms to override the default ICU timezone calculation Change 3622366 by Bradut.Palas #jira UE-46677 Don't allow OnLevelRemovedFromWorld to reset the transaction buffer if we're in PIE mode. Also, remove one undo barrier in case the event was triggered in PIE mode or else we block the user from undoing previous actions. Change 3622378 by Bradut.Palas #jira UE-46590 we have a general bug with detecting the size of the last column, but the clamping prevents it from appearing with the other resize modes. The Content Browser is the only one to use fixed width. The bug is that the size of the last element is incorrectly reported, after we drag back and forth. Fixed by not reading the size real time, but reading it from the SlotInfo structure that is created earlier, which holds the correct value. Change 3622552 by Jamie.Dale Added support for per-culture sub-fonts within a composite font This allows you to do things like create a Japanese specific Han sub-font to override the Han characters used in a CJK font (previously you needed to create a localized font asset to achieve this). Change 3623170 by Jamie.Dale Fixing warning Change 3624846 by Jamie.Dale Composite font cache optimizations - Converted a typically small sized map to a sorted array + binary search. - Converted the already sorted range array to use binary search. - Contiguous ranges using the same typeface are now merged in the cache. Change 3625576 by Cody.Albert We now only set the widget tree to transient instead of passing the flag through StaticDuplicateObject. This was causing instanced subobjects to be flagged with RF_DuplicateTransient, preventing them from properly being duplicated when an array of instanced subobjects was modified. #jira UE-47971 Change 3626057 by Matt.Kuhlenschmidt Expose EUmgSequencePlayMode to blueprints #jira UE-49255 Change 3626556 by Matt.Kuhlenschmidt Fix window size and position adjustment not accounting for primary monitor not being a high DPI monitor when a secondary monitor is. Causes flickering and incorrect window positioning. #jira UE-48922, UE-48957 Change 3627692 by Matt.Kuhlenschmidt PR #3977: Source control submenu menu customization (Contributed by Kryofenix) Change 3628600 by Arciel.Rekman Added AutoCheckout to FAssetRenameManager for commandlet usage. Change 3630561 by Richard.Hinckley Deprecating the version of UFunctionalTestingManager::RunAllFunctionalTests that feature an unused bool parameter, replacing with a new version without that parameter. Change 3630656 by Richard.Hinckley Compile fix. Change 3630964 by Arciel.Rekman Fix CrashReporterClient headless build. Change 3631050 by Matt.Kuhlenschmidt Back out revision 9 from //UE4/Dev-Editor/Engine/Source/Runtime/Slate/Private/Widgets/Layout/SSplitter.cpp Causes major problems with resizing splitters in editor Change 3631140 by Arciel.Rekman OpenAL: update Linux version to 1.18.1 (UETOOL-1253) - Also remove a hack for RPATH and make it use a generic RPATH mechanism. - Bulk of the change from Cengiz.Terzibas #jira UETOOL-1253 Change 3632924 by Jamie.Dale Added support for a catch-all fallback font within composite fonts This allows you to provide broad "font of last resort" behavior on a per-composite font basis, in a way that can also work with different font styles. Change 3633055 by Jamie.Dale Fixed some refresh issues in the font editor Change 3633062 by Jamie.Dale Fixed localization commands being reported as unknown Change 3633906 by Nick.Darnell UMG - You can now store refrences to widgets in the same UserWidget. If you need to create links between widgets this is valuable. Will likely introduce new ways to utilize this in the future, for now just getting it working. Change 3634070 by Arciel.Rekman Display actually used values of material overrides. Change 3634254 by Arciel.Rekman Fix ResavePackages working poorly with projects on other drives (UE-49465). #jira UE-49465 Change 3635985 by Matt.Kuhlenschmidt Fixed typo in function name used by maps PR #3975: Add tooltip to Arrays in Editor (Contributed by projectgheist) Change 3636012 by Matt.Kuhlenschmidt PR #3982: Unhide mouse cursor after using Ansel (Contributed by projectgheist) Change 3636706 by Lauren.Ridge Epic Friday: Save parameters to child or sibling instance functionality Change 3638706 by Jamie.Dale Added an improved Japanese font to the editor This is only used when displaying Japanese text when the editor is set to Japanese, and uses a font with Japanese-style unified Han characters (our default fallback font uses Chinese-style unified Han characters). #jira UE-33268 Change 3639438 by Arciel.Rekman Linux: Repaired ARM server build (UE-49635). - Made Steam* plugins compile. - Disabled OpenEXR as the libs aren't compiled (need to be done separately). (Edigrating CL 3639429 from Release-4.17 to Dev-Editor) Change 3640625 by Matt.Kuhlenschmidt PR #4012: FSlateApplication::ProcessReply use &Reply (Contributed by projectgheist) Change 3640626 by Matt.Kuhlenschmidt PR #4011: Remove space from filename (Contributed by projectgheist) Change 3640697 by Matt.Kuhlenschmidt PR #4010: PNG alpha fix (Contributed by mmdanggg2) Change 3641137 by Jamie.Dale Fixed an issue where a culture specific sub-font could produce incorrect measurements during a culture switch It would fallback to the last resort font for a frame or two while the font cache flushed. This has it update the ranges immediately. Change 3641351 by Jamie.Dale Fixing incorrect weights on the Japanese sub-font Change 3641356 by Jamie.Dale Fixing inconsistent font sizes between CoreStyle and EditorStyle Change 3641710 by Jamie.Dale Fixed pure-virtual function call on UMulticastDelegateProperty Change 3641941 by Lauren.Ridge Adding a Parameter Details tab to the Material Editor so users can change default parameter details Change 3644141 by Jamie.Dale Added an improved Korean font to the editor This is only used when displaying Korean text when the editor is set to Korean Change 3644213 by Arciel.Rekman Fix the side effects of a fix for UE-49465. - Default materials were apparently not being found while building DDC (e.g. making an installed build), now they are and we should not reset loaders on them lest we trigger HasDefaultMaterialsPostLoaded() assert later. #jira UE-49465 Change 3644777 by Jamie.Dale Reverting Korean editor font back to NanumGothic as NanumBarunGothic looked too squished Change 3644879 by tim.gautier QAGame: Optimized assets for Procedural Foliage testing - Added camera bookmarks to Stations in QA-Foliage - Renamed QA-FoliageTypeInst assets to ProcFoliage_Shape - Fixed up redirectors Change 3645109 by Matt.Kuhlenschmidt PR #3990: Git plugin: fix status of renamed, removed, missing, untracked assets (Contributed by SRombauts) Change 3645114 by Matt.Kuhlenschmidt PR #3991: Git Plugin: Fix RunDumpToFile() leaking Process handles (Contributed by SRombauts) Change 3645116 by Matt.Kuhlenschmidt PR #3996: Git Plugin: run an "UpdateStatus" at "Connect" time to populate the Source Control cache (Contributed by SRombauts) Change 3645118 by Matt.Kuhlenschmidt PR #4005: Git Plugin: Expand the size of the Button "Initialize project with Git" (Contributed by SRombauts) Change 3645876 by Arciel.Rekman Linux: fix submenus of context menu not working (UE-47639). - Change by icculus (Ryan Gordon). - QA-ClickHUD seems to be not affected by this change (it is already broken alas). #jira UE-47639 Change 3648088 by Jamie.Dale Fixed some case-sensitivity issues with FText format argument names/pins These were originally case-sensitive, but that was lost somewhere along the way. This change restores their original behavior. #jira UE-47122 Change 3648097 by Jamie.Dale Moved common macOS/iOS localization implementation into FApplePlatformMisc #jira UE-49940 Change 3650858 by Arciel.Rekman UBT: improve CodeLite project generator (UE-49400). - PR #3987 submitted by yaakuro (Cengiz Terzibas). #jira UE-49400 Change 3651231 by Arciel.Rekman Linux: default to SM5 for Vulkan. - Change by Timothee.Bessett. Change 3653627 by Matt.Kuhlenschmidt PR #4020: Source Control Submit Files now interprets Escape key as if the user clicked cancel (Contributed by SRombauts) Change 3653628 by Matt.Kuhlenschmidt PR #4022: Add New C++ Class dialog remember previously selected module. (Contributed by Koderz) Change 3653984 by Jamie.Dale Fixed some redundant string construction Change 3658528 by Joe.Graf UE-45141 - Added CMAKE_CXX_COMPILER and CMAKE_C_COMPILER settings to the generated CMake files Change 3658594 by Jamie.Dale Zipping in UAT now always uses UTF-8 encoding to prevent Unicode issues #jira UE-27263 Change 3659643 by Michael.Trepka Added a call to FCoreDelegates::ApplicationWillTerminateDelegate.Broadcast(); in Mac RequestExit() to match Windows behavior #jira UETOOL-1238 Change 3661908 by Matt.Kuhlenschmidt USD asset importing improvements Change 3664100 by Matt.Kuhlenschmidt Fix static analysis Change 3664107 by Matt.Kuhlenschmidt PR #4051: UE-49448: FPropertyChangedEvent to include TopLevelObjects (Contributed by projectgheist) Change 3664125 by Matt.Kuhlenschmidt PR #4036: Add missing GRAPHEDITOR_API (Contributed by projectgheist) Change 3664340 by Jamie.Dale PR #3648: Prevent GatherTextFromSource from failing the commandlet (Contributed by projectgheist) Change 3664403 by Jamie.Dale PR #3769: Fixes UE-46973 - Drag and Dropping Folders with Names (Contributed by LordNed) Change 3664539 by Jamie.Dale PR #3280: Added EditableText functionality (Contributed by projectgheist) Change 3665433 by Alexis.Matte When we finish importing morph target we must re-initialise the render resources since we now use GPU morph target. #jira UE-50231 Change 3666747 by Cody.Albert Change 3669280 by Jamie.Dale PR #4060: UE-50455: Verify folder is newly created before removing from tree (Contributed by projectgheist) Change 3669718 by Jamie.Dale PR #4061: Clear Content Browser folder search box on escape key (Contributed by projectgheist) Change 3670838 by Alexis.Matte Fix crash when deleting a skeletal mesh LOD and the mouse is over the "reimport" button. #jira UE-50387 Change 3671559 by Matt.Kuhlenschmidt Update SimpleUI automation test ground truth #jira UE-50325 Change 3671587 by Alexis.Matte Fix fbx importer scale not always apply. A cache array was not reset when opening a fbx file. #jira UE-50147 Change 3671730 by Jamie.Dale Added PostInitInstance to UClass to allow class types to perform construction time initialization of their instances Change 3672104 by Michael.Dupuis #jira UE-50427: Update the volume visibility list of the editor viewport when changing the procedural foliage settings Change 3674906 by Alexis.Matte Make sure the export LOD option is taken in consideration when exporting a level or the current level selection #jira UE-50248 Change 3674942 by Matt.Kuhlenschmidt Fix static analysis Change 3675401 by Alexis.Matte -fix export animation, do not truncate the last frame anymore -fix the import animation, there was a display issue in the progress bar. Also a floorToInt sometime truncate the last valid frame. We also have a better way to calculate the time increment we use to sample the fbx curves. #jira UE-48231 Change 3675990 by Alexis.Matte Remove morph target when doing a re-import, so morph will be remove if they do not exist anymore in the fbx. This is to avoid driving random vertex with old morph target. #jira UE-50391 Change 3676169 by Alexis.Matte When we re-import with dialog the option, "Override Full Name" was set to false and save with the option dialog. We now not set it to false, since it was not use during re-import. Change 3676396 by Alexis.Matte Make all LOD 0 name consistent in staticmesh editor #jira UE-49461 Change 3677730 by Cody.Albert Enable locking of Persistent Level in Levels tab #jira UE-50686 Change 3677838 by Jamie.Dale Replaced broken version of Roboto Light Change 3679619 by Alexis.Matte Integrate GitHub pr #4029 to fix import fbx chunk material assignation. #jira UE-50001 Change 3680093 by Alexis.Matte Fix the skeletal mesh so the vertex color is part of the vertex equality like with the static mesh. Change 3680931 by Arciel.Rekman SlateDialogs: show image icon for *.tga (UE-25106). - Also reworked the logic somewhat. #jira UE-25106 Change 3681966 by Yannick.Lange MaterialEditor post-process preview. #jira UE-45307 Change 3682407 by Lauren.Ridge Fixes for material editor compile errors Change 3682628 by Lauren.Ridge Content browser filters for Material Layers, Blends, and their instances Change 3682725 by Lauren.Ridge Adding filter assets and instance assets to Material Layers and Material Layer Blends. Turning Material Layering on by default Change 3682921 by Lauren.Ridge Fix for instance layers not initializing fully Change 3682954 by Lauren.Ridge Creating Material Layer Test Assets Change 3683582 by Alexis.Matte Fix static analysis build Change 3683614 by Matt.Kuhlenschmidt PR #4062: Git Plugin: Fix UE-44637: Deleting an asset is unsuccessful if the asset is marked for add (Contributed by SRombauts) Change 3684130 by Lauren.Ridge Allow visible parameter retrieval to correctly recurse through internally called functions. Previous check was intended to prevent function previews from leaving their graph through unhooked inputs, but unintentionally blocked all function inputs. Change 3686289 by Arciel.Rekman Remove the pessimization (UE-23791). Change 3686455 by Lauren.Ridge Fixes for adding/removing a layer parameter from the parent not updating the child Change 3686829 by Jamie.Dale No longer include trailing whitespace in the justification calculation for soft-wrapped lines #jira UE-50266 Change 3686970 by Lauren.Ridge Making material parameter preview work for functions as well Change 3687077 by Jamie.Dale Fixed crash using FActorDetails with the struct details panel Change 3687152 by Jamie.Dale Fixed the row structure tag not appearing in the Content Browser for Data Table assets The CDO is used to filter these tags, and the CDO was omiting that tag which caused it to be filtered for all Data Tables. #jira UE-48691 Change 3687174 by Lauren.Ridge Fix for material layer sub-parameters showing up in the default material parameters panel Change 3688100 by Lauren.Ridge Fixing static analysis error Change 3688317 by Jamie.Dale Fixed crash using the widget reflector in a cooked game Editor-style isn't available in cooked games. Core-style should be used instead for the widget reflector. Change 3689054 by Jamie.Dale Reference Viewer can now show/copy references lists for nodes with multiple objects, or multiple selected nodes #jira UE-45751 Change 3689513 by Jamie.Dale Fixed justification bug with RTL text caused by CL# 3686829 Also implemented the same alignment fix for visually left-aligned RTL text. #jira UE-50266 Change 3690231 by Lauren.Ridge Added Material Layers Parameters Preview (all editing disabled) panel to the Material Editor Change 3690234 by Lauren.Ridge Adding Material Layers Function Parameter to Static Parameter Compare Change 3690750 by Chris.Bunner Potential nullptr crash. Change 3690751 by Chris.Bunner Fixed logic on overridden vector parameter retrieval for material instances checking a function owned parameter. Change 3691010 by Jamie.Dale Fixed some clipping issues that could occur with right-aligned text FTextBlockLayout::OnPaint was passing an unscaled offset to SetVisibleRegion, and it also wasn't correctly adjusting the offset for RTL text with left-alignment (which becomes a visual right-alignment) #jira UE-46760 Change 3691091 by Jamie.Dale Renamed FTextBlockLayout to FSlateTextBlockLayout to reflect that it's a Slate specific type Change 3691134 by Alexis.Matte Make sure we instance also the collision mesh when exporting a level to fbx file. #jira UE-51066 Change 3691157 by Lauren.Ridge Fix for reset to default not refreshing sub-parameters Change 3691192 by Jamie.Dale Fixed Content Browser selection resetting when changing certain view settings #jira UE-49611 Change 3691204 by Alexis.Matte Remove fbx export file version 2010 compatibility. The 2018 fbx sdk refuse to export earlier then 2011. #jira UE-51023 Change 3692335 by Lauren.Ridge Setting displayed asset to equal filter asset if no instance has been selected Change 3692479 by Jamie.Dale Fixed whitespace Change 3692508 by Alexis.Matte Make sure we warn the user that there is nothing to export when exporting to fbx using "export selected" or "export All" from the file menu. We also prevent the export dialog to show #jira UE-50973 Change 3692639 by Jamie.Dale Translation Editor now shows stale translations as "Untranslated" Change 3692743 by Lauren.Ridge Smaller blend icons, added icon size override to FObjectEntryBox Change 3692830 by Alexis.Matte Fix linux build Change 3692894 by Lauren.Ridge Tooltip on "Parent" in material layers Change 3693141 by Jamie.Dale Removed dead code FastDecimalFormat made this redundant Change 3693580 by Jamie.Dale Added AlwaysSign number formatting option #jira UE-10310 Change 3693784 by Jamie.Dale Fixed assert extracting the number formatting rules for Arabic It uses a character outside the BMP for its plus and minus sign, so we need these to be a string to handle that. #jira UE-10310 Change 3694428 by Arciel.Rekman Linux: make directory watch request a warning so they don't block cooking. - See https://answers.unrealengine.com/questions/715206/cook-error-on-linux.html Change 3694458 by Matt.Kuhlenschmidt Made duplicate keybinding warning non-fatal Change 3694496 by Alexis.Matte fix static analysis build Change 3694515 by Jamie.Dale Added support for culture correct parsing of decimal numbers #jira UE-4028 Change 3694621 by Jamie.Dale Added a variant of FastDecimalFormat::StringToNumber that takes a string length This can be useful if you want to convert a number from within a non-null terminated string #jira UE-4028 Change 3694958 by Jamie.Dale Added a parsed length output to FastDecimalFormat::StringToNumber to allow permissive parsing You can test this rather than the result if you want to attempt to parse a number from a string that may have other data after it. This also fixes the sign-suffix causing the parsing to fail. #jira UE-4028 Change 3695083 by Alexis.Matte Optimisation of the morph target import - We now compute only the normal for the shape the tangent are not necessary - The async tasks are create when there is some available cpu thread to avoid filling the memory - When we re-import the morph target are deleted in bulk avoiding to initialize the morph map for every morphs targets #jira UE-50945 Change 3695122 by Jamie.Dale GetCultureAgnosticFormattingRules no longer returns a copy Change 3695835 by Arciel.Rekman TestPAL: greatly expanded malloc test. Change 3695918 by Arciel.Rekman TestPAL: Added thread priority test. Change 3696589 by Arciel.Rekman TestPAL: tweak thread priorities test (better readability). Change 3697345 by Alexis.Matte Fix reorder of material when importing a LOD with new material #jira UE-51135 Change 3699590 by Jamie.Dale Updated SGraphPinNum to use a numeric editor #jira UE-4028 Change 3699698 by Matt.Kuhlenschmidt Fix crash opening the level viewport context menu if the actor-component selection is out of sync #jira UE-48444 Change 3700158 by Arciel.Rekman Enable packaging for Android Vulkan on Linux (UETOOL-1232). - Change by Cengiz Terzibas Change 3700224 by Arciel.Rekman TestPAL: fixed a memory leak. Change 3700775 by Cody.Albert Don't need to initialize EnvironmentCubeMap twice. Change 3700866 by Michael.Trepka PR #3223: Remove unnecessary reallocation. (Contributed by foollbar) #jira UE-41643 Change 3701132 by Michael.Trepka Copy of CL 3671538 Fixed issues with editor's game mode in high DPI on Mac. #jira UE-49947, UE-51063 Change 3701421 by Michael.Trepka Fixed a crash in FScreenShotManager caused by an attempt to access a deleted FString in async lambda expression Change 3701495 by Alexis.Matte Fix fbx importer "import normals" option when mix with "mikkt" tangent build it was recomputing the normals instead of importing them. #jira UE-UE-51359 Change 3702982 by Jamie.Dale Cleaned up some localization setting names These now have consistent names and avoid double negatives. This also fixes needing to restart the editor when changing the "ShouldUseLocalizedPropertyNames" setting. Change 3703517 by Arciel.Rekman TestPAL: improved thread test. - Changed the counter to a normal variable to reduce possible contentions (threads used to share the counter in an early prototype, hence the usage of an atomic). Change 3704378 by Michael.Trepka Disable Zoom button on Mac if project requests a resizeable window without it. #jira UE-51335 Change 3706316 by Jamie.Dale Fixed the asset search suggestions list closing if you clicked on its scrollbar #jira UE-28885 Change 3706855 by Alexis.Matte Support importing animation that has some keys with negative time #jira UE-51305 Change 3709634 by Matt.Kuhlenschmidt PR #4146: Null access check on ForceLOD in FViewport::HighResScreenshot (Contributed by projectgheist) Change 3711085 by Michael.Trepka Reenabled UBT makefiles on Mac Change 3713049 by Josh.Engebretson The ConfigPropertyEditor now generates a unique runtime UClass. It uses the outer name on the property instead of a unique ID as a unique id would generate a new UClass every time (and these are RF_Standalone). I also removed some static qualifiers for Section and Property names which were incorrect. #jira UE-51319 Change 3713144 by Lauren.Ridge Fixing automated test error #jira UE-50982 Change 3713395 by Alexis.Matte Fix auto import mountpoint #jira UE-51524 Change 3713881 by Michael.Trepka Added -buildscw to Mac Build.sh script to build ShaderCompileWorker in addition to the requested target. Xcode passes it to the script when building non-program targets. #jira UE-31093 Change 3714197 by Michael.Trepka Send IMM key down event to the main window instead of Cocoa key window, as that's what the Slate's active window is. This solves problems with IMM not working in context menu text edit fields. #jira UE-47915 Change 3714911 by Joe.Graf Merge of cmake changes from Dev-Rendering Change 3715973 by Michael.Trepka Disable OS close button on Windows if project settings request that #jira UE-45522 Change 3716390 by Lauren.Ridge The color picker summoned when double-clicking vector3 nodes now has its intended "do not refresh until OK is clicked" behavior. #jira UE-50916 Change 3716529 by Josh.Engebretson Content Browser: Clamp "Assets to Load at Once Before Warning" so it cannot be set below 1 #jira UE-51341 Change 3716885 by Josh.Engebretson Tracking transactions such as a duplication operation can modify a selection which differs from the initial one. Added package state tracking to restore unmodified state when necessary. #jira UE-48572 Change 3716929 by Josh.Engebretson Unshelved from pending changelist '3364093': PR #3420: Exe's icons and properties (Contributed by projectgheist) Change 3716937 by Josh.Engebretson Unshelved from pending changelist '3647428': PR #4026: Fixed memory leaks for pipe writes and added data pipe writes (Contributed by Hemofektik) Change 3717002 by Josh.Engebretson Fix FileReference/string conversion Change 3717355 by Joe.Graf Fixed CMake file generation on Windows including Engine/Source/ThirdParty source Change 3718256 by Arciel.Rekman TestPAL: slight mod to the malloc test. - Touch the allocated memory to check actual resident usage. Change 3718290 by Arciel.Rekman BAFO: place descriptor after the allocation to save some VIRT memory. - We're relying on passing correct "Size" argument to Free() anyway, and this modification makes use of that extra information to save on memory for the descriptor. Change 3718508 by Michael.Trepka Fixed vsnprintf on platforms that use our custom implementation in StandardPlatformString.cpp to ignore length modifier for certain types (floating point, pointer) #jira UE-46148 Change 3718855 by Lauren.Ridge Adding content browser favorite folders. Add or remove folders from the favorite list in the folder's right-click context menu, and hide or show the favorites list in the Content Browser options. Change 3718932 by Cody.Albert Update ActorSequence plugin loading phase to PreDefault #jira UE-51612 Change 3719378 by tim.gautier QAGame: Renamed multiTxt_Justification > UMG_TextJustification. Added additional Text Widgets for testing Change 3719413 by Lauren.Ridge Resubmit of content browser favorites Change 3719803 by Yannick.Lange VREditor: Fix crash with null GEditor #jira UE-50103 Change 3721127 by tim.gautier QAGame: Fixed up a ton of redirectors within /Content and /Content/Materials - Added M_ParamDefaults and MF_ParamDefaults - Moved legacy MeshPaint materials into /Content/Materials/MeshPaint - Renamed ColorPulse assets from MatFunction_ > MF_, moved into /Content/Materials/Functions Change 3721255 by Alexis.Matte Replace skeletal mesh import option "keep overlapping vertex" by 3 float thresholds allowing the user to control the welding thresholds. #jira UE-51363 Change 3721594 by Lauren.Ridge Material Blends now have plane mesh previews in their icons. Change 3722072 by tim.gautier QAGame: Updated MF_ParamDefaults - using red channel as roughness Updated M_ParamDefaults - tweaked Scalar values Change 3722180 by Michael.Trepka Updated Xcode project generator to sort projects in the navigator by name (within folders) and also sort the list of schemes so that their order matches the order of projects in the navigator. #jira UE-25941 Change 3722220 by Michael.Trepka Fixed a problem with Xcode project generator not handling quoted preprocessor definitions correctly #jira UE-40246 Change 3722806 by Lauren.Ridge Fixing non-editor compiles Change 3722914 by Alexis.Matte Fbx importer: Add new attribute type(eSkeleton) for staticmesh socket import. #jira UE-51665 Change 3723446 by Michael.Trepka Copy of CL 3688862 from 4.18 + one more fix for a deadlock related to window resizing when using IME Don't do anything in Mac window's windowWillResize: if we're simply chaning the z order of windows. This way we avoid a rare dead lock when hiding the window. #jira UE-48257 Change 3723505 by Matt.Kuhlenschmidt Fix duplicate actors being created for USD primitives that specify a custom actor class Change 3723555 by Matt.Kuhlenschmidt Fix crash loading the gameplayabilities module #jira UE-51693 Change 3723557 by Matt.Kuhlenschmidt Fixed tooltip on viewport dpi scaling option Change 3723870 by Lauren.Ridge Fixing incorrect reset to default visibility, adding clear behavior to fields Change 3723917 by Arciel.Rekman Linux: fix compilation with glibc 2.26+ (UE-51699). - Fixes compilation on Ubuntu 17.10 among others. (Merging 3723489 from //UE4/Release-4.18/... to //UE4/Dev-Editor/...) Change 3723918 by Arciel.Rekman Linux: do not test for popcnt presence unnecessarily (UE-51677). (Merging 3723904 from //UE4/Release-4.18/... to //UE4/Dev-Editor/...) Change 3724229 by Arciel.Rekman Fix FOutputDeviceStdOutput to use printf() on Unix platforms. Change 3724261 by Arciel.Rekman TestPAL: fix thread priority test (zero the counter). Change 3724978 by Arciel.Rekman Linux: fix priority calculation. - Rlimit values are always positive, so this was completely broken when the RLIMIT_NICE is non-0. Change 3725382 by Matt.Kuhlenschmidt Guard against crashes and add more logging when actor creation fails. Looks like it could be manual garbage collections triggered before conversion is complete so those have been removed #jira UE-47464 Change 3725559 by Matt.Kuhlenschmidt Added a setting to enable/disable high dpi support in editor. This currently only functions in Windows. Moved some files around for better consistency Change 3725640 by Arciel.Rekman Fix Linux thread/process priorities. - Should also speed up SCW on Linux by deprioritizing them less. Change 3726101 by Matt.Kuhlenschmidt Fix logic bug in USD child "kind" type resolving Change 3726244 by Joe.Graf Added an option to generate a minimal set of targets for cmake files Added shader and config files to cmake file generation for searching within IDEs Change 3726506 by Arciel.Rekman Fix compile issue after DPI change. Change 3726549 by Matt.Kuhlenschmidt Remove unnecessary indirection to cached widgets in the hit test grid Change 3726660 by Arciel.Rekman Enable DPI switch on Linux. Change 3726763 by Arciel.Rekman Fix mismatching "noperspective" qualifier (UE-50807). - Pull request #4080 by TTimo. Change 3727080 by Michael.Trepka Added support for editor's EnableHighDPIAwareness setting on Mac Change 3727658 by Matt.Kuhlenschmidt Fix shutdown crash if level editor is still referenced after the object system has been gc'd #jira UE-51630 Change 3728270 by Matt.Kuhlenschmidt Remove propertyeditor dependency from editorstyle Change 3728291 by Arciel.Rekman Linux: fix for a crash on a headless system (UE-51714). - Preliminary change before merging to 4.18. Change 3728293 by Arciel.Rekman Linux: remove unneeded dependency on CEF. - Old workaround should no longer be needed, while this dependency makes UE4 depend on a ton of external libs. Change 3728524 by Michael.Trepka Copy of CL 3725570 Removed Enable Fullscreen option from editor's Window menu on Mac. Windowed fullscreen mode is currently unavailable on Mac in editor mode as supporting it properly would require it to work with multiple spaces and split screen, which we currently don't handle (requested in UE-27240) #jira UE-51709 Change 3728875 by Michael.Trepka Fixed compile error in Mac SlateOpenGLContext.cpp Change 3728880 by Matt.Kuhlenschmidt Guard against invalid worlds in thumbnail renderers Change 3728924 by Michael.Trepka Don't defer MacApplication->CloseWindow() call. This should fix a rare problem with deferred call executing during Slate's PrepassWindowAndChildren call. #jira UE-51711 Change 3729288 by Joe.Graf Added the .idea/misc.xml file generation to speed up CLion indexing Change 3729935 by Michael.Dupuis #jira UE-51722: Hide from UI invalid enum values Change 3730234 by Matt.Kuhlenschmidt Fix "Game Gets Mouse Control" setting no longer functioning and instead the mouse was always captured. #jira UE-51801 Change 3730349 by Michael.Dupuis #jira UE-51324: Clear the UI selection when rebuilding the palette, as we destroyed all items and recreate them, so selection is on invalid item Change 3730438 by Lauren.Ridge Cleaning up material layering UI functions Change 3730723 by Jamie.Dale Fixed FastDecimalFormat::StringToNumber incorrectly reporting that number-like sequences that lacked digits had been parsed as numbers #jira UE-51799 Change 3731008 by Lauren.Ridge Changing Layers and Blends from proxy assets to real assets Change 3731026 by Arciel.Rekman libelf: make elf_end() visible (UE-51843). - This repairs compilation for a case when CUDA is being used. - Also added some missing files for ARM 32-bit. Change 3731081 by Lauren.Ridge New material layer test assets Change 3731186 by Josh.Engebretson Adding camera speed scalar setting and Toolbar UI to increase range on camera speed presets #jira UE-50104 Change 3731188 by Mike.Erwin Improve responsiveness of Open Asset dialog. On large projects, there's a noticeable delay when opening and searching/filtering assets. Stopwatch measurements on my machine (seconds for ~122,000 assets): before with this CL ctrl-P 1.4 0.45 search 1.8 0.55 CollectionManagerModule was the main culprit for search/filter slowness. Open Asset delay was due to filtering out plugin content. We were doing a lot of redundant work for what is essentially a read-only operation. Change 3731682 by Arciel.Rekman UnrealEd: Allow unattended commandlets to rename/save packages. Change 3732305 by Michael.Dupuis #jira UE-48434 : Only register if the foliage type still has a valid mesh Change 3732361 by Matt.Kuhlenschmidt Fix two settings objects being created in the transient package with the same name #jira UE-51891 Change 3732895 by Josh.Engebretson https://jira.it.epicgames.net/browse/UE-51706 If a shared DDC is not being used, present a notification to the licensee with a link on how to setup a shared DDC. Adds DDC notification events for check/put and query for whether a shared DDC is in use. #jira UE-51706 Change 3733025 by Arciel.Rekman UBT: make sure new clang versions are invoked. Change 3733311 by Mike.Erwin Fix Linux compile warning from CL 3731188 It didn't like mixing && and || without parentheses. Reworked logic to do one test at a time, put cheaper tests first to avoid calls to more expensive IsPluginFolder. Change 3733658 by Josh.Engebretson Add a missing #undef LOCTEXT_NAMESPACE Change 3734003 by Arciel.Rekman Fix Windows attempting to use printf %ls and crashing at that (UE-51934). Change 3734039 by Michael.Trepka Fixed a couple of merge issues in Mac ApplicationCore Change 3734052 by Michael.Trepka One more Mac ApplicationCore fix Change 3734244 by Lauren.Ridge Fix for accessing Slate window on render thread Change 3734950 by Josh.Engebretson Fixing clang warning Change 3734978 by Jamie.Dale Relaxed enum property importing to allow valid numeric values to be imported too This was previously made more strict which caused a regression in Data Table importing #jira UE-51848 Change 3734999 by Arciel.Rekman Linux: add LTO support and more. - Adds ability to use link-time opitimization (reusing current target property bAllowLTCG). - Supports using llvm-ar and lld instead of ar/ranlib and ld. - More build information printed (and in a better organized way). - Native scripts updated to install packages with the appropriate tools on supported systems - AutoSDKs updated to require a new toolchain (already checked in). - Required disabling OpenAL due to https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=219089 Change 3735268 by Matt.Kuhlenschmidt Added support for canvas based DPI scaling. -Scene canvas is by default not scaled as this could severely impact any game using a canvas based UI -The debug canvas for stats is always dpi scaled in editor and pie. -Eliminated text scaling workaround now that the entire canvas is properly scaled -Enabled canvas scaling in cascade UI Change 3735329 by Matt.Kuhlenschmidt Fix potential crash if an asset editor has an object deleted out from under it #jira UE-51941 Change 3735502 by Arciel.Rekman Fix compile issue (bShouldUpdateScreenPercentage). Change 3735878 by Jamie.Dale Updated FString::SanitizeFloat to allow you to specify the min number of fractional digits to have in the resultant string This defaults to 1 as that was the old behavior of FString::SanitizeFloat, but can also be set to 0 to prevent adding .0 to whole numbers. Change 3735881 by Jamie.Dale JsonValue no longer stringifies whole numbers as floats Change 3735884 by Jamie.Dale Only allow enums to import integral values Change 3735912 by Josh.Engebretson Improving cook process error/warning handling including asset warning/error content browser links and manual dismiss for cook error notifications #jira UE-48131 Change 3736280 by Matt.Kuhlenschmidt Fix 0 dpi scale for canvases #jira UE-51995 Change 3736298 by Matt.Kuhlenschmidt Force focus of game viewports in vr mode Change 3736374 by Jamie.Dale Fixed some places where input chords were being used without testing that they had a valid key set #jira UE-51799 Change 3738543 by Matt.Kuhlenschmidt Better fix for edit condition crashes #jira UE-51886 Change 3738603 by Lauren.Ridge Copy over of drag and drop non-array onto array fix Change 3739701 by Chris.Babcock Fix crashlytics merge error #jira UE-52064 #ue4 #android [CL 3739980 by Matt Kuhlenschmidt in Main branch]
2017-11-06 18:22:01 -05:00
if (DetailLayout.GetBaseClass())
{
FEditorCategoryUtils::GetClassHideCategories(DetailLayout.GetBaseClass(), HideCategories);
}
// These details only apply when adding an instance of the actor in a level
if (!DetailLayout.HasClassDefaultObject() && DetailLayout.GetDetailsView() && DetailLayout.GetDetailsView()->GetSelectedActorInfo().NumSelected > 0)
{
// Build up a list of unique blueprints in the selection set (recording the first actor in the set for each one)
TMap<UBlueprint*, UObject*> UniqueBlueprints;
// Per level Actor Counts
TMap<ULevel*, int32> ActorsPerLevelCount;
bool bHasBillboardComponent = false;
Copying //UE4/Dev-Editor to //UE4/Dev-Main (Source: //UE4/Dev-Editor @ 3566944) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3363699 by Mike.Fricker VR Editor: Improved extensibility (for mesh editor) - This was merged from CL 3352612 and re-opened for edit before commit - All mesh editor changes were stripped before merging Change 3499858 by Matt.Kuhlenschmidt PR #3673: Fixed UE-36416 (Contributed by DarkSlot) Change 3499872 by Matt.Kuhlenschmidt PR #3682: Details view - matrix button visibility toggle and crash fix (Contributed by kamrann) Change 3499873 by Matt.Kuhlenschmidt Hide property matrix button from settings editor. For the combined settings objects view this produces nonsensical results and the property matrix is for bulk editing which settings are not designed for. Change 3501154 by Arciel.Rekman Fix incorrect RPATH. - Fixed LinuxToolChain to use FileItem instead of strings. - Fixed string-based Utils.MakePathRelativeTo - workaround for an old Mono bug was causing invalid "correction" of the relative path, triggered by the fact that path "Foo/Bar/../Baz" was not considered equal to "Foo/Baz". Instead of removing the workaround altogether, added a better comparison. Change 3501337 by Arciel.Rekman Better fix for RPATH. - Ben Marsh's suggestion. Change 3502572 by Matt.Kuhlenschmidt PR #3693: Because "becuase" is spelled because (Contributed by getnamo) Change 3502731 by Matt.Kuhlenschmidt Guard against empty warning toasts #jira UE-46285 Change 3502788 by Matt.Kuhlenschmidt Avoid shutting down the editor during loads and slow tasks if a windows close message comes in during this time Change 3503027 by Michael.Dupuis Optimized UpdateLayerUsageInformation Change 3503299 by Michael.Dupuis Fixed crash when having no layer info object Change 3504529 by Yannick.Lange Use UWorld instead of FWorldContext for EditorWorldExtensions, since we don't use it. Change 3504550 by Jamie.Dale Fixed/Improved DnD validation between Content Browsers Dragging assets between Content Browsers now goes through the same common DnD code (DragDropHandler) as dragging assets between the SPathView and SAssetView, and between items within an SAssetView. This also improves the validation of asset/file drops to prevent you dropping assets/files into class paths. #jira UE-45857 Change 3505369 by Alexis.Matte Make sure undo/redo transactions works for all fbx dialog options. #jira UE-43465 #jira UE-43569 Change 3505500 by Matt.Kuhlenschmidt Fix child usd meshes not importing properly. Change 3505645 by Arciel.Rekman Add USD support on Linux (UE-45383). #jira UE-45383 Change 3505658 by Arciel.Rekman USD: add CMake toolchain file I missed. Change 3506796 by Yannick.Lange Fix EditorWorldExtensionCollection using TWeakObjectPtr for UWorlds instead of UPROPERTY Change 3508082 by Alexis.Matte Make sure the fbx re-import editor preference "show option dialog at reimport" is working when re-importing an animation sequence. Change 3508855 by Max.Chen Add CanFindInContentBrowser to AssetEditorToolkit. False for LevelSequenceEditorToolkit so that sequencer doesn't take over Find In Content Browser and show only the sequencer asset. #jira UE-46241 Change 3509282 by Bradut.Palas #jira UE-45337 Removed check for Actor->GetWorld() against GWorld because the latter would switch between editor world and PIE world during a tick, causing the widget to not update properly. Since the Actor would always point to the PIE world, the check was no longer needed. Change 3509298 by Nick.Darnell Slate - Now has better support for analog navigation, the NavigationConfig is now created per user, and has the ability to deal with repeats and can handle navigation better by waiting until the user has moved enough to intend a direction to move. Change 3509313 by Bradut.Palas #jira UE-44630 As the bug description says, the Undo History was not refreshing correctly because an undo coupled with an action would result in the same number of transactions as the previous tick. Now we also check the variation of undo actions count in order to refresh the list. Change 3509318 by Bradut.Palas #jira UE-1406 To fix the issue we simply close the Consolidate window if ListViewItems is empty. Change 3509402 by Nick.Darnell PR #3703: UE-46362: Fixing typo in EUMGSequencePlayMode.PingPong comment (Contributed by gsfreema) Change 3510447 by Arciel.Rekman ReplayProxy: changed protected to private. Change 3510467 by Max.Chen Property Editor: Disable color widget when editing is disabled. #jira UE-46331 Change 3511249 by Matt.Kuhlenschmidt PR #3715: Turn off the automatic expiration of the restore assets notification (Contributed by IHappyDayI) Change 3511286 by Matt.Kuhlenschmidt Added ability to set properties from USD attributes when using scene import to import USD files. See UsdPropTestScene.usda for an example file of how this works Change 3511528 by Cody.Albert Updated FMoviePlayerWidgetRenderer to use Slate time instea of application time Change 3512149 by Matt.Kuhlenschmidt Dont save non-dirty built data when playing PIE in a standalone process #jira UE-46422 Change 3512259 by Matt.Kuhlenschmidt Fix static analysis Change 3512291 by Matt.Kuhlenschmidt PR #3719: Updating UEditorEngine::ReplaceActors to not copy array of actors (Contributed by gsfreema) Change 3512911 by Matt.Kuhlenschmidt Fixed USD property setting crashing if the usd file contained an array with 0 elements. Fixed USD property setting creating invalid tmaps if the usd file contained a key that already existed Change 3513725 by Matt.Kuhlenschmidt PR #3726: Copy/paste fix for SAdvancedDropdownRow::Construct() (Contributed by jovisgCL) Change 3514453 by Jamie.Dale Added a way to set the UEnum used by a UEnumProperty after using the default constructor This will assert if called on an instance that has already been initialized Change 3514858 by Alexis.Matte Fix crash when importing animation and choosing a different value for option "Import Meshes In Bone Hierarchy" then the value use to import the skeletal mesh. In some case there is no skinned mesh. Change 3514875 by Matt.Kuhlenschmidt PR #3721: Fixed. Screen Message was showed always when screenshot is captured(F9) (Contributed by shuaiharry) Change 3515859 by Bradut.Palas #jira UE-46516 The RenameTextBox didn't handle the OnTextCommitted event (which can be triggered when pressing Enter in the box). Now it does. Change 3515998 by Jamie.Dale Adding missing ) to some log messages Change 3517681 by Matt.Kuhlenschmidt Fix automated import not applying any texure settings to imported textures Change 3517703 by Nick.Darnell Slate - Marking SWidget's destructor as virtual (it always has been because of the parent), but this makes it more obvious. Change 3517737 by Nick.Darnell Slate - The retainer widget now only knows how to store the images in gamma space, rather than rendering in linear and storing using sRGB writes. If you do it that way - you end up in a state of having premultiplied linear space stored in sRGB, and getting that back into a state that looks correct when you finally render it with the rest of Slate becomes very difficult, so to make things simpler Change 3517758 by Nick.Darnell UMG - Updating the retainer box categories and visibility. Change 3517795 by Nick.Darnell Slate - We now don't do inherited volatility if we're also caching. Change 3517861 by Matt.Kuhlenschmidt Update windows USD to .75 Change 3517867 by Matt.Kuhlenschmidt Delete OpenEXR from USD dependencies. It is no longer used Change 3517873 by Matt.Kuhlenschmidt Updated USD windows binaries Change 3517896 by Max.Chen Sequencer: Call SkyLightComponent's SetLightColor() directly, similar to LightComponent #jira UE-46669 Change 3518240 by Max.Chen Sequencer: Set needs update when binding. #jira UE-46619 Change 3518492 by Max.Chen Sequencer: If already at the correct play position, don't jump to it. This fixes a bug where if you play to a position and pause, resuming play will playforward and not keep pausing. #jira UE-45996, UE-45997 Change 3518997 by Max.Chen Fbx: Fix aperture width, height, focal length and field of view calculations. #jira UE-46754 Change 3520190 by Jamie.Dale Cleaned up SCC log spam when finding out-of-date dependencies Change 3520237 by Yannick.Lange VR Editor: cleanup auto entry. Removed TimeSinceHMDChecked and added extra check for if there is currently a vr mode active. Change 3520923 by Max.Chen Sequencer: Refactor displaying sequencer settings in editor so that they're always available and not only when the sequencer type is instantiated. #jira UE-46301 Change 3521212 by Matt.Kuhlenschmidt PR #3757: MAX_NAME_LENGHT -> MAX_NAME_LENGTH (Contributed by Josef-CL) #jira UE-46821 Change 3521216 by Matt.Kuhlenschmidt PR #3751: Spelling fix for ESlateVisibility comment (Contributed by Triplelexx) #jira UE-46810 Change 3521221 by Matt.Kuhlenschmidt PR #3733: UE-46683: Don't increment MovieIndex when playing next movie (Contributed by projectgheist) #jira UE-46683,UE-46714 Change 3521344 by Yannick.Lange Fix selection tools in the Levels editor window. After selecting all levels SWorldHierarchyImpl::OnUpdateSelection used GetSelectedTreeItems(). At that point the tree items were not updated yet and it would return the 'previous' items. Making it look like nothing happened. Instead WorldModel->GetSelectedLevels() had to be used to get the new list of selected levels (this was used in 4.16) and then convert the list of FLevelModel to the new system that uses WorldHierarchy::FWorldTreeItemID. #jira UE-46741 Change 3521825 by Joe.Graf #Xb1 Added missing VectorSetFloat1 by copying the one in UnrealMathSSE.h #CodeReview: ben.woodhouse Change 3522114 by Joe.Graf #Xb1 Changed the missing VectorSetFloat1 to use MakeRegisterVector to be more consistent with other Xbox defines per Ben's code review #CodeReview: ben.woodhouse Change 3524202 by Matt.Kuhlenschmidt Prevent resizing when a context menu is open. This prevents a number of rare crashes when a window is resized when a child menu is open causing the child to lose connection to the parent (happens when the parent widgets are clipped and no longer processed). This is consistent with behavior on windows and mac. #jira UE-46653 Change 3524263 by Bradut.Palas #jira UE-46671 The issue happened because a parent callback of OnAssetRenameCommitted would allow an implicit sync and it would reset the search. Solved by blocking the parent callback if the user is searching. Change 3524265 by Bradut.Palas #jira UE-46261 Console command was doing something illegal. Opening a map from editor when multiprocess and client mode were enabled is prohibited by code in Playlevel.cpp (( !CanRunUnderOneProcess && PlayNetMode == EPlayNetMode::PIE_Client )) Solved by banning that specific use of the command. Change 3524266 by Bradut.Palas #jira UE-45592 The bug was caused by an iteration in EndPlayMap() that re-selected all previous actors but without the notify flag (hence, not triggering the code that validated showing the transform widget). Fixed by notifying just once per group, for performance reasons. Change 3524585 by Bradut.Palas Back out changelist 3524265 until I can figure out why the build system doesn't like it. Change 3525921 by Bradut.Palas Resubmitting revision 3524265 with properly guarded editor code (#if WITH_EDITOR) Change 3526124 by Matt.Kuhlenschmidt Remvoe debug canvas proxy Change 3526139 by Matt.Kuhlenschmidt Force low quality fallback mode on ES2 devices for slate blur widgets. This feature does not work on es2 Change 3526663 by Cody.Albert Fixed sequencer bindings to correctly work on streamed level in standalone preview mode Change 3527028 by Cody.Albert Back out changelist 3526663 Change 3527241 by Cody.Albert Fixed sequencer bindings to correctly work on streamed level in standalone preview mode Change 3527829 by Max.Chen Fbx: Add static transform values to curve data import. #jira UE-46888 Change 3527830 by Max.Chen Sequencer: Import static/default transforms and camera focal lengths from fbx. #jira UE-46888 Change 3528768 by Matt.Kuhlenschmidt Refactor of GetDetailsView method on IDetalLayoutBuilder for some upcoming changes. There is no longer a guarantee that a physical details panel is present wwhen customizing a property so GetDetailsView now returns a pointer and will be null if no details view exists. This refactor is necessary for a change to allow us to make loose property widgets for use outside of a details view. Change 3528776 by Yannick.Lange Allow thumbnails to be captured from a viewport always. #jira UE-45392 Change 3530675 by Michael.Dupuis #jira UE-46913 : Added extra validation to prevent possible crash Change 3530991 by Matt.Kuhlenschmidt Added ability for users to specifiy usd plugins for the USD importer Change 3531110 by Matt.Kuhlenschmidt Added automated import support for USD. Automated import now also supports loading a level per import group so that factories may spawn actors and manipulate the level Change 3531119 by Matt.Kuhlenschmidt USD Scene import now uses actor factories to determine the correct actor type to spawn for an asset specified in USD Change 3531220 by Jamie.Dale Fixed some places that were iterating over sets/maps using their element indices as if they were the sparse indices Change 3531831 by Cody.Albert BP nodes can no longer be renamed on read-only graphs. Change 3531938 by Yannick.Lange Enable setting justification at runtime for multi-line text boxes. #jira UE-44801 Change 3533011 by Matt.Kuhlenschmidt Exporting render targets now chooses PNG if the render target format is an LDR format Change 3533370 by Arciel.Rekman Fix comparison of the RT format. Change 3533717 by Nick.Darnell Slate - Adding justification to SEditableText and SpinBox, also adding the field for UMG. Change 3534756 by Arciel.Rekman Linux: add path to bundled GL headers. - Seems like we have been implicitly relying on it being added someplace else or simply present in the system. - Change by Cengiz.Terzibas Change 3535421 by Arciel.Rekman Reduce SCW logspam on Linux (UE-46634) #jira UE-46634 Change 3537520 by Matt.Kuhlenschmidt PR #3780: Fix typo steam to stream (Contributed by YuchenMei) Change 3537539 by Nick.Darnell UMG - Fixing a bug with aspect ratio locking cameras when in HDPI mode, the spaces were slightly different. Moving over the code that calculates the offsets to function in normalized space, so that it's trivial to combine with the existing normalized viewport dimensions and offset information, without space confusion. Change 3537542 by Nick.Darnell UMG - Fixing some bugs with the retainer widget which was not properly resetting or registering the hit testing information when rendered every frame. This should fix some issues that have been seen with clicks locking the viewport rendering, or not being clickable. Change 3537596 by Alexis.Matte Fbx SDK 2018.1.1 Integration #jira UE-45070 Change 3537672 by Matt.Kuhlenschmidt Simple fix for seconds of time being spent refreshing the settings editor if commands are registered while it is open. The request to refresh is deferred until next tick, meaning that each command list registered in a frame is not refreshing the details panel. Change 3537796 by Alexis.Matte Make sure all general settings are persist when we re-import a staticmesh from fbx file. #jira UE-46829 Change 3537961 by Michael.Dupuis #jira UE-47222: Prevent possible crash in some bad drag & drop case Change 3538149 by Alexis.Matte Make sure we export NTB information instead of just the normal when exporting to fbx #jira UE-46785 Change 3538237 by Alexis.Matte Fix import of large fbx scene (over 2 Gb) pr #3784 #jira UE-47124 Change 3538270 by Lauren.Ridge Epic Friday: Preview scenes in material editors Change 3539707 by Yannick.Lange Optimize viewport interactor hitresult for laser. Store the first hitresult and use that when calling UViewportInteractor::GetHitResultFromLaserPointer multiple times a frame. Change 3539964 by Lauren.Ridge Fix for cubemap not persisting between loads Change 3540321 by Arciel.Rekman Linux: CEF rebuilt with fewer dependencies (UE-46433). - Removed source-only binary to save size (we can link to the runtime one, this also allows RPATH to be generated automatically). - Change by Cengiz.Terzibas, polished by RCL. Change 3540458 by Alexis.Matte Fix the HDR pixel inspector. The HDR value is now RGBA in editor viewport and RGB in Game mode. #jira UE-47199 Change 3540681 by Arciel.Rekman Linux: fix flickering (UE-46351) - redoing fix from 4.17 - Slate rendering policy can set a scissor rect equal to a (smaller) window, which would get inherited by the scene renderer later. #jira UE-46351 (Redoing the fix from CL 3538578 in 4.17). Change 3540838 by Matt.Kuhlenschmidt Fix locked actors still being moved by piloting them Change 3542212 by Nick.Darnell Slate - Fixing a crash with per character wrapping. When used in rich text fields, it can cause a crash due to negative lengths for measurements, due to the way we calculate start and end indexes. New code now ensures the End is always >= to the Start. Change 3544033 by Arciel.Rekman Drop and deprecate /-prefixed commandline switches. - Dropped on all platforms except Windows, where it will produce a warning. Complete drop is expected in 4.19. Change 3544213 by Nick.Darnell Slate - Fixing another potential crash with the slate loading thread. The default movie player was listening for map load finishing using the AddSP callaback, which means the weakptr would be accessed, switching these over to AddRaws to be safer. Change 3546113 by Nick.Darnell Slate - Resurecting the slate visualizer support in the slate renderer for batch visualization, and overdraw. Change 3547129 by Michael.Trepka Few small changes that make UnrealBuildTool faster when running on Mono Change 3547454 by Jamie.Dale Added search to editable texts Change 3547460 by Jamie.Dale The output log now applies a search to its editable text when filtering This highlights the term matches on each line Change 3548177 by Jamie.Dale Optimized PO entry look-up Change 3548287 by Matt.Kuhlenschmidt Fix one off speedtree crash #jira UE-47538 Change 3548377 by Lauren.Ridge Checking that the Environment Map Path is set before trying to load it. #jira UE-47365 Change 3548628 by Matt.Kuhlenschmidt Fix focus graphic for tabs not pointing to the correct image Change 3549289 by Max.Chen Movie Scene Capture: Move window to within the desktop bounds when resizing. #jira UE-37330 Change 3549290 by Arciel.Rekman Fix hlslcc not working properly with newer clangs. - Both the clang 3.8+ problem and UB reported by UBSan. Change 3550573 by Max.Chen Sequencer: Track drag drop. Implement drag and drop onto a camera track, subscene track, and cinematic shot track. #jira UE-45773 #jira UE-45387 Change 3550729 by Max.Chen Sequence Recorder: Add interpolation and tangent settings for animation recording keys #jira UE-46146 Change 3551558 by Nick.Darnell UMG - Tweaking some designer elements, playing around with a 'real-time' mode. Also fixing a bug with decendant widgets in named slots not triggering design effects like updating the widget switcher. #jira UE-39404 Change 3551671 by Joe.Graf Merged over the change to expose more of dormancy to Blueprints (UE-46240) Change 3551684 by Cody.Albert Removing some unused code from map check Change 3552673 by Yannick.Lange Fix crash select all levels with folders in the treewidget. Change 3552960 by Yannick.Lange Frontend filter for files referenced by any level in the project and a filter for not referenced by any level. #jira UE-22153 Change 3553727 by Max.Chen Sequencer: Capture thumbnail before pre save so that the thumbnail isn't captured with the evaluation in a reset state. #jira UE-47693 Change 3553778 by Arciel.Rekman Cache check for compiler availability (UE-47699). - Fixes performance drop in the blueprint editor. Better than caching in a particular source accessors because affects all accessors (incl. Mac which isn't cached either) and reduces calls. Change 3554128 by Matt.Kuhlenschmidt Null out GEditor after it has been destoyed. Any modules that access GEditor can now properly check for a null geditor instead of blindly accessing it Change 3554266 by Max.Chen Movie Scene Capture: Override cinematic mode in the movie scene capture. #jira UE-33473 Change 3555563 by Alexis.Matte Fix static mesh screensize lost when converting from an old version. The conversion require valid extended bounds which was converted after the LOD screensize. #jira UE-47697 Change 3555755 by Yannick.Lange VR Editor: Add exit button inside new menu called "system" on radial menu. Still needs correct icons. Change 3556334 by Matt.Kuhlenschmidt Added a new type of property editor called a property row generator. This is essentially a details panel that can generate each unique row but adds no visual styling around the property editors and does not generate a master tree widget for the properties. This is useful for creating proper widgets for properties and displaying them in a UI that is not the details panel Change 3558100 by Matt.Kuhlenschmidt PR #3823: Incorrect comment syntax in ini files (Contributed by projectgheist) Change 3558240 by Lauren.Ridge Move floor in material editor preview scene based on preview mesh Change 3558242 by Matt.Kuhlenschmidt Fix console variables help page showing only rendering cvars by default Change 3558243 by Matt.Kuhlenschmidt Fix static analysis Change 3558342 by Alexis.Matte Make the code to find the best sample rate to import fbx animation more simple and more robust. The code need to be able to support all the possible case. Add a lot of animation sample rate automation tests #jira UE-47342 Change 3558515 by Yannick.Lange VR Editor: Changed icon for system and exit button on radial menu. Change 3558973 by Matt.Kuhlenschmidt Fix camera placement of the default map Change 3559230 by Arciel.Rekman Do not link CEF3 for servers (UE-47721). Change 3559572 by Arciel.Rekman Linux: make sure the engine is rebuilt during the updates. Change 3560197 by Arciel.Rekman Linux: cosmetic cleanup of an old code. Change 3560904 by Max.Chen Movie Scene Capture: Expose "Open Folder" hyperlink while capturing. Change 3561213 by Matt.Kuhlenschmidt Enable USD by default in QA game for testing Change 3561928 by Matt.Kuhlenschmidt Fix green glowing in the mateiral editor #jira UE-47826 Change 3562259 by Arciel.Rekman Made FPlatformMisc::DebugBreak() not inlined on Linux. - Saves a great deal of binary size without really impacting a performance. Change 3562630 by Arciel.Rekman Make Linux editor compilable with clang 5.0-rc1. Change 3563564 by Yannick.Lange Fix Cube Static Mesh Thumbnail renders black. Cleared out the thumbnail, causing it to create the correct new one. #jira UE-47777 Change 3564529 by Jamie.Dale Const-correct UScriptStruct::ExportText Change 3564972 by Alexis.Matte Fix staticmesh merge applying build scale multiple time Git PR #3807 #jira UE-47645 Change 3565253 by Arciel.Rekman Fix "Anim to Play" being inaccessible after import (UE-47885). - The variable was not initialized and could remain false on Linux. #jira UE-47885 Change 3565293 by Jamie.Dale Merged "Categories" into the main Output Log filter list Change 3565939 by Alexis.Matte Back out revision 3 from //UE4/Dev-Editor/Engine/Source/Developer/MeshMergeUtilities/Private/MeshMergeHelpers.cpp Change 3566081 by Alexis.Matte Fix staticmesh merge applying scale twice PR #3807 #jira UE-47645 Change 3566232 by Matt.Kuhlenschmidt Fix edit inline properties not clipping properly #jira UE-47775 [CL 3567077 by Matt Kuhlenschmidt in Main branch]
2017-08-01 15:55:31 -04:00
const TArray< TWeakObjectPtr<UObject> >& SelectedObjects = DetailLayout.GetSelectedObjects();
for (int32 ObjectIndex = 0; ObjectIndex < SelectedObjects.Num(); ++ObjectIndex)
{
AActor* Actor = Cast<AActor>( SelectedObjects[ObjectIndex].Get() );
if (Actor != NULL)
{
// Store the selected actors for use later. Its fine to do this when CustomizeDetails is called because if the selected actors changes, CustomizeDetails will be called again on a new instance
// and our current resource would be destroyed.
SelectedActors.Add( Actor );
// Record the level that contains this actor and increment it's actor count
Copying //UE4/Dev-Networking to //UE4/Dev-Main (Source: //UE4/Dev-Networking @ 3802510) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3596568 by Ryan.Gerleve Restore changelist 3594583 Change 3613386 by John.Barrett When a NetConnecton rejects a channel, stop processing further bunches from the same ChIndex, within the same packet. Fixes an edge case triggered by NetcodeUnitTest. Change 3613422 by John.Barrett Added net.ForceNetFlush CVar, to force flushing of bunches as soon as they are comitted to the NetConnection buffer. Helps give more useful stack traces, when tracing packet sends - but should be considered potentially unstable. Change 3617584 by John.Barrett Error/warning log tweak, to help with NetcodeUnitTest automation support. Change 3630704 by Jon.Nabozny Fix issue where CurrentWorld is null after CancelTravel is called from StartTravel. Change 3633371 by Ryan.Gerleve Merged, from Mike.Fricker: send a single RPC for updating level visibility and loaded status when possible - This is an optimization to avoid RPC spam when there are a large number of players connected - We now send a single RPC for each local player upon connection or match start to tell the server which levels are visible - We now send a single RPC from the server to each connected client to tell them which levels they should have loaded - There are still some cases where we don't batch the RPCs, such as when levels are loaded on the fly in the client. Change 3639159 by Jon.Nabozny Fixup code assuming Actor outers were ULevels. Change 3640190 by Jake.Leonard First pass Play in Editor replays. Should be backwards compatible with existing replays. #Jira UENET-659 Change 3643356 by Jake.Leonard Do not error out if we have a valid pending net game. Current code was erroring and then would attempt to browse again, even though our travel is correct. #Jira UE-49672 Change 3648785 by Jake.Leonard Add explicit nullcheck #Jira UE-49928 Change 3649319 by Jake.Leonard Fix the double achievement, save and leaderboard write in shooter game if you are a listen server. All of these functions require a localplayer, which is not true in any case but a listen server. An RPC that fires off to everyone will end up pushing these stats anyways (since clients write their own stats unless we have server authentication which I don't think UE4 doesn't supports anyways) #Jira UE-14327 Change 3659736 by Jake.Leonard Fix steam voice not working after a seemless travel. #Jira UE-44432 Change 3660990 by John.Barrett Major NetcodeUnitTest refactor, providing infrastructure for Fortnite MCP support. Full changes: - Added UnitTask class, for performing complex game/environment specific setup for UnitTest's, at different stages of execution. Multiple UnitTask's can be assigned to a UnitTest, but they will execute sequentially, and will block UnitTest progression until complete. - Added FUnitLogInterface, as a generic interface for UNIT_LOG logging, and optionally redirecting logs back to the parent UnitTest for MinimalClient's and UnitTask's - refactored all log related code to be based on this class - Refactored more ClientUnitTest code into MinimalClient, to reduce co-dependence, and to allow MinimalClient use by UnitTask's - and planned future refactors. - Added improved tracking/interface, for identifying log events belonging to a particular unit test - Added ability to specify join URL options, for MinimalClient - Fixed MinimalClient connections, that were broken by changes to the base control channel messages - Corrected some relevant logs not getting hooked by the UnitTest log window - Suppress PackageMap warning/error logs, caused by NetcodeUnitTest hooks, that were triggering automation failures Change 3660996 by John.Barrett Added full search highlighting, plus search error tips, to the NetcodeUnitTest log windows. Full changes: - Added search highlighting, with checkbox for enabling/disabling highlighting - Added 'tooltip' notifying when a search failed, and when a search wraps/restarts from the top/bottom - Focus the search edit box, when the search tab is opened Change 3660997 by John.Barrett Added support for reflection with USoftObjectProperty, plus other reflection tweaks. Full changes: - Now support reflection with USoftObjectProperty, with cast to FSoftObjectPtr, and can assign soft object properties using strings - Added support for UStruct-casting with compile-time checks, using GetStructRef (NOTE: Alters the state of the reflection object) - Adjusted FFuncReflection, to allow modification (rather than just reading) of UFunction parameters - Added casting of UEnum values to/from strings, and verified proper enum support - Fixed conversion of UFunction parameter values to strings, due to transient variables not getting exported - Tightened const-correctness in the internal code Change 3660999 by John.Barrett Added simple 'Process Log Watches', to allow use of quick inline delegates/lambda's, to monitor the log output of any process run by a unit test. Change 3661001 by John.Barrett Added '-DumpRPCs' commandline parameter in NetcodeUnitTest, which will dump all received RPC calls (plus full parameters) to the log. Has a bug (feature) where it will also dump all sent RPC's as well - distinguish based on Server/Client prefix. Other changes: - Adjusted FProcessEventHook to support global/process-wide hooks for UE4 VM events (particularly RPC's) Change 3661003 by John.Barrett Added 'FScopedLogSuppress' to NetcodeUnitTest, for suppressing logs within a certain scope - and fixed a bug with the LogTrace command spamming the log. Change 3661007 by John.Barrett Minor NetcodeUnitTest tweaks/fixes. Change 3661338 by John.Barrett Fixed Linux compile warning. Change 3663237 by John.Barrett Attempted static analysis fixes. Change 3664787 by John.Barrett Reduced logspam from scoped logging - and more attempted static analysis fixes. Change 3674073 by John.Barrett Another static analysis fix. Change 3677370 by John.Barrett Static analysis fixes... Change 3678820 by John.Barrett Added '-NetDriverOverrides' commandline parameter, to allow overriding of multiple named net driver definitions, without modifying the config file. See code for documentation. Change 3679833 by John.Barrett Added comment to clarify ambiguous code. Change 3683251 by John.Barrett Improved 'wrong network actors list' error log. Change 3683252 by John.Barrett Added CVars to Steam online subsystem: "OSS.SteamInitServerOnClient" for disabling server API init on clients (to allow running Steam server + client on same computer), and "OSS.SteamUnitTest" to force-enable Steam for unit testing. Change 3683253 by John.Barrett Updated NetcodeUnitTest to work with arbitrary net drivers, plus minor refactoring/fixes. Change 3683254 by John.Barrett Added unit tests for testing basic net driver functionality, for the IP, HTML5 and Steam net drivers. Change 3683599 by John.Barrett Fixed missing includes. Change 3705189 by Ryan.Gerleve Changing filetype in attempt to fix a merge issue Change 3705219 by Ryan.Gerleve Just delete the file, it's not needed anyway. Change 3719300 by John.Barrett Restricted NUTActor spawning on servers, to only happen as part of unit tests. Change 3719305 by John.Barrett Made NetcodeUnitTest plugins Developer-only, and enabled them all by default, for automation tests. Change 3719943 by Jake.Leonard Test harness for Online Presence Interface. This does require the testing user to have friends and be connected to the platform. Usage is "online test presence [OPTIONAL ID]". The id passed should be an arbitrary non-friend. If no id is passed, the arbitrary lookup test is skipped. This test does wait for presence updates for about two minutes, after this time if no updates are recieved, the harness will mark the test as a failure. #Jira UE-41232 Change 3720402 by Jake.Leonard Steam Rich Presence * Adds a new Steam Presence interface * Auto-updates presence/status information * Fixes up some of the rich presence issues in addition to pushing advertisements of users joining game servers reliably (which should also bandaid UE-10686 until secure sessions are implemented, I was not able to fully test this). #Jira UE-41232 Change 3720467 by Jake.Leonard Fixing warnings with test interface. Change 3720533 by Jake.Leonard Fix ordering warnings Change 3723717 by Brian.Bekich change package flag check to account for objects being PIE packages #jira UE-51513, UE-51601 Change 3723982 by Ryan.Gerleve PR #4098: Delete ensure for not found nefield during replay (Contributed by ymartel06) Change 3724030 by John.Barrett Minor NetcodeUnitTest refactor - implemented a tweaked version of GitHub pull #4097 (by GeorgeR). Have left out server parms change, as intentionally don't use full project path. Change 3724047 by Ryan.Gerleve PR #4096: Fix ENetDormancy enum states to be exposed properly and fix typo in DORN_MAX (Contributed by konflictue) Updated from original PR to fix spelling and add enum redirect for DORN_MAX. Change 3724845 by John.Barrett #PR 4097: Specify full project path for client/server executable (contributed by GeorgeR). Change 3725519 by Brian.Bekich Adding local file replay from single file, supports playback/recording and live playback, compression, and recording/updating of events #jira UENET-847 Change 3726561 by Jake.Leonard Limit demos to a single active playback in editor. Also prevent errors from causing crashes in shootergame because it forces global world destruction. #Jira UE-51582 Change 3728494 by Brian.Bekich Fix for pvs studio Change 3730150 by Brian.Bekich Handle replication of startup actors that get renamed #jira UE-51387 #jira UE-46951 Change 3730230 by Brian.Bekich - Prevent warnings from Start/EndSession when no session exists in ShooterGame - Changed warnings to logs in connection status events - Disable "Paused" presence key in ShooterGame, it is trivial to spam it in offline games and hit rate limit errors on console #jira UE-51252 Change 3734054 by John.Barrett Added support for partial packets to NetcodeUnitTest, to support unusually large connect URL's used by Fortnite. Fixed a bug where the full connect URL was not passed to NMT_Login. Added FScopedNetNameReplace class, for replacing FName's serialized during replication. Change 3734056 by John.Barrett Adjusted -DumpRPCs commandline parameter, to allow filtering for specific RPC's (with partial string matches), in the format: -DumpRPCs="RPC1,RPC2" Change 3734180 by Brian.Bekich Fix for single process PIE dedicated server ticking objects it should not #jira UE-15947 Change 3744491 by John.Barrett Fixed FName crash/exploit while accessing invalid hardcoded names. #JIRA UENET-787 Change 3750058 by Ryan.Gerleve Disable net.UseAdaptiveNetUpdateFrequency by default. This causes too many regressions for users who are not using ForceNetUpdate() aggressively. #jira UE-45681 Change 3750650 by John.Barrett Added "-MaxAlloc=x" commandline parameter, for limiting the maximum size of any single memory (re)allocation, for debugging. Change 3750651 by John.Barrett Adjusted ClientUnitTest to allow overriding of the MinimalClient class. Fixed AssertDisable command. Change 3751738 by John.Barrett Fixed missed non-shipping check. Change 3752561 by John.Barrett Made NMT_Login serialize RequestURL as a string again, instead of a TArray - as the latter had no checks for strings with invalid data, which allowed reading past the end of the raw array data. Also increased the maximum string serialize size, while processing NMT_Login, to allow Fortnite's enormous join URL's - this removes the need to use TArray for the join URL. #JIRA UENET-850 Change 3752562 by John.Barrett Made the MinimalClient use a string for the NMT_Login URL again. Change 3758533 by John.Barrett Moved NetcodeUnitTest CIS/Automation commandline to file - to help with future tweaks. Change 3758901 by Brian.Bekich Modify FSimpleAbstractSocket_FSocket::Send to handle partial sends #jira UE-52393 Change 3761445 by Brian.Bekich Fix for temporary scopelocks in steam user cloud interface Change 3761503 by John.Barrett Adjusted serialization of TArray's to FArchive's, to properly handle serialization of invalid/negative ArrayNum values, and to limit maximum serialization for archives used by the netcode. #JIRA UENET-850 Change 3764345 by Ryan.Gerleve PR #4225: Allow dedicated servers to use voice subsystem override (Contributed by sswires) Change 3772444 by John.Barrett Adjusted control channel message defines, to require checking that received parameters were serialized successfully, before executing the message. Change 3772445 by John.Barrett Updated control channel messages, to check that parameters were serialized properly. Change 3773647 by John.Barrett Fixed a crash/exploit with the lobby ServerKickPlayer function. #JIRA UENET-732 Change 3775618 by John.Barrett Made array serialization security fix, more limited in scope, to fix issue with ArrayNum serialization. Change 3788035 by Jake.Leonard Fix the test presence harness crashing because the subsystem doesn't have a presence interface hooked up. Also prevent crashes due to already being in a session when the command runs. #Jira UE-52806, UE-52810 Change 3790676 by Jake.Leonard Add a world destruction watch to make sure that nothing crashes during the presence test incorrectly due to dangling deleted pointers. #Jira UE-52961 Change 3792485 by Ryan.Gerleve Fix merge issues Change 3793285 by Jake.Leonard Check to see if the perf counter module is loaded before trying to write stats. This causes perfcounters module to not be loaded during garbage collection. See comments in JIRA ticket. #Jira UE-51619 Change 3793402 by Jake.Leonard Fix the timer that did not clean up properly in a very specific case, thus causing the timer to fire after a test has completed. This now will end the timers correctly. #Jira UE-52961 Change 3793517 by Jake.Leonard Fix randrange going out of bounds during a presence test. #Jira UE-52961 Change 3793563 by Jake.Leonard Fix yet another crash in the presence test where the world is null while spamming the test command several times in rapid succession. #Jira UE-52961 Change 3797866 by Bart.Hawthorne Remove check that would get hit if the player tries to server travel to a world that has the same name as a uasset. Instead, log the failure. The player can then travel using the full path of the umap. #jira UE-51605 Change 3801245 by Bart.Hawthorne Fix oodle2.h include directive [CL 3802705 by Bart Hawthorne in Main branch]
2017-12-11 18:59:06 -05:00
ULevel* Level = Actor->GetLevel();
if (Level != NULL)
{
int32& ActorCountForThisLevel = ActorsPerLevelCount.FindOrAdd(Level);
++ActorCountForThisLevel;
}
// Add to the unique blueprint map if the actor is generated from a blueprint
if (UBlueprint* Blueprint = Cast<UBlueprint>(Actor->GetClass()->ClassGeneratedBy))
{
if (!UniqueBlueprints.Find(Blueprint))
{
UniqueBlueprints.Add(Blueprint, Actor);
}
}
if (!bHasBillboardComponent)
{
bHasBillboardComponent = Actor->FindComponentByClass<UBillboardComponent>() != NULL;
}
}
}
if (!bHasBillboardComponent)
{
// Actor billboard scale is not relevant if the actor doesn't have a billboard component
DetailLayout.HideProperty( GET_MEMBER_NAME_CHECKED(AActor, SpriteScale) );
}
if (!HideCategories.Contains(TEXT("Transform")))
{
AddTransformCategory(DetailLayout);
}
if (!HideCategories.Contains(TEXT("Actor")))
{
AddActorCategory(DetailLayout, ActorsPerLevelCount);
}
// Hide World Partition specific properties in non WP levels
const bool bShouldDisplayWorldPartitionProperties = Algo::AnyOf(SelectedActors, [](const TWeakObjectPtr<AActor> Actor)
{
UWorld* World = Actor.IsValid() ? Actor->GetTypedOuter<UWorld>() : nullptr;
return UWorld::IsPartitionedWorld(World);
});
if (!bShouldDisplayWorldPartitionProperties)
{
DetailLayout.HideProperty(DetailLayout.GetProperty(AActor::GetRuntimeGridPropertyName(), AActor::StaticClass()));
DetailLayout.HideProperty(DetailLayout.GetProperty(AActor::GetIsSpatiallyLoadedPropertyName(), AActor::StaticClass()));
DetailLayout.HideProperty(DetailLayout.GetProperty(AActor::GetDataLayerAssetsPropertyName(), AActor::StaticClass()));
DetailLayout.HideProperty(DetailLayout.GetProperty(AActor::GetDataLayerPropertyName(), AActor::StaticClass()));
DetailLayout.HideProperty(DetailLayout.GetProperty(AActor::GetHLODLayerPropertyName(), AActor::StaticClass()));
}
OnExtendActorDetails.Broadcast(DetailLayout, FGetSelectedActors::CreateSP(this, &FActorDetails::GetSelectedActors));
}
TSharedPtr<IPropertyHandle> PrimaryTickProperty = DetailLayout.GetProperty(GET_MEMBER_NAME_CHECKED(AActor, PrimaryActorTick));
// Defaults only show tick properties
if (DetailLayout.HasClassDefaultObject())
{
if (!HideCategories.Contains(TEXT("Tick")))
{
// Note: the category is renamed to differentiate between
IDetailCategoryBuilder& TickCategory = DetailLayout.EditCategory("Tick", LOCTEXT("TickCategoryName", "Actor Tick") );
TickCategory.AddProperty(PrimaryTickProperty->GetChildHandle(GET_MEMBER_NAME_CHECKED(FTickFunction, bStartWithTickEnabled)));
TickCategory.AddProperty(PrimaryTickProperty->GetChildHandle(GET_MEMBER_NAME_CHECKED(FTickFunction, TickInterval)));
TickCategory.AddProperty(PrimaryTickProperty->GetChildHandle(GET_MEMBER_NAME_CHECKED(FTickFunction, bTickEvenWhenPaused)), EPropertyLocation::Advanced);
TickCategory.AddProperty(PrimaryTickProperty->GetChildHandle(GET_MEMBER_NAME_CHECKED(FTickFunction, bAllowTickOnDedicatedServer)), EPropertyLocation::Advanced);
TickCategory.AddProperty(PrimaryTickProperty->GetChildHandle(GET_MEMBER_NAME_CHECKED(FTickFunction, TickGroup)), EPropertyLocation::Advanced);
}
if (!HideCategories.Contains(TEXT("Events")))
{
AddEventsCategory(DetailLayout);
}
}
PrimaryTickProperty->MarkHiddenByCustomization();
}
void FActorDetails::OnConvertActor(UClass* ChosenClass)
{
if (ChosenClass)
{
// Check each selected actor's pointer.
TArray<AActor*> SelectedActorsRaw;
for (int32 i=0; i<SelectedActors.Num(); i++)
{
if (SelectedActors[i].IsValid())
{
SelectedActorsRaw.Add(SelectedActors[i].Get());
}
}
// If there are valid pointers, convert the actors.
if (SelectedActorsRaw.Num())
{
// Dismiss the menu BEFORE converting actors as it can refresh the details panel and if the menu is still open
// it will be parented to an invalid actor details widget
FSlateApplication::Get().DismissAllMenus();
GEditor->ConvertActors(SelectedActorsRaw, ChosenClass, TSet<FString>(), true);
}
}
}
class FConvertToClassFilter : public IClassViewerFilter
{
public:
/** All classes in this set will be allowed. */
TSet< const UClass* > AllowedClasses;
/** All classes in this set will be disallowed. */
TSet< const UClass* > DisallowedClasses;
/** Allowed ChildOf relationship. */
TSet< const UClass* > AllowedChildOfRelationship;
virtual bool IsClassAllowed(const FClassViewerInitializationOptions& InInitOptions, const UClass* InClass, TSharedRef< FClassViewerFilterFuncs > InFilterFuncs ) override
{
EFilterReturn::Type eState = InFilterFuncs->IfInClassesSet(AllowedClasses, InClass);
if(eState == EFilterReturn::NoItems)
{
eState = InFilterFuncs->IfInChildOfClassesSet(AllowedChildOfRelationship, InClass);
}
// As long as it has not failed to be on an allowed list, check if it is on a disallowed list.
if(eState == EFilterReturn::Passed)
{
eState = InFilterFuncs->IfInClassesSet(DisallowedClasses, InClass);
// If it passes, it's on the disallowed list, so we do not want it.
if(eState == EFilterReturn::Passed)
{
return false;
}
else
{
return true;
}
}
return false;
}
virtual bool IsUnloadedClassAllowed(const FClassViewerInitializationOptions& InInitOptions, const TSharedRef< const IUnloadedBlueprintData > InUnloadedClassData, TSharedRef< FClassViewerFilterFuncs > InFilterFuncs) override
{
EFilterReturn::Type eState = InFilterFuncs->IfInClassesSet(AllowedClasses, InUnloadedClassData);
if(eState == EFilterReturn::NoItems)
{
eState = InFilterFuncs->IfInChildOfClassesSet(AllowedChildOfRelationship, InUnloadedClassData);
}
// As long as it has not failed to be on an allowed list, check if it is on a disallowed list.
if(eState == EFilterReturn::Passed)
{
eState = InFilterFuncs->IfInClassesSet(DisallowedClasses, InUnloadedClassData);
// If it passes, it's on the disallowed list, so we do not want it.
if(eState == EFilterReturn::Passed)
{
return false;
}
else
{
return true;
}
}
return false;
}
};
UClass* FActorDetails::GetConversionRoot( UClass* InCurrentClass ) const
{
UClass* ParentClass = InCurrentClass;
while(ParentClass)
{
if( ParentClass->GetBoolMetaData(FName(TEXT("IsConversionRoot"))) )
{
break;
}
ParentClass = ParentClass->GetSuperClass();
}
return ParentClass;
}
void FActorDetails::CreateClassPickerConvertActorFilter(const TWeakObjectPtr<AActor> ConvertActor, class FClassViewerInitializationOptions* ClassPickerOptions)
{
// Shouldn't ever be overwriting an already established filter
check( ConvertActor.IsValid() )
check( ClassPickerOptions != nullptr && ClassPickerOptions->ClassFilters.IsEmpty() );
TSharedRef<FConvertToClassFilter> Filter = MakeShared<FConvertToClassFilter>();
ClassPickerOptions->ClassFilters.Add(Filter);
UClass* ConvertClass = ConvertActor->GetClass();
UClass* RootConversionClass = GetConversionRoot(ConvertClass);
if(RootConversionClass)
{
Filter->AllowedChildOfRelationship.Add(RootConversionClass);
}
// Never convert to the same class
Filter->DisallowedClasses.Add(ConvertClass);
if( ConvertActor->IsA<ABrush>() )
{
// Volumes cannot be converted to brushes or brush shapes or the abstract type
Filter->DisallowedClasses.Add(ABrush::StaticClass());
Filter->DisallowedClasses.Add(ABrushShape::StaticClass());
Filter->DisallowedClasses.Add(AVolume::StaticClass());
}
}
TSharedRef<SWidget> FActorDetails::OnGetConvertContent()
{
// Build a class picker widget
// Fill in options
FClassViewerInitializationOptions Options;
Options.bShowUnloadedBlueprints = true;
Options.bIsActorsOnly = true;
Options.bIsPlaceableOnly = true;
// All selected actors are of the same class, so just need to use one to generate the filter
if ( SelectedActors.Num() > 0 )
{
CreateClassPickerConvertActorFilter(SelectedActors.Top(), &Options);
}
Options.Mode = EClassViewerMode::ClassPicker;
Options.DisplayMode = EClassViewerDisplayMode::ListView;
TSharedRef<SWidget> ClassPicker = FModuleManager::LoadModuleChecked<FClassViewerModule>("ClassViewer").CreateClassViewer(Options, FOnClassPicked::CreateSP(this, &FActorDetails::OnConvertActor));
return
SNew(SBox)
.WidthOverride(280)
.MaxDesiredHeight(500)
[
ClassPicker
];
}
EVisibility FActorDetails::GetConvertMenuVisibility() const
{
return GLevelEditorModeTools().EnsureNotInMode(FBuiltinEditorModes::EM_InterpEdit) ?
EVisibility::Visible :
EVisibility::Collapsed;
}
TSharedRef<SWidget> FActorDetails::MakeConvertMenu( const FSelectedActorInfo& SelectedActorInfo )
{
UClass* RootConversionClass = GetConversionRoot(SelectedActorInfo.SelectionClass);
return
SNew(SComboButton)
.ContentPadding(2)
.IsEnabled(RootConversionClass != NULL)
.Visibility(this, &FActorDetails::GetConvertMenuVisibility)
.OnGetMenuContent(this, &FActorDetails::OnGetConvertContent)
.ButtonContent()
[
SNew(STextBlock)
.Text(LOCTEXT("SelectAType", "Select a Type"))
.Font(IDetailLayoutBuilder::GetDetailFont())
];
}
void FActorDetails::OnNarrowSelectionSetToSpecificLevel( TWeakObjectPtr<ULevel> LevelToNarrowInto )
{
if (ULevel* RequiredLevel = LevelToNarrowInto.Get())
{
// Remove any selected objects that aren't in the specified level
TArray<AActor*> ActorsToDeselect;
for ( TArray< TWeakObjectPtr<AActor> >::TConstIterator Iter(SelectedActors); Iter; ++Iter)
{
if( (*Iter).IsValid() )
{
AActor* Actor = (*Iter).Get();
if (!Actor->IsIn(RequiredLevel))
{
ActorsToDeselect.Add(Actor);
}
}
}
for (TArray<AActor*>::TIterator DeselectIt(ActorsToDeselect); DeselectIt; ++DeselectIt)
{
AActor* Actor = *DeselectIt;
GEditor->SelectActor(Actor, /*bSelected=*/ false, /*bNotify=*/ false);
}
// Tell the editor selection status was changed.
GEditor->NoteSelectionChange();
}
}
bool FActorDetails::IsActorValidForLevelScript() const
{
AActor* Actor = GEditor->GetSelectedActors()->GetTop<AActor>();
return FKismetEditorUtilities::IsActorValidForLevelScript(Actor);
}
FReply FActorDetails::FindSelectedActorsInLevelScript()
{
GUnrealEd->FindSelectedActorsInLevelScript();
return FReply::Handled();
};
bool FActorDetails::AreAnySelectedActorsInLevelScript() const
{
return GUnrealEd->AreAnySelectedActorsInLevelScript();
};
/** Util to create a menu for events we can add for the selected actor */
TSharedRef<SWidget> FActorDetails::MakeEventOptionsWidgetFromSelection()
{
UToolMenus* ToolMenus = UToolMenus::Get();
static const FName MenuName("DetailCustomizations.EventOptions");
if (!ToolMenus->IsMenuRegistered(MenuName))
{
ToolMenus->RegisterMenu(MenuName);
}
FToolMenuContext Context;
UToolMenu* Menu = ToolMenus->GenerateMenu(MenuName, Context);
AActor* Actor = SelectedActors[0].Get();
FKismetEditorUtilities::AddLevelScriptEventOptionsForActor(Menu, SelectedActors[0], true, true, false);
return ToolMenus->GenerateWidget(Menu);
}
void FActorDetails::AddLayersCategory( IDetailLayoutBuilder& DetailBuilder )
{
if( !FModuleManager::Get().IsModuleLoaded( TEXT("Layers") ) )
{
return;
}
FLayersModule& LayersModule = FModuleManager::LoadModuleChecked< FLayersModule >( TEXT("Layers") );
const FText LayerCategory = LOCTEXT("LayersCategory", "Layers");
DetailBuilder.EditCategory( "Layers", LayerCategory, ECategoryPriority::Uncommon )
.AddCustomRow( FText::GetEmpty() )
[
LayersModule.CreateLayerCloud( SelectedActors )
];
}
void FActorDetails::AddTransformCategory( IDetailLayoutBuilder& DetailBuilder )
{
Copying //UE4/Dev-Editor to //UE4/Dev-Main (Source: //UE4/Dev-Editor @ 3566944) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3363699 by Mike.Fricker VR Editor: Improved extensibility (for mesh editor) - This was merged from CL 3352612 and re-opened for edit before commit - All mesh editor changes were stripped before merging Change 3499858 by Matt.Kuhlenschmidt PR #3673: Fixed UE-36416 (Contributed by DarkSlot) Change 3499872 by Matt.Kuhlenschmidt PR #3682: Details view - matrix button visibility toggle and crash fix (Contributed by kamrann) Change 3499873 by Matt.Kuhlenschmidt Hide property matrix button from settings editor. For the combined settings objects view this produces nonsensical results and the property matrix is for bulk editing which settings are not designed for. Change 3501154 by Arciel.Rekman Fix incorrect RPATH. - Fixed LinuxToolChain to use FileItem instead of strings. - Fixed string-based Utils.MakePathRelativeTo - workaround for an old Mono bug was causing invalid "correction" of the relative path, triggered by the fact that path "Foo/Bar/../Baz" was not considered equal to "Foo/Baz". Instead of removing the workaround altogether, added a better comparison. Change 3501337 by Arciel.Rekman Better fix for RPATH. - Ben Marsh's suggestion. Change 3502572 by Matt.Kuhlenschmidt PR #3693: Because "becuase" is spelled because (Contributed by getnamo) Change 3502731 by Matt.Kuhlenschmidt Guard against empty warning toasts #jira UE-46285 Change 3502788 by Matt.Kuhlenschmidt Avoid shutting down the editor during loads and slow tasks if a windows close message comes in during this time Change 3503027 by Michael.Dupuis Optimized UpdateLayerUsageInformation Change 3503299 by Michael.Dupuis Fixed crash when having no layer info object Change 3504529 by Yannick.Lange Use UWorld instead of FWorldContext for EditorWorldExtensions, since we don't use it. Change 3504550 by Jamie.Dale Fixed/Improved DnD validation between Content Browsers Dragging assets between Content Browsers now goes through the same common DnD code (DragDropHandler) as dragging assets between the SPathView and SAssetView, and between items within an SAssetView. This also improves the validation of asset/file drops to prevent you dropping assets/files into class paths. #jira UE-45857 Change 3505369 by Alexis.Matte Make sure undo/redo transactions works for all fbx dialog options. #jira UE-43465 #jira UE-43569 Change 3505500 by Matt.Kuhlenschmidt Fix child usd meshes not importing properly. Change 3505645 by Arciel.Rekman Add USD support on Linux (UE-45383). #jira UE-45383 Change 3505658 by Arciel.Rekman USD: add CMake toolchain file I missed. Change 3506796 by Yannick.Lange Fix EditorWorldExtensionCollection using TWeakObjectPtr for UWorlds instead of UPROPERTY Change 3508082 by Alexis.Matte Make sure the fbx re-import editor preference "show option dialog at reimport" is working when re-importing an animation sequence. Change 3508855 by Max.Chen Add CanFindInContentBrowser to AssetEditorToolkit. False for LevelSequenceEditorToolkit so that sequencer doesn't take over Find In Content Browser and show only the sequencer asset. #jira UE-46241 Change 3509282 by Bradut.Palas #jira UE-45337 Removed check for Actor->GetWorld() against GWorld because the latter would switch between editor world and PIE world during a tick, causing the widget to not update properly. Since the Actor would always point to the PIE world, the check was no longer needed. Change 3509298 by Nick.Darnell Slate - Now has better support for analog navigation, the NavigationConfig is now created per user, and has the ability to deal with repeats and can handle navigation better by waiting until the user has moved enough to intend a direction to move. Change 3509313 by Bradut.Palas #jira UE-44630 As the bug description says, the Undo History was not refreshing correctly because an undo coupled with an action would result in the same number of transactions as the previous tick. Now we also check the variation of undo actions count in order to refresh the list. Change 3509318 by Bradut.Palas #jira UE-1406 To fix the issue we simply close the Consolidate window if ListViewItems is empty. Change 3509402 by Nick.Darnell PR #3703: UE-46362: Fixing typo in EUMGSequencePlayMode.PingPong comment (Contributed by gsfreema) Change 3510447 by Arciel.Rekman ReplayProxy: changed protected to private. Change 3510467 by Max.Chen Property Editor: Disable color widget when editing is disabled. #jira UE-46331 Change 3511249 by Matt.Kuhlenschmidt PR #3715: Turn off the automatic expiration of the restore assets notification (Contributed by IHappyDayI) Change 3511286 by Matt.Kuhlenschmidt Added ability to set properties from USD attributes when using scene import to import USD files. See UsdPropTestScene.usda for an example file of how this works Change 3511528 by Cody.Albert Updated FMoviePlayerWidgetRenderer to use Slate time instea of application time Change 3512149 by Matt.Kuhlenschmidt Dont save non-dirty built data when playing PIE in a standalone process #jira UE-46422 Change 3512259 by Matt.Kuhlenschmidt Fix static analysis Change 3512291 by Matt.Kuhlenschmidt PR #3719: Updating UEditorEngine::ReplaceActors to not copy array of actors (Contributed by gsfreema) Change 3512911 by Matt.Kuhlenschmidt Fixed USD property setting crashing if the usd file contained an array with 0 elements. Fixed USD property setting creating invalid tmaps if the usd file contained a key that already existed Change 3513725 by Matt.Kuhlenschmidt PR #3726: Copy/paste fix for SAdvancedDropdownRow::Construct() (Contributed by jovisgCL) Change 3514453 by Jamie.Dale Added a way to set the UEnum used by a UEnumProperty after using the default constructor This will assert if called on an instance that has already been initialized Change 3514858 by Alexis.Matte Fix crash when importing animation and choosing a different value for option "Import Meshes In Bone Hierarchy" then the value use to import the skeletal mesh. In some case there is no skinned mesh. Change 3514875 by Matt.Kuhlenschmidt PR #3721: Fixed. Screen Message was showed always when screenshot is captured(F9) (Contributed by shuaiharry) Change 3515859 by Bradut.Palas #jira UE-46516 The RenameTextBox didn't handle the OnTextCommitted event (which can be triggered when pressing Enter in the box). Now it does. Change 3515998 by Jamie.Dale Adding missing ) to some log messages Change 3517681 by Matt.Kuhlenschmidt Fix automated import not applying any texure settings to imported textures Change 3517703 by Nick.Darnell Slate - Marking SWidget's destructor as virtual (it always has been because of the parent), but this makes it more obvious. Change 3517737 by Nick.Darnell Slate - The retainer widget now only knows how to store the images in gamma space, rather than rendering in linear and storing using sRGB writes. If you do it that way - you end up in a state of having premultiplied linear space stored in sRGB, and getting that back into a state that looks correct when you finally render it with the rest of Slate becomes very difficult, so to make things simpler Change 3517758 by Nick.Darnell UMG - Updating the retainer box categories and visibility. Change 3517795 by Nick.Darnell Slate - We now don't do inherited volatility if we're also caching. Change 3517861 by Matt.Kuhlenschmidt Update windows USD to .75 Change 3517867 by Matt.Kuhlenschmidt Delete OpenEXR from USD dependencies. It is no longer used Change 3517873 by Matt.Kuhlenschmidt Updated USD windows binaries Change 3517896 by Max.Chen Sequencer: Call SkyLightComponent's SetLightColor() directly, similar to LightComponent #jira UE-46669 Change 3518240 by Max.Chen Sequencer: Set needs update when binding. #jira UE-46619 Change 3518492 by Max.Chen Sequencer: If already at the correct play position, don't jump to it. This fixes a bug where if you play to a position and pause, resuming play will playforward and not keep pausing. #jira UE-45996, UE-45997 Change 3518997 by Max.Chen Fbx: Fix aperture width, height, focal length and field of view calculations. #jira UE-46754 Change 3520190 by Jamie.Dale Cleaned up SCC log spam when finding out-of-date dependencies Change 3520237 by Yannick.Lange VR Editor: cleanup auto entry. Removed TimeSinceHMDChecked and added extra check for if there is currently a vr mode active. Change 3520923 by Max.Chen Sequencer: Refactor displaying sequencer settings in editor so that they're always available and not only when the sequencer type is instantiated. #jira UE-46301 Change 3521212 by Matt.Kuhlenschmidt PR #3757: MAX_NAME_LENGHT -> MAX_NAME_LENGTH (Contributed by Josef-CL) #jira UE-46821 Change 3521216 by Matt.Kuhlenschmidt PR #3751: Spelling fix for ESlateVisibility comment (Contributed by Triplelexx) #jira UE-46810 Change 3521221 by Matt.Kuhlenschmidt PR #3733: UE-46683: Don't increment MovieIndex when playing next movie (Contributed by projectgheist) #jira UE-46683,UE-46714 Change 3521344 by Yannick.Lange Fix selection tools in the Levels editor window. After selecting all levels SWorldHierarchyImpl::OnUpdateSelection used GetSelectedTreeItems(). At that point the tree items were not updated yet and it would return the 'previous' items. Making it look like nothing happened. Instead WorldModel->GetSelectedLevels() had to be used to get the new list of selected levels (this was used in 4.16) and then convert the list of FLevelModel to the new system that uses WorldHierarchy::FWorldTreeItemID. #jira UE-46741 Change 3521825 by Joe.Graf #Xb1 Added missing VectorSetFloat1 by copying the one in UnrealMathSSE.h #CodeReview: ben.woodhouse Change 3522114 by Joe.Graf #Xb1 Changed the missing VectorSetFloat1 to use MakeRegisterVector to be more consistent with other Xbox defines per Ben's code review #CodeReview: ben.woodhouse Change 3524202 by Matt.Kuhlenschmidt Prevent resizing when a context menu is open. This prevents a number of rare crashes when a window is resized when a child menu is open causing the child to lose connection to the parent (happens when the parent widgets are clipped and no longer processed). This is consistent with behavior on windows and mac. #jira UE-46653 Change 3524263 by Bradut.Palas #jira UE-46671 The issue happened because a parent callback of OnAssetRenameCommitted would allow an implicit sync and it would reset the search. Solved by blocking the parent callback if the user is searching. Change 3524265 by Bradut.Palas #jira UE-46261 Console command was doing something illegal. Opening a map from editor when multiprocess and client mode were enabled is prohibited by code in Playlevel.cpp (( !CanRunUnderOneProcess && PlayNetMode == EPlayNetMode::PIE_Client )) Solved by banning that specific use of the command. Change 3524266 by Bradut.Palas #jira UE-45592 The bug was caused by an iteration in EndPlayMap() that re-selected all previous actors but without the notify flag (hence, not triggering the code that validated showing the transform widget). Fixed by notifying just once per group, for performance reasons. Change 3524585 by Bradut.Palas Back out changelist 3524265 until I can figure out why the build system doesn't like it. Change 3525921 by Bradut.Palas Resubmitting revision 3524265 with properly guarded editor code (#if WITH_EDITOR) Change 3526124 by Matt.Kuhlenschmidt Remvoe debug canvas proxy Change 3526139 by Matt.Kuhlenschmidt Force low quality fallback mode on ES2 devices for slate blur widgets. This feature does not work on es2 Change 3526663 by Cody.Albert Fixed sequencer bindings to correctly work on streamed level in standalone preview mode Change 3527028 by Cody.Albert Back out changelist 3526663 Change 3527241 by Cody.Albert Fixed sequencer bindings to correctly work on streamed level in standalone preview mode Change 3527829 by Max.Chen Fbx: Add static transform values to curve data import. #jira UE-46888 Change 3527830 by Max.Chen Sequencer: Import static/default transforms and camera focal lengths from fbx. #jira UE-46888 Change 3528768 by Matt.Kuhlenschmidt Refactor of GetDetailsView method on IDetalLayoutBuilder for some upcoming changes. There is no longer a guarantee that a physical details panel is present wwhen customizing a property so GetDetailsView now returns a pointer and will be null if no details view exists. This refactor is necessary for a change to allow us to make loose property widgets for use outside of a details view. Change 3528776 by Yannick.Lange Allow thumbnails to be captured from a viewport always. #jira UE-45392 Change 3530675 by Michael.Dupuis #jira UE-46913 : Added extra validation to prevent possible crash Change 3530991 by Matt.Kuhlenschmidt Added ability for users to specifiy usd plugins for the USD importer Change 3531110 by Matt.Kuhlenschmidt Added automated import support for USD. Automated import now also supports loading a level per import group so that factories may spawn actors and manipulate the level Change 3531119 by Matt.Kuhlenschmidt USD Scene import now uses actor factories to determine the correct actor type to spawn for an asset specified in USD Change 3531220 by Jamie.Dale Fixed some places that were iterating over sets/maps using their element indices as if they were the sparse indices Change 3531831 by Cody.Albert BP nodes can no longer be renamed on read-only graphs. Change 3531938 by Yannick.Lange Enable setting justification at runtime for multi-line text boxes. #jira UE-44801 Change 3533011 by Matt.Kuhlenschmidt Exporting render targets now chooses PNG if the render target format is an LDR format Change 3533370 by Arciel.Rekman Fix comparison of the RT format. Change 3533717 by Nick.Darnell Slate - Adding justification to SEditableText and SpinBox, also adding the field for UMG. Change 3534756 by Arciel.Rekman Linux: add path to bundled GL headers. - Seems like we have been implicitly relying on it being added someplace else or simply present in the system. - Change by Cengiz.Terzibas Change 3535421 by Arciel.Rekman Reduce SCW logspam on Linux (UE-46634) #jira UE-46634 Change 3537520 by Matt.Kuhlenschmidt PR #3780: Fix typo steam to stream (Contributed by YuchenMei) Change 3537539 by Nick.Darnell UMG - Fixing a bug with aspect ratio locking cameras when in HDPI mode, the spaces were slightly different. Moving over the code that calculates the offsets to function in normalized space, so that it's trivial to combine with the existing normalized viewport dimensions and offset information, without space confusion. Change 3537542 by Nick.Darnell UMG - Fixing some bugs with the retainer widget which was not properly resetting or registering the hit testing information when rendered every frame. This should fix some issues that have been seen with clicks locking the viewport rendering, or not being clickable. Change 3537596 by Alexis.Matte Fbx SDK 2018.1.1 Integration #jira UE-45070 Change 3537672 by Matt.Kuhlenschmidt Simple fix for seconds of time being spent refreshing the settings editor if commands are registered while it is open. The request to refresh is deferred until next tick, meaning that each command list registered in a frame is not refreshing the details panel. Change 3537796 by Alexis.Matte Make sure all general settings are persist when we re-import a staticmesh from fbx file. #jira UE-46829 Change 3537961 by Michael.Dupuis #jira UE-47222: Prevent possible crash in some bad drag & drop case Change 3538149 by Alexis.Matte Make sure we export NTB information instead of just the normal when exporting to fbx #jira UE-46785 Change 3538237 by Alexis.Matte Fix import of large fbx scene (over 2 Gb) pr #3784 #jira UE-47124 Change 3538270 by Lauren.Ridge Epic Friday: Preview scenes in material editors Change 3539707 by Yannick.Lange Optimize viewport interactor hitresult for laser. Store the first hitresult and use that when calling UViewportInteractor::GetHitResultFromLaserPointer multiple times a frame. Change 3539964 by Lauren.Ridge Fix for cubemap not persisting between loads Change 3540321 by Arciel.Rekman Linux: CEF rebuilt with fewer dependencies (UE-46433). - Removed source-only binary to save size (we can link to the runtime one, this also allows RPATH to be generated automatically). - Change by Cengiz.Terzibas, polished by RCL. Change 3540458 by Alexis.Matte Fix the HDR pixel inspector. The HDR value is now RGBA in editor viewport and RGB in Game mode. #jira UE-47199 Change 3540681 by Arciel.Rekman Linux: fix flickering (UE-46351) - redoing fix from 4.17 - Slate rendering policy can set a scissor rect equal to a (smaller) window, which would get inherited by the scene renderer later. #jira UE-46351 (Redoing the fix from CL 3538578 in 4.17). Change 3540838 by Matt.Kuhlenschmidt Fix locked actors still being moved by piloting them Change 3542212 by Nick.Darnell Slate - Fixing a crash with per character wrapping. When used in rich text fields, it can cause a crash due to negative lengths for measurements, due to the way we calculate start and end indexes. New code now ensures the End is always >= to the Start. Change 3544033 by Arciel.Rekman Drop and deprecate /-prefixed commandline switches. - Dropped on all platforms except Windows, where it will produce a warning. Complete drop is expected in 4.19. Change 3544213 by Nick.Darnell Slate - Fixing another potential crash with the slate loading thread. The default movie player was listening for map load finishing using the AddSP callaback, which means the weakptr would be accessed, switching these over to AddRaws to be safer. Change 3546113 by Nick.Darnell Slate - Resurecting the slate visualizer support in the slate renderer for batch visualization, and overdraw. Change 3547129 by Michael.Trepka Few small changes that make UnrealBuildTool faster when running on Mono Change 3547454 by Jamie.Dale Added search to editable texts Change 3547460 by Jamie.Dale The output log now applies a search to its editable text when filtering This highlights the term matches on each line Change 3548177 by Jamie.Dale Optimized PO entry look-up Change 3548287 by Matt.Kuhlenschmidt Fix one off speedtree crash #jira UE-47538 Change 3548377 by Lauren.Ridge Checking that the Environment Map Path is set before trying to load it. #jira UE-47365 Change 3548628 by Matt.Kuhlenschmidt Fix focus graphic for tabs not pointing to the correct image Change 3549289 by Max.Chen Movie Scene Capture: Move window to within the desktop bounds when resizing. #jira UE-37330 Change 3549290 by Arciel.Rekman Fix hlslcc not working properly with newer clangs. - Both the clang 3.8+ problem and UB reported by UBSan. Change 3550573 by Max.Chen Sequencer: Track drag drop. Implement drag and drop onto a camera track, subscene track, and cinematic shot track. #jira UE-45773 #jira UE-45387 Change 3550729 by Max.Chen Sequence Recorder: Add interpolation and tangent settings for animation recording keys #jira UE-46146 Change 3551558 by Nick.Darnell UMG - Tweaking some designer elements, playing around with a 'real-time' mode. Also fixing a bug with decendant widgets in named slots not triggering design effects like updating the widget switcher. #jira UE-39404 Change 3551671 by Joe.Graf Merged over the change to expose more of dormancy to Blueprints (UE-46240) Change 3551684 by Cody.Albert Removing some unused code from map check Change 3552673 by Yannick.Lange Fix crash select all levels with folders in the treewidget. Change 3552960 by Yannick.Lange Frontend filter for files referenced by any level in the project and a filter for not referenced by any level. #jira UE-22153 Change 3553727 by Max.Chen Sequencer: Capture thumbnail before pre save so that the thumbnail isn't captured with the evaluation in a reset state. #jira UE-47693 Change 3553778 by Arciel.Rekman Cache check for compiler availability (UE-47699). - Fixes performance drop in the blueprint editor. Better than caching in a particular source accessors because affects all accessors (incl. Mac which isn't cached either) and reduces calls. Change 3554128 by Matt.Kuhlenschmidt Null out GEditor after it has been destoyed. Any modules that access GEditor can now properly check for a null geditor instead of blindly accessing it Change 3554266 by Max.Chen Movie Scene Capture: Override cinematic mode in the movie scene capture. #jira UE-33473 Change 3555563 by Alexis.Matte Fix static mesh screensize lost when converting from an old version. The conversion require valid extended bounds which was converted after the LOD screensize. #jira UE-47697 Change 3555755 by Yannick.Lange VR Editor: Add exit button inside new menu called "system" on radial menu. Still needs correct icons. Change 3556334 by Matt.Kuhlenschmidt Added a new type of property editor called a property row generator. This is essentially a details panel that can generate each unique row but adds no visual styling around the property editors and does not generate a master tree widget for the properties. This is useful for creating proper widgets for properties and displaying them in a UI that is not the details panel Change 3558100 by Matt.Kuhlenschmidt PR #3823: Incorrect comment syntax in ini files (Contributed by projectgheist) Change 3558240 by Lauren.Ridge Move floor in material editor preview scene based on preview mesh Change 3558242 by Matt.Kuhlenschmidt Fix console variables help page showing only rendering cvars by default Change 3558243 by Matt.Kuhlenschmidt Fix static analysis Change 3558342 by Alexis.Matte Make the code to find the best sample rate to import fbx animation more simple and more robust. The code need to be able to support all the possible case. Add a lot of animation sample rate automation tests #jira UE-47342 Change 3558515 by Yannick.Lange VR Editor: Changed icon for system and exit button on radial menu. Change 3558973 by Matt.Kuhlenschmidt Fix camera placement of the default map Change 3559230 by Arciel.Rekman Do not link CEF3 for servers (UE-47721). Change 3559572 by Arciel.Rekman Linux: make sure the engine is rebuilt during the updates. Change 3560197 by Arciel.Rekman Linux: cosmetic cleanup of an old code. Change 3560904 by Max.Chen Movie Scene Capture: Expose "Open Folder" hyperlink while capturing. Change 3561213 by Matt.Kuhlenschmidt Enable USD by default in QA game for testing Change 3561928 by Matt.Kuhlenschmidt Fix green glowing in the mateiral editor #jira UE-47826 Change 3562259 by Arciel.Rekman Made FPlatformMisc::DebugBreak() not inlined on Linux. - Saves a great deal of binary size without really impacting a performance. Change 3562630 by Arciel.Rekman Make Linux editor compilable with clang 5.0-rc1. Change 3563564 by Yannick.Lange Fix Cube Static Mesh Thumbnail renders black. Cleared out the thumbnail, causing it to create the correct new one. #jira UE-47777 Change 3564529 by Jamie.Dale Const-correct UScriptStruct::ExportText Change 3564972 by Alexis.Matte Fix staticmesh merge applying build scale multiple time Git PR #3807 #jira UE-47645 Change 3565253 by Arciel.Rekman Fix "Anim to Play" being inaccessible after import (UE-47885). - The variable was not initialized and could remain false on Linux. #jira UE-47885 Change 3565293 by Jamie.Dale Merged "Categories" into the main Output Log filter list Change 3565939 by Alexis.Matte Back out revision 3 from //UE4/Dev-Editor/Engine/Source/Developer/MeshMergeUtilities/Private/MeshMergeHelpers.cpp Change 3566081 by Alexis.Matte Fix staticmesh merge applying scale twice PR #3807 #jira UE-47645 Change 3566232 by Matt.Kuhlenschmidt Fix edit inline properties not clipping properly #jira UE-47775 [CL 3567077 by Matt Kuhlenschmidt in Main branch]
2017-08-01 15:55:31 -04:00
const FSelectedActorInfo& SelectedActorInfo = DetailBuilder.GetDetailsView()->GetSelectedActorInfo();
bool bAreBrushesSelected = SelectedActorInfo.bHaveBrush;
bool bIsOnlyWorldPropsSelected = SelectedActors.Num() == 1 && SelectedActors[0].IsValid() && SelectedActors[0]->IsA<AWorldSettings>();
bool bLacksRootComponent = SelectedActors[0].IsValid() && (SelectedActors[0]->GetRootComponent()==NULL);
// Don't show the Transform details if the only actor selected is world properties, or if they have no RootComponent
if ( bIsOnlyWorldPropsSelected || bLacksRootComponent )
{
return;
}
Copying //UE4/Dev-Editor to //UE4/Dev-Main (Source: //UE4/Dev-Editor @ 3566944) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3363699 by Mike.Fricker VR Editor: Improved extensibility (for mesh editor) - This was merged from CL 3352612 and re-opened for edit before commit - All mesh editor changes were stripped before merging Change 3499858 by Matt.Kuhlenschmidt PR #3673: Fixed UE-36416 (Contributed by DarkSlot) Change 3499872 by Matt.Kuhlenschmidt PR #3682: Details view - matrix button visibility toggle and crash fix (Contributed by kamrann) Change 3499873 by Matt.Kuhlenschmidt Hide property matrix button from settings editor. For the combined settings objects view this produces nonsensical results and the property matrix is for bulk editing which settings are not designed for. Change 3501154 by Arciel.Rekman Fix incorrect RPATH. - Fixed LinuxToolChain to use FileItem instead of strings. - Fixed string-based Utils.MakePathRelativeTo - workaround for an old Mono bug was causing invalid "correction" of the relative path, triggered by the fact that path "Foo/Bar/../Baz" was not considered equal to "Foo/Baz". Instead of removing the workaround altogether, added a better comparison. Change 3501337 by Arciel.Rekman Better fix for RPATH. - Ben Marsh's suggestion. Change 3502572 by Matt.Kuhlenschmidt PR #3693: Because "becuase" is spelled because (Contributed by getnamo) Change 3502731 by Matt.Kuhlenschmidt Guard against empty warning toasts #jira UE-46285 Change 3502788 by Matt.Kuhlenschmidt Avoid shutting down the editor during loads and slow tasks if a windows close message comes in during this time Change 3503027 by Michael.Dupuis Optimized UpdateLayerUsageInformation Change 3503299 by Michael.Dupuis Fixed crash when having no layer info object Change 3504529 by Yannick.Lange Use UWorld instead of FWorldContext for EditorWorldExtensions, since we don't use it. Change 3504550 by Jamie.Dale Fixed/Improved DnD validation between Content Browsers Dragging assets between Content Browsers now goes through the same common DnD code (DragDropHandler) as dragging assets between the SPathView and SAssetView, and between items within an SAssetView. This also improves the validation of asset/file drops to prevent you dropping assets/files into class paths. #jira UE-45857 Change 3505369 by Alexis.Matte Make sure undo/redo transactions works for all fbx dialog options. #jira UE-43465 #jira UE-43569 Change 3505500 by Matt.Kuhlenschmidt Fix child usd meshes not importing properly. Change 3505645 by Arciel.Rekman Add USD support on Linux (UE-45383). #jira UE-45383 Change 3505658 by Arciel.Rekman USD: add CMake toolchain file I missed. Change 3506796 by Yannick.Lange Fix EditorWorldExtensionCollection using TWeakObjectPtr for UWorlds instead of UPROPERTY Change 3508082 by Alexis.Matte Make sure the fbx re-import editor preference "show option dialog at reimport" is working when re-importing an animation sequence. Change 3508855 by Max.Chen Add CanFindInContentBrowser to AssetEditorToolkit. False for LevelSequenceEditorToolkit so that sequencer doesn't take over Find In Content Browser and show only the sequencer asset. #jira UE-46241 Change 3509282 by Bradut.Palas #jira UE-45337 Removed check for Actor->GetWorld() against GWorld because the latter would switch between editor world and PIE world during a tick, causing the widget to not update properly. Since the Actor would always point to the PIE world, the check was no longer needed. Change 3509298 by Nick.Darnell Slate - Now has better support for analog navigation, the NavigationConfig is now created per user, and has the ability to deal with repeats and can handle navigation better by waiting until the user has moved enough to intend a direction to move. Change 3509313 by Bradut.Palas #jira UE-44630 As the bug description says, the Undo History was not refreshing correctly because an undo coupled with an action would result in the same number of transactions as the previous tick. Now we also check the variation of undo actions count in order to refresh the list. Change 3509318 by Bradut.Palas #jira UE-1406 To fix the issue we simply close the Consolidate window if ListViewItems is empty. Change 3509402 by Nick.Darnell PR #3703: UE-46362: Fixing typo in EUMGSequencePlayMode.PingPong comment (Contributed by gsfreema) Change 3510447 by Arciel.Rekman ReplayProxy: changed protected to private. Change 3510467 by Max.Chen Property Editor: Disable color widget when editing is disabled. #jira UE-46331 Change 3511249 by Matt.Kuhlenschmidt PR #3715: Turn off the automatic expiration of the restore assets notification (Contributed by IHappyDayI) Change 3511286 by Matt.Kuhlenschmidt Added ability to set properties from USD attributes when using scene import to import USD files. See UsdPropTestScene.usda for an example file of how this works Change 3511528 by Cody.Albert Updated FMoviePlayerWidgetRenderer to use Slate time instea of application time Change 3512149 by Matt.Kuhlenschmidt Dont save non-dirty built data when playing PIE in a standalone process #jira UE-46422 Change 3512259 by Matt.Kuhlenschmidt Fix static analysis Change 3512291 by Matt.Kuhlenschmidt PR #3719: Updating UEditorEngine::ReplaceActors to not copy array of actors (Contributed by gsfreema) Change 3512911 by Matt.Kuhlenschmidt Fixed USD property setting crashing if the usd file contained an array with 0 elements. Fixed USD property setting creating invalid tmaps if the usd file contained a key that already existed Change 3513725 by Matt.Kuhlenschmidt PR #3726: Copy/paste fix for SAdvancedDropdownRow::Construct() (Contributed by jovisgCL) Change 3514453 by Jamie.Dale Added a way to set the UEnum used by a UEnumProperty after using the default constructor This will assert if called on an instance that has already been initialized Change 3514858 by Alexis.Matte Fix crash when importing animation and choosing a different value for option "Import Meshes In Bone Hierarchy" then the value use to import the skeletal mesh. In some case there is no skinned mesh. Change 3514875 by Matt.Kuhlenschmidt PR #3721: Fixed. Screen Message was showed always when screenshot is captured(F9) (Contributed by shuaiharry) Change 3515859 by Bradut.Palas #jira UE-46516 The RenameTextBox didn't handle the OnTextCommitted event (which can be triggered when pressing Enter in the box). Now it does. Change 3515998 by Jamie.Dale Adding missing ) to some log messages Change 3517681 by Matt.Kuhlenschmidt Fix automated import not applying any texure settings to imported textures Change 3517703 by Nick.Darnell Slate - Marking SWidget's destructor as virtual (it always has been because of the parent), but this makes it more obvious. Change 3517737 by Nick.Darnell Slate - The retainer widget now only knows how to store the images in gamma space, rather than rendering in linear and storing using sRGB writes. If you do it that way - you end up in a state of having premultiplied linear space stored in sRGB, and getting that back into a state that looks correct when you finally render it with the rest of Slate becomes very difficult, so to make things simpler Change 3517758 by Nick.Darnell UMG - Updating the retainer box categories and visibility. Change 3517795 by Nick.Darnell Slate - We now don't do inherited volatility if we're also caching. Change 3517861 by Matt.Kuhlenschmidt Update windows USD to .75 Change 3517867 by Matt.Kuhlenschmidt Delete OpenEXR from USD dependencies. It is no longer used Change 3517873 by Matt.Kuhlenschmidt Updated USD windows binaries Change 3517896 by Max.Chen Sequencer: Call SkyLightComponent's SetLightColor() directly, similar to LightComponent #jira UE-46669 Change 3518240 by Max.Chen Sequencer: Set needs update when binding. #jira UE-46619 Change 3518492 by Max.Chen Sequencer: If already at the correct play position, don't jump to it. This fixes a bug where if you play to a position and pause, resuming play will playforward and not keep pausing. #jira UE-45996, UE-45997 Change 3518997 by Max.Chen Fbx: Fix aperture width, height, focal length and field of view calculations. #jira UE-46754 Change 3520190 by Jamie.Dale Cleaned up SCC log spam when finding out-of-date dependencies Change 3520237 by Yannick.Lange VR Editor: cleanup auto entry. Removed TimeSinceHMDChecked and added extra check for if there is currently a vr mode active. Change 3520923 by Max.Chen Sequencer: Refactor displaying sequencer settings in editor so that they're always available and not only when the sequencer type is instantiated. #jira UE-46301 Change 3521212 by Matt.Kuhlenschmidt PR #3757: MAX_NAME_LENGHT -> MAX_NAME_LENGTH (Contributed by Josef-CL) #jira UE-46821 Change 3521216 by Matt.Kuhlenschmidt PR #3751: Spelling fix for ESlateVisibility comment (Contributed by Triplelexx) #jira UE-46810 Change 3521221 by Matt.Kuhlenschmidt PR #3733: UE-46683: Don't increment MovieIndex when playing next movie (Contributed by projectgheist) #jira UE-46683,UE-46714 Change 3521344 by Yannick.Lange Fix selection tools in the Levels editor window. After selecting all levels SWorldHierarchyImpl::OnUpdateSelection used GetSelectedTreeItems(). At that point the tree items were not updated yet and it would return the 'previous' items. Making it look like nothing happened. Instead WorldModel->GetSelectedLevels() had to be used to get the new list of selected levels (this was used in 4.16) and then convert the list of FLevelModel to the new system that uses WorldHierarchy::FWorldTreeItemID. #jira UE-46741 Change 3521825 by Joe.Graf #Xb1 Added missing VectorSetFloat1 by copying the one in UnrealMathSSE.h #CodeReview: ben.woodhouse Change 3522114 by Joe.Graf #Xb1 Changed the missing VectorSetFloat1 to use MakeRegisterVector to be more consistent with other Xbox defines per Ben's code review #CodeReview: ben.woodhouse Change 3524202 by Matt.Kuhlenschmidt Prevent resizing when a context menu is open. This prevents a number of rare crashes when a window is resized when a child menu is open causing the child to lose connection to the parent (happens when the parent widgets are clipped and no longer processed). This is consistent with behavior on windows and mac. #jira UE-46653 Change 3524263 by Bradut.Palas #jira UE-46671 The issue happened because a parent callback of OnAssetRenameCommitted would allow an implicit sync and it would reset the search. Solved by blocking the parent callback if the user is searching. Change 3524265 by Bradut.Palas #jira UE-46261 Console command was doing something illegal. Opening a map from editor when multiprocess and client mode were enabled is prohibited by code in Playlevel.cpp (( !CanRunUnderOneProcess && PlayNetMode == EPlayNetMode::PIE_Client )) Solved by banning that specific use of the command. Change 3524266 by Bradut.Palas #jira UE-45592 The bug was caused by an iteration in EndPlayMap() that re-selected all previous actors but without the notify flag (hence, not triggering the code that validated showing the transform widget). Fixed by notifying just once per group, for performance reasons. Change 3524585 by Bradut.Palas Back out changelist 3524265 until I can figure out why the build system doesn't like it. Change 3525921 by Bradut.Palas Resubmitting revision 3524265 with properly guarded editor code (#if WITH_EDITOR) Change 3526124 by Matt.Kuhlenschmidt Remvoe debug canvas proxy Change 3526139 by Matt.Kuhlenschmidt Force low quality fallback mode on ES2 devices for slate blur widgets. This feature does not work on es2 Change 3526663 by Cody.Albert Fixed sequencer bindings to correctly work on streamed level in standalone preview mode Change 3527028 by Cody.Albert Back out changelist 3526663 Change 3527241 by Cody.Albert Fixed sequencer bindings to correctly work on streamed level in standalone preview mode Change 3527829 by Max.Chen Fbx: Add static transform values to curve data import. #jira UE-46888 Change 3527830 by Max.Chen Sequencer: Import static/default transforms and camera focal lengths from fbx. #jira UE-46888 Change 3528768 by Matt.Kuhlenschmidt Refactor of GetDetailsView method on IDetalLayoutBuilder for some upcoming changes. There is no longer a guarantee that a physical details panel is present wwhen customizing a property so GetDetailsView now returns a pointer and will be null if no details view exists. This refactor is necessary for a change to allow us to make loose property widgets for use outside of a details view. Change 3528776 by Yannick.Lange Allow thumbnails to be captured from a viewport always. #jira UE-45392 Change 3530675 by Michael.Dupuis #jira UE-46913 : Added extra validation to prevent possible crash Change 3530991 by Matt.Kuhlenschmidt Added ability for users to specifiy usd plugins for the USD importer Change 3531110 by Matt.Kuhlenschmidt Added automated import support for USD. Automated import now also supports loading a level per import group so that factories may spawn actors and manipulate the level Change 3531119 by Matt.Kuhlenschmidt USD Scene import now uses actor factories to determine the correct actor type to spawn for an asset specified in USD Change 3531220 by Jamie.Dale Fixed some places that were iterating over sets/maps using their element indices as if they were the sparse indices Change 3531831 by Cody.Albert BP nodes can no longer be renamed on read-only graphs. Change 3531938 by Yannick.Lange Enable setting justification at runtime for multi-line text boxes. #jira UE-44801 Change 3533011 by Matt.Kuhlenschmidt Exporting render targets now chooses PNG if the render target format is an LDR format Change 3533370 by Arciel.Rekman Fix comparison of the RT format. Change 3533717 by Nick.Darnell Slate - Adding justification to SEditableText and SpinBox, also adding the field for UMG. Change 3534756 by Arciel.Rekman Linux: add path to bundled GL headers. - Seems like we have been implicitly relying on it being added someplace else or simply present in the system. - Change by Cengiz.Terzibas Change 3535421 by Arciel.Rekman Reduce SCW logspam on Linux (UE-46634) #jira UE-46634 Change 3537520 by Matt.Kuhlenschmidt PR #3780: Fix typo steam to stream (Contributed by YuchenMei) Change 3537539 by Nick.Darnell UMG - Fixing a bug with aspect ratio locking cameras when in HDPI mode, the spaces were slightly different. Moving over the code that calculates the offsets to function in normalized space, so that it's trivial to combine with the existing normalized viewport dimensions and offset information, without space confusion. Change 3537542 by Nick.Darnell UMG - Fixing some bugs with the retainer widget which was not properly resetting or registering the hit testing information when rendered every frame. This should fix some issues that have been seen with clicks locking the viewport rendering, or not being clickable. Change 3537596 by Alexis.Matte Fbx SDK 2018.1.1 Integration #jira UE-45070 Change 3537672 by Matt.Kuhlenschmidt Simple fix for seconds of time being spent refreshing the settings editor if commands are registered while it is open. The request to refresh is deferred until next tick, meaning that each command list registered in a frame is not refreshing the details panel. Change 3537796 by Alexis.Matte Make sure all general settings are persist when we re-import a staticmesh from fbx file. #jira UE-46829 Change 3537961 by Michael.Dupuis #jira UE-47222: Prevent possible crash in some bad drag & drop case Change 3538149 by Alexis.Matte Make sure we export NTB information instead of just the normal when exporting to fbx #jira UE-46785 Change 3538237 by Alexis.Matte Fix import of large fbx scene (over 2 Gb) pr #3784 #jira UE-47124 Change 3538270 by Lauren.Ridge Epic Friday: Preview scenes in material editors Change 3539707 by Yannick.Lange Optimize viewport interactor hitresult for laser. Store the first hitresult and use that when calling UViewportInteractor::GetHitResultFromLaserPointer multiple times a frame. Change 3539964 by Lauren.Ridge Fix for cubemap not persisting between loads Change 3540321 by Arciel.Rekman Linux: CEF rebuilt with fewer dependencies (UE-46433). - Removed source-only binary to save size (we can link to the runtime one, this also allows RPATH to be generated automatically). - Change by Cengiz.Terzibas, polished by RCL. Change 3540458 by Alexis.Matte Fix the HDR pixel inspector. The HDR value is now RGBA in editor viewport and RGB in Game mode. #jira UE-47199 Change 3540681 by Arciel.Rekman Linux: fix flickering (UE-46351) - redoing fix from 4.17 - Slate rendering policy can set a scissor rect equal to a (smaller) window, which would get inherited by the scene renderer later. #jira UE-46351 (Redoing the fix from CL 3538578 in 4.17). Change 3540838 by Matt.Kuhlenschmidt Fix locked actors still being moved by piloting them Change 3542212 by Nick.Darnell Slate - Fixing a crash with per character wrapping. When used in rich text fields, it can cause a crash due to negative lengths for measurements, due to the way we calculate start and end indexes. New code now ensures the End is always >= to the Start. Change 3544033 by Arciel.Rekman Drop and deprecate /-prefixed commandline switches. - Dropped on all platforms except Windows, where it will produce a warning. Complete drop is expected in 4.19. Change 3544213 by Nick.Darnell Slate - Fixing another potential crash with the slate loading thread. The default movie player was listening for map load finishing using the AddSP callaback, which means the weakptr would be accessed, switching these over to AddRaws to be safer. Change 3546113 by Nick.Darnell Slate - Resurecting the slate visualizer support in the slate renderer for batch visualization, and overdraw. Change 3547129 by Michael.Trepka Few small changes that make UnrealBuildTool faster when running on Mono Change 3547454 by Jamie.Dale Added search to editable texts Change 3547460 by Jamie.Dale The output log now applies a search to its editable text when filtering This highlights the term matches on each line Change 3548177 by Jamie.Dale Optimized PO entry look-up Change 3548287 by Matt.Kuhlenschmidt Fix one off speedtree crash #jira UE-47538 Change 3548377 by Lauren.Ridge Checking that the Environment Map Path is set before trying to load it. #jira UE-47365 Change 3548628 by Matt.Kuhlenschmidt Fix focus graphic for tabs not pointing to the correct image Change 3549289 by Max.Chen Movie Scene Capture: Move window to within the desktop bounds when resizing. #jira UE-37330 Change 3549290 by Arciel.Rekman Fix hlslcc not working properly with newer clangs. - Both the clang 3.8+ problem and UB reported by UBSan. Change 3550573 by Max.Chen Sequencer: Track drag drop. Implement drag and drop onto a camera track, subscene track, and cinematic shot track. #jira UE-45773 #jira UE-45387 Change 3550729 by Max.Chen Sequence Recorder: Add interpolation and tangent settings for animation recording keys #jira UE-46146 Change 3551558 by Nick.Darnell UMG - Tweaking some designer elements, playing around with a 'real-time' mode. Also fixing a bug with decendant widgets in named slots not triggering design effects like updating the widget switcher. #jira UE-39404 Change 3551671 by Joe.Graf Merged over the change to expose more of dormancy to Blueprints (UE-46240) Change 3551684 by Cody.Albert Removing some unused code from map check Change 3552673 by Yannick.Lange Fix crash select all levels with folders in the treewidget. Change 3552960 by Yannick.Lange Frontend filter for files referenced by any level in the project and a filter for not referenced by any level. #jira UE-22153 Change 3553727 by Max.Chen Sequencer: Capture thumbnail before pre save so that the thumbnail isn't captured with the evaluation in a reset state. #jira UE-47693 Change 3553778 by Arciel.Rekman Cache check for compiler availability (UE-47699). - Fixes performance drop in the blueprint editor. Better than caching in a particular source accessors because affects all accessors (incl. Mac which isn't cached either) and reduces calls. Change 3554128 by Matt.Kuhlenschmidt Null out GEditor after it has been destoyed. Any modules that access GEditor can now properly check for a null geditor instead of blindly accessing it Change 3554266 by Max.Chen Movie Scene Capture: Override cinematic mode in the movie scene capture. #jira UE-33473 Change 3555563 by Alexis.Matte Fix static mesh screensize lost when converting from an old version. The conversion require valid extended bounds which was converted after the LOD screensize. #jira UE-47697 Change 3555755 by Yannick.Lange VR Editor: Add exit button inside new menu called "system" on radial menu. Still needs correct icons. Change 3556334 by Matt.Kuhlenschmidt Added a new type of property editor called a property row generator. This is essentially a details panel that can generate each unique row but adds no visual styling around the property editors and does not generate a master tree widget for the properties. This is useful for creating proper widgets for properties and displaying them in a UI that is not the details panel Change 3558100 by Matt.Kuhlenschmidt PR #3823: Incorrect comment syntax in ini files (Contributed by projectgheist) Change 3558240 by Lauren.Ridge Move floor in material editor preview scene based on preview mesh Change 3558242 by Matt.Kuhlenschmidt Fix console variables help page showing only rendering cvars by default Change 3558243 by Matt.Kuhlenschmidt Fix static analysis Change 3558342 by Alexis.Matte Make the code to find the best sample rate to import fbx animation more simple and more robust. The code need to be able to support all the possible case. Add a lot of animation sample rate automation tests #jira UE-47342 Change 3558515 by Yannick.Lange VR Editor: Changed icon for system and exit button on radial menu. Change 3558973 by Matt.Kuhlenschmidt Fix camera placement of the default map Change 3559230 by Arciel.Rekman Do not link CEF3 for servers (UE-47721). Change 3559572 by Arciel.Rekman Linux: make sure the engine is rebuilt during the updates. Change 3560197 by Arciel.Rekman Linux: cosmetic cleanup of an old code. Change 3560904 by Max.Chen Movie Scene Capture: Expose "Open Folder" hyperlink while capturing. Change 3561213 by Matt.Kuhlenschmidt Enable USD by default in QA game for testing Change 3561928 by Matt.Kuhlenschmidt Fix green glowing in the mateiral editor #jira UE-47826 Change 3562259 by Arciel.Rekman Made FPlatformMisc::DebugBreak() not inlined on Linux. - Saves a great deal of binary size without really impacting a performance. Change 3562630 by Arciel.Rekman Make Linux editor compilable with clang 5.0-rc1. Change 3563564 by Yannick.Lange Fix Cube Static Mesh Thumbnail renders black. Cleared out the thumbnail, causing it to create the correct new one. #jira UE-47777 Change 3564529 by Jamie.Dale Const-correct UScriptStruct::ExportText Change 3564972 by Alexis.Matte Fix staticmesh merge applying build scale multiple time Git PR #3807 #jira UE-47645 Change 3565253 by Arciel.Rekman Fix "Anim to Play" being inaccessible after import (UE-47885). - The variable was not initialized and could remain false on Linux. #jira UE-47885 Change 3565293 by Jamie.Dale Merged "Categories" into the main Output Log filter list Change 3565939 by Alexis.Matte Back out revision 3 from //UE4/Dev-Editor/Engine/Source/Developer/MeshMergeUtilities/Private/MeshMergeHelpers.cpp Change 3566081 by Alexis.Matte Fix staticmesh merge applying scale twice PR #3807 #jira UE-47645 Change 3566232 by Matt.Kuhlenschmidt Fix edit inline properties not clipping properly #jira UE-47775 [CL 3567077 by Matt Kuhlenschmidt in Main branch]
2017-08-01 15:55:31 -04:00
TSharedRef<FComponentTransformDetails> TransformDetails = MakeShareable( new FComponentTransformDetails( DetailBuilder.GetSelectedObjects(), SelectedActorInfo, DetailBuilder ) );
IDetailCategoryBuilder& TransformCategory = DetailBuilder.EditCategory( "TransformCommon", LOCTEXT("TransformCommonCategory", "Transform"), ECategoryPriority::Transform );
TransformCategory.AddCustomBuilder( TransformDetails );
}
void FActorDetails::AddEventsCategory(IDetailLayoutBuilder& DetailBuilder)
{
// Get the currently selected actor, which would be the "Default__Actor"
const TArray<TWeakObjectPtr<UObject>>& Selected = DetailBuilder.GetSelectedObjects();
if(Selected.IsEmpty())
{
return;
}
AActor* Actor = Cast<AActor>(Selected[0].Get());
UBlueprint* Blueprint = Actor ? Cast<UBlueprint>(Actor->GetClass()->ClassGeneratedBy) : nullptr;
if(!Actor || !Blueprint || !FBlueprintEditorUtils::DoesSupportEventGraphs(Blueprint))
{
return;
}
IDetailCategoryBuilder& EventsCategory = DetailBuilder.EditCategory("Events", FText::GetEmpty(), ECategoryPriority::Uncommon);
static const FName HideInDetailPanelName("HideInDetailPanel");
// Find all the Multicast delegate properties and give a binding button for them
for (TFieldIterator<FMulticastDelegateProperty> PropertyIt(Actor->GetClass(), EFieldIteratorFlags::IncludeSuper); PropertyIt; ++PropertyIt)
{
FMulticastDelegateProperty* Property = *PropertyIt;
// Only show BP assiangable, non-hidden delegates
if (!Property->HasAnyPropertyFlags(CPF_Parm) && Property->HasAllPropertyFlags(CPF_BlueprintAssignable) && !Property->HasMetaData(HideInDetailPanelName))
{
const FName EventName = Property->GetFName();
FText EventText = Property->GetDisplayNameText();
EventsCategory.AddCustomRow(EventText)
.WholeRowContent()
[
SNew(SHorizontalBox)
.ToolTipText(Property->GetToolTipText())
+ SHorizontalBox::Slot()
.AutoWidth()
.VAlign(VAlign_Center)
.Padding(0.0f, 0.0f, 5.0f, 0.0f)
[
SNew(SImage)
.Image(FAppStyle::GetBrush("GraphEditor.Event_16x"))
]
+ SHorizontalBox::Slot()
.VAlign(VAlign_Center)
[
SNew(STextBlock)
.Font(IDetailLayoutBuilder::GetDetailFont())
.Text(EventText)
]
+ SHorizontalBox::Slot()
.HAlign(HAlign_Left)
.VAlign(VAlign_Center)
.Padding(0)
[
// A "Plus" button to add a binding. For dynamic delegates on the CDO, you can always
// make a new binding, so always display the "Plus"
SNew(SButton)
.ContentPadding(FMargin(3.0, 2.0))
.HAlign(HAlign_Center)
.OnClicked(this, &FActorDetails::HandleAddOrViewEventForVariable, Blueprint, Property)
[
SNew(SImage)
.ColorAndOpacity(FSlateColor::UseForeground())
.Image(FAppStyle::Get().GetBrush("Icons.Plus"))
]
]
];
}
}
}
FReply FActorDetails::HandleAddOrViewEventForVariable(UBlueprint* BP, FMulticastDelegateProperty* Property)
{
const UFunction* SignatureFunction = Property ? Property->SignatureFunction : nullptr;
UEdGraph* EventGraph = BP ? FBlueprintEditorUtils::FindEventGraph(BP) : nullptr;
if (EventGraph && SignatureFunction)
{
const FVector2D SpawnPos = EventGraph->GetGoodPlaceForNewNode();
// Adding a bound dynatic delegate from the Actor that is based off this BP will always be in a self context
UK2Node_AddDelegate* TemplateNode = NewObject<UK2Node_AddDelegate>();
TemplateNode->SetFromProperty(Property, /* bSelfContext */ true, Property->GetOwnerClass());
UEdGraphNode* SpawnedDelegate = FEdGraphSchemaAction_K2AssignDelegate::AssignDelegate(TemplateNode, EventGraph, nullptr, SpawnPos, true);
FKismetEditorUtilities::BringKismetToFocusAttentionOnObject(SpawnedDelegate, false);
}
return FReply::Handled();
}
namespace ActorDetailsUtil
{
constexpr int32 MultipleValuesIndicator = 2;
FText GetActorPackagingModeText(int32 Mode)
{
switch (Mode)
{
// false: internal
case 0:
return LOCTEXT("InternalActorPackaging", "Internal");
// true: external
case 1:
return LOCTEXT("ExternalActorPackaging", "External");
case MultipleValuesIndicator:
return LOCTEXT("MultipleValues", "Multiple Values");
default:
return LOCTEXT("InternalActorPackaging", "Internal");
}
}
}
void FActorDetails::AddActorCategory( IDetailLayoutBuilder& DetailBuilder, const TMap<ULevel*, int32>& ActorsPerLevelCount )
{
FLevelEditorModule& LevelEditor = FModuleManager::GetModuleChecked<FLevelEditorModule>( TEXT("LevelEditor") );
const FLevelEditorCommands& Commands = LevelEditor.GetLevelEditorCommands();
TSharedRef<const FUICommandList> CommandBindings = LevelEditor.GetGlobalLevelEditorActions();
Copying //UE4/Dev-Editor to //UE4/Dev-Main (Source: //UE4/Dev-Editor @ 3566944) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3363699 by Mike.Fricker VR Editor: Improved extensibility (for mesh editor) - This was merged from CL 3352612 and re-opened for edit before commit - All mesh editor changes were stripped before merging Change 3499858 by Matt.Kuhlenschmidt PR #3673: Fixed UE-36416 (Contributed by DarkSlot) Change 3499872 by Matt.Kuhlenschmidt PR #3682: Details view - matrix button visibility toggle and crash fix (Contributed by kamrann) Change 3499873 by Matt.Kuhlenschmidt Hide property matrix button from settings editor. For the combined settings objects view this produces nonsensical results and the property matrix is for bulk editing which settings are not designed for. Change 3501154 by Arciel.Rekman Fix incorrect RPATH. - Fixed LinuxToolChain to use FileItem instead of strings. - Fixed string-based Utils.MakePathRelativeTo - workaround for an old Mono bug was causing invalid "correction" of the relative path, triggered by the fact that path "Foo/Bar/../Baz" was not considered equal to "Foo/Baz". Instead of removing the workaround altogether, added a better comparison. Change 3501337 by Arciel.Rekman Better fix for RPATH. - Ben Marsh's suggestion. Change 3502572 by Matt.Kuhlenschmidt PR #3693: Because "becuase" is spelled because (Contributed by getnamo) Change 3502731 by Matt.Kuhlenschmidt Guard against empty warning toasts #jira UE-46285 Change 3502788 by Matt.Kuhlenschmidt Avoid shutting down the editor during loads and slow tasks if a windows close message comes in during this time Change 3503027 by Michael.Dupuis Optimized UpdateLayerUsageInformation Change 3503299 by Michael.Dupuis Fixed crash when having no layer info object Change 3504529 by Yannick.Lange Use UWorld instead of FWorldContext for EditorWorldExtensions, since we don't use it. Change 3504550 by Jamie.Dale Fixed/Improved DnD validation between Content Browsers Dragging assets between Content Browsers now goes through the same common DnD code (DragDropHandler) as dragging assets between the SPathView and SAssetView, and between items within an SAssetView. This also improves the validation of asset/file drops to prevent you dropping assets/files into class paths. #jira UE-45857 Change 3505369 by Alexis.Matte Make sure undo/redo transactions works for all fbx dialog options. #jira UE-43465 #jira UE-43569 Change 3505500 by Matt.Kuhlenschmidt Fix child usd meshes not importing properly. Change 3505645 by Arciel.Rekman Add USD support on Linux (UE-45383). #jira UE-45383 Change 3505658 by Arciel.Rekman USD: add CMake toolchain file I missed. Change 3506796 by Yannick.Lange Fix EditorWorldExtensionCollection using TWeakObjectPtr for UWorlds instead of UPROPERTY Change 3508082 by Alexis.Matte Make sure the fbx re-import editor preference "show option dialog at reimport" is working when re-importing an animation sequence. Change 3508855 by Max.Chen Add CanFindInContentBrowser to AssetEditorToolkit. False for LevelSequenceEditorToolkit so that sequencer doesn't take over Find In Content Browser and show only the sequencer asset. #jira UE-46241 Change 3509282 by Bradut.Palas #jira UE-45337 Removed check for Actor->GetWorld() against GWorld because the latter would switch between editor world and PIE world during a tick, causing the widget to not update properly. Since the Actor would always point to the PIE world, the check was no longer needed. Change 3509298 by Nick.Darnell Slate - Now has better support for analog navigation, the NavigationConfig is now created per user, and has the ability to deal with repeats and can handle navigation better by waiting until the user has moved enough to intend a direction to move. Change 3509313 by Bradut.Palas #jira UE-44630 As the bug description says, the Undo History was not refreshing correctly because an undo coupled with an action would result in the same number of transactions as the previous tick. Now we also check the variation of undo actions count in order to refresh the list. Change 3509318 by Bradut.Palas #jira UE-1406 To fix the issue we simply close the Consolidate window if ListViewItems is empty. Change 3509402 by Nick.Darnell PR #3703: UE-46362: Fixing typo in EUMGSequencePlayMode.PingPong comment (Contributed by gsfreema) Change 3510447 by Arciel.Rekman ReplayProxy: changed protected to private. Change 3510467 by Max.Chen Property Editor: Disable color widget when editing is disabled. #jira UE-46331 Change 3511249 by Matt.Kuhlenschmidt PR #3715: Turn off the automatic expiration of the restore assets notification (Contributed by IHappyDayI) Change 3511286 by Matt.Kuhlenschmidt Added ability to set properties from USD attributes when using scene import to import USD files. See UsdPropTestScene.usda for an example file of how this works Change 3511528 by Cody.Albert Updated FMoviePlayerWidgetRenderer to use Slate time instea of application time Change 3512149 by Matt.Kuhlenschmidt Dont save non-dirty built data when playing PIE in a standalone process #jira UE-46422 Change 3512259 by Matt.Kuhlenschmidt Fix static analysis Change 3512291 by Matt.Kuhlenschmidt PR #3719: Updating UEditorEngine::ReplaceActors to not copy array of actors (Contributed by gsfreema) Change 3512911 by Matt.Kuhlenschmidt Fixed USD property setting crashing if the usd file contained an array with 0 elements. Fixed USD property setting creating invalid tmaps if the usd file contained a key that already existed Change 3513725 by Matt.Kuhlenschmidt PR #3726: Copy/paste fix for SAdvancedDropdownRow::Construct() (Contributed by jovisgCL) Change 3514453 by Jamie.Dale Added a way to set the UEnum used by a UEnumProperty after using the default constructor This will assert if called on an instance that has already been initialized Change 3514858 by Alexis.Matte Fix crash when importing animation and choosing a different value for option "Import Meshes In Bone Hierarchy" then the value use to import the skeletal mesh. In some case there is no skinned mesh. Change 3514875 by Matt.Kuhlenschmidt PR #3721: Fixed. Screen Message was showed always when screenshot is captured(F9) (Contributed by shuaiharry) Change 3515859 by Bradut.Palas #jira UE-46516 The RenameTextBox didn't handle the OnTextCommitted event (which can be triggered when pressing Enter in the box). Now it does. Change 3515998 by Jamie.Dale Adding missing ) to some log messages Change 3517681 by Matt.Kuhlenschmidt Fix automated import not applying any texure settings to imported textures Change 3517703 by Nick.Darnell Slate - Marking SWidget's destructor as virtual (it always has been because of the parent), but this makes it more obvious. Change 3517737 by Nick.Darnell Slate - The retainer widget now only knows how to store the images in gamma space, rather than rendering in linear and storing using sRGB writes. If you do it that way - you end up in a state of having premultiplied linear space stored in sRGB, and getting that back into a state that looks correct when you finally render it with the rest of Slate becomes very difficult, so to make things simpler Change 3517758 by Nick.Darnell UMG - Updating the retainer box categories and visibility. Change 3517795 by Nick.Darnell Slate - We now don't do inherited volatility if we're also caching. Change 3517861 by Matt.Kuhlenschmidt Update windows USD to .75 Change 3517867 by Matt.Kuhlenschmidt Delete OpenEXR from USD dependencies. It is no longer used Change 3517873 by Matt.Kuhlenschmidt Updated USD windows binaries Change 3517896 by Max.Chen Sequencer: Call SkyLightComponent's SetLightColor() directly, similar to LightComponent #jira UE-46669 Change 3518240 by Max.Chen Sequencer: Set needs update when binding. #jira UE-46619 Change 3518492 by Max.Chen Sequencer: If already at the correct play position, don't jump to it. This fixes a bug where if you play to a position and pause, resuming play will playforward and not keep pausing. #jira UE-45996, UE-45997 Change 3518997 by Max.Chen Fbx: Fix aperture width, height, focal length and field of view calculations. #jira UE-46754 Change 3520190 by Jamie.Dale Cleaned up SCC log spam when finding out-of-date dependencies Change 3520237 by Yannick.Lange VR Editor: cleanup auto entry. Removed TimeSinceHMDChecked and added extra check for if there is currently a vr mode active. Change 3520923 by Max.Chen Sequencer: Refactor displaying sequencer settings in editor so that they're always available and not only when the sequencer type is instantiated. #jira UE-46301 Change 3521212 by Matt.Kuhlenschmidt PR #3757: MAX_NAME_LENGHT -> MAX_NAME_LENGTH (Contributed by Josef-CL) #jira UE-46821 Change 3521216 by Matt.Kuhlenschmidt PR #3751: Spelling fix for ESlateVisibility comment (Contributed by Triplelexx) #jira UE-46810 Change 3521221 by Matt.Kuhlenschmidt PR #3733: UE-46683: Don't increment MovieIndex when playing next movie (Contributed by projectgheist) #jira UE-46683,UE-46714 Change 3521344 by Yannick.Lange Fix selection tools in the Levels editor window. After selecting all levels SWorldHierarchyImpl::OnUpdateSelection used GetSelectedTreeItems(). At that point the tree items were not updated yet and it would return the 'previous' items. Making it look like nothing happened. Instead WorldModel->GetSelectedLevels() had to be used to get the new list of selected levels (this was used in 4.16) and then convert the list of FLevelModel to the new system that uses WorldHierarchy::FWorldTreeItemID. #jira UE-46741 Change 3521825 by Joe.Graf #Xb1 Added missing VectorSetFloat1 by copying the one in UnrealMathSSE.h #CodeReview: ben.woodhouse Change 3522114 by Joe.Graf #Xb1 Changed the missing VectorSetFloat1 to use MakeRegisterVector to be more consistent with other Xbox defines per Ben's code review #CodeReview: ben.woodhouse Change 3524202 by Matt.Kuhlenschmidt Prevent resizing when a context menu is open. This prevents a number of rare crashes when a window is resized when a child menu is open causing the child to lose connection to the parent (happens when the parent widgets are clipped and no longer processed). This is consistent with behavior on windows and mac. #jira UE-46653 Change 3524263 by Bradut.Palas #jira UE-46671 The issue happened because a parent callback of OnAssetRenameCommitted would allow an implicit sync and it would reset the search. Solved by blocking the parent callback if the user is searching. Change 3524265 by Bradut.Palas #jira UE-46261 Console command was doing something illegal. Opening a map from editor when multiprocess and client mode were enabled is prohibited by code in Playlevel.cpp (( !CanRunUnderOneProcess && PlayNetMode == EPlayNetMode::PIE_Client )) Solved by banning that specific use of the command. Change 3524266 by Bradut.Palas #jira UE-45592 The bug was caused by an iteration in EndPlayMap() that re-selected all previous actors but without the notify flag (hence, not triggering the code that validated showing the transform widget). Fixed by notifying just once per group, for performance reasons. Change 3524585 by Bradut.Palas Back out changelist 3524265 until I can figure out why the build system doesn't like it. Change 3525921 by Bradut.Palas Resubmitting revision 3524265 with properly guarded editor code (#if WITH_EDITOR) Change 3526124 by Matt.Kuhlenschmidt Remvoe debug canvas proxy Change 3526139 by Matt.Kuhlenschmidt Force low quality fallback mode on ES2 devices for slate blur widgets. This feature does not work on es2 Change 3526663 by Cody.Albert Fixed sequencer bindings to correctly work on streamed level in standalone preview mode Change 3527028 by Cody.Albert Back out changelist 3526663 Change 3527241 by Cody.Albert Fixed sequencer bindings to correctly work on streamed level in standalone preview mode Change 3527829 by Max.Chen Fbx: Add static transform values to curve data import. #jira UE-46888 Change 3527830 by Max.Chen Sequencer: Import static/default transforms and camera focal lengths from fbx. #jira UE-46888 Change 3528768 by Matt.Kuhlenschmidt Refactor of GetDetailsView method on IDetalLayoutBuilder for some upcoming changes. There is no longer a guarantee that a physical details panel is present wwhen customizing a property so GetDetailsView now returns a pointer and will be null if no details view exists. This refactor is necessary for a change to allow us to make loose property widgets for use outside of a details view. Change 3528776 by Yannick.Lange Allow thumbnails to be captured from a viewport always. #jira UE-45392 Change 3530675 by Michael.Dupuis #jira UE-46913 : Added extra validation to prevent possible crash Change 3530991 by Matt.Kuhlenschmidt Added ability for users to specifiy usd plugins for the USD importer Change 3531110 by Matt.Kuhlenschmidt Added automated import support for USD. Automated import now also supports loading a level per import group so that factories may spawn actors and manipulate the level Change 3531119 by Matt.Kuhlenschmidt USD Scene import now uses actor factories to determine the correct actor type to spawn for an asset specified in USD Change 3531220 by Jamie.Dale Fixed some places that were iterating over sets/maps using their element indices as if they were the sparse indices Change 3531831 by Cody.Albert BP nodes can no longer be renamed on read-only graphs. Change 3531938 by Yannick.Lange Enable setting justification at runtime for multi-line text boxes. #jira UE-44801 Change 3533011 by Matt.Kuhlenschmidt Exporting render targets now chooses PNG if the render target format is an LDR format Change 3533370 by Arciel.Rekman Fix comparison of the RT format. Change 3533717 by Nick.Darnell Slate - Adding justification to SEditableText and SpinBox, also adding the field for UMG. Change 3534756 by Arciel.Rekman Linux: add path to bundled GL headers. - Seems like we have been implicitly relying on it being added someplace else or simply present in the system. - Change by Cengiz.Terzibas Change 3535421 by Arciel.Rekman Reduce SCW logspam on Linux (UE-46634) #jira UE-46634 Change 3537520 by Matt.Kuhlenschmidt PR #3780: Fix typo steam to stream (Contributed by YuchenMei) Change 3537539 by Nick.Darnell UMG - Fixing a bug with aspect ratio locking cameras when in HDPI mode, the spaces were slightly different. Moving over the code that calculates the offsets to function in normalized space, so that it's trivial to combine with the existing normalized viewport dimensions and offset information, without space confusion. Change 3537542 by Nick.Darnell UMG - Fixing some bugs with the retainer widget which was not properly resetting or registering the hit testing information when rendered every frame. This should fix some issues that have been seen with clicks locking the viewport rendering, or not being clickable. Change 3537596 by Alexis.Matte Fbx SDK 2018.1.1 Integration #jira UE-45070 Change 3537672 by Matt.Kuhlenschmidt Simple fix for seconds of time being spent refreshing the settings editor if commands are registered while it is open. The request to refresh is deferred until next tick, meaning that each command list registered in a frame is not refreshing the details panel. Change 3537796 by Alexis.Matte Make sure all general settings are persist when we re-import a staticmesh from fbx file. #jira UE-46829 Change 3537961 by Michael.Dupuis #jira UE-47222: Prevent possible crash in some bad drag & drop case Change 3538149 by Alexis.Matte Make sure we export NTB information instead of just the normal when exporting to fbx #jira UE-46785 Change 3538237 by Alexis.Matte Fix import of large fbx scene (over 2 Gb) pr #3784 #jira UE-47124 Change 3538270 by Lauren.Ridge Epic Friday: Preview scenes in material editors Change 3539707 by Yannick.Lange Optimize viewport interactor hitresult for laser. Store the first hitresult and use that when calling UViewportInteractor::GetHitResultFromLaserPointer multiple times a frame. Change 3539964 by Lauren.Ridge Fix for cubemap not persisting between loads Change 3540321 by Arciel.Rekman Linux: CEF rebuilt with fewer dependencies (UE-46433). - Removed source-only binary to save size (we can link to the runtime one, this also allows RPATH to be generated automatically). - Change by Cengiz.Terzibas, polished by RCL. Change 3540458 by Alexis.Matte Fix the HDR pixel inspector. The HDR value is now RGBA in editor viewport and RGB in Game mode. #jira UE-47199 Change 3540681 by Arciel.Rekman Linux: fix flickering (UE-46351) - redoing fix from 4.17 - Slate rendering policy can set a scissor rect equal to a (smaller) window, which would get inherited by the scene renderer later. #jira UE-46351 (Redoing the fix from CL 3538578 in 4.17). Change 3540838 by Matt.Kuhlenschmidt Fix locked actors still being moved by piloting them Change 3542212 by Nick.Darnell Slate - Fixing a crash with per character wrapping. When used in rich text fields, it can cause a crash due to negative lengths for measurements, due to the way we calculate start and end indexes. New code now ensures the End is always >= to the Start. Change 3544033 by Arciel.Rekman Drop and deprecate /-prefixed commandline switches. - Dropped on all platforms except Windows, where it will produce a warning. Complete drop is expected in 4.19. Change 3544213 by Nick.Darnell Slate - Fixing another potential crash with the slate loading thread. The default movie player was listening for map load finishing using the AddSP callaback, which means the weakptr would be accessed, switching these over to AddRaws to be safer. Change 3546113 by Nick.Darnell Slate - Resurecting the slate visualizer support in the slate renderer for batch visualization, and overdraw. Change 3547129 by Michael.Trepka Few small changes that make UnrealBuildTool faster when running on Mono Change 3547454 by Jamie.Dale Added search to editable texts Change 3547460 by Jamie.Dale The output log now applies a search to its editable text when filtering This highlights the term matches on each line Change 3548177 by Jamie.Dale Optimized PO entry look-up Change 3548287 by Matt.Kuhlenschmidt Fix one off speedtree crash #jira UE-47538 Change 3548377 by Lauren.Ridge Checking that the Environment Map Path is set before trying to load it. #jira UE-47365 Change 3548628 by Matt.Kuhlenschmidt Fix focus graphic for tabs not pointing to the correct image Change 3549289 by Max.Chen Movie Scene Capture: Move window to within the desktop bounds when resizing. #jira UE-37330 Change 3549290 by Arciel.Rekman Fix hlslcc not working properly with newer clangs. - Both the clang 3.8+ problem and UB reported by UBSan. Change 3550573 by Max.Chen Sequencer: Track drag drop. Implement drag and drop onto a camera track, subscene track, and cinematic shot track. #jira UE-45773 #jira UE-45387 Change 3550729 by Max.Chen Sequence Recorder: Add interpolation and tangent settings for animation recording keys #jira UE-46146 Change 3551558 by Nick.Darnell UMG - Tweaking some designer elements, playing around with a 'real-time' mode. Also fixing a bug with decendant widgets in named slots not triggering design effects like updating the widget switcher. #jira UE-39404 Change 3551671 by Joe.Graf Merged over the change to expose more of dormancy to Blueprints (UE-46240) Change 3551684 by Cody.Albert Removing some unused code from map check Change 3552673 by Yannick.Lange Fix crash select all levels with folders in the treewidget. Change 3552960 by Yannick.Lange Frontend filter for files referenced by any level in the project and a filter for not referenced by any level. #jira UE-22153 Change 3553727 by Max.Chen Sequencer: Capture thumbnail before pre save so that the thumbnail isn't captured with the evaluation in a reset state. #jira UE-47693 Change 3553778 by Arciel.Rekman Cache check for compiler availability (UE-47699). - Fixes performance drop in the blueprint editor. Better than caching in a particular source accessors because affects all accessors (incl. Mac which isn't cached either) and reduces calls. Change 3554128 by Matt.Kuhlenschmidt Null out GEditor after it has been destoyed. Any modules that access GEditor can now properly check for a null geditor instead of blindly accessing it Change 3554266 by Max.Chen Movie Scene Capture: Override cinematic mode in the movie scene capture. #jira UE-33473 Change 3555563 by Alexis.Matte Fix static mesh screensize lost when converting from an old version. The conversion require valid extended bounds which was converted after the LOD screensize. #jira UE-47697 Change 3555755 by Yannick.Lange VR Editor: Add exit button inside new menu called "system" on radial menu. Still needs correct icons. Change 3556334 by Matt.Kuhlenschmidt Added a new type of property editor called a property row generator. This is essentially a details panel that can generate each unique row but adds no visual styling around the property editors and does not generate a master tree widget for the properties. This is useful for creating proper widgets for properties and displaying them in a UI that is not the details panel Change 3558100 by Matt.Kuhlenschmidt PR #3823: Incorrect comment syntax in ini files (Contributed by projectgheist) Change 3558240 by Lauren.Ridge Move floor in material editor preview scene based on preview mesh Change 3558242 by Matt.Kuhlenschmidt Fix console variables help page showing only rendering cvars by default Change 3558243 by Matt.Kuhlenschmidt Fix static analysis Change 3558342 by Alexis.Matte Make the code to find the best sample rate to import fbx animation more simple and more robust. The code need to be able to support all the possible case. Add a lot of animation sample rate automation tests #jira UE-47342 Change 3558515 by Yannick.Lange VR Editor: Changed icon for system and exit button on radial menu. Change 3558973 by Matt.Kuhlenschmidt Fix camera placement of the default map Change 3559230 by Arciel.Rekman Do not link CEF3 for servers (UE-47721). Change 3559572 by Arciel.Rekman Linux: make sure the engine is rebuilt during the updates. Change 3560197 by Arciel.Rekman Linux: cosmetic cleanup of an old code. Change 3560904 by Max.Chen Movie Scene Capture: Expose "Open Folder" hyperlink while capturing. Change 3561213 by Matt.Kuhlenschmidt Enable USD by default in QA game for testing Change 3561928 by Matt.Kuhlenschmidt Fix green glowing in the mateiral editor #jira UE-47826 Change 3562259 by Arciel.Rekman Made FPlatformMisc::DebugBreak() not inlined on Linux. - Saves a great deal of binary size without really impacting a performance. Change 3562630 by Arciel.Rekman Make Linux editor compilable with clang 5.0-rc1. Change 3563564 by Yannick.Lange Fix Cube Static Mesh Thumbnail renders black. Cleared out the thumbnail, causing it to create the correct new one. #jira UE-47777 Change 3564529 by Jamie.Dale Const-correct UScriptStruct::ExportText Change 3564972 by Alexis.Matte Fix staticmesh merge applying build scale multiple time Git PR #3807 #jira UE-47645 Change 3565253 by Arciel.Rekman Fix "Anim to Play" being inaccessible after import (UE-47885). - The variable was not initialized and could remain false on Linux. #jira UE-47885 Change 3565293 by Jamie.Dale Merged "Categories" into the main Output Log filter list Change 3565939 by Alexis.Matte Back out revision 3 from //UE4/Dev-Editor/Engine/Source/Developer/MeshMergeUtilities/Private/MeshMergeHelpers.cpp Change 3566081 by Alexis.Matte Fix staticmesh merge applying scale twice PR #3807 #jira UE-47645 Change 3566232 by Matt.Kuhlenschmidt Fix edit inline properties not clipping properly #jira UE-47775 [CL 3567077 by Matt Kuhlenschmidt in Main branch]
2017-08-01 15:55:31 -04:00
const FSelectedActorInfo& SelectedActorInfo = DetailBuilder.GetDetailsView()->GetSelectedActorInfo();
TSharedPtr<SVerticalBox> LevelBox;
IDetailCategoryBuilder& ActorCategory = DetailBuilder.EditCategory("Actor", FText::GetEmpty(), ECategoryPriority::Uncommon );
if (GetSelectedActors().Num() == 1)
{
if (AActor* Actor = GEditor->GetSelectedActors()->GetTop<AActor>())
{
const FText ActorGuidText = FText::FromString(Actor->GetActorGuid().ToString());
ActorCategory.AddCustomRow( LOCTEXT("ActorGuid", "ActorGuid") )
.NameContent()
[
SNew(STextBlock)
.Text(LOCTEXT("ActorGuid2", "Actor Guid"))
.ToolTipText(LOCTEXT("ActorGuid_ToolTip", "Actor Guid"))
.Font(IDetailLayoutBuilder::GetDetailFont())
]
.ValueContent()
[
SNew(STextBlock)
.Text(ActorGuidText)
.Font(IDetailLayoutBuilder::GetDetailFont())
.IsEnabled(false)
];
}
};
#if 1
// Create the info buttons per level
for ( auto LevelIt( ActorsPerLevelCount.CreateConstIterator() ); LevelIt; ++LevelIt)
{
ULevel* Level = LevelIt.Key();
int32 SelectedActorCountInLevel = LevelIt.Value();
// Get a description of the level
FText LevelDescription = FText::FromString( FPackageName::GetShortName( Level->GetOutermost()->GetFName() ) );
if (Level == Level->OwningWorld->PersistentLevel)
{
LevelDescription = NSLOCTEXT("UnrealEd", "PersistentLevel", "Persistent Level");
}
// Create a description and tooltip for the actor count/selection hyperlink
const FText ActorCountDescription = FText::Format( LOCTEXT("SelectedActorsInOneLevel", "{0} selected in"), FText::AsNumber( SelectedActorCountInLevel ) );
const FText Tooltip = FText::Format( LOCTEXT("SelectedActorsHyperlinkTooltip", "Narrow the selection set to just the actors in {0}"), LevelDescription);
// Create the row for this level
TWeakObjectPtr<ULevel> WeakLevelPtr = Level;
ActorCategory.AddCustomRow( LOCTEXT("SelectionFilter", "Selected") )
.NameContent()
[
SNew(SHyperlink)
.Style(FAppStyle::Get(), "HoverOnlyHyperlink")
.OnNavigate(this, &FActorDetails::OnNarrowSelectionSetToSpecificLevel, WeakLevelPtr)
.Text(ActorCountDescription)
.TextStyle(FAppStyle::Get(), "DetailsView.HyperlinkStyle")
.ToolTipText(Tooltip)
]
.ValueContent()
.MaxDesiredWidth(0)
[
SNew(STextBlock)
.Text(LevelDescription)
.Font(IDetailLayoutBuilder::GetDetailFont())
];
}
#endif
// Convert Actor Menu
// WorldSettings should never convert to another class type
if( SelectedActorInfo.SelectionClass != AWorldSettings::StaticClass() && SelectedActorInfo.HasConvertableAsset() )
{
ActorCategory.AddCustomRow( LOCTEXT("ConvertMenu", "Convert") )
.NameContent()
[
SNew(STextBlock)
.Text(LOCTEXT("ConvertActor", "Convert Actor"))
.ToolTipText(LOCTEXT("ConvertActor_ToolTip", "Convert actors to different types"))
.Font(IDetailLayoutBuilder::GetDetailFont())
]
.ValueContent()
[
MakeConvertMenu( SelectedActorInfo )
];
}
if (GetDefault<UEditorExperimentalSettings>()->bEnableOneFilePerActorSupport)
{
// WorldSettings should not be packaged externally
if (SelectedActorInfo.SelectionClass != AWorldSettings::StaticClass())
{
// Actor Packaging Mode
const bool bIsPartitionedWorld = UWorld::IsPartitionedWorld(SelectedActorInfo.SharedWorld);
auto OnGetMenuContent = [=]() -> TSharedRef<SWidget> {
FMenuBuilder MenuBuilder(true, nullptr);
MenuBuilder.AddMenuEntry(ActorDetailsUtil::GetActorPackagingModeText(0), FText(), FSlateIcon(), FExecuteAction::CreateSP(this, &FActorDetails::OnActorPackagingModeChanged, false));
MenuBuilder.AddMenuEntry(ActorDetailsUtil::GetActorPackagingModeText(1), FText(), FSlateIcon(), FExecuteAction::CreateSP(this, &FActorDetails::OnActorPackagingModeChanged, true));
return MenuBuilder.MakeWidget();
};
ActorCategory.AddCustomRow( LOCTEXT("ActorPackagingModeRow", "ActorPackagingMode"), true)
.NameContent()
[
SNew(STextBlock)
.Text(LOCTEXT("ActorPackagingMode", "Packaging Mode"))
.ToolTipText(LOCTEXT("ActorPackagingMode_ToolTip", "Change the actor packaging mode. This will indicate if the actor is packaged alongside its level or in an external package."))
.Font(IDetailLayoutBuilder::GetDetailFont())
]
.ValueContent()
[
SNew(SComboButton)
.ContentPadding(2)
.OnGetMenuContent_Lambda(OnGetMenuContent)
.IsEnabled(this, &FActorDetails::IsActorPackagingModeEditable)
.ButtonContent()
[
SNew(STextBlock)
.Text(this, &FActorDetails::GetCurrentActorPackagingMode)
.Font(IDetailLayoutBuilder::GetDetailFont())
]
.IsEnabled(!bIsPartitionedWorld)
];
}
}
}
bool FActorDetails::IsActorPackagingModeEditable() const
{
for (TWeakObjectPtr<AActor> Actor : SelectedActors)
{
if (Actor.IsValid() && Actor->GetLevel())
{
if (!Actor->SupportsExternalPackaging())
{
return false;
}
}
}
return true;
}
FText FActorDetails::GetCurrentActorPackagingMode() const
{
int32 PackagingMode = -1;
for (TWeakObjectPtr<AActor> Actor : SelectedActors)
{
if (Actor.IsValid())
{
// If loading strategy is `Count` initialize it, otherwise set it to `None` if different between selected actors
PackagingMode = PackagingMode == -1 ? (int32)Actor->IsPackageExternal() : (PackagingMode != (int32)Actor->IsPackageExternal() ? ActorDetailsUtil::MultipleValuesIndicator : PackagingMode);
}
}
return ActorDetailsUtil::GetActorPackagingModeText(PackagingMode);
}
void FActorDetails::OnActorPackagingModeChanged(bool bExternal)
{
// Validate all actors are in a saved map
TArray<AActor*> ActorsToConvert;
for (TWeakObjectPtr<AActor> Actor : SelectedActors)
{
if (Actor.IsValid() && Actor->GetLevel())
{
ULevel* Level = Actor->GetLevel();
UPackage* LevelPackage = Level->GetOutermost();
FString LevelName = LevelPackage->GetName();
if (LevelPackage == GetTransientPackage()
|| LevelPackage->HasAnyFlags(RF_Transient)
|| !FPackageName::IsValidLongPackageName(LevelName))
{
FText Message = FText::Format(LOCTEXT("ActorPackagingModeSaveMap", "You need to save level {0} before changing packaging mode on its actors."), FText::FromString(LevelName));
FMessageDialog::Open(EAppMsgType::Ok, Message);
return;
}
else if (Actor->SupportsExternalPackaging())
{
ActorsToConvert.Add(Actor.Get());
}
else
{
UE_LOG(LogLevel, Warning, TEXT("Can't convert %s to external packaging."), *Actor->GetName());
}
}
}
FScopedTransaction Transaction(LOCTEXT("ActorSetPackageExternal", "Change Actors Assigned Package"));
for (AActor* Actor : ActorsToConvert)
{
Actor->SetPackageExternal(bExternal);
}
}
const TArray< TWeakObjectPtr<AActor> >& FActorDetails::GetSelectedActors() const
{
return SelectedActors;
}
#undef LOCTEXT_NAMESPACE